diff --git a/LICENSE b/LICENSE index 415a765f748..3fe62eaab13 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ Copyright (c) 2012-2015, J. Bakosi Copyright (c) 2016-2018, Los Alamos National Security, LLC -Copyright (c) 2019, Triad National Security, LLC +Copyright (c) 2019-2020, Triad National Security, LLC All rights reserved. This program was produced under U.S. Government contract 89233218CNA000001 for diff --git a/README.md b/README.md index 4287bf18676..6f2c977385b 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ problems with a production-quality code that is extensible and maintainable, using hardware resources efficiently, even for problems with _a priori_ unknown, heterogeneous, and dynamic load distribution. +This software has been acknowledged by the U.S. Department of Energy / National +Nuclear Security Administration for open source release, C20072. + For more details on philosophy, documentation, software design, journal papers, license, and contributing see the [documentation](https://quinoacomputing.org). - diff --git a/cmake/BuildShared.cmake b/cmake/BuildShared.cmake index bdea8b19407..d7d9aace47f 100644 --- a/cmake/BuildShared.cmake +++ b/cmake/BuildShared.cmake @@ -3,7 +3,7 @@ # \file BuildShared.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Set default value for building shared libs if none was specified # diff --git a/cmake/BuildType.cmake b/cmake/BuildType.cmake index 6ea979cd45c..534c003423e 100644 --- a/cmake/BuildType.cmake +++ b/cmake/BuildType.cmake @@ -3,7 +3,7 @@ # \file BuildType.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Set a default build type if none was specified # diff --git a/cmake/CodeCoverage.cmake b/cmake/CodeCoverage.cmake index 43e49785fc2..41d916de1b9 100644 --- a/cmake/CodeCoverage.cmake +++ b/cmake/CodeCoverage.cmake @@ -3,7 +3,7 @@ # \file CodeCoverage.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Setup target for code coverage analysis # @@ -169,7 +169,7 @@ FUNCTION(SETUP_TARGET_FOR_ALL_COVERAGE suite path targetname unittestrunner COMMAND ${FASTCOV} --zerocounters # Run all test suites COMMAND ${unittestrunner} ${unittestrunner_ncpus_arg} ${PROCESSOR_COUNT} Main/${UNITTEST_EXECUTABLE} -v - COMMAND ${CMAKE_CTEST_COMMAND} -j${PROCESSOR_COUNT} -LE insane + COMMAND ${CMAKE_CTEST_COMMAND} -j${PROCESSOR_COUNT} #-LE insane # Process gcov output for genhtml COMMAND ${FASTCOV} --branch-coverage --exceptional-branch-coverage --lcov -o ${OUTPUT}.info --exclude tests/ c++/ include/ boost/ charm/ decl.h def.h openmpi pstreams Random123 pegtl tut/ highwayhash/ moduleinit # Copy over report customization files for genhtml diff --git a/cmake/ConfigExecutable.cmake b/cmake/ConfigExecutable.cmake index 4f90d2916d1..509c361d854 100644 --- a/cmake/ConfigExecutable.cmake +++ b/cmake/ConfigExecutable.cmake @@ -3,7 +3,7 @@ # \file ConfigExecutable.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Configure Charm++ executable targets # diff --git a/cmake/ConfigureDataLayout.cmake b/cmake/ConfigureDataLayout.cmake index db46b1d4c53..8c70c6d1ba9 100644 --- a/cmake/ConfigureDataLayout.cmake +++ b/cmake/ConfigureDataLayout.cmake @@ -3,7 +3,7 @@ # \file ConfigureDataLayout.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Configure data layouts # diff --git a/cmake/CppCheck.cmake b/cmake/CppCheck.cmake index 84f47ff0c6f..abe95edf150 100644 --- a/cmake/CppCheck.cmake +++ b/cmake/CppCheck.cmake @@ -3,7 +3,7 @@ # \file CppCheck.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Setup target for code coverage analysis # diff --git a/cmake/DetectCodeCoverage.cmake b/cmake/DetectCodeCoverage.cmake index 475fccc324d..354967245bc 100644 --- a/cmake/DetectCodeCoverage.cmake +++ b/cmake/DetectCodeCoverage.cmake @@ -3,7 +3,7 @@ # \file DetectCodeCoverage.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Detect prerequesites for code coverage analysis # diff --git a/cmake/DetectCompilerVersion.cmake b/cmake/DetectCompilerVersion.cmake index 94daac7c75e..577e887c604 100644 --- a/cmake/DetectCompilerVersion.cmake +++ b/cmake/DetectCompilerVersion.cmake @@ -3,7 +3,7 @@ # \file DetectCompilerVersion.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Detect C, C++, Fortran compiler major, minor, and patch version # diff --git a/cmake/DetectOS.cmake b/cmake/DetectOS.cmake index 6a594021039..d9f58c41735 100644 --- a/cmake/DetectOS.cmake +++ b/cmake/DetectOS.cmake @@ -3,7 +3,7 @@ # \file DetectOS.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Detect operating system # diff --git a/cmake/DisallowInSourceBuilds.cmake b/cmake/DisallowInSourceBuilds.cmake index 0035cab2858..8262a6686fc 100644 --- a/cmake/DisallowInSourceBuilds.cmake +++ b/cmake/DisallowInSourceBuilds.cmake @@ -3,7 +3,7 @@ # \file DisallowInSourceBuilds.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Cmake code to disallow in-source builds # diff --git a/cmake/FindAEC.cmake b/cmake/FindAEC.cmake index 54183ec0f1e..a867eb53733 100644 --- a/cmake/FindAEC.cmake +++ b/cmake/FindAEC.cmake @@ -3,7 +3,7 @@ # \file FindAEC.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Adaptive Entropy Coding library # diff --git a/cmake/FindBackwardCpp.cmake b/cmake/FindBackwardCpp.cmake index 75ab0652778..8ead4febd10 100644 --- a/cmake/FindBackwardCpp.cmake +++ b/cmake/FindBackwardCpp.cmake @@ -3,7 +3,7 @@ # \file FindBackwardCpp.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Backward-cpp header-only library # \note BackwardCPP requires other libraries, and for a static build, diff --git a/cmake/FindBrigand.cmake b/cmake/FindBrigand.cmake index 6997f37e39f..dbfe5536073 100644 --- a/cmake/FindBrigand.cmake +++ b/cmake/FindBrigand.cmake @@ -3,7 +3,7 @@ # \file FindBrigand.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Brigand template metaprogramming library # diff --git a/cmake/FindCharm.cmake b/cmake/FindCharm.cmake index 82d248fadb1..5dea415b36d 100644 --- a/cmake/FindCharm.cmake +++ b/cmake/FindCharm.cmake @@ -3,7 +3,7 @@ # \file FindCharm.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find Charm++ # diff --git a/cmake/FindExodiff.cmake b/cmake/FindExodiff.cmake index 810e0c97c89..d8fdb84dd9c 100644 --- a/cmake/FindExodiff.cmake +++ b/cmake/FindExodiff.cmake @@ -3,7 +3,7 @@ # \file FindExodiff.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find Exodiff # diff --git a/cmake/FindGmsh.cmake b/cmake/FindGmsh.cmake index 35be2415bd3..3b7a07711e1 100644 --- a/cmake/FindGmsh.cmake +++ b/cmake/FindGmsh.cmake @@ -3,7 +3,7 @@ # \file FindGmsh.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find Gmsh # diff --git a/cmake/FindH5Part.cmake b/cmake/FindH5Part.cmake index 4fbc758441e..1d848773008 100644 --- a/cmake/FindH5Part.cmake +++ b/cmake/FindH5Part.cmake @@ -3,7 +3,7 @@ # \file FindH5Part.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the H5Part library # diff --git a/cmake/FindHighwayHash.cmake b/cmake/FindHighwayHash.cmake index ef33841014b..bc0f1435212 100644 --- a/cmake/FindHighwayHash.cmake +++ b/cmake/FindHighwayHash.cmake @@ -3,7 +3,7 @@ # \file FindHighwayHash.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find HighwayHash # diff --git a/cmake/FindHypre.cmake b/cmake/FindHypre.cmake index 122b3c69a28..0b1aeaa042a 100644 --- a/cmake/FindHypre.cmake +++ b/cmake/FindHypre.cmake @@ -3,7 +3,7 @@ # \file FindHypre.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Hypre library from LLNL # diff --git a/cmake/FindLAPACKE.cmake b/cmake/FindLAPACKE.cmake index da3dd0abafa..5cabe1e2e78 100644 --- a/cmake/FindLAPACKE.cmake +++ b/cmake/FindLAPACKE.cmake @@ -3,7 +3,7 @@ # \file FindLAPACKE.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the C-interface to LAPACK as well as LAPACK/BLAS # diff --git a/cmake/FindLibCXX.cmake b/cmake/FindLibCXX.cmake index fc1129f3660..56af84c189e 100644 --- a/cmake/FindLibCXX.cmake +++ b/cmake/FindLibCXX.cmake @@ -3,7 +3,7 @@ # \file FindLibCXX.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find libc++ # diff --git a/cmake/FindMCSS.cmake b/cmake/FindMCSS.cmake index f9ea6dd9a45..6ccda38c611 100644 --- a/cmake/FindMCSS.cmake +++ b/cmake/FindMCSS.cmake @@ -3,7 +3,7 @@ # \file FindMCSS.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find m.css # diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake index 5e56d22ee8d..48400adab5a 100644 --- a/cmake/FindMKL.cmake +++ b/cmake/FindMKL.cmake @@ -3,7 +3,7 @@ # \file FindLMKL.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Math Kernel Library from Intel # diff --git a/cmake/FindNetCDF.cmake b/cmake/FindNetCDF.cmake index 407bbdd6fdc..bfd0594f5b8 100644 --- a/cmake/FindNetCDF.cmake +++ b/cmake/FindNetCDF.cmake @@ -3,7 +3,7 @@ # \file cmake/FindLNetCDF.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find NetCDF # diff --git a/cmake/FindNumDiff.cmake b/cmake/FindNumDiff.cmake index 78e46316e7d..eabe128cfdd 100644 --- a/cmake/FindNumDiff.cmake +++ b/cmake/FindNumDiff.cmake @@ -3,7 +3,7 @@ # \file FindNumDiff.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find NumDiff # diff --git a/cmake/FindOmega_h.cmake b/cmake/FindOmega_h.cmake index 9f341c102ed..92e6a6b9461 100644 --- a/cmake/FindOmega_h.cmake +++ b/cmake/FindOmega_h.cmake @@ -3,7 +3,7 @@ # \file FindOmega_h.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Omega_h library # diff --git a/cmake/FindPEGTL.cmake b/cmake/FindPEGTL.cmake index f3c169eb189..b2299cf2a89 100644 --- a/cmake/FindPEGTL.cmake +++ b/cmake/FindPEGTL.cmake @@ -3,7 +3,7 @@ # \file FindPEGTL.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find PEGTL # diff --git a/cmake/FindPStreams.cmake b/cmake/FindPStreams.cmake index 4381929c743..b3ef88fa085 100644 --- a/cmake/FindPStreams.cmake +++ b/cmake/FindPStreams.cmake @@ -3,7 +3,7 @@ # \file FindLPstreams.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Pstreams library # diff --git a/cmake/FindPugixml.cmake b/cmake/FindPugixml.cmake index 209c235eac9..0a76a9baa44 100644 --- a/cmake/FindPugixml.cmake +++ b/cmake/FindPugixml.cmake @@ -3,7 +3,7 @@ # \file cmake/FindPugixml.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the pugixml library # diff --git a/cmake/FindRNGSSE2.cmake b/cmake/FindRNGSSE2.cmake index a9479edb4e4..cad9dd54e95 100644 --- a/cmake/FindRNGSSE2.cmake +++ b/cmake/FindRNGSSE2.cmake @@ -3,7 +3,7 @@ # \file FindRNGSSE2.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the RNGSSE2 library # diff --git a/cmake/FindRandom123.cmake b/cmake/FindRandom123.cmake index 5dfd99810c1..f75f7ad6ce6 100644 --- a/cmake/FindRandom123.cmake +++ b/cmake/FindRandom123.cmake @@ -3,7 +3,7 @@ # \file FindRandom123.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find Random123 # diff --git a/cmake/FindRoot.cmake b/cmake/FindRoot.cmake index c98095f118f..8666be902ec 100644 --- a/cmake/FindRoot.cmake +++ b/cmake/FindRoot.cmake @@ -3,7 +3,7 @@ # \file FindRoot.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Root library from CERN # diff --git a/cmake/FindSol2.cmake b/cmake/FindSol2.cmake new file mode 100644 index 00000000000..d9492d928b9 --- /dev/null +++ b/cmake/FindSol2.cmake @@ -0,0 +1,47 @@ +################################################################################ +# +# \file FindSol2.cmake +# \copyright 2012-2015 J. Bakosi, +# 2016-2018 Los Alamos National Security, LLC., +# 2019-2020 Triad National Security, LLC. +# All rights reserved. See the LICENSE file for details. +# \brief Find the Sol2 Lua C++ binding library +# +################################################################################ + +# Sol2: https://github.com/ThePhD/sol2 +# +# SOL2_FOUND - System has Sol2 +# SOL2_INCLUDE_DIRS - The Sol2 include directory +# +# Set the SOL2_ROOT cmake variable or shell environment variable before +# calling find_package to a path to add an additional search path, e.g., +# +# Usage: +# +# set(SOL2_ROOT "/path/to/custom/brigand") # prefer over system +# find_package(Sol2) +# include_directories(${SOL2_INCLUDE_DIRS}) + +# If already in cache, be silent +if(SOL2_INCLUDE_DIRS) + set (SOL2_FIND_QUIETLY TRUE) +endif() + +find_path(SOL2_INCLUDE_DIR NAMES sol.hpp + HINTS ${SOL2_ROOT} + $ENV{SOL2_ROOT} + PATH_SUFFIXES sol include) + +# Remove last 'sol' from path found, otherwise some compilers will not find +# sol.hpp. +get_filename_component(SOL2_INCLUDE_DIR ${SOL2_INCLUDE_DIR} DIRECTORY) + +set(SOL2_INCLUDE_DIRS ${SOL2_INCLUDE_DIR}) + +# Handle the QUIETLY and REQUIRED arguments and set SOL2_FOUND to TRUE if +# all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sol2 REQUIRED_VARS SOL2_INCLUDE_DIRS) + +MARK_AS_ADVANCED(SOL2_INCLUDE_DIRS) diff --git a/cmake/FindTUT.cmake b/cmake/FindTUT.cmake index 7cbd6d7b31a..e400c9db33d 100644 --- a/cmake/FindTUT.cmake +++ b/cmake/FindTUT.cmake @@ -3,7 +3,7 @@ # \file FindTUT.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the Template Unit Test library headers # diff --git a/cmake/FindTestU01.cmake b/cmake/FindTestU01.cmake index 161d0af8d9e..eaee012dd4d 100644 --- a/cmake/FindTestU01.cmake +++ b/cmake/FindTestU01.cmake @@ -3,7 +3,7 @@ # \file FindTestU01.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the TestU01 library # diff --git a/cmake/LICENSE b/cmake/LICENSE index 415a765f748..3fe62eaab13 100644 --- a/cmake/LICENSE +++ b/cmake/LICENSE @@ -1,6 +1,6 @@ Copyright (c) 2012-2015, J. Bakosi Copyright (c) 2016-2018, Los Alamos National Security, LLC -Copyright (c) 2019, Triad National Security, LLC +Copyright (c) 2019-2020, Triad National Security, LLC All rights reserved. This program was produced under U.S. Government contract 89233218CNA000001 for diff --git a/cmake/MPICompilers.cmake b/cmake/MPICompilers.cmake index 673e53f384e..4eff1a9d9b7 100644 --- a/cmake/MPICompilers.cmake +++ b/cmake/MPICompilers.cmake @@ -3,7 +3,7 @@ # \file MPICompilers.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the MPI wrappers # diff --git a/cmake/TPLs.cmake b/cmake/TPLs.cmake index fee340c3a57..f4064ea2cc4 100644 --- a/cmake/TPLs.cmake +++ b/cmake/TPLs.cmake @@ -3,7 +3,7 @@ # \file TPLs.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find the third-party libraries required to build Quinoa # @@ -156,6 +156,11 @@ find_package(HighwayHash) set(BRIGAND_ROOT ${TPL_DIR}) # prefer ours find_package(Brigand) +#### Configure Sol2 +set(SOL2_ROOT ${TPL_DIR}) # prefer ours +find_package(Lua) +find_package(Sol2) + message(STATUS "------------------------------------------") # Function to print a list of missing library names @@ -197,11 +202,12 @@ endif() if (CHARM_FOUND AND SEACASExodus_FOUND AND EXODIFF_FOUND AND Zoltan2_FOUND AND HDF5_FOUND AND BRIGAND_FOUND AND PEGTL_FOUND AND - (MKL_FOUND OR LAPACKE_FOUND) AND Boost_FOUND AND HIGHWAYHASH_FOUND) + (MKL_FOUND OR LAPACKE_FOUND) AND Boost_FOUND AND HIGHWAYHASH_FOUND AND + LUA_FOUND AND SOL2_FOUND) set(ENABLE_INCITER "true") set(INCITER_EXECUTABLE inciter) else() - PrintMissing(inciter "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;Zoltan2_FOUND;HDF5_FOUND;BRIGAND_FOUND;PEGTL_FOUND;MKL_FOUND;LAPACKE_FOUND;Boost_FOUND") + PrintMissing(inciter "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;Zoltan2_FOUND;HDF5_FOUND;BRIGAND_FOUND;PEGTL_FOUND;MKL_FOUND;LAPACKE_FOUND;Boost_FOUND;LUA_FOUND;SOL2_FOUND") endif() if (CHARM_FOUND AND TESTU01_FOUND AND BRIGAND_FOUND AND PEGTL_FOUND AND @@ -225,11 +231,11 @@ endif() if (CHARM_FOUND AND SEACASExodus_FOUND AND EXODIFF_FOUND AND PEGTL_FOUND AND BRIGAND_FOUND AND HDF5_FOUND AND RANDOM123_FOUND AND Boost_FOUND AND - (MKL_FOUND OR LAPACKE_FOUND) AND HIGHWAYHASH_FOUND) + (MKL_FOUND OR LAPACKE_FOUND) AND HIGHWAYHASH_FOUND AND H5Part_FOUND) set(ENABLE_WALKER "true") set(WALKER_EXECUTABLE walker) else() - PrintMissing(walker "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;PEGTL_FOUND;BRIGAND_FOUND;HDF5_FOUND;RANDOM123_FOUND;Boost_FOUND;MKL_FOUND;LAPACKE_FOUND;HIGHWAYHASH_FOUND") + PrintMissing(walker "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;PEGTL_FOUND;BRIGAND_FOUND;HDF5_FOUND;RANDOM123_FOUND;Boost_FOUND;MKL_FOUND;LAPACKE_FOUND;HIGHWAYHASH_FOUND;H5Part_FOUND") endif() if (CHARM_FOUND AND SEACASExodus_FOUND AND EXODIFF_FOUND AND ROOT_FOUND diff --git a/cmake/add_regression_test.cmake b/cmake/add_regression_test.cmake index 83d1f65d76c..46f46a3bceb 100644 --- a/cmake/add_regression_test.cmake +++ b/cmake/add_regression_test.cmake @@ -3,7 +3,7 @@ # \file add_regression_test.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Function used to add a regression test to the ctest test suite # diff --git a/cmake/charm.cmake b/cmake/charm.cmake index d59c43a2df9..c6850c5bf38 100644 --- a/cmake/charm.cmake +++ b/cmake/charm.cmake @@ -3,7 +3,7 @@ # \file charm.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Function used to setup a Charm++ module # diff --git a/cmake/get_compiler_flags.cmake b/cmake/get_compiler_flags.cmake index a0f60c54b4e..60c0645cc30 100644 --- a/cmake/get_compiler_flags.cmake +++ b/cmake/get_compiler_flags.cmake @@ -3,7 +3,7 @@ # \file get_compiler_flags.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Cmake code to get compiler flags # diff --git a/cmake/libstdcxx.cmake b/cmake/libstdcxx.cmake index 510f7a1c9b9..01dce493ef8 100644 --- a/cmake/libstdcxx.cmake +++ b/cmake/libstdcxx.cmake @@ -3,7 +3,7 @@ # \file libstdcxx.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Find libc++ and offer to switch between libc++ and libstdc++ # diff --git a/cmake/test_runner.cmake b/cmake/test_runner.cmake index 0e3dd39dc64..8ebbe47c626 100644 --- a/cmake/test_runner.cmake +++ b/cmake/test_runner.cmake @@ -3,7 +3,7 @@ # \file test_runner.cmake # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Regression test runner using the cmake scripting language # diff --git a/doc/licenses/Lua_license.dox b/doc/licenses/Lua_license.dox new file mode 100644 index 00000000000..7be67e4acb6 --- /dev/null +++ b/doc/licenses/Lua_license.dox @@ -0,0 +1,25 @@ +/*! + \page lua_license_page Lua license + +\verbatim +Copyright © 1994–2019 Lua.org, PUC-Rio. Permission is hereby granted, free of +charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and +to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endverbatim + +*/ diff --git a/doc/licenses/Sol2_license.dox b/doc/licenses/Sol2_license.dox new file mode 100644 index 00000000000..648eda906ad --- /dev/null +++ b/doc/licenses/Sol2_license.dox @@ -0,0 +1,27 @@ +/*! + \page sol2_license_page Sol2 license + +\verbatim +The MIT License (MIT) + +Copyright (c) 2013-2019 Rapptz, ThePhD, and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\endverbatim + +*/ diff --git a/doc/pages/build.dox b/doc/pages/build.dox index 946659101c8..30dd32a3a0e 100644 --- a/doc/pages/build.dox +++ b/doc/pages/build.dox @@ -189,16 +189,14 @@ about a particular tool, e.g., @ref inciter_main, you can 1. Clone only those TPLs that are required for the given tool (instead of cloning them all), e.g., - git clone https://github.com/quinoacomputing/quinoa.git + git clone https://github.com/quinoacomputing/quinoa.git && cd quinoa git submodule init && git submodule update && cd external - git -c submodule."src/pstreams".update=none -c submodule."src/pugixml".update=none -c submodule."src/rngsse2".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/root".update=none -c submodule."src/aec".update=none submodule update --init --recursive + git -c submodule."src/pugixml".update=none -c submodule."src/rngsse2".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/root".update=none -c submodule."src/aec".update=none submodule update --init --recursive 2. Build only those TPLs that are required for the given executable by setting the `_ONLY` cmake variable to `true`, e.g., - cd quinoa - mkdir external/build - cd external/build + cd quinoa && mkdir external/build && cd external/build cmake -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DCMAKE_Fortran_COMPILER=mpif90 -DINCITER_ONLY=true .. make -sj$(grep -c processor /proc/cpuinfo) @@ -216,7 +214,7 @@ required for the given tool for each executable: @ref walker_main - git -c submodule."src/pugixml".update=none -c submodule."src/rngsse2".update=none -c submodule."src/aec".update=none -c submodule."src/h5part".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none submodule update --init --recursive + git -c submodule."src/pugixml".update=none -c submodule."src/rngsse2".update=none -c submodule."src/aec".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/sol2".update=none submodule update --init --recursive @ref inciter_main @@ -224,19 +222,19 @@ required for the given tool for each executable: @ref rngtest_main - git -c submodule."src/hdf5".update=none -c submodule."src/netcdf".update=none -c submodule."src/pugixml".update=none -c submodule."src/h5part".update=none -c submodule."src/trilinos".update=none -c submodule."src/tut".update=none -c submodule."src/numdiff".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/highwayhash".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/aec".update=none submodule update --init --recursive + git -c submodule."src/hdf5".update=none -c submodule."src/netcdf".update=none -c submodule."src/pugixml".update=none -c submodule."src/h5part".update=none -c submodule."src/trilinos".update=none -c submodule."src/tut".update=none -c submodule."src/numdiff".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/highwayhash".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/aec".update=none -c submodule."src/sol2".update=none submodule update --init --recursive @ref unittest_main - git -c submodule."src/rngsse2".update=none -c submodule."src/testu01".update=none -c submodule."src/numdiff".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/aec".update=none submodule update --init --recursive + git -c submodule."src/rngsse2".update=none -c submodule."src/testu01".update=none -c submodule."src/numdiff".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/aec".update=none -c submodule."src/sol2".update=none submodule update --init --recursive @ref meshconv_main - git -c submodule."src/random123".update=none -c submodule."src/rngsse2".update=none -c submodule."src/lapack".update=none -c submodule."src/aec".update=none -c submodule."src/h5part".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none submodule update --init --recursive + git -c submodule."src/random123".update=none -c submodule."src/rngsse2".update=none -c submodule."src/lapack".update=none -c submodule."src/aec".update=none -c submodule."src/h5part".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/root".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/sol2".update=none submodule update --init --recursive @ref fileconv_main - git -c submodule."src/random123".update=none -c submodule."src/rngsse2".update=none -c submodule."src/lapack".update=none -c submodule."src/aec".update=none -c submodule."src/h5part".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/numdiff".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none submodule update --init --recursive + git -c submodule."src/random123".update=none -c submodule."src/rngsse2".update=none -c submodule."src/lapack".update=none -c submodule."src/aec".update=none -c submodule."src/h5part".update=none -c submodule."src/testu01".update=none -c submodule."src/tut".update=none -c submodule."src/numdiff".update=none -c submodule."src/backward-cpp".update=none -c submodule."src/omega_h".update=none -c submodule."src/doxygen".update=none -c submodule."src/m.css".update=none -c submodule."src/sol2".update=none submodule update --init --recursive @section build_systemlibs Using system-wide packages @@ -257,19 +255,17 @@ On Alpine Linux you can pre-install the packages given in @section build_mac Build on Mac OS On Mac OS we do _not_ recommend using the system-wide compilers. Instead, we -use [macports](https://www.macports.org/) to install compilers and OpenMPI: +use [spack](https://spack.readthedocs.io) to install compilers and OpenMPI: - port install openmpi-clang60 - port select clang mp-clang-6.0 - port select mpi openmpi-clang60-fortran + spack install cmake libtool autoconf automake + spack install environment-modules cmake gcc openmpi%gcc hdf5%gcc+hl -You can also use ports to install some TPLs: +The above will use install gcc and OpenMPI on top of it. You will have to load +the environment modules as, e.g., - port install pugixml hdf5 +openmpi+clang60+hl + module load gcc-9.2.0-clang-10.0.0-apple-vcpkolh openmpi-3.1.4-gcc-9.2.0-my2rkcv hdf5-1.10.5-gcc-9.2.0-prdkirn -Note that the above is optional, since it may also be installed by the TPL -build, see @ref build_default, but depending on your system you may have better -luck with one or the other. +Then follow @ref build_default. @section build_clang Build using Clang or Intel compilers diff --git a/doc/pages/git-submodules-subtrees.dox b/doc/pages/git-submodules-subtrees.dox index 325d8b89113..0476bcc5e30 100644 --- a/doc/pages/git-submodules-subtrees.dox +++ b/doc/pages/git-submodules-subtrees.dox @@ -1,6 +1,12 @@ /*! \page git_submodules_subtrees Modules +@tableofcontents{xml} + +This page discusses how Quinoa's code repositories are organized into git +submodules and subtrees. It also gives an example of how to add a new +third-party library (TPL) as a new submodule. + Quinoa uses git _submodules_ as well as git _subtrees_ to pull in third-party libraries (TPLs) and auxiliary tools. This allows easy update to a TPL's (or tool's) new or custom version, record all TPLs' and tools' histories (including @@ -102,4 +108,322 @@ branches, stashing, are quicker. This can be especially useful on large HPC machines where the large parallel file systems are shared among many users who may be doing heavy I/O. Another option is to _deinitialize_ the submodules once not needed if they were recursively cloned and initialized. + +@section submodule_new Add a new TPL as a new submodule + +This section walks through on adding a new TPL as a git submodule. We add a new +library `Sol2`, which is header-only (no build required, only a copy of the +header files) and depends on Lua. + +First, we tell the `quinoa-tpl` repository about the the source repository of +`Sol2` as a new git submodule: + +@code{.bash} +git clone https://github.com/quinoacomputing/quinoa-tpl.git +cd quinoa-tpl +git submodule add https://github.com/ThePhD/sol2.git src/sol2 +cd src/sol2 && git checkout v3.2.0 && cd - +git add src/sol2 +@endcode + +Then we extend `quinoa-tpl/CMakeLists.txt`. The best is to find a library +similar to the one being added and add the relevant sections. Since `Sol2` is a +header-only library, we just find everything `brigand`-related (`brigand` is +also a header-only library) and end up with the following diff: + +@code{.diff} +$ git diff CMakeLists.txt +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 32e715d..595bed9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,6 +92,7 @@ set(ENABLE_BACKWARDCPP ON CACHE BOOL "Enable BackwardCpp") + set(ENABLE_HIGHWAYHASH ON CACHE BOOL "Enable HighwayHash") + set(ENABLE_OMEGAH OFF CACHE BOOL "Enable Omega_H") + set(ENABLE_BRIGAND ON CACHE BOOL "Enable Brigand") ++set(ENABLE_SOL2 ON CACHE BOOL "Enable Sol2") + set(ENABLE_DOXYGEN ON CACHE BOOL "Enable Doxygen") + set(ENABLE_MCSS ON CACHE BOOL "Enable m.css") + +@@ -124,6 +125,7 @@ if (UNITTEST_ONLY OR INCITER_ONLY OR RNGTEST_ONLY OR MESHCONV_ONLY OR + set(ENABLE_HIGHWAYHASH OFF) + set(ENABLE_OMEGAH OFF) + set(ENABLE_BRIGAND OFF) ++ set(ENABLE_SOL2 OFF) + set(ENABLE_DOXYGEN OFF) + set(ENABLE_MCSS OFF) + set(REQUESTED_EXECUTABLES) +@@ -157,6 +159,7 @@ if (UNITTEST_ONLY OR INCITER_ONLY OR RNGTEST_ONLY OR MESHCONV_ONLY OR + set(ENABLE_HDF5 ON) + set(ENABLE_HIGHWAYHASH ON) + set(ENABLE_BRIGAND ON) ++ set(ENABLE_SOL2 ON) + set(ENABLE_PEGTL ON) + set(ENABLE_LAPACK ON) + set(ENABLE_BOOST ON) +@@ -724,6 +727,17 @@ if (ENABLE_BRIGAND) + endif() + endif() + ++# Sol2 ++if (ENABLE_SOL2) ++ find_package(Lua) ++ find_package(Sol2) ++ if(SOL2_FOUND) ++ set(sol2 "") ++ else() ++ set(sol2 "sol2") ++ endif() ++endif() ++ + # Doxygen + if (ENABLE_DOXYGEN) + find_package(Doxygen 1.8.15) +@@ -758,7 +772,7 @@ get_compiler_flags() + set(tpls2build ${charm} ${hdf5} ${netcdf} ${boost} ${pstreams} + ${pugixml} ${pegtl} ${random123} ${rngsse2} ${lapack} ${aec} ${h5part} + ${testu01} ${trilinos} ${tut} ${numdiff} ${root} ${backwardcpp} ${highwayhash} +-${omega_h} ${brigand} ${doxygen} ${mcss}) ++${omega_h} ${brigand} ${sol2} ${doxygen} ${mcss}) + + list(LENGTH tpls2build ntpl) + list(SORT tpls2build) +@@ -1333,6 +1347,23 @@ if (brigand) + ) + endif() + ++#### Sol2 ###################################################################### ++# https://github.com/ThePhD/sol2 ++# Header only, only if not found ++if (sol2) ++ ExternalProject_Add( ++ sol2 ++ PREFIX sol2 ++ # Header-only, copy include dir over ++ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy_directory ++ ${PROJECT_SOURCE_DIR}/src/sol2/include/sol ++ ${CMAKE_INSTALL_PREFIX}/include/sol ++ BUILD_COMMAND "" ++ INSTALL_COMMAND "" ++ DOWNLOAD_COMMAND "" ++ ) ++endif() ++ + #### Doxygen, documentation generation ######################################### + # https://doxygen.org + if (doxygen) +@endcode + +We also add cmake code to find Sol2, as a new file `cmake/FindSol2.cmake`, +since we do not expect that to be packaged by the OS. + +@code{.cmake} +################################################################################ +# +# \file FindSol2.cmake +# \copyright 2012-2015 J. Bakosi, +# 2016-2018 Los Alamos National Security, LLC., +# 2019 Triad National Security, LLC. +# All rights reserved. See the LICENSE file for details. +# \brief Find the Sol2 Lua C++ binding library +# +################################################################################ + +# Sol2: https://github.com/ThePhD/sol2 +# +# SOL2_FOUND - System has Sol2 +# SOL2_INCLUDE_DIRS - The Sol2 include directory +# +# Set the SOL2_ROOT cmake variable or shell environment variable before +# calling find_package to a path to add an additional search path, e.g., +# +# Usage: +# +# set(SOL2_ROOT "/path/to/custom/brigand") # prefer over system +# find_package(Sol2) +# include_directories(${SOL2_INCLUDE_DIRS}) + +# If already in cache, be silent +if(SOL2_INCLUDE_DIRS) + set (SOL2_FIND_QUIETLY TRUE) +endif() + +find_path(SOL2_INCLUDE_DIR NAMES sol.hpp + HINTS ${SOL2_ROOT}/include + $ENV{SOL2_ROOT}/include + PATH_SUFFIXES sol) + +set(SOL2_INCLUDE_DIRS ${SOL2_INCLUDE_DIR}) + +# Handle the QUIETLY and REQUIRED arguments and set SOL2_FOUND to TRUE if +# all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sol2 REQUIRED_VARS SOL2_INCLUDE_DIRS) + +MARK_AS_ADVANCED(SOL2_INCLUDE_DIRS) +@endcode + +@note We assume that [Lua](https://www.lua.org), required by Sol2, will be +found on the system. On debian/ubuntu Lua can be installed by ```apt-get +install liblua5.3-dev```. + +We can now test if the TPL build works: + +@code{.bash} +cd quinoa-tpl && mdkir build && cd build +cmake .. +@endcode + +Example cmake screen output: +@code{.bash} +... +-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.3.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.3.3") +-- Could NOT find Sol2 (missing: SOL2_INCLUDE_DIRS) +... +@endcode + +As expected, Lua is there on the system, but we need to supply Sol2. Now we +build sol2, and see if it is found: + +@code{.bash} +make sol2 +cmake . +@endcode + +Example cmake screen output: +@code{.bash} +... +-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.3.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.3.3") +-- Found Sol2: [...]/quinoa-tpl/install/clang-x86_64/include/sol +... +@endcode + +Since this works fine, we commit the changes to the `quinoa-tpl` repository: + +@code{.bash} +git add CMakeLists.txt +git status +git commit -m"Add lua and sol2" +@endcode + +Example `git status` output from above: + +@code{.bash} +On branch master +Your branch is up to date with 'origin/master'. + +Changes to be committed: + (use "git reset HEAD ..." to unstage) + + modified: .gitmodules + modified: CMakeLists.txt + new file: src/sol2 + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory) + (commit or discard the untracked or modified content in submodules) + + modified: cmake (untracked content) +... +@endcode + +@note We do _not_ commit the contents of the `cmake/` directory to the +`quinoa-tpl` repository. Changes in that go into the +[cmake-modules](https://github.com/quinoacomputing/cmake-modules) repository. + +We also update `cmake/TPLs.cmake` in the cmake-modules repository to include +and run cmake code that finds Lua and Sol2 when quinoa is configured. + +First, clone `cmake-modules`: + +@code{.bash} +git clone https://github.com/quinoacomputing/cmake-modules.git +cd cmake-modules +@endcode + +Next, augment `TPLs.cmake` in the cmake-module repository, which runs when +quinoa is configured: + +@code{.diff} +$ git diff TPLs.cmake +diff --git a/cmake/TPLs.cmake b/cmake/TPLs.cmake +index a7ca35a93..f4064ea2c 100644 +--- a/cmake/TPLs.cmake ++++ b/cmake/TPLs.cmake +@@ -156,6 +156,11 @@ find_package(HighwayHash) + set(BRIGAND_ROOT ${TPL_DIR}) # prefer ours + find_package(Brigand) + ++#### Configure Sol2 ++set(SOL2_ROOT ${TPL_DIR}) # prefer ours ++find_package(Lua) ++find_package(Sol2) ++ + message(STATUS "------------------------------------------") + + # Function to print a list of missing library names +@@ -197,11 +202,12 @@ endif() + + if (CHARM_FOUND AND SEACASExodus_FOUND AND EXODIFF_FOUND AND + Zoltan2_FOUND AND HDF5_FOUND AND BRIGAND_FOUND AND PEGTL_FOUND AND +- (MKL_FOUND OR LAPACKE_FOUND) AND Boost_FOUND AND HIGHWAYHASH_FOUND) ++ (MKL_FOUND OR LAPACKE_FOUND) AND Boost_FOUND AND HIGHWAYHASH_FOUND AND ++ LUA_FOUND AND SOL2_FOUND) + set(ENABLE_INCITER "true") + set(INCITER_EXECUTABLE inciter) + else() +- PrintMissing(inciter "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;Zoltan2_FOUND;HDF5_FOUND;BRIGAND_FOUND;PEGTL_FOUND;MKL_FOUND;LAPACKE_FOUND;Boost_FOUND") ++ PrintMissing(inciter "CHARM_FOUND;SEACASExodus_FOUND;EXODIFF_FOUND;Zoltan2_FOUND;HDF5_FOUND;BRIGAND_FOUND;PEGTL_FOUND;MKL_FOUND;LAPACKE_FOUND;Boost_FOUND;LUA_FOUND;SOL2_FOUND") + endif() + + if (CHARM_FOUND AND TESTU01_FOUND AND BRIGAND_FOUND AND PEGTL_FOUND AND +@endcode + +Now we commit the changes to `cmake-modules`: + +@code{.bash} +cd cmake-modules +mv quinoa-tpl/cmake/FindSol2.cmake . +git add FindSol2.cmake TPLs.cmake +git commit -m"Add cmake code so quinoa finds Lua and Sol2" +git push +@endcode + +@note Since we _moved_ `FindSol2.cmake` from quinoa-tpl/cmake, we pull it in +from the cmake repository: + +@code{.bash} +cd quinoa-tpl/cmake +git pull +@endcode + +Next we commit the change in the TPL repo to reflect the updated `cmake` +submodule: + +@code{.bash} +cd quinoa-tpl +git add cmake +git commit -m"Pull in latest cmake" +git push +@endcode + +Finally, we pull the changes from both the `cmake` subtree (cmake-modules +repository) and the TPLs (quinoa-tpl) into the `quinoa` repository. + +@code{.bash} +git clone https://github.com/quinoacomputing/quinoa.git +cd quinoa +git submodule init && git submodule update --recursive && cd external && git submodule init && git submodule update --recursive && cd .. && git submodule status --recursive +cd external && git checkout master && git pull && cd - +cd cmake && git checkout master && git pull && cd - +git submodule update --init external/src/sol2 +git commit -am"Pull in latest external" +git fetch cmake +git subtree pull --prefix=cmake cmake master --squash +@endcode + +@note The above instructions assume a @ref build_nonrecursive "non-recursive" +clone of the quinoa repository. + */ diff --git a/doc/pages/inciter_design.dox b/doc/pages/inciter_design.dox index 21b4e45bdb4..2a483515a6f 100644 --- a/doc/pages/inciter_design.dox +++ b/doc/pages/inciter_design.dox @@ -91,7 +91,8 @@ Here are the important classes that interoperate within inciter: - `Transporter` (single chare, driver) - `Partitioner` (chare _nodegroup_, mesh partitioner) - - `MeshWriter` (chare _group_, mesh writer, performing file output in parallel) + - `tk::MeshWriter` (chare _group_, mesh writer, performing file output in + parallel) - `Refiner` (chare _array_, mesh refiner) - `Sorter` (chare _array_, performs mesh reordering) - `Discretization` (chare _array_, generic PDE solver base class) diff --git a/doc/pages/inciter_newscheme.dox b/doc/pages/inciter_newscheme.dox index b1e3899a132..4ed6d664e54 100644 --- a/doc/pages/inciter_newscheme.dox +++ b/doc/pages/inciter_newscheme.dox @@ -450,7 +450,7 @@ buffer on the receiving side, which would lead to corrupt data and errors. @subsection inciter_newscheme_class_setup ALECG::setup() -- Set initial conditions and compute the left hand side -@snippet Inciter/ALECG.cpp init and lhs +@snippet Inciter/ALECG.cpp start In the ALECG::setup() code snippet above we call ALECG::lhs() which starts by computing the own contribution of the lhs followed by sending out contributions diff --git a/doc/pages/licenses.dox b/doc/pages/licenses.dox index 00c47dd946c..33551cb63ae 100644 --- a/doc/pages/licenses.dox +++ b/doc/pages/licenses.dox @@ -181,6 +181,18 @@ executable. - Web: https://github.com/edouarda/brigand - License: @subpage brigand_license_page +\subsection lua_license Lua for embedding configuration and scripts + - Required + - Must be present system-wide + - Web: https://www.lua.org/ + - License: @subpage lua_license_page + +\subsection sol2_license Sol2 for binding Lua and C++ + - Required + - Searched for and if not found, built by default + - Web: http://sol2.rtfd.io + - License: @subpage sol2_license_page + ------------------------------------- \section compiler_web Compilers diff --git a/doc/pages/mainpage.dox b/doc/pages/mainpage.dox index ba738d252d1..39c41c7dd08 100644 --- a/doc/pages/mainpage.dox +++ b/doc/pages/mainpage.dox @@ -102,13 +102,14 @@ other ways to build, see the page on @ref build "building Quinoa". - Install prerequisites: _Debian/Ubuntu linux_ (line 1: required, line 2: recommended) - apt-get install cmake gfortran gcc g++ openmpi-bin libopenmpi-dev - apt-get install gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-dcpp-dev tao-pegtl-dev intel-mkl binutils-dev flex bison python3-pygments python3-jinja2 texlive-latex-base libdw-dev + apt-get install cmake gfortran gcc g++ openmpi-bin libopenmpi-dev liblua5.3-dev + apt-get install gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-cpp-dev tao-pegtl-dev intel-mkl binutils-dev flex bison python3-pygments python3-jinja2 texlive-latex-base libdw-dev -- Install prerequisites: _Mac OS X_ (line 1: required, line 2: recommended) +- Install prerequisites: _Mac OS X_ - port install openmpi-clang60 & port select clang mp-clang-6.0 && port select mpi openmpi-clang60-fortran - port install pugixml hdf5 +openmpi+clang60+hl + spack install cmake libtool autoconf automake + spack install environment-modules cmake gcc openmpi%gcc hdf5%gcc+hl + module load gcc-9.2.0-clang-10.0.0-apple-vcpkolh openmpi-3.1.4-gcc-9.2.0-my2rkcv hdf5-1.10.5-gcc-9.2.0-prdkirn - Clone, build third-party libraries, build & test diff --git a/doc/pages/papers.dox b/doc/pages/papers.dox index 9046e0f7c51..468dd8f0b99 100644 --- a/doc/pages/papers.dox +++ b/doc/pages/papers.dox @@ -6,6 +6,15 @@ implemented in Quinoa. The papers are grouped by executables. @section papers_walker Walker +- @m_div{m-text m-strong} + J.R. Ristorcelli, J. Bakosi, **[A Fokker–Planck approach to a moment closure for mixing in variable-density turbulence](https://doi.org/10.1080/14685248.2019.1662030)**, Journal of Turbulence, vol. 20, issue 7, Pages 393-423, 2019. + @m_enddiv + + This paper develops a statistical moment closure for mixing of two fluids + with very different densities in a flow that becomes turbulent starting from a + quiescent state. Developed using the Monte Carlo solutions from walker::Beta, + and walker::MixMassFractionBeta. + - @m_div{m-text m-strong} J. Bakosi, J.R. Ristorcelli, **[Diffusion Processes Satisfying a Conservation Law Constraint](http://dx.doi.org/10.1155/2014/603692)**, International Journal of Stochastic Analysis, vol. 2014, Article ID 603692, 9 pages, 2014. @m_enddiv @@ -52,6 +61,19 @@ implemented in Quinoa. The papers are grouped by executables. @section papers_inciter Inciter +- @m_div{m-text m-strong} + A. Pandare, J. Waltz, J. Bakosi, **[A reconstructed discontinuous Galerkin method for multi‐material hydrodynamics with sharp interfaces](https://doi.org/10.1002/fld.4810)**, International Journal for Numerical Methods in Fluids, 2020: 1–25. + @m_enddiv + + This paper describes a discontinuous Galerkin method for multi-material flows + in 1D, whose 3D version is currently being implemented in Quinoa. + +- @m_div{m-text m-strong} + J. Waltz, N.R. Morgan, T.R. Canfield, M.R.J. Charest, L.D. Risinger, J.G. Wohlbier, **[A three-dimensional finite element arbitrary Lagrangian–Eulerian method for shock hydrodynamics on unstructured grids](https://doi.org/10.1016/j.compfluid.2013.12.021)**, Computers & Fluids, 92: 172-187, 2014. + @m_enddiv + + This paper describes the hydro scheme implemented in @ref inciter_main as `ALECG`. + - @m_div{m-text m-strong} J. Waltz, **[Parallel adaptive refinement for unsteady flow calculations on 3D unstructured grids](http://dx.doi.org/10.1002/fld.674)**, International Journal for Numerical Methods in Fluids, 46: 37–57, 2004. @m_enddiv diff --git a/doc/pages/resources.dox b/doc/pages/resources.dox index 2a805605809..c828f6c746c 100644 --- a/doc/pages/resources.dox +++ b/doc/pages/resources.dox @@ -48,6 +48,7 @@ [Jozsef Bakosi](https://github.com/jbakosi) - [Bob Bird](https://github.com/rfbird) - +[Marc Charest](https://github.com/charest) - [Francisco Gonzalez](https://github.com/franjgonzalez) - [Christoph Junghans](https://github.com/junghans) - [Weizhao Li](https://github.com/WeizhaoLi2018) - diff --git a/doc/quinoa.doxy b/doc/quinoa.doxy index e80de4d6b5f..6a2933ca29f 100644 --- a/doc/quinoa.doxy +++ b/doc/quinoa.doxy @@ -2421,7 +2421,7 @@ HTML_EXTRA_STYLESHEET = \ ##! M_LINKS_NAVBAR2 = "resources GitHub Tarballs License roadmap contributing papers Chat Email list coverage Azure OpenHub Practices" -##! M_PAGE_FINE_PRINT = "

Quinoa docs, part of the Quinoa project. Copyright © J. Bakosi 2012–2015, Los Alamos National Security, LLC, 2016–2018, Triad National Security, LLC, 2019. Generated on @BUILD_DATE_SIMPLE@ based on @GIT_SHA1_ONLY@ by Doxygen and m.css. Contact us via GitHub, Email or Chat.

" +##! M_PAGE_FINE_PRINT = "

Quinoa docs, part of the Quinoa project. Copyright © J. Bakosi 2012–2015, Los Alamos National Security, LLC, 2016–2018, Triad National Security, LLC, 2019-2020. Generated on @BUILD_DATE_SIMPLE@ based on @GIT_SHA1_ONLY@ by Doxygen and m.css. Contact us via GitHub, Email or Chat.

" ALIASES += \ "m_div{1}=@xmlonly@endxmlonly" \ diff --git a/external b/external index 42fe4f97dfb..aa69e3e09e4 160000 --- a/external +++ b/external @@ -1 +1 @@ -Subproject commit 42fe4f97dfb43251ea5cabcf5ad96945d0e35565 +Subproject commit aa69e3e09e4658be1bce46ecb3089507006e75bd diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 0ee209e0884..94161d7651b 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -14,8 +14,7 @@ add_library(Base Reader.cpp Writer.cpp Table.cpp - Vector.cpp - StrConvUtil.cpp + PrintUtil.cpp ChareStateCollector.cpp ) diff --git a/src/Base/Callback.hpp b/src/Base/Callback.hpp index d6f72253e72..c630d65bc04 100644 --- a/src/Base/Callback.hpp +++ b/src/Base/Callback.hpp @@ -3,7 +3,7 @@ \file src/Base/Callback.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Tagged tuple types used for passing Charm++ callbacks \details Tagged tuple types used for passing Charm++ callbacks. @@ -29,7 +29,8 @@ using PartitionerCallback = using RefinerCallback = tk::TaggedTuple< brigand::list< - tag::edges, CkCallback + tag::queried, CkCallback + , tag::responded, CkCallback , tag::compatibility, CkCallback , tag::bndint, CkCallback , tag::matched, CkCallback diff --git a/src/Base/CartesianProduct.hpp b/src/Base/CartesianProduct.hpp index 319bf3c83cb..f35dbb79941 100644 --- a/src/Base/CartesianProduct.hpp +++ b/src/Base/CartesianProduct.hpp @@ -3,7 +3,7 @@ \file src/Base/CartesianProduct.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Cartesian product using brigand \details Cartesian product using brigand diff --git a/src/Base/ChareState.hpp b/src/Base/ChareState.hpp index 0141aaf1471..5e8eb5545bd 100644 --- a/src/Base/ChareState.hpp +++ b/src/Base/ChareState.hpp @@ -3,7 +3,7 @@ \file src/Base/ChareState.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare state collector group \details Charm++ chare state collectory group used for debugging. diff --git a/src/Base/ChareStateCollector.cpp b/src/Base/ChareStateCollector.cpp index 83556ce5336..8c938c1114d 100644 --- a/src/Base/ChareStateCollector.cpp +++ b/src/Base/ChareStateCollector.cpp @@ -3,7 +3,7 @@ \file src/Base/ChareStateCollector.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare state collector group \details Charm++ chare state collectory group used for debugging. diff --git a/src/Base/ChareStateCollector.hpp b/src/Base/ChareStateCollector.hpp index 5b766818b4a..0eafa656415 100644 --- a/src/Base/ChareStateCollector.hpp +++ b/src/Base/ChareStateCollector.hpp @@ -3,7 +3,7 @@ \file src/Base/ChareStateCollector.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare state collector group \details Charm++ chare state collectory group used for debugging. diff --git a/src/Base/ContainerUtil.hpp b/src/Base/ContainerUtil.hpp index d11e3270902..80b0c14c0a9 100644 --- a/src/Base/ContainerUtil.hpp +++ b/src/Base/ContainerUtil.hpp @@ -3,7 +3,7 @@ \file src/Base/ContainerUtil.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Various STL container utilities \details Various STL container utilities. @@ -19,18 +19,17 @@ #include #include #include +#include #include "Exception.hpp" namespace tk { +//! Make elements of container unique (in-place, overwriting source container) +//! \param[in,out] c Container template< class Container > void unique( Container& c ) -// ***************************************************************************** -//! Make elements of container unique (in-place, overwriting source container) -//! \param[inout] c Container -// ***************************************************************************** { std::sort( begin(c), end(c) ); auto it = std::unique( begin(c), end(c) ); @@ -39,76 +38,69 @@ unique( Container& c ) c.resize( static_cast< std::size_t >( d ) ); } -template< class Container > -Container -uniquecopy( const Container& src ) -// ***************************************************************************** //! Make elements of container unique (on a copy, leaving the source as is) //! \param[in] src Container //! \return Container containing only unique elements compared to src -// ***************************************************************************** +template< class Container > +Container +uniquecopy( const Container& src ) { auto c = src; unique( c ); return c; } -template< typename Container > -auto cref_find( const Container& map, const typename Container::key_type& key ) - -> const typename Container::mapped_type& -// ***************************************************************************** //! \brief Find and return a constant reference to value for key in container //! that provides a find() member function with error handling //! \param[in] map Map associating values to keys //! \param[in] key Key to search for //! \return A constant reference to the value associated to the key in map //! \note If key is not found an exception is thrown. -// ***************************************************************************** +template< typename Container > +auto cref_find( const Container& map, const typename Container::key_type& key ) +noexcept(ndebug) + -> const typename Container::mapped_type& { const auto it = map.find( key ); - if (it != end(map)) return it->second; else Throw( "Can't find key" ); + Assert( it != end(map), "Can't find key" ); + return it->second; } -template< typename Container > -auto ref_find( const Container& map, const typename Container::key_type& key ) - -> typename Container::mapped_type& -// ***************************************************************************** //! \brief Find and return a reference to value for key in a container that //! provides a find() member function with error handling //! \param[in] map Map associating values to keys //! \param[in] key Key to search for //! \return A reference to the value associated to the key in map //! \note If key is not found an exception is thrown. -// ***************************************************************************** +template< typename Container > +auto ref_find( const Container& map, const typename Container::key_type& key ) +noexcept(ndebug) + -> typename Container::mapped_type& { return const_cast< typename Container::mapped_type& >( cref_find(map,key) ); } -template< typename T > -std::array< T, 2 > -extents( const std::vector< T >& vec ) -// ***************************************************************************** //! \brief Return minimum and maximum values of a vector //! \param[in] vec Vector whose extents to compute //! \return Array of two values with the minimum and maximum values //! \note This function should not be called with heavy T types, as the a copy //! of a std::array< T, 2 > is created and returned. -// ***************************************************************************** +template< typename T > +std::array< T, 2 > +extents( const std::vector< T >& vec ) { auto x = std::minmax_element( begin(vec), end(vec) ); return {{ *x.first, *x.second }}; } -template< typename Container > -auto extents( const Container& map ) - -> std::array< typename Container::mapped_type, 2 > -// ***************************************************************************** //! \brief Find and return minimum and maximum values in associative container //! \param[in] map Map whose extents of values to find //! \return Array of two values with the minimum and maximum values in the map -//! \Note This function should not be called with heavy Value types, as the a +//! \note This function should not be called with heavy Value types, as the a //! copy of a std::array< Value, 2 > is created and returned. -// ***************************************************************************** +template< typename Container > +auto extents( const Container& map ) + -> std::array< typename Container::mapped_type, 2 > { auto x = std::minmax_element( begin(map), end(map), []( const auto& a, const auto& b ) @@ -116,20 +108,18 @@ auto extents( const Container& map ) return {{ x.first->second, x.second->second }}; } -template< class T, class Allocator > -std::vector< T, Allocator >& -operator+=( std::vector< T, Allocator >& dst, - const std::vector< T, Allocator >& src ) -// ***************************************************************************** //! \brief Add all elements of a vector to another one -//! \param[inout] dst Destination vector, i.e., left-hand side of v1 += v2 +//! \param[in,out] dst Destination vector, i.e., left-hand side of v1 += v2 //! \param[in] src Source vector, i.e., righ-hand side of v1 += v2 //! \return Destination containing v1[0] += v2[0], v1[1] += v2[1], ... //! \details If src.size() > dst.size() will grow dst to that of src.size() //! padding with zeros. //! \note Will throw exception in DEBUG if src is empty (to warn on no-op), and //! if src.size() < dst.size() (to warn on loosing data). -// ***************************************************************************** +template< class T, class Allocator > +std::vector< T, Allocator >& +operator+=( std::vector< T, Allocator >& dst, + const std::vector< T, Allocator >& src ) { Assert( !src.empty(), "src empty in std::vector::operator+=()" ); Assert( src.size() >= dst.size(), "src.size() < dst.size() would loose data " @@ -140,7 +130,6 @@ operator+=( std::vector< T, Allocator >& dst, return dst; } -// ***************************************************************************** //! Test if all keys of two associative containers are equal //! \param[in] a 1st container to compare //! \param[in] b 2nd container to compare @@ -149,7 +138,6 @@ operator+=( std::vector< T, Allocator >& dst, //! \note It is an error to call this function with unequal-size containers, //! triggering an exception in DEBUG mode. //! \note Operator != is used to compare the container keys. -// ***************************************************************************** template< class C1, class C2 > bool keyEqual( const C1& a, const C2& b ) { Assert( a.size() == b.size(), "Size mismatch comparing containers" ); @@ -160,11 +148,9 @@ bool keyEqual( const C1& a, const C2& b ) { return sorted_keys_of_a == sorted_keys_of_b; } -// ***************************************************************************** //! Compute the sum of the sizes of a container of containers //! \param[in] c Container of containers //! \return Sum of the sizes of the containers of the container -// ***************************************************************************** template< class Container > std::size_t sumsize( const Container& c ) { std::size_t sum = 0; @@ -173,11 +159,9 @@ std::size_t sumsize( const Container& c ) { return sum; } -// ***************************************************************************** //! Compute the number of unique values in a container of containers //! \param[in] c Container of containers //! \return Number of unique values in a container of containers -// ***************************************************************************** template< class Container > std::size_t numunique( const Container& c ) { using value_type = typename Container::value_type::value_type; @@ -188,12 +172,10 @@ std::size_t numunique( const Container& c ) { return u.size(); } -// ***************************************************************************** //! Compute the sum of the sizes of the values of an associative container //! \tparam Map Container of containers type //! \param[in] c Container of containers //! \return Sum of the sizes of the values of the associative container -// ***************************************************************************** template< class Map > std::size_t sumvalsize( const Map& c ) { std::size_t sum = 0; @@ -202,26 +184,22 @@ std::size_t sumvalsize( const Map& c ) { return sum; } -// ***************************************************************************** //! Free memory of a container //! \param[in] c Container defining a swap() member function //! \details See http://stackoverflow.com/a/10465032 as to why this is done with //! the swap() member function of the container. //! \see Specializations of std::swap are documented at //! http://en.cppreference.com/w/cpp/algorithm/swap -// ***************************************************************************** template< class Container > void destroy( Container& c ) { typename std::remove_reference< decltype(c) >::type().swap( c ); } -// ***************************************************************************** //! Remove items from container based on predicate //! \tparam Container Type of container to remove from //! \tparam Predicate Type for functor defining the predicate //! \param items Container object to remove from //! \param predicate Predicate object instance to use -// ***************************************************************************** template< typename Container, typename Predicate > void erase_if( Container& items, const Predicate& predicate ) { for ( auto it = items.begin(); it != items.end(); ) { @@ -230,6 +208,67 @@ void erase_if( Container& items, const Predicate& predicate ) { } } +//! Concatenate vectors of T +//! \tparam T Vector value type +//! \param[in,out] src Source vector (moved from) +//! \param[in,out] dst Destination vector +template< class T > +void concat( std::vector< T >&& src, std::vector< T >& dst ) +{ + if (dst.empty()) + dst = std::move(src); + else { + dst.reserve( dst.size() + src.size() ); + std::move( std::begin(src), std::end(src), std::back_inserter(dst) ); + src.clear(); + } +} + +//! Overwrite vectors of pair< bool, tk::real > +//! \tparam T Vector value type +//! \param[in,out] src Source vector (moved from) +//! \param[in,out] dst Destination vector +template< class T > +void concat( std::vector< std::pair< bool, T > >&& src, + std::vector< std::pair< bool, T > >& dst ) +{ + dst = std::move(src); +} + +//! Concatenate unordered sets +//! \tparam Key Set key +//! \tparam Hash Set hasher +//! \tparam Eq Set equality operator +//! \param[in,out] src Source set (moved from) +//! \param[in,out] dst Destination set +template< class Key, + class Hash = std::hash< Key >, + class Eq = std::equal_to< Key > > +void concat( std::unordered_set< Key, Hash,Eq >&& src, + std::unordered_set< Key, Hash, Eq >& dst ) +{ + if (dst.empty()) + dst = std::move(src); + else { + dst.reserve( dst.size() + src.size() ); + std::move( std::begin(src), std::end(src), std::inserter(dst,end(dst)) ); + src.clear(); + } +} + +//! \brief Convert and return values from container as string +//! \tparam V Container range for works on +//! \param[in] v Container whose components to return as a string +//! \return Concatenated string of values read from a container +template< typename V > +std::string parameters( const V& v ) { + std::stringstream s; + s << "{ "; + for (auto p : v) s << p << ' '; + s << "}"; + return s.str(); +} + } // tk:: #endif // ContainerUtil_h diff --git a/src/Base/Data.hpp b/src/Base/Data.hpp index 7ae18b3b9d1..75abd7c561b 100644 --- a/src/Base/Data.hpp +++ b/src/Base/Data.hpp @@ -3,7 +3,7 @@ \file src/Base/Data.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generic data storage with different memory layouts \details Generic data storage with different memory layouts. See also the @@ -264,6 +264,41 @@ class Data { return extract( component, offset, N[0], N[1], N[2], N[3] ); } + //! Extract (a copy of) three values of unknowns + //! \details Requirement: offset + component < nprop, [A,B,C] < nunk, + //! enforced with an assert in DEBUG mode, see also the constructor. + //! \param[in] component Component index, i.e., position of a scalar within + //! a system + //! \param[in] offset System offset specifying the position of the system of + //! equations among other systems + //! \param[in] A Index of 1st unknown + //! \param[in] B Index of 2nd unknown + //! \param[in] C Index of 3rd unknown + //! \return Array of the four values of component at offset + std::array< tk::real, 3 > + extract( ncomp_t component, ncomp_t offset, + ncomp_t A, ncomp_t B, ncomp_t C ) const + { + auto p = cptr( component, offset ); + return {{ var(p,A), var(p,B), var(p,C) }}; + } + + //! Extract (a copy of) three values of unknowns + //! \details Requirement: offset + component < nprop, for all N[i] < nunk, + //! enforced with an assert in DEBUG mode, see also the constructor. + //! \param[in] component Component index, i.e., position of a scalar within + //! a system + //! \param[in] offset System offset specifying the position of the system of + //! equations among other systems + //! \param[in] N Indices of the 3 unknowns + //! \return Array of the three values of component at offset + std::array< tk::real, 3 > + extract( ncomp_t component, ncomp_t offset, + const std::array< ncomp_t, 3 >& N ) const + { + return extract( component, offset, N[0], N[1], N[2] ); + } + //! Const-ref accessor to underlying raw data //! \return Constant reference to underlying raw data const std::vector< tk::real >& data() const { return m_vec; } @@ -413,7 +448,7 @@ class Data { //! \param[in] offset System offset specifying the position of the system of //! equations among other systems //! \param[in] value Value to fill vector of unknowns with - void fill( ncomp_t component, ncomp_t offset, tk::real value ) { + inline void fill( ncomp_t component, ncomp_t offset, tk::real value ) { auto p = cptr( component, offset ); for (ncomp_t i=0; i ) const { Assert( unknown < m_nunk, "Out-of-bounds access: unknown < number of " "unknowns" ); return *(pt + unknown*m_nprop); } - const tk::real& + inline const tk::real& var( const tk::real* const pt, ncomp_t unknown, int2type< EqCompUnk > ) const { Assert( unknown < m_nunk, "Out-of-bounds access: unknown < number of " @@ -543,6 +577,9 @@ class Data { for (ncomp_t i=0; i&, int2type< EqCompUnk > ) + { Throw( "Not implented. It would be inefficient" ); } + //! Resize data store to contain 'count' elements //! \param[in] count Resize store to contain 'count' elements //! \param[in] value Value to initialize new data with @@ -555,6 +592,10 @@ class Data { m_nunk = count; } + void resize( std::size_t, tk::real, int2type< EqCompUnk > ) { + Throw( "Not implented. It would be inefficient" ); + } + // Overloads for the name-queries of data lauouts //! \return The name of the data layout used //! \see A. Alexandrescu, Modern C++ Design: Generic Programming and Design diff --git a/src/Base/Escaper.hpp b/src/Base/Escaper.hpp index 62cc1125791..4cd07324d62 100644 --- a/src/Base/Escaper.hpp +++ b/src/Base/Escaper.hpp @@ -3,7 +3,7 @@ \file src/Base/Escaper.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief String escaper pulled over from PEGTL v0.32 \details String escaper pulled over from PEGTL v0.32 used to extract an diff --git a/src/Base/Exception.cpp b/src/Base/Exception.cpp index 9339ca639b8..0714e48110b 100644 --- a/src/Base/Exception.cpp +++ b/src/Base/Exception.cpp @@ -3,7 +3,7 @@ \file src/Base/Exception.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Exception class definition \details Exception class definition diff --git a/src/Base/Exception.hpp b/src/Base/Exception.hpp index e2381a026f4..77ac61094c9 100644 --- a/src/Base/Exception.hpp +++ b/src/Base/Exception.hpp @@ -3,7 +3,7 @@ \file src/Base/Exception.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Exception class declaration \details Exception class declaration. The basic functionality provided by @@ -23,6 +23,12 @@ //! Toolkit declarations and definitions for general purpose utilities namespace tk { +#ifdef NDEBUG // asserts disabled +static constexpr bool ndebug = true; +#else // asserts enabled +static constexpr bool ndebug = false; +#endif + //! \brief Throw macro that always throws an exception //! \details Throw Exception with arguments passed in. Add source filename, //! function name, and line number where exception occurred. This macro diff --git a/src/Base/ExceptionMPI.hpp b/src/Base/ExceptionMPI.hpp index 899cb27acbd..62fa962146e 100644 --- a/src/Base/ExceptionMPI.hpp +++ b/src/Base/ExceptionMPI.hpp @@ -3,7 +3,7 @@ \file src/Base/ExceptionMPI.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Exception macros interoperating with MPI \details Exception macros interoperating with MPI. diff --git a/src/Base/Factory.hpp b/src/Base/Factory.hpp index 96822fbe31a..88c86b96c4d 100644 --- a/src/Base/Factory.hpp +++ b/src/Base/Factory.hpp @@ -3,7 +3,7 @@ \file src/Base/Factory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Factory utilities \details Factory utilities. The functions defined in this file help diff --git a/src/Base/Fields.hpp b/src/Base/Fields.hpp index 95ec09411fc..4e066e24754 100644 --- a/src/Base/Fields.hpp +++ b/src/Base/Fields.hpp @@ -3,7 +3,7 @@ \file src/Base/Fields.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Fields used to store data associated to mesh entities. \details Fields used to store data associated to mesh entities, e.g., nodes, diff --git a/src/Base/Flip_map.hpp b/src/Base/Flip_map.hpp index 1eda6c62cc8..3ee98e45a76 100644 --- a/src/Base/Flip_map.hpp +++ b/src/Base/Flip_map.hpp @@ -3,7 +3,7 @@ \file src/Base/Flip_map.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Flip a std::map yielding a multimap sorted by std::map::value_type \details Flip a std::map yielding a multimap sorted by std::map::value_type. diff --git a/src/Base/Has.hpp b/src/Base/Has.hpp index fa2fb82cd82..1a43f8dcba4 100644 --- a/src/Base/Has.hpp +++ b/src/Base/Has.hpp @@ -3,7 +3,7 @@ \file src/Base/Has.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief "Has-a" utilities for detecting class internals \details "Has-a" utilities for detecting class internals @@ -40,6 +40,19 @@ template < typename T > inline constexpr bool HasTypedef_code_v = HasTypedef_code< T >::value; +//! Detect if a type defines type 'i_am_tagged_tuple' +template< typename, typename = std::void_t<> > +struct HasTypedef_i_am_tagged_tuple : std::false_type {}; + +template< typename T > +struct HasTypedef_i_am_tagged_tuple< T, + std::void_t< typename T::i_am_tagged_tuple > > : std::true_type {}; + +template < typename T > +inline constexpr bool HasTypedef_i_am_tagged_tuple_v = + HasTypedef_i_am_tagged_tuple< T >::value; + + //! Detect if a type defines function 'expect::description()' template< typename, typename = std::void_t<> > struct HasFunction_expect_description : std::false_type {}; diff --git a/src/Base/HashMapReducer.hpp b/src/Base/HashMapReducer.hpp index 002312b973d..942fb7036e7 100644 --- a/src/Base/HashMapReducer.hpp +++ b/src/Base/HashMapReducer.hpp @@ -3,7 +3,7 @@ \file src/Base/HashMapReducer.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Custom Charm++ reducer for merging std::unordered_maps across PEs \details Custom Charm++ reducer for merging std::unordered_maps across PEs. @@ -14,6 +14,7 @@ #include #include +#include #include #include "NoWarning/charm++.hpp" @@ -50,40 +51,6 @@ serialize( const std::unordered_map< Key, T, Hash, Eq >& m ) { return { sizer.size(), std::move(flatData) }; } -//! Concatenate vectors of T -//! \tparam T Vector value type -//! \param[in] src Source vector -//! \param[in,out] dst Destination vector -template< class T > -void concat( const std::vector< T >& src, std::vector< T >& dst ) { - dst.insert( end(dst), begin(src), end(src) ); -} - -//! Overwrite vectors of pair< bool, tk::real > -//! \tparam T Vector value type -//! \param[in] src Source vector -//! \param[in,out] dst Destination vector -template< class T > -void concat( const std::vector< std::pair< bool, T > >& src, - std::vector< std::pair< bool, T > >& dst ) { - dst = src; -} - -//! Concatenate unordered sets -//! \tparam Key Set key -//! \tparam Hash Set hasher -//! \tparam Eq Set equality operator -//! \param[in] src Source set -//! \param[in,out] dst Destination set -template< class Key, - class Hash = std::hash< Key >, - class Eq = std::equal_to< Key > > -void concat( const std::unordered_set< Key, Hash,Eq >& src, - std::unordered_set< Key, Hash, Eq >& dst ) -{ - dst.insert( begin(src), end(src) ); -} - //! \brief Charm++ custom reducer for merging std::unordered_maps during //! reduction across PEs //! \tparam Key Map key @@ -120,7 +87,7 @@ mergeHashMap( int nmsg, CkReductionMsg **msgs ) { PUP::fromMem curCreator( msgs[m]->getData() ); curCreator | u; // Concatenate maps - for (const auto& c : u) concat( c.second, p[c.first] ); + for (auto&& c : u) concat( std::move(c.second), p[c.first] ); } // Serialize concatenated maps to raw stream diff --git a/src/Base/If.hpp b/src/Base/If.hpp index c690c4d634c..e648a01bb70 100644 --- a/src/Base/If.hpp +++ b/src/Base/If.hpp @@ -3,7 +3,7 @@ \file src/Base/If.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Compile-time type selection \details Compile-time type selection diff --git a/src/Base/LoadDistributor.cpp b/src/Base/LoadDistributor.cpp index b533fa3a738..2a7304eaaa5 100644 --- a/src/Base/LoadDistributor.cpp +++ b/src/Base/LoadDistributor.cpp @@ -3,7 +3,7 @@ \file src/Base/LoadDistributor.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Load distributors \details Load distributors compute chunksize based on the degree of diff --git a/src/Base/LoadDistributor.hpp b/src/Base/LoadDistributor.hpp index fdd2a45f492..609bcd99445 100644 --- a/src/Base/LoadDistributor.hpp +++ b/src/Base/LoadDistributor.hpp @@ -3,7 +3,7 @@ \file src/Base/LoadDistributor.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Load distributors and partitioning data types \details Load distributors and partitioning data types. Load distributors diff --git a/src/Base/Macro.hpp b/src/Base/Macro.hpp index 16deba5ef2f..e9ba7db6000 100644 --- a/src/Base/Macro.hpp +++ b/src/Base/Macro.hpp @@ -3,7 +3,7 @@ \file src/Base/Macro.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Macro definitions \details Macro definitions for various utility functionality. diff --git a/src/Base/PUPUtil.hpp b/src/Base/PUPUtil.hpp index 9fbef76f414..bfb0fc18a38 100644 --- a/src/Base/PUPUtil.hpp +++ b/src/Base/PUPUtil.hpp @@ -3,7 +3,7 @@ \file src/Base/PUPUtil.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ Pack/UnPack utilities \details This file contains some extensions to Charm++'s Pack/UnPack diff --git a/src/Base/Particles.hpp b/src/Base/Particles.hpp index fc68852f083..0e7cf659426 100644 --- a/src/Base/Particles.hpp +++ b/src/Base/Particles.hpp @@ -3,7 +3,7 @@ \file src/Base/Particles.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Particles used to store particle data. \details Particles used to store data at particles as a specialization of diff --git a/src/Base/Print.hpp b/src/Base/Print.hpp index da3626f001f..913792d387e 100644 --- a/src/Base/Print.hpp +++ b/src/Base/Print.hpp @@ -3,7 +3,7 @@ \file src/Base/Print.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief General purpose pretty printer functionality \details This file contains general purpose printer functions. Using the @@ -18,22 +18,20 @@ #include #include #include -#include #include #include #include #include #include -#include - #include "NoWarning/format.hpp" #include "Timer.hpp" #include "Exception.hpp" #include "Has.hpp" #include "ChareState.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" +#include "TeeBuf.hpp" namespace tk { @@ -48,25 +46,35 @@ class Print { public: //! Constructor: Quiet output by default, only stuff written to qstr shown. - //! Instantiate with str = std::cout for verbose output. Any member function - //! can be called by overriding the default stream via the template - //! argument, Style, a C-style enum. Note: By default, str == std::clog. - //! This is used to initialize str to a local stringstream into which all - //! verbose output goes by default, i.e., it will not be shown. This - //! solution is chosen instead of trickery with null-streams, as - //! boost:formatted output into null-streams caused invalid reads in - //! valgrind. This way quiet output (formatted or not) simply goes into a - //! local stringstream. In other words, the default argument to str, - //! std::clog, is only used to detect whether client code passed a default - //! argument or not: if it did not, the string stream is used for verbose - //! output, if it did, the specified stream is used for the verbose output. + //! \details Instantiate with str = std::cout for verbose output. Any + // member function can be called by overriding the default stream via the + // template argument, Style, a C-style enum. Note: By default, str == + // std::clog. This is used to initialize str to a local stringstream into + // which all verbose output goes by default, i.e., it will not be shown. + // This solution is chosen instead of trickery with null-streams, as + // boost:formatted output into null-streams caused invalid reads in + // valgrind. This way quiet output (formatted or not) simply goes into a + // local stringstream. In other words, the default argument to str, + // std::clog, is only used to detect whether client code passed a default + // argument or not: if it did not, the string stream is used for verbose + // output, if it did, the specified stream is used for the verbose output. + //! \param[in] screen Screen output filename. If an empty string is passed, + //! it is assumed that client code does not want to save the stream into + //! a file. //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream - explicit Print( std::ostream& str = std::clog, + explicit Print( const std::string& screen = {}, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, std::ostream& qstr = std::cout ) : m_null(), m_stream( str.rdbuf() == std::clog.rdbuf() ? m_null : str ), - m_qstream( qstr ) {} + m_qstream( qstr ), + m_file( screen, mode ), + m_tee(m_file.rdbuf(), screen.empty() ? m_file.rdbuf() : m_stream.rdbuf()), + m_ssa( screen.empty() ? m_file : m_stream, &m_tee ) {} //! Save pointer to stream. This function, used in conjunction with reset(), //! can be used to pass streams around. This is not possible in general, @@ -195,6 +203,13 @@ class Print { void item( const std::string& name, const T& value ) const { stream() << m_item_name_value_fmt % m_item_indent % name % value; } + //! Formatted print of item with wide name: name : value + //! \param[in] name Long item name to be printed + //! \param[in] value Item value to be printed + template< Style s = VERBOSE, typename T > + void longitem( const std::string& name, const T& value ) const + { stream() << m_item_longname_value_fmt % m_item_indent % name % value; } + //! Formatted print of item: name : bool //! \param[in] name Item name to be printed //! \param[in] b Item value as bool to be printed @@ -306,16 +321,15 @@ class Print { //! \note The number of labels and values must equal. template< Style s = VERBOSE > void diag( const std::vector< std::string >& labels, - const std::vector< std::size_t >& values, + const std::vector< std::string >& values, bool precr = true ) const { Assert( labels.size() == values.size(), "Size mismatch" ); if (!labels.empty()) { stream() << (precr ? "\n" : "") << - m_inprog_diag_fmt % labels[0] % std::to_string(values[0]); + m_inprog_diag_fmt % labels[0] % values[0]; for (std::size_t i=1; i() << - m_inprog_extra_diag_fmt % labels[i] % std::to_string(values[i]); + stream() << m_inprog_extra_diag_fmt % labels[i] % values[i]; stream() << (precr ? " " : "\n") << std::flush; } } @@ -333,7 +347,8 @@ class Print { void diagend( const std::string& msg ) const { stream() << m_diag_end_fmt % msg << std::flush; } - //! ... + //! Print chare state collected + //! \param[in] state State map to print template< Style s = VERBOSE > void charestate( const std::unordered_map< int, std::vector< ChareState > >& state ) const @@ -480,7 +495,7 @@ class Print { } //! \brief Formatted print of verbose help on a single command-line - //! parameter or control file keywords + //! parameter or control file keyword //! \param[in] executable Name of executable to output help for //! \param[in] kw Keyword help struct on which help is to be printed template< Style s = VERBOSE, class HelpKw > @@ -787,6 +802,7 @@ class Print { mutable format m_description_fmt = format("%s\n\n"); mutable format m_item_name_fmt = format("%s%-40s : "); mutable format m_item_name_value_fmt = format("%s%-40s : %s\n"); + mutable format m_item_longname_value_fmt = format("%s%-55s : %s\n"); mutable format m_item_name_watch_fmt = format("%s%-75s : %d:%d:%d\n"); mutable format m_item_name_perf_fmt = format("%s%-75s : %s\n"); mutable format m_item_widename_value_fmt = format("%s%-75s : %s\n"); @@ -800,6 +816,11 @@ class Print { std::stringstream m_null; //!< Default verbose stream std::ostream& m_stream; //!< Verbose stream std::ostream& m_qstream; //!< Quiet stream + + private: + std::ofstream m_file; //!< File stream to save verbose stream in + tk::teebuf m_tee; //!< Used to tie m_stream and m_file + tk::scoped_streambuf_assignment m_ssa; }; } // tk:: diff --git a/src/Base/StrConvUtil.cpp b/src/Base/PrintUtil.cpp similarity index 67% rename from src/Base/StrConvUtil.cpp rename to src/Base/PrintUtil.cpp index 7b18dfe9e55..ad1e295b5cd 100644 --- a/src/Base/StrConvUtil.cpp +++ b/src/Base/PrintUtil.cpp @@ -1,9 +1,9 @@ // ***************************************************************************** /*! - \file src/Base/StrConvUtil.cpp + \file src/Base/PrintUtil.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief String conversion utilities \details Various string conversion utilities. @@ -14,7 +14,7 @@ #include #include -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" std::string tk::splitLines( std::string str, @@ -64,3 +64,27 @@ tk::splitLines( std::string str, return os.str(); } + +std::string +tk::baselogname( const std::string& executable ) +// ***************************************************************************** +// Calculate base log file name +//! \param[in] executable Name of the executable +//! \return Base log file name +// ***************************************************************************** +{ + return executable + "_screen.log"; +} + +std::string +tk::logname( const std::string& executable, int numrestart ) +// ***************************************************************************** +// Construct log file name +//! \param[in] executable Name of the executable +//! \param[in] numrestart Number of times restarted +//! \return The name of the log file to use +// ***************************************************************************** +{ + return baselogname( executable ) + + (numrestart ? '.' + std::to_string(numrestart) : "" ); +} diff --git a/src/Base/PrintUtil.hpp b/src/Base/PrintUtil.hpp new file mode 100644 index 00000000000..153b3f4845a --- /dev/null +++ b/src/Base/PrintUtil.hpp @@ -0,0 +1,108 @@ +// ***************************************************************************** +/*! + \file src/Base/PrintUtil.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief String conversion utilities + \details Various string conversion utilities. +*/ +// ***************************************************************************** +#ifndef PrintUtil_h +#define PrintUtil_h + +#include +#include +#include +#include +#include + +#include "Has.hpp" + +namespace tk { + +//! Operator << for writing an enum class to an output stream +//! \param[in] os Output stream into to write to +//! \param[in] e Value of enum-class type to write to stream +//! \return Updated output stream for chain-use of the operator +template< typename Enum, typename Ch, typename Tr, + typename std::enable_if_t< std::is_enum_v, int > = 0 > +inline std::basic_ostream< Ch, Tr >& +operator<< ( std::basic_ostream< Ch, Tr >& os, const Enum& e ) { + os << static_cast< unsigned int >( e ); + return os; +} + +//! Operator << for writing a std::vector to an output stream +//! \param[in] os Output stream to write to +//! \param[in] v Vector to write to stream +//! \return Updated output stream for chain-use of the operator +template< class T, typename Ch, typename Tr > +inline std::basic_ostream< Ch, Tr >& +operator<< ( std::basic_ostream< Ch, Tr >& os, const std::vector< T >& v ) { + os << std::boolalpha; + os << "[ "; + for (const auto& p : v) os << p << ' '; + os << ']'; + return os; +} + +//! Operator << for writing an std::map to an output stream +//! \param[in] os Output stream to write to +//! \param[in] m Map to write to stream +//! \return Updated output stream for chain-use of the operator +template< typename Ch, typename Tr, + class Key, class Value, class Compare = std::less< Key > > +inline std::basic_ostream< Ch, Tr >& +operator<< ( std::basic_ostream< Ch, Tr >& os, + const std::map< Key, Value, Compare >& m ) +{ + if constexpr( tk::HasTypedef_i_am_tagged_tuple_v< Value > ) + for (const auto& [k,v] : m) os << '(' << k << ") : { " << v << "} "; + else + for (const auto& [k,v] : m) os << '(' << k << ") " << v << ' '; + return os; +} + +//! Operator << for adding (concatenating) T to a std::basic_string for lvalues. +//! \param[in] lhs Output std::basic_string into which e is written +//! \param[in] e Value of arbitrary type to write to string +//! \return Updated string +template< typename T, typename Ch, typename Tr > +std::basic_string< Ch, Tr > +operator<< ( std::basic_string< Ch, Tr >& lhs, const T& e ) { + std::stringstream ss; + ss << lhs << e; + lhs = ss.str(); + return lhs; +} + +//! Operator << for adding (concatenating) T to a std::basic_string for rvalues. +//! \param[in] lhs Output std::basic_string into which e is written +//! \param[in] e Value of arbitrary type to write to string +//! \return Updated string +template< typename T, typename Ch, typename Tr > +std::basic_string< Ch, Tr > +operator<< ( std::basic_string< Ch, Tr >&& lhs, const T& e ) { + return lhs << e; +} + +//! Clean up whitespaces and format a long string into multiple lines +std::string +splitLines( std::string str, + std::string indent, + const std::string& name = "", + std::size_t width = 80 ); + +// Calculate base log file name +std::string +baselogname( const std::string& executable ); + +//! Construct log file name +std::string +logname( const std::string& executable, int numrestart = 0 ); + +} // tk:: + +#endif // PrintUtil_h diff --git a/src/Base/ProcessControl.cpp b/src/Base/ProcessControl.cpp index 0561a8d2f5a..0e2bc4c2a79 100644 --- a/src/Base/ProcessControl.cpp +++ b/src/Base/ProcessControl.cpp @@ -3,7 +3,7 @@ \file src/Base/ProcessControl.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief POSIX process control wrapper definitions \details POSIX process control wrapper definitions. diff --git a/src/Base/ProcessControl.hpp b/src/Base/ProcessControl.hpp index 8aa3ed94d50..f8ca00662e0 100644 --- a/src/Base/ProcessControl.hpp +++ b/src/Base/ProcessControl.hpp @@ -3,7 +3,7 @@ \file src/Base/ProcessControl.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief POSIX process control wrapper definitions \details POSIX process control wrapper definitions. diff --git a/src/Base/ProcessException.cpp b/src/Base/ProcessException.cpp index 76c4b50195a..985352b6577 100644 --- a/src/Base/ProcessException.cpp +++ b/src/Base/ProcessException.cpp @@ -3,7 +3,7 @@ \file src/Base/ProcessException.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Process an exception \details This file contains the implementation of processing an exception. @@ -21,12 +21,14 @@ #include #include #include +#include #include "NoWarning/charm.hpp" #include "NoWarning/mpi.hpp" #include "Exception.hpp" #include "ProcessException.hpp" +#include "QuinoaConfig.hpp" namespace tk { @@ -53,9 +55,11 @@ signalHandler( int signum ) const char* name = nullptr; switch( signum ) { case SIGABRT: name = "SIGABRT"; break; - case SIGSEGV: name = "SIGSEGV"; break; - case SIGILL: name = "SIGILL"; break; case SIGFPE: name = "SIGFPE"; break; + case SIGILL: name = "SIGILL"; break; + case SIGINT: name = "SIGINT"; break; + case SIGSEGV: name = "SIGSEGV"; break; + case SIGTERM: name = "SIGTERM"; break; } // Echo what signal is caught @@ -86,9 +90,15 @@ setSignalHandlers() } ); signal( SIGABRT, tk::signalHandler ); - signal( SIGSEGV, tk::signalHandler ); - signal( SIGILL, tk::signalHandler ); signal( SIGFPE, tk::signalHandler ); + signal( SIGILL, tk::signalHandler ); + signal( SIGINT, tk::signalHandler ); + signal( SIGSEGV, tk::signalHandler ); + signal( SIGTERM, tk::signalHandler ); + + #if !defined(__APPLE__) && !defined(HOST_OS_ALPINE) + feenableexcept( FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW ); + #endif return 0; } diff --git a/src/Base/ProcessException.hpp b/src/Base/ProcessException.hpp index 0cff97eea85..9c908b3be71 100644 --- a/src/Base/ProcessException.hpp +++ b/src/Base/ProcessException.hpp @@ -3,7 +3,7 @@ \file src/Base/ProcessException.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Process an exception definition \details This file contains the definition of processing an exception. diff --git a/src/Base/Progress.hpp b/src/Base/Progress.hpp index 006344d645f..5e279d71fca 100644 --- a/src/Base/Progress.hpp +++ b/src/Base/Progress.hpp @@ -3,7 +3,7 @@ \file src/Base/Progress.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Simple progress indicator \details Simple progress indicator. @@ -23,7 +23,7 @@ namespace tk { //! Simple progress class for outputing progress indicators during a task //! \details This is a helper class to abstract away the details of using -//! tk::Print::progress() used to output progress reports to the screen during +//! Print::progress() used to output progress reports to the screen during //! a task consisting of multiple sub-tasks happening at the same time. The //! template argument is a compile-time integer which is the number of //! independent sub-tasks the progress indicator receives messages for and @@ -33,19 +33,16 @@ class Progress { public: //! Constructor - //! \param[in] print Pretty printer object to use for printing progress //! \param[in] feedback Whether to send sub-task feedback to host //! \param[in] prefix Strings to output prefixing the progress report //! \param[in] legend Legend for each prefix to output at start //! \param[in] max Array of integers equaling the max number of items to be //! expected per sub-task - explicit Progress( const tk::Print& print, - bool feedback, + explicit Progress( bool feedback, const std::array< std::string, N >& prefix, const std::array< std::string, N >& legend, std::array< int, N >&& max = std::array< int, N >() ) - : m_print( print ), - m_feedback( feedback ), + : m_feedback( feedback ), m_prefix( std::move(prefix) ), m_legend( std::move(legend) ), m_finished( false ), @@ -56,22 +53,28 @@ class Progress { } //! Start counting sub-tasks outputing an intial task message + //! \param[in] print Pretty printer object to use for printing progress //! \param[in] msg Message to output to screen. This message should be //! descriptive of all the sub-tasks we are responsible for. I.e., this //! is usually a list of multiple sub-tasks happening at the same time. //! Appending to msg we also output the legend of subtasks in parentheses. - void start( const std::string& msg ) { - std::string legend( " (" ); - for (const auto& l : m_legend) legend.append( l + ", " ); - legend.pop_back(); - legend.pop_back(); - legend.append( ") ... " ); - m_print.diagstart( msg + legend ); + void start( const Print& print, const std::string& msg ) { + std::string legend; + if (m_feedback) { + legend.append( " (" ); + for (const auto& l : m_legend) legend.append( l + ", " ); + legend.pop_back(); + legend.pop_back(); + legend.append( ")" ); + } + legend.append( " ..." ); + print.diagstart( msg + legend ); m_progress_size = 0; } //! \brief Start counting sub-tasks outputing an intial task message and set //! max number of items to be expected per sub-task + //! \param[in] print Pretty printer object to use for printing progress //! \param[in] msg Message to output to screen. This message should be //! descriptive of all the sub-tasks we are responsible for. I.e., this //! is usually a list of multiple sub-tasks happening at the same time. @@ -80,21 +83,26 @@ class Progress { //! \details This function can be used to do the same as start( msg ) and //! update/reset the max number of items per sub-task in case they are not //! all yet available when the constructor is called. - void start( const std::string& msg, std::array< int, N >&& max ) { + void start( const Print& print, + const std::string& msg, + std::array< int, N >&& max ) + { m_max = std::move(max); - start( msg ); + start( print, msg ); } //! Receive an update to a sub-task counter and update progress report + //! \param[in] print Pretty printer object to use for printing progress //! \details The template argument indexes the sub-task. A compile-time //! assert emits an error in case it is out of bounds. - template< std::size_t i > void inc() { + template< std::size_t i > void inc( const Print& print ) { static_assert( i < N, "Indexing out of bounds" ); ++m_done[i]; - if (!m_finished) report(); + if (!m_finished) report( print ); } //! Finish progress report updating it one last time + //! \param[in] print Pretty printer object to use for printing progress //! \details When this function is called, all sub-tasks are assumed to be //! finished, i.e., assumed to have reached their respective maximum //! values. Thus we update our 'done' array to be equal to 'max' and output @@ -107,15 +115,14 @@ class Progress { //! is the case, this call "officially" finishes all sub-tasks, and outputs //! the progress report using the max values for all sub-tasks to leave a //! consistent screen output finishing the task. - void end() { + void end( const Print& print ) { m_finished = true; m_done = m_max; - report(); - m_print.diagend( "done" ); + report( print ); + print.diagend( "done" ); } private: - const tk::Print& m_print; //!< Pretty printer to use for screen output bool m_feedback; //!< Whether to send sub-task feedback to host const std::array< std::string, N > m_prefix; //!< Sub-task prefixes const std::array< std::string, N > m_legend; //!< Sub-task legend @@ -125,12 +132,13 @@ class Progress { std::array< int, N > m_done;//!< Number of items done per sub-task //! Output progress report to screen + //! \param[in] print Pretty printer object to use for printing progress //! \details This output contains a status on each of the multiple sub-task //! counters as they all work towards their respective maxima. - //! \see tk::Print::progress() - void report() { + //! \see Print::progress() + void report( const Print& print ) { if (m_feedback) - m_print.progress< N >( m_prefix, m_done, m_max, m_progress_size ); + print.progress< N >( m_prefix, m_done, m_max, m_progress_size ); } }; diff --git a/src/Base/QEndian.hpp b/src/Base/QEndian.hpp index 7faf9126d18..7fa98693e14 100644 --- a/src/Base/QEndian.hpp +++ b/src/Base/QEndian.hpp @@ -3,7 +3,7 @@ \file src/Base/QEndian.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Swap endianness \details Swap endianness. Thanks to http://stackoverflow.com/a/4956493 and diff --git a/src/Base/Reader.cpp b/src/Base/Reader.cpp index 8dc8d5a3603..9c508ed90c5 100644 --- a/src/Base/Reader.cpp +++ b/src/Base/Reader.cpp @@ -3,7 +3,7 @@ \file src/Base/Reader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Reader class definition \details Reader base class declaration. Reader base servers as a base class diff --git a/src/Base/Reader.hpp b/src/Base/Reader.hpp index 9b810270911..33693ded07d 100644 --- a/src/Base/Reader.hpp +++ b/src/Base/Reader.hpp @@ -3,7 +3,7 @@ \file src/Base/Reader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Reader base class declaration \details Reader base class declaration. Reader base serves as a base class diff --git a/src/Base/StrConvUtil.hpp b/src/Base/StrConvUtil.hpp deleted file mode 100644 index 0792c5c211b..00000000000 --- a/src/Base/StrConvUtil.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// ***************************************************************************** -/*! - \file src/Base/StrConvUtil.hpp - \copyright 2012-2015 J. Bakosi, - 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. - All rights reserved. See the LICENSE file for details. - \brief String conversion utilities - \details Various string conversion utilities. -*/ -// ***************************************************************************** -#ifndef StrConvUtil_h -#define StrConvUtil_h - -#include -#include - -namespace tk { - -//! Delegate operator << to default for writing non-enums to output streams. -//! \param[in] os Output stream into which t is written -//! \param[in] e Value of arbitrary non-enum-class type to write to stream -//! \return Updated output stream for chain-use of the operator -template< typename T, typename Ch, typename Tr > -inline std::basic_ostream< Ch, Tr >& -operator<< ( std::basic_ostream< Ch, Tr >& os, const T& e ) { - if constexpr( std::is_enum_v ) - os << static_cast< unsigned int >( e ); - else - os << e; - return os; -} - -//! Operator << for adding (concatenating) T to a std::basic_string for lvalues. -//! \param[in] lhs Output std::basic_string into which e is written -//! \param[in] e Value of arbitrary type to write to string -//! \return Updated string -template< typename T, typename Ch, typename Tr > -std::basic_string< Ch, Tr > -operator<< ( std::basic_string< Ch, Tr >& lhs, const T& e ) { - std::stringstream ss; - ss << lhs << e; - lhs = ss.str(); - return lhs; -} - -//! Operator << for adding (concatenating) T to a std::basic_string for rvalues. -//! \param[in] lhs Output std::basic_string into which e is written -//! \param[in] e Value of arbitrary type to write to string -//! \return Updated string -template< typename T, typename Ch, typename Tr > -std::basic_string< Ch, Tr > -operator<< ( std::basic_string< Ch, Tr >&& lhs, const T& e ) { - return lhs << e; -} - -//! Clean up whitespaces and format a long string into multiple lines -std::string -splitLines( std::string str, - std::string indent, - const std::string& name = "", - std::size_t width = 80 ); - -} // tk:: - -#endif // StrConvUtil_h diff --git a/src/Base/Table.cpp b/src/Base/Table.cpp index d2f41f821f9..44d531c2dac 100644 --- a/src/Base/Table.cpp +++ b/src/Base/Table.cpp @@ -3,7 +3,7 @@ \file src/Base/Table.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Basic functionality for storing and sampling a discrete y = f(x) function diff --git a/src/Base/Table.hpp b/src/Base/Table.hpp index 21919a4bf12..af6d5ac0ca4 100644 --- a/src/Base/Table.hpp +++ b/src/Base/Table.hpp @@ -3,7 +3,7 @@ \file src/Base/Table.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Basic functionality for storing and sampling a discrete y = f(x) function diff --git a/src/Base/TaggedTuple.hpp b/src/Base/TaggedTuple.hpp index 2912ecd49bf..1a3155247e3 100644 --- a/src/Base/TaggedTuple.hpp +++ b/src/Base/TaggedTuple.hpp @@ -3,7 +3,7 @@ \file src/Base/TaggedTuple.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Tagged tuple allowing tag-based access \details Tagged tuple allowing tag-based access. This is very much like @@ -28,6 +28,7 @@ #include #include + #include "NoWarning/any.hpp" #include "NoWarning/partition.hpp" #include "NoWarning/index_of.hpp" @@ -51,31 +52,34 @@ class TaggedTuple{ template< typename T > using is_odd = brigand::size_t< (brigand::index_of::value%2) != 0 >; - //! Partition a type list into lists of even and odd types + //! Partition a type list into two lists with the even and the odd types using Pair = brigand::partition< List, brigand::bind >; //! List of member types using Data = typename Pair::first_type; - //! List of keys - using Keys = typename Pair::second_type; - //! Tuple of member types using Tuple = brigand::as_tuple< Data >; //! False-overload for detecting if T is a tagged tuple template< typename T, typename = std::void_t<> > - struct is_tagged_tuple : std::false_type {}; + struct is_tagged_tuple_t : std::false_type {}; //! True-overload for detecting if T is a tagged tuple template< typename T > - struct is_tagged_tuple< T, std::void_t< typename T::i_am_tagged_tuple > > + struct is_tagged_tuple_t< T, std::void_t< typename T::i_am_tagged_tuple > > : std::true_type {}; //! Member data as a tuple Tuple m_members; public: + //! List of key-value pairs + using PairList = List; + + //! List of keys + using Keys = typename Pair::second_type; + //! Typedef defining self for identifying self using i_am_tagged_tuple = void; @@ -84,6 +88,12 @@ class TaggedTuple{ using TupleElement = std::tuple_element_t< brigand::index_of::value, Tuple >; + //! Query if the type behind Tag is a TaggedTuple + //! Usage: if constexpr( is_tagged_tuple::value ) { ... } + template< typename Tag > + using is_tagged_tuple = + is_tagged_tuple_t< std::decay_t< TupleElement > >; + //! Default constructor explicit TaggedTuple() = default; //! Initializer constructor @@ -96,8 +106,7 @@ class TaggedTuple{ template< typename Tag, typename... Tags > const auto& get() const noexcept { constexpr std::size_t idx = brigand::index_of< Keys, Tag >::value; - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) return std::get< idx >( m_members ).template get< Tags... >(); else return std::get< idx >( m_members ); @@ -107,8 +116,7 @@ class TaggedTuple{ template< typename Tag, typename... Tags > auto& get() noexcept { constexpr std::size_t idx = brigand::index_of< Keys, Tag >::value; - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) return std::get< idx >( m_members ).template get< Tags... >(); else return std::get< idx >( m_members ); @@ -118,8 +126,7 @@ class TaggedTuple{ //! \param[in] value Value to convert and store template< typename Tag, typename... Tags > void store( const std::string& value ) noexcept { - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) { using T = std::remove_reference_t< decltype( get() ) >; get< Tag, Tags... >() = convert< T >( value ); @@ -133,8 +140,7 @@ class TaggedTuple{ //! \param[in] value Value to convert and store template< typename Tag, typename... Tags > void store_back( const std::string& value ) noexcept { - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) { using T = typename std::remove_reference_t< decltype( get() ) >::value_type; @@ -146,13 +152,24 @@ class TaggedTuple{ } } + //! Convert bool and push back, converting from string, to vector of ints + //! \param[in] value Value to convert and store + template< typename Tag, typename... Tags > + void store_back_bool( const std::string& value ) noexcept { + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) + { + get< Tag, Tags... >().push_back( convert_bool( value ) ); + } else { + get< Tag >().push_back( convert_bool( value ) ); + } + } + //! \brief Convert and push back value, converting from string, to back of //! a nested vector //! \param[in] value Value to convert and store template< typename Tag, typename... Tags > void store_back_back( const std::string& value ) noexcept { - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) { using T = typename std::remove_reference_t< decltype( get() ) >::value_type::value_type; @@ -169,8 +186,7 @@ class TaggedTuple{ //! \param[in] value Value to convert and store template< typename Tag, typename... Tags > void store_back_back_back( const std::string& value ) noexcept { - if constexpr( is_tagged_tuple>>::value and - sizeof...(Tags) != 0 ) + if constexpr( is_tagged_tuple::value and sizeof...(Tags) != 0 ) { using T = typename std::remove_reference_t< decltype( get() ) >::value_type::value_type::value_type; @@ -242,8 +258,7 @@ class TaggedTuple{ friend void operator|( PUP::er& p, TaggedTuple& t ) { t.pup(p); } //@} - //! \brief Convert string to a type given by the template argument using - //! std::stringstream + //! Convert/parse string to and return as type given by template argument //! \param[in] str String to convert //! \return A value of type given by the template argument template< typename type > @@ -256,6 +271,28 @@ class TaggedTuple{ "' to typeid " + typeid(num).name() ); return num; } + + //! Convert/parse string to bool and return as int + //! \param[in] str String to convert + //! \return Bool parsed from str returned as an int + //! \details Parsing a bool from a string, e.g., "true" or "false" is + //! special compared to the above convert template, because the type into + //! which we parse to (from stringstream) must be bool, but its value must + //! be returned as an int. Input data stored this way ensures that the + //! data is stored as an int and not a bool, which could be problematic if + //! stored in a std::vector. Using this function via store_back_bool is a + //! better way to achieve type-safety of the user input and ensures data + //! does not get corrupted during Charm++ serialization as distributed to + //! multiple PEs. + int convert_bool( const std::string& str ) { + std::stringstream ss( str ); + bool num; + ss >> std::boolalpha >> num; + if (ss.fail()) + Throw( "Failed to convert '" + str + + "' to typeid " + typeid(num).name() ); + return num; + } }; } // tk:: diff --git a/src/Base/TaggedTupleDeepPrint.hpp b/src/Base/TaggedTupleDeepPrint.hpp new file mode 100644 index 00000000000..2ce9abaa937 --- /dev/null +++ b/src/Base/TaggedTupleDeepPrint.hpp @@ -0,0 +1,101 @@ +// ***************************************************************************** +/*! + \file src/Base/TaggedTupleDeepPrint.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Structured TaggedTuple printer with depth/indentation + \details Structured TaggedTuple printer with depth/indentation. +*/ +// ***************************************************************************** +#ifndef TaggedTupleDeepPrint_h +#define TaggedTupleDeepPrint_h + +#include + +#include +#include + +#include "NoWarning/format.hpp" +#include "NoWarning/set.hpp" + +#include "Has.hpp" + +// The include order here is important: it populates the overloads of +// operator<< for various types, followed by TaggedTuple, the (simple) +// TaggedTuplePrint (which will be accessible by the upstream, simpler +// operator<< for vector, map, etc.) and finally, the most complex TaggedTuple +// printer with depth, defined below. +#include "PrintUtil.hpp" +#include "TaggedTuple.hpp" +#include "TaggedTuplePrint.hpp" + +namespace tk { + +//! Function object type to print contents of a TaggedTuple at depth +//! \details Compared to tk::TuplePrinter this prints every key and value +//! in a new line and nested tagged tuples starts at increasing depths +//! (indents). +//! \tparam List brigand::list of types in the tagged tuple +//! \tparam Ignore brigand::list of types to not print +template< class List, class Ignore = brigand::set<> > +struct DeepTuplePrinter { + std::ostream& os; + const tk::TaggedTuple< List >& tuple; + std::size_t& depth; + //! Constructor + DeepTuplePrinter( std::ostream& s, const tk::TaggedTuple< List >& t, + std::size_t& d ) : os(s), tuple(t), depth(d) {} + //! Function call operator templated on the type being output + template< typename Key > void operator()( brigand::type_ ) { + using ignored = brigand::has_key< Ignore, Key >; + if constexpr( std::is_same_v< ignored, brigand::false_type > ) { + using Tuple = tk::TaggedTuple< List >; + const auto& key = Key::name(); + const auto& value = tuple.template get< Key >(); + if constexpr( Tuple::template is_tagged_tuple< Key >::value ) { + std::string indent( depth * 2, ' ' ); + os << '\n' << indent << '\'' << key << "' {"; + using ituple = typename Tuple::template TupleElement< Key >; + using ikeys = typename ituple::Keys; + using ilist = typename ituple::PairList; + brigand::for_each< ikeys >( + DeepTuplePrinter< ilist, Ignore >( os, value, ++depth ) ); + os << '\n' << indent << '}'; + --depth; + } else { + std::string indent( depth * 2, ' ' ); + os << boost::format("\n%s%-15s : ") % indent % key; + os << std::boolalpha << value; + } + } + } +}; + +//! Output command line object (a TaggedTuple) to file +//! \tparam Tuple Tuple object type +//! \param[in,out] os Output stream to print to +//! \param[in] name Name of (root) Tuple +//! \param[in] c Command line object to output to file +template< class Tuple > +void print( std::ostream& os, const std::string& name, const Tuple& c ) { + static_assert( tk::HasTypedef_i_am_tagged_tuple_v< Tuple > ); + using Keys = typename Tuple::Keys; + using Ignore = typename Tuple::ignore; + using List = typename Tuple::PairList; + os << "# vim: filetype=sh:\n#\n" + "# Contents of a tagged tuple.\n#\n" + "# A string in single quotes denotes the name/tag of a (nested)\n" + "# tagged tuple. The contents of tuples are enclosed within braces.\n" + "# Vectors are enclosed within square brackets. Keys of associative\n" + "# containers are in paretheses.\n\n"; + os << '\'' << name << "' {"; + std::size_t depth = 1; + brigand::for_each< Keys >( DeepTuplePrinter< List, Ignore >( os, c, depth ) ); + os << "\n}"; +} + +} // tk:: + +#endif // TaggedTupleDeepPrint_h diff --git a/src/Base/TaggedTuplePrint.hpp b/src/Base/TaggedTuplePrint.hpp new file mode 100644 index 00000000000..e93764ff44a --- /dev/null +++ b/src/Base/TaggedTuplePrint.hpp @@ -0,0 +1,80 @@ +// ***************************************************************************** +/*! + \file src/Base/TaggedTuplePrint.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Simple (unformatted, one-line) TaggedTuple printer + \details Simple (unformatted, one-line) TaggedTuple printer. +*/ +// ***************************************************************************** +#ifndef TaggedTuplePrint_h +#define TaggedTuplePrint_h + +#include + +#include +#include + +#include "NoWarning/set.hpp" +#include "TaggedTuple.hpp" + +namespace tk { + +//! Function object type to print contents of a TaggedTuple +//! \tparam List brigand::list of types in the tagged tuple +//! \tparam Ignore brigand::list of types to not print +template< class List, class Ignore = brigand::set<> > +struct TuplePrinter { + std::ostream& os; + const tk::TaggedTuple< List >& tuple; + //! Constructor + TuplePrinter( std::ostream& s, const tk::TaggedTuple< List >& t ) : + os(s), tuple(t) {} + //! Function call operator templated on the type being output + template< typename Key > void operator()( brigand::type_ ) { + using ignored = brigand::has_key< Ignore, Key >; + if constexpr( std::is_same_v< ignored, brigand::false_type > ) { + using Tuple = tk::TaggedTuple< List >; + const auto& key = Key::name(); + const auto& value = tuple.template get< Key >(); + if constexpr( Tuple::template is_tagged_tuple< Key >::value ) + os << key << ": { " << value << "} "; + else + os << key << ": '" << value << "' "; + } + } +}; + +//! Simple (unformatted, one-line) output of a TaggedTuple to output stream +//! \tparam List brigand::list of types in the tagged tuple +//! \param[in,out] os Output stream to output to +//! \param[in] t TaggedTuple to print +//! \return Output stream +template< class List > +inline std::ostream& +operator<< ( std::ostream& os, const tk::TaggedTuple< List >& t ) { + using keys = typename tk::TaggedTuple< List >::Keys; + os << std::boolalpha; + brigand::for_each< keys >( TuplePrinter< List >( os, t ) ); + return os; +} + +//! \brief Simple (unformatted, one-line) output of a TaggedTuple to output +//! stream with ignore +//! \tparam List brigand::list of types in the tagged tuple +//! \tparam Ignore brigand::list of types to not print +//! \param[in,out] os Output stream to output to +//! \param[in] t TaggedTuple to print +template< class List, class Ignore = brigand::set<> > +inline void +print( std::ostream& os, const tk::TaggedTuple< List >& t ) { + using keys = typename tk::TaggedTuple< List >::Keys; + os << std::boolalpha; + brigand::for_each< keys >( TuplePrinter< List, Ignore >( os, t ) ); +} + +} // tk:: + +#endif // TaggedTuplePrint_h diff --git a/src/Base/TeeBuf.hpp b/src/Base/TeeBuf.hpp new file mode 100644 index 00000000000..d19dc3db821 --- /dev/null +++ b/src/Base/TeeBuf.hpp @@ -0,0 +1,119 @@ +// ***************************************************************************** +/*! + \file src/Base/TeeBuf.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Tee stream buffer + \details Tee stream buffer that can be used to duplicate a stream. Example: + \code{.cpp} + // createa a file + std::ofstream file( "data.txt" ); + // tbuf will write to both file and cout + teebuf tbuf( file.rdbuf(), std::cout.rdbuf() ); + // replace cout's streambuf with tbuf + scoped_streambuf_assignment ssa( std::cout, &tbuf ); + // write to both std::cout and data.txt + std::cout << "Hello World" << std::endl; + \endcode +*/ +// ***************************************************************************** +#ifndef Tee_h +#define Tee_h + +#include +#include +#include +#include + +namespace tk { + +template< class charT, class traits = std::char_traits > +class basic_teebuf : public std::basic_streambuf< charT, traits > { + + public: + using char_type = charT; + using int_type = typename traits::int_type; + using pos_type = typename traits::pos_type; + using off_type = typename traits::off_type; + using traits_type = traits; + using streambuf_type = std::basic_streambuf< charT, traits >; + + private: + streambuf_type* m_sbuf1; + streambuf_type* m_sbuf2; + std::unique_ptr< char_type[] > m_buffer; + + enum { BUFFER_SIZE = 4096 / sizeof( char_type ) }; + + public: + basic_teebuf( streambuf_type *sbuf1, streambuf_type *sbuf2 ) + : m_sbuf1( sbuf1 ), m_sbuf2( sbuf2 ), + m_buffer( std::make_unique< char_type[] >( BUFFER_SIZE ) ) + { this->setp( m_buffer.get(), m_buffer.get() + BUFFER_SIZE ); } + + ~basic_teebuf() { + this->pubsync(); + } + + protected: + virtual int_type overflow( int_type c = traits_type::eof() ) { + // empty our buffer into m_sbuf1 and m_sbuf2 + std::streamsize n = + static_cast< std::streamsize >( this->pptr() - this->pbase() ); + std::streamsize size1 = m_sbuf1->sputn( this->pbase(), n ); + std::streamsize size2 = m_sbuf2->sputn( this->pbase(), n ); + if ( size1 != n || size2 != n ) return traits_type::eof(); + + // reset our buffer + this->setp( m_buffer.get(), m_buffer.get() + BUFFER_SIZE ); + + // write the passed character if necessary + if ( !traits_type::eq_int_type(c, traits_type::eof()) ) { + traits_type::assign( *this->pptr(), traits_type::to_char_type(c) ); + this->pbump(1); + } + + return traits_type::not_eof(c); + } + + virtual int sync() { + // flush our buffer into m_sbuf1 and m_sbuf2 + int_type c = this->overflow(traits_type::eof()); + + // checking return for eof. + if (traits_type::eq_int_type(c, traits_type::eof())) + return -1; + + // flush m_sbuf1 and m_sbuf2 + if (m_sbuf1->pubsync() == -1 || m_sbuf2->pubsync() == -1) + return -1; + + return 0; + } +}; + +using teebuf = basic_teebuf< char >; +using wteebuf = basic_teebuf< wchar_t >; + +template< class charT, class traits = std::char_traits< charT > > +struct scoped_basic_streambuf_assignment { + using stream_type = std::basic_ios< charT, traits >; + using streambuf_type = std::basic_streambuf< charT, traits >; + + stream_type& m_s; + streambuf_type* m_orig_sb; + + scoped_basic_streambuf_assignment( stream_type &s, streambuf_type *new_sb ) + : m_s(s) { m_orig_sb = m_s.rdbuf( new_sb ); } + + ~scoped_basic_streambuf_assignment() { m_s.rdbuf( m_orig_sb ); } +}; + +using scoped_streambuf_assignment = scoped_basic_streambuf_assignment; +using scoped_wstreambuf_assignment = scoped_basic_streambuf_assignment; + +} // tk:: + +#endif // TeeBuf_h diff --git a/src/Base/Timer.cpp b/src/Base/Timer.cpp index c4b4ccde850..b129ddc76a7 100644 --- a/src/Base/Timer.cpp +++ b/src/Base/Timer.cpp @@ -3,7 +3,7 @@ \file src/Base/Timer.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Timer definition \details Timer definition. Timer is a simple class to do timing various @@ -15,6 +15,7 @@ #include #include +#include #include "Timer.hpp" @@ -68,10 +69,14 @@ Timer::eta( tk::real term, tk::real time, uint64_t nstep, uint64_t it, // Compute time difference between start and now in seconds elapsed = clock::now() - m_start; - // Estimate time until term in seconds - Dsec est_term = elapsed * (term-time) / time; // Estimate time until nstep in seconds Dsec est_nstep = elapsed * static_cast(nstep-it) / it; + // Estimate time until term in seconds + tk::real eps = std::numeric_limits< real >::epsilon(); + tk::real large = std::numeric_limits< real >::max() - 1; + Dsec est_term = std::abs(time) > eps && term < large ? + elapsed * (term-time) / time : + est_nstep; // Time stepping will stop at term or nstep, whichever is sooner estimated = min(est_term, est_nstep); diff --git a/src/Base/Timer.hpp b/src/Base/Timer.hpp index 1919ba6e8d1..3d5c457e728 100644 --- a/src/Base/Timer.hpp +++ b/src/Base/Timer.hpp @@ -3,7 +3,7 @@ \file src/Base/Timer.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Timer declaration \details Timer declaration. Timer is a simple class to do timing various @@ -16,7 +16,6 @@ #define Timer_h #include -#include // for move, enable_if<>::type #include #include "NoWarning/pup.hpp" // for er diff --git a/src/Base/Types.hpp b/src/Base/Types.hpp index aaf740ddc58..5089d464e6c 100644 --- a/src/Base/Types.hpp +++ b/src/Base/Types.hpp @@ -3,7 +3,7 @@ \file src/Base/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Toolkit-level type definitions \details Toolkit-level type definitions diff --git a/src/Base/Vector.cpp b/src/Base/Vector.cpp deleted file mode 100644 index 82f71e663d4..00000000000 --- a/src/Base/Vector.cpp +++ /dev/null @@ -1,243 +0,0 @@ -// ***************************************************************************** -/*! - \file src/Base/Vector.cpp - \copyright 2012-2015 J. Bakosi, - 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. - All rights reserved. See the LICENSE file for details. - \brief Vector algebra - \details Vector algebra. -*/ -// ***************************************************************************** - -#include -#include - -#include "Vector.hpp" - -std::array< tk::real, 3 > -tk::cross( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ) -// ***************************************************************************** -// Compute the cross-product of two vectors -//! \param[in] v1 1st vector -//! \param[in] v2 2nd vector -//! \return Cross-product -// ***************************************************************************** -{ - return {{ v1[1]*v2[2] - v2[1]*v1[2], - v1[2]*v2[0] - v2[2]*v1[0], - v1[0]*v2[1] - v2[0]*v1[1] }}; -} - -std::array< tk::real, 3 > -tk::crossdiv( const std::array< real, 3 >& v1, - const std::array< real, 3 >& v2, - real j ) -// ***************************************************************************** -// Compute the cross-product of two vectors divided by a scalar -//! \param[in] v1 1st vector -//! \param[in] v2 2nd vector -//! \param[in] j Scalar to divide each component by -//! \return Cross-product divided by scalar -// ***************************************************************************** -{ - return {{ (v1[1]*v2[2] - v2[1]*v1[2]) / j, - (v1[2]*v2[0] - v2[2]*v1[0]) / j, - (v1[0]*v2[1] - v2[0]*v1[1]) / j }}; -} - -tk::real -tk::dot( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ) -// ***************************************************************************** -// Compute the dot-product of two vectors -//! \param[in] v1 1st vector -//! \param[in] v2 2nd vector -//! \return Dot-product -// ***************************************************************************** -{ - return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; -} - -tk::real -tk::triple( const std::array< real, 3 >& v1, - const std::array< real, 3 >& v2, - const std::array< real, 3 >& v3 ) -// ***************************************************************************** -// Compute the triple-product of three vectors -//! \param[in] v1 1st vector -//! \param[in] v2 2nd vector -//! \param[in] v3 3rd vector -//! \return Triple-product -// ***************************************************************************** -{ - return dot( v1, cross(v2,v3) ); -} - -std::array< tk::real, 3 > -tk::rotateX( const std::array< real, 3 >& v, real angle ) -// ***************************************************************************** -//! Rotate vector about X axis by -45 degress -//! \param[in] v Vector to rotate -//! \param[in] angle Angle to use to rotate with -//! \return Rotated vector -// ***************************************************************************** -{ - using std::cos; using std::sin; - - std::array< std::array< real, 3 >, 3 > - R{{ {{ 1.0, 0.0, 0.0 }}, - {{ 0.0, cos(angle), -sin(angle) }}, - {{ 0.0, sin(angle), cos(angle) }} }}; - - return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; -} - -std::array< tk::real, 3 > -tk::rotateY( const std::array< real, 3 >& v, real angle ) -// ***************************************************************************** -//! Rotate vector about Y axis by -45 degress -//! \param[in] v Vector to rotate -//! \param[in] angle Angle to use to rotate with -//! \return Rotated vector -// ***************************************************************************** -{ - using std::cos; using std::sin; - - std::array< std::array< real, 3 >, 3 > - R{{ {{ cos(angle), 0.0, sin(angle) }}, - {{ 0.0, 1.0, 0.0 }}, - {{ -sin(angle), 0.0, cos(angle) }} }}; - - return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; -} - -std::array< tk::real, 3 > -tk::rotateZ( const std::array< real, 3 >& v, real angle ) -// ***************************************************************************** -//! Rotate vector about Z axis by -45 degress -//! \param[in] v Vector to rotate -//! \param[in] angle Angle to use to rotate with -//! \return Rotated vector -// ***************************************************************************** -{ - using std::cos; using std::sin; - - std::array< std::array< real, 3 >, 3 > - R{{ {{ cos(angle), -sin(angle), 0.0 }}, - {{ sin(angle), cos(angle), 0.0 }}, - {{ 0.0, 0.0, 1.0 }} }}; - - return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; -} - -tk::real -tk::Jacobian( const std::array< real, 3 >& v1, - const std::array< real, 3 >& v2, - const std::array< real, 3 >& v3, - const std::array< real, 3 >& v4 ) -// ***************************************************************************** -// Compute the determinant of the Jacobian of a coordinate transformation over -// a tetrahedron -//! \param[in] v1 (x,y,z) coordinates of 1st vertex of the tetrahedron -//! \param[in] v2 (x,y,z) coordinates of 2nd vertex of the tetrahedron -//! \param[in] v3 (x,y,z) coordinates of 3rd vertex of the tetrahedron -//! \param[in] v4 (x,y,z) coordinates of 4th vertex of the tetrahedron -//! \return Determinant of the Jacobian of transformation of physical -//! tetrahedron to reference (xi, eta, zeta) space -// ***************************************************************************** -{ - std::array< real, 3 > ba{{ v2[0]-v1[0], v2[1]-v1[1], v2[2]-v1[2] }}, - ca{{ v3[0]-v1[0], v3[1]-v1[1], v3[2]-v1[2] }}, - da{{ v4[0]-v1[0], v4[1]-v1[1], v4[2]-v1[2] }}; - return triple( ba, ca, da ); -} - -std::array< std::array< tk::real, 3 >, 3 > -tk::inverseJacobian( const std::array< real, 3 >& v1, - const std::array< real, 3 >& v2, - const std::array< real, 3 >& v3, - const std::array< real, 3 >& v4 ) -// ***************************************************************************** -// Compute the inverse of the Jacobian of a coordinate transformation over a -// tetrahedron -//! \param[in] v1 (x,y,z) coordinates of 1st vertex of the tetrahedron -//! \param[in] v2 (x,y,z) coordinates of 2nd vertex of the tetrahedron -//! \param[in] v3 (x,y,z) coordinates of 3rd vertex of the tetrahedron -//! \param[in] v4 (x,y,z) coordinates of 4th vertex of the tetrahedron -//! \return Inverse of the Jacobian of transformation of physical -//! tetrahedron to reference (xi, eta, zeta) space -// ***************************************************************************** -{ - std::array< std::array< real, 3 >, 3 > jacInv; - - auto detJ = Jacobian( v1, v2, v3, v4 ); - - jacInv[0][0] = ( (v3[1]-v1[1])*(v4[2]-v1[2]) - - (v4[1]-v1[1])*(v3[2]-v1[2])) / detJ; - jacInv[1][0] = -( (v2[1]-v1[1])*(v4[2]-v1[2]) - - (v4[1]-v1[1])*(v2[2]-v1[2])) / detJ; - jacInv[2][0] = ( (v2[1]-v1[1])*(v3[2]-v1[2]) - - (v3[1]-v1[1])*(v2[2]-v1[2])) / detJ; - - jacInv[0][1] = -( (v3[0]-v1[0])*(v4[2]-v1[2]) - - (v4[0]-v1[0])*(v3[2]-v1[2])) / detJ; - jacInv[1][1] = ( (v2[0]-v1[0])*(v4[2]-v1[2]) - - (v4[0]-v1[0])*(v2[2]-v1[2])) / detJ; - jacInv[2][1] = -( (v2[0]-v1[0])*(v3[2]-v1[2]) - - (v3[0]-v1[0])*(v2[2]-v1[2])) / detJ; - - jacInv[0][2] = ( (v3[0]-v1[0])*(v4[1]-v1[1]) - - (v4[0]-v1[0])*(v3[1]-v1[1])) / detJ; - jacInv[1][2] = -( (v2[0]-v1[0])*(v4[1]-v1[1]) - - (v4[0]-v1[0])*(v2[1]-v1[1])) / detJ; - jacInv[2][2] = ( (v2[0]-v1[0])*(v3[1]-v1[1]) - - (v3[0]-v1[0])*(v2[1]-v1[1])) / detJ; - - return jacInv; -} - -tk::real -tk::determinant( const std::array< std::array< tk::real, 3 >, 3 >& a ) -// ***************************************************************************** -// Compute the determinant of 3x3 matrix -//! \param[in] a 3x3 matrix -//! \return Determinant of the 3x3 matrix -// ***************************************************************************** -{ - return ( a[0][0] * (a[1][1]*a[2][2]-a[1][2]*a[2][1]) - - a[0][1] * (a[1][0]*a[2][2]-a[1][2]*a[2][0]) - + a[0][2] * (a[1][0]*a[2][1]-a[1][1]*a[2][0]) ); -} - -std::array < tk::real, 3 > -tk::cramer( const std::array< std::array< tk::real, 3 >, 3>& a, - const std::array< tk::real, 3 >& b ) -// ***************************************************************************** -// Solve a 3x3 system of equations using Cramer's rule -//! \param[in] a 3x3 lhs matrix -//! \param[in] b 3x1 rhs matrix -//! \return Array of solutions of the 3x3 system -// ***************************************************************************** -{ - auto de = determinant( a ); - - auto nu(0.0); - std::array < real, 3 > x; - - nu = determinant( {{{{b[0], a[0][1], a[0][2]}}, - {{b[1], a[1][1], a[1][2]}}, - {{b[2], a[2][1], a[2][2]}}}} ); - x[0] = nu/de; - - nu = determinant( {{{{a[0][0], b[0], a[0][2]}}, - {{a[1][0], b[1], a[1][2]}}, - {{a[2][0], b[2], a[2][2]}}}} ); - x[1] = nu/de; - - nu = determinant( {{{{a[0][0], a[0][1], b[0]}}, - {{a[1][0], a[1][1], b[1]}}, - {{a[2][0], a[2][1], b[2]}}}} ); - x[2] = nu/de; - - return x; -} diff --git a/src/Base/Vector.hpp b/src/Base/Vector.hpp index dab5091a6b5..d54e39a43f1 100644 --- a/src/Base/Vector.hpp +++ b/src/Base/Vector.hpp @@ -3,7 +3,7 @@ \file src/Base/Vector.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Vector algebra \details Vector algebra. @@ -13,67 +13,327 @@ #define Vector_h #include +#include #include "Types.hpp" +#include "Exception.hpp" namespace tk { +//! Flip sign of vector components +//! \param[in] v Vector whose components to multiply by -1.0 +inline void +flip( std::array< real, 3 >& v ) +{ + v[0] = -v[0]; + v[1] = -v[1]; + v[2] = -v[2]; +} + +//! Compute the cross-product of two vectors +//! \param[in] v1x x coordinate of the 1st vector +//! \param[in] v1y y coordinate of the 1st vector +//! \param[in] v1z z coordinate of the 1st vector +//! \param[in] v2x x coordinate of the 2nd vector +//! \param[in] v2y y coordinate of the 2nd vector +//! \param[in] v2z z coordinate of the 2nd vector +//! \param[out] rx x coordinate of the product vector +//! \param[out] ry y coordinate of the product vector +//! \param[out] rz z coordinate of the product vector +#pragma omp declare simd +inline void +cross( real v1x, real v1y, real v1z, + real v2x, real v2y, real v2z, + real& rx, real& ry, real& rz ) +{ + rx = v1y*v2z - v2y*v1z; + ry = v1z*v2x - v2z*v1x; + rz = v1x*v2y - v2x*v1y; +} + //! Compute the cross-product of two vectors -std::array< real, 3 > -cross( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ); +//! \param[in] v1 1st vector +//! \param[in] v2 2nd vector +//! \return Cross-product +inline std::array< real, 3 > +cross( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ) +{ + real rx, ry, rz; + cross( v1[0], v1[1], v1[2], v2[0], v2[1], v2[2], rx, ry, rz ); + return { std::move(rx), std::move(ry), std::move(rz) }; +} //! Compute the cross-product of two vectors divided by a scalar -std::array< real, 3 > +//! \param[in] v1x x coordinate of the 1st vector +//! \param[in] v1y y coordinate of the 1st vector +//! \param[in] v1z z coordinate of the 1st vector +//! \param[in] v2x x coordinate of the 2nd vector +//! \param[in] v2y y coordinate of the 2nd vector +//! \param[in] v2z z coordinate of the 2nd vector +//! \param[in] j The scalar to divide the product with +//! \param[out] rx x coordinate of the product vector +//! \param[out] ry y coordinate of the product vector +//! \param[out] rz z coordinate of the product vector +#pragma omp declare simd uniform(j) +inline void +crossdiv( real v1x, real v1y, real v1z, + real v2x, real v2y, real v2z, + real j, + real& rx, real& ry, real& rz ) +{ + cross( v1x, v1y, v1z, v2x, v2y, v2z, rx, ry, rz ); + rx /= j; + ry /= j; + rz /= j; +} + +//! Compute the cross-product of two vectors divided by a scalar +//! \param[in] v1 1st vector +//! \param[in] v2 2nd vector +//! \param[in] j Scalar to divide each component by +//! \return Cross-product divided by scalar +inline std::array< real, 3 > crossdiv( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2, - real j ); + real j ) +{ + return {{ (v1[1]*v2[2] - v2[1]*v1[2]) / j, + (v1[2]*v2[0] - v2[2]*v1[0]) / j, + (v1[0]*v2[1] - v2[0]*v1[1]) / j }}; +} //! Compute the dot-product of two vectors -real -dot( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ); +//! \param[in] v1 1st vector +//! \param[in] v2 2nd vector +//! \return Dot-product +inline real +dot( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2 ) +{ + return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; +} + +//! Compute length of a vector +//! \param[in] x X coordinate of vector +//! \param[in] y Y coordinate of vector +//! \param[in] z Z coordinate of vector +//! \return length +#pragma omp declare simd +inline real +length( real x, real y, real z ) +{ + return std::sqrt( x*x + y*y + z*z ); +} + +//! Compute length of a vector +//! \param[in] v vector +//! \return length +inline real +length( const std::array< real, 3 >& v ) +{ + return std::sqrt( dot(v,v) ); +} + +//! Scale vector to unit length +//! \param[in,out] v Vector to normalize +inline void +unit( std::array< real, 3 >& v ) noexcept(ndebug) +{ + auto len = length( v ); + Assert( len > std::numeric_limits< tk::real >::epsilon(), "div by zero" ); + v[0] /= len; + v[1] /= len; + v[2] /= len; +} + +//! Compute the triple-product of three vectors +//! \param[in] v1x x coordinate of the 1st vector +//! \param[in] v1y y coordinate of the 1st vector +//! \param[in] v1z z coordinate of the 1st vector +//! \param[in] v2x x coordinate of the 2nd vector +//! \param[in] v2y y coordinate of the 2nd vector +//! \param[in] v2z z coordinate of the 2nd vector +//! \param[in] v3x x coordinate of the 3rd vector +//! \param[in] v3y y coordinate of the 3rd vector +//! \param[in] v3z z coordinate of the 3rd vector +//! \return Scalar value of the triple product +#pragma omp declare simd +inline tk::real +triple( real v1x, real v1y, real v1z, + real v2x, real v2y, real v2z, + real v3x, real v3y, real v3z ) +{ + real cx, cy, cz; + cross( v2x, v2y, v2z, v3x, v3y, v3z, cx, cy, cz ); + return v1x*cx + v1y*cy + v1z*cz; +} //! Compute the triple-product of three vectors -real +//! \param[in] v1 1st vector +//! \param[in] v2 2nd vector +//! \param[in] v3 3rd vector +//! \return Triple-product +inline real triple( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2, - const std::array< real, 3 >& v3 ); + const std::array< real, 3 >& v3 ) +{ + return dot( v1, cross(v2,v3) ); +} //! Rotate vector about X axis -std::array< real, 3 > -rotateX( const std::array< real, 3 >& v, real angle ); +//! \param[in] v Vector to rotate +//! \param[in] angle Angle to use to rotate with +//! \return Rotated vector +inline std::array< real, 3 > +rotateX( const std::array< real, 3 >& v, real angle ) +{ + using std::cos; using std::sin; + + std::array< std::array< real, 3 >, 3 > + R{{ {{ 1.0, 0.0, 0.0 }}, + {{ 0.0, cos(angle), -sin(angle) }}, + {{ 0.0, sin(angle), cos(angle) }} }}; + + return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; +} //! Rotate vector about Y axis -std::array< real, 3 > -rotateY( const std::array< real, 3 >& v, real angle ); +//! \param[in] v Vector to rotate +//! \param[in] angle Angle to use to rotate with +//! \return Rotated vector +inline std::array< real, 3 > +rotateY( const std::array< real, 3 >& v, real angle ) +{ + using std::cos; using std::sin; + + std::array< std::array< real, 3 >, 3 > + R{{ {{ cos(angle), 0.0, sin(angle) }}, + {{ 0.0, 1.0, 0.0 }}, + {{ -sin(angle), 0.0, cos(angle) }} }}; + + return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; +} //! Rotate vector about Z axis -std::array< real, 3 > -rotateZ( const std::array< real, 3 >& v, real angle ); +//! \param[in] v Vector to rotate +//! \param[in] angle Angle to use to rotate with +//! \return Rotated vector +inline std::array< real, 3 > +rotateZ( const std::array< real, 3 >& v, real angle ) +{ + using std::cos; using std::sin; + + std::array< std::array< real, 3 >, 3 > + R{{ {{ cos(angle), -sin(angle), 0.0 }}, + {{ sin(angle), cos(angle), 0.0 }}, + {{ 0.0, 0.0, 1.0 }} }}; + + return {{ dot(R[0],v), dot(R[1],v), dot(R[2],v) }}; +} //! \brief Compute the determinant of the Jacobian of a coordinate //! transformation over a tetrahedron -real +//! \param[in] v1 (x,y,z) coordinates of 1st vertex of the tetrahedron +//! \param[in] v2 (x,y,z) coordinates of 2nd vertex of the tetrahedron +//! \param[in] v3 (x,y,z) coordinates of 3rd vertex of the tetrahedron +//! \param[in] v4 (x,y,z) coordinates of 4th vertex of the tetrahedron +//! \return Determinant of the Jacobian of transformation of physical +//! tetrahedron to reference (xi, eta, zeta) space +inline real Jacobian( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2, const std::array< real, 3 >& v3, - const std::array< real, 3 >& v4 ); + const std::array< real, 3 >& v4 ) +{ + std::array< real, 3 > ba{{ v2[0]-v1[0], v2[1]-v1[1], v2[2]-v1[2] }}, + ca{{ v3[0]-v1[0], v3[1]-v1[1], v3[2]-v1[2] }}, + da{{ v4[0]-v1[0], v4[1]-v1[1], v4[2]-v1[2] }}; + return triple( ba, ca, da ); +} //! \brief Compute the inverse of the Jacobian of a coordinate transformation //! over a tetrahedron -std::array< std::array< real, 3 >, 3 > +//! \param[in] v1 (x,y,z) coordinates of 1st vertex of the tetrahedron +//! \param[in] v2 (x,y,z) coordinates of 2nd vertex of the tetrahedron +//! \param[in] v3 (x,y,z) coordinates of 3rd vertex of the tetrahedron +//! \param[in] v4 (x,y,z) coordinates of 4th vertex of the tetrahedron +//! \return Inverse of the Jacobian of transformation of physical +//! tetrahedron to reference (xi, eta, zeta) space +inline std::array< std::array< real, 3 >, 3 > inverseJacobian( const std::array< real, 3 >& v1, const std::array< real, 3 >& v2, const std::array< real, 3 >& v3, - const std::array< real, 3 >& v4 ); + const std::array< real, 3 >& v4 ) +{ + std::array< std::array< real, 3 >, 3 > jacInv; + + auto detJ = Jacobian( v1, v2, v3, v4 ); + + jacInv[0][0] = ( (v3[1]-v1[1])*(v4[2]-v1[2]) + - (v4[1]-v1[1])*(v3[2]-v1[2])) / detJ; + jacInv[1][0] = -( (v2[1]-v1[1])*(v4[2]-v1[2]) + - (v4[1]-v1[1])*(v2[2]-v1[2])) / detJ; + jacInv[2][0] = ( (v2[1]-v1[1])*(v3[2]-v1[2]) + - (v3[1]-v1[1])*(v2[2]-v1[2])) / detJ; + + jacInv[0][1] = -( (v3[0]-v1[0])*(v4[2]-v1[2]) + - (v4[0]-v1[0])*(v3[2]-v1[2])) / detJ; + jacInv[1][1] = ( (v2[0]-v1[0])*(v4[2]-v1[2]) + - (v4[0]-v1[0])*(v2[2]-v1[2])) / detJ; + jacInv[2][1] = -( (v2[0]-v1[0])*(v3[2]-v1[2]) + - (v3[0]-v1[0])*(v2[2]-v1[2])) / detJ; + + jacInv[0][2] = ( (v3[0]-v1[0])*(v4[1]-v1[1]) + - (v4[0]-v1[0])*(v3[1]-v1[1])) / detJ; + jacInv[1][2] = -( (v2[0]-v1[0])*(v4[1]-v1[1]) + - (v4[0]-v1[0])*(v2[1]-v1[1])) / detJ; + jacInv[2][2] = ( (v2[0]-v1[0])*(v3[1]-v1[1]) + - (v3[0]-v1[0])*(v2[1]-v1[1])) / detJ; + + return jacInv; +} //! Compute the determinant of 3x3 matrix -tk::real -determinant( const std::array< std::array< tk::real, 3 >, 3 >& a ); +//! \param[in] a 3x3 matrix +//! \return Determinant of the 3x3 matrix +inline tk::real +determinant( const std::array< std::array< tk::real, 3 >, 3 >& a ) +{ + return ( a[0][0] * (a[1][1]*a[2][2]-a[1][2]*a[2][1]) + - a[0][1] * (a[1][0]*a[2][2]-a[1][2]*a[2][0]) + + a[0][2] * (a[1][0]*a[2][1]-a[1][1]*a[2][0]) ); +} //! Solve a 3x3 system of equations using Cramer's rule -std::array < tk::real, 3 > +//! \param[in] a 3x3 lhs matrix +//! \param[in] b 3x1 rhs matrix +//! \return Array of solutions of the 3x3 system +inline std::array < tk::real, 3 > cramer( const std::array< std::array< tk::real, 3 >, 3>& a, - const std::array< tk::real, 3 >& b ); + const std::array< tk::real, 3 >& b ) +{ + auto de = determinant( a ); + + auto nu(0.0); + std::array < real, 3 > x; + + nu = determinant( {{{{b[0], a[0][1], a[0][2]}}, + {{b[1], a[1][1], a[1][2]}}, + {{b[2], a[2][1], a[2][2]}}}} ); + x[0] = nu/de; + + nu = determinant( {{{{a[0][0], b[0], a[0][2]}}, + {{a[1][0], b[1], a[1][2]}}, + {{a[2][0], b[2], a[2][2]}}}} ); + x[1] = nu/de; + + nu = determinant( {{{{a[0][0], a[0][1], b[0]}}, + {{a[1][0], a[1][1], b[1]}}, + {{a[2][0], a[2][1], b[2]}}}} ); + x[2] = nu/de; + + return x; +} } // tk:: diff --git a/src/Base/Writer.cpp b/src/Base/Writer.cpp index 2f70b2324a3..6030de44935 100644 --- a/src/Base/Writer.cpp +++ b/src/Base/Writer.cpp @@ -3,7 +3,7 @@ \file src/Base/Writer.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Writer base class definition \details Writer base class definition. Writer base serves as a base class diff --git a/src/Base/Writer.hpp b/src/Base/Writer.hpp index bb1797c5302..b361e0b7e35 100644 --- a/src/Base/Writer.hpp +++ b/src/Base/Writer.hpp @@ -3,7 +3,7 @@ \file src/Base/Writer.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Writer base class declaration \details Writer base class declaration. Writer base serves as a base class @@ -37,6 +37,9 @@ class Writer { void write( const char* data, std::streamsize count ) { m_outFile.write( data, count ); } + //! Write access to underlying output file stream + std::ofstream& stream() { return m_outFile; } + protected: const std::string m_filename; //!< File name mutable std::ofstream m_outFile; //!< File output stream diff --git a/src/Base/charestatecollector.ci b/src/Base/charestatecollector.ci index a071d0cb2c2..935bf8bdee0 100644 --- a/src/Base/charestatecollector.ci +++ b/src/Base/charestatecollector.ci @@ -3,7 +3,7 @@ \file src/Base/charestatecollector.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for the chare state collector group \details Charm++ module interface file for the chare state collectory group diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8c48aa9f174..7c3aeb40eda 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,7 +3,7 @@ # \file src/CMakeLists.txt # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved See the LICENSE file for details. # \brief Build Quinoa # @@ -27,7 +27,7 @@ set(MAJOR_VER 0) set(MINOR_VER 2) # Set LA-CC number -set(LACC "17087") +set(LACC "20072") # Sets CMAKE_INSTALL_{BIN,LIB}DIR needed for multilib support include(GNUInstallDirs) @@ -264,6 +264,8 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # clang-specific settings add_compiler_flag("-Wno-disabled-macro-expansion") add_compiler_flag("-Wno-reserved-id-macro") add_compiler_flag("-Wno-unknown-warning-option") + add_compiler_flag("-Wno-unknown-pragmas") + add_compiler_flag("-Wno-source-uses-openmp") # Linker flags for clang set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS) # clear link flags @@ -323,6 +325,15 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # gcc-specific settings add_compiler_flag("-Wno-cast-function-type") add_compiler_flag("-Wno-format-overflow") add_compiler_flag("-Wno-pragmas") + add_compiler_flag("-Wno-unknown-pragmas") + + # For vectorization: + #add_compiler_flag("-march=native") + #add_compiler_flag("-ftree-vectorize") + #add_compiler_flag("-fopenmp-simd") + #add_compiler_flag("-Wopenmp-simd") + #add_compiler_flag("-ftree-vectorizer-verbose=5") + #add_compiler_flag("-fopt-info-vec-missed") # Linker flags for gcc set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wno-unused-parameter") @@ -342,40 +353,52 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") # intel-specific settings add_compiler_flag("-Wremarks") # display remarks and comments # Globally suppress the following Intel compiler remarks: - # 7: unrecognized token - # 68: integer conversion resulted in a change of sign - # 82: storage class is not first - # 111: statement is unreachable - # 186: pointless comparison of unsigned integer with zero - # 177: function was declared but never referenced - # 193: zero used for undefined preprocessing identifier - # 280: selector expression is constant - # 304: access control not specified ("public" by default) - # 383: value copied to temporary, reference to temporary used - # 327: NULL reference is not allowed - # 411: defines no constructor for initializer_list<> - # 444: destructor for base class is not virtual - # 593: parameter was set but never used - # 869: parameter was never referenced - # 981: operands are evaluated in unspecified order - # 1011: missing return statement at end of non-void function (constexpr) - # 1292: unknown attribute "fallthrough" - # 1418: external function definition with no prior declaration - # 1419: external declaration in primary source file - # 1572: floating-point equality and inequality comparisons are unreliable - # 2259: non-pointer conversion from "int" to "char" may lose significant bits - # 2407: the initialization of class will be done before that of member - # 2415: variable of static storage duration was declared but never referenced - # 2547: non-system include dir will be ignored when both a system and non-system include directory were specified - # 2557: comparison between signed and unsigned operands - # 3280: declaration hides member - # 3346: dynamic exception specifications are deprecated - # 3656: variable may be used before its value is set - # 10120: overriding '-O3' with '-O2' - add_compiler_flag("-diag-disable 7,68,82,111,177,186,193,280,304,327,383,411,444,593,869,981,1011,1292,1418,1419,1572,2259,2407,2415,2547,2557,3280,3346,3656,10120") - - # Compiler flags for optimization report - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qopt-report=0 -qopt-report-phase=loop,vec -qopt-report-file=stderr") + # 7: unrecognized token + # 68: integer conversion resulted in a change of sign + # 82: storage class is not first + # 111: statement is unreachable + # 186: pointless comparison of unsigned integer with zero + # 177: function was declared but never referenced + # 193: zero used for undefined preprocessing identifier + # 280: selector expression is constant + # 304: access control not specified ("public" by default) + # 383: value copied to temporary, reference to temporary used + # 327: NULL reference is not allowed + # 411: defines no constructor for initializer_list<> + # 444: destructor for base class is not virtual + # 593: parameter was set but never used + # 688: "simd" is an unrecognized __declspec attribute + # 869: parameter was never referenced + # 981: operands are evaluated in unspecified order + # 1011: missing return statement at end of non-void function (constexpr) + # 1292: unknown attribute "fallthrough" + # 1418: external function definition with no prior declaration + # 1419: external declaration in primary source file + # 1572: floating-point equality and inequality comparisons are unreliable + # 1599: declaration hides variable + # 2259: non-pointer conversion from "int" to "char" may lose significant bits + # 2407: the initialization of class will be done before that of member + # 2415: variable of static storage duration was declared but never referenced + # 2547: non-system include dir will be ignored when both a system and non-system include directory were specified + # 2557: comparison between signed and unsigned operands + # 3180: unrecognized OpenMP #pragma + # 3280: declaration hides member + # 3346: dynamic exception specifications are deprecated + # 3656: variable may be used before its value is set + # 10120: overriding '-O3' with '-O2' + # 10397: optimization reports are generated in *.optrpt files in the output location + # 15518: Structure assignment was serialized + add_compiler_flag("-diag-disable 7,68,82,111,177,186,193,280,304,327,383,411,444,593,688,869,981,1011,1292,1418,1419,1572,1599,2259,2407,2415,2547,2557,3180,3280,3346,3656,10120,10397,15518,2282") + + # default: no openmp simd + add_compiler_flag("-qno-openmp-simd") + + # For vectorization: disable above and enable some below + #add_compiler_flag("-march=native") + #add_compiler_flag("-qopt-zmm-usage=high") + #add_compiler_flag("-vecabi=cmdtarget") + #add_compiler_flag("-vec-threshold0") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qopt-report=5 -qopt-report-phase=loop,vec") # No limit on inlining. This can increase the build time. if(CMAKE_BUILD_TYPE MATCHES "REL") # Release | RelWithDebInfo | MinSizeRel @@ -536,11 +559,16 @@ set(EXECUTABLES ${INCITER_EXECUTABLE} # Decide if the Exception class will write to std::cerr. This may not always be -# thread-safe, so it can be disabled here by setting this to false. The default -# is true, because it works most of the time. -if (NOT EXCEPTIONS_WRITE_TO_CERR) # set default +# thread-safe, e.g., in Charm++'s SMP mode, so it can be disabled here. The +# default is set based on whether Charm++ is built in SMP or non-SMP mode. +if (NOT EXCEPTIONS_WRITE_TO_CERR) # set default if not set + if (CHARM_SMP) + set(cerr false) + else() + set(cerr true) + endif() # will become compiler define in Main/QuinoaConfig.h - set(EXCEPTIONS_WRITE_TO_CERR true CACHE BOOL "Exceptions will write std::cerr.") + set(EXCEPTIONS_WRITE_TO_CERR ${cerr} CACHE BOOL "Exceptions write std::cerr.") endif() message(STATUS "Exceptions write to cerr: ${EXCEPTIONS_WRITE_TO_CERR}") @@ -746,7 +774,7 @@ if(CODE_COVERAGE AND ENABLE_TESTS) setup_target_for_coverage(regression doc/html regression_coverage ${CMAKE_CTEST_COMMAND} TESTRUNNER_ARGS -j${PROCESSOR_COUNT} - ${REGRESSION_COVERAGE_ARGS} -LE insane + ${REGRESSION_COVERAGE_ARGS} #-LE insane DEPENDS ${NONTEST_EXECUTABLES}) if (REGRESSION_COVERAGE_ARGS) message(STATUS "Regression coverage test-runner arguments: '${REGRESSION_COVERAGE_ARGS}'") diff --git a/src/Control/CMakeLists.txt b/src/Control/CMakeLists.txt index 402c6a1eba3..deb9a1fc784 100644 --- a/src/Control/CMakeLists.txt +++ b/src/Control/CMakeLists.txt @@ -21,6 +21,8 @@ target_include_directories(InciterControl PUBLIC ${PEGTL_INCLUDE_DIRS} ${CHARM_INCLUDE_DIRS} ${BRIGAND_INCLUDE_DIRS} + ${LUA_INCLUDE_DIR} + ${SOL2_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}/../Main) set_target_properties(InciterControl PROPERTIES @@ -110,28 +112,30 @@ INSTALL(TARGETS MeshConvControl ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) #### FileConv control ########################################################## -project(FileConvControl CXX) - -add_library(FileConvControl - StringParser.cpp - FileConv/CmdLine/Parser.cpp) - -target_include_directories(FileConvControl PUBLIC - ${QUINOA_SOURCE_DIR} - ${QUINOA_SOURCE_DIR}/Base - ${QUINOA_SOURCE_DIR}/Control - ${PROJECT_BINARY_DIR}/../Main - ${PEGTL_INCLUDE_DIRS} - ${CHARM_INCLUDE_DIRS} - ${BRIGAND_INCLUDE_DIRS}) - -set_target_properties(FileConvControl PROPERTIES - LIBRARY_OUTPUT_NAME quinoa_fileconvcontrol) - -INSTALL(TARGETS FileConvControl - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) +if (ENABLE_FILECONV) + project(FileConvControl CXX) + + add_library(FileConvControl + StringParser.cpp + FileConv/CmdLine/Parser.cpp) + + target_include_directories(FileConvControl PUBLIC + ${QUINOA_SOURCE_DIR} + ${QUINOA_SOURCE_DIR}/Base + ${QUINOA_SOURCE_DIR}/Control + ${PROJECT_BINARY_DIR}/../Main + ${PEGTL_INCLUDE_DIRS} + ${CHARM_INCLUDE_DIRS} + ${BRIGAND_INCLUDE_DIRS}) + + set_target_properties(FileConvControl PROPERTIES + LIBRARY_OUTPUT_NAME quinoa_fileconvcontrol) + + INSTALL(TARGETS FileConvControl + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) +endif() #### Walker control ############################################################ add_library(WalkerControl diff --git a/src/Control/CommonGrammar.hpp b/src/Control/CommonGrammar.hpp index d3f8a5ef72f..4067697f951 100644 --- a/src/Control/CommonGrammar.hpp +++ b/src/Control/CommonGrammar.hpp @@ -3,7 +3,7 @@ \file src/Control/CommonGrammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generic, low-level grammar, re-used by specific grammars \details Generic, low-level grammar. We use the Parsing Expression Grammar @@ -56,9 +56,9 @@ namespace grm { //! case). This is true for both inserting variables into the set as well as //! at matching terms of products in parsing requested statistics. static std::set< char, tk::ctr::CaseInsensitiveCharLess > depvars; - //! \brief Parser-lifetime storage for PDF names. - //! \details Used to track the names registered so that parsing new ones can - //! be required to be unique. + //! \brief Parser-lifetime storage for PDF names + //! \details Used to track the names of PDFs registered so that parsing new + //! ones can be required to be unique. static std::set< std::string > pdfnames; // Common auxiliary functions (reused by multiple grammars) @@ -103,6 +103,7 @@ namespace grm { WRONGDIRICHLET, //!< Wrong number of parameters for a Dirichlet PDF NEGATIVEPARAM, //!< Negative parameter given configuring a PDF NONCOMP, //!< No number of components selected + LARGECOMP, //!< Component index indexing out of max eq sys ncomp NONMAT, //!< No number of materials selected EOSGAMMA, //!< Wrong number of EOS gamma parameters EOSCV, //!< Wrong number of EOS cv parameters @@ -124,6 +125,7 @@ namespace grm { BINSIZES, //!< PDF sample space vars unequal to number of bins PDF, //!< PDF specification syntax error PDFEXISTS, //!< PDF identifier already defined + POINTEXISTS, //!< Point identifier already defined BADPRECISION, //!< Floating point precision specification incorrect BOUNDS, //!< Specified value out of bounds PRECISIONBOUNDS, //!< Floating point precision spec out of bounds @@ -132,6 +134,11 @@ namespace grm { ENERGY_UNFINISHED, //!< Nonlinear energy growth problem config unfinished RT_UNFINISHED, //!< Reyleigh-Taylor unstable configuration unfinished BC_EMPTY, //!< Empty boundary condition block + SYSFCTVAR, //!< System-FCT variable index incorrect + BGICMISSING, //!< Background IC unspecified + STAGBCWRONG, //!< Stagnation BC incorrectly configured + SKIPBCWRONG, //!< Skip BC incorrectly configured + NONDISJOINTBC, //!< Different BC types assigned to the same side set WRONGSIZE, //!< Size of parameter vector incorrect HYDROTIMESCALES, //!< Missing required hydrotimescales vector HYDROPRODUCTIONS, //!< Missing required hydroproductions vector @@ -200,6 +207,9 @@ namespace grm { { MsgKey::NONCOMP, "The number of components has not been specified in the " "block preceding this position. This is mandatory for the preceding " "block. Use the keyword 'ncomp' to specify the number of components." }, + { MsgKey::LARGECOMP, "The component index is too large and indexes out of " + "the total number of scalar components of the equation system " + "configured." }, { MsgKey::NONMAT, "The number of materials has not been specified in the " "block preceding this position. This is mandatory for the preceding " "block. Use the keyword 'nmat' to specify the number of materials." }, @@ -320,6 +330,8 @@ namespace grm { "equal the number of bin sizes given." }, { MsgKey::PDF, "Syntax error while parsing PDF specification." }, { MsgKey::PDFEXISTS, "PDF already exists. PDF identifiers must be unique."}, + { MsgKey::POINTEXISTS, "Point already exists. Point identifiers must be " + "unique."}, { MsgKey::BADPRECISION, "Precision specification invalid. It should be a " "positive integer or the word \'max\', selecting the maximum number of " "digits for the underyling floating point type."}, @@ -344,6 +356,20 @@ namespace grm { "above."}, { MsgKey::BC_EMPTY, "Error in the preceding block. Empty boundary " "condition specifications, e.g., 'sideset end', are not allowed." }, + { MsgKey::SYSFCTVAR, "Error in the system-FCT variable definition block. " + "The block must list integers between 1 and 5 both inclusive." }, + { MsgKey::STAGBCWRONG, "Stagnation boundary conditions incorrectly " + "configured. Within a bc_stag ... end block there must be a point ... " + "end block and a radius ... end block. Both point and radius blocks must " + "contain floating-point numbers, and the number of items in the point " + "block must be exactly 3x that of radii." }, + { MsgKey::SKIPBCWRONG, "Skip boundary conditions incorrectly " + "configured. Within a bc_skip ... end block there must be a point ... " + "end block and a radius ... end block. Both point and radius blocks must " + "contain floating-point numbers, and the number of items in the point " + "block must be exactly 3x that of radii." }, + { MsgKey::NONDISJOINTBC, "Different boundary condition types are assigned " + "to the same side set." }, { MsgKey::WRONGSIZE, "Error in the preceding line or block. The size of " "the parameter vector is incorrect." }, { MsgKey::HYDROTIMESCALES, "Error in the preceding line or block. " @@ -615,6 +641,22 @@ namespace grm { } }; + //! Rule used to trigger action + template< typename tag, typename... tags > + struct Store_back_bool : pegtl::success {}; + //! \brief Convert and push back a bool to vector of ints in state at position + //! given by tags + //! \details This struct and its apply function are used as a functor-like + //! wrapper for calling the store_back member function of the underlying + //! grammar stack, tk::Control::store_back. + template< typename tag, typename...tags > + struct action< Store_back_bool< tag, tags... > > { + template< typename Input, typename Stack > + static void apply( const Input& in, Stack& stack ) { + stack.template store_back_bool< tag, tags... >( in.string() ); + } + }; + //! Rule used to trigger action template< typename tag, typename... tags > struct Store_back_back : pegtl::success {}; @@ -1096,6 +1138,15 @@ namespace grm { static void apply( const Input&, Stack& ) {} }; + //! Rule used to trigger action + struct noop : pegtl::success {}; + //! Action that does nothing + template<> + struct action< noop > { + template< typename Input, typename Stack > + static void apply( const Input&, Stack& ) {} + }; + //! Rule used to trigger action template< class eq, class param, class... xparam > struct check_spikes : pegtl::success {}; @@ -1286,6 +1337,18 @@ namespace grm { } }; + //! Rule used to trigger action + template< typename Tag, typename... Tags > + struct store_lua : pegtl::success {}; + //! Append character parsed in a lua ... end block to a string + template< typename Tag, typename... Tags > + struct action< store_lua< Tag, Tags... > > { + template< typename Input, typename Stack > + static void apply( const Input& in, Stack& stack ) { + stack.template get< Tag, Tags..., tag::lua >() += in.string(); + } + }; + // Common grammar (grammar that is reused by multiple grammars) //! Read 'token' until 'erased' trimming, i.e., not consuming, 'erased' @@ -1410,7 +1473,7 @@ namespace grm { //! 'endkeyword', calling 'insert' for each if matches and allow comments //! between values template< class key, class insert, class endkeyword, - class starter, class value = number > + class starter = noop, class value = number > // cppcheck-suppress syntaxError struct vector : pegtl::seq< @@ -1657,6 +1720,14 @@ namespace grm { pegtl::alpha >, precision< use, tag::diag > > > {}; + //! Parse lua ... end block and store it behind Tag, Tags..., tag::lua + template< template< class > class use, typename Tag, typename... Tags > + struct lua : + pegtl::if_must< + readkw< typename use< kw::lua >::pegtl_string >, + pegtl::until< readkw< typename use< kw::end >::pegtl_string >, + act< pegtl::any, store_lua< Tag, Tags... > > > > {}; + //! Match model parameter template< typename keyword, typename kw_type, typename model, typename Tag > struct parameter : @@ -1680,7 +1751,6 @@ namespace grm { pegtl::if_must< readkw< typename use< kw::rngs >::pegtl_string >, block< use< kw::end >, rngs > > {}; - //! Match equation/model parameter vector //! \details This structure is used to match a keyword ... end block that //! contains a list (i.e., a vector) of numbers. The keyword that starts the diff --git a/src/Control/FileConv/CmdLine/CmdLine.hpp b/src/Control/FileConv/CmdLine/CmdLine.hpp index a4c2cedb013..802bee2fd9a 100644 --- a/src/Control/FileConv/CmdLine/CmdLine.hpp +++ b/src/Control/FileConv/CmdLine/CmdLine.hpp @@ -3,7 +3,7 @@ \file src/Control/FileConv/CmdLine/CmdLine.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FileConv's command line definition \details This file defines the heterogeneous stack that is used for storing @@ -22,6 +22,7 @@ #include "Keywords.hpp" #include "HelpFactory.hpp" #include "FileConv/Types.hpp" +#include "PrintUtil.hpp" namespace fileconv { //! File converter control facilitating user input to internal data transfer @@ -58,12 +59,19 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::helpkw , kw::input , kw::output + , kw::screen , kw::quiescence , kw::trace , kw::version , kw::license >; + //! Set of tags to ignore when printing this CmdLine + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set defaults. //! \details Anything not set here is initialized by the compiler using the //! default constructor for the corresponding type. While there is a @@ -71,6 +79,8 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! control file parser. //! \see walker::ctr::CmdLine CmdLine() { + get< tag::io, tag::screen >() = + tk::baselogname( tk::fileconv_executable() ); get< tag::verbose >() = false; // Use quiet output by default get< tag::chare >() = false; // No chare state output by default get< tag::trace >() = true; // Output call and stack trace by default @@ -90,6 +100,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::fileconv_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/FileConv/CmdLine/Grammar.hpp b/src/Control/FileConv/CmdLine/Grammar.hpp index 6d08ea23c4b..fc0e9c217c0 100644 --- a/src/Control/FileConv/CmdLine/Grammar.hpp +++ b/src/Control/FileConv/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/FileConv/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FileConv's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -91,7 +91,8 @@ namespace cmd { version, license, io< kw::input, tag::input >, - io< kw::output, tag::output > > {}; + io< kw::output, tag::output >, + io< kw::screen, tag::screen > > {}; //! \brief Grammar entry point: parse keywords until end of string struct read_string : diff --git a/src/Control/FileConv/CmdLine/Parser.cpp b/src/Control/FileConv/CmdLine/Parser.cpp index 0cee4b8b9b9..6de0a4f2131 100644 --- a/src/Control/FileConv/CmdLine/Parser.cpp +++ b/src/Control/FileConv/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/FileConv/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FileConv's command line parser \details This file defines the command-line argument parser for the file diff --git a/src/Control/FileConv/CmdLine/Parser.hpp b/src/Control/FileConv/CmdLine/Parser.hpp index 712a49cbba1..8f19cc740dd 100644 --- a/src/Control/FileConv/CmdLine/Parser.hpp +++ b/src/Control/FileConv/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/FileConv/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FileConv's command line parser \details This file declares the command-line argument parser for the mesh diff --git a/src/Control/FileConv/Types.hpp b/src/Control/FileConv/Types.hpp index e8b50f1cd82..ae8f6b17324 100644 --- a/src/Control/FileConv/Types.hpp +++ b/src/Control/FileConv/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for FileConv's parsers \details Types for UnitTest's parsers. This file defines the components of @@ -26,8 +26,10 @@ using namespace tao; //! IO parameters storage using ios = tk::TaggedTuple< brigand::list< - tag::input, std::string //!< Input filename - , tag::output, std::string //!< Output filename + tag::nrestart, int //!< Number of restarts + , tag::input, std::string //!< Input filename + , tag::output, std::string //!< Output filename + , tag::screen, kw::screen::info::expect::type //!< Screen output filename > >; //! PEGTL location/position type to use throughout all of MeshConv's parsers diff --git a/src/Control/FileParser.cpp b/src/Control/FileParser.cpp index 2d153b04c24..d9a2f8f0a0d 100644 --- a/src/Control/FileParser.cpp +++ b/src/Control/FileParser.cpp @@ -3,7 +3,7 @@ \file src/Control/FileParser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief File parser base class definition \details File parser base class defintion. File parser base serves as a @@ -136,7 +136,7 @@ FileParser::diagnostics( const tk::Print& print, // special-handle the beginning of the line with no space in front of it if (sloc == std::string::npos) sloc = 0; else ++sloc; // underline error and warning differently - for (auto i=sloc; i { , kw::control , kw::input , kw::output + , kw::screen , kw::restart , kw::diagnostics_cmd , kw::quiescence @@ -80,6 +81,12 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::license >; + //! Set of tags to ignore when printing this CmdLine + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set all defaults. //! \param[in] ctrinfo std::map of control file keywords and their info //! \details Anything not set here is initialized by the compiler using the @@ -112,9 +119,12 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! otherwise it would be a mutual dependency. // cppcheck-suppress noExplicitConstructor CmdLine( tk::ctr::HelpFactory ctrinfo = tk::ctr::HelpFactory() ) { + get< tag::io, tag::nrestart >() = 0; get< tag::io, tag::output >() = "out"; + get< tag::io, tag::screen >() = + tk::baselogname( tk::inciter_executable() ); get< tag::io, tag::diag >() = "diag"; - get< tag::io, tag::part >() = "track.h5part"; + get< tag::io, tag::particles >() = "track.h5part"; get< tag::io, tag::restart >() = "restart"; get< tag::virtualization >() = 0.0; get< tag::verbose >() = false; // Quiet output by default @@ -123,7 +133,7 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { get< tag::benchmark >() = false; // No benchmark mode by default get< tag::feedback >() = false; // No detailed feedback by default get< tag::lbfreq >() = 1; // Load balancing every time-step by default - get< tag::rsfreq >() = 100;// Chkpt/restart after this many time steps + get< tag::rsfreq >() = 1000;// Chkpt/restart after this many time steps get< tag::trace >() = true; // Output call and stack trace by default get< tag::version >() = false; // Do not display version info by default get< tag::license >() = false; // Do not display license info by default @@ -142,6 +152,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::inciter_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/Inciter/CmdLine/Grammar.hpp b/src/Control/Inciter/CmdLine/Grammar.hpp index 6530b3694ee..65c7aad0205 100644 --- a/src/Control/Inciter/CmdLine/Grammar.hpp +++ b/src/Control/Inciter/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -143,6 +143,7 @@ namespace cmd { io< kw::input, tag::input >, io< kw::output, tag::output >, io< kw::diagnostics_cmd, tag::diag >, + io< kw::screen, tag::screen >, io< kw::restart, tag::restart > > {}; //! Grammar entry point: parse keywords until end of string diff --git a/src/Control/Inciter/CmdLine/Parser.cpp b/src/Control/Inciter/CmdLine/Parser.cpp index 5e9d9051e83..995b1abf13e 100644 --- a/src/Control/Inciter/CmdLine/Parser.cpp +++ b/src/Control/Inciter/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's command line parser \details This file defines the command-line argument parser for the diff --git a/src/Control/Inciter/CmdLine/Parser.hpp b/src/Control/Inciter/CmdLine/Parser.hpp index c482ae32e8d..b33e606f55f 100644 --- a/src/Control/Inciter/CmdLine/Parser.hpp +++ b/src/Control/Inciter/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's command line parser \details This file declares the command-line argument parser for the diff --git a/src/Control/Inciter/Components.hpp b/src/Control/Inciter/Components.hpp index e84756e063f..c47e409594a 100644 --- a/src/Control/Inciter/Components.hpp +++ b/src/Control/Inciter/Components.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Components.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Storage for number of components \details Storage for number of components. This is part of the input deck diff --git a/src/Control/Inciter/InputDeck/Grammar.hpp b/src/Control/Inciter/InputDeck/Grammar.hpp index 3816d8d1a20..9c1efcb67c4 100644 --- a/src/Control/Inciter/InputDeck/Grammar.hpp +++ b/src/Control/Inciter/InputDeck/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/InputDeck/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's input deck grammar definition \details Inciter's input deck grammar definition. We use the Parsing @@ -18,10 +18,9 @@ #include #include "CommonGrammar.hpp" +#include "CartesianProduct.hpp" #include "Keywords.hpp" #include "ContainerUtil.hpp" -#include "Inciter/InputDeck/InputDeck.hpp" -#include "Inciter/InputDeck/InputDeck.hpp" namespace inciter { @@ -44,6 +43,11 @@ namespace deck { , tag::multimat, std::size_t > > neq; + //! \brief Parser-lifetime storage for point names + //! \details Used to track the point names registered so that parsing new ones + //! can be required to be unique. + static std::set< std::string > pointnames; + } // ::deck } // ::inciter @@ -83,9 +87,10 @@ namespace grm { template< typename Input, typename Stack > static void apply( const Input& in, Stack& stack ) { using inciter::deck::neq; + using tag::param; // Error out if no dependent variable has been selected - auto& depvar = stack.template get< tag::param, eq, tag::depvar >(); + auto& depvar = stack.template get< param, eq, tag::depvar >(); if (depvar.empty() || depvar.size() != neq.get< eq >()) Message< Stack, ERROR, MsgKey::NODEPVAR >( stack, in ); @@ -95,32 +100,32 @@ namespace grm { ncomp.push_back( 1 ); // If physics type is not given, default to 'advection' - auto& physics = stack.template get< tag::param, eq, tag::physics >(); + auto& physics = stack.template get< param, eq, tag::physics >(); if (physics.empty() || physics.size() != neq.get< eq >()) physics.push_back( inciter::ctr::PhysicsType::ADVECTION ); // If physics type is advection-diffusion, check for correct number of // advection velocity, shear, and diffusion coefficients if (physics.back() == inciter::ctr::PhysicsType::ADVDIFF) { - auto& u0 = stack.template get< tag::param, eq, tag::u0 >(); + auto& u0 = stack.template get< param, eq, tag::u0 >(); if (u0.back().size() != ncomp.back()) // must define 1 component Message< Stack, ERROR, MsgKey::WRONGSIZE >( stack, in ); - auto& diff = stack.template get< tag::param, eq, tag::diffusivity >(); + auto& diff = stack.template get< param, eq, tag::diffusivity >(); if (diff.back().size() != 3*ncomp.back()) // must define 3 components Message< Stack, ERROR, MsgKey::WRONGSIZE >( stack, in ); - auto& lambda = stack.template get< tag::param, eq, tag::lambda >(); + auto& lambda = stack.template get< param, eq, tag::lambda >(); if (lambda.back().size() != 2*ncomp.back()) // must define 2 shear comps Message< Stack, ERROR, MsgKey::WRONGSIZE >( stack, in ); } // If problem type is not given, error out - auto& problem = stack.template get< tag::param, eq, tag::problem >(); + auto& problem = stack.template get< param, eq, tag::problem >(); if (problem.empty() || problem.size() != neq.get< eq >()) Message< Stack, ERROR, MsgKey::NOPROBLEM >( stack, in ); // Error check Dirichlet boundary condition block for all transport eq // configurations - for (const auto& s : stack.template get< tag::param, eq, tag::bcdir >()) - if (s.empty()) - Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); + const auto& bc = stack.template get< param, eq, tag::bc, tag::bcdir >(); + for (const auto& s : bc) + if (s.empty()) Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); } }; @@ -137,14 +142,15 @@ namespace grm { template< typename Input, typename Stack > static void apply( const Input& in, Stack& stack ) { using inciter::deck::neq; + using tag::param; // Error out if no dependent variable has been selected - auto& depvar = stack.template get< tag::param, eq, tag::depvar >(); + auto& depvar = stack.template get< param, eq, tag::depvar >(); if (depvar.empty() || depvar.size() != neq.get< eq >()) Message< Stack, ERROR, MsgKey::NODEPVAR >( stack, in ); // If physics type is not given, default to 'euler' - auto& physics = stack.template get< tag::param, eq, tag::physics >(); + auto& physics = stack.template get< param, eq, tag::physics >(); if (physics.empty() || physics.size() != neq.get< eq >()) { physics.push_back( inciter::ctr::PhysicsType::EULER ); } @@ -152,16 +158,42 @@ namespace grm { // Set number of components to 5 (mass, 3 x mom, energy) stack.template get< tag::component, eq >().push_back( 5 ); - // Verify correct number of multi-material properties configured - const auto& gamma = stack.template get< tag::param, eq, tag::gamma >(); + // Set default to sysfct (on/off) if not specified + auto& sysfct = stack.template get< param, eq, tag::sysfct >(); + if (sysfct.empty() || sysfct.size() != neq.get< eq >()) + sysfct.push_back( 1 ); + + // Set default flux to HLLC if not specified + auto& flux = stack.template get< tag::param, eq, tag::flux >(); + if (flux.empty() || flux.size() != neq.get< eq >()) + flux.push_back( inciter::ctr::FluxType::HLLC ); + + // Verify that sysfctvar variables are within bounds (if specified) and + // defaults if not + auto& sysfctvar = stack.template get< param, eq, tag::sysfctvar >(); + // If sysfctvar is not specified, use all variables for system FCT + if (sysfctvar.empty() || sysfctvar.back().empty()) { + sysfctvar.push_back( {0,1,2,3,4} ); + } else { // if specified, do error checking on variables + auto& vars = sysfctvar.back(); + if (vars.size() > 5) { + Message< Stack, ERROR, MsgKey::SYSFCTVAR >( stack, in ); + } + for (const auto& i : vars) { + if (i > 4) Message< Stack, ERROR, MsgKey::SYSFCTVAR >( stack, in ); + } + } + + // Verify correct number of material properties configured + const auto& gamma = stack.template get< param, eq, tag::gamma >(); if (gamma.empty() || gamma.back().size() != 1) Message< Stack, ERROR, MsgKey::EOSGAMMA >( stack, in ); // If specific heat is not given, set defaults using cv_t = kw::mat_cv::info::expect::type; - auto& cv = stack.template get< tag::param, eq, tag::cv >(); + auto& cv = stack.template get< param, eq, tag::cv >(); // As a default, the specific heat of air (717.5 J/Kg-K) is used - if (cv.empty()) + if (cv.empty() || cv.size() != neq.get< eq >()) cv.push_back( std::vector< cv_t >( 1, 717.5 ) ); // If specific heat vector is wrong size, error out if (cv.back().size() != 1) @@ -169,34 +201,34 @@ namespace grm { // If stiffness coefficient is not given, set defaults using pstiff_t = kw::mat_pstiff::info::expect::type; - auto& pstiff = stack.template get< tag::param, eq, tag::pstiff >(); - if (pstiff.empty()) + auto& pstiff = stack.template get< param, eq, tag::pstiff >(); + if (pstiff.empty() || pstiff.size() != neq.get< eq >()) pstiff.push_back( std::vector< pstiff_t >( 1, 0.0 ) ); // If stiffness coefficient vector is wrong size, error out if (pstiff.back().size() != 1) Message< Stack, ERROR, MsgKey::EOSPSTIFF >( stack, in ); // If problem type is not given, default to 'user_defined' - auto& problem = stack.template get< tag::param, eq, tag::problem >(); + auto& problem = stack.template get< param, eq, tag::problem >(); if (problem.empty() || problem.size() != neq.get< eq >()) problem.push_back( inciter::ctr::ProblemType::USER_DEFINED ); else if (problem.back() == inciter::ctr::ProblemType::VORTICAL_FLOW) { - const auto& alpha = stack.template get< tag::param, eq, tag::alpha >(); - const auto& beta = stack.template get< tag::param, eq, tag::beta >(); - const auto& p0 = stack.template get< tag::param, eq, tag::p0 >(); + const auto& alpha = stack.template get< param, eq, tag::alpha >(); + const auto& beta = stack.template get< param, eq, tag::beta >(); + const auto& p0 = stack.template get< param, eq, tag::p0 >(); if ( alpha.size() != problem.size() || beta.size() != problem.size() || p0.size() != problem.size() ) Message< Stack, ERROR, MsgKey::VORTICAL_UNFINISHED >( stack, in ); } else if (problem.back() == inciter::ctr::ProblemType::NL_ENERGY_GROWTH) { - const auto& alpha = stack.template get< tag::param, eq, tag::alpha >(); - const auto& betax = stack.template get< tag::param, eq, tag::betax >(); - const auto& betay = stack.template get< tag::param, eq, tag::betay >(); - const auto& betaz = stack.template get< tag::param, eq, tag::betaz >(); - const auto& kappa = stack.template get< tag::param, eq, tag::kappa >(); - const auto& r0 = stack.template get< tag::param, eq, tag::r0 >(); - const auto& ce = stack.template get< tag::param, eq, tag::ce >(); + const auto& alpha = stack.template get< param, eq, tag::alpha >(); + const auto& betax = stack.template get< param, eq, tag::betax >(); + const auto& betay = stack.template get< param, eq, tag::betay >(); + const auto& betaz = stack.template get< param, eq, tag::betaz >(); + const auto& kappa = stack.template get< param, eq, tag::kappa >(); + const auto& r0 = stack.template get< param, eq, tag::r0 >(); + const auto& ce = stack.template get< param, eq, tag::ce >(); if ( alpha.size() != problem.size() || betax.size() != problem.size() || betay.size() != problem.size() || @@ -207,13 +239,13 @@ namespace grm { Message< Stack, ERROR, MsgKey::ENERGY_UNFINISHED >( stack, in); } else if (problem.back() == inciter::ctr::ProblemType::RAYLEIGH_TAYLOR) { - const auto& alpha = stack.template get< tag::param, eq, tag::alpha >(); - const auto& betax = stack.template get< tag::param, eq, tag::betax >(); - const auto& betay = stack.template get< tag::param, eq, tag::betay >(); - const auto& betaz = stack.template get< tag::param, eq, tag::betaz >(); - const auto& kappa = stack.template get< tag::param, eq, tag::kappa >(); - const auto& p0 = stack.template get< tag::param, eq, tag::p0 >(); - const auto& r0 = stack.template get< tag::param, eq, tag::r0 >(); + const auto& alpha = stack.template get< param, eq, tag::alpha >(); + const auto& betax = stack.template get< param, eq, tag::betax >(); + const auto& betay = stack.template get< param, eq, tag::betay >(); + const auto& betaz = stack.template get< param, eq, tag::betaz >(); + const auto& kappa = stack.template get< param, eq, tag::kappa >(); + const auto& p0 = stack.template get< param, eq, tag::p0 >(); + const auto& r0 = stack.template get< param, eq, tag::r0 >(); if ( alpha.size() != problem.size() || betax.size() != problem.size() || betay.size() != problem.size() || @@ -224,11 +256,88 @@ namespace grm { Message< Stack, ERROR, MsgKey::RT_UNFINISHED >( stack, in); } - // Error check Dirichlet boundary condition block for all compflow - // configurations - for (const auto& s : stack.template get< tag::param, eq, tag::bcdir >()) - if (s.empty()) - Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); + // Error check on user-defined problem type + auto& ic = stack.template get< param, eq, tag::ic >(); + auto& bgdensityic = ic.template get< tag::density >(); + auto& bgvelocityic = ic.template get< tag::velocity >(); + auto& bgpressureic = ic.template get< tag::pressure >(); + auto& bgenergyic = ic.template get< tag::energy >(); + auto& bgtemperatureic = ic.template get< tag::temperature >(); + if (problem.back() == inciter::ctr::ProblemType::USER_DEFINED) { + // must have defined background ICs for user-defined ICs + auto n = neq.get< eq >(); + if ( bgdensityic.size() != n || bgvelocityic.size() != n || + ( bgpressureic.size() != n && bgenergyic.size() != n && + bgtemperatureic.size() != n ) ) + { + Message< Stack, ERROR, MsgKey::BGICMISSING >( stack, in ); + } + + // put in empty vectors for background ICs so client code can directly + // index into these vectors using the eq system id + bgdensityic.push_back( {} ); + bgvelocityic.push_back( {} ); + bgpressureic.push_back( {} ); + bgenergyic.push_back( {} ); + bgtemperatureic.push_back( {} ); + + // Error check Dirichlet boundary condition block for all compflow + // configurations + const auto& bc = stack.template get< param, eq, tag::bc, tag::bcdir >(); + for (const auto& s : bc) + if (s.empty()) Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); + + // Error check stagnation BC block + const auto& bcstag = stack.template get(); + const auto& spoint = bcstag.template get< tag::point >(); + const auto& sradius = bcstag.template get< tag::radius >(); + if ( (!spoint.empty() && !spoint.back().empty() && + !sradius.empty() && !sradius.back().empty() && + spoint.back().size() != 3*sradius.back().size()) + || (!sradius.empty() && !sradius.back().empty() && + !spoint.empty() && !spoint.back().empty() && + spoint.back().size() != 3*sradius.back().size()) + || (!spoint.empty() && !spoint.back().empty() && + (sradius.empty() || (!sradius.empty() && sradius.back().empty()))) + || (!sradius.empty() && !sradius.back().empty() && + (spoint.empty() || (!spoint.empty() && spoint.back().empty()))) ) + { + Message< Stack, ERROR, MsgKey::STAGBCWRONG >( stack, in ); + } + + // Error check skip BC block + const auto& bcskip = stack.template get(); + const auto& kpoint = bcskip.template get< tag::point >(); + const auto& kradius = bcskip.template get< tag::radius >(); + if ( (!kpoint.empty() && !kpoint.back().empty() && + !kradius.empty() && !kradius.back().empty() && + kpoint.back().size() != 3*kradius.back().size()) + || (!kradius.empty() && !kradius.back().empty() && + !kpoint.empty() && !kpoint.back().empty() && + kpoint.back().size() != 3*kradius.back().size()) + || (!kpoint.empty() && !kpoint.back().empty() && + (kradius.empty() || (!kradius.empty() && kradius.back().empty()))) + || (!kradius.empty() && !kradius.back().empty() && + (kpoint.empty() || (!kpoint.empty() && kpoint.back().empty()))) ) + { + Message< Stack, ERROR, MsgKey::SKIPBCWRONG >( stack, in ); + } + + // Set default inititate type for box ICs + auto& icbox = ic.template get< tag::box >(); + auto& initiate = icbox.template get< tag::initiate >(); + auto& inittype = initiate.template get< tag::init >(); + if (inittype.size() != neq.get< eq >()) + inittype.push_back( inciter::ctr::InitiateType::IMPULSE ); + + // put in empty vectors for non-user-defined box ICs so client code can + // directly index into these vectors using the eq system id + icbox.template get< tag::density >().push_back( {} ); + icbox.template get< tag::velocity >().push_back( {} ); + icbox.template get< tag::pressure >().push_back( {} ); + icbox.template get< tag::energy >().push_back( {} ); + icbox.template get< tag::temperature >().push_back( {} ); + } } }; @@ -245,23 +354,25 @@ namespace grm { template< typename Input, typename Stack > static void apply( const Input& in, Stack& stack ) { using inciter::deck::neq; + using tag::param; // Error out if no dependent variable has been selected - auto& depvar = stack.template get< tag::param, eq, tag::depvar >(); + auto& depvar = stack.template get< param, eq, tag::depvar >(); if (depvar.empty() || depvar.size() != neq.get< eq >()) Message< Stack, ERROR, MsgKey::NODEPVAR >( stack, in ); // If physics type is not given, default to 'veleq' - auto& physics = stack.template get< tag::param, eq, tag::physics >(); + auto& physics = stack.template get< param, eq, tag::physics >(); if (physics.empty() || physics.size() != neq.get< eq >()) physics.push_back( inciter::ctr::PhysicsType::VELEQ ); - // Use default flux type as 'ausm' - auto& flux = stack.template get< tag::discr, tag::flux >(); - flux = inciter::ctr::FluxType::AUSM; + // Set default flux to AUSM if not specified + auto& flux = stack.template get< tag::param, eq, tag::flux >(); + if (flux.empty() || flux.size() != neq.get< eq >()) + flux.push_back( inciter::ctr::FluxType::AUSM ); // Set number of scalar components based on number of materials - auto& nmat = stack.template get< tag::param, eq, tag::nmat >(); + auto& nmat = stack.template get< param, eq, tag::nmat >(); auto& ncomp = stack.template get< tag::component, eq >(); if (physics.back() == inciter::ctr::PhysicsType::VELEQ) { // physics = veleq: m-material compressible flow @@ -277,13 +388,24 @@ namespace grm { } // Verify correct number of multi-material properties configured - auto& gamma = stack.template get< tag::param, eq, tag::gamma >(); + auto& gamma = stack.template get< param, eq, tag::gamma >(); if (gamma.empty() || gamma.back().size() != nmat.back()) Message< Stack, ERROR, MsgKey::EOSGAMMA >( stack, in ); + // If pressure relaxation is not specified, default to 'false' + auto& prelax = stack.template get< param, eq, tag::prelax >(); + if (prelax.empty() || prelax.size() != neq.get< eq >()) + prelax.push_back( 0 ); + + // If pressure relaxation time-scale is not specified, default to 1.0 + auto& prelax_ts = stack.template get< param, eq, + tag::prelax_timescale >(); + if (prelax_ts.empty() || prelax_ts.size() != neq.get< eq >()) + prelax_ts.push_back( 1.0 ); + // If specific heats are not given, set defaults using cv_t = kw::mat_cv::info::expect::type; - auto& cv = stack.template get< tag::param, eq, tag::cv >(); + auto& cv = stack.template get< param, eq, tag::cv >(); // As a default, the specific heat of air (717.5 J/Kg-K) is used if (cv.empty()) cv.push_back( std::vector< cv_t >( nmat.back(), 717.5 ) ); @@ -293,7 +415,7 @@ namespace grm { // If stiffness coefficients are not given, set defaults using pstiff_t = kw::mat_pstiff::info::expect::type; - auto& pstiff = stack.template get< tag::param, eq, tag::pstiff >(); + auto& pstiff = stack.template get< param, eq, tag::pstiff >(); if (pstiff.empty()) pstiff.push_back( std::vector< pstiff_t >( nmat.back(), 0.0 ) ); // If stiffness coefficient vector is wrong size, error out @@ -301,13 +423,13 @@ namespace grm { Message< Stack, ERROR, MsgKey::EOSPSTIFF >( stack, in ); // If problem type is not given, default to 'user_defined' - auto& problem = stack.template get< tag::param, eq, tag::problem >(); + auto& problem = stack.template get< param, eq, tag::problem >(); if (problem.empty() || problem.size() != neq.get< eq >()) problem.push_back( inciter::ctr::ProblemType::USER_DEFINED ); else if (problem.back() == inciter::ctr::ProblemType::VORTICAL_FLOW) { - const auto& alpha = stack.template get< tag::param, eq, tag::alpha >(); - const auto& beta = stack.template get< tag::param, eq, tag::beta >(); - const auto& p0 = stack.template get< tag::param, eq, tag::p0 >(); + const auto& alpha = stack.template get< param, eq, tag::alpha >(); + const auto& beta = stack.template get< param, eq, tag::beta >(); + const auto& p0 = stack.template get< param, eq, tag::p0 >(); if ( alpha.size() != problem.size() || beta.size() != problem.size() || p0.size() != problem.size() ) @@ -316,9 +438,9 @@ namespace grm { // Error check Dirichlet boundary condition block for all multimat // configurations - for (const auto& s : stack.template get< tag::param, eq, tag::bcdir >()) - if (s.empty()) - Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); + const auto& bc = stack.template get< param, eq, tag::bc, tag::bcdir >(); + for (const auto& s : bc) + if (s.empty()) Message< Stack, ERROR, MsgKey::BC_EMPTY >( stack, in ); } }; @@ -338,6 +460,35 @@ namespace grm { } }; + //! Function object to ensure disjoint side sets for all boundary conditions + //! \details This is instantiated using a Cartesian product of all PDE types + //! and all BC types at compile time. It goes through all side sets + //! configured by the user and triggers an error if a side set is assigned + //! a BC more than once. + template< typename Input, typename Stack > + struct ensure_disjoint { + const Input& m_input; + Stack& m_stack; + std::unordered_set< int >& m_bcset; + explicit ensure_disjoint( const Input& in, + Stack& stack, + std::unordered_set< int >& bcset ) : + m_input( in ), m_stack( stack ), m_bcset( bcset ) {} + template< typename U > void operator()( brigand::type_ ) { + using Eq = typename brigand::front< U >; + using BC = typename brigand::back< U >; + const auto& bc = m_stack.template get< tag::param, Eq, tag::bc, BC >(); + for (const auto& eq : bc) + for (const auto& s : eq) { + auto id = std::stoi(s); + if (m_bcset.find(id) != end(m_bcset)) + Message< Stack, ERROR, MsgKey::NONDISJOINTBC >( m_stack, m_input ); + else + m_bcset.insert( id ); + } + } + }; + //! Rule used to trigger action struct check_inciter : pegtl::success {}; //! \brief Do error checking on the inciter block @@ -398,15 +549,42 @@ namespace grm { stack.template get< tag::discr, tag::ndof >() = 10; stack.template get< tag::discr, tag::rdof >() = 10; } - // if pDG is configured, set ndofs and rdofs to be 4 and the adaptive - // indicator pref set to be true (temporary for P0/P1 adaptive) + // if pDG is configured, set ndofs and rdofs to be 10 and the adaptive + // indicator pref set to be true if (stack.template get< tag::discr, tag::scheme >() == inciter::ctr::SchemeType::PDG) { - stack.template get< tag::discr, tag::ndof >() = 4; - stack.template get< tag::discr, tag::rdof >() = 4; + stack.template get< tag::discr, tag::ndof >() = 10; + stack.template get< tag::discr, tag::rdof >() = 10; stack.template get< tag::pref, tag::pref >() = true; } + + // Do error checking on time history points + const auto& hist = stack.template get< tag::history, tag::point >(); + if (std::any_of( begin(hist), end(hist), + [](const auto& p){ return p.size() != 3; } ) ) + { + Message< Stack, ERROR, MsgKey::WRONGSIZE >( stack, in ); + } + + // Do error checking on residual eq system component index + const auto rc = stack.template get< tag::discr, tag::rescomp >(); + const auto& ncomps = stack.template get< tag::component >(); + if (rc < 1 || rc > ncomps.nprop()) + Message< Stack, ERROR, MsgKey::LARGECOMP >( stack, in ); + + // Ensure no different BC types are assigned to the same side set + using PDETypes = inciter::ctr::parameters::Keys; + using BCTypes = inciter::ctr::bc::Keys; + std::unordered_set< int > bcset; + brigand::for_each< tk::cartesian_product< PDETypes, BCTypes > >( + ensure_disjoint< Input, Stack >( in, stack, bcset ) ); + + // Do error checking on time history point names (this is a programmer + // error if triggers, hence assert) + Assert( + (stack.template get< tag::history, tag::id >().size() == hist.size()), + "Number of history points and ids must equal" ); } }; @@ -509,6 +687,26 @@ namespace grm { } }; + //! Rule used to trigger action + struct match_pointname : pegtl::success {}; + //! \brief Match PDF name to the registered ones + //! \details This is used to check the set of PDF names dependent previously + //! registered to make sure all are unique. + template<> + struct action< match_pointname > { + template< typename Input, typename Stack > + static void apply( const Input& in, Stack& stack ) { + using inciter::deck::pointnames; + // find matched name in set of registered ones + if (pointnames.find( in.string() ) == pointnames.end()) { + pointnames.insert( in.string() ); + stack.template get< tag::history, tag::id >().push_back( in.string() ); + } + else // error out if name matched var is already registered + Message< Stack, ERROR, MsgKey::POINTEXISTS >( stack, in ); + } + }; + } // ::grm } // ::tk @@ -556,30 +754,57 @@ namespace deck { tk::grm::discrparam< use, kw::t0, tag::t0 >, tk::grm::discrparam< use, kw::dt, tag::dt >, tk::grm::discrparam< use, kw::cfl, tag::cfl >, - tk::grm::discrparam< use, kw::ctau, tag::ctau >, - tk::grm::process< use< kw::fct >, + tk::grm::discrparam< use, kw::residual, tag::residual >, + tk::grm::discrparam< use, kw::rescomp, tag::rescomp >, + tk::grm::process< use< kw::fcteps >, + tk::grm::Store< tag::discr, tag::fcteps > >, + tk::grm::process< use< kw::fctclip >, + tk::grm::Store< tag::discr, tag::fctclip >, + pegtl::alpha >, + tk::grm::process< use< kw::fct >, tk::grm::Store< tag::discr, tag::fct >, pegtl::alpha >, - tk::grm::process< use< kw::reorder >, - tk::grm::Store< tag::discr, tag::reorder >, + tk::grm::process< use< kw::ctau >, + tk::grm::Store< tag::discr, tag::ctau > >, + tk::grm::process< use< kw::pelocal_reorder >, + tk::grm::Store< tag::discr, tag::pelocal_reorder >, + pegtl::alpha >, + tk::grm::process< use< kw::operator_reorder >, + tk::grm::Store< tag::discr, tag::operator_reorder >, + pegtl::alpha >, + tk::grm::process< use< kw::steady_state >, + tk::grm::Store< tag::discr, tag::steady_state >, pegtl::alpha >, tk::grm::interval< use< kw::ttyi >, tag::tty >, discroption< use, kw::scheme, inciter::ctr::Scheme, tag::scheme >, - discroption< use, kw::flux, inciter::ctr::Flux, tag::flux >, discroption< use, kw::limiter, inciter::ctr::Limiter, tag::limiter >, tk::grm::discrparam< use, kw::cweight, tag::cweight > > {}; //! PDE parameter vector - template< class keyword, class eq, class param > + template< class keyword, class eq, class param, class... xparams > struct pde_parameter_vector : tk::grm::parameter_vector< use, use< keyword >, tk::grm::Store_back_back, tk::grm::start_vector, tk::grm::check_vector, - eq, - param > {}; + eq, param, xparams... > {}; + + //! put in PDE parameter for equation matching keyword + template< typename eq, typename keyword, typename param, + class kw_type = tk::grm::number > + struct parameter : + tk::grm::process< use< keyword >, + tk::grm::Store_back< tag::param, eq, param >, + kw_type > {}; + + //! put in PDE bool parameter for equation matching keyword into vector< int > + template< typename eq, typename keyword, typename p > + struct parameter_bool : + tk::grm::process< use< keyword >, + tk::grm::Store_back_bool< tag::param, eq, p >, + pegtl::alpha > {}; //! Boundary conditions block template< class keyword, class eq, class param > @@ -593,8 +818,44 @@ namespace deck { tk::grm::Store_back_back, tk::grm::start_vector, tk::grm::check_vector, - eq, - param > > > {}; + eq, tag::bc, param > > > {}; + + //! Stagnation boundary conditions block + template< class eq, class bc, class kwbc > + struct bc_spec : + pegtl::if_must< + tk::grm::readkw< typename kwbc::pegtl_string >, + tk::grm::block< + use< kw::end >, + tk::grm::parameter_vector< use, + use< kw::radius >, + tk::grm::Store_back_back, + tk::grm::start_vector, + tk::grm::check_vector, + eq, bc, tag::radius >, + tk::grm::parameter_vector< use, + use< kw::point >, + tk::grm::Store_back_back, + tk::grm::start_vector, + tk::grm::check_vector, + eq, bc, tag::point > > > {}; + + //! Farfield boundary conditions block + template< class keyword, class eq, class param > + struct farfield_bc : + pegtl::if_must< + tk::grm::readkw< typename use< keyword >::pegtl_string >, + tk::grm::block< + use< kw::end >, + parameter< eq, kw::pressure, tag::farfield_pressure >, + parameter< eq, kw::density, tag::farfield_density >, + pde_parameter_vector< kw::velocity, eq, tag::farfield_velocity >, + tk::grm::parameter_vector< use, + use< kw::sideset >, + tk::grm::Store_back_back, + tk::grm::start_vector, + tk::grm::check_vector, + eq, tag::bc, param > > > {}; //! edgelist ... end block struct edgelist : @@ -608,32 +869,106 @@ namespace deck { struct half_world : tk::grm::control< use< keyword >, pegtl::digit, tag::amr, Tag > {}; - //! coordref ... end block - struct coordref : + //! coords ... end block + struct coords : pegtl::if_must< - tk::grm::readkw< use< kw::amr_coordref >::pegtl_string >, + tk::grm::readkw< use< kw::amr_coords >::pegtl_string >, tk::grm::block< use< kw::end >, - half_world< kw::amr_xminus, tag::xminus >, - half_world< kw::amr_xplus, tag::xplus >, - half_world< kw::amr_yminus, tag::yminus >, - half_world< kw::amr_yplus, tag::yplus >, - half_world< kw::amr_zminus, tag::zminus >, - half_world< kw::amr_zplus, tag::zplus > > > {}; + half_world< kw::amr_xminus, tag::xminus >, + half_world< kw::amr_xplus, tag::xplus >, + half_world< kw::amr_yminus, tag::yminus >, + half_world< kw::amr_yplus, tag::yplus >, + half_world< kw::amr_zminus, tag::zminus >, + half_world< kw::amr_zplus, tag::zplus > > > {}; + + //! initial conditins box block + template< class eq > + struct box : + pegtl::if_must< + tk::grm::readkw< use< kw::box >::pegtl_string >, + tk::grm::block< use< kw::end >, + tk::grm::control< use< kw::xmin >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::xmin >, + tk::grm::control< use< kw::xmax >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::xmax >, + tk::grm::control< use< kw::ymin >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::ymin >, + tk::grm::control< use< kw::ymax >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::ymax >, + tk::grm::control< use< kw::zmin >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::zmin >, + tk::grm::control< use< kw::zmax >, tk::grm::number, + tag::param, eq, tag::ic, tag::box, tag::zmax >, + pegtl::sor< + pde_parameter_vector< kw::density, + eq, tag::ic, tag::box, tag::density >, + pde_parameter_vector< kw::velocity, + eq, tag::ic, tag::box, tag::velocity >, + pde_parameter_vector< kw::pressure, + eq, tag::ic, tag::box, tag::pressure >, + pde_parameter_vector< kw::temperature, + eq, tag::ic, tag::box, tag::temperature >, + pde_parameter_vector< kw::mass, + eq, tag::ic, tag::box, tag::mass >, + pde_parameter_vector< kw::energy_content, + eq, tag::ic, tag::box, tag::energy_content >, + pde_parameter_vector< kw::energy, + eq, tag::ic, tag::box, tag::energy >, + tk::grm::process< use< kw::initiate >, + tk::grm::store_back_option< use, + ctr::Initiate, + tag::param, + eq, + tag::ic, + tag::box, + tag::initiate, + tag::init >, + pegtl::alpha >, + pegtl::if_must< + tk::grm::readkw< use< kw::linear >::pegtl_string >, + tk::grm::block< use< kw::end >, + tk::grm::parameter_vector< use, + use< kw::point >, + tk::grm::Store_back_back, + tk::grm::start_vector, + tk::grm::check_vector, + eq, + tag::ic, + tag::box, + tag::initiate, + tag::point >, + tk::grm::parameter_vector< use, + use< kw::radius >, + tk::grm::Store_back_back, + tk::grm::start_vector, + tk::grm::check_vector, + eq, + tag::ic, + tag::box, + tag::initiate, + tag::radius >, + pde_parameter_vector< kw::velocity, + eq, tag::ic, tag::box, tag::initiate, tag::velocity > > > + > > > {}; //! initial conditions block for compressible flow - template< class eq, class param > - struct ic_compflow : - pegtl::if_must< - tk::grm::readkw< use< kw::ic >::pegtl_string >, - tk::grm::block< - use< kw::end >, - tk::grm::parameter_vector< use, - use< kw::velocity >, - tk::grm::Store_back_back, - tk::grm::start_vector, - tk::grm::check_vector, - eq, - param > > > {}; + template< class eq > + struct ic : + pegtl::if_must< + tk::grm::readkw< use< kw::ic >::pegtl_string >, + tk::grm::block< use< kw::end >, + pegtl::sor< + pde_parameter_vector< kw::density, + eq, tag::ic, tag::density >, + pde_parameter_vector< kw::velocity, + eq, tag::ic, tag::velocity >, + pde_parameter_vector< kw::pressure, + eq, tag::ic, tag::pressure >, + pde_parameter_vector< kw::temperature, + eq, tag::ic, tag::temperature >, + pde_parameter_vector< kw::energy, + eq, tag::ic, tag::energy > >, + pegtl::seq< box< eq > > > > {}; //! put in material property for equation matching keyword template< typename eq, typename keyword, typename property > @@ -643,23 +978,15 @@ namespace deck { //! Material properties block for compressible flow template< class eq > struct material_properties : - pegtl::if_must< - tk::grm::readkw< use< kw::material >::pegtl_string >, - tk::grm::block< - use< kw::end >, - material_property< eq, kw::mat_gamma, tag::gamma >, - material_property< eq, kw::mat_pstiff, tag::pstiff >, - material_property< eq, kw::mat_mu, tag::mu >, - material_property< eq, kw::mat_cv, tag::cv >, - material_property< eq, kw::mat_k, tag::k > > > {}; - - //! put in PDE parameter for equation matching keyword - template< typename eq, typename keyword, typename p, - class kw_type = tk::grm::number > - struct parameter : - tk::grm::process< use< keyword >, - tk::grm::Store_back< tag::param, eq, p >, - kw_type > {}; + pegtl::if_must< + tk::grm::readkw< use< kw::material >::pegtl_string >, + tk::grm::block< + use< kw::end >, + material_property< eq, kw::mat_gamma, tag::gamma >, + material_property< eq, kw::mat_pstiff, tag::pstiff >, + material_property< eq, kw::mat_mu, tag::mu >, + material_property< eq, kw::mat_cv, tag::cv >, + material_property< eq, kw::mat_k, tag::k > > > {}; //! transport equation for scalars struct transport : @@ -716,23 +1043,51 @@ namespace deck { tk::grm::depvar< use, tag::compflow, tag::depvar >, - //ic_compflow< tag::compflow, tag::ic > >, + tk::grm::process< + use< kw::flux >, + tk::grm::store_back_option< use, + ctr::Flux, + tag::param, + tag::compflow, + tag::flux >, + pegtl::alpha >, + ic< tag::compflow >, + tk::grm::lua< use, tag::param, tag::compflow >, material_properties< tag::compflow >, - parameter< tag::compflow, kw::npar, tag::npar, - pegtl::digit >, - parameter< tag::compflow, kw::pde_alpha, tag::alpha >, - parameter< tag::compflow, kw::pde_p0, tag::p0 >, - parameter< tag::compflow, kw::pde_betax, tag::betax >, - parameter< tag::compflow, kw::pde_betay, tag::betay >, - parameter< tag::compflow, kw::pde_betaz, tag::betaz >, - parameter< tag::compflow, kw::pde_beta, tag::beta >, - parameter< tag::compflow, kw::pde_r0, tag::r0 >, - parameter< tag::compflow, kw::pde_ce, tag::ce >, - parameter< tag::compflow, kw::pde_kappa, tag::kappa >, + pde_parameter_vector< kw::sysfctvar, + tag::compflow, + tag::sysfctvar >, + parameter_bool< tag::compflow, + kw::sysfct, + tag::sysfct >, + parameter< tag::compflow, kw::npar, + tag::npar, pegtl::digit >, + parameter< tag::compflow, kw::pde_alpha, + tag::alpha >, + parameter< tag::compflow, kw::pde_p0, + tag::p0 >, + parameter< tag::compflow, kw::pde_betax, + tag::betax >, + parameter< tag::compflow, kw::pde_betay, + tag::betay >, + parameter< tag::compflow, kw::pde_betaz, + tag::betaz >, + parameter< tag::compflow, kw::pde_beta, + tag::beta >, + parameter< tag::compflow, kw::pde_r0, + tag::r0 >, + parameter< tag::compflow, kw::pde_ce, + tag::ce >, + parameter< tag::compflow, kw::pde_kappa, + tag::kappa >, bc< kw::bc_dirichlet, tag::compflow, tag::bcdir >, bc< kw::bc_sym, tag::compflow, tag::bcsym >, + bc_spec< tag::compflow, tag::bcstag, kw::bc_stag >, + bc_spec< tag::compflow, tag::bcskip, kw::bc_skip >, bc< kw::bc_inlet, tag::compflow, tag::bcinlet >, - bc< kw::bc_outlet, tag::compflow, tag::bcoutlet >, + farfield_bc< kw::bc_farfield, + tag::compflow, + tag::bcfarfield >, bc< kw::bc_extrapolate, tag::compflow, tag::bcextrapolate > >, check_errors< tag::compflow, tk::grm::check_compflow > > {}; @@ -758,6 +1113,14 @@ namespace deck { parameter< tag::multimat, kw::nmat, tag::nmat >, + tk::grm::process< + use< kw::flux >, + tk::grm::store_back_option< use, + ctr::Flux, + tag::param, + tag::multimat, + tag::flux >, + pegtl::alpha >, material_properties< tag::multimat >, parameter< tag::multimat, kw::pde_alpha, @@ -782,7 +1145,13 @@ namespace deck { tag::bcoutlet >, bc< kw::bc_extrapolate, tag::multimat, - tag::bcextrapolate > >, + tag::bcextrapolate >, + parameter< tag::multimat, + kw::prelax_timescale, + tag::prelax_timescale >, + parameter< tag::multimat, + kw::prelax, + tag::prelax > >, check_errors< tag::multimat, tk::grm::check_multimat > > {}; //! partitioning ... end block @@ -821,7 +1190,7 @@ namespace deck { tk::grm::block< use< kw::end >, refvars, edgelist, - coordref, + coords, tk::grm::process< use< kw::amr_initial >, tk::grm::store_back_option< use, @@ -866,22 +1235,63 @@ namespace deck { tk::grm::control< use< kw::pref_tolref >, pegtl::digit, tag::pref, - tag::tolref > >, + tag::tolref >, + tk::grm::control< use< kw::pref_ndofmax >, + pegtl::digit, + tag::pref, + tag::ndofmax >, + tk::grm::process< + use< kw::pref_indicator >, + tk::grm::store_inciter_option< + ctr::PrefIndicator, + tag::pref, tag::indicator >, + pegtl::alpha > + >, tk::grm::check_pref_errors > {}; //! plotvar ... end block struct plotvar : pegtl::if_must< tk::grm::readkw< use< kw::plotvar >::pegtl_string >, - tk::grm::block< use< kw::end >, - tk::grm::process< use< kw::filetype >, - tk::grm::store_inciter_option< - tk::ctr::FieldFile, - tag::selected, - tag::filetype >, - pegtl::alpha >, - tk::grm::interval< use< kw::interval >, - tag::field > > > {}; + tk::grm::block< + use< kw::end >, + tk::grm::process< use< kw::filetype >, + tk::grm::store_inciter_option< + tk::ctr::FieldFile, + tag::selected, + tag::filetype >, + pegtl::alpha >, + tk::grm::interval< use< kw::interval >, tag::field >, + pegtl::if_must< + tk::grm::vector< + use< kw::sideset >, + tk::grm::Store_back< tag::cmd, tag::io, tag::surface >, + use< kw::end > > > > > {}; + + //! history ... end block + struct history : + pegtl::if_must< + tk::grm::readkw< use< kw::history >::pegtl_string >, + tk::grm::block< + use< kw::end >, + tk::grm::interval< use< kw::interval >, tag::history >, + tk::grm::precision< use, tag::history >, + tk::grm::process< + use< kw::txt_float_format >, + tk::grm::store_inciter_option< tk::ctr::TxtFloatFormat, + tag::flformat, + tag::history >, + pegtl::alpha >, + pegtl::if_must< + tk::grm::readkw< use< kw::point >::pegtl_string >, + tk::grm::act< pegtl::identifier, tk::grm::match_pointname >, + pegtl::seq< + tk::grm::start_vector< tag::history, tag::point >, + tk::grm::block< + use< kw::end >, + tk::grm::scan< tk::grm::number, + tk::grm::Store_back_back< tag::history, tag::point > > > + > > > > {}; //! 'inciter' block struct inciter : @@ -896,6 +1306,7 @@ namespace deck { pref, partitioning, plotvar, + history, tk::grm::diagnostics< use, tk::grm::store_inciter_option > >, diff --git a/src/Control/Inciter/InputDeck/InputDeck.hpp b/src/Control/Inciter/InputDeck/InputDeck.hpp index 2e90d78a67c..1c4078cd66d 100644 --- a/src/Control/Inciter/InputDeck/InputDeck.hpp +++ b/src/Control/Inciter/InputDeck/InputDeck.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/InputDeck/InputDeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's input deck definition \details This file defines the heterogeneous stack that is used for storing @@ -30,7 +30,8 @@ namespace ctr { //! Member data for tagged tuple using InputDeckMembers = brigand::list< - tag::title, kw::title::info::expect::type + tag::cmd, CmdLine + , tag::title, kw::title::info::expect::type , tag::selected, selects , tag::amr, amr , tag::pref, pref @@ -39,10 +40,10 @@ using InputDeckMembers = brigand::list< , tag::flformat, floatformat , tag::component, ncomps , tag::interval, intervals - , tag::cmd, CmdLine , tag::param, parameters , tag::diag, diagnostics , tag::error, std::vector< std::string > + , tag::history, history >; //! \brief InputDeck : Control< specialized to Inciter >, see Types.h, @@ -85,12 +86,31 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { kw::compflow, kw::multimat, kw::ic, + kw::box, + kw::lua, + kw::mass, + kw::density, + kw::velocity, + kw::initiate, + kw::impulse, + kw::linear, + kw::pressure, + kw::energy, + kw::energy_content, + kw::temperature, + kw::xmin, + kw::xmax, + kw::ymin, + kw::ymax, + kw::zmin, + kw::zmax, kw::txt_float_format, kw::txt_float_default, kw::txt_float_fixed, kw::txt_float_scientific, kw::precision, kw::diagnostics, + kw::history, kw::material, kw::id, kw::mat_gamma, @@ -130,7 +150,15 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { kw::l2, kw::linf, kw::fct, - kw::reorder, + kw::fctclip, + kw::fcteps, + kw::sysfct, + kw::sysfctvar, + kw::pelocal_reorder, + kw::operator_reorder, + kw::steady_state, + kw::residual, + kw::rescomp, kw::amr, kw::amr_t0ref, kw::amr_dtref, @@ -148,7 +176,6 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { kw::amr_tolref, kw::amr_tolderef, kw::amr_edgelist, - kw::amr_coordref, kw::amr_xminus, kw::amr_xplus, kw::amr_yminus, @@ -156,6 +183,10 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { kw::amr_zminus, kw::amr_zplus, kw::pref, + kw::pref_indicator, + kw::pref_spectral_decay, + kw::pref_non_conformity, + kw::pref_ndofmax, kw::pref_tolref, kw::scheme, kw::diagcg, @@ -170,21 +201,41 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { kw::hllc, kw::upwind, kw::ausm, + kw::hll, kw::limiter, kw::cweight, kw::nolimiter, kw::wenop1, kw::superbeep1, + kw::vertexbasedp1, + kw::prelax, + kw::prelax_timescale, kw::bc_sym, kw::bc_inlet, kw::bc_outlet, + kw::bc_farfield, kw::bc_extrapolate, + kw::bc_stag, + kw::bc_skip, + kw::point, + kw::radius, kw::gauss_hump, kw::rotated_sod_shocktube, kw::cyl_advect, + kw::shedding_flow, kw::sod_shocktube, kw::sedov_blastwave, - kw::interface_advection >; + kw::interface_advection, + kw::gauss_hump_compflow, + kw::waterair_shocktube, + kw::triple_point, + kw::gas_impact, + kw::gas_impact_4mat, + kw::shock_hebubble, + kw::underwater_ex >; + + //! Set of tags to ignore when printing this InputDeck + using ignore = CmdLine::ignore; //! \brief Constructor: set defaults //! \param[in] cl Previously parsed and store command line @@ -202,10 +253,16 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { get< tag::discr, tag::dt >() = 0.0; get< tag::discr, tag::cfl >() = 0.0; get< tag::discr, tag::fct >() = true; - get< tag::discr, tag::reorder >() = false; + get< tag::discr, tag::fctclip >() = false; get< tag::discr, tag::ctau >() = 1.0; + get< tag::discr, tag::fcteps >() = + std::numeric_limits< tk::real >::epsilon(); + get< tag::discr, tag::pelocal_reorder >() = false; + get< tag::discr, tag::operator_reorder >() = false; + get< tag::discr, tag::steady_state >() = false; + get< tag::discr, tag::residual >() = 1.0e-8; + get< tag::discr, tag::rescomp >() = 1; get< tag::discr, tag::scheme >() = SchemeType::DiagCG; - get< tag::discr, tag::flux >() = FluxType::HLLC; get< tag::discr, tag::ndof >() = 1; get< tag::discr, tag::limiter >() = LimiterType::NOLIMITER; get< tag::discr, tag::cweight >() = 1.0; @@ -223,7 +280,7 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { get< tag::amr, tag::tolref >() = 0.2; get< tag::amr, tag::tolderef >() = 0.05; auto rmax = - std::numeric_limits< kw::amr_xminus::info::expect::type >::max(); + std::numeric_limits< kw::amr_xminus::info::expect::type >::max() / 100; get< tag::amr, tag::xminus >() = rmax; get< tag::amr, tag::xplus >() = -rmax; get< tag::amr, tag::yminus >() = rmax; @@ -232,13 +289,17 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { get< tag::amr, tag::zplus >() = -rmax; // Default p-refinement settings get< tag::pref, tag::pref >() = false; - get< tag::pref, tag::tolref >() = 0.1; + get< tag::pref, tag::indicator >() = PrefIndicatorType::SPECTRAL_DECAY; + get< tag::pref, tag::ndofmax >() = 10; + get< tag::pref, tag::tolref >() = 0.5; // Default txt floating-point output precision in digits get< tag::prec, tag::diag >() = std::cout.precision(); + get< tag::prec, tag::history >() = std::cout.precision(); // Default intervals get< tag::interval, tag::tty >() = 1; get< tag::interval, tag::field >() = 1; get< tag::interval, tag::diag >() = 1; + get< tag::interval, tag::history >() = 1; // Initialize help: fill own keywords const auto& ctrinfoFill = tk::ctr::Info( get< tag::cmd, tag::ctrinfo >() ); brigand::for_each< keywords >( ctrinfoFill ); @@ -254,6 +315,43 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { //! \param[in,out] i InputDeck object reference friend void operator|( PUP::er& p, InputDeck& i ) { i.pup(p); } //@} + + //! Extract surface side set ids along which user wants to save solution + //! \return Unique set of surface side set ids along which user wants to + //! save solution field variables + //! \note This returns an ordered set so the order of the set ids are + //! always the same. + std::set< int > outsets() const { + std::set< int > ids; + for (const auto& s : get< tag::cmd, tag::io, tag::surface >()) { + std::stringstream conv( s ); + int num; + conv >> num; + ids.insert( num ); + } + return ids; + } + + //! Query special point BC configuration + //! \tparam eq PDE type to query + //! \tparam bc Special BC type to query, e.g., stagnation, skip + //! \param[in] system Equation system id + //! \return Vectors configuring the special points and their radii + template< class eq, class bc > + std::tuple< std::vector< tk::real >, std::vector< tk::real > > + specialBC( std::size_t system ) { + const auto& bcspec = get< tag::param, eq, bc >(); + const auto& point = bcspec.template get< tag::point >(); + const auto& radius = bcspec.template get< tag::radius >(); + std::vector< tk::real > pnt; + std::vector< tk::real > rad; + if (point.size() > system && radius.size() > system) { + pnt = point[ system ]; + rad = radius[ system ]; + } + Assert( pnt.size() == 3*rad.size(), "Size mismatch" ); + return { std::move(pnt), std::move(rad) }; + } }; } // ctr:: diff --git a/src/Control/Inciter/InputDeck/LuaGrammar.hpp b/src/Control/Inciter/InputDeck/LuaGrammar.hpp new file mode 100644 index 00000000000..e0da92c124e --- /dev/null +++ b/src/Control/Inciter/InputDeck/LuaGrammar.hpp @@ -0,0 +1,86 @@ +// ***************************************************************************** +/*! + \file src/Control/Inciter/InputDeck/LuaGrammar.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Inciter's input deck grammar definition using Lua + \details Inciter's input deck grammar definition using Lua. +*/ +// ***************************************************************************** +#ifndef InciterInputDeckLuaGrammar_h +#define InciterInputDeckLuaGrammar_h + +#include "Inciter/InputDeck/Grammar.hpp" + +namespace inciter { +namespace lua { + +//! Interpret inciter box ... end block using Lua +template< class eq > +void box( const sol::table& tbl, ctr::box& icbox ) { + + // get access to the 'box' table within the 'tbl' lua table + const auto& boxlua = tbl.get_or< sol::table >( kw::box::string(), {} ); + + if (boxlua != sol::lua_nil) { // if table 'box' exists in table + using v = std::vector< tk::real >; + + icbox.template get< tag::xmin >() = + boxlua.get_or( kw::xmin::string(), 0.0 ); + icbox.template get< tag::xmax >() = + boxlua.get_or( kw::xmax::string(), 0.0 ); + icbox.template get< tag::ymin >() = + boxlua.get_or( kw::ymin::string(), 0.0 ); + icbox.template get< tag::ymax >() = + boxlua.get_or( kw::ymax::string(), 0.0 ); + icbox.template get< tag::zmin >() = + boxlua.get_or( kw::zmin::string(), 0.0 ); + icbox.template get< tag::zmax >() = + boxlua.get_or( kw::zmax::string(), 0.0 ); + + icbox.template get< tag::density >().back() = + boxlua.get_or< v >( kw::density::string(), {} ); + icbox.template get< tag::velocity >().back() = + boxlua.get_or< v >( kw::velocity::string(), {} ); + icbox.template get< tag::pressure >().back() = + boxlua.get_or< v >( kw::pressure::string(), {} ); + icbox.template get< tag::energy >().back() = + boxlua.get_or< v >( kw::energy::string(), {} ); + icbox.template get< tag::temperature >().back() = + boxlua.get_or< v >( kw::temperature::string(), {} ); + } +} + +//! Interpret inciter ic ... end block using Lua +template< class eq > +void ic( const sol::state& lua, ctr::InputDeck& deck ) { + + // get access to the 'ic' table in lua + const auto& iclua = lua.get_or< sol::table >( kw::ic::string(), {} ); + + if (iclua != sol::lua_nil) { // if table 'ic' exists in lua + using v = std::vector< tk::real >; + auto& icblock = deck.get< tag::param, eq, tag::ic >(); + + icblock.template get< tag::density >().back() = + iclua.get_or< v >( kw::density::string(), {} ); + icblock.template get< tag::velocity >().back() = + iclua.get_or< v >( kw::velocity::string(), {} ); + icblock.template get< tag::pressure >().back() = + iclua.get_or< v >( kw::pressure::string(), {} ); + icblock.template get< tag::energy >().back() = + iclua.get_or< v >( kw::energy::string(), {} ); + icblock.template get< tag::temperature >().back() = + iclua.get_or< v >( kw::temperature::string(), {} ); + + // interpret 'box' table within 'ic' table + box< eq >( iclua, icblock.template get< tag::box >() ); + } +} + +} // ::lua +} // ::inciter + +#endif // InciterInputDeckLuaGrammar_h diff --git a/src/Control/Inciter/InputDeck/Parser.cpp b/src/Control/Inciter/InputDeck/Parser.cpp index 5cbb4888d88..c6804ed4363 100644 --- a/src/Control/Inciter/InputDeck/Parser.cpp +++ b/src/Control/Inciter/InputDeck/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/InputDeck/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's input deck file parser \details This file defines the input deck, i.e., control file, parser for @@ -15,6 +15,7 @@ #include #include "NoWarning/pegtl.hpp" +#include "NoWarning/sol.hpp" #include "Print.hpp" #include "Tags.hpp" @@ -22,6 +23,7 @@ #include "Inciter/InputDeck/InputDeck.hpp" #include "Inciter/InputDeck/Parser.hpp" #include "Inciter/InputDeck/Grammar.hpp" +#include "Inciter/InputDeck/LuaGrammar.hpp" namespace tk { namespace grm { @@ -63,6 +65,12 @@ InputDeckParser::InputDeckParser( const tk::Print& print, tao::pegtl::file_input<> in( m_filename ); tao::pegtl::parse< deck::read_file, tk::grm::action >( in, id ); + // Parse lua ... end block(s) as Lua code using Sol2 + sol::state lua; + lua.script( id.get< tag::param, tag::compflow, tag::lua >() ); + // Interpret ic ... end block within lua block + lua::ic< tag::compflow >( lua, id ); + // Echo errors and warnings accumulated during parsing diagnostics( print, id.get< tag::error >() ); diff --git a/src/Control/Inciter/InputDeck/Parser.hpp b/src/Control/Inciter/InputDeck/Parser.hpp index 57ddaf4636a..75b5a7bb4bd 100644 --- a/src/Control/Inciter/InputDeck/Parser.hpp +++ b/src/Control/Inciter/InputDeck/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/InputDeck/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter's input deck file parser \details This file declares the input deck, i.e., control file, parser for diff --git a/src/Control/Inciter/Options/AMRError.hpp b/src/Control/Inciter/Options/AMRError.hpp index ae5c083ad7e..28c74c6112a 100644 --- a/src/Control/Inciter/Options/AMRError.hpp +++ b/src/Control/Inciter/Options/AMRError.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/AMRError.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Options for computing error estimates for adaptive mesh refinement \details Options for computing error estimates for adaptive mesh refinement. diff --git a/src/Control/Inciter/Options/AMRInitial.hpp b/src/Control/Inciter/Options/AMRInitial.hpp index 4aef385a0fb..722399b4bfe 100644 --- a/src/Control/Inciter/Options/AMRInitial.hpp +++ b/src/Control/Inciter/Options/AMRInitial.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/AMRInitial.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Initial (before t=0) adaptive mesh refinement (AMR) options \details Initial (before t=0) adaptive mesh refinement (AMR) options diff --git a/src/Control/Inciter/Options/BC.hpp b/src/Control/Inciter/Options/BC.hpp index 9e84be9574a..506ee59dbd5 100644 --- a/src/Control/Inciter/Options/BC.hpp +++ b/src/Control/Inciter/Options/BC.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/BC.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Boundary condition options for inciter \details Boundary condition options for inciter @@ -25,7 +25,8 @@ namespace ctr { enum class BCType : uint8_t { SYM, INLET, OUTLET, - EXTRAPOLATE }; + EXTRAPOLATE, + FARFIELD }; //! Pack/Unpack: forward overload to generic enum class packer inline void operator|( PUP::er& p, BCType& e ) { PUP::pup( p, e ); } @@ -39,6 +40,7 @@ class BC : public tk::Toggle< BCType > { , kw::bc_inlet , kw::bc_outlet , kw::bc_extrapolate + , kw::bc_farfield >; //! Constructor: pass associations references to base, which will handle @@ -49,12 +51,14 @@ class BC : public tk::Toggle< BCType > { { { BCType::SYM, kw::bc_sym::name() }, { BCType::INLET, kw::bc_inlet::name() }, { BCType::OUTLET, kw::bc_outlet::name() }, - { BCType::EXTRAPOLATE, kw::bc_extrapolate::name() } }, + { BCType::EXTRAPOLATE, kw::bc_extrapolate::name() }, + { BCType::FARFIELD, kw::bc_farfield::name() } }, //! keywords -> Enums { { kw::bc_sym::string(), BCType::SYM }, { kw::bc_inlet::string(), BCType::INLET }, { kw::bc_outlet::string(), BCType::OUTLET }, - { kw::bc_extrapolate::string(), BCType::EXTRAPOLATE } } ) {} + { kw::bc_extrapolate::string(), BCType::EXTRAPOLATE }, + { kw::bc_farfield::string(), BCType::FARFIELD } } ) {} }; } // ctr:: diff --git a/src/Control/Inciter/Options/Flux.hpp b/src/Control/Inciter/Options/Flux.hpp index c6745acc645..e6690e5c15b 100644 --- a/src/Control/Inciter/Options/Flux.hpp +++ b/src/Control/Inciter/Options/Flux.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/Flux.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Flux function options for inciter \details Flux function options for inciter @@ -25,7 +25,10 @@ namespace ctr { enum class FluxType : uint8_t { LaxFriedrichs , HLLC , UPWIND - , AUSM }; + , AUSM + , HLL + , Rusanov + }; //! Pack/Unpack FluxType: forward overload to generic enum class packer inline void operator|( PUP::er& p, FluxType& e ) { PUP::pup( p, e ); } @@ -39,6 +42,7 @@ class Flux : public tk::Toggle< FluxType > { , kw::hllc , kw::upwind , kw::ausm + , kw::hll >; //! \brief Options constructor @@ -49,15 +53,19 @@ class Flux : public tk::Toggle< FluxType > { //! Group, i.e., options, name kw::flux::name(), //! Enums -> names (if defined, policy codes, if not, name) - { { FluxType::LaxFriedrichs, kw::laxfriedrichs::name() }, - { FluxType::HLLC, kw::hllc::name() }, - { FluxType::UPWIND, kw::upwind::name() }, - { FluxType::AUSM, kw::ausm::name() } }, + { { FluxType::LaxFriedrichs, kw::laxfriedrichs::name() } + , { FluxType::HLLC, kw::hllc::name() } + , { FluxType::UPWIND, kw::upwind::name() } + , { FluxType::AUSM, kw::ausm::name() } + , { FluxType::HLL, kw::hll::name() } + }, //! keywords -> Enums - { { kw::laxfriedrichs::string(), FluxType::LaxFriedrichs }, - { kw::hllc::string(), FluxType::HLLC }, - { kw::upwind::string(), FluxType::UPWIND }, - { kw::ausm::string(), FluxType::AUSM } } ) + { { kw::laxfriedrichs::string(), FluxType::LaxFriedrichs } + , { kw::hllc::string(), FluxType::HLLC } + , { kw::upwind::string(), FluxType::UPWIND } + , { kw::ausm::string(), FluxType::AUSM } + , { kw::hll::string(), FluxType::HLL } + } ) {} }; diff --git a/src/Control/Inciter/Options/Initiate.hpp b/src/Control/Inciter/Options/Initiate.hpp new file mode 100644 index 00000000000..1f08b6659c3 --- /dev/null +++ b/src/Control/Inciter/Options/Initiate.hpp @@ -0,0 +1,60 @@ +// ***************************************************************************** +/*! + \file src/Control/Inciter/Options/Initiate.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Initiation options for initial conditions + \details Initiation options for initial conditions +*/ +// ***************************************************************************** +#ifndef InitiateOptions_h +#define InitiateOptions_h + +#include + +#include "Toggle.hpp" +#include "Keywords.hpp" +#include "PUPUtil.hpp" + +namespace inciter { +namespace ctr { + +//! Initiation types +enum class InitiateType : uint8_t { IMPULSE + , LINEAR }; + +//! Pack/Unpack InitiateType: forward overload to generic enum class packer +inline void operator|( PUP::er& p, InitiateType& e ) { PUP::pup( p, e ); } + +//! \brief Initiation options: outsource to base templated on enum type +class Initiate : public tk::Toggle< InitiateType > { + + public: + //! Valid expected choices to make them also available at compile-time + using keywords = brigand::list< kw::impulse + , kw::linear + >; + + //! \brief Options constructor + //! \details Simply initialize in-line and pass associations to base, which + //! will handle client interactions + explicit Initiate() : + tk::Toggle< InitiateType >( + //! Group, i.e., options, name + kw::initiate::name(), + //! Enums -> names (if defined, policy codes, if not, name) + { { InitiateType::IMPULSE, kw::impulse::name() }, + { InitiateType::LINEAR, kw::linear::name() } }, + //! keywords -> Enums + { { kw::impulse::string(), InitiateType::IMPULSE }, + { kw::linear::string(), InitiateType::LINEAR } } ) + {} + +}; + +} // ctr:: +} // inciter:: + +#endif // InitiateOptions_h diff --git a/src/Control/Inciter/Options/Limiter.hpp b/src/Control/Inciter/Options/Limiter.hpp index 0eaabb61682..29d3b2a724b 100644 --- a/src/Control/Inciter/Options/Limiter.hpp +++ b/src/Control/Inciter/Options/Limiter.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/Limiter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Limiter options for DG \details Limiter options for DG @@ -24,7 +24,8 @@ namespace ctr { //! Limiter types enum class LimiterType : uint8_t { NOLIMITER , WENOP1 - , SUPERBEEP1 }; + , SUPERBEEP1 + , VERTEXBASEDP1 }; //! Pack/Unpack LimiterType: forward overload to generic enum class packer inline void operator|( PUP::er& p, LimiterType& e ) { PUP::pup( p, e ); } @@ -37,6 +38,7 @@ class Limiter : public tk::Toggle< LimiterType > { using keywords = brigand::list< kw::nolimiter , kw::wenop1 , kw::superbeep1 + , kw::vertexbasedp1 >; //! \brief Options constructor @@ -49,11 +51,13 @@ class Limiter : public tk::Toggle< LimiterType > { //! Enums -> names (if defined, policy codes, if not, name) { { LimiterType::NOLIMITER, kw::nolimiter::name() }, { LimiterType::WENOP1, kw::wenop1::name() }, - { LimiterType::SUPERBEEP1, kw::superbeep1::name() } }, + { LimiterType::SUPERBEEP1, kw::superbeep1::name() }, + { LimiterType::VERTEXBASEDP1, kw::vertexbasedp1::name() } }, //! keywords -> Enums { { kw::nolimiter::string(), LimiterType::NOLIMITER }, { kw::wenop1::string(), LimiterType::WENOP1 }, - { kw::superbeep1::string(), LimiterType::SUPERBEEP1 } } ) + { kw::superbeep1::string(), LimiterType::SUPERBEEP1 }, + { kw::vertexbasedp1::string(), LimiterType::VERTEXBASEDP1 } } ) {} }; diff --git a/src/Control/Inciter/Options/PDE.hpp b/src/Control/Inciter/Options/PDE.hpp index a9dafc938d3..1897c08eff3 100644 --- a/src/Control/Inciter/Options/PDE.hpp +++ b/src/Control/Inciter/Options/PDE.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/PDE.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Partial differential equation options and associations for inciter \details Partial differential equation options and associations for inciter diff --git a/src/Control/Inciter/Options/Physics.hpp b/src/Control/Inciter/Options/Physics.hpp index d92bc3b1d4c..4f26368170d 100644 --- a/src/Control/Inciter/Options/Physics.hpp +++ b/src/Control/Inciter/Options/Physics.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/Physics.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics options for inciter \details Physics options for inciter diff --git a/src/Control/Inciter/Options/PrefIndicator.hpp b/src/Control/Inciter/Options/PrefIndicator.hpp new file mode 100644 index 00000000000..04cd22af723 --- /dev/null +++ b/src/Control/Inciter/Options/PrefIndicator.hpp @@ -0,0 +1,62 @@ +// ***************************************************************************** +/*! + \file src/Control/Inciter/Options/PrefIndicator.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Options for adaptive indicators for p-adaptive DG scheme. + \details Options for adaptive indicators for p-adaptive DG scheme. +*/ +// ***************************************************************************** +#ifndef InciterPrefIndicatorOptions_h +#define InciterPrefIndicatorOptions_h + +#include + +#include "Toggle.hpp" +#include "Keywords.hpp" +#include "PUPUtil.hpp" + +namespace inciter { +namespace ctr { + +//! Types of adaptive indicators +enum class PrefIndicatorType : uint8_t { SPECTRAL_DECAY + , NON_CONFORMITY }; + +//! Pack/Unpack PrefIndicatorType: forward overload to generic enum class +//! packer +inline void operator|( PUP::er& p, PrefIndicatorType& e ) { PUP::pup( p, e ); } + +//! PrefIndicator options: outsource searches to base templated on enum type +class PrefIndicator : public tk::Toggle< PrefIndicatorType > { + + public: + //! Valid expected choices to make them also available at compile-time + using keywords = brigand::list< kw::pref_spectral_decay + , kw::pref_non_conformity >; + + //! \brief Options constructor + //! \details Simply initialize in-line and pass associations to base, which + //! will handle client interactions + explicit PrefIndicator() : + tk::Toggle< PrefIndicatorType >( + //! Group, i.e., options, name + kw::pref_indicator::name(), + //! Enums -> names + { { PrefIndicatorType::SPECTRAL_DECAY, + kw::pref_spectral_decay::name() }, + { PrefIndicatorType::NON_CONFORMITY, + kw::pref_non_conformity::name() } }, + //! keywords -> Enums + { { kw::pref_spectral_decay::string(), + PrefIndicatorType::SPECTRAL_DECAY }, + { kw::pref_non_conformity::string(), + PrefIndicatorType::NON_CONFORMITY } } ) {} +}; + +} // ctr:: +} // inciter:: + +#endif // InciterPrefIndicatorOptions_h diff --git a/src/Control/Inciter/Options/Problem.hpp b/src/Control/Inciter/Options/Problem.hpp index 2c9a75bd0be..d294178411b 100644 --- a/src/Control/Inciter/Options/Problem.hpp +++ b/src/Control/Inciter/Options/Problem.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/Problem.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem options for inciter \details Problem options for inciter @@ -32,10 +32,18 @@ enum class ProblemType : uint8_t { USER_DEFINED, SLOT_CYL, GAUSS_HUMP, CYL_ADVECT, + SHEDDING_FLOW, SOD_SHOCKTUBE, ROTATED_SOD_SHOCKTUBE, SEDOV_BLASTWAVE, - INTERFACE_ADVECTION }; + INTERFACE_ADVECTION, + GAUSS_HUMP_COMPFLOW, + WATERAIR_SHOCKTUBE, + TRIPLE_POINT, + GAS_IMPACT, + GAS_IMPACT_4MAT, + SHOCK_HEBUBBLE, + UNDERWATER_EX }; //! Pack/Unpack ProblemType: forward overload to generic enum class packer inline void operator|( PUP::er& p, ProblemType& e ) { PUP::pup( p, e ); } @@ -54,10 +62,18 @@ class Problem : public tk::Toggle< ProblemType > { , kw::slot_cyl , kw::gauss_hump , kw::cyl_advect + , kw::shedding_flow , kw::sod_shocktube , kw::rotated_sod_shocktube , kw::sedov_blastwave , kw::interface_advection + , kw::gauss_hump_compflow + , kw::waterair_shocktube + , kw::triple_point + , kw::gas_impact + , kw::gas_impact_4mat + , kw::shock_hebubble + , kw::underwater_ex >; //! \brief Options constructor @@ -77,12 +93,22 @@ class Problem : public tk::Toggle< ProblemType > { { ProblemType::SLOT_CYL, kw::slot_cyl::name() }, { ProblemType::GAUSS_HUMP, kw::gauss_hump::name() }, { ProblemType::CYL_ADVECT, kw::cyl_advect::name() }, + { ProblemType::SHEDDING_FLOW, kw::shedding_flow::name() }, { ProblemType::SOD_SHOCKTUBE, kw::sod_shocktube::name() }, { ProblemType::ROTATED_SOD_SHOCKTUBE, kw::rotated_sod_shocktube::name() }, { ProblemType::SEDOV_BLASTWAVE, kw::sedov_blastwave::name() }, { ProblemType::INTERFACE_ADVECTION, - kw::interface_advection::name() } }, + kw::interface_advection::name() }, + { ProblemType::GAUSS_HUMP_COMPFLOW, + kw::gauss_hump_compflow::name() }, + { ProblemType::WATERAIR_SHOCKTUBE, kw::waterair_shocktube::name() }, + { ProblemType::TRIPLE_POINT, kw::triple_point::name() }, + { ProblemType::GAS_IMPACT, kw::gas_impact::name() }, + { ProblemType::GAS_IMPACT_4MAT, kw::gas_impact_4mat::name() }, + { ProblemType::SHOCK_HEBUBBLE, kw::shock_hebubble::name() }, + { ProblemType::UNDERWATER_EX, kw::underwater_ex::name() } + }, //! keywords -> Enums { { kw::user_defined::string(), ProblemType::USER_DEFINED }, { kw::shear_diff::string(), ProblemType::SHEAR_DIFF }, @@ -93,13 +119,29 @@ class Problem : public tk::Toggle< ProblemType > { { kw::slot_cyl::string(), ProblemType::SLOT_CYL }, { kw::gauss_hump::string(), ProblemType::GAUSS_HUMP }, { kw::cyl_advect::string(), ProblemType::CYL_ADVECT }, + { kw::shedding_flow::string(), ProblemType::SHEDDING_FLOW }, { kw::sod_shocktube::string(), ProblemType::SOD_SHOCKTUBE }, { kw::rotated_sod_shocktube::string(), ProblemType::ROTATED_SOD_SHOCKTUBE }, { kw::sod_shocktube::string(), ProblemType::SOD_SHOCKTUBE }, { kw::sedov_blastwave::string(), ProblemType::SEDOV_BLASTWAVE }, { kw::interface_advection::string(), - ProblemType::INTERFACE_ADVECTION } } ) + ProblemType::INTERFACE_ADVECTION }, + { kw::gauss_hump_compflow::string(), + ProblemType::GAUSS_HUMP_COMPFLOW }, + { kw::waterair_shocktube::string(), + ProblemType::WATERAIR_SHOCKTUBE }, + { kw::triple_point::string(), + ProblemType::TRIPLE_POINT }, + { kw::gas_impact::string(), + ProblemType::GAS_IMPACT }, + { kw::gas_impact_4mat::string(), + ProblemType::GAS_IMPACT_4MAT }, + { kw::shock_hebubble::string(), + ProblemType::SHOCK_HEBUBBLE }, + { kw::underwater_ex::string(), + ProblemType::UNDERWATER_EX } + } ) { brigand::for_each< keywords >( assertPolicyCodes() ); } @@ -138,11 +180,19 @@ class Problem : public tk::Toggle< ProblemType > { , { ProblemType::SLOT_CYL, *kw::slot_cyl::code() } , { ProblemType::GAUSS_HUMP, *kw::gauss_hump::code() } , { ProblemType::CYL_ADVECT, *kw::cyl_advect::code() } + , { ProblemType::SHEDDING_FLOW, *kw::shedding_flow::code() } , { ProblemType::SOD_SHOCKTUBE, *kw::sod_shocktube::code() } , { ProblemType::ROTATED_SOD_SHOCKTUBE, *kw::rotated_sod_shocktube::code() } , { ProblemType::SEDOV_BLASTWAVE, *kw::sedov_blastwave::code() } , { ProblemType::INTERFACE_ADVECTION, *kw::interface_advection::code() } + , { ProblemType::GAUSS_HUMP_COMPFLOW, *kw::gauss_hump_compflow::code() } + , { ProblemType::WATERAIR_SHOCKTUBE, *kw::waterair_shocktube::code() } + , { ProblemType::TRIPLE_POINT, *kw::triple_point::code() } + , { ProblemType::GAS_IMPACT, *kw::gas_impact::code() } + , { ProblemType::GAS_IMPACT_4MAT, *kw::gas_impact_4mat::code() } + , { ProblemType::SHOCK_HEBUBBLE, *kw::shock_hebubble::code() } + , { ProblemType::UNDERWATER_EX, *kw::underwater_ex::code() } }; }; diff --git a/src/Control/Inciter/Options/Scheme.hpp b/src/Control/Inciter/Options/Scheme.hpp index 122d610f4a2..c0321ab8789 100644 --- a/src/Control/Inciter/Options/Scheme.hpp +++ b/src/Control/Inciter/Options/Scheme.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Options/Scheme.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Discretization scheme options for inciter \details Discretization scheme options for inciter diff --git a/src/Control/Inciter/Types.hpp b/src/Control/Inciter/Types.hpp index 2bcb2751d57..3b8f9f0e930 100644 --- a/src/Control/Inciter/Types.hpp +++ b/src/Control/Inciter/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/Inciter/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for Incitier's parsers \details Types for Incitier's parsers. This file defines the components of @@ -23,8 +23,10 @@ #include "Inciter/Options/Scheme.hpp" #include "Inciter/Options/Limiter.hpp" #include "Inciter/Options/Flux.hpp" +#include "Inciter/Options/Initiate.hpp" #include "Inciter/Options/AMRInitial.hpp" #include "Inciter/Options/AMRError.hpp" +#include "Inciter/Options/PrefIndicator.hpp" #include "Options/PartitioningAlgorithm.hpp" #include "Options/TxtFloatFormat.hpp" #include "Options/FieldFile.hpp" @@ -45,17 +47,17 @@ using selects = tk::TaggedTuple< brigand::list< //! Adaptive-mesh refinement options using amr = tk::TaggedTuple< brigand::list< - tag::amr, bool //!< AMR on/off - , tag::t0ref, bool //!< AMR before t<0 on/off - , tag::dtref, bool //!< AMR during t>0 on/off - , tag::dtref_uniform, bool //!< Force dtref uniform-only + tag::amr, bool //!< AMR on/off + , tag::t0ref, bool //!< AMR before t<0 on/off + , tag::dtref, bool //!< AMR during t>0 on/off + , tag::dtref_uniform, bool //!< Force dtref uniform-only , tag::dtfreq, kw::amr_dtfreq::info::expect::type //!< Refinement frequency - , tag::init, std::vector< AMRInitialType > //!< List of initial AMR types - , tag::refvar, std::vector< std::string > //!< List of refinement vars - , tag::id, std::vector< std::size_t > //!< List of refvar indices - , tag::error, AMRErrorType //!< Error estimator for AMR - , tag::tolref, tk::real //!< Refine tolerance - , tag::tolderef, tk::real //!< De-refine tolerance + , tag::init, std::vector< AMRInitialType > //!< List of initial AMR types + , tag::refvar, std::vector< std::string > //!< List of refinement vars + , tag::id, std::vector< std::size_t > //!< List of refvar indices + , tag::error, AMRErrorType //!< Error estimator for AMR + , tag::tolref, tk::real //!< Refine tolerance + , tag::tolderef, tk::real //!< De-refine tolerance //! List of edges-node pairs , tag::edge, std::vector< kw::amr_edgelist::info::expect::type > //! Refinement tagging edges with end-point coordinates lower than x coord @@ -74,8 +76,10 @@ using amr = tk::TaggedTuple< brigand::list< //! p-adaptive refinement options using pref = tk::TaggedTuple< brigand::list< - tag::pref, bool //!< p-refinement on/off - , tag::tolref, tk::real //!< Threshold of p-refinement + tag::pref, bool //!< p-refinement on/off + , tag::indicator, PrefIndicatorType //!< Choice of adaptive indicator + , tag::ndofmax, std::size_t //!< Max number of degree of freedom + , tag::tolref, tk::real //!< Threshold of p-refinement > >; //! Discretization parameters storage @@ -85,43 +89,63 @@ using discretization = tk::TaggedTuple< brigand::list< , tag::t0, kw::t0::info::expect::type //!< Starting time , tag::dt, kw::dt::info::expect::type //!< Size of time step , tag::cfl, kw::cfl::info::expect::type //!< CFL coefficient + , tag::pelocal_reorder, bool //!< PE-locality reordering + , tag::operator_reorder, bool //!< Operator-access reordering + , tag::steady_state, bool //!< March to steady state + , tag::residual, kw::residual::info::expect::type //!< Convergence residual + , tag::rescomp, kw::rescomp::info::expect::type //!< Convergence residual comp , tag::fct, bool //!< FCT on/off - , tag::reorder,bool //!< reordering on/off + , tag::fctclip,bool //!< FCT clipping limiter on/off + , tag::fcteps, kw::fcteps::info::expect::type //!< FCT small number , tag::ctau, kw::ctau::info::expect::type //!< FCT mass diffisivity , tag::scheme, inciter::ctr::SchemeType //!< Spatial discretization type , tag::limiter,inciter::ctr::LimiterType //!< Limiter type , tag::cweight,kw::cweight::info::expect::type//!< WENO central stencil weight - , tag::flux, inciter::ctr::FluxType //!< Flux function type , tag::rdof, std::size_t //!< Number of reconstructed solution DOFs , tag::ndof, std::size_t //!< Number of solution DOFs - , tag::ndof, std::size_t //!< Number of solution DOFs > >; //! ASCII output floating-point precision in digits using precision = tk::TaggedTuple< brigand::list< - tag::diag, kw::precision::info::expect::type //!< Diagnostics output precision + //! Diagnostics output precision + tag::diag, kw::precision::info::expect::type + //! History output precision + , tag::history, kw::precision::info::expect::type > >; //! ASCII output floating-point format using floatformat = tk::TaggedTuple< brigand::list< - tag::diag, tk::ctr::TxtFloatFormatType //!< Diagnostics output format + tag::diag, tk::ctr::TxtFloatFormatType //!< Diagnostics output format + , tag::history, tk::ctr::TxtFloatFormatType //!< History output format > >; //! Output intervals storage using intervals = tk::TaggedTuple< brigand::list< - tag::tty, kw::ttyi::info::expect::type //!< TTY output interval - , tag::field, kw::interval::info::expect::type //!< Field output interval - , tag::diag, kw::interval::info::expect::type //!< Diags output interval + tag::tty, kw::ttyi::info::expect::type //!< TTY output interval + , tag::field, kw::interval::info::expect::type //!< Field output interval + , tag::history, kw::interval::info::expect::type //!< History output interval + , tag::diag, kw::interval::info::expect::type //!< Diags output interval +> >; + +//! History output parameters storage +using history = tk::TaggedTuple< brigand::list< + tag::point, std::vector< std::vector< kw::point::info::expect::type > > + , tag::id, std::vector< std::string > //!< Point identifiers > >; //! IO parameters storage using ios = tk::TaggedTuple< brigand::list< - tag::control, kw::control::info::expect::type //!< Control filename - , tag::input, std::string //!< Input filename - , tag::output, std::string //!< Output filename - , tag::diag, std::string //!< Diagnostics filename - , tag::part, std::string //!< Particles filename - , tag::restart, std::string //!< Restart dirname + tag::nrestart, int //!< Number of restarts + , tag::control, kw::control::info::expect::type //!< Control filename + , tag::input, kw::input::info::expect::type //!< Input filename + , tag::output, kw::output::info::expect::type //!< Output filename + , tag::screen, kw::screen::info::expect::type //!< Screen output filename + //! List of side sets to save as field output + , tag::surface, std::vector< kw::sideset::info::expect::type > + //! Diagnostics filename + , tag::diag, kw::diagnostics_cmd::info::expect::type + , tag::particles, std::string //!< Particles filename + , tag::restart, kw::restart::info::expect::type //!< Restart dirname > >; //! Error/diagnostics output configuration @@ -129,6 +153,73 @@ using diagnostics = tk::TaggedTuple< brigand::list< tag::error, std::vector< tk::ctr::ErrorType > //!< Errors to compute > >; +//! Initiation configuration for box IC +using InitiateParameters = tk::TaggedTuple< brigand::list< + tag::init, std::vector< InitiateType > + , tag::point, std::vector< + std::vector< kw::point::info::expect::type > > + , tag::radius, std::vector< + std::vector< kw::radius::info::expect::type > > + , tag::velocity, std::vector< + std::vector< kw::velocity::info::expect::type > > +> >; + +//! Box, given by coordinates, specifying physics variables +using box = tk::TaggedTuple< brigand::list< + tag::xmin, kw::xmin::info::expect::type + , tag::xmax, kw::xmax::info::expect::type + , tag::ymin, kw::ymin::info::expect::type + , tag::ymax, kw::ymax::info::expect::type + , tag::zmin, kw::zmin::info::expect::type + , tag::zmax, kw::zmax::info::expect::type + , tag::mass, std::vector< + std::vector< kw::mass::info::expect::type > > + , tag::density, std::vector< + std::vector< kw::density::info::expect::type > > + , tag::velocity, std::vector< + std::vector< kw::velocity::info::expect::type > > + , tag::pressure, std::vector< + std::vector< kw::pressure::info::expect::type > > + , tag::energy, std::vector< + std::vector< kw::energy::info::expect::type > > + , tag::energy_content,std::vector< std::vector< + kw::energy_content::info::expect::type > > + , tag::temperature, std::vector< + std::vector< kw::temperature::info::expect::type > > + , tag::initiate, InitiateParameters +> >; + +//! Initial condition configuration +using ic = tk::TaggedTuple< brigand::list< + tag::density, std::vector< + std::vector< kw::density::info::expect::type > > + , tag::velocity, std::vector< + std::vector< kw::velocity::info::expect::type > > + , tag::pressure, std::vector< + std::vector< kw::pressure::info::expect::type > > + , tag::energy, std::vector< + std::vector< kw::energy::info::expect::type > > + , tag::temperature, std::vector< + std::vector< kw::temperature::info::expect::type > > + , tag::box, box +> >; + +//! Boundary condition configuration +using bc = tk::TaggedTuple< brigand::list< + tag::bcdir, std::vector< std::vector< + kw::sideset::info::expect::type > > + , tag::bcsym, std::vector< std::vector< + kw::sideset::info::expect::type > > + , tag::bcinlet, std::vector< std::vector< + kw::sideset::info::expect::type > > + , tag::bcoutlet, std::vector< std::vector< + kw::sideset::info::expect::type > > + , tag::bcfarfield, std::vector< std::vector< + kw::sideset::info::expect::type > > + , tag::bcextrapolate, std::vector< std::vector< + kw::sideset::info::expect::type > > +> >; + //! Transport equation parameters storage using TransportPDEParameters = tk::TaggedTuple< brigand::list< tag::depvar, std::vector< char > @@ -140,16 +231,23 @@ using TransportPDEParameters = tk::TaggedTuple< brigand::list< kw::pde_lambda::info::expect::type > > , tag::u0, std::vector< std::vector< kw::pde_u0::info::expect::type > > - , tag::bcdir, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcsym, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcinlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcoutlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcextrapolate, std::vector< std::vector< - kw::sideset::info::expect::type > > + , tag::bc, bc +> >; + +//! Stagnation boundary conditions parameters storage +using StagnationBCParameters = tk::TaggedTuple< brigand::list< + tag::point, std::vector< + std::vector< kw::point::info::expect::type > > + , tag::radius, std::vector< + std::vector< kw::radius::info::expect::type > > +> >; + +//! Skip boundary conditions parameters storage +using SkipBCParameters = tk::TaggedTuple< brigand::list< + tag::point, std::vector< + std::vector< kw::point::info::expect::type > > + , tag::radius, std::vector< + std::vector< kw::radius::info::expect::type > > > >; //! Compressible flow equation parameters storage @@ -157,16 +255,21 @@ using CompFlowPDEParameters = tk::TaggedTuple< brigand::list< tag::depvar, std::vector< char > , tag::physics, std::vector< PhysicsType > , tag::problem, std::vector< ProblemType > - , tag::bcdir, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcsym, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcinlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcoutlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcextrapolate, std::vector< std::vector< - kw::sideset::info::expect::type > > + , tag::farfield_pressure, std::vector< kw::pressure::info::expect::type > + , tag::farfield_density, std::vector< kw::density::info::expect::type > + , tag::farfield_velocity, std::vector< std::vector< + kw::velocity::info::expect::type > > + , tag::bc, bc + , tag::ic, ic + //! Stagnation boundary condition configuration storage + , tag::bcstag, StagnationBCParameters + //! Skip boundary condition configuration storage + , tag::bcskip, SkipBCParameters + //! System FCT character + , tag::sysfct, std::vector< int > + //! Indices of system-FCT scalar components considered as a system + , tag::sysfctvar, std::vector< + std::vector< kw::sysfctvar::info::expect::type > > //! Parameter vector (for specific, e.g., verification problems) , tag::alpha, std::vector< kw::pde_alpha::info::expect::type > //! Parameter vector (for specific, e.g., verification problems) @@ -202,6 +305,10 @@ using CompFlowPDEParameters = tk::TaggedTuple< brigand::list< std::vector< kw::mat_k::info::expect::type > > //! total number of optional passive tracker particles for visualization , tag::npar, std::vector< kw::npar::info::expect::type > + //! Flux function type + , tag::flux, std::vector< FluxType > + //! Lua code + , tag::lua, std::string > >; //! Compressible flow equation parameters storage @@ -209,16 +316,8 @@ using MultiMatPDEParameters = tk::TaggedTuple< brigand::list< tag::depvar, std::vector< char > , tag::physics, std::vector< PhysicsType > , tag::problem, std::vector< ProblemType > - , tag::bcdir, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcsym, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcinlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcoutlet, std::vector< std::vector< - kw::sideset::info::expect::type > > - , tag::bcextrapolate, std::vector< std::vector< - kw::sideset::info::expect::type > > + , tag::bc, bc + , tag::farfield_pressure, std::vector< kw::pressure::info::expect::type > //! Parameter vector (for specific, e.g., verification problems) , tag::alpha, std::vector< kw::pde_alpha::info::expect::type > //! Parameter vector (for specific, e.g., verification problems) @@ -254,13 +353,20 @@ using MultiMatPDEParameters = tk::TaggedTuple< brigand::list< std::vector< kw::mat_k::info::expect::type > > //! number of materials , tag::nmat, std::vector< kw::nmat::info::expect::type > + //! pressure relaxation toggle + , tag::prelax, std::vector< kw::prelax::info::expect::type > + //! pressure relaxation time scale + , tag::prelax_timescale, + std::vector< kw::prelax_timescale::info::expect::type > + //! Flux function type + , tag::flux, std::vector< FluxType > > >; //! Parameters storage using parameters = tk::TaggedTuple< brigand::list< - tag::transport, TransportPDEParameters - , tag::compflow, CompFlowPDEParameters - , tag::multimat, MultiMatPDEParameters + tag::transport, TransportPDEParameters + , tag::compflow, CompFlowPDEParameters + , tag::multimat, MultiMatPDEParameters > >; //! PEGTL location/position type to use throughout all of Inciter's parsers diff --git a/src/Control/Keyword.hpp b/src/Control/Keyword.hpp index 708d40b2d66..07b9ac07eaa 100644 --- a/src/Control/Keyword.hpp +++ b/src/Control/Keyword.hpp @@ -3,7 +3,7 @@ \file src/Control/Keyword.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generic definition of a keyword \details Generic definition of all keywords - both command-line arguments diff --git a/src/Control/Keywords.hpp b/src/Control/Keywords.hpp index 629774412dc..969cbc27fc3 100644 --- a/src/Control/Keywords.hpp +++ b/src/Control/Keywords.hpp @@ -3,7 +3,7 @@ \file src/Control/Keywords.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Definition of all keywords \details This file contains the definition of all keywords, including those @@ -1800,6 +1800,22 @@ struct ttyi_info { }; using ttyi = keyword< ttyi_info, TAOCPP_PEGTL_STRING("ttyi") >; +struct pari_info { + static std::string name() { return "pari"; } + static std::string shortDescription() { return + "Set particles output interval"; } + static std::string longDescription() { return + R"(This keyword is used to specify the interval in time steps for particles + output during a simulation.)"; + } + struct expect { + using type = uint32_t; + static constexpr type lower = 1; + static std::string description() { return "uint"; } + }; +}; +using pari = keyword< pari_info, TAOCPP_PEGTL_STRING("pari") >; + struct interval_info { static std::string name() { return "interval"; } static std::string shortDescription() { return @@ -1830,6 +1846,17 @@ struct statistics_info { }; using statistics = keyword< statistics_info, TAOCPP_PEGTL_STRING("statistics") >; +struct history_info { + static std::string name() { return "history"; } + static std::string shortDescription() { return + "Start of history input block"; } + static std::string longDescription() { return + R"(This keyword is used to start a block in the input file containing the + descriptions and settings of requested history output.)"; + } +}; +using history = keyword< history_info, TAOCPP_PEGTL_STRING("history") >; + struct plotvar_info { static std::string name() { return "plotvar"; } static std::string shortDescription() { return @@ -1942,6 +1969,22 @@ struct sde_c0_info { }; using sde_c0 = keyword< sde_c0_info, TAOCPP_PEGTL_STRING("C0") >; +struct gravity_info { + static std::string name() { return "gravity"; } + static std::string shortDescription() { return + R"(Set Langevin SDE parameter gravity)"; } + static std::string longDescription() { return + R"(This keyword is used to specify a vector of 3 real numbers used to + parameterize the Langevin model for the fluctuating velocity in homogeneous + variable-density turbulence, prescribing a gravy body force in the three + coordinate directions, x, y, z. Example: "gravity 0.0 0.2 1.0 end".)"; } + struct expect { + using type = tk::real; + static std::string description() { return "3 reals"; } + }; +}; +using gravity = keyword< gravity_info, TAOCPP_PEGTL_STRING("gravity") >; + struct sde_c3_info { static std::string name() { return "C3"; } static std::string shortDescription() { return @@ -2409,14 +2452,279 @@ struct icdirichlet_info { using icdirichlet = keyword< icdirichlet_info, TAOCPP_PEGTL_STRING("icdirichlet") >; +struct velocity_info { + static std::string name() { return "velocity"; } + static std::string shortDescription() { return "Specify velocity"; } + static std::string longDescription() { return + R"(This keyword is used to configure a velocity vector, used for, e.g., + boundary or initial conditions.)"; + } + struct expect { + using type = tk::real; + static std::string description() { return "real(s)"; } + }; +}; +using velocity = keyword< velocity_info, TAOCPP_PEGTL_STRING("velocity") >; + +struct mass_info { + static std::string name() { return "mass"; } + static std::string shortDescription() { return "Specify mass"; } + static std::string longDescription() { return + R"(This keyword is used to configure the mass + and associated volume within a box.)"; + } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using mass = keyword< mass_info, TAOCPP_PEGTL_STRING("mass") >; + +struct density_info { + static std::string name() { return "density"; } + static std::string shortDescription() { return "Specify density"; } + static std::string longDescription() { return + R"(This keyword is used to configure a density, used for, e.g., boundary or + initial conditions.)"; + } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using density = keyword< density_info, TAOCPP_PEGTL_STRING("density") >; + +struct pressure_info { + static std::string name() { return "pressure"; } + static std::string shortDescription() { return "Specify pressure"; } + static std::string longDescription() { return + R"(This keyword is used to configure a pressure, used for, e.g., boundary or + initial conditions.)"; + } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using pressure = keyword< pressure_info, TAOCPP_PEGTL_STRING("pressure") >; + +struct energy_info { + static std::string name() { return "energy"; } + static std::string shortDescription() { return + "Specify energy per unit mass"; } + static std::string longDescription() { return + R"(This keyword is used to configure energy per unit mass, used for, e.g., + boundary or initial conditions.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using energy = keyword< energy_info, TAOCPP_PEGTL_STRING("energy") >; + +struct energy_content_info { + static std::string name() { return "energy_content"; } + static std::string shortDescription() { return + "Specify energy per unit volume"; + } + static std::string longDescription() { return + R"(This keyword is used to configure energy per unit volume, used for, e.g., + boundary or initial conditions.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using energy_content = + keyword< energy_content_info, TAOCPP_PEGTL_STRING("energy_content") >; + +struct temperature_info { + static std::string name() { return "temperature"; } + static std::string shortDescription() { return "Specify temperature"; } + static std::string longDescription() { return + R"(This keyword is used to configure temperature, used for, e.g., + boundary or initial conditions.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using temperature = + keyword< temperature_info, TAOCPP_PEGTL_STRING("temperature") >; + +struct lua_info { + static std::string name() { return "lua"; } + static std::string shortDescription() { return + R"(Introduce a lua ... end block to inject lua code in control files)"; } + static std::string longDescription() { return + R"(This keyword is used to introduce a lua ... end block which can be used + to inject arbitrary Lua code into control files. For more info on the lua + language, see https://www.lua.org.)"; } +}; +using lua = keyword< lua_info, TAOCPP_PEGTL_STRING("lua") >; + +struct xmin_info { + static std::string name() { return "xmin"; } + static std::string shortDescription() { return "Minimum x coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a minimum x coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using xmin = keyword< xmin_info, TAOCPP_PEGTL_STRING("xmin") >; + +struct xmax_info { + static std::string name() { return "xmax"; } + static std::string shortDescription() { return "Maximum x coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a maximum x coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using xmax = keyword< xmax_info, TAOCPP_PEGTL_STRING("xmax") >; + +struct ymin_info { + static std::string name() { return "ymin"; } + static std::string shortDescription() { return "Minimum y coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a minimum y coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using ymin = keyword< ymin_info, TAOCPP_PEGTL_STRING("ymin") >; + +struct ymax_info { + static std::string name() { return "ymax"; } + static std::string shortDescription() { return "Maximum y coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a maximum y coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using ymax = keyword< ymax_info, TAOCPP_PEGTL_STRING("ymax") >; + +struct zmin_info { + static std::string name() { return "zmin"; } + static std::string shortDescription() { return "Minimum z coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a minimum z coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using zmin = keyword< zmin_info, TAOCPP_PEGTL_STRING("zmin") >; + +struct zmax_info { + static std::string name() { return "zmax"; } + static std::string shortDescription() { return "Maximum z coordinate"; } + static std::string longDescription() { return + R"(This keyword used to configure a maximum z coordinate, e.g., to specify + a box.)"; } + struct expect { + using type = tk::real; + static std::string description() { return "real"; } + }; +}; +using zmax = keyword< zmax_info, TAOCPP_PEGTL_STRING("zmax") >; + +struct impulse_info { + static std::string name() { return "impulse"; } + static std::string shortDescription() { return + "Select the impulse initiation type, e.g., for a box IC"; } + static std::string longDescription() { return + R"(This keyword can be used to select the 'impulse' initiation/assignment + type for box initial conditions. It simply assigns the prescribed values to + mesh points within a configured box at t=0.)"; } +}; +using impulse = keyword< impulse_info, TAOCPP_PEGTL_STRING("impulse") >; + +struct linear_info { + static std::string name() { return "linear"; } + static std::string shortDescription() { return + "Select the linear initiation type, e.g., for a box IC"; } + static std::string longDescription() { return + R"(This keyword can be used to select the 'linear' initiation/assignment + type for box initial conditions. Linear initiation uses a linear function + in time and space, configured with an initiation point in space, an initial + radius around the point, and a constant velocity that grows a sphere in time + (and space) linearly and assigns values to mesh points falling within a + growing sphere within a configured box.)"; } +}; +using linear = keyword< linear_info, TAOCPP_PEGTL_STRING("linear") >; + +struct initiate_info { + static std::string name() { return "IC box initiate type"; } + static std::string shortDescription() { return "Initiation/assignemt type"; } + static std::string longDescription() { return + R"(This keyword is used to select an initiation type to configure how + values are assigned, e.g., for a box initial condition. This can be used to + specify, how the values are assigned to mesh nodes within a box. Examples: + (1) impulse: assign the full values at t=0 for all points in a box, + (2) linear: use a linear function in time and space, configured with an + initiation point in space, an initial radius around the point, and a + velocity that grows a sphere in time (and space) linearly and assigns values + to mesh points falling within a growing sphere within a configured box.)"; } + struct expect { + static std::string description() { return "string"; } + static std::string choices() { + return '\'' + impulse::string() + "\' | \'" + + linear::string() + '\''; + } + }; +}; +using initiate = keyword< initiate_info, TAOCPP_PEGTL_STRING("initiate") >; + +struct box_info { + static std::string name() { return "box"; } + static std::string shortDescription() { return + R"(Introduce a box ... end block used to assign initial conditions)"; } + static std::string longDescription() { return + R"(This keyword is used to introduce a box ... end block used to assign + initial conditions within a box given by spatial coordinates. Example: + box x- 0.5 x+ 1.5 y- -0.5 y+ 0.5 z- -0.5 z+ 0.5 density 1.2 end pressure + 1.4 end end", which specifies a box with extends within which the density + will be set to 1.2 and the pressure to be 1.4. Besides the box dimensions, + the following physics keywords are allowed in a box ... end block:)" + + std::string("\'") + + mass::string()+ "\', \'" + + density::string()+ "\', \'" + + velocity::string() + "\', \'" + + energy::string() + "\', \'" + + energy_content::string() + "\', \'" + + temperature::string() + "\', \'" + + pressure::string() + "\'."; } +}; +using box = keyword< box_info, TAOCPP_PEGTL_STRING("box") >; + struct ic_info { static std::string name() { return "ic"; } static std::string shortDescription() { return R"(Introduce an ic...end block used to configure initial conditions)"; } static std::string longDescription() { return R"(This keyword is used to introduce an ic...end block used to set initial - conditions. Example: "ic density 1.0 end" - set the initial density field to - 1.0 across the whole domain.)"; } + conditions. Keywords allowed in a ic ... end block: )" + std::string("\'") + + mass::string()+ "\', \'" + + density::string()+ "\', \'" + + velocity::string() + "\', \'" + + pressure::string() + "\', \'" + + energy::string() + "\', \'" + + temperature::string() + "\', \'" + + box::string() + "\'."; + } }; using ic = keyword< ic_info, TAOCPP_PEGTL_STRING("ic") >; @@ -3114,7 +3422,7 @@ struct fluctuation_info { "Select fluctuation (as the dependent variable) to solve for"; } static std::string longDescription() { return R"(This keyword is used to select the fluctuation of a random variable as - what quantity to solve for, i.e., use asthe dependent variable, e.g., in a + what quantity to solve for, i.e., use as the dependent variable, e.g., in a position or velocity model for a stochastic particle. This configures how statistics must be interpreted.)"; } struct expect { @@ -3124,6 +3432,43 @@ struct fluctuation_info { using fluctuation = keyword< fluctuation_info, TAOCPP_PEGTL_STRING("fluctuation") >; +struct product_info { + static std::string name() { return "product"; } + static std::string shortDescription() { return + "Select product (as the dependent variable) to solve for"; } + static std::string longDescription() { return + R"(This keyword is used to select the product of multiple random variables + as what quantity to solve for, i.e., use as the dependent variable, e.g., in + a velocity model, solve for the product of the full density and the full + velocity, i.e., the full momentum, for a stochastic particle. This + configures how statistics must be interpreted.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using product = + keyword< product_info, TAOCPP_PEGTL_STRING("product") >; + +struct fluctuating_momentum_info { + static std::string name() { return "fluctuating momentum"; } + static std::string shortDescription() { return + "Select fluctuating moment (as the dependent variable) to solve for"; } + static std::string longDescription() { return + R"(This keyword is used to select fluctuating moment as the dependent + variable. This is a very specific quantity and used in conjunction with the + Langevin equation for the velocity/momentum. The dependent variable is + phi_i^* = rho^* u_i - , where the star superscript means a full + (i.e., not only a fluctuation about some mean) random variable, u_i is the + fluctuating velocity, u_i = u^*_i - , and angle brackets denote the + ensemble average. This also configures how statistics must be + interpreted.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using fluctuating_momentum = keyword< fluctuating_momentum_info, + TAOCPP_PEGTL_STRING("fluctuating_momentum") >; + struct solve_info { static std::string name() { return "solve for"; } static std::string shortDescription() { return @@ -3136,7 +3481,9 @@ struct solve_info { static std::string description() { return "string"; } static std::string choices() { return '\'' + fullvar::string() + "\' | \'" - + fluctuation::string() + '\''; + + fluctuation::string() + "\' | \'" + + product::string() + "\' | \'" + + fluctuating_momentum::string() + '\''; } }; }; @@ -3284,7 +3631,7 @@ struct dissipation_info { using dissipation = keyword< dissipation_info, TAOCPP_PEGTL_STRING("dissipation") >; -struct velocity_info { +struct velocitysde_info { static std::string name() { return "velocity"; } static std::string shortDescription() { return "Introduce the velocity equation input block or coupling"; } @@ -3314,7 +3661,7 @@ struct velocity_info { which the 'velocity' keyword appears) to another labeled by a 'depvar'.)"; } }; -using velocity = keyword< velocity_info, TAOCPP_PEGTL_STRING("velocity") >; +using velocitysde = keyword< velocity_info, TAOCPP_PEGTL_STRING("velocity") >; struct gamma_info { static std::string name() { return "Gamma"; } @@ -3529,8 +3876,8 @@ struct rsfreq_info { { return "Set checkpoint/restart frequency during time stepping"; } static std::string longDescription() { return R"(This keyword is used to set the frequency of dumping checkpoint/restart - files during time stepping. The default is 100, which means that - checkpoint/restart files are dumped at every 100th time step.)"; + files during time stepping. The default is 1000, which means that + checkpoint/restart files are dumped at every 1000th time step.)"; } using alias = Alias< r >; struct expect { @@ -3674,6 +4021,22 @@ struct stat_info { }; using stat = keyword< stat_info, TAOCPP_PEGTL_STRING("stat") >; +struct particles_info { + static std::string name() { return "particles"; } + static std::string shortDescription() { return + "Specify the name of the particles position output file"; } + static std::string longDescription() { return + R"(This keyword is used to specify the name of the output file in which to + store particles positions during a simulation.)"; + } + using alias = Alias< x >; + struct expect { + using type = std::string; + static std::string description() { return "string"; } + }; +}; +using particles = keyword< particles_info, TAOCPP_PEGTL_STRING("particles") >; + struct input_info { static std::string name() { return "input"; } static std::string shortDescription() { return "Specify the input file"; } @@ -3710,6 +4073,22 @@ struct output_info { }; using output = keyword< output_info, TAOCPP_PEGTL_STRING("output") >; +struct screen_info { + static std::string name() { return "screen"; } + static std::string shortDescription() { + return "Specify the screen output file"; } + static std::string longDescription() { return + R"(This option is used to set the screen output file name. The default is + "_screen.log".)"; + } + using alias = Alias< O >; + struct expect { + using type = std::string; + static std::string description() { return "string"; } + }; +}; +using screen = keyword< screen_info, TAOCPP_PEGTL_STRING("screen") >; + struct restart_info { static std::string name() { return "checkpoint/restart directory name"; } static std::string shortDescription() @@ -3819,15 +4198,15 @@ struct reorder_cmd_info { }; using reorder_cmd = keyword< reorder_cmd_info, TAOCPP_PEGTL_STRING("reorder") >; -struct reorder_info { - static std::string name() { return "reorder"; } - static std::string shortDescription() { return "Reorder mesh nodes"; } +struct pelocal_reorder_info { + static std::string name() { return "PE-local reorder"; } + static std::string shortDescription() { return "PE-local reorder"; } static std::string longDescription() { return R"(This keyword is used in inciter as a keyword in the inciter...end block - as "reorder on" (or off) to do (or not do) a global distributed mesh - reordering across all PEs that yields an approximately continous mesh node - ID order as mesh partitions are assigned to PEs after mesh partitioning. - Reordering is optional.)"; + as "pelocal_reorder true" (or false) to do (or not do) a global distributed + mesh reordering across all PEs that yields an approximately continous mesh + node ID order as mesh partitions are assigned to PEs after mesh + partitioning. This reordering is optional.)"; } struct expect { using type = bool; @@ -3835,7 +4214,75 @@ struct reorder_info { static std::string description() { return "string"; } }; }; -using reorder = keyword< reorder_info, TAOCPP_PEGTL_STRING("reorder") >; +using pelocal_reorder = + keyword< pelocal_reorder_info, TAOCPP_PEGTL_STRING("pelocal_reorder") >; + +struct operator_reorder_info { + static std::string name() { return "operator_reorder"; } + static std::string shortDescription() { return "Operator-access reorder"; } + static std::string longDescription() { return + R"(This keyword is used in inciter as a keyword in the inciter...end block + as "operator_reorder on" (or off) to do (or not do) a local mesh node + reordering based on the PDE operator access pattern. This reordering is + optional.)"; + } + struct expect { + using type = bool; + static std::string choices() { return "true | false"; } + static std::string description() { return "string"; } + }; +}; +using operator_reorder = + keyword< operator_reorder_info, TAOCPP_PEGTL_STRING("operator_reorder") >; + +struct steady_state_info { + static std::string name() { return "steady_state"; } + static std::string shortDescription() { return "March to steady state"; } + static std::string longDescription() { return + R"(This keyword is used indicate that local time stepping should be used + towards a stationary solution.)"; } + struct expect { + using type = bool; + static std::string choices() { return "true | false"; } + static std::string description() { return "string"; } + }; +}; +using steady_state = + keyword< steady_state_info, TAOCPP_PEGTL_STRING("steady_state") >; + +struct residual_info { + static std::string name() { return "residual"; } + static std::string shortDescription() { return + "Set the convergence criterion for the residual to reach"; } + static std::string longDescription() { return + R"(This keyword is used to specify a convergence criterion for, e.g., local + time stepping marching to steady state, below which the simulation is + considered converged.)"; } + struct expect { + using type = tk::real; + static constexpr type lower = 1.0e-14; + static std::string description() { return "real"; } + }; +}; +using residual = keyword< residual_info, TAOCPP_PEGTL_STRING("residual") >; + +struct rescomp_info { + static std::string name() { return "rescomp"; } + static std::string shortDescription() { return + "Equation system component index for convergence"; } + static std::string longDescription() { return + R"(This keyword is used to specify a single integer that is used to denote + the equation component index in the complete system of equation systems + configured in an input file to use for the convergence criterion for local + time stepping marching towards steady state.)"; + } + struct expect { + using type = uint32_t; + static constexpr type lower = 1; + static std::string description() { return "uint"; } + }; +}; +using rescomp = keyword< rescomp_info, TAOCPP_PEGTL_STRING("rescomp") >; struct group_info { static std::string name() { return "group"; } @@ -4033,6 +4480,25 @@ struct taylor_green_info { using taylor_green = keyword< taylor_green_info, TAOCPP_PEGTL_STRING("taylor_green") >; +struct shedding_flow_info { + using code = Code< F >; + static std::string name() { return "Shedding flow over triangular wedge"; } + static std::string shortDescription() { return + "Select the Shedding flow test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the Shedding flow test problem. It + describe a quasi-2D inviscid flow over a triangular wedge in tetrahedron + grid. The purpose of this test problem is to test the capability of DG + scheme for retaining the shape of vortices and also different error + indicator behavior for this external flow problem when p-adaptive DG scheme + is applied. Example: "problem shedding_flow".)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using shedding_flow = + keyword< shedding_flow_info, TAOCPP_PEGTL_STRING("shedding_flow") >; + struct sod_shocktube_info { using code = Code< H >; static std::string name() { return "Sod shock-tube"; } @@ -4112,6 +4578,147 @@ using interface_advection = keyword< interface_advection_info, TAOCPP_PEGTL_STRING("interface_advection") >; +struct gauss_hump_compflow_info { + using code = Code< A >; + static std::string name() + { return "Advection of 2D Gaussian hump for Euler equations"; } + static std::string shortDescription() + { return "Select advection of 2D Gaussian hump test problem"; } + static std::string longDescription() { return + R"(This keyword is used to select the advection of 2D Gaussian hump test + problem. The initial and boundary conditions are specified to set up the + test problem suitable to exercise and test the advection terms of the + Euler equations. The baseline of the density distribution in this testcase + is 1 instead of 0 in gauss_hump_transport which enables it to be the + regression testcase for p-adaptive DG scheme. Example: "problem + gauss_hump_compflow".)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using gauss_hump_compflow = keyword< gauss_hump_compflow_info, + TAOCPP_PEGTL_STRING("gauss_hump_compflow") >; + +struct waterair_shocktube_info { + using code = Code< W >; + static std::string name() { return "Water-air shock-tube"; } + static std::string shortDescription() { return + "Select the water-air shock-tube test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the Water-air shock-tube test problem. The + purpose of this test problem is to test the correctness of the + multi-material pressure relaxation procedure and its interface capturing + capabilities. Example: "problem waterair_shocktube". For more details, see + Chiapolino, A., Saurel, R., & Nkonga, B. (2017). Sharpening diffuse + interfaces with compressible fluids on unstructured meshes. Journal of + Computational Physics, 340, 389-417.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using waterair_shocktube = + keyword< waterair_shocktube_info, TAOCPP_PEGTL_STRING("waterair_shocktube") >; + +struct triple_point_info { + using code = Code< T >; + static std::string name() { return "Triple point problem"; } + static std::string shortDescription() { return + "Select the triple point test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the triple point test problem. The + purpose of this test problem is to test the correctness of the + multi-material algorithm and its interface capturing + capabilities. Example: "problem triple_point". For more details, see + Galera, S., Maire, P. H., & Breil, J. (2010). A two-dimensional unstructured + cell-centered multi-material ALE scheme using VOF interface reconstruction. + Journal of Computational Physics, 229(16), 5755-5787.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using triple_point = + keyword< triple_point_info, TAOCPP_PEGTL_STRING("triple_point") >; + +struct gas_impact_info { + using code = Code< T >; + static std::string name() { return "Gas impact problem"; } + static std::string shortDescription() { return + "Select the gas impact test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the gas impact test problem. The + purpose of this test problem is to test the correctness of the + multi-material algorithm and its interface capturing + capabilities. Example: "problem gas_impact". For more details, see + Barlow, A., Hill, R., & Shashkov, M. (2014). Constrained optimization + framework for interface-aware sub-scale dynamics closure model for + multimaterial cells in Lagrangian and arbitrary Lagrangian–Eulerian + hydrodynamics. Journal of Computational Physics, 276, 92-135.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using gas_impact = + keyword< gas_impact_info, TAOCPP_PEGTL_STRING("gas_impact") >; + +struct gas_impact_4mat_info { + using code = Code< T >; + static std::string name() { return "Gas impacting with two slabs problem"; } + static std::string shortDescription() { return + "Select the gas impacting with two slabs test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the test involving a gas impacting two + slabs. It involves four materials: the impactor, two slabs and the + background. The purpose of this test problem is to test the correctness of + multi-material algorithm for more than three materials and its interface + capturing capabilities under high deformation. + Example: "problem gas_impact_4mat".)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using gas_impact_4mat = + keyword< gas_impact_4mat_info, TAOCPP_PEGTL_STRING("gas_impact_4mat") >; + +struct shock_hebubble_info { + using code = Code< T >; + static std::string name() { return "Shock He-bubble problem"; } + static std::string shortDescription() { return + "Select the shock He-bubble test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the shock He-bubble test problem. The + purpose of this test problem is to test the correctness of the + multi-material algorithm and its shock-interface interaction + capabilities. Example: "problem shock_hebubble". For more details, see + Quirk, J. J., & Karni, S. (1996). On the dynamics of a shock–bubble + interaction. Journal of Fluid Mechanics, 318, 129-163.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using shock_hebubble = + keyword< shock_hebubble_info, TAOCPP_PEGTL_STRING("shock_hebubble") >; + +struct underwater_ex_info { + using code = Code< T >; + static std::string name() { return "Underwater explosion problem"; } + static std::string shortDescription() { return + "Select the underwater explosion test problem "; } + static std::string longDescription() { return + R"(This keyword is used to select the underwater explosion test problem. The + purpose of this test problem is to test the correctness of the + multi-material algorithm and its interface capturing capabilities in the + presence of strong shocks and large deformations. + Example: "problem underwater_ex". For more details, see + Chiapolino, A., Saurel, R., & Nkonga, B. (2017). Sharpening diffuse + interfaces with compressible fluids on unstructured meshes. Journal of + Computational Physics, 340, 389-417.)"; } + struct expect { + static std::string description() { return "string"; } + }; +}; +using underwater_ex = + keyword< underwater_ex_info, TAOCPP_PEGTL_STRING("underwater_ex") >; + struct problem_info { using code = Code< t >; static std::string name() { return "Test problem"; } @@ -4136,7 +4743,8 @@ struct problem_info { + taylor_green::string() + "\' | \'" + sod_shocktube::string() + "\' | \'" + rotated_sod_shocktube::string() + "\' | \'" - + interface_advection::string() + '\''; + + interface_advection::string() + "\' | \'" + + gauss_hump_compflow::string() + '\''; } }; }; @@ -4455,6 +5063,28 @@ struct ctau_info { }; using ctau = keyword< ctau_info, TAOCPP_PEGTL_STRING("ctau") >; +struct fcteps_info { + static std::string name() { return "Small number for FCT"; } + static std::string shortDescription() { return + R"(A number that is considered small enough for FCT)"; } + static std::string longDescription() { return + R"(This keyword is used to set the epsilon (a small number) below which FCT + quantities are considered small enough to be treated as zero. Setting this + number to be somewhat larger than the machine zero, e.g., 1.0e-15, helps + ignoring some noise that otherwise could contaminate the solution.)"; } + struct expect { + using type = tk::real; + static constexpr type lower = 0.0; + static constexpr type upper = 1.0; + static std::string description() { return "real"; } + static std::string choices() { + return "real between [" + std::to_string(lower) + "..." + + std::to_string(upper) + "]"; + } + }; +}; +using fcteps = keyword< fcteps_info, TAOCPP_PEGTL_STRING("fcteps") >; + struct cweight_info { static std::string name() { return "cweight"; } static std::string shortDescription() { return @@ -4499,9 +5129,12 @@ struct bc_dirichlet_info { "Start configuration block describing Dirichlet boundary conditions"; } static std::string longDescription() { return R"(This keyword is used to introduce an bc_dirichlet ... end block, used to - specify the configuration for setting Dirichlet boundary conditions for a - partial differential equation. Keywords allowed in a bc_dirichlet ... end - block: )" + std::string("\'") + specify the configuration for setting Dirichlet boundary conditions (BC) for + a partial differential equation. This keyword is used to list multiple side + sets on which a prescribed Dirichlet BC is then applied. Such prescribed BCs + at each point in space and time are evaluated using a built-in function, + e.g., using the method of manufactured solutions. + Keywords allowed in a bc_dirichlet ... end block: )" + std::string("\'") + sideset::string() + "\'. " + R"(For an example bc_dirichlet ... end block, see doc/html/inicter_example_shear.html.)"; @@ -4527,6 +5160,69 @@ struct bc_sym_info { using bc_sym = keyword< bc_sym_info, TAOCPP_PEGTL_STRING("bc_sym") >; +struct point_info { + static std::string name() { return "point"; } + static std::string shortDescription() { return "Specify a point"; } + static std::string longDescription() { return + R"(This keyword is used to specify a point, used, e.g., in specifying a + point in 3D space for setting a stagnation (velocity vector = 0). Example + specification: 'point 0.0 0.1 0.2 end')"; + } + struct expect { + using type = tk::real; + static std::string description() { return "3 reals"; } + }; +}; +using point = keyword< point_info, TAOCPP_PEGTL_STRING("point") >; + +struct radius_info { + static std::string name() { return "radius"; } + static std::string shortDescription() { return "Specify a radius"; } + static std::string longDescription() { return + R"(This keyword is used to specify a radius, used, e.g., in specifying a + point in 3D space for setting a stagnation (velocity vector = 0). Example + specification: 'radius 1.0e-5')"; + } + struct expect { + using type = tk::real; + static constexpr type lower = 0.0; + static std::string description() { return "real"; } + }; +}; +using radius = keyword< radius_info, TAOCPP_PEGTL_STRING("radius") >; + +struct bc_stag_info { + static std::string name() { return "Stagnation boundary condition"; } + static std::string shortDescription() { return + "Start configuration block describing stagnation boundary conditions"; } + static std::string longDescription() { return + R"(This keyword is used to introduce an bc_stag ... end block, used to + specify the configuration for setting stagnation boundary conditions for a + partial differential equation. Keywords allowed in a bc_stag ... end + block: )" + std::string("\'") + + point::string() + "\', \'" + + radius::string() + "\'. "; + } +}; +using bc_stag = keyword< bc_stag_info, TAOCPP_PEGTL_STRING("bc_stag") >; + +struct bc_skip_info { + static std::string name() { return "Skip boundary condition"; } + static std::string shortDescription() { return + "Start configuration block describing skip boundary conditions"; } + static std::string longDescription() { return + R"(This keyword is used to introduce an bc_skip ... end block, used to + specify the configuration for setting 'skip' boundary conditions for a + partial differential equation. If a mesh point falls into a skip region, + configured by a point and a radius, any application of boundary conditions + on those points will be skipped. Keywords allowed in a bc_skip ... end + block: )" + std::string("\'") + + point::string() + "\', \'" + + radius::string() + "\'. "; + } +}; +using bc_skip = keyword< bc_skip_info, TAOCPP_PEGTL_STRING("bc_skip") >; + struct bc_inlet_info { static std::string name() { return "Inlet boundary condition"; } static std::string shortDescription() { return @@ -4569,7 +5265,7 @@ struct transport_info { R"(This keyword is used to introduce an transport ... end block, used to specify the configuration for a transport equation type. Keywords allowed in an transport ... end block: )" + std::string("\'") - + depvar::string()+ "\', \'" + + depvar::string() + "\', \'" + ncomp::string() + "\', \'" + problem::string() + "\', \'" + physics::string() + "\', \'" @@ -4586,6 +5282,24 @@ struct transport_info { }; using transport = keyword< transport_info, TAOCPP_PEGTL_STRING("transport") >; +struct bc_farfield_info { + static std::string name() { return "Farfield boundary condition"; } + static std::string shortDescription() { return + "Start configuration block describing farfield boundary conditions"; } + static std::string longDescription() { return + R"(This keyword is used to introduce a bc_farfield ... end block, used + to specify the configuration for setting farfield boundary conditions + for the compressible flow equations. Keywords allowed in a bc_farfield + ... end block: )" + std::string("\'") + + density::string() + "\', \'" + + pressure::string() + "\', \'" + + velocity::string() + "\', \'" + + sideset::string() + "\'. "; + } +}; +using bc_farfield = + keyword< bc_farfield_info, TAOCPP_PEGTL_STRING("bc_farfield") >; + struct bc_extrapolate_info { static std::string name() { return "Extrapolation boundary condition"; } static std::string shortDescription() { return @@ -4617,6 +5331,43 @@ struct id_info { }; using id = keyword< id_info, TAOCPP_PEGTL_STRING("id") >; +struct prelax_info { + static std::string name() { return "Pressure relaxation"; } + static std::string shortDescription() { return + "Turn multi-material finite pressure relaxation on/off"; } + static std::string longDescription() { return + R"(This keyword is used to turn finite pressure relaxation between multiple + materials on/off. It is used only for the multi-material solver, and has + no effect when used for the other PDE types.)"; + } + struct expect { + using type = int; + static std::string description() { return "string"; } + static std::string choices() { return "1 | 0"; } + }; +}; +using prelax = keyword< prelax_info, TAOCPP_PEGTL_STRING("prelax") >; + +struct prelax_timescale_info { + static std::string name() { return "Pressure relaxation time-scale"; } + static std::string shortDescription() { return + "Time-scale for multi-material finite pressure relaxation"; } + static std::string longDescription() { return + R"(This keyword is used to specify the time-scale at which finite pressure + relaxation between multiple materials occurs. The default value of 1.0 + corresponds to a relaxation time of the order of time required for a + sound wave to pass through a computational element. It is used only for + multimat, and has no effect for the other PDE types.)"; + } + struct expect { + using type = tk::real; + static constexpr type lower = 0.001; + static std::string description() { return "real"; } + }; +}; +using prelax_timescale = keyword< prelax_timescale_info, + TAOCPP_PEGTL_STRING("prelax_timescale") >; + struct mat_gamma_info { static std::string name() { return "gamma"; } static std::string shortDescription() { return "ratio of specific heats"; } @@ -4713,21 +5464,6 @@ struct material_info { }; using material = keyword< material_info, TAOCPP_PEGTL_STRING("material") >; -struct velocityic_info { - static std::string name() { return "velocity"; } - static std::string shortDescription() { return - "Specify velocity initial conditions"; - } - static std::string longDescription() { return - R"(This keyword is used to set initial conditions for the velocity field.)"; - } - struct expect { - using type = tk::real; - static std::string description() { return "real(s)"; } - }; -}; -using velocityic = keyword< velocityic_info, TAOCPP_PEGTL_STRING("velocity") >; - struct compflow_info { static std::string name() { return "Compressible single-material flow"; } static std::string shortDescription() { return @@ -4755,6 +5491,7 @@ struct compflow_info { + bc_sym::string() + "\', \'" + bc_inlet::string() + "\', \'" + bc_outlet::string() + "\', \'" + + bc_farfield::string() + "\', \'" + bc_extrapolate::string() + "\'." + R"(For an example compflow ... end block, see doc/html/inicter_example_compflow.html.)"; @@ -4776,6 +5513,8 @@ struct multimat_info { + problem::string() + "\', \'" + material::string() + "\', \'" + nmat::string() + "\', \'" + + prelax::string() + "\', \'" + + prelax_timescale::string() + "\', \'" + pde_alpha::string() + "\', \'" + pde_p0::string() + "\', \'" + pde_betax::string() + "\', \'" @@ -4891,7 +5630,7 @@ using partitioning = keyword< partitioning_info, TAOCPP_PEGTL_STRING("partitioni struct amr_uniform_info { using code = Code< u >; - static std::string name() { return "uniform"; } + static std::string name() { return "uniform refine"; } static std::string shortDescription() { return "Select uniform initial mesh refinement"; } static std::string longDescription() { return @@ -4901,7 +5640,7 @@ using amr_uniform = keyword< amr_uniform_info, TAOCPP_PEGTL_STRING("uniform") >; struct amr_uniform_derefine_info { using code = Code< d >; - static std::string name() { return "uniform_derefine"; } + static std::string name() { return "uniform derefine"; } static std::string shortDescription() { return "Select uniform initial mesh de-refinement"; } static std::string longDescription() { return @@ -4912,7 +5651,7 @@ using amr_uniform_derefine = struct amr_initial_conditions_info { using code = Code< i >; - static std::string name() { return "ic"; } + static std::string name() { return "initial conditions"; } static std::string shortDescription() { return "Select initial-conditions-based initial mesh refinement"; } static std::string longDescription() { return @@ -4922,15 +5661,46 @@ struct amr_initial_conditions_info { using amr_initial_conditions = keyword< amr_initial_conditions_info, TAOCPP_PEGTL_STRING("ic") >; +struct amr_edgelist_info { + using code = Code< e >; + static std::string name() { return "edge list"; } + static std::string shortDescription() { return + "Configure edge-node pairs for initial refinement"; } + static std::string longDescription() { return + R"(This keyword can be used to configure a list of edges that are explicitly + tagged for initial refinement during setup in inciter. The keyword + introduces an edgelist ... end block within an amr ... end block and must + contain a list of integer pairs, i.e., the number of ids must be even, + denoting the end-points of the nodes (=edge) which should be tagged for + refinement.)"; } + struct expect { + using type = std::size_t; + static constexpr type lower = 0; + static std::string description() { return "two ints"; } + }; +}; +using amr_edgelist = + keyword< amr_edgelist_info, TAOCPP_PEGTL_STRING("edgelist") >; + struct amr_coords_info { using code = Code< c >; - static std::string name() { return "coords"; } + static std::string name() { return "coordinates"; } static std::string shortDescription() { return - "Select coordinate-based initial mesh refinement"; } - static std::string longDescription() { return R"(This keyword is used to - select coordinate-based initial mesh refinement.)"; } + "Configure initial refinement using coordinate planes"; } + static std::string longDescription() { return + R"(This keyword can be used to configure entire volumes on a given side of a + plane in 3D space. The keyword introduces an coords ... end block within + an amr ... end block and must contain the either or multiple of the + following keywords: x- , x+ , y- , y+ , z- , + z+ . All edges of the input mesh will be tagged for refinement whose + end-points lie less than (-) or larger than (+) the real number given. + Example: 'x- 0.5' refines all edges whose end-point coordinates are less + than 0.5. Multiple specifications are understood by combining with a logical + AND. That is: 'x- 0.5 y+ 0.3' refines all edges whose end-point x + coordinates are less than 0.5 AND y coordinates are larger than 0.3.)"; } }; -using amr_coords = keyword< amr_coords_info, TAOCPP_PEGTL_STRING("coords") >; +using amr_coords = + keyword< amr_coords_info, TAOCPP_PEGTL_STRING("coords") >; struct amr_initial_info { static std::string name() { return "Initial refinement typelist"; } @@ -4946,8 +5716,10 @@ struct amr_initial_info { static std::string description() { return "string"; } static std::string choices() { return '\'' + amr_uniform::string() + "\' | \'" - + amr_coords::string() + "\' | \'" - + amr_initial_conditions::string() + '\''; + + amr_uniform_derefine::string() + "\' | \'" + + amr_initial_conditions::string() + "\' | \'" + + amr_edgelist::string() + "\' | \'" + + amr_coords::string() + '\''; } }; }; @@ -4977,47 +5749,6 @@ struct amr_refvar_info { }; using amr_refvar = keyword< amr_refvar_info, TAOCPP_PEGTL_STRING("refvar") >; -struct amr_edgelist_info { - using code = Code< e >; - static std::string name() { return "initial refinement edge-nodes"; } - static std::string shortDescription() { return - "Configure edge-node pairs for initial refinement"; } - static std::string longDescription() { return - R"(This keyword can be used to configure a list of edges that are explicitly - tagged for initial refinement during setup in inciter. The keyword - introduces an edgelist ... end block within an amr ... end block and must - contain a list of integer pairs, i.e., the number of ids must be even, - denoting the end-points of the nodes (=edge) which should be tagged for - refinement.)"; } - struct expect { - using type = std::size_t; - static constexpr type lower = 0; - static std::string description() { return "two ints"; } - }; -}; -using amr_edgelist = - keyword< amr_edgelist_info, TAOCPP_PEGTL_STRING("edgelist") >; - -struct amr_coordref_info { - static std::string name() { - return "initial refinement with coordinate planes"; } - static std::string shortDescription() { return - "Configure initial refinement using coordinate planes"; } - static std::string longDescription() { return - R"(This keyword can be used to configure entire volumes on a given side of a - plane in 3D space. The keyword introduces an coordref ... end block within - an amr ... end block and must contain the either or multiple of the - following keywords: x- , x+ , y- , y+ , z- , - z+ . All edges of the input mesh will be tagged for refinement whose - end-points lie less than (-) or larger than (+) the real number given. - Example: 'x- 0.5' refines all edges whose end-point coordinates are less - than 0.5. Multiple specifications are understood by combining with a logical - AND. That is: 'x- 0.5 y+ 0.3' refines all edges whose end-point x - coordinates are less than 0.5 AND y coordinates are larger than 0.3.)"; } -}; -using amr_coordref = - keyword< amr_coordref_info, TAOCPP_PEGTL_STRING("coordref") >; - struct amr_xminus_info { static std::string name() { return "initial refinement: x-"; } static std::string shortDescription() { return "Configure initial refinement " @@ -5025,7 +5756,7 @@ struct amr_xminus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are less than the x coordinate of a plane perpendicular to - coordinate x in 3D space. The keyword must be used in a coordref ... end + coordinate x in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'x- '. All edges of the input mesh will be tagged for refinement whose end-points lie less than (-) the real number given. Example: 'x- 0.5' refines all edges whose end-point @@ -5045,7 +5776,7 @@ struct amr_xplus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are larger than the x coordinate of a plane perpendicular - to coordinate x in 3D space. The keyword must be used in a coordref ... end + to coordinate x in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'x+ '. All edges of the input mesh will be tagged for refinement whose end-points lie larger than (+) the real number given. Example: 'x+ 0.5' refines all edges whose @@ -5065,7 +5796,7 @@ struct amr_yminus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are less than the y coordinate of a plane perpendicular to - coordinate y in 3D space. The keyword must be used in a coordref ... end + coordinate y in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'y- '. All edges of the input mesh will be tagged for refinement whose end-points lie less than (-) the real number given. Example: 'y- 0.5' refines all edges whose end-point @@ -5085,7 +5816,7 @@ struct amr_yplus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are larger than the y coordinate of a plane perpendicular - to coordinate y in 3D space. The keyword must be used in a coordref ... end + to coordinate y in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'y+ '. All edges of the input mesh will be tagged for refinement whose end-points lie larger than (+) the real number given. Example: 'y+ 0.5' refines all edges whose @@ -5105,7 +5836,7 @@ struct amr_zminus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are less than the z coordinate of a plane perpendicular to - coordinate z in 3D space. The keyword must be used in a coordref ... end + coordinate z in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'z- '. All edges of the input mesh will be tagged for refinement whose end-points lie less than (-) the real number given. Example: 'z- 0.5' refines all edges whose end-point @@ -5125,7 +5856,7 @@ struct amr_zplus_info { static std::string longDescription() { return R"(This keyword can be used to configure a mesh refinement volume for edges whose end-points are larger than the z coordinate of a plane perpendicular - to coordinate z in 3D space. The keyword must be used in a coordref ... end + to coordinate z in 3D space. The keyword must be used in a coords ... end block within an amr ... end block with syntax 'z+ '. All edges of the input mesh will be tagged for refinement whose end-points lie larger than (+) the real number given. Example: 'z+ 0.5' refines all edges whose @@ -5310,12 +6041,76 @@ struct amr_info { + amr_tolref::string() + "\' | \'" + amr_tolderef::string() + "\' | \'" + amr_error::string() + "\' | \'" - + amr_coordref::string() + "\' | \'" + + amr_coords::string() + "\' | \'" + amr_edgelist::string() + "\'."; } }; using amr = keyword< amr_info, TAOCPP_PEGTL_STRING("amr") >; +struct pref_spectral_decay_info { + static std::string name() { return "SPECTRAL_DECAY"; } + static std::string shortDescription() { return "Select the spectral-decay" + " indicator for p-adaptive DG scheme"; } + static std::string longDescription() { return + R"(This keyword is used to select the spectral-decay indicator used for + p-adaptive discontinuous Galerkin (DG) discretization used in inciter. + See Control/Inciter/Options/PrefIndicator.hpp for other valid options.)"; } +}; +using pref_spectral_decay = keyword< pref_spectral_decay_info, + TAOCPP_PEGTL_STRING("spectral_decay") >; + +struct pref_non_conformity_info { + static std::string name() { return "NON_CONFORMITY"; } + static std::string shortDescription() { return "Select the non-conformity" + " indicator for p-adaptive DG scheme"; } + static std::string longDescription() { return + R"(This keyword is used to select the non-conformity indicator used for + p-adaptive discontinuous Galerkin (DG) discretization used in inciter. + See Control/Inciter/Options/PrefIndicator.hpp for other valid options.)"; } +}; +using pref_non_conformity = keyword< pref_non_conformity_info, + TAOCPP_PEGTL_STRING("non_conformity") >; + +struct pref_indicator_info { + static std::string name() { return "the choice of adaptive indicator"; } + static std::string shortDescription() { return "Configure the specific " + " adaptive indicator for p-adaptive DG scheme"; } + static std::string longDescription() { return + R"(This keyword can be used to configure a specific type of adaptive + indicator for p-adaptive refinement of the DG scheme. The keyword must + be used in pref ... end block. Example specification: 'indicator 1'.)"; } + struct expect { + static std::string description() { return "string"; } + static std::string choices() { + return '\'' + pref_spectral_decay::string() + "\' | \'" + + pref_non_conformity::string() + '\''; + } + }; +}; +using pref_indicator = + keyword< pref_indicator_info, TAOCPP_PEGTL_STRING("indicator") >; + +struct pref_ndofmax_info { + static std::string name() { return "Maximum ndof for p-refinement"; } + static std::string shortDescription() { return "Configure the maximum " + "number of degree of freedom for p-adaptive DG scheme"; } + static std::string longDescription() { return + R"(This keyword can be used to configure a maximum number of degree of + freedom for p-adaptive refinement of the DG scheme. The keyword must + be used in pref ... end block. Example specification: 'ndofmax 10'.)"; } + struct expect { + using type = std::size_t; + static constexpr type lower = 4; + static constexpr type upper = 10; + static std::string description() { return "int"; } + static std::string choices() { + return "int either 4 or 10"; + } + }; +}; +using pref_ndofmax = + keyword< pref_ndofmax_info, TAOCPP_PEGTL_STRING("ndofmax") >; + struct pref_tolref_info { static std::string name() { return "Tolerance for p-refinement"; } static std::string shortDescription() { return "Configure the tolerance for " @@ -5346,13 +6141,15 @@ struct pref_info { R"(This keyword is used to introduce the pref ... end block, used to configure p-adaptive refinement. Keywords allowed in this block: )" + std::string("\'") + + pref_indicator::string() + "\' | \'" + + pref_ndofmax::string() + "\' | \'" + pref_tolref::string() + "\' | \'"; } }; using pref = keyword< pref_info, TAOCPP_PEGTL_STRING("pref") >; struct diagcg_info { - static std::string name() { return "CG + LW"; } + static std::string name() { return "CG+LW"; } static std::string shortDescription() { return "Select continuous Galerkin " "+ Lax Wendroff with a lumped-mass matrix LHS"; } static std::string longDescription() { return @@ -5367,7 +6164,7 @@ struct diagcg_info { using diagcg = keyword< diagcg_info, TAOCPP_PEGTL_STRING("diagcg") >; struct alecg_info { - static std::string name() { return "ALE-CG + RK"; } + static std::string name() { return "ALECG+RK"; } static std::string shortDescription() { return "Select continuous Galerkin " "with ALE + Runge-Kutta"; } static std::string longDescription() { return @@ -5379,7 +6176,7 @@ struct alecg_info { using alecg = keyword< alecg_info, TAOCPP_PEGTL_STRING("alecg") >; struct dg_info { - static std::string name() { return "DG(P0) + RK"; } + static std::string name() { return "DG(P0)+RK"; } static std::string shortDescription() { return "Select 1st-order discontinuous Galerkin discretization + Runge-Kutta"; } static std::string longDescription() { return @@ -5393,7 +6190,7 @@ struct dg_info { using dg = keyword< dg_info, TAOCPP_PEGTL_STRING("dg") >; struct p0p1_info { - static std::string name() { return "P0P1 + RK"; } + static std::string name() { return "P0P1+RK"; } static std::string shortDescription() { return "Select 2nd-order finite volume discretization + Runge-Kutta"; } static std::string longDescription() { return @@ -5407,7 +6204,7 @@ struct p0p1_info { using p0p1 = keyword< p0p1_info, TAOCPP_PEGTL_STRING("p0p1") >; struct dgp1_info { - static std::string name() { return "DG(P1) + RK"; } + static std::string name() { return "DG(P1)+RK"; } static std::string shortDescription() { return "Select 2nd-order discontinuous Galerkin discretization + Runge-Kutta"; } static std::string longDescription() { return @@ -5420,7 +6217,7 @@ struct dgp1_info { using dgp1 = keyword< dgp1_info, TAOCPP_PEGTL_STRING("dgp1") >; struct dgp2_info { - static std::string name() { return "DG(P2) + RK"; } + static std::string name() { return "DG(P2)+RK"; } static std::string shortDescription() { return "Select 3nd-order discontinuous Galerkin discretization + Runge-Kutta"; } static std::string longDescription() { return @@ -5433,7 +6230,7 @@ struct dgp2_info { using dgp2 = keyword< dgp2_info, TAOCPP_PEGTL_STRING("dgp2") >; struct pdg_info { - static std::string name() { return "p-adaptive DG + RK"; } + static std::string name() { return "pDG+RK"; } static std::string shortDescription() { return "Select adaptive discontinuous Galerkin discretization + Runge-Kutta"; } static std::string longDescription() { return @@ -5514,6 +6311,19 @@ struct ausm_info { }; using ausm = keyword< ausm_info, TAOCPP_PEGTL_STRING("ausm") >; +struct hll_info { + static std::string name() { return "HLL"; } + static std::string shortDescription() { return + "Select the Harten-Lax-vanLeer (HLL) flux function"; } + static std::string longDescription() { return + R"(This keyword is used to select the HLL flux + function used for discontinuous Galerkin (DG) spatial discretization + used in inciter. It is only used for for multi-material hydro, it is thus + not selectable for anything else, and for multi-material hydro it is the + hardcoded flux type.)"; } +}; +using hll = keyword< hll_info, TAOCPP_PEGTL_STRING("hll") >; + struct flux_info { static std::string name() { return "Flux function"; } static std::string shortDescription() { return @@ -5528,7 +6338,8 @@ struct flux_info { return '\'' + laxfriedrichs::string() + "\' | \'" + hllc::string() + "\' | \'" + upwind::string() + "\' | \'" - + ausm::string() + '\''; + + ausm::string() + "\' | \'" + + hll::string() + '\''; } }; }; @@ -5569,6 +6380,20 @@ struct superbeep1_info { }; using superbeep1 = keyword< superbeep1_info, TAOCPP_PEGTL_STRING("superbeep1") >; +struct vertexbasedp1_info { + static std::string name() { return "VERTEXBASEDP1"; } + static std::string shortDescription() { return + "Select the vertex-based limiter for DGP1"; } + static std::string longDescription() { return + R"(This keyword is used to select the vertex-based limiter used for + discontinuous Galerkin (DG) P1 spatial discretization used in inciter. + Ref. Kuzmin, D. (2010). A vertex-based hierarchical slope limiter for + p-adaptive discontinuous Galerkin methods. Journal of computational and + applied mathematics, 233(12), 3077-3085. + See Control/Inciter/Options/Limiter.hpp for other valid options.)"; } +}; +using vertexbasedp1 = keyword< vertexbasedp1_info, TAOCPP_PEGTL_STRING("vertexbasedp1") >; + struct limiter_info { static std::string name() { return "Limiter function"; } static std::string shortDescription() { return @@ -5582,7 +6407,8 @@ struct limiter_info { static std::string choices() { return '\'' + nolimiter::string() + "\' | \'" + wenop1::string() + "\' | \'" - + superbeep1::string() + '\''; + + superbeep1::string() + "\' | \'" + + vertexbasedp1::string() + '\''; } }; }; @@ -5607,6 +6433,66 @@ struct fct_info { }; using fct = keyword< fct_info, TAOCPP_PEGTL_STRING("fct") >; +struct fctclip_info { + static std::string name() { return "Clipping Flux-corrected transport"; } + static std::string shortDescription() { return + "Turn on clipping flux-corrected transport on/off"; } + static std::string longDescription() { return + R"(This keyword can be used to turn on/off the clipping limiter used for + flux-corrected transport (FCT). The clipping limiter only looks at the + current low order solution to determine the allowed solution minima and + maxima, instead of the minimum and maximum of the low order solution and + the previous solution.)"; } + struct expect { + using type = bool; + static std::string description() { return "string"; } + static std::string choices() { return "true | false"; } + }; +}; +using fctclip = keyword< fctclip_info, TAOCPP_PEGTL_STRING("fctclip") >; + +struct sysfct_info { + static std::string name() { return "Flux-corrected transport for systems"; } + static std::string shortDescription() { return + "Turn on system nature of flux-corrected transport"; } + static std::string longDescription() { return + R"(This keyword can be used to enable a system-nature for flux-corrected + transport (FCT). Note that FCT is only used in conjunction with continuous + Galerkin finite element discretization, configured by scheme diagcg and it + has no effect when the discontinuous Galerkin (DG) scheme is used, + configured by 'scheme dg'. Enabling the system-nature for FCT will choose + the limiter coefficients for a system of equations, e.g., compressible flow, + in way that takes the system-nature of the equations into account. An + example is assinging the minimum of the limit coefficient to all variables + limited in a computational cell, e.g., density, momentum, and specitic total + energy. This yields better, more monotonic, results.)"; } + struct expect { + using type = bool; + static std::string description() { return "string"; } + static std::string choices() { return "true | false"; } + }; +}; +using sysfct = keyword< sysfct_info, TAOCPP_PEGTL_STRING("sysfct") >; + +struct sysfctvar_info { + static std::string name() { return "Variables considered for system FCT"; } + static std::string shortDescription() { return + "Specify a list of scalar component indices that considered for system FCT"; + } + static std::string longDescription() { return + R"(This keyword is used to specify a list of integers that are considered + for computing the system-nature of flux-corrected transport. Example: + 'sysfctvar 0 1 2 3 end', which means ignoring the energy (by not listing 4) + when computing the coupled limit coefficient for a system of mass, momentum, + and energy for single-material compressible flow.)"; + } + struct expect { + using type = std::size_t; + static std::string description() { return "integers"; } + }; +}; +using sysfctvar = keyword< sysfctvar_info, TAOCPP_PEGTL_STRING("sysfctvar") >; + ////////// NOT YET FULLY DOCUMENTED ////////// struct mix_iem_info { diff --git a/src/Control/MKLGrammar.hpp b/src/Control/MKLGrammar.hpp index 77ab70463bf..bc844d3fb53 100644 --- a/src/Control/MKLGrammar.hpp +++ b/src/Control/MKLGrammar.hpp @@ -3,7 +3,7 @@ \file src/Control/MKLGrammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL-related grammar \details This file defines Intel Math Kernel Library related grammar, diff --git a/src/Control/MeshConv/CmdLine/CmdLine.hpp b/src/Control/MeshConv/CmdLine/CmdLine.hpp index 8c248c59f0b..23f40f9487c 100644 --- a/src/Control/MeshConv/CmdLine/CmdLine.hpp +++ b/src/Control/MeshConv/CmdLine/CmdLine.hpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/CmdLine/CmdLine.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief MeshConv's command line definition \details This file defines the heterogeneous stack that is used for storing @@ -60,6 +60,7 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::helpkw , kw::input , kw::output + , kw::screen , kw::reorder_cmd , kw::quiescence , kw::trace @@ -67,6 +68,12 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::license >; + //! Set of tags to ignore when printing this CmdLine + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set defaults. //! \details Anything not set here is initialized by the compiler using the //! default constructor for the corresponding type. While there is a @@ -74,6 +81,8 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! control file parser. //! \see walker::ctr::CmdLine CmdLine() { + get< tag::io, tag::screen >() = + tk::baselogname( tk::meshconv_executable() ); get< tag::verbose >() = false; // Use quiet output by default get< tag::chare >() = false; // No chare state output by default get< tag::reorder >() = false; // Do not reorder by default @@ -94,6 +103,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::meshconv_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/MeshConv/CmdLine/Grammar.hpp b/src/Control/MeshConv/CmdLine/Grammar.hpp index 4d061e3b1c0..13e59f85d13 100644 --- a/src/Control/MeshConv/CmdLine/Grammar.hpp +++ b/src/Control/MeshConv/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief MeshConv's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -95,6 +95,7 @@ namespace cmd { version, license, io< kw::input, tag::input >, + io< kw::screen, tag::screen >, io< kw::output, tag::output > > {}; //! \brief Grammar entry point: parse keywords until end of string diff --git a/src/Control/MeshConv/CmdLine/Parser.cpp b/src/Control/MeshConv/CmdLine/Parser.cpp index b25e2f6927d..2046aff54eb 100644 --- a/src/Control/MeshConv/CmdLine/Parser.cpp +++ b/src/Control/MeshConv/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief MeshConv's command line parser \details This file defines the command-line argument parser for the mesh diff --git a/src/Control/MeshConv/CmdLine/Parser.hpp b/src/Control/MeshConv/CmdLine/Parser.hpp index ba3fb77d1da..c320fdb5493 100644 --- a/src/Control/MeshConv/CmdLine/Parser.hpp +++ b/src/Control/MeshConv/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief MeshConv's command line parser \details This file declares the command-line argument parser for the mesh diff --git a/src/Control/MeshConv/Types.hpp b/src/Control/MeshConv/Types.hpp index cff0ff5a497..5e38e8a00da 100644 --- a/src/Control/MeshConv/Types.hpp +++ b/src/Control/MeshConv/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/MeshConv/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for MeshConv's parsers \details Types for UnitTest's parsers. This file defines the components of @@ -26,8 +26,10 @@ using namespace tao; //! IO parameters storage using ios = tk::TaggedTuple< brigand::list< - tag::input, std::string //!< Input filename - , tag::output, std::string //!< Output filename + tag::nrestart, int //!< Number of restarts + , tag::input, std::string //!< Input filename + , tag::output, std::string //!< Output filename + , tag::screen, kw::screen::info::expect::type //!< Screen output filename > >; //! PEGTL location/position type to use throughout all of MeshConv's parsers diff --git a/src/Control/Options/Error.hpp b/src/Control/Options/Error.hpp index 09948ebe1a5..5bca292b252 100644 --- a/src/Control/Options/Error.hpp +++ b/src/Control/Options/Error.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/Error.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Error type options \details Error type options diff --git a/src/Control/Options/FieldFile.hpp b/src/Control/Options/FieldFile.hpp index edc456a2e98..80a8a8cab13 100644 --- a/src/Control/Options/FieldFile.hpp +++ b/src/Control/Options/FieldFile.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/FieldFile.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Field output file type options \details Field output file type options diff --git a/src/Control/Options/MKLBetaMethod.hpp b/src/Control/Options/MKLBetaMethod.hpp index 5ed497c751d..94bd4a00fcd 100644 --- a/src/Control/Options/MKLBetaMethod.hpp +++ b/src/Control/Options/MKLBetaMethod.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/MKLBetaMethod.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL Beta RNG method options \details Intel MKL Beta RNG method options diff --git a/src/Control/Options/MKLGammaMethod.hpp b/src/Control/Options/MKLGammaMethod.hpp index 9529a28ffa1..5bc33e301cb 100644 --- a/src/Control/Options/MKLGammaMethod.hpp +++ b/src/Control/Options/MKLGammaMethod.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/MKLGammaMethod.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL Gamma RNG method options \details Intel MKL Gamma RNG method options diff --git a/src/Control/Options/MKLGaussianMVMethod.hpp b/src/Control/Options/MKLGaussianMVMethod.hpp index 9330db26621..187d0c942a4 100644 --- a/src/Control/Options/MKLGaussianMVMethod.hpp +++ b/src/Control/Options/MKLGaussianMVMethod.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/MKLGaussianMVMethod.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL multi-variate Gaussian RNG method options \details Intel MKL multi-variate Gaussian RNG method options diff --git a/src/Control/Options/MKLGaussianMethod.hpp b/src/Control/Options/MKLGaussianMethod.hpp index 1aa669a578e..5c99085cf6d 100644 --- a/src/Control/Options/MKLGaussianMethod.hpp +++ b/src/Control/Options/MKLGaussianMethod.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/MKLGaussianMethod.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL Gaussian RNG method options \details Intel MKL Gaussian RNG method options diff --git a/src/Control/Options/MKLUniformMethod.hpp b/src/Control/Options/MKLUniformMethod.hpp index 8997074a348..3e1bff59025 100644 --- a/src/Control/Options/MKLUniformMethod.hpp +++ b/src/Control/Options/MKLUniformMethod.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/MKLUniformMethod.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Intel MKL uniform RNG method options \details Intel MKL uniform RNG method options diff --git a/src/Control/Options/PDFCentering.hpp b/src/Control/Options/PDFCentering.hpp index f7b3dabd731..4bd98a11138 100644 --- a/src/Control/Options/PDFCentering.hpp +++ b/src/Control/Options/PDFCentering.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/PDFCentering.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief PDF output file centering type options \details PDF output file centering type options diff --git a/src/Control/Options/PDFFile.hpp b/src/Control/Options/PDFFile.hpp index 0f57b216197..ab99e2d03c7 100644 --- a/src/Control/Options/PDFFile.hpp +++ b/src/Control/Options/PDFFile.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/PDFFile.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief PDF output file type options \details PDF output file type options diff --git a/src/Control/Options/PDFPolicy.hpp b/src/Control/Options/PDFPolicy.hpp index 5bb46d62094..09a1fcfcfc6 100644 --- a/src/Control/Options/PDFPolicy.hpp +++ b/src/Control/Options/PDFPolicy.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/PDFPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief PDF output file policy options \details PDF output file policy options diff --git a/src/Control/Options/PartitioningAlgorithm.hpp b/src/Control/Options/PartitioningAlgorithm.hpp index aabd37a5cd3..90f7b260c8d 100644 --- a/src/Control/Options/PartitioningAlgorithm.hpp +++ b/src/Control/Options/PartitioningAlgorithm.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/PartitioningAlgorithm.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh partitioning algorithm options \details Mesh partitioning algorithm options diff --git a/src/Control/Options/RNG.hpp b/src/Control/Options/RNG.hpp index 3cd8d7ffb15..d81cb8fb5d6 100644 --- a/src/Control/Options/RNG.hpp +++ b/src/Control/Options/RNG.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/RNG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator options and associations \details Random number generator options and associations @@ -28,7 +28,7 @@ #include "Keywords.hpp" #include "Options/RNGSSESeqLen.hpp" #include "PUPUtil.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" namespace tk { namespace ctr { diff --git a/src/Control/Options/RNGSSESeqLen.hpp b/src/Control/Options/RNGSSESeqLen.hpp index fad95fc84be..fe3c3155e5e 100644 --- a/src/Control/Options/RNGSSESeqLen.hpp +++ b/src/Control/Options/RNGSSESeqLen.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/RNGSSESeqLen.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGSSE sequence length options \details RNGSSE sequence length options diff --git a/src/Control/Options/TxtFloatFormat.hpp b/src/Control/Options/TxtFloatFormat.hpp index 2c30b8a8df2..bc4233bd22c 100644 --- a/src/Control/Options/TxtFloatFormat.hpp +++ b/src/Control/Options/TxtFloatFormat.hpp @@ -3,7 +3,7 @@ \file src/Control/Options/TxtFloatFormat.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Text floating-point output options \details Text floating-point output options diff --git a/src/Control/RNGParam.hpp b/src/Control/RNGParam.hpp index a934e2df56f..81eec5fad71 100644 --- a/src/Control/RNGParam.hpp +++ b/src/Control/RNGParam.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGParam.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for storing parameters of random number generators \details Types for storing parameters of random number generators. @@ -50,10 +50,10 @@ using RNGMKLParam = tk::TaggedTuple< brigand::list< tag::seed, kw::seed::info::expect::type //!< seed , tag::uniform_method, MKLUniformMethodType //!< uniform method type , tag::gaussian_method, MKLGaussianMethodType //!< Gaussian method type - //! multi-variate Gaussian method type + //! multi-variate Gaussian method type , tag::gaussianmv_method, MKLGaussianMVMethodType , tag::beta_method, MKLBetaMethodType //!< beta method type - , tag::gamma_method, MKLGammaMethodType //!< gamma method type + , tag::gamma_method, MKLGammaMethodType //!< gamma method type > >; //! MKL RNG parameters bundle associating RNG types and their parameters using RNGMKLParameters = std::map< RNGType, RNGMKLParam >; diff --git a/src/Control/RNGSSEGrammar.hpp b/src/Control/RNGSSEGrammar.hpp index fa7c80c44eb..0df8e6f5533 100644 --- a/src/Control/RNGSSEGrammar.hpp +++ b/src/Control/RNGSSEGrammar.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGSSEGrammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGSSE-related grammar \details This file defines RNGSSE2 library related grammar, (re-)used by diff --git a/src/Control/RNGTest/CmdLine/CmdLine.hpp b/src/Control/RNGTest/CmdLine/CmdLine.hpp index efae9f7474e..24f99bfe58b 100644 --- a/src/Control/RNGTest/CmdLine/CmdLine.hpp +++ b/src/Control/RNGTest/CmdLine/CmdLine.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/CmdLine/CmdLine.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest's command line \details This file defines the heterogeneous stack that is used for storing @@ -56,12 +56,19 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::help , kw::helpctr , kw::helpkw + , kw::screen , kw::quiescence , kw::trace , kw::version , kw::license >; + //! Set of tags to ignore when printing this CmdLine + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set all defaults. //! \param[in] ctrinfo std::map of control file keywords and their info //! \details Anything not set here is initialized by the compiler using the @@ -94,6 +101,8 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! otherwise it would be a mutual dependency. // cppcheck-suppress noExplicitConstructor CmdLine( tk::ctr::HelpFactory ctrinfo = tk::ctr::HelpFactory() ) { + get< tag::io, tag::screen >() = + tk::baselogname( tk::rngtest_executable() ); get< tag::verbose >() = false; // Use quiet output by default get< tag::chare >() = false; // No chare state output by default get< tag::trace >() = true; // Output call and stack trace by default @@ -114,6 +123,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::rngtest_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/RNGTest/CmdLine/Grammar.hpp b/src/Control/RNGTest/CmdLine/Grammar.hpp index 90c6cf81429..90bb65f6b22 100644 --- a/src/Control/RNGTest/CmdLine/Grammar.hpp +++ b/src/Control/RNGTest/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -40,12 +40,13 @@ namespace cmd { tk::grm::process_cmd_switch< use, kw::charestate, tag::chare > {}; - //! \brief Match and set control (i.e., input deck) file name - struct control : - tk::grm::process_cmd< use, kw::control, - tk::grm::Store< tag::io, tag::control >, + //! \brief Match and set io parameter + template< typename keyword, typename io_tag > + struct io : + tk::grm::process_cmd< use, keyword, + tk::grm::Store< tag::io, io_tag >, pegtl::any, - tag::io, tag::control > {}; + tag::io, io_tag > {}; //! \brief Match help on control file keywords struct helpctr : @@ -88,14 +89,15 @@ namespace cmd { struct keywords : pegtl::sor< verbose, charestate, - control, help, helpctr, helpkw, quiescence, trace, version, - license > {}; + license, + io< kw::screen, tag::screen >, + io< kw::control, tag::control > > {}; //! \brief Grammar entry point: parse keywords until end of string struct read_string : diff --git a/src/Control/RNGTest/CmdLine/Parser.cpp b/src/Control/RNGTest/CmdLine/Parser.cpp index c3e20c9fb8f..119eb4d51f4 100644 --- a/src/Control/RNGTest/CmdLine/Parser.cpp +++ b/src/Control/RNGTest/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest's command line parser \details This file defines the command-line argument parser for the random diff --git a/src/Control/RNGTest/CmdLine/Parser.hpp b/src/Control/RNGTest/CmdLine/Parser.hpp index 71f8ce15015..f3cb4ced8e8 100644 --- a/src/Control/RNGTest/CmdLine/Parser.hpp +++ b/src/Control/RNGTest/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest's command line parser \details This file declares the command-line argument parser for the random diff --git a/src/Control/RNGTest/InputDeck/Grammar.hpp b/src/Control/RNGTest/InputDeck/Grammar.hpp index 300f65b675c..be44d2a25b1 100644 --- a/src/Control/RNGTest/InputDeck/Grammar.hpp +++ b/src/Control/RNGTest/InputDeck/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/InputDeck/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite grammar definition \details Random number generator test suite input deck grammar definition. diff --git a/src/Control/RNGTest/InputDeck/InputDeck.hpp b/src/Control/RNGTest/InputDeck/InputDeck.hpp index 4f965448e21..b182e1cc885 100644 --- a/src/Control/RNGTest/InputDeck/InputDeck.hpp +++ b/src/Control/RNGTest/InputDeck/InputDeck.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/InputDeck/InputDeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite input deck \details This file defines the heterogeneous stack that is used for storing @@ -27,10 +27,9 @@ namespace ctr { //! Member data for tagged tuple using InputDeckMembers = brigand::list< - tag::title, kw::title::info::expect::type + tag::cmd, CmdLine + , tag::title, kw::title::info::expect::type , tag::selected, selects - , tag::io, ios - , tag::cmd, CmdLine , tag::param, parameters , tag::error, std::vector< std::string > >; @@ -96,6 +95,8 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::gnorm_accurate >; + //! Set of tags to ignore when printing this InputDeck + using ignore = CmdLine::ignore; //! \brief Constructor: set all defaults //! \param[in] cl Previously parsed and store command line diff --git a/src/Control/RNGTest/InputDeck/Parser.cpp b/src/Control/RNGTest/InputDeck/Parser.cpp index 14ec921b3f4..86bb148f45f 100644 --- a/src/Control/RNGTest/InputDeck/Parser.cpp +++ b/src/Control/RNGTest/InputDeck/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/InputDeck/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite input deck parser \details This file defines the input deck, i.e., control file, parser for diff --git a/src/Control/RNGTest/InputDeck/Parser.hpp b/src/Control/RNGTest/InputDeck/Parser.hpp index 011049ceb86..0b5b49fbe03 100644 --- a/src/Control/RNGTest/InputDeck/Parser.hpp +++ b/src/Control/RNGTest/InputDeck/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/InputDeck/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite input deck parser \details This file declares the input deck, i.e., control file, parser for diff --git a/src/Control/RNGTest/Options/Battery.hpp b/src/Control/RNGTest/Options/Battery.hpp index ba6a3ebf8c4..2ff959893eb 100644 --- a/src/Control/RNGTest/Options/Battery.hpp +++ b/src/Control/RNGTest/Options/Battery.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/Options/Battery.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite batteries options \details Random number generator test suite batteries options diff --git a/src/Control/RNGTest/Types.hpp b/src/Control/RNGTest/Types.hpp index 700b5179794..0bdcc4b07f4 100644 --- a/src/Control/RNGTest/Types.hpp +++ b/src/Control/RNGTest/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/RNGTest/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for RNGTest's parsers \details Types for RNGTest's parsers. This file defines the components of @@ -38,7 +38,9 @@ using selects = tk::TaggedTuple< brigand::list< //! IO parameters storage using ios = tk::TaggedTuple< brigand::list< - tag::control, std::string //!< Control filename + tag::nrestart, int //!< Number of restarts + , tag::control, std::string //!< Control filename + , tag::screen, kw::screen::info::expect::type //!< Screen output filename > >; //! Parameters storage diff --git a/src/Control/Random123Grammar.hpp b/src/Control/Random123Grammar.hpp index d8af94f4164..4bd700eab01 100644 --- a/src/Control/Random123Grammar.hpp +++ b/src/Control/Random123Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/Random123Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random123-related grammar \details This file defines Random1232 library related grammar, (re-)used by diff --git a/src/Control/StatCtr.hpp b/src/Control/StatCtr.hpp index ccff5cbb89f..bd00445d776 100644 --- a/src/Control/StatCtr.hpp +++ b/src/Control/StatCtr.hpp @@ -3,7 +3,7 @@ \file src/Control/StatCtr.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types and associated functions to deal with moments and PDFs \details Types and associated functions to deal with statistical moments and @@ -149,9 +149,9 @@ static std::string operator+ ( const std::string& lhs, const Product& p ) { std::stringstream ss; ss << lhs; if (!p.empty()) { - ss << "<"; + ss << '<'; for (const auto& w : p) ss << w; - ss << ">"; + ss << '>'; } std::string rhs = ss.str(); return rhs; @@ -164,9 +164,9 @@ static std::string operator+ ( const std::string& lhs, const Product& p ) { static std::ostream& operator<< ( std::ostream& os, const Product& p ) { if (!p.empty()) { - os << "<"; + os << '<'; for (const auto& w : p) os << w; - os << "> "; + os << '>'; } return os; } diff --git a/src/Control/StringParser.cpp b/src/Control/StringParser.cpp index 06e1cfefbfd..3f425c45fe6 100644 --- a/src/Control/StringParser.cpp +++ b/src/Control/StringParser.cpp @@ -3,7 +3,7 @@ \file src/Control/StringParser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief String parser base class definition \details String parser base class definition. String parser base serves as diff --git a/src/Control/StringParser.hpp b/src/Control/StringParser.hpp index c0ba4d7df9b..eab7a8ca8ab 100644 --- a/src/Control/StringParser.hpp +++ b/src/Control/StringParser.hpp @@ -3,7 +3,7 @@ \file src/Control/StringParser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief String parser base class declaration \details String parser base class declaration. String parser base serves as diff --git a/src/Control/SystemComponents.hpp b/src/Control/SystemComponents.hpp index ba5be7850ce..370414c9bd4 100644 --- a/src/Control/SystemComponents.hpp +++ b/src/Control/SystemComponents.hpp @@ -3,7 +3,7 @@ \file src/Control/SystemComponents.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Operations on numbers of scalar components of systems of equations \details Operations on numbers of scalar components of systems of equations, diff --git a/src/Control/Tags.hpp b/src/Control/Tags.hpp index 3ee2cb9fd6a..7a6148963fc 100644 --- a/src/Control/Tags.hpp +++ b/src/Control/Tags.hpp @@ -3,7 +3,7 @@ \file src/Control/Tags.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Tags \details Tags are unique types, used for metaprogramming. @@ -12,214 +12,257 @@ #ifndef Tags_h #define Tags_h +#include + //! Tags used as unique-type labels for compile-time code-generation namespace tag { struct low {}; struct high {}; -struct io {}; -struct quiescence {}; -struct trace {}; -struct version {}; -struct license {}; -struct input {}; -struct output {}; -struct restart {}; -struct diag {}; +struct io { static std::string name() { return "io"; } }; +struct quiescence { static std::string name() { return "quiescence"; } }; +struct trace { static std::string name() { return "trace"; } }; +struct version { static std::string name() { return "version"; } }; +struct license { static std::string name() { return "license"; } }; +struct input { static std::string name() { return "input"; } }; +struct output { static std::string name() { return "output"; } }; +struct screen { static std::string name() { return "screen"; } }; +struct restart { static std::string name() { return "restart"; } }; +struct nrestart { static std::string name() { return "nrestart"; } }; +struct diag { static std::string name() { return "diag"; } }; +struct history { static std::string name() { return "history"; } }; struct evalLB {}; -struct seed {}; -struct uniform_method {}; -struct gaussian_method {}; -struct gaussianmv_method {}; -struct gaussian {}; -struct jointgaussian {}; -struct beta_method {}; -struct gamma_method {}; -struct rng {}; -struct xminus {}; -struct xplus {}; -struct yminus {}; -struct yplus {}; -struct zminus {}; -struct zplus {}; -struct rngmkl {}; -struct rngsse {}; -struct rng123 {}; -struct seqlen {}; -struct verbose {}; -struct nonblocking {}; -struct benchmark {}; +struct seed { static std::string name() { return "seed"; } }; +struct uniform_method { + static std::string name() { return "uniform_method"; } }; +struct gaussian_method { + static std::string name() { return "gaussian_method"; } }; +struct gaussianmv_method { + static std::string name() { return "gaussianmv_method"; } }; +struct gaussian { static std::string name() { return "gaussian"; } }; +struct jointgaussian { static std::string name() { return "jointgaussian"; } }; +struct beta_method { static std::string name() { return "beta_method"; } }; +struct gamma_method { static std::string name() { return "gamma_method"; } }; +struct rng { static std::string name() { return "rng"; } }; +struct xminus { static std::string name() { return "xminus"; } }; +struct xplus { static std::string name() { return "xplus"; } }; +struct yminus { static std::string name() { return "yminus"; } }; +struct yplus { static std::string name() { return "yplus"; } }; +struct zminus { static std::string name() { return "zminus"; } }; +struct zplus { static std::string name() { return "zplus"; } }; +struct rngmkl { static std::string name() { return "rngmkl"; } }; +struct rngsse { static std::string name() { return "rngsse"; } }; +struct rng123 { static std::string name() { return "rng123"; } }; +struct seqlen { static std::string name() { return "seqlen"; } }; +struct verbose { static std::string name() { return "verbose"; } }; +struct nonblocking { static std::string name() { return "nonblocking"; } }; +struct benchmark { static std::string name() { return "benchmark"; } }; struct lboff {}; -struct feedback {}; -struct reorder {}; -struct error {}; -struct lbfreq {}; -struct rsfreq {}; -struct dtfreq {}; -struct pdf {}; +struct feedback { static std::string name() { return "feedback"; } }; +struct reorder { static std::string name() { return "reorder"; } }; +struct pelocal_reorder { + static std::string name() { return "pelocal_reorder"; } }; +struct operator_reorder { + static std::string name() { return "operator_reorder"; } }; +struct steady_state { + static std::string name() { return "steady_state"; } }; +struct residual { static std::string name() { return "residual"; } }; +struct error { static std::string name() { return "error"; } }; +struct lbfreq { static std::string name() { return "lbfreq"; } }; +struct rsfreq { static std::string name() { return "rsfreq"; } }; +struct dtfreq { static std::string name() { return "dtfreq"; } }; +struct pdf { static std::string name() { return "pdf"; } }; struct ordpdf {}; struct cenpdf {}; struct nchare {}; struct bounds {}; -struct filetype {}; -struct pdfpolicy {}; -struct pdfctr {}; -struct pdfnames {}; -struct flformat {}; -struct prec {}; +struct filetype { static std::string name() { return "filetype"; } }; +struct pdfpolicy { static std::string name() { return "pdfpolicy"; } }; +struct pdfctr { static std::string name() { return "pdfctr"; } }; +struct pdfnames { static std::string name() { return "pdfnames"; } }; +struct flformat { static std::string name() { return "flformat"; } }; +struct prec { static std::string name() { return "precision"; } }; struct ordinary {}; struct central {}; -struct binsize {}; -struct extent {}; -struct dirichlet {}; -struct mixdirichlet {}; -struct gendir {}; -struct wrightfisher {}; -struct p0 {}; -struct beta {}; -struct betax {}; -struct betay {}; -struct betaz {}; -struct r0 {}; -struct ce {}; -struct numfracbeta {}; -struct massfracbeta {}; -struct mixnumfracbeta {}; -struct mixmassfracbeta {}; -struct alpha {}; -struct gamma {}; -struct pstiff {}; -struct spike {}; -struct betapdf {}; -struct hydrotimescales {}; -struct hydroproductions {}; -struct diffeq {}; -struct pde {}; -struct pref {}; -struct tolref {}; -struct amr {}; -struct tolderef {}; -struct t0ref {}; -struct dtref {}; -struct dtref_uniform {}; -struct partitioner {}; -struct scheme {}; -struct initpolicy {}; -struct coeffpolicy {}; +struct binsize { static std::string name() { return "binsize"; } }; +struct extent { static std::string name() { return "extent"; } }; +struct dirichlet { static std::string name() { return "dirichlet"; } }; +struct mixdirichlet { static std::string name() { return "mixdirichlet"; } }; +struct gendir { static std::string name() { return "gendir"; } }; +struct wrightfisher { static std::string name() { return "wrightfisher"; } }; +struct p0 { static std::string name() { return "p0"; } }; +struct beta { static std::string name() { return "beta"; } }; +struct betax { static std::string name() { return "betax"; } }; +struct betay { static std::string name() { return "betay"; } }; +struct betaz { static std::string name() { return "betaz"; } }; +struct r0 { static std::string name() { return "r0"; } }; +struct ce { static std::string name() { return "ce"; } }; +struct numfracbeta { static std::string name() { return "numfracbeta"; } }; +struct massfracbeta { static std::string name() { return "massfracbeta"; } }; +struct mixnumfracbeta { + static std::string name() { return "mixnumfracbeta"; } }; +struct mixmassfracbeta { + static std::string name() { return "mixmassfracbeta"; } }; +struct alpha { static std::string name() { return "alpha"; } }; +struct gamma { static std::string name() { return "gamma"; } }; +struct pstiff { static std::string name() { return "pstiff"; } }; +struct spike { static std::string name() { return "spike"; } }; +struct betapdf { static std::string name() { return "betapdf"; } }; +struct hydrotimescales { + static std::string name() { return "hydrotimescales"; } }; +struct hydroproductions { + static std::string name() { return "hydroproductions"; } }; +struct diffeq { static std::string name() { return "diffeq"; } }; +struct pde { static std::string name() { return "pde"; } }; +struct pref { static std::string name() { return "pref"; } }; +struct tolref { static std::string name() { return "tolref"; } }; +struct ndofmax { static std::string name() { return "ndofmax"; } }; +struct indicator{ static std::string name() { return "indicator"; } }; +struct amr { static std::string name() { return "amr"; } }; +struct tolderef { static std::string name() { return "tolderef"; } }; +struct t0ref { static std::string name() { return "t0ref"; } }; +struct dtref { static std::string name() { return "dtref"; } }; +struct dtref_uniform { static std::string name() { return "dtref_uniform"; } }; +struct partitioner { static std::string name() { return "partitioner"; } }; +struct scheme { static std::string name() { return "scheme"; } }; +struct initpolicy { static std::string name() { return "initpolicy"; } }; +struct coeffpolicy { static std::string name() { return "coeffpolicy"; } }; struct montecarlo {}; -struct nstep {}; -struct term {}; -struct t0 {}; -struct dt {}; -struct cfl {}; -struct fct {}; -struct ctau {}; -struct npar {}; +struct nstep { static std::string name() { return "nstep"; } }; +struct term { static std::string name() { return "term"; } }; +struct t0 { static std::string name() { return "t0"; } }; +struct dt { static std::string name() { return "dt"; } }; +struct cfl { static std::string name() { return "cfl"; } }; +struct fct { static std::string name() { return "fct"; } }; +struct fctclip { static std::string name() { return "fctclip"; } }; +struct sysfct { static std::string name() { return "sysfct"; } }; +struct sysfctvar { static std::string name() { return "sysfctvar"; } }; +struct fcteps { static std::string name() { return "fcteps"; } }; +struct ctau { static std::string name() { return "ctau"; } }; +struct npar { static std::string name() { return "npar"; } }; struct refined {}; struct matched {}; -struct edges {}; struct compatibility {}; struct bndint {}; -struct part {}; +struct part { static std::string name() { return "part"; } }; +struct particles { static std::string name() { return "particles"; } }; struct centroid {}; -struct ncomp {}; -struct nmat {}; -struct tty {}; +struct ncomp { static std::string name() { return "ncomp"; } }; +struct nmat { static std::string name() { return "nmat"; } }; +struct prelax { static std::string name() { return "prelax"; } }; +struct prelax_timescale { + static std::string name() { return "prelax_timescales"; } }; +struct tty { static std::string name() { return "tty"; } }; struct dump {}; struct plot {}; struct glob {}; -struct control {}; -struct stat {}; -struct field {}; +struct control { static std::string name() { return "control"; } }; +struct stat { static std::string name() { return "stat"; } }; +struct field { static std::string name() { return "field"; } }; +struct surface { static std::string name() { return "surface"; } }; struct atwood {}; -struct b {}; -struct S {}; -struct kappa {}; -struct bprime {}; -struct kappaprime {}; -struct rho2 {}; -struct rho {}; -struct mean_gradient {}; -struct rcomma {}; -struct r {}; -struct c {}; -struct c0 {}; +struct b { static std::string name() { return "b"; } }; +struct S { static std::string name() { return "S"; } }; +struct kappa { static std::string name() { return "kappa"; } }; +struct bprime { static std::string name() { return "bprime"; } }; +struct kappaprime { static std::string name() { return "kappaprime"; } }; +struct rho2 { static std::string name() { return "rho2"; } }; +struct rho { static std::string name() { return "rho"; } }; +struct mean_gradient { static std::string name() { return "mean_gradient"; } }; +struct rcomma { static std::string name() { return "rcomma"; } }; +struct r { static std::string name() { return "r"; } }; +struct c { static std::string name() { return "c"; } }; +struct c0 { static std::string name() { return "c0"; } }; +struct gravity { static std::string name() { return "gravity"; } }; struct c1 {}; struct c2 {}; -struct c3 {}; -struct c4 {}; -struct com1 {}; -struct com2 {}; -struct lambda {}; -struct sigmasq {}; -struct theta {}; -struct mu {}; -struct mean {}; -struct cov {}; -struct timescale {}; -struct depvar {}; -struct refvar {}; -struct virtualization {}; -struct omega {}; -struct slm {}; -struct glm {}; -struct diagou {}; -struct ou {}; -struct skewnormal {}; -struct position {}; -struct dissipation {}; -struct velocity {}; -struct variant {}; -struct normalization {}; -struct mass {}; +struct c3 { static std::string name() { return "c3"; } }; +struct c4 { static std::string name() { return "c4"; } }; +struct com1 { static std::string name() { return "com1"; } }; +struct com2 { static std::string name() { return "com2"; } }; +struct lambda { static std::string name() { return "lambda"; } }; +struct sigmasq { static std::string name() { return "sigmasq"; } }; +struct theta { static std::string name() { return "theta"; } }; +struct mu { static std::string name() { return "mu"; } }; +struct mean { static std::string name() { return "mean"; } }; +struct cov { static std::string name() { return "cov"; } }; +struct timescale { static std::string name() { return "timescale"; } }; +struct depvar { static std::string name() { return "depvar"; } }; +struct refvar { static std::string name() { return "refvar"; } }; +struct virtualization {static std::string name() { return "virtualization"; }}; +struct omega { static std::string name() { return "omega"; } }; +struct slm { static std::string name() { return "slm"; } }; +struct glm { static std::string name() { return "glm"; } }; +struct diagou { static std::string name() { return "diagou"; } }; +struct ou { static std::string name() { return "ou"; } }; +struct skewnormal { static std::string name() { return "skewnormal"; } }; +struct position { static std::string name() { return "position"; } }; +struct dissipation { static std::string name() { return "dissipation"; } }; +struct variant { static std::string name() { return "variant"; } }; +struct normalization { static std::string name() { return "normalization"; } }; +struct mass { static std::string name() { return "mass"; } }; struct hydro {}; -struct energy {}; struct mix {}; struct frequency {}; struct mixrate {}; -struct title {}; -struct selected {}; -struct discr {}; -struct component {}; -struct interval {}; -struct cmd {}; -struct param {}; -struct init {}; -struct solve {}; -struct chare {}; -struct battery {}; +struct title { static std::string name() { return "title"; } }; +struct selected { static std::string name() { return "selected"; } }; +struct discr { static std::string name() { return "discr"; } }; +struct bc { static std::string name() { return "bc"; } }; +struct farfield_pressure { + static std::string name() { return "farfield_pressure"; } }; +struct farfield_density { + static std::string name() { return "farfield_density"; } }; +struct farfield_velocity { + static std::string name() { return "farfield_velocity"; } }; +struct bcfarfield { static std::string name() { return "bcfarfield"; } }; +struct component { static std::string name() { return "component"; } }; +struct rescomp { static std::string name() { return "residual component"; } }; +struct interval { static std::string name() { return "interval"; } }; +struct cmd { static std::string name() { return "cmd"; } }; +struct param { static std::string name() { return "param"; } }; +struct init { static std::string name() { return "init"; } }; +struct initiate { static std::string name() { return "initiate"; } }; +struct solve { static std::string name() { return "solve"; } }; +struct chare { static std::string name() { return "chare"; } }; +struct battery { static std::string name() { return "battery"; } }; struct generator {}; -struct help {}; -struct helpctr {}; +struct help { static std::string name() { return "help"; } }; +struct helpctr { static std::string name() { return "helpctr"; } }; struct helpkw {}; struct cmdinfo {}; struct ctrinfo {}; -struct group {}; +struct group { static std::string name() { return "group"; } }; struct esup {}; struct psup {}; struct gid {}; -struct transport {}; -struct advection {}; -struct compflow {}; -struct multimat {}; -struct problem {}; -struct physics {}; -struct diffusivity {}; -struct u0 {}; -struct bcdir {}; -struct bcsym {}; -struct bcinlet {}; -struct bcoutlet {}; -struct bcextrapolate {}; +struct transport { static std::string name() { return "transport"; } }; +struct compflow { static std::string name() { return "compflow"; } }; +struct multimat { static std::string name() { return "multimat"; } }; +struct problem { static std::string name() { return "problem"; } }; +struct physics { static std::string name() { return "physics"; } }; +struct diffusivity { static std::string name() { return "diffusivity"; } }; +struct u0 { static std::string name() { return "u0"; } }; +struct bcdir { static std::string name() { return "bcdir"; } }; +struct bcsym { static std::string name() { return "bcsym"; } }; +struct bcstag { static std::string name() { return "bcstag"; } }; +struct bcskip { static std::string name() { return "bcskip"; } }; +struct point { static std::string name() { return "point"; } }; +struct radius { static std::string name() { return "radius"; } }; +struct bcinlet { static std::string name() { return "bcinlet"; } }; +struct bcoutlet { static std::string name() { return "bcoutlet"; } }; +struct bcextrapolate { static std::string name() { return "bcextrapolate"; } }; struct material {}; -struct id {}; -struct position_id {}; -struct velocity_id {}; -struct dissipation_id {}; -struct mixmassfracbeta_id {}; -struct edge {}; -struct cv {}; -struct k {}; +struct id { static std::string name() { return "id"; } }; +struct position_id { static std::string name() { return "position_id"; } }; +struct velocity_id { static std::string name() { return "velocity_id"; } }; +struct dissipation_id { + static std::string name() { return "dissipation_id"; } }; +struct mixmassfracbeta_id { + static std::string name() { return "mixmassfracbeta_id"; } }; +struct edge { static std::string name() { return "edge"; } }; +struct cv { static std::string name() { return "cv"; } }; +struct k { static std::string name() { return "k"; } }; struct com {}; struct queried {}; struct responded {}; @@ -234,17 +277,34 @@ struct bcast {}; struct elem {}; struct avecost {}; struct stdcost {}; -struct flux {}; -struct ndof{}; -struct rdof{}; -struct limiter {}; -struct cweight {}; +struct flux { static std::string name() { return "flux"; } }; +struct ndof{ static std::string name() { return "ndof"; } }; +struct rdof{ static std::string name() { return "rdof"; } }; +struct limiter { static std::string name() { return "limiter"; } }; +struct cweight { static std::string name() { return "cweight"; } }; struct update {}; struct ch {}; struct pe {}; struct it {}; struct fn {}; struct time {}; +struct node {}; +struct ic { static std::string name() { return "ic"; } }; +struct velocity { static std::string name() { return "velocity"; } }; +struct density { static std::string name() { return "density"; } }; +struct pressure { static std::string name() { return "pressure"; } }; +struct energy { static std::string name() { return "energy"; } }; +struct energy_content { static std::string name() { return "energy_content"; } }; +struct temperature { static std::string name() { return "temperature"; } }; +struct physvar { static std::string name() { return "physvar"; } }; +struct box { static std::string name() { return "box"; } }; +struct xmin { static std::string name() { return "xmin"; } }; +struct xmax { static std::string name() { return "xmax"; } }; +struct ymin { static std::string name() { return "ymin"; } }; +struct ymax { static std::string name() { return "ymax"; } }; +struct zmin { static std::string name() { return "zmin"; } }; +struct zmax { static std::string name() { return "zmax"; } }; +struct lua { static std::string name() { return "lua"; } }; struct BirthdaySpacings {}; struct Collision {}; diff --git a/src/Control/Toggle.hpp b/src/Control/Toggle.hpp index 37f07dbc6f9..fbbe1aff771 100644 --- a/src/Control/Toggle.hpp +++ b/src/Control/Toggle.hpp @@ -3,7 +3,7 @@ \file src/Control/Toggle.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Toggle is the base for an Option, doing generic searches \details Toggle is the base for an Option, doing generic searches. @@ -15,7 +15,7 @@ #include #include "Exception.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" namespace tk { diff --git a/src/Control/UnitTest/CmdLine/CmdLine.hpp b/src/Control/UnitTest/CmdLine/CmdLine.hpp index a7688df78ab..c09d9e85a0d 100644 --- a/src/Control/UnitTest/CmdLine/CmdLine.hpp +++ b/src/Control/UnitTest/CmdLine/CmdLine.hpp @@ -3,7 +3,7 @@ \file src/Control/UnitTest/CmdLine/CmdLine.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's command line \details This file defines the heterogeneous stack that is used for storing @@ -23,6 +23,7 @@ #include "HelpFactory.hpp" #include "Keywords.hpp" #include "UnitTest/Types.hpp" +#include "PrintUtil.hpp" namespace unittest { //! UnitTest control facilitating user input to internal data transfer @@ -30,7 +31,8 @@ namespace ctr { //! Member data for tagged tuple using CmdLineMembers = brigand::list< - tag::verbose, bool + tag::io, ios + , tag::verbose, bool , tag::chare, bool , tag::help, bool , tag::quiescence, bool @@ -58,12 +60,19 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::help , kw::helpkw , kw::group + , kw::screen , kw::quiescence , kw::trace , kw::version , kw::license >; + //! Set of tags to ignore when printing this CmdLine + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set defaults. //! \details Anything not set here is initialized by the compiler using the //! default constructor for the corresponding type. While there is a @@ -71,6 +80,8 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! control file parser. //! \see walker::ctr::CmdLine CmdLine() { + get< tag::io, tag::screen >() = + tk::baselogname( tk::unittest_executable() ); get< tag::verbose >() = false; // Use quiet output by default get< tag::chare >() = false; // No chare state output by default get< tag::trace >() = true; // Output call and stack trace by default @@ -90,6 +101,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::unittest_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/UnitTest/CmdLine/Grammar.hpp b/src/Control/UnitTest/CmdLine/Grammar.hpp index 13e44ee684a..36df89f24cc 100644 --- a/src/Control/UnitTest/CmdLine/Grammar.hpp +++ b/src/Control/UnitTest/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/UnitTest/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -80,10 +80,19 @@ namespace cmd { tk::grm::process_cmd_switch< use, kw::license, tag::license > {}; + //! \brief Match and set io parameter + template< typename keyword, typename io_tag > + struct io : + tk::grm::process_cmd< use, keyword, + tk::grm::Store< tag::io, io_tag >, + pegtl::any, + tag::io, io_tag > {}; + //! \brief Match all command line keywords struct keywords : pegtl::sor< verbose, charestate, help, helpkw, group, - quiescence, trace, version, license > {}; + quiescence, trace, version, license, + io< kw::screen, tag::screen > > {}; //! \brief Grammar entry point: parse keywords until end of string struct read_string : diff --git a/src/Control/UnitTest/CmdLine/Parser.cpp b/src/Control/UnitTest/CmdLine/Parser.cpp index ac819e6479b..2efa287f0a2 100644 --- a/src/Control/UnitTest/CmdLine/Parser.cpp +++ b/src/Control/UnitTest/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/UnitTest/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's command line parser \details This file defines the command-line argument parser for the unit diff --git a/src/Control/UnitTest/CmdLine/Parser.hpp b/src/Control/UnitTest/CmdLine/Parser.hpp index 8e4bb827722..27ca2d9eb67 100644 --- a/src/Control/UnitTest/CmdLine/Parser.hpp +++ b/src/Control/UnitTest/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/UnitTest/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's command line parser \details This file declares the command-line argument parser for the unit diff --git a/src/Control/UnitTest/Types.hpp b/src/Control/UnitTest/Types.hpp index 2ad5619ab91..f3930984903 100644 --- a/src/Control/UnitTest/Types.hpp +++ b/src/Control/UnitTest/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/UnitTest/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for UnitTest's parsers \details Types for UnitTest's parsers. This file defines the components of @@ -16,7 +16,7 @@ #define UnitTestTypes_h #include "Tags.hpp" -#include "Keyword.hpp" +#include "Keywords.hpp" namespace unittest { namespace ctr { @@ -26,6 +26,13 @@ using namespace tao; //! PEGTL location/position type to use throughout all of UnitTest's parsers using Location = pegtl::position; +//! IO parameters storage +using ios = tk::TaggedTuple< brigand::list< + tag::nrestart, int //!< Number of restarts + , tag::screen, kw::screen::info::expect::type //!< Screen output filename +> >; + + } // ctr:: } // unittest:: diff --git a/src/Control/Walker/CmdLine/CmdLine.hpp b/src/Control/Walker/CmdLine/CmdLine.hpp index 3e1982c6c09..413b456e049 100644 --- a/src/Control/Walker/CmdLine/CmdLine.hpp +++ b/src/Control/Walker/CmdLine/CmdLine.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/CmdLine/CmdLine.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's command line \details Walker's command line @@ -55,14 +55,26 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { , kw::helpctr , kw::helpkw , kw::control + , kw::screen , kw::pdf , kw::stat + , kw::particles , kw::quiescence , kw::trace , kw::version , kw::license >; + //! Set of tags to ignore when printing this CmdLine + //! \note It would be misleading to print the data behind 'pdfnames' with + //! the command line object, since only InputDeck parser populates this + //! (after the CmdLine parser) into its copy of CmdLine. + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw + , tag::pdfnames >; // printed with InputDeck instead + //! \brief Constructor: set all defaults. //! \param[in] ctrinfo std::map of control file keywords and their info //! \details Anything not set here is initialized by the compiler using the @@ -95,9 +107,12 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! otherwise it would be a mutual dependency. // cppcheck-suppress noExplicitConstructor CmdLine( tk::ctr::HelpFactory ctrinfo = tk::ctr::HelpFactory() ) { + get< tag::io, tag::screen >() = + tk::baselogname( tk::walker_executable() ); get< tag::io, tag::output >() = "out"; get< tag::io, tag::pdf >() = "pdf"; get< tag::io, tag::stat >() = "stat.txt"; + get< tag::io, tag::particles >() = "particles.h5part"; get< tag::virtualization >() = 0.0; get< tag::verbose >() = false; // Quiet output by default get< tag::chare >() = false; // No chare state output by default @@ -119,6 +134,17 @@ class CmdLine : public tk::TaggedTuple< CmdLineMembers > { //! \param[in,out] c CmdLine object reference friend void operator|( PUP::er& p, CmdLine& c ) { c.pup(p); } //@} + + //! Compute and return log file name + //! \param[in] def Default log file name (so we don't mess with user's) + //! \param[in] nrestart Number of times restarted + //! \return Log file name + std::string logname( const std::string& def, int nrestart ) const { + if (get< tag::io, tag::screen >() != def) + return get< tag::io, tag::screen >(); + else + return tk::logname( tk::walker_executable(), nrestart ); + } }; } // ctr:: diff --git a/src/Control/Walker/CmdLine/Grammar.hpp b/src/Control/Walker/CmdLine/Grammar.hpp index 957d90da677..1985d89628c 100644 --- a/src/Control/Walker/CmdLine/Grammar.hpp +++ b/src/Control/Walker/CmdLine/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/CmdLine/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's command line grammar definition \details Grammar definition for parsing the command line. We use the Parsing @@ -104,7 +104,9 @@ namespace cmd { license, io< kw::control, tag::control >, io< kw::pdf, tag::pdf >, - io< kw::stat, tag::stat > > {}; + io< kw::stat, tag::stat >, + io< kw::screen, tag::screen >, + io< kw::particles, tag::particles > > {}; //! entry point: parse keywords and until end of string struct read_string : diff --git a/src/Control/Walker/CmdLine/Parser.cpp b/src/Control/Walker/CmdLine/Parser.cpp index 86624ae6b5c..47ceeb0a063 100644 --- a/src/Control/Walker/CmdLine/Parser.cpp +++ b/src/Control/Walker/CmdLine/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/Walker/CmdLine/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's command line parser \details Walker's command line parser diff --git a/src/Control/Walker/CmdLine/Parser.hpp b/src/Control/Walker/CmdLine/Parser.hpp index 1f0c3e6f691..a46fcd59c76 100644 --- a/src/Control/Walker/CmdLine/Parser.hpp +++ b/src/Control/Walker/CmdLine/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/CmdLine/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's command line parser \details Walker's command line parser diff --git a/src/Control/Walker/Components.hpp b/src/Control/Walker/Components.hpp index 390ed7a3065..06c47f9adf1 100644 --- a/src/Control/Walker/Components.hpp +++ b/src/Control/Walker/Components.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Components.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Storage for number of components \details Storage for number of components. This is part of the input deck diff --git a/src/Control/Walker/InputDeck/Grammar.hpp b/src/Control/Walker/InputDeck/Grammar.hpp index 896c4748249..ffbc7ade878 100644 --- a/src/Control/Walker/InputDeck/Grammar.hpp +++ b/src/Control/Walker/InputDeck/Grammar.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/InputDeck/Grammar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's input deck grammar definition \details Walker's input deck grammar definition. We use the Parsing @@ -171,6 +171,21 @@ namespace grm { } }; + //! Rule used to trigger action + template< class eq, class vec > + struct check_gravity : pegtl::success {}; + //! Do error checking for a vector of prescribed mean gradient + template< class eq, class vec > + struct action< check_gravity< eq, vec > > { + template< typename Input, typename Stack > + static void apply( const Input& in, Stack& stack ) { + auto& vv = stack.template get< tag::param, eq, vec >(); + Assert( !vv.empty(), "Vector of vectors checked must not be empty" ); + if (vv.back().size() != 3) + Message< Stack, ERROR, MsgKey::WRONGSIZE >( stack, in ); + } + }; + //! Rule used to trigger action template< class eq > struct check_eq : pegtl::success {}; //! \brief Do general error checking on the differential equation block @@ -277,7 +292,7 @@ namespace grm { //! coupled to eq among other DiffEqs of type coupledeq //! \tparam depvar_msg Error message key to use on missing coupled depvar //! \param[in] in Parser input - //! \param[in,out] stack Grammar stack to wrok with + //! \param[in,out] stack Grammar stack to work with //! \param[in] missing Error message key to use on missing coupled equation //! if the coupling is required. Pass MsgKey::OPTIONAL as missing if the //! coupling is optional. @@ -359,6 +374,34 @@ namespace grm { } } + //! Query if equation 'eq' has been coupled to equation 'coupledeq' + //! \tparam eq Tag of the equation to query + //! \tparam coupledeq Tag of the equation that is potentially coupled to + //! equation 'eq' + //! \param[in] stack Grammar stack to work with + //! \return True if equation 'eq' is coupled to equation 'coupledeq' + //! \note Always the eq system that is parsed last is interrogated. + template< typename eq, typename coupledeq, typename Stack > + static bool coupled( const Stack& stack ) { + return stack.template get< tag::param, eq, coupledeq >().back() != '-'; + } + + //! Query number of components of coupled equation + //! \tparam eq Tag of the equation that is coupled + //! \tparam coupledeq Tag of the equation that is coupled to equation 'eq' + //! \tparam id Tag to access the coupled equation 'eq' (relative) ids, see + //! tk::grm::couple. + //! \param[in] stack Grammar stack to work with + //! \return Number of scalar components of coupled equation + //! \note Always the eq system that is parsed last is interrogated. + template< typename eq, typename coupledeq, typename id, typename Stack > + static std::size_t ncomp_coupled( const Stack& stack ) { + Assert( (coupled< eq, coupledeq >( stack )), "Eq must be coupled" ); + // Query relative id of coupled eq + auto cid = stack.template get< tag::param, eq, id >().back(); + return stack.template get< tag::component, coupledeq >().at( cid ); + } + //! Rule used to trigger action struct check_velocity : pegtl::success {}; //! \brief Do error checking on the velocity eq block @@ -386,6 +429,33 @@ namespace grm { stack.template get< tag::param, tag::velocity, tag::solve >(); if (solve.size() != neq.get< tag::velocity >()) Message< Stack, ERROR, MsgKey::NOSOLVE >( stack, in ); + + // Increase number of components by the number of particle densities if + // we solve for particle momentum, coupled to mass fractions. This is + // to allocate storage for particle velocity as variables derived from + // momentum. + if ( !solve.empty() && + ( solve.back() == walker::ctr::DepvarType::PRODUCT || + solve.back() == walker::ctr::DepvarType::FLUCTUATING_MOMENTUM ) ) + { + //! Error out if not coupled to mixmassfracbeta + if (!coupled< tag::velocity, tag::mixmassfracbeta >( stack )) { + Message< Stack, ERROR, MsgKey::MIXMASSFRACBETA_DEPVAR >(stack,in); + } else { + // access number of components of velocity eq just parsed + auto& ncomp = stack.template get< tag::component, tag::velocity >(); + // query number of components of coupled mixmassfracbeta model + auto nc = ncomp_coupled< tag::velocity, tag::mixmassfracbeta, + tag::mixmassfracbeta_id >( stack ); + // Augment storage of velocity equation, solving for momentum by + // the number of scalar components the coupled mixmassfracbeta mix + // model solves for. The magic number, 4, below is + // MixMassFractionBeta::NUMDERIVED + 1, and the 3 is the number of + // velocity components derived from momentum. + ncomp.back() += (nc/4)*3; + } + } + // Set C0 = 2.1 if not specified auto& C0 = stack.template get< tag::param, tag::velocity, tag::c0 >(); if (C0.size() != neq.get< tag::velocity >()) C0.push_back( 2.1 ); @@ -394,6 +464,12 @@ namespace grm { stack.template get< tag::param, tag::velocity, tag::variant >(); if (variant.size() != neq.get< tag::velocity >()) variant.push_back( walker::ctr::VelocityVariantType::SLM ); + + // Set gravity to {0,0,0} if unspecified + auto& gravity = + stack.template get< tag::param, tag::velocity, tag::gravity >(); + if (gravity.size() != neq.get< tag::velocity >()) + gravity.push_back( { 0.0, 0.0, 0.0 } ); } } }; @@ -630,7 +706,9 @@ namespace deck { tk::grm::discrparam< use, kw::nstep, tag::nstep >, tk::grm::discrparam< use, kw::term, tag::term >, tk::grm::discrparam< use, kw::dt, tag::dt >, - tk::grm::interval< use< kw::ttyi >, tag::tty > > {}; + tk::grm::interval< use< kw::ttyi >, tag::tty >, + tk::grm::interval< use< kw::pari >, tag::particles > + > {}; //! rngs struct rngs : @@ -1191,7 +1269,7 @@ namespace deck { tag::mixmassfracbeta, tag::mean_gradient >, tk::grm::process< - use< kw::velocity >, + use< kw::velocitysde >, tk::grm::Store_back< tag::param, tag::mixmassfracbeta, tag::velocity >, @@ -1448,7 +1526,7 @@ namespace deck { //! Velocity SDE struct velocity : pegtl::if_must< - scan_sde< use< kw::velocity >, tag::velocity >, + scan_sde< use< kw::velocitysde >, tag::velocity >, tk::grm::block< use< kw::end >, tk::grm::depvar< use, tag::velocity, @@ -1478,6 +1556,10 @@ namespace deck { ctr::VelocityVariant, tag::velocity, tag::variant >, + sde_parameter_vector< kw::gravity, + tk::grm::check_gravity, + tag::velocity, + tag::gravity >, icdelta< tag::velocity >, icbeta< tag::velocity >, icgamma< tag::velocity >, @@ -1559,7 +1641,7 @@ namespace deck { icgaussian< tag::position >, icjointgaussian< tag::position >, tk::grm::process< - use< kw::velocity >, + use< kw::velocitysde >, tk::grm::Store_back< tag::param, tag::position, tag::velocity >, @@ -1618,7 +1700,7 @@ namespace deck { icgaussian< tag::dissipation >, icjointgaussian< tag::dissipation >, tk::grm::process< - use< kw::velocity >, + use< kw::velocitysde >, tk::grm::Store_back< tag::param, tag::dissipation, tag::velocity >, diff --git a/src/Control/Walker/InputDeck/InputDeck.hpp b/src/Control/Walker/InputDeck/InputDeck.hpp index 0a19beb4e60..9620cc4ff87 100644 --- a/src/Control/Walker/InputDeck/InputDeck.hpp +++ b/src/Control/Walker/InputDeck/InputDeck.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/InputDeck/InputDeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's input deck \details Walker's input deck @@ -30,14 +30,14 @@ namespace ctr { //! Member data for tagged tuple using InputDeckMembers = brigand::list< - tag::title, kw::title::info::expect::type + tag::cmd, CmdLine + , tag::title, kw::title::info::expect::type , tag::selected, selects , tag::discr, discretization , tag::prec, precision , tag::flformat, floatformat , tag::component, ncomps , tag::interval, intervals - , tag::cmd, CmdLine , tag::param, parameters , tag::stat, std::vector< tk::ctr::Product > , tag::pdf, std::vector< tk::ctr::Probability > @@ -66,6 +66,7 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::term , kw::dt , kw::ttyi + , kw::pari , kw::rngs , kw::ncomp , kw::rng @@ -87,6 +88,7 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::sde_mean , kw::sde_cov , kw::mean_gradient + , kw::gravity , kw::sde_T , kw::sde_lambda , kw::sde_b @@ -115,7 +117,7 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::const_shear , kw::stationary , kw::position - , kw::velocity + , kw::velocitysde , kw::inst_velocity , kw::seed #ifdef HAS_MKL @@ -218,6 +220,8 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::sde_com2 , kw::fullvar , kw::fluctuation + , kw::product + , kw::fluctuating_momentum , kw::solve , kw::variant , kw::slm @@ -227,6 +231,12 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { , kw::heavy >; + //! Set of tags to ignore when printing this InputDeck + using ignore = + brigand::set< tag::cmdinfo + , tag::ctrinfo + , tag::helpkw >; + //! \brief Constructor: set all defaults //! \param[in] cl Previously parsed and store command line //! \details Anything not set here is initialized by the compiler using the @@ -246,6 +256,7 @@ class InputDeck : public tk::TaggedTuple< InputDeckMembers > { // Default intervals get< tag::interval, tag::tty >() = 1; get< tag::interval, tag::stat >() = 1; + get< tag::interval, tag::particles >() = 10000; get< tag::interval, tag::pdf >() = 1; // Default requested statistics get< tag::stat >() = std::vector< tk::ctr::Product >(); diff --git a/src/Control/Walker/InputDeck/Parser.cpp b/src/Control/Walker/InputDeck/Parser.cpp index 19e15152c77..d1765fc15d9 100644 --- a/src/Control/Walker/InputDeck/Parser.cpp +++ b/src/Control/Walker/InputDeck/Parser.cpp @@ -3,7 +3,7 @@ \file src/Control/Walker/InputDeck/Parser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's input deck file parser \details Walker's input deck file parser diff --git a/src/Control/Walker/InputDeck/Parser.hpp b/src/Control/Walker/InputDeck/Parser.hpp index 263d6f4c131..00917e75614 100644 --- a/src/Control/Walker/InputDeck/Parser.hpp +++ b/src/Control/Walker/InputDeck/Parser.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/InputDeck/Parser.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker's input deck file parser \details Walker's input deck file parser diff --git a/src/Control/Walker/Options/CoeffPolicy.hpp b/src/Control/Walker/Options/CoeffPolicy.hpp index bf406346312..4a9f0c3ba5d 100644 --- a/src/Control/Walker/Options/CoeffPolicy.hpp +++ b/src/Control/Walker/Options/CoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/CoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equation coefficients policy options \details Differential equation coefficients policy options diff --git a/src/Control/Walker/Options/Depvar.hpp b/src/Control/Walker/Options/Depvar.hpp index 4ba00d4ab19..ca57710c6ad 100644 --- a/src/Control/Walker/Options/Depvar.hpp +++ b/src/Control/Walker/Options/Depvar.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/Depvar.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Dependent variable options for walker \details Dependent variable options for walker @@ -23,7 +23,9 @@ namespace ctr { //! Dependent variable options types enum class DepvarType : uint8_t { FULLVAR=0 - , FLUCTUATION }; + , FLUCTUATION + , PRODUCT + , FLUCTUATING_MOMENTUM }; //! Pack/Unpack DepvarType: forward overload to generic enum class packer inline void operator|( PUP::er& p, DepvarType& e ) { PUP::pup( p, e ); } @@ -35,6 +37,8 @@ class Depvar : public tk::Toggle< DepvarType > { //! Valid expected choices to make them also available at compile-time using keywords = brigand::list< kw::fullvar , kw::fluctuation + , kw::product + , kw::fluctuating_momentum >; //! \brief Options constructor @@ -43,13 +47,20 @@ class Depvar : public tk::Toggle< DepvarType > { explicit Depvar() : tk::Toggle< DepvarType >( //! Group, i.e., options, name - "Solve for", + "solve for", //! Enums -> names { { DepvarType::FULLVAR, kw::fullvar::name() }, - { DepvarType::FLUCTUATION, kw::fluctuation::name() } }, + { DepvarType::FLUCTUATION, kw::fluctuation::name() }, + { DepvarType::PRODUCT, kw::product::name() }, + { DepvarType::FLUCTUATING_MOMENTUM, kw::fluctuating_momentum::name() } + }, //! keywords -> Enums { { kw::fullvar::string(), DepvarType::FULLVAR }, - { kw::fluctuation::string(), DepvarType::FLUCTUATION } } ) + { kw::fluctuation::string(), DepvarType::FLUCTUATION }, + { kw::product::string(), DepvarType::PRODUCT }, + { kw::fluctuating_momentum::string(), + DepvarType::FLUCTUATING_MOMENTUM } + } ) {} }; diff --git a/src/Control/Walker/Options/DiffEq.hpp b/src/Control/Walker/Options/DiffEq.hpp index 3e9ebf3fc08..6fb607bbb9b 100644 --- a/src/Control/Walker/Options/DiffEq.hpp +++ b/src/Control/Walker/Options/DiffEq.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/DiffEq.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equation options and associations for walker \details Differential equation options and associations for walker diff --git a/src/Control/Walker/Options/HydroProductions.hpp b/src/Control/Walker/Options/HydroProductions.hpp index 076baa40613..f1b999f99a6 100644 --- a/src/Control/Walker/Options/HydroProductions.hpp +++ b/src/Control/Walker/Options/HydroProductions.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/HydroProductions.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Hydrodynamics production divided by dissipation rate options \details Hydrodynamics production divided by dissipation rate options diff --git a/src/Control/Walker/Options/HydroTimeScales.hpp b/src/Control/Walker/Options/HydroTimeScales.hpp index 06e1b07c848..28129702262 100644 --- a/src/Control/Walker/Options/HydroTimeScales.hpp +++ b/src/Control/Walker/Options/HydroTimeScales.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/HydroTimeScales.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inverse hydrodynamics time scale options \details Inverse hydrodynamics time scale options diff --git a/src/Control/Walker/Options/InitPolicy.hpp b/src/Control/Walker/Options/InitPolicy.hpp index a4828cb205d..718d5a38cf4 100644 --- a/src/Control/Walker/Options/InitPolicy.hpp +++ b/src/Control/Walker/Options/InitPolicy.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/InitPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equation initialization policy options for walker \details Differential equation initialization policy options for walker diff --git a/src/Control/Walker/Options/Normalization.hpp b/src/Control/Walker/Options/Normalization.hpp index e85490a4fbd..978ad782860 100644 --- a/src/Control/Walker/Options/Normalization.hpp +++ b/src/Control/Walker/Options/Normalization.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/Normalization.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Normalization variants (used for MixDirichlet) \details Normalization variants (used for MixDirichlet). diff --git a/src/Control/Walker/Options/VelocityVariant.hpp b/src/Control/Walker/Options/VelocityVariant.hpp index cf5618f37de..0f218f8e627 100644 --- a/src/Control/Walker/Options/VelocityVariant.hpp +++ b/src/Control/Walker/Options/VelocityVariant.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Options/VelocityVariant.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Velocity model variants \details Velocity model variants for walker. @@ -45,7 +45,7 @@ class VelocityVariant : public tk::Toggle< VelocityVariantType > { explicit VelocityVariant() : tk::Toggle< VelocityVariantType >( //! Group, i.e., options, name - "Model variant", + "model variant", //! Enums -> names { { VelocityVariantType::SLM, kw::slm::name() }, { VelocityVariantType::GLM, kw::glm::name() } }, diff --git a/src/Control/Walker/Types.hpp b/src/Control/Walker/Types.hpp index 027fcc6eb05..26e454fad2c 100644 --- a/src/Control/Walker/Types.hpp +++ b/src/Control/Walker/Types.hpp @@ -3,7 +3,7 @@ \file src/Control/Walker/Types.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Types for Walker's parsers \details Types for Walker's parsers. This file defines the components of the @@ -69,19 +69,27 @@ using floatformat = tk::TaggedTuple< brigand::list< //! Output intervals storage using intervals = tk::TaggedTuple< brigand::list< - tag::tty, kw::ttyi::info::expect::type //!< TTY output interval - , tag::stat, kw::interval::info::expect::type //!< Statistics output interval - , tag::pdf, kw::interval::info::expect::type //!< PDF output interval + //! TTY output interval + tag::tty, kw::ttyi::info::expect::type + //! Statistics output interval + , tag::stat, kw::interval::info::expect::type + //! Particles output interval + , tag::particles, kw::interval::info::expect::type + //! PDF output interval + , tag::pdf, kw::interval::info::expect::type > >; //! IO parameters storage using ios = tk::TaggedTuple< brigand::list< - tag::control, kw::control::info::expect::type //!< Control filename - , tag::input, std::string //!< Input filename - , tag::output, std::string //!< Output filename - , tag::pdf, kw::pdf::info::expect::type //!< PDF filename - , tag::stat, kw::stat::info::expect::type //!< Statistics filename - , tag::pdfnames, std::vector< std::string > //!< PDF identifiers + tag::nrestart, int //!< Number of restarts + , tag::control, kw::control::info::expect::type //!< Control filename + , tag::input, std::string //!< Input filename + , tag::output, std::string //!< Output filename + , tag::screen, kw::screen::info::expect::type //!< Screen output filename + , tag::pdf, kw::pdf::info::expect::type //!< PDF filename + , tag::stat, kw::stat::info::expect::type //!< Statistics filename + , tag::particles, std::string //!< Particles filename + , tag::pdfnames, std::vector< std::string > //!< PDF identifiers > >; //! Data for initialization (SDE initial conditions) @@ -333,6 +341,8 @@ using MixMassFractionBetaParameters = tk::TaggedTuple< brigand::list< using VelocityParameters = tk::TaggedTuple< brigand::list< tag::depvar, std::vector< char > , tag::c0, std::vector< kw::sde_c0::info::expect::type > + , tag::gravity, std::vector< std::vector< + kw::gravity::info::expect::type > > , tag::position, std::vector< char > , tag::position_id, std::vector< std::size_t > , tag::dissipation, std::vector< char > diff --git a/src/DiffEq/Beta/Beta.hpp b/src/DiffEq/Beta/Beta.hpp index f427594ca6e..228f7f6b009 100644 --- a/src/DiffEq/Beta/Beta.hpp +++ b/src/DiffEq/Beta/Beta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/Beta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of beta SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Beta/BetaCoeffPolicy.cpp b/src/DiffEq/Beta/BetaCoeffPolicy.cpp index 1005dba1cbd..24e81772ed4 100644 --- a/src/DiffEq/Beta/BetaCoeffPolicy.cpp +++ b/src/DiffEq/Beta/BetaCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/BetaCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Beta coefficients policies \details This file defines coefficients policy classes for the beta SDE, diff --git a/src/DiffEq/Beta/BetaCoeffPolicy.hpp b/src/DiffEq/Beta/BetaCoeffPolicy.hpp index 8500da899d0..a6825ecb5f0 100644 --- a/src/DiffEq/Beta/BetaCoeffPolicy.hpp +++ b/src/DiffEq/Beta/BetaCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/BetaCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Beta coefficients policies \details This file defines coefficients policy classes for the beta SDE, diff --git a/src/DiffEq/Beta/ConfigureBeta.cpp b/src/DiffEq/Beta/ConfigureBeta.cpp index 80719af111f..8244139f396 100644 --- a/src/DiffEq/Beta/ConfigureBeta.cpp +++ b/src/DiffEq/Beta/ConfigureBeta.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureBeta.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the beta SDE \details Register and compile configuration on the beta SDE. diff --git a/src/DiffEq/Beta/ConfigureBeta.hpp b/src/DiffEq/Beta/ConfigureBeta.hpp index 4e8082e9804..d099e780ff0 100644 --- a/src/DiffEq/Beta/ConfigureBeta.hpp +++ b/src/DiffEq/Beta/ConfigureBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the beta SDE \details Register and compile configuration on the beta SDE. diff --git a/src/DiffEq/Beta/ConfigureMassFractionBeta.cpp b/src/DiffEq/Beta/ConfigureMassFractionBeta.cpp index 91656b55755..4a056398c41 100644 --- a/src/DiffEq/Beta/ConfigureMassFractionBeta.cpp +++ b/src/DiffEq/Beta/ConfigureMassFractionBeta.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMassFractionBeta.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the mass fraction beta SDE \details Register and compile configuration on the mass fraction beta SDE. diff --git a/src/DiffEq/Beta/ConfigureMassFractionBeta.hpp b/src/DiffEq/Beta/ConfigureMassFractionBeta.hpp index 97faaec7a01..f47288325de 100644 --- a/src/DiffEq/Beta/ConfigureMassFractionBeta.hpp +++ b/src/DiffEq/Beta/ConfigureMassFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMassFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the number fraction beta SDE \details Register and compile configuration on the number fraction beta SDE. diff --git a/src/DiffEq/Beta/ConfigureMixMassFractionBeta.cpp b/src/DiffEq/Beta/ConfigureMixMassFractionBeta.cpp index 1f2b3f682fe..aa1f92d4e77 100644 --- a/src/DiffEq/Beta/ConfigureMixMassFractionBeta.cpp +++ b/src/DiffEq/Beta/ConfigureMixMassFractionBeta.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMixMassFractionBeta.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the mix mass fraction beta SDE @@ -75,8 +75,12 @@ infoMixMassFractionBeta( std::map< ctr::DiffEqType, tk::ctr::ncomp_t >& cnt ) nfo.emplace_back( "start offset in particle array", std::to_string( g_inputdeck.get< tag::component >().offset< eq >(c) ) ); auto ncomp = g_inputdeck.get< tag::component, eq >()[c]; - nfo.emplace_back( "number of components", - std::to_string( ncomp ) + " (" + std::to_string(ncomp/4) + "*4) " ); + + auto numderived = + MixMassFractionBeta::NUMDERIVED; + nfo.emplace_back( "number of components", std::to_string(ncomp) + " (=" + + std::to_string(ncomp/(numderived+1)) + '*' + + std::to_string(numderived+1) + ") " ); coupledInfo< eq, tag::velocity, tag::velocity_id > ( c, "velocity", nfo ); diff --git a/src/DiffEq/Beta/ConfigureMixMassFractionBeta.hpp b/src/DiffEq/Beta/ConfigureMixMassFractionBeta.hpp index dd4b13af6dc..789e04cd61f 100644 --- a/src/DiffEq/Beta/ConfigureMixMassFractionBeta.hpp +++ b/src/DiffEq/Beta/ConfigureMixMassFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMixMassFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the mix mass fraction beta SDE diff --git a/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.cpp b/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.cpp index 492957ec6cc..4c9af9004b3 100644 --- a/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.cpp +++ b/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMixNumberFractionBeta.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the mix number fraction beta SDE diff --git a/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.hpp b/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.hpp index f28f0f182d1..3d4954a6353 100644 --- a/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.hpp +++ b/src/DiffEq/Beta/ConfigureMixNumberFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureMixNumberFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the mix number fraction beta SDE diff --git a/src/DiffEq/Beta/ConfigureNumberFractionBeta.cpp b/src/DiffEq/Beta/ConfigureNumberFractionBeta.cpp index 7e6e8cf4fca..458bf03bc21 100644 --- a/src/DiffEq/Beta/ConfigureNumberFractionBeta.cpp +++ b/src/DiffEq/Beta/ConfigureNumberFractionBeta.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureNumberFractionBeta.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the number fraction beta SDE \details Register and compile configuration on the number fraction beta SDE. diff --git a/src/DiffEq/Beta/ConfigureNumberFractionBeta.hpp b/src/DiffEq/Beta/ConfigureNumberFractionBeta.hpp index b26b7b63962..8d8fb7b8ff2 100644 --- a/src/DiffEq/Beta/ConfigureNumberFractionBeta.hpp +++ b/src/DiffEq/Beta/ConfigureNumberFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/ConfigureNumberFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the number fraction beta SDE \details Register and compile configuration on the number fraction beta SDE. diff --git a/src/DiffEq/Beta/MassFractionBeta.hpp b/src/DiffEq/Beta/MassFractionBeta.hpp index c079f30b1bf..153ad9b425f 100644 --- a/src/DiffEq/Beta/MassFractionBeta.hpp +++ b/src/DiffEq/Beta/MassFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MassFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of mass-fraction beta SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.cpp b/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.cpp index 0d32a899b94..de0f359f699 100644 --- a/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.cpp +++ b/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MassFractionBetaCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mass-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the mass-fraction diff --git a/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.hpp b/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.hpp index 3dcdc087aa0..aefce11385f 100644 --- a/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.hpp +++ b/src/DiffEq/Beta/MassFractionBetaCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MassFractionBetaCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mass-fraction beta SDE coefficients policies \details This file declares coefficients policy classes for the diff --git a/src/DiffEq/Beta/MixMassFractionBeta.hpp b/src/DiffEq/Beta/MixMassFractionBeta.hpp index bf85f27b01f..fad6b0de41e 100644 --- a/src/DiffEq/Beta/MixMassFractionBeta.hpp +++ b/src/DiffEq/Beta/MixMassFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixMassFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of mix mass-fraction beta SDEs \details This file implements the time integration of a system of stochastic @@ -111,6 +111,13 @@ class MixMassFractionBeta { using eq = tag::mixmassfracbeta; public: + //! Number of derived variables computed by the SDE + //! \details Derived variables: density, specific volume, 1 - mass fraction + //! \warning If you change this, you must also change the constant in + //! Velocity::m_mixmassfracbeta_ncomp in DiffEq/Velocity/Velocity.hpp. + //! To see where, search for NUMDERIVED there. + static const std::size_t NUMDERIVED = 3; + //! \brief Constructor //! \param[in] c Index specifying which system of mix mass-fraction beta //! SDEs to construct. There can be multiple mixmassfracbeta ... end blocks @@ -121,7 +128,8 @@ class MixMassFractionBeta { m_c( c ), m_depvar( g_inputdeck.get< tag::param, eq, tag::depvar >().at(c) ), // divide by the number of derived variables computed, see derived() - m_ncomp( g_inputdeck.get< tag::component >().get< eq >().at(c) / 4 ), + m_ncomp( g_inputdeck.get< tag::component >().get< eq >().at(c) / + (NUMDERIVED + 1) ), m_offset( g_inputdeck.get< tag::component >().offset< eq >(c) ), m_rng( g_rng.at( tk::ctr::raw( g_inputdeck.get< tag::param, eq, tag::rng >().at(c) ) ) ), @@ -191,8 +199,11 @@ class MixMassFractionBeta { // Initialize values derived from primary prognostic variable const auto npar = particles.nunk(); for (auto p=decltype(npar){0}; p 0.0, "Beta IC out of bounds!" ); + Assert( particles( p, i, m_offset ) < 1.0, "Beta IC out of bounds!" ); derived( particles, p, i ); + } } //! \brief Advance particles according to the system of mix mass-fraction @@ -213,6 +224,8 @@ class MixMassFractionBeta { m_velocity_solve, m_solve, m_ncomp, moments, m_bprime, m_kprime, m_rho2, m_r, m_hts, m_hp, m_b, m_k, m_S, t ); + const auto eps = std::numeric_limits< tk::real >::epsilon(); + // Advance particles const auto npar = particles.nunk(); for (auto p=decltype(npar){0}; p eps || abs(m_dY[1]) > eps || abs(m_dY[2]) > eps) { u = particles( p, 0, m_velocity_offset ); v = particles( p, 1, m_velocity_offset ); w = particles( p, 2, m_velocity_offset ); @@ -259,7 +273,7 @@ class MixMassFractionBeta { const char m_dissipation_depvar; //!< Depvar of coupled dissipation eq const ncomp_t m_dissipation_offset; //!< Offset of coupled dissipation eq - std::array m_dY; //! Prescribed mean scalar gradient + std::array< tk::real, 3 > m_dY; //! Prescribed mean scalar gradient //! Coefficients std::vector< kw::sde_bprime::info::expect::type > m_bprime; diff --git a/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.cpp b/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.cpp index 66698810d4f..c29bbe52d26 100644 --- a/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.cpp +++ b/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mass-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the mass-fraction @@ -681,8 +681,8 @@ walker::MixMassFracBetaCoeffInstVel::update( const std::map< tk::ctr::Product, tk::real >& moments, const std::vector< kw::sde_bprime::info::expect::type >& /*bprime*/, const std::vector< kw::sde_kappaprime::info::expect::type >& kprime, - const std::vector< kw::sde_rho2::info::expect::type >& /*rho2*/, - const std::vector< kw::sde_r::info::expect::type >& /*r*/, + const std::vector< kw::sde_rho2::info::expect::type >& rho2, + const std::vector< kw::sde_r::info::expect::type >& r, const std::vector< tk::Table >&, const std::vector< tk::Table >&, std::vector< kw::sde_b::info::expect::type >& b, @@ -753,11 +753,26 @@ walker::MixMassFracBetaCoeffInstVel::update( } else Throw( "Depvar type not implemented" ); + // simple decay for now tk::real beta1 = 2.0; b[c] = beta1 * ts; k[c] = kprime[c] * beta1 * ts * y2; - S[c] = 0.5; + tk::real d = lookup( mean(depvar,c+ncomp), moments ); // + tk::real d2 = lookup( variance(depvar,c+ncomp), moments ); // + tk::real d3 = lookup( cen3(depvar,c+ncomp), moments ); // + + // force d\/dt = 0 + tk::real R = 1.0 + d2/d/d; + tk::real B = -1.0/r[c]/r[c]; + tk::real C = (2.0+r[c])/r[c]/r[c]; + tk::real D = -(1.0+r[c])/r[c]/r[c]; + tk::real diff = + B*d/rho2[c] + + C*d*d*R/rho2[c]/rho2[c] + + D*d*d*d*(1.0 + 3.0*d2/d/d + d3/d/d/d)/rho2[c]/rho2[c]/rho2[c]; + S[c] = (rho2[c]/d/R + + 2.0*k[c]/b[c]*rho2[c]*rho2[c]/d/d*r[c]*r[c]/R*diff - 1.0) / r[c]; } ++m_it; diff --git a/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.hpp b/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.hpp index 6cdc92936a9..23d2eeaed21 100644 --- a/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.hpp +++ b/src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixMassFractionBetaCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mix mass-fraction beta SDE coefficients policies \details This file declares coefficients policy classes for the mix diff --git a/src/DiffEq/Beta/MixNumberFractionBeta.hpp b/src/DiffEq/Beta/MixNumberFractionBeta.hpp index ef912715867..f6fa06921a4 100644 --- a/src/DiffEq/Beta/MixNumberFractionBeta.hpp +++ b/src/DiffEq/Beta/MixNumberFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixNumberFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of mix number-fraction beta SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.cpp b/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.cpp index e77c09b2864..2973478ac50 100644 --- a/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.cpp +++ b/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mass-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the mass-fraction diff --git a/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp b/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp index f39e85d54e4..8fae51d398a 100644 --- a/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp +++ b/src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mix number-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the mix diff --git a/src/DiffEq/Beta/NumberFractionBeta.hpp b/src/DiffEq/Beta/NumberFractionBeta.hpp index 1afce76c00a..7e699134c9e 100644 --- a/src/DiffEq/Beta/NumberFractionBeta.hpp +++ b/src/DiffEq/Beta/NumberFractionBeta.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/NumberFractionBeta.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of number-fraction beta SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.cpp b/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.cpp index 380b22fe730..554bba472cf 100644 --- a/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.cpp +++ b/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mass-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the mass-fraction diff --git a/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.hpp b/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.hpp index e71813e7f5c..d2726a275c4 100644 --- a/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.hpp +++ b/src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Beta/NumberFractionBetaCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Number-fraction beta SDE coefficients policies \details This file defines coefficients policy classes for the diff --git a/src/DiffEq/CoupledEq.hpp b/src/DiffEq/CoupledEq.hpp index 401cef29eec..bbd21617268 100644 --- a/src/DiffEq/CoupledEq.hpp +++ b/src/DiffEq/CoupledEq.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/CoupledEq.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functionality for querying information on coupled equations \details Functionality for querying information on coupled equations. @@ -131,13 +131,9 @@ std::size_t offset( std::size_t system ) //! tk::grm::couple in Control/Walker/InputDeck/Grammar.h //! \param[in] system Relative equation system id of equation 'eq' //! \return System offset of coupled equation in tk::Data array of all systems -//! \note If equation 'eq' is not coupled to equation 'coupledeq', we return a -//! large number which will hopefully trigger some problems in client code if -//! used. This is used to indicate "no coupling" so that client code can still -//! call this function even for an equation that is not coupled, without -//! chaning client code, compared to equations that are coupled. In other -//! words, calling this function on a coupledeq equation that is not coupled -//! is not an error. +//! \note If equation 'eq' is not coupled to equation 'coupledeq', we return the +//! id of the coupled equation. In other words, calling this function on a +//! coupledeq equation that is not coupled is not an error. // ***************************************************************************** { static_assert( !std::is_same< eq, coupledeq >::value, @@ -153,6 +149,34 @@ std::size_t offset( std::size_t system ) return cid; } +template< typename eq, typename coupledeq, typename id > +std::size_t ncomp( std::size_t system ) +// ***************************************************************************** +// Query number of components of coupled equation +//! \tparam eq Tag of the equation that is coupled +//! \tparam coupledeq Tag of the equation that is coupled to equation 'eq' +//! \tparam id Tag to access the coupled equation 'eq' (relative) ids, see +//! tk::grm::couple in Control/Walker/InputDeck/Grammar.h +//! \param[in] system Relative equation system id of equation 'eq' +//! \return Number of scalar components of coupled equation +//! \note If equation 'eq' is not coupled to equation 'coupledeq', we return the +//! id of the coupled equation. In other words, calling this function on a +//! coupledeq equation that is not coupled is not an error. +// ***************************************************************************** +{ + static_assert( !std::is_same< eq, coupledeq >::value, + "Eq and coupled eq must differ" ); + + // Query relative id of coupled eq + auto cid = system_id< eq, coupledeq, id >( system ); + + // Return number of scalar components of coupled eq + if (coupled< eq, coupledeq >( system )) + return g_inputdeck.get< tag::component >().get< coupledeq >().at( cid ); + else + return cid; +} + } // walker:: #endif // CoupledEq_h diff --git a/src/DiffEq/DiffEq.hpp b/src/DiffEq/DiffEq.hpp index dbd923331a3..23206be5511 100644 --- a/src/DiffEq/DiffEq.hpp +++ b/src/DiffEq/DiffEq.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/DiffEq.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equation \details This file defines a generic differential equation class. The class diff --git a/src/DiffEq/DiffEqFactory.hpp b/src/DiffEq/DiffEqFactory.hpp index 4626fca1cd1..1df905c8e45 100644 --- a/src/DiffEq/DiffEqFactory.hpp +++ b/src/DiffEq/DiffEqFactory.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/DiffEqFactory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equations factory \details This file declares the type for a differential equations factory. diff --git a/src/DiffEq/DiffEqStack.cpp b/src/DiffEq/DiffEqStack.cpp index 58c96ea86e0..fea3991f0f7 100644 --- a/src/DiffEq/DiffEqStack.cpp +++ b/src/DiffEq/DiffEqStack.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/DiffEqStack.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of differential equations \details This file defines class DiffEqStack, which implements various diff --git a/src/DiffEq/DiffEqStack.hpp b/src/DiffEq/DiffEqStack.hpp index 426c10a1c4f..cdee942d2dd 100644 --- a/src/DiffEq/DiffEqStack.hpp +++ b/src/DiffEq/DiffEqStack.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/DiffEqStack.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of differential equations \details This file declares class DiffEqStack, which implements various diff --git a/src/DiffEq/Dirichlet/ConfigureDirichlet.cpp b/src/DiffEq/Dirichlet/ConfigureDirichlet.cpp index 6fd59052d25..f588cddad17 100644 --- a/src/DiffEq/Dirichlet/ConfigureDirichlet.cpp +++ b/src/DiffEq/Dirichlet/ConfigureDirichlet.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureDirichlet.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Dirichlet SDE \details Register and compile configuration on the Dirichlet SDE. diff --git a/src/DiffEq/Dirichlet/ConfigureDirichlet.hpp b/src/DiffEq/Dirichlet/ConfigureDirichlet.hpp index 8761d259fb4..acfdab30193 100644 --- a/src/DiffEq/Dirichlet/ConfigureDirichlet.hpp +++ b/src/DiffEq/Dirichlet/ConfigureDirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureDirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Dirichlet SDE \details Register and compile configuration on the Dirichlet SDE. diff --git a/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.cpp b/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.cpp index 993d85308e9..0f688029652 100644 --- a/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.cpp +++ b/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the generlized Dirichlet SDE \details Register and compile configuration on the generlized Dirichlet SDE. diff --git a/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.hpp b/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.hpp index e49418b45e9..8793fdbe0a2 100644 --- a/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.hpp +++ b/src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureGeneralizedDirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the generalized Dirichlet SDE \details Register and compile configuration on the generalized Dirichlet SDE. diff --git a/src/DiffEq/Dirichlet/ConfigureMixDirichlet.cpp b/src/DiffEq/Dirichlet/ConfigureMixDirichlet.cpp index 86d84d5166a..a7db0a74d66 100644 --- a/src/DiffEq/Dirichlet/ConfigureMixDirichlet.cpp +++ b/src/DiffEq/Dirichlet/ConfigureMixDirichlet.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureMixDirichlet.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the MixDirichlet SDE \details Register and compile configuration on the MixDirichlet SDE. diff --git a/src/DiffEq/Dirichlet/ConfigureMixDirichlet.hpp b/src/DiffEq/Dirichlet/ConfigureMixDirichlet.hpp index f4d2fde79e2..63226289120 100644 --- a/src/DiffEq/Dirichlet/ConfigureMixDirichlet.hpp +++ b/src/DiffEq/Dirichlet/ConfigureMixDirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/ConfigureMixDirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the MixDirichlet SDE \details Register and compile configuration on the MixDirichlet SDE. diff --git a/src/DiffEq/Dirichlet/Dirichlet.hpp b/src/DiffEq/Dirichlet/Dirichlet.hpp index 1cfaf44d5b2..654a6dc14bc 100644 --- a/src/DiffEq/Dirichlet/Dirichlet.hpp +++ b/src/DiffEq/Dirichlet/Dirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/Dirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Dirichlet SDE \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Dirichlet/DirichletCoeffPolicy.cpp b/src/DiffEq/Dirichlet/DirichletCoeffPolicy.cpp index f9a8c6d651d..98e4da81703 100644 --- a/src/DiffEq/Dirichlet/DirichletCoeffPolicy.cpp +++ b/src/DiffEq/Dirichlet/DirichletCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/DirichletCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Dirichlet coefficients policies \details This file defines coefficients policy classes for the Dirichlet diff --git a/src/DiffEq/Dirichlet/DirichletCoeffPolicy.hpp b/src/DiffEq/Dirichlet/DirichletCoeffPolicy.hpp index 7878ab1a05d..0329f72a64a 100644 --- a/src/DiffEq/Dirichlet/DirichletCoeffPolicy.hpp +++ b/src/DiffEq/Dirichlet/DirichletCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/DirichletCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Dirichlet coefficients policies \details This file defines coefficients policy classes for the Dirichlet diff --git a/src/DiffEq/Dirichlet/GeneralizedDirichlet.hpp b/src/DiffEq/Dirichlet/GeneralizedDirichlet.hpp index 10219675a18..a23a46977bd 100644 --- a/src/DiffEq/Dirichlet/GeneralizedDirichlet.hpp +++ b/src/DiffEq/Dirichlet/GeneralizedDirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/GeneralizedDirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Lochner's generalized Dirichlet SDE \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.cpp b/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.cpp index 832f3a15d72..4b485217c94 100644 --- a/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.cpp +++ b/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generalized Dirichlet coefficients policies \details This file defines coefficients policy classes for the Generalized diff --git a/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.hpp b/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.hpp index 89c66bf0d24..50c544bd85a 100644 --- a/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.hpp +++ b/src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Lochner's generalized Dirichlet coefficients policies \details This file defines coefficients policy classes for the generalized diff --git a/src/DiffEq/Dirichlet/MixDirichlet.hpp b/src/DiffEq/Dirichlet/MixDirichlet.hpp index f75400eca3d..81fcc65afda 100644 --- a/src/DiffEq/Dirichlet/MixDirichlet.hpp +++ b/src/DiffEq/Dirichlet/MixDirichlet.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Dirichlet/MixDirichlet.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mixture Dirichlet SDE \details This file implements the time integration of a system of stochastic @@ -53,6 +53,7 @@ #include #include +#include #include "InitPolicy.hpp" #include "MixDirichletCoeffPolicy.hpp" @@ -125,6 +126,9 @@ class MixDirichlet { Init::template init< eq >( g_inputdeck, m_rng, stream, particles, m_c, m_ncomp, m_offset ); + fenv_t fe; + feholdexcept( &fe ); + const auto npar = particles.nunk(); for (auto p=decltype(npar){0}; p +#include #include @@ -166,15 +167,21 @@ struct InitBeta { // configured for const ncomp_t size = std::min( ncomp, betapdf.size() ); + const auto eps = std::numeric_limits< tk::real >::epsilon(); + for (ncomp_t c=0; c 1.0-eps) v = 1.0-eps; + } } } @@ -342,6 +349,9 @@ struct InitDirichlet { rng.gamma( stream, 1, dir[c], 1.0, Y.data()+c ); } + fenv_t fe; + feholdexcept( &fe ); + auto Ysum = std::accumulate( begin(Y), end(Y), 0.0 ); // Assign N=K+1 particle values by dividing the gamma-distributed numbers @@ -352,6 +362,9 @@ struct InitDirichlet { if (y < 0.0 || y > 1.0) Throw( "Dirichlet samples out of bounds" ); particles( p, c, offset ) = y; } + + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); } // Verify boundedness of all ncomp+1 (=N=K+1) scalars diff --git a/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.cpp b/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.cpp index edcf53e036d..09394291438 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.cpp +++ b/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the diagonal Ornstein-Uhlenbeck SDE diff --git a/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.hpp b/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.hpp index fbfc0c005d4..8a46f48fe58 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/ConfigureDiagOrnsteinUhlenbeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the diagonal Ornstein-Uhlenbeck SDE diff --git a/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.cpp b/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.cpp index 378a0794a99..416644a4b1d 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.cpp +++ b/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Ornstein-Uhlenbeck SDE \details Register and compile configuration on the Ornstein-Uhlenbeck SDE. diff --git a/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.hpp b/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.hpp index c470853275f..97bb18c2a30 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/ConfigureOrnsteinUhlenbeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Ornstein-Uhlenbeck SDE \details Register and compile configuration on the Ornstein-Uhlenbeck SDE. diff --git a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp index 3ee4ad17e64..dbb648cdbe4 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of diagonal Ornstein-Uhlenbeck SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp index f29aae8d039..5e9de62fa0e 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp +++ b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Ornstein-Uhlenbeck coefficients policies \details This file defines coefficients policy classes for the diagonal diff --git a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.hpp b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.hpp index b2285b1a3e7..0056c4de0ed 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Diagonal Ornstein-Uhlenbeck coefficients policies \details This file defines coefficients policy classes for the diagonal diff --git a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeck.hpp b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeck.hpp index 174473b8adb..b487f3b940e 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeck.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeck.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeck.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of Ornstein-Uhlenbeck SDEs \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.cpp b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.cpp index 291b98e8517..af42f95d268 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.cpp +++ b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Ornstein-Uhlenbeck coefficients policies \details This file defines coefficients policy classes for the diagonal diff --git a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.hpp b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.hpp index 2fd4dcbad40..271068d882c 100644 --- a/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.hpp +++ b/src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/OrnsteinUhlenbeck/OrnsteinUhlenbeckCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Ornstein-Uhlenbeck coefficients policies \details This file defines coefficients policy classes for the diff --git a/src/DiffEq/Position/ConfigurePosition.cpp b/src/DiffEq/Position/ConfigurePosition.cpp index 643df5fb241..22ee3864e9e 100644 --- a/src/DiffEq/Position/ConfigurePosition.cpp +++ b/src/DiffEq/Position/ConfigurePosition.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Position/ConfigurePosition.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the position SDE \details Register and compile configuration on the position SDE. diff --git a/src/DiffEq/Position/ConfigurePosition.hpp b/src/DiffEq/Position/ConfigurePosition.hpp index 19b6afd26c1..164c9053eb1 100644 --- a/src/DiffEq/Position/ConfigurePosition.hpp +++ b/src/DiffEq/Position/ConfigurePosition.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Position/ConfigurePosition.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the position SDE \details Register and compile configuration on the position SDE. diff --git a/src/DiffEq/Position/Position.hpp b/src/DiffEq/Position/Position.hpp index fc3bac30952..3d045d8a833 100644 --- a/src/DiffEq/Position/Position.hpp +++ b/src/DiffEq/Position/Position.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Position/Position.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief A position model for Lagrangian particles \details This file implements the time integration of a system of @@ -41,11 +41,11 @@ class Position { public: //! \brief Constructor - //! \param[in] c Index specifying which system of beta SDEs to construct. - //! There can be multiple beta ... end blocks in a control file. This - //! index specifies which beta SDE system to instantiate. The index - //! corresponds to the order in which the beta ... end blocks are given - //! the control file. + //! \param[in] c Index specifying which system of position SDEs to construct + //! There can be multiple position ... end blocks in a control file. This + //! index specifies which position SDE system to instantiate. The index + //! corresponds to the order in which the position ... end blocks are + //! given the control file. explicit Position( ncomp_t c ) : m_c( c ), m_depvar( g_inputdeck.get< tag::param, eq, tag::depvar >().at(c) ), @@ -76,7 +76,7 @@ class Position { ( g_inputdeck, m_rng, stream, particles, m_c, m_ncomp, m_offset ); } - //! \brief Advance particles according to the system of beta SDEs + //! \brief Advance particles according to the system of position SDEs //! \param[in,out] particles Array of particle properties //! \param[in] dt Time step size void advance( tk::Particles& particles, diff --git a/src/DiffEq/Position/PositionCoeffPolicy.cpp b/src/DiffEq/Position/PositionCoeffPolicy.cpp index 28987c8c74e..74f68855113 100644 --- a/src/DiffEq/Position/PositionCoeffPolicy.cpp +++ b/src/DiffEq/Position/PositionCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Position/PositionCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Position SDE coefficients policies \details This file defines coefficients policy classes for the position diff --git a/src/DiffEq/Position/PositionCoeffPolicy.hpp b/src/DiffEq/Position/PositionCoeffPolicy.hpp index afd6f2db306..bf80fa993c5 100644 --- a/src/DiffEq/Position/PositionCoeffPolicy.hpp +++ b/src/DiffEq/Position/PositionCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Position/PositionCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Particle position equation coefficients policies \details This file defines coefficients policy classes for the Lagrangian diff --git a/src/DiffEq/SkewNormal/ConfigureSkewNormal.cpp b/src/DiffEq/SkewNormal/ConfigureSkewNormal.cpp index 50ee98acbbf..4acd4f9029f 100644 --- a/src/DiffEq/SkewNormal/ConfigureSkewNormal.cpp +++ b/src/DiffEq/SkewNormal/ConfigureSkewNormal.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/SkewNormal/ConfigureSkewNormal.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the skew-normal SDE \details Register and compile configuration on the skew-normal SDE. diff --git a/src/DiffEq/SkewNormal/ConfigureSkewNormal.hpp b/src/DiffEq/SkewNormal/ConfigureSkewNormal.hpp index b01bbeb95e9..c99c1a078dd 100644 --- a/src/DiffEq/SkewNormal/ConfigureSkewNormal.hpp +++ b/src/DiffEq/SkewNormal/ConfigureSkewNormal.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/SkewNormal/ConfigureSkewNormal.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the skew-normal SDE \details Register and compile configuration on the skew-normal SDE. diff --git a/src/DiffEq/SkewNormal/SkewNormal.hpp b/src/DiffEq/SkewNormal/SkewNormal.hpp index 2f593e10d6c..7a52dcb5030 100644 --- a/src/DiffEq/SkewNormal/SkewNormal.hpp +++ b/src/DiffEq/SkewNormal/SkewNormal.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/SkewNormal/SkewNormal.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief System of skew-normal SDEs \details This file implements the time integration of a system of stochastic @@ -70,6 +70,7 @@ #include #include +#include #include "InitPolicy.hpp" #include "SkewNormalCoeffPolicy.hpp" @@ -139,6 +140,9 @@ class SkewNormal { tk::real, const std::map< tk::ctr::Product, tk::real >& ) { + fenv_t fe; + feholdexcept( &fe ); + const auto npar = particles.nunk(); for (auto p=decltype(npar){0}; p& cnt ) nfo.emplace_back( ctr::DiffEq().name( ctr::DiffEqType::VELOCITY ), "" ); + auto solve = g_inputdeck.get< tag::param, eq, tag::solve >()[c]; + nfo.emplace_back( "start offset in particle array", std::to_string( g_inputdeck.get< tag::component >().offset< eq >(c) ) ); auto ncomp = g_inputdeck.get< tag::component, eq >()[c]; - nfo.emplace_back( "number of components", std::to_string( ncomp ) ); + + if (solve == ctr::DepvarType::PRODUCT && + coupled< eq, tag::mixmassfracbeta >(c)) + { + auto numderived = + Velocity(c).numderived(); + nfo.emplace_back( "number of components", std::to_string(ncomp) + " (=" + + std::to_string(ncomp - numderived) + '+' + + std::to_string(numderived) + ") " ); + } else { + nfo.emplace_back( "number of components", std::to_string(ncomp) ); + } coupledInfo< eq, tag::position, tag::position_id > ( c, "position", nfo ); @@ -85,7 +98,6 @@ infoVelocity( std::map< ctr::DiffEqType, tk::ctr::ncomp_t >& cnt ) auto cp = g_inputdeck.get< tag::param, eq, tag::coeffpolicy >()[c]; nfo.emplace_back( "coefficients policy", ctr::CoeffPolicy().name( cp ) ); - auto solve = g_inputdeck.get< tag::param, eq, tag::solve >()[c]; auto dv = ctr::Depvar(); nfo.emplace_back( dv.group(), dv.name(solve) ); @@ -113,6 +125,10 @@ infoVelocity( std::map< ctr::DiffEqType, tk::ctr::ncomp_t >& cnt ) nfo.emplace_back( "coeff C0", std::to_string( g_inputdeck.get< tag::param, eq, tag::c0 >().at(c) ) ); + const auto& gravity = + g_inputdeck.get< tag::param, tag::velocity, tag::gravity >().at(c); + if (!gravity.empty()) nfo.emplace_back( "gravity [3]", parameters(gravity) ); + return nfo; } diff --git a/src/DiffEq/Velocity/ConfigureVelocity.hpp b/src/DiffEq/Velocity/ConfigureVelocity.hpp index a840f1cfc0f..ddfce0509f4 100644 --- a/src/DiffEq/Velocity/ConfigureVelocity.hpp +++ b/src/DiffEq/Velocity/ConfigureVelocity.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/ConfigureVelocity.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the velocity SDE \details Register and compile configuration on the velocity SDE. diff --git a/src/DiffEq/Velocity/Langevin.cpp b/src/DiffEq/Velocity/Langevin.cpp index 87670ac8e84..ee191254c1d 100644 --- a/src/DiffEq/Velocity/Langevin.cpp +++ b/src/DiffEq/Velocity/Langevin.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/Langevin.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functionality implementing Langevin models for the velocity \details Functionality implementing Langevin models for the velocity. diff --git a/src/DiffEq/Velocity/Langevin.hpp b/src/DiffEq/Velocity/Langevin.hpp index 45a3207bcdf..e796d552ae0 100644 --- a/src/DiffEq/Velocity/Langevin.hpp +++ b/src/DiffEq/Velocity/Langevin.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/Langevin.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functionality implementing Langevin models for the velocity \details Functionality implementing Langevin models for the velocity. diff --git a/src/DiffEq/Velocity/Velocity.hpp b/src/DiffEq/Velocity/Velocity.hpp index e32dd15510e..28da79637af 100644 --- a/src/DiffEq/Velocity/Velocity.hpp +++ b/src/DiffEq/Velocity/Velocity.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/Velocity.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief A model for velocity in variable-density turbulence \details This file implements the time integration of a system of stochastic @@ -54,7 +54,21 @@ class Velocity { explicit Velocity( ncomp_t c ) : m_c( c ), m_depvar( g_inputdeck.get< tag::param, eq, tag::depvar >().at(c) ), - m_ncomp( g_inputdeck.get< tag::component, eq >().at(c) ), + m_solve( g_inputdeck.get< tag::param, eq, tag::solve >().at(c) ), + m_mixmassfracbeta_coupled( coupled< eq, tag::mixmassfracbeta >( c ) ), + m_mixmassfracbeta_depvar( depvar< eq, tag::mixmassfracbeta >( c ) ), + m_mixmassfracbeta_offset( + offset< eq, tag::mixmassfracbeta, tag::mixmassfracbeta_id >( c ) ), + m_mixmassfracbeta_ncomp( + // The magic number, 4, below is MixMassFractionBeta::NUMDERIVED + 1, + // but cannot be given as such, because that would lead to circular + // dependencies of Velocity depending on MixMassfractionBeta, and vice + // versa. + m_mixmassfracbeta_coupled ? + ncomp< eq, tag::mixmassfracbeta, tag::mixmassfracbeta_id >( c ) / 4 : + 0 ), + m_numderived( numderived() ), + m_ncomp( g_inputdeck.get< tag::component, eq >().at(c) - m_numderived ), m_offset( g_inputdeck.get< tag::component >().offset< eq >(c) ), m_rng( g_rng.at( tk::ctr::raw( @@ -66,18 +80,14 @@ class Velocity { m_dissipation_depvar( depvar< eq, tag::dissipation >( c ) ), m_dissipation_offset( offset< eq, tag::dissipation, tag::dissipation_id >( c ) ), - m_mixmassfracbeta_coupled( coupled< eq, tag::mixmassfracbeta >( c ) ), - m_mixmassfracbeta_depvar( depvar< eq, tag::mixmassfracbeta >( c ) ), - m_mixmassfracbeta_offset( - offset< eq, tag::mixmassfracbeta, tag::mixmassfracbeta_id >( c ) ), - m_solve(g_inputdeck.get< tag::param, eq, tag::solve >().at(c)), m_U( {{ tk::ctr::mean( m_depvar, 0 ), tk::ctr::mean( m_depvar, 1 ), tk::ctr::mean( m_depvar, 2 ) }} ), m_variant( g_inputdeck.get< tag::param, eq, tag::variant >().at(c) ), m_c0(), m_G(), - m_coeff( g_inputdeck.get< tag::param, eq, tag::c0 >().at(c), m_c0, m_dU ) + m_coeff( g_inputdeck.get< tag::param, eq, tag::c0 >().at(c), m_c0, m_dU ), + m_gravity( { 0.0, 0.0, 0.0 } ) { Assert( m_ncomp == 3, "Velocity eq number of components must be 3" ); // Zero prescribed mean velocity gradient if full variable is solved for @@ -91,6 +101,26 @@ class Velocity { "Velocity eq Hydrotimescales vector size must be 1" ); m_hts = ctr::HydroTimeScales().table( hts[0] ); } + // Initialize gravity body force if configured + const auto& gravity = + g_inputdeck.get< tag::param, eq, tag::gravity >().at(c); + if (!gravity.empty()) { + m_gravity[0] = gravity[0]; + m_gravity[1] = gravity[1]; + m_gravity[2] = gravity[2]; + } + } + + //! Compute number of derived variables + //! \return Number of derived variables computed + std::size_t numderived() const { + if (m_solve == ctr::DepvarType::PRODUCT || + m_solve == ctr::DepvarType::FLUCTUATING_MOMENTUM) + { // derived: 3 velocity components for each coupled mass fraction + return m_mixmassfracbeta_ncomp * 3; + } else { + return 0; + } } //! Initalize SDE, prepare for time integration @@ -114,6 +144,9 @@ class Velocity { tk::real t, const std::map< tk::ctr::Product, tk::real >& moments ) { + using ctr::DepvarType; + const auto epsilon = std::numeric_limits< tk::real >::epsilon(); + // Update coefficients tk::real eps = 0.0; m_coeff.update( m_depvar, m_dissipation_depvar, moments, m_hts, m_solve, @@ -121,7 +154,7 @@ class Velocity { // Access mean velocity (if needed) std::array< tk::real, 3 > U{{ 0.0, 0.0, 0.0 }}; - if (m_solve == ctr::DepvarType::FULLVAR) { + if (m_solve == DepvarType::FULLVAR || m_solve == DepvarType::PRODUCT) { using tk::ctr::lookup; U[0] = lookup( m_U[0], moments ); U[1] = lookup( m_U[1], moments ); @@ -131,12 +164,43 @@ class Velocity { // Modify G with the mean velocity gradient for (std::size_t i=0; i<9; ++i) m_G[i] -= m_dU[i]; + // Access mean specific volume (if needed) + using tk::ctr::mean; + using tk::ctr::Term; + using tk::ctr::Product; + auto mixncomp = m_mixmassfracbeta_ncomp; + std::vector< tk::real > R; + std::vector< tk::real > RU; + auto Uc = static_cast< char >( std::toupper(m_depvar) ); + if (m_solve == ctr::DepvarType::PRODUCT || + m_solve == DepvarType::FLUCTUATING_MOMENTUM) + { + R.resize( mixncomp, 0.0 ); + RU.resize( mixncomp*3, 0.0 ); + for (std::size_t c=0; c(std::toupper(m_mixmassfracbeta_depvar)), + mixncomp + c, + tk::ctr::Moment::ORDINARY ); + std::array< Term, 3 > Us{ + Term( Uc, m_ncomp+(c*3)+0, tk::ctr::Moment::ORDINARY ), + Term( Uc, m_ncomp+(c*3)+1, tk::ctr::Moment::ORDINARY ), + Term( Uc, m_ncomp+(c*3)+2, tk::ctr::Moment::ORDINARY ) }; + std::array< Product, 3 > RsUs{ Product( { Us[0], Rs } ), + Product( { Us[1], Rs } ), + Product( { Us[2], Rs } ) }; + RU[ c*3+0 ] = lookup( RsUs[0], moments ); + RU[ c*3+1 ] = lookup( RsUs[1], moments ); + RU[ c*3+2 ] = lookup( RsUs[2], moments ); + } + } + const auto npar = particles.nunk(); for (auto p=decltype(npar){0}; p dW( m_ncomp ); m_rng.gaussian( stream, m_ncomp, dW.data() ); - // Acces particle velocity + // Access particle velocity tk::real& Up = particles( p, 0, m_offset ); tk::real& Vp = particles( p, 1, m_offset ); tk::real& Wp = particles( p, 2, m_offset ); @@ -147,16 +211,50 @@ class Velocity { tk::real u = Up - U[0]; tk::real v = Vp - U[1]; tk::real w = Wp - U[2]; - // Update particle velocity + // Update particle velocity based on Langevin model Up += (m_G[0]*u + m_G[1]*v + m_G[2]*w)*dt + d*dW[0]; Vp += (m_G[3]*u + m_G[4]*v + m_G[5]*w)*dt + d*dW[1]; Wp += (m_G[6]*u + m_G[7]*v + m_G[8]*w)*dt + d*dW[2]; + // Add gravity + if (m_solve == ctr::DepvarType::PRODUCT || + m_solve == ctr::DepvarType::FLUCTUATING_MOMENTUM) + { + for (ncomp_t c=0; c epsilon) { + // add gravity force to particle momentum + Up += (rhoi - R[c]) * m_gravity[0] * dt; + Vp += (rhoi - R[c]) * m_gravity[1] * dt; + Wp += (rhoi - R[c]) * m_gravity[2] * dt; + // compute derived particle velocity + particles( p, m_ncomp+(c*3)+0, m_offset ) = (Up + RU[c*3+0])/rhoi; + particles( p, m_ncomp+(c*3)+1, m_offset ) = (Vp + RU[c*3+1])/rhoi; + particles( p, m_ncomp+(c*3)+2, m_offset ) = (Wp + RU[c*3+2])/rhoi; + } + } + } else { + Up += m_gravity[0] * dt; + Vp += m_gravity[1] * dt; + Wp += m_gravity[2] * dt; + } } } private: const ncomp_t m_c; //!< Equation system index const char m_depvar; //!< Dependent variable + const ctr::DepvarType m_solve; //!< Dependent variable to solve for + + //! True if coupled to mixmassfracbeta + const bool m_mixmassfracbeta_coupled; + //! Depvar of coupled mixmassfracbeta eq + const char m_mixmassfracbeta_depvar; + //! Offset of coupled mixmassfracbeta eq + const ncomp_t m_mixmassfracbeta_offset; + //! Number of scalar components in coupled mixmassfracbeta eq + const ncomp_t m_mixmassfracbeta_ncomp; + + const ncomp_t m_numderived; //!< Number of derived variables const ncomp_t m_ncomp; //!< Number of components const ncomp_t m_offset; //!< Offset SDE operates from const tk::RNG& m_rng; //!< Random number generator @@ -169,15 +267,6 @@ class Velocity { const char m_dissipation_depvar; //!< Coupled dissipation dependent var const ncomp_t m_dissipation_offset; //!< Offset of coupled dissipation eq - //! True if coupled to mixmassfracbeta - const bool m_mixmassfracbeta_coupled; - //! Depvar of coupled mixmassfracbeta eq - const char m_mixmassfracbeta_depvar; - //! Offset of coupled mixmassfracbeta eq - const ncomp_t m_mixmassfracbeta_offset; - - //! Depndent variable to solve for - const ctr::DepvarType m_solve; //! Array of tk::ctr::Product used to access the mean velocity const std::array< tk::ctr::Product, 3 > m_U; //! Velocity model variant @@ -197,6 +286,9 @@ class Velocity { //! (Optionally) prescribed mean velocity gradient std::array< tk::real, 9 > m_dU; + + //! Optional gravity body force + std::array< tk::real, 3 > m_gravity; }; } // walker:: diff --git a/src/DiffEq/Velocity/VelocityCoeffPolicy.cpp b/src/DiffEq/Velocity/VelocityCoeffPolicy.cpp index c1da6a3fc5c..8614b979f77 100644 --- a/src/DiffEq/Velocity/VelocityCoeffPolicy.cpp +++ b/src/DiffEq/Velocity/VelocityCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/VelocityCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Velocity coefficients policies \details This file defines coefficients policy classes for the velocity @@ -85,7 +85,7 @@ walker::VelocityCoeffConstShear::update( walker::VelocityCoeffStationary::VelocityCoeffStationary( kw::sde_c0::info::expect::type C0_, kw::sde_c0::info::expect::type& C0, - std::array< tk::real, 9 >& ) + std::array< tk::real, 9 >& dU ) // ***************************************************************************** // Constructor: initialize coefficients //! \param[in] C0_ Value of C0 parameter in the Langevin model @@ -96,6 +96,7 @@ walker::VelocityCoeffStationary::VelocityCoeffStationary( // ***************************************************************************** { C0 = C0_; + dU = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; } void @@ -143,7 +144,7 @@ walker::VelocityCoeffStationary::update( walker::VelocityCoeffHydroTimeScale::VelocityCoeffHydroTimeScale( kw::sde_c0::info::expect::type C0_, kw::sde_c0::info::expect::type& C0, - std::array< tk::real, 9 >& ) + std::array< tk::real, 9 >& dU ) // ***************************************************************************** // Constructor: initialize coefficients //! \param[in] C0_ Value of C0 parameter in the Langevin model @@ -151,6 +152,7 @@ walker::VelocityCoeffHydroTimeScale::VelocityCoeffHydroTimeScale( // ***************************************************************************** { C0 = C0_; + dU = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; } void diff --git a/src/DiffEq/Velocity/VelocityCoeffPolicy.hpp b/src/DiffEq/Velocity/VelocityCoeffPolicy.hpp index d62e9dabba5..2e2c1029cfb 100644 --- a/src/DiffEq/Velocity/VelocityCoeffPolicy.hpp +++ b/src/DiffEq/Velocity/VelocityCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/Velocity/VelocityCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Velocity equation coefficients policies \details This file defines coefficients policy classes for the velocity diff --git a/src/DiffEq/WrightFisher/ConfigureWrightFisher.cpp b/src/DiffEq/WrightFisher/ConfigureWrightFisher.cpp index 72b1d210f8d..b6ccfedc191 100644 --- a/src/DiffEq/WrightFisher/ConfigureWrightFisher.cpp +++ b/src/DiffEq/WrightFisher/ConfigureWrightFisher.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/WrightFisher/ConfigureWrightFisher.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Wright-Fisher SDE \details Register and compile configuration on the Wright-Fisher SDE. diff --git a/src/DiffEq/WrightFisher/ConfigureWrightFisher.hpp b/src/DiffEq/WrightFisher/ConfigureWrightFisher.hpp index 9dbb12612d4..59a4debdd6a 100644 --- a/src/DiffEq/WrightFisher/ConfigureWrightFisher.hpp +++ b/src/DiffEq/WrightFisher/ConfigureWrightFisher.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/WrightFisher/ConfigureWrightFisher.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Wright-Fisher SDE \details Register and compile configuration on the Wright-Fisher SDE. diff --git a/src/DiffEq/WrightFisher/WrightFisher.hpp b/src/DiffEq/WrightFisher/WrightFisher.hpp index 80ae259c9cc..f80fe4adf0a 100644 --- a/src/DiffEq/WrightFisher/WrightFisher.hpp +++ b/src/DiffEq/WrightFisher/WrightFisher.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/WrightFisher/WrightFisher.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Wright-Fisher SDE \details This file implements the time integration of a system of stochastic diff --git a/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.cpp b/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.cpp index 45f5e853105..80a79311e57 100644 --- a/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.cpp +++ b/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.cpp @@ -3,7 +3,7 @@ \file src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Wright-Fisher coefficients policies \details This file defines coefficients policy classes for the Wright-Fisher diff --git a/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.hpp b/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.hpp index 95f00e3904a..914e6a163d4 100644 --- a/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.hpp +++ b/src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.hpp @@ -3,7 +3,7 @@ \file src/DiffEq/WrightFisher/WrightFisherCoeffPolicy.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Wright-Fisher coefficients policies \details This file defines coefficients policy classes for the Wright-Fisher diff --git a/src/IO/ASCMeshReader.cpp b/src/IO/ASCMeshReader.cpp index dc2400ffa50..3e933777b84 100644 --- a/src/IO/ASCMeshReader.cpp +++ b/src/IO/ASCMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/ASCMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ASC mesh reader class definition \details ASC mesh reader class definition. Mesh reader facilitating reading diff --git a/src/IO/ASCMeshReader.hpp b/src/IO/ASCMeshReader.hpp index 90ce79f6ede..64432c15ae1 100644 --- a/src/IO/ASCMeshReader.hpp +++ b/src/IO/ASCMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/ASCMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ASC mesh reader class declaration \details ASC mesh reader class declaration. Mesh reader facilitating reading diff --git a/src/IO/CMakeLists.txt b/src/IO/CMakeLists.txt index fa1cf6f12b7..e21897e5042 100644 --- a/src/IO/CMakeLists.txt +++ b/src/IO/CMakeLists.txt @@ -36,6 +36,8 @@ add_library(NativeMeshIO STLTxtMeshReader.cpp NetgenMeshReader.cpp ASCMeshReader.cpp + UGRIDMeshReader.cpp + RDGFLOMeshReader.cpp GmshMeshWriter.cpp NetgenMeshWriter.cpp #SiloWriter.cpp @@ -113,7 +115,7 @@ if (HAS_OMEGA_H) ) endif() -if (HAS_ROOT) +if (HAS_ROOT AND ENABLE_FILECONV) add_library(RootMeshIO FileConvWriter.cpp RootMeshWriter.cpp) @@ -138,25 +140,26 @@ if (HAS_ROOT) ) endif() -add_library(HyperMeshIO - HyperMeshReader.cpp) - -target_include_directories(HyperMeshIO PUBLIC - ${QUINOA_SOURCE_DIR} - ${QUINOA_SOURCE_DIR}/Base - ${QUINOA_SOURCE_DIR}/Mesh - ${TPL_INCLUDE_DIR} - ${HIGHWAYHASH_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIRS}) - -set_target_properties(HyperMeshIO PROPERTIES LIBRARY_OUTPUT_NAME - quinoa_hypermeshio) - -INSTALL(TARGETS HyperMeshIO - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development -) +if (ENABLE_UNITTEST OR ENABLE_MESHCONV) + add_library(HyperMeshIO + HyperMeshReader.cpp) + + target_include_directories(HyperMeshIO PUBLIC + ${QUINOA_SOURCE_DIR} + ${QUINOA_SOURCE_DIR}/Base + ${QUINOA_SOURCE_DIR}/Mesh + ${TPL_INCLUDE_DIR} + ${HIGHWAYHASH_INCLUDE_DIRS} + ${PUGIXML_INCLUDE_DIRS}) + + set_target_properties(HyperMeshIO PROPERTIES LIBRARY_OUTPUT_NAME + quinoa_hypermeshio) + + INSTALL(TARGETS HyperMeshIO + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) +endif() add_library(MeshDetect MeshDetect.cpp) @@ -203,22 +206,29 @@ INSTALL(TARGETS MeshWriter addCharmModule( "meshwriter" "MeshWriter" ) -add_library(ParticleIO - H5PartWriter.cpp) +if (ENABLE_WALKER) + add_library(ParticleWriter + H5PartWriter.cpp + ParticleWriter.cpp) -target_include_directories(ParticleIO PUBLIC - ${QUINOA_SOURCE_DIR} - ${QUINOA_SOURCE_DIR}/Base - ${H5PART_INCLUDE_DIRS} - ${HDF5_INCLUDE_DIRS} - ${MPI_CXX_INCLUDE_DIRS} - ${MPI_CXX_INCLUDE_PATH}) + target_include_directories(ParticleWriter PUBLIC + ${QUINOA_SOURCE_DIR} + ${QUINOA_SOURCE_DIR}/Base + ${PROJECT_BINARY_DIR}/../IO + ${H5PART_INCLUDE_DIRS} + ${HDF5_INCLUDE_DIRS} + ${CHARM_INCLUDE_DIRS} + ${MPI_CXX_INCLUDE_DIRS} + ${MPI_CXX_INCLUDE_PATH}) -set_target_properties(ParticleIO PROPERTIES LIBRARY_OUTPUT_NAME - quinoa_particleio) + set_target_properties(ParticleWriter PROPERTIES LIBRARY_OUTPUT_NAME + quinoa_particlewriter) -INSTALL(TARGETS ParticleIO - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development -) + INSTALL(TARGETS ParticleWriter + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development + ) + + addCharmModule( "particlewriter" "ParticleWriter" ) +endif() diff --git a/src/IO/DiagWriter.cpp b/src/IO/DiagWriter.cpp index 9343edffb73..a55c2971a7e 100644 --- a/src/IO/DiagWriter.cpp +++ b/src/IO/DiagWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/DiagWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Text diagnostics writer declaration \details This file declares the ASCII diagnostics writer class that diff --git a/src/IO/DiagWriter.hpp b/src/IO/DiagWriter.hpp index 53045ee8483..b00ef6d8bd9 100644 --- a/src/IO/DiagWriter.hpp +++ b/src/IO/DiagWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/DiagWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Text diagnostics writer declaration \details This file declares the ASCII diagnostics writer class that @@ -46,6 +46,9 @@ class DiagWriter : public tk::Writer { tk::real dt, const std::vector< tk::real >& diagnostics ); + //! Precision accessor + int prec() const { return m_precision; } + private: int m_precision; //!< Floating-point precision in digits int m_width; //!< Floating-point number width diff --git a/src/IO/ExodusIIMeshReader.cpp b/src/IO/ExodusIIMeshReader.cpp index 583ce32a920..24e31ee57e4 100644 --- a/src/IO/ExodusIIMeshReader.cpp +++ b/src/IO/ExodusIIMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/ExodusIIMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ExodusII mesh reader \details ExodusII mesh reader class definition. @@ -46,6 +46,11 @@ ExodusIIMeshReader::ExodusIIMeshReader( const std::string& filename, //! \param[in] iowordsize Set I/O word size, see ExodusII documentation // ***************************************************************************** { + // Increase verbosity from ExodusII library in debug mode + #ifndef NDEBUG + ex_opts( EX_DEBUG | EX_VERBOSE ); + #endif + float version; m_inFile = ex_open( filename.c_str(), EX_READ, &cpuwordsize, &iowordsize, @@ -75,6 +80,11 @@ ExodusIIMeshReader::readMesh( UnsMesh& mesh ) readAllElements( mesh ); readAllNodes( mesh ); readSidesetFaces( mesh.bface(), mesh.faceid() ); + readTimeValues( mesh.vartimes() ); + readNodeVarNames( mesh.nodevarnames() ); + readNodeScalars( mesh.vartimes().size(), + mesh.nodevarnames().size(), + mesh.nodevars() ); } void @@ -827,6 +837,105 @@ ExodusIIMeshReader::triinpoel( return bnd_triinpoel; } +void +ExodusIIMeshReader::readNodeVarNames( std::vector< std::string >& nv ) const +// ***************************************************************************** +// Read the names of nodal output variables from ExodusII file +//! \param[in,out] nv Nodal variable names +// ***************************************************************************** +{ + #if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wvla" + #pragma clang diagnostic ignored "-Wvla-extension" + #elif defined(STRICT_GNUC) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wvla" + #endif + + int numvars = 0; + + ErrChk( + ex_get_variable_param( m_inFile, EX_NODE_BLOCK, &numvars ) == 0, + "Failed to read nodal output variable parameters from ExodusII file: " + + m_filename ); + + if (numvars) { + + char* names[ static_cast< std::size_t >( numvars ) ]; + for (int i=0; i( calloc((MAX_STR_LENGTH+1), sizeof(char)) ); + + ErrChk( ex_get_variable_names( m_inFile, + EX_NODAL, + numvars, + names ) == 0, + "Failed to read nodal variable names from ExodusII file: " + + m_filename ); + + nv.resize( static_cast< std::size_t >( numvars ) ); + std::size_t i = 0; + for (auto& n : nv) n = names[ i++ ]; + + } + + #if defined(__clang__) + #pragma clang diagnostic pop + #elif defined(STRICT_GNUC) + #pragma GCC diagnostic pop + #endif +} + +void +ExodusIIMeshReader::readTimeValues( std::vector< tk::real >& tv ) const +// ***************************************************************************** +// Read time values from ExodusII file +//! \param[in] tv Vector of time values at which field data is saved +// ***************************************************************************** +{ + auto num_time_steps = + static_cast< std::size_t >( ex_inquire_int( m_inFile, EX_INQ_TIME ) ); + + if (num_time_steps) { + tv.resize( num_time_steps, 0.0 ); + ErrChk( ex_get_all_times( m_inFile, tv.data() ) == 0, + "Failed to read time values from ExodusII file: " + m_filename ); + } +} + +void +ExodusIIMeshReader::readNodeScalars( + std::size_t ntime, + std::size_t nvar, + std::vector< std::vector< std::vector< tk::real > > >& var ) const +// ***************************************************************************** +// Read node scalar fields from ExodusII file +//! \param[in] ntime Number of time steps to read +//! \param[in] nvar Number of variables to read +//! \param[in] var Vector of nodal variables to read to: inner vector: nodes, +//! middle vector: (physics) variable, outer vector: time step +// ***************************************************************************** +{ + var.resize( ntime ); + for (auto& v : var) { + v.resize( nvar ); + for (auto& n : v) n.resize( m_nnode ); + } + + for (std::size_t t=0; t( t+1 ), + EX_NODAL, + static_cast< int >( id+1 ), + 1, + static_cast< int64_t >( var[t][id].size() ), + var[t][id].data() ) == 0, + "Failed to read node scalar from ExodusII file: " + m_filename ); + } + } +} + std::size_t ExodusIIMeshReader::nelem( tk::ExoElemType elemtype ) const // ***************************************************************************** diff --git a/src/IO/ExodusIIMeshReader.hpp b/src/IO/ExodusIIMeshReader.hpp index e3fb40129a0..a80d9ff555d 100644 --- a/src/IO/ExodusIIMeshReader.hpp +++ b/src/IO/ExodusIIMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/ExodusIIMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ExodusII mesh reader \details ExodusII mesh reader class declaration. @@ -62,6 +62,9 @@ class ExodusIIMeshReader { //! Read only connectivity graph from file void readGraph( UnsMesh& mesh ); + //! Return total number of mesh points in mesh file + std::size_t npoin() { return readHeader(); } + //! Read part of the mesh (graph and coords) from file //! \details Total number of PEs defaults to 1 for a single-CPU read, this //! PE defaults to 0 for a single-CPU read. @@ -119,6 +122,18 @@ class ExodusIIMeshReader { const std::vector< std::size_t >& ginpoel, const std::vector< std::size_t >& triinp ) const; + //! Read the names of nodal output variables from ExodusII file + void readNodeVarNames( std::vector< std::string >& nv ) const; + + //! Read time values from ExodusII file + void readTimeValues( std::vector< tk::real >& tv ) const; + + //! Read node scalar fields from ExodusII file + void readNodeScalars( + std::size_t ntime, + std::size_t nvar, + std::vector< std::vector< std::vector< tk::real > > >& var ) const; + //! Return number of elements in a mesh block in the ExodusII file std::size_t nelem( tk::ExoElemType elemtype ) const; diff --git a/src/IO/ExodusIIMeshWriter.cpp b/src/IO/ExodusIIMeshWriter.cpp index f29d21b4435..603be1e92c0 100644 --- a/src/IO/ExodusIIMeshWriter.cpp +++ b/src/IO/ExodusIIMeshWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/ExodusIIMeshWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ExodusII mesh-based data writer \details ExodusII mesh-based data writer class definition. @@ -36,7 +36,7 @@ ExodusIIMeshWriter::ExodusIIMeshWriter( const std::string& filename, // ***************************************************************************** { // Increase verbosity from ExodusII library in debug mode - #ifdef NDEBUG + #ifndef NDEBUG ex_opts( EX_DEBUG | EX_VERBOSE ); #endif @@ -83,18 +83,9 @@ ExodusIIMeshWriter::writeMesh( const UnsMesh& mesh ) const writeElements( mesh ); writeSidesets( mesh ); writeNodesets( mesh ); -} - -void -ExodusIIMeshWriter::writeMesh( const std::vector< std::size_t >& tetinp, - const UnsMesh::Coords& coord ) const -// ***************************************************************************** -// Write ExodusII mesh file taking inputs to a tk::UnsMesh object -//! \param[in] tetinp Tetrahedron element connectivity -//! \param[in] coord Node coordinates -// ***************************************************************************** -{ - writeMesh( tk::UnsMesh( tetinp, coord ) ); + writeTimeValues( mesh.vartimes() ); + writeNodeVarNames( mesh.nodevarnames() ); + writeNodeScalars( mesh.nodevars() ); } void @@ -375,6 +366,21 @@ ExodusIIMeshWriter::writeTimeStamp( uint64_t it, tk::real time ) const "Failed to write time stamp to ExodusII file: " + m_filename ); } +void +ExodusIIMeshWriter::writeTimeValues( const std::vector< tk::real >& tv ) const +// ***************************************************************************** +// Write time values to ExodusII file +//! \param[in] tv Time values for all time steps +// ***************************************************************************** +{ + int i = 0; + for (const auto& v : tv) { + ErrChk( ex_put_time( m_outFile, ++i, &v ) == 0, + "Failed to write time value for a time step to ExodusII file: " + + m_filename ); + } +} + void ExodusIIMeshWriter::writeNodeVarNames( const std::vector< std::string >& nv ) const @@ -463,6 +469,27 @@ const } } +void +ExodusIIMeshWriter::writeNodeScalars( + const std::vector< std::vector< std::vector< tk::real > > >& var ) const +// ***************************************************************************** +// Write multiple node scalar fields to ExodusII file at multiple time steps +//! \param[in] var Vector of nodal variables to read to: inner vector: nodes, +//! middle vector: (physics) variable, outer vector: time step +// ***************************************************************************** +{ + uint64_t time = 0; + int varid = 0; + + for (const auto& t : var) { // for all times + ++time; + for (const auto& v : t) { // for all variables + writeNodeScalar( time, ++varid, v ); + } + varid = 0; + } +} + void ExodusIIMeshWriter::writeNodeScalar( uint64_t it, int varid, diff --git a/src/IO/ExodusIIMeshWriter.hpp b/src/IO/ExodusIIMeshWriter.hpp index a63b9117a78..db92ce8ea65 100644 --- a/src/IO/ExodusIIMeshWriter.hpp +++ b/src/IO/ExodusIIMeshWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/ExodusIIMeshWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ExodusII mesh-based data writer \details ExodusII mesh-based data writer class declaration. @@ -59,18 +59,36 @@ class ExodusIIMeshWriter { const; //! Write ExodusII mesh file taking inputs to a tk::UnsMesh object - void writeMesh( const std::vector< std::size_t >& tetinp, - const UnsMesh::Coords& coord ) const; + //! \tparam nnode 3 or 4, indicating a triangle or tetrahedron mesh + //! \param[in] inpoel Element connectivity + //! \param[in] coord Node coordinates + template< std::size_t nnode > + void writeMesh( const std::vector< std::size_t >& inpoel, + const UnsMesh::Coords& coord ) const + { + if (nnode == 4) + writeMesh( tk::UnsMesh( inpoel, coord ) ); + else if (nnode == 3) + writeMesh( tk::UnsMesh( coord, inpoel ) ); + } //! Write time stamp to ExodusII file void writeTimeStamp( uint64_t it, tk::real time ) const; + //! Write time values to ExodusII file + void writeTimeValues( const std::vector< tk::real >& tv ) const; + //! Write the names of nodal output variables to ExodusII file void writeNodeVarNames( const std::vector< std::string >& nv ) const; //! Write the names of element output variables to ExodusII file void writeElemVarNames( const std::vector< std::string >& ev ) const; + //! \brief Write multiple node scalar fields to ExodusII file at multiple + //! time steps + void writeNodeScalars( + const std::vector< std::vector< std::vector< tk::real > > >& var ) const; + //! Write node scalar field to ExodusII file void writeNodeScalar( uint64_t it, int varid, @@ -83,13 +101,13 @@ class ExodusIIMeshWriter { //! Write header without mesh, function overloading void writeHeader( const char* title, int64_t ndim, int64_t nnodes, - int64_t nelem, int64_t nblk, int64_t node_set, - int64_t side_set) const; + int64_t nelem, int64_t nblk, int64_t node_set, + int64_t side_set ) const; //! Write nodes without mesh, function overloading. void writeNodes( const std::vector< tk::real >& x, - const std::vector< tk::real >& y, - const std::vector< tk::real >& z ) const; + const std::vector< tk::real >& y, + const std::vector< tk::real >& z ) const; //! Write element block to ExodusII file void writeElemBlock( int& elclass, diff --git a/src/IO/FileConvWriter.cpp b/src/IO/FileConvWriter.cpp index b5fa0c80323..e22989cee76 100644 --- a/src/IO/FileConvWriter.cpp +++ b/src/IO/FileConvWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/FileConvWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Converter Writer Files \details Convert the input file written by RootMeshWriter into ExodusII diff --git a/src/IO/FileConvWriter.hpp b/src/IO/FileConvWriter.hpp index 3d747ad0993..dfeed583c80 100644 --- a/src/IO/FileConvWriter.hpp +++ b/src/IO/FileConvWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/FileConvWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Convert the input files to output file format \details Convert the input file in ROOT format to the ExodusII layout diff --git a/src/IO/GmshMeshIO.hpp b/src/IO/GmshMeshIO.hpp index 265f722847f..aacb6048b64 100644 --- a/src/IO/GmshMeshIO.hpp +++ b/src/IO/GmshMeshIO.hpp @@ -3,7 +3,7 @@ \file src/IO/GmshMeshIO.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Gmsh mesh reader and writer related types \details Gmsh mesh reader and writer related types. diff --git a/src/IO/GmshMeshReader.cpp b/src/IO/GmshMeshReader.cpp index dff2a91b12a..14776149ac7 100644 --- a/src/IO/GmshMeshReader.cpp +++ b/src/IO/GmshMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/GmshMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Gmsh mesh reader class definition \details Gmsh mesh reader class definition. Currently, this class supports @@ -24,7 +24,7 @@ #include "GmshMeshReader.hpp" #include "GmshMeshIO.hpp" #include "Reorder.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" using tk::GmshMeshReader; diff --git a/src/IO/GmshMeshReader.hpp b/src/IO/GmshMeshReader.hpp index e52116dd80c..1716d29bfff 100644 --- a/src/IO/GmshMeshReader.hpp +++ b/src/IO/GmshMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/GmshMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Gmsh mesh reader class declaration \details Gmsh mesh reader class declaration. Currently, this class supports diff --git a/src/IO/GmshMeshWriter.cpp b/src/IO/GmshMeshWriter.cpp index 4aaf4b06a6a..756460116fc 100644 --- a/src/IO/GmshMeshWriter.cpp +++ b/src/IO/GmshMeshWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/GmshMeshWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Gmsh mesh writer class definition \details Gmsh mesh writer class definition. Currently, this class supports @@ -21,7 +21,7 @@ #include "Exception.hpp" #include "UnsMesh.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" #include "GmshMeshWriter.hpp" #include "GmshMeshIO.hpp" diff --git a/src/IO/GmshMeshWriter.hpp b/src/IO/GmshMeshWriter.hpp index e961501a491..649496c6036 100644 --- a/src/IO/GmshMeshWriter.hpp +++ b/src/IO/GmshMeshWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/GmshMeshWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Gmsh mesh writer class declaration \details Gmsh mesh writer class declaration. Currently, this class supports diff --git a/src/IO/H5PartWriter.cpp b/src/IO/H5PartWriter.cpp index d36026dabd4..7fa021cae63 100644 --- a/src/IO/H5PartWriter.cpp +++ b/src/IO/H5PartWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/H5PartWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief H5Part particles data writer \details H5Part particles data writer class definition, facilitating writing diff --git a/src/IO/H5PartWriter.hpp b/src/IO/H5PartWriter.hpp index e76dd668248..117687926ce 100644 --- a/src/IO/H5PartWriter.hpp +++ b/src/IO/H5PartWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/H5PartWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief H5Part particles data writer \details H5Part particles data writer class declaration, facilitating diff --git a/src/IO/HyperMeshReader.cpp b/src/IO/HyperMeshReader.cpp index 10e8d18154e..575a6f4ba8b 100644 --- a/src/IO/HyperMeshReader.cpp +++ b/src/IO/HyperMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/HyperMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Hyper mesh reader class definition \details Hyper mesh reader class definition. Only supports tetrahedra. diff --git a/src/IO/HyperMeshReader.hpp b/src/IO/HyperMeshReader.hpp index 566bfa4d686..8a8d25349e9 100644 --- a/src/IO/HyperMeshReader.hpp +++ b/src/IO/HyperMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/HyperMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Hyper mesh reader class declaration \details Hyper mesh reader class declaration. Only supports tetrahedra. diff --git a/src/IO/MeshDetect.cpp b/src/IO/MeshDetect.cpp index 3d6cf3600d6..1d1f722f3d9 100644 --- a/src/IO/MeshDetect.cpp +++ b/src/IO/MeshDetect.cpp @@ -3,7 +3,7 @@ \file src/IO/MeshDetect.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unstructured mesh file format detection \details Unstructured mesh file format detection functions. @@ -60,6 +60,10 @@ detectInput( const std::string& filename ) return MeshReaderType::HYPER; } else if ( s.find("*nd") != std::string::npos ) { return MeshReaderType::ASC; + } else if ( s.find(" ") != std::string::npos ) { + return MeshReaderType::UGRID; + } else if ( s.find(" npo") != std::string::npos ) { + return MeshReaderType::RDGFLO; } else { try { // cppcheck-suppress ignoredReturnValue diff --git a/src/IO/MeshDetect.hpp b/src/IO/MeshDetect.hpp index 715d7128630..a75f7f79cd3 100644 --- a/src/IO/MeshDetect.hpp +++ b/src/IO/MeshDetect.hpp @@ -3,7 +3,7 @@ \file src/IO/MeshDetect.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unstructured mesh file format detection \details Unstructured mesh file format detection functions. @@ -17,17 +17,21 @@ namespace tk { //! Supported mesh readers -enum class MeshReaderType : uint8_t { GMSH=0, - NETGEN, - EXODUSII, - HYPER, - ASC, - OMEGA_H }; +enum class MeshReaderType : uint8_t { GMSH = 0 + , NETGEN + , EXODUSII + , HYPER + , ASC + , OMEGA_H + , UGRID + , RDGFLO + }; //! Supported mesh writers -enum class MeshWriterType : uint8_t { GMSH=0, - NETGEN, - EXODUSII }; +enum class MeshWriterType : uint8_t { GMSH = 0 + , NETGEN + , EXODUSII + }; //! Detect input mesh file type MeshReaderType diff --git a/src/IO/MeshFactory.cpp b/src/IO/MeshFactory.cpp index 5c85f0495a5..c7e3458169c 100644 --- a/src/IO/MeshFactory.cpp +++ b/src/IO/MeshFactory.cpp @@ -3,7 +3,7 @@ \file src/IO/MeshFactory.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unstructured mesh reader and writer factory \details Unstructured mesh reader and writer factory. @@ -20,6 +20,8 @@ #include "NetgenMeshReader.hpp" #include "ExodusIIMeshReader.hpp" #include "HyperMeshReader.hpp" +#include "UGRIDMeshReader.hpp" +#include "RDGFLOMeshReader.hpp" #include "ASCMeshReader.hpp" #include "NetgenMeshWriter.hpp" #include "GmshMeshWriter.hpp" @@ -47,7 +49,7 @@ readUnsMesh( const tk::Print& print, //! \return Unstructured mesh object // ***************************************************************************** { - print.diagstart( "Reading mesh from file ..." ); + print.diagstart( "Reading mesh from file '" + filename + "' ..." ); // Read in mesh tk::Timer t; @@ -65,10 +67,15 @@ readUnsMesh( const tk::Print& print, ExodusIIMeshReader( filename ).readMesh( mesh ); else if (meshtype == MeshReaderType::ASC) ASCMeshReader( filename ).readMesh( mesh ); + else if (meshtype == MeshReaderType::UGRID) + UGRIDMeshReader( filename ).readMesh( mesh ); + else if (meshtype == MeshReaderType::RDGFLO) + RDGFLOMeshReader( filename ).readMesh( mesh ); else if (meshtype == MeshReaderType::HYPER) HyperMeshReader( filename ).readMesh( mesh ); - timestamp = std::make_pair( "Read mesh from file", t.dsec() ); + timestamp = + std::make_pair( "Read mesh from file '" + filename + '\'', t.dsec() ); print.diagend( "done" ); @@ -154,7 +161,7 @@ writeUnsMesh( const tk::Print& print, t.zero(); } - print.diagstart( "Writing mesh to file ..." ); + print.diagstart( "Writing mesh to file '" + filename + "' ..." ); const auto meshtype = pickOutput( filename ); diff --git a/src/IO/MeshFactory.hpp b/src/IO/MeshFactory.hpp index 1a025bf1fbb..b2109d07a8b 100644 --- a/src/IO/MeshFactory.hpp +++ b/src/IO/MeshFactory.hpp @@ -3,7 +3,7 @@ \file src/IO/MeshFactory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unstructured mesh reader and writer factory \details Unstructured mesh reader and writer factory. diff --git a/src/IO/MeshReader.hpp b/src/IO/MeshReader.hpp index eb3f05d1edd..3ca9f4ec94a 100644 --- a/src/IO/MeshReader.hpp +++ b/src/IO/MeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/MeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Polymorphic mesh reader class for connecting to various readers \brief Polymorphic mesh reader class for connecting to various lower @@ -57,6 +57,9 @@ class MeshReader { } else Throw( "Mesh type not implemented or not supported" ); } + //! Public interface to return the total number of nodes in mesh file + std::size_t npoin() { return self->npoin(); } + //! Public interface to read part of the mesh (graph and coords) from file //! \details Total number of PEs defaults to 1 for a single-CPU read, this //! PE defaults to 0 for a single-CPU read. @@ -107,6 +110,7 @@ class MeshReader { Concept( const Concept& ) = default; virtual ~Concept() = default; virtual Concept* copy() const = 0; + virtual std::size_t npoin() = 0; virtual void readMeshPart( std::vector< std::size_t >&, std::vector< std::size_t >&, @@ -133,6 +137,7 @@ class MeshReader { struct Model : Concept { Model( T x ) : data( std::move(x) ) {} Concept* copy() const override { return new Model( *this ); } + std::size_t npoin() override { return data.npoin(); } void readMeshPart( std::vector< std::size_t >& ginpoel, std::vector< std::size_t >& inpoel, std::vector< std::size_t >& triinp, diff --git a/src/IO/MeshWriter.cpp b/src/IO/MeshWriter.cpp index 456bcbaf45a..5c7cfba4b06 100644 --- a/src/IO/MeshWriter.cpp +++ b/src/IO/MeshWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/MeshWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ group for outputing mesh data to file \details Charm++ group definition used to output data associated to @@ -15,6 +15,7 @@ #include "QuinoaConfig.hpp" #include "MeshWriter.hpp" +#include "Reorder.hpp" #include "ExodusIIMeshWriter.hpp" #ifdef HAS_ROOT @@ -69,8 +70,11 @@ MeshWriter::write( const std::vector< std::size_t >& triinpoel, const std::vector< std::string >& elemfieldnames, const std::vector< std::string >& nodefieldnames, + const std::vector< std::string >& nodesurfnames, const std::vector< std::vector< tk::real > >& elemfields, const std::vector< std::vector< tk::real > >& nodefields, + const std::vector< std::vector< tk::real > >& nodesurfs, + const std::set< int >& outsets, CkCallback c ) // ***************************************************************************** // Output unstructured mesh into file @@ -93,42 +97,90 @@ MeshWriter::write( //! mesh chunk with local ids //! \param[in] elemfieldnames Names of element fields to be output to file //! \param[in] nodefieldnames Names of node fields to be output to file +//! \param[in] nodesurfnames Names of node surface fields to be output to file //! \param[in] elemfields Field data in mesh elements to output to file //! \param[in] nodefields Field data in mesh nodes to output to file +//! \param[in] nodesurfs Surface field data in mesh nodes to output to file +//! \param[in] outsets Unique set of surface side set ids along which to save +//! solution field variables //! \param[in] c Function to continue with after the write // ***************************************************************************** { if (!m_benchmark) { - auto f = filename( basefilename, itr, chareid ); + // Generate filenames for volume and surface field output + auto vf = filename( basefilename, itr, chareid ); if (meshoutput) { #ifdef HAS_ROOT if (m_filetype == ctr::FieldFileType::ROOT) { - RootMeshWriter rmw( f, 0 ); + RootMeshWriter rmw( vf, 0 ); rmw.writeMesh( UnsMesh( inpoel, coord ) ); rmw.writeNodeVarNames( nodefieldnames ); } else #endif if (m_filetype == ctr::FieldFileType::EXODUSII) { - ExodusIIMeshWriter ew( f, ExoWriter::CREATE ); + + // Write volume mesh and field names + ExodusIIMeshWriter ev( vf, ExoWriter::CREATE ); // Write chare mesh (do not write side sets in parallel) if (m_nchare == 1) { if (m_bndCentering == Centering::ELEM) - ew.writeMesh( inpoel, coord, bface, triinpoel ); + ev.writeMesh( inpoel, coord, bface, triinpoel ); else if (m_bndCentering == Centering::NODE) - ew.writeMesh( inpoel, coord, bnode ); + ev.writeMesh( inpoel, coord, bnode ); else Throw( "Centering not handled for writing mesh" ); } else { - ew.writeMesh( inpoel, coord ); + ev.writeMesh< 4 >( inpoel, coord ); + } + ev.writeElemVarNames( elemfieldnames ); + Assert( nodefieldnames.size() == nodefields.size(), "Size mismatch" ); + ev.writeNodeVarNames( nodefieldnames ); + + // Write surface meshes and surface variable field names + for (auto s : outsets) { + auto sf = filename( basefilename, itr, chareid, s ); + ExodusIIMeshWriter es( sf, ExoWriter::CREATE ); + auto b = bface.find(s); + if (b == end(bface)) { + // If a side set does not exist on a chare, write out a + // connectivity for a single triangle with its node coordinates of + // zero. This is so the paraview series reader can load side sets + // distributed across multiple files. See also + // https://www.paraview.org/Wiki/Restarted_Simulation_Readers. + es.writeMesh< 3 >( std::vector< std::size_t >{1,2,3}, + UnsMesh::Coords{{ {{0,0,0}}, {{0,0,0}}, {{0,0,0}} }} ); + es.writeNodeVarNames( nodesurfnames ); + continue; + } + std::vector< std::size_t > nodes; + for (auto f : b->second) { + nodes.push_back( triinpoel[f*3+0] ); + nodes.push_back( triinpoel[f*3+1] ); + nodes.push_back( triinpoel[f*3+2] ); + } + auto [inp,gid,lid] = tk::global2local( nodes ); + tk::unique( nodes ); + auto nnode = nodes.size(); + UnsMesh::Coords scoord; + scoord[0].resize( nnode ); + scoord[1].resize( nnode ); + scoord[2].resize( nnode ); + std::size_t j = 0; + for (auto i : nodes) { + scoord[0][j] = coord[0][i]; + scoord[1][j] = coord[1][i]; + scoord[2][j] = coord[2][i]; + ++j; + } + es.writeMesh< 3 >( inp, scoord ); + es.writeNodeVarNames( nodesurfnames ); } - // Write field names - ew.writeElemVarNames( elemfieldnames ); - ew.writeNodeVarNames( nodefieldnames ); + } } @@ -136,7 +188,7 @@ MeshWriter::write( #ifdef HAS_ROOT if (m_filetype == ctr::FieldFileType::ROOT) { - RootMeshWriter rw( f, 1 ); + RootMeshWriter rw( vf, 1 ); rw.writeTimeStamp( itf, time ); int varid = 0; for (const auto& v : nodefields) rw.writeNodeScalar( itf, ++varid, v ); @@ -145,12 +197,35 @@ MeshWriter::write( #endif if (m_filetype == ctr::FieldFileType::EXODUSII) { - ExodusIIMeshWriter ew( f, ExoWriter::OPEN ); - ew.writeTimeStamp( itf, time ); + // Write volume variable fields + ExodusIIMeshWriter ev( vf, ExoWriter::OPEN ); + ev.writeTimeStamp( itf, time ); + // Write volume element variable fields int varid = 0; - for (const auto& v : elemfields) ew.writeElemScalar( itf, ++varid, v ); + for (const auto& v : elemfields) ev.writeElemScalar( itf, ++varid, v ); + // Write volume node variable fields varid = 0; - for (const auto& v : nodefields) ew.writeNodeScalar( itf, ++varid, v ); + for (const auto& v : nodefields) ev.writeNodeScalar( itf, ++varid, v ); + + // Write surface node variable fields + std::size_t j = 0; + auto nvar = static_cast< int >( nodesurfnames.size() ) ; + for (auto s : outsets) { + auto sf = filename( basefilename, itr, chareid, s ); + ExodusIIMeshWriter es( sf, ExoWriter::OPEN ); + es.writeTimeStamp( itf, time ); + if (bface.find(s) == end(bface)) { + // If a side set does not exist on a chare, write out a + // a node field for a single triangle with zeros. This is so the + // paraview series reader can load side sets distributed across + // multiple files. See also + // https://www.paraview.org/Wiki/Restarted_Simulation_Readers. + for (int i=1; i<=nvar; ++i) es.writeNodeScalar( itf, i, {0,0,0} ); + continue; + } + for (int i=1; i<=nvar; ++i) + es.writeNodeScalar( itf, i, nodesurfs[j++] ); + } } } @@ -163,13 +238,15 @@ MeshWriter::write( std::string MeshWriter::filename( const std::string& basefilename, uint64_t itr, - int chareid ) const + int chareid, + int surfid ) const // ***************************************************************************** // Compute filename //! \param[in] basefilename String use as the base filename. //! \param[in] itr Iteration count since a new mesh. New mesh in this context //! means that either the mesh is moved and/or its topology has changed. //! \param[in] chareid The chare id the write-to-file request is coming from +//! \param[in] surfid Surface ID if computing a surface filename //! \details We use a file naming convention for large field output data that //! allows ParaView to glue multiple files into a single simulation output by //! only loading a single file. The base filename is followed by ".e-s.", @@ -189,7 +266,8 @@ MeshWriter::filename( const std::string& basefilename, //! \see https://www.paraview.org/Wiki/Restarted_Simulation_Readers // ***************************************************************************** { - return basefilename + ".e-s" + return basefilename + (surfid ? "-surf." + std::to_string(surfid) : "") + + ".e-s" + '.' + std::to_string( itr ) // iteration count with new mesh + '.' + std::to_string( m_nchare ) // total number of workers + '.' + std::to_string( chareid ) // new file per worker diff --git a/src/IO/MeshWriter.hpp b/src/IO/MeshWriter.hpp index d0a73730696..051074679ee 100644 --- a/src/IO/MeshWriter.hpp +++ b/src/IO/MeshWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/MeshWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ group for outputing mesh data to file \details Charm++ group declaration used to output data associated to @@ -66,8 +66,11 @@ class MeshWriter : public CBase_MeshWriter { const std::vector< std::size_t >& triinpoel, const std::vector< std::string >& elemfieldnames, const std::vector< std::string >& nodefieldnames, + const std::vector< std::string >& nodesurfnames, const std::vector< std::vector< tk::real > >& elemfields, const std::vector< std::vector< tk::real > >& nodefields, + const std::vector< std::vector< tk::real > >& nodesurfs, + const std::set< int >& outsets, CkCallback c ); /** @name Charm++ pack/unpack serializer member functions */ @@ -95,14 +98,14 @@ class MeshWriter : public CBase_MeshWriter { Centering m_bndCentering; //! True if benchmark mode bool m_benchmark; - //! Total number chares across the whole problem int m_nchare; //! Compute filename std::string filename( const std::string& basefilename, uint64_t itr, - int chareid ) const; + int chareid, + int surfid = 0 ) const; }; } // tk:: diff --git a/src/IO/NetgenMeshReader.cpp b/src/IO/NetgenMeshReader.cpp index 9fe0ecb1c80..0f95ecb6244 100644 --- a/src/IO/NetgenMeshReader.cpp +++ b/src/IO/NetgenMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/NetgenMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Netgen mesh reader class definition \details Netgen mesh reader class definition. Only supports tetrahedra. diff --git a/src/IO/NetgenMeshReader.hpp b/src/IO/NetgenMeshReader.hpp index 1daa4db4dfc..d38815fe2e0 100644 --- a/src/IO/NetgenMeshReader.hpp +++ b/src/IO/NetgenMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/NetgenMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Netgen mesh reader class declaration \details Netgen mesh reader class declaration. Only supports tetrahedra. diff --git a/src/IO/NetgenMeshWriter.cpp b/src/IO/NetgenMeshWriter.cpp index f49115f49cc..0b50cd51802 100644 --- a/src/IO/NetgenMeshWriter.cpp +++ b/src/IO/NetgenMeshWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/NetgenMeshWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Netgen mesh writer class definition \details Netgen mesh writer class definition. Only supports tetrahedra. diff --git a/src/IO/NetgenMeshWriter.hpp b/src/IO/NetgenMeshWriter.hpp index 0af0a85d594..d5543ef6723 100644 --- a/src/IO/NetgenMeshWriter.hpp +++ b/src/IO/NetgenMeshWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/NetgenMeshWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Netgen mesh writer class declaration \details Netgen mesh writer class declaration. Only supports tetrahedra. diff --git a/src/IO/Omega_h_MeshReader.cpp b/src/IO/Omega_h_MeshReader.cpp index 34e862f92e1..2aca5cd2a4e 100644 --- a/src/IO/Omega_h_MeshReader.cpp +++ b/src/IO/Omega_h_MeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/Omega_h_MeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Omega_h mesh reader \details Omega_h mesh reader class definition. diff --git a/src/IO/Omega_h_MeshReader.hpp b/src/IO/Omega_h_MeshReader.hpp index 7e2ae079fb1..5fa756b035f 100644 --- a/src/IO/Omega_h_MeshReader.hpp +++ b/src/IO/Omega_h_MeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/Omega_h_MeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Omega_h mesh reader \details Omega_h mesh reader class declaration. @@ -34,6 +34,9 @@ class Omega_h_MeshReader { explicit Omega_h_MeshReader( const std::string& filename ) : m_filename( filename ) {} + //! Return total number of mesh points in mesh file + std::size_t npoin() { return 0; } + //! Read part of the mesh (graph and coords) from Omega_h file //! \details Total number of PEs defaults to 1 for a single-CPU read, this //! PE defaults to 0 for a single-CPU read. diff --git a/src/IO/PDFWriter.cpp b/src/IO/PDFWriter.cpp index d2f48c97817..b2d2cb116ed 100644 --- a/src/IO/PDFWriter.cpp +++ b/src/IO/PDFWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/PDFWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Univariate PDF writer \brief PDF writer class definition @@ -403,14 +403,14 @@ PDFWriter::writeGmshTxt( const BiPDF& pdf, // If no user-specified sample space extents, output pdf map directly if (uext.empty()) { - std::vector< bool > out( nbix*nbiy, false ); // indicate bins filled + std::vector< int > out( nbix*nbiy, 0 ); // indicate bins filled (1) for (const auto& p : pdf.map()) { const auto bin = (p.first[1] - ext[2]) * static_cast(nbix) + (p.first[0] - ext[0]) % static_cast(nbix); Assert( bin >= 0, "Bin underflow in PDFWriter::writeGmshTxt()." ); Assert( static_cast(bin) < nbix*nbiy, "Bin overflow in PDFWriter::writeGmshTxt()." ); - out[ static_cast(bin) ] = true; + out[ static_cast(bin) ] = 1; m_outFile << bin+1 << '\t' << p.second / binsize[0] / binsize[1] / static_cast(pdf.nsample()) @@ -419,7 +419,7 @@ PDFWriter::writeGmshTxt( const BiPDF& pdf, // Output bins nonexistent in PDF (gmsh sometimes fails to plot the exiting // bins if holes exist in the data, it also looks better as zero than holes) for (std::size_t i=0; i out( nbix*nbiy*nbiz, false ); // indicate bins filled + std::vector< int > out( nbix*nbiy*nbiz, 0 ); // indicate bins filled for (const auto& q : pdf.map()) { const auto bin = (q.first[2] - ext[4]) * static_cast(nbix*nbiy) + (q.first[1] - ext[2]) * static_cast(nbix) + @@ -536,7 +536,7 @@ PDFWriter::writeGmshTxt( const TriPDF& pdf, Assert( bin >= 0, "Bin underflow in PDFWriter::writeGmshTxt()." ); Assert( static_cast(bin) < nbix*nbiy*nbiz, "Bin overflow in PDFWriter::writeGmshTxt()." ); - out[ static_cast(bin) ] = true; + out[ static_cast(bin) ] = 1 ; m_outFile << bin+1 << '\t' << q.second / binsize[0] / binsize[1] / binsize[2] / static_cast(pdf.nsample()) @@ -545,7 +545,7 @@ PDFWriter::writeGmshTxt( const TriPDF& pdf, // Output bins nonexistent in PDF (gmsh sometimes fails to plot the exiting // bins if holes exist in the data, it also looks better as zero than holes) for (std::size_t i=0; i out( nbix*nbiy, false ); // indicate bins filled + std::vector< int > out( nbix*nbiy, 0 ); // indicate bins filled for (const auto& p : pdf.map()) { const auto bin = (p.first[1] - ext[2]) * static_cast(nbix) + (p.first[0] - ext[0]) % static_cast(nbix); Assert( bin >= 0, "Bin underflow in PDFWriter::writeGmshBin()." ); Assert( static_cast(bin) < nbix*nbiy, "Bin overflow in PDFWriter::writeGmshBin()." ); - out[ static_cast(bin) ] = true; + out[ static_cast(bin) ] = 1; auto id = static_cast(bin+1); tk::real prob = p.second / binsize[0] / binsize[1] / static_cast(pdf.nsample()); @@ -683,7 +683,7 @@ PDFWriter::writeGmshBin( const BiPDF& pdf, // bins if holes exist in the data, it also looks better as zero than holes) tk::real prob = 0.0; for (std::size_t i=0; i(i+1); m_outFile.write( reinterpret_cast< char* >( &id ), sizeof(int) ); m_outFile.write( reinterpret_cast< char* >( &prob ), sizeof(tk::real) ); @@ -821,7 +821,7 @@ PDFWriter::writeGmshBin( const TriPDF& pdf, // If no user-specified sample space extents, output pdf map directly if (uext.empty()) { - std::vector< bool > out( nbix*nbiy*nbiz, false ); // indicate bins filled + std::vector< int > out( nbix*nbiy*nbiz, 0 ); // indicate bins filled for (const auto& q : pdf.map()) { const auto bin = (q.first[2] - ext[4]) * static_cast(nbix*nbiy) + (q.first[1] - ext[2]) * static_cast(nbix) + @@ -829,7 +829,7 @@ PDFWriter::writeGmshBin( const TriPDF& pdf, Assert( bin >= 0, "Bin underflow in PDFWriter::writeGmshBin()." ); Assert( static_cast(bin) < nbix*nbiy*nbiz, "Bin overflow in PDFWriter::writeGmshBin()." ); - out[ static_cast(bin) ] = true; + out[ static_cast(bin) ] = 1; auto id = static_cast(bin+1); tk::real prob = q.second / binsize[0] / binsize[1] / binsize[2] / static_cast(pdf.nsample()); @@ -840,7 +840,7 @@ PDFWriter::writeGmshBin( const TriPDF& pdf, // bins if holes exist in the data, it also looks better as zero than holes) tk::real prob = 0.0; for (std::size_t i=0; i(i+1); m_outFile.write( reinterpret_cast< char* >( &id ), sizeof(int) ); m_outFile.write( reinterpret_cast< char* >( &prob ), sizeof(tk::real) ); diff --git a/src/IO/PDFWriter.hpp b/src/IO/PDFWriter.hpp index 0c6a61bb965..2e13035cf65 100644 --- a/src/IO/PDFWriter.hpp +++ b/src/IO/PDFWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/PDFWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief PDF writer class declaration \details This file declares a PDF writer class that facilitates outputing diff --git a/src/IO/ParticleWriter.cpp b/src/IO/ParticleWriter.cpp index 760fb391dc6..7309627e34b 100644 --- a/src/IO/ParticleWriter.cpp +++ b/src/IO/ParticleWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/ParticleWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ group for outputing particle data to file via H5Part \details Charm++ group for outputing particle data to file via H5Part in @@ -12,5 +12,55 @@ // ***************************************************************************** #include "ParticleWriter.hpp" +#include "Exception.hpp" -#include "particlewriter.def.h" +using tk::ParticleWriter; + +void +ParticleWriter::npar( std::size_t n, CkCallback c ) +// ***************************************************************************** +// Chares contribute their number of particles they will output on my node +//! \param[in] n Number of particles will be contributed +//! \param[in] c Function to continue with +// ***************************************************************************** +{ + m_npar += n; + c.send(); +} + +void +ParticleWriter::writeCoords( uint64_t it, + const std::vector< tk::real >& x, + const std::vector< tk::real >& y, + const std::vector< tk::real >& z, + CkCallback c ) +// ***************************************************************************** +// Write particle coordinates to file +//! \param[in] it Output iteration count +//! \param[in] x X coordinates of particles +//! \param[in] y Y coordinates of particles +//! \param[in] z Z coordinates of particles +//! \param[in] c Function to continue with after the write is complete +// ***************************************************************************** +{ + Assert( x.size() == y.size() && y.size() == z.size(), + "Particle coordinates array sizes mismatch" ); + + // buffer up coordinates + m_x.insert( end(m_x), begin(x), end(x) ); + m_y.insert( end(m_y), begin(y), end(y) ); + m_z.insert( end(m_z), begin(z), end(z) ); + + // if received from all chares on my PE, write to file + if (m_x.size() == m_npar) { + m_writer.writeCoords( it, m_x, m_y, m_z ); + m_npar = 0; + m_x.clear(); + m_y.clear(); + m_z.clear(); + } + + c.send(); +} + +#include "NoWarning/particlewriter.def.h" diff --git a/src/IO/ParticleWriter.hpp b/src/IO/ParticleWriter.hpp index 0f5fc617e1c..82db738ac35 100644 --- a/src/IO/ParticleWriter.hpp +++ b/src/IO/ParticleWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/ParticleWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ group for outputing particle data to file via H5Part \details Charm++ group for outputing particle data to file via H5Part in @@ -16,157 +16,44 @@ #include #include -#include "Exception.hpp" #include "H5PartWriter.hpp" #include "NoWarning/particlewriter.decl.h" -#include "NoWarning/transporter.decl.h" namespace tk { //! \brief Charm++ group used to output particle data to file in parallel using //! H5Part and MPI-IO -template< class HostProxy > -class ParticleWriter : public CBase_ParticleWriter< HostProxy > { +class ParticleWriter : public CBase_ParticleWriter { public: //! Constructor - //! \param[in] host Host proxy //! \param[in] filename Filename of particle output file - //! \details It is okay to call this constructor with empty filename. In - //! that case no IO will be performed. This is basically a punt to enable - //! skipping H5Part I/O. Particles are a highly experimental feature at - //! this point. - explicit ParticleWriter( const HostProxy& host, - const std::string& filename ) : - m_host( host ), + explicit ParticleWriter( const std::string& filename ) : m_writer( filename ), m_npar( 0 ), - m_nchare( 0 ), m_x(), m_y(), m_z() {} - //! Chares contribute their number of particles they will output on my PE - //! \param[in] n Number of particles will be contributed - //! \note This function does not have to be declared as a Charm++ entry - //! method since it is always called by chares on the same PE. - void npar( std::size_t n ) { m_npar += n; } + //! Chares contribute their number of particles they will output on my node + void npar( std::size_t n, CkCallback c ); - //! Receive, buffer, and write particle coordinates to file - //! \param[in] nchare Number of chares that contribute - //! \param[in] it Iteration count - //! \param[in] x X coordinates of particles - //! \param[in] y Y coordinates of particles - //! \param[in] z Z coordinates of particles - //! \note This function does not have to be declared as a Charm++ entry - //! method since it is always called by chares on the same PE. - void writeCoords( std::size_t nchare, - uint64_t it, + //! Write particle coordinates to file + void writeCoords( uint64_t it, const std::vector< tk::real >& x, const std::vector< tk::real >& y, - const std::vector< tk::real >& z ) - { - if (m_npar == 0 && ++m_nchare == nchare) { - signal2host_outcomplete( m_host ); - m_nchare = 0; - return; - } - Assert( x.size() == y.size() && y.size() == z.size(), - "Particle coordinates array sizes mismatch" ); - // buffer up coordinates - m_x.insert( end(m_x), begin(x), end(x) ); - m_y.insert( end(m_y), begin(y), end(y) ); - m_z.insert( end(m_z), begin(z), end(z) ); - // if received from all chares on my PE, write to file - if (++m_nchare == nchare) { - m_writer.writeCoords( it, m_x, m_y, m_z ); - signal2host_outcomplete( m_host ); - m_x.clear(); // prepare for next step - m_y.clear(); - m_z.clear(); - m_npar = 0; - m_nchare = 0; - } - } + const std::vector< tk::real >& z, + CkCallback c ); private: - HostProxy m_host; //!< Host proxy used for communication tk::H5PartWriter m_writer; //!< Particle file format writer - uint64_t m_npar; //!< Number of particles to be written - std::size_t m_nchare; //!< Number of chares contributed + std::size_t m_npar; //!< Number of particles to be written std::vector< tk::real > m_x; //!< Buffer collecting x coordinates std::vector< tk::real > m_y; //!< Buffer collecting y coordinates std::vector< tk::real > m_z; //!< Buffer collecting z coordinates - - #if defined(__clang__) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wdocumentation" - #endif - /** @name Host signal calls - * \brief These functions signal back to the host via a global reduction - * originating from each PE branch - * \details Singal calls contribute to a reduction on all branches (PEs) - * of ParticleWriter to the host, e.g., inciter::CProxy_Transporter, - * given by the template argument HostProxy. The signal functions are - * overloads on the specialization, e.g., inciter::CProxy_Transporter, of - * the ParticleWriter template. They create Charm++ reduction targets via - * creating a callback that invokes the typed reduction client, where - * host is the proxy on which the reduction target method, given by the - * string followed by "redn_wrapper_", e.g., parcomplete(), is called - * upon completion of the reduction. - * - * Note that we do not use Charm++'s CkReductionTarget macro here, - * but instead explicitly generate the code that that macro would - * generate. To explain why, here is Charm++'s CkReductionTarget macro's - * definition, given in ckreduction.h: - * \code{.cpp} - * #define CkReductionTarget(me, method) \ - * CkIndex_##me::redn_wrapper_##method(NULL) - * \endcode - * This macro takes arguments 'me' (a class name) and 'method' a member - * function of class 'me' and generates the call - * 'CkIndex_::redn_wrapper_(NULL)'. With the overloads the - * signal2* functions generate, we do the above macro's job for - * ParticleWriter specialized by HostProxy, hard-coded here, as well its - * reduction target. This is required since - * * Charm++'s CkReductionTarget macro's preprocessing happens earlier - * than type resolution and the string of the template argument would - * be substituted instead of the type specialized (which is not what - * we want here), and - * * the template argument class, e.g, CProxy_Transporter, is in a - * namespace different than that of ParticleWriter. When a new class - * is used to specialize ParticleWriter, the compiler will alert that - * a new overload needs to be defined. - * - * \note This simplifies client-code, e.g., inciter::Transporter, which now - * requires no explicit book-keeping with counters, etc. Also a reduction - * (instead of a direct call to the host) better utilizes the - * communication network as computational nodes can send their aggregated - * contribution to other nodes on a network instead of all chares sending - * their (smaller) contributions to the same host, (hopefully) - * implemented using a tree among the PEs. - * \see http://charm.cs.illinois.edu/manuals/html/charm++/manual.html, - * Sections "Processor-Aware Chare Collections" and "Chare Arrays". - * */ - ///@{ - //! \brief Signal back to host that the output of particles is complete - void signal2host_outcomplete( const inciter::CProxy_Transporter& host ) - { - using inciter::CkIndex_Transporter; - Group::contribute( - CkCallback(CkIndex_Transporter::redn_wrapper_outcomplete(NULL), host) ); - } - ///@} - #if defined(__clang__) - #pragma clang diagnostic pop - #endif }; } // tk:: -#define CK_TEMPLATES_ONLY -#include "NoWarning/particlewriter.def.h" -#undef CK_TEMPLATES_ONLY - #endif // ParticleWriter_h diff --git a/src/IO/RDGFLOMeshReader.cpp b/src/IO/RDGFLOMeshReader.cpp new file mode 100644 index 00000000000..14f232b330c --- /dev/null +++ b/src/IO/RDGFLOMeshReader.cpp @@ -0,0 +1,172 @@ +// ***************************************************************************** +/*! + \file src/IO/RDGFLOMeshReader.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief RDGFLO mesh reader class declaration + \details RDGFLO mesh reader class declaration. Mesh reader facilitating + reading a mesh from a simple text file used by Prof. Hong Luo at + North Carolina State University. +*/ +// ***************************************************************************** + +#include +#include +#include +#include +#include + +#include "Types.hpp" +#include "Exception.hpp" +#include "UnsMesh.hpp" +#include "Reorder.hpp" +#include "RDGFLOMeshReader.hpp" + +using tk::RDGFLOMeshReader; + +void +RDGFLOMeshReader::readHeader() +// ***************************************************************************** +// Read RDGFLO mesh header +// ***************************************************************************** +{ + // read in header: "npoin, ntetr, npyra, npris, nhexa, ntria, nquad, time" + std::string s; + for (int i=0; i<8; ++i) m_inFile >> s; + + // number of points + m_inFile >> m_nnode; + + // number of tetrahedra + m_inFile >> m_ntet; + if (m_ntet == 0) Throw( "No tetrahedra in input mesh" ); + + // number of pyramids + std::size_t npyra; + m_inFile >> npyra; + if (npyra > 0) Throw( "Pyramids not supported. Need a mesh with only tetrahedra." ); + + // number of prisms + std::size_t npris; + m_inFile >> npris; + if (npris > 0) Throw( "Prisms not supported. Need a mesh with only tetrahedra." ); + + // number of hexahedra + std::size_t nhexa; + m_inFile >> nhexa; + if (nhexa > 0) Throw( "Hexahedra not supported. Need a mesh with only tetrahedra." ); + + // number of triangles + m_inFile >> m_ntri; + + // number of quads + std::size_t nquad; + m_inFile >> nquad; + if (nquad > 0) Throw( "Quads not supported. Need a mesh with only tetrahedra." ); + + // time + tk::real time; + m_inFile >> time; +} + +void +RDGFLOMeshReader::readMesh( UnsMesh& mesh ) +// ***************************************************************************** +// Read RDGFLO mesh +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + // Read header + readHeader(); + // Read elements + readElements( mesh ); + // Read nodes + readNodes( mesh ); +} + +void +RDGFLOMeshReader::readNodes( UnsMesh& mesh ) +// ***************************************************************************** +// Read nodes +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + std::string s; + + std::getline( m_inFile, s ); + std::getline( m_inFile, s ); + Assert( s == " grid point coordinates", + "Invalid keyword, expected: ' grid point coordinates'" ); + + // Read in node coordinates: x-coord y-coord z-coord + auto& xcoord = mesh.x(); + auto& ycoord = mesh.y(); + auto& zcoord = mesh.z(); + xcoord.resize( m_nnode ); + ycoord.resize( m_nnode ); + zcoord.resize( m_nnode ); + for (std::size_t i=0; i> id >> x >> y >> z; + --id; // convert to zero-based node ids + xcoord[ id ] = x; + ycoord[ id ] = y; + zcoord[ id ] = z; + } +} + +void +RDGFLOMeshReader::readElements( UnsMesh& mesh ) +// ***************************************************************************** +// Read element connectivity +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + std::string s; + + std::getline( m_inFile, s ); + std::getline( m_inFile, s ); + Assert( s == " element connectivity", + "Invalid keyword, expected: ' element connectivity'" ); + + // Read in tetrahedra element connectivity + auto& tetinpoel = mesh.tetinpoel(); + tetinpoel.resize( m_ntet * 4 ); + for (std::size_t i=0; i n; + // ignore cell id, a, b + m_inFile >> id >> n[0] >> n[1] >> n[2] >> n[3]; + --id; // convert to zero-based element ids + tetinpoel[ id*4+0 ] = n[0]-1; // store zero-based node ids + tetinpoel[ id*4+1 ] = n[1]-1; + tetinpoel[ id*4+2 ] = n[2]-1; + tetinpoel[ id*4+3 ] = n[3]-1; + } + + std::getline( m_inFile, s ); + std::getline( m_inFile, s ); + Assert( s == " boundary conditions & connectivity for boundary faces", + "Invalid keyword, expected: ' boundary conditions & connectivity " + "for boundary faces'" ); + + // Read in triangle element connectivity and side set ids + auto& triinpoel = mesh.triinpoel(); + auto& bface = mesh.bface(); + auto& faceid = mesh.faceid(); + triinpoel.resize( m_ntri * 3 ); + for (std::size_t i=0; i n; + for (std::size_t j=0; j> n[j]; + --n[0]; // convert to zero-based node ids + triinpoel[ n[0]*3+0 ] = n[6]-1; // store zero-based node ids + triinpoel[ n[0]*3+1 ] = n[7]-1; + triinpoel[ n[0]*3+2 ] = n[8]-1; + auto setid = static_cast< int >( n[1] ); + bface[ setid ].push_back( m_ntet + n[0] ); // tets written first + faceid[ setid ].push_back( 0 ); + } +} diff --git a/src/IO/RDGFLOMeshReader.hpp b/src/IO/RDGFLOMeshReader.hpp new file mode 100644 index 00000000000..ccdcd52d6e4 --- /dev/null +++ b/src/IO/RDGFLOMeshReader.hpp @@ -0,0 +1,55 @@ +// ***************************************************************************** +/*! + \file src/IO/RDGFLOMeshReader.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief RDGFLO mesh reader class declaration + \details RDGFLO mesh reader class declaration. Mesh reader facilitating + reading a mesh from a simple text file used by Prof. Hong Luo at + North Carolina State University. +*/ +// ***************************************************************************** +#ifndef RDGFLOMeshReader_h +#define RDGFLOMeshReader_h + +#include + +#include "Reader.hpp" + +namespace tk { + +class UnsMesh; + +//! \brief RDGFLOMeshReader : tk::Reader +//! \details Mesh reader class facilitating reading a mesh from a simple text +//! file used by Prof. Hong Luo at North Carolina State University. +class RDGFLOMeshReader : public Reader { + + public: + //! Constructor + explicit RDGFLOMeshReader( const std::string& filename ) : + Reader( filename ), m_nnode(0), m_ntet(0), m_ntri(0) {} + + //! Read RDGFLO mesh + void readMesh( UnsMesh& mesh ); + + private: + std::size_t m_nnode; //!< Number of nodes + std::size_t m_ntet; //!< Number of tetrahedra + std::size_t m_ntri; //!< Number of triangles + + //! Read header + void readHeader(); + + //! Read nodes + void readNodes( UnsMesh& mesh ); + + //! Read element connectivity + void readElements( UnsMesh& mesh ); +}; + +} // tk:: + +#endif // RDGFLOMeshReader_h diff --git a/src/IO/RootMeshWriter.cpp b/src/IO/RootMeshWriter.cpp index 107a9242963..b72999babd8 100644 --- a/src/IO/RootMeshWriter.cpp +++ b/src/IO/RootMeshWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/RootMeshWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Root mesh-based data writer \details Root mesh-based data writer class definition. diff --git a/src/IO/RootMeshWriter.hpp b/src/IO/RootMeshWriter.hpp index 94b9d20232e..ec147086213 100644 --- a/src/IO/RootMeshWriter.hpp +++ b/src/IO/RootMeshWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/RootMeshWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Root mesh-based data writer \details Root mesh-based data writer class declaration. diff --git a/src/IO/STLTxtMeshReader.cpp b/src/IO/STLTxtMeshReader.cpp index 08e23d7b84b..f25c11f6357 100644 --- a/src/IO/STLTxtMeshReader.cpp +++ b/src/IO/STLTxtMeshReader.cpp @@ -3,7 +3,7 @@ \file src/IO/STLTxtMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ASCII STL (STereoLithography) reader class definition \details ASCII STL (STereoLithography) reader class definition. diff --git a/src/IO/STLTxtMeshReader.hpp b/src/IO/STLTxtMeshReader.hpp index 5dbdf7758e7..9e2b4a8c7be 100644 --- a/src/IO/STLTxtMeshReader.hpp +++ b/src/IO/STLTxtMeshReader.hpp @@ -3,7 +3,7 @@ \file src/IO/STLTxtMeshReader.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ASCII STL (STereoLithography) reader class declaration \details ASCII STL (STereoLithographu) reader class declaration. diff --git a/src/IO/SiloWriter.cpp b/src/IO/SiloWriter.cpp index aa7cf81aa34..f25faa83592 100644 --- a/src/IO/SiloWriter.cpp +++ b/src/IO/SiloWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/SiloWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Silo writer definition. \details Silo writer definition. This class currently only supports writing diff --git a/src/IO/SiloWriter.hpp b/src/IO/SiloWriter.hpp index aae3f33456b..4400470fa18 100644 --- a/src/IO/SiloWriter.hpp +++ b/src/IO/SiloWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/SiloWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Silo writer declaration. \details Silo writer declaration. This class currently only supports writing diff --git a/src/IO/TxtStatWriter.cpp b/src/IO/TxtStatWriter.cpp index 0359deebbb7..25c3fbdb0f8 100644 --- a/src/IO/TxtStatWriter.cpp +++ b/src/IO/TxtStatWriter.cpp @@ -3,7 +3,7 @@ \file src/IO/TxtStatWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Text statistics writer declaration \details This file declares the ASCII statistics writer class that diff --git a/src/IO/TxtStatWriter.hpp b/src/IO/TxtStatWriter.hpp index 8e7caae60a2..31fde9ec189 100644 --- a/src/IO/TxtStatWriter.hpp +++ b/src/IO/TxtStatWriter.hpp @@ -3,7 +3,7 @@ \file src/IO/TxtStatWriter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Text statistics writer declaration \details This file declares the ASCII statistics writer class that diff --git a/src/IO/UGRIDMeshReader.cpp b/src/IO/UGRIDMeshReader.cpp new file mode 100644 index 00000000000..78308282ab4 --- /dev/null +++ b/src/IO/UGRIDMeshReader.cpp @@ -0,0 +1,132 @@ +// ***************************************************************************** +/*! + \file src/IO/UGRIDMeshReader.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief UGRID mesh reader class declaration + \details UGRID mesh reader class declaration. Mesh reader facilitating + reading a mesh from a simple text file used by NASA. + \see http://www.simcenter.msstate.edu/software/downloads/doc/ug_io/3d_grid_file_type_ugrid.html, http://www.simcenter.msstate.edu/software/downloads/doc/aflr3/aflr3_io_summary.html +*/ +// ***************************************************************************** + +#include +#include +#include +#include +#include + +#include "Types.hpp" +#include "Exception.hpp" +#include "UnsMesh.hpp" +#include "Reorder.hpp" +#include "UGRIDMeshReader.hpp" + +using tk::UGRIDMeshReader; + +void +UGRIDMeshReader::readHeader() +// ***************************************************************************** +// Read UGRID mesh header +// ***************************************************************************** +{ + std::string s; + + // Number_of_Nodes + m_inFile >> m_nnode; + + // Number_of_Surf_Trias + m_inFile >> m_ntri; + + // Number_of_Surf_Quads + int nquad; + m_inFile >> nquad; + + // Number_of_Vol_Tets + m_inFile >> m_ntet; + + // Number_of_Vol_Pents_5 + int pent5; + m_inFile >> pent5; + + // Number_of_Vol_Pents_6 + int pent6; + m_inFile >> pent6; + + // Number_of_Vol_Hexs + int nhex; + m_inFile >> nhex; +} + +void +UGRIDMeshReader::readMesh( UnsMesh& mesh ) +// ***************************************************************************** +// Read UGRID mesh +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + // Read header + readHeader(); + // Read nodes + readNodes( mesh ); + // Read elements + readElements( mesh ); +} + +void +UGRIDMeshReader::readNodes( UnsMesh& mesh ) +// ***************************************************************************** +// Read nodes +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + // Read in node coordinates: x-coord y-coord z-coord + for (std::size_t i=0; i> x >> y >> z; + mesh.x().push_back( x ); + mesh.y().push_back( y ); + mesh.z().push_back( z ); + } +} + +void +UGRIDMeshReader::readElements( UnsMesh& mesh ) +// ***************************************************************************** +// Read element connectivity +//! \param[in] mesh Unstructured mesh object +// ***************************************************************************** +{ + // Read in triangle element connectivity + for (std::size_t i=0; i n; + m_inFile >> n[0] >> n[1] >> n[2]; + mesh.triinpoel().push_back( n[0] ); + mesh.triinpoel().push_back( n[1] ); + mesh.triinpoel().push_back( n[2] ); + } + + // Read side sets of triangle elements + for (std::size_t i=0; i> setid; + mesh.bface()[ setid ].push_back( m_ntet + i ); + mesh.faceid()[ setid ].push_back( 0 ); + } + + // Read in tetrahedra element connectivity + for (std::size_t i=0; i n; + m_inFile >> n[0] >> n[1] >> n[2] >> n[3]; + mesh.tetinpoel().push_back( n[0] ); + mesh.tetinpoel().push_back( n[1] ); + mesh.tetinpoel().push_back( n[2] ); + mesh.tetinpoel().push_back( n[3] ); + } + + // Shift node IDs to start from zero + shiftToZero( mesh.triinpoel() ); + shiftToZero( mesh.tetinpoel() ); +} diff --git a/src/IO/UGRIDMeshReader.hpp b/src/IO/UGRIDMeshReader.hpp new file mode 100644 index 00000000000..570a6062230 --- /dev/null +++ b/src/IO/UGRIDMeshReader.hpp @@ -0,0 +1,55 @@ +// ***************************************************************************** +/*! + \file src/IO/UGRIDMeshReader.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief UGRID mesh reader class declaration + \details UGRID mesh reader class declaration. Mesh reader facilitating + reading a mesh from a simple text file used by NASA. + \see http://www.simcenter.msstate.edu/software/downloads/doc/ug_io/3d_grid_file_type_ugrid.html, http://www.simcenter.msstate.edu/software/downloads/doc/aflr3/aflr3_io_summary.html +*/ +// ***************************************************************************** +#ifndef UGRIDMeshReader_h +#define UGRIDMeshReader_h + +#include + +#include "Reader.hpp" + +namespace tk { + +class UnsMesh; + +//! \brief UGRIDMeshReader : tk::Reader +//! \details Mesh reader class facilitating reading a mesh from a simple text +//! file used by NASA. +class UGRIDMeshReader : public Reader { + + public: + //! Constructor + explicit UGRIDMeshReader( const std::string& filename ) : + Reader( filename ), m_nnode(0), m_ntet(0), m_ntri(0) {} + + //! Read UGRID mesh + void readMesh( UnsMesh& mesh ); + + private: + std::size_t m_nnode; //!< Number of nodes + std::size_t m_ntet; //!< Number of tetrahedra + std::size_t m_ntri; //!< Number of triangles + + //! Read header + void readHeader(); + + //! Read nodes + void readNodes( UnsMesh& mesh ); + + //! Read element connectivity + void readElements( UnsMesh& mesh ); +}; + +} // tk:: + +#endif // UGRIDMeshReader_h diff --git a/src/IO/meshwriter.ci b/src/IO/meshwriter.ci index 1279b0da8ac..3c7072481dc 100644 --- a/src/IO/meshwriter.ci +++ b/src/IO/meshwriter.ci @@ -3,7 +3,7 @@ \file src/IO/meshwriter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for outputing mesh data to file \details Charm++ interface file for a group used to output data associated @@ -44,8 +44,11 @@ module meshwriter { const std::vector< std::size_t >& triinpoel, const std::vector< std::string >& elemfieldnames, const std::vector< std::string >& nodefieldnames, + const std::vector< std::string >& nodesurfnames, const std::vector< std::vector< tk::real > >& elemfields, const std::vector< std::vector< tk::real > >& nodefields, + const std::vector< std::vector< tk::real > >& nodesurfs, + const std::set< int >& outsets, CkCallback c ); }; diff --git a/src/IO/particlewriter.ci b/src/IO/particlewriter.ci index ecc3de0bb66..4360523e14b 100644 --- a/src/IO/particlewriter.ci +++ b/src/IO/particlewriter.ci @@ -3,7 +3,7 @@ \file src/IO/particlewriter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for outputing particle data to file \details Charm++ module interface file for outputing particle data to file. @@ -14,20 +14,14 @@ module particlewriter { namespace tk { - // List all possible specializations of templated chare to instantiate - // registration and delivery of code for the individual specializations - - // Will specialize particle writer for Transporter - chare ParticleWriter< inciter::CProxy_Transporter >; - - // ParticleWriter is templated so that the same code (parameterized by the - // type given by the template argument, HostProxy) can be generated for - // different types of proxies. Howver, all possible specializations must be - // listed above to ensure that Charm++ generates correct code. - template< class HostProxy > - group ParticleWriter { - entry ParticleWriter( const HostProxy& host, - const std::string& filename ); + nodegroup ParticleWriter { + entry ParticleWriter( const std::string& filename ); + entry [exclusive] void npar( std::size_t n, CkCallback c ); + entry [exclusive] void writeCoords( uint64_t it, + const std::vector< tk::real >& x, + const std::vector< tk::real >& y, + const std::vector< tk::real >& z, + CkCallback c ); }; } // tk:: diff --git a/src/Inciter/ALECG.cpp b/src/Inciter/ALECG.cpp index d95e8239c2e..5849e24e82b 100644 --- a/src/Inciter/ALECG.cpp +++ b/src/Inciter/ALECG.cpp @@ -3,7 +3,7 @@ \file src/Inciter/ALECG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ALECG for a PDE system with continuous Galerkin + ALE + RK \details ALECG advances a system of partial differential equations (PDEs) @@ -30,6 +30,9 @@ #include "NodeBC.hpp" #include "Refiner.hpp" #include "Reorder.hpp" +#include "Around.hpp" +#include "CGPDE.hpp" +#include "Integrate/Mass.hpp" #ifdef HAS_ROOT #include "RootMeshWriter.hpp" @@ -41,38 +44,98 @@ extern ctr::InputDeck g_inputdeck; extern ctr::InputDeck g_inputdeck_defaults; extern std::vector< CGPDE > g_cgpde; +//! Runge-Kutta coefficients +static const std::array< tk::real, 3 > rkcoef{{ 1.0/3.0, 1.0/2.0, 1.0 }}; + } // inciter:: using inciter::ALECG; ALECG::ALECG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ) : + const std::vector< std::size_t >& triinpoel ) : m_disc( disc ), m_initial( 1 ), m_nsol( 0 ), m_nlhs( 0 ), + m_ngrad( 0 ), m_nrhs( 0 ), + m_nbnorm( 0 ), + m_ndfnorm( 0 ), m_bnode( bnode ), + m_bface( bface ), + m_triinpoel( tk::remap( triinpoel, Disc()->Lid() ) ), + m_bndel( bndel() ), + m_dfnorm(), + m_dfnormc(), + m_dfn(), + m_esup( tk::genEsup( Disc()->Inpoel(), 4 ) ), + m_psup( tk::genPsup( Disc()->Inpoel(), 4, m_esup ) ), m_u( m_disc[thisIndex].ckLocal()->Gid().size(), g_inputdeck.get< tag::component >().nprop() ), - m_du( m_u.nunk(), m_u.nprop() ), + m_un( m_u.nunk(), m_u.nprop() ), m_lhs( m_u.nunk(), m_u.nprop() ), m_rhs( m_u.nunk(), m_u.nprop() ), + m_chBndGrad( Disc()->Bid().size(), m_u.nprop()*3 ), + m_bcdir(), m_lhsc(), + m_chBndGradc(), m_rhsc(), - m_diag() + m_diag(), + m_bnorm(), + m_bnormc(), + m_symbcnodes(), + m_farfieldbcnodes(), + m_symbctri(), + m_stage( 0 ), + m_boxnodes(), + m_boxnodes_set(), + m_edgenode(), + m_edgeid(), + m_dtp( m_u.nunk(), 0.0 ), + m_tp( m_u.nunk(), g_inputdeck.get< tag::discr, tag::t0 >() ), + m_finished( 0 ) // ***************************************************************************** // Constructor //! \param[in] disc Discretization proxy -//! \param[in] bnode Boundary-node lists mapped to side set ids +//! \param[in] bface Boundary-faces mapped to side sets used in the input file +//! \param[in] bnode Boundary-node lists mapped to side sets used in input file +//! \param[in] triinpoel Boundary-face connectivity where BCs set (global ids) // ***************************************************************************** //! [Constructor] { usesAtSync = true; // enable migration at AtSync - // Activate SDAG wait for initially computing the left-hand side + // Perform optional operator-access-pattern mesh node reordering + if (g_inputdeck.get< tag::discr, tag::operator_reorder >()) { + + auto d = Disc(); + + // Create new local ids based on access pattern of PDE operators + std::unordered_map< std::size_t, std::size_t > map; + std::size_t n = 0; + + for (std::size_t p=0; pGid().size(), "Map size mismatch" ); + + // Remap data in bound Discretization object + d->remap( map ); + // Recompute elements surrounding points + m_esup = tk::genEsup( d->Inpoel(), 4 ); + // Recompute points surrounding points + m_psup = tk::genPsup( d->Inpoel(), 4, m_esup ); + // Remap boundary triangle face connectivity + tk::remap( m_triinpoel, map ); + } + + // Activate SDAG wait for initially computing the left-hand side and normals thisProxy[ thisIndex ].wait4lhs(); // Signal the runtime system that the workers have been created @@ -81,6 +144,229 @@ ALECG::ALECG( const CProxy_Discretization& disc, } //! [Constructor] +void +ALECG::norm() +// ***************************************************************************** +// Start (re-)computing boundare point-, and dual-face normals +// ***************************************************************************** +{ + auto d = Disc(); + + // Query nodes at which symmetry BCs are specified + auto bcnodes = d->bcnodes< tag::bcsym >( m_bface, m_triinpoel ); + // Query nodes at which farfield BCs are specified + auto farfieldbcnodes = d->bcnodes< tag::bcfarfield >( m_bface, m_triinpoel ); + + // Merge BC data where boundary-point normals are required + for (const auto& [s,n] : farfieldbcnodes) + bcnodes[s].insert( begin(n), end(n) ); + + // Compute boundary point normals + bnorm( bcnodes ); + + // Compute dual-face normals associated to edges + dfnorm(); +} + +std::vector< std::size_t > +ALECG::bndel() const +// ***************************************************************************** +// Find elements along our mesh chunk boundary +//! \return List of local element ids that have at least a single node +//! contributing to a chare boundary +// ***************************************************************************** +{ + // Lambda to find out if a mesh node is shared with another chare + auto shared = [this]( std::size_t i ){ + for (const auto& [c,n] : Disc()->NodeCommMap()) + if (n.find(i) != end(n)) return true; + return false; + }; + + // Find elements along our mesh chunk boundary + std::vector< std::size_t > e; + const auto& inpoel = Disc()->Inpoel(); + const auto gid = Disc()->Gid(); + for (std::size_t n=0; n +ALECG::edfnorm( const tk::UnsMesh::Edge& edge, + const std::unordered_map< tk::UnsMesh::Edge, + std::vector< std::size_t >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> >& esued ) +// ***************************************************************************** +// Compute normal of dual-mesh associated to edge +//! \param[in] edge Edge whose dual-face normal to compute given by local ids +//! \param[in] inpoel Mesh element connectivity +//! \param[in] esued Elements surrounding edges +//! \return Dual-face normal for edge +// ***************************************************************************** +{ + auto d = Disc(); + const auto& inpoel = d->Inpoel(); + const auto& coord = d->Coord(); + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + std::array< tk::real, 3 > n{ 0.0, 0.0, 0.0 }; + + for (auto e : tk::cref_find(esued,edge)) { + // access node IDs + const std::array< std::size_t, 4 > + N{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }; + // compute element Jacobi determinant + const std::array< tk::real, 3 > + ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, + ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, + da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; + const auto J = tk::triple( ba, ca, da ); // J = 6V + Assert( J > 0, "Element Jacobian non-positive" ); + // shape function derivatives, nnode*ndim [4][3] + std::array< std::array< tk::real, 3 >, 4 > grad; + grad[1] = tk::crossdiv( ca, da, J ); + grad[2] = tk::crossdiv( da, ba, J ); + grad[3] = tk::crossdiv( ba, ca, J ); + for (std::size_t i=0; i<3; ++i) + grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; + // sum normal contributions + // The constant 1/48: Eq (12) from Waltz et al. Computers & fluids (92) 2014 + // The result of the integral of shape function N on a tet is V/4. + // This can be written as J/(6*4). Eq (12) has a 1/2 multiplier. + // This leads to J/48. + auto J48 = J/48.0; + for (const auto& [a,b] : tk::lpoed) { + auto s = tk::orient( {N[a],N[b]}, edge ); + for (std::size_t j=0; j<3; ++j) + n[j] += J48 * s * (grad[a][j] - grad[b][j]); + } + } + + return n; +} + +void +ALECG::dfnorm() +// ***************************************************************************** +// Compute dual-face normals associated to edges +// ***************************************************************************** +{ + auto d = Disc(); + const auto& inpoel = d->Inpoel(); + const auto& gid = d->Gid(); + + // compute derived data structures + auto esued = tk::genEsued( inpoel, 4, tk::genEsup( inpoel, 4 ) ); + + // Compute dual-face normals for domain edges + for (std::size_t p=0; pEdgeCommMap().empty()) + comdfnorm_complete(); + else { + for (const auto& [c,edges] : d->EdgeCommMap()) { + decltype(m_dfnorm) exp; + for (const auto& e : edges) exp[e] = tk::cref_find(m_dfnorm,e); + thisProxy[c].comdfnorm( exp ); + } + } + + owndfnorm_complete(); +} + +void +ALECG::comdfnorm( const std::unordered_map< tk::UnsMesh::Edge, + std::array< tk::real, 3 >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> >& dfnorm ) +// ***************************************************************************** +// Receive contributions to dual-face normals on chare-boundaries +//! \param[in] dfnorm Incoming partial sums of dual-face normals associated to +//! chare-boundary edges +// ***************************************************************************** +{ + // Buffer up inccoming contributions to dual-face normals + for (const auto& [e,n] : dfnorm) { + auto& dfn = m_dfnormc[e]; + dfn[0] += n[0]; + dfn[1] += n[1]; + dfn[2] += n[2]; + } + + if (++m_ndfnorm == Disc()->EdgeCommMap().size()) { + m_ndfnorm = 0; + comdfnorm_complete(); + } +} + +void +ALECG::bnorm( const std::unordered_map< int, + std::unordered_set< std::size_t > >& bcnodes ) +// ***************************************************************************** +// Compute boundary point normals +//! \param[in] bcnodes Local node ids associated to side set ids at which BCs +//! are set that require normals +//***************************************************************************** +{ + auto d = Disc(); + + m_bnorm = cg::bnorm( m_bface, m_triinpoel, d->Coord(), d->Gid(), bcnodes ); + + // Send our nodal normal contributions to neighbor chares + if (d->NodeCommMap().empty()) + comnorm_complete(); + else + for (const auto& [ neighborchare, sharednodes ] : d->NodeCommMap()) { + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > exp; + for (auto i : sharednodes) { + for (const auto& [s,norms] : m_bnorm) { + auto j = norms.find(i); + if (j != end(norms)) exp[s][i] = j->second; + } + } + thisProxy[ neighborchare ].comnorm( exp ); + } + + ownnorm_complete(); +} + +void +ALECG::comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ) +// ***************************************************************************** +// Receive boundary point normals on chare-boundaries +//! \param[in] innorm Incoming partial sums of boundary point normal +//! contributions to normals (first 3 components), inverse distance squared +//! (4th component), associated to side set ids +// ***************************************************************************** +{ + // Buffer up incoming boundary-point normal vector contributions + for (const auto& [s,norms] : innorm) { + auto& bnorms = m_bnormc[s]; + for (const auto& [p,n] : norms) { + auto& bnorm = bnorms[p]; + bnorm[0] += n[0]; + bnorm[1] += n[1]; + bnorm[2] += n[2]; + bnorm[3] += n[3]; + } + } + + if (++m_nbnorm == Disc()->NodeCommMap().size()) { + m_nbnorm = 0; + comnorm_complete(); + } +} + void ALECG::registerReducers() // ***************************************************************************** @@ -117,60 +403,88 @@ ALECG::setup() auto d = Disc(); // Set initial conditions for all PDEs - for (const auto& eq : g_cgpde) eq.initialize( d->Coord(), m_u, d->T() ); + for (auto& eq : g_cgpde) eq.initialize( d->Coord(), m_u, d->T(), m_boxnodes ); + + // Compute volume of user-defined box IC + d->boxvol( m_boxnodes ); - // Output initial conditions to file (regardless of whether it was requested) - writeFields( CkCallback(CkIndex_ALECG::init(), thisProxy[thisIndex]) ); + // Query time history field output labels from all PDEs integrated + const auto& hist_points = g_inputdeck.get< tag::history, tag::point >(); + if (!hist_points.empty()) { + std::vector< std::string > histnames; + for (const auto& eq : g_cgpde) { + auto n = eq.histNames(); + histnames.insert( end(histnames), begin(n), end(n) ); + } + d->histheader( std::move(histnames) ); + } } -//! [init and lhs] void -ALECG::init() +ALECG::box( tk::real v ) // ***************************************************************************** -// Initially compute left hand side diagonal matrix +// Receive total box IC volume and set conditions in box +//! \param[in] v Total volume within user-specified box // ***************************************************************************** { + auto d = Disc(); + + // Store user-defined box IC volume + d->Boxvol() = v; + + // Set user-defined IC box conditions + for (const auto& eq : g_cgpde) + eq.box( d->Boxvol(), d->T(), m_boxnodes, d->Coord(), m_u, m_boxnodes_set ); + //if (m_boxnodes_set.size() != m_boxnodes.size()) + // std::cout << thisIndex << ':' << m_boxnodes.size() - m_boxnodes_set.size() << '\n'; + // Compute left-hand side of PDEs lhs(); } -//! [init and lhs] +//! [start] void ALECG::start() // ***************************************************************************** -// Start time stepping +// Start time stepping // ***************************************************************************** { // Start timer measuring time stepping wall clock time Disc()->Timer().zero(); - - // Start time stepping by computing the size of the next time step) + // Zero grind-timer + Disc()->grindZero(); + // Continue to next time step next(); } +//! [start] //! [Compute own and send lhs on chare-boundary] void ALECG::lhs() // ***************************************************************************** // Compute the left-hand side of transport equations +//! \details Also (re-)compute all data structures if the mesh changed. // ***************************************************************************** { auto d = Disc(); - // Compute own portion of the lhs - // m_lhs = ... + // Compute lumped mass lhs + m_lhs = tk::lump( m_u.nprop(), d->Coord(), d->Inpoel() ); - if (d->Msum().empty()) // in serial we are done + if (d->NodeCommMap().empty()) // in serial we are done comlhs_complete(); else // send contributions of lhs to chare-boundary nodes to fellow chares - for (const auto& n : d->Msum()) { - std::vector< std::vector< tk::real > > l( n.second.size() ); + for (const auto& [c,n] : d->NodeCommMap()) { + std::vector< std::vector< tk::real > > l( n.size() ); std::size_t j = 0; - for (auto i : n.second) l[ j++ ] = m_lhs[ tk::cref_find(d->Lid(),i) ]; - thisProxy[ n.first ].comlhs( n.second, l ); + for (auto i : n) l[ j++ ] = m_lhs[ tk::cref_find(d->Lid(),i) ]; + thisProxy[c].comlhs( std::vector(begin(n),end(n)), l ); } ownlhs_complete(); + + // (Re-)compute boundary point-, and dual-face normals + norm(); } //! [Compute own and send lhs on chare-boundary] @@ -200,7 +514,7 @@ ALECG::comlhs( const std::vector< std::size_t >& gid, } // When we have heard from all chares we communicate with, this chare is done - if (++m_nlhs == d->Msum().size()) { + if (++m_nlhs == d->NodeCommMap().size()) { m_nlhs = 0; comlhs_complete(); } @@ -227,11 +541,158 @@ ALECG::lhsmerge() // Clear receive buffer tk::destroy(m_lhsc); + // Combine own and communicated contributions of normals and apply boundary + // conditions on the initial conditions + normfinal(); + // Continue after lhs is complete - if (m_initial) start(); else lhs_complete(); + if (m_initial) { + // Output initial conditions to file + writeFields( CkCallback(CkIndex_ALECG::start(), thisProxy[thisIndex]) ); + } else { + lhs_complete(); + } } //! [Merge lhs and continue] +void +ALECG::normfinal() +// ***************************************************************************** +// Finish computing dual-face and boundary point normals and apply boundary +// conditions on the initial conditions +// ***************************************************************************** +{ + auto d = Disc(); + const auto& lid = d->Lid(); + + // Combine own and communicated contributions to boundary point normals + for (const auto& [s,norms] : m_bnormc) { + auto& bnorms = m_bnorm[s]; + for (const auto& [p,n] : norms) { + auto& norm = bnorms[p]; + norm[0] += n[0]; + norm[1] += n[1]; + norm[2] += n[2]; + norm[3] += n[3]; + } + } + tk::destroy( m_bnormc ); + + // Divide summed point normals by the sum of inverse distance squared + for (auto& [s,norms] : m_bnorm) + for (auto& [p,n] : norms) { + n[0] /= n[3]; + n[1] /= n[3]; + n[2] /= n[3]; + Assert( (n[0]*n[0] + n[1]*n[1] + n[2]*n[2] - 1.0) < + 1.0e+3*std::numeric_limits< tk::real >::epsilon(), + "Non-unit normal" ); + } + + // Replace global->local ids associated to boundary point normals + decltype(m_bnorm) bnorm; + for (auto& [s,norms] : m_bnorm) { + auto& bnorms = bnorm[s]; + for (auto&& [g,n] : norms) + bnorms[ tk::cref_find(lid,g) ] = std::move(n); + } + m_bnorm = std::move(bnorm); + + // Prepare unique set of symmetry BC nodes + for (const auto& [s,nodes] : d->bcnodes(m_bface,m_triinpoel)) + m_symbcnodes.insert( begin(nodes), end(nodes) ); + + // Prepare unique set of farfield BC nodes + for (const auto& [s,nodes] : d->bcnodes(m_bface,m_triinpoel)) + m_farfieldbcnodes.insert( begin(nodes), end(nodes) ); + + // If farfield BC is set on a node, will not also set symmetry BC + for (auto fn : m_farfieldbcnodes) m_symbcnodes.erase(fn); + + // Apply symmetry BCs on initial conditions + for (const auto& eq : g_cgpde) + eq.symbc( m_u, d->Coord(), m_bnorm, m_symbcnodes ); + // Apply farfield BCs on initial conditions + for (const auto& eq : g_cgpde) + eq.farfieldbc( m_u, d->Coord(), m_bnorm, m_farfieldbcnodes ); + + // Prepare boundary nodes contiguously accessible from a triangle-face loop + m_symbctri.resize( m_triinpoel.size()/3, 0 ); + for (std::size_t e=0; e, tk::UnsMesh::Eq<2> > edge_node_count; + for (const auto& [c,edges] : d->EdgeCommMap()) + for (const auto& e : edges) + ++edge_node_count[e]; + + // Combine and weigh communicated contributions to dual-face normals + for (auto& [e,n] : m_dfnormc) { + const auto& dfn = tk::cref_find( m_dfnorm, e ); + n[0] += dfn[0]; + n[1] += dfn[1]; + n[2] += dfn[2]; + auto count = static_cast< tk::real >( tk::cref_find( edge_node_count, e ) ); + auto factor = 1.0/(count + 1.0); + for (auto & x : n) x *= factor; + } + + // Generate list of unique edges + tk::UnsMesh::EdgeSet uedge; + for (std::size_t p=0; pGid(); + for (auto&& [p,q] : uedge) { + if (gid[p] > gid[q]) { + m_edgenode[f+0] = std::move(q); + m_edgenode[f+1] = std::move(p); + } else { + m_edgenode[f+0] = std::move(p); + m_edgenode[f+1] = std::move(q); + } + f += 2; + } + tk::destroy(uedge); + + // Convert dual-face normals to streamable (and vectorizable) data structure + m_dfn.resize( m_edgenode.size() * 3 ); // 2 vectors per access + std::unordered_map< tk::UnsMesh::Edge, std::size_t, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> > eid; + for (std::size_t e=0; e g{ gid[p], gid[q] }; + auto n = tk::cref_find( m_dfnorm, g ); + // figure out if this is an edge on the parallel boundary + auto nit = m_dfnormc.find( g ); + auto m = ( nit != m_dfnormc.end() ) ? nit->second : n; + m_dfn[e*6+0] = n[0]; + m_dfn[e*6+1] = n[1]; + m_dfn[e*6+2] = n[2]; + m_dfn[e*6+3] = m[0]; + m_dfn[e*6+4] = m[1]; + m_dfn[e*6+5] = m[2]; + } + + tk::destroy( m_dfnorm ); + tk::destroy( m_dfnormc ); + + // Flatten edge id data structure + m_edgeid.resize( m_psup.first.size() ); + for (std::size_t p=0,k=0; pCoord(), d->Inpoel(), m_u ); - if (eqdt < mindt) mindt = eqdt; - } + if (g_inputdeck.get< tag::discr, tag::steady_state >()) { - // Scale smallest dt with CFL coefficient - mindt *= g_inputdeck.get< tag::discr, tag::cfl >(); + // compute new dt for each mesh point + for (const auto& eq : g_cgpde) + eq.dt( d->It(), d->Vol(), m_u, m_dtp ); + + // find the smallest dt of all nodes on this chare + mindt = *std::min_element( begin(m_dtp), end(m_dtp) ); + + } else { // compute new dt for this chare + + // find the smallest dt of all equations on this chare + for (const auto& eq : g_cgpde) { + auto eqdt = eq.dt( d->Coord(), d->Inpoel(), m_u ); + if (eqdt < mindt) mindt = eqdt; + } + + } //! [Find the minimum dt across all PDEs integrated] } //! [Advance] - // Actiavate SDAG waits for time step + // Actiavate SDAG waits for next time step stage + thisProxy[ thisIndex ].wait4grad(); thisProxy[ thisIndex ].wait4rhs(); - thisProxy[ thisIndex ].wait4out(); + thisProxy[ thisIndex ].wait4stage(); // Contribute to minimum dt across all chares the advance to next step contribute( sizeof(tk::real), &mindt, CkReduction::min_double, @@ -285,6 +758,76 @@ ALECG::dt() //! [Advance] } +void +ALECG::advance( tk::real newdt ) +// ***************************************************************************** +// Advance equations to next time step +//! \param[in] newdt The smallest dt across the whole problem +// ***************************************************************************** +{ + auto d = Disc(); + + // Set new time step size + if (m_stage == 0) d->setdt( newdt ); + + // Compute gradients for next time step + chBndGrad(); +} + +void +ALECG::chBndGrad() +// ***************************************************************************** +// Compute nodal gradients at chare-boundary nodes. Gradients at internal nodes +// are calculated locally as needed and are not stored. +// ***************************************************************************** +{ + auto d = Disc(); + + // Compute own portion of gradients for all equations + for (const auto& eq : g_cgpde) + eq.chBndGrad(d->Coord(), d->Inpoel(), m_bndel, d->Gid(), d->Bid(), m_u, + m_chBndGrad); + + // Communicate gradients to other chares on chare-boundary + if (d->NodeCommMap().empty()) // in serial we are done + comgrad_complete(); + else // send gradients contributions to chare-boundary nodes to fellow chares + for (const auto& [c,n] : d->NodeCommMap()) { + std::vector< std::vector< tk::real > > g( n.size() ); + std::size_t j = 0; + for (auto i : n) g[ j++ ] = m_chBndGrad[ tk::cref_find(d->Bid(),i) ]; + thisProxy[c].comChBndGrad( std::vector(begin(n),end(n)), g ); + } + + owngrad_complete(); +} + +void +ALECG::comChBndGrad( const std::vector< std::size_t >& gid, + const std::vector< std::vector< tk::real > >& G ) +// ***************************************************************************** +// Receive contributions to nodal gradients on chare-boundaries +//! \param[in] gid Global mesh node IDs at which we receive grad contributions +//! \param[in] G Partial contributions of gradients to chare-boundary nodes +//! \details This function receives contributions to m_chBndGrad, which stores +//! nodal gradients at mesh chare-boundary nodes. While m_chBndGrad stores +//! own contributions, m_chBndGradc collects the neighbor chare +//! contributions during communication. This way work on m_chBndGrad and +//! m_chBndGradc is overlapped. The two are combined in rhs(). +// ***************************************************************************** +{ + Assert( G.size() == gid.size(), "Size mismatch" ); + + using tk::operator+=; + + for (std::size_t i=0; iNodeCommMap().size()) { + m_ngrad = 0; + comgrad_complete(); + } +} + void ALECG::rhs() // ***************************************************************************** @@ -293,18 +836,45 @@ ALECG::rhs() { auto d = Disc(); - // Compute own portion of the right-hand side - // ... + // Combine own and communicated contributions to nodal gradients + for (const auto& [gid,g] : m_chBndGradc) { + auto bid = tk::cref_find( d->Bid(), gid ); + for (ncomp_t c=0; c(); + + // Compute own portion of right-hand side for all equations + auto prev_rkcoef = m_stage == 0 ? 0.0 : rkcoef[m_stage-1]; + if (steady) + for (std::size_t p=0; pT() + prev_rkcoef * d->Dt(), d->Coord(), d->Inpoel(), + m_triinpoel, d->Gid(), d->Bid(), d->Lid(), m_dfn, m_psup, m_esup, + m_symbctri, d->Vol(), m_edgenode, m_edgeid, m_chBndGrad, m_u, m_tp, + m_rhs ); + if (steady) + for (std::size_t p=0; pT(), rkcoef[m_stage] * d->Dt(), + m_tp, m_dtp, d->Coord(), d->Lid(), m_bnode ); + if (steady) for (auto& deltat : m_dtp) deltat /= rkcoef[m_stage]; // Communicate rhs to other chares on chare-boundary - if (d->Msum().empty()) // in serial we are done + if (d->NodeCommMap().empty()) // in serial we are done comrhs_complete(); else // send contributions of rhs to chare-boundary nodes to fellow chares - for (const auto& n : d->Msum()) { - std::vector< std::vector< tk::real > > r( n.second.size() ); + for (const auto& [c,n] : d->NodeCommMap()) { + std::vector< std::vector< tk::real > > r( n.size() ); std::size_t j = 0; - for (auto i : n.second) r[ j++ ] = m_rhs[ tk::cref_find(d->Lid(),i) ]; - thisProxy[ n.first ].comrhs( n.second, r ); + for (auto i : n) r[ j++ ] = m_rhs[ tk::cref_find(d->Lid(),i) ]; + thisProxy[c].comrhs( std::vector(begin(n),end(n)), r ); } ownrhs_complete(); @@ -312,7 +882,7 @@ ALECG::rhs() void ALECG::comrhs( const std::vector< std::size_t >& gid, - const std::vector< std::vector< tk::real > >& R ) + const std::vector< std::vector< tk::real > >& R ) // ***************************************************************************** // Receive contributions to right-hand side vector on chare-boundaries //! \param[in] gid Global mesh node IDs at which we receive RHS contributions @@ -328,12 +898,10 @@ ALECG::comrhs( const std::vector< std::size_t >& gid, using tk::operator+=; - for (std::size_t i=0; iMsum().size()) { + if (++m_nrhs == Disc()->NodeCommMap().size()) { m_nrhs = 0; comrhs_complete(); } @@ -356,30 +924,114 @@ ALECG::solve() } // clear receive buffer - tk::destroy(m_rhsc); + tk::destroy(m_rhsc); + + const auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); + + // Set Dirichlet BCs for lhs and rhs + for (const auto& [b,bc] : m_bcdir) + for (ncomp_t c=0; cDt(); + m_rhs(b,c,0) = bc[c].second / deltat / rkcoef[m_stage]; + } + + // Update Un + if (m_stage == 0) m_un = m_u; + + // Solve the sytem + if (steady) { + + for (std::size_t i=0; iDt() * m_rhs / m_lhs; + + } - // Solve sytem - // m_du = m_rhs / m_lhs; + // The following BC enforcement changes the updated solution to ensure strong + // imposition of the BCs. This is a matter of choice. Another alternative is + // to only apply BCs when computing fluxes at boundary faces, thereby only + // weakly enforcing the BCs. The former is conventionally used in finite + // element methods, whereas the latter, in finite volume methods. + + // Apply symmetry BCs on new solution + for (const auto& eq : g_cgpde) + eq.symbc( m_u, d->Coord(), m_bnorm, m_symbcnodes ); + // Apply farfield BCs on new solution + for (const auto& eq : g_cgpde) + eq.farfieldbc( m_u, d->Coord(), m_bnorm, m_farfieldbcnodes ); + + // Set user-defined IC box conditions + for (const auto& eq : g_cgpde) + eq.box( d->Boxvol(), d->T()+d->Dt(), m_boxnodes, d->Coord(), m_u, + m_boxnodes_set ); + //if (m_boxnodes_set.size() != m_boxnodes.size()) + // std::cout << thisIndex << ':' << m_boxnodes.size() - m_boxnodes_set.size() << '\n'; //! [Continue after solve] - // Compute diagnostics, e.g., residuals - auto diag_computed = m_diag.compute( *d, m_u ); - // Increase number of iterations and physical time - d->next(); - // Continue to mesh refinement (if configured) - if (!diag_computed) refine(); + if (m_stage < 2) { + + // Activate SDAG wait for next time step stage + thisProxy[ thisIndex ].wait4grad(); + thisProxy[ thisIndex ].wait4rhs(); + + // continue with next time step stage + stage(); + + } else { + + // Compute diagnostics, e.g., residuals + auto diag_computed = + m_diag.compute( *d, m_u, m_un, m_bnorm, m_symbcnodes, m_farfieldbcnodes ); + // Increase number of iterations and physical time + d->next(); + // Advance physical time for local time stepping + if (steady) for (std::size_t i=0; i( m_u.nprop(), 1.0 ) ); + + } //! [Continue after solve] } void -ALECG::refine() +ALECG::refine( const std::vector< tk::real >& l2res ) // ***************************************************************************** // Optionally refine/derefine mesh +//! \param[in] l2res L2-norms of the residual for each scalar component +//! computed across the whole problem // ***************************************************************************** { //! [Refine] auto d = Disc(); + const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); + const auto term = g_inputdeck.get< tag::discr, tag::term >(); + const auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); + const auto residual = g_inputdeck.get< tag::discr, tag::residual >(); + const auto rc = g_inputdeck.get< tag::discr, tag::rescomp >() - 1; + const auto eps = std::numeric_limits< tk::real >::epsilon(); + + if (steady) { + + // this is the last time step if max time of max number of time steps + // reached or the residual has reached its convergence criterion + if (std::abs(d->T()-term) < eps || d->It() >= nstep || l2res[rc] < residual) + m_finished = 1; + + } else { + + // this is the last time step if max time or max iterations reached + if (std::abs(d->T()-term) < eps || d->It() >= nstep) m_finished = 1; + + } + auto dtref = g_inputdeck.get< tag::amr, tag::dtref >(); auto dtfreq = g_inputdeck.get< tag::amr, tag::dtfreq >(); @@ -411,10 +1063,10 @@ ALECG::resizePostAMR( const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& addedNodes, const std::unordered_map< std::size_t, std::size_t >& /*addedTets*/, - const std::unordered_map< int, std::vector< std::size_t > >& msum, - const std::map< int, std::vector< std::size_t > >& /*bface*/, + const tk::NodeCommMap& nodeCommMap, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /*triinpoel*/ ) + const std::vector< std::size_t >& triinpoel ) // ***************************************************************************** // Receive new mesh from Refiner //! \param[in] ginpoel Mesh connectivity with global node ids @@ -422,8 +1074,10 @@ ALECG::resizePostAMR( //! \param[in] coord New mesh node coordinates //! \param[in] addedNodes Newly added mesh nodes and their parents (local ids) //! \param[in] addedTets Newly added mesh cells and their parents (local ids) -//! \param[in] msum New node communication map +//! \param[in] nodeCommMap New node communication map +//! \param[in] bface Boundary-faces mapped to side set ids //! \param[in] bnode Boundary-node lists mapped to side set ids +//! \param[in] triinpoel Boundary-face connectivity // ***************************************************************************** { auto d = Disc(); @@ -438,23 +1092,26 @@ ALECG::resizePostAMR( ++d->Itr(); // Resize mesh data structures - d->resizePostAMR( chunk, coord, msum ); + d->resizePostAMR( chunk, coord, nodeCommMap ); // Resize auxiliary solution vectors auto npoin = coord[0].size(); auto nprop = m_u.nprop(); m_u.resize( npoin, nprop ); - m_du.resize( npoin, nprop ); + m_un.resize( npoin, nprop ); m_lhs.resize( npoin, nprop ); m_rhs.resize( npoin, nprop ); + m_chBndGrad.resize( d->Bid().size(), nprop*3 ); // Update solution on new mesh for (const auto& n : addedNodes) for (std::size_t c=0; cLid() ); contribute( CkCallback(CkReductionTarget(Transporter,resized), d->Tr()) ); } @@ -470,48 +1127,69 @@ ALECG::resized() } void -ALECG::writeFields( CkCallback c ) const +ALECG::stage() // ***************************************************************************** -// Output mesh-based fields to file -//! \param[in] c Function to continue with after the write +// Evaluate whether to continue with next time step stage // ***************************************************************************** { - auto d = Disc(); - - // Query and collect field names from PDEs integrated - std::vector< std::string > nodefieldnames; - for (const auto& eq : g_cgpde) { - auto n = eq.fieldNames(); - nodefieldnames.insert( end(nodefieldnames), begin(n), end(n) ); - } + // Increment Runge-Kutta stage counter + ++m_stage; - // Collect node field solution - auto u = m_u; - std::vector< std::vector< tk::real > > nodefields; - for (const auto& eq : g_cgpde) { - auto o = eq.fieldOutput( d->T(), d->meshvol(), d->Coord(), d->V(), u ); - nodefields.insert( end(nodefields), begin(o), end(o) ); - } - - // Send mesh and fields data (solution dump) for output to file - d->write( d->Inpoel(), d->Coord(), {}, tk::remap(m_bnode,d->Lid()), {}, {}, - nodefieldnames, {}, nodefields, c ); + // if not all Runge-Kutta stages complete, continue to next time stage, + // otherwise output field data to file(s) + if (m_stage < 3) chBndGrad(); else out(); } void -ALECG::advance( tk::real newdt ) +ALECG::writeFields( CkCallback c ) const // ***************************************************************************** -// Advance equations to next time step -//! \param[in] newdt Size of this new time step +// Output mesh-based fields to file +//! \param[in] c Function to continue with after the write // ***************************************************************************** { - auto d = Disc(); + if (g_inputdeck.get< tag::cmd, tag::benchmark >()) { - // Set new time step size - d->setdt( newdt ); + c.send(); + + } else { + + auto d = Disc(); + + // Query and collect block and surface field names from PDEs integrated + std::vector< std::string > nodefieldnames; + std::vector< std::string > nodesurfnames; + for (const auto& eq : g_cgpde) { + auto n = eq.fieldNames(); + nodefieldnames.insert( end(nodefieldnames), begin(n), end(n) ); + auto s = eq.surfNames(); + nodesurfnames.insert( end(nodesurfnames), begin(s), end(s) ); + } + + // Collect node block and surface field solution + auto u = m_u; + std::vector< std::vector< tk::real > > nodefields; + std::vector< std::vector< tk::real > > nodesurfs; + for (const auto& eq : g_cgpde) { + auto o = eq.fieldOutput( d->T(), d->meshvol(), d->Coord()[0].size(), + d->Coord(), d->V(), u ); + nodefields.insert( end(nodefields), begin(o), end(o) ); + auto s = eq.surfOutput( tk::bfacenodes(m_bface,m_triinpoel), u ); + nodesurfs.insert( end(nodesurfs), begin(s), end(s) ); + } + + // nodefieldnames.push_back( "initiated" ); + // std::vector< tk::real > initiated( m_u.nunk(), 0.0 ); + // for (auto i : m_boxnodes_set) initiated[i] = 1.0; + // nodefields.push_back( initiated ); + + Assert( nodefieldnames.size() == nodefields.size(), "Size mismatch" ); + + // Send mesh and fields data (solution dump) for output to file + d->write( d->Inpoel(), d->Coord(), m_bface, tk::remap(m_bnode,d->Lid()), + m_triinpoel, {}, nodefieldnames, nodesurfnames, {}, nodefields, + nodesurfs, c ); - // Compute rhs for next time step - rhs(); + } } void @@ -522,28 +1200,40 @@ ALECG::out() { auto d = Disc(); - const auto term = g_inputdeck.get< tag::discr, tag::term >(); - const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); - const auto eps = std::numeric_limits< tk::real >::epsilon(); + // Output time history if we hit its output frequency + const auto histfreq = g_inputdeck.get< tag::interval, tag::history >(); + if ( !((d->It()) % histfreq) ) { + std::vector< std::vector< tk::real > > hist; + for (const auto& eq : g_cgpde) { + auto h = eq.histOutput( d->Hist(), d->Inpoel(), m_u ); + hist.insert( end(hist), begin(h), end(h) ); + } + d->history( std::move(hist) ); + } + const auto fieldfreq = g_inputdeck.get< tag::interval, tag::field >(); // output field data if field iteration count is reached or in the last time // step - if ( !((d->It()) % fieldfreq) || - (std::fabs(d->T()-term) < eps || d->It() >= nstep) ) + if ( !((d->It()) % fieldfreq) || m_finished ) writeFields( CkCallback(CkIndex_ALECG::step(), thisProxy[thisIndex]) ); else step(); } void -ALECG::evalLB() +ALECG::evalLB( int nrestart ) // ***************************************************************************** // Evaluate whether to do load balancing +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { auto d = Disc(); + // Detect if just returned from a checkpoint and if so, zero timers and + // finished flag + if (d->restarted( nrestart )) m_finished = 0; + const auto lbfreq = g_inputdeck.get< tag::cmd, tag::lbfreq >(); const auto nonblocking = g_inputdeck.get< tag::cmd, tag::nonblocking >(); @@ -569,16 +1259,17 @@ ALECG::evalRestart() auto d = Disc(); const auto rsfreq = g_inputdeck.get< tag::cmd, tag::rsfreq >(); + const auto benchmark = g_inputdeck.get< tag::cmd, tag::benchmark >(); - if ( (d->It()) % rsfreq == 0 ) { + if ( !benchmark && (d->It()) % rsfreq == 0 ) { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, + int finished = 0; + d->contribute( sizeof(int), &finished, CkReduction::nop, CkCallback(CkReductionTarget(Transporter,checkpoint), d->Tr()) ); } else { - evalLB(); + evalLB( /* nrestart = */ -1 ); } } @@ -593,21 +1284,16 @@ ALECG::step() // Output one-liner status report to screen d->status(); + // Reset Runge-Kutta stage counter + m_stage = 0; - const auto term = g_inputdeck.get< tag::discr, tag::term >(); - const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); - const auto eps = std::numeric_limits< tk::real >::epsilon(); - - // If neither max iterations nor max time reached, continue, otherwise finish - if (std::fabs(d->T()-term) > eps && d->It() < nstep) { + if (not m_finished) { evalRestart(); } else { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, - CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); + d->contribute( CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); } } diff --git a/src/Inciter/ALECG.hpp b/src/Inciter/ALECG.hpp index 82398a88d17..070fd7b5512 100644 --- a/src/Inciter/ALECG.hpp +++ b/src/Inciter/ALECG.hpp @@ -3,7 +3,7 @@ \file src/Inciter/ALECG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ALECG for a PDE system with continuous Galerkin + ALE + RK \details ALECG advances a system of partial differential equations (PDEs) @@ -70,9 +70,9 @@ class ALECG : public CBase_ALECG { //! Constructor explicit ALECG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ); + const std::vector< std::size_t >& triinpoel ); #if defined(__clang__) #pragma clang diagnostic push @@ -94,11 +94,17 @@ class ALECG : public CBase_ALECG { //! Size communication buffers (no-op) void resizeComm() {} + //! Setup node-neighborhood (no-op) + void nodeNeighSetup() {} + //! Setup: query boundary conditions, output mesh, etc. void setup(); - // Initially compute left hand side diagonal matrix - void init(); + //! Receive total box IC volume and set conditions in box + void box( tk::real v ); + + // Start time stepping + void start(); //! Advance equations to next time step void advance( tk::real newdt ); @@ -106,10 +112,24 @@ class ALECG : public CBase_ALECG { //! Compute left-hand side of transport equations void lhs(); + //! Receive contributions to duual-face normals on chare boundaries + void comdfnorm( + const std::unordered_map< tk::UnsMesh::Edge, + std::array< tk::real, 3 >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> >& dfnorm ); + + //! Receive boundary point normals on chare-boundaries + void comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ); + //! Receive contributions to left-hand side matrix on chare-boundaries void comlhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& L ); + //! Receive contributions to gradients on chare-boundaries + void comChBndGrad( const std::vector< std::size_t >& gid, + const std::vector< std::vector< tk::real > >& G ); + //! Receive contributions to right-hand side vector on chare-boundaries void comrhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& R ); @@ -118,7 +138,7 @@ class ALECG : public CBase_ALECG { void update( const tk::Fields& a ); //! Optionally refine/derefine mesh - void refine(); + void refine( const std::vector< tk::real >& l2res ); //! Receive new mesh from refiner void resizePostAMR( @@ -127,10 +147,10 @@ class ALECG : public CBase_ALECG { const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& addedNodes, const std::unordered_map< std::size_t, std::size_t >& addedTets, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::map< int, std::vector< std::size_t > >& /* bface */, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ); + const std::vector< std::size_t >& triinpoel ); //! Const-ref access to current solution //! \return Const-ref to current solution @@ -143,7 +163,7 @@ class ALECG : public CBase_ALECG { void step(); // Evaluate whether to do load balancing - void evalLB(); + void evalLB( int nrestart ); //! Continue to next time step void next(); @@ -157,15 +177,42 @@ class ALECG : public CBase_ALECG { p | m_initial; p | m_nsol; p | m_nlhs; + p | m_ngrad; p | m_nrhs; + p | m_nbnorm; + p | m_ndfnorm; p | m_bnode; + p | m_bface; + p | m_triinpoel; + p | m_bndel; + p | m_dfnorm; + p | m_dfnormc; + p | m_dfn; + p | m_esup; + p | m_psup; p | m_u; - p | m_du; + p | m_un; p | m_lhs; p | m_rhs; + p | m_chBndGrad; + p | m_bcdir; p | m_lhsc; + p | m_chBndGradc; p | m_rhsc; p | m_diag; + p | m_bnorm; + p | m_bnormc; + p | m_symbcnodes; + p | m_farfieldbcnodes; + p | m_symbctri; + p | m_stage; + p | m_boxnodes; + p | m_boxnodes_set; + p | m_edgenode; + p | m_edgeid; + p | m_dtp; + p | m_tp; + p | m_finished; } //! \brief Pack/Unpack serialize operator| //! \param[in,out] p Charm++'s PUP::er serializer object reference @@ -184,26 +231,97 @@ class ALECG : public CBase_ALECG { std::size_t m_nsol; //! Counter for left-hand side matrix (vector) nodes updated std::size_t m_nlhs; + //! Counter for nodal gradients updated + std::size_t m_ngrad; //! Counter for right-hand side vector nodes updated std::size_t m_nrhs; - //! Boundary node lists mapped to side set ids + //! Counter for receiving boundary point normals + std::size_t m_nbnorm; + //! Counter for receiving dual-face normals on chare-boundary edges + std::size_t m_ndfnorm; + //! Boundary node lists mapped to side set ids used in the input file std::map< int, std::vector< std::size_t > > m_bnode; + //! Boundary face lists mapped to side set ids used in the input file + std::map< int, std::vector< std::size_t > > m_bface; + //! Boundary triangle face connecitivity where BCs are set by user + std::vector< std::size_t > m_triinpoel; + //! Elements along mesh boundary + std::vector< std::size_t > m_bndel; + //! Dual-face normals along edges + std::unordered_map< tk::UnsMesh::Edge, std::array< tk::real, 3 >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> > m_dfnorm; + //! Receive buffer for dual-face normals along chare-boundary edges + std::unordered_map< tk::UnsMesh::Edge, std::array< tk::real, 3 >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> > m_dfnormc; + //! Streamable dual-face normals + std::vector< tk::real > m_dfn; + //! El;ements surrounding points + std::pair< std::vector< std::size_t >, std::vector< std::size_t > > m_esup; + //! Points surrounding points + std::pair< std::vector< std::size_t >, std::vector< std::size_t > > m_psup; //! Unknown/solution vector at mesh nodes tk::Fields m_u; - //! Unknown/solution vector increment (high order) - tk::Fields m_du; + //! Unknown/solution vector at mesh nodes at previous time + tk::Fields m_un; //! Lumped lhs mass matrix tk::Fields m_lhs; //! Right-hand side vector (for the high order system) tk::Fields m_rhs; + //! Nodal gradients at chare-boundary nodes + tk::Fields m_chBndGrad; + //! Boundary conditions evaluated and assigned to local mesh node IDs + //! \details Vector of pairs of bool and boundary condition value associated + //! to local mesh node IDs at which the user has set Dirichlet boundary + //! conditions for all PDEs integrated. The bool indicates whether the BC + //! is set at the node for that component the if true, the real value is + //! the increment (from t to dt) in the BC specified for a component. + std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > > m_bcdir; //! Receive buffer for communication of the left hand side //! \details Key: chare id, value: lhs for all scalar components per node std::unordered_map< std::size_t, std::vector< tk::real > > m_lhsc; + //! Receive buffer for communication of the nodal gradients + //! \details Key: chare id, value: gradients for all scalar components per + //! node + std::unordered_map< std::size_t, std::vector< tk::real > > m_chBndGradc; //! Receive buffer for communication of the right hand side //! \details Key: chare id, value: rhs for all scalar components per node std::unordered_map< std::size_t, std::vector< tk::real > > m_rhsc; //! Diagnostics object NodeDiagnostics m_diag; + //! Face normals in boundary points associated to side sets + //! \details Key: local node id, value: unit normal and inverse distance + //! square between face centroids and points, outer key: side set id + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > m_bnorm; + //! \brief Receive buffer for communication of the boundary point normals + //! associated to side sets + //! \details Key: global node id, value: normals (first 3 components), + //! inverse distance squared (4th component), outer key, side set id + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > m_bnormc; + //! Unique set of nodes at which symmetry BCs are set + std::unordered_set< std::size_t > m_symbcnodes; + //! Unique set of nodes at which farfield BCs are set + std::unordered_set< std::size_t > m_farfieldbcnodes; + //! Vector with 1 at symmetry BC boundary triangles + std::vector< int > m_symbctri; + //! Runge-Kutta stage counter + std::size_t m_stage; + //! Mesh node ids at which user-defined box ICs are defined + std::vector< std::size_t > m_boxnodes; + //! Box nodes that have been set + std::unordered_set< std::size_t > m_boxnodes_set; + //! Local node IDs of edges + std::vector< std::size_t > m_edgenode; + //! Edge ids in the order of access + std::vector< std::size_t > m_edgeid; + //! Time step size for each mesh node + std::vector< tk::real > m_dtp; + //! Physical time for each mesh node + std::vector< tk::real > m_tp; + //! True in the last time step + int m_finished; //! Access bound Discretization class pointer Discretization* Disc() const { @@ -211,6 +329,34 @@ class ALECG : public CBase_ALECG { return m_disc[ thisIndex ].ckLocal(); } + //! Compute normal of dual-mesh associated to edge + std::array< tk::real, 3 > + edfnorm( const tk::UnsMesh::Edge& edge, + const std::unordered_map< tk::UnsMesh::Edge, + std::vector< std::size_t >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> >& esued ); + + //! Find elements along our mesh chunk boundary + std::vector< std::size_t > bndel() const; + + //! Compute chare-boundary edges + void bndEdges(); + + //! Start (re-)computing boundare point-, and dual-face normals + void norm(); + + //! Compute dual-face normals associated to edges + void dfnorm(); + + //! Compute boundary point normals + void + bnorm( const std::unordered_map< int, + std::unordered_set< std::size_t > >& bcnodes ); + + //! \brief Finish computing dual-face and boundary point normals and apply + //! boundary conditions on the initial conditions + void normfinal(); + //! Output mesh and particle fields to files void out(); @@ -220,18 +366,21 @@ class ALECG : public CBase_ALECG { //! Combine own and communicated contributions to left hand side void lhsmerge(); + //! Compute gradients + void chBndGrad(); + //! Compute righ-hand side vector of transport equations void rhs(); - //! Start time stepping - void start(); - //! Solve low and high order diagonal systems void solve(); //! Compute time step size void dt(); + //! Evaluate whether to continue with next time step stage + void stage(); + //! Evaluate whether to save checkpoint/restart void evalRestart(); }; diff --git a/src/Inciter/AMR/Error.cpp b/src/Inciter/AMR/Error.cpp index 4cacb3cfc16..b17dca1c8ab 100644 --- a/src/Inciter/AMR/Error.cpp +++ b/src/Inciter/AMR/Error.cpp @@ -3,7 +3,7 @@ \file src/Inciter/AMR/Error.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Class for computing error estimates for mesh refinement \details Class for computing error estimates for mesh refinement. diff --git a/src/Inciter/AMR/Error.hpp b/src/Inciter/AMR/Error.hpp index aa3272cf723..61bd9b65631 100644 --- a/src/Inciter/AMR/Error.hpp +++ b/src/Inciter/AMR/Error.hpp @@ -3,7 +3,7 @@ \file src/Inciter/AMR/Error.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Class for computing error estimates for mesh refinement \details Class for computing error estimates for mesh refinement. diff --git a/src/Inciter/AMR/edge_store.hpp b/src/Inciter/AMR/edge_store.hpp index d7eb81d2a8d..43a3d698625 100644 --- a/src/Inciter/AMR/edge_store.hpp +++ b/src/Inciter/AMR/edge_store.hpp @@ -109,7 +109,7 @@ namespace AMR { } /** - * @brief Function to add edge to ede store + * @brief Function to add edge to edge store * * @param key The key for the given edge * @param e The edge data diff --git a/src/Inciter/AMR/mesh_adapter.cpp b/src/Inciter/AMR/mesh_adapter.cpp index ad2fbef0e14..b7a23d41d76 100644 --- a/src/Inciter/AMR/mesh_adapter.cpp +++ b/src/Inciter/AMR/mesh_adapter.cpp @@ -110,15 +110,24 @@ namespace AMR { */ void mesh_adapter_t::mark_uniform_derefinement() { - for (auto& kv : tet_store.edge_store.edges) { - auto& local = kv.second; - if (local.lock_case == Edge_Lock_Case::unlocked) - local.needs_derefining = 1; + const auto& inp = tet_store.get_active_inpoel(); + auto& edge_store = tet_store.edge_store; + for (std::size_t t=0; tsecond; + if (local.lock_case == Edge_Lock_Case::unlocked) + local.needs_derefining = 1; + } } - mark_derefinement(); + } + mark_derefinement(); } - /** * @brief For a given set of edges, set their refinement criteria for * refinement @@ -137,13 +146,16 @@ namespace AMR { local.needs_refining = 1; } } else if (r.second == edge_tag::DEREFINE) { - if (local.lock_case == Edge_Lock_Case::unlocked) { + if (local.lock_case > Edge_Lock_Case::unlocked) { + local.needs_derefining = 0; + } else { local.needs_derefining = 1; } } } mark_refinement(); + mark_derefinement(); } void mesh_adapter_t::mark_error_refinement_corr( const EdgeData& edges ) @@ -391,7 +403,7 @@ namespace AMR { } // if num_to_refine else { // If we got here, we don't want to refine this guy - tet_store.marked_refinements.add(tet_id, AMR::Refinement_Case::none); + //tet_store.marked_refinements.add(tet_id, AMR::Refinement_Case::none); } } // if active else { @@ -426,7 +438,7 @@ namespace AMR { */ void mesh_adapter_t::perform_refinement() { - // Track tets which needs to be deleted this iteration + // Track tets which need to be deleted this iteration std::set round_two; trace_out << "Perform ref" << std::endl; @@ -451,7 +463,6 @@ namespace AMR { refiner.refine_one_to_eight(tet_store,node_connectivity,tet_id); break; case AMR::Refinement_Case::two_to_eight: - tet_store.get_parent_id(tet_id); round_two.insert( tet_store.get_parent_id(tet_id) ); //std::cout << "2->8\n"; break; @@ -1364,7 +1375,7 @@ namespace AMR { // What do we do with skip? break; } - // Mark tet as not needing refinement + // Mark tet as not needing derefinement tet_store.marked_derefinements.erase(tet_id); } } diff --git a/src/Inciter/AMR/refinement.hpp b/src/Inciter/AMR/refinement.hpp index 3aca4f347bc..74b6a92f3f8 100644 --- a/src/Inciter/AMR/refinement.hpp +++ b/src/Inciter/AMR/refinement.hpp @@ -25,7 +25,7 @@ namespace AMR { public: - size_t MAX_REFINEMENT_LEVEL = 4; + size_t MAX_REFINEMENT_LEVEL = 10; // TODO: Document this child_id_list_t generate_child_ids( tet_store_t& tet_store, size_t parent_id, size_t count = MAX_CHILDREN) @@ -824,8 +824,37 @@ namespace AMR { void derefine_eight_to_two(tet_store_t& tet_store, node_connectivity_t& node_connectivity, size_t parent_id) { //if (!check_allowed_derefinement(tet_store,parent_id)) return; + + // Figure out which edge is the one that we want to have the + // split along + size_t edge_A = 0; + size_t edge_B = 0; + + // will have 5 edges set to deref, find the one that's not + child_id_list_t children = tet_store.data(parent_id).children; + for (size_t i = 0; i < children.size(); i++) + { + // TODO: Is this in element or tet ids? + edge_list_t edge_list = tet_store.generate_edge_keys(children[i]); + for (size_t k = 0; k < NUM_TET_EDGES; k++) + { + edge_t edge = edge_list[k]; + if (tet_store.edge_store.get(edge).needs_derefining) + { + continue; + } + else + { + // found the non-deref + edge_A = std::min( edge.first(), edge.second() ); + edge_B = std::max( edge.first(), edge.second() ); + //std::cout << "A " << edge_A << " B " << edge_B << std::endl; + } + } + } + derefine_eight_to_one(tet_store, node_connectivity, parent_id); - refine_one_to_two( tet_store, node_connectivity, parent_id); + refine_one_to_two( tet_store, node_connectivity, parent_id, edge_A, edge_B ); } // TODO: Document This. diff --git a/src/Inciter/DG.cpp b/src/Inciter/DG.cpp index 3d01e80f707..2a9fbc00d94 100644 --- a/src/Inciter/DG.cpp +++ b/src/Inciter/DG.cpp @@ -3,7 +3,7 @@ \file src/Inciter/DG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief DG advances a system of PDEs with the discontinuous Galerkin scheme \details DG advances a system of partial differential equations (PDEs) using @@ -26,8 +26,10 @@ #include "Inciter/InputDeck/InputDeck.hpp" #include "Refiner.hpp" #include "Limiter.hpp" +#include "PrefIndicator.hpp" #include "Reorder.hpp" #include "Vector.hpp" +#include "Around.hpp" namespace inciter { @@ -50,9 +52,11 @@ DG::DG( const CProxy_Discretization& disc, m_disc( disc ), m_ncomfac( 0 ), m_nadj( 0 ), + m_ncomEsup( 0 ), m_nsol( 0 ), m_ninitsol( 0 ), m_nlim( 0 ), + m_nreco( 0 ), m_fd( Disc()->Inpoel(), bface, tk::remap(triinpoel,Disc()->Lid()) ), m_u( Disc()->Inpoel().size()/4, g_inputdeck.get< tag::discr, tag::rdof >()* @@ -62,6 +66,10 @@ DG::DG( const CProxy_Discretization& disc, g_inputdeck.get< tag::discr, tag::rdof >()* std::accumulate( begin(g_dgpde), end(g_dgpde), 0u, [](std::size_t s, const DGPDE& eq){ return s + eq.nprim(); } ) ), + m_Unode(m_disc[thisIndex].ckLocal()->Gid().size(), + m_u.nprop()/g_inputdeck.get< tag::discr, tag::rdof >()), + m_Pnode(m_disc[thisIndex].ckLocal()->Gid().size(), + m_p.nprop()/g_inputdeck.get< tag::discr, tag::rdof >()), m_geoFace( tk::genGeoFaceTri( m_fd.Nipfac(), m_fd.Inpofa(), Disc()->Coord()) ), m_geoElem( tk::genGeoElemTet( Disc()->Inpoel(), Disc()->Coord() ) ), m_lhs( m_u.nunk(), @@ -71,9 +79,9 @@ DG::DG( const CProxy_Discretization& disc, m_nfac( m_fd.Inpofa().size()/3 ), m_nunk( m_u.nunk() ), m_ncoord( Disc()->Coord()[0].size() ), - m_msumset( Disc()->msumset() ), m_bndFace(), m_ghostData(), + m_sendGhost(), m_ghostReq( 0 ), m_ghost(), m_exptGhost(), @@ -157,10 +165,12 @@ DG::resizeComm() // Activate SDAG waits for face adjacency map (ghost data) calculation thisProxy[ thisIndex ].wait4ghost(); + thisProxy[ thisIndex ].wait4esup(); // Enable SDAG wait for initially building the solution vector and limiting if (m_initial) { thisProxy[ thisIndex ].wait4sol(); + thisProxy[ thisIndex ].wait4reco(); thisProxy[ thisIndex ].wait4lim(); } @@ -199,10 +209,10 @@ DG::resizeComm() // In the following we assume that the size of the (potential) boundary-face // adjacency map above does not necessarily equal to that of the node - // adjacency map (m_msumset). This is because while a node can be shared at a - // single corner or along an edge, that does not necessarily share a face as - // well (in other words, shared nodes or edges can exist that are not part of - // a shared face). So the chares we communicate with across faces are not + // adjacency map. This is because while a node can be shared at a single + // corner or along an edge, that does not necessarily share a face as well + // (in other words, shared nodes or edges can exist that are not part of a + // shared face). So the chares we communicate with across faces are not // necessarily the same as the chares we would communicate nodes with. // // Since the sizes of the node and face adjacency maps are not the same, while @@ -221,10 +231,11 @@ DG::resizeComm() // communication pattern and code. // Send sets of faces adjacent to chare boundaries to fellow workers (if any) - if (m_msumset.empty()) // in serial, skip setting up ghosts altogether - adj(); + if (d->NodeCommMap().empty()) // in serial, skip setting up ghosts altogether + faceAdj(); else - for (const auto& c : m_msumset) { // for all chares we share nodes with + // for all chares we share nodes with + for (const auto& c : d->NodeCommMap()) { thisProxy[ c.first ].comfac( thisIndex, potbndface ); } @@ -328,7 +339,7 @@ DG::comfac( int fromch, const tk::UnsMesh::FaceSet& infaces ) // if we have heard from all fellow chares that we share at least a single // node, edge, or face with - if (++m_ncomfac == m_msumset.size()) { + if (++m_ncomfac == Disc()->NodeCommMap().size()) { m_ncomfac = 0; comfac_complete(); } @@ -418,12 +429,12 @@ DG::bndFaces() setupGhost(); // Besides setting up our own ghost data, we also issue requests (for ghost // data) to those chares which we share faces with. Note that similar to - // comfac() we are calling reqGhost() by going through msumset instead, - // which may send requests to those chare we do not share faces with. This - // is so that we can test for completing by querying the size of the already - // complete msumset in reqGhost. Requests in sendGhost will only be - // fullfilled based on m_ghostData. - for (const auto& c : m_msumset) // for all chares we share nodes with + // comfac() we are calling reqGhost() by going through the node communication + // map instead, which may send requests to those chare we do not share faces + // with. This is so that we can test for completing by querying the size of + // the already complete node commincation map in reqGhost. Requests in + // sendGhost will only be fullfilled based on m_ghostData. + for (const auto& c : d->NodeCommMap()) // for all chares we share nodes with thisProxy[ c.first ].reqGhost(); } @@ -577,7 +588,7 @@ DG::reqGhost() { // If every chare we communicate with has requested ghost data from us, we may // fulfill the requests, but only if we have already setup our ghost data. - if (++m_ghostReq == m_msumset.size()) { + if (++m_ghostReq == Disc()->NodeCommMap().size()) { m_ghostReq = 0; reqghost_complete(); } @@ -627,7 +638,7 @@ DG::comGhost( int fromch, const GhostData& ghost ) auto ncoord = coord[0].size(); // nodelist with fromch, currently only used for an assert - [[maybe_unused]] const auto& nl = tk::cref_find( m_msumset, fromch ); + [[maybe_unused]] const auto& nl = tk::cref_find( d->NodeCommMap(), fromch ); auto& ghostelem = m_ghost[ fromch ]; // will associate to sender chare @@ -641,7 +652,7 @@ DG::comGhost( int fromch, const GhostData& ghost ) Assert( nodes.size() % 3 == 0, "Face node IDs must be triplets" ); Assert( nodes.size() <= 4*3, "Overflow of faces/tet received" ); - Assert( geo.size() % 4 == 0, "Ghost geometry size mismatch" ); + Assert( geo.size() % 5 == 0, "Ghost geometry size mismatch" ); Assert( geo.size() == m_geoElem.nprop(), "Ghost geometry number mismatch" ); Assert( coordg.size() == 3, "Incorrect ghost node coordinate size" ); Assert( inpoelg.size() == 4, "Incorrect ghost inpoel size" ); @@ -712,8 +723,9 @@ DG::comGhost( int fromch, const GhostData& ghost ) } } - // Signal the runtime system that all workers have received their adjacency - if (++m_nadj == m_ghostData.size()) adj(); + // Signal the runtime system that all workers have received their + // face-adjacency + if (++m_nadj == m_ghostData.size()) faceAdj(); } std::size_t @@ -860,17 +872,15 @@ DG::addGeoFace( const tk::UnsMesh::Face& t, } void -DG::adj() +DG::faceAdj() // ***************************************************************************** // Continue after face adjacency communication map completed on this chare -//! \details At this point the face/ghost communication map has been established -//! on this chare. +//! \details At this point the face communication map has been established +//! on this chare. Proceed to set up the nodal-comm map. // ***************************************************************************** { m_nadj = 0; - if ( g_inputdeck.get< tag::cmd, tag::feedback >() ) Disc()->Tr().chadj(); - tk::destroy(m_bndFace); // Ensure that all elements surrounding faces (are correct) including those at @@ -904,6 +914,178 @@ DG::adj() Assert( faceMatch(), "Chare-boundary element-face connectivity (esuf) does " "not match" ); + // Create new map of elements along chare boundary which are ghosts for + // neighboring chare, associated with that chare ID + for (const auto& [cid, cgd] : m_ghostData) + { + auto& sg = m_sendGhost[cid]; + for (const auto& e : cgd) + { + Assert(sg.find(e.first) == sg.end(), "Repeating element found in " + "ghost data"); + sg.insert(e.first); + } + Assert(sg.size() == cgd.size(), "Incorrect size for sendGhost"); + } + Assert(m_sendGhost.size() == m_ghostData.size(), "Incorrect number of " + "chares in sendGhost"); + + // Error checking on ghost data + for(const auto& n : m_sendGhost) + for([[maybe_unused]] const auto& i : n.second) + Assert( i < m_fd.Esuel().size()/4, "Sender contains ghost tet id. " ); + + // Generate and store Esup data-structure in a map + auto esup = tk::genEsup(Disc()->Inpoel(), 4); + for (std::size_t p=0; pGid().size(); ++p) + { + for (auto e : tk::Around(esup, p)) + { + // since inpoel has been augmented with the face-ghost cell previously, + // genEsup() also contains cells which are not on this mesh-chunk. Hence + // the following test. + if (e < m_fd.Esuel().size()/4) m_esup[p].push_back(e); + } + } + + // Error checking on Esup map + for(const auto& p : m_esup) + for([[maybe_unused]] const auto& e : p.second) + Assert( e < m_fd.Esuel().size()/4, "Esup contains tet id greater than " + + std::to_string(m_fd.Esuel().size()/4-1) +" : "+ std::to_string(e) ); + + contribute( CkCallback(CkReductionTarget(Transporter,startEsup), + Disc()->Tr()) ); +} + +void +DG::nodeNeighSetup() +// ***************************************************************************** +// Setup node-neighborhood (esup) +//! \details At this point the face-ghost communication map has been established +//! on this chare. This function begins generating the node-ghost comm map. +// ***************************************************************************** +{ + if (Disc()->NodeCommMap().empty()) + // in serial, skip setting up node-neighborhood + { comesup_complete(); } + else + { + const auto& nodeCommMap = Disc()->NodeCommMap(); + + // send out node-neighborhood map + for (const auto& [cid, nlist] : nodeCommMap) + { + std::unordered_map< std::size_t, std::vector< std::size_t > > bndEsup; + std::unordered_map< std::size_t, std::vector< tk::real > > nodeBndCells; + for (const auto& p : nlist) + { + auto pl = tk::cref_find(Disc()->Lid(), p); + // fill in the esup for the chare-boundary + const auto& pesup = tk::cref_find(m_esup, pl); + bndEsup[p] = pesup; + + // fill a map with the element ids from esup as keys and geoElem as + // values, and another map containing these elements associated with + // the chare id with which they are node-neighbors. + for (const auto& e : pesup) + { + nodeBndCells[e] = m_geoElem[e]; + + // add these esup-elements into map of elements along chare boundary + Assert( e < m_fd.Esuel().size()/4, "Sender contains ghost tet id." ); + m_sendGhost[cid].insert(e); + } + } + + thisProxy[cid].comEsup(thisIndex, bndEsup, nodeBndCells); + } + } + + ownesup_complete(); +} + +void +DG::comEsup( int fromch, + const std::unordered_map< std::size_t, std::vector< std::size_t > >& bndEsup, + const std::unordered_map< std::size_t, std::vector< tk::real > >& + nodeBndCells ) +// ***************************************************************************** +//! \brief Receive elements-surrounding-points data-structure for points on +// common boundary between receiving and sending neighbor chare, and the +// element geometries for these new elements +//! \param[in] fromch Sender chare id +//! \param[in] bndEsup Elements-surrounding-points data-structure from fromch +//! \param[in] nodeBndCells Map containing element geometries associated with +//! remote element IDs in the esup +// ***************************************************************************** +{ + auto& chghost = m_ghost[fromch]; + + // Extend remote-local element id map and element geometry array + for (const auto& e : nodeBndCells) + { + // need to check following, because 'e' could have been added previously in + // remote-local element id map as a part of face-communication, i.e. as a + // face-ghost element + if (chghost.find(e.first) == chghost.end()) + { + chghost[e.first] = m_nunk; + m_geoElem.push_back(e.second); + ++m_nunk; + } + } + + // Store incoming data in comm-map buffer for Esup + for (const auto& [node, elist] : bndEsup) + { + auto pl = tk::cref_find(Disc()->Lid(), node); + auto& pesup = m_esupc[pl]; + for (auto e : elist) + { + auto el = tk::cref_find(chghost, e); + pesup.push_back(el); + } + } + + // if we have heard from all fellow chares that we share at least a single + // node, edge, or face with + if (++m_ncomEsup == Disc()->NodeCommMap().size()) { + m_ncomEsup = 0; + comesup_complete(); + } +} + +void +DG::adj() +// ***************************************************************************** +// Finish up with adjacency maps, and do a global-sync to begin problem setup +//! \details At this point, the nodal- and face-adjacency has been set up. This +// function does some error checking on the nodal-adjacency and prepares +// for problem setup. +// ***************************************************************************** +{ + for (auto& [p, elist] : m_esupc) + { + auto& pesup = tk::ref_find(m_esup, p); + for ([[maybe_unused]] auto e : elist) + { + Assert( e >= m_fd.Esuel().size()/4, "Non-ghost element received from " + "esup buffer." ); + } + tk::concat< std::size_t >(std::move(elist), pesup); + } + + tk::destroy(m_ghostData); + tk::destroy(m_esupc); + + if ( g_inputdeck.get< tag::cmd, tag::feedback >() ) Disc()->Tr().chadj(); + + // Error checking on ghost data + for(const auto& n : m_sendGhost) + for([[maybe_unused]] const auto& i : n.second) + Assert( i < m_fd.Esuel().size()/4, "Sender contains ghost tet id. "); + // Resize solution vectors, lhs and rhs by the number of ghost tets m_u.resize( m_nunk ); m_un.resize( m_nunk ); @@ -927,13 +1109,21 @@ DG::adj() for (auto& p : m_pc) p.resize( m_bid.size() ); // Initialize number of degrees of freedom in mesh elements - const auto ndof = inciter::g_inputdeck.get< tag::discr, tag::ndof >(); - m_ndof.resize( m_nunk, ndof ); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); + if( pref ) + { + const auto ndofmax = g_inputdeck.get< tag::pref, tag::ndofmax >(); + m_ndof.resize( m_nunk, ndofmax ); + } + else + { + const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); + m_ndof.resize( m_nunk, ndof ); + } - // Ensure that we also have all the geometry and connectivity data + // Ensure that we also have all the geometry and connectivity data // (including those of ghosts) Assert( m_geoElem.nunk() == m_u.nunk(), "GeoElem unknowns size mismatch" ); - Assert( Disc()->Inpoel().size()/4 == m_u.nunk(), "Inpoel size mismatch" ); // Basic error checking on ghost tet ID map Assert( m_ghost.find( thisIndex ) == m_ghost.cend(), @@ -983,14 +1173,10 @@ DG::setup() // Set initial conditions, generate lhs, output mesh // ***************************************************************************** { - tk::destroy(m_msumset); - auto d = Disc(); // Basic error checking on sizes of element geometry data and connectivity Assert( m_geoElem.nunk() == m_lhs.nunk(), "Size mismatch in DG::setup()" ); - Assert( d->Inpoel().size()/4 == m_lhs.nunk(), - "Size mismatch in DG::setup()" ); // Compute left-hand side of discrete PDEs lhs(); @@ -1003,13 +1189,38 @@ DG::setup() eq.updatePrimitives( m_u, m_p, m_fd.Esuel().size()/4 ); } + // Compute volume of user-defined box IC + d->boxvol( {} ); // punt for now + m_un = m_u; +} - // Start timer measuring time stepping wall clock time - d->Timer().zero(); +void +DG::box( tk::real v ) +// ***************************************************************************** +// Receive total box IC volume and set conditions in box +//! \param[in] v Total volume within user-specified box +// ***************************************************************************** +{ + // Store user-defined box IC volume + Disc()->Boxvol() = v; // Output initial conditions to file (regardless of whether it was requested) - writeFields( CkCallback(CkIndex_DG::next(), thisProxy[thisIndex]) ); + writeFields( CkCallback(CkIndex_DG::start(), thisProxy[thisIndex]) ); +} + +void +DG::start() +// ***************************************************************************** +// Start time stepping +// ***************************************************************************** +{ + // Start timer measuring time stepping wall clock time + Disc()->Timer().zero(); + // Zero grind-timer + Disc()->grindZero(); + // Start time stepping by computing the size of the next time step) + next(); } void @@ -1018,29 +1229,37 @@ DG::next() // Advance equations to next time step // ***************************************************************************** { - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); - if (pref && m_stage == 0) eval_ndof(); + auto d = Disc(); + + if (pref && m_stage == 0 && d->T() > 0) + eval_ndof( m_nunk, Disc()->Coord(), Disc()->Inpoel(), m_fd, m_u, + g_inputdeck.get< tag::pref, tag::indicator >(), + g_inputdeck.get< tag::discr, tag::ndof >(), + g_inputdeck.get< tag::pref, tag::ndofmax >(), + g_inputdeck.get< tag::pref, tag::tolref >(), + m_ndof ); // communicate solution ghost data (if any) - if (m_ghostData.empty()) + if (m_sendGhost.empty()) comsol_complete(); else - for(const auto& n : m_ghostData) { - std::vector< std::size_t > tetid( n.second.size() ); - std::vector< std::vector< tk::real > > u( n.second.size() ), - prim( n.second.size() ); + for(const auto& [cid, ghostdata] : m_sendGhost) { + std::vector< std::size_t > tetid( ghostdata.size() ); + std::vector< std::vector< tk::real > > u( ghostdata.size() ), + prim( ghostdata.size() ); std::vector< std::size_t > ndof; std::size_t j = 0; - for(const auto& i : n.second) { - Assert( i.first < m_fd.Esuel().size()/4, "Sending solution ghost data" ); - tetid[j] = i.first; - u[j] = m_u[i.first]; - prim[j] = m_p[i.first]; - if (pref && m_stage == 0) ndof.push_back( m_ndof[i.first] ); + for(const auto& i : ghostdata) { + Assert( i < m_fd.Esuel().size()/4, "Sending solution ghost data" ); + tetid[j] = i; + u[j] = m_u[i]; + prim[j] = m_p[i]; + if (pref && m_stage == 0) ndof.push_back( m_ndof[i] ); ++j; } - thisProxy[ n.first ].comsol( thisIndex, m_stage, tetid, u, prim, ndof ); + thisProxy[ cid ].comsol( thisIndex, m_stage, tetid, u, prim, ndof ); } ownsol_complete(); @@ -1068,7 +1287,7 @@ DG::comsol( int fromch, Assert( u.size() == tetid.size(), "Size mismatch in DG::comsol()" ); Assert( prim.size() == tetid.size(), "Size mismatch in DG::comsol()" ); - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); if (pref && fromstage == 0) Assert( ndof.size() == tetid.size(), "Size mismatch in DG::comsol()" ); @@ -1089,142 +1308,73 @@ DG::comsol( int fromch, } } - // if we have received all solution ghost contributions from those chares we - // communicate along chare-boundary faces with, solve the system - if (++m_nsol == m_ghostData.size()) { + // if we have received all solution ghost contributions from neighboring + // chares (chares we communicate along chare-boundary faces with), and + // contributed our solution to these neighbors, proceed to reconstructions + if (++m_nsol == m_sendGhost.size()) { m_nsol = 0; comsol_complete(); } } void -DG::eval_ndof() +DG::writeFields( CkCallback c ) // ***************************************************************************** -// Calculate the local number of degrees of freedom for each element for -// p-adaptive DG +// Output mesh-based fields to file +//! \param[in] c Function to continue with after the write // ***************************************************************************** { - const auto& esuel = m_fd.Esuel(); - const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); - const auto ncomp = m_u.nprop()/rdof; - const auto& inpoel = Disc()->Inpoel(); - const auto& coord = Disc()->Coord(); - const auto tolref = inciter::g_inputdeck.get< tag::pref, tag::tolref >(); - - const auto& cx = coord[0]; - const auto& cy = coord[1]; - const auto& cz = coord[2]; + if (g_inputdeck.get< tag::cmd, tag::benchmark >()) { - for (std::size_t e=0; e, 4 > coordel {{ - {{ cx[ inpoel[4*e ] ], cy[ inpoel[4*e ] ], cz[ inpoel[4*e ] ] }}, - {{ cx[ inpoel[4*e+1] ], cy[ inpoel[4*e+1] ], cz[ inpoel[4*e+1] ] }}, - {{ cx[ inpoel[4*e+2] ], cy[ inpoel[4*e+2] ], cz[ inpoel[4*e+2] ] }}, - {{ cx[ inpoel[4*e+3] ], cy[ inpoel[4*e+3] ], cz[ inpoel[4*e+3] ] }} - }}; - - auto jacInv = - tk::inverseJacobian( coordel[0], coordel[1], coordel[2], coordel[3] ); - - std::size_t sign(0); - - for (std::size_t c=0; c, 5 > dudxi; - - dudxi[c][0] = 2 * m_u(e, mark+1, 0); - dudxi[c][1] = m_u(e, mark+1, 0) + 3.0 * m_u(e, mark+2, 0); - dudxi[c][2] = m_u(e, mark+1, 0) + m_u(e, mark+2, 0) - + 4.0 * m_u(e, mark+3, 0); - - // Gradient of unkowns in physical space - std::array< std::array< tk::real, 3 >, 5 > dudx; - - dudx[c][0] = dudxi[c][0] * jacInv[0][0] - + dudxi[c][1] * jacInv[1][0] - + dudxi[c][2] * jacInv[2][0]; - - dudx[c][1] = dudxi[c][0] * jacInv[0][1] - + dudxi[c][1] * jacInv[1][1] - + dudxi[c][2] * jacInv[2][1]; - - dudx[c][2] = dudxi[c][0] * jacInv[0][2] - + dudxi[c][1] * jacInv[1][2] - + dudxi[c][2] * jacInv[2][2]; - - auto grad = sqrt( dudx[c][0] * dudx[c][0] - + dudx[c][1] * dudx[c][1] - + dudx[c][2] * dudx[c][2] ); - - if (grad > tolref) ++sign; - } + } else { - if(sign > 0) - m_ndof[e] = 4; - else - m_ndof[e] = 1; + // Copy mesh from Discretization object + auto d = Disc(); + auto inpoel = d->Inpoel(); + auto coord = d->Coord(); + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + const auto& esuel = m_fd.Esuel(); + const auto nielem = esuel.size() / 4; + + // Query fields names from all PDEs integrated + std::vector< std::string > elemfieldnames, nodalfieldnames; + for (const auto& eq : g_dgpde) { + auto n = eq.fieldNames(); + elemfieldnames.insert( end(elemfieldnames), begin(n), end(n) ); + auto nn = eq.nodalFieldNames(); + nodalfieldnames.insert( end(nodalfieldnames), begin(nn), end(nn) ); } - } -} -void -DG::writeFields( CkCallback c ) const -// ***************************************************************************** -// Output mesh-based fields to file -//! \param[in] c Function to continue with after the write -// ***************************************************************************** -{ - auto d = Disc(); - - const auto& esuel = m_fd.Esuel(); + // Collect element and nodal field solution + std::vector< std::vector< tk::real > > elemfields; + std::vector< std::vector< tk::real > > nodefields; + for (const auto& eq : g_dgpde) { + auto no = eq.nodalFieldOutput( d->T(), d->meshvol(), m_ncoord, m_esup, + m_geoElem, m_Unode, m_Pnode, m_u, m_p ); + auto eo = eq.fieldOutput( d->T(), d->meshvol(), rdof, nielem, m_geoElem, + m_u, m_p ); + + // cut off ghost elements from element output + for (auto& f : eo) f.resize( nielem ); + elemfields.insert( end(elemfields), begin(eo), end(eo) ); + nodefields.insert( end(nodefields), begin(no), end(no) ); + } - // Copy mesh form Discretization object and chop off ghosts for dump - auto inpoel = d->Inpoel(); - inpoel.resize( esuel.size() ); - auto coord = d->Coord(); - for (std::size_t i=0; i<3; ++i) coord[i].resize( m_ncoord ); - - // Query fields names from all PDEs integrated - std::vector< std::string > elemfieldnames; - for (const auto& eq : g_dgpde) { - auto n = eq.fieldNames(); - elemfieldnames.insert( end(elemfieldnames), begin(n), end(n) ); - } + // chop off ghosts from mesh for dump + inpoel.resize( esuel.size() ); + for (std::size_t i=0; i<3; ++i) coord[i].resize( m_ncoord ); - // Collect element field solution - std::vector< std::vector< tk::real > > elemfields; - auto u = m_u; - for (const auto& eq : g_dgpde) { - auto o = eq.fieldOutput( d->T(), m_geoElem, u ); + // Add adaptive indicator array to element-centered field output + std::vector ndof( begin(m_ndof), end(m_ndof) ); + ndof.resize( nielem ); // cut off ghosts + elemfields.push_back( ndof ); - // cut off ghost elements - for (auto& f : o) f.resize( esuel.size()/4 ); - elemfields.insert( end(elemfields), begin(o), end(o) ); + // Output chare mesh and fields metadata to file + d->write( inpoel, coord, m_fd.Bface(), {}, m_fd.Triinpoel(), elemfieldnames, + nodalfieldnames, {}, elemfields, nodefields, {}, c ); } - - // Add adaptive indicator array to element-centered field output - std::vector ndof( begin(m_ndof), end(m_ndof) ); - ndof.resize( esuel.size()/4 ); // cut off ghosts - elemfields.push_back( ndof ); - - // // Collect node field solution - // std::vector< std::vector< tk::real > > nodefields; - // for (const auto& eq : g_dgpde) { - // auto fields = - // eq.avgElemToNode( d->Inpoel(), d->Coord(), m_geoElem, m_u ); - // nodefields.insert( end(nodefields), begin(fields), end(fields) ); - // } - - // Output chare mesh and fields metadata to file - d->write( inpoel, coord, m_fd.Bface(), {}, m_fd.Triinpoel(), elemfieldnames, - {}, elemfields, {}, c ); } void @@ -1239,15 +1389,15 @@ DG::lhs() } void -DG::lim() +DG::reco() // ***************************************************************************** -// Compute limiter function +// Compute reconstructions // ***************************************************************************** { - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); - const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - // Combine own and communicated contributions of unlimited solution and + // Combine own and communicated contributions of unreconstructed solution and // degrees of freedom in cells (if p-adaptive) for (const auto& b : m_bid) { Assert( m_uc[0][b.second].size() == m_u.nprop(), "ncomp size mismatch" ); @@ -1266,40 +1416,145 @@ DG::lim() if (pref && m_stage==0) propagate_ndof(); if (rdof > 1) { - auto d = Disc(); // Reconstruct second-order solution and primitive quantities // if P0P1 - if (rdof == 4 && inciter::g_inputdeck.get< tag::discr, tag::ndof >() == 1) + if (rdof == 4 && g_inputdeck.get< tag::discr, tag::ndof >() == 1) for (const auto& eq : g_dgpde) - eq.reconstruct( d->T(), m_geoFace, m_geoElem, m_fd, d->Inpoel(), + eq.reconstruct( d->T(), m_geoFace, m_geoElem, m_fd, m_esup, d->Inpoel(), d->Coord(), m_u, m_p ); + } + + // Send reconstructed solution to neighboring chares + if (m_sendGhost.empty()) + comreco_complete(); + else + for(const auto& [cid, ghostdata] : m_sendGhost) { + std::vector< std::size_t > tetid( ghostdata.size() ); + std::vector< std::vector< tk::real > > u( ghostdata.size() ), + prim( ghostdata.size() ); + std::vector< std::size_t > ndof; + std::size_t j = 0; + for(const auto& i : ghostdata) { + Assert( i < m_fd.Esuel().size()/4, "Sending reconstructed ghost " + "data" ); + tetid[j] = i; + u[j] = m_u[i]; + prim[j] = m_p[i]; + if (pref && m_stage == 0) ndof.push_back( m_ndof[i] ); + ++j; + } + thisProxy[ cid ].comreco( thisIndex, tetid, u, prim, ndof ); + } + + ownreco_complete(); +} + +void +DG::comreco( int fromch, + const std::vector< std::size_t >& tetid, + const std::vector< std::vector< tk::real > >& u, + const std::vector< std::vector< tk::real > >& prim, + const std::vector< std::size_t >& ndof ) +// ***************************************************************************** +// Receive chare-boundary reconstructed ghost data from neighboring chares +//! \param[in] fromch Sender chare id +//! \param[in] tetid Ghost tet ids we receive solution data for +//! \param[in] u Reconstructed high-order solution +//! \param[in] prim Limited high-order primitive quantities +//! \param[in] ndof Number of degrees of freedom for chare-boundary elements +//! \details This function receives contributions to the reconstructed solution +//! from fellow chares. +// ***************************************************************************** +{ + Assert( u.size() == tetid.size(), "Size mismatch in DG::comreco()" ); + Assert( prim.size() == tetid.size(), "Size mismatch in DG::comreco()" ); + + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); + + if (pref && m_stage == 0) + Assert( ndof.size() == tetid.size(), "Size mismatch in DG::comreco()" ); + + // Find local-to-ghost tet id map for sender chare + const auto& n = tk::cref_find( m_ghost, fromch ); + + for (std::size_t i=0; i= m_fd.Esuel().size()/4, "Receiving solution non-ghost data" ); + auto b = tk::cref_find( m_bid, j ); + Assert( b < m_uc[1].size(), "Indexing out of bounds" ); + Assert( b < m_pc[1].size(), "Indexing out of bounds" ); + m_uc[1][b] = u[i]; + m_pc[1][b] = prim[i]; + if (pref && m_stage == 0) { + Assert( b < m_ndofc[1].size(), "Indexing out of bounds" ); + m_ndofc[1][b] = ndof[i]; + } + } + + // if we have received all solution ghost contributions from neighboring + // chares (chares we communicate along chare-boundary faces with), and + // contributed our solution to these neighbors, proceed to limiting + if (++m_nreco == m_sendGhost.size()) { + m_nreco = 0; + comreco_complete(); + } +} + +void +DG::lim() +// ***************************************************************************** +// Compute limiter function +// ***************************************************************************** +{ + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + + // Combine own and communicated contributions of unlimited solution, and + // if a p-adaptive algorithm is used, degrees of freedom in cells + for (const auto& [boundary, localtet] : m_bid) { + Assert( m_uc[1][localtet].size() == m_u.nprop(), "ncomp size mismatch" ); + Assert( m_pc[1][localtet].size() == m_p.nprop(), "ncomp size mismatch" ); + for (std::size_t c=0; c 1) { + auto d = Disc(); for (const auto& eq : g_dgpde) - eq.limit( d->T(), m_geoFace, m_geoElem, m_fd, d->Inpoel(), d->Coord(), - m_ndof, m_u, m_p ); + eq.limit( d->T(), m_geoFace, m_geoElem, m_fd, m_esup, d->Inpoel(), + d->Coord(), m_ndof, m_u, m_p ); } + // Send limited solution to neighboring chares - if (m_ghostData.empty()) + if (m_sendGhost.empty()) comlim_complete(); else - for(const auto& n : m_ghostData) { - std::vector< std::size_t > tetid( n.second.size() ); - std::vector< std::vector< tk::real > > u( n.second.size() ), - prim( n.second.size() ); + for(const auto& [cid, ghostdata] : m_sendGhost) { + std::vector< std::size_t > tetid( ghostdata.size() ); + std::vector< std::vector< tk::real > > u( ghostdata.size() ), + prim( ghostdata.size() ); std::vector< std::size_t > ndof; std::size_t j = 0; - for(const auto& i : n.second) { - Assert( i.first < m_fd.Esuel().size()/4, "Sending limiter ghost data" ); - tetid[j] = i.first; - u[j] = m_u[i.first]; - prim[j] = m_p[i.first]; - if (pref && m_stage == 0) ndof.push_back( m_ndof[i.first] ); + for(const auto& i : ghostdata) { + Assert( i < m_fd.Esuel().size()/4, "Sending limiter ghost data" ); + tetid[j] = i; + u[j] = m_u[i]; + prim[j] = m_p[i]; + if (pref && m_stage == 0) ndof.push_back( m_ndof[i] ); ++j; } - thisProxy[ n.first ].comlim( thisIndex, tetid, u, prim, ndof ); + thisProxy[ cid ].comlim( thisIndex, tetid, u, prim, ndof ); } ownlim_complete(); @@ -1318,18 +1573,18 @@ DG::propagate_ndof() // Copy number of degrees of freedom for each cell auto ndof = m_ndof; - // p-refine (DGP0 -> DGP1) all neighboring elements of elements that have - // been p-refined (DGP0 -> DGP1) as a result of error indicators + // p-refine all neighboring elements of elements that have been p-refined as a + // result of error indicators for( auto f=m_fd.Nbfac(); f(esuf[2*f]); std::size_t er = static_cast< std::size_t >(esuf[2*f+1]); - if (m_ndof[el] == 4) - ndof[er] = 4; + if (m_ndof[el] > m_ndof[er]) + ndof[er] = m_ndof[el]; - if (m_ndof[er] == 4) - ndof[el] = 4; + if (m_ndof[el] < m_ndof[er]) + ndof[el] = m_ndof[er]; } // Update number of degrees of freedom for each cell @@ -1356,7 +1611,7 @@ DG::comlim( int fromch, Assert( u.size() == tetid.size(), "Size mismatch in DG::comlim()" ); Assert( prim.size() == tetid.size(), "Size mismatch in DG::comlim()" ); - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); if (pref && m_stage == 0) Assert( ndof.size() == tetid.size(), "Size mismatch in DG::comlim()" ); @@ -1368,19 +1623,20 @@ DG::comlim( int fromch, auto j = tk::cref_find( n, tetid[i] ); Assert( j >= m_fd.Esuel().size()/4, "Receiving solution non-ghost data" ); auto b = tk::cref_find( m_bid, j ); - Assert( b < m_uc[1].size(), "Indexing out of bounds" ); - Assert( b < m_pc[1].size(), "Indexing out of bounds" ); - m_uc[1][b] = u[i]; - m_pc[1][b] = prim[i]; + Assert( b < m_uc[2].size(), "Indexing out of bounds" ); + Assert( b < m_pc[2].size(), "Indexing out of bounds" ); + m_uc[2][b] = u[i]; + m_pc[2][b] = prim[i]; if (pref && m_stage == 0) { - Assert( b < m_ndofc[1].size(), "Indexing out of bounds" ); - m_ndofc[1][b] = ndof[i]; + Assert( b < m_ndofc[2].size(), "Indexing out of bounds" ); + m_ndofc[2][b] = ndof[i]; } } - // if we have received all solution ghost contributions from those chares we - // communicate along chare-boundary faces with, solve the system - if (++m_nlim == m_ghostData.size()) { + // if we have received all solution ghost contributions from neighboring + // chares (chares we communicate along chare-boundary faces with), and + // contributed our solution to these neighbors, proceed to limiting + if (++m_nlim == m_sendGhost.size()) { m_nlim = 0; comlim_complete(); } @@ -1392,23 +1648,23 @@ DG::dt() // Compute time step size // ***************************************************************************** { - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); auto d = Disc(); // Combine own and communicated contributions of limited solution and degrees // of freedom in cells (if p-adaptive) for (const auto& b : m_bid) { - Assert( m_uc[1][b.second].size() == m_u.nprop(), "ncomp size mismatch" ); - Assert( m_pc[1][b.second].size() == m_p.nprop(), "ncomp size mismatch" ); + Assert( m_uc[2][b.second].size() == m_u.nprop(), "ncomp size mismatch" ); + Assert( m_pc[2][b.second].size() == m_p.nprop(), "ncomp size mismatch" ); for (std::size_t c=0; cCoord(), d->Inpoel(), m_fd, m_geoFace, m_geoElem, m_ndof, m_u ); + eq.dt( d->Coord(), d->Inpoel(), m_fd, m_geoFace, m_geoElem, m_ndof, + m_u, m_p, m_fd.Esuel().size()/4 ); if (eqdt < mindt) mindt = eqdt; } - auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); - tk::real dgp = 0.0; - - if (ndof == 4) - { - dgp = 1.0; - } - else if (ndof == 10) - { - dgp = 2.0; - } - - // Scale smallest dt with CFL coefficient and the CFL is scaled by (2*p+1) - // where p is the order of the DG polynomial by linear stability theory. - mindt *= g_inputdeck.get< tag::discr, tag::cfl >() / (2.0*dgp + 1.0); - + mindt *= g_inputdeck.get< tag::discr, tag::cfl >(); } } else @@ -1471,20 +1713,21 @@ DG::solve( tk::real newdt ) { // Enable SDAG wait for building the solution vector during the next stage thisProxy[ thisIndex ].wait4sol(); + thisProxy[ thisIndex ].wait4reco(); thisProxy[ thisIndex ].wait4lim(); auto d = Disc(); - const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); - const auto ndof = inciter::g_inputdeck.get< tag::discr, tag::ndof >(); + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); const auto neq = m_u.nprop()/rdof; // Set new time step size if (m_stage == 0) d->setdt( newdt ); - const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + const auto pref = g_inputdeck.get< tag::pref, tag::pref >(); if (pref && m_stage == 0) { - // When the element are coarsened, high order term should be zero + // When the element are coarsened, high order terms should be zero for(std::size_t e = 0; e < m_nunk; e++) { const auto ncomp= m_u.nprop()/rdof; @@ -1497,6 +1740,18 @@ DG::solve( tk::real newdt ) m_u(e, mark+2, 0) = 0.0; m_u(e, mark+3, 0) = 0.0; } + } else if(m_ndof[e] == 4) + { + for (std::size_t c=0; cnext(); // Continue to mesh refinement (if configured) - if (!diag_computed) refine(); + if (!diag_computed) refine( std::vector< tk::real >( m_u.nprop(), 0.0 ) ); } } void -DG::refine() +DG::refine( [[maybe_unused]] const std::vector< tk::real >& l2res ) // ***************************************************************************** // Optionally refine/derefine mesh +//! \param[in] l2res L2-norms of the residual for each scalar component +//! computed across the whole problem // ***************************************************************************** { auto d = Disc(); @@ -1577,7 +1837,7 @@ DG::resizePostAMR( const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& /*addedNodes*/, const std::unordered_map< std::size_t, std::size_t >& addedTets, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& /* bnode */, const std::vector< std::size_t >& triinpoel ) @@ -1586,7 +1846,7 @@ DG::resizePostAMR( //! \param[in] chunk New mesh chunk (connectivity and global<->local id maps) //! \param[in] coord New mesh node coordinates //! \param[in] addedTets Newly added mesh cells and their parents (local ids) -//! \param[in] msum New node communication map +//! \param[in] nodeCommMap New node communication map //! \param[in] bface Boundary-faces mapped to side set ids //! \param[in] triinpoel Boundary-face connectivity // ***************************************************************************** @@ -1606,7 +1866,7 @@ DG::resizePostAMR( [[maybe_unused]] auto old_nelem = d->Inpoel().size()/4; // Resize mesh data structures - d->resizePostAMR( chunk, coord, msum ); + d->resizePostAMR( chunk, coord, nodeCommMap ); // Update state auto nelem = d->Inpoel().size()/4; @@ -1627,10 +1887,11 @@ DG::resizePostAMR( m_nfac = m_fd.Inpofa().size()/3; m_nunk = nelem; m_ncoord = coord[0].size(); - m_msumset = d->msumset(); m_bndFace.clear(); - m_ghostData.clear(); + m_exptGhost.clear(); + m_sendGhost.clear(); m_ghost.clear(); + m_esup.clear(); // Update solution on new mesh, P0 (cell center value) only for now m_un = m_u; @@ -1689,13 +1950,17 @@ DG::stage() } void -DG::evalLB() +DG::evalLB( int nrestart ) // ***************************************************************************** // Evaluate whether to do load balancing +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { auto d = Disc(); + // Detect if just returned from a checkpoint and if so, zero timers + d->restarted( nrestart ); + const auto lbfreq = g_inputdeck.get< tag::cmd, tag::lbfreq >(); const auto nonblocking = g_inputdeck.get< tag::cmd, tag::nonblocking >(); @@ -1721,16 +1986,17 @@ DG::evalRestart() auto d = Disc(); const auto rsfreq = g_inputdeck.get< tag::cmd, tag::rsfreq >(); + const auto benchmark = g_inputdeck.get< tag::cmd, tag::benchmark >(); - if ( (d->It()) % rsfreq == 0 ) { + if ( !benchmark && (d->It()) % rsfreq == 0 ) { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, + int finished = 0; + d->contribute( sizeof(int), &finished, CkReduction::nop, CkCallback(CkReductionTarget(Transporter,checkpoint), d->Tr()) ); } else { - evalLB(); + evalLB( /* nrestart = */ -1 ); } } @@ -1759,9 +2025,7 @@ DG::step() } else { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, - CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); + d->contribute( CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); } } diff --git a/src/Inciter/DG.hpp b/src/Inciter/DG.hpp index f44dbc3e52b..f434e9ee4ed 100644 --- a/src/Inciter/DG.hpp +++ b/src/Inciter/DG.hpp @@ -3,7 +3,7 @@ \file src/Inciter/DG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief DG advances a system of PDEs with the discontinuous Galerkin scheme \details DG advances a system of partial differential equations (PDEs) using @@ -99,14 +99,30 @@ class DG : public CBase_DG { //! Send all of our ghost data to fellow chares void sendGhost(); + //! Setup node-neighborhood (esup) + void nodeNeighSetup(); + + //! Receive element-surr-points data on chare boundaries from fellow chare + void comEsup( int fromch, + const std::unordered_map< std::size_t, std::vector< std::size_t > >& + bndEsup, + const std::unordered_map< std::size_t, std::vector< tk::real > >& + nodeBndCells ); + //! Configure Charm++ reduction types for concatenating BC nodelists static void registerReducers(); //! Setup: query boundary conditions, output mesh, etc. void setup(); + //! Receive total box IC volume and set conditions in box + void box( tk::real v ); + // Evaluate whether to do load balancing - void evalLB(); + void evalLB( int nrestart ); + + //! Start time stepping + void start(); //! Continue to next time step void next(); @@ -118,6 +134,13 @@ class DG : public CBase_DG { const std::vector< std::vector< tk::real > >& prim, const std::vector< std::size_t >& ndof ); + //! Receive chare-boundary reconstructed data from neighboring chares + void comreco( int fromch, + const std::vector< std::size_t >& tetid, + const std::vector< std::vector< tk::real > >& u, + const std::vector< std::vector< tk::real > >& prim, + const std::vector< std::size_t >& ndof ); + //! Receive chare-boundary ghost data from neighboring chares void comsol( int fromch, std::size_t fromstage, @@ -127,7 +150,7 @@ class DG : public CBase_DG { const std::vector< std::size_t >& ndof ); //! Optionally refine/derefine mesh - void refine(); + void refine( const std::vector< tk::real >& l2res ); //! Receive new mesh from refiner void resizePostAMR( @@ -136,7 +159,7 @@ class DG : public CBase_DG { const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& /* addedNodes */, const std::unordered_map< std::size_t, std::size_t >& addedTets, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& /* bnode */, const std::vector< std::size_t >& triinpoel ); @@ -148,9 +171,6 @@ class DG : public CBase_DG { //! Compute left hand side void lhs(); - //! Compute limiter function - void lim(); - //! Const-ref access to current solution //! \param[in,out] u Reference to update with current solution void solution( tk::Fields& u ) const { u = m_u; } @@ -172,13 +192,17 @@ class DG : public CBase_DG { p | m_disc; p | m_ncomfac; p | m_nadj; + p | m_ncomEsup; p | m_nsol; p | m_ninitsol; p | m_nlim; + p | m_nreco; p | m_fd; p | m_u; p | m_un; p | m_p; + p | m_Unode; + p | m_Pnode; p | m_geoFace; p | m_geoElem; p | m_lhs; @@ -186,10 +210,10 @@ class DG : public CBase_DG { p | m_nfac; p | m_nunk; p | m_ncoord; - p | m_msumset; p | m_ipface; p | m_bndFace; p | m_ghostData; + p | m_sendGhost; p | m_ghostReq; p | m_ghost; p | m_exptGhost; @@ -204,6 +228,8 @@ class DG : public CBase_DG { p | m_initial; p | m_expChBndFace; p | m_infaces; + p | m_esup; + p | m_esupc; } //! \brief Pack/Unpack serialize operator| //! \param[in,out] p Charm++'s PUP::er serializer object reference @@ -228,6 +254,8 @@ class DG : public CBase_DG { std::size_t m_ncomfac; //! Counter signaling that all ghost data have been received std::size_t m_nadj; + //! Counter for element-surr-node adjacency communication map + std::size_t m_ncomEsup; //! Counter signaling that we have received all our solution ghost data std::size_t m_nsol; //! \brief Counter signaling that we have received all our solution ghost @@ -235,6 +263,8 @@ class DG : public CBase_DG { std::size_t m_ninitsol; //! Counter signaling that we have received all our limiter function ghost data std::size_t m_nlim; + //! Counter signaling that we have received all our reconstructed ghost data + std::size_t m_nreco; //! Face data FaceData m_fd; //! Vector of unknown/solution average over each mesh element @@ -243,6 +273,10 @@ class DG : public CBase_DG { tk::Fields m_un; //! Vector of primitive quantities over each mesh element tk::Fields m_p; + //! Vector of unknown/solution at each mesh node + tk::Fields m_Unode; + //! Vector of primitive quantities at each mesh node + tk::Fields m_Pnode; //! Face geometry tk::Fields m_geoFace; //! Element geometry @@ -257,12 +291,6 @@ class DG : public CBase_DG { std::size_t m_nunk; //! Counter for number of nodes on this chare excluding ghosts std::size_t m_ncoord; - //! \brief Global mesh node IDs bordering the mesh chunk held by fellow - //! worker chares associated to their chare IDs - //! \details msum: mesh chunks surrounding mesh chunks and their neighbor - //! points. This is the same data as in Discretization::m_msum, but the - //! nodelist is stored as a set. - std::unordered_map< int, std::unordered_set< std::size_t > > m_msumset; //! Internal + physical boundary faces (inverse of inpofa) tk::UnsMesh::FaceSet m_ipface; //! Face & tet IDs associated to global node IDs of the face for each chare @@ -272,6 +300,8 @@ class DG : public CBase_DG { std::unordered_map< int, FaceMap > m_bndFace; //! Ghost data associated to chare IDs we communicate with std::unordered_map< int, GhostData > m_ghostData; + //! Elements which are ghosts for other chares associated to those chare IDs + std::unordered_map< int, std::unordered_set< std::size_t > > m_sendGhost; //! Number of chares requesting ghost data std::size_t m_ghostReq; //! Local element id associated to ghost remote id charewise @@ -293,18 +323,22 @@ class DG : public CBase_DG { //! Map local ghost tet ids (value) and zero-based boundary ids (key) std::unordered_map< std::size_t, std::size_t > m_bid; //! Solution receive buffers for ghosts only - std::array< std::vector< std::vector< tk::real > >, 2 > m_uc; + std::array< std::vector< std::vector< tk::real > >, 3 > m_uc; //! Primitive-variable receive buffers for ghosts only - std::array< std::vector< std::vector< tk::real > >, 2 > m_pc; + std::array< std::vector< std::vector< tk::real > >, 3 > m_pc; //! \brief Number of degrees of freedom (for p-adaptive) receive buffers //! for ghosts only - std::array< std::vector< std::size_t >, 2 > m_ndofc; + std::array< std::vector< std::size_t >, 3 > m_ndofc; //! 1 if starting time stepping, 0 if during time stepping int m_initial; //! Unique set of chare-boundary faces this chare is expected to receive tk::UnsMesh::FaceSet m_expChBndFace; //! Incoming communication buffer during chare-boundary face communication std::unordered_map< int, tk::UnsMesh::FaceSet > m_infaces; + //! Elements (value) surrounding point (key) data-structure + std::map< std::size_t, std::vector< std::size_t > > m_esup; + //! Communication buffer for esup data-structure + std::map< std::size_t, std::vector< std::size_t > > m_esupc; //! Access bound Discretization class pointer Discretization* Disc() const { @@ -339,6 +373,9 @@ class DG : public CBase_DG { void setupGhost(); //! Continue after face adjacency communication map completed on this chare + void faceAdj(); + + //! Continue after node adjacency communication map completed on this chare void adj(); //! Fill elements surrounding a face along chare boundary @@ -349,6 +386,8 @@ class DG : public CBase_DG { std::size_t ghostid, const tk::UnsMesh::Face& t ); + void addEsup(); + //! Fill face geometry data along chare boundary void addGeoFace( const tk::UnsMesh::Face& t, const std::array< std::size_t, 2 >& id ); @@ -357,7 +396,13 @@ class DG : public CBase_DG { void out(); //! Output mesh-based fields to file - void writeFields( CkCallback c ) const; + void writeFields( CkCallback c ); + + //! Compute solution reconstructions + void reco(); + + //! Compute limiter function + void lim(); //! Compute time step size void dt(); @@ -368,10 +413,6 @@ class DG : public CBase_DG { //! Evaluate whether to save checkpoint/restart void evalRestart(); - //! Calculate the local number of degrees of freedom for each element for - //! p-adaptive DG - void eval_ndof(); - //! p-refine all elements that are adjacent to p-refined elements void propagate_ndof(); }; diff --git a/src/Inciter/DiagCG.cpp b/src/Inciter/DiagCG.cpp index e8760f61795..41d4733d047 100644 --- a/src/Inciter/DiagCG.cpp +++ b/src/Inciter/DiagCG.cpp @@ -3,7 +3,7 @@ \file src/Inciter/DiagCG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief DiagCG for a PDE system with continuous Galerkin without a matrix \details DiagCG advances a system of partial differential equations (PDEs) @@ -32,6 +32,7 @@ #include "NodeBC.hpp" #include "Refiner.hpp" #include "Reorder.hpp" +#include "Integrate/Mass.hpp" namespace inciter { @@ -44,41 +45,218 @@ extern std::vector< CGPDE > g_cgpde; using inciter::DiagCG; DiagCG::DiagCG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ) : + const std::vector< std::size_t >& triinpoel ) : m_disc( disc ), m_initial( 1 ), m_nsol( 0 ), m_nlhs( 0 ), m_nrhs( 0 ), + m_nnorm( 0 ), m_bnode( bnode ), - m_u( m_disc[thisIndex].ckLocal()->Gid().size(), - g_inputdeck.get< tag::component >().nprop() ), + m_bface( bface ), + m_triinpoel( tk::remap(triinpoel,Disc()->Lid()) ), + m_u( Disc()->Gid().size(), g_inputdeck.get< tag::component >().nprop() ), m_ul( m_u.nunk(), m_u.nprop() ), m_du( m_u.nunk(), m_u.nprop() ), - m_ue( m_disc[thisIndex].ckLocal()->Inpoel().size()/4, m_u.nprop() ), + m_ue( Disc()->Inpoel().size()/4, m_u.nprop() ), m_lhs( m_u.nunk(), m_u.nprop() ), m_rhs( m_u.nunk(), m_u.nprop() ), - m_bc(), + m_bcdir(), m_lhsc(), m_rhsc(), m_difc(), - m_diag() + m_vol(), + m_bnorm(), + m_bnormc(), + m_symbcnodemap(), + m_symbcnodes(), + m_farfieldbcnodes(), + m_diag(), + m_boxnodes(), + m_boxnodes_set(), + m_dtp( m_u.nunk(), 0.0 ), + m_tp( m_u.nunk(), g_inputdeck.get< tag::discr, tag::t0 >() ), + m_finished( 0 ) // ***************************************************************************** // Constructor //! \param[in] disc Discretization proxy +//! \param[in] bface Boundary-faces mapped to side set ids //! \param[in] bnode Boundary-node lists mapped to side set ids +//! \param[in] triinpoel Boundary-face connectivity // ***************************************************************************** { usesAtSync = true; // enable migration at AtSync - // Activate SDAG wait for initially computing the left-hand side + auto d = Disc(); + + // Perform optional operator-access-pattern mesh node reordering + if (g_inputdeck.get< tag::discr, tag::operator_reorder >()) { + + const auto& inpoel = d->Inpoel(); + + // Create new local ids based on access pattern of PDE operators + std::unordered_map< std::size_t, std::size_t > map; + std::size_t n = 0; + + for (std::size_t e=0; eGid().size(), "Map size mismatch" ); + + // Remap data in bound Discretization object + d->remap( map ); + // Remap local ids in DistFCT + d->FCT()->remap( *d ); + // Remap boundary triangle face connectivity + tk::remap( m_triinpoel, map ); + + } + + // Activate SDAG wait + thisProxy[ thisIndex ].wait4norm(); thisProxy[ thisIndex ].wait4lhs(); + // Query nodes at which symmetry BCs are specified + auto bcnodes = d->bcnodes< tag::bcsym >( m_bface, m_triinpoel ); + // Query nodes at which farfield BCs are specified + auto farfieldbcnodes = d->bcnodes< tag::bcfarfield >( m_bface, m_triinpoel ); + + // Merge BC data where boundary-point normals are required + for (const auto& [s,n] : farfieldbcnodes) + bcnodes[s].insert( begin(n), end(n) ); + + // Compute boundary point normals + bnorm( bcnodes ); +} + +void +DiagCG::bnorm( const std::unordered_map< int, + std::unordered_set< std::size_t > >& bcnodes ) +// ***************************************************************************** +// Compute boundary point normals +//! \param[in] bcnodes Local node ids associated to side set ids at which BCs +//! are set that require normals +// ***************************************************************************** +{ + auto d = Disc(); + + m_bnorm = cg::bnorm( m_bface, m_triinpoel, d->Coord(), d->Gid(), bcnodes ); + + // Send our nodal normal contributions to neighbor chares + if (d->NodeCommMap().empty()) + comnorm_complete(); + else + for (const auto& [ neighborchare, sharednodes ] : d->NodeCommMap()) { + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > exp; + for (auto i : sharednodes) { + for (const auto& [s,norms] : m_bnorm) { + auto j = norms.find(i); + if (j != end(norms)) exp[s][i] = j->second; + } + } + thisProxy[ neighborchare ].comnorm( exp ); + } + + ownnorm_complete(); +} + +void +DiagCG::comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ) +// ***************************************************************************** +// Receive boundary point normals on chare-boundaries +//! \param[in] innorm Incoming partial sums of boundary point normal +//! contributions to normals (first 3 components), inverse distance squared +//! (4th component) +// ***************************************************************************** +{ + // Buffer up inccoming boundary-point normal vector contributions + for (const auto& [s,norms] : innorm) { + auto& bnorms = m_bnormc[s]; + for (const auto& [p,n] : norms) { + auto& bnorm = bnorms[p]; + bnorm[0] += n[0]; + bnorm[1] += n[1]; + bnorm[2] += n[2]; + bnorm[3] += n[3]; + } + } + + if (++m_nnorm == Disc()->NodeCommMap().size()) { + m_nnorm = 0; + comnorm_complete(); + } +} + +void +DiagCG::normfinal() +// ***************************************************************************** +// Finish computing boundary point normals +// ***************************************************************************** +{ + auto d = Disc(); + const auto& lid = d->Lid(); + + // Combine own and communicated contributions to boundary point normals + for (const auto& [s,norms] : m_bnormc) + for (const auto& [p,n] : norms) { + auto k = m_bnorm.find(s); + if (k != end(m_bnorm)) { + auto j = k->second.find(p); + if (j != end(k->second)) { + auto& norm = j->second; + norm[0] += n[0]; + norm[1] += n[1]; + norm[2] += n[2]; + norm[3] += n[3]; + } + } + } + tk::destroy( m_bnormc ); + + // Divie summed point normals by the sum of inverse distance squared + for (auto& [s,norms] : m_bnorm) + for (auto& [p,n] : norms) { + n[0] /= n[3]; + n[1] /= n[3]; + n[2] /= n[3]; + Assert( (n[0]*n[0] + n[1]*n[1] + n[2]*n[2] - 1.0) < + std::numeric_limits< tk::real >::epsilon(), "Non-unit normal" ); + } + + // Replace global->local ids associated to boundary point normals + decltype(m_bnorm) bnorm; + for (auto& [s,norms] : m_bnorm) { + auto& bnorms = bnorm[s]; + for (auto&& [g,n] : norms) + bnorms[ tk::cref_find(lid,g) ] = std::move(n); + } + m_bnorm = std::move(bnorm); + + // Prepare unique set of symmetry BC nodes + m_symbcnodemap = d->bcnodes( m_bface, m_triinpoel ); + for (const auto& [s,nodes] : m_symbcnodemap) + m_symbcnodes.insert( begin(nodes), end(nodes) ); + + // Prepare unique set of farfield BC nodes + for (const auto& [s,nodes] : d->bcnodes(m_bface,m_triinpoel)) + m_farfieldbcnodes.insert( begin(nodes), end(nodes) ); + + // If farfield BC is set on a node, will not also set symmetry BC + for (auto fn : m_farfieldbcnodes) { + m_symbcnodes.erase(fn); + for (auto& [s,nodes] : m_symbcnodemap) nodes.erase(fn); + } + // Signal the runtime system that the workers have been created contribute( sizeof(int), &m_initial, CkReduction::sum_int, - CkCallback(CkReductionTarget(Transporter,comfinal), Disc()->Tr()) ); + CkCallback(CkReductionTarget(Transporter,comfinal), d->Tr()) ); } void @@ -115,34 +293,60 @@ DiagCG::setup() // ***************************************************************************** { auto d = Disc(); + const auto& coord = d->Coord(); // Set initial conditions for all PDEs - for (const auto& eq : g_cgpde) eq.initialize( d->Coord(), m_u, d->T() ); + for (auto& eq : g_cgpde) eq.initialize( coord, m_u, d->T(), m_boxnodes ); - // Output initial conditions to file (regardless of whether it was requested) - writeFields( CkCallback(CkIndex_DiagCG::init(), thisProxy[thisIndex]) ); + // Apply symmetry BCs on initial conditions + for (const auto& eq : g_cgpde) + eq.symbc( m_u, coord, m_bnorm, m_symbcnodes ); + // Apply farfield BCs on initial conditions + for (const auto& eq : g_cgpde) + eq.farfieldbc( m_u, coord, m_bnorm, m_farfieldbcnodes ); + + // Compute volume of user-defined box IC + d->boxvol( m_boxnodes ); + + // Query time history field output labels from all PDEs integrated + const auto& hist_points = g_inputdeck.get< tag::history, tag::point >(); + if (!hist_points.empty()) { + std::vector< std::string > histnames; + for (const auto& eq : g_cgpde) { + auto n = eq.histNames(); + histnames.insert( end(histnames), begin(n), end(n) ); + } + d->histheader( std::move(histnames) ); + } } void -DiagCG::init() +DiagCG::box( tk::real v ) // ***************************************************************************** -// Initially compute left hand side diagonal matrix +// Receive total box IC volume and set conditions in box +//! \param[in] v Total volume within user-specified box // ***************************************************************************** { - lhs(); + auto d = Disc(); + + // Store user-defined box IC volume + d->Boxvol() = v; + + // Set user-defined IC box conditions + for (const auto& eq : g_cgpde) + eq.box( d->Boxvol(), d->T(), m_boxnodes, d->Coord(), m_u, m_boxnodes_set ); + + // Output initial conditions to file (regardless of whether it was requested) + writeFields( CkCallback(CkIndex_DiagCG::init(), thisProxy[thisIndex]) ); } void -DiagCG::start() +DiagCG::init() // ***************************************************************************** -// Start time stepping +// Initially compute left hand side diagonal matrix // ***************************************************************************** { - // Start timer measuring time stepping wall clock time - Disc()->Timer().zero(); - - // Start time stepping by computing the size of the next time step) - next(); + lhs(); } void @@ -163,16 +367,16 @@ DiagCG::lhs() auto d = Disc(); // Compute lumped mass lhs required for both high and low order solutions - m_lhs = d->FCT()->lump( *d ); + m_lhs = tk::lump( m_u.nprop(), d->Coord(), d->Inpoel() ); - if (d->Msum().empty()) + if (d->NodeCommMap().empty()) comlhs_complete(); else // send contributions of lhs to chare-boundary nodes to fellow chares - for (const auto& n : d->Msum()) { - std::vector< std::vector< tk::real > > l( n.second.size() ); + for (const auto& [c,n] : d->NodeCommMap()) { + std::vector< std::vector< tk::real > > l( n.size() ); std::size_t j = 0; - for (auto i : n.second) l[ j++ ] = m_lhs[ tk::cref_find(d->Lid(),i) ]; - thisProxy[ n.first ].comlhs( n.second, l ); + for (auto i : n) l[ j++ ] = m_lhs[ tk::cref_find(d->Lid(),i) ]; + thisProxy[c].comlhs( std::vector(begin(n),end(n)), l ); } ownlhs_complete(); @@ -199,7 +403,7 @@ DiagCG::comlhs( const std::vector< std::size_t >& gid, for (std::size_t i=0; iMsum().size()) { + if (++m_nlhs == Disc()->NodeCommMap().size()) { m_nlhs = 0; comlhs_complete(); } @@ -222,7 +426,16 @@ DiagCG::lhsmerge() tk::destroy(m_lhsc); // Continue after lhs is complete - if (m_initial) start(); else lhs_complete(); + if (m_initial) { + // Start timer measuring time stepping wall clock time + Disc()->Timer().zero(); + // Zero grind-timer + Disc()->grindZero(); + // Continue to next time step + next(); + } else { + lhs_complete(); + } } void @@ -252,15 +465,15 @@ DiagCG::dt() if (eqdt < mindt) mindt = eqdt; } - // Scale smallest dt with CFL coefficient - mindt *= g_inputdeck.get< tag::discr, tag::cfl >(); - } // Actiavate SDAG waits for time step thisProxy[ thisIndex ].wait4rhs(); thisProxy[ thisIndex ].wait4out(); + // Activate SDAG-waits for FCT + d->FCT()->next(); + // Contribute to minimum dt across all chares the advance to next step contribute( sizeof(tk::real), &mindt, CkReduction::min_double, CkCallback(CkReductionTarget(DiagCG,advance), thisProxy) ); @@ -278,9 +491,6 @@ DiagCG::advance( tk::real newdt ) // Set new time step size d->setdt( newdt ); - // Activate SDAG-waits for FCT - d->FCT()->next(); - // Compute rhs for next time step rhs(); } @@ -292,32 +502,43 @@ DiagCG::rhs() // ***************************************************************************** { auto d = Disc(); - - // Compute right-hand side and query Dirichlet BCs for all equations + const auto& lid = d->Lid(); + const auto& inpoel = d->Inpoel(); + + // Sum nodal averages to elements (1st term of gather) + m_ue.fill( 0.0 ); + for (std::size_t e=0; eT(), d->Dt(), d->Coord(), d->Inpoel(), m_u, m_ue, m_rhs ); + eq.rhs( d->T(), d->Dt(), d->Coord(), d->Inpoel(), m_u, m_ue, m_rhs ); - // Compute mass diffusion rhs contribution required for the low order solution + // Compute mass diffusion auto dif = d->FCT()->diff( *d, m_u ); // Query and match user-specified boundary conditions to side sets - m_bc = match( m_u.nprop(), d->T(), d->Dt(), d->Coord(), d->Gid(), - d->Lid(), m_bnode ); + m_bcdir = match( m_u.nprop(), d->T(), d->Dt(), m_tp, m_dtp, d->Coord(), + lid, m_bnode ); - if (d->Msum().empty()) + // Send rhs data on chare-boundary nodes to fellow chares + if (d->NodeCommMap().empty()) comrhs_complete(); - else // send contributions of rhs to chare-boundary nodes to fellow chares - for (const auto& n : d->Msum()) { - std::vector< std::vector< tk::real > > r( n.second.size() ); - std::vector< std::vector< tk::real > > D( n.second.size() ); + else // send contributions of rhs to chare-boundary nodes to fellow chares + for (const auto& [c,n] : d->NodeCommMap()) { + std::vector< std::vector< tk::real > > r( n.size() ); + std::vector< std::vector< tk::real > > D( n.size() ); std::size_t j = 0; - for (auto i : n.second) { - auto lid = tk::cref_find( d->Lid(), i ); - r[ j ] = m_rhs[ lid ]; - D[ j ] = dif[ lid ]; + for (auto i : n) { + auto k = tk::cref_find( lid, i ); + r[j] = m_rhs[k]; + D[j] = dif[k]; ++j; } - thisProxy[ n.first ].comrhs( n.second, r, D ); + thisProxy[c].comrhs( std::vector(begin(n),end(n)), r, D ); } ownrhs_complete( dif ); @@ -350,7 +571,7 @@ DiagCG::comrhs( const std::vector< std::size_t >& gid, m_difc[ gid[i] ] += D[i]; } - if (++m_nrhs == Disc()->Msum().size()) { + if (++m_nrhs == Disc()->NodeCommMap().size()) { m_nrhs = 0; comrhs_complete(); } @@ -384,32 +605,41 @@ DiagCG::solve( tk::Fields& dif ) tk::destroy(m_difc); // Set Dirichlet BCs for lhs and both low and high order rhs vectors. Note - // that the low order rhs (more prcisely the mass-diffusion term) is set to + // that the low order rhs (more precisely the mass-diffusion term) is set to // zero instead of the solution increment at Dirichlet BCs, because for the // low order solution the right hand side is the sum of the high order right // hand side and mass diffusion so the low order system is L = R + D, where L // is the lumped mass matrix, R is the high order RHS, and D is // mass diffusion, and R already will have the Dirichlet BC set. - for (const auto& n : m_bc) { - auto b = d->Lid().find( n.first ); - if (b != end(d->Lid())) { - auto id = b->second; - for (ncomp_t c=0; cCoord(); + for (const auto& eq : g_cgpde) { + // Apply symmetry BCs + eq.symbc( dul, coord, m_bnorm, m_symbcnodes ); + eq.symbc( m_ul, coord, m_bnorm, m_symbcnodes ); + eq.symbc( m_du, coord, m_bnorm, m_symbcnodes ); + // Apply farfield BCs + eq.farfieldbc( m_ul, coord, m_bnorm, m_farfieldbcnodes ); + eq.farfieldbc( m_du, coord, m_bnorm, m_farfieldbcnodes ); + } + // Continue with FCT - d->FCT()->aec( *d, m_du, m_u, m_bc ); + d->FCT()->aec( *d, m_du, m_u, m_bcdir, m_symbcnodemap, m_bnorm ); d->FCT()->alw( m_u, m_ul, std::move(dul), thisProxy ); } @@ -420,53 +650,89 @@ DiagCG::writeFields( CkCallback c ) const //! \param[in] c Function to continue with after the write // ***************************************************************************** { - auto d = Disc(); + if (g_inputdeck.get< tag::cmd, tag::benchmark >()) { - // Query and collect field names from PDEs integrated - std::vector< std::string > nodefieldnames; - for (const auto& eq : g_cgpde) { - auto n = eq.fieldNames(); - nodefieldnames.insert( end(nodefieldnames), begin(n), end(n) ); - } + c.send(); - // Collect node field solution - auto u = m_u; - std::vector< std::vector< tk::real > > nodefields; - for (const auto& eq : g_cgpde) { - auto o = eq.fieldOutput( d->T(), d->meshvol(), d->Coord(), d->V(), u ); - nodefields.insert( end(nodefields), begin(o), end(o) ); - } + } else { - std::vector< std::string > elemfieldnames; - std::vector< std::vector< tk::real > > elemfields; + auto d = Disc(); - // Query refinement data - auto dtref = g_inputdeck.get< tag::amr, tag::dtref >(); + // Query and collect block and surface field names from PDEs integrated + std::vector< std::string > nodefieldnames; + std::vector< std::string > nodesurfnames; + for (const auto& eq : g_cgpde) { + auto n = eq.fieldNames(); + nodefieldnames.insert( end(nodefieldnames), begin(n), end(n) ); + auto s = eq.surfNames(); + nodesurfnames.insert( end(nodesurfnames), begin(s), end(s) ); + } + + // Collect node field solution + auto u = m_u; + std::vector< std::vector< tk::real > > nodefields; + std::vector< std::vector< tk::real > > nodesurfs; + for (const auto& eq : g_cgpde) { + auto o = eq.fieldOutput( d->T(), d->meshvol(), d->Coord()[0].size(), + d->Coord(), d->V(), u ); + nodefields.insert( end(nodefields), begin(o), end(o) ); + auto s = eq.surfOutput( tk::bfacenodes(m_bface,m_triinpoel), u ); + nodesurfs.insert( end(nodesurfs), begin(s), end(s) ); + } + + Assert( nodefieldnames.size() == nodefields.size(), "Size mismatch" ); + + std::vector< std::string > elemfieldnames; + std::vector< std::vector< tk::real > > elemfields; + + // Query refinement data + auto dtref = g_inputdeck.get< tag::amr, tag::dtref >(); + + std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > >, + std::vector< std::string >, + std::vector< std::vector< tk::real > > > r; + if (dtref) r = d->Ref()->refinementFields(); - std::tuple< std::vector< std::string >, - std::vector< std::vector< tk::real > >, - std::vector< std::string >, - std::vector< std::vector< tk::real > > > r; - if (dtref) r = d->Ref()->refinementFields(); - - const auto& refinement_elemfieldnames = std::get< 0 >( r ); - const auto& refinement_elemfields = std::get< 1 >( r ); - const auto& refinement_nodefieldnames = std::get< 2 >( r ); - const auto& refinement_nodefields = std::get< 3 >( r ); - - nodefieldnames.insert( end(nodefieldnames), - begin(refinement_nodefieldnames), end(refinement_nodefieldnames) ); - nodefields.insert( end(nodefields), - begin(refinement_nodefields), end(refinement_nodefields) ); - - elemfieldnames.insert( end(elemfieldnames), - begin(refinement_elemfieldnames), end(refinement_elemfieldnames) ); - elemfields.insert( end(elemfields), - begin(refinement_elemfields), end(refinement_elemfields) ); - - // Send mesh and fields data (solution dump) for output to file - d->write( d->Inpoel(), d->Coord(), {}, tk::remap(m_bnode,d->Lid()), {}, - elemfieldnames, nodefieldnames, elemfields, nodefields, c ); + const auto& refinement_elemfieldnames = std::get< 0 >( r ); + const auto& refinement_elemfields = std::get< 1 >( r ); + const auto& refinement_nodefieldnames = std::get< 2 >( r ); + const auto& refinement_nodefields = std::get< 3 >( r ); + + nodefieldnames.insert( end(nodefieldnames), + begin(refinement_nodefieldnames), end(refinement_nodefieldnames) ); + nodefields.insert( end(nodefields), + begin(refinement_nodefields), end(refinement_nodefields) ); + + elemfieldnames.insert( end(elemfieldnames), + begin(refinement_elemfieldnames), end(refinement_elemfieldnames) ); + elemfields.insert( end(elemfields), + begin(refinement_elemfields), end(refinement_elemfields) ); + + // Collect FCT field data (for debugging) + auto f = d->FCT()->fields(); + + const auto& fct_elemfieldnames = std::get< 0 >( f ); + const auto& fct_elemfields = std::get< 1 >( f ); + const auto& fct_nodefieldnames = std::get< 2 >( f ); + const auto& fct_nodefields = std::get< 3 >( f ); + + nodefieldnames.insert( end(nodefieldnames), + begin(fct_nodefieldnames), end(fct_nodefieldnames) ); + nodefields.insert( end(nodefields), + begin(fct_nodefields), end(fct_nodefields) ); + + elemfieldnames.insert( end(elemfieldnames), + begin(fct_elemfieldnames), end(fct_elemfieldnames) ); + elemfields.insert( end(elemfields), + begin(fct_elemfields), end(fct_elemfields) ); + + // Send mesh and fields data (solution dump) for output to file + d->write( d->Inpoel(), d->Coord(), m_bface, tk::remap( m_bnode,d->Lid() ), + m_triinpoel, elemfieldnames, nodefieldnames, nodesurfnames, + elemfields, nodefields, nodesurfs, c ); + + } } void @@ -481,27 +747,30 @@ DiagCG::update( const tk::Fields& a, [[maybe_unused]] tk::Fields&& dul ) // Verify that the change in the solution at those nodes where Dirichlet // boundary conditions are set is exactly the amount the BCs prescribe - Assert( correctBC( a, dul, m_bc, d->Lid() ), - "Dirichlet boundary condition incorrect" ); + Assert( correctBC(a,dul,m_bcdir), "Dirichlet boundary condition incorrect" ); // Apply limited antidiffusive element contributions to low order solution + auto un = m_u; if (g_inputdeck.get< tag::discr, tag::fct >()) m_u = m_ul + a; else m_u = m_u + m_du; // Compute diagnostics, e.g., residuals - auto diag_computed = m_diag.compute( *d, m_u ); + auto diag_computed = + m_diag.compute( *d, m_u, un, m_bnorm, m_symbcnodes, m_farfieldbcnodes ); // Increase number of iterations and physical time d->next(); // Continue to mesh refinement (if configured) - if (!diag_computed) refine(); + if (!diag_computed) refine( std::vector< tk::real >( m_u.nprop(), 0.0 ) ); } void -DiagCG::refine() +DiagCG::refine( [[maybe_unused]] const std::vector< tk::real >& l2res ) // ***************************************************************************** // Optionally refine/derefine mesh +//! \param[in] l2res L2-norms of the residual for each scalar component +//! computed across the whole problem // ***************************************************************************** { auto d = Disc(); @@ -510,7 +779,7 @@ DiagCG::refine() auto dtfreq = g_inputdeck.get< tag::amr, tag::dtfreq >(); // if t>0 refinement enabled and we hit the dtref frequency - if (dtref && !(d->It() % dtfreq)) { // refine + if (dtref && !(d->It() % dtfreq)) { // h-refine // Activate SDAG waits for re-computing the left-hand side thisProxy[ thisIndex ].wait4lhs(); @@ -519,7 +788,7 @@ DiagCG::refine() d->Ref()->dtref( {}, m_bnode, {} ); d->refined() = 1; - } else { // do not refine + } else { // do not h-refine d->refined() = 0; lhs_complete(); @@ -535,7 +804,7 @@ DiagCG::resizePostAMR( const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& addedNodes, const std::unordered_map< std::size_t, std::size_t >& /*addedTets*/, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::map< int, std::vector< std::size_t > >& /*bface*/, const std::map< int, std::vector< std::size_t > >& bnode, const std::vector< std::size_t >& /*triinpoel*/ ) @@ -546,7 +815,7 @@ DiagCG::resizePostAMR( //! \param[in] coord New mesh node coordinates //! \param[in] addedNodes Newly added mesh nodes and their parents (local ids) //! \param[in] addedTets Newly added mesh cells and their parents (local ids) -//! \param[in] msum New node communication map +//! \param[in] nodeCommMap New node communication map //! \param[in] bnode Boundary-node lists mapped to side set ids // ***************************************************************************** { @@ -562,7 +831,7 @@ DiagCG::resizePostAMR( ++d->Itr(); // Resize mesh data structures - d->resizePostAMR( chunk, coord, msum ); + d->resizePostAMR( chunk, coord, nodeCommMap ); // Resize auxiliary solution vectors auto nelem = d->Inpoel().size()/4; @@ -576,17 +845,15 @@ DiagCG::resizePostAMR( m_rhs.resize( npoin, nprop ); // Update solution on new mesh - for (const auto& n : addedNodes) { - for (std::size_t c=0; cFCT()->resize( npoin, msum, d->Bid(), d->Lid(), d->Inpoel() ); + d->FCT()->resize( npoin, nodeCommMap, d->Bid(), d->Lid(), d->Inpoel() ); contribute( CkCallback(CkReductionTarget(Transporter,resized), d->Tr()) ); } @@ -608,6 +875,17 @@ DiagCG::out() { auto d = Disc(); + // Output time history if we hit its output frequency + const auto histfreq = g_inputdeck.get< tag::interval, tag::history >(); + if ( !((d->It()) % histfreq) ) { + std::vector< std::vector< tk::real > > hist; + for (const auto& eq : g_cgpde) { + auto h = eq.histOutput( d->Hist(), d->Inpoel(), m_u ); + hist.insert( end(hist), begin(h), end(h) ); + } + d->history( std::move(hist) ); + } + const auto term = g_inputdeck.get< tag::discr, tag::term >(); const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); const auto eps = std::numeric_limits< tk::real >::epsilon(); @@ -623,13 +901,17 @@ DiagCG::out() } void -DiagCG::evalLB() +DiagCG::evalLB( int nrestart ) // ***************************************************************************** // Evaluate whether to do load balancing +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { auto d = Disc(); + // Detect if just returned from a checkpoint and if so, zero timers + d->restarted( nrestart ); + const auto lbfreq = g_inputdeck.get< tag::cmd, tag::lbfreq >(); const auto nonblocking = g_inputdeck.get< tag::cmd, tag::nonblocking >(); @@ -655,16 +937,17 @@ DiagCG::evalRestart() auto d = Disc(); const auto rsfreq = g_inputdeck.get< tag::cmd, tag::rsfreq >(); + const auto benchmark = g_inputdeck.get< tag::cmd, tag::benchmark >(); - if ( (d->It()) % rsfreq == 0 ) { + if ( !benchmark && d->It() % rsfreq == 0 ) { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, + int finished = 0; + d->contribute( sizeof(int), &finished, CkReduction::nop, CkCallback(CkReductionTarget(Transporter,checkpoint), d->Tr()) ); } else { - evalLB(); + evalLB( /* nrestart = */ -1 ); } } @@ -691,9 +974,7 @@ DiagCG::step() } else { - std::vector< tk::real > t{{ static_cast(d->It()), d->T() }}; - d->contribute( t, CkReduction::nop, - CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); + d->contribute( CkCallback(CkReductionTarget(Transporter,finish), d->Tr()) ); } } diff --git a/src/Inciter/DiagCG.hpp b/src/Inciter/DiagCG.hpp index cf4c04cfd34..4f827e9a4c8 100644 --- a/src/Inciter/DiagCG.hpp +++ b/src/Inciter/DiagCG.hpp @@ -3,7 +3,7 @@ \file src/Inciter/DiagCG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief DiagCG for a PDE system with continuous Galerkin without a matrix \details DiagCG advances a system of partial differential equations (PDEs) @@ -38,6 +38,7 @@ #include "DerivedData.hpp" #include "FluxCorrector.hpp" #include "NodeDiagnostics.hpp" +#include "CommMap.hpp" #include "Inciter/InputDeck/InputDeck.hpp" #include "NoWarning/diagcg.decl.h" @@ -75,9 +76,9 @@ class DiagCG : public CBase_DiagCG { //! Constructor explicit DiagCG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ); + const std::vector< std::size_t >& triinpoel ); #if defined(__clang__) #pragma clang diagnostic push @@ -99,9 +100,15 @@ class DiagCG : public CBase_DiagCG { //! Size communication buffers (no-op) void resizeComm() {} + //! Setup node-neighborhood (no-op) + void nodeNeighSetup() {} + //! Setup: query boundary conditions, output mesh, etc. void setup(); + //! Receive total box IC volume and set conditions in box + void box( tk::real v ); + // Initially compute left hand side diagonal matrix void init(); @@ -111,6 +118,10 @@ class DiagCG : public CBase_DiagCG { //! Compute left-hand side of transport equations void lhs(); + //! Receive boundary point normals on chare-boundaries + void comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ); + //! Receive contributions to left-hand side matrix on chare-boundaries void comlhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& L ); @@ -124,7 +135,7 @@ class DiagCG : public CBase_DiagCG { void update( const tk::Fields& a, tk::Fields&& dul ); //! Optionally refine/derefine mesh - void refine(); + void refine( const std::vector< tk::real >& l2ref ); //! Receive new mesh from refiner void resizePostAMR( @@ -133,7 +144,7 @@ class DiagCG : public CBase_DiagCG { const tk::UnsMesh::Coords& coord, const std::unordered_map< std::size_t, tk::UnsMesh::Edge >& addedNodes, const std::unordered_map< std::size_t, std::size_t >& addedTets, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::map< int, std::vector< std::size_t > >& /* bface */, const std::map< int, std::vector< std::size_t > >& bnode, const std::vector< std::size_t >& /* triinpoel */ ); @@ -149,7 +160,7 @@ class DiagCG : public CBase_DiagCG { void step(); // Evaluate whether to do load balancing - void evalLB(); + void evalLB( int nrestart ); //! Continue to next time step void next(); @@ -164,19 +175,31 @@ class DiagCG : public CBase_DiagCG { p | m_nsol; p | m_nlhs; p | m_nrhs; + p | m_nnorm; p | m_bnode; + p | m_bface; + p | m_triinpoel; p | m_u; p | m_ul; p | m_du; p | m_ue; p | m_lhs; p | m_rhs; - p | m_bc; + p | m_bcdir; p | m_lhsc; p | m_rhsc; p | m_difc; p | m_vol; + p | m_bnorm; + p | m_bnormc; + p | m_symbcnodemap; + p | m_symbcnodes; + p | m_farfieldbcnodes; p | m_diag; + p | m_boxnodes; + p | m_boxnodes_set; + p | m_dtp; + p | m_tp; } //! \brief Pack/Unpack serialize operator| //! \param[in,out] p Charm++'s PUP::er serializer object reference @@ -197,8 +220,14 @@ class DiagCG : public CBase_DiagCG { std::size_t m_nlhs; //! Counter for right-hand side vector nodes updated std::size_t m_nrhs; + //! Counter for receiving boundary point normals + std::size_t m_nnorm; //! Boundary node lists mapped to side set ids std::map< int, std::vector< std::size_t > > m_bnode; + //! Boundary faces side-set information + std::map< int, std::vector< std::size_t > > m_bface; + //! Triangle face connecitivity + std::vector< std::size_t > m_triinpoel; //! Unknown/solution vector at mesh nodes tk::Fields m_u; //! Unknown/solution vector at mesh nodes (low orderd) @@ -211,14 +240,14 @@ class DiagCG : public CBase_DiagCG { tk::Fields m_lhs; //! Right-hand side vector (for the high order system) tk::Fields m_rhs; - //! Boundary conditions evaluated and assigned to mesh node IDs + //! Boundary conditions evaluated and assigned to local mesh node IDs //! \details Vector of pairs of bool and boundary condition value associated - //! to meshnode IDs at which the user has set Dirichlet boundary + //! to local mesh node IDs at which the user has set Dirichlet boundary //! conditions for all PDEs integrated. The bool indicates whether the BC //! is set at the node for that component the if true, the real value is //! the increment (from t to dt) in the BC specified for a component. std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > > m_bc; + std::vector< std::pair< bool, tk::real > > > m_bcdir; //! Receive buffer for communication of the left hand side //! \details Key: chare id, value: lhs for all scalar components per node std::unordered_map< std::size_t, std::vector< tk::real > > m_lhsc; @@ -230,8 +259,35 @@ class DiagCG : public CBase_DiagCG { std::unordered_map< std::size_t, std::vector< tk::real > > m_difc; //! Total mesh volume tk::real m_vol; + //! Face normals in boundary points associated to side sets + //! \details Key: local node id, value: unit normal and inverse distance + //! square between face centroids and points, outer key: side set id + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > m_bnorm; + //! \brief Receive buffer for communication of the boundary point normals + //! associated to side sets + //! \details Key: global node id, value: normals (first 3 components), + //! inverse distance squared (4th component), outer key, side set id + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > m_bnormc; + //! Unique set of nodes at which symmetry BCs are set for side sets + std::unordered_map< int, std::unordered_set< std::size_t > > m_symbcnodemap; + //! Unique set of nodes at which symmetry BCs are set + std::unordered_set< std::size_t > m_symbcnodes; + //! Unique set of nodes at which farfield BCs are set + std::unordered_set< std::size_t > m_farfieldbcnodes; //! Diagnostics object NodeDiagnostics m_diag; + //! Mesh node ids at which user-defined box ICs are defined + std::vector< std::size_t > m_boxnodes; + //! Box nodes that have been set + std::unordered_set< std::size_t > m_boxnodes_set; + //! Time step size for each mesh node + std::vector< tk::real > m_dtp; + //! Physical time for each mesh node + std::vector< tk::real > m_tp; + //! True in the last time step + int m_finished; //! Access bound Discretization class pointer Discretization* Disc() const { @@ -239,6 +295,13 @@ class DiagCG : public CBase_DiagCG { return m_disc[ thisIndex ].ckLocal(); } + //! Compute boundary point normals + void bnorm( const std::unordered_map< int, + std::unordered_set< std::size_t > >& bcnodes ); + + //! Finish setting up communication maps (norms, etc.) + void normfinal(); + //! Output mesh fields to files void out(); diff --git a/src/Inciter/DiagReducer.cpp b/src/Inciter/DiagReducer.cpp index 44e67a4ba38..ca47482a8eb 100644 --- a/src/Inciter/DiagReducer.cpp +++ b/src/Inciter/DiagReducer.cpp @@ -3,7 +3,7 @@ \file src/Inciter/DiagReducer.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Custom Charm++ reducer for merging std::vectors across PEs \details Custom Charm++ reducer for merging std::vectors across PEs. @@ -81,11 +81,15 @@ mergeDiag( int nmsg, CkReductionMsg **msgs ) for (std::size_t i=0; i v[LINFERR][i]) v[LINFERR][i] = w[LINFERR][i]; - // Copy the rest - for (std::size_t j=3; j& ginpoel, const tk::UnsMesh::CoordMap& coordmap, - const std::map< int, std::unordered_set< std::size_t > >& msum, + const tk::CommMaps& msum, int nc ) : m_nchare( nc ), m_it( 0 ), @@ -52,7 +54,8 @@ Discretization::Discretization( m_meshwriter( meshwriter ), m_el( tk::global2local( ginpoel ) ), // fills m_inpoel, m_gid, m_lid m_coord( setCoord( coordmap ) ), - m_psup( tk::genPsup( m_inpoel, 4, tk::genEsup(m_inpoel,4) ) ), + m_nodeCommMap(), + m_edgeCommMap(), m_meshvol( 0.0 ), m_v( m_gid.size(), 0.0 ), m_vol( m_gid.size(), 0.0 ), @@ -60,7 +63,9 @@ Discretization::Discretization( m_bid(), m_timer(), m_refined( 0 ), - m_prevstatus( std::chrono::high_resolution_clock::now() ) + m_prevstatus( std::chrono::high_resolution_clock::now() ), + m_nrestart( 0 ), + m_histdata() // ***************************************************************************** // Constructor //! \param[in] fctproxy Distributed FCT proxy @@ -68,7 +73,7 @@ Discretization::Discretization( //! \param[in] meshwriter Mesh writer proxy //! \param[in] ginpoel Vector of mesh element connectivity owned (global IDs) //! \param[in] coordmap Coordinates of mesh nodes and their global IDs -//! \param[in] msum Global mesh node IDs associated to chare IDs bordering the +//! \param[in] msum Communication maps associated to chare IDs bordering the //! mesh chunk we operate on //! \param[in] nc Total number of Discretization chares // ***************************************************************************** @@ -78,26 +83,55 @@ Discretization::Discretization( "Jacobian in input mesh to Discretization non-positive" ); Assert( tk::conforming( m_inpoel, m_coord ), "Input mesh to Discretization not conforming" ); - Assert( m_psup.second.size()-1 == m_gid.size(), - "Number of mesh points and number of global IDs unequal" ); - // Convert neighbor nodes to vectors from sets - for (const auto& [ neighborchare, sharednodes ] : msum) { - auto& v = m_msum[ neighborchare ]; - v.insert( end(v), begin(sharednodes), end(sharednodes) ); + // Store communication maps + for (const auto& [ c, maps ] : msum) { + m_nodeCommMap[c] = maps.get< tag::node >(); + m_edgeCommMap[c] = maps.get< tag::edge >(); } // Get ready for computing/communicating nodal volumes startvol(); // Count the number of mesh nodes at which we receive data from other chares - // and compute map associating boundary-chare node ID associated to global ID - std::vector< std::size_t > c( tk::sumvalsize( m_msum ) ); + // and compute map associating boundary-chare node ID to global node ID + std::vector< std::size_t > c( tk::sumvalsize( m_nodeCommMap ) ); std::size_t j = 0; - for (const auto& n : m_msum) for (auto i : n.second) c[j++] = i; + for (const auto& [ch,n] : m_nodeCommMap) for (auto i : n) c[j++] = i; tk::unique( c ); m_bid = tk::assignLid( c ); + // Lambda to decide if a node is not counted by this chare. If a node is + // found in the node communication map and is associated to a lower chare id + // than thisIndex, it is counted by another chare (and not thisIndex), hence + // a "slave" (for the purpose of this count). + auto slave = [ this ]( std::size_t p ) { + return + std::any_of( m_nodeCommMap.cbegin(), m_nodeCommMap.cend(), + [&](const auto& s) { + return s.second.find(p) != s.second.cend() && s.first > thisIndex; + } ); + }; + + // Compute number of mesh points owned + std::size_t npoin = m_gid.size(); + for (auto g : m_gid) if (slave(g)) --npoin; + + // Find host elements of user-specified points where time histories are + // saved, and save the shape functions evaluated at the point locations + const auto& pt = g_inputdeck.get< tag::history, tag::point >(); + const auto& id = g_inputdeck.get< tag::history, tag::id >(); + for (std::size_t p=0; p N; + const auto& l = pt[p]; + for (std::size_t e=0; e().nprop(); if (sch == ctr::SchemeType::DiagCG) m_fct[ thisIndex ].insert( m_nchare, m_gid.size(), nprop, - m_msum, m_bid, m_lid, m_inpoel ); + m_nodeCommMap, m_bid, m_lid, m_inpoel ); - contribute( CkCallback(CkReductionTarget(Transporter,disccreated), - m_transporter) ); + // Tell the RTS that the Discretization chares have been created and compute + // the total number of mesh points across whole problem + contribute( sizeof(std::size_t), &npoin, CkReduction::sum_ulong, + CkCallback( CkReductionTarget(Transporter,disccreated), m_transporter ) ); } void -Discretization::resizePostAMR( - const tk::UnsMesh::Chunk& chunk, - const tk::UnsMesh::Coords& coord, - const std::unordered_map< int, std::vector< std::size_t > >& msum ) +Discretization::resizePostAMR( const tk::UnsMesh::Chunk& chunk, + const tk::UnsMesh::Coords& coord, + const tk::NodeCommMap& nodeCommMap ) // ***************************************************************************** // Resize mesh data structures (e.g., after mesh refinement) //! \param[in] chunk New mesh chunk (connectivity and global<->local id maps) //! \param[in] coord New mesh node coordinates -//! \param[in] msum New node communication map +//! \param[in] nodeCommMap New node communication map // ***************************************************************************** { m_el = chunk; // updates m_inpoel, m_gid, m_lid m_coord = coord; // update mesh node coordinates - m_msum = msum; // update node communication map + m_nodeCommMap = nodeCommMap; // update node communication map // Generate local ids for new chare boundary global ids - std::size_t lid = m_bid.size(); - for (const auto& [ neighborchare, sharednodes ] : m_msum) + std::size_t bid = m_bid.size(); + for (const auto& [ neighborchare, sharednodes ] : m_nodeCommMap) for (auto g : sharednodes) if (m_bid.find( g ) == end(m_bid)) - m_bid[ g ] = lid++; + m_bid[ g ] = bid++; // Clear receive buffer that will be used for collecting nodal volumes m_volc.clear(); @@ -194,6 +229,54 @@ Discretization::setCoord( const tk::UnsMesh::CoordMap& coordmap ) return coord; } +void +Discretization::remap( + const std::unordered_map< std::size_t, std::size_t >& map ) +// ***************************************************************************** +// Remap mesh data based on new local ids +//! \param[in] map Mapping of old->new local ids +// ***************************************************************************** +{ + // Remap connectivity containing local IDs + for (auto& l : m_inpoel) l = tk::cref_find(map,l); + + // Remap global->local id map + for (auto& [g,l] : m_lid) l = tk::cref_find(map,l); + + // Remap global->local id map + auto maxid = std::numeric_limits< std::size_t >::max(); + std::vector< std::size_t > newgid( m_gid.size(), maxid ); + for (const auto& [o,n] : map) newgid[n] = m_gid[o]; + m_gid = std::move( newgid ); + + Assert( std::all_of( m_gid.cbegin(), m_gid.cend(), + [=](std::size_t i){ return i < maxid; } ), + "Not all gid have been remapped" ); + + // Remap nodal volumes (with contributions along chare-boundaries) + std::vector< tk::real > newvol( m_vol.size(), 0.0 ); + for (const auto& [o,n] : map) newvol[n] = m_vol[o]; + m_vol = std::move( newvol ); + + // Remap nodal volumes (without contributions along chare-boundaries) + std::vector< tk::real > newv( m_v.size(), 0.0 ); + for (const auto& [o,n] : map) newv[n] = m_v[o]; + m_v = std::move( newv ); + + // Remap locations of node coordinates + tk::UnsMesh::Coords newcoord; + auto npoin = m_coord[0].size(); + newcoord[0].resize( npoin ); + newcoord[1].resize( npoin ); + newcoord[2].resize( npoin ); + for (const auto& [o,n] : map) { + newcoord[0][n] = m_coord[0][o]; + newcoord[1][n] = m_coord[1][o]; + newcoord[2][n] = m_coord[2][o]; + } + m_coord = std::move( newcoord ); +} + void Discretization::setRefiner( const CProxy_Refiner& ref ) // ***************************************************************************** @@ -250,15 +333,18 @@ Discretization::vol() // chare-boundaries m_v = m_vol; + // Compute volume in user-defined IC box + + // Send our nodal volume contributions to neighbor chares - if (m_msum.empty()) + if (m_nodeCommMap.empty()) totalvol(); else - for (const auto& [ neighborchare, sharednodes ] : m_msum) { - std::vector< tk::real > v( sharednodes.size() ); + for (const auto& [c,n] : m_nodeCommMap) { + std::vector< tk::real > v( n.size() ); std::size_t j = 0; - for (auto i : sharednodes) v[ j++ ] = m_vol[ tk::cref_find(m_lid,i) ]; - thisProxy[ neighborchare ].comvol( sharednodes, v ); + for (auto i : n) v[ j++ ] = m_vol[ tk::cref_find(m_lid,i) ]; + thisProxy[c].comvol( std::vector(begin(n), end(n)), v ); } ownvol_complete(); @@ -283,7 +369,7 @@ Discretization::comvol( const std::vector< std::size_t >& gid, for (std::size_t i=0; i& nodes ) +// ***************************************************************************** +// Compute total box IC volume +//! \param[in] nodes Node list contributing to box IC volume +// ***************************************************************************** +{ + // Compute partial box IC volume + tk::real boxvol = 0.0; + for (auto i : nodes) boxvol += m_v[i]; + + // Sum up box IC volume across all chares + contribute( sizeof(tk::real), &boxvol, CkReduction::sum_double, + CkCallback(CkReductionTarget(Transporter,boxvol), m_transporter) ); +} + void Discretization::write( const std::vector< std::size_t >& inpoel, @@ -402,8 +509,10 @@ Discretization::write( const std::vector< std::size_t >& triinpoel, const std::vector< std::string>& elemfieldnames, const std::vector< std::string>& nodefieldnames, + const std::vector< std::string>& nodesurfnames, const std::vector< std::vector< tk::real > >& elemfields, const std::vector< std::vector< tk::real > >& nodefields, + const std::vector< std::vector< tk::real > >& nodesurfs, CkCallback c ) // ***************************************************************************** // Output mesh and fields data (solution dump) to file(s) @@ -417,8 +526,10 @@ Discretization::write( //! mesh chunk //! \param[in] elemfieldnames Names of element fields to be output to file //! \param[in] nodefieldnames Names of node fields to be output to file +//! \param[in] nodesurfnames Names of node surface fields to be output to file //! \param[in] elemfields Field data in mesh elements to output to file -//! \param[in] nodefields Field data in mesh node to output to file +//! \param[in] nodefields Field data in mesh nodes to output to file +//! \param[in] nodesurfs Surface field data in mesh nodes to output to file //! \param[in] c Function to continue with after the write //! \details Since m_meshwriter is a Charm++ chare group, it never migrates and //! an instance is guaranteed on every PE. We index the first PE on every @@ -453,24 +564,8 @@ Discretization::write( write( meshoutput, fieldoutput, m_itr, m_itf, m_t, thisIndex, g_inputdeck.get< tag::cmd, tag::io, tag::output >(), inpoel, coord, bface, bnode, triinpoel, elemfieldnames, - nodefieldnames, elemfields, nodefields, c ); -} - -std::unordered_map< int, std::unordered_set< std::size_t > > -Discretization::msumset() const -// ***************************************************************************** -// Return chare-node adjacency map as sets -//! \return Chare-node adjacency map that holds sets instead of vectors -// ***************************************************************************** -{ - std::unordered_map< int, std::unordered_set< std::size_t > > m; - for (const auto& [ neighborchare, sharednodes ] : m_msum) - m[ neighborchare ].insert( begin(sharednodes), end(sharednodes) ); - - Assert( m.find( thisIndex ) == m.cend(), - "Chare-node adjacency map should not contain data for own chare ID" ); - - return m; + nodefieldnames, nodesurfnames, elemfields, nodefields, nodesurfs, + g_inputdeck.outsets(), c ); } void @@ -497,6 +592,107 @@ Discretization::next() m_t += m_dt; } +void +Discretization::grindZero() +// ***************************************************************************** +// Zero grind-time +// ***************************************************************************** +{ + m_prevstatus = std::chrono::high_resolution_clock::now(); + + if (thisIndex == 0) { + const auto verbose = g_inputdeck.get< tag::cmd, tag::verbose >(); + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + tk::Print print( g_inputdeck.get< tag::cmd >().logname( def, m_nrestart ), + verbose ? std::cout : std::clog, + std::ios_base::app ); + print.diag( "Starting time stepping" ); + } +} + +bool +Discretization::restarted( int nrestart ) +// ***************************************************************************** +// Detect if just returned from a checkpoint and if so, zero timers +//! \param[in] nrestart Number of times restarted +//! \return True if restart detected +// ***************************************************************************** +{ + // Detect if just restarted from checkpoint: + // nrestart == -1 if there was no checkpoint this step + // d->Nrestart() == nrestart if there was a checkpoint this step + // if both false, just restarted from a checkpoint + bool restarted = nrestart != -1 && m_nrestart != nrestart; + + // If just restarted from checkpoint + if (restarted) { + // Update number of restarts + m_nrestart = nrestart; + // Start timer measuring time stepping wall clock time + m_timer.zero(); + // Zero grind-timer + grindZero(); + } + + return restarted; +} + +std::string +Discretization::histfilename( const std::string& id, + kw::precision::info::expect::type precision ) +// ***************************************************************************** +// Construct history output filename +//! \param[in] id History point id +//! \param[in] precision Floating point precision to use for output +//! \return History file name +// ***************************************************************************** +{ + auto of = g_inputdeck.get< tag::cmd, tag::io, tag::output >(); + std::stringstream ss; + + ss << std::setprecision(static_cast(precision)) << of << ".hist." << id; + + return ss.str(); +} + +void +Discretization::histheader( std::vector< std::string >&& names ) +// ***************************************************************************** +// Output headers for time history files (one for each point) +//! \param[in] names History output variable names +// ***************************************************************************** +{ + for (const auto& h : m_histdata) { + auto prec = g_inputdeck.get< tag::prec, tag::history >(); + tk::DiagWriter hw( histfilename( h.get< tag::id >(), prec ), + g_inputdeck.get< tag::flformat, tag::history >(), + prec ); + hw.header( names ); + } +} + +void +Discretization::history( std::vector< std::vector< tk::real > >&& data ) +// ***************************************************************************** +// Output time history for a time step +//! \param[in] data Time history data for all variables and equations integrated +// ***************************************************************************** +{ + Assert( data.size() == m_histdata.size(), "Size mismatch" ); + + std::size_t i = 0; + for (const auto& h : m_histdata) { + auto prec = g_inputdeck.get< tag::prec, tag::history >(); + tk::DiagWriter hw( histfilename( h.get< tag::id >(), prec ), + g_inputdeck.get< tag::flformat, tag::history >(), + prec, + std::ios_base::app ); + hw.diag( m_it, m_t, m_dt, data[i] ); + ++i; + } +} + void Discretization::status() // ***************************************************************************** @@ -506,6 +702,13 @@ Discretization::status() // Query after how many time steps user wants TTY dump const auto tty = g_inputdeck.get< tag::interval, tag::tty >(); + // estimate grind time (taken between this and the previous time step) + using std::chrono::duration_cast; + using ms = std::chrono::milliseconds; + using clock = std::chrono::high_resolution_clock; + auto grind_time = duration_cast< ms >(clock::now() - m_prevstatus).count(); + m_prevstatus = clock::now(); + if (thisIndex==0 && !(m_it%tty)) { const auto eps = std::numeric_limits< tk::real >::epsilon(); @@ -514,23 +717,23 @@ Discretization::status() const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); const auto field = g_inputdeck.get< tag::interval,tag::field >(); const auto diag = g_inputdeck.get< tag::interval, tag::diag >(); + const auto hist = g_inputdeck.get< tag::interval, tag::history >(); const auto lbfreq = g_inputdeck.get< tag::cmd, tag::lbfreq >(); const auto rsfreq = g_inputdeck.get< tag::cmd, tag::rsfreq >(); const auto verbose = g_inputdeck.get< tag::cmd, tag::verbose >(); + const auto benchmark = g_inputdeck.get< tag::cmd, tag::benchmark >(); + const auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); + const auto& hist_points = g_inputdeck.get< tag::history, tag::point >(); // estimate time elapsed and time for accomplishment tk::Timer::Watch ete, eta; - m_timer.eta( term-t0, m_t-t0, nstep, m_it, ete, eta ); - - // estimate grind time (taken between this and the previous status line - // measurement) in milliseconds - using std::chrono::duration_cast; - using ms = std::chrono::milliseconds; - using clock = std::chrono::high_resolution_clock; - auto grind_time = duration_cast< ms >( clock::now() - m_prevstatus ).count(); - m_prevstatus = clock::now(); - - tk::Print print( verbose ? std::cout : std::clog ); + if (!steady) m_timer.eta( term-t0, m_t-t0, nstep, m_it, ete, eta ); + + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + tk::Print print( g_inputdeck.get< tag::cmd >().logname( def, m_nrestart ), + verbose ? std::cout : std::clog, + std::ios_base::app ); // Output one-liner print << std::setfill(' ') << std::setw(8) << m_it << " " @@ -550,12 +753,13 @@ Discretization::status() // Determin if this is the last time step bool finish = not (std::fabs(m_t-term) > eps && m_it < nstep); - // Augment one-liner with output indicators - if (!(m_it % field)) print << 'f'; + // Augment one-liner status with output indicators + if (!benchmark && !(m_it % field)) print << 'f'; if (!(m_it % diag)) print << 'd'; + if (!(m_it % hist) && !hist_points.empty()) print << 't'; if (m_refined) print << 'h'; if (!(m_it % lbfreq) && !finish) print << 'l'; - if (!(m_it % rsfreq) || finish) print << 'r'; + if (!benchmark && (!(m_it % rsfreq) || finish)) print << 'r'; print << std::endl; } diff --git a/src/Inciter/Discretization.hpp b/src/Inciter/Discretization.hpp index 22c8f1e69ba..035366172e2 100644 --- a/src/Inciter/Discretization.hpp +++ b/src/Inciter/Discretization.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Discretization.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \details Data and functionality common to all discretization schemes The Discretization class contains data and functionality common to all @@ -13,6 +13,8 @@ #ifndef Discretization_h #define Discretization_h +#include + #include "Types.hpp" #include "Timer.hpp" #include "Keywords.hpp" @@ -20,12 +22,17 @@ #include "PUPUtil.hpp" #include "PDFReducer.hpp" #include "UnsMesh.hpp" +#include "CommMap.hpp" +#include "History.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" #include "NoWarning/discretization.decl.h" #include "NoWarning/refiner.decl.h" namespace inciter { +extern ctr::InputDeck g_inputdeck; + //! \brief Discretization Charm++ chare array holding common functinoality to //! all discretization schemes class Discretization : public CBase_Discretization { @@ -62,7 +69,7 @@ class Discretization : public CBase_Discretization { const tk::CProxy_MeshWriter& meshwriter, const std::vector< std::size_t >& ginpoel, const tk::UnsMesh::CoordMap& coordmap, - const std::map< int, std::unordered_set< std::size_t > >& msum, + const tk::CommMaps& msum, int nc ); #if defined(__clang__) @@ -82,8 +89,7 @@ class Discretization : public CBase_Discretization { //! Resize mesh data structures (e.g., after mesh refinement) void resizePostAMR( const tk::UnsMesh::Chunk& chunk, const tk::UnsMesh::Coords& coord, - const std::unordered_map< int, - std::vector< std::size_t > >& msum ); + const tk::NodeCommMap& nodeCommMap ); //! Get ready for (re-)computing/communicating nodal volumes void startvol(); @@ -104,6 +110,9 @@ class Discretization : public CBase_Discretization { //! Compute mesh cell statistics void stat( tk::real mesh_volume ); + //! Compute total box IC volume + void boxvol( const std::vector< std::size_t >& boxnodes ); + /** @name Accessors */ ///@{ //! Coordinates accessors as const-ref @@ -117,7 +126,7 @@ class Discretization : public CBase_Discretization { std::vector< std::size_t >& Gid() { return m_gid; } //! Local ids accessors as const-ref - const std::unordered_map< std::size_t, std::size_t >& Lid() const + const std::unordered_map< std::size_t, std::size_t >& Lid() const { return m_lid; } //! Local ids accessors as non-const-ref std::unordered_map< std::size_t, std::size_t >& Lid() { return m_lid; } @@ -141,6 +150,12 @@ class Discretization : public CBase_Discretization { //! Nodal mesh volumes accessors as non-const-ref std::vector< tk::real >& Vol() { return m_vol; } + //! History points data accessor as const-ref + const std::vector< HistData >& Hist() const { return m_histdata; } + + //! Box volume accessor + tk::real& Boxvol() { return m_boxvol; } + //! Time step size accessor tk::real Dt() const { return m_dt; } //! Physical time accessor @@ -153,6 +168,9 @@ class Discretization : public CBase_Discretization { //! Non-const-ref field-output iteration count accessor uint64_t& Itf() { return m_itf; } + //! Non-const-ref number of restarts accessor + int& Nrestart() { return m_nrestart; } + //! Timer accessor as const-ref const tk::Timer& Timer() const { return m_timer; } //! Timer accessor as non-const-ref @@ -187,19 +205,15 @@ class Discretization : public CBase_Discretization { //! Boundary node ids accessor as non-const-ref std::unordered_map< std::size_t, std::size_t >& Bid() { return m_bid; } - //! Nodal communication map accessor as const-ref - const std::unordered_map< int, std::vector< std::size_t > >& Msum() const - { return m_msum; } - //! Nodal communication map accessor as non-const-ref - std::unordered_map< int, std::vector< std::size_t > >& Msum() - { return m_msum; } - - //! Points surrounding points accessor as const-ref - const std::pair< std::vector< std::size_t >, std::vector< std::size_t > >& - Psup() const { return m_psup; } - //! Points surrounding points accessor as non-const-ref - std::pair< std::vector< std::size_t >, std::vector< std::size_t > >& - Psup() { return m_psup; } + //! Node communication map accessor as const-ref + const tk::NodeCommMap& NodeCommMap() const { return m_nodeCommMap; } + //! Node communication map accessor as non-const-ref + tk::NodeCommMap& NodeCommMap() { return m_nodeCommMap; } + + //! Edge communication map accessor as const-ref + const tk::EdgeCommMap& EdgeCommMap() const { return m_edgeCommMap; } + //! Edge communication map accessor as non-const-ref + tk::EdgeCommMap& EdgeCommMap() { return m_edgeCommMap; } //@} //! Set time step size @@ -211,6 +225,16 @@ class Discretization : public CBase_Discretization { //! Otput one-liner status report void status(); + //! Construct history output filename + std::string histfilename( const std::string& id, + kw::precision::info::expect::type precision ); + + //! Output headers for time history files (one for each point) + void histheader( std::vector< std::string >&& names ); + + //! Output time history for a time step + void history( std::vector< std::vector< tk::real > >&& data ); + //! Output mesh and fields data (solution dump) to file(s) void write( const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, @@ -219,13 +243,74 @@ class Discretization : public CBase_Discretization { const std::vector< std::size_t >& triinpoel, const std::vector< std::string>& elemfieldnames, const std::vector< std::string>& nodefieldnames, + const std::vector< std::string>& nodesurfnames, const std::vector< std::vector< tk::real > >& elemfields, const std::vector< std::vector< tk::real > >& nodefields, + const std::vector< std::vector< tk::real > >& nodesurfs, CkCallback c ); - //! Return chare-node adjacency map as sets + //! Zero grind-timer + void grindZero(); + + //! Detect if just returned from a checkpoint and if so, zero timers + bool restarted( int nrestart ); + + //! Remap mesh data due to new local ids + void remap( const std::unordered_map< std::size_t, std::size_t >& map ); + + //! \brief Function object for querying the node ids at which a particular + //! BCType BC is configured by the user, called for each PDE type + template< typename BCType > + struct BCNodes { + + const std::map< int, std::vector< std::size_t > >& m_bface; + const std::vector< std::size_t >& m_triinpoel; + std::unordered_map< int, std::unordered_set< std::size_t > >& m_nodes; + + explicit + BCNodes( const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel, + std::unordered_map< int, + std::unordered_set< std::size_t > >& nodes ) + : m_bface(bface), m_triinpoel(triinpoel), m_nodes(nodes) {} + + template< typename Eq > void operator()( brigand::type_ ) { + const auto& bc = + g_inputdeck.template get< tag::param, Eq, tag::bc, BCType >(); + for (const auto& eq : bc) { + for (const auto& s : eq) { + auto k = m_bface.find( std::stoi(s) ); + if (k != end(m_bface)) { + auto& n = m_nodes[ k->first ]; // associate set id + for (auto f : k->second) { // face ids on BCType side set + n.insert( m_triinpoel[f*3+0] ); + n.insert( m_triinpoel[f*3+1] ); + n.insert( m_triinpoel[f*3+2] ); + } + } + } + } + } + }; + + //! \brief Query nodes at which BCType boundary conditions are set for all + //! PDE types + //! \tparam BCType Boundary condition type + //! \param[in] bface Boundary-faces mapped to side set ids + //! \param[in] triinpoel Boundary-face connectivity + //! \return Node ids at which BCType BCs are set (value), + //! associated to sides set id on which the BC is set (key) + template< typename BCType > std::unordered_map< int, std::unordered_set< std::size_t > > - msumset() const; + bcnodes( const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel ) const + { + using PDETypes = ctr::parameters::Keys; + std::unordered_map< int, std::unordered_set< std::size_t > > nodes; + brigand::for_each< PDETypes >( + BCNodes< BCType >( bface, triinpoel, nodes ) ); + return nodes; + } /** @name Charm++ pack/unpack serializer member functions */ ///@{ @@ -252,16 +337,19 @@ class Discretization : public CBase_Discretization { m_lid = std::get< 2 >( m_el ); } p | m_coord; - p | m_psup; - p | m_msum; + p | m_nodeCommMap; + p | m_edgeCommMap; p | m_meshvol; p | m_v; p | m_vol; p | m_volc; + p | m_boxvol; p | m_bid; p | m_timer; p | m_refined; p( reinterpret_cast(&m_prevstatus), sizeof(Clock::time_point) ); + p | m_nrestart; + p | m_histdata; } //! \brief Pack/Unpack serialize operator| //! \param[in,out] p Charm++'s PUP::er serializer object reference @@ -320,13 +408,12 @@ class Discretization : public CBase_Discretization { std::unordered_map< std::size_t, std::size_t >& m_lid = std::get< 2 >( m_el ); //! Mesh point coordinates tk::UnsMesh::Coords m_coord; - //! Points surrounding points of our chunk of the mesh - std::pair< std::vector< std::size_t >, std::vector< std::size_t > > m_psup; //! \brief Global mesh node IDs bordering the mesh chunk held by fellow //! Discretization chares associated to their chare IDs - //! \details msum: mesh chunks surrounding mesh chunks and their neighbor - //! points - std::unordered_map< int, std::vector< std::size_t > > m_msum; + tk::NodeCommMap m_nodeCommMap; + //! \brief Edges with global node IDs bordering the mesh chunk held by + //! fellow Discretization chares associated to their chare IDs + tk::EdgeCommMap m_edgeCommMap; //! Total mesh volume tk::real m_meshvol; //! Nodal mesh volumes @@ -345,8 +432,10 @@ class Discretization : public CBase_Discretization { //! cell volumes / 4) with contributions from other chares on //! chare-boundaries. std::unordered_map< std::size_t, tk::real > m_volc; + //! Volume of user-defined box IC + tk::real m_boxvol; //! \brief Local chare-boundary mesh node IDs at which we receive - //! contributions associated to global mesh node IDs of mesh elements we + //! contributions associated to global mesh node IDs of elements we //! contribute to std::unordered_map< std::size_t, std::size_t > m_bid; //! Timer measuring a time step @@ -355,6 +444,10 @@ class Discretization : public CBase_Discretization { int m_refined; //! Time point storing clock state at status() Clock::time_point m_prevstatus; + //! Number of times restarted + int m_nrestart; + //! Data at history point locations + std::vector< HistData > m_histdata; //! Set mesh coordinates based on coordinates map tk::UnsMesh::Coords setCoord( const tk::UnsMesh::CoordMap& coordmap ); diff --git a/src/Inciter/DistFCT.cpp b/src/Inciter/DistFCT.cpp index 3c641387b5a..ddfae563c0a 100644 --- a/src/Inciter/DistFCT.cpp +++ b/src/Inciter/DistFCT.cpp @@ -3,7 +3,7 @@ \file src/Inciter/DistFCT.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface for distributed flux-corrected transport \details Charm++ module interface file for asynchronous distributed @@ -33,8 +33,7 @@ using inciter::DistFCT; DistFCT::DistFCT( int nchare, std::size_t nu, std::size_t np, - const std::unordered_map< int, - std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::unordered_map< std::size_t, std::size_t >& bid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::vector< std::size_t >& inpoel ) : @@ -42,7 +41,7 @@ DistFCT::DistFCT( int nchare, m_nalw( 0 ), m_nlim( 0 ), m_nchare( static_cast< std::size_t >( nchare ) ), - m_msum( msum ), + m_nodeCommMap( nodeCommMap ), m_bid( bid ), m_lid( lid ), m_inpoel( inpoel ), @@ -62,8 +61,8 @@ DistFCT::DistFCT( int nchare, //! \param[in] nu Number of unknowns in solution vector //! \param[in] np Total number of properties, i.e., scalar variables or //! components, per unknown in solution vector -//! \param[in] msum Global mesh node IDs associated to chare IDs bordering the -//! mesh chunk we operate on +//! \param[in] nodeCommMap Global mesh node IDs associated to chare IDs +//! bordering the mesh chunk we operate on //! \param[in] bid Local chare-boundary mesh node IDs at which we receive //! contributions associated to global mesh node IDs of mesh elements we //! contribute to @@ -75,7 +74,6 @@ DistFCT::DistFCT( int nchare, resizeComm(); // Size communication buffers } - void DistFCT::resizeComm() // ***************************************************************************** @@ -95,18 +93,28 @@ DistFCT::resizeComm() for (auto& b : m_ac) b.resize( np ); } +void +DistFCT::remap( const Discretization& d ) +// ***************************************************************************** +// Remap local ids after a mesh node reorder +//! \param[in] d Discretization proxy to read mesh data from +// ***************************************************************************** +{ + m_lid = d.Lid(); + m_inpoel = d.Inpoel(); +} + void DistFCT::resize( std::size_t nu, - const std::unordered_map< int, - std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::unordered_map< std::size_t, std::size_t >& bid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::vector< std::size_t >& inpoel ) // ***************************************************************************** // Resize FCT data structures (e.g., after mesh refinement) //! \param[in] nu New number of unknowns in solution vector -//! \param[in] msum New global mesh node IDs associated to chare IDs bordering -//! the mesh chunk we operate on +//! \param[in] nodeCommMap New global mesh node IDs associated to chare IDs +//! bordering the mesh chunk we operate on //! \param[in] bid New local chare-boundary mesh node IDs at which we receive //! contributions associated to global mesh node IDs of mesh elements we //! contribute to @@ -115,7 +123,7 @@ DistFCT::resize( std::size_t nu, //! \param[in] inpoel Mesh connectivity of our chunk of the mesh // ***************************************************************************** { - m_msum = msum; + m_nodeCommMap = nodeCommMap; m_bid = bid; m_lid = lid; m_inpoel = inpoel; @@ -129,24 +137,13 @@ DistFCT::resize( std::size_t nu, m_fluxcorrector.resize( m_inpoel.size() ); } -tk::Fields -DistFCT::lump( const Discretization& d ) -// ***************************************************************************** -// Compute lumped mass lhs required for the low order solution -//! \param[in] d Discretization proxy to read mesh data from -//! \return Lumped mass matrix -// ***************************************************************************** -{ - return m_fluxcorrector.lump( d.Coord(), m_inpoel ); -} - tk::Fields DistFCT::diff( const Discretization& d, const tk::Fields& Un ) // ***************************************************************************** // Compute mass diffusion rhs contribution required for the low order solution //! \param[in] d Discretization proxy to read mesh data from //! \param[in] Un Solution at the previous time step -//! \return Lumped mass matrix +//! \return Mass diffusion contribution to the RHS of the low order system // ***************************************************************************** { return m_fluxcorrector.diff( d.Coord(), m_inpoel, Un ); @@ -158,14 +155,11 @@ DistFCT::next() // Prepare for next time step stage // ***************************************************************************** { - thisProxy[ thisIndex ].wait4fct(); - thisProxy[ thisIndex ].wait4app(); - // Initialize FCT data structures for new time step m_p.fill( 0.0 ); m_a.fill( 0.0 ); - for (std::size_t p=0; p().nprop(); ++c) { + for (std::size_t p=0; p::max(); m_q(p,c*2+1,0) = std::numeric_limits< tk::real >::max(); } @@ -173,27 +167,38 @@ DistFCT::next() for (auto& b : m_pc) std::fill( begin(b), end(b), 0.0 ); for (auto& b : m_ac) std::fill( begin(b), end(b), 0.0 ); for (auto& b : m_qc) - for (ncomp_t c=0; c::max(); b[c*2+1] = std::numeric_limits< tk::real >::max(); } + + thisProxy[ thisIndex ].wait4fct(); + thisProxy[ thisIndex ].wait4app(); } void -DistFCT::aec( const Discretization& d, - const tk::Fields& dUh, - const tk::Fields& Un, - const std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > >& bc ) +DistFCT::aec( + const Discretization& d, + const tk::Fields& dUh, + const tk::Fields& Un, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir, + const std::unordered_map< int, + std::unordered_set< std::size_t > >& symbcnodemap, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm ) // ***************************************************************************** // Compute and sum antidiffusive element contributions (AEC) to mesh nodes //! \param[in] d Discretization proxy to read mesh data from //! \param[in] dUh Increment of the high order solution //! \param[in] Un Solution at the previous time step -//! \param[in] bc Vector of pairs of bool and boundary condition value +//! \param[in] bcdir Vector of pairs of bool and boundary condition value //! associated to mesh node IDs at which to set Dirichlet boundary conditions. //! Note that this BC data structure must include boundary conditions set //! across all PEs, not just the ones need to be set on this PE. +//! \param[in] nodes Unique set of node ids at which to set symmetry BCs +//! \param[in] bnorm Face normals in boundary points: key global node id, +//! value: unit normal, outer key: side set id //! \details This function computes and starts communicating m_p, which stores //! the sum of all positive (negative) antidiffusive element contributions to //! nodes (Lohner: P^{+,-}_i), see also FluxCorrector::aec(). @@ -205,19 +210,20 @@ DistFCT::aec( const Discretization& d, // Compute and sum antidiffusive element contributions to mesh nodes. Note // that the sums are complete on nodes that are not shared with other chares // and only partial sums on chare-boundary nodes. - m_fluxcorrector.aec(d.Coord(), m_inpoel, d.Vol(), bc, d.Gid(), dUh, Un, m_p); + m_fluxcorrector.aec( d.Coord(), m_inpoel, d.Vol(), bcdir, symbcnodemap, bnorm, + Un, m_p ); - if (d.Msum().empty()) + if (d.NodeCommMap().empty()) comaec_complete(); else // send contributions to chare-boundary nodes to fellow chares - for (const auto& n : d.Msum()) { - std::vector< std::vector< tk::real > > p( n.second.size() ); + for (const auto& [c,n] : d.NodeCommMap()) { + std::vector< std::vector< tk::real > > p( n.size() ); std::size_t j = 0; - for (auto i : n.second) p[ j++ ] = m_p[ tk::cref_find(m_lid,i) ]; - thisProxy[ n.first ].comaec( n.second, p ); + for (auto i : n) p[ j++ ] = m_p[ tk::cref_find(m_lid,i) ]; + thisProxy[ c ].comaec( std::vector(begin(n),end(n)), p ); } - ownaec_complete(); + ownaec_complete( bcdir ); } void @@ -246,7 +252,7 @@ DistFCT::comaec( const std::vector< std::size_t >& gid, m_pc[ bid ] += P[i]; } - if (++m_naec == m_msum.size()) { + if (++m_naec == m_nodeCommMap.size()) { m_naec = 0; comaec_complete(); } @@ -281,14 +287,14 @@ DistFCT::alw( const tk::Fields& Un, // nodes. m_fluxcorrector.alw( m_inpoel, Un, Ul, m_q ); - if (m_msum.empty()) + if (m_nodeCommMap.empty()) comalw_complete(); else // send contributions at chare-boundary nodes to fellow chares - for (const auto& n : m_msum) { - std::vector< std::vector< tk::real > > q( n.second.size() ); + for (const auto& [c,n] : m_nodeCommMap) { + std::vector< std::vector< tk::real > > q( n.size() ); std::size_t j = 0; - for (auto i : n.second) q[ j++ ] = m_q[ tk::cref_find(m_lid,i) ]; - thisProxy[ n.first ].comalw( n.second, q ); + for (auto i : n) q[ j++ ] = m_q[ tk::cref_find(m_lid,i) ]; + thisProxy[ c ].comalw( std::vector(begin(n),end(n)), q ); } ownalw_complete(); @@ -318,22 +324,27 @@ DistFCT::comalw( const std::vector< std::size_t >& gid, Assert( bid < m_qc.size(), "Indexing out of bounds" ); auto& o = m_qc[ bid ]; const auto& q = Q[i]; - for (ncomp_t c=0; c o[c*2+0]) o[c*2+0] = q[c*2+0]; if (q[c*2+1] < o[c*2+1]) o[c*2+1] = q[c*2+1]; } } - if (++m_nalw == m_msum.size()) { + if (++m_nalw == m_nodeCommMap.size()) { m_nalw = 0; comalw_complete(); } } void -DistFCT::lim() +DistFCT::lim( const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir ) // ***************************************************************************** // Compute the limited antidiffusive element contributions +//! \param[in] bcdir Vector of pairs of bool and boundary condition value +//! associated to mesh node IDs at which to set Dirichlet boundary conditions. +//! Note that this BC data structure must include boundary conditions set +//! across all PEs, not just the ones need to be set on this PE. //! \details This function computes and starts communicating m_a, which stores //! the limited antidiffusive element contributions assembled to nodes //! (Lohner: AEC^c), see also FluxCorrector::limit(). @@ -354,16 +365,16 @@ DistFCT::lim() } } - m_fluxcorrector.lim( m_inpoel, m_p, m_ul, m_q, m_a ); + m_fluxcorrector.lim( m_inpoel, bcdir, m_p, m_ul, m_q, m_a ); - if (m_msum.empty()) + if (m_nodeCommMap.empty()) comlim_complete(); else // send contributions to chare-boundary nodes to fellow chares - for (const auto& n : m_msum) { - std::vector< std::vector< tk::real > > a( n.second.size() ); + for (const auto& [c,n] : m_nodeCommMap) { + std::vector< std::vector< tk::real > > a( n.size() ); std::size_t j = 0; - for (auto i : n.second) a[ j++ ] = m_a[ tk::cref_find(m_lid,i) ]; - thisProxy[ n.first ].comlim( n.second, a ); + for (auto i : n) a[ j++ ] = m_a[ tk::cref_find(m_lid,i) ]; + thisProxy[ c ].comlim( std::vector(begin(n),end(n)), a ); } ownlim_complete(); @@ -396,7 +407,7 @@ DistFCT::comlim( const std::vector< std::size_t >& gid, m_ac[ bid ] += A[i]; } - if (++m_nlim == m_msum.size()) { + if (++m_nlim == m_nodeCommMap.size()) { m_nlim = 0; comlim_complete(); } @@ -419,4 +430,26 @@ DistFCT::apply() m_host[ thisIndex ].ckLocal()->update( m_a, std::move(m_dul) ); } +std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > >, + std::vector< std::string >, + std::vector< std::vector< tk::real > > > +DistFCT::fields() const +// ***************************************************************************** +// Collect mesh output fields from FCT +//! \return Names and fields in mesh cells and nodes +// ***************************************************************************** +{ + auto fct_elemfields = m_fluxcorrector.fields( m_inpoel ); + + using tuple_t = std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > >, + std::vector< std::string >, + std::vector< std::vector< tk::real > > >; + + return tuple_t{ std::get< 0 >( fct_elemfields ), + std::get< 1 >( fct_elemfields ), + {}, {} }; +} + #include "NoWarning/distfct.def.h" diff --git a/src/Inciter/DistFCT.hpp b/src/Inciter/DistFCT.hpp index 6bd641147b9..a238838b4b2 100644 --- a/src/Inciter/DistFCT.hpp +++ b/src/Inciter/DistFCT.hpp @@ -3,7 +3,7 @@ \file src/Inciter/DistFCT.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface for distributed flux-corrected transport \details Charm++ module interface file for asynchronous distributed @@ -80,7 +80,7 @@ class DistFCT : public CBase_DistFCT { DistFCT( int nchare, std::size_t nu, std::size_t np, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::unordered_map< std::size_t, std::size_t >& bid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::vector< std::size_t >& inpoel ); @@ -96,9 +96,6 @@ class DistFCT : public CBase_DistFCT { #pragma clang diagnostic pop #endif - //! Compute lumped mass lhs required for the low order solution - tk::Fields lump( const Discretization& d ); - //! \brief Compute mass diffusion rhs contribution required for the low //! order solution tk::Fields diff( const Discretization& d, const tk::Fields& Un ); @@ -121,11 +118,16 @@ class DistFCT : public CBase_DistFCT { const std::vector< std::vector< tk::real > >& A ); //! Compute and sum antidiffusive element contributions (AEC) to mesh nodes - void aec( const Discretization& d, - const tk::Fields& dUh, - const tk::Fields& Un, - const std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > >& bc ); + void aec( + const Discretization& d, + const tk::Fields& dUh, + const tk::Fields& Un, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir, + const std::unordered_map< int, + std::unordered_set< std::size_t > >& symbcnodemap, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm ); //! \brief Compute the maximum and minimum unknowns of all elements //! surrounding nodes @@ -134,14 +136,23 @@ class DistFCT : public CBase_DistFCT { tk::Fields&& dUl, const CProxy_DiagCG& host ); + //! Remap local ids after a mesh node reorder + void remap( const Discretization& d ); + //! Resize FCT data structures (e.g., after mesh refinement) void resize( std::size_t nu, - const std::unordered_map< int, - std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::unordered_map< std::size_t, std::size_t >& bid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::vector< std::size_t >& inpoel ); + //! Collect mesh output fields from FCT + std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > >, + std::vector< std::string >, + std::vector< std::vector< tk::real > > > + fields() const; + /** @name Pack/unpack (Charm++ serialization) routines */ ///@{ //! \brief Pack/Unpack serialize member function @@ -151,7 +162,7 @@ class DistFCT : public CBase_DistFCT { p | m_nalw; p | m_nlim; p | m_nchare; - p | m_msum; + p | m_nodeCommMap; p | m_bid; p | m_lid; p | m_inpoel; @@ -189,10 +200,8 @@ class DistFCT : public CBase_DistFCT { std::size_t m_nchare; //! \brief Global mesh node IDs bordering the mesh chunk held by fellow //! chares associated to their chare IDs - //! \details msum: mesh chunks surrounding mesh chunks and their neighbor - //! points //! \note This is a copy. Original in (bound) Discretization - std::unordered_map< int, std::vector< std::size_t > > m_msum; + tk::NodeCommMap m_nodeCommMap; //! \brief Local chare-boundary mesh node IDs at which we receive //! contributions associated to global mesh node IDs of mesh elements we //! contribute to @@ -220,7 +229,8 @@ class DistFCT : public CBase_DistFCT { void resizeComm(); //! Compute the limited antidiffusive element contributions - void lim(); + void lim( const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir ); //! Apply limited antidiffusive element contributions void apply(); diff --git a/src/Inciter/ElemDiagnostics.cpp b/src/Inciter/ElemDiagnostics.cpp index b0c6675a8c0..d800552b654 100644 --- a/src/Inciter/ElemDiagnostics.cpp +++ b/src/Inciter/ElemDiagnostics.cpp @@ -3,7 +3,7 @@ \file src/Inciter/ElemDiagnostics.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ElemDiagnostics class for collecting element diagnostics \details ElemDiagnostics class for collecting element diagnostics, e.g., @@ -119,7 +119,8 @@ ElemDiagnostics::compute_diag( const Discretization& d, const tk::Fields& geoElem, const std::vector< std::size_t >& ndofel, const tk::Fields& u, - std::vector< std::vector< tk::real > >& diag ) const + std::vector< std::vector< tk::real > >& diag ) +const // ***************************************************************************** // Compute diagnostics, e.g., residuals, norms of errors, etc. for DG //! \param[in] d Discretization base class to read from @@ -167,8 +168,8 @@ ElemDiagnostics::compute_diag( const Discretization& d, auto gp = tk::eval_gp( igp, coordel, coordgp ); // Compute the basis function - auto B = - tk::eval_basis(ndofel[e], coordgp[0][igp], coordgp[1][igp], coordgp[2][igp]); + auto B = tk::eval_basis( ndofel[e], coordgp[0][igp], coordgp[1][igp], + coordgp[2][igp]); auto wt = wgp[igp] * geoElem(e, 0, 0); diff --git a/src/Inciter/ElemDiagnostics.hpp b/src/Inciter/ElemDiagnostics.hpp index 9f3aeee68ce..0677da780b8 100644 --- a/src/Inciter/ElemDiagnostics.hpp +++ b/src/Inciter/ElemDiagnostics.hpp @@ -3,7 +3,7 @@ \file src/Inciter/ElemDiagnostics.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ElemDiagnostics class for collecting diagnostics \details ElemDiagnostics class for collecting diagnostics, e.g., residuals, diff --git a/src/Inciter/FaceData.cpp b/src/Inciter/FaceData.cpp index 9195f8fe75e..60476130e52 100644 --- a/src/Inciter/FaceData.cpp +++ b/src/Inciter/FaceData.cpp @@ -3,7 +3,7 @@ \file src/Inciter/FaceData.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \details Face-data used only in discontinuous Galerkin discretization scheme \see FaceData.h for more info. diff --git a/src/Inciter/FaceData.hpp b/src/Inciter/FaceData.hpp index 23fce585db0..d644b14f161 100644 --- a/src/Inciter/FaceData.hpp +++ b/src/Inciter/FaceData.hpp @@ -3,7 +3,7 @@ \file src/Inciter/FaceData.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \details Face-data used only in discontinuous Galerkin discretization scheme */ diff --git a/src/Inciter/FieldsMerger.hpp b/src/Inciter/FieldsMerger.hpp deleted file mode 100644 index ee9e28edbbd..00000000000 --- a/src/Inciter/FieldsMerger.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// ***************************************************************************** -/*! - \file src/Inciter/FieldsMerger.hpp - \copyright 2012-2015 J. Bakosi, - 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. - All rights reserved. See the LICENSE file for details. - \brief Custom Charm++ reducer for merging mesh node indices across PEs - \details Custom Charm++ reducer for merging mesh node indices across PEs. -*/ -// ***************************************************************************** -#ifndef FieldsMerger_h -#define FieldsMerger_h - -#include -#include - -#include "NoWarning/charm++.hpp" -#include "ContainerUtil.hpp" - -namespace inciter { - -//! Serialize mesh node indices categorized by chares to raw memory stream -//! \param[in] m Chare mesh node indices to serialize -//! \return Pair of the length and the raw stream containing the serialized data -template< typename T > -std::pair< int, std::unique_ptr > -serialize( const std::vector< std::pair< int, T > >& m ) { - // Prepare for serializing node indices to a raw binary stream, compute size - PUP::sizer sizer; - sizer | - const_cast< std::vector< std::pair< int, T > >& >( m ); - - // Create raw character stream to store the serialized node indices - std::unique_ptr flatData = std::make_unique( sizer.size() ); - - // Serialize, each message will contain a list of node indices per chare - PUP::toMem packer( flatData.get() ); - packer | - const_cast< std::vector< std::pair< int, T > >& >( m ); - - // Return size of and raw stream - return { sizer.size(), std::move(flatData) }; -} - -//! \brief Charm++ custom reducer for merging mesh node indices categorized by -//! chares during reduction across PEs -//! \param[in] nmsg Number of messages in msgs -//! \param[in] msgs Charm++ reduction message containing the serialized mesh -//! node indices categorized by chares -//! \return Aggregated mesh node indices categorized by chares built for further -//! aggregation if needed -//! \details During aggregation the outer vector is simply concatenated. -template< typename T > -CkReductionMsg* -mergeFields( int nmsg, CkReductionMsg **msgs ) { - // Will store deserialized mesh node indices categorized by chares - std::vector< std::pair< int, T > > p; - - // Create PUP deserializer based on message passed in - PUP::fromMem creator( msgs[0]->getData() ); - - // Deserialize from raw stream - creator | p; - - for (int m=1; m > u; - PUP::fromMem curCreator( msgs[m]->getData() ); - curCreator | u; - // Concatenate mesh node indices categorized by chares - p.insert( end(p), begin(u), end(u) ); - } - - // Serialize concatenated node indices categorized by chares to raw stream - auto stream = serialize( p ); - - // Forward serialized mesh node indices categorized by chares - return CkReductionMsg::buildNew( stream.first, stream.second.get() ); -} - -} // inciter:: - -#endif // FieldsMerger_h diff --git a/src/Inciter/FluxCorrector.cpp b/src/Inciter/FluxCorrector.cpp index 3ee3941a90e..db688b710ab 100644 --- a/src/Inciter/FluxCorrector.cpp +++ b/src/Inciter/FluxCorrector.cpp @@ -3,7 +3,7 @@ \file src/Inciter/FluxCorrector.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FluxCorrector performs limiting for transport equations \details FluxCorrector performs limiting for transport equations. Each @@ -20,6 +20,7 @@ #include "Macro.hpp" #include "Vector.hpp" +#include "Around.hpp" #include "DerivedData.hpp" #include "FluxCorrector.hpp" #include "Inciter/InputDeck/InputDeck.hpp" @@ -27,26 +28,30 @@ using inciter::FluxCorrector; void -FluxCorrector::aec( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::vector< tk::real >& vol, - const std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > >& bc, - const std::vector< std::size_t >& gid, - const tk::Fields& dUh, - const tk::Fields& Un, - tk::Fields& P ) +FluxCorrector::aec( + const std::array< std::vector< tk::real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< tk::real >& vol, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir, + const std::unordered_map< int, + std::unordered_set< std::size_t > >& symbcnodemap, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm, + const tk::Fields& Un, + tk::Fields& P ) // ***************************************************************************** // Compute antidiffusive element contributions (AEC) //! \param[in] coord Mesh node coordinates //! \param[in] inpoel Mesh element connectivity //! \param[in] vol Volume associated to mesh nodes -//! \param[in] bc Vector of pairs of bool and boundary condition value -//! associated to mesh node IDs at which to set Dirichlet boundary conditions. -//! Note that this BC data structure must include boundary conditions set -//! across all PEs, not just the ones need to be set on this PE. -//! \param[in] gid Local to global node ID mapping -//! \param[in] dUh Increment of the high order solution +//! \param[in] bcdir Vector of pairs of bool and boundary condition value +//! associated to local mesh node IDs at which to set Dirichlet boundary +//! conditions. +//! \param[in] symbcnodemap Unique set of node ids at which to set symmetry BCs +//! associated to side set ids +//! \param[in] bnorm Face normals in boundary points: key global node id, +//! value: unit normal, outer key: side set id //! \param[in] Un Solution at the previous time step //! \param[in,out] P The sums of positive (negative) AECs to nodes //! \details The antidiffusive element contributions (AEC) are defined as the @@ -66,6 +71,8 @@ FluxCorrector::aec( const std::array< std::vector< tk::real >, 3 >& coord, //! volume associated to a mesh node by summing the quarter of the element //! volumes surrounding the node. Note that this is the correct node volume //! taking into account that some nodes are on chare boundaries. +//! \note Since we use the lumped-mass for the high-order solution, dUh +//! does not contribute to AEC, as computed above. //! \see Löhner, R., Morgan, K., Peraire, J. and Vahdati, M. (1987), Finite //! element flux-corrected transport (FEM–FCT) for the Euler and Navier–Stokes //! equations. Int. J. Numer. Meth. Fluids, 7: 1093–1109. @@ -78,10 +85,7 @@ FluxCorrector::aec( const std::array< std::vector< tk::real >, 3 >& coord, Assert( vol.size() == coord[0].size(), "Nodal volume vector size mismatch" ); Assert( m_aec.nunk() == inpoel.size() && m_aec.nprop() == ncomp, "AEC and mesh connectivity size mismatch" ); - Assert( Un.nunk() == dUh.nunk() && Un.nprop() == dUh.nprop(), - "Unknown array size mismatch" ); - Assert( P.nunk() == dUh.nunk() && P.nprop() == dUh.nprop()*2, - "Sums of positive (negative) AECs to nodes array size mismatch" ); + Assert( Un.nunk() == P.nunk() && Un.nprop() == P.nprop()/2, "Size mismatch" ); const auto& x = coord[0]; const auto& y = coord[1]; @@ -111,10 +115,7 @@ FluxCorrector::aec( const std::array< std::vector< tk::real >, 3 >& coord, // access solution at element nodes at time n std::vector< std::array< tk::real, 4 > > un( ncomp ); - // access high-order solution increment at element nodes: duh = 0 for - // lumped-mass CG for (ncomp_t c=0; c > duh( ncomp, {{0,0,0,0}} ); // Compute antidiffusive element contributions (AEC). The high order system // is M_c * dUh = r, where M_c is the consistent mass matrix and r is the @@ -132,42 +133,62 @@ FluxCorrector::aec( const std::array< std::vector< tk::real >, 3 >& coord, for (std::size_t j=0; j<4; ++j) for (ncomp_t c=0; c N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; for (std::size_t j=0; j<4; ++j) { - auto b = bc.find( gid[ N[j] ] ); - if (b != end(bc)) - for (ncomp_t c=0; csecond[c].first) + // Dirichlet BCs: At nodes where Dirichlet boundary conditions (BC) are + // set, we set the AEC to zero. This is because if the (same) BCs are + // correctly set for both the low and the high order solution, there + // should be no difference between the low and high order increments, + // thus AEC = dUh - dUl = 0. + auto b = bcdir.find(N[j]); + if (b != end(bcdir)) { + for (ncomp_t c=0; csecond[c].first) { m_aec(e*4+j,c,0) = 0.0; + } + } + } + // Symmetry BCs + for (const auto& [s,nodes] : symbcnodemap) { + auto i = nodes.find(N[j]); + if (i != end(nodes)) { + auto l = bnorm.find(s); + if (l != end(bnorm)) { + auto k = l->second.find(N[j]); + for (const auto& vel : m_vel) { + std::array< tk::real, 3 > + v{ m_aec(e*4+j,vel[0],0), + m_aec(e*4+j,vel[1],0), + m_aec(e*4+j,vel[2],0) }, + n{ k->second[0], k->second[1], k->second[2] }; + auto vn = tk::dot( v, n ); + m_aec(e*4+j,vel[0],0) -= vn * n[0]; + m_aec(e*4+j,vel[1],0) -= vn * n[1]; + m_aec(e*4+j,vel[2],0) -= vn * n[2]; + } + } + } + } } } // sum all positive (negative) antidiffusive element contributions to nodes // (Lohner: P^{+,-}_i) - const auto esup = tk::genEsup( inpoel, 4 ); - for (std::size_t p=0; p N{{ inpoel[e*4+0], inpoel[e*4+1], + inpoel[e*4+2], inpoel[e*4+3] }}; + for (std::size_t j=0; j<4; ++j) { + for (ncomp_t c=0; c, 3 >& coord, - const std::vector< std::size_t >& inpoel ) const -// ***************************************************************************** -// Compute lumped mass matrix left hand side for the low order system -//! \param[in] coord Mesh node coordinates -//! \param[in] inpoel Mesh element connectivity -//! \return Lumped mass matrix -// ***************************************************************************** -{ - const auto& x = coord[0]; - const auto& y = coord[1]; - const auto& z = coord[2]; - - auto ncomp = g_inputdeck.get< tag::component >().nprop(); - - tk::Fields L( coord[0].size(), ncomp ); - L.fill( 0.0 ); - - for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; - // compute element Jacobi determinant - const std::array< tk::real, 3 > - ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, - ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, - da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; - const auto J = tk::triple( ba, ca, da ) * 5.0 / 120.0; - Assert( J > 0, "Element Jacobian non-positive" ); - - // access pointer to lumped mass left hand side at element nodes - std::vector< const tk::real* > l( ncomp ); - for (ncomp_t c=0; c, 3 >& coord, const std::vector< std::size_t >& inpoel, @@ -289,47 +267,50 @@ FluxCorrector::diff( const std::array< std::vector< tk::real >, 3 >& coord, //! \return Mass diffusion contribution to the RHS of the low order system // ***************************************************************************** { + auto ncomp = g_inputdeck.get< tag::component >().nprop(); + auto ctau = g_inputdeck.get< tag::discr, tag::ctau >(); + + // access node coordinates const auto& x = coord[0]; const auto& y = coord[1]; const auto& z = coord[2]; - auto ncomp = g_inputdeck.get< tag::component >().nprop(); - auto ctau = g_inputdeck.get< tag::discr, tag::ctau >(); - tk::Fields D( Un.nunk(), Un.nprop() ); D.fill( 0.0 ); for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; - // compute element Jacobi determinant - const std::array< tk::real, 3 > - ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, - ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, - da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; - const auto J = tk::triple( ba, ca, da ); - Assert( J > 0, "Element Jacobian non-positive" ); - - // lumped - consistent mass - std::array< std::array< tk::real, 4 >, 4 > m; // nnode*nnode [4][4] - m[0][0] = m[1][1] = m[2][2] = m[3][3] = 3.0*J/120.0;// diagonal - m[0][1] = m[0][2] = m[0][3] = // off-diagonal - m[1][0] = m[1][2] = m[1][3] = - m[2][0] = m[2][1] = m[2][3] = - m[3][0] = m[3][1] = m[3][2] = -J/120.0; - - // access solution at element nodes at time n - std::vector< std::array< tk::real, 4 > > un( ncomp ); - for (ncomp_t c=0; c d( ncomp ); - for (ncomp_t c=0; c + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; + // compute element Jacobi determinant + const std::array< tk::real, 3 > + ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, + ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, + da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; + const auto J = tk::triple( ba, ca, da ); // J = 6V + Assert( J > 0, "Element Jacobian non-positive" ); + + // lumped - consistent mass + std::array< std::array< tk::real, 4 >, 4 > m; // nnode*nnode [4][4] + m[0][0] = m[1][1] = m[2][2] = m[3][3] = 3.0*J/120.0;// diagonal + m[0][1] = m[0][2] = m[0][3] = // off-diagonal + m[1][0] = m[1][2] = m[1][3] = + m[2][0] = m[2][1] = m[2][3] = + m[3][0] = m[3][1] = m[3][2] = -J/120.0; + + // access solution at element nodes at time n + std::vector< std::array< tk::real, 4 > > un( ncomp ); + for (ncomp_t c=0; c d( ncomp ); + for (ncomp_t c=0; c& inpoel, Assert( Q.nunk() == Un.nunk() && Q.nprop() == Un.nprop()*2, "Max and min " "unknowns of elements surrounding nodes array size mismatch" ); - // compute maximum and minimum nodal values of Ul and Un (Lohner: u^*_i) - auto Smax = tk::max( Ul, Un ); - auto Smin = tk::min( Ul, Un ); - auto ncomp = g_inputdeck.get< tag::component >().nprop(); + auto clip = g_inputdeck.get< tag::discr, tag::fctclip >(); // compute maximum and minimum nodal values of all elements (Lohner: u^*_el) tk::Fields S( inpoel.size()/4, ncomp*2 ); @@ -363,30 +341,35 @@ FluxCorrector::alw( const std::vector< std::size_t >& inpoel, const std::array< std::size_t, 4 > N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; for (ncomp_t c=0; c::max(); + S(e,c*2+1,0) = std::numeric_limits< tk::real >::max(); + for (std::size_t j=0; j<4; ++j) { + // compute maximum and minimum nodal values of Ul and Un (Lohner: u^*_i) + auto jmax = clip ? Ul(N[j],c,0) : std::max(Ul(N[j],c,0), Un(N[j],c,0)); + auto jmin = clip ? Ul(N[j],c,0) : std::min(Ul(N[j],c,0), Un(N[j],c,0)); + if (jmax > S(e,c*2+0,0)) S(e,c*2+0,0) = jmax; + if (jmin < S(e,c*2+1,0)) S(e,c*2+1,0) = jmin; + } } } // compute maximum and mimimum unknowns of all elements surrounding each node // (Lohner: u^{max,min}_i) const auto esup = tk::genEsup( inpoel, 4 ); - for (std::size_t p=0; p Q(p,c*2+0,0)) Q(p,c*2+0,0) = S(e,c*2+0,0); if (S(e,c*2+1,0) < Q(p,c*2+1,0)) Q(p,c*2+1,0) = S(e,c*2+1,0); } } + } } void FluxCorrector::lim( const std::vector< std::size_t >& inpoel, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir, const tk::Fields& P, const tk::Fields& Ul, tk::Fields& Q, @@ -394,6 +377,8 @@ FluxCorrector::lim( const std::vector< std::size_t >& inpoel, // ***************************************************************************** // Compute limited antiffusive element contributions and apply to mesh nodes //! \param[in] inpoel Mesh element connectivity +//! \param[in] bcdir Vector of pairs of bool and boundary condition value +//! associated to mesh node IDs at which to set Dirichlet boundary conditions. //! \param[in] P The sums of all positive (negative) AECs to nodes //! \param[in] Ul Low order solution //! \param[in,out] Q The maximum and mimimum unknowns of elements surrounding @@ -417,17 +402,25 @@ FluxCorrector::lim( const std::vector< std::size_t >& inpoel, Q(p,c*2+1,0) -= Ul(p,c,0); } - auto eps = std::numeric_limits< tk::real >::epsilon(); + auto eps = g_inputdeck.get< tag::discr, tag::fcteps >(); // compute the ratios of positive and negative element contributions that // ensure monotonicity (Lohner: R^{+,-}) - for (std::size_t p=0; p 0.0 ? std::min(1.0,Q(p,c*2+0,0)/P(p,c*2+0,0)) : 0.0; - Q(p,c*2+1,0) = - P(p,c*2+1,0) < 0.0 ? std::min(1.0,Q(p,c*2+1,0)/P(p,c*2+1,0)) : 0.0; + + if (P(p,c*2+0,0) < eps) + Q(p,c*2+0,0) = 1.0; + else + Q(p,c*2+0,0) = std::min(1.0,Q(p,c*2+0,0)/P(p,c*2+0,0)); + + if (P(p,c*2+1,0) > -eps) + Q(p,c*2+1,0) = 1.0; + else + Q(p,c*2+1,0) = std::min(1.0,Q(p,c*2+1,0)/P(p,c*2+1,0)); + } + } // calculate limit coefficient for all elements (Lohner: C_el) tk::Fields C( inpoel.size()/4, ncomp ); @@ -437,11 +430,14 @@ FluxCorrector::lim( const std::vector< std::size_t >& inpoel, for (ncomp_t c=0; c R; for (std::size_t j=0; j<4; ++j) { - // ignore Diriclhet BCs when computing cell limit coefficient + if (std::abs(m_aec(e*4+j,c,0)) < eps) - R[j] = std::numeric_limits< tk::real >::max(); + R[j] = 1.0; + else if (m_aec(e*4+j,c,0) > 0.0) + R[j] = Q(N[j],c*2+0,0); else - R[j] = m_aec(e*4+j,c,0) > 0.0 ? Q(N[j],c*2+0,0) : Q(N[j],c*2+1,0); + R[j] = Q(N[j],c*2+1,0); + } C(e,c,0) = *std::min_element( begin(R), end(R) ); // if all vertices happened to be on a Dirichlet boundary, ignore limiting @@ -451,6 +447,15 @@ FluxCorrector::lim( const std::vector< std::size_t >& inpoel, } } + // System limiting + for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], @@ -462,10 +467,30 @@ FluxCorrector::lim( const std::vector< std::size_t >& inpoel, // Scatter-add limited antidiffusive element contributions to nodes. At // nodes where Dirichlet boundary conditions are set, the AECs are set to - // zero so thelimit coefficient has no effect. This yields no increment for + // zero so the limit coefficient has no effect. This yields no increment for // those nodes. See the detailed discussion when computing the AECs. - for (std::size_t j=0; j<4; ++j) - for (ncomp_t c=0; csecond[c].first) { + A.var(a[c],N[j]) += m_aec(e*4+j,c,0); + } else { + A.var(a[c],N[j]) += C(e,c,0) * m_aec(e*4+j,c,0); + } + } + } } } + +std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > > > +FluxCorrector::fields( const std::vector< std::size_t >& /*inpoel*/ ) const +// ***************************************************************************** +// Collect mesh output fields from FCT +//! \return Names and fields in mesh cells +// ***************************************************************************** +{ + using tuple_t = std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > > >; + return tuple_t{}; +} diff --git a/src/Inciter/FluxCorrector.hpp b/src/Inciter/FluxCorrector.hpp index 73b387af4db..e5327793315 100644 --- a/src/Inciter/FluxCorrector.hpp +++ b/src/Inciter/FluxCorrector.hpp @@ -3,7 +3,7 @@ \file src/Inciter/FluxCorrector.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief FluxCorrector performs limiting for transport equations \details FluxCorrector performs limiting for transport equations. Each @@ -35,11 +35,72 @@ extern ctr::InputDeck g_inputdeck; //! doi:10.1002/fld.1650071007 class FluxCorrector { + private: + using ncomp_t = kw::ncomp::info::expect::type; + public: //! Constructor //! \param[in] is Size of the mesh element connectivity vector (inpoel size) explicit FluxCorrector( std::size_t is = 0 ) : - m_aec( is, g_inputdeck.get< tag::component >().nprop() ) {} + m_aec( is, g_inputdeck.get< tag::component >().nprop() ), + m_sys( findsys< tag::compflow >() ), + m_vel( findvel< tag::compflow >() ) {} + + //! Collect scalar comonent indices for equation systems + //! \tparam Eq Equation types to consider as equation systems + //! \return List of component indices to treat as a system + template< class... Eq > + std::vector< std::vector< ncomp_t > > + findsys() { + std::vector< std::vector< ncomp_t > > sys; + ( ... , [&](){ + // Access system-FCT variable indices for all systems of type Eq + const auto& sv = g_inputdeck.get< tag::param, Eq, tag::sysfctvar >(); + // Access number of scalar components in all systems of type Eq + const auto& ncompv = g_inputdeck.get< tag::component >().get< Eq >(); + // Assign variable indices for system FCT for each Eq system + for (std::size_t e=0; e().at(e)) { + auto offset = g_inputdeck.get< tag::component >().offset< Eq >( e ); + sys.push_back( std::vector< ncomp_t >() ); + for (auto c : sv.at(e)) { + sys.back().push_back( offset + c ); + } + } + } }() ); + for ([[maybe_unused]] const auto& s : sys) { + Assert( std::all_of( begin(s), end(s), [&]( std::size_t i ){ + return i < g_inputdeck.get< tag::component >().nprop(); } ), + "Eq system index larger than total number of components" ); + } + return sys; + } + + //! Find components of a velocity for equation systems + //! \tparam Eq Equation types to consider as equation systems + //! \return List of 3 component indices to treat as a velocity + //! \warning Currently, this is only a punt for single-material flow: we + //! simply take the components 1,2,3 as the velocity for each system of + //! type Eq + template< class... Eq > + std::vector< std::array< ncomp_t, 3 > > + findvel() { + std::vector< std::array< ncomp_t, 3 > > vel; + ( ... , [&](){ + // Access number of scalar components in all systems of type Eq + const auto& ncompv = g_inputdeck.get< tag::component >().get< Eq >(); + // Assign variable indices for system FCT for each Eq system + for (std::size_t e=0; e().offset< Eq >( e ); + vel.push_back( { offset+1, offset+2, offset+3 } ); + } }() ); + for ([[maybe_unused]] const auto& v : vel) { + Assert( std::all_of( begin(v), end(v), [&]( std::size_t i ){ + return i < g_inputdeck.get< tag::component >().nprop(); } ), + "Eq system index larger than total number of components" ); + } + return vel; + } //! Resize state (e.g., after mesh refinement) void resize( std::size_t is ) { @@ -47,15 +108,18 @@ class FluxCorrector { } //! Compute antidiffusive element contributions (AEC) - void aec( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::vector< tk::real >& vol, - const std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > >& bc, - const std::vector< std::size_t >& gid, - const tk::Fields& dUh, - const tk::Fields& Un, - tk::Fields& P ); + void aec( + const std::array< std::vector< tk::real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< tk::real >& vol, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bc, + const std::unordered_map< int, + std::unordered_set< std::size_t > >& symbcnodemap, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm, + const tk::Fields& Un, + tk::Fields& P ); //! Verify the assembled antidiffusive element contributions bool verify( std::size_t nchare, @@ -63,10 +127,6 @@ class FluxCorrector { const tk::Fields& dUh, const tk::Fields& dUl ) const; - //! Compute lumped mass matrix lhs for low order system - tk::Fields lump( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel ) const; - //! Compute mass diffusion contribution to the rhs of the low order system tk::Fields diff( const std::array< std::vector< tk::real >, 3 >& coord, const std::vector< std::size_t >& inpoel, @@ -81,17 +141,26 @@ class FluxCorrector { //! Compute limited antiffusive element contributions and apply to mesh nodes void lim( const std::vector< std::size_t >& inpoel, + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir, const tk::Fields& P, const tk::Fields& Ul, tk::Fields& Q, tk::Fields& A ) const; + // Collect mesh output fields from FCT + std::tuple< std::vector< std::string >, + std::vector< std::vector< tk::real > > > + fields( const std::vector< std::size_t >& inpoel ) const; + /** @name Charm++ pack/unpack serializer member functions */ ///@{ //! \brief Pack/Unpack serialize member function //! \param[in,out] p Charm++'s PUP::er serializer object reference void pup( PUP::er& p ) { p | m_aec; + p | m_sys; + p | m_vel; } //! \brief Pack/Unpack serialize operator| //! \param[in,out] p Charm++'s PUP::er serializer object reference @@ -100,10 +169,12 @@ class FluxCorrector { //@} private: - using ncomp_t = kw::ncomp::info::expect::type; - //! Antidiffusive element contributions for all scalar components tk::Fields m_aec; + //! Component indices to treat as a system for multiple systems + std::vector< std::vector< ncomp_t > > m_sys; + //! Component indices to treat as a velocity vector for multiple systems + std::vector< std::array< ncomp_t, 3 > > m_vel; }; } // inciter:: diff --git a/src/Inciter/History.hpp b/src/Inciter/History.hpp new file mode 100644 index 00000000000..c5573f19397 --- /dev/null +++ b/src/Inciter/History.hpp @@ -0,0 +1,29 @@ +// ***************************************************************************** +/*! + \file src/Inciter/History.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Types for collecting history output + \details Types for collecting history output. +*/ +// ***************************************************************************** +#ifndef History_h +#define History_h + +#include "Tags.hpp" + +namespace inciter { + +//! History point data +using HistData = tk::TaggedTuple< brigand::list< + tag::id, std::string //!< Point identifier + , tag::elem, std::size_t //!< Host elem id + , tag::coord, std::array< tk::real, 3 > //!< Point coordinates + , tag::fn, std::array< tk::real, 4 > //!< Shapefunctions evaluated at point +> >; + +} // inciter:: + +#endif // History_h diff --git a/src/Inciter/NodeBC.cpp b/src/Inciter/NodeBC.cpp index ea9afdd6c98..99ff51090a4 100644 --- a/src/Inciter/NodeBC.cpp +++ b/src/Inciter/NodeBC.cpp @@ -3,7 +3,7 @@ \file src/Inciter/NodeBC.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Boundary conditions for nodal discretizations \details Boundary conditions for nodal discretizations, such as continuous @@ -19,6 +19,7 @@ #include "NodeBC.hpp" #include "CGPDE.hpp" #include "Fields.hpp" +#include "Vector.hpp" namespace inciter { @@ -28,32 +29,34 @@ std::unordered_map< std::size_t, std::vector< std::pair< bool, tk::real > > > match( [[maybe_unused]] tk::ctr::ncomp_t ncomp, tk::real t, tk::real dt, + const std::vector< tk::real >& tp, + const std::vector< tk::real >& dtp, const tk::UnsMesh::Coords& coord, - const std::vector< std::size_t >& gid, const std::unordered_map< std::size_t, std::size_t >& lid, - const std::map< int, std::vector< std::size_t > >& sidenodes ) + const std::map< int, std::vector< std::size_t > >& bnode ) // ***************************************************************************** // Match user-specified boundary conditions at nodes for side sets //! \param[in] ncomp Number of scalar components in PDE system //! \param[in] t Physical time at which to query boundary conditions //! \param[in] dt Time step size (for querying BC increments in time) +//! \param[in] tp Physical time for each mesh node +//! \param[in] dtp Time step size for each mesh node //! \param[in] coord Mesh node coordinates -//! \param[in] gid Global node IDs -//! \param[in] lid Local node IDs associated to global node IDs -//! \param[in] sidenodes Map storing global mesh node IDs mapped to side set ids +//! \param[in] lid Local node IDs associated to local node IDs +//! \param[in] bnode Map storing global mesh node IDs mapped to side set ids //! \return Vector of pairs of bool and boundary condition value associated to -//! mesh node IDs at which the user has set Dirichlet boundary conditions for -//! all systems of PDEs integrated. The bool indicates whether the BC is set -//! at the node for that component: if true, the real value is the increment -//! (from t to dt) in the BC specified for a component. +//! local mesh node IDs at which the user has set Dirichlet boundary +//! conditions for all systems of PDEs integrated. The bool indicates whether +//! the BC is set at the node for that component: if true, the real value is +//! the increment (from t to dt) in the BC specified for a component. //! \details Boundary conditions (BC), mathematically speaking, are applied on //! finite surfaces. These finite surfaces are given by element sets (i.e., a //! list of elements). This function queries Dirichlet boundary condition -//! values from all PDEs in the system of systems of PDEs integrated at the -//! node lists associated to side set IDs, given by sidenodes. Each +//! values from all PDEs in the multiple systems of PDEs integrated at the +//! node lists associated to side set IDs, given by bnode. Each //! PDE system returns a BC data structure. Note that the BC mesh nodes that -//! this function results in, stored in dirbc, only contains those nodes that -//! are supplied via sidenodes, i.e., in parallel only a part of the mesh is +//! this function results in (stored in dirbc) only contains those nodes that +//! are supplied via bnode. i.e., in parallel only a part of the mesh is //! worked on. // ***************************************************************************** { @@ -69,8 +72,8 @@ match( [[maybe_unused]] tk::ctr::ncomp_t ncomp, // pair of bool and real value, the former is the fact that the BC is to be // set while the latter is the value if it is to be set). The length of this // NodeBC vector, returning from each system of PDEs equals to the number of - // scalar components the given PDE integrates. Here then we contatenate this - // map for all PDEs integrated. If there are multiple BCs set at a mesh node + // scalar components the given PDE integrates. Here we contatenate this map + // for all PDEs being integrated. If there are multiple BCs set at a mesh node // (dirbc::key), either because (1) in the same PDE system the user prescribed // BCs on side sets that share nodes or (2) because more than a single PDE // system assigns BCs to a given node (on different variables), the NodeBC @@ -103,7 +106,7 @@ match( [[maybe_unused]] tk::ctr::ncomp_t ncomp, // implementation, every side set applies the BC to the common node in // question, successively overwriting the BC applied by the previous side set. // Effectively, the BC corresponding to the last side set ID is applied to the - // common node. Since sidenodes is an ordered map, the side set with a larger + // common node. Since bnode is an ordered map, the side set with a larger // id wins if a node belongs to multiple side sets. // Lambda to convert global to local node ids of a list of nodes @@ -115,16 +118,16 @@ match( [[maybe_unused]] tk::ctr::ncomp_t ncomp, }; // Query Dirichlet BCs for all PDEs integrated and assign to nodes - for (const auto& s : sidenodes) { // for all side sets passed in + for (const auto& s : bnode) { // for all side sets passed in std::size_t c = 0; auto l = local(s.second); // generate local node ids on side set for (std::size_t eq=0; eq c) { // node already has BCs from this PDE Assert( nodebc.size() == c+bcs.size(), "Size mismatch" ); for (std::size_t i=0; i > >& bc, - const std::unordered_map< std::size_t, std::size_t >& lid ) + std::vector< std::pair< bool, tk::real > > >& dirbc ) // ***************************************************************************** // Verify that the change in the solution at those nodes where Dirichlet // boundary conditions are set is exactly the amount the BCs prescribe //! \param[in] a Limited antidiffusive element contributions (from FCT) //! \param[in] dul Low order solution increment -//! \param[in] bc Vector of boundary conditions (true/false + BC value) for all -//! scalar components integrated associated of all systems to global node ID -//! \param[in] lid Local node IDs associated to global node IDs +//! \param[in] dirbc Vector of boundary conditions (true/false + BC value) for +//! all scalar components integrated associated of all systems to local node +//! ID //! \return True if solution is correct at Dirichlet boundary condition nodes //! \details We loop through the map that associates a vector of of boundary //! conditions (true/false, indicating whether the BC is set + BC value if @@ -178,19 +180,14 @@ correctBC( const tk::Fields& a, //! error. // ***************************************************************************** { - for (const auto& n : bc) { - auto k = lid.find(n.first); - if (k!=end(lid)) { - auto l = k->second; - const auto& b = n.second; - Assert( b.size() == dul.nprop(), "Size mismatch" ); - for (std::size_t c=0; c - std::numeric_limits< tk::real >::epsilon() ) - { - return false; - } + for (const auto& [i,bc] : dirbc) { + Assert( bc.size() == dul.nprop(), "Size mismatch" ); + for (std::size_t c=0; c + std::numeric_limits< tk::real >::epsilon() ) + { + return false; } } } diff --git a/src/Inciter/NodeBC.hpp b/src/Inciter/NodeBC.hpp index 66232908894..d3037d3f4aa 100644 --- a/src/Inciter/NodeBC.hpp +++ b/src/Inciter/NodeBC.hpp @@ -3,7 +3,7 @@ \file src/Inciter/NodeBC.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Boundary conditions for nodal discretizations \details Boundary conditions for nodal discretizations, such as continuous @@ -28,8 +28,9 @@ std::unordered_map< std::size_t, std::vector< std::pair< bool, tk::real > > > match( tk::ctr::ncomp_t ncomp, tk::real t, tk::real dt, + const std::vector< tk::real >& tp, + const std::vector< tk::real >& dtp, const tk::UnsMesh::Coords& coord, - const std::vector< std::size_t >& gid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::map< int, std::vector< std::size_t > >& sidenodes ); @@ -40,8 +41,7 @@ bool correctBC( const tk::Fields& a, const tk::Fields& dul, const std::unordered_map< std::size_t, - std::vector< std::pair< bool, tk::real > > >& bc, - const std::unordered_map< std::size_t, std::size_t >& lid ); + std::vector< std::pair< bool, tk::real > > >& bc ); } // inciter:: diff --git a/src/Inciter/NodeDiagnostics.cpp b/src/Inciter/NodeDiagnostics.cpp index 621deebfcff..9d2d8c7c557 100644 --- a/src/Inciter/NodeDiagnostics.cpp +++ b/src/Inciter/NodeDiagnostics.cpp @@ -3,7 +3,7 @@ \file src/Inciter/NodeDiagnostics.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief NodeDiagnostics class for collecting nodal diagnostics \details NodeDiagnostics class for collecting nodal diagnostics, e.g., @@ -46,20 +46,33 @@ NodeDiagnostics::registerReducers() } bool -NodeDiagnostics::compute( Discretization& d, const tk::Fields& u ) const +NodeDiagnostics::compute( + Discretization& d, + const tk::Fields& u, + const tk::Fields& un, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& symbcnodes, + const std::unordered_set< std::size_t >& farfieldbcnodes ) const // ***************************************************************************** // Compute diagnostics, e.g., residuals, norms of errors, etc. //! \param[in] d Discretization proxy to read from //! \param[in] u Current solution vector +//! \param[in] un Previous solution vector +//! \param[in] bnorm Face normals in boundary points, key local node id, +//! first 3 reals of value: unit normal, outer key: side set id +//! \param[in] symbcnodes Unique set of node ids at which to set symmetry BCs +//! \param[in] farfieldbcnodes Unique set of node ids at which to set farfield +//! BCs //! \return True if diagnostics have been computed //! \details Diagnostics are defined as some norm, e.g., L2 norm, of a quantity, -//! computed in mesh nodes, A, as ||A||_2 = sqrt[ sum_i(A_i)^2 V_i ], -//! where the sum is taken over all mesh nodes and V_i is the nodal volume. -//! We send multiple sets of quantities to the host for aggregation across -//! the whole mesh. The final aggregated solution will end up in -//! Transporter::diagnostics(). Aggregation of the partially computed -//! diagnostics is done via potentially different policies for each field. -//! \see inciter::mergeDiag(), src/Inciter/Diagnostics.h +//! computed in mesh nodes, A, as ||A||_2 = sqrt[ sum_i(A_i)^2 V_i ], +//! where the sum is taken over all mesh nodes and V_i is the nodal volume. +//! We send multiple sets of quantities to the host for aggregation across +//! the whole mesh. The final aggregated solution will end up in +//! Transporter::diagnostics(). Aggregation of the partially computed +//! diagnostics is done via potentially different policies for each field. +//! \see inciter::mergeDiag(), src/Inciter/Diagnostics.hpp // ***************************************************************************** { // Optionally collect diagnostics and send for aggregation across all workers @@ -69,20 +82,6 @@ NodeDiagnostics::compute( Discretization& d, const tk::Fields& u ) const if ( !((d.It()+1) % diagfreq) ) { // if remainder, don't dump - // Store the local IDs of those mesh nodes to which we contribute but do not - // own, i.e., slave nodes. Ownership here is defined by having a lower chare - // ID than any other chare that also contributes to the node. - - // Slave mesh node local IDs. Local IDs of those mesh nodes to which we - // contribute to but do not own. Ownership here is defined by having a lower - // chare ID than any other chare that also contributes to the node. - std::unordered_set< std::size_t > slave; - - for (const auto& c : d.Msum()) // for all chares that neighbor our mesh - if (d.thisIndex > c.first) // if our chare ID is larger than theirs - for (auto i : c.second) // store local ID in set - slave.insert( tk::cref_find( d.Lid(), i ) ); - // Diagnostics vector (of vectors) during aggregation. See // Inciter/Diagnostics.h. std::vector< std::vector< tk::real > > @@ -92,35 +91,47 @@ NodeDiagnostics::compute( Discretization& d, const tk::Fields& u ) const const auto& x = coord[0]; const auto& y = coord[1]; const auto& z = coord[2]; + const auto& v = d.V(); // nodal volumes without contributions from others + + // Evaluate analytic solution (if exist, if not, IC) + auto an = u; + for (std::size_t i=0; i a; + for (const auto& eq : g_cgpde) { + auto s = eq.analyticSolution( x[i], y[i], z[i], d.T()+d.Dt() ); + std::move( begin(s), end(s), std::back_inserter(a) ); + } + Assert( a.size() == u.nprop(), "Size mismatch" ); + for (std::size_t c=0; c a; - for (const auto& eq : g_cgpde) { - auto s = eq.analyticSolution( x[i], y[i], z[i], d.T()+d.Dt() ); - std::move( begin(s), end(s), std::back_inserter(a) ); - } - Assert( a.size() == u.nprop(), "Size mismatch" ); - - // Compute sum for L2 norm of the numerical-analytic solution - for (std::size_t c=0; c diag[LINFERR][c]) diag[LINFERR][c] = err; - } - + for (std::size_t i=0; i diag[LINFERR][c]) diag[LINFERR][c] = err; } + // Compute sum of the total energy over the entire domain (only the first + // entry is used) + diag[TOTALSOL][0] += u(i,u.nprop()-1,0) * v[i]; + } // Append diagnostics vector with metadata on the current time step // ITER:: Current iteration count (only the first entry is used) @@ -132,7 +143,7 @@ NodeDiagnostics::compute( Discretization& d, const tk::Fields& u ) const // Contribute to diagnostics auto stream = serialize( diag ); - d.Ref()->contribute( stream.first, stream.second.get(), DiagMerger, + d.contribute( stream.first, stream.second.get(), DiagMerger, CkCallback(CkIndex_Transporter::diagnostics(nullptr), d.Tr()) ); return true; // diagnostics have been computed diff --git a/src/Inciter/NodeDiagnostics.hpp b/src/Inciter/NodeDiagnostics.hpp index c7e7bf59f54..5603173e2ee 100644 --- a/src/Inciter/NodeDiagnostics.hpp +++ b/src/Inciter/NodeDiagnostics.hpp @@ -3,7 +3,7 @@ \file src/Inciter/NodeDiagnostics.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief NodeDiagnostics class for collecting diagnostics \details NodeDiagnostics class for collecting diagnostics, e.g., residuals, @@ -29,7 +29,13 @@ class NodeDiagnostics { static void registerReducers(); //! Compute diagnostics, e.g., residuals, norms of errors, etc. - bool compute( Discretization& d, const tk::Fields& u ) const; + bool compute( + Discretization& d, + const tk::Fields& u, const tk::Fields& un, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& symbcnodes, + const std::unordered_set< std::size_t >& farfieldbcnodes ) const; /** @name Charm++ pack/unpack serializer member functions */ ///@{ diff --git a/src/Inciter/PUPAMR.cpp b/src/Inciter/PUPAMR.cpp index 16e50888abc..080261cfe3e 100644 --- a/src/Inciter/PUPAMR.cpp +++ b/src/Inciter/PUPAMR.cpp @@ -3,7 +3,7 @@ \file src/Inciter/PUPAMR.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ Pack/UnPack utilities for AMR \details This file contains some extensions to Charm++'s Pack/UnPack diff --git a/src/Inciter/PUPAMR.hpp b/src/Inciter/PUPAMR.hpp index 22a23cc85d9..682a3823513 100644 --- a/src/Inciter/PUPAMR.hpp +++ b/src/Inciter/PUPAMR.hpp @@ -3,7 +3,7 @@ \file src/Inciter/PUPAMR.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ Pack/UnPack utilities for AMR \details This file contains some extensions to Charm++'s Pack/UnPack diff --git a/src/Inciter/Partitioner.cpp b/src/Inciter/Partitioner.cpp index daeae2053e5..b952ac9999c 100644 --- a/src/Inciter/Partitioner.cpp +++ b/src/Inciter/Partitioner.cpp @@ -3,7 +3,7 @@ \file src/Inciter/Partitioner.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare partitioner nodegroup used to perform mesh partitioning @@ -101,9 +101,9 @@ Partitioner::Partitioner( ownBndNodes( m_lid, m_bnode ); // Compute number of cells across whole problem - std::vector< std::size_t > meshsize{{ m_ginpoel.size()/4, - m_coord[0].size() }}; - contribute( meshsize, CkReduction::sum_ulong, m_cbp.get< tag::load >() ); + std::size_t nelem = m_ginpoel.size()/4; + contribute( sizeof(std::size_t), &nelem, CkReduction::sum_ulong, + m_cbp.get< tag::load >() ); } void @@ -290,11 +290,22 @@ Partitioner::refine() } + tk::destroy( m_ginpoel ); + tk::destroy( m_coord ); + tk::destroy( m_inpoel ); + tk::destroy( m_lid ); + tk::destroy( m_nface ); + tk::destroy( m_nodech ); + tk::destroy( m_linnodes ); tk::destroy( m_chinpoel ); tk::destroy( m_chcoordmap ); tk::destroy( m_chbface ); tk::destroy( m_chtriinpoel ); tk::destroy( m_chbnode ); + tk::destroy( m_bnodechares ); + tk::destroy( m_bface ); + tk::destroy( m_triinpoel ); + tk::destroy( m_bnode ); contribute( sizeof(int), &error, CkReduction::max_int, m_cbp.get< tag::refinserted >() ); diff --git a/src/Inciter/Partitioner.hpp b/src/Inciter/Partitioner.hpp index a194d589620..ffc20d3bef7 100644 --- a/src/Inciter/Partitioner.hpp +++ b/src/Inciter/Partitioner.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Partitioner.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare partitioner nodegroup used to perform mesh partitioning diff --git a/src/Inciter/Refiner.cpp b/src/Inciter/Refiner.cpp index 967488c01d4..988790d8559 100644 --- a/src/Inciter/Refiner.cpp +++ b/src/Inciter/Refiner.cpp @@ -3,7 +3,7 @@ \file src/Inciter/Refiner.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh refiner for interfacing the mesh refinement library \see Refiner.h for more info. @@ -25,17 +25,15 @@ #include "Centering.hpp" #include "Around.hpp" #include "Sorter.hpp" -#include "HashMapReducer.hpp" #include "Discretization.hpp" namespace inciter { extern ctr::InputDeck g_inputdeck; +extern ctr::InputDeck g_inputdeck_defaults; extern std::vector< CGPDE > g_cgpde; extern std::vector< DGPDE > g_dgpde; -static CkReduction::reducerType BndEdgeMerger; - } // inciter:: using inciter::Refiner; @@ -66,17 +64,19 @@ Refiner::Refiner( const CProxy_Transporter& transporter, m_bnode( bnode ), m_triinpoel( triinpoel ), m_nchare( nchare ), - m_initial( true ), + m_initial( 1 ), m_initref( g_inputdeck.get< tag::amr, tag::init >() ), m_ninitref( g_inputdeck.get< tag::amr, tag::init >().size() ), m_refiner( m_inpoel ), m_nref( 0 ), + m_nbnd( 0 ), m_extra( 0 ), m_ch(), + m_edgech(), + m_chedge(), m_localEdgeData(), m_remoteEdgeData(), - m_bndEdges(), - m_msumset(), + m_nodeCommMap(), m_oldTets(), m_addedNodes(), m_addedTets(), @@ -171,22 +171,6 @@ Refiner::sendProxy() m_scheme.disc()[thisIndex].ckLocal()->setRefiner( thisProxy ); } -void -Refiner::registerReducers() -// ***************************************************************************** -// Configure Charm++ reduction types -//! \details Since this is a [initnode] routine, the runtime system executes the -//! routine exactly once on every logical node early on in the Charm++ init -//! sequence. Must be static as it is called without an object. See also: -//! Section "Initializations at Program Startup" at in the Charm++ manual -//! http://charm.cs.illinois.edu/manuals/html/charm++/manual.html. -// ***************************************************************************** -{ - BndEdgeMerger = CkReduction::addReducer( - tk::mergeHashMap< decltype(m_bndEdges)::key_type, - decltype(m_bndEdges)::mapped_type > ); -} - void Refiner::reorder() // ***************************************************************************** @@ -248,7 +232,7 @@ Refiner::dtref( const std::map< int, std::vector< std::size_t > >& bface, //! \param[in] triinpoel Boundary-face connectivity // ***************************************************************************** { - m_initial = false; + m_initial = 0; // Update boundary node lists m_bface = bface; @@ -268,11 +252,12 @@ Refiner::t0ref() // Output initial mesh to file auto l = m_ninitref - m_initref.size(); // num initref steps completed auto t0 = g_inputdeck.get< tag::discr, tag::t0 >(); - if (l == 0) + if (l == 0) { writeMesh( "t0ref", l, t0-1.0, CkCallback( CkIndex_Refiner::start(), thisProxy[thisIndex] ) ); - else + } else { start(); + } } void @@ -282,7 +267,6 @@ Refiner::start() // ***************************************************************************** { m_extra = 0; - m_bndEdges.clear(); m_ch.clear(); m_remoteEdgeData.clear(); m_remoteEdges.clear(); @@ -302,8 +286,13 @@ Refiner::bndEdges() //! mesh across chares boundaries. // ***************************************************************************** { + // Compute the number of edges (chunksize) a chare will respond to when + // computing shared edges + auto N = static_cast< std::size_t >( m_nchare ); + std::size_t chunksize = std::numeric_limits< std::size_t >::max() / N; + // Generate boundary edges of our mesh chunk - EdgeSet bnded; + std::unordered_map< int, EdgeSet > chbedges; auto esup = tk::genEsup( m_inpoel, 4 ); // elements surrounding points auto esuel = tk::genEsuelTet( m_inpoel, esup ); // elems surrounding elements for (std::size_t e=0; e(bin) ].insert( {A,B} ); + bin = B / chunksize; + Assert( bin < N, "Will index out of number of chares" ); + chbedges[ static_cast(bin) ].insert( {B,C} ); + bin = C / chunksize; + Assert( bin < N, "Will index out of number of chares" ); + chbedges[ static_cast(bin) ].insert( {C,A} ); } } } - // Aggregate boundary edges across all refiner chares - decltype(m_bndEdges) bnd{{ thisIndex, std::move(bnded) }}; - auto stream = tk::serialize( bnd ); - contribute( stream.first, stream.second.get(), BndEdgeMerger, - CkCallback(CkIndex_Refiner::addBndEdges(nullptr),thisProxy) ); + // Send edges in bins to chares that will compute shared edges + m_nbnd = chbedges.size(); + if (m_nbnd == 0) + contribute( m_cbr.get< tag::queried >() ); + else + for (const auto& [ targetchare, bndedges ] : chbedges) + thisProxy[ targetchare ].query( thisIndex, bndedges ); } void -Refiner::addBndEdges( CkReductionMsg* msg ) +Refiner::query( int fromch, const EdgeSet& edges ) // ***************************************************************************** -//! Receive boundary edges from all refiner chares (including this one) -//! \param[in] msg Charm++ message containing the aggregated map of bnd edges +// Incoming query for a list boundary edges for which this chare compiles +// shared edges +//! \param[in] fromch Sender chare ID +//! \param[in] edges Chare-boundary edge list from another chare // ***************************************************************************** { - PUP::fromMem creator( msg->getData() ); - creator | m_bndEdges; - delete msg; - - // Compute unique set of chares that share at least a single edge with us - const auto& ownedges = tk::cref_find( m_bndEdges, thisIndex ); - for (const auto& [ chareid, sharededges ] : m_bndEdges) { // for all chares - if (chareid != thisIndex) { // for all chares other than this one - for (const auto& e : sharededges) { // for all boundary edges - if (ownedges.find(e) != end(ownedges)) { - m_ch.insert( chareid ); // if edge is shared, store its chare id - } - } - } + // Store incoming edges in edge->chare and its inverse, chare->edge, maps + for (const auto& e : edges) m_edgech[ e ].push_back( fromch ); + m_chedge[ fromch ].insert( begin(edges), end(edges) ); + // Report back to chare message received from + thisProxy[ fromch ].recvquery(); +} + +void +Refiner::recvquery() +// ***************************************************************************** +// Receive receipt of boundary edge lists to query +// ***************************************************************************** +{ + if (--m_nbnd == 0) contribute( m_cbr.get< tag::queried >() ); +} + +void +Refiner::response() +// ***************************************************************************** +// Respond to boundary edge list queries +// ***************************************************************************** +{ + std::unordered_map< int, std::vector< int > > exp; + + // Compute shared edges whose chare ids will be sent back to querying chares + for (const auto& [ neighborchare, bndedges ] : m_chedge) { + auto& e = exp[ neighborchare ]; + for (const auto& ed : bndedges) + for (auto d : tk::cref_find(m_edgech,ed)) + if (d != neighborchare) + e.push_back( d ); } - contribute( m_cbr.get< tag::edges >() ); + // Send chare ids of shared edges to chares that issued a query to us. Shared + // boundary edges assigned to chare ids sharing the boundary edge were + // computed above for those chares that queried this map from us. These + // boundary edges form a distributed table and we only work on a chunk of it. + // Note that we only send data back to those chares that have queried us. The + // receiving sides do not know in advance if they receive messages or not. + // Completion is detected by having the receiver respond back and counting + // the responses on the sender side, i.e., this chare. + m_nbnd = exp.size(); + if (m_nbnd == 0) + contribute( m_cbr.get< tag::responded >() ); + else + for (const auto& [ targetchare, bndedges ] : exp) + thisProxy[ targetchare ].bnd( thisIndex, bndedges ); +} + +void +Refiner::bnd( int fromch, const std::vector< int >& chares ) +// ***************************************************************************** +// Receive shared boundary edges for our mesh chunk +//! \param[in] fromch Sender chare ID +//! \param[in] chares Chare ids we share edges with +// ***************************************************************************** +{ + // Store chare ids we share edges with + m_ch.insert( begin(chares), end(chares) ); + + // Report back to chare message received from + thisProxy[ fromch ].recvbnd(); +} + +void +Refiner::recvbnd() +// ***************************************************************************** +// Receive receipt of shared boundary edges +// ***************************************************************************** +{ + if (--m_nbnd == 0) contribute( m_cbr.get< tag::responded >() ); } void @@ -369,17 +424,16 @@ Refiner::refine() //! only do a single step during time stepping. // ***************************************************************************** { + // Free memory used for computing shared boundary edges + tk::destroy( m_edgech ); + tk::destroy( m_chedge ); + // Perform leak test on old mesh Assert( !tk::leakyPartition( tk::genEsuelTet( m_inpoel, tk::genEsup(m_inpoel,4) ), m_inpoel, m_coord ), "Mesh partition before refinement leaky" ); - for ([[maybe_unused]] const auto& e : tk::cref_find(m_bndEdges,thisIndex)) - Assert( m_lid.find( e[0] ) != end( m_lid ) && - m_lid.find( e[1] ) != end( m_lid ), - "Boundary edge not found before refinement" ); - if (m_initial) { // if initial (t<0) AMR (t0ref) // Refine mesh based on next initial refinement type @@ -404,11 +458,6 @@ Refiner::refine() uniformRefine(); else errorRefine(); - - for ([[maybe_unused]] const auto& e : tk::cref_find(m_bndEdges,thisIndex)) - Assert( m_lid.find( e[0] ) != end( m_lid ) && - m_lid.find( e[1] ) != end( m_lid ), - "Boundary edge not found after refinement" ); } // Communicate extra edges @@ -693,7 +742,8 @@ Refiner::writeMesh( const std::string& basefilename, // Evaluate initial conditions on current mesh at t0 tk::Fields u( m_coord[0].size(), nprop ); - for (const auto& eq : g_cgpde) eq.initialize( m_coord, u, t0 ); + std::vector< std::size_t > inbox; + for (auto& eq : g_cgpde) eq.initialize( m_coord, u, t0, inbox ); // Extract all scalar components from solution for output to file for (std::size_t i=0; i > msum; - for (const auto& [ neighborchare, sharednodes ] : m_msumset) { - auto& n = msum[ neighborchare ]; - n.insert( end(n), begin(sharednodes), end(sharednodes) ); - } - // Send new mesh, solution, and communication data back to PDE worker m_scheme.ckLocal< Scheme::resizePostAMR >( thisIndex, m_ginpoel, m_el, - m_coord, m_addedNodes, m_addedTets, msum, m_bface, m_bnode, m_triinpoel ); + m_coord, m_addedNodes, m_addedTets, m_nodeCommMap, m_bface, m_bnode, + m_triinpoel ); } } @@ -830,6 +877,35 @@ Refiner::endt0ref() std::vector< std::size_t > meshsize{{ m_ginpoel.size()/4, m_coord[0].size() }}; contribute( meshsize, CkReduction::sum_ulong, m_cbr.get< tag::refined >() ); + + // Free up memory if no dtref + if (!g_inputdeck.get< tag::amr, tag::dtref >()) { + tk::destroy( m_ginpoel ); + tk::destroy( m_el ); + tk::destroy( m_coordmap ); + tk::destroy( m_coord ); + tk::destroy( m_bface ); + tk::destroy( m_bnode ); + tk::destroy( m_triinpoel ); + tk::destroy( m_initref ); + tk::destroy( m_ch ); + tk::destroy( m_edgech ); + tk::destroy( m_chedge ); + tk::destroy( m_localEdgeData ); + tk::destroy( m_remoteEdgeData ); + tk::destroy( m_remoteEdges ); + tk::destroy( m_intermediates ); + tk::destroy( m_nodeCommMap ); + tk::destroy( m_oldTets ); + tk::destroy( m_addedNodes ); + tk::destroy( m_addedTets ); + tk::destroy( m_coarseBndFaces ); + tk::destroy( m_coarseBndNodes ); + tk::destroy( m_rid ); + tk::destroy( m_oldrid ); + tk::destroy( m_lref ); + tk::destroy( m_parent ); + } } void @@ -973,8 +1049,8 @@ Refiner::errorRefine() tagged_edges.push_back( { edge_t( m_rid[e.first[0]], m_rid[e.first[1]] ), edge_tag::REFINE } ); } else if (e.second < tolderef) { - tagged_edges.push_back( { edge_t( m_rid[e.first[0]], m_rid[e.first[1]] ), - edge_tag::DEREFINE } ); + //tagged_edges.push_back( { edge_t( m_rid[e.first[0]], m_rid[e.first[1]] ), + // edge_tag::DEREFINE } ); } } @@ -1050,17 +1126,22 @@ Refiner::coordRefine() auto zplus = g_inputdeck.get< tag::amr, tag::zplus >(); // The default is the largest representable double - auto rmax = std::numeric_limits< kw::amr_xminus::info::expect::type >::max(); auto eps = std::numeric_limits< kw::amr_xminus::info::expect::type >::epsilon(); + auto xminus_default = g_inputdeck_defaults.get< tag::amr, tag::xminus >(); + auto xplus_default = g_inputdeck_defaults.get< tag::amr, tag::xplus >(); + auto yminus_default = g_inputdeck_defaults.get< tag::amr, tag::yminus >(); + auto yplus_default = g_inputdeck_defaults.get< tag::amr, tag::yplus >(); + auto zminus_default = g_inputdeck_defaults.get< tag::amr, tag::zminus >(); + auto zplus_default = g_inputdeck_defaults.get< tag::amr, tag::zplus >(); // Decide if user has configured the half-world - bool xm = std::abs(xminus - rmax) > eps ? true : false; - bool xp = std::abs(xplus - rmax) > eps ? true : false; - bool ym = std::abs(yminus - rmax) > eps ? true : false; - bool yp = std::abs(yplus - rmax) > eps ? true : false; - bool zm = std::abs(zminus - rmax) > eps ? true : false; - bool zp = std::abs(zplus - rmax) > eps ? true : false; + bool xm = std::abs(xminus - xminus_default) > eps ? true : false; + bool xp = std::abs(xplus - xplus_default) > eps ? true : false; + bool ym = std::abs(yminus - yminus_default) > eps ? true : false; + bool yp = std::abs(yplus - yplus_default) > eps ? true : false; + bool zm = std::abs(zminus - zminus_default) > eps ? true : false; + bool zp = std::abs(zplus - zplus_default) > eps ? true : false; using AMR::edge_t; using AMR::edge_tag; @@ -1077,8 +1158,8 @@ Refiner::coordRefine() const auto& z = m_coord[2]; // Compute edges to be tagged for refinement std::vector< std::pair< edge_t, edge_tag > > tagged_edges; - for (std::size_t p=0; p inbox; + for (auto& eq : g_cgpde) eq.initialize( m_coord, u, t0, inbox ); } else if (centering == tk::Centering::ELEM) { @@ -1189,7 +1271,8 @@ Refiner::updateMesh() for (auto r : ref) if (old.find(r) == end(old)) m_lref[r] = l++; // Get nodal communication map from Discretization worker - if (!m_initial) m_msumset = m_scheme.disc()[thisIndex].ckLocal()->msumset(); + if (!m_initial) + m_nodeCommMap = m_scheme.disc()[thisIndex].ckLocal()->NodeCommMap(); // Update mesh and solution after refinement newVolMesh( old, ref ); @@ -1234,7 +1317,7 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, // Generate coordinates and ids to newly added nodes after refinement std::unordered_map< std::size_t, std::size_t > gid_add; - m_addedNodes.clear(); + tk::destroy( m_addedNodes ); for (auto r : ref) { // for all unique nodes of the refined mesh if (old.find(r) == end(old)) { // if node is newly added // get (local) parent ids of newly added node @@ -1270,6 +1353,7 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, } } } + tk::destroy( m_coord ); // Remove coordinates and ids of removed nodes due to derefinement std::unordered_map< std::size_t, std::size_t > gid_rem; @@ -1288,7 +1372,7 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, //m_oldlref = m_lref; // Generate new node id maps for nodes kept - m_lref.clear(); + tk::destroy( m_lref ); std::vector< std::size_t > rid( ref.size() ); std::vector< std::size_t > gid( ref.size() ); std::size_t l = 0; // will generate new local node id @@ -1308,7 +1392,9 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, gid[l] = g; rid[l] = r; m_lref[r] = l; - addedNodes[l] = tk::cref_find( m_addedNodes, r ); + auto it = m_addedNodes.find( r ); + Assert( it != end(m_addedNodes), "Cannot find added node" ); + addedNodes[l] = std::move(it->second); ++l; } Assert( m_lref.size() == ref.size(), "Size mismatch" ); @@ -1316,10 +1402,9 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, m_addedNodes = std::move( addedNodes ); // Update node coordinates, ids, and id maps - tk::UnsMesh::Coords coord; - auto& rx = coord[0]; - auto& ry = coord[1]; - auto& rz = coord[2]; + auto& rx = m_coord[0]; + auto& ry = m_coord[1]; + auto& rz = m_coord[2]; rx.resize( ref.size() ); ry.resize( ref.size() ); rz.resize( ref.size() ); @@ -1331,7 +1416,6 @@ Refiner::newVolMesh( const std::unordered_set< std::size_t >& old, rz[i] = c[2]; } m_gid = std::move( gid ); - m_coord = std::move( coord ); Assert( m_gid.size() == m_lid.size(), "Size mismatch" ); } @@ -1430,7 +1514,7 @@ Refiner::boundary() } // Generate child->parent tet and id maps after refinement/derefinement step - decltype(m_parent) parent; + tk::destroy( m_parent ); m_addedTets.clear(); std::size_t p = 0; std::size_t c = 0; @@ -1452,15 +1536,14 @@ Refiner::boundary() //auto pC = tk::cref_find( m_lref, t.second[2] ); //auto pD = tk::cref_find( m_lref, t.second[3] ); // assign parent tet to child tet - //parent[ {{cA,cB,cC,cD}} ] = {{pA,pB,pC,pD}}; - parent[ ct->second ] = t.second; //{{pA,pB,pC,pD}}; + //m_parent[ {{cA,cB,cC,cD}} ] = {{pA,pB,pC,pD}}; + m_parent[ ct->second ] = t.second; //{{pA,pB,pC,pD}}; if (m_oldTets.find(ct->second) == end(m_oldTets)) { m_addedTets[ c++ ] = p - m_oldntets; } } ++p; } - m_parent = std::move( parent ); //std::cout << thisIndex << " added: " << m_addedTets.size() << '\n'; //std::cout << thisIndex << " parent: " << m_parent.size() << '\n'; @@ -1507,9 +1590,10 @@ Refiner::updateBndFaces( // ***************************************************************************** { // storage for boundary faces associated to side-set IDs of the refined mesh - decltype(m_bface) bface; // will become m_bface + tk::destroy( m_bface ); // storage for boundary faces-node connectivity of the refined mesh - decltype(m_triinpoel) triinpoel; // will become m_triinpoel + tk::destroy( m_triinpoel ); + // face id counter std::size_t facecnt = 0; // will collect unique faces added for each side set @@ -1524,7 +1608,7 @@ Refiner::updateBndFaces( // only add face if it has not yet been aded to this side set if (bf[ ss ].insert( f ).second) { s.push_back( facecnt++ ); - triinpoel.insert( end(triinpoel), begin(f), end(f) ); + m_triinpoel.insert( end(m_triinpoel), begin(f), end(f) ); } }; @@ -1539,7 +1623,7 @@ Refiner::updateBndFaces( // for all side sets of the face, match children's faces to side sets for (const auto& ss : keys(bndFaces,face)) { // will associate to side set id of old (unrefined) mesh boundary face - auto& faces = bface[ ss ]; + auto& faces = m_bface[ ss ]; const auto& coarsefaces = tk::cref_find( m_coarseBndFaces, ss ); // query number of children of boundary tet adjacent to boundary face auto nc = tet_store.data( tetid ).children.size(); @@ -1592,7 +1676,7 @@ Refiner::updateBndFaces( for (const auto& f : pcDeFaceTets) { for (const auto& ss : keys(bndFaces,f.first)) { // will associate to side set id of old (refined) mesh boundary face - auto& faces = bface[ ss ]; + auto& faces = m_bface[ ss ]; const auto& coarsefaces = tk::cref_find( m_coarseBndFaces, ss ); // form all 4 faces of parent tet auto A = f.second[0]; @@ -1617,10 +1701,6 @@ Refiner::updateBndFaces( } } - // Update boundary face data structures - m_bface = std::move(bface); - m_triinpoel = std::move(triinpoel); - //std::cout << thisIndex << " bf: " << tk::sumvalsize( m_bface ) << '\n'; // Perform leak-test on boundary face data just updated (only in DEBUG) @@ -1681,7 +1761,7 @@ Refiner::updateBndNodes( // ***************************************************************************** { // storage for boundary nodes associated to side-set IDs of the refined mesh - decltype(m_bnode) bnode; // will become m_node + tk::destroy( m_bnode ); // Lambda to search the parents in the coarsest mesh of a mesh node and if // found, add its global id to boundary node lists associated to the side @@ -1693,7 +1773,7 @@ Refiner::updateBndNodes( // node was part of the coarse mesh auto ss = keys( m_coarseBndNodes, m_gid[*a.cbegin()] ); for (auto s : ss) - bnode[ s ].push_back( m_gid[n] ); + m_bnode[ s ].push_back( m_gid[n] ); } else if (a.size() == 2) { // node was added to an edge of a coarse face std::vector< std::size_t > p( begin(a), end(a) ); @@ -1701,7 +1781,7 @@ Refiner::updateBndNodes( auto ss2 = keys( m_coarseBndNodes, m_gid[p[1]] ); for (auto s : ss1) { if (ss2.find(s) != end(ss2)) { - bnode[ s ].push_back( m_gid[n] ); + m_bnode[ s ].push_back( m_gid[n] ); } } } else if (a.size() == 3) { @@ -1712,7 +1792,7 @@ Refiner::updateBndNodes( auto ss3 = keys( m_coarseBndNodes, m_gid[p[2]] ); for (auto s : ss1) { if (ss2.find(s) != end(ss2) && ss3.find(s) != end(ss3)) { - bnode[ s ].push_back( m_gid[n] ); + m_bnode[ s ].push_back( m_gid[n] ); } } } @@ -1765,10 +1845,7 @@ Refiner::updateBndNodes( for (const auto& f : pcDeFaceTets) addBndNodes( f.second, search ); // Make boundary node IDs unique for each physical boundary (side set) - for (auto& s : bnode) tk::unique( s.second ); - - // Update boundary node lists - m_bnode = std::move(bnode); + for (auto& s : m_bnode) tk::unique( s.second ); //std::cout << thisIndex << " bn: " << tk::sumvalsize( m_bnode ) << '\n'; } diff --git a/src/Inciter/Refiner.hpp b/src/Inciter/Refiner.hpp index d479c547f00..07a6d80441f 100644 --- a/src/Inciter/Refiner.hpp +++ b/src/Inciter/Refiner.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Refiner.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh refiner for interfacing the mesh refinement library \details Mesh refiner is a Charm++ chare array and is used to interface the @@ -33,6 +33,7 @@ #include "DiagCG.hpp" #include "ALECG.hpp" #include "DG.hpp" +#include "CommMap.hpp" #include "NoWarning/transporter.decl.h" #include "NoWarning/refiner.decl.h" @@ -42,6 +43,27 @@ namespace inciter { //! Mesh refiner for interfacing the mesh refinement library class Refiner : public CBase_Refiner { + private: + using Edge = tk::UnsMesh::Edge; + using Face = tk::UnsMesh::Face; + using Tet = tk::UnsMesh::Tet; + using EdgeSet = tk::UnsMesh::EdgeSet; + using FaceSet = tk::UnsMesh::FaceSet; + using TetSet = tk::UnsMesh::TetSet; + template< std::size_t N > using Hash = tk::UnsMesh::Hash< N >; + template< std::size_t N > using Eq = tk::UnsMesh::Eq< N >; + + //! Boundary face data bundle, see boundary() + using BndFaceData = std::tuple< + std::unordered_map< Face, std::size_t, Hash<3>, Eq<3> >, + std::unordered_map< Face, Tet, Hash<3>, Eq<3> >, + std::unordered_map< int, FaceSet > + >; + + //! Used to associate error to edges + using EdgeError = std::unordered_map< Edge, tk::real, Hash<2>, Eq<2> >; + + public: //! Constructor explicit Refiner( const CProxy_Transporter& transporter, @@ -68,8 +90,17 @@ class Refiner : public CBase_Refiner { #pragma clang diagnostic pop #endif - //! Configure Charm++ reduction types - static void registerReducers(); + //! \brief Incoming query for a list boundary edges for which this chare + //! compiles shared edges + void query( int fromch, const EdgeSet& edges ); + //! Receive receipt of boundary edge lists to quer + void recvquery(); + //! Respond to boundary edge list queries + void response(); + //! Receive shared boundary edges for our mesh chunk + void bnd( int fromch, const std::vector< int >& chares ); + //! Receive receipt of shared boundary edges + void recvbnd(); //! Query Sorter and update local mesh with the reordered one void reorder(); @@ -85,9 +116,6 @@ class Refiner : public CBase_Refiner { const std::map< int, std::vector< std::size_t > >& bnode, const std::vector< std::size_t >& triinpoel ); - //! Receive boundary edges from all PEs (including this one) - void addBndEdges( CkReductionMsg* msg ); - //! Do a single step of mesh refinemen/derefinementt (only tag edges) void refine(); @@ -143,14 +171,16 @@ class Refiner : public CBase_Refiner { p | m_initref; p | m_refiner; p | m_nref; + p | m_nbnd; p | m_extra; p | m_ch; + p | m_edgech; + p | m_chedge; p | m_localEdgeData; p | m_remoteEdgeData; p | m_remoteEdges; p | m_intermediates; - p | m_bndEdges; - p | m_msumset; + p | m_nodeCommMap; p | m_oldTets; p | m_addedNodes; p | m_addedTets; @@ -170,25 +200,6 @@ class Refiner : public CBase_Refiner { //@} private: - using Edge = tk::UnsMesh::Edge; - using Face = tk::UnsMesh::Face; - using Tet = tk::UnsMesh::Tet; - using EdgeSet = tk::UnsMesh::EdgeSet; - using FaceSet = tk::UnsMesh::FaceSet; - using TetSet = tk::UnsMesh::TetSet; - template< std::size_t N > using Hash = tk::UnsMesh::Hash< N >; - template< std::size_t N > using Eq = tk::UnsMesh::Eq< N >; - - //! Boundary face data bundle, see boundary() - using BndFaceData = std::tuple< - std::unordered_map< Face, std::size_t, Hash<3>, Eq<3> >, - std::unordered_map< Face, Tet, Hash<3>, Eq<3> >, - std::unordered_map< int, FaceSet > - >; - - //! Used to associate error to edges - using EdgeError = std::unordered_map< Edge, tk::real, Hash<2>, Eq<2> >; - //! Host proxy CProxy_Transporter m_host; //! Mesh sorter proxy @@ -227,8 +238,8 @@ class Refiner : public CBase_Refiner { std::vector< std::size_t > m_triinpoel; //! Total number of refiner chares int m_nchare; - //! True if initial AMR, false if during time stepping - bool m_initial; + //! 1 if initial AMR (before time stepping), 0 if during time stepping + std::size_t m_initial; //! Initial mesh refinement type list (in reverse order) std::vector< ctr::AMRInitialType > m_initref; //! Number of initial mesh refinement/derefinement steps @@ -237,37 +248,38 @@ class Refiner : public CBase_Refiner { AMR::mesh_adapter_t m_refiner; //! Counter during distribution of newly added nodes to chare-boundary edges std::size_t m_nref; + //! Counter for number of chares contributing to chare boundary edges + std::size_t m_nbnd; //! Number of chare-boundary newly added nodes that need correction std::size_t m_extra; //! Chares we share at least a single edge with std::unordered_set< int > m_ch; + //! Edge->chare map used to build shared boundary edges + std::unordered_map< Edge, std::vector< int >, Hash<2>, Eq<2> > m_edgech; + //! Chare->edge map used to build shared boundary edges + std::unordered_map< int, EdgeSet > m_chedge; //! Refinement data associated to edges AMR::EdgeData m_localEdgeData; //! Refinement data associated to edges shared with other chares std::unordered_map< int, std::vector< std::tuple< - tk::UnsMesh::Edge, int, AMR::Edge_Lock_Case > > > m_remoteEdgeData; + Edge, int, AMR::Edge_Lock_Case > > > m_remoteEdgeData; //! Edges received from other chares - std::unordered_map< int, std::vector< tk::UnsMesh::Edge > > m_remoteEdges; + std::unordered_map< int, std::vector< Edge > > m_remoteEdges; //! Intermediate nodes std::unordered_set< size_t> m_intermediates; - //! Boundary edges associated to chares we share these edges with - std::unordered_map< int, tk::UnsMesh::EdgeSet > m_bndEdges; //! \brief Global mesh node IDs bordering the mesh chunk held by fellow //! worker chares associated to their chare IDs for the coarse mesh - //! \details msum: mesh chunks surrounding mesh chunks and their neighbor - //! points. This is the same data as in Discretization::m_msum, but the - //! nodelist is stored as a hash-set for faster searches. - std::unordered_map< int, std::unordered_set< std::size_t > > m_msumset; + tk::NodeCommMap m_nodeCommMap; //! Tetrahedra before refinement/derefinement step TetSet m_oldTets; //! Newly added mesh nodes (local id) and their parents (local ids) - std::unordered_map< std::size_t, tk::UnsMesh::Edge > m_addedNodes; + std::unordered_map< std::size_t, Edge > m_addedNodes; //! Newly added mesh cells (local id) and their parent (local id) std::unordered_map< std::size_t, std::size_t > m_addedTets; //! Number of tetrahedra in the mesh before refinement/derefinement step std::size_t m_oldntets; //! A unique set of faces associated to side sets of the coarsest mesh - std::unordered_map< int, tk::UnsMesh::FaceSet > m_coarseBndFaces; + std::unordered_map< int, FaceSet > m_coarseBndFaces; //! A unique set of nodes associated to side sets of the coarsest mesh std::unordered_map< int, std::unordered_set > m_coarseBndNodes; //! Local -> refiner lib node id map diff --git a/src/Inciter/Scheme.hpp b/src/Inciter/Scheme.hpp index 5dd24d8ad24..6a22fcc311b 100644 --- a/src/Inciter/Scheme.hpp +++ b/src/Inciter/Scheme.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Scheme.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Polymorphic glue for calling Charm++ entry methods to base class Discretization, its children implementing specific discretization schemes, @@ -137,11 +137,13 @@ class Scheme { //! Entry method tags for specific Scheme classes to use with bcast() struct setup {}; + struct box {}; struct advance {}; struct resized {}; struct resizeComm {}; struct refine {}; struct lhs {}; + struct nodeNeighSetup {}; struct diag {}; struct evalLB {}; struct doneInserting {}; @@ -157,6 +159,8 @@ class Scheme { std::visit( [&]( auto& p ){ if constexpr( std::is_same_v< Fn, setup > ) p.setup( std::forward< Args >( args )... ); + if constexpr( std::is_same_v< Fn, box > ) + p.box( std::forward< Args >( args )... ); else if constexpr( std::is_same_v< Fn, advance > ) p.advance( std::forward< Args >( args )... ); else if constexpr( std::is_same_v< Fn, resized > ) @@ -167,6 +171,8 @@ class Scheme { p.refine( std::forward< Args >( args )... ); else if constexpr( std::is_same_v< Fn, lhs > ) p.lhs( std::forward< Args >( args )... ); + else if constexpr( std::is_same_v< Fn, nodeNeighSetup > ) + p.nodeNeighSetup( std::forward< Args >( args )... ); else if constexpr( std::is_same_v< Fn, diag > ) p.diag( std::forward< Args >( args )... ); else if constexpr( std::is_same_v< Fn, evalLB > ) diff --git a/src/Inciter/Sorter.cpp b/src/Inciter/Sorter.cpp index df962188cc5..2f6fc7e3945 100644 --- a/src/Inciter/Sorter.cpp +++ b/src/Inciter/Sorter.cpp @@ -3,7 +3,7 @@ \file src/Inciter/Sorter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh sorter for global distributed mesh reordering \see Sorter.h for more info. @@ -53,6 +53,8 @@ Sorter::Sorter( const CProxy_Transporter& transporter, m_noffset( 0 ), m_nodech(), m_chnode(), + m_edgech(), + m_chedge(), m_msum(), m_reordcomm(), m_start( 0 ), @@ -113,16 +115,19 @@ Sorter::setup( std::size_t npoin ) std::array< std::size_t, 2 > chunksize{{ npoin / N, std::numeric_limits< std::size_t >::max() / N }}; - // Find chare-boundary nodes of our mesh chunk. This algorithm collects the - // global mesh node ids on the chare boundary. A node is on a chare boundary - // if it belongs to a face of a tetrahedron that has no neighbor tet at a - // face. The nodes are categorized to bins that will be sent to different - // chares to build the (point-to-point) node communication map across all - // chares. The binning is determined by the global node id divided by the - // chunksizes. See discussion above on how we use two chunksizes for global - // node ids assigned by the hash algorithm in Refiner (if initial mesh - // refinement has been done). - std::unordered_map< int, std::vector< std::size_t > > chbnode; + const auto scheme = g_inputdeck.get< tag::discr, tag::scheme >(); + + // Find chare-boundary nodes and edges of our mesh chunk. This algorithm + // collects the global mesh node ids and edges on the chare boundary. A node + // is on a chare boundary if it belongs to a face of a tetrahedron that has + // no neighbor tet at a face. The edge is on the chare boundary if its first + // edge-end point is on a chare boundary. The nodes are categorized to bins + // that will be sent to different chares to build point-to-point + // communication maps across all chares. The binning is determined by the + // global node id divided by the chunksizes. See discussion above on how we + // use two chunksizes for global node ids assigned by the hash algorithm in + // Refiner (if initial mesh refinement has been done). + tk::CommMaps chbnd; auto el = tk::global2local( m_ginpoel ); // generate local mesh data const auto& inpoel = std::get< 0 >( el ); // local connectivity auto esup = tk::genEsup( inpoel, 4 ); // elements surrounding points @@ -137,38 +142,48 @@ Sorter::setup( std::size_t npoin ) if (bin >= N) bin = g / chunksize[1]; if (bin >= N) bin = N - 1; Assert( bin < N, "Will index out of number of chares" ); - chbnode[ static_cast(bin) ].push_back( g ); + auto& b = chbnd[ static_cast< int >( bin ) ]; + b.get< tag::node >().insert( g ); + if (scheme == ctr::SchemeType::ALECG) { + auto h = m_ginpoel[ mark + tk::lpofa[ f ][ tk::lpoet[n][1] ] ]; + b.get< tag::edge >().insert( { std::min(g,h), std::max(g,h) } ); + } } } - for (auto& c : chbnode) tk::unique(c.second); - // Send node lists in bins to chares that will compute node communication - // maps for a list of nodes in the bin. These bins form a distributed table. - // Note that we only send data to those chares that have data to work on. The - // receiving sides do not know in advance if they receive messages or not. - // Completion is detected by having the receiver respond back and counting - // the responses on the sender side, i.e., this chare. - m_nbnd = chbnode.size(); + // Send boundary data in bins to chares that will compute communication maps + // for the data in the bin. These bins form a distributed table. Note that + // we only send data to those chares that have data to work on. The receiving + // sides do not know in advance if they receive messages or not. Completion + // is detected by having the receiver respond back and counting the responses + // on the sender side, i.e., this chare. + m_nbnd = chbnd.size(); if (m_nbnd == 0) contribute( m_cbs.get< tag::queried >() ); else - for (const auto& [ targetchare, bndnodes ] : chbnode) - thisProxy[ targetchare ].query( thisIndex, bndnodes ); + for (const auto& [ targetchare, bnd ] : chbnd) + thisProxy[ targetchare ].query( thisIndex, bnd ); } void -Sorter::query( int fromch, const std::vector< std::size_t >& nodes ) +Sorter::query( int fromch, const tk::AllCommMaps& bnd ) // ***************************************************************************** -// Incoming query for a list mesh nodes for which this chare compiles node +// Incoming query for a list of mesh nodes for which this chare compiles node // communication maps //! \param[in] fromch Sender chare ID -//! \param[in] nodes Chare-boundary node list from another chare +//! \param[in] bnd Chare-boundary data from another chare // ***************************************************************************** { // Store incoming nodes in node->chare and its inverse, chare->node, maps + const auto& nodes = bnd.get< tag::node >(); for (auto n : nodes) m_nodech[ n ].push_back( fromch ); - auto& c = m_chnode[ fromch ]; - c.insert( end(c), begin(nodes), end(nodes) ); + m_chnode[ fromch ].insert( begin(nodes), end(nodes) ); + + // Store incoming edges in edge->chare and its inverse, chare->edge, maps + const auto& edges = bnd.get< tag::edge >(); + for (const auto& e : edges) m_edgech[ e ].push_back( fromch ); + m_chedge[ fromch ].insert( begin(edges), end(edges) ); + // Report back to chare message received from thisProxy[ fromch ].recvquery(); } @@ -188,44 +203,56 @@ Sorter::response() // Respond to boundary node list queries // ***************************************************************************** { - std::unordered_map< int, - std::map< int, std::unordered_set< std::size_t > > > exp; + std::unordered_map< int, tk::CommMaps > exp; // Compute node communication map to be sent back to chares for (const auto& [ neighborchare, bndnodes ] : m_chnode) { - auto& e = exp[ neighborchare ]; + auto& nc = exp[ neighborchare ]; for (auto n : bndnodes) for (auto d : tk::cref_find(m_nodech,n)) if (d != neighborchare) - e[ d ].insert( n ); + nc[d].get< tag::node >().insert( n ); + } + + // Compute edge communication map to be sent back to chares + for (const auto& [ neighborchare, bndedges ] : m_chedge) { + auto& ec = exp[ neighborchare ]; + for (const auto& e : bndedges) + for (auto d : tk::cref_find(m_edgech,e)) + if (d != neighborchare) + ec[d].get< tag::edge >().insert( e ); } - // Send node communication maps to chares that issued a query to us. Node - // communication maps were computed above for those chares that queried this - // map from us. These mesh nodes form a distributed table and we only work on - // a chunk of it. Note that we only send data back to those chares that have - // queried us. The receiving sides do not know in advance if the receive - // messages or not. Completion is detected by having the receiver respond - // back and counting the responses on the sender side, i.e., this chare. + // Send communication maps to chares that issued a query to us. Communication + // maps were computed above for those chares that queried this map from us. + // This data form a distributed table and we only work on a chunk of it. Note + // that we only send data back to those chares that have queried us. The + // receiving sides do not know in advance if the receive messages or not. + // Completion is detected by having the receiver respond back and counting + // the responses on the sender side, i.e., this chare. m_nbnd = exp.size(); if (m_nbnd == 0) contribute( m_cbs.get< tag::responded >() ); else - for (const auto& [ targetchare, bndnodes ] : exp) - thisProxy[ targetchare ].bnd( thisIndex, bndnodes ); + for (const auto& [ targetchare, maps ] : exp) + thisProxy[ targetchare ].bnd( thisIndex, maps ); } void -Sorter::bnd( int fromch, - const std::map< int, std::unordered_set< std::size_t > >& msum ) +Sorter::bnd( int fromch, const tk::CommMaps& msum ) // ***************************************************************************** // Receive boundary node communication maps for our mesh chunk //! \param[in] fromch Sender chare ID -//! \param[in] msum Boundary node communication map assembled by chare fromch +//! \param[in] msum Communication map(s) assembled by chare fromch // ***************************************************************************** { - for (const auto& [ neighborchare, bndnodes ] : msum) - m_msum[ neighborchare ].insert( begin(bndnodes), end(bndnodes) ); + for (const auto& [ neighborchare, maps ] : msum) { + auto& m = m_msum[ neighborchare ]; + const auto& nodemap = maps.get< tag::node >(); + m.get< tag::node >().insert( begin(nodemap), end(nodemap) ); + const auto& edgemap = maps.get< tag::edge >(); + m.get< tag::edge >().insert( begin(edgemap), end(edgemap) ); + } // Report back to chare message received from thisProxy[ fromch ].recvbnd(); @@ -246,12 +273,23 @@ Sorter::start() // Start reordering (if enabled it) // ***************************************************************************** { + // Keep only those edges in edge comm map whose both end-points are in the + // node comm map + for (auto& [ neighborchare, maps ] : m_msum) { + const auto& nodes = maps.get< tag::node >(); + tk::EdgeSet edges; + for (const auto& e : maps.get< tag::edge >()) + if (nodes.find(e[0]) != end(nodes) && nodes.find(e[1]) != end(nodes)) + edges.insert( e ); + maps.get< tag::edge >() = std::move(edges); + } + if (g_inputdeck.get< tag::cmd, tag::feedback >()) m_host.chcomm(); tk::destroy( m_nodech ); tk::destroy( m_chnode ); - if (g_inputdeck.get< tag::discr, tag::reorder >()) + if (g_inputdeck.get< tag::discr, tag::pelocal_reorder >()) mask(); // continue with mesh node reordering if requested (or required) else createDiscWorkers(); // skip mesh node reordering @@ -277,10 +315,12 @@ Sorter::mask() for (auto c=m_msum.cbegin(); c!=m_msum.cend(); ++c) if (thisIndex > c->first) { auto& n = m_reordcomm[ c->first ]; - for (auto j : c->second) + for (auto j : c->second.get< tag::node >()) if (std::none_of( m_msum.cbegin(), c, - [ j ]( const auto& s ) - { return s.second.find(j) != end(s.second); } )) { + [j]( const auto& s ) { + const auto& nodemap = s.second.template get< tag::node >(); + return nodemap.find(j) != end(nodemap); } )) + { n.insert(j); } if (n.empty()) m_reordcomm.erase( c->first ); @@ -447,10 +487,20 @@ Sorter::finish() m_coordmap = m_newcoordmap; // Update symmetric chare-node communication map with the reordered IDs - for (auto& [ neighborchare, bndnodes ] : m_msum) { - decltype(bndnodes) n; - for (auto p : bndnodes) n.insert( tk::cref_find( m_newnodes, p ) ); - bndnodes = std::move( n ); + for (auto& [ neighborchare, maps ] : m_msum) { + + tk::NodeSet n; + for (auto p : maps.get< tag::node >()) + n.insert( tk::cref_find( m_newnodes, p ) ); + maps.get< tag::node >() = std::move( n ); + + tk::EdgeSet e; + for (const auto& ed : maps.get< tag::edge >()) { + e.insert( { tk::cref_find(m_newnodes,ed[0]), + tk::cref_find(m_newnodes,ed[1]) } ); + } + maps.get< tag::edge >() = std::move( e ); + } // Update boundary face-node connectivity with the reordered node IDs @@ -524,6 +574,20 @@ Sorter::createWorkers() if ( g_inputdeck.get< tag::cmd, tag::feedback >() ) m_host.chcreated(); contribute( m_cbs.get< tag::workinserted >() ); + + // Free up some memory + tk::destroy( m_ginpoel ); + tk::destroy( m_coordmap ); + tk::destroy( m_bface ); + tk::destroy( m_triinpoel ); + tk::destroy( m_bnode ); + tk::destroy( m_nodeset ); + tk::destroy( m_nodech ); + tk::destroy( m_chnode ); + tk::destroy( m_msum ); + tk::destroy( m_reordcomm ); + tk::destroy( m_newnodes ); + tk::destroy( m_reqnodes ); } #include "NoWarning/sorter.def.h" diff --git a/src/Inciter/Sorter.hpp b/src/Inciter/Sorter.hpp index 293ae42ef45..38d0b06f952 100644 --- a/src/Inciter/Sorter.hpp +++ b/src/Inciter/Sorter.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Sorter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh sorter for global distributed mesh reordering \details Mesh sorter is Charm++ chare array and is used to do global @@ -25,6 +25,7 @@ #include "UnsMesh.hpp" #include "UnsMesh.hpp" #include "Scheme.hpp" +#include "CommMap.hpp" #include "NoWarning/transporter.decl.h" #include "NoWarning/sorter.decl.h" @@ -88,15 +89,14 @@ class Sorter : public CBase_Sorter { //! Setup chare mesh boundary node communication map void setup( std::size_t npoin ); //! \brief Incoming query for a list mesh nodes for which this chare - //! compiles node communication maps - void query( int fromch, const std::vector< std::size_t >& nodes ); + //! compiles communication maps + void query( int fromch, const tk::AllCommMaps& bnd ); //! Report receipt of boundary node lists void recvquery(); //! Respond to boundary node list queries void response(); //! Receive boundary node communication maps for our mesh chunk - void bnd( int fromch, const std::map< int, - std::unordered_set< std::size_t > >& msum ); + void bnd( int fromch, const tk::CommMaps& msum ); //! Receive receipt of boundary node communication map void recvbnd(); @@ -147,6 +147,8 @@ class Sorter : public CBase_Sorter { p | m_noffset; p | m_nodech; p | m_chnode; + p | m_edgech; + p | m_chedge; p | m_msum; p | m_reordcomm; p | m_start; @@ -195,10 +197,14 @@ class Sorter : public CBase_Sorter { //! Node->chare map used to build boundary node communication maps std::unordered_map< std::size_t, std::vector< int > > m_nodech; //! Chare->node map used to build boundary node communication maps - std::unordered_map< int, std::vector< std::size_t > > m_chnode; - //! \brief Symmetric communication map associating global mesh node IDs to - //! chare IDs this chare shares the node IDs with - std::map< int, std::unordered_set< std::size_t > > m_msum; + tk::NodeCommMap m_chnode; + //! Edge->chare map used to build boundary edge communication maps + std::unordered_map< tk::UnsMesh::Edge, std::vector< int >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> > m_edgech; + //! Chare->edge map used to build boundary edge communication maps + tk::EdgeCommMap m_chedge; + //! Communication maps associated to chare IDs + tk::CommMaps m_msum; //! \brief Communication map used for distributed mesh node reordering //! \details This map associates the list of global mesh point //! indices to fellow chare IDs from which this chare receives new node diff --git a/src/Inciter/Transporter.cpp b/src/Inciter/Transporter.cpp index 5dcfa13320b..94481a6c509 100644 --- a/src/Inciter/Transporter.cpp +++ b/src/Inciter/Transporter.cpp @@ -3,7 +3,7 @@ \file src/Inciter/Transporter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Transporter drives the time integration of transport equations \details Transporter drives the time integration of transport equations. @@ -22,6 +22,8 @@ #include #include +#include + #include "Macro.hpp" #include "Transporter.hpp" #include "Fields.hpp" @@ -31,11 +33,13 @@ #include "ContainerUtil.hpp" #include "LoadDistributor.hpp" #include "MeshReader.hpp" +#include "Inciter/Types.hpp" #include "Inciter/InputDeck/InputDeck.hpp" #include "NodeDiagnostics.hpp" #include "ElemDiagnostics.hpp" #include "DiagWriter.hpp" #include "Callback.hpp" +#include "CartesianProduct.hpp" #include "NoWarning/inciter.decl.h" #include "NoWarning/partitioner.decl.h" @@ -54,7 +58,6 @@ extern std::vector< DGPDE > g_dgpde; using inciter::Transporter; Transporter::Transporter() : - m_print( g_inputdeck.get() ? std::cout : std::clog ), m_nchare( 0 ), m_ncit( 0 ), m_nt0refit( 0 ), @@ -65,22 +68,23 @@ Transporter::Transporter() : m_meshwriter(), m_sorter(), m_nelem( 0 ), - m_npoin_larger( 0 ), + m_npoin( 0 ), + m_finished( 0 ), m_meshvol( 0.0 ), m_minstat( {{ 0.0, 0.0, 0.0 }} ), m_maxstat( {{ 0.0, 0.0, 0.0 }} ), m_avgstat( {{ 0.0, 0.0, 0.0 }} ), m_timer(), - m_progMesh( m_print, g_inputdeck.get< tag::cmd, tag::feedback >(), + m_progMesh( g_inputdeck.get< tag::cmd, tag::feedback >(), ProgMeshPrefix, ProgMeshLegend ), - m_progWork( m_print, g_inputdeck.get< tag::cmd, tag::feedback >(), + m_progWork( g_inputdeck.get< tag::cmd, tag::feedback >(), ProgWorkPrefix, ProgWorkLegend ) // ***************************************************************************** // Constructor // ***************************************************************************** { // Echo configuration to screen - info(); + info( printer() ); const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); const auto t0 = g_inputdeck.get< tag::discr, tag::t0 >(); @@ -104,58 +108,56 @@ Transporter::Transporter() : // Create mesh partitioner AND boundary condition object group createPartitioner(); - } else finish( 0, t0 ); // stop if no time stepping requested + } else finish(); // stop if no time stepping requested } Transporter::Transporter( CkMigrateMessage* m ) : CBase_Transporter( m ), - m_print( g_inputdeck.get() ? std::cout : std::clog ), - m_progMesh( m_print, g_inputdeck.get< tag::cmd, tag::feedback >(), + m_progMesh( g_inputdeck.get< tag::cmd, tag::feedback >(), ProgMeshPrefix, ProgMeshLegend ), - m_progWork( m_print, g_inputdeck.get< tag::cmd, tag::feedback >(), + m_progWork( g_inputdeck.get< tag::cmd, tag::feedback >(), ProgWorkPrefix, ProgWorkLegend ) // ***************************************************************************** // Migrate constructor: returning from a checkpoint //! \param[in] m Charm++ migrate message // ***************************************************************************** { - m_print.diag( "Restarted from checkpoint" ); - info(); - inthead(); + auto print = printer(); + print.diag( "Restarted from checkpoint" ); + info( print ); + inthead( print ); } void -Transporter::info() +Transporter::info( const InciterPrint& print ) // ***************************************************************************** // Echo configuration to screen +//! \param[in] print Pretty printer object to use for printing // ***************************************************************************** { - m_print.part( "Factory" ); + print.part( "Factory" ); // Print out info data layout - m_print.list( "Unknowns data layout (CMake: FIELD_DATA_LAYOUT)", - std::list< std::string >{ tk::Fields::layout() } ); + print.list( "Unknowns data layout (CMake: FIELD_DATA_LAYOUT)", + std::list< std::string >{ tk::Fields::layout() } ); // Re-create partial differential equations stack for output PDEStack stack; // Print out information on PDE factories - m_print.eqlegend(); - m_print.eqlist( "Registered PDEs using continuous Galerkin (CG) methods", - stack.cgfactory(), stack.cgntypes() ); - m_print.eqlist( "Registered PDEs using discontinuous Galerkin (DG) methods", - stack.dgfactory(), stack.dgntypes() ); - m_print.endpart(); + print.eqlegend(); + print.eqlist( "Registered PDEs using continuous Galerkin (CG) methods", + stack.cgfactory(), stack.cgntypes() ); + print.eqlist( "Registered PDEs using discontinuous Galerkin (DG) methods", + stack.dgfactory(), stack.dgntypes() ); + print.endpart(); // Print out information on problem - m_print.part( "Problem" ); + print.part( "Problem" ); // Print out info on problem title if ( !g_inputdeck.get< tag::title >().empty() ) - m_print.title( g_inputdeck.get< tag::title >() ); - - // Print out info on settings of selected partial differential equations - m_print.pdes( "Partial differential equations integrated", stack.info() ); + print.title( g_inputdeck.get< tag::title >() ); const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); const auto t0 = g_inputdeck.get< tag::discr, tag::t0 >(); @@ -165,116 +167,221 @@ Transporter::info() const auto scheme = g_inputdeck.get< tag::discr, tag::scheme >(); // Print discretization parameters - m_print.section( "Discretization parameters" ); - m_print.Item< ctr::Scheme, tag::discr, tag::scheme >(); - - if (scheme == ctr::SchemeType::PDG) { - m_print.item( "p-refinement tolerance", - g_inputdeck.get< tag::pref, tag::tolref >() ); - } + print.section( "Discretization parameters" ); + print.Item< ctr::Scheme, tag::discr, tag::scheme >(); if (scheme == ctr::SchemeType::DiagCG) { auto fct = g_inputdeck.get< tag::discr, tag::fct >(); - m_print.item( "Flux-corrected transport (FCT)", fct ); - if (fct) - m_print.item( "FCT mass diffusion coeff", - g_inputdeck.get< tag::discr, tag::ctau >() ); + print.item( "Flux-corrected transport (FCT)", fct ); + if (fct) { + print.item( "FCT mass diffusion coeff", + g_inputdeck.get< tag::discr, tag::ctau >() ); + print.item( "FCT small number", + g_inputdeck.get< tag::discr, tag::fcteps >() ); + print.item( "Clipping FCT", + g_inputdeck.get< tag::discr, tag::fctclip >() ); + } } else if (scheme == ctr::SchemeType::DG || scheme == ctr::SchemeType::P0P1 || scheme == ctr::SchemeType::DGP1 || scheme == ctr::SchemeType::DGP2 || scheme == ctr::SchemeType::PDG) { - m_print.Item< ctr::Flux, tag::discr, tag::flux >(); - m_print.Item< ctr::Limiter, tag::discr, tag::limiter >(); + print.Item< ctr::Limiter, tag::discr, tag::limiter >(); } - m_print.item( "PE-locality mesh reordering", - g_inputdeck.get< tag::discr, tag::reorder >() ); - m_print.item( "Number of time steps", nstep ); - m_print.item( "Start time", t0 ); - m_print.item( "Terminate time", term ); + print.item( "PE-locality mesh reordering", + g_inputdeck.get< tag::discr, tag::pelocal_reorder >() ); + print.item( "Operator-access mesh reordering", + g_inputdeck.get< tag::discr, tag::operator_reorder >() ); + auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); + print.item( "Local time stepping", steady ); + if (steady) { + print.item( "L2-norm residual convergence criterion", + g_inputdeck.get< tag::discr, tag::residual >() ); + print.item( "Convergence criterion component index", + g_inputdeck.get< tag::discr, tag::rescomp >() ); + } + print.item( "Number of time steps", nstep ); + print.item( "Start time", t0 ); + print.item( "Terminate time", term ); if (std::abs(constdt - g_inputdeck_defaults.get< tag::discr, tag::dt >()) > std::numeric_limits< tk::real >::epsilon()) - m_print.item( "Constant time step size", constdt ); + print.item( "Constant time step size", constdt ); else if (std::abs(cfl - g_inputdeck_defaults.get< tag::discr, tag::cfl >()) > std::numeric_limits< tk::real >::epsilon()) - m_print.item( "CFL coefficient", cfl ); + print.item( "CFL coefficient", cfl ); + + // Print out info on settings of selected partial differential equations + print.pdes( "Partial differential equations integrated", stack.info() ); + + // Print out adaptive polynomial refinement configuration + if (scheme == ctr::SchemeType::PDG) { + print.section( "Polynomial refinement (p-ref)" ); + print.item( "p-refinement", + g_inputdeck.get< tag::pref, tag::pref >() ); + print.Item< ctr::PrefIndicator, tag::pref, tag::indicator >(); + print.item( "Max degrees of freedom", + g_inputdeck.get< tag::pref, tag::ndofmax >() ); + print.item( "Tolerance", + g_inputdeck.get< tag::pref, tag::tolref >() ); + } // Print out adaptive mesh refinement configuration const auto amr = g_inputdeck.get< tag::amr, tag::amr >(); if (amr) { - m_print.section( "Mesh refinement (h-ref)" ); - m_print.refvar( g_inputdeck.get< tag::amr, tag::refvar >(), - g_inputdeck.get< tag::amr, tag::id >() ); - m_print.Item< ctr::AMRError, tag::amr, tag::error >(); + print.section( "Mesh refinement (h-ref)" ); + print.refvar( g_inputdeck.get< tag::amr, tag::refvar >(), + g_inputdeck.get< tag::amr, tag::id >() ); + print.Item< ctr::AMRError, tag::amr, tag::error >(); auto t0ref = g_inputdeck.get< tag::amr, tag::t0ref >(); - m_print.item( "Refinement at t<0 (t0ref)", t0ref ); + print.item( "Refinement at t<0 (t0ref)", t0ref ); if (t0ref) { const auto& initref = g_inputdeck.get< tag::amr, tag::init >(); - m_print.item( "Initial refinement steps", initref.size() ); - m_print.ItemVec< ctr::AMRInitial >( initref ); - m_print.edgeref( g_inputdeck.get< tag::amr, tag::edge >() ); + print.item( "Initial refinement steps", initref.size() ); + print.ItemVec< ctr::AMRInitial >( initref ); + print.ItemVecLegend< ctr::AMRInitial >(); + print.edgeref( g_inputdeck.get< tag::amr, tag::edge >() ); - auto rmax = - std::numeric_limits< kw::amr_xminus::info::expect::type >::max(); auto eps = std::numeric_limits< kw::amr_xminus::info::expect::type >::epsilon(); auto xminus = g_inputdeck.get< tag::amr, tag::xminus >(); - if (std::abs( xminus - rmax ) > eps) - m_print.item( "Initial refinement x-", xminus ); + auto xminus_default = g_inputdeck_defaults.get< tag::amr, tag::xminus >(); + if (std::abs( xminus - xminus_default ) > eps) + print.item( "Initial refinement x-", xminus ); auto xplus = g_inputdeck.get< tag::amr, tag::xplus >(); - if (std::abs( xplus - rmax ) > eps) - m_print.item( "Initial refinement x+", xplus ); + auto xplus_default = g_inputdeck_defaults.get< tag::amr, tag::xplus >(); + if (std::abs( xplus - xplus_default ) > eps) + print.item( "Initial refinement x+", xplus ); auto yminus = g_inputdeck.get< tag::amr, tag::yminus >(); - if (std::abs( yminus - rmax ) > eps) - m_print.item( "Initial refinement y-", yminus ); + auto yminus_default = g_inputdeck_defaults.get< tag::amr, tag::yminus >(); + if (std::abs( yminus - yminus_default ) > eps) + print.item( "Initial refinement y-", yminus ); auto yplus = g_inputdeck.get< tag::amr, tag::yplus >(); - if (std::abs( yplus - rmax ) > eps) - m_print.item( "Initial refinement y+", yplus ); + auto yplus_default = g_inputdeck_defaults.get< tag::amr, tag::yplus >(); + if (std::abs( yplus - yplus_default ) > eps) + print.item( "Initial refinement y+", yplus ); auto zminus = g_inputdeck.get< tag::amr, tag::zminus >(); - if (std::abs( zminus - rmax ) > eps) - m_print.item( "Initial refinement z-", zminus ); + auto zminus_default = g_inputdeck_defaults.get< tag::amr, tag::zminus >(); + if (std::abs( zminus - zminus_default ) > eps) + print.item( "Initial refinement z-", zminus ); auto zplus = g_inputdeck.get< tag::amr, tag::zplus >(); - if (std::abs( zplus - rmax ) > eps) - m_print.item( "Initial refinement z+", zplus ); + auto zplus_default = g_inputdeck_defaults.get< tag::amr, tag::zplus >(); + if (std::abs( zplus - zplus_default ) > eps) + print.item( "Initial refinement z+", zplus ); } auto dtref = g_inputdeck.get< tag::amr, tag::dtref >(); - m_print.item( "Refinement at t>0 (dtref)", dtref ); + print.item( "Refinement at t>0 (dtref)", dtref ); if (dtref) { auto dtfreq = g_inputdeck.get< tag::amr, tag::dtfreq >(); - m_print.item( "Mesh refinement frequency, t>0", dtfreq ); - m_print.item( "Uniform-only mesh refinement, t>0", - g_inputdeck.get< tag::amr, tag::dtref_uniform >() ); + print.item( "Mesh refinement frequency, t>0", dtfreq ); + print.item( "Uniform-only mesh refinement, t>0", + g_inputdeck.get< tag::amr, tag::dtref_uniform >() ); } - m_print.item( "Refinement tolerance", - g_inputdeck.get< tag::amr, tag::tolref >() ); - m_print.item( "De-refinement tolerance", - g_inputdeck.get< tag::amr, tag::tolderef >() ); + print.item( "Refinement tolerance", + g_inputdeck.get< tag::amr, tag::tolref >() ); + print.item( "De-refinement tolerance", + g_inputdeck.get< tag::amr, tag::tolderef >() ); } // Print I/O filenames - m_print.section( "Output filenames and directories" ); - m_print.item( "Field output file(s)", - g_inputdeck.get< tag::cmd, tag::io, tag::output >() + - ".e-s..." ); - m_print.item( "Diagnostics file", - g_inputdeck.get< tag::cmd, tag::io, tag::diag >() ); - m_print.item( "Checkpoint/restart directory", - g_inputdeck.get< tag::cmd, tag::io, tag::restart >() + '/' ); + print.section( "Output filenames and directories" ); + const auto& of = g_inputdeck.get< tag::cmd, tag::io, tag::output >(); + print.item( "Volume field output file(s)", + of + ".e-s..." ); + print.item( "Surface field output file(s)", + of + "-surf..e-s..." ); + print.item( "History output file(s)", of + ".hist.{pointid}" ); + print.item( "Diagnostics file", + g_inputdeck.get< tag::cmd, tag::io, tag::diag >() ); + print.item( "Checkpoint/restart directory", + g_inputdeck.get< tag::cmd, tag::io, tag::restart >() + '/' ); // Print output intervals - m_print.section( "Output intervals" ); - m_print.item( "TTY", g_inputdeck.get< tag::interval, tag::tty>() ); - m_print.item( "Field", g_inputdeck.get< tag::interval, tag::field >() ); - m_print.item( "Diagnostics", - g_inputdeck.get< tag::interval, tag::diag >() ); - m_print.item( "Checkpoint/restart", - g_inputdeck.get< tag::cmd, tag::rsfreq >() ); - m_print.endsubsection(); + print.section( "Output intervals" ); + print.item( "TTY", g_inputdeck.get< tag::interval, tag::tty>() ); + print.item( "Field", g_inputdeck.get< tag::interval, tag::field >() ); + print.item( "Diagnostics", + g_inputdeck.get< tag::interval, tag::diag >() ); + print.item( "Checkpoint/restart", + g_inputdeck.get< tag::cmd, tag::rsfreq >() ); + + const auto outsets = g_inputdeck.outsets(); + if (!outsets.empty()) { + print.section( "Output fields" ); + print.item( "Surface side set(s)", tk::parameters( outsets ) ); + } + + const auto& pt = g_inputdeck.get< tag::history, tag::point >(); + const auto& id = g_inputdeck.get< tag::history, tag::id >(); + if (!pt.empty()) { + print.section( "Output time history" ); + for (std::size_t p=0; p(); + ss << std::setprecision( static_cast(prec) ); + ss << of << ".hist." << id[p]; + print.longitem( "At point " + id[p] + ' ' + tk::parameters(pt[p]), + ss.str() ); + } + } + + print.endsubsection(); } +bool +Transporter::matchBCs( std::map< int, std::vector< std::size_t > >& bnd ) +// ***************************************************************************** + // Verify that side sets specified in the control file exist in mesh file + //! \details This function does two things: (1) it verifies that the side + //! sets used in the input file (either to which boundary conditions (BC) + //! are assigned or listed as field output by the user in the + //! input file) all exist among the side sets read from the input mesh + //! file and errors out if at least one does not, and (2) it matches the + //! side set ids at which the user has configured BCs (or listed as an output + //! surface) to side set ids read from the mesh file and removes those face + //! and node lists associated to side sets that the user did not set BCs or + //! listed as field output on (as they will not need processing further since + //! they will not be used). + //! \param[in,out] bnd Node or face lists mapped to side set ids + //! \return True if sidesets have been used and found in mesh +// ***************************************************************************** + { + // Query side set ids at which BCs assigned for all BC types for all PDEs + using PDEsBCs = + tk::cartesian_product< ctr::parameters::Keys, ctr::bc::Keys >; + std::unordered_set< int > usedsets; + brigand::for_each< PDEsBCs >( UserBC( g_inputdeck, usedsets ) ); + + // Add sidesets requested for field output + const auto& ss = g_inputdeck.get< tag::cmd, tag::io, tag::surface >(); + for (const auto& s : ss) { + std::stringstream conv( s ); + int num; + conv >> num; + usedsets.insert( num ); + } + + // Find user-configured side set ids among side sets read from mesh file + std::unordered_set< int > sidesets_used; + for (auto i : usedsets) { // for all side sets used in control file + if (bnd.find(i) != end(bnd)) // used set found among side sets in file + sidesets_used.insert( i ); // store side set id configured as BC + else { + Throw( "Boundary conditions specified on side set " + + std::to_string(i) + " which does not exist in mesh file" ); + } + } + + // Remove sidesets not used (will not process those further) + tk::erase_if( bnd, [&]( auto& item ) { + return sidesets_used.find( item.first ) == end(sidesets_used); + }); + + return !bnd.empty(); + } + void Transporter::createPartitioner() // ***************************************************************************** @@ -284,6 +391,9 @@ Transporter::createPartitioner() // Create mesh reader for reading side sets from file tk::MeshReader mr( g_inputdeck.get< tag::cmd, tag::io, tag::input >() ); + // Read out total number of mesh points from mesh file + m_npoin = mr.npoin(); + std::map< int, std::vector< std::size_t > > bface; std::map< int, std::vector< std::size_t > > faces; std::map< int, std::vector< std::size_t > > bnode; @@ -291,18 +401,30 @@ Transporter::createPartitioner() // Read boundary (side set) data from input file const auto scheme = g_inputdeck.get< tag::discr, tag::scheme >(); const auto centering = ctr::Scheme().centering( scheme ); + + // Read boundary-face connectivity on side sets + mr.readSidesetFaces( bface, faces ); + + bool bcs_set = false; if (centering == tk::Centering::ELEM) { - // Read boundary-face connectivity on side sets - mr.readSidesetFaces( bface, faces ); + // Verify boundarty condition (BC) side sets used exist in mesh file - matchBCs( g_dgpde, bface ); + bcs_set = matchBCs( bface ); + } else if (centering == tk::Centering::NODE) { + // Read node lists on side sets bnode = mr.readSidesetNodes(); // Verify boundarty condition (BC) side sets used exist in mesh file - matchBCs( g_cgpde, bnode ); + bcs_set = matchBCs( bnode ); + bcs_set = bcs_set || matchBCs( bface ); } + auto print = printer(); + + // Warn on no BCs + if (!bcs_set) print << "\n>>> WARNING: No boundary conditions set\n\n"; + // Create partitioner callbacks (order matters) tk::PartitionerCallback cbp {{ CkCallback( CkReductionTarget(Transporter,load), thisProxy ) @@ -313,7 +435,8 @@ Transporter::createPartitioner() // Create refiner callbacks (order matters) tk::RefinerCallback cbr {{ - CkCallback( CkReductionTarget(Transporter,edges), thisProxy ) + CkCallback( CkReductionTarget(Transporter,queriedRef), thisProxy ) + , CkCallback( CkReductionTarget(Transporter,respondedRef), thisProxy ) , CkCallback( CkReductionTarget(Transporter,compatibility), thisProxy ) , CkCallback( CkReductionTarget(Transporter,bndint), thisProxy ) , CkCallback( CkReductionTarget(Transporter,matched), thisProxy ) @@ -332,7 +455,7 @@ Transporter::createPartitioner() m_timer[ TimerTag::MESH_READ ]; // Create mesh partitioner Charm++ chare group and start preparing mesh - m_print.diag( "Reading mesh" ); + print.diag( "Reading mesh" ); // Create empty mesh sorter Charm++ chare array (bound to workers) m_sorter = CProxy_Sorter::ckNew( m_scheme.arrayoptions() ); @@ -353,17 +476,12 @@ Transporter::createPartitioner() } void -Transporter::load( std::size_t nelem, std::size_t npoin ) +Transporter::load( std::size_t nelem ) // ***************************************************************************** // Reduction target: the mesh has been read from file on all PEs //! \param[in] nelem Total number of mesh elements (summed across all PEs) -//! \param[in] npoin Total number of mesh nodes (summed across all PEs). Note -//! that in parallel this is larger than the total number of points in the -//! mesh, because the boundary nodes are double-counted. // ***************************************************************************** { - m_npoin_larger = npoin; - // Compute load distribution given total work (nelem) and user-specified // virtualization uint64_t chunksize, remainder; @@ -372,27 +490,26 @@ Transporter::load( std::size_t nelem, std::size_t npoin ) g_inputdeck.get< tag::cmd, tag::virtualization >(), nelem, CkNumPes(), chunksize, remainder ) ); + auto print = printer(); + // Start timer measuring preparation of the mesh for partitioning const auto& timer = tk::cref_find( m_timer, TimerTag::MESH_READ ); - m_print.diag( "Mesh read time: " + std::to_string( timer.dsec() ) + " sec" ); - - // Print out mesh graph stats - m_print.section( "Input mesh graph statistics" ); - m_print.item( "Number of tetrahedra", nelem ); + print.diag( "Mesh read time: " + std::to_string( timer.dsec() ) + " sec" ); // Print out mesh partitioning configuration - m_print.section( "Mesh partitioning" ); - m_print.Item< tk::ctr::PartitioningAlgorithm, - tag::selected, tag::partitioner >(); + print.section( "Mesh partitioning" ); + print.Item< tk::ctr::PartitioningAlgorithm, + tag::selected, tag::partitioner >(); // Print out info on load distribution - m_print.section( "Initial load distribution" ); - m_print.item( "Virtualization [0.0...1.0]", - g_inputdeck.get< tag::cmd, tag::virtualization >() ); - m_print.item( "Number of tetrahedra", nelem ); - m_print.item( "Number of work units", m_nchare ); + print.section( "Initial load distribution" ); + print.item( "Virtualization [0.0...1.0]", + g_inputdeck.get< tag::cmd, tag::virtualization >() ); + print.item( "Number of tetrahedra", nelem ); + print.item( "Number of points", m_npoin ); + print.item( "Number of work units", m_nchare ); - m_print.endsubsection(); + print.endsubsection(); // Tell meshwriter the total number of chares m_meshwriter.nchare( m_nchare ); @@ -402,7 +519,7 @@ Transporter::load( std::size_t nelem, std::size_t npoin ) if (g_inputdeck.get< tag::amr, tag::t0ref >()) nref = static_cast( g_inputdeck.get< tag::amr, tag::init >().size() ); - m_progMesh.start( "Preparing mesh", {{ CkNumPes(), CkNumPes(), nref, + m_progMesh.start( print, "Preparing mesh", {{ CkNumPes(), CkNumPes(), nref, m_nchare, m_nchare, m_nchare, m_nchare }} ); // Partition the mesh @@ -427,19 +544,19 @@ Transporter::refinserted( int error ) { if (error) { - m_print << "\n>>> ERROR: A worker chare was not assigned any mesh " - "elements. This can happen in SMP-mode with a large +ppn " - "parameter (number of worker threads per logical node) and is " - "most likely the fault of the mesh partitioning algorithm not " - "tolerating the case when it is asked to divide the " - "computational domain into a number of partitions different " - "than the number of ranks it is called on, i.e., in case of " - "overdecomposition and/or calling the partitioner in SMP mode " - "with +ppn larger than 1. Solution 1: Try a different " - "partitioning algorithm (e.g., rcb instead of mj). Solution 2: " - "Decrease +ppn."; + printer() << "\n>>> ERROR: A worker chare was not assigned any mesh " + "elements. This can happen in SMP-mode with a large +ppn " + "parameter (number of worker threads per logical node) and is " + "most likely the fault of the mesh partitioning algorithm not " + "tolerating the case when it is asked to divide the " + "computational domain into a number of partitions different " + "than the number of ranks it is called on, i.e., in case of " + "overdecomposition and/or calling the partitioner in SMP mode " + "with +ppn larger than 1. Solution 1: Try a different " + "partitioning algorithm (e.g., rcb instead of mj). Solution 2: " + "Decrease +ppn."; - finish( 0, g_inputdeck.get< tag::discr, tag::t0 >() ); + finish(); } else { @@ -449,7 +566,16 @@ Transporter::refinserted( int error ) } void -Transporter::edges() +Transporter::queriedRef() +// ***************************************************************************** +// Reduction target: all Sorter chares have queried their boundary nodes +// ***************************************************************************** +{ + m_refiner.response(); +} + +void +Transporter::respondedRef() // ***************************************************************************** // Reduction target: all mesh refiner chares have setup their boundary edges // ***************************************************************************** @@ -490,7 +616,7 @@ Transporter::matched( std::size_t nextra, //! \param[in] nref Sum of number of refined tetrahedra across all chares. //! \param[in] nderef Sum of number of derefined tetrahedra across all chares. //! \param[in] initial Sum of contributions from all chares. If larger than -//! zero, we are during time stepping and if zero we are during setup. +//! zero, we are before time stepping, if zero we are during time stepping. // ***************************************************************************** { // If at least a single edge on a chare still needs correction, do correction, @@ -502,18 +628,33 @@ Transporter::matched( std::size_t nextra, } else { + auto print = printer(); + if (initial > 0) { if (!g_inputdeck.get< tag::cmd, tag::feedback >()) { - m_print.diag( { "t0ref", "nref", "nderef", "ncorr" }, - { ++m_nt0refit, nref, nderef, m_ncit } ); + const auto& initref = g_inputdeck.get< tag::amr, tag::init >(); + ctr::AMRInitial opt; + print.diag( { "t0ref", "type", "nref", "nderef", "ncorr" }, + { std::to_string(m_nt0refit), + opt.code(initref[m_nt0refit]), + std::to_string(nref), + std::to_string(nderef), + std::to_string(m_ncit) } ); + ++m_nt0refit; } - m_progMesh.inc< REFINE >(); + m_progMesh.inc< REFINE >( print ); } else { - m_print.diag( { "dtref", "nref", "nderef", "ncorr" }, - { ++m_ndtrefit, nref, nderef, m_ncit }, false ); + auto dtref_uni = g_inputdeck.get< tag::amr, tag::dtref_uniform >(); + print.diag( { "dtref", "type", "nref", "nderef", "ncorr" }, + { std::to_string(++m_ndtrefit), + (dtref_uni?"uniform":"error"), + std::to_string(nref), + std::to_string(nderef), + std::to_string(m_ncit) }, + false ); } @@ -539,18 +680,17 @@ Transporter::bndint( tk::real sx, tk::real sy, tk::real sz, tk::real cb ) // ***************************************************************************** { std::stringstream err; - if (cb < 0.0) { // called from Refiner + if (cb < 0.0) { err << "Mesh boundary leaky after mesh refinement step; this is due to a " "problem with updating the side sets used to specify boundary conditions " - "on faces, required for DG methods: "; - } else if (cb > 0.0) { // called from DG - err << "Mesh boundary leaky during initialization of the DG algorithm; this " - "is due to incorrect or incompletely specified boundary conditions for a " - "given input mesh: "; + "on faces: "; + } else if (cb > 0.0) { + err << "Mesh boundary leaky during initialization; this is due to " + "incorrect or incompletely specified boundary conditions for a given input " + "mesh: "; } - auto eps = std::numeric_limits< tk::real >::epsilon() * 1.0e+3; // ~ 2.0e-13 - + auto eps = 1.0e-10; if (std::abs(sx) > eps || std::abs(sy) > eps || std::abs(sz) > eps) { err << "Integral result must be a zero vector: " << std::setprecision(12) << std::abs(sx) << ", " << std::abs(sy) << ", " << std::abs(sz) << @@ -566,17 +706,16 @@ Transporter::refined( std::size_t nelem, std::size_t npoin ) // ***************************************************************************** // Reduction target: all PEs have refined their mesh //! \param[in] nelem Total number of elements in mesh across the whole problem -//! \param[in] npoin Total number of mesh nodes (summed across all PEs). Note +//! \param[in] npoin Total number of mesh points (summed across all PEs). Note //! that in parallel this is larger than the total number of points in the -//! mesh, because the boundary nodes are double-counted. +//! mesh, because the boundary nodes are multi-counted. // ***************************************************************************** { m_sorter.doneInserting(); m_nelem = nelem; - m_npoin_larger = npoin; - m_sorter.setup( m_npoin_larger ); + m_sorter.setup( npoin ); } void @@ -609,6 +748,16 @@ Transporter::resized() m_scheme.bcast< Scheme::lhs >(); } +void +Transporter::startEsup() +// ***************************************************************************** +// Reduction target: all worker chares have generated their own esup +//! \note Only used for cell-centered schemes +// ***************************************************************************** +{ + m_scheme.bcast< Scheme::nodeNeighSetup >(); +} + void Transporter::discinserted() // ***************************************************************************** @@ -619,17 +768,25 @@ Transporter::discinserted() } void -Transporter::disccreated() +Transporter::disccreated( std::size_t npoin ) // ***************************************************************************** // Reduction target: all Discretization constructors have been called +//! \param[in] npoin Total number of mesh points (summed across all PEs). Note +//! that as opposed to npoin in refined(), this npoin is not multi-counted, and +//! thus should be correct in parallel. // ***************************************************************************** { - m_progMesh.end(); + m_npoin = npoin; + + auto print = printer(); + + m_progMesh.end( print ); if (g_inputdeck.get< tag::amr, tag::t0ref >()) { - m_print.section( "Initially (t<0) refined mesh graph statistics" ); - m_print.item( "Number of tetrahedra", m_nelem ); - m_print.endsubsection(); + print.section( "Initially (t<0) refined mesh graph statistics" ); + print.item( "Number of tetrahedra", m_nelem ); + print.item( "Number of points", m_npoin ); + print.endsubsection(); } m_refiner.sendProxy(); @@ -690,6 +847,12 @@ Transporter::diagHeader() d.push_back( errname + '(' + var[i] + "-IC)" ); } + // Augment diagnostics variables by L2-norm of the residual and total energy + if (scheme == ctr::SchemeType::DiagCG || scheme == ctr::SchemeType::ALECG) { + for (std::size_t i=0; i 0) { - m_progWork.end(); + auto print = printer(); + m_progWork.end( print ); m_scheme.bcast< Scheme::setup >(); // Turn on automatic load balancing - tk::CProxy_LBSwitch::ckNew( g_inputdeck.get() ); + tk::CProxy_LBSwitch::ckNew(); + print.diag( "Load balancing on (if enabled in Charm++)" ); } else { m_scheme.bcast< Scheme::lhs >(); } @@ -720,7 +885,7 @@ Transporter::totalvol( tk::real v, tk::real initial ) // Reduction target summing total mesh volume across all workers //! \param[in] v Mesh volume summed across the whole problem //! \param[in] initial Sum of contributions from all chares. If larger than -//! zero, we are during time stepping and if zero we are during setup. +//! zero, we are during setup, if zero, during time stepping. // ***************************************************************************** { m_meshvol = v; @@ -825,48 +990,64 @@ Transporter::stat() // Echo diagnostics on mesh statistics // ***************************************************************************** { - m_print.diag( "Mesh statistics: min/max/avg(edgelength) = " + - std::to_string( m_minstat[0] ) + " / " + - std::to_string( m_maxstat[0] ) + " / " + - std::to_string( m_avgstat[0] ) ); - m_print.diag( "Mesh statistics: min/max/avg(V^{1/3}) = " + - std::to_string( m_minstat[1] ) + " / " + - std::to_string( m_maxstat[1] ) + " / " + - std::to_string( m_avgstat[1] ) ); - m_print.diag( "Mesh statistics: min/max/avg(ntets) = " + + auto print = printer(); + + print.diag( "Mesh statistics: min/max/avg(edgelength) = " + + std::to_string( m_minstat[0] ) + " / " + + std::to_string( m_maxstat[0] ) + " / " + + std::to_string( m_avgstat[0] ) ); + print.diag( "Mesh statistics: min/max/avg(V^{1/3}) = " + + std::to_string( m_minstat[1] ) + " / " + + std::to_string( m_maxstat[1] ) + " / " + + std::to_string( m_avgstat[1] ) ); + print.diag( "Mesh statistics: min/max/avg(ntets) = " + std::to_string( static_cast(m_minstat[2]) ) + " / " + std::to_string( static_cast(m_maxstat[2]) ) + " / " + std::to_string( static_cast(m_avgstat[2]) ) ); // Print out time integration header to screen - inthead(); + inthead( print ); - m_progWork.start( "Preparing workers", + m_progWork.start( print, "Preparing workers", {{ m_nchare, m_nchare, m_nchare, m_nchare, m_nchare }} ); + // Create "derived-class" workers m_sorter.createWorkers(); } void -Transporter::inthead() +Transporter::boxvol( tk::real v ) +// ***************************************************************************** +// Reduction target computing total volume of IC box +//! \param[in] v Total volume within user-specified box IC +// ***************************************************************************** +{ + if (v > 0.0) printer().diag( "Box IC volume: " + std::to_string(v) ); + m_scheme.bcast< Scheme::box >( v ); +} + +void +Transporter::inthead( const InciterPrint& print ) // ***************************************************************************** // Print out time integration header to screen +//! \param[in] print Pretty printer object to use for printing // ***************************************************************************** { - m_print.inthead( "Time integration", "Navier-Stokes solver", + print.inthead( "Time integration", "Navier-Stokes solver", "Legend: it - iteration count\n" - " t - time\n" - " dt - time step size\n" - " ETE - estimated time elapsed (h:m:s)\n" - " ETA - estimated time for accomplishment (h:m:s)\n" - " EGT - estimated grind time (ms/status)\n" - " out - output-saved flags\n" - " f - field\n" + " t - physics time\n" + " dt - physics time step size\n" + " ETE - estimated wall-clock time elapsed (h:m:s)\n" + " ETA - estimated wall-clock time for accomplishment (h:m:s)\n" + " EGT - estimated grind wall-clock time (ms/timestep)\n" + " flg - status flags, legend:\n" + " f - field (volume and surface)\n" " d - diagnostics\n" + " t - physics time history\n" " h - h-refinement\n" " l - load balancing\n" - " r - checkpoint/restart\n", - "\n it t dt ETE ETA EGT out\n" + " r - checkpoint\n", + "\n it t dt ETE ETA EGT flg\n" " -------------------------------------------------------------------------\n" ); } @@ -908,7 +1089,7 @@ Transporter::diagnostics( CkReductionMsg* msg ) for (const auto& e : error) { n += ncomp; if (e == tk::ctr::ErrorType::L2) { - // Finish computing the L2 norm of the numerical - analytical solution + // Finish computing the L2 norm of the numerical - analytical solution for (std::size_t i=0; i(); + std::vector< tk::real > l2res( d[L2RES].size(), 0.0 ); + if (scheme == ctr::SchemeType::DiagCG || scheme == ctr::SchemeType::ALECG) { + for (std::size_t i=0; i(), g_inputdeck.get< tag::flformat, tag::diag >(), @@ -926,7 +1120,7 @@ Transporter::diagnostics( CkReductionMsg* msg ) dw.diag( static_cast(d[ITER][0]), d[TIME][0], d[DT][0], diag ); // Evaluate whether to continue with next step - m_scheme.bcast< Scheme::refine >(); + m_scheme.bcast< Scheme::refine >( l2res ); } void @@ -937,42 +1131,42 @@ Transporter::resume() //! when the restart (returning from a checkpoint) is complete // ***************************************************************************** { - const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); - const auto term = g_inputdeck.get< tag::discr, tag::term >(); - const auto eps = std::numeric_limits< tk::real >::epsilon(); - - // If neither max iterations nor max time reached, continue, otherwise finish - if (std::fabs(m_t-term) > eps && m_it < nstep) - m_scheme.bcast< Scheme::evalLB >(); - else + if (not m_finished) { + // If just restarted from a checkpoint, Main( CkMigrateMessage* msg ) has + // increased nrestart in g_inputdeck, but only on PE 0, so broadcast. + auto nrestart = g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(); + m_scheme.bcast< Scheme::evalLB >( nrestart ); + } else mainProxy.finalize(); } void -Transporter::checkpoint( tk::real it, tk::real t ) +Transporter::checkpoint( int finished ) // ***************************************************************************** // Save checkpoint/restart files -//! \param[in] it Iteration count -//! \param[in] t Physical time +//! \param[in] finished True if finished with time stepping // ***************************************************************************** { - m_it = static_cast< uint64_t >( it ); - m_t = t; + m_finished = finished; + + const auto benchmark = g_inputdeck.get< tag::cmd, tag::benchmark >(); - const auto& restart = g_inputdeck.get< tag::cmd, tag::io, tag::restart >(); - CkCallback res( CkIndex_Transporter::resume(), thisProxy ); - CkStartCheckpoint( restart.c_str(), res ); + if (!benchmark) { + const auto& restart = g_inputdeck.get< tag::cmd, tag::io, tag::restart >(); + CkCallback res( CkIndex_Transporter::resume(), thisProxy ); + CkStartCheckpoint( restart.c_str(), res ); + } else { + resume(); + } } void -Transporter::finish( tk::real it, tk::real t ) +Transporter::finish() // ***************************************************************************** // Normal finish of time stepping -//! \param[in] it Iteration count -//! \param[in] t Physical time // ***************************************************************************** { - checkpoint( it, t ); + checkpoint( /* finished = */ 1 ); } #include "NoWarning/transporter.def.h" diff --git a/src/Inciter/Transporter.hpp b/src/Inciter/Transporter.hpp index 25281e6ad3d..321dcda1f0a 100644 --- a/src/Inciter/Transporter.hpp +++ b/src/Inciter/Transporter.hpp @@ -3,7 +3,7 @@ \file src/Inciter/Transporter.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Transporter drives the time integration of transport equations \details Transporter drives the time integration of transport equations. @@ -76,7 +76,7 @@ class Transporter : public CBase_Transporter { explicit Transporter( CkMigrateMessage* m ); //! Reduction target: the mesh has been read from file on all PEs - void load( std::size_t nelem, std::size_t npoin ); + void load( std::size_t nelem ); //! \brief Reduction target: all Solver (PEs) have computed the number of //! chares they will recieve contributions from during linear solution @@ -85,6 +85,12 @@ class Transporter : public CBase_Transporter { //! Reduction target: all PEs have distrbuted their mesh after partitioning void distributed(); + //! Reduction target: all Refiner chares have queried their boundary edges + void queriedRef(); + //! \brief Reduction target: all Refiner mesh refiner chares have setup their + //! boundary edges + void respondedRef(); + //! Reduction target: all PEs have created the mesh refiners void refinserted( int error ); @@ -92,16 +98,12 @@ class Transporter : public CBase_Transporter { void discinserted(); //! Reduction target: all Discretization constructors have been called - void disccreated(); + void disccreated( std::size_t npoin ); //! \brief Reduction target: all worker (derived discretization) chares have //! been inserted void workinserted(); - //! \brief Reduction target: all mesh refiner chares have setup their - //! boundary edges - void edges(); - //! \brief Reduction target: all mesh refiner chares have received a round //! of edges, and ran their compatibility algorithm void compatibility( int modified ); @@ -122,6 +124,9 @@ class Transporter : public CBase_Transporter { //! after mesh refinement void resized(); + //! Reduction target: all worker chares have generated their own esup + void startEsup(); + //! Reduction target: all Sorter chares have queried their boundary nodes void queried(); //! \brief Reduction target: all Sorter chares have responded with their @@ -129,28 +134,28 @@ class Transporter : public CBase_Transporter { void responded(); //! Non-reduction target for receiving progress report on partitioning mesh - void pepartitioned() { m_progMesh.inc< PART >(); } + void pepartitioned() { m_progMesh.inc< PART >( printer() ); } //! Non-reduction target for receiving progress report on distributing mesh - void pedistributed() { m_progMesh.inc< DIST >(); } + void pedistributed() { m_progMesh.inc< DIST >( printer() ); } //! Non-reduction target for receiving progress report on finding bnd nodes - void chbnd() { m_progMesh.inc< BND >(); } + void chbnd() { m_progMesh.inc< BND >( printer() ); } //! Non-reduction target for receiving progress report on node ID comm map - void chcomm() { m_progMesh.inc< COMM >(); } + void chcomm() { m_progMesh.inc< COMM >( printer() ); } //! Non-reduction target for receiving progress report on node ID mask - void chmask() { m_progMesh.inc< MASK >(); } + void chmask() { m_progMesh.inc< MASK >( printer() ); } //! Non-reduction target for receiving progress report on reordering mesh - void chreordered() { m_progMesh.inc< REORD >(); } + void chreordered() { m_progMesh.inc< REORD >( printer() ); } //! Non-reduction target for receiving progress report on creating workers - void chcreated() { m_progWork.inc< CREATE >(); } + void chcreated() { m_progWork.inc< CREATE >( printer() ); } //! Non-reduction target for receiving progress report on finding bnd faces - void chbndface() { m_progWork.inc< BNDFACE >(); } + void chbndface() { m_progWork.inc< BNDFACE >( printer() ); } //! Non-reduction target for receiving progress report on face communication - void chcomfac() { m_progWork.inc< COMFAC >(); } + void chcomfac() { m_progWork.inc< COMFAC >( printer() ); } //! Non-reduction target for receiving progress report on sending ghost data - void chghost() { m_progWork.inc< GHOST >(); } + void chghost() { m_progWork.inc< GHOST >( printer() ); } //! Non-reduction target for receiving progress report on face adjacency - void chadj() { m_progWork.inc< ADJ >(); } + void chadj() { m_progWork.inc< ADJ >( printer() ); } //! Reduction target indicating that the communication maps have been setup void comfinal( int initial ); @@ -176,6 +181,9 @@ class Transporter : public CBase_Transporter { //! workers void pdfstat( CkReductionMsg* msg ); + //! Reduction target computing total volume of IC box + void boxvol( tk::real v ); + //! \brief Reduction target optionally collecting diagnostics, e.g., //! residuals, from all worker chares void diagnostics( CkReductionMsg* msg ); @@ -184,10 +192,10 @@ class Transporter : public CBase_Transporter { void resume(); //! Save checkpoint/restart files - void checkpoint( tk::real it, tk::real t ); + void checkpoint( int finished ); //! Normal finish of time stepping - void finish( tk::real it, tk::real t ); + void finish(); /** @name Charm++ pack/unpack serializer member functions */ ///@{ @@ -206,9 +214,8 @@ class Transporter : public CBase_Transporter { p | m_meshwriter; p | m_sorter; p | m_nelem; - p | m_npoin_larger; - p | m_t; - p | m_it; + p | m_npoin; + if (p.isUnpacking()) m_finished = 0; // returning from checkpoint p | m_meshvol; p | m_minstat; p | m_maxstat; @@ -222,7 +229,6 @@ class Transporter : public CBase_Transporter { //@} private: - InciterPrint m_print; //!< Pretty printer int m_nchare; //!< Number of worker chares std::size_t m_ncit; //!< Number of mesh ref corr iter std::size_t m_nt0refit; //!< Number of (t<0) mesh ref iters @@ -233,9 +239,8 @@ class Transporter : public CBase_Transporter { tk::CProxy_MeshWriter m_meshwriter; //!< Mesh writer nodegroup proxy CProxy_Sorter m_sorter; //!< Mesh sorter array proxy std::size_t m_nelem; //!< Number of mesh elements - std::size_t m_npoin_larger; //!< Total number mesh points - tk::real m_t; //!< Physical time - uint64_t m_it; //!< Iteration count + std::size_t m_npoin; //!< Total number mesh points + int m_finished; //!< True if finished with timestepping //! Total mesh volume tk::real m_meshvol; //! Minimum mesh statistics @@ -260,10 +265,10 @@ class Transporter : public CBase_Transporter { void diagHeader(); //! Echo configuration to screen - void info(); + void info( const InciterPrint& print ); //! Print out time integration header to screen - void inthead(); + void inthead( const InciterPrint& print ); //! Echo diagnostics on mesh statistics void stat(); @@ -279,43 +284,38 @@ class Transporter : public CBase_Transporter { var.insert( end(var), begin(o), end(o) ); } - //! Verify boundary condition (BC) side sets used exist in mesh file - //! \details This function does two things: (1) it verifies that the side - //! sets to which boundary conditions (BC) are assigned by the user in the - //! input file all exist among the side sets read from the input mesh - //! file and errors out if at least one does not, and (2) it matches the - //! side set ids at which the user has configured BCs to side set ids read - //! from the mesh file and removes those face and node lists associated - //! to side sets that the user did not set BCs on (as they will not need - //! processing further since they will not be used). - //! \tparam Eq Equation type, e.g., CG, DG, used to solve PDEs - //! \param[in] pde List of PDE system solved - //! \param[in,out] bnd Node or face lists mapped to side set ids - template< class Eq > - void matchBCs( const std::vector< Eq >& pde, - std::map< int, std::vector< std::size_t > >& bnd ) - { - // Query side set ids at which BCs assigned for all PDEs - std::unordered_set< int > userbc; - for (const auto& eq : pde) eq.side( userbc ); - // Find user-configured side set ids among side sets read from mesh file - std::unordered_set< int > sidesets_as_bc; - for (auto i : userbc) { // for all side sets at which BCs are assigned - if (bnd.find(i) != end(bnd)) // user BC found among side sets in file - sidesets_as_bc.insert( i ); // store side set id configured as BC - else { - Throw( "Boundary conditions specified on side set " + - std::to_string(i) + " which does not exist in mesh file" ); - } - } - // Remove sidesets not configured as BCs (will not process those further) - tk::erase_if( bnd, [&]( auto& item ) { - return sidesets_as_bc.find( item.first ) == end(sidesets_as_bc); - }); - // Warn on no BCs - if (bnd.empty()) - m_print << "\n>>> WARNING: No boundary conditions set\n\n"; + //! Create pretty printer specialized to Inciter + //! \return Pretty printer + InciterPrint printer() const { + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + auto nrestart = g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(); + return InciterPrint( + g_inputdeck.get< tag::cmd >().logname( def, nrestart ), + g_inputdeck.get< tag::cmd, tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); } + + //! Function object for querying the side set ids the user configured + //! \details Used to query and collect the side set ids the user has + //! configured for all PDE types querying all BC types. Used on a + //! Carteisan product of 2 type lists: PDE types and BC types. + struct UserBC { + const ctr::InputDeck& inputdeck; + std::unordered_set< int >& userbc; + explicit UserBC( const ctr::InputDeck& i, std::unordered_set< int >& u ) + : inputdeck(i), userbc(u) {} + template< typename U > void operator()( brigand::type_ ) { + using tag::param; + using eq = typename brigand::front< U >; + using bc = typename brigand::back< U >; + for (const auto& s : inputdeck.get< param, eq, tag::bc, bc >()) + for (const auto& i : s) userbc.insert( std::stoi(i) ); + } + }; + + //! Verify boundary condition (BC) side sets used exist in mesh file + bool matchBCs( std::map< int, std::vector< std::size_t > >& bnd ); }; } // inciter:: diff --git a/src/Inciter/alecg.ci b/src/Inciter/alecg.ci index 78a94e207db..1e47bc0c539 100644 --- a/src/Inciter/alecg.ci +++ b/src/Inciter/alecg.ci @@ -3,7 +3,7 @@ \file src/Inciter/alecg.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface for continuous Galerkin + ALE + RK \details Charm++ module interface file for the continuous Galerkin (CG) @@ -30,24 +30,34 @@ module alecg { //! [1D Charm++ chare array] //! [Entry methods] entry ALECG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ); + const std::vector< std::size_t >& triinpoel ); initnode void registerReducers(); entry void setup(); + entry void box( tk::real v ); entry void resizeComm(); - entry void init(); - entry void refine(); + entry void nodeNeighSetup(); + entry void start(); + entry void refine( const std::vector< tk::real >& l2ref ); entry [reductiontarget] void advance( tk::real newdt ); + entry void comdfnorm( + const std::unordered_map< tk::UnsMesh::Edge, + std::array< tk::real, 3 >, + tk::UnsMesh::Hash<2>, tk::UnsMesh::Eq<2> >& dfnorm ); + entry void comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ); entry void comlhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& L ); + entry void comChBndGrad( const std::vector< std::size_t >& gid, + const std::vector< std::vector< tk::real > >& G ); entry void comrhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& R ); entry void resized(); entry void lhs(); entry void step(); entry void next(); - entry void evalLB(); + entry void evalLB( int nrestart ); //! [Entry methods] // SDAG code follows. See http://charm.cs.illinois.edu/manuals/html/ @@ -55,18 +65,30 @@ module alecg { //! [DAG] entry void wait4lhs() { - when ownlhs_complete(), comlhs_complete() serial "lhs" { lhsmerge(); } } + when ownlhs_complete(), comlhs_complete(), + ownnorm_complete(), comnorm_complete(), + owndfnorm_complete(), comdfnorm_complete() serial "lhs" { + lhsmerge(); } } + + entry void wait4grad() { + when owngrad_complete(), comgrad_complete() serial "grad" { rhs(); } } entry void wait4rhs() { when ownrhs_complete(), comrhs_complete() serial "rhs" { solve(); } } - entry void wait4out() { - when lhs_complete(), resize_complete() serial "out" { out(); } } + entry void wait4stage() { + when lhs_complete(), resize_complete() serial "stage" { stage(); } } + entry void ownnorm_complete(); + entry void comnorm_complete(); + entry void owndfnorm_complete(); + entry void comdfnorm_complete(); entry void ownlhs_complete(); - entry void ownrhs_complete(); entry void comlhs_complete(); + entry void ownrhs_complete(); entry void comrhs_complete(); + entry void owngrad_complete(); + entry void comgrad_complete(); entry void lhs_complete(); entry void resize_complete(); //! [DAG] diff --git a/src/Inciter/dg.ci b/src/Inciter/dg.ci index 66e7fda43bb..3833330948e 100644 --- a/src/Inciter/dg.ci +++ b/src/Inciter/dg.ci @@ -3,7 +3,7 @@ \file src/Inciter/dg.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for the discontinuous Galerkin scheme \details Charm++ module interface file for the discontinuous Galerking @@ -32,26 +32,39 @@ module dg { entry void comfac( int fromch, const tk::UnsMesh::FaceSet& infaces ); entry void comGhost( int fromch, const GhostData& ghost ); entry void reqGhost(); + entry void nodeNeighSetup(); + entry void comEsup( int fromch, + const std::unordered_map< std::size_t, std::vector< std::size_t > >& + bndEsup, + const std::unordered_map< std::size_t, std::vector< tk::real > >& + nodeBoundaryCells ); initnode void registerReducers(); entry void setup(); + entry void box( tk::real v ); entry void comlim( int fromch, const std::vector< std::size_t >& tetid, const std::vector< std::vector< tk::real > >& u, const std::vector< std::vector< tk::real > >& prim, const std::vector< std::size_t >& ndof ); + entry void comreco( int fromch, + const std::vector< std::size_t >& tetid, + const std::vector< std::vector< tk::real > >& u, + const std::vector< std::vector< tk::real > >& prim, + const std::vector< std::size_t >& ndof ); entry void comsol( int fromch, std::size_t fromstage, const std::vector< std::size_t >& tetid, const std::vector< std::vector< tk::real > >& u, const std::vector< std::vector< tk::real > >& prim, const std::vector< std::size_t >& ndof ); - entry void refine(); + entry void refine( const std::vector< tk::real >& l2ref ); entry [reductiontarget] void solve( tk::real newdt ); entry void resized(); entry void lhs(); entry void step(); + entry void start(); entry void next(); - entry void evalLB(); + entry void evalLB( int nrestart ); // SDAG code follows. See http://charm.cs.illinois.edu/manuals/html/ // charm++/manual.html, Sec. "Structured Control Flow: Structured Dagger". @@ -64,9 +77,15 @@ module dg { when ownghost_complete(), reqghost_complete() serial "ghost" { sendGhost(); } } + entry void wait4esup() { + when ownesup_complete(), comesup_complete() serial "esup" + { adj(); } } + entry void wait4sol() { - when ownsol_complete(), comsol_complete() serial "sol" - { lim(); } } + when ownsol_complete(), comsol_complete() serial "sol" { reco(); } } + + entry void wait4reco() { + when ownreco_complete(), comreco_complete() serial "reco" { lim(); } } entry void wait4lim() { when ownlim_complete(), comlim_complete() serial "lim" { dt(); } } @@ -75,8 +94,12 @@ module dg { entry void comfac_complete(); entry void ownghost_complete(); entry void reqghost_complete(); + entry void ownesup_complete(); + entry void comesup_complete(); entry void ownsol_complete(); entry void comsol_complete(); + entry void ownreco_complete(); + entry void comreco_complete(); entry void ownlim_complete(); entry void comlim_complete(); } diff --git a/src/Inciter/diagcg.ci b/src/Inciter/diagcg.ci index a3c0a0117a3..96f5b1919f8 100644 --- a/src/Inciter/diagcg.ci +++ b/src/Inciter/diagcg.ci @@ -3,7 +3,7 @@ \file src/Inciter/diagcg.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface for continuous Galerkin FEM w/o matrix \details Charm++ module interface file for the continuous Galerkin @@ -25,15 +25,19 @@ module diagcg { array [1D] DiagCG { entry DiagCG( const CProxy_Discretization& disc, - const std::map< int, std::vector< std::size_t > >& /* bface */, + const std::map< int, std::vector< std::size_t > >& bface, const std::map< int, std::vector< std::size_t > >& bnode, - const std::vector< std::size_t >& /* triinpoel */ ); + const std::vector< std::size_t >& triinpoel ); initnode void registerReducers(); entry void setup(); + entry void box( tk::real v ); entry void resizeComm(); + entry void nodeNeighSetup(); entry void init(); - entry void refine(); + entry void refine( const std::vector< tk::real >& l2ref ); entry [reductiontarget] void advance( tk::real newdt ); + entry void comnorm( const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& innorm ); entry void comlhs( const std::vector< std::size_t >& gid, const std::vector< std::vector< tk::real > >& L ); entry void comrhs( const std::vector< std::size_t >& gid, @@ -43,21 +47,28 @@ module diagcg { entry void lhs(); entry void step(); entry void next(); - entry void evalLB(); + entry void evalLB( int nrestart ); // SDAG code follows. See http://charm.cs.illinois.edu/manuals/html/ // charm++/manual.html, Sec. "Structured Control Flow: Structured Dagger". + entry void wait4norm() { + when ownnorm_complete(), comnorm_complete() serial "normfinal" { + normfinal(); } } + entry void wait4lhs() { - when ownlhs_complete(), comlhs_complete() serial "lhs" { lhsmerge(); } } + when ownlhs_complete(), comlhs_complete() serial "lhsmerge" { + lhsmerge(); } } entry void wait4rhs() { when ownrhs_complete( tk::Fields& dif ), comrhs_complete() - serial "rhs" { solve( dif ); } } + serial "solve" { solve( dif ); } } entry void wait4out() { when lhs_complete(), resize_complete() serial "out" { out(); } } + entry void ownnorm_complete(); + entry void comnorm_complete(); entry void ownlhs_complete(); entry void comlhs_complete(); entry void lhs_complete(); diff --git a/src/Inciter/discretization.ci b/src/Inciter/discretization.ci index 0da02d862d7..c03af85727d 100644 --- a/src/Inciter/discretization.ci +++ b/src/Inciter/discretization.ci @@ -3,7 +3,7 @@ \file src/Inciter/discretization.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for common stuff to discretizations \details Charm++ module interface file for common stuff to discretizations. @@ -18,6 +18,7 @@ module discretization { extern module distfct; include "UnsMesh.hpp"; + include "CommMap.hpp"; namespace inciter { @@ -28,7 +29,7 @@ module discretization { const tk::CProxy_MeshWriter& meshwriter, const std::vector< std::size_t >& ginpoel, const tk::UnsMesh::CoordMap& coordmap, - const std::map< int, std::unordered_set< std::size_t > >& msum, + const tk::CommMaps& msum, int nchare ); initnode void registerReducers(); entry void vol(); diff --git a/src/Inciter/distfct.ci b/src/Inciter/distfct.ci index 98a1fe79144..cf3230d8aad 100644 --- a/src/Inciter/distfct.ci +++ b/src/Inciter/distfct.ci @@ -3,7 +3,7 @@ \file src/Inciter/distfct.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface for distributed flux-corrected transport \details Charm++ module interface file for asynchronous distributed @@ -15,6 +15,7 @@ module distfct { include "unordered_map"; + include "CommMap.hpp"; namespace inciter { @@ -23,7 +24,7 @@ module distfct { int nchare, std::size_t nu, std::size_t np, - const std::unordered_map< int, std::vector< std::size_t > >& msum, + const tk::NodeCommMap& nodeCommMap, const std::unordered_map< std::size_t, std::size_t >& bid, const std::unordered_map< std::size_t, std::size_t >& lid, const std::vector< std::size_t >& inpoel ); @@ -38,13 +39,19 @@ module distfct { // charm++/manual.html, Sec. "Structured Control Flow: Structured Dagger". entry void wait4fct() { - when ownaec_complete(), comaec_complete(), - ownalw_complete(), comalw_complete() serial "fct" { lim(); } }; + when ownaec_complete( + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir ), + comaec_complete(), + ownalw_complete(), + comalw_complete() serial "fct" { lim( bcdir ); } }; entry void wait4app() { when ownlim_complete(), comlim_complete() serial "app" { apply(); } }; - entry void ownaec_complete(); + entry void ownaec_complete( + const std::unordered_map< std::size_t, + std::vector< std::pair< bool, tk::real > > >& bcdir ); entry void ownalw_complete(); entry void ownlim_complete(); entry void comaec_complete(); diff --git a/src/Inciter/partitioner.ci b/src/Inciter/partitioner.ci index 9d658859879..c36f84bc4f3 100644 --- a/src/Inciter/partitioner.ci +++ b/src/Inciter/partitioner.ci @@ -3,7 +3,7 @@ \file src/Inciter/partitioner.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for the chare partitioner nodegroup \details Charm++ module interface file for the chare partitioner nodegroup diff --git a/src/Inciter/refiner.ci b/src/Inciter/refiner.ci index b335cd23e82..a8905877926 100644 --- a/src/Inciter/refiner.ci +++ b/src/Inciter/refiner.ci @@ -3,7 +3,7 @@ \file src/Inciter/refiner.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for mesh refiner \details Charm++ module interface file for mesh refiner. @@ -34,12 +34,15 @@ module refiner { const std::vector< std::size_t >& triinpoel, const std::map< int, std::vector< std::size_t > >& bnode, int nchare ); - initnode void registerReducers(); entry void start(); entry void reorder(); entry void correctref(); entry void next(); - entry [reductiontarget] void addBndEdges( CkReductionMsg* msg ); + entry void query( int fromch, const tk::UnsMesh::EdgeSet& edges ); + entry void recvquery(); + entry void response(); + entry void bnd( int fromch, const std::vector< int >& chares ); + entry void recvbnd(); entry void addRefBndEdges( int fromch, const AMR::EdgeData& en, diff --git a/src/Inciter/sorter.ci b/src/Inciter/sorter.ci index 97759191a19..53af3c68225 100644 --- a/src/Inciter/sorter.ci +++ b/src/Inciter/sorter.ci @@ -3,7 +3,7 @@ \file src/Inciter/sorter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for mesh sorter \details Charm++ module interface file for mesh sorter. @@ -14,6 +14,7 @@ module sorter { include "Callback.hpp"; + include "CommMap.hpp"; extern module meshwriter; @@ -32,13 +33,10 @@ module sorter { const std::map< int, std::vector< std::size_t > >& bnode, int nchare ); entry void setup( std::size_t npoin ); - entry void query( int fromch, - const std::vector< std::size_t >& nodes ); + entry void query( int fromch, const tk::AllCommMaps& bnd ); entry void recvquery(); entry void response(); - entry void bnd( int fromch, - const std::map< int, - std::unordered_set< std::size_t > >& msum ); + entry void bnd( int fromch, tk::CommMaps& msum ); entry void recvbnd(); entry void start(); entry void offset( int c, std::size_t u ); diff --git a/src/Inciter/transporter.ci b/src/Inciter/transporter.ci index 17c846d1fcc..047c8891dc1 100644 --- a/src/Inciter/transporter.ci +++ b/src/Inciter/transporter.ci @@ -3,7 +3,7 @@ \file src/Inciter/transporter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Transporter \details Charm++ module interface file for Transporter @@ -20,13 +20,14 @@ module transporter { chare [migratable] Transporter { entry Transporter(); - entry [reductiontarget] void load( std::size_t nelem, std::size_t npoin ); + entry [reductiontarget] void load( std::size_t nelem ); entry [reductiontarget] void distributed(); entry [reductiontarget] void refinserted( int error ); entry [reductiontarget] void discinserted(); - entry [reductiontarget] void disccreated(); + entry [reductiontarget] void disccreated( std::size_t npoin ); entry [reductiontarget] void workinserted(); - entry [reductiontarget] void edges(); + entry [reductiontarget] void queriedRef(); + entry [reductiontarget] void respondedRef(); entry [reductiontarget] void compatibility( int modified ); entry [reductiontarget] void matched( std::size_t nextra, std::size_t nref, @@ -39,6 +40,7 @@ module transporter { entry [reductiontarget] void refined( std::size_t nelem, std::size_t npoin ); entry [reductiontarget] void resized(); + entry [reductiontarget] void startEsup(); entry [reductiontarget] void queried(); entry [reductiontarget] void responded(); entry [reductiontarget] void comfinal( int initial ); @@ -51,10 +53,11 @@ module transporter { tk::real d2, tk::real d3, tk::real d4, tk::real d5 ); entry [reductiontarget] void pdfstat( CkReductionMsg* msg ); + entry [reductiontarget] void boxvol( tk::real v ); entry [reductiontarget] void diagnostics( CkReductionMsg* msg ); entry void resume(); - entry [reductiontarget] void checkpoint( tk::real it, tk::real t ); - entry [reductiontarget] void finish( tk::real it, tk::real t ); + entry [reductiontarget] void checkpoint( int finished ); + entry [reductiontarget] void finish(); entry void pepartitioned(); entry void pedistributed(); diff --git a/src/LoadBalance/LinearMap.cpp b/src/LoadBalance/LinearMap.cpp index c3bf411d4d3..15c9cd44f20 100644 --- a/src/LoadBalance/LinearMap.cpp +++ b/src/LoadBalance/LinearMap.cpp @@ -3,7 +3,7 @@ \file src/LoadBalance/LinearMap.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Advanced Charm++ array creation with a map in a linear fashion \details Advanced Charm++ array creation refers to various ways arrays can diff --git a/src/LoadBalance/LinearMap.hpp b/src/LoadBalance/LinearMap.hpp index ea46b41035c..95503c90b2d 100644 --- a/src/LoadBalance/LinearMap.hpp +++ b/src/LoadBalance/LinearMap.hpp @@ -3,7 +3,7 @@ \file src/LoadBalance/LinearMap.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Advanced Charm++ array creation with a map in a linear fashion \details Advanced Charm++ array creation refers to various ways arrays can diff --git a/src/LoadBalance/UnsMeshMap.cpp b/src/LoadBalance/UnsMeshMap.cpp index 28cc9f59ef2..9ab59e7e5d2 100644 --- a/src/LoadBalance/UnsMeshMap.cpp +++ b/src/LoadBalance/UnsMeshMap.cpp @@ -3,7 +3,7 @@ \file src/LoadBalance/UnsMeshMap.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Advanced Charm++ array creation with a map using an unstructured grid diff --git a/src/LoadBalance/UnsMeshMap.hpp b/src/LoadBalance/UnsMeshMap.hpp index dc9151737bf..ec65510398f 100644 --- a/src/LoadBalance/UnsMeshMap.hpp +++ b/src/LoadBalance/UnsMeshMap.hpp @@ -3,7 +3,7 @@ \file src/LoadBalance/UnsMeshMap.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Advanced Charm++ array creation with a map using an unstructured grid diff --git a/src/LoadBalance/ZoltanInterOp.cpp b/src/LoadBalance/ZoltanInterOp.cpp index 373d8ec6d2f..384b2babc4c 100644 --- a/src/LoadBalance/ZoltanInterOp.cpp +++ b/src/LoadBalance/ZoltanInterOp.cpp @@ -3,7 +3,7 @@ \file src/LoadBalance/ZoltanInterOp.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interoperation with the Zoltan library \details Interoperation with the Zoltan library, used for static mesh graph diff --git a/src/LoadBalance/ZoltanInterOp.hpp b/src/LoadBalance/ZoltanInterOp.hpp index 1a00be9e495..5bfa0cd196e 100644 --- a/src/LoadBalance/ZoltanInterOp.hpp +++ b/src/LoadBalance/ZoltanInterOp.hpp @@ -3,7 +3,7 @@ \file src/LoadBalance/ZoltanInterOp.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interoperation with the Zoltan library \details Interoperation with the Zoltan library, used for static mesh diff --git a/src/LoadBalance/linearmap.ci b/src/LoadBalance/linearmap.ci index c2c6785849f..4c98863a9b2 100644 --- a/src/LoadBalance/linearmap.ci +++ b/src/LoadBalance/linearmap.ci @@ -3,7 +3,7 @@ \file src/LoadBalance/linearmap.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for linear array creation \details Charm++ module interface file for linear array creation. See diff --git a/src/LoadBalance/unsmeshmap.ci b/src/LoadBalance/unsmeshmap.ci index d800c55cdc5..82dedc81b8e 100644 --- a/src/LoadBalance/unsmeshmap.ci +++ b/src/LoadBalance/unsmeshmap.ci @@ -3,7 +3,7 @@ \file src/LoadBalance/unsmeshmap.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for unstructured-mesh-aware array creation diff --git a/src/Main/FileConv.cpp b/src/Main/FileConv.cpp index 7aecd8c732f..1f5db98d106 100644 --- a/src/Main/FileConv.cpp +++ b/src/Main/FileConv.cpp @@ -3,7 +3,7 @@ \file src/Main/FileConv.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief File converter Charm++ main chare \details File converter Charm++ main chare. This file contains the @@ -43,7 +43,10 @@ CProxy_Main mainProxy; tk::CProxy_ChareStateCollector stateProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -77,15 +80,14 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create FileConv driver m_driver( tk::Main< fileconv::FileConvDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::FILECONV, tk::fileconv_executable(), - m_print ) ), + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >() ) ), m_timer(1), // Start new timer measuring the total runtime m_timestamp() { @@ -113,8 +115,10 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize() { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); } //! Entry method triggered when quiescence is detected @@ -127,7 +131,10 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + msg ); } //! Add a time stamp contributing to final timers output @@ -144,7 +151,6 @@ class Main : public CBase_Main { int m_signal; //!< Used to set signal handlers fileconv::ctr::CmdLine m_cmdline; //!< Command line fileconv::CmdLineParser m_cmdParser; //!< Command line parser - tk::Print m_print; //!< Pretty printer fileconv::FileConvDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers diff --git a/src/Main/FileConvDriver.cpp b/src/Main/FileConvDriver.cpp index b6a46329316..43df7c9ef0f 100644 --- a/src/Main/FileConvDriver.cpp +++ b/src/Main/FileConvDriver.cpp @@ -3,20 +3,19 @@ \file src/Main/FileConvDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief File converter driver \details File converter driver. */ // ***************************************************************************** -#include -#include - #include "Types.hpp" #include "Tags.hpp" #include "FileConvDriver.hpp" #include "FileConvWriter.hpp" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" #include "NoWarning/fileconv.decl.h" @@ -24,8 +23,7 @@ using fileconv::FileConvDriver; extern CProxy_Main mainProxy; -FileConvDriver::FileConvDriver( const tk::Print&, - const ctr::CmdLine& cmdline ) +FileConvDriver::FileConvDriver( const ctr::CmdLine& cmdline, int ) : m_input(), m_output() // ***************************************************************************** // Constructor @@ -37,6 +35,11 @@ FileConvDriver::FileConvDriver( const tk::Print&, m_input = cmdline.get< tag::io, tag::input >(); // Save output file name m_output = cmdline.get< tag::io, tag::output >(); + + // Output command line object to file + auto logfilename = tk::fileconv_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "cmdline", cmdline ); } void diff --git a/src/Main/FileConvDriver.hpp b/src/Main/FileConvDriver.hpp index a1a91c6d5c4..9d08d26eb49 100644 --- a/src/Main/FileConvDriver.hpp +++ b/src/Main/FileConvDriver.hpp @@ -3,7 +3,7 @@ \file src/Main/FileConvDriver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief File converter driver \details File converter driver. @@ -16,8 +16,6 @@ #include "FileConv/CmdLine/CmdLine.hpp" -namespace tk { class Print; } - //! File converter declarations and definitions namespace fileconv { @@ -26,14 +24,12 @@ class FileConvDriver { public: //! Constructor - explicit FileConvDriver( const tk::Print&, - const ctr::CmdLine& cmdline ); + explicit FileConvDriver( const ctr::CmdLine& cmdline, int ); //! Execute void execute() const; private: - std::string m_input; //!< Input file name std::string m_output; //!< Output file name }; diff --git a/src/Main/Inciter.cmake b/src/Main/Inciter.cmake index 6db82b88838..14ffb37213d 100644 --- a/src/Main/Inciter.cmake +++ b/src/Main/Inciter.cmake @@ -48,12 +48,13 @@ target_link_libraries(${INCITER_EXECUTABLE} ${AEC_LIBRARIES} # only for static link ${BACKWARD_LIBRARIES} ${OMEGA_H_LIBRARIES} + ${LUA_LIBRARIES} ${LIBCXX_LIBRARIES} # only for static link with libc++ ${LIBCXXABI_LIBRARIES}) # only for static link with libc++ # Add custom dependencies for Inciter's main Charm++ module addCharmModule( "inciter" "${INCITER_EXECUTABLE}" ) -addCharmModule( "lbswitch" "${INCITER_EXECUTABLE}" ) +addCharmModule( "lbswitch" "inciterCharmModule" ) add_dependencies( "inciterCharmModule" "charestatecollectorCharmModule" ) add_dependencies( "inciterCharmModule" "meshwriterCharmModule" ) diff --git a/src/Main/Inciter.cpp b/src/Main/Inciter.cpp index 9990c735ded..787bc5c0ad5 100644 --- a/src/Main/Inciter.cpp +++ b/src/Main/Inciter.cpp @@ -3,7 +3,7 @@ \file src/Main/Inciter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter, computational shock hydrodynamics tool, Charm++ main chare. @@ -52,7 +52,10 @@ tk::CProxy_ChareStateCollector stateProxy; tk::CProxy_LBSwitch LBSwitchProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -181,15 +184,16 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create Inciter driver m_driver( tk::Main< inciter::InciterDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::INCITER, tk::inciter_executable(), - m_print ) ), + inciter::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::screen >(), + inciter::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::nrestart >() ) ), // Start new timer measuring the total runtime m_timer(1), m_timestamp() @@ -217,17 +221,21 @@ class Main : public CBase_Main { reinterpret_cast(msg)->argv, tk::Print(), m_cmdline ), - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), m_driver( tk::Main< inciter::InciterDriver > ( reinterpret_cast(msg)->argc, reinterpret_cast(msg)->argv, m_cmdline, tk::HeaderType::INCITER, tk::inciter_executable(), - m_print ) ), + inciter::g_inputdeck_defaults.get< tag::cmd, + tag::io, tag::screen >(), + inciter::g_inputdeck.get< tag::cmd, + tag::io, tag::nrestart >()+1 ) ), m_timer(1), m_timestamp() { + // increase number of restarts (available for Transporter on PE 0) + ++inciter::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(); g_trace = m_cmdline.get< tag::trace >(); tk::MainCtor( mainProxy, thisProxy, m_timer, m_cmdline, CkCallback( CkIndex_Main::quiescence(), thisProxy ) ); @@ -243,8 +251,10 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize() { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + inciter::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + inciter::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); } //! Entry method triggered when quiescence is detected @@ -257,7 +267,10 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + inciter::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + inciter::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + msg ); } /** @name Charm++ pack/unpack serializer member functions */ @@ -279,7 +292,6 @@ class Main : public CBase_Main { int m_signal; //!< Used to set signal handlers inciter::ctr::CmdLine m_cmdline; //!< Command line inciter::CmdLineParser m_cmdParser; //!< Command line parser - inciter::InciterPrint m_print; //!< Pretty printer inciter::InciterDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers //! Time stamps in h:m:s with labels diff --git a/src/Main/InciterDriver.cpp b/src/Main/InciterDriver.cpp index 8097553b99e..93ce68461ee 100644 --- a/src/Main/InciterDriver.cpp +++ b/src/Main/InciterDriver.cpp @@ -3,20 +3,20 @@ \file src/Main/InciterDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter driver \details Inciter driver. */ // ***************************************************************************** -#include - #include "InciterPrint.hpp" #include "InciterDriver.hpp" #include "Inciter/InputDeck/Parser.hpp" #include "Inciter/CmdLine/CmdLine.hpp" #include "Inciter/InputDeck/InputDeck.hpp" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" #include "NoWarning/transporter.decl.h" @@ -29,18 +29,23 @@ extern ctr::InputDeck g_inputdeck_defaults; using inciter::InciterDriver; -InciterDriver::InciterDriver( const InciterPrint& print, - const ctr::CmdLine& cmdline ) : - m_print( print ) +InciterDriver::InciterDriver( const ctr::CmdLine& cmdline, int nrestart ) // ***************************************************************************** // Constructor -//! \param[in] print Pretty printer //! \param[in] cmdline Command line object storing data parsed from the command //! line arguments +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { // All global-scope data to be migrated to all PEs initialized here (if any) + // Create pretty printer + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + InciterPrint print( cmdline.logname( def, nrestart ), + cmdline.get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + print.item( "Non-blocking migration, -" + *kw::nonblocking::alias(), cmdline.get< tag::nonblocking >() ? "on" : "off" ); print.item( "Benchmark mode, -" + *kw::benchmark::alias(), @@ -63,11 +68,16 @@ InciterDriver::InciterDriver( const InciterPrint& print, std::to_string(cmdline.get< tag::rsfreq >()) ); // Parse input deck into g_inputdeck - m_print.item( "Control file", cmdline.get< tag::io, tag::control >() ); + print.item( "Control file", cmdline.get< tag::io, tag::control >() ); g_inputdeck = g_inputdeck_defaults; // overwrite with defaults if restarted - InputDeckParser inputdeckParser( m_print, cmdline, g_inputdeck ); - m_print.item( "Parsed control file", "success" ); - m_print.endpart(); + InputDeckParser inputdeckParser( print, cmdline, g_inputdeck ); + print.item( "Parsed control file", "success" ); + print.endpart(); + + // Output command line object to file + auto logfilename = tk::inciter_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "inputdeck", g_inputdeck ); } void diff --git a/src/Main/InciterDriver.hpp b/src/Main/InciterDriver.hpp index 6a30083d4e5..cf7d5f56009 100644 --- a/src/Main/InciterDriver.hpp +++ b/src/Main/InciterDriver.hpp @@ -3,7 +3,7 @@ \file src/Main/InciterDriver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter driver \details Inciter driver. @@ -23,14 +23,10 @@ class InciterDriver { public: //! Constructor - explicit InciterDriver( const InciterPrint& print, - const ctr::CmdLine& cmdline ); + explicit InciterDriver( const ctr::CmdLine& cmdline, int nrestart ); //! Execute driver void execute() const; - - private: - const InciterPrint& m_print; //!< Pretty printer }; } // inciter:: diff --git a/src/Main/InciterPrint.cpp b/src/Main/InciterPrint.cpp index 988873f4799..0a9d20b0e4a 100644 --- a/src/Main/InciterPrint.cpp +++ b/src/Main/InciterPrint.cpp @@ -3,7 +3,7 @@ \file src/Main/InciterPrint.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter-specific pretty printer functionality \details Inciter-specific pretty printer functionality. @@ -12,6 +12,8 @@ #include +#include + #include "CGPDE.hpp" #include "InciterPrint.hpp" @@ -66,7 +68,7 @@ InciterPrint::pdes( const std::string& t, const std::vector< std::vector< } void InciterPrint::refvar( const std::vector< std::string >& rvar, - const std::vector< std::size_t >& refidx ) + const std::vector< std::size_t >& refidx ) const // ***************************************************************************** // Print mesh refinement variables and their indices in the unknown vector //! \param[in] rvar Refinement variable name list @@ -85,7 +87,7 @@ void InciterPrint::refvar( const std::vector< std::string >& rvar, item( name, c ); } -void InciterPrint::edgeref( const std::vector< std::size_t >& edgenodes ) +void InciterPrint::edgeref( const std::vector< std::size_t >& edgenodes ) const // ***************************************************************************** // Print initial mesh refinement edge-node pairs // ***************************************************************************** @@ -99,7 +101,7 @@ void InciterPrint::edgeref( const std::vector< std::size_t >& edgenodes ) item( name, c ); } -void InciterPrint::eqlegend() +void InciterPrint::eqlegend() const // ***************************************************************************** // Print PDE factory legend // ***************************************************************************** diff --git a/src/Main/InciterPrint.hpp b/src/Main/InciterPrint.hpp index 16394a72acc..b11ab662b0f 100644 --- a/src/Main/InciterPrint.hpp +++ b/src/Main/InciterPrint.hpp @@ -3,7 +3,7 @@ \file src/Main/InciterPrint.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Inciter-specific pretty printer functionality \details Inciter-specific pretty printer functionality. @@ -15,8 +15,6 @@ #include #include -#include - #include "NoWarning/format.hpp" #include "Print.hpp" @@ -35,12 +33,17 @@ class InciterPrint : public tk::Print { public: //! Constructor + //! \param[in] screen Screen output filename //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream //! \see tk::RNGPrint::RNGPrint and tk::Print::Print - explicit InciterPrint( std::ostream& str = std::clog, + explicit InciterPrint( const std::string& screen, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, std::ostream& qstr = std::cout ) : - Print( str, qstr ) {} + Print( screen, str, mode, qstr ) {} //! Print control option: 'group : option' template< typename Option, typename... tags > @@ -52,6 +55,8 @@ class InciterPrint : public tk::Print { } //! Print list of codes of vector-valued option + //! \tparam Option Option type + //! \tparam T Enum type for option type //! \param[in] v Vector of option types (enums) whose code vector to print template< typename Option, typename T > void ItemVec( const std::vector< T >& v ) const { @@ -61,6 +66,13 @@ class InciterPrint : public tk::Print { item( opt.group(), codes ); } + //! Print legend for list of codes of vector-valued option + //! \tparam Option Option type + template< typename Option > + void ItemVecLegend() const { + brigand::for_each< typename Option::keywords >( echoPolicies(this) ); + } + // Helper class for compact output of PDE policies class Policies { public: @@ -96,7 +108,7 @@ class InciterPrint : public tk::Print { }; //! Print PDE factory legend - void eqlegend(); + void eqlegend() const; //! Print equation list with policies //! \param[in] t Section title @@ -137,10 +149,10 @@ class InciterPrint : public tk::Print { //! Print mesh refinement variables and their indices in the unknown vector void refvar( const std::vector< std::string >& rvar, - const std::vector< std::size_t >& refidx ); + const std::vector< std::size_t >& refidx ) const; //! Print initial mesh refinement edge-node pairs - void edgeref( const std::vector< std::size_t >& edgenodes ); + void edgeref( const std::vector< std::size_t >& edgenodes ) const; private: //! Return partial differential equation name diff --git a/src/Main/Init.cpp b/src/Main/Init.cpp index 7fdd57cf513..059106ba670 100644 --- a/src/Main/Init.cpp +++ b/src/Main/Init.cpp @@ -3,7 +3,7 @@ \file src/Main/Init.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Common initialization routines for main() functions for multiple exectuables @@ -119,7 +119,8 @@ void echoBuildEnv( const Print& print, const std::string& executable ) } void echoRunEnv( const Print& print, int argc, char** argv, - bool verbose, bool quiescence, bool charestate, bool trace ) + bool verbose, bool quiescence, bool charestate, bool trace, + const std::string& screen_log, const std::string& input_log ) // ***************************************************************************** // Echo runtime environment //! \param[in] print Pretty printer @@ -129,6 +130,8 @@ void echoRunEnv( const Print& print, int argc, char** argv, //! \param[in] quiescence True if quiescence detection is enabled //! \param[in] charestate True if chare state collection is enabled //! \param[in] trace True if call and stack trace output is enabled +//! \param[in] screen_log Screen output log file name +//! \param[in] input_log Input log file name // ***************************************************************************** { print.section( "Run-time environment" ); @@ -149,6 +152,8 @@ void echoRunEnv( const Print& print, int argc, char** argv, print.item( "Screen output, -" + *kw::verbose::alias(), verbose ? "verbose" : "quiet" ); + print.item( "Screen output log file, -" + *kw::screen::alias(), screen_log ); + print.item( "Input log file", input_log ); print.item( "Number of processing elements", std::to_string( CkNumPes() ) + " (" + std::to_string( CkNumNodes() ) + 'x' + diff --git a/src/Main/Init.hpp b/src/Main/Init.hpp index 94652df436b..4ae531fb7fb 100644 --- a/src/Main/Init.hpp +++ b/src/Main/Init.hpp @@ -3,7 +3,7 @@ \file src/Main/Init.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Common initialization routines for main() functions for multiple exectuables @@ -47,7 +47,8 @@ void echoBuildEnv( const Print& print, const std::string& executable ); //! Echo runtime environment void echoRunEnv( const Print& print, int argc, char** argv, - bool verbose, bool quiescence, bool charestate, bool trace ); + bool verbose, bool quiescence, bool charestate, bool trace, + const std::string& screen_log, const std::string& input_log ); //! \brief Generic Main() used for all executables for code-reuse and a uniform //! output @@ -65,16 +66,23 @@ void echoRunEnv( const Print& print, int argc, char** argv, //! \param[in] header Header type enum indicating which executable header to //! print //! \param[in] executable Name of the executable -//! \param[in] print Pretty printer to use +//! \param[in] def Default log file name +//! \param[in] nrestart Number of times restarted //! \return Instantiated driver object which can then be used to execute() //! whatever it is intended to drive -template< class Driver, class Printer, class CmdLine > +template< class Driver, class CmdLine > Driver Main( int argc, char* argv[], const CmdLine& cmdline, HeaderType header, const std::string& executable, - const Printer& print ) + const std::string& def, + int nrestart ) { + // Create pretty printer + tk::Print + print( cmdline.logname( def, nrestart ), + cmdline.template get< tag::verbose >() ? std::cout : std::clog ); + // Echo program header echoHeader( print, header ); @@ -86,10 +94,12 @@ Driver Main( int argc, char* argv[], echoRunEnv( print, argc, argv, cmdline.template get< tag::verbose >(), cmdline.template get< tag::quiescence >(), cmdline.template get< tag::chare >(), - cmdline.template get< tag::trace >() ); + cmdline.template get< tag::trace >(), + cmdline.logname( def, nrestart ), + executable + "_input.log" ); // Create and return driver - return Driver( print, cmdline ); + return Driver( cmdline, nrestart ); } //! Generic Main Charm++ module constructor for all executables @@ -125,12 +135,14 @@ void MainCtor( MainProxy& mp, //! \tparam CmdLine Executable-specific tagged tuple storing the rusult of the //! command line parser //! \param[in] cmdline Command line grammar stack for the executable -//! \param[in] print Pretty printer +//! \param[in] def Default log file name +//! \param[in] nrestart Number of times restarted //! \param[in] msg Charm++ reduction message containing the chare state //! aggregated from all PEs template< class CmdLine > void dumpstate( const CmdLine& cmdline, - const tk::Print& print, + const std::string& def, + int nrestart, CkReductionMsg* msg ) { try { @@ -148,8 +160,12 @@ void dumpstate( const CmdLine& cmdline, // pretty-print collected chare state (only if user requested it or // quiescence was detected which is and indication of a logic error) - if (cmdline.template get< tag::chare >() || error) + if (cmdline.template get< tag::chare >() || error) { + tk::Print print( cmdline.logname( def, nrestart ), + cmdline.template get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); print.charestate( state ); + } // exit differently depending on how we were called if (error) @@ -163,37 +179,44 @@ void dumpstate( const CmdLine& cmdline, //! Generic finalize function for different executables //! \param[in] cmdline Command line grammar stack for the executable //! \param[in] timer Vector of timers, held by the main chare -//! \param[in] print Pretty printer //! \param[in,out] state Chare state collector proxy //! \param[in,out] timestamp Vector of time stamps in h:m:s with labels //! \param[in] dumpstateTarget Pre-created Charm++ callback to use as the //! target function for dumping chare state +//! \param[in] def Default log file name +//! \param[in] nrestart Number of times restarted //! \param[in] clean True if we should exit with a zero exit code, false to //! exit with a nonzero exit code template< class CmdLine > void finalize( const CmdLine& cmdline, const std::vector< tk::Timer >& timer, - const tk::Print& print, tk::CProxy_ChareStateCollector& state, std::vector< std::pair< std::string, tk::Timer::Watch > >& timestamp, + const std::string& def, + int nrestart, const CkCallback& dumpstateTarget, bool clean = true ) { try { - if (!timer.empty()) { - timestamp.emplace_back( "Total runtime", timer[0].hms() ); - print.time( "Timers (h:m:s)", timestamp ); - print.endpart(); - // if quiescence detection is on or user requested it, collect chare state - if ( cmdline.template get< tag::chare >() || - cmdline.template get< tag::quiescence >() ) { - state.collect( /* error = */ false, dumpstateTarget ); - } - // tell the Charm++ runtime system to exit with zero exit code - if (clean) CkExit(); else CkAbort("Failed"); - } + if (!timer.empty()) { + timestamp.emplace_back( "Total runtime", timer[0].hms() ); + tk::Print print( cmdline.logname( def, nrestart ), + cmdline.template get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + print.time( "Timers (h:m:s)", timestamp ); + print.endpart(); + } + + // if quiescence detection is on or user requested it, collect chare state + if ( cmdline.template get< tag::chare >() || + cmdline.template get< tag::quiescence >() ) { + state.collect( /* error = */ false, dumpstateTarget ); + } + + // tell the Charm++ runtime system to exit with the correct exit code + if (clean) CkExit(); else CkAbort("Failed"); } catch (...) { tk::processExceptionCharm(); } } diff --git a/src/Main/LBSwitch.cpp b/src/Main/LBSwitch.cpp index a520ed535d3..4e80524ddec 100644 --- a/src/Main/LBSwitch.cpp +++ b/src/Main/LBSwitch.cpp @@ -3,7 +3,7 @@ \file src/Main/LBSwitch.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare group for switching on/off load balancing \details Charm++ chare group for switching on/off load balancing. @@ -17,16 +17,12 @@ using tk::LBSwitch; -LBSwitch::LBSwitch( bool verbose ) +LBSwitch::LBSwitch() // ***************************************************************************** // Constructor: turn on automatic load balancing -//! \param[in] verbose True if user selected verbose mode // ***************************************************************************** { TurnManualLBOff(); - - if (CkMyPe() == 0) - Print( verbose ? std::cout : std::clog ).diag( "Load balancing on" ); } void @@ -42,8 +38,7 @@ LBSwitch::off() { TurnManualLBOn(); - if (CkMyPe() == 0) - Print( std::cout ).diag( "Load balancing off" ); + if (CkMyPe() == 0) Print( "", std::cout ).diag( "Load balancing off" ); } #include "NoWarning/lbswitch.def.h" diff --git a/src/Main/LBSwitch.hpp b/src/Main/LBSwitch.hpp index 64d9c2dc6b2..537302bbc82 100644 --- a/src/Main/LBSwitch.hpp +++ b/src/Main/LBSwitch.hpp @@ -3,7 +3,7 @@ \file src/Main/LBSwitch.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ chare group for switching on/off load balancing \details Charm++ chare group for switching on/off load balancing. @@ -25,7 +25,7 @@ class LBSwitch : public CBase_LBSwitch { public: //! Constructor: turn on automatic load balancing - explicit LBSwitch( bool verbose ); + explicit LBSwitch(); #if defined(__clang__) #pragma clang diagnostic push diff --git a/src/Main/MeshConv.cpp b/src/Main/MeshConv.cpp index 0b955967b51..3bca6ddb959 100644 --- a/src/Main/MeshConv.cpp +++ b/src/Main/MeshConv.cpp @@ -3,7 +3,7 @@ \file src/Main/MeshConv.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh file converter Charm++ main chare \details Mesh file converter Charm++ main chare. This file contains the @@ -43,7 +43,10 @@ CProxy_Main mainProxy; tk::CProxy_ChareStateCollector stateProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -77,15 +80,14 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create MeshConv driver m_driver( tk::Main< meshconv::MeshConvDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::MESHCONV, tk::meshconv_executable(), - m_print ) ), + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >() ) ), m_timer(1), // Start new timer measuring the total runtime m_timestamp() { @@ -113,8 +115,10 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize() { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); } //! Add a time stamp contributing to final timers output @@ -137,14 +141,16 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + msg ); } private: int m_signal; //!< Used to set signal handlers meshconv::ctr::CmdLine m_cmdline; //!< Command line meshconv::CmdLineParser m_cmdParser; //!< Command line parser - tk::Print m_print; //!< Pretty printer meshconv::MeshConvDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers diff --git a/src/Main/MeshConvDriver.cpp b/src/Main/MeshConvDriver.cpp index 30c83dd2df5..8a85516e4bf 100644 --- a/src/Main/MeshConvDriver.cpp +++ b/src/Main/MeshConvDriver.cpp @@ -3,19 +3,19 @@ \file src/Main/MeshConvDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh converter driver \details Mesh converter driver. */ // ***************************************************************************** -#include - #include "Types.hpp" #include "Tags.hpp" #include "MeshConvDriver.hpp" #include "MeshFactory.hpp" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" #include "NoWarning/meshconv.decl.h" @@ -23,15 +23,16 @@ using meshconv::MeshConvDriver; extern CProxy_Main mainProxy; -MeshConvDriver::MeshConvDriver( const tk::Print& print, - const ctr::CmdLine& cmdline ) - : m_print( print ), - m_reorder( cmdline.get< tag::reorder >() ), - m_input(), - m_output() +MeshConvDriver::MeshConvDriver( const ctr::CmdLine& cmdline, int ) : + m_print( cmdline.logname( cmdline.get< tag::io, tag::screen >(), + cmdline.get< tag::io, tag::nrestart >() ), + cmdline.get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ), + m_reorder( cmdline.get< tag::reorder >() ), + m_input(), + m_output() // ***************************************************************************** // Constructor -//! \param[in] print Pretty printer //! \param[in] cmdline Command line object storing data parsed from the command //! line arguments // ***************************************************************************** @@ -40,6 +41,11 @@ MeshConvDriver::MeshConvDriver( const tk::Print& print, m_input = cmdline.get< tag::io, tag::input >(); // Save output file name m_output = cmdline.get< tag::io, tag::output >(); + + // Output command line object to file + auto logfilename = tk::meshconv_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "cmdline", cmdline ); } void @@ -50,15 +56,130 @@ MeshConvDriver::execute() const { m_print.endsubsection(); - std::vector< std::pair< std::string, tk::real > > times( 1 ); + std::vector< std::pair< std::string, tk::real > > times; + + // If input filename contains a '%', we aggregate multiple files + if (m_input.find('%') == std::string::npos) { + + // Convert single mesh + + times.push_back( {} ); + auto mesh = tk::readUnsMesh( m_print, m_input, times[0] ); + auto wtimes = tk::writeUnsMesh( m_print, m_output, mesh, m_reorder ); + times.insert( end(times), begin(wtimes), end(wtimes) ); + + } else { + + // Aggregate multiple meshes containing surface output + + // Find a '%' sign in the input filename, and assuming a syntax of + // '..%', find '' as the number of files to aggregate. + auto percent_pos = m_input.find( '%' ); + auto input_basename = m_input.substr( 0, percent_pos ); + auto dot1 = m_input.find_last_of( '.', percent_pos ); + auto dot2 = m_input.find_last_of( '.', dot1-1 ); + auto nfile_str = m_input.substr( dot2+1, dot1-dot2-1 ); + std::stringstream ss( nfile_str ); + if (nfile_str.empty()) + Throw( "The percent sign must be followed by an " + "integer, the number of files to aggregate" ); + std::size_t nfile; + ss >> nfile; + m_print.diag( "Aggregating " + std::to_string(nfile) + + " files from base filename: '" + input_basename +'\'' ); + + const auto eps = std::numeric_limits< tk::real >::epsilon(); + + // Lambda to echo some diagnostics on the mesh being processes to screen + auto diag = [&]( const std::string& name, const tk::UnsMesh& mesh ){ + m_print.diag( name + ": ntri: " + + std::to_string(mesh.triinpoel().size()/3) + + ", ntime: " + std::to_string(mesh.vartimes().size()) + + (!mesh.nodevars().empty() ? ", nvar: " + + std::to_string(mesh.nodevars()[0].size()) : "") + + (!mesh.nodevars()[0].empty() ? ", npoin: " + + std::to_string(mesh.nodevars()[0][0].size()) : "") ); + }; + + // Output-mesh containers, will store aggregated surface(s) and field output + tk::UnsMesh::Coords coords; + auto& X = coords[0]; + auto& Y = coords[1]; + auto& Z = coords[2]; + std::size_t npoin = 0; + std::vector< std::size_t > otriinpoel; + std::vector< std::string > nodevarnames; + std::vector< tk::real > vartimes; + std::vector< std::vector< std::vector< tk::real > > > nodevars; + // Counter for number of non-empty meshes processed + std::size_t k = 0; + for (std::size_t m=0; m +#include "Print.hpp" #include "MeshConv/CmdLine/CmdLine.hpp" -namespace tk { class Print; } - //! Mesh converter declarations and definitions namespace meshconv { @@ -26,14 +25,13 @@ class MeshConvDriver { public: //! Constructor - explicit MeshConvDriver( const tk::Print& print, - const ctr::CmdLine& cmdline ); + explicit MeshConvDriver( const ctr::CmdLine& cmdline, int ); //! Execute void execute() const; private: - const tk::Print& m_print; //!< Pretty printer + const tk::Print m_print; //!< Pretty printer const bool m_reorder; //!< Whether to also reorder mesh nodes std::string m_input; //!< Input file name std::string m_output; //!< Output file name diff --git a/src/Main/QuinoaConfig.cpp.in b/src/Main/QuinoaConfig.cpp.in index 2e4d2517a1b..7d1e4f97dda 100644 --- a/src/Main/QuinoaConfig.cpp.in +++ b/src/Main/QuinoaConfig.cpp.in @@ -3,7 +3,7 @@ \file src/Main/QuinoaConfig.C \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Quinoa configuration values imported from cmake \details Quinoa configuration values inported from cmake. As opposed to diff --git a/src/Main/QuinoaConfig.hpp.in b/src/Main/QuinoaConfig.hpp.in index 0d86aa2144b..020a7e06fbe 100644 --- a/src/Main/QuinoaConfig.hpp.in +++ b/src/Main/QuinoaConfig.hpp.in @@ -3,7 +3,7 @@ \file src/Main/QuinoaConfig.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Quinoa configuration macros imported from cmake \details Quinoa configuration macros inported from cmake. As opposed to diff --git a/src/Main/RNGPrint.cpp b/src/Main/RNGPrint.cpp index 135494f602d..6a7ce77a7ac 100644 --- a/src/Main/RNGPrint.cpp +++ b/src/Main/RNGPrint.cpp @@ -3,7 +3,7 @@ \file src/Main/RNGPrint.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Pretty printer base for pretty printers supporting RNGs \details Pretty printer base for pretty printers supporting RNGs. diff --git a/src/Main/RNGPrint.hpp b/src/Main/RNGPrint.hpp index 13a931e2ac3..5b1e4a26d3d 100644 --- a/src/Main/RNGPrint.hpp +++ b/src/Main/RNGPrint.hpp @@ -3,7 +3,7 @@ \file src/Main/RNGPrint.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Pretty printer base for pretty printers supporting RNGs \details Pretty printer base for pretty printers supporting RNGs. @@ -27,11 +27,17 @@ class RNGPrint : public Print { public: //! Constructor + //! \param[in] screen Screen output filename //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream //! \see tk::Print::Print - explicit RNGPrint( std::ostream& str = std::clog, - std::ostream& qstr = std::cout ) : Print( str, qstr ) {} + explicit RNGPrint( const std::string& screen, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, + std::ostream& qstr = std::cout ) + : Print( screen, str, mode, qstr ) {} #ifdef HAS_MKL //! Print all fields of MKL RNG parameters diff --git a/src/Main/RNGTest.cpp b/src/Main/RNGTest.cpp index 5bc980b17d8..84ac4a6846f 100644 --- a/src/Main/RNGTest.cpp +++ b/src/Main/RNGTest.cpp @@ -3,7 +3,7 @@ \file src/Main/RNGTest.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest's random number generator test suite's Charm++ main chare. \details RNGTest's random number generator test suite's Charm++ main chare. @@ -53,7 +53,10 @@ CProxy_Main mainProxy; tk::CProxy_ChareStateCollector stateProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -211,15 +214,16 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create RNGTest driver m_driver( tk::Main< rngtest::RNGTestDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::RNGTEST, tk::rngtest_executable(), - m_print ) ), + rngtest::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::screen >(), + rngtest::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::nrestart >() ) ), m_timer(1), // Start new timer measuring the total runtime m_timestamp() { @@ -247,8 +251,10 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize() { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + rngtest::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + rngtest::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); } //! Entry method triggered when quiescence is detected @@ -261,14 +267,16 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + rngtest::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + rngtest::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + msg ); } private: int m_signal; //!< Used to set signal handlers rngtest::ctr::CmdLine m_cmdline; //!< Command line rngtest::CmdLineParser m_cmdParser; //!< Command line parser - rngtest::RNGTestPrint m_print; //!< Pretty printer rngtest::RNGTestDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers diff --git a/src/Main/RNGTestDriver.cpp b/src/Main/RNGTestDriver.cpp index bba90559178..8956e737d1e 100644 --- a/src/Main/RNGTestDriver.cpp +++ b/src/Main/RNGTestDriver.cpp @@ -3,17 +3,13 @@ \file src/Main/RNGTestDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite driver \details Random number generator test suite driver. */ // ***************************************************************************** -#include -#include -#include - #include "Tags.hpp" #include "Exception.hpp" #include "Factory.hpp" @@ -23,33 +19,44 @@ #include "RNGTestDriver.hpp" #include "RNGTest/InputDeck/InputDeck.hpp" #include "RNGTest/InputDeck/Parser.hpp" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" namespace rngtest { extern ctr::InputDeck g_inputdeck; +extern ctr::InputDeck g_inputdeck_defaults; } // rngtest:: using rngtest::RNGTestDriver; -RNGTestDriver::RNGTestDriver( const RNGTestPrint& print, - const ctr::CmdLine& cmdline ) : - m_print( print ) +RNGTestDriver::RNGTestDriver( const ctr::CmdLine& cmdline, int nrestart ) : + m_print( cmdline.logname( + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + nrestart ), + cmdline.get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ) // ***************************************************************************** // Constructor -//! \param[in] print Pretty printer //! \param[in] cmdline Command line object storing data parsed from the command //! line arguments +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { // All global-scope data to be migrated to all PEs initialized here - // Parse input deck into g_inputdeck, transfer cmdline (no longer needed) + // Parse input deck into g_inputdeck m_print.item( "Control file", cmdline.get< tag::io, tag::control >() ); InputDeckParser inputdeckParser( m_print, cmdline, g_inputdeck ); m_print.item( "Parsed control file", "success" ); m_print.endpart(); + + // Output input deck object to file + auto logfilename = tk::rngtest_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "inputdeck", g_inputdeck ); } void diff --git a/src/Main/RNGTestDriver.hpp b/src/Main/RNGTestDriver.hpp index fdbf1ed3d53..2c9bf6270f3 100644 --- a/src/Main/RNGTestDriver.hpp +++ b/src/Main/RNGTestDriver.hpp @@ -3,7 +3,7 @@ \file src/Main/RNGTestDriver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator test suite driver \details Random number generator test suite driver. @@ -33,14 +33,13 @@ class RNGTestDriver { public: //! Constructor - explicit RNGTestDriver( const RNGTestPrint& print, - const ctr::CmdLine& cmdline ); + explicit RNGTestDriver( const ctr::CmdLine& cmdline, int nrestart ); //! Execute driver void execute() const; private: - const RNGTestPrint& m_print; + const RNGTestPrint m_print; }; } // rngtest:: diff --git a/src/Main/RNGTestPrint.hpp b/src/Main/RNGTestPrint.hpp index 14e05d82470..ff1ffa261e9 100644 --- a/src/Main/RNGTestPrint.hpp +++ b/src/Main/RNGTestPrint.hpp @@ -3,7 +3,7 @@ \file src/Main/RNGTestPrint.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief RNGTest-specific pretty printer functionality \details RNGTest-specific pretty printer functionality. @@ -27,12 +27,17 @@ class RNGTestPrint : public tk::RNGPrint { public: //! Constructor + //! \param[in] screen Screen output filename //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream //! \see tk::RNGPrint::RNGPrint and tk::Print::Print - explicit RNGTestPrint( std::ostream& str = std::clog, + explicit RNGTestPrint( const std::string& screen, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, std::ostream& qstr = std::cout ) : - RNGPrint( str, qstr ) {} + RNGPrint( screen, str, mode, qstr ) {} //! Bring vanilla overloads from base into scope in case local overloads fail using Print::section; diff --git a/src/Main/UnitTest.cmake b/src/Main/UnitTest.cmake index a1742783b10..59b7fc91d92 100644 --- a/src/Main/UnitTest.cmake +++ b/src/Main/UnitTest.cmake @@ -26,8 +26,10 @@ add_executable(${UNITTEST_EXECUTABLE} ../../tests/unit/Base/TestProcessControl.cpp ../../tests/unit/Base/TestPUPUtil.cpp ../../tests/unit/Base/TestReader.cpp - ../../tests/unit/Base/TestStrConvUtil.cpp + ../../tests/unit/Base/TestPrintUtil.cpp ../../tests/unit/Base/TestTaggedTuple.cpp + ../../tests/unit/Base/TestTaggedTuplePrint.cpp + ../../tests/unit/Base/TestTaggedTupleDeepPrint.cpp ../../tests/unit/Base/TestTimer.cpp ../../tests/unit/Base/TestVector.cpp ../../tests/unit/Base/TestWriter.cpp diff --git a/src/Main/UnitTest.cpp b/src/Main/UnitTest.cpp index a2df25445af..2d3289a19d8 100644 --- a/src/Main/UnitTest.cpp +++ b/src/Main/UnitTest.cpp @@ -3,7 +3,7 @@ \file src/Main/UnitTest.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's Charm++ main chare and main(). \details UnitTest's Charm++ main chare and main(). This file contains @@ -55,7 +55,10 @@ CProxy_Main mainProxy; tk::CProxy_ChareStateCollector stateProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -143,15 +146,14 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline, m_helped ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create UnitTest driver m_driver( tk::Main< unittest::UnitTestDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::UNITTEST, tk::unittest_executable(), - m_print ) ), + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >() ) ), m_timer(1), // Start new timer measuring the serial+Charm++ runtime m_timestamp() { @@ -186,9 +188,11 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize( bool pass ) { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ), - pass ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ), + pass ); } //! Entry method triggered when quiescence is detected @@ -201,7 +205,10 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >(), + msg ); } private: @@ -209,7 +216,6 @@ class Main : public CBase_Main { bool m_helped; //!< Indicates if help was requested on the command line unittest::ctr::CmdLine m_cmdline; //!< Command line unittest::CmdLineParser m_cmdParser; //!< Command line parser - unittest::UnitTestPrint m_print; //!< Pretty printer unittest::UnitTestDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers diff --git a/src/Main/UnitTestDriver.cpp b/src/Main/UnitTestDriver.cpp index 9469996aa75..9126139c1f3 100644 --- a/src/Main/UnitTestDriver.cpp +++ b/src/Main/UnitTestDriver.cpp @@ -3,18 +3,19 @@ \file src/Main/UnitTestDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit test driver \details Unit test driver. */ // ***************************************************************************** -#include "UnitTestPrint.hpp" #include "UnitTestDriver.hpp" #include "UnitTest/CmdLine/CmdLine.hpp" #include "QuinoaConfig.hpp" #include "NoWarning/tutsuite.decl.h" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" using unittest::UnitTestDriver; @@ -24,14 +25,18 @@ extern CProxy_TUTSuite g_suiteProxy; } // unittest:: -UnitTestDriver::UnitTestDriver( const UnitTestPrint&, - const ctr::CmdLine& cmdline ) +UnitTestDriver::UnitTestDriver( const ctr::CmdLine& cmdline, int ) // ***************************************************************************** // Constructor //! \param[in] cmdline Command line object storing data parsed from the command //! line arguments // ***************************************************************************** { + // Output command line object to file + auto logfilename = tk::unittest_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "cmdline", cmdline ); + // Instantiate (on PE 0 ) and run unit test suite. We only support Template // Unit Test suites at this point, so no factory instantiation, simply fire up // a Charm++ chare TUTSuite, which fires up and evaluates all unit tests diff --git a/src/Main/UnitTestDriver.hpp b/src/Main/UnitTestDriver.hpp index 1a298d85934..2b7353f50ce 100644 --- a/src/Main/UnitTestDriver.hpp +++ b/src/Main/UnitTestDriver.hpp @@ -3,7 +3,7 @@ \file src/Main/UnitTestDriver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit test driver \details Unit test driver. @@ -16,15 +16,12 @@ namespace unittest { -class UnitTestPrint; - //! Unit test suite driver used polymorphically with tk::Driver class UnitTestDriver { public: //! Constructor - explicit UnitTestDriver( const UnitTestPrint&, - const ctr::CmdLine& cmdline ); + explicit UnitTestDriver( const ctr::CmdLine& cmdline, int ); //! Execute driver void execute() const {} diff --git a/src/Main/UnitTestPrint.hpp b/src/Main/UnitTestPrint.hpp index b70831a93cb..f2f07aa741a 100644 --- a/src/Main/UnitTestPrint.hpp +++ b/src/Main/UnitTestPrint.hpp @@ -3,7 +3,7 @@ \file src/Main/UnitTestPrint.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief UnitTest's printer \details UnitTest's printer @@ -25,12 +25,17 @@ class UnitTestPrint : public tk::Print { public: //! Constructor + //! \param[in] screen Screen output filename //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream //! \see tk::Print::Print - explicit UnitTestPrint( std::ostream& str = std::clog, + explicit UnitTestPrint( const std::string& screen = {}, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, std::ostream& qstr = std::cout ) : - Print( str, qstr ) {} + Print( screen, str, mode, qstr ) {} //! Print unit tests header (with legend) //! \param[in] t Section title @@ -70,7 +75,7 @@ class UnitTestPrint : public tk::Print { std::stringstream ss; ss << "[" << ncomplete << "/" << nfail << "] " << status[0] << ":" << status[1]; - (status[2] == "0" ? m_stream : m_qstream) << + m_stream << m_item_widename_value_fmt % m_item_indent % ss.str() % result( status[2], status[3], status[4] ) << std::flush; diff --git a/src/Main/Walker.cmake b/src/Main/Walker.cmake index 51e19865357..178d12c12ef 100644 --- a/src/Main/Walker.cmake +++ b/src/Main/Walker.cmake @@ -26,6 +26,7 @@ target_link_libraries(${WALKER_EXECUTABLE} Base Config Init + ParticleWriter ${SEACASExodus_LIBRARIES} ${LAPACKE_LIBRARIES} # only if MKL not found ${MKL_INTERFACE_LIBRARY} @@ -34,6 +35,7 @@ target_link_libraries(${WALKER_EXECUTABLE} ${MKL_INTERFACE_LIBRARY} ${MKL_SEQUENTIAL_LAYER_LIBRARY} ${RNGSSE2_LIBRARIES} + ${H5PART_LIBRARIES} ${NETCDF_LIBRARIES} # only for static link ${HDF5_HL_LIBRARIES} # only for static link ${HDF5_C_LIBRARIES} diff --git a/src/Main/Walker.cpp b/src/Main/Walker.cpp index 45754dc5346..36fba8bbe34 100644 --- a/src/Main/Walker.cpp +++ b/src/Main/Walker.cpp @@ -3,7 +3,7 @@ \file src/Main/Walker.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random walker Charm++ main chare \details Random walker Charm++ main chare. This file contains the definition @@ -55,7 +55,10 @@ CProxy_Main mainProxy; tk::CProxy_ChareStateCollector stateProxy; //! If true, call and stack traces are to be output with exceptions -bool g_trace; +//! \note This is true by default so that the trace is always output between +//! program start and the Main ctor in which the user-input from command line +//! setting for this overrides this true setting. +bool g_trace = true; #if defined(__clang__) #pragma clang diagnostic pop @@ -190,15 +193,16 @@ class Main : public CBase_Main { m_cmdline(), // Parse command line into m_cmdline using default simple pretty printer m_cmdParser( msg->argc, msg->argv, tk::Print(), m_cmdline ), - // Create pretty printer initializing output streams based on command line - m_print( m_cmdline.get< tag::verbose >() ? std::cout : std::clog ), // Create Walker driver m_driver( tk::Main< walker::WalkerDriver > ( msg->argc, msg->argv, m_cmdline, tk::HeaderType::WALKER, tk::walker_executable(), - m_print ) ), + walker::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::screen >(), + walker::g_inputdeck_defaults.get< tag::cmd, tag::io, + tag::nrestart >() ) ), m_timer(1), // start new timer measuring the total runtime m_timestamp() { @@ -227,8 +231,10 @@ class Main : public CBase_Main { //! Towards normal exit but collect chare state first (if any) void finalize() { - tk::finalize( m_cmdline, m_timer, m_print, stateProxy, m_timestamp, - CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); + tk::finalize( m_cmdline, m_timer, stateProxy, m_timestamp, + walker::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + walker::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + CkCallback( CkIndex_Main::dumpstate(nullptr), thisProxy ) ); } //! Entry method triggered when quiescence is detected @@ -241,7 +247,10 @@ class Main : public CBase_Main { //! Dump chare state void dumpstate( CkReductionMsg* msg ) { - tk::dumpstate( m_cmdline, m_print, msg ); + tk::dumpstate( m_cmdline, + walker::g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(), + walker::g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(), + msg ); } //! Add time stamp contributing to final timers output @@ -255,7 +264,6 @@ class Main : public CBase_Main { int m_signal; //!< Used to set signal handlers walker::ctr::CmdLine m_cmdline; //!< Command line walker::CmdLineParser m_cmdParser; //!< Command line parser - walker::WalkerPrint m_print; //!< Pretty printer walker::WalkerDriver m_driver; //!< Driver std::vector< tk::Timer > m_timer; //!< Timers diff --git a/src/Main/WalkerDriver.cpp b/src/Main/WalkerDriver.cpp index 3e411aa142f..c1b134f1fef 100644 --- a/src/Main/WalkerDriver.cpp +++ b/src/Main/WalkerDriver.cpp @@ -3,21 +3,21 @@ \file src/Main/WalkerDriver.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief WalkerDriver that drives Walker \details WalkerDriver that drives Walker */ // ***************************************************************************** -#include - #include "Tags.hpp" #include "WalkerPrint.hpp" #include "WalkerDriver.hpp" #include "Walker/InputDeck/Parser.hpp" #include "Walker/CmdLine/CmdLine.hpp" #include "Walker/InputDeck/InputDeck.hpp" +#include "TaggedTupleDeepPrint.hpp" +#include "Writer.hpp" #include "NoWarning/distributor.decl.h" @@ -30,23 +30,33 @@ extern CProxy_Distributor g_DistributorProxy; using walker::WalkerDriver; -WalkerDriver::WalkerDriver( const WalkerPrint& print, - const ctr::CmdLine& cmdline ) : - m_print( print ) +WalkerDriver::WalkerDriver( const ctr::CmdLine& cmdline, int nrestart ) // ***************************************************************************** // Constructor -//! \param[in] print Pretty printer //! \param[in] cmdline Command line object storing data parsed from the command //! line arguments +//! \param[in] nrestart Number of times restarted // ***************************************************************************** { // All global-scope data to be migrated to all PEs initialized here (if any) + // Create pretty printer + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + WalkerPrint print( cmdline.logname( def, nrestart ), + cmdline.get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + // Parse input deck into g_inputdeck - m_print.item( "Control file", cmdline.get< tag::io, tag::control >() ); - InputDeckParser inputdeckParser( m_print, cmdline, g_inputdeck ); - m_print.item( "Parsed control file", "success" ); - m_print.endpart(); + print.item( "Control file", cmdline.get< tag::io, tag::control >() ); + InputDeckParser inputdeckParser( print, cmdline, g_inputdeck ); + print.item( "Parsed control file", "success" ); + print.endpart(); + + // Output command line object to file + auto logfilename = tk::walker_executable() + "_input.log"; + tk::Writer log( logfilename ); + tk::print( log.stream(), "inputdeck", g_inputdeck ); // Instantiate Distributor chare on PE 0 which drives the time-integration of // differential equations via several integrator chares. We only support a @@ -56,5 +66,5 @@ WalkerDriver::WalkerDriver( const WalkerPrint& print, // individual integrators so they can call back to Distributor. Since this // is called inside the main chare constructor, the Charm++ runtime system // distributes the handle along with all other global-scope data. - g_DistributorProxy = CProxy_Distributor::ckNew( cmdline, 0 ); + g_DistributorProxy = CProxy_Distributor::ckNew( 0 ); } diff --git a/src/Main/WalkerDriver.hpp b/src/Main/WalkerDriver.hpp index 70d3219645c..45419d03881 100644 --- a/src/Main/WalkerDriver.hpp +++ b/src/Main/WalkerDriver.hpp @@ -3,7 +3,7 @@ \file src/Main/WalkerDriver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief WalkerDriver that drives Walker \details WalkerDriver that drives Walker @@ -17,21 +17,15 @@ //! Everything that contributes to the walker executable namespace walker { -class WalkerPrint; - //! Walker driver used polymorphically with Driver class WalkerDriver { public: //! Constructor - explicit WalkerDriver( const WalkerPrint& print, - const ctr::CmdLine& cmdline ); + explicit WalkerDriver( const ctr::CmdLine& cmdline, int nrestart ); //! Execute driver void execute() const {} - - private: - const WalkerPrint& m_print; //!< Pretty printer }; } // walker:: diff --git a/src/Main/WalkerPrint.cpp b/src/Main/WalkerPrint.cpp index 645222247c1..bda1901a3fc 100644 --- a/src/Main/WalkerPrint.cpp +++ b/src/Main/WalkerPrint.cpp @@ -3,7 +3,7 @@ \file src/Main/WalkerPrint.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker-specific pretty printer functionality \details Walker-specific pretty printer functionality. @@ -100,7 +100,7 @@ WalkerPrint::stats( const std::string& msg ) const if (!c.empty() && c != g_inputdeck_defaults.get< tag::stat >()) { m_stream << m_item_name_fmt % m_item_indent % msg; - for (auto& v : c) m_stream << v; + for (const auto& v : c) m_stream << v << ' '; m_stream << '\n'; } diff --git a/src/Main/WalkerPrint.hpp b/src/Main/WalkerPrint.hpp index 209ada145c2..66e17c1e937 100644 --- a/src/Main/WalkerPrint.hpp +++ b/src/Main/WalkerPrint.hpp @@ -3,7 +3,7 @@ \file src/Main/WalkerPrint.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Walker-specific pretty printer functionality \details Walker-specific pretty printer functionality. @@ -47,12 +47,17 @@ class WalkerPrint : public tk::RNGPrint { public: //! Constructor + //! \param[in] screen Screen output filename //! \param[in,out] str Verbose stream + //! \param[in] mode Open mode for screen output file, see + //! http://en.cppreference.com/w/cpp/io/ios_base/openmode //! \param[in,out] qstr Quiet stream //! \see tk::RNGPrint::RNGPrint and tk::Print::Print - explicit WalkerPrint( std::ostream& str = std::clog, + explicit WalkerPrint( const std::string& screen, + std::ostream& str = std::clog, + std::ios_base::openmode mode = std::ios_base::out, std::ostream& qstr = std::cout ) : - RNGPrint( str, qstr ) {} + RNGPrint( screen, str, mode, qstr ) {} //! Print section only if differs from its default template< typename Option, typename... tags > diff --git a/src/Main/fileconv.ci b/src/Main/fileconv.ci index 4aa83e86859..d3930a62e36 100644 --- a/src/Main/fileconv.ci +++ b/src/Main/fileconv.ci @@ -3,7 +3,7 @@ \file src/Main/fileconv.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for fileconv \details Charm++ module interface file for the file converter, fileconv. diff --git a/src/Main/inciter.ci b/src/Main/inciter.ci index eb97594e3e9..e7653a6c3b5 100644 --- a/src/Main/inciter.ci +++ b/src/Main/inciter.ci @@ -3,7 +3,7 @@ \file src/Main/inciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for inciter \details Charm++ module interface file for the computational shock diff --git a/src/Main/lbswitch.ci b/src/Main/lbswitch.ci index ea7bd9af99f..7dc56984aeb 100644 --- a/src/Main/lbswitch.ci +++ b/src/Main/lbswitch.ci @@ -3,7 +3,7 @@ \file src/Base/lbswitch.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for the load balancer switch group \details Charm++ module interface file for the load balancer switch group @@ -15,7 +15,7 @@ module lbswitch { namespace tk { group [migratable] LBSwitch { - entry LBSwitch( bool verbose ); + entry LBSwitch(); initproc void off(); }; diff --git a/src/Main/meshconv.ci b/src/Main/meshconv.ci index 31bc88ae086..f1ec0745ca5 100644 --- a/src/Main/meshconv.ci +++ b/src/Main/meshconv.ci @@ -3,7 +3,7 @@ \file src/Main/meshconv.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for meshconv \details Charm++ module interface file for the mesh file converter, diff --git a/src/Main/rngtest.ci b/src/Main/rngtest.ci index 5ee056f1eda..ee184a57118 100644 --- a/src/Main/rngtest.ci +++ b/src/Main/rngtest.ci @@ -3,7 +3,7 @@ \file src/Main/rngtest.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for rngtest \details Charm++ module interface file for the random number generator test diff --git a/src/Main/unittest.ci b/src/Main/unittest.ci index 42358783931..ce60355d852 100644 --- a/src/Main/unittest.ci +++ b/src/Main/unittest.ci @@ -3,7 +3,7 @@ \file src/Main/unittest.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for unittest \details Charm++ module interface file for the unit test suite, unittest. diff --git a/src/Main/unittestinciter.ci b/src/Main/unittestinciter.ci index f324a2aa8d1..3ad4c4a0913 100644 --- a/src/Main/unittestinciter.ci +++ b/src/Main/unittestinciter.ci @@ -3,7 +3,7 @@ \file src/Main/unittestinciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for unittest \details Charm++ module interface file for the unit test suite, unittest, diff --git a/src/Main/walker.ci b/src/Main/walker.ci index f02b3ba84ad..8104f134b4b 100644 --- a/src/Main/walker.ci +++ b/src/Main/walker.ci @@ -3,7 +3,7 @@ \file src/Main/walker.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for walker \details Charm++ module interface file for random walker, walker. diff --git a/src/Mesh/Around.hpp b/src/Mesh/Around.hpp index b097324c9a0..3e8962e74db 100644 --- a/src/Mesh/Around.hpp +++ b/src/Mesh/Around.hpp @@ -3,7 +3,7 @@ \file src/Mesh/Around.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Helper class for iterating through linked lists of derived data \details Helper class for iterating through every item in a linked list data @@ -54,24 +54,24 @@ class Around { //! \return Iterator to the beginning of the entries of surrounding entries //! \note This class does not allow modifing the underlying linked list, so //! the begin/end iterators are aliased to cbegin/cend. - const_iterator begin() const { return this->cbegin(); } + const_iterator begin() const noexcept { return this->cbegin(); } //! Const iterator to the entry after the last of the surrounding entries //! \return Iterator to the entry after the last of the surrounding entries //! \note This class does not allow modifing the underlying linked list, so //! the begin/end iterators are aliased to cbegin/cend. - const_iterator end() const { return this->cend(); } + const_iterator end() const noexcept { return this->cend(); } //! Iterator to the beginning of the entries of surrounding entries //! \return Iterator to the beginning of the entries of surrounding entries - const_iterator cbegin() const { + const_iterator cbegin() const noexcept { return m_list.first.cbegin() + static_cast< diff_type >( m_list.second[m_idx] + 1 ); } //! Iterator to the entry after the last of the surrounding entries //! \return Iterator to the entry after the last of the surrounding entries - const_iterator cend() const { + const_iterator cend() const noexcept { return m_list.first.cbegin() + static_cast< diff_type >( m_list.second[m_idx+1] + 1 ); } diff --git a/src/Mesh/Centering.hpp b/src/Mesh/Centering.hpp index a9d827b28ff..0df9045f115 100644 --- a/src/Mesh/Centering.hpp +++ b/src/Mesh/Centering.hpp @@ -3,7 +3,7 @@ \file src/Mesh/Centering.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh solution location (centering) \details Mesh solution location (centering) enum type. diff --git a/src/Mesh/CommMap.hpp b/src/Mesh/CommMap.hpp new file mode 100644 index 00000000000..f835f198ed5 --- /dev/null +++ b/src/Mesh/CommMap.hpp @@ -0,0 +1,54 @@ +// ***************************************************************************** +/*! + \file src/Mesh/CommMap.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Type definitions for communication maps + \details Type definitions for communication maps. +*/ +// ***************************************************************************** +#ifndef CommMap_h +#define CommMap_h + +#include +#include +#include + +#include "Tags.hpp" +#include "UnsMesh.hpp" +#include "TaggedTuple.hpp" + +namespace tk { + +//! Node list type used for node communication map +using NodeSet = std::unordered_set< std::size_t >; + +//! Edge list type used for edge communication map +using EdgeSet = UnsMesh::EdgeSet; + +//! Node communication map type +//! \details Global mesh node IDs bordering the mesh chunk held by fellow +//! chares associated to chare IDs +using NodeCommMap = std::unordered_map< int, NodeSet >; + +//! Edge communication map type +//! \details Edge-end points with global mesh node IDs bordering the mesh chunk +//! held by fellow chares associated to chare IDs +using EdgeCommMap = std::unordered_map< int, EdgeSet >; + +//! Type list of all communication maps bundled as a tagged tuple +using AllCommMaps = + TaggedTuple< brigand::list< + tag::node, NodeSet + , tag::edge, EdgeSet + > >; + +//! Communication map bundle type +//! \details All types of communication maps bundled and associated to chare IDs +using CommMaps = std::map< int, AllCommMaps >; + +} // tk:: + +#endif // CommMap_h diff --git a/src/Mesh/DerivedData.cpp b/src/Mesh/DerivedData.cpp index dcdc50f8942..d63c0ad8709 100644 --- a/src/Mesh/DerivedData.cpp +++ b/src/Mesh/DerivedData.cpp @@ -3,7 +3,7 @@ \file src/Mesh/DerivedData.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generate data structures derived from unstructured mesh \details Generate data structures derived from the connectivity information @@ -20,7 +20,9 @@ #include #include #include +#include #include +#include #include "Exception.hpp" #include "DerivedData.hpp" @@ -29,6 +31,21 @@ namespace tk { +int +orient( const UnsMesh::Edge& t, const UnsMesh::Edge& e ) +// ***************************************************************************** +// Determine edge orientation +//! \return -1.0 if edge t is oriented the same as edge e, +1.0 opposite +// ***************************************************************************** +{ + if (t[0] == e[0] && t[1] == e[1]) + return -1; + else if (t[0] == e[1] && t[1] == e[0]) + return 1; + else + return 0; +} + std::size_t npoin_in_graph( const std::vector< std::size_t >& inpoel ) // ***************************************************************************** @@ -554,13 +571,13 @@ genEsuel( const std::vector< std::size_t >& inpoel, auto nelem = inpoel.size()/nnpe; - // lambda that returns true if elements hel and gel share a face + // lambda that returns 1 if elements hel and gel share a face auto adj = [ &inpoel, nnpe ]( std::size_t hel, std::size_t gel ) -> bool { - std::vector< bool > sp; + std::size_t sp = 0; for (std::size_t h=0; h& inpoel, return inedel; } -std::pair< std::vector< std::size_t >, std::vector< std::size_t > > +std::unordered_map< UnsMesh::Edge, std::vector< std::size_t >, + UnsMesh::Hash<2>, UnsMesh::Eq<2> > genEsued( const std::vector< std::size_t >& inpoel, std::size_t nnpe, const std::pair< std::vector< std::size_t >, @@ -728,28 +746,22 @@ genEsued( const std::vector< std::size_t >& inpoel, //! and { 10, 14, 13, 12 }. //! \param[in] nnpe Number of nodes per element (3 or 4) //! \param[in] esup Elements surrounding points as linked lists, see tk::genEsup -//! \return Linked lists storing elements surrounding edges +//! \return Associative container storing elements surrounding edges (value), +//! assigned to edge-end points (key) //! \warning It is not okay to call this function with an empty container for //! inpoel or esup.first or esup.second or a non-positive number of nodes per //! element; it will throw an exception. -//! \details The data generated here is stored in a linked list, more precisely, -//! two linked arrays (vectors), _esued1_ and _esued2_, where _esued2_ holds -//! the indices at which _esued1_ holds the element ids surrounding edges. -//! Looping over all elements surrounding edges can then be accomplished by +//! \details Looping over elements surrounding all edges can be accomplished by //! the following loop: //! \code{.cpp} -//! for (std::size_t e=0; e 4 would erronously identify any two combination of @@ -780,20 +792,18 @@ genEsued( const std::vector< std::size_t >& inpoel, std::vector< std::size_t > lpoin( npoin, 0 ); // lambda that returns true if element e contains edge (p < q) - auto has = [ &inpoel, nnpe ]( std::size_t e, std::size_t p, std::size_t q ) - -> bool { - std::vector< bool > sp; + auto has = [ &inpoel, nnpe ]( std::size_t e, std::size_t p, std::size_t q ) { + int sp = 0; for (std::size_t n=0; n > revolver; + std::unordered_map< UnsMesh::Edge, std::vector< std::size_t >, + UnsMesh::Hash<2>, UnsMesh::Eq<2> > esued; // generate edges and associated vector of unique surrounding element ids - std::size_t ed = 0; for (std::size_t p=0; p& inpoel, if (p < q) { // for edge given point ids p < q for (std::size_t j=esup2[p]+1; j<=esup2[p+1]; ++j ) { auto e = esup1[j]; - if (has(e,p,q)) revolver[ed].push_back(e); + if (has(e,p,q)) esued[{p,q}].push_back(e); } - ++ed; } lpoin[q] = p+1; } } - // linked lists (vectors) to store elements surrounding edges - std::vector< std::size_t > esued1( 1, 0 ), esued2( 1, 0 ); - - // sort and store elements surrounding edges and their indices in vectors - for (auto& p : revolver) { - std::sort( begin(p.second), end(p.second) ); - esued2.push_back( esued2.back() + p.second.size() ); - esued1.insert( end(esued1), begin(p.second), end(p.second) ); - } + // sort element ids surrounding edges for each edge + for (auto& p : esued) std::sort( begin(p.second), end(p.second) ); - // Return (move out) linked lists - return std::make_pair( std::move(esued1), std::move(esued2) ); + // Return elements surrounding edges data structure + return esued; } std::size_t @@ -880,8 +882,8 @@ genNbfacTet( std::size_t tnbfac, auto nptet = inpoel; auto nptri = triinpoel_complete; - tk::unique( nptet ); - tk::unique( nptri ); + unique( nptet ); + unique( nptri ); std::unordered_set< std::size_t > snptet; @@ -920,7 +922,7 @@ genNbfacTet( std::size_t tnbfac, auto ip = triinpoel_complete[icoun+i]; // find local renumbered node-id to store in triinpoel - triinpoel.push_back( tk::cref_find(lid,ip) ); + triinpoel.push_back( cref_find(lid,ip) ); } bface[ss.first].push_back(nbfac); @@ -1289,10 +1291,10 @@ genBelemTet( std::size_t nbfac, return belem; } -tk::Fields +Fields genGeoFaceTri( std::size_t nipfac, const std::vector< std::size_t >& inpofa, - const tk::UnsMesh::Coords& coord ) + const UnsMesh::Coords& coord ) // ***************************************************************************** // Generate derived data, which stores the geometry details both internal and // boundary triangular faces in the mesh. @@ -1303,6 +1305,7 @@ genGeoFaceTri( std::size_t nipfac, //! pointing outward of the element to the left of the face, and face //! centroid coordinates. Use the following examples to access this //! information for face-f. +//! \details //! face area: geoFace(f,0,0), //! unit-normal x-component: geoFace(f,1,0), //! y-component: geoFace(f,2,0), @@ -1312,7 +1315,7 @@ genGeoFaceTri( std::size_t nipfac, //! z-coordinate: geoFace(f,6,0). // ***************************************************************************** { - tk::Fields geoFace( nipfac, 7 ); + Fields geoFace( nipfac, 7 ); // set triangle geometry std::size_t nnpf(3); @@ -1323,7 +1326,7 @@ genGeoFaceTri( std::size_t nipfac, for(std::size_t f=0; f -normal( const std::array< tk::real, 3 >& x, - const std::array< tk::real, 3 >& y, - const std::array< tk::real, 3 >& z ) +std::array< real, 3 > +normal( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ) // ***************************************************************************** //! Compute the unit normal vector of a triangle //! \param[in] x x-coordinates of the three vertices of the triangle @@ -1367,27 +1370,30 @@ normal( const std::array< tk::real, 3 >& x, //! \return Unit normal // ***************************************************************************** { - tk::real ax = x[1] - x[0]; - tk::real ay = y[1] - y[0]; - tk::real az = z[1] - z[0]; - - tk::real bx = x[2] - x[0]; - tk::real by = y[2] - y[0]; - tk::real bz = z[2] - z[0]; - - tk::real nx = ay*bz - az*by; - tk::real ny = -(ax*bz - az*bx); - tk::real nz = ax*by - ay*bx; - - auto farea = std::sqrt( nx*nx + ny*ny + nz*nz ); + real nx, ny, nz; + normal( x[0],x[1],x[2], y[0],y[1],y[2], z[0],z[1],z[2], nx, ny, nz ); + return { std::move(nx), std::move(ny), std::move(nz) }; +} - return {{ nx/farea, ny/farea, nz/farea }}; +real +area( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ) +// ***************************************************************************** +//! Compute the are of a triangle +//! \param[in] x x-coordinates of the three vertices of the triangle +//! \param[in] y y-coordinates of the three vertices of the triangle +//! \param[in] z z-coordinates of the three vertices of the triangle +//! \return Area +// ***************************************************************************** +{ + return area( x[0],x[1],x[2], y[0],y[1],y[2], z[0],z[1],z[2] ); } -tk::Fields -geoFaceTri( const std::array< tk::real, 3 >& x, - const std::array< tk::real, 3 >& y, - const std::array< tk::real, 3 >& z ) +Fields +geoFaceTri( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ) // ***************************************************************************** //! Compute geometry of the face given by three vertices //! \param[in] x x-coordinates of the three vertices of the triangular face. @@ -1396,36 +1402,28 @@ geoFaceTri( const std::array< tk::real, 3 >& x, //! \return Face geometry information. This includes face area, unit normal //! pointing outward of the element to the left of the face, and face //! centroid coordinates. +//! \details +//! face area: geoFace(f,0,0), +//! unit-normal x-component: geoFace(f,1,0), +//! y-component: geoFace(f,2,0), +//! z-component: geoFace(f,3,0), +//! centroid x-coordinate: geoFace(f,4,0), +//! y-coordinate: geoFace(f,5,0), +//! z-coordinate: geoFace(f,6,0). // ***************************************************************************** { - tk::Fields geoiFace( 1, 7 ); - - auto sidea = std::sqrt( (x[1]-x[0])*(x[1]-x[0]) - + (y[1]-y[0])*(y[1]-y[0]) - + (z[1]-z[0])*(z[1]-z[0]) ); - - auto sideb = std::sqrt( (x[2]-x[1])*(x[2]-x[1]) - + (y[2]-y[1])*(y[2]-y[1]) - + (z[2]-z[1])*(z[2]-z[1]) ); - - auto sidec = std::sqrt( (x[0]-x[2])*(x[0]-x[2]) - + (y[0]-y[2])*(y[0]-y[2]) - + (z[0]-z[2])*(z[0]-z[2]) ); + Fields geoiFace( 1, 7 ); - auto semip = 0.5 * (sidea + sideb + sidec); + // compute area + geoiFace(0,0,0) = area( x, y, z ); - geoiFace(0,0,0) = sqrt( semip - * (semip-sidea) - * (semip-sideb) - * (semip-sidec) ); - - // get unit normal to face + // compute unit normal to face auto n = normal( x, y, z ); geoiFace(0,1,0) = n[0]; geoiFace(0,2,0) = n[1]; geoiFace(0,3,0) = n[2]; - // get centroid + // compute centroid geoiFace(0,4,0) = (x[0]+x[1]+x[2])/3.0; geoiFace(0,5,0) = (y[0]+y[1]+y[2])/3.0; geoiFace(0,6,0) = (z[0]+z[1]+z[2])/3.0; @@ -1433,21 +1431,22 @@ geoFaceTri( const std::array< tk::real, 3 >& x, return geoiFace; } -tk::Fields +Fields genGeoElemTet( const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord ) + const UnsMesh::Coords& coord ) // ***************************************************************************** // Generate derived data, which stores the geometry details of tetrahedral // elements. //! \param[in] inpoel Element-node connectivity. //! \param[in] coord Co-ordinates of nodes in this mesh-chunk. -//! \return Element geometry information. This includes element volume and -//! element centroid coordinates. Use the following examples to access this -//! information for element-e. +//! \return Element geometry information. This includes element volume, +//! element centroid coordinates, and minimum edge length. Use the following +//! examples to access this information for element-e. //! volume: geoElem(e,0,0), -//! centroid x-coordinate: geoElem(f,1,0), -//! y-coordinate: geoElem(f,2,0), -//! z-coordinate: geoElem(f,3,0). +//! centroid x-coordinate: geoElem(e,1,0), +//! y-coordinate: geoElem(e,2,0), +//! z-coordinate: geoElem(e,3,0). +//! minimum edge-length: geoElem(e,4,0). // ***************************************************************************** { // set tetrahedron geometry @@ -1458,7 +1457,7 @@ genGeoElemTet( const std::vector< std::size_t >& inpoel, auto nelem = inpoel.size()/nnpe; - tk::Fields geoElem( nelem, 4 ); + Fields geoElem( nelem, 5 ); const auto& x = coord[0]; const auto& y = coord[1]; @@ -1471,11 +1470,11 @@ genGeoElemTet( const std::vector< std::size_t >& inpoel, const auto B = inpoel[nnpe*e+1]; const auto C = inpoel[nnpe*e+2]; const auto D = inpoel[nnpe*e+3]; - std::array< tk::real, 3 > ba{{ x[B]-x[A], y[B]-y[A], z[B]-z[A] }}, + std::array< real, 3 > ba{{ x[B]-x[A], y[B]-y[A], z[B]-z[A] }}, ca{{ x[C]-x[A], y[C]-y[A], z[C]-z[A] }}, da{{ x[D]-x[A], y[D]-y[A], z[D]-z[A] }}; - const auto vole = tk::triple( ba, ca, da ) / 6.0; + const auto vole = triple( ba, ca, da ) / 6.0; Assert( vole > 0, "Element Jacobian non-positive" ); @@ -1485,6 +1484,19 @@ genGeoElemTet( const std::vector< std::size_t >& inpoel, geoElem(e,1,0) = (x[A]+x[B]+x[C]+x[D])/4.0; geoElem(e,2,0) = (y[A]+y[B]+y[C]+y[D])/4.0; geoElem(e,3,0) = (z[A]+z[B]+z[C]+z[D])/4.0; + + // calculate minimum edge-length + tk::real edgelen = std::numeric_limits< tk::real >::max(); + for (std::size_t i=0; i& inpoel, bool leakyPartition( const std::vector< int >& esueltet, const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord ) + const UnsMesh::Coords& coord ) // ***************************************************************************** // Perform leak-test on mesh (partition) //! \param[in] esueltet Elements surrounding elements for tetrahedra, see @@ -1513,20 +1525,20 @@ leakyPartition( const std::vector< int >& esueltet, const auto& z = coord[2]; // Storage for surface integral over our mesh partition - std::array< tk::real, 3 > s{{ 0.0, 0.0, 0.0}}; + std::array< real, 3 > s{{ 0.0, 0.0, 0.0}}; for (std::size_t e=0; e& esueltet, } } - auto eps = std::numeric_limits< tk::real >::epsilon() * 100; + auto eps = 1.0e-9; return std::abs(s[0]) > eps || std::abs(s[1]) > eps || std::abs(s[2]) > eps; } bool conforming( const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord, + const UnsMesh::Coords& coord, bool cerr ) // ***************************************************************************** // Check if mesh (partition) is conforming @@ -1583,7 +1595,7 @@ conforming( const std::vector< std::size_t >& inpoel, // Compare operator to be used as less-than for std::array< tk::real, 3 >, // implemented as a lexicographic ordering. struct CoordLess { - const tk::real eps = std::numeric_limits< tk::real >::epsilon(); + const real eps = std::numeric_limits< real >::epsilon(); bool operator() ( const Coord& lhs, const Coord& rhs ) const { if (lhs[0] < rhs[0]) return true; @@ -1611,6 +1623,9 @@ conforming( const std::vector< std::size_t >& inpoel, const auto& y = coord[1]; const auto& z = coord[2]; + fenv_t fe; + feholdexcept( &fe ); + // Compute coordinates of nodes of mid-points of all edges for (std::size_t e=0; e& inpoel, } } + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); + // Find hanging nodes. If the coordinates of an element vertex coincide with // that of a mid-point node of an edge, that is a hanging node. If we find one // such node we print out some info on it. @@ -1661,4 +1679,97 @@ conforming( const std::vector< std::size_t >& inpoel, return true; } +bool +intet( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< real >& p, + std::size_t e, + std::array< real, 4 >& N ) +// ***************************************************************************** +// Determine if a point is in a tetrahedron +//! \param[in] coord Mesh node coordinates +//! \param[in] inpoel Mesh element connectivity +//! \param[in] p Point coordinates +//! \param[in] e Mesh cell index +//! \param[in,out] N Shapefunctions evaluated at the point +//! \return True if ppoint is in mesh cell +//! \see Lohner, An Introduction to Applied CFD Techniques, Wiley, 2008 +// ***************************************************************************** +{ + Assert( p.size() == 3, "Size mismatch" ); + + // Tetrahedron node indices + const auto A = inpoel[e*4+0]; + const auto B = inpoel[e*4+1]; + const auto C = inpoel[e*4+2]; + const auto D = inpoel[e*4+3]; + + // Tetrahedron node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // Point coordinates + const auto& xp = p[0]; + const auto& yp = p[1]; + const auto& zp = p[2]; + + // Evaluate linear shapefunctions at point locations using Cramer's Rule + // | xp | | x1 x2 x3 x4 | | N1 | + // | yp | = | y1 y2 y3 y4 | • | N2 | + // | zp | | z1 z2 z3 z4 | | N3 | + // | 1 | | 1 1 1 1 | | N4 | + + real DetX = (y[B]*z[C] - y[C]*z[B] - y[B]*z[D] + y[D]*z[B] + + y[C]*z[D] - y[D]*z[C])*x[A] + x[B]*y[C]*z[A] - x[B]*y[A]*z[C] + + x[C]*y[A]*z[B] - x[C]*y[B]*z[A] + x[B]*y[A]*z[D] - x[B]*y[D]*z[A] - + x[D]*y[A]*z[B] + x[D]*y[B]*z[A] - x[C]*y[A]*z[D] + x[C]*y[D]*z[A] + + x[D]*y[A]*z[C] - x[D]*y[C]*z[A] - x[B]*y[C]*z[D] + x[B]*y[D]*z[C] + + x[C]*y[B]*z[D] - x[C]*y[D]*z[B] - x[D]*y[B]*z[C] + x[D]*y[C]*z[B]; + + real DetX1 = (y[D]*z[C] - y[C]*z[D] + y[C]*zp - yp*z[C] - + y[D]*zp + yp*z[D])*x[B] + x[C]*y[B]*z[D] - x[C]*y[D]*z[B] - + x[D]*y[B]*z[C] + x[D]*y[C]*z[B] - x[C]*y[B]*zp + x[C]*yp*z[B] + + xp*y[B]*z[C] - xp*y[C]*z[B] + x[D]*y[B]*zp - x[D]*yp*z[B] - + xp*y[B]*z[D] + xp*y[D]*z[B] + x[C]*y[D]*zp - x[C]*yp*z[D] - + x[D]*y[C]*zp + x[D]*yp*z[C] + xp*y[C]*z[D] - xp*y[D]*z[C]; + + real DetX2 = (y[C]*z[D] - y[D]*z[C] - y[C]*zp + yp*z[C] + + y[D]*zp - yp*z[D])*x[A] + x[C]*y[D]*z[A] - x[C]*y[A]*z[D] + + x[D]*y[A]*z[C] - x[D]*y[C]*z[A] + x[C]*y[A]*zp - x[C]*yp*z[A] - + xp*y[A]*z[C] + xp*y[C]*z[A] - x[D]*y[A]*zp + x[D]*yp*z[A] + + xp*y[A]*z[D] - xp*y[D]*z[A] - x[C]*y[D]*zp + x[C]*yp*z[D] + + x[D]*y[C]*zp - x[D]*yp*z[C] - xp*y[C]*z[D] + xp*y[D]*z[C]; + + real DetX3 = (y[D]*z[B] - y[B]*z[D] + y[B]*zp - yp*z[B] - + y[D]*zp + yp*z[D])*x[A] + x[B]*y[A]*z[D] - x[B]*y[D]*z[A] - + x[D]*y[A]*z[B] + x[D]*y[B]*z[A] - x[B]*y[A]*zp + x[B]*yp*z[A] + + xp*y[A]*z[B] - xp*y[B]*z[A] + x[D]*y[A]*zp - x[D]*yp*z[A] - + xp*y[A]*z[D] + xp*y[D]*z[A] + x[B]*y[D]*zp - x[B]*yp*z[D] - + x[D]*y[B]*zp + x[D]*yp*z[B] + xp*y[B]*z[D] - xp*y[D]*z[B]; + + real DetX4 = (y[B]*z[C] - y[C]*z[B] - y[B]*zp + yp*z[B] + + y[C]*zp - yp*z[C])*x[A] + x[B]*y[C]*z[A] - x[B]*y[A]*z[C] + + x[C]*y[A]*z[B] - x[C]*y[B]*z[A] + x[B]*y[A]*zp - x[B]*yp*z[A] - + xp*y[A]*z[B] + xp*y[B]*z[A] - x[C]*y[A]*zp + x[C]*yp*z[A] + + xp*y[A]*z[C] - xp*y[C]*z[A] - x[B]*y[C]*zp + x[B]*yp*z[C] + + x[C]*y[B]*zp - x[C]*yp*z[B] - xp*y[B]*z[C] + xp*y[C]*z[B]; + + // Shape functions evaluated at point + N[0] = DetX1/DetX; + N[1] = DetX2/DetX; + N[2] = DetX3/DetX; + N[3] = DetX4/DetX; + + // if min( N^i, 1-N^i ) > 0 for all i, point is in cell + if ( std::min(N[0],1.0-N[0]) > 0 && std::min(N[1],1.0-N[1]) > 0 && + std::min(N[2],1.0-N[2]) > 0 && std::min(N[3],1.0-N[3]) > 0 ) + { + return true; + } else { + return false; + } +} + + } // tk:: diff --git a/src/Mesh/DerivedData.hpp b/src/Mesh/DerivedData.hpp index d1d60a8b770..35be346741d 100644 --- a/src/Mesh/DerivedData.hpp +++ b/src/Mesh/DerivedData.hpp @@ -3,7 +3,7 @@ \file src/Mesh/DerivedData.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Generate data structures derived from unstructured mesh \details Generate data structures derived from the connectivity information @@ -23,7 +23,7 @@ namespace tk { -//! Const array defining the node ordering convention for a tetrahedron cell +//! Const array defining the node ordering convention for tetrahedron faces //! \details This two-dimensional array stores the naming/ordering convention of //! the node indices of a tetrahedron (tet) element. The dimensions are 4x3 as //! a tetrahedron has a total of 4 nodes and each (triangle) face has 3 nodes. @@ -35,15 +35,97 @@ namespace tk { const std::array< UnsMesh::Face, 4 > lpofa{{ {{1,2,3}}, {{2,0,3}}, {{3,0,1}}, {{0,2,1}} }}; +//! Const array defining the node ordering convention for tetrahedron edges +const std::array< UnsMesh::Edge, 6 > + lpoed{{ {{0,1}}, {{1,2}}, {{0,2}}, {{0,3}}, {{1,3}}, {{2,3}} }}; + +//! Const array defining the node ordering convention for triangle edges +const std::array< UnsMesh::Edge, 3 > lpoet{{ {{0,1}}, {{1,2}}, {{2,0}} }}; + +//! Determine edge orientation +int +orient( const UnsMesh::Edge& t, const UnsMesh::Edge& e ); + //! Compute number of points (nodes) in mesh from connectivity std::size_t npoin_in_graph( const std::vector< std::size_t >& inpoel ); //! Compute the unit normal vector of a triangle -std::array< tk::real, 3 > -normal( const std::array< tk::real, 3 >& x, - const std::array< tk::real, 3 >& y, - const std::array< tk::real, 3 >& z ); +//! \param[in] x1 x coordinate of the 1st vertex of the triangle +//! \param[in] x2 x coordinate of the 2nd vertex of the triangle +//! \param[in] x3 x coordinate of the 3rd vertex of the triangle +//! \param[in] y1 y coordinate of the 1st vertex of the triangle +//! \param[in] y2 y coordinate of the 2nd vertex of the triangle +//! \param[in] y3 y coordinate of the 3rd vertex of the triangle +//! \param[in] z1 z coordinate of the 1st vertex of the triangle +//! \param[in] z2 z coordinate of the 2nd vertex of the triangle +//! \param[in] z3 z coordinate of the 3rd vertex of the triangle +//! \param[out] nx x coordinate of the unit normal +//! \param[out] ny y coordinate of the unit normal +//! \param[out] nz z coordinate of the unit normal +#pragma omp declare simd +inline void +normal( real x1, real x2, real x3, + real y1, real y2, real y3, + real z1, real z2, real z3, + real& nx, real& ny, real& nz ) +{ + real ax = x2 - x1; + real ay = y2 - y1; + real az = z2 - z1; + + real bx = x3 - x1; + real by = y3 - y1; + real bz = z3 - z1; + + real n1 = ay*bz - az*by; + real n2 = -(ax*bz - az*bx); + real n3 = ax*by - ay*bx; + + auto farea = std::sqrt( n1*n1 + n2*n2 + n3*n3 ); + + nx = n1/farea; + ny = n2/farea; + nz = n3/farea; +} + +//! Compute the unit normal vector of a triangle +std::array< real, 3 > +normal( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ); + +//! Compute the are of a triangle +//! \param[in] x1 x coordinate of the 1st vertex of the triangle +//! \param[in] x2 x coordinate of the 2nd vertex of the triangle +//! \param[in] x3 x coordinate of the 3rd vertex of the triangle +//! \param[in] y1 y coordinate of the 1st vertex of the triangle +//! \param[in] y2 y coordinate of the 2nd vertex of the triangle +//! \param[in] y3 y coordinate of the 3rd vertex of the triangle +//! \param[in] z1 z coordinate of the 1st vertex of the triangle +//! \param[in] z2 z coordinate of the 2nd vertex of the triangle +//! \param[in] z3 z coordinate of the 3rd vertex of the triangle +//! \return Area of the triangle +#pragma omp declare simd +inline real +area( real x1, real x2, real x3, + real y1, real y2, real y3, + real z1, real z2, real z3 ) +{ + auto sidea = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1) ); + auto sideb = sqrt( (x3-x2)*(x3-x2) + (y3-y2)*(y3-y2) + (z3-z2)*(z3-z2) ); + auto sidec = sqrt( (x1-x3)*(x1-x3) + (y1-y3)*(y1-y3) + (z1-z3)*(z1-z3) ); + + auto semip = 0.5 * (sidea + sideb + sidec); + + return sqrt( semip * (semip-sidea) * (semip-sideb) * (semip-sidec) ); +} + +//! Compute the area of a triangle +real +area( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ); //! Generate derived data structure, elements surrounding points std::pair< std::vector< std::size_t >, std::vector< std::size_t > > @@ -99,7 +181,8 @@ genInedel( const std::vector< std::size_t >& inpoel, const std::vector< std::size_t >& inpoed ); //! Generate derived data structure, elements surrounding edges -std::pair< std::vector< std::size_t >, std::vector< std::size_t > > +std::unordered_map< UnsMesh::Edge, std::vector< std::size_t >, + UnsMesh::Hash<2>, UnsMesh::Eq<2> > genEsued( const std::vector< std::size_t >& inpoel, std::size_t nnpe, const std::pair< std::vector< std::size_t >, @@ -145,34 +228,42 @@ genBelemTet( std::size_t nbfac, std::vector< std::size_t > >& esup ); //! Generate derived data structure, face geometry -tk::Fields +Fields genGeoFaceTri( std::size_t nipfac, const std::vector< std::size_t >& inpofa, - const tk::UnsMesh::Coords& coord ); + const UnsMesh::Coords& coord ); //! Compute geometry of the face given by three vertices -tk::Fields -geoFaceTri( const std::array< tk::real, 3 >& x, - const std::array< tk::real, 3 >& y, - const std::array< tk::real, 3 >& z ); +Fields +geoFaceTri( const std::array< real, 3 >& x, + const std::array< real, 3 >& y, + const std::array< real, 3 >& z ); //! Generate derived data structure, element geometry -tk::Fields +Fields genGeoElemTet( const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord ); + const UnsMesh::Coords& coord ); //! Perform leak-test on mesh (partition) bool leakyPartition( const std::vector< int >& esueltet, const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord ); + const UnsMesh::Coords& coord ); //! Check if mesh (partition) is conforming bool conforming( const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord, + const UnsMesh::Coords& coord, bool cerr = true ); +//! Determine if a point is in a tetrahedron +bool +intet( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< real >& p, + std::size_t e, + std::array< real, 4 >& N ); + } // tk:: #endif // DerivedData_h diff --git a/src/Mesh/Gradients.cpp b/src/Mesh/Gradients.cpp index 36265d7ecdd..d3b4e24c244 100644 --- a/src/Mesh/Gradients.cpp +++ b/src/Mesh/Gradients.cpp @@ -3,7 +3,7 @@ \file src/Mesh/Gradients.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions computing gradients on unstructured meshes for tetrahedra \details Functions computing gradients using linear finite element shape @@ -93,20 +93,16 @@ nodegrad( std::size_t node, } std::array< tk::real, 3 > -edgegrad( std::size_t edge, - const std::array< std::vector< tk::real >, 3 >& coord, +edgegrad( const std::array< std::vector< tk::real >, 3 >& coord, const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& esued, + const std::vector< std::size_t >& esued, const tk::Fields& U, ncomp_t c ) // ***************************************************************************** // Compute gradient at a mesh edge -//! \param[in] edge Edge id at which to compute gradient //! \param[in] coord Mesh node coordinates //! \param[in] inpoel Mesh element connectivity -//! \param[in] esued Linked lists storing elements surrounding edges, see -//! tk::genEsued() +//! \param[in] esued List of elements surrounding edge, see tk::genEsued() //! \param[in] U Field vector whose component gradient to compute //! \param[in] c Scalar component to compute gradient of //! \return Gradient of U(c) at mesh edge @@ -122,8 +118,8 @@ edgegrad( std::size_t edge, std::array< tk::real, 3 > g{{ 0.0, 0.0, 0.0 }}; tk::real vol = 0.0; - // loop over cells surrounding mesh edge - for (auto e : tk::Around(esued,edge)) { + // loop over elements surrounding edge + for (auto e : esued) { // access node IDs const std::array< std::size_t, 4 > N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; diff --git a/src/Mesh/Gradients.hpp b/src/Mesh/Gradients.hpp index 069535c7f66..b2fc8140d59 100644 --- a/src/Mesh/Gradients.hpp +++ b/src/Mesh/Gradients.hpp @@ -3,7 +3,7 @@ \file src/Mesh/Gradients.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions computing gradients on unstructured meshes for tetrahedra \details Functions computing gradients using linear finite element shape @@ -38,11 +38,9 @@ nodegrad( std::size_t node, //! Compute gradient at a mesh edge std::array< tk::real, 3 > -edgegrad( std::size_t edge, - const std::array< std::vector< tk::real >, 3 >& coord, +edgegrad( const std::array< std::vector< tk::real >, 3 >& coord, const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& esued, + const std::vector< std::size_t >& esued, const tk::Fields& U, ncomp_t c ); diff --git a/src/Mesh/Reorder.cpp b/src/Mesh/Reorder.cpp index 556581f9173..35a27596345 100644 --- a/src/Mesh/Reorder.cpp +++ b/src/Mesh/Reorder.cpp @@ -3,7 +3,7 @@ \file src/Mesh/Reorder.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh reordering routines for unstructured meshes \details Mesh reordering routines for unstructured meshes. @@ -347,4 +347,30 @@ positiveJacobians( const std::vector< std::size_t >& inpoel, return true; } +std::map< int, std::vector< std::size_t > > +bfacenodes( const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel ) +// ***************************************************************************** +// Generate nodes of side set faces +//! \param[in] bface Boundary-faces mapped to side set ids +//! \param[in] triinpoel Boundary-face connectivity +//! \return Nodes of side set faces for each side set passed in +// ***************************************************************************** +{ + auto bfn = bface; + + for (auto& [s,b] : bfn) { + std::vector< std::size_t > nodes; + for (auto f : b) { + nodes.push_back( triinpoel[f*3+0] ); + nodes.push_back( triinpoel[f*3+1] ); + nodes.push_back( triinpoel[f*3+2] ); + } + tk::unique( nodes ); + b = std::move( nodes ); + } + + return bfn; +} + } // tk:: diff --git a/src/Mesh/Reorder.hpp b/src/Mesh/Reorder.hpp index 2af80a9dc55..03ceab22c41 100644 --- a/src/Mesh/Reorder.hpp +++ b/src/Mesh/Reorder.hpp @@ -3,7 +3,7 @@ \file src/Mesh/Reorder.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Mesh reordering routines for unstructured meshes \details Mesh reordering routines for unstructured meshes. @@ -77,6 +77,11 @@ bool positiveJacobians( const std::vector< std::size_t >& inpoel, const std::array< std::vector< real >, 3 >& coord ); +//! Generate nodes of side set faces +std::map< int, std::vector< std::size_t > > +bfacenodes( const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel ); + } // ::tk #endif // Reorder_h diff --git a/src/Mesh/STLMesh.cpp b/src/Mesh/STLMesh.cpp index 7ba9332a7d9..5704c21a8c6 100644 --- a/src/Mesh/STLMesh.cpp +++ b/src/Mesh/STLMesh.cpp @@ -3,7 +3,7 @@ \file src/Mesh/STLMesh.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief ASCII STL (STereoLithography) mesh class definition \details ASCII STL (STereoLithography) mesh class definition. diff --git a/src/Mesh/STLMesh.hpp b/src/Mesh/STLMesh.hpp index 9b72133aae7..839a6b998cf 100644 --- a/src/Mesh/STLMesh.hpp +++ b/src/Mesh/STLMesh.hpp @@ -3,7 +3,7 @@ \file src/Mesh/STLMesh.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief STL (STereoLithography) mesh class declaration \details STL (STereoLithography) mesh class declaration. diff --git a/src/Mesh/UnsMesh.hpp b/src/Mesh/UnsMesh.hpp index c590fe323a1..29edadd3456 100644 --- a/src/Mesh/UnsMesh.hpp +++ b/src/Mesh/UnsMesh.hpp @@ -3,7 +3,7 @@ \file src/Mesh/UnsMesh.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief 3D unstructured mesh class declaration \details 3D unstructured mesh class declaration. This mesh class currently @@ -177,6 +177,30 @@ class UnsMesh { "Size of tetinpoel must be divisible by 4" ); } + //! \brief Constructor copying over triangle element connectivity and array + //! of point coordinates + explicit UnsMesh( + const Coords& coord, + const std::vector< std::size_t >& triinp, + const std::vector< std::string >& nodevarnames = {}, + const std::vector< tk::real >& vartimes = {}, + const std::vector< std::vector< std::vector< tk::real > > >& + nodevars = {} ) : + m_graphsize( graphsize( triinp ) ), + m_lininpoel(), + m_triinpoel( triinp ), + m_tetinpoel(), + m_x( coord[0] ), + m_y( coord[1] ), + m_z( coord[2] ), + m_nodevarnames( nodevarnames ), + m_vartimes( vartimes ), + m_nodevars( nodevars ) + { + Assert( m_triinpoel.size()%3 == 0, + "Size of triinpoel must be divisible by 3" ); + } + //! Constructor swallowing element connectivity and point coordinates explicit UnsMesh( std::vector< std::size_t >&& tetinp, std::vector< real >&& X, @@ -326,6 +350,29 @@ class UnsMesh { { return m_bnode; } ///@} + /** @name Node variable names accessors */ + ///@{ + const std::vector< std::string >& nodevarnames() const noexcept + { return m_nodevarnames; } + std::vector< std::string >& nodevarnames() noexcept + { return m_nodevarnames; } + ///@} + + /** @name Variable times accessors */ + ///@{ + const std::vector< tk::real >& vartimes() const noexcept + { return m_vartimes; } + std::vector< tk::real >& vartimes() noexcept { return m_vartimes; } + ///@} + + /** @name Node variables accessors */ + ///@{ + const std::vector< std::vector< std::vector< tk::real > > >& nodevars() + const noexcept { return m_nodevars; } + std::vector< std::vector< std::vector< tk::real > > >& nodevars() noexcept + { return m_nodevars; } + ///@} + private: //! Number of nodes //! \details Stores the size (number of nodes) of the mesh graph. @@ -361,6 +408,15 @@ class UnsMesh { //! \note This is what ExodusII calls side set side list. std::map< int, std::vector< std::size_t > > m_faceid; + //! Node field data names + std::vector< std::string > m_nodevarnames; + + //! Time values for node field data + std::vector< tk::real > m_vartimes; + + //! Node field data + std::vector< std::vector< std::vector< tk::real > > > m_nodevars; + //! Compute and return number of unique nodes in element connectivity //! \param[in] inpoel Element connectivity //! \return Number of unique node ids in connectivity, i.e., the graphsize diff --git a/src/NoWarning/H5Part.hpp b/src/NoWarning/H5Part.hpp index cf377fc088b..da96284a74e 100644 --- a/src/NoWarning/H5Part.hpp +++ b/src/NoWarning/H5Part.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/H5Part.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include H5Part.h with turning off specific compiler warnings */ @@ -26,9 +26,6 @@ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wlong-long" #pragma GCC diagnostic ignored "-Wcast-qual" -#elif defined(__INTEL_COMPILER) - #pragma warning( push ) - #pragma warning( disable: 2282 ) #endif #define PARALLEL_IO @@ -39,8 +36,6 @@ #pragma clang diagnostic pop #elif defined(STRICT_GNUC) #pragma GCC diagnostic pop -#elif defined(__INTEL_COMPILER) - #pragma warning( pop ) #endif #endif // nowarning_H5Part_h diff --git a/src/NoWarning/HYPRE_krylov.hpp b/src/NoWarning/HYPRE_krylov.hpp index faade8aecd4..3b67b82e6aa 100644 --- a/src/NoWarning/HYPRE_krylov.hpp +++ b/src/NoWarning/HYPRE_krylov.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/HYPRE_krylov.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include HYPRE_krylov.h with turning off specific compiler warnings diff --git a/src/NoWarning/HYPRE_parcsr_ls.hpp b/src/NoWarning/HYPRE_parcsr_ls.hpp index 5f593b82c65..185dee025b5 100644 --- a/src/NoWarning/HYPRE_parcsr_ls.hpp +++ b/src/NoWarning/HYPRE_parcsr_ls.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/HYPRE_parcsr_ls.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include HYPRE_parcsr_ls.h with turning off specific compiler warnings diff --git a/src/NoWarning/Omega_h_file.hpp b/src/NoWarning/Omega_h_file.hpp index 009b97f89a2..36e7cffb1c3 100644 --- a/src/NoWarning/Omega_h_file.hpp +++ b/src/NoWarning/Omega_h_file.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/Omega_h_file.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Omega_h_file.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/TFile.hpp b/src/NoWarning/TFile.hpp index 638af49e332..7c593e6cb04 100644 --- a/src/NoWarning/TFile.hpp +++ b/src/NoWarning/TFile.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/TFile.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Root's TFile.h with turning off specific compiler warnings */ @@ -28,7 +28,6 @@ #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 522 ) - #pragma warning( disable: 2282 ) #endif #include diff --git a/src/NoWarning/TGraph2D.hpp b/src/NoWarning/TGraph2D.hpp index edda170fc51..98e51c14e51 100644 --- a/src/NoWarning/TGraph2D.hpp +++ b/src/NoWarning/TGraph2D.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/TGraph2D.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Root's TGraph2D.h with turning off specific compiler warnings diff --git a/src/NoWarning/TString.hpp b/src/NoWarning/TString.hpp index d8b2670599a..b362141b2d7 100644 --- a/src/NoWarning/TString.hpp +++ b/src/NoWarning/TString.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/TString.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Root's TString.h with turning off specific compiler warnings diff --git a/src/NoWarning/TTree.hpp b/src/NoWarning/TTree.hpp index 947308c7a46..2440852af3d 100644 --- a/src/NoWarning/TTree.hpp +++ b/src/NoWarning/TTree.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/TTree.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Root's TTree.h with turning off specific compiler warnings */ @@ -26,7 +26,6 @@ #pragma warning( disable: 1 ) #pragma warning( disable: 181 ) #pragma warning( disable: 522 ) - #pragma warning( disable: 2282 ) #endif #include diff --git a/src/NoWarning/Zoltan2_PartitioningProblem.hpp b/src/NoWarning/Zoltan2_PartitioningProblem.hpp index 4674779c4ce..db67347486c 100644 --- a/src/NoWarning/Zoltan2_PartitioningProblem.hpp +++ b/src/NoWarning/Zoltan2_PartitioningProblem.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/Zoltan2_PartitioningProblem.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Zoltan2_PartitioningProblem.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/alecg.decl.h b/src/NoWarning/alecg.decl.h index e1d65fff8dd..439fbd57da0 100644 --- a/src/NoWarning/alecg.decl.h +++ b/src/NoWarning/alecg.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/alecg.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include alecg.decl.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/alecg.def.h b/src/NoWarning/alecg.def.h index 03d56fdbc09..984ef090222 100644 --- a/src/NoWarning/alecg.def.h +++ b/src/NoWarning/alecg.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/alecg.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include alecg.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/any.hpp b/src/NoWarning/any.hpp index 20de3659592..99d8fd6672e 100644 --- a/src/NoWarning/any.hpp +++ b/src/NoWarning/any.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/any.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/any.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/append.hpp b/src/NoWarning/append.hpp index 14f4747f510..83a57f359cf 100644 --- a/src/NoWarning/append.hpp +++ b/src/NoWarning/append.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/append.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/sequences/append.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/back.hpp b/src/NoWarning/back.hpp index 15c9c2072cf..441b47b44b5 100644 --- a/src/NoWarning/back.hpp +++ b/src/NoWarning/back.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/back.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/sequences/back.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/backward.hpp b/src/NoWarning/backward.hpp index dc80b1f2510..41cfc383c53 100644 --- a/src/NoWarning/backward.hpp +++ b/src/NoWarning/backward.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/backward.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include backward.hpp with turning off specific compiler warnings */ diff --git a/src/NoWarning/beta_distribution.hpp b/src/NoWarning/beta_distribution.hpp index 81eaa8421da..f61cff155b9 100644 --- a/src/NoWarning/beta_distribution.hpp +++ b/src/NoWarning/beta_distribution.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/beta_distribution.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include boost/random/beta_distribution.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/charestatecollector.decl.h b/src/NoWarning/charestatecollector.decl.h index 9a72acc3d6b..4728b90ec09 100644 --- a/src/NoWarning/charestatecollector.decl.h +++ b/src/NoWarning/charestatecollector.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/charestatecollector.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charestatecollector.decl.h with turning off specific compiler warnings @@ -60,7 +60,6 @@ #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 181 ) - #pragma warning( disable: 2282 ) #pragma warning( disable: 1125 ) #pragma warning( disable: 1720 ) #endif diff --git a/src/NoWarning/charestatecollector.def.h b/src/NoWarning/charestatecollector.def.h index ae9944e84db..ec6c6020767 100644 --- a/src/NoWarning/charestatecollector.def.h +++ b/src/NoWarning/charestatecollector.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/charestatecollector.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charestatecollector.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/charm++.hpp b/src/NoWarning/charm++.hpp index 965db390dd4..842645ee560 100644 --- a/src/NoWarning/charm++.hpp +++ b/src/NoWarning/charm++.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/charm++.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charm++.h with turning off specific compiler warnings */ @@ -60,12 +60,12 @@ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #pragma GCC diagnostic ignored "-Wparentheses" #pragma GCC diagnostic ignored "-Wmissing-field-initializers" + #pragma GCC diagnostic ignored "-Warray-bounds" #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include diff --git a/src/NoWarning/charm.hpp b/src/NoWarning/charm.hpp index 3be3d3888b9..9aa37c78c2d 100644 --- a/src/NoWarning/charm.hpp +++ b/src/NoWarning/charm.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/charm.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charm.h with turning off specific compiler warnings */ @@ -34,9 +34,6 @@ #pragma GCC diagnostic ignored "-Wshadow" #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#elif defined(__INTEL_COMPILER) - #pragma warning( push ) - #pragma warning( disable: 2282 ) #endif #include @@ -45,8 +42,6 @@ #pragma clang diagnostic pop #elif defined(STRICT_GNUC) #pragma GCC diagnostic pop -#elif defined(__INTEL_COMPILER) - #pragma warning( pop ) #endif #endif // nowarning_charm_h diff --git a/src/NoWarning/charmchild.def.h b/src/NoWarning/charmchild.def.h index abc6b177949..0d54c0b9073 100644 --- a/src/NoWarning/charmchild.def.h +++ b/src/NoWarning/charmchild.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/charmchild.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charmchild.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/charmtimer.def.h b/src/NoWarning/charmtimer.def.h index b8c8c100c5b..17e7fee0fc6 100644 --- a/src/NoWarning/charmtimer.def.h +++ b/src/NoWarning/charmtimer.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/charmtimer.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include charmtimer.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/collector.def.h b/src/NoWarning/collector.def.h index 721479a25f2..75c0925b2e5 100644 --- a/src/NoWarning/collector.def.h +++ b/src/NoWarning/collector.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/collector.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include collector.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/dg.decl.h b/src/NoWarning/dg.decl.h index 60686f458d8..a47367746b0 100644 --- a/src/NoWarning/dg.decl.h +++ b/src/NoWarning/dg.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/dg.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include dg.decl.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/dg.def.h b/src/NoWarning/dg.def.h index 245cf2b1d7e..8fccc7fbc1d 100644 --- a/src/NoWarning/dg.def.h +++ b/src/NoWarning/dg.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/dg.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include dg.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/diagcg.decl.h b/src/NoWarning/diagcg.decl.h index 126fc44eaf3..f03bde4f74f 100644 --- a/src/NoWarning/diagcg.decl.h +++ b/src/NoWarning/diagcg.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/diagcg.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include diagcg.decl.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/diagcg.def.h b/src/NoWarning/diagcg.def.h index 3c679184ee4..0efabc2e292 100644 --- a/src/NoWarning/diagcg.def.h +++ b/src/NoWarning/diagcg.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/diagcg.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include diagcg.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/discretization.decl.h b/src/NoWarning/discretization.decl.h index 87e9b2773de..7c637609356 100644 --- a/src/NoWarning/discretization.decl.h +++ b/src/NoWarning/discretization.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/discretization.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include discretization.decl.h with turning off specific compiler warnings. diff --git a/src/NoWarning/discretization.def.h b/src/NoWarning/discretization.def.h index 34d66f2f1c3..01229b0af85 100644 --- a/src/NoWarning/discretization.def.h +++ b/src/NoWarning/discretization.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/discretization.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include discretization.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/distfct.decl.h b/src/NoWarning/distfct.decl.h index 4681e28ed77..f3ac206f486 100644 --- a/src/NoWarning/distfct.decl.h +++ b/src/NoWarning/distfct.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/distfct.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include distfct.decl.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/distfct.def.h b/src/NoWarning/distfct.def.h index 5a254b60094..167437c2713 100644 --- a/src/NoWarning/distfct.def.h +++ b/src/NoWarning/distfct.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/distfct.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include distfct.def.h with turning off specific compiler warnings */ @@ -29,6 +29,7 @@ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" #pragma GCC diagnostic ignored "-Wunused-variable" + #pragma GCC diagnostic ignored "-Wunused-parameter" #endif #include "../Inciter/distfct.def.h" diff --git a/src/NoWarning/distributor.decl.h b/src/NoWarning/distributor.decl.h index 2b536533bec..2202bd904f2 100644 --- a/src/NoWarning/distributor.decl.h +++ b/src/NoWarning/distributor.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/distributor.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include distributor.decl.h with turning off specific compiler warnings @@ -66,7 +66,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Walker/distributor.decl.h" diff --git a/src/NoWarning/distributor.def.h b/src/NoWarning/distributor.def.h index a26512f1291..5e6ea4f215f 100644 --- a/src/NoWarning/distributor.def.h +++ b/src/NoWarning/distributor.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/distributor.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include distributor.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/exodusII.hpp b/src/NoWarning/exodusII.hpp index b96f258e5e9..bf026244075 100644 --- a/src/NoWarning/exodusII.hpp +++ b/src/NoWarning/exodusII.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/exodusII.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include exodusII.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/factory.hpp b/src/NoWarning/factory.hpp index 978ecb794c8..4920d129448 100644 --- a/src/NoWarning/factory.hpp +++ b/src/NoWarning/factory.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/factory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include boost/functional/factory.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/fileconv.decl.h b/src/NoWarning/fileconv.decl.h index 57d2848e64a..97b08d02fcf 100644 --- a/src/NoWarning/fileconv.decl.h +++ b/src/NoWarning/fileconv.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/fileconv.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include fileconv.decl.h with turning off specific compiler warnings @@ -63,7 +63,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Main/fileconv.decl.h" diff --git a/src/NoWarning/fileconv.def.h b/src/NoWarning/fileconv.def.h index c43d5f0e0f9..ac816dc7acd 100644 --- a/src/NoWarning/fileconv.def.h +++ b/src/NoWarning/fileconv.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/fileconv.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include fileconv.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/flatten.hpp b/src/NoWarning/flatten.hpp index cc5aa29fc3d..0697c0d5f7f 100644 --- a/src/NoWarning/flatten.hpp +++ b/src/NoWarning/flatten.hpp @@ -4,7 +4,7 @@ \copyright 2016-2018, Los Alamos National Security, LLC. \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/flatten.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/fold.hpp b/src/NoWarning/fold.hpp index c0cb1c5952d..737eb4a1a3b 100644 --- a/src/NoWarning/fold.hpp +++ b/src/NoWarning/fold.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/fold.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/fold.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/format.hpp b/src/NoWarning/format.hpp index c6420eb7deb..b1cfe61800d 100644 --- a/src/NoWarning/format.hpp +++ b/src/NoWarning/format.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/format.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include boost/format.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/front.hpp b/src/NoWarning/front.hpp index ae446ff529f..cbfca0eec96 100644 --- a/src/NoWarning/front.hpp +++ b/src/NoWarning/front.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/front.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/sequences/front.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/inciter.decl.h b/src/NoWarning/inciter.decl.h index 44468512e6a..c3721484d60 100644 --- a/src/NoWarning/inciter.decl.h +++ b/src/NoWarning/inciter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/inciter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include inciter.decl.h with turning off specific compiler warnings @@ -64,7 +64,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Main/inciter.decl.h" diff --git a/src/NoWarning/inciter.def.h b/src/NoWarning/inciter.def.h index bde18d5633f..03b44fe6fc1 100644 --- a/src/NoWarning/inciter.def.h +++ b/src/NoWarning/inciter.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/inciter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include inciter.def.h with turning off specific compiler warnings @@ -25,6 +25,7 @@ #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" #pragma clang diagnostic ignored "-Wimplicit-int-conversion" #pragma clang diagnostic ignored "-Wundef" + #pragma clang diagnostic ignored "-Wconversion" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" diff --git a/src/NoWarning/index_of.hpp b/src/NoWarning/index_of.hpp index 257944800c7..efbac11d469 100644 --- a/src/NoWarning/index_of.hpp +++ b/src/NoWarning/index_of.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/index_of.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/index_of.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/integrator.decl.h b/src/NoWarning/integrator.decl.h index 2c59f95c1a8..0ad7aca96df 100644 --- a/src/NoWarning/integrator.decl.h +++ b/src/NoWarning/integrator.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/integrator.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include integrator.decl.h with turning off specific compiler warnings @@ -68,7 +68,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Walker/integrator.decl.h" diff --git a/src/NoWarning/integrator.def.h b/src/NoWarning/integrator.def.h index 7df00340500..755b931c30e 100644 --- a/src/NoWarning/integrator.def.h +++ b/src/NoWarning/integrator.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/integrator.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include integrator.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/lbswitch.decl.h b/src/NoWarning/lbswitch.decl.h index c767ec1fb88..384422c4c93 100644 --- a/src/NoWarning/lbswitch.decl.h +++ b/src/NoWarning/lbswitch.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/lbswitch.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include lbswitch.decl.h with turning off specific compiler warnings @@ -62,7 +62,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1125 ) #pragma warning( disable: 1720 ) - #pragma warning( disable: 2282 ) #endif #include "../Main/lbswitch.decl.h" diff --git a/src/NoWarning/lbswitch.def.h b/src/NoWarning/lbswitch.def.h index df48731f11f..52fe0ce306b 100644 --- a/src/NoWarning/lbswitch.def.h +++ b/src/NoWarning/lbswitch.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/lbswitch.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include lbswitch.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/linearmap.decl.h b/src/NoWarning/linearmap.decl.h index 3fa4951e035..00bb3392ff9 100644 --- a/src/NoWarning/linearmap.decl.h +++ b/src/NoWarning/linearmap.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/linearmap.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include linearmap.decl.h with turning off specific compiler warnings */ @@ -65,7 +65,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../LoadBalance/linearmap.decl.h" diff --git a/src/NoWarning/linearmap.def.h b/src/NoWarning/linearmap.def.h index 07c306e7ef9..e110c39c4cc 100644 --- a/src/NoWarning/linearmap.def.h +++ b/src/NoWarning/linearmap.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/linearmap.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include linearmap.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/meshconv.decl.h b/src/NoWarning/meshconv.decl.h index 5d0825db632..be919110770 100644 --- a/src/NoWarning/meshconv.decl.h +++ b/src/NoWarning/meshconv.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/meshconv.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include meshconv.decl.h with turning off specific compiler warnings @@ -64,7 +64,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Main/meshconv.decl.h" diff --git a/src/NoWarning/meshconv.def.h b/src/NoWarning/meshconv.def.h index 223982d20dc..7d2dbd681a3 100644 --- a/src/NoWarning/meshconv.def.h +++ b/src/NoWarning/meshconv.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/meshconv.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include meshconv.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/meshwriter.decl.h b/src/NoWarning/meshwriter.decl.h index f8cbbe446d9..1005e69f30c 100644 --- a/src/NoWarning/meshwriter.decl.h +++ b/src/NoWarning/meshwriter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/meshwriter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include meshwriter.decl.h with turning off specific compiler warnings @@ -58,7 +58,6 @@ #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 181 ) - #pragma warning( disable: 2282 ) #pragma warning( disable: 1125 ) #pragma warning( disable: 1720 ) #endif diff --git a/src/NoWarning/meshwriter.def.h b/src/NoWarning/meshwriter.def.h index 270ec758ef1..721d4ef4130 100644 --- a/src/NoWarning/meshwriter.def.h +++ b/src/NoWarning/meshwriter.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/meshwriter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include meshwriter.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/migrated_base.def.h b/src/NoWarning/migrated_base.def.h index 421abb910df..a25a28d959d 100644 --- a/src/NoWarning/migrated_base.def.h +++ b/src/NoWarning/migrated_base.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/migrated_base.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include migrated_base.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/migrated_inciter.decl.h b/src/NoWarning/migrated_inciter.decl.h index 9be1246de0c..9541825bf01 100644 --- a/src/NoWarning/migrated_inciter.decl.h +++ b/src/NoWarning/migrated_inciter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/migrated_inciter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include migrated_inciter.decl.h with turning off specific compiler warnings diff --git a/src/NoWarning/migrated_inciter.def.h b/src/NoWarning/migrated_inciter.def.h index f6d37f5f80f..0285f5d5bf4 100644 --- a/src/NoWarning/migrated_inciter.def.h +++ b/src/NoWarning/migrated_inciter.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/migrated_inciter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include migrated_inciter.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/mpi.hpp b/src/NoWarning/mpi.hpp index 9c6a8d3e8c7..bb709668f7e 100644 --- a/src/NoWarning/mpi.hpp +++ b/src/NoWarning/mpi.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/mpi.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include mpi.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/mpirunner.decl.h b/src/NoWarning/mpirunner.decl.h index 329ba9d5bc0..6f0b1c1ceb9 100644 --- a/src/NoWarning/mpirunner.decl.h +++ b/src/NoWarning/mpirunner.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/mpirunner.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include mpirunner.decl.h with turning off specific compiler warnings @@ -61,7 +61,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1125 ) #pragma warning( disable: 1720 ) - #pragma warning( disable: 2282 ) #endif #ifdef ENABLE_INCITER diff --git a/src/NoWarning/mpirunner.def.h b/src/NoWarning/mpirunner.def.h index 8e53b0cff9c..8b2b937fbef 100644 --- a/src/NoWarning/mpirunner.def.h +++ b/src/NoWarning/mpirunner.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/mpirunner.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include mpirunner.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/particlewriter.decl.h b/src/NoWarning/particlewriter.decl.h index 1ea46373d62..e933ae87e79 100644 --- a/src/NoWarning/particlewriter.decl.h +++ b/src/NoWarning/particlewriter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/particlewriter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include particlewriter.decl.h with turning off specific compiler warnings. @@ -24,9 +24,11 @@ #pragma clang diagnostic ignored "-Wold-style-cast" #pragma clang diagnostic ignored "-Wcast-align" #pragma clang diagnostic ignored "-Wshadow" + #pragma clang diagnostic ignored "-Wshadow-field" #pragma clang diagnostic ignored "-Wundef" #pragma clang diagnostic ignored "-Wundefined-func-template" #pragma clang diagnostic ignored "-Wextra-semi" + #pragma clang diagnostic ignored "-Wextra-semi-stmt" #pragma clang diagnostic ignored "-Wmismatched-tags" #pragma clang diagnostic ignored "-Wdeprecated" #pragma clang diagnostic ignored "-Wdocumentation" @@ -40,6 +42,10 @@ #pragma clang diagnostic ignored "-Wfloat-equal" #pragma clang diagnostic ignored "-Wnon-virtual-dtor" #pragma clang diagnostic ignored "-Wzero-length-array" + #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" + #pragma clang diagnostic ignored "-Woverloaded-virtual" + #pragma clang diagnostic ignored "-Wmissing-noreturn" + #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wcomma" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push @@ -54,10 +60,12 @@ #pragma GCC diagnostic ignored "-Wextra" #pragma GCC diagnostic ignored "-Wpedantic" #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + #pragma GCC diagnostic ignored "-Wdeprecated-copy" #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) + #pragma warning( disable: 1125 ) #endif #include "../IO/particlewriter.decl.h" diff --git a/src/NoWarning/particlewriter.def.h b/src/NoWarning/particlewriter.def.h index 80bbd63f18f..236807841eb 100644 --- a/src/NoWarning/particlewriter.def.h +++ b/src/NoWarning/particlewriter.def.h @@ -3,17 +3,16 @@ \file src/NoWarning/particlewriter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include particlewriter.def.h with turning off specific compiler warnings. */ // ***************************************************************************** +#ifndef nowarning_particlewriter_def_h +#define nowarning_particlewriter_def_h -// Note the absence of include guards. This is because the Charm++ definition -// file included below may need to be included multiple times in a single -// translation unit: one guarded by CK_TEMPLATES_ONLY and one without, where -// each inclusion will generate different code. +#include "Macro.hpp" #if defined(__clang__) #pragma clang diagnostic push @@ -27,6 +26,7 @@ #pragma clang diagnostic ignored "-Wunused-variable" #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wmissing-noreturn" + #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" @@ -34,6 +34,7 @@ #pragma GCC diagnostic ignored "-Wreorder" #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wunused-variable" + #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif #include "../IO/particlewriter.def.h" @@ -43,3 +44,5 @@ #elif defined(STRICT_GNUC) #pragma GCC diagnostic pop #endif + +#endif // nowarning_charestatecollector_def_h diff --git a/src/NoWarning/partition.hpp b/src/NoWarning/partition.hpp index b16c5479f59..2e52eee1585 100644 --- a/src/NoWarning/partition.hpp +++ b/src/NoWarning/partition.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/partition.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/partition.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/partitioner.decl.h b/src/NoWarning/partitioner.decl.h index d2464695aac..0efd0989a15 100644 --- a/src/NoWarning/partitioner.decl.h +++ b/src/NoWarning/partitioner.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/partitioner.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include partitioner.decl.h with turning off specific compiler warnings @@ -15,6 +15,7 @@ #include "Macro.hpp" #if defined(__clang__) + #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-parameter" #pragma clang diagnostic ignored "-Wold-style-cast" #pragma clang diagnostic ignored "-Wextra-semi" diff --git a/src/NoWarning/partitioner.def.h b/src/NoWarning/partitioner.def.h index 2892c7a5f52..d0216ac5291 100644 --- a/src/NoWarning/partitioner.def.h +++ b/src/NoWarning/partitioner.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/partitioner.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include partitioner.def.h with turning off specific compiler warnings @@ -29,6 +29,7 @@ #pragma clang diagnostic ignored "-Wunused-variable" #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wmissing-noreturn" + #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wnon-virtual-dtor" diff --git a/src/NoWarning/pegtl.hpp b/src/NoWarning/pegtl.hpp index 75f1567b141..b4d5edcd1a3 100644 --- a/src/NoWarning/pegtl.hpp +++ b/src/NoWarning/pegtl.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/pegtl.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include pegtl/pegtl.hh with turning off specific compiler warnings */ diff --git a/src/NoWarning/philox.hpp b/src/NoWarning/philox.hpp index db66dd015d1..1277eea9f1d 100644 --- a/src/NoWarning/philox.hpp +++ b/src/NoWarning/philox.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/philox.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Random123/philox.h with turning off specific compiler warnings diff --git a/src/NoWarning/pstream.hpp b/src/NoWarning/pstream.hpp index cfd73ce812b..be55fb168a5 100644 --- a/src/NoWarning/pstream.hpp +++ b/src/NoWarning/pstream.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/pstream.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include pstreams/pstream.h with turning off specific compiler warnings diff --git a/src/NoWarning/pugixml.hpp b/src/NoWarning/pugixml.hpp index c1f7d6a005e..90593442901 100644 --- a/src/NoWarning/pugixml.hpp +++ b/src/NoWarning/pugixml.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/pugixml.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include pugixml.hpp with turning off specific compiler warnings */ diff --git a/src/NoWarning/pup.hpp b/src/NoWarning/pup.hpp index 756a7fbb000..60e13d81122 100644 --- a/src/NoWarning/pup.hpp +++ b/src/NoWarning/pup.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/pup.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include pup.h with turning off specific compiler warnings */ @@ -34,9 +34,6 @@ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #pragma GCC diagnostic ignored "-Wshadow" #pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#elif defined(__INTEL_COMPILER) - #pragma warning( push ) - #pragma warning( disable: 2282 ) #endif #include @@ -45,8 +42,6 @@ #pragma clang diagnostic pop #elif defined(STRICT_GNUC) #pragma GCC diagnostic pop -#elif defined(__INTEL_COMPILER) - #pragma warning( pop ) #endif #endif // nowarning_pup_h diff --git a/src/NoWarning/pup_stl.hpp b/src/NoWarning/pup_stl.hpp index 18fa9f2389f..22c2132f279 100644 --- a/src/NoWarning/pup_stl.hpp +++ b/src/NoWarning/pup_stl.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/pup_stl.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include pup_stl.h with turning off specific compiler warnings */ @@ -35,9 +35,6 @@ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #pragma GCC diagnostic ignored "-Wshadow" #pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#elif defined(__INTEL_COMPILER) - #pragma warning( push ) - #pragma warning( disable: 2282 ) #endif #include @@ -46,8 +43,6 @@ #pragma clang diagnostic pop #elif defined(STRICT_GNUC) #pragma GCC diagnostic pop -#elif defined(__INTEL_COMPILER) - #pragma warning( pop ) #endif #endif // nowarning_pup_stl_h diff --git a/src/NoWarning/quietcerr.decl.h b/src/NoWarning/quietcerr.decl.h index 8ad16a625ab..aabaf263e56 100644 --- a/src/NoWarning/quietcerr.decl.h +++ b/src/NoWarning/quietcerr.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/quietcerr.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include quietcerr.decl.h with turning off specific compiler warnings @@ -62,7 +62,6 @@ #elif defined(__INTEL_COMPILER) #pragma warning( push ) #pragma warning( disable: 181 ) - #pragma warning( disable: 2282 ) #pragma warning( disable: 1125 ) #pragma warning( disable: 1720 ) #endif diff --git a/src/NoWarning/quietcerr.def.h b/src/NoWarning/quietcerr.def.h index 994fab0ee92..d97c32c5f48 100644 --- a/src/NoWarning/quietcerr.def.h +++ b/src/NoWarning/quietcerr.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/quietcerr.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include quietcerr.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/refiner.decl.h b/src/NoWarning/refiner.decl.h index 2ce7326c0fe..b579786df43 100644 --- a/src/NoWarning/refiner.decl.h +++ b/src/NoWarning/refiner.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/refiner.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include refiner.decl.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/refiner.def.h b/src/NoWarning/refiner.def.h index 2e6e9e108af..ffdc1a45fba 100644 --- a/src/NoWarning/refiner.def.h +++ b/src/NoWarning/refiner.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/refiner.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include refiner.def.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/rngtest.decl.h b/src/NoWarning/rngtest.decl.h index 826947553de..d92faa38aae 100644 --- a/src/NoWarning/rngtest.decl.h +++ b/src/NoWarning/rngtest.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/rngtest.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include rngtest.decl.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/rngtest.def.h b/src/NoWarning/rngtest.def.h index fd80c39624a..3e66814f731 100644 --- a/src/NoWarning/rngtest.def.h +++ b/src/NoWarning/rngtest.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/rngtest.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include rngtest.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/set.hpp b/src/NoWarning/set.hpp index eb488faad60..134c75a895b 100644 --- a/src/NoWarning/set.hpp +++ b/src/NoWarning/set.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/set.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/sequences/set.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/sip_hash.hpp b/src/NoWarning/sip_hash.hpp index 82bb1fc312f..de41afcfad4 100644 --- a/src/NoWarning/sip_hash.hpp +++ b/src/NoWarning/sip_hash.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/sip_hash.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include highwayhash/sip_hash.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/sol.hpp b/src/NoWarning/sol.hpp new file mode 100644 index 00000000000..d7ee5827809 --- /dev/null +++ b/src/NoWarning/sol.hpp @@ -0,0 +1,55 @@ +// ***************************************************************************** +/*! + \file src/NoWarning/sol.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Include sol/sol.hpp with turning off specific compiler warnings +*/ +// ***************************************************************************** +#ifndef nowarning_sol_h +#define nowarning_sol_h + +#include "Macro.hpp" + +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wredundant-parens" + #pragma clang diagnostic ignored "-Wextra-semi" + #pragma clang diagnostic ignored "-Wundef" + #pragma clang diagnostic ignored "-Wnewline-eof" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" + #pragma clang diagnostic ignored "-Wcomma" + #pragma clang diagnostic ignored "-Wswitch-enum" + #pragma clang diagnostic ignored "-Wmissing-noreturn" + #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" + #pragma clang diagnostic ignored "-Wunused-template" + #pragma clang diagnostic ignored "-Wcovered-switch-default" + #pragma clang diagnostic ignored "-Wold-style-cast" + #pragma clang diagnostic ignored "-Wimplicit-fallthrough" + #pragma clang diagnostic ignored "-Wcast-qual" + #pragma clang diagnostic ignored "-Wused-but-marked-unused" + #pragma clang diagnostic ignored "-Wfloat-equal" + #pragma clang diagnostic ignored "-Wextra-semi-stmt" + #pragma clang diagnostic ignored "-Wc++2a-compat" +#elif defined(STRICT_GNUC) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wcast-qual" +#elif defined(__INTEL_COMPILER) + #pragma warning( push ) + #pragma warning( disable: 1 ) +#endif + +#include + +#if defined(__clang__) + #pragma clang diagnostic pop +#elif defined(STRICT_GNUC) + #pragma GCC diagnostic pop +#elif defined(__INTEL_COMPILER) + #pragma warning( pop ) +#endif + +#endif // nowarning_sol_h diff --git a/src/NoWarning/sorter.decl.h b/src/NoWarning/sorter.decl.h index f8b7be45eb0..d544eb252a1 100644 --- a/src/NoWarning/sorter.decl.h +++ b/src/NoWarning/sorter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/sorter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include sorter.decl.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/sorter.def.h b/src/NoWarning/sorter.def.h index 6b9438d0214..7b1a55d9a6e 100644 --- a/src/NoWarning/sorter.def.h +++ b/src/NoWarning/sorter.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/sorter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include sorter.def.h with turning off specific compiler warnings. */ diff --git a/src/NoWarning/testarray.decl.h b/src/NoWarning/testarray.decl.h index 839d66e1f57..c1fdd308887 100644 --- a/src/NoWarning/testarray.decl.h +++ b/src/NoWarning/testarray.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/testarray.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testarray.decl.h with turning off specific compiler warnings diff --git a/src/NoWarning/testarray.def.h b/src/NoWarning/testarray.def.h index 7c1432d809b..5ea50b89b8a 100644 --- a/src/NoWarning/testarray.def.h +++ b/src/NoWarning/testarray.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/testarray.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testarray.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/testu01.decl.h b/src/NoWarning/testu01.decl.h index 765da99809f..f4a3e065dd1 100644 --- a/src/NoWarning/testu01.decl.h +++ b/src/NoWarning/testu01.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/testu01.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testu01.decl.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/testu01.def.h b/src/NoWarning/testu01.def.h index 5dbcbb1908f..a48e2c620bc 100644 --- a/src/NoWarning/testu01.def.h +++ b/src/NoWarning/testu01.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/testu01.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testu01.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/testu01suite.decl.h b/src/NoWarning/testu01suite.decl.h index 9925f6c679d..99c49bae199 100644 --- a/src/NoWarning/testu01suite.decl.h +++ b/src/NoWarning/testu01suite.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/testu01suite.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testu01suite.decl.h with turning off specific compiler warnings diff --git a/src/NoWarning/testu01suite.def.h b/src/NoWarning/testu01suite.def.h index ccbcb5efd48..50dd105e269 100644 --- a/src/NoWarning/testu01suite.def.h +++ b/src/NoWarning/testu01suite.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/testu01suite.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include testu01suite.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/threefry.hpp b/src/NoWarning/threefry.hpp index 0cecf01afcc..20875e23bc5 100644 --- a/src/NoWarning/threefry.hpp +++ b/src/NoWarning/threefry.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/threefry.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Random123/threefry.h with turning off specific compiler warnings diff --git a/src/NoWarning/transform.hpp b/src/NoWarning/transform.hpp index 7db42ab14cf..12f8dc0158c 100644 --- a/src/NoWarning/transform.hpp +++ b/src/NoWarning/transform.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/transform.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include brigand/algorithms/transform.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/transporter.decl.h b/src/NoWarning/transporter.decl.h index ae87e135c5c..7f6562c5bea 100644 --- a/src/NoWarning/transporter.decl.h +++ b/src/NoWarning/transporter.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/transporter.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include transporter.decl.h with turning off specific compiler warnings @@ -66,7 +66,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Inciter/transporter.decl.h" diff --git a/src/NoWarning/transporter.def.h b/src/NoWarning/transporter.def.h index 667207567bf..1ec956402df 100644 --- a/src/NoWarning/transporter.def.h +++ b/src/NoWarning/transporter.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/transporter.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include transporter.def.h with turning off specific compiler warnings @@ -29,6 +29,7 @@ #pragma clang diagnostic ignored "-Wundef" #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wmissing-noreturn" + #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" diff --git a/src/NoWarning/tut.hpp b/src/NoWarning/tut.hpp index 7f0fd5299bd..ec43aa2c5c3 100644 --- a/src/NoWarning/tut.hpp +++ b/src/NoWarning/tut.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/tut.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tut/tut.hpp with turning off specific compiler warnings */ diff --git a/src/NoWarning/tut_result.hpp b/src/NoWarning/tut_result.hpp index 8f34255b179..2b6abca902a 100644 --- a/src/NoWarning/tut_result.hpp +++ b/src/NoWarning/tut_result.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/tut_result.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tut/tut_result.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/tut_runner.hpp b/src/NoWarning/tut_runner.hpp index a541bf3b828..f428e93e6a0 100644 --- a/src/NoWarning/tut_runner.hpp +++ b/src/NoWarning/tut_runner.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/tut_runner.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tut/tut_runner.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/tutsuite.decl.h b/src/NoWarning/tutsuite.decl.h index 0d586fc0c5a..fefbcae5c05 100644 --- a/src/NoWarning/tutsuite.decl.h +++ b/src/NoWarning/tutsuite.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/tutsuite.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tutsuite.decl.h with turning off specific compiler warnings */ @@ -67,7 +67,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #ifdef ENABLE_INCITER diff --git a/src/NoWarning/tutsuite.def.h b/src/NoWarning/tutsuite.def.h index 4b08e2442ee..c6902a61adb 100644 --- a/src/NoWarning/tutsuite.def.h +++ b/src/NoWarning/tutsuite.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/tutsuite.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tutsuite.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/tuttest.decl.h b/src/NoWarning/tuttest.decl.h index aceba718e2a..2ad4792c95b 100644 --- a/src/NoWarning/tuttest.decl.h +++ b/src/NoWarning/tuttest.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/tuttest.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tuttest.decl.h with turning off specific compiler warnings */ @@ -66,7 +66,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #ifdef ENABLE_INCITER diff --git a/src/NoWarning/tuttest.def.h b/src/NoWarning/tuttest.def.h index a4c2ffe2188..5acf7239d86 100644 --- a/src/NoWarning/tuttest.def.h +++ b/src/NoWarning/tuttest.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/tuttest.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include tuttest.def.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/uniform.hpp b/src/NoWarning/uniform.hpp index d06832c7233..8eda082aae0 100644 --- a/src/NoWarning/uniform.hpp +++ b/src/NoWarning/uniform.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/uniform.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include Random123/uniform.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/unittest.decl.h b/src/NoWarning/unittest.decl.h index 276cedc29a3..cda1f481584 100644 --- a/src/NoWarning/unittest.decl.h +++ b/src/NoWarning/unittest.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/unittest.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include unittest.decl.h with turning off specific compiler warnings */ diff --git a/src/NoWarning/unittest.def.h b/src/NoWarning/unittest.def.h index d0464fb62eb..ff454dd522e 100644 --- a/src/NoWarning/unittest.def.h +++ b/src/NoWarning/unittest.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/unittest.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include unittest.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/unsmeshmap.decl.h b/src/NoWarning/unsmeshmap.decl.h index e33a940172c..b7865f72da1 100644 --- a/src/NoWarning/unsmeshmap.decl.h +++ b/src/NoWarning/unsmeshmap.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/unsmeshmap.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include unsmeshmap.decl.h with turning off specific compiler warnings @@ -66,7 +66,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../LoadBalance/unsmeshmap.decl.h" diff --git a/src/NoWarning/unsmeshmap.def.h b/src/NoWarning/unsmeshmap.def.h index 7554c5a52b8..ada1017846a 100644 --- a/src/NoWarning/unsmeshmap.def.h +++ b/src/NoWarning/unsmeshmap.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/unsmeshmap.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include unsmeshmap.def.h with turning off specific compiler warnings diff --git a/src/NoWarning/value_factory.hpp b/src/NoWarning/value_factory.hpp index 29783d3b0a7..8a2bceff5ef 100644 --- a/src/NoWarning/value_factory.hpp +++ b/src/NoWarning/value_factory.hpp @@ -3,7 +3,7 @@ \file src/NoWarning/value_factory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include boost/functional/value_factory.hpp with turning off specific compiler warnings diff --git a/src/NoWarning/walker.decl.h b/src/NoWarning/walker.decl.h index 8e094ea179b..e90e3bc44a5 100644 --- a/src/NoWarning/walker.decl.h +++ b/src/NoWarning/walker.decl.h @@ -3,7 +3,7 @@ \file src/NoWarning/walker.decl.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include walker.decl.h with turning off specific compiler warnings */ @@ -63,7 +63,6 @@ #pragma warning( disable: 181 ) #pragma warning( disable: 1720 ) #pragma warning( disable: 1125 ) - #pragma warning( disable: 2282 ) #endif #include "../Main/walker.decl.h" diff --git a/src/NoWarning/walker.def.h b/src/NoWarning/walker.def.h index d1cf56d5416..905c20b10fe 100644 --- a/src/NoWarning/walker.def.h +++ b/src/NoWarning/walker.def.h @@ -3,7 +3,7 @@ \file src/NoWarning/walker.def.h \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Include walker.def.h with turning off specific compiler warnings */ @@ -27,6 +27,7 @@ #pragma clang diagnostic ignored "-Wmissing-noreturn" #pragma clang diagnostic ignored "-Wimplicit-int-conversion" #pragma clang diagnostic ignored "-Wundef" + #pragma clang diagnostic ignored "-Wconversion" #elif defined(STRICT_GNUC) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" diff --git a/src/PDE/CGPDE.cpp b/src/PDE/CGPDE.cpp new file mode 100644 index 00000000000..f59885ef1a6 --- /dev/null +++ b/src/PDE/CGPDE.cpp @@ -0,0 +1,126 @@ +// ***************************************************************************** +/*! + \file src/PDE/CGPDE.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Functions common to ALECG + \details Functions common to ALECG. +*/ +// ***************************************************************************** + +#include +#include +#include + +#include "Vector.hpp" +#include "DerivedData.hpp" +#include "Exception.hpp" +#include "Around.hpp" +#include "Fields.hpp" +#include "CGPDE.hpp" +#include "FunctionPrototypes.hpp" + +namespace inciter { +namespace cg { + +std::vector< tk::real > +solinc( tk::ncomp_t system, tk::ncomp_t ncomp, tk::real x, tk::real y, + tk::real z, tk::real t, tk::real dt, tk::SolutionFn solution ) +// ***************************************************************************** +// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) +// for all components +//! \param[in] system Equation system index, i.e., which equation system we +//! operate on among the systems of PDEs configured by the user +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \param[in] z Z coordinate where to evaluate the solution +//! \param[in] t Time where to evaluate the solution increment starting from +//! \param[in] dt Time increment at which evaluate the solution increment to +//! \param[in] solution Function used to evaluate the solution +//! \return Increment in values of all components evaluated at (x,y,z,t+dt) +// ***************************************************************************** +{ + int inbox = 0; + auto st1 = solution( system, ncomp, x, y, z, t, inbox ); + auto st2 = solution( system, ncomp, x, y, z, t+dt, inbox ); + + std::transform( begin(st1), end(st1), begin(st2), begin(st2), + []( tk::real s, tk::real& d ){ return d -= s; } ); + + return st2; +} + +std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > +bnorm( + const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel, + const std::array< std::vector< tk::real >, 3 >& coord, + const std::vector< std::size_t >& gid, + const std::unordered_map< int, std::unordered_set< std::size_t > >& bcnodes ) +// ***************************************************************************** +//! Compute boundary point normals +//! \param[in] bface Boundary-faces mapped to side sets used in the input file +//! \param[in] triinpoel Boundary-face connectivity where BCs set (local ids) +//! \param[in] coord Mesh node coordinates +//! \param[in] gid Local->global node id map +//! \param[in] bcnodes Local node ids associated to side set ids at which BCs +//! are set that require normals +//! \return Face normals in boundary points, Inner key: local node id, value: +//! unit normal and inverse distance square between face centroids and points, +//! outer key: side set id +// ***************************************************************************** +{ + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // Lambda to compute the inverse distance squared between boundary face + // centroid and boundary point. Here p is the global node id and g is the + // geometry of the boundary face, see tk::geoFaceTri(). + auto invdistsq = [&]( const tk::Fields& g, std::size_t p ){ + return 1.0 / ( (g(0,4,0) - x[p])*(g(0,4,0) - x[p]) + + (g(0,5,0) - y[p])*(g(0,5,0) - y[p]) + + (g(0,6,0) - z[p])*(g(0,6,0) - z[p]) ); + }; + + // Compute boundary point normals on all side sets summing inverse distance + // weighted face normals to points. This is only a partial sum at shared + // boundary points in parallel. Inner key: global node id, value: normals and + // inverse distance square, outer key, side set id. + std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > norm; + for (const auto& [ setid, faceids ] : bface) { // for all side sets + for (auto f : faceids) { // for all side set triangles + tk::UnsMesh::Face + face{ triinpoel[f*3+0], triinpoel[f*3+1], triinpoel[f*3+2] }; + std::array< tk::real, 3 > fx{ x[face[0]], x[face[1]], x[face[2]] }; + std::array< tk::real, 3 > fy{ y[face[0]], y[face[1]], y[face[2]] }; + std::array< tk::real, 3 > fz{ z[face[0]], z[face[1]], z[face[2]] }; + auto g = tk::geoFaceTri( fx, fy, fz ); + for (auto p : face) { // for all 3 nodes of a boundary triangle face + for (const auto& [s,nodes] : bcnodes) { // for all bnd nodes w/ normals + if (setid == s) { // only contribute to side set we operate on + auto i = nodes.find(p); + if (i != end(nodes)) { // only if user set bc on node + tk::real r = invdistsq(g,p); + auto& n = norm[s][gid[p]]; // associate set id and global node id + n[0] += r*g(0,1,0); + n[1] += r*g(0,2,0); + n[2] += r*g(0,3,0); + n[3] += r; + } + } + } + } + } + } + + return norm; +} + +} // cg:: +} // inciter:: diff --git a/src/PDE/CGPDE.hpp b/src/PDE/CGPDE.hpp index 15082933059..ca4ee6c85f8 100644 --- a/src/PDE/CGPDE.hpp +++ b/src/PDE/CGPDE.hpp @@ -3,7 +3,7 @@ \file src/PDE/CGPDE.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Partial differential equation base for continuous Galerkin PDEs \details This file defines a generic partial differential equation (PDE) @@ -29,9 +29,35 @@ #include "Types.hpp" #include "Fields.hpp" +#include "UnsMesh.hpp" +#include "FunctionPrototypes.hpp" +#include "Mesh/CommMap.hpp" +#include "History.hpp" namespace inciter { +namespace cg { + +using ncomp_t = kw::ncomp::info::expect::type; + +//! \brief Evaluate the increment from t to t+dt of an analytical solution at +//! (x,y,z) for all components +std::vector< tk::real > +solinc( tk::ncomp_t system, tk::ncomp_t ncomp, tk::real x, tk::real y, + tk::real z, tk::real t, tk::real dt, tk::SolutionFn solution ); + +//! Compute boundary point normals +std::unordered_map< int, + std::unordered_map< std::size_t, std::array< tk::real, 4 > > > +bnorm( const std::map< int, std::vector< std::size_t > >& bface, + const std::vector< std::size_t >& triinpoel, + const std::array< std::vector< tk::real >, 3 >& coord, + const std::vector< std::size_t >& gid, + const std::unordered_map< int, + std::unordered_set< std::size_t > >& bcnodes ); + +} // cg:: + //! \brief Partial differential equation base for continuous Galerkin PDEs //! \details This class uses runtime polymorphism without client-side //! inheritance: inheritance is confined to the internals of the this class, @@ -44,6 +70,7 @@ class CGPDE { private: using ncomp_t = kw::ncomp::info::expect::type; + using real = tk::real; public: //! Default constructor taking no arguments for Charm++ @@ -80,67 +107,146 @@ class CGPDE { std::move( x( std::forward(args)... ) ) ) ) {} //! Public interface to setting the initial conditions for the diff eq - void initialize( const std::array< std::vector< tk::real >, 3 >& coord, + void initialize( const std::array< std::vector< real >, 3 >& coord, tk::Fields& unk, - tk::real t ) const - { self->initialize( coord, unk, t ); } + real t, + std::vector< std::size_t >& inbox ) + { self->initialize( coord, unk, t, inbox ); } - //! Public interface to computing the left-hand side matrix for the diff eq - void lhs( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& psup, - tk::Fields& lhsd, - tk::Fields& lhso ) const - { self->lhs( coord, inpoel, psup, lhsd, lhso ); } - - //! Public interface to computing the right-hand side vector for the diff eq - void rhs( tk::real t, - tk::real deltat, - const std::array< std::vector< tk::real >, 3 >& coord, + //! Public interface to updating the initial conditions in box ICs + void box( real v, real t, const std::vector< std::size_t >& boxnodes, + const std::array< std::vector< real >, 3 >& coord, + tk::Fields& unk, + std::unordered_set< std::size_t >& boxnodes_set ) const + { self->box( v, t, boxnodes, coord, unk, boxnodes_set ); } + + //! Public interface to computing the nodal gradients for ALECG + void chBndGrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& bndel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const tk::Fields& U, + tk::Fields& G ) const + { self->chBndGrad( coord, inpoel, bndel, gid, bid, U, G ); } + + //! Public interface to computing the right-hand side vector for DiagCG + void rhs( real t, + real deltat, + const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U, tk::Fields& Ue, tk::Fields& R ) const { self->rhs( t, deltat, coord, inpoel, U, Ue, R ); } + //! Public interface to computing the right-hand side vector for ALECG + void rhs( + real t, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& triinpoel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::vector< real >& dfn, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const std::vector< int >& symbctri, + const std::vector< real >& vol, + const std::vector< std::size_t >& edgenode, + const std::vector< std::size_t >& edgeid, + const tk::Fields& G, + const tk::Fields& U, + const std::vector< real >& tp, + tk::Fields& R ) const + { self->rhs( t, coord, inpoel, triinpoel, gid, bid, lid, dfn, psup, esup, + symbctri, vol, edgenode, edgeid, G, U, tp, R ); } + //! Public interface for computing the minimum time step size - tk::real dt( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const tk::Fields& U ) const + real dt( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) const { return self->dt( coord, inpoel, U ); } - //! \brief Public interface for collecting all side set IDs the user has - //! configured for all components of a PDE system - void side( std::unordered_set< int >& conf ) const { self->side( conf ); } + //! Public interface for computing a time step size for each mesh node + void dt( uint64_t it, + const std::vector< real >& vol, + const tk::Fields& U, + std::vector< real >& dtp ) const + { self->dt( it, vol, U, dtp ); } //! \brief Public interface for querying Dirichlet boundary condition values //! set by the user on a given side set for all components in a PDE system - std::map< std::size_t, std::vector< std::pair > > - dirbc( tk::real t, - tk::real deltat, + std::map< std::size_t, std::vector< std::pair > > + dirbc( real t, + real deltat, + const std::vector< real >& tp, + const std::vector< real >& dtp, const std::pair< const int, std::vector< std::size_t > >& sides, - const std::array< std::vector< tk::real >, 3 >& coord ) const - { return self->dirbc( t, deltat, sides, coord ); } + const std::array< std::vector< real >, 3 >& coord ) const + { return self->dirbc( t, deltat, tp, dtp, sides, coord ); } + + //! Public interface to set symmetry boundary conditions at nodes + void + symbc( tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const + { self->symbc( U, coord, bnorm, nodes ); } + + //! Public interface to set farfield boundary conditions at nodes + void + farfieldbc( tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const + { self->farfieldbc( U, coord, bnorm, nodes ); } //! Public interface to returning field output labels std::vector< std::string > fieldNames() const { return self->fieldNames(); } + //! Public interface to returning surface field output labels + std::vector< std::string > surfNames() const { return self->surfNames(); } + + //! Public interface to returning time history field output labels + std::vector< std::string > histNames() const { return self->histNames(); } + //! Public interface to returning variable names std::vector< std::string > names() const { return self->names(); } //! Public interface to returning field output - std::vector< std::vector< tk::real > > fieldOutput( - tk::real t, - tk::real V, - const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< tk::real >& v, + std::vector< std::vector< real > > fieldOutput( + real t, + real V, + std::size_t nunk, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< real >& v, tk::Fields& U ) const - { return self->fieldOutput( t, V, coord, v, U ); } + { return self->fieldOutput( t, V, nunk, coord, v, U ); } + + //! Public interface to returning surface field output + std::vector< std::vector< real > > + surfOutput( const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ) const + { return self->surfOutput( bnd, U ); } + + //! Public interface to returning time history output + std::vector< std::vector< real > > + histOutput( const std::vector< HistData >& h, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) const + { return self->histOutput( h, inpoel, U ); } //! Public interface to returning analytic solution - std::vector< tk::real > - analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const + std::vector< real > + analyticSolution( real xi, real yi, real zi, real t ) const { return self->analyticSolution( xi, yi, zi, t ); } //! Copy assignment @@ -161,41 +267,98 @@ class CGPDE { Concept( const Concept& ) = default; virtual ~Concept() = default; virtual Concept* copy() const = 0; - virtual void initialize( const std::array< std::vector< tk::real >, 3 >&, + virtual void initialize( const std::array< std::vector< real >, 3 >&, tk::Fields&, - tk::real ) const = 0; - virtual void lhs( const std::array< std::vector< tk::real >, 3 >&, - const std::vector< std::size_t >&, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >&, - tk::Fields&, tk::Fields& ) const = 0; - virtual void rhs( tk::real, - tk::real, - const std::array< std::vector< tk::real >, 3 >&, + real, + std::vector< std::size_t >& inbox ) = 0; + virtual void box( + real, real, const std::vector< std::size_t >&, + const std::array< std::vector< real >, 3 >&, + tk::Fields& unk, + std::unordered_set< std::size_t >& boxnodes_set ) const = 0; + virtual void chBndGrad( const std::array< std::vector< real >, 3 >&, + const std::vector< std::size_t >&, + const std::vector< std::size_t >&, + const std::vector< std::size_t >&, + const std::unordered_map< std::size_t, std::size_t >&, + const tk::Fields&, + tk::Fields& ) const = 0; + virtual void rhs( real, + real, + const std::array< std::vector< real >, 3 >&, const std::vector< std::size_t >&, const tk::Fields&, tk::Fields&, tk::Fields& ) const = 0; - virtual tk::real dt( const std::array< std::vector< tk::real >, 3 >&, - const std::vector< std::size_t >&, - const tk::Fields& ) const = 0; - virtual void side( std::unordered_set< int >& conf ) const = 0; - virtual - std::map< std::size_t, std::vector< std::pair > > - dirbc( tk::real, - tk::real, + virtual void rhs( + real, + const std::array< std::vector< real >, 3 >&, + const std::vector< std::size_t >&, + const std::vector< std::size_t >&, + const std::vector< std::size_t >&, + const std::unordered_map< std::size_t, std::size_t >&, + const std::unordered_map< std::size_t, std::size_t >&, + const std::vector< real >&, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >&, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >&, + const std::vector< int >&, + const std::vector< real >&, + const std::vector< std::size_t >&, + const std::vector< std::size_t >&, + const tk::Fields&, + const tk::Fields&, + const std::vector< real >&, + tk::Fields& ) const = 0; + virtual real dt( const std::array< std::vector< real >, 3 >&, + const std::vector< std::size_t >&, + const tk::Fields& ) const = 0; + virtual void dt( uint64_t, + const std::vector< real > &, + const tk::Fields&, + std::vector< real >& ) const = 0; + virtual std::map< std::size_t, std::vector< std::pair > > + dirbc( real, + real, + const std::vector< real >&, + const std::vector< real >&, const std::pair< const int, std::vector< std::size_t > >&, - const std::array< std::vector< tk::real >, 3 >& ) const = 0; + const std::array< std::vector< real >, 3 >& ) const = 0; + virtual void symbc( + tk::Fields& U, + const std::array< std::vector< real >, 3 >&, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >&, + const std::unordered_set< std::size_t >& ) const = 0; + virtual void farfieldbc( + tk::Fields&, + const std::array< std::vector< real >, 3 >&, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >&, + const std::unordered_set< std::size_t >& ) const = 0; virtual std::vector< std::string > fieldNames() const = 0; + virtual std::vector< std::string > surfNames() const = 0; + virtual std::vector< std::string > histNames() const = 0; virtual std::vector< std::string > names() const = 0; - virtual std::vector< std::vector< tk::real > > fieldOutput( - tk::real, - tk::real, - const std::array< std::vector< tk::real >, 3 >&, - const std::vector< tk::real >&, + virtual std::vector< std::vector< real > > fieldOutput( + real, + real, + std::size_t, + const std::array< std::vector< real >, 3 >&, + const std::vector< real >&, + tk::Fields& ) const = 0; + virtual std::vector< std::vector< real > > surfOutput( + const std::map< int, std::vector< std::size_t > >&, tk::Fields& ) const = 0; - virtual std::vector< tk::real > analyticSolution( - tk::real xi, tk::real yi, tk::real zi, tk::real t ) const = 0; + virtual std::vector< std::vector< real > > histOutput( + const std::vector< HistData >&, + const std::vector< std::size_t >&, + const tk::Fields& ) const = 0; + virtual std::vector< real > analyticSolution( + real xi, real yi, real zi, real t ) const = 0; }; //! \brief Model models the Concept above by deriving from it and overriding @@ -204,49 +367,115 @@ class CGPDE { struct Model : Concept { explicit Model( T x ) : data( std::move(x) ) {} Concept* copy() const override { return new Model( *this ); } - void initialize( const std::array< std::vector< tk::real >, 3 >& coord, + void initialize( const std::array< std::vector< real >, 3 >& coord, tk::Fields& unk, - tk::real t ) - const override { data.initialize( coord, unk, t ); } - void lhs( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& psup, - tk::Fields& lhsd, tk::Fields& lhso ) const override - { data.lhs( coord, inpoel, psup, lhsd, lhso ); } - void rhs( tk::real t, - tk::real deltat, - const std::array< std::vector< tk::real >, 3 >& coord, + real t, + std::vector< std::size_t >& inbox ) + override { data.initialize( coord, unk, t, inbox ); } + void box( real v, real t, const std::vector< std::size_t >& boxnodes, + const std::array< std::vector< real >, 3 >& coord, + tk::Fields& unk, + std::unordered_set< std::size_t >& boxnodes_set ) const override + { data.box( v, t, boxnodes, coord, unk, boxnodes_set ); } + void chBndGrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& bndel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const tk::Fields& U, + tk::Fields& G ) const override + { data.chBndGrad( coord, inpoel, bndel, gid, bid, U, G ); } + void rhs( real t, + real deltat, + const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U, tk::Fields& Ue, tk::Fields& R ) const override { data.rhs( t, deltat, coord, inpoel, U, Ue, R ); } - tk::real dt( const std::array< std::vector< tk::real >, 3 >& coord, + void rhs( + real t, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& triinpoel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::vector< real >& dfn, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const std::vector< int >& symbctri, + const std::vector< real >& vol, + const std::vector< std::size_t >& edgenode, + const std::vector< std::size_t >& edgeid, + const tk::Fields& G, + const tk::Fields& U, + const std::vector< real >& tp, + tk::Fields& R ) const override + { data.rhs( t, coord, inpoel, triinpoel, gid, bid, lid, dfn, psup, esup, + symbctri, vol, edgenode, edgeid, G, U, tp, R ); } + real dt( const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U ) const override { return data.dt( coord, inpoel, U ); } - void side( std::unordered_set< int >& conf ) const override - { data.side( conf ); } - std::map< std::size_t, std::vector< std::pair > > - dirbc( tk::real t, - tk::real deltat, + void dt( uint64_t it, + const std::vector< real > & vol, + const tk::Fields& U, + std::vector< real >& dtp ) const override + { data.dt( it, vol, U, dtp ); } + std::map< std::size_t, std::vector< std::pair > > + dirbc( real t, + real deltat, + const std::vector< real >& tp, + const std::vector< real >& dtp, const std::pair< const int, std::vector< std::size_t > >& sides, - const std::array< std::vector< tk::real >, 3 >& coord ) const - override { return data.dirbc( t, deltat, sides, coord ); } + const std::array< std::vector< real >, 3 >& coord ) const + override { return data.dirbc( t, deltat, tp, dtp, sides, coord ); } + void symbc( + tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const override + { data.symbc( U, coord, bnorm, nodes ); } + void farfieldbc( + tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const override + { data.farfieldbc( U, coord, bnorm, nodes ); } std::vector< std::string > fieldNames() const override { return data.fieldNames(); } + std::vector< std::string > surfNames() const override + { return data.surfNames(); } + std::vector< std::string > histNames() const override + { return data.histNames(); } std::vector< std::string > names() const override { return data.names(); } - std::vector< std::vector< tk::real > > fieldOutput( - tk::real t, - tk::real V, - const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< tk::real >& v, + std::vector< std::vector< real > > fieldOutput( + real t, + real V, + std::size_t nunk, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< real >& v, + tk::Fields& U ) const override + { return data.fieldOutput( t, V, nunk, coord, v, U ); } + std::vector< std::vector< real > > surfOutput( + const std::map< int, std::vector< std::size_t > >& bnd, tk::Fields& U ) const override - { return data.fieldOutput( t, V, coord, v, U ); } - std::vector< tk::real > - analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) + { return data.surfOutput( bnd, U ); } + std::vector< std::vector< real > > histOutput( + const std::vector< HistData >& h, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) const override + { return data.histOutput( h, inpoel, U ); } + std::vector< real > + analyticSolution( real xi, real yi, real zi, real t ) const override { return data.analyticSolution( xi, yi, zi, t ); } T data; }; diff --git a/src/PDE/CMakeLists.txt b/src/PDE/CMakeLists.txt index e52f6b24592..adb0e64bfd3 100644 --- a/src/PDE/CMakeLists.txt +++ b/src/PDE/CMakeLists.txt @@ -5,10 +5,15 @@ project(PDE CXX) add_library(PDE PDEStack.cpp Limiter.cpp + PrefIndicator.cpp Reconstruction.cpp ConfigureTransport.cpp ConfigureCompFlow.cpp - ConfigureMultiMat.cpp) + ConfigureMultiMat.cpp + CGPDE.cpp + DGPDE.cpp + CompFlow/RiemannFactory.cpp + MultiMat/RiemannFactory.cpp) target_include_directories(PDE PUBLIC ${QUINOA_SOURCE_DIR} diff --git a/src/PDE/CompFlow/CGCompFlow.hpp b/src/PDE/CompFlow/CGCompFlow.hpp index 70c157b6542..def27e637e3 100644 --- a/src/PDE/CompFlow/CGCompFlow.hpp +++ b/src/PDE/CompFlow/CGCompFlow.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/CGCompFlow.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Compressible single-material flow using continuous Galerkin \details This file implements the physics operators governing compressible @@ -18,10 +18,17 @@ #include #include -#include "Macro.hpp" +#include "DerivedData.hpp" #include "Exception.hpp" #include "Vector.hpp" #include "EoS/EoS.hpp" +#include "Mesh/Around.hpp" +#include "Reconstruction.hpp" +#include "Problem/FieldOutput.hpp" +#include "Riemann/Rusanov.hpp" +#include "NodeBC.hpp" +#include "EoS/EoS.hpp" +#include "History.hpp" namespace inciter { @@ -40,6 +47,15 @@ class CompFlow { private: using ncomp_t = kw::ncomp::info::expect::type; + using eq = tag::compflow; + using real = tk::real; + using param = tag::param; + + static constexpr std::size_t m_ncomp = 5; + static constexpr real muscl_eps = 1.0e-9; + static constexpr real muscl_const = 1.0/3.0; + static constexpr real muscl_m1 = 1.0 - muscl_const; + static constexpr real muscl_p1 = 1.0 + muscl_const; public: //! \brief Constructor @@ -48,138 +64,225 @@ class CompFlow { m_physics(), m_problem(), m_system( c ), - m_ncomp( - g_inputdeck.get< tag::component >().get< tag::compflow >().at(c) ), - m_offset( - g_inputdeck.get< tag::component >().offset< tag::compflow >(c) ) + m_offset( g_inputdeck.get< tag::component >().offset< eq >(c) ), + m_stagCnf( g_inputdeck.specialBC< eq, tag::bcstag >( c ) ), + m_skipCnf( g_inputdeck.specialBC< eq, tag::bcskip >( c ) ), + m_fr( g_inputdeck.get< param, eq, tag::farfield_density >().size() > c ? + g_inputdeck.get< param, eq, tag::farfield_density >()[c] : 1.0 ), + m_fp( g_inputdeck.get< param, eq, tag::farfield_pressure >().size() > c ? + g_inputdeck.get< param, eq, tag::farfield_pressure >()[c] : 1.0 ), + m_fu( g_inputdeck.get< param, eq, tag::farfield_velocity >().size() > c ? + g_inputdeck.get< param, eq, tag::farfield_velocity >()[c] : + std::vector< real >( 3, 0.0 ) ) { - Assert( m_ncomp == 5, "Number of CompFlow PDE components must be 5" ); + Assert( g_inputdeck.get< tag::component >().get< eq >().at(c) == m_ncomp, + "Number of CompFlow PDE components must be " + std::to_string(m_ncomp) ); } //! Initalize the compressible flow equations, prepare for time integration //! \param[in] coord Mesh node coordinates //! \param[in,out] unk Array of unknowns //! \param[in] t Physical time - void initialize( const std::array< std::vector< tk::real >, 3 >& coord, + //! \param[in,out] inbox List of nodes at which box user ICs are set + void initialize( const std::array< std::vector< real >, 3 >& coord, tk::Fields& unk, - tk::real t ) const + real t, + std::vector< std::size_t >& inbox ) const { Assert( coord[0].size() == unk.nunk(), "Size mismatch" ); const auto& x = coord[0]; const auto& y = coord[1]; const auto& z = coord[2]; - // set initial and boundary conditions using problem policy - for (ncomp_t i=0; i - analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const - { - auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t ); - return std::vector< tk::real >( begin(s), end(s) ); - } - - //! Compute the left hand side sparse matrix + //! \param[in] boxnodes Mesh node ids within user-defined box //! \param[in] coord Mesh node coordinates - //! \param[in] inpoel Mesh element connectivity - //! \param[in] psup Linked lists storing IDs of points surrounding points - //! \param[in,out] lhsd Diagonal of the sparse matrix storing nonzeros - //! \param[in,out] lhso Off-diagonal of the sparse matrix storing nonzeros - //! \details Sparse matrix storing the nonzero matrix values at rows and - //! columns given by psup. The format is similar to compressed row - //! storage, but the diagonal and off-diagonal data are stored in separate - //! vectors. For the off-diagonal data the local row and column indices, - //! at which values are nonzero, are stored by psup (psup1 and psup2, - //! where psup2 holds the indices at which psup1 holds the point ids - //! surrounding points, see also tk::genPsup()). Note that the number of - //! mesh points (our chunk) npoin = psup.second.size()-1. - void lhs( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& psup, - tk::Fields& lhsd, - tk::Fields& lhso ) const + //! \param[in,out] unk Array of unknowns + //! \param[in,out] boxnodes_set Box nodes that have been set + //! \details This function sets the fluid density and total specific energy + //! within a box initial condition, configured by the user. If the user + //! is specified a box where mass is specified, we also assume here that + //! internal energy content (energy per unit volume) is also + //! specified. Specific internal energy (energy per unit mass) is then + //! computed here (and added to the kinetic energy) from the internal + //! energy per unit volume by multiplying it with the total box volume + //! and dividing it by the total mass of the material in the box. + //! Example (SI) units of the quantities involved: + //! * internal energy content (energy per unit volume): J/m^3 + //! * specific energy (internal energy per unit mass): J/kg + void box( real V, + real t, + const std::vector< std::size_t >& boxnodes, + const std::array< std::vector< real >, 3 >& coord, + tk::Fields& unk, + std::unordered_set< std::size_t >& boxnodes_set ) const { - Assert( psup.second.size()-1 == coord[0].size(), - "Number of mesh points and number of global IDs unequal" ); - Assert( lhsd.nunk() == psup.second.size()-1, "Number of unknowns in " - "diagonal sparse matrix storage incorrect" ); - Assert( lhso.nunk() == psup.first.size(), "Number of unknowns in " - "off-diagonal sparse matrix storage incorrect" ); - - // Lambda to compute the sparse matrix vector index for row and column - // indices. Used only for off-diagonal entries. - auto spidx = [ &psup ]( std::size_t r, std::size_t c ) -> std::size_t { - Assert( r != c, "Only for computing the off-diagonal indices" ); - for (auto i=psup.second[r]+1; i<=psup.second[r+1]; ++i) - if (c == psup.first[i]) return i; - Throw( "Cannot find row, column: " + std::to_string(r) + ',' + - std::to_string(c) + " in sparse matrix" ); - }; + if (boxnodes_set.size() == boxnodes.size()) return; - const auto& x = coord[0]; - const auto& y = coord[1]; - const auto& z = coord[2]; + const auto& ic = g_inputdeck.get< tag::param, eq, tag::ic >(); + const auto& icbox = ic.get< tag::box >(); + const auto& initiate = icbox.get< tag::initiate >(); + const auto& inittype = initiate.get< tag::init >(); - // Zero matrix for all components - for (ncomp_t c=0; c<5; ++c) { - lhsd.fill( c, m_offset, 0.0 ); - lhso.fill( c, m_offset, 0.0 ); - } + const auto& boxrho = icbox.get< tag::density >(); + const auto& boxvel = icbox.get< tag::velocity >(); + const auto& boxpre = icbox.get< tag::pressure >(); + const auto& boxene = icbox.get< tag::energy >(); + const auto& boxtem = icbox.get< tag::temperature >(); + const auto& boxmas = icbox.get< tag::mass >(); + const auto& boxenc = icbox.get< tag::energy_content >(); - for (std::size_t e=0; e ba{{ x[B]-x[A], y[B]-y[A], z[B]-z[A] }}, - ca{{ x[C]-x[A], y[C]-y[A], z[C]-z[A] }}, - da{{ x[D]-x[A], y[D]-y[A], z[D]-z[A] }}; - const auto J = tk::triple( ba, ca, da ) / 120.0; - Assert( J > 0, "Element Jacobian non-positive" ); + tk::real rho = 0.0, ru = 0.0, rv = 0.0, rw = 0.0, re = 0.0, spi = 0.0; + bool boxmassic = false; + if (boxmas.size() > m_system && !boxmas[m_system].empty()) { + + Assert( boxenc.size() > m_system && !boxenc[m_system].empty(), + "Box energy content unspecified in input file" ); + std::vector< tk::real > + boxdim{ icbox.get< tag::xmin >(), icbox.get< tag::xmax >(), + icbox.get< tag::ymin >(), icbox.get< tag::ymax >(), + icbox.get< tag::zmin >(), icbox.get< tag::zmax >() }; + auto V_ex = (boxdim[1]-boxdim[0]) * (boxdim[3]-boxdim[2]) * + (boxdim[5]-boxdim[4]); + rho = boxmas[m_system][0] / V; + spi = boxenc[m_system][0] * V_ex / (V * rho); + boxmassic = true; - for (ncomp_t c=0; c<5; ++c) { - const auto r = lhsd.cptr( c, m_offset ); - lhsd.var( r, A ) += 2.0 * J; - lhsd.var( r, B ) += 2.0 * J; - lhsd.var( r, C ) += 2.0 * J; - lhsd.var( r, D ) += 2.0 * J; - - const auto s = lhso.cptr( c, m_offset ); - lhso.var( s, spidx(A,B) ) += J; - lhso.var( s, spidx(A,C) ) += J; - lhso.var( s, spidx(A,D) ) += J; - - lhso.var( s, spidx(B,A) ) += J; - lhso.var( s, spidx(B,C) ) += J; - lhso.var( s, spidx(B,D) ) += J; - - lhso.var( s, spidx(C,A) ) += J; - lhso.var( s, spidx(C,B) ) += J; - lhso.var( s, spidx(C,D) ) += J; - - lhso.var( s, spidx(D,A) ) += J; - lhso.var( s, spidx(D,B) ) += J; - lhso.var( s, spidx(D,C) ) += J; + } else { + + if (boxrho.size() > m_system && !boxrho[m_system].empty()) { + rho = boxrho[m_system][0]; + } + if (boxvel.size() > m_system && boxvel[m_system].size() > 2) { + ru = rho * boxvel[m_system][0]; + rv = rho * boxvel[m_system][1]; + rw = rho * boxvel[m_system][2]; + } + if (boxpre.size() > m_system && !boxpre[m_system].empty()) { + re = eos_totalenergy< eq > + ( m_system, rho, ru/rho, rv/rho, rw/rho, boxpre[m_system][0] ); + } + if (boxene.size() > m_system && !boxene[m_system].empty()) { + const auto ux = ru/rho, uy = rv/rho, uz = rw/rho; + const auto ke = 0.5*(ux*ux + uy*uy + uz*uz); + re = rho * (boxene[m_system][0] + ke); } + if (boxtem.size() > m_system && !boxtem[m_system].empty()) + { + const auto& cv = g_inputdeck.get< tag::param, eq, tag::cv >(); + re = rho * boxtem[m_system][0] * cv.at(m_system).at(0); + } + } + + // Initiate type 'impulse' simply assigns the prescribed values to all + // nodes within a box. + if (inittype[m_system] == ctr::InitiateType::IMPULSE) { + + for (auto i : boxnodes) { + // superimpose on existing velocity field + const auto u = unk(i,1,m_offset) / unk(i,0,m_offset), + v = unk(i,2,m_offset) / unk(i,0,m_offset), + w = unk(i,3,m_offset) / unk(i,0,m_offset); + const auto ke = 0.5*(u*u + v*v + w*w); + unk(i,0,m_offset) = rho; + if (boxmassic) { + unk(i,1,m_offset) = rho * u; + unk(i,2,m_offset) = rho * v; + unk(i,3,m_offset) = rho * w; + unk(i,4,m_offset) = rho * (spi + ke); + } else { + unk(i,1,m_offset) = ru; + unk(i,2,m_offset) = rv; + unk(i,3,m_offset) = rw; + unk(i,4,m_offset) = re; + } + } + boxnodes_set.insert( begin(boxnodes), end(boxnodes) ); + + // Initiate type 'linear' assigns the prescribed values to all + // nodes within a box using linearly expanding sphere within which nodes + // get assigned their prescribed values. + } else if (inittype[m_system] == ctr::InitiateType::LINEAR) { + + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // apply box conditions within growing sphere + tk::real box_extent = + std::max( icbox.get< tag::xmax >() - icbox.get< tag::xmin >(), + std::max( icbox.get< tag::ymax >() - icbox.get< tag::ymin >(), + icbox.get< tag::zmax >() - icbox.get< tag::zmin >() ) ); + const auto& p = initiate.get< tag::point >()[ m_system ]; + const auto& r = initiate.get< tag::radius >()[ m_system ]; + const auto& iv = initiate.get< tag::velocity >()[ m_system ]; + Assert( p.size() == r.size()*3, "Size mismatch" ); + Assert( p.size() == iv.size()*3, "Size mismatch" ); + for (std::size_t s=0; s box_extent) // done if initiation front reached box extent + boxnodes_set.insert( begin(boxnodes), end(boxnodes) ); + else + for (auto i : boxnodes) { + auto d = std::sqrt( (x[i]-p[s*3+0])*(x[i]-p[s*3+0]) + + (y[i]-p[s*3+1])*(y[i]-p[s*3+1]) + + (z[i]-p[s*3+2])*(z[i]-p[s*3+2]) ); + if (d > r0t && d < r1t) { + // superimpose on existing velocity field + const auto u = unk(i,1,m_offset)/unk(i,0,m_offset), + v = unk(i,2,m_offset)/unk(i,0,m_offset), + w = unk(i,3,m_offset)/unk(i,0,m_offset); + const auto ke = 0.5*(u*u + v*v + w*w); + unk(i,0,m_offset) = rho; + unk(i,1,m_offset) = rho * u; + unk(i,2,m_offset) = rho * v; + unk(i,3,m_offset) = rho * w; + unk(i,4,m_offset) = rho * (spi + ke); + boxnodes_set.insert( i ); // mark node as set + } + } + } + + } else Throw( "IC box initiate type not implemented" ); + } + + //! Return analytic solution (if defined by Problem) at xi, yi, zi, t + //! \param[in] xi X-coordinate + //! \param[in] yi Y-coordinate + //! \param[in] zi Z-coordinate + //! \param[in] t Physical time + //! \return Vector of analytic solution at given location and time + std::vector< real > + analyticSolution( real xi, real yi, real zi, real t ) const + { + int inbox = 0; + auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t, inbox ); + return std::vector< real >( std::begin(s), std::end(s) ); } - //! Compute right hand side + //! Compute right hand side for DiagCG (CG+FCT) //! \param[in] t Physical time //! \param[in] deltat Size of time step //! \param[in] coord Mesh node coordinates @@ -188,9 +291,9 @@ class CompFlow { //! \param[in,out] Ue Element-centered solution vector at intermediate step //! (used here internally as a scratch array) //! \param[in,out] R Right-hand side vector computed - void rhs( tk::real t, - tk::real deltat, - const std::array< std::vector< tk::real >, 3 >& coord, + void rhs( real t, + real deltat, + const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U, tk::Fields& Ue, @@ -208,12 +311,11 @@ class CompFlow { // 1st stage: update element values from node values (gather-add) for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute element Jacobi determinant - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; @@ -221,7 +323,7 @@ class CompFlow { Assert( J > 0, "Element Jacobian non-positive" ); // shape function derivatives, nnode*ndim [4][3] - std::array< std::array< tk::real, 3 >, 4 > grad; + std::array< std::array< real, 3 >, 4 > grad; grad[1] = tk::crossdiv( ca, da, J ); grad[2] = tk::crossdiv( da, ba, J ); grad[3] = tk::crossdiv( ba, ca, J ); @@ -229,28 +331,30 @@ class CompFlow { grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; // access solution at element nodes - std::array< std::array< tk::real, 4 >, 5 > u; - for (ncomp_t c=0; c<5; ++c) u[c] = U.extract( c, m_offset, N ); + std::array< std::array< real, 4 >, m_ncomp > u; + for (ncomp_t c=0; c ue; - for (ncomp_t c=0; c<5; ++c) ue[c] = Ue.cptr( c, m_offset ); + std::array< const real*, m_ncomp > ue; + for (ncomp_t c=0; c p; + std::array< real, 4 > p; for (std::size_t a=0; a<4; ++a) - p[a] = eos_pressure< tag::compflow > + p[a] = eos_pressure< eq > ( m_system, u[0][a], u[1][a]/u[0][a], u[2][a]/u[0][a], u[3][a]/u[0][a], u[4][a] ); - // sum nodal averages to element - for (ncomp_t c=0; c<5; ++c) { - Ue.var(ue[c],e) = 0.0; - for (std::size_t a=0; a<4; ++a) - Ue.var(ue[c],e) += u[c][a]/4.0; - } - // sum flux contributions to element - tk::real d = deltat/2.0; + real d = deltat/2.0; for (std::size_t j=0; j<3; ++j) for (std::size_t a=0; a<4; ++a) { // mass: advection @@ -266,29 +370,22 @@ class CompFlow { } // add (optional) source to all equations - std::array< std::vector< tk::real >, 4 > s{{ - Problem::src( m_system, m_ncomp, x[N[0]], y[N[0]], z[N[0]], t ), - Problem::src( m_system, m_ncomp, x[N[1]], y[N[1]], z[N[1]], t ), - Problem::src( m_system, m_ncomp, x[N[2]], y[N[2]], z[N[2]], t ), - Problem::src( m_system, m_ncomp, x[N[3]], y[N[3]], z[N[3]], t ) }}; - for (std::size_t c=0; c<5; ++c) - for (std::size_t a=0; a<4; ++a) - Ue.var(ue[c],e) += d/4.0 * s[a][c]; - + for (std::size_t a=0; a<4; ++a) { + real s[m_ncomp]; + Problem::src( m_system, x[N[a]], y[N[a]], z[N[a]], t, + s[0], s[1], s[2], s[3], s[4] ); + for (std::size_t c=0; c N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute element Jacobi determinant - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; @@ -296,7 +393,7 @@ class CompFlow { Assert( J > 0, "Element Jacobian non-positive" ); // shape function derivatives, nnode*ndim [4][3] - std::array< std::array< tk::real, 3 >, 4 > grad; + std::array< std::array< real, 3 >, 4 > grad; grad[1] = tk::crossdiv( ca, da, J ); grad[2] = tk::crossdiv( da, ba, J ); grad[3] = tk::crossdiv( ba, ca, J ); @@ -304,19 +401,19 @@ class CompFlow { grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; // access solution at elements - std::array< tk::real, 5 > ue; - for (ncomp_t c=0; c<5; ++c) ue[c] = Ue( e, c, m_offset ); + std::array< real, m_ncomp > ue; + for (ncomp_t c=0; c r; - for (ncomp_t c=0; c<5; ++c) r[c] = R.cptr( c, m_offset ); + std::array< const real*, m_ncomp > r; + for (ncomp_t c=0; c + auto p = eos_pressure< eq > ( m_system, ue[0], ue[1]/ue[0], ue[2]/ue[0], ue[3]/ue[0], ue[4] ); // scatter-add flux contributions to rhs at nodes - tk::real d = deltat * J/6.0; + real d = deltat * J/6.0; for (std::size_t j=0; j<3; ++j) for (std::size_t a=0; a<4; ++a) { // mass: advection @@ -334,11 +431,12 @@ class CompFlow { auto xc = (x[N[0]] + x[N[1]] + x[N[2]] + x[N[3]]) / 4.0; auto yc = (y[N[0]] + y[N[1]] + y[N[2]] + y[N[3]]) / 4.0; auto zc = (z[N[0]] + z[N[1]] + z[N[2]] + z[N[3]]) / 4.0; - auto s = Problem::src( m_system, m_ncomp, xc, yc, zc, t+deltat/2 ); - for (std::size_t c=0; c<5; ++c) + real s[m_ncomp]; + Problem::src( m_system, xc, yc, zc, t+deltat/2, + s[0], s[1], s[2], s[3], s[4] ); + for (std::size_t c=0; cglobal node id map + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] U Solution vector at recent time step + //! \param[in,out] G Nodal gradients of primitive variables + //! \details This function only computes local contributions to gradients + //! at chare-boundary nodes. Internal node gradients are calculated as + //! required, and do not need to be stored. + void chBndGrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& bndel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const tk::Fields& U, + tk::Fields& G ) const + { + Assert( U.nunk() == coord[0].size(), "Number of unknowns in solution " + "vector at recent time step incorrect" ); + + // compute gradients of primitive variables in points + G.fill( 0.0 ); + + // access node cooordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + for (auto e : bndel) { // elements contributing to chare boundary nodes + // access node IDs + std::size_t N[4] = + { inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }; + // compute element Jacobi determinant, J = 6V + real bax = x[N[1]]-x[N[0]]; + real bay = y[N[1]]-y[N[0]]; + real baz = z[N[1]]-z[N[0]]; + real cax = x[N[2]]-x[N[0]]; + real cay = y[N[2]]-y[N[0]]; + real caz = z[N[2]]-z[N[0]]; + real dax = x[N[3]]-x[N[0]]; + real day = y[N[3]]-y[N[0]]; + real daz = z[N[3]]-z[N[0]]; + auto J = tk::triple( bax, bay, baz, cax, cay, caz, dax, day, daz ); + auto J24 = J/24.0; + // shape function derivatives, nnode*ndim [4][3] + real g[4][3]; + tk::crossdiv( cax, cay, caz, dax, day, daz, J, + g[1][0], g[1][1], g[1][2] ); + tk::crossdiv( dax, day, daz, bax, bay, baz, J, + g[2][0], g[2][1], g[2][2] ); + tk::crossdiv( bax, bay, baz, cax, cay, caz, J, + g[3][0], g[3][1], g[3][2] ); + for (std::size_t i=0; i<3; ++i) + g[0][i] = -g[1][i] - g[2][i] - g[3][i]; + // scatter-add gradient contributions to boundary nodes + for (std::size_t a=0; a<4; ++a) { + auto i = bid.find( gid[N[a]] ); + if (i != end(bid)) { + real u[5]; + for (std::size_t b=0; b<4; ++b) { + u[0] = U(N[b],0,m_offset); + u[1] = U(N[b],1,m_offset)/u[0]; + u[2] = U(N[b],2,m_offset)/u[0]; + u[3] = U(N[b],3,m_offset)/u[0]; + u[4] = U(N[b],4,m_offset)/u[0] + - 0.5*(u[1]*u[1] + u[2]*u[2] + u[3]*u[3]); + if ( !skipPoint(x[N[b]],y[N[b]],z[N[b]]) && + stagPoint(x[N[b]],y[N[b]],z[N[b]]) ) + { + u[1] = u[2] = u[3] = 0.0; + } + for (std::size_t c=0; c<5; ++c) + for (std::size_t j=0; j<3; ++j) + G(i->second,c*3+j,0) += J24 * g[b][j] * u[c]; + } + } + } + } + } + + //! Compute right hand side for ALECG + //! \param[in] t Physical time + //! \param[in] coord Mesh node coordinates + //! \param[in] inpoel Mesh element connectivity + //! \param[in] triinpoel Boundary triangle face connecitivity with local ids + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] gid Local->glocal node ids + //! \param[in] lid Global->local node ids + //! \param[in] dfn Dual-face normals + //! \param[in] psup Points surrounding points + //! \param[in] symbctri Vector with 1 at symmetry BC boundary triangles + //! \param[in] vol Nodal volumes + //! \param[in] edgenode Local node IDs of edges + //! \param[in] edgeid Edge ids in the order of access + //! \param[in] G Nodal gradients + //! \param[in] U Solution vector at recent time step + //! \param[in] tp Physical time for each mesh node + //! \param[in,out] R Right-hand side vector computed + void rhs( real t, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& triinpoel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::vector< real >& dfn, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const std::vector< int >& symbctri, + const std::vector< real >& vol, + const std::vector< std::size_t >& edgenode, + const std::vector< std::size_t >& edgeid, + const tk::Fields& G, + const tk::Fields& U, + const std::vector< tk::real >& tp, + tk::Fields& R ) const + { + Assert( G.nprop() == m_ncomp*3, + "Number of components in gradient vector incorrect" ); + Assert( U.nunk() == coord[0].size(), "Number of unknowns in solution " + "vector at recent time step incorrect" ); + Assert( R.nunk() == coord[0].size(), + "Number of unknowns and/or number of components in right-hand " + "side vector incorrect" ); + + // compute/assemble gradients in points + auto Grad = nodegrad( coord, inpoel, lid, bid, vol, esup, U, G ); + + // zero right hand side for all components + for (ncomp_t c=0; c, 3 >& coord, + real dt( const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U ) const { @@ -361,34 +607,33 @@ class CompFlow { const auto& y = coord[1]; const auto& z = coord[2]; // ratio of specific heats - auto g = g_inputdeck.get< tag::param, tag::compflow, tag::gamma >()[0][0]; + auto g = g_inputdeck.get< tag::param, eq, tag::gamma >()[0][0]; // compute the minimum dt across all elements we own - tk::real mindt = std::numeric_limits< tk::real >::max(); + real mindt = std::numeric_limits< real >::max(); for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute cubic root of element volume as the characteristic length - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; const auto L = std::cbrt( tk::triple( ba, ca, da ) / 6.0 ); // access solution at element nodes at recent time step - std::array< std::array< tk::real, 4 >, 5 > u; - for (ncomp_t c=0; c<5; ++c) u[c] = U.extract( c, m_offset, N ); + std::array< std::array< real, 4 >, m_ncomp > u; + for (ncomp_t c=0; c - ( m_system, r, ru/r, rv/r, rw/r, re ); + auto p = eos_pressure< eq >( m_system, r, ru/r, rv/r, rw/r, re ); if (p < 0) p = 0.0; - auto c = eos_soundspeed< tag::compflow >( m_system, r, p ); + auto c = eos_soundspeed< eq >( m_system, r, p ); auto v = std::sqrt((ru*ru + rv*rv + rw*rw)/r/r) + c; // char. velocity if (v > maxvel) maxvel = v; } @@ -403,59 +648,84 @@ class CompFlow { // find minimum dt across all elements if (elemdt < mindt) mindt = elemdt; } - return mindt; + return mindt * g_inputdeck.get< tag::discr, tag::cfl >(); + } + + //! Compute a time step size for each mesh node + //! \param[in] U Solution vector at recent time step + //! \param[in] vol Nodal volume (with contributions from other chares) + //! \param[in,out] dtp Time step size for each mesh node + void dt( uint64_t, + const std::vector< tk::real >& vol, + const tk::Fields& U, + std::vector< tk::real >& dtp ) const + { + for (std::size_t i=0; i + ( m_system, u[0], u[1]/u[0], u[2]/u[0], u[3]/u[0], u[4] ); + if (p < 0) p = 0.0; + auto c = eos_soundspeed< eq >( m_system, u[0], p ); + // characteristic velocity + auto v = std::sqrt((u[1]*u[1] + u[2]*u[2] + u[3]*u[3])/u[0]/u[0]) + c; + // compute dt for node + dtp[i] = L / v * g_inputdeck.get< tag::discr, tag::cfl >(); + } } //! Extract the velocity field at cell nodes. Currently unused. //! \param[in] U Solution vector at recent time step //! \param[in] N Element node indices //! \return Array of the four values of the velocity field - std::array< std::array< tk::real, 4 >, 3 > + std::array< std::array< real, 4 >, 3 > velocity( const tk::Fields& U, - const std::array< std::vector< tk::real >, 3 >&, + const std::array< std::vector< real >, 3 >&, const std::array< std::size_t, 4 >& N ) const { - std::array< std::array< tk::real, 4 >, 3 > v; + std::array< std::array< real, 4 >, 3 > v; v[0] = U.extract( 1, m_offset, N ); v[1] = U.extract( 2, m_offset, N ); v[2] = U.extract( 3, m_offset, N ); auto r = U.extract( 0, m_offset, N ); std::transform( r.begin(), r.end(), v[0].begin(), v[0].begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); + []( real s, real& d ){ return d /= s; } ); std::transform( r.begin(), r.end(), v[1].begin(), v[1].begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); + []( real s, real& d ){ return d /= s; } ); std::transform( r.begin(), r.end(), v[2].begin(), v[2].begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); + []( real s, real& d ){ return d /= s; } ); return v; } - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - //! \param[in,out] conf Set of unique side set IDs to add to - void side( std::unordered_set< int >& conf ) const - { m_problem.side( conf ); } - //! \brief Query Dirichlet boundary condition value on a given side set for //! all components in this PDE system //! \param[in] t Physical time //! \param[in] deltat Time step size + //! \param[in] tp Physical time for each mesh node + //! \param[in] dtp Time step size for each mesh node //! \param[in] ss Pair of side set ID and (local) node IDs on the side set //! \param[in] coord Mesh node coordinates //! \return Vector of pairs of bool and boundary condition value associated //! to mesh node IDs at which Dirichlet boundary conditions are set. Note //! that instead of the actual boundary condition value, we return the - //! increment between t+dt and t, since that is what the solution requires + //! increment between t+deltat and t, since that is what the solution requires //! as we solve for the soution increments and not the solution itself. - std::map< std::size_t, std::vector< std::pair > > - dirbc( tk::real t, - tk::real deltat, + std::map< std::size_t, std::vector< std::pair > > + dirbc( real t, + real deltat, + const std::vector< tk::real >& tp, + const std::vector< tk::real >& dtp, const std::pair< const int, std::vector< std::size_t > >& ss, - const std::array< std::vector< tk::real >, 3 >& coord ) const + const std::array< std::vector< real >, 3 >& coord ) const { - using tag::param; using tag::compflow; using tag::bcdir; - using NodeBC = std::vector< std::pair< bool, tk::real > >; + using tag::param; using tag::bcdir; + using NodeBC = std::vector< std::pair< bool, real > >; std::map< std::size_t, NodeBC > bc; - const auto& ubc = g_inputdeck.get< param, compflow, bcdir >(); + const auto& ubc = g_inputdeck.get< param, eq, tag::bc, bcdir >(); + const auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); if (!ubc.empty()) { Assert( ubc.size() > 0, "Indexing out of Dirichlet BC eq-vector" ); const auto& x = coord[0]; @@ -465,8 +735,9 @@ class CompFlow { if (std::stoi(b) == ss.first) for (auto n : ss.second) { Assert( x.size() > n, "Indexing out of coordinate array" ); - auto s = m_problem.solinc( m_system, m_ncomp, x[n], y[n], z[n], - t, deltat ); + if (steady) { t = tp[n]; deltat = dtp[n]; } + auto s = solinc( m_system, m_ncomp, x[n], y[n], z[n], + t, deltat, Problem::solution ); bc[n] = {{ {true,s[0]}, {true,s[1]}, {true,s[2]}, {true,s[3]}, {true,s[4]} }}; } @@ -474,11 +745,119 @@ class CompFlow { return bc; } + //! Set symmetry boundary conditions at nodes + //! \param[in] U Solution vector at recent time step + //! \param[in] coord Mesh node coordinates + //! \param[in] bnorm Face normals in boundary points, key local node id, + //! first 3 reals of value: unit normal, outer key: side set id + //! \param[in] nodes Unique set of node ids at which to set symmetry BCs + void + symbc( tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const + { + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + const auto& sbc = g_inputdeck.get< param, eq, tag::bc, tag::bcsym >(); + if (sbc.size() > m_system) // use symbcs for this system + for (auto p : nodes) // for all symbc nodes + if (!skipPoint(x[p],y[p],z[p])) + for (const auto& s : sbc[m_system]) {// for all user-def symbc sets + auto j = bnorm.find(std::stoi(s));// find nodes & normals for side + if (j != end(bnorm)) { + auto i = j->second.find(p); // find normal for node + if (i != end(j->second)) { + std::array< real, 3 > + n{ i->second[0], i->second[1], i->second[2] }, + v{ U(p,1,m_offset), U(p,2,m_offset), U(p,3,m_offset) }; + auto v_dot_n = tk::dot( v, n ); + U(p,1,m_offset) -= v_dot_n * n[0]; + U(p,2,m_offset) -= v_dot_n * n[1]; + U(p,3,m_offset) -= v_dot_n * n[2]; + } + } + } + } + + //! Set farfield boundary conditions at nodes + //! \param[in] U Solution vector at recent time step + //! \param[in] coord Mesh node coordinates + //! \param[in] bnorm Face normals in boundary points, key local node id, + //! first 3 reals of value: unit normal, outer key: side set id + //! \param[in] nodes Unique set of node ids at which to set farfield BCs + void + farfieldbc( + tk::Fields& U, + const std::array< std::vector< real >, 3 >& coord, + const std::unordered_map< int, + std::unordered_map< std::size_t, std::array< real, 4 > > >& bnorm, + const std::unordered_set< std::size_t >& nodes ) const + { + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + const auto& fbc = g_inputdeck.get(); + if (fbc.size() > m_system) // use farbcs for this system + for (auto p : nodes) // for all farfieldbc nodes + if (!skipPoint(x[p],y[p],z[p])) + for (const auto& s : fbc[m_system]) {// for all user-def farbc sets + auto j = bnorm.find(std::stoi(s));// find nodes & normals for side + if (j != end(bnorm)) { + auto i = j->second.find(p); // find normal for node + if (i != end(j->second)) { + auto& r = U(p,0,m_offset); + auto& ru = U(p,1,m_offset); + auto& rv = U(p,2,m_offset); + auto& rw = U(p,3,m_offset); + auto& re = U(p,4,m_offset); + auto vn = + (ru*i->second[0] + rv*i->second[1] + rw*i->second[2]) / r; + auto a = eos_soundspeed< eq >( m_system, r, + eos_pressure< eq >( m_system, r, ru/r, rv/r, rw/r, re ) ); + auto M = vn / a; + if (M <= -1.0) { // supersonic inflow + r = m_fr; + ru = m_fr * m_fu[0]; + rv = m_fr * m_fu[1]; + rw = m_fr * m_fu[2]; + re = eos_totalenergy< eq > + ( m_system, m_fr, m_fu[0], m_fu[1], m_fu[2], m_fp ); + } else if (M > -1.0 && M < 0.0) { // subsonic inflow + r = m_fr; + ru = m_fr * m_fu[0]; + rv = m_fr * m_fu[1]; + rw = m_fr * m_fu[2]; + re = + eos_totalenergy< eq >( m_system, m_fr, m_fu[0], m_fu[1], + m_fu[2], eos_pressure< eq >( m_system, r, ru/r, rv/r, + rw/r, re ) ); + } else if (M >= 0.0 && M < 1.0) { // subsonic outflow + re = eos_totalenergy< eq >( m_system, r, ru/r, rv/r, rw/r, + m_fp ); + } + } + } + } + } + //! Return field names to be output to file //! \return Vector of strings labelling fields output in file std::vector< std::string > fieldNames() const { return m_problem.fieldNames( m_ncomp ); } + //! Return surface field names to be output to file + //! \return Vector of strings labelling surface fields output in file + std::vector< std::string > surfNames() const + { return CompFlowSurfNames(); } + + //! Return time history field names to be output to file + //! \return Vector of strings labelling time history fields output in file + std::vector< std::string > histNames() const + { return CompFlowHistNames(); } + //! Return field output going to file //! \param[in] t Physical time //! \param[in] V Total mesh volume @@ -489,14 +868,28 @@ class CompFlow { std::vector< std::vector< tk::real > > fieldOutput( tk::real t, tk::real V, + std::size_t nunk, const std::array< std::vector< tk::real >, 3 >& coord, const std::vector< tk::real >& v, tk::Fields& U ) const { - return - m_problem.fieldOutput( m_system, m_ncomp, m_offset, t, V, v, coord, U ); + return m_problem.fieldOutput( m_system, m_ncomp, m_offset, nunk, t, + V, v, coord, U ); } + //! Return surface field output going to file + std::vector< std::vector< real > > + surfOutput( const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ) const + { return CompFlowSurfOutput( m_system, bnd, U ); } + + //! Return time history field output evaluated at time history points + std::vector< std::vector< real > > + histOutput( const std::vector< HistData >& h, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) const + { return CompFlowHistOutput( m_system, h, inpoel, U ); } + //! Return names of integral variables to be output to diagnostics file //! \return Vector of strings labelling integral variables output std::vector< std::string > names() const @@ -506,8 +899,492 @@ class CompFlow { const Physics m_physics; //!< Physics policy const Problem m_problem; //!< Problem policy const ncomp_t m_system; //!< Equation system index - const ncomp_t m_ncomp; //!< Number of components in this PDE const ncomp_t m_offset; //!< Offset PDE operates from + //! Stagnation BC user configuration: point coordinates and radii + const std::tuple< std::vector< real >, std::vector< real > > m_stagCnf; + //! Skip BC user configuration: point coordinates and radii + const std::tuple< std::vector< real >, std::vector< real > > m_skipCnf; + const real m_fr; //!< Farfield density + const real m_fp; //!< Farfield pressure + const std::vector< real > m_fu; //!< Farfield velocity + + //! Decide if point is a stagnation point + //! \param[in] x X mesh point coordinates to query + //! \param[in] y Y mesh point coordinates to query + //! \param[in] z Z mesh point coordinates to query + //! \return True if point is configured as a stagnation point by the user + #pragma omp declare simd + bool + stagPoint( real x, real y, real z ) const { + const auto& pnt = std::get< 0 >( m_stagCnf ); + const auto& rad = std::get< 1 >( m_stagCnf ); + for (std::size_t i=0; i( m_skipCnf ); + const auto& rad = std::get< 1 >( m_skipCnf ); + for (std::size_t i=0; ilocal node ids + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] vol Nodal volumes + //! \param[in] U Solution vector at recent time step + //! \param[in] G Nodal gradients of primitive variables in chare-boundary nodes + //! \return Gradients of primitive variables in all mesh points + tk::Fields + nodegrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::vector< real >& vol, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const tk::Fields& U, + const tk::Fields& G ) const + { + // allocate storage for nodal gradients of primitive variables + tk::Fields Grad( U.nunk(), m_ncomp*3 ); + Grad.fill( 0.0 ); + + // access node cooordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // compute gradients of primitive variables in points + auto npoin = U.nunk(); + #pragma omp simd + for (std::size_t p=0; pglocal node ids + //! \param[in] edgenode Local node ids of edges + //! \param[in] edgeid Local node id pair -> edge id map + //! \param[in] psup Points surrounding points + //! \param[in] dfn Dual-face normals + //! \param[in] U Solution vector at recent time step + //! \param[in] G Nodal gradients + //! \param[in,out] R Right-hand side vector computed + void domainint( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& gid, + const std::vector< std::size_t >& edgenode, + const std::vector< std::size_t >& edgeid, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::vector< real >& dfn, + const tk::Fields& U, + const tk::Fields& G, + tk::Fields& R ) const + { + // domain-edge integral: compute fluxes in edges + std::vector< real > dflux( edgenode.size()/2 * m_ncomp ); + + // access node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + #pragma omp simd + for (std::size_t e=0; e r; + for (ncomp_t c=0; c gid[q] ? -1.0 : 1.0; + auto e = edgeid[k++]; + // the 2.0 in the following expression is so that the RHS contribution + // conforms with Eq 12 (Waltz et al. Computers & fluids (92) 2014); + // The 1/2 in Eq 12 is extracted from the flux function (Rusanov). + // However, Rusanov::flux computes the flux with the 1/2. This 2 + // cancels with the 1/2 in Rusanov::flux, so that the 1/2 can be + // extracted out and multiplied as in Eq 12 + for (std::size_t c=0; c vw{ x[q]-x[p], y[q]-y[p], z[q]-z[p] }; + + real delta1[5], delta2[5], delta3[5]; + std::array< real, 5 > ls{ rL, uL, vL, wL, eL }; + std::array< real, 5 > rs{ rR, uR, vR, wR, eR }; + auto url = ls; + auto urr = rs; + + // MUSCL reconstruction of edge-end-point primitive variables + for (std::size_t c=0; c<5; ++c) { + // gradients + std::array< real, 3 > g1{ G(p,c*3+0,0), G(p,c*3+1,0), G(p,c*3+2,0) }, + g2{ G(q,c*3+0,0), G(q,c*3+1,0), G(q,c*3+2,0) }; + + delta2[c] = rs[c] - ls[c]; + delta1[c] = 2.0 * tk::dot(g1,vw) - delta2[c]; + delta3[c] = 2.0 * tk::dot(g2,vw) - delta2[c]; + + // form limiters + auto rcL = (delta2[c] + muscl_eps) / (delta1[c] + muscl_eps); + auto rcR = (delta2[c] + muscl_eps) / (delta3[c] + muscl_eps); + auto rLinv = (delta1[c] + muscl_eps) / (delta2[c] + muscl_eps); + auto rRinv = (delta3[c] + muscl_eps) / (delta2[c] + muscl_eps); + + auto phiL = (std::abs(rcL) + rcL) / (std::abs(rcL) + 1.0); + auto phiR = (std::abs(rcR) + rcR) / (std::abs(rcR) + 1.0); + auto phi_L_inv = (std::abs(rLinv) + rLinv) / (std::abs(rLinv) + 1.0); + auto phi_R_inv = (std::abs(rRinv) + rRinv) / (std::abs(rRinv) + 1.0); + + // update unknowns with reconstructed unknowns + url[c] += 0.25*(delta1[c]*muscl_m1*phiL + delta2[c]*muscl_p1*phi_L_inv); + urr[c] -= 0.25*(delta3[c]*muscl_m1*phiR + delta2[c]*muscl_p1*phi_R_inv); + } + + // force first order if the reconstructions for density or internal energy + // would have allowed negative values + if (ls[0] < delta1[0] || ls[4] < delta1[4]) url = ls; + if (rs[0] < -delta3[0] || rs[4] < -delta3[4]) urr = rs; + + rL = url[0]; + uL = url[1]; + vL = url[2]; + wL = url[3]; + eL = url[4]; + + rR = urr[0]; + uR = urr[1]; + vR = urr[2]; + wR = urr[3]; + eR = urr[4]; + } + + //! Compute boundary integrals for ALECG + //! \param[in] coord Mesh node coordinates + //! \param[in] triinpoel Boundary triangle face connecitivity with local ids + //! \param[in] symbctri Vector with 1 at symmetry BC boundary triangles + //! \param[in] U Solution vector at recent time step + //! \param[in,out] R Right-hand side vector computed + void bndint( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& triinpoel, + const std::vector< int >& symbctri, + const tk::Fields& U, + tk::Fields& R ) const + { + + // access node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // boundary integrals: compute fluxes in edges + std::vector< real > bflux( triinpoel.size() * m_ncomp * 2 ); + + #pragma omp simd + for (std::size_t e=0; e( m_system, rA, ruA/rA, rvA/rA, rwA/rA, reA ); + vn = sym ? 0.0 : (nx*ruA + ny*rvA + nz*rwA) / rA; + f[0][0] = rA*vn; + f[1][0] = ruA*vn + p*nx; + f[2][0] = rvA*vn + p*ny; + f[3][0] = rwA*vn + p*nz; + f[4][0] = (reA + p)*vn; + p = eos_pressure< eq >( m_system, rB, ruB/rB, rvB/rB, rwB/rB, reB ); + vn = sym ? 0.0 : (nx*ruB + ny*rvB + nz*rwB) / rB; + f[0][1] = rB*vn; + f[1][1] = ruB*vn + p*nx; + f[2][1] = rvB*vn + p*ny; + f[3][1] = rwB*vn + p*nz; + f[4][1] = (reB + p)*vn; + p = eos_pressure< eq >( m_system, rC, ruC/rC, rvC/rC, rwC/rC, reC ); + vn = sym ? 0.0 : (nx*ruC + ny*rvC + nz*rwC) / rC; + f[0][2] = rC*vn; + f[1][2] = ruC*vn + p*nx; + f[2][2] = rvC*vn + p*ny; + f[3][2] = rwC*vn + p*nz; + f[4][2] = (reC + p)*vn; + // compute face area + auto A6 = tk::area( x[N[0]], x[N[1]], x[N[2]], + y[N[0]], y[N[1]], y[N[2]], + z[N[0]], z[N[1]], z[N[2]] ) / 6.0; + auto A24 = A6/4.0; + // store flux in boundary elements + for (std::size_t c=0; c r; + for (ncomp_t c=0; c, 3 >& coord, + const std::vector< std::size_t >& inpoel, + real t, + const std::vector< tk::real >& tp, + tk::Fields& R ) const + { + // access node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // access pointer to right hand side at component and offset + std::array< const real*, m_ncomp > r; + for (ncomp_t c=0; c()) t = tp[N[a]]; + Problem::src( m_system, x[N[a]], y[N[a]], z[N[a]], t, + s[0], s[1], s[2], s[3], s[4] ); + for (std::size_t c=0; c #include +#include + #include "Macro.hpp" #include "Exception.hpp" #include "Vector.hpp" @@ -34,7 +36,7 @@ #include "Integrate/Boundary.hpp" #include "Integrate/Volume.hpp" #include "Integrate/Source.hpp" -#include "Integrate/Riemann/RiemannFactory.hpp" +#include "RiemannFactory.hpp" #include "EoS/EoS.hpp" #include "Reconstruction.hpp" #include "Limiter.hpp" @@ -55,27 +57,8 @@ template< class Physics, class Problem > class CompFlow { private: - using ncomp_t = kw::ncomp::info::expect::type; - using bcconf_t = kw::sideset::info::expect::type; using eq = tag::compflow; - //! Extract BC configuration ignoring if BC not specified - //! \param[in] c Equation system index (among multiple systems configured) - //! \return Vector of BC config of type bcconf_t used to apply BCs for all - //! scalar components this Euler eq system is configured for - //! \note A more preferable way of catching errors such as this function - //! hides is during parsing, so that we don't even get here if BCs are not - //! correctly specified. For now we simply ignore if BCs are not - //! specified by allowing empty BC vectors from the user input. - template< typename bctag > - std::vector< bcconf_t > - config( ncomp_t c ) { - std::vector< bcconf_t > bc; - const auto& v = g_inputdeck.get< tag::param, eq, bctag >(); - if (v.size() > c) bc = v[c]; - return bc; - } - public: //! Constructor //! \param[in] c Equation system index (among multiple systems configured) @@ -85,14 +68,19 @@ class CompFlow { m_system( c ), m_ncomp( g_inputdeck.get< tag::component, eq >().at(c) ), m_offset( g_inputdeck.get< tag::component >().offset< eq >(c) ), - m_riemann( tk::cref_find( RiemannSolvers(), - g_inputdeck.get< tag::discr, tag::flux >() ) ), - m_bcdir( config< tag::bcdir >( c ) ), - m_bcsym( config< tag::bcsym >( c ) ), - m_bcextrapolate( config< tag::bcextrapolate >( c ) ) - //ErrChk( !m_bcdir.empty() || !m_bcsym.empty() || !m_bcextrapolate.empty(), - // "Boundary conditions not set in control file for DG CompFlow" ); - {} + m_riemann(tk::cref_find(compflowRiemannSolvers(), + g_inputdeck.get< tag::param, tag::compflow, tag::flux >().at(m_system))) + { + // associate boundary condition configurations with state functions, the + // order in which the state functions listed matters, see ctr::bc::Keys + brigand::for_each< ctr::bc::Keys >( ConfigBC< eq >( m_system, m_bc, + { dirichlet + , symmetry + , invalidBC // Inlet BC not implemented + , invalidBC // Outlet BC not implemented + , farfield + , extrapolate } ) ); + } //! Find the number of primitive quantities required for this PDE system //! \return The number of primitive quantities required to be stored for @@ -125,7 +113,8 @@ class CompFlow { //! \param[in] geoElem Element geometry array //! \param[in,out] l Block diagonal mass matrix void lhs( const tk::Fields& geoElem, tk::Fields& l ) const { - tk::mass( m_ncomp, m_offset, geoElem, l ); + const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); + tk::mass( m_ncomp, m_offset, ndof, geoElem, l ); } //! Update the primitives for this PDE system @@ -137,6 +126,14 @@ class CompFlow { tk::Fields&, std::size_t ) const {} + //! Clean up the state of trace materials for this PDE system + //! \details This function cleans up the state of materials present in trace + //! quantities in each cell. This is unused for compflow. + void cleanTraceMaterial( const tk::Fields&, + tk::Fields&, + tk::Fields&, + std::size_t ) const {} + //! Reconstruct second-order solution from first-order using least-squares //! \param[in] t Physical time //! \param[in] geoFace Face geometry array @@ -145,57 +142,52 @@ class CompFlow { //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in,out] U Solution vector at recent time step + //! \param[in,out] P Primitive vector at recent time step void reconstruct( tk::real t, const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >&, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, tk::Fields& U, - tk::Fields& ) const + tk::Fields& P ) const { const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + const auto nelem = fd.Esuel().size()/4; Assert( U.nprop() == rdof*5, "Number of components in solution " "vector must equal "+ std::to_string(rdof*5) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > - bctypes{{ - { m_bcdir, Dirichlet }, - { m_bcsym, Symmetry }, - { m_bcextrapolate, Extrapolate } }}; - // allocate and initialize matrix and vector for reconstruction std::vector< std::array< std::array< tk::real, 3 >, 3 > > - lhs_ls( U.nunk(), {{ {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}} }} ); + lhs_ls( nelem, {{ {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}} }} ); std::vector< std::vector< std::array< tk::real, 3 > > > - rhs_ls( U.nunk(), std::vector< std::array< tk::real, 3 > > + rhs_ls( nelem, std::vector< std::array< tk::real, 3 > > ( m_ncomp, {{ 0.0, 0.0, 0.0 }} ) ); // reconstruct x,y,z-derivatives of unknowns - tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, - lhs_ls, rhs_ls ); + // 0. get lhs matrix, which is only geometry dependent + tk::lhsLeastSq_P0P1(fd, geoElem, geoFace, lhs_ls); - // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndLeastSq_P0P1( m_system, m_ncomp, m_offset, rdof, b.first, - fd, geoFace, geoElem, t, b.second, U, lhs_ls, - rhs_ls ); + // 1. internal face contributions + tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, rhs_ls ); + + // 2. boundary face contributions + for (const auto& b : m_bc) + tk::bndLeastSqConservedVar_P0P1( m_system, m_ncomp, m_offset, rdof, + b.first, fd, geoFace, geoElem, t, b.second, P, U, rhs_ls ); - // solve 3x3 least-squares system + // 3. solve 3x3 least-squares system tk::solveLeastSq_P0P1( m_ncomp, m_offset, rdof, lhs_ls, rhs_ls, U ); - // transform reconstructed derivatives to Dubiner dofs - tk::transform_P0P1( m_ncomp, m_offset, rdof, fd.Esuel().size()/4, - inpoel, coord, U ); + // 4. transform reconstructed derivatives to Dubiner dofs + tk::transform_P0P1( m_ncomp, m_offset, rdof, nelem, inpoel, coord, U ); } //! Limit second-order solution @@ -211,6 +203,7 @@ class CompFlow { [[maybe_unused]] const tk::Fields& geoFace, [[maybe_unused]] const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >&, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, const std::vector< std::size_t >& ndofel, @@ -260,8 +253,6 @@ class CompFlow { "vector must equal "+ std::to_string(0) ); Assert( R.nprop() == ndof*5, "Number of components in right-hand " "side vector must equal "+ std::to_string(ndof*5) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); @@ -283,28 +274,22 @@ class CompFlow { auto velfn = [this]( ncomp_t, ncomp_t, tk::real, tk::real, tk::real ){ return std::vector< std::array< tk::real, 3 > >( m_ncomp ); }; - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > bctypes{{ - { m_bcdir, Dirichlet }, - { m_bcsym, Symmetry }, - { m_bcextrapolate, Extrapolate } }}; - // compute internal surface flux integrals - tk::surfInt( m_system, m_ncomp, 1, m_offset, ndof, rdof, inpoel, coord, + tk::surfInt( m_system, 1, m_offset, ndof, rdof, inpoel, coord, fd, geoFace, rieflxfn, velfn, U, P, ndofel, R, riemannDeriv ); - // compute source term intehrals - tk::srcInt( m_system, m_ncomp, m_offset, t, ndof, inpoel, coord, geoElem, - Problem::src, ndofel, R ); + // compute ptional source term + tk::srcInt( m_system, m_offset, t, ndof, fd.Esuel().size()/4, + inpoel, coord, geoElem, Problem::src, ndofel, R ); if(ndof > 1) // compute volume integrals - tk::volInt( m_system, m_ncomp, m_offset, ndof, inpoel, coord, geoElem, - flux, velfn, U, ndofel, R ); + tk::volInt( m_system, m_ncomp, m_offset, ndof, fd.Esuel().size()/4, + inpoel, coord, geoElem, flux, velfn, U, ndofel, R ); // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndSurfInt( m_system, m_ncomp, 1, m_offset, ndof, rdof, b.first, fd, + for (const auto& b : m_bc) + tk::bndSurfInt( m_system, 1, m_offset, ndof, rdof, b.first, fd, geoFace, inpoel, coord, t, rieflxfn, velfn, b.second, U, P, ndofel, R, riemannDeriv ); } @@ -324,7 +309,9 @@ class CompFlow { const tk::Fields& geoFace, const tk::Fields& geoElem, const std::vector< std::size_t >& ndofel, - const tk::Fields& U ) const + const tk::Fields& U, + const tk::Fields&, + const std::size_t /*nielem*/ ) const { const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); @@ -510,11 +497,24 @@ class CompFlow { } tk::real mindt = std::numeric_limits< tk::real >::max(); + tk::real dgp = 0.0; // compute allowable dt - for (std::size_t e=0; e& conf ) const - { m_problem.side( conf ); } - //! Return field names to be output to file //! \return Vector of strings labelling fields output in file std::vector< std::string > fieldNames() const { return m_problem.fieldNames( m_ncomp ); } + //! Return field names to be output to file + //! \return Vector of strings labelling fields output in file + std::vector< std::string > nodalFieldNames() const + { return {}; } + //! Return field output going to file //! \param[in] t Physical time + //! \param[in] V Total mesh volume + //! \param[in] nunk Number of unknowns to extract //! \param[in] geoElem Element geometry array //! \param[in,out] U Solution vector at recent time step //! \return Vector of vectors to be output to file std::vector< std::vector< tk::real > > fieldOutput( tk::real t, + tk::real V, + std::size_t, + std::size_t nunk, const tk::Fields& geoElem, - tk::Fields& U ) const + tk::Fields& U, + const tk::Fields& ) const { - std::array< std::vector< tk::real >, 3 > coord; - std::vector< tk::real > v; - v = geoElem.extract(0,0); - coord[0] = geoElem.extract(1,0); - coord[1] = geoElem.extract(2,0); - coord[2] = geoElem.extract(3,0); - - return m_problem.fieldOutput( m_system, m_ncomp, m_offset, t, 0.0, v, - coord, U ); + std::array< std::vector< tk::real >, 3 > coord{ + geoElem.extract(1,0), geoElem.extract(2,0), geoElem.extract(3,0) }; + + return m_problem.fieldOutput( m_system, m_ncomp, m_offset, nunk, t, V, + geoElem.extract(0,0), coord, U ); } - //! Return nodal field output going to file + //! Nodal field output setup will go here std::vector< std::vector< tk::real > > - avgElemToNode( const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord, - const tk::Fields& /*geoElem*/, - const tk::Fields& U ) const + nodalFieldOutput( tk::real, + tk::real, + std::size_t, + const std::map< std::size_t, std::vector< std::size_t > >&, + const tk::Fields&, + tk::Fields&, + tk::Fields&, + tk::Fields&, + const tk::Fields& ) const { - const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - - const auto& cx = coord[0]; - const auto& cy = coord[1]; - const auto& cz = coord[2]; - - std::vector< tk::real > count(cx.size(), 0); - std::vector< std::vector< tk::real > > - out( 6, std::vector< tk::real >( cx.size(), 0.0 ) ); - - for (std::size_t e=0; e, 4 > - pi{{ {{ cx[ inpoel[4*e] ], - cy[ inpoel[4*e] ], - cz[ inpoel[4*e] ] }}, - {{ cx[ inpoel[4*e+1] ], - cy[ inpoel[4*e+1] ], - cz[ inpoel[4*e+1] ] }}, - {{ cx[ inpoel[4*e+2] ], - cy[ inpoel[4*e+2] ], - cz[ inpoel[4*e+2] ] }}, - {{ cx[ inpoel[4*e+3] ], - cy[ inpoel[4*e+3] ], - cz[ inpoel[4*e+3] ] }} }}; - auto detT = tk::Jacobian( pi[0], pi[1], pi[2], pi[3] ); - - for (std::size_t i=0; i<4; ++i) - { - tk::real detT_gp; - // transformation of the physical coordinates of the quadrature point - // to reference space for the left element to be able to compute - // basis functions on the left element. - detT_gp = tk::Jacobian( pi[0], pi[i], pi[2], pi[3] ); - auto xi = detT_gp / detT; - detT_gp = tk::Jacobian( pi[0], pi[1], pi[i], pi[3] ); - auto eta = detT_gp / detT; - detT_gp = tk::Jacobian( pi[0], pi[1], pi[2], pi[i] ); - auto zeta = detT_gp / detT; - - auto B2 = 2.0 * xi + eta + zeta - 1.0; - auto B3 = 3.0 * eta + zeta - 1.0; - auto B4 = 4.0 * zeta - 1.0; - - std::vector< tk::real > ugp(5,0); - - for (ncomp_t c=0; c<5; ++c) - { - if (rdof == 1) { - ugp[c] = U(e, c, m_offset); - } else { - auto mark = c*rdof; - ugp[c] = U(e, mark, m_offset) - + U(e, mark+1, m_offset) * B2 - + U(e, mark+2, m_offset) * B3 - + U(e, mark+3, m_offset) * B4; - } - } - - auto u = ugp[1] / ugp[0]; - auto v = ugp[2] / ugp[0]; - auto w = ugp[3] / ugp[0]; - auto p = - eos_pressure< tag::compflow >( m_system, ugp[0], u, v, w, ugp[4] ); - - out[0][ inpoel[4*e+i] ] += ugp[0]; - out[1][ inpoel[4*e+i] ] += u; - out[2][ inpoel[4*e+i] ] += v; - out[3][ inpoel[4*e+i] ] += w; - out[4][ inpoel[4*e+i] ] += ugp[4]/ugp[0]; - out[5][ inpoel[4*e+i] ] += p; - count[ inpoel[4*e+i] ] += 1.0; - } - } - - // average - for (std::size_t i=0; i > + surfOutput( const std::map< int, std::vector< std::size_t > >&, + tk::Fields& ) const + { + std::vector< std::vector< tk::real > > s; // punt for now + return s; } //! Return names of integral variables to be output to diagnostics file @@ -680,8 +614,9 @@ class CompFlow { std::vector< tk::real > analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const { - auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t ); - return std::vector< tk::real >( begin(s), end(s) ); + int inbox = 0; + auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t, inbox ); + return std::vector< tk::real >( std::begin(s), std::end(s) ); } private: @@ -697,12 +632,8 @@ class CompFlow { const ncomp_t m_offset; //! Riemann solver RiemannSolver m_riemann; - //! Dirichlet BC configuration - const std::vector< bcconf_t > m_bcdir; - //! Symmetric BC configuration - const std::vector< bcconf_t > m_bcsym; - //! Extrapolation BC configuration - const std::vector< bcconf_t > m_bcextrapolate; + //! BC configuration + BCStateFn m_bc; //! Evaluate physical flux function for this PDE system //! \param[in] system Equation system index @@ -761,11 +692,12 @@ class CompFlow { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, + dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, tk::real x, tk::real y, tk::real z, tk::real t, const std::array< tk::real, 3 >& ) { - return {{ ul, Problem::solution( system, ncomp, x, y, z, t ) }}; + int inbox = 0; + return {{ ul, Problem::solution( system, ncomp, x, y, z, t, inbox ) }}; } //! \brief Boundary state function providing the left and right state of a @@ -776,7 +708,7 @@ class CompFlow { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Symmetry( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, + symmetry( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& fn ) { @@ -800,6 +732,85 @@ class CompFlow { return {{ std::move(ul), std::move(ur) }}; } + //! \brief Boundary state function providing the left and right state of a + //! face at farfield boundaries + //! \param[in] ul Left (domain-internal) state + //! \param[in] fn Unit face normal + //! \return Left and right states for all scalar components in this PDE + //! system + //! \note The function signature must follow tk::StateFn + static tk::StateFn::result_type + farfield( ncomp_t system, ncomp_t, const std::vector< tk::real >& ul, + tk::real, tk::real, tk::real, tk::real, + const std::array< tk::real, 3 >& fn ) + { + using tag::param; using tag::bc; + + // Primitive variables from farfield + auto frho = g_inputdeck.get< param, eq, + tag::farfield_density >()[ system ]; + auto fp = g_inputdeck.get< param, eq, + tag::farfield_pressure >()[ system ]; + auto fu = g_inputdeck.get< param, eq, + tag::farfield_velocity >()[ system ]; + + // Speed of sound from farfield + auto fa = eos_soundspeed< eq >( system, frho, fp ); + + // Normal component from farfield + auto fvn = fu[0]*fn[0] + fu[1]*fn[1] + fu[2]*fn[2]; + + // Mach number from farfield + auto fM = fvn / fa; + + // Specific total energy from farfield + auto frhoE = + eos_totalenergy< eq >( system, frho, fu[0], fu[1], fu[2], fp ); + + // Pressure from internal cell + auto p = eos_pressure< eq >( system, ul[0], ul[1]/ul[0], ul[2]/ul[0], + ul[3]/ul[0], ul[4] ); + + auto ur = ul; + + if(fM <= -1) // Supersonic inflow + { + // For supersonic inflow, all the characteristics are from outside. + // Therefore, we calculate the ghost cell state using the primitive + // variables from outside. + ur[0] = frho; + ur[1] = frho * fu[0]; + ur[2] = frho * fu[1]; + ur[3] = frho * fu[2]; + ur[4] = frhoE; + } else if(fM > -1 && fM < 0) // Subsonic inflow + { + // For subsonic inflow, there are 1 outgoing characteristcs and 4 + // incoming characteristic. Therefore, we calculate the ghost cell state + // by taking pressure from the internal cell and other quantities from + // the outside. + ur[0] = frho; + ur[1] = frho * fu[0]; + ur[2] = frho * fu[1]; + ur[3] = frho * fu[2]; + ur[4] = + eos_totalenergy< eq >( system, frho, fu[0], fu[1], fu[2], p ); + } else if(fM >= 0 && fM < 1) // Subsonic outflow + { + // For subsonic outflow, there are 1 incoming characteristcs and 4 + // outgoing characteristic. Therefore, we calculate the ghost cell state + // by taking pressure from the outside and other quantities from the + // internal cell. + ur[4] = eos_totalenergy< eq >( system, ul[0], ul[1]/ul[0], ul[2]/ul[0], + ul[3]/ul[0], fp ); + } + // Otherwise, for supersonic outflow, all the characteristics are from + // internal cell. Therefore, we calculate the ghost cell state using the + // conservative variables from outside. + + return {{ ul, ur }}; + } + //! \brief Boundary state function providing the left and right state of a //! face at extrapolation boundaries //! \param[in] ul Left (domain-internal) state @@ -807,7 +818,7 @@ class CompFlow { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Extrapolate( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, + extrapolate( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& ) { diff --git a/src/PDE/CompFlow/Physics/CG.hpp b/src/PDE/CompFlow/Physics/CG.hpp index 1c6e0c83844..bd0c5774685 100644 --- a/src/PDE/CompFlow/Physics/CG.hpp +++ b/src/PDE/CompFlow/Physics/CG.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/CG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics configurations for compressible single-material flow using continuous Galerkin discretization diff --git a/src/PDE/CompFlow/Physics/CGEuler.hpp b/src/PDE/CompFlow/Physics/CGEuler.hpp index 75786981a8a..3b939e5e322 100644 --- a/src/PDE/CompFlow/Physics/CGEuler.hpp +++ b/src/PDE/CompFlow/Physics/CGEuler.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/CGEuler.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the Euler equation using continuous Galerkin \details This file defines a Physics policy class for the compressible diff --git a/src/PDE/CompFlow/Physics/CGNavierStokes.cpp b/src/PDE/CompFlow/Physics/CGNavierStokes.cpp index 415a20fe869..63e14044f46 100644 --- a/src/PDE/CompFlow/Physics/CGNavierStokes.cpp +++ b/src/PDE/CompFlow/Physics/CGNavierStokes.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/CGNavierStokes.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the Navier-Stokes equation using continuous Galerkin discretization diff --git a/src/PDE/CompFlow/Physics/CGNavierStokes.hpp b/src/PDE/CompFlow/Physics/CGNavierStokes.hpp index 67a08ce47a1..d500d6e04dc 100644 --- a/src/PDE/CompFlow/Physics/CGNavierStokes.hpp +++ b/src/PDE/CompFlow/Physics/CGNavierStokes.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/CGNavierStokes.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the Navier-Stokes equation using continuous Galerkin diff --git a/src/PDE/CompFlow/Physics/DG.hpp b/src/PDE/CompFlow/Physics/DG.hpp index 983633f9116..1d887ab429e 100644 --- a/src/PDE/CompFlow/Physics/DG.hpp +++ b/src/PDE/CompFlow/Physics/DG.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/DG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics configurations for compressible flow using discontinuous Galerkin finite element methods diff --git a/src/PDE/CompFlow/Physics/DGEuler.hpp b/src/PDE/CompFlow/Physics/DGEuler.hpp index d74ffe3e78a..50e822be73f 100644 --- a/src/PDE/CompFlow/Physics/DGEuler.hpp +++ b/src/PDE/CompFlow/Physics/DGEuler.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Physics/DGEuler.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the Euler equation governing single-material flow using a discontinuous Galerkin finite element method diff --git a/src/PDE/CompFlow/Problem.hpp b/src/PDE/CompFlow/Problem.hpp index b900aa8949b..6295df37e96 100644 --- a/src/PDE/CompFlow/Problem.hpp +++ b/src/PDE/CompFlow/Problem.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief All problem configurations for the compressible flow equations \details This file collects all Problem policy classes for the compressible @@ -28,15 +28,9 @@ the computed fields and/or sampling the analytical solution (if exist) at time t. - - Must define the function _solinc()_, used to evaluate the increment - from t to t+dt of the analytic solution (if defined). - - Must define the static function _src()_, used for adding source terms to the righ hand side. - - Must define the function _side()_, used to query all side set IDs - the user has configured for all components. - - Must define the function _dirbc()_, used to query Dirichlet boundary condition value on a given side set for all components in the PDE system. @@ -59,8 +53,10 @@ #include "Problem/RayleighTaylor.hpp" #include "Problem/TaylorGreen.hpp" #include "Problem/SodShocktube.hpp" +#include "Problem/SheddingFlow.hpp" #include "Problem/RotatedSodShocktube.hpp" #include "Problem/SedovBlastwave.hpp" +#include "Problem/GaussHumpCompflow.hpp" namespace inciter { @@ -71,8 +67,10 @@ using CompFlowProblems = brigand::list< CompFlowProblemUserDefined , CompFlowProblemRayleighTaylor , CompFlowProblemTaylorGreen , CompFlowProblemSodShocktube + , CompFlowProblemSheddingFlow , CompFlowProblemRotatedSodShocktube , CompFlowProblemSedovBlastwave + , CompFlowProblemGaussHump >; } // inciter:: diff --git a/src/PDE/CompFlow/Problem/CMakeLists.txt b/src/PDE/CompFlow/Problem/CMakeLists.txt index fdec43eb561..d485962e05b 100644 --- a/src/PDE/CompFlow/Problem/CMakeLists.txt +++ b/src/PDE/CompFlow/Problem/CMakeLists.txt @@ -1,12 +1,15 @@ add_library(CompFlowProblem + FieldOutput.cpp NLEnergyGrowth.cpp RayleighTaylor.cpp SodShocktube.cpp + SheddingFlow.cpp RotatedSodShocktube.cpp SedovBlastwave.cpp TaylorGreen.cpp UserDefined.cpp - VorticalFlow.cpp) + VorticalFlow.cpp + GaussHumpCompflow.cpp) target_include_directories(CompFlowProblem PUBLIC ${QUINOA_SOURCE_DIR} @@ -14,6 +17,7 @@ target_include_directories(CompFlowProblem PUBLIC ${QUINOA_SOURCE_DIR}/Control ${QUINOA_SOURCE_DIR}/Mesh ${QUINOA_SOURCE_DIR}/PDE + ${QUINOA_SOURCE_DIR}/Inciter ${PROJECT_BINARY_DIR}/../Main ${BRIGAND_INCLUDE_DIRS} ${PEGTL_INCLUDE_DIRS} diff --git a/src/PDE/CompFlow/Problem/FieldOutput.cpp b/src/PDE/CompFlow/Problem/FieldOutput.cpp new file mode 100644 index 00000000000..3633c160305 --- /dev/null +++ b/src/PDE/CompFlow/Problem/FieldOutput.cpp @@ -0,0 +1,220 @@ +// ***************************************************************************** +/*! + \file src/PDE/CompFlow/Problem/FieldOutput.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Field outputs for single-material equation solver + \details This file defines functions for field quantites to be output to + files for compressible single-material equations. +*/ +// ***************************************************************************** + +#include "FieldOutput.hpp" +#include "EoS/EoS.hpp" +#include "ContainerUtil.hpp" +#include "History.hpp" + +namespace inciter { + +std::vector< std::string > CompFlowFieldNames() +// ***************************************************************************** +// Return field names to be output to file +//! \return Vector of strings labelling fields output in file +// ***************************************************************************** +{ + std::vector< std::string > n; + + n.push_back( "density_numerical" ); + n.push_back( "x-velocity_numerical" ); + n.push_back( "y-velocity_numerical" ); + n.push_back( "z-velocity_numerical" ); + n.push_back( "specific_total_energy_numerical" ); + n.push_back( "pressure_numerical" ); + + return n; +} + +std::vector< std::vector< tk::real > > +CompFlowFieldOutput( ncomp_t system, + ncomp_t offset, + std::size_t nunk, + tk::Fields& U ) +// ***************************************************************************** +// Return field output going to file +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] offset System offset specifying the position of the system of +//! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract +//! \param[in] U Solution vector at recent time step +//! \return Vector of vectors to be output to file +// ***************************************************************************** +{ + // number of degree of freedom + const std::size_t rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + + std::vector< std::vector< tk::real > > out; + const auto r = U.extract( 0*rdof, offset ); + const auto ru = U.extract( 1*rdof, offset ); + const auto rv = U.extract( 2*rdof, offset ); + const auto rw = U.extract( 3*rdof, offset ); + const auto re = U.extract( 4*rdof, offset ); + + out.push_back( r ); + + Assert( r.size() >= nunk, "Size mismatch" ); + + std::vector< tk::real > u = ru; + Assert( u.size() >= nunk, "Size mismatch" ); + for (std::size_t i=0; i v = rv; + Assert( v.size() >= nunk, "Size mismatch" ); + for (std::size_t i=0; i w = rw; + Assert( w.size() >= nunk, "Size mismatch" ); + for (std::size_t i=0; i E = re; + Assert( E.size() >= nunk, "Size mismatch" ); + for (std::size_t i=0; i P( nunk, 0.0 ); + for (std::size_t i=0; i + ( system, r[i], u[i], v[i], w[i], r[i]*E[i] ); + } + out.push_back( P ); + + return out; +} + +std::vector< std::string > CompFlowSurfNames() +// ***************************************************************************** +// Return surface field names to be output to file +//! \note Every surface will output these fields. +//! \return Vector of strings labelling surface fields output in file +// ***************************************************************************** +{ + std::vector< std::string > n; + + n.push_back( "density_numerical" ); + n.push_back( "x-velocity_numerical" ); + n.push_back( "y-velocity_numerical" ); + n.push_back( "z-velocity_numerical" ); + n.push_back( "specific_total_energy_numerical" ); + n.push_back( "pressure_numerical" ); + + return n; +} + +std::vector< std::vector< tk::real > > +CompFlowSurfOutput( ncomp_t system, + const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ) +// ***************************************************************************** +// Return surface field output going to file +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] bnd Boundary node/elem lists mapped to side set ids +//! \param[in] U Solution vector at recent time step +//! \return Vector of vectors of solution along side sets to be output to file +// ***************************************************************************** +{ + std::vector< std::vector< tk::real > > out; + + // extract field output along side sets requested + for (auto s : g_inputdeck.outsets()) { + // get node list for side set requested + auto b = bnd.find(s); + if (b == end(bnd)) continue; + const auto& nodes = b->second; + std::vector< tk::real > surfaceSol( nodes.size() ); + auto i = out.size(); + out.insert( end(out), 6, surfaceSol ); + std::size_t j = 0; + for (auto n : nodes) { + const auto u = U.extract( n ); + Assert( u.size() == 5, "Size mismatch" ); + out[i+0][j] = u[0]; + out[i+1][j] = u[1]/u[0]; + out[i+2][j] = u[2]/u[0]; + out[i+3][j] = u[3]/u[0]; + out[i+4][j] = u[4]/u[0]; + out[i+5][j] = eos_pressure< tag::compflow > + ( system, u[0], u[1]/u[0], u[2]/u[0], u[3]/u[0], u[4] ); + ++j; + } + } + + return out; +} + +std::vector< std::string > CompFlowHistNames() +// ***************************************************************************** +// Return time history field names to be output to file +//! \note Every time history point will output these fields. +//! \return Vector of strings labelling time history fields output in file +// ***************************************************************************** +{ + std::vector< std::string > n; + + n.push_back( "density" ); + n.push_back( "x-velocity" ); + n.push_back( "y-velocity" ); + n.push_back( "z-velocity" ); + n.push_back( "energy" ); + n.push_back( "pressure" ); + + return n; +} + +std::vector< std::vector< tk::real > > +CompFlowHistOutput( ncomp_t system, + const std::vector< HistData >& h, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) +// ***************************************************************************** +// Return time history field output evaluated at time history points +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] h History point data +//! \param[in] inpoel Mesh element connectivity +//! \param[in] U Solution vector at recent time step +//! \return Vector of vectors of solution variables evaluated in all history +//! points. Inner vector: variables, outer vector: points. +// ***************************************************************************** +{ + std::vector< std::vector< tk::real > > out( h.size() ); + + std::size_t j = 0; + for (const auto& p : h) { + auto e = p.get< tag::elem >(); // host element id + const auto& n = p.get< tag::fn >(); // shapefunctions evaluated at point + out[j].resize( 6, 0.0 ); + for (std::size_t i=0; i<4; ++i) { + const auto u = U.extract( inpoel[e*4+i] ); + Assert( u.size() == 5, "Size mismatch" ); + out[j][0] += n[i] * u[0]; + out[j][1] += n[i] * u[1]/u[0]; + out[j][2] += n[i] * u[2]/u[0]; + out[j][3] += n[i] * u[3]/u[0]; + out[j][4] += n[i] * u[4]/u[0]; + out[j][5] += n[i] * + eos_pressure< tag::compflow > + ( system, u[0], u[1]/u[0], u[2]/u[0], u[3]/u[0], u[4] ); + } + ++j; + } + + return out; +} + +} //inciter:: diff --git a/src/PDE/CompFlow/Problem/FieldOutput.hpp b/src/PDE/CompFlow/Problem/FieldOutput.hpp new file mode 100644 index 00000000000..4eaad9ed0fc --- /dev/null +++ b/src/PDE/CompFlow/Problem/FieldOutput.hpp @@ -0,0 +1,55 @@ +// ***************************************************************************** +/*! + \file src/PDE/Compflow/Problem/FieldOutput.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Field outputs for single-material equation solver + \details This file defines functions for field quantites to be output to + files for compressible single-material equations. +*/ +// ***************************************************************************** +#ifndef CompFlowFieldOutput_h +#define CompFlowFieldOutput_h + +#include "Fields.hpp" +#include "EoS/EoS.hpp" +#include "History.hpp" + +namespace inciter { + +using ncomp_t = kw::ncomp::info::expect::type; + +//! Return field names to be output to file +std::vector< std::string > CompFlowFieldNames(); + +//! Return surface field names to be output to file +std::vector< std::string > CompFlowSurfNames(); + +//! Return time history field names to be output to file +std::vector< std::string > CompFlowHistNames(); + +//! Return field output going to file +std::vector< std::vector< tk::real > > +CompFlowFieldOutput( ncomp_t system, + ncomp_t offset, + std::size_t nunk, + tk::Fields& U ); + +//! Return surface field output going to file +std::vector< std::vector< tk::real > > +CompFlowSurfOutput( ncomp_t system, + const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ); + +//! Return time history field output evaluated at time history points +std::vector< std::vector< tk::real > > +CompFlowHistOutput( ncomp_t system, + const std::vector< HistData >& h, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ); + +} //inciter:: + +#endif // CompFlowFieldOutput_h diff --git a/src/PDE/CompFlow/Problem/GaussHumpCompflow.cpp b/src/PDE/CompFlow/Problem/GaussHumpCompflow.cpp new file mode 100644 index 00000000000..87cf622d5ac --- /dev/null +++ b/src/PDE/CompFlow/Problem/GaussHumpCompflow.cpp @@ -0,0 +1,193 @@ +// ***************************************************************************** +/*! + \file src/PDE/CompFlow/Problem/GaussHumpCompflow.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the compressible flow equations + \details This file defines a Problem policy class for the compressible flow + equations, defined in PDE/CompFlow/CompFlow.h. See PDE/CompFlow/Problem.h + for general requirements on Problem policy classes for CompFlow. +*/ +// ***************************************************************************** + +#include "GaussHumpCompflow.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "FieldOutput.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::CompFlowProblemGaussHump; + +tk::SolutionFn::result_type +CompFlowProblemGaussHump::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real, + tk::real t, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \param[in] t Time where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +// ***************************************************************************** +{ + Assert( ncomp == 5, "Number of scalar components must be 5" ); + + using tag::param; + + const auto vel = prescribedVelocity( system, ncomp, x, y, 0.0 ); + + tk::real r, p, u, v, w, rE; + + // center of the hump + auto x0 = 0.25 + vel[0][0]*t; + auto y0 = 0.25 + vel[0][1]*t; + + // density + r = 1.0 + exp( -((x-x0)*(x-x0) + + (y-y0)*(y-y0))/(2.0 * 0.005) ); + // pressure + p = 1.0; + // velocity + u = 1; + v = 1; + w = 0; + // total specific energy + rE = eos_totalenergy< eq >( system, r, u, v, w, p ); + + return {{ r, r*u, r*v, r*w, rE }}; +} + +std::vector< std::string > +CompFlowProblemGaussHump::fieldNames( ncomp_t ) const +// ***************************************************************************** +// Return field names to be output to file +//! \return Vector of strings labelling fields output in file +// ***************************************************************************** +{ + const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + + auto n = CompFlowFieldNames(); + + n.push_back( "density_analytical" ); + n.push_back( "x-velocity_analytical" ); + n.push_back( "y-velocity_analytical" ); + n.push_back( "z-velocity_analytical" ); + n.push_back( "specific_total_energy_analytical" ); + n.push_back( "pressure_analytical" ); + n.push_back( "err(rho)" ); + + if(pref) + n.push_back( "number of degree of freedom" ); + + return n; +} + +std::vector< std::vector< tk::real > > +CompFlowProblemGaussHump::fieldOutput( + ncomp_t system, + ncomp_t ncomp, + ncomp_t offset, + std::size_t nunk, + tk::real t, + tk::real V, + const std::vector< tk::real >& vol, + const std::array< std::vector< tk::real >, 3 >& coord, + tk::Fields& U ) const +// ***************************************************************************** +// Return field output going to file +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] offset System offset specifying the position of the system of +//! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract +//! \param[in] t Physical time +//! \param[in] V Total mesh volume (across the whole problem) +//! \param[in] vol Nodal mesh volumes +//! \param[in] coord Mesh node coordinates +//! \param[in] U Solution vector at recent time step +//! \return Vector of vectors to be output to file + +// ***************************************************************************** +{ + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + + auto out = CompFlowFieldOutput( system, offset, nunk, U ); + + auto r = U.extract( 0*rdof, offset ); + auto u = U.extract( 1*rdof, offset ); + auto v = U.extract( 2*rdof, offset ); + auto w = U.extract( 3*rdof, offset ); + auto e = U.extract( 4*rdof, offset ); + + // mesh node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + auto er = r, p = r; + for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], r[i]*e[i] ); + } + + out.push_back( r ); + out.push_back( u ); + out.push_back( v ); + out.push_back( w ); + out.push_back( e ); + out.push_back( p ); + + out.push_back( er ); + + return out; +} + +std::vector< std::string > +CompFlowProblemGaussHump::names( ncomp_t ) const +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} + +std::vector< std::array< tk::real, 3 > > +CompFlowProblemGaussHump::prescribedVelocity( ncomp_t, ncomp_t ncomp, tk::real, + tk::real, tk::real ) +// ***************************************************************************** +//! Assign prescribed velocity at a point +//! \param[in] ncomp Number of components in this transport equation +//! \return Velocity assigned to all vertices of a tetrehedron, size: +//! ncomp * ndim = [ncomp][3] +// ***************************************************************************** +{ + std::vector< std::array< tk::real, 3 > > vel( ncomp ); + + for (ncomp_t c=0; c +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! CompFlow system of PDEs problem: GaussHump +class CompFlowProblemGaussHump { + + private: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::compflow; + + public: + //! Evaluate analytical solution at (x,y,z,t) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real , + tk::real t, int& ); + + //! Compute and return source term for manufactured solution + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! Return field names to be output to file + std::vector< std::string > fieldNames( ncomp_t ) const; + + //! Return field output going to file + std::vector< std::vector< tk::real > > + fieldOutput( ncomp_t system, + ncomp_t ncomp, + ncomp_t offset, + std::size_t nunk, + tk::real t, + tk::real V, + const std::vector< tk::real >& vol, + const std::array< std::vector< tk::real >, 3 >& coord, + tk::Fields& U ) const; + + //! Return names of integral variables to be output to diagnostics file + std::vector< std::string > names( ncomp_t ) const; + + //! Assign prescribed velocity at a point + static std::vector< std::array< tk::real, 3 > > + prescribedVelocity( ncomp_t, + ncomp_t ncomp, + tk::real, + tk::real, + tk::real ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::GAUSS_HUMP_COMPFLOW; } +}; + +} // inciter:: + +#endif // CompFlowProblemGaussHump_h diff --git a/src/PDE/CompFlow/Problem/NLEnergyGrowth.cpp b/src/PDE/CompFlow/Problem/NLEnergyGrowth.cpp index fad72b2dd95..3038efde784 100644 --- a/src/PDE/CompFlow/Problem/NLEnergyGrowth.cpp +++ b/src/PDE/CompFlow/Problem/NLEnergyGrowth.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/NLEnergyGrowth.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "NLEnergyGrowth.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -63,7 +63,8 @@ CompFlowProblemNLEnergyGrowth::solution( ncomp_t system, tk::real x, tk::real y, tk::real z, - tk::real t ) + tk::real t, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -101,110 +102,6 @@ CompFlowProblemNLEnergyGrowth::solution( ncomp_t system, return {{ r, 0.0, 0.0, 0.0, r*ec(ce,k,t,h,-1.0/3.0) }}; } -std::vector< tk::real > -CompFlowProblemNLEnergyGrowth::solinc( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - return st2; -} - -tk::SrcFn::result_type -CompFlowProblemNLEnergyGrowth::src( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real t ) -// ***************************************************************************** -// Compute and return source term for NLEG manufactured solution -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Physical time at which to evaluate the source -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - using tag::param; using std::sin; using std::cos; - // manufactured solution parameters - const auto a = g_inputdeck.get< param, eq, tag::alpha >()[system]; - const auto bx = g_inputdeck.get< param, eq, tag::betax >()[system]; - const auto by = g_inputdeck.get< param, eq, tag::betay >()[system]; - const auto bz = g_inputdeck.get< param, eq, tag::betaz >()[system]; - const auto ce = g_inputdeck.get< param, eq, tag::ce >()[system]; - const auto kappa = g_inputdeck.get< param, eq, tag::kappa >()[system]; - const auto r0 = g_inputdeck.get< param, eq, tag::r0 >()[system]; - // ratio of specific heats - const auto g = g_inputdeck.get< param, eq, tag::gamma >()[system][0]; - // spatial component of density field - const auto gx = 1.0 - x*x - y*y - z*z; - // derivative of spatial component of density field - const std::array< tk::real, 3 > dg{{ -2.0*x, -2.0*y, -2.0*z }}; - // spatial component of energy field - const auto h = hx( bx, by, bz, x, y, z ); - // derivative of spatial component of energy field - std::array< tk::real, 3 > - dh{{ -bx*M_PI*sin(bx*M_PI*x)*cos(by*M_PI*y)*cos(bz*M_PI*z), - -by*M_PI*cos(bx*M_PI*x)*sin(by*M_PI*y)*cos(bz*M_PI*z), - -bz*M_PI*cos(bx*M_PI*x)*cos(by*M_PI*y)*sin(bz*M_PI*z) }}; - // temporal function f and its derivative - const auto ft = std::exp(-a*t); - const auto dfdt = -a*ft; - // density and its derivatives - const auto rho = r0 + ft*gx; - const std::array< tk::real, 3 > drdx{{ ft*dg[0], ft*dg[1], ft*dg[2] }}; - const auto drdt = gx*dfdt; - // internal energy and its derivatives - const auto ie = ec( ce, kappa, t, h, -1.0/3.0 ); - const std::array< tk::real, 3 > dedx{{ - 2.0*std::pow(ie,4.0)*kappa*h*dh[0]*t, - 2.0*std::pow(ie,4.0)*kappa*h*dh[1]*t, - 2.0*std::pow(ie,4.0)*kappa*h*dh[2]*t }}; - const auto dedt = kappa*h*h*std::pow(ie,4.0); - // sources - std::vector< tk::real > r( ncomp ); - // density source - r[0] = drdt; - // momentum source - r[1] = (g-1.0)*(rho*dedx[0] + ie*drdx[0]); - r[2] = (g-1.0)*(rho*dedx[1] + ie*drdx[1]); - r[3] = (g-1.0)*(rho*dedx[2] + ie*drdx[2]); - // energy source - r[4] = rho*dedt + ie*drdt; - return r; -} - -void -CompFlowProblemNLEnergyGrowth::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::string > CompFlowProblemNLEnergyGrowth::fieldNames( ncomp_t ) const // ***************************************************************************** @@ -212,14 +109,10 @@ CompFlowProblemNLEnergyGrowth::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); - n.push_back( "x-velocity_numerical" ); - n.push_back( "y-velocity_numerical" ); - n.push_back( "z-velocity_numerical" ); - n.push_back( "specific_total_energy_numerical" ); - n.push_back( "pressure_numerical" ); n.push_back( "density_analytical" ); n.push_back( "x-velocity_analytical" ); n.push_back( "y-velocity_analytical" ); @@ -229,6 +122,9 @@ CompFlowProblemNLEnergyGrowth::fieldNames( ncomp_t ) const n.push_back( "err(rho)" ); n.push_back( "err(e)" ); + if(pref) + n.push_back( "number of degree of freedom" ); + return n; } @@ -237,6 +133,7 @@ CompFlowProblemNLEnergyGrowth::fieldOutput( ncomp_t system, ncomp_t ncomp, ncomp_t offset, + std::size_t nunk, tk::real t, tk::real V, const std::vector< tk::real >& vol, @@ -249,6 +146,7 @@ CompFlowProblemNLEnergyGrowth::fieldOutput( //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] t Physical time //! \param[in] V Total mesh volume (across the whole problem) //! \param[in] vol Nodal mesh volumes @@ -261,7 +159,8 @@ CompFlowProblemNLEnergyGrowth::fieldOutput( const std::size_t rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - std::vector< std::vector< tk::real > > out; + auto out = CompFlowFieldOutput( system, offset, nunk, U ); + auto r = U.extract( 0*rdof, offset ); auto u = U.extract( 1*rdof, offset ); auto v = U.extract( 2*rdof, offset ); @@ -273,28 +172,10 @@ CompFlowProblemNLEnergyGrowth::fieldOutput( const auto& y = coord[1]; const auto& z = coord[2]; - out.push_back( r ); - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - - auto p = r; - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], r[i]*E[i] ); - out.push_back( p ); - - auto er = r, ee = r; + auto er = r, ee = r, p = r; for (std::size_t i=0; i - solinc( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t, tk::real dt ) const; + tk::real t, int& ); //! Compute and return source term for NLEG manufactured solution - static tk::SrcFn::result_type - src( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + //! \param[in] system Equation system index, i.e., which compressible + //! flow equation system we operate on among the systems of PDEs + //! \param[in] x X coordinate where to evaluate the solution + //! \param[in] y Y coordinate where to evaluate the solution + //! \param[in] z Z coordinate where to evaluate the solution + //! \param[in] t Physical time at which to evaluate the source + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t system, tk::real x, tk::real y, tk::real z, + tk::real t, tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, + tk::real& re ) + { + using tag::param; using std::sin; using std::cos; + // manufactured solution parameters + const auto a = g_inputdeck.get< param, eq, tag::alpha >()[system]; + const auto bx = g_inputdeck.get< param, eq, tag::betax >()[system]; + const auto by = g_inputdeck.get< param, eq, tag::betay >()[system]; + const auto bz = g_inputdeck.get< param, eq, tag::betaz >()[system]; + const auto ce = g_inputdeck.get< param, eq, tag::ce >()[system]; + const auto kappa = g_inputdeck.get< param, eq, tag::kappa >()[system]; + const auto r0 = g_inputdeck.get< param, eq, tag::r0 >()[system]; + // ratio of specific heats + const auto g = g_inputdeck.get< param, eq, tag::gamma >()[system][0]; + // spatial component of density field + const auto gx = 1.0 - x*x - y*y - z*z; + // derivative of spatial component of density field + const std::array< tk::real, 3 > dg{{ -2.0*x, -2.0*y, -2.0*z }}; + // spatial component of energy field + const auto h = hx( bx, by, bz, x, y, z ); + // derivative of spatial component of energy field + std::array< tk::real, 3 > + dh{{ -bx*M_PI*sin(bx*M_PI*x)*cos(by*M_PI*y)*cos(bz*M_PI*z), + -by*M_PI*cos(bx*M_PI*x)*sin(by*M_PI*y)*cos(bz*M_PI*z), + -bz*M_PI*cos(bx*M_PI*x)*cos(by*M_PI*y)*sin(bz*M_PI*z) }}; + // temporal function f and its derivative + const auto ft = std::exp(-a*t); + const auto dfdt = -a*ft; + // density and its derivatives + const auto rho = r0 + ft*gx; + const std::array< tk::real, 3 > drdx{{ ft*dg[0], ft*dg[1], ft*dg[2] }}; + const auto drdt = gx*dfdt; + // internal energy and its derivatives + const auto ie = ec( ce, kappa, t, h, -1.0/3.0 ); + const std::array< tk::real, 3 > dedx{{ + 2.0*std::pow(ie,4.0)*kappa*h*dh[0]*t, + 2.0*std::pow(ie,4.0)*kappa*h*dh[1]*t, + 2.0*std::pow(ie,4.0)*kappa*h*dh[2]*t }}; + const auto dedt = kappa*h*h*std::pow(ie,4.0); + // density source + r = drdt; + // momentum source + ru = (g-1.0)*(rho*dedx[0] + ie*drdx[0]); + rv = (g-1.0)*(rho*dedx[1] + ie*drdx[1]); + rw = (g-1.0)*(rho*dedx[2] + ie*drdx[2]); + // energy source + re = rho*dedt + ie*drdt; + } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -72,6 +124,7 @@ class CompFlowProblemNLEnergyGrowth { fieldOutput( ncomp_t system, ncomp_t ncomp, ncomp_t offset, + std::size_t nunk, tk::real t, tk::real V, const std::vector< tk::real >& vol, diff --git a/src/PDE/CompFlow/Problem/RayleighTaylor.cpp b/src/PDE/CompFlow/Problem/RayleighTaylor.cpp index 74fe6dc5a9d..1209927f6be 100644 --- a/src/PDE/CompFlow/Problem/RayleighTaylor.cpp +++ b/src/PDE/CompFlow/Problem/RayleighTaylor.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/RayleighTaylor.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "RayleighTaylor.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -30,13 +30,13 @@ CompFlowProblemRayleighTaylor::solution( ncomp_t system, tk::real x, tk::real y, tk::real z, - tk::real t ) + tk::real t, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible //! flow equation system we operate on among the systems of PDEs //! \param[in] x X coordinate where to evaluate the solution -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] y Y coordinate where to evaluate the solution //! \param[in] z Z coordinate where to evaluate the solution //! \param[in] t Time where to evaluate the solution @@ -44,8 +44,6 @@ CompFlowProblemRayleighTaylor::solution( ncomp_t system, //! \note The function signature must follow tk::SolutionFn // ***************************************************************************** { - Assert( ncomp == ncomp, "Number of scalar components must be " + - std::to_string(ncomp) ); using tag::param; using std::sin; using std::cos; // manufactured solution parameters @@ -73,125 +71,6 @@ CompFlowProblemRayleighTaylor::solution( ncomp_t system, return {{ r, r*u, r*v, r*w, rE }}; } -std::vector< tk::real > -CompFlowProblemRayleighTaylor::solinc( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - return st2; -} - -tk::SrcFn::result_type -CompFlowProblemRayleighTaylor::src( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real t ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Physical time at which to evaluate the source -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - using tag::param; using std::sin; using std::cos; - - // manufactured solution parameters - auto a = g_inputdeck.get< param, eq, tag::alpha >()[system]; - auto bx = g_inputdeck.get< param, eq, tag::betax >()[system]; - auto by = g_inputdeck.get< param, eq, tag::betay >()[system]; - auto bz = g_inputdeck.get< param, eq, tag::betaz >()[system]; - auto k = g_inputdeck.get< param, eq, tag::kappa >()[system]; - auto p0 = g_inputdeck.get< param, eq, tag::p0 >()[system]; - // ratio of specific heats - tk::real g = g_inputdeck.get< param, eq, tag::gamma >()[system][0]; - - // evaluate solution at x,y,z,t - auto s = solution( system, ncomp, x, y, z, t ); - - // density, velocity, energy, pressure - auto rho = s[0]; - auto u = s[1]/s[0]; - auto v = s[2]/s[0]; - auto w = s[3]/s[0]; - auto E = s[4]/s[0]; - auto p = p0 + a*(bx*x*x + by*y*y + bz*z*z); - - // spatial gradients - std::array< tk::real, 3 > drdx{{ -2.0*bx*x, -2.0*by*y, -2.0*bz*z }}; - std::array< tk::real, 3 > dpdx{{ 2.0*a*bx*x, 2.0*a*by*y, 2.0*a*bz*z }}; - tk::real ft = cos(k*M_PI*t); - std::array< tk::real, 3 > dudx{{ ft*M_PI*z*cos(M_PI*x), - 0.0, - ft*sin(M_PI*x) }}; - std::array< tk::real, 3 > dvdx{{ 0.0, - -ft*M_PI*z*sin(M_PI*y), - ft*cos(M_PI*y) }}; - std::array< tk::real, 3 > dwdx{{ ft*M_PI*0.5*M_PI*z*z*sin(M_PI*x), - ft*M_PI*0.5*M_PI*z*z*cos(M_PI*y), - -ft*M_PI*z*(cos(M_PI*x) - sin(M_PI*y)) }}; - std::array< tk::real, 3 > dedx{{ - dpdx[0]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[0] - + u*dudx[0] + v*dvdx[0] + w*dwdx[0], - dpdx[1]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[1] - + u*dudx[1] + v*dvdx[1] + w*dwdx[1], - dpdx[2]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[2] - + u*dudx[2] + v*dvdx[2] + w*dwdx[2] }}; - - // time derivatives - auto dudt = -k*M_PI*sin(k*M_PI*t)*z*sin(M_PI*x); - auto dvdt = -k*M_PI*sin(k*M_PI*t)*z*cos(M_PI*y); - auto dwdt = k*M_PI*sin(k*M_PI*t)/2*M_PI*z*z*(cos(M_PI*x) - sin(M_PI*y)); - auto dedt = u*dudt + v*dvdt + w*dwdt; - - std::vector< tk::real > r( ncomp ); - // density source - r[0] = u*drdx[0] + v*drdx[1] + w*drdx[2]; - // momentum source - r[1] = rho*dudt+u*r[0]+dpdx[0] + s[1]*dudx[0]+s[2]*dudx[1]+s[3]*dudx[2]; - r[2] = rho*dvdt+v*r[0]+dpdx[1] + s[1]*dvdx[0]+s[2]*dvdx[1]+s[3]*dvdx[2]; - r[3] = rho*dwdt+w*r[0]+dpdx[2] + s[1]*dwdx[0]+s[2]*dwdx[1]+s[3]*dwdx[2]; - // energy source - r[4] = rho*dedt + E*r[0] + s[1]*dedx[0]+s[2]*dedx[1]+s[3]*dedx[2] - + u*dpdx[0]+v*dpdx[1]+w*dpdx[2]; - - return r; -} - -void -CompFlowProblemRayleighTaylor::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::string > CompFlowProblemRayleighTaylor::fieldNames( ncomp_t ) const // ***************************************************************************** @@ -199,14 +78,8 @@ CompFlowProblemRayleighTaylor::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); - n.push_back( "x-velocity_numerical" ); - n.push_back( "y-velocity_numerical" ); - n.push_back( "z-velocity_numerical" ); - n.push_back( "specific_total_energy_numerical" ); - n.push_back( "pressure_numerical" ); n.push_back( "density_analytical" ); n.push_back( "x-velocity_analytical" ); n.push_back( "y-velocity_analytical" ); @@ -228,6 +101,7 @@ CompFlowProblemRayleighTaylor::fieldOutput( ncomp_t system, ncomp_t ncomp, ncomp_t offset, + std::size_t nunk, tk::real t, tk::real V, const std::vector< tk::real >& vol, @@ -240,6 +114,7 @@ CompFlowProblemRayleighTaylor::fieldOutput( //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] t Physical time //! \param[in] V Total mesh volume (across the whole problem) //! \param[in] vol Nodal mesh volumes @@ -248,7 +123,8 @@ CompFlowProblemRayleighTaylor::fieldOutput( //! \return Vector of vectors to be output to file // ***************************************************************************** { - std::vector< std::vector< tk::real > > out; + auto out = CompFlowFieldOutput( system, offset, nunk, U ); + auto r = U.extract( 0, offset ); auto u = U.extract( 1, offset ); auto v = U.extract( 2, offset ); @@ -260,28 +136,10 @@ CompFlowProblemRayleighTaylor::fieldOutput( const auto& y = coord[1]; const auto& z = coord[2]; - out.push_back( r ); - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - - auto p = r; - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], r[i]*E[i] ); - out.push_back( p ); - - auto er = r, ee = r, ep = r, eu = r, ev = r, ew = r; + auto er = r, ee = r, ep = r, eu = r, ev = r, ew = r, p = r; for (std::size_t i=0; i - solinc( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t, tk::real dt ) const; + tk::real t, int& ); //! Compute and return source term for Rayleigh-Taylor manufactured solution - static tk::SrcFn::result_type - src( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t ); + //! \param[in] system Equation system index, i.e., which compressible + //! flow equation system we operate on among the systems of PDEs + //! \param[in] x X coordinate where to evaluate the solution + //! \param[in] y Y coordinate where to evaluate the solution + //! \param[in] z Z coordinate where to evaluate the solution + //! \param[in] t Physical time at which to evaluate the source + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t system, tk::real x, tk::real y, tk::real z, tk::real t, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { + using tag::param; using std::sin; using std::cos; + + // manufactured solution parameters + auto a = g_inputdeck.get< param, eq, tag::alpha >()[system]; + auto bx = g_inputdeck.get< param, eq, tag::betax >()[system]; + auto by = g_inputdeck.get< param, eq, tag::betay >()[system]; + auto bz = g_inputdeck.get< param, eq, tag::betaz >()[system]; + auto k = g_inputdeck.get< param, eq, tag::kappa >()[system]; + auto p0 = g_inputdeck.get< param, eq, tag::p0 >()[system]; + // ratio of specific heats + tk::real g = g_inputdeck.get< param, eq, tag::gamma >()[system][0]; + + // evaluate solution at x,y,z,t + int inbox = 0; + auto s = solution( system, 5, x, y, z, t, inbox ); + + // density, velocity, energy, pressure + auto rho = s[0]; + auto u = s[1]/s[0]; + auto v = s[2]/s[0]; + auto w = s[3]/s[0]; + auto E = s[4]/s[0]; + auto p = p0 + a*(bx*x*x + by*y*y + bz*z*z); + + // spatial gradients + std::array< tk::real, 3 > drdx{{ -2.0*bx*x, -2.0*by*y, -2.0*bz*z }}; + std::array< tk::real, 3 > dpdx{{ 2.0*a*bx*x, 2.0*a*by*y, 2.0*a*bz*z }}; + tk::real ft = cos(k*M_PI*t); + std::array< tk::real, 3 > dudx{{ ft*M_PI*z*cos(M_PI*x), + 0.0, + ft*sin(M_PI*x) }}; + std::array< tk::real, 3 > dvdx{{ 0.0, + -ft*M_PI*z*sin(M_PI*y), + ft*cos(M_PI*y) }}; + std::array< tk::real, 3 > dwdx{{ ft*M_PI*0.5*M_PI*z*z*sin(M_PI*x), + ft*M_PI*0.5*M_PI*z*z*cos(M_PI*y), + -ft*M_PI*z*(cos(M_PI*x) - sin(M_PI*y)) }}; + std::array< tk::real, 3 > dedx{{ + dpdx[0]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[0] + + u*dudx[0] + v*dvdx[0] + w*dwdx[0], + dpdx[1]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[1] + + u*dudx[1] + v*dvdx[1] + w*dwdx[1], + dpdx[2]/rho/(g-1.0) - p/(g-1.0)/rho/rho*drdx[2] + + u*dudx[2] + v*dvdx[2] + w*dwdx[2] }}; + + // time derivatives + auto dudt = -k*M_PI*sin(k*M_PI*t)*z*sin(M_PI*x); + auto dvdt = -k*M_PI*sin(k*M_PI*t)*z*cos(M_PI*y); + auto dwdt = k*M_PI*sin(k*M_PI*t)/2*M_PI*z*z*(cos(M_PI*x) - sin(M_PI*y)); + auto dedt = u*dudt + v*dvdt + w*dwdt; - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + // density source + r = u*drdx[0] + v*drdx[1] + w*drdx[2]; + // momentum source + ru = rho*dudt+u*r+dpdx[0] + s[1]*dudx[0]+s[2]*dudx[1]+s[3]*dudx[2]; + rv = rho*dvdt+v*r+dpdx[1] + s[1]*dvdx[0]+s[2]*dvdx[1]+s[3]*dvdx[2]; + rw = rho*dwdt+w*r+dpdx[2] + s[1]*dwdx[0]+s[2]*dwdx[1]+s[3]*dwdx[2]; + // energy source + re = rho*dedt + E*r + s[1]*dedx[0]+s[2]*dedx[1]+s[3]*dedx[2] + + u*dpdx[0]+v*dpdx[1]+w*dpdx[2]; + } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -64,6 +131,7 @@ class CompFlowProblemRayleighTaylor { fieldOutput( ncomp_t system, ncomp_t ncomp, ncomp_t offset, + std::size_t nunk, tk::real t, tk::real V, const std::vector< tk::real >& vol, diff --git a/src/PDE/CompFlow/Problem/RotatedSodShocktube.cpp b/src/PDE/CompFlow/Problem/RotatedSodShocktube.cpp index 88d8c05c1b2..1c7dcfd55c9 100644 --- a/src/PDE/CompFlow/Problem/RotatedSodShocktube.cpp +++ b/src/PDE/CompFlow/Problem/RotatedSodShocktube.cpp @@ -2,7 +2,7 @@ \file src/PDE/CompFlow/Problem/RotatedSodShocktube.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -22,7 +22,8 @@ CompFlowProblemRotatedSodShocktube::solution( ncomp_t system, tk::real x, tk::real y, tk::real z, - tk::real t ) + tk::real t, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -40,6 +41,7 @@ CompFlowProblemRotatedSodShocktube::solution( ncomp_t system, // axis compared to the original tube with largest dimension in X tk::real a = -45.0*M_PI/180.0; auto c = tk::rotateX( tk::rotateY( tk::rotateZ( {{ x, y, z }}, a ), a ), a ); - return CompFlowProblemSodShocktube::solution( system, ncomp, - c[0], c[1], c[2], t ); + int inbox = 0; + return CompFlowProblemSodShocktube:: + solution( system, ncomp, c[0], c[1], c[2], t, inbox ); } diff --git a/src/PDE/CompFlow/Problem/RotatedSodShocktube.hpp b/src/PDE/CompFlow/Problem/RotatedSodShocktube.hpp index bde842b0025..a81e56a7007 100644 --- a/src/PDE/CompFlow/Problem/RotatedSodShocktube.hpp +++ b/src/PDE/CompFlow/Problem/RotatedSodShocktube.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/RotatedSodShocktube.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for rotated Sod's shock-tube \details This file defines a policy class for the compressible flow @@ -28,7 +28,7 @@ class CompFlowProblemRotatedSodShocktube : public CompFlowProblemSodShocktube { //! Evaluate analytical solution at (x,y,0) for all components static tk::SolutionFn::result_type solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t ); + tk::real t, int& ); //! Return problem type static ctr::ProblemType type() noexcept diff --git a/src/PDE/CompFlow/Problem/SedovBlastwave.cpp b/src/PDE/CompFlow/Problem/SedovBlastwave.cpp index 59410d5da3a..98cd263c635 100644 --- a/src/PDE/CompFlow/Problem/SedovBlastwave.cpp +++ b/src/PDE/CompFlow/Problem/SedovBlastwave.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/SedovBlastwave.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "SedovBlastwave.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -29,8 +29,9 @@ CompFlowProblemSedovBlastwave::solution( ncomp_t system, [[maybe_unused]] ncomp_t ncomp, tk::real x, tk::real y, + tk::real z, tk::real, - tk::real ) + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -44,88 +45,35 @@ CompFlowProblemSedovBlastwave::solution( ncomp_t system, { Assert( ncomp == ncomp, "Number of scalar components must be " + std::to_string(ncomp) ); - using tag::param; - tk::real r, p, u, v, w, rE; - if ( (x<0.05) && (y<0.05) ) { - // density - r = 1.0; - // pressure - p = 783.4112; - // velocity - u = 0.0; - v = 0.0; - w = 0.0; - } - else { - // density - r = 1.0; - // pressure - p = 1.0e-6; - // velocity - u = 0.0; - v = 0.0; - w = 0.0; - } - // total specific energy - rE = eos_totalenergy< eq >( system, r, u, v, w, p ); + tk::real r=0, p=0, u=0, v=0, w=0, rE=0; - return {{ r, r*u, r*v, r*w, rE }}; -} + const auto scheme = g_inputdeck.get< tag::discr, tag::scheme >(); + const auto centering = ctr::Scheme().centering( scheme ); -std::vector< tk::real > -CompFlowProblemSedovBlastwave::solinc( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); + // pressure + if (centering == tk::Centering::ELEM) { - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); + if ( (x<0.05) && (y<0.05) ) p = 783.4112; else p = 1.0e-6; - return st2; -} + } else if (centering == tk::Centering::NODE) { -tk::SrcFn::result_type -CompFlowProblemSedovBlastwave::src( ncomp_t, ncomp_t, tk::real, - tk::real, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; -} + auto eps = std::numeric_limits< tk::real >::epsilon(); + if (std::abs(x) < eps && std::abs(y) < eps && std::abs(z) < eps) + p = g_inputdeck.get< tag::param, tag::compflow, tag::p0 >()[ system ]; + else + p = 0.67e-4; -void -CompFlowProblemSedovBlastwave::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; + } - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); + // density + r = 1.0; + // velocity + u = v = w = 0.0; + // total specific energy + rE = eos_totalenergy< eq >( system, r, u, v, w, p ); - for (const auto& s : g_inputdeck.get< param, eq, tag::bcsym >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); + return {{ r, r*u, r*v, r*w, rE }}; } std::vector< std::string > @@ -135,22 +83,12 @@ CompFlowProblemSedovBlastwave::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); - //n.push_back( "density_analytical" ); - n.push_back( "x-velocity_numerical" ); - //n.push_back( "x-velocity_analytical" ); - //n.push_back( "err(u)" ); - n.push_back( "y-velocity_numerical" ); - //n.push_back( "y-velocity_analytical" ); - n.push_back( "z-velocity_numerical" ); - //n.push_back( "z-velocity_analytical" ); - n.push_back( "specific_total_energy_numerical" ); - //n.push_back( "specific_total_energy_analytical" ); - //n.push_back( "err(E)" ); - n.push_back( "pressure_numerical" ); - //n.push_back( "pressure_analytical" ); + if(pref) + n.push_back( "number of degree of freedom" ); return n; } @@ -160,6 +98,7 @@ CompFlowProblemSedovBlastwave::fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, @@ -171,85 +110,12 @@ CompFlowProblemSedovBlastwave::fieldOutput( //! flow equation system we operate on among the systems of PDEs //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] U Solution vector at recent time step //! \return Vector of vectors to be output to file // ***************************************************************************** { - const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - - std::vector< std::vector< tk::real > > out; - const auto r = U.extract( 0*rdof, offset ); - const auto ru = U.extract( 1*rdof, offset ); - const auto rv = U.extract( 2*rdof, offset ); - const auto rw = U.extract( 3*rdof, offset ); - const auto re = U.extract( 4*rdof, offset ); - - // mesh node coordinates - //const auto& x = coord[0]; - //const auto& y = coord[1]; - - out.push_back( r ); - //out.push_back( std::vector< tk::real >( r.size(), 1.0 ) ); - - std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - //std::vector< tk::real > ua = ru; - //for (std::size_t i=0; i v = rv; - //std::vector< tk::real > va = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - //for (std::size_t i=0; i w = rw; - //std::vector< tk::real > wa = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - //for (std::size_t i=0; i E = re; - //std::vector< tk::real > Ea = re; - //std::vector< tk::real > Pa( r.size(), 0.0 ); - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - //for (std::size_t i=0; i P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], re[i] ); - out.push_back( P ); - //out.push_back( Pa ); - - return out; + return CompFlowFieldOutput( system, offset, nunk, U ); } std::vector< std::string > diff --git a/src/PDE/CompFlow/Problem/SedovBlastwave.hpp b/src/PDE/CompFlow/Problem/SedovBlastwave.hpp index 1751e5ef776..59881b76799 100644 --- a/src/PDE/CompFlow/Problem/SedovBlastwave.hpp +++ b/src/PDE/CompFlow/Problem/SedovBlastwave.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/SedovBlastwave.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for Sedov's blastwave \details This file defines a policy class for the compressible flow @@ -36,21 +36,19 @@ class CompFlowProblemSedovBlastwave { //! Evaluate analytical solution at (x,y,0) for all components static tk::SolutionFn::result_type solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt ) const; + tk::real x, tk::real y, tk::real, tk::real, int& ); //! Compute and return source term for this problem - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -60,6 +58,7 @@ class CompFlowProblemSedovBlastwave { fieldOutput( ncomp_t system, ncomp_t /*ncomp*/, ncomp_t offset, + std::size_t nunk, tk::real, tk::real /*V*/, const std::vector< tk::real >& /*vol*/, diff --git a/src/PDE/CompFlow/Problem/SheddingFlow.cpp b/src/PDE/CompFlow/Problem/SheddingFlow.cpp new file mode 100644 index 00000000000..eb25585606d --- /dev/null +++ b/src/PDE/CompFlow/Problem/SheddingFlow.cpp @@ -0,0 +1,111 @@ +// ***************************************************************************** +/*! + \file src/PDE/CompFlow/Problem/SheddingFlow.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the compressible flow equations + \details This file defines a Problem policy class for the compressible flow + equations, defined in PDE/CompFlow/CompFlow.h. See PDE/CompFlow/Problem.h + for general requirements on Problem policy classes for CompFlow. +*/ +// ***************************************************************************** + +#include "SheddingFlow.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "FieldOutput.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::CompFlowProblemSheddingFlow; + +tk::SolutionFn::result_type +CompFlowProblemSheddingFlow::solution( ncomp_t system, + [[maybe_unused]] ncomp_t ncomp, + tk::real, + tk::real, + tk::real, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate initial solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +// ***************************************************************************** +{ + Assert( ncomp == ncomp, "Number of scalar components must be " + + std::to_string(ncomp) ); + using tag::param; + + // Assign uniform initial condition according to the farfield state + auto r = g_inputdeck.get< tag::param, eq, + tag::farfield_density >()[ system ]; + auto p = g_inputdeck.get< tag::param, eq, + tag::farfield_pressure >()[ system ]; + auto u = g_inputdeck.get< tag::param, eq, + tag::farfield_velocity >()[ system ]; + auto rE = eos_totalenergy< eq >( system, r, u[0], u[1], u[2], p ); + + return {{ r, r*u[0], r*u[1], r*u[2], rE }}; +} + +std::vector< std::string > +CompFlowProblemSheddingFlow::fieldNames( ncomp_t ) const +// ***************************************************************************** +// Return field names to be output to file +//! \return Vector of strings labelling fields output in file +// ***************************************************************************** +{ + const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + + auto n = CompFlowFieldNames(); + + if(pref) + n.push_back( "number of degree of freedom" ); + + return n; +} + +std::vector< std::vector< tk::real > > +CompFlowProblemSheddingFlow::fieldOutput( + ncomp_t system, + ncomp_t, + ncomp_t offset, + std::size_t nunk, + tk::real, + tk::real, + const std::vector< tk::real >&, + const std::array< std::vector< tk::real >, 3 >&, + tk::Fields& U ) const +// ***************************************************************************** +// Return field output going to file +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs +//! \param[in] offset System offset specifying the position of the system of +//! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract +//! \param[in] U Solution vector at recent time step +//! \return Vector of vectors to be output to file +// ***************************************************************************** +{ + return CompFlowFieldOutput( system, offset, nunk, U ); +} + +std::vector< std::string > +CompFlowProblemSheddingFlow::names( ncomp_t ) const +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/CompFlow/Problem/SheddingFlow.hpp b/src/PDE/CompFlow/Problem/SheddingFlow.hpp new file mode 100644 index 00000000000..ddcff3f0369 --- /dev/null +++ b/src/PDE/CompFlow/Problem/SheddingFlow.hpp @@ -0,0 +1,82 @@ +// ***************************************************************************** +/*! + \file src/PDE/CompFlow/Problem/SheddingFlow.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for shedding flow over triangular wedge + \details This file defines a policy class for the compressible flow + equations, defined in PDE/CompFlow/CompFlow.h. See PDE/CompFlow/Problem.h + for general requirements on Problem policy classes for CompFlow. +*/ +// ***************************************************************************** +#ifndef CompFlowProblemSheddingFlow_h +#define CompFlowProblemSheddingFlow_h + +#include +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! CompFlow system of PDEs problem: Shedding flow +class CompFlowProblemSheddingFlow { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::compflow; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! \brief Query all side set IDs the user has configured for all components + //! in this PDE system + void side( std::unordered_set< int >& conf ) const; + + //! Return field names to be output to file + std::vector< std::string > fieldNames( ncomp_t ) const; + + //! Return field output going to file + std::vector< std::vector< tk::real > > + fieldOutput( ncomp_t system, + ncomp_t /*ncomp*/, + ncomp_t offset, + std::size_t nunk, + tk::real, + tk::real /*V*/, + const std::vector< tk::real >& /*vol*/, + const std::array< std::vector< tk::real >, 3 >& /*coord*/, + tk::Fields& U ) const; + + //! Return names of integral variables to be output to diagnostics file + std::vector< std::string > names( ncomp_t ) const; + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::SHEDDING_FLOW; } +}; + +} // inciter:: + +#endif // CompFlowProblemSheddingFlow_h diff --git a/src/PDE/CompFlow/Problem/SodShocktube.cpp b/src/PDE/CompFlow/Problem/SodShocktube.cpp index 83b867a4f2b..068e870c496 100644 --- a/src/PDE/CompFlow/Problem/SodShocktube.cpp +++ b/src/PDE/CompFlow/Problem/SodShocktube.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/SodShocktube.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "SodShocktube.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -30,7 +30,8 @@ CompFlowProblemSodShocktube::solution( ncomp_t system, tk::real x, tk::real, tk::real, - tk::real ) + tk::real, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -76,61 +77,6 @@ CompFlowProblemSodShocktube::solution( ncomp_t system, return {{ r, r*u, r*v, r*w, rE }}; } -std::vector< tk::real > -CompFlowProblemSodShocktube::solinc( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real t, tk::real dt ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -tk::SrcFn::result_type -CompFlowProblemSodShocktube::src( ncomp_t, ncomp_t, tk::real, - tk::real, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; -} - -void -CompFlowProblemSodShocktube::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcsym >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); -} - std::vector< std::string > CompFlowProblemSodShocktube::fieldNames( ncomp_t ) const // ***************************************************************************** @@ -138,22 +84,10 @@ CompFlowProblemSodShocktube::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); - //n.push_back( "density_analytical" ); - n.push_back( "x-velocity_numerical" ); - //n.push_back( "x-velocity_analytical" ); - //n.push_back( "err(u)" ); - n.push_back( "y-velocity_numerical" ); - //n.push_back( "y-velocity_analytical" ); - n.push_back( "z-velocity_numerical" ); - //n.push_back( "z-velocity_analytical" ); - n.push_back( "specific_total_energy_numerical" ); - //n.push_back( "specific_total_energy_analytical" ); - //n.push_back( "err(E)" ); - n.push_back( "pressure_numerical" ); - //n.push_back( "pressure_analytical" ); + const auto pref = inciter::g_inputdeck.get< tag::pref, tag::pref >(); + if (pref) n.push_back( "number of degrees of freedom" ); return n; } @@ -163,6 +97,7 @@ CompFlowProblemSodShocktube::fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, @@ -174,87 +109,12 @@ CompFlowProblemSodShocktube::fieldOutput( //! flow equation system we operate on among the systems of PDEs //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] U Solution vector at recent time step //! \return Vector of vectors to be output to file // ***************************************************************************** { - // number of degree of freedom - const std::size_t rdof = - g_inputdeck.get< tag::discr, tag::rdof >(); - - std::vector< std::vector< tk::real > > out; - const auto r = U.extract( 0*rdof, offset ); - const auto ru = U.extract( 1*rdof, offset ); - const auto rv = U.extract( 2*rdof, offset ); - const auto rw = U.extract( 3*rdof, offset ); - const auto re = U.extract( 4*rdof, offset ); - - // mesh node coordinates - //const auto& x = coord[0]; - //const auto& y = coord[1]; - - out.push_back( r ); - //out.push_back( std::vector< tk::real >( r.size(), 1.0 ) ); - - std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - //std::vector< tk::real > ua = ru; - //for (std::size_t i=0; i v = rv; - //std::vector< tk::real > va = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - //for (std::size_t i=0; i w = rw; - //std::vector< tk::real > wa = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - //for (std::size_t i=0; i E = re; - //std::vector< tk::real > Ea = re; - //std::vector< tk::real > Pa( r.size(), 0.0 ); - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - //for (std::size_t i=0; i P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], r[i]*E[i] ); - out.push_back( P ); - //out.push_back( Pa ); - - return out; + return CompFlowFieldOutput( system, offset, nunk, U ); } std::vector< std::string > diff --git a/src/PDE/CompFlow/Problem/SodShocktube.hpp b/src/PDE/CompFlow/Problem/SodShocktube.hpp index fc579d6e910..abf0e595937 100644 --- a/src/PDE/CompFlow/Problem/SodShocktube.hpp +++ b/src/PDE/CompFlow/Problem/SodShocktube.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/SodShocktube.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for Sod's shock-tube \details This file defines a policy class for the compressible flow @@ -38,21 +38,19 @@ class CompFlowProblemSodShocktube { //! Evaluate analytical solution at (x,y,0) for all components static tk::SolutionFn::result_type solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, - tk::real ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t, tk::real dt ) const; + tk::real, int& ); //! Compute and return source term for this problem - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -62,6 +60,7 @@ class CompFlowProblemSodShocktube { fieldOutput( ncomp_t system, ncomp_t /*ncomp*/, ncomp_t offset, + std::size_t nunk, tk::real, tk::real /*V*/, const std::vector< tk::real >& /*vol*/, diff --git a/src/PDE/CompFlow/Problem/TaylorGreen.cpp b/src/PDE/CompFlow/Problem/TaylorGreen.cpp index 68d3bb7343d..9aaec9c8001 100644 --- a/src/PDE/CompFlow/Problem/TaylorGreen.cpp +++ b/src/PDE/CompFlow/Problem/TaylorGreen.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/TaylorGreen.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "TaylorGreen.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -30,7 +30,8 @@ CompFlowProblemTaylorGreen::solution( ncomp_t system, tk::real x, tk::real y, tk::real, - tk::real ) + tk::real, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -60,49 +61,6 @@ CompFlowProblemTaylorGreen::solution( ncomp_t system, return {{ r, r*u, r*v, r*w, rE }}; } -std::vector< tk::real > -CompFlowProblemTaylorGreen::solinc( ncomp_t, ncomp_t, tk::real, tk::real, - tk::real, tk::real, tk::real ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; -} - -tk::SrcFn::result_type -CompFlowProblemTaylorGreen::src( ncomp_t, ncomp_t, tk::real x, - tk::real y, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \param[in] x X coordinate where to evaluate the source -//! \param[in] y Y coordinate where to evaluate the source -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, - 3.0*M_PI/8.0*( cos(3.0*M_PI*x)*cos(M_PI*y) - - cos(3.0*M_PI*y)*cos(M_PI*x) ) }}; -} - -void -CompFlowProblemTaylorGreen::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::string > CompFlowProblemTaylorGreen::fieldNames( ncomp_t ) const // ***************************************************************************** @@ -110,22 +68,16 @@ CompFlowProblemTaylorGreen::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); n.push_back( "density_analytical" ); - n.push_back( "x-velocity_numerical" ); n.push_back( "x-velocity_analytical" ); n.push_back( "err(u)" ); - n.push_back( "y-velocity_numerical" ); n.push_back( "y-velocity_analytical" ); n.push_back( "err(v)" ); - n.push_back( "z-velocity_numerical" ); n.push_back( "z-velocity_analytical" ); - n.push_back( "specific_total_energy_numerical" ); n.push_back( "specific_total_energy_analytical" ); n.push_back( "err(E)" ); - n.push_back( "pressure_numerical" ); n.push_back( "pressure_analytical" ); return n; @@ -136,6 +88,7 @@ CompFlowProblemTaylorGreen::fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real V, const std::vector< tk::real >& vol, @@ -147,6 +100,7 @@ CompFlowProblemTaylorGreen::fieldOutput( //! flow equation system we operate on among the systems of PDEs //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] V Total mesh volume (across the whole problem) //! \param[in] vol Nodal mesh volumes //! \param[in] coord Mesh point coordinates @@ -158,81 +112,55 @@ CompFlowProblemTaylorGreen::fieldOutput( const std::size_t rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - std::vector< std::vector< tk::real > > out; + auto out = CompFlowFieldOutput( system, offset, nunk, U ); + const auto r = U.extract( 0*rdof, offset ); const auto ru = U.extract( 1*rdof, offset ); const auto rv = U.extract( 2*rdof, offset ); - const auto rw = U.extract( 3*rdof, offset ); const auto re = U.extract( 4*rdof, offset ); // mesh node coordinates const auto& x = coord[0]; const auto& y = coord[1]; - out.push_back( r ); - out.push_back( std::vector< tk::real >( r.size(), 1.0 ) ); + out.push_back( std::vector< tk::real >( nunk, 1.0 ) ); - std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - std::vector< tk::real > ua = ru; - for (std::size_t i=0; i ua( nunk ); + for (std::size_t i=0; i v = rv; - std::vector< tk::real > va = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - for (std::size_t i=0; i err( nunk ); + for (std::size_t i=0; i va( nunk ); + for (std::size_t i=0; i w = rw; - std::vector< tk::real > wa = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - for (std::size_t i=0; i E = re; - std::vector< tk::real > Ea = re; - std::vector< tk::real > Pa( r.size(), 0.0 ); - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - for (std::size_t i=0; i( nunk, 0.0 ) ); + + std::vector< tk::real > Ea( nunk ), Pa( nunk ); + for (std::size_t i=0; i( system, r[i], ua[i]/r[i], va[i]/r[i], - wa[i]/r[i], Pa[i]/r[i] ); + 0.0, Pa[i]/r[i] ); } out.push_back( Ea ); // error in total specific energy - for (std::size_t i=0; i P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], r[i]*E[i] ); - out.push_back( P ); out.push_back( Pa ); return out; diff --git a/src/PDE/CompFlow/Problem/TaylorGreen.hpp b/src/PDE/CompFlow/Problem/TaylorGreen.hpp index ff4077214f2..5dd0f9a448c 100644 --- a/src/PDE/CompFlow/Problem/TaylorGreen.hpp +++ b/src/PDE/CompFlow/Problem/TaylorGreen.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/TaylorGreen.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a policy class for the compressible flow @@ -43,20 +43,25 @@ class CompFlowProblemTaylorGreen { //! Evaluate analytical solution at (x,y,0) for all components static tk::SolutionFn::result_type solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - std::vector< tk::real > - solinc( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real, tk::real ) - const; + tk::real x, tk::real y, tk::real, tk::real, int& ); //! Compute and return source term for Rayleigh-Taylor manufactured solution - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t, tk::real x, tk::real y, tk::real, tk::real ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + //! \param[in] x X coordinate where to evaluate the source + //! \param[in] y Y coordinate where to evaluate the source + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real x, tk::real y, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { + r = ru = rv = rw = 0.0; + re = 3.0*M_PI/8.0*( cos(3.0*M_PI*x)*cos(M_PI*y) + - cos(3.0*M_PI*y)*cos(M_PI*x) ); + } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -66,6 +71,7 @@ class CompFlowProblemTaylorGreen { fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real V, const std::vector< tk::real >& vol, diff --git a/src/PDE/CompFlow/Problem/UserDefined.cpp b/src/PDE/CompFlow/Problem/UserDefined.cpp index 397dbedd3b2..41aa5e42b80 100644 --- a/src/PDE/CompFlow/Problem/UserDefined.cpp +++ b/src/PDE/CompFlow/Problem/UserDefined.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/UserDefined.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -12,9 +12,11 @@ */ // ***************************************************************************** +#include + #include "UserDefined.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -25,61 +27,73 @@ extern ctr::InputDeck g_inputdeck; using inciter::CompFlowProblemUserDefined; tk::SolutionFn::result_type -CompFlowProblemUserDefined::solution( ncomp_t, +CompFlowProblemUserDefined::solution( ncomp_t system, [[maybe_unused]] ncomp_t ncomp, - tk::real, - tk::real, - tk::real, - tk::real ) -// ***************************************************************************** -//! Evaluate analytical solution at (x,y,z,t) for all components + [[maybe_unused]] tk::real x, + [[maybe_unused]] tk::real y, + [[maybe_unused]] tk::real z, + [[maybe_unused]] tk::real, + int& inbox ) +// ***************************************************************************** +//! Set initial conditions +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs //! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \param[in] z Z coordinate where to evaluate the solution +//! \param[in] z Z coordinate where to evaluate the solution +//! \param[in,out] inbox 1 If box ICs are applied and point fell into box //! \return Values of all components //! \note The function signature must follow tk::SolutionFn // ***************************************************************************** { Assert( ncomp == ncomp, "Number of scalar components must be " + std::to_string(ncomp) ); - return {{ 1.0, 0.0, 0.0, 1.0, 293.0 }}; -} - -std::array< tk::real, 5 > -CompFlowProblemUserDefined::solinc( ncomp_t, ncomp_t, tk::real, tk::real, - tk::real, tk::real, tk::real ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; -} - -tk::SrcFn::result_type -CompFlowProblemUserDefined::src( ncomp_t, ncomp_t, tk::real, - tk::real, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \details No-op for user-defined problems -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; -} - -void -CompFlowProblemUserDefined::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - conf.insert( std::stoi(s[0]) ); + tk::SolutionFn::result_type u( ncomp, 0.0 ); + + // Set background ICs + const auto& ic = g_inputdeck.get< tag::param, eq, tag::ic >(); + const auto& bgrhoic = ic.get< tag::density >(); + const auto& bgvelic = ic.get< tag::velocity >(); + const auto& bgpreic = ic.get< tag::pressure >(); + const auto& bgenic = ic.get< tag::energy >(); + const auto& bgtempic = ic.get< tag::temperature >(); + + Assert( bgrhoic.size() > system, "No background density IC" ); + Assert( bgvelic.size() > 3*system, "No background velocity IC" ); + + u[0] = bgrhoic.at(system).at(0); + u[1] = u[0] * bgvelic.at(system).at(0); + u[2] = u[0] * bgvelic.at(system).at(1); + u[3] = u[0] * bgvelic.at(system).at(2); + + if (bgpreic.size() > system && !bgpreic[system].empty()) { + u[4] = eos_totalenergy< eq >( system, u[0], u[1], u[2], u[3], + bgpreic.at(system).at(0) ); + } else if (bgenic.size() > system && !bgenic[system].empty()) { + u[4] = u[0] * bgenic[system][0]; + } else if (bgtempic.size() > system && !bgtempic[system].empty()) { + const auto& cv = g_inputdeck.get< tag::param, eq, tag::cv >(); + u[4] = u[0] * bgtempic[system][0] * cv.at(system).at(0); + } else Throw( "IC background energy cannot be computed. User must specify " + "one of background pressure, energy, or velocity." ); + + // Detect if user has configured a box IC + const auto& icbox = ic.get< tag::box >(); + std::vector< tk::real > + box{ icbox.get< tag::xmin >(), icbox.get< tag::xmax >(), + icbox.get< tag::ymin >(), icbox.get< tag::ymax >(), + icbox.get< tag::zmin >(), icbox.get< tag::zmax >() }; + const auto eps = std::numeric_limits< tk::real >::epsilon(); + if ( std::any_of( begin(box), end(box), [=](auto p){return abs(p) > eps;} ) && + x>box[0] && xbox[2] && ybox[4] && z @@ -89,24 +103,15 @@ CompFlowProblemUserDefined::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; - - n.push_back( "density" ); - n.push_back( "x-velocity" ); - n.push_back( "y-velocity" ); - n.push_back( "z-velocity" ); - n.push_back( "specific total energy" ); - n.push_back( "pressure" ); - n.push_back( "temperature" ); - - return n; + return CompFlowFieldNames(); } std::vector< std::vector< tk::real > > CompFlowProblemUserDefined::fieldOutput( - ncomp_t, + ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, @@ -114,57 +119,16 @@ CompFlowProblemUserDefined::fieldOutput( tk::Fields& U ) const // ***************************************************************************** // Return field output going to file +//! \param[in] system Equation system index, i.e., which compressible +//! flow equation system we operate on among the systems of PDEs //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] U Solution vector at recent time step -//! \return Vector of vectors to be output to file +//! \return Vector of vectors of solution fields to be output to file // ***************************************************************************** { - // number of degrees of freedom - const std::size_t rdof = - g_inputdeck.get< tag::discr, tag::rdof >(); - std::vector< std::vector< tk::real > > out; - - const auto r = U.extract( 0*rdof, offset ); - const auto ru = U.extract( 1*rdof, offset ); - const auto rv = U.extract( 2*rdof, offset ); - const auto rw = U.extract( 3*rdof, offset ); - const auto re = U.extract( 4*rdof, offset ); - - out.push_back( r ); - - std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - - std::vector< tk::real > v = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - - std::vector< tk::real > w = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - - std::vector< tk::real > E = re; - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - - std::vector< tk::real > p = r; - for (std::size_t i=0; i( 0, r[i], u[i], v[i], w[i], r[i]*E[i] ); - out.push_back( p ); - - std::vector< tk::real > T = r; - tk::real cv = g_inputdeck.get< tag::param, eq, tag::cv >()[0][0]; - for (std::size_t i=0; i diff --git a/src/PDE/CompFlow/Problem/UserDefined.hpp b/src/PDE/CompFlow/Problem/UserDefined.hpp index e58eab2ada0..c9c224ca693 100644 --- a/src/PDE/CompFlow/Problem/UserDefined.hpp +++ b/src/PDE/CompFlow/Problem/UserDefined.hpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/UserDefined.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a policy class for the compressible flow @@ -31,35 +31,34 @@ class CompFlowProblemUserDefined { private: using ncomp_t = tk::ctr::ncomp_t; using eq = tag::compflow; - static constexpr ncomp_t m_ncomp = 5; //!< Number of scalar components public: - //! Evaluate initial condition solution at (x,y,z,t) for all components + //! Set initial conditions static tk::SolutionFn::result_type - solution( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::array< tk::real, 5 > - solinc( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real, tk::real ) - const; + solution( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real, + int& inbox ); //! Compute and return source term for Rayleigh-Taylor manufactured solution - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real ); + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; - //! Return field output going to file std::vector< std::vector< tk::real > > fieldOutput( ncomp_t, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, diff --git a/src/PDE/CompFlow/Problem/VorticalFlow.cpp b/src/PDE/CompFlow/Problem/VorticalFlow.cpp index c336a04885c..311897655da 100644 --- a/src/PDE/CompFlow/Problem/VorticalFlow.cpp +++ b/src/PDE/CompFlow/Problem/VorticalFlow.cpp @@ -3,7 +3,7 @@ \file src/PDE/CompFlow/Problem/VorticalFlow.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -14,7 +14,7 @@ #include "VorticalFlow.hpp" #include "Inciter/InputDeck/InputDeck.hpp" -#include "EoS/EoS.hpp" +#include "FieldOutput.hpp" namespace inciter { @@ -30,7 +30,8 @@ CompFlowProblemVorticalFlow::solution( ncomp_t system, tk::real x, tk::real y, tk::real z, - tk::real ) + tk::real, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -64,72 +65,6 @@ CompFlowProblemVorticalFlow::solution( ncomp_t system, return {{ 1.0, ru, rv, rw, rE }}; } -std::vector< tk::real > -CompFlowProblemVorticalFlow::solinc( ncomp_t, ncomp_t ncomp, tk::real, tk::real, - tk::real, tk::real, tk::real ) const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] ncomp Number of scalar components in this PDE system -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - return std::vector< tk::real >( ncomp, 0.0 ); -} - -tk::SrcFn::result_type -CompFlowProblemVorticalFlow::src( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - using tag::param; using tag::compflow; - - // manufactured solution parameters - const auto& a = - g_inputdeck.get< param, compflow, tag::alpha >()[ system ]; - const auto& b = g_inputdeck.get< param, compflow, tag::beta >()[ system ]; - // ratio of specific heats - tk::real g = g_inputdeck.get< param, compflow, tag::gamma >()[ system ][0]; - // evaluate solution at x,y,z - auto s = solution( system, ncomp, x, y, z, 0.0 ); - std::vector< tk::real > r( ncomp ); - // density source - r[0] = 0.0; - // momentum source - r[1] = a*s[1]/s[0] - b*s[2]/s[0]; - r[2] = b*s[1]/s[0] + a*s[2]/s[0]; - r[3] = 0.0; - // energy source - r[4] = (r[1]*s[1] + r[2]*s[2])/s[0] + 8.0*a*a*a*z*z/(g-1.0); - - return r; -} - -void -CompFlowProblemVorticalFlow::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::compflow; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, compflow, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::string > CompFlowProblemVorticalFlow::fieldNames( ncomp_t ) const // ***************************************************************************** @@ -137,19 +72,13 @@ CompFlowProblemVorticalFlow::fieldNames( ncomp_t ) const //! \return Vector of strings labelling fields output in file // ***************************************************************************** { - std::vector< std::string > n; + auto n = CompFlowFieldNames(); - n.push_back( "density_numerical" ); n.push_back( "density_analytical" ); - n.push_back( "x-velocity_numerical" ); n.push_back( "x-velocity_analytical" ); - n.push_back( "y-velocity_numerical" ); n.push_back( "y-velocity_analytical" ); - n.push_back( "z-velocity_numerical" ); n.push_back( "z-velocity_analytical" ); - n.push_back( "specific_total_energy_numerical" ); n.push_back( "specific_total_energy_analytical" ); - n.push_back( "pressure_numerical" ); n.push_back( "pressure_analytical" ); return n; @@ -160,6 +89,7 @@ CompFlowProblemVorticalFlow::fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, @@ -171,6 +101,7 @@ CompFlowProblemVorticalFlow::fieldOutput( //! flow equation system we operate on among the systems of PDEs //! \param[in] offset System offset specifying the position of the system of //! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract //! \param[in] coord Mesh node coordinates //! \param[in] U Solution vector at recent time step //! \return Vector of vectors to be output to file @@ -190,7 +121,8 @@ CompFlowProblemVorticalFlow::fieldOutput( tk::real g = g_inputdeck.get< tag::param, tag::compflow, tag::gamma >()[system][0]; - std::vector< std::vector< tk::real > > out; + auto out = CompFlowFieldOutput( system, offset, nunk, U ); + const auto r = U.extract( 0*rdof, offset ); const auto ru = U.extract( 1*rdof, offset ); const auto rv = U.extract( 2*rdof, offset ); @@ -202,43 +134,27 @@ CompFlowProblemVorticalFlow::fieldOutput( const auto& y = coord[1]; const auto& z = coord[2]; - out.push_back( r ); out.push_back( std::vector< tk::real >( r.size(), 1.0 ) ); std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); for (std::size_t i=0; i v = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); for (std::size_t i=0; i w = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); for (std::size_t i=0; i E = re; - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); for (std::size_t i=0; i P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, r[i], u[i], v[i], w[i], re[i] ); - out.push_back( P ); for (std::size_t i=0; i - solinc( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real, - tk::real ) const; + tk::real, int& ); //! Compute and return source term for vortical flow manufactured solution - static tk::SrcFn::result_type - src( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real ); + //! \param[in] system Equation system index, i.e., which compressible + //! flow equation system we operate on among the systems of PDEs + //! \param[in] x X coordinate where to evaluate the solution + //! \param[in] y Y coordinate where to evaluate the solution + //! \param[in] z Z coordinate where to evaluate the solution + //! \param[in,out] r Density source + //! \param[in,out] ru X momentum source + //! \param[in,out] rv Y momentum source + //! \param[in,out] rw Z momentum source + //! \param[in,out] re Specific total energy source + //! \note The function signature must follow tk::SrcFn + static tk::CompFlowSrcFn::result_type + src( ncomp_t system, tk::real x, tk::real y, tk::real z, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { + using tag::param; using tag::compflow; + + // manufactured solution parameters + const auto& a = + g_inputdeck.get< param, compflow, tag::alpha >()[ system ]; + const auto& b = g_inputdeck.get< param, compflow, tag::beta >()[ system ]; + // ratio of specific heats + tk::real g = g_inputdeck.get< param, compflow, tag::gamma >()[ system ][0]; + // evaluate solution at x,y,z + int inbox = 0; + auto s = solution( system, 5, x, y, z, 0.0, inbox ); - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; + // density source + r = 0.0; + // momentum source + ru = a*s[1]/s[0] - b*s[2]/s[0]; + rv = b*s[1]/s[0] + a*s[2]/s[0]; + rw = 0.0; + // energy source + re = (ru*s[1] + rv*s[2])/s[0] + 8.0*a*a*a*z*z/(g-1.0); + } //! Return field names to be output to file std::vector< std::string > fieldNames( ncomp_t ) const; @@ -66,6 +92,7 @@ class CompFlowProblemVorticalFlow { fieldOutput( ncomp_t system, ncomp_t, ncomp_t offset, + std::size_t nunk, tk::real, tk::real, const std::vector< tk::real >&, diff --git a/src/PDE/Integrate/Riemann/RiemannFactory.cpp b/src/PDE/CompFlow/RiemannFactory.cpp similarity index 56% rename from src/PDE/Integrate/Riemann/RiemannFactory.cpp rename to src/PDE/CompFlow/RiemannFactory.cpp index ec6aeba38ef..ddb178c30b8 100644 --- a/src/PDE/Integrate/Riemann/RiemannFactory.cpp +++ b/src/PDE/CompFlow/RiemannFactory.cpp @@ -1,12 +1,14 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/RiemannFactory.cpp + \file src/PDE/CompFlow/RiemannFactory.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Register available Riemann solvers into a factory - \details Register available Riemann solvers into a factory. + \brief Register available Riemann solvers for single material compressible + hydrodynamics into a factory + \details Register available Riemann solvers for single material compressible + hydrodynamics into a factory. */ // ***************************************************************************** @@ -14,18 +16,19 @@ #include #include "RiemannFactory.hpp" -#include "HLLC.hpp" -#include "LaxFriedrichs.hpp" +#include "Riemann/HLLC.hpp" +#include "Riemann/LaxFriedrichs.hpp" -inciter::RiemannFactory -inciter::RiemannSolvers() +inciter::CompFlowRiemannFactory +inciter::compflowRiemannSolvers() // ***************************************************************************** -// Register available Riemann solvers into a factory +// \brief Register available Riemann solvers for compressible hydrodynamics into +// a factory //! \return Riemann solver factory // ***************************************************************************** { using RiemannSolverList = brigand::list< HLLC, LaxFriedrichs >; - RiemannFactory r; + CompFlowRiemannFactory r; brigand::for_each< RiemannSolverList >( registerRiemannSolver( r ) ); return r; } diff --git a/src/PDE/CompFlow/RiemannFactory.hpp b/src/PDE/CompFlow/RiemannFactory.hpp new file mode 100644 index 00000000000..609e94f76dd --- /dev/null +++ b/src/PDE/CompFlow/RiemannFactory.hpp @@ -0,0 +1,65 @@ +// ***************************************************************************** +/*! + \file src/PDE/CompFlow/RiemannFactory.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Register available Riemann solvers for single material compressible + hydrodynamics into a factory + \details Register available Riemann solvers for single material compressible + hydrodynamics into a factory. +*/ +// ***************************************************************************** +#ifndef RiemannSolverFactory_h +#define RiemannSolverFactory_h + +#include +#include + +#include "NoWarning/value_factory.hpp" + +#include "Riemann/RiemannSolver.hpp" +#include "Inciter/Options/Flux.hpp" + +namespace inciter { + +//! Factory for Riemann solvers +//! \details This factory is used to store the constructors as a +//! std::function of specific Riemann solvers that can be invoked at a +//! later time compared to the point where the map is populated. The key +//! is an enum, uniquely idenfitying a specific Riemann solver. The value +//! is std::function storing a constructor to be invoked. The type of +//! object stored in std::function is a generic (base) class constructor, +//! which provides a polymorphyic interface (overridable functions) that +//! specific (child) Riemann solvers override, yielding runtime polymorphism. +using CompFlowRiemannFactory = + std::map< ctr::FluxType, std::function< RiemannSolver() > >; + +//! Functor to register a Riemann solver into the Riemann solver factory +struct registerRiemannSolver { + //! Factory to which to register the Riemann solver + CompFlowRiemannFactory& factory; + //! Constructor + //! \param[in] f Factory + explicit registerRiemannSolver( CompFlowRiemannFactory& f ) : factory( f ) {} + //! \brief Function call operator templated on the type that implements + //! a specific Riemann solver + template< typename U > void operator()( brigand::type_ ) { + // Function object holding the (default) constructor to be called later + // without bound arguments, since all specific Riemann solvers' + // constructors are compiler-generated (default) constructors, and thus + // taking no arguments. + std::function< U() > c = boost::value_factory< U >(); + // Associate constructor function object to flux type in factory + factory.emplace( U::type(), + std::bind(boost::value_factory< RiemannSolver >(), std::move(c)) ); + } +}; + +//! Register available Riemann solvers into a factory +CompFlowRiemannFactory compflowRiemannSolvers(); + +} // inciter:: + +#endif // RiemannSolverFactory_h diff --git a/src/PDE/ConfigureCompFlow.cpp b/src/PDE/ConfigureCompFlow.cpp index e707a0cad24..80ebb4bdf09 100644 --- a/src/PDE/ConfigureCompFlow.cpp +++ b/src/PDE/ConfigureCompFlow.cpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureCompFlow.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration for compressible flow PDE \details Register and compile configuration for compressible flow PDE. @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -21,7 +22,7 @@ #include "CartesianProduct.hpp" #include "PDEFactory.hpp" #include "Inciter/Options/PDE.hpp" - +#include "ContainerUtil.hpp" #include "ConfigureCompFlow.hpp" #include "CompFlow/Physics/CG.hpp" #include "CompFlow/Physics/DG.hpp" @@ -68,6 +69,7 @@ infoCompFlow( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) // ***************************************************************************** { using eq = tag::compflow; + using tk::parameters; auto c = ++cnt[ ctr::PDEType::COMPFLOW ]; // count eqs --c; // used to index vectors starting with 0 @@ -88,6 +90,11 @@ infoCompFlow( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) auto ncomp = g_inputdeck.get< tag::component >().get< eq >()[c]; nfo.emplace_back( "number of components", std::to_string( ncomp ) ); + const auto scheme = g_inputdeck.get< tag::discr, tag::scheme >(); + if (scheme != ctr::SchemeType::DiagCG && scheme != ctr::SchemeType::ALECG) + nfo.emplace_back( "flux", ctr::Flux().name( + g_inputdeck.get< tag::param, eq, tag::flux >().at(c) ) ); + nfo.emplace_back( "start offset in unknowns array", std::to_string( g_inputdeck.get< tag::component >().offset< eq >(c) ) ); @@ -106,7 +113,8 @@ infoCompFlow( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) const auto& cv = g_inputdeck.get< tag::param, eq, tag::cv >()[c]; if (!cv.empty()) - nfo.emplace_back( "specific heat at const. volume", std::to_string(cv[0]) ); + nfo.emplace_back( "specific heat at constant volume", + std::to_string(cv[0]) ); // Heat conductivity is optional: the outer vector may be empty const auto& k = g_inputdeck.get< tag::param, eq, tag::k >(); @@ -146,6 +154,158 @@ infoCompFlow( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) const auto& p0 = g_inputdeck.get< tag::param, eq, tag::p0 >(); if (!p0.empty()) nfo.emplace_back( "coeff p0", parameters( p0 ) ); + // ICs + + const auto& ic = g_inputdeck.get< tag::param, eq, tag::ic >(); + + const auto& bgdensityic = ic.get< tag::density >(); + if (bgdensityic.size() > c && !bgdensityic[c].empty()) + nfo.emplace_back( "IC background density", + std::to_string( bgdensityic[c][0] ) ); + const auto& bgvelocityic = ic.get< tag::velocity >(); + if (bgvelocityic.size() > c && !bgvelocityic[c].empty()) + nfo.emplace_back( "IC background velocity", + parameters( bgvelocityic[c] ) ); + const auto& bgpressureic = ic.get< tag::pressure >(); + if (bgpressureic.size() > c && !bgpressureic[c].empty()) + nfo.emplace_back( "IC background pressure", + std::to_string( bgpressureic[c][0] ) ); + const auto& bgenergyic = ic.get< tag::energy >(); + if (bgenergyic.size() > c && !bgenergyic[c].empty()) + nfo.emplace_back( "IC background energy", + std::to_string( bgenergyic[c][0] ) ); + const auto& bgtemperatureic = ic.get< tag::temperature >(); + if (bgtemperatureic.size() > c && !bgtemperatureic[c].empty()) + nfo.emplace_back( "IC background temperature", + std::to_string( bgtemperatureic[c][0] ) ); + + const auto& icbox = ic.get< tag::box >(); + std::vector< tk::real > box{ icbox.get< tag::xmin >(), + icbox.get< tag::xmax >(), + icbox.get< tag::ymin >(), + icbox.get< tag::ymax >(), + icbox.get< tag::zmin >(), + icbox.get< tag::zmax >() }; + const auto eps = std::numeric_limits< tk::real >::epsilon(); + if (std::any_of( begin(box), end(box), + [=]( tk::real p ){ return std::abs(p) > eps; })) + { + nfo.emplace_back( "IC box", parameters( box ) ); + + const auto& boxdensityic = icbox.get< tag::density >(); + if (boxdensityic.size() > c && !boxdensityic[c].empty()) + nfo.emplace_back( "IC box density", + std::to_string( boxdensityic[c][0] ) ); + const auto& boxvelocityic = icbox.get< tag::velocity >(); + if (boxvelocityic.size() > c && !boxvelocityic[c].empty()) + nfo.emplace_back( "IC box velocity", + parameters( boxvelocityic[c] ) ); + const auto& boxpressureic = icbox.get< tag::pressure >(); + if (boxpressureic.size() > c && !boxpressureic[c].empty()) + nfo.emplace_back( "IC box pressure", + std::to_string( boxpressureic[c][0] ) ); + const auto& boxenergyic = icbox.get< tag::energy >(); + if (boxenergyic.size() > c && !boxenergyic[c].empty()) + nfo.emplace_back( "IC box internal energy per unit mass", + std::to_string( boxenergyic[c][0] ) ); + const auto& boxmassic = icbox.get< tag::mass >(); + if (boxmassic.size() > c && !boxmassic[c].empty()) + nfo.emplace_back( "IC box mass", std::to_string( boxmassic[c][0] ) ); + const auto& boxenergy_content_ic = icbox.get< tag::energy_content >(); + if (boxenergy_content_ic.size() > c && !boxenergy_content_ic[c].empty()) + nfo.emplace_back( "IC box internal energy per unit volume", + std::to_string( boxenergy_content_ic[c][0] ) ); + const auto& boxtemperatureic = icbox.get< tag::temperature >(); + if (boxtemperatureic.size() > c && !boxtemperatureic[c].empty()) + nfo.emplace_back( "IC box temperature", + std::to_string( boxtemperatureic[c][0] ) ); + + const auto& initiate = icbox.get< tag::initiate >(); + const auto& inittype = initiate.get< tag::init >(); + if (inittype.size() > c) { + auto opt = ctr::Initiate(); + nfo.emplace_back( opt.group(), opt.name(inittype[c]) ); + if (inittype[c] == ctr::InitiateType::LINEAR) { + const auto& linpoint = initiate.get< tag::point >(); + if (linpoint.size() > c) + nfo.emplace_back( "IC box initiate linear point(s)", + parameters( linpoint[c] ) ); + const auto& linradius = initiate.get< tag::radius >(); + if (linradius.size() > c) + nfo.emplace_back( "IC box initiate linear radii", + parameters( linradius[c] ) ); + const auto& linvelocity = initiate.get< tag::velocity >(); + if (linvelocity.size() > c) + nfo.emplace_back( "IC box initiate linear velocity", + parameters( linvelocity[c] ) ); + } + } + } + + // BCs + + const auto& bcstag = g_inputdeck.get< tag::param, eq, tag::bcstag >(); + const auto& spoint = bcstag.get< tag::point >(); + if (spoint.size() > c) + nfo.emplace_back( "Stagnation BC point(s)", parameters( spoint[c] ) ); + const auto& sradius = bcstag.get< tag::radius >(); + if (sradius.size() > c) + nfo.emplace_back( "Stagnation BC radii", parameters( sradius[c] ) ); + + const auto& bcskip = g_inputdeck.get< tag::param, eq, tag::bcskip >(); + const auto& kpoint = bcskip.get< tag::point >(); + if (kpoint.size() > c) + nfo.emplace_back( "Skip BC point(s)", parameters( kpoint[c] ) ); + const auto& kradius = bcskip.get< tag::radius >(); + if (kradius.size() > c) + nfo.emplace_back( "Skip BC radii", parameters( kradius[c] ) ); + + const auto& fs = + g_inputdeck.get< tag::param, eq, tag::bc, tag::bcfarfield >(); + if (fs.size() > c) { + nfo.emplace_back( "Farfield BC sideset(s)", parameters( fs[c] ) ); + const auto& fr = + g_inputdeck.get< tag::param, eq, tag::farfield_density >(); + if (fr.size() > c) + nfo.emplace_back( "Farfield BC density", std::to_string(fr[c]) ); + const auto& fu = + g_inputdeck.get< tag::param, eq, tag::farfield_velocity >(); + if (fu.size() > c) + nfo.emplace_back( "Farfield BC velocity", parameters( fu[c] ) ); + const auto& fp = + g_inputdeck.get< tag::param, eq, tag::farfield_pressure >(); + if (fp.size() > c) + nfo.emplace_back( "Farfield BC pressure", std::to_string(fp[c]) ); + } + + const auto& sym = + g_inputdeck.get< tag::param, eq, tag::bc, tag::bcsym >(); + if (sym.size() > c) + nfo.emplace_back( "Symmetry BC sideset(s)", parameters( sym[c] ) ); + + // FCT + + auto bool_to_string = [](bool b) -> std::string { + return b ? "true" : "false"; + }; + + const auto fct = g_inputdeck.get< tag::discr, tag::fct >(); + if (scheme == ctr::SchemeType::DiagCG && fct) { + + const auto& sys = g_inputdeck.get< tag::param, eq, tag::sysfct >(); + if (sys.size() > c) { + nfo.emplace_back( "FCT system character", bool_to_string( sys[c] ) ); + + if (sys[c]) { // if system FCT is enabled for this system + const auto& sv = g_inputdeck.get< tag::param, eq, tag::sysfctvar >(); + if (sv.size() > c) { + nfo.emplace_back( "System-FCT variables", parameters( sv[c] ) ); + } + } + } + + } + return nfo; } diff --git a/src/PDE/ConfigureCompFlow.hpp b/src/PDE/ConfigureCompFlow.hpp index 83352d36dc8..36a451ba2c0 100644 --- a/src/PDE/ConfigureCompFlow.hpp +++ b/src/PDE/ConfigureCompFlow.hpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureCompFlow.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration for compressible flow PDE \details Register and compile configuration for compressible flow PDE. diff --git a/src/PDE/ConfigureMultiMat.cpp b/src/PDE/ConfigureMultiMat.cpp index 5345b4ce701..6c0dea42ba5 100644 --- a/src/PDE/ConfigureMultiMat.cpp +++ b/src/PDE/ConfigureMultiMat.cpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureMultiMat.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration for multi-material compressible flow PDE @@ -23,7 +23,7 @@ #include "CartesianProduct.hpp" #include "PDEFactory.hpp" #include "Inciter/Options/PDE.hpp" - +#include "ContainerUtil.hpp" #include "ConfigureMultiMat.hpp" #include "MultiMat/Physics/DG.hpp" #include "MultiMat/DGMultiMat.hpp" @@ -56,6 +56,7 @@ infoMultiMat( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) // ***************************************************************************** { using eq = tag::multimat; + using tk::parameters; auto c = ++cnt[ ctr::PDEType::MULTIMAT ]; // count eqs --c; // used to index vectors starting with 0 @@ -73,9 +74,23 @@ infoMultiMat( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) nfo.emplace_back( "problem", ctr::Problem().name( g_inputdeck.get< tag::param, eq, tag::problem >()[c] ) ); + nfo.emplace_back( "flux", ctr::Flux().name( + g_inputdeck.get< tag::param, eq, tag::flux >().at(c) ) ); + auto nmat = g_inputdeck.get< tag::param, eq, tag::nmat >()[c]; nfo.emplace_back( "number of materials", std::to_string( nmat ) ); + auto prelax = g_inputdeck.get< tag::param, eq, tag::prelax >()[c]; + nfo.emplace_back( "finite pressure relaxation", std::to_string( prelax ) ); + + if (prelax) + { + auto prelax_ts = + g_inputdeck.get< tag::param, eq, tag::prelax_timescale >()[c]; + nfo.emplace_back( "pressure relaxation time-scale", + std::to_string( prelax_ts ) ); + } + auto ncomp = g_inputdeck.get< tag::component >().get< eq >()[c]; nfo.emplace_back( "number of components", std::to_string( ncomp ) ); diff --git a/src/PDE/ConfigureMultiMat.hpp b/src/PDE/ConfigureMultiMat.hpp index a5cb9f8adeb..7c5cf2608e0 100644 --- a/src/PDE/ConfigureMultiMat.hpp +++ b/src/PDE/ConfigureMultiMat.hpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureMultiMat.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration for multi-material compressible flow PDE diff --git a/src/PDE/ConfigureTransport.cpp b/src/PDE/ConfigureTransport.cpp index 675a161ddd3..6661396f121 100644 --- a/src/PDE/ConfigureTransport.cpp +++ b/src/PDE/ConfigureTransport.cpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureTransport.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the transport PDE \details Register and compile configuration on the transport PDE. @@ -21,7 +21,7 @@ #include "CartesianProduct.hpp" #include "PDEFactory.hpp" #include "Inciter/Options/PDE.hpp" - +#include "ContainerUtil.hpp" #include "ConfigureTransport.hpp" #include "Transport/Physics/CG.hpp" #include "Transport/Physics/DG.hpp" @@ -67,6 +67,10 @@ infoTransport( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) //! \return vector of string pairs describing the PDE configuration // ***************************************************************************** { + using tag::param; + using tag::transport; + using tk::parameters; + auto c = ++cnt[ ctr::PDEType::TRANSPORT ]; // count eqs --c; // used to index vectors starting with 0 @@ -75,60 +79,60 @@ infoTransport( std::map< ctr::PDEType, tk::ctr::ncomp_t >& cnt ) nfo.emplace_back( ctr::PDE().name( ctr::PDEType::TRANSPORT ), "" ); nfo.emplace_back( "dependent variable", std::string( 1, - g_inputdeck.get< tag::param, tag::transport, tag::depvar >()[c] ) ); + g_inputdeck.get< param, transport, tag::depvar >()[c] ) ); nfo.emplace_back( "problem", ctr::Problem().name( - g_inputdeck.get< tag::param, tag::transport, tag::problem >()[c] ) ); + g_inputdeck.get< param, transport, tag::problem >()[c] ) ); nfo.emplace_back( "start offset in unknowns array", std::to_string( - g_inputdeck.get< tag::component >().offset< tag::transport >(c) ) ); + g_inputdeck.get< tag::component >().offset< transport >(c) ) ); - auto ncomp = g_inputdeck.get< tag::component >().get< tag::transport >()[c]; + auto ncomp = g_inputdeck.get< tag::component >().get< transport >()[c]; nfo.emplace_back( "number of components", std::to_string( ncomp ) ); const auto& diff = - g_inputdeck.get< tag::param, tag::transport, tag::diffusivity >(); + g_inputdeck.get< param, transport, tag::diffusivity >(); if (diff.size() > c) nfo.emplace_back( "coeff diffusivity [" + std::to_string( ncomp ) + "]", parameters( diff[c] ) ); - const auto& u0 = g_inputdeck.get< tag::param, tag::transport, tag::u0 >(); + const auto& u0 = g_inputdeck.get< param, transport, tag::u0 >(); if (u0.size() > c) nfo.emplace_back( "coeff u0 [" + std::to_string( ncomp ) + "]", parameters( u0[c] ) ); const auto& lambda = - g_inputdeck.get< tag::param, tag::transport, tag::lambda >(); + g_inputdeck.get< param, transport, tag::lambda >(); if (lambda.size() > c) nfo.emplace_back( "coeff lambda [" + std::to_string( ncomp ) + "]", parameters( lambda[c] ) ); const auto& bcdir = - g_inputdeck.get< tag::param, tag::transport, tag::bcdir >(); + g_inputdeck.get< param, transport, tag::bc, tag::bcdir >(); if (bcdir.size() > c) nfo.emplace_back( "Dirichlet boundary [" + std::to_string( ncomp ) + "]", parameters( bcdir[c] ) ); const auto& bcsym = - g_inputdeck.get< tag::param, tag::transport, tag::bcsym >(); + g_inputdeck.get< param, transport, tag::bc, tag::bcsym >(); if (bcsym.size() > c) nfo.emplace_back( "Symmetry boundary [" + std::to_string( ncomp ) + "]", parameters( bcsym[c] ) ); const auto& bcinlet = - g_inputdeck.get< tag::param, tag::transport, tag::bcinlet >(); + g_inputdeck.get< param, transport, tag::bc, tag::bcinlet >(); if (bcinlet.size() > c) nfo.emplace_back( "Inlet boundary [" + std::to_string( ncomp ) + "]", parameters( bcinlet[c] ) ); const auto& bcoutlet = - g_inputdeck.get< tag::param, tag::transport, tag::bcoutlet >(); + g_inputdeck.get< param, transport, tag::bc, tag::bcoutlet >(); if (bcoutlet.size() > c) nfo.emplace_back( "Outlet boundary [" + std::to_string( ncomp ) + "]", parameters( bcoutlet[c] ) ); const auto& bcextrapolate = - g_inputdeck.get< tag::param, tag::transport, tag::bcextrapolate >(); + g_inputdeck.get< param, transport, tag::bc, tag::bcextrapolate >(); if (bcextrapolate.size() > c) nfo.emplace_back( "Symmetry boundary [" + std::to_string( ncomp ) + "]", parameters( bcextrapolate[c] ) ); diff --git a/src/PDE/ConfigureTransport.hpp b/src/PDE/ConfigureTransport.hpp index b2eee3c77e9..433e3b3d121 100644 --- a/src/PDE/ConfigureTransport.hpp +++ b/src/PDE/ConfigureTransport.hpp @@ -3,7 +3,7 @@ \file src/PDE/ConfigureTransport.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Register and compile configuration on the Transport PDE \details Register and compile configuration on the Transport PDE. diff --git a/src/PDE/DGPDE.cpp b/src/PDE/DGPDE.cpp new file mode 100644 index 00000000000..482ccb23e66 --- /dev/null +++ b/src/PDE/DGPDE.cpp @@ -0,0 +1,26 @@ +// ***************************************************************************** +/*! + \file src/PDE/DGPDE.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Functions common to discontinuous Galerkin PDE types + \details Functions common to discontinuous Galerkin PDE types. +*/ +// ***************************************************************************** + +#include "DGPDE.hpp" + +[[noreturn]] tk::StateFn::result_type +inciter::invalidBC( ncomp_t, ncomp_t, const std::vector< tk::real >&, + tk::real, tk::real, tk::real, tk::real, + const std::array< tk::real, 3> & ) +// ***************************************************************************** +//! State function for invalid/un-configured boundary conditions +//! \note The function signature must follow tk::StateFn +// ***************************************************************************** +{ + Throw( "Invalid boundary condition set up in input file or the PDE does not " + "support this BC type" ); +} diff --git a/src/PDE/DGPDE.hpp b/src/PDE/DGPDE.hpp index 0e4c917e926..f3c23b5ec74 100644 --- a/src/PDE/DGPDE.hpp +++ b/src/PDE/DGPDE.hpp @@ -3,7 +3,7 @@ \file src/PDE/DGPDE.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Partial differential equation base for discontinuous Galerkin PDEs \details This file defines a generic partial differential equation (PDE) @@ -30,9 +30,49 @@ #include "Fields.hpp" #include "FaceData.hpp" #include "UnsMesh.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "FunctionPrototypes.hpp" namespace inciter { +extern ctr::InputDeck g_inputdeck; + +using ncomp_t = kw::ncomp::info::expect::type; +using bcconf_t = kw::sideset::info::expect::type; +using BCStateFn = + std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > >; + +//! Extract BC configuration ignoring if BC not specified +//! \note A more preferable way of catching errors such as this function +//! hides is during parsing, so that we don't even get here if BCs are +//! not correctly specified. For now we simply ignore if BCs are not +//! specified by allowing empty BC vectors from the user input. +template< class Eq > struct ConfigBC { + std::size_t system; //! Compflow system id + BCStateFn& state; //!< BC state config: sidesets + statefn + const std::vector< tk::StateFn >& fn; //!< BC state functions + std::size_t c; //!< Counts BC types configured + //! Constructor + ConfigBC( std::size_t sys, + BCStateFn& s, + const std::vector< tk::StateFn >& f ) : + system(sys), state(s), fn(f), c(0) {} + //! Function to call for each BC type + template< typename U > void operator()( brigand::type_ ) { + std::vector< bcconf_t > cfg; + const auto& v = g_inputdeck.get< tag::param, Eq, tag::bc, U >(); + if (v.size() > system) cfg = v[system]; + Assert( fn.size() > c, "StateFn missing for BC type" ); + state.push_back( { cfg, fn[c++] } ); + } +}; + +//! State function for invalid/un-configured boundary conditions +[[noreturn]] tk::StateFn::result_type +invalidBC( ncomp_t, ncomp_t, const std::vector< tk::real >&, + tk::real, tk::real, tk::real, tk::real, + const std::array< tk::real, 3> & ); + //! \brief Partial differential equation base for discontinuous Galerkin PDEs //! \details This class uses runtime polymorphism without client-side //! inheritance: inheritance is confined to the internals of the this class, @@ -103,17 +143,26 @@ class DGPDE { std::size_t nielem ) const { self->updatePrimitives( unk, prim, nielem ); } + //! Public interface to cleaning up trace materials for the diff eq + void cleanTraceMaterial( const tk::Fields& geoElem, + tk::Fields& unk, + tk::Fields& prim, + std::size_t nielem ) const + { self->cleanTraceMaterial( geoElem, unk, prim, nielem ); } + //! Public interface to reconstructing the second-order solution void reconstruct( tk::real t, const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >& + esup, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, tk::Fields& U, tk::Fields& P ) const { - self->reconstruct( t, geoFace, geoElem, fd, inpoel, coord, U, P ); + self->reconstruct( t, geoFace, geoElem, fd, esup, inpoel, coord, U, P ); } //! Public interface to limiting the second-order solution @@ -121,13 +170,14 @@ class DGPDE { const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >& esup, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, const std::vector< std::size_t >& ndofel, tk::Fields& U, tk::Fields& P ) const { - self->limit( t, geoFace, geoElem, fd, inpoel, coord, ndofel, U, P ); + self->limit( t, geoFace, geoElem, fd, esup, inpoel, coord, ndofel, U, P ); } //! Public interface to computing the P1 right-hand side vector @@ -152,33 +202,51 @@ class DGPDE { const tk::Fields& geoFace, const tk::Fields& geoElem, const std::vector< std::size_t >& ndofel, - const tk::Fields& U ) const - { return self->dt( coord, inpoel, fd, geoFace, geoElem, ndofel, U ); } - - //! \brief Public interface for collecting all side set IDs the user has - //! configured for all components of a PDE system - void side( std::unordered_set< int >& conf ) const { self->side( conf ); } + const tk::Fields& U, + const tk::Fields& P, + const std::size_t nielem ) const + { return self->dt( coord, inpoel, fd, geoFace, geoElem, ndofel, U, P, nielem ); } //! Public interface to returning field output labels std::vector< std::string > fieldNames() const { return self->fieldNames(); } + //! Public interface to returning field output labels + std::vector< std::string > nodalFieldNames() const + { return self->nodalFieldNames(); } + //! Public interface to returning variable names std::vector< std::string > names() const { return self->names(); } //! Public interface to returning field output std::vector< std::vector< tk::real > > fieldOutput( tk::real t, + tk::real V, + std::size_t rdof, + std::size_t nunk, const tk::Fields& geoElem, - tk::Fields& U ) const - { return self->fieldOutput( t, geoElem, U ); } + tk::Fields& U, + const tk::Fields& P ) const + { return self->fieldOutput( t, V, rdof, nunk, geoElem, U, P ); } //! Public interface to returning nodal field output - std::vector< std::vector< tk::real > > avgElemToNode( - const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord, + std::vector< std::vector< tk::real > > nodalFieldOutput( + tk::real t, + tk::real V, + std::size_t nunk, + const std::map< std::size_t, std::vector< std::size_t > >& esup, const tk::Fields& geoElem, - const tk::Fields& U ) const - { return self->avgElemToNode( inpoel, coord, geoElem, U ); } + tk::Fields& Unode, + tk::Fields& Pnode, + tk::Fields& U, + const tk::Fields& P ) const + { return self->nodalFieldOutput( t, V, nunk, esup, geoElem, Unode, + Pnode, U, P ); } + + //! Public interface to returning surface field output + std::vector< std::vector< tk::real > > + surfOutput( const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ) const + { return self->surfOutput( bnd, U ); } //! Public interface to returning analytic solution std::vector< tk::real > @@ -214,10 +282,16 @@ class DGPDE { virtual void updatePrimitives( const tk::Fields&, tk::Fields&, std::size_t ) const = 0; + virtual void cleanTraceMaterial( const tk::Fields&, + tk::Fields&, + tk::Fields&, + std::size_t ) const = 0; virtual void reconstruct( tk::real, const tk::Fields&, const tk::Fields&, const inciter::FaceData&, + const std::map< std::size_t, + std::vector< std::size_t > >&, const std::vector< std::size_t >&, const tk::UnsMesh::Coords&, tk::Fields&, @@ -226,6 +300,8 @@ class DGPDE { const tk::Fields&, const tk::Fields&, const inciter::FaceData&, + const std::map< std::size_t, + std::vector< std::size_t > >&, const std::vector< std::size_t >&, const tk::UnsMesh::Coords&, const std::vector< std::size_t >&, @@ -247,19 +323,33 @@ class DGPDE { const tk::Fields&, const tk::Fields&, const std::vector< std::size_t >&, - const tk::Fields& ) const = 0; - virtual void side( std::unordered_set< int >& conf ) const = 0; + const tk::Fields&, + const tk::Fields&, + const std::size_t ) const = 0; virtual std::vector< std::string > fieldNames() const = 0; + virtual std::vector< std::string > nodalFieldNames() const = 0; virtual std::vector< std::string > names() const = 0; virtual std::vector< std::vector< tk::real > > fieldOutput( tk::real, + tk::real, + std::size_t, + std::size_t, const tk::Fields&, - tk::Fields& ) const = 0; - virtual std::vector< std::vector< tk::real > > avgElemToNode( - const std::vector< std::size_t >&, - const tk::UnsMesh::Coords&, + tk::Fields&, + const tk::Fields& ) const = 0; + virtual std::vector< std::vector< tk::real > > nodalFieldOutput( + tk::real, + tk::real, + std::size_t, + const std::map< std::size_t, std::vector< std::size_t > >&, const tk::Fields&, + tk::Fields&, + tk::Fields&, + tk::Fields&, const tk::Fields& ) const = 0; + virtual std::vector< std::vector< tk::real > > surfOutput( + const std::map< int, std::vector< std::size_t > >&, + tk::Fields& ) const = 0; virtual std::vector< tk::real > analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const = 0; }; @@ -285,28 +375,37 @@ class DGPDE { tk::Fields& prim, std::size_t nielem ) const override { data.updatePrimitives( unk, prim, nielem ); } + void cleanTraceMaterial( const tk::Fields& geoElem, + tk::Fields& unk, + tk::Fields& prim, + std::size_t nielem ) + const override { data.cleanTraceMaterial( geoElem, unk, prim, nielem ); } void reconstruct( tk::real t, const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, + std::vector< std::size_t > >& esup, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, tk::Fields& U, tk::Fields& P ) const override { - data.reconstruct( t, geoFace, geoElem, fd, inpoel, coord, U, P ); + data.reconstruct( t, geoFace, geoElem, fd, esup, inpoel, coord, U, P ); } void limit( tk::real t, const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >& + esup, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, const std::vector< std::size_t >& ndofel, tk::Fields& U, tk::Fields& P ) const override { - data.limit( t, geoFace, geoElem, fd, inpoel, coord, ndofel, U, P ); + data.limit( t, geoFace, geoElem, fd, esup, inpoel, coord, ndofel, U, P ); } void rhs( tk::real t, const tk::Fields& geoFace, @@ -327,25 +426,41 @@ class DGPDE { const tk::Fields& geoFace, const tk::Fields& geoElem, const std::vector< std::size_t >& ndofel, - const tk::Fields& U ) const override - { return data.dt( coord, inpoel, fd, geoFace, geoElem, ndofel, U ); } - void side( std::unordered_set< int >& conf ) const override - { data.side( conf ); } + const tk::Fields& U, + const tk::Fields& P, + const std::size_t nielem ) const override + { return data.dt( coord, inpoel, fd, geoFace, geoElem, ndofel, U, P, nielem ); } std::vector< std::string > fieldNames() const override { return data.fieldNames(); } + std::vector< std::string > nodalFieldNames() const override + { return data.nodalFieldNames(); } std::vector< std::string > names() const override { return data.names(); } std::vector< std::vector< tk::real > > fieldOutput( tk::real t, + tk::real V, + std::size_t rdof, + std::size_t nunk, const tk::Fields& geoElem, - tk::Fields& U ) const override - { return data.fieldOutput( t, geoElem, U ); } - std::vector< std::vector< tk::real > > avgElemToNode( - const std::vector< std::size_t >& inpoel, - const tk::UnsMesh::Coords& coord, + tk::Fields& U, + const tk::Fields& P ) const override + { return data.fieldOutput( t, V, rdof, nunk, geoElem, U, P ); } + std::vector< std::vector< tk::real > > nodalFieldOutput( + tk::real t, + tk::real V, + std::size_t nunk, + const std::map< std::size_t, std::vector< std::size_t > >& esup, const tk::Fields& geoElem, - const tk::Fields& U ) const override - { return data.avgElemToNode( inpoel, coord, geoElem, U ); } + tk::Fields& Unode, + tk::Fields& Pnode, + tk::Fields& U, + const tk::Fields& P ) const override + { return data.nodalFieldOutput( t, V, nunk, esup, geoElem, Unode, + Pnode, U, P ); } + std::vector< std::vector< tk::real > > surfOutput( + const std::map< int, std::vector< std::size_t > >& bnd, + tk::Fields& U ) const override + { return data.surfOutput( bnd, U ); } std::vector< tk::real > analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const override { return data.analyticSolution( xi, yi, zi, t ); } diff --git a/src/PDE/EoS/EoS.hpp b/src/PDE/EoS/EoS.hpp index ad0d5a8e945..ec2127ffd52 100644 --- a/src/PDE/EoS/EoS.hpp +++ b/src/PDE/EoS/EoS.hpp @@ -3,7 +3,7 @@ \file src/PDE/EoS/EoS.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Equation of state class \details This file defines functions for equations of state for the @@ -54,48 +54,55 @@ tk::real eos_density( ncomp_t system, //! energy using the stiffened-gas equation of state //! \tparam Eq Equation type to operate on, e.g., tag::compflow, tag::multimat //! \param[in] system Equation system index -//! \param[in] rho Material density +//! \param[in] arho Material partial density (alpha_k * rho_k) //! \param[in] u X-velocity //! \param[in] v Y-velocity //! \param[in] w Z-velocity -//! \param[in] rhoE Material total energy +//! \param[in] arhoE Material total energy (alpha_k * rho_k * E_k) +//! \param[in] alpha Material volume fraction. Default is 1.0, so that for the +//! single-material system, this argument can be left unspecified by the +//! calling code //! \param[in] imat Material-id who's EoS is required. Default is 0, so that //! for the single-material system, this argument can be left unspecified by //! the calling code -//! \return Material pressure calculated using the stiffened-gas EoS +//! \return Material partial pressure (alpha_k * p_k) calculated using the +//! stiffened-gas EoS +#pragma omp declare simd template< class Eq > tk::real eos_pressure( ncomp_t system, - tk::real rho, + tk::real arho, tk::real u, tk::real v, tk::real w, - tk::real rhoE, + tk::real arhoE, + tk::real alpha=1.0, std::size_t imat=0 ) { // query input deck to get gamma, p_c - auto g = - g_inputdeck.get< tag::param, Eq, tag::gamma >()[ system ][imat]; - auto p_c = - g_inputdeck.get< tag::param, Eq, tag::pstiff >()[ system ][imat]; + auto g = g_inputdeck.get< tag::param, Eq, tag::gamma >()[ system ][imat]; + auto p_c = g_inputdeck.get< tag::param, Eq, tag::pstiff >()[ system ][imat]; - tk::real pressure = (rhoE - 0.5 * rho * (u*u + v*v + w*w) - p_c) - * (g-1.0) - p_c; - return pressure; + tk::real partpressure = (arhoE - 0.5 * arho * (u*u + v*v + w*w) - alpha*p_c) + * (g-1.0) - alpha*p_c; + return partpressure; } //! Calculate speed of sound from the material density and material pressure //! \tparam Eq Equation type to operate on, e.g., tag::compflow, tag::multimat //! \param[in] system Equation system index -//! \param[in] rho Material density -//! \param[in] pr Material pressure +//! \param[in] arho Material partial density (alpha_k * rho_k) +//! \param[in] apr Material partial pressure (alpha_k * p_k) +//! \param[in] alpha Material volume fraction. Default is 1.0, so that for the +//! single-material system, this argument can be left unspecified by the +//! calling code //! \param[in] imat Material-id who's EoS is required. Default is 0, so that //! for the single-material system, this argument can be left unspecified by //! the calling code //! \return Material speed of sound using the stiffened-gas EoS template< class Eq > tk::real eos_soundspeed( ncomp_t system, - tk::real rho, tk::real pr, - std::size_t imat=0 ) + tk::real arho, tk::real apr, + tk::real alpha=1.0, std::size_t imat=0 ) { // query input deck to get gamma, p_c auto g = @@ -103,9 +110,9 @@ tk::real eos_soundspeed( ncomp_t system, auto p_c = g_inputdeck.get< tag::param, Eq, tag::pstiff >()[ system ][imat]; - auto p_eff = std::max( 1.0e-15, pr+p_c ); + auto p_eff = std::max( 1.0e-15, apr+(alpha*p_c) ); - tk::real a = std::sqrt( g * p_eff / rho ); + tk::real a = std::sqrt( g * p_eff / arho ); return a; } @@ -141,6 +148,42 @@ tk::real eos_totalenergy( ncomp_t system, return rhoE; } +//! \brief Calculate material temperature from the material density, and +//! material specific total energy +//! \tparam Eq Equation type to operate on, e.g., tag::compflow, tag::multimat +//! \param[in] system Equation system index +//! \param[in] arho Material partial density (alpha_k * rho_k) +//! \param[in] u X-velocity +//! \param[in] v Y-velocity +//! \param[in] w Z-velocity +//! \param[in] arhoE Material total energy (alpha_k * rho_k * E_k) +//! \param[in] alpha Material volume fraction. Default is 1.0, so that for the +//! single-material system, this argument can be left unspecified by the +//! calling code +//! \param[in] imat Material-id who's EoS is required. Default is 0, so that +//! for the single-material system, this argument can be left unspecified by +//! the calling code +//! \return Material temperature using the stiffened-gas EoS +template< class Eq > +tk::real eos_temperature( ncomp_t system, + tk::real arho, + tk::real u, + tk::real v, + tk::real w, + tk::real arhoE, + tk::real alpha=1.0, + std::size_t imat=0 ) +{ + // query input deck to get gamma, p_c, cv + auto p_c = + g_inputdeck.get< tag::param, Eq, tag::pstiff >()[ system ][imat]; + auto cv = + g_inputdeck.get< tag::param, Eq, tag::cv >()[ system ][imat]; + + tk::real t = (arhoE - 0.5 * arho * (u*u + v*v + w*w) - alpha*p_c) / (arho*cv); + return t; +} + } //inciter:: #endif // EoS_h diff --git a/src/PDE/FunctionPrototypes.hpp b/src/PDE/FunctionPrototypes.hpp index 2e856809900..7b09830cc5e 100644 --- a/src/PDE/FunctionPrototypes.hpp +++ b/src/PDE/FunctionPrototypes.hpp @@ -3,7 +3,7 @@ \file src/PDE/FunctionPrototypes.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Function prototypes used in PDE classes \details This file defines prototypes used in PDE classes. Examples include @@ -20,6 +20,7 @@ #include "Types.hpp" #include "Keywords.hpp" +#include "Fields.hpp" namespace tk { @@ -31,7 +32,7 @@ using ncomp_t = kw::ncomp::info::expect::type; //! \see e.g., inciter::CompFlowProblemVorticalFlow::solution //! \note Used for both continuous and discontinuous Galerkin discretizations using SolutionFn = std::function< - std::vector< real >( ncomp_t, ncomp_t, real, real, real, real ) >; + std::vector< real >( ncomp_t, ncomp_t, real, real, real, real, int& ) >; //! Function prototype for Riemann flux functions //! \details Functions of this type are used to compute numerical fluxes across a @@ -69,13 +70,38 @@ using StateFn = std::function< ( ncomp_t, ncomp_t, const std::vector< real >&, real, real, real, real, const std::array< tk::real, 3 >& ) >; -//! Function prototype for evaluating a source term for a system of PDEs +//! Function prototype for evaluating a source term for CompFlow //! \details Functions of this type are used to evaluate an arbitrary source -//! term specialized to a particular problem, e.g., derived using the method -//! of manufactured solutions, and specialized to a particular system of PDEs +//! term specialized to a particular CompFlow problem, e.g., derived using the +//! method of manufactured solutions //! \see e.g., CompFlowProblemRayleighTaylor::src -using SrcFn = std::function< - std::vector< tk::real >( ncomp_t, ncomp_t, real, real, real, real ) >; +using CompFlowSrcFn = std::function< + void( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real&, tk::real&, tk::real&, tk::real&, tk::real& ) >; + +//! Function prototype for evaluating a source term for MultiMat +//! \details Functions of this type are used to evaluate an arbitrary source +//! term specialized to a particular MultiMat problem, e.g., derived using the +//! method of manufactured solutions +//! \warning The number of in/out variables are almsot certainly wrong here. +using MultiMatSrcFn = std::function< + void( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real&, tk::real&, tk::real&, tk::real&, tk::real& ) >; + +//! \brief Function prototype for computing the element gradient contribution to a +//! nodal gradient in ALECG +using ElemGradFn = std::function< + std::tuple< std::array< std::size_t, 4 >, + std::array< std::array< tk::real, 3 >, 4 >, + std::vector< std::array< tk::real, 4 > >, + tk::real >( ncomp_t, + ncomp_t, + std::size_t, + const std::array< std::vector< tk::real >, 3 >&, + const std::vector< std::size_t >&, + const std::tuple< std::vector< tk::real >, + std::vector< tk::real > >&, + const tk::Fields& ) >; } // tk:: diff --git a/src/PDE/Integrate/Basis.cpp b/src/PDE/Integrate/Basis.cpp index 0a060c47ccd..db9fab92649 100644 --- a/src/PDE/Integrate/Basis.cpp +++ b/src/PDE/Integrate/Basis.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Basis.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing the Dubiner basis functions in DG methods \details This file contains functionality for computing the basis functions @@ -326,7 +326,10 @@ tk::eval_state ( ncomp_t ncomp, //! \return Vector of state variable for tetrahedron element // ***************************************************************************** { - Assert( B.size() == ndof_el, "Size mismatch" ); + // This is commented for now because that when p0/p1 adaptive with limiter + // applied, the size of basis will be 10. However, ndof_el will be 4 which + // leads to a size mismatch in limiter function. + //Assert( B.size() == ndof_el, "Size mismatch" ); if (U.empty()) return {}; diff --git a/src/PDE/Integrate/Basis.hpp b/src/PDE/Integrate/Basis.hpp index ea80330fcd2..e24ef434ba5 100644 --- a/src/PDE/Integrate/Basis.hpp +++ b/src/PDE/Integrate/Basis.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Basis.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing the Dubiner basis functions in DG methods \details This file contains functionality for computing the basis functions diff --git a/src/PDE/Integrate/Boundary.cpp b/src/PDE/Integrate/Boundary.cpp index 67b52bce051..a5ad1382407 100644 --- a/src/PDE/Integrate/Boundary.cpp +++ b/src/PDE/Integrate/Boundary.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Boundary.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing physical boundary surface integrals of a system of PDEs in DG methods @@ -22,7 +22,6 @@ void tk::bndSurfInt( ncomp_t system, - ncomp_t ncomp, std::size_t nmat, ncomp_t offset, const std::size_t ndof, @@ -47,7 +46,6 @@ tk::bndSurfInt( ncomp_t system, //! all faces for a particular boundary condition type, configured by the state //! function //! \param[in] system Equation system index -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] nmat Number of materials in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] ndof Maximum number of degrees of freedom @@ -80,6 +78,9 @@ tk::bndSurfInt( ncomp_t system, const auto& cy = coord[1]; const auto& cz = coord[2]; + auto ncomp = U.nprop()/rdof; + auto nprim = P.nprop()/rdof; + Assert( (nmat==1 ? riemannDeriv.empty() : true), "Non-empty Riemann " "derivative vector for single material compflow" ); @@ -157,12 +158,12 @@ tk::bndSurfInt( ncomp_t system, // Compute the state variables at the left element auto ugp = eval_state( ncomp, offset, rdof, dof_el, el, U, B_l ); - auto fvel = eval_state( 3, offset, rdof, dof_el, el, P, B_l ); + auto pgp = eval_state( nprim, offset, rdof, dof_el, el, P, B_l ); // consolidate primitives into state vector - ugp.insert(ugp.end(), fvel.begin(), fvel.end()); + ugp.insert(ugp.end(), pgp.begin(), pgp.end()); - Assert( ugp.size() == ncomp+fvel.size(), "Incorrect size for " + Assert( ugp.size() == ncomp+nprim, "Incorrect size for " "appended boundary state vector" ); // Compute the numerical flux diff --git a/src/PDE/Integrate/Boundary.hpp b/src/PDE/Integrate/Boundary.hpp index f5ef39792fa..142e475655a 100644 --- a/src/PDE/Integrate/Boundary.hpp +++ b/src/PDE/Integrate/Boundary.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Boundary.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing physical boundary surface integrals of a system of PDEs in DG methods @@ -31,7 +31,6 @@ using bcconf_t = kw::sideset::info::expect::type; //! Compute boundary surface flux integrals for a given boundary type for DG void bndSurfInt( ncomp_t system, - ncomp_t ncomp, std::size_t nmat, ncomp_t offset, const std::size_t ndof, diff --git a/src/PDE/Integrate/CMakeLists.txt b/src/PDE/Integrate/CMakeLists.txt index b52f9aaf1ee..d4d1363e2ec 100644 --- a/src/PDE/Integrate/CMakeLists.txt +++ b/src/PDE/Integrate/CMakeLists.txt @@ -7,8 +7,7 @@ add_library(Integrate Volume.cpp MultiMatTerms.cpp Source.cpp - Basis.cpp - Riemann/RiemannFactory.cpp) + Basis.cpp) target_include_directories(Integrate PUBLIC ${QUINOA_SOURCE_DIR} diff --git a/src/PDE/Integrate/Initialize.cpp b/src/PDE/Integrate/Initialize.cpp index 89f164bbc28..c42712e6da4 100644 --- a/src/PDE/Integrate/Initialize.cpp +++ b/src/PDE/Integrate/Initialize.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Initialize.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for initialization of system of PDEs in DG methods \details This file contains functionality for setting initial conditions @@ -100,7 +100,8 @@ tk::initialize( ncomp_t system, auto B = eval_basis( ndof, coordgp[0][igp], coordgp[1][igp], coordgp[2][igp] ); - const auto s = solution( system, ncomp, gp[0], gp[1], gp[2], t ); + int inbox = 0; + const auto s = solution( system, ncomp, gp[0], gp[1], gp[2], t, inbox ); auto wt = wgp[igp] * vole; diff --git a/src/PDE/Integrate/Initialize.hpp b/src/PDE/Integrate/Initialize.hpp index 1641276708b..0b6f51818d3 100644 --- a/src/PDE/Integrate/Initialize.hpp +++ b/src/PDE/Integrate/Initialize.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Initialize.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for initialization of system of PDEs in DG methods \details This file contains functionality for setting initial conditions diff --git a/src/PDE/Integrate/Mass.cpp b/src/PDE/Integrate/Mass.cpp index 1a03d5a396a..ae0873cf2d6 100644 --- a/src/PDE/Integrate/Mass.cpp +++ b/src/PDE/Integrate/Mass.cpp @@ -3,41 +3,35 @@ \file src/PDE/Integrate/Mass.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Functions for computing the mass matrix for a system of PDEs in DG - methods + \brief Functions for computing the mass matrix for a system of PDEs \details This file contains functionality for computing the mass matrix for - a system of PDEs used in discontinuous Galerkin methods for various orders - of numerical representation. + a system of PDEs used in discontinuous and continuous Galerkin methods for + various orders of numerical representation. */ // ***************************************************************************** #include "Mass.hpp" -#include "Inciter/InputDeck/InputDeck.hpp" - -namespace inciter { - -extern ctr::InputDeck g_inputdeck; - -} // inciter:: +#include "Vector.hpp" void tk::mass( ncomp_t ncomp, ncomp_t offset, + ncomp_t ndof, const Fields& geoElem, Fields& l ) // ***************************************************************************** // Compute the block-diagonal mass matrix for DG //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from +//! \param[in] ndof Number of solution degrees of freedom //! \param[in] geoElem Element geometry array //! \param[in,out] l Block diagonal mass matrix // ***************************************************************************** { Assert( geoElem.nunk() == l.nunk(), "Size mismatch" ); const auto nelem = geoElem.nunk(); - const auto ndof = inciter::g_inputdeck.get< tag::discr, tag::ndof >(); Assert( l.nprop() == ndof*ncomp, "lhs mass matrix size incorrect" ); // Compute LHS for DG(P0) @@ -72,3 +66,46 @@ tk::mass( ncomp_t ncomp, } } } + +tk::Fields +tk::lump( ncomp_t ncomp, + const std::array< std::vector< tk::real >, 3 >& coord, + const std::vector< std::size_t >& inpoel ) +// ***************************************************************************** +// Compute lumped mass matrix for CG +//! \param[in] ncomp Total number of scalar components in the eq system +//! \param[in] coord Mesh node coordinates +//! \param[in] inpoel Mesh element connectivity +//! \return Lumped mass matrix +// ***************************************************************************** +{ + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + tk::Fields L( coord[0].size(), ncomp ); + L.fill( 0.0 ); + + for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], + inpoel[e*4+2], inpoel[e*4+3] }}; + // compute element Jacobi determinant + const std::array< tk::real, 3 > + ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, + ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, + da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; + const auto J = tk::triple( ba, ca, da ) * 5.0 / 120.0; + Assert( J > 0, "Element Jacobian non-positive" ); + + // access pointer to lumped mass left hand side at element nodes + std::vector< const tk::real* > l( ncomp ); + for (ncomp_t c=0; c, 3 >& coord, + const std::vector< std::size_t >& inpoel ); } // tk:: diff --git a/src/PDE/Integrate/MultiMatTerms.cpp b/src/PDE/Integrate/MultiMatTerms.cpp index ec4e4edbd95..c98eb1a923f 100644 --- a/src/PDE/Integrate/MultiMatTerms.cpp +++ b/src/PDE/Integrate/MultiMatTerms.cpp @@ -3,14 +3,14 @@ \file src/PDE/Integrate/MultiMatTerms.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Functions for computing volume integrals of non-conservative terms + \brief Functions for computing volume integrals of multi-material terms using DG methods \details This file contains functionality for computing volume integrals of - non-conservative terms that appear in the multi-material hydrodynamic - equations, using the discontinuous Galerkin method for various orders - of numerical representation. + non-conservative and pressure relaxation terms that appear in the + multi-material hydrodynamic equations, using the discontinuous Galerkin + method for various orders of numerical representation. */ // ***************************************************************************** @@ -24,15 +24,16 @@ namespace tk { void nonConservativeInt( [[maybe_unused]] ncomp_t system, - ncomp_t ncomp, std::size_t nmat, ncomp_t offset, const std::size_t ndof, const std::size_t rdof, + const std::size_t nelem, const std::vector< std::size_t >& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, const Fields& U, + const Fields& P, const std::vector< std::vector< tk::real > >& riemannDeriv, const std::vector< std::size_t >& ndofel, @@ -46,15 +47,16 @@ nonConservativeInt( [[maybe_unused]] ncomp_t system, //! multiphase liquid–vapor–gas flows with interfaces and cavitation. //! International Journal of Multiphase Flow, 113, 208-230. //! \param[in] system Equation system index -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] nmat Number of materials in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] ndof Maximum number of degrees of freedom //! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] nelem Total number of elements //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in] geoElem Element geometry array //! \param[in] U Solution vector at recent time step +//! \param[in] P Vector of primitive quantities at recent time step //! \param[in] riemannDeriv Derivatives of partial-pressures and velocities //! computed from the Riemann solver for use in the non-conservative terms //! \param[in] ndofel Vector of local number of degrees of freedome @@ -65,13 +67,17 @@ nonConservativeInt( [[maybe_unused]] ncomp_t system, using inciter::densityIdx; using inciter::momentumIdx; using inciter::energyIdx; + using inciter::velocityIdx; const auto& cx = coord[0]; const auto& cy = coord[1]; const auto& cz = coord[2]; + auto ncomp = U.nprop()/rdof; + auto nprim = P.nprop()/rdof; + // compute volume integrals - for (std::size_t e=0; e vel{{ ugp[momentumIdx(nmat, 0)]/rhob, - ugp[momentumIdx(nmat, 1)]/rhob, - ugp[momentumIdx(nmat, 2)]/rhob }}; + std::array< tk::real, 3 > vel{{ pgp[velocityIdx(nmat, 0)], + pgp[velocityIdx(nmat, 1)], + pgp[velocityIdx(nmat, 2)] }}; std::vector< tk::real > ymat(nmat, 0.0); std::array< tk::real, 3 > dap{{0.0, 0.0, 0.0}}; @@ -210,4 +217,135 @@ update_rhs_ncn( } } -} // tk:: +void +pressureRelaxationInt( ncomp_t system, + std::size_t nmat, + ncomp_t offset, + const std::size_t ndof, + const std::size_t rdof, + const std::size_t nelem, + const Fields& geoElem, + const Fields& U, + const Fields& P, + const std::vector< std::size_t >& ndofel, + const tk::real ct, + Fields& R ) +// ***************************************************************************** +// Compute volume integrals of pressure relaxation terms in multi-material DG +//! \details This is called for multi-material DG to compute volume integrals of +//! finite pressure relaxation terms in the volume fraction and energy +//! equations, which do not exist in the single-material flow formulation (for +//! `CompFlow` DG). For further details see Dobrev, V. A., Kolev, T. V., +//! Rieben, R. N., & Tomov, V. Z. (2016). Multi‐material closure model for +//! high‐order finite element Lagrangian hydrodynamics. International Journal +//! for Numerical Methods in Fluids, 82(10), 689-706. +//! \param[in] system Equation system index +//! \param[in] nmat Number of materials in this PDE system +//! \param[in] offset Offset this PDE system operates from +//! \param[in] ndof Maximum number of degrees of freedom +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] nelem Total number of elements +//! \param[in] geoElem Element geometry array +//! \param[in] U Solution vector at recent time step +//! \param[in] P Vector of primitive quantities at recent time step +//! \param[in] ndofel Vector of local number of degrees of freedome +//! \param[in] ct Pressure relaxation time-scale for this system +//! \param[in,out] R Right-hand side vector added to +// ***************************************************************************** +{ + using inciter::volfracIdx; + using inciter::densityIdx; + using inciter::momentumIdx; + using inciter::energyIdx; + using inciter::pressureIdx; + using inciter::velocityIdx; + + auto ncomp = U.nprop()/rdof; + auto nprim = P.nprop()/rdof; + + // compute volume integrals + for (std::size_t e=0; e, 3 > coordgp; + std::vector< real > wgp; + + coordgp[0].resize( ng ); + coordgp[1].resize( ng ); + coordgp[2].resize( ng ); + wgp.resize( ng ); + + GaussQuadratureTet( ng, coordgp, wgp ); + + // Compute the derivatives of basis function for DG(P1) + std::array< std::vector, 3 > dBdx; + + // Gaussian quadrature + for (std::size_t igp=0; igp ndof) + { + dof_el = rdof; + } + else + { + dof_el = ndofel[e]; + } + + // Compute the basis function + auto B = + eval_basis( dof_el, coordgp[0][igp], coordgp[1][igp], coordgp[2][igp] ); + + auto wt = wgp[igp] * geoElem(e, 0, 0); + + auto ugp = eval_state( ncomp, offset, rdof, dof_el, e, U, B ); + auto pgp = eval_state( nprim, offset, rdof, dof_el, e, P, B ); + + // get bulk properties + real rhob(0.0); + for (std::size_t k=0; k apmat(nmat, 0.0), kmat(nmat, 0.0); + for (std::size_t k=0; k( system, arhomat, + apmat[k], alphamat, k ); + kmat[k] = arhomat * amat * amat; + pb += apmat[k]; + + // relaxation parameters + trelax = std::max(trelax, ct*dx/amat); + nume += alphamat * apmat[k] / kmat[k]; + deno += alphamat * alphamat / kmat[k]; + } + auto p_relax = nume/deno; + + // compute pressure relaxation terms + std::vector< real > s_prelax(ncomp, 0.0); + for (std::size_t k=0; k& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, const Fields& U, + const Fields& P, const std::vector< std::vector< tk::real > >& riemannDeriv, const std::vector< std::size_t >& ndofel, Fields& R ); @@ -53,6 +54,21 @@ update_rhs_ncn( ncomp_t ncomp, const std::vector< tk::real >& ncf, Fields& R ); +//! Compute volume integrals of pressure relaxation terms in multi-material DG +void +pressureRelaxationInt( ncomp_t system, + std::size_t nmat, + ncomp_t offset, + const std::size_t ndof, + const std::size_t rdof, + const std::size_t nelem, + const Fields& geoElem, + const Fields& U, + const Fields& P, + const std::vector< std::size_t >& ndofel, + const tk::real ct, + Fields& R ); + } // tk:: #endif // MultiMatTerms_h diff --git a/src/PDE/Integrate/Quadrature.cpp b/src/PDE/Integrate/Quadrature.cpp index 1c095faddf6..bb10c65552b 100644 --- a/src/PDE/Integrate/Quadrature.cpp +++ b/src/PDE/Integrate/Quadrature.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Quadrature.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Quadrature coordinates and weights for numerical integration \details This file contains functions that provide Gauss quadrature diff --git a/src/PDE/Integrate/Quadrature.hpp b/src/PDE/Integrate/Quadrature.hpp index dc752559305..38aa8b0533f 100644 --- a/src/PDE/Integrate/Quadrature.hpp +++ b/src/PDE/Integrate/Quadrature.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Quadrature.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Quadrature coordinates and weights for numerical integration \details This file contains functions that provide Gauss quadrature diff --git a/src/PDE/Integrate/Source.cpp b/src/PDE/Integrate/Source.cpp index 61f0eb904e5..e9039242446 100644 --- a/src/PDE/Integrate/Source.cpp +++ b/src/PDE/Integrate/Source.cpp @@ -3,13 +3,14 @@ \file src/PDE/Integrate/Source.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing integrals of an arbitrary source term of a - system of PDEs in DG methods + for single-material compressible flow, CompFlow using DG methods \details This file contains functionality for computing integrals of an - arbitrary source term of a system of PDEs used in discontinuous Galerkin - methods for various orders of numerical representation. + arbitrary source term for single-material compressible flow, CompFlow with + discontinuous Galerkin methods for various orders of numerical + representation. */ // ***************************************************************************** @@ -20,23 +21,23 @@ void tk::srcInt( ncomp_t system, - ncomp_t ncomp, ncomp_t offset, real t, const std::size_t ndof, + const std::size_t nelem, const std::vector< std::size_t >& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, - const SrcFn& src, + const CompFlowSrcFn& src, const std::vector< std::size_t >& ndofel, Fields& R ) // ***************************************************************************** // Compute source term integrals for DG //! \param[in] system Equation system index -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] t Physical time //! \param[in] ndof Maximum number of degrees of freedom +//! \param[in] nelen Maximum number of elements //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in] geoElem Element geometry array @@ -49,7 +50,7 @@ tk::srcInt( ncomp_t system, const auto& cy = coord[1]; const auto& cz = coord[2]; - for (std::size_t e=0; e s; + src( system, gp[0], gp[1], gp[2], t, s[0], s[1], s[2], s[3], s[4] ); auto wt = wgp[igp] * geoElem(e, 0, 0); - update_rhs( ncomp, offset, ndof, ndofel[e], wt, e, B, s, R ); + update_rhs( offset, ndof, ndofel[e], wt, e, B, s, R ); } } } void -tk::update_rhs( ncomp_t ncomp, - ncomp_t offset, +tk::update_rhs( ncomp_t offset, const std::size_t ndof, const std::size_t ndof_el, const tk::real wt, const std::size_t e, const std::vector< tk::real >& B, - const std::vector< tk::real >& s, + const std::array< tk::real, 5 >& s, Fields& R ) // ***************************************************************************** // Update the rhs by adding the source term integrals -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] ndof Maximum number of degrees of freedom //! \param[in] ndof_el Number of degrees of freedom for local element //! \param[in] wt Weight of gauss quadrature point //! \param[in] e Element index //! \param[in] B Vector of basis functions -//! \param[in] s Vector of source terms +//! \param[in] s Source terms for each of the 5 components //! \param[in,out] R Right-hand side vector computed // ***************************************************************************** { Assert( B.size() == ndof_el, "Size mismatch for basis function" ); - Assert( s.size() == ncomp, "Size mismatch for source term" ); - for (ncomp_t c=0; c& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, - const SrcFn& src, + const CompFlowSrcFn& src, const std::vector< std::size_t >& ndofel, Fields& R ); //! Update the rhs by adding the source term integrals void -update_rhs( ncomp_t ncomp, - ncomp_t offset, +update_rhs( ncomp_t offset, const std::size_t ndof, const std::size_t ndof_el, const tk::real wt, const std::size_t e, const std::vector< tk::real >& B, - const std::vector< tk::real >& s, + const std::array< tk::real, 5 >& s, Fields& R ); } // tk:: diff --git a/src/PDE/Integrate/Surface.cpp b/src/PDE/Integrate/Surface.cpp index 93b382ccc8e..9f05075f59b 100644 --- a/src/PDE/Integrate/Surface.cpp +++ b/src/PDE/Integrate/Surface.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Surface.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing internal surface integrals of a system of PDEs in DG methods @@ -21,7 +21,6 @@ void tk::surfInt( ncomp_t system, - ncomp_t ncomp, std::size_t nmat, ncomp_t offset, const std::size_t ndof, @@ -40,7 +39,6 @@ tk::surfInt( ncomp_t system, // ***************************************************************************** // Compute internal surface flux integrals //! \param[in] system Equation system index -//! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] nmat Number of materials in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] ndof Maximum number of degrees of freedom @@ -68,6 +66,9 @@ tk::surfInt( ncomp_t system, const auto& cy = coord[1]; const auto& cz = coord[2]; + auto ncomp = U.nprop()/rdof; + auto nprim = P.nprop()/rdof; + Assert( (nmat==1 ? riemannDeriv.empty() : true), "Non-empty Riemann " "derivative vector for single material compflow" ); @@ -172,20 +173,20 @@ tk::surfInt( ncomp_t system, auto wt = wgp[igp] * geoFace(f,0,0); std::array< std::vector< real >, 2 > state; - std::array< std::vector< real >, 2 > fvel; + std::array< std::vector< real >, 2 > sprim; state[0] = eval_state( ncomp, offset, rdof, dof_el, el, U, B_l ); - fvel[0] = eval_state( 3, offset, rdof, dof_el, el, P, B_l ); + sprim[0] = eval_state( nprim, offset, rdof, dof_el, el, P, B_l ); state[1] = eval_state( ncomp, offset, rdof, dof_er, er, U, B_r ); - fvel[1] = eval_state( 3, offset, rdof, dof_er, er, P, B_r ); + sprim[1] = eval_state( nprim, offset, rdof, dof_er, er, P, B_r ); // consolidate primitives into state vector - state[0].insert(state[0].end(), fvel[0].begin(), fvel[0].end()); - state[1].insert(state[1].end(), fvel[1].begin(), fvel[1].end()); + state[0].insert(state[0].end(), sprim[0].begin(), sprim[0].end()); + state[1].insert(state[1].end(), sprim[1].begin(), sprim[1].end()); - Assert( state[0].size() == ncomp+fvel[0].size(), "Incorrect size for " + Assert( state[0].size() == ncomp+nprim, "Incorrect size for " "appended boundary state vector" ); - Assert( state[1].size() == ncomp+fvel[1].size(), "Incorrect size for " + Assert( state[1].size() == ncomp+nprim, "Incorrect size for " "appended boundary state vector" ); // evaluate prescribed velocity (if any) diff --git a/src/PDE/Integrate/Surface.hpp b/src/PDE/Integrate/Surface.hpp index bf7ac17c5d0..421e407b515 100644 --- a/src/PDE/Integrate/Surface.hpp +++ b/src/PDE/Integrate/Surface.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Surface.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing internal surface integrals of a system of PDEs in DG methods @@ -30,7 +30,6 @@ using bcconf_t = kw::sideset::info::expect::type; //! Compute internal surface flux integrals for DG void surfInt( ncomp_t system, - ncomp_t ncomp, std::size_t nmat, ncomp_t offset, const std::size_t ndof, diff --git a/src/PDE/Integrate/Volume.cpp b/src/PDE/Integrate/Volume.cpp index 13e3e9313fc..bcef1bcd2dc 100644 --- a/src/PDE/Integrate/Volume.cpp +++ b/src/PDE/Integrate/Volume.cpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Volume.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing volume integrals for a system of PDEs in DG methods @@ -22,6 +22,7 @@ tk::volInt( ncomp_t system, ncomp_t ncomp, ncomp_t offset, const std::size_t ndof, + const std::size_t nelem, const std::vector< std::size_t >& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, @@ -36,6 +37,7 @@ tk::volInt( ncomp_t system, //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] ndof Maximum number of degrees of freedom +//! \param[in] nelem Maximum number of elements //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in] geoElem Element geometry array @@ -51,7 +53,7 @@ tk::volInt( ncomp_t system, const auto& cz = coord[2]; // compute volume integrals - for (std::size_t e=0; e 1) { diff --git a/src/PDE/Integrate/Volume.hpp b/src/PDE/Integrate/Volume.hpp index a4cde9c0e76..235ff899f7f 100644 --- a/src/PDE/Integrate/Volume.hpp +++ b/src/PDE/Integrate/Volume.hpp @@ -3,7 +3,7 @@ \file src/PDE/Integrate/Volume.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Functions for computing volume integrals for a system of PDEs in DG methods @@ -31,6 +31,7 @@ volInt( ncomp_t system, ncomp_t ncomp, ncomp_t offset, const std::size_t ndof, + const std::size_t nelem, const std::vector< std::size_t >& inpoel, const UnsMesh::Coords& coord, const Fields& geoElem, diff --git a/src/PDE/Limiter.cpp b/src/PDE/Limiter.cpp index 815fed44165..3606f477164 100644 --- a/src/PDE/Limiter.cpp +++ b/src/PDE/Limiter.cpp @@ -3,7 +3,7 @@ \file src/PDE/Limiter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Limiters for discontiunous Galerkin methods \details This file contains functions that provide limiter function @@ -35,121 +35,107 @@ WENO_P1( const std::vector< int >& esuel, //! \param[in] esuel Elements surrounding elements //! \param[in] offset Index for equation systems //! \param[in,out] U High-order solution vector which gets limited +//! \details This WENO function should be called for transport and compflow //! \note This limiter function is experimental and untested. Use with caution. // ***************************************************************************** { const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); const auto cweight = inciter::g_inputdeck.get< tag::discr, tag::cweight >(); - std::array< std::vector< tk::real >, 3 > limU; - limU[0].resize( U.nunk() ); - limU[1].resize( U.nunk() ); - limU[2].resize( U.nunk() ); + auto nelem = esuel.size()/4; + std::array< std::vector< tk::real >, 3 > + limU {{ std::vector< tk::real >(nelem), + std::vector< tk::real >(nelem), + std::vector< tk::real >(nelem) }}; std::size_t ncomp = U.nprop()/rdof; - std::array< std::array< tk::real, 3 >, 5 > gradu; - std::array< tk::real, 5 > wtStencil, osc, wtDof; - for (inciter::ncomp_t c=0; c( nel ); - gradu[is][0] = U(n, mark+1, offset); - gradu[is][1] = U(n, mark+2, offset); - gradu[is][2] = U(n, mark+3, offset); - wtStencil[is] = 1.0; - } - - // From these stencils, an oscillation indicator is calculated, which - // determines the effective weights for the high-order solution DOFs. - // These effective weights determine the contribution of each of the - // stencils to the high-order solution DOFs of the current cell which are - // being limited. If this indicator detects a large oscillation in the - // solution of the current cell, it reduces the effective weight for the - // central stencil contribution to its high-order DOFs. This results in - // a more dissipative and well-behaved solution in the troubled cell. - - // oscillation indicators - for (std::size_t is=0; is<5; ++is) - osc[is] = std::sqrt( tk::dot(gradu[is], gradu[is]) ); + WENOFunction(U, esuel, e, c, rdof, offset, cweight, limU); + } - tk::real wtotal = 0; + auto mark = c*rdof; - // effective weights for dofs - for (std::size_t is=0; is<5; ++is) - { - // A small number (1.0e-8) is needed here to avoid dividing by a zero in - // the case of a constant solution, where osc would be zero. The number - // is not set to machine zero because it is squared, and a number - // between 1.0e-8 to 1.0e-6 is needed. - wtDof[is] = wtStencil[is] * pow( (1.0e-8 + osc[is]), -2 ); - wtotal += wtDof[is]; - } + for (std::size_t e=0; e& esuel, + inciter::ncomp_t offset, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ) +// ***************************************************************************** +// Weighted Essentially Non-Oscillatory (WENO) limiter for multi-material DGP1 +//! \param[in] esuel Elements surrounding elements +//! \param[in] offset Index for equation systems +//! \param[in,out] U High-order solution vector which gets limited +//! \param[in,out] P High-order vector of primitives which gets limited +//! \param[in] nmat Number of materials in this PDE system +//! \details This WENO function should be called for multimat +//! \note This limiter function is experimental and untested. Use with caution. +// ***************************************************************************** +{ + const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); + const auto cweight = inciter::g_inputdeck.get< tag::discr, tag::cweight >(); + auto nelem = esuel.size()/4; + std::array< std::vector< tk::real >, 3 > + limU {{ std::vector< tk::real >(nelem), + std::vector< tk::real >(nelem), + std::vector< tk::real >(nelem) }}; - limU[0][e] = 0.0; - limU[1][e] = 0.0; - limU[2][e] = 0.0; + std::size_t ncomp = U.nprop()/rdof; + std::size_t nprim = P.nprop()/rdof; - // limiter function - for (std::size_t is=0; is<5; ++is) - { - limU[0][e] += wtDof[is]*gradu[is][0]; - limU[1][e] += wtDof[is]*gradu[is][1]; - limU[2][e] += wtDof[is]*gradu[is][2]; - } + // limit conserved quantities + for (inciter::ncomp_t c=0; c phic(ncomp, 1.0), phip(nprim, 1.0); + for (std::size_t e=0; e& esuel, const std::vector< std::size_t >& ndofel, inciter::ncomp_t offset, const tk::UnsMesh::Coords& coord, - tk::Fields& U, - std::size_t nmat ) + tk::Fields& U ) // ***************************************************************************** // Superbee limiter for DGP1 //! \param[in] esuel Elements surrounding elements @@ -168,9 +153,7 @@ Superbee_P1( const std::vector< int >& esuel, //! \param[in] offset Index for equation systems //! \param[in] coord Array of nodal coordinates //! \param[in,out] U High-order solution vector which gets limited -//! \param[in] nmat Number of materials in this PDE system. Default is 1, so -//! this argument can be left unspecified for single-material by the calling -//! code. +//! \details This Superbee function should be called for transport and compflow // ***************************************************************************** { const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); @@ -198,151 +181,575 @@ Superbee_P1( const std::vector< int >& esuel, if (dof_el > 1) { - // Superbee is a TVD limiter, which uses min-max bounds that the - // high-order solution should satisfy, to ensure TVD properties. For a - // high-order method like DG, this involves 3 steps: - // 1. Find min-max bounds in the immediate neighborhood of cell. - // 2. Calculate the Superbee function for all the points where solution - // needs to be reconstructed to (all quadrature points). From these, - // use the minimum value of the limiter function. - // 3. Limit the high-order terms using this function. - - std::vector< tk::real > uMin(ncomp, 0.0), uMax(ncomp, 0.0); + auto phi = SuperbeeFunction(U, esuel, inpoel, coord, e, ndof, rdof, + dof_el, offset, ncomp, beta_lim); + // apply limiter function for (inciter::ncomp_t c=0; c& esuel, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& ndofel, + inciter::ncomp_t offset, + const tk::UnsMesh::Coords& coord, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ) +// ***************************************************************************** +// Superbee limiter for multi-material DGP1 +//! \param[in] esuel Elements surrounding elements +//! \param[in] inpoel Element connectivity +//! \param[in] ndofel Vector of local number of degrees of freedom +//! \param[in] offset Index for equation systems +//! \param[in] coord Array of nodal coordinates +//! \param[in,out] U High-order solution vector which gets limited +//! \param[in,out] P High-order vector of primitives which gets limited +//! \param[in] nmat Number of materials in this PDE system +//! \details This Superbee function should be called for multimat +// ***************************************************************************** +{ + const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); + const auto ndof = inciter::g_inputdeck.get< tag::discr, tag::ndof >(); + std::size_t ncomp = U.nprop()/rdof; + std::size_t nprim = P.nprop()/rdof; + + auto beta_lim = 2.0; + + for (std::size_t e=0; e ndof) + { + dof_el = rdof; + } + else + { + dof_el = ndofel[e]; + } + + if (dof_el > 1) + { + // limit conserved quantities + auto phic = SuperbeeFunction(U, esuel, inpoel, coord, e, ndof, rdof, + dof_el, offset, ncomp, beta_lim); + // limit primitive quantities + auto phip = SuperbeeFunction(P, esuel, inpoel, coord, e, ndof, rdof, + dof_el, offset, nprim, beta_lim); + + consistentMultiMatLimiting_P1(nmat, offset, rdof, e, U, P, phic, phip); + + // apply limiter function + for (inciter::ncomp_t c=0; c >& esup, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& ndofel, + std::size_t nelem, + std::size_t offset, + const tk::UnsMesh::Coords& coord, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ) +// ***************************************************************************** +// Kuzmin's vertex-based limiter for multi-material DGP1 +//! \param[in] esup Elements surrounding points +//! \param[in] inpoel Element connectivity +//! \param[in] ndofel Vector of local number of degrees of freedom +//! \param[in] nelem Number of elements +//! \param[in] offset Index for equation systems +//! \param[in] coord Array of nodal coordinates +//! \param[in,out] U High-order solution vector which gets limited +//! \param[in,out] P High-order vector of primitives which gets limited +//! \param[in] nmat Number of materials in this PDE system +//! \details This vertex-based limiter function should be called for multimat. +//! For details see: Kuzmin, D. (2010). A vertex-based hierarchical slope +//! limiter for p-adaptive discontinuous Galerkin methods. Journal of +//! computational and applied mathematics, 233(12), 3077-3085. +// ***************************************************************************** +{ + const auto rdof = inciter::g_inputdeck.get< tag::discr, tag::rdof >(); + const auto ndof = inciter::g_inputdeck.get< tag::discr, tag::ndof >(); + std::size_t ncomp = U.nprop()/rdof; + std::size_t nprim = P.nprop()/rdof; - auto n = static_cast< std::size_t >( nel ); - for (inciter::ncomp_t c=0; c ndof) + { + dof_el = rdof; + } + else + { + dof_el = ndofel[e]; + } + + if (dof_el > 1) + { + // limit conserved quantities + auto phic = VertexBasedFunction(U, esup, inpoel, coord, e, rdof, dof_el, + offset, ncomp); + // limit primitive quantities + auto phip = VertexBasedFunction(P, esup, inpoel, coord, e, rdof, dof_el, + offset, nprim); + + consistentMultiMatLimiting_P1(nmat, offset, rdof, e, U, P, phic, phip); + + // apply limiter function + for (std::size_t c=0; c& esuel, + std::size_t e, + inciter::ncomp_t c, + std::size_t rdof, + inciter::ncomp_t offset, + tk::real cweight, + std::array< std::vector< tk::real >, 3 >& limU ) +// ***************************************************************************** +// WENO limiter function calculation for P1 dofs +//! \param[in] U High-order solution vector which is to be limited +//! \param[in] esuel Elements surrounding elements +//! \param[in] e Id of element whose solution is to be limited +//! \param[in] c Index of component which is to be limited +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] offset Index for equation systems +//! \param[in] cweight Weight of the central stencil +//! \param[in,out] limU Limited gradients of component c +// ***************************************************************************** +{ + std::array< std::array< tk::real, 3 >, 5 > gradu; + std::array< tk::real, 5 > wtStencil, osc, wtDof; + + auto mark = c*rdof; + + // reset all stencil values to zero + for (auto& g : gradu) g.fill(0.0); + osc.fill(0); + wtDof.fill(0); + wtStencil.fill(0); + + // The WENO limiter uses solution data from the neighborhood in the form + // of stencils to enforce non-oscillatory conditions. The immediate + // (Von Neumann) neighborhood of a tetrahedral cell consists of the 4 + // cells that share faces with it. These are the 4 neighborhood-stencils + // for the tetrahedron. The primary stencil is the tet itself. Weights are + // assigned to these stencils, with the primary stencil usually assigned + // the highest weight. The lower the primary/central weight, the more + // dissipative the limiting effect. This central weight is usually problem + // dependent. It is set higher for relatively weaker discontinuities, and + // lower for stronger discontinuities. + + // primary stencil + gradu[0][0] = U(e, mark+1, offset); + gradu[0][1] = U(e, mark+2, offset); + gradu[0][2] = U(e, mark+3, offset); + wtStencil[0] = cweight; + + // stencils from the neighborhood + for (std::size_t is=1; is<5; ++is) + { + auto nel = esuel[ 4*e+(is-1) ]; + + // ignore physical domain ghosts + if (nel == -1) + { + gradu[is].fill(0.0); + wtStencil[is] = 0.0; + continue; + } + + std::size_t n = static_cast< std::size_t >( nel ); + gradu[is][0] = U(n, mark+1, offset); + gradu[is][1] = U(n, mark+2, offset); + gradu[is][2] = U(n, mark+3, offset); + wtStencil[is] = 1.0; + } + + // From these stencils, an oscillation indicator is calculated, which + // determines the effective weights for the high-order solution DOFs. + // These effective weights determine the contribution of each of the + // stencils to the high-order solution DOFs of the current cell which are + // being limited. If this indicator detects a large oscillation in the + // solution of the current cell, it reduces the effective weight for the + // central stencil contribution to its high-order DOFs. This results in + // a more dissipative and well-behaved solution in the troubled cell. + + // oscillation indicators + for (std::size_t is=0; is<5; ++is) + osc[is] = std::sqrt( tk::dot(gradu[is], gradu[is]) ); + + tk::real wtotal = 0; + + // effective weights for dofs + for (std::size_t is=0; is<5; ++is) + { + // A small number (1.0e-8) is needed here to avoid dividing by a zero in + // the case of a constant solution, where osc would be zero. The number + // is not set to machine zero because it is squared, and a number + // between 1.0e-8 to 1.0e-6 is needed. + wtDof[is] = wtStencil[is] * pow( (1.0e-8 + osc[is]), -2 ); + wtotal += wtDof[is]; + } + + for (std::size_t is=0; is<5; ++is) + { + wtDof[is] = wtDof[is]/wtotal; + } - // to loop over all the quadrature points of all faces of element e, - // coordinates of the quadrature points are needed. - // Number of quadrature points for face integration - auto ng = tk::NGfa(ndof); + limU[0][e] = 0.0; + limU[1][e] = 0.0; + limU[2][e] = 0.0; - // arrays for quadrature points - std::array< std::vector< tk::real >, 2 > coordgp; - std::vector< tk::real > wgp; + // limiter function + for (std::size_t is=0; is<5; ++is) + { + limU[0][e] += wtDof[is]*gradu[is][0]; + limU[1][e] += wtDof[is]*gradu[is][1]; + limU[2][e] += wtDof[is]*gradu[is][2]; + } +} - coordgp[0].resize( ng ); - coordgp[1].resize( ng ); - wgp.resize( ng ); +std::vector< tk::real > +SuperbeeFunction( const tk::Fields& U, + const std::vector< int >& esuel, + const std::vector< std::size_t >& inpoel, + const tk::UnsMesh::Coords& coord, + std::size_t e, + std::size_t ndof, + std::size_t rdof, + std::size_t dof_el, + inciter::ncomp_t offset, + inciter:: ncomp_t ncomp, + tk::real beta_lim ) +// ***************************************************************************** +// Superbee limiter function calculation for P1 dofs +//! \param[in] U High-order solution vector which is to be limited +//! \param[in] esuel Elements surrounding elements +//! \param[in] inpoel Element connectivity +//! \param[in] coord Array of nodal coordinates +//! \param[in] e Id of element whose solution is to be limited +//! \param[in] ndof Maximum number of degrees of freedom +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] dof_el Local number of degrees of freedom +//! \param[in] offset Index for equation systems +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] beta_lim Parameter which is equal to 2 for Superbee and 1 for +//! minmod limiter +//! \return phi Limiter function for solution in element e +// ***************************************************************************** +{ + // Superbee is a TVD limiter, which uses min-max bounds that the + // high-order solution should satisfy, to ensure TVD properties. For a + // high-order method like DG, this involves the following steps: + // 1. Find min-max bounds in the immediate neighborhood of cell. + // 2. Calculate the Superbee function for all the points where solution + // needs to be reconstructed to (all quadrature points). From these, + // use the minimum value of the limiter function. - // get quadrature point weights and coordinates for triangle - tk::GaussQuadratureTri( ng, coordgp, wgp ); + std::vector< tk::real > uMin(ncomp, 0.0), uMax(ncomp, 0.0); - const auto& cx = coord[0]; - const auto& cy = coord[1]; - const auto& cz = coord[2]; + for (inciter::ncomp_t c=0; c, 4 > coordel {{ - {{ cx[ inpoel[4*e ] ], cy[ inpoel[4*e ] ], cz[ inpoel[4*e ] ] }}, - {{ cx[ inpoel[4*e+1] ], cy[ inpoel[4*e+1] ], cz[ inpoel[4*e+1] ] }}, - {{ cx[ inpoel[4*e+2] ], cy[ inpoel[4*e+2] ], cz[ inpoel[4*e+2] ] }}, - {{ cx[ inpoel[4*e+3] ], cy[ inpoel[4*e+3] ], cz[ inpoel[4*e+3] ] }} }}; + // ----- Step-1: find min/max in the neighborhood + for (std::size_t is=0; is<4; ++is) + { + auto nel = esuel[ 4*e+is ]; - // Compute the determinant of Jacobian matrix - auto detT = - tk::Jacobian( coordel[0], coordel[1], coordel[2], coordel[3] ); + // ignore physical domain ghosts + if (nel == -1) continue; - // initialize limiter function - std::vector< tk::real > phi(ncomp, 1.0); - for (std::size_t lf=0; lf<4; ++lf) + auto n = static_cast< std::size_t >( nel ); + for (inciter::ncomp_t c=0; c, 2 > coordgp; + std::vector< tk::real > wgp; + + coordgp[0].resize( ng ); + coordgp[1].resize( ng ); + wgp.resize( ng ); + + // get quadrature point weights and coordinates for triangle + tk::GaussQuadratureTri( ng, coordgp, wgp ); + + const auto& cx = coord[0]; + const auto& cy = coord[1]; + const auto& cz = coord[2]; + + // Extract the element coordinates + std::array< std::array< tk::real, 3>, 4 > coordel {{ + {{ cx[ inpoel[4*e ] ], cy[ inpoel[4*e ] ], cz[ inpoel[4*e ] ] }}, + {{ cx[ inpoel[4*e+1] ], cy[ inpoel[4*e+1] ], cz[ inpoel[4*e+1] ] }}, + {{ cx[ inpoel[4*e+2] ], cy[ inpoel[4*e+2] ], cz[ inpoel[4*e+2] ] }}, + {{ cx[ inpoel[4*e+3] ], cy[ inpoel[4*e+3] ], cz[ inpoel[4*e+3] ] }} }}; + + // Compute the determinant of Jacobian matrix + auto detT = + tk::Jacobian( coordel[0], coordel[1], coordel[2], coordel[3] ); + + // initialize limiter function + std::vector< tk::real > phi(ncomp, 1.0); + for (std::size_t lf=0; lf<4; ++lf) + { + // Extract the face coordinates + std::array< std::size_t, 3 > inpofa_l {{ inpoel[4*e+tk::lpofa[lf][0]], + inpoel[4*e+tk::lpofa[lf][1]], + inpoel[4*e+tk::lpofa[lf][2]] }}; + + std::array< std::array< tk::real, 3>, 3 > coordfa {{ + {{ cx[ inpofa_l[0] ], cy[ inpofa_l[0] ], cz[ inpofa_l[0] ] }}, + {{ cx[ inpofa_l[1] ], cy[ inpofa_l[1] ], cz[ inpofa_l[1] ] }}, + {{ cx[ inpofa_l[2] ], cy[ inpofa_l[2] ], cz[ inpofa_l[2] ] }} }}; + + // Gaussian quadrature + for (std::size_t igp=0; igp inpofa_l {{ inpoel[4*e+tk::lpofa[lf][0]], - inpoel[4*e+tk::lpofa[lf][1]], - inpoel[4*e+tk::lpofa[lf][2]] }}; - - std::array< std::array< tk::real, 3>, 3 > coordfa {{ - {{ cx[ inpofa_l[0] ], cy[ inpofa_l[0] ], cz[ inpofa_l[0] ] }}, - {{ cx[ inpofa_l[1] ], cy[ inpofa_l[1] ], cz[ inpofa_l[1] ] }}, - {{ cx[ inpofa_l[2] ], cy[ inpofa_l[2] ], cz[ inpofa_l[2] ] }} }}; - - // Gaussian quadrature - for (std::size_t igp=0; igp 1.0e-14) + { + uNeg = std::max(uNeg, 1.0e-08); + phi_gp = std::min( 1.0, (uMax[c]-U(e, mark, offset))/(2.0*uNeg) ); + } + else if (uNeg < -1.0e-14) + { + uNeg = std::min(uNeg, -1.0e-08); + phi_gp = std::min( 1.0, (uMin[c]-U(e, mark, offset))/(2.0*uNeg) ); + } + else { - // Compute the coordinates of quadrature point at physical domain - auto gp = tk::eval_gp( igp, coordfa, coordgp ); - - //Compute the basis functions - auto B_l = tk::eval_basis( rdof, - tk::Jacobian( coordel[0], gp, coordel[2], coordel[3] ) / detT, - tk::Jacobian( coordel[0], coordel[1], gp, coordel[3] ) / detT, - tk::Jacobian( coordel[0], coordel[1], coordel[2], gp ) / detT ); - - auto state = tk::eval_state( ncomp, offset, rdof, dof_el, e, U, B_l ); - - Assert( state.size() == ncomp, "Size mismatch" ); - - // compute the limiter function - for (inciter::ncomp_t c=0; c 1.0e-14) - { - phi_gp = std::min( 1.0, (uMax[c]-U(e, mark, offset))/(2.0*uNeg) ); - } - else if (uNeg < -1.0e-14) - { - phi_gp = std::min( 1.0, (uMin[c]-U(e, mark, offset))/(2.0*uNeg) ); - } - else - { - phi_gp = 1.0; - } - phi_gp = std::max( 0.0, - std::max( std::min(beta_lim*phi_gp, 1.0), - std::min(phi_gp, beta_lim) ) ); - phi[c] = std::min( phi[c], phi_gp ); - } + phi_gp = 1.0; } + phi_gp = std::max( 0.0, + std::max( std::min(beta_lim*phi_gp, 1.0), + std::min(phi_gp, beta_lim) ) ); + phi[c] = std::min( phi[c], phi_gp ); } + } + } - if (nmat > 1) - consistentMultiMatLimiting_P1(nmat, offset, rdof, e, U, phi); + return phi; +} - // ----- Step-3: apply limiter function - for (inciter::ncomp_t c=0; c +VertexBasedFunction( const tk::Fields& U, + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const std::vector< std::size_t >& inpoel, + const tk::UnsMesh::Coords& coord, + std::size_t e, + std::size_t rdof, + std::size_t dof_el, + std::size_t offset, + std::size_t ncomp ) +// ***************************************************************************** +// Kuzmin's vertex-based limiter function calculation for P1 dofs +//! \param[in] U High-order solution vector which is to be limited +//! \param[in] esup Elements surrounding points +//! \param[in] inpoel Element connectivity +//! \param[in] coord Array of nodal coordinates +//! \param[in] e Id of element whose solution is to be limited +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] dof_el Local number of degrees of freedom +//! \param[in] offset Index for equation systems +//! \param[in] ncomp Number of scalar components in this PDE system +//! \return phi Limiter function for solution in element e +// ***************************************************************************** +{ + // Kuzmin's vertex-based TVD limiter uses min-max bounds that the + // high-order solution should satisfy, to ensure TVD properties. For a + // high-order method like DG, this involves the following steps: + // 1. Find min-max bounds in the nodal-neighborhood of cell. + // 2. Calculate the limiter function (Superbee) for all the vertices of cell. + // From these, use the minimum value of the limiter function. + + // Prepare for calculating Basis functions + const auto& cx = coord[0]; + const auto& cy = coord[1]; + const auto& cz = coord[2]; + + // Extract the element coordinates + std::array< std::array< tk::real, 3>, 4 > coordel {{ + {{ cx[ inpoel[4*e ] ], cy[ inpoel[4*e ] ], cz[ inpoel[4*e ] ] }}, + {{ cx[ inpoel[4*e+1] ], cy[ inpoel[4*e+1] ], cz[ inpoel[4*e+1] ] }}, + {{ cx[ inpoel[4*e+2] ], cy[ inpoel[4*e+2] ], cz[ inpoel[4*e+2] ] }}, + {{ cx[ inpoel[4*e+3] ], cy[ inpoel[4*e+3] ], cz[ inpoel[4*e+3] ] }} }}; + + // Compute the determinant of Jacobian matrix + auto detT = + tk::Jacobian( coordel[0], coordel[1], coordel[2], coordel[3] ); + + std::vector< tk::real > uMin(ncomp, 0.0), uMax(ncomp, 0.0), phi(ncomp, 1.0); + + // loop over all nodes of the element e + for (std::size_t lp=0; lp<4; ++lp) + { + // reset min/max + for (std::size_t c=0; c gp{cx[p], cy[p], cz[p]}; + auto B_p = tk::eval_basis( rdof, + tk::Jacobian( coordel[0], gp, coordel[2], coordel[3] ) / detT, + tk::Jacobian( coordel[0], coordel[1], gp, coordel[3] ) / detT, + tk::Jacobian( coordel[0], coordel[1], coordel[2], gp ) / detT ); + + // find high-order solution + auto state = tk::eval_state( ncomp, offset, rdof, dof_el, e, U, B_p ); + + Assert( state.size() == ncomp, "Size mismatch" ); + + // compute the limiter function + for (std::size_t c=0; c 1.0e-14) + { + uNeg = std::max(uNeg, 1.0e-08); + phi_gp = std::min( 1.0, (uMax[c]-U(e, mark, offset))/uNeg ); + } + else if (uNeg < -1.0e-14) + { + uNeg = std::min(uNeg, -1.0e-08); + phi_gp = std::min( 1.0, (uMin[c]-U(e, mark, offset))/uNeg ); + } + else + { + phi_gp = 1.0; } + + // ----- Step-3: take the minimum of the nodal-limiter functions + phi[c] = std::min( phi[c], phi_gp ); } } + + return phi; } -void consistentMultiMatLimiting_P1( std::size_t nmat, - ncomp_t offset, - std::size_t rdof, - std::size_t e, - tk::Fields& U, - std::vector< tk::real >& phi ) +void consistentMultiMatLimiting_P1( + std::size_t nmat, + ncomp_t offset, + std::size_t rdof, + std::size_t e, + tk::Fields& U, + [[maybe_unused]] tk::Fields& P, + std::vector< tk::real >& phic, + [[maybe_unused]] std::vector< tk::real >& phip ) // ***************************************************************************** // Consistent limiter modifications for P1 dofs //! \param[in] nmat Number of materials in this PDE system @@ -351,76 +758,89 @@ void consistentMultiMatLimiting_P1( std::size_t nmat, //! \param[in] e Element being checked for consistency //! \param[in,out] U Second-order solution vector which gets modified near //! material interfaces for consistency -//! \param[in,out] phi Vector of limiter functions for the ncomp unknowns +//! \param[in,out] P Second-order vector of primitive quantities which gets +//! modified near material interfaces for consistency +//! \param[in,out] phic Vector of limiter functions for the conserved quantities +//! \param[in,out] phip Vector of limiter functions for the primitive quantities // ***************************************************************************** { - using inciter::volfracIdx; - using inciter::densityIdx; - using inciter::momentumIdx; - using inciter::energyIdx; + Assert(phic.size() == U.nprop()/rdof, "Number of unknowns in vector of " + "conserved quantities incorrect"); + Assert(phip.size() == P.nprop()/rdof, "Number of unknowns in vector of " + "primitive quantities incorrect"); // find the limiter-function for volume-fractions auto phi_al(1.0), almax(0.0), dalmax(0.0); //std::size_t nmax(0); for (std::size_t k=0; k 0.01 || - (almax > 0.0001 && almax < (1.0-0.0001)) ) + // consistently and use same limiter for all equations. + // Slopes of solution variables \alpha_k \rho_k and \alpha_k \rho_k E_k need + // to be modified in interface cells, such that slopes in the \rho_k and + // \rho_k E_k part are ignored and only slopes in \alpha_k are considered. + // Ideally, we would like to not do this, but this is a necessity to avoid + // limiter-limiter interactions in multiphase CFD (see "K.-M. Shyue, F. Xiao, + // An Eulerian interface sharpening algorithm for compressible two-phase flow: + // the algebraic THINC approach, Journal of Computational Physics 268, 2014, + // 326–354. doi:10.1016/j.jcp.2014.03.010." and "A. Chiapolino, R. Saurel, + // B. Nkonga, Sharpening diffuse interfaces with compressible fluids on + // unstructured meshes, Journal of Computational Physics 340 (2017) 389–417. + // doi:10.1016/j.jcp.2017.03.042."). This approximation should be applied in + // as narrow a band of interface-cells as possible. The following if-test + // defines this band of interface-cells. This tests checks the value of the + // maximum volume-fraction in the cell (almax) and the maximum change in + // volume-fraction in the cell (dalmax, calculated from second-order DOFs), + // to determine the band of interface-cells where the aforementioned fix needs + // to be applied. This if-test says that, the fix is applied when the change + // in volume-fraction across a cell is greater than 0.1, *and* the + // volume-fraction is between 0.1 and 0.9. + if ( dalmax > al_band && + (almax > al_band && almax < (1.0-al_band)) ) { // 1. consistent high-order dofs - std::array< tk::real, 3 > drhob {{ 0.0, 0.0, 0.0 }}; - auto rhob(0.0), vel(0.0); for (std::size_t k=0; k& esuel, inciter::ncomp_t offset, tk::Fields& U ); +//! Weighted Essentially Non-Oscillatory (WENO) limiter for multi-material DGP1 +void +WENOMultiMat_P1( const std::vector< int >& esuel, + inciter::ncomp_t offset, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ); + //! Superbee limiter for DGP1 void Superbee_P1( const std::vector< int >& esuel, @@ -36,8 +44,69 @@ Superbee_P1( const std::vector< int >& esuel, const std::vector< std::size_t >& ndofel, inciter::ncomp_t offset, const tk::UnsMesh::Coords& coord, - tk::Fields& U, - std::size_t nmat=1 ); + tk::Fields& U ); + +//! Superbee limiter for multi-material DGP1 +void +SuperbeeMultiMat_P1( + const std::vector< int >& esuel, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& ndofel, + inciter::ncomp_t offset, + const tk::UnsMesh::Coords& coord, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ); + +//! Kuzmin's vertex-based limiter for multi-material DGP1 +void +VertexBasedMultiMat_P1( + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& ndofel, + std::size_t nelem, + std::size_t offset, + const tk::UnsMesh::Coords& coord, + tk::Fields& U, + tk::Fields& P, + std::size_t nmat ); + +//! WENO limiter function calculation for P1 dofs +void +WENOFunction( const tk::Fields& U, + const std::vector< int >& esuel, + std::size_t e, + inciter::ncomp_t c, + std::size_t rdof, + inciter::ncomp_t offset, + tk::real cweight, + std::array< std::vector< tk::real >, 3 >& limU ); + +//! Superbee limiter function calculation for P1 dofs +std::vector< tk::real > +SuperbeeFunction( const tk::Fields& U, + const std::vector< int >& esuel, + const std::vector< std::size_t >& inpoel, + const tk::UnsMesh::Coords& coord, + std::size_t e, + std::size_t ndof, + std::size_t rdof, + std::size_t dof_el, + inciter::ncomp_t offset, + inciter:: ncomp_t ncomp, + tk::real beta_lim ); + +//! Kuzmin's vertex-based limiter function calculation for P1 dofs +std::vector< tk::real > +VertexBasedFunction( const tk::Fields& U, + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const std::vector< std::size_t >& inpoel, + const tk::UnsMesh::Coords& coord, + std::size_t e, + std::size_t rdof, + std::size_t dof_el, + std::size_t offset, + std::size_t ncomp ); //! Consistent limiter modifications for P1 dofs void consistentMultiMatLimiting_P1( std::size_t nmat, @@ -45,7 +114,9 @@ void consistentMultiMatLimiting_P1( std::size_t nmat, std::size_t rdof, std::size_t e, tk::Fields& U, - std::vector< tk::real >& phi ); + tk::Fields& P, + std::vector< tk::real >& phic, + std::vector< tk::real >& phip ); } // inciter:: diff --git a/src/PDE/MultiMat/DGMultiMat.hpp b/src/PDE/MultiMat/DGMultiMat.hpp index a49f3fd971d..6eb74079f55 100644 --- a/src/PDE/MultiMat/DGMultiMat.hpp +++ b/src/PDE/MultiMat/DGMultiMat.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/DGMultiMat.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Compressible multi-material flow using discontinuous Galerkin finite elements @@ -35,11 +35,12 @@ #include "Integrate/Volume.hpp" #include "Integrate/MultiMatTerms.hpp" #include "Integrate/Source.hpp" -#include "Integrate/Riemann/AUSM.hpp" +#include "RiemannFactory.hpp" #include "EoS/EoS.hpp" #include "MultiMat/MultiMatIndexing.hpp" #include "Reconstruction.hpp" #include "Limiter.hpp" +#include "Problem/FieldOutput.hpp" namespace inciter { @@ -58,27 +59,8 @@ template< class Physics, class Problem > class MultiMat { private: - using ncomp_t = kw::ncomp::info::expect::type; - using bcconf_t = kw::sideset::info::expect::type; using eq = tag::multimat; - //! Extract BC configuration ignoring if BC not specified - //! \param[in] c Equation system index (among multiple systems configured) - //! \return Vector of BC config of type bcconf_t used to apply BCs for all - //! scalar components this Euler eq system is configured for - //! \note A more preferable way of catching errors such as this function - //! hides is during parsing, so that we don't even get here if BCs are not - //! correctly specified. For now we simply ignore if BCs are not - //! specified by allowing empty BC vectors from the user input. - template< typename bctag > - std::vector< bcconf_t > - config( ncomp_t c ) { - std::vector< bcconf_t > bc; - const auto& v = g_inputdeck.get< tag::param, eq, bctag >(); - if (v.size() > c) bc = v[c]; - return bc; - } - public: //! Constructor //! \param[in] c Equation system index (among multiple systems configured) @@ -86,20 +68,28 @@ class MultiMat { m_system( c ), m_ncomp( g_inputdeck.get< tag::component, eq >().at(c) ), m_offset( g_inputdeck.get< tag::component >().offset< eq >(c) ), - //m_riemann( tk::cref_find( RiemannSolvers(), - // g_inputdeck.get< tag::discr, tag::flux >() ) ), - m_bcdir( config< tag::bcdir >( c ) ), - m_bcsym( config< tag::bcsym >( c ) ), - m_bcextrapolate( config< tag::bcextrapolate >( c ) ) - {} + m_riemann( tk::cref_find( multimatRiemannSolvers(), + g_inputdeck.get< tag::param, tag::multimat, tag::flux >().at(m_system) ) ) + { + // associate boundary condition configurations with state functions + brigand::for_each< ctr::bc::Keys >( ConfigBC< eq >( m_system, m_bc, + { dirichlet + , symmetry + , invalidBC // Inlet BC not implemented + , invalidBC // Outlet BC not implemented + , subsonicOutlet + , extrapolate } ) ); + } //! Find the number of primitive quantities required for this PDE system //! \return The number of primitive quantities required to be stored for //! this PDE system std::size_t nprim() const { - // multimat needs and stores velocities currently - return 3; + const auto nmat = + g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; + // multimat needs individual material pressures and velocities currently + return (nmat+3); } //! Initalize the compressible flow equations, prepare for time integration @@ -124,7 +114,8 @@ class MultiMat { //! \param[in] geoElem Element geometry array //! \param[in,out] l Block diagonal mass matrix void lhs( const tk::Fields& geoElem, tk::Fields& l ) const { - tk::mass( m_ncomp, m_offset, geoElem, l ); + const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); + tk::mass( m_ncomp, m_offset, ndof, geoElem, l ); } //! Update the primitives for this PDE system @@ -140,7 +131,6 @@ class MultiMat { tk::Fields& prim, std::size_t nielem ) const { - const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; @@ -151,35 +141,226 @@ class MultiMat { "vector must equal "+ std::to_string(rdof*m_ncomp) ); Assert( prim.nprop() == rdof*nprim(), "Number of components in vector of " "primitive quantities must equal "+ std::to_string(rdof*nprim()) ); + Assert( (g_inputdeck.get< tag::discr, tag::ndof >()) == 1, "High-order " + "discretizations not set up for multimat updatePrimitives()" ); for (std::size_t e=0; e rhob(ndof, 0.0); + // cell-average bulk density + tk::real rhob(0.0); for (std::size_t k=0; k - vel{{ unk(e, momentumIdx(nmat, 0)*rdof, m_offset)/rhob[0], - unk(e, momentumIdx(nmat, 1)*rdof, m_offset)/rhob[0], - unk(e, momentumIdx(nmat, 2)*rdof, m_offset)/rhob[0] }}; + vel{{ unk(e, momentumDofIdx(nmat, 0, rdof, 0), m_offset)/rhob, + unk(e, momentumDofIdx(nmat, 1, rdof, 0), m_offset)/rhob, + unk(e, momentumDofIdx(nmat, 2, rdof, 0), m_offset)/rhob }}; - // fill up vector of primitives for (std::size_t idir=0; idir<3; ++idir) { - prim(e, velocityIdx(nmat, idir)*rdof, m_offset) = vel[idir]; - for (std::size_t j=1; j( m_system, arhomat, vel[0], vel[1], + vel[2], arhoemat, alphamat, k ); + } + } + } + + //! Clean up the state of trace materials for this PDE system + //! \param[in] geoElem Element geometry array + //! \param[in,out] unk Array of unknowns + //! \param[in,out] prim Array of primitives + //! \param[in] nielem Number of internal elements + //! \details This function cleans up the state of materials present in trace + //! quantities in each cell. Specifically, the state of materials with + //! very low volume-fractions in a cell is replaced by the state of the + //! material which is present in the largest quantity in that cell. This + //! becomes necessary when shocks pass through cells which contain a very + //! small amount of material. The state of that tiny material might + //! become unphysical and cause solution to diverge; thus requiring such + //! a ``reset''. + void cleanTraceMaterial( const tk::Fields& geoElem, + tk::Fields& unk, + tk::Fields& prim, + std::size_t nielem ) const + { + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + const auto nmat = + g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; + + Assert( unk.nunk() == prim.nunk(), "Number of unknowns in solution " + "vector and primitive vector at recent time step incorrect" ); + Assert( unk.nprop() == rdof*m_ncomp, "Number of components in solution " + "vector must equal "+ std::to_string(rdof*m_ncomp) ); + Assert( prim.nprop() == rdof*nprim(), "Number of components in vector of " + "primitive quantities must equal "+ std::to_string(rdof*nprim()) ); + Assert( (g_inputdeck.get< tag::discr, tag::ndof >()) == 1, "High-order " + "discretizations not set up for multimat cleanTraceMaterial()" ); + + auto al_eps = 1.0e-02; + auto neg_density = false; + + for (std::size_t e=0; e almax) + { + almax = al; + kmax = k; + } + } + + auto u = prim(e, velocityDofIdx(nmat, 0, rdof, 0), m_offset); + auto v = prim(e, velocityDofIdx(nmat, 1, rdof, 0), m_offset); + auto w = prim(e, velocityDofIdx(nmat, 2, rdof, 0), m_offset); + auto pmax = prim(e, pressureDofIdx(nmat, kmax, rdof, 0), m_offset)/almax; + auto tmax = eos_temperature< eq >(m_system, + unk(e, densityDofIdx(nmat, kmax, rdof, 0), m_offset), u, v, w, + unk(e, energyDofIdx(nmat, kmax, rdof, 0), m_offset), almax, kmax); + + auto pb(0.0); + for (std::size_t k=0; k 0.0) + { + // check if volume fraction is lesser than threshold (al_eps) and + // if the material pressure is significantly different from pressure + // of material present in majority. If both these conditions are + // true, perform pressure relaxation. + if ((alk < al_eps) && (std::fabs((pk-pmax)/pmax) > 1e-08)) + { + //auto gk = + // g_inputdeck.get< tag::param, eq, tag::gamma >()[ m_system ][k]; + + tk::real alk_new(0.0); + //// volume change based on polytropic expansion/isentropic compression + //if (pk > p_target) + //{ + // alk_new = std::pow((pk/p_target), (1.0/gk)) * alk; + //} + //else + //{ + // auto arhok = unk(e, densityDofIdx(nmat, k, rdof, 0), m_offset); + // auto ck = eos_soundspeed< eq >(m_system, arhok, alk*pk, alk, k); + // auto kk = arhok * ck * ck; + // alk_new = alk - (alk*alk/kk) * (p_target-pk); + //} + alk_new = alk; + + // energy change + auto rhomat = unk(e, densityDofIdx(nmat, k, rdof, 0), m_offset) + / alk_new; + rhoEmat = eos_totalenergy< eq >(m_system, rhomat, u, v, w, + p_target, k); + + // volume-fraction and total energy flux into majority material + d_al += (alk - alk_new); + d_arE += (unk(e, energyDofIdx(nmat, k, rdof, 0), m_offset) + - alk_new * rhoEmat); + + // update state of trace material + unk(e, volfracDofIdx(nmat, k, rdof, 0), m_offset) = alk_new; + unk(e, energyDofIdx(nmat, k, rdof, 0), m_offset) = alk_new*rhoEmat; + prim(e, pressureDofIdx(nmat, k, rdof, 0), m_offset) = alk_new*p_target; + } + } + // check for unbounded volume fractions + else if (alk < 0.0) + { + auto rhok = eos_density< eq >(m_system, p_target, tmax, k); + d_al += (alk - 1e-14); + // update state of trace material + unk(e, volfracDofIdx(nmat, k, rdof, 0), m_offset) = 1e-14; + unk(e, densityDofIdx(nmat, k, rdof, 0), m_offset) = 1e-14 * rhok; + unk(e, energyDofIdx(nmat, k, rdof, 0), m_offset) = 1e-14 + * eos_totalenergy< eq >(m_system, rhok, u, v, w, p_target, k); + prim(e, pressureDofIdx(nmat, k, rdof, 0), m_offset) = 1e-14 * + p_target; + } + } + + // 2. Based on volume change in majority material, compute energy change + //auto gmax = + // g_inputdeck.get< tag::param, eq, tag::gamma >()[ m_system ][kmax]; + //auto pmax_new = pmax * std::pow(almax/(almax+d_al), gmax); + //auto rhomax_new = unk(e, densityDofIdx(nmat, kmax, rdof, 0), m_offset) + // / (almax+d_al); + //auto rhoEmax_new = eos_totalenergy< eq >(m_system, rhomax_new, u, v, w, + // pmax_new, kmax); + //auto d_arEmax_new = (almax+d_al) * rhoEmax_new + // - unk(e, energyDofIdx(nmat, kmax, rdof, 0), m_offset); + + unk(e, volfracDofIdx(nmat, kmax, rdof, 0), m_offset) += d_al; + //unk(e, energyDofIdx(nmat, kmax, rdof, 0), m_offset) += d_arEmax_new; + + // 2. Flux energy change into majority material + unk(e, energyDofIdx(nmat, kmax, rdof, 0), m_offset) += d_arE; + + // correct pressure of majority material + prim(e, pressureDofIdx(nmat, kmax, rdof, 0), m_offset) = + eos_pressure< eq >(m_system, + unk(e, densityDofIdx(nmat, kmax, rdof, 0), m_offset), u, v, w, + unk(e, energyDofIdx(nmat, kmax, rdof, 0), m_offset), + unk(e, volfracDofIdx(nmat, kmax, rdof, 0), m_offset), kmax); + + // check for unphysical state + pmax = prim(e, pressureDofIdx(nmat, kmax, rdof, 0), m_offset)/almax; + for (std::size_t k=0; k >& + /*esup*/, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, tk::Fields& U, tk::Fields& P ) const { const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); - const auto nmat = - g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; + const auto nelem = fd.Esuel().size()/4; Assert( U.nprop() == rdof*m_ncomp, "Number of components in solution " "vector must equal "+ std::to_string(rdof*m_ncomp) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > - bctypes{{ - { m_bcdir, Dirichlet }, - { m_bcsym, Symmetry }, - { m_bcextrapolate, Extrapolate } }}; - - // allocate and initialize matrix and vector for reconstruction + // allocate and initialize matrix and vector for reconstruction: + // lhs_ls is the left-hand side matrix for solving the least-squares + // system using the normal equation approach, for each mesh element. + // It is indexed as follows: + // The first index is the element id; + // the second index is the row id of the 3-by-3 matrix; + // the third index is the column id of the 3-by-3 matrix. std::vector< std::array< std::array< tk::real, 3 >, 3 > > - lhs_ls( U.nunk(), {{ {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}} }} ); + lhs_ls( nelem, {{ {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}} }} ); + // rhs_ls is the right-hand side vector for solving the least-squares + // system using the normal equation approach, for each element. + // It is indexed as follows: + // The first index is the element id; + // the second index is the scalar equation which is being reconstructed; + // the third index is the row id of the rhs vector. + // two rhs_ls vectors are needed for reconstructing conserved and + // primitive quantites separately std::vector< std::vector< std::array< tk::real, 3 > > > - rhs_ls( U.nunk(), std::vector< std::array< tk::real, 3 > > + rhsu_ls( nelem, std::vector< std::array< tk::real, 3 > > ( m_ncomp, {{ 0.0, 0.0, 0.0 }} ) ); + std::vector< std::vector< std::array< tk::real, 3 > > > + rhsp_ls( nelem, std::vector< std::array< tk::real, 3 > > + ( nprim(), + {{ 0.0, 0.0, 0.0 }} ) ); - // reconstruct x,y,z-derivatives of unknowns - tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, - lhs_ls, rhs_ls ); + // reconstruct x,y,z-derivatives of unknowns. For multimat, conserved and + // primitive quantities are reconstructed separately. + // 0. get lhs matrix, which is only geometry dependent + tk::lhsLeastSq_P0P1(fd, geoElem, geoFace, lhs_ls); - // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndLeastSq_P0P1( m_system, m_ncomp, m_offset, rdof, b.first, - fd, geoFace, geoElem, t, b.second, U, lhs_ls, - rhs_ls, nprim() ); + // 1. internal face contributions + tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, rhsu_ls ); + tk::intLeastSq_P0P1( nprim(), m_offset, rdof, fd, geoElem, P, rhsp_ls ); - // solve 3x3 least-squares system - tk::solveLeastSq_P0P1( m_ncomp, m_offset, rdof, lhs_ls, rhs_ls, U ); + // 2. boundary face contributions + for (const auto& b : m_bc) + { + tk::bndLeastSqConservedVar_P0P1( m_system, m_ncomp, m_offset, rdof, + b.first, fd, geoFace, geoElem, t, b.second, P, U, rhsu_ls, nprim() ); + tk::bndLeastSqPrimitiveVar_P0P1( m_system, nprim(), m_offset, rdof, + b.first, fd, geoFace, geoElem, t, b.second, P, U, rhsp_ls, m_ncomp ); + } - // transform reconstructed derivatives to Dubiner dofs - tk::transform_P0P1( m_ncomp, m_offset, rdof, fd.Esuel().size()/4, inpoel, - coord, U ); + // 3. solve 3x3 least-squares system + tk::solveLeastSq_P0P1( m_ncomp, m_offset, rdof, lhs_ls, rhsu_ls, U ); + tk::solveLeastSq_P0P1( nprim(), m_offset, rdof, lhs_ls, rhsp_ls, P ); - // reconstruct vector of primitives from solution vector - getMultiMatPrimitives_P0P1( m_offset, nmat, rdof, fd.Esuel().size()/4, U, - P ); + //// 1. Reconstruct second-order dofs in Taylor space using nodal-stencils + //tk::recoLeastSqExtStencil( rdof, m_offset, nelem, esup, inpoel, geoElem, + // U ); + //tk::recoLeastSqExtStencil( rdof, m_offset, nelem, esup, inpoel, geoElem, + // P ); + + // 4. transform reconstructed derivatives to Dubiner dofs + tk::transform_P0P1( m_ncomp, m_offset, rdof, nelem, inpoel, coord, U ); + tk::transform_P0P1( nprim(), m_offset, rdof, nelem, inpoel, coord, P ); } //! Limit second-order solution, and primitive quantities separately @@ -255,6 +458,7 @@ class MultiMat { //! \param[in] geoFace Face geometry array //! \param[in] geoElem Element geometry array //! \param[in] fd Face connectivity and boundary conditions object + //! \param[in] esup Elements-surrounding-nodes connectivity //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in] ndofel Vector of local number of degrees of freedome @@ -264,6 +468,7 @@ class MultiMat { [[maybe_unused]] const tk::Fields& geoFace, [[maybe_unused]] const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >& esup, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, const std::vector< std::size_t >& ndofel, @@ -277,13 +482,20 @@ class MultiMat { const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; + // limit vectors of conserved and primitive quantities if (limiter == ctr::LimiterType::SUPERBEEP1) { - // limit solution vector - Superbee_P1( fd.Esuel(), inpoel, ndofel, m_offset, coord, U, nmat ); - - // limit vector of primitives - Superbee_P1( fd.Esuel(), inpoel, ndofel, m_offset, coord, P ); + SuperbeeMultiMat_P1( fd.Esuel(), inpoel, ndofel, m_offset, coord, U, P, + nmat ); + } + else if (limiter == ctr::LimiterType::VERTEXBASEDP1) + { + VertexBasedMultiMat_P1( esup, inpoel, ndofel, fd.Esuel().size()/4, + m_offset, coord, U, P, nmat ); + } + else if (limiter == ctr::LimiterType::WENOP1) + { + WENOMultiMat_P1( fd.Esuel(), m_offset, U, P, nmat ); } } @@ -314,6 +526,8 @@ class MultiMat { const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; + const auto nelem = fd.Esuel().size()/4; + Assert( U.nunk() == P.nunk(), "Number of unknowns in solution " "vector and primitive vector at recent time step incorrect" ); Assert( U.nunk() == R.nunk(), "Number of unknowns in solution " @@ -324,8 +538,6 @@ class MultiMat { "vector must equal "+ std::to_string(rdof*nprim()) ); Assert( R.nprop() == ndof*m_ncomp, "Number of components in right-hand " "side vector must equal "+ std::to_string(ndof*m_ncomp) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); Assert( ndof == 1, "DGP1/2 not set up for multi-material" ); @@ -337,34 +549,31 @@ class MultiMat { std::vector< std::vector< tk::real > > riemannDeriv( 3*nmat+1, std::vector(U.nunk(),0.0) ); + // configure Riemann flux function + auto rieflxfn = + [this]( const std::array< tk::real, 3 >& fn, + const std::array< std::vector< tk::real >, 2 >& u, + const std::vector< std::array< tk::real, 3 > >& v ) + { return m_riemann.flux( fn, u, v ); }; + // configure a no-op lambda for prescribed velocity auto velfn = [this]( ncomp_t, ncomp_t, tk::real, tk::real, tk::real ){ return std::vector< std::array< tk::real, 3 > >( m_ncomp ); }; - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > bctypes{{ - { m_bcdir, Dirichlet }, - { m_bcsym, Symmetry }, - { m_bcextrapolate, Extrapolate } }}; - // compute internal surface flux integrals - tk::surfInt( m_system, m_ncomp, nmat, m_offset, ndof, rdof, inpoel, coord, - fd, geoFace, AUSM::flux, velfn, U, P, ndofel, R, + tk::surfInt( m_system, nmat, m_offset, ndof, rdof, inpoel, coord, + fd, geoFace, rieflxfn, velfn, U, P, ndofel, R, riemannDeriv ); - // compute source term integrals - tk::srcInt( m_system, m_ncomp, m_offset, t, ndof, inpoel, coord, geoElem, - Problem::src, ndofel, R ); - if(ndof > 1) // compute volume integrals - tk::volInt( m_system, m_ncomp, m_offset, ndof, inpoel, coord, geoElem, - flux, velfn, U, ndofel, R ); + tk::volInt( m_system, m_ncomp, m_offset, ndof, nelem, inpoel, coord, + geoElem, flux, velfn, U, ndofel, R ); // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndSurfInt( m_system, m_ncomp, nmat, m_offset, ndof, rdof, b.first, - fd, geoFace, inpoel, coord, t, AUSM::flux, velfn, + for (const auto& b : m_bc) + tk::bndSurfInt( m_system, nmat, m_offset, ndof, rdof, b.first, + fd, geoFace, inpoel, coord, t, rieflxfn, velfn, b.second, U, P, ndofel, R, riemannDeriv ); Assert( riemannDeriv.size() == 3*nmat+1, "Size of Riemann derivative " @@ -380,27 +589,43 @@ class MultiMat { } // compute volume integrals of non-conservative terms - tk::nonConservativeInt( m_system, m_ncomp, nmat, m_offset, ndof, rdof, - inpoel, coord, geoElem, U, riemannDeriv, ndofel, - R ); + tk::nonConservativeInt( m_system, nmat, m_offset, ndof, rdof, nelem, + inpoel, coord, geoElem, U, P, riemannDeriv, + ndofel, R ); + + // compute finite pressure relaxation terms + if (g_inputdeck.get< tag::param, tag::multimat, tag::prelax >()[m_system]) + { + const auto ct = g_inputdeck.get< tag::param, tag::multimat, + tag::prelax_timescale >()[m_system]; + tk::pressureRelaxationInt( m_system, nmat, m_offset, ndof, rdof, nelem, + geoElem, U, P, ndofel, ct, R ); + } } //! Compute the minimum time step size - //! \param[in] coord Mesh node coordinates - //! \param[in] inpoel Mesh element connectivity //! \param[in] fd Face connectivity and boundary conditions object //! \param[in] geoFace Face geometry array //! \param[in] geoElem Element geometry array - //! \param[in] U Solution vector at recent time step // //! \param[in] ndofel Vector of local number of degrees of freedom + //! \param[in] U Solution vector at recent time step + //! \param[in] P Vector of primitive quantities at recent time step + //! \param[in] nielem Number of internal elements //! \return Minimum time step size - tk::real dt( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, + //! \details The allowable dt is calculated by looking at the maximum + //! wave-speed in elements surrounding each face, times the area of that + //! face. Once the maximum of this quantity over the mesh is determined, + //! the volume of each cell is divided by this quantity. A minimum of this + //! ratio is found over the entire mesh, which gives the allowable dt. + tk::real dt( const std::array< std::vector< tk::real >, 3 >&, + const std::vector< std::size_t >&, const inciter::FaceData& fd, const tk::Fields& geoFace, const tk::Fields& geoElem, const std::vector< std::size_t >& /*ndofel*/, - const tk::Fields& U ) const + const tk::Fields& U, + const tk::Fields& P, + const std::size_t nielem ) const { const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); @@ -408,170 +633,110 @@ class MultiMat { g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[m_system]; const auto& esuf = fd.Esuf(); - const auto& inpofa = fd.Inpofa(); - // Number of quadrature points for face integration - auto ng = tk::NGfa(ndof); + tk::real u, v, w, a, vn, dSV_l, dSV_r; + std::vector< tk::real > delt(U.nunk(), 0.0); + std::vector< tk::real > ugp(m_ncomp, 0.0), pgp(nprim(), 0.0); - // arrays for quadrature points - std::array< std::vector< tk::real >, 2 > coordgp; - std::vector< tk::real > wgp; - - coordgp[0].resize( ng ); - coordgp[1].resize( ng ); - wgp.resize( ng ); - - tk::real rhok, rho, u, v, w, p, a, vn, dSV_l, dSV_r; - std::vector< tk::real > delt( U.nunk(), 0.0 ); - - const auto& cx = coord[0]; - const auto& cy = coord[1]; - const auto& cz = coord[2]; - - // get quadrature point weights and coordinates for triangle - tk::GaussQuadratureTri( ng, coordgp, wgp ); - - // compute internal surface maximum characteristic speed + // compute maximum characteristic speed at all internal element faces for (std::size_t f=0; f(esuf[2*f]); auto er = esuf[2*f+1]; - // Extract the left element coordinates - std::array< std::array< tk::real, 3>, 4 > coordel_l {{ - {{ cx[inpoel[4*el ]], cy[inpoel[4*el ]], cz[inpoel[4*el ]] }}, - {{ cx[inpoel[4*el+1]], cy[inpoel[4*el+1]], cz[inpoel[4*el+1]] }}, - {{ cx[inpoel[4*el+2]], cy[inpoel[4*el+2]], cz[inpoel[4*el+2]] }}, - {{ cx[inpoel[4*el+3]], cy[inpoel[4*el+3]], cz[inpoel[4*el+3]] }} }}; - - // Compute the determinant of Jacobian matrix - auto detT_l = - tk::Jacobian(coordel_l[0], coordel_l[1], coordel_l[2], coordel_l[3]); - - // Extract the face coordinates - std::array< std::array< tk::real, 3>, 3 > coordfa {{ - {{ cx[ inpofa[3*f ] ], cy[ inpofa[3*f ] ], cz[ inpofa[3*f ] ] }}, - {{ cx[ inpofa[3*f+1] ], cy[ inpofa[3*f+1] ], cz[ inpofa[3*f+1] ] }}, - {{ cx[ inpofa[3*f+2] ], cy[ inpofa[3*f+2] ], cz[ inpofa[3*f+2] ] }} - }}; - - dSV_l = 0.0; - dSV_r = 0.0; - - // Gaussian quadrature - for (std::size_t igp=0; igp B_l(rdof, 0.0); + B_l[0] = 1.0; - std::array< std::vector< tk::real >, 2 > ugp; + // get conserved quantities + ugp = eval_state( m_ncomp, m_offset, rdof, ndof, el, U, B_l); + // get primitive quantities + pgp = eval_state( nprim(), m_offset, rdof, ndof, el, P, B_l); - // left element - for (ncomp_t c=0; c( 0, rhok, u, v, w, - ugp[0][energyIdx(nmat, k)]/ugp[0][volfracIdx(nmat, k)], - k ); - a = std::max( a, eos_soundspeed< tag::multimat >( 0, rhok, p, k ) ); + // acoustic speed + a = 0.0; + for (std::size_t k=0; k 1.0e-04) { + a = std::max( a, eos_soundspeed< tag::multimat >( 0, + ugp[densityIdx(nmat, k)], pgp[pressureIdx(nmat, k)], + ugp[volfracIdx(nmat, k)], k ) ); } + } - vn = u*geoFace(f,1,0) + v*geoFace(f,2,0) + w*geoFace(f,3,0); - - dSV_l = wt * (std::fabs(vn) + a); - - // right element - if (er > -1) { - - // nodal coordinates of the right element - std::size_t eR = static_cast< std::size_t >( er ); + dSV_l = geoFace(f,0,0) * (std::fabs(vn) + a); - // Extract the right element coordinates - std::array< std::array< tk::real, 3>, 4 > coordel_r {{ - {{ cx[inpoel[4*eR ]], cy[inpoel[4*eR ]], cz[inpoel[4*eR ]] }}, - {{ cx[inpoel[4*eR+1]], cy[inpoel[4*eR+1]], cz[inpoel[4*eR+1]] }}, - {{ cx[inpoel[4*eR+2]], cy[inpoel[4*eR+2]], cz[inpoel[4*eR+2]] }}, - {{ cx[inpoel[4*eR+3]], cy[inpoel[4*eR+3]], cz[inpoel[4*eR+3]] }} - }}; + // right element + if (er > -1) { + std::size_t eR = static_cast< std::size_t >( er ); - // Compute the determinant of Jacobian matrix - auto detT_r = - tk::Jacobian(coordel_r[0],coordel_r[1],coordel_r[2],coordel_r[3]); + // Compute the basis function for the right element + std::vector< tk::real > B_r(rdof, 0.0); + B_r[0] = 1.0; - // Compute the coordinates of quadrature point at physical domain - gp = tk::eval_gp( igp, coordfa, coordgp ); + // get conserved quantities + ugp = eval_state( m_ncomp, m_offset, rdof, ndof, eR, U, B_r); + // get primitive quantities + pgp = eval_state( nprim(), m_offset, rdof, ndof, eR, P, B_r); - // Compute the basis function for the right element - auto B_r = tk::eval_basis( ndof, - tk::Jacobian(coordel_r[0], gp, coordel_r[2], coordel_r[3])/detT_r, - tk::Jacobian(coordel_r[0], coordel_r[1], gp, coordel_r[3])/detT_r, - tk::Jacobian(coordel_r[0], coordel_r[1], coordel_r[2], gp)/detT_r); + // advection velocity + u = pgp[velocityIdx(nmat, 0)]; + v = pgp[velocityIdx(nmat, 1)]; + w = pgp[velocityIdx(nmat, 2)]; - for (ncomp_t c=0; c<5; ++c) - { - auto mark = c*rdof; - ugp[1].push_back( U(eR, mark, m_offset) ); - } - - rho = 0.0; - for (std::size_t k=0; k( 0, rhok, u, v, w, - ugp[1][energyIdx(nmat, k)]/ugp[1][volfracIdx(nmat, k)], - k ); - a = std::max( a, eos_soundspeed< tag::multimat >( 0, rhok, p, k ) ); + // acoustic speed + a = 0.0; + for (std::size_t k=0; k 1.0e-04) { + a = std::max( a, eos_soundspeed< tag::multimat >( 0, + ugp[densityIdx(nmat, k)], pgp[pressureIdx(nmat, k)], + ugp[volfracIdx(nmat, k)], k ) ); } - - vn = u*geoFace(f,1,0) + v*geoFace(f,2,0) + w*geoFace(f,3,0); - - dSV_r = wt * (std::fabs(vn) + a); - delt[eR] += std::max( dSV_l, dSV_r ); } - delt[el] += std::max( dSV_l, dSV_r ); + dSV_r = geoFace(f,0,0) * (std::fabs(vn) + a); + + delt[eR] += std::max( dSV_l, dSV_r ); + } else { + dSV_r = dSV_l; } + + delt[el] += std::max( dSV_l, dSV_r ); } tk::real mindt = std::numeric_limits< tk::real >::max(); // compute allowable dt - for (std::size_t e=0; e()[0]; std::array< std::array< tk::real, 4 >, 3 > v; - v[0] = U.extract( momentumIdx(nmat, 0)*rdof, m_offset, N ); - v[1] = U.extract( momentumIdx(nmat, 1)*rdof, m_offset, N ); - v[2] = U.extract( momentumIdx(nmat, 2)*rdof, m_offset, N ); + v[0] = U.extract( momentumDofIdx(nmat, 0, rdof, 0), m_offset, N ); + v[1] = U.extract( momentumDofIdx(nmat, 1, rdof, 0), m_offset, N ); + v[2] = U.extract( momentumDofIdx(nmat, 2, rdof, 0), m_offset, N ); std::vector< std::array< tk::real, 4 > > ar; ar.resize(nmat); for (std::size_t k=0; k r{{ 0.0, 0.0, 0.0, 0.0 }}; for (std::size_t i=0; i& conf ) const - { Problem::side( conf ); } - //! Return field names to be output to file //! \return Vector of strings labelling fields output in file std::vector< std::string > fieldNames() const - { return Problem::fieldNames( m_ncomp ); } + { + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[m_system]; + + return MultiMatFieldNames(nmat); + } + + //! Return field names to be output to file + //! \return Vector of strings labelling fields output in file + std::vector< std::string > nodalFieldNames() const + { + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[m_system]; + + return MultiMatFieldNames(nmat); + } //! Return field output going to file - //! \param[in] t Physical time + //! \param[in] rdof Total number of degrees of freedom + //! \param[in] nunk Number of unknowns //! \param[in] geoElem Element geometry array //! \param[in,out] U Solution vector at recent time step + //! \param[in] P Vector of primitive quantities at recent time step //! \return Vector of vectors to be output to file std::vector< std::vector< tk::real > > - fieldOutput( tk::real t, + fieldOutput( tk::real, + tk::real, + std::size_t rdof, + std::size_t nunk, const tk::Fields& geoElem, - tk::Fields& U ) const + tk::Fields& U, + const tk::Fields& P ) const { - std::array< std::vector< tk::real >, 3 > coord; - std::vector< tk::real > v; - v = geoElem.extract(0,0); - coord[0] = geoElem.extract(1,0); - coord[1] = geoElem.extract(2,0); - coord[2] = geoElem.extract(3,0); - - return Problem::fieldOutput( m_system, m_ncomp, m_offset, t, - 0.0, v, coord, U ); + // number of materials + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[m_system]; + + return MultiMatFieldOutput(m_system, nmat, m_offset, nunk, rdof, geoElem, + U, P); } //! Return nodal field output going to file + //! \param[in] npoin Number of nodes + //! \param[in] esup Elements surrounding points + //! \param[in] geoElem Element geometry array + //! \param[in,out] Unode Nodal solution vector + //! \param[in,out] Pnode Nodal vector of primitive quantities + //! \param[in,out] U Nodal solution vector at recent time step + //! \param[in] P Nodal vector of primitive quantities at recent time step + //! \return Vector of vectors to be output to file + std::vector< std::vector< tk::real > > + nodalFieldOutput( tk::real, + tk::real, + std::size_t npoin, + const std::map< std::size_t, std::vector< std::size_t > >& + esup, + const tk::Fields& geoElem, + tk::Fields& Unode, + tk::Fields& Pnode, + tk::Fields& U, + const tk::Fields& P ) const + { + const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + // number of materials + const auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[m_system]; + + tk::nodeAvg(m_ncomp, nprim(), m_offset, rdof, npoin, esup, U, P, Unode, + Pnode); + + return MultiMatFieldOutput(m_system, nmat, m_offset, npoin, 1, geoElem, + Unode, Pnode); + } + + //! Return surface field output going to file std::vector< std::vector< tk::real > > - avgElemToNode( const std::vector< std::size_t >& /*inpoel*/, - const tk::UnsMesh::Coords& /*coord*/, - const tk::Fields& /*geoElem*/, - const tk::Fields& /*U*/ ) const + surfOutput( const std::map< int, std::vector< std::size_t > >&, + tk::Fields& ) const { - std::vector< std::vector< tk::real > > out; - return out; + std::vector< std::vector< tk::real > > s; // punt for now + return s; } //! Return names of integral variables to be output to diagnostics file @@ -670,7 +878,8 @@ class MultiMat { std::vector< tk::real > analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const { - auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t ); + int inbox = 0; + auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t, inbox ); return std::vector< tk::real >( begin(s), end(s) ); } @@ -681,14 +890,10 @@ class MultiMat { const ncomp_t m_ncomp; //! Offset PDE system operates from const ncomp_t m_offset; - ////! Riemann solver - //RiemannSolver m_riemann; - //! Dirichlet BC configuration - const std::vector< bcconf_t > m_bcdir; - //! Symmetric BC configuration - const std::vector< bcconf_t > m_bcsym; - //! Extrapolation BC configuration - const std::vector< bcconf_t > m_bcextrapolate; + //! Riemann solver + RiemannSolver m_riemann; + //! BC configuration + BCStateFn m_bc; //! Evaluate conservative part of physical flux function for this PDE system //! \param[in] system Equation system index @@ -715,15 +920,13 @@ class MultiMat { auto v = ugp[momentumIdx(nmat, 1)] / rho; auto w = ugp[momentumIdx(nmat, 2)] / rho; - std::vector< tk::real > pk( nmat, 0.0 ); + std::vector< tk::real > apk( nmat, 0.0 ); for (std::size_t k=0; k( system, - ugp[densityIdx(nmat, k)]/ugp[volfracIdx(nmat, k)], - u, v, w, - ugp[energyIdx(nmat, k)]/ugp[volfracIdx(nmat, k)], - k ); - p += ugp[volfracIdx(nmat, k)] * pk[k]; + apk[k] = eos_pressure< tag::multimat >( system, + ugp[densityIdx(nmat, k)], u, v, w, ugp[energyIdx(nmat, k)], + ugp[volfracIdx(nmat, k)], k ); + p += apk[k]; } std::vector< std::array< tk::real, 3 > > fl( ugp.size() ); @@ -754,7 +957,7 @@ class MultiMat { fl[densityIdx(nmat, k)][2] = w * ugp[densityIdx(nmat, k)]; // conservative part of material total-energy flux - auto hmat = ugp[energyIdx(nmat, k)] + ugp[volfracIdx(nmat, k)]*pk[k]; + auto hmat = ugp[energyIdx(nmat, k)] + apk[k]; fl[energyIdx(nmat, k)][0] = u * hmat; fl[energyIdx(nmat, k)][1] = v * hmat; fl[energyIdx(nmat, k)][2] = w * hmat; @@ -774,31 +977,86 @@ class MultiMat { //! \param[in] y Y-coordinate at which to compute the states //! \param[in] z Z-coordinate at which to compute the states //! \param[in] t Physical time + //! \param[in] fn Unit face normal //! \return Left and right states for all scalar components in this PDE //! system - //! \note The function signature must follow tk::StateFn + //! \note The function signature must follow tk::StateFn. For multimat, the + //! left or right state is the vector of conserved quantities, followed by + //! the vector of primitive quantities appended to it. static tk::StateFn::result_type - Dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, + dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, tk::real x, tk::real y, tk::real z, tk::real t, - const std::array< tk::real, 3 >& ) + const std::array< tk::real, 3 >& fn ) { const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[system]; - auto ur = Problem::solution( system, ncomp, x, y, z, t ); + int inbox = 0; + auto ur = Problem::solution( system, ncomp, x, y, z, t, inbox ); Assert( ur.size() == ncomp, "Incorrect size for boundary state vector" ); + ur.resize(ul.size()); + tk::real rho(0.0); for (std::size_t k=0; k almax) + { + almax = ul[volfracIdx(nmat, k)]; + kmax = k; + } + } + + auto vn = tk::dot({{ul[ncomp+velocityIdx(nmat, 0)], + ul[ncomp+velocityIdx(nmat, 1)], ul[ncomp+velocityIdx(nmat, 2)]}}, fn); + auto Ml = vn/eos_soundspeed< tag::multimat >(system, + ul[densityIdx(nmat,kmax)], ul[ncomp+pressureIdx(nmat,kmax)], + almax, kmax); + + // material pressures + if (Ml > 1.0) + { + for (std::size_t k=0; k( system, + arhomat, ur[ncomp+velocityIdx(nmat, 0)], + ur[ncomp+velocityIdx(nmat, 1)], ur[ncomp+velocityIdx(nmat, 2)], + arhoemat, alphamat, k ); + } + } + else + { + for (std::size_t k=0; k(system, + ur[densityIdx(nmat, k)]/ur[volfracIdx(nmat, k)], + ur[ncomp+velocityIdx(nmat, 0)], + ur[ncomp+velocityIdx(nmat, 1)], + ur[ncomp+velocityIdx(nmat, 2)], + ul[ncomp+pressureIdx(nmat, k)]/ul[volfracIdx(nmat, k)], k); + } + } + + Assert( ur.size() == ncomp+nmat+3, "Incorrect size for appended " + "boundary state vector" ); return {{ std::move(ul), std::move(ur) }}; } @@ -811,16 +1069,18 @@ class MultiMat { //! \param[in] fn Unit face normal //! \return Left and right states for all scalar components in this PDE //! system - //! \note The function signature must follow tk::StateFn + //! \note The function signature must follow tk::StateFn. For multimat, the + //! left or right state is the vector of conserved quantities, followed by + //! the vector of primitive quantities appended to it. static tk::StateFn::result_type - Symmetry( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, + symmetry( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& fn ) { const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[system]; - Assert( ul.size() == ncomp+3, "Incorrect size for appended internal " + Assert( ul.size() == ncomp+nmat+3, "Incorrect size for appended internal " "state vector" ); tk::real rho(0.0); @@ -830,9 +1090,9 @@ class MultiMat { auto ur = ul; // Internal cell velocity components - auto v1l = ul[momentumIdx(nmat, 0)] / rho; - auto v2l = ul[momentumIdx(nmat, 1)] / rho; - auto v3l = ul[momentumIdx(nmat, 2)] / rho; + auto v1l = ul[ncomp+velocityIdx(nmat, 0)]; + auto v2l = ul[ncomp+velocityIdx(nmat, 1)]; + auto v3l = ul[ncomp+velocityIdx(nmat, 2)]; // Normal component of velocity auto vnl = v1l*fn[0] + v2l*fn[1] + v3l*fn[2]; // Ghost state velocity components @@ -850,36 +1110,92 @@ class MultiMat { ur[momentumIdx(nmat, 1)] = rho * v2r; ur[momentumIdx(nmat, 2)] = rho * v3r; - // Internal cell velocity components using the reconstructed primitive - // quantities. This is used to get ghost state for primitive quantities - v1l = ul[ncomp]; - v2l = ul[ncomp+1]; - v3l = ul[ncomp+2]; - // Normal component of velocity - vnl = v1l*fn[0] + v2l*fn[1] + v3l*fn[2]; - // Ghost state velocity components - v1r = v1l - 2.0*vnl*fn[0]; - v2r = v2l - 2.0*vnl*fn[1]; - v3r = v3l - 2.0*vnl*fn[2]; - // get primitives in boundary state - ur[ncomp] = v1r; - ur[ncomp+1] = v2r; - ur[ncomp+2] = v3r; + // Internal cell primitive quantities using the separately reconstructed + // primitive quantities. This is used to get ghost state for primitive + // quantities - Assert( ur.size() == ncomp+3, "Incorrect size for appended boundary " + // velocity + ur[ncomp+velocityIdx(nmat, 0)] = v1r; + ur[ncomp+velocityIdx(nmat, 1)] = v2r; + ur[ncomp+velocityIdx(nmat, 2)] = v3r; + // material pressures + for (std::size_t k=0; k& ul, + subsonicOutlet( ncomp_t system, ncomp_t ncomp, + const std::vector< tk::real >& ul, + tk::real, tk::real, tk::real, tk::real, + const std::array< tk::real, 3 >& ) + { + const auto nmat = + g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[system]; + + auto fp = + g_inputdeck.get< tag::param, eq, tag::farfield_pressure >()[ system ]; + + Assert( ul.size() == ncomp+nmat+3, "Incorrect size for appended internal " + "state vector" ); + + auto ur = ul; + + // Internal cell velocity components + auto v1l = ul[ncomp+velocityIdx(nmat, 0)]; + auto v2l = ul[ncomp+velocityIdx(nmat, 1)]; + auto v3l = ul[ncomp+velocityIdx(nmat, 2)]; + // Boundary condition + for (std::size_t k=0; k + (system, ur[densityIdx(nmat, k)]/ul[volfracIdx(nmat, k)], v1l, v2l, + v3l, fp, k); + } + + // Internal cell primitive quantities using the separately reconstructed + // primitive quantities. This is used to get ghost state for primitive + // quantities + + // velocity + ur[ncomp+velocityIdx(nmat, 0)] = v1l; + ur[ncomp+velocityIdx(nmat, 1)] = v2l; + ur[ncomp+velocityIdx(nmat, 2)] = v3l; + // material pressures + for (std::size_t k=0; k& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& ) { diff --git a/src/PDE/MultiMat/MultiMatIndexing.hpp b/src/PDE/MultiMat/MultiMatIndexing.hpp index 63c05364383..7679fd2ac10 100644 --- a/src/PDE/MultiMat/MultiMatIndexing.hpp +++ b/src/PDE/MultiMat/MultiMatIndexing.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/MultiMatIndexing.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Multi-material system indexing functions \details This file defines functions that return indices to specific @@ -46,13 +46,104 @@ inline std::size_t energyIdx( std::size_t nmat, std::size_t kmat ) { return (2*nmat+3+kmat); } //! Get the index of the required velocity component from vector of primitives +//! \param[in] nmat Number of materials //! \param[in] idir Required component direction; //! 0: X-component, //! 1: Y-component, //! 2: Z-component. //! \return Index of the required velocity component from vector of primitives -inline std::size_t velocityIdx( std::size_t /*nmat*/, std::size_t idir ) -{ return idir; } +inline std::size_t velocityIdx( std::size_t nmat, std::size_t idir ) +{ return nmat+idir; } + +//! Get the index of the required material pressure from vector of primitives +//! \param[in] kmat Index of required material +//! \return Index of the required material pressure from vector of primitives +inline std::size_t pressureIdx( std::size_t /*nmat*/, std::size_t kmat ) +{ return kmat; } + +//! \brief Get the index of the required DOF of material volume fraction from +//! the DG solution vector +//! \param[in] nmat Number of materials +//! \param[in] kmat Index of required material +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required material volume fraction +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t volfracDofIdx( std::size_t nmat, std::size_t kmat, + std::size_t ndof, std::size_t idof ) +{ return volfracIdx(nmat, kmat)*ndof+idof; } + +//! \brief Get the index of the required DOF of material continuity equation +//! from the DG solution vector +//! \param[in] nmat Number of materials +//! \param[in] kmat Index of required material +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required material continuity equation +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t densityDofIdx( std::size_t nmat, std::size_t kmat, + std::size_t ndof, std::size_t idof ) +{ return densityIdx(nmat, kmat)*ndof+idof; } + +//! \brief Get the index of the required DOF of momentum equation component from +//! the DG solution vector +//! \param[in] nmat Number of materials +//! \param[in] idir Required component direction; +//! 0: X-component, +//! 1: Y-component, +//! 2: Z-component. +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required momentum equation component +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t momentumDofIdx( std::size_t nmat, std::size_t idir, + std::size_t ndof, std::size_t idof ) +{ return momentumIdx(nmat, idir)*ndof+idof; } + +//! \brief Get the index of the required DOF of material total energy equation +//! from the DG solution vector +//! \param[in] nmat Number of materials +//! \param[in] kmat Index of required material +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required material total energy equation +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t energyDofIdx( std::size_t nmat, std::size_t kmat, + std::size_t ndof, std::size_t idof ) +{ return energyIdx(nmat, kmat)*ndof+idof; } + +//! \brief Get the index of the required DOF of velocity component from the DG +//! vector of primitives +//! \param[in] nmat Number of materials +//! \param[in] idir Required component direction; +//! 0: X-component, +//! 1: Y-component, +//! 2: Z-component. +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required velocity component from vector of primitives +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t velocityDofIdx( std::size_t nmat, std::size_t idir, + std::size_t ndof, std::size_t idof ) +{ return velocityIdx(nmat, idir)*ndof+idof; } + +//! \brief Get the index of the required DOF of material pressure from the DG +//! vector of primitives +//! \param[in] nmat Number of materials +//! \param[in] kmat Index of required material +//! \param[in] ndof Number of solution DOFs stored in DG solution vector +//! \param[in] idof Index of required solution DOF from DG solution vector +//! \return Index of the required material pressure from vector of primitives +//! \details This function is used to get the index of the required DOF in the +//! solution vector, which is of type tk::Fields. +inline std::size_t pressureDofIdx( std::size_t nmat, std::size_t kmat, + std::size_t ndof, std::size_t idof ) +{ return pressureIdx(nmat, kmat)*ndof+idof; } } //inciter:: diff --git a/src/PDE/MultiMat/Physics/DG.hpp b/src/PDE/MultiMat/Physics/DG.hpp index f08e5cf6888..630c44de474 100644 --- a/src/PDE/MultiMat/Physics/DG.hpp +++ b/src/PDE/MultiMat/Physics/DG.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Physics/DG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics configurations for multi-material compressible flow using discontinuous Galerkin finite element methods diff --git a/src/PDE/MultiMat/Physics/DGVelEq.hpp b/src/PDE/MultiMat/Physics/DGVelEq.hpp index 1d6e55d05c2..1d07f074007 100644 --- a/src/PDE/MultiMat/Physics/DGVelEq.hpp +++ b/src/PDE/MultiMat/Physics/DGVelEq.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Physics/DGVelEq.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the Euler equation governing multi-material flow using a finite volume method diff --git a/src/PDE/MultiMat/Problem.hpp b/src/PDE/MultiMat/Problem.hpp index 76e7690a407..5635e488413 100644 --- a/src/PDE/MultiMat/Problem.hpp +++ b/src/PDE/MultiMat/Problem.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief All problem configurations for the compressible flow equations \details This file collects all Problem policy classes for the compressible @@ -28,15 +28,9 @@ the computed fields and/or sampling the analytical solution (if exist) at time t. - - Must define the static function _solinc()_, used to evaluate the increment - from t to t+dt of the analytic solution (if defined). - - Must define the static function _src()_, used for adding source terms to the righ hand side. - - Must define the static function _side()_, used to query all side set IDs - the user has configured for all components. - - Must define the static function _dirbc()_, used to query Dirichlet boundary condition value on a given side set for all components in the PDE system. @@ -56,6 +50,12 @@ #include "Problem/UserDefined.hpp" #include "Problem/InterfaceAdvection.hpp" #include "Problem/SodShocktube.hpp" +#include "Problem/WaterAirShocktube.hpp" +#include "Problem/TriplePoint.hpp" +#include "Problem/GasImpact.hpp" +#include "Problem/GasImpact4Mat.hpp" +#include "Problem/ShockHeBubble.hpp" +#include "Problem/UnderwaterEx.hpp" namespace inciter { @@ -63,7 +63,13 @@ namespace inciter { using MultiMatProblems = brigand::list< MultiMatProblemUserDefined , MultiMatProblemSodShocktube - , MultiMatProblemInterfaceAdvection >; + , MultiMatProblemInterfaceAdvection + , MultiMatProblemWaterAirShocktube + , MultiMatProblemTriplePoint + , MultiMatProblemGasImpact + , MultiMatProblemGasImpact4Mat + , MultiMatProblemShockHeBubble + , MultiMatProblemUnderwaterEx >; } // inciter:: diff --git a/src/PDE/MultiMat/Problem/CMakeLists.txt b/src/PDE/MultiMat/Problem/CMakeLists.txt index e475edc0ed7..f373ec63620 100644 --- a/src/PDE/MultiMat/Problem/CMakeLists.txt +++ b/src/PDE/MultiMat/Problem/CMakeLists.txt @@ -1,6 +1,13 @@ add_library(MultiMatProblem + FieldOutput.cpp SodShocktube.cpp - InterfaceAdvection.cpp) + InterfaceAdvection.cpp + WaterAirShocktube.cpp + TriplePoint.cpp + GasImpact.cpp + GasImpact4Mat.cpp + ShockHeBubble.cpp + UnderwaterEx.cpp) target_include_directories(MultiMatProblem PUBLIC ${QUINOA_SOURCE_DIR} diff --git a/src/PDE/MultiMat/Problem/FieldOutput.cpp b/src/PDE/MultiMat/Problem/FieldOutput.cpp new file mode 100644 index 00000000000..e172a739e3d --- /dev/null +++ b/src/PDE/MultiMat/Problem/FieldOutput.cpp @@ -0,0 +1,187 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/FieldOutput.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Field outputs for multi-material equation solver + \details This file defines functions for field quantites to be output to + files for compressible multi-material equations. +*/ +// ***************************************************************************** +#include "FieldOutput.hpp" +#include "MultiMat/MultiMatIndexing.hpp" +#include "EoS/EoS.hpp" +#include "Vector.hpp" + +namespace inciter { + +std::vector< std::string > +MultiMatFieldNames( std::size_t nmat ) +// ***************************************************************************** +// Return multi-material field names to be output to file +//! \param[in] nmat Number of materials in system +//! \return Vector of strings labelling fields output in file +// ***************************************************************************** +{ + std::vector< std::string > n; + + for (std::size_t k=0; k > +MultiMatFieldOutput( + ncomp_t, + std::size_t nmat, + ncomp_t offset, + std::size_t nunk, + std::size_t rdof, + const tk::Fields& geoElem, + tk::Fields& U, + const tk::Fields& P ) +// ***************************************************************************** +// Return field output going to file +//! \param[in] nmat Number of materials in systen +//! \param[in] offset System offset specifying the position of the system of +//! PDEs among other systems +//! \param[in] nunk Number of unknowns to extract +//! \param[in] rdof Number of reconstructed degrees of freedom +//! \param[in] U Solution vector at recent time step +//! \param[in] P Vector of primitive quantities at recent time step +//! \return Vector of vectors to be output to file +// ***************************************************************************** +{ + // field-output vector with: + // - nmat volume fractions + // - nmat material densities + // - 1 bulk density + // - 3 velocity components + // - nmat material pressures + // - 1 bulk pressure + // - nmat material sound-speeds + // - 1 bulk total energy density + // - 1 material indicator + // - 1 time-step + // leading to a size of 4*nmat+8 + std::vector< std::vector< tk::real > > + out( 4*nmat+8, std::vector< tk::real >( nunk ) ); + + //// mesh node coordinates + //const auto& x = coord[0]; + //const auto& y = coord[1]; + //const auto& z = coord[2]; + + // material volume-fractions + for (std::size_t k=0; k( 0, + std::max(1e-16, U(i, densityDofIdx(nmat,k,rdof,0), offset)), + P(i, pressureDofIdx(nmat,k,rdof,0), offset), + U(i, volfracDofIdx(nmat,k,rdof,0), offset), k ); + } + } + + // bulk total energy density + for (std::size_t i=0; i(k+1); + } + } + + // time-step + for (std::size_t i=0; i 1.0e-04) { + a = std::max( a, eos_soundspeed< tag::multimat >( 0, + U(i, densityDofIdx(nmat,k,rdof,0), offset), + P(i, pressureDofIdx(nmat,k,rdof,0), offset), + U(i, volfracDofIdx(nmat,k,rdof,0), offset), k ) ); + } + } + + out[4*nmat+7][i] = geoElem(i,4,0) / (std::fabs(vn) + a); + } + + return out; +} + +} //inciter:: diff --git a/src/PDE/MultiMat/Problem/FieldOutput.hpp b/src/PDE/MultiMat/Problem/FieldOutput.hpp new file mode 100644 index 00000000000..6296bce8cad --- /dev/null +++ b/src/PDE/MultiMat/Problem/FieldOutput.hpp @@ -0,0 +1,40 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/FieldOutput.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Field outputs for multi-material equation solver + \details This file defines functions for field quantites to be output to + files for compressible multi-material equations. +*/ +// ***************************************************************************** +#ifndef FieldOutput_h +#define FieldOutput_h + +#include "Fields.hpp" + +namespace inciter { + +using ncomp_t = kw::ncomp::info::expect::type; + +//! Return multi-material field names to be output to file +std::vector< std::string > +MultiMatFieldNames( std::size_t nmat ); + +//! Return field output going to file +std::vector< std::vector< tk::real > > +MultiMatFieldOutput( + ncomp_t system, + std::size_t nmat, + ncomp_t offset, + std::size_t nunk, + std::size_t rdof, + const tk::Fields& geoElem, + tk::Fields& U, + const tk::Fields& P ); + +} //inciter:: + +#endif // FieldOutput_h diff --git a/src/PDE/MultiMat/Problem/GasImpact.cpp b/src/PDE/MultiMat/Problem/GasImpact.cpp new file mode 100644 index 00000000000..69cd5bbaf06 --- /dev/null +++ b/src/PDE/MultiMat/Problem/GasImpact.cpp @@ -0,0 +1,122 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/GasImpact.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "GasImpact.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemGasImpact; + +tk::SolutionFn::result_type +MultiMatProblemGasImpact::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the gas impact problem, +//! but does not actually give the analytical solution at time greater than 0. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 12, "Number of scalar components must be 12" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w, temp; + auto alphamin = 1.0e-12; + + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + + // background state + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = 1.0-2.0*alphamin; + + temp = 0.0034843206; + p = 1.0; + + // impactor + if (x >= 0.25 && x <= 0.75 && y >= 0.9 && y <= 1.1) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + // pressure + p = 2.0; + // velocity + u = 0.2; + // temperature + temp = 0.0062717771; + } + // slab + else if (x >= 1.0 && x <= 1.1) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + } + + auto rb(0.0); + for (std::size_t k=0; k( system, p, temp, k ); + // partial density + s[densityIdx(nmat, k)] = s[volfracIdx(nmat, k)]*r[k]; + // total specific energy + s[energyIdx(nmat, k)] = s[volfracIdx(nmat, k)]* + eos_totalenergy< eq >( system, r[k], u, v, w, p, k ); + rb += s[densityIdx(nmat, k)]; + } + + s[momentumIdx(nmat, 0)] = rb * u; + s[momentumIdx(nmat, 1)] = rb * v; + s[momentumIdx(nmat, 2)] = rb * w; + + return s; +} + +std::vector< std::string > +MultiMatProblemGasImpact::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/GasImpact.hpp b/src/PDE/MultiMat/Problem/GasImpact.hpp new file mode 100644 index 00000000000..60342a52706 --- /dev/null +++ b/src/PDE/MultiMat/Problem/GasImpact.hpp @@ -0,0 +1,61 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/GasImpact.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for gas impact + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemGasImpact_h +#define MultiMatProblemGasImpact_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Triple point problem +//! \see Barlow, A., Hill, R., & Shashkov, M. (2014). Constrained optimization +//! framework for interface-aware sub-scale dynamics closure model for +//! multimaterial cells in Lagrangian and arbitrary Lagrangian–Eulerian +//! hydrodynamics. Journal of Computational Physics, 276, 92-135. +class MultiMatProblemGasImpact { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::GAS_IMPACT; } +}; + +} // inciter:: + +#endif // MultiMatProblemGasImpact_h diff --git a/src/PDE/MultiMat/Problem/GasImpact4Mat.cpp b/src/PDE/MultiMat/Problem/GasImpact4Mat.cpp new file mode 100644 index 00000000000..719d289e369 --- /dev/null +++ b/src/PDE/MultiMat/Problem/GasImpact4Mat.cpp @@ -0,0 +1,133 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/GasImpact4Mat.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "GasImpact4Mat.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemGasImpact4Mat; + +tk::SolutionFn::result_type +MultiMatProblemGasImpact4Mat::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the gas impact problem, +//! but does not actually give the analytical solution at time greater than 0. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 15, "Number of scalar components must be 15" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w, temp; + auto alphamin = 1.0e-12; + + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + + // background state + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + s[volfracIdx(nmat, 3)] = 1.0-2.0*alphamin; + + temp = 0.0034843206; + p = 1.0; + + // impactor + if (x >= 0.25 && x <= 0.75 && y >= 0.9 && y <= 1.1) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + s[volfracIdx(nmat, 3)] = alphamin; + // pressure + p = 2.0; + // velocity + u = 0.2; + // temperature + temp = 0.0062717771; + } + // slab-2 + else if (x >= 1.0 && x <= 1.1) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + s[volfracIdx(nmat, 3)] = alphamin; + } + // slab-2 + else if (x > 1.1 && x <= 1.3) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 3)] = alphamin; + } + + auto rb(0.0); + for (std::size_t k=0; k( system, p, temp, k ); + // partial density + s[densityIdx(nmat, k)] = s[volfracIdx(nmat, k)]*r[k]; + // total specific energy + s[energyIdx(nmat, k)] = s[volfracIdx(nmat, k)]* + eos_totalenergy< eq >( system, r[k], u, v, w, p, k ); + rb += s[densityIdx(nmat, k)]; + } + + s[momentumIdx(nmat, 0)] = rb * u; + s[momentumIdx(nmat, 1)] = rb * v; + s[momentumIdx(nmat, 2)] = rb * w; + + return s; +} + +std::vector< std::string > +MultiMatProblemGasImpact4Mat::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/GasImpact4Mat.hpp b/src/PDE/MultiMat/Problem/GasImpact4Mat.hpp new file mode 100644 index 00000000000..b2c8ef3d762 --- /dev/null +++ b/src/PDE/MultiMat/Problem/GasImpact4Mat.hpp @@ -0,0 +1,57 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/GasImpact4Mat.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for gas impact + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemGasImpact4Mat_h +#define MultiMatProblemGasImpact4Mat_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Gas impact with two slabs (four materials) +class MultiMatProblemGasImpact4Mat { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::GAS_IMPACT_4MAT; } +}; + +} // inciter:: + +#endif // MultiMatProblemGasImpact4Mat_h diff --git a/src/PDE/MultiMat/Problem/InterfaceAdvection.cpp b/src/PDE/MultiMat/Problem/InterfaceAdvection.cpp index ba0a90aa52d..32d2bf2fb4b 100644 --- a/src/PDE/MultiMat/Problem/InterfaceAdvection.cpp +++ b/src/PDE/MultiMat/Problem/InterfaceAdvection.cpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem/InterfaceAdvection.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the compressible flow @@ -17,12 +17,6 @@ #include "EoS/EoS.hpp" #include "MultiMat/MultiMatIndexing.hpp" -//namespace inciter { -// -//extern ctr::InputDeck g_inputdeck; -// -//} // ::inciter - using inciter::MultiMatProblemInterfaceAdvection; tk::SolutionFn::result_type @@ -31,7 +25,8 @@ MultiMatProblemInterfaceAdvection::solution( ncomp_t system, tk::real x, tk::real y, tk::real /*z*/, - tk::real t ) + tk::real t, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -47,6 +42,7 @@ MultiMatProblemInterfaceAdvection::solution( ncomp_t system, auto nmat = g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + // see also Control/Inciter/InputDeck/Grammar.hpp Assert( ncomp == 3*nmat+3, "Incorrect number of components in multi-material " "system" ); @@ -104,200 +100,6 @@ MultiMatProblemInterfaceAdvection::solution( ncomp_t system, return s; } -std::vector< tk::real > -MultiMatProblemInterfaceAdvection::solinc( ncomp_t system, - ncomp_t ncomp, - tk::real x, - tk::real y, - tk::real z, - tk::real t, - tk::real dt ) -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -tk::SrcFn::result_type -MultiMatProblemInterfaceAdvection::src( ncomp_t, ncomp_t ncomp, tk::real, - tk::real, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \param[in] ncomp Number of scalar components in this PDE system -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - std::vector< tk::real > s( ncomp, 0.0 ); - - return s; -} - -void -MultiMatProblemInterfaceAdvection::side( std::unordered_set< int >& conf ) -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcdir >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcsym >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); -} - -std::vector< std::string > -MultiMatProblemInterfaceAdvection::fieldNames( ncomp_t ) -// ***************************************************************************** -// Return field names to be output to file -//! \return Vector of strings labelling fields output in file -// ***************************************************************************** -{ - auto nmat = - g_inputdeck.get< tag::param, eq, tag::nmat >()[0]; - - std::vector< std::string > n; - - for (std::size_t k=0; k > -MultiMatProblemInterfaceAdvection::fieldOutput( - ncomp_t system, - ncomp_t, - ncomp_t offset, - tk::real /*t*/, - tk::real, - const std::vector< tk::real >&, - const std::array< std::vector< tk::real >, 3 >& /*coord*/, - tk::Fields& U ) -// ***************************************************************************** -// Return field output going to file -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] offset System offset specifying the position of the system of -//! PDEs among other systems -//! \param[in] t Physical time -//! \param[in] coord Mesh node coordinates -//! \param[in] U Solution vector at recent time step -//! \return Vector of vectors to be output to file -// ***************************************************************************** -{ - // number of degree of freedom - const std::size_t rdof = - g_inputdeck.get< tag::discr, tag::rdof >(); - - //// ratio of specific heats - //tk::real g = - // g_inputdeck.get< tag::param, eq, tag::gamma >()[system]; - - auto nmat = - g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; - - std::vector< std::vector< tk::real > > out; - std::vector< std::vector< tk::real > > al, ar, ae; - - for (std::size_t k=0; k r( ru.size(), 0.0 ); - for (std::size_t i=0; i u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - - std::vector< tk::real > v = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - - std::vector< tk::real > w = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - - // bulk pressure - std::vector< tk::real > P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, ar[k][i]/al[k][i], - u[i], v[i], w[i], - ae[k][i]/al[k][i], k ); - } - out.push_back( P ); - - // bulk total energy density - std::vector< tk::real > E( r.size(), 0.0 ); - for (std::size_t i=0; i MultiMatProblemInterfaceAdvection::names( ncomp_t ) // ***************************************************************************** diff --git a/src/PDE/MultiMat/Problem/InterfaceAdvection.hpp b/src/PDE/MultiMat/Problem/InterfaceAdvection.hpp index aefb40663b7..3b5fe0086d6 100644 --- a/src/PDE/MultiMat/Problem/InterfaceAdvection.hpp +++ b/src/PDE/MultiMat/Problem/InterfaceAdvection.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem/InterfaceAdvection.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the multi-material compressible flow equations @@ -17,7 +17,6 @@ #define MultiMatProblemInterfaceAdvection_h #include -#include #include "Types.hpp" #include "Fields.hpp" @@ -48,40 +47,14 @@ class MultiMatProblemInterfaceAdvection { tk::real x, tk::real y, tk::real /*z*/, - tk::real t ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - static std::vector< tk::real > - solinc( ncomp_t system, - ncomp_t ncomp, - tk::real x, - tk::real y, - tk::real z, - tk::real t, - tk::real dt ); + tk::real t, + int& ); //! Compute and return source term for interface advection - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - static void side( std::unordered_set< int >& conf ); - - //! Return field names to be output to file - static std::vector< std::string > fieldNames( ncomp_t ); - - //! Return field output going to file - static std::vector< std::vector< tk::real > > - fieldOutput( ncomp_t system, - ncomp_t /*ncomp*/, - ncomp_t offset, - tk::real t, - tk::real, - const std::vector< tk::real >&, - const std::array< std::vector< tk::real >, 3 >& coord, - tk::Fields& U ); + static tk::MultiMatSrcFn::result_type + src( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } //! Return names of integral variables to be output to diagnostics file static std::vector< std::string > names( ncomp_t ); diff --git a/src/PDE/MultiMat/Problem/ShockHeBubble.cpp b/src/PDE/MultiMat/Problem/ShockHeBubble.cpp new file mode 100644 index 00000000000..51369f6edc6 --- /dev/null +++ b/src/PDE/MultiMat/Problem/ShockHeBubble.cpp @@ -0,0 +1,120 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/ShockHeBubble.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/DGMultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "ShockHeBubble.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemShockHeBubble; + +tk::SolutionFn::result_type +MultiMatProblemShockHeBubble::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real z, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \param[in] z Z coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the shock He-bubble interaction +//! problem, but does not actually give the analytical solution at time +//! greater than 0. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 9, "Number of scalar components must be 9" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w, temp; + auto alphamin = 1.0e-12; + + // pre-shock state + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-alphamin; + p = 1.0e5; + u = 0.0; + v = 0.0; + w = 0.0; + temp = 248.88; + + // post-shock state + if (x >= 0.2125) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-alphamin; + // pressure + p = 1.5698e5; + // velocity + u = -113.5; + // temperature + temp = 283.86; + } + + // bubble + auto radb = std::sqrt((x-0.1725)*(x-0.1725) + y*y + z*z); + if (radb <= 0.025) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + } + + auto rb(0.0); + for (std::size_t k=0; k( system, p, temp, k ); + // partial density + s[densityIdx(nmat, k)] = s[volfracIdx(nmat, k)]*r[k]; + // total specific energy + s[energyIdx(nmat, k)] = s[volfracIdx(nmat, k)]* + eos_totalenergy< eq >( system, r[k], u, v, w, p, k ); + rb += s[densityIdx(nmat, k)]; + } + + s[momentumIdx(nmat, 0)] = rb * u; + s[momentumIdx(nmat, 1)] = rb * v; + s[momentumIdx(nmat, 2)] = rb * w; + + return s; +} + +std::vector< std::string > +MultiMatProblemShockHeBubble::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/ShockHeBubble.hpp b/src/PDE/MultiMat/Problem/ShockHeBubble.hpp new file mode 100644 index 00000000000..0e288fa5001 --- /dev/null +++ b/src/PDE/MultiMat/Problem/ShockHeBubble.hpp @@ -0,0 +1,59 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/ShockHeBubble.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for gas impact + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/DGMultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemShockHeBubble_h +#define MultiMatProblemShockHeBubble_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Shock He-bubble interaction +//! \see Quirk, J. J., & Karni, S. (1996). On the dynamics of a shock–bubble +//! interaction. Journal of Fluid Mechanics, 318, 129-163. +class MultiMatProblemShockHeBubble { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::SHOCK_HEBUBBLE; } +}; + +} // inciter:: + +#endif // MultiMatProblemShockHeBubble_h diff --git a/src/PDE/MultiMat/Problem/SodShocktube.cpp b/src/PDE/MultiMat/Problem/SodShocktube.cpp index bb0e462ccdd..46874f0e992 100644 --- a/src/PDE/MultiMat/Problem/SodShocktube.cpp +++ b/src/PDE/MultiMat/Problem/SodShocktube.cpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem/SodShocktube.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the compressible flow equations \details This file defines a Problem policy class for the multi-material @@ -32,7 +32,8 @@ MultiMatProblemSodShocktube::solution( ncomp_t system, tk::real x, tk::real, tk::real, - tk::real ) + tk::real, + int& ) // ***************************************************************************** //! Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index, i.e., which compressible @@ -47,7 +48,8 @@ MultiMatProblemSodShocktube::solution( ncomp_t system, //! been implemented yet. // ***************************************************************************** { - Assert( ncomp == 9, "Number of scalar components must be 5" ); + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 9, "Number of scalar components must be 9" ); auto nmat = g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; @@ -93,186 +95,6 @@ MultiMatProblemSodShocktube::solution( ncomp_t system, return s; } -std::vector< tk::real > -MultiMatProblemSodShocktube::solinc( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real t, tk::real dt ) -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] ncomp Number of scalar components in this PDE system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,z,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -tk::SrcFn::result_type -MultiMatProblemSodShocktube::src( ncomp_t, ncomp_t ncomp, tk::real, - tk::real, tk::real, tk::real ) -// ***************************************************************************** -// Compute and return source term for manufactured solution -//! \param[in] ncomp Number of scalar components in this PDE system -//! \return Array of reals containing the source for all components -//! \note The function signature must follow tk::SrcFn -// ***************************************************************************** -{ - std::vector< tk::real > s( ncomp, 0.0 ); - - return s; -} - -void -MultiMatProblemSodShocktube::side( std::unordered_set< int >& conf ) -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcsym >()) - for (const auto& i : s) conf.insert( std::stoi(i) ); -} - -std::vector< std::string > -MultiMatProblemSodShocktube::fieldNames( ncomp_t ) -// ***************************************************************************** -// Return field names to be output to file -//! \return Vector of strings labelling fields output in file -// ***************************************************************************** -{ - std::vector< std::string > n; - - n.push_back( "volfrac1_numerical" ); - n.push_back( "volfrac2_numerical" ); - n.push_back( "density_numerical" ); - //n.push_back( "density_analytical" ); - n.push_back( "x-velocity_numerical" ); - //n.push_back( "x-velocity_analytical" ); - //n.push_back( "err(u)" ); - n.push_back( "y-velocity_numerical" ); - //n.push_back( "y-velocity_analytical" ); - n.push_back( "z-velocity_numerical" ); - //n.push_back( "z-velocity_analytical" ); - n.push_back( "pressure_numerical" ); - //n.push_back( "pressure_analytical" ); - n.push_back( "total_energy_density_numerical" ); - //n.push_back( "specific_total_energy_analytical" ); - //n.push_back( "err(E)" ); - - return n; -} - -std::vector< std::vector< tk::real > > -MultiMatProblemSodShocktube::fieldOutput( - ncomp_t system, - ncomp_t, - ncomp_t offset, - tk::real, - tk::real, - const std::vector< tk::real >&, - const std::array< std::vector< tk::real >, 3 >&, - tk::Fields& U ) -// ***************************************************************************** -// Return field output going to file -//! \param[in] system Equation system index, i.e., which compressible -//! flow equation system we operate on among the systems of PDEs -//! \param[in] offset System offset specifying the position of the system of -//! PDEs among other systems -//! \param[in] U Solution vector at recent time step -//! \return Vector of vectors to be output to file -// ***************************************************************************** -{ - // number of degree of freedom - const std::size_t rdof = - g_inputdeck.get< tag::discr, tag::rdof >(); - - auto nmat = - g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; - - std::vector< std::vector< tk::real > > out; - std::vector< std::vector< tk::real > > al, ar, ae; - - for (std::size_t k=0; k r( ru.size(), 0.0 ); - for (std::size_t i=0; i u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - - std::vector< tk::real > v = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - - std::vector< tk::real > w = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - - // bulk pressure - std::vector< tk::real > P( r.size(), 0.0 ); - for (std::size_t i=0; i( system, ar[k][i]/al[k][i], - u[i], v[i], w[i], - ae[k][i]/al[k][i], k ); - } - out.push_back( P ); - - // bulk total energy density - std::vector< tk::real > E( r.size(), 0.0 ); - for (std::size_t i=0; i MultiMatProblemSodShocktube::names( ncomp_t ) // ***************************************************************************** diff --git a/src/PDE/MultiMat/Problem/SodShocktube.hpp b/src/PDE/MultiMat/Problem/SodShocktube.hpp index e2c70faaa13..2d97c0eb4a0 100644 --- a/src/PDE/MultiMat/Problem/SodShocktube.hpp +++ b/src/PDE/MultiMat/Problem/SodShocktube.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem/SodShocktube.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for Sod's shock-tube \details This file defines a policy class for the multi-material @@ -16,7 +16,6 @@ #define MultiMatProblemSodShocktube_h #include -#include #include "Types.hpp" #include "Fields.hpp" @@ -39,35 +38,12 @@ class MultiMatProblemSodShocktube { //! Evaluate analytical solution at (x,y,0) for all components static tk::SolutionFn::result_type solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, - tk::real ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - static std::vector< tk::real > - solinc( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t, tk::real dt ); + tk::real, int& ); //! Compute and return source term for this problem - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ); - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - static void side( std::unordered_set< int >& conf ); - - //! Return field names to be output to file - static std::vector< std::string > fieldNames( ncomp_t ); - - //! Return field output going to file - static std::vector< std::vector< tk::real > > - fieldOutput( ncomp_t system, - ncomp_t /*ncomp*/, - ncomp_t offset, - tk::real, - tk::real /*V*/, - const std::vector< tk::real >& /*vol*/, - const std::array< std::vector< tk::real >, 3 >& /*coord*/, - tk::Fields& U ); + static tk::MultiMatSrcFn::result_type + src( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ) + { std::vector< tk::real > s( ncomp, 0.0 ); } //! Return names of integral variables to be output to diagnostics file static std::vector< std::string > names( ncomp_t ); diff --git a/src/PDE/MultiMat/Problem/TriplePoint.cpp b/src/PDE/MultiMat/Problem/TriplePoint.cpp new file mode 100644 index 00000000000..51aace618fc --- /dev/null +++ b/src/PDE/MultiMat/Problem/TriplePoint.cpp @@ -0,0 +1,120 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/TriplePoint.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "TriplePoint.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemTriplePoint; + +tk::SolutionFn::result_type +MultiMatProblemTriplePoint::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the triple point problem, +//! but does not actually give the analytical solution at time greater than 0. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 12, "Number of scalar components must be 12" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w, temp; + auto alphamin = 1.0e-12; + + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + + if (x<1.0) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + // pressure + p = 1.0; + // temperature + temp = 4.3554007e-4; + } + else { + if (y<1.5) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + // pressure + p = 0.1; + // temperature + temp = 3.4843206e-4; + } + else { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = 1.0-2.0*alphamin; + // pressure + p = 0.1; + // temperature + temp = 3.4843206e-4; + } + } + + for (std::size_t k=0; k( system, p, temp, k ); + // partial density + s[densityIdx(nmat, k)] = s[volfracIdx(nmat, k)]*r[k]; + // total specific energy + s[energyIdx(nmat, k)] = s[volfracIdx(nmat, k)]* + eos_totalenergy< eq >( system, r[k], u, v, w, p, k ); + } + + return s; +} + +std::vector< std::string > +MultiMatProblemTriplePoint::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/TriplePoint.hpp b/src/PDE/MultiMat/Problem/TriplePoint.hpp new file mode 100644 index 00000000000..35fb2ec2ef7 --- /dev/null +++ b/src/PDE/MultiMat/Problem/TriplePoint.hpp @@ -0,0 +1,59 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/TriplePoint.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for triple point + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemTriplePoint_h +#define MultiMatProblemTriplePoint_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Triple point problem +//! \see Galera, S., Maire, P. H., & Breil, J. (2010). A two-dimensional +//! unstructured cell-centered multi-material ALE scheme using VOF interface +//! reconstruction. Journal of Computational Physics, 229(16), 5755-5787. +class MultiMatProblemTriplePoint { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ) + { std::vector< tk::real > s( ncomp, 0.0 ); } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::TRIPLE_POINT; } +}; + +} // inciter:: + +#endif // MultiMatProblemTriplePoint_h diff --git a/src/PDE/MultiMat/Problem/UnderwaterEx.cpp b/src/PDE/MultiMat/Problem/UnderwaterEx.cpp new file mode 100644 index 00000000000..1256ff59fe8 --- /dev/null +++ b/src/PDE/MultiMat/Problem/UnderwaterEx.cpp @@ -0,0 +1,127 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/UnderwaterEx.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/DGMultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "UnderwaterEx.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemUnderwaterEx; + +tk::SolutionFn::result_type +MultiMatProblemUnderwaterEx::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real y, + tk::real z, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \param[in] y Y coordinate where to evaluate the solution +//! \param[in] z Z coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the underwater explosion problem, +//! but does not actually give the analytical solution at time greater than 0. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 12, "Number of scalar components must be 12" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w, temp; + auto alphamin = 1.0e-12; + + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + + // background state (air) + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = 1.0-2.0*alphamin; + // pressure + p = 1.01325e5; + // temperature + temp = 288.2; + + auto radb = std::sqrt((y-1.0)*(y-1.0) + x*x + z*z); + + // high-pressure gas bubble + if (radb <= 0.3) { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + // pressure + p = 1.0e9; + // temperature + temp = 2000.0; + } + // water level + else if (y <= 1.5) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-2.0*alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + s[volfracIdx(nmat, 2)] = alphamin; + // temperature + temp = 185.52; + } + + auto rb(0.0); + for (std::size_t k=0; k( system, p, temp, k ); + // partial density + s[densityIdx(nmat, k)] = s[volfracIdx(nmat, k)]*r[k]; + // total specific energy + s[energyIdx(nmat, k)] = s[volfracIdx(nmat, k)]* + eos_totalenergy< eq >( system, r[k], u, v, w, p, k ); + rb += s[densityIdx(nmat, k)]; + } + + s[momentumIdx(nmat, 0)] = rb * u; + s[momentumIdx(nmat, 1)] = rb * v; + s[momentumIdx(nmat, 2)] = rb * w; + + return s; +} + +std::vector< std::string > +MultiMatProblemUnderwaterEx::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/UnderwaterEx.hpp b/src/PDE/MultiMat/Problem/UnderwaterEx.hpp new file mode 100644 index 00000000000..70ef152aceb --- /dev/null +++ b/src/PDE/MultiMat/Problem/UnderwaterEx.hpp @@ -0,0 +1,60 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/UnderwaterEx.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for underwater explosion + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/DGMultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemUnderwaterEx_h +#define MultiMatProblemUnderwaterEx_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Underwater explosion problem +//! \see Chiapolino, A., Saurel, R., & Nkonga, B. (2017). Sharpening diffuse +//! interfaces with compressible fluids on unstructured meshes. Journal of +//! Computational Physics, 340, 389-417. +class MultiMatProblemUnderwaterEx { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, tk::real, tk::real, tk::real, tk::real, + tk::real& r, tk::real& ru, tk::real& rv, tk::real& rw, tk::real& re ) + { r = ru = rv = rw = re = 0.0; } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::UNDERWATER_EX; } +}; + +} // inciter:: + +#endif // MultiMatProblemUnderwaterEx_h diff --git a/src/PDE/MultiMat/Problem/UserDefined.hpp b/src/PDE/MultiMat/Problem/UserDefined.hpp index 772e7f4d74b..f3a9555b715 100644 --- a/src/PDE/MultiMat/Problem/UserDefined.hpp +++ b/src/PDE/MultiMat/Problem/UserDefined.hpp @@ -3,7 +3,7 @@ \file src/PDE/MultiMat/Problem/UserDefined.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for the multi-material compressible flow equations @@ -17,21 +17,23 @@ #define MultiMatProblemUserDefined_h #include -#include #include "Types.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" #include "FunctionPrototypes.hpp" #include "Inciter/Options/Problem.hpp" -#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" namespace inciter { +extern ctr::InputDeck g_inputdeck; + //! MultiMat system of PDEs problem: user defined class MultiMatProblemUserDefined { private: using ncomp_t = tk::ctr::ncomp_t; - using eq = tag::compflow; + using eq = tag::multimat; public: //! Evaluate initial condition solution at (x,y,z,t) for all components @@ -50,103 +52,19 @@ class MultiMatProblemUserDefined { [[maybe_unused]] tk::real x, [[maybe_unused]] tk::real y, [[maybe_unused]] tk::real z, - [[maybe_unused]] tk::real t ) + [[maybe_unused]] tk::real t, + int& ) { Assert( ncomp == ncomp, "Number of scalar components must be " + std::to_string(ncomp) ); return {{ 1.0, 0.0, 0.0, 1.0, 293.0 }}; } - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - //! \return Increment in values of all components: all zero for now - static std::array< tk::real, 5 > - solinc( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real, - tk::real ) - { - return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; - } - //! Compute and return source term for Rayleigh-Taylor manufactured solution //! \details No-op for user-deefined problems. - //! \return Array of reals containing the source for all components - //! \note The function signature must follow tk::SrcFn - static tk::SrcFn::result_type - src( ncomp_t, ncomp_t, tk::real, tk::real, tk::real, tk::real ) - { return {{ 0.0, 0.0, 0.0, 0.0, 0.0 }}; } - - //! Return field names to be output to file - //! \return Vector of strings labelling fields output in file - static std::vector< std::string > fieldNames( ncomp_t ) { - std::vector< std::string > n; - n.push_back( "density" ); - n.push_back( "x-velocity" ); - n.push_back( "y-velocity" ); - n.push_back( "z-velocity" ); - n.push_back( "specific total energy" ); - n.push_back( "pressure" ); - n.push_back( "temperature" ); - return n; - } - - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - //! \param[in,out] conf Set of unique side set IDs to add to - static void side( std::unordered_set< int >& conf ) { - using tag::param; using tag::compflow; using tag::bcdir; - for (const auto& s : g_inputdeck.get< param, compflow, bcdir >()) - conf.insert( std::stoi(s[0]) ); - } - - //! Return field output going to file - //! \param[in] offset System offset specifying the position of the system of - //! PDEs among other systems - //! \param[in] U Solution vector at recent time step - //! \return Vector of vectors to be output to file - static std::vector< std::vector< tk::real > > - fieldOutput( ncomp_t, - ncomp_t, - ncomp_t offset, - tk::real, - tk::real, - const std::vector< tk::real >&, - const std::array< std::vector< tk::real >, 3 >&, - tk::Fields& U ) - { - std::vector< std::vector< tk::real > > out; - const auto r = U.extract( 0, offset ); - const auto ru = U.extract( 1, offset ); - const auto rv = U.extract( 2, offset ); - const auto rw = U.extract( 3, offset ); - const auto re = U.extract( 4, offset ); - out.push_back( r ); - std::vector< tk::real > u = ru; - std::transform( r.begin(), r.end(), u.begin(), u.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( u ); - std::vector< tk::real > v = rv; - std::transform( r.begin(), r.end(), v.begin(), v.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( v ); - std::vector< tk::real > w = rw; - std::transform( r.begin(), r.end(), w.begin(), w.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( w ); - std::vector< tk::real > E = re; - std::transform( r.begin(), r.end(), E.begin(), E.begin(), - []( tk::real s, tk::real& d ){ return d /= s; } ); - out.push_back( E ); - std::vector< tk::real > p = r; - for (std::size_t i=0; i( 0, r[i], u[i], v[i], w[i], re[i], 0 ); - out.push_back( p ); - std::vector< tk::real > T = r; - tk::real cv = g_inputdeck.get< tag::param, tag::compflow, tag::cv >()[0][0]; - for (std::size_t i=0; i s( ncomp, 0.0 ); } //! Return names of integral variables to be output to diagnostics file //! \return Vector of strings labelling integral variables output diff --git a/src/PDE/MultiMat/Problem/WaterAirShocktube.cpp b/src/PDE/MultiMat/Problem/WaterAirShocktube.cpp new file mode 100644 index 00000000000..92f53edbd2b --- /dev/null +++ b/src/PDE/MultiMat/Problem/WaterAirShocktube.cpp @@ -0,0 +1,109 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/WaterAirShocktube.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for the multi-material flow equations + \details This file defines a Problem policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. See + PDE/MultiMat/Problem.hpp for general requirements on Problem policy classes + for MultiMat. +*/ +// ***************************************************************************** + +#include "WaterAirShocktube.hpp" +#include "Inciter/InputDeck/InputDeck.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +extern ctr::InputDeck g_inputdeck; + +} // ::inciter + +using inciter::MultiMatProblemWaterAirShocktube; + +tk::SolutionFn::result_type +MultiMatProblemWaterAirShocktube::solution( ncomp_t system, + ncomp_t ncomp, + tk::real x, + tk::real, + tk::real, + tk::real, + int& ) +// ***************************************************************************** +//! Evaluate analytical solution at (x,y,z,t) for all components +//! \param[in] system Equation system index, i.e., which multi-material +//! flow equation system we operate on among the systems of PDEs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] x X coordinate where to evaluate the solution +//! \return Values of all components evaluated at (x) +//! \note The function signature must follow tk::SolutionFn +//! \details This function only initializes the Water-Air shock tube problem, +//! but does not actually give the analytical solution at time greater than 0. +//! The analytical solution would require an exact Riemann solver for +//! stiffened gas EoS, which has not been implemented yet. +// ***************************************************************************** +{ + // see also Control/Inciter/InputDeck/Grammar.hpp + Assert( ncomp == 9, "Number of scalar components must be 9" ); + + auto nmat = + g_inputdeck.get< tag::param, eq, tag::nmat >()[system]; + + std::vector< tk::real > s(ncomp, 0.0), r(nmat, 0.0); + tk::real p, u, v, w; + auto alphamin = 1.0e-12; + + if (x<0.75) { + // volume-fraction + s[volfracIdx(nmat, 0)] = 1.0-alphamin; + s[volfracIdx(nmat, 1)] = alphamin; + // pressure + p = 1.0e9; + // densities + for (std::size_t k=0; k( system, p, 494.646, k ); + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + } + else { + // volume-fraction + s[volfracIdx(nmat, 0)] = alphamin; + s[volfracIdx(nmat, 1)] = 1.0-alphamin; + // pressure + p = 1.0e5; + // densities + for (std::size_t k=0; k( system, p, 34.844, k ); + // velocity + u = 0.0; + v = 0.0; + w = 0.0; + } + for (std::size_t k=0; k( system, r[k], u, v, w, p, k ); + } + + return s; +} + +std::vector< std::string > +MultiMatProblemWaterAirShocktube::names( ncomp_t ) +// ***************************************************************************** +// Return names of integral variables to be output to diagnostics file +//! \return Vector of strings labelling integral variables output +// ***************************************************************************** +{ + return { "r", "ru", "rv", "rw", "re" }; +} diff --git a/src/PDE/MultiMat/Problem/WaterAirShocktube.hpp b/src/PDE/MultiMat/Problem/WaterAirShocktube.hpp new file mode 100644 index 00000000000..92d4b1e7155 --- /dev/null +++ b/src/PDE/MultiMat/Problem/WaterAirShocktube.hpp @@ -0,0 +1,59 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/Problem/WaterAirShocktube.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Problem configuration for Water-Air shock-tube + \details This file defines a policy class for the multi-material + compressible flow equations, defined in PDE/MultiMat/MultiMat.hpp. + See PDE/MultiMat/Problem.hpp for general requirements on Problem policy + classes for MultiMat. +*/ +// ***************************************************************************** +#ifndef MultiMatProblemWaterAirShocktube_h +#define MultiMatProblemWaterAirShocktube_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FunctionPrototypes.hpp" +#include "SystemComponents.hpp" +#include "Inciter/Options/Problem.hpp" + +namespace inciter { + +//! MultiMat system of PDEs problem: Water-Air shock-tube +//! \see Chiapolino, A., Saurel, R., & Nkonga, B. (2017). Sharpening diffuse +//! interfaces with compressible fluids on unstructured meshes. Journal of +//! Computational Physics, 340, 389-417. +class MultiMatProblemWaterAirShocktube { + + protected: + using ncomp_t = tk::ctr::ncomp_t; + using eq = tag::multimat; + + public: + //! Evaluate analytical solution at (x,y,0) for all components + static tk::SolutionFn::result_type + solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, + tk::real, int& ); + + //! Compute and return source term for this problem + static tk::MultiMatSrcFn::result_type + src( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real ) + { std::vector< tk::real > s( ncomp, 0.0 ); } + + //! Return names of integral variables to be output to diagnostics file + static std::vector< std::string > names( ncomp_t ); + + //! Return problem type + static ctr::ProblemType type() noexcept + { return ctr::ProblemType::WATERAIR_SHOCKTUBE; } +}; + +} // inciter:: + +#endif // MultiMatProblemWaterAirShocktube_h diff --git a/src/PDE/MultiMat/RiemannFactory.cpp b/src/PDE/MultiMat/RiemannFactory.cpp new file mode 100644 index 00000000000..fa346dfffca --- /dev/null +++ b/src/PDE/MultiMat/RiemannFactory.cpp @@ -0,0 +1,34 @@ +// ***************************************************************************** +/*! + \file src/PDE/MultiMat/RiemannFactory.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Register available Riemann solvers for multimaterial compressible + hydrodynamics into a factory + \details Register available Riemann solvers for multimaterial compressible + hydrodynamics into a factory. +*/ +// ***************************************************************************** + +#include +#include + +#include "RiemannFactory.hpp" +#include "Riemann/HLL.hpp" +#include "Riemann/AUSM.hpp" + +inciter::MultiMatRiemannFactory +inciter::multimatRiemannSolvers() +// ***************************************************************************** +// \brief Register available Riemann solvers for multimaterial compressible +// hydrodynamics into a factory +//! \return Riemann solver factory +// ***************************************************************************** +{ + using RiemannSolverList = brigand::list< AUSM, HLL >; + MultiMatRiemannFactory r; + brigand::for_each< RiemannSolverList >( registerRiemannSolver( r ) ); + return r; +} diff --git a/src/PDE/Integrate/Riemann/RiemannFactory.hpp b/src/PDE/MultiMat/RiemannFactory.hpp similarity index 79% rename from src/PDE/Integrate/Riemann/RiemannFactory.hpp rename to src/PDE/MultiMat/RiemannFactory.hpp index 3b98ee16c15..40525ec0827 100644 --- a/src/PDE/Integrate/Riemann/RiemannFactory.hpp +++ b/src/PDE/MultiMat/RiemannFactory.hpp @@ -1,12 +1,14 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/RiemannFactory.hpp + \file src/PDE/MultiMat/RiemannFactory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Register available Riemann solvers into a factory - \details Register available Riemann solvers into a factory. + \brief Register available Riemann solvers for multimaterial compressible + hydrodynamics into a factory + \details Register available Riemann solvers for multimaterial compressible + hydrodynamics into a factory. */ // ***************************************************************************** #ifndef RiemannSolverFactory_h @@ -17,7 +19,7 @@ #include "NoWarning/value_factory.hpp" -#include "RiemannSolver.hpp" +#include "Riemann/RiemannSolver.hpp" #include "Inciter/Options/Flux.hpp" namespace inciter { @@ -31,16 +33,16 @@ namespace inciter { //! object stored in std::function is a generic (base) class constructor, //! which provides a polymorphyic interface (overridable functions) that //! specific (child) Riemann solvers override, yielding runtime polymorphism. -using RiemannFactory = +using MultiMatRiemannFactory = std::map< ctr::FluxType, std::function< RiemannSolver() > >; //! Functor to register a Riemann solver into the Riemann solver factory struct registerRiemannSolver { //! Factory to which to register the Riemann solver - RiemannFactory& factory; + MultiMatRiemannFactory& factory; //! Constructor //! \param[in] f Factory - explicit registerRiemannSolver( RiemannFactory& f ) : factory( f ) {} + explicit registerRiemannSolver( MultiMatRiemannFactory& f ) : factory( f ) {} //! \brief Function call operator templated on the type that implements //! a specific Riemann solver template< typename U > void operator()( brigand::type_ ) { @@ -56,7 +58,7 @@ struct registerRiemannSolver { }; //! Register available Riemann solvers into a factory -RiemannFactory RiemannSolvers(); +MultiMatRiemannFactory multimatRiemannSolvers(); } // inciter:: diff --git a/src/PDE/PDEFactory.hpp b/src/PDE/PDEFactory.hpp index 6ecfe97d1eb..95ded3cc86e 100644 --- a/src/PDE/PDEFactory.hpp +++ b/src/PDE/PDEFactory.hpp @@ -3,7 +3,7 @@ \file src/PDE/PDEFactory.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Differential equations factory \details This file declares the type for a differential equations factory. @@ -15,8 +15,6 @@ #include #include -#include - #include "CGPDE.hpp" #include "DGPDE.hpp" #include "Factory.hpp" @@ -107,18 +105,6 @@ struct registerDG : registerPDE< Eq, DGFactory, DGPDE > { registerPDE< Eq, DGFactory, DGPDE >( f, t, eqtypes ) {} }; -//! \brief Convert and return values from vector as string -//! \param[in] v Vector whose components to return as a string -//! \return Concatenated string of values read from a vector -template< typename V > -std::string parameters( const V& v ) { - std::stringstream s; - s << "{ "; - for (auto p : v) s << p << ' '; - s << "}"; - return s.str(); -} - } // inciter:: #endif // PDEFactory_h diff --git a/src/PDE/PDEStack.cpp b/src/PDE/PDEStack.cpp index ee2430e48ed..82026e3c8f3 100644 --- a/src/PDE/PDEStack.cpp +++ b/src/PDE/PDEStack.cpp @@ -3,7 +3,7 @@ \file src/PDE/PDEStack.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of partial differential equations \details This file defines class PDEStack, which implements various diff --git a/src/PDE/PDEStack.hpp b/src/PDE/PDEStack.hpp index 0525e7e9bfc..937f4758af1 100644 --- a/src/PDE/PDEStack.hpp +++ b/src/PDE/PDEStack.hpp @@ -3,7 +3,7 @@ \file src/PDE/PDEStack.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of differential equations \details This file declares class PDEStack, which implements various diff --git a/src/PDE/PrefIndicator.cpp b/src/PDE/PrefIndicator.cpp new file mode 100644 index 00000000000..c95620a55a7 --- /dev/null +++ b/src/PDE/PrefIndicator.cpp @@ -0,0 +1,345 @@ +// ***************************************************************************** +/*! + \file src/PDE/PrefIndicator.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Adaptive indicators for p-adaptive discontiunous Galerkin methods + \details This file contains functions that provide adaptive indicator + function calculations for marking the number of degree of freedom of each + element. +*/ +// ***************************************************************************** + +#include "PrefIndicator.hpp" + +#include "Tags.hpp" +#include "Vector.hpp" +#include "Integrate/Basis.hpp" +#include "Integrate/Quadrature.hpp" + +namespace inciter { + +static +void spectral_decay( std::size_t nunk, + const std::vector< int >& esuel, + const tk::Fields& unk, + std::size_t ndof, + std::size_t ndofmax, + tk::real tolref, + std::vector< std::size_t >& ndofel ) +// ***************************************************************************** +//! Evaluate the spectral-decay indicator and mark the ndof for each element +//! \param[in] nunk Number of unknowns +//! \param[in] esuel Elements surrounding elements +//! \param[in] unk Array of unknowns +//! \param[in] ndof Number of degrees of freedom in the solution +//! \param[in] ndofmax Max number of degrees of freedom for p-refinement +//! \param[in] tolref Tolerance for p-refinement +//! \param[in,out] ndofel Vector of local number of degrees of freedome +//! \details The spectral decay indicator, implemented in this functiopn, +//! calculates the difference between the projections of the numerical +//! solutions on finite element space of order p and p-1. +//! \see F. Naddei, et. al., "A comparison of refinement indicators for the +//! p-adaptive simulation of steady and unsteady flows with discontinuous +//! Galerkin methods" at https://doi.org/10.1016/j.jcp.2018.09.045, and G. +//! Gassner, et al., "Explicit discontinuous Galerkin schemes with adaptation +//! in space and time" +// ***************************************************************************** +{ + const auto ncomp = unk.nprop() / ndof; + + // The array storing the adaptive indicator for each elements + std::vector< tk::real > Ind(nunk, 0); + + for (std::size_t e=0; e 1) + { + auto ng = tk::NGvol(ndofel[e]); + + // arrays for quadrature points + std::array< std::vector< tk::real >, 3 > coordgp; + std::vector< tk::real > wgp; + + coordgp[0].resize( ng ); + coordgp[1].resize( ng ); + coordgp[2].resize( ng ); + wgp.resize( ng ); + + tk::GaussQuadratureTet( ng, coordgp, wgp ); + + tk::real dU(0), U(0); + + // Gaussian quadrature + for (std::size_t igp=0; igp 4) + { + auto dU_p2 = unk(e, 4, 0) * B[4] + + unk(e, 5, 0) * B[5] + + unk(e, 6, 0) * B[6] + + unk(e, 7, 0) * B[7] + + unk(e, 8, 0) * B[8] + + unk(e, 9, 0) * B[9]; + + dU += wgp[igp] * dU_p2 * dU_p2; + } + else + { + auto dU_p1 = unk(e, 1, 0) * B[1] + + unk(e, 2, 0) * B[2] + + unk(e, 3, 0) * B[3]; + + dU += wgp[igp] * dU_p1 * dU_p1; + } + } + + Ind[e] = log10( dU / U ); + } + } + + // As for spectral-decay indicator, rho_p - rho_(p-1) actually is the leading + // term of discretization error for the numerical solution of p-1. Therefore, + // this function represents the qualitative behavior of the discretization + // error. If the value is less than epsL which means the discretization error + // is already a really small number, then the element should be de-refined. On + // the other hand, if the value is larger than epsH which means the + // discretization error is relatively large, then it should be refined. + + // Note: Spectral-decay indicator is a measurement of the continuity of the + // numerical solution inside this element. So when this indicator appears + // to be relatively large, there might be a shock inside this element and a + // derefinement or h-refinement should be applied. This condition will be + // implemented later. + + // As for the discretiazation-error based indicator, like spectral-decay + // indicator, the choices for epsH and epsL are based on the data from + // numerical experiments. Empirically, we found that when the epsH belongs + // to [-4, -8] and epsL belongs to [-6, -14], decent results could be + // observed. And then a linear projection is performed to map epsL and espH + // to the range of [0, 1] so that it could be controlled by tolref. + + auto epsH = -4 - tolref * 4.0; + auto epsL = -6 - tolref * 8.0; + + // Marke the ndof according to the adaptive indicator + for (std::size_t e=0; e epsH) // Refinement + { + if(ndofel[e] == 4 && ndofmax > 4) + ndofel[e] = 10; + } + } +} + +static +void non_conformity( std::size_t nunk, + std::size_t Nbfac, + const std::vector< std::size_t >& inpoel, + const tk::UnsMesh::Coords& coord, + const std::vector< int >& esuel, + const std::vector< int >& esuf, + const std::vector< std::size_t >& inpofa, + const tk::Fields& unk, + std::size_t ndof, + std::size_t ndofmax, + std::vector< std::size_t >& ndofel ) +// ***************************************************************************** +//! Evaluate the non-conformity indicator and mark the ndof for each element +//! \param[in] nunk Number of unknowns +//! \param[in] Nbfac Number of internal faces +//! \param[in] inpoel Element-node connectivity +//! \param[in] coord Array of nodal coordinates +//! \param[in] esuel Elements surrounding elements +//! \param[in] inpofa Face-node connectivity +//! \param[in] unk Array of unknowns +//! \param[in] ndof Number of degrees of freedom in the solution +//! \param[in] ndofmax Max number of degrees of freedom for p-refinement +//! \param[in,out] ndofel Vector of local number of degrees of freedome +//! \details The non-conformity indicator, this function implements, evaluates +//! the jump in the numerical solutions as a measure of the numerical error. +//! \see F. Naddei, et. al., "A comparison of refinement indicators for the +//! p-adaptive simulation of steady and unsteady flows with discontinuous +//! Galerkin methods at https://doi.org/10.1016/j.jcp.2018.09.045. +//! \warning This indicator can only be applied in serial, i.e., single CPU, for +//! now because the solution communication happens before eval_ndof() in DG, +//! which will lead to incorrect evaluation of the numerical solution at the +//! neighboring cells. +// ***************************************************************************** +{ + const auto ncomp = unk.nprop() / ndof; + + const auto& cx = coord[0]; + const auto& cy = coord[1]; + const auto& cz = coord[2]; + + // The array storing the adaptive indicator for each elements + std::vector< tk::real > Ind(nunk, 0); + + // compute error indicator for each face + for (auto f=Nbfac; f -1 && esuf[2*f+1] > -1, "Interior element detected " + "as -1" ); + + std::size_t el = static_cast< std::size_t >(esuf[2*f]); + std::size_t er = static_cast< std::size_t >(esuf[2*f+1]); + + auto ng_l = tk::NGfa(ndofel[el]); + auto ng_r = tk::NGfa(ndofel[er]); + + // When the number of gauss points for the left and right element are + // different, choose the larger ng + auto ng = std::max( ng_l, ng_r ); + + // arrays for quadrature points + std::array< std::vector< tk::real >, 2 > coordgp; + std::vector< tk::real > wgp; + + coordgp[0].resize( ng ); + coordgp[1].resize( ng ); + wgp.resize( ng ); + + // get quadrature point weights and coordinates for triangle + tk::GaussQuadratureTri( ng, coordgp, wgp ); + + // Extract the element coordinates + std::array< std::array< tk::real, 3>, 4 > coordel_l {{ + {{ cx[ inpoel[4*el ] ], cy[ inpoel[4*el ] ], cz[ inpoel[4*el ] ] }}, + {{ cx[ inpoel[4*el+1] ], cy[ inpoel[4*el+1] ], cz[ inpoel[4*el+1] ] }}, + {{ cx[ inpoel[4*el+2] ], cy[ inpoel[4*el+2] ], cz[ inpoel[4*el+2] ] }}, + {{ cx[ inpoel[4*el+3] ], cy[ inpoel[4*el+3] ], cz[ inpoel[4*el+3] ] }} }}; + + std::array< std::array< tk::real, 3>, 4 > coordel_r {{ + {{ cx[ inpoel[4*er ] ], cy[ inpoel[4*er ] ], cz[ inpoel[4*er ] ] }}, + {{ cx[ inpoel[4*er+1] ], cy[ inpoel[4*er+1] ], cz[ inpoel[4*er+1] ] }}, + {{ cx[ inpoel[4*er+2] ], cy[ inpoel[4*er+2] ], cz[ inpoel[4*er+2] ] }}, + {{ cx[ inpoel[4*er+3] ], cy[ inpoel[4*er+3] ], cz[ inpoel[4*er+3] ] }} }}; + + // Compute the determinant of Jacobian matrix + auto detT_l = + tk::Jacobian( coordel_l[0], coordel_l[1], coordel_l[2], coordel_l[3] ); + auto detT_r = + tk::Jacobian( coordel_r[0], coordel_r[1], coordel_r[2], coordel_r[3] ); + + // Extract the face coordinates + std::array< std::array< tk::real, 3>, 3 > coordfa {{ + {{ cx[ inpofa[3*f ] ], cy[ inpofa[3*f ] ], cz[ inpofa[3*f ] ] }}, + {{ cx[ inpofa[3*f+1] ], cy[ inpofa[3*f+1] ], cz[ inpofa[3*f+1] ] }}, + {{ cx[ inpofa[3*f+2] ], cy[ inpofa[3*f+2] ], cz[ inpofa[3*f+2] ] }} }}; + + // Gaussian quadrature + for (std::size_t igp=0; igp, 2 > state; + + state[0] = tk::eval_state( ncomp, 0, ndof, ndofel[el], el, unk, B_l ); + state[1] = tk::eval_state( ncomp, 0, ndof, ndofel[er], er, unk, B_r ); + + Assert( unk[0].size() == ncomp, "Size mismatch" ); + Assert( unk[1].size() == ncomp, "Size mismatch" ); + + auto rhoL = state[0][0]; + auto rhoR = state[1][0]; + + auto ind = fabs( rhoL - rhoR ) / 2.0 * ( rhoL + rhoR ); + Ind[el] = std::max( ind, Ind[el] ); + Ind[er] = std::max( ind, Ind[er] ); + } + } + + // By assuming a smooth solution, we use the non-conformity indicator to + // represent the error for the numerical solution qualitatively. If the value + // is less than epsL which means the error is already a really small number, + // then the element should be de-refined. On the other hand, if the value is + // larger than epsH which means the error is relatively large, then it should + // be refined. + + // Marke the ndof according to the adaptive indicator + for (std::size_t e=0; e 1e-3) // Refinement + { + if(ndofel[e] == 4 && ndofmax > 4) + ndofel[e] = 10; + else if(ndofel[e] == 1) + ndofel[e] = 4; + } + } +} + +void eval_ndof( std::size_t nunk, + const tk::UnsMesh::Coords& coord, + const std::vector< std::size_t >& inpoel, + const inciter::FaceData& fd, + const tk::Fields& unk, + inciter::ctr::PrefIndicatorType indicator, + std::size_t ndof, + std::size_t ndofmax, + tk::real tolref, + std::vector< std::size_t >& ndofel ) +// ***************************************************************************** +//! Evaluate the adaptive indicator and mark the ndof for each element +//! \param[in] nunk Number of unknowns +//! \param[in] coord Array of nodal coordinates +//! \param[in] inpoel Element-node connectivity +//! \param[in] fd Face connectivity and boundary conditions object +//! \param[in] unk Array of unknowns +//! \param[in] indicator p-refinement indicator type +//! \param[in] ndof Number of degrees of freedom in the solution +//! \param[in] ndofmax Max number of degrees of freedom for p-refinement +//! \param[in] tolref Tolerance for p-refinement +//! \param[in,out] ndofel Vector of local number of degrees of freedome +// ***************************************************************************** +{ + const auto& esuel = fd.Esuel(); + + if(indicator == inciter::ctr::PrefIndicatorType::SPECTRAL_DECAY) + spectral_decay( nunk, esuel, unk, ndof, ndofmax, tolref, ndofel ); + else if(indicator == inciter::ctr::PrefIndicatorType::NON_CONFORMITY) + non_conformity( nunk, fd.Nbfac(), inpoel, coord, esuel, fd.Esuf(), + fd.Inpofa(), unk, ndof, ndofmax, ndofel ); + else + Throw( "No such adaptive indicator type" ); +} + +} +// inciter:: diff --git a/src/PDE/PrefIndicator.hpp b/src/PDE/PrefIndicator.hpp new file mode 100644 index 00000000000..3cc931fce14 --- /dev/null +++ b/src/PDE/PrefIndicator.hpp @@ -0,0 +1,43 @@ +// ***************************************************************************** +/*! + \file src/PDE/Indicator.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019-2020 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Adaptive indicators for p-adaptive discontiunous Galerkin methods + \details This file contains functions that provide adaptive indicator + function calculations for marking the number of degree of freedom of each + element. +*/ +// ***************************************************************************** +#ifndef Indicator_h +#define Indicator_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "FaceData.hpp" +#include "UnsMesh.hpp" +#include "Inciter/Options/PrefIndicator.hpp" + +namespace inciter { + +using ncomp_t = kw::ncomp::info::expect::type; + +//! Evaluate the adaptive indicator and mark the ndof for each element +void eval_ndof( std::size_t nunk, + const tk::UnsMesh::Coords& coord, + const std::vector< std::size_t >& inpoel, + const inciter::FaceData& fd, + const tk::Fields& unk, + inciter::ctr::PrefIndicatorType indicator, + std::size_t ndof, + std::size_t ndofmax, + tk::real tolref, + std::vector< std::size_t >& ndofel ); + +} // inciter:: + +#endif // Indicator_h diff --git a/src/PDE/Reconstruction.cpp b/src/PDE/Reconstruction.cpp index fc66aa87422..2a8371fd5df 100644 --- a/src/PDE/Reconstruction.cpp +++ b/src/PDE/Reconstruction.cpp @@ -3,7 +3,7 @@ \file src/PDE/Reconstruction.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Reconstruction for reconstructed discontinuous Galerkin methods \details This file contains functions that reconstruct an "n"th order @@ -14,9 +14,93 @@ #include #include +#include #include "Vector.hpp" +#include "Base/HashMapReducer.hpp" #include "Reconstruction.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +void +tk::lhsLeastSq_P0P1( const inciter::FaceData& fd, + const Fields& geoElem, + const Fields& geoFace, + std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls ) +// ***************************************************************************** +// Compute lhs matrix for the least-squares reconstruction +//! \param[in] fd Face connectivity and boundary conditions object +//! \param[in] geoElem Element geometry array +//! \param[in] geoFace Face geometry array +//! \param[in,out] lhs_ls LHS reconstruction matrix +//! \details This function computing the lhs matrix for reconstruction, is +//! common for primitive and conserved quantities. +// ***************************************************************************** +{ + const auto& esuf = fd.Esuf(); + const auto nelem = fd.Esuel().size()/4; + + // Compute internal and boundary face contributions + for (std::size_t f=0; f -1, "Left-side element detected as -1" ); + + auto el = static_cast< std::size_t >(esuf[2*f]); + auto er = esuf[2*f+1]; + + std::array< real, 3 > geoElemR; + std::size_t eR(0); + + // A second-order (piecewise linear) solution polynomial can be obtained + // from the first-order (piecewise constant) FV solutions by using a + // least-squares (LS) reconstruction process. LS uses the first-order + // solutions from the cell being processed, and the cells surrounding it. + // The LS system is obtaining by requiring the following to hold: + // 'Taylor expansions of solution from cell-i to the centroids of each of + // its neighboring cells should be equal to the cell average solution on + // that neighbor cell.' + // This gives a system of equations for the three second-order DOFs that are + // to be determined. In 3D tetrahedral meshes, this would give four + // equations (one for each neighbor )for the three unknown DOFs. This + // overdetermined system is solved in the least-squares sense using the + // normal equations approach. The normal equations approach involves + // pre-multiplying the overdetermined system by the transpose of the system + // matrix to obtain a square matrix (3x3 in this case). + + // get a 3x3 system by applying the normal equation approach to the + // least-squares overdetermined system + + if (er > -1) { + // internal face contribution + eR = static_cast< std::size_t >(er); + // Put in cell-centroid coordinates + geoElemR = {{ geoElem(eR,1,0), geoElem(eR,2,0), geoElem(eR,3,0) }}; + } + else { + // boundary face contribution + // Put in face-centroid coordinates + geoElemR = {{ geoFace(f,4,0), geoFace(f,5,0), geoFace(f,6,0) }}; + } + + std::array< real, 3 > wdeltax{{ geoElemR[0]-geoElem(el,1,0), + geoElemR[1]-geoElem(el,2,0), + geoElemR[2]-geoElem(el,3,0) }}; + + // define a lambda for contributing to lhs matrix + auto lhs = [&]( std::size_t e ){ + for (std::size_t idir=0; idir<3; ++idir) + for (std::size_t jdir=0; jdir<3; ++jdir) + lhs_ls[e][idir][jdir] += wdeltax[idir] * wdeltax[jdir]; + }; + + // always add left element contribution (at a boundary face, the internal + // element is always the left element) + lhs(el); + // add right element contribution for internal faces only + if (er > -1) + if (eR < nelem) lhs(eR); + + } +} void tk::intLeastSq_P0P1( ncomp_t ncomp, @@ -24,22 +108,27 @@ tk::intLeastSq_P0P1( ncomp_t ncomp, const std::size_t rdof, const inciter::FaceData& fd, const Fields& geoElem, - const Fields& U, - std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls, + const Fields& W, std::vector< std::vector< std::array< real, 3 > > >& rhs_ls ) // ***************************************************************************** -// Compute internal surface contributions to the least-squares reconstruction +// \brief Compute internal surface contributions to rhs vector of the +// least-squares reconstruction //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] rdof Maximum number of reconstructed degrees of freedom //! \param[in] fd Face connectivity and boundary conditions object //! \param[in] geoElem Element geometry array -//! \param[in] U Solution vector at recent time step -//! \param[in,out] lhs_ls LHS reconstruction matrix +//! \param[in] W Solution vector to be reconstructed at recent time step //! \param[in,out] rhs_ls RHS reconstruction vector +//! \details This function computing the internal face contributions to the rhs +//! vector for reconstruction, is common for primitive and conserved +//! quantities. If `W` == `U`, compute internal face contributions for the +//! conserved variables. If `W` == `P`, compute internal face contributions +//! for the primitive variables. // ***************************************************************************** { const auto& esuf = fd.Esuf(); + const auto nelem = fd.Esuel().size()/4; // Compute internal face contributions for (auto f=fd.Nbfac(); f wdeltax{{ geoElem(er,1,0)-geoElem(el,1,0), geoElem(er,2,0)-geoElem(el,2,0), geoElem(er,3,0)-geoElem(el,3,0) }}; @@ -63,38 +155,33 @@ tk::intLeastSq_P0P1( ncomp_t ncomp, { auto mark = c*rdof; rhs_ls[el][c][idir] += - wdeltax[idir] * (U(er,mark,offset)-U(el,mark,offset)); - rhs_ls[er][c][idir] += - wdeltax[idir] * (U(er,mark,offset)-U(el,mark,offset)); - } - - // lhs matrix - for (std::size_t jdir=0; jdir<3; ++jdir) - { - lhs_ls[el][idir][jdir] += wdeltax[idir] * wdeltax[jdir]; - lhs_ls[er][idir][jdir] += wdeltax[idir] * wdeltax[jdir]; + wdeltax[idir] * (W(er,mark,offset)-W(el,mark,offset)); + if (er < nelem) + rhs_ls[er][c][idir] += + wdeltax[idir] * (W(er,mark,offset)-W(el,mark,offset)); } } } } void -tk::bndLeastSq_P0P1( ncomp_t system, - ncomp_t ncomp, - ncomp_t offset, - std::size_t rdof, - const std::vector< bcconf_t >& bcconfig, - const inciter::FaceData& fd, - const Fields& geoFace, - const Fields& geoElem, - real t, - const StateFn& state, - const Fields& U, - std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls, - std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, - std::size_t nprim ) +tk::bndLeastSqConservedVar_P0P1( ncomp_t system, + ncomp_t ncomp, + ncomp_t offset, + std::size_t rdof, + const std::vector< bcconf_t >& bcconfig, + const inciter::FaceData& fd, + const Fields& geoFace, + const Fields& geoElem, + real t, + const StateFn& state, + const Fields& P, + const Fields& U, + std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, + std::size_t nprim ) // ***************************************************************************** -// Compute boundary face contributions to the least-squares reconstruction +// \brief Compute boundary surface contributions to rhs vector of the +// least-squares reconstruction of conserved quantities of the PDE system //! \param[in] system Equation system index //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from @@ -106,12 +193,17 @@ tk::bndLeastSq_P0P1( ncomp_t system, //! \param[in] t Physical time //! \param[in] state Function to evaluate the left and right solution state at //! boundaries -//! \param[in] U Solution vector at recent time step -//! \param[in,out] lhs_ls LHS reconstruction matrix +//! \param[in] P Primitive vector to be reconstructed at recent time step +//! \param[in] U Solution vector to be reconstructed at recent time step //! \param[in,out] rhs_ls RHS reconstruction vector -//! \param[in] nprim Number of primitive quantities stored for this PDE system. +//! \param[in] nprim This is the number of primitive quantities stored for this +//! PDE system. This is necessary to extend the state vector to the right +//! size, so that correct boundary conditions are obtained. //! A default is set to 0, so that calling code for systems that do not store //! primitive quantities does not need to specify this argument. +//! \details This function computing the boundary face contributions to the rhs +//! vector for reconstruction, is specialized for conserved quantities. Also +//! see the version for primitve quantities bndLeastSqPrimitiveVar_P0P1(). // ***************************************************************************** { const auto& bface = fd.Bface(); @@ -130,20 +222,20 @@ tk::bndLeastSq_P0P1( ncomp_t system, // arrays for quadrature points std::array< real, 3 > - fc{{ geoFace(f,4,0), geoFace(f,5,0), geoFace(f,6,0) }}; + fc{{ geoFace(f,4,0), geoFace(f,5,0), geoFace(f,6,0) }}; std::array< real, 3 > fn{{ geoFace(f,1,0), geoFace(f,2,0), geoFace(f,3,0) }}; // Compute the state variables at the left element std::vector< real >B(1,1.0); auto ul = eval_state( ncomp, offset, rdof, 1, el, U, B ); - std::vector< real >fvel(nprim,0.0); + auto uprim = eval_state( nprim, offset, rdof, 1, el, P, B ); // consolidate primitives into state vector - ul.insert(ul.end(), fvel.begin(), fvel.end()); + ul.insert(ul.end(), uprim.begin(), uprim.end()); - Assert( ul.size() == ncomp+fvel.size(), "Incorrect size for " - "appended boundary state vector" ); + Assert( ul.size() == ncomp+nprim, "Incorrect size for " + "appended state vector" ); // Compute the state at the face-center using BC auto ustate = state( system, ncomp, ul, fc[0], fc[1], fc[2], t, fn ); @@ -155,13 +247,106 @@ tk::bndLeastSq_P0P1( ncomp_t system, for (std::size_t idir=0; idir<3; ++idir) { // rhs vector - for (ncomp_t c=0; c& bcconfig, + const inciter::FaceData& fd, + const Fields& geoFace, + const Fields& geoElem, + real t, + const StateFn& state, + const Fields& P, + const Fields& U, + std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, + std::size_t ncomp ) +// ***************************************************************************** +// \brief Compute boundary surface contributions to rhs vector of the +// least-squares reconstruction of primitive quantities of the PDE system +//! \param[in] system Equation system index +//! \param[in] nprim Number of primitive quantities stored for this PDE system +//! \param[in] offset Offset this PDE system operates from +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] bcconfig BC configuration vector for multiple side sets +//! \param[in] fd Face connectivity and boundary conditions object +//! \param[in] geoFace Face geometry array +//! \param[in] geoElem Element geometry array +//! \param[in] t Physical time +//! \param[in] state Function to evaluate the left and right solution state at +//! boundaries +//! \param[in] P Primitive vector to be reconstructed at recent time step +//! \param[in] U Conserved vector at recent time step +//! \param[in,out] rhs_ls RHS reconstruction vector +//! \param[in] ncomp This is the number of conserved quantities stored for this +//! system. This is necessary to extend the state vector to the right size, +//! so that correct boundary conditions are obtained. +//! \details Since this function computes rhs contributions of boundary faces +//! for the reconstruction of primitive quantities only, it should not be +//! called for systems of PDEs that do not store primitive quantities. Also +//! see the version for conserved quantities bndLeastSqConservedVar_P0P1(). +// ***************************************************************************** +{ + const auto& bface = fd.Bface(); + const auto& esuf = fd.Esuf(); + + Assert( nprim != 0, "Primitive variables reconstruction should not be called " + "for PDE systems not storing primitive quantities"); + + for (const auto& s : bcconfig) { // for all bc sidesets + auto bc = bface.find( std::stoi(s) );// faces for side set + if (bc != end(bface)) + { + // Compute boundary face contributions + for (const auto& f : bc->second) + { + Assert( esuf[2*f+1] == -1, "physical boundary element not -1" ); + + std::size_t el = static_cast< std::size_t >(esuf[2*f]); + + // arrays for quadrature points + std::array< real, 3 > + fc{{ geoFace(f,4,0), geoFace(f,5,0), geoFace(f,6,0) }}; + std::array< real, 3 > + fn{{ geoFace(f,1,0), geoFace(f,2,0), geoFace(f,3,0) }}; + + // Compute the state variables at the left element + std::vector< real >B(1,1.0); + auto ul = eval_state( nprim, offset, rdof, 1, el, P, B ); + auto ucons = eval_state(ncomp, offset, rdof, 1, el, U, B ); + + // consolidate conserved quantities into state vector + tk::concat< tk::real >(std::move(ul), ucons); + + Assert( ucons.size() == ncomp+nprim, "Incorrect size for " + "appended state vector" ); + + // Compute the state at the face-center using BC + auto ustate = state( system, ncomp, ucons, fc[0], fc[1], fc[2], t, fn ); + + std::array< real, 3 > wdeltax{{ fc[0]-geoElem(el,1,0), + fc[1]-geoElem(el,2,0), + fc[2]-geoElem(el,3,0) }}; + + for (std::size_t idir=0; idir<3; ++idir) + { + // rhs vector + for (ncomp_t c=0; c, 3 > >& lhs, const std::vector< std::vector< std::array< real, 3 > > >& rhs, - Fields& U ) + Fields& W ) // ***************************************************************************** -// Solve 3x3 system for least-squares reconstruction +// Solve the 3x3 linear system for least-squares reconstruction //! \param[in] ncomp Number of scalar components in this PDE system //! \param[in] offset Offset this PDE system operates from //! \param[in] rdof Maximum number of reconstructed degrees of freedom //! \param[in] lhs LHS reconstruction matrix //! \param[in] rhs RHS reconstruction vector -//! \param[in,out] U Solution vector at recent time step +//! \param[in,out] W Solution vector to be reconstructed at recent time step +//! \details Solves the 3x3 linear system for each element, individually. For +//! systems that require reconstructions of primitive quantities, this should +//! be called twice, once with the argument 'W' as U (conserved), and again +//! with 'W' as P (primitive). // ***************************************************************************** { - for (std::size_t e=0; e >& esup, + const std::vector< std::size_t >& inpoel, + const Fields& geoElem, + Fields& W ) +// ***************************************************************************** +// \brief Reconstruct the second-order solution using least-squares approach +// from an extended stencil involving the node-neighbors +//! \param[in] rdof Maximum number of reconstructed degrees of freedom +//! \param[in] offset Offset this PDE system operates from +//! \param[in] nielem Number of internal elements in this mesh chunk +//! \param[in] esup Elements surrounding points +//! \param[in] inpoel Element-node connectivity +//! \param[in] geoElem Element geometry array +//! \param[in,out] W Solution vector to be reconstructed at recent time step +//! \details A second-order (piecewise linear) solution polynomial is obtained +//! from the first-order (piecewise constant) FV solutions by using a +//! least-squares (LS) reconstruction process. This LS reconstruction function +//! using the nodal-neighbors of a cell, to get an overdetermined system of +//! equations for the derivatives of the solution. This overdetermined system +//! is solved in the least-squares sense using the normal equations approach. +// ***************************************************************************** +{ + const auto ncomp = W.nprop()/rdof; + + for (std::size_t e=0; e, 3 > + lhs_ls( {{ {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}} }} ); + // rhs matrix + std::vector< std::array< tk::real, 3 > > + rhs_ls( ncomp, {{ 0.0, 0.0, 0.0 }} ); + + // loop over all nodes of the element e + for (std::size_t lp=0; lp<4; ++lp) + { + auto p = inpoel[4*e+lp]; + const auto& pesup = cref_find(esup, p); + + // loop over all the elements surrounding this node p + for (auto er : pesup) + { + // centroid distance + std::array< real, 3 > wdeltax{{ geoElem(er,1,0)-geoElem(e,1,0), + geoElem(er,2,0)-geoElem(e,2,0), + geoElem(er,3,0)-geoElem(e,3,0) }}; + + // contribute to lhs matrix + for (std::size_t idir=0; idir<3; ++idir) + for (std::size_t jdir=0; jdir<3; ++jdir) + lhs_ls[idir][jdir] += wdeltax[idir] * wdeltax[jdir]; + + // compute rhs matrix + for (std::size_t c=0; c& inpoel, const UnsMesh::Coords& coord, - Fields& U ) + Fields& W ) // ***************************************************************************** // Transform the reconstructed P1-derivatives to the Dubiner dofs //! \param[in] ncomp Number of scalar components in this PDE system @@ -217,8 +494,11 @@ tk::transform_P0P1( ncomp_t ncomp, //! \param[in] nelem Total number of elements //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates -//! \param[in,out] U Second-order solution vector which gets transformed to +//! \param[in,out] W Second-order reconstructed vector which gets transformed to //! the Dubiner reference space +//! \details Since the DG solution (and the primitive quantities) are assumed to +//! be stored in the Dubiner space, this transformation from Taylor +//! coefficients to Dubiner coefficients is necessary. // ***************************************************************************** { const auto& cx = coord[0]; @@ -249,68 +529,155 @@ tk::transform_P0P1( ncomp_t ncomp, auto ux = tk::cramer( {{ {{dBdx[0][1], dBdx[0][2], dBdx[0][3]}}, {{dBdx[1][1], dBdx[1][2], dBdx[1][3]}}, {{dBdx[2][1], dBdx[2][2], dBdx[2][3]}} }}, - {{ U(e,mark+1,offset), - U(e,mark+2,offset), - U(e,mark+3,offset) }} ); + {{ W(e,mark+1,offset), + W(e,mark+2,offset), + W(e,mark+3,offset) }} ); // replace physical derivatives with transformed dofs - U(e,mark+1,offset) = ux[0]; - U(e,mark+2,offset) = ux[1]; - U(e,mark+3,offset) = ux[2]; + W(e,mark+1,offset) = ux[0]; + W(e,mark+2,offset) = ux[1]; + W(e,mark+3,offset) = ux[2]; } } } void -tk::getMultiMatPrimitives_P0P1( ncomp_t offset, - std::size_t nmat, - std::size_t rdof, - std::size_t nelem, - const Fields& U, - Fields& P ) +tk::nodeAvg( std::size_t ncomp, + std::size_t nprim, + std::size_t offset, + std::size_t rdof, + std::size_t npoin, + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const Fields& U, + const Fields& P, + Fields& Unode, + Fields& Pnode ) // ***************************************************************************** -// Reconstruct the vector of high-order primitives +// Compute nodal field outputs +//! \param[in] ncomp Number of scalar components in this PDE system +//! \param[in] nprim Number of primitive quantities stored in this PDE system //! \param[in] offset Index for equation systems -//! \param[in] nmat Number of materials in this equation system //! \param[in] rdof Total number of reconstructed dofs -//! \param[in] nelem Total number of elements -//! \param[in] U Second-order solution vector -//! \param[in,out] P Second-order vector of primitives which gets computed from -//! the second-order solution vector +//! \param[in] npoin Total number of nodes +//! \param[in] esup Elements surrounding points +//! \param[in] U Vector of cell-averaged unknowns +//! \param[in] P Vector of cell-averaged primitive quantities +//! \param[in,out] Unode Vector of unknowns at nodes +//! \param[in,out] Pnode Vector of primitive quantities at nodes // ***************************************************************************** { - using inciter::densityIdx; - using inciter::momentumIdx; - using inciter::velocityIdx; - - Assert( P.nprop() == 3*rdof, "Number of components in vector of primitives " - "must equal "+ std::to_string(rdof*3) ); + Unode.fill(0.0); + Pnode.fill(0.0); - for (std::size_t e=0; e rhob(rdof, 0.0); - for (std::size_t k=0; k - vel{{ U(e, momentumIdx(nmat, 0)*rdof, offset)/rhob[0], - U(e, momentumIdx(nmat, 1)*rdof, offset)/rhob[0], - U(e, momentumIdx(nmat, 2)*rdof, offset)/rhob[0] }}; + // complete the average + for (std::size_t c=0; c, 2 >& state ) +// ***************************************************************************** +// Compute safe reconstructions near material interfaces +//! \param[in] offset Index for equation systems +//! \param[in] rdof Total number of reconstructed dofs +//! \param[in] nmat Total number of material is PDE system +//! \param[in] el Element on the left-side of face +//! \param[in] er Element on the right-side of face +//! \param[in] U Solution vector at recent time-stage +//! \param[in,out] state Second-order reconstructed state, at cell-face, that +//! is being modified for safety +//! \details When the consistent limiting is applied, there is a possibility +//! that the material densities and energies violate TVD bounds. This function +//! enforces the TVD bounds locally +// ***************************************************************************** +{ + using inciter::densityIdx; + using inciter::densityDofIdx; + + // define a lambda for the safe limiting + auto safeLimit = [&]( std::size_t c, real ul, real ur ) + { + // find min/max at the face + auto uMin = std::min(ul, ur); + auto uMax = std::max(ul, ur); + + // left-state limiting + if ( (state[0][c] < ul) && + (state[0][c] < ur) ) { - for (std::size_t j=1; j ul) && + (state[0][c] > ur) ) + { + state[0][c] = uMax; + } + + // right-state limiting + if (er > -1) + { + if ( (state[1][c] < ul) && + (state[1][c] < ur) ) { - P(e, velocityIdx(nmat, idir)*rdof+j, offset) = - ( U(e, momentumIdx(nmat, idir)*rdof+j, offset) - - vel[idir]*rhob[j] )/rhob[0]; + state[1][c] = uMin; } + else if ( (state[1][c] > ul) && + (state[1][c] > ur) ) + { + state[1][c] = uMax; + } + } + }; + + for (std::size_t k=0; k(er); + ur = U(eR, densityDofIdx(nmat, k, rdof, 0), offset); } + + // limit reconstructed density + safeLimit(densityIdx(nmat,k), ul, ur); + } } diff --git a/src/PDE/Reconstruction.hpp b/src/PDE/Reconstruction.hpp index 5d0df20c81a..073db6869b4 100644 --- a/src/PDE/Reconstruction.hpp +++ b/src/PDE/Reconstruction.hpp @@ -3,12 +3,14 @@ \file src/PDE/Reconstruction.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Reconstruction for reconstructed discontinuous Galerkin methods + \brief Reconstruction for reconstructed Galerkin methods \details This file contains functions that reconstruct an "n"th order polynomial to an "n+1"th order polynomial using a least-squares - reconstruction procedure. + reconstruction procedure, used for reconstructed discontinuous Galerkin (DG) + methods. It also contains functions used to compute reconstruction in 1D, + used in edge-based continuous Galerkin methods. */ // ***************************************************************************** #ifndef Reconstruction_h @@ -26,6 +28,13 @@ namespace tk { using ncomp_t = kw::ncomp::info::expect::type; +//! Compute lhs matrix for the least-squares reconstruction +void +lhsLeastSq_P0P1( const inciter::FaceData& fd, + const Fields& geoElem, + const Fields& geoFace, + std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls ); + //! Compute internal surface contributions to the least-squares reconstruction void intLeastSq_P0P1( ncomp_t ncomp, @@ -33,35 +42,78 @@ intLeastSq_P0P1( ncomp_t ncomp, const std::size_t rdof, const inciter::FaceData& fd, const Fields& geoElem, - const Fields& U, - std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls, + const Fields& W, std::vector< std::vector< std::array< real, 3 > > >& rhs_ls ); -//! Compute boundary face contributions to the least-squares reconstruction +//! \brief Compute boundary surface contributions to rhs vector of the +//! least-squares reconstruction of conserved quantities of the PDE system void -bndLeastSq_P0P1( ncomp_t system, - ncomp_t ncomp, - ncomp_t offset, - std::size_t rdof, - const std::vector< bcconf_t >& bcconfig, - const inciter::FaceData& fd, - const Fields& geoFace, - const Fields& geoElem, - real t, - const StateFn& state, - const Fields& U, - std::vector< std::array< std::array< real, 3 >, 3 > >& lhs_ls, - std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, - std::size_t nprim=0 ); +bndLeastSqConservedVar_P0P1( ncomp_t system, + ncomp_t ncomp, + ncomp_t offset, + std::size_t rdof, + const std::vector< bcconf_t >& bcconfig, + const inciter::FaceData& fd, + const Fields& geoFace, + const Fields& geoElem, + real t, + const StateFn& state, + const Fields& P, + const Fields& U, + std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, + std::size_t nprim=0 ); + +//! \brief Compute boundary surface contributions to rhs vector of the +//! least-squares reconstruction of primitive quantities of the PDE system +void +bndLeastSqPrimitiveVar_P0P1( ncomp_t system, + ncomp_t nprim, + ncomp_t offset, + std::size_t rdof, + const std::vector< bcconf_t >& bcconfig, + const inciter::FaceData& fd, + const Fields& geoFace, + const Fields& geoElem, + real t, + const StateFn& state, + const Fields& P, + const Fields& U, + std::vector< std::vector< std::array< real, 3 > > >& rhs_ls, + std::size_t ncomp ); //! Solve 3x3 system for least-squares reconstruction void -solveLeastSq_P0P1( ncomp_t ncomp, - ncomp_t offset, - const std::size_t rdof, - const std::vector< std::array< std::array< real, 3 >, 3 > >& lhs, - const std::vector< std::vector< std::array< real, 3 > > >& rhs, - Fields& U ); +solveLeastSq_P0P1( + ncomp_t ncomp, + ncomp_t offset, + const std::size_t rdof, + const std::vector< std::array< std::array< real, 3 >, 3 > >& lhs, + const std::vector< std::vector< std::array< real, 3 > > >& rhs, + Fields& W ); + +//! \brief Reconstruct the second-order solution using least-squares approach +//! from an extended stencil involving the node-neighbors +void +recoLeastSqExtStencil( std::size_t rdof, + std::size_t offset, + std::size_t nelem, + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const std::vector< std::size_t >& inpoel, + const Fields& geoElem, + Fields& W ); + +//! Compute nodal field outputs +void +nodeAvg( std::size_t ncomp, + std::size_t nprim, + std::size_t offset, + std::size_t rdof, + std::size_t npoin, + const std::map< std::size_t, std::vector< std::size_t > >& esup, + const Fields& U, + const Fields& P, + Fields& Unode, + Fields& Pnode ); //! Transform the reconstructed P1-derivatives to the Dubiner dofs void @@ -71,16 +123,17 @@ transform_P0P1( ncomp_t ncomp, std::size_t nelem, const std::vector< std::size_t >& inpoel, const UnsMesh::Coords& coord, - Fields& U ); + Fields& W ); -//! Reconstruct the vector of high-order primitives +//! Compute safe reconstructions near material interfaces void -getMultiMatPrimitives_P0P1( ncomp_t offset, - std::size_t nmat, - std::size_t rdof, - std::size_t nelem, - const Fields& U, - Fields& P ); +safeReco( std::size_t offset, + std::size_t rdof, + std::size_t nmat, + std::size_t el, + int er, + const Fields& U, + std::array< std::vector< real >, 2 >& state ); } // tk:: diff --git a/src/PDE/Integrate/Riemann/AUSM.hpp b/src/PDE/Riemann/AUSM.hpp similarity index 76% rename from src/PDE/Integrate/Riemann/AUSM.hpp rename to src/PDE/Riemann/AUSM.hpp index 35a4015f685..8269fbf964c 100644 --- a/src/PDE/Integrate/Riemann/AUSM.hpp +++ b/src/PDE/Riemann/AUSM.hpp @@ -1,9 +1,9 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/AUSM.hpp + \file src/PDE/Riemann/AUSM.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Advection Upstream Splitting Method (AUSM+) Riemann flux function \details This file implements the Advection Upstream Splitting Method (AUSM) @@ -40,14 +40,14 @@ struct AUSM { static tk::RiemannFluxFn::result_type flux( const std::array< tk::real, 3 >& fn, const std::array< std::vector< tk::real >, 2 >& u, - const std::vector< std::array< tk::real, 3 > >& ) + const std::vector< std::array< tk::real, 3 > >& = {} ) { - auto ncomp = u[0].size()-3; - std::vector< tk::real > flx( ncomp, 0 ); - const auto nmat = g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[0]; + auto ncomp = u[0].size()-(3+nmat); + std::vector< tk::real > flx( ncomp, 0 ); + // Primitive variables tk::real rhol(0.0), rhor(0.0); for (std::size_t k=0; k al_l(nmat, 0.0), al_r(nmat, 0.0), hml(nmat, 0.0), hmr(nmat, 0.0), pml(nmat, 0.0), pmr(nmat, 0.0), - al_12(nmat, 0.0), rhomat12(nmat, 0.0), + arhom12(nmat, 0.0), amat12(nmat, 0.0); for (std::size_t k=0; k( 0, u[0][densityIdx(nmat, k)]/al_l[k], - ul, vl, wl, - u[0][energyIdx(nmat, k)]/al_l[k], - k ); - pl += al_l[k] * pml[k]; - hml[k] = u[0][energyIdx(nmat, k)] + al_l[k]*pml[k]; + pml[k] = u[0][ncomp+pressureIdx(nmat, k)]; + pl += pml[k]; + hml[k] = u[0][energyIdx(nmat, k)] + pml[k]; amatl = eos_soundspeed< tag::multimat >( 0, - u[0][densityIdx(nmat, k)]/al_l[k], - pml[k], k ); + u[0][densityIdx(nmat, k)], + pml[k], al_l[k], k ); al_r[k] = u[1][volfracIdx(nmat, k)]; - pmr[k] = eos_pressure< tag::multimat >( 0, u[1][densityIdx(nmat, k)]/al_r[k], - ur, vr, wr, - u[1][energyIdx(nmat, k)]/al_r[k], - k ); - pr += al_r[k] * pmr[k]; - hmr[k] = u[1][energyIdx(nmat, k)] + al_r[k]*pmr[k]; + pmr[k] = u[1][ncomp+pressureIdx(nmat, k)]; + pr += pmr[k]; + hmr[k] = u[1][energyIdx(nmat, k)] + pmr[k]; amatr = eos_soundspeed< tag::multimat >( 0, - u[1][densityIdx(nmat, k)]/al_r[k], - pmr[k], k ); + u[1][densityIdx(nmat, k)], + pmr[k], al_r[k], k ); // Average states for mixture speed of sound - al_12[k] = 0.5*(al_l[k]+al_r[k]); - rhomat12[k] = 0.5*(u[0][densityIdx(nmat, k)]/al_l[k] - + u[1][densityIdx(nmat, k)]/al_r[k]); + arhom12[k] = 0.5*(u[0][densityIdx(nmat, k)] + u[1][densityIdx(nmat, k)]); amat12[k] = 0.5*(amatl+amatr); } @@ -107,17 +91,17 @@ struct AUSM { tk::real ac12(0.0); for (std::size_t k=0; k 1.0e-10) { for (std::size_t k=0; k 1.0e-10) { for (std::size_t k=0; k + +#include "Types.hpp" +#include "Fields.hpp" +#include "Tags.hpp" +#include "FunctionPrototypes.hpp" +#include "Inciter/Options/Flux.hpp" +#include "EoS/EoS.hpp" +#include "MultiMat/MultiMatIndexing.hpp" + +namespace inciter { + +//! HLL approximate Riemann solver +//! \details This class can be used polymorphically with inciter::RiemannSolver +struct HLL { + + //! HLL approximate Riemann solver flux function + //! \param[in] fn Face/Surface normal + //! \param[in] u Left and right unknown/state vector + //! \return Riemann flux solution according to HLL, appended by Riemann + //! velocities and volume-fractions. + //! \note The function signature must follow tk::RiemannFluxFn + static tk::RiemannFluxFn::result_type + flux( const std::array< tk::real, 3 >& fn, + const std::array< std::vector< tk::real >, 2 >& u, + const std::vector< std::array< tk::real, 3 > >& ) + { + const auto nmat = + g_inputdeck.get< tag::param, tag::multimat, tag::nmat >()[0]; + + auto ncomp = u[0].size()-(3+nmat); + std::vector< tk::real > flx(ncomp, 0), fl(ncomp, 0), fr(ncomp, 0); + + // Primitive variables + tk::real rhol(0.0), rhor(0.0); + for (std::size_t k=0; k al_l(nmat, 0.0), al_r(nmat, 0.0), + hml(nmat, 0.0), hmr(nmat, 0.0), + pml(nmat, 0.0), pmr(nmat, 0.0); + for (std::size_t k=0; k( 0, u[0][densityIdx(nmat, k)], + pml[k], al_l[k], k ); + + al_r[k] = u[1][volfracIdx(nmat, k)]; + pmr[k] = u[1][ncomp+pressureIdx(nmat, k)]; + pr += pmr[k]; + hmr[k] = u[1][energyIdx(nmat, k)] + pmr[k]; + amatr = eos_soundspeed< tag::multimat >( 0, u[1][densityIdx(nmat, k)], + pmr[k], al_r[k], k ); + + // Mixture speed of sound + ac_l += u[0][densityIdx(nmat, k)] * amatl * amatl; + ac_r += u[1][densityIdx(nmat, k)] * amatr * amatr; + } + + ac_l = std::sqrt(ac_l/rhol); + ac_r = std::sqrt(ac_r/rhor); + + // Independently limited velocities for advection + auto ul = u[0][ncomp+velocityIdx(nmat, 0)]; + auto vl = u[0][ncomp+velocityIdx(nmat, 1)]; + auto wl = u[0][ncomp+velocityIdx(nmat, 2)]; + auto ur = u[1][ncomp+velocityIdx(nmat, 0)]; + auto vr = u[1][ncomp+velocityIdx(nmat, 1)]; + auto wr = u[1][ncomp+velocityIdx(nmat, 2)]; + + // Face-normal velocities from advective velocities + auto vnl = ul*fn[0] + vl*fn[1] + wl*fn[2]; + auto vnr = ur*fn[0] + vr*fn[1] + wr*fn[2]; + + // Flux functions + for (std::size_t k=0; k= 0.0) + { + for (std::size_t k=0; k& fn, const std::array< std::vector< tk::real >, 2 >& u, - const std::vector< std::array< tk::real, 3 > >& ) + const std::vector< std::array< tk::real, 3 > >& = {} ) { std::vector< tk::real > flx( u[0].size(), 0 ); diff --git a/src/PDE/Integrate/Riemann/LaxFriedrichs.hpp b/src/PDE/Riemann/LaxFriedrichs.hpp similarity index 85% rename from src/PDE/Integrate/Riemann/LaxFriedrichs.hpp rename to src/PDE/Riemann/LaxFriedrichs.hpp index 0d32902ec88..66d646aad40 100644 --- a/src/PDE/Integrate/Riemann/LaxFriedrichs.hpp +++ b/src/PDE/Riemann/LaxFriedrichs.hpp @@ -1,9 +1,9 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/LaxFriedrichs.hpp + \file src/PDE/Riemann/LaxFriedrichs.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Lax-Friedrichs Riemann flux function \details This file implements the Lax-Friedrichs Riemann solver. @@ -34,7 +34,7 @@ struct LaxFriedrichs { static tk::RiemannFluxFn::result_type flux( const std::array< tk::real, 3 >& fn, const std::array< std::vector< tk::real >, 2 >& u, - const std::vector< std::array< tk::real, 3 > >& ) + const std::vector< std::array< tk::real, 3 > >& = {} ) { std::vector< tk::real > flx( u[0].size(), 0.0 ), fluxl( u[0].size(), 0.0 ), @@ -59,8 +59,8 @@ struct LaxFriedrichs { auto ar = eos_soundspeed< tag::compflow >( 0, rhor, pr ); // Face-normal velocities - tk::real vnl = ul*fn[0] + vl*fn[1] + wl*fn[2]; - tk::real vnr = ur*fn[0] + vr*fn[1] + wr*fn[2]; + auto vnl = ul*fn[0] + vl*fn[1] + wl*fn[2]; + auto vnr = ur*fn[0] + vr*fn[1] + wr*fn[2]; // Flux functions fluxl[0] = u[0][0] * vnl; @@ -75,14 +75,11 @@ struct LaxFriedrichs { fluxr[3] = u[1][3] * vnr + pr*fn[2]; fluxr[4] = ( u[1][4] + pr ) * vnr; - auto lambda = fmax(al,ar) + fmax(fabs(vnl),fabs(vnr)); + auto lambda = std::max(al,ar) + std::max( std::abs(vnl), std::abs(vnr) ); // Numerical flux function for(std::size_t c=0; c<5; ++c) - { - flx[c] = 0.5 * ( fluxl[c] + fluxr[c] - - lambda * (u[1][c] - u[0][c]) ); - } + flx[c] = 0.5 * (fluxl[c] + fluxr[c] - lambda*(u[1][c] - u[0][c])); return flx; } diff --git a/src/PDE/Integrate/Riemann/RiemannSolver.hpp b/src/PDE/Riemann/RiemannSolver.hpp similarity index 98% rename from src/PDE/Integrate/Riemann/RiemannSolver.hpp rename to src/PDE/Riemann/RiemannSolver.hpp index 0d8bfba60b0..49ea9e1fbd0 100644 --- a/src/PDE/Integrate/Riemann/RiemannSolver.hpp +++ b/src/PDE/Riemann/RiemannSolver.hpp @@ -1,9 +1,9 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/RiemannSolver.hpp + \file src/PDE/Riemann/RiemannSolver.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Riemann solver interface class for various Riemann solvers \details This file defines a generic Riemann solver interface class. The diff --git a/src/PDE/Riemann/Rusanov.hpp b/src/PDE/Riemann/Rusanov.hpp new file mode 100644 index 00000000000..57c7a563cca --- /dev/null +++ b/src/PDE/Riemann/Rusanov.hpp @@ -0,0 +1,107 @@ +// ***************************************************************************** +/*! + \file src/PDE/Riemann/Rusanov.hpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Rusanov Riemann flux function + \details This file implements the Rusanov Riemann solver, specific to ALECG. +*/ +// ***************************************************************************** +#ifndef Rusanov_h +#define Rusanov_h + +#include + +#include "Types.hpp" +#include "Fields.hpp" +#include "Tags.hpp" +#include "FunctionPrototypes.hpp" +#include "Inciter/Options/Flux.hpp" +#include "EoS/EoS.hpp" + +namespace inciter { + +//! Rusanov approximate Riemann solver +//! \details This class can be used polymorphically with inciter::RiemannSolver +struct Rusanov { + + using real = tk::real; + + //! Rusanov approximate Riemann solver flux function + //! \param[in] nx X component of the surface normal + //! \param[in] ny Y component of the surface normal + //! \param[in] nz Z component of the surface normal + //! \param[in] mx X component of the weighted surface normal on chare + //! boundary, weighted by the number of contributions to the edge + //! \param[in] my Y component of the weighted surface normal on chare + //! boundary, weighted by the number of contributions to the edge + //! \param[in] mz Z component of the weighted surface normal on chare + //! boundary, weighted by the number of contributions to the edge + //! \param[in] rL Left density + //! \param[in] ruL Left X momentum + //! \param[in] rvL Left Y momentum + //! \param[in] rwL Left Z momentum + //! \param[in] reL Left total specific energy + //! \param[in] rL Left density + //! \param[in] ruL Left X momentum + //! \param[in] rvL Left Y momentum + //! \param[in] rwL Left Z momentum + //! \param[in] reL Left total specific energy + //! \param[in,out] fr Riemann solution for density according to Rusanov + //! \param[in,out] fru Riemann solution for X momenutm according to Rusanov + //! \param[in,out] frv Riemann solution for Y momenutm according to Rusanov + //! \param[in,out] frw Riemann solution for Z momenutm according to Rusanov + //! \param[in,out] fre Riemann solution for specific total energy according + //! to Rusanov + #pragma omp declare simd + static void + flux( real nx, real ny, real nz, + real mx, real my, real mz, + real rL, real ruL, real rvL, real rwL, real reL, + real rR, real ruR, real rvR, real rwR, real reR, + real& fr, real& fru, real& frv, real& frw, real& fre ) + { + auto ul = ruL/rL; + auto vl = rvL/rL; + auto wl = rwL/rL; + + auto ur = ruR/rR; + auto vr = rvR/rR; + auto wr = rwR/rR; + + auto pl = eos_pressure< tag::compflow >( 0, rL, ul, vl, wl, reL ); + auto pr = eos_pressure< tag::compflow >( 0, rR, ur, vr, wr, reR ); + + auto al = eos_soundspeed< tag::compflow >( 0, rL, pl ); + auto ar = eos_soundspeed< tag::compflow >( 0, rR, pr ); + + // dissipation + real len = tk::length( {mx,my,mz} ); + real vml = ul*mx + vl*my + wl*mz; + real vmr = ur*mx + vr*my + wr*mz; + auto sl = std::abs(vml) + al*len; + auto sr = std::abs(vmr) + ar*len; + auto smax = std::max( sl, sr ); + + // face-normal velocities + real vnl = ul*nx + vl*ny + wl*nz; + real vnr = ur*nx + vr*ny + wr*nz; + + // numerical fluxes + fr = 0.5*(rL*vnl + rR*vnr - smax*(rR - rL)); + fru = 0.5*(ruL*vnl + pl*nx + ruR*vnr + pr*nx - smax*(ruR - ruL)); + frv = 0.5*(rvL*vnl + pl*ny + rvR*vnr + pr*ny - smax*(rvR - rvL)); + frw = 0.5*(rwL*vnl + pl*nz + rwR*vnr + pr*nz - smax*(rwR - rwL)); + fre = 0.5*((reL + pl)*vnl + (reR + pr)*vnr - smax*(reR - reL)); + } + + //! Flux type accessor + //! \return Flux type + static ctr::FluxType type() noexcept { return ctr::FluxType::Rusanov; } +}; + +} // inciter:: + +#endif // Rusanov_h diff --git a/src/PDE/Integrate/Riemann/Upwind.hpp b/src/PDE/Riemann/Upwind.hpp similarity index 91% rename from src/PDE/Integrate/Riemann/Upwind.hpp rename to src/PDE/Riemann/Upwind.hpp index 009238fc575..57a2c720875 100644 --- a/src/PDE/Integrate/Riemann/Upwind.hpp +++ b/src/PDE/Riemann/Upwind.hpp @@ -1,9 +1,9 @@ // ***************************************************************************** /*! - \file src/PDE/Integrate/Riemann/Upwind.hpp + \file src/PDE/Riemann/Upwind.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Upwind Riemann flux function \details This file implements the upwind Riemann solver. @@ -16,6 +16,7 @@ #include "Types.hpp" #include "Fields.hpp" +#include "Vector.hpp" #include "FunctionPrototypes.hpp" #include "Inciter/Options/Flux.hpp" @@ -38,11 +39,11 @@ struct Upwind { const std::vector< std::array< tk::real, 3 > >& v ) { std::vector< tk::real > flx( u[0].size(), 0 ); - + for(std::size_t c=0; c #include -#include "Macro.hpp" #include "Exception.hpp" #include "Vector.hpp" +#include "DerivedData.hpp" +#include "Around.hpp" +#include "Reconstruction.hpp" #include "Inciter/InputDeck/InputDeck.hpp" +#include "CGPDE.hpp" +#include "History.hpp" namespace inciter { @@ -43,6 +47,12 @@ class Transport { private: using ncomp_t = kw::ncomp::info::expect::type; + using real = tk::real; + + static constexpr real muscl_eps = 1.0e-9; + static constexpr real muscl_const = 1.0/3.0; + static constexpr real muscl_m1 = 1.0 - muscl_const; + static constexpr real muscl_p1 = 1.0 + muscl_const; public: //! Constructor @@ -63,122 +73,168 @@ class Transport { //! \param[in] coord Mesh node coordinates //! \param[in,out] unk Array of unknowns //! \param[in] t Physical time - void initialize( const std::array< std::vector< tk::real >, 3 >& coord, + void initialize( const std::array< std::vector< real >, 3 >& coord, tk::Fields& unk, - tk::real t ) const + real t, + std::vector< std::size_t >& ) const { Assert( coord[0].size() == unk.nunk(), "Size mismatch" ); const auto& x = coord[0]; const auto& y = coord[1]; const auto& z = coord[2]; for (ncomp_t i=0; i&, + const std::array< std::vector< real >, 3 >&, tk::Fields&, + std::unordered_set< std::size_t >& ) const {} + //! Return analytic solution (if defined by Problem) at xi, yi, zi, t //! \param[in] xi X-coordinate //! \param[in] yi Y-coordinate //! \param[in] zi Z-coordinate //! \param[in] t Physical time //! \return Vector of analytic solution at given location and time - std::vector< tk::real > - analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const + std::vector< real > + analyticSolution( real xi, real yi, real zi, real t ) const { - auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t ); - return std::vector< tk::real >( begin(s), end(s) ); + int inbox = 0; + auto s = Problem::solution( m_system, m_ncomp, xi, yi, zi, t, inbox ); + return std::vector< real >( begin(s), end(s) ); } - //! Compute the left hand side sparse matrix + //! Compute nodal gradients of primitive variables for ALECG //! \param[in] coord Mesh node coordinates //! \param[in] inpoel Mesh element connectivity - //! \param[in] psup Linked lists storing IDs of points surrounding points - //! \param[in,out] lhsd Diagonal of the sparse matrix storing nonzeros - //! \param[in,out] lhso Off-diagonal of the sparse matrix storing nonzeros - //! \details Sparse matrix storing the nonzero matrix values at rows and - //! columns given by psup. The format is similar to compressed row - //! storage, but the diagonal and off-diagonal data are stored in separate - //! vectors. For the off-diagonal data the local row and column indices, - //! at which values are nonzero, are stored by psup (psup1 and psup2, - //! where psup2 holds the indices at which psup1 holds the point ids - //! surrounding points, see also tk::genPsup()). Note that the number of - //! mesh points (our chunk) npoin = psup.second.size()-1. - void lhs( const std::array< std::vector< tk::real >, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const std::pair< std::vector< std::size_t >, - std::vector< std::size_t > >& psup, - tk::Fields& lhsd, - tk::Fields& lhso ) const + //! \param[in] bndel List of elements contributing to chare-boundary nodes + //! \param[in] gid Local->global node id map + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] U Solution vector at recent time step + //! \param[in,out] G Nodal gradients of primitive variables + void chBndGrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& bndel, + const std::vector< std::size_t >& gid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const tk::Fields& U, + tk::Fields& G ) const { - Assert( psup.second.size()-1 == coord[0].size(), - "Number of mesh points and number of global IDs unequal" ); - Assert( lhsd.nunk() == psup.second.size()-1, "Number of unknowns in " - "diagonal sparse matrix storage incorrect" ); - Assert( lhso.nunk() == psup.first.size(), "Number of unknowns in " - "off-diagonal sparse matrix storage incorrect" ); - - // Lambda to compute the sparse matrix vector index for row and column - // indices. Used only for off-diagonal entries. - auto spidx = [ &psup ]( std::size_t r, std::size_t c ) -> std::size_t { - Assert( r != c, "Only for computing the off-diagonal indices" ); - for (auto i=psup.second[r]+1; i<=psup.second[r+1]; ++i) - if (c == psup.first[i]) return i; - Throw( "Cannot find row, column: " + std::to_string(r) + ',' + - std::to_string(c) + " in sparse matrix" ); - }; + Assert( U.nunk() == coord[0].size(), "Number of unknowns in solution " + "vector at recent time step incorrect" ); + + // compute gradients of primitive variables in points + G.fill( 0.0 ); + // access node cooordinates const auto& x = coord[0]; const auto& y = coord[1]; const auto& z = coord[2]; - // Zero matrix for all components - for (ncomp_t c=0; csecond,c*3+j,0) += J24 * g[b][j] * U(N[b],c,m_offset); + } } + } - for (std::size_t e=0; e ba{{ x[B]-x[A], y[B]-y[A], z[B]-z[A] }}, - ca{{ x[C]-x[A], y[C]-y[A], z[C]-z[A] }}, - da{{ x[D]-x[A], y[D]-y[A], z[D]-z[A] }}; - const auto J = tk::triple( ba, ca, da ) / 120.0; - Assert( J > 0, "Element Jacobian non-positive" ); + //! Compute right hand side for ALECG + //! \param[in] coord Mesh node coordinates + //! \param[in] inpoel Mesh element connectivity + //! \param[in] triinpoel Boundary triangle face connecitivity + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] lid Global->local node ids + //! \param[in] dfn Dual-face normals + //! \param[in] psup Points surrounding points + //! \param[in] symbcnode Vector with 1 at symmetry BC nodes + //! \param[in] vol Nodal volumes + //! \param[in] edgeid Local node id pair -> edge id map + //! \param[in] G Nodal gradients in chare-boundary nodes + //! \param[in] U Solution vector at recent time step + //! \param[in,out] R Right-hand side vector computed + void rhs( + real, + const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& triinpoel, + const std::vector< std::size_t >&, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::vector< real >& dfn, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const std::vector< int >& symbcnode, + const std::vector< real >& vol, + const std::vector< std::size_t >&, + const std::vector< std::size_t >& edgeid, + const tk::Fields& G, + const tk::Fields& U, + const std::vector< tk::real >&, + tk::Fields& R ) const + { + Assert( G.nprop() == m_ncomp*3, + "Number of components in gradient vector incorrect" ); + Assert( U.nunk() == coord[0].size(), "Number of unknowns in solution " + "vector at recent time step incorrect" ); + Assert( R.nunk() == coord[0].size(), + "Number of unknowns and/or number of components in right-hand " + "side vector incorrect" ); - for (ncomp_t c=0; c, 3 >& coord, + void rhs( real, + real deltat, + const std::array< std::vector< real >, 3 >& coord, const std::vector< std::size_t >& inpoel, const tk::Fields& U, tk::Fields& Ue, @@ -206,12 +262,11 @@ class Transport { // 1st stage: update element values from node values (gather-add) for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute element Jacobi determinant - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; @@ -219,7 +274,7 @@ class Transport { Assert( J > 0, "Element Jacobian non-positive" ); // shape function derivatives, nnode*ndim [4][3] - std::array< std::array< tk::real, 3 >, 4 > grad; + std::array< std::array< real, 3 >, 4 > grad; grad[1] = tk::crossdiv( ca, da, J ); grad[2] = tk::crossdiv( da, ba, J ); grad[3] = tk::crossdiv( ba, ca, J ); @@ -227,21 +282,14 @@ class Transport { grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; // access solution at element nodes - std::vector< std::array< tk::real, 4 > > u( m_ncomp ); + std::vector< std::array< real, 4 > > u( m_ncomp ); for (ncomp_t c=0; c ue( m_ncomp ); + std::vector< const real* > ue( m_ncomp ); for (ncomp_t c=0; c>, 4 > vel{{ + const std::array< std::vector>, 4 > vel{{ Problem::prescribedVelocity( m_system, m_ncomp, x[N[0]], y[N[0]], z[N[0]] ), Problem::prescribedVelocity( m_system, m_ncomp, @@ -252,26 +300,21 @@ class Transport { x[N[3]], y[N[3]], z[N[3]] ) }}; // sum flux (advection) contributions to element - tk::real d = deltat/2.0; + auto d = deltat/2.0; for (std::size_t c=0; c N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute element Jacobi determinant - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; @@ -279,7 +322,7 @@ class Transport { Assert( J > 0, "Element Jacobian non-positive" ); // shape function derivatives, nnode*ndim [4][3] - std::array< std::array< tk::real, 3 >, 4 > grad; + std::array< std::array< real, 3 >, 4 > grad; grad[1] = tk::crossdiv( ca, da, J ); grad[2] = tk::crossdiv( da, ba, J ); grad[3] = tk::crossdiv( ba, ca, J ); @@ -287,13 +330,13 @@ class Transport { grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; // access solution at elements - std::vector< tk::real > ue( m_ncomp ); + std::vector< real > ue( m_ncomp ); for (ncomp_t c=0; c r( m_ncomp ); + std::vector< const real* > r( m_ncomp ); for (ncomp_t c=0; c > u( m_ncomp ); + std::vector< std::array< real, 4 > > u( m_ncomp ); for (ncomp_t c=0; c, 3 >& coord, - const std::vector< std::size_t >& inpoel, - const tk::Fields& U ) const + real dt( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const tk::Fields& U ) const { using tag::transport; Assert( U.nunk() == coord[0].size(), "Number of unknowns in solution " @@ -333,21 +374,23 @@ class Transport { const auto& y = coord[1]; const auto& z = coord[2]; // compute the minimum dt across all elements we own - tk::real mindt = std::numeric_limits< tk::real >::max(); + auto mindt = std::numeric_limits< tk::real >::max(); + auto eps = std::numeric_limits< tk::real >::epsilon(); + auto large = std::numeric_limits< tk::real >::max(); for (std::size_t e=0; e N{{ inpoel[e*4+0], inpoel[e*4+1], - inpoel[e*4+2], inpoel[e*4+3] }}; + const std::array< std::size_t, 4 > + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; // compute cubic root of element volume as the characteristic length - const std::array< tk::real, 3 > + const std::array< real, 3 > ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; const auto L = std::cbrt( tk::triple( ba, ca, da ) / 6.0 ); // access solution at element nodes at recent time step - std::vector< std::array< tk::real, 4 > > u( m_ncomp ); + std::vector< std::array< real, 4 > > u( m_ncomp ); for (ncomp_t c=0; c>, 4 > vel{{ + const std::array< std::vector>, 4 > vel{{ Problem::prescribedVelocity( m_system, m_ncomp, x[N[0]], y[N[0]], z[N[0]] ), Problem::prescribedVelocity( m_system, m_ncomp, @@ -358,16 +401,14 @@ class Transport { x[N[3]], y[N[3]], z[N[3]] ) }}; // compute the maximum length of the characteristic velocity (advection // velocity) across the four element nodes - tk::real maxvel = 0.0; + real maxvel = 0.0; for (ncomp_t c=0; c maxvel) maxvel = v; } // compute element dt for the advection - auto advection_dt = L / maxvel; + auto advection_dt = std::abs(maxvel) > eps ? L / maxvel : large; // compute element dt based on diffusion auto diffusion_dt = m_physics.diffusion_dt( m_system, m_ncomp, L, u ); // compute minimum element dt @@ -375,19 +416,21 @@ class Transport { // find minimum dt across all elements if (elemdt < mindt) mindt = elemdt; } - return mindt; + return mindt * g_inputdeck.get< tag::discr, tag::cfl >(); } - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - //! \param[in,out] conf Set of unique side set IDs to add to - void side( std::unordered_set< int >& conf ) const - { m_problem.side( conf ); } + //! Compute a time step size for each mesh node + void dt( uint64_t, + const std::vector< tk::real >&, + const tk::Fields&, + std::vector< tk::real >& ) const {} //! \brief Query Dirichlet boundary condition value on a given side set for //! all components in this PDE system //! \param[in] t Physical time //! \param[in] deltat Time step size + //! \param[in] tp Physical time for each mesh node + //! \param[in] dtp Time step size for each mesh node //! \param[in] ss Pair of side set ID and list of node IDs on the side set //! \param[in] coord Mesh node coordinates //! \return Vector of pairs of bool and boundary condition value associated @@ -395,16 +438,19 @@ class Transport { //! that instead of the actual boundary condition value, we return the //! increment between t+dt and t, since that is what the solution requires //! as we solve for the soution increments and not the solution itself. - std::map< std::size_t, std::vector< std::pair > > - dirbc( tk::real t, - tk::real deltat, + std::map< std::size_t, std::vector< std::pair > > + dirbc( real t, + real deltat, + const std::vector< tk::real >& tp, + const std::vector< tk::real >& dtp, const std::pair< const int, std::vector< std::size_t > >& ss, - const std::array< std::vector< tk::real >, 3 >& coord ) const + const std::array< std::vector< real >, 3 >& coord ) const { using tag::param; using tag::transport; using tag::bcdir; - using NodeBC = std::vector< std::pair< bool, tk::real > >; + using NodeBC = std::vector< std::pair< bool, real > >; std::map< std::size_t, NodeBC > bc; - const auto& ubc = g_inputdeck.get< param, transport, bcdir >(); + const auto& ubc = g_inputdeck.get< param, transport, tag::bc, bcdir >(); + const auto steady = g_inputdeck.get< tag::discr, tag::steady_state >(); if (!ubc.empty()) { Assert( ubc.size() > m_system, "Indexing out of Dirichlet BC eq-vector" ); const auto& x = coord[0]; @@ -414,8 +460,9 @@ class Transport { if (std::stoi(b) == ss.first) for (auto n : ss.second) { Assert( x.size() > n, "Indexing out of coordinate array" ); - const auto s = m_problem.solinc( m_system, m_ncomp, - x[n], y[n], z[n], t, deltat ); + if (steady) { t = tp[n]; deltat = dtp[n]; } + const auto s = solinc( m_system, m_ncomp, x[n], y[n], z[n], + t, deltat, Problem::solution ); auto& nbc = bc[n] = NodeBC( m_ncomp ); for (ncomp_t c=0; c, 3 >&, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >&, + const std::unordered_set< std::size_t >& ) const {} + + //! Set farfield boundary conditions at nodes + void farfieldbc( + tk::Fields&, + const std::array< std::vector< real >, 3 >&, + const std::unordered_map< int, + std::unordered_map< std::size_t, + std::array< real, 4 > > >&, + const std::unordered_set< std::size_t >& ) const {} + //! Return field names to be output to file //! \return Vector of strings labelling fields output in file //! \details This functions should be written in conjunction with @@ -445,6 +511,41 @@ class Transport { return n; } + //! Return surface field names to be output to file + //! \return Vector of strings labelling surface fields output in file + //! \details This functions should be written in conjunction with + //! surfOutput(), which provides the vector of surface fields to be output + std::vector< std::string > surfNames() const { + std::vector< std::string > n; // punt for now + return n; + } + + //! Return surface field output going to file + std::vector< std::vector< real > > + surfOutput( const std::map< int, std::vector< std::size_t > >&, + tk::Fields& ) const + { + std::vector< std::vector< real > > s; // punt for now + return s; + } + + //! Return time history field names to be output to file + //! \return Vector of strings labelling time history fields output in file + std::vector< std::string > histNames() const { + std::vector< std::string > s; // punt for now + return s; + } + + //! Return time history field output evaluated at time history points + std::vector< std::vector< real > > + histOutput( const std::vector< HistData >&, + const std::vector< std::size_t >&, + const tk::Fields& ) const + { + std::vector< std::vector< real > > s; // punt for now + return s; + } + //! Return field output going to file //! \param[in] t Physical time //! \param[in] V Total mesh volume @@ -458,17 +559,19 @@ class Transport { std::vector< std::vector< tk::real > > fieldOutput( tk::real t, tk::real V, + std::size_t, const std::array< std::vector< tk::real >, 3 >& coord, const std::vector< tk::real >& v, tk::Fields& U ) const { - std::vector< std::vector< tk::real > > out; + std::vector< std::vector< real > > out; // will output numerical solution for all components auto E = U; for (ncomp_t c=0; c inbox; + initialize( coord, U, t, inbox ); // will output analytic solution for all components for (ncomp_t c=0; clocal node ids + //! \param[in] bid Local chare-boundary node ids (value) associated to + //! global node ids (key) + //! \param[in] vol Nodal volumes + //! \param[in] U Solution vector at recent time step + //! \param[in] G Nodal gradients of primitive variables in chare-boundary nodes + //! \return Gradients of primitive variables in all mesh points + tk::Fields + nodegrad( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::unordered_map< std::size_t, std::size_t >& lid, + const std::unordered_map< std::size_t, std::size_t >& bid, + const std::vector< real >& vol, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& esup, + const tk::Fields& U, + const tk::Fields& G ) const + { + // allocate storage for nodal gradients of primitive variables + tk::Fields Grad( U.nunk(), m_ncomp*3 ); + Grad.fill( 0.0 ); + + // access node cooordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // compute gradients of primitive variables in points + auto npoin = U.nunk(); + #pragma omp simd + for (std::size_t p=0; p& uL, + std::vector< real >& uR ) const + { + Assert( uL.size() == m_ncomp && uR.size() == m_ncomp, "Size mismatch" ); + Assert( G.nprop()/3 == m_ncomp, "Size mismatch" ); + + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // edge vector + std::array< real, 3 > vw{ x[q]-x[p], y[q]-y[p], z[q]-z[p] }; + + std::vector< real > + delta1( m_ncomp, 0.0 ), delta2( m_ncomp, 0.0 ), delta3( m_ncomp, 0.0 ); + + // MUSCL reconstruction of edge-end-point primitive variables + for (std::size_t c=0; c + g1{ G(p,c*3+0,0), G(p,c*3+1,0), G(p,c*3+2,0) }, + g2{ G(q,c*3+0,0), G(q,c*3+1,0), G(q,c*3+2,0) }; + + delta2[c] = uR[c] - uL[c]; + delta1[c] = 2.0 * tk::dot(g1,vw) - delta2[c]; + delta3[c] = 2.0 * tk::dot(g2,vw) - delta2[c]; + + // form limiters + auto rL = (delta2[c] + muscl_eps) / (delta1[c] + muscl_eps); + auto rR = (delta2[c] + muscl_eps) / (delta3[c] + muscl_eps); + auto rLinv = (delta1[c] + muscl_eps) / (delta2[c] + muscl_eps); + auto rRinv = (delta3[c] + muscl_eps) / (delta2[c] + muscl_eps); + + auto phiL = (std::abs(rL) + rL) / (std::abs(rL) + 1.0); + auto phiR = (std::abs(rR) + rR) / (std::abs(rR) + 1.0); + auto phi_L_inv = (std::abs(rLinv) + rLinv) / (std::abs(rLinv) + 1.0); + auto phi_R_inv = (std::abs(rRinv) + rRinv) / (std::abs(rRinv) + 1.0); + + // update unknowns with reconstructed unknowns + uL[c] += 0.25*(delta1[c]*muscl_m1*phiL + delta2[c]*muscl_p1*phi_L_inv); + uR[c] -= 0.25*(delta3[c]*muscl_m1*phiR + delta2[c]*muscl_p1*phi_R_inv); + } + } + + //! Compute domain-edge integral for ALECG + //! \param[in] coord Mesh node coordinates + //! \param[in] edgeid Local node id pair -> edge id map + //! \param[in] psup Points surrounding points + //! \param[in] dfn Dual-face normals + //! \param[in] U Solution vector at recent time step + //! \param[in] G Nodal gradients + //! \param[in,out] R Right-hand side vector computed + void domainint( const std::array< std::vector< real >, 3 >& coord, + const std::vector< std::size_t >& inpoel, + const std::vector< std::size_t >& edgeid, + const std::pair< std::vector< std::size_t >, + std::vector< std::size_t > >& psup, + const std::vector< real >& dfn, + const tk::Fields& U, + const tk::Fields& G, + tk::Fields& R ) const + { + // access node cooordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // compute derived data structures + auto esued = tk::genEsued( inpoel, 4, tk::genEsup( inpoel, 4 ) ); + + // access pointer to right hand side at component and offset + std::vector< const real* > r( m_ncomp ); + for (ncomp_t c=0; c n{ dfn[ed*6+0], dfn[ed*6+1], dfn[ed*6+2] }; + + std::vector< tk::real > uL( m_ncomp, 0.0 ); + std::vector< tk::real > uR( m_ncomp, 0.0 ); + for (std::size_t c=0; c + N{{ inpoel[e*4+0], inpoel[e*4+1], inpoel[e*4+2], inpoel[e*4+3] }}; + // compute element Jacobi determinant + const std::array< tk::real, 3 > + ba{{ x[N[1]]-x[N[0]], y[N[1]]-y[N[0]], z[N[1]]-z[N[0]] }}, + ca{{ x[N[2]]-x[N[0]], y[N[2]]-y[N[0]], z[N[2]]-z[N[0]] }}, + da{{ x[N[3]]-x[N[0]], y[N[3]]-y[N[0]], z[N[3]]-z[N[0]] }}; + const auto J = tk::triple( ba, ca, da ); // J = 6V + // shape function derivatives, nnode*ndim [5][3] + std::array< std::array< tk::real, 3 >, 4 > grad; + grad[1] = tk::crossdiv( ca, da, J ); + grad[2] = tk::crossdiv( da, ba, J ); + grad[3] = tk::crossdiv( ba, ca, J ); + for (std::size_t i=0; i<3; ++i) + grad[0][i] = -grad[1][i]-grad[2][i]-grad[3][i]; + auto J48 = J/48.0; + for (const auto& [a,b] : tk::lpoed) { + auto s = tk::orient( {N[a],N[b]}, {p,q} ); + for (std::size_t j=0; j<3; ++j) { + for (std::size_t c=0; c, 3 >& coord, + const std::vector< std::size_t >& triinpoel, + const std::vector< int >& symbctri, + const tk::Fields& U, + tk::Fields& R ) const + { + // access node coordinates + const auto& x = coord[0]; + const auto& y = coord[1]; + const auto& z = coord[2]; + + // boundary integrals: compute fluxes in edges + std::vector< real > bflux( triinpoel.size() * m_ncomp * 2 ); + + for (std::size_t e=0; e + N{ triinpoel[e*3+0], triinpoel[e*3+1], triinpoel[e*3+2] }; + // apply symmetry BCs + if (symbctri[e]) continue; + // node coordinates + std::array< tk::real, 3 > xp{ x[N[0]], x[N[1]], x[N[2]] }, + yp{ y[N[0]], y[N[1]], y[N[2]] }, + zp{ z[N[0]], z[N[1]], z[N[2]] }; + // access solution at element nodes + std::vector< std::array< real, 3 > > u( m_ncomp ); + for (ncomp_t c=0; c r( m_ncomp ); + for (ncomp_t c=0; c class Transport { private: - using ncomp_t = kw::ncomp::info::expect::type; - using bcconf_t = kw::sideset::info::expect::type; using eq = tag::transport; - //! Extract BC configuration ignoring if BC not specified - //! \param[in] c Equation system index (among multiple systems configured) - //! \return Vector of BC config of type bcconf_t used to apply BCs for all - //! scalar components this Transport eq system is configured for - //! \note A more preferable way of catching errors such as this function - //! hides is during parsing, so that we don't even get here if BCs are not - //! correctly specified. For now we simply ignore if BCs are not - //! specified by allowing empty BC vectors from the user input. - template< typename bctag > - std::vector< bcconf_t > - config( ncomp_t c ) { - std::vector< bcconf_t > bc; - const auto& v = g_inputdeck.get< tag::param, eq, bctag >(); - if (v.size() > c) bc = v[c]; - return bc; - } - public: //! Constructor //! \param[in] c Equation system index (among multiple systems configured) @@ -84,12 +65,17 @@ class Transport { m_ncomp( g_inputdeck.get< tag::component >().get< eq >().at(c) ), m_offset( - g_inputdeck.get< tag::component >().offset< eq >(c) ), - m_bcextrapolate( config< tag::bcextrapolate >( c ) ), - m_bcinlet( config< tag::bcinlet >( c ) ), - m_bcoutlet( config< tag::bcoutlet >( c ) ), - m_bcdir( config< tag::bcdir >( c ) ) + g_inputdeck.get< tag::component >().offset< eq >(c) ) { + // associate boundary condition configurations with state functions, the + // order in which the state functions listed matters, see ctr::bc::Keys + brigand::for_each< ctr::bc::Keys >( ConfigBC< eq >( m_system, m_bc, + { dirichlet + , invalidBC // Symmetry BC not implemented + , inlet + , outlet + , invalidBC // Characteristic BC not implemented + , extrapolate } ) ); m_problem.errchk( m_system, m_ncomp ); } @@ -124,7 +110,8 @@ class Transport { //! \param[in] geoElem Element geometry array //! \param[in,out] l Block diagonal mass matrix void lhs( const tk::Fields& geoElem, tk::Fields& l ) const { - tk::mass( m_ncomp, m_offset, geoElem, l ); + const auto ndof = g_inputdeck.get< tag::discr, tag::ndof >(); + tk::mass( m_ncomp, m_offset, ndof, geoElem, l ); } //! Update the primitives for this PDE system @@ -134,6 +121,14 @@ class Transport { tk::Fields&, std::size_t ) const {} + //! Clean up the state of trace materials for this PDE system + //! \details This function cleans up the state of materials present in trace + //! quantities in each cell. This is currently unused for transport. + void cleanTraceMaterial( const tk::Fields&, + tk::Fields&, + tk::Fields&, + std::size_t ) const {} + //! Reconstruct second-order solution from first-order //! \param[in] t Physical time //! \param[in] geoFace Face geometry array @@ -142,58 +137,52 @@ class Transport { //! \param[in] inpoel Element-node connectivity //! \param[in] coord Array of nodal coordinates //! \param[in,out] U Solution vector at recent time step + //! \param[in,out] P Primitive vector at recent time step void reconstruct( tk::real t, const tk::Fields& geoFace, const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >&, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, tk::Fields& U, - tk::Fields& ) const + tk::Fields& P ) const { const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); + const auto nelem = fd.Esuel().size()/4; Assert( U.nprop() == rdof*m_ncomp, "Number of components in solution " "vector must equal "+ std::to_string(rdof*m_ncomp) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > - bctypes{{ - { m_bcextrapolate, Extrapolate }, - { m_bcinlet, Inlet }, - { m_bcoutlet, Outlet }, - { m_bcdir, Dirichlet } }}; - // allocate and initialize matrix and vector for reconstruction std::vector< std::array< std::array< tk::real, 3 >, 3 > > - lhs_ls( U.nunk(), {{ {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}}, - {{0.0, 0.0, 0.0}} }} ); + lhs_ls( nelem, {{ {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}}, + {{0.0, 0.0, 0.0}} }} ); std::vector< std::vector< std::array< tk::real, 3 > > > - rhs_ls( U.nunk(), std::vector< std::array< tk::real, 3 > > + rhs_ls( nelem, std::vector< std::array< tk::real, 3 > > ( m_ncomp, {{ 0.0, 0.0, 0.0 }} ) ); // reconstruct x,y,z-derivatives of unknowns - tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, - lhs_ls, rhs_ls ); + // 0. get lhs matrix, which is only geometry dependent + tk::lhsLeastSq_P0P1(fd, geoElem, geoFace, lhs_ls); - // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndLeastSq_P0P1( m_system, m_ncomp, m_offset, rdof, b.first, - fd, geoFace, geoElem, t, b.second, U, lhs_ls, - rhs_ls ); + // 1. internal face contributions + tk::intLeastSq_P0P1( m_ncomp, m_offset, rdof, fd, geoElem, U, rhs_ls ); + + // 2. boundary face contributions + for (const auto& b : m_bc) + tk::bndLeastSqConservedVar_P0P1( m_system, m_ncomp, m_offset, rdof, + b.first, fd, geoFace, geoElem, t, b.second, P, U, rhs_ls ); - // solve 3x3 least-squares system + // 3. solve 3x3 least-squares system tk::solveLeastSq_P0P1( m_ncomp, m_offset, rdof, lhs_ls, rhs_ls, U ); - // transform reconstructed derivatives to Dubiner dofs - tk::transform_P0P1( m_ncomp, m_offset, rdof, fd.Esuel().size()/4, - inpoel, coord, U ); + // 4. transform reconstructed derivatives to Dubiner dofs + tk::transform_P0P1( m_ncomp, m_offset, rdof, nelem, inpoel, coord, U ); } //! Limit second-order solution @@ -209,6 +198,7 @@ class Transport { [[maybe_unused]] const tk::Fields& geoFace, [[maybe_unused]] const tk::Fields& geoElem, const inciter::FaceData& fd, + const std::map< std::size_t, std::vector< std::size_t > >&, const std::vector< std::size_t >& inpoel, const tk::UnsMesh::Coords& coord, const std::vector< std::size_t >& ndofel, @@ -258,8 +248,6 @@ class Transport { "vector must equal "+ std::to_string(0) ); Assert( R.nprop() == ndof*m_ncomp, "Number of components in right-hand " "side vector must equal "+ std::to_string(ndof*m_ncomp) ); - Assert( inpoel.size()/4 == U.nunk(), "Connectivity inpoel has incorrect " - "size" ); Assert( fd.Inpofa().size()/3 == fd.Esuf().size()/2, "Mismatch in inpofa size" ); @@ -271,26 +259,20 @@ class Transport { // system of PDEs. std::vector< std::vector < tk::real > > riemannDeriv; - // supported boundary condition types and associated state functions - std::vector< std::pair< std::vector< bcconf_t >, tk::StateFn > > bctypes{{ - { m_bcextrapolate, Extrapolate }, - { m_bcinlet, Inlet }, - { m_bcoutlet, Outlet }, - { m_bcdir, Dirichlet } }}; - // compute internal surface flux integrals - tk::surfInt( m_system, m_ncomp, 1, m_offset, ndof, rdof, inpoel, coord, + tk::surfInt( m_system, 1, m_offset, ndof, rdof, inpoel, coord, fd, geoFace, Upwind::flux, Problem::prescribedVelocity, U, P, ndofel, R, riemannDeriv ); if(ndof > 1) // compute volume integrals - tk::volInt( m_system, m_ncomp, m_offset, ndof, inpoel, coord, geoElem, - flux, Problem::prescribedVelocity, U, ndofel, R ); + tk::volInt( m_system, m_ncomp, m_offset, ndof, fd.Esuel().size()/4, + inpoel, coord, geoElem, flux, Problem::prescribedVelocity, + U, ndofel, R ); // compute boundary surface flux integrals - for (const auto& b : bctypes) - tk::bndSurfInt( m_system, m_ncomp, 1, m_offset, ndof, rdof, b.first, fd, + for (const auto& b : m_bc) + tk::bndSurfInt( m_system, 1, m_offset, ndof, rdof, b.first, fd, geoFace, inpoel, coord, t, Upwind::flux, Problem::prescribedVelocity, b.second, U, P, ndofel, R, riemannDeriv ); } @@ -306,18 +288,14 @@ class Transport { const tk::Fields& /*geoFace*/, const tk::Fields& /*geoElem*/, const std::vector< std::size_t >& /*ndofel*/, - const tk::Fields& /*U*/ ) const + const tk::Fields& /*U*/, + const tk::Fields&, + const std::size_t /*nielem*/ ) const { tk::real mindt = std::numeric_limits< tk::real >::max(); return mindt; } - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - //! \param[in,out] conf Set of unique side set IDs to add to - void side( std::unordered_set< int >& conf ) const - { m_problem.side( conf ); } - //! Return field names to be output to file //! \return Vector of strings labelling fields output in file //! \details This functions should be written in conjunction with @@ -341,15 +319,18 @@ class Transport { return n; } - //! + //! Return field names to be output to file + //! \return Vector of strings labelling fields output in file + std::vector< std::string > nodalFieldNames() const + { return {}; } + + //! Return surface field output going to file std::vector< std::vector< tk::real > > - avgElemToNode( const std::vector< std::size_t >& /*inpoel*/, - const tk::UnsMesh::Coords& /*coord*/, - const tk::Fields& /*geoElem*/, - const tk::Fields& /*U*/ ) const + surfOutput( const std::map< int, std::vector< std::size_t > >&, + tk::Fields& ) const { - std::vector< std::vector< tk::real > > out; - return out; + std::vector< std::vector< tk::real > > s; // punt for now + return s; } //! Return field output going to file @@ -362,8 +343,12 @@ class Transport { //! \note U is overwritten std::vector< std::vector< tk::real > > fieldOutput( tk::real t, + tk::real, + std::size_t, + std::size_t, const tk::Fields& geoElem, - tk::Fields& U ) const + tk::Fields& U, + const tk::Fields& ) const { const auto rdof = g_inputdeck.get< tag::discr, tag::rdof >(); Assert( geoElem.nunk() == U.nunk(), "Size mismatch" ); @@ -375,8 +360,9 @@ class Transport { auto E = U; for (std::size_t e=0; e > + nodalFieldOutput( tk::real, + tk::real, + std::size_t, + const std::map< std::size_t, std::vector< std::size_t > >&, + const tk::Fields&, + tk::Fields&, + tk::Fields&, + tk::Fields&, + const tk::Fields& ) const + { + return {}; + } + //! Return names of integral variables to be output to diagnostics file //! \return Vector of strings labelling integral variables output std::vector< std::string > names() const { @@ -415,7 +416,10 @@ class Transport { //! \return Vector of analytic solution at given spatial location and time std::vector< tk::real > analyticSolution( tk::real xi, tk::real yi, tk::real zi, tk::real t ) const - { return Problem::solution( m_system, m_ncomp, xi, yi, zi, t ); } + { + int inbox = 0; + return Problem::solution( m_system, m_ncomp, xi, yi, zi, t, inbox ); + } private: const Physics m_physics; //!< Physics policy @@ -423,14 +427,8 @@ class Transport { const ncomp_t m_system; //!< Equation system index const ncomp_t m_ncomp; //!< Number of components in this PDE const ncomp_t m_offset; //!< Offset this PDE operates from - //! Extrapolation BC configuration - const std::vector< bcconf_t > m_bcextrapolate; - //! Inlet BC configuration - const std::vector< bcconf_t > m_bcinlet; - //! Outlet BC configuration - const std::vector< bcconf_t > m_bcoutlet; - //! Dirichlet BC configuration - const std::vector< bcconf_t > m_bcdir; + //! BC configuration + BCStateFn m_bc; //! Evaluate physical flux function for this PDE system //! \param[in] ncomp Number of scalar components in this PDE system @@ -464,7 +462,7 @@ class Transport { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Extrapolate( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, + extrapolate( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& ) { @@ -478,7 +476,7 @@ class Transport { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Inlet( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, + inlet( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& ) { @@ -494,7 +492,7 @@ class Transport { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Outlet( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, + outlet( ncomp_t, ncomp_t, const std::vector< tk::real >& ul, tk::real, tk::real, tk::real, tk::real, const std::array< tk::real, 3 >& ) { @@ -514,11 +512,12 @@ class Transport { //! system //! \note The function signature must follow tk::StateFn static tk::StateFn::result_type - Dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, + dirichlet( ncomp_t system, ncomp_t ncomp, const std::vector< tk::real >& ul, tk::real x, tk::real y, tk::real z, tk::real t, const std::array< tk::real, 3 >& ) { - return {{ ul, Problem::solution( system, ncomp, x, y, z, t ) }}; + int inbox = 0; + return {{ ul, Problem::solution( system, ncomp, x, y, z, t, inbox ) }}; } }; diff --git a/src/PDE/Transport/Physics/CG.hpp b/src/PDE/Transport/Physics/CG.hpp index d3a2e48e7fd..af9633155dd 100644 --- a/src/PDE/Transport/Physics/CG.hpp +++ b/src/PDE/Transport/Physics/CG.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Physics/CG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics configurations for scalar transport using continuous Galerkin diff --git a/src/PDE/Transport/Physics/CGAdvDiff.cpp b/src/PDE/Transport/Physics/CGAdvDiff.cpp index 89886edf25c..5fde4614b41 100644 --- a/src/PDE/Transport/Physics/CGAdvDiff.cpp +++ b/src/PDE/Transport/Physics/CGAdvDiff.cpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Physics/CGAdvDiff.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for the transport equations using continuous Galerkin (CG) @@ -28,7 +28,7 @@ using inciter::cg::TransportPhysicsAdvDiff; void TransportPhysicsAdvDiff::diffusionRhs( - ncomp_t e, + ncomp_t system, ncomp_t ncomp, tk::real deltat, tk::real J, @@ -38,12 +38,15 @@ TransportPhysicsAdvDiff::diffusionRhs( const std::vector< const tk::real* >& r, tk::Fields& R ) const // ***************************************************************************** -//! Add diffusion contribution to rhs at 2nd time step stage -//! \param[in] e Equation system index, i.e., which transport equation +// Add diffusion contribution to rhs +//! \param[in] system Equation system index, i.e., which transport equation //! system we operate on among the systems of PDEs //! \param[in] ncomp Number of components in this PDE //! \param[in] deltat Size of time step //! \param[in] J Element Jacobi determinant +//! \param[in] gid Local->global node id map +//! \param[in] bid Local chare-boundary node ids (value) associated to global +//! node ids (key) //! \param[in] grad Shape function derivatives, nnode*ndim [4][3] //! \param[in] N Element node indices //! \param[in] u Solution at element nodes at recent time step @@ -52,17 +55,18 @@ TransportPhysicsAdvDiff::diffusionRhs( // ***************************************************************************** { // diffusivities for all components - const auto& diff = g_inputdeck.get< tag::param, eq, tag::diffusivity >()[e]; + const auto& diff = + g_inputdeck.get< tag::param, eq, tag::diffusivity >()[ system ]; // add diffusion contribution to right hand side const auto d = deltat * J/6.0; - for (ncomp_t c=0; c, 4 >&, const std::array< std::size_t, 4 >&, const std::vector< std::array< tk::real, 4 > >&, const std::vector< const tk::real* >&, - tk::Fields& ) - {} + tk::Fields& ) const {} //! Compute the minimum time step size based on the diffusion //! \return A large time step size, i.e., ignore - static tk::real + tk::real diffusion_dt( tk::ctr::ncomp_t, tk::ctr::ncomp_t, tk::real, - const std::vector< std::array< tk::real, 4 > >& ) + const std::vector< std::array< tk::real, 4 > >& ) const { return std::numeric_limits< tk::real >::max(); } static ctr::PhysicsType type() noexcept diff --git a/src/PDE/Transport/Physics/DG.hpp b/src/PDE/Transport/Physics/DG.hpp index d7d09f512e8..972f5b2deeb 100644 --- a/src/PDE/Transport/Physics/DG.hpp +++ b/src/PDE/Transport/Physics/DG.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Physics/DG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics configurations for scalar transport using discontinuous Galerkin diff --git a/src/PDE/Transport/Physics/DGAdvection.hpp b/src/PDE/Transport/Physics/DGAdvection.hpp index 0213cac1f4d..0afa525fcd5 100644 --- a/src/PDE/Transport/Physics/DGAdvection.hpp +++ b/src/PDE/Transport/Physics/DGAdvection.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Physics/DGAdvection.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Physics policy for advection using continuous Galerkin (no-op) \details This file defines a Physics policy class for scalar transport using diff --git a/src/PDE/Transport/Problem.hpp b/src/PDE/Transport/Problem.hpp index 986e5bd17e1..837c1ce4fcb 100644 --- a/src/PDE/Transport/Problem.hpp +++ b/src/PDE/Transport/Problem.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief All problem configurations for the scalar transport equations \details This file collects all Problem policy classes for the scalar @@ -27,12 +27,6 @@ analytic solution (if defined) and for initialization of the computed fields at time _t_. - - Must define the function _solinc()_, used to evaluate the - increment from t to t+dt of the analytic solution (if defined). - - - Must define the function _side()_, used to query all side set IDs - the user has configured for all components. - - Must define the static function _prescribedVelocity()_, used to query the prescribed velocity at a point. */ diff --git a/src/PDE/Transport/Problem/CylAdvect.cpp b/src/PDE/Transport/Problem/CylAdvect.cpp index 0748a4e8ee6..64cd7b4e9f6 100644 --- a/src/PDE/Transport/Problem/CylAdvect.cpp +++ b/src/PDE/Transport/Problem/CylAdvect.cpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/CylAdvect.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file defines a Problem policy class for the transport @@ -28,7 +28,7 @@ using inciter::TransportProblemCylAdvect; std::vector< tk::real > TransportProblemCylAdvect::solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ) + tk::real x, tk::real y, tk::real, tk::real t, int& ) // ***************************************************************************** // Evaluate analytical solution at (x,y,t) for all components //! \param[in] system Equation system index @@ -59,57 +59,6 @@ TransportProblemCylAdvect::solution( ncomp_t system, ncomp_t ncomp, return s; } -std::vector< tk::real > -TransportProblemCylAdvect::solinc( ncomp_t, ncomp_t ncomp, tk::real x, - tk::real y, tk::real, tk::real t, tk::real dt ) -const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] ncomp Number of components in this transport equation system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( 0, ncomp, x, y, 0.0, t ); - auto st2 = solution( 0, ncomp, x, y, 0.0, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -void -TransportProblemCylAdvect::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcinlet >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcoutlet >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::array< tk::real, 3 > > TransportProblemCylAdvect::prescribedVelocity( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real ) diff --git a/src/PDE/Transport/Problem/CylAdvect.hpp b/src/PDE/Transport/Problem/CylAdvect.hpp index 05975b72644..5c5fc784c02 100644 --- a/src/PDE/Transport/Problem/CylAdvect.hpp +++ b/src/PDE/Transport/Problem/CylAdvect.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/CylAdvect.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file declares a Problem policy class for the transport @@ -36,21 +36,11 @@ class TransportProblemCylAdvect { //! Evaluate analytical solution at (x,y,t) for all components static std::vector< tk::real > solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t, ncomp_t ncomp, tk::real x, tk::real y, tk::real, - tk::real t, tk::real dt ) const; + tk::real x, tk::real y, tk::real, tk::real t, int& ); //! Do error checking on PDE parameters void errchk( ncomp_t, ncomp_t ) const {} - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; - //! Assign prescribed velocity at a point static std::vector< std::array< tk::real, 3 > > prescribedVelocity( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real ); diff --git a/src/PDE/Transport/Problem/GaussHump.cpp b/src/PDE/Transport/Problem/GaussHump.cpp index b5979f005de..73571d491e1 100644 --- a/src/PDE/Transport/Problem/GaussHump.cpp +++ b/src/PDE/Transport/Problem/GaussHump.cpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/GaussHump.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file defines a Problem policy class for the transport @@ -28,7 +28,7 @@ using inciter::TransportProblemGaussHump; std::vector< tk::real > TransportProblemGaussHump::solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ) + tk::real x, tk::real y, tk::real, tk::real t, int& ) // ***************************************************************************** // Evaluate analytical solution at (x,y,t) for all components //! \param[in] system Equation system index @@ -49,63 +49,11 @@ TransportProblemGaussHump::solution( ncomp_t system, ncomp_t ncomp, auto y0 = 0.25 + vel[c][1]*t; // hump - s[c] = 1.0 * exp( -((x-x0)*(x-x0) - + (y-y0)*(y-y0))/(2.0 * 0.005) ); + s[c] = 1.0 * exp( -((x-x0)*(x-x0) + (y-y0)*(y-y0))/(2.0 * 0.005) ); } return s; } -std::vector< tk::real > -TransportProblemGaussHump::solinc( ncomp_t, ncomp_t ncomp, tk::real x, - tk::real y, tk::real, tk::real t, tk::real dt ) -const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] ncomp Number of components in this transport equation system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( 0, ncomp, x, y, 0.0, t ); - auto st2 = solution( 0, ncomp, x, y, 0.0, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -void -TransportProblemGaussHump::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcinlet >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcoutlet >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcextrapolate >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); - - for (const auto& s : g_inputdeck.get< param, eq, tag::bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::array< tk::real, 3 > > TransportProblemGaussHump::prescribedVelocity( ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real ) diff --git a/src/PDE/Transport/Problem/GaussHump.hpp b/src/PDE/Transport/Problem/GaussHump.hpp index 7934d33aeae..f3d420214a6 100644 --- a/src/PDE/Transport/Problem/GaussHump.hpp +++ b/src/PDE/Transport/Problem/GaussHump.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/GaussHump.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file declares a Problem policy class for the transport @@ -36,21 +36,11 @@ class TransportProblemGaussHump { //! Evaluate analytical solution at (x,y,t) for all components static std::vector< tk::real > solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t, ncomp_t ncomp, tk::real x, tk::real y, tk::real, - tk::real t, tk::real dt ) const; + tk::real x, tk::real y, tk::real, tk::real t, int& ); //! Do error checking on PDE parameters void errchk( ncomp_t, ncomp_t ) const {} - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; - //! Assign prescribed velocity at a point static std::vector< std::array< tk::real, 3 > > prescribedVelocity( ncomp_t, diff --git a/src/PDE/Transport/Problem/ShearDiff.cpp b/src/PDE/Transport/Problem/ShearDiff.cpp index 946c46ab72b..65e9fd74742 100644 --- a/src/PDE/Transport/Problem/ShearDiff.cpp +++ b/src/PDE/Transport/Problem/ShearDiff.cpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/ShearDiff.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file defines a Problem policy class for the transport @@ -28,7 +28,7 @@ using inciter::TransportProblemShearDiff; std::vector< tk::real > TransportProblemShearDiff::solution( ncomp_t system, ncomp_t ncomp, - tk::real x, tk::real y, tk::real z, tk::real t ) + tk::real x, tk::real y, tk::real z, tk::real t, int& ) // ***************************************************************************** // Evaluate analytical solution at (x,y,z,t) for all components //! \param[in] system Equation system index @@ -66,32 +66,6 @@ TransportProblemShearDiff::solution( ncomp_t system, ncomp_t ncomp, return r; } -std::vector< tk::real > -TransportProblemShearDiff::solinc( ncomp_t system, ncomp_t ncomp, tk::real x, - tk::real y, tk::real z, tk::real t, tk::real dt ) -const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] system Equation system index -//! \param[in] ncomp Number of components in this transport equation system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] z Z coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( system, ncomp, x, y, z, t ); - auto st2 = solution( system, ncomp, x, y, z, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - void TransportProblemShearDiff::errchk( ncomp_t system, ncomp_t ncomp ) const // ***************************************************************************** @@ -116,21 +90,6 @@ TransportProblemShearDiff::errchk( ncomp_t system, ncomp_t ncomp ) const "Wrong number of advection-diffusion PDE parameters 'diffusivity'" ); } -void -TransportProblemShearDiff::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::array< tk::real, 3 > > TransportProblemShearDiff::prescribedVelocity( ncomp_t system, ncomp_t ncomp, tk::real, tk::real y, tk::real z ) diff --git a/src/PDE/Transport/Problem/ShearDiff.hpp b/src/PDE/Transport/Problem/ShearDiff.hpp index b511a597535..d4e98d80a49 100644 --- a/src/PDE/Transport/Problem/ShearDiff.hpp +++ b/src/PDE/Transport/Problem/ShearDiff.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/ShearDiff.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for scalar transport equations \details This file declares a Problem policy class for the transport @@ -70,21 +70,11 @@ class TransportProblemShearDiff { //! Evaluate analytical solution at (x,y,z,t) for all components static std::vector< tk::real > solution( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, - tk::real t, tk::real dt ) const; + tk::real t, int& ); //! Do error checking on PDE parameters void errchk( ncomp_t system, ncomp_t ncomp ) const; - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; - //! Assign prescribed shear velocity at a point static std::vector< std::array< tk::real, 3 > > prescribedVelocity( ncomp_t system, diff --git a/src/PDE/Transport/Problem/SlotCyl.cpp b/src/PDE/Transport/Problem/SlotCyl.cpp index 272dd1be9d1..324d2ee7239 100644 --- a/src/PDE/Transport/Problem/SlotCyl.cpp +++ b/src/PDE/Transport/Problem/SlotCyl.cpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/SlotCyl.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file defines a Problem policy class for the transport @@ -28,8 +28,8 @@ extern ctr::InputDeck g_inputdeck; using inciter::TransportProblemSlotCyl; std::vector< tk::real > -TransportProblemSlotCyl::solution( ncomp_t, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ) +TransportProblemSlotCyl::solution( ncomp_t, ncomp_t ncomp, tk::real x, + tk::real y, tk::real, tk::real t, int& ) // ***************************************************************************** // Evaluate analytical solution at (x,y,t) for all components //! \param[in] ncomp Number of components in this transport equation system @@ -110,45 +110,6 @@ TransportProblemSlotCyl::solution( ncomp_t, ncomp_t ncomp, return s; } -std::vector< tk::real > -TransportProblemSlotCyl::solinc( ncomp_t, ncomp_t ncomp, tk::real x, - tk::real y, tk::real, tk::real t, tk::real dt ) -const -// ***************************************************************************** -// Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) -// for all components -//! \param[in] ncomp Number of components in this transport equation system -//! \param[in] x X coordinate where to evaluate the solution -//! \param[in] y Y coordinate where to evaluate the solution -//! \param[in] t Time where to evaluate the solution increment starting from -//! \param[in] dt Time increment at which evaluate the solution increment to -//! \return Increment in values of all components evaluated at (x,y,t+dt) -// ***************************************************************************** -{ - auto st1 = solution( 0, ncomp, x, y, 0.0, t ); - auto st2 = solution( 0, ncomp, x, y, 0.0, t+dt ); - - std::transform( begin(st1), end(st1), begin(st2), begin(st2), - []( tk::real s, tk::real& d ){ return d -= s; } ); - - return st2; -} - -void -TransportProblemSlotCyl::side( std::unordered_set< int >& conf ) const -// ***************************************************************************** -// Query all side set IDs the user has configured for all components in this -// PDE system -//! \param[in,out] conf Set of unique side set IDs to add to -// ***************************************************************************** -{ - using tag::param; using tag::bcdir; - - for (const auto& s : g_inputdeck.get< param, eq, bcdir >()) - for (const auto& i : s) - conf.insert( std::stoi(i) ); -} - std::vector< std::array< tk::real, 3 > > TransportProblemSlotCyl::prescribedVelocity( ncomp_t, ncomp_t ncomp, tk::real x, tk::real y, tk::real ) diff --git a/src/PDE/Transport/Problem/SlotCyl.hpp b/src/PDE/Transport/Problem/SlotCyl.hpp index b9dec5a917b..3d15640c1b0 100644 --- a/src/PDE/Transport/Problem/SlotCyl.hpp +++ b/src/PDE/Transport/Problem/SlotCyl.hpp @@ -3,7 +3,7 @@ \file src/PDE/Transport/Problem/SlotCyl.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Problem configuration for transport equations \details This file declares a Problem policy class for the transport @@ -41,21 +41,11 @@ class TransportProblemSlotCyl { //! Evaluate analytical solution at (x,y,t) for all components static std::vector< tk::real > solution( ncomp_t, ncomp_t ncomp, - tk::real x, tk::real y, tk::real, tk::real t ); - - //! \brief Evaluate the increment from t to t+dt of the analytical solution - //! at (x,y,z) for all components - std::vector< tk::real > - solinc( ncomp_t, ncomp_t ncomp, tk::real x, tk::real y, tk::real, - tk::real t, tk::real dt ) const; + tk::real x, tk::real y, tk::real, tk::real t, int& ); //! Do error checking on PDE parameters void errchk( ncomp_t, ncomp_t ) const {} - //! \brief Query all side set IDs the user has configured for all components - //! in this PDE system - void side( std::unordered_set< int >& conf ) const; - //! Assign prescribed velocity at a point static std::vector< std::array< tk::real, 3 > > prescribedVelocity( ncomp_t, diff --git a/src/Particles/Tracker.cpp b/src/Particles/Tracker.cpp index d1d23dc9847..f5a2cd53734 100644 --- a/src/Particles/Tracker.cpp +++ b/src/Particles/Tracker.cpp @@ -3,7 +3,7 @@ \file src/Particles/Tracker.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Tracker tracks Lagrangian particles in physical space \details Tracker tracks Lagrangian particles in physical space. It works on diff --git a/src/Particles/Tracker.hpp b/src/Particles/Tracker.hpp index 9921f2e6fea..8d1d8920d3b 100644 --- a/src/Particles/Tracker.hpp +++ b/src/Particles/Tracker.hpp @@ -3,7 +3,7 @@ \file src/Particles/Tracker.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Tracker tracks Lagrangian particles in physical space \details Tracker tracks Lagrangian particles in physical space. It works on diff --git a/src/RNG/MKLRNG.hpp b/src/RNG/MKLRNG.hpp index 2ddbef868b8..44cf483a5c4 100644 --- a/src/RNG/MKLRNG.hpp +++ b/src/RNG/MKLRNG.hpp @@ -3,7 +3,7 @@ \file src/RNG/MKLRNG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interface to Intel MKL VSL random number generators \details Interface to Intel MKL VSL random number generators. diff --git a/src/RNG/RNG.hpp b/src/RNG/RNG.hpp index dfdb47f29a1..60bc9c853f0 100644 --- a/src/RNG/RNG.hpp +++ b/src/RNG/RNG.hpp @@ -3,7 +3,7 @@ \file src/RNG/RNG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Random number generator \details This file defines a generic random number generator class. The diff --git a/src/RNG/RNGSSE.hpp b/src/RNG/RNGSSE.hpp index af9a130bbff..66e10ba2369 100644 --- a/src/RNG/RNGSSE.hpp +++ b/src/RNG/RNGSSE.hpp @@ -3,7 +3,7 @@ \file src/RNG/RNGSSE.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interface to RNGSSE random number generators \details Interface to RNGSSE random number generators diff --git a/src/RNG/RNGStack.cpp b/src/RNG/RNGStack.cpp index 34c3a40f224..a1e4418cf9c 100644 --- a/src/RNG/RNGStack.cpp +++ b/src/RNG/RNGStack.cpp @@ -3,7 +3,7 @@ \file src/RNG/RNGStack.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of random number generators \details This file defines class RNGStack, which implements various diff --git a/src/RNG/RNGStack.hpp b/src/RNG/RNGStack.hpp index fca86077bd3..c7c3b3e708d 100644 --- a/src/RNG/RNGStack.hpp +++ b/src/RNG/RNGStack.hpp @@ -3,7 +3,7 @@ \file src/RNG/RNGStack.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of random number generators \details This file declares class RNGStack, which implements various diff --git a/src/RNG/Random123.hpp b/src/RNG/Random123.hpp index f836280f3ab..71cfe884235 100644 --- a/src/RNG/Random123.hpp +++ b/src/RNG/Random123.hpp @@ -3,7 +3,7 @@ \file src/RNG/Random123.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interface to Random123 random number generators \details Interface to Random123 random number generators @@ -16,6 +16,7 @@ #include #include #include +#include #include "NoWarning/uniform.hpp" #include "NoWarning/beta_distribution.hpp" @@ -154,7 +155,11 @@ class Random123 { double* r ) const { Adaptor generator( m_rng, m_data, tid ); boost::random::beta_distribution<> beta_dist( p, q ); + fenv_t fe; + feholdexcept( &fe ); for (ncomp_t i=0; i gamma_dist( a, b ); + fenv_t fe; + feholdexcept( &fe ); for (ncomp_t i=0; i #include #include +#include #include "Tags.hpp" #include "Exception.hpp" @@ -154,9 +155,17 @@ TestU01Stack::BirthdaySpacings( unif01_Gen* gen, sres_Poisson* res, // ***************************************************************************** { using std::get; + + fenv_t fe; + feholdexcept( &fe ); + smarsa_BirthdaySpacings( gen, res, get<0>(xargs), get<1>(xargs), get<2>(xargs), get<3>(xargs), get<4>(xargs), get<5>(xargs) ); + + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); + return { res->pVal2 }; } @@ -275,8 +284,16 @@ TestU01Stack::MatrixRank( unif01_Gen* gen, sres_Chi2* res, // ***************************************************************************** { using std::get; + + fenv_t fe; + feholdexcept( &fe ); + smarsa_MatrixRank( gen, res, get<0>(xargs), get<1>(xargs), get<2>(xargs), get<3>(xargs), get<4>(xargs), get<5>(xargs) ); + + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); + return { res->pVal2[gofw_Mean] }; } diff --git a/src/RNGTest/TestU01Stack.hpp b/src/RNGTest/TestU01Stack.hpp index cf8b02e450a..16e77ce0e5c 100644 --- a/src/RNGTest/TestU01Stack.hpp +++ b/src/RNGTest/TestU01Stack.hpp @@ -3,7 +3,7 @@ \file src/RNGTest/TestU01Stack.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Stack of TestU01 RNG statistical tests \details Stack of TestU01 RNG statistical tests diff --git a/src/RNGTest/TestU01Suite.cpp b/src/RNGTest/TestU01Suite.cpp index 554bc2276cc..dcd9f2f9734 100644 --- a/src/RNGTest/TestU01Suite.cpp +++ b/src/RNGTest/TestU01Suite.cpp @@ -3,7 +3,7 @@ \file src/RNGTest/TestU01Suite.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief TestU01 random number generator test suite \details This file declares the TestU01 random number generator test suite, @@ -18,7 +18,6 @@ #include "NoWarning/format.hpp" -#include "Print.hpp" #include "TestU01Suite.hpp" #include "TestStack.hpp" #include "SmallCrush.hpp" @@ -40,8 +39,6 @@ extern TestStack g_testStack; using rngtest::TestU01Suite; TestU01Suite::TestU01Suite( ctr::BatteryType suite ) : - m_print( rngtest::g_inputdeck.get< tag::cmd, tag::verbose >() ? - std::cout : std::clog ), m_ctrs(), m_tests(), m_name(), @@ -82,7 +79,7 @@ TestU01Suite::npval( std::size_t n ) m_npval += n; if ( ++m_ntest == ntest() ) { - m_print.battery( ntest(), m_npval ); + printer().battery( ntest(), m_npval ); // Collect test names from all tests (one per RNG) m_ntest = 0; for (std::size_t i=0; i n ) //! \param[in] n Vector of test names (there can be more than one from one test) // ***************************************************************************** { - m_print.names( n ); + auto print = printer(); + + print.names( n ); if ( ++m_ntest == ntest() ) { const auto& rngs = g_inputdeck.get< tag::selected, tag::rng >(); std::stringstream ss; ss << "RNGs tested (" << rngs.size() << ")"; - m_print.section( ss.str() ); + print.section( ss.str() ); #ifdef HAS_MKL - m_print.MKLParams( rngs, g_inputdeck.get< tag::param, tag::rngmkl >() ); + print.MKLParams( rngs, g_inputdeck.get< tag::param, tag::rngmkl >() ); #endif - m_print.RNGSSEParams( rngs, g_inputdeck.get< tag::param, tag::rngsse >() ); - m_print.Random123Params( rngs, - g_inputdeck.get< tag::param, tag::rng123 >() ); - m_print.endpart(); - m_print.part( m_name ); - m_print.statshead( "Statistics computed", - m_npval*rngs.size(), - m_ctrs.size() ); + print.RNGSSEParams( rngs, g_inputdeck.get< tag::param, tag::rngsse >() ); + print.Random123Params( rngs, + g_inputdeck.get< tag::param, tag::rng123 >() ); + print.endpart(); + print.part( m_name ); + print.statshead( "Statistics computed", + m_npval*rngs.size(), + m_ctrs.size() ); // Run battery of RNG tests for (const auto& t : m_tests) t.run(); @@ -141,7 +140,7 @@ TestU01Suite::evaluate( std::vector< std::vector< std::string > > status ) //! \param[in] status Status vectors of strings for a test // ***************************************************************************** { - m_print.test( ++m_ncomplete, m_ctrs.size(), m_nfail, status ); + printer().test( ++m_ncomplete, m_ctrs.size(), m_nfail, status ); // Store information on failed test for final assessment for (std::size_t p=0; p(); - m_print.failed( "Failed statistics", m_npval*rngs.size(), m_failed ); - } else m_print.note< tk::QUIET >( "All tests passed" ); + print.failed( "Failed statistics", m_npval*rngs.size(), m_failed ); + } else print.note< tk::QUIET >( "All tests passed" ); // Cost and quality assessment only for more than one RNG if (m_time.size() > 1) { // Output measured times per RNG in order of computational cost - m_print.cost( "Generator cost", - "Measured times in seconds in increasing order (low is good)", - m_time ); + print.cost( "Generator cost", + "Measured times in seconds in increasing order (low is good)", + m_time ); // Output number of failed tests per RNG in order of decreasing quality - m_print.rank( "Generator quality", - "Number of failed tests in increasing order (low is good)", - m_nfail ); + print.rank( "Generator quality", + "Number of failed tests in increasing order (low is good)", + m_nfail ); } // Quit diff --git a/src/RNGTest/TestU01Suite.hpp b/src/RNGTest/TestU01Suite.hpp index f289e24e4de..4b3980ad701 100644 --- a/src/RNGTest/TestU01Suite.hpp +++ b/src/RNGTest/TestU01Suite.hpp @@ -3,7 +3,7 @@ \file src/RNGTest/TestU01Suite.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief TestU01 random number generator test suite \details This file declares the TestU01 random number generator test suite, @@ -39,6 +39,7 @@ extern "C" { namespace rngtest { extern ctr::InputDeck g_inputdeck; +extern ctr::InputDeck g_inputdeck_defaults; //! \brief TestU01 random number generator test suite used polymorphically with //! Battery @@ -76,24 +77,6 @@ class TestU01Suite : public CBase_TestU01Suite { void time( std::pair< std::string, tk::real > t ); private: - //! Add all statistical tests to suite, return suite name - //! \return Test suite name - template< class Suite > - std::string addTests() { - const auto rngs = g_inputdeck.get< tag::selected, tag::rng >(); - ErrChk( !rngs.empty(), "No RNGs selected" ); - Suite suite; - for (const auto& r : rngs) suite.addTests( m_ctrs, r, thisProxy ); - return suite.name(); - } - - //! Return number of statistical tests - std::size_t ntest() const; - - //! Output final assessment - void assess(); - - RNGTestPrint m_print; //!< Pretty printer std::vector< std::function< StatTest() > > m_ctrs; //! Tests constructors std::vector< StatTest > m_tests; //!< Constructed statistical tests std::string m_name; //!< Test suite name @@ -113,6 +96,34 @@ class TestU01Suite : public CBase_TestU01Suite { test( std::move(t) ), rng( std::move(r) ), pval( std::move(p) ) {} }; std::vector< Failed > m_failed; //!< Details of failed tests + + //! Add all statistical tests to suite, return suite name + //! \return Test suite name + template< class Suite > + std::string addTests() { + const auto rngs = g_inputdeck.get< tag::selected, tag::rng >(); + ErrChk( !rngs.empty(), "No RNGs selected" ); + Suite suite; + for (const auto& r : rngs) suite.addTests( m_ctrs, r, thisProxy ); + return suite.name(); + } + + //! Return number of statistical tests + std::size_t ntest() const; + + //! Output final assessment + void assess(); + + //! Create pretty printer specialized to RNGTest + //! \return Pretty printer + RNGTestPrint printer() const { + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + auto nrestart = g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(); + return RNGTestPrint( g_inputdeck.get< tag::cmd >().logname( def, nrestart ), + g_inputdeck.get< tag::cmd, tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + } }; } // rngtest:: diff --git a/src/RNGTest/TestU01Util.hpp b/src/RNGTest/TestU01Util.hpp index c6694602787..a8bfe2776f3 100644 --- a/src/RNGTest/TestU01Util.hpp +++ b/src/RNGTest/TestU01Util.hpp @@ -3,7 +3,7 @@ \file src/RNGTest/TestU01Util.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Interfacing the TestU01 random number generator test suite \details Interfacing the TestU01 random number generator test suite. diff --git a/src/RNGTest/TestU01Wrappers.hpp b/src/RNGTest/TestU01Wrappers.hpp index 06c1b6f7efc..b3903ef36bd 100644 --- a/src/RNGTest/TestU01Wrappers.hpp +++ b/src/RNGTest/TestU01Wrappers.hpp @@ -3,7 +3,7 @@ \file src/RNGTest/TestU01Wrappers.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief TestU01 global-scope wrappers \details TestU01 global-scope wrappers. For more info on why these functions diff --git a/src/RNGTest/testu01.ci b/src/RNGTest/testu01.ci index 0b957c37421..3cf7588ee5f 100644 --- a/src/RNGTest/testu01.ci +++ b/src/RNGTest/testu01.ci @@ -3,7 +3,7 @@ \file src/RNGTest/testu01.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for TestU01 statistical tests \details Charm++ module interface file for TestU01 statistical tests. diff --git a/src/RNGTest/testu01suite.ci b/src/RNGTest/testu01suite.ci index a5b63bc2d7c..136d5e97d7a 100644 --- a/src/RNGTest/testu01suite.ci +++ b/src/RNGTest/testu01suite.ci @@ -3,7 +3,7 @@ \file src/RNGTest/testu01suite.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for TestU01 statistical test suites \details Charm++ module interface file for TestU01 statistical test suites diff --git a/src/Statistics/BiPDF.hpp b/src/Statistics/BiPDF.hpp index 773a4f0a58b..7f745d29d68 100644 --- a/src/Statistics/BiPDF.hpp +++ b/src/Statistics/BiPDF.hpp @@ -3,7 +3,7 @@ \file src/Statistics/BiPDF.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Joint bivariate PDF estimator \details Joint bivariate PDF estimator. This class can be used to estimate a diff --git a/src/Statistics/PDFReducer.cpp b/src/Statistics/PDFReducer.cpp index 9e8880bfddf..fe3ff952777 100644 --- a/src/Statistics/PDFReducer.cpp +++ b/src/Statistics/PDFReducer.cpp @@ -3,7 +3,7 @@ \file src/Statistics/PDFReducer.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Custom Charm++ reducer for merging PDFs across PEs \details Custom Charm++ reducer for merging PDFs across PEs. diff --git a/src/Statistics/PDFReducer.hpp b/src/Statistics/PDFReducer.hpp index 724e5be2fa5..d8faac4d797 100644 --- a/src/Statistics/PDFReducer.hpp +++ b/src/Statistics/PDFReducer.hpp @@ -3,7 +3,7 @@ \file src/Statistics/PDFReducer.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Custom Charm++ reducer for merging PDFs across PEs \details Custom Charm++ reducer for merging PDFs across PEs. diff --git a/src/Statistics/Statistics.cpp b/src/Statistics/Statistics.cpp index e0a179d3b44..6a143b66b03 100644 --- a/src/Statistics/Statistics.cpp +++ b/src/Statistics/Statistics.cpp @@ -3,7 +3,7 @@ \file src/Statistics/Statistics.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Statistics class definition \details This file implements a statistics class that can be used to @@ -21,6 +21,7 @@ #include #include #include +#include #include "Types.hpp" #include "Exception.hpp" @@ -264,6 +265,9 @@ Statistics::accumulateOrd() // Accumulate (i.e., only do the sum for) ordinary moments // ***************************************************************************** { + fenv_t fe; + feholdexcept( &fe ); + if (m_nord) { // Zero ordinary moment accumulators std::fill( begin(m_ordinary), end(m_ordinary), 0.0 ); @@ -282,6 +286,9 @@ Statistics::accumulateOrd() } } } + + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); } void diff --git a/src/Statistics/Statistics.hpp b/src/Statistics/Statistics.hpp index 7ee49234de9..ee663b98397 100644 --- a/src/Statistics/Statistics.hpp +++ b/src/Statistics/Statistics.hpp @@ -3,7 +3,7 @@ \file src/Statistics/Statistics.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Statistics class declaration \details This file implements a statistics class that can be used to diff --git a/src/Statistics/TriPDF.hpp b/src/Statistics/TriPDF.hpp index 8e8bc068d40..73b53d8f97e 100644 --- a/src/Statistics/TriPDF.hpp +++ b/src/Statistics/TriPDF.hpp @@ -3,7 +3,7 @@ \file src/Statistics/TriPDF.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Joint trivariate PDF estimator \details Joint trivariate PDF estimator. This class can be used to estimate diff --git a/src/Statistics/UniPDF.hpp b/src/Statistics/UniPDF.hpp index af7e6284b98..013d0884668 100644 --- a/src/Statistics/UniPDF.hpp +++ b/src/Statistics/UniPDF.hpp @@ -3,7 +3,7 @@ \file src/Statistics/UniPDF.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Univariate PDF estimator \details Univariate PDF estimator. This class can be used to estimate a @@ -19,6 +19,7 @@ #include #include #include +#include #include "Types.hpp" #include "Exception.hpp" @@ -63,7 +64,11 @@ class UniPDF { void add( tk::real sample ) { Assert( m_binsize > 0, "Bin size must be positive" ); ++m_nsample; + fenv_t fe; + feholdexcept( &fe ); ++m_pdf[ std::lround( sample / m_binsize ) ]; + feclearexcept( FE_UNDERFLOW ); + feupdateenv( &fe ); } //! Add multiple samples from a PDF diff --git a/src/UnitTest/Assessment.cpp b/src/UnitTest/Assessment.cpp index 617ae30ad3a..310ca834840 100644 --- a/src/UnitTest/Assessment.cpp +++ b/src/UnitTest/Assessment.cpp @@ -3,7 +3,7 @@ \file src/UnitTest/Assessment.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit test suite assessment \details Unit test suite assessment. @@ -70,8 +70,7 @@ assess( const tk::Print& print, // ***************************************************************************** { if (!nfail && !nwarn && !nskip && !nexcp) { - print.note< tk::QUIET > - ( "All " + std::to_string(ncomplete) + " tests passed" ); + print.note( "All " + std::to_string(ncomplete) + " tests passed" ); } else { std::string skip, warn, fail, excp; if (nwarn) warn = "finished with a warning: " + std::to_string(nwarn); @@ -81,8 +80,7 @@ assess( const tk::Print& print, "threw exception: " + std::to_string(nexcp); if (nfail) fail = std::string(nexcp || nskip || nwarn ? ", " : "") + "failed: " + std::to_string(nfail); - print.note< tk::QUIET > - ( "Of " + std::to_string(ncomplete) + " tests total: " + print.note( "Of " + std::to_string(ncomplete) + " tests total: " + warn + skip + excp + fail ); } diff --git a/src/UnitTest/Assessment.hpp b/src/UnitTest/Assessment.hpp index 2abfae1bb89..369814e5d8f 100644 --- a/src/UnitTest/Assessment.hpp +++ b/src/UnitTest/Assessment.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/Assessment.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit test suite assessment \details Unit test suite assessment. diff --git a/src/UnitTest/MPIRunner.cpp b/src/UnitTest/MPIRunner.cpp index 7b72f63063e..cc6d8d7ceb9 100644 --- a/src/UnitTest/MPIRunner.cpp +++ b/src/UnitTest/MPIRunner.cpp @@ -3,7 +3,7 @@ \file src/UnitTest/MPIRunner.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ nodegroup to run MPI unit tests \details Charm++ nodegroup to run MPI unit tests. diff --git a/src/UnitTest/MPIRunner.hpp b/src/UnitTest/MPIRunner.hpp index 54a31f7e2bd..6164626dc07 100644 --- a/src/UnitTest/MPIRunner.hpp +++ b/src/UnitTest/MPIRunner.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/MPIRunner.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ nodegroup to run MPI unit tests \details Charm++ nodegroup to run MPI unit tests. diff --git a/src/UnitTest/QuietCerr.cpp b/src/UnitTest/QuietCerr.cpp index 544522993f3..d9a8f5e94fd 100644 --- a/src/UnitTest/QuietCerr.cpp +++ b/src/UnitTest/QuietCerr.cpp @@ -3,7 +3,7 @@ \file src/UnitTest/QuietCerr.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ nodegroup to quiet std::cerr in a thread-safe fashion \details Charm++ nodegroup to quiet std::cerr in a thread-safe fashion. diff --git a/src/UnitTest/QuietCerr.hpp b/src/UnitTest/QuietCerr.hpp index d4c55d856d9..6442353ab2e 100644 --- a/src/UnitTest/QuietCerr.hpp +++ b/src/UnitTest/QuietCerr.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/QuietCerr.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ nodegroup to quiet std::cerr in a thread-safe fashion \details Charm++ nodegroup to quiet std::cerr in a thread-safe fashion. diff --git a/src/UnitTest/TUTConfig.hpp b/src/UnitTest/TUTConfig.hpp index d84df972f72..8a2a63f0412 100644 --- a/src/UnitTest/TUTConfig.hpp +++ b/src/UnitTest/TUTConfig.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTConfig.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Template Unit Test unit test configuration for all tests \details Template Unit Test unit test configuration for all tests. diff --git a/src/UnitTest/TUTSuite.cpp b/src/UnitTest/TUTSuite.cpp index cf12ca0143f..69c1b5bb04b 100644 --- a/src/UnitTest/TUTSuite.cpp +++ b/src/UnitTest/TUTSuite.cpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTSuite.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Template Unit Test suite class definition \details Template Unit Test suite class definition. In principle there can @@ -40,8 +40,8 @@ extern int g_maxTestsInGroup; using unittest::TUTSuite; TUTSuite::TUTSuite( const ctr::CmdLine& cmdline ) : + m_cmdline( cmdline ), m_mpirunner(), - m_print( cmdline.get< tag::verbose >() ? std::cout : std::clog ), m_nrun( 0 ), m_ngroup( 0 ), m_ncomplete( 0 ), @@ -55,11 +55,13 @@ TUTSuite::TUTSuite( const ctr::CmdLine& cmdline ) : //! \param[in] cmdline Data structure storing data from the command-line parser // ***************************************************************************** { - m_print.part( "Factory" ); - - // Output registered test groups const auto& groups = g_runner.get().list_groups(); - m_print.list( "Registered test groups", groups ); + + { auto print = printer(); + print.part( "Factory" ); + // Output registered test groups + print.list( "Registered test groups", groups ); + } // ensure print is destructed (cannot collide with that of evaluate) // Get group name string passed in by -g const auto grp = cmdline.get< tag::group >(); @@ -75,15 +77,17 @@ TUTSuite::TUTSuite( const ctr::CmdLine& cmdline ) : // Quit if there is no work to be done if (!work) { - m_print.note( "\nNo test groups to be executed because no test group " - "names match '" + grp + "'.\n" ); + printer().note( "\nNo test groups to be executed because no test group " + "names match '" + grp + "'.\n" ); mainProxy.finalize( true ); } else { - m_print.endpart(); - m_print.part( "Serial, Charm++, and MPI unit test suites" ); - m_print.unithead( "Unit tests computed", grp ); + { auto print = printer(); + print.endpart(); + print.part( "Serial, Charm++, and MPI unit test suites" ); + print.unithead( "Unit tests computed", grp ); + } // ensure print is destructed (cannot collied with that of evaluate) // Create MPI unit test runner nodegroup m_mpirunner = CProxy_MPIRunner< CProxy_TUTSuite >::ckNew( thisProxy ); @@ -146,15 +150,15 @@ TUTSuite::evaluate( std::vector< std::string > status ) // Evaluate test unittest::evaluate( status, m_ncomplete, m_nwarn, m_nskip, m_nexcp, m_nfail ); + auto print = printer(); + // Echo one-liner info on result of test - m_print.test( m_ncomplete, m_nfail, status ); + print.test( m_ncomplete, m_nfail, status ); // Wait for all tests to finish, then quit if (m_nrun == m_ngroup*static_cast(g_maxTestsInGroup) + m_nmigr) { - auto pass = - assess( m_print, m_nfail, m_nwarn, m_nskip, m_nexcp, m_ncomplete ); - // Quit + auto pass = assess(print, m_nfail, m_nwarn, m_nskip, m_nexcp, m_ncomplete); mainProxy.finalize( pass ); } } diff --git a/src/UnitTest/TUTSuite.hpp b/src/UnitTest/TUTSuite.hpp index 51509899768..a62fba2a846 100644 --- a/src/UnitTest/TUTSuite.hpp +++ b/src/UnitTest/TUTSuite.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTSuite.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Template Unit Test suite class declaration \details Template Unit Test suite class declaration. In principle there can @@ -41,9 +41,9 @@ class TUTSuite : public CBase_TUTSuite { void evaluate( std::vector< std::string > status ); private: + ctr::CmdLine m_cmdline; //!< Command line user input //! MPI unit test runner nodegroup proxy CProxy_MPIRunner< CProxy_TUTSuite > m_mpirunner; - UnitTestPrint m_print; //!< Pretty printer std::size_t m_nrun; //!< Number of tests ran (including dummies) std::size_t m_ngroup; //!< Number of test groups std::size_t m_ncomplete; //!< Number of completed tests @@ -82,6 +82,16 @@ class TUTSuite : public CBase_TUTSuite { //! Fire up all tests in a test group void spawngrp( const std::string& g ); + + //! Create pretty printer specialized to UnitTest + //! \return Pretty printer + UnitTestPrint printer() const { + return UnitTestPrint( + m_cmdline.logname( m_cmdline.get< tag::io, tag::screen >(), + m_cmdline.get< tag::io, tag::nrestart >() ), + m_cmdline.get< tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + } }; } // unittest:: diff --git a/src/UnitTest/TUTTest.cpp b/src/UnitTest/TUTTest.cpp index 1f7a6452665..2e06a1fd3b9 100644 --- a/src/UnitTest/TUTTest.cpp +++ b/src/UnitTest/TUTTest.cpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTTest.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Template Unit Test unit test class definition \details Template Unit Test unit test class definition. diff --git a/src/UnitTest/TUTTest.hpp b/src/UnitTest/TUTTest.hpp index 0dddb927110..e058de375c4 100644 --- a/src/UnitTest/TUTTest.hpp +++ b/src/UnitTest/TUTTest.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTTest.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Template Unit Test unit test class declaration \details Template Unit Test unit test class declaration. diff --git a/src/UnitTest/TUTUtil.hpp b/src/UnitTest/TUTUtil.hpp index c026db63588..de676c2b610 100644 --- a/src/UnitTest/TUTUtil.hpp +++ b/src/UnitTest/TUTUtil.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/TUTUtil.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Utilities for unit testing with the Template Unit Test library \details Utilities for unit testing with the Template Unit Test library. diff --git a/src/UnitTest/TestArray.hpp b/src/UnitTest/TestArray.hpp index c97295cbdf2..32bfe81ab0f 100644 --- a/src/UnitTest/TestArray.hpp +++ b/src/UnitTest/TestArray.hpp @@ -3,7 +3,7 @@ \file src/UnitTest/TestArray.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Simple test Charm++ array for testing arrays \details Simple test Charm++ array for testing arrays. diff --git a/src/UnitTest/charmchild.ci b/src/UnitTest/charmchild.ci index 9bdabfdbcae..5d2ea5cb2f2 100644 --- a/src/UnitTest/charmchild.ci +++ b/src/UnitTest/charmchild.ci @@ -3,7 +3,7 @@ \file src/UnitTest/charmchild.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for polymorphic test chare VChild \details Charm++ module interface file for polymorphic test chare VChild diff --git a/src/UnitTest/charmtimer.ci b/src/UnitTest/charmtimer.ci index a2dc241a841..c4a198ca2e0 100644 --- a/src/UnitTest/charmtimer.ci +++ b/src/UnitTest/charmtimer.ci @@ -3,7 +3,7 @@ \file src/UnitTest/charmtimer.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for migration testing of tk::Timer \details Charm++ module interface file for migration testing of tk::Timer diff --git a/src/UnitTest/migrated_base.ci b/src/UnitTest/migrated_base.ci index cd4314f2b78..c780e532da0 100644 --- a/src/UnitTest/migrated_base.ci +++ b/src/UnitTest/migrated_base.ci @@ -3,7 +3,7 @@ \file src/UnitTest/migrated_base.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for migrated test chare Migrated \details Charm++ module interface file for migrated test chare Migrated. diff --git a/src/UnitTest/migrated_inciter.ci b/src/UnitTest/migrated_inciter.ci index 634e9ae9cc0..1df890964a3 100644 --- a/src/UnitTest/migrated_inciter.ci +++ b/src/UnitTest/migrated_inciter.ci @@ -3,7 +3,7 @@ \file src/UnitTest/migrated_inciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for migrated test chare Receiver \details Charm++ module interface file for migrated test chare Receiver. diff --git a/src/UnitTest/mpirunner.ci b/src/UnitTest/mpirunner.ci index d5c109de98d..9b0cfcf08c7 100644 --- a/src/UnitTest/mpirunner.ci +++ b/src/UnitTest/mpirunner.ci @@ -3,7 +3,7 @@ \file src/UnitTest/mpirunner.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for mpirunner nodegroup \details Charm++ module interface file for mpirunner nodegroup used to diff --git a/src/UnitTest/mpirunnerinciter.ci b/src/UnitTest/mpirunnerinciter.ci index ee8106e8363..f2ae9c6d22e 100644 --- a/src/UnitTest/mpirunnerinciter.ci +++ b/src/UnitTest/mpirunnerinciter.ci @@ -3,7 +3,7 @@ \file src/UnitTest/mpirunnerinciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for mpirunner nodegroup \details Charm++ module interface file for mpirunner nodegroup used to diff --git a/src/UnitTest/quietcerr.ci b/src/UnitTest/quietcerr.ci index 49624e5684a..e7e896f1c51 100644 --- a/src/UnitTest/quietcerr.ci +++ b/src/UnitTest/quietcerr.ci @@ -3,7 +3,7 @@ \file src/UnitTest/quietcerr.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ interface file to quiet std::cerr in a thread-safe fashion \details Charm++ interface file to quiet std::cerr in a thread-safe fashion. diff --git a/src/UnitTest/testarray.ci b/src/UnitTest/testarray.ci index 97fcd91e303..6a5fff7377e 100644 --- a/src/UnitTest/testarray.ci +++ b/src/UnitTest/testarray.ci @@ -3,7 +3,7 @@ \file src/UnitTest/tesstarray.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for testing arrays \details Charm++ module interface file for testing arrays. diff --git a/src/UnitTest/tutsuite.ci b/src/UnitTest/tutsuite.ci index a7c54bf5b24..514f091bf82 100644 --- a/src/UnitTest/tutsuite.ci +++ b/src/UnitTest/tutsuite.ci @@ -3,7 +3,7 @@ \file src/UnitTest/tutsuite.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Template Unit Test suite \details Charm++ module interface file for Template Unit Test suite diff --git a/src/UnitTest/tutsuiteinciter.ci b/src/UnitTest/tutsuiteinciter.ci index 79e74e393e3..b5d974f6d01 100644 --- a/src/UnitTest/tutsuiteinciter.ci +++ b/src/UnitTest/tutsuiteinciter.ci @@ -3,7 +3,7 @@ \file src/UnitTest/tutsuiteinciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Template Unit Test suite \details Charm++ module interface file for Template Unit Test suite, diff --git a/src/UnitTest/tuttest.ci b/src/UnitTest/tuttest.ci index b4e208046d5..db15e6e46ed 100644 --- a/src/UnitTest/tuttest.ci +++ b/src/UnitTest/tuttest.ci @@ -3,7 +3,7 @@ \file src/UnitTest/tuttest.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Template Unit Test unit tests \details Charm++ module interface file for Template Unit Test unit tests diff --git a/src/UnitTest/tuttestinciter.ci b/src/UnitTest/tuttestinciter.ci index f80f5bd4cf4..c408cc0e186 100644 --- a/src/UnitTest/tuttestinciter.ci +++ b/src/UnitTest/tuttestinciter.ci @@ -3,7 +3,7 @@ \file src/UnitTest/tuttestinciter.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Template Unit Test unit tests \details Charm++ module interface file for Template Unit Test unit tests, diff --git a/src/Walker/CMakeLists.txt b/src/Walker/CMakeLists.txt index 7818ea9bfc0..bce6b2473f5 100644 --- a/src/Walker/CMakeLists.txt +++ b/src/Walker/CMakeLists.txt @@ -20,6 +20,7 @@ target_include_directories(Walker PUBLIC ${QUINOA_SOURCE_DIR}/Statistics ${PROJECT_BINARY_DIR}/../Base ${PROJECT_BINARY_DIR}/../Main + ${PROJECT_BINARY_DIR}/../IO ${PROJECT_BINARY_DIR}/../Walker ${BRIGAND_INCLUDE_DIRS} ${PEGTL_INCLUDE_DIRS} @@ -35,6 +36,11 @@ addCharmModule( "integrator" "Walker" ) # walker (in Main/Walker.cpp). add_dependencies( "Walker" "walkerCharmModule" ) +# Add extra dependency of Integrator charm module on ParticleWriter charm +# module. This is required so that particlewriter.decl.h and +# particlewriter.def.h are generated before Distributor including those. +add_dependencies( "integratorCharmModule" "particlewriterCharmModule" ) + set_target_properties(Walker PROPERTIES LIBRARY_OUTPUT_NAME quinoa_walker) INSTALL(TARGETS Walker diff --git a/src/Walker/Collector.cpp b/src/Walker/Collector.cpp index 68fa7080fef..4f8eb39586e 100644 --- a/src/Walker/Collector.cpp +++ b/src/Walker/Collector.cpp @@ -3,7 +3,7 @@ \file src/Walker/Collector.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for collecting contributions from Integrators diff --git a/src/Walker/Collector.hpp b/src/Walker/Collector.hpp index f0ff4600875..c094751f520 100644 --- a/src/Walker/Collector.hpp +++ b/src/Walker/Collector.hpp @@ -3,7 +3,7 @@ \file src/Walker/Collector.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for collecting contributions from Integrators diff --git a/src/Walker/Distributor.cpp b/src/Walker/Distributor.cpp index 62df9d8dda6..f09a74be902 100644 --- a/src/Walker/Distributor.cpp +++ b/src/Walker/Distributor.cpp @@ -3,7 +3,7 @@ \file src/Walker/Distributor.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Distributor drives the time integration of differential equations \details Distributor drives the time integration of differential equations. @@ -50,9 +50,7 @@ extern CProxy_Main mainProxy; using walker::Distributor; -Distributor::Distributor( const ctr::CmdLine& cmdline ) : - __dep(), - m_print( cmdline.get< tag::verbose >() ? std::cout : std::clog ), +Distributor::Distributor() : m_output( { false, false } ), m_it( 0 ), m_npar( 0 ), @@ -74,14 +72,16 @@ Distributor::Distributor( const ctr::CmdLine& cmdline ) : m_moments() // ***************************************************************************** // Constructor -//! \param[in] cmdline Data structure storing data from the command-line parser // ***************************************************************************** { + // Get command line object reference + const auto& cmd = g_inputdeck.get< tag::cmd >(); + // Compute load distribution given total work (= number of particles) and // user-specified virtualization uint64_t chunksize = 0, remainder = 0; auto nchare = tk::linearLoadDistributor( - g_inputdeck.get< tag::cmd, tag::virtualization >(), + cmd.get< tag::virtualization >(), g_inputdeck.get< tag::discr, tag::npar >(), CkNumPes(), chunksize, @@ -95,21 +95,23 @@ Distributor::Distributor( const ctr::CmdLine& cmdline ) : // number of particles the array element (worker) will work on. m_npar = static_cast< tk::real >( nchare * chunksize ); + auto print = printer(); + // Print out info on what will be done and how - info( chunksize, nchare ); + info( print, chunksize, nchare ); // Output header for statistics output file tk::TxtStatWriter sw( !m_nameOrdinary.empty() || !m_nameCentral.empty() ? - g_inputdeck.get< tag::cmd, tag::io, tag::stat >() : + cmd.get< tag::io, tag::stat >() : std::string(), g_inputdeck.get< tag::flformat, tag::stat >(), g_inputdeck.get< tag::prec, tag::stat >() ); sw.header( m_nameOrdinary, m_nameCentral, m_tables.first ); // Print out time integration header - m_print.endsubsection(); - m_print.diag( "Starting time stepping ..." ); - header(); + print.endsubsection(); + print.diag( "Starting time stepping ..." ); + header( print ); // Start timer measuring total integration time m_timer.emplace_back(); @@ -126,90 +128,105 @@ Distributor::Distributor( const ctr::CmdLine& cmdline ) : // Create statistics merger chare group collecting chare contributions CProxy_Collector collproxy = CProxy_Collector::ckNew( thisProxy ); + // Create partcle writer Charm++ chare nodegroup + tk::CProxy_ParticleWriter particlewriter = + tk::CProxy_ParticleWriter::ckNew( cmd.get< tag::io, tag::particles >() ); + // Fire up asynchronous differential equation integrators m_intproxy = - CProxy_Integrator::ckNew( thisProxy, collproxy, chunksize, + CProxy_Integrator::ckNew( thisProxy, collproxy, particlewriter, chunksize, static_cast( nchare ) ); } void -Distributor::info( uint64_t chunksize, std::size_t nchare ) +Distributor::info( const WalkerPrint& print, + uint64_t chunksize, + std::size_t nchare ) // ***************************************************************************** // Print information at startup +//! \param[in] print Pretty printer object to use for printing //! \param[in] chunksize Chunk size, see Base/LoadDistribution.h //! \param[in] nchare Total number of Charem++ Integrator chares doing work // ***************************************************************************** { - m_print.part( "Factory" ); + // Get command line object reference + const auto& cmd = g_inputdeck.get< tag::cmd >(); + + print.part( "Factory" ); // Print out info data layout - m_print.list( "Particle properties data layout (CMake: PARTICLE_DATA_LAYOUT)", - std::list< std::string >{ tk::Particles::layout() } ); + print.list( "Particle properties data layout (CMake: PARTICLE_DATA_LAYOUT)", + std::list< std::string >{ tk::Particles::layout() } ); // Re-create differential equations stack for output DiffEqStack stack; // Print out information on factory - m_print.eqlist( "Registered differential equations", - stack.factory(), stack.ntypes() ); - m_print.endpart(); + print.eqlist( "Registered differential equations", + stack.factory(), stack.ntypes() ); + print.endpart(); // Instantiate tables to sample and output to statistics file m_tables = stack.tables(); // Print out information on problem - m_print.part( "Problem" ); + print.part( "Problem" ); // Print out info on problem title if ( !g_inputdeck.get< tag::title >().empty() ) - m_print.title( g_inputdeck.get< tag::title >() ); + print.title( g_inputdeck.get< tag::title >() ); // Print out info on settings of selected differential equations - m_print.diffeqs( "Differential equations integrated", stack.info() ); + print.diffeqs( "Differential equations integrated", stack.info() ); // Print out info on RNGs selected // ... // Print I/O filenames - m_print.section( "Output filenames" ); + print.section( "Output filenames" ); if (!g_inputdeck.get< tag::stat >().empty()) - m_print.item( "Statistics", g_inputdeck.get< tag::cmd, tag::io, tag::stat >() ); + print.item( "Statistics", cmd.get< tag::io, tag::stat >() ); if (!g_inputdeck.get< tag::pdf >().empty()) - m_print.item( "PDF", g_inputdeck.get< tag::cmd, tag::io, tag::pdf >() ); + print.item( "PDF", cmd.get< tag::io, tag::pdf >() ); + if (!g_inputdeck.get< tag::param, tag::position, tag::depvar >().empty()) + print.item( "Particle positions", cmd.get< tag::io, tag::particles >() ); // Print discretization parameters - m_print.section( "Discretization parameters" ); - m_print.item( "Number of time steps", - g_inputdeck.get< tag::discr, tag::nstep >() ); - m_print.item( "Terminate time", - g_inputdeck.get< tag::discr, tag::term >() ); - m_print.item( "Initial time step size", - g_inputdeck.get< tag::discr, tag::dt >() ); + print.section( "Discretization parameters" ); + print.item( "Number of time steps", + g_inputdeck.get< tag::discr, tag::nstep >() ); + print.item( "Terminate time", + g_inputdeck.get< tag::discr, tag::term >() ); + print.item( "Initial time step size", + g_inputdeck.get< tag::discr, tag::dt >() ); // Print output intervals - m_print.section( "Output intervals" ); - m_print.item( "TTY", g_inputdeck.get< tag::interval, tag::tty>() ); + print.section( "Output intervals" ); + const auto& interval = g_inputdeck.get< tag::interval >(); + print.item( "TTY", interval.get< tag::tty>() ); if (!g_inputdeck.get< tag::stat >().empty()) - m_print.item( "Statistics", g_inputdeck.get< tag::interval, tag::stat >() ); + print.item( "Statistics", interval.get< tag::stat >() ); if (!g_inputdeck.get< tag::pdf >().empty()) - m_print.item( "PDF", g_inputdeck.get< tag::interval, tag::pdf >() ); + print.item( "PDF", interval.get< tag::pdf >() ); + if (!g_inputdeck.get< tag::param, tag::position, tag::depvar >().empty()) + print.item( "Particles", interval.get< tag::particles >() ); // Print out statistics estimated - m_print.statistics( "Statistical moments and distributions" ); + print.statistics( "Statistical moments and distributions" ); // Print out info on load distirubtion - m_print.section( "Load distribution" ); - m_print.item( "Virtualization [0.0...1.0]", - g_inputdeck.get< tag::cmd, tag::virtualization >() ); - m_print.item( "Number of work units", nchare ); - m_print.item( "User load (# of particles)", - g_inputdeck.get< tag::discr, tag::npar >() ); - m_print.item( "Chunksize (load per work unit)", chunksize ); - m_print.item( "Actual load (# of particles)", - std::to_string( nchare * chunksize ) + - " (=" + - std::to_string( nchare ) + "*" + - std::to_string( chunksize ) + ")" ); + print.section( "Load distribution" ); + print.item( "Virtualization [0.0...1.0]", + g_inputdeck.get< tag::cmd, tag::virtualization >() ); + print.item( "Number of work units", nchare ); + print.item( "User load (# of particles)", + g_inputdeck.get< tag::discr, tag::npar >() ); + print.item( "Chunksize (load per work unit)", chunksize ); + print.item( "Actual load (# of particles)", + std::to_string( nchare * chunksize ) + + " (=" + + std::to_string( nchare ) + "*" + + std::to_string( chunksize ) + ")" ); } tk::real @@ -656,13 +673,16 @@ Distributor::finish() // Print out reason for stopping const auto term = g_inputdeck.get< tag::discr, tag::term >(); const auto nstep = g_inputdeck.get< tag::discr, tag::nstep >(); - m_print.endsubsection(); + + auto print = printer(); + + print.endsubsection(); if (m_it >= g_inputdeck.get< tag::discr, tag::nstep >()) - m_print.note( "Normal finish, maximum number of iterations reached: " + - std::to_string( nstep ) ); + print.note( "Normal finish, maximum number of iterations reached: " + + std::to_string( nstep ) ); else - m_print.note( "Normal finish, maximum time reached: " + - std::to_string( term ) ); + print.note( "Normal finish, maximum time reached: " + + std::to_string( term ) ); // Quit mainProxy.finalize(); @@ -681,18 +701,22 @@ Distributor::nostat() } void -Distributor::header() const +Distributor::header( const WalkerPrint& print ) const // ***************************************************************************** // Print out time integration header +//! \param[in] print Pretty printer object to use for printing // ***************************************************************************** { - m_print.inthead( "Time integration", "Differential equations testbed", + print.inthead( "Time integration", "Differential equations testbed", "Legend: it - iteration count\n" " t - time\n" " dt - time step size\n" " ETE - estimated time elapsed (h:m:s)\n" " ETA - estimated time for accomplishment (h:m:s)\n" - " out - output-saved flags (S: statistics, P: PDFs)\n", + " out - status flags, legend:\n" + " s - statistics output\n" + " p - PDFs output\n" + " x - particle positions output\n", "\n it t dt ETE ETA out\n" " ---------------------------------------------------------------\n" ); } @@ -705,34 +729,41 @@ Distributor::report() { if (!(m_it % g_inputdeck.get< tag::interval, tag::tty >())) { + const auto parfreq = g_inputdeck.get< tag::interval, tag::particles >(); + const auto poseq = + !g_inputdeck.get< tag::param, tag::position, tag::depvar >().empty(); + // estimated time elapsed and for accomplishment tk::Timer::Watch ete, eta; m_timer[0].eta( g_inputdeck.get< tag::discr, tag::term >(), m_t, g_inputdeck.get< tag::discr, tag::nstep >(), m_it, ete, eta ); + auto print = printer(); + // Output one-liner - m_print << std::setfill(' ') << std::setw(8) << m_it << " " - << std::scientific << std::setprecision(6) - << std::setw(12) << m_t << " " - << m_dt << " " - << std::setfill('0') - << std::setw(3) << ete.hrs.count() << ":" - << std::setw(2) << ete.min.count() << ":" - << std::setw(2) << ete.sec.count() << " " - << std::setw(3) << eta.hrs.count() << ":" - << std::setw(2) << eta.min.count() << ":" - << std::setw(2) << eta.sec.count() << " "; + print << std::setfill(' ') << std::setw(8) << m_it << " " + << std::scientific << std::setprecision(6) + << std::setw(12) << m_t << " " + << m_dt << " " + << std::setfill('0') + << std::setw(3) << ete.hrs.count() << ":" + << std::setw(2) << ete.min.count() << ":" + << std::setw(2) << ete.sec.count() << " " + << std::setw(3) << eta.hrs.count() << ":" + << std::setw(2) << eta.min.count() << ":" + << std::setw(2) << eta.sec.count() << " "; // Augment one-liner with output indicators - if (m_output.get< tag::stat >()) m_print << 'S'; - if (m_output.get< tag::pdf >()) m_print << 'P'; + if (m_output.get< tag::stat >()) print << 's'; + if (m_output.get< tag::pdf >()) print << 'p'; + if (poseq && !(m_it % parfreq)) print << 'x'; // Reset output indicators m_output.get< tag::stat >() = false; m_output.get< tag::pdf >() = false; - m_print << std::endl; + print << std::endl; } } diff --git a/src/Walker/Distributor.hpp b/src/Walker/Distributor.hpp index 53eb50d4db2..5864a819957 100644 --- a/src/Walker/Distributor.hpp +++ b/src/Walker/Distributor.hpp @@ -3,7 +3,7 @@ \file src/Walker/Distributor.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Distributor drives the time integration of differential equations \details Distributor drives the time integration of differential equations. @@ -68,7 +68,7 @@ class Distributor : public CBase_Distributor { public: //! Constructor - explicit Distributor( const ctr::CmdLine& cmdline ); + explicit Distributor(); //! \brief Reduction target indicating that all Integrator chares have //! registered with the statistics merger (collector) @@ -96,18 +96,43 @@ class Distributor : public CBase_Distributor { private: //! Type alias for output indicators using OutputIndicators = tk::TaggedTuple< brigand::list< - tag::stat, bool - , tag::pdf, bool + tag::stat, bool + , tag::pdf, bool > >; + OutputIndicators m_output; //!< Output indicators + uint64_t m_it; //!< Iteration count + tk::real m_npar; //!< Total number of particles + tk::real m_t; //!< Physical time + tk::real m_dt; //!< Physical time step size + CProxy_Integrator m_intproxy; //!< Integrator array proxy + std::vector< tk::Timer > m_timer; //!< Timers + std::vector< std::string > m_nameOrdinary; //!< Ordinary moment names + std::vector< std::string > m_nameCentral; //!< Central moment names + std::vector< tk::real > m_ordinary; //!< Ordinary moments + std::vector< tk::real > m_central; //!< Central moments + std::vector< tk::UniPDF > m_ordupdf; //!< Ordinary univariate PDFs + std::vector< tk::BiPDF > m_ordbpdf; //!< Ordinary bivariate PDFs + std::vector< tk::TriPDF > m_ordtpdf; //!< Ordinary trivariate PDFs + std::vector< tk::UniPDF > m_cenupdf; //!< Central univariate PDFs + std::vector< tk::BiPDF > m_cenbpdf; //!< Central bivariate PDFs + std::vector< tk::TriPDF > m_centpdf; //!< Central trivariate PDFs + //! Names of and tables to sample and output to statistics file + std::pair< std::vector< std::string >, + std::vector< tk::Table > > m_tables; + //! Map used to lookup moments + std::map< tk::ctr::Product, tk::real > m_moments; + //! Print information at startup - void info( uint64_t chunksize, std::size_t nchare ); + void info( const WalkerPrint& print, + uint64_t chunksize, + std::size_t nchare ); //! Compute size of next time step tk::real computedt(); //! Print out time integration header - void header() const; + void header( const WalkerPrint& print ) const; //! Print out one-liner report on time step void report(); @@ -150,31 +175,17 @@ class Distributor : public CBase_Distributor { //! Evaluate time step, compute new time step size void evaluateTime(); - WalkerPrint m_print; //! Pretty printer - OutputIndicators m_output; //!< Output indicators - uint64_t m_it; //!< Iteration count - tk::real m_npar; //!< Total number of particles - tk::real m_t; //!< Physical time - tk::real m_dt; //!< Physical time step size - CProxy_Integrator m_intproxy; //!< Integrator array proxy - std::vector< tk::Timer > m_timer; //!< Timers - std::vector< std::string > m_nameOrdinary; //!< Ordinary moment names - std::vector< std::string > m_nameCentral; //!< Central moment names - std::vector< tk::real > m_ordinary; //!< Ordinary moments - std::vector< tk::real > m_central; //!< Central moments - std::vector< tk::UniPDF > m_ordupdf; //!< Ordinary univariate PDFs - std::vector< tk::BiPDF > m_ordbpdf; //!< Ordinary bivariate PDFs - std::vector< tk::TriPDF > m_ordtpdf; //!< Ordinary trivariate PDFs - std::vector< tk::UniPDF > m_cenupdf; //!< Central univariate PDFs - std::vector< tk::BiPDF > m_cenbpdf; //!< Central bivariate PDFs - std::vector< tk::TriPDF > m_centpdf; //!< Central trivariate PDFs - - //! Names of and tables to sample and output to statistics file - std::pair< std::vector< std::string >, - std::vector< tk::Table > > m_tables; - - //! Map used to lookup moments - std::map< tk::ctr::Product, tk::real > m_moments; + //! Create pretty printer specialized to Walker + //! \return Pretty printer + WalkerPrint printer() const { + const auto& def = + g_inputdeck_defaults.get< tag::cmd, tag::io, tag::screen >(); + auto nrestart = g_inputdeck.get< tag::cmd, tag::io, tag::nrestart >(); + return WalkerPrint( + g_inputdeck.get< tag::cmd >().logname( def, nrestart ), + g_inputdeck.get< tag::cmd, tag::verbose >() ? std::cout : std::clog, + std::ios_base::app ); + } //! Normal finish of time stepping void finish(); diff --git a/src/Walker/Integrator.cpp b/src/Walker/Integrator.cpp index 6334d537dd2..aa1e55177f2 100644 --- a/src/Walker/Integrator.cpp +++ b/src/Walker/Integrator.cpp @@ -3,7 +3,7 @@ \file src/Walker/Integrator.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Integrator advances differential equations \details Integrator advances differential equations. There are a potentially @@ -28,15 +28,21 @@ using walker::Integrator; Integrator::Integrator( CProxy_Distributor hostproxy, CProxy_Collector collproxy, + tk::CProxy_ParticleWriter particlewriterproxy, uint64_t npar ) : - m_hostproxy( hostproxy ), - m_collproxy( collproxy ), + m_host( hostproxy ), + m_coll( collproxy ), + m_particlewriter( particlewriterproxy ), m_particles( npar, g_inputdeck.get< tag::component >().nprop() ), m_stat( m_particles, g_inputdeck.get< tag::component >().offsetmap( g_inputdeck ), g_inputdeck.get< tag::stat >(), g_inputdeck.get< tag::pdf >(), - g_inputdeck.get< tag::discr, tag::binsize >() ) + g_inputdeck.get< tag::discr, tag::binsize >() ), + m_dt( 0.0 ), + m_t( 0.0 ), + m_it( 0 ), + m_itp( 0 ) // ***************************************************************************** // Constructor //! \param[in] hostproxy Host proxy to call back to @@ -45,16 +51,15 @@ Integrator::Integrator( CProxy_Distributor hostproxy, // ***************************************************************************** { // register with the local branch of the statistics collector - m_collproxy.ckLocalBranch()->checkin(); + m_coll.ckLocalBranch()->checkin(); // Tell the Charm++ runtime system to call back to // Distributor::registered() once all Integrator chares have registered // themselves, i.e., checked in, with their local branch of the statistics // merger group, Collector. The reduction is done via creating a callback - // that invokes the typed reduction client, where m_hostproxy is the proxy + // that invokes the typed reduction client, where m_host is the proxy // on which the reduction target method, registered(), is called upon // completion of the reduction. - contribute( - CkCallback(CkReductionTarget( Distributor, registered ), m_hostproxy) ); + contribute( CkCallback(CkReductionTarget(Distributor, registered), m_host) ); } void @@ -103,12 +108,60 @@ Integrator::advance( tk::real dt, for (const auto& e : g_diffeqs) e.advance( m_particles, CkMyPe(), dt, t, moments ); + // Save time stepping data + m_dt = dt; + m_t = t; + m_it = it; + + // Contribute number of particles we hit the particles output frequency + auto poseq = + !g_inputdeck.get< tag::param, tag::position, tag::depvar >().empty(); + const auto parfreq = g_inputdeck.get< tag::interval, tag::particles >(); + + CkCallback c( CkIndex_Integrator::out(), thisProxy[thisIndex] ); + + if (poseq && !((m_it+1) % parfreq)) + m_particlewriter[ CkMyNode() ].npar( m_particles.nunk(), c ); + else + c.send(); +} + +void +Integrator::out() +// ***************************************************************************** +// Output particle positions to file +// ***************************************************************************** +{ + auto poseq = + !g_inputdeck.get< tag::param, tag::position, tag::depvar >().empty(); + const auto parfreq = g_inputdeck.get< tag::interval, tag::particles >(); + + CkCallback c( CkIndex_Integrator::accumulate(), thisProxy[thisIndex] ); + + // Output particles data to file if we hit the particles output frequency + if (poseq && !((m_it+1) % parfreq)) { + // query position eq offset in particle array (0: only first particle pos) + auto po = g_inputdeck.get< tag::component >().offset< tag::position >( 0 ); + // output particle positions to file + m_particlewriter[ CkMyNode() ]. + writeCoords( m_itp++, m_particles.extract(0,po), + m_particles.extract(1,po), m_particles.extract(2,po), c ); + } else { + c.send(); + } +} + +void +Integrator::accumulate() +// ***************************************************************************** +// Start collecting statistics +// ***************************************************************************** +{ if (!g_inputdeck.stat()) {// if no stats to estimate, skip to end of time step - contribute( - CkCallback(CkReductionTarget( Distributor, nostat ), m_hostproxy) ); + contribute( CkCallback(CkReductionTarget(Distributor, nostat), m_host) ); } else { // Accumulate sums for ordinary moments (every time step) - accumulateOrd( it, t, dt ); + accumulateOrd( m_it, m_t, m_dt ); } } @@ -138,10 +191,10 @@ Integrator::accumulateOrd( uint64_t it, tk::real t, tk::real dt ) // Send accumulated ordinary moments and ordinary PDFs to collector for // estimation - m_collproxy.ckLocalBranch()->chareOrd( m_stat.ord(), - m_stat.oupdf(), - m_stat.obpdf(), - m_stat.otpdf() ); + m_coll.ckLocalBranch()->chareOrd( m_stat.ord(), + m_stat.oupdf(), + m_stat.obpdf(), + m_stat.otpdf() ); } void @@ -173,10 +226,10 @@ Integrator::accumulateCen( uint64_t it, m_stat.accumulateCenPDF( ord ); // Send accumulated central moments to host for estimation - m_collproxy.ckLocalBranch()->chareCen( m_stat.ctr(), - m_stat.cupdf(), - m_stat.cbpdf(), - m_stat.ctpdf() ); + m_coll.ckLocalBranch()->chareCen( m_stat.ctr(), + m_stat.cupdf(), + m_stat.cbpdf(), + m_stat.ctpdf() ); } #include "NoWarning/integrator.def.h" diff --git a/src/Walker/Integrator.hpp b/src/Walker/Integrator.hpp index df2d1f8aad0..60ed63e33d3 100644 --- a/src/Walker/Integrator.hpp +++ b/src/Walker/Integrator.hpp @@ -3,7 +3,7 @@ \file src/Walker/Integrator.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Integrator advances differential equations \details Integrator advances differential equations. There are a potentially @@ -48,6 +48,7 @@ class Integrator : public CBase_Integrator { //! Constructor explicit Integrator( CProxy_Distributor hostproxy, CProxy_Collector collproxy, + tk::CProxy_ParticleWriter particlewriterproxy, uint64_t npar ); //! Migrate constructor @@ -55,10 +56,10 @@ class Integrator : public CBase_Integrator { explicit Integrator( CkMigrateMessage* ) : m_particles( 0, g_inputdeck.get< tag::component >().nprop() ), m_stat( m_particles, - g_inputdeck.get< tag::component >().offsetmap( g_inputdeck ), - g_inputdeck.get< tag::stat >(), - g_inputdeck.get< tag::pdf >(), - g_inputdeck.get< tag::discr, tag::binsize >() ) {} + g_inputdeck.get< tag::component >().offsetmap( g_inputdeck ), + g_inputdeck.get< tag::stat >(), + g_inputdeck.get< tag::pdf >(), + g_inputdeck.get< tag::discr, tag::binsize >() ) {} //! Perform setup: set initial conditions and advance a time step void setup( tk::real dt, @@ -75,8 +76,11 @@ class Integrator : public CBase_Integrator { uint64_t it, const std::map< tk::ctr::Product, tk::real >& moments ); - // Accumulate sums for ordinary moments and ordinary PDFs - void accumulateOrd( uint64_t it, tk::real t, tk::real dt ); + //! Output particle positions to file + void out(); + + //! Start collecting statistics + void accumulate(); // Accumulate sums for central moments and central PDFs void accumulateCen( uint64_t it, @@ -85,10 +89,18 @@ class Integrator : public CBase_Integrator { const std::vector< tk::real >& ord ); private: - CProxy_Distributor m_hostproxy; //!< Host proxy - CProxy_Collector m_collproxy; //!< Collector proxy - tk::Particles m_particles; //!< Particle properties - tk::Statistics m_stat; //!< Statistics + CProxy_Distributor m_host; //!< Host proxy + CProxy_Collector m_coll; //!< Collector proxy + tk::CProxy_ParticleWriter m_particlewriter; //!< Particle writer proxy + tk::Particles m_particles; //!< Particle properties + tk::Statistics m_stat; //!< Statistics + tk::real m_dt; //!< Time step size + tk::real m_t; //!< Physical time + uint64_t m_it; //!< Iteration count + uint64_t m_itp; //!< Particle position output iteration count + + // Accumulate sums for ordinary moments and ordinary PDFs + void accumulateOrd( uint64_t it, tk::real t, tk::real dt ); }; #if defined(__clang__) diff --git a/src/Walker/collector.ci b/src/Walker/collector.ci index 0639871d7e0..826e8db5069 100644 --- a/src/Walker/collector.ci +++ b/src/Walker/collector.ci @@ -3,7 +3,7 @@ \file src/Walker/collector.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for collecting contributions from Integrators diff --git a/src/Walker/distributor.ci b/src/Walker/distributor.ci index 92f00b5ccc4..252a245b461 100644 --- a/src/Walker/distributor.ci +++ b/src/Walker/distributor.ci @@ -3,7 +3,7 @@ \file src/Walker/distributor.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Distributor \details Charm++ module interface file for Distributor @@ -17,10 +17,12 @@ module distributor { include "TriPDF.hpp"; include "Walker/CmdLine/CmdLine.hpp"; + extern module particlewriter; + namespace walker { chare Distributor { - entry Distributor( const ctr::CmdLine& cmdline ); + entry Distributor(); entry [reductiontarget] void registered(); entry [reductiontarget] void nostat(); entry [reductiontarget] void estimateOrd( tk::real ord[n], int n ); @@ -28,136 +30,12 @@ module distributor { entry [reductiontarget] void estimateOrdPDF( CkReductionMsg* msg ); entry [reductiontarget] void estimateCenPDF( CkReductionMsg* msg ); - // SDAG code follows. See http://charm.cs.illinois.edu/manuals/html/ - // charm++/manual.html, Sec. "Structured Control Flow: Structured Dagger". - - // High-level overview of the dependency and asynchronous call structure - // --------------------------------------------------------------------- - // - // Directed Acyclic Graph (DAG): DAG legend: - // ----------------------------- AdvP - advance particles - // OrdM - estimate ordinary moments - // AdvP -- OrdM -- CenM -- OutS CenM - estimate central moments - // | \ \ | OrdP - estimate ordinary PDFs - // \ OrdP CenP | CenP - estimate central PDFs - // \ \ \ | OutS - output statistics (mom) - // \ ------ OutP -- EvT OutP - output PDFs - // \ / EvT - Evaluate time step - // ---- NoSt ------ / NoSt - No stats & nor PDFs - // - // Interpretation of the above DAG - // ------------------------------- - // Control flow is from left to right and top to bottom. In the discussion - // below, concentrate first on the first three lines and ignore NoSt for - // the moment - those will be discussed at the very end. - // - // After initialization a time step starts by advancing all particles - // (AdvP, Integrator::advance()). When that is finished (no global - // synchronization), each PE starts with the estimation of its portion of - // the ordinary moments (OrdM). When a PE finished with its part of the - // estimation of the ordinary moments, it calls back to its host, - // Distributor, which collects statistics from all PEs. When a PE has - // finished its accumulation of ordinary moments and has sent its - // contribution to its host, it immediately continues with estimation of - // ordinary PDFs (OrdP) (if any), and does not wait for its host. - // - // Understanding 'wait4ord'. Once the host has finished collecting - // partially accumulated ordinary moment (sums) from all PEs, it signals - // Charm++ SDAG runtime that all ordinary moments are updated and the - // estimation of central moments and PDFs can start. This is a necessary - // synchronization point (central moments can only be estimated about some - // ordinary moments, i.e., means), realized by two steps: (1) starting off - // the entry 'wait4ord' (before the time step), which waits for the SDAG - // signal 'estimateOrdDone', sent by the host. Once the SDAG signal is in, - // as step (2), the request to start the accumulation of the central - // moments (CenM) are asynchronously fired off to all PEs followed by a - // similar request for the central PDFs (CenP) (if any). Once a PE has - // finished its part of the accumuluation of the central moments, it sends - // its portion of the sums back to its host which collects from all PEs - // and finishes the estimation. - // - // Understanding 'wait4cen'. Once the host has finished collecting - // partially accumulated central moment (sums) from all PEs, it signals - // Charm++ SDAG runtime that all central moments are updated and the - // statistics (moments) are ready to be written to disk (OutS) (if - // scheduled in this step). This is also a necessary synchronization point - // and done similarly to the one discussed above, but this time by - // 'wait4cen' and 'estimateCenDone'. Since there may not be any PDFs - // estimated, having finished estimating the central moments may finish - // the time step and 'evalulateTime' can be called (EvT). If PDFs are - // estimated evaluateTime is called only after the PDFs have been - // estimated. - // - // Understanding 'wait4pdf'. Once a PE has finished its part of the - // accumuluation of the central PDFs (started from 'wait4ord'), it sends - // its portion of the sums back to its host which collects from all PEs - // and finishes the estimation. The host then signals Charm++ SDAG - // runtime that all central PDFs have been estimated. This is also a - // necessary synchronization point and done similarly to the ones - // discussed above, but this time by 'wait4pdf' waiting for two signals, - // 'estimateOrdPDFDone' and 'estimateCenPDFDone'. Both the estimation of - // ordinary and central PDFs must have completed in order to be possible - // to be written out to disk (OutP) (if scheduled in this time step). - // According to the logical 'and' relationship here, two 'when' keywords - // are given in 'wait4pdf'. This enables overlapping OrdP with everything - // else discussed thus far. - // - // The resulting algorithm for a single time step enables overlapping - // computations, communications as well as I/O. The algorithm has two - // global synchronization points: (1) it must wait for all particles to be - // advanced (AdvP), and (2) the final evaluateTime() (EvT) can only happen - // once all required statistics and PDFs have been estimated and - // optionally written to disk. Furthermore, there are three partial - // synchronization points: (1) since central moments and central PDFs can - // only be estimated about already estimated (and collected) ordinary - // moments, there is a barrier at OrdM, but this is overlapped with OrdP, - // (2) since statistics (moments) can only be output to disk if they all - // have been estimated and collected, there is a barrier at CenM, but this - // is overlapped with OrdP, CenP, and OutP, and (3) since PDFs can only be - // output to disk if they all have been estimated and collected, there is - // a barrier at CenP, but this is overlapped with OrdP, CenM, and OutS. - // - // NoSt in the graph signals a potential shortcut which is activated if - // there are no statistics nor PDFs need to be estimated. In that case, - // after advancing the particles, control flow just to evaluating the time - // step, skipping over several synchronization points. - // - // Similar to NoSt, the estimateion of the PDFs can also be potentially - // skipped. This happens when either the the user did not request any PDF - // estimation or the interval for estimating and outputing PDFs is such - // that at the given time step PDFs are not estimated. (Estimation of - // PDFs, especially multi-dimensional ones, can be quite costly, and thus - // PDF estimation is recommended only at certain intervals, i.e., not - // every time step.) If the shortcut is activated due to no PDF esimation, - // the control flow in wait4cen() skips ahead to evaluate time, i.e., - // finish the time step, after the central moments (if any) have been - // estimated. Similarly, of the shortcut is activated due to no PDF - // estimation, the control flow in wait4ord() skips the estimation of - // central PDFs. - - // Note that estimating the ordinary moments and the ordinary PDFs are - // started in Integrator::accumulateOrd(), and when their accumulation - // step is done, a Charm++ group, Collector, collects those contributions - // from Integrators that happened to be on its PE. This collection is done - // via Collector::chareOrd(), which aggregates the partial sums (for the - // given PE) and forwards them to the host, Distributor. While the - // accumulation of the ordinary moments and the ordinary PDFs happen - // serially in Integrator::accumulateOrd(), their aggregation from - // Collectors to Distributor happen asynchronously. The same procedure is - // followed for the central moments and the central PDFs. If PDFs are not - // collected in a time step, the PDF containers are simply empty. This - // simplifies asynchronous logic. - - // SDAG wait-for: wait for ordinary moments to have been estimated entry void wait4ord() { when estimateOrdDone() serial "accumulateCen" { - // Start accumulating sums for central moments m_intproxy.accumulateCen( m_it, m_t, m_dt, m_ordinary ); } }; - // SDAG wait-for: wait for PDFs to have been estimated, the two 'when' - // statements are undestood with a logical AND between them entry void wait4pdf() { when estimateCenDone(), estimateOrdPDFDone(), diff --git a/src/Walker/integrator.ci b/src/Walker/integrator.ci index 9246be0c35e..40d6be87bbe 100644 --- a/src/Walker/integrator.ci +++ b/src/Walker/integrator.ci @@ -3,7 +3,7 @@ \file src/Walker/integrator.ci \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Charm++ module interface file for Integrator \details Charm++ module interface file for Integrator @@ -14,23 +14,26 @@ module integrator { extern module distributor; extern module collector; + extern module particlewriter; namespace walker { array [1D] Integrator { entry Integrator( CProxy_Distributor hostproxy, CProxy_Collector collproxy, + tk::CProxy_ParticleWriter particlewriterproxy, uint64_t npar ); entry void setup( tk::real dt, tk::real t, uint64_t it, const std::map< tk::ctr::Product, tk::real >& moments ); - entry void advance( tk::real dt, - tk::real t, - uint64_t it, - const std::map< tk::ctr::Product, tk::real >& moments - ); - entry void accumulateOrd( uint64_t it, tk::real t, tk::real dt ); + entry + void advance( tk::real dt, + tk::real t, + uint64_t it, + const std::map< tk::ctr::Product, tk::real >& moments ); + entry void out(); + entry void accumulate(); entry void accumulateCen( uint64_t it, tk::real t, tk::real dt, diff --git a/tests/regression/CMakeLists.txt b/tests/regression/CMakeLists.txt index 76209ccb5c5..1c481d0554a 100644 --- a/tests/regression/CMakeLists.txt +++ b/tests/regression/CMakeLists.txt @@ -3,7 +3,7 @@ # \file tests/regression/CMakeLists.txt # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Cmake code common to all regression testing # @@ -80,11 +80,13 @@ if(ENABLE_INCITER) add_subdirectory(inciter/compflow/Euler/TaylorGreen) add_subdirectory(inciter/compflow/Euler/RayleighTaylor) add_subdirectory(inciter/compflow/Euler/NLEnergyGrowth) + add_subdirectory(inciter/compflow/Euler/GaussHump) add_subdirectory(inciter/mesh_refinement/t0ref) add_subdirectory(inciter/mesh_refinement/dtref) add_subdirectory(inciter/compflow/Euler/SodShocktube) add_subdirectory(inciter/compflow/Euler/SedovBlastwave) add_subdirectory(inciter/multimat/InterfaceAdvection) add_subdirectory(inciter/multimat/SodShocktube) + add_subdirectory(inciter/multimat/WaterAirShocktube) add_subdirectory(inciter/restart) endif() diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/GaussHump/CMakeLists.txt new file mode 100644 index 00000000000..42c2565dc03 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/GaussHump/CMakeLists.txt @@ -0,0 +1,145 @@ +# See cmake/add_regression_test.cmake for documentation on the arguments to +# add_regression_test(). + +# Serial + +add_regression_test(compflow_euler_gauss_hump_pdg ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE gauss_hump_pdg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) + +# Parallel + no virtualization + +add_regression_test(compflow_euler_gauss_hump_pdg ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE gauss_hump_pdg_pe4.std.exo.0 + gauss_hump_pdg_pe4.std.exo.1 + gauss_hump_pdg_pe4.std.exo.2 + gauss_hump_pdg_pe4.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) + +# Parallel + virtualization + +add_regression_test(compflow_euler_gauss_hump_pdg_u0.8 ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v -u 0.8 + BIN_BASELINE gauss_hump_pdg_pe4_u0.8.std.exo.0 + gauss_hump_pdg_pe4_u0.8.std.exo.1 + gauss_hump_pdg_pe4_u0.8.std.exo.2 + gauss_hump_pdg_pe4_u0.8.std.exo.3 + gauss_hump_pdg_pe4_u0.8.std.exo.4 + gauss_hump_pdg_pe4_u0.8.std.exo.5 + gauss_hump_pdg_pe4_u0.8.std.exo.6 + gauss_hump_pdg_pe4_u0.8.std.exo.7 + gauss_hump_pdg_pe4_u0.8.std.exo.8 + gauss_hump_pdg_pe4_u0.8.std.exo.9 + gauss_hump_pdg_pe4_u0.8.std.exo.10 + gauss_hump_pdg_pe4_u0.8.std.exo.11 + gauss_hump_pdg_pe4_u0.8.std.exo.12 + gauss_hump_pdg_pe4_u0.8.std.exo.13 + gauss_hump_pdg_pe4_u0.8.std.exo.14 + gauss_hump_pdg_pe4_u0.8.std.exo.15 + gauss_hump_pdg_pe4_u0.8.std.exo.16 + gauss_hump_pdg_pe4_u0.8.std.exo.17 + gauss_hump_pdg_pe4_u0.8.std.exo.18 + gauss_hump_pdg_pe4_u0.8.std.exo.19 + BIN_RESULT out.e-s.0.20.0 + out.e-s.0.20.1 + out.e-s.0.20.2 + out.e-s.0.20.3 + out.e-s.0.20.4 + out.e-s.0.20.5 + out.e-s.0.20.6 + out.e-s.0.20.7 + out.e-s.0.20.8 + out.e-s.0.20.9 + out.e-s.0.20.10 + out.e-s.0.20.11 + out.e-s.0.20.12 + out.e-s.0.20.13 + out.e-s.0.20.14 + out.e-s.0.20.15 + out.e-s.0.20.16 + out.e-s.0.20.17 + out.e-s.0.20.18 + out.e-s.0.20.19 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) + +# Parallel + virtualization + migration + +add_regression_test(compflow_euler_gauss_hump_pdg_u0.8_migr ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v -u 0.8 + +balancer GreedyRefineLB +LBDebug 1 + BIN_BASELINE gauss_hump_pdg_pe4_u0.8.std.exo.0 + gauss_hump_pdg_pe4_u0.8.std.exo.1 + gauss_hump_pdg_pe4_u0.8.std.exo.2 + gauss_hump_pdg_pe4_u0.8.std.exo.3 + gauss_hump_pdg_pe4_u0.8.std.exo.4 + gauss_hump_pdg_pe4_u0.8.std.exo.5 + gauss_hump_pdg_pe4_u0.8.std.exo.6 + gauss_hump_pdg_pe4_u0.8.std.exo.7 + gauss_hump_pdg_pe4_u0.8.std.exo.8 + gauss_hump_pdg_pe4_u0.8.std.exo.9 + gauss_hump_pdg_pe4_u0.8.std.exo.10 + gauss_hump_pdg_pe4_u0.8.std.exo.11 + gauss_hump_pdg_pe4_u0.8.std.exo.12 + gauss_hump_pdg_pe4_u0.8.std.exo.13 + gauss_hump_pdg_pe4_u0.8.std.exo.14 + gauss_hump_pdg_pe4_u0.8.std.exo.15 + gauss_hump_pdg_pe4_u0.8.std.exo.16 + gauss_hump_pdg_pe4_u0.8.std.exo.17 + gauss_hump_pdg_pe4_u0.8.std.exo.18 + gauss_hump_pdg_pe4_u0.8.std.exo.19 + BIN_RESULT out.e-s.0.20.0 + out.e-s.0.20.1 + out.e-s.0.20.2 + out.e-s.0.20.3 + out.e-s.0.20.4 + out.e-s.0.20.5 + out.e-s.0.20.6 + out.e-s.0.20.7 + out.e-s.0.20.8 + out.e-s.0.20.9 + out.e-s.0.20.10 + out.e-s.0.20.11 + out.e-s.0.20.12 + out.e-s.0.20.13 + out.e-s.0.20.14 + out.e-s.0.20.15 + out.e-s.0.20.16 + out.e-s.0.20.17 + out.e-s.0.20.18 + out.e-s.0.20.19 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg migration) diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/diag_pdg.std b/tests/regression/inciter/compflow/Euler/GaussHump/diag_pdg.std new file mode 100644 index 00000000000..696dea2dbae --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/GaussHump/diag_pdg.std @@ -0,0 +1,3 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 5 1.677540e-05 3.373487e-06 1.038515e+00 1.038515e+00 1.038515e+00 2.297647e-11 2.534309e+00 7.047153e-05 7.047153e-05 7.047153e-05 2.297647e-11 7.047153e-05 + 10 3.364280e-05 3.373474e-06 1.038515e+00 1.038515e+00 1.038515e+00 4.578587e-11 2.534309e+00 7.048121e-05 7.048121e-05 7.048121e-05 4.578587e-11 7.048121e-05 diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/exodiff.cfg b/tests/regression/inciter/compflow/Euler/GaussHump/exodiff.cfg new file mode 100644 index 00000000000..4aefcd7323c --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/GaussHump/exodiff.cfg @@ -0,0 +1,15 @@ +COORDINATES absolute 1.0e-6 +TIME STEPS absolute 1.0e-8 +ELEMENT VARIABLES relative 1.0e-7 floor 1.0e-8 + density_numerical + density_analytical + x-velocity_numerical + x-velocity_analytical + y-velocity_numerical + y-velocity_analytical + z-velocity_numerical + z-velocity_analytical + specific_total_energy_numerical + specific_total_energy_analytical + pressure_numerical + pressure_analytical diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_diag.ndiff.cfg new file mode 100644 index 00000000000..4cef1d66809 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_diag.ndiff.cfg @@ -0,0 +1,3 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-$ rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.q b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.q new file mode 100644 index 00000000000..9c4dcce22ca --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.q @@ -0,0 +1,51 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Advection of 2D Gaussian hump" + +inciter + nstep 10 # Max number of time steps + cfl 0.8 + ttyi 5 # TTY output interval + scheme pdg + + compflow + physics euler + problem gauss_hump_compflow + depvar u + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_sym + sideset 1 end + end + bc_dirichlet + sideset 2 end + end + bc_farfield + pressure 1.0 + density 1.0 + velocity 0.0 0.0 0.0 end + sideset 3 end + end + end + + pref + ndofmax 10 + tolref 0.5 + end + + diagnostics + interval 5 + format scientific + error l2 + end + + plotvar + interval 5 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.std.exo b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.std.exo new file mode 100644 index 00000000000..1bc06daaef1 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.0 new file mode 100644 index 00000000000..56fad011aee Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.1 new file mode 100644 index 00000000000..cc8a796fc93 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.2 new file mode 100644 index 00000000000..4804321b015 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.3 new file mode 100644 index 00000000000..ae4c1c6ccf3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 new file mode 100644 index 00000000000..7b0cda166da Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 new file mode 100644 index 00000000000..5771d8127a0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 new file mode 100644 index 00000000000..f3ef84c2967 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 new file mode 100644 index 00000000000..59f7895032e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 new file mode 100644 index 00000000000..2c5736156b6 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 new file mode 100644 index 00000000000..d3ae1a7a4d4 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 new file mode 100644 index 00000000000..835b99656c4 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 new file mode 100644 index 00000000000..cac93dec157 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 new file mode 100644 index 00000000000..619d1c52a28 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 new file mode 100644 index 00000000000..e7336f43663 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 new file mode 100644 index 00000000000..d60ad7d007b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 new file mode 100644 index 00000000000..c3313c9c6f3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 new file mode 100644 index 00000000000..12f2c97597e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 new file mode 100644 index 00000000000..c97b5ab703b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 new file mode 100644 index 00000000000..399a7e1f850 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 new file mode 100644 index 00000000000..3c74c49dc35 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 new file mode 100644 index 00000000000..29c0aa0d318 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 new file mode 100644 index 00000000000..eb725efaf92 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 new file mode 100644 index 00000000000..70f44fb608b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 new file mode 100644 index 00000000000..0b621fb740f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/GaussHump/unitsquare_01_3.6k.exo b/tests/regression/inciter/compflow/Euler/GaussHump/unitsquare_01_3.6k.exo new file mode 100644 index 00000000000..0565f7a8784 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/GaussHump/unitsquare_01_3.6k.exo differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/CMakeLists.txt index 754c1ff2266..d2a9521aed0 100644 --- a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/CMakeLists.txt @@ -12,7 +12,20 @@ add_regression_test(compflow_euler_nleg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_nleg_alecg ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES nleg_alecg.q unitcube_1k.exo + ARGS -c nleg_alecg.q -i unitcube_1k.exo -v + BIN_BASELINE nleg_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS alecg) add_regression_test(compflow_euler_nleg_dgp2 ${INCITER_EXECUTABLE} NUMPES 1 @@ -24,7 +37,8 @@ add_regression_test(compflow_euler_nleg_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS dg) # Parallel + no virtualization @@ -44,7 +58,27 @@ add_regression_test(compflow_euler_nleg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_nleg_stag ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES nleg_stag.q unitcube_1k.exo + ARGS -c nleg_stag.q -i unitcube_1k.exo -v + BIN_BASELINE nleg_pe4.std.exo.0 + nleg_pe4.std.exo.1 + nleg_pe4.std.exo.2 + nleg_pe4.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS diagcg) add_regression_test(compflow_euler_nleg_dgp2 ${INCITER_EXECUTABLE} NUMPES 4 @@ -62,7 +96,8 @@ add_regression_test(compflow_euler_nleg_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS dg) # Parallel + virtualization @@ -90,4 +125,32 @@ add_regression_test(compflow_euler_nleg_u0.5 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_nleg_alecg_u0.5 ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES nleg_alecg.q unitcube_1k.exo + ARGS -c nleg_alecg.q -i unitcube_1k.exo -v -u 0.5 + BIN_BASELINE nleg_alecg_pe4_u0.5.std.exo.0 + nleg_alecg_pe4_u0.5.std.exo.1 + nleg_alecg_pe4_u0.5.std.exo.2 + nleg_alecg_pe4_u0.5.std.exo.3 + nleg_alecg_pe4_u0.5.std.exo.4 + nleg_alecg_pe4_u0.5.std.exo.5 + nleg_alecg_pe4_u0.5.std.exo.6 + nleg_alecg_pe4_u0.5.std.exo.7 + BIN_RESULT out.e-s.0.8.0 + out.e-s.0.8.1 + out.e-s.0.8.2 + out.e-s.0.8.3 + out.e-s.0.8.4 + out.e-s.0.8.5 + out.e-s.0.8.6 + out.e-s.0.8.7 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF nleg_diag.ndiff.cfg + LABELS alecg) diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/diag_alecg.std b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/diag_alecg.std new file mode 100644 index 00000000000..e1a51766302 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/diag_alecg.std @@ -0,0 +1,19 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 5.975532e-02 5.975532e-02 2.715773e+00 7.827238e-04 7.813872e-04 7.823507e-04 1.891663e+00 9.282560e-03 7.827238e-04 7.813872e-04 7.823507e-04 6.670603e-03 + 2 1.191315e-01 5.937621e-02 2.699952e+00 1.838958e-03 1.603741e-03 1.531553e-03 1.889245e+00 1.687925e-02 1.838958e-03 1.603741e-03 1.531553e-03 1.262515e-02 + 3 1.781314e-01 5.899988e-02 2.685363e+00 3.355103e-03 2.617970e-03 2.361480e-03 1.887653e+00 2.297891e-02 3.355103e-03 2.617970e-03 2.361480e-03 1.793845e-02 + 4 2.367477e-01 5.861626e-02 2.671920e+00 5.300780e-03 3.837668e-03 3.287760e-03 1.886892e+00 2.771169e-02 5.300780e-03 3.837668e-03 3.287760e-03 2.263286e-02 + 5 2.949690e-01 5.822133e-02 2.659552e+00 7.598831e-03 5.230139e-03 4.288831e-03 1.886971e+00 3.118380e-02 7.598831e-03 5.230139e-03 4.288831e-03 2.672242e-02 + 6 3.527834e-01 5.781438e-02 2.648183e+00 1.017461e-02 6.751756e-03 5.331875e-03 1.887892e+00 3.351731e-02 1.017461e-02 6.751756e-03 5.331875e-03 3.024708e-02 + 7 4.101792e-01 5.739579e-02 2.637749e+00 1.296344e-02 8.367239e-03 6.390568e-03 1.889660e+00 3.482113e-02 1.296344e-02 8.367239e-03 6.390568e-03 3.325138e-02 + 8 4.671457e-01 5.696656e-02 2.628187e+00 1.591781e-02 1.005458e-02 7.449882e-03 1.892278e+00 3.520952e-02 1.591781e-02 1.005458e-02 7.449882e-03 3.579981e-02 + 9 5.236734e-01 5.652766e-02 2.619434e+00 1.900497e-02 1.180413e-02 8.503269e-03 1.895747e+00 3.481040e-02 1.900497e-02 1.180413e-02 8.503269e-03 3.797782e-02 + 10 5.797526e-01 5.607916e-02 2.611430e+00 2.220555e-02 1.361758e-02 9.554347e-03 1.900074e+00 3.376165e-02 2.220555e-02 1.361758e-02 9.554347e-03 3.988694e-02 + 11 6.353730e-01 5.562045e-02 2.604117e+00 2.551160e-02 1.550544e-02 1.061813e-02 1.905276e+00 3.222214e-02 2.551160e-02 1.550544e-02 1.061813e-02 4.164900e-02 + 12 6.905233e-01 5.515031e-02 2.597446e+00 2.892066e-02 1.748406e-02 1.171553e-02 1.911383e+00 3.037639e-02 2.892066e-02 1.748406e-02 1.171553e-02 4.340591e-02 + 13 7.451904e-01 5.466709e-02 2.591374e+00 3.243428e-02 1.957389e-02 1.287485e-02 1.918444e+00 2.845898e-02 3.243428e-02 1.957389e-02 1.287485e-02 4.533323e-02 + 14 7.993593e-01 5.416886e-02 2.585861e+00 3.605459e-02 2.179827e-02 1.413436e-02 1.926535e+00 2.677515e-02 3.605459e-02 2.179827e-02 1.413436e-02 4.765949e-02 + 15 8.530127e-01 5.365341e-02 2.580871e+00 3.978057e-02 2.418854e-02 1.554345e-02 1.935765e+00 2.570183e-02 3.978057e-02 2.418854e-02 1.554345e-02 5.069011e-02 + 16 9.061302e-01 5.311756e-02 2.576379e+00 4.360493e-02 2.677407e-02 1.716281e-02 1.946301e+00 2.564182e-02 4.360493e-02 2.677407e-02 1.716281e-02 5.484146e-02 + 17 9.586883e-01 5.255811e-02 2.572361e+00 4.750709e-02 2.957878e-02 1.906005e-02 1.958394e+00 2.690187e-02 4.750709e-02 2.957878e-02 1.906005e-02 6.072387e-02 + 18 1.000000e+00 4.131166e-02 2.569488e+00 5.063965e-02 3.198414e-02 2.082877e-02 1.969357e+00 2.890808e-02 5.063965e-02 3.198414e-02 2.082877e-02 6.721127e-02 diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg.q b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg.q index 07d8fd08544..b3ae033779c 100644 --- a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg.q +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg.q @@ -26,6 +26,7 @@ inciter r0 2.0 ce -1.0 kappa 0.8 + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.q b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.q new file mode 100644 index 00000000000..69070f281c4 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.q @@ -0,0 +1,52 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing nonlinear energy growth" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + + partitioning + algorithm mj + end + + scheme alecg + + compflow + + depvar c + physics euler + problem nl_energy_growth + alpha 0.25 + betax 1.0 + betay 0.75 + betaz 0.5 + r0 2.0 + ce -1.0 + kappa 0.8 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + end + + plotvar + interval 5 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.std.exo b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.std.exo new file mode 100644 index 00000000000..e6613ece884 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.0 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.0 new file mode 100644 index 00000000000..a21eb1fb98a Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.1 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.1 new file mode 100644 index 00000000000..a9556d60090 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.2 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.2 new file mode 100644 index 00000000000..3e04eabd065 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.3 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.3 new file mode 100644 index 00000000000..489034fa4b3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.4 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.4 new file mode 100644 index 00000000000..7527ceaa9ea Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.5 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.5 new file mode 100644 index 00000000000..69dca9e44a0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.6 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.6 new file mode 100644 index 00000000000..35a271aaef7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.7 b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.7 new file mode 100644 index 00000000000..d230a98e3e5 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_alecg_pe4_u0.5.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_diag.ndiff.cfg index 1c5936d4900..1559183cf86 100644 --- a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_diag.ndiff.cfg +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_diag.ndiff.cfg @@ -1,4 +1,5 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-8 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables -* 9-$ rel=1.0e-7 # tolerance for L2 errors +* 9-13 rel=1.0e-7 # tolerance for L2 errors +* 14 skip diff --git a/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_stag.q b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_stag.q new file mode 100644 index 00000000000..371afdb9af2 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/NLEnergyGrowth/nleg_stag.q @@ -0,0 +1,56 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing nonlinear energy growth" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem nl_energy_growth + alpha 0.25 + betax 1.0 + betay 0.75 + betaz 0.5 + r0 2.0 + ce -1.0 + kappa 0.8 + sysfct false + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + bc_stag + point -0.5 -0.5 -0.5 end + radius 1.0e-8 end + end + + end + + plotvar + interval 5 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/RayleighTaylor/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/RayleighTaylor/CMakeLists.txt index e0e1e5a91f4..26bb92bf271 100644 --- a/tests/regression/inciter/compflow/Euler/RayleighTaylor/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/RayleighTaylor/CMakeLists.txt @@ -12,7 +12,8 @@ add_regression_test(compflow_euler_rayleigh_taylor_st ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_st.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg + LABELS diagcg) # Parallel + no virtualization, stationary @@ -32,7 +33,8 @@ add_regression_test(compflow_euler_rayleigh_taylor_st ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_st.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg + LABELS diagcg) # Serial, non-stationary @@ -45,7 +47,8 @@ add_regression_test(compflow_euler_rayleigh_taylor ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg + LABELS diagcg) # Parallel + no virtualization, non-stationary @@ -66,4 +69,5 @@ add_regression_test(compflow_euler_rayleigh_taylor ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF rayleigh_taylor_diag.ndiff.cfg + LABELS diagcg) diff --git a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor.q b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor.q index 0420684b0c4..33b9778c36c 100644 --- a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor.q +++ b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor.q @@ -27,6 +27,7 @@ inciter p0 1.0 r0 1.0 kappa 1.0 + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_diag.ndiff.cfg index f67a9c767db..77efb708042 100644 --- a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_diag.ndiff.cfg +++ b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_diag.ndiff.cfg @@ -1,4 +1,5 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-8 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables -* 9-$ rel=1.0e-7 # tolerance for L2 and Linf errors +* 9-13 rel=1.0e-7 # tolerance for L2 and Linf errors +* 14 skip diff --git a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_st.q b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_st.q index 7ab28323674..9a7607e9dac 100644 --- a/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_st.q +++ b/tests/regression/inciter/compflow/Euler/RayleighTaylor/rayleigh_taylor_st.q @@ -27,6 +27,7 @@ inciter p0 1.0 r0 1.0 kappa 0.0 + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/SedovBlastwave/CMakeLists.txt index ed2fd8ba81c..04f7765f2ee 100644 --- a/tests/regression/inciter/compflow/Euler/SedovBlastwave/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/SedovBlastwave/CMakeLists.txt @@ -13,7 +13,8 @@ add_regression_test(compflow_euler_sedovblastwave_dgp1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_sedovblastwave_pdg ${INCITER_EXECUTABLE} NUMPES 1 @@ -25,7 +26,8 @@ add_regression_test(compflow_euler_sedovblastwave_pdg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_pdg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg + LABELS dg) # Parallel @@ -45,7 +47,8 @@ add_regression_test(compflow_euler_sedovblastwave_dgp1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_sedovblastwave_pdg ${INCITER_EXECUTABLE} NUMPES 4 @@ -63,7 +66,8 @@ add_regression_test(compflow_euler_sedovblastwave_pdg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_pdg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg + LABELS dg) # Parallel + Virtualization + Migration @@ -157,4 +161,4 @@ add_regression_test(compflow_euler_sedovblastwave_pdg_u0.9_migr ${INCITER_EXECUT TEXT_BASELINE diag_pdg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF sedov_blastwave_diag.ndiff.cfg - LABELS migration) + LABELS dg migration) diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/diag_pdg.std b/tests/regression/inciter/compflow/Euler/SedovBlastwave/diag_pdg.std index dc72591ac15..4a738e3320a 100644 --- a/tests/regression/inciter/compflow/Euler/SedovBlastwave/diag_pdg.std +++ b/tests/regression/inciter/compflow/Euler/SedovBlastwave/diag_pdg.std @@ -1,5 +1,3 @@ # 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) - 5 2.889916e-05 5.717399e-06 1.000000e+00 2.818300e-02 2.818374e-02 1.706781e-02 8.597183e+01 7.588228e-04 2.818300e-02 2.818374e-02 1.706781e-02 3.682101e+01 - 10 5.702376e-05 5.564008e-06 1.000001e+00 5.388852e-02 5.389033e-02 3.135952e-02 8.564970e+01 1.412014e-03 5.388852e-02 5.389033e-02 3.135952e-02 3.646689e+01 - 15 8.442160e-05 5.423867e-06 1.000002e+00 7.760065e-02 7.760188e-02 4.356772e-02 8.531764e+01 2.025365e-03 7.760065e-02 7.760188e-02 4.356772e-02 3.624628e+01 - 20 1.111323e-04 5.288176e-06 1.000003e+00 9.956234e-02 9.956165e-02 5.390406e-02 8.497436e+01 2.611965e-03 9.956234e-02 9.956165e-02 5.390406e-02 3.613733e+01 + 5 2.882420e-05 5.702347e-06 1.000000e+00 2.735916e-02 2.735987e-02 1.762769e-02 8.575877e+01 7.909675e-04 2.735916e-02 2.735987e-02 1.762769e-02 3.808137e+01 + 10 5.689013e-05 5.553150e-06 1.000001e+00 5.227291e-02 5.227461e-02 3.246636e-02 8.541088e+01 1.455946e-03 5.227291e-02 5.227461e-02 3.246636e-02 3.776181e+01 diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1.std.exo b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1.std.exo index de6da31629e..6fae900dd65 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1.std.exo and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.0 index fad8dacba90..b2ea49150fe 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.0 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.1 index 2363eb7be2d..33811c30e97 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.1 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.2 index 00930dff525..dbbe5d93a56 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.2 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.3 index 69fd2e3c388..713e2326cd1 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.3 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_dgp1_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.q b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.q index 7bf9d5375f3..fdc2c1d59d0 100644 --- a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.q +++ b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.q @@ -6,7 +6,7 @@ title "Sedov blast wave" inciter - nstep 20 # Max number of time steps + nstep 10 # Max number of time steps cfl 0.3 ttyi 5 # TTY output interval scheme pdg @@ -35,6 +35,10 @@ inciter end + pref + ndofmax 4 + end + diagnostics interval 5 format scientific @@ -42,7 +46,7 @@ inciter end plotvar - interval 20 + interval 5 end end diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.std.exo b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.std.exo index 8800d35c464..678c1b11697 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.std.exo and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.0 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.0 index 00761b495d6..79caf878c75 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.1 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.1 index dec57614192..b7baed75828 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.2 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.2 index 8d641bdecf3..ddc9cebf9d4 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.3 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.3 index 75abf2d1320..8085fe86f3a 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.0 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.0 index e884f429860..782227795d0 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.0 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.1 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.1 index 27286c00a0d..ff6ee252d33 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.1 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.10 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.10 index 8db2eb5a823..823fc447697 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.10 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.11 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.11 index ef8a4127837..3cf9e48290e 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.11 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.12 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.12 index df278df4873..311293d852b 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.12 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.13 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.13 index c2951c548f6..88ea7e36392 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.13 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.14 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.14 index 7fd20ca4a2e..d9074c13a60 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.14 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.15 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.15 index 9555ae7a3cd..01a6513bace 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.15 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.16 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.16 index 2cba9a29adc..55e045127c6 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.16 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.17 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.17 index 6cdb980fe3c..2d513414122 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.17 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.18 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.18 index ce3d81cc142..3fa0d06f0df 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.18 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.19 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.19 index e7741c3ee4a..51f561f7d80 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.19 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.2 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.2 index 2a41e2bc1be..5763f323429 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.2 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.20 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.20 index 512486b3cf3..3e34c61298f 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.20 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.21 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.21 index d3fa0fa9f7f..64fb9476b9e 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.21 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.22 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.22 index d91ea95d28e..ed151df064a 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.22 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.23 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.23 index dd3d8349e54..008ea65cfe2 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.23 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.24 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.24 index 2b461451e7a..83a32c4f511 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.24 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.25 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.25 index 42c57011684..5b04e6e1af0 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.25 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.26 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.26 index 2226f6958b5..acf3b800cbc 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.26 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.27 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.27 index ccc46a8856d..5a7cb8d93d8 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.27 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.28 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.28 index 4fd5dc08f45..9a3ec482d95 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.28 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.29 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.29 index a80e550aaf6..de448e3da80 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.29 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.3 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.3 index eb1cfb5b498..862cdf6e8d5 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.3 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.30 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.30 index 6b16844c3f3..28f1523e71f 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.30 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.31 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.31 index 28324a8dc21..c1393decfd7 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.31 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.32 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.32 index 4de41358e29..034c2807ecc 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.32 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.33 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.33 index 4692aadf203..2d63e7864f0 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.33 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.34 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.34 index b78b4c4e35c..ea7c0d9e5d7 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.34 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.35 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.35 index 8f0256809ba..88ab5f95447 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.35 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.36 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.36 index fe1d45962d2..e437f5856bb 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.36 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.37 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.37 index ff946ba8c38..aa7f7e81846 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.37 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.38 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.38 index e7280e7a043..f49cb83c991 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.38 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.38 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.39 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.39 index 2f9ffcfe93c..b8f46721642 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.39 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.39 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.4 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.4 index f3178773116..51f9c94cf3c 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.4 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.5 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.5 index dc623506a5d..348c1478881 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.5 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.6 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.6 index b4e7854d1ac..1b6a8e7b376 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.6 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.7 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.7 index 56763e23d4a..e0bd265bdb8 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.7 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.8 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.8 index 4b1d0cd4bc4..f77d9d69527 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.8 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.9 b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.9 index d6385f0d0ab..d40586a71a8 100644 Binary files a/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.9 and b/tests/regression/inciter/compflow/Euler/SedovBlastwave/sedov_blastwave_pdg_pe4_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/SodShocktube/CMakeLists.txt index 47c8152b1cd..1d2b9f05bae 100644 --- a/tests/regression/inciter/compflow/Euler/SodShocktube/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/CMakeLists.txt @@ -3,6 +3,132 @@ # Serial +add_regression_test(compflow_euler_sodshocktube ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_sodshocktube_surf ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_surf.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_surf.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube.std.exo + sod_shocktube-surf.1.std.exo + sod_shocktube-surf.2.std.exo + sod_shocktube-surf.3.std.exo + sod_shocktube-surf.4.std.exo + sod_shocktube-surf.5.std.exo + sod_shocktube-surf.6.std.exo + BIN_RESULT out.e-s.0.1.0 + out-surf.1.e-s.0.1.0 + out-surf.2.e-s.0.1.0 + out-surf.3.e-s.0.1.0 + out-surf.4.e-s.0.1.0 + out-surf.5.e-s.0.1.0 + out-surf.6.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_sodshocktube_reord_alecg + ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_reord_alecg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_reord_alecg.q + -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + sod_shocktube_alecg_hist.p1.std + sod_shocktube_alecg_hist.p2.std + TEXT_RESULT diag + out.hist.p1 + out.hist.p2 + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + BIN_DIFF_PROG_ARGS -m + LABELS alecg) + +add_regression_test(compflow_euler_sodshocktube_alecg ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_alecg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_alecg.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + sod_shocktube_alecg_hist.p1.std + sod_shocktube_alecg_hist.p2.std + TEXT_RESULT diag + out.hist.p1 + out.hist.p2 + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_sodshocktube_alecg_surf ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_alecg_surf.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_alecg_surf.q -i rectangle_01_1.5k.exo + -v + BIN_BASELINE sod_shocktube_alecg.std.exo + sod_shocktube_alecg-surf.2.std.exo + sod_shocktube_alecg-surf.4.std.exo + sod_shocktube_alecg-surf.5.std.exo + sod_shocktube_alecg-surf.6.std.exo + BIN_RESULT out.e-s.0.1.0 + out-surf.2.e-s.0.1.0 + out-surf.4.e-s.0.1.0 + out-surf.5.e-s.0.1.0 + out-surf.6.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_sodshocktube_alecg_userdef + ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_alecg_userdef.q + rectangle_01_1.5k.exo + ARGS -c sod_shocktube_alecg_userdef.q + -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_sodshocktube_alecg_userdef_lua + ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_alecg_userdef_lua.q + rectangle_01_1.5k.exo + ARGS -c sod_shocktube_alecg_userdef_lua.q + -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS alecg lua) + add_regression_test(compflow_euler_sodshocktube_dg ${INCITER_EXECUTABLE} NUMPES 1 INPUTFILES sod_shocktube_dg.q rectangle_01_1.5k.exo @@ -13,7 +139,8 @@ add_regression_test(compflow_euler_sodshocktube_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_sodshocktube_p0p1 ${INCITER_EXECUTABLE} NUMPES 1 @@ -25,7 +152,8 @@ add_regression_test(compflow_euler_sodshocktube_p0p1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_rotated_sodshocktube_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -41,4 +169,313 @@ add_regression_test(compflow_euler_rotated_sodshocktube_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_rotated_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) + +add_regression_test(compflow_euler_sodshocktube_pdg ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES sod_shocktube_pdg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_pdg.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_pdg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff_dg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) + +# Parallel + +add_regression_test(compflow_euler_sodshocktube_pdg ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES sod_shocktube_pdg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_pdg.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE sod_shocktube_pdg_pe4.std.exo.0 + sod_shocktube_pdg_pe4.std.exo.1 + sod_shocktube_pdg_pe4.std.exo.2 + sod_shocktube_pdg_pe4.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_CONF exodiff_dg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) + +# Parallel + virtualization + +add_regression_test(compflow_euler_sodshocktube_pdg_u0.8 ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES sod_shocktube_pdg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_pdg.q -i rectangle_01_1.5k.exo -v + -u 0.8 + BIN_BASELINE sod_shocktube_pdg_pe4_u0.8.std.exo.0 + sod_shocktube_pdg_pe4_u0.8.std.exo.1 + sod_shocktube_pdg_pe4_u0.8.std.exo.2 + sod_shocktube_pdg_pe4_u0.8.std.exo.3 + sod_shocktube_pdg_pe4_u0.8.std.exo.4 + sod_shocktube_pdg_pe4_u0.8.std.exo.5 + sod_shocktube_pdg_pe4_u0.8.std.exo.6 + sod_shocktube_pdg_pe4_u0.8.std.exo.7 + sod_shocktube_pdg_pe4_u0.8.std.exo.8 + sod_shocktube_pdg_pe4_u0.8.std.exo.9 + sod_shocktube_pdg_pe4_u0.8.std.exo.10 + sod_shocktube_pdg_pe4_u0.8.std.exo.11 + sod_shocktube_pdg_pe4_u0.8.std.exo.12 + sod_shocktube_pdg_pe4_u0.8.std.exo.13 + sod_shocktube_pdg_pe4_u0.8.std.exo.14 + sod_shocktube_pdg_pe4_u0.8.std.exo.15 + sod_shocktube_pdg_pe4_u0.8.std.exo.16 + sod_shocktube_pdg_pe4_u0.8.std.exo.17 + sod_shocktube_pdg_pe4_u0.8.std.exo.18 + BIN_RESULT out.e-s.0.19.0 + out.e-s.0.19.1 + out.e-s.0.19.2 + out.e-s.0.19.3 + out.e-s.0.19.4 + out.e-s.0.19.5 + out.e-s.0.19.6 + out.e-s.0.19.7 + out.e-s.0.19.8 + out.e-s.0.19.9 + out.e-s.0.19.10 + out.e-s.0.19.11 + out.e-s.0.19.12 + out.e-s.0.19.13 + out.e-s.0.19.14 + out.e-s.0.19.15 + out.e-s.0.19.16 + out.e-s.0.19.17 + out.e-s.0.19.18 + BIN_DIFF_PROG_CONF exodiff_dg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) + +# Parallel + virtualization + migration + +add_regression_test(compflow_euler_sodshocktube_pdg_u0.8_migr ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES sod_shocktube_pdg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_pdg.q -i rectangle_01_1.5k.exo -v + -u 0.8 +balancer RandCentLB +LBDebug 1 + BIN_BASELINE sod_shocktube_pdg_pe4_u0.8.std.exo.0 + sod_shocktube_pdg_pe4_u0.8.std.exo.1 + sod_shocktube_pdg_pe4_u0.8.std.exo.2 + sod_shocktube_pdg_pe4_u0.8.std.exo.3 + sod_shocktube_pdg_pe4_u0.8.std.exo.4 + sod_shocktube_pdg_pe4_u0.8.std.exo.5 + sod_shocktube_pdg_pe4_u0.8.std.exo.6 + sod_shocktube_pdg_pe4_u0.8.std.exo.7 + sod_shocktube_pdg_pe4_u0.8.std.exo.8 + sod_shocktube_pdg_pe4_u0.8.std.exo.9 + sod_shocktube_pdg_pe4_u0.8.std.exo.10 + sod_shocktube_pdg_pe4_u0.8.std.exo.11 + sod_shocktube_pdg_pe4_u0.8.std.exo.12 + sod_shocktube_pdg_pe4_u0.8.std.exo.13 + sod_shocktube_pdg_pe4_u0.8.std.exo.14 + sod_shocktube_pdg_pe4_u0.8.std.exo.15 + sod_shocktube_pdg_pe4_u0.8.std.exo.16 + sod_shocktube_pdg_pe4_u0.8.std.exo.17 + sod_shocktube_pdg_pe4_u0.8.std.exo.18 + BIN_RESULT out.e-s.0.19.0 + out.e-s.0.19.1 + out.e-s.0.19.2 + out.e-s.0.19.3 + out.e-s.0.19.4 + out.e-s.0.19.5 + out.e-s.0.19.6 + out.e-s.0.19.7 + out.e-s.0.19.8 + out.e-s.0.19.9 + out.e-s.0.19.10 + out.e-s.0.19.11 + out.e-s.0.19.12 + out.e-s.0.19.13 + out.e-s.0.19.14 + out.e-s.0.19.15 + out.e-s.0.19.16 + out.e-s.0.19.17 + out.e-s.0.19.18 + BIN_DIFF_PROG_CONF exodiff_dg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_pdg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg migration) + +add_regression_test(compflow_euler_sodshocktube_u0.8_migr ${INCITER_EXECUTABLE} + NUMPES 2 PPN 1 + INPUTFILES sod_shocktube.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube.q -i rectangle_01_1.5k.exo -v -u 0.8 + +balancer RandCentLB +LBDebug 1 + BIN_BASELINE sod_shocktube_pe2_u0.8.std.exo.0 + sod_shocktube_pe2_u0.8.std.exo.1 + sod_shocktube_pe2_u0.8.std.exo.2 + sod_shocktube_pe2_u0.8.std.exo.3 + sod_shocktube_pe2_u0.8.std.exo.4 + sod_shocktube_pe2_u0.8.std.exo.5 + sod_shocktube_pe2_u0.8.std.exo.6 + sod_shocktube_pe2_u0.8.std.exo.7 + sod_shocktube_pe2_u0.8.std.exo.8 + BIN_RESULT out.e-s.0.9.0 + out.e-s.0.9.1 + out.e-s.0.9.2 + out.e-s.0.9.3 + out.e-s.0.9.4 + out.e-s.0.9.5 + out.e-s.0.9.6 + out.e-s.0.9.7 + out.e-s.0.9.8 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_pe2.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS diagcg migration) + +add_regression_test(compflow_euler_sodshocktube_u0.8_surf_migr + ${INCITER_EXECUTABLE} + NUMPES 2 PPN 1 + INPUTFILES sod_shocktube_surf.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_surf.q -i rectangle_01_1.5k.exo -v + -u 0.8 +balancer RandCentLB +LBDebug 1 + BIN_BASELINE sod_shocktube_pe2_u0.8.std.exo.0 + sod_shocktube_pe2_u0.8.std.exo.1 + sod_shocktube_pe2_u0.8.std.exo.2 + sod_shocktube_pe2_u0.8.std.exo.3 + sod_shocktube_pe2_u0.8.std.exo.4 + sod_shocktube_pe2_u0.8.std.exo.5 + sod_shocktube_pe2_u0.8.std.exo.6 + sod_shocktube_pe2_u0.8.std.exo.7 + sod_shocktube_pe2_u0.8.std.exo.8 + sod_shocktube-surf.1.e-s.0.9.0 + sod_shocktube-surf.1.e-s.0.9.1 + sod_shocktube-surf.1.e-s.0.9.2 + sod_shocktube-surf.1.e-s.0.9.3 + sod_shocktube-surf.1.e-s.0.9.4 + sod_shocktube-surf.1.e-s.0.9.5 + sod_shocktube-surf.1.e-s.0.9.6 + sod_shocktube-surf.1.e-s.0.9.7 + sod_shocktube-surf.1.e-s.0.9.8 + sod_shocktube-surf.4.e-s.0.9.0 + sod_shocktube-surf.4.e-s.0.9.1 + sod_shocktube-surf.4.e-s.0.9.2 + sod_shocktube-surf.4.e-s.0.9.3 + sod_shocktube-surf.4.e-s.0.9.4 + sod_shocktube-surf.4.e-s.0.9.5 + sod_shocktube-surf.4.e-s.0.9.6 + sod_shocktube-surf.4.e-s.0.9.7 + sod_shocktube-surf.4.e-s.0.9.8 + sod_shocktube-surf.6.e-s.0.9.0 + sod_shocktube-surf.6.e-s.0.9.1 + sod_shocktube-surf.6.e-s.0.9.2 + sod_shocktube-surf.6.e-s.0.9.3 + sod_shocktube-surf.6.e-s.0.9.4 + sod_shocktube-surf.6.e-s.0.9.5 + sod_shocktube-surf.6.e-s.0.9.6 + sod_shocktube-surf.6.e-s.0.9.7 + sod_shocktube-surf.6.e-s.0.9.8 + BIN_RESULT out.e-s.0.9.0 + out.e-s.0.9.1 + out.e-s.0.9.2 + out.e-s.0.9.3 + out.e-s.0.9.4 + out.e-s.0.9.5 + out.e-s.0.9.6 + out.e-s.0.9.7 + out.e-s.0.9.8 + out-surf.1.e-s.0.9.0 + out-surf.1.e-s.0.9.1 + out-surf.1.e-s.0.9.2 + out-surf.1.e-s.0.9.3 + out-surf.1.e-s.0.9.4 + out-surf.1.e-s.0.9.5 + out-surf.1.e-s.0.9.6 + out-surf.1.e-s.0.9.7 + out-surf.1.e-s.0.9.8 + out-surf.4.e-s.0.9.0 + out-surf.4.e-s.0.9.1 + out-surf.4.e-s.0.9.2 + out-surf.4.e-s.0.9.3 + out-surf.4.e-s.0.9.4 + out-surf.4.e-s.0.9.5 + out-surf.4.e-s.0.9.6 + out-surf.4.e-s.0.9.7 + out-surf.4.e-s.0.9.8 + out-surf.6.e-s.0.9.0 + out-surf.6.e-s.0.9.1 + out-surf.6.e-s.0.9.2 + out-surf.6.e-s.0.9.3 + out-surf.6.e-s.0.9.4 + out-surf.6.e-s.0.9.5 + out-surf.6.e-s.0.9.6 + out-surf.6.e-s.0.9.7 + out-surf.6.e-s.0.9.8 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_pe2.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS diagcg migration) + +add_regression_test(compflow_euler_sodshocktube_alecg_u0.8_migr + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES sod_shocktube_alecg.q rectangle_01_1.5k.exo + ARGS -c sod_shocktube_alecg.q -i rectangle_01_1.5k.exo -v + -u 0.8 +balancer RandCentLB +LBDebug 1 + BIN_BASELINE sod_shocktube_alecg_pe4_u0.8.std.exo.0 + sod_shocktube_alecg_pe4_u0.8.std.exo.1 + sod_shocktube_alecg_pe4_u0.8.std.exo.2 + sod_shocktube_alecg_pe4_u0.8.std.exo.3 + sod_shocktube_alecg_pe4_u0.8.std.exo.4 + sod_shocktube_alecg_pe4_u0.8.std.exo.5 + sod_shocktube_alecg_pe4_u0.8.std.exo.6 + sod_shocktube_alecg_pe4_u0.8.std.exo.7 + sod_shocktube_alecg_pe4_u0.8.std.exo.8 + sod_shocktube_alecg_pe4_u0.8.std.exo.9 + sod_shocktube_alecg_pe4_u0.8.std.exo.10 + sod_shocktube_alecg_pe4_u0.8.std.exo.11 + sod_shocktube_alecg_pe4_u0.8.std.exo.12 + sod_shocktube_alecg_pe4_u0.8.std.exo.13 + sod_shocktube_alecg_pe4_u0.8.std.exo.14 + sod_shocktube_alecg_pe4_u0.8.std.exo.15 + sod_shocktube_alecg_pe4_u0.8.std.exo.16 + sod_shocktube_alecg_pe4_u0.8.std.exo.17 + sod_shocktube_alecg_pe4_u0.8.std.exo.18 + BIN_RESULT out.e-s.0.19.0 + out.e-s.0.19.1 + out.e-s.0.19.2 + out.e-s.0.19.3 + out.e-s.0.19.4 + out.e-s.0.19.5 + out.e-s.0.19.6 + out.e-s.0.19.7 + out.e-s.0.19.8 + out.e-s.0.19.9 + out.e-s.0.19.10 + out.e-s.0.19.11 + out.e-s.0.19.12 + out.e-s.0.19.13 + out.e-s.0.19.14 + out.e-s.0.19.15 + out.e-s.0.19.16 + out.e-s.0.19.17 + out.e-s.0.19.18 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_alecg.std + sod_shocktube_alecg_hist.p1.std + sod_shocktube_alecg_hist.p2.std + TEXT_RESULT diag + out.hist.p1 + out.hist.p2 + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + sod_shocktube_hist.ndiff.cfg + LABELS alecg migration) diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/diag.std b/tests/regression/inciter/compflow/Euler/SodShocktube/diag.std new file mode 100644 index 00000000000..c06b970b8ce --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/diag.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 5.888815e-03 5.888815e-03 7.167515e-01 2.596171e-02 5.724870e-02 6.168652e-02 1.786066e+00 1.027594e-02 2.596171e-02 5.724870e-02 6.168652e-02 3.480484e-02 + 2 9.373767e-03 3.484952e-03 7.136427e-01 3.643175e-02 5.597990e-02 6.204846e-02 1.778140e+00 4.591787e-02 3.643175e-02 5.597990e-02 6.204846e-02 1.286437e-01 + 3 1.359784e-02 4.224077e-03 7.118262e-01 4.680556e-02 5.527255e-02 5.907549e-02 1.773276e+00 6.298488e-02 4.680556e-02 5.527255e-02 5.907549e-02 1.748889e-01 + 4 1.777296e-02 4.175117e-03 7.103502e-01 5.617584e-02 5.700754e-02 5.771536e-02 1.769118e+00 7.362291e-02 5.617584e-02 5.700754e-02 5.771536e-02 2.041599e-01 + 5 2.180175e-02 4.028787e-03 7.091281e-01 6.472092e-02 5.752314e-02 5.592747e-02 1.765573e+00 8.123166e-02 6.472092e-02 5.752314e-02 5.592747e-02 2.261554e-01 + 6 2.577082e-02 3.969074e-03 7.079869e-01 7.250233e-02 5.789555e-02 5.501423e-02 1.762199e+00 8.742121e-02 7.250233e-02 5.789555e-02 5.501423e-02 2.446572e-01 + 7 2.957508e-02 3.804254e-03 7.069064e-01 7.953733e-02 5.700629e-02 5.332356e-02 1.758980e+00 9.315352e-02 7.953733e-02 5.700629e-02 5.332356e-02 2.616142e-01 + 8 3.327263e-02 3.697559e-03 7.057950e-01 8.581172e-02 5.599161e-02 5.198743e-02 1.755657e+00 9.781925e-02 8.581172e-02 5.599161e-02 5.198743e-02 2.756549e-01 + 9 3.687034e-02 3.597710e-03 7.046574e-01 9.126245e-02 5.490897e-02 5.090995e-02 1.752255e+00 1.017392e-01 9.126245e-02 5.490897e-02 5.090995e-02 2.876535e-01 + 10 4.045026e-02 3.579916e-03 7.035014e-01 9.630384e-02 5.435400e-02 5.055864e-02 1.748833e+00 1.053196e-01 9.630384e-02 5.435400e-02 5.055864e-02 2.989119e-01 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/diag_alecg.std b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_alecg.std new file mode 100644 index 00000000000..8b6326fdcab --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_alecg.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 5.888815e-03 5.888815e-03 7.142436e-01 2.408353e-02 1.407267e-03 1.966602e-03 1.779994e+00 3.645971e-02 2.408353e-02 1.407267e-03 1.966602e-03 9.469073e-02 + 2 1.064576e-02 4.756941e-03 7.125932e-01 3.962351e-02 1.602284e-03 2.276971e-03 1.775176e+00 5.136459e-02 3.962351e-02 1.602284e-03 2.276971e-03 1.365361e-01 + 3 1.502193e-02 4.376172e-03 7.112957e-01 5.191949e-02 1.789709e-03 2.583357e-03 1.771254e+00 6.110462e-02 5.191949e-02 1.789709e-03 2.583357e-03 1.654941e-01 + 4 1.920603e-02 4.184099e-03 7.101298e-01 6.214413e-02 1.929386e-03 2.796265e-03 1.767607e+00 6.822747e-02 6.214413e-02 1.929386e-03 2.796265e-03 1.880704e-01 + 5 2.320819e-02 4.002166e-03 7.090005e-01 7.083620e-02 1.966360e-03 2.831656e-03 1.764038e+00 7.434112e-02 7.083620e-02 1.966360e-03 2.831656e-03 2.079457e-01 + 6 2.702297e-02 3.814775e-03 7.079191e-01 7.842295e-02 1.940402e-03 2.766320e-03 1.760642e+00 7.962018e-02 7.842295e-02 1.940402e-03 2.766320e-03 2.253252e-01 + 7 3.072873e-02 3.705762e-03 7.068591e-01 8.520957e-02 1.878380e-03 2.651997e-03 1.757336e+00 8.439365e-02 8.520957e-02 1.878380e-03 2.651997e-03 2.410283e-01 + 8 3.437681e-02 3.648080e-03 7.058035e-01 9.138662e-02 1.793330e-03 2.510887e-03 1.754068e+00 8.884814e-02 9.138662e-02 1.793330e-03 2.510887e-03 2.555397e-01 + 9 3.799635e-02 3.619536e-03 7.047468e-01 9.714097e-02 1.698068e-03 2.377876e-03 1.750827e+00 9.310146e-02 9.714097e-02 1.698068e-03 2.377876e-03 2.692382e-01 + 10 4.155094e-02 3.554591e-03 7.037006e-01 1.024590e-01 1.607120e-03 2.264928e-03 1.747642e+00 9.713781e-02 1.024590e-01 1.607120e-03 2.264928e-03 2.820606e-01 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/diag_p0p1.std b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_p0p1.std index 854858e42c2..d330545d2cf 100644 --- a/tests/regression/inciter/compflow/Euler/SodShocktube/diag_p0p1.std +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_p0p1.std @@ -42,7 +42,7 @@ 41 8.200000e-02 2.000000e-03 6.868704e-01 1.537173e-01 1.027424e-03 9.516706e-04 1.700935e+00 1.406465e-01 1.537173e-01 1.027424e-03 9.516706e-04 4.058002e-01 42 8.400000e-02 2.000000e-03 6.862496e-01 1.556342e-01 1.154453e-03 1.164991e-03 1.699109e+00 1.424715e-01 1.556342e-01 1.154453e-03 1.164991e-03 4.107444e-01 43 8.600000e-02 2.000000e-03 6.856319e-01 1.575626e-01 9.072625e-04 8.282116e-04 1.697305e+00 1.443005e-01 1.575626e-01 9.072625e-04 8.282116e-04 4.157634e-01 - 44 8.800000e-02 2.000000e-03 6.850152e-01 1.594995e-01 7.015614e-04 5.152817e-04 1.695523e+00 1.461221e-01 1.594995e-01 7.015614e-04 5.152817e-04 4.208547e-01 + 44 8.800000e-02 2.000000e-03 6.850152e-01 1.594995e-01 7.015615e-04 5.152817e-04 1.695523e+00 1.461221e-01 1.594995e-01 7.015615e-04 5.152817e-04 4.208547e-01 45 9.000000e-02 2.000000e-03 6.843930e-01 1.613892e-01 9.237412e-04 8.770668e-04 1.693715e+00 1.479043e-01 1.613892e-01 9.237412e-04 8.770668e-04 4.258180e-01 46 9.200000e-02 2.000000e-03 6.837691e-01 1.632187e-01 1.171463e-03 1.248829e-03 1.691882e+00 1.496662e-01 1.632187e-01 1.171463e-03 1.248829e-03 4.306685e-01 47 9.400000e-02 2.000000e-03 6.831475e-01 1.650474e-01 9.520235e-04 9.986760e-04 1.690062e+00 1.514255e-01 1.650474e-01 9.520235e-04 9.986760e-04 4.355488e-01 @@ -64,7 +64,7 @@ 63 1.260000e-01 2.000000e-03 6.731247e-01 1.921863e-01 1.003859e-03 1.128373e-03 1.660867e+00 1.770168e-01 1.921863e-01 1.003859e-03 1.128373e-03 5.072543e-01 64 1.280000e-01 2.000000e-03 6.724924e-01 1.937340e-01 9.610724e-04 1.087633e-03 1.659008e+00 1.785031e-01 1.937340e-01 9.610724e-04 1.087633e-03 5.113601e-01 65 1.300000e-01 2.000000e-03 6.718632e-01 1.953076e-01 5.804794e-04 6.216913e-04 1.657180e+00 1.799921e-01 1.953076e-01 5.804794e-04 6.216913e-04 5.155432e-01 - 66 1.320000e-01 2.000000e-03 6.712327e-01 1.968799e-01 4.452289e-04 4.428271e-04 1.655356e+00 1.814662e-01 1.968799e-01 4.452289e-04 4.428271e-04 5.197170e-01 + 66 1.320000e-01 2.000000e-03 6.712327e-01 1.968799e-01 4.452289e-04 4.428272e-04 1.655356e+00 1.814662e-01 1.968799e-01 4.452289e-04 4.428272e-04 5.197170e-01 67 1.340000e-01 2.000000e-03 6.705967e-01 1.984041e-01 8.653946e-04 9.557760e-04 1.653495e+00 1.829113e-01 1.984041e-01 8.653946e-04 9.557760e-04 5.237503e-01 68 1.360000e-01 2.000000e-03 6.699613e-01 1.999005e-01 9.878408e-04 1.122399e-03 1.651625e+00 1.843493e-01 1.999005e-01 9.878408e-04 1.122399e-03 5.277273e-01 69 1.380000e-01 2.000000e-03 6.693286e-01 2.014128e-01 6.867672e-04 7.507314e-04 1.649776e+00 1.857881e-01 2.014128e-01 6.867672e-04 7.507314e-04 5.317495e-01 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pdg.std b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pdg.std new file mode 100644 index 00000000000..f2fe5930dbe --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pdg.std @@ -0,0 +1,5 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 5 7.900782e-04 1.567195e-04 7.115068e-01 5.100577e-03 1.316266e-03 1.191553e-03 1.773533e+00 3.278556e-02 5.100577e-03 1.316266e-03 1.191553e-03 8.469962e-02 + 10 1.526018e-03 1.420961e-04 7.112740e-01 9.383485e-03 2.284579e-03 2.092590e-03 1.772817e+00 3.427805e-02 9.383485e-03 2.284579e-03 2.092590e-03 8.909749e-02 + 15 2.209479e-03 1.335971e-04 7.110656e-01 1.307966e-02 3.042103e-03 2.824494e-03 1.772171e+00 3.551684e-02 1.307966e-02 3.042103e-03 2.824494e-03 9.291865e-02 + 20 2.859182e-03 1.277762e-04 7.108717e-01 1.637113e-02 3.649945e-03 3.424302e-03 1.771567e+00 3.663204e-02 1.637113e-02 3.649945e-03 3.424302e-03 9.648489e-02 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pe2.std b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pe2.std new file mode 100644 index 00000000000..b3ee58f11a3 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/diag_pe2.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 5.888815e-03 5.888815e-03 7.167515e-01 2.596171e-02 5.724870e-02 6.687485e-02 1.786066e+00 1.027594e-02 2.596171e-02 5.724870e-02 6.687485e-02 3.480484e-02 + 2 9.373767e-03 3.484952e-03 7.136431e-01 3.643187e-02 5.597935e-02 7.304602e-02 1.778142e+00 4.592130e-02 3.643187e-02 5.597935e-02 7.304602e-02 1.286585e-01 + 3 1.359784e-02 4.224077e-03 7.118284e-01 4.680638e-02 5.526879e-02 7.925164e-02 1.773285e+00 6.299505e-02 4.680638e-02 5.526879e-02 7.925164e-02 1.749331e-01 + 4 1.769720e-02 4.099351e-03 7.103740e-01 5.601390e-02 5.635814e-02 8.631944e-02 1.769192e+00 7.356262e-02 5.601390e-02 5.635814e-02 8.631944e-02 2.039060e-01 + 5 2.150591e-02 3.808715e-03 7.092111e-01 6.415152e-02 5.552284e-02 9.168053e-02 1.765815e+00 8.094133e-02 6.415152e-02 5.552284e-02 9.168053e-02 2.249796e-01 + 6 2.511490e-02 3.608994e-03 7.081709e-01 7.136184e-02 5.431841e-02 9.654408e-02 1.762720e+00 8.666117e-02 7.136184e-02 5.431841e-02 9.654408e-02 2.417983e-01 + 7 2.857854e-02 3.463637e-03 7.071946e-01 7.789753e-02 5.319180e-02 1.010346e-01 1.759790e+00 9.172013e-02 7.789753e-02 5.319180e-02 1.010346e-01 2.568538e-01 + 8 3.193142e-02 3.352883e-03 7.061867e-01 8.371649e-02 5.200484e-02 1.049850e-01 1.756768e+00 9.585079e-02 8.371649e-02 5.200484e-02 1.049850e-01 2.694625e-01 + 9 3.519771e-02 3.266291e-03 7.051782e-01 8.888399e-02 5.091544e-02 1.084709e-01 1.753729e+00 9.917209e-02 8.888399e-02 5.091544e-02 1.084709e-01 2.800602e-01 + 10 3.839487e-02 3.197152e-03 7.041738e-01 9.360056e-02 5.013627e-02 1.116224e-01 1.750738e+00 1.023902e-01 9.360056e-02 5.013627e-02 1.116224e-01 2.903844e-01 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/exodiff.cfg b/tests/regression/inciter/compflow/Euler/SodShocktube/exodiff.cfg new file mode 100644 index 00000000000..9c5bd19e06f --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/exodiff.cfg @@ -0,0 +1,9 @@ +COORDINATES absolute 1.0e-6 +TIME STEPS absolute 1.0e-8 +NODAL VARIABLES relative 1.0e-7 floor 1.0e-8 + density_numerical + x-velocity_numerical + y-velocity_numerical + z-velocity_numerical + specific_total_energy_numerical + pressure_numerical diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.0 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.1 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.2 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.3 new file mode 100644 index 00000000000..cd289cc366f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.4 new file mode 100644 index 00000000000..fdce833b044 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.5 new file mode 100644 index 00000000000..86d4f43710e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.6 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.7 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.8 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.std.exo new file mode 100644 index 00000000000..db74ae210fa Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.0 new file mode 100644 index 00000000000..6db21a6ea0f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.1 new file mode 100644 index 00000000000..70f1eb68df0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.2 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.3 new file mode 100644 index 00000000000..67ae4d02158 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.4 new file mode 100644 index 00000000000..3f43ba366a7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.5 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.6 new file mode 100644 index 00000000000..5eb7049434f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.7 new file mode 100644 index 00000000000..efc165756c0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.8 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.std.exo new file mode 100644 index 00000000000..761f35a89c3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.2.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.0 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.1 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.2 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.3 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.4 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.5 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.6 new file mode 100644 index 00000000000..2cb4627f636 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.7 new file mode 100644 index 00000000000..a90754d5f6b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.8 new file mode 100644 index 00000000000..aa00064a326 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.std.exo new file mode 100644 index 00000000000..2c3875bd058 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.3.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.0 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.1 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.2 new file mode 100644 index 00000000000..7362cd36303 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.3 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.4 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.5 new file mode 100644 index 00000000000..12156604d38 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.6 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.7 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.8 new file mode 100644 index 00000000000..f35a3268760 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.std.exo new file mode 100644 index 00000000000..c4aef6023d7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.4.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.0 new file mode 100644 index 00000000000..06abc659fd8 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.1 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.2 new file mode 100644 index 00000000000..69234944c36 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.3 new file mode 100644 index 00000000000..3b70d319507 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.4 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.5 new file mode 100644 index 00000000000..265ab8252e7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.6 new file mode 100644 index 00000000000..f2723d8360e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.7 new file mode 100644 index 00000000000..1c40a94ee80 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.8 new file mode 100644 index 00000000000..f2a1bd39c95 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.std.exo new file mode 100644 index 00000000000..9f6a787b057 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.5.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.0 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.1 new file mode 100644 index 00000000000..71671ac0f30 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.2 new file mode 100644 index 00000000000..6c617cdebbd Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.3 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.4 new file mode 100644 index 00000000000..14513d4e124 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.5 new file mode 100644 index 00000000000..51b0eef2273 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.6 new file mode 100644 index 00000000000..46e16b6815c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.7 new file mode 100644 index 00000000000..897d183fbf4 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.8 new file mode 100644 index 00000000000..60748a7346c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.e-s.0.9.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.std.exo new file mode 100644 index 00000000000..87f9aa315db Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube-surf.6.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.q new file mode 100644 index 00000000000..d478c928ff1 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.q @@ -0,0 +1,51 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + + cfl 0.5 + #dt 1.0e-4 # Time step size + + scheme diagcg + fcteps 1.0e-6 + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + problem sod_shocktube + + material + gamma 1.4 end + end + + bc_dirichlet + sideset 1 3 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.std.exo new file mode 100644 index 00000000000..e09db28b4db Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.1.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.1.std.exo new file mode 100644 index 00000000000..655e9e2f919 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.2.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.2.std.exo new file mode 100644 index 00000000000..9336f406442 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.2.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.3.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.3.std.exo new file mode 100644 index 00000000000..d4137139deb Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.3.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.4.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.4.std.exo new file mode 100644 index 00000000000..5a388f4ea33 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.4.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.5.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.5.std.exo new file mode 100644 index 00000000000..8842d6cca3b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.5.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.6.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.6.std.exo new file mode 100644 index 00000000000..70547f1fabf Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg-surf.6.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.q new file mode 100644 index 00000000000..af6c07dacf7 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.q @@ -0,0 +1,49 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + cfl 0.5 + + scheme alecg + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + problem sod_shocktube + + material + gamma 1.4 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + end + + diagnostics + interval 1 + format scientific + error l2 + end + + history + point p1 0.1 0.05 0.025 end + point p2 0.9 0.05 0.025 end + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.std.exo new file mode 100644 index 00000000000..f96bbb28453 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p1.std b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p1.std new file mode 100644 index 00000000000..e3806554188 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p1.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:density 5:x-velocity 6:y-velocity 7:z-velocity 8:energy 9:pressure + 1 0.00588882 0.00588882 1 4.76876e-17 2.8601e-17 -1.4432e-17 2.5 1 + 2 0.0106435 0.00475464 1 8.48373e-17 5.17749e-17 -2.48568e-17 2.5 1 + 3 0.0150182 0.00437477 1 9.36474e-17 7.31527e-17 -3.36437e-17 2.5 1 + 4 0.0192012 0.00418301 1 9.60287e-17 9.36442e-17 -4.12668e-17 2.5 1 + 5 0.0232028 0.00400158 1 9.71677e-17 1.13282e-16 -4.80282e-17 2.5 1 + 6 0.0270147 0.00381189 1 1.02674e-16 1.23182e-16 -5.40089e-17 2.5 1 + 7 0.0307153 0.00370064 1 5.75616e-17 1.15609e-16 -5.91811e-17 2.5 1 + 8 0.0343566 0.00364126 1 -7.33779e-17 1.43948e-16 -5.42249e-17 2.5 1 + 9 0.0379716 0.00361503 1 -2.90384e-16 1.53244e-16 -5.05604e-17 2.5 1 + 10 0.0415299 0.00355825 1 -2.42705e-16 1.52207e-16 -3.99303e-17 2.5 1 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p2.std b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p2.std new file mode 100644 index 00000000000..9931614d6e4 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_hist.p2.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:density 5:x-velocity 6:y-velocity 7:z-velocity 8:energy 9:pressure + 1 0.00588882 0.00588882 0.125 -2.21195e-17 -1.01083e-17 -1.10988e-17 2 0.1 + 2 0.0106435 0.00475464 0.125 -3.99658e-17 -1.82701e-17 -1.76445e-17 2 0.1 + 3 0.0150182 0.00437477 0.125 -5.39042e-17 -2.57974e-17 -2.12667e-17 2 0.1 + 4 0.0192012 0.00418301 0.125 -5.75509e-17 -3.29895e-17 -2.29425e-17 2 0.1 + 5 0.0232028 0.00400158 0.125 -5.17885e-17 -3.87399e-17 -2.31601e-17 2 0.1 + 6 0.0270147 0.00381189 0.125 -7.27456e-17 -3.98116e-17 -2.1976e-17 2 0.1 + 7 0.0307153 0.00370064 0.125 -1.23109e-16 -4.08516e-17 -1.36345e-17 2 0.1 + 8 0.0343566 0.00364126 0.125 -1.91662e-16 -3.34895e-17 -1.25844e-19 2 0.1 + 9 0.0379716 0.00361503 0.125 7.67949e-17 -4.08497e-17 1.42246e-17 2 0.1 + 10 0.0415299 0.00355825 0.125 1.67955e-15 -3.98351e-17 -1.43165e-18 2 0.1 diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.0 new file mode 100644 index 00000000000..bf646d05b30 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.1 new file mode 100644 index 00000000000..61859c7439f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.10 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.10 new file mode 100644 index 00000000000..b87cab7fca0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.11 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.11 new file mode 100644 index 00000000000..fa8f4c48b61 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.12 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.12 new file mode 100644 index 00000000000..3804b05939e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.13 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.13 new file mode 100644 index 00000000000..5b5bc8c2965 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.14 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.14 new file mode 100644 index 00000000000..0e8afaba8dc Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.15 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.15 new file mode 100644 index 00000000000..ed26815f3ca Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.16 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.16 new file mode 100644 index 00000000000..60d0146836b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.17 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.17 new file mode 100644 index 00000000000..b2ffedf73b7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.18 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.18 new file mode 100644 index 00000000000..51b6e601dce Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.2 new file mode 100644 index 00000000000..0585ece94dc Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.3 new file mode 100644 index 00000000000..1fa37e7a7b3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.4 new file mode 100644 index 00000000000..bf810c64af9 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.5 new file mode 100644 index 00000000000..24215b4ad50 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.6 new file mode 100644 index 00000000000..61c239b9370 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.7 new file mode 100644 index 00000000000..e770de274a8 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.8 new file mode 100644 index 00000000000..ed5e2708de3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.9 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.9 new file mode 100644 index 00000000000..dcc601d9979 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_pe4_u0.8.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_surf.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_surf.q new file mode 100644 index 00000000000..db04e5eb773 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_surf.q @@ -0,0 +1,45 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + cfl 0.5 + + scheme alecg + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + problem sod_shocktube + + material + gamma 1.4 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + sideset 2 4 5 6 end + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef.q new file mode 100644 index 00000000000..4b02639f27e --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef.q @@ -0,0 +1,57 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + cfl 0.5 + + scheme alecg + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + + #problem sod_shocktube + ic + density 1.0 end + velocity 0.0 0.0 0.0 end + pressure 1.0 end + box + xmin 0.5 xmax 1.5 + ymin -0.5 ymax 0.5 + zmin -0.5 zmax 0.5 + density 0.125 end + pressure 0.1 end + end + end + + material + gamma 1.4 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef_lua.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef_lua.q new file mode 100644 index 00000000000..f5747ff2938 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_alecg_userdef_lua.q @@ -0,0 +1,70 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + cfl 0.5 + + scheme alecg + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + + + #problem sod_shocktube + + #ic + # density 1.0 end + # velocity 0.0 0.0 0.0 end + # pressure 1.0 end + # box + # xmin 0.5 xmax 1.5 + # ymin -0.5 ymax 0.5 + # zmin -0.5 zmax 0.5 + # density 0.125 end + # pressure 0.1 end + # end + #end + + lua + ic = { density = { 1.0 }, + velocity = { 0.0, 0.0, 0.0 }, + pressure = { 1.0 }, + box = { xmin = 0.5, xmax = 1.5, + ymin = -0.5, ymax = 0.5, + zmin = -0.5, zmax = 0.5, + density = { 0.125 }, + pressure = { 0.1 } } } + end + + material + gamma 1.4 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_diag.ndiff.cfg index 1c5936d4900..2300a3549a1 100644 --- a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_diag.ndiff.cfg +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_diag.ndiff.cfg @@ -1,4 +1,5 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-8 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables -* 9-$ rel=1.0e-7 # tolerance for L2 errors +* 9-14 rel=1.0e-7 # tolerance for L2 errors +* 15 skip diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_hist.ndiff.cfg b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_hist.ndiff.cfg new file mode 100644 index 00000000000..043eaf06d0e --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_hist.ndiff.cfg @@ -0,0 +1,6 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-3 rel=1.0e-7 # tolerance for t and dt +* 4 rel=1.0e-7 # tolerance for density +* 5-7 abs=1.0e-7 # tolerance for velocity components +* 8-9 rel=1.0e-7 # tolerance for total energy and pressure diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.q index e430dc6245a..79603200035 100644 --- a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.q +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.q @@ -38,7 +38,7 @@ inciter end plotvar - interval 20 + interval 50 end end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.std.exo index 5d4c903469b..95fe2f92390 100644 Binary files a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.std.exo and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_p0p1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.q new file mode 100644 index 00000000000..1d0a5224bfe --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.q @@ -0,0 +1,53 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 20 + cfl 0.3 + ttyi 10 # TTY output interval + scheme pdg + limiter superbeep1 + + compflow + + physics euler + problem sod_shocktube + depvar u + + material + gamma 1.4 end # ratio of specific heats + end + + bc_extrapolate + sideset 1 3 end + end + bc_sym + sideset 2 4 5 6 end + end + + end + + partitioning + algorithm mj + end + + pref + ndofmax 4 + tolref 0 + end + + diagnostics + interval 5 + format scientific + error l2 + end + + plotvar + interval 10 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.std.exo b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.std.exo new file mode 100644 index 00000000000..73f6c3150f3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.0 new file mode 100644 index 00000000000..7378edc13d3 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.1 new file mode 100644 index 00000000000..5fe68073329 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.2 new file mode 100644 index 00000000000..23c329a295d Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.3 new file mode 100644 index 00000000000..791df92cb78 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.0 new file mode 100644 index 00000000000..dc781402421 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.1 new file mode 100644 index 00000000000..312c8a23f39 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.10 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.10 new file mode 100644 index 00000000000..ceef431f252 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.11 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.11 new file mode 100644 index 00000000000..0d1436ffaa8 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.12 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.12 new file mode 100644 index 00000000000..7e9fca32f40 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.13 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.13 new file mode 100644 index 00000000000..9e7c1d0e627 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.14 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.14 new file mode 100644 index 00000000000..f986e86c678 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.15 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.15 new file mode 100644 index 00000000000..ac79fd8c752 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.16 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.16 new file mode 100644 index 00000000000..b2c48597458 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.17 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.17 new file mode 100644 index 00000000000..423b6fb0356 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.18 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.18 new file mode 100644 index 00000000000..22ee38ecba5 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.2 new file mode 100644 index 00000000000..456c632c50d Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.3 new file mode 100644 index 00000000000..2c3a9c47386 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.4 new file mode 100644 index 00000000000..9ae41aff5ea Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.5 new file mode 100644 index 00000000000..7f9c7cb412b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.6 new file mode 100644 index 00000000000..9cf2079985c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.7 new file mode 100644 index 00000000000..fc8e04ee592 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.8 new file mode 100644 index 00000000000..bfb39a2b99d Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.9 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.9 new file mode 100644 index 00000000000..30ef7cd9b27 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pdg_pe4_u0.8.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.0 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.0 new file mode 100644 index 00000000000..53d1f68423e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.1 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.1 new file mode 100644 index 00000000000..329077b544f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.2 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.2 new file mode 100644 index 00000000000..c23bce39a33 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.3 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.3 new file mode 100644 index 00000000000..3553dc59a8a Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.4 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.4 new file mode 100644 index 00000000000..8de8539787b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.5 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.5 new file mode 100644 index 00000000000..add8e633962 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.6 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.6 new file mode 100644 index 00000000000..7f3a94ef5c7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.7 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.7 new file mode 100644 index 00000000000..f5c139b3f77 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.8 b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.8 new file mode 100644 index 00000000000..edc8e8b176c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_pe2_u0.8.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_reord_alecg.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_reord_alecg.q new file mode 100644 index 00000000000..168bbfc89c1 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_reord_alecg.q @@ -0,0 +1,50 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + cfl 0.5 + + scheme alecg + operator_reorder true + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + problem sod_shocktube + + material + gamma 1.4 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + end + + diagnostics + interval 1 + format scientific + error l2 + end + + history + point p1 0.1 0.05 0.025 end + point p2 0.9 0.05 0.025 end + end + +end diff --git a/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_surf.q b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_surf.q new file mode 100644 index 00000000000..ccc8716e11d --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/SodShocktube/sod_shocktube_surf.q @@ -0,0 +1,52 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Sod shock-tube" + +inciter + + nstep 10 # Max number of time steps + term 0.2 # Max physical time + ttyi 1 # TTY output interval + + cfl 0.5 + #dt 1.0e-4 # Time step size + + scheme diagcg + fcteps 1.0e-6 + + partitioning + algorithm mj + end + + compflow + depvar u + physics euler + problem sod_shocktube + + material + gamma 1.4 end + end + + bc_dirichlet + sideset 1 3 end + end + + bc_sym + sideset 2 4 5 6 end + end + end + + plotvar + interval 10000 + sideset 1 2 3 4 5 6 end + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/TaylorGreen/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/TaylorGreen/CMakeLists.txt index dc52ed19c64..64932cc70b7 100644 --- a/tests/regression/inciter/compflow/Euler/TaylorGreen/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/TaylorGreen/CMakeLists.txt @@ -12,7 +12,8 @@ add_regression_test(compflow_euler_taylor_green ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS diagcg) add_regression_test(compflow_euler_taylor_green_dgp2 ${INCITER_EXECUTABLE} NUMPES 1 @@ -24,7 +25,8 @@ add_regression_test(compflow_euler_taylor_green_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_taylor_green_dgp2_cfl ${INCITER_EXECUTABLE} NUMPES 1 @@ -36,7 +38,8 @@ add_regression_test(compflow_euler_taylor_green_dgp2_cfl ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp2_cfl.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS dg) # Parallel + no virtualization @@ -56,7 +59,8 @@ add_regression_test(compflow_euler_taylor_green ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS diagcg) add_regression_test(compflow_euler_taylor_green_dgp2_cfl ${INCITER_EXECUTABLE} NUMPES 4 @@ -74,7 +78,8 @@ add_regression_test(compflow_euler_taylor_green_dgp2_cfl ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_taylor_green_dgp2 ${INCITER_EXECUTABLE} NUMPES 4 @@ -92,7 +97,8 @@ add_regression_test(compflow_euler_taylor_green_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dgp2_cfl.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS dg) # Parallel + virtualization @@ -120,4 +126,5 @@ add_regression_test(compflow_euler_taylor_green_u0.5 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF taylor_green_diag.ndiff.cfg + LABELS diagcg) diff --git a/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green.q b/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green.q index f50593859b6..adf097cef6b 100644 --- a/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green.q +++ b/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green.q @@ -19,6 +19,7 @@ inciter depvar c physics euler problem taylor_green + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green_diag.ndiff.cfg index 1c5936d4900..1559183cf86 100644 --- a/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green_diag.ndiff.cfg +++ b/tests/regression/inciter/compflow/Euler/TaylorGreen/taylor_green_diag.ndiff.cfg @@ -1,4 +1,5 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-8 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables -* 9-$ rel=1.0e-7 # tolerance for L2 errors +* 9-13 rel=1.0e-7 # tolerance for L2 errors +* 14 skip diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/CMakeLists.txt b/tests/regression/inciter/compflow/Euler/VorticalFlow/CMakeLists.txt index 4552267de14..301fa509173 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/CMakeLists.txt +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/CMakeLists.txt @@ -3,27 +3,61 @@ # Serial -add_regression_test(compflow_euler_vorticalflow ${INCITER_EXECUTABLE} +add_regression_test(compflow_euler_vorticalflow_diagcg ${INCITER_EXECUTABLE} NUMPES 1 - INPUTFILES vortical_flow.q unitcube_1k.exo - ARGS -c vortical_flow.q -i unitcube_1k.exo -v - BIN_BASELINE vortical_flow.std.exo + INPUTFILES vortical_flow_diagcg.q unitcube_1k.exo + ARGS -c vortical_flow_diagcg.q -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_diagcg.std.exo BIN_RESULT out.e-s.0.1.0 BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag.std + TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) -add_regression_test(compflow_euler_vorticalflow_diagcg ${INCITER_EXECUTABLE} +add_regression_test(compflow_euler_vorticalflow_reord_diagcg + ${INCITER_EXECUTABLE} NUMPES 1 - INPUTFILES vortical_flow_diagcg.q unitcube_1k.exo - ARGS -c vortical_flow_diagcg.q -i unitcube_1k.exo -v + INPUTFILES vortical_flow_operator_reorder_diagcg.q + unitcube_1k.exo + ARGS -c vortical_flow_operator_reorder_diagcg.q + -i unitcube_1k.exo -v BIN_BASELINE vortical_flow_diagcg.std.exo BIN_RESULT out.e-s.0.1.0 BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_vorticalflow_alecg ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES vortical_flow_alecg.q unitcube_1k.exo + ARGS -c vortical_flow_alecg.q -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_vorticalflow_reord_alecg + ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES vortical_flow_operator_reorder_alecg.q + unitcube_1k.exo + ARGS -c vortical_flow_operator_reorder_alecg.q + -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS alecg) add_regression_test(compflow_euler_vorticalflow_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -35,7 +69,8 @@ add_regression_test(compflow_euler_vorticalflow_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_vorticalflow_dg_lf ${INCITER_EXECUTABLE} NUMPES 1 @@ -47,7 +82,8 @@ add_regression_test(compflow_euler_vorticalflow_dg_lf ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg_lf.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_vorticalflow_reord_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -59,7 +95,8 @@ add_regression_test(compflow_euler_vorticalflow_reord_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_vorticalflow_dgp1 ${INCITER_EXECUTABLE} NUMPES 1 @@ -71,7 +108,8 @@ add_regression_test(compflow_euler_vorticalflow_dgp1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) add_regression_test(compflow_euler_vorticalflow_dgp1_lf ${INCITER_EXECUTABLE} NUMPES 1 @@ -83,7 +121,21 @@ add_regression_test(compflow_euler_vorticalflow_dgp1_lf ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp1_lf.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) + +add_regression_test(compflow_euler_vorticalflow_alecg_steady + ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES vortical_flow_alecg_steady.q unitcube_1k.exo + ARGS -c vortical_flow_alecg_steady.q -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_alecg_steady_pe1.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg_steady.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_steady_diag.ndiff.cfg + LABELS alecg) # Parallel + no virtualization @@ -103,7 +155,44 @@ add_regression_test(compflow_euler_vorticalflow ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_vorticalflow_stag ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_stag.q unitcube_1k.exo + ARGS -c vortical_flow_stag.q -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_stag_pe4.std.exo.0 + vortical_flow_stag_pe4.std.exo.1 + vortical_flow_stag_pe4.std.exo.2 + vortical_flow_stag_pe4.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_vorticalflow_alecg_steady + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_alecg_steady.q unitcube_1k.exo + ARGS -c vortical_flow_alecg_steady.q -i unitcube_1k.exo -v + BIN_BASELINE vortical_flow_alecg_steady_pe4.std.exo.0 + vortical_flow_alecg_steady_pe4.std.exo.1 + vortical_flow_alecg_steady_pe4.std.exo.2 + vortical_flow_alecg_steady_pe4.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_alecg_steady.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_steady_diag.ndiff.cfg + LABELS alecg) # Parallel + virtualization @@ -131,9 +220,11 @@ add_regression_test(compflow_euler_vorticalflow_u0.5 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) -add_regression_test(compflow_euler_vorticalflow_diagcg_u0.5 ${INCITER_EXECUTABLE} +add_regression_test(compflow_euler_vorticalflow_diagcg_u0.5 + ${INCITER_EXECUTABLE} NUMPES 4 INPUTFILES vortical_flow_diagcg.q unitcube_1k.exo ARGS -c vortical_flow_diagcg.q -i unitcube_1k.exo -v -u 0.5 @@ -157,7 +248,121 @@ add_regression_test(compflow_euler_vorticalflow_diagcg_u0.5 ${INCITER_EXECUTABLE BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_vorticalflow_reord_diagcg_u0.5 + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_operator_reorder_diagcg.q + unitcube_1k.exo + ARGS -c vortical_flow_operator_reorder_diagcg.q + -i unitcube_1k.exo -v -u 0.5 + BIN_BASELINE vortical_flow_diagcg_pe4_u0.5.std.exo.0 + vortical_flow_diagcg_pe4_u0.5.std.exo.1 + vortical_flow_diagcg_pe4_u0.5.std.exo.2 + vortical_flow_diagcg_pe4_u0.5.std.exo.3 + vortical_flow_diagcg_pe4_u0.5.std.exo.4 + vortical_flow_diagcg_pe4_u0.5.std.exo.5 + vortical_flow_diagcg_pe4_u0.5.std.exo.6 + vortical_flow_diagcg_pe4_u0.5.std.exo.7 + BIN_RESULT out.e-s.0.8.0 + out.e-s.0.8.1 + out.e-s.0.8.2 + out.e-s.0.8.3 + out.e-s.0.8.4 + out.e-s.0.8.5 + out.e-s.0.8.6 + out.e-s.0.8.7 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_diagcg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg) + +add_regression_test(compflow_euler_vorticalflow_alecg_u0.5 ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_alecg.q unitcube_1k.exo + ARGS -c vortical_flow_alecg.q -i unitcube_1k.exo -v -u 0.5 + BIN_BASELINE vortical_flow_alecg_pe4_u0.5.std.exo.0 + vortical_flow_alecg_pe4_u0.5.std.exo.1 + vortical_flow_alecg_pe4_u0.5.std.exo.2 + vortical_flow_alecg_pe4_u0.5.std.exo.3 + vortical_flow_alecg_pe4_u0.5.std.exo.4 + vortical_flow_alecg_pe4_u0.5.std.exo.5 + vortical_flow_alecg_pe4_u0.5.std.exo.6 + vortical_flow_alecg_pe4_u0.5.std.exo.7 + BIN_RESULT out.e-s.0.8.0 + out.e-s.0.8.1 + out.e-s.0.8.2 + out.e-s.0.8.3 + out.e-s.0.8.4 + out.e-s.0.8.5 + out.e-s.0.8.6 + out.e-s.0.8.7 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_vorticalflow_reord_alecg_u0.5 + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_operator_reorder_alecg.q + unitcube_1k.exo + ARGS -c vortical_flow_operator_reorder_alecg.q + -i unitcube_1k.exo -v -u 0.5 + BIN_BASELINE vortical_flow_alecg_pe4_u0.5.std.exo.0 + vortical_flow_alecg_pe4_u0.5.std.exo.1 + vortical_flow_alecg_pe4_u0.5.std.exo.2 + vortical_flow_alecg_pe4_u0.5.std.exo.3 + vortical_flow_alecg_pe4_u0.5.std.exo.4 + vortical_flow_alecg_pe4_u0.5.std.exo.5 + vortical_flow_alecg_pe4_u0.5.std.exo.6 + vortical_flow_alecg_pe4_u0.5.std.exo.7 + BIN_RESULT out.e-s.0.8.0 + out.e-s.0.8.1 + out.e-s.0.8.2 + out.e-s.0.8.3 + out.e-s.0.8.4 + out.e-s.0.8.5 + out.e-s.0.8.6 + out.e-s.0.8.7 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS alecg) + +add_regression_test(compflow_euler_vorticalflow_alecg_stag_u0.5 + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_alecg_stag.q unitcube_1k.exo + ARGS -c vortical_flow_alecg_stag.q -i unitcube_1k.exo -v + -u 0.5 + BIN_BASELINE vortical_flow_alecg_stag_pe4_u0.5.std.exo.0 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.1 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.2 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.3 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.4 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.5 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.6 + vortical_flow_alecg_stag_pe4_u0.5.std.exo.7 + BIN_RESULT out.e-s.0.8.0 + out.e-s.0.8.1 + out.e-s.0.8.2 + out.e-s.0.8.3 + out.e-s.0.8.4 + out.e-s.0.8.5 + out.e-s.0.8.6 + out.e-s.0.8.7 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS alecg) add_regression_test(compflow_euler_vorticalflow_dgp1_u0.90 ${INCITER_EXECUTABLE} NUMPES 4 @@ -166,7 +371,8 @@ add_regression_test(compflow_euler_vorticalflow_dgp1_u0.90 ${INCITER_EXECUTABLE} ARGS -c vortical_flow_dgp1.q -i unitcube_1k.exo -v -u 0.90 TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS dg) # Parallel + virtualization + migration @@ -175,7 +381,7 @@ add_regression_test(compflow_euler_vorticalflow_diagcg_u0.9_migr NUMPES 4 INPUTFILES vortical_flow_diagcg.q unitcube_1k.exo ARGS -c vortical_flow_diagcg.q -i unitcube_1k.exo -v -u 0.9 - +balancer RandCentLB +LBDebug 1 +cs + -l 10 +balancer RandCentLB +LBDebug 1 +cs BIN_BASELINE vortical_flow_diagcg_pe4_u0.9.std.exo.0 vortical_flow_diagcg_pe4_u0.9.std.exo.1 vortical_flow_diagcg_pe4_u0.9.std.exo.2 @@ -257,4 +463,184 @@ add_regression_test(compflow_euler_vorticalflow_diagcg_u0.9_migr TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg - LABELS migration) + LABELS diagcg migration) + +add_regression_test(compflow_euler_vorticalflow_reord_diagcg_u0.9_migr + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_operator_reorder_diagcg.q + unitcube_1k.exo + ARGS -c vortical_flow_operator_reorder_diagcg.q + -i unitcube_1k.exo -v -u 0.9 + -l 10 +balancer RandCentLB +LBDebug 1 +cs + BIN_BASELINE vortical_flow_diagcg_pe4_u0.9.std.exo.0 + vortical_flow_diagcg_pe4_u0.9.std.exo.1 + vortical_flow_diagcg_pe4_u0.9.std.exo.2 + vortical_flow_diagcg_pe4_u0.9.std.exo.3 + vortical_flow_diagcg_pe4_u0.9.std.exo.4 + vortical_flow_diagcg_pe4_u0.9.std.exo.5 + vortical_flow_diagcg_pe4_u0.9.std.exo.6 + vortical_flow_diagcg_pe4_u0.9.std.exo.7 + vortical_flow_diagcg_pe4_u0.9.std.exo.8 + vortical_flow_diagcg_pe4_u0.9.std.exo.9 + vortical_flow_diagcg_pe4_u0.9.std.exo.10 + vortical_flow_diagcg_pe4_u0.9.std.exo.11 + vortical_flow_diagcg_pe4_u0.9.std.exo.12 + vortical_flow_diagcg_pe4_u0.9.std.exo.13 + vortical_flow_diagcg_pe4_u0.9.std.exo.14 + vortical_flow_diagcg_pe4_u0.9.std.exo.15 + vortical_flow_diagcg_pe4_u0.9.std.exo.16 + vortical_flow_diagcg_pe4_u0.9.std.exo.17 + vortical_flow_diagcg_pe4_u0.9.std.exo.18 + vortical_flow_diagcg_pe4_u0.9.std.exo.19 + vortical_flow_diagcg_pe4_u0.9.std.exo.20 + vortical_flow_diagcg_pe4_u0.9.std.exo.21 + vortical_flow_diagcg_pe4_u0.9.std.exo.22 + vortical_flow_diagcg_pe4_u0.9.std.exo.23 + vortical_flow_diagcg_pe4_u0.9.std.exo.24 + vortical_flow_diagcg_pe4_u0.9.std.exo.25 + vortical_flow_diagcg_pe4_u0.9.std.exo.26 + vortical_flow_diagcg_pe4_u0.9.std.exo.27 + vortical_flow_diagcg_pe4_u0.9.std.exo.28 + vortical_flow_diagcg_pe4_u0.9.std.exo.29 + vortical_flow_diagcg_pe4_u0.9.std.exo.30 + vortical_flow_diagcg_pe4_u0.9.std.exo.31 + vortical_flow_diagcg_pe4_u0.9.std.exo.32 + vortical_flow_diagcg_pe4_u0.9.std.exo.33 + vortical_flow_diagcg_pe4_u0.9.std.exo.34 + vortical_flow_diagcg_pe4_u0.9.std.exo.35 + vortical_flow_diagcg_pe4_u0.9.std.exo.36 + vortical_flow_diagcg_pe4_u0.9.std.exo.37 + BIN_RESULT out.e-s.0.38.0 + out.e-s.0.38.1 + out.e-s.0.38.2 + out.e-s.0.38.3 + out.e-s.0.38.4 + out.e-s.0.38.5 + out.e-s.0.38.6 + out.e-s.0.38.7 + out.e-s.0.38.8 + out.e-s.0.38.9 + out.e-s.0.38.10 + out.e-s.0.38.11 + out.e-s.0.38.12 + out.e-s.0.38.13 + out.e-s.0.38.14 + out.e-s.0.38.15 + out.e-s.0.38.16 + out.e-s.0.38.17 + out.e-s.0.38.18 + out.e-s.0.38.19 + out.e-s.0.38.20 + out.e-s.0.38.21 + out.e-s.0.38.22 + out.e-s.0.38.23 + out.e-s.0.38.24 + out.e-s.0.38.25 + out.e-s.0.38.26 + out.e-s.0.38.27 + out.e-s.0.38.28 + out.e-s.0.38.29 + out.e-s.0.38.30 + out.e-s.0.38.31 + out.e-s.0.38.32 + out.e-s.0.38.33 + out.e-s.0.38.34 + out.e-s.0.38.35 + out.e-s.0.38.36 + out.e-s.0.38.37 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_diagcg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS diagcg migration) + +add_regression_test(compflow_euler_vorticalflow_alecg_u0.9_migr + ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES vortical_flow_alecg.q unitcube_1k.exo + ARGS -c vortical_flow_alecg.q -i unitcube_1k.exo -v -u 0.9 + -l 10 +balancer RandCentLB +LBDebug 1 +cs + BIN_BASELINE vortical_flow_alecg_pe4_u0.9.std.exo.0 + vortical_flow_alecg_pe4_u0.9.std.exo.1 + vortical_flow_alecg_pe4_u0.9.std.exo.2 + vortical_flow_alecg_pe4_u0.9.std.exo.3 + vortical_flow_alecg_pe4_u0.9.std.exo.4 + vortical_flow_alecg_pe4_u0.9.std.exo.5 + vortical_flow_alecg_pe4_u0.9.std.exo.6 + vortical_flow_alecg_pe4_u0.9.std.exo.7 + vortical_flow_alecg_pe4_u0.9.std.exo.8 + vortical_flow_alecg_pe4_u0.9.std.exo.9 + vortical_flow_alecg_pe4_u0.9.std.exo.10 + vortical_flow_alecg_pe4_u0.9.std.exo.11 + vortical_flow_alecg_pe4_u0.9.std.exo.12 + vortical_flow_alecg_pe4_u0.9.std.exo.13 + vortical_flow_alecg_pe4_u0.9.std.exo.14 + vortical_flow_alecg_pe4_u0.9.std.exo.15 + vortical_flow_alecg_pe4_u0.9.std.exo.16 + vortical_flow_alecg_pe4_u0.9.std.exo.17 + vortical_flow_alecg_pe4_u0.9.std.exo.18 + vortical_flow_alecg_pe4_u0.9.std.exo.19 + vortical_flow_alecg_pe4_u0.9.std.exo.20 + vortical_flow_alecg_pe4_u0.9.std.exo.21 + vortical_flow_alecg_pe4_u0.9.std.exo.22 + vortical_flow_alecg_pe4_u0.9.std.exo.23 + vortical_flow_alecg_pe4_u0.9.std.exo.24 + vortical_flow_alecg_pe4_u0.9.std.exo.25 + vortical_flow_alecg_pe4_u0.9.std.exo.26 + vortical_flow_alecg_pe4_u0.9.std.exo.27 + vortical_flow_alecg_pe4_u0.9.std.exo.28 + vortical_flow_alecg_pe4_u0.9.std.exo.29 + vortical_flow_alecg_pe4_u0.9.std.exo.30 + vortical_flow_alecg_pe4_u0.9.std.exo.31 + vortical_flow_alecg_pe4_u0.9.std.exo.32 + vortical_flow_alecg_pe4_u0.9.std.exo.33 + vortical_flow_alecg_pe4_u0.9.std.exo.34 + vortical_flow_alecg_pe4_u0.9.std.exo.35 + vortical_flow_alecg_pe4_u0.9.std.exo.36 + vortical_flow_alecg_pe4_u0.9.std.exo.37 + BIN_RESULT out.e-s.0.38.0 + out.e-s.0.38.1 + out.e-s.0.38.2 + out.e-s.0.38.3 + out.e-s.0.38.4 + out.e-s.0.38.5 + out.e-s.0.38.6 + out.e-s.0.38.7 + out.e-s.0.38.8 + out.e-s.0.38.9 + out.e-s.0.38.10 + out.e-s.0.38.11 + out.e-s.0.38.12 + out.e-s.0.38.13 + out.e-s.0.38.14 + out.e-s.0.38.15 + out.e-s.0.38.16 + out.e-s.0.38.17 + out.e-s.0.38.18 + out.e-s.0.38.19 + out.e-s.0.38.20 + out.e-s.0.38.21 + out.e-s.0.38.22 + out.e-s.0.38.23 + out.e-s.0.38.24 + out.e-s.0.38.25 + out.e-s.0.38.26 + out.e-s.0.38.27 + out.e-s.0.38.28 + out.e-s.0.38.29 + out.e-s.0.38.30 + out.e-s.0.38.31 + out.e-s.0.38.32 + out.e-s.0.38.33 + out.e-s.0.38.34 + out.e-s.0.38.35 + out.e-s.0.38.36 + out.e-s.0.38.37 + BIN_DIFF_PROG_ARGS -m + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE diag_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg + LABELS alecg migration) diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg.std b/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg.std new file mode 100644 index 00000000000..d86678b1de8 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg.std @@ -0,0 +1,90 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 1.123950e-02 1.123950e-02 9.999990e-01 3.018230e-01 3.025924e-01 6.013078e-02 1.509049e+01 2.181907e-06 1.015520e-04 8.205547e-05 7.448361e-06 1.235571e-04 + 2 2.247901e-02 1.123950e-02 9.999963e-01 3.018107e-01 3.025875e-01 6.013118e-02 1.509038e+01 7.647459e-06 1.758286e-04 1.402574e-04 1.180624e-05 3.201890e-04 + 3 3.371851e-02 1.123950e-02 9.999926e-01 3.018000e-01 3.025831e-01 6.013242e-02 1.509024e+01 1.503570e-05 2.305780e-04 1.820682e-04 1.475923e-05 5.642074e-04 + 4 4.495802e-02 1.123950e-02 9.999881e-01 3.017908e-01 3.025791e-01 6.013454e-02 1.509009e+01 2.333538e-05 2.706043e-04 2.118644e-04 1.803232e-05 8.304307e-04 + 5 5.619752e-02 1.123950e-02 9.999835e-01 3.017828e-01 3.025756e-01 6.013750e-02 1.508994e+01 3.179898e-05 2.994471e-04 2.326221e-04 2.299061e-05 1.099056e-03 + 6 6.743703e-02 1.123950e-02 9.999788e-01 3.017758e-01 3.025724e-01 6.014117e-02 1.508979e+01 3.989233e-05 3.198444e-04 2.465912e-04 3.002065e-05 1.356705e-03 + 7 7.867653e-02 1.123950e-02 9.999745e-01 3.017697e-01 3.025695e-01 6.014539e-02 1.508964e+01 4.725431e-05 3.339074e-04 2.555748e-04 3.881015e-05 1.593891e-03 + 8 8.991604e-02 1.123950e-02 9.999706e-01 3.017645e-01 3.025670e-01 6.014996e-02 1.508951e+01 5.367064e-05 3.432734e-04 2.609944e-04 4.878837e-05 1.805148e-03 + 9 1.011555e-01 1.123950e-02 9.999672e-01 3.017600e-01 3.025648e-01 6.015468e-02 1.508940e+01 5.903741e-05 3.492683e-04 2.639947e-04 5.932004e-05 1.987297e-03 + 10 1.123950e-01 1.123950e-02 9.999644e-01 3.017562e-01 3.025629e-01 6.015935e-02 1.508930e+01 6.332386e-05 3.529212e-04 2.654429e-04 6.986457e-05 2.139159e-03 + 11 1.236346e-01 1.123950e-02 9.999622e-01 3.017530e-01 3.025613e-01 6.016383e-02 1.508922e+01 6.656921e-05 3.550265e-04 2.659840e-04 8.001924e-05 2.261840e-03 + 12 1.348741e-01 1.123950e-02 9.999605e-01 3.017503e-01 3.025600e-01 6.016800e-02 1.508916e+01 6.885427e-05 3.561812e-04 2.660794e-04 8.948988e-05 2.357216e-03 + 13 1.461136e-01 1.123950e-02 9.999594e-01 3.017481e-01 3.025590e-01 6.017175e-02 1.508911e+01 7.028556e-05 3.567882e-04 2.660583e-04 9.805740e-05 2.427994e-03 + 14 1.573531e-01 1.123950e-02 9.999588e-01 3.017463e-01 3.025581e-01 6.017504e-02 1.508907e+01 7.098455e-05 3.571227e-04 2.661169e-04 1.055873e-04 2.477437e-03 + 15 1.685926e-01 1.123950e-02 9.999585e-01 3.017448e-01 3.025575e-01 6.017784e-02 1.508905e+01 7.108013e-05 3.573675e-04 2.663525e-04 1.120250e-04 2.508941e-03 + 16 1.798321e-01 1.123950e-02 9.999585e-01 3.017437e-01 3.025570e-01 6.018015e-02 1.508903e+01 7.069918e-05 3.576352e-04 2.667866e-04 1.173686e-04 2.525875e-03 + 17 1.910716e-01 1.123950e-02 9.999588e-01 3.017428e-01 3.025566e-01 6.018199e-02 1.508902e+01 6.996436e-05 3.579901e-04 2.674136e-04 1.216630e-04 2.531447e-03 + 18 2.023111e-01 1.123950e-02 9.999593e-01 3.017421e-01 3.025563e-01 6.018340e-02 1.508902e+01 6.898591e-05 3.584641e-04 2.682205e-04 1.249960e-04 2.528583e-03 + 19 2.135506e-01 1.123950e-02 9.999599e-01 3.017415e-01 3.025560e-01 6.018442e-02 1.508903e+01 6.785738e-05 3.590615e-04 2.691710e-04 1.274750e-04 2.519840e-03 + 20 2.247901e-01 1.123950e-02 9.999606e-01 3.017411e-01 3.025559e-01 6.018511e-02 1.508903e+01 6.665640e-05 3.597691e-04 2.702219e-04 1.292092e-04 2.507388e-03 + 21 2.360296e-01 1.123950e-02 9.999613e-01 3.017408e-01 3.025558e-01 6.018553e-02 1.508904e+01 6.544372e-05 3.605655e-04 2.713356e-04 1.303297e-04 2.492979e-03 + 22 2.472691e-01 1.123950e-02 9.999621e-01 3.017406e-01 3.025558e-01 6.018573e-02 1.508905e+01 6.426499e-05 3.614227e-04 2.724820e-04 1.309706e-04 2.477968e-03 + 23 2.585086e-01 1.123950e-02 9.999628e-01 3.017404e-01 3.025557e-01 6.018576e-02 1.508906e+01 6.315558e-05 3.623107e-04 2.736296e-04 1.312426e-04 2.463407e-03 + 24 2.697481e-01 1.123950e-02 9.999635e-01 3.017403e-01 3.025557e-01 6.018567e-02 1.508906e+01 6.213642e-05 3.632088e-04 2.747521e-04 1.312472e-04 2.450008e-03 + 25 2.809876e-01 1.123950e-02 9.999641e-01 3.017402e-01 3.025557e-01 6.018551e-02 1.508907e+01 6.122002e-05 3.640962e-04 2.758311e-04 1.310743e-04 2.438224e-03 + 26 2.922271e-01 1.123950e-02 9.999646e-01 3.017402e-01 3.025557e-01 6.018530e-02 1.508908e+01 6.041088e-05 3.649549e-04 2.768534e-04 1.307948e-04 2.428289e-03 + 27 3.034666e-01 1.123950e-02 9.999651e-01 3.017401e-01 3.025558e-01 6.018508e-02 1.508908e+01 5.970679e-05 3.657703e-04 2.778075e-04 1.304644e-04 2.420253e-03 + 28 3.147061e-01 1.123950e-02 9.999655e-01 3.017401e-01 3.025558e-01 6.018485e-02 1.508909e+01 5.910045e-05 3.665324e-04 2.786805e-04 1.301234e-04 2.414034e-03 + 29 3.259456e-01 1.123950e-02 9.999659e-01 3.017401e-01 3.025558e-01 6.018464e-02 1.508909e+01 5.858245e-05 3.672327e-04 2.794673e-04 1.298014e-04 2.409469e-03 + 30 3.371851e-01 1.123950e-02 9.999663e-01 3.017400e-01 3.025558e-01 6.018445e-02 1.508909e+01 5.814153e-05 3.678666e-04 2.801659e-04 1.295166e-04 2.406343e-03 + 31 3.484247e-01 1.123950e-02 9.999665e-01 3.017400e-01 3.025558e-01 6.018429e-02 1.508909e+01 5.776594e-05 3.684335e-04 2.807774e-04 1.292795e-04 2.404408e-03 + 32 3.596642e-01 1.123950e-02 9.999668e-01 3.017400e-01 3.025558e-01 6.018416e-02 1.508910e+01 5.744515e-05 3.689365e-04 2.813070e-04 1.290944e-04 2.403458e-03 + 33 3.709037e-01 1.123950e-02 9.999670e-01 3.017400e-01 3.025558e-01 6.018405e-02 1.508910e+01 5.716971e-05 3.693773e-04 2.817648e-04 1.289621e-04 2.403279e-03 + 34 3.821432e-01 1.123950e-02 9.999672e-01 3.017400e-01 3.025558e-01 6.018398e-02 1.508910e+01 5.693103e-05 3.697588e-04 2.821593e-04 1.288798e-04 2.403671e-03 + 35 3.933827e-01 1.123950e-02 9.999674e-01 3.017399e-01 3.025558e-01 6.018393e-02 1.508910e+01 5.672162e-05 3.700856e-04 2.824979e-04 1.288422e-04 2.404459e-03 + 36 4.046222e-01 1.123950e-02 9.999675e-01 3.017399e-01 3.025558e-01 6.018390e-02 1.508910e+01 5.653495e-05 3.703628e-04 2.827878e-04 1.288428e-04 2.405489e-03 + 37 4.158617e-01 1.123950e-02 9.999676e-01 3.017399e-01 3.025558e-01 6.018389e-02 1.508909e+01 5.636554e-05 3.705963e-04 2.830355e-04 1.288744e-04 2.406637e-03 + 38 4.271012e-01 1.123950e-02 9.999678e-01 3.017399e-01 3.025558e-01 6.018389e-02 1.508909e+01 5.620904e-05 3.707916e-04 2.832468e-04 1.289297e-04 2.407804e-03 + 39 4.383407e-01 1.123950e-02 9.999679e-01 3.017399e-01 3.025558e-01 6.018390e-02 1.508909e+01 5.606236e-05 3.709540e-04 2.834268e-04 1.290033e-04 2.408924e-03 + 40 4.495802e-01 1.123950e-02 9.999680e-01 3.017399e-01 3.025558e-01 6.018392e-02 1.508909e+01 5.592295e-05 3.710889e-04 2.835804e-04 1.290886e-04 2.409945e-03 + 41 4.608197e-01 1.123950e-02 9.999681e-01 3.017398e-01 3.025558e-01 6.018395e-02 1.508909e+01 5.578901e-05 3.712007e-04 2.837121e-04 1.291801e-04 2.410834e-03 + 42 4.720592e-01 1.123950e-02 9.999682e-01 3.017398e-01 3.025558e-01 6.018397e-02 1.508909e+01 5.565934e-05 3.712937e-04 2.838258e-04 1.292732e-04 2.411574e-03 + 43 4.832987e-01 1.123950e-02 9.999683e-01 3.017398e-01 3.025558e-01 6.018400e-02 1.508909e+01 5.553327e-05 3.713709e-04 2.839246e-04 1.293644e-04 2.412161e-03 + 44 4.945382e-01 1.123950e-02 9.999684e-01 3.017398e-01 3.025558e-01 6.018403e-02 1.508909e+01 5.541046e-05 3.714353e-04 2.840114e-04 1.294511e-04 2.412599e-03 + 45 5.057777e-01 1.123950e-02 9.999684e-01 3.017398e-01 3.025558e-01 6.018406e-02 1.508909e+01 5.529079e-05 3.714891e-04 2.840883e-04 1.295316e-04 2.412897e-03 + 46 5.170172e-01 1.123950e-02 9.999685e-01 3.017398e-01 3.025558e-01 6.018408e-02 1.508909e+01 5.517430e-05 3.715343e-04 2.841572e-04 1.296046e-04 2.413069e-03 + 47 5.282567e-01 1.123950e-02 9.999686e-01 3.017398e-01 3.025558e-01 6.018410e-02 1.508909e+01 5.506109e-05 3.715723e-04 2.842195e-04 1.296696e-04 2.413130e-03 + 48 5.394962e-01 1.123950e-02 9.999687e-01 3.017398e-01 3.025558e-01 6.018412e-02 1.508909e+01 5.495134e-05 3.716041e-04 2.842762e-04 1.297263e-04 2.413098e-03 + 49 5.507357e-01 1.123950e-02 9.999688e-01 3.017398e-01 3.025558e-01 6.018413e-02 1.508909e+01 5.484535e-05 3.716306e-04 2.843281e-04 1.297748e-04 2.412990e-03 + 50 5.619752e-01 1.123950e-02 9.999689e-01 3.017398e-01 3.025558e-01 6.018414e-02 1.508909e+01 5.474323e-05 3.716523e-04 2.843758e-04 1.298153e-04 2.412821e-03 + 51 5.732148e-01 1.123950e-02 9.999689e-01 3.017399e-01 3.025558e-01 6.018415e-02 1.508909e+01 5.464496e-05 3.716692e-04 2.844197e-04 1.298485e-04 2.412602e-03 + 52 5.844543e-01 1.123950e-02 9.999690e-01 3.017399e-01 3.025558e-01 6.018415e-02 1.508909e+01 5.455058e-05 3.716822e-04 2.844601e-04 1.298750e-04 2.412347e-03 + 53 5.956938e-01 1.123950e-02 9.999691e-01 3.017399e-01 3.025558e-01 6.018415e-02 1.508909e+01 5.446076e-05 3.716951e-04 2.844959e-04 1.298964e-04 2.412115e-03 + 54 6.069333e-01 1.123950e-02 9.999691e-01 3.017399e-01 3.025558e-01 6.018416e-02 1.508909e+01 5.437638e-05 3.717081e-04 2.845280e-04 1.299147e-04 2.411914e-03 + 55 6.181728e-01 1.123950e-02 9.999692e-01 3.017399e-01 3.025558e-01 6.018416e-02 1.508909e+01 5.429782e-05 3.717212e-04 2.845574e-04 1.299311e-04 2.411751e-03 + 56 6.294123e-01 1.123950e-02 9.999692e-01 3.017399e-01 3.025558e-01 6.018416e-02 1.508909e+01 5.422516e-05 3.717341e-04 2.845843e-04 1.299464e-04 2.411627e-03 + 57 6.406518e-01 1.123950e-02 9.999693e-01 3.017399e-01 3.025558e-01 6.018416e-02 1.508909e+01 5.415822e-05 3.717468e-04 2.846091e-04 1.299612e-04 2.411541e-03 + 58 6.518913e-01 1.123950e-02 9.999693e-01 3.017399e-01 3.025559e-01 6.018417e-02 1.508909e+01 5.409673e-05 3.717589e-04 2.846321e-04 1.299759e-04 2.411488e-03 + 59 6.631308e-01 1.123950e-02 9.999694e-01 3.017399e-01 3.025559e-01 6.018417e-02 1.508909e+01 5.404031e-05 3.717704e-04 2.846534e-04 1.299906e-04 2.411465e-03 + 60 6.743703e-01 1.123950e-02 9.999694e-01 3.017399e-01 3.025559e-01 6.018417e-02 1.508909e+01 5.398855e-05 3.717811e-04 2.846731e-04 1.300054e-04 2.411466e-03 + 61 6.856098e-01 1.123950e-02 9.999694e-01 3.017399e-01 3.025559e-01 6.018418e-02 1.508909e+01 5.394104e-05 3.717910e-04 2.846915e-04 1.300202e-04 2.411485e-03 + 62 6.968493e-01 1.123950e-02 9.999695e-01 3.017399e-01 3.025559e-01 6.018418e-02 1.508909e+01 5.389735e-05 3.718000e-04 2.847085e-04 1.300352e-04 2.411518e-03 + 63 7.080888e-01 1.123950e-02 9.999695e-01 3.017399e-01 3.025559e-01 6.018419e-02 1.508909e+01 5.385712e-05 3.718081e-04 2.847242e-04 1.300501e-04 2.411561e-03 + 64 7.193283e-01 1.123950e-02 9.999695e-01 3.017399e-01 3.025559e-01 6.018419e-02 1.508909e+01 5.381999e-05 3.718154e-04 2.847388e-04 1.300649e-04 2.411609e-03 + 65 7.305678e-01 1.123950e-02 9.999695e-01 3.017399e-01 3.025559e-01 6.018420e-02 1.508909e+01 5.378565e-05 3.718220e-04 2.847524e-04 1.300795e-04 2.411659e-03 + 66 7.418073e-01 1.123950e-02 9.999696e-01 3.017399e-01 3.025559e-01 6.018421e-02 1.508909e+01 5.375382e-05 3.718278e-04 2.847650e-04 1.300936e-04 2.411709e-03 + 67 7.530468e-01 1.123950e-02 9.999696e-01 3.017399e-01 3.025559e-01 6.018421e-02 1.508909e+01 5.372427e-05 3.718331e-04 2.847767e-04 1.301073e-04 2.411757e-03 + 68 7.642863e-01 1.123950e-02 9.999696e-01 3.017399e-01 3.025559e-01 6.018422e-02 1.508909e+01 5.369678e-05 3.718378e-04 2.847877e-04 1.301204e-04 2.411802e-03 + 69 7.755258e-01 1.123950e-02 9.999696e-01 3.017399e-01 3.025559e-01 6.018422e-02 1.508909e+01 5.367117e-05 3.718420e-04 2.847979e-04 1.301329e-04 2.411842e-03 + 70 7.867653e-01 1.123950e-02 9.999696e-01 3.017399e-01 3.025559e-01 6.018423e-02 1.508909e+01 5.364730e-05 3.718458e-04 2.848075e-04 1.301447e-04 2.411878e-03 + 71 7.980049e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018423e-02 1.508909e+01 5.362504e-05 3.718493e-04 2.848165e-04 1.301557e-04 2.411909e-03 + 72 8.092444e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018423e-02 1.508909e+01 5.360425e-05 3.718525e-04 2.848249e-04 1.301660e-04 2.411936e-03 + 73 8.204839e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018424e-02 1.508909e+01 5.358486e-05 3.718555e-04 2.848329e-04 1.301756e-04 2.411958e-03 + 74 8.317234e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018424e-02 1.508909e+01 5.356675e-05 3.718583e-04 2.848404e-04 1.301845e-04 2.411978e-03 + 75 8.429629e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018424e-02 1.508909e+01 5.354986e-05 3.718609e-04 2.848475e-04 1.301927e-04 2.411994e-03 + 76 8.542024e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018425e-02 1.508909e+01 5.353411e-05 3.718633e-04 2.848541e-04 1.302003e-04 2.412007e-03 + 77 8.654419e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018425e-02 1.508909e+01 5.351943e-05 3.718656e-04 2.848605e-04 1.302072e-04 2.412018e-03 + 78 8.766814e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018425e-02 1.508909e+01 5.350575e-05 3.718677e-04 2.848664e-04 1.302136e-04 2.412028e-03 + 79 8.879209e-01 1.123950e-02 9.999697e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.349302e-05 3.718697e-04 2.848721e-04 1.302194e-04 2.412036e-03 + 80 8.991604e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.348116e-05 3.718716e-04 2.848774e-04 1.302248e-04 2.412043e-03 + 81 9.103999e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.347014e-05 3.718734e-04 2.848824e-04 1.302297e-04 2.412049e-03 + 82 9.216394e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.345990e-05 3.718751e-04 2.848871e-04 1.302342e-04 2.412055e-03 + 83 9.328789e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.345038e-05 3.718767e-04 2.848916e-04 1.302384e-04 2.412060e-03 + 84 9.441184e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.344154e-05 3.718782e-04 2.848957e-04 1.302422e-04 2.412065e-03 + 85 9.553579e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.343333e-05 3.718796e-04 2.848997e-04 1.302457e-04 2.412070e-03 + 86 9.665974e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.342571e-05 3.718809e-04 2.849034e-04 1.302490e-04 2.412074e-03 + 87 9.778369e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.341864e-05 3.718821e-04 2.849068e-04 1.302520e-04 2.412078e-03 + 88 9.890764e-01 1.123950e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.341207e-05 3.718833e-04 2.849101e-04 1.302548e-04 2.412083e-03 + 89 1.000000e+00 1.092356e-02 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.340613e-05 3.718843e-04 2.849131e-04 1.302573e-04 2.412087e-03 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg_steady.std b/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg_steady.std new file mode 100644 index 00000000000..f6c33beb0f4 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/diag_alecg_steady.std @@ -0,0 +1,40 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) 14:L2(dr) 15:L2(dru) 16:L2(drv) 17:L2(drw) 18:L2(dre) + 1 9.083124e-03 9.083124e-03 9.999946e-01 3.018033e-01 3.025870e-01 6.013206e-02 1.509031e+01 1.073528e-05 2.227608e-04 1.736362e-04 1.459300e-05 4.349421e-04 1.073528e-05 2.227608e-04 1.736362e-04 1.459300e-05 4.349421e-04 + 2 1.816625e-02 9.083124e-03 9.999835e-01 3.017814e-01 3.025771e-01 6.013798e-02 1.508994e+01 3.150298e-05 3.122254e-04 2.373556e-04 2.462705e-05 1.100067e-03 2.086917e-05 9.550593e-05 7.029592e-05 1.534332e-05 6.674406e-04 + 3 2.724937e-02 9.083124e-03 9.999726e-01 3.017663e-01 3.025694e-01 6.014788e-02 1.508958e+01 5.031592e-05 3.481924e-04 2.614779e-04 4.500099e-05 1.702234e-03 1.895372e-05 4.517989e-05 3.476579e-05 2.390453e-05 6.045408e-04 + 4 3.633250e-02 9.083124e-03 9.999647e-01 3.017559e-01 3.025637e-01 6.015928e-02 1.508931e+01 6.304501e-05 3.594987e-04 2.680765e-04 7.047343e-05 2.136994e-03 1.306298e-05 2.934156e-05 2.643885e-05 2.692094e-05 4.408610e-04 + 5 4.541562e-02 9.083124e-03 9.999602e-01 3.017490e-01 3.025601e-01 6.016964e-02 1.508913e+01 6.946459e-05 3.613520e-04 2.686739e-04 9.395299e-05 2.394449e-03 7.145112e-06 2.503249e-05 2.414450e-05 2.414846e-05 2.697487e-04 + 6 5.449874e-02 9.083124e-03 9.999586e-01 3.017448e-01 3.025579e-01 6.017748e-02 1.508905e+01 7.102902e-05 3.609206e-04 2.687212e-04 1.118101e-04 2.511193e-03 3.282624e-06 1.987185e-05 1.950055e-05 1.823574e-05 1.383009e-04 + 7 6.358187e-02 9.083124e-03 9.999591e-01 3.017423e-01 3.025566e-01 6.018244e-02 1.508902e+01 6.959642e-05 3.608502e-04 2.697183e-04 1.232142e-04 2.536530e-03 2.940703e-06 1.356587e-05 1.353848e-05 1.167454e-05 6.760169e-05 + 8 7.266499e-02 9.083124e-03 9.999606e-01 3.017410e-01 3.025560e-01 6.018494e-02 1.508903e+01 6.684267e-05 3.617451e-04 2.716620e-04 1.291280e-04 2.515072e-03 3.511602e-06 8.176375e-06 8.322288e-06 6.291416e-06 5.230928e-05 + 9 8.174812e-02 9.083124e-03 9.999623e-01 3.017404e-01 3.025558e-01 6.018572e-02 1.508905e+01 6.390964e-05 3.633548e-04 2.740685e-04 1.312444e-04 2.478701e-03 3.405408e-06 4.879473e-06 4.962891e-06 3.036262e-06 4.864935e-05 + 10 9.083124e-02 9.083124e-03 9.999640e-01 3.017401e-01 3.025558e-01 6.018557e-02 1.508907e+01 6.139738e-05 3.652259e-04 2.765043e-04 1.313253e-04 2.445420e-03 2.854489e-06 3.563782e-06 3.540247e-06 2.034225e-06 3.926643e-05 + 11 9.991436e-02 9.083124e-03 9.999653e-01 3.017400e-01 3.025558e-01 6.018508e-02 1.508908e+01 5.950721e-05 3.670193e-04 2.786921e-04 1.306170e-04 2.422413e-03 2.167300e-06 3.038577e-06 2.981306e-06 1.888532e-06 2.696018e-05 + 12 1.089975e-01 9.083124e-03 9.999662e-01 3.017400e-01 3.025558e-01 6.018458e-02 1.508909e+01 5.818602e-05 3.685251e-04 2.804489e-04 1.298415e-04 2.409894e-03 1.565654e-06 2.518549e-06 2.411862e-06 1.593508e-06 1.639351e-05 + 13 1.180806e-01 9.083124e-03 9.999669e-01 3.017399e-01 3.025558e-01 6.018421e-02 1.508909e+01 5.728663e-05 3.696741e-04 2.817409e-04 1.292949e-04 2.405095e-03 1.128931e-06 1.949439e-06 1.787197e-06 1.170611e-06 9.739765e-06 + 14 1.271637e-01 9.083124e-03 9.999674e-01 3.017399e-01 3.025558e-01 6.018400e-02 1.508910e+01 5.666361e-05 3.704888e-04 2.826429e-04 1.290399e-04 2.405004e-03 7.958185e-07 1.426896e-06 1.238675e-06 7.645369e-07 6.033894e-06 + 15 1.362469e-01 9.083124e-03 9.999678e-01 3.017399e-01 3.025558e-01 6.018393e-02 1.508909e+01 5.620535e-05 3.710226e-04 2.832605e-04 1.290224e-04 2.407014e-03 5.972268e-07 1.021481e-06 8.401883e-07 4.864535e-07 4.871355e-06 + 16 1.453300e-01 9.083124e-03 9.999680e-01 3.017398e-01 3.025558e-01 6.018394e-02 1.508909e+01 5.583732e-05 3.713502e-04 2.836786e-04 1.291537e-04 2.409426e-03 4.849212e-07 7.352763e-07 5.862552e-07 3.570361e-07 4.147997e-06 + 17 1.544131e-01 9.083124e-03 9.999683e-01 3.017398e-01 3.025558e-01 6.018399e-02 1.508909e+01 5.551592e-05 3.715425e-04 2.839626e-04 1.293473e-04 2.411343e-03 4.232214e-07 5.366873e-07 4.324476e-07 3.097204e-07 3.311556e-06 + 18 1.634962e-01 9.083124e-03 9.999685e-01 3.017398e-01 3.025558e-01 6.018405e-02 1.508909e+01 5.522113e-05 3.716522e-04 2.841620e-04 1.295399e-04 2.412462e-03 3.876448e-07 3.907324e-07 3.324358e-07 2.683769e-07 2.575717e-06 + 19 1.725794e-01 9.083124e-03 9.999687e-01 3.017398e-01 3.025558e-01 6.018410e-02 1.508909e+01 5.494659e-05 3.717129e-04 2.843096e-04 1.296990e-04 2.412826e-03 3.634720e-07 2.782452e-07 2.585314e-07 2.237679e-07 2.176390e-06 + 20 1.816625e-01 9.083124e-03 9.999689e-01 3.017398e-01 3.025558e-01 6.018413e-02 1.508909e+01 5.469283e-05 3.717429e-04 2.844244e-04 1.298131e-04 2.412630e-03 3.442696e-07 1.907985e-07 2.029498e-07 1.822891e-07 2.139338e-06 + 21 1.907456e-01 9.083124e-03 9.999691e-01 3.017399e-01 3.025558e-01 6.018414e-02 1.508909e+01 5.446127e-05 3.717554e-04 2.845141e-04 1.298849e-04 2.412142e-03 3.056855e-07 1.296444e-07 1.587592e-07 1.505004e-07 1.754250e-06 + 22 1.998287e-01 9.083124e-03 9.999692e-01 3.017399e-01 3.025558e-01 6.018415e-02 1.508909e+01 5.426264e-05 3.717731e-04 2.845837e-04 1.299363e-04 2.411785e-03 2.318587e-07 8.866711e-08 1.163424e-07 1.063752e-07 7.152282e-07 + 23 2.089119e-01 9.083124e-03 9.999693e-01 3.017399e-01 3.025559e-01 6.018416e-02 1.508909e+01 5.409812e-05 3.717930e-04 2.846405e-04 1.299787e-04 2.411605e-03 1.838300e-07 6.384163e-08 9.235793e-08 7.739868e-08 4.361604e-07 + 24 2.179950e-01 9.083124e-03 9.999694e-01 3.017399e-01 3.025559e-01 6.018418e-02 1.508909e+01 5.396446e-05 3.718119e-04 2.846884e-04 1.300183e-04 2.411574e-03 1.472310e-07 4.747088e-08 7.662999e-08 6.076313e-08 3.021034e-07 + 25 2.270781e-01 9.083124e-03 9.999695e-01 3.017399e-01 3.025559e-01 6.018419e-02 1.508909e+01 5.385601e-05 3.718279e-04 2.847290e-04 1.300562e-04 2.411633e-03 1.189233e-07 3.661188e-08 6.553980e-08 5.165705e-08 2.344283e-07 + 26 2.361612e-01 9.083124e-03 9.999696e-01 3.017399e-01 3.025559e-01 6.018420e-02 1.508909e+01 5.376737e-05 3.718406e-04 2.847633e-04 1.300921e-04 2.411731e-03 9.714664e-08 2.897314e-08 5.666948e-08 4.525369e-08 1.998928e-07 + 27 2.452443e-01 9.083124e-03 9.999696e-01 3.017399e-01 3.025559e-01 6.018422e-02 1.508909e+01 5.369418e-05 3.718504e-04 2.847922e-04 1.301249e-04 2.411829e-03 8.028576e-08 2.346699e-08 4.914812e-08 3.947196e-08 1.721694e-07 + 28 2.543275e-01 9.083124e-03 9.999696e-01 3.017399e-01 3.025559e-01 6.018423e-02 1.508909e+01 5.363323e-05 3.718580e-04 2.848167e-04 1.301536e-04 2.411911e-03 6.692022e-08 1.926313e-08 4.249082e-08 3.377718e-08 1.440460e-07 + 29 2.634106e-01 9.083124e-03 9.999697e-01 3.017399e-01 3.025559e-01 6.018424e-02 1.508909e+01 5.358221e-05 3.718642e-04 2.848375e-04 1.301781e-04 2.411971e-03 5.604626e-08 1.587220e-08 3.652096e-08 2.833971e-08 1.178303e-07 + 30 2.724937e-01 9.083124e-03 9.999697e-01 3.017399e-01 3.025559e-01 6.018425e-02 1.508909e+01 5.353944e-05 3.718693e-04 2.848553e-04 1.301984e-04 2.412012e-03 4.700006e-08 1.307785e-08 3.121117e-08 2.339623e-08 9.560534e-08 + 31 2.815768e-01 9.083124e-03 9.999697e-01 3.017399e-01 3.025559e-01 6.018425e-02 1.508909e+01 5.350362e-05 3.718737e-04 2.848705e-04 1.302151e-04 2.412039e-03 3.936906e-08 1.078526e-08 2.655974e-08 1.910714e-08 7.772975e-08 + 32 2.906600e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.347369e-05 3.718775e-04 2.848836e-04 1.302285e-04 2.412057e-03 3.289844e-08 8.916586e-09 2.253663e-08 1.552617e-08 6.356919e-08 + 33 2.997431e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018426e-02 1.508909e+01 5.344874e-05 3.718808e-04 2.848948e-04 1.302395e-04 2.412071e-03 2.741881e-08 7.389194e-09 1.908305e-08 1.261710e-08 5.231428e-08 + 34 3.088262e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.342800e-05 3.718836e-04 2.849044e-04 1.302484e-04 2.412082e-03 2.280266e-08 6.130468e-09 1.613116e-08 1.030606e-08 4.326199e-08 + 35 3.179093e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.341077e-05 3.718860e-04 2.849126e-04 1.302557e-04 2.412091e-03 1.895016e-08 5.096362e-09 1.362349e-08 8.476356e-09 3.585061e-08 + 36 3.269925e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.339647e-05 3.718880e-04 2.849195e-04 1.302618e-04 2.412100e-03 1.573868e-08 4.244308e-09 1.149252e-08 6.975223e-09 2.990468e-08 + 37 3.360756e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018427e-02 1.508909e+01 5.338460e-05 3.718897e-04 2.849254e-04 1.302667e-04 2.412107e-03 1.306920e-08 3.536647e-09 9.683055e-09 5.748805e-09 2.502920e-08 + 38 3.451587e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018428e-02 1.508909e+01 5.337474e-05 3.718911e-04 2.849304e-04 1.302709e-04 2.412114e-03 1.085378e-08 2.948345e-09 8.148708e-09 4.749563e-09 2.099691e-08 + 39 3.542418e-01 9.083124e-03 9.999698e-01 3.017399e-01 3.025559e-01 6.018428e-02 1.508909e+01 5.336655e-05 3.718923e-04 2.849346e-04 1.302743e-04 2.412120e-03 9.016849e-09 2.458925e-09 6.850023e-09 3.931997e-09 1.761872e-08 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.q index 4df0bbb0b90..4ea82e62b1f 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.q +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.q @@ -19,6 +19,7 @@ inciter depvar c physics euler problem vortical_flow + sysfct false alpha 0.1 beta 1.0 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.std.exo index 932b9b74f95..9de5be7a51b 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.q new file mode 100644 index 00000000000..fc5cafebd69 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.q @@ -0,0 +1,48 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing vortical flow" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + scheme alecg + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + end + + plotvar + interval 10 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.std.exo new file mode 100644 index 00000000000..2afd4c2d844 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.0 new file mode 100644 index 00000000000..60b21cf74ee Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.1 new file mode 100644 index 00000000000..c09555cba71 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.2 new file mode 100644 index 00000000000..5c073d818da Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.3 new file mode 100644 index 00000000000..2662ff07201 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.4 new file mode 100644 index 00000000000..f84ac3b8df0 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.5 new file mode 100644 index 00000000000..b09c3a7c7aa Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.6 new file mode 100644 index 00000000000..7fe8f5d9273 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.7 new file mode 100644 index 00000000000..71253c648a9 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.5.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.0 new file mode 100644 index 00000000000..2267d7e3cd2 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.1 new file mode 100644 index 00000000000..525c747c9fc Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.10 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.10 new file mode 100644 index 00000000000..c0f0ec5e380 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.11 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.11 new file mode 100644 index 00000000000..f5e093e05e6 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.12 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.12 new file mode 100644 index 00000000000..b3c4e6f8110 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.13 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.13 new file mode 100644 index 00000000000..64c684cf11e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.14 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.14 new file mode 100644 index 00000000000..c7f18f69c1e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.15 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.15 new file mode 100644 index 00000000000..07dceded8a8 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.16 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.16 new file mode 100644 index 00000000000..59e5d42e037 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.17 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.17 new file mode 100644 index 00000000000..bf3e6eb7465 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.18 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.18 new file mode 100644 index 00000000000..f03e03d3b78 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.19 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.19 new file mode 100644 index 00000000000..a73ddaba742 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.2 new file mode 100644 index 00000000000..36f95bcd86c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.20 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.20 new file mode 100644 index 00000000000..89a12f909c6 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.21 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.21 new file mode 100644 index 00000000000..ee81d7da16a Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.22 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.22 new file mode 100644 index 00000000000..fed8d517219 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.23 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.23 new file mode 100644 index 00000000000..b9c3dad1b14 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.24 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.24 new file mode 100644 index 00000000000..32a46a1e2a7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.25 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.25 new file mode 100644 index 00000000000..e0fa43a3d8f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.26 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.26 new file mode 100644 index 00000000000..08279c22e6a Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.27 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.27 new file mode 100644 index 00000000000..5a54b7806a7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.28 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.28 new file mode 100644 index 00000000000..cee3f7a9e29 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.29 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.29 new file mode 100644 index 00000000000..a71ee1faf93 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.3 new file mode 100644 index 00000000000..e5cd0d3bc76 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.30 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.30 new file mode 100644 index 00000000000..2dafc8f2cff Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.31 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.31 new file mode 100644 index 00000000000..7496eeefea4 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.32 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.32 new file mode 100644 index 00000000000..274b9fc389f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.33 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.33 new file mode 100644 index 00000000000..dd2b03414a1 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.34 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.34 new file mode 100644 index 00000000000..982b64ad0b1 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.35 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.35 new file mode 100644 index 00000000000..a7ec19757f2 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.36 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.36 new file mode 100644 index 00000000000..c199230149e Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.37 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.37 new file mode 100644 index 00000000000..392f7e1b22f Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.4 new file mode 100644 index 00000000000..fe5b134a39c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.5 new file mode 100644 index 00000000000..a0b209816ca Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.6 new file mode 100644 index 00000000000..a666fba2535 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.7 new file mode 100644 index 00000000000..99b228c4d25 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.8 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.8 new file mode 100644 index 00000000000..b2ba07f94e2 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.9 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.9 new file mode 100644 index 00000000000..91989812989 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_pe4_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag.q new file mode 100644 index 00000000000..1c252b90597 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag.q @@ -0,0 +1,53 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing vortical flow" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + scheme alecg + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + bc_stag + point -0.5 -0.5 -0.5 end + radius 1.0e-8 end + end + + end + + plotvar + interval 10 + end + + #diagnostics + # interval 1 + # format scientific + # error l2 + #end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.0 new file mode 100644 index 00000000000..d3dde5c4641 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.1 new file mode 100644 index 00000000000..7a14848c96c Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.2 new file mode 100644 index 00000000000..6fd11b1d197 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.3 new file mode 100644 index 00000000000..2fec265dd47 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.4 new file mode 100644 index 00000000000..479258d2f17 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.5 new file mode 100644 index 00000000000..ee4ce72d02b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.6 new file mode 100644 index 00000000000..655db918b72 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.7 new file mode 100644 index 00000000000..cca90c13c42 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_stag_pe4_u0.5.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady.q new file mode 100644 index 00000000000..61cd44529f2 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady.q @@ -0,0 +1,51 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations marching to steady state for vortical flow" + +inciter + + ttyi 1 + cfl 0.5 + scheme alecg + + steady_state true + residual 1.0e-8 + rescomp 1 + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + end + + plotvar + interval 10 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe1.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe1.std.exo new file mode 100644 index 00000000000..c0a3fa81b07 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.0 new file mode 100644 index 00000000000..fe103d600a9 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.1 new file mode 100644 index 00000000000..6567d088000 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.2 new file mode 100644 index 00000000000..762233ecf55 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.3 new file mode 100644 index 00000000000..612d5a28ea8 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_alecg_steady_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg.std.exo index a0a583e4ff4..b63749cb739 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.q index 0498eb9ffef..579367d2df0 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.q +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.q @@ -10,7 +10,6 @@ inciter dt 1.0e-4 # Time step size ttyi 5 # TTY output interval scheme dg - flux laxfriedrichs compflow @@ -18,6 +17,8 @@ inciter problem vortical_flow depvar u + flux laxfriedrichs + alpha 0.1 beta 1.0 p0 10.0 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.std.exo index fff4b0fad15..4b6d486ad88 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dg_lf.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1.std.exo index 6b11760d53b..2e516668f82 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.q index 32f064d5f0e..dfe1d8d25b2 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.q +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.q @@ -10,7 +10,6 @@ inciter dt 1.0e-5 # Time step size ttyi 5 # TTY output interval scheme dgp1 - flux laxfriedrichs compflow @@ -18,6 +17,8 @@ inciter problem vortical_flow depvar u + flux laxfriedrichs + alpha 0.1 beta 1.0 p0 10.0 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.std.exo index ad2f9396be8..695955e7c76 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_dgp1_lf.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diag.ndiff.cfg index 0c0c232b289..0942b49a731 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diag.ndiff.cfg +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diag.ndiff.cfg @@ -1,4 +1,5 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-8 any abs=1.0e-12 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables -* 9-$ any abs=1.0e-12 rel=1.0e-7 # tolerance for L2 errors +* 9-13 any abs=1.0e-12 rel=1.0e-7 # tolerance for L2 errors +* 14 skip diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.q index f6ecbcae8cb..0d8a65f59d7 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.q +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.q @@ -20,6 +20,7 @@ inciter depvar c physics euler problem vortical_flow + sysfct false alpha 0.1 beta 1.0 diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.std.exo b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.std.exo index 932b9b74f95..9de5be7a51b 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.std.exo and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg.std.exo differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.0 index 65a9fb3d9f6..a4219e934a3 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.0 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.1 index e44e8a03329..fd44095a4eb 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.1 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.2 index f1f5c86f7c8..92a174a2af2 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.2 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.3 index 68f45cbec93..701b6f8f9cf 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.3 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.4 index 500334a3889..3bdb916b695 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.4 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.5 index f79f5219d8e..4829df25fdc 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.5 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.6 index 4d8b8bb3c78..24c6a9570ec 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.6 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.7 index 0f4cf4e5ccf..199d36f7742 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.7 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.5.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.0 index 4876d0d0981..f1963572695 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.0 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.1 index 727a6d5c9d7..efe298a8bb7 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.1 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.10 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.10 index 65e4e7d9de5..c52ec025d30 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.10 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.11 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.11 index dea98e1482c..9a143a6a2c4 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.11 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.12 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.12 index e981e20549e..17afccfb9e5 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.12 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.13 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.13 index ac7f6134ada..1f79d71b8b9 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.13 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.14 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.14 index 029d47adc95..3989044d6e8 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.14 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.15 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.15 index cd8a3259f5d..fd134c9c350 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.15 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.16 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.16 index f0d37e7a1c0..d7173b3d7e4 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.16 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.17 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.17 index 7813a2976e3..0a34e3ab6b4 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.17 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.18 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.18 index 27fe16d270e..fabbad97e9a 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.18 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.19 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.19 index 014f9b780d7..2298c36b813 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.19 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.2 index 6958cc119c2..85f1276600f 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.2 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.20 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.20 index 37c63ec396e..53a81693a03 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.20 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.21 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.21 index d09cafaa878..92122d9a1d1 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.21 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.22 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.22 index 6147f144ba0..7394221c534 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.22 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.23 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.23 index cde8cc7e70e..c45d6b4a632 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.23 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.24 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.24 index c973777b6b6..f51fad44e1f 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.24 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.25 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.25 index d16afdfec78..98a1275922e 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.25 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.26 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.26 index a7f3964324e..8539021eeb7 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.26 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.27 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.27 index 826a7d8559c..c911bb450d3 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.27 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.28 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.28 index c359c4c8c32..0e71881bf9a 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.28 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.29 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.29 index c9b21b1be32..326a63d5157 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.29 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.3 index 2786f7f92b3..66187816946 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.3 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.30 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.30 index 7198d5c2c2f..c4b8ca6d22d 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.30 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.31 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.31 index ef04c06a6b7..bb24cee199d 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.31 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.32 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.32 index aef4bcaf699..ddc818d8d19 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.32 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.33 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.33 index ca764d0a5ec..4efad040f1e 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.33 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.34 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.34 index 89600b09690..a9a72199d31 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.34 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.35 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.35 index fda073e5fc5..5d96dbded47 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.35 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.36 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.36 index 7d541115666..07b97147535 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.36 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.37 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.37 index 18fbc97c7b0..d64a33d477d 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.37 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.4 index a4fcf6d7ccf..0ec783ced8a 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.4 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.5 index dd0d9e47c76..ac38611d085 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.5 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.6 index b8db9a71546..5d003482e12 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.6 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.7 index cc3b9a164ad..31de0d34cde 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.7 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.8 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.8 index 8b650656963..7bb642388f4 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.8 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.9 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.9 index 95085c51099..0f9b0e7762e 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.9 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_diagcg_pe4_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_alecg.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_alecg.q new file mode 100644 index 00000000000..7c4442df9a0 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_alecg.q @@ -0,0 +1,49 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing vortical flow" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + scheme alecg + operator_reorder true + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + end + + plotvar + interval 10 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_diagcg.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_diagcg.q new file mode 100644 index 00000000000..572f3bb0dab --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_operator_reorder_diagcg.q @@ -0,0 +1,50 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing vortical flow" + +inciter + + term 1.0 + ttyi 1 # TTY output interval + cfl 0.8 + scheme diagcg + operator_reorder true + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + sysfct false + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + end + + plotvar + interval 10 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.0 index 931f4a86e0d..184cab1819f 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.0 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.1 index 3d4e14c002b..b60d27ded26 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.1 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.2 index 3e3ba65d647..ca8ce5a53bc 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.2 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.3 index 9e87264b332..68456d75919 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.3 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.0 index 7e3e789fffa..ad1840d4580 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.0 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.1 index 8e6bf2c7532..44c9401c35e 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.1 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.2 index ad86f8725e3..5d348280e2c 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.2 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.3 index f4d9e83c13d..b5b8288788b 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.3 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.4 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.4 index 4ba942a5a12..3c39d8b6323 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.4 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.4 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.5 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.5 index f2f74de3848..a6db9068736 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.5 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.5 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.6 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.6 index d60c67e4e1f..2cc7e18663e 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.6 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.6 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.7 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.7 index 2a44b2c6fcb..71bf09fe69d 100644 Binary files a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.7 and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_pe4_u0.5.std.exo.7 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_reord_dg.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_reord_dg.q index 1c4c4dc5f35..a2c63420d9b 100644 --- a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_reord_dg.q +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_reord_dg.q @@ -11,7 +11,7 @@ inciter ttyi 5 # TTY output interval scheme dg - reorder true + pelocal_reorder true compflow diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag.q b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag.q new file mode 100644 index 00000000000..c0480a34f8b --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag.q @@ -0,0 +1,53 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Euler equations computing vortical flow" + +inciter + + term 1.0 + ttyi 10 # TTY output interval + cfl 0.8 + + partitioning + algorithm mj + end + + compflow + + depvar c + physics euler + problem vortical_flow + sysfct false + + alpha 0.1 + beta 1.0 + p0 10.0 + + material + gamma 1.66666666666667 end # =5/3 ratio of specific heats + end + + bc_dirichlet + sideset 1 2 3 4 5 6 end + end + + bc_stag + point -0.5 -0.5 -0.5 end + radius 1.0e-8 end + end + + end + + plotvar + interval 10 + end + + diagnostics + interval 1 + format scientific + error l2 + end + +end diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.0 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.0 new file mode 100644 index 00000000000..d2fe7a98a38 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.0 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.1 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.1 new file mode 100644 index 00000000000..ff29d96f8f7 Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.1 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.2 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.2 new file mode 100644 index 00000000000..6c8d3c213ca Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.2 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.3 b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.3 new file mode 100644 index 00000000000..7247d37788b Binary files /dev/null and b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_stag_pe4.std.exo.3 differ diff --git a/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_steady_diag.ndiff.cfg b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_steady_diag.ndiff.cfg new file mode 100644 index 00000000000..20439ff4b60 --- /dev/null +++ b/tests/regression/inciter/compflow/Euler/VorticalFlow/vortical_flow_steady_diag.ndiff.cfg @@ -0,0 +1,6 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-8 any abs=1.0e-12 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 9-13 any abs=1.0e-12 rel=1.0e-7 # tolerance for L2 errors +* 14-18 any abs=1.0e-12 rel=1.0e-7 # tolerance for L2-norms of the residuals +* 19-$ skip diff --git a/tests/regression/inciter/mesh_refinement/README.txt b/tests/regression/inciter/mesh_refinement/README.txt index ac89f80ede8..123d50310e8 100644 --- a/tests/regression/inciter/mesh_refinement/README.txt +++ b/tests/regression/inciter/mesh_refinement/README.txt @@ -9,7 +9,7 @@ # * t0ref/dtref - AMR at t<0 (t0ref), AMR at t>0 (dtref) # * uu - 2 uniform refinement, 1:8 for all tets, # other examples: u, ui, ii, iu, iii, cu, cli, eci, ..., legend: -# - u: uniform (1->8) (keyword: uniform) +# - u: uniform refinement (1->8) (keyword: uniform) # - i: initial conditions based adaptive refinement (keyword: ic) # - c: coordinate based refinement (keyword: coords) # - e: refine a list of tagged edges (keyword: edgelist) diff --git a/tests/regression/inciter/mesh_refinement/dtref/CMakeLists.txt b/tests/regression/inciter/mesh_refinement/dtref/CMakeLists.txt index c7e4076ffc7..5ac6f469111 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/CMakeLists.txt +++ b/tests/regression/inciter/mesh_refinement/dtref/CMakeLists.txt @@ -17,7 +17,7 @@ add_regression_test(amr_dtref_u_trans_diagcg ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_amr_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_dtref_u_trans_reord_diagcg ${INCITER_EXECUTABLE} NUMPES 1 @@ -33,7 +33,7 @@ add_regression_test(amr_dtref_u_trans_reord_diagcg ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_amr_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_dtref_u_trans_gauss_hump_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -48,7 +48,7 @@ add_regression_test(amr_dtref_u_trans_gauss_hump_dg ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -63,7 +63,7 @@ add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) # Parallel, no virtualization @@ -92,7 +92,7 @@ add_regression_test(amr_dtref_u_trans_diagcg ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_amr_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_dtref_u_compflow_nleg_diagcg ${INCITER_EXECUTABLE} NUMPES 4 @@ -126,8 +126,8 @@ add_regression_test(amr_dtref_u_compflow_nleg_diagcg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE nleg_diagcg_amr.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diagcg_amr.ndiff.cfg - LABELS amr) + TEXT_DIFF_PROG_CONF nleg_diagcg.ndiff.cfg + LABELS diagcg amr) add_regression_test(amr_dtref_u_compflow_nleg_diagcg_migr ${INCITER_EXECUTABLE} NUMPES 4 @@ -162,8 +162,8 @@ add_regression_test(amr_dtref_u_compflow_nleg_diagcg_migr ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE nleg_diagcg_amr.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diagcg_amr.ndiff.cfg - LABELS amr migration) + TEXT_DIFF_PROG_CONF nleg_diagcg.ndiff.cfg + LABELS diagcg amr migration) add_regression_test(amr_dtref_u_compflow_nleg_reord_diagcg ${INCITER_EXECUTABLE} NUMPES 4 @@ -197,8 +197,8 @@ add_regression_test(amr_dtref_u_compflow_nleg_reord_diagcg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE nleg_diagcg_amr.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diagcg_amr.ndiff.cfg - LABELS amr) + TEXT_DIFF_PROG_CONF nleg_diagcg.ndiff.cfg + LABELS diagcg amr) add_regression_test(amr_dtref_u_compflow_nleg_reord_diagcg_migr ${INCITER_EXECUTABLE} @@ -234,8 +234,8 @@ add_regression_test(amr_dtref_u_compflow_nleg_reord_diagcg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE nleg_diagcg_amr.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF nleg_diagcg_amr.ndiff.cfg - LABELS amr migration) + TEXT_DIFF_PROG_CONF nleg_diagcg.ndiff.cfg + LABELS diagcg amr migration) add_regression_test(amr_dtref_u_trans_gauss_hump_dg ${INCITER_EXECUTABLE} NUMPES 4 @@ -270,7 +270,7 @@ add_regression_test(amr_dtref_u_trans_gauss_hump_dg ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg ${INCITER_EXECUTABLE} NUMPES 4 @@ -305,7 +305,7 @@ add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_dtref_u_trans_gauss_hump_dg_migr ${INCITER_EXECUTABLE} NUMPES 4 @@ -341,7 +341,7 @@ add_regression_test(amr_dtref_u_trans_gauss_hump_dg_migr ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr migration) + LABELS dg amr migration) add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg_migr ${INCITER_EXECUTABLE} @@ -378,7 +378,7 @@ add_regression_test(amr_dtref_u_trans_reord_gauss_hump_dg_migr TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr migration) + LABELS dg amr migration) # Parallel, virtualization @@ -468,7 +468,7 @@ add_regression_test(amr_dtref_u_trans_diagcg_u0.8 ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_amr_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_dtref_u_trans_diagcg_u0.8_migr ${INCITER_EXECUTABLE} NUMPES 4 @@ -556,7 +556,7 @@ add_regression_test(amr_dtref_u_trans_diagcg_u0.8_migr ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_amr_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr migration) + LABELS diagcg amr migration) add_regression_test(amr_dtref_u_trans_gauss_hump_dg_u0.8 ${INCITER_EXECUTABLE} NUMPES 4 @@ -675,7 +675,7 @@ add_regression_test(amr_dtref_u_trans_gauss_hump_dg_u0.8 ${INCITER_EXECUTABLE} TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_dtref_u_trans_gauss_hump_dg_u0.8_migr ${INCITER_EXECUTABLE} @@ -796,4 +796,4 @@ add_regression_test(amr_dtref_u_trans_gauss_hump_dg_u0.8_migr TEXT_BASELINE gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr migration) + LABELS dg amr migration) diff --git a/tests/regression/inciter/mesh_refinement/dtref/gauss_hump_reord.q b/tests/regression/inciter/mesh_refinement/dtref/gauss_hump_reord.q index 53731c3e88f..bd6877f5d28 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/gauss_hump_reord.q +++ b/tests/regression/inciter/mesh_refinement/dtref/gauss_hump_reord.q @@ -10,7 +10,7 @@ inciter dt 1.0e-3 # Time step size ttyi 1 # TTY output interval scheme dg - reorder true + pelocal_reorder true partitioning algorithm mj diff --git a/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg.ndiff.cfg b/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg.ndiff.cfg new file mode 100644 index 00000000000..1559183cf86 --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg.ndiff.cfg @@ -0,0 +1,5 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-8 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 9-13 rel=1.0e-7 # tolerance for L2 errors +* 14 skip diff --git a/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg_amr.q b/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg_amr.q index 5f28c22d639..17507b73aac 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg_amr.q +++ b/tests/regression/inciter/mesh_refinement/dtref/nleg_diagcg_amr.q @@ -29,6 +29,7 @@ inciter r0 2.0 ce -1.0 kappa 0.8 + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/mesh_refinement/dtref/nleg_reord_diagcg_amr.q b/tests/regression/inciter/mesh_refinement/dtref/nleg_reord_diagcg_amr.q index f92b2676628..62c2b0b751f 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/nleg_reord_diagcg_amr.q +++ b/tests/regression/inciter/mesh_refinement/dtref/nleg_reord_diagcg_amr.q @@ -13,7 +13,7 @@ inciter cfl 0.25 scheme diagcg - reorder true + pelocal_reorder true partitioning algorithm mj @@ -30,6 +30,7 @@ inciter r0 2.0 ce -1.0 kappa 0.8 + sysfct false material gamma 1.66666666666667 end # =5/3 ratio of specific heats diff --git a/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_amr_reord_diagcg.q b/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_amr_reord_diagcg.q index a6301644549..4e56df08bfb 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_amr_reord_diagcg.q +++ b/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_amr_reord_diagcg.q @@ -11,7 +11,7 @@ inciter ttyi 1 # TTY output interval scheme diagcg - reorder true + pelocal_reorder true partitioning algorithm mj diff --git a/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_diagcg.ndiff.cfg b/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_diagcg.ndiff.cfg index 153bceefe0d..99df4488717 100644 --- a/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_diagcg.ndiff.cfg +++ b/tests/regression/inciter/mesh_refinement/dtref/slot_cyl_diagcg.ndiff.cfg @@ -1,3 +1,4 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-4 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 5 skip diff --git a/tests/regression/inciter/mesh_refinement/t0ref/CMakeLists.txt b/tests/regression/inciter/mesh_refinement/t0ref/CMakeLists.txt index c05aa9923c9..14c7cdb0664 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/CMakeLists.txt +++ b/tests/regression/inciter/mesh_refinement/t0ref/CMakeLists.txt @@ -15,7 +15,7 @@ add_regression_test(amr_t0ref_u_trans_diagcg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_t0ref_u_trans_reord_diagcg ${INCITER_EXECUTABLE} NUMPES 1 @@ -28,7 +28,7 @@ add_regression_test(amr_t0ref_u_trans_reord_diagcg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_diagcg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diagcg.ndiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_t0ref_u_compflow_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -41,7 +41,7 @@ add_regression_test(amr_t0ref_u_compflow_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_u_compflow_reord_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -54,7 +54,7 @@ add_regression_test(amr_t0ref_u_compflow_reord_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF vortical_flow_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_cc_trans_diagcg ${INCITER_EXECUTABLE} NUMPES 1 @@ -64,7 +64,7 @@ add_regression_test(amr_t0ref_cc_trans_diagcg ${INCITER_EXECUTABLE} BIN_RESULT out.e-s.0.1.0 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_t0ref_u_trans_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -83,7 +83,7 @@ add_regression_test(amr_t0ref_u_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_u_trans_reord_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -103,7 +103,7 @@ add_regression_test(amr_t0ref_u_trans_reord_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_udu_trans_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -130,7 +130,7 @@ add_regression_test(amr_t0ref_udu_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_ududu_trans_dg ${INCITER_EXECUTABLE} NUMPES 1 @@ -163,6 +163,46 @@ add_regression_test(amr_t0ref_ududu_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg amr) + +add_regression_test(amr_t0ref_idiu_trans ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES ic_uniform_deref.q unitsquare_01_141.exo + ARGS -c ic_uniform_deref.q -i unitsquare_01_141.exo -v + BIN_BASELINE ic_uniform_deref_t0ref.e-s.0.1.0 + ic_uniform_deref_t0ref.e-s.1.1.0 + ic_uniform_deref_t0ref.e-s.2.1.0 + ic_uniform_deref_t0ref.e-s.3.1.0 + ic_uniform_deref_t0ref.e-s.4.1.0 + ic_uniform_deref.std.exo + BIN_RESULT t0ref.e-s.0.1.0 + t0ref.e-s.1.1.0 + t0ref.e-s.2.1.0 + t0ref.e-s.3.1.0 + t0ref.e-s.4.1.0 + out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + LABELS amr) + +add_regression_test(amr_t0ref_uudd_trans ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES slot_cyl_uudd.q unitsquare_01_141.exo + ARGS -c slot_cyl_uudd.q -i unitsquare_01_141.exo -v + BIN_BASELINE slot_cyl_uudd_t0ref.e-s.0.1.0 + slot_cyl_uudd_t0ref.e-s.1.1.0 + slot_cyl_uudd_t0ref.e-s.2.1.0 + slot_cyl_uudd_t0ref.e-s.3.1.0 + slot_cyl_uudd_t0ref.e-s.4.1.0 + slot_cyl.std.exo + BIN_RESULT t0ref.e-s.0.1.0 + t0ref.e-s.1.1.0 + t0ref.e-s.2.1.0 + t0ref.e-s.3.1.0 + t0ref.e-s.4.1.0 + out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m LABELS amr) # Parallel, no virtualization @@ -181,7 +221,7 @@ add_regression_test(amr_t0ref_u_trans_diagcg ${INCITER_EXECUTABLE} out.e-s.0.4.3 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_t0ref_ii ${INCITER_EXECUTABLE} NUMPES 2 @@ -205,7 +245,7 @@ add_regression_test(amr_t0ref_ii ${INCITER_EXECUTABLE} out.e-s.0.2.1 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg - LABELS amr) + LABELS diagcg amr) add_regression_test(amr_t0ref_iu_trans ${INCITER_EXECUTABLE} NUMPES 2 @@ -217,8 +257,73 @@ add_regression_test(amr_t0ref_iu_trans ${INCITER_EXECUTABLE} out.e-s.0.2.1 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg amr) + +add_regression_test(amr_t0ref_idiu_trans ${INCITER_EXECUTABLE} + NUMPES 2 + INPUTFILES ic_uniform_deref.q unitsquare_01_141.exo + ARGS -c ic_uniform_deref.q -i unitsquare_01_141.exo -v + BIN_BASELINE ic_uniform_deref_t0ref.e-s.0.2.0 + ic_uniform_deref_t0ref.e-s.0.2.1 + ic_uniform_deref_t0ref.e-s.1.2.0 + ic_uniform_deref_t0ref.e-s.1.2.1 + ic_uniform_deref_t0ref.e-s.2.2.0 + ic_uniform_deref_t0ref.e-s.2.2.1 + ic_uniform_deref_t0ref.e-s.3.2.0 + ic_uniform_deref_t0ref.e-s.3.2.1 + ic_uniform_deref_t0ref.e-s.4.2.0 + ic_uniform_deref_t0ref.e-s.4.2.1 + ic_uniform_deref.std.exo.0 + ic_uniform_deref.std.exo.1 + BIN_RESULT t0ref.e-s.0.2.0 + t0ref.e-s.0.2.1 + t0ref.e-s.1.2.0 + t0ref.e-s.1.2.1 + t0ref.e-s.2.2.0 + t0ref.e-s.2.2.1 + t0ref.e-s.3.2.0 + t0ref.e-s.3.2.1 + t0ref.e-s.4.2.0 + t0ref.e-s.4.2.1 + out.e-s.0.2.0 + out.e-s.0.2.1 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m LABELS amr) +add_regression_test(amr_t0ref_idddiu_trans ${INCITER_EXECUTABLE} + NUMPES 2 + INPUTFILES ic_uniform_deref2.q unitsquare_01_141.exo + ARGS -c ic_uniform_deref2.q -i unitsquare_01_141.exo -v + BIN_BASELINE ic_uniform_deref_t0ref.e-s.0.2.0 + ic_uniform_deref_t0ref.e-s.0.2.1 + ic_uniform_deref_t0ref.e-s.1.2.0 + ic_uniform_deref_t0ref.e-s.1.2.1 + ic_uniform_deref_t0ref.e-s.2.2.0 + ic_uniform_deref_t0ref.e-s.2.2.1 + ic_uniform_deref_t0ref.e-s.3.2.0 + ic_uniform_deref_t0ref.e-s.3.2.1 + ic_uniform_deref_t0ref.e-s.4.2.0 + ic_uniform_deref_t0ref.e-s.4.2.1 + ic_uniform_deref.std.exo.0 + ic_uniform_deref.std.exo.1 + BIN_RESULT t0ref.e-s.0.2.0 + t0ref.e-s.0.2.1 + t0ref.e-s.1.2.0 + t0ref.e-s.1.2.1 + t0ref.e-s.4.2.0 # skip two no-op derefs + t0ref.e-s.4.2.1 + t0ref.e-s.5.2.0 + t0ref.e-s.5.2.1 + t0ref.e-s.6.2.0 + t0ref.e-s.6.2.1 + out.e-s.0.2.0 + out.e-s.0.2.1 + BIN_DIFF_PROG_CONF exodiff_coords_but_ignore_time.cfg + BIN_DIFF_PROG_ARGS -m + LABELS amr) + + add_regression_test(amr_t0ref_u_trans_dg ${INCITER_EXECUTABLE} NUMPES 4 INPUTFILES gauss_hump_dg.q unitsquare_01_955_ss3.exo @@ -263,7 +368,7 @@ add_regression_test(amr_t0ref_u_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_udu_trans_dg ${INCITER_EXECUTABLE} NUMPES 4 @@ -335,7 +440,7 @@ add_regression_test(amr_t0ref_udu_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS amr) + LABELS dg amr) add_regression_test(amr_t0ref_ududu_trans_dg ${INCITER_EXECUTABLE} NUMPES 4 @@ -431,6 +536,78 @@ add_regression_test(amr_t0ref_ududu_trans_dg ${INCITER_EXECUTABLE} TEXT_BASELINE diag_gauss_hump_dg.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg amr) + +add_regression_test(amr_t0ref_uudd_trans ${INCITER_EXECUTABLE} + NUMPES 2 + INPUTFILES slot_cyl_uudd.q unitsquare_01_141.exo + ARGS -c slot_cyl_uudd.q -i unitsquare_01_141.exo -v + BIN_BASELINE slot_cyl_uudd_t0ref.e-s.0.2.0 + slot_cyl_uudd_t0ref.e-s.0.2.1 + slot_cyl_uudd_t0ref.e-s.1.2.0 + slot_cyl_uudd_t0ref.e-s.1.2.1 + slot_cyl_uudd_t0ref.e-s.2.2.0 + slot_cyl_uudd_t0ref.e-s.2.2.1 + slot_cyl_uudd_t0ref.e-s.3.2.0 + slot_cyl_uudd_t0ref.e-s.3.2.1 + slot_cyl_uudd_t0ref.e-s.4.2.0 + slot_cyl_uudd_t0ref.e-s.4.2.1 + slot_cyl.std.exo.0 + slot_cyl.std.exo.1 + BIN_RESULT t0ref.e-s.0.2.0 + t0ref.e-s.0.2.1 + t0ref.e-s.1.2.0 + t0ref.e-s.1.2.1 + t0ref.e-s.2.2.0 + t0ref.e-s.2.2.1 + t0ref.e-s.3.2.0 + t0ref.e-s.3.2.1 + t0ref.e-s.4.2.0 + t0ref.e-s.4.2.1 + out.e-s.0.2.0 + out.e-s.0.2.1 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + LABELS amr) + +add_regression_test(amr_t0ref_uuuddd_trans ${INCITER_EXECUTABLE} + NUMPES 2 + INPUTFILES slot_cyl_uuuddd.q unitsquare_01_141.exo + ARGS -c slot_cyl_uuuddd.q -i unitsquare_01_141.exo -v + BIN_BASELINE slot_cyl_uuuddd_t0ref.e-s.0.2.0 + slot_cyl_uuuddd_t0ref.e-s.0.2.1 + slot_cyl_uuuddd_t0ref.e-s.1.2.0 + slot_cyl_uuuddd_t0ref.e-s.1.2.1 + slot_cyl_uuuddd_t0ref.e-s.2.2.0 + slot_cyl_uuuddd_t0ref.e-s.2.2.1 + slot_cyl_uuuddd_t0ref.e-s.3.2.0 + slot_cyl_uuuddd_t0ref.e-s.3.2.1 + slot_cyl_uuuddd_t0ref.e-s.4.2.0 + slot_cyl_uuuddd_t0ref.e-s.4.2.1 + slot_cyl_uuuddd_t0ref.e-s.5.2.0 + slot_cyl_uuuddd_t0ref.e-s.5.2.1 + slot_cyl_uuuddd_t0ref.e-s.6.2.0 + slot_cyl_uuuddd_t0ref.e-s.6.2.1 + slot_cyl.std.exo.0 + slot_cyl.std.exo.1 + BIN_RESULT t0ref.e-s.0.2.0 + t0ref.e-s.0.2.1 + t0ref.e-s.1.2.0 + t0ref.e-s.1.2.1 + t0ref.e-s.2.2.0 + t0ref.e-s.2.2.1 + t0ref.e-s.3.2.0 + t0ref.e-s.3.2.1 + t0ref.e-s.4.2.0 + t0ref.e-s.4.2.1 + t0ref.e-s.5.2.0 + t0ref.e-s.5.2.1 + t0ref.e-s.6.2.0 + t0ref.e-s.6.2.1 + out.e-s.0.2.0 + out.e-s.0.2.1 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m LABELS amr) # Parallel, virtualization @@ -458,4 +635,4 @@ add_regression_test(amr_t0ref_u_trans_diagcg_u0.5 ${INCITER_EXECUTABLE} out.e-s.0.8.7 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg - LABELS amr) + LABELS diagcg amr) diff --git a/tests/regression/inciter/mesh_refinement/t0ref/exodiff_coords_but_ignore_time.cfg b/tests/regression/inciter/mesh_refinement/t0ref/exodiff_coords_but_ignore_time.cfg new file mode 100644 index 00000000000..02e020be6d5 --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/t0ref/exodiff_coords_but_ignore_time.cfg @@ -0,0 +1,2 @@ +COORDINATES absolute 1.0e-12 +TIME STEPS absolute 1.0 # huge tolerance for ignoring the time stamps so baselines can be reused between tests taking different number of refinement steps diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.q b/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_dg_ic_uniform_deref.q similarity index 56% rename from tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.q rename to tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_dg_ic_uniform_deref.q index 0f28f4a7cca..40a9a32604d 100644 --- a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_dg_ic_uniform_deref.q @@ -6,10 +6,15 @@ title "Advection of 2D Gaussian hump" inciter - nstep 50 # Max number of time steps - dt 2.0e-4 # Time step size - ttyi 10 # TTY output interval - scheme dgp1 + nstep 10 # Max number of time steps + dt 5.0e-4 # Time step size + ttyi 1 # TTY output interval + + scheme dg + + partitioning + algorithm mj + end transport physics advection @@ -28,15 +33,24 @@ inciter end end + amr + t0ref true + dtref false + initial ic + initial uniform_derefine + #initial uniform + refvar c end + error jump + end + diagnostics - interval 10 + interval 2 format scientific error l2 - error linf end plotvar - interval 50 + interval 2 end end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_reord_dg.q b/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_reord_dg.q index 47711312f81..6961068bf3c 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_reord_dg.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/gauss_hump_reord_dg.q @@ -11,7 +11,7 @@ inciter ttyi 1 # TTY output interval scheme dg - reorder true + pelocal_reorder true partitioning algorithm mj diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_ic.q b/tests/regression/inciter/mesh_refinement/t0ref/ic_ic.q index 36ada575fac..f0d0c30ec6f 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/ic_ic.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/ic_ic.q @@ -45,7 +45,7 @@ inciter error jump tol_refine 0.8 -# coordref +# coords # #x- 0.5 # x+ 0.5 #x- 0.75 # #y+ 0.25 y- 0.75 diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform.q b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform.q index b7d93a738f3..3e3fcd04f44 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform.q @@ -45,7 +45,7 @@ inciter error jump tol_refine 0.8 -# coordref +# coords # #x- 0.5 # x+ 0.5 #x- 0.75 # #y+ 0.25 y- 0.75 diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.q b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.q new file mode 100644 index 00000000000..db29c207c91 --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.q @@ -0,0 +1,48 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Initial uniform mesh refinement" + +inciter + + nstep 1 # Max number of time steps + cfl 0.2 # CFL coefficient + ttyi 1 # TTY output interval + + scheme diagcg + + fct true + + partitioning + algorithm mj + end + + transport + depvar c + physics advection + problem slot_cyl +# bc_dirichlet +# sideset 1 2 3 end +# end + end + + amr + t0ref true + dtref false + dtfreq 5 + + initial ic + initial uniform_derefine + initial ic + initial uniform + refvar c end + error hessian + + end + + plotvar + interval 1 + end + +end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo new file mode 100644 index 00000000000..abc8ba4b507 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.0 new file mode 100644 index 00000000000..0115169e638 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.1 new file mode 100644 index 00000000000..690f65ed4be Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref.std.exo.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref2.q b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref2.q new file mode 100644 index 00000000000..4fe5126f5bb --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref2.q @@ -0,0 +1,50 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Initial uniform mesh refinement" + +inciter + + nstep 1 # Max number of time steps + cfl 0.2 # CFL coefficient + ttyi 1 # TTY output interval + + scheme diagcg + + fct true + + partitioning + algorithm mj + end + + transport + depvar c + physics advection + problem slot_cyl +# bc_dirichlet +# sideset 1 2 3 end +# end + end + + amr + t0ref true + dtref false + dtfreq 5 + + initial ic + initial uniform_derefine + initial uniform_derefine # no-op + initial uniform_derefine # no-op + initial ic + initial uniform + refvar c end + error hessian + + end + + plotvar + interval 1 + end + +end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.1.0 new file mode 100644 index 00000000000..16708179127 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.0 new file mode 100644 index 00000000000..9a69c88b0ec Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.1 new file mode 100644 index 00000000000..4fd2b56e016 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.0.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.1.0 new file mode 100644 index 00000000000..20f4c3a21c1 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.0 new file mode 100644 index 00000000000..d41138d5171 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.1 new file mode 100644 index 00000000000..729c7a91bff Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.1.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.1.0 new file mode 100644 index 00000000000..bf196d54f5b Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.0 new file mode 100644 index 00000000000..ab66dccd17e Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.1 new file mode 100644 index 00000000000..29baf1b7493 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.2.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.1.0 new file mode 100644 index 00000000000..ffa935de79e Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.0 new file mode 100644 index 00000000000..9fec1d4d65a Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.1 new file mode 100644 index 00000000000..918b7f05789 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.3.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.1.0 new file mode 100644 index 00000000000..1a3e1f998c6 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.0 new file mode 100644 index 00000000000..cda3d287c9f Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.1 new file mode 100644 index 00000000000..9db30dc8fd8 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/ic_uniform_deref_t0ref.e-s.4.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo new file mode 100644 index 00000000000..47d63767e78 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.0 new file mode 100644 index 00000000000..61112f5dbdb Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.1 new file mode 100644 index 00000000000..b64ad27432c Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl.std.exo.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_coords.q b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_coords.q index 4a5b240370a..0b4b6b5a1f8 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_coords.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_coords.q @@ -32,7 +32,7 @@ inciter initial coords initial coords - coordref + coords x- 0.5 #x+ 0.25 x- 0.75 end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_reord_diagcg.q b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_reord_diagcg.q index 020aa1a7ef5..60ffd0b53db 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_reord_diagcg.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_amr_reord_diagcg.q @@ -12,7 +12,7 @@ inciter scheme diagcg - reorder true + pelocal_reorder true partitioning algorithm mj diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_diagcg.ndiff.cfg b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_diagcg.ndiff.cfg index 153bceefe0d..99df4488717 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_diagcg.ndiff.cfg +++ b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_diagcg.ndiff.cfg @@ -1,3 +1,4 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float * 2-4 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 5 skip diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd.q b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd.q new file mode 100644 index 00000000000..0e395a8d661 --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd.q @@ -0,0 +1,41 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Initial uniform mesh refinement" + +inciter + + nstep 1 # Max number of time steps + cfl 0.2 # CFL coefficient + ttyi 1 # TTY output interval + + scheme diagcg + fct true + + partitioning + algorithm mj + end + + transport + depvar c + physics advection + problem slot_cyl + end + + amr + t0ref true + dtref false + dtfreq 5 + + initial uniform + initial uniform + initial uniform_derefine + initial uniform_derefine + end + + plotvar + interval 1 + end + +end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.1.0 new file mode 100644 index 00000000000..3e7a4d29642 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.0 new file mode 100644 index 00000000000..7e071e6b8ed Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.1 new file mode 100644 index 00000000000..fe7366ee0ca Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.0.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.1.0 new file mode 100644 index 00000000000..2bc78b7bee6 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.0 new file mode 100644 index 00000000000..eb2de094e82 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.1 new file mode 100644 index 00000000000..d50fa84eea7 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.1.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.1.0 new file mode 100644 index 00000000000..e2eedd5f9bc Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.0 new file mode 100644 index 00000000000..86aa0a222b4 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.1 new file mode 100644 index 00000000000..a2aed472f1d Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.2.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.1.0 new file mode 100644 index 00000000000..c7929347b5f Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.0 new file mode 100644 index 00000000000..0c4cda0f13e Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.1 new file mode 100644 index 00000000000..fde7a1073e7 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.3.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.1.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.1.0 new file mode 100644 index 00000000000..371203fb920 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.1.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.0 new file mode 100644 index 00000000000..f7423276683 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.1 new file mode 100644 index 00000000000..de4fc30fecd Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uudd_t0ref.e-s.4.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd.q b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd.q new file mode 100644 index 00000000000..b6e6edd543b --- /dev/null +++ b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd.q @@ -0,0 +1,43 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Initial uniform mesh refinement" + +inciter + + nstep 1 # Max number of time steps + cfl 0.2 # CFL coefficient + ttyi 1 # TTY output interval + + scheme diagcg + fct true + + partitioning + algorithm mj + end + + transport + depvar c + physics advection + problem slot_cyl + end + + amr + t0ref true + dtref false + dtfreq 5 + + initial uniform + initial uniform + initial uniform + initial uniform_derefine + initial uniform_derefine + initial uniform_derefine + end + + plotvar + interval 1 + end + +end diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.0 new file mode 100644 index 00000000000..7e071e6b8ed Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.1 new file mode 100644 index 00000000000..fe7366ee0ca Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.0.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.0 new file mode 100644 index 00000000000..1bcc0d8ec03 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.1 new file mode 100644 index 00000000000..a76f245a5ce Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.1.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.0 new file mode 100644 index 00000000000..9f3c193da36 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.1 new file mode 100644 index 00000000000..ad58f9ed91f Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.2.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.0 new file mode 100644 index 00000000000..83fd05a166a Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.1 new file mode 100644 index 00000000000..a64bb962584 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.3.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.0 new file mode 100644 index 00000000000..be31b893c33 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.1 new file mode 100644 index 00000000000..6ab9ec79f5c Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.4.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.0 new file mode 100644 index 00000000000..4a5216851ea Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.1 new file mode 100644 index 00000000000..d67a16d72a9 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.5.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.0 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.0 new file mode 100644 index 00000000000..f7423276683 Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.0 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.1 b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.1 new file mode 100644 index 00000000000..de4fc30fecd Binary files /dev/null and b/tests/regression/inciter/mesh_refinement/t0ref/slot_cyl_uuuddd_t0ref.e-s.6.2.1 differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_dg.std.exo b/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_dg.std.exo index cdf3ceed12e..1e6aef720a4 100644 Binary files a/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_dg.std.exo and b/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_dg.std.exo differ diff --git a/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_reord_dg.q b/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_reord_dg.q index 695d2ebcc33..b3891c12f31 100644 --- a/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_reord_dg.q +++ b/tests/regression/inciter/mesh_refinement/t0ref/vortical_flow_reord_dg.q @@ -16,7 +16,7 @@ inciter algorithm mj end - reorder true + pelocal_reorder true compflow diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/CMakeLists.txt b/tests/regression/inciter/multimat/InterfaceAdvection/CMakeLists.txt index 0a42668a778..c26e4af185c 100644 --- a/tests/regression/inciter/multimat/InterfaceAdvection/CMakeLists.txt +++ b/tests/regression/inciter/multimat/InterfaceAdvection/CMakeLists.txt @@ -13,7 +13,8 @@ add_regression_test(multimat_interface_advection_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF interface_advection_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF interface_advection_diag.ndiff.cfg + LABELS dg) # Parallel @@ -33,4 +34,5 @@ add_regression_test(multimat_interface_advection_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF interface_advection_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF interface_advection_diag.ndiff.cfg + LABELS dg) diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/diag_dg.std b/tests/regression/inciter/multimat/InterfaceAdvection/diag_dg.std index a2f4ce5de08..a96d0d5e8f5 100644 --- a/tests/regression/inciter/multimat/InterfaceAdvection/diag_dg.std +++ b/tests/regression/inciter/multimat/InterfaceAdvection/diag_dg.std @@ -1,51 +1,51 @@ # 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) - 1 5.000000e-07 5.000000e-07 5.919128e-01 1.796800e-01 7.857047e-01 5.919365e+00 2.086875e-01 9.125490e-01 4.237655e+01 4.237655e+01 1.756287e-15 1.482742e+05 4.493043e+04 1.964718e+05 7.257141e-05 3.512628e-05 6.350397e-05 7.257431e-04 4.079707e-05 7.375606e-05 4.535777e-03 4.535777e-03 1.756287e-15 1.817914e+01 8.783610e+00 1.587968e+01 - 2 1.000000e-06 5.000000e-07 5.919034e-01 1.796735e-01 7.856991e-01 5.919271e+00 2.086800e-01 9.125425e-01 4.237603e+01 4.237603e+01 3.436311e-15 1.482718e+05 4.492880e+04 1.964704e+05 1.450266e-04 7.021334e-05 1.268968e-04 1.450324e-03 8.154860e-05 1.473831e-04 9.064292e-03 9.064292e-03 3.436311e-15 3.632917e+01 1.755741e+01 3.173158e+01 - 3 1.500000e-06 5.000000e-07 5.918939e-01 1.796670e-01 7.856934e-01 5.919176e+00 2.086724e-01 9.125359e-01 4.237552e+01 4.237552e+01 5.079173e-15 1.482694e+05 4.492717e+04 1.964690e+05 2.173662e-04 1.052613e-04 1.901792e-04 2.173749e-03 1.222547e-04 2.208817e-04 1.358558e-02 1.358558e-02 5.079173e-15 5.445023e+01 2.632144e+01 4.755584e+01 - 4 2.000000e-06 5.000000e-07 5.918845e-01 1.796605e-01 7.856878e-01 5.919082e+00 2.086649e-01 9.125294e-01 4.237500e+01 4.237500e+01 6.684622e-15 1.482671e+05 4.492555e+04 1.964676e+05 2.895907e-04 1.402702e-04 2.533516e-04 2.896022e-03 1.629155e-04 2.942527e-04 1.809967e-02 1.809967e-02 6.684622e-15 7.254247e+01 3.507570e+01 6.335260e+01 - 5 2.500000e-06 5.000000e-07 5.918750e-01 1.796540e-01 7.856822e-01 5.918987e+00 2.086573e-01 9.125228e-01 4.237449e+01 4.237449e+01 8.244793e-15 1.482647e+05 4.492392e+04 1.964662e+05 3.617006e-04 1.752402e-04 3.164146e-04 3.617151e-03 2.035311e-04 3.674966e-04 2.260661e-02 2.260661e-02 8.244793e-15 9.060601e+01 4.382024e+01 7.912202e+01 - 6 3.000000e-06 5.000000e-07 5.918656e-01 1.796475e-01 7.856765e-01 5.918893e+00 2.086498e-01 9.125163e-01 4.237397e+01 4.237397e+01 9.768180e-15 1.482623e+05 4.492230e+04 1.964648e+05 4.336966e-04 2.101714e-04 3.793688e-04 4.337139e-03 2.441015e-04 4.406142e-04 2.710642e-02 2.710642e-02 9.768180e-15 1.086410e+02 5.255506e+01 9.486423e+01 - 7 3.500000e-06 5.000000e-07 5.918562e-01 1.796410e-01 7.856709e-01 5.918799e+00 2.086423e-01 9.125098e-01 4.237346e+01 4.237346e+01 1.125633e-14 1.482600e+05 4.492068e+04 1.964634e+05 5.055791e-04 2.450639e-04 4.422148e-04 5.055993e-03 2.846270e-04 5.136060e-04 3.159914e-02 3.159914e-02 1.125633e-14 1.266476e+02 6.128020e+01 1.105794e+02 - 8 4.000000e-06 5.000000e-07 5.918468e-01 1.796345e-01 7.856653e-01 5.918705e+00 2.086348e-01 9.125033e-01 4.237295e+01 4.237295e+01 1.271539e-14 1.482576e+05 4.491907e+04 1.964620e+05 5.773487e-04 2.799177e-04 5.049531e-04 5.773718e-03 3.251077e-04 5.864728e-04 3.608480e-02 3.608480e-02 1.271539e-14 1.446259e+02 6.999568e+01 1.262676e+02 - 9 4.500000e-06 5.000000e-07 5.918374e-01 1.796281e-01 7.856597e-01 5.918611e+00 2.086273e-01 9.124968e-01 4.237243e+01 4.237243e+01 1.414593e-14 1.482553e+05 4.491745e+04 1.964606e+05 6.490060e-04 3.147330e-04 5.675842e-04 6.490319e-03 3.655436e-04 6.592151e-04 4.056345e-02 4.056345e-02 1.414593e-14 1.625760e+02 7.870153e+01 1.419290e+02 - 10 5.000000e-06 5.000000e-07 5.918280e-01 1.796216e-01 7.856541e-01 5.918517e+00 2.086198e-01 9.124903e-01 4.237192e+01 4.237192e+01 1.553783e-14 1.482529e+05 4.491584e+04 1.964592e+05 7.205514e-04 3.495099e-04 6.301088e-04 7.205802e-03 4.059348e-04 7.318337e-04 4.503510e-02 4.503510e-02 1.553783e-14 1.804981e+02 8.739776e+01 1.575638e+02 - 11 5.500000e-06 5.000000e-07 5.918186e-01 1.796152e-01 7.856485e-01 5.918423e+00 2.086123e-01 9.124838e-01 4.237141e+01 4.237141e+01 1.689965e-14 1.482506e+05 4.491422e+04 1.964578e+05 7.919855e-04 3.842484e-04 6.925275e-04 7.920172e-03 4.462815e-04 8.043292e-04 4.949980e-02 4.949980e-02 1.689965e-14 1.983924e+02 9.608441e+01 1.731721e+02 - 12 6.000000e-06 5.000000e-07 5.918092e-01 1.796087e-01 7.856429e-01 5.918329e+00 2.086048e-01 9.124773e-01 4.237090e+01 4.237090e+01 1.823799e-14 1.482482e+05 4.491261e+04 1.964564e+05 8.633089e-04 4.189487e-04 7.548406e-04 8.633435e-03 4.865838e-04 8.767022e-04 5.395757e-02 5.395757e-02 1.823799e-14 2.162589e+02 1.047615e+02 1.887540e+02 - 13 6.500000e-06 5.000000e-07 5.917999e-01 1.796023e-01 7.856374e-01 5.918236e+00 2.085973e-01 9.124708e-01 4.237039e+01 4.237039e+01 1.955008e-14 1.482459e+05 4.491100e+04 1.964550e+05 9.345221e-04 4.536108e-04 8.170488e-04 9.345595e-03 5.268418e-04 9.489533e-04 5.840846e-02 5.840846e-02 1.955008e-14 2.340978e+02 1.134290e+02 2.043097e+02 - 14 7.000000e-06 5.000000e-07 5.917905e-01 1.795959e-01 7.856318e-01 5.918142e+00 2.085899e-01 9.124643e-01 4.236988e+01 4.236988e+01 2.083254e-14 1.482435e+05 4.490940e+04 1.964536e+05 1.005626e-03 4.882348e-04 8.791527e-04 1.005666e-02 5.670556e-04 1.021083e-03 6.285249e-02 6.285249e-02 2.083254e-14 2.519092e+02 1.220871e+02 2.198392e+02 - 15 7.500000e-06 5.000000e-07 5.917812e-01 1.795894e-01 7.856262e-01 5.918049e+00 2.085824e-01 9.124578e-01 4.236937e+01 4.236937e+01 2.209507e-14 1.482412e+05 4.490779e+04 1.964522e+05 1.076620e-03 5.228209e-04 9.411527e-04 1.076663e-02 6.072252e-04 1.093093e-03 6.728969e-02 6.728969e-02 2.209507e-14 2.696933e+02 1.307356e+02 2.353428e+02 - 16 8.000000e-06 5.000000e-07 5.917718e-01 1.795830e-01 7.856206e-01 5.917955e+00 2.085749e-01 9.124514e-01 4.236886e+01 4.236886e+01 2.333151e-14 1.482389e+05 4.490618e+04 1.964508e+05 1.147505e-03 5.573692e-04 1.003050e-03 1.147551e-02 6.473509e-04 1.164982e-03 7.172010e-02 7.172010e-02 2.333151e-14 2.874501e+02 1.393747e+02 2.508206e+02 - 17 8.500000e-06 5.000000e-07 5.917625e-01 1.795766e-01 7.856151e-01 5.917862e+00 2.085675e-01 9.124449e-01 4.236835e+01 4.236835e+01 2.453881e-14 1.482365e+05 4.490458e+04 1.964494e+05 1.218283e-03 5.918796e-04 1.064844e-03 1.218332e-02 6.874328e-04 1.236752e-03 7.614376e-02 7.614376e-02 2.453881e-14 3.051799e+02 1.480043e+02 2.662727e+02 - 18 9.000000e-06 5.000000e-07 5.917532e-01 1.795702e-01 7.856095e-01 5.917769e+00 2.085601e-01 9.124385e-01 4.236784e+01 4.236784e+01 2.573473e-14 1.482342e+05 4.490298e+04 1.964480e+05 1.288953e-03 6.263524e-04 1.126535e-03 1.289004e-02 7.274709e-04 1.308403e-03 8.056068e-02 8.056068e-02 2.573473e-14 3.228827e+02 1.566245e+02 2.816992e+02 - 19 9.500000e-06 5.000000e-07 5.917439e-01 1.795638e-01 7.856040e-01 5.917676e+00 2.085526e-01 9.124320e-01 4.236733e+01 4.236733e+01 2.691483e-14 1.482319e+05 4.490138e+04 1.964466e+05 1.359515e-03 6.607876e-04 1.188125e-03 1.359570e-02 7.674653e-04 1.379937e-03 8.497092e-02 8.497092e-02 2.691483e-14 3.405586e+02 1.652353e+02 2.971003e+02 - 20 1.000000e-05 5.000000e-07 5.917346e-01 1.795574e-01 7.855984e-01 5.917583e+00 2.085452e-01 9.124256e-01 4.236682e+01 4.236682e+01 2.807071e-14 1.482295e+05 4.489978e+04 1.964452e+05 1.429972e-03 6.951853e-04 1.249614e-03 1.430029e-02 8.074161e-04 1.451352e-03 8.937448e-02 8.937448e-02 2.807071e-14 3.582079e+02 1.738367e+02 3.124761e+02 - 21 1.050000e-05 5.000000e-07 5.917253e-01 1.795510e-01 7.855929e-01 5.917490e+00 2.085378e-01 9.124192e-01 4.236632e+01 4.236632e+01 2.921358e-14 1.482272e+05 4.489819e+04 1.964438e+05 1.500322e-03 7.295456e-04 1.311003e-03 1.500382e-02 8.473236e-04 1.522651e-03 9.377142e-02 9.377142e-02 2.921358e-14 3.758306e+02 1.824288e+02 3.278268e+02 - 22 1.100000e-05 5.000000e-07 5.917160e-01 1.795447e-01 7.855874e-01 5.917397e+00 2.085304e-01 9.124127e-01 4.236581e+01 4.236581e+01 3.034538e-14 1.482249e+05 4.489659e+04 1.964425e+05 1.570566e-03 7.638686e-04 1.372291e-03 1.570629e-02 8.871877e-04 1.593834e-03 9.816176e-02 9.816176e-02 3.034538e-14 3.934268e+02 1.910115e+02 3.431524e+02 - 23 1.150000e-05 5.000000e-07 5.917067e-01 1.795383e-01 7.855818e-01 5.917304e+00 2.085230e-01 9.124063e-01 4.236531e+01 4.236531e+01 3.145496e-14 1.482225e+05 4.489500e+04 1.964411e+05 1.640705e-03 7.981544e-04 1.433479e-03 1.640771e-02 9.270086e-04 1.664900e-03 1.025455e-01 1.025455e-01 3.145496e-14 4.109967e+02 1.995849e+02 3.584531e+02 - 24 1.200000e-05 5.000000e-07 5.916975e-01 1.795319e-01 7.855763e-01 5.917211e+00 2.085156e-01 9.123999e-01 4.236480e+01 4.236480e+01 3.255687e-14 1.482202e+05 4.489341e+04 1.964397e+05 1.710740e-03 8.324030e-04 1.494569e-03 1.710808e-02 9.667864e-04 1.735852e-03 1.069228e-01 1.069228e-01 3.255687e-14 4.285404e+02 2.081491e+02 3.737290e+02 - 25 1.250000e-05 5.000000e-07 5.916882e-01 1.795256e-01 7.855708e-01 5.917119e+00 2.085082e-01 9.123935e-01 4.236429e+01 4.236429e+01 3.363841e-14 1.482179e+05 4.489182e+04 1.964383e+05 1.780670e-03 8.666147e-04 1.555560e-03 1.780742e-02 1.006521e-03 1.806690e-03 1.112935e-01 1.112935e-01 3.363841e-14 4.460580e+02 2.167040e+02 3.889803e+02 - 26 1.300000e-05 5.000000e-07 5.916790e-01 1.795192e-01 7.855653e-01 5.917026e+00 2.085008e-01 9.123871e-01 4.236379e+01 4.236379e+01 3.470853e-14 1.482156e+05 4.489023e+04 1.964369e+05 1.850497e-03 9.007894e-04 1.616453e-03 1.850571e-02 1.046213e-03 1.877413e-03 1.156577e-01 1.156577e-01 3.470853e-14 4.635496e+02 2.252497e+02 4.042070e+02 - 27 1.350000e-05 5.000000e-07 5.916697e-01 1.795129e-01 7.855598e-01 5.916934e+00 2.084934e-01 9.123807e-01 4.236329e+01 4.236329e+01 3.577303e-14 1.482133e+05 4.488864e+04 1.964356e+05 1.920221e-03 9.349272e-04 1.677248e-03 1.920298e-02 1.085862e-03 1.948023e-03 1.200155e-01 1.200155e-01 3.577303e-14 4.810154e+02 2.337861e+02 4.194093e+02 - 28 1.400000e-05 5.000000e-07 5.916605e-01 1.795065e-01 7.855542e-01 5.916841e+00 2.084861e-01 9.123743e-01 4.236278e+01 4.236278e+01 3.681807e-14 1.482110e+05 4.488705e+04 1.964342e+05 1.989842e-03 9.690283e-04 1.737946e-03 1.989922e-02 1.125468e-03 2.018520e-03 1.243669e-01 1.243669e-01 3.681807e-14 4.984555e+02 2.423134e+02 4.345874e+02 - 29 1.450000e-05 5.000000e-07 5.916513e-01 1.795002e-01 7.855487e-01 5.916749e+00 2.084787e-01 9.123679e-01 4.236228e+01 4.236228e+01 3.784976e-14 1.482087e+05 4.488547e+04 1.964328e+05 2.059361e-03 1.003093e-03 1.798548e-03 2.059444e-02 1.165032e-03 2.088905e-03 1.287119e-01 1.287119e-01 3.784976e-14 5.158700e+02 2.508314e+02 4.497413e+02 - 30 1.500000e-05 5.000000e-07 5.916420e-01 1.794939e-01 7.855433e-01 5.916657e+00 2.084714e-01 9.123615e-01 4.236178e+01 4.236178e+01 3.886507e-14 1.482063e+05 4.488389e+04 1.964314e+05 2.128778e-03 1.037121e-03 1.859053e-03 2.128864e-02 1.204554e-03 2.159179e-03 1.330505e-01 1.330505e-01 3.886507e-14 5.332591e+02 2.593404e+02 4.648713e+02 - 31 1.550000e-05 5.000000e-07 5.916328e-01 1.794875e-01 7.855378e-01 5.916565e+00 2.084640e-01 9.123551e-01 4.236127e+01 4.236127e+01 3.986565e-14 1.482040e+05 4.488231e+04 1.964301e+05 2.198095e-03 1.071112e-03 1.919463e-03 2.198182e-02 1.244032e-03 2.229342e-03 1.373829e-01 1.373829e-01 3.986565e-14 5.506227e+02 2.678402e+02 4.799773e+02 - 32 1.600000e-05 5.000000e-07 5.916236e-01 1.794812e-01 7.855323e-01 5.916473e+00 2.084567e-01 9.123488e-01 4.236077e+01 4.236077e+01 4.085394e-14 1.482017e+05 4.488073e+04 1.964287e+05 2.267310e-03 1.105067e-03 1.979778e-03 2.267401e-02 1.283469e-03 2.299394e-03 1.417089e-01 1.417089e-01 4.085394e-14 5.679612e+02 2.763309e+02 4.950595e+02 - 33 1.650000e-05 5.000000e-07 5.916144e-01 1.794749e-01 7.855268e-01 5.916381e+00 2.084494e-01 9.123424e-01 4.236027e+01 4.236027e+01 4.183864e-14 1.481994e+05 4.487915e+04 1.964273e+05 2.336425e-03 1.138986e-03 2.039998e-03 2.336518e-02 1.322864e-03 2.369336e-03 1.460286e-01 1.460286e-01 4.183864e-14 5.852745e+02 2.848125e+02 5.101181e+02 - 34 1.700000e-05 5.000000e-07 5.916053e-01 1.794686e-01 7.855213e-01 5.916289e+00 2.084420e-01 9.123360e-01 4.235977e+01 4.235977e+01 4.281515e-14 1.481971e+05 4.487757e+04 1.964259e+05 2.405440e-03 1.172868e-03 2.100125e-03 2.405537e-02 1.362216e-03 2.439169e-03 1.503421e-01 1.503421e-01 4.281515e-14 6.025628e+02 2.932851e+02 5.251531e+02 - 35 1.750000e-05 5.000000e-07 5.915961e-01 1.794623e-01 7.855158e-01 5.916197e+00 2.084347e-01 9.123297e-01 4.235927e+01 4.235927e+01 4.378735e-14 1.481948e+05 4.487600e+04 1.964246e+05 2.474356e-03 1.206714e-03 2.160157e-03 2.474455e-02 1.401527e-03 2.508893e-03 1.546495e-01 1.546495e-01 4.378735e-14 6.198263e+02 3.017487e+02 5.401648e+02 - 36 1.800000e-05 5.000000e-07 5.915869e-01 1.794560e-01 7.855104e-01 5.916106e+00 2.084274e-01 9.123233e-01 4.235877e+01 4.235877e+01 4.475370e-14 1.481925e+05 4.487442e+04 1.964232e+05 2.543173e-03 1.240525e-03 2.220097e-03 2.543275e-02 1.440795e-03 2.578510e-03 1.589506e-01 1.589506e-01 4.475370e-14 6.370650e+02 3.102032e+02 5.551531e+02 - 37 1.850000e-05 5.000000e-07 5.915778e-01 1.794497e-01 7.855049e-01 5.916014e+00 2.084201e-01 9.123170e-01 4.235827e+01 4.235827e+01 4.571151e-14 1.481902e+05 4.487285e+04 1.964218e+05 2.611892e-03 1.274299e-03 2.279944e-03 2.611997e-02 1.480022e-03 2.648018e-03 1.632456e-01 1.632456e-01 4.571151e-14 6.542790e+02 3.186488e+02 5.701183e+02 - 38 1.900000e-05 5.000000e-07 5.915686e-01 1.794434e-01 7.854995e-01 5.915923e+00 2.084128e-01 9.123106e-01 4.235777e+01 4.235777e+01 4.666242e-14 1.481879e+05 4.487128e+04 1.964205e+05 2.680513e-03 1.308038e-03 2.339698e-03 2.680620e-02 1.519207e-03 2.717419e-03 1.675344e-01 1.675344e-01 4.666242e-14 6.714686e+02 3.270854e+02 5.850604e+02 - 39 1.950000e-05 5.000000e-07 5.915595e-01 1.794372e-01 7.854940e-01 5.915831e+00 2.084055e-01 9.123043e-01 4.235727e+01 4.235727e+01 4.760475e-14 1.481857e+05 4.486971e+04 1.964191e+05 2.749036e-03 1.341740e-03 2.399361e-03 2.749146e-02 1.558351e-03 2.786714e-03 1.718172e-01 1.718172e-01 4.760475e-14 6.886336e+02 3.355130e+02 5.999796e+02 - 40 2.000000e-05 5.000000e-07 5.915503e-01 1.794309e-01 7.854886e-01 5.915740e+00 2.083983e-01 9.122980e-01 4.235677e+01 4.235677e+01 4.854613e-14 1.481834e+05 4.486815e+04 1.964178e+05 2.817463e-03 1.375407e-03 2.458933e-03 2.817575e-02 1.597453e-03 2.855903e-03 1.760939e-01 1.760939e-01 4.854613e-14 7.057744e+02 3.439317e+02 6.148760e+02 - 41 2.050000e-05 5.000000e-07 5.915412e-01 1.794246e-01 7.854831e-01 5.915649e+00 2.083910e-01 9.122917e-01 4.235627e+01 4.235627e+01 4.948398e-14 1.481811e+05 4.486658e+04 1.964164e+05 2.885792e-03 1.409039e-03 2.518414e-03 2.885908e-02 1.636514e-03 2.924987e-03 1.803646e-01 1.803646e-01 4.948398e-14 7.228910e+02 3.523415e+02 6.297497e+02 - 42 2.100000e-05 5.000000e-07 5.915321e-01 1.794184e-01 7.854777e-01 5.915557e+00 2.083837e-01 9.122853e-01 4.235578e+01 4.235578e+01 5.041884e-14 1.481788e+05 4.486502e+04 1.964150e+05 2.954026e-03 1.442635e-03 2.577804e-03 2.954144e-02 1.675534e-03 2.993965e-03 1.846292e-01 1.846292e-01 5.041884e-14 7.399836e+02 3.607425e+02 6.446007e+02 - 43 2.150000e-05 5.000000e-07 5.915230e-01 1.794121e-01 7.854722e-01 5.915466e+00 2.083765e-01 9.122790e-01 4.235528e+01 4.235528e+01 5.135318e-14 1.481765e+05 4.486345e+04 1.964137e+05 3.022164e-03 1.476195e-03 2.637105e-03 3.022285e-02 1.714513e-03 3.062840e-03 1.888879e-01 1.888879e-01 5.135318e-14 7.570521e+02 3.691346e+02 6.594294e+02 - 44 2.200000e-05 5.000000e-07 5.915139e-01 1.794059e-01 7.854668e-01 5.915375e+00 2.083692e-01 9.122727e-01 4.235478e+01 4.235478e+01 5.228345e-14 1.481742e+05 4.486189e+04 1.964123e+05 3.090207e-03 1.509721e-03 2.696316e-03 3.090330e-02 1.753450e-03 3.131610e-03 1.931406e-01 1.931406e-01 5.228345e-14 7.740968e+02 3.775178e+02 6.742356e+02 - 45 2.250000e-05 5.000000e-07 5.915048e-01 1.793997e-01 7.854614e-01 5.915284e+00 2.083620e-01 9.122664e-01 4.235429e+01 4.235429e+01 5.321192e-14 1.481720e+05 4.486033e+04 1.964110e+05 3.158155e-03 1.543211e-03 2.755439e-03 3.158281e-02 1.792347e-03 3.200277e-03 1.973875e-01 1.973875e-01 5.321192e-14 7.911178e+02 3.858922e+02 6.890197e+02 - 46 2.300000e-05 5.000000e-07 5.914957e-01 1.793934e-01 7.854560e-01 5.915193e+00 2.083547e-01 9.122601e-01 4.235379e+01 4.235379e+01 5.413517e-14 1.481697e+05 4.485877e+04 1.964096e+05 3.226008e-03 1.576665e-03 2.814473e-03 3.226137e-02 1.831202e-03 3.268841e-03 2.016284e-01 2.016284e-01 5.413517e-14 8.081151e+02 3.942579e+02 7.037816e+02 - 47 2.350000e-05 5.000000e-07 5.914866e-01 1.793872e-01 7.854506e-01 5.915103e+00 2.083475e-01 9.122538e-01 4.235330e+01 4.235330e+01 5.506122e-14 1.481674e+05 4.485722e+04 1.964083e+05 3.293768e-03 1.610085e-03 2.873418e-03 3.293900e-02 1.870017e-03 3.337304e-03 2.058634e-01 2.058634e-01 5.506122e-14 8.250889e+02 4.026148e+02 7.185215e+02 - 48 2.400000e-05 5.000000e-07 5.914775e-01 1.793810e-01 7.854452e-01 5.915012e+00 2.083403e-01 9.122476e-01 4.235280e+01 4.235280e+01 5.597345e-14 1.481651e+05 4.485566e+04 1.964069e+05 3.361434e-03 1.643470e-03 2.932277e-03 3.361569e-02 1.908792e-03 3.405664e-03 2.100926e-01 2.100926e-01 5.597345e-14 8.420393e+02 4.109629e+02 7.332395e+02 - 49 2.450000e-05 5.000000e-07 5.914685e-01 1.793748e-01 7.854397e-01 5.914921e+00 2.083331e-01 9.122413e-01 4.235231e+01 4.235231e+01 5.688087e-14 1.481629e+05 4.485411e+04 1.964055e+05 3.429007e-03 1.676820e-03 2.991048e-03 3.429145e-02 1.947526e-03 3.473923e-03 2.143160e-01 2.143160e-01 5.688087e-14 8.589664e+02 4.193023e+02 7.479357e+02 - 50 2.500000e-05 5.000000e-07 5.914594e-01 1.793686e-01 7.854343e-01 5.914831e+00 2.083258e-01 9.122350e-01 4.235181e+01 4.235181e+01 5.778645e-14 1.481606e+05 4.485256e+04 1.964042e+05 3.496488e-03 1.710135e-03 3.049732e-03 3.496628e-02 1.986219e-03 3.542082e-03 2.185336e-01 2.185336e-01 5.778645e-14 8.758703e+02 4.276330e+02 7.626102e+02 + 1 2.500000e-07 2.500000e-07 5.919176e-01 1.796832e-01 7.857075e-01 5.919413e+00 2.086913e-01 9.125523e-01 4.237681e+01 4.237681e+01 8.774318e-16 1.482754e+05 4.493124e+04 1.964725e+05 3.630026e-05 1.756805e-05 3.176591e-05 3.630172e-04 2.040424e-05 3.689420e-05 2.268799e-03 2.268799e-03 8.774318e-16 9.093217e+00 4.393032e+00 7.943322e+00 + 2 5.000000e-07 2.500000e-07 5.919128e-01 1.796800e-01 7.857047e-01 5.919365e+00 2.086875e-01 9.125490e-01 4.237655e+01 4.237655e+01 1.731356e-15 1.482742e+05 4.493043e+04 1.964718e+05 7.257141e-05 3.512628e-05 6.350397e-05 7.257431e-04 4.079707e-05 7.375606e-05 4.535777e-03 4.535777e-03 1.731356e-15 1.817914e+01 8.783610e+00 1.587968e+01 + 3 7.500000e-07 2.500000e-07 5.919081e-01 1.796767e-01 7.857019e-01 5.919318e+00 2.086838e-01 9.125457e-01 4.237629e+01 4.237629e+01 2.582202e-15 1.482730e+05 4.492961e+04 1.964711e+05 1.088135e-04 5.267471e-05 9.521425e-05 1.088179e-03 6.117852e-05 1.105857e-04 6.800940e-03 6.800940e-03 2.582202e-15 2.725778e+01 1.317174e+01 2.380909e+01 + 4 1.000000e-06 2.500000e-07 5.919034e-01 1.796735e-01 7.856991e-01 5.919271e+00 2.086800e-01 9.125425e-01 4.237603e+01 4.237603e+01 3.432790e-15 1.482718e+05 4.492880e+04 1.964704e+05 1.450266e-04 7.021334e-05 1.268968e-04 1.450324e-03 8.154860e-05 1.473831e-04 9.064292e-03 9.064292e-03 3.432790e-15 3.632917e+01 1.755741e+01 3.173158e+01 + 5 1.250000e-06 2.500000e-07 5.918986e-01 1.796702e-01 7.856962e-01 5.919223e+00 2.086762e-01 9.125392e-01 4.237578e+01 4.237578e+01 4.275269e-15 1.482706e+05 4.492798e+04 1.964697e+05 1.812108e-04 8.774220e-05 1.585518e-04 1.812181e-03 1.019073e-04 1.841484e-04 1.132584e-02 1.132584e-02 4.275269e-15 4.539331e+01 2.194065e+01 3.964715e+01 + 6 1.500000e-06 2.500000e-07 5.918939e-01 1.796670e-01 7.856934e-01 5.919176e+00 2.086724e-01 9.125359e-01 4.237552e+01 4.237552e+01 5.106825e-15 1.482694e+05 4.492717e+04 1.964690e+05 2.173662e-04 1.052613e-04 1.901792e-04 2.173749e-03 1.222547e-04 2.208817e-04 1.358558e-02 1.358558e-02 5.106825e-15 5.445023e+01 2.632144e+01 4.755584e+01 + 7 1.750000e-06 2.500000e-07 5.918892e-01 1.796637e-01 7.856906e-01 5.919129e+00 2.086686e-01 9.125326e-01 4.237526e+01 4.237526e+01 5.930402e-15 1.482683e+05 4.492636e+04 1.964683e+05 2.534928e-04 1.227706e-04 2.217791e-04 2.535029e-03 1.425907e-04 2.575831e-04 1.584352e-02 1.584352e-02 5.930402e-15 6.349995e+01 3.069979e+01 5.545765e+01 + 8 2.000000e-06 2.500000e-07 5.918845e-01 1.796605e-01 7.856878e-01 5.919082e+00 2.086649e-01 9.125294e-01 4.237500e+01 4.237500e+01 6.743516e-15 1.482671e+05 4.492555e+04 1.964676e+05 2.895907e-04 1.402702e-04 2.533516e-04 2.896022e-03 1.629155e-04 2.942527e-04 1.809967e-02 1.809967e-02 6.743516e-15 7.254247e+01 3.507570e+01 6.335260e+01 + 9 2.250000e-06 2.500000e-07 5.918798e-01 1.796572e-01 7.856850e-01 5.919034e+00 2.086611e-01 9.125261e-01 4.237475e+01 4.237475e+01 7.548897e-15 1.482659e+05 4.492474e+04 1.964669e+05 3.256599e-04 1.577601e-04 2.848967e-04 3.256729e-03 1.832289e-04 3.308905e-04 2.035403e-02 2.035403e-02 7.548897e-15 8.157782e+01 3.944918e+01 7.124072e+01 + 10 2.500000e-06 2.500000e-07 5.918750e-01 1.796540e-01 7.856822e-01 5.918987e+00 2.086573e-01 9.125228e-01 4.237449e+01 4.237449e+01 8.345683e-15 1.482647e+05 4.492392e+04 1.964662e+05 3.617006e-04 1.752402e-04 3.164146e-04 3.617151e-03 2.035311e-04 3.674966e-04 2.260661e-02 2.260661e-02 8.345683e-15 9.060601e+01 4.382024e+01 7.912202e+01 + 11 2.750000e-06 2.500000e-07 5.918703e-01 1.796507e-01 7.856794e-01 5.918940e+00 2.086536e-01 9.125196e-01 4.237423e+01 4.237423e+01 9.130510e-15 1.482635e+05 4.492311e+04 1.964655e+05 3.977128e-04 1.927107e-04 3.479053e-04 3.977287e-03 2.238219e-04 4.040711e-04 2.485740e-02 2.485740e-02 9.130510e-15 9.962706e+01 4.818886e+01 8.699652e+01 + 12 3.000000e-06 2.500000e-07 5.918656e-01 1.796475e-01 7.856765e-01 5.918893e+00 2.086498e-01 9.125163e-01 4.237397e+01 4.237397e+01 9.910119e-15 1.482623e+05 4.492230e+04 1.964648e+05 4.336966e-04 2.101714e-04 3.793688e-04 4.337139e-03 2.441015e-04 4.406142e-04 2.710642e-02 2.710642e-02 9.910119e-15 1.086410e+02 5.255506e+01 9.486423e+01 + 13 3.250000e-06 2.500000e-07 5.918609e-01 1.796442e-01 7.856737e-01 5.918846e+00 2.086460e-01 9.125130e-01 4.237372e+01 4.237372e+01 1.067923e-14 1.482612e+05 4.492149e+04 1.964641e+05 4.696520e-04 2.276225e-04 4.108053e-04 4.696708e-03 2.643699e-04 4.771258e-04 2.935366e-02 2.935366e-02 1.067923e-14 1.176478e+02 5.691884e+01 1.027252e+02 + 14 3.500000e-06 2.500000e-07 5.918562e-01 1.796410e-01 7.856709e-01 5.918799e+00 2.086423e-01 9.125098e-01 4.237346e+01 4.237346e+01 1.143846e-14 1.482600e+05 4.492068e+04 1.964634e+05 5.055791e-04 2.450639e-04 4.422148e-04 5.055993e-03 2.846270e-04 5.136060e-04 3.159914e-02 3.159914e-02 1.143846e-14 1.266476e+02 6.128020e+01 1.105794e+02 + 15 3.750000e-06 2.500000e-07 5.918515e-01 1.796378e-01 7.856681e-01 5.918752e+00 2.086385e-01 9.125065e-01 4.237320e+01 4.237320e+01 1.218920e-14 1.482588e+05 4.491988e+04 1.964627e+05 5.414780e-04 2.624956e-04 4.735973e-04 5.414996e-03 3.048730e-04 5.500550e-04 3.384285e-02 3.384285e-02 1.218920e-14 1.356402e+02 6.563915e+01 1.184268e+02 + 16 4.000000e-06 2.500000e-07 5.918468e-01 1.796345e-01 7.856653e-01 5.918705e+00 2.086348e-01 9.125033e-01 4.237295e+01 4.237295e+01 1.293377e-14 1.482576e+05 4.491907e+04 1.964620e+05 5.773487e-04 2.799177e-04 5.049531e-04 5.773718e-03 3.251077e-04 5.864728e-04 3.608480e-02 3.608480e-02 1.293377e-14 1.446259e+02 6.999568e+01 1.262676e+02 + 17 4.250000e-06 2.500000e-07 5.918421e-01 1.796313e-01 7.856625e-01 5.918658e+00 2.086310e-01 9.125000e-01 4.237269e+01 4.237269e+01 1.366614e-14 1.482565e+05 4.491826e+04 1.964613e+05 6.131913e-04 2.973302e-04 5.362820e-04 6.132159e-03 3.453312e-04 6.228595e-04 3.832500e-02 3.832500e-02 1.366614e-14 1.536044e+02 7.434981e+01 1.341016e+02 + 18 4.500000e-06 2.500000e-07 5.918374e-01 1.796281e-01 7.856597e-01 5.918611e+00 2.086273e-01 9.124968e-01 4.237243e+01 4.237243e+01 1.438992e-14 1.482553e+05 4.491745e+04 1.964606e+05 6.490060e-04 3.147330e-04 5.675842e-04 6.490319e-03 3.655436e-04 6.592151e-04 4.056345e-02 4.056345e-02 1.438992e-14 1.625760e+02 7.870153e+01 1.419290e+02 + 19 4.750000e-06 2.500000e-07 5.918327e-01 1.796248e-01 7.856569e-01 5.918564e+00 2.086235e-01 9.124935e-01 4.237218e+01 4.237218e+01 1.510003e-14 1.482541e+05 4.491664e+04 1.964599e+05 6.847926e-04 3.321262e-04 5.988598e-04 6.848200e-03 3.857448e-04 6.955399e-04 4.280014e-02 4.280014e-02 1.510003e-14 1.715406e+02 8.305085e+01 1.497497e+02 + 20 5.000000e-06 2.500000e-07 5.918280e-01 1.796216e-01 7.856541e-01 5.918517e+00 2.086198e-01 9.124903e-01 4.237192e+01 4.237192e+01 1.579922e-14 1.482529e+05 4.491584e+04 1.964592e+05 7.205514e-04 3.495099e-04 6.301088e-04 7.205802e-03 4.059348e-04 7.318337e-04 4.503510e-02 4.503510e-02 1.579922e-14 1.804981e+02 8.739776e+01 1.575638e+02 + 21 5.250000e-06 2.500000e-07 5.918233e-01 1.796184e-01 7.856513e-01 5.918470e+00 2.086160e-01 9.124870e-01 4.237167e+01 4.237167e+01 1.648936e-14 1.482517e+05 4.491503e+04 1.964585e+05 7.562823e-04 3.668839e-04 6.613314e-04 7.563126e-03 4.261137e-04 7.680968e-04 4.726832e-02 4.726832e-02 1.648936e-14 1.894487e+02 9.174228e+01 1.653712e+02 + 22 5.500000e-06 2.500000e-07 5.918186e-01 1.796152e-01 7.856485e-01 5.918423e+00 2.086123e-01 9.124838e-01 4.237141e+01 4.237141e+01 1.716945e-14 1.482506e+05 4.491422e+04 1.964578e+05 7.919855e-04 3.842484e-04 6.925275e-04 7.920172e-03 4.462815e-04 8.043292e-04 4.949980e-02 4.949980e-02 1.716945e-14 1.983924e+02 9.608441e+01 1.731721e+02 + 23 5.750000e-06 2.500000e-07 5.918139e-01 1.796120e-01 7.856457e-01 5.918376e+00 2.086085e-01 9.124805e-01 4.237115e+01 4.237115e+01 1.784045e-14 1.482494e+05 4.491342e+04 1.964571e+05 8.276610e-04 4.016033e-04 7.236972e-04 8.276941e-03 4.664382e-04 8.405310e-04 5.172955e-02 5.172955e-02 1.784045e-14 2.073291e+02 1.004241e+02 1.809663e+02 + 24 6.000000e-06 2.500000e-07 5.918092e-01 1.796087e-01 7.856429e-01 5.918329e+00 2.086048e-01 9.124773e-01 4.237090e+01 4.237090e+01 1.849987e-14 1.482482e+05 4.491261e+04 1.964564e+05 8.633089e-04 4.189487e-04 7.548406e-04 8.633435e-03 4.865838e-04 8.767022e-04 5.395757e-02 5.395757e-02 1.849987e-14 2.162589e+02 1.047615e+02 1.887540e+02 + 25 6.250000e-06 2.500000e-07 5.918046e-01 1.796055e-01 7.856401e-01 5.918282e+00 2.086011e-01 9.124740e-01 4.237064e+01 4.237064e+01 1.915189e-14 1.482471e+05 4.491181e+04 1.964557e+05 8.989293e-04 4.362845e-04 7.859578e-04 8.989652e-03 5.067183e-04 9.128430e-04 5.618387e-02 5.618387e-02 1.915189e-14 2.251818e+02 1.090965e+02 1.965351e+02 + 26 6.500000e-06 2.500000e-07 5.917999e-01 1.796023e-01 7.856374e-01 5.918236e+00 2.085973e-01 9.124708e-01 4.237039e+01 4.237039e+01 1.979815e-14 1.482459e+05 4.491100e+04 1.964550e+05 9.345221e-04 4.536108e-04 8.170488e-04 9.345595e-03 5.268418e-04 9.489533e-04 5.840846e-02 5.840846e-02 1.979815e-14 2.340978e+02 1.134290e+02 2.043097e+02 + 27 6.750000e-06 2.500000e-07 5.917952e-01 1.795991e-01 7.856346e-01 5.918189e+00 2.085936e-01 9.124676e-01 4.237013e+01 4.237013e+01 2.043207e-14 1.482447e+05 4.491020e+04 1.964543e+05 9.700875e-04 4.709276e-04 8.481138e-04 9.701263e-03 5.469542e-04 9.850334e-04 6.063133e-02 6.063133e-02 2.043207e-14 2.430069e+02 1.177592e+02 2.120777e+02 + 28 7.000000e-06 2.500000e-07 5.917905e-01 1.795959e-01 7.856318e-01 5.918142e+00 2.085899e-01 9.124643e-01 4.236988e+01 4.236988e+01 2.105475e-14 1.482435e+05 4.490940e+04 1.964536e+05 1.005626e-03 4.882348e-04 8.791527e-04 1.005666e-02 5.670556e-04 1.021083e-03 6.285249e-02 6.285249e-02 2.105475e-14 2.519092e+02 1.220871e+02 2.198392e+02 + 29 7.250000e-06 2.500000e-07 5.917859e-01 1.795927e-01 7.856290e-01 5.918095e+00 2.085861e-01 9.124611e-01 4.236962e+01 4.236962e+01 2.167625e-14 1.482424e+05 4.490859e+04 1.964529e+05 1.041136e-03 5.055326e-04 9.101657e-04 1.041178e-02 5.871459e-04 1.057103e-03 6.507194e-02 6.507194e-02 2.167625e-14 2.608047e+02 1.264125e+02 2.275943e+02 + 30 7.500000e-06 2.500000e-07 5.917812e-01 1.795894e-01 7.856262e-01 5.918049e+00 2.085824e-01 9.124578e-01 4.236937e+01 4.236937e+01 2.228953e-14 1.482412e+05 4.490779e+04 1.964522e+05 1.076620e-03 5.228209e-04 9.411527e-04 1.076663e-02 6.072252e-04 1.093093e-03 6.728969e-02 6.728969e-02 2.228953e-14 2.696933e+02 1.307356e+02 2.353428e+02 + 31 7.750000e-06 2.500000e-07 5.917765e-01 1.795862e-01 7.856234e-01 5.918002e+00 2.085787e-01 9.124546e-01 4.236911e+01 4.236911e+01 2.289530e-14 1.482400e+05 4.490699e+04 1.964515e+05 1.112076e-03 5.400998e-04 9.721140e-04 1.112121e-02 6.272936e-04 1.129052e-03 6.950574e-02 6.950574e-02 2.289530e-14 2.785751e+02 1.350563e+02 2.430850e+02 + 32 8.000000e-06 2.500000e-07 5.917718e-01 1.795830e-01 7.856206e-01 5.917955e+00 2.085749e-01 9.124514e-01 4.236886e+01 4.236886e+01 2.349499e-14 1.482389e+05 4.490618e+04 1.964508e+05 1.147505e-03 5.573692e-04 1.003050e-03 1.147551e-02 6.473509e-04 1.164982e-03 7.172010e-02 7.172010e-02 2.349499e-14 2.874501e+02 1.393747e+02 2.508206e+02 + 33 8.250000e-06 2.500000e-07 5.917672e-01 1.795798e-01 7.856179e-01 5.917908e+00 2.085712e-01 9.124482e-01 4.236860e+01 4.236860e+01 2.409134e-14 1.482377e+05 4.490538e+04 1.964501e+05 1.182908e-03 5.746291e-04 1.033959e-03 1.182955e-02 6.673973e-04 1.200882e-03 7.393277e-02 7.393277e-02 2.409134e-14 2.963184e+02 1.436906e+02 2.585499e+02 + 34 8.500000e-06 2.500000e-07 5.917625e-01 1.795766e-01 7.856151e-01 5.917862e+00 2.085675e-01 9.124449e-01 4.236835e+01 4.236835e+01 2.468055e-14 1.482365e+05 4.490458e+04 1.964494e+05 1.218283e-03 5.918796e-04 1.064844e-03 1.218332e-02 6.874328e-04 1.236752e-03 7.614376e-02 7.614376e-02 2.468055e-14 3.051799e+02 1.480043e+02 2.662727e+02 + 35 8.750000e-06 2.500000e-07 5.917579e-01 1.795734e-01 7.856123e-01 5.917815e+00 2.085638e-01 9.124417e-01 4.236809e+01 4.236809e+01 2.526183e-14 1.482354e+05 4.490378e+04 1.964487e+05 1.253631e-03 6.091207e-04 1.095702e-03 1.253681e-02 7.074573e-04 1.272593e-03 7.835306e-02 7.835306e-02 2.526183e-14 3.140346e+02 1.523156e+02 2.739892e+02 + 36 9.000000e-06 2.500000e-07 5.917532e-01 1.795702e-01 7.856095e-01 5.917769e+00 2.085601e-01 9.124385e-01 4.236784e+01 4.236784e+01 2.584120e-14 1.482342e+05 4.490298e+04 1.964480e+05 1.288953e-03 6.263524e-04 1.126535e-03 1.289004e-02 7.274709e-04 1.308403e-03 8.056068e-02 8.056068e-02 2.584120e-14 3.228827e+02 1.566245e+02 2.816992e+02 + 37 9.250000e-06 2.500000e-07 5.917485e-01 1.795670e-01 7.856067e-01 5.917722e+00 2.085563e-01 9.124352e-01 4.236759e+01 4.236759e+01 2.641439e-14 1.482330e+05 4.490218e+04 1.964473e+05 1.324247e-03 6.435747e-04 1.157343e-03 1.324300e-02 7.474735e-04 1.344185e-03 8.276664e-02 8.276664e-02 2.641439e-14 3.317240e+02 1.609310e+02 2.894030e+02 + 38 9.500000e-06 2.500000e-07 5.917439e-01 1.795638e-01 7.856040e-01 5.917676e+00 2.085526e-01 9.124320e-01 4.236733e+01 4.236733e+01 2.698766e-14 1.482319e+05 4.490138e+04 1.964466e+05 1.359515e-03 6.607876e-04 1.188125e-03 1.359570e-02 7.674653e-04 1.379937e-03 8.497092e-02 8.497092e-02 2.698766e-14 3.405586e+02 1.652353e+02 2.971003e+02 + 39 9.750000e-06 2.500000e-07 5.917392e-01 1.795606e-01 7.856012e-01 5.917629e+00 2.085489e-01 9.124288e-01 4.236708e+01 4.236708e+01 2.755496e-14 1.482307e+05 4.490058e+04 1.964459e+05 1.394757e-03 6.779911e-04 1.218882e-03 1.394813e-02 7.874461e-04 1.415659e-03 8.717353e-02 8.717353e-02 2.755496e-14 3.493866e+02 1.695372e+02 3.047914e+02 + 40 1.000000e-05 2.500000e-07 5.917346e-01 1.795574e-01 7.855984e-01 5.917583e+00 2.085452e-01 9.124256e-01 4.236682e+01 4.236682e+01 2.811805e-14 1.482295e+05 4.489978e+04 1.964452e+05 1.429972e-03 6.951853e-04 1.249614e-03 1.430029e-02 8.074161e-04 1.451352e-03 8.937448e-02 8.937448e-02 2.811805e-14 3.582079e+02 1.738367e+02 3.124761e+02 + 41 1.025000e-05 2.500000e-07 5.917299e-01 1.795542e-01 7.855957e-01 5.917536e+00 2.085415e-01 9.124224e-01 4.236657e+01 4.236657e+01 2.867896e-14 1.482284e+05 4.489898e+04 1.964445e+05 1.465160e-03 7.123701e-04 1.280321e-03 1.465218e-02 8.273753e-04 1.487016e-03 9.157378e-02 9.157378e-02 2.867896e-14 3.670225e+02 1.781339e+02 3.201546e+02 + 42 1.050000e-05 2.500000e-07 5.917253e-01 1.795510e-01 7.855929e-01 5.917490e+00 2.085378e-01 9.124192e-01 4.236632e+01 4.236632e+01 2.923710e-14 1.482272e+05 4.489819e+04 1.964438e+05 1.500322e-03 7.295456e-04 1.311003e-03 1.500382e-02 8.473236e-04 1.522651e-03 9.377142e-02 9.377142e-02 2.923710e-14 3.758306e+02 1.824288e+02 3.278268e+02 + 43 1.075000e-05 2.500000e-07 5.917206e-01 1.795478e-01 7.855901e-01 5.917443e+00 2.085341e-01 9.124159e-01 4.236606e+01 4.236606e+01 2.979030e-14 1.482260e+05 4.489739e+04 1.964432e+05 1.535457e-03 7.467118e-04 1.341659e-03 1.535518e-02 8.672610e-04 1.558257e-03 9.596741e-02 9.596741e-02 2.979030e-14 3.846320e+02 1.867213e+02 3.354927e+02 + 44 1.100000e-05 2.500000e-07 5.917160e-01 1.795447e-01 7.855874e-01 5.917397e+00 2.085304e-01 9.124127e-01 4.236581e+01 4.236581e+01 3.033847e-14 1.482249e+05 4.489659e+04 1.964425e+05 1.570566e-03 7.638686e-04 1.372291e-03 1.570629e-02 8.871877e-04 1.593834e-03 9.816176e-02 9.816176e-02 3.033847e-14 3.934268e+02 1.910115e+02 3.431524e+02 + 45 1.125000e-05 2.500000e-07 5.917114e-01 1.795415e-01 7.855846e-01 5.917350e+00 2.085267e-01 9.124095e-01 4.236556e+01 4.236556e+01 3.088440e-14 1.482237e+05 4.489579e+04 1.964418e+05 1.605649e-03 7.810161e-04 1.402897e-03 1.605713e-02 9.071035e-04 1.629381e-03 1.003545e-01 1.003545e-01 3.088440e-14 4.022150e+02 1.952994e+02 3.508058e+02 + 46 1.150000e-05 2.500000e-07 5.917067e-01 1.795383e-01 7.855818e-01 5.917304e+00 2.085230e-01 9.124063e-01 4.236531e+01 4.236531e+01 3.143050e-14 1.482225e+05 4.489500e+04 1.964411e+05 1.640705e-03 7.981544e-04 1.433479e-03 1.640771e-02 9.270086e-04 1.664900e-03 1.025455e-01 1.025455e-01 3.143050e-14 4.109967e+02 1.995849e+02 3.584531e+02 + 47 1.175000e-05 2.500000e-07 5.917021e-01 1.795351e-01 7.855791e-01 5.917258e+00 2.085193e-01 9.124031e-01 4.236505e+01 4.236505e+01 3.197292e-14 1.482214e+05 4.489420e+04 1.964404e+05 1.675736e-03 8.152834e-04 1.464036e-03 1.675803e-02 9.469028e-04 1.700391e-03 1.047350e-01 1.047350e-01 3.197292e-14 4.197718e+02 2.038682e+02 3.660941e+02 + 48 1.200000e-05 2.500000e-07 5.916975e-01 1.795319e-01 7.855763e-01 5.917211e+00 2.085156e-01 9.123999e-01 4.236480e+01 4.236480e+01 3.251267e-14 1.482202e+05 4.489341e+04 1.964397e+05 1.710740e-03 8.324030e-04 1.494569e-03 1.710808e-02 9.667864e-04 1.735852e-03 1.069228e-01 1.069228e-01 3.251267e-14 4.285404e+02 2.081491e+02 3.737290e+02 + 49 1.225000e-05 2.500000e-07 5.916928e-01 1.795287e-01 7.855735e-01 5.917165e+00 2.085119e-01 9.123967e-01 4.236455e+01 4.236455e+01 3.305400e-14 1.482191e+05 4.489261e+04 1.964390e+05 1.745718e-03 8.495135e-04 1.525077e-03 1.745788e-02 9.866591e-04 1.771285e-03 1.091089e-01 1.091089e-01 3.305400e-14 4.373024e+02 2.124277e+02 3.813577e+02 + 50 1.250000e-05 2.500000e-07 5.916882e-01 1.795256e-01 7.855708e-01 5.917119e+00 2.085082e-01 9.123935e-01 4.236429e+01 4.236429e+01 3.358909e-14 1.482179e+05 4.489182e+04 1.964383e+05 1.780670e-03 8.666147e-04 1.555560e-03 1.780742e-02 1.006521e-03 1.806690e-03 1.112935e-01 1.112935e-01 3.358909e-14 4.460580e+02 2.167040e+02 3.889803e+02 diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.q b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.q index cfd5ff398d6..dfc27d726a7 100644 --- a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.q +++ b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.q @@ -7,7 +7,7 @@ title "Material interface advection" inciter nstep 50 # Max number of time steps - dt 5e-7 + dt 2.5e-7 ttyi 1 # TTY output interval scheme dg diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.std.exo b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.std.exo index 1daafdf1037..c1312e81f03 100644 Binary files a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.std.exo and b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg.std.exo differ diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.0 b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.0 index 41bd296eb30..9a362ba2cb5 100644 Binary files a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.1 b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.1 index 3caa2a6bc9b..9b8f4c039d0 100644 Binary files a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.2 b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.2 index fe61a9129f1..e1bf7a1829e 100644 Binary files a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.3 b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.3 index 8f5c24e7b59..3a6fc0c5296 100644 Binary files a/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/multimat/InterfaceAdvection/interface_advection_dg_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/CMakeLists.txt b/tests/regression/inciter/multimat/SodShocktube/CMakeLists.txt index b5113f0233c..65510781593 100644 --- a/tests/regression/inciter/multimat/SodShocktube/CMakeLists.txt +++ b/tests/regression/inciter/multimat/SodShocktube/CMakeLists.txt @@ -13,7 +13,8 @@ add_regression_test(multimat_sod_shocktube_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) add_regression_test(multimat_sod_shocktube_p0p1 ${INCITER_EXECUTABLE} NUMPES 1 @@ -25,7 +26,8 @@ add_regression_test(multimat_sod_shocktube_p0p1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) # Parallel @@ -45,7 +47,8 @@ add_regression_test(multimat_sod_shocktube_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) add_regression_test(multimat_sod_shocktube_p0p1 ${INCITER_EXECUTABLE} NUMPES 4 @@ -63,7 +66,8 @@ add_regression_test(multimat_sod_shocktube_p0p1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) # Parallel + Virtualization @@ -153,4 +157,5 @@ add_regression_test(multimat_sod_shocktube_p0p1_u0.9 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF sod_shocktube_diag.ndiff.cfg + LABELS dg) diff --git a/tests/regression/inciter/multimat/SodShocktube/diag_dg.std b/tests/regression/inciter/multimat/SodShocktube/diag_dg.std index 4260090a8a0..db42a4454a0 100644 --- a/tests/regression/inciter/multimat/SodShocktube/diag_dg.std +++ b/tests/regression/inciter/multimat/SodShocktube/diag_dg.std @@ -1,101 +1,26 @@ # 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) - 1 2.000000e-04 2.000000e-04 7.071068e-01 7.070970e-01 7.070970e-01 8.838835e-02 1.258876e-03 7.601638e-04 7.601645e-04 1.767733e+00 1.767941e-01 6.885576e-05 6.885576e-05 9.442626e-05 6.591576e-06 1.258876e-03 7.601638e-04 7.601645e-04 2.554375e-04 1.106523e-04 - 2 4.000000e-04 2.000000e-04 7.071069e-01 7.070681e-01 7.070682e-01 8.838835e-02 2.501175e-03 1.503933e-03 1.503938e-03 1.767632e+00 1.768452e-01 2.720208e-04 2.720208e-04 3.728292e-04 2.615304e-05 2.501175e-03 1.503933e-03 1.503938e-03 1.009994e-03 4.322658e-04 - 3 6.000000e-04 2.000000e-04 7.071071e-01 7.070214e-01 7.070217e-01 8.838836e-02 3.724840e-03 2.228903e-03 2.228917e-03 1.767469e+00 1.769275e-01 6.016195e-04 6.016195e-04 8.238720e-04 5.814409e-05 3.724840e-03 2.228903e-03 2.228917e-03 2.236640e-03 9.400417e-04 - 4 8.000000e-04 2.000000e-04 7.071076e-01 7.069584e-01 7.069594e-01 8.838840e-02 4.928137e-03 2.932915e-03 2.932944e-03 1.767251e+00 1.770372e-01 1.046513e-03 1.046513e-03 1.431476e-03 1.017852e-04 4.928137e-03 2.932915e-03 2.932944e-03 3.896754e-03 1.599659e-03 - 5 1.000000e-03 2.000000e-04 7.071086e-01 7.068811e-01 7.068835e-01 8.838848e-02 6.109693e-03 3.614117e-03 3.614165e-03 1.766986e+00 1.771700e-01 1.593584e-03 1.593584e-03 2.176681e-03 1.561625e-04 6.109693e-03 3.614117e-03 3.614165e-03 5.943978e-03 2.372882e-03 - 6 1.200000e-03 2.000000e-04 7.071103e-01 7.067915e-01 7.067962e-01 8.838862e-02 7.268505e-03 4.270979e-03 4.271050e-03 1.766681e+00 1.773214e-01 2.229049e-03 2.229049e-03 3.039528e-03 2.203209e-04 7.268505e-03 4.270979e-03 4.271050e-03 8.328446e-03 3.222417e-03 - 7 1.400000e-03 2.000000e-04 7.071129e-01 7.066916e-01 7.066998e-01 8.838883e-02 8.403914e-03 4.902285e-03 4.902386e-03 1.766345e+00 1.774868e-01 2.939510e-03 2.939510e-03 4.000583e-03 2.933319e-04 8.403914e-03 4.902285e-03 4.902386e-03 1.100040e-02 4.115148e-03 - 8 1.600000e-03 2.000000e-04 7.071165e-01 7.065831e-01 7.065962e-01 8.838914e-02 9.515569e-03 5.507113e-03 5.507248e-03 1.765985e+00 1.776621e-01 3.712631e-03 3.712631e-03 5.041917e-03 3.743349e-04 9.515569e-03 5.507113e-03 5.507248e-03 1.391272e-02 5.023707e-03 - 9 1.800000e-03 2.000000e-04 7.071214e-01 7.064677e-01 7.064873e-01 8.838956e-02 1.060338e-02 6.084796e-03 6.084969e-03 1.765606e+00 1.778438e-01 4.537480e-03 4.537480e-03 6.147594e-03 4.625559e-04 1.060338e-02 6.084796e-03 6.084969e-03 1.702236e-02 5.926753e-03 - 10 2.000000e-03 2.000000e-04 7.071275e-01 7.063467e-01 7.063744e-01 8.839010e-02 1.166746e-02 6.634885e-03 6.635101e-03 1.765215e+00 1.780288e-01 5.404608e-03 5.404608e-03 7.303793e-03 5.573103e-04 1.166746e-02 6.634885e-03 6.635101e-03 2.029092e-02 6.808495e-03 - 11 2.200000e-03 2.000000e-04 7.071349e-01 7.062211e-01 7.062589e-01 8.839079e-02 1.270813e-02 7.157115e-03 7.157378e-03 1.764817e+00 1.782146e-01 6.305977e-03 6.305977e-03 8.498714e-03 6.579946e-04 1.270813e-02 7.157115e-03 7.157378e-03 2.368466e-02 7.657869e-03 - 12 2.400000e-03 2.000000e-04 7.071438e-01 7.060920e-01 7.061418e-01 8.839165e-02 1.372582e-02 7.651374e-03 7.651688e-03 1.764414e+00 1.783994e-01 7.234815e-03 7.234815e-03 9.722369e-03 7.640748e-04 1.372582e-02 7.651374e-03 7.651688e-03 2.717420e-02 8.467634e-03 - 13 2.600000e-03 2.000000e-04 7.071542e-01 7.059600e-01 7.060238e-01 8.839268e-02 1.472110e-02 8.117678e-03 8.118046e-03 1.764009e+00 1.785817e-01 8.185445e-03 8.185445e-03 1.096634e-02 8.750714e-04 1.472110e-02 8.117678e-03 8.118046e-03 3.073406e-02 9.233545e-03 - 14 2.800000e-03 2.000000e-04 7.071660e-01 7.058258e-01 7.059057e-01 8.839390e-02 1.569459e-02 8.556150e-03 8.556576e-03 1.763606e+00 1.787604e-01 9.153116e-03 9.153116e-03 1.222355e-02 9.905465e-04 1.569459e-02 8.556150e-03 8.556576e-03 3.434227e-02 9.953647e-03 - 15 3.000000e-03 2.000000e-04 7.071794e-01 7.056899e-01 7.057879e-01 8.839532e-02 1.664702e-02 8.967005e-03 8.967490e-03 1.763205e+00 1.789349e-01 1.013385e-02 1.013385e-02 1.348805e-02 1.110091e-03 1.664702e-02 8.967005e-03 8.967490e-03 3.797986e-02 1.062771e-02 - 16 3.200000e-03 2.000000e-04 7.071943e-01 7.055526e-01 7.056709e-01 8.839695e-02 1.757916e-02 9.350536e-03 9.351084e-03 1.762809e+00 1.791045e-01 1.112433e-02 1.112433e-02 1.475482e-02 1.233315e-03 1.757916e-02 9.350536e-03 9.351084e-03 4.163051e-02 1.125676e-02 - 17 3.400000e-03 2.000000e-04 7.072107e-01 7.054142e-01 7.055549e-01 8.839881e-02 1.849179e-02 9.707105e-03 9.707718e-03 1.762418e+00 1.792692e-01 1.212175e-02 1.212175e-02 1.601966e-02 1.359840e-03 1.849179e-02 9.707105e-03 9.707718e-03 4.528017e-02 1.184277e-02 - 18 3.600000e-03 2.000000e-04 7.072286e-01 7.052751e-01 7.054402e-01 8.840089e-02 1.938575e-02 1.003714e-02 1.003782e-02 1.762033e+00 1.794289e-01 1.312377e-02 1.312377e-02 1.727901e-02 1.489294e-03 1.938575e-02 1.003714e-02 1.003782e-02 4.891681e-02 1.238836e-02 - 19 3.800000e-03 2.000000e-04 7.072479e-01 7.051354e-01 7.053269e-01 8.840321e-02 2.026188e-02 1.034111e-02 1.034186e-02 1.761655e+00 1.795835e-01 1.412842e-02 1.412842e-02 1.852990e-02 1.621307e-03 2.026188e-02 1.034111e-02 1.034186e-02 5.253016e-02 1.289656e-02 - 20 4.000000e-03 2.000000e-04 7.072687e-01 7.049952e-01 7.052153e-01 8.840578e-02 2.112102e-02 1.061955e-02 1.062037e-02 1.761285e+00 1.797333e-01 1.513405e-02 1.513405e-02 1.976985e-02 1.755511e-03 2.112102e-02 1.061955e-02 1.062037e-02 5.611146e-02 1.337069e-02 - 21 4.200000e-03 2.000000e-04 7.072910e-01 7.048548e-01 7.051053e-01 8.840858e-02 2.196402e-02 1.087302e-02 1.087392e-02 1.760921e+00 1.798786e-01 1.613926e-02 1.613926e-02 2.099678e-02 1.891538e-03 2.196402e-02 1.087302e-02 1.087392e-02 5.965336e-02 1.381418e-02 - 22 4.400000e-03 2.000000e-04 7.073146e-01 7.047141e-01 7.049970e-01 8.841163e-02 2.279169e-02 1.110215e-02 1.110313e-02 1.760565e+00 1.800196e-01 1.714288e-02 1.714288e-02 2.220898e-02 2.029024e-03 2.279169e-02 1.110215e-02 1.110313e-02 6.314967e-02 1.423050e-02 - 23 4.600000e-03 2.000000e-04 7.073395e-01 7.045733e-01 7.048905e-01 8.841492e-02 2.360485e-02 1.130757e-02 1.130863e-02 1.760217e+00 1.801567e-01 1.814394e-02 1.814394e-02 2.340506e-02 2.167609e-03 2.360485e-02 1.130757e-02 1.130863e-02 6.659530e-02 1.462302e-02 - 24 4.800000e-03 2.000000e-04 7.073658e-01 7.044325e-01 7.047857e-01 8.841845e-02 2.440428e-02 1.148996e-02 1.149111e-02 1.759876e+00 1.802902e-01 1.914162e-02 1.914162e-02 2.458390e-02 2.306943e-03 2.440428e-02 1.148996e-02 1.149111e-02 6.998611e-02 1.499494e-02 - 25 5.000000e-03 2.000000e-04 7.073934e-01 7.042916e-01 7.046827e-01 8.842220e-02 2.519073e-02 1.165002e-02 1.165127e-02 1.759542e+00 1.804204e-01 2.013522e-02 2.013522e-02 2.574461e-02 2.446685e-03 2.519073e-02 1.165002e-02 1.165127e-02 7.331878e-02 1.534927e-02 - 26 5.200000e-03 2.000000e-04 7.074223e-01 7.041507e-01 7.045814e-01 8.842618e-02 2.596493e-02 1.178848e-02 1.178982e-02 1.759215e+00 1.805476e-01 2.112419e-02 2.112419e-02 2.688653e-02 2.586510e-03 2.596493e-02 1.178848e-02 1.178982e-02 7.659074e-02 1.568875e-02 - 27 5.400000e-03 2.000000e-04 7.074523e-01 7.040098e-01 7.044817e-01 8.843038e-02 2.672754e-02 1.190606e-02 1.190750e-02 1.758894e+00 1.806722e-01 2.210806e-02 2.210806e-02 2.800915e-02 2.726112e-03 2.672754e-02 1.190606e-02 1.190750e-02 7.980010e-02 1.601579e-02 - 28 5.600000e-03 2.000000e-04 7.074836e-01 7.038690e-01 7.043837e-01 8.843477e-02 2.747920e-02 1.200354e-02 1.200507e-02 1.758581e+00 1.807944e-01 2.308645e-02 2.308645e-02 2.911214e-02 2.865206e-03 2.747920e-02 1.200354e-02 1.200507e-02 8.294551e-02 1.633254e-02 - 29 5.800000e-03 2.000000e-04 7.075160e-01 7.037283e-01 7.042873e-01 8.843936e-02 2.822052e-02 1.208165e-02 1.208329e-02 1.758273e+00 1.809144e-01 2.405905e-02 2.405905e-02 3.019529e-02 3.003532e-03 2.822052e-02 1.208165e-02 1.208329e-02 8.602613e-02 1.664077e-02 - 30 6.000000e-03 2.000000e-04 7.075495e-01 7.035877e-01 7.041923e-01 8.844413e-02 2.895202e-02 1.214117e-02 1.214291e-02 1.757972e+00 1.810326e-01 2.502561e-02 2.502561e-02 3.125852e-02 3.140858e-03 2.895202e-02 1.214117e-02 1.214291e-02 8.904156e-02 1.694197e-02 - 31 6.200000e-03 2.000000e-04 7.075841e-01 7.034472e-01 7.040989e-01 8.844907e-02 2.967422e-02 1.218285e-02 1.218470e-02 1.757676e+00 1.811490e-01 2.598594e-02 2.598594e-02 3.230182e-02 3.276980e-03 2.967422e-02 1.218285e-02 1.218470e-02 9.199173e-02 1.723732e-02 - 32 6.400000e-03 2.000000e-04 7.076198e-01 7.033068e-01 7.040069e-01 8.845417e-02 3.038758e-02 1.220746e-02 1.220943e-02 1.757386e+00 1.812638e-01 2.693988e-02 2.693988e-02 3.332528e-02 3.411726e-03 3.038758e-02 1.220746e-02 1.220943e-02 9.487693e-02 1.752773e-02 - 33 6.600000e-03 2.000000e-04 7.076565e-01 7.031665e-01 7.039163e-01 8.845940e-02 3.109250e-02 1.221576e-02 1.221784e-02 1.757101e+00 1.813772e-01 2.788733e-02 2.788733e-02 3.432906e-02 3.544953e-03 3.109250e-02 1.221576e-02 1.221784e-02 9.769767e-02 1.781386e-02 - 34 6.800000e-03 2.000000e-04 7.076942e-01 7.030263e-01 7.038270e-01 8.846478e-02 3.178937e-02 1.220850e-02 1.221069e-02 1.756821e+00 1.814893e-01 2.882821e-02 2.882821e-02 3.531336e-02 3.676549e-03 3.178937e-02 1.220850e-02 1.221069e-02 1.004547e-01 1.809616e-02 - 35 7.000000e-03 2.000000e-04 7.077329e-01 7.028863e-01 7.037389e-01 8.847027e-02 3.247850e-02 1.218642e-02 1.218872e-02 1.756546e+00 1.816001e-01 2.976246e-02 2.976246e-02 3.627845e-02 3.806432e-03 3.247850e-02 1.218642e-02 1.218872e-02 1.031489e-01 1.837491e-02 - 36 7.200000e-03 2.000000e-04 7.077725e-01 7.027464e-01 7.036520e-01 8.847587e-02 3.316021e-02 1.215025e-02 1.215266e-02 1.756274e+00 1.817097e-01 3.069005e-02 3.069005e-02 3.722460e-02 3.934549e-03 3.316021e-02 1.215025e-02 1.215266e-02 1.057813e-01 1.865026e-02 - 37 7.400000e-03 2.000000e-04 7.078130e-01 7.026067e-01 7.035663e-01 8.848158e-02 3.383474e-02 1.210072e-02 1.210324e-02 1.756007e+00 1.818182e-01 3.161099e-02 3.161099e-02 3.815213e-02 4.060876e-03 3.383474e-02 1.210072e-02 1.210324e-02 1.083531e-01 1.892225e-02 - 38 7.600000e-03 2.000000e-04 7.078544e-01 7.024670e-01 7.034817e-01 8.848738e-02 3.450233e-02 1.203853e-02 1.204117e-02 1.755744e+00 1.819256e-01 3.252528e-02 3.252528e-02 3.906137e-02 4.185413e-03 3.450233e-02 1.203853e-02 1.204117e-02 1.108655e-01 1.919085e-02 - 39 7.800000e-03 2.000000e-04 7.078967e-01 7.023275e-01 7.033982e-01 8.849328e-02 3.516319e-02 1.196439e-02 1.196715e-02 1.755485e+00 1.820320e-01 3.343294e-02 3.343294e-02 3.995266e-02 4.308181e-03 3.516319e-02 1.196439e-02 1.196715e-02 1.133198e-01 1.945601e-02 - 40 8.000000e-03 2.000000e-04 7.079399e-01 7.021882e-01 7.033156e-01 8.849925e-02 3.581747e-02 1.187898e-02 1.188185e-02 1.755229e+00 1.821373e-01 3.433402e-02 3.433402e-02 4.082637e-02 4.429224e-03 3.581747e-02 1.187898e-02 1.188185e-02 1.157173e-01 1.971764e-02 - 41 8.200000e-03 2.000000e-04 7.079838e-01 7.020489e-01 7.032340e-01 8.850531e-02 3.646535e-02 1.178299e-02 1.178597e-02 1.754977e+00 1.822416e-01 3.522856e-02 3.522856e-02 4.168286e-02 4.548605e-03 3.646535e-02 1.178299e-02 1.178597e-02 1.180593e-01 1.997564e-02 - 42 8.400000e-03 2.000000e-04 7.080286e-01 7.019098e-01 7.031533e-01 8.851144e-02 3.710696e-02 1.167706e-02 1.168015e-02 1.754727e+00 1.823449e-01 3.611661e-02 3.611661e-02 4.252248e-02 4.666401e-03 3.710696e-02 1.167706e-02 1.168015e-02 1.203472e-01 2.022996e-02 - 43 8.600000e-03 2.000000e-04 7.080741e-01 7.017708e-01 7.030735e-01 8.851765e-02 3.774240e-02 1.156185e-02 1.156505e-02 1.754481e+00 1.824473e-01 3.699826e-02 3.699826e-02 4.334561e-02 4.782702e-03 3.774240e-02 1.156185e-02 1.156505e-02 1.225824e-01 2.048055e-02 - 44 8.800000e-03 2.000000e-04 7.081204e-01 7.016319e-01 7.029945e-01 8.852393e-02 3.837179e-02 1.143799e-02 1.144130e-02 1.754237e+00 1.825487e-01 3.787356e-02 3.787356e-02 4.415259e-02 4.897611e-03 3.837179e-02 1.143799e-02 1.144130e-02 1.247661e-01 2.072739e-02 - 45 9.000000e-03 2.000000e-04 7.081674e-01 7.014931e-01 7.029163e-01 8.853029e-02 3.899522e-02 1.130612e-02 1.130953e-02 1.753995e+00 1.826492e-01 3.874260e-02 3.874260e-02 4.494379e-02 5.011236e-03 3.899522e-02 1.130612e-02 1.130953e-02 1.268996e-01 2.097050e-02 - 46 9.200000e-03 2.000000e-04 7.082151e-01 7.013544e-01 7.028388e-01 8.853673e-02 3.961277e-02 1.116683e-02 1.117035e-02 1.753756e+00 1.827488e-01 3.960548e-02 3.960548e-02 4.571956e-02 5.123697e-03 3.961277e-02 1.116683e-02 1.117035e-02 1.289844e-01 2.120996e-02 - 47 9.400000e-03 2.000000e-04 7.082635e-01 7.012158e-01 7.027620e-01 8.854324e-02 4.022452e-02 1.102073e-02 1.102434e-02 1.753520e+00 1.828476e-01 4.046226e-02 4.046226e-02 4.648024e-02 5.235115e-03 4.022452e-02 1.102073e-02 1.102434e-02 1.310215e-01 2.144584e-02 - 48 9.600000e-03 2.000000e-04 7.083126e-01 7.010772e-01 7.026858e-01 8.854985e-02 4.083053e-02 1.086839e-02 1.087210e-02 1.753285e+00 1.829456e-01 4.131306e-02 4.131306e-02 4.722617e-02 5.345617e-03 4.083053e-02 1.086839e-02 1.087210e-02 1.330123e-01 2.167829e-02 - 49 9.800000e-03 2.000000e-04 7.083624e-01 7.009388e-01 7.026103e-01 8.855654e-02 4.143088e-02 1.071039e-02 1.071419e-02 1.753052e+00 1.830428e-01 4.215797e-02 4.215797e-02 4.795768e-02 5.455332e-03 4.143088e-02 1.071039e-02 1.071419e-02 1.349581e-01 2.190745e-02 - 50 1.000000e-02 2.000000e-04 7.084129e-01 7.008004e-01 7.025354e-01 8.856332e-02 4.202563e-02 1.054728e-02 1.055116e-02 1.752821e+00 1.831392e-01 4.299710e-02 4.299710e-02 4.867511e-02 5.564391e-03 4.202563e-02 1.054728e-02 1.055116e-02 1.368598e-01 2.213354e-02 - 51 1.020000e-02 2.000000e-04 7.084639e-01 7.006620e-01 7.024610e-01 8.857021e-02 4.261485e-02 1.037959e-02 1.038355e-02 1.752592e+00 1.832350e-01 4.383053e-02 4.383053e-02 4.937876e-02 5.672924e-03 4.261485e-02 1.037959e-02 1.038355e-02 1.387189e-01 2.235678e-02 - 52 1.040000e-02 2.000000e-04 7.085156e-01 7.005238e-01 7.023872e-01 8.857720e-02 4.319859e-02 1.020784e-02 1.021188e-02 1.752364e+00 1.833302e-01 4.465838e-02 4.465838e-02 5.006895e-02 5.781060e-03 4.319859e-02 1.020784e-02 1.021188e-02 1.405362e-01 2.257745e-02 - 53 1.060000e-02 2.000000e-04 7.085679e-01 7.003855e-01 7.023138e-01 8.858431e-02 4.377693e-02 1.003255e-02 1.003666e-02 1.752138e+00 1.834248e-01 4.548076e-02 4.548076e-02 5.074599e-02 5.888930e-03 4.377693e-02 1.003255e-02 1.003666e-02 1.423130e-01 2.279583e-02 - 54 1.080000e-02 2.000000e-04 7.086208e-01 7.002473e-01 7.022409e-01 8.859153e-02 4.434992e-02 9.854208e-03 9.858383e-03 1.751913e+00 1.835189e-01 4.629777e-02 4.629777e-02 5.141017e-02 5.996659e-03 4.434992e-02 9.854208e-03 9.858383e-03 1.440503e-01 2.301227e-02 - 55 1.100000e-02 2.000000e-04 7.086743e-01 7.001091e-01 7.021685e-01 8.859889e-02 4.491765e-02 9.673282e-03 9.677518e-03 1.751689e+00 1.836125e-01 4.710952e-02 4.710952e-02 5.206179e-02 6.104372e-03 4.491765e-02 9.673282e-03 9.677518e-03 1.457492e-01 2.322711e-02 - 56 1.120000e-02 2.000000e-04 7.087284e-01 6.999709e-01 7.020964e-01 8.860638e-02 4.548017e-02 9.490233e-03 9.494524e-03 1.751466e+00 1.837058e-01 4.791612e-02 4.791612e-02 5.270113e-02 6.212186e-03 4.548017e-02 9.490233e-03 9.494524e-03 1.474106e-01 2.344075e-02 - 57 1.140000e-02 2.000000e-04 7.087831e-01 6.998328e-01 7.020247e-01 8.861402e-02 4.603757e-02 9.305501e-03 9.309842e-03 1.751245e+00 1.837988e-01 4.871768e-02 4.871768e-02 5.332847e-02 6.320216e-03 4.603757e-02 9.305501e-03 9.309842e-03 1.490356e-01 2.365361e-02 - 58 1.160000e-02 2.000000e-04 7.088383e-01 6.996946e-01 7.019534e-01 8.862182e-02 4.658992e-02 9.119509e-03 9.123895e-03 1.751024e+00 1.838916e-01 4.951430e-02 4.951430e-02 5.394409e-02 6.428570e-03 4.658992e-02 9.119509e-03 9.123895e-03 1.506251e-01 2.386612e-02 - 59 1.180000e-02 2.000000e-04 7.088940e-01 6.995564e-01 7.018824e-01 8.862977e-02 4.713732e-02 8.932664e-03 8.937088e-03 1.750804e+00 1.839842e-01 5.030609e-02 5.030609e-02 5.454826e-02 6.537350e-03 4.713732e-02 8.932664e-03 8.937088e-03 1.521801e-01 2.407875e-02 - 60 1.200000e-02 2.000000e-04 7.089503e-01 6.994183e-01 7.018117e-01 8.863790e-02 4.767983e-02 8.745354e-03 8.749810e-03 1.750585e+00 1.840768e-01 5.109315e-02 5.109315e-02 5.514124e-02 6.646648e-03 4.767983e-02 8.745354e-03 8.749810e-03 1.537015e-01 2.429200e-02 - 61 1.220000e-02 2.000000e-04 7.090071e-01 6.992801e-01 7.017413e-01 8.864621e-02 4.821756e-02 8.557950e-03 8.562433e-03 1.750366e+00 1.841695e-01 5.187561e-02 5.187561e-02 5.572330e-02 6.756549e-03 4.821756e-02 8.557950e-03 8.562433e-03 1.551901e-01 2.450635e-02 - 62 1.240000e-02 2.000000e-04 7.090645e-01 6.991418e-01 7.016711e-01 8.865471e-02 4.875059e-02 8.370806e-03 8.375311e-03 1.750148e+00 1.842623e-01 5.265354e-02 5.265354e-02 5.629468e-02 6.867124e-03 4.875059e-02 8.370806e-03 8.375311e-03 1.566469e-01 2.472232e-02 - 63 1.260000e-02 2.000000e-04 7.091223e-01 6.990036e-01 7.016011e-01 8.866340e-02 4.927902e-02 8.184260e-03 8.188780e-03 1.749930e+00 1.843553e-01 5.342707e-02 5.342707e-02 5.685565e-02 6.978439e-03 4.927902e-02 8.184260e-03 8.188780e-03 1.580728e-01 2.494042e-02 - 64 1.280000e-02 2.000000e-04 7.091807e-01 6.988653e-01 7.015314e-01 8.867229e-02 4.980294e-02 7.998632e-03 8.003162e-03 1.749713e+00 1.844487e-01 5.419628e-02 5.419628e-02 5.740644e-02 7.090543e-03 4.980294e-02 7.998632e-03 8.003162e-03 1.594686e-01 2.516114e-02 - 65 1.300000e-02 2.000000e-04 7.092396e-01 6.987270e-01 7.014619e-01 8.868139e-02 5.032246e-02 7.814227e-03 7.818761e-03 1.749497e+00 1.845425e-01 5.496129e-02 5.496129e-02 5.794731e-02 7.203477e-03 5.032246e-02 7.814227e-03 7.818761e-03 1.608351e-01 2.538498e-02 - 66 1.320000e-02 2.000000e-04 7.092989e-01 6.985886e-01 7.013926e-01 8.869071e-02 5.083767e-02 7.631332e-03 7.635865e-03 1.749281e+00 1.846369e-01 5.572218e-02 5.572218e-02 5.847849e-02 7.317268e-03 5.083767e-02 7.631332e-03 7.635865e-03 1.621732e-01 2.561241e-02 - 67 1.340000e-02 2.000000e-04 7.093588e-01 6.984501e-01 7.013234e-01 8.870024e-02 5.134867e-02 7.450221e-03 7.454747e-03 1.749065e+00 1.847319e-01 5.647905e-02 5.647905e-02 5.900022e-02 7.431931e-03 5.134867e-02 7.450221e-03 7.454747e-03 1.634836e-01 2.584387e-02 - 68 1.360000e-02 2.000000e-04 7.094191e-01 6.983116e-01 7.012544e-01 8.871000e-02 5.185557e-02 7.271152e-03 7.275666e-03 1.748849e+00 1.848275e-01 5.723199e-02 5.723199e-02 5.951274e-02 7.547468e-03 5.185557e-02 7.271152e-03 7.275666e-03 1.647672e-01 2.607977e-02 - 69 1.380000e-02 2.000000e-04 7.094800e-01 6.981731e-01 7.011855e-01 8.871998e-02 5.235847e-02 7.094368e-03 7.098864e-03 1.748633e+00 1.849240e-01 5.798111e-02 5.798111e-02 6.001628e-02 7.663872e-03 5.235847e-02 7.094368e-03 7.098864e-03 1.660248e-01 2.632047e-02 - 70 1.400000e-02 2.000000e-04 7.095413e-01 6.980345e-01 7.011167e-01 8.873018e-02 5.285745e-02 6.920102e-03 6.924574e-03 1.748418e+00 1.850214e-01 5.872647e-02 5.872647e-02 6.051107e-02 7.781122e-03 5.285745e-02 6.920102e-03 6.924574e-03 1.672571e-01 2.656628e-02 - 71 1.420000e-02 2.000000e-04 7.096031e-01 6.978958e-01 7.010480e-01 8.874062e-02 5.335263e-02 6.748569e-03 6.753013e-03 1.748203e+00 1.851197e-01 5.946819e-02 5.946819e-02 6.099733e-02 7.899188e-03 5.335263e-02 6.748569e-03 6.753013e-03 1.684650e-01 2.681748e-02 - 72 1.440000e-02 2.000000e-04 7.096653e-01 6.977570e-01 7.009794e-01 8.875127e-02 5.384410e-02 6.579977e-03 6.584387e-03 1.747988e+00 1.852190e-01 6.020633e-02 6.020633e-02 6.147530e-02 8.018031e-03 5.384410e-02 6.579977e-03 6.584387e-03 1.696491e-01 2.707428e-02 - 73 1.460000e-02 2.000000e-04 7.097280e-01 6.976182e-01 7.009109e-01 8.876216e-02 5.433194e-02 6.414520e-03 6.418890e-03 1.747772e+00 1.853194e-01 6.094098e-02 6.094098e-02 6.194518e-02 8.137604e-03 5.433194e-02 6.414520e-03 6.418890e-03 1.708102e-01 2.733684e-02 - 74 1.480000e-02 2.000000e-04 7.097912e-01 6.974792e-01 7.008425e-01 8.877326e-02 5.481625e-02 6.252382e-03 6.256708e-03 1.747557e+00 1.854209e-01 6.167222e-02 6.167222e-02 6.240722e-02 8.257851e-03 5.481625e-02 6.252382e-03 6.256708e-03 1.719491e-01 2.760527e-02 - 75 1.500000e-02 2.000000e-04 7.098548e-01 6.973402e-01 7.007741e-01 8.878458e-02 5.529712e-02 6.093738e-03 6.098014e-03 1.747342e+00 1.855235e-01 6.240014e-02 6.240014e-02 6.286161e-02 8.378714e-03 5.529712e-02 6.093738e-03 6.098014e-03 1.730664e-01 2.787961e-02 - 76 1.520000e-02 2.000000e-04 7.099188e-01 6.972011e-01 7.007058e-01 8.879612e-02 5.577463e-02 5.938753e-03 5.942973e-03 1.747127e+00 1.856274e-01 6.312480e-02 6.312480e-02 6.330858e-02 8.500126e-03 5.577463e-02 5.938753e-03 5.942973e-03 1.741630e-01 2.815988e-02 - 77 1.540000e-02 2.000000e-04 7.099834e-01 6.970620e-01 7.006375e-01 8.880788e-02 5.624885e-02 5.787583e-03 5.791743e-03 1.746912e+00 1.857324e-01 6.384629e-02 6.384629e-02 6.374835e-02 8.622021e-03 5.624885e-02 5.787583e-03 5.791743e-03 1.752395e-01 2.844601e-02 - 78 1.560000e-02 2.000000e-04 7.100483e-01 6.969227e-01 7.005693e-01 8.881983e-02 5.671987e-02 5.640377e-03 5.644473e-03 1.746697e+00 1.858388e-01 6.456467e-02 6.456467e-02 6.418112e-02 8.744327e-03 5.671987e-02 5.640377e-03 5.644473e-03 1.762966e-01 2.873791e-02 - 79 1.580000e-02 2.000000e-04 7.101137e-01 6.967833e-01 7.005011e-01 8.883199e-02 5.718776e-02 5.497276e-03 5.501302e-03 1.746482e+00 1.859463e-01 6.528001e-02 6.528001e-02 6.460710e-02 8.866974e-03 5.718776e-02 5.497276e-03 5.501302e-03 1.773351e-01 2.903545e-02 - 80 1.600000e-02 2.000000e-04 7.101796e-01 6.966439e-01 7.004329e-01 8.884435e-02 5.765258e-02 5.358412e-03 5.362364e-03 1.746266e+00 1.860552e-01 6.599239e-02 6.599239e-02 6.502651e-02 8.989890e-03 5.765258e-02 5.358412e-03 5.362364e-03 1.783555e-01 2.933846e-02 - 81 1.620000e-02 2.000000e-04 7.102458e-01 6.965043e-01 7.003647e-01 8.885689e-02 5.811440e-02 5.223912e-03 5.227784e-03 1.746051e+00 1.861652e-01 6.670187e-02 6.670187e-02 6.543954e-02 9.113005e-03 5.811440e-02 5.223912e-03 5.227784e-03 1.793587e-01 2.964672e-02 - 82 1.640000e-02 2.000000e-04 7.103126e-01 6.963647e-01 7.002965e-01 8.886961e-02 5.857328e-02 5.093893e-03 5.097682e-03 1.745835e+00 1.862766e-01 6.740852e-02 6.740852e-02 6.584640e-02 9.236250e-03 5.857328e-02 5.093893e-03 5.097682e-03 1.803451e-01 2.996000e-02 - 83 1.660000e-02 2.000000e-04 7.103797e-01 6.962249e-01 7.002283e-01 8.888251e-02 5.902928e-02 4.968466e-03 4.972165e-03 1.745620e+00 1.863892e-01 6.811239e-02 6.811239e-02 6.624728e-02 9.359559e-03 5.902928e-02 4.968466e-03 4.972165e-03 1.813156e-01 3.027806e-02 - 84 1.680000e-02 2.000000e-04 7.104473e-01 6.960851e-01 7.001602e-01 8.889558e-02 5.948244e-02 4.847731e-03 4.851337e-03 1.745404e+00 1.865030e-01 6.881355e-02 6.881355e-02 6.664239e-02 9.482869e-03 5.948244e-02 4.847731e-03 4.851337e-03 1.822707e-01 3.060060e-02 - 85 1.700000e-02 2.000000e-04 7.105153e-01 6.959451e-01 7.000920e-01 8.890881e-02 5.993282e-02 4.731780e-03 4.735290e-03 1.745188e+00 1.866180e-01 6.951205e-02 6.951205e-02 6.703192e-02 9.606118e-03 5.993282e-02 4.731780e-03 4.735290e-03 1.832111e-01 3.092734e-02 - 86 1.720000e-02 2.000000e-04 7.105837e-01 6.958050e-01 7.000238e-01 8.892220e-02 6.038047e-02 4.620697e-03 4.624105e-03 1.744972e+00 1.867341e-01 7.020796e-02 7.020796e-02 6.741607e-02 9.729252e-03 6.038047e-02 4.620697e-03 4.624105e-03 1.841374e-01 3.125797e-02 - 87 1.740000e-02 2.000000e-04 7.106525e-01 6.956649e-01 6.999556e-01 8.893574e-02 6.082542e-02 4.514550e-03 4.517854e-03 1.744756e+00 1.868514e-01 7.090132e-02 7.090132e-02 6.779501e-02 9.852217e-03 6.082542e-02 4.514550e-03 4.517854e-03 1.850502e-01 3.159219e-02 - 88 1.760000e-02 2.000000e-04 7.107218e-01 6.955246e-01 6.998874e-01 8.894942e-02 6.126773e-02 4.413398e-03 4.416594e-03 1.744540e+00 1.869699e-01 7.159220e-02 7.159220e-02 6.816893e-02 9.974967e-03 6.126773e-02 4.413398e-03 4.416594e-03 1.859500e-01 3.192969e-02 - 89 1.780000e-02 2.000000e-04 7.107915e-01 6.953843e-01 6.998192e-01 8.896324e-02 6.170742e-02 4.317287e-03 4.320372e-03 1.744324e+00 1.870894e-01 7.228063e-02 7.228063e-02 6.853802e-02 1.009746e-02 6.170742e-02 4.317287e-03 4.320372e-03 1.868375e-01 3.227016e-02 - 90 1.800000e-02 2.000000e-04 7.108616e-01 6.952438e-01 6.997509e-01 8.897719e-02 6.214454e-02 4.226243e-03 4.229215e-03 1.744107e+00 1.872099e-01 7.296668e-02 7.296668e-02 6.890246e-02 1.021965e-02 6.214454e-02 4.226243e-03 4.229215e-03 1.877132e-01 3.261329e-02 - 91 1.820000e-02 2.000000e-04 7.109321e-01 6.951032e-01 6.996826e-01 8.899127e-02 6.257912e-02 4.140280e-03 4.143137e-03 1.743891e+00 1.873315e-01 7.365038e-02 7.365038e-02 6.926241e-02 1.034151e-02 6.257912e-02 4.140280e-03 4.143137e-03 1.885777e-01 3.295877e-02 - 92 1.840000e-02 2.000000e-04 7.110030e-01 6.949625e-01 6.996143e-01 8.900547e-02 6.301120e-02 4.059391e-03 4.062132e-03 1.743674e+00 1.874540e-01 7.433179e-02 7.433179e-02 6.961806e-02 1.046301e-02 6.301120e-02 4.059391e-03 4.062132e-03 1.894316e-01 3.330633e-02 - 93 1.860000e-02 2.000000e-04 7.110743e-01 6.948217e-01 6.995460e-01 8.901979e-02 6.344081e-02 3.983552e-03 3.986175e-03 1.743457e+00 1.875775e-01 7.501095e-02 7.501095e-02 6.996957e-02 1.058413e-02 6.344081e-02 3.983552e-03 3.986175e-03 1.902752e-01 3.365569e-02 - 94 1.880000e-02 2.000000e-04 7.111460e-01 6.946808e-01 6.994777e-01 8.903423e-02 6.386798e-02 3.912714e-03 3.915220e-03 1.743240e+00 1.877019e-01 7.568790e-02 7.568790e-02 7.031710e-02 1.070485e-02 6.386798e-02 3.912714e-03 3.915220e-03 1.911092e-01 3.400658e-02 - 95 1.900000e-02 2.000000e-04 7.112182e-01 6.945397e-01 6.994093e-01 8.904877e-02 6.429274e-02 3.846812e-03 3.849201e-03 1.743023e+00 1.878271e-01 7.636268e-02 7.636268e-02 7.066082e-02 1.082514e-02 6.429274e-02 3.846812e-03 3.849201e-03 1.919341e-01 3.435877e-02 - 96 1.920000e-02 2.000000e-04 7.112907e-01 6.943986e-01 6.993410e-01 8.906342e-02 6.471513e-02 3.785756e-03 3.788028e-03 1.742806e+00 1.879532e-01 7.703534e-02 7.703534e-02 7.100089e-02 1.094501e-02 6.471513e-02 3.785756e-03 3.788028e-03 1.927502e-01 3.471204e-02 - 97 1.940000e-02 2.000000e-04 7.113636e-01 6.942573e-01 6.992725e-01 8.907818e-02 6.513517e-02 3.729433e-03 3.731591e-03 1.742589e+00 1.880800e-01 7.770591e-02 7.770591e-02 7.133745e-02 1.106444e-02 6.513517e-02 3.729433e-03 3.731591e-03 1.935582e-01 3.506618e-02 - 98 1.960000e-02 2.000000e-04 7.114370e-01 6.941160e-01 6.992041e-01 8.909303e-02 6.555290e-02 3.677711e-03 3.679757e-03 1.742372e+00 1.882077e-01 7.837444e-02 7.837444e-02 7.167065e-02 1.118344e-02 6.555290e-02 3.677711e-03 3.679757e-03 1.943583e-01 3.542102e-02 - 99 1.980000e-02 2.000000e-04 7.115107e-01 6.939745e-01 6.991357e-01 8.910799e-02 6.596835e-02 3.630434e-03 3.632371e-03 1.742154e+00 1.883361e-01 7.904095e-02 7.904095e-02 7.200065e-02 1.130200e-02 6.596835e-02 3.630434e-03 3.632371e-03 1.951511e-01 3.577641e-02 - 100 2.000000e-02 2.000000e-04 7.115848e-01 6.938329e-01 6.990672e-01 8.912306e-02 6.638155e-02 3.587429e-03 3.589261e-03 1.741937e+00 1.884652e-01 7.970548e-02 7.970548e-02 7.232758e-02 1.142013e-02 6.638155e-02 3.587429e-03 3.589261e-03 1.959371e-01 3.613223e-02 + 1 1.000000e-03 1.000000e-03 7.072400e-01 7.052046e-01 7.053840e-01 8.839224e-02 5.481842e-03 2.752127e-03 2.752213e-03 1.762134e+00 1.772790e-01 1.372736e-02 1.372736e-02 1.842285e-02 8.292458e-04 5.481842e-03 2.752127e-03 2.752213e-03 6.192023e-02 3.920802e-03 + 2 2.000000e-03 1.000000e-03 7.074697e-01 7.039288e-01 7.044393e-01 8.841878e-02 9.886786e-03 4.080509e-03 4.080790e-03 1.759320e+00 1.775501e-01 2.265807e-02 2.265807e-02 2.875713e-02 2.319630e-03 9.886786e-03 4.080509e-03 4.080790e-03 9.370889e-02 7.269977e-03 + 3 3.000000e-03 1.000000e-03 7.077220e-01 7.029022e-01 7.037596e-01 8.845312e-02 1.384034e-02 4.625882e-03 4.626393e-03 1.757333e+00 1.779230e-01 2.950342e-02 2.950342e-02 3.577120e-02 3.384428e-03 1.384034e-02 4.625882e-03 4.626393e-03 1.141177e-01 9.975989e-03 + 4 4.000000e-03 1.000000e-03 7.079810e-01 7.020076e-01 7.032051e-01 8.848766e-02 1.749381e-02 4.725973e-03 4.726717e-03 1.755700e+00 1.784322e-01 3.517285e-02 3.517285e-02 4.099723e-02 4.191121e-03 1.749381e-02 4.725973e-03 4.726717e-03 1.286568e-01 1.269266e-02 + 5 5.000000e-03 1.000000e-03 7.082435e-01 7.011919e-01 7.027183e-01 8.852172e-02 2.091245e-02 4.582815e-03 4.583769e-03 1.754242e+00 1.787328e-01 4.011021e-02 4.011021e-02 4.513240e-02 4.857505e-03 2.091245e-02 4.582815e-03 4.583769e-03 1.397232e-01 1.413264e-02 + 6 6.000000e-03 1.000000e-03 7.085098e-01 7.004251e-01 7.022712e-01 8.855721e-02 2.413600e-02 4.320983e-03 4.322103e-03 1.752879e+00 1.790989e-01 4.456601e-02 4.456601e-02 4.856023e-02 5.466204e-03 2.413600e-02 4.320983e-03 4.322103e-03 1.486061e-01 1.562230e-02 + 7 7.000000e-03 1.000000e-03 7.087815e-01 6.996885e-01 7.018491e-01 8.859625e-02 2.719408e-02 4.016297e-03 4.017535e-03 1.751573e+00 1.795724e-01 4.869435e-02 4.869435e-02 5.151372e-02 6.065998e-03 2.719408e-02 4.016297e-03 4.017535e-03 1.560608e-01 1.747021e-02 + 8 8.000000e-03 1.000000e-03 7.090600e-01 6.989711e-01 7.014433e-01 8.863992e-02 3.011052e-02 3.712568e-03 3.713884e-03 1.750303e+00 1.801818e-01 5.259311e-02 5.259311e-02 5.414161e-02 6.673525e-03 3.011052e-02 3.712568e-03 3.713884e-03 1.625576e-01 1.979937e-02 + 9 9.000000e-03 1.000000e-03 7.093466e-01 6.982660e-01 7.010489e-01 8.868824e-02 3.290435e-02 3.433069e-03 3.434424e-03 1.749057e+00 1.807024e-01 5.632532e-02 5.632532e-02 5.654141e-02 7.287314e-03 3.290435e-02 3.433069e-03 3.434424e-03 1.684020e-01 2.182887e-02 + 10 1.000000e-02 1.000000e-03 7.096420e-01 6.975700e-01 7.006626e-01 8.874045e-02 3.559176e-02 3.187479e-03 3.188847e-03 1.747829e+00 1.811564e-01 5.993162e-02 5.993162e-02 5.877812e-02 7.897361e-03 3.559176e-02 3.187479e-03 3.188847e-03 1.738063e-01 2.355526e-02 + 11 1.100000e-02 1.000000e-03 7.099468e-01 6.968798e-01 7.002823e-01 8.879605e-02 3.818246e-02 2.979933e-03 2.981291e-03 1.746615e+00 1.816610e-01 6.343837e-02 6.343837e-02 6.089459e-02 8.499395e-03 3.818246e-02 2.979933e-03 2.981291e-03 1.789001e-01 2.533908e-02 + 12 1.200000e-02 1.000000e-03 7.102610e-01 6.961936e-01 6.999066e-01 8.885464e-02 4.068549e-02 2.808809e-03 2.810142e-03 1.745411e+00 1.822249e-01 6.686309e-02 6.686309e-02 6.291945e-02 9.091061e-03 4.068549e-02 2.808809e-03 2.810142e-03 1.837675e-01 2.720203e-02 + 13 1.300000e-02 1.000000e-03 7.105846e-01 6.955099e-01 6.995345e-01 8.891594e-02 4.310849e-02 2.670130e-03 2.671433e-03 1.744215e+00 1.827581e-01 7.021762e-02 7.021762e-02 6.487198e-02 9.671847e-03 4.310849e-02 2.670130e-03 2.671433e-03 1.884646e-01 2.890823e-02 + 14 1.400000e-02 1.000000e-03 7.109175e-01 6.948280e-01 6.991651e-01 8.897976e-02 4.545841e-02 2.558524e-03 2.559793e-03 1.743026e+00 1.832813e-01 7.351007e-02 7.351007e-02 6.676544e-02 1.024202e-02 4.545841e-02 2.558524e-03 2.559793e-03 1.930316e-01 3.050813e-02 + 15 1.500000e-02 1.000000e-03 7.112595e-01 6.941469e-01 6.987981e-01 8.904599e-02 4.774089e-02 2.468805e-03 2.470043e-03 1.741843e+00 1.838484e-01 7.674622e-02 7.674622e-02 6.860901e-02 1.080228e-02 4.774089e-02 2.468805e-03 2.470043e-03 1.974929e-01 3.215275e-02 + 16 1.600000e-02 1.000000e-03 7.116101e-01 6.934661e-01 6.984329e-01 8.911453e-02 4.996099e-02 2.396375e-03 2.397588e-03 1.740666e+00 1.844698e-01 7.993032e-02 7.993032e-02 7.040918e-02 1.135340e-02 4.996099e-02 2.396375e-03 2.397588e-03 2.018641e-01 3.387651e-02 + 17 1.700000e-02 1.000000e-03 7.119691e-01 6.927851e-01 6.980693e-01 8.918528e-02 5.212317e-02 2.337340e-03 2.338535e-03 1.739492e+00 1.851547e-01 8.306566e-02 8.306566e-02 7.217060e-02 1.189598e-02 5.212317e-02 2.337340e-03 2.338535e-03 2.061547e-01 3.570701e-02 + 18 1.800000e-02 1.000000e-03 7.123361e-01 6.921036e-01 6.977069e-01 8.925814e-02 5.423140e-02 2.288596e-03 2.289779e-03 1.738322e+00 1.859109e-01 8.615489e-02 8.615489e-02 7.389675e-02 1.243048e-02 5.423140e-02 2.288596e-03 2.289779e-03 2.103703e-01 3.766192e-02 + 19 1.900000e-02 1.000000e-03 7.127108e-01 6.914213e-01 6.973457e-01 8.933302e-02 5.628925e-02 2.247815e-03 2.248992e-03 1.737154e+00 1.865801e-01 8.920021e-02 8.920021e-02 7.559026e-02 1.295722e-02 5.628925e-02 2.247815e-03 2.248992e-03 2.145164e-01 3.937958e-02 + 20 2.000000e-02 1.000000e-03 7.130929e-01 6.907381e-01 6.969854e-01 8.940977e-02 5.830008e-02 2.213005e-03 2.214180e-03 1.735989e+00 1.871995e-01 9.220353e-02 9.220353e-02 7.725329e-02 1.347619e-02 5.830008e-02 2.213005e-03 2.214180e-03 2.185997e-01 4.093619e-02 + 21 2.100000e-02 1.000000e-03 7.134821e-01 6.900538e-01 6.966259e-01 8.948831e-02 6.026654e-02 2.183119e-03 2.184293e-03 1.734827e+00 1.878510e-01 9.516651e-02 9.516651e-02 7.888753e-02 1.398779e-02 6.026654e-02 2.183119e-03 2.184293e-03 2.226222e-01 4.251782e-02 + 22 2.200000e-02 1.000000e-03 7.138780e-01 6.893681e-01 6.962671e-01 8.956857e-02 6.219119e-02 2.156947e-03 2.158124e-03 1.733666e+00 1.885401e-01 9.809067e-02 9.809067e-02 8.049445e-02 1.449238e-02 6.219119e-02 2.156947e-03 2.158124e-03 2.265858e-01 4.413833e-02 + 23 2.300000e-02 1.000000e-03 7.142804e-01 6.886811e-01 6.959089e-01 8.965047e-02 6.407638e-02 2.133555e-03 2.134735e-03 1.732507e+00 1.892718e-01 1.009774e-01 1.009774e-01 8.207532e-02 1.499026e-02 6.407638e-02 2.133555e-03 2.134735e-03 2.304920e-01 4.581020e-02 + 24 2.400000e-02 1.000000e-03 7.146889e-01 6.879925e-01 6.955512e-01 8.973396e-02 6.592431e-02 2.112197e-03 2.113380e-03 1.731350e+00 1.899253e-01 1.038280e-01 1.038280e-01 8.363127e-02 1.548172e-02 6.592431e-02 2.112197e-03 2.113380e-03 2.343440e-01 4.728803e-02 + 25 2.500000e-02 1.000000e-03 7.151034e-01 6.873023e-01 6.951939e-01 8.981895e-02 6.773692e-02 2.092376e-03 2.093560e-03 1.730195e+00 1.906080e-01 1.066436e-01 1.066436e-01 8.516334e-02 1.596698e-02 6.773692e-02 2.092376e-03 2.093560e-03 2.381437e-01 4.878993e-02 diff --git a/tests/regression/inciter/multimat/SodShocktube/diag_p0p1.std b/tests/regression/inciter/multimat/SodShocktube/diag_p0p1.std index f4b25fe6bfe..129be70e9f2 100644 --- a/tests/regression/inciter/multimat/SodShocktube/diag_p0p1.std +++ b/tests/regression/inciter/multimat/SodShocktube/diag_p0p1.std @@ -1,101 +1,26 @@ # 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) - 1 2.000000e-03 2.000000e-03 7.071312e-01 7.062902e-01 7.063215e-01 8.839120e-02 1.182280e-02 6.746065e-03 6.623487e-03 1.765017e+00 1.783597e-01 5.874380e-03 5.874380e-03 8.012775e-03 7.100926e-04 1.182280e-02 6.746065e-03 6.623487e-03 2.184743e-02 8.427736e-03 - 2 4.000000e-03 2.000000e-03 7.072949e-01 7.048793e-01 7.051571e-01 8.842585e-02 2.189537e-02 1.096361e-02 1.058877e-02 1.761063e+00 1.801183e-01 1.631117e-02 1.631117e-02 2.083501e-02 2.575171e-03 2.189537e-02 1.096361e-02 1.058877e-02 5.840909e-02 1.469448e-02 - 3 6.000000e-03 2.000000e-03 7.076585e-01 7.033515e-01 7.041176e-01 8.850871e-02 3.064536e-02 1.296604e-02 1.235886e-02 1.757700e+00 1.815739e-01 2.793895e-02 2.793895e-02 3.323122e-02 4.614407e-03 3.064536e-02 1.296604e-02 1.235886e-02 9.383687e-02 1.966682e-02 - 4 8.000000e-03 2.000000e-03 7.081752e-01 7.018672e-01 7.032474e-01 8.859505e-02 3.821273e-02 1.328547e-02 1.247304e-02 1.755018e+00 1.828606e-01 3.888575e-02 3.888575e-02 4.382942e-02 6.048461e-03 3.821273e-02 1.328547e-02 1.247304e-02 1.236468e-01 2.393018e-02 - 5 1.000000e-02 2.000000e-03 7.087952e-01 7.004524e-01 7.025032e-01 8.866721e-02 4.500938e-02 1.224575e-02 1.121084e-02 1.752781e+00 1.839650e-01 4.889349e-02 4.889349e-02 5.266707e-02 7.026762e-03 4.500938e-02 1.224575e-02 1.121084e-02 1.477164e-01 2.690464e-02 - 6 1.200000e-02 2.000000e-03 7.094896e-01 6.990952e-01 7.018420e-01 8.874425e-02 5.127063e-02 1.023185e-02 8.981714e-03 1.750785e+00 1.849313e-01 5.809877e-02 5.809877e-02 5.993922e-02 7.939963e-03 5.127063e-02 1.023185e-02 8.981714e-03 1.666640e-01 2.895178e-02 - 7 1.400000e-02 2.000000e-03 7.102586e-01 6.977421e-01 7.012240e-01 8.887476e-02 5.697027e-02 7.789758e-03 6.534258e-03 1.748886e+00 1.860647e-01 6.683772e-02 6.683772e-02 6.580853e-02 9.285606e-03 5.697027e-02 7.789758e-03 6.534258e-03 1.812700e-01 3.194644e-02 - 8 1.600000e-02 2.000000e-03 7.111148e-01 6.963669e-01 7.006160e-01 8.906320e-02 6.220350e-02 5.444908e-03 4.506580e-03 1.746988e+00 1.875358e-01 7.539385e-02 7.539385e-02 7.056352e-02 1.094322e-02 6.220350e-02 5.444908e-03 4.506580e-03 1.926260e-01 3.648508e-02 - 9 1.800000e-02 2.000000e-03 7.120531e-01 6.949908e-01 7.000086e-01 8.929008e-02 6.703482e-02 3.718485e-03 3.357895e-03 1.745072e+00 1.892743e-01 8.378308e-02 8.378308e-02 7.463055e-02 1.265779e-02 6.703482e-02 3.718485e-03 3.357895e-03 2.020261e-01 4.175006e-02 - 10 2.000000e-02 2.000000e-03 7.130551e-01 6.936130e-01 6.993932e-01 8.953277e-02 7.148541e-02 2.817986e-03 2.962885e-03 1.743123e+00 1.911734e-01 9.191091e-02 9.191091e-02 7.822665e-02 1.426946e-02 7.148541e-02 2.817986e-03 2.962885e-03 2.101933e-01 4.713491e-02 - 11 2.200000e-02 2.000000e-03 7.141047e-01 6.922331e-01 6.987670e-01 8.976669e-02 7.560364e-02 2.503469e-03 2.867122e-03 1.741143e+00 1.930552e-01 9.972700e-02 9.972700e-02 8.152205e-02 1.567035e-02 7.560364e-02 2.503469e-03 2.867122e-03 2.177031e-01 5.193817e-02 - 12 2.400000e-02 2.000000e-03 7.151855e-01 6.908397e-01 6.981294e-01 9.001683e-02 7.952192e-02 2.399848e-03 2.748752e-03 1.739133e+00 1.950937e-01 1.071928e-01 1.071928e-01 8.459559e-02 1.704494e-02 7.952192e-02 2.399848e-03 2.748752e-03 2.248031e-01 5.687708e-02 - 13 2.600000e-02 2.000000e-03 7.162897e-01 6.894345e-01 6.974842e-01 9.027368e-02 8.332104e-02 2.409541e-03 2.676798e-03 1.737105e+00 1.973033e-01 1.143278e-01 1.143278e-01 8.754995e-02 1.835314e-02 8.332104e-02 2.409541e-03 2.676798e-03 2.317736e-01 6.198293e-02 - 14 2.800000e-02 2.000000e-03 7.174169e-01 6.880282e-01 6.968378e-01 9.053833e-02 8.699001e-02 2.468357e-03 2.656933e-03 1.735076e+00 1.996080e-01 1.211898e-01 1.211898e-01 9.050612e-02 1.961352e-02 8.699001e-02 2.468357e-03 2.656933e-03 2.389235e-01 6.701833e-02 - 15 3.000000e-02 2.000000e-03 7.185658e-01 6.866148e-01 6.961900e-01 9.080910e-02 9.046384e-02 2.550650e-03 2.699631e-03 1.733041e+00 2.018627e-01 1.278155e-01 1.278155e-01 9.349745e-02 2.082770e-02 9.046384e-02 2.550650e-03 2.699631e-03 2.462834e-01 7.160199e-02 - 16 3.200000e-02 2.000000e-03 7.197398e-01 6.851968e-01 6.955406e-01 9.108261e-02 9.377644e-02 2.529596e-03 2.679132e-03 1.730996e+00 2.040117e-01 1.342584e-01 1.342584e-01 9.651740e-02 2.198959e-02 9.377644e-02 2.529596e-03 2.679132e-03 2.537955e-01 7.566671e-02 - 17 3.400000e-02 2.000000e-03 7.209368e-01 6.837794e-01 6.948905e-01 9.139352e-02 9.701293e-02 2.273790e-03 2.375683e-03 1.728950e+00 2.063631e-01 1.405343e-01 1.405343e-01 9.955263e-02 2.324382e-02 9.701293e-02 2.273790e-03 2.375683e-03 2.614188e-01 8.008851e-02 - 18 3.600000e-02 2.000000e-03 7.221506e-01 6.823633e-01 6.942392e-01 9.171446e-02 1.001888e-01 1.937629e-03 1.975368e-03 1.726900e+00 2.088846e-01 1.466335e-01 1.466335e-01 1.025735e-01 2.447536e-02 1.001888e-01 1.937629e-03 1.975368e-03 2.690526e-01 8.474623e-02 - 19 3.800000e-02 2.000000e-03 7.233748e-01 6.809394e-01 6.935841e-01 9.202300e-02 1.032597e-01 1.745584e-03 1.762734e-03 1.724838e+00 2.113956e-01 1.525484e-01 1.525484e-01 1.055404e-01 2.560729e-02 1.032597e-01 1.745584e-03 1.762734e-03 2.765527e-01 8.918937e-02 - 20 4.000000e-02 2.000000e-03 7.246055e-01 6.795090e-01 6.929254e-01 9.230305e-02 1.061914e-01 1.740277e-03 1.793898e-03 1.722764e+00 2.136775e-01 1.582819e-01 1.582819e-01 1.084423e-01 2.659611e-02 1.061914e-01 1.740277e-03 1.793898e-03 2.838843e-01 9.295109e-02 - 21 4.200000e-02 2.000000e-03 7.258436e-01 6.780756e-01 6.922649e-01 9.259337e-02 1.090241e-01 1.667366e-03 1.742398e-03 1.720681e+00 2.159090e-01 1.638566e-01 1.638566e-01 1.112878e-01 2.758683e-02 1.090241e-01 1.667366e-03 1.742398e-03 2.910628e-01 9.650211e-02 - 22 4.400000e-02 2.000000e-03 7.270884e-01 6.766384e-01 6.916025e-01 9.291808e-02 1.118161e-01 1.498566e-03 1.553576e-03 1.718589e+00 2.183383e-01 1.692854e-01 1.692854e-01 1.140763e-01 2.865781e-02 1.118161e-01 1.498566e-03 1.553576e-03 2.980852e-01 1.004052e-01 - 23 4.600000e-02 2.000000e-03 7.283404e-01 6.751991e-01 6.909395e-01 9.325036e-02 1.145747e-01 1.393132e-03 1.452510e-03 1.716495e+00 2.208796e-01 1.745842e-01 1.745842e-01 1.168223e-01 2.971750e-02 1.145747e-01 1.393132e-03 1.452510e-03 3.050077e-01 1.044535e-01 - 24 4.800000e-02 2.000000e-03 7.295998e-01 6.737601e-01 6.902779e-01 9.356587e-02 1.172443e-01 1.434646e-03 1.502703e-03 1.714406e+00 2.233121e-01 1.797662e-01 1.797662e-01 1.195387e-01 3.069320e-02 1.172443e-01 1.434646e-03 1.502703e-03 3.118819e-01 1.081828e-01 - 25 5.000000e-02 2.000000e-03 7.308636e-01 6.723184e-01 6.896162e-01 9.385172e-02 1.198168e-01 1.486188e-03 1.590676e-03 1.712316e+00 2.254673e-01 1.848285e-01 1.848285e-01 1.222159e-01 3.155385e-02 1.198168e-01 1.486188e-03 1.590676e-03 3.186726e-01 1.112760e-01 - 26 5.200000e-02 2.000000e-03 7.321283e-01 6.708722e-01 6.889528e-01 9.416797e-02 1.223368e-01 1.330341e-03 1.400070e-03 1.710221e+00 2.277396e-01 1.897678e-01 1.897678e-01 1.248438e-01 3.248240e-02 1.223368e-01 1.330341e-03 1.400070e-03 3.253434e-01 1.145550e-01 - 27 5.400000e-02 2.000000e-03 7.333915e-01 6.694223e-01 6.882869e-01 9.450337e-02 1.248438e-01 1.119313e-03 1.129598e-03 1.708117e+00 2.301935e-01 1.945845e-01 1.945845e-01 1.274159e-01 3.344229e-02 1.248438e-01 1.119313e-03 1.129598e-03 3.318690e-01 1.181376e-01 - 28 5.600000e-02 2.000000e-03 7.346541e-01 6.679712e-01 6.876190e-01 9.482754e-02 1.272986e-01 1.212476e-03 1.258381e-03 1.706005e+00 2.326372e-01 1.992902e-01 1.992902e-01 1.299329e-01 3.434768e-02 1.272986e-01 1.212476e-03 1.258381e-03 3.382418e-01 1.216436e-01 - 29 5.800000e-02 2.000000e-03 7.359169e-01 6.665193e-01 6.869498e-01 9.511698e-02 1.296576e-01 1.479649e-03 1.594718e-03 1.703887e+00 2.348109e-01 2.038963e-01 2.038963e-01 1.323820e-01 3.513887e-02 1.296576e-01 1.479649e-03 1.594718e-03 3.444218e-01 1.245913e-01 - 30 6.000000e-02 2.000000e-03 7.371800e-01 6.650663e-01 6.862812e-01 9.540174e-02 1.319574e-01 1.467549e-03 1.598468e-03 1.701770e+00 2.368341e-01 2.084090e-01 2.084090e-01 1.347640e-01 3.590254e-02 1.319574e-01 1.467549e-03 1.598468e-03 3.504229e-01 1.272284e-01 - 31 6.200000e-02 2.000000e-03 7.384450e-01 6.636123e-01 6.856140e-01 9.572890e-02 1.342623e-01 1.109173e-03 1.144277e-03 1.699659e+00 2.390977e-01 2.128402e-01 2.128402e-01 1.370712e-01 3.676306e-02 1.342623e-01 1.109173e-03 1.144277e-03 3.562159e-01 1.302854e-01 - 32 6.400000e-02 2.000000e-03 7.397102e-01 6.621558e-01 6.849468e-01 9.606711e-02 1.365674e-01 9.007403e-04 8.768260e-04 1.697546e+00 2.415088e-01 2.171891e-01 2.171891e-01 1.393414e-01 3.763496e-02 1.365674e-01 9.007403e-04 8.768260e-04 3.619205e-01 1.335767e-01 - 33 6.600000e-02 2.000000e-03 7.409737e-01 6.606960e-01 6.842788e-01 9.638142e-02 1.387995e-01 1.119615e-03 1.153521e-03 1.695431e+00 2.437808e-01 2.214542e-01 2.214542e-01 1.415715e-01 3.843017e-02 1.387995e-01 1.119615e-03 1.153521e-03 3.675270e-01 1.365821e-01 - 34 6.800000e-02 2.000000e-03 7.422336e-01 6.592326e-01 6.836087e-01 9.665562e-02 1.409440e-01 1.359478e-03 1.483825e-03 1.693308e+00 2.457261e-01 2.256341e-01 2.256341e-01 1.437681e-01 3.911278e-02 1.409440e-01 1.359478e-03 1.483825e-03 3.730478e-01 1.389826e-01 - 35 7.000000e-02 2.000000e-03 7.434901e-01 6.577671e-01 6.829363e-01 9.696131e-02 1.430606e-01 1.266295e-03 1.377544e-03 1.691176e+00 2.477885e-01 2.297334e-01 2.297334e-01 1.459495e-01 3.986222e-02 1.430606e-01 1.266295e-03 1.377544e-03 3.785404e-01 1.415735e-01 - 36 7.200000e-02 2.000000e-03 7.447449e-01 6.563010e-01 6.822632e-01 9.729095e-02 1.451961e-01 1.007748e-03 1.069060e-03 1.689040e+00 2.500569e-01 2.337627e-01 2.337627e-01 1.481217e-01 4.065747e-02 1.451961e-01 1.007748e-03 1.069060e-03 3.840253e-01 1.445048e-01 - 37 7.400000e-02 2.000000e-03 7.459981e-01 6.548331e-01 6.815903e-01 9.761078e-02 1.473066e-01 1.004491e-03 1.065404e-03 1.686906e+00 2.523063e-01 2.377250e-01 2.377250e-01 1.502842e-01 4.141695e-02 1.473066e-01 1.004491e-03 1.065404e-03 3.895043e-01 1.473809e-01 - 38 7.600000e-02 2.000000e-03 7.472507e-01 6.533635e-01 6.809177e-01 9.789185e-02 1.493458e-01 1.258552e-03 1.365483e-03 1.684773e+00 2.542700e-01 2.416269e-01 2.416269e-01 1.524321e-01 4.207510e-02 1.493458e-01 1.258552e-03 1.365483e-03 3.949551e-01 1.497518e-01 - 39 7.800000e-02 2.000000e-03 7.485030e-01 6.518924e-01 6.802453e-01 9.817698e-02 1.513382e-01 1.256909e-03 1.378928e-03 1.682639e+00 2.561479e-01 2.454723e-01 2.454723e-01 1.545603e-01 4.273429e-02 1.513382e-01 1.256909e-03 1.378928e-03 4.003587e-01 1.519672e-01 - 40 8.000000e-02 2.000000e-03 7.497534e-01 6.504189e-01 6.795722e-01 9.850048e-02 1.533437e-01 9.460895e-04 9.912283e-04 1.680501e+00 2.582763e-01 2.492592e-01 2.492592e-01 1.566618e-01 4.347234e-02 1.533437e-01 9.460895e-04 9.912283e-04 4.056918e-01 1.545926e-01 - 41 8.200000e-02 2.000000e-03 7.510005e-01 6.489420e-01 6.788974e-01 9.882825e-02 1.553462e-01 9.053841e-04 9.557873e-04 1.678358e+00 2.605142e-01 2.529857e-01 2.529857e-01 1.587309e-01 4.421000e-02 1.553462e-01 9.053841e-04 9.557873e-04 4.109350e-01 1.573846e-01 - 42 8.400000e-02 2.000000e-03 7.522436e-01 6.474616e-01 6.782209e-01 9.912491e-02 1.572849e-01 1.207557e-03 1.315994e-03 1.676207e+00 2.625466e-01 2.566523e-01 2.566523e-01 1.607672e-01 4.486923e-02 1.572849e-01 1.207557e-03 1.315994e-03 4.160885e-01 1.598219e-01 - 43 8.600000e-02 2.000000e-03 7.534839e-01 6.459792e-01 6.775440e-01 9.939168e-02 1.591661e-01 1.332617e-03 1.493375e-03 1.674056e+00 2.642992e-01 2.602652e-01 2.602652e-01 1.627782e-01 4.545555e-02 1.591661e-01 1.332617e-03 1.493375e-03 4.211800e-01 1.617918e-01 - 44 8.800000e-02 2.000000e-03 7.547226e-01 6.444953e-01 6.768672e-01 9.969794e-02 1.610531e-01 1.026112e-03 1.114899e-03 1.671905e+00 2.662475e-01 2.638299e-01 2.638299e-01 1.647674e-01 4.612136e-02 1.610531e-01 1.026112e-03 1.114899e-03 4.262193e-01 1.640755e-01 - 45 9.000000e-02 2.000000e-03 7.559597e-01 6.430094e-01 6.761903e-01 1.000215e-01 1.629624e-01 6.905233e-04 6.968799e-04 1.669754e+00 2.683873e-01 2.673482e-01 2.673482e-01 1.667358e-01 4.681677e-02 1.629624e-01 6.905233e-04 6.968799e-04 4.312076e-01 1.666599e-01 - 46 9.200000e-02 2.000000e-03 7.571964e-01 6.415224e-01 6.755133e-01 1.003273e-01 1.648319e-01 8.966706e-04 9.493269e-04 1.667600e+00 2.704390e-01 2.708253e-01 2.708253e-01 1.686859e-01 4.746653e-02 1.648319e-01 8.966706e-04 9.493269e-04 4.361509e-01 1.690919e-01 - 47 9.400000e-02 2.000000e-03 7.584315e-01 6.400336e-01 6.748356e-01 1.005917e-01 1.666338e-01 1.243452e-03 1.381133e-03 1.665444e+00 2.721667e-01 2.742596e-01 2.742596e-01 1.706156e-01 4.802282e-02 1.666338e-01 1.243452e-03 1.381133e-03 4.410424e-01 1.709994e-01 - 48 9.600000e-02 2.000000e-03 7.596640e-01 6.385418e-01 6.741565e-01 1.008815e-01 1.684126e-01 1.166436e-03 1.298253e-03 1.663281e+00 2.739598e-01 2.776496e-01 2.776496e-01 1.725230e-01 4.862685e-02 1.684126e-01 1.166436e-03 1.298253e-03 4.458758e-01 1.730068e-01 - 49 9.800000e-02 2.000000e-03 7.608926e-01 6.370461e-01 6.734763e-01 1.011987e-01 1.702214e-01 7.944819e-04 8.523949e-04 1.661115e+00 2.759892e-01 2.809938e-01 2.809938e-01 1.744090e-01 4.928157e-02 1.702214e-01 7.944819e-04 8.523949e-04 4.506583e-01 1.753819e-01 - 50 1.000000e-01 2.000000e-03 7.621174e-01 6.355466e-01 6.727954e-01 1.015091e-01 1.720214e-01 7.700908e-04 8.265316e-04 1.658947e+00 2.780404e-01 2.842936e-01 2.842936e-01 1.762752e-01 4.991591e-02 1.720214e-01 7.700908e-04 8.265316e-04 4.553955e-01 1.777829e-01 - 51 1.020000e-01 2.000000e-03 7.633402e-01 6.340451e-01 6.721143e-01 1.017831e-01 1.737634e-01 1.112369e-03 1.219764e-03 1.656778e+00 2.798283e-01 2.875555e-01 2.875555e-01 1.781225e-01 5.047083e-02 1.737634e-01 1.112369e-03 1.219764e-03 4.600857e-01 1.797662e-01 - 52 1.040000e-01 2.000000e-03 7.645611e-01 6.325413e-01 6.714328e-01 1.020519e-01 1.754660e-01 1.164792e-03 1.301323e-03 1.654607e+00 2.814768e-01 2.907811e-01 2.907811e-01 1.799511e-01 5.101064e-02 1.754660e-01 1.164792e-03 1.301323e-03 4.647278e-01 1.815300e-01 - 53 1.060000e-01 2.000000e-03 7.657807e-01 6.310354e-01 6.707509e-01 1.023604e-01 1.771873e-01 8.275825e-04 8.789814e-04 1.652434e+00 2.833669e-01 2.939728e-01 2.939728e-01 1.817608e-01 5.162501e-02 1.771873e-01 8.275825e-04 8.789814e-04 4.693194e-01 1.836651e-01 - 54 1.080000e-01 2.000000e-03 7.669995e-01 6.295281e-01 6.700682e-01 1.026745e-01 1.789199e-01 6.968757e-04 7.406878e-04 1.650256e+00 2.853894e-01 2.971333e-01 2.971333e-01 1.835521e-01 5.224513e-02 1.789199e-01 6.968757e-04 7.406878e-04 4.738591e-01 1.859988e-01 - 55 1.100000e-01 2.000000e-03 7.682165e-01 6.280180e-01 6.693847e-01 1.029614e-01 1.806031e-01 1.039652e-03 1.139513e-03 1.648075e+00 2.872331e-01 3.002609e-01 3.002609e-01 1.853256e-01 5.280668e-02 1.806031e-01 1.039652e-03 1.139513e-03 4.783517e-01 1.880525e-01 - 56 1.120000e-01 2.000000e-03 7.694307e-01 6.265041e-01 6.687006e-01 1.032176e-01 1.822391e-01 1.236323e-03 1.395344e-03 1.645892e+00 2.888075e-01 3.033538e-01 3.033538e-01 1.870838e-01 5.330460e-02 1.822391e-01 1.236323e-03 1.395344e-03 4.828096e-01 1.896923e-01 - 57 1.140000e-01 2.000000e-03 7.706412e-01 6.249857e-01 6.680158e-01 1.035122e-01 1.838819e-01 9.236327e-04 1.016116e-03 1.643706e+00 2.905598e-01 3.064113e-01 3.064113e-01 1.888272e-01 5.387285e-02 1.838819e-01 9.236327e-04 1.016116e-03 4.872342e-01 1.916011e-01 - 58 1.160000e-01 2.000000e-03 7.718488e-01 6.234634e-01 6.673302e-01 1.038238e-01 1.855510e-01 5.133851e-04 5.171295e-04 1.641518e+00 2.925091e-01 3.094359e-01 3.094359e-01 1.905569e-01 5.446904e-02 1.855510e-01 5.133851e-04 5.171295e-04 4.916274e-01 1.938048e-01 - 59 1.180000e-01 2.000000e-03 7.730550e-01 6.219388e-01 6.666441e-01 1.041171e-01 1.871907e-01 7.816728e-04 8.401902e-04 1.639328e+00 2.943771e-01 3.124324e-01 3.124324e-01 1.922740e-01 5.502606e-02 1.871907e-01 7.816728e-04 8.401902e-04 4.959906e-01 1.958812e-01 - 60 1.200000e-01 2.000000e-03 7.742596e-01 6.204117e-01 6.659572e-01 1.043704e-01 1.887745e-01 1.156404e-03 1.302661e-03 1.637134e+00 2.959452e-01 3.154011e-01 3.154011e-01 1.939776e-01 5.550396e-02 1.887745e-01 1.156404e-03 1.302661e-03 5.003196e-01 1.975048e-01 - 61 1.220000e-01 2.000000e-03 7.754631e-01 6.188823e-01 6.652696e-01 1.046495e-01 1.903427e-01 1.067508e-03 1.203481e-03 1.634935e+00 2.975723e-01 3.183440e-01 3.183440e-01 1.956671e-01 5.602691e-02 1.903427e-01 1.067508e-03 1.203481e-03 5.046112e-01 1.992162e-01 - 62 1.240000e-01 2.000000e-03 7.766656e-01 6.173507e-01 6.645817e-01 1.049581e-01 1.919439e-01 6.379014e-04 6.931730e-04 1.632735e+00 2.994349e-01 3.212623e-01 3.212623e-01 1.973440e-01 5.660124e-02 1.919439e-01 6.379014e-04 6.931730e-04 5.088723e-01 2.012769e-01 - 63 1.260000e-01 2.000000e-03 7.778662e-01 6.158158e-01 6.638935e-01 1.052600e-01 1.935404e-01 6.250657e-04 6.889250e-04 1.630534e+00 3.013228e-01 3.241540e-01 3.241540e-01 1.990071e-01 5.715909e-02 1.935404e-01 6.250657e-04 6.889250e-04 5.131002e-01 2.033713e-01 - 64 1.280000e-01 2.000000e-03 7.790638e-01 6.142763e-01 6.632044e-01 1.055244e-01 1.950854e-01 1.052320e-03 1.174765e-03 1.628330e+00 3.029570e-01 3.270175e-01 3.270175e-01 2.006549e-01 5.764452e-02 1.950854e-01 1.052320e-03 1.174765e-03 5.172898e-01 2.050874e-01 - 65 1.300000e-01 2.000000e-03 7.802580e-01 6.127319e-01 6.625143e-01 1.057843e-01 1.965995e-01 1.109327e-03 1.259259e-03 1.626123e+00 3.044702e-01 3.298523e-01 3.298523e-01 2.022873e-01 5.811908e-02 1.965995e-01 1.109327e-03 1.259259e-03 5.214407e-01 2.066240e-01 - 66 1.320000e-01 2.000000e-03 7.814497e-01 6.111836e-01 6.618233e-01 1.060832e-01 1.981355e-01 7.111260e-04 7.831959e-04 1.623911e+00 3.062153e-01 3.326615e-01 3.326615e-01 2.039051e-01 5.866120e-02 1.981355e-01 7.111260e-04 7.831959e-04 5.255541e-01 2.085013e-01 - 67 1.340000e-01 2.000000e-03 7.826400e-01 6.096325e-01 6.611314e-01 1.063864e-01 1.996857e-01 5.677604e-04 6.403069e-04 1.621696e+00 3.080821e-01 3.354480e-01 3.354480e-01 2.055088e-01 5.920790e-02 1.996857e-01 5.677604e-04 6.403069e-04 5.296297e-01 2.105546e-01 - 68 1.360000e-01 2.000000e-03 7.838287e-01 6.080782e-01 6.604388e-01 1.066622e-01 2.011929e-01 9.654313e-04 1.079903e-03 1.619477e+00 3.097717e-01 3.382120e-01 3.382120e-01 2.070998e-01 5.970199e-02 2.011929e-01 9.654313e-04 1.079903e-03 5.336732e-01 2.123465e-01 - 69 1.380000e-01 2.000000e-03 7.850165e-01 6.065214e-01 6.597460e-01 1.069113e-01 2.026609e-01 1.150887e-03 1.320748e-03 1.617257e+00 3.112267e-01 3.409559e-01 3.409559e-01 2.086800e-01 6.014587e-02 2.026609e-01 1.150887e-03 1.320748e-03 5.376920e-01 2.137955e-01 - 70 1.400000e-01 2.000000e-03 7.862032e-01 6.049617e-01 6.590528e-01 1.072000e-01 2.041399e-01 8.302030e-04 9.293871e-04 1.615035e+00 3.128625e-01 3.436792e-01 3.436792e-01 2.102490e-01 6.065762e-02 2.041399e-01 8.302030e-04 9.293871e-04 5.416835e-01 2.155073e-01 - 71 1.420000e-01 2.000000e-03 7.873878e-01 6.033980e-01 6.583590e-01 1.075039e-01 2.056442e-01 3.934768e-04 4.101101e-04 1.612811e+00 3.146802e-01 3.463806e-01 3.463806e-01 2.118060e-01 6.119310e-02 2.056442e-01 3.934768e-04 4.101101e-04 5.456459e-01 2.174816e-01 - 72 1.440000e-01 2.000000e-03 7.885696e-01 6.018295e-01 6.576641e-01 1.077878e-01 2.071214e-01 7.376626e-04 8.067204e-04 1.610583e+00 3.164063e-01 3.490587e-01 3.490587e-01 2.133501e-01 6.169047e-02 2.071214e-01 7.376626e-04 8.067204e-04 5.495756e-01 2.193209e-01 - 73 1.460000e-01 2.000000e-03 7.897483e-01 6.002561e-01 6.569681e-01 1.080313e-01 2.085513e-01 1.128997e-03 1.282606e-03 1.608350e+00 3.178451e-01 3.517134e-01 3.517134e-01 2.148806e-01 6.211498e-02 2.085513e-01 1.128997e-03 1.282606e-03 5.534692e-01 2.207451e-01 - 74 1.480000e-01 2.000000e-03 7.909250e-01 5.986791e-01 6.562710e-01 1.083034e-01 2.099727e-01 9.929331e-04 1.125902e-03 1.606112e+00 3.193648e-01 3.543478e-01 3.543478e-01 2.163990e-01 6.258687e-02 2.099727e-01 9.929331e-04 1.125902e-03 5.573298e-01 2.222861e-01 - 75 1.500000e-01 2.000000e-03 7.921004e-01 5.970992e-01 6.555735e-01 1.086025e-01 2.114262e-01 5.088293e-04 5.499027e-04 1.603873e+00 3.211042e-01 3.569637e-01 3.569637e-01 2.179075e-01 6.310307e-02 2.114262e-01 5.088293e-04 5.499027e-04 5.611657e-01 2.241417e-01 - 76 1.520000e-01 2.000000e-03 7.932744e-01 5.955160e-01 6.548757e-01 1.088931e-01 2.128750e-01 5.849567e-04 6.390381e-04 1.601632e+00 3.228528e-01 3.595612e-01 3.595612e-01 2.194069e-01 6.360191e-02 2.128750e-01 5.849567e-04 6.390381e-04 5.649794e-01 2.260090e-01 - 77 1.540000e-01 2.000000e-03 7.944477e-01 5.939303e-01 6.541775e-01 1.091478e-01 2.142782e-01 1.033519e-03 1.155493e-03 1.599390e+00 3.243609e-01 3.621423e-01 3.621423e-01 2.208983e-01 6.403704e-02 2.142782e-01 1.033519e-03 1.155493e-03 5.687729e-01 2.275318e-01 - 78 1.560000e-01 2.000000e-03 7.956195e-01 5.923412e-01 6.534788e-01 1.094044e-01 2.156578e-01 1.057945e-03 1.202424e-03 1.597145e+00 3.257882e-01 3.647059e-01 3.647059e-01 2.223817e-01 6.447351e-02 2.156578e-01 1.057945e-03 1.202424e-03 5.725465e-01 2.289397e-01 - 79 1.580000e-01 2.000000e-03 7.967892e-01 5.907478e-01 6.527792e-01 1.096970e-01 2.170613e-01 6.466083e-04 7.068144e-04 1.594895e+00 3.274345e-01 3.672505e-01 3.672505e-01 2.238562e-01 6.496866e-02 2.170613e-01 6.466083e-04 7.068144e-04 5.762977e-01 2.306588e-01 - 80 1.600000e-01 2.000000e-03 7.979559e-01 5.891491e-01 6.520782e-01 1.099915e-01 2.184765e-01 5.146480e-04 5.802576e-04 1.592641e+00 3.291784e-01 3.697751e-01 3.697751e-01 2.253212e-01 6.546475e-02 2.184765e-01 5.146480e-04 5.802576e-04 5.800244e-01 2.325151e-01 - 81 1.620000e-01 2.000000e-03 7.991197e-01 5.875452e-01 6.513763e-01 1.102566e-01 2.198525e-01 9.500279e-04 1.059384e-03 1.590383e+00 3.307418e-01 3.722798e-01 3.722798e-01 2.267775e-01 6.590916e-02 2.198525e-01 9.500279e-04 1.059384e-03 5.837306e-01 2.341150e-01 - 82 1.640000e-01 2.000000e-03 8.002817e-01 5.859375e-01 6.506738e-01 1.104984e-01 2.211959e-01 1.138576e-03 1.299935e-03 1.588123e+00 3.320974e-01 3.747677e-01 3.747677e-01 2.282263e-01 6.631291e-02 2.211959e-01 1.138576e-03 1.299935e-03 5.874194e-01 2.354215e-01 - 83 1.660000e-01 2.000000e-03 8.014422e-01 5.843261e-01 6.499709e-01 1.107792e-01 2.225536e-01 7.767129e-04 8.664339e-04 1.585861e+00 3.336368e-01 3.772395e-01 3.772395e-01 2.296671e-01 6.677970e-02 2.225536e-01 7.767129e-04 8.664339e-04 5.910891e-01 2.369876e-01 - 84 1.680000e-01 2.000000e-03 8.026014e-01 5.827111e-01 6.492674e-01 1.110733e-01 2.239350e-01 3.288412e-04 3.457892e-04 1.583596e+00 3.353414e-01 3.796958e-01 3.796958e-01 2.310998e-01 6.726639e-02 2.239350e-01 3.288412e-04 3.457892e-04 5.947384e-01 2.387856e-01 - 85 1.700000e-01 2.000000e-03 8.037597e-01 5.810931e-01 6.485634e-01 1.113478e-01 2.252904e-01 7.492350e-04 8.244873e-04 1.581328e+00 3.369508e-01 3.821383e-01 3.821383e-01 2.325242e-01 6.771871e-02 2.252904e-01 7.492350e-04 8.244873e-04 5.983657e-01 2.404490e-01 - 86 1.720000e-01 2.000000e-03 8.049166e-01 5.794711e-01 6.478585e-01 1.115859e-01 2.266049e-01 1.104158e-03 1.267761e-03 1.579056e+00 3.382993e-01 3.845656e-01 3.845656e-01 2.339393e-01 6.810959e-02 2.266049e-01 1.104158e-03 1.267761e-03 6.019670e-01 2.417469e-01 - 87 1.740000e-01 2.000000e-03 8.060713e-01 5.778443e-01 6.471526e-01 1.118544e-01 2.279162e-01 9.313818e-04 1.066530e-03 1.576780e+00 3.397449e-01 3.869766e-01 3.869766e-01 2.353449e-01 6.854854e-02 2.279162e-01 9.313818e-04 1.066530e-03 6.055436e-01 2.431811e-01 - 88 1.760000e-01 2.000000e-03 8.072233e-01 5.762119e-01 6.464458e-01 1.121458e-01 2.292580e-01 4.258599e-04 4.709280e-04 1.574502e+00 3.413884e-01 3.893705e-01 3.893705e-01 2.367418e-01 6.902303e-02 2.292580e-01 4.258599e-04 4.709280e-04 6.090993e-01 2.448915e-01 - 89 1.780000e-01 2.000000e-03 8.083726e-01 5.745741e-01 6.457382e-01 1.124258e-01 2.305927e-01 5.600333e-04 6.252758e-04 1.572220e+00 3.430196e-01 3.917477e-01 3.917477e-01 2.381304e-01 6.947701e-02 2.305927e-01 5.600333e-04 6.252758e-04 6.126351e-01 2.465841e-01 - 90 1.800000e-01 2.000000e-03 8.095205e-01 5.729325e-01 6.450301e-01 1.126691e-01 2.318861e-01 1.037992e-03 1.171379e-03 1.569935e+00 3.444116e-01 3.941109e-01 3.941109e-01 2.395117e-01 6.987007e-02 2.318861e-01 1.037992e-03 1.171379e-03 6.161533e-01 2.479437e-01 - 91 1.820000e-01 2.000000e-03 8.106671e-01 5.712870e-01 6.443213e-01 1.129198e-01 2.331619e-01 1.034954e-03 1.180102e-03 1.567648e+00 3.457580e-01 3.964607e-01 3.964607e-01 2.408859e-01 7.027358e-02 2.331619e-01 1.034954e-03 1.180102e-03 6.196536e-01 2.492408e-01 - 92 1.840000e-01 2.000000e-03 8.118125e-01 5.696378e-01 6.436117e-01 1.132040e-01 2.344636e-01 5.752285e-04 6.338820e-04 1.565357e+00 3.473162e-01 3.987975e-01 3.987975e-01 2.422527e-01 7.072936e-02 2.344636e-01 5.752285e-04 6.338820e-04 6.231342e-01 2.508318e-01 - 93 1.860000e-01 2.000000e-03 8.129572e-01 5.679854e-01 6.429014e-01 1.134902e-01 2.357748e-01 4.927754e-04 5.578317e-04 1.563062e+00 3.489605e-01 4.011226e-01 4.011226e-01 2.436123e-01 7.118654e-02 2.357748e-01 4.927754e-04 5.578317e-04 6.265952e-01 2.525416e-01 - 94 1.880000e-01 2.000000e-03 8.141004e-01 5.663288e-01 6.421905e-01 1.137472e-01 2.370493e-01 9.528206e-04 1.064907e-03 1.560764e+00 3.504248e-01 4.034345e-01 4.034345e-01 2.449650e-01 7.159553e-02 2.370493e-01 9.528206e-04 1.064907e-03 6.300391e-01 2.540023e-01 - 95 1.900000e-01 2.000000e-03 8.152414e-01 5.646670e-01 6.414788e-01 1.139854e-01 2.382961e-01 1.098256e-03 1.260411e-03 1.558464e+00 3.517119e-01 4.057321e-01 4.057321e-01 2.463103e-01 7.197342e-02 2.382961e-01 1.098256e-03 1.260411e-03 6.334654e-01 2.552190e-01 - 96 1.920000e-01 2.000000e-03 8.163798e-01 5.629994e-01 6.407662e-01 1.142608e-01 2.395592e-01 7.266225e-04 8.115830e-04 1.556160e+00 3.531803e-01 4.080146e-01 4.080146e-01 2.476479e-01 7.240878e-02 2.395592e-01 7.266225e-04 8.115830e-04 6.368729e-01 2.566861e-01 - 97 1.940000e-01 2.000000e-03 8.175156e-01 5.613262e-01 6.400527e-01 1.145457e-01 2.408436e-01 3.068851e-04 3.345916e-04 1.553853e+00 3.547902e-01 4.102825e-01 4.102825e-01 2.489779e-01 7.285758e-02 2.408436e-01 3.068851e-04 3.345916e-04 6.402616e-01 2.583477e-01 - 98 1.960000e-01 2.000000e-03 8.186500e-01 5.596489e-01 6.393384e-01 1.148094e-01 2.421014e-01 7.709537e-04 8.552771e-04 1.551542e+00 3.562903e-01 4.125383e-01 4.125383e-01 2.503010e-01 7.327138e-02 2.421014e-01 7.709537e-04 8.552771e-04 6.436319e-01 2.598581e-01 - 99 1.980000e-01 2.000000e-03 8.197830e-01 5.579672e-01 6.386232e-01 1.150393e-01 2.433236e-01 1.123011e-03 1.292358e-03 1.549226e+00 3.575485e-01 4.147820e-01 4.147820e-01 2.516170e-01 7.363106e-02 2.433236e-01 1.123011e-03 1.292358e-03 6.469829e-01 2.610374e-01 - 100 2.000000e-01 2.000000e-03 8.209148e-01 5.562815e-01 6.379074e-01 1.153015e-01 2.445476e-01 8.985363e-04 1.028349e-03 1.546908e+00 3.589223e-01 4.170144e-01 4.170144e-01 2.529268e-01 7.404012e-02 2.445476e-01 8.985363e-04 1.028349e-03 6.503178e-01 2.623756e-01 + 1 1.000000e-03 1.000000e-03 7.072125e-01 7.054364e-01 7.056364e-01 8.839147e-02 5.701968e-03 2.967524e-03 2.947924e-03 1.762957e+00 1.771136e-01 1.222827e-02 1.222827e-02 1.577043e-02 7.426460e-04 5.701968e-03 2.967524e-03 2.947924e-03 5.244912e-02 2.843297e-03 + 2 2.000000e-03 1.000000e-03 7.073747e-01 7.044854e-01 7.050145e-01 8.841175e-02 1.078517e-02 5.218296e-03 5.150749e-03 1.761133e+00 1.777943e-01 1.946532e-02 1.946532e-02 2.280367e-02 2.034006e-03 1.078517e-02 5.218296e-03 5.150749e-03 7.263020e-02 8.110312e-03 + 3 3.000000e-03 1.000000e-03 7.075912e-01 7.036155e-01 7.044993e-01 8.844666e-02 1.526990e-02 6.955573e-03 6.834934e-03 1.759536e+00 1.781239e-01 2.617876e-02 2.617876e-02 2.845233e-02 3.211306e-03 1.526990e-02 6.955573e-03 6.834934e-03 8.918754e-02 1.081334e-02 + 4 4.000000e-03 1.000000e-03 7.078339e-01 7.028544e-01 7.040548e-01 8.848355e-02 1.945281e-02 8.259946e-03 8.103628e-03 1.758178e+00 1.784777e-01 3.207536e-02 3.207536e-02 3.324450e-02 4.103535e-03 1.945281e-02 8.259946e-03 8.103628e-03 1.029340e-01 1.307523e-02 + 5 5.000000e-03 1.000000e-03 7.080902e-01 7.021808e-01 7.036665e-01 8.851838e-02 2.347653e-02 9.149270e-03 8.958399e-03 1.757004e+00 1.788511e-01 3.730568e-02 3.730568e-02 3.738722e-02 4.796185e-03 2.347653e-02 9.149270e-03 8.958399e-03 1.146867e-01 1.502805e-02 + 6 6.000000e-03 1.000000e-03 7.083508e-01 7.015793e-01 7.033186e-01 8.854972e-02 2.738690e-02 9.715096e-03 9.470730e-03 1.755951e+00 1.792353e-01 4.196243e-02 4.196243e-02 4.094735e-02 5.343601e-03 2.738690e-02 9.715096e-03 9.470730e-03 1.246743e-01 1.668972e-02 + 7 7.000000e-03 1.000000e-03 7.086062e-01 7.010311e-01 7.030064e-01 8.858117e-02 3.118057e-02 1.003124e-02 9.720376e-03 1.754994e+00 1.796443e-01 4.607363e-02 4.607363e-02 4.384107e-02 5.841628e-03 3.118057e-02 1.003124e-02 9.720376e-03 1.326466e-01 1.829695e-02 + 8 8.000000e-03 1.000000e-03 7.088623e-01 7.005159e-01 7.027157e-01 8.861234e-02 3.488499e-02 1.016344e-02 9.763958e-03 1.754100e+00 1.800598e-01 4.985688e-02 4.985688e-02 4.643910e-02 6.296617e-03 3.488499e-02 1.016344e-02 9.763958e-03 1.397637e-01 1.973380e-02 + 9 9.000000e-03 1.000000e-03 7.091271e-01 6.999987e-01 7.024367e-01 8.864887e-02 3.845939e-02 1.012718e-02 9.615826e-03 1.753239e+00 1.805034e-01 5.349058e-02 5.349058e-02 4.882264e-02 6.791398e-03 3.845939e-02 1.012718e-02 9.615826e-03 1.462811e-01 2.115935e-02 + 10 1.000000e-02 1.000000e-03 7.094127e-01 6.994462e-01 7.021597e-01 8.869938e-02 4.185032e-02 9.954115e-03 9.310796e-03 1.752377e+00 1.810438e-01 5.715197e-02 5.715197e-02 5.102415e-02 7.421635e-03 4.185032e-02 9.954115e-03 9.310796e-03 1.522912e-01 2.295129e-02 + 11 1.100000e-02 1.000000e-03 7.097270e-01 6.988545e-01 7.018819e-01 8.876764e-02 4.505144e-02 9.676859e-03 8.897535e-03 1.751505e+00 1.817696e-01 6.092985e-02 6.092985e-02 5.313546e-02 8.197247e-03 4.505144e-02 9.676859e-03 8.897535e-03 1.580503e-01 2.556295e-02 + 12 1.200000e-02 1.000000e-03 7.100667e-01 6.982504e-01 7.016018e-01 8.884618e-02 4.810775e-02 9.277047e-03 8.411497e-03 1.750625e+00 1.826674e-01 6.476603e-02 6.476603e-02 5.529824e-02 9.008033e-03 4.810775e-02 9.277047e-03 8.411497e-03 1.640038e-01 2.882367e-02 + 13 1.300000e-02 1.000000e-03 7.104310e-01 6.976381e-01 7.013173e-01 8.893279e-02 5.103549e-02 8.782352e-03 7.876096e-03 1.749731e+00 1.836258e-01 6.864540e-02 6.864540e-02 5.750921e-02 9.825535e-03 5.103549e-02 8.782352e-03 7.876096e-03 1.701233e-01 3.220833e-02 + 14 1.400000e-02 1.000000e-03 7.108161e-01 6.970306e-01 7.010290e-01 8.901921e-02 5.385809e-02 8.215057e-03 7.315339e-03 1.748826e+00 1.843805e-01 7.252261e-02 7.252261e-02 5.975408e-02 1.057925e-02 5.385809e-02 8.215057e-03 7.315339e-03 1.763258e-01 3.475739e-02 + 15 1.500000e-02 1.000000e-03 7.112179e-01 6.964283e-01 7.007391e-01 8.910344e-02 5.657647e-02 7.591279e-03 6.727689e-03 1.747914e+00 1.851247e-01 7.636028e-02 7.636028e-02 6.201594e-02 1.126606e-02 5.657647e-02 7.591279e-03 6.727689e-03 1.825331e-01 3.705855e-02 + 16 1.600000e-02 1.000000e-03 7.116407e-01 6.958137e-01 7.004465e-01 8.919526e-02 5.917919e-02 6.905294e-03 6.104924e-03 1.746988e+00 1.859023e-01 8.020257e-02 8.020257e-02 6.423218e-02 1.197058e-02 5.917919e-02 6.905294e-03 6.104924e-03 1.885550e-01 3.932434e-02 + 17 1.700000e-02 1.000000e-03 7.120912e-01 6.951690e-01 7.001496e-01 8.930678e-02 6.165498e-02 6.178888e-03 5.466371e-03 1.746041e+00 1.869013e-01 8.410633e-02 8.410633e-02 6.636723e-02 1.277503e-02 6.165498e-02 6.178888e-03 5.466371e-03 1.942516e-01 4.224439e-02 + 18 1.800000e-02 1.000000e-03 7.125622e-01 6.945132e-01 6.998492e-01 8.942688e-02 6.405090e-02 5.442705e-03 4.833904e-03 1.745080e+00 1.880819e-01 8.800505e-02 8.800505e-02 6.842030e-02 1.358925e-02 6.405090e-02 5.442705e-03 4.833904e-03 1.996508e-01 4.558762e-02 + 19 1.900000e-02 1.000000e-03 7.130498e-01 6.938533e-01 6.995460e-01 8.954932e-02 6.638058e-02 4.726639e-03 4.223765e-03 1.744108e+00 1.893848e-01 9.186974e-02 9.186974e-02 7.039080e-02 1.437295e-02 6.638058e-02 4.726639e-03 4.223765e-03 2.047622e-01 4.907655e-02 + 20 2.000000e-02 1.000000e-03 7.135500e-01 6.931968e-01 6.992409e-01 8.966792e-02 6.865727e-02 4.036265e-03 3.639141e-03 1.743128e+00 1.903588e-01 9.567421e-02 9.567421e-02 7.228498e-02 1.509425e-02 6.865727e-02 4.036265e-03 3.639141e-03 2.096175e-01 5.161195e-02 + 21 2.100000e-02 1.000000e-03 7.140599e-01 6.925482e-01 6.989337e-01 8.978154e-02 7.088369e-02 3.386363e-03 3.085382e-03 1.742140e+00 1.912992e-01 9.940586e-02 9.940586e-02 7.410700e-02 1.575515e-02 7.088369e-02 3.386363e-03 3.085382e-03 2.142299e-01 5.391672e-02 + 22 2.200000e-02 1.000000e-03 7.145777e-01 6.919064e-01 6.986247e-01 8.989335e-02 7.305803e-02 2.802066e-03 2.577681e-03 1.741144e+00 1.922224e-01 1.030594e-01 1.030594e-01 7.586415e-02 1.638033e-02 7.305803e-02 2.802066e-03 2.577681e-03 2.186304e-01 5.606647e-02 + 23 2.300000e-02 1.000000e-03 7.151030e-01 6.912636e-01 6.983136e-01 9.000546e-02 7.517331e-02 2.292468e-03 2.142769e-03 1.740139e+00 1.931355e-01 1.066408e-01 1.066408e-01 7.755834e-02 1.698482e-02 7.517331e-02 2.292468e-03 2.142769e-03 2.228264e-01 5.809484e-02 + 24 2.400000e-02 1.000000e-03 7.156357e-01 6.906137e-01 6.980002e-01 9.011951e-02 7.723005e-02 1.862205e-03 1.792495e-03 1.739125e+00 1.940552e-01 1.101564e-01 1.101564e-01 7.919448e-02 1.757914e-02 7.723005e-02 1.862205e-03 1.792495e-03 2.268335e-01 6.006592e-02 + 25 2.500000e-02 1.000000e-03 7.161766e-01 6.899528e-01 6.976845e-01 9.023701e-02 7.922712e-02 1.517313e-03 1.548488e-03 1.738103e+00 1.950020e-01 1.136171e-01 1.136171e-01 8.078083e-02 1.817189e-02 7.922712e-02 1.517313e-03 1.548488e-03 2.306813e-01 6.204778e-02 diff --git a/tests/regression/inciter/multimat/SodShocktube/exodiff_dg.cfg b/tests/regression/inciter/multimat/SodShocktube/exodiff_dg.cfg index 2de05d35911..a71497cb235 100644 --- a/tests/regression/inciter/multimat/SodShocktube/exodiff_dg.cfg +++ b/tests/regression/inciter/multimat/SodShocktube/exodiff_dg.cfg @@ -1,11 +1,12 @@ COORDINATES absolute 1.0e-6 TIME STEPS absolute 1.0e-8 -ELEMENT VARIABLES absolute 1.0e-7 floor 1.0e-9 +ELEMENT VARIABLES absolute 1.0e-6 floor 1.0e-9 volfrac1_numerical volfrac2_numerical density_numerical + pressure_numerical + total_energy_density_numerical +ELEMENT VARIABLES absolute 1.0e-5 floor 1.0e-9 x-velocity_numerical y-velocity_numerical z-velocity_numerical - pressure_numerical - total_energy_density_numerical diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.q b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.q index 5c47cd887ac..faa23d5b9f0 100644 --- a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.q +++ b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.q @@ -6,8 +6,8 @@ title "Multi-material Sod shock-tube" inciter - nstep 100 # Max number of time steps - dt 2.0e-4 # Time step size + nstep 25 # Max number of time steps + dt 1.0e-3 # Time step size ttyi 10 # TTY output interval scheme dg @@ -38,7 +38,7 @@ inciter end plotvar - interval 20 + interval 5 end end diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.std.exo b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.std.exo index 67f423cbd0b..a8b90c483cc 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.std.exo and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg.std.exo differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.0 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.0 index 0a089538884..1fb4d012fd1 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.1 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.1 index fcbb78c29c3..5f09429dee5 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.2 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.2 index e62b8cd2a5f..15e14cd6ab0 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.3 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.3 index d964826da68..7a2b1f7f81c 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_dg_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_diag.ndiff.cfg b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_diag.ndiff.cfg index 641f1091937..02d3a3f4c96 100644 --- a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_diag.ndiff.cfg +++ b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_diag.ndiff.cfg @@ -1,3 +1,3 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float -* 2-$ any abs=1.0e-12 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 2-$ any abs=1.0e-09 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.q b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.q index a60985402f5..c64592a7d6c 100644 --- a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.q +++ b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.q @@ -6,8 +6,8 @@ title "Sod shock-tube" inciter - nstep 100 # Max number of time steps - dt 2.0e-3 # Time step size + nstep 25 # Max number of time steps + dt 1.0e-3 # Time step size ttyi 10 # TTY output interval scheme p0p1 limiter superbeep1 @@ -43,7 +43,7 @@ inciter end plotvar - interval 20 + interval 25 end end diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.std.exo b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.std.exo index 4a8047d956a..cb05d172cc5 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.std.exo and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1.std.exo differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.0 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.0 index db9c4c86e95..166b24f29aa 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.1 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.1 index 9d9c9cad338..283089702fe 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.2 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.2 index 72b3b76c678..4138e8c1721 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.3 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.3 index 2b86443100f..50ef1f46d1a 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.0 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.0 index 57f9aeccbed..68ed1f11947 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.0 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.1 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.1 index 2e2feeab0d2..a343633b18d 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.1 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.10 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.10 index 1f8c861a2dd..4bd128ab0c5 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.10 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.11 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.11 index 718ff53f4cd..54a7b6ee623 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.11 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.12 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.12 index 19d69be1798..f3e7ee3dbf0 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.12 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.13 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.13 index a2744179eac..6c1ef667fc4 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.13 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.14 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.14 index afa465f1ea6..11bb55c9723 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.14 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.15 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.15 index 9ed7b39ac05..cd60e352e7d 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.15 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.16 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.16 index d971ccbe14d..7dc35141a94 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.16 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.17 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.17 index 1668a6ce5f8..08a6ad49658 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.17 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.18 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.18 index 7b9d8d66397..4bd4d9b6163 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.18 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.19 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.19 index 24972779d06..adb3d9f960e 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.19 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.2 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.2 index eedc28368f2..4e79bb91522 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.2 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.20 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.20 index 6cefe335883..7bdd0f832ea 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.20 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.21 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.21 index 468725cdc51..e4b528900ba 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.21 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.22 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.22 index 00f1cc5814c..0af2566d3cb 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.22 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.23 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.23 index 895b422d82b..6c5cb04a169 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.23 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.24 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.24 index 1e4baef5745..ae27628f83a 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.24 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.25 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.25 index 64e855b875a..c0c8c26cc42 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.25 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.26 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.26 index 17c1d37c966..5efd32da97b 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.26 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.27 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.27 index 8879d751f95..89cdf2700dc 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.27 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.28 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.28 index 108f2322a00..49394aa25f6 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.28 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.29 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.29 index 4421b3dc294..f2f1172d8f4 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.29 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.3 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.3 index 38522251efe..3c2665c22b6 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.3 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.30 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.30 index 3f224d18c82..6769004ac62 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.30 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.31 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.31 index cb302ecdff3..0abc1810469 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.31 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.32 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.32 index ae53398a72d..acb9b24fa61 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.32 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.33 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.33 index aa4a44e0bdc..02861e0ce73 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.33 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.34 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.34 index 3973e00a6e7..5aff35dd918 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.34 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.35 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.35 index 25f20f86b55..26c8b5627c3 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.35 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.36 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.36 index 876b66867f4..ad753930934 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.36 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.37 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.37 index af74ac36000..5eb8db202e3 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.37 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.38 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.38 index 0a8f0793d75..cebd3934a63 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.38 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.38 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.4 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.4 index b5135b552b9..8bd5c6a4dbb 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.4 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.5 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.5 index 44e2ee2faac..f9875e271c5 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.5 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.6 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.6 index 2dc07df7620..526098d4e9c 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.6 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.7 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.7 index 55e03852b10..cf6a3c0f31c 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.7 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.8 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.8 index 675a639f176..cd944f6fd61 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.8 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.9 b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.9 index 2eee8675849..185e8b170a6 100644 Binary files a/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.9 and b/tests/regression/inciter/multimat/SodShocktube/sod_shocktube_p0p1_pe4_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/CMakeLists.txt b/tests/regression/inciter/multimat/WaterAirShocktube/CMakeLists.txt new file mode 100644 index 00000000000..918c78eb23c --- /dev/null +++ b/tests/regression/inciter/multimat/WaterAirShocktube/CMakeLists.txt @@ -0,0 +1,17 @@ +# See cmake/add_regression_test.cmake for documentation on the arguments to +# add_regression_test(). + +# Serial + +add_regression_test(multimat_waterair_shocktube_p0p1 ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES waterair_shocktube_p0p1.q rectangle_01_1.5k.exo + ARGS -c waterair_shocktube_p0p1.q -i rectangle_01_1.5k.exo -v + BIN_BASELINE waterair_shocktube_p0p1.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff_dg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE diag_p0p1.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF waterair_shocktube_diag.ndiff.cfg + LABELS dg) diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/diag_p0p1.std b/tests/regression/inciter/multimat/WaterAirShocktube/diag_p0p1.std new file mode 100644 index 00000000000..796d6bd29a8 --- /dev/null +++ b/tests/regression/inciter/multimat/WaterAirShocktube/diag_p0p1.std @@ -0,0 +1,26 @@ +# 1:it 2:t 3:dt 4:L2(r) 5:L2(ru) 6:L2(rv) 7:L2(rw) 8:L2(re) 9:L2(r-IC) 10:L2(ru-IC) 11:L2(rv-IC) 12:L2(rw-IC) 13:L2(re-IC) + 1 1.000000e-08 1.000000e-08 8.652969e-01 5.012341e-01 8.652854e+02 5.012483e+00 8.566001e+01 3.029254e+01 3.039910e+01 9.263463e+08 2.648059e+05 1.689384e-04 1.689384e-04 2.208673e-01 6.333523e-04 8.566001e+01 3.029254e+01 3.039910e+01 3.211088e+05 2.150486e+05 + 2 2.000000e-08 1.000000e-08 8.652970e-01 5.012096e-01 8.652714e+02 5.012483e+00 1.706300e+02 6.073660e+01 6.115423e+01 9.263177e+08 4.505426e+05 3.310041e-04 3.310041e-04 4.321645e-01 1.860836e-03 1.706300e+02 6.073660e+01 6.115423e+01 6.258283e+05 4.141608e+05 + 3 3.000000e-08 1.000000e-08 8.652970e-01 5.011853e-01 8.652574e+02 5.012484e+00 2.551243e+02 9.112639e+01 9.206303e+01 9.262898e+08 6.358299e+05 4.921600e-04 4.921600e-04 6.415253e-01 3.477113e-03 2.551243e+02 9.112639e+01 9.206303e+01 9.253514e+05 6.046019e+05 + 4 4.000000e-08 1.000000e-08 8.652971e-01 5.011612e-01 8.652438e+02 5.012486e+00 3.392798e+02 1.213640e+02 1.230197e+02 9.262627e+08 8.144862e+05 6.517842e-04 6.517842e-04 8.480351e-01 5.385344e-03 3.392798e+02 1.213640e+02 1.230197e+02 1.218397e+06 7.859360e+05 + 5 5.000000e-08 1.000000e-08 8.652973e-01 5.011390e-01 8.652312e+02 5.012488e+00 4.232162e+02 1.514375e+02 1.539997e+02 9.262383e+08 8.475976e+05 7.982556e-04 7.982556e-04 1.038328e+00 7.415658e-03 4.232162e+02 1.514375e+02 1.539997e+02 1.548705e+06 8.190197e+05 + 6 6.000000e-08 1.000000e-08 8.652974e-01 5.011186e-01 8.652197e+02 5.012492e+00 5.071099e+02 1.812866e+02 1.849132e+02 9.262163e+08 8.822694e+05 9.315797e-04 9.315797e-04 1.212604e+00 9.443475e-03 5.071099e+02 1.812866e+02 1.849132e+02 1.853703e+06 8.537735e+05 + 7 7.000000e-08 1.000000e-08 8.652975e-01 5.010991e-01 8.652089e+02 5.012496e+00 5.910519e+02 2.108501e+02 2.156830e+02 9.261958e+08 9.176413e+05 1.057995e-03 1.057995e-03 1.378065e+00 1.146988e-02 5.910519e+02 2.108501e+02 2.156830e+02 2.142430e+06 8.892948e+05 + 8 8.000000e-08 1.000000e-08 8.652977e-01 5.010804e-01 8.651986e+02 5.012501e+00 6.750901e+02 2.401042e+02 2.462744e+02 9.261764e+08 9.530583e+05 1.179684e-03 1.179684e-03 1.537213e+00 1.349521e-02 6.750901e+02 2.401042e+02 2.462744e+02 2.418356e+06 9.248994e+05 + 9 9.000000e-08 1.000000e-08 8.652979e-01 5.010624e-01 8.651887e+02 5.012507e+00 7.592878e+02 2.690105e+02 2.766243e+02 9.261581e+08 9.613124e+05 1.296862e-03 1.296862e-03 1.689352e+00 1.553227e-02 7.592878e+02 2.690105e+02 2.766243e+02 2.687753e+06 9.331716e+05 + 10 1.000000e-07 1.000000e-08 8.652980e-01 5.010452e-01 8.651792e+02 5.012514e+00 8.436609e+02 2.975598e+02 3.066797e+02 9.261409e+08 9.691943e+05 1.409917e-03 1.409917e-03 1.834649e+00 1.758720e-02 8.436609e+02 2.975598e+02 3.066797e+02 2.943558e+06 9.410661e+05 + 11 1.100000e-07 1.000000e-08 8.652982e-01 5.010285e-01 8.651702e+02 5.012521e+00 9.281920e+02 3.257695e+02 3.364419e+02 9.261245e+08 9.767231e+05 1.519744e-03 1.519744e-03 1.974688e+00 1.965313e-02 9.281920e+02 3.257695e+02 3.364419e+02 3.188594e+06 9.486024e+05 + 12 1.200000e-07 1.000000e-08 8.652984e-01 5.010123e-01 8.651614e+02 5.012530e+00 1.012841e+03 3.536564e+02 3.659195e+02 9.261088e+08 9.839190e+05 1.626894e-03 1.626894e-03 2.110393e+00 2.172534e-02 1.012841e+03 3.536564e+02 3.659195e+02 3.424567e+06 9.558011e+05 + 13 1.300000e-07 1.000000e-08 8.652986e-01 5.009964e-01 8.651529e+02 5.012539e+00 1.097347e+03 3.812782e+02 3.951616e+02 9.260936e+08 9.908332e+05 1.731885e-03 1.731885e-03 2.242566e+00 2.380038e-02 1.097347e+03 3.812782e+02 3.951616e+02 3.653194e+06 9.627142e+05 + 14 1.400000e-07 1.000000e-08 8.652988e-01 5.009808e-01 8.651446e+02 5.012550e+00 1.181685e+03 4.086388e+02 4.241651e+02 9.260790e+08 9.974814e+05 1.834971e-03 1.834971e-03 2.371608e+00 2.587572e-02 1.181685e+03 4.086388e+02 4.241651e+02 3.875231e+06 9.693576e+05 + 15 1.500000e-07 1.000000e-08 8.652991e-01 5.009655e-01 8.651364e+02 5.012561e+00 1.265855e+03 4.357368e+02 4.529224e+02 9.260647e+08 1.003876e+06 1.936337e-03 1.936337e-03 2.497805e+00 2.794918e-02 1.265855e+03 4.357368e+02 4.529224e+02 4.091213e+06 9.757437e+05 + 16 1.600000e-07 1.000000e-08 8.652993e-01 5.009504e-01 8.651285e+02 5.012573e+00 1.349857e+03 4.625717e+02 4.814271e+02 9.260509e+08 1.010028e+06 2.036124e-03 2.036124e-03 2.621385e+00 3.001888e-02 1.349857e+03 4.625717e+02 4.814271e+02 4.301578e+06 9.818851e+05 + 17 1.700000e-07 1.000000e-08 8.652995e-01 5.009356e-01 8.651207e+02 5.012585e+00 1.433695e+03 4.891437e+02 5.096739e+02 9.260374e+08 1.015951e+06 2.134453e-03 2.134453e-03 2.742531e+00 3.208323e-02 1.433695e+03 4.891437e+02 5.096739e+02 4.506694e+06 9.877941e+05 + 18 1.800000e-07 1.000000e-08 8.652998e-01 5.009210e-01 8.651131e+02 5.012599e+00 1.517370e+03 5.154533e+02 5.376582e+02 9.260243e+08 1.021656e+06 2.231420e-03 2.231420e-03 2.861398e+00 3.414063e-02 1.517370e+03 5.154533e+02 5.376582e+02 4.706874e+06 9.934827e+05 + 19 1.900000e-07 1.000000e-08 8.653000e-01 5.009066e-01 8.651056e+02 5.012613e+00 1.600886e+03 5.415014e+02 5.653764e+02 9.260116e+08 1.027155e+06 2.327111e-03 2.327111e-03 2.978119e+00 3.618966e-02 1.600886e+03 5.415014e+02 5.653764e+02 4.902393e+06 9.989630e+05 + 20 2.000000e-07 1.000000e-08 8.653003e-01 5.008924e-01 8.650982e+02 5.012629e+00 1.684246e+03 5.672892e+02 5.928253e+02 9.259991e+08 1.032459e+06 2.421597e-03 2.421597e-03 3.092808e+00 3.822919e-02 1.684246e+03 5.672892e+02 5.928253e+02 5.093494e+06 1.004246e+06 + 21 2.100000e-07 1.000000e-08 8.653005e-01 5.008784e-01 8.650910e+02 5.012644e+00 1.767452e+03 5.928181e+02 6.200025e+02 9.259870e+08 1.037578e+06 2.514944e-03 2.514944e-03 3.205566e+00 4.025820e-02 1.767452e+03 5.928181e+02 6.200025e+02 5.280395e+06 1.009343e+06 + 22 2.200000e-07 1.000000e-08 8.653008e-01 5.008645e-01 8.650839e+02 5.012661e+00 1.850509e+03 6.180899e+02 6.469061e+02 9.259751e+08 1.042523e+06 2.607206e-03 2.607206e-03 3.316484e+00 4.227580e-02 1.850509e+03 6.180899e+02 6.469061e+02 5.463293e+06 1.014264e+06 + 23 2.300000e-07 1.000000e-08 8.653011e-01 5.008509e-01 8.650769e+02 5.012678e+00 1.933418e+03 6.431065e+02 6.735344e+02 9.259635e+08 1.047303e+06 2.698436e-03 2.698436e-03 3.425643e+00 4.428121e-02 1.933418e+03 6.431065e+02 6.735344e+02 5.642368e+06 1.019019e+06 + 24 2.400000e-07 1.000000e-08 8.653014e-01 5.008373e-01 8.650700e+02 5.012696e+00 2.016185e+03 6.678698e+02 6.998864e+02 9.259522e+08 1.051928e+06 2.788680e-03 2.788680e-03 3.533117e+00 4.627374e-02 2.016185e+03 6.678698e+02 6.998864e+02 5.817787e+06 1.023616e+06 + 25 2.500000e-07 1.000000e-08 8.653017e-01 5.008240e-01 8.650633e+02 5.012715e+00 2.098811e+03 6.923822e+02 7.259614e+02 9.259411e+08 1.056406e+06 2.877981e-03 2.877981e-03 3.638976e+00 4.825280e-02 2.098811e+03 6.923822e+02 7.259614e+02 5.989705e+06 1.028066e+06 diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/exodiff_dg.cfg b/tests/regression/inciter/multimat/WaterAirShocktube/exodiff_dg.cfg new file mode 100644 index 00000000000..68f8598898a --- /dev/null +++ b/tests/regression/inciter/multimat/WaterAirShocktube/exodiff_dg.cfg @@ -0,0 +1,11 @@ +COORDINATES absolute 1.0e-6 +TIME STEPS absolute 1.0e-8 +ELEMENT VARIABLES absolute 1.0e-6 floor 1.0e-9 + volfrac1_numerical + volfrac2_numerical + density_numerical + x-velocity_numerical + y-velocity_numerical + z-velocity_numerical + pressure_numerical + total_energy_density_numerical diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/rectangle_01_1.5k.exo b/tests/regression/inciter/multimat/WaterAirShocktube/rectangle_01_1.5k.exo new file mode 100644 index 00000000000..3c560049e39 Binary files /dev/null and b/tests/regression/inciter/multimat/WaterAirShocktube/rectangle_01_1.5k.exo differ diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_diag.ndiff.cfg b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_diag.ndiff.cfg new file mode 100644 index 00000000000..e7977a1433c --- /dev/null +++ b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_diag.ndiff.cfg @@ -0,0 +1,5 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-$ any abs=1.0e-08 rel=1.0e-6 # tolerance for t, dt, and L2 of conserved variables +#* 15-16 any abs=1.0e-10 rel=1.0e-6 # tolerance for L2 of partial densities +#* 17-$ any abs=1.0e-10 rel=2.0e-7 # tolerance for momentum and material total energies diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.q b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.q new file mode 100644 index 00000000000..67fda2e5227 --- /dev/null +++ b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.q @@ -0,0 +1,54 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Water-air shock-tube" + +inciter + + nstep 25 + dt 1.0e-8 + ttyi 10 # TTY output interval + scheme p0p1 + limiter superbeep1 + + partitioning + algorithm mj + end + + multimat + + physics veleq + problem waterair_shocktube + depvar u + + prelax 1 + prelax_timescale 0.25 + + nmat 2 + material + gamma 4.4 1.4 end # ratio of specific heats + cv 951.36 717.5 end # specific heat at const volume + pstiff 6.0e8 0.0 end # sg-eos stiffness parameter + end + + bc_extrapolate + sideset 1 3 end + end + bc_sym + sideset 2 4 5 6 end + end + + end + + diagnostics + interval 1 + format scientific + error l2 + end + + plotvar + interval 25 + end + +end diff --git a/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.std.exo b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.std.exo new file mode 100644 index 00000000000..198a00a0585 Binary files /dev/null and b/tests/regression/inciter/multimat/WaterAirShocktube/waterair_shocktube_p0p1.std.exo differ diff --git a/tests/regression/inciter/restart/CMakeLists.txt b/tests/regression/inciter/restart/CMakeLists.txt index 6844c859526..42bd8a434e4 100644 --- a/tests/regression/inciter/restart/CMakeLists.txt +++ b/tests/regression/inciter/restart/CMakeLists.txt @@ -13,7 +13,7 @@ add_regression_test(trans_diagcg_checkpoint ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_checkpoint.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg - LABELS restart) + LABELS diagcg restart) add_regression_test(trans_diagcg_restart ${INCITER_EXECUTABLE} NUMPES 1 @@ -27,7 +27,33 @@ add_regression_test(trans_diagcg_restart ${INCITER_EXECUTABLE} TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg CHECKPOINT trans_diagcg_checkpoint - LABELS restart) + LABELS diagcg restart) + +add_regression_test(trans_alecg_checkpoint ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES slot_cyl_alecg.q unitsquare_01_3.6k.exo + ARGS -c slot_cyl_alecg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE slot_cyl_alecg_checkpoint.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE slot_cyl_alecg_checkpoint.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg + LABELS alecg restart) + +add_regression_test(trans_alecg_restart ${INCITER_EXECUTABLE} + NUMPES 1 + INPUTFILES slot_cyl_alecg_restart.q unitsquare_01_3.6k.exo + ARGS -c slot_cyl_alecg_restart.q -i unitsquare_01_3.6k.exo -v + +restart restart + BIN_BASELINE slot_cyl_alecg.std.exo + BIN_RESULT out.e-s.0.1.0 + BIN_DIFF_PROG_CONF exodiff.cfg + TEXT_BASELINE slot_cyl_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg + CHECKPOINT trans_alecg_checkpoint + LABELS alecg restart) # Parallel, checkpoint on 4 PEs, restart on 4 PEs @@ -48,7 +74,7 @@ add_regression_test(trans_diagcg_checkpoint ${INCITER_EXECUTABLE} TEXT_BASELINE slot_cyl_checkpoint.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg - LABELS restart) + LABELS diagcg restart) add_regression_test(trans_diagcg_restart ${INCITER_EXECUTABLE} NUMPES 4 @@ -69,4 +95,44 @@ add_regression_test(trans_diagcg_restart ${INCITER_EXECUTABLE} TEXT_RESULT diag TEXT_DIFF_PROG_CONF slot_cyl_diag.ndiff.cfg CHECKPOINT trans_diagcg_checkpoint - LABELS restart) + LABELS diagcg restart) + +add_regression_test(trans_alecg_checkpoint ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES slot_cyl_alecg.q unitsquare_01_3.6k.exo + ARGS -c slot_cyl_alecg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE slot_cyl_alecg_checkpoint.std.exo.0 + slot_cyl_alecg_checkpoint.std.exo.1 + slot_cyl_alecg_checkpoint.std.exo.2 + slot_cyl_alecg_checkpoint.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE slot_cyl_alecg_checkpoint.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF slot_cyl_alecg_diag.ndiff.cfg + LABELS alecg restart) + +add_regression_test(trans_alecg_restart ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES slot_cyl_alecg_restart.q unitsquare_01_3.6k.exo + ARGS -c slot_cyl_alecg_restart.q -i unitsquare_01_3.6k.exo -v + +restart restart + BIN_BASELINE slot_cyl_alecg.std.exo.0 + slot_cyl_alecg.std.exo.1 + slot_cyl_alecg.std.exo.2 + slot_cyl_alecg.std.exo.3 + BIN_RESULT out.e-s.0.4.0 + out.e-s.0.4.1 + out.e-s.0.4.2 + out.e-s.0.4.3 + BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_BASELINE slot_cyl_alecg.std + TEXT_RESULT diag + TEXT_DIFF_PROG_CONF slot_cyl_alecg_diag.ndiff.cfg + CHECKPOINT trans_alecg_checkpoint + LABELS alecg restart) diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.q b/tests/regression/inciter/restart/slot_cyl_alecg.q new file mode 100644 index 00000000000..8920bf79978 --- /dev/null +++ b/tests/regression/inciter/restart/slot_cyl_alecg.q @@ -0,0 +1,27 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Zalesak's slotted cylinder" + +inciter + + nstep 5 # Max number of time steps + cfl 0.8 # CFL coefficient + ttyi 1 # TTY output interval + ctau 1.0 # FCT mass diffusivity + + scheme alecg + + transport + depvar c + physics advection + problem slot_cyl + end + + plotvar + interval 1 + filetype exodusii + end + +end diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std b/tests/regression/inciter/restart/slot_cyl_alecg.std new file mode 100644 index 00000000000..a3b0a404b11 --- /dev/null +++ b/tests/regression/inciter/restart/slot_cyl_alecg.std @@ -0,0 +1,11 @@ +# 1:it 2:t 3:dt 4:L2(c0) + 1 0.00835669 0.00835669 0.169798 + 2 0.0167134 0.00835669 0.16973 + 3 0.0250701 0.00835669 0.169636 + 4 0.0334268 0.00835669 0.16952 + 5 0.0417835 0.00835669 0.169389 + 6 0.0501402 0.00835669 0.169246 + 7 0.0584968 0.00835669 0.169095 + 8 0.0668535 0.00835669 0.168938 + 9 0.0752102 0.00835669 0.16878 + 10 0.0835669 0.00835669 0.168625 diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std.exo b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo new file mode 100644 index 00000000000..2fb536216cc Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.0 b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.0 new file mode 100644 index 00000000000..f68a8288ff7 Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.0 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.1 b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.1 new file mode 100644 index 00000000000..bcda1a52997 Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.1 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.2 b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.2 new file mode 100644 index 00000000000..506bfe65ccf Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.2 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.3 b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.3 new file mode 100644 index 00000000000..769f774f7aa Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg.std.exo.3 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std new file mode 100644 index 00000000000..b3f170a3645 --- /dev/null +++ b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std @@ -0,0 +1,6 @@ +# 1:it 2:t 3:dt 4:L2(c0) + 1 0.00835669 0.00835669 0.169798 + 2 0.0167134 0.00835669 0.16973 + 3 0.0250701 0.00835669 0.169636 + 4 0.0334268 0.00835669 0.16952 + 5 0.0417835 0.00835669 0.169389 diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo new file mode 100644 index 00000000000..ba4f551f31c Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.0 b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.0 new file mode 100644 index 00000000000..03ae90bca88 Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.0 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.1 b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.1 new file mode 100644 index 00000000000..bf112b0fb31 Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.1 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.2 b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.2 new file mode 100644 index 00000000000..c87a51c5d30 Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.2 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.3 b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.3 new file mode 100644 index 00000000000..9ea57806a6c Binary files /dev/null and b/tests/regression/inciter/restart/slot_cyl_alecg_checkpoint.std.exo.3 differ diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_diag.ndiff.cfg b/tests/regression/inciter/restart/slot_cyl_alecg_diag.ndiff.cfg new file mode 100644 index 00000000000..7144501ecde --- /dev/null +++ b/tests/regression/inciter/restart/slot_cyl_alecg_diag.ndiff.cfg @@ -0,0 +1,4 @@ +#rows cols constraints +* 1 # iteration count: no constraint: smallest representable float +* 2-4 any abs=1.0e-12 rel=6.0e-6 # tolerance for t, dt, and L2 of conserved variables +* 5 skip diff --git a/tests/regression/inciter/restart/slot_cyl_alecg_restart.q b/tests/regression/inciter/restart/slot_cyl_alecg_restart.q new file mode 100644 index 00000000000..7647bc276a6 --- /dev/null +++ b/tests/regression/inciter/restart/slot_cyl_alecg_restart.q @@ -0,0 +1,27 @@ +# vim: filetype=sh: +# This is a comment +# Keywords are case-sensitive + +title "Zalesak's slotted cylinder - restarted" + +inciter + + nstep 10 # Max number of time steps + cfl 0.8 # CFL coefficient + ttyi 1 # TTY output interval + ctau 1.0 # FCT mass diffusivity + + scheme alecg + + transport + depvar c + physics advection + problem slot_cyl + end + + plotvar + interval 1 + filetype exodusii + end + +end diff --git a/tests/regression/inciter/restart/slot_cyl_diag.ndiff.cfg b/tests/regression/inciter/restart/slot_cyl_diag.ndiff.cfg index 641f1091937..4a0dd6ad02f 100644 --- a/tests/regression/inciter/restart/slot_cyl_diag.ndiff.cfg +++ b/tests/regression/inciter/restart/slot_cyl_diag.ndiff.cfg @@ -1,3 +1,4 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float -* 2-$ any abs=1.0e-12 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 2-4 any abs=1.0e-12 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 5 skip diff --git a/tests/regression/inciter/transport/CylAdvect/CMakeLists.txt b/tests/regression/inciter/transport/CylAdvect/CMakeLists.txt index 348d8d2fb4a..8f059207015 100644 --- a/tests/regression/inciter/transport/CylAdvect/CMakeLists.txt +++ b/tests/regression/inciter/transport/CylAdvect/CMakeLists.txt @@ -13,7 +13,8 @@ add_regression_test(cyl_advect_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg + LABELS dg) add_regression_test(cyl_advect_dgp1 ${INCITER_EXECUTABLE} NUMPES 1 @@ -25,7 +26,8 @@ add_regression_test(cyl_advect_dgp1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg + LABELS dg) add_regression_test(cyl_advect_dgp1 ${INCITER_EXECUTABLE} NUMPES 4 @@ -43,29 +45,8 @@ add_regression_test(cyl_advect_dgp1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg) - -# Non-blocking migration - -add_regression_test(cyl_advect_dgp1_lbfreq5_migr ${INCITER_EXECUTABLE} - NUMPES 4 - INPUTFILES cyl_advect_dgp1.q unitsquare_01_3.6k.exo - ARGS -c cyl_advect_dgp1.q -i unitsquare_01_3.6k.exo -v - -l 5 +balancer RandCentLB +LBDebug 1 - BIN_BASELINE cyl_advect_dgp1_pe4_u0.0.std.exo.0 - cyl_advect_dgp1_pe4_u0.0.std.exo.1 - cyl_advect_dgp1_pe4_u0.0.std.exo.2 - cyl_advect_dgp1_pe4_u0.0.std.exo.3 - BIN_RESULT out.e-s.0.4.0 - out.e-s.0.4.1 - out.e-s.0.4.2 - out.e-s.0.4.3 - BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag_dgp1.std - TEXT_RESULT diag - LABELS migration - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg + LABELS dg) # Virtualization = 0.90 @@ -157,102 +138,11 @@ add_regression_test(cyl_advect_dgp1_u0.90 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg + LABELS dg) # Migration + Virtualization(0.90) -add_regression_test(cyl_advect_dgp1_u0.90_migr ${INCITER_EXECUTABLE} - NUMPES 4 - INPUTFILES cyl_advect_dgp1.q unitsquare_01_3.6k.exo - ARGS -c cyl_advect_dgp1.q -i unitsquare_01_3.6k.exo -v -u 0.90 - +balancer RandCentLB +LBDebug 1 - BIN_BASELINE cyl_advect_dgp1_pe4_u0.90.std.exo.0 - cyl_advect_dgp1_pe4_u0.90.std.exo.1 - cyl_advect_dgp1_pe4_u0.90.std.exo.2 - cyl_advect_dgp1_pe4_u0.90.std.exo.3 - cyl_advect_dgp1_pe4_u0.90.std.exo.4 - cyl_advect_dgp1_pe4_u0.90.std.exo.5 - cyl_advect_dgp1_pe4_u0.90.std.exo.6 - cyl_advect_dgp1_pe4_u0.90.std.exo.7 - cyl_advect_dgp1_pe4_u0.90.std.exo.8 - cyl_advect_dgp1_pe4_u0.90.std.exo.9 - cyl_advect_dgp1_pe4_u0.90.std.exo.10 - cyl_advect_dgp1_pe4_u0.90.std.exo.11 - cyl_advect_dgp1_pe4_u0.90.std.exo.12 - cyl_advect_dgp1_pe4_u0.90.std.exo.13 - cyl_advect_dgp1_pe4_u0.90.std.exo.14 - cyl_advect_dgp1_pe4_u0.90.std.exo.15 - cyl_advect_dgp1_pe4_u0.90.std.exo.16 - cyl_advect_dgp1_pe4_u0.90.std.exo.17 - cyl_advect_dgp1_pe4_u0.90.std.exo.18 - cyl_advect_dgp1_pe4_u0.90.std.exo.19 - cyl_advect_dgp1_pe4_u0.90.std.exo.20 - cyl_advect_dgp1_pe4_u0.90.std.exo.21 - cyl_advect_dgp1_pe4_u0.90.std.exo.22 - cyl_advect_dgp1_pe4_u0.90.std.exo.23 - cyl_advect_dgp1_pe4_u0.90.std.exo.24 - cyl_advect_dgp1_pe4_u0.90.std.exo.25 - cyl_advect_dgp1_pe4_u0.90.std.exo.26 - cyl_advect_dgp1_pe4_u0.90.std.exo.27 - cyl_advect_dgp1_pe4_u0.90.std.exo.28 - cyl_advect_dgp1_pe4_u0.90.std.exo.29 - cyl_advect_dgp1_pe4_u0.90.std.exo.30 - cyl_advect_dgp1_pe4_u0.90.std.exo.31 - cyl_advect_dgp1_pe4_u0.90.std.exo.32 - cyl_advect_dgp1_pe4_u0.90.std.exo.33 - cyl_advect_dgp1_pe4_u0.90.std.exo.34 - cyl_advect_dgp1_pe4_u0.90.std.exo.35 - cyl_advect_dgp1_pe4_u0.90.std.exo.36 - cyl_advect_dgp1_pe4_u0.90.std.exo.37 - cyl_advect_dgp1_pe4_u0.90.std.exo.38 - cyl_advect_dgp1_pe4_u0.90.std.exo.39 - BIN_RESULT out.e-s.0.40.0 - out.e-s.0.40.1 - out.e-s.0.40.2 - out.e-s.0.40.3 - out.e-s.0.40.4 - out.e-s.0.40.5 - out.e-s.0.40.6 - out.e-s.0.40.7 - out.e-s.0.40.8 - out.e-s.0.40.9 - out.e-s.0.40.10 - out.e-s.0.40.11 - out.e-s.0.40.12 - out.e-s.0.40.13 - out.e-s.0.40.14 - out.e-s.0.40.15 - out.e-s.0.40.16 - out.e-s.0.40.17 - out.e-s.0.40.18 - out.e-s.0.40.19 - out.e-s.0.40.20 - out.e-s.0.40.21 - out.e-s.0.40.22 - out.e-s.0.40.23 - out.e-s.0.40.24 - out.e-s.0.40.25 - out.e-s.0.40.26 - out.e-s.0.40.27 - out.e-s.0.40.28 - out.e-s.0.40.29 - out.e-s.0.40.30 - out.e-s.0.40.31 - out.e-s.0.40.32 - out.e-s.0.40.33 - out.e-s.0.40.34 - out.e-s.0.40.35 - out.e-s.0.40.36 - out.e-s.0.40.37 - out.e-s.0.40.38 - out.e-s.0.40.39 - BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag_dgp1.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg - LABELS migration) - add_regression_test(cyl_advect_dgp1_u0.90_lbfreq5_migr ${INCITER_EXECUTABLE} NUMPES 4 INPUTFILES cyl_advect_dgp1.q unitsquare_01_3.6k.exo @@ -343,7 +233,7 @@ add_regression_test(cyl_advect_dgp1_u0.90_lbfreq5_migr ${INCITER_EXECUTABLE} TEXT_BASELINE diag_dgp1.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg - LABELS migration) + LABELS dg migration) add_regression_test(cyl_advect_dgp1_weno_u0.90_lbfreq5_migr ${INCITER_EXECUTABLE} NUMPES 4 @@ -435,4 +325,4 @@ add_regression_test(cyl_advect_dgp1_weno_u0.90_lbfreq5_migr ${INCITER_EXECUTABLE TEXT_BASELINE diag_dgp1_weno.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF cyl_advect_diag.ndiff.cfg - LABELS migration) + LABELS dg migration) diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1.std.exo b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1.std.exo index 3fa3adda791..590a6b1048e 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1.std.exo and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1.std.exo differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.0 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.0 index 86488c6843c..95270aff6f4 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.1 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.1 index 56e26f347e5..aef78e2d7a8 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.2 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.2 index 3a88b2cdd07..38f34a39b63 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.3 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.3 index 41e974f0f3e..e258c32ec0f 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.0 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.0 index 7aacfd17767..ca621fba3a3 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.0 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.0 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.1 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.1 index 828a8a8f9c8..43fe92f025f 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.1 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.1 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.10 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.10 index 1ee255b2a76..c4d4875b5e8 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.10 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.10 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.11 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.11 index 2cb60791052..c90657bd5da 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.11 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.11 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.12 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.12 index f1929feefc0..9d3c12a00ef 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.12 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.12 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.13 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.13 index e4e75cce92d..cba63776582 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.13 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.13 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.14 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.14 index b93b8a18145..7d42f3fddcc 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.14 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.14 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.15 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.15 index cd339e382da..237881ebd4b 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.15 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.15 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.16 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.16 index 2421ce838b6..b487c897d47 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.16 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.16 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.17 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.17 index 6007d77bb0d..f9d7ecdf4de 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.17 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.17 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.18 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.18 index ac7b7fc466d..10a6bec5ad7 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.18 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.18 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.19 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.19 index a75e181ab52..7f7db215ebc 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.19 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.19 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.2 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.2 index c94b27f44c2..34cc04498f8 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.2 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.2 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.20 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.20 index 913a37da69c..97e6b0f2dbf 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.20 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.20 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.21 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.21 index 69c660430fe..86b19bfdbfa 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.21 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.21 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.22 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.22 index 1d15a7fdd03..e3b5b350cad 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.22 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.22 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.23 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.23 index 4a7f8f5401f..a7046b6f9c6 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.23 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.23 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.24 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.24 index ad76502e723..40e64d9eb2a 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.24 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.24 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.25 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.25 index 2ee0e550ed9..d9a2d8aa9ed 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.25 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.25 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.26 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.26 index 45e0f524895..39d7e328d08 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.26 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.26 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.27 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.27 index 4562ea7615a..846779eaf6c 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.27 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.27 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.28 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.28 index b678c6b6626..3c0f54f95c1 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.28 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.28 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.29 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.29 index 2116a012779..50609d634f0 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.29 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.29 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.3 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.3 index 4305dc98384..dd585b37bd9 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.3 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.3 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.30 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.30 index 61f429c5f50..61f5ea6e4c3 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.30 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.30 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.31 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.31 index c19ae497f57..e7f74659613 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.31 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.31 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.32 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.32 index b85892da66a..4b4b564fe02 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.32 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.32 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.33 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.33 index ebb4075e9b3..464ef23c9d2 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.33 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.33 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.34 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.34 index b287088ed2d..adbe210f469 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.34 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.34 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.35 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.35 index 7df6bcab79f..b88f88a02ed 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.35 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.35 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.36 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.36 index 465457ed8d6..2ea99cb3047 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.36 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.36 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.37 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.37 index 6b6512d222a..5d258a3fa00 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.37 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.37 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.38 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.38 index 8d5b22d17f1..7a98a01bfd9 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.38 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.38 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.39 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.39 index 4a486149d7b..2b97eaee951 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.39 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.39 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.4 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.4 index 688439a92ca..1625571966c 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.4 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.4 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.5 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.5 index fdce14d8fbe..b706599d2fb 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.5 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.5 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.6 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.6 index 91ff47b14c0..c75b11f92e6 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.6 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.6 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.7 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.7 index 7ee2e4eb444..5c81ba34d80 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.7 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.7 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.8 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.8 index 86d262c68b2..9ffa594e4ff 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.8 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.8 differ diff --git a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.9 b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.9 index b774a33565e..64617c91a0f 100644 Binary files a/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.9 and b/tests/regression/inciter/transport/CylAdvect/cyl_advect_dgp1_pe4_u0.90.std.exo.9 differ diff --git a/tests/regression/inciter/transport/GaussHump/CMakeLists.txt b/tests/regression/inciter/transport/GaussHump/CMakeLists.txt index 7cde750c4b5..b1a69a802dd 100644 --- a/tests/regression/inciter/transport/GaussHump/CMakeLists.txt +++ b/tests/regression/inciter/transport/GaussHump/CMakeLists.txt @@ -1,19 +1,20 @@ # See cmake/add_regression_test.cmake for documentation on the arguments to # add_regression_test(). -# Virtualization = 0 +# Serial -add_regression_test(gauss_hump_dg ${INCITER_EXECUTABLE} +add_regression_test(gauss_hump_alecg ${INCITER_EXECUTABLE} NUMPES 1 - INPUTFILES gauss_hump.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump.q -i unitsquare_01_3.6k.exo -v - BIN_BASELINE gauss_hump.std.exo + INPUTFILES gauss_hump_alecg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_alecg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE gauss_hump_alecg.std.exo BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg + BIN_DIFF_PROG_CONF exodiff_cg.cfg BIN_DIFF_PROG_ARGS -m - TEXT_BASELINE diag.std + TEXT_BASELINE diag_alecg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS alecg) add_regression_test(gauss_hump_p0p1 ${INCITER_EXECUTABLE} NUMPES 1 @@ -25,19 +26,8 @@ add_regression_test(gauss_hump_p0p1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) - -add_regression_test(gauss_hump_dgp1 ${INCITER_EXECUTABLE} - NUMPES 1 - INPUTFILES gauss_hump_dgp1.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump_dgp1.q -i unitsquare_01_3.6k.exo -v - BIN_BASELINE gauss_hump_dgp1.std.exo - BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg - BIN_DIFF_PROG_ARGS -m - TEXT_BASELINE diag_dgp1.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) add_regression_test(gauss_hump_dgp2 ${INCITER_EXECUTABLE} NUMPES 1 @@ -49,37 +39,29 @@ add_regression_test(gauss_hump_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_ARGS -m TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) -add_regression_test(gauss_hump_pdg ${INCITER_EXECUTABLE} - NUMPES 1 - INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v - BIN_BASELINE gauss_hump_pdg.std.exo - BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg - BIN_DIFF_PROG_ARGS -m - TEXT_BASELINE diag_pdg.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) +# Parallel without virtualization -add_regression_test(gauss_hump_dg ${INCITER_EXECUTABLE} - NUMPES 4 - INPUTFILES gauss_hump.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump.q -i unitsquare_01_3.6k.exo -v - BIN_BASELINE gauss_hump_pe4_u0.0.std.exo.0 - gauss_hump_pe4_u0.0.std.exo.1 - gauss_hump_pe4_u0.0.std.exo.2 - gauss_hump_pe4_u0.0.std.exo.3 +add_regression_test(gauss_hump_alecg ${INCITER_EXECUTABLE} + NUMPES 4 PPN 1 + INPUTFILES gauss_hump_alecg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_alecg.q -i unitsquare_01_3.6k.exo -v + BIN_BASELINE gauss_hump_alecg.std.exo.0 + gauss_hump_alecg.std.exo.1 + gauss_hump_alecg.std.exo.2 + gauss_hump_alecg.std.exo.3 BIN_RESULT out.e-s.0.4.0 out.e-s.0.4.1 out.e-s.0.4.2 out.e-s.0.4.3 + BIN_DIFF_PROG_CONF exodiff_cg.cfg BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag.std + TEXT_BASELINE diag_alecg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS alecg) add_regression_test(gauss_hump_p0p1 ${INCITER_EXECUTABLE} NUMPES 4 @@ -97,25 +79,8 @@ add_regression_test(gauss_hump_p0p1 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) - -add_regression_test(gauss_hump_dgp1 ${INCITER_EXECUTABLE} - NUMPES 4 - INPUTFILES gauss_hump_dgp1.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump_dgp1.q -i unitsquare_01_3.6k.exo -v - BIN_BASELINE gauss_hump_dgp1_pe4_u0.0.std.exo.0 - gauss_hump_dgp1_pe4_u0.0.std.exo.1 - gauss_hump_dgp1_pe4_u0.0.std.exo.2 - gauss_hump_dgp1_pe4_u0.0.std.exo.3 - BIN_RESULT out.e-s.0.4.0 - out.e-s.0.4.1 - out.e-s.0.4.2 - out.e-s.0.4.3 - BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag_dgp1.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) add_regression_test(gauss_hump_dgp2 ${INCITER_EXECUTABLE} NUMPES 4 @@ -133,7 +98,8 @@ add_regression_test(gauss_hump_dgp2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_dgp2.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) # Parallel + virtualization @@ -161,7 +127,8 @@ add_regression_test(gauss_hump_dg_u0.5 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) add_regression_test(gauss_hump_dg_u0.9 ${INCITER_EXECUTABLE} NUMPES 4 @@ -169,57 +136,8 @@ add_regression_test(gauss_hump_dg_u0.9 ${INCITER_EXECUTABLE} ARGS -c gauss_hump_cube.q -i unitcube_1k.exo -v -u 0.9 TEXT_BASELINE diag_cube.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) - -add_regression_test(gauss_hump_pdg_u0.8 ${INCITER_EXECUTABLE} - NUMPES 4 - INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v -u 0.8 - BIN_BASELINE gauss_hump_pdg_pe4_u0.8.std.exo.0 - gauss_hump_pdg_pe4_u0.8.std.exo.1 - gauss_hump_pdg_pe4_u0.8.std.exo.2 - gauss_hump_pdg_pe4_u0.8.std.exo.3 - gauss_hump_pdg_pe4_u0.8.std.exo.4 - gauss_hump_pdg_pe4_u0.8.std.exo.5 - gauss_hump_pdg_pe4_u0.8.std.exo.6 - gauss_hump_pdg_pe4_u0.8.std.exo.7 - gauss_hump_pdg_pe4_u0.8.std.exo.8 - gauss_hump_pdg_pe4_u0.8.std.exo.9 - gauss_hump_pdg_pe4_u0.8.std.exo.10 - gauss_hump_pdg_pe4_u0.8.std.exo.11 - gauss_hump_pdg_pe4_u0.8.std.exo.12 - gauss_hump_pdg_pe4_u0.8.std.exo.13 - gauss_hump_pdg_pe4_u0.8.std.exo.14 - gauss_hump_pdg_pe4_u0.8.std.exo.15 - gauss_hump_pdg_pe4_u0.8.std.exo.16 - gauss_hump_pdg_pe4_u0.8.std.exo.17 - gauss_hump_pdg_pe4_u0.8.std.exo.18 - gauss_hump_pdg_pe4_u0.8.std.exo.19 - BIN_RESULT out.e-s.0.20.0 - out.e-s.0.20.1 - out.e-s.0.20.2 - out.e-s.0.20.3 - out.e-s.0.20.4 - out.e-s.0.20.5 - out.e-s.0.20.6 - out.e-s.0.20.7 - out.e-s.0.20.8 - out.e-s.0.20.9 - out.e-s.0.20.10 - out.e-s.0.20.11 - out.e-s.0.20.12 - out.e-s.0.20.13 - out.e-s.0.20.14 - out.e-s.0.20.15 - out.e-s.0.20.16 - out.e-s.0.20.17 - out.e-s.0.20.18 - out.e-s.0.20.19 - BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag_pdg.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) add_regression_test(gauss_hump_p0p1_u0.9 ${INCITER_EXECUTABLE} NUMPES 4 @@ -309,8 +227,97 @@ add_regression_test(gauss_hump_p0p1_u0.9 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE diag_p0p1.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS dg) +add_regression_test(gauss_hump_alecg_u0.9 ${INCITER_EXECUTABLE} + NUMPES 4 + INPUTFILES gauss_hump_alecg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_alecg.q -i unitsquare_01_3.6k.exo -v -u 0.9 + BIN_BASELINE gauss_hump_alecg_u0.9.std.exo.0 + gauss_hump_alecg_u0.9.std.exo.1 + gauss_hump_alecg_u0.9.std.exo.2 + gauss_hump_alecg_u0.9.std.exo.3 + gauss_hump_alecg_u0.9.std.exo.4 + gauss_hump_alecg_u0.9.std.exo.5 + gauss_hump_alecg_u0.9.std.exo.6 + gauss_hump_alecg_u0.9.std.exo.7 + gauss_hump_alecg_u0.9.std.exo.8 + gauss_hump_alecg_u0.9.std.exo.9 + gauss_hump_alecg_u0.9.std.exo.10 + gauss_hump_alecg_u0.9.std.exo.11 + gauss_hump_alecg_u0.9.std.exo.12 + gauss_hump_alecg_u0.9.std.exo.13 + gauss_hump_alecg_u0.9.std.exo.14 + gauss_hump_alecg_u0.9.std.exo.15 + gauss_hump_alecg_u0.9.std.exo.16 + gauss_hump_alecg_u0.9.std.exo.17 + gauss_hump_alecg_u0.9.std.exo.18 + gauss_hump_alecg_u0.9.std.exo.19 + gauss_hump_alecg_u0.9.std.exo.20 + gauss_hump_alecg_u0.9.std.exo.21 + gauss_hump_alecg_u0.9.std.exo.22 + gauss_hump_alecg_u0.9.std.exo.23 + gauss_hump_alecg_u0.9.std.exo.24 + gauss_hump_alecg_u0.9.std.exo.25 + gauss_hump_alecg_u0.9.std.exo.26 + gauss_hump_alecg_u0.9.std.exo.27 + gauss_hump_alecg_u0.9.std.exo.28 + gauss_hump_alecg_u0.9.std.exo.29 + gauss_hump_alecg_u0.9.std.exo.30 + gauss_hump_alecg_u0.9.std.exo.31 + gauss_hump_alecg_u0.9.std.exo.32 + gauss_hump_alecg_u0.9.std.exo.33 + gauss_hump_alecg_u0.9.std.exo.34 + gauss_hump_alecg_u0.9.std.exo.35 + gauss_hump_alecg_u0.9.std.exo.36 + gauss_hump_alecg_u0.9.std.exo.37 + gauss_hump_alecg_u0.9.std.exo.38 + gauss_hump_alecg_u0.9.std.exo.39 + BIN_RESULT out.e-s.0.40.0 + out.e-s.0.40.1 + out.e-s.0.40.2 + out.e-s.0.40.3 + out.e-s.0.40.4 + out.e-s.0.40.5 + out.e-s.0.40.6 + out.e-s.0.40.7 + out.e-s.0.40.8 + out.e-s.0.40.9 + out.e-s.0.40.10 + out.e-s.0.40.11 + out.e-s.0.40.12 + out.e-s.0.40.13 + out.e-s.0.40.14 + out.e-s.0.40.15 + out.e-s.0.40.16 + out.e-s.0.40.17 + out.e-s.0.40.18 + out.e-s.0.40.19 + out.e-s.0.40.20 + out.e-s.0.40.21 + out.e-s.0.40.22 + out.e-s.0.40.23 + out.e-s.0.40.24 + out.e-s.0.40.25 + out.e-s.0.40.26 + out.e-s.0.40.27 + out.e-s.0.40.28 + out.e-s.0.40.29 + out.e-s.0.40.30 + out.e-s.0.40.31 + out.e-s.0.40.32 + out.e-s.0.40.33 + out.e-s.0.40.34 + out.e-s.0.40.35 + out.e-s.0.40.36 + out.e-s.0.40.37 + out.e-s.0.40.38 + out.e-s.0.40.39 + BIN_DIFF_PROG_CONF exodiff_cg.cfg + BIN_DIFF_PROG_ARGS -m + TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg + LABELS alecg) # Parallel + virtualization + migration @@ -404,56 +411,93 @@ add_regression_test(gauss_hump_dg_u0.9_migr ${INCITER_EXECUTABLE} TEXT_BASELINE diag.std TEXT_RESULT diag TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS migration) + LABELS dg migration) -add_regression_test(gauss_hump_pdg_u0.8_migr ${INCITER_EXECUTABLE} +add_regression_test(gauss_hump_alecg_u0.9_migr ${INCITER_EXECUTABLE} NUMPES 4 - INPUTFILES gauss_hump_pdg.q unitsquare_01_3.6k.exo - ARGS -c gauss_hump_pdg.q -i unitsquare_01_3.6k.exo -v -u 0.8 - +balancer GreedyRefineLB +LBDebug 1 - BIN_BASELINE gauss_hump_pdg_pe4_u0.8.std.exo.0 - gauss_hump_pdg_pe4_u0.8.std.exo.1 - gauss_hump_pdg_pe4_u0.8.std.exo.2 - gauss_hump_pdg_pe4_u0.8.std.exo.3 - gauss_hump_pdg_pe4_u0.8.std.exo.4 - gauss_hump_pdg_pe4_u0.8.std.exo.5 - gauss_hump_pdg_pe4_u0.8.std.exo.6 - gauss_hump_pdg_pe4_u0.8.std.exo.7 - gauss_hump_pdg_pe4_u0.8.std.exo.8 - gauss_hump_pdg_pe4_u0.8.std.exo.9 - gauss_hump_pdg_pe4_u0.8.std.exo.10 - gauss_hump_pdg_pe4_u0.8.std.exo.11 - gauss_hump_pdg_pe4_u0.8.std.exo.12 - gauss_hump_pdg_pe4_u0.8.std.exo.13 - gauss_hump_pdg_pe4_u0.8.std.exo.14 - gauss_hump_pdg_pe4_u0.8.std.exo.15 - gauss_hump_pdg_pe4_u0.8.std.exo.16 - gauss_hump_pdg_pe4_u0.8.std.exo.17 - gauss_hump_pdg_pe4_u0.8.std.exo.18 - gauss_hump_pdg_pe4_u0.8.std.exo.19 - BIN_RESULT out.e-s.0.20.0 - out.e-s.0.20.1 - out.e-s.0.20.2 - out.e-s.0.20.3 - out.e-s.0.20.4 - out.e-s.0.20.5 - out.e-s.0.20.6 - out.e-s.0.20.7 - out.e-s.0.20.8 - out.e-s.0.20.9 - out.e-s.0.20.10 - out.e-s.0.20.11 - out.e-s.0.20.12 - out.e-s.0.20.13 - out.e-s.0.20.14 - out.e-s.0.20.15 - out.e-s.0.20.16 - out.e-s.0.20.17 - out.e-s.0.20.18 - out.e-s.0.20.19 + INPUTFILES gauss_hump_alecg.q unitsquare_01_3.6k.exo + ARGS -c gauss_hump_alecg.q -i unitsquare_01_3.6k.exo -v -u 0.9 + -l 10 +balancer RandCentLB +LBDebug 1 + BIN_BASELINE gauss_hump_alecg_u0.9.std.exo.0 + gauss_hump_alecg_u0.9.std.exo.1 + gauss_hump_alecg_u0.9.std.exo.2 + gauss_hump_alecg_u0.9.std.exo.3 + gauss_hump_alecg_u0.9.std.exo.4 + gauss_hump_alecg_u0.9.std.exo.5 + gauss_hump_alecg_u0.9.std.exo.6 + gauss_hump_alecg_u0.9.std.exo.7 + gauss_hump_alecg_u0.9.std.exo.8 + gauss_hump_alecg_u0.9.std.exo.9 + gauss_hump_alecg_u0.9.std.exo.10 + gauss_hump_alecg_u0.9.std.exo.11 + gauss_hump_alecg_u0.9.std.exo.12 + gauss_hump_alecg_u0.9.std.exo.13 + gauss_hump_alecg_u0.9.std.exo.14 + gauss_hump_alecg_u0.9.std.exo.15 + gauss_hump_alecg_u0.9.std.exo.16 + gauss_hump_alecg_u0.9.std.exo.17 + gauss_hump_alecg_u0.9.std.exo.18 + gauss_hump_alecg_u0.9.std.exo.19 + gauss_hump_alecg_u0.9.std.exo.20 + gauss_hump_alecg_u0.9.std.exo.21 + gauss_hump_alecg_u0.9.std.exo.22 + gauss_hump_alecg_u0.9.std.exo.23 + gauss_hump_alecg_u0.9.std.exo.24 + gauss_hump_alecg_u0.9.std.exo.25 + gauss_hump_alecg_u0.9.std.exo.26 + gauss_hump_alecg_u0.9.std.exo.27 + gauss_hump_alecg_u0.9.std.exo.28 + gauss_hump_alecg_u0.9.std.exo.29 + gauss_hump_alecg_u0.9.std.exo.30 + gauss_hump_alecg_u0.9.std.exo.31 + gauss_hump_alecg_u0.9.std.exo.32 + gauss_hump_alecg_u0.9.std.exo.33 + gauss_hump_alecg_u0.9.std.exo.34 + gauss_hump_alecg_u0.9.std.exo.35 + gauss_hump_alecg_u0.9.std.exo.36 + gauss_hump_alecg_u0.9.std.exo.37 + gauss_hump_alecg_u0.9.std.exo.38 + gauss_hump_alecg_u0.9.std.exo.39 + BIN_RESULT out.e-s.0.40.0 + out.e-s.0.40.1 + out.e-s.0.40.2 + out.e-s.0.40.3 + out.e-s.0.40.4 + out.e-s.0.40.5 + out.e-s.0.40.6 + out.e-s.0.40.7 + out.e-s.0.40.8 + out.e-s.0.40.9 + out.e-s.0.40.10 + out.e-s.0.40.11 + out.e-s.0.40.12 + out.e-s.0.40.13 + out.e-s.0.40.14 + out.e-s.0.40.15 + out.e-s.0.40.16 + out.e-s.0.40.17 + out.e-s.0.40.18 + out.e-s.0.40.19 + out.e-s.0.40.20 + out.e-s.0.40.21 + out.e-s.0.40.22 + out.e-s.0.40.23 + out.e-s.0.40.24 + out.e-s.0.40.25 + out.e-s.0.40.26 + out.e-s.0.40.27 + out.e-s.0.40.28 + out.e-s.0.40.29 + out.e-s.0.40.30 + out.e-s.0.40.31 + out.e-s.0.40.32 + out.e-s.0.40.33 + out.e-s.0.40.34 + out.e-s.0.40.35 + out.e-s.0.40.36 + out.e-s.0.40.37 + out.e-s.0.40.38 + out.e-s.0.40.39 + BIN_DIFF_PROG_CONF exodiff_cg.cfg BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg - TEXT_BASELINE diag_pdg.std - TEXT_RESULT diag - TEXT_DIFF_PROG_CONF gauss_hump_diag.ndiff.cfg - LABELS migration) + LABELS alecg migration) diff --git a/tests/regression/inciter/transport/GaussHump/diag_alecg.std b/tests/regression/inciter/transport/GaussHump/diag_alecg.std new file mode 100644 index 00000000000..f25804e430e --- /dev/null +++ b/tests/regression/inciter/transport/GaussHump/diag_alecg.std @@ -0,0 +1,51 @@ +# 1:it 2:t 3:dt 4:L2(c0) 5:L2(c0-IC) + 1 2.000000e-03 2.000000e-03 1.257768e-01 3.768265e-05 + 2 4.000000e-03 2.000000e-03 1.257760e-01 7.538380e-05 + 3 6.000000e-03 2.000000e-03 1.257752e-01 1.130788e-04 + 4 8.000000e-03 2.000000e-03 1.257743e-01 1.507695e-04 + 5 1.000000e-02 2.000000e-03 1.257735e-01 1.884600e-04 + 6 1.200000e-02 2.000000e-03 1.257726e-01 2.261560e-04 + 7 1.400000e-02 2.000000e-03 1.257717e-01 2.638621e-04 + 8 1.600000e-02 2.000000e-03 1.257708e-01 3.015825e-04 + 9 1.800000e-02 2.000000e-03 1.257699e-01 3.393218e-04 + 10 2.000000e-02 2.000000e-03 1.257689e-01 3.770844e-04 + 11 2.200000e-02 2.000000e-03 1.257680e-01 4.148724e-04 + 12 2.400000e-02 2.000000e-03 1.257670e-01 4.526914e-04 + 13 2.600000e-02 2.000000e-03 1.257660e-01 4.905456e-04 + 14 2.800000e-02 2.000000e-03 1.257650e-01 5.284392e-04 + 15 3.000000e-02 2.000000e-03 1.257639e-01 5.663760e-04 + 16 3.200000e-02 2.000000e-03 1.257629e-01 6.043543e-04 + 17 3.400000e-02 2.000000e-03 1.257618e-01 6.423628e-04 + 18 3.600000e-02 2.000000e-03 1.257607e-01 6.803586e-04 + 19 3.800000e-02 2.000000e-03 1.257596e-01 7.183313e-04 + 20 4.000000e-02 2.000000e-03 1.257584e-01 7.562804e-04 + 21 4.200000e-02 2.000000e-03 1.257573e-01 7.942098e-04 + 22 4.400000e-02 2.000000e-03 1.257561e-01 8.321235e-04 + 23 4.600000e-02 2.000000e-03 1.257549e-01 8.700255e-04 + 24 4.800000e-02 2.000000e-03 1.257537e-01 9.079199e-04 + 25 5.000000e-02 2.000000e-03 1.257525e-01 9.458111e-04 + 26 5.200000e-02 2.000000e-03 1.257512e-01 9.837031e-04 + 27 5.400000e-02 2.000000e-03 1.257499e-01 1.021600e-03 + 28 5.600000e-02 2.000000e-03 1.257486e-01 1.059507e-03 + 29 5.800000e-02 2.000000e-03 1.257473e-01 1.097428e-03 + 30 6.000000e-02 2.000000e-03 1.257460e-01 1.135367e-03 + 31 6.200000e-02 2.000000e-03 1.257446e-01 1.173330e-03 + 32 6.400000e-02 2.000000e-03 1.257432e-01 1.211320e-03 + 33 6.600000e-02 2.000000e-03 1.257418e-01 1.249327e-03 + 34 6.800000e-02 2.000000e-03 1.257404e-01 1.287343e-03 + 35 7.000000e-02 2.000000e-03 1.257390e-01 1.325364e-03 + 36 7.200000e-02 2.000000e-03 1.257376e-01 1.363369e-03 + 37 7.400000e-02 2.000000e-03 1.257361e-01 1.401361e-03 + 38 7.600000e-02 2.000000e-03 1.257347e-01 1.439343e-03 + 39 7.800000e-02 2.000000e-03 1.257332e-01 1.477322e-03 + 40 8.000000e-02 2.000000e-03 1.257318e-01 1.515300e-03 + 41 8.200000e-02 2.000000e-03 1.257303e-01 1.553251e-03 + 42 8.400000e-02 2.000000e-03 1.257289e-01 1.591171e-03 + 43 8.600000e-02 2.000000e-03 1.257274e-01 1.629063e-03 + 44 8.800000e-02 2.000000e-03 1.257260e-01 1.666928e-03 + 45 9.000000e-02 2.000000e-03 1.257245e-01 1.704754e-03 + 46 9.200000e-02 2.000000e-03 1.257231e-01 1.742543e-03 + 47 9.400000e-02 2.000000e-03 1.257217e-01 1.780304e-03 + 48 9.600000e-02 2.000000e-03 1.257203e-01 1.818042e-03 + 49 9.800000e-02 2.000000e-03 1.257189e-01 1.855763e-03 + 50 1.000000e-01 2.000000e-03 1.257175e-01 1.893469e-03 diff --git a/tests/regression/inciter/transport/GaussHump/diag_dgp1.std b/tests/regression/inciter/transport/GaussHump/diag_dgp1.std deleted file mode 100644 index 6c11d296a88..00000000000 --- a/tests/regression/inciter/transport/GaussHump/diag_dgp1.std +++ /dev/null @@ -1,6 +0,0 @@ -# 1:it 2:t 3:dt 4:L2(c0) 5:L2(c0-IC) 6:Linf(c0-IC) - 10 2.000000e-03 2.000000e-04 1.253226e-01 3.020705e-04 5.493230e-03 - 20 4.000000e-03 2.000000e-04 1.253222e-01 3.019640e-04 7.750890e-03 - 30 6.000000e-03 2.000000e-04 1.253218e-01 3.095321e-04 8.557927e-03 - 40 8.000000e-03 2.000000e-04 1.253214e-01 3.232052e-04 8.674292e-03 - 50 1.000000e-02 2.000000e-04 1.253211e-01 3.415202e-04 8.488565e-03 diff --git a/tests/regression/inciter/transport/GaussHump/diag_pdg.std b/tests/regression/inciter/transport/GaussHump/diag_pdg.std deleted file mode 100644 index a7656411399..00000000000 --- a/tests/regression/inciter/transport/GaussHump/diag_pdg.std +++ /dev/null @@ -1,6 +0,0 @@ -# 1:it 2:t 3:dt 4:L2(c0) 5:L2(c0-IC) 6:Linf(c0-IC) - 10 2.000000e-03 2.000000e-04 1.253226e-01 3.022254e-04 5.493230e-03 - 20 4.000000e-03 2.000000e-04 1.253222e-01 3.021009e-04 7.750890e-03 - 30 6.000000e-03 2.000000e-04 1.253218e-01 3.096275e-04 8.557927e-03 - 40 8.000000e-03 2.000000e-04 1.253214e-01 3.232421e-04 8.674292e-03 - 50 1.000000e-02 2.000000e-04 1.253211e-01 3.414979e-04 8.488565e-03 diff --git a/tests/regression/inciter/transport/GaussHump/exodiff_cg.cfg b/tests/regression/inciter/transport/GaussHump/exodiff_cg.cfg new file mode 100644 index 00000000000..2cdac60e456 --- /dev/null +++ b/tests/regression/inciter/transport/GaussHump/exodiff_cg.cfg @@ -0,0 +1,5 @@ +COORDINATES absolute 1.0e-6 +TIME STEPS absolute 1.0e-8 +NODAL VARIABLES relative 1.0e-7 floor 1.0e-9 + c0_numerical + c0_analytic diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump.std.exo b/tests/regression/inciter/transport/GaussHump/gauss_hump.std.exo deleted file mode 100644 index 6a35ea11e8a..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump.std.exo and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.q b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.q similarity index 55% rename from tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.q rename to tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.q index 3457924f2b8..4049228ae64 100644 --- a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.q +++ b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.q @@ -6,37 +6,30 @@ title "Advection of 2D Gaussian hump" inciter - nstep 50 # Max number of time steps - dt 2.0e-4 # Time step size - ttyi 5 # TTY output interval - scheme pdg + nstep 50 + dt 2.0e-3 + ttyi 10 + + scheme alecg + + partitioning + algorithm mj + end transport physics advection problem gauss_hump ncomp 1 depvar c - - bc_extrapolate + bc_sym sideset 1 end end - bc_dirichlet - sideset 2 end - end - bc_outlet - sideset 3 end - end - end - - pref - tolref 0.1 end diagnostics - interval 10 + interval 1 format scientific error l2 - error linf end plotvar diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.std.exo b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo similarity index 50% rename from tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.std.exo rename to tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo index 5c94d655f7b..ccbb7586210 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1.std.exo and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.0 new file mode 100644 index 00000000000..8080561301e Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.0 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.1 new file mode 100644 index 00000000000..9a4224082fc Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.1 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.2 new file mode 100644 index 00000000000..a53d48af8c7 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.2 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.3 new file mode 100644 index 00000000000..0601754b8f0 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg.std.exo.3 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.0 new file mode 100644 index 00000000000..6d7b55971ba Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.1 new file mode 100644 index 00000000000..2ef5557a340 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.10 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.10 new file mode 100644 index 00000000000..84ca37fecc9 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.11 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.11 new file mode 100644 index 00000000000..0767e02df2e Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.12 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.12 new file mode 100644 index 00000000000..17a1dcafcee Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.13 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.13 new file mode 100644 index 00000000000..9fa04b41490 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.14 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.14 new file mode 100644 index 00000000000..c724c9ef885 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.15 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.15 new file mode 100644 index 00000000000..ffaa814e4a7 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.16 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.16 new file mode 100644 index 00000000000..c08d897a98e Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.17 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.17 new file mode 100644 index 00000000000..7b7db84becd Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.18 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.18 new file mode 100644 index 00000000000..f516c114f29 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.19 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.19 new file mode 100644 index 00000000000..ad42ff34dc9 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.2 new file mode 100644 index 00000000000..925a9e23a69 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.20 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.20 new file mode 100644 index 00000000000..0581f3f1056 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.21 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.21 new file mode 100644 index 00000000000..b86160b841c Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.22 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.22 new file mode 100644 index 00000000000..b68672c2066 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.23 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.23 new file mode 100644 index 00000000000..6a997a4b63d Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.24 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.24 new file mode 100644 index 00000000000..51c5863f830 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.25 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.25 new file mode 100644 index 00000000000..6d59989dda5 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.26 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.26 new file mode 100644 index 00000000000..42a949cb2b2 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.27 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.27 new file mode 100644 index 00000000000..8df2e7c7528 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.28 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.28 new file mode 100644 index 00000000000..98b11d94955 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.29 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.29 new file mode 100644 index 00000000000..f6393726ed6 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.3 new file mode 100644 index 00000000000..10f52bc1518 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.30 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.30 new file mode 100644 index 00000000000..5799442f528 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.31 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.31 new file mode 100644 index 00000000000..4c9a7787bc3 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.32 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.32 new file mode 100644 index 00000000000..0d7fa1b3f61 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.33 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.33 new file mode 100644 index 00000000000..54ed8651ec7 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.34 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.34 new file mode 100644 index 00000000000..e9fe4df01be Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.35 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.35 new file mode 100644 index 00000000000..7ce20d06aa0 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.36 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.36 new file mode 100644 index 00000000000..74c7cac96c3 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.37 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.37 new file mode 100644 index 00000000000..52f80a84e19 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.38 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.38 new file mode 100644 index 00000000000..9951103f494 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.38 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.39 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.39 new file mode 100644 index 00000000000..84be01882a1 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.39 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.4 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.4 new file mode 100644 index 00000000000..489e1876b6c Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.5 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.5 new file mode 100644 index 00000000000..fac85a72d43 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.6 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.6 new file mode 100644 index 00000000000..821bafbea25 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.7 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.7 new file mode 100644 index 00000000000..dd9ed2dda11 Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.8 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.8 new file mode 100644 index 00000000000..142d2ab57af Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.9 b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.9 new file mode 100644 index 00000000000..5be652cd6da Binary files /dev/null and b/tests/regression/inciter/transport/GaussHump/gauss_hump_alecg_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.0 deleted file mode 100644 index 4fbc3bd5276..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.0 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.1 deleted file mode 100644 index 40619bc1d5d..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.1 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.2 deleted file mode 100644 index b778f8bcea0..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.2 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.3 deleted file mode 100644 index 969ae77ecfe..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_dgp1_pe4_u0.0.std.exo.3 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_diag.ndiff.cfg b/tests/regression/inciter/transport/GaussHump/gauss_hump_diag.ndiff.cfg index 4cef1d66809..b8d9fb70bdd 100644 --- a/tests/regression/inciter/transport/GaussHump/gauss_hump_diag.ndiff.cfg +++ b/tests/regression/inciter/transport/GaussHump/gauss_hump_diag.ndiff.cfg @@ -1,3 +1,4 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float -* 2-$ rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 2-4 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables +* 5-$ skip diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.q b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.q index 9a82155ce82..5d18bd40a38 100644 --- a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.q +++ b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.q @@ -36,7 +36,7 @@ inciter end plotvar - interval 10 + interval 25 end end diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.std.exo b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.std.exo index 5b503958eb0..ab8b2e62885 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.std.exo and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1.std.exo differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.0 index 38028897851..c4b5fba8d0c 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.0 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.0 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.1 index 25e8063a243..713bf38efe9 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.1 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.1 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.2 index a3233d7ca24..c679e224824 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.2 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.2 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.3 index 397839a6adf..556565c8126 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.3 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.0.std.exo.3 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.0 index f3c267691af..365e3d82580 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.0 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.0 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.1 index 9a5e7cb0a0e..16edaec2a73 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.1 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.1 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.10 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.10 index 3add97e797e..5937cbbeaff 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.10 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.10 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.11 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.11 index 0e9281e295a..ab3588b6f16 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.11 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.11 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.12 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.12 index df0729bbb8e..0157dee3d29 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.12 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.12 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.13 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.13 index e54756b6a99..29e4aa608aa 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.13 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.13 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.14 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.14 index 3562d47db0f..031a9301ebb 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.14 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.14 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.15 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.15 index 609a8929088..745265695a7 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.15 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.15 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.16 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.16 index 239895a78a1..4b3412e3c17 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.16 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.16 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.17 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.17 index 58362f6808c..0c15c9e66b0 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.17 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.17 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.18 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.18 index e519ca99c92..d2850a4a778 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.18 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.18 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.19 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.19 index 239e7825655..95f91c49c0b 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.19 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.19 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.2 index e74293b6560..4d533de6545 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.2 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.2 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.20 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.20 index 07ff5095187..12bf0c1b3f7 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.20 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.20 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.21 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.21 index ce99cb38297..c41b678dedc 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.21 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.21 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.22 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.22 index fe962e37e5f..1bf60a3b52a 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.22 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.22 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.23 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.23 index a8332774288..58a01894ff8 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.23 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.23 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.24 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.24 index 8713aa73e11..cdf529d529d 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.24 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.24 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.25 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.25 index 72ad37fa4ff..8993d2534b8 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.25 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.25 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.26 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.26 index edbcbd18db1..cfc35a41a03 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.26 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.26 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.27 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.27 index 721254b0007..51bbb42162d 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.27 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.27 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.28 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.28 index 4ab5c725eaf..d932597626a 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.28 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.28 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.29 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.29 index 9e6f9e0e8a0..28aa620fce2 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.29 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.29 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.3 index 94a899f3f28..26a469575dc 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.3 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.3 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.30 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.30 index 07b3b5c8df8..eee2fb4e580 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.30 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.30 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.31 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.31 index 98a02a81484..3c1e166d9db 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.31 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.31 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.32 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.32 index ae9d10500d9..acab7d5ebb2 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.32 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.32 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.33 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.33 index 0ab62c56746..0603a991b5b 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.33 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.33 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.34 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.34 index de03891ab15..0382e38f6f2 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.34 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.34 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.35 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.35 index 81ab89b7396..9be45c46a33 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.35 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.35 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.36 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.36 index 3b5aaee3540..0e9d9059a9a 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.36 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.36 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.37 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.37 index f839d439de8..cd541d1448e 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.37 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.37 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.38 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.38 index cb46ff74cdf..70ff3c33cc1 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.38 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.38 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.39 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.39 index 804c560de06..323a1a64f68 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.39 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.39 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.4 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.4 index eef7851222f..2bac27abb0a 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.4 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.4 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.5 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.5 index 7d21baa4daf..57261e5b17a 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.5 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.5 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.6 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.6 index f78da018710..645057038af 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.6 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.6 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.7 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.7 index be73ebb4784..51714bb0060 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.7 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.7 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.8 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.8 index f27ad1f225b..8b8a52bf051 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.8 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.8 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.9 b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.9 index 83d33d061c7..1a2218cfaa7 100644 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.9 and b/tests/regression/inciter/transport/GaussHump/gauss_hump_p0p1_pe4_u0.9.std.exo.9 differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.std.exo b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.std.exo deleted file mode 100644 index eaafa3ba3d2..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg.std.exo and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 deleted file mode 100644 index 62837ea1918..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.0 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 deleted file mode 100644 index b45b8011e3b..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.1 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 deleted file mode 100644 index 137928264f3..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.10 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 deleted file mode 100644 index e4d512dcf97..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.11 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 deleted file mode 100644 index 7994ada3a3d..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.12 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 deleted file mode 100644 index 0127dc2215e..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.13 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 deleted file mode 100644 index 4d3c2ba3ea0..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.14 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 deleted file mode 100644 index 67be2482749..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.15 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 deleted file mode 100644 index 806cf10ec47..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.16 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 deleted file mode 100644 index bf325a2e012..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.17 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 deleted file mode 100644 index eb85a735eb6..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.18 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 deleted file mode 100644 index 67c2f747571..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.19 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 deleted file mode 100644 index e4ca5d0df85..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.2 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 deleted file mode 100644 index 8963bde6269..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.3 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 deleted file mode 100644 index a4056c56c6d..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.4 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 deleted file mode 100644 index 2cd43c5ea32..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.5 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 deleted file mode 100644 index 6e88e1432f5..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.6 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 deleted file mode 100644 index de827226e28..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.7 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 deleted file mode 100644 index 2477acf2caa..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.8 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 deleted file mode 100644 index 0dd4c7466fd..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pdg_pe4_u0.8.std.exo.9 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.0 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.0 deleted file mode 100644 index 6472e54b11d..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.0 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.1 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.1 deleted file mode 100644 index d047b76fb2b..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.1 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.2 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.2 deleted file mode 100644 index 03a9680a201..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.2 and /dev/null differ diff --git a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.3 b/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.3 deleted file mode 100644 index eea72334536..00000000000 Binary files a/tests/regression/inciter/transport/GaussHump/gauss_hump_pe4_u0.0.std.exo.3 and /dev/null differ diff --git a/tests/regression/inciter/transport/ShearDiff/CMakeLists.txt b/tests/regression/inciter/transport/ShearDiff/CMakeLists.txt index c47862aa81a..013fd40ff94 100644 --- a/tests/regression/inciter/transport/ShearDiff/CMakeLists.txt +++ b/tests/regression/inciter/transport/ShearDiff/CMakeLists.txt @@ -12,7 +12,8 @@ add_regression_test(shear_centered_diffonly ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE shear_centered_diffonly.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) add_regression_test(shear_centered_diffonly_nofct ${INCITER_EXECUTABLE} NUMPES 1 @@ -23,7 +24,8 @@ add_regression_test(shear_centered_diffonly_nofct ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE shear_centered_diffonly_nofct.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) add_regression_test(shear_centered_advdiff ${INCITER_EXECUTABLE} NUMPES 1 @@ -31,7 +33,8 @@ add_regression_test(shear_centered_advdiff ${INCITER_EXECUTABLE} ARGS -c shear_advdiff.q -i shear_centered_12k.exo -v BIN_BASELINE shear_centered_advdiff.std.exo BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) add_regression_test(shear_centered_advdiffshear ${INCITER_EXECUTABLE} NUMPES 1 @@ -42,7 +45,8 @@ add_regression_test(shear_centered_advdiffshear ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff.cfg TEXT_BASELINE shear_centered_advdiffshear.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) add_regression_test(shear_centered_advdiffshear_c2 ${INCITER_EXECUTABLE} NUMPES 1 @@ -53,8 +57,8 @@ add_regression_test(shear_centered_advdiffshear_c2 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_c2.cfg TEXT_BASELINE shear_centered_advdiffshear_c2.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) - + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) # Parallel + no virtualization @@ -74,7 +78,8 @@ add_regression_test(shear_centered_advdiffshear ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_par.cfg TEXT_BASELINE shear_centered_advdiffshear.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) # Parallel + virtualization @@ -103,4 +108,5 @@ add_regression_test(shear_centered_advdiffshear_u0.5 ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_par.cfg TEXT_BASELINE shear_centered_advdiffshear.diag.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF shear.ndiff.cfg) + TEXT_DIFF_PROG_CONF shear.ndiff.cfg + LABELS diagcg) diff --git a/tests/regression/inciter/transport/ShearDiff/shear.ndiff.cfg b/tests/regression/inciter/transport/ShearDiff/shear.ndiff.cfg index 5aedee57b3c..e9b26cc8c9c 100644 --- a/tests/regression/inciter/transport/ShearDiff/shear.ndiff.cfg +++ b/tests/regression/inciter/transport/ShearDiff/shear.ndiff.cfg @@ -1,3 +1,4 @@ #rows cols constraints * 1 # iteration count: no constraint: smallest representable float -* 2-$ rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables and errors +* 2-4 rel=1.0e-7 # tolerance for t, dt, and L2 of conserved variables and errors +* 5 skip diff --git a/tests/regression/inciter/transport/SlotCyl/CMakeLists.txt b/tests/regression/inciter/transport/SlotCyl/CMakeLists.txt index 9c01969dde7..b9ce158efc7 100644 --- a/tests/regression/inciter/transport/SlotCyl/CMakeLists.txt +++ b/tests/regression/inciter/transport/SlotCyl/CMakeLists.txt @@ -13,7 +13,8 @@ add_regression_test(slotted_cylinder_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg + LABELS dg) #add_regression_test(slotted_cylinder_dgp1 ${INCITER_EXECUTABLE} # NUMPES 1 @@ -25,7 +26,8 @@ add_regression_test(slotted_cylinder_dg ${INCITER_EXECUTABLE} # BIN_DIFF_PROG_CONF exodiff_dg.cfg # TEXT_BASELINE diag_dgp1.std # TEXT_RESULT diag -# TEXT_DIFF_PROG_CONF slo_cly_diag.ndiff.cfg) +# TEXT_DIFF_PROG_CONF slo_cly_diag.ndiff.cfg +# LABELS dg) # Parallel @@ -45,7 +47,8 @@ add_regression_test(slotted_cylinder_dg ${INCITER_EXECUTABLE} BIN_DIFF_PROG_CONF exodiff_dg.cfg TEXT_BASELINE diag_dg.std TEXT_RESULT diag - TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg) + TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg + LABELS dg) #add_regression_test(slotted_cylinder_dgp1 ${INCITER_EXECUTABLE} # NUMPES 4 @@ -63,4 +66,5 @@ add_regression_test(slotted_cylinder_dg ${INCITER_EXECUTABLE} # BIN_DIFF_PROG_CONF exodiff_dg.cfg # TEXT_BASELINE diag_dgp1.std # TEXT_RESULT diag -# TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg) +# TEXT_DIFF_PROG_CONF slo_cyl_diag.ndiff.cfg +# LABELS dg) diff --git a/tests/regression/inciter/transport/SlotCyl/asynclogic/CMakeLists.txt b/tests/regression/inciter/transport/SlotCyl/asynclogic/CMakeLists.txt index 6c269300a74..cd768aa608e 100644 --- a/tests/regression/inciter/transport/SlotCyl/asynclogic/CMakeLists.txt +++ b/tests/regression/inciter/transport/SlotCyl/asynclogic/CMakeLists.txt @@ -34,7 +34,7 @@ function(add_async_test scheme virt npes ppn migr) TEXT_RESULT diag TEXT_DIFF_PROG_ARGS --trunc TEXT_DIFF_PROG_CONF noop.ndiff.cfg - LABELS ${migr_label}) + LABELS ${scheme} ${migr_label}) endfunction() foreach(scheme diagcg dg alecg) @@ -42,8 +42,9 @@ foreach(scheme diagcg dg alecg) foreach(migr 0 1) # Add some tests across a range of PEs (both non-SMP & SMP) - foreach(npes RANGE 1 8) - add_async_test(${scheme} ${virt} ${npes} 1 ${migr}) + set(npes 1 3 8) + foreach(n ${npes}) + add_async_test(${scheme} ${virt} ${n} 1 ${migr}) endforeach() # In Charm++ SMP mode add some extra tests with npe != ppn diff --git a/tests/regression/inciter/transport/SlotCyl/cfl/CMakeLists.txt b/tests/regression/inciter/transport/SlotCyl/cfl/CMakeLists.txt index 8b0e65fcde8..44dfd689270 100644 --- a/tests/regression/inciter/transport/SlotCyl/cfl/CMakeLists.txt +++ b/tests/regression/inciter/transport/SlotCyl/cfl/CMakeLists.txt @@ -9,7 +9,8 @@ add_regression_test(cfl ${INCITER_EXECUTABLE} ARGS -c slot_cyl_cfl.q -i unitsquare_01_3.6k.exo -v BIN_BASELINE slot_cyl_cfl_pe1_u0.0.std.exo BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) if (HAS_OMEGA_H) add_regression_test(cfl_osh ${INCITER_EXECUTABLE} @@ -18,7 +19,8 @@ if (HAS_OMEGA_H) ARGS -c slot_cyl_cfl.q -i box10.osh -v BIN_BASELINE slot_cyl_cfl_osh10_pe1.std.exo BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # parallel with nranks = nparts add_regression_test(cfl_osh ${INCITER_EXECUTABLE} @@ -28,7 +30,8 @@ if (HAS_OMEGA_H) BIN_BASELINE slot_cyl_cfl_osh10_pe2.std.exo.0 slot_cyl_cfl_osh10_pe2.std.exo.1 BIN_RESULT out.e-s.0.2.0 out.e-s.0.2.1 - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # # parallel with nranks > nparts # add_regression_test(cfl_osh ${INCITER_EXECUTABLE} @@ -44,7 +47,8 @@ if (HAS_OMEGA_H) # out.e-s.0.4.1 # out.e-s.0.4.2 # out.e-s.0.4.3 -# BIN_DIFF_PROG_CONF exodiff.cfg) +# BIN_DIFF_PROG_CONF exodiff.cfg +# LABELS diagcg) endif() # Virtualization = 0.7 @@ -60,7 +64,8 @@ add_regression_test(cfl_u0.7 ${INCITER_EXECUTABLE} out.e-s.0.3.1 out.e-s.0.3.2 BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # Parallel + Virtualization @@ -86,7 +91,8 @@ add_regression_test(cfl_u0.5 ${INCITER_EXECUTABLE} out.e-s.0.8.6 out.e-s.0.8.7 BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # Parallel + Virtualization + Migration @@ -94,7 +100,7 @@ add_regression_test(cfl_u0.9_migr ${INCITER_EXECUTABLE} NUMPES 4 INPUTFILES slot_cyl_cfl_diagcg.q unitsquare_01_3.6k.exo ARGS -c slot_cyl_cfl_diagcg.q -i unitsquare_01_3.6k.exo - -v -u 0.9 +balancer RandCentLB +LBDebug 1 +cs + -v -l 10 -u 0.9 +balancer RandCentLB +LBDebug 1 +cs BIN_BASELINE slot_cyl_cfl_diagcg_pe4_u0.9.std.exo.0 slot_cyl_cfl_diagcg_pe4_u0.9.std.exo.1 slot_cyl_cfl_diagcg_pe4_u0.9.std.exo.2 @@ -177,8 +183,7 @@ add_regression_test(cfl_u0.9_migr ${INCITER_EXECUTABLE} out.e-s.0.40.39 BIN_DIFF_PROG_ARGS -m BIN_DIFF_PROG_CONF exodiff.cfg - LABELS migration) - + LABELS diagcg migration) if (HAS_ROOT) @@ -191,7 +196,8 @@ if (HAS_ROOT) FILECONV_RESULT out.e-s.0.1.0.exo BIN_BASELINE slot_cyl_cfl_pe1_u0.0.std.exo BIN_RESULT out.e-s.0.1.0.exo - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # Virtualization = 0, Multiprocessor check add_regression_test(cfl_root ${INCITER_EXECUTABLE} @@ -215,6 +221,7 @@ if (HAS_ROOT) out.e-s.0.4.2.exo out.e-s.0.4.3.exo BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) endif() diff --git a/tests/regression/inciter/transport/SlotCyl/fct/CMakeLists.txt b/tests/regression/inciter/transport/SlotCyl/fct/CMakeLists.txt index bd5927fa00a..5952cfbd277 100644 --- a/tests/regression/inciter/transport/SlotCyl/fct/CMakeLists.txt +++ b/tests/regression/inciter/transport/SlotCyl/fct/CMakeLists.txt @@ -9,7 +9,8 @@ add_regression_test(fct ${INCITER_EXECUTABLE} ARGS -c slot_cyl.q -i unitcube_01_31k.exo -v BIN_BASELINE slot_cyl_pe1_u0.0.std.exo BIN_RESULT out.e-s.0.1.0 - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) add_regression_test(fct ${INCITER_EXECUTABLE} NUMPES 4 @@ -24,7 +25,8 @@ add_regression_test(fct ${INCITER_EXECUTABLE} out.e-s.0.4.2 out.e-s.0.4.3 BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # Virtualization = 0.5 @@ -37,7 +39,8 @@ add_regression_test(fct_u0.5 ${INCITER_EXECUTABLE} BIN_RESULT out.e-s.0.2.0 out.e-s.0.2.1 BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) # Virtualization = 0.9 @@ -64,4 +67,5 @@ add_regression_test(fct_u0.9 ${INCITER_EXECUTABLE} out.e-s.0.9.7 out.e-s.0.9.8 BIN_DIFF_PROG_ARGS -m - BIN_DIFF_PROG_CONF exodiff.cfg) + BIN_DIFF_PROG_CONF exodiff.cfg + LABELS diagcg) diff --git a/tests/regression/meshconv/exo_output/CMakeLists.txt b/tests/regression/meshconv/exo_output/CMakeLists.txt index 9172f075851..eccce2b369e 100644 --- a/tests/regression/meshconv/exo_output/CMakeLists.txt +++ b/tests/regression/meshconv/exo_output/CMakeLists.txt @@ -9,6 +9,22 @@ add_regression_test(asc2exo ${MESHCONV_EXECUTABLE} BIN_RESULT cube_coarse.exo BIN_DIFF_PROG_CONF exodiff.cfg) +add_regression_test(ugrid2exo ${MESHCONV_EXECUTABLE} + NUMPES 1 + INPUTFILES sphere_tetra.1.ugrid + ARGS -i sphere_tetra.1.ugrid -o sphere_tetra.exo -v + BIN_BASELINE sphere_tetra.exo.std + BIN_RESULT sphere_tetra.exo + BIN_DIFF_PROG_CONF exodiff.cfg) + +add_regression_test(rdgflo2exo ${MESHCONV_EXECUTABLE} + NUMPES 1 + INPUTFILES rdgflo.domn.bump + ARGS -i rdgflo.domn.bump -o bump.exo -v + BIN_BASELINE bump.exo.std + BIN_RESULT bump.exo + BIN_DIFF_PROG_CONF exodiff.cfg) + add_regression_test(netgen2exo ${MESHCONV_EXECUTABLE} NUMPES 1 INPUTFILES box_24.mesh @@ -41,6 +57,43 @@ add_regression_test(multiblockexo2exo ${MESHCONV_EXECUTABLE} BIN_RESULT shear.exo BIN_DIFF_PROG_CONF exodiff.cfg) +add_regression_test(stitchexo2exo ${MESHCONV_EXECUTABLE} + NUMPES 1 + INPUTFILES out-surf.1.e-s.0.30.0 + out-surf.1.e-s.0.30.1 + out-surf.1.e-s.0.30.2 + out-surf.1.e-s.0.30.3 + out-surf.1.e-s.0.30.4 + out-surf.1.e-s.0.30.5 + out-surf.1.e-s.0.30.6 + out-surf.1.e-s.0.30.7 + out-surf.1.e-s.0.30.8 + out-surf.1.e-s.0.30.9 + out-surf.1.e-s.0.30.10 + out-surf.1.e-s.0.30.11 + out-surf.1.e-s.0.30.12 + out-surf.1.e-s.0.30.13 + out-surf.1.e-s.0.30.14 + out-surf.1.e-s.0.30.15 + out-surf.1.e-s.0.30.16 + out-surf.1.e-s.0.30.17 + out-surf.1.e-s.0.30.18 + out-surf.1.e-s.0.30.19 + out-surf.1.e-s.0.30.20 + out-surf.1.e-s.0.30.21 + out-surf.1.e-s.0.30.22 + out-surf.1.e-s.0.30.23 + out-surf.1.e-s.0.30.24 + out-surf.1.e-s.0.30.25 + out-surf.1.e-s.0.30.26 + out-surf.1.e-s.0.30.27 + out-surf.1.e-s.0.30.28 + out-surf.1.e-s.0.30.29 + ARGS -i out-surf.1.e-s.0.30.% -o out.exo -v + BIN_BASELINE out-surf.1.exo + BIN_RESULT out.exo + BIN_DIFF_PROG_CONF exodiff_stitch.cfg) + # With reordering add_regression_test(asc2reordexo ${MESHCONV_EXECUTABLE} diff --git a/tests/regression/meshconv/exo_output/bump.exo.std b/tests/regression/meshconv/exo_output/bump.exo.std new file mode 100644 index 00000000000..c09fc29a766 Binary files /dev/null and b/tests/regression/meshconv/exo_output/bump.exo.std differ diff --git a/tests/regression/meshconv/exo_output/exodiff_stitch.cfg b/tests/regression/meshconv/exo_output/exodiff_stitch.cfg new file mode 100644 index 00000000000..9c5bd19e06f --- /dev/null +++ b/tests/regression/meshconv/exo_output/exodiff_stitch.cfg @@ -0,0 +1,9 @@ +COORDINATES absolute 1.0e-6 +TIME STEPS absolute 1.0e-8 +NODAL VARIABLES relative 1.0e-7 floor 1.0e-8 + density_numerical + x-velocity_numerical + y-velocity_numerical + z-velocity_numerical + specific_total_energy_numerical + pressure_numerical diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.0 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.0 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.0 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.1 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.1 new file mode 100644 index 00000000000..c5f0ac8af8c Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.1 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.10 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.10 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.10 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.11 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.11 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.11 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.12 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.12 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.12 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.13 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.13 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.13 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.14 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.14 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.14 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.15 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.15 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.15 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.16 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.16 new file mode 100644 index 00000000000..2c0b601a2e3 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.16 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.17 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.17 new file mode 100644 index 00000000000..f6ef89deadc Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.17 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.18 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.18 new file mode 100644 index 00000000000..4747eeaff8f Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.18 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.19 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.19 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.19 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.2 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.2 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.2 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.20 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.20 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.20 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.21 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.21 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.21 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.22 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.22 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.22 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.23 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.23 new file mode 100644 index 00000000000..8e127e4376b Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.23 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.24 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.24 new file mode 100644 index 00000000000..c1537990ae3 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.24 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.25 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.25 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.25 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.26 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.26 new file mode 100644 index 00000000000..a3f851ce5be Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.26 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.27 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.27 new file mode 100644 index 00000000000..0ef917346d6 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.27 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.28 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.28 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.28 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.29 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.29 new file mode 100644 index 00000000000..780e0b73a95 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.29 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.3 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.3 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.3 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.4 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.4 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.4 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.5 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.5 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.5 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.6 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.6 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.6 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.7 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.7 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.7 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.8 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.8 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.8 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.9 b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.9 new file mode 100644 index 00000000000..7053cb7cd80 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.e-s.0.30.9 differ diff --git a/tests/regression/meshconv/exo_output/out-surf.1.exo b/tests/regression/meshconv/exo_output/out-surf.1.exo new file mode 100644 index 00000000000..ce62aa1e6c9 Binary files /dev/null and b/tests/regression/meshconv/exo_output/out-surf.1.exo differ diff --git a/tests/regression/meshconv/exo_output/rdgflo.domn.bump b/tests/regression/meshconv/exo_output/rdgflo.domn.bump new file mode 100644 index 00000000000..283c8e92105 --- /dev/null +++ b/tests/regression/meshconv/exo_output/rdgflo.domn.bump @@ -0,0 +1,77795 @@ + npoin, ntetr, npyra, npris, nhexa, ntria, nquad, time + 11686 59686 0 0 0 6418 0 0.000000E+00 + element connectivity + 1 2 1 3 5 + 2 5 4 2 1 + 3 4 1 6 2 + 4 4 7 2 6 + 5 5 7 2 4 + 6 2 7 10 6 + 7 2 15 10 7 + 8 10 15 2 3 + 9 5 15 2 7 + 10 3 2 5 15 + 11 3 5 8 15 + 12 3 15 8 18 + 13 8 18 11 3 + 14 3 10 15 18 + 15 5 4 9 12 + 16 12 5 4 7 + 17 4 16 7 6 + 18 12 4 16 7 + 19 8 5 13 15 + 20 7 19 12 5 + 21 15 19 7 5 + 22 19 9 12 5 + 23 15 13 19 5 + 24 19 13 9 5 + 25 14 7 16 6 + 26 6 10 17 7 + 27 6 17 14 7 + 28 7 17 14 20 + 29 7 10 17 20 + 30 20 10 15 7 + 31 21 12 7 19 + 32 12 7 16 21 + 33 14 27 7 20 + 34 19 15 7 27 + 35 27 14 7 16 + 36 21 7 16 27 + 37 7 27 21 19 + 38 20 15 27 7 + 39 8 13 23 15 + 40 24 11 8 18 + 41 8 29 24 18 + 42 8 23 29 15 + 43 8 15 29 18 + 44 35 13 23 8 + 45 29 35 23 8 + 46 29 35 8 24 + 47 26 13 9 19 + 48 12 32 9 19 + 49 26 9 32 19 + 50 20 28 10 17 + 51 28 22 34 10 + 52 34 22 18 10 + 53 10 28 20 34 + 54 10 20 15 34 + 55 34 18 15 10 + 56 24 36 31 11 + 57 25 11 31 36 + 58 24 18 36 11 + 59 25 18 11 36 + 60 32 19 12 21 + 61 26 33 13 19 + 62 33 35 13 23 + 63 13 33 37 19 + 64 33 13 37 23 + 65 15 13 23 41 + 66 37 23 13 41 + 67 37 13 19 41 + 68 13 15 19 41 + 69 27 39 14 16 + 70 14 40 20 17 + 71 27 14 43 20 + 72 14 43 39 27 + 73 14 40 43 20 + 74 29 18 15 34 + 75 20 15 34 27 + 76 15 29 34 23 + 77 27 41 15 34 + 78 27 15 41 19 + 79 41 15 34 23 + 80 21 16 39 27 + 81 28 20 40 17 + 82 29 22 18 34 + 83 18 29 24 36 + 84 22 29 18 36 + 85 30 36 18 25 + 86 22 36 18 30 + 87 37 21 27 19 + 88 26 38 33 19 + 89 27 41 37 19 + 90 32 42 26 19 + 91 26 42 38 19 + 92 42 33 19 37 + 93 42 33 38 19 + 94 19 32 42 44 + 95 37 44 21 19 + 96 19 42 37 44 + 97 32 21 44 19 + 98 45 20 34 27 + 99 40 20 28 46 + 100 20 45 34 58 + 101 58 28 34 20 + 102 20 59 46 69 + 103 40 69 20 46 + 104 69 40 20 43 + 105 46 70 59 20 + 106 70 46 28 20 + 107 58 70 28 20 + 108 58 20 45 70 + 109 70 20 45 59 + 110 80 69 20 43 + 111 20 59 69 80 + 112 27 43 80 20 + 113 45 59 20 80 + 114 20 27 45 80 + 115 27 39 21 47 + 116 21 37 47 44 + 117 27 21 37 47 + 118 30 22 36 48 + 119 58 22 36 29 + 120 22 28 34 58 + 121 58 34 22 29 + 122 48 22 62 73 + 123 30 73 22 48 + 124 22 81 28 58 + 125 58 36 22 88 + 126 58 88 22 81 + 127 36 22 88 48 + 128 88 22 81 62 + 129 62 88 22 48 + 130 23 35 29 49 + 131 37 23 50 33 + 132 33 35 23 51 + 133 33 23 50 63 + 134 33 51 23 63 + 135 49 23 63 29 + 136 34 29 72 23 + 137 41 34 72 23 + 138 23 72 63 29 + 139 74 23 35 51 + 140 63 23 49 74 + 141 35 49 23 74 + 142 74 63 23 51 + 143 82 41 23 37 + 144 23 72 41 82 + 145 82 23 50 37 + 146 82 72 63 23 + 147 23 82 50 63 + 148 49 35 29 24 + 149 36 49 29 24 + 150 24 52 31 36 + 151 52 24 64 36 + 152 49 64 24 36 + 153 75 52 31 24 + 154 75 52 24 64 + 155 84 49 24 35 + 156 64 49 24 84 + 157 64 24 75 84 + 158 65 30 53 25 + 159 65 30 25 36 + 160 65 25 31 36 + 161 77 31 65 25 + 162 65 53 77 25 + 163 45 34 41 27 + 164 27 37 41 60 + 165 60 27 37 47 + 166 45 27 41 60 + 167 39 61 47 27 + 168 27 43 39 61 + 169 45 71 27 60 + 170 60 27 47 71 + 171 61 47 27 71 + 172 61 80 71 27 + 173 45 80 27 71 + 174 27 80 43 61 + 175 70 46 81 28 + 176 70 28 81 58 + 177 34 72 29 58 + 178 58 83 72 29 + 179 29 83 49 36 + 180 36 58 29 83 + 181 83 63 72 29 + 182 83 49 63 29 + 183 36 65 30 48 + 184 65 30 48 73 + 185 86 30 73 54 + 186 65 86 30 73 + 187 30 54 86 89 + 188 89 30 53 65 + 189 30 86 65 89 + 190 36 65 52 31 + 191 66 75 52 31 + 192 75 55 31 66 + 193 55 77 31 66 + 194 90 31 65 77 + 195 90 31 52 65 + 196 90 31 77 66 + 197 66 52 90 31 + 198 38 42 50 33 + 199 42 50 33 37 + 200 38 50 78 33 + 201 63 50 33 78 + 202 33 78 51 63 + 203 72 58 34 45 + 204 41 72 34 45 + 205 51 74 84 35 + 206 84 74 49 35 + 207 76 36 52 64 + 208 76 49 36 64 + 209 49 83 76 36 + 210 76 48 85 36 + 211 36 85 65 48 + 212 76 85 52 36 + 213 52 85 65 36 + 214 36 88 76 48 + 215 88 76 83 36 + 216 36 88 58 83 + 217 44 50 42 37 + 218 37 60 47 44 + 219 44 60 79 37 + 220 44 79 50 37 + 221 82 41 37 60 + 222 50 82 37 91 + 223 79 37 60 91 + 224 79 50 37 91 + 225 60 37 82 91 + 226 42 50 67 38 + 227 56 78 38 67 + 228 78 67 50 38 + 229 69 57 40 43 + 230 68 69 57 40 + 231 68 46 69 40 + 232 41 72 45 82 + 233 60 41 45 82 + 234 44 50 87 42 + 235 50 87 42 67 + 236 80 61 93 43 + 237 43 69 57 93 + 238 43 80 69 93 + 239 87 79 50 44 + 240 92 47 60 44 + 241 79 44 87 92 + 242 79 60 44 92 + 243 70 45 94 59 + 244 45 94 80 71 + 245 45 94 59 80 + 246 45 113 58 70 + 247 113 45 58 72 + 248 70 94 45 113 + 249 114 60 71 45 + 250 60 45 114 82 + 251 94 71 45 114 + 252 94 45 129 114 + 253 82 72 45 129 + 254 113 129 45 72 + 255 129 45 82 114 + 256 45 129 113 94 + 257 97 81 70 46 + 258 70 46 59 116 + 259 70 97 46 116 + 260 46 69 59 116 + 261 68 69 46 116 + 262 71 61 47 117 + 263 71 47 60 117 + 264 92 47 117 60 + 265 76 88 100 48 + 266 48 88 100 62 + 267 101 65 85 48 + 268 101 73 65 48 + 269 100 118 76 48 + 270 62 73 118 48 + 271 62 118 100 48 + 272 118 73 101 48 + 273 76 48 118 85 + 274 118 48 101 85 + 275 74 49 63 83 + 276 49 74 84 64 + 277 64 49 74 104 + 278 49 104 76 83 + 279 104 64 49 76 + 280 83 49 104 74 + 281 82 50 63 91 + 282 87 50 79 122 + 283 78 50 67 122 + 284 50 87 67 122 + 285 91 79 50 122 + 286 63 135 50 78 + 287 135 78 122 50 + 288 91 50 135 122 + 289 50 135 63 91 + 290 78 106 51 63 + 291 123 51 106 63 + 292 123 74 84 51 + 293 74 123 63 51 + 294 51 123 137 84 + 295 123 106 51 137 + 296 52 85 90 65 + 297 75 52 108 66 + 298 64 52 108 75 + 299 64 52 139 108 + 300 139 52 90 66 + 301 52 139 90 85 + 302 139 108 52 66 + 303 52 85 76 139 + 304 52 76 64 139 + 305 89 53 77 65 + 306 119 73 54 86 + 307 66 55 77 110 + 308 126 66 55 75 + 309 141 110 55 66 + 310 141 66 55 126 + 311 111 56 67 78 + 312 56 128 111 67 + 313 56 111 128 143 + 314 157 78 56 111 + 315 157 111 56 143 + 316 69 95 57 93 + 317 68 95 57 69 + 318 81 70 58 88 + 319 58 113 72 83 + 320 113 58 88 83 + 321 113 88 58 70 + 322 80 93 59 69 + 323 69 59 95 93 + 324 94 59 80 115 + 325 59 93 115 95 + 326 115 93 59 80 + 327 96 70 59 116 + 328 95 59 130 115 + 329 96 59 130 116 + 330 69 59 130 95 + 331 116 59 130 69 + 332 144 115 59 94 + 333 144 59 130 96 + 334 144 59 115 130 + 335 144 96 160 59 + 336 144 160 94 59 + 337 70 160 96 59 + 338 94 160 70 59 + 339 91 114 82 60 + 340 71 98 60 114 + 341 60 98 117 92 + 342 117 71 98 60 + 343 98 92 60 132 + 344 79 60 132 91 + 345 91 132 114 60 + 346 60 92 79 132 + 347 114 98 60 132 + 348 115 80 71 61 + 349 93 61 80 115 + 350 133 61 93 115 + 351 115 71 133 61 + 352 133 71 117 61 + 353 97 81 62 88 + 354 62 100 118 134 + 355 62 119 134 73 + 356 73 134 62 118 + 357 62 147 120 100 + 358 134 119 62 147 + 359 102 120 62 147 + 360 102 147 62 119 + 361 100 62 147 134 + 362 148 62 97 120 + 363 62 148 100 120 + 364 97 62 148 88 + 365 62 100 148 88 + 366 63 72 99 83 + 367 82 63 72 99 + 368 82 63 103 91 + 369 63 99 121 83 + 370 63 121 99 82 + 371 103 121 63 82 + 372 74 63 121 83 + 373 123 106 135 63 + 374 78 135 106 63 + 375 105 63 123 135 + 376 103 63 135 91 + 377 123 63 136 74 + 378 63 136 105 123 + 379 136 63 121 74 + 380 121 136 105 63 + 381 121 105 163 63 + 382 163 135 63 105 + 383 63 103 135 163 + 384 63 163 121 103 + 385 64 108 84 75 + 386 64 76 104 139 + 387 64 139 125 108 + 388 64 104 125 139 + 389 150 84 64 108 + 390 150 64 125 108 + 391 150 125 64 104 + 392 150 84 74 64 + 393 64 74 150 104 + 394 65 101 86 73 + 395 90 65 85 101 + 396 65 86 127 89 + 397 127 101 86 65 + 398 127 90 65 77 + 399 101 90 65 127 + 400 77 65 127 89 + 401 66 77 90 110 + 402 126 108 66 75 + 403 108 66 141 126 + 404 108 156 141 66 + 405 108 156 66 139 + 406 66 90 156 110 + 407 66 156 141 110 + 408 90 66 156 139 + 409 111 67 122 78 + 410 67 87 142 122 + 411 67 111 122 142 + 412 67 128 111 142 + 413 68 116 145 69 + 414 69 145 68 95 + 415 130 145 116 69 + 416 69 130 145 95 + 417 81 70 88 97 + 418 88 97 70 131 + 419 113 131 88 70 + 420 97 70 131 146 + 421 97 116 70 146 + 422 146 70 96 116 + 423 146 70 131 96 + 424 131 96 70 160 + 425 70 160 94 113 + 426 160 131 113 70 + 427 94 80 71 115 + 428 98 71 117 133 + 429 71 161 133 98 + 430 94 161 115 71 + 431 161 133 115 71 + 432 71 98 114 161 + 433 71 114 94 161 + 434 83 72 99 113 + 435 72 129 99 113 + 436 82 72 129 99 + 437 119 101 73 86 + 438 101 134 119 73 + 439 73 101 134 118 + 440 150 123 74 84 + 441 136 150 74 104 + 442 123 136 150 74 + 443 104 136 151 74 + 444 136 121 151 74 + 445 83 104 151 74 + 446 121 151 74 83 + 447 126 108 75 84 + 448 124 76 104 83 + 449 109 76 118 139 + 450 118 85 139 76 + 451 76 140 109 118 + 452 76 140 124 109 + 453 100 76 118 140 + 454 76 124 154 109 + 455 76 109 154 139 + 456 154 104 76 139 + 457 154 104 124 76 + 458 100 162 76 140 + 459 76 83 124 162 + 460 88 162 76 100 + 461 162 76 140 124 + 462 88 83 76 162 + 463 127 77 110 90 + 464 122 78 157 111 + 465 135 122 78 157 + 466 135 78 106 157 + 467 112 87 92 79 + 468 132 79 112 92 + 469 112 87 79 142 + 470 87 79 142 122 + 471 158 79 112 132 + 472 91 158 79 122 + 473 158 91 79 132 + 474 122 142 166 79 + 475 112 166 142 79 + 476 158 166 112 79 + 477 122 166 158 79 + 478 103 149 121 82 + 479 114 91 82 149 + 480 82 99 129 149 + 481 82 129 114 149 + 482 103 82 91 149 + 483 99 121 149 82 + 484 124 107 83 138 + 485 121 99 138 83 + 486 83 124 151 104 + 487 121 138 151 83 + 488 124 83 151 138 + 489 152 138 99 83 + 490 83 99 152 113 + 491 83 152 138 107 + 492 107 124 83 162 + 493 107 152 162 83 + 494 113 88 162 83 + 495 113 162 152 83 + 496 150 137 123 84 + 497 84 126 108 153 + 498 164 108 84 150 + 499 164 153 137 84 + 500 84 108 164 153 + 501 164 84 137 150 + 502 118 101 139 85 + 503 90 101 85 139 + 504 155 86 101 119 + 505 101 165 127 86 + 506 165 155 86 101 + 507 88 148 97 131 + 508 88 100 148 162 + 509 162 148 88 131 + 510 131 88 162 113 + 511 127 156 90 110 + 512 165 139 90 156 + 513 90 165 101 139 + 514 156 127 90 165 + 515 101 90 127 165 + 516 91 135 103 122 + 517 158 122 91 103 + 518 91 158 103 167 + 519 167 114 149 91 + 520 167 132 114 91 + 521 149 91 103 167 + 522 91 132 158 167 + 523 132 112 159 92 + 524 117 98 159 92 + 525 98 159 92 132 + 526 133 93 168 115 + 527 168 115 93 95 + 528 129 160 113 94 + 529 144 161 115 94 + 530 94 161 114 169 + 531 94 169 160 144 + 532 114 169 129 94 + 533 144 94 169 161 + 534 129 169 160 94 + 535 95 130 168 115 + 536 95 171 130 145 + 537 95 171 198 130 + 538 168 95 198 130 + 539 144 96 130 172 + 540 146 131 174 96 + 541 199 116 146 96 + 542 199 130 116 96 + 543 96 144 200 172 + 544 199 130 96 226 + 545 226 172 130 96 + 546 228 173 96 200 + 547 173 96 146 228 + 548 228 174 96 146 + 549 200 246 96 228 + 550 246 160 96 131 + 551 144 96 200 246 + 552 174 96 246 228 + 553 246 96 174 131 + 554 144 160 96 246 + 555 199 96 146 247 + 556 247 199 96 226 + 557 146 96 173 247 + 558 264 200 172 96 + 559 264 173 200 96 + 560 247 96 264 226 + 561 226 264 172 96 + 562 173 247 96 264 + 563 97 131 202 146 + 564 97 120 202 148 + 565 202 97 148 131 + 566 132 170 98 159 + 567 98 170 132 114 + 568 114 98 170 161 + 569 170 98 205 161 + 570 98 117 205 133 + 571 159 170 98 205 + 572 98 117 159 205 + 573 161 205 133 98 + 574 129 152 99 113 + 575 152 99 138 177 + 576 177 207 149 99 + 577 207 99 121 149 + 578 99 177 207 138 + 579 99 138 207 121 + 580 225 99 177 149 + 581 152 225 99 177 + 582 225 129 99 149 + 583 152 99 225 129 + 584 120 148 100 178 + 585 147 178 120 100 + 586 100 178 203 140 + 587 203 100 148 178 + 588 148 162 100 203 + 589 162 140 100 203 + 590 100 208 178 140 + 591 208 118 100 134 + 592 100 147 208 134 + 593 100 208 140 118 + 594 147 208 178 100 + 595 134 101 119 155 + 596 179 155 101 134 + 597 101 134 118 179 + 598 139 165 101 179 + 599 165 101 179 155 + 600 179 101 139 118 + 601 102 180 147 119 + 602 120 147 102 211 + 603 250 102 147 211 + 604 147 102 250 180 + 605 103 149 163 121 + 606 182 103 167 149 + 607 182 163 103 149 + 608 122 135 103 183 + 609 158 183 122 103 + 610 167 212 103 182 + 611 183 212 103 158 + 612 103 158 212 167 + 613 103 234 163 182 + 614 103 234 183 135 + 615 103 163 234 135 + 616 182 103 234 212 + 617 103 212 183 234 + 618 154 125 104 139 + 619 104 184 150 125 + 620 104 154 184 125 + 621 213 104 124 154 + 622 154 213 104 184 + 623 150 104 213 184 + 624 104 213 124 151 + 625 136 104 151 213 + 626 136 213 150 104 + 627 136 121 105 151 + 628 163 186 135 105 + 629 105 123 186 135 + 630 151 121 105 207 + 631 121 163 105 207 + 632 105 216 186 123 + 633 105 136 216 123 + 634 236 136 105 151 + 635 236 105 136 216 + 636 253 163 207 105 + 637 186 105 163 253 + 638 236 216 266 105 + 639 105 186 266 253 + 640 186 266 216 105 + 641 151 105 236 270 + 642 105 266 236 270 + 643 151 207 105 270 + 644 105 253 266 270 + 645 253 105 207 270 + 646 135 123 186 106 + 647 106 188 137 123 + 648 188 216 123 106 + 649 186 123 216 106 + 650 106 135 235 186 + 651 188 235 216 106 + 652 235 186 216 106 + 653 235 135 106 157 + 654 162 140 107 124 + 655 152 107 177 138 + 656 140 162 107 203 + 657 203 107 140 190 + 658 162 107 203 152 + 659 107 203 152 190 + 660 152 219 107 190 + 661 219 107 177 152 + 662 124 107 239 140 + 663 107 220 239 190 + 664 239 140 107 190 + 665 190 220 240 107 + 666 107 240 219 177 + 667 240 190 107 219 + 668 220 107 239 255 + 669 124 239 107 255 + 670 255 107 124 138 + 671 177 138 107 255 + 672 240 107 220 255 + 673 240 177 107 255 + 674 164 125 108 150 + 675 108 139 191 156 + 676 191 125 139 108 + 677 191 125 108 164 + 678 108 191 141 156 + 679 108 164 153 222 + 680 191 108 222 164 + 681 108 153 126 222 + 682 108 141 191 222 + 683 141 222 108 126 + 684 109 118 134 179 + 685 179 139 109 118 + 686 109 134 118 208 + 687 109 140 208 118 + 688 109 179 134 209 + 689 124 218 154 109 + 690 109 154 139 221 + 691 139 179 109 221 + 692 232 193 140 109 + 693 232 134 209 109 + 694 109 134 208 232 + 695 232 140 208 109 + 696 140 239 124 109 + 697 239 109 140 193 + 698 239 218 109 193 + 699 124 239 218 109 + 700 109 258 179 209 + 701 232 209 258 109 + 702 109 258 193 218 + 703 258 193 232 109 + 704 267 109 179 221 + 705 109 267 154 221 + 706 154 267 109 218 + 707 109 258 267 179 + 708 218 267 109 258 + 709 157 185 111 143 + 710 122 157 185 111 + 711 122 111 185 214 + 712 128 214 111 142 + 713 122 111 214 142 + 714 111 214 128 242 + 715 143 242 185 111 + 716 143 128 242 111 + 717 111 185 214 242 + 718 166 194 112 142 + 719 206 194 112 166 + 720 206 112 158 166 + 721 132 158 206 112 + 722 132 206 159 112 + 723 152 160 131 113 + 724 129 160 152 113 + 725 131 162 152 113 + 726 114 170 132 167 + 727 114 129 197 149 + 728 197 169 114 161 + 729 167 197 149 114 + 730 197 114 169 129 + 731 197 114 170 161 + 732 170 167 114 197 + 733 144 168 115 161 + 734 133 115 168 161 + 735 168 144 115 130 + 736 145 199 130 116 + 737 134 180 119 147 + 738 134 119 180 155 + 739 147 233 120 178 + 740 211 120 147 233 + 741 202 248 148 120 + 742 248 120 233 178 + 743 202 233 248 120 + 744 120 178 248 148 + 745 151 207 138 121 + 746 207 121 163 149 + 747 166 122 158 183 + 748 166 142 122 214 + 749 215 135 157 122 + 750 215 157 185 122 + 751 122 215 135 183 + 752 122 185 252 214 + 753 252 215 185 122 + 754 252 183 215 122 + 755 122 183 166 252 + 756 122 166 214 252 + 757 150 123 137 237 + 758 188 137 123 237 + 759 150 123 237 136 + 760 216 188 123 237 + 761 136 123 237 216 + 762 154 124 213 238 + 763 124 213 238 189 + 764 238 124 189 218 + 765 238 154 124 218 + 766 189 124 239 218 + 767 255 124 189 213 + 768 124 189 239 255 + 769 255 124 151 138 + 770 255 151 124 213 + 771 184 125 164 150 + 772 191 241 139 125 + 773 154 241 125 139 + 774 125 184 241 154 + 775 125 256 191 241 + 776 125 184 256 241 + 777 191 125 164 256 + 778 164 125 184 256 + 779 225 129 169 160 + 780 197 169 225 129 + 781 197 225 149 129 + 782 225 152 129 160 + 783 130 168 144 172 + 784 130 198 168 172 + 785 199 130 171 145 + 786 130 199 171 226 + 787 198 172 130 245 + 788 171 130 226 245 + 789 130 226 245 172 + 790 198 130 171 245 + 791 174 202 131 146 + 792 131 162 203 152 + 793 162 203 148 131 + 794 174 131 203 229 + 795 131 203 229 152 + 796 152 229 131 246 + 797 174 246 131 229 + 798 152 131 160 246 + 799 131 174 203 248 + 800 202 248 174 131 + 801 202 148 248 131 + 802 131 203 148 248 + 803 132 159 206 170 + 804 132 206 230 170 + 805 230 158 206 132 + 806 132 167 170 230 + 807 132 158 167 230 + 808 133 168 176 161 + 809 205 133 176 161 + 810 209 180 134 147 + 811 155 179 209 134 + 812 180 155 209 134 + 813 147 232 208 134 + 814 209 134 232 147 + 815 183 234 215 135 + 816 135 186 163 234 + 817 135 215 186 234 + 818 215 157 135 235 + 819 186 135 235 215 + 820 187 136 236 213 + 821 136 187 236 216 + 822 136 151 236 213 + 823 237 213 150 136 + 824 187 237 136 213 + 825 136 216 237 187 + 826 137 217 153 164 + 827 254 188 137 217 + 828 254 164 137 150 + 829 137 164 254 217 + 830 137 254 237 188 + 831 254 137 237 150 + 832 270 207 177 138 + 833 270 177 255 138 + 834 255 138 151 270 + 835 207 151 138 270 + 836 139 221 165 179 + 837 165 221 139 156 + 838 221 191 139 156 + 839 221 139 191 241 + 840 241 221 139 154 + 841 178 208 232 140 + 842 259 193 140 232 + 843 178 232 259 140 + 844 193 140 239 259 + 845 190 239 140 259 + 846 268 259 140 178 + 847 268 140 203 178 + 848 190 140 203 268 + 849 190 140 268 259 + 850 166 194 142 214 + 851 185 224 242 143 + 852 242 224 196 143 + 853 185 143 157 260 + 854 185 224 143 260 + 855 260 196 224 143 + 856 161 144 168 201 + 857 168 201 144 172 + 858 144 169 227 161 + 859 201 144 227 161 + 860 169 246 160 144 + 861 201 144 172 263 + 862 144 246 263 169 + 863 263 144 200 246 + 864 144 263 227 169 + 865 200 144 263 172 + 866 201 263 227 144 + 867 199 145 171 265 + 868 228 146 175 202 + 869 228 202 174 146 + 870 228 146 173 204 + 871 228 146 204 175 + 872 146 173 204 247 + 873 147 178 208 232 + 874 147 210 178 232 + 875 147 210 181 233 + 876 211 233 147 181 + 877 147 210 233 178 + 878 250 147 180 209 + 879 232 147 250 209 + 880 147 181 210 250 + 881 211 147 250 181 + 882 250 210 147 232 + 883 178 248 148 203 + 884 182 207 163 149 + 885 251 149 197 225 + 886 225 177 251 149 + 887 177 251 149 207 + 888 182 149 251 207 + 889 251 167 197 149 + 890 251 182 167 149 + 891 237 150 213 254 + 892 254 150 213 184 + 893 164 184 150 254 + 894 255 213 236 151 + 895 236 255 151 270 + 896 219 177 225 152 + 897 229 152 203 190 + 898 152 229 219 190 + 899 246 160 152 225 + 900 219 152 225 246 + 901 219 229 152 246 + 902 192 153 217 164 + 903 192 222 153 164 + 904 213 184 154 238 + 905 154 257 184 241 + 906 218 238 154 257 + 907 238 154 257 184 + 908 257 267 241 154 + 909 267 221 241 154 + 910 218 257 154 267 + 911 235 157 260 215 + 912 215 185 157 260 + 913 212 166 158 183 + 914 212 158 230 167 + 915 166 158 230 212 + 916 158 206 166 230 + 917 262 159 170 206 + 918 159 262 170 205 + 919 246 169 160 225 + 920 161 168 176 201 + 921 169 227 161 197 + 922 170 161 227 197 + 923 231 170 205 161 + 924 205 176 231 161 + 925 201 227 249 161 + 926 231 249 170 161 + 927 176 249 231 161 + 928 201 176 161 249 + 929 170 227 161 249 + 930 234 163 253 186 + 931 253 234 182 163 + 932 253 182 207 163 + 933 254 217 164 192 + 934 164 192 223 254 + 935 254 164 184 223 + 936 184 223 164 256 + 937 222 256 164 192 + 938 222 256 191 164 + 939 164 256 223 192 + 940 212 230 166 195 + 941 243 214 194 166 + 942 252 166 243 195 + 943 212 166 252 195 + 944 214 252 166 243 + 945 252 212 183 166 + 946 166 195 261 243 + 947 195 166 261 230 + 948 166 261 194 243 + 949 206 194 166 261 + 950 206 166 230 261 + 951 167 269 170 230 + 952 271 269 170 167 + 953 167 271 197 170 + 954 271 167 197 251 + 955 251 272 271 167 + 956 182 272 167 212 + 957 271 269 167 272 + 958 269 167 272 230 + 959 230 212 167 272 + 960 251 182 272 167 + 961 168 244 201 172 + 962 244 168 198 172 + 963 176 244 201 168 + 964 273 169 246 225 + 965 273 227 263 169 + 966 273 246 169 263 + 967 273 306 227 169 + 968 169 225 273 306 + 969 197 227 306 169 + 970 169 197 225 306 + 971 262 205 231 170 + 972 231 262 170 269 + 973 170 262 206 269 + 974 231 170 249 269 + 975 170 206 230 269 + 976 170 271 227 249 + 977 170 249 269 271 + 978 170 271 197 227 + 979 226 199 171 265 + 980 226 171 245 265 + 981 198 245 275 172 + 982 244 275 172 198 + 983 245 172 226 308 + 984 245 275 172 308 + 985 308 172 226 264 + 986 172 341 308 275 + 987 275 172 341 244 + 988 172 201 341 244 + 989 201 172 341 263 + 990 263 341 365 172 + 991 365 341 308 172 + 992 365 200 172 264 + 993 263 365 200 172 + 994 308 172 264 365 + 995 228 200 278 173 + 996 173 204 247 313 + 997 228 278 315 173 + 998 204 173 228 315 + 999 276 173 264 339 + 1000 313 173 339 247 + 1001 264 339 173 247 + 1002 204 173 344 313 + 1003 204 344 173 315 + 1004 315 344 173 278 + 1005 173 344 314 278 + 1006 200 173 365 278 + 1007 365 173 200 264 + 1008 276 173 365 264 + 1009 314 365 276 173 + 1010 173 314 365 278 + 1011 276 339 366 173 + 1012 314 276 366 173 + 1013 366 344 173 313 + 1014 366 173 339 313 + 1015 366 344 314 173 + 1016 248 228 202 174 + 1017 268 248 203 174 + 1018 174 203 268 229 + 1019 229 281 268 174 + 1020 228 174 309 246 + 1021 309 246 174 229 + 1022 309 281 229 174 + 1023 174 248 228 345 + 1024 174 345 309 281 + 1025 345 174 248 268 + 1026 281 174 345 268 + 1027 309 228 345 174 + 1028 228 175 248 202 + 1029 175 202 233 248 + 1030 248 233 175 282 + 1031 316 282 175 233 + 1032 345 175 204 315 + 1033 204 228 175 345 + 1034 228 345 248 175 + 1035 175 345 248 282 + 1036 346 175 233 316 + 1037 284 175 346 316 + 1038 204 175 367 315 + 1039 175 392 345 282 + 1040 175 392 282 316 + 1041 175 316 284 392 + 1042 175 315 345 392 + 1043 175 367 315 392 + 1044 367 175 284 392 + 1045 231 312 249 176 + 1046 312 249 176 201 + 1047 201 176 312 244 + 1048 251 274 177 225 + 1049 251 319 177 274 + 1050 177 207 270 319 + 1051 319 177 207 251 + 1052 338 177 274 225 + 1053 219 225 177 338 + 1054 219 177 240 338 + 1055 240 338 177 370 + 1056 177 319 370 274 + 1057 338 177 370 274 + 1058 177 255 240 370 + 1059 370 319 177 270 + 1060 255 177 270 370 + 1061 178 232 210 259 + 1062 203 248 268 178 + 1063 248 282 268 178 + 1064 282 178 248 233 + 1065 178 210 233 348 + 1066 259 210 178 348 + 1067 178 259 348 268 + 1068 348 268 282 178 + 1069 282 348 178 233 + 1070 289 316 181 210 + 1071 316 233 181 210 + 1072 320 210 181 250 + 1073 320 181 210 289 + 1074 346 181 289 316 + 1075 233 211 346 181 + 1076 316 233 346 181 + 1077 182 286 272 212 + 1078 253 290 182 234 + 1079 290 182 234 212 + 1080 319 207 182 251 + 1081 319 182 207 253 + 1082 319 182 349 251 + 1083 182 349 272 286 + 1084 182 272 349 251 + 1085 349 372 182 319 + 1086 290 372 182 212 + 1087 286 212 182 372 + 1088 182 372 349 286 + 1089 372 253 182 319 + 1090 372 290 182 253 + 1091 215 234 183 252 + 1092 234 212 183 252 + 1093 184 257 322 241 + 1094 184 322 223 256 + 1095 322 223 291 184 + 1096 322 184 241 256 + 1097 257 238 184 322 + 1098 254 184 323 223 + 1099 254 213 323 184 + 1100 223 291 184 323 + 1101 184 291 322 351 + 1102 351 184 213 238 + 1103 351 184 238 322 + 1104 291 184 323 351 + 1105 213 323 184 351 + 1106 242 224 185 294 + 1107 185 293 252 325 + 1108 325 214 185 242 + 1109 242 185 325 294 + 1110 214 185 252 325 + 1111 185 326 215 252 + 1112 215 326 185 260 + 1113 326 293 252 185 + 1114 260 185 224 326 + 1115 294 185 325 352 + 1116 352 326 224 185 + 1117 352 293 326 185 + 1118 185 293 325 352 + 1119 224 185 294 352 + 1120 234 253 290 186 + 1121 235 215 295 186 + 1122 235 295 327 186 + 1123 216 266 186 327 + 1124 235 186 327 216 + 1125 186 295 350 215 + 1126 234 215 186 350 + 1127 234 186 290 350 + 1128 290 253 375 186 + 1129 375 186 295 350 + 1130 186 295 327 375 + 1131 186 327 266 375 + 1132 375 290 186 350 + 1133 186 375 266 253 + 1134 266 236 187 216 + 1135 213 292 236 187 + 1136 236 292 266 187 + 1137 296 216 266 187 + 1138 296 237 216 187 + 1139 213 237 323 187 + 1140 187 266 328 292 + 1141 237 187 296 356 + 1142 237 323 187 356 + 1143 266 296 187 357 + 1144 266 187 328 357 + 1145 213 323 373 187 + 1146 213 373 292 187 + 1147 297 395 373 187 + 1148 357 297 187 395 + 1149 395 328 292 187 + 1150 357 187 328 395 + 1151 395 292 373 187 + 1152 356 329 396 187 + 1153 396 373 323 187 + 1154 356 396 323 187 + 1155 297 396 187 373 + 1156 329 396 187 297 + 1157 397 296 357 187 + 1158 356 296 397 187 + 1159 397 329 356 187 + 1160 397 357 297 187 + 1161 397 297 329 187 + 1162 216 296 188 237 + 1163 235 216 296 188 + 1164 254 298 188 217 + 1165 330 217 188 298 + 1166 188 356 298 254 + 1167 188 237 356 254 + 1168 296 237 356 188 + 1169 296 376 235 188 + 1170 188 356 296 376 + 1171 188 298 356 376 + 1172 330 188 376 298 + 1173 220 239 189 255 + 1174 189 239 301 218 + 1175 189 301 239 220 + 1176 189 213 324 255 + 1177 324 238 213 189 + 1178 360 189 255 220 + 1179 360 301 189 220 + 1180 324 189 255 360 + 1181 398 218 238 189 + 1182 324 398 238 189 + 1183 398 301 218 189 + 1184 360 324 189 398 + 1185 360 189 301 398 + 1186 220 259 239 190 + 1187 268 190 229 203 + 1188 190 281 229 219 + 1189 190 219 240 281 + 1190 229 268 281 190 + 1191 190 240 333 281 + 1192 333 220 240 190 + 1193 190 259 268 382 + 1194 190 220 259 382 + 1195 220 333 382 190 + 1196 281 190 268 382 + 1197 281 333 190 382 + 1198 223 192 359 254 + 1199 217 359 192 254 + 1200 193 210 232 259 + 1201 193 232 210 288 + 1202 258 288 232 193 + 1203 239 301 218 193 + 1204 332 218 301 193 + 1205 218 193 361 258 + 1206 258 361 288 193 + 1207 332 361 218 193 + 1208 193 239 362 259 + 1209 239 362 301 193 + 1210 362 301 193 332 + 1211 361 371 193 332 + 1212 362 332 193 371 + 1213 193 210 371 288 + 1214 193 371 210 259 + 1215 362 371 193 259 + 1216 288 371 193 361 + 1217 230 195 285 261 + 1218 286 230 212 195 + 1219 195 261 243 305 + 1220 285 195 230 317 + 1221 286 317 230 195 + 1222 195 212 321 252 + 1223 212 286 195 321 + 1224 353 195 243 305 + 1225 195 321 353 252 + 1226 252 243 353 195 + 1227 364 195 317 304 + 1228 364 195 261 285 + 1229 195 364 261 305 + 1230 195 317 285 364 + 1231 195 304 364 386 + 1232 353 195 305 386 + 1233 386 195 305 364 + 1234 321 195 353 386 + 1235 304 399 386 195 + 1236 304 399 195 317 + 1237 399 195 286 321 + 1238 321 399 195 386 + 1239 399 195 317 286 + 1240 294 196 242 224 + 1241 224 196 260 303 + 1242 196 337 303 224 + 1243 294 389 196 224 + 1244 196 389 337 224 + 1245 306 197 251 271 + 1246 306 227 197 271 + 1247 306 251 197 225 + 1248 226 247 199 265 + 1249 228 309 200 246 + 1250 309 200 278 228 + 1251 200 309 343 246 + 1252 200 343 263 246 + 1253 200 279 263 343 + 1254 263 200 365 279 + 1255 309 343 391 200 + 1256 278 200 309 391 + 1257 391 365 200 279 + 1258 391 200 365 278 + 1259 200 391 279 343 + 1260 201 249 280 312 + 1261 244 312 201 341 + 1262 280 341 201 312 + 1263 341 280 201 263 + 1264 342 263 201 280 + 1265 201 342 227 263 + 1266 249 227 201 342 + 1267 249 201 280 342 + 1268 204 344 283 313 + 1269 315 204 345 228 + 1270 367 283 204 344 + 1271 344 204 367 315 + 1272 230 285 269 206 + 1273 230 285 206 261 + 1274 262 269 285 206 + 1275 319 207 270 253 + 1276 288 209 258 232 + 1277 288 209 232 250 + 1278 288 250 232 210 + 1279 288 320 250 210 + 1280 316 348 233 210 + 1281 371 210 320 288 + 1282 259 371 210 348 + 1283 371 393 320 210 + 1284 393 348 316 210 + 1285 371 348 393 210 + 1286 393 316 289 210 + 1287 289 320 393 210 + 1288 286 212 230 272 + 1289 212 252 234 321 + 1290 290 212 234 321 + 1291 372 290 321 212 + 1292 372 321 286 212 + 1293 255 236 213 292 + 1294 237 213 323 254 + 1295 292 213 255 324 + 1296 351 238 213 324 + 1297 292 373 213 324 + 1298 351 213 323 373 + 1299 351 213 373 324 + 1300 325 214 243 252 + 1301 215 235 295 260 + 1302 326 215 295 260 + 1303 215 295 350 326 + 1304 350 252 215 326 + 1305 215 350 234 252 + 1306 235 327 296 216 + 1307 216 296 266 327 + 1308 330 359 217 298 + 1309 217 298 359 254 + 1310 257 218 238 300 + 1311 218 331 267 258 + 1312 218 331 257 267 + 1313 300 331 257 218 + 1314 218 361 331 258 + 1315 380 361 331 218 + 1316 300 331 218 380 + 1317 380 361 218 332 + 1318 332 380 398 218 + 1319 380 218 300 398 + 1320 218 398 238 300 + 1321 332 398 301 218 + 1322 219 225 273 246 + 1323 246 229 309 219 + 1324 309 219 229 281 + 1325 273 225 219 338 + 1326 219 273 343 246 + 1327 246 309 343 219 + 1328 219 273 338 381 + 1329 381 219 281 240 + 1330 219 338 240 381 + 1331 273 343 381 219 + 1332 309 343 219 381 + 1333 309 219 281 381 + 1334 220 255 360 240 + 1335 239 362 259 220 + 1336 239 220 301 362 + 1337 382 259 362 220 + 1338 362 302 382 220 + 1339 220 302 382 333 + 1340 220 360 301 383 + 1341 220 383 301 362 + 1342 383 302 220 334 + 1343 362 383 302 220 + 1344 360 383 220 334 + 1345 333 384 220 302 + 1346 360 384 220 240 + 1347 334 220 384 302 + 1348 220 240 384 333 + 1349 360 384 334 220 + 1350 359 223 254 323 + 1351 223 385 291 323 + 1352 223 359 385 323 + 1353 326 260 303 224 + 1354 224 337 303 352 + 1355 303 326 224 352 + 1356 389 337 224 352 + 1357 352 294 224 389 + 1358 251 306 274 225 + 1359 338 273 225 306 + 1360 338 225 274 306 + 1361 247 265 226 277 + 1362 245 265 307 226 + 1363 307 226 265 277 + 1364 308 264 226 276 + 1365 276 264 226 339 + 1366 276 226 307 339 + 1367 277 247 339 226 + 1368 277 339 307 226 + 1369 264 226 339 247 + 1370 308 226 340 276 + 1371 340 226 307 276 + 1372 307 245 226 340 + 1373 308 226 245 340 + 1374 271 342 227 249 + 1375 227 263 342 273 + 1376 306 342 227 271 + 1377 273 342 227 306 + 1378 345 315 228 278 + 1379 345 228 309 278 + 1380 317 286 230 272 + 1381 285 317 230 269 + 1382 317 230 269 272 + 1383 262 231 347 269 + 1384 347 231 249 269 + 1385 249 231 347 368 + 1386 231 249 312 368 + 1387 316 348 282 233 + 1388 321 252 234 350 + 1389 321 234 290 350 + 1390 354 235 260 295 + 1391 327 354 295 235 + 1392 376 296 235 327 + 1393 376 235 354 327 + 1394 292 270 236 266 + 1395 255 292 270 236 + 1396 237 254 323 356 + 1397 300 238 257 379 + 1398 238 379 351 322 + 1399 238 257 379 322 + 1400 398 300 379 238 + 1401 398 379 351 238 + 1402 398 324 238 351 + 1403 360 299 240 255 + 1404 363 335 240 299 + 1405 370 299 240 335 + 1406 338 370 240 335 + 1407 240 370 255 299 + 1408 381 363 240 333 + 1409 381 240 363 335 + 1410 381 338 240 335 + 1411 381 281 333 240 + 1412 240 384 363 299 + 1413 384 333 240 363 + 1414 360 299 384 240 + 1415 325 243 293 252 + 1416 252 243 293 353 + 1417 293 243 325 387 + 1418 293 353 243 387 + 1419 353 243 387 305 + 1420 275 341 390 244 + 1421 244 390 312 341 + 1422 340 275 245 308 + 1423 273 343 246 263 + 1424 277 313 339 247 + 1425 345 248 282 268 + 1426 287 269 249 271 + 1427 269 347 287 249 + 1428 287 318 249 347 + 1429 249 347 318 368 + 1430 312 249 280 368 + 1431 318 280 249 368 + 1432 369 342 249 280 + 1433 287 249 318 369 + 1434 369 271 287 249 + 1435 369 249 318 280 + 1436 369 342 271 249 + 1437 319 349 274 251 + 1438 394 251 306 274 + 1439 394 349 251 274 + 1440 251 272 349 394 + 1441 251 271 272 394 + 1442 306 394 271 251 + 1443 326 252 293 374 + 1444 326 350 252 374 + 1445 353 293 252 374 + 1446 321 252 350 374 + 1447 353 252 321 374 + 1448 328 266 253 270 + 1449 290 355 253 372 + 1450 253 372 355 319 + 1451 253 375 355 290 + 1452 328 375 253 266 + 1453 355 253 328 375 + 1454 328 377 270 253 + 1455 253 355 377 319 + 1456 328 355 377 253 + 1457 377 270 253 319 + 1458 356 298 254 323 + 1459 359 254 298 323 + 1460 292 255 270 358 + 1461 358 255 270 370 + 1462 358 255 370 299 + 1463 292 378 255 358 + 1464 255 299 358 378 + 1465 324 378 360 255 + 1466 324 378 255 292 + 1467 255 360 299 378 + 1468 259 348 268 336 + 1469 336 259 382 268 + 1470 371 362 400 259 + 1471 259 336 400 348 + 1472 382 400 362 259 + 1473 400 259 382 336 + 1474 259 400 371 348 + 1475 354 260 326 295 + 1476 354 326 260 303 + 1477 262 347 285 269 + 1478 341 311 280 263 + 1479 279 311 263 342 + 1480 342 311 263 280 + 1481 263 342 273 310 + 1482 279 310 342 263 + 1483 263 273 343 310 + 1484 343 310 279 263 + 1485 341 311 263 365 + 1486 263 365 311 279 + 1487 276 365 308 264 + 1488 270 292 328 266 + 1489 327 296 266 357 + 1490 266 357 328 375 + 1491 266 327 357 375 + 1492 348 282 268 336 + 1493 282 268 401 345 + 1494 401 268 382 281 + 1495 336 382 401 268 + 1496 401 268 282 336 + 1497 281 345 401 268 + 1498 269 271 287 272 + 1499 269 272 287 317 + 1500 347 269 287 317 + 1501 269 285 317 347 + 1502 370 358 319 270 + 1503 358 270 292 377 + 1504 358 319 270 377 + 1505 328 292 270 377 + 1506 369 271 342 306 + 1507 271 287 272 394 + 1508 369 306 394 271 + 1509 369 394 287 271 + 1510 317 287 388 272 + 1511 349 272 286 388 + 1512 317 388 286 272 + 1513 394 388 287 272 + 1514 394 349 388 272 + 1515 381 310 343 273 + 1516 402 381 338 273 + 1517 342 402 273 310 + 1518 381 402 310 273 + 1519 306 273 342 402 + 1520 338 402 273 306 + 1521 274 319 370 403 + 1522 274 370 338 403 + 1523 445 274 349 394 + 1524 445 403 319 274 + 1525 445 306 338 274 + 1526 445 306 274 394 + 1527 319 349 445 274 + 1528 445 338 403 274 + 1529 341 390 404 275 + 1530 404 308 275 340 + 1531 341 404 308 275 + 1532 276 308 404 340 + 1533 276 307 405 339 + 1534 340 307 405 276 + 1535 276 314 366 406 + 1536 314 365 406 276 + 1537 276 339 446 366 + 1538 276 405 446 339 + 1539 487 405 446 276 + 1540 487 340 405 276 + 1541 276 404 487 340 + 1542 487 276 447 404 + 1543 404 308 276 488 + 1544 365 308 488 276 + 1545 488 365 276 406 + 1546 404 276 447 488 + 1547 488 276 447 406 + 1548 447 276 526 406 + 1549 526 276 447 487 + 1550 366 446 276 526 + 1551 526 446 276 487 + 1552 276 366 526 406 + 1553 313 339 448 277 + 1554 448 339 307 277 + 1555 391 365 314 278 + 1556 309 345 278 409 + 1557 409 391 278 309 + 1558 410 278 391 314 + 1559 409 278 450 345 + 1560 278 345 315 450 + 1561 278 344 314 451 + 1562 315 490 344 278 + 1563 278 408 450 490 + 1564 451 408 278 490 + 1565 451 278 344 490 + 1566 278 450 315 490 + 1567 278 408 491 450 + 1568 391 410 491 278 + 1569 278 491 409 450 + 1570 409 391 491 278 + 1571 557 278 408 491 + 1572 451 557 314 278 + 1573 451 408 557 278 + 1574 410 557 278 314 + 1575 491 410 557 278 + 1576 279 343 391 310 + 1577 279 449 311 342 + 1578 279 449 342 310 + 1579 449 411 279 311 + 1580 310 279 449 411 + 1581 279 391 452 310 + 1582 410 279 391 452 + 1583 365 488 311 279 + 1584 410 492 279 452 + 1585 310 492 279 411 + 1586 452 279 310 492 + 1587 279 527 391 365 + 1588 365 527 488 279 + 1589 527 279 391 410 + 1590 527 492 279 410 + 1591 488 311 279 558 + 1592 488 279 527 558 + 1593 527 492 558 279 + 1594 279 411 492 558 + 1595 279 311 411 558 + 1596 280 311 341 390 + 1597 341 390 312 280 + 1598 412 312 390 280 + 1599 312 280 412 368 + 1600 390 280 311 412 + 1601 342 449 280 369 + 1602 311 449 280 342 + 1603 318 280 449 369 + 1604 368 280 412 454 + 1605 368 318 280 454 + 1606 494 454 412 280 + 1607 494 318 454 280 + 1608 280 318 449 494 + 1609 311 280 449 494 + 1610 280 494 311 412 + 1611 401 382 333 281 + 1612 409 309 345 281 + 1613 409 345 401 281 + 1614 333 401 281 409 + 1615 409 309 281 381 + 1616 409 281 333 381 + 1617 336 282 401 392 + 1618 392 401 345 282 + 1619 282 392 415 316 + 1620 336 415 348 282 + 1621 282 415 348 316 + 1622 282 415 392 336 + 1623 367 283 344 490 + 1624 283 456 407 529 + 1625 529 283 313 407 + 1626 529 283 456 497 + 1627 529 313 283 344 + 1628 344 529 490 283 + 1629 283 560 416 497 + 1630 283 529 560 497 + 1631 367 560 283 490 + 1632 560 490 529 283 + 1633 283 416 560 367 + 1634 284 316 346 418 + 1635 367 284 457 392 + 1636 498 367 284 457 + 1637 418 499 284 316 + 1638 392 284 499 316 + 1639 457 392 284 499 + 1640 532 419 498 284 + 1641 284 499 532 419 + 1642 284 532 499 418 + 1643 457 499 284 533 + 1644 498 533 457 284 + 1645 533 284 419 499 + 1646 284 419 498 533 + 1647 317 285 420 347 + 1648 285 420 364 317 + 1649 372 286 399 349 + 1650 388 286 399 317 + 1651 372 321 399 286 + 1652 349 286 399 388 + 1653 388 287 422 394 + 1654 287 422 369 318 + 1655 369 422 287 394 + 1656 287 461 318 347 + 1657 347 287 461 317 + 1658 422 461 318 287 + 1659 388 461 287 317 + 1660 287 422 461 388 + 1661 288 423 371 361 + 1662 320 423 371 288 + 1663 393 289 316 417 + 1664 459 346 289 316 + 1665 459 316 289 417 + 1666 372 290 424 321 + 1667 321 350 290 424 + 1668 290 424 355 372 + 1669 350 375 290 465 + 1670 350 290 424 465 + 1671 465 290 424 355 + 1672 465 375 290 355 + 1673 379 322 291 351 + 1674 385 291 323 396 + 1675 323 291 351 427 + 1676 323 396 291 427 + 1677 291 427 468 351 + 1678 291 468 379 351 + 1679 385 507 291 396 + 1680 468 507 427 291 + 1681 396 427 507 291 + 1682 378 292 429 358 + 1683 429 358 292 377 + 1684 324 378 292 469 + 1685 292 469 429 395 + 1686 292 373 469 395 + 1687 324 292 373 469 + 1688 378 429 292 469 + 1689 470 292 395 328 + 1690 395 470 429 292 + 1691 470 377 292 328 + 1692 429 470 377 292 + 1693 326 293 352 374 + 1694 374 293 352 431 + 1695 431 387 353 293 + 1696 431 293 353 374 + 1697 352 293 325 471 + 1698 431 387 293 471 + 1699 325 293 387 471 + 1700 471 352 293 431 + 1701 294 471 389 352 + 1702 352 325 294 471 + 1703 350 326 295 425 + 1704 295 425 326 354 + 1705 295 327 474 354 + 1706 425 295 474 354 + 1707 474 327 295 506 + 1708 295 474 506 425 + 1709 295 350 506 375 + 1710 295 506 327 375 + 1711 506 350 295 425 + 1712 296 397 327 376 + 1713 397 296 327 357 + 1714 296 356 397 376 + 1715 436 357 297 397 + 1716 436 297 329 397 + 1717 476 329 297 396 + 1718 436 297 357 515 + 1719 395 357 297 515 + 1720 516 476 329 297 + 1721 329 436 516 297 + 1722 476 297 538 396 + 1723 297 538 373 395 + 1724 297 538 396 373 + 1725 567 516 436 297 + 1726 515 436 297 567 + 1727 538 297 567 395 + 1728 515 297 395 567 + 1729 297 476 538 571 + 1730 297 516 476 571 + 1731 567 516 297 571 + 1732 567 297 538 571 + 1733 385 359 298 323 + 1734 323 298 396 356 + 1735 323 298 385 396 + 1736 329 396 298 356 + 1737 330 376 475 298 + 1738 298 475 329 356 + 1739 298 376 475 356 + 1740 329 298 396 544 + 1741 385 298 359 544 + 1742 475 298 329 544 + 1743 298 475 330 544 + 1744 298 330 359 544 + 1745 385 396 298 544 + 1746 360 384 299 334 + 1747 360 378 430 299 + 1748 360 299 430 334 + 1749 438 363 299 335 + 1750 363 384 438 299 + 1751 299 358 463 370 + 1752 370 463 299 335 + 1753 438 299 463 335 + 1754 438 384 478 299 + 1755 299 430 334 478 + 1756 299 334 384 478 + 1757 358 299 514 378 + 1758 463 358 299 514 + 1759 547 430 378 299 + 1760 430 547 478 299 + 1761 438 478 547 299 + 1762 463 299 547 514 + 1763 547 514 299 378 + 1764 463 299 438 547 + 1765 300 428 398 379 + 1766 398 300 518 428 + 1767 380 300 518 398 + 1768 362 383 301 332 + 1769 383 480 301 332 + 1770 301 480 398 332 + 1771 480 301 360 383 + 1772 480 360 301 398 + 1773 383 302 400 362 + 1774 382 400 302 362 + 1775 334 384 441 302 + 1776 302 384 441 519 + 1777 333 302 481 519 + 1778 302 333 384 519 + 1779 520 441 302 334 + 1780 400 482 521 302 + 1781 440 521 482 302 + 1782 481 549 521 302 + 1783 302 549 382 333 + 1784 302 549 521 400 + 1785 302 481 549 333 + 1786 302 382 549 400 + 1787 550 482 400 302 + 1788 550 440 482 302 + 1789 302 550 440 520 + 1790 302 550 383 400 + 1791 550 383 334 302 + 1792 520 302 550 334 + 1793 551 440 302 521 + 1794 302 440 551 520 + 1795 302 551 521 481 + 1796 441 520 302 551 + 1797 519 441 302 551 + 1798 519 302 481 551 + 1799 354 425 326 303 + 1800 509 303 425 485 + 1801 509 303 337 352 + 1802 303 509 326 352 + 1803 337 485 303 509 + 1804 326 303 425 509 + 1805 354 511 425 303 + 1806 511 425 303 485 + 1807 304 421 399 317 + 1808 443 364 304 386 + 1809 304 317 364 460 + 1810 443 460 304 364 + 1811 486 304 386 443 + 1812 304 500 421 317 + 1813 304 460 500 317 + 1814 304 443 523 460 + 1815 304 523 443 486 + 1816 486 386 304 524 + 1817 399 421 304 524 + 1818 399 524 304 386 + 1819 553 486 304 524 + 1820 421 304 553 500 + 1821 460 553 304 500 + 1822 553 304 523 460 + 1823 421 553 304 524 + 1824 553 523 304 486 + 1825 386 305 443 364 + 1826 386 305 353 472 + 1827 387 305 472 353 + 1828 386 443 305 472 + 1829 402 306 369 342 + 1830 306 402 369 394 + 1831 445 394 402 306 + 1832 445 402 338 306 + 1833 339 405 448 307 + 1834 488 404 308 341 + 1835 341 308 488 365 + 1836 309 391 343 381 + 1837 309 409 391 381 + 1838 381 391 343 310 + 1839 342 449 402 310 + 1840 381 452 391 310 + 1841 402 493 381 310 + 1842 452 381 493 310 + 1843 528 310 452 493 + 1844 310 528 492 411 + 1845 528 310 402 449 + 1846 528 452 310 492 + 1847 528 411 310 449 + 1848 528 402 310 493 + 1849 390 453 412 311 + 1850 390 488 453 311 + 1851 365 311 488 341 + 1852 341 311 488 390 + 1853 494 412 453 311 + 1854 411 311 449 494 + 1855 311 558 488 453 + 1856 311 494 558 453 + 1857 311 558 494 411 + 1858 407 366 339 313 + 1859 339 313 448 407 + 1860 407 529 366 313 + 1861 344 529 313 366 + 1862 344 366 314 451 + 1863 366 495 406 314 + 1864 366 451 495 314 + 1865 527 365 314 391 + 1866 527 314 365 406 + 1867 391 314 527 410 + 1868 495 557 406 314 + 1869 495 451 557 314 + 1870 527 314 406 557 + 1871 527 314 557 410 + 1872 367 413 315 392 + 1873 345 315 413 392 + 1874 413 315 345 450 + 1875 315 367 344 490 + 1876 315 413 367 490 + 1877 315 450 413 490 + 1878 459 346 316 418 + 1879 392 499 415 316 + 1880 418 459 499 316 + 1881 459 316 417 499 + 1882 316 417 499 531 + 1883 417 316 393 531 + 1884 316 499 415 531 + 1885 531 415 316 348 + 1886 531 316 393 348 + 1887 421 399 317 388 + 1888 317 364 460 420 + 1889 317 420 461 347 + 1890 388 421 461 317 + 1891 421 500 461 317 + 1892 317 460 500 420 + 1893 317 500 461 420 + 1894 318 422 369 449 + 1895 461 501 318 347 + 1896 501 368 454 318 + 1897 501 347 368 318 + 1898 461 422 318 501 + 1899 494 454 318 534 + 1900 534 318 501 454 + 1901 534 501 318 422 + 1902 494 318 449 562 + 1903 422 562 449 318 + 1904 494 534 318 562 + 1905 422 534 562 318 + 1906 403 358 319 370 + 1907 319 358 403 377 + 1908 349 462 372 319 + 1909 372 355 319 462 + 1910 462 319 403 377 + 1911 355 319 462 377 + 1912 462 349 535 319 + 1913 535 403 319 445 + 1914 535 319 349 445 + 1915 462 535 403 319 + 1916 320 423 393 371 + 1917 321 424 372 399 + 1918 321 466 424 399 + 1919 353 321 386 466 + 1920 353 321 466 374 + 1921 466 321 386 399 + 1922 321 424 466 505 + 1923 505 321 350 374 + 1924 505 466 321 374 + 1925 321 505 350 424 + 1926 323 427 373 396 + 1927 351 323 427 373 + 1928 430 360 398 324 + 1929 360 378 324 430 + 1930 324 373 351 469 + 1931 378 324 537 469 + 1932 537 324 378 430 + 1933 324 351 398 537 + 1934 430 398 537 324 + 1935 324 469 351 537 + 1936 425 350 326 467 + 1937 350 374 326 467 + 1938 326 352 509 374 + 1939 467 326 425 509 + 1940 467 374 326 509 + 1941 354 327 397 376 + 1942 354 327 474 397 + 1943 357 327 397 474 + 1944 474 357 327 506 + 1945 506 357 327 375 + 1946 328 375 357 434 + 1947 434 328 375 355 + 1948 470 395 515 328 + 1949 395 328 357 515 + 1950 328 357 515 434 + 1951 377 566 328 470 + 1952 470 515 566 328 + 1953 328 377 355 566 + 1954 434 566 328 355 + 1955 515 434 566 328 + 1956 356 475 329 397 + 1957 329 476 437 396 + 1958 436 477 397 329 + 1959 436 516 477 329 + 1960 475 329 437 544 + 1961 396 437 329 544 + 1962 476 545 329 437 + 1963 329 437 545 475 + 1964 329 545 397 475 + 1965 545 516 329 477 + 1966 545 397 477 329 + 1967 329 516 545 476 + 1968 376 475 512 330 + 1969 544 512 475 330 + 1970 332 439 383 480 + 1971 361 503 371 332 + 1972 383 332 503 439 + 1973 380 503 332 439 + 1974 361 380 503 332 + 1975 362 503 332 371 + 1976 332 362 383 503 + 1977 332 380 439 518 + 1978 380 332 398 518 + 1979 332 439 480 518 + 1980 480 398 332 518 + 1981 363 519 384 333 + 1982 381 333 409 548 + 1983 381 333 548 363 + 1984 382 401 333 549 + 1985 549 333 481 409 + 1986 549 401 333 409 + 1987 363 519 333 568 + 1988 568 333 409 481 + 1989 568 519 333 481 + 1990 409 333 568 548 + 1991 568 548 333 363 + 1992 384 334 441 478 + 1993 334 430 360 480 + 1994 334 360 383 480 + 1995 520 478 441 334 + 1996 550 480 520 334 + 1997 550 383 480 334 + 1998 552 480 334 520 + 1999 430 480 334 552 + 2000 520 552 478 334 + 2001 478 334 552 430 + 2002 402 338 381 335 + 2003 335 403 338 370 + 2004 335 402 338 445 + 2005 335 445 338 403 + 2006 335 463 403 370 + 2007 363 493 381 335 + 2008 493 335 483 402 + 2009 402 381 493 335 + 2010 363 335 483 493 + 2011 463 335 522 438 + 2012 522 335 363 438 + 2013 522 483 363 335 + 2014 535 403 445 335 + 2015 335 463 522 535 + 2016 403 463 335 535 + 2017 335 522 569 535 + 2018 335 569 522 483 + 2019 535 445 569 335 + 2020 402 483 569 335 + 2021 335 569 402 445 + 2022 336 401 458 392 + 2023 458 392 415 336 + 2024 458 336 415 531 + 2025 400 336 458 531 + 2026 531 348 400 336 + 2027 531 415 348 336 + 2028 401 458 549 336 + 2029 458 400 549 336 + 2030 336 401 382 549 + 2031 336 382 400 549 + 2032 485 444 509 337 + 2033 389 509 444 337 + 2034 389 509 337 352 + 2035 485 444 337 525 + 2036 339 489 448 405 + 2037 407 489 448 339 + 2038 339 446 489 405 + 2039 556 446 339 366 + 2040 556 489 407 339 + 2041 556 366 339 407 + 2042 556 446 489 339 + 2043 390 404 488 341 + 2044 402 369 449 342 + 2045 344 529 366 451 + 2046 344 529 451 490 + 2047 345 401 392 496 + 2048 345 392 413 496 + 2049 413 345 496 450 + 2050 409 450 496 345 + 2051 401 409 496 345 + 2052 461 420 501 347 + 2053 400 371 348 393 + 2054 393 348 400 531 + 2055 399 462 372 349 + 2056 445 502 394 349 + 2057 445 349 535 502 + 2058 394 536 388 349 + 2059 394 502 536 349 + 2060 399 563 462 349 + 2061 563 502 349 536 + 2062 563 349 388 536 + 2063 563 399 388 349 + 2064 563 349 502 535 + 2065 535 462 563 349 + 2066 350 505 374 467 + 2067 350 465 424 505 + 2068 350 505 467 426 + 2069 350 465 505 426 + 2070 506 467 350 425 + 2071 350 426 506 465 + 2072 426 350 506 467 + 2073 350 506 375 465 + 2074 351 398 428 379 + 2075 428 379 468 351 + 2076 351 373 427 469 + 2077 351 427 508 469 + 2078 468 428 351 508 + 2079 351 508 427 468 + 2080 508 428 351 537 + 2081 398 351 428 537 + 2082 469 508 351 537 + 2083 374 352 509 431 + 2084 539 431 509 352 + 2085 471 389 352 539 + 2086 539 509 389 352 + 2087 471 352 431 539 + 2088 353 386 432 466 + 2089 432 472 386 353 + 2090 472 510 387 353 + 2091 387 510 431 353 + 2092 353 510 431 540 + 2093 540 353 510 472 + 2094 374 353 540 466 + 2095 353 540 431 374 + 2096 432 540 472 353 + 2097 353 466 432 540 + 2098 354 397 435 376 + 2099 354 397 474 435 + 2100 354 474 511 435 + 2101 425 474 511 354 + 2102 372 355 462 424 + 2103 375 355 465 434 + 2104 355 462 513 377 + 2105 355 462 424 513 + 2106 355 541 424 465 + 2107 355 424 541 513 + 2108 465 355 541 566 + 2109 513 566 355 377 + 2110 355 513 541 566 + 2111 566 465 355 434 + 2112 356 376 475 397 + 2113 357 397 436 474 + 2114 506 375 434 357 + 2115 357 543 506 474 + 2116 474 357 543 436 + 2117 543 357 515 436 + 2118 434 506 357 543 + 2119 434 357 515 543 + 2120 403 463 358 370 + 2121 378 358 429 514 + 2122 358 463 403 514 + 2123 403 377 358 514 + 2124 429 514 358 377 + 2125 360 480 430 398 + 2126 503 423 361 371 + 2127 400 371 503 362 + 2128 383 503 362 400 + 2129 442 483 493 363 + 2130 384 519 363 438 + 2131 438 484 519 363 + 2132 484 438 522 363 + 2133 484 522 442 363 + 2134 522 483 442 363 + 2135 493 363 381 548 + 2136 493 442 363 548 + 2137 363 568 548 442 + 2138 484 442 568 363 + 2139 484 568 519 363 + 2140 527 406 365 488 + 2141 495 366 526 455 + 2142 366 526 406 495 + 2143 556 366 529 414 + 2144 455 556 366 526 + 2145 556 455 366 414 + 2146 556 529 366 407 + 2147 446 366 556 526 + 2148 559 366 455 414 + 2149 559 366 529 451 + 2150 559 529 366 414 + 2151 451 495 559 366 + 2152 495 559 366 455 + 2153 457 392 413 367 + 2154 498 416 367 457 + 2155 367 490 413 530 + 2156 413 530 457 367 + 2157 457 530 416 367 + 2158 367 530 416 560 + 2159 367 560 490 530 + 2160 502 422 369 394 + 2161 502 369 422 449 + 2162 502 369 449 402 + 2163 502 369 402 394 + 2164 371 464 393 400 + 2165 423 464 393 371 + 2166 503 464 423 371 + 2167 503 371 400 464 + 2168 399 424 372 462 + 2169 538 373 427 396 + 2170 538 427 373 469 + 2171 538 373 395 469 + 2172 374 505 433 467 + 2173 374 467 433 509 + 2174 374 540 473 564 + 2175 473 433 374 564 + 2176 374 540 564 466 + 2177 564 374 505 433 + 2178 564 466 505 374 + 2179 565 473 374 540 + 2180 473 374 433 565 + 2181 565 509 431 374 + 2182 565 433 509 374 + 2183 565 374 431 540 + 2184 375 465 506 434 + 2185 435 397 475 376 + 2186 475 435 376 512 + 2187 377 462 513 403 + 2188 542 513 377 470 + 2189 377 513 542 403 + 2190 429 542 514 377 + 2191 429 377 470 542 + 2192 403 542 377 514 + 2193 566 377 513 470 + 2194 378 429 479 514 + 2195 517 378 430 537 + 2196 547 430 517 378 + 2197 547 517 479 378 + 2198 547 479 514 378 + 2199 378 537 572 469 + 2200 517 378 572 479 + 2201 572 517 537 378 + 2202 572 429 378 469 + 2203 429 572 378 479 + 2204 391 452 381 409 + 2205 409 452 381 548 + 2206 493 548 381 452 + 2207 439 383 550 503 + 2208 400 550 383 503 + 2209 480 439 383 550 + 2210 384 441 519 478 + 2211 438 478 384 519 + 2212 507 385 437 396 + 2213 396 385 437 544 + 2214 466 386 524 399 + 2215 386 472 554 443 + 2216 432 386 554 486 + 2217 554 472 386 432 + 2218 486 386 554 443 + 2219 466 386 432 555 + 2220 555 432 486 386 + 2221 555 486 524 386 + 2222 466 524 386 555 + 2223 510 471 387 431 + 2224 421 536 388 461 + 2225 422 388 536 461 + 2226 388 422 536 394 + 2227 421 563 399 388 + 2228 421 536 563 388 + 2229 389 444 509 539 + 2230 488 453 404 390 + 2231 452 491 391 410 + 2232 409 391 452 491 + 2233 458 496 392 401 + 2234 561 496 413 392 + 2235 561 415 392 499 + 2236 561 392 457 499 + 2237 561 413 457 392 + 2238 561 458 496 392 + 2239 561 415 458 392 + 2240 400 464 393 504 + 2241 504 393 400 531 + 2242 531 417 504 393 + 2243 394 402 502 445 + 2244 502 536 422 394 + 2245 429 538 395 469 + 2246 538 567 429 395 + 2247 395 567 429 470 + 2248 395 515 567 470 + 2249 507 437 476 396 + 2250 476 507 396 427 + 2251 427 396 476 538 + 2252 397 435 475 545 + 2253 397 477 435 545 + 2254 436 477 546 397 + 2255 477 435 546 397 + 2256 436 546 474 397 + 2257 435 474 546 397 + 2258 480 537 430 398 + 2259 518 398 537 480 + 2260 537 398 518 428 + 2261 563 399 524 421 + 2262 573 524 399 466 + 2263 399 573 424 462 + 2264 563 573 524 399 + 2265 573 399 424 466 + 2266 573 563 462 399 + 2267 504 482 531 400 + 2268 521 458 531 400 + 2269 400 521 482 531 + 2270 521 458 400 549 + 2271 503 464 400 550 + 2272 570 550 400 464 + 2273 570 482 504 400 + 2274 570 504 464 400 + 2275 400 482 550 570 + 2276 496 401 549 409 + 2277 496 549 401 458 + 2278 528 449 402 502 + 2279 528 483 402 493 + 2280 569 502 402 445 + 2281 528 569 402 483 + 2282 569 402 502 528 + 2283 403 513 542 574 + 2284 403 462 513 574 + 2285 542 574 514 403 + 2286 403 535 462 629 + 2287 514 574 629 403 + 2288 463 535 403 629 + 2289 463 403 514 629 + 2290 462 629 574 403 + 2291 575 447 488 404 + 2292 487 447 575 404 + 2293 453 404 575 488 + 2294 487 446 405 576 + 2295 576 446 405 489 + 2296 527 447 406 488 + 2297 406 526 447 577 + 2298 495 526 406 577 + 2299 406 447 527 577 + 2300 495 406 631 577 + 2301 631 406 527 577 + 2302 631 527 406 557 + 2303 631 406 495 557 + 2304 456 556 407 529 + 2305 556 407 579 456 + 2306 489 556 407 579 + 2307 489 407 448 579 + 2308 560 451 490 408 + 2309 490 582 408 450 + 2310 408 490 560 582 + 2311 560 583 451 408 + 2312 408 634 560 583 + 2313 408 560 634 582 + 2314 635 450 408 582 + 2315 635 408 450 491 + 2316 582 408 635 683 + 2317 408 683 634 583 + 2318 582 683 634 408 + 2319 635 491 684 408 + 2320 684 408 491 557 + 2321 722 557 451 408 + 2322 683 635 722 408 + 2323 722 451 583 408 + 2324 635 684 722 408 + 2325 683 722 583 408 + 2326 684 722 408 557 + 2327 548 491 409 452 + 2328 496 549 481 409 + 2329 584 409 481 568 + 2330 496 409 584 450 + 2331 496 584 409 481 + 2332 491 409 584 548 + 2333 584 450 409 491 + 2334 568 584 409 548 + 2335 581 492 527 410 + 2336 581 557 410 527 + 2337 410 581 492 636 + 2338 491 452 636 410 + 2339 410 492 452 636 + 2340 410 557 581 684 + 2341 581 684 636 410 + 2342 410 491 557 684 + 2343 491 636 684 410 + 2344 411 528 562 449 + 2345 411 449 562 494 + 2346 411 562 585 494 + 2347 411 585 558 494 + 2348 558 492 585 411 + 2349 686 562 585 411 + 2350 528 492 411 686 + 2351 585 411 492 686 + 2352 686 528 562 411 + 2353 687 453 494 412 + 2354 494 687 412 454 + 2355 450 413 490 530 + 2356 413 450 496 530 + 2357 413 496 561 530 + 2358 413 561 457 530 + 2359 414 529 456 497 + 2360 556 456 414 529 + 2361 414 580 556 455 + 2362 455 559 414 640 + 2363 414 681 456 556 + 2364 580 681 414 556 + 2365 688 589 497 414 + 2366 414 688 529 497 + 2367 529 414 559 688 + 2368 688 559 640 414 + 2369 688 640 589 414 + 2370 639 414 689 580 + 2371 414 689 580 455 + 2372 689 414 639 589 + 2373 455 414 689 640 + 2374 589 689 414 640 + 2375 414 639 727 580 + 2376 414 681 580 727 + 2377 756 639 727 414 + 2378 456 414 756 681 + 2379 756 497 589 414 + 2380 589 414 639 756 + 2381 756 456 497 414 + 2382 756 727 681 414 + 2383 499 561 415 642 + 2384 642 458 561 415 + 2385 415 642 531 499 + 2386 642 531 458 415 + 2387 497 416 592 560 + 2388 498 690 416 457 + 2389 690 498 416 593 + 2390 416 593 644 690 + 2391 416 592 560 690 + 2392 560 690 530 416 + 2393 690 416 592 644 + 2394 530 690 457 416 + 2395 416 592 691 497 + 2396 416 644 691 592 + 2397 642 504 531 417 + 2398 417 531 642 499 + 2399 459 417 648 499 + 2400 692 648 417 499 + 2401 642 692 504 417 + 2402 417 499 642 692 + 2403 459 499 532 418 + 2404 533 419 594 499 + 2405 647 498 532 419 + 2406 647 532 595 419 + 2407 498 647 593 419 + 2408 532 595 419 648 + 2409 594 499 419 648 + 2410 532 419 499 648 + 2411 419 647 593 693 + 2412 498 593 731 419 + 2413 533 594 419 731 + 2414 419 731 498 533 + 2415 731 419 593 759 + 2416 593 419 693 759 + 2417 760 594 419 648 + 2418 731 594 419 760 + 2419 760 419 595 648 + 2420 759 776 731 419 + 2421 759 693 776 419 + 2422 595 760 776 419 + 2423 647 419 595 776 + 2424 731 419 776 760 + 2425 776 693 647 419 + 2426 649 420 461 500 + 2427 649 420 501 461 + 2428 649 460 420 500 + 2429 421 500 536 461 + 2430 421 597 500 553 + 2431 597 536 563 421 + 2432 421 524 597 553 + 2433 563 524 597 421 + 2434 597 536 421 500 + 2435 422 502 449 562 + 2436 598 502 536 422 + 2437 534 562 598 422 + 2438 422 598 502 562 + 2439 694 422 461 501 + 2440 534 694 501 422 + 2441 536 598 422 694 + 2442 598 422 694 534 + 2443 536 694 422 461 + 2444 424 505 541 466 + 2445 465 541 424 505 + 2446 466 424 573 541 + 2447 513 541 573 424 + 2448 513 573 462 424 + 2449 511 425 485 604 + 2450 511 425 604 474 + 2451 425 604 474 506 + 2452 467 425 506 653 + 2453 425 653 604 506 + 2454 698 425 509 467 + 2455 698 485 425 604 + 2456 509 425 698 485 + 2457 425 653 698 604 + 2458 467 698 425 653 + 2459 506 426 602 465 + 2460 465 426 602 505 + 2461 505 652 426 602 + 2462 653 506 426 602 + 2463 426 653 605 467 + 2464 467 506 426 653 + 2465 426 652 505 697 + 2466 426 605 652 697 + 2467 467 426 505 697 + 2468 426 467 605 697 + 2469 426 652 605 699 + 2470 426 605 653 699 + 2471 699 653 426 602 + 2472 602 652 426 699 + 2473 538 508 427 469 + 2474 508 538 427 571 + 2475 507 571 427 476 + 2476 571 538 427 476 + 2477 508 427 468 606 + 2478 606 468 507 427 + 2479 427 507 606 571 + 2480 508 427 606 571 + 2481 537 518 607 428 + 2482 468 655 428 508 + 2483 655 537 607 428 + 2484 428 655 537 508 + 2485 542 514 479 429 + 2486 572 567 429 538 + 2487 538 429 572 469 + 2488 470 567 429 609 + 2489 542 470 429 659 + 2490 429 659 470 609 + 2491 429 702 609 567 + 2492 479 429 572 702 + 2493 702 572 567 429 + 2494 479 429 702 736 + 2495 609 702 429 736 + 2496 659 736 609 429 + 2497 542 479 736 429 + 2498 542 736 659 429 + 2499 547 430 478 517 + 2500 430 480 658 537 + 2501 658 552 480 430 + 2502 517 430 658 537 + 2503 658 478 430 517 + 2504 552 478 430 658 + 2505 431 539 510 471 + 2506 565 510 431 539 + 2507 540 431 565 510 + 2508 565 431 509 539 + 2509 432 466 564 540 + 2510 555 564 432 466 + 2511 432 472 540 612 + 2512 432 554 472 612 + 2513 554 486 613 432 + 2514 432 486 613 555 + 2515 662 612 554 432 + 2516 662 540 612 432 + 2517 432 662 613 554 + 2518 432 564 555 662 + 2519 564 432 540 662 + 2520 662 432 613 555 + 2521 660 433 610 509 + 2522 660 565 433 509 + 2523 564 433 697 473 + 2524 654 697 433 473 + 2525 564 505 697 433 + 2526 467 505 433 697 + 2527 697 433 467 654 + 2528 698 610 433 509 + 2529 698 467 433 654 + 2530 433 698 654 610 + 2531 698 433 467 509 + 2532 565 660 433 737 + 2533 654 473 433 737 + 2534 610 654 433 737 + 2535 610 433 660 737 + 2536 565 433 473 737 + 2537 506 602 543 434 + 2538 506 602 434 465 + 2539 602 515 543 434 + 2540 434 515 566 602 + 2541 566 602 465 434 + 2542 546 511 474 435 + 2543 477 435 615 546 + 2544 546 615 511 435 + 2545 664 435 615 477 + 2546 664 475 435 545 + 2547 477 664 435 545 + 2548 435 512 475 664 + 2549 436 515 543 617 + 2550 474 700 546 436 + 2551 667 617 436 700 + 2552 436 543 700 617 + 2553 474 543 700 436 + 2554 516 707 567 436 + 2555 436 515 707 567 + 2556 617 436 515 707 + 2557 516 707 436 740 + 2558 477 740 516 436 + 2559 477 740 436 667 + 2560 617 740 436 707 + 2561 436 617 667 740 + 2562 741 477 546 436 + 2563 477 436 741 667 + 2564 741 546 700 436 + 2565 667 436 741 700 + 2566 656 507 437 476 + 2567 665 475 545 437 + 2568 544 665 437 475 + 2569 665 545 708 437 + 2570 476 708 545 437 + 2571 656 476 437 708 + 2572 599 522 438 463 + 2573 599 438 522 484 + 2574 547 438 463 599 + 2575 478 547 669 438 + 2576 438 669 599 547 + 2577 438 710 478 519 + 2578 710 484 519 438 + 2579 478 669 710 438 + 2580 669 710 438 599 + 2581 710 484 438 599 + 2582 439 550 600 503 + 2583 672 600 439 550 + 2584 480 672 439 550 + 2585 672 439 712 480 + 2586 518 712 439 480 + 2587 482 570 440 550 + 2588 440 520 624 551 + 2589 440 624 673 551 + 2590 551 673 440 521 + 2591 570 675 482 440 + 2592 520 624 713 440 + 2593 713 440 570 550 + 2594 440 675 624 713 + 2595 440 570 675 713 + 2596 440 713 520 550 + 2597 440 714 624 675 + 2598 673 624 440 714 + 2599 440 482 714 675 + 2600 440 482 521 714 + 2601 440 521 673 714 + 2602 519 441 620 478 + 2603 620 478 441 520 + 2604 620 441 519 551 + 2605 441 620 520 551 + 2606 442 483 587 493 + 2607 442 636 548 493 + 2608 636 548 568 442 + 2609 442 587 636 493 + 2610 442 676 716 623 + 2611 676 587 442 716 + 2612 623 442 750 716 + 2613 750 522 442 484 + 2614 772 442 623 568 + 2615 568 772 442 484 + 2616 750 484 442 772 + 2617 442 750 772 623 + 2618 442 636 773 568 + 2619 623 676 773 442 + 2620 623 568 442 773 + 2621 773 442 676 587 + 2622 773 636 442 587 + 2623 774 587 716 442 + 2624 522 442 483 774 + 2625 522 750 442 774 + 2626 774 483 587 442 + 2627 716 442 750 774 + 2628 523 554 443 486 + 2629 509 485 610 444 + 2630 660 610 444 509 + 2631 660 611 539 444 + 2632 660 539 509 444 + 2633 718 485 525 444 + 2634 718 610 485 444 + 2635 660 610 718 444 + 2636 754 611 660 444 + 2637 660 718 754 444 + 2638 754 525 444 718 + 2639 445 535 569 502 + 2640 576 556 446 489 + 2641 576 487 446 526 + 2642 526 556 446 576 + 2643 488 558 527 447 + 2644 577 527 558 447 + 2645 630 526 447 487 + 2646 630 447 575 487 + 2647 575 447 632 488 + 2648 447 558 632 488 + 2649 577 558 632 447 + 2650 577 721 526 447 + 2651 447 632 577 721 + 2652 447 575 632 721 + 2653 575 721 447 630 + 2654 526 447 721 630 + 2655 528 562 449 502 + 2656 490 530 582 450 + 2657 584 635 450 491 + 2658 635 685 450 582 + 2659 530 450 496 685 + 2660 685 582 530 450 + 2661 584 450 685 496 + 2662 450 685 635 584 + 2663 560 451 529 490 + 2664 529 560 583 451 + 2665 529 583 559 451 + 2666 722 557 495 451 + 2667 722 495 559 451 + 2668 583 559 451 722 + 2669 636 492 452 528 + 2670 548 636 491 452 + 2671 493 452 528 636 + 2672 493 636 548 452 + 2673 575 632 453 488 + 2674 488 558 632 453 + 2675 453 632 687 558 + 2676 453 687 494 558 + 2677 534 501 588 454 + 2678 726 687 494 454 + 2679 726 534 588 454 + 2680 726 494 534 454 + 2681 526 495 455 679 + 2682 526 455 578 679 + 2683 580 455 680 556 + 2684 455 578 641 680 + 2685 641 455 680 580 + 2686 526 680 455 556 + 2687 578 455 526 680 + 2688 580 641 455 689 + 2689 641 689 590 455 + 2690 689 590 455 640 + 2691 679 455 578 728 + 2692 590 728 455 679 + 2693 728 578 641 455 + 2694 641 590 728 455 + 2695 679 495 455 755 + 2696 559 755 640 455 + 2697 455 755 640 590 + 2698 755 455 559 495 + 2699 590 455 755 679 + 2700 556 681 456 579 + 2701 643 579 456 681 + 2702 456 756 643 681 + 2703 533 457 499 561 + 2704 533 457 561 690 + 2705 457 498 690 533 + 2706 530 561 457 690 + 2707 458 549 521 591 + 2708 591 458 496 561 + 2709 458 496 549 591 + 2710 591 458 561 642 + 2711 642 591 458 521 + 2712 642 458 531 521 + 2713 459 648 532 499 + 2714 553 523 596 460 + 2715 596 500 553 460 + 2716 596 649 500 460 + 2717 649 694 461 501 + 2718 694 649 461 500 + 2719 536 500 694 461 + 2720 513 462 573 574 + 2721 535 462 734 563 + 2722 629 535 462 734 + 2723 563 462 734 573 + 2724 629 462 574 734 + 2725 574 462 573 734 + 2726 547 463 514 599 + 2727 463 599 629 514 + 2728 522 535 463 629 + 2729 599 629 522 463 + 2730 570 600 550 464 + 2731 503 600 464 550 + 2732 465 541 602 566 + 2733 465 602 541 505 + 2734 573 524 466 555 + 2735 603 505 564 466 + 2736 466 573 603 541 + 2737 573 466 603 555 + 2738 603 541 505 466 + 2739 603 564 555 466 + 2740 697 467 605 654 + 2741 698 605 467 654 + 2742 467 605 698 653 + 2743 508 468 655 606 + 2744 572 469 508 538 + 2745 508 469 572 537 + 2746 470 515 567 609 + 2747 470 566 659 513 + 2748 515 470 659 609 + 2749 470 659 542 513 + 2750 470 566 515 659 + 2751 540 510 612 472 + 2752 564 540 473 662 + 2753 473 565 703 540 + 2754 473 703 662 540 + 2755 614 703 662 473 + 2756 614 473 737 703 + 2757 703 473 737 565 + 2758 564 697 738 473 + 2759 614 662 738 473 + 2760 473 738 564 662 + 2761 764 697 654 473 + 2762 737 654 473 764 + 2763 737 473 614 764 + 2764 764 738 697 473 + 2765 764 473 614 738 + 2766 511 604 700 474 + 2767 700 474 546 511 + 2768 506 474 700 604 + 2769 700 506 543 474 + 2770 512 616 475 664 + 2771 475 664 616 545 + 2772 665 512 616 475 + 2773 544 512 665 475 + 2774 475 616 665 545 + 2775 571 507 656 476 + 2776 571 476 656 516 + 2777 708 545 516 476 + 2778 656 516 476 708 + 2779 616 664 477 545 + 2780 516 545 668 477 + 2781 616 545 477 668 + 2782 615 477 709 664 + 2783 477 709 616 668 + 2784 616 709 477 664 + 2785 516 668 740 477 + 2786 477 615 741 546 + 2787 770 477 741 667 + 2788 477 770 709 668 + 2789 770 668 477 740 + 2790 770 709 615 477 + 2791 770 740 477 667 + 2792 741 615 477 770 + 2793 517 547 621 478 + 2794 621 478 547 669 + 2795 520 478 552 670 + 2796 520 620 478 670 + 2797 710 478 519 620 + 2798 658 711 478 517 + 2799 517 621 711 478 + 2800 670 711 478 552 + 2801 711 478 552 658 + 2802 745 670 711 478 + 2803 621 478 745 711 + 2804 710 745 478 620 + 2805 745 620 670 478 + 2806 745 669 710 478 + 2807 745 621 669 478 + 2808 479 671 517 547 + 2809 479 572 517 702 + 2810 517 702 671 479 + 2811 706 479 547 671 + 2812 479 706 547 514 + 2813 479 542 706 514 + 2814 479 702 671 736 + 2815 706 736 479 671 + 2816 479 736 706 542 + 2817 518 537 658 480 + 2818 672 552 520 480 + 2819 672 520 550 480 + 2820 518 658 712 480 + 2821 712 480 552 672 + 2822 480 552 658 712 + 2823 549 481 521 591 + 2824 549 496 481 591 + 2825 622 551 481 673 + 2826 481 551 521 673 + 2827 481 521 591 673 + 2828 674 519 481 551 + 2829 674 622 551 481 + 2830 568 622 674 481 + 2831 519 674 481 568 + 2832 568 481 584 723 + 2833 568 622 481 723 + 2834 757 673 481 591 + 2835 757 591 481 496 + 2836 757 584 481 723 + 2837 496 757 584 481 + 2838 481 757 622 673 + 2839 757 481 622 723 + 2840 482 601 570 504 + 2841 482 642 601 504 + 2842 642 504 482 531 + 2843 531 521 482 642 + 2844 482 675 570 601 + 2845 714 482 642 601 + 2846 521 482 642 714 + 2847 482 714 675 601 + 2848 528 587 483 493 + 2849 483 569 522 626 + 2850 528 483 587 638 + 2851 528 569 483 638 + 2852 638 569 483 626 + 2853 626 522 483 774 + 2854 626 483 638 774 + 2855 483 587 638 774 + 2856 484 568 674 519 + 2857 484 674 710 519 + 2858 710 750 484 599 + 2859 599 522 750 484 + 2860 568 674 772 484 + 2861 750 710 484 772 + 2862 710 772 674 484 + 2863 511 485 663 604 + 2864 509 698 610 485 + 2865 751 610 485 718 + 2866 698 485 604 751 + 2867 751 485 525 718 + 2868 698 751 610 485 + 2869 663 604 485 751 + 2870 554 486 523 677 + 2871 554 613 486 677 + 2872 752 677 523 486 + 2873 752 523 553 486 + 2874 613 486 677 752 + 2875 555 775 486 613 + 2876 486 752 613 775 + 2877 775 524 555 486 + 2878 553 524 779 486 + 2879 486 779 553 752 + 2880 775 779 524 486 + 2881 486 779 752 775 + 2882 576 630 487 526 + 2883 576 633 556 489 + 2884 489 633 556 579 + 2885 560 530 582 490 + 2886 491 584 723 548 + 2887 491 684 723 635 + 2888 636 491 684 723 + 2889 636 491 723 548 + 2890 491 723 584 635 + 2891 581 682 527 492 + 2892 492 558 585 682 + 2893 492 527 558 682 + 2894 636 686 492 528 + 2895 724 492 686 585 + 2896 724 682 492 585 + 2897 724 686 492 636 + 2898 492 724 581 682 + 2899 724 492 581 636 + 2900 528 636 587 493 + 2901 637 558 585 494 + 2902 494 585 637 562 + 2903 494 637 534 562 + 2904 687 637 494 558 + 2905 726 494 687 637 + 2906 637 494 534 726 + 2907 679 526 495 577 + 2908 679 495 631 577 + 2909 631 722 557 495 + 2910 755 722 631 495 + 2911 559 755 495 722 + 2912 679 631 495 755 + 2913 496 685 591 561 + 2914 530 496 561 685 + 2915 757 685 591 496 + 2916 584 685 757 496 + 2917 560 529 688 497 + 2918 497 691 645 729 + 2919 560 688 729 497 + 2920 729 497 589 645 + 2921 497 592 729 560 + 2922 729 589 497 688 + 2923 729 691 592 497 + 2924 589 645 497 730 + 2925 497 691 730 645 + 2926 497 730 756 589 + 2927 690 731 498 593 + 2928 731 690 498 533 + 2929 533 499 594 561 + 2930 499 594 561 642 + 2931 594 642 499 692 + 2932 692 594 648 499 + 2933 553 597 500 650 + 2934 553 650 500 596 + 2935 694 650 596 500 + 2936 694 596 649 500 + 2937 597 650 732 500 + 2938 732 694 536 500 + 2939 732 536 597 500 + 2940 694 732 650 500 + 2941 649 588 694 501 + 2942 694 501 588 534 + 2943 502 598 638 562 + 2944 502 638 528 562 + 2945 569 502 638 528 + 2946 638 598 502 696 + 2947 535 563 696 502 + 2948 696 502 536 598 + 2949 502 536 563 696 + 2950 569 638 502 696 + 2951 535 696 569 502 + 2952 692 642 504 601 + 2953 505 603 652 541 + 2954 541 505 602 652 + 2955 603 564 505 697 + 2956 652 505 697 603 + 2957 653 543 506 602 + 2958 506 700 653 604 + 2959 543 653 506 700 + 2960 656 606 507 571 + 2961 567 538 508 571 + 2962 508 572 538 567 + 2963 537 508 655 572 + 2964 508 606 657 571 + 2965 567 508 657 571 + 2966 567 508 572 657 + 2967 657 606 508 701 + 2968 655 508 606 701 + 2969 508 701 655 572 + 2970 508 657 701 572 + 2971 565 509 660 539 + 2972 540 661 612 510 + 2973 540 565 661 510 + 2974 565 661 510 539 + 2975 615 511 663 546 + 2976 700 663 604 511 + 2977 700 663 511 546 + 2978 542 574 513 659 + 2979 566 659 513 705 + 2980 513 705 541 566 + 2981 705 513 573 574 + 2982 705 513 574 659 + 2983 573 541 513 705 + 2984 706 629 599 514 + 2985 547 514 706 599 + 2986 574 629 706 514 + 2987 574 706 542 514 + 2988 543 515 666 617 + 2989 707 666 609 515 + 2990 707 609 567 515 + 2991 617 515 666 707 + 2992 778 515 566 659 + 2993 778 515 666 543 + 2994 778 602 515 543 + 2995 778 659 609 515 + 2996 602 515 566 778 + 2997 778 609 666 515 + 2998 516 619 571 567 + 2999 571 619 516 656 + 3000 707 619 516 567 + 3001 708 545 668 516 + 3002 516 740 619 707 + 3003 516 668 708 769 + 3004 516 619 769 656 + 3005 516 769 708 656 + 3006 516 740 668 769 + 3007 619 740 516 769 + 3008 537 517 572 608 + 3009 537 658 517 608 + 3010 547 671 517 621 + 3011 702 608 572 517 + 3012 517 671 747 621 + 3013 702 747 608 517 + 3014 517 747 711 621 + 3015 671 702 517 747 + 3016 747 771 517 711 + 3017 517 608 658 771 + 3018 517 747 608 771 + 3019 771 517 711 658 + 3020 607 537 658 518 + 3021 607 658 712 518 + 3022 620 519 674 551 + 3023 519 620 674 710 + 3024 625 670 520 552 + 3025 625 520 672 552 + 3026 520 672 713 625 + 3027 550 520 672 713 + 3028 748 520 551 624 + 3029 520 748 625 713 + 3030 520 625 748 670 + 3031 620 670 520 748 + 3032 520 624 748 713 + 3033 620 520 551 748 + 3034 521 642 591 714 + 3035 591 714 673 521 + 3036 535 629 522 569 + 3037 569 522 626 629 + 3038 717 629 626 522 + 3039 717 599 629 522 + 3040 599 717 750 522 + 3041 626 717 522 774 + 3042 750 522 717 774 + 3043 596 553 719 523 + 3044 553 719 523 752 + 3045 677 523 719 752 + 3046 563 524 651 597 + 3047 563 651 524 573 + 3048 555 573 524 753 + 3049 573 651 524 753 + 3050 753 651 524 775 + 3051 753 524 555 775 + 3052 779 597 524 553 + 3053 775 651 524 779 + 3054 597 524 651 779 + 3055 751 628 718 525 + 3056 754 718 628 525 + 3057 578 526 630 680 + 3058 630 680 526 576 + 3059 526 680 556 576 + 3060 578 721 630 526 + 3061 679 578 526 721 + 3062 679 526 577 721 + 3063 631 557 581 527 + 3064 682 558 577 527 + 3065 581 527 682 631 + 3066 527 577 682 631 + 3067 638 562 686 528 + 3068 638 686 587 528 + 3069 587 528 686 636 + 3070 529 559 583 688 + 3071 529 688 583 560 + 3072 530 685 561 646 + 3073 685 582 646 530 + 3074 530 561 690 646 + 3075 690 646 582 530 + 3076 560 530 690 582 + 3077 533 690 561 758 + 3078 594 731 533 758 + 3079 561 594 533 758 + 3080 758 533 690 731 + 3081 562 598 761 534 + 3082 598 694 761 534 + 3083 562 761 637 534 + 3084 694 588 777 534 + 3085 777 534 637 761 + 3086 588 726 777 534 + 3087 534 726 777 637 + 3088 694 534 777 761 + 3089 734 696 569 535 + 3090 629 569 535 734 + 3091 734 563 696 535 + 3092 597 563 536 696 + 3093 732 597 536 696 + 3094 598 694 536 732 + 3095 696 536 732 598 + 3096 537 655 608 572 + 3097 658 735 608 537 + 3098 607 537 655 735 + 3099 658 607 735 537 + 3100 655 537 608 735 + 3101 539 660 565 611 + 3102 539 565 661 611 + 3103 662 540 703 612 + 3104 540 661 703 612 + 3105 540 703 661 565 + 3106 566 705 541 602 + 3107 541 602 739 652 + 3108 541 705 739 602 + 3109 766 603 573 541 + 3110 766 652 603 541 + 3111 739 652 766 541 + 3112 766 739 541 705 + 3113 766 573 705 541 + 3114 767 542 574 706 + 3115 542 736 706 767 + 3116 542 659 736 767 + 3117 767 574 542 659 + 3118 543 653 699 602 + 3119 699 618 543 739 + 3120 739 602 543 699 + 3121 699 653 543 742 + 3122 543 742 653 700 + 3123 543 618 699 742 + 3124 742 543 618 666 + 3125 617 543 742 666 + 3126 742 700 543 617 + 3127 543 778 739 618 + 3128 543 666 778 618 + 3129 739 543 602 778 + 3130 665 708 545 616 + 3131 616 708 545 668 + 3132 546 741 700 663 + 3133 546 615 741 663 + 3134 746 669 547 599 + 3135 746 706 547 671 + 3136 746 547 706 599 + 3137 621 671 746 547 + 3138 621 746 669 547 + 3139 568 723 584 548 + 3140 723 636 548 568 + 3141 550 672 600 713 + 3142 713 570 600 550 + 3143 624 673 551 715 + 3144 622 551 715 674 + 3145 622 715 551 673 + 3146 551 620 715 674 + 3147 748 624 551 715 + 3148 748 715 551 620 + 3149 749 672 552 625 + 3150 712 552 749 672 + 3151 658 552 749 712 + 3152 749 552 670 625 + 3153 749 771 670 552 + 3154 749 658 771 552 + 3155 670 771 711 552 + 3156 552 771 711 658 + 3157 719 650 553 596 + 3158 719 553 779 752 + 3159 779 553 719 650 + 3160 779 553 650 597 + 3161 662 720 554 612 + 3162 613 662 720 554 + 3163 613 720 677 554 + 3164 662 613 704 555 + 3165 564 704 555 662 + 3166 555 704 564 603 + 3167 573 603 753 555 + 3168 555 704 603 753 + 3169 555 775 704 753 + 3170 555 704 775 613 + 3171 680 556 633 580 + 3172 576 556 633 680 + 3173 556 633 681 579 + 3174 580 633 681 556 + 3175 631 722 581 557 + 3176 581 557 722 684 + 3177 687 586 637 558 + 3178 558 586 632 687 + 3179 725 585 637 558 + 3180 558 637 725 586 + 3181 725 586 632 558 + 3182 682 577 558 725 + 3183 558 577 632 725 + 3184 725 682 585 558 + 3185 688 559 583 640 + 3186 559 583 640 755 + 3187 755 583 722 559 + 3188 560 688 583 634 + 3189 560 592 634 690 + 3190 560 690 634 582 + 3191 560 729 688 634 + 3192 592 729 560 634 + 3193 685 758 561 646 + 3194 690 561 758 646 + 3195 642 561 758 594 + 3196 591 561 758 642 + 3197 685 591 561 758 + 3198 562 695 585 637 + 3199 733 638 598 562 + 3200 733 761 695 562 + 3201 562 761 695 637 + 3202 562 761 598 733 + 3203 695 733 562 762 + 3204 695 562 585 762 + 3205 686 585 562 762 + 3206 562 733 638 762 + 3207 562 686 762 638 + 3208 763 651 563 573 + 3209 563 597 651 763 + 3210 563 734 763 573 + 3211 696 763 597 563 + 3212 763 734 563 696 + 3213 738 564 662 704 + 3214 603 704 564 738 + 3215 603 738 564 697 + 3216 661 565 703 765 + 3217 765 737 660 565 + 3218 660 565 611 765 + 3219 765 703 737 565 + 3220 661 611 565 765 + 3221 566 778 659 705 + 3222 566 778 705 602 + 3223 567 619 571 657 + 3224 567 572 702 657 + 3225 743 657 567 702 + 3226 609 707 567 743 + 3227 609 567 702 743 + 3228 768 707 743 567 + 3229 707 619 567 768 + 3230 768 743 657 567 + 3231 619 657 567 768 + 3232 772 723 622 568 + 3233 772 623 723 568 + 3234 622 772 568 674 + 3235 723 773 636 568 + 3236 623 723 568 773 + 3237 569 626 638 696 + 3238 629 626 569 734 + 3239 734 569 696 626 + 3240 656 744 571 619 + 3241 606 744 657 571 + 3242 571 744 657 619 + 3243 744 656 571 606 + 3244 655 701 608 572 + 3245 608 701 657 572 + 3246 702 572 608 657 + 3247 627 753 573 678 + 3248 573 753 627 651 + 3249 753 603 573 678 + 3250 651 763 627 573 + 3251 573 603 766 678 + 3252 678 705 766 573 + 3253 734 780 763 573 + 3254 780 705 678 573 + 3255 734 574 780 573 + 3256 627 678 573 780 + 3257 627 573 763 780 + 3258 705 573 780 574 + 3259 705 574 767 659 + 3260 767 780 574 705 + 3261 629 734 574 781 + 3262 574 767 706 781 + 3263 574 780 767 781 + 3264 781 574 780 734 + 3265 574 706 629 781 + 3266 632 782 725 577 + 3267 632 721 782 577 + 3268 577 782 725 839 + 3269 682 839 577 725 + 3270 631 577 682 839 + 3271 631 679 577 839 + 3272 896 577 721 679 + 3273 896 782 721 577 + 3274 839 577 782 896 + 3275 839 577 896 679 + 3276 679 578 896 728 + 3277 896 721 578 679 + 3278 639 580 689 785 + 3279 639 727 580 785 + 3280 785 689 641 580 + 3281 773 636 581 684 + 3282 636 581 724 773 + 3283 773 581 787 684 + 3284 722 840 581 684 + 3285 787 581 840 684 + 3286 581 631 682 897 + 3287 897 722 581 631 + 3288 897 682 581 724 + 3289 722 897 581 840 + 3290 773 947 787 581 + 3291 947 840 787 581 + 3292 947 897 581 724 + 3293 947 897 840 581 + 3294 947 581 773 724 + 3295 582 634 683 788 + 3296 582 685 646 789 + 3297 582 788 841 634 + 3298 841 646 582 690 + 3299 634 582 690 841 + 3300 635 582 683 842 + 3301 842 582 685 635 + 3302 582 685 789 842 + 3303 582 788 683 842 + 3304 789 582 899 646 + 3305 841 899 582 646 + 3306 789 899 582 842 + 3307 841 788 582 899 + 3308 842 899 582 788 + 3309 843 583 688 634 + 3310 634 683 843 583 + 3311 583 688 640 843 + 3312 755 900 583 640 + 3313 640 583 843 900 + 3314 722 583 755 900 + 3315 843 583 683 900 + 3316 683 583 722 900 + 3317 757 584 723 635 + 3318 757 635 685 584 + 3319 637 695 585 725 + 3320 724 762 585 686 + 3321 585 786 682 725 + 3322 585 695 786 725 + 3323 786 682 724 585 + 3324 786 724 762 585 + 3325 762 585 695 786 + 3326 726 687 586 637 + 3327 586 782 725 632 + 3328 847 725 637 586 + 3329 903 637 726 586 + 3330 637 903 847 586 + 3331 586 782 990 725 + 3332 990 847 903 586 + 3333 847 990 725 586 + 3334 724 587 686 636 + 3335 587 762 686 638 + 3336 716 676 587 762 + 3337 762 676 587 724 + 3338 716 587 638 762 + 3339 724 587 762 686 + 3340 724 636 773 587 + 3341 724 773 676 587 + 3342 716 638 587 774 + 3343 694 588 649 793 + 3344 588 777 793 694 + 3345 589 639 730 756 + 3346 795 645 589 730 + 3347 795 589 639 730 + 3348 645 589 729 796 + 3349 589 729 796 843 + 3350 843 589 688 640 + 3351 688 729 589 843 + 3352 689 639 850 589 + 3353 850 639 795 589 + 3354 640 689 850 589 + 3355 645 1012 589 796 + 3356 640 850 1012 589 + 3357 589 645 795 1012 + 3358 1012 795 589 850 + 3359 843 1012 589 640 + 3360 589 796 1012 843 + 3361 783 590 755 679 + 3362 689 590 851 641 + 3363 728 851 590 641 + 3364 898 728 590 679 + 3365 783 898 590 679 + 3366 590 906 851 797 + 3367 590 689 906 640 + 3368 851 906 590 689 + 3369 951 640 590 906 + 3370 797 898 590 951 + 3371 755 640 590 951 + 3372 951 590 797 906 + 3373 590 755 951 783 + 3374 783 951 590 898 + 3375 590 953 728 898 + 3376 590 728 953 851 + 3377 590 851 953 797 + 3378 953 898 590 797 + 3379 591 714 642 798 + 3380 591 642 758 798 + 3381 685 901 591 758 + 3382 591 673 714 901 + 3383 714 591 901 798 + 3384 757 901 673 591 + 3385 758 901 591 798 + 3386 901 685 591 757 + 3387 788 729 592 634 + 3388 788 592 841 634 + 3389 592 690 644 841 + 3390 634 690 592 841 + 3391 729 592 691 853 + 3392 955 592 788 729 + 3393 955 841 788 592 + 3394 955 853 592 729 + 3395 991 853 592 955 + 3396 991 691 644 592 + 3397 991 691 592 853 + 3398 955 991 841 592 + 3399 644 991 592 841 + 3400 593 731 759 690 + 3401 644 690 593 800 + 3402 759 593 690 800 + 3403 593 647 801 693 + 3404 800 759 593 854 + 3405 644 801 854 593 + 3406 593 801 854 693 + 3407 800 593 644 854 + 3408 759 593 854 693 + 3409 760 692 594 648 + 3410 758 642 594 852 + 3411 594 760 852 692 + 3412 692 852 594 642 + 3413 594 731 910 760 + 3414 758 594 731 910 + 3415 910 852 758 594 + 3416 910 760 852 594 + 3417 649 694 793 596 + 3418 650 793 694 596 + 3419 650 858 596 719 + 3420 793 596 650 858 + 3421 597 792 696 732 + 3422 763 792 696 597 + 3423 597 732 650 804 + 3424 779 650 804 597 + 3425 779 651 597 804 + 3426 597 651 860 804 + 3427 804 597 732 860 + 3428 792 860 732 597 + 3429 763 597 651 860 + 3430 763 792 597 860 + 3431 694 598 761 732 + 3432 696 732 792 598 + 3433 732 792 598 761 + 3434 733 598 792 761 + 3435 792 598 733 638 + 3436 638 792 598 696 + 3437 750 710 669 599 + 3438 669 750 599 717 + 3439 838 599 629 717 + 3440 838 599 746 706 + 3441 746 669 599 838 + 3442 599 629 706 838 + 3443 838 669 599 717 + 3444 601 642 714 798 + 3445 642 692 852 601 + 3446 601 852 642 798 + 3447 914 714 798 601 + 3448 675 714 914 601 + 3449 914 798 852 601 + 3450 602 739 652 699 + 3451 778 739 705 602 + 3452 697 652 603 738 + 3453 806 603 704 753 + 3454 603 652 806 738 + 3455 738 603 704 806 + 3456 678 806 753 603 + 3457 678 766 806 603 + 3458 766 603 652 806 + 3459 751 698 808 604 + 3460 653 808 698 604 + 3461 751 808 663 604 + 3462 604 663 700 863 + 3463 700 653 604 863 + 3464 863 604 663 808 + 3465 863 653 604 808 + 3466 653 698 808 605 + 3467 917 808 698 605 + 3468 697 917 654 605 + 3469 917 698 654 605 + 3470 917 605 697 652 + 3471 917 605 652 699 + 3472 605 917 808 968 + 3473 968 699 605 917 + 3474 605 808 653 968 + 3475 968 699 653 605 + 3476 744 657 701 606 + 3477 607 712 658 810 + 3478 810 658 607 735 + 3479 608 735 701 655 + 3480 735 608 771 658 + 3481 657 809 701 608 + 3482 735 701 809 608 + 3483 867 735 608 771 + 3484 608 735 867 809 + 3485 771 867 747 608 + 3486 918 809 657 608 + 3487 608 867 918 809 + 3488 747 608 867 918 + 3489 747 702 608 918 + 3490 702 608 918 657 + 3491 702 868 609 743 + 3492 736 868 609 702 + 3493 609 707 869 666 + 3494 870 659 736 609 + 3495 609 812 869 919 + 3496 919 609 743 707 + 3497 609 919 743 868 + 3498 919 868 609 812 + 3499 919 869 609 707 + 3500 869 920 609 666 + 3501 609 812 920 869 + 3502 870 920 659 609 + 3503 659 609 920 778 + 3504 666 920 609 778 + 3505 920 812 609 870 + 3506 868 736 609 921 + 3507 609 812 921 870 + 3508 609 921 736 870 + 3509 868 609 812 921 + 3510 718 610 660 815 + 3511 815 660 737 610 + 3512 610 864 718 751 + 3513 718 864 610 815 + 3514 610 864 654 737 + 3515 610 698 864 751 + 3516 610 815 864 737 + 3517 864 654 698 610 + 3518 871 611 660 754 + 3519 871 611 765 660 + 3520 662 703 816 612 + 3521 816 703 661 612 + 3522 816 612 720 662 + 3523 704 613 662 817 + 3524 662 817 613 720 + 3525 775 704 817 613 + 3526 874 677 752 613 + 3527 775 817 874 613 + 3528 874 752 775 613 + 3529 720 677 923 613 + 3530 874 613 817 923 + 3531 720 923 817 613 + 3532 874 923 677 613 + 3533 614 737 765 703 + 3534 614 765 816 703 + 3535 614 703 816 662 + 3536 614 765 737 818 + 3537 738 764 875 614 + 3538 764 819 875 614 + 3539 816 922 614 662 + 3540 662 738 922 614 + 3541 819 922 614 876 + 3542 875 819 922 614 + 3543 875 922 738 614 + 3544 614 819 924 764 + 3545 614 924 737 764 + 3546 876 924 818 614 + 3547 924 614 737 818 + 3548 819 876 614 924 + 3549 614 816 765 970 + 3550 876 818 970 614 + 3551 765 614 970 818 + 3552 922 614 970 816 + 3553 922 614 876 970 + 3554 709 615 821 770 + 3555 615 709 821 664 + 3556 741 878 615 770 + 3557 770 878 615 821 + 3558 878 615 663 741 + 3559 617 742 700 667 + 3560 742 822 667 617 + 3561 822 666 707 617 + 3562 742 822 617 666 + 3563 667 617 822 740 + 3564 617 822 740 707 + 3565 618 742 865 699 + 3566 699 865 618 739 + 3567 778 920 618 666 + 3568 739 618 972 865 + 3569 999 618 972 739 + 3570 972 920 618 999 + 3571 920 778 618 999 + 3572 999 618 739 778 + 3573 666 920 618 1001 + 3574 742 618 1001 666 + 3575 920 618 1001 972 + 3576 865 618 1001 742 + 3577 865 1001 618 972 + 3578 768 657 744 619 + 3579 656 769 744 619 + 3580 769 740 824 619 + 3581 769 932 744 619 + 3582 769 824 932 619 + 3583 619 768 932 744 + 3584 740 619 973 824 + 3585 768 932 973 619 + 3586 824 932 619 973 + 3587 619 973 768 707 + 3588 619 740 973 707 + 3589 674 829 620 715 + 3590 710 620 674 829 + 3591 710 745 620 829 + 3592 829 715 886 620 + 3593 748 886 715 620 + 3594 620 670 748 886 + 3595 670 886 620 745 + 3596 829 886 745 620 + 3597 811 671 621 747 + 3598 621 669 746 828 + 3599 828 745 621 669 + 3600 671 621 888 811 + 3601 671 621 746 888 + 3602 746 888 621 828 + 3603 828 889 621 745 + 3604 889 745 711 621 + 3605 888 621 938 811 + 3606 621 711 889 938 + 3607 811 621 938 747 + 3608 711 938 621 747 + 3609 621 888 938 979 + 3610 621 938 889 979 + 3611 888 979 621 828 + 3612 621 979 889 828 + 3613 674 622 829 715 + 3614 674 622 772 829 + 3615 845 622 723 757 + 3616 757 845 622 673 + 3617 723 622 845 772 + 3618 829 622 940 715 + 3619 715 622 940 673 + 3620 673 845 622 940 + 3621 829 1007 622 772 + 3622 829 622 1007 940 + 3623 1007 940 622 845 + 3624 622 1007 845 772 + 3625 891 623 772 750 + 3626 623 772 902 891 + 3627 772 723 623 902 + 3628 623 716 941 676 + 3629 623 750 941 716 + 3630 623 941 750 891 + 3631 623 773 989 723 + 3632 902 723 623 989 + 3633 989 891 941 623 + 3634 989 902 891 623 + 3635 676 941 623 989 + 3636 623 676 989 773 + 3637 832 624 713 748 + 3638 832 675 713 624 + 3639 890 624 714 675 + 3640 714 624 890 673 + 3641 715 983 624 673 + 3642 832 624 748 983 + 3643 983 673 890 624 + 3644 748 624 715 983 + 3645 624 832 675 1008 + 3646 1008 983 624 832 + 3647 890 1008 624 675 + 3648 890 983 624 1008 + 3649 832 713 625 748 + 3650 749 625 670 887 + 3651 748 670 625 887 + 3652 942 625 748 832 + 3653 625 942 748 887 + 3654 734 696 763 626 + 3655 626 696 792 638 + 3656 792 696 626 763 + 3657 895 734 626 629 + 3658 763 734 626 895 + 3659 626 763 895 792 + 3660 626 717 895 629 + 3661 626 895 950 792 + 3662 895 626 950 717 + 3663 774 626 950 638 + 3664 717 626 950 774 + 3665 638 950 792 626 + 3666 651 753 627 775 + 3667 860 627 651 763 + 3668 627 836 775 877 + 3669 678 877 627 753 + 3670 627 775 753 877 + 3671 775 651 915 627 + 3672 627 915 836 894 + 3673 775 915 836 627 + 3674 627 860 651 915 + 3675 860 966 627 763 + 3676 966 763 780 627 + 3677 986 627 678 877 + 3678 894 836 627 986 + 3679 986 877 836 627 + 3680 837 627 986 894 + 3681 678 627 986 837 + 3682 780 966 627 1000 + 3683 1000 678 837 627 + 3684 966 837 627 1000 + 3685 1000 780 678 627 + 3686 966 627 1011 860 + 3687 627 1011 915 894 + 3688 627 1011 860 915 + 3689 837 1011 627 894 + 3690 837 1011 966 627 + 3691 751 718 628 834 + 3692 893 628 718 834 + 3693 628 718 943 893 + 3694 754 943 628 718 + 3695 834 893 628 946 + 3696 781 706 629 838 + 3697 895 781 734 629 + 3698 895 838 781 629 + 3699 895 717 838 629 + 3700 783 755 631 679 + 3701 631 783 722 755 + 3702 783 631 839 679 + 3703 897 631 682 839 + 3704 897 783 722 631 + 3705 783 631 897 839 + 3706 843 688 729 634 + 3707 788 729 634 843 + 3708 788 634 683 843 + 3709 684 787 723 635 + 3710 757 723 790 635 + 3711 685 842 635 757 + 3712 842 790 635 757 + 3713 635 787 723 844 + 3714 635 723 790 844 + 3715 635 948 683 722 + 3716 635 948 790 842 + 3717 635 722 684 948 + 3718 635 683 948 842 + 3719 948 790 844 635 + 3720 635 684 787 948 + 3721 948 844 787 635 + 3722 636 723 684 773 + 3723 637 695 791 761 + 3724 637 761 791 777 + 3725 637 791 695 847 + 3726 637 847 695 725 + 3727 726 903 777 637 + 3728 791 777 903 637 + 3729 791 637 903 847 + 3730 792 848 638 733 + 3731 638 848 762 733 + 3732 716 638 774 848 + 3733 848 638 762 716 + 3734 638 848 792 950 + 3735 950 774 638 848 + 3736 639 727 794 756 + 3737 639 794 730 756 + 3738 849 727 794 639 + 3739 730 849 794 639 + 3740 639 795 730 849 + 3741 850 689 785 639 + 3742 850 639 785 905 + 3743 905 727 639 785 + 3744 905 727 849 639 + 3745 849 905 639 952 + 3746 905 952 850 639 + 3747 849 639 795 952 + 3748 850 952 795 639 + 3749 689 850 906 640 + 3750 951 900 640 843 + 3751 755 951 900 640 + 3752 1012 640 843 951 + 3753 906 850 1012 640 + 3754 1012 640 951 906 + 3755 785 641 689 851 + 3756 758 852 798 642 + 3757 727 643 756 681 + 3758 727 643 794 756 + 3759 690 800 644 841 + 3760 956 644 800 907 + 3761 644 854 956 800 + 3762 644 907 691 991 + 3763 644 800 991 841 + 3764 991 800 644 907 + 3765 854 801 644 992 + 3766 956 644 907 992 + 3767 956 854 644 992 + 3768 853 645 691 729 + 3769 853 796 645 729 + 3770 645 730 795 855 + 3771 855 691 645 730 + 3772 855 691 802 645 + 3773 908 645 795 855 + 3774 645 908 802 855 + 3775 796 908 856 645 + 3776 856 802 645 908 + 3777 957 645 856 802 + 3778 645 853 957 796 + 3779 957 691 645 802 + 3780 853 957 691 645 + 3781 645 957 856 796 + 3782 908 645 796 993 + 3783 795 645 908 993 + 3784 795 1012 645 993 + 3785 1012 796 645 993 + 3786 758 690 646 731 + 3787 646 731 690 759 + 3788 758 789 646 685 + 3789 841 690 759 646 + 3790 758 789 857 646 + 3791 857 731 758 646 + 3792 646 857 731 759 + 3793 789 857 646 959 + 3794 646 789 959 899 + 3795 841 759 959 646 + 3796 959 857 646 759 + 3797 646 959 841 899 + 3798 859 650 732 804 + 3799 694 650 732 859 + 3800 650 793 859 694 + 3801 793 650 912 858 + 3802 793 650 859 912 + 3803 912 804 650 859 + 3804 719 962 650 858 + 3805 912 650 962 858 + 3806 779 650 962 804 + 3807 779 719 962 650 + 3808 804 650 962 912 + 3809 779 775 651 915 + 3810 651 915 860 804 + 3811 651 779 915 804 + 3812 652 807 699 739 + 3813 766 652 862 806 + 3814 807 739 652 862 + 3815 766 862 652 739 + 3816 652 861 807 916 + 3817 807 652 916 862 + 3818 807 917 861 652 + 3819 807 699 917 652 + 3820 917 697 967 652 + 3821 806 652 967 738 + 3822 967 652 697 738 + 3823 917 652 967 861 + 3824 862 806 652 967 + 3825 967 862 916 652 + 3826 652 967 861 916 + 3827 863 700 653 742 + 3828 863 968 653 808 + 3829 863 653 968 742 + 3830 699 968 653 742 + 3831 737 654 764 864 + 3832 764 654 917 864 + 3833 654 698 917 864 + 3834 917 654 764 697 + 3835 866 657 701 744 + 3836 866 768 657 744 + 3837 809 657 701 866 + 3838 768 657 743 866 + 3839 809 918 657 866 + 3840 918 743 657 866 + 3841 702 918 743 657 + 3842 810 749 712 658 + 3843 735 771 810 658 + 3844 749 658 810 771 + 3845 813 767 659 705 + 3846 813 659 778 705 + 3847 870 813 767 659 + 3848 870 659 767 736 + 3849 813 659 870 920 + 3850 813 778 659 920 + 3851 754 718 660 815 + 3852 765 871 660 737 + 3853 754 660 871 815 + 3854 815 737 660 871 + 3855 816 703 765 661 + 3856 662 720 872 817 + 3857 720 816 662 872 + 3858 738 704 662 873 + 3859 704 662 873 817 + 3860 922 662 816 872 + 3861 817 922 872 662 + 3862 738 662 922 873 + 3863 873 662 922 817 + 3864 741 820 863 663 + 3865 741 863 700 663 + 3866 878 663 820 741 + 3867 808 926 751 663 + 3868 663 820 926 878 + 3869 808 926 663 863 + 3870 820 663 926 863 + 3871 707 822 869 666 + 3872 822 869 666 1001 + 3873 666 869 920 1001 + 3874 742 1001 822 666 + 3875 667 820 863 741 + 3876 667 700 863 742 + 3877 667 863 700 741 + 3878 823 770 667 881 + 3879 667 822 881 740 + 3880 881 770 667 740 + 3881 823 880 667 929 + 3882 667 880 820 929 + 3883 770 823 667 929 + 3884 770 667 741 929 + 3885 667 820 741 929 + 3886 667 820 880 930 + 3887 667 863 820 930 + 3888 863 667 742 930 + 3889 822 667 974 742 + 3890 930 974 880 667 + 3891 823 881 667 974 + 3892 974 667 930 742 + 3893 667 974 880 823 + 3894 822 667 881 974 + 3895 769 668 824 740 + 3896 770 883 709 668 + 3897 668 883 931 770 + 3898 740 824 931 668 + 3899 770 931 668 740 + 3900 883 931 824 668 + 3901 669 827 750 717 + 3902 827 838 717 669 + 3903 885 710 669 750 + 3904 828 885 745 669 + 3905 710 885 669 745 + 3906 669 750 827 885 + 3907 827 935 838 669 + 3908 885 827 669 935 + 3909 838 669 935 746 + 3910 935 669 885 828 + 3911 935 746 669 828 + 3912 830 745 670 711 + 3913 830 748 670 886 + 3914 670 830 886 745 + 3915 748 830 670 887 + 3916 887 749 937 670 + 3917 887 937 830 670 + 3918 670 937 830 711 + 3919 670 937 771 749 + 3920 670 771 937 711 + 3921 736 671 811 702 + 3922 671 811 702 747 + 3923 706 671 746 814 + 3924 706 736 671 814 + 3925 814 671 746 888 + 3926 811 736 921 671 + 3927 811 921 888 671 + 3928 814 921 736 671 + 3929 814 921 671 888 + 3930 757 799 845 673 + 3931 901 890 673 714 + 3932 901 799 757 673 + 3933 901 799 673 890 + 3934 673 799 845 940 + 3935 983 673 799 890 + 3936 940 673 799 983 + 3937 715 940 983 673 + 3938 772 674 829 710 + 3939 914 714 675 890 + 3940 914 675 1008 890 + 3941 676 805 762 716 + 3942 762 805 676 846 + 3943 846 762 724 676 + 3944 805 941 716 676 + 3945 947 724 676 846 + 3946 773 724 676 947 + 3947 947 773 989 676 + 3948 947 989 1014 676 + 3949 947 676 1014 846 + 3950 989 676 941 1014 + 3951 1014 805 676 941 + 3952 676 846 805 1014 + 3953 835 752 677 719 + 3954 752 835 677 874 + 3955 923 677 835 874 + 3956 766 813 705 678 + 3957 678 813 705 780 + 3958 753 877 806 678 + 3959 879 813 766 678 + 3960 806 927 766 678 + 3961 806 877 927 678 + 3962 879 927 678 766 + 3963 879 678 927 986 + 3964 986 678 927 877 + 3965 879 837 678 986 + 3966 879 678 837 1000 + 3967 1000 780 813 678 + 3968 1000 813 879 678 + 3969 896 679 728 784 + 3970 839 679 896 784 + 3971 898 784 728 679 + 3972 839 784 898 679 + 3973 839 679 898 783 + 3974 839 725 682 786 + 3975 897 786 682 724 + 3976 897 682 786 839 + 3977 948 683 788 842 + 3978 683 722 948 900 + 3979 843 683 987 900 + 3980 987 683 948 900 + 3981 948 683 987 788 + 3982 987 788 683 843 + 3983 787 684 723 773 + 3984 684 722 840 948 + 3985 684 840 787 948 + 3986 901 685 789 758 + 3987 757 685 842 901 + 3988 685 789 842 901 + 3989 689 851 906 785 + 3990 689 906 850 785 + 3991 690 759 800 841 + 3992 907 957 802 691 + 3993 957 691 907 853 + 3994 991 907 691 853 + 3995 693 776 803 759 + 3996 693 911 854 759 + 3997 911 693 803 759 + 3998 854 801 961 693 + 3999 911 961 803 693 + 4000 911 854 961 693 + 4001 859 793 777 694 + 4002 694 777 859 761 + 4003 694 761 859 732 + 4004 725 695 786 847 + 4005 761 913 695 791 + 4006 733 695 761 913 + 4007 847 695 786 964 + 4008 791 964 695 847 + 4009 913 695 791 964 + 4010 913 695 964 995 + 4011 733 995 695 913 + 4012 786 695 995 964 + 4013 733 695 995 762 + 4014 762 695 995 786 + 4015 738 764 697 967 + 4016 917 764 967 697 + 4017 864 698 808 751 + 4018 864 698 917 808 + 4019 699 807 865 739 + 4020 699 807 968 865 + 4021 968 807 699 917 + 4022 699 968 742 865 + 4023 736 811 868 702 + 4024 702 918 747 811 + 4025 743 918 702 868 + 4026 811 702 918 868 + 4027 738 704 873 806 + 4028 877 753 704 775 + 4029 753 806 877 704 + 4030 775 925 817 704 + 4031 817 873 704 925 + 4032 925 704 806 873 + 4033 877 704 925 775 + 4034 925 877 806 704 + 4035 766 778 739 705 + 4036 813 778 766 705 + 4037 780 767 813 705 + 4038 736 767 814 706 + 4039 838 781 706 767 + 4040 746 706 814 838 + 4041 838 706 814 767 + 4042 919 707 743 768 + 4043 740 707 822 973 + 4044 822 973 707 869 + 4045 973 707 869 919 + 4046 919 973 707 768 + 4047 933 883 709 770 + 4048 709 821 933 770 + 4049 745 829 710 885 + 4050 772 829 936 710 + 4051 936 710 829 885 + 4052 750 936 710 772 + 4053 750 936 885 710 + 4054 745 889 711 830 + 4055 747 938 981 711 + 4056 889 830 981 711 + 4057 889 981 938 711 + 4058 711 771 937 981 + 4059 711 937 830 981 + 4060 711 771 981 747 + 4061 901 798 890 714 + 4062 914 890 798 714 + 4063 940 829 715 886 + 4064 983 886 940 715 + 4065 983 748 886 715 + 4066 750 716 774 827 + 4067 848 762 805 716 + 4068 941 750 827 716 + 4069 941 716 1009 805 + 4070 716 805 848 1009 + 4071 941 827 1009 716 + 4072 848 774 716 1009 + 4073 827 1009 716 774 + 4074 750 774 717 827 + 4075 717 984 895 838 + 4076 838 827 717 984 + 4077 827 717 1009 774 + 4078 827 1009 717 984 + 4079 1009 717 984 895 + 4080 1009 950 717 895 + 4081 717 774 950 1009 + 4082 718 943 815 754 + 4083 944 864 751 718 + 4084 944 751 834 718 + 4085 864 944 985 718 + 4086 985 943 718 893 + 4087 893 718 985 834 + 4088 834 985 944 718 + 4089 985 718 943 815 + 4090 864 718 985 815 + 4091 719 945 962 858 + 4092 719 962 945 835 + 4093 719 752 962 835 + 4094 719 752 779 962 + 4095 923 872 720 817 + 4096 722 840 783 897 + 4097 722 755 783 900 + 4098 948 900 722 988 + 4099 948 722 840 988 + 4100 988 900 722 783 + 4101 988 722 840 783 + 4102 845 723 790 757 + 4103 723 902 845 790 + 4104 844 902 723 790 + 4105 723 845 902 772 + 4106 989 844 902 723 + 4107 989 787 844 723 + 4108 773 787 989 723 + 4109 724 786 762 846 + 4110 786 846 724 897 + 4111 897 846 724 947 + 4112 904 725 786 847 + 4113 839 904 725 786 + 4114 725 904 839 949 + 4115 949 725 782 839 + 4116 725 949 782 990 + 4117 949 725 904 990 + 4118 904 990 725 847 + 4119 953 784 728 898 + 4120 788 729 843 955 + 4121 796 843 729 955 + 4122 796 729 853 955 + 4123 909 795 730 855 + 4124 909 730 795 849 + 4125 909 730 849 958 + 4126 909 855 730 958 + 4127 849 794 958 730 + 4128 910 731 758 857 + 4129 910 731 776 760 + 4130 910 731 759 776 + 4131 731 759 857 910 + 4132 732 963 792 761 + 4133 804 732 963 860 + 4134 963 859 761 732 + 4135 859 732 963 804 + 4136 860 792 732 963 + 4137 963 761 913 733 + 4138 963 733 792 761 + 4139 913 963 733 848 + 4140 733 792 848 963 + 4141 733 848 995 913 + 4142 848 762 733 995 + 4143 781 780 763 734 + 4144 763 781 734 895 + 4145 867 810 735 771 + 4146 736 767 870 814 + 4147 736 921 868 811 + 4148 736 814 870 921 + 4149 864 737 815 764 + 4150 737 818 765 871 + 4151 737 924 818 871 + 4152 815 924 737 871 + 4153 764 737 815 924 + 4154 967 738 875 806 + 4155 738 875 764 967 + 4156 969 873 738 922 + 4157 969 738 873 806 + 4158 969 738 875 922 + 4159 738 969 875 806 + 4160 739 972 807 865 + 4161 862 972 807 739 + 4162 862 766 999 739 + 4163 862 999 972 739 + 4164 999 739 766 778 + 4165 881 931 770 740 + 4166 740 973 822 881 + 4167 1002 931 740 824 + 4168 881 1002 931 740 + 4169 1002 740 973 824 + 4170 740 1002 973 881 + 4171 741 929 878 770 + 4172 741 820 878 929 + 4173 930 865 742 968 + 4174 863 742 968 930 + 4175 865 974 930 742 + 4176 742 974 822 1001 + 4177 865 1001 974 742 + 4178 743 768 825 919 + 4179 866 768 975 743 + 4180 768 825 975 743 + 4181 866 975 918 743 + 4182 918 743 975 868 + 4183 1003 743 825 919 + 4184 1003 743 919 868 + 4185 743 825 975 1003 + 4186 1003 975 743 868 + 4187 768 866 932 744 + 4188 745 889 830 939 + 4189 745 830 886 939 + 4190 939 745 889 980 + 4191 980 939 745 886 + 4192 980 745 829 886 + 4193 889 745 828 980 + 4194 980 829 745 885 + 4195 745 885 828 980 + 4196 838 935 831 746 + 4197 982 831 746 838 + 4198 746 982 814 888 + 4199 982 746 814 838 + 4200 888 982 1005 746 + 4201 828 888 1005 746 + 4202 746 1005 828 935 + 4203 831 746 935 1005 + 4204 831 982 746 1005 + 4205 867 771 747 981 + 4206 1006 747 918 811 + 4207 747 1006 981 938 + 4208 747 867 1006 918 + 4209 867 747 1006 981 + 4210 1006 811 938 747 + 4211 886 830 748 942 + 4212 892 942 833 748 + 4213 942 892 832 748 + 4214 830 748 942 887 + 4215 886 942 748 833 + 4216 892 833 983 748 + 4217 832 892 983 748 + 4218 748 833 983 886 + 4219 937 810 771 749 + 4220 891 772 936 750 + 4221 936 750 827 891 + 4222 827 750 936 885 + 4223 941 827 750 891 + 4224 864 808 944 751 + 4225 926 751 1015 808 + 4226 751 1015 944 834 + 4227 751 926 1015 834 + 4228 944 751 808 1015 + 4229 752 775 779 915 + 4230 752 779 962 915 + 4231 1010 835 752 874 + 4232 962 915 1010 752 + 4233 835 1010 752 962 + 4234 752 1010 874 775 + 4235 752 915 1010 775 + 4236 871 815 943 754 + 4237 783 900 755 951 + 4238 757 799 901 954 + 4239 842 954 790 757 + 4240 757 842 954 901 + 4241 845 954 799 757 + 4242 845 790 954 757 + 4243 758 852 910 798 + 4244 798 758 960 910 + 4245 960 758 901 789 + 4246 910 758 960 857 + 4247 960 901 758 798 + 4248 960 857 758 789 + 4249 803 857 759 910 + 4250 910 759 803 776 + 4251 803 857 911 759 + 4252 759 911 854 800 + 4253 759 857 911 959 + 4254 759 959 911 800 + 4255 800 759 959 841 + 4256 859 791 761 777 + 4257 963 913 761 994 + 4258 994 859 791 761 + 4259 994 791 913 761 + 4260 963 761 859 994 + 4261 848 805 762 995 + 4262 846 786 762 995 + 4263 762 995 805 846 + 4264 763 860 895 792 + 4265 966 763 860 895 + 4266 780 763 966 781 + 4267 966 895 781 763 + 4268 861 764 967 917 + 4269 971 924 819 764 + 4270 996 764 971 819 + 4271 764 875 819 996 + 4272 967 996 875 764 + 4273 967 996 764 861 + 4274 996 764 861 971 + 4275 971 764 861 997 + 4276 971 764 997 864 + 4277 764 917 997 864 + 4278 764 917 861 997 + 4279 998 864 815 764 + 4280 998 971 864 764 + 4281 971 924 764 998 + 4282 815 764 924 998 + 4283 927 766 862 806 + 4284 778 766 999 813 + 4285 879 766 813 999 + 4286 927 766 999 862 + 4287 879 999 927 766 + 4288 838 767 814 928 + 4289 928 870 813 767 + 4290 814 870 928 767 + 4291 781 1000 767 838 + 4292 767 780 813 1000 + 4293 928 813 1000 767 + 4294 780 781 1000 767 + 4295 838 1000 767 928 + 4296 882 768 973 825 + 4297 882 768 932 973 + 4298 973 825 768 919 + 4299 1004 866 768 975 + 4300 768 825 882 1004 + 4301 768 882 932 1004 + 4302 866 932 1004 768 + 4303 768 825 1004 975 + 4304 823 931 770 881 + 4305 770 934 884 826 + 4306 770 976 826 884 + 4307 770 929 976 884 + 4308 976 933 821 770 + 4309 976 821 878 770 + 4310 929 878 770 976 + 4311 770 976 933 826 + 4312 770 931 823 977 + 4313 770 977 823 934 + 4314 933 977 770 826 + 4315 770 977 934 826 + 4316 883 977 770 933 + 4317 977 770 931 883 + 4318 770 978 929 884 + 4319 770 934 978 884 + 4320 929 823 978 770 + 4321 770 823 978 934 + 4322 810 867 937 771 + 4323 771 937 981 867 + 4324 845 772 1007 902 + 4325 829 936 1007 772 + 4326 891 936 772 1007 + 4327 891 772 902 1007 + 4328 989 787 773 947 + 4329 848 950 774 1009 + 4330 874 817 775 925 + 4331 925 775 836 877 + 4332 925 874 1010 775 + 4333 1010 775 915 836 + 4334 925 1010 836 775 + 4335 903 965 777 791 + 4336 965 859 777 791 + 4337 793 859 777 1013 + 4338 777 965 1013 859 + 4339 778 999 920 813 + 4340 804 962 779 915 + 4341 1000 781 780 966 + 4342 781 966 1000 895 + 4343 895 1000 781 838 + 4344 839 782 949 896 + 4345 783 1019 840 988 + 4346 897 840 783 1019 + 4347 783 839 1019 898 + 4348 783 897 1019 839 + 4349 988 1148 783 1019 + 4350 783 1148 900 951 + 4351 783 1148 951 898 + 4352 1019 1148 783 898 + 4353 900 1148 783 988 + 4354 784 949 896 839 + 4355 898 839 1017 784 + 4356 839 949 1017 784 + 4357 898 784 1017 1088 + 4358 898 953 784 1088 + 4359 1150 949 784 1017 + 4360 784 1088 1150 1017 + 4361 850 785 1021 905 + 4362 906 851 1021 785 + 4363 906 1021 850 785 + 4364 847 786 904 964 + 4365 904 1018 786 839 + 4366 904 786 1018 964 + 4367 846 1018 786 995 + 4368 786 995 1018 964 + 4369 846 1018 1204 786 + 4370 1204 897 786 839 + 4371 1204 786 1018 839 + 4372 846 1204 897 786 + 4373 1022 948 787 840 + 4374 787 1022 844 948 + 4375 1022 787 844 989 + 4376 1090 840 787 947 + 4377 1090 989 787 1022 + 4378 1090 1022 787 840 + 4379 947 787 1090 989 + 4380 899 841 788 955 + 4381 788 843 987 955 + 4382 788 987 1023 955 + 4383 788 955 1023 899 + 4384 948 987 1023 788 + 4385 1091 788 1023 899 + 4386 1091 948 1023 788 + 4387 1091 842 948 788 + 4388 842 1091 899 788 + 4389 954 842 789 901 + 4390 857 960 1024 789 + 4391 789 1091 899 842 + 4392 954 1091 789 842 + 4393 901 1092 960 789 + 4394 1024 789 960 1092 + 4395 1092 954 789 901 + 4396 857 1152 789 1024 + 4397 1152 789 1091 899 + 4398 1152 959 789 899 + 4399 959 1152 789 857 + 4400 789 1024 1152 1206 + 4401 789 1024 1206 1092 + 4402 1206 954 789 1092 + 4403 1206 789 954 1091 + 4404 1206 1152 789 1091 + 4405 790 902 845 1027 + 4406 790 844 902 1027 + 4407 1095 790 954 845 + 4408 845 1095 790 1027 + 4409 1027 790 844 1095 + 4410 954 1153 790 1095 + 4411 1095 1153 790 844 + 4412 790 844 1153 948 + 4413 790 842 1153 954 + 4414 790 1153 842 948 + 4415 965 859 791 994 + 4416 1030 791 903 847 + 4417 903 1030 965 791 + 4418 1030 791 847 964 + 4419 791 964 1030 1097 + 4420 965 791 1097 994 + 4421 791 1030 965 1097 + 4422 913 1097 791 994 + 4423 791 913 964 1097 + 4424 963 792 848 1016 + 4425 895 860 1016 792 + 4426 895 1016 950 792 + 4427 792 860 1016 963 + 4428 950 792 1016 848 + 4429 1013 858 793 912 + 4430 912 859 793 1013 + 4431 909 795 952 849 + 4432 850 795 952 993 + 4433 795 909 952 993 + 4434 1012 993 795 850 + 4435 855 908 1032 795 + 4436 855 1032 909 795 + 4437 993 795 909 1032 + 4438 795 993 908 1032 + 4439 1025 843 1012 796 + 4440 1025 843 796 955 + 4441 993 1012 796 1025 + 4442 908 796 856 1101 + 4443 993 796 1101 1025 + 4444 1101 856 957 796 + 4445 993 796 908 1101 + 4446 1154 853 955 796 + 4447 1154 957 853 796 + 4448 1154 796 1025 1101 + 4449 1025 796 1154 955 + 4450 1154 1101 957 796 + 4451 953 1088 898 797 + 4452 1020 898 1088 797 + 4453 1020 898 797 1089 + 4454 951 906 797 1089 + 4455 951 797 898 1089 + 4456 797 906 851 1100 + 4457 797 851 953 1100 + 4458 797 1089 1164 1020 + 4459 797 1214 906 1100 + 4460 1214 797 906 1089 + 4461 797 1164 1214 1100 + 4462 797 1164 1089 1214 + 4463 1020 1088 1215 797 + 4464 953 1215 1088 797 + 4465 1100 1164 1215 797 + 4466 1215 797 1164 1020 + 4467 1100 1215 953 797 + 4468 901 960 890 798 + 4469 798 960 1034 910 + 4470 852 1034 910 798 + 4471 1034 852 914 798 + 4472 914 1165 1034 798 + 4473 914 890 1165 798 + 4474 798 890 1165 960 + 4475 798 1165 1034 960 + 4476 1035 940 799 983 + 4477 983 799 1035 890 + 4478 799 1092 1035 890 + 4479 1035 1092 799 954 + 4480 799 901 1092 890 + 4481 1092 799 954 901 + 4482 1158 799 954 1035 + 4483 1035 940 1158 799 + 4484 1158 954 799 845 + 4485 845 940 799 1158 + 4486 956 800 854 911 + 4487 959 991 800 841 + 4488 800 956 907 1037 + 4489 800 907 991 1037 + 4490 956 1102 800 911 + 4491 991 959 800 1102 + 4492 991 1037 1102 800 + 4493 1102 911 959 800 + 4494 956 1102 1037 800 + 4495 854 961 801 992 + 4496 957 802 1040 907 + 4497 855 802 1106 908 + 4498 908 1167 802 1106 + 4499 802 1040 1167 957 + 4500 856 802 1167 957 + 4501 856 1167 802 908 + 4502 910 1108 803 857 + 4503 803 1171 961 911 + 4504 911 1171 1217 803 + 4505 1217 1108 857 803 + 4506 1171 1108 1217 803 + 4507 803 1217 911 857 + 4508 912 963 804 859 + 4509 963 804 1109 912 + 4510 804 962 1109 912 + 4511 1109 860 915 804 + 4512 804 1109 860 963 + 4513 804 1109 962 915 + 4514 995 846 1029 805 + 4515 805 1029 995 1098 + 4516 805 995 848 1098 + 4517 1098 1009 848 805 + 4518 805 1098 1009 1173 + 4519 805 1098 1173 1029 + 4520 941 1009 1173 805 + 4521 1211 805 846 1014 + 4522 1014 1211 805 941 + 4523 846 1029 805 1211 + 4524 941 805 1173 1211 + 4525 1211 1029 805 1173 + 4526 969 873 1045 806 + 4527 925 806 1045 873 + 4528 969 806 1111 875 + 4529 875 806 1111 967 + 4530 806 1111 1045 969 + 4531 967 806 1111 862 + 4532 1175 877 806 925 + 4533 806 1045 1111 1175 + 4534 1175 1111 806 862 + 4535 1175 806 1045 925 + 4536 1175 862 806 927 + 4537 1175 806 877 927 + 4538 807 865 930 968 + 4539 807 968 930 1046 + 4540 807 968 1046 917 + 4541 807 1046 861 917 + 4542 1047 972 865 807 + 4543 1047 972 807 862 + 4544 1047 807 916 862 + 4545 807 1046 930 1112 + 4546 865 807 1112 1047 + 4547 930 865 807 1112 + 4548 916 861 807 1176 + 4549 1176 807 1112 1046 + 4550 861 807 1176 1046 + 4551 1047 916 807 1176 + 4552 1176 1112 807 1047 + 4553 997 944 864 808 + 4554 997 968 808 917 + 4555 864 917 997 808 + 4556 863 808 1015 968 + 4557 863 808 926 1015 + 4558 997 1015 944 808 + 4559 808 968 997 1015 + 4560 918 866 809 1053 + 4561 809 1053 1115 918 + 4562 918 867 1115 809 + 4563 811 868 918 1054 + 4564 1006 918 1054 811 + 4565 811 1116 868 1054 + 4566 811 921 868 1116 + 4567 811 888 921 1116 + 4568 1116 1179 811 888 + 4569 1054 1006 811 1179 + 4570 1006 938 811 1179 + 4571 1054 811 1116 1179 + 4572 888 811 938 1179 + 4573 919 1003 868 812 + 4574 812 1003 868 1116 + 4575 812 921 1116 868 + 4576 919 869 1117 812 + 4577 919 1117 1003 812 + 4578 1118 812 920 870 + 4579 1117 1003 812 1180 + 4580 1117 812 1056 1180 + 4581 1180 1003 812 1116 + 4582 812 1056 1180 1225 + 4583 1180 1116 812 1225 + 4584 1116 1225 921 812 + 4585 1225 812 1056 1118 + 4586 1225 870 921 812 + 4587 1118 1225 812 870 + 4588 1226 812 1056 1117 + 4589 1226 869 812 1117 + 4590 869 1226 812 920 + 4591 1118 920 812 1226 + 4592 1118 812 1056 1226 + 4593 879 813 1000 928 + 4594 813 870 1118 920 + 4595 813 1118 999 920 + 4596 1181 870 813 928 + 4597 999 1181 1118 813 + 4598 1181 813 879 928 + 4599 999 879 1181 813 + 4600 1118 1181 870 813 + 4601 982 870 928 814 + 4602 921 814 982 888 + 4603 814 870 921 982 + 4604 814 838 928 982 + 4605 998 815 864 985 + 4606 1060 871 815 943 + 4607 924 871 815 1060 + 4608 1060 815 985 943 + 4609 1060 924 998 815 + 4610 1060 998 985 815 + 4611 922 970 872 816 + 4612 969 922 817 873 + 4613 1045 873 817 925 + 4614 969 817 1045 873 + 4615 922 817 872 1061 + 4616 925 874 817 1062 + 4617 817 874 923 1120 + 4618 1062 874 817 1120 + 4619 1120 872 817 1061 + 4620 1120 872 923 817 + 4621 1061 817 1120 1182 + 4622 1061 922 817 1182 + 4623 1182 922 817 969 + 4624 1120 1182 817 1227 + 4625 1062 1227 817 925 + 4626 1120 817 1062 1227 + 4627 1227 1182 817 969 + 4628 1045 817 1227 925 + 4629 1227 817 1045 969 + 4630 818 924 1060 871 + 4631 818 1228 1060 924 + 4632 876 1228 818 924 + 4633 922 819 875 969 + 4634 996 971 1048 819 + 4635 819 875 1063 996 + 4636 1063 875 819 969 + 4637 1063 969 819 1121 + 4638 922 1121 819 969 + 4639 819 1121 922 876 + 4640 1185 996 1048 819 + 4641 1185 819 1121 1063 + 4642 819 1063 1185 996 + 4643 1263 1185 1048 819 + 4644 1263 1048 971 819 + 4645 819 1263 924 971 + 4646 819 1263 876 924 + 4647 1121 819 1263 876 + 4648 819 1263 1185 1121 + 4649 820 930 1050 880 + 4650 863 820 930 1050 + 4651 926 820 863 1050 + 4652 926 1127 820 1050 + 4653 820 1127 926 878 + 4654 820 929 1127 878 + 4655 1189 820 1127 1050 + 4656 929 1189 820 1127 + 4657 820 929 880 1189 + 4658 880 1189 1050 820 + 4659 1067 821 878 976 + 4660 1067 933 821 976 + 4661 1119 822 973 881 + 4662 973 822 1119 869 + 4663 822 1001 974 1119 + 4664 881 1119 822 974 + 4665 822 869 1001 1119 + 4666 929 823 880 978 + 4667 931 881 823 1002 + 4668 1071 823 931 977 + 4669 931 1071 1002 823 + 4670 1119 823 1002 1070 + 4671 881 823 1119 974 + 4672 1002 881 823 1119 + 4673 1130 880 823 978 + 4674 1131 977 934 823 + 4675 1071 977 1131 823 + 4676 1071 1002 823 1131 + 4677 823 1002 1070 1131 + 4678 978 823 1130 1192 + 4679 823 1070 1130 1192 + 4680 978 823 1192 934 + 4681 934 823 1192 1131 + 4682 823 1131 1070 1192 + 4683 823 1233 974 880 + 4684 823 1130 1233 880 + 4685 1233 1130 823 1070 + 4686 1119 1233 974 823 + 4687 1233 823 1119 1070 + 4688 824 882 932 973 + 4689 973 824 882 1002 + 4690 931 1002 1071 824 + 4691 1071 882 824 1002 + 4692 1071 824 883 931 + 4693 1057 973 919 825 + 4694 1004 882 1072 825 + 4695 1003 825 1117 919 + 4696 919 825 1117 1057 + 4697 1004 1072 1132 825 + 4698 975 825 1004 1132 + 4699 1191 825 1072 882 + 4700 882 973 1191 825 + 4701 1057 1191 973 825 + 4702 1193 825 975 1132 + 4703 1003 975 1193 825 + 4704 1003 1193 1117 825 + 4705 825 1235 1072 1132 + 4706 1235 825 1072 1191 + 4707 1132 1193 825 1235 + 4708 825 1193 1117 1235 + 4709 1057 1235 1191 825 + 4710 1057 1117 1235 825 + 4711 826 1067 976 933 + 4712 976 1133 826 884 + 4713 1067 976 1133 826 + 4714 1133 884 1195 826 + 4715 884 1195 826 934 + 4716 838 827 984 935 + 4717 827 936 891 1075 + 4718 941 1009 827 1075 + 4719 1075 891 827 941 + 4720 827 984 1075 1009 + 4721 935 1135 827 984 + 4722 1135 936 827 1075 + 4723 827 936 1135 885 + 4724 827 1135 1075 984 + 4725 1135 885 935 827 + 4726 888 828 1005 979 + 4727 828 1076 980 885 + 4728 1135 885 828 935 + 4729 885 1135 828 1076 + 4730 889 979 1136 828 + 4731 828 980 1076 1136 + 4732 828 889 980 1136 + 4733 828 1005 1196 935 + 4734 828 1196 1135 935 + 4735 828 1135 1196 1076 + 4736 1240 1005 1196 828 + 4737 828 1136 1076 1240 + 4738 828 979 1136 1240 + 4739 1240 1005 828 979 + 4740 828 1196 1240 1076 + 4741 980 936 829 885 + 4742 936 980 829 1007 + 4743 940 1077 829 886 + 4744 1077 829 886 980 + 4745 1007 1077 829 940 + 4746 1077 1007 829 980 + 4747 887 1078 942 830 + 4748 939 830 886 1078 + 4749 830 942 886 1078 + 4750 887 937 1138 830 + 4751 981 937 830 1138 + 4752 830 887 1078 1138 + 4753 830 1078 1198 1138 + 4754 981 830 889 1198 + 4755 830 1138 1198 981 + 4756 1078 939 830 1198 + 4757 889 830 939 1198 + 4758 831 928 838 982 + 4759 831 838 984 935 + 4760 831 984 838 928 + 4761 1068 831 928 1085 + 4762 1085 984 831 928 + 4763 831 928 982 1129 + 4764 1068 1129 928 831 + 4765 935 831 1135 984 + 4766 831 1075 1135 984 + 4767 935 1196 1135 831 + 4768 935 1005 1196 831 + 4769 1200 831 982 1129 + 4770 1200 1005 982 831 + 4771 1068 1201 831 1085 + 4772 1201 831 984 1075 + 4773 831 1085 1201 984 + 4774 1068 1245 1129 831 + 4775 1005 1245 1196 831 + 4776 1245 1200 1129 831 + 4777 1200 1245 1005 831 + 4778 1245 1201 831 1068 + 4779 1196 1272 1135 831 + 4780 1201 1245 831 1272 + 4781 1201 1272 831 1075 + 4782 1272 1135 831 1075 + 4783 1196 1245 1272 831 + 4784 1008 892 983 832 + 4785 940 983 833 886 + 4786 1077 886 940 833 + 4787 1077 1137 886 833 + 4788 886 1137 942 833 + 4789 1142 983 833 940 + 4790 1142 1158 940 833 + 4791 1077 833 940 1158 + 4792 1202 1137 833 942 + 4793 1202 833 892 942 + 4794 1080 1137 833 1202 + 4795 983 1142 833 1246 + 4796 983 833 892 1246 + 4797 833 1273 1080 1142 + 4798 1273 1137 1077 833 + 4799 1137 1273 1080 833 + 4800 1080 833 1274 1202 + 4801 1246 892 1274 833 + 4802 1246 1274 1142 833 + 4803 1142 833 1274 1080 + 4804 892 1202 1274 833 + 4805 1273 1077 1282 833 + 4806 1142 1282 1158 833 + 4807 833 1282 1273 1142 + 4808 1077 1282 833 1158 + 4809 1125 1015 834 944 + 4810 834 1081 1125 944 + 4811 1188 985 834 893 + 4812 834 985 1188 944 + 4813 1081 1188 834 946 + 4814 893 946 834 1188 + 4815 1188 1081 834 944 + 4816 1015 834 926 1190 + 4817 1125 1081 834 1190 + 4818 1015 1125 834 1190 + 4819 835 1183 1010 1144 + 4820 874 1010 835 1183 + 4821 874 835 923 1183 + 4822 1221 835 1144 945 + 4823 1221 962 835 945 + 4824 835 1221 1010 962 + 4825 835 1010 1221 1144 + 4826 1010 915 1044 836 + 4827 836 1044 894 915 + 4828 836 1122 1010 925 + 4829 1122 836 1010 1044 + 4830 986 1175 836 877 + 4831 1175 925 836 877 + 4832 836 894 1044 1251 + 4833 1175 986 836 1251 + 4834 1122 1251 836 1044 + 4835 894 1251 836 986 + 4836 1251 1280 1122 836 + 4837 925 1280 1175 836 + 4838 1175 836 1280 1251 + 4839 836 1280 1122 925 + 4840 928 1000 879 837 + 4841 1083 837 986 894 + 4842 837 1068 928 1085 + 4843 966 837 1085 1011 + 4844 837 966 1085 1000 + 4845 1085 837 1000 928 + 4846 1083 1128 986 837 + 4847 1128 986 837 879 + 4848 894 1145 1083 837 + 4849 894 1011 1145 837 + 4850 1265 837 1068 928 + 4851 1128 879 837 1265 + 4852 1265 1128 1083 837 + 4853 928 879 1265 837 + 4854 1265 1083 1284 837 + 4855 1011 1284 837 1085 + 4856 1011 837 1284 1145 + 4857 837 1083 1284 1145 + 4858 1265 1284 1068 837 + 4859 837 1284 1068 1085 + 4860 928 984 838 1000 + 4861 895 984 1000 838 + 4862 839 898 1017 1086 + 4863 1086 1019 839 898 + 4864 1087 949 1017 839 + 4865 1018 839 904 1087 + 4866 1087 904 949 839 + 4867 1017 839 1147 1087 + 4868 1018 1147 839 1087 + 4869 1086 1147 1017 839 + 4870 897 1019 839 1204 + 4871 1086 1019 1204 839 + 4872 1018 839 1147 1204 + 4873 1086 1204 1147 839 + 4874 1022 840 988 948 + 4875 988 840 1022 1149 + 4876 1149 1019 988 840 + 4877 1090 1149 840 947 + 4878 840 1090 1022 1149 + 4879 1019 840 1149 897 + 4880 947 840 897 1149 + 4881 991 841 899 955 + 4882 899 841 991 959 + 4883 1153 954 842 1091 + 4884 948 842 1091 1153 + 4885 951 987 900 843 + 4886 987 1012 843 951 + 4887 1012 1025 987 843 + 4888 843 987 955 1025 + 4889 948 1022 844 1153 + 4890 1157 1027 844 1095 + 4891 844 1157 1210 1027 + 4892 844 1210 902 1027 + 4893 1210 902 989 844 + 4894 1022 844 1210 989 + 4895 1157 1210 1022 844 + 4896 1095 1252 1153 844 + 4897 1157 844 1022 1252 + 4898 844 1095 1252 1157 + 4899 844 1022 1252 1153 + 4900 845 1007 1027 902 + 4901 1095 954 1158 845 + 4902 1007 940 845 1158 + 4903 1007 1027 1158 845 + 4904 1158 1095 845 1027 + 4905 846 1014 947 1090 + 4906 846 995 1029 1159 + 4907 846 1018 995 1159 + 4908 846 1204 1018 1159 + 4909 1090 846 1159 1204 + 4910 897 846 947 1204 + 4911 1204 846 947 1090 + 4912 846 1159 1029 1211 + 4913 1090 1159 846 1211 + 4914 1211 846 1090 1014 + 4915 1030 847 904 964 + 4916 1030 903 990 847 + 4917 904 990 847 1030 + 4918 950 1016 1009 848 + 4919 913 848 995 1098 + 4920 1009 848 1016 1098 + 4921 1016 1098 848 1161 + 4922 913 1161 963 848 + 4923 963 848 1161 1016 + 4924 913 1161 848 1098 + 4925 1033 905 849 952 + 4926 1033 909 849 958 + 4927 1033 849 909 952 + 4928 906 1031 1012 850 + 4929 993 850 1012 1031 + 4930 850 952 1099 993 + 4931 993 1099 850 1031 + 4932 850 1031 1099 1162 + 4933 850 906 1162 1021 + 4934 850 906 1031 1162 + 4935 1021 850 1099 1162 + 4936 1163 850 1099 1021 + 4937 1163 850 1021 905 + 4938 1099 952 850 1163 + 4939 1163 850 905 952 + 4940 1100 851 1021 906 + 4941 853 957 1037 907 + 4942 955 1037 991 853 + 4943 853 1037 991 907 + 4944 1154 1037 853 957 + 4945 955 1154 1037 853 + 4946 1038 854 911 956 + 4947 854 1038 911 961 + 4948 1038 961 854 1103 + 4949 992 854 961 1103 + 4950 854 1103 992 956 + 4951 1103 854 1038 956 + 4952 1106 909 855 1032 + 4953 855 1106 1032 908 + 4954 1169 855 1106 909 + 4955 909 855 958 1169 + 4956 1101 957 856 1041 + 4957 957 856 1041 1105 + 4958 957 856 1105 1167 + 4959 1101 1041 856 1170 + 4960 1170 856 1101 908 + 4961 908 856 1167 1216 + 4962 856 908 1170 1216 + 4963 856 1167 1216 1105 + 4964 1257 856 1041 1170 + 4965 1257 856 1170 1216 + 4966 856 1216 1257 1105 + 4967 1257 856 1105 1041 + 4968 960 857 1108 910 + 4969 857 1024 960 1108 + 4970 857 1217 1024 1108 + 4971 857 1217 1152 1024 + 4972 1217 1152 959 857 + 4973 857 1217 911 959 + 4974 1042 858 912 962 + 4975 1042 945 858 962 + 4976 1013 1042 858 912 + 4977 994 859 963 912 + 4978 859 1013 912 994 + 4979 859 1013 994 965 + 4980 966 1011 1016 860 + 4981 895 966 1016 860 + 4982 1109 1011 915 860 + 4983 1109 860 963 1016 + 4984 860 1011 1016 1109 + 4985 967 916 996 861 + 4986 1046 861 917 997 + 4987 971 861 996 1048 + 4988 1113 1048 996 861 + 4989 861 916 996 1176 + 4990 1046 1176 861 1113 + 4991 861 996 1113 1176 + 4992 1177 861 1046 997 + 4993 861 1113 1048 1177 + 4994 861 1048 971 1177 + 4995 1177 971 861 997 + 4996 1113 861 1046 1177 + 4997 967 1111 916 862 + 4998 862 1049 1114 927 + 4999 862 1114 999 927 + 5000 1114 999 972 862 + 5001 1114 972 1047 862 + 5002 1049 927 862 1175 + 5003 862 916 1047 1223 + 5004 862 1223 1111 916 + 5005 862 1047 1114 1223 + 5006 862 1114 1049 1223 + 5007 862 1111 1223 1262 + 5008 1049 862 1262 1175 + 5009 1175 1262 1111 862 + 5010 862 1049 1262 1223 + 5011 863 930 968 1050 + 5012 926 863 1015 1050 + 5013 863 1015 1050 968 + 5014 985 1051 944 864 + 5015 1051 971 864 998 + 5016 985 998 1051 864 + 5017 971 997 1051 864 + 5018 1051 944 864 997 + 5019 930 1052 974 865 + 5020 930 1112 1052 865 + 5021 1112 865 1178 1052 + 5022 1178 1001 865 972 + 5023 1112 1178 865 1047 + 5024 1001 1178 865 974 + 5025 1178 865 974 1052 + 5026 1047 865 972 1178 + 5027 1004 1053 866 975 + 5028 1053 975 918 866 + 5029 867 1006 1055 981 + 5030 867 1055 937 981 + 5031 1115 1055 867 1006 + 5032 1115 867 918 1006 + 5033 868 918 1054 975 + 5034 868 1054 1003 975 + 5035 1003 1054 868 1116 + 5036 869 919 1057 973 + 5037 869 919 1117 1057 + 5038 973 1119 1057 869 + 5039 1117 869 1057 1226 + 5040 869 1226 920 1001 + 5041 1057 1226 869 1119 + 5042 1226 869 1119 1001 + 5043 870 982 928 1059 + 5044 1181 928 1059 870 + 5045 1225 982 921 870 + 5046 870 1225 982 1059 + 5047 1118 1225 870 1181 + 5048 1059 870 1225 1181 + 5049 872 1061 970 922 + 5050 925 1062 1122 874 + 5051 925 1122 1010 874 + 5052 874 1062 1122 1183 + 5053 923 874 1183 1120 + 5054 1062 1183 874 1120 + 5055 874 1122 1010 1183 + 5056 1111 875 996 1063 + 5057 1111 969 875 1063 + 5058 875 1111 996 967 + 5059 922 876 1061 970 + 5060 922 1061 876 1121 + 5061 1121 876 1229 1061 + 5062 1229 1064 876 1121 + 5063 1263 1064 876 1228 + 5064 1263 876 924 1228 + 5065 1121 1263 1064 876 + 5066 927 986 877 1175 + 5067 1127 878 929 976 + 5068 1127 1067 878 976 + 5069 1128 927 986 879 + 5070 879 1128 927 1231 + 5071 879 927 999 1231 + 5072 1231 879 1181 999 + 5073 879 928 1265 1181 + 5074 1231 879 1128 1265 + 5075 1231 1181 879 1265 + 5076 974 1052 930 880 + 5077 1189 880 978 929 + 5078 1232 1189 880 978 + 5079 1130 1232 880 978 + 5080 1232 880 1052 1130 + 5081 974 1233 1052 880 + 5082 1052 1130 880 1233 + 5083 1266 930 880 1050 + 5084 1266 1052 1232 880 + 5085 1266 880 1189 1050 + 5086 1266 880 930 1052 + 5087 1266 1232 1189 880 + 5088 1119 973 1002 881 + 5089 973 1191 1002 882 + 5090 1191 882 1234 1002 + 5091 1191 1072 1234 882 + 5092 882 1071 1234 1002 + 5093 977 931 1071 883 + 5094 1069 884 976 929 + 5095 1069 978 884 929 + 5096 884 934 978 1074 + 5097 884 1133 1073 976 + 5098 1194 884 1073 976 + 5099 884 976 1194 1069 + 5100 1194 884 1069 1134 + 5101 1194 1073 884 1134 + 5102 934 1195 1074 884 + 5103 1073 1195 884 1134 + 5104 1133 1195 884 1073 + 5105 1074 1195 1134 884 + 5106 1268 1074 1134 884 + 5107 1268 1134 1069 884 + 5108 1268 884 978 1074 + 5109 1268 884 1069 978 + 5110 980 1076 936 885 + 5111 1135 1076 885 936 + 5112 1077 886 939 980 + 5113 1078 886 939 1137 + 5114 1078 942 886 1137 + 5115 1077 939 886 1137 + 5116 1058 888 921 982 + 5117 1005 982 888 1058 + 5118 888 921 1116 1058 + 5119 888 979 1005 1139 + 5120 888 1005 1058 1139 + 5121 1058 1179 888 1139 + 5122 979 888 1179 1139 + 5123 888 938 979 1179 + 5124 1116 1058 1179 888 + 5125 939 889 1136 980 + 5126 1136 939 1198 889 + 5127 889 981 1198 938 + 5128 938 1198 889 979 + 5129 1136 1198 979 889 + 5130 960 890 1092 901 + 5131 890 1165 960 1092 + 5132 1008 890 1165 914 + 5133 1092 1035 890 1165 + 5134 1246 890 1165 1008 + 5135 1246 890 1035 1165 + 5136 1246 890 983 1035 + 5137 1008 890 983 1246 + 5138 891 989 941 1028 + 5139 891 902 989 1028 + 5140 1096 902 1007 891 + 5141 1028 891 902 1096 + 5142 1075 1241 891 941 + 5143 891 936 1007 1241 + 5144 1241 1028 891 941 + 5145 891 1241 1096 1028 + 5146 891 1007 1096 1241 + 5147 936 891 1075 1241 + 5148 1008 983 892 1246 + 5149 893 1082 946 1188 + 5150 893 943 1248 985 + 5151 893 1248 1188 985 + 5152 1248 1188 1082 893 + 5153 1251 986 894 1083 + 5154 1145 1251 894 1083 + 5155 1145 1044 894 1251 + 5156 894 1011 915 1261 + 5157 894 915 1044 1261 + 5158 1261 1044 894 1145 + 5159 1145 1011 894 1261 + 5160 895 950 1016 1009 + 5161 1085 1009 984 895 + 5162 1085 1000 966 895 + 5163 966 1016 1085 895 + 5164 895 1016 1085 1009 + 5165 984 1000 1085 895 + 5166 1204 1019 1149 897 + 5167 947 897 1204 1149 + 5168 951 898 1148 1089 + 5169 1019 1086 1148 898 + 5170 898 1020 1088 1151 + 5171 898 1088 1017 1151 + 5172 898 1086 1205 1017 + 5173 1086 898 1205 1148 + 5174 1020 1205 898 1089 + 5175 1151 898 1205 1017 + 5176 1205 898 1151 1020 + 5177 1148 898 1205 1089 + 5178 1207 991 959 899 + 5179 991 899 1207 955 + 5180 1207 959 1152 899 + 5181 955 899 1207 1023 + 5182 1091 1023 1207 899 + 5183 1091 1207 1152 899 + 5184 1026 900 951 987 + 5185 1093 987 948 900 + 5186 1093 1026 987 900 + 5187 1093 900 988 1026 + 5188 1093 988 900 948 + 5189 951 900 1026 1148 + 5190 1026 900 988 1148 + 5191 902 1007 1027 1096 + 5192 1028 902 1210 1096 + 5193 1027 1096 1210 902 + 5194 1210 989 902 1028 + 5195 1030 964 904 1160 + 5196 964 904 1160 1018 + 5197 1160 1018 904 1087 + 5198 904 990 1030 1212 + 5199 904 1030 1160 1212 + 5200 1212 904 949 1087 + 5201 949 904 1212 990 + 5202 1087 1212 904 1160 + 5203 1163 952 905 1033 + 5204 1012 951 1031 906 + 5205 951 1031 906 1089 + 5206 1162 906 1100 1021 + 5207 1214 906 1031 1089 + 5208 1214 1162 906 1100 + 5209 906 1214 1031 1162 + 5210 907 992 1039 956 + 5211 907 1039 1104 956 + 5212 957 1037 907 1104 + 5213 1040 957 907 1104 + 5214 1104 907 956 1037 + 5215 908 1032 1167 1106 + 5216 908 1167 1032 1216 + 5217 1170 1216 908 1032 + 5218 1170 1101 1254 908 + 5219 1254 908 1101 993 + 5220 1278 1170 908 1032 + 5221 1254 1170 908 1278 + 5222 1278 908 1254 993 + 5223 1278 908 993 1032 + 5224 909 958 1033 1169 + 5225 1107 909 1033 1169 + 5226 1213 1107 909 1033 + 5227 1213 1033 909 952 + 5228 952 993 909 1213 + 5229 1032 1213 909 993 + 5230 1106 909 1032 1258 + 5231 1107 1213 909 1258 + 5232 1258 909 1169 1106 + 5233 1107 909 1169 1258 + 5234 1032 909 1213 1258 + 5235 1034 960 1108 910 + 5236 1102 1038 911 956 + 5237 961 1038 911 1171 + 5238 911 1171 1038 1102 + 5239 1217 1171 911 1102 + 5240 1217 959 1102 911 + 5241 1043 912 994 963 + 5242 1043 1109 912 963 + 5243 912 1172 962 1109 + 5244 1172 912 962 1042 + 5245 1043 1172 912 1109 + 5246 1013 1220 1042 912 + 5247 912 1013 1220 994 + 5248 1172 1220 912 1042 + 5249 1172 1220 1259 912 + 5250 912 1043 994 1259 + 5251 1043 1172 1259 912 + 5252 912 994 1220 1259 + 5253 963 913 994 1043 + 5254 1097 913 1043 994 + 5255 963 1161 913 1043 + 5256 1161 913 1043 1222 + 5257 1097 1222 1043 913 + 5258 1097 964 1222 913 + 5259 1222 913 964 995 + 5260 1222 995 1098 913 + 5261 1161 1222 1098 913 + 5262 915 1010 1044 1221 + 5263 962 1221 1010 915 + 5264 962 1109 1221 915 + 5265 915 1221 1044 1261 + 5266 1011 1109 915 1261 + 5267 915 1109 1221 1261 + 5268 967 996 916 1111 + 5269 916 1176 1223 996 + 5270 996 916 1111 1223 + 5271 1223 916 1047 1176 + 5272 917 968 1046 997 + 5273 1053 918 975 1115 + 5274 1115 918 975 1054 + 5275 918 1006 1054 1115 + 5276 920 1118 999 972 + 5277 920 1001 1226 972 + 5278 972 1226 920 1118 + 5279 1116 921 1225 1058 + 5280 1058 921 1225 982 + 5281 922 1182 1121 969 + 5282 1182 1061 922 1121 + 5283 924 998 1123 1060 + 5284 924 998 971 1184 + 5285 924 1184 1123 998 + 5286 924 1228 1060 1123 + 5287 1123 924 1228 1184 + 5288 1184 971 924 1263 + 5289 1184 924 1228 1263 + 5290 1280 1227 1062 925 + 5291 1280 1045 1227 925 + 5292 1175 1280 925 1045 + 5293 1280 1062 1122 925 + 5294 1015 1050 1190 926 + 5295 926 1190 1127 1050 + 5296 1128 927 1049 1175 + 5297 1128 986 927 1175 + 5298 1128 1049 927 1231 + 5299 927 999 1231 1114 + 5300 927 1231 1049 1114 + 5301 928 1085 984 1000 + 5302 1129 1059 928 982 + 5303 1265 1068 1129 928 + 5304 1059 1265 1129 928 + 5305 1059 1181 1265 928 + 5306 1069 976 1127 929 + 5307 929 1069 1189 1127 + 5308 1189 978 1069 929 + 5309 968 1050 930 1224 + 5310 1112 930 1224 1046 + 5311 1046 930 1224 968 + 5312 1050 1224 1266 930 + 5313 930 1266 1052 1112 + 5314 1266 930 1224 1112 + 5315 1192 978 934 1074 + 5316 934 1192 1239 1131 + 5317 1192 934 1239 1074 + 5318 1135 1197 1076 936 + 5319 1135 1197 936 1075 + 5320 936 1075 1197 1241 + 5321 980 1269 1007 936 + 5322 980 1076 1269 936 + 5323 936 1076 1269 1197 + 5324 1269 1007 936 1241 + 5325 936 1269 1241 1197 + 5326 981 1055 937 1138 + 5327 1140 1006 938 981 + 5328 1006 1140 938 1179 + 5329 1140 979 938 1179 + 5330 938 1140 1198 979 + 5331 1140 1198 981 938 + 5332 980 1136 939 1199 + 5333 1077 939 1137 1199 + 5334 980 939 1077 1199 + 5335 1078 1243 939 1198 + 5336 1198 1243 939 1136 + 5337 1137 1243 939 1078 + 5338 1243 939 1136 1199 + 5339 1137 1199 939 1243 + 5340 1142 1035 983 940 + 5341 1035 1158 940 1142 + 5342 1158 1007 940 1077 + 5343 1028 989 941 1014 + 5344 1173 1143 1075 941 + 5345 941 1173 1009 1075 + 5346 1028 941 1211 1014 + 5347 941 1143 1211 1173 + 5348 1028 1211 941 1143 + 5349 1241 1143 1028 941 + 5350 1075 1143 1241 941 + 5351 1202 1078 1137 942 + 5352 943 985 1060 1248 + 5353 1051 944 997 1125 + 5354 1015 997 944 1125 + 5355 1188 1051 944 985 + 5356 1081 1249 1125 944 + 5357 1125 1051 944 1249 + 5358 1081 1188 1249 944 + 5359 1249 1051 944 1188 + 5360 945 962 1042 1221 + 5361 1144 945 1276 1221 + 5362 1276 1221 945 1042 + 5363 946 1188 1082 1146 + 5364 946 1081 1188 1146 + 5365 947 1090 1014 989 + 5366 1204 947 1149 1090 + 5367 1022 988 1093 948 + 5368 1093 948 1153 1022 + 5369 1023 948 1091 1208 + 5370 1153 948 1208 1091 + 5371 987 1093 948 1208 + 5372 987 948 1023 1208 + 5373 948 1153 1208 1093 + 5374 1017 1150 949 1087 + 5375 1212 949 1150 1087 + 5376 1026 1089 951 1148 + 5377 1156 951 1012 987 + 5378 1031 951 1012 1156 + 5379 951 1026 1156 1089 + 5380 1031 951 1156 1089 + 5381 1026 951 1156 987 + 5382 1213 1099 952 993 + 5383 1099 1213 952 1163 + 5384 1213 1163 1033 952 + 5385 1153 1036 954 1091 + 5386 954 1036 1153 1095 + 5387 1036 954 1091 1206 + 5388 1255 954 1095 1036 + 5389 1206 1255 954 1092 + 5390 1095 1158 954 1255 + 5391 1158 954 1255 1035 + 5392 1035 1255 1092 954 + 5393 1036 1255 954 1206 + 5394 1154 1023 987 955 + 5395 1154 955 987 1025 + 5396 1207 1154 955 1023 + 5397 1154 1037 1207 955 + 5398 991 1207 1037 955 + 5399 992 1103 1039 956 + 5400 1103 956 1038 1166 + 5401 1166 1039 1103 956 + 5402 1166 956 1038 1102 + 5403 1166 1104 1039 956 + 5404 1104 956 1166 1037 + 5405 1037 956 1166 1102 + 5406 1101 1154 957 1041 + 5407 957 1105 1040 1167 + 5408 1104 957 1037 1168 + 5409 957 1105 1168 1040 + 5410 957 1041 1168 1105 + 5411 1040 957 1104 1168 + 5412 1256 1168 957 1041 + 5413 1037 1256 1168 957 + 5414 1154 1256 1037 957 + 5415 1041 957 1256 1154 + 5416 1102 959 1207 991 + 5417 1207 1152 959 1102 + 5418 1217 959 1152 1102 + 5419 1092 1165 960 1218 + 5420 960 1024 1218 1108 + 5421 960 1218 1024 1092 + 5422 960 1218 1034 1108 + 5423 1034 1165 1218 960 + 5424 1219 1103 961 1038 + 5425 961 1219 1038 1171 + 5426 1221 1109 962 1172 + 5427 1172 1042 962 1221 + 5428 963 1043 1109 1161 + 5429 1109 963 1161 1016 + 5430 995 1018 964 1110 + 5431 964 1018 1160 1110 + 5432 995 964 1222 1110 + 5433 1030 1260 964 1160 + 5434 1030 1097 964 1260 + 5435 964 1160 1260 1110 + 5436 1222 1260 1110 964 + 5437 1222 964 1097 1260 + 5438 1097 1030 965 1174 + 5439 994 1097 965 1220 + 5440 1220 1174 1097 965 + 5441 994 965 1013 1220 + 5442 1085 1016 966 1011 + 5443 968 1015 1050 1224 + 5444 997 1224 1015 968 + 5445 997 1046 1224 968 + 5446 1063 1182 969 1121 + 5447 1182 1063 969 1279 + 5448 1279 969 1182 1227 + 5449 1111 1279 1045 969 + 5450 1279 1045 969 1227 + 5451 1063 1111 969 1279 + 5452 971 1051 1126 998 + 5453 971 1126 1051 1177 + 5454 971 1051 997 1177 + 5455 971 1126 1184 998 + 5456 1230 1048 1177 971 + 5457 971 1184 1230 1048 + 5458 971 1230 1126 1177 + 5459 1230 1126 1184 971 + 5460 1048 971 1184 1263 + 5461 1226 1178 972 1001 + 5462 1264 1178 972 1226 + 5463 972 1264 1226 1118 + 5464 1264 1114 999 972 + 5465 1047 972 1264 1178 + 5466 1264 999 1118 972 + 5467 1264 1047 1114 972 + 5468 1191 973 1002 1119 + 5469 1191 1057 973 1119 + 5470 1178 1119 974 1001 + 5471 974 1119 1178 1233 + 5472 974 1178 1052 1233 + 5473 975 1004 1053 1132 + 5474 975 1193 1054 1003 + 5475 1132 975 1193 1236 + 5476 1115 975 1236 1054 + 5477 1132 1053 975 1236 + 5478 1053 975 1236 1115 + 5479 1054 975 1236 1193 + 5480 1127 1194 976 1069 + 5481 1238 1127 1194 976 + 5482 1067 976 1127 1238 + 5483 1238 1073 1133 976 + 5484 1238 1194 1073 976 + 5485 1067 1133 976 1238 + 5486 1232 1069 1189 978 + 5487 1268 978 1192 1074 + 5488 1268 1232 1130 978 + 5489 1069 1268 978 1232 + 5490 978 1192 1130 1268 + 5491 979 1198 1136 1079 + 5492 1079 1136 979 1240 + 5493 1240 979 1079 1139 + 5494 979 1139 1240 1005 + 5495 979 1198 1079 1242 + 5496 979 1140 1198 1242 + 5497 979 1140 1242 1179 + 5498 1179 1242 979 1139 + 5499 1139 979 1079 1242 + 5500 1076 1141 1199 980 + 5501 1076 980 1199 1136 + 5502 1141 1077 1199 980 + 5503 980 1141 1077 1244 + 5504 1007 1077 1244 980 + 5505 1076 1269 1141 980 + 5506 1007 1244 1269 980 + 5507 980 1269 1141 1244 + 5508 1006 981 1140 1055 + 5509 1270 1198 1138 981 + 5510 981 1270 1140 1055 + 5511 1270 1138 1055 981 + 5512 1198 981 1270 1140 + 5513 1129 1200 1059 982 + 5514 982 1058 1005 1200 + 5515 1058 1200 982 1225 + 5516 1059 982 1200 1225 + 5517 1142 983 1035 1246 + 5518 984 1009 1085 1201 + 5519 1201 1075 984 1009 + 5520 985 1123 998 1060 + 5521 985 1051 998 1188 + 5522 1188 985 1123 998 + 5523 1248 1123 1188 985 + 5524 1248 1060 1123 985 + 5525 1083 1251 986 1128 + 5526 1128 986 1175 1251 + 5527 987 1094 1023 1154 + 5528 1026 987 1155 1093 + 5529 1156 1012 1025 987 + 5530 987 1208 1023 1094 + 5531 987 1155 1208 1094 + 5532 1093 1155 1208 987 + 5533 1025 987 1209 1156 + 5534 1155 1209 987 1026 + 5535 1154 987 1094 1209 + 5536 1154 1025 987 1209 + 5537 987 1209 1155 1094 + 5538 1156 1209 1026 987 + 5539 988 1086 1148 1019 + 5540 988 1149 1086 1019 + 5541 1253 988 1022 1149 + 5542 1026 988 1253 1148 + 5543 988 1022 1093 1253 + 5544 1093 988 1253 1026 + 5545 988 1086 1253 1148 + 5546 1086 988 1253 1149 + 5547 1090 1028 1014 989 + 5548 1090 1210 989 1022 + 5549 1090 1210 1028 989 + 5550 1102 1207 1037 991 + 5551 1012 1254 1025 993 + 5552 1254 1031 1099 993 + 5553 1254 1012 1031 993 + 5554 1025 1254 1101 993 + 5555 1032 1278 1213 993 + 5556 1213 1278 1099 993 + 5557 993 1278 1099 1254 + 5558 1259 1043 994 1097 + 5559 1259 994 1220 1097 + 5560 1159 1029 1110 995 + 5561 1159 1110 1018 995 + 5562 995 1110 1222 1029 + 5563 1098 1222 1029 995 + 5564 996 1113 1176 1065 + 5565 1048 1185 1124 996 + 5566 1124 1063 996 1185 + 5567 996 1065 1186 1124 + 5568 1186 1111 996 1063 + 5569 1063 996 1186 1124 + 5570 1048 1124 1187 996 + 5571 996 1187 1113 1065 + 5572 996 1187 1065 1124 + 5573 1187 1048 996 1113 + 5574 996 1176 1223 1065 + 5575 996 1111 1186 1223 + 5576 996 1223 1186 1065 + 5577 1051 1125 997 1177 + 5578 997 1125 1015 1224 + 5579 997 1177 1125 1224 + 5580 1046 1224 1177 997 + 5581 998 1184 1123 1066 + 5582 1126 1066 1184 998 + 5583 1188 1123 1066 998 + 5584 1188 1051 998 1126 + 5585 1188 998 1066 1126 + 5586 1231 1181 1118 999 + 5587 1114 1264 999 1231 + 5588 1231 999 1118 1264 + 5589 1226 1119 1178 1001 + 5590 1119 1002 1191 1070 + 5591 1131 1002 1070 1234 + 5592 1131 1071 1002 1234 + 5593 1002 1234 1191 1070 + 5594 1003 1237 1054 1116 + 5595 1180 1237 1003 1116 + 5596 1003 1193 1054 1237 + 5597 1117 1193 1003 1267 + 5598 1193 1237 1003 1267 + 5599 1267 1180 1003 1117 + 5600 1180 1237 1267 1003 + 5601 1196 1005 1271 1245 + 5602 1240 1005 1271 1196 + 5603 1240 1271 1005 1139 + 5604 1271 1005 1139 1058 + 5605 1058 1271 1005 1200 + 5606 1271 1200 1245 1005 + 5607 1055 1281 1006 1115 + 5608 1140 1006 1055 1281 + 5609 1006 1281 1140 1179 + 5610 1115 1281 1006 1054 + 5611 1006 1054 1281 1179 + 5612 1244 1027 1007 1096 + 5613 1158 1007 1244 1027 + 5614 1158 1244 1007 1077 + 5615 1244 1007 1269 1096 + 5616 1269 1096 1007 1241 + 5617 1009 1085 1247 1016 + 5618 1009 1016 1247 1098 + 5619 1098 1247 1009 1173 + 5620 1201 1009 1085 1247 + 5621 1201 1283 1075 1009 + 5622 1173 1075 1283 1009 + 5623 1247 1009 1173 1283 + 5624 1201 1283 1009 1247 + 5625 1221 1144 1010 1044 + 5626 1183 1010 1144 1250 + 5627 1010 1144 1250 1044 + 5628 1010 1044 1250 1122 + 5629 1010 1250 1183 1122 + 5630 1203 1011 1145 1084 + 5631 1247 1203 1084 1011 + 5632 1085 1247 1016 1011 + 5633 1261 1011 1109 1084 + 5634 1011 1261 1145 1084 + 5635 1011 1016 1277 1247 + 5636 1011 1277 1016 1109 + 5637 1011 1277 1109 1084 + 5638 1247 1084 1277 1011 + 5639 1247 1284 1203 1011 + 5640 1011 1284 1203 1145 + 5641 1011 1247 1284 1085 + 5642 1156 1012 1031 1254 + 5643 1156 1025 1012 1254 + 5644 1211 1014 1090 1028 + 5645 1275 1224 1015 1125 + 5646 1190 1275 1015 1125 + 5647 1050 1275 1224 1015 + 5648 1190 1015 1275 1050 + 5649 1109 1277 1016 1161 + 5650 1277 1016 1161 1098 + 5651 1098 1016 1247 1277 + 5652 1017 1150 1285 1088 + 5653 1017 1285 1151 1088 + 5654 1151 1205 1286 1017 + 5655 1286 1086 1147 1017 + 5656 1286 1205 1086 1017 + 5657 1285 1362 1150 1017 + 5658 1362 1150 1017 1087 + 5659 1285 1434 1362 1017 + 5660 1434 1151 1017 1285 + 5661 1147 1434 1017 1087 + 5662 1151 1286 1434 1017 + 5663 1286 1434 1017 1147 + 5664 1362 1087 1017 1434 + 5665 1147 1363 1018 1204 + 5666 1363 1018 1204 1159 + 5667 1110 1018 1160 1498 + 5668 1018 1498 1159 1363 + 5669 1087 1018 1147 1498 + 5670 1498 1110 1018 1159 + 5671 1018 1147 1498 1363 + 5672 1087 1160 1018 1498 + 5673 1204 1086 1149 1019 + 5674 1020 1089 1288 1205 + 5675 1288 1164 1089 1020 + 5676 1289 1020 1215 1164 + 5677 1364 1151 1088 1020 + 5678 1364 1088 1215 1020 + 5679 1205 1151 1365 1020 + 5680 1365 1020 1288 1205 + 5681 1020 1436 1164 1289 + 5682 1288 1164 1020 1436 + 5683 1365 1288 1020 1436 + 5684 1500 1215 1020 1364 + 5685 1500 1020 1151 1364 + 5686 1500 1436 1020 1289 + 5687 1500 1020 1215 1289 + 5688 1500 1151 1020 1551 + 5689 1500 1020 1436 1551 + 5690 1020 1151 1365 1551 + 5691 1365 1020 1551 1436 + 5692 1021 1099 1290 1162 + 5693 1163 1099 1290 1021 + 5694 1162 1100 1290 1021 + 5695 1157 1090 1022 1210 + 5696 1093 1153 1252 1022 + 5697 1149 1090 1022 1287 + 5698 1149 1022 1253 1287 + 5699 1090 1022 1287 1157 + 5700 1022 1368 1093 1253 + 5701 1093 1252 1368 1022 + 5702 1157 1252 1022 1368 + 5703 1022 1287 1368 1253 + 5704 1157 1022 1287 1368 + 5705 1207 1094 1154 1023 + 5706 1291 1094 1023 1208 + 5707 1291 1094 1207 1023 + 5708 1023 1291 1091 1207 + 5709 1291 1023 1091 1208 + 5710 1024 1206 1292 1152 + 5711 1092 1369 1024 1206 + 5712 1369 1292 1024 1206 + 5713 1370 1024 1292 1152 + 5714 1024 1370 1217 1152 + 5715 1369 1024 1439 1092 + 5716 1024 1292 1369 1439 + 5717 1092 1024 1439 1218 + 5718 1439 1501 1024 1292 + 5719 1501 1108 1024 1217 + 5720 1218 1439 1501 1024 + 5721 1218 1024 1501 1108 + 5722 1370 1501 1292 1024 + 5723 1370 1217 1501 1024 + 5724 1156 1025 1254 1209 + 5725 1295 1101 1025 1254 + 5726 1209 1025 1295 1154 + 5727 1025 1101 1295 1154 + 5728 1295 1025 1209 1254 + 5729 1026 1205 1089 1148 + 5730 1253 1026 1148 1205 + 5731 1205 1026 1089 1288 + 5732 1155 1296 1209 1026 + 5733 1368 1296 1155 1026 + 5734 1093 1026 1253 1368 + 5735 1368 1155 1093 1026 + 5736 1368 1296 1026 1435 + 5737 1288 1205 1026 1435 + 5738 1435 1026 1253 1205 + 5739 1368 1026 1253 1435 + 5740 1026 1437 1089 1288 + 5741 1026 1209 1156 1437 + 5742 1089 1437 1026 1156 + 5743 1026 1505 1209 1437 + 5744 1026 1505 1437 1288 + 5745 1209 1026 1296 1505 + 5746 1552 1505 1296 1026 + 5747 1552 1288 1505 1026 + 5748 1552 1288 1026 1435 + 5749 1552 1026 1296 1435 + 5750 1027 1157 1210 1096 + 5751 1027 1298 1157 1096 + 5752 1157 1298 1027 1095 + 5753 1158 1375 1095 1027 + 5754 1158 1244 1375 1027 + 5755 1095 1027 1375 1298 + 5756 1027 1446 1096 1244 + 5757 1446 1375 1244 1027 + 5758 1446 1027 1298 1375 + 5759 1027 1446 1298 1096 + 5760 1096 1157 1210 1028 + 5761 1090 1210 1157 1028 + 5762 1028 1299 1143 1241 + 5763 1028 1096 1299 1241 + 5764 1211 1143 1028 1300 + 5765 1143 1028 1374 1299 + 5766 1096 1374 1028 1299 + 5767 1096 1374 1157 1028 + 5768 1438 1028 1211 1090 + 5769 1090 1157 1438 1028 + 5770 1438 1211 1028 1300 + 5771 1374 1507 1157 1028 + 5772 1157 1507 1438 1028 + 5773 1028 1374 1507 1556 + 5774 1300 1028 1438 1556 + 5775 1028 1507 1438 1556 + 5776 1556 1028 1374 1143 + 5777 1556 1300 1028 1143 + 5778 1211 1300 1029 1173 + 5779 1300 1159 1211 1029 + 5780 1159 1110 1029 1301 + 5781 1029 1110 1222 1301 + 5782 1377 1300 1029 1159 + 5783 1377 1029 1301 1159 + 5784 1378 1173 1098 1029 + 5785 1029 1378 1173 1300 + 5786 1029 1098 1448 1222 + 5787 1300 1029 1378 1448 + 5788 1448 1301 1377 1029 + 5789 1378 1448 1029 1098 + 5790 1301 1222 1029 1448 + 5791 1448 1377 1300 1029 + 5792 1030 1174 1097 1260 + 5793 1212 1302 1030 1160 + 5794 1174 1302 1260 1030 + 5795 1260 1302 1160 1030 + 5796 1031 1306 1254 1099 + 5797 1031 1381 1306 1099 + 5798 1031 1162 1214 1381 + 5799 1031 1162 1381 1099 + 5800 1381 1214 1031 1437 + 5801 1031 1306 1381 1437 + 5802 1214 1089 1031 1437 + 5803 1437 1031 1306 1254 + 5804 1031 1254 1437 1156 + 5805 1089 1031 1437 1156 + 5806 1170 1032 1258 1216 + 5807 1213 1278 1032 1258 + 5808 1032 1278 1170 1258 + 5809 1032 1307 1258 1216 + 5810 1032 1258 1307 1106 + 5811 1032 1167 1106 1307 + 5812 1032 1216 1167 1307 + 5813 1308 1163 1033 1213 + 5814 1213 1308 1107 1033 + 5815 1255 1158 1035 1282 + 5816 1035 1282 1158 1142 + 5817 1165 1092 1035 1293 + 5818 1165 1035 1246 1293 + 5819 1246 1035 1142 1385 + 5820 1385 1293 1246 1035 + 5821 1035 1385 1293 1442 + 5822 1092 1255 1035 1442 + 5823 1255 1035 1442 1282 + 5824 1035 1142 1385 1442 + 5825 1035 1142 1442 1282 + 5826 1035 1293 1092 1442 + 5827 1153 1208 1036 1091 + 5828 1036 1153 1095 1252 + 5829 1036 1208 1153 1252 + 5830 1036 1206 1091 1291 + 5831 1036 1091 1208 1291 + 5832 1036 1297 1208 1252 + 5833 1036 1095 1376 1252 + 5834 1376 1252 1297 1036 + 5835 1095 1036 1376 1255 + 5836 1291 1036 1206 1441 + 5837 1297 1036 1208 1441 + 5838 1291 1208 1036 1441 + 5839 1297 1036 1441 1376 + 5840 1502 1036 1206 1255 + 5841 1502 1441 1036 1376 + 5842 1255 1036 1376 1502 + 5843 1036 1502 1206 1441 + 5844 1256 1154 1037 1207 + 5845 1294 1166 1102 1037 + 5846 1256 1037 1294 1207 + 5847 1207 1102 1037 1294 + 5848 1168 1294 1256 1037 + 5849 1104 1037 1166 1386 + 5850 1386 1037 1166 1294 + 5851 1168 1037 1104 1386 + 5852 1386 1168 1037 1294 + 5853 1102 1038 1311 1171 + 5854 1171 1311 1219 1038 + 5855 1166 1103 1312 1038 + 5856 1219 1312 1103 1038 + 5857 1453 1166 1312 1038 + 5858 1312 1453 1038 1219 + 5859 1102 1504 1038 1166 + 5860 1219 1038 1504 1453 + 5861 1504 1102 1038 1311 + 5862 1219 1311 1504 1038 + 5863 1504 1038 1166 1453 + 5864 1312 1166 1104 1039 + 5865 1312 1103 1166 1039 + 5866 1104 1312 1039 1387 + 5867 1386 1040 1104 1168 + 5868 1040 1386 1104 1455 + 5869 1040 1455 1388 1105 + 5870 1040 1104 1388 1455 + 5871 1168 1386 1040 1455 + 5872 1168 1040 1105 1455 + 5873 1040 1388 1456 1105 + 5874 1105 1456 1040 1167 + 5875 1170 1041 1257 1295 + 5876 1256 1154 1295 1041 + 5877 1170 1101 1041 1295 + 5878 1295 1041 1154 1101 + 5879 1257 1041 1105 1389 + 5880 1041 1168 1105 1389 + 5881 1257 1295 1041 1512 + 5882 1512 1041 1257 1389 + 5883 1256 1295 1559 1041 + 5884 1512 1559 1041 1389 + 5885 1041 1559 1168 1389 + 5886 1256 1559 1168 1041 + 5887 1559 1041 1295 1512 + 5888 1276 1172 1221 1042 + 5889 1172 1316 1220 1042 + 5890 1276 1042 1316 1172 + 5891 1043 1277 1109 1161 + 5892 1161 1043 1277 1222 + 5893 1043 1303 1222 1097 + 5894 1043 1259 1303 1097 + 5895 1109 1043 1317 1277 + 5896 1043 1317 1172 1109 + 5897 1172 1259 1317 1043 + 5898 1380 1043 1222 1277 + 5899 1380 1317 1043 1277 + 5900 1380 1259 1303 1043 + 5901 1317 1043 1259 1380 + 5902 1380 1303 1222 1043 + 5903 1318 1250 1144 1044 + 5904 1221 1318 1144 1044 + 5905 1261 1044 1318 1221 + 5906 1044 1319 1394 1251 + 5907 1250 1044 1319 1394 + 5908 1250 1122 1044 1394 + 5909 1394 1044 1251 1122 + 5910 1044 1319 1462 1250 + 5911 1462 1318 1044 1250 + 5912 1044 1319 1251 1462 + 5913 1044 1261 1318 1462 + 5914 1145 1462 1044 1251 + 5915 1261 1462 1044 1145 + 5916 1045 1262 1111 1175 + 5917 1279 1262 1111 1045 + 5918 1262 1045 1280 1175 + 5919 1227 1321 1045 1280 + 5920 1321 1227 1045 1279 + 5921 1279 1321 1262 1045 + 5922 1321 1280 1262 1045 + 5923 1177 1046 1322 1224 + 5924 1176 1112 1322 1046 + 5925 1112 1224 1322 1046 + 5926 1046 1177 1322 1113 + 5927 1046 1322 1176 1113 + 5928 1112 1323 1178 1047 + 5929 1047 1324 1223 1176 + 5930 1114 1047 1324 1223 + 5931 1176 1395 1112 1047 + 5932 1047 1112 1323 1395 + 5933 1176 1047 1324 1395 + 5934 1047 1264 1397 1178 + 5935 1047 1397 1323 1178 + 5936 1465 1047 1264 1397 + 5937 1465 1047 1114 1264 + 5938 1047 1465 1114 1324 + 5939 1397 1047 1323 1519 + 5940 1519 1324 1465 1047 + 5941 1519 1323 1395 1047 + 5942 1519 1465 1397 1047 + 5943 1519 1395 1324 1047 + 5944 1113 1048 1177 1230 + 5945 1187 1048 1113 1230 + 5946 1326 1263 1185 1048 + 5947 1184 1263 1326 1048 + 5948 1230 1184 1326 1048 + 5949 1326 1230 1048 1399 + 5950 1326 1399 1048 1185 + 5951 1399 1048 1185 1124 + 5952 1187 1048 1230 1399 + 5953 1399 1187 1048 1124 + 5954 1175 1049 1128 1262 + 5955 1114 1324 1049 1223 + 5956 1262 1328 1049 1128 + 5957 1401 1262 1049 1223 + 5958 1223 1049 1401 1324 + 5959 1401 1049 1262 1328 + 5960 1231 1128 1049 1402 + 5961 1328 1049 1128 1402 + 5962 1049 1114 1465 1324 + 5963 1231 1049 1465 1402 + 5964 1465 1049 1231 1114 + 5965 1049 1328 1520 1402 + 5966 1324 1465 1049 1520 + 5967 1520 1401 1328 1049 + 5968 1520 1324 1401 1049 + 5969 1049 1520 1465 1402 + 5970 1189 1050 1329 1266 + 5971 1050 1275 1329 1224 + 5972 1329 1190 1275 1050 + 5973 1050 1329 1266 1224 + 5974 1190 1050 1403 1127 + 5975 1189 1127 1403 1050 + 5976 1403 1189 1050 1329 + 5977 1190 1329 1403 1050 + 5978 1125 1051 1249 1177 + 5979 1249 1126 1051 1188 + 5980 1177 1126 1051 1249 + 5981 1052 1112 1323 1178 + 5982 1266 1232 1052 1396 + 5983 1396 1052 1266 1112 + 5984 1052 1233 1178 1468 + 5985 1323 1178 1468 1052 + 5986 1052 1517 1323 1112 + 5987 1052 1396 1517 1112 + 5988 1232 1052 1562 1130 + 5989 1232 1562 1052 1396 + 5990 1052 1562 1233 1468 + 5991 1323 1468 1562 1052 + 5992 1052 1562 1130 1233 + 5993 1396 1517 1562 1052 + 5994 1323 1562 1517 1052 + 5995 1054 1116 1237 1179 + 5996 1054 1236 1115 1281 + 5997 1281 1054 1331 1179 + 5998 1054 1236 1331 1193 + 5999 1054 1331 1236 1281 + 6000 1193 1331 1054 1237 + 6001 1237 1331 1054 1179 + 6002 1140 1055 1270 1281 + 6003 1056 1180 1267 1117 + 6004 1330 1118 1056 1226 + 6005 1404 1117 1056 1267 + 6006 1117 1404 1056 1226 + 6007 1226 1404 1056 1330 + 6008 1406 1056 1330 1118 + 6009 1225 1056 1406 1118 + 6010 1225 1056 1180 1406 + 6011 1180 1056 1267 1470 + 6012 1056 1404 1267 1470 + 6013 1330 1404 1056 1470 + 6014 1470 1056 1330 1523 + 6015 1523 1056 1180 1470 + 6016 1523 1180 1056 1406 + 6017 1330 1056 1406 1523 + 6018 1117 1057 1404 1226 + 6019 1404 1191 1057 1235 + 6020 1119 1404 1057 1226 + 6021 1404 1057 1117 1235 + 6022 1119 1191 1057 1404 + 6023 1058 1116 1180 1225 + 6024 1237 1180 1058 1116 + 6025 1179 1116 1237 1058 + 6026 1179 1237 1332 1058 + 6027 1237 1332 1058 1180 + 6028 1271 1200 1058 1334 + 6029 1271 1139 1408 1058 + 6030 1271 1058 1408 1334 + 6031 1179 1139 1058 1469 + 6032 1179 1058 1332 1469 + 6033 1058 1408 1469 1139 + 6034 1408 1332 1058 1469 + 6035 1471 1058 1200 1334 + 6036 1471 1408 1058 1334 + 6037 1408 1058 1332 1471 + 6038 1200 1058 1471 1225 + 6039 1471 1225 1058 1180 + 6040 1471 1058 1332 1180 + 6041 1181 1335 1059 1265 + 6042 1059 1181 1406 1335 + 6043 1406 1181 1059 1225 + 6044 1409 1265 1129 1059 + 6045 1265 1059 1409 1335 + 6046 1409 1129 1200 1059 + 6047 1409 1471 1059 1200 + 6048 1335 1471 1059 1409 + 6049 1200 1471 1059 1225 + 6050 1225 1406 1471 1059 + 6051 1335 1406 1059 1471 + 6052 1121 1229 1182 1061 + 6053 1182 1336 1120 1061 + 6054 1229 1061 1336 1182 + 6055 1062 1183 1250 1122 + 6056 1394 1062 1280 1227 + 6057 1280 1062 1394 1122 + 6058 1394 1122 1062 1250 + 6059 1410 1062 1227 1120 + 6060 1062 1120 1410 1183 + 6061 1062 1410 1250 1183 + 6062 1394 1062 1473 1250 + 6063 1062 1250 1410 1473 + 6064 1062 1227 1473 1410 + 6065 1473 1062 1394 1227 + 6066 1063 1186 1111 1279 + 6067 1063 1279 1182 1472 + 6068 1063 1182 1121 1472 + 6069 1524 1121 1472 1063 + 6070 1121 1524 1185 1063 + 6071 1524 1185 1063 1124 + 6072 1583 1279 1063 1472 + 6073 1583 1063 1524 1472 + 6074 1279 1583 1063 1186 + 6075 1524 1063 1583 1124 + 6076 1063 1186 1583 1124 + 6077 1229 1337 1064 1121 + 6078 1474 1064 1413 1263 + 6079 1064 1474 1228 1263 + 6080 1413 1064 1337 1524 + 6081 1263 1524 1064 1413 + 6082 1524 1064 1337 1121 + 6083 1064 1524 1263 1121 + 6084 1324 1223 1176 1065 + 6085 1065 1187 1113 1325 + 6086 1324 1401 1223 1065 + 6087 1186 1401 1065 1223 + 6088 1065 1475 1187 1325 + 6089 1475 1065 1187 1124 + 6090 1324 1476 1401 1065 + 6091 1176 1065 1113 1518 + 6092 1518 1113 1325 1065 + 6093 1324 1176 1518 1065 + 6094 1186 1526 1124 1065 + 6095 1065 1476 1401 1526 + 6096 1475 1526 1065 1124 + 6097 1065 1401 1186 1526 + 6098 1065 1475 1325 1526 + 6099 1564 1065 1325 1526 + 6100 1324 1564 1476 1065 + 6101 1476 1065 1564 1526 + 6102 1518 1325 1564 1065 + 6103 1518 1065 1564 1324 + 6104 1184 1230 1066 1126 + 6105 1230 1184 1066 1326 + 6106 1123 1339 1188 1066 + 6107 1066 1123 1412 1184 + 6108 1123 1412 1339 1066 + 6109 1326 1412 1184 1066 + 6110 1414 1126 1066 1230 + 6111 1066 1339 1477 1415 + 6112 1066 1126 1414 1477 + 6113 1341 1066 1414 1477 + 6114 1415 1477 1066 1341 + 6115 1066 1339 1188 1477 + 6116 1066 1188 1126 1477 + 6117 1341 1066 1478 1414 + 6118 1414 1230 1066 1478 + 6119 1230 1066 1478 1326 + 6120 1066 1415 1341 1528 + 6121 1528 1339 1412 1066 + 6122 1339 1528 1415 1066 + 6123 1341 1478 1066 1528 + 6124 1066 1566 1412 1528 + 6125 1528 1066 1566 1478 + 6126 1326 1566 1412 1066 + 6127 1566 1326 1478 1066 + 6128 1201 1284 1085 1068 + 6129 1284 1265 1068 1344 + 6130 1409 1068 1265 1344 + 6131 1068 1409 1265 1129 + 6132 1245 1416 1201 1068 + 6133 1481 1416 1068 1344 + 6134 1409 1129 1068 1481 + 6135 1245 1481 1068 1129 + 6136 1416 1245 1481 1068 + 6137 1068 1409 1481 1344 + 6138 1284 1201 1482 1068 + 6139 1068 1482 1284 1344 + 6140 1344 1416 1068 1482 + 6141 1416 1482 1201 1068 + 6142 1403 1069 1127 1189 + 6143 1403 1127 1069 1194 + 6144 1268 1134 1418 1069 + 6145 1069 1418 1268 1232 + 6146 1069 1529 1418 1232 + 6147 1069 1403 1194 1529 + 6148 1194 1134 1069 1529 + 6149 1529 1418 1134 1069 + 6150 1529 1189 1069 1403 + 6151 1232 1189 1069 1529 + 6152 1070 1191 1119 1233 + 6153 1070 1234 1191 1345 + 6154 1130 1192 1070 1346 + 6155 1346 1130 1233 1070 + 6156 1131 1070 1192 1419 + 6157 1131 1419 1234 1070 + 6158 1070 1419 1234 1345 + 6159 1483 1070 1346 1233 + 6160 1070 1419 1345 1483 + 6161 1483 1345 1070 1191 + 6162 1191 1233 1070 1483 + 6163 1534 1346 1070 1192 + 6164 1483 1534 1070 1419 + 6165 1346 1534 1070 1483 + 6166 1070 1419 1534 1192 + 6167 1191 1235 1345 1072 + 6168 1191 1345 1234 1072 + 6169 1485 1072 1235 1132 + 6170 1485 1072 1345 1235 + 6171 1348 1073 1238 1194 + 6172 1134 1073 1348 1194 + 6173 1073 1348 1488 1134 + 6174 1073 1134 1488 1195 + 6175 1074 1347 1239 1192 + 6176 1074 1268 1347 1192 + 6177 1134 1268 1418 1074 + 6178 1074 1134 1488 1418 + 6179 1074 1195 1488 1134 + 6180 1074 1488 1571 1418 + 6181 1571 1268 1347 1074 + 6182 1268 1571 1418 1074 + 6183 1197 1143 1241 1075 + 6184 1135 1272 1197 1075 + 6185 1272 1283 1197 1075 + 6186 1272 1201 1283 1075 + 6187 1283 1143 1075 1173 + 6188 1143 1075 1197 1283 + 6189 1196 1240 1076 1349 + 6190 1196 1076 1135 1349 + 6191 1076 1135 1349 1197 + 6192 1350 1240 1076 1136 + 6193 1076 1199 1350 1136 + 6194 1076 1199 1141 1350 + 6195 1076 1141 1269 1422 + 6196 1422 1349 1197 1076 + 6197 1197 1076 1269 1422 + 6198 1076 1141 1489 1350 + 6199 1240 1076 1489 1350 + 6200 1076 1240 1489 1349 + 6201 1422 1489 1349 1076 + 6202 1076 1489 1141 1422 + 6203 1137 1273 1077 1199 + 6204 1244 1077 1158 1282 + 6205 1273 1353 1282 1077 + 6206 1273 1199 1353 1077 + 6207 1141 1353 1199 1077 + 6208 1141 1244 1353 1077 + 6209 1353 1282 1077 1244 + 6210 1137 1202 1354 1078 + 6211 1137 1354 1243 1078 + 6212 1138 1198 1424 1078 + 6213 1424 1078 1198 1243 + 6214 1424 1354 1078 1243 + 6215 1136 1079 1198 1243 + 6216 1136 1350 1079 1243 + 6217 1079 1350 1136 1240 + 6218 1079 1240 1139 1351 + 6219 1139 1079 1351 1242 + 6220 1079 1240 1423 1350 + 6221 1351 1079 1240 1423 + 6222 1490 1079 1242 1351 + 6223 1079 1425 1351 1490 + 6224 1079 1243 1490 1198 + 6225 1079 1490 1242 1198 + 6226 1079 1491 1243 1350 + 6227 1491 1079 1423 1350 + 6228 1079 1423 1540 1491 + 6229 1079 1351 1540 1423 + 6230 1079 1351 1425 1540 + 6231 1425 1079 1574 1490 + 6232 1540 1425 1079 1574 + 6233 1243 1079 1490 1574 + 6234 1574 1243 1079 1491 + 6235 1540 1079 1491 1574 + 6236 1202 1354 1080 1137 + 6237 1273 1354 1137 1080 + 6238 1080 1357 1274 1142 + 6239 1357 1080 1273 1142 + 6240 1273 1427 1354 1080 + 6241 1080 1427 1543 1273 + 6242 1080 1273 1543 1357 + 6243 1275 1081 1125 1190 + 6244 1400 1081 1359 1249 + 6245 1125 1400 1081 1275 + 6246 1125 1400 1249 1081 + 6247 1188 1081 1249 1477 + 6248 1477 1188 1081 1146 + 6249 1359 1530 1081 1400 + 6250 1400 1530 1081 1275 + 6251 1275 1530 1081 1190 + 6252 1081 1359 1544 1146 + 6253 1544 1359 1081 1249 + 6254 1249 1081 1544 1477 + 6255 1477 1081 1544 1146 + 6256 1339 1082 1188 1146 + 6257 1339 1082 1248 1188 + 6258 1083 1343 1128 1265 + 6259 1431 1251 1145 1083 + 6260 1083 1463 1251 1128 + 6261 1128 1343 1083 1463 + 6262 1531 1265 1083 1284 + 6263 1531 1083 1343 1496 + 6264 1083 1531 1343 1265 + 6265 1083 1343 1496 1547 + 6266 1547 1083 1463 1251 + 6267 1547 1431 1083 1251 + 6268 1343 1083 1463 1547 + 6269 1496 1083 1547 1431 + 6270 1531 1580 1083 1496 + 6271 1284 1145 1083 1580 + 6272 1531 1083 1580 1284 + 6273 1083 1145 1431 1580 + 6274 1496 1580 1083 1431 + 6275 1305 1247 1203 1084 + 6276 1305 1277 1247 1084 + 6277 1084 1317 1277 1109 + 6278 1084 1261 1317 1109 + 6279 1084 1320 1261 1145 + 6280 1084 1203 1320 1145 + 6281 1317 1084 1277 1380 + 6282 1277 1380 1084 1305 + 6283 1084 1320 1203 1432 + 6284 1203 1305 1084 1432 + 6285 1560 1084 1261 1317 + 6286 1084 1560 1320 1432 + 6287 1560 1261 1084 1320 + 6288 1305 1380 1084 1586 + 6289 1317 1586 1560 1084 + 6290 1586 1560 1084 1432 + 6291 1317 1586 1084 1380 + 6292 1586 1084 1305 1432 + 6293 1284 1085 1247 1201 + 6294 1253 1148 1086 1205 + 6295 1147 1086 1363 1204 + 6296 1147 1363 1086 1286 + 6297 1205 1363 1086 1253 + 6298 1086 1205 1286 1363 + 6299 1086 1253 1363 1149 + 6300 1204 1086 1363 1149 + 6301 1362 1212 1150 1087 + 6302 1087 1362 1212 1160 + 6303 1362 1160 1087 1434 + 6304 1434 1147 1498 1087 + 6305 1434 1498 1160 1087 + 6306 1364 1285 1088 1151 + 6307 1164 1367 1288 1089 + 6308 1164 1214 1367 1089 + 6309 1214 1367 1089 1437 + 6310 1089 1367 1288 1437 + 6311 1363 1159 1204 1090 + 6312 1363 1287 1090 1149 + 6313 1363 1204 1149 1090 + 6314 1363 1090 1287 1438 + 6315 1157 1287 1090 1438 + 6316 1211 1438 1090 1159 + 6317 1159 1090 1363 1438 + 6318 1291 1152 1091 1207 + 6319 1091 1291 1206 1152 + 6320 1092 1293 1165 1218 + 6321 1092 1255 1369 1206 + 6322 1092 1439 1293 1218 + 6323 1369 1439 1293 1092 + 6324 1293 1369 1092 1442 + 6325 1255 1092 1369 1442 + 6326 1252 1208 1153 1093 + 6327 1093 1208 1155 1368 + 6328 1252 1368 1208 1093 + 6329 1094 1154 1256 1207 + 6330 1295 1154 1256 1094 + 6331 1094 1154 1209 1295 + 6332 1094 1209 1372 1295 + 6333 1209 1155 1094 1372 + 6334 1373 1155 1094 1441 + 6335 1441 1094 1291 1208 + 6336 1441 1155 1094 1208 + 6337 1295 1256 1443 1094 + 6338 1443 1094 1372 1295 + 6339 1094 1256 1503 1207 + 6340 1503 1443 1256 1094 + 6341 1503 1094 1207 1291 + 6342 1094 1373 1443 1506 + 6343 1094 1506 1443 1372 + 6344 1155 1094 1372 1506 + 6345 1094 1506 1155 1373 + 6346 1094 1443 1373 1553 + 6347 1373 1094 1553 1441 + 6348 1553 1094 1291 1441 + 6349 1094 1503 1443 1553 + 6350 1503 1291 1553 1094 + 6351 1298 1252 1095 1157 + 6352 1095 1375 1158 1255 + 6353 1376 1298 1252 1095 + 6354 1555 1375 1095 1255 + 6355 1095 1376 1555 1255 + 6356 1555 1375 1298 1095 + 6357 1555 1298 1376 1095 + 6358 1096 1299 1241 1269 + 6359 1374 1157 1298 1096 + 6360 1374 1298 1446 1096 + 6361 1269 1096 1446 1244 + 6362 1446 1096 1299 1374 + 6363 1299 1096 1446 1269 + 6364 1174 1220 1097 1303 + 6365 1222 1097 1303 1260 + 6366 1220 1303 1259 1097 + 6367 1303 1097 1174 1260 + 6368 1277 1098 1161 1222 + 6369 1305 1277 1098 1247 + 6370 1378 1247 1098 1173 + 6371 1098 1247 1378 1305 + 6372 1222 1277 1098 1380 + 6373 1305 1098 1277 1380 + 6374 1448 1305 1380 1098 + 6375 1380 1448 1098 1222 + 6376 1305 1448 1378 1098 + 6377 1099 1254 1278 1306 + 6378 1381 1099 1213 1278 + 6379 1306 1278 1099 1381 + 6380 1162 1381 1099 1290 + 6381 1451 1163 1213 1099 + 6382 1163 1451 1290 1099 + 6383 1099 1451 1381 1213 + 6384 1099 1381 1451 1290 + 6385 1164 1383 1214 1100 + 6386 1164 1215 1383 1100 + 6387 1162 1508 1290 1100 + 6388 1162 1214 1508 1100 + 6389 1214 1508 1100 1383 + 6390 1254 1295 1101 1170 + 6391 1102 1311 1217 1171 + 6392 1311 1217 1370 1102 + 6393 1152 1102 1207 1370 + 6394 1152 1217 1102 1370 + 6395 1294 1102 1504 1207 + 6396 1311 1370 1504 1102 + 6397 1102 1294 1504 1166 + 6398 1370 1504 1102 1207 + 6399 1386 1312 1166 1104 + 6400 1104 1313 1454 1387 + 6401 1104 1454 1312 1387 + 6402 1313 1388 1104 1455 + 6403 1312 1386 1511 1104 + 6404 1313 1104 1511 1455 + 6405 1386 1455 1511 1104 + 6406 1104 1511 1454 1313 + 6407 1312 1511 1454 1104 + 6408 1389 1168 1105 1314 + 6409 1105 1455 1314 1168 + 6410 1167 1105 1456 1216 + 6411 1258 1169 1390 1106 + 6412 1307 1258 1390 1106 + 6413 1258 1107 1213 1382 + 6414 1308 1213 1107 1382 + 6415 1107 1169 1390 1258 + 6416 1107 1390 1513 1258 + 6417 1107 1513 1382 1258 + 6418 1217 1171 1501 1108 + 6419 1261 1172 1109 1221 + 6420 1109 1317 1172 1261 + 6421 1260 1303 1222 1110 + 6422 1260 1160 1379 1110 + 6423 1110 1260 1303 1379 + 6424 1303 1380 1222 1110 + 6425 1110 1222 1301 1380 + 6426 1110 1379 1450 1160 + 6427 1110 1159 1498 1301 + 6428 1110 1450 1498 1160 + 6429 1110 1498 1450 1301 + 6430 1110 1303 1516 1379 + 6431 1301 1110 1516 1450 + 6432 1110 1450 1379 1516 + 6433 1303 1516 1380 1110 + 6434 1516 1110 1301 1380 + 6435 1186 1111 1262 1223 + 6436 1111 1279 1186 1262 + 6437 1266 1224 1322 1112 + 6438 1176 1322 1112 1395 + 6439 1396 1266 1322 1112 + 6440 1464 1323 1112 1395 + 6441 1322 1395 1464 1112 + 6442 1322 1464 1396 1112 + 6443 1517 1396 1464 1112 + 6444 1517 1464 1323 1112 + 6445 1187 1113 1325 1230 + 6446 1230 1325 1398 1113 + 6447 1398 1113 1177 1230 + 6448 1177 1322 1113 1398 + 6449 1176 1113 1322 1518 + 6450 1113 1518 1325 1398 + 6451 1113 1322 1518 1398 + 6452 1114 1465 1264 1231 + 6453 1193 1333 1267 1117 + 6454 1193 1235 1333 1117 + 6455 1117 1333 1267 1404 + 6456 1117 1235 1333 1404 + 6457 1330 1264 1118 1226 + 6458 1231 1118 1181 1406 + 6459 1406 1330 1264 1118 + 6460 1406 1118 1181 1225 + 6461 1231 1118 1406 1264 + 6462 1119 1178 1404 1226 + 6463 1191 1119 1233 1404 + 6464 1404 1119 1233 1178 + 6465 1182 1336 1227 1120 + 6466 1410 1227 1336 1120 + 6467 1229 1472 1121 1182 + 6468 1121 1229 1337 1472 + 6469 1524 1185 1263 1121 + 6470 1121 1337 1524 1472 + 6471 1251 1280 1394 1122 + 6472 1339 1188 1248 1123 + 6473 1474 1123 1228 1184 + 6474 1474 1412 1123 1184 + 6475 1124 1187 1475 1399 + 6476 1124 1475 1340 1399 + 6477 1340 1399 1524 1124 + 6478 1124 1524 1185 1399 + 6479 1340 1124 1526 1475 + 6480 1524 1583 1340 1124 + 6481 1124 1526 1186 1583 + 6482 1124 1340 1526 1583 + 6483 1275 1177 1224 1125 + 6484 1275 1177 1125 1400 + 6485 1125 1249 1400 1177 + 6486 1327 1230 1177 1126 + 6487 1177 1327 1126 1249 + 6488 1249 1327 1126 1414 + 6489 1414 1327 1126 1230 + 6490 1188 1249 1126 1477 + 6491 1477 1126 1414 1249 + 6492 1403 1238 1127 1194 + 6493 1128 1175 1463 1251 + 6494 1175 1128 1463 1262 + 6495 1262 1463 1328 1128 + 6496 1402 1128 1463 1343 + 6497 1328 1128 1463 1402 + 6498 1480 1402 1128 1231 + 6499 1480 1128 1265 1231 + 6500 1343 1128 1265 1480 + 6501 1343 1402 1128 1480 + 6502 1409 1200 1129 1481 + 6503 1245 1200 1481 1129 + 6504 1232 1130 1417 1268 + 6505 1192 1346 1130 1417 + 6506 1130 1417 1268 1192 + 6507 1417 1346 1130 1484 + 6508 1417 1130 1232 1484 + 6509 1562 1346 1484 1130 + 6510 1562 1233 1346 1130 + 6511 1484 1562 1130 1232 + 6512 1131 1192 1239 1419 + 6513 1236 1421 1193 1132 + 6514 1193 1132 1421 1485 + 6515 1132 1485 1193 1235 + 6516 1487 1194 1134 1348 + 6517 1418 1487 1529 1134 + 6518 1487 1194 1529 1134 + 6519 1418 1488 1537 1134 + 6520 1418 1537 1487 1134 + 6521 1487 1134 1537 1348 + 6522 1488 1348 1537 1134 + 6523 1135 1349 1197 1272 + 6524 1349 1272 1135 1196 + 6525 1243 1136 1350 1199 + 6526 1243 1273 1137 1199 + 6527 1273 1243 1137 1354 + 6528 1138 1270 1424 1198 + 6529 1179 1242 1139 1405 + 6530 1469 1179 1139 1405 + 6531 1539 1139 1351 1242 + 6532 1405 1242 1139 1539 + 6533 1405 1139 1469 1539 + 6534 1139 1351 1469 1539 + 6535 1572 1469 1408 1139 + 6536 1240 1572 1139 1351 + 6537 1271 1139 1572 1408 + 6538 1572 1139 1351 1469 + 6539 1240 1572 1271 1139 + 6540 1198 1270 1242 1140 + 6541 1242 1179 1140 1281 + 6542 1242 1270 1281 1140 + 6543 1199 1350 1426 1141 + 6544 1199 1426 1353 1141 + 6545 1446 1269 1244 1141 + 6546 1446 1244 1353 1141 + 6547 1422 1269 1446 1141 + 6548 1541 1141 1489 1422 + 6549 1141 1541 1426 1575 + 6550 1422 1446 1575 1141 + 6551 1141 1426 1353 1575 + 6552 1575 1446 1353 1141 + 6553 1541 1575 1141 1422 + 6554 1350 1141 1489 1576 + 6555 1426 1141 1350 1576 + 6556 1489 1576 1141 1541 + 6557 1576 1426 1141 1541 + 6558 1357 1273 1282 1142 + 6559 1274 1385 1246 1142 + 6560 1142 1357 1274 1385 + 6561 1142 1442 1357 1385 + 6562 1357 1442 1142 1282 + 6563 1299 1143 1241 1197 + 6564 1300 1211 1143 1173 + 6565 1143 1197 1461 1283 + 6566 1173 1143 1300 1461 + 6567 1299 1461 1143 1197 + 6568 1283 1461 1143 1173 + 6569 1143 1299 1374 1556 + 6570 1143 1461 1299 1556 + 6571 1461 1556 1143 1300 + 6572 1144 1276 1318 1221 + 6573 1183 1144 1338 1250 + 6574 1494 1250 1338 1144 + 6575 1494 1318 1250 1144 + 6576 1494 1318 1144 1276 + 6577 1462 1145 1431 1251 + 6578 1462 1431 1145 1320 + 6579 1145 1261 1462 1320 + 6580 1284 1203 1145 1580 + 6581 1203 1320 1145 1580 + 6582 1580 1145 1431 1320 + 6583 1415 1339 1477 1146 + 6584 1339 1188 1477 1146 + 6585 1359 1544 1146 1433 + 6586 1497 1146 1544 1433 + 6587 1544 1497 1415 1146 + 6588 1415 1477 1544 1146 + 6589 1286 1498 1434 1147 + 6590 1147 1498 1363 1286 + 6591 1363 1253 1287 1149 + 6592 1205 1286 1365 1151 + 6593 1151 1434 1286 1366 + 6594 1366 1286 1151 1551 + 6595 1151 1286 1365 1551 + 6596 1581 1500 1151 1364 + 6597 1151 1364 1285 1581 + 6598 1366 1151 1434 1581 + 6599 1581 1151 1500 1551 + 6600 1151 1366 1551 1581 + 6601 1151 1285 1434 1581 + 6602 1152 1370 1440 1292 + 6603 1152 1440 1206 1292 + 6604 1440 1291 1207 1152 + 6605 1370 1440 1207 1152 + 6606 1440 1206 1291 1152 + 6607 1155 1208 1297 1368 + 6608 1209 1296 1155 1372 + 6609 1441 1208 1297 1155 + 6610 1373 1297 1155 1441 + 6611 1444 1297 1155 1373 + 6612 1296 1444 1368 1155 + 6613 1297 1368 1444 1155 + 6614 1155 1372 1296 1506 + 6615 1444 1296 1506 1155 + 6616 1444 1155 1506 1373 + 6617 1156 1254 1437 1209 + 6618 1374 1445 1298 1157 + 6619 1287 1507 1157 1368 + 6620 1157 1507 1287 1438 + 6621 1374 1507 1445 1157 + 6622 1252 1157 1298 1554 + 6623 1554 1252 1157 1368 + 6624 1445 1157 1554 1298 + 6625 1445 1157 1507 1554 + 6626 1368 1157 1554 1507 + 6627 1255 1375 1158 1282 + 6628 1244 1158 1375 1282 + 6629 1211 1300 1438 1159 + 6630 1159 1300 1438 1377 + 6631 1363 1498 1159 1447 + 6632 1557 1159 1498 1447 + 6633 1557 1498 1159 1301 + 6634 1557 1159 1377 1301 + 6635 1159 1363 1447 1582 + 6636 1582 1159 1363 1438 + 6637 1557 1582 1159 1447 + 6638 1159 1438 1582 1377 + 6639 1377 1159 1557 1582 + 6640 1212 1302 1160 1362 + 6641 1379 1302 1160 1260 + 6642 1434 1160 1304 1362 + 6643 1449 1304 1160 1362 + 6644 1160 1379 1449 1302 + 6645 1449 1379 1160 1304 + 6646 1160 1302 1449 1362 + 6647 1450 1379 1304 1160 + 6648 1450 1304 1498 1160 + 6649 1498 1160 1304 1434 + 6650 1290 1162 1381 1508 + 6651 1214 1162 1508 1381 + 6652 1213 1308 1163 1451 + 6653 1214 1164 1367 1309 + 6654 1383 1214 1309 1164 + 6655 1289 1215 1383 1164 + 6656 1288 1367 1164 1436 + 6657 1452 1383 1164 1289 + 6658 1383 1309 1452 1164 + 6659 1289 1510 1436 1164 + 6660 1367 1436 1510 1164 + 6661 1164 1309 1452 1510 + 6662 1164 1367 1309 1510 + 6663 1289 1452 1510 1164 + 6664 1453 1386 1166 1294 + 6665 1453 1166 1386 1312 + 6666 1166 1294 1504 1453 + 6667 1167 1456 1307 1216 + 6668 1314 1455 1386 1168 + 6669 1457 1386 1168 1314 + 6670 1389 1457 1168 1314 + 6671 1294 1386 1168 1457 + 6672 1168 1256 1294 1457 + 6673 1457 1168 1559 1389 + 6674 1168 1559 1256 1457 + 6675 1278 1306 1254 1170 + 6676 1254 1384 1295 1170 + 6677 1384 1254 1306 1170 + 6678 1257 1295 1384 1170 + 6679 1170 1258 1458 1216 + 6680 1384 1170 1458 1257 + 6681 1257 1170 1458 1216 + 6682 1384 1170 1306 1509 + 6683 1509 1170 1278 1258 + 6684 1384 1458 1170 1509 + 6685 1278 1306 1170 1509 + 6686 1509 1458 1170 1258 + 6687 1311 1171 1501 1217 + 6688 1220 1259 1316 1172 + 6689 1276 1172 1318 1221 + 6690 1261 1318 1172 1221 + 6691 1261 1318 1392 1172 + 6692 1276 1172 1316 1392 + 6693 1392 1172 1316 1259 + 6694 1261 1392 1317 1172 + 6695 1392 1317 1172 1259 + 6696 1172 1318 1392 1276 + 6697 1247 1173 1378 1283 + 6698 1173 1300 1378 1461 + 6699 1283 1378 1461 1173 + 6700 1174 1393 1220 1303 + 6701 1393 1515 1303 1174 + 6702 1260 1303 1515 1174 + 6703 1260 1515 1302 1174 + 6704 1251 1175 1463 1280 + 6705 1280 1262 1175 1463 + 6706 1176 1518 1322 1395 + 6707 1176 1324 1518 1395 + 6708 1177 1398 1230 1327 + 6709 1327 1177 1400 1249 + 6710 1466 1400 1327 1177 + 6711 1177 1466 1398 1327 + 6712 1275 1466 1177 1400 + 6713 1466 1224 1275 1177 + 6714 1177 1466 1322 1398 + 6715 1177 1322 1466 1224 + 6716 1226 1330 1264 1178 + 6717 1397 1264 1330 1178 + 6718 1178 1226 1330 1404 + 6719 1178 1330 1468 1404 + 6720 1468 1233 1178 1404 + 6721 1323 1468 1178 1397 + 6722 1397 1330 1468 1178 + 6723 1237 1405 1179 1332 + 6724 1242 1405 1179 1281 + 6725 1405 1331 1237 1179 + 6726 1405 1331 1179 1281 + 6727 1405 1332 1469 1179 + 6728 1237 1407 1332 1180 + 6729 1237 1407 1180 1267 + 6730 1180 1267 1407 1470 + 6731 1406 1225 1471 1180 + 6732 1406 1471 1523 1180 + 6733 1523 1180 1563 1470 + 6734 1332 1180 1407 1563 + 6735 1523 1563 1180 1471 + 6736 1563 1180 1407 1470 + 6737 1471 1332 1563 1180 + 6738 1231 1335 1181 1265 + 6739 1181 1406 1335 1231 + 6740 1411 1182 1336 1227 + 6741 1279 1182 1411 1227 + 6742 1229 1336 1472 1182 + 6743 1279 1472 1411 1182 + 6744 1472 1336 1411 1182 + 6745 1250 1338 1183 1410 + 6746 1184 1228 1474 1263 + 6747 1184 1474 1412 1326 + 6748 1184 1263 1474 1326 + 6749 1185 1263 1326 1524 + 6750 1326 1524 1399 1185 + 6751 1262 1401 1186 1223 + 6752 1561 1186 1279 1262 + 6753 1561 1401 1186 1262 + 6754 1583 1561 1186 1279 + 6755 1526 1186 1583 1401 + 6756 1583 1401 1186 1561 + 6757 1230 1325 1187 1399 + 6758 1187 1325 1475 1399 + 6759 1403 1479 1189 1329 + 6760 1529 1479 1189 1403 + 6761 1529 1232 1189 1342 + 6762 1529 1189 1479 1342 + 6763 1189 1479 1342 1567 + 6764 1329 1567 1479 1189 + 6765 1329 1266 1567 1189 + 6766 1232 1567 1266 1189 + 6767 1189 1342 1232 1567 + 6768 1530 1190 1329 1403 + 6769 1190 1329 1275 1530 + 6770 1483 1235 1345 1191 + 6771 1404 1191 1235 1483 + 6772 1191 1404 1233 1483 + 6773 1268 1417 1347 1192 + 6774 1192 1534 1417 1347 + 6775 1346 1417 1192 1534 + 6776 1239 1534 1419 1192 + 6777 1192 1239 1534 1347 + 6778 1236 1331 1193 1421 + 6779 1333 1485 1235 1193 + 6780 1193 1331 1237 1486 + 6781 1193 1331 1486 1421 + 6782 1486 1267 1237 1193 + 6783 1333 1535 1485 1193 + 6784 1193 1333 1535 1267 + 6785 1421 1535 1193 1485 + 6786 1486 1535 1193 1421 + 6787 1193 1535 1486 1267 + 6788 1403 1348 1238 1194 + 6789 1403 1570 1348 1194 + 6790 1348 1194 1570 1487 + 6791 1529 1403 1194 1570 + 6792 1529 1570 1194 1487 + 6793 1245 1271 1196 1416 + 6794 1416 1245 1272 1196 + 6795 1416 1272 1349 1196 + 6796 1240 1538 1349 1196 + 6797 1538 1271 1416 1196 + 6798 1240 1271 1538 1196 + 6799 1538 1416 1349 1196 + 6800 1269 1299 1241 1197 + 6801 1422 1269 1197 1299 + 6802 1461 1197 1299 1573 + 6803 1283 1272 1197 1573 + 6804 1349 1197 1272 1573 + 6805 1422 1299 1197 1573 + 6806 1283 1197 1461 1573 + 6807 1573 1197 1422 1349 + 6808 1270 1424 1198 1490 + 6809 1242 1198 1490 1270 + 6810 1424 1198 1490 1243 + 6811 1243 1350 1273 1199 + 6812 1273 1199 1350 1426 + 6813 1199 1353 1426 1273 + 6814 1409 1334 1471 1200 + 6815 1334 1409 1481 1200 + 6816 1200 1271 1481 1334 + 6817 1481 1271 1200 1245 + 6818 1283 1201 1272 1356 + 6819 1272 1201 1245 1416 + 6820 1272 1201 1416 1356 + 6821 1201 1247 1284 1482 + 6822 1201 1283 1247 1482 + 6823 1283 1356 1482 1201 + 6824 1482 1356 1416 1201 + 6825 1284 1482 1247 1203 + 6826 1247 1305 1203 1482 + 6827 1203 1548 1361 1482 + 6828 1548 1305 1203 1432 + 6829 1548 1203 1305 1482 + 6830 1548 1361 1432 1203 + 6831 1320 1203 1432 1549 + 6832 1203 1432 1549 1361 + 6833 1203 1361 1580 1482 + 6834 1203 1549 1320 1580 + 6835 1203 1549 1580 1361 + 6836 1203 1284 1482 1580 + 6837 1435 1205 1253 1363 + 6838 1435 1288 1205 1499 + 6839 1365 1205 1288 1499 + 6840 1286 1205 1365 1550 + 6841 1550 1286 1205 1363 + 6842 1435 1205 1550 1499 + 6843 1435 1550 1205 1363 + 6844 1365 1550 1205 1499 + 6845 1371 1440 1292 1206 + 6846 1206 1291 1371 1440 + 6847 1206 1371 1291 1441 + 6848 1206 1502 1369 1292 + 6849 1502 1206 1369 1255 + 6850 1371 1502 1206 1292 + 6851 1206 1502 1371 1441 + 6852 1207 1256 1503 1294 + 6853 1503 1207 1440 1291 + 6854 1440 1294 1207 1503 + 6855 1207 1504 1294 1440 + 6856 1370 1504 1207 1440 + 6857 1297 1368 1208 1252 + 6858 1254 1209 1295 1437 + 6859 1372 1209 1437 1295 + 6860 1296 1505 1372 1209 + 6861 1505 1372 1209 1437 + 6862 1213 1509 1308 1451 + 6863 1213 1509 1278 1258 + 6864 1308 1509 1213 1382 + 6865 1381 1213 1509 1278 + 6866 1258 1213 1509 1382 + 6867 1451 1509 1381 1213 + 6868 1381 1309 1214 1437 + 6869 1367 1214 1309 1437 + 6870 1214 1508 1309 1381 + 6871 1214 1309 1508 1383 + 6872 1458 1258 1307 1216 + 6873 1217 1311 1370 1501 + 6874 1391 1453 1312 1219 + 6875 1311 1391 1219 1504 + 6876 1219 1504 1391 1453 + 6877 1220 1393 1316 1259 + 6878 1259 1220 1393 1303 + 6879 1448 1301 1222 1380 + 6880 1466 1275 1224 1329 + 6881 1322 1466 1224 1522 + 6882 1329 1266 1224 1522 + 6883 1329 1224 1466 1522 + 6884 1322 1224 1266 1522 + 6885 1227 1394 1321 1280 + 6886 1279 1411 1321 1227 + 6887 1227 1411 1473 1336 + 6888 1473 1394 1321 1227 + 6889 1473 1227 1336 1410 + 6890 1321 1227 1411 1473 + 6891 1472 1525 1229 1337 + 6892 1336 1525 1229 1472 + 6893 1326 1527 1230 1399 + 6894 1527 1325 1230 1399 + 6895 1230 1478 1527 1326 + 6896 1230 1398 1325 1527 + 6897 1327 1230 1565 1398 + 6898 1565 1527 1230 1478 + 6899 1565 1230 1414 1478 + 6900 1230 1565 1414 1327 + 6901 1230 1565 1398 1527 + 6902 1231 1480 1335 1265 + 6903 1568 1406 1264 1231 + 6904 1568 1264 1465 1231 + 6905 1406 1231 1568 1335 + 6906 1584 1568 1231 1335 + 6907 1465 1584 1568 1231 + 6908 1231 1402 1584 1480 + 6909 1465 1402 1584 1231 + 6910 1231 1584 1335 1480 + 6911 1232 1418 1342 1529 + 6912 1532 1232 1268 1418 + 6913 1417 1484 1232 1532 + 6914 1232 1417 1532 1268 + 6915 1342 1232 1532 1418 + 6916 1232 1484 1562 1396 + 6917 1266 1567 1232 1396 + 6918 1585 1232 1396 1484 + 6919 1585 1532 1342 1232 + 6920 1585 1484 1532 1232 + 6921 1567 1342 1232 1585 + 6922 1232 1396 1567 1585 + 6923 1483 1346 1533 1233 + 6924 1404 1533 1233 1483 + 6925 1468 1533 1233 1404 + 6926 1233 1346 1533 1562 + 6927 1562 1468 1533 1233 + 6928 1420 1483 1235 1345 + 6929 1235 1333 1483 1420 + 6930 1235 1483 1333 1404 + 6931 1420 1345 1235 1485 + 6932 1420 1235 1333 1485 + 6933 1421 1536 1236 1331 + 6934 1281 1236 1536 1331 + 6935 1237 1407 1486 1332 + 6936 1237 1332 1486 1405 + 6937 1237 1486 1331 1405 + 6938 1407 1267 1237 1486 + 6939 1240 1489 1423 1350 + 6940 1489 1423 1352 1240 + 6941 1240 1538 1352 1489 + 6942 1240 1349 1538 1489 + 6943 1572 1240 1352 1423 + 6944 1572 1271 1538 1240 + 6945 1572 1240 1423 1351 + 6946 1240 1352 1538 1572 + 6947 1355 1270 1281 1242 + 6948 1405 1281 1242 1355 + 6949 1242 1490 1355 1270 + 6950 1490 1242 1355 1539 + 6951 1490 1242 1539 1351 + 6952 1242 1539 1405 1355 + 6953 1273 1491 1243 1354 + 6954 1350 1491 1243 1273 + 6955 1424 1490 1574 1243 + 6956 1574 1243 1354 1424 + 6957 1574 1243 1491 1354 + 6958 1244 1375 1542 1282 + 6959 1244 1542 1353 1282 + 6960 1353 1446 1542 1244 + 6961 1375 1542 1446 1244 + 6962 1481 1416 1271 1245 + 6963 1482 1247 1305 1378 + 6964 1378 1482 1247 1283 + 6965 1493 1249 1414 1327 + 6966 1249 1359 1400 1493 + 6967 1493 1400 1249 1327 + 6968 1493 1249 1544 1414 + 6969 1249 1544 1359 1493 + 6970 1477 1414 1544 1249 + 6971 1430 1319 1250 1495 + 6972 1338 1410 1250 1545 + 6973 1473 1430 1250 1545 + 6974 1410 1250 1545 1473 + 6975 1494 1250 1318 1546 + 6976 1462 1546 1318 1250 + 6977 1319 1546 1250 1495 + 6978 1546 1462 1319 1250 + 6979 1494 1578 1338 1250 + 6980 1250 1545 1430 1578 + 6981 1494 1578 1250 1546 + 6982 1250 1338 1545 1578 + 6983 1250 1430 1495 1578 + 6984 1578 1495 1250 1546 + 6985 1579 1473 1430 1250 + 6986 1250 1579 1473 1394 + 6987 1250 1319 1579 1394 + 6988 1579 1319 1250 1430 + 6989 1431 1251 1319 1462 + 6990 1319 1251 1463 1394 + 6991 1280 1251 1394 1463 + 6992 1319 1547 1463 1251 + 6993 1319 1431 1547 1251 + 6994 1297 1252 1376 1554 + 6995 1297 1252 1554 1368 + 6996 1298 1376 1252 1554 + 6997 1287 1368 1253 1435 + 6998 1363 1253 1435 1287 + 6999 1254 1295 1384 1558 + 7000 1254 1384 1306 1558 + 7001 1437 1306 1558 1254 + 7002 1254 1295 1558 1437 + 7003 1255 1369 1310 1442 + 7004 1502 1369 1310 1255 + 7005 1255 1310 1555 1442 + 7006 1255 1555 1282 1442 + 7007 1310 1255 1555 1502 + 7008 1255 1555 1375 1282 + 7009 1255 1376 1555 1502 + 7010 1457 1503 1256 1294 + 7011 1457 1256 1503 1559 + 7012 1559 1443 1295 1256 + 7013 1443 1256 1559 1503 + 7014 1295 1257 1384 1512 + 7015 1258 1459 1307 1390 + 7016 1315 1258 1509 1382 + 7017 1509 1315 1458 1258 + 7018 1459 1307 1513 1258 + 7019 1315 1513 1258 1382 + 7020 1513 1390 1459 1258 + 7021 1258 1513 1458 1307 + 7022 1513 1458 1315 1258 + 7023 1317 1259 1460 1380 + 7024 1393 1303 1460 1259 + 7025 1259 1393 1316 1460 + 7026 1460 1380 1259 1303 + 7027 1316 1259 1514 1392 + 7028 1460 1317 1514 1259 + 7029 1460 1514 1316 1259 + 7030 1317 1514 1259 1392 + 7031 1379 1302 1260 1515 + 7032 1379 1260 1303 1515 + 7033 1261 1392 1318 1462 + 7034 1317 1261 1560 1392 + 7035 1261 1560 1392 1462 + 7036 1560 1462 1261 1320 + 7037 1401 1262 1467 1328 + 7038 1521 1280 1262 1321 + 7039 1467 1262 1521 1328 + 7040 1280 1521 1262 1463 + 7041 1262 1463 1521 1328 + 7042 1561 1401 1262 1467 + 7043 1561 1262 1521 1467 + 7044 1561 1279 1321 1262 + 7045 1321 1262 1521 1561 + 7046 1326 1413 1263 1474 + 7047 1524 1263 1326 1413 + 7048 1264 1568 1330 1406 + 7049 1264 1568 1465 1397 + 7050 1397 1264 1568 1330 + 7051 1265 1409 1480 1335 + 7052 1284 1531 1265 1344 + 7053 1265 1531 1343 1480 + 7054 1531 1409 1265 1344 + 7055 1265 1531 1480 1409 + 7056 1322 1266 1396 1522 + 7057 1266 1329 1567 1522 + 7058 1567 1266 1522 1396 + 7059 1470 1404 1267 1333 + 7060 1535 1486 1267 1569 + 7061 1407 1486 1569 1267 + 7062 1535 1267 1333 1569 + 7063 1407 1267 1569 1470 + 7064 1470 1267 1569 1333 + 7065 1347 1268 1571 1417 + 7066 1418 1571 1268 1532 + 7067 1532 1571 1268 1417 + 7068 1299 1446 1422 1269 + 7069 1416 1481 1271 1538 + 7070 1481 1271 1538 1572 + 7071 1334 1408 1271 1572 + 7072 1334 1271 1481 1572 + 7073 1573 1349 1416 1272 + 7074 1283 1272 1573 1356 + 7075 1416 1573 1272 1356 + 7076 1491 1427 1354 1273 + 7077 1358 1273 1427 1491 + 7078 1426 1350 1273 1491 + 7079 1273 1358 1426 1491 + 7080 1353 1273 1282 1492 + 7081 1492 1273 1282 1357 + 7082 1426 1273 1492 1358 + 7083 1353 1426 1273 1492 + 7084 1543 1358 1273 1427 + 7085 1492 1543 1273 1357 + 7086 1358 1492 1543 1273 + 7087 1275 1360 1429 1466 + 7088 1275 1400 1360 1466 + 7089 1275 1429 1329 1466 + 7090 1530 1275 1360 1429 + 7091 1400 1360 1530 1275 + 7092 1530 1329 1275 1429 + 7093 1392 1318 1494 1276 + 7094 1276 1316 1577 1392 + 7095 1392 1494 1577 1276 + 7096 1306 1509 1278 1381 + 7097 1472 1583 1279 1411 + 7098 1321 1411 1279 1583 + 7099 1583 1321 1561 1279 + 7100 1280 1394 1321 1521 + 7101 1280 1394 1521 1463 + 7102 1405 1536 1281 1355 + 7103 1281 1536 1405 1331 + 7104 1357 1428 1442 1282 + 7105 1428 1282 1357 1492 + 7106 1282 1492 1542 1353 + 7107 1282 1428 1555 1492 + 7108 1555 1282 1492 1542 + 7109 1555 1282 1442 1428 + 7110 1555 1542 1375 1282 + 7111 1356 1378 1461 1283 + 7112 1356 1482 1378 1283 + 7113 1461 1356 1283 1573 + 7114 1531 1344 1284 1580 + 7115 1580 1284 1482 1344 + 7116 1285 1581 1587 1434 + 7117 1587 1362 1285 1434 + 7118 1447 1286 1363 1498 + 7119 1550 1363 1447 1286 + 7120 1434 1588 1286 1366 + 7121 1434 1588 1498 1286 + 7122 1447 1588 1286 1498 + 7123 1551 1286 1365 1671 + 7124 1551 1366 1286 1671 + 7125 1366 1588 1286 1671 + 7126 1286 1671 1588 1447 + 7127 1286 1365 1671 1550 + 7128 1286 1550 1671 1447 + 7129 1363 1287 1435 1550 + 7130 1363 1447 1287 1550 + 7131 1363 1287 1582 1438 + 7132 1447 1363 1287 1582 + 7133 1438 1287 1582 1507 + 7134 1287 1589 1368 1435 + 7135 1287 1589 1507 1368 + 7136 1582 1287 1589 1507 + 7137 1589 1435 1287 1672 + 7138 1550 1672 1447 1287 + 7139 1672 1582 1447 1287 + 7140 1550 1435 1672 1287 + 7141 1589 1287 1582 1672 + 7142 1436 1365 1288 1499 + 7143 1505 1288 1367 1437 + 7144 1552 1499 1288 1435 + 7145 1552 1367 1288 1436 + 7146 1436 1288 1552 1499 + 7147 1505 1367 1288 1552 + 7148 1452 1289 1510 1592 + 7149 1510 1592 1289 1436 + 7150 1675 1289 1592 1436 + 7151 1500 1436 1289 1675 + 7152 1290 1381 1451 1508 + 7153 1440 1291 1371 1503 + 7154 1371 1553 1291 1441 + 7155 1371 1291 1553 1503 + 7156 1292 1370 1440 1596 + 7157 1292 1440 1371 1596 + 7158 1292 1597 1371 1502 + 7159 1292 1369 1597 1502 + 7160 1678 1369 1597 1292 + 7161 1678 1369 1292 1439 + 7162 1678 1292 1749 1439 + 7163 1439 1749 1501 1292 + 7164 1370 1292 1749 1596 + 7165 1501 1370 1292 1749 + 7166 1678 1597 1750 1292 + 7167 1750 1292 1371 1596 + 7168 1597 1292 1371 1750 + 7169 1817 1750 1596 1292 + 7170 1817 1596 1749 1292 + 7171 1678 1292 1750 1817 + 7172 1678 1749 1292 1817 + 7173 1369 1598 1293 1439 + 7174 1598 1293 1442 1369 + 7175 1442 1385 1293 1598 + 7176 1453 1683 1294 1504 + 7177 1386 1457 1294 1683 + 7178 1453 1683 1386 1294 + 7179 1440 1752 1294 1503 + 7180 1294 1504 1683 1752 + 7181 1457 1752 1503 1294 + 7182 1294 1683 1457 1752 + 7183 1504 1752 1294 1440 + 7184 1372 1437 1558 1295 + 7185 1512 1443 1295 1559 + 7186 1295 1512 1384 1602 + 7187 1295 1384 1558 1602 + 7188 1558 1602 1684 1295 + 7189 1684 1443 1295 1512 + 7190 1512 1684 1602 1295 + 7191 1684 1443 1372 1295 + 7192 1684 1372 1558 1295 + 7193 1591 1296 1552 1505 + 7194 1552 1296 1591 1435 + 7195 1296 1368 1444 1673 + 7196 1296 1673 1444 1506 + 7197 1368 1673 1296 1435 + 7198 1673 1296 1435 1591 + 7199 1372 1755 1505 1296 + 7200 1506 1296 1755 1372 + 7201 1296 1755 1673 1506 + 7202 1591 1755 1296 1505 + 7203 1755 1296 1673 1591 + 7204 1444 1297 1554 1368 + 7205 1297 1376 1603 1554 + 7206 1297 1554 1603 1444 + 7207 1681 1376 1297 1441 + 7208 1297 1681 1603 1376 + 7209 1297 1685 1373 1444 + 7210 1444 1297 1685 1603 + 7211 1818 1441 1297 1373 + 7212 1818 1685 1373 1297 + 7213 1297 1818 1685 1603 + 7214 1818 1297 1441 1681 + 7215 1681 1818 1297 1603 + 7216 1375 1298 1446 1542 + 7217 1375 1542 1555 1298 + 7218 1605 1445 1554 1298 + 7219 1298 1446 1605 1374 + 7220 1542 1298 1446 1605 + 7221 1374 1445 1605 1298 + 7222 1757 1376 1555 1298 + 7223 1554 1298 1376 1757 + 7224 1757 1555 1542 1298 + 7225 1298 1542 1757 1605 + 7226 1298 1605 1757 1554 + 7227 1299 1556 1461 1608 + 7228 1299 1573 1422 1608 + 7229 1299 1461 1573 1608 + 7230 1688 1299 1608 1556 + 7231 1446 1299 1688 1374 + 7232 1688 1422 1299 1446 + 7233 1688 1374 1299 1556 + 7234 1422 1688 1299 1608 + 7235 1438 1300 1556 1377 + 7236 1556 1689 1377 1300 + 7237 1300 1448 1378 1689 + 7238 1300 1377 1448 1689 + 7239 1378 1300 1689 1461 + 7240 1689 1461 1300 1556 + 7241 1448 1516 1301 1380 + 7242 1557 1450 1498 1301 + 7243 1762 1301 1450 1557 + 7244 1516 1762 1301 1450 + 7245 1557 1377 1762 1301 + 7246 1762 1301 1448 1516 + 7247 1301 1377 1762 1448 + 7248 1515 1449 1379 1302 + 7249 1460 1515 1303 1393 + 7250 1460 1516 1380 1303 + 7251 1379 1612 1515 1303 + 7252 1516 1612 1303 1460 + 7253 1460 1515 1612 1303 + 7254 1379 1612 1303 1516 + 7255 1362 1304 1434 1587 + 7256 1434 1366 1587 1304 + 7257 1362 1449 1304 1587 + 7258 1304 1434 1366 1588 + 7259 1498 1588 1304 1450 + 7260 1498 1304 1588 1434 + 7261 1587 1366 1676 1304 + 7262 1304 1691 1379 1450 + 7263 1379 1691 1304 1449 + 7264 1588 1366 1304 1748 + 7265 1748 1676 1366 1304 + 7266 1450 1691 1748 1304 + 7267 1450 1748 1588 1304 + 7268 1691 1748 1304 1826 + 7269 1587 1449 1304 1826 + 7270 1304 1748 1676 1826 + 7271 1304 1676 1587 1826 + 7272 1304 1691 1826 1449 + 7273 1305 1380 1516 1448 + 7274 1305 1378 1448 1548 + 7275 1482 1305 1548 1378 + 7276 1305 1516 1380 1586 + 7277 1611 1305 1448 1548 + 7278 1611 1586 1516 1305 + 7279 1448 1305 1611 1516 + 7280 1611 1586 1305 1432 + 7281 1548 1611 1305 1432 + 7282 1437 1595 1306 1381 + 7283 1306 1677 1595 1437 + 7284 1677 1558 1437 1306 + 7285 1306 1692 1509 1381 + 7286 1509 1306 1384 1692 + 7287 1595 1692 1306 1381 + 7288 1306 1384 1765 1558 + 7289 1765 1384 1306 1692 + 7290 1765 1306 1677 1595 + 7291 1765 1692 1306 1595 + 7292 1306 1765 1677 1558 + 7293 1509 1613 1308 1451 + 7294 1613 1509 1308 1382 + 7295 1508 1383 1309 1452 + 7296 1309 1367 1437 1594 + 7297 1594 1367 1510 1309 + 7298 1437 1309 1595 1381 + 7299 1309 1595 1677 1437 + 7300 1309 1437 1677 1594 + 7301 1452 1309 1508 1693 + 7302 1309 1595 1381 1764 + 7303 1693 1309 1508 1764 + 7304 1693 1595 1309 1764 + 7305 1309 1381 1508 1764 + 7306 1452 1309 1766 1510 + 7307 1766 1595 1309 1693 + 7308 1452 1766 1309 1693 + 7309 1766 1309 1595 1677 + 7310 1510 1766 1594 1309 + 7311 1766 1594 1309 1677 + 7312 1555 1442 1310 1428 + 7313 1310 1369 1502 1597 + 7314 1607 1428 1555 1310 + 7315 1681 1555 1310 1607 + 7316 1502 1681 1310 1597 + 7317 1555 1310 1502 1681 + 7318 1428 1310 1614 1682 + 7319 1310 1442 1682 1428 + 7320 1597 1751 1310 1369 + 7321 1751 1682 1614 1310 + 7322 1751 1442 1682 1310 + 7323 1369 1442 1751 1310 + 7324 1310 1614 1694 1768 + 7325 1768 1428 1310 1614 + 7326 1607 1768 1428 1310 + 7327 1310 1751 1829 1614 + 7328 1310 1694 1829 1597 + 7329 1310 1829 1694 1614 + 7330 1829 1751 1310 1597 + 7331 1878 1310 1768 1607 + 7332 1694 1597 1310 1878 + 7333 1878 1310 1681 1597 + 7334 1878 1694 1768 1310 + 7335 1681 1310 1878 1607 + 7336 1311 1679 1391 1504 + 7337 1370 1504 1679 1311 + 7338 1370 1679 1749 1311 + 7339 1501 1311 1370 1749 + 7340 1386 1453 1312 1511 + 7341 1391 1769 1312 1453 + 7342 1769 1312 1453 1511 + 7343 1769 1454 1312 1511 + 7344 1615 1313 1511 1455 + 7345 1511 1454 1313 1615 + 7346 1615 1695 1313 1455 + 7347 1695 1388 1313 1455 + 7348 1386 1455 1314 1511 + 7349 1683 1386 1314 1511 + 7350 1457 1386 1314 1683 + 7351 1455 1314 1511 1770 + 7352 1314 1511 1770 1683 + 7353 1771 1683 1457 1314 + 7354 1457 1314 1389 1771 + 7355 1771 1879 1683 1314 + 7356 1314 1770 1616 1879 + 7357 1314 1616 1771 1879 + 7358 1314 1770 1879 1683 + 7359 1509 1384 1458 1315 + 7360 1382 1315 1613 1509 + 7361 1315 1613 1509 1692 + 7362 1315 1692 1509 1384 + 7363 1315 1765 1692 1384 + 7364 1831 1765 1692 1315 + 7365 1315 1831 1613 1692 + 7366 1514 1316 1392 1577 + 7367 1393 1617 1316 1460 + 7368 1514 1617 1316 1577 + 7369 1514 1617 1460 1316 + 7370 1317 1560 1514 1392 + 7371 1586 1560 1514 1317 + 7372 1317 1460 1586 1380 + 7373 1586 1514 1460 1317 + 7374 1494 1318 1392 1546 + 7375 1546 1318 1392 1462 + 7376 1319 1547 1431 1619 + 7377 1394 1319 1579 1620 + 7378 1319 1463 1620 1394 + 7379 1319 1620 1463 1547 + 7380 1495 1430 1319 1699 + 7381 1699 1319 1620 1579 + 7382 1430 1579 1319 1699 + 7383 1319 1699 1619 1495 + 7384 1319 1619 1774 1495 + 7385 1319 1774 1546 1495 + 7386 1319 1774 1619 1431 + 7387 1462 1774 1546 1319 + 7388 1431 1462 1319 1774 + 7389 1775 1319 1620 1699 + 7390 1775 1619 1319 1699 + 7391 1620 1775 1547 1319 + 7392 1319 1775 1547 1619 + 7393 1580 1431 1549 1320 + 7394 1320 1432 1621 1549 + 7395 1431 1621 1549 1320 + 7396 1560 1432 1621 1320 + 7397 1462 1560 1696 1320 + 7398 1621 1696 1560 1320 + 7399 1774 1621 1320 1696 + 7400 1774 1320 1462 1696 + 7401 1462 1431 1320 1774 + 7402 1431 1621 1320 1774 + 7403 1473 1394 1579 1321 + 7404 1521 1321 1579 1394 + 7405 1473 1579 1411 1321 + 7406 1411 1583 1321 1776 + 7407 1321 1776 1579 1411 + 7408 1776 1321 1579 1521 + 7409 1561 1321 1776 1521 + 7410 1583 1561 1321 1776 + 7411 1464 1322 1518 1395 + 7412 1322 1466 1522 1398 + 7413 1464 1623 1322 1396 + 7414 1396 1522 1623 1322 + 7415 1623 1522 1398 1322 + 7416 1398 1322 1518 1623 + 7417 1518 1623 1322 1464 + 7418 1464 1323 1395 1519 + 7419 1517 1323 1464 1624 + 7420 1464 1323 1519 1624 + 7421 1519 1624 1323 1397 + 7422 1562 1701 1468 1323 + 7423 1562 1323 1517 1701 + 7424 1323 1624 1517 1701 + 7425 1397 1701 1323 1468 + 7426 1323 1624 1701 1397 + 7427 1520 1401 1324 1476 + 7428 1518 1395 1324 1564 + 7429 1324 1625 1476 1564 + 7430 1520 1324 1625 1476 + 7431 1395 1324 1625 1519 + 7432 1564 1324 1625 1395 + 7433 1324 1779 1519 1465 + 7434 1779 1324 1519 1625 + 7435 1520 1324 1465 1779 + 7436 1779 1520 1324 1625 + 7437 1527 1475 1325 1399 + 7438 1398 1475 1325 1527 + 7439 1705 1325 1475 1526 + 7440 1518 1705 1564 1325 + 7441 1398 1705 1325 1475 + 7442 1518 1398 1705 1325 + 7443 1705 1564 1325 1526 + 7444 1566 1412 1474 1326 + 7445 1326 1566 1413 1474 + 7446 1524 1326 1631 1413 + 7447 1399 1524 1326 1631 + 7448 1527 1707 1326 1478 + 7449 1399 1631 1326 1707 + 7450 1566 1707 1478 1326 + 7451 1527 1326 1707 1399 + 7452 1413 1782 1566 1326 + 7453 1326 1707 1631 1782 + 7454 1326 1566 1707 1782 + 7455 1413 1631 1782 1326 + 7456 1630 1414 1327 1493 + 7457 1327 1630 1565 1414 + 7458 1400 1630 1327 1493 + 7459 1630 1400 1327 1466 + 7460 1327 1565 1630 1398 + 7461 1630 1398 1466 1327 + 7462 1632 1328 1520 1401 + 7463 1467 1328 1632 1401 + 7464 1328 1463 1700 1402 + 7465 1467 1700 1328 1521 + 7466 1521 1700 1328 1463 + 7467 1328 1632 1520 1783 + 7468 1328 1467 1632 1783 + 7469 1402 1328 1783 1700 + 7470 1402 1520 1783 1328 + 7471 1783 1328 1467 1700 + 7472 1429 1329 1466 1522 + 7473 1429 1329 1479 1530 + 7474 1530 1329 1479 1403 + 7475 1429 1567 1329 1522 + 7476 1429 1329 1567 1479 + 7477 1330 1406 1568 1523 + 7478 1330 1523 1568 1627 + 7479 1330 1470 1523 1627 + 7480 1397 1568 1627 1330 + 7481 1627 1330 1468 1397 + 7482 1330 1712 1404 1470 + 7483 1470 1627 1330 1712 + 7484 1468 1330 1627 1712 + 7485 1468 1404 1330 1712 + 7486 1486 1405 1536 1331 + 7487 1421 1486 1536 1331 + 7488 1563 1408 1332 1471 + 7489 1563 1332 1637 1407 + 7490 1332 1408 1563 1637 + 7491 1637 1469 1332 1408 + 7492 1332 1713 1469 1637 + 7493 1713 1405 1486 1332 + 7494 1405 1332 1713 1469 + 7495 1713 1486 1784 1332 + 7496 1784 1486 1407 1332 + 7497 1784 1637 1332 1407 + 7498 1784 1332 1637 1713 + 7499 1535 1420 1333 1485 + 7500 1333 1483 1420 1640 + 7501 1333 1404 1483 1712 + 7502 1333 1483 1640 1712 + 7503 1470 1712 1404 1333 + 7504 1569 1640 1333 1716 + 7505 1420 1333 1716 1535 + 7506 1640 1420 1333 1716 + 7507 1569 1716 1333 1535 + 7508 1333 1786 1712 1640 + 7509 1640 1569 1333 1786 + 7510 1470 1569 1786 1333 + 7511 1333 1712 1786 1470 + 7512 1471 1409 1639 1334 + 7513 1717 1334 1409 1481 + 7514 1409 1717 1639 1334 + 7515 1408 1717 1572 1334 + 7516 1481 1572 1717 1334 + 7517 1334 1717 1639 1884 + 7518 1717 1334 1408 1884 + 7519 1471 1334 1884 1408 + 7520 1334 1639 1471 1884 + 7521 1335 1523 1406 1471 + 7522 1335 1406 1523 1568 + 7523 1335 1523 1584 1568 + 7524 1480 1639 1335 1409 + 7525 1639 1471 1523 1335 + 7526 1335 1639 1471 1409 + 7527 1335 1584 1523 1639 + 7528 1584 1480 1639 1335 + 7529 1525 1336 1411 1472 + 7530 1643 1410 1473 1336 + 7531 1336 1411 1643 1525 + 7532 1643 1473 1411 1336 + 7533 1413 1337 1631 1524 + 7534 1524 1719 1472 1337 + 7535 1472 1719 1525 1337 + 7536 1644 1719 1337 1525 + 7537 1524 1631 1719 1337 + 7538 1337 1644 1845 1719 + 7539 1413 1845 1631 1337 + 7540 1719 1631 1845 1337 + 7541 1399 1340 1524 1631 + 7542 1340 1645 1475 1526 + 7543 1340 1708 1645 1526 + 7544 1340 1583 1708 1526 + 7545 1631 1524 1719 1340 + 7546 1340 1524 1719 1583 + 7547 1340 1781 1631 1399 + 7548 1475 1781 1340 1399 + 7549 1645 1781 1340 1475 + 7550 1340 1790 1583 1719 + 7551 1790 1645 1340 1708 + 7552 1790 1340 1583 1708 + 7553 1340 1719 1631 1885 + 7554 1790 1340 1645 1885 + 7555 1340 1790 1719 1885 + 7556 1631 1340 1885 1781 + 7557 1645 1885 1340 1781 + 7558 1415 1544 1477 1341 + 7559 1341 1414 1544 1477 + 7560 1497 1544 1415 1341 + 7561 1341 1414 1478 1647 + 7562 1722 1341 1415 1528 + 7563 1497 1415 1722 1341 + 7564 1722 1478 1341 1528 + 7565 1341 1478 1722 1647 + 7566 1544 1793 1341 1497 + 7567 1647 1341 1414 1793 + 7568 1793 1544 1341 1414 + 7569 1497 1722 1849 1341 + 7570 1849 1341 1722 1647 + 7571 1497 1849 1887 1341 + 7572 1849 1647 1887 1341 + 7573 1647 1887 1341 1793 + 7574 1887 1341 1793 1497 + 7575 1342 1487 1529 1418 + 7576 1342 1479 1635 1567 + 7577 1649 1342 1585 1532 + 7578 1567 1704 1342 1585 + 7579 1649 1342 1704 1585 + 7580 1342 1635 1704 1567 + 7581 1479 1529 1342 1723 + 7582 1723 1342 1479 1635 + 7583 1723 1342 1487 1529 + 7584 1724 1532 1418 1342 + 7585 1342 1487 1724 1649 + 7586 1342 1724 1487 1418 + 7587 1724 1342 1649 1532 + 7588 1723 1797 1342 1635 + 7589 1342 1649 1704 1797 + 7590 1704 1797 1635 1342 + 7591 1797 1723 1342 1487 + 7592 1342 1797 1487 1649 + 7593 1343 1463 1622 1547 + 7594 1402 1463 1622 1343 + 7595 1622 1496 1343 1547 + 7596 1650 1343 1496 1531 + 7597 1711 1402 1622 1343 + 7598 1480 1711 1343 1402 + 7599 1788 1343 1480 1711 + 7600 1343 1788 1480 1531 + 7601 1622 1343 1496 1798 + 7602 1496 1343 1650 1798 + 7603 1798 1711 1622 1343 + 7604 1343 1851 1788 1531 + 7605 1788 1851 1343 1711 + 7606 1650 1851 1343 1531 + 7607 1798 1343 1851 1711 + 7608 1650 1798 1343 1851 + 7609 1409 1344 1531 1642 + 7610 1409 1481 1344 1642 + 7611 1725 1344 1531 1580 + 7612 1725 1531 1344 1642 + 7613 1344 1725 1416 1482 + 7614 1580 1482 1725 1344 + 7615 1344 1799 1725 1642 + 7616 1344 1416 1799 1481 + 7617 1344 1799 1642 1481 + 7618 1344 1416 1725 1799 + 7619 1420 1652 1483 1345 + 7620 1345 1419 1652 1483 + 7621 1346 1533 1562 1778 + 7622 1562 1484 1346 1778 + 7623 1346 1890 1533 1778 + 7624 1484 1417 1346 1890 + 7625 1534 1346 1417 1890 + 7626 1533 1890 1346 1483 + 7627 1346 1890 1534 1483 + 7628 1890 1484 1778 1346 + 7629 1534 1727 1417 1347 + 7630 1347 1571 1801 1417 + 7631 1727 1347 1801 1417 + 7632 1657 1537 1348 1487 + 7633 1487 1348 1657 1732 + 7634 1487 1732 1570 1348 + 7635 1416 1538 1349 1573 + 7636 1805 1573 1349 1538 + 7637 1805 1573 1422 1349 + 7638 1805 1422 1489 1349 + 7639 1805 1489 1538 1349 + 7640 1491 1423 1576 1350 + 7641 1426 1576 1350 1491 + 7642 1423 1489 1576 1350 + 7643 1539 1351 1425 1490 + 7644 1539 1425 1351 1638 + 7645 1638 1539 1469 1351 + 7646 1714 1540 1351 1423 + 7647 1638 1469 1714 1351 + 7648 1714 1351 1425 1638 + 7649 1714 1425 1351 1540 + 7650 1572 1351 1714 1469 + 7651 1572 1714 1351 1423 + 7652 1423 1576 1489 1352 + 7653 1489 1352 1576 1541 + 7654 1661 1423 1352 1576 + 7655 1572 1352 1714 1423 + 7656 1352 1423 1661 1714 + 7657 1733 1576 1352 1541 + 7658 1661 1352 1733 1576 + 7659 1660 1733 1352 1805 + 7660 1538 1489 1805 1352 + 7661 1541 1352 1733 1805 + 7662 1541 1489 1352 1805 + 7663 1660 1352 1538 1805 + 7664 1572 1352 1538 1806 + 7665 1572 1352 1806 1714 + 7666 1733 1806 1352 1661 + 7667 1352 1661 1806 1714 + 7668 1660 1733 1806 1352 + 7669 1538 1806 1352 1660 + 7670 1353 1446 1575 1542 + 7671 1353 1492 1542 1662 + 7672 1353 1426 1662 1575 + 7673 1353 1426 1492 1662 + 7674 1575 1353 1542 1662 + 7675 1574 1491 1427 1354 + 7676 1536 1405 1636 1355 + 7677 1539 1405 1355 1636 + 7678 1539 1355 1807 1636 + 7679 1490 1355 1807 1539 + 7680 1356 1378 1482 1548 + 7681 1461 1608 1356 1573 + 7682 1356 1689 1378 1548 + 7683 1689 1461 1356 1378 + 7684 1461 1689 1356 1608 + 7685 1356 1800 1482 1651 + 7686 1356 1737 1800 1651 + 7687 1737 1608 1356 1800 + 7688 1689 1356 1608 1800 + 7689 1482 1548 1800 1356 + 7690 1689 1800 1548 1356 + 7691 1608 1737 1356 1805 + 7692 1356 1608 1805 1573 + 7693 1356 1416 1889 1482 + 7694 1356 1805 1889 1573 + 7695 1356 1889 1737 1651 + 7696 1482 1356 1651 1889 + 7697 1416 1889 1573 1356 + 7698 1737 1356 1805 1889 + 7699 1385 1682 1442 1357 + 7700 1428 1442 1682 1357 + 7701 1492 1357 1428 1811 + 7702 1428 1682 1811 1357 + 7703 1492 1543 1357 1811 + 7704 1426 1492 1662 1358 + 7705 1664 1358 1543 1427 + 7706 1358 1427 1664 1491 + 7707 1358 1734 1662 1426 + 7708 1358 1664 1734 1491 + 7709 1491 1358 1426 1734 + 7710 1664 1543 1358 1738 + 7711 1664 1358 1812 1738 + 7712 1664 1734 1812 1358 + 7713 1662 1812 1734 1358 + 7714 1492 1662 1358 1862 + 7715 1862 1812 1662 1358 + 7716 1812 1893 1738 1358 + 7717 1893 1543 1738 1358 + 7718 1893 1492 1358 1862 + 7719 1492 1893 1358 1543 + 7720 1862 1893 1812 1358 + 7721 1493 1530 1359 1400 + 7722 1433 1359 1544 1665 + 7723 1544 1359 1493 1665 + 7724 1493 1359 1796 1665 + 7725 1796 1359 1493 1530 + 7726 1493 1360 1530 1400 + 7727 1630 1400 1466 1360 + 7728 1360 1400 1493 1630 + 7729 1429 1780 1466 1360 + 7730 1466 1780 1630 1360 + 7731 1796 1493 1360 1530 + 7732 1360 1796 1530 1429 + 7733 1429 1360 1796 1864 + 7734 1360 1864 1493 1796 + 7735 1493 1864 1360 1630 + 7736 1360 1429 1780 1864 + 7737 1360 1780 1630 1864 + 7738 1668 1548 1361 1432 + 7739 1361 1580 1725 1549 + 7740 1482 1361 1580 1725 + 7741 1651 1725 1361 1482 + 7742 1651 1361 1800 1482 + 7743 1361 1482 1548 1800 + 7744 1361 1548 1668 1800 + 7745 1668 1361 1868 1432 + 7746 1868 1549 1361 1743 + 7747 1868 1361 1668 1743 + 7748 1868 1361 1549 1432 + 7749 1870 1800 1651 1361 + 7750 1361 1725 1870 1549 + 7751 1870 1651 1725 1361 + 7752 1870 1668 1361 1743 + 7753 1870 1361 1549 1743 + 7754 1870 1361 1668 1800 + 7755 1365 1499 1436 1551 + 7756 1671 1550 1365 1499 + 7757 1551 1365 1499 1671 + 7758 1581 1587 1434 1366 + 7759 1551 1366 1671 1593 + 7760 1581 1676 1587 1366 + 7761 1747 1551 1366 1581 + 7762 1747 1366 1593 1676 + 7763 1747 1676 1581 1366 + 7764 1747 1593 1366 1551 + 7765 1366 1748 1593 1676 + 7766 1748 1366 1593 1671 + 7767 1588 1671 1366 1748 + 7768 1437 1367 1505 1594 + 7769 1552 1816 1367 1436 + 7770 1367 1594 1510 1816 + 7771 1367 1510 1436 1816 + 7772 1816 1367 1505 1552 + 7773 1505 1367 1816 1594 + 7774 1589 1368 1444 1554 + 7775 1368 1554 1589 1507 + 7776 1444 1368 1589 1673 + 7777 1589 1368 1435 1673 + 7778 1598 1678 1439 1369 + 7779 1597 1678 1751 1369 + 7780 1369 1598 1678 1751 + 7781 1369 1442 1598 1751 + 7782 1370 1749 1679 1596 + 7783 1370 1679 1752 1596 + 7784 1752 1370 1504 1679 + 7785 1752 1504 1370 1440 + 7786 1370 1440 1596 1752 + 7787 1596 1440 1371 1503 + 7788 1596 1371 1680 1503 + 7789 1371 1553 1680 1503 + 7790 1750 1371 1680 1596 + 7791 1502 1371 1818 1597 + 7792 1553 1371 1818 1441 + 7793 1553 1818 1371 1680 + 7794 1818 1597 1371 1750 + 7795 1818 1371 1680 1750 + 7796 1502 1371 1441 1818 + 7797 1505 1558 1372 1437 + 7798 1684 1506 1372 1443 + 7799 1755 1506 1372 1684 + 7800 1372 1505 1755 1558 + 7801 1372 1755 1684 1558 + 7802 1553 1373 1600 1443 + 7803 1373 1685 1506 1444 + 7804 1600 1818 1373 1553 + 7805 1553 1818 1373 1441 + 7806 1373 1818 1600 1685 + 7807 1506 1373 1873 1685 + 7808 1873 1600 1373 1443 + 7809 1373 1506 1873 1443 + 7810 1873 1685 1373 1600 + 7811 1507 1556 1374 1606 + 7812 1507 1374 1445 1606 + 7813 1688 1446 1374 1605 + 7814 1688 1374 1556 1606 + 7815 1605 1374 1688 1445 + 7816 1688 1445 1374 1606 + 7817 1681 1502 1376 1441 + 7818 1681 1555 1376 1502 + 7819 1757 1681 1555 1376 + 7820 1757 1603 1681 1376 + 7821 1554 1376 1603 1757 + 7822 1438 1556 1582 1377 + 7823 1689 1377 1609 1556 + 7824 1689 1377 1762 1609 + 7825 1689 1377 1448 1762 + 7826 1609 1762 1557 1377 + 7827 1824 1609 1377 1556 + 7828 1609 1557 1824 1377 + 7829 1824 1557 1582 1377 + 7830 1377 1824 1556 1582 + 7831 1689 1448 1378 1548 + 7832 1515 1449 1763 1379 + 7833 1763 1515 1379 1612 + 7834 1691 1449 1379 1763 + 7835 1691 1763 1379 1612 + 7836 1876 1379 1691 1450 + 7837 1876 1379 1516 1612 + 7838 1876 1691 1379 1612 + 7839 1379 1450 1876 1516 + 7840 1516 1380 1586 1460 + 7841 1451 1509 1692 1381 + 7842 1381 1692 1451 1764 + 7843 1508 1381 1451 1764 + 7844 1381 1595 1692 1764 + 7845 1558 1765 1602 1384 + 7846 1385 1442 1682 1598 + 7847 1453 1511 1386 1683 + 7848 1559 1457 1389 1686 + 7849 1559 1389 1512 1686 + 7850 1389 1771 1686 1457 + 7851 1391 1453 1504 1601 + 7852 1679 1391 1504 1601 + 7853 1453 1391 1769 1601 + 7854 1618 1577 1392 1494 + 7855 1514 1577 1392 1618 + 7856 1494 1392 1618 1546 + 7857 1514 1560 1696 1392 + 7858 1514 1392 1696 1618 + 7859 1546 1696 1392 1618 + 7860 1462 1392 1546 1696 + 7861 1462 1560 1392 1696 + 7862 1393 1515 1697 1460 + 7863 1460 1393 1617 1697 + 7864 1463 1521 1620 1394 + 7865 1521 1579 1620 1394 + 7866 1464 1395 1518 1564 + 7867 1395 1625 1464 1519 + 7868 1564 1625 1464 1395 + 7869 1396 1484 1562 1517 + 7870 1626 1484 1396 1517 + 7871 1585 1396 1626 1484 + 7872 1396 1704 1567 1585 + 7873 1396 1623 1522 1704 + 7874 1567 1522 1704 1396 + 7875 1585 1704 1834 1396 + 7876 1834 1396 1623 1464 + 7877 1585 1834 1626 1396 + 7878 1464 1396 1517 1834 + 7879 1626 1517 1396 1834 + 7880 1623 1834 1704 1396 + 7881 1397 1627 1701 1468 + 7882 1627 1835 1397 1701 + 7883 1397 1835 1624 1701 + 7884 1568 1627 1835 1397 + 7885 1465 1519 1397 1835 + 7886 1519 1835 1624 1397 + 7887 1568 1835 1465 1397 + 7888 1398 1475 1527 1629 + 7889 1398 1629 1705 1475 + 7890 1623 1518 1398 1705 + 7891 1706 1398 1630 1565 + 7892 1706 1398 1565 1527 + 7893 1706 1629 1398 1527 + 7894 1780 1398 1466 1630 + 7895 1398 1630 1780 1706 + 7896 1780 1522 1398 1623 + 7897 1780 1522 1466 1398 + 7898 1836 1398 1780 1706 + 7899 1836 1705 1398 1629 + 7900 1623 1836 1705 1398 + 7901 1836 1398 1706 1629 + 7902 1623 1780 1836 1398 + 7903 1527 1707 1781 1399 + 7904 1475 1527 1781 1399 + 7905 1399 1781 1631 1707 + 7906 1401 1632 1467 1561 + 7907 1476 1632 1401 1526 + 7908 1401 1520 1632 1476 + 7909 1632 1561 1401 1708 + 7910 1708 1401 1632 1526 + 7911 1526 1583 1708 1401 + 7912 1583 1708 1401 1561 + 7913 1628 1402 1465 1520 + 7914 1402 1465 1584 1628 + 7915 1402 1463 1700 1622 + 7916 1480 1584 1711 1402 + 7917 1584 1402 1628 1711 + 7918 1520 1628 1402 1783 + 7919 1711 1628 1783 1402 + 7920 1711 1783 1622 1402 + 7921 1402 1783 1622 1700 + 7922 1570 1403 1530 1479 + 7923 1570 1403 1479 1529 + 7924 1712 1404 1533 1468 + 7925 1483 1404 1533 1712 + 7926 1486 1405 1636 1536 + 7927 1405 1486 1636 1713 + 7928 1405 1539 1713 1636 + 7929 1405 1713 1539 1469 + 7930 1784 1569 1407 1486 + 7931 1563 1637 1841 1407 + 7932 1841 1407 1569 1470 + 7933 1784 1841 1637 1407 + 7934 1841 1407 1784 1569 + 7935 1563 1407 1841 1470 + 7936 1408 1717 1641 1572 + 7937 1785 1572 1469 1408 + 7938 1572 1785 1641 1408 + 7939 1637 1785 1469 1408 + 7940 1408 1641 1843 1785 + 7941 1843 1641 1408 1717 + 7942 1637 1884 1785 1408 + 7943 1637 1563 1884 1408 + 7944 1843 1408 1785 1884 + 7945 1884 1717 1843 1408 + 7946 1471 1884 1563 1408 + 7947 1717 1409 1642 1481 + 7948 1409 1531 1788 1642 + 7949 1531 1480 1409 1788 + 7950 1788 1639 1480 1409 + 7951 1717 1409 1639 1788 + 7952 1717 1642 1409 1788 + 7953 1473 1545 1410 1643 + 7954 1411 1579 1473 1718 + 7955 1411 1643 1718 1473 + 7956 1411 1776 1579 1718 + 7957 1718 1643 1411 1789 + 7958 1789 1525 1643 1411 + 7959 1789 1844 1525 1411 + 7960 1411 1844 1583 1776 + 7961 1525 1411 1844 1472 + 7962 1472 1844 1583 1411 + 7963 1411 1718 1789 1844 + 7964 1411 1844 1776 1718 + 7965 1413 1845 1782 1631 + 7966 1565 1414 1647 1478 + 7967 1630 1565 1414 1721 + 7968 1414 1493 1630 1721 + 7969 1414 1647 1721 1565 + 7970 1721 1493 1793 1414 + 7971 1793 1493 1544 1414 + 7972 1414 1793 1721 1647 + 7973 1538 1481 1852 1416 + 7974 1481 1799 1852 1416 + 7975 1889 1799 1416 1852 + 7976 1416 1799 1889 1725 + 7977 1725 1889 1416 1482 + 7978 1416 1889 1538 1573 + 7979 1538 1416 1852 1889 + 7980 1417 1653 1484 1532 + 7981 1727 1801 1653 1417 + 7982 1801 1417 1532 1653 + 7983 1532 1801 1571 1417 + 7984 1417 1890 1653 1727 + 7985 1534 1417 1727 1890 + 7986 1484 1653 1417 1890 + 7987 1854 1571 1488 1418 + 7988 1487 1854 1537 1418 + 7989 1488 1537 1854 1418 + 7990 1724 1418 1532 1854 + 7991 1532 1418 1571 1854 + 7992 1854 1487 1724 1418 + 7993 1483 1652 1534 1419 + 7994 1652 1483 1726 1420 + 7995 1640 1726 1483 1420 + 7996 1420 1726 1652 1856 + 7997 1640 1856 1420 1716 + 7998 1420 1640 1726 1856 + 7999 1486 1730 1535 1421 + 8000 1536 1421 1730 1486 + 8001 1575 1659 1422 1541 + 8002 1422 1575 1688 1659 + 8003 1422 1575 1446 1688 + 8004 1541 1489 1805 1422 + 8005 1805 1688 1422 1608 + 8006 1659 1422 1805 1688 + 8007 1541 1805 1659 1422 + 8008 1573 1608 1805 1422 + 8009 1576 1540 1423 1491 + 8010 1423 1540 1576 1661 + 8011 1714 1661 1540 1423 + 8012 1540 1663 1425 1574 + 8013 1425 1574 1663 1490 + 8014 1807 1663 1490 1425 + 8015 1425 1807 1663 1735 + 8016 1425 1638 1807 1735 + 8017 1539 1807 1425 1638 + 8018 1807 1539 1425 1490 + 8019 1809 1638 1425 1735 + 8020 1425 1809 1540 1714 + 8021 1714 1638 1425 1809 + 8022 1735 1859 1663 1425 + 8023 1809 1425 1540 1859 + 8024 1735 1809 1859 1425 + 8025 1540 1425 1663 1859 + 8026 1491 1426 1576 1734 + 8027 1662 1734 1576 1426 + 8028 1541 1576 1426 1810 + 8029 1575 1426 1662 1810 + 8030 1662 1426 1576 1810 + 8031 1541 1426 1575 1810 + 8032 1427 1808 1664 1491 + 8033 1808 1491 1427 1574 + 8034 1607 1555 1428 1492 + 8035 1428 1614 1811 1682 + 8036 1428 1811 1614 1863 + 8037 1428 1614 1768 1863 + 8038 1428 1863 1768 1893 + 8039 1492 1607 1893 1428 + 8040 1893 1428 1811 1492 + 8041 1863 1428 1811 1893 + 8042 1893 1607 1768 1428 + 8043 1429 1567 1635 1479 + 8044 1567 1429 1635 1522 + 8045 1780 1635 1739 1429 + 8046 1780 1429 1522 1635 + 8047 1780 1466 1522 1429 + 8048 1479 1530 1796 1429 + 8049 1479 1635 1429 1796 + 8050 1739 1796 1429 1635 + 8051 1864 1429 1739 1796 + 8052 1864 1780 1739 1429 + 8053 1578 1430 1495 1666 + 8054 1578 1666 1545 1430 + 8055 1718 1579 1473 1430 + 8056 1473 1718 1430 1545 + 8057 1430 1813 1495 1666 + 8058 1813 1430 1495 1699 + 8059 1430 1545 1865 1666 + 8060 1865 1430 1718 1545 + 8061 1430 1666 1865 1894 + 8062 1813 1894 1430 1699 + 8063 1865 1430 1894 1718 + 8064 1894 1813 1430 1666 + 8065 1579 1718 1894 1430 + 8066 1579 1894 1699 1430 + 8067 1580 1549 1431 1496 + 8068 1547 1431 1619 1741 + 8069 1549 1431 1741 1621 + 8070 1431 1774 1619 1741 + 8071 1741 1431 1774 1621 + 8072 1741 1814 1547 1431 + 8073 1814 1431 1549 1496 + 8074 1549 1814 1741 1431 + 8075 1814 1547 1431 1496 + 8076 1773 1586 1611 1432 + 8077 1432 1773 1586 1560 + 8078 1432 1773 1560 1621 + 8079 1549 1868 1432 1621 + 8080 1621 1868 1432 1773 + 8081 1868 1896 1668 1432 + 8082 1611 1432 1896 1773 + 8083 1773 1432 1896 1868 + 8084 1896 1432 1611 1548 + 8085 1548 1668 1896 1432 + 8086 1433 1544 1497 1793 + 8087 1544 1665 1793 1433 + 8088 1433 1497 1670 1887 + 8089 1433 1497 1887 1793 + 8090 1887 1670 1433 1744 + 8091 1887 1744 1433 1665 + 8092 1887 1433 1793 1665 + 8093 1590 1499 1552 1435 + 8094 1590 1550 1499 1435 + 8095 1435 1590 1550 1672 + 8096 1435 1552 1590 1745 + 8097 1589 1435 1745 1673 + 8098 1435 1672 1589 1745 + 8099 1435 1591 1552 1745 + 8100 1590 1745 1672 1435 + 8101 1673 1435 1745 1591 + 8102 1436 1510 1592 1674 + 8103 1500 1436 1675 1551 + 8104 1552 1746 1436 1499 + 8105 1746 1436 1499 1551 + 8106 1746 1815 1674 1436 + 8107 1436 1815 1674 1592 + 8108 1436 1675 1815 1592 + 8109 1675 1815 1551 1436 + 8110 1436 1815 1551 1746 + 8111 1746 1674 1816 1436 + 8112 1436 1510 1674 1816 + 8113 1746 1436 1816 1552 + 8114 1437 1505 1558 1594 + 8115 1677 1437 1558 1594 + 8116 1556 1438 1582 1507 + 8117 1752 1596 1503 1440 + 8118 1818 1441 1502 1681 + 8119 1751 1598 1682 1442 + 8120 1600 1503 1553 1443 + 8121 1559 1512 1443 1686 + 8122 1559 1443 1753 1686 + 8123 1443 1559 1753 1503 + 8124 1600 1753 1503 1443 + 8125 1684 1820 1443 1512 + 8126 1443 1753 1686 1820 + 8127 1443 1686 1512 1820 + 8128 1820 1873 1443 1753 + 8129 1873 1684 1820 1443 + 8130 1684 1873 1506 1443 + 8131 1873 1753 1600 1443 + 8132 1506 1444 1604 1673 + 8133 1444 1685 1506 1604 + 8134 1554 1444 1687 1603 + 8135 1589 1444 1687 1554 + 8136 1756 1604 1685 1444 + 8137 1444 1821 1756 1604 + 8138 1444 1673 1821 1604 + 8139 1589 1821 1444 1673 + 8140 1444 1589 1687 1821 + 8141 1821 1756 1874 1444 + 8142 1756 1685 1874 1444 + 8143 1444 1685 1874 1603 + 8144 1821 1687 1444 1874 + 8145 1687 1444 1874 1603 + 8146 1445 1507 1589 1554 + 8147 1589 1554 1687 1445 + 8148 1445 1589 1507 1758 + 8149 1445 1606 1758 1507 + 8150 1589 1758 1445 1687 + 8151 1688 1759 1445 1606 + 8152 1605 1688 1759 1445 + 8153 1445 1759 1605 1822 + 8154 1445 1554 1687 1822 + 8155 1445 1605 1554 1822 + 8156 1445 1875 1759 1822 + 8157 1875 1445 1758 1687 + 8158 1606 1445 1875 1759 + 8159 1875 1445 1687 1822 + 8160 1875 1758 1445 1606 + 8161 1575 1542 1446 1605 + 8162 1688 1575 1446 1605 + 8163 1557 1588 1447 1498 + 8164 1590 1550 1447 1671 + 8165 1590 1447 1550 1672 + 8166 1761 1588 1447 1557 + 8167 1590 1447 1761 1671 + 8168 1761 1447 1588 1671 + 8169 1672 1447 1761 1590 + 8170 1447 1761 1557 1582 + 8171 1582 1447 1761 1672 + 8172 1448 1548 1689 1611 + 8173 1689 1762 1448 1611 + 8174 1448 1611 1762 1516 + 8175 1691 1826 1449 1763 + 8176 1557 1450 1588 1498 + 8177 1610 1450 1557 1762 + 8178 1588 1825 1748 1450 + 8179 1691 1748 1825 1450 + 8180 1825 1588 1557 1450 + 8181 1825 1557 1610 1450 + 8182 1876 1450 1691 1825 + 8183 1610 1876 1450 1762 + 8184 1516 1876 1762 1450 + 8185 1876 1450 1825 1610 + 8186 1692 1613 1509 1451 + 8187 1692 1764 1613 1451 + 8188 1510 1452 1828 1766 + 8189 1828 1452 1693 1766 + 8190 1592 1510 1452 1828 + 8191 1683 1504 1453 1601 + 8192 1453 1769 1683 1601 + 8193 1453 1769 1511 1683 + 8194 1830 1615 1454 1511 + 8195 1454 1769 1830 1511 + 8196 1770 1455 1615 1511 + 8197 1457 1752 1683 1599 + 8198 1503 1752 1457 1599 + 8199 1457 1753 1599 1686 + 8200 1686 1559 1457 1753 + 8201 1457 1503 1753 1559 + 8202 1457 1599 1753 1503 + 8203 1457 1599 1771 1686 + 8204 1457 1771 1599 1683 + 8205 1612 1460 1697 1515 + 8206 1698 1460 1586 1514 + 8207 1698 1586 1460 1516 + 8208 1698 1460 1612 1516 + 8209 1617 1460 1697 1772 + 8210 1832 1460 1514 1617 + 8211 1832 1460 1617 1772 + 8212 1698 1514 1832 1460 + 8213 1460 1772 1832 1880 + 8214 1460 1697 1772 1880 + 8215 1460 1697 1880 1612 + 8216 1880 1460 1612 1698 + 8217 1460 1832 1698 1880 + 8218 1689 1608 1461 1556 + 8219 1774 1546 1696 1462 + 8220 1620 1463 1547 1700 + 8221 1521 1620 1700 1463 + 8222 1622 1700 1547 1463 + 8223 1518 1564 1623 1464 + 8224 1464 1517 1624 1702 + 8225 1464 1624 1519 1703 + 8226 1703 1625 1519 1464 + 8227 1464 1702 1624 1777 + 8228 1777 1703 1624 1464 + 8229 1834 1464 1702 1517 + 8230 1834 1702 1464 1777 + 8231 1777 1882 1703 1464 + 8232 1882 1623 1464 1834 + 8233 1882 1464 1777 1834 + 8234 1882 1703 1464 1625 + 8235 1564 1464 1882 1623 + 8236 1882 1464 1564 1625 + 8237 1628 1584 1568 1465 + 8238 1628 1465 1779 1520 + 8239 1465 1779 1519 1835 + 8240 1628 1835 1779 1465 + 8241 1628 1568 1835 1465 + 8242 1521 1467 1839 1561 + 8243 1839 1467 1632 1561 + 8244 1883 1839 1521 1467 + 8245 1521 1467 1700 1883 + 8246 1897 1467 1839 1883 + 8247 1700 1467 1897 1883 + 8248 1897 1467 1632 1839 + 8249 1897 1632 1467 1783 + 8250 1783 1467 1897 1700 + 8251 1701 1468 1533 1562 + 8252 1712 1533 1840 1468 + 8253 1533 1701 1840 1468 + 8254 1840 1627 1712 1468 + 8255 1701 1468 1627 1840 + 8256 1539 1713 1638 1469 + 8257 1785 1469 1713 1637 + 8258 1638 1469 1785 1714 + 8259 1713 1469 1785 1638 + 8260 1714 1572 1469 1785 + 8261 1470 1523 1627 1715 + 8262 1470 1563 1523 1715 + 8263 1712 1786 1470 1627 + 8264 1715 1627 1470 1786 + 8265 1715 1786 1470 1841 + 8266 1841 1569 1786 1470 + 8267 1470 1841 1563 1715 + 8268 1523 1563 1471 1639 + 8269 1471 1563 1884 1639 + 8270 1583 1524 1719 1472 + 8271 1472 1844 1525 1719 + 8272 1719 1844 1583 1472 + 8273 1473 1718 1545 1643 + 8274 1526 1645 1475 1720 + 8275 1720 1475 1526 1791 + 8276 1705 1526 1475 1791 + 8277 1705 1475 1629 1791 + 8278 1720 1629 1475 1791 + 8279 1475 1846 1781 1527 + 8280 1475 1629 1846 1527 + 8281 1475 1645 1781 1846 + 8282 1846 1720 1475 1645 + 8283 1720 1475 1629 1846 + 8284 1705 1476 1564 1526 + 8285 1520 1709 1632 1476 + 8286 1709 1646 1476 1792 + 8287 1476 1792 1837 1709 + 8288 1792 1837 1625 1476 + 8289 1625 1520 1476 1837 + 8290 1520 1837 1709 1476 + 8291 1632 1526 1476 1847 + 8292 1705 1476 1847 1646 + 8293 1847 1476 1705 1526 + 8294 1847 1646 1476 1709 + 8295 1709 1632 1476 1847 + 8296 1882 1476 1792 1625 + 8297 1882 1476 1646 1792 + 8298 1476 1705 1564 1882 + 8299 1705 1882 1476 1646 + 8300 1564 1625 1476 1882 + 8301 1528 1566 1648 1478 + 8302 1648 1566 1707 1478 + 8303 1722 1648 1478 1528 + 8304 1478 1722 1647 1794 + 8305 1478 1648 1722 1794 + 8306 1527 1795 1478 1565 + 8307 1565 1647 1795 1478 + 8308 1648 1707 1886 1478 + 8309 1886 1794 1648 1478 + 8310 1527 1886 1707 1478 + 8311 1886 1647 1794 1478 + 8312 1527 1795 1886 1478 + 8313 1886 1795 1647 1478 + 8314 1570 1479 1723 1529 + 8315 1796 1530 1479 1570 + 8316 1723 1570 1796 1479 + 8317 1479 1723 1635 1796 + 8318 1584 1639 1480 1711 + 8319 1639 1480 1711 1788 + 8320 1717 1642 1799 1481 + 8321 1717 1799 1852 1481 + 8322 1717 1852 1572 1481 + 8323 1481 1538 1852 1572 + 8324 1482 1651 1725 1889 + 8325 1840 1726 1483 1640 + 8326 1483 1840 1533 1726 + 8327 1840 1483 1712 1640 + 8328 1483 1533 1840 1712 + 8329 1890 1652 1534 1483 + 8330 1533 1726 1890 1483 + 8331 1652 1726 1483 1890 + 8332 1778 1517 1562 1484 + 8333 1778 1626 1517 1484 + 8334 1653 1532 1802 1484 + 8335 1532 1484 1585 1802 + 8336 1853 1484 1778 1653 + 8337 1853 1484 1802 1585 + 8338 1802 1653 1484 1853 + 8339 1585 1626 1853 1484 + 8340 1484 1626 1853 1778 + 8341 1484 1653 1890 1778 + 8342 1730 1636 1536 1486 + 8343 1636 1486 1784 1713 + 8344 1569 1535 1486 1784 + 8345 1784 1486 1730 1535 + 8346 1784 1486 1636 1730 + 8347 1723 1487 1570 1529 + 8348 1804 1537 1657 1487 + 8349 1804 1487 1724 1854 + 8350 1804 1537 1487 1854 + 8351 1724 1858 1487 1804 + 8352 1804 1657 1858 1487 + 8353 1858 1570 1487 1732 + 8354 1487 1797 1723 1858 + 8355 1858 1487 1657 1732 + 8356 1487 1723 1570 1858 + 8357 1649 1858 1797 1487 + 8358 1649 1487 1724 1858 + 8359 1540 1576 1734 1491 + 8360 1808 1734 1664 1491 + 8361 1574 1540 1808 1491 + 8362 1734 1808 1540 1491 + 8363 1555 1492 1607 1542 + 8364 1492 1607 1542 1862 + 8365 1492 1542 1662 1862 + 8366 1893 1811 1543 1492 + 8367 1607 1492 1893 1862 + 8368 1721 1493 1665 1793 + 8369 1544 1493 1793 1665 + 8370 1493 1796 1864 1665 + 8371 1864 1665 1721 1493 + 8372 1493 1721 1864 1630 + 8373 1578 1618 1546 1494 + 8374 1495 1618 1546 1578 + 8375 1578 1495 1618 1740 + 8376 1495 1578 1666 1740 + 8377 1495 1666 1813 1740 + 8378 1813 1495 1619 1699 + 8379 1495 1866 1813 1619 + 8380 1495 1813 1866 1740 + 8381 1774 1495 1619 1866 + 8382 1618 1495 1895 1740 + 8383 1495 1618 1895 1546 + 8384 1495 1866 1895 1740 + 8385 1774 1895 1495 1866 + 8386 1895 1495 1546 1774 + 8387 1650 1496 1580 1531 + 8388 1549 1496 1580 1650 + 8389 1798 1496 1742 1650 + 8390 1667 1742 1798 1496 + 8391 1814 1496 1650 1742 + 8392 1667 1742 1496 1814 + 8393 1496 1814 1547 1667 + 8394 1549 1814 1496 1650 + 8395 1496 1547 1867 1667 + 8396 1496 1798 1667 1867 + 8397 1496 1867 1547 1622 + 8398 1496 1622 1798 1867 + 8399 1849 1670 1497 1887 + 8400 1671 1590 1550 1499 + 8401 1551 1499 1746 1671 + 8402 1746 1499 1552 1590 + 8403 1746 1499 1590 1671 + 8404 1747 1500 1675 1551 + 8405 1581 1500 1747 1551 + 8406 1597 1818 1502 1681 + 8407 1503 1553 1680 1600 + 8408 1680 1753 1503 1600 + 8409 1753 1680 1503 1599 + 8410 1752 1599 1503 1819 + 8411 1680 1503 1599 1819 + 8412 1819 1596 1680 1503 + 8413 1819 1752 1596 1503 + 8414 1601 1504 1679 1752 + 8415 1504 1601 1683 1752 + 8416 1558 1754 1594 1505 + 8417 1505 1816 1754 1594 + 8418 1552 1505 1816 1591 + 8419 1591 1871 1755 1505 + 8420 1505 1871 1755 1558 + 8421 1505 1871 1754 1816 + 8422 1505 1591 1871 1816 + 8423 1505 1754 1871 1558 + 8424 1506 1604 1755 1673 + 8425 1755 1604 1506 1684 + 8426 1506 1873 1604 1685 + 8427 1604 1873 1506 1684 + 8428 1556 1606 1507 1582 + 8429 1582 1507 1589 1758 + 8430 1582 1507 1758 1606 + 8431 1510 1767 1592 1674 + 8432 1592 1828 1767 1510 + 8433 1510 1877 1767 1674 + 8434 1510 1766 1877 1594 + 8435 1510 1828 1877 1766 + 8436 1877 1767 1828 1510 + 8437 1877 1594 1816 1510 + 8438 1877 1816 1674 1510 + 8439 1683 1830 1511 1770 + 8440 1511 1769 1830 1683 + 8441 1770 1615 1830 1511 + 8442 1820 1602 1512 1684 + 8443 1773 1586 1560 1514 + 8444 1773 1514 1560 1696 + 8445 1698 1586 1773 1514 + 8446 1698 1832 1514 1773 + 8447 1773 1832 1514 1696 + 8448 1832 1881 1514 1696 + 8449 1617 1514 1832 1881 + 8450 1514 1577 1618 1881 + 8451 1617 1577 1514 1881 + 8452 1696 1514 1618 1881 + 8453 1763 1697 1515 1612 + 8454 1698 1586 1516 1611 + 8455 1611 1516 1698 1833 + 8456 1516 1698 1833 1612 + 8457 1611 1762 1516 1833 + 8458 1762 1516 1833 1876 + 8459 1516 1833 1876 1612 + 8460 1701 1517 1562 1778 + 8461 1626 1702 1778 1517 + 8462 1701 1624 1517 1778 + 8463 1517 1702 1778 1624 + 8464 1834 1702 1626 1517 + 8465 1623 1564 1518 1705 + 8466 1779 1625 1519 1703 + 8467 1703 1624 1519 1835 + 8468 1703 1519 1779 1835 + 8469 1779 1628 1520 1710 + 8470 1628 1520 1710 1783 + 8471 1633 1710 1520 1783 + 8472 1520 1837 1633 1709 + 8473 1837 1710 1779 1520 + 8474 1837 1633 1710 1520 + 8475 1837 1625 1520 1779 + 8476 1838 1520 1632 1783 + 8477 1520 1633 1838 1709 + 8478 1520 1838 1632 1709 + 8479 1838 1520 1783 1633 + 8480 1776 1579 1620 1521 + 8481 1561 1776 1839 1521 + 8482 1620 1776 1521 1883 + 8483 1521 1700 1620 1883 + 8484 1839 1521 1776 1883 + 8485 1567 1635 1704 1522 + 8486 1780 1522 1623 1704 + 8487 1780 1522 1704 1635 + 8488 1523 1563 1639 1715 + 8489 1523 1715 1787 1627 + 8490 1523 1787 1568 1627 + 8491 1584 1568 1523 1787 + 8492 1523 1787 1715 1842 + 8493 1523 1584 1787 1842 + 8494 1842 1523 1639 1715 + 8495 1584 1639 1842 1523 + 8496 1844 1525 1719 1644 + 8497 1844 1789 1525 1644 + 8498 1720 1526 1847 1791 + 8499 1720 1847 1526 1645 + 8500 1708 1645 1526 1847 + 8501 1632 1708 1526 1847 + 8502 1705 1791 1847 1526 + 8503 1795 1527 1629 1706 + 8504 1795 1565 1527 1706 + 8505 1629 1795 1846 1527 + 8506 1846 1781 1527 1707 + 8507 1846 1527 1886 1707 + 8508 1846 1527 1795 1886 + 8509 1650 1580 1725 1531 + 8510 1642 1788 1851 1531 + 8511 1531 1725 1650 1851 + 8512 1725 1851 1531 1642 + 8513 1653 1532 1801 1728 + 8514 1532 1801 1728 1654 + 8515 1724 1802 1654 1532 + 8516 1532 1585 1649 1802 + 8517 1653 1802 1532 1728 + 8518 1532 1728 1802 1654 + 8519 1724 1649 1802 1532 + 8520 1532 1571 1801 1854 + 8521 1532 1654 1724 1854 + 8522 1532 1801 1654 1854 + 8523 1533 1562 1778 1701 + 8524 1533 1778 1840 1701 + 8525 1890 1533 1840 1726 + 8526 1778 1533 1840 1890 + 8527 1534 1803 1890 1727 + 8528 1890 1652 1803 1534 + 8529 1569 1655 1716 1535 + 8530 1569 1655 1535 1784 + 8531 1784 1730 1655 1535 + 8532 1572 1538 1852 1806 + 8533 1538 1852 1806 1660 + 8534 1573 1805 1889 1538 + 8535 1538 1852 1660 1889 + 8536 1660 1889 1805 1538 + 8537 1539 1713 1807 1638 + 8538 1807 1713 1539 1636 + 8539 1540 1574 1808 1663 + 8540 1809 1540 1714 1661 + 8541 1808 1540 1663 1859 + 8542 1859 1808 1540 1892 + 8543 1892 1540 1734 1808 + 8544 1809 1859 1540 1892 + 8545 1576 1892 1540 1734 + 8546 1892 1576 1540 1661 + 8547 1809 1892 1540 1661 + 8548 1733 1805 1659 1541 + 8549 1810 1541 1659 1575 + 8550 1733 1659 1810 1541 + 8551 1576 1541 1733 1810 + 8552 1542 1736 1575 1662 + 8553 1605 1575 1542 1736 + 8554 1757 1607 1542 1555 + 8555 1542 1862 1736 1662 + 8556 1542 1898 1862 1607 + 8557 1898 1607 1542 1757 + 8558 1605 1757 1898 1542 + 8559 1862 1898 1542 1736 + 8560 1605 1898 1736 1542 + 8561 1893 1738 1543 1811 + 8562 1643 1865 1718 1545 + 8563 1546 1774 1696 1895 + 8564 1546 1618 1895 1696 + 8565 1775 1667 1547 1741 + 8566 1547 1619 1775 1741 + 8567 1814 1667 1741 1547 + 8568 1867 1667 1547 1775 + 8569 1620 1547 1867 1700 + 8570 1620 1775 1867 1547 + 8571 1700 1547 1867 1622 + 8572 1869 1689 1548 1611 + 8573 1800 1689 1548 1869 + 8574 1800 1548 1668 1869 + 8575 1668 1869 1548 1896 + 8576 1611 1896 1548 1869 + 8577 1580 1650 1725 1549 + 8578 1814 1549 1743 1650 + 8579 1549 1814 1743 1669 + 8580 1814 1669 1549 1741 + 8581 1549 1741 1868 1621 + 8582 1868 1669 1741 1549 + 8583 1669 1743 1549 1868 + 8584 1650 1870 1725 1549 + 8585 1870 1743 1549 1650 + 8586 1746 1671 1593 1551 + 8587 1593 1815 1551 1747 + 8588 1675 1551 1815 1747 + 8589 1746 1593 1815 1551 + 8590 1816 1872 1746 1552 + 8591 1872 1552 1816 1591 + 8592 1746 1552 1872 1590 + 8593 1745 1591 1552 1872 + 8594 1745 1552 1590 1872 + 8595 1553 1600 1818 1680 + 8596 1554 1687 1822 1603 + 8597 1554 1757 1603 1822 + 8598 1554 1605 1757 1822 + 8599 1757 1681 1607 1555 + 8600 1689 1556 1760 1608 + 8601 1760 1556 1689 1609 + 8602 1823 1760 1556 1608 + 8603 1688 1556 1823 1606 + 8604 1556 1688 1823 1608 + 8605 1760 1556 1606 1823 + 8606 1760 1824 1556 1609 + 8607 1606 1556 1760 1824 + 8608 1556 1824 1606 1582 + 8609 1690 1610 1557 1762 + 8610 1690 1557 1609 1762 + 8611 1761 1557 1824 1690 + 8612 1582 1761 1557 1824 + 8613 1824 1609 1690 1557 + 8614 1557 1761 1588 1825 + 8615 1690 1825 1761 1557 + 8616 1690 1610 1825 1557 + 8617 1558 1677 1594 1754 + 8618 1558 1765 1677 1827 + 8619 1558 1602 1765 1827 + 8620 1684 1602 1558 1827 + 8621 1754 1558 1677 1827 + 8622 1827 1558 1684 1754 + 8623 1871 1558 1754 1684 + 8624 1871 1755 1558 1684 + 8625 1773 1696 1560 1621 + 8626 1583 1708 1561 1634 + 8627 1776 1583 1561 1634 + 8628 1839 1561 1708 1634 + 8629 1839 1776 1561 1634 + 8630 1632 1839 1561 1708 + 8631 1715 1563 1639 1884 + 8632 1715 1841 1563 1884 + 8633 1563 1841 1637 1884 + 8634 1564 1882 1705 1623 + 8635 1647 1565 1848 1721 + 8636 1848 1721 1565 1630 + 8637 1565 1848 1795 1647 + 8638 1706 1630 1848 1565 + 8639 1565 1795 1848 1706 + 8640 1850 1782 1707 1566 + 8641 1850 1648 1566 1707 + 8642 1787 1584 1568 1628 + 8643 1627 1835 1787 1568 + 8644 1787 1628 1568 1835 + 8645 1731 1569 1784 1655 + 8646 1569 1841 1656 1731 + 8647 1841 1784 1731 1569 + 8648 1786 1569 1841 1656 + 8649 1786 1857 1569 1656 + 8650 1857 1655 1569 1731 + 8651 1857 1640 1569 1716 + 8652 1716 1655 1569 1857 + 8653 1569 1656 1857 1731 + 8654 1857 1569 1640 1786 + 8655 1723 1796 1570 1658 + 8656 1732 1570 1658 1858 + 8657 1570 1658 1858 1723 + 8658 1641 1572 1714 1785 + 8659 1641 1714 1572 1806 + 8660 1572 1641 1806 1852 + 8661 1852 1641 1717 1572 + 8662 1659 1575 1688 1759 + 8663 1605 1759 1575 1736 + 8664 1759 1575 1688 1605 + 8665 1810 1575 1736 1662 + 8666 1575 1736 1860 1810 + 8667 1575 1759 1860 1736 + 8668 1810 1860 1575 1659 + 8669 1659 1575 1759 1860 + 8670 1733 1576 1861 1661 + 8671 1861 1576 1662 1734 + 8672 1576 1733 1861 1810 + 8673 1810 1662 1861 1576 + 8674 1576 1661 1892 1861 + 8675 1734 1576 1892 1861 + 8676 1620 1579 1776 1699 + 8677 1894 1579 1776 1718 + 8678 1776 1699 1579 1894 + 8679 1582 1589 1672 1758 + 8680 1761 1582 1672 1824 + 8681 1582 1672 1824 1758 + 8682 1582 1758 1824 1606 + 8683 1634 1583 1708 1790 + 8684 1719 1844 1790 1583 + 8685 1844 1583 1776 1634 + 8686 1634 1844 1583 1790 + 8687 1711 1842 1584 1639 + 8688 1888 1787 1628 1584 + 8689 1888 1842 1787 1584 + 8690 1711 1628 1584 1888 + 8691 1842 1711 1584 1888 + 8692 1585 1649 1802 1729 + 8693 1585 1802 1853 1729 + 8694 1855 1585 1729 1649 + 8695 1855 1704 1585 1649 + 8696 1585 1855 1729 1891 + 8697 1626 1585 1853 1891 + 8698 1891 1729 1585 1853 + 8699 1891 1855 1704 1585 + 8700 1626 1891 1834 1585 + 8701 1891 1704 1834 1585 + 8702 1698 1773 1586 1611 + 8703 1748 1825 1588 1671 + 8704 1825 1761 1588 1671 + 8705 1589 1745 1821 1673 + 8706 1900 1672 1745 1589 + 8707 1758 1900 1589 1672 + 8708 1821 1589 1687 1900 + 8709 1687 1900 1589 1758 + 8710 1589 1745 1900 1821 + 8711 1901 1746 1872 1590 + 8712 1671 1746 1982 1590 + 8713 1901 1982 1746 1590 + 8714 1671 1761 1590 1982 + 8715 1872 1590 1745 2055 + 8716 1590 2055 1761 1672 + 8717 2055 1872 1590 1901 + 8718 2055 1590 1761 1982 + 8719 1590 1901 1982 2055 + 8720 1745 2055 1590 1672 + 8721 1745 1872 1673 1591 + 8722 1902 1591 1816 1871 + 8723 1872 1816 1902 1591 + 8724 1902 1871 1755 1591 + 8725 1902 1673 1872 1591 + 8726 1902 1755 1673 1591 + 8727 1767 1903 1592 1674 + 8728 1815 1675 1903 1592 + 8729 1815 1903 1674 1592 + 8730 1671 1593 1748 1899 + 8731 1676 1906 1748 1593 + 8732 1746 1671 1982 1593 + 8733 1899 1982 1671 1593 + 8734 1593 1987 1815 1747 + 8735 1982 1746 1593 2056 + 8736 2056 1815 1746 1593 + 8737 1987 1815 2056 1593 + 8738 1982 1593 1905 2056 + 8739 1593 2060 1899 1982 + 8740 1905 2060 1593 1982 + 8741 2060 1906 1593 1748 + 8742 1593 1899 2060 1748 + 8743 1676 2125 1906 1593 + 8744 1747 1593 2125 1676 + 8745 2125 1987 1593 1747 + 8746 2125 1906 1593 2060 + 8747 1593 1905 2125 2060 + 8748 1987 1593 2056 2175 + 8749 2175 1593 2125 1987 + 8750 2175 1593 1905 2125 + 8751 2175 1593 2056 1905 + 8752 1594 1766 1907 1677 + 8753 1754 1594 1907 1677 + 8754 1594 1766 1877 1907 + 8755 1754 1594 1816 1986 + 8756 1986 1754 1594 1907 + 8757 1986 1594 1877 1907 + 8758 1816 1594 1877 1986 + 8759 1595 1765 1692 1989 + 8760 1692 1764 1595 1989 + 8761 1989 1766 1595 1677 + 8762 1765 1595 1677 1989 + 8763 1766 1989 1595 2061 + 8764 1764 1595 1989 2061 + 8765 2061 1595 1766 1693 + 8766 2061 1764 1595 1693 + 8767 1680 1750 1596 1819 + 8768 1749 1817 1908 1596 + 8769 1596 1908 1752 1819 + 8770 1749 1596 1908 1679 + 8771 1752 1908 1596 1679 + 8772 1750 1819 1990 1596 + 8773 1596 1990 1750 1817 + 8774 1596 1908 1990 1817 + 8775 1908 1990 1819 1596 + 8776 1678 1751 1829 1597 + 8777 1597 1878 1818 1681 + 8778 1597 1678 1750 1909 + 8779 1597 1829 1678 1909 + 8780 1910 1597 1694 1878 + 8781 1910 1818 1597 1878 + 8782 1750 2063 1597 1909 + 8783 1910 1597 1818 2063 + 8784 1597 1694 1829 2063 + 8785 1829 1597 2063 1909 + 8786 1694 1910 2063 1597 + 8787 2063 1597 1818 1750 + 8788 1819 1683 1752 1599 + 8789 1911 1819 1680 1599 + 8790 1753 1911 1680 1599 + 8791 1686 1771 1992 1599 + 8792 1599 1771 1992 1912 + 8793 1686 1992 1753 1599 + 8794 1992 1753 1599 1911 + 8795 1599 1819 1683 1993 + 8796 1993 1771 1599 1912 + 8797 1771 1993 1599 1683 + 8798 1993 1599 2064 1912 + 8799 2064 1819 1599 1993 + 8800 1819 2064 1599 1911 + 8801 1599 1992 2064 1912 + 8802 1992 1599 2064 1911 + 8803 1818 1910 1680 1600 + 8804 1685 1818 1600 1910 + 8805 1753 1680 1911 1600 + 8806 1873 2065 1685 1600 + 8807 1911 2065 1600 1994 + 8808 1753 1911 2065 1600 + 8809 1685 1600 2065 1910 + 8810 2065 1873 1753 1600 + 8811 1910 2065 1994 1600 + 8812 1911 1600 2126 1994 + 8813 1910 1994 2126 1600 + 8814 1911 1600 1680 2126 + 8815 1680 1600 1910 2126 + 8816 1819 1683 1601 1752 + 8817 1601 1879 1769 1683 + 8818 1601 1819 1752 1908 + 8819 1601 1752 1679 1908 + 8820 1908 1993 1601 1819 + 8821 1683 1993 1819 1601 + 8822 1683 1879 1993 1601 + 8823 1684 1913 1602 1827 + 8824 1820 1684 1913 1602 + 8825 1687 1874 1822 1603 + 8826 1603 1878 1681 1818 + 8827 1603 1757 1681 1898 + 8828 1822 1898 1757 1603 + 8829 1603 1898 1681 1878 + 8830 1603 1915 1898 1878 + 8831 1915 1991 1878 1603 + 8832 1603 1685 1874 1991 + 8833 1603 1991 1878 1818 + 8834 1603 1818 1685 1991 + 8835 1898 1603 1822 2130 + 8836 1874 1822 1603 2130 + 8837 2130 1603 1874 1991 + 8838 2130 1915 1603 1991 + 8839 1898 1915 1603 2130 + 8840 1684 1871 1755 1604 + 8841 1821 1756 1604 1902 + 8842 1673 1902 1821 1604 + 8843 1673 1755 1902 1604 + 8844 1902 1755 1871 1604 + 8845 1914 1604 1873 1685 + 8846 1756 1604 1914 1685 + 8847 1684 1873 1995 1604 + 8848 1995 1914 1604 1873 + 8849 1914 1604 1756 1995 + 8850 1684 1995 2127 1604 + 8851 1995 1604 1756 2127 + 8852 1684 2127 1871 1604 + 8853 1902 1871 2127 1604 + 8854 1902 1756 1604 2127 + 8855 1757 1822 1605 1898 + 8856 1822 1898 1918 1605 + 8857 1759 1605 1822 1918 + 8858 1898 1736 1918 1605 + 8859 1759 1736 1605 1918 + 8860 1823 1606 1759 1688 + 8861 1875 1759 1823 1606 + 8862 1606 1760 1919 1824 + 8863 1919 1760 1606 1823 + 8864 1875 1758 1606 1919 + 8865 1919 1606 1875 1823 + 8866 1919 1824 1758 1606 + 8867 1768 1607 1893 1862 + 8868 1681 1607 1898 1757 + 8869 1607 1681 1898 1878 + 8870 1898 1607 1878 1998 + 8871 1768 1607 1862 1998 + 8872 1878 1768 1998 1607 + 8873 1607 1862 1998 1898 + 8874 1608 1688 1823 1805 + 8875 1823 1805 1737 1608 + 8876 1800 1922 1737 1608 + 8877 1922 1608 1689 1760 + 8878 1800 1689 1922 1608 + 8879 1922 1823 1608 1760 + 8880 1823 1608 1737 1922 + 8881 1999 1609 1689 1762 + 8882 1760 1999 1609 1689 + 8883 1762 1999 1609 1690 + 8884 1760 1824 1609 2072 + 8885 1824 1690 1609 2072 + 8886 2133 1609 1999 1690 + 8887 2133 1609 1760 1999 + 8888 1609 1760 2072 2133 + 8889 1609 2072 1690 2133 + 8890 1923 1610 1762 1876 + 8891 1923 1690 1762 1610 + 8892 1690 2135 1610 1923 + 8893 1876 1610 1825 2135 + 8894 1825 1690 2135 1610 + 8895 1610 2135 1876 1923 + 8896 1773 1896 1611 1698 + 8897 1698 1896 1611 1833 + 8898 1762 1833 1611 1923 + 8899 1689 1999 1762 1611 + 8900 1689 1869 1999 1611 + 8901 1923 1611 1762 1999 + 8902 1999 1611 1869 2179 + 8903 2179 1896 1611 1869 + 8904 2179 1833 1611 1896 + 8905 1999 1923 1611 2179 + 8906 1833 2179 1611 1923 + 8907 1612 1698 1833 1880 + 8908 1924 1612 1833 1880 + 8909 1691 1924 1612 1876 + 8910 1612 1833 1876 1924 + 8911 1924 1612 1880 2002 + 8912 1697 2002 1880 1612 + 8913 1697 1763 2002 1612 + 8914 1612 1924 1691 2074 + 8915 1612 1763 2002 2074 + 8916 1691 2074 1763 1612 + 8917 2074 1612 1924 2002 + 8918 1831 1764 1613 1692 + 8919 1927 1694 1614 1768 + 8920 1694 1927 1614 1829 + 8921 1927 1614 1863 1768 + 8922 1771 1616 1912 1993 + 8923 1993 1771 1616 1879 + 8924 1772 1832 1881 1617 + 8925 1929 1895 1618 1696 + 8926 1929 1740 1618 1895 + 8927 1929 1618 1881 1696 + 8928 1866 1619 1774 1930 + 8929 1930 1619 1774 1741 + 8930 1619 1866 1813 1933 + 8931 1619 1699 1933 1813 + 8932 1619 1933 1699 1775 + 8933 2008 1619 1775 1933 + 8934 1619 1741 2008 1775 + 8935 2079 1866 1619 1933 + 8936 2079 1619 1866 1930 + 8937 2008 1741 1619 2079 + 8938 2079 1741 1619 1930 + 8939 2008 2079 1619 1933 + 8940 1883 1620 1775 1867 + 8941 1775 1699 1620 1883 + 8942 1883 1620 1776 1699 + 8943 1620 1867 1883 1700 + 8944 1621 1930 1696 1774 + 8945 1741 1774 1930 1621 + 8946 1621 1930 2006 1696 + 8947 1621 2006 1773 1696 + 8948 1621 2006 1868 1773 + 8949 1741 2138 1621 1930 + 8950 1621 2138 2006 1930 + 8951 1621 1868 2138 1741 + 8952 1868 2006 1621 2138 + 8953 1622 1798 1936 1711 + 8954 1936 1783 1622 1711 + 8955 2011 1936 1783 1622 + 8956 1622 2011 1798 1867 + 8957 1783 2011 1622 1700 + 8958 1936 1622 2011 1798 + 8959 2011 1700 1867 1622 + 8960 1623 1780 1704 1937 + 8961 1623 1704 1834 1937 + 8962 1937 1623 1780 1836 + 8963 1705 1938 1623 1882 + 8964 1938 1623 1882 1834 + 8965 1834 1623 1937 2012 + 8966 1836 1623 1705 2012 + 8967 1623 1938 1705 2012 + 8968 1937 2012 1623 1836 + 8969 1834 1938 1623 2012 + 8970 1624 1778 1701 1939 + 8971 1939 1624 1835 1701 + 8972 1624 1835 1703 2013 + 8973 1624 2013 1703 1777 + 8974 1624 1939 1835 2013 + 8975 1939 2082 1624 1778 + 8976 2082 1778 1702 1624 + 8977 1624 2013 1777 2082 + 8978 1624 1777 1702 2082 + 8979 1939 2082 2013 1624 + 8980 1625 1792 1703 1837 + 8981 1779 1625 1703 1837 + 8982 1882 1792 1703 1625 + 8983 1702 1853 1626 1778 + 8984 1702 1834 1626 1891 + 8985 1702 1626 1853 1891 + 8986 1939 1840 1701 1627 + 8987 1627 1939 1835 1701 + 8988 1840 1627 2088 1712 + 8989 1786 2088 1627 1712 + 8990 1939 2088 1840 1627 + 8991 1715 1627 1786 2088 + 8992 1715 1787 1627 2088 + 8993 2088 1787 1627 2141 + 8994 1939 2141 2088 1627 + 8995 1939 1835 2141 1627 + 8996 1835 1627 1787 2141 + 8997 1710 1835 1779 1628 + 8998 1783 1710 1628 1888 + 8999 1711 1628 1888 1783 + 9000 1628 1943 1787 1888 + 9001 1943 1628 1710 1888 + 9002 1710 1943 1835 1628 + 9003 1943 1835 1628 1787 + 9004 1791 1705 1836 1629 + 9005 1720 1629 1795 1846 + 9006 1629 1706 1944 1795 + 9007 1629 1706 1836 1944 + 9008 1795 1944 1629 1720 + 9009 1720 1629 1791 1944 + 9010 1791 1836 1944 1629 + 9011 1864 1630 1721 2018 + 9012 1630 1780 2018 1864 + 9013 1706 2018 1848 1630 + 9014 1848 2018 1721 1630 + 9015 1706 1780 2018 1630 + 9016 1631 1845 1782 1885 + 9017 1631 1719 1845 1885 + 9018 1707 1781 1631 1885 + 9019 1707 1631 1782 1885 + 9020 1838 1632 1897 1783 + 9021 1708 1946 1847 1632 + 9022 1632 1847 1709 1946 + 9023 1838 2021 1632 1709 + 9024 1839 2021 1708 1632 + 9025 1709 1632 1946 2021 + 9026 1708 1632 2021 1946 + 9027 1897 1632 2021 1839 + 9028 2021 1838 1632 1897 + 9029 1783 1633 1710 1888 + 9030 1936 1888 1633 1783 + 9031 1838 1783 1936 1633 + 9032 1709 1838 1947 1633 + 9033 1709 1633 2024 1837 + 9034 1709 1947 2024 1633 + 9035 1633 2025 1888 1936 + 9036 2084 2024 1633 1837 + 9037 1633 1710 2084 1837 + 9038 2025 2093 1633 1888 + 9039 2093 1710 1633 1888 + 9040 1633 2144 2084 1710 + 9041 2093 2144 2024 1633 + 9042 2084 2024 2144 1633 + 9043 1633 2093 2144 1710 + 9044 2025 2093 2145 1633 + 9045 2145 1633 1947 1838 + 9046 1633 2024 2093 2145 + 9047 2145 1633 2024 1947 + 9048 2025 2145 1936 1633 + 9049 1838 1633 1936 2145 + 9050 1934 1776 1839 1634 + 9051 2010 1844 1776 1634 + 9052 2010 1776 1934 1634 + 9053 1634 1708 1839 2091 + 9054 2091 1708 1790 1634 + 9055 1634 1839 1934 2091 + 9056 1790 2147 2091 1634 + 9057 1634 2147 2010 1844 + 9058 1634 2147 2091 1934 + 9059 1634 1790 2147 1844 + 9060 1634 2010 2147 1934 + 9061 1723 1951 1635 1796 + 9062 1739 1951 1796 1635 + 9063 1723 1951 1797 1635 + 9064 1704 1635 1797 2015 + 9065 2015 1635 1951 1739 + 9066 1635 1951 1797 2015 + 9067 1739 1780 2015 1635 + 9068 1704 1780 1635 2015 + 9069 1784 1953 1636 1713 + 9070 1784 1636 1953 1730 + 9071 1713 1636 1807 2026 + 9072 1953 1636 1713 2026 + 9073 1884 1637 1785 1954 + 9074 1884 1841 1637 1954 + 9075 1637 2095 1785 1954 + 9076 1713 2095 1785 1637 + 9077 1637 1841 2095 1954 + 9078 1713 1784 2095 1637 + 9079 1784 1637 1841 2095 + 9080 1809 1955 1714 1638 + 9081 1714 1785 1638 1955 + 9082 1638 1956 2026 1735 + 9083 2026 1735 1807 1638 + 9084 1713 1807 1638 2026 + 9085 1638 1785 2028 1955 + 9086 2095 1713 1638 2026 + 9087 1638 1785 1713 2095 + 9088 1638 1735 1809 2096 + 9089 1638 1956 1735 2096 + 9090 1809 2096 1955 1638 + 9091 2028 1955 2096 1638 + 9092 2148 1638 2028 2096 + 9093 2148 1638 2096 1956 + 9094 1638 2148 2028 1785 + 9095 1638 2095 2148 1785 + 9096 1956 2026 2183 1638 + 9097 2148 2183 1638 1956 + 9098 2095 1638 2148 2183 + 9099 2095 2026 1638 2183 + 9100 1715 1639 1842 1884 + 9101 1639 1711 1950 1788 + 9102 1639 1950 1711 1842 + 9103 1950 1639 1788 2030 + 9104 1717 2030 1639 1884 + 9105 1639 2030 1842 1884 + 9106 1639 2030 1950 1842 + 9107 1717 1788 1639 2030 + 9108 1857 1640 1952 1786 + 9109 1786 1640 1952 1712 + 9110 1640 1856 1957 1726 + 9111 1952 1640 2016 1712 + 9112 1840 2016 1640 1712 + 9113 1957 1640 1726 2016 + 9114 1840 1640 2016 1726 + 9115 2098 1856 1640 1716 + 9116 2098 1856 1957 1640 + 9117 1857 2098 1640 1716 + 9118 1952 1640 2098 2016 + 9119 1640 1857 1952 2098 + 9120 1957 2098 1640 2016 + 9121 1955 1641 1714 1785 + 9122 1641 1955 1714 1806 + 9123 1641 1852 1717 1959 + 9124 1641 1717 1843 1959 + 9125 1959 1852 1806 1641 + 9126 1955 2028 1641 1785 + 9127 1641 1843 1785 2028 + 9128 1641 2100 2028 1955 + 9129 1641 1955 1806 2100 + 9130 2100 1641 1959 1806 + 9131 1641 2100 1843 2028 + 9132 1843 2100 1641 1959 + 9133 1851 1725 1961 1642 + 9134 1961 1725 1799 1642 + 9135 1642 1799 1961 2099 + 9136 2099 1961 1642 1851 + 9137 2099 1642 1788 1851 + 9138 1717 2099 1799 1642 + 9139 1717 1788 2099 1642 + 9140 1718 1865 1643 1789 + 9141 1963 1644 1844 1719 + 9142 1644 1963 1845 1719 + 9143 1789 2101 1644 1844 + 9144 1963 1644 2101 1844 + 9145 1790 2022 1645 1708 + 9146 1708 1645 1847 2022 + 9147 2022 1847 1720 1645 + 9148 1645 2090 1885 1781 + 9149 2090 1846 1781 1645 + 9150 2090 1720 1846 1645 + 9151 2090 2022 1720 1645 + 9152 1885 1790 2187 1645 + 9153 1885 2187 2090 1645 + 9154 2090 1645 2187 2022 + 9155 2187 2022 1645 1790 + 9156 1705 1847 1791 1646 + 9157 1646 1705 1882 1938 + 9158 1847 1948 1646 1709 + 9159 1646 2083 2033 1938 + 9160 1646 1938 1882 2083 + 9161 2083 1646 1792 1882 + 9162 1646 2087 1705 1938 + 9163 1791 1705 1646 2087 + 9164 1646 2033 2087 1938 + 9165 2143 1948 1709 1646 + 9166 1646 2033 2083 2143 + 9167 2143 1709 1792 1646 + 9168 2083 1792 1646 2143 + 9169 1948 2189 1847 1646 + 9170 1791 1646 2189 2087 + 9171 1847 2189 1791 1646 + 9172 2209 1646 1948 2143 + 9173 1646 2033 2143 2209 + 9174 2209 2087 2189 1646 + 9175 1948 2189 1646 2209 + 9176 2209 2033 2087 1646 + 9177 1849 1722 1794 1647 + 9178 1887 1721 1793 1647 + 9179 1647 1848 1965 1721 + 9180 1794 1886 2032 1647 + 9181 1967 1794 2032 1647 + 9182 2032 1886 1795 1647 + 9183 1721 1965 1647 2034 + 9184 1887 2034 1647 1849 + 9185 1721 1647 1887 2034 + 9186 1647 2104 2034 1965 + 9187 2155 2104 1647 1967 + 9188 1794 2155 1849 1647 + 9189 2155 1647 1794 1967 + 9190 2155 2104 2034 1647 + 9191 1849 2155 2034 1647 + 9192 1967 2032 2192 1647 + 9193 2192 1647 2104 1967 + 9194 2032 1795 2192 1647 + 9195 1647 2192 1965 1848 + 9196 2104 1647 2192 1965 + 9197 1647 1795 2192 1848 + 9198 1886 1648 1850 1707 + 9199 1886 2105 1850 1648 + 9200 2105 1648 1886 1794 + 9201 1797 1649 1704 1855 + 9202 1649 1855 1968 1729 + 9203 1649 1855 1797 1968 + 9204 1649 1729 2036 1802 + 9205 1649 2036 1724 1802 + 9206 1649 1968 2036 1729 + 9207 1858 1649 1797 2108 + 9208 1724 2036 1649 2108 + 9209 1968 1649 2108 1797 + 9210 1968 2036 2108 1649 + 9211 1649 1724 2108 1858 + 9212 1650 1870 1961 1725 + 9213 1961 1650 1725 1851 + 9214 2037 1798 1650 1851 + 9215 1798 1742 2037 1650 + 9216 2037 1851 1650 1961 + 9217 2037 1650 2109 1961 + 9218 1743 1650 1870 2109 + 9219 1650 1961 1870 2109 + 9220 1743 1814 1650 2109 + 9221 2109 2037 1742 1650 + 9222 1814 1650 2109 1742 + 9223 1725 1799 1889 1651 + 9224 1725 1961 1799 1651 + 9225 1725 1870 1961 1651 + 9226 1651 1800 1970 1737 + 9227 1870 1651 1800 1970 + 9228 1889 1737 1651 2038 + 9229 2038 1889 1799 1651 + 9230 1651 1970 2111 1737 + 9231 2111 1651 1737 2038 + 9232 1870 2111 1651 1970 + 9233 2111 1651 1799 1961 + 9234 2111 1870 1651 1961 + 9235 2038 1799 2111 1651 + 9236 1652 1726 1803 1856 + 9237 1652 1803 1726 1890 + 9238 1942 1890 1653 1778 + 9239 1890 2039 1653 1727 + 9240 1942 2039 1653 1890 + 9241 1942 1653 2086 1778 + 9242 2086 1802 1653 1728 + 9243 2086 1653 1802 1853 + 9244 1853 1778 2086 1653 + 9245 1801 2161 1653 1728 + 9246 1653 2161 1727 2039 + 9247 1801 2161 1727 1653 + 9248 2086 1653 2161 1728 + 9249 2086 2161 1653 1942 + 9250 2039 1942 1653 2161 + 9251 1804 1654 1854 1724 + 9252 1969 1654 1804 1724 + 9253 1802 2036 1724 1654 + 9254 1969 1724 2036 1654 + 9255 1654 1969 2163 2036 + 9256 1654 2163 1802 2036 + 9257 2163 1802 1728 1654 + 9258 1655 1953 1730 1784 + 9259 1958 1655 1716 1857 + 9260 1857 1958 1655 1731 + 9261 1784 2027 1655 1953 + 9262 1784 1655 2027 1731 + 9263 2027 1655 1958 1731 + 9264 1952 1786 1656 1857 + 9265 1841 1656 1731 2029 + 9266 1841 1786 1656 2029 + 9267 2041 1857 1952 1656 + 9268 1786 1952 1656 2088 + 9269 2029 1786 1656 2088 + 9270 1731 2114 1656 1857 + 9271 2041 2114 1857 1656 + 9272 2029 1656 2184 2088 + 9273 1656 2041 2184 1952 + 9274 1656 2184 2088 1952 + 9275 2212 2114 1656 1731 + 9276 2041 2212 2114 1656 + 9277 2184 1656 2212 2041 + 9278 2212 1731 1656 2029 + 9279 1656 2184 2212 2029 + 9280 1657 1972 1858 1732 + 9281 1657 1972 2042 1858 + 9282 1804 1657 2042 1858 + 9283 1723 1951 1796 1658 + 9284 1858 1658 1951 1723 + 9285 1732 1658 2043 1858 + 9286 1658 2107 1951 1796 + 9287 2165 1858 1658 1951 + 9288 1858 1658 2043 2165 + 9289 2165 1658 2107 1951 + 9290 1823 1659 1805 1688 + 9291 1659 1688 1823 1759 + 9292 1805 1659 1921 1733 + 9293 1659 1759 1921 1860 + 9294 1921 1823 1759 1659 + 9295 1921 1805 1823 1659 + 9296 1659 1810 1860 2044 + 9297 1810 1659 1733 2044 + 9298 1921 1733 1659 2044 + 9299 1659 1860 1921 2044 + 9300 1660 1805 1889 1737 + 9301 1660 1921 1805 1737 + 9302 1805 1921 1660 1733 + 9303 1852 1660 1959 1806 + 9304 1660 1889 1852 2038 + 9305 1660 1889 2038 1737 + 9306 2038 1660 1959 1852 + 9307 2116 1660 1806 1959 + 9308 1806 1733 1660 2116 + 9309 1921 2116 1660 1733 + 9310 1660 1737 2038 2167 + 9311 2116 2167 1660 1959 + 9312 1921 2167 1660 2116 + 9313 1737 1660 1921 2167 + 9314 1959 1660 2038 2167 + 9315 1714 1955 1661 1806 + 9316 1809 1714 1955 1661 + 9317 1892 1661 1973 1861 + 9318 1733 1861 1973 1661 + 9319 1733 1661 1973 1806 + 9320 1892 1661 1809 2045 + 9321 1806 2045 1661 1973 + 9322 1892 1973 1661 2045 + 9323 1955 2045 1661 1806 + 9324 1955 2045 1809 1661 + 9325 1974 1812 1734 1662 + 9326 1974 1861 1662 1734 + 9327 1861 1974 1662 2117 + 9328 1862 1662 2117 1736 + 9329 1862 2117 1662 1812 + 9330 2117 1974 1662 1812 + 9331 1810 1736 2117 1662 + 9332 1861 2117 1662 1810 + 9333 2046 1734 1664 1808 + 9334 1812 1734 1664 2118 + 9335 2118 1734 1664 2046 + 9336 1812 1664 1738 2118 + 9337 1721 1887 1793 1665 + 9338 1665 2035 1887 1744 + 9339 1721 2035 1887 1665 + 9340 1665 2107 1796 1864 + 9341 2191 1665 1864 2107 + 9342 2035 1665 1721 2191 + 9343 2107 1665 2035 2191 + 9344 2191 1665 1721 1864 + 9345 1666 1977 1813 1740 + 9346 2050 1666 1977 1813 + 9347 1894 2050 1813 1666 + 9348 2050 1865 1666 1894 + 9349 1867 1935 1667 1775 + 9350 1867 1798 1667 1935 + 9351 1667 1742 1935 1798 + 9352 1775 1935 1667 2008 + 9353 2008 1775 1741 1667 + 9354 2008 1741 2205 1667 + 9355 1935 2205 1667 2008 + 9356 1667 1742 1814 2205 + 9357 1667 1741 2205 1814 + 9358 2205 1667 1742 1935 + 9359 1870 1668 1970 1800 + 9360 1668 1743 2053 1868 + 9361 1668 1870 2053 1743 + 9362 1668 1870 1970 2053 + 9363 2070 1668 1869 1800 + 9364 1970 1800 1668 2070 + 9365 1868 2122 1668 1896 + 9366 2053 1668 1868 2122 + 9367 2070 2179 1869 1668 + 9368 1668 1896 2122 2179 + 9369 1668 1869 1896 2179 + 9370 2122 2053 1668 2215 + 9371 2070 2215 2179 1668 + 9372 2215 2122 2179 1668 + 9373 1970 2070 1668 2215 + 9374 1970 1668 2053 2215 + 9375 2053 1743 1669 1868 + 9376 1669 1743 2053 2109 + 9377 1669 1814 1743 2109 + 9378 2123 1669 2054 1981 + 9379 1741 1979 1669 2138 + 9380 1669 2138 1868 1741 + 9381 2173 1741 1979 1669 + 9382 2054 1669 2173 1979 + 9383 1980 2174 2109 1669 + 9384 1980 2123 2174 1669 + 9385 1981 2053 2174 1669 + 9386 1669 2053 2174 2109 + 9387 2123 2174 1669 1981 + 9388 2205 1980 2109 1669 + 9389 1669 2173 2205 2054 + 9390 1741 1669 2173 2205 + 9391 2054 1669 2123 2205 + 9392 1814 2205 1669 1741 + 9393 2205 2123 1980 1669 + 9394 2109 1669 1814 2205 + 9395 1669 1979 2054 2206 + 9396 2054 1981 1669 2206 + 9397 2206 1669 1979 2138 + 9398 1669 2138 2206 1868 + 9399 1669 2206 1981 2053 + 9400 2053 1669 2206 1868 + 9401 1670 1849 2106 1887 + 9402 2106 1670 1887 2156 + 9403 1744 1670 2156 1887 + 9404 1671 1748 1825 1899 + 9405 1825 1899 1761 1671 + 9406 1671 1899 1761 1982 + 9407 1761 1672 1983 1824 + 9408 1758 1983 1900 1672 + 9409 1983 1758 1824 1672 + 9410 2055 1983 1761 1672 + 9411 2055 1983 1672 1900 + 9412 1745 1900 2055 1672 + 9413 1872 1821 1745 1673 + 9414 1872 1902 1821 1673 + 9415 1816 1904 1674 1984 + 9416 1984 1674 1816 1746 + 9417 1816 1674 1904 1986 + 9418 1877 1674 1816 1986 + 9419 1984 2056 1674 1746 + 9420 2056 1674 1903 1985 + 9421 1674 2056 1904 1985 + 9422 1815 1674 1903 2056 + 9423 2056 1674 1904 1984 + 9424 2056 1746 1815 1674 + 9425 1767 1674 1877 2057 + 9426 1986 1877 1674 2057 + 9427 1986 1674 1904 2057 + 9428 1903 1767 2058 1674 + 9429 1903 2058 1985 1674 + 9430 2124 2057 1904 1674 + 9431 1985 1904 1674 2124 + 9432 2124 1767 2057 1674 + 9433 2058 1674 1767 2124 + 9434 1985 1674 2058 2124 + 9435 1987 1675 1815 1747 + 9436 1675 1903 1987 1815 + 9437 1748 1826 1906 1676 + 9438 1989 1907 1766 1677 + 9439 1754 1677 2062 1827 + 9440 1989 1677 1765 2062 + 9441 1754 1907 2062 1677 + 9442 1765 2062 1677 1827 + 9443 2062 1989 1677 1907 + 9444 1678 1909 1817 1750 + 9445 1910 1818 1680 2063 + 9446 2063 1818 1680 1750 + 9447 1680 2126 1750 1819 + 9448 1680 1911 2126 1819 + 9449 1910 2063 1680 2126 + 9450 1750 2126 1680 2063 + 9451 1769 1879 1830 1683 + 9452 1683 1879 1830 1770 + 9453 1771 1879 1993 1683 + 9454 1913 1873 1684 1820 + 9455 1684 1995 1873 1913 + 9456 1995 1913 1684 2127 + 9457 2177 2127 1871 1684 + 9458 1684 1913 2177 2127 + 9459 1827 1684 2177 1754 + 9460 2177 1913 1684 1827 + 9461 2177 1871 1754 1684 + 9462 1991 1685 1910 1818 + 9463 1685 1873 1914 2065 + 9464 1874 2066 1685 1756 + 9465 1756 1914 2066 1685 + 9466 2066 1874 1685 1991 + 9467 1914 2129 2066 1685 + 9468 2129 1685 1910 1991 + 9469 1914 2129 1685 2065 + 9470 2066 1685 2129 1991 + 9471 2065 2129 1685 1910 + 9472 1753 1992 1686 1820 + 9473 1874 1822 2068 1687 + 9474 1687 1900 1758 2068 + 9475 1687 2068 1875 1822 + 9476 1874 2068 1821 1687 + 9477 1821 1687 2068 1900 + 9478 1687 1758 1875 2068 + 9479 1760 1922 1999 1689 + 9480 2070 1922 1689 1999 + 9481 1922 2070 1689 1800 + 9482 1689 2070 1869 1800 + 9483 2070 1689 1869 1999 + 9484 1825 1899 1690 1761 + 9485 1762 1923 1999 1690 + 9486 1690 1761 1899 2072 + 9487 1899 1690 2072 2001 + 9488 1761 1824 2072 1690 + 9489 2072 2001 1690 2133 + 9490 2073 1690 2001 2133 + 9491 1690 2135 2001 1899 + 9492 1899 2135 1825 1690 + 9493 2073 2135 1690 1923 + 9494 2073 1690 2135 2001 + 9495 1999 2179 1690 1923 + 9496 2073 1923 1690 2179 + 9497 2073 1690 2133 2179 + 9498 2133 1999 2179 1690 + 9499 1748 1826 1691 1906 + 9500 1825 1691 1876 1924 + 9501 1906 1691 1748 1988 + 9502 1988 1691 1748 1825 + 9503 1825 1988 1691 1924 + 9504 1906 2074 1691 1988 + 9505 2074 1691 1826 1906 + 9506 2074 1763 1826 1691 + 9507 1924 1691 2074 1988 + 9508 1831 1692 1765 1989 + 9509 1692 1831 1764 1989 + 9510 1693 1828 1766 2061 + 9511 1694 1927 1829 2004 + 9512 1694 1829 2063 2004 + 9513 1927 2004 1694 2136 + 9514 2063 1694 2004 2136 + 9515 1910 2136 1694 2063 + 9516 1910 1694 2136 1878 + 9517 1927 2136 1694 1768 + 9518 1878 1768 1694 2136 + 9519 1696 1774 1930 1895 + 9520 1696 2006 1773 1832 + 9521 1696 1930 2006 2077 + 9522 1895 2077 1696 1929 + 9523 1696 1832 1881 2077 + 9524 1881 1696 2077 1929 + 9525 1895 1930 1696 2077 + 9526 1832 2077 1696 2006 + 9527 2002 1772 1697 1880 + 9528 1832 1880 2006 1698 + 9529 2006 1698 1773 1832 + 9530 1773 2006 1896 1698 + 9531 2208 1698 2006 1880 + 9532 1698 2208 1896 1833 + 9533 1698 2208 1833 1880 + 9534 2006 2208 1896 1698 + 9535 1883 1776 1934 1699 + 9536 1776 1934 1699 1894 + 9537 1699 1934 2009 1894 + 9538 1933 2009 1699 1775 + 9539 2009 1699 1775 1883 + 9540 1934 1699 2009 1883 + 9541 2080 1933 1699 1813 + 9542 1894 2080 1699 1813 + 9543 2080 1699 2009 1894 + 9544 1699 2009 1933 2080 + 9545 2011 1883 1867 1700 + 9546 2011 1897 1883 1700 + 9547 2011 1897 1700 1783 + 9548 1840 1701 1778 1939 + 9549 1702 1777 1834 1891 + 9550 1777 1702 1940 1891 + 9551 1702 1853 1940 1891 + 9552 1940 2082 1853 1702 + 9553 1702 2082 1853 1778 + 9554 2082 1777 1702 1940 + 9555 1777 1703 2083 2013 + 9556 1703 1792 1882 2083 + 9557 1703 1882 1777 2083 + 9558 2083 1703 1792 2013 + 9559 1792 1703 1837 2084 + 9560 1779 1837 1703 2084 + 9561 1779 1703 1835 2084 + 9562 2013 2084 1703 1792 + 9563 2084 1703 1835 2013 + 9564 1855 1891 1704 1937 + 9565 1891 1834 1704 1937 + 9566 1704 1797 1855 2015 + 9567 1704 1937 1780 2015 + 9568 1937 1855 2015 1704 + 9569 2012 1836 2087 1705 + 9570 2012 2087 1938 1705 + 9571 2087 1705 1836 1791 + 9572 1836 1706 1780 2018 + 9573 1836 1944 1706 2089 + 9574 1795 2089 1848 1706 + 9575 2089 1706 1836 2018 + 9576 2089 1706 1795 1944 + 9577 2089 1848 1706 2018 + 9578 1886 1707 1850 1945 + 9579 1945 1886 1707 1846 + 9580 1707 1850 1945 2020 + 9581 1707 1850 2020 1782 + 9582 1707 2020 1885 1782 + 9583 2090 2020 1885 1707 + 9584 1707 1945 2090 2020 + 9585 1945 1707 2090 1846 + 9586 1885 1707 1781 2090 + 9587 1846 1781 1707 2090 + 9588 1708 1847 1946 2022 + 9589 2022 1946 1708 2091 + 9590 2021 2091 1708 1946 + 9591 1790 2091 2022 1708 + 9592 1839 1708 2021 2091 + 9593 1838 1947 2023 1709 + 9594 2024 1709 1792 1947 + 9595 1709 2024 1792 1837 + 9596 2092 1709 1847 1946 + 9597 2092 2021 1838 1709 + 9598 1948 1847 2092 1709 + 9599 1709 1946 2092 2021 + 9600 2023 1709 2092 1838 + 9601 1709 2092 1948 2023 + 9602 1709 1947 2023 2143 + 9603 1709 1948 2143 2023 + 9604 1709 1792 1947 2143 + 9605 2084 1710 1779 1837 + 9606 1835 1710 2084 1943 + 9607 2084 1835 1779 1710 + 9608 2093 1943 1710 1888 + 9609 2084 1943 1710 2144 + 9610 2093 1710 1943 2144 + 9611 1936 1711 1888 1783 + 9612 1950 1888 1711 1842 + 9613 1950 1711 1798 1851 + 9614 1950 1788 1711 1851 + 9615 2025 1936 1798 1711 + 9616 1711 1888 2025 1936 + 9617 1711 2025 1888 1950 + 9618 2025 1798 1950 1711 + 9619 1712 2088 1840 2016 + 9620 1712 1952 2088 2016 + 9621 1712 1952 1786 2088 + 9622 2095 1953 1784 1713 + 9623 2095 1953 1713 2026 + 9624 1715 2029 1786 1841 + 9625 1787 1842 2029 1715 + 9626 1715 2029 1841 1884 + 9627 2029 1842 1884 1715 + 9628 1787 1715 2029 2088 + 9629 2029 1715 1786 2088 + 9630 1958 1716 2098 1857 + 9631 1799 1852 1959 1717 + 9632 1717 1843 2030 1884 + 9633 2099 1717 1959 1843 + 9634 1843 2030 2099 1717 + 9635 1799 1959 2099 1717 + 9636 2099 1717 2030 1788 + 9637 1865 1789 1718 1962 + 9638 1894 1865 1718 1962 + 9639 1844 1718 1789 2010 + 9640 1894 1776 2010 1718 + 9641 2010 1894 1718 1962 + 9642 1844 2010 1776 1718 + 9643 2010 1718 1789 1962 + 9644 1963 1719 1885 1845 + 9645 1719 1963 1885 1790 + 9646 1963 1844 1790 1719 + 9647 1846 2150 1795 1720 + 9648 1944 2019 1720 2150 + 9649 1795 2150 1944 1720 + 9650 2022 1720 2151 2102 + 9651 2102 1720 2151 1964 + 9652 1720 2151 1847 2022 + 9653 2022 2152 2090 1720 + 9654 2022 2102 2152 1720 + 9655 2090 2188 1720 2152 + 9656 1846 2150 1720 2188 + 9657 2188 1720 1846 2090 + 9658 2102 1720 1964 2188 + 9659 1720 2188 2150 2019 + 9660 2188 2102 1720 2152 + 9661 2019 1720 2188 1964 + 9662 1720 1964 2189 2151 + 9663 2019 1944 1720 2189 + 9664 1720 2189 1847 2151 + 9665 2019 1720 1964 2189 + 9666 1720 1791 2189 1944 + 9667 1847 1791 2189 1720 + 9668 1721 1966 2034 1887 + 9669 1887 1721 1966 2035 + 9670 2103 1965 1721 2034 + 9671 2103 1721 1966 2034 + 9672 1721 2103 2154 1965 + 9673 2154 1721 1965 1848 + 9674 2154 2018 1721 1848 + 9675 2191 1966 2103 1721 + 9676 2191 2103 2154 1721 + 9677 2018 2154 1721 2191 + 9678 2035 1721 1966 2191 + 9679 2018 1721 1864 2191 + 9680 1858 1951 1797 1723 + 9681 1858 1804 1724 2108 + 9682 2108 1804 1724 1969 + 9683 1724 1969 2036 2108 + 9684 1726 1856 1957 1803 + 9685 1726 2016 1840 1890 + 9686 1726 1957 2085 1803 + 9687 1726 2085 2016 1890 + 9688 1726 1803 2085 1890 + 9689 1957 1726 2085 2016 + 9690 1890 1803 2039 1727 + 9691 2086 1802 1728 1971 + 9692 1728 2163 1971 1802 + 9693 2161 1728 2194 2086 + 9694 2086 1728 2194 1971 + 9695 1891 2040 1729 1853 + 9696 2040 1729 1855 1891 + 9697 2112 2036 1729 1802 + 9698 2040 2162 1729 1853 + 9699 2112 1729 2162 1802 + 9700 2162 1802 1729 1853 + 9701 1729 2112 2195 2036 + 9702 2162 2195 1729 2112 + 9703 1729 2162 2040 2195 + 9704 1729 2040 1855 2195 + 9705 2036 2195 1729 1968 + 9706 1968 1729 1855 2195 + 9707 1731 1841 2029 1954 + 9708 2095 1731 1784 2027 + 9709 1731 2095 1784 1841 + 9710 1731 1954 2095 1841 + 9711 2027 1958 2114 1731 + 9712 1857 2114 1958 1731 + 9713 2027 2197 2095 1731 + 9714 2027 2114 2197 1731 + 9715 1954 1731 2095 2197 + 9716 1954 2212 1731 2197 + 9717 1731 2029 2212 1954 + 9718 2197 2212 1731 2114 + 9719 1972 1732 2043 1858 + 9720 1861 1733 1973 2044 + 9721 1733 2044 1861 1810 + 9722 2044 2116 1733 1973 + 9723 1921 2044 2116 1733 + 9724 1973 2116 1733 1806 + 9725 1861 1734 1974 1892 + 9726 1892 1734 2046 1808 + 9727 1974 1734 2046 1892 + 9728 1734 2046 2118 1974 + 9729 1734 1812 1974 2118 + 9730 1735 2047 1859 1809 + 9731 2096 1809 2047 1735 + 9732 2096 2047 1956 1735 + 9733 1862 1918 1898 1736 + 9734 1918 1759 1736 1860 + 9735 1862 2117 1918 1736 + 9736 1918 1736 2117 1860 + 9737 2117 1860 1736 1810 + 9738 1921 1805 1737 1823 + 9739 1823 1737 2000 1922 + 9740 1737 2000 1922 1800 + 9741 1823 2000 1737 1921 + 9742 2000 1737 1970 1800 + 9743 1970 2111 1737 2049 + 9744 1970 2000 2120 1737 + 9745 1970 2120 2049 1737 + 9746 2120 2167 2049 1737 + 9747 2167 1737 2111 2049 + 9748 2120 2000 2167 1737 + 9749 2000 2167 1737 1921 + 9750 2111 2038 1737 2167 + 9751 1738 1863 1811 1893 + 9752 1893 1738 1863 1928 + 9753 1812 1893 1928 1738 + 9754 1928 1812 1738 2202 + 9755 1738 2202 1812 2118 + 9756 1928 1738 1863 2202 + 9757 1780 1739 2015 1937 + 9758 2018 1739 1864 1780 + 9759 1739 1780 2018 1937 + 9760 1951 1796 2107 1739 + 9761 1864 1739 2107 1796 + 9762 2113 2015 1739 1937 + 9763 1739 2018 2142 1937 + 9764 2142 1976 1739 2113 + 9765 2113 1739 2142 1937 + 9766 1739 1864 2107 2191 + 9767 1864 2018 2191 1739 + 9768 2191 1739 2142 1976 + 9769 2191 2018 2142 1739 + 9770 1739 2214 2015 2113 + 9771 1739 2107 2214 2191 + 9772 2214 1951 2107 1739 + 9773 2015 1951 2214 1739 + 9774 2191 2214 1739 1976 + 9775 1739 1976 2214 2113 + 9776 1929 1866 1740 1895 + 9777 1977 1866 1813 1740 + 9778 1977 2052 1866 1740 + 9779 2052 1740 1929 1866 + 9780 1741 1979 2138 2079 + 9781 2079 2138 1741 1930 + 9782 1741 2173 1979 2079 + 9783 2079 2008 1741 2173 + 9784 1741 2173 2008 2205 + 9785 2109 1980 1742 2037 + 9786 1980 2159 1742 2037 + 9787 1742 2037 2159 1798 + 9788 2159 1935 1742 1798 + 9789 1980 2205 1742 2159 + 9790 2109 2205 1814 1742 + 9791 2109 1742 1980 2205 + 9792 2205 1742 2159 1935 + 9793 1870 2109 2053 1743 + 9794 1744 2156 2035 1887 + 9795 1821 1745 1900 2055 + 9796 1872 1745 1821 2055 + 9797 1872 1746 1984 1816 + 9798 1872 1901 1984 1746 + 9799 1901 1982 2056 1746 + 9800 1901 2056 1984 1746 + 9801 1748 1988 1825 2060 + 9802 1748 1825 1899 2060 + 9803 2060 1988 1906 1748 + 9804 1750 1909 1817 1990 + 9805 1750 2063 1909 1990 + 9806 2063 1990 1750 2126 + 9807 1990 1750 2126 1819 + 9808 2065 1873 1820 1753 + 9809 1753 2065 1911 1992 + 9810 1753 1820 2065 1992 + 9811 2059 1754 1871 1816 + 9812 2059 1986 1754 1816 + 9813 1754 1907 1986 2062 + 9814 2177 1754 2062 1827 + 9815 2059 2177 1754 1986 + 9816 1754 2059 1871 2177 + 9817 2062 1754 2177 1986 + 9818 1821 1917 1996 1756 + 9819 1821 1996 1874 1756 + 9820 2066 1996 1917 1756 + 9821 2066 1756 1874 1996 + 9822 1821 2067 1756 1902 + 9823 1821 1756 2067 1917 + 9824 1995 1756 2067 2127 + 9825 1902 2067 1756 2127 + 9826 1917 2067 2132 1756 + 9827 2132 2067 1995 1756 + 9828 1914 1756 2066 2132 + 9829 1917 2132 2066 1756 + 9830 2132 1995 1914 1756 + 9831 1983 1919 1824 1758 + 9832 1758 1875 2068 1919 + 9833 1758 2068 1983 1919 + 9834 1758 2068 1900 1983 + 9835 1823 1997 1759 1875 + 9836 1822 1997 1875 1759 + 9837 1921 1759 1823 1997 + 9838 2069 1759 1822 1918 + 9839 1759 1860 2069 1921 + 9840 1918 2069 1759 1860 + 9841 1822 2069 1997 1759 + 9842 1759 2069 1997 1921 + 9843 2071 1760 1919 1823 + 9844 1823 1922 2071 1760 + 9845 1824 1760 1919 2072 + 9846 1760 1922 2071 2133 + 9847 1919 2072 1760 2133 + 9848 2133 1760 1922 1999 + 9849 2071 1919 1760 2133 + 9850 2072 1761 1983 1824 + 9851 1761 2134 1983 2055 + 9852 1761 2134 1899 2072 + 9853 2134 1761 1983 2072 + 9854 2134 2055 1761 1982 + 9855 2134 1761 1899 1982 + 9856 1923 1762 1833 1876 + 9857 1764 1989 1831 1925 + 9858 1925 2061 1764 1989 + 9859 1766 1877 1907 2003 + 9860 1828 1766 2003 1877 + 9861 1907 2061 1766 2003 + 9862 2061 2003 1828 1766 + 9863 1989 2061 1766 1907 + 9864 1767 1828 2003 1877 + 9865 1767 2003 2057 1877 + 9866 2057 1926 2003 1767 + 9867 1926 2058 1767 2124 + 9868 2124 1767 1926 2057 + 9869 1893 1863 1768 1928 + 9870 1768 1893 1928 1862 + 9871 1998 1862 1768 1928 + 9872 1928 1768 2005 1863 + 9873 2005 1863 1768 1927 + 9874 2005 1768 2075 1927 + 9875 1768 2005 2075 1928 + 9876 1768 1928 2075 1998 + 9877 1768 1927 2136 2075 + 9878 1878 1998 1768 2136 + 9879 1998 1768 2136 2075 + 9880 1880 1772 1832 1931 + 9881 1880 2002 1772 1931 + 9882 2007 1832 1772 1931 + 9883 1772 2007 1881 1832 + 9884 1773 1896 2006 1868 + 9885 1930 1895 1774 1866 + 9886 1883 1775 1935 1867 + 9887 1933 2081 2009 1775 + 9888 2009 1775 2081 1883 + 9889 1935 1775 1883 2081 + 9890 1935 2008 1775 2081 + 9891 2081 1775 1933 2008 + 9892 1839 1776 1934 1883 + 9893 1934 1776 2010 1894 + 9894 1777 1938 1882 1834 + 9895 1891 1777 1834 1938 + 9896 2014 2082 1777 1941 + 9897 1940 2082 1777 2014 + 9898 2082 1777 1941 2013 + 9899 1777 1882 1938 2083 + 9900 2014 1777 2083 1941 + 9901 1777 2083 1941 2013 + 9902 1777 1938 2139 2083 + 9903 1777 2139 2014 2083 + 9904 1940 2139 2014 1777 + 9905 1777 1940 2139 1891 + 9906 1938 1777 2139 1891 + 9907 1778 1890 1840 2016 + 9908 1939 1778 1840 2016 + 9909 1853 2017 1778 2082 + 9910 2085 1890 1942 1778 + 9911 1778 2085 1890 2016 + 9912 1853 1778 2017 2086 + 9913 1942 2086 2017 1778 + 9914 1778 2017 1942 2140 + 9915 2140 1942 1778 2085 + 9916 2085 2140 2016 1778 + 9917 2140 2082 1778 2017 + 9918 1939 2140 1778 2016 + 9919 1939 2140 2082 1778 + 9920 1780 1937 1836 2018 + 9921 2020 1782 1845 1885 + 9922 1936 1897 1783 1838 + 9923 1936 1783 1897 2011 + 9924 1784 2095 2027 1953 + 9925 1843 1785 1954 1884 + 9926 1843 2028 1954 1785 + 9927 2148 1785 1954 2028 + 9928 1954 2095 1785 2148 + 9929 1842 1787 1943 1888 + 9930 1842 1787 2029 2097 + 9931 1943 1787 1842 2097 + 9932 1943 2141 1835 1787 + 9933 1787 2184 2088 2029 + 9934 1787 2097 2184 2029 + 9935 2184 2097 1787 1943 + 9936 2088 2184 1787 2141 + 9937 2184 1787 2141 1943 + 9938 1950 1788 1851 2099 + 9939 2099 2030 1950 1788 + 9940 1789 1844 2010 2101 + 9941 1962 1789 2010 2101 + 9942 1844 1963 1790 2101 + 9943 1844 1790 2147 2101 + 9944 2187 1963 1790 1885 + 9945 2101 2187 1963 1790 + 9946 2147 1790 2091 2187 + 9947 2101 2147 2187 1790 + 9948 2187 2091 2022 1790 + 9949 1944 2087 1836 1791 + 9950 2189 2087 1944 1791 + 9951 1941 2083 1792 2013 + 9952 2013 1941 2084 1792 + 9953 2084 1792 2024 1837 + 9954 2084 2024 1792 1941 + 9955 1792 2024 1947 2190 + 9956 1792 1947 2143 2190 + 9957 2083 1792 2143 2190 + 9958 1941 1792 2083 2190 + 9959 1941 1792 2190 2024 + 9960 1794 1886 2105 2032 + 9961 1794 2105 1967 2032 + 9962 1846 2032 1886 1795 + 9963 2032 2150 1795 1846 + 9964 2089 1795 2150 1944 + 9965 1795 2089 2150 2192 + 9966 1795 2192 2150 2032 + 9967 1795 1848 2089 2192 + 9968 1968 2108 2157 1797 + 9969 2157 1797 1951 2015 + 9970 1855 1797 2157 2015 + 9971 1858 2108 1797 2157 + 9972 1797 1951 1858 2157 + 9973 2157 1797 1855 1968 + 9974 1867 2011 1798 1935 + 9975 2037 1798 1851 1950 + 9976 2110 1950 2025 1798 + 9977 1950 2037 1798 2110 + 9978 2110 2159 2037 1798 + 9979 1798 2193 1935 2011 + 9980 2159 2193 1935 1798 + 9981 2110 2210 2159 1798 + 9982 2210 2025 1936 1798 + 9983 2210 2193 2159 1798 + 9984 1798 2210 2193 2011 + 9985 2110 2025 2210 1798 + 9986 1798 1936 2210 2011 + 9987 2038 1959 1799 1852 + 9988 1889 2038 1799 1852 + 9989 1799 2038 2111 1959 + 9990 1961 2160 2099 1799 + 9991 1961 2111 2160 1799 + 9992 2160 2099 1799 1959 + 9993 1799 2111 2160 1959 + 9994 1922 2000 2070 1800 + 9995 2000 1970 2070 1800 + 9996 2162 2086 1971 1802 + 9997 2162 1971 2112 1802 + 9998 1853 2086 2162 1802 + 9999 2112 1802 1971 2163 + 10000 2112 1802 2163 2036 + 10001 2039 1890 2085 1803 + 10002 2039 2085 1957 1803 + 10003 1858 2042 1804 2108 + 10004 2108 2042 1804 1969 + 10005 1973 2168 2116 1806 + 10006 1806 2168 2045 1973 + 10007 2116 1806 2168 1959 + 10008 2199 1806 1955 2100 + 10009 2199 1806 2168 2045 + 10010 2100 1959 2199 1806 + 10011 2199 1955 1806 2045 + 10012 2199 2168 1806 1959 + 10013 1859 2046 1808 1892 + 10014 1975 1809 2045 1892 + 10015 1975 1809 2047 2096 + 10016 2096 1975 1809 2045 + 10017 2096 1809 1955 2045 + 10018 1975 2047 1809 2119 + 10019 2119 1859 2047 1809 + 10020 1809 1975 2119 1892 + 10021 1892 1809 1859 2119 + 10022 1810 1860 2044 2117 + 10023 1810 2044 1861 2117 + 10024 1928 1893 1812 1862 + 10025 1862 2048 2117 1812 + 10026 2117 2048 1974 1812 + 10027 2171 1974 1812 2118 + 10028 2171 1928 1812 1862 + 10029 1974 2048 2171 1812 + 10030 1862 2171 2048 1812 + 10031 1928 1812 2202 2171 + 10032 1812 2118 2202 2171 + 10033 2051 1813 1866 1933 + 10034 2051 1977 1866 1813 + 10035 1894 2080 1813 2050 + 10036 2051 2080 1977 1813 + 10037 1813 2050 2080 1977 + 10038 1933 1813 2080 2051 + 10039 1903 1987 1815 2056 + 10040 1872 1984 1902 1816 + 10041 2059 1816 1904 1986 + 10042 2059 1816 1902 1984 + 10043 2059 1904 1816 1984 + 10044 1871 1816 1902 2059 + 10045 1910 1818 1878 1991 + 10046 2126 1819 1911 2064 + 10047 1993 2176 2064 1819 + 10048 2126 2176 1990 1819 + 10049 1993 1908 2176 1819 + 10050 1908 1990 2176 1819 + 10051 2126 2064 2176 1819 + 10052 1820 1916 2065 1992 + 10053 2131 1913 1820 1873 + 10054 1916 2065 2131 1820 + 10055 2131 1820 2065 1873 + 10056 1996 1821 2068 1917 + 10057 1996 2068 1821 1874 + 10058 1821 2128 1872 2055 + 10059 2128 1872 1902 1821 + 10060 2128 1902 2067 1821 + 10061 2128 2067 1917 1821 + 10062 1917 2128 1821 2178 + 10063 2178 2068 1821 1917 + 10064 2055 1900 1821 2178 + 10065 1821 2068 2178 1900 + 10066 2055 1821 2128 2178 + 10067 1920 1822 2068 1996 + 10068 1822 2068 1996 1874 + 10069 1920 1997 2068 1822 + 10070 1875 2068 1997 1822 + 10071 1920 2069 1997 1822 + 10072 1920 2069 1822 1996 + 10073 1996 1874 2130 1822 + 10074 1822 1918 1898 2130 + 10075 2069 1822 2130 1918 + 10076 1822 2130 1996 2069 + 10077 1997 1875 1823 1919 + 10078 2000 1823 1922 2071 + 10079 1997 1823 1921 2071 + 10080 2000 1823 2071 1921 + 10081 2071 1919 1997 1823 + 10082 1983 1919 2072 1824 + 10083 2060 2135 1988 1825 + 10084 2060 1899 2135 1825 + 10085 1924 1876 1825 2135 + 10086 1924 2135 1825 1988 + 10087 1829 2004 1909 2063 + 10088 1832 2077 2007 1881 + 10089 2137 1832 1931 1880 + 10090 2137 1832 2007 1931 + 10091 2137 2007 1832 2077 + 10092 1880 1832 2006 2137 + 10093 2006 1832 2077 2137 + 10094 1924 1833 1876 2135 + 10095 1833 1876 2135 1923 + 10096 1924 1833 2208 1880 + 10097 2135 2208 1924 1833 + 10098 2208 1833 2179 1896 + 10099 1833 2179 1923 2208 + 10100 2135 1923 2208 1833 + 10101 1891 2012 1938 1834 + 10102 1891 1937 2012 1834 + 10103 2084 1835 2141 2013 + 10104 1939 2141 1835 2013 + 10105 1835 2084 2141 1943 + 10106 2019 1836 1944 2087 + 10107 1836 1944 2089 2019 + 10108 2089 2142 2018 1836 + 10109 1836 1937 2142 2018 + 10110 2181 2087 1836 2019 + 10111 1836 2089 2181 2019 + 10112 1937 1836 2142 2181 + 10113 2089 2181 2142 1836 + 10114 2181 1937 1836 2012 + 10115 2181 2012 1836 2087 + 10116 1838 1949 2021 2092 + 10117 2092 1838 1949 2023 + 10118 1947 1838 2023 2094 + 10119 2023 1838 1949 2094 + 10120 1947 2145 1838 2094 + 10121 1838 1936 2094 2145 + 10122 2146 1949 1838 2094 + 10123 1949 2146 1838 2021 + 10124 2021 1838 1897 2146 + 10125 1838 2146 2094 1936 + 10126 1936 1897 1838 2146 + 10127 1934 2091 1839 2021 + 10128 2021 1839 1934 2182 + 10129 1883 1934 1839 2182 + 10130 1897 1839 2182 1883 + 10131 2182 2021 1839 1897 + 10132 2088 1840 2016 1939 + 10133 1954 1841 2029 1884 + 10134 1884 2029 2149 1842 + 10135 1842 2029 2149 2097 + 10136 2030 1842 1884 2149 + 10137 2185 1943 1888 1842 + 10138 1950 2185 1888 1842 + 10139 2149 2097 2185 1842 + 10140 1943 1842 2185 2097 + 10141 2185 1842 2030 2149 + 10142 2185 2030 1842 1950 + 10143 1843 2099 2030 1960 + 10144 1960 2031 1843 2099 + 10145 2099 1959 2031 1843 + 10146 2100 1959 1843 2031 + 10147 1960 2030 1843 2149 + 10148 2149 1843 1954 1884 + 10149 2030 1884 1843 2149 + 10150 2186 1954 2149 1843 + 10151 2186 2100 1843 2031 + 10152 1954 2186 2028 1843 + 10153 1843 2028 2100 2186 + 10154 2149 2186 1843 1960 + 10155 2031 1843 2186 1960 + 10156 2147 2010 1844 2101 + 10157 1963 1885 2020 1845 + 10158 1886 2032 1846 1945 + 10159 1846 2090 1945 2188 + 10160 1945 2032 1846 2188 + 10161 1846 2032 2150 2188 + 10162 1847 2022 2151 1946 + 10163 2151 1946 2092 1847 + 10164 2151 2092 1948 1847 + 10165 1948 2189 2151 1847 + 10166 1848 2154 2089 1965 + 10167 1848 2154 2018 2089 + 10168 1848 2089 2192 1965 + 10169 1887 1849 2106 2034 + 10170 2155 2106 1849 2034 + 10171 1945 1886 2105 1850 + 10172 1961 2099 2037 1851 + 10173 1950 1851 2037 2099 + 10174 2040 1891 1940 1853 + 10175 1853 1940 2017 2082 + 10176 2017 2086 2162 1853 + 10177 1940 2040 1853 2162 + 10178 1940 1853 2017 2162 + 10179 1855 2015 2113 1937 + 10180 2157 1855 2015 2113 + 10181 2196 1891 2040 1855 + 10182 2196 1937 1891 1855 + 10183 1937 1855 2196 2113 + 10184 2195 2211 2040 1855 + 10185 2195 1855 1968 2211 + 10186 2211 2157 2113 1855 + 10187 2211 1968 2157 1855 + 10188 2211 2196 1855 2113 + 10189 2040 1855 2211 2196 + 10190 1952 2098 1857 2041 + 10191 2114 2164 2041 1857 + 10192 1857 1958 2114 2164 + 10193 1857 2098 1958 2164 + 10194 2041 2164 2098 1857 + 10195 2115 1972 2043 1858 + 10196 2157 1951 1858 2115 + 10197 2115 2043 2165 1858 + 10198 2165 1858 1951 2115 + 10199 2115 2166 1972 1858 + 10200 2042 1858 1972 2166 + 10201 2115 2166 1858 2198 + 10202 2157 1858 2198 2115 + 10203 2198 2166 1858 2042 + 10204 1858 2198 2108 2157 + 10205 1858 2198 2042 2108 + 10206 1892 1859 2046 2119 + 10207 1860 1918 2170 2117 + 10208 1860 2170 2044 2117 + 10209 2069 1860 1918 2170 + 10210 2200 1860 2069 2170 + 10211 2200 2044 1860 2170 + 10212 2200 2069 1860 1921 + 10213 1921 1860 2200 2044 + 10214 1974 1861 1892 2169 + 10215 1973 1892 1861 2169 + 10216 1973 2169 1861 2201 + 10217 2044 1861 2201 1973 + 10218 1861 2169 1974 2201 + 10219 2044 2201 1861 2117 + 10220 2117 1861 1974 2201 + 10221 2048 2117 1918 1862 + 10222 1998 2213 1862 1928 + 10223 2171 2213 1928 1862 + 10224 1898 1862 1998 2213 + 10225 2213 2171 2048 1862 + 10226 2048 1918 2213 1862 + 10227 1898 1918 1862 2213 + 10228 1928 2005 2202 1863 + 10229 1962 2050 1894 1865 + 10230 2079 2051 1866 1933 + 10231 1866 2079 1978 2051 + 10232 2121 2052 1866 1977 + 10233 1866 1978 2121 2051 + 10234 2121 2052 1978 1866 + 10235 2051 1866 1977 2121 + 10236 2204 1895 1866 1929 + 10237 1866 1929 2052 2204 + 10238 1866 1978 2204 2052 + 10239 2079 1866 1978 2204 + 10240 2204 1930 2079 1866 + 10241 1930 2204 1895 1866 + 10242 1935 1883 1867 2011 + 10243 2122 1896 1868 2006 + 10244 2206 2006 2122 1868 + 10245 1868 2206 2006 2138 + 10246 2053 1868 2206 2122 + 10247 2179 2070 1869 1999 + 10248 2053 1870 1970 2174 + 10249 2053 2109 1870 2174 + 10250 2111 1970 1870 2207 + 10251 1870 2111 2207 1961 + 10252 2109 1870 2207 1961 + 10253 2174 2109 1870 2207 + 10254 2174 1870 1970 2207 + 10255 1902 2059 2127 1871 + 10256 2127 1871 2059 2177 + 10257 1984 2128 1901 1872 + 10258 1902 2128 1984 1872 + 10259 2055 2128 1872 1901 + 10260 1913 1995 1873 2131 + 10261 1873 2065 2131 1914 + 10262 1873 2131 1995 1914 + 10263 1874 2066 2130 1991 + 10264 1996 2066 2130 1874 + 10265 1919 1875 2068 1997 + 10266 1877 1907 2003 2057 + 10267 1986 1877 2057 1907 + 10268 1898 1878 1915 1998 + 10269 1991 1915 1878 2076 + 10270 1991 1878 1910 2076 + 10271 2076 1910 2136 1878 + 10272 2076 2136 2180 1878 + 10273 1878 2180 2076 1915 + 10274 2180 1878 2136 1998 + 10275 1878 1998 2180 1915 + 10276 1924 2002 1880 2078 + 10277 1880 1931 2078 2002 + 10278 2078 1880 2137 1931 + 10279 1932 1880 2006 2137 + 10280 1932 2078 1880 2137 + 10281 1932 2208 1880 2078 + 10282 1924 1880 2208 2078 + 10283 2208 2006 1932 1880 + 10284 1929 2007 2077 1881 + 10285 2011 1935 1883 2146 + 10286 2011 1883 1897 2146 + 10287 2146 1935 1883 2081 + 10288 2009 2182 1883 2081 + 10289 1883 2009 1934 2182 + 10290 2146 1883 2182 2081 + 10291 2146 2182 1883 1897 + 10292 1884 1954 2149 2029 + 10293 2020 2153 1885 1963 + 10294 2020 2090 1885 2153 + 10295 2153 2090 1885 2187 + 10296 2187 2153 1963 1885 + 10297 2105 2032 1886 1945 + 10298 2106 2034 1966 1887 + 10299 2106 1887 1966 2156 + 10300 1966 2035 2156 1887 + 10301 1950 2025 1888 2158 + 10302 2158 2093 2025 1888 + 10303 2158 2185 2093 1888 + 10304 1888 1943 2185 2093 + 10305 1950 1888 2185 2158 + 10306 1942 2085 2039 1890 + 10307 1891 1938 2012 2139 + 10308 2040 1940 1891 2139 + 10309 2139 1891 2040 2196 + 10310 1937 2012 2196 1891 + 10311 1891 2012 2196 2139 + 10312 1892 2169 2119 2046 + 10313 2169 1892 2119 1975 + 10314 1892 2045 1975 2169 + 10315 2046 1974 1892 2169 + 10316 1892 1973 2045 2169 + 10317 1894 1962 2172 2050 + 10318 1894 2172 2080 2050 + 10319 2010 2203 1934 1894 + 10320 1962 2172 2203 1894 + 10321 2080 2203 2172 1894 + 10322 1962 1894 2203 2010 + 10323 2009 2080 1894 2203 + 10324 2009 1894 1934 2203 + 10325 2204 2077 1895 1929 + 10326 1895 2204 1930 2077 + 10327 1896 2208 2122 2179 + 10328 2122 2006 2208 1896 + 10329 1936 2011 1897 2146 + 10330 2021 1897 2182 2146 + 10331 2130 1915 2213 1898 + 10332 1898 1998 1915 2213 + 10333 1918 1898 2130 2213 + 10334 1899 2072 2134 2001 + 10335 2060 2216 1899 1982 + 10336 2216 2001 2135 1899 + 10337 2135 2216 1899 2060 + 10338 1899 2216 2134 1982 + 10339 1899 2216 2001 2134 + 10340 1900 2055 1983 2178 + 10341 1983 2178 2068 1900 + 10342 2128 2218 1984 1901 + 10343 2295 1982 2056 1901 + 10344 2295 2056 1984 1901 + 10345 1901 1984 2295 2218 + 10346 2375 2218 2128 1901 + 10347 1982 1901 2295 2375 + 10348 2128 2375 1901 2055 + 10349 1901 2295 2375 2218 + 10350 2055 1901 1982 2375 + 10351 2059 2218 1984 1902 + 10352 2128 1902 1984 2218 + 10353 2127 2297 2059 1902 + 10354 2297 1902 2128 2218 + 10355 2127 2297 1902 2067 + 10356 1902 2128 2067 2297 + 10357 2059 2297 2218 1902 + 10358 2298 1903 2058 1985 + 10359 1903 2298 1987 2056 + 10360 2056 1903 2298 1985 + 10361 1904 2124 2220 2057 + 10362 1985 1904 2124 2220 + 10363 1986 2059 2299 1904 + 10364 1904 2220 2299 2057 + 10365 1986 2299 2057 1904 + 10366 1904 2059 2299 2220 + 10367 2376 2056 1985 1904 + 10368 1984 2376 2059 1904 + 10369 1984 2056 2376 1904 + 10370 2059 2376 2220 1904 + 10371 2376 1985 2220 1904 + 10372 2060 1905 2216 1982 + 10373 2175 2056 2219 1905 + 10374 2175 1905 2222 2125 + 10375 2222 2125 1905 2060 + 10376 1982 2056 1905 2295 + 10377 2295 2056 1905 2219 + 10378 1905 1982 2295 2216 + 10379 2060 1905 2222 2302 + 10380 2379 1905 2060 2302 + 10381 2379 2060 1905 2216 + 10382 2219 2175 1905 2380 + 10383 2222 1905 2175 2380 + 10384 2222 2302 1905 2380 + 10385 1905 2380 2302 2445 + 10386 2219 1905 2445 2380 + 10387 2379 2302 2445 1905 + 10388 2445 2500 1905 2219 + 10389 2295 2219 1905 2500 + 10390 2379 2445 2500 1905 + 10391 2216 2500 1905 2379 + 10392 1905 2295 2500 2216 + 10393 1988 1906 2222 2060 + 10394 2125 2222 1906 2060 + 10395 2074 1906 2381 1988 + 10396 2381 1906 2222 1988 + 10397 1907 2224 2061 2003 + 10398 1989 2224 2061 1907 + 10399 1907 2062 1989 2224 + 10400 2299 2003 1907 2057 + 10401 2224 2062 2299 1907 + 10402 2299 1986 1907 2062 + 10403 2224 2299 2003 1907 + 10404 1986 2057 2299 1907 + 10405 1909 2004 2303 2063 + 10406 2063 2303 1909 1990 + 10407 1994 2065 1910 2129 + 10408 1910 2129 1991 2076 + 10409 1910 2136 2226 2076 + 10410 1910 2226 2136 2063 + 10411 1994 1910 2304 2129 + 10412 2304 1910 2226 2076 + 10413 2076 2129 2304 1910 + 10414 2382 2063 2226 1910 + 10415 2382 2126 2063 1910 + 10416 1994 1910 2126 2382 + 10417 1994 2304 1910 2382 + 10418 1910 2382 2304 2226 + 10419 2065 1911 2305 1994 + 10420 1992 1911 2305 2065 + 10421 1911 2064 1992 2305 + 10422 2305 1911 2126 1994 + 10423 2126 1911 2305 2064 + 10424 2064 1912 1992 2228 + 10425 1993 2383 1912 2064 + 10426 2064 2383 1912 2228 + 10427 2306 1913 2131 1995 + 10428 2127 2306 1995 1913 + 10429 2127 2177 2306 1913 + 10430 2129 2065 1914 1994 + 10431 1914 2065 2131 1994 + 10432 1914 1994 2229 2129 + 10433 1914 2131 2229 1994 + 10434 2132 1914 1995 2307 + 10435 2229 2307 1914 2129 + 10436 2132 1914 2307 2066 + 10437 2066 1914 2307 2129 + 10438 2448 1995 1914 2307 + 10439 2131 1914 2229 2448 + 10440 2131 1995 1914 2448 + 10441 2307 2448 2229 1914 + 10442 2076 1991 1915 2130 + 10443 2213 2180 1998 1915 + 10444 1915 2130 2309 2076 + 10445 2309 2076 2180 1915 + 10446 2309 2180 2213 1915 + 10447 1915 2213 2309 2130 + 10448 1916 2131 2065 1994 + 10449 2065 1994 2305 1916 + 10450 2305 1916 2228 1992 + 10451 1992 2305 1916 2065 + 10452 1994 1916 2131 2384 + 10453 1916 2305 2384 1994 + 10454 1916 2503 2384 2305 + 10455 2305 1916 2503 2228 + 10456 2178 2230 1917 2128 + 10457 2067 2297 2128 1917 + 10458 1917 2308 2066 2132 + 10459 2066 1917 1996 2308 + 10460 2067 1917 2132 2385 + 10461 2297 1917 2067 2385 + 10462 2308 1917 1996 2389 + 10463 2389 1917 1996 2068 + 10464 1917 2230 2178 2389 + 10465 1917 2178 2068 2389 + 10466 2449 1917 2128 2297 + 10467 2449 1917 2230 2128 + 10468 2451 2308 1917 2132 + 10469 2132 2385 1917 2451 + 10470 1917 2389 2308 2451 + 10471 2451 1917 2389 2230 + 10472 2504 2297 2385 1917 + 10473 2449 1917 2504 2230 + 10474 2504 1917 2385 2451 + 10475 2504 2449 2297 1917 + 10476 2451 2504 1917 2230 + 10477 1918 2117 2048 2170 + 10478 1918 2130 2231 2213 + 10479 2048 2231 2213 1918 + 10480 2069 2130 2231 1918 + 10481 2170 2231 1918 2069 + 10482 2231 2048 2170 1918 + 10483 1983 1919 2068 2178 + 10484 1919 1983 2217 2178 + 10485 1919 2217 2072 2133 + 10486 2217 1983 1919 2072 + 10487 2310 2068 1919 2178 + 10488 1919 2217 2310 2178 + 10489 1997 1919 2310 2068 + 10490 1997 2071 2390 1919 + 10491 1919 2390 2217 2133 + 10492 1919 2390 2310 2217 + 10493 1997 2390 2310 1919 + 10494 1919 2071 2390 2133 + 10495 1920 2231 2069 1996 + 10496 2234 1920 2069 1997 + 10497 2068 1920 2310 1997 + 10498 2234 2312 2069 1920 + 10499 2312 1920 2231 2069 + 10500 2231 1996 1920 2388 + 10501 1920 1996 2308 2388 + 10502 1920 2231 2388 2312 + 10503 2389 1996 1920 2068 + 10504 1920 2308 1996 2389 + 10505 1920 2068 2310 2389 + 10506 1920 2310 2454 2389 + 10507 2454 1920 1997 2310 + 10508 2234 2454 1920 1997 + 10509 1920 2506 2308 2389 + 10510 2312 1920 2506 2388 + 10511 1920 2308 2506 2388 + 10512 1920 2234 2312 2506 + 10513 1920 2234 2506 2454 + 10514 2389 2454 1920 2506 + 10515 2200 1997 2069 1921 + 10516 2116 2235 2044 1921 + 10517 2167 1921 2235 2116 + 10518 1921 2200 2235 2044 + 10519 2200 1921 2235 2313 + 10520 2200 1997 1921 2313 + 10521 2313 1997 1921 2071 + 10522 2000 2071 2313 1921 + 10523 2313 1921 2235 2167 + 10524 2000 2313 2167 1921 + 10525 2071 1922 2000 2133 + 10526 1999 1922 2133 2070 + 10527 2000 2070 2133 1922 + 10528 2073 2179 2237 1923 + 10529 2179 2208 2237 1923 + 10530 2135 2316 2208 1923 + 10531 1923 2316 2208 2237 + 10532 1923 2073 2316 2237 + 10533 2135 2073 2316 1923 + 10534 1988 2223 1924 2135 + 10535 1924 2074 2223 1988 + 10536 2078 2316 2208 1924 + 10537 2078 2223 2316 1924 + 10538 2135 2208 2316 1924 + 10539 2135 2316 2223 1924 + 10540 1924 2317 2002 2078 + 10541 2074 2223 2317 1924 + 10542 1924 2223 2317 2078 + 10543 2074 2317 2002 1924 + 10544 2061 1989 1925 2224 + 10545 2299 1926 2057 2124 + 10546 2003 1926 2057 2299 + 10547 2124 1926 2058 2300 + 10548 2299 2378 1926 2124 + 10549 2378 2300 1926 2124 + 10550 2003 2458 1926 2299 + 10551 2299 2378 2458 1926 + 10552 2005 2075 2318 1927 + 10553 2136 1927 2318 2075 + 10554 1927 2318 2004 2136 + 10555 2075 2213 1928 2171 + 10556 2075 1928 2213 1998 + 10557 1928 2005 2075 2319 + 10558 1928 2202 2005 2319 + 10559 1928 2171 2202 2319 + 10560 2319 2075 1928 2171 + 10561 2077 1929 2239 2007 + 10562 1929 2239 2052 2204 + 10563 1929 2077 2239 2204 + 10564 2138 1930 2079 2204 + 10565 2204 2006 1930 2077 + 10566 2006 2204 1930 2138 + 10567 2317 2078 1931 2002 + 10568 1931 2317 2241 2078 + 10569 2137 2007 2321 1931 + 10570 2394 1931 2137 2321 + 10571 2078 2137 2394 1931 + 10572 2394 2241 1931 2321 + 10573 1931 2241 2394 2078 + 10574 2122 2208 2006 1932 + 10575 2237 2122 1932 2208 + 10576 2122 2006 2240 1932 + 10577 2240 1932 2006 2137 + 10578 2078 1932 2208 2316 + 10579 2237 1932 2316 2208 + 10580 2240 2122 1932 2322 + 10581 1932 2122 2237 2322 + 10582 2137 2394 2240 1932 + 10583 2137 2078 2394 1932 + 10584 2240 2544 1932 2394 + 10585 2316 2544 1932 2237 + 10586 2544 2078 1932 2394 + 10587 2240 1932 2544 2322 + 10588 2078 2544 1932 2316 + 10589 1932 2237 2544 2322 + 10590 2242 2051 1933 2080 + 10591 2323 2079 1933 2051 + 10592 1933 2051 2242 2323 + 10593 2079 2323 1933 2008 + 10594 2081 1933 2323 2008 + 10595 2242 1933 2395 2080 + 10596 2395 2323 1933 2242 + 10597 1933 2009 2395 2080 + 10598 1933 2395 2009 2081 + 10599 1933 2323 2395 2081 + 10600 1934 2010 2147 2203 + 10601 2182 1934 2245 2009 + 10602 2245 2091 2147 1934 + 10603 2245 2147 2203 1934 + 10604 2245 2009 1934 2203 + 10605 2245 2091 1934 2021 + 10606 1934 2245 2021 2182 + 10607 2146 2193 1935 2081 + 10608 1935 2146 2011 2193 + 10609 2324 2081 2008 1935 + 10610 2193 2324 1935 2081 + 10611 2205 2008 1935 2324 + 10612 2205 2324 1935 2159 + 10613 2159 1935 2193 2324 + 10614 1936 2094 2145 2210 + 10615 1936 2146 2094 2210 + 10616 1936 2146 2210 2011 + 10617 2025 1936 2145 2210 + 10618 1937 2196 2246 2113 + 10619 2181 1937 2012 2246 + 10620 2113 2246 1937 2142 + 10621 2142 2181 2246 1937 + 10622 1937 2196 2012 2246 + 10623 2083 1938 2139 2033 + 10624 2033 2327 2087 1938 + 10625 2327 2033 2139 1938 + 10626 2327 2139 2012 1938 + 10627 2012 2087 2327 1938 + 10628 2088 2016 2140 1939 + 10629 2247 2140 2082 1939 + 10630 1939 2013 2082 2247 + 10631 2140 2247 2088 1939 + 10632 2088 2247 2141 1939 + 10633 1939 2247 2141 2013 + 10634 2328 2082 2017 1940 + 10635 2328 2017 2248 1940 + 10636 2328 2082 1940 2014 + 10637 2328 2014 1940 2248 + 10638 2040 2329 1940 2139 + 10639 1940 2040 2162 2329 + 10640 1940 2139 2329 2014 + 10641 1940 2329 2248 2014 + 10642 2017 1940 2162 2399 + 10643 1940 2248 2329 2399 + 10644 1940 2329 2162 2399 + 10645 2248 1940 2017 2399 + 10646 2144 2024 2084 1941 + 10647 2014 1941 2083 2190 + 10648 2082 2247 2013 1941 + 10649 2084 2247 2144 1941 + 10650 2247 1941 2084 2013 + 10651 2144 2330 2024 1941 + 10652 2330 2014 2190 1941 + 10653 1941 2190 2330 2024 + 10654 2014 1941 2398 2082 + 10655 2330 2398 2014 1941 + 10656 1941 2144 2330 2398 + 10657 2082 2398 2247 1941 + 10658 2144 1941 2247 2398 + 10659 2039 2194 1942 2161 + 10660 2086 2194 2161 1942 + 10661 2140 2252 1942 2085 + 10662 2194 2086 2253 1942 + 10663 2017 2086 1942 2253 + 10664 2085 2252 1942 2332 + 10665 2332 1942 2039 2194 + 10666 2039 1942 2332 2085 + 10667 2402 2017 1942 2253 + 10668 2252 1942 2332 2402 + 10669 2140 1942 2252 2402 + 10670 2140 2017 1942 2402 + 10671 2194 1942 2253 2464 + 10672 2194 2332 1942 2464 + 10673 2402 2464 2253 1942 + 10674 2464 2332 1942 2402 + 10675 1943 2141 2247 2084 + 10676 1943 2144 2084 2247 + 10677 2184 2141 2247 1943 + 10678 2184 2247 2333 1943 + 10679 2333 2097 2184 1943 + 10680 2333 2185 1943 2093 + 10681 2333 2185 2097 1943 + 10682 2144 1943 2333 2247 + 10683 1943 2093 2144 2333 + 10684 2089 2150 2019 1944 + 10685 2189 2019 1944 2087 + 10686 1945 2090 2152 2188 + 10687 1945 2105 2032 2258 + 10688 2152 2090 1945 2259 + 10689 2259 2090 1945 2020 + 10690 2337 2152 2188 1945 + 10691 1945 2032 2337 2258 + 10692 1945 2337 2032 2188 + 10693 2152 1945 2406 2259 + 10694 2258 2337 1945 2406 + 10695 2406 2337 1945 2152 + 10696 2091 2022 1946 2260 + 10697 2022 2260 2151 1946 + 10698 2091 1946 2407 2260 + 10699 2021 2407 2091 1946 + 10700 2092 2407 2021 1946 + 10701 2407 2151 2260 1946 + 10702 2151 1946 2407 2092 + 10703 2262 1947 2145 2024 + 10704 2143 1947 2340 2190 + 10705 2023 1947 2094 2341 + 10706 1947 2023 2261 2341 + 10707 2262 2145 1947 2341 + 10708 1947 2145 2094 2341 + 10709 2341 2261 1947 2409 + 10710 1947 2261 2340 2409 + 10711 2341 1947 2262 2409 + 10712 2410 1947 2261 2340 + 10713 2023 1947 2261 2410 + 10714 2023 1947 2410 2143 + 10715 2143 1947 2410 2340 + 10716 1947 2340 2470 2409 + 10717 1947 2262 2470 2024 + 10718 2024 2190 2470 1947 + 10719 2470 2262 1947 2409 + 10720 2190 2470 1947 2340 + 10721 2254 2189 1948 2209 + 10722 2092 2342 2151 1948 + 10723 2023 2342 2092 1948 + 10724 1948 2023 2410 2143 + 10725 2209 1948 2410 2143 + 10726 2410 1948 2342 2023 + 10727 2254 1948 2189 2413 + 10728 1948 2151 2189 2413 + 10729 1948 2342 2151 2413 + 10730 1948 2413 2254 2472 + 10731 2209 2472 2410 1948 + 10732 1948 2254 2209 2472 + 10733 1948 2342 2413 2472 + 10734 2472 2410 1948 2342 + 10735 1949 2182 2146 2021 + 10736 2146 2264 1949 2094 + 10737 2182 2325 1949 2146 + 10738 1949 2146 2325 2264 + 10739 2023 2341 2094 1949 + 10740 2264 2094 2341 1949 + 10741 2407 1949 2021 2182 + 10742 2092 2021 2407 1949 + 10743 2407 2325 1949 2182 + 10744 2092 1949 2411 2023 + 10745 2264 2341 2411 1949 + 10746 2023 2411 2341 1949 + 10747 2092 1949 2471 2411 + 10748 2092 2407 2471 1949 + 10749 2516 1949 2471 2407 + 10750 2407 2516 1949 2325 + 10751 2411 1949 2471 2516 + 10752 2325 2516 1949 2264 + 10753 2264 2516 1949 2411 + 10754 2025 2110 2158 1950 + 10755 1950 2185 2030 2158 + 10756 1950 2265 2110 2158 + 10757 1950 2030 2265 2158 + 10758 2099 1950 2030 2265 + 10759 2265 2037 1950 2110 + 10760 1950 2099 2037 2265 + 10761 2165 1951 2107 2214 + 10762 2157 1951 2214 2015 + 10763 2115 1951 2165 2267 + 10764 2157 2214 1951 2267 + 10765 1951 2267 2115 2157 + 10766 2165 1951 2214 2267 + 10767 1952 2016 2140 2088 + 10768 2252 2016 1952 2098 + 10769 1952 2252 2098 2041 + 10770 1952 2140 2016 2252 + 10771 2465 1952 2041 2252 + 10772 2088 2465 2140 1952 + 10773 2465 2140 1952 2252 + 10774 2465 2088 2184 1952 + 10775 2465 2184 2041 1952 + 10776 2095 1953 2183 2027 + 10777 2095 2026 2183 1953 + 10778 2197 2148 2095 1954 + 10779 2029 2149 2212 1954 + 10780 2186 2149 1954 2268 + 10781 1954 2197 2148 2268 + 10782 2268 2212 1954 2197 + 10783 2149 2212 1954 2268 + 10784 2148 1954 2347 2028 + 10785 1954 2148 2347 2268 + 10786 2028 1954 2347 2186 + 10787 2186 1954 2347 2268 + 10788 2270 2045 1955 2199 + 10789 2028 2270 2096 1955 + 10790 2270 1955 2045 2096 + 10791 1955 2028 2270 2100 + 10792 1955 2270 2199 2100 + 10793 2271 2148 2096 1956 + 10794 2271 2183 2148 1956 + 10795 2096 1956 2047 2349 + 10796 2271 2349 1956 2096 + 10797 2252 1957 2085 2016 + 10798 2252 1957 2016 2098 + 10799 1957 2039 2332 2085 + 10800 2085 1957 2252 2332 + 10801 2332 2419 1957 2252 + 10802 1957 2419 2098 2252 + 10803 2114 2269 1958 2027 + 10804 2114 2164 1958 2269 + 10805 1959 2099 2031 2160 + 10806 1959 2038 2111 2167 + 10807 2274 2031 2160 1959 + 10808 2199 2274 1959 2100 + 10809 2031 1959 2274 2100 + 10810 2199 2168 1959 2274 + 10811 1959 2111 2160 2352 + 10812 2116 1959 2168 2352 + 10813 2116 2352 2167 1959 + 10814 2352 1959 2274 2160 + 10815 1959 2167 2111 2352 + 10816 2352 1959 2168 2274 + 10817 2158 1960 2185 2030 + 10818 2185 2030 1960 2149 + 10819 2158 2265 1960 2030 + 10820 2099 2030 1960 2265 + 10821 2344 1960 2185 2158 + 10822 2344 2273 2185 1960 + 10823 2344 2265 1960 2158 + 10824 2149 2350 2186 1960 + 10825 1960 2149 2350 2185 + 10826 2185 2350 1960 2273 + 10827 2099 1960 2031 2351 + 10828 2351 1960 2265 2099 + 10829 1960 2186 2031 2421 + 10830 1960 2350 2186 2421 + 10831 1960 2350 2421 2273 + 10832 2351 1960 2031 2421 + 10833 2265 1960 2351 2478 + 10834 2344 1960 2265 2478 + 10835 1960 2421 2478 2273 + 10836 2478 2421 1960 2351 + 10837 2344 2478 2273 1960 + 10838 2111 2160 2207 1961 + 10839 2420 2109 2207 1961 + 10840 2160 2207 1961 2420 + 10841 2420 2037 2109 1961 + 10842 2099 1961 2037 2420 + 10843 2160 1961 2099 2420 + 10844 1962 2010 2147 2101 + 10845 2147 1962 2203 2010 + 10846 1962 2101 2147 2266 + 10847 1962 2147 2203 2266 + 10848 1962 2266 2203 2172 + 10849 2346 2187 2153 1963 + 10850 2346 2187 1963 2101 + 10851 2019 2189 1964 2254 + 10852 2102 1964 2257 2188 + 10853 2019 2188 2257 1964 + 10854 2019 2257 2336 1964 + 10855 2254 2019 2336 1964 + 10856 2413 1964 2189 2254 + 10857 2189 1964 2413 2151 + 10858 2254 2336 2413 1964 + 10859 2102 1964 2151 2521 + 10860 2413 2151 1964 2521 + 10861 1964 2546 2102 2257 + 10862 1964 2102 2546 2521 + 10863 1964 2336 2546 2257 + 10864 2413 2336 2546 1964 + 10865 1964 2546 2413 2521 + 10866 2334 2103 2034 1965 + 10867 1965 2334 2154 2089 + 10868 2104 2192 2334 1965 + 10869 2334 2154 2103 1965 + 10870 1965 2192 2334 2089 + 10871 1965 2334 2104 2034 + 10872 2191 2035 2278 1966 + 10873 2035 2156 2278 1966 + 10874 1966 2034 2106 2355 + 10875 2191 2278 2356 1966 + 10876 1966 2103 2356 2191 + 10877 2424 1966 2034 2103 + 10878 2424 2278 1966 2356 + 10879 1966 2355 2424 2034 + 10880 2356 1966 2424 2103 + 10881 2424 2278 2481 1966 + 10882 1966 2278 2481 2156 + 10883 1966 2481 2424 2355 + 10884 1966 2106 2481 2355 + 10885 1966 2481 2106 2156 + 10886 2105 1967 2032 2258 + 10887 2422 2258 2032 1967 + 10888 2422 2358 2258 1967 + 10889 2104 1967 2422 2192 + 10890 2422 1967 2032 2192 + 10891 2104 2155 2484 1967 + 10892 1967 2484 2104 2422 + 10893 2422 2358 1967 2484 + 10894 2198 2157 1968 2108 + 10895 2036 2360 2195 1968 + 10896 2360 2198 1968 2108 + 10897 2360 1968 2036 2108 + 10898 2279 2360 2198 1968 + 10899 2279 1968 2198 2361 + 10900 2157 2198 1968 2361 + 10901 2427 1968 2195 2360 + 10902 2195 1968 2427 2211 + 10903 1968 2279 2360 2427 + 10904 2279 2427 1968 2361 + 10905 1968 2427 2157 2361 + 10906 2427 1968 2157 2211 + 10907 2036 2280 1969 2163 + 10908 2042 2428 1969 2108 + 10909 2108 2428 1969 2036 + 10910 1969 2428 2280 2036 + 10911 1970 2207 2111 2049 + 10912 1970 2053 2174 2284 + 10913 1970 2215 2053 2284 + 10914 2000 2070 1970 2314 + 10915 2314 2284 2215 1970 + 10916 1970 2070 2215 2314 + 10917 2000 1970 2120 2314 + 10918 2429 2120 2049 1970 + 10919 2314 2429 2284 1970 + 10920 2429 2284 1970 2174 + 10921 2314 2120 2429 1970 + 10922 2207 1970 2429 2049 + 10923 2429 1970 2207 2174 + 10924 2253 1971 2086 2194 + 10925 2399 2253 1971 2086 + 10926 1971 2162 2112 2399 + 10927 1971 2112 2285 2399 + 10928 2399 1971 2162 2086 + 10929 2112 1971 2431 2163 + 10930 2285 2431 2112 1971 + 10931 1971 2399 2285 2529 + 10932 2253 2529 1971 2194 + 10933 1971 2253 2399 2529 + 10934 2288 2166 1972 2115 + 10935 1972 2043 2288 2115 + 10936 1973 2289 2169 2201 + 10937 2045 1973 2289 2169 + 10938 2369 2045 1973 2289 + 10939 2369 2168 1973 2045 + 10940 2369 2436 1973 2168 + 10941 2201 2436 1973 2289 + 10942 2369 1973 2436 2289 + 10943 2044 2201 2436 1973 + 10944 2044 2436 2116 1973 + 10945 2168 2116 2436 1973 + 10946 2117 1974 2048 2201 + 10947 2171 2290 1974 2118 + 10948 2118 2370 2290 1974 + 10949 2118 2046 2370 1974 + 10950 2046 2370 1974 2169 + 10951 2290 1974 2370 2437 + 10952 2290 1974 2437 2171 + 10953 2048 2171 2437 1974 + 10954 2048 2437 2201 1974 + 10955 2492 2370 1974 2437 + 10956 2492 2437 1974 2201 + 10957 2169 1974 2492 2370 + 10958 2492 1974 2169 2201 + 10959 2270 2045 1975 2096 + 10960 2045 2289 1975 2169 + 10961 2096 2047 1975 2349 + 10962 2369 1975 2045 2289 + 10963 2270 1975 2045 2369 + 10964 2417 2349 2096 1975 + 10965 1975 2417 2270 2096 + 10966 2417 2270 2369 1975 + 10967 2438 2349 1975 2047 + 10968 1975 2438 2047 2119 + 10969 2119 1975 2438 2169 + 10970 2289 2438 1975 2169 + 10971 2493 2438 1975 2289 + 10972 2349 1975 2493 2438 + 10973 1975 2493 2417 2349 + 10974 2493 2289 1975 2369 + 10975 2417 2369 2493 1975 + 10976 2246 2211 1976 2113 + 10977 1976 2142 2246 2113 + 10978 2255 1976 2191 2142 + 10979 2142 2255 1976 2405 + 10980 2191 2426 2214 1976 + 10981 2142 2405 1976 2469 + 10982 1976 2286 2469 2373 + 10983 2469 1976 2142 2246 + 10984 2469 1976 2211 2286 + 10985 2469 2211 1976 2246 + 10986 2405 1976 2469 2373 + 10987 2255 2483 2191 1976 + 10988 2191 2483 2426 1976 + 10989 2405 2373 2483 1976 + 10990 2373 2426 2483 1976 + 10991 2255 2405 2483 1976 + 10992 1976 2485 2214 2113 + 10993 2373 2485 2426 1976 + 10994 2214 2426 2485 1976 + 10995 1976 2373 2485 2286 + 10996 1976 2485 2211 2286 + 10997 2211 1976 2113 2485 + 10998 2326 2080 2050 1977 + 10999 2051 1977 2326 2121 + 11000 2326 2080 1977 2051 + 11001 2204 2239 2052 1978 + 11002 2204 2320 2239 1978 + 11003 2244 2320 2079 1978 + 11004 2079 2204 1978 2320 + 11005 1978 2396 2121 2051 + 11006 1978 2079 2396 2051 + 11007 2396 2079 1978 2244 + 11008 2052 2239 2539 1978 + 11009 2320 2539 2239 1978 + 11010 2539 2396 2121 1978 + 11011 2121 1978 2052 2539 + 11012 2396 2539 2550 1978 + 11013 2320 2550 2539 1978 + 11014 2396 1978 2550 2244 + 11015 2244 2550 2320 1978 + 11016 2138 1979 2206 2240 + 11017 2173 2244 1979 2079 + 11018 1979 2320 2240 2138 + 11019 2079 2320 2244 1979 + 11020 2079 2320 1979 2138 + 11021 1979 2240 2441 2206 + 11022 2441 2054 1979 2206 + 11023 1979 2244 2173 2496 + 11024 2054 2173 2496 1979 + 11025 2441 2496 1979 2054 + 11026 2320 1979 2240 2553 + 11027 2320 2244 1979 2553 + 11028 2441 1979 2496 2553 + 11029 2553 2244 1979 2496 + 11030 2553 1979 2240 2441 + 11031 1980 2123 2205 2159 + 11032 2174 2123 1980 2281 + 11033 2174 1980 2109 2281 + 11034 2362 1980 2123 2281 + 11035 2123 2362 2159 1980 + 11036 2362 1980 2281 2420 + 11037 2420 2109 1980 2281 + 11038 2037 2109 1980 2420 + 11039 1980 2526 2362 2159 + 11040 2420 2037 2526 1980 + 11041 1980 2037 2526 2159 + 11042 2420 2526 2362 1980 + 11043 2174 2053 1981 2284 + 11044 2294 2054 1981 2123 + 11045 1981 2441 2054 2294 + 11046 1981 2206 2054 2441 + 11047 2322 1981 2441 2497 + 11048 2206 2441 1981 2497 + 11049 1981 2497 2284 2053 + 11050 1981 2206 2497 2053 + 11051 2123 2174 1981 2498 + 11052 2294 1981 2498 2123 + 11053 2498 2174 1981 2540 + 11054 2540 2284 2174 1981 + 11055 2540 2497 1981 2322 + 11056 2284 2497 1981 2540 + 11057 1981 2322 2551 2540 + 11058 2498 1981 2551 2540 + 11059 1981 2294 2551 2441 + 11060 2441 2551 1981 2322 + 11061 2294 1981 2551 2498 + 11062 1982 2295 2216 2375 + 11063 2055 1982 2134 2375 + 11064 2134 1982 2216 2375 + 11065 1983 2055 2134 2178 + 11066 2134 2217 1983 2178 + 11067 1983 2217 2134 2072 + 11068 2295 2376 1984 2056 + 11069 1984 2376 2295 2218 + 11070 2218 2059 1984 2376 + 11071 2056 2298 2219 1985 + 11072 2220 2124 1985 2300 + 11073 2124 2058 1985 2300 + 11074 2056 2219 2376 1985 + 11075 2219 2376 1985 2301 + 11076 2376 2220 1985 2301 + 11077 1985 2300 2058 2377 + 11078 2301 1985 2219 2377 + 11079 2219 2377 1985 2298 + 11080 2058 2377 2298 1985 + 11081 2220 1985 2443 2300 + 11082 2377 2300 2443 1985 + 11083 2220 2301 2443 1985 + 11084 2377 2443 2301 1985 + 11085 2062 2177 2299 1986 + 11086 2059 2299 2177 1986 + 11087 2175 1987 2298 2056 + 11088 2060 2222 1988 2302 + 11089 2379 1988 2060 2135 + 11090 1988 2379 2302 2223 + 11091 2379 2060 1988 2302 + 11092 1988 2379 2223 2135 + 11093 2223 1988 2381 2302 + 11094 2223 1988 2074 2381 + 11095 2222 2381 1988 2302 + 11096 1990 2126 2225 2176 + 11097 2063 1990 2126 2303 + 11098 2303 1990 2126 2225 + 11099 2129 2076 2227 1991 + 11100 2129 2227 2066 1991 + 11101 2076 2227 1991 2130 + 11102 1991 2066 2130 2227 + 11103 2305 2228 2064 1992 + 11104 2383 1993 2176 2064 + 11105 2229 1994 2304 2129 + 11106 2382 1994 2305 2126 + 11107 1994 2131 2229 2384 + 11108 2382 2447 2305 1994 + 11109 1994 2305 2384 2447 + 11110 1994 2304 2382 2447 + 11111 2304 1994 2229 2501 + 11112 2229 1994 2384 2501 + 11113 2384 1994 2447 2501 + 11114 2304 2447 1994 2501 + 11115 2132 2067 2385 1995 + 11116 1995 2067 2385 2127 + 11117 1995 2306 2448 2131 + 11118 2132 2385 2502 1995 + 11119 1995 2385 2502 2127 + 11120 2132 2307 1995 2502 + 11121 2306 2448 2502 1995 + 11122 2502 1995 2127 2306 + 11123 2448 1995 2307 2502 + 11124 1996 2066 2227 2130 + 11125 2231 1996 2130 2069 + 11126 2308 1996 2066 2227 + 11127 2308 2388 1996 2227 + 11128 2388 1996 2227 2130 + 11129 1996 2231 2130 2388 + 11130 2069 2200 2234 1997 + 11131 2313 2234 2200 1997 + 11132 2390 2234 2313 1997 + 11133 2390 1997 2313 2071 + 11134 2390 2454 2234 1997 + 11135 2454 1997 2390 2310 + 11136 1998 2136 2180 2075 + 11137 2213 1998 2180 2075 + 11138 1999 2133 2179 2070 + 11139 2070 2133 2236 2000 + 11140 2167 2000 2120 2313 + 11141 2000 2236 2070 2314 + 11142 2000 2313 2071 2455 + 11143 2000 2236 2455 2133 + 11144 2000 2313 2455 2120 + 11145 2000 2455 2314 2120 + 11146 2000 2455 2236 2314 + 11147 2133 2000 2071 2455 + 11148 2072 2217 2001 2133 + 11149 2217 2072 2001 2134 + 11150 2134 2001 2217 2296 + 11151 2134 2216 2001 2296 + 11152 2001 2133 2217 2315 + 11153 2133 2001 2073 2315 + 11154 2392 2001 2217 2315 + 11155 2001 2217 2296 2392 + 11156 2296 2001 2392 2457 + 11157 2296 2216 2001 2457 + 11158 2542 2001 2392 2315 + 11159 2001 2073 2542 2135 + 11160 2542 2073 2001 2315 + 11161 2392 2542 2457 2001 + 11162 2542 2216 2457 2001 + 11163 2216 2135 2001 2542 + 11164 2299 2003 2458 2224 + 11165 2063 2004 2226 2136 + 11166 2226 2004 2063 2303 + 11167 2318 2226 2004 2136 + 11168 2226 2004 2508 2318 + 11169 2226 2508 2004 2303 + 11170 2075 2005 2318 2238 + 11171 2319 2238 2005 2075 + 11172 2138 2006 2240 2206 + 11173 2122 2240 2006 2206 + 11174 2006 2240 2137 2320 + 11175 2006 2137 2077 2320 + 11176 2320 2077 2006 2204 + 11177 2006 2320 2204 2138 + 11178 2006 2240 2320 2138 + 11179 2077 2239 2137 2007 + 11180 2321 2239 2007 2137 + 11181 2079 2173 2323 2008 + 11182 2323 2081 2008 2243 + 11183 2323 2008 2173 2243 + 11184 2243 2081 2008 2324 + 11185 2324 2008 2243 2173 + 11186 2324 2205 2008 2173 + 11187 2182 2245 2325 2009 + 11188 2009 2325 2182 2081 + 11189 2081 2009 2325 2395 + 11190 2080 2009 2395 2203 + 11191 2245 2325 2009 2395 + 11192 2009 2203 2245 2395 + 11193 2146 2210 2011 2193 + 11194 2246 2196 2012 2327 + 11195 2012 2087 2181 2327 + 11196 2327 2012 2139 2196 + 11197 2246 2012 2181 2327 + 11198 2084 2141 2247 2013 + 11199 2330 2251 2190 2014 + 11200 2014 2398 2328 2082 + 11201 2329 2014 2139 2400 + 11202 2400 2139 2083 2014 + 11203 2251 2400 2014 2329 + 11204 2251 2400 2190 2014 + 11205 2014 2083 2400 2190 + 11206 2014 2401 2251 2329 + 11207 2248 2329 2401 2014 + 11208 2014 2401 2463 2251 + 11209 2014 2463 2398 2330 + 11210 2014 2251 2463 2330 + 11211 2463 2398 2328 2014 + 11212 2248 2328 2014 2513 + 11213 2513 2248 2401 2014 + 11214 2513 2401 2463 2014 + 11215 2328 2463 2014 2513 + 11216 2157 2015 2214 2113 + 11217 2085 2016 2140 2252 + 11218 2082 2017 2140 2328 + 11219 2017 2399 2086 2253 + 11220 2331 2399 2248 2017 + 11221 2331 2253 2399 2017 + 11222 2017 2162 2086 2399 + 11223 2140 2017 2402 2328 + 11224 2248 2402 2017 2328 + 11225 2017 2402 2331 2253 + 11226 2017 2331 2402 2248 + 11227 2255 2191 2018 2142 + 11228 2255 2018 2089 2142 + 11229 2018 2089 2154 2255 + 11230 2255 2191 2154 2018 + 11231 2189 2019 2087 2254 + 11232 2150 2188 2257 2019 + 11233 2150 2404 2089 2019 + 11234 2336 2019 2467 2404 + 11235 2019 2336 2467 2254 + 11236 2468 2404 2150 2019 + 11237 2404 2336 2019 2468 + 11238 2257 2019 2336 2468 + 11239 2468 2150 2257 2019 + 11240 2514 2467 2019 2404 + 11241 2019 2181 2087 2514 + 11242 2514 2019 2089 2404 + 11243 2514 2089 2019 2181 + 11244 2019 2467 2514 2254 + 11245 2254 2019 2087 2514 + 11246 2020 2259 2090 2153 + 11247 2245 2407 2091 2021 + 11248 2021 2182 2245 2407 + 11249 2260 2102 2022 2151 + 11250 2102 2260 2022 2338 + 11251 2090 2187 2338 2022 + 11252 2090 2338 2152 2022 + 11253 2338 2102 2152 2022 + 11254 2022 2260 2091 2338 + 11255 2091 2022 2338 2187 + 11256 2410 2342 2261 2023 + 11257 2023 2411 2261 2341 + 11258 2261 2023 2342 2411 + 11259 2411 2342 2092 2023 + 11260 2262 2145 2412 2024 + 11261 2024 2330 2144 2412 + 11262 2024 2262 2330 2412 + 11263 2145 2412 2024 2093 + 11264 2093 2024 2144 2412 + 11265 2330 2190 2470 2024 + 11266 2024 2262 2470 2330 + 11267 2263 2093 2145 2025 + 11268 2263 2093 2025 2158 + 11269 2025 2145 2263 2210 + 11270 2344 2025 2158 2263 + 11271 2344 2025 2110 2158 + 11272 2210 2110 2475 2025 + 11273 2025 2263 2344 2475 + 11274 2025 2344 2110 2475 + 11275 2210 2475 2263 2025 + 11276 2095 2027 2183 2148 + 11277 2095 2197 2027 2148 + 11278 2114 2197 2269 2027 + 11279 2027 2269 2348 2197 + 11280 2348 2183 2027 2148 + 11281 2348 2027 2197 2148 + 11282 2028 2148 2096 2347 + 11283 2270 2028 2096 2347 + 11284 2028 2186 2347 2416 + 11285 2270 2028 2347 2416 + 11286 2270 2416 2100 2028 + 11287 2100 2416 2186 2028 + 11288 2212 2149 2029 2097 + 11289 2212 2029 2184 2097 + 11290 2160 2099 2031 2351 + 11291 2186 2100 2031 2416 + 11292 2100 2031 2416 2274 + 11293 2031 2275 2186 2416 + 11294 2031 2186 2275 2421 + 11295 2160 2031 2479 2351 + 11296 2274 2479 2031 2416 + 11297 2031 2275 2416 2479 + 11298 2479 2031 2160 2274 + 11299 2031 2519 2421 2275 + 11300 2519 2031 2479 2275 + 11301 2351 2031 2519 2421 + 11302 2519 2479 2031 2351 + 11303 2337 2150 2032 2188 + 11304 2032 2337 2258 2422 + 11305 2032 2337 2422 2150 + 11306 2150 2422 2032 2192 + 11307 2033 2249 2083 2143 + 11308 2400 2083 2139 2033 + 11309 2400 2249 2083 2033 + 11310 2033 2209 2087 2403 + 11311 2033 2354 2209 2403 + 11312 2033 2276 2354 2403 + 11313 2033 2087 2327 2403 + 11314 2033 2410 2249 2143 + 11315 2410 2143 2033 2209 + 11316 2033 2139 2462 2327 + 11317 2033 2462 2400 2276 + 11318 2033 2462 2276 2403 + 11319 2139 2033 2462 2400 + 11320 2033 2462 2403 2327 + 11321 2033 2249 2410 2522 + 11322 2033 2410 2209 2522 + 11323 2522 2276 2354 2033 + 11324 2249 2400 2522 2033 + 11325 2033 2400 2522 2276 + 11326 2354 2522 2033 2209 + 11327 2334 2277 2034 2103 + 11328 2277 2034 2104 2334 + 11329 2034 2277 2104 2355 + 11330 2155 2034 2355 2106 + 11331 2155 2034 2104 2355 + 11332 2424 2034 2277 2103 + 11333 2355 2277 2424 2034 + 11334 2191 2357 2035 2107 + 11335 2035 2357 2191 2278 + 11336 2036 2112 2280 2163 + 11337 2112 2360 2036 2280 + 11338 2360 2195 2112 2036 + 11339 2428 2036 2108 2360 + 11340 2036 2280 2360 2428 + 11341 2099 2037 2265 2420 + 11342 2265 2526 2037 2110 + 11343 2526 2159 2037 2110 + 11344 2526 2265 2037 2420 + 11345 2139 2250 2196 2040 + 11346 2139 2329 2250 2040 + 11347 2364 2040 2195 2211 + 11348 2364 2196 2040 2211 + 11349 2364 2196 2250 2040 + 11350 2430 2162 2040 2329 + 11351 2162 2430 2040 2195 + 11352 2430 2250 2040 2364 + 11353 2430 2040 2195 2364 + 11354 2430 2040 2250 2329 + 11355 2184 2212 2272 2041 + 11356 2164 2287 2041 2419 + 11357 2164 2419 2041 2098 + 11358 2419 2252 2041 2098 + 11359 2041 2272 2365 2433 + 11360 2041 2365 2287 2433 + 11361 2212 2272 2041 2433 + 11362 2041 2287 2164 2433 + 11363 2164 2433 2114 2041 + 11364 2212 2041 2114 2433 + 11365 2272 2041 2365 2465 + 11366 2465 2272 2041 2184 + 11367 2465 2252 2041 2530 + 11368 2419 2041 2530 2287 + 11369 2041 2530 2252 2419 + 11370 2041 2365 2530 2287 + 11371 2365 2530 2465 2041 + 11372 2198 2428 2166 2042 + 11373 2042 2198 2428 2108 + 11374 2165 2288 2043 2115 + 11375 2201 2044 2170 2117 + 11376 2044 2368 2201 2170 + 11377 2200 2044 2170 2368 + 11378 2200 2235 2044 2368 + 11379 2044 2201 2368 2436 + 11380 2368 2044 2436 2235 + 11381 2235 2436 2116 2044 + 11382 2199 2045 2168 2369 + 11383 2199 2270 2045 2369 + 11384 2370 2119 2169 2046 + 11385 2201 2170 2048 2117 + 11386 2371 2170 2048 2201 + 11387 2213 2371 2231 2048 + 11388 2231 2170 2048 2371 + 11389 2371 2437 2201 2048 + 11390 2171 2437 2509 2048 + 11391 2048 2509 2171 2213 + 11392 2048 2371 2509 2213 + 11393 2371 2509 2437 2048 + 11394 2207 2160 2111 2049 + 11395 2049 2207 2160 2283 + 11396 2111 2160 2352 2049 + 11397 2111 2167 2049 2352 + 11398 2049 2160 2352 2283 + 11399 2049 2207 2283 2372 + 11400 2207 2049 2429 2372 + 11401 2120 2049 2491 2429 + 11402 2167 2120 2049 2491 + 11403 2352 2491 2049 2283 + 11404 2491 2049 2167 2352 + 11405 2491 2429 2049 2372 + 11406 2049 2283 2491 2372 + 11407 2172 2050 2326 2080 + 11408 2326 2080 2051 2242 + 11409 2079 2396 2051 2323 + 11410 2396 2242 2051 2323 + 11411 2538 2121 2051 2326 + 11412 2242 2051 2326 2538 + 11413 2538 2396 2051 2121 + 11414 2538 2051 2396 2242 + 11415 2497 2053 2122 2215 + 11416 2206 2122 2497 2053 + 11417 2497 2284 2053 2215 + 11418 2123 2294 2054 2324 + 11419 2205 2324 2054 2173 + 11420 2123 2324 2054 2205 + 11421 2324 2496 2054 2173 + 11422 2496 2324 2054 2294 + 11423 2294 2054 2496 2441 + 11424 2134 2178 2055 2296 + 11425 2055 2128 2296 2178 + 11426 2055 2296 2375 2134 + 11427 2055 2296 2128 2375 + 11428 2175 2298 2219 2056 + 11429 2295 2376 2056 2219 + 11430 2124 2299 2220 2057 + 11431 2059 2127 2177 2221 + 11432 2059 2297 2127 2221 + 11433 2177 2299 2059 2221 + 11434 2059 2444 2297 2221 + 11435 2059 2299 2444 2221 + 11436 2444 2299 2059 2220 + 11437 2059 2220 2376 2499 + 11438 2297 2499 2444 2059 + 11439 2297 2218 2499 2059 + 11440 2059 2444 2220 2499 + 11441 2218 2499 2059 2376 + 11442 2135 2379 2216 2060 + 11443 2063 2303 2382 2226 + 11444 2063 2126 2382 2303 + 11445 2225 2126 2064 2176 + 11446 2126 2305 2225 2064 + 11447 2383 2064 2176 2225 + 11448 2225 2383 2064 2305 + 11449 2064 2228 2305 2383 + 11450 2227 2129 2066 2307 + 11451 2132 2307 2387 2066 + 11452 2132 2387 2308 2066 + 11453 2066 2307 2387 2227 + 11454 2387 2066 2227 2308 + 11455 2297 2385 2067 2127 + 11456 2310 2389 2068 2178 + 11457 2312 2231 2170 2069 + 11458 2069 2312 2234 2200 + 11459 2069 2170 2312 2200 + 11460 2179 2215 2070 2133 + 11461 2215 2070 2133 2236 + 11462 2070 2314 2236 2215 + 11463 2133 2071 2390 2455 + 11464 2390 2071 2313 2455 + 11465 2391 2073 2179 2237 + 11466 2391 2073 2315 2133 + 11467 2073 2391 2179 2133 + 11468 2391 2315 2073 2237 + 11469 2456 2135 2073 2316 + 11470 2456 2073 2237 2316 + 11471 2456 2073 2315 2237 + 11472 2073 2456 2542 2135 + 11473 2542 2456 2073 2315 + 11474 2223 2074 2317 2381 + 11475 2136 2318 2180 2075 + 11476 2075 2318 2393 2238 + 11477 2318 2075 2393 2180 + 11478 2450 2213 2180 2075 + 11479 2393 2075 2450 2180 + 11480 2075 2171 2509 2213 + 11481 2238 2075 2319 2509 + 11482 2075 2393 2509 2238 + 11483 2509 2075 2319 2171 + 11484 2075 2509 2450 2213 + 11485 2450 2393 2509 2075 + 11486 2226 2136 2180 2076 + 11487 2309 2130 2227 2076 + 11488 2129 2076 2304 2386 + 11489 2386 2309 2227 2076 + 11490 2076 2386 2129 2227 + 11491 2543 2309 2386 2076 + 11492 2076 2304 2543 2226 + 11493 2543 2180 2309 2076 + 11494 2386 2076 2304 2543 + 11495 2076 2543 2180 2226 + 11496 2137 2320 2239 2077 + 11497 2077 2320 2239 2204 + 11498 2241 2078 2317 2460 + 11499 2223 2317 2078 2460 + 11500 2078 2394 2511 2241 + 11501 2078 2460 2241 2511 + 11502 2223 2511 2078 2316 + 11503 2078 2223 2460 2511 + 11504 2078 2511 2544 2316 + 11505 2544 2511 2078 2394 + 11506 2079 2204 2320 2138 + 11507 2173 2323 2244 2079 + 11508 2079 2244 2396 2323 + 11509 2242 2080 2172 2326 + 11510 2395 2172 2080 2203 + 11511 2395 2242 2080 2172 + 11512 2325 2182 2081 2146 + 11513 2146 2081 2325 2397 + 11514 2243 2397 2081 2324 + 11515 2146 2397 2193 2081 + 11516 2193 2397 2324 2081 + 11517 2461 2395 2081 2325 + 11518 2397 2461 2081 2325 + 11519 2397 2243 2081 2461 + 11520 2323 2512 2395 2081 + 11521 2461 2395 2512 2081 + 11522 2243 2323 2081 2512 + 11523 2243 2081 2461 2512 + 11524 2082 2328 2140 2247 + 11525 2398 2328 2082 2247 + 11526 2190 2083 2249 2143 + 11527 2190 2249 2083 2400 + 11528 2189 2209 2254 2087 + 11529 2087 2254 2403 2209 + 11530 2254 2087 2403 2514 + 11531 2327 2403 2087 2514 + 11532 2327 2087 2181 2514 + 11533 2088 2247 2184 2141 + 11534 2247 2140 2088 2465 + 11535 2247 2088 2184 2465 + 11536 2150 2256 2192 2089 + 11537 2089 2256 2192 2334 + 11538 2255 2089 2154 2334 + 11539 2255 2089 2335 2142 + 11540 2142 2089 2335 2181 + 11541 2404 2150 2089 2256 + 11542 2089 2256 2334 2404 + 11543 2334 2404 2466 2089 + 11544 2255 2466 2089 2334 + 11545 2466 2335 2255 2089 + 11546 2404 2335 2466 2089 + 11547 2514 2089 2335 2404 + 11548 2089 2514 2335 2181 + 11549 2259 2338 2090 2153 + 11550 2153 2338 2090 2187 + 11551 2338 2090 2152 2259 + 11552 2245 2147 2091 2339 + 11553 2091 2339 2260 2407 + 11554 2091 2245 2339 2407 + 11555 2091 2338 2408 2187 + 11556 2147 2091 2408 2187 + 11557 2338 2091 2408 2260 + 11558 2260 2408 2339 2091 + 11559 2408 2091 2147 2339 + 11560 2471 2151 2407 2092 + 11561 2151 2471 2342 2092 + 11562 2092 2471 2342 2411 + 11563 2145 2263 2412 2093 + 11564 2412 2144 2093 2333 + 11565 2473 2185 2093 2158 + 11566 2263 2473 2093 2158 + 11567 2333 2473 2185 2093 + 11568 2473 2093 2333 2412 + 11569 2473 2093 2412 2263 + 11570 2146 2094 2210 2345 + 11571 2146 2264 2094 2345 + 11572 2414 2094 2145 2341 + 11573 2094 2210 2345 2414 + 11574 2094 2145 2210 2414 + 11575 2345 2414 2517 2094 + 11576 2094 2345 2264 2517 + 11577 2414 2517 2094 2341 + 11578 2094 2517 2264 2341 + 11579 2148 2271 2096 2347 + 11580 2417 2271 2096 2349 + 11581 2417 2096 2271 2347 + 11582 2270 2096 2417 2347 + 11583 2097 2184 2212 2272 + 11584 2333 2097 2272 2184 + 11585 2333 2272 2097 2418 + 11586 2149 2418 2097 2212 + 11587 2185 2418 2097 2149 + 11588 2097 2212 2418 2272 + 11589 2418 2097 2333 2185 + 11590 2099 2265 2351 2420 + 11591 2351 2160 2099 2420 + 11592 2100 2199 2416 2270 + 11593 2100 2416 2199 2274 + 11594 2266 2101 2147 2346 + 11595 2346 2147 2187 2101 + 11596 2423 2102 2338 2260 + 11597 2188 2257 2102 2480 + 11598 2188 2102 2152 2480 + 11599 2152 2338 2480 2102 + 11600 2423 2338 2102 2480 + 11601 2260 2521 2102 2151 + 11602 2521 2260 2102 2423 + 11603 2102 2546 2480 2257 + 11604 2423 2102 2546 2480 + 11605 2546 2102 2423 2521 + 11606 2103 2191 2154 2255 + 11607 2154 2103 2255 2334 + 11608 2424 2482 2103 2277 + 11609 2103 2424 2356 2482 + 11610 2482 2356 2103 2425 + 11611 2483 2103 2191 2356 + 11612 2103 2483 2191 2255 + 11613 2425 2356 2103 2483 + 11614 2103 2483 2255 2425 + 11615 2482 2523 2103 2277 + 11616 2277 2334 2523 2103 + 11617 2482 2425 2103 2523 + 11618 2523 2255 2103 2334 + 11619 2523 2103 2255 2425 + 11620 2422 2104 2192 2334 + 11621 2104 2155 2355 2484 + 11622 2104 2355 2277 2484 + 11623 2277 2484 2525 2104 + 11624 2422 2525 2104 2334 + 11625 2525 2277 2104 2334 + 11626 2104 2484 2525 2422 + 11627 2165 2107 2357 2214 + 11628 2357 2191 2214 2107 + 11629 2198 2428 2108 2360 + 11630 2174 2109 2207 2281 + 11631 2420 2207 2109 2281 + 11632 2210 2110 2159 2282 + 11633 2344 2110 2265 2158 + 11634 2282 2210 2110 2475 + 11635 2475 2282 2526 2110 + 11636 2526 2110 2265 2344 + 11637 2475 2526 2344 2110 + 11638 2526 2159 2110 2282 + 11639 2112 2162 2195 2363 + 11640 2399 2285 2363 2112 + 11641 2399 2363 2162 2112 + 11642 2431 2163 2280 2112 + 11643 2363 2112 2285 2431 + 11644 2112 2431 2363 2280 + 11645 2280 2360 2488 2112 + 11646 2195 2488 2360 2112 + 11647 2112 2195 2488 2363 + 11648 2280 2488 2363 2112 + 11649 2246 2196 2211 2113 + 11650 2157 2214 2485 2113 + 11651 2157 2211 2113 2485 + 11652 2114 2433 2164 2269 + 11653 2433 2197 2269 2114 + 11654 2197 2114 2433 2212 + 11655 2115 2361 2198 2157 + 11656 2198 2115 2166 2361 + 11657 2115 2267 2361 2157 + 11658 2288 2115 2434 2367 + 11659 2288 2434 2115 2165 + 11660 2115 2434 2267 2165 + 11661 2288 2435 2115 2367 + 11662 2361 2435 2115 2166 + 11663 2166 2435 2115 2288 + 11664 2115 2361 2533 2435 + 11665 2533 2434 2115 2367 + 11666 2115 2435 2533 2367 + 11667 2533 2267 2361 2115 + 11668 2115 2434 2533 2267 + 11669 2167 2235 2352 2116 + 11670 2352 2168 2116 2534 + 11671 2235 2116 2436 2534 + 11672 2534 2168 2116 2436 + 11673 2235 2352 2116 2534 + 11674 2290 2202 2118 2171 + 11675 2119 2438 2535 2169 + 11676 2535 2370 2119 2169 + 11677 2292 2314 2120 2429 + 11678 2120 2455 2292 2313 + 11679 2292 2120 2314 2455 + 11680 2491 2167 2120 2313 + 11681 2120 2491 2292 2429 + 11682 2120 2292 2491 2313 + 11683 2293 2538 2121 2396 + 11684 2539 2293 2121 2396 + 11685 2179 2122 2237 2208 + 11686 2179 2237 2122 2215 + 11687 2122 2322 2240 2497 + 11688 2322 2122 2237 2497 + 11689 2206 2122 2240 2497 + 11690 2237 2497 2122 2215 + 11691 2123 2159 2324 2205 + 11692 2362 2159 2282 2123 + 11693 2442 2123 2362 2282 + 11694 2123 2442 2294 2324 + 11695 2294 2498 2442 2123 + 11696 2442 2123 2498 2362 + 11697 2281 2498 2174 2123 + 11698 2281 2362 2498 2123 + 11699 2159 2527 2282 2123 + 11700 2442 2527 2123 2282 + 11701 2527 2123 2324 2442 + 11702 2324 2159 2123 2527 + 11703 2220 2299 2124 2378 + 11704 2300 2220 2124 2378 + 11705 2303 2126 2382 2225 + 11706 2225 2126 2382 2305 + 11707 2221 2177 2306 2127 + 11708 2385 2297 2221 2127 + 11709 2502 2127 2221 2306 + 11710 2385 2221 2502 2127 + 11711 2178 2296 2230 2128 + 11712 2128 2296 2230 2375 + 11713 2128 2230 2449 2375 + 11714 2297 2128 2449 2218 + 11715 2375 2449 2128 2218 + 11716 2129 2229 2307 2386 + 11717 2304 2386 2229 2129 + 11718 2227 2386 2129 2307 + 11719 2388 2227 2309 2130 + 11720 2388 2450 2231 2130 + 11721 2231 2450 2213 2130 + 11722 2388 2309 2450 2130 + 11723 2309 2213 2450 2130 + 11724 2131 2384 2448 2229 + 11725 2132 2233 2387 2307 + 11726 2132 2311 2232 2453 + 11727 2233 2311 2132 2453 + 11728 2387 2233 2132 2453 + 11729 2233 2311 2502 2132 + 11730 2233 2132 2502 2307 + 11731 2311 2132 2385 2502 + 11732 2387 2132 2505 2453 + 11733 2132 2308 2387 2505 + 11734 2132 2451 2308 2505 + 11735 2132 2232 2505 2453 + 11736 2505 2541 2132 2451 + 11737 2505 2541 2232 2132 + 11738 2232 2311 2132 2541 + 11739 2451 2132 2385 2541 + 11740 2132 2541 2311 2385 + 11741 2179 2391 2215 2133 + 11742 2215 2133 2391 2236 + 11743 2391 2315 2236 2133 + 11744 2390 2455 2236 2133 + 11745 2315 2507 2133 2217 + 11746 2217 2133 2390 2507 + 11747 2133 2236 2507 2315 + 11748 2236 2390 2133 2507 + 11749 2217 2178 2134 2296 + 11750 2134 2216 2296 2375 + 11751 2135 2379 2223 2316 + 11752 2135 2456 2379 2316 + 11753 2216 2379 2135 2542 + 11754 2379 2542 2456 2135 + 11755 2318 2180 2226 2136 + 11756 2137 2239 2459 2321 + 11757 2137 2239 2320 2459 + 11758 2137 2321 2459 2394 + 11759 2240 2510 2394 2137 + 11760 2137 2459 2510 2394 + 11761 2459 2320 2137 2510 + 11762 2240 2320 2510 2137 + 11763 2329 2139 2250 2400 + 11764 2139 2462 2250 2400 + 11765 2250 2196 2462 2139 + 11766 2327 2139 2462 2196 + 11767 2402 2252 2140 2465 + 11768 2328 2140 2465 2402 + 11769 2328 2465 2140 2247 + 11770 2181 2335 2142 2246 + 11771 2142 2335 2255 2405 + 11772 2142 2335 2405 2469 + 11773 2469 2142 2335 2246 + 11774 2143 2249 2190 2340 + 11775 2143 2410 2249 2340 + 11776 2412 2515 2144 2333 + 11777 2515 2144 2398 2330 + 11778 2144 2247 2333 2515 + 11779 2330 2144 2412 2515 + 11780 2398 2247 2144 2515 + 11781 2343 2412 2262 2145 + 11782 2412 2263 2145 2343 + 11783 2210 2145 2263 2414 + 11784 2414 2145 2263 2343 + 11785 2414 2474 2341 2145 + 11786 2262 2474 2343 2145 + 11787 2343 2474 2414 2145 + 11788 2262 2341 2474 2145 + 11789 2146 2345 2210 2193 + 11790 2146 2397 2345 2193 + 11791 2264 2146 2325 2397 + 11792 2264 2397 2345 2146 + 11793 2339 2245 2147 2203 + 11794 2408 2346 2147 2187 + 11795 2476 2203 2339 2147 + 11796 2476 2339 2408 2147 + 11797 2408 2346 2476 2147 + 11798 2147 2203 2266 2476 + 11799 2346 2266 2476 2147 + 11800 2348 2271 2183 2148 + 11801 2415 2271 2148 2347 + 11802 2415 2197 2148 2348 + 11803 2348 2415 2271 2148 + 11804 2415 2268 2347 2148 + 11805 2415 2197 2268 2148 + 11806 2268 2186 2149 2350 + 11807 2268 2149 2418 2350 + 11808 2149 2418 2212 2268 + 11809 2149 2418 2350 2185 + 11810 2257 2188 2150 2337 + 11811 2150 2256 2422 2192 + 11812 2337 2256 2422 2150 + 11813 2150 2337 2256 2468 + 11814 2150 2257 2337 2468 + 11815 2404 2468 2150 2256 + 11816 2407 2260 2151 2471 + 11817 2521 2151 2260 2471 + 11818 2342 2151 2413 2521 + 11819 2342 2471 2151 2521 + 11820 2480 2406 2152 2337 + 11821 2152 2480 2337 2188 + 11822 2152 2480 2547 2406 + 11823 2259 2152 2338 2547 + 11824 2152 2547 2259 2406 + 11825 2338 2152 2480 2547 + 11826 2520 2338 2259 2153 + 11827 2187 2346 2153 2520 + 11828 2338 2153 2520 2187 + 11829 2278 2156 2359 2481 + 11830 2427 2157 2485 2211 + 11831 2157 2485 2214 2267 + 11832 2361 2157 2485 2427 + 11833 2361 2157 2267 2485 + 11834 2185 2473 2344 2158 + 11835 2344 2158 2473 2263 + 11836 2210 2159 2193 2282 + 11837 2362 2282 2159 2526 + 11838 2527 2159 2193 2324 + 11839 2527 2193 2159 2282 + 11840 2420 2207 2283 2160 + 11841 2420 2283 2351 2160 + 11842 2479 2283 2160 2351 + 11843 2352 2160 2479 2283 + 11844 2352 2274 2479 2160 + 11845 2162 2430 2195 2363 + 11846 2329 2399 2487 2162 + 11847 2399 2363 2487 2162 + 11848 2430 2487 2363 2162 + 11849 2487 2162 2430 2329 + 11850 2164 2287 2532 2433 + 11851 2164 2532 2269 2433 + 11852 2267 2357 2214 2165 + 11853 2267 2434 2357 2165 + 11854 2361 2490 2435 2166 + 11855 2198 2428 2490 2166 + 11856 2198 2166 2490 2361 + 11857 2491 2235 2167 2313 + 11858 2235 2491 2167 2352 + 11859 2168 2548 2352 2274 + 11860 2548 2369 2168 2436 + 11861 2534 2548 2168 2436 + 11862 2352 2548 2168 2534 + 11863 2199 2168 2274 2552 + 11864 2369 2168 2199 2552 + 11865 2168 2552 2548 2274 + 11866 2369 2548 2168 2552 + 11867 2289 2492 2169 2201 + 11868 2289 2535 2169 2492 + 11869 2492 2535 2169 2370 + 11870 2289 2535 2438 2169 + 11871 2170 2291 2368 2201 + 11872 2170 2371 2291 2201 + 11873 2170 2439 2368 2291 + 11874 2170 2200 2439 2312 + 11875 2368 2439 2170 2200 + 11876 2291 2439 2549 2170 + 11877 2170 2312 2549 2231 + 11878 2231 2371 2549 2170 + 11879 2291 2549 2371 2170 + 11880 2312 2549 2439 2170 + 11881 2290 2319 2202 2171 + 11882 2290 2509 2319 2171 + 11883 2290 2437 2509 2171 + 11884 2172 2495 2374 2395 + 11885 2395 2495 2242 2172 + 11886 2242 2172 2495 2326 + 11887 2395 2537 2172 2203 + 11888 2537 2203 2266 2172 + 11889 2537 2266 2374 2172 + 11890 2172 2374 2537 2395 + 11891 2324 2243 2496 2173 + 11892 2173 2554 2323 2243 + 11893 2554 2323 2244 2173 + 11894 2554 2173 2496 2243 + 11895 2244 2554 2173 2496 + 11896 2174 2281 2207 2429 + 11897 2281 2174 2498 2429 + 11898 2174 2429 2540 2498 + 11899 2284 2429 2540 2174 + 11900 2175 2298 2446 2219 + 11901 2380 2175 2446 2219 + 11902 2217 2452 2178 2296 + 11903 2217 2452 2310 2178 + 11904 2389 2310 2452 2178 + 11905 2389 2452 2230 2178 + 11906 2296 2178 2230 2452 + 11907 2391 2237 2179 2215 + 11908 2309 2393 2450 2180 + 11909 2450 2309 2180 2213 + 11910 2309 2180 2543 2393 + 11911 2226 2543 2180 2318 + 11912 2318 2393 2543 2180 + 11913 2181 2514 2246 2327 + 11914 2246 2514 2181 2335 + 11915 2325 2245 2182 2407 + 11916 2184 2465 2272 2545 + 11917 2545 2184 2465 2247 + 11918 2333 2272 2545 2184 + 11919 2247 2545 2184 2333 + 11920 2185 2418 2350 2273 + 11921 2273 2473 2185 2418 + 11922 2418 2333 2473 2185 + 11923 2185 2344 2473 2273 + 11924 2477 2268 2186 2347 + 11925 2275 2477 2421 2186 + 11926 2350 2268 2186 2477 + 11927 2350 2421 2477 2186 + 11928 2477 2275 2518 2186 + 11929 2416 2186 2518 2275 + 11930 2416 2518 2186 2347 + 11931 2186 2477 2347 2518 + 11932 2408 2338 2520 2187 + 11933 2187 2408 2346 2520 + 11934 2337 2480 2257 2188 + 11935 2251 2400 2353 2190 + 11936 2251 2470 2190 2353 + 11937 2330 2190 2251 2470 + 11938 2522 2340 2470 2190 + 11939 2190 2400 2353 2522 + 11940 2522 2249 2190 2400 + 11941 2190 2522 2340 2249 + 11942 2190 2470 2522 2353 + 11943 2191 2214 2426 2357 + 11944 2426 2357 2524 2191 + 11945 2278 2524 2357 2191 + 11946 2524 2483 2426 2191 + 11947 2524 2356 2483 2191 + 11948 2278 2356 2524 2191 + 11949 2192 2422 2334 2256 + 11950 2282 2193 2210 2345 + 11951 2486 2193 2345 2397 + 11952 2282 2486 2193 2345 + 11953 2486 2527 2193 2397 + 11954 2397 2324 2527 2193 + 11955 2282 2527 2193 2486 + 11956 2529 2464 2194 2253 + 11957 2427 2211 2364 2195 + 11958 2195 2488 2430 2364 + 11959 2427 2195 2488 2360 + 11960 2488 2195 2430 2363 + 11961 2195 2427 2488 2364 + 11962 2196 2246 2211 2432 + 11963 2432 2196 2246 2327 + 11964 2364 2432 2196 2211 + 11965 2432 2196 2250 2364 + 11966 2196 2432 2462 2327 + 11967 2250 2462 2196 2432 + 11968 2269 2348 2197 2489 + 11969 2489 2197 2269 2433 + 11970 2415 2489 2197 2348 + 11971 2197 2433 2531 2212 + 11972 2531 2268 2415 2197 + 11973 2531 2433 2197 2489 + 11974 2531 2197 2415 2489 + 11975 2268 2531 2212 2197 + 11976 2198 2490 2279 2361 + 11977 2490 2428 2198 2360 + 11978 2198 2360 2279 2490 + 11979 2552 2199 2270 2416 + 11980 2552 2369 2270 2199 + 11981 2552 2199 2416 2274 + 11982 2234 2439 2200 2312 + 11983 2200 2440 2234 2313 + 11984 2440 2235 2200 2368 + 11985 2440 2235 2313 2200 + 11986 2494 2440 2234 2200 + 11987 2368 2494 2439 2200 + 11988 2439 2234 2200 2494 + 11989 2200 2494 2440 2368 + 11990 2291 2437 2201 2371 + 11991 2291 2437 2492 2201 + 11992 2201 2536 2436 2289 + 11993 2291 2492 2536 2201 + 11994 2492 2289 2536 2201 + 11995 2536 2436 2368 2201 + 11996 2368 2201 2291 2536 + 11997 2476 2537 2339 2203 + 11998 2537 2266 2203 2476 + 11999 2395 2203 2245 2537 + 12000 2245 2537 2203 2339 + 12001 2497 2240 2206 2441 + 12002 2283 2372 2207 2420 + 12003 2420 2372 2207 2281 + 12004 2372 2207 2281 2429 + 12005 2254 2403 2209 2354 + 12006 2354 2254 2472 2209 + 12007 2209 2522 2410 2472 + 12008 2209 2354 2522 2472 + 12009 2475 2414 2210 2263 + 12010 2210 2475 2282 2528 + 12011 2345 2414 2210 2528 + 12012 2345 2210 2282 2528 + 12013 2528 2210 2475 2414 + 12014 2427 2364 2211 2286 + 12015 2364 2286 2432 2211 + 12016 2286 2432 2211 2469 + 12017 2469 2211 2246 2432 + 12018 2427 2211 2485 2286 + 12019 2272 2212 2418 2366 + 12020 2212 2272 2433 2366 + 12021 2212 2433 2531 2366 + 12022 2418 2531 2212 2268 + 12023 2531 2418 2212 2366 + 12024 2213 2231 2371 2450 + 12025 2450 2213 2509 2371 + 12026 2426 2357 2214 2267 + 12027 2485 2426 2214 2267 + 12028 2314 2215 2284 2391 + 12029 2314 2391 2236 2215 + 12030 2284 2391 2215 2497 + 12031 2237 2391 2497 2215 + 12032 2500 2216 2542 2379 + 12033 2542 2457 2216 2500 + 12034 2555 2216 2457 2500 + 12035 2555 2295 2375 2216 + 12036 2555 2500 2295 2216 + 12037 2638 2457 2216 2296 + 12038 2375 2638 2555 2216 + 12039 2638 2555 2216 2457 + 12040 2375 2296 2638 2216 + 12041 2392 2296 2452 2217 + 12042 2310 2507 2452 2217 + 12043 2217 2507 2452 2392 + 12044 2390 2507 2310 2217 + 12045 2315 2392 2507 2217 + 12046 2555 2218 2375 2295 + 12047 2375 2449 2218 2555 + 12048 2297 2218 2449 2556 + 12049 2297 2499 2218 2556 + 12050 2376 2218 2499 2714 + 12051 2556 2714 2499 2218 + 12052 2218 2714 2555 2449 + 12053 2295 2555 2218 2714 + 12054 2376 2295 2218 2714 + 12055 2556 2449 2714 2218 + 12056 2219 2446 2377 2298 + 12057 2557 2219 2446 2377 + 12058 2301 2557 2377 2219 + 12059 2639 2376 2295 2219 + 12060 2295 2639 2219 2500 + 12061 2445 2639 2500 2219 + 12062 2219 2557 2446 2640 + 12063 2219 2380 2445 2640 + 12064 2219 2446 2380 2640 + 12065 2219 2715 2557 2640 + 12066 2301 2715 2557 2219 + 12067 2715 2640 2219 2445 + 12068 2219 2715 2376 2301 + 12069 2639 2445 2715 2219 + 12070 2639 2715 2376 2219 + 12071 2220 2444 2299 2378 + 12072 2559 2444 2220 2378 + 12073 2559 2220 2443 2300 + 12074 2300 2559 2220 2378 + 12075 2301 2443 2559 2220 + 12076 2499 2641 2444 2220 + 12077 2641 2301 2220 2376 + 12078 2301 2641 2220 2559 + 12079 2499 2376 2641 2220 + 12080 2220 2559 2641 2444 + 12081 2311 2221 2502 2385 + 12082 2311 2556 2221 2385 + 12083 2221 2297 2385 2556 + 12084 2221 2444 2297 2556 + 12085 2311 2556 2444 2221 + 12086 2561 2381 2222 2302 + 12087 2302 2222 2561 2380 + 12088 2317 2381 2460 2223 + 12089 2511 2223 2379 2316 + 12090 2223 2381 2561 2302 + 12091 2223 2460 2561 2381 + 12092 2561 2302 2379 2223 + 12093 2223 2379 2643 2511 + 12094 2379 2643 2561 2223 + 12095 2460 2511 2223 2643 + 12096 2460 2223 2561 2643 + 12097 2225 2563 2305 2382 + 12098 2225 2563 2383 2305 + 12099 2303 2225 2382 2644 + 12100 2225 2644 2563 2382 + 12101 2226 2447 2382 2304 + 12102 2382 2303 2508 2226 + 12103 2508 2382 2226 2447 + 12104 2543 2508 2226 2447 + 12105 2508 2318 2543 2226 + 12106 2447 2226 2543 2304 + 12107 2309 2564 2227 2388 + 12108 2564 2387 2227 2308 + 12109 2564 2227 2388 2308 + 12110 2309 2227 2564 2645 + 12111 2309 2386 2227 2645 + 12112 2387 2564 2227 2719 + 12113 2719 2227 2386 2645 + 12114 2719 2386 2227 2307 + 12115 2719 2564 2227 2645 + 12116 2719 2227 2387 2307 + 12117 2563 2305 2228 2383 + 12118 2305 2503 2563 2228 + 12119 2229 2501 2386 2304 + 12120 2565 2384 2501 2229 + 12121 2229 2448 2565 2384 + 12122 2719 2386 2229 2501 + 12123 2229 2719 2565 2448 + 12124 2719 2448 2229 2307 + 12125 2307 2229 2719 2386 + 12126 2565 2501 2719 2229 + 12127 2230 2451 2504 2567 + 12128 2230 2504 2449 2567 + 12129 2389 2567 2230 2452 + 12130 2567 2230 2451 2389 + 12131 2230 2375 2296 2638 + 12132 2638 2567 2230 2449 + 12133 2638 2452 2296 2230 + 12134 2638 2230 2567 2452 + 12135 2230 2449 2375 2638 + 12136 2549 2388 2450 2231 + 12137 2549 2450 2371 2231 + 12138 2549 2388 2231 2312 + 12139 2453 2232 2505 2570 + 12140 2232 2505 2570 2650 + 12141 2505 2650 2232 2541 + 12142 2232 2650 2724 2541 + 12143 2541 2232 2311 2724 + 12144 2650 2232 2724 2790 + 12145 2232 2570 2790 2650 + 12146 2233 2502 2448 2307 + 12147 2233 2387 2307 2719 + 12148 2719 2233 2448 2307 + 12149 2233 2565 2719 2448 + 12150 2846 2233 2387 2453 + 12151 2233 2387 2719 2846 + 12152 2881 2719 2846 2233 + 12153 2233 2565 2881 2719 + 12154 2233 2881 2453 2846 + 12155 2571 2440 2313 2234 + 12156 2313 2390 2571 2234 + 12157 2652 2439 2494 2234 + 12158 2234 2652 2312 2506 + 12159 2234 2312 2652 2439 + 12160 2506 2722 2454 2234 + 12161 2722 2571 2390 2234 + 12162 2722 2390 2454 2234 + 12163 2652 2494 2727 2234 + 12164 2571 2727 2440 2234 + 12165 2727 2440 2234 2494 + 12166 2792 2234 2727 2571 + 12167 2506 2792 2722 2234 + 12168 2792 2722 2234 2571 + 12169 2652 2234 2727 2792 + 12170 2652 2506 2234 2792 + 12171 2491 2440 2235 2313 + 12172 2440 2235 2534 2491 + 12173 2235 2534 2491 2352 + 12174 2440 2573 2235 2368 + 12175 2573 2440 2235 2534 + 12176 2368 2436 2573 2235 + 12177 2235 2436 2573 2534 + 12178 2455 2390 2236 2571 + 12179 2571 2390 2236 2507 + 12180 2574 2236 2391 2315 + 12181 2236 2574 2391 2314 + 12182 2236 2653 2315 2574 + 12183 2571 2507 2236 2653 + 12184 2236 2315 2653 2507 + 12185 2728 2574 2653 2236 + 12186 2728 2653 2571 2236 + 12187 2236 2571 2728 2455 + 12188 2314 2236 2574 2728 + 12189 2728 2314 2236 2455 + 12190 2391 2322 2237 2497 + 12191 2237 2456 2316 2544 + 12192 2237 2729 2456 2544 + 12193 2729 2544 2237 2322 + 12194 2322 2237 2729 2391 + 12195 2456 2315 2729 2237 + 12196 2391 2729 2315 2237 + 12197 2238 2319 2576 2509 + 12198 2576 2509 2393 2238 + 12199 2393 2238 2318 2655 + 12200 2238 2731 2655 2393 + 12201 2576 2238 2393 2731 + 12202 2539 2320 2239 2459 + 12203 2497 2322 2240 2441 + 12204 2553 2240 2320 2510 + 12205 2240 2322 2544 2578 + 12206 2578 2544 2240 2394 + 12207 2240 2441 2322 2578 + 12208 2578 2240 2510 2394 + 12209 2510 2578 2657 2240 + 12210 2441 2240 2657 2578 + 12211 2553 2240 2657 2441 + 12212 2510 2657 2553 2240 + 12213 2241 2579 2321 2394 + 12214 2658 2394 2241 2511 + 12215 2394 2579 2658 2241 + 12216 2658 2241 2733 2511 + 12217 2579 2733 2658 2241 + 12218 2733 2460 2511 2241 + 12219 2395 2323 2242 2512 + 12220 2242 2326 2495 2538 + 12221 2242 2396 2581 2323 + 12222 2581 2538 2396 2242 + 12223 2512 2581 2323 2242 + 12224 2495 2538 2660 2242 + 12225 2581 2660 2538 2242 + 12226 2660 2395 2242 2512 + 12227 2660 2395 2495 2242 + 12228 2512 2660 2581 2242 + 12229 2397 2324 2243 2527 + 12230 2243 2554 2323 2512 + 12231 2583 2496 2324 2243 + 12232 2527 2324 2243 2583 + 12233 2662 2512 2243 2461 + 12234 2243 2662 2554 2512 + 12235 2554 2496 2738 2243 + 12236 2662 2554 2738 2243 + 12237 2243 2583 2738 2662 + 12238 2583 2738 2496 2243 + 12239 2739 2397 2243 2527 + 12240 2461 2243 2662 2739 + 12241 2397 2739 2243 2461 + 12242 2527 2243 2739 2583 + 12243 2243 2739 2583 2662 + 12244 2320 2550 2244 2553 + 12245 2554 2550 2244 2396 + 12246 2554 2396 2244 2323 + 12247 2553 2244 2496 2584 + 12248 2496 2584 2244 2554 + 12249 2554 2244 2550 2584 + 12250 2553 2550 2244 2584 + 12251 2407 2245 2516 2325 + 12252 2516 2245 2407 2339 + 12253 2395 2245 2661 2537 + 12254 2339 2661 2245 2537 + 12255 2516 2661 2245 2339 + 12256 2245 2661 2325 2395 + 12257 2516 2325 2245 2661 + 12258 2246 2469 2514 2335 + 12259 2432 2469 2514 2246 + 12260 2432 2246 2514 2327 + 12261 2545 2465 2328 2247 + 12262 2515 2247 2333 2545 + 12263 2328 2247 2398 2545 + 12264 2247 2515 2398 2545 + 12265 2329 2399 2248 2487 + 12266 2248 2487 2399 2331 + 12267 2331 2513 2402 2248 + 12268 2248 2513 2402 2328 + 12269 2248 2513 2401 2331 + 12270 2248 2487 2586 2329 + 12271 2248 2586 2401 2329 + 12272 2248 2586 2487 2331 + 12273 2248 2401 2586 2331 + 12274 2522 2410 2340 2249 + 12275 2400 2462 2250 2587 + 12276 2364 2666 2430 2250 + 12277 2250 2364 2666 2432 + 12278 2250 2400 2740 2329 + 12279 2587 2740 2250 2400 + 12280 2329 2250 2430 2740 + 12281 2741 2666 2250 2587 + 12282 2250 2666 2741 2432 + 12283 2741 2250 2462 2587 + 12284 2741 2462 2250 2432 + 12285 2430 2250 2666 2800 + 12286 2800 2587 2740 2250 + 12287 2430 2740 2250 2800 + 12288 2800 2666 2587 2250 + 12289 2251 2401 2463 2588 + 12290 2251 2667 2401 2588 + 12291 2251 2463 2668 2588 + 12292 2470 2251 2330 2668 + 12293 2463 2251 2668 2330 + 12294 2400 2251 2353 2740 + 12295 2251 2740 2400 2329 + 12296 2740 2251 2353 2667 + 12297 2401 2740 2667 2251 + 12298 2740 2251 2401 2329 + 12299 2251 2743 2667 2588 + 12300 2743 2353 2251 2667 + 12301 2802 2588 2251 2668 + 12302 2743 2802 2251 2353 + 12303 2251 2743 2588 2802 + 12304 2251 2802 2470 2353 + 12305 2470 2251 2668 2802 + 12306 2465 2402 2252 2530 + 12307 2419 2590 2252 2332 + 12308 2402 2252 2590 2332 + 12309 2402 2590 2252 2530 + 12310 2590 2252 2530 2419 + 12311 2331 2253 2529 2399 + 12312 2670 2253 2529 2331 + 12313 2331 2670 2253 2402 + 12314 2529 2670 2464 2253 + 12315 2670 2402 2464 2253 + 12316 2254 2467 2403 2354 + 12317 2403 2514 2467 2254 + 12318 2467 2591 2254 2336 + 12319 2336 2254 2413 2591 + 12320 2591 2413 2472 2254 + 12321 2254 2354 2591 2467 + 12322 2354 2472 2254 2591 + 12323 2335 2405 2466 2255 + 12324 2466 2523 2334 2255 + 12325 2405 2466 2255 2594 + 12326 2405 2255 2483 2594 + 12327 2523 2255 2466 2594 + 12328 2594 2255 2483 2425 + 12329 2523 2255 2594 2425 + 12330 2334 2422 2525 2256 + 12331 2256 2337 2422 2595 + 12332 2525 2422 2595 2256 + 12333 2256 2468 2337 2595 + 12334 2334 2596 2256 2525 + 12335 2596 2334 2256 2404 + 12336 2468 2256 2404 2596 + 12337 2256 2595 2673 2468 + 12338 2256 2673 2596 2468 + 12339 2256 2525 2673 2595 + 12340 2673 2256 2596 2525 + 12341 2336 2546 2257 2598 + 12342 2336 2257 2468 2598 + 12343 2257 2480 2337 2676 + 12344 2257 2337 2468 2676 + 12345 2257 2546 2676 2598 + 12346 2257 2676 2468 2598 + 12347 2480 2546 2676 2257 + 12348 2422 2258 2358 2595 + 12349 2422 2337 2258 2595 + 12350 2595 2258 2807 2337 + 12351 2258 2807 2358 2595 + 12352 2406 2807 2258 2337 + 12353 2547 2259 2520 2338 + 12354 2407 2339 2260 2471 + 12355 2260 2339 2408 2600 + 12356 2423 2338 2600 2260 + 12357 2408 2260 2600 2338 + 12358 2521 2600 2260 2423 + 12359 2471 2521 2678 2260 + 12360 2678 2521 2600 2260 + 12361 2678 2260 2339 2471 + 12362 2260 2678 2339 2600 + 12363 2472 2410 2261 2340 + 12364 2472 2261 2410 2342 + 12365 2261 2601 2340 2409 + 12366 2261 2341 2680 2409 + 12367 2341 2261 2680 2411 + 12368 2261 2680 2601 2409 + 12369 2472 2261 2681 2340 + 12370 2340 2601 2261 2681 + 12371 2261 2342 2752 2411 + 12372 2472 2752 2681 2261 + 12373 2752 2342 2261 2472 + 12374 2680 2411 2261 2752 + 12375 2261 2601 2680 2752 + 12376 2261 2681 2601 2752 + 12377 2341 2474 2409 2262 + 12378 2474 2409 2262 2602 + 12379 2474 2262 2343 2602 + 12380 2412 2262 2602 2343 + 12381 2262 2470 2330 2668 + 12382 2668 2262 2602 2412 + 12383 2262 2330 2412 2668 + 12384 2409 2470 2262 2856 + 12385 2470 2262 2856 2668 + 12386 2602 2409 2262 2856 + 12387 2602 2668 2856 2262 + 12388 2604 2344 2263 2475 + 12389 2414 2263 2604 2343 + 12390 2475 2604 2414 2263 + 12391 2263 2682 2344 2604 + 12392 2473 2412 2682 2263 + 12393 2263 2343 2682 2604 + 12394 2682 2263 2344 2473 + 12395 2682 2343 2263 2412 + 12396 2517 2411 2264 2341 + 12397 2264 2585 2325 2516 + 12398 2397 2664 2264 2345 + 12399 2264 2325 2664 2397 + 12400 2664 2325 2264 2585 + 12401 2411 2517 2264 2755 + 12402 2264 2755 2585 2516 + 12403 2264 2755 2516 2411 + 12404 2664 2264 2755 2585 + 12405 2345 2264 2517 2813 + 12406 2755 2517 2264 2813 + 12407 2264 2664 2755 2813 + 12408 2264 2345 2664 2813 + 12409 2344 2265 2526 2478 + 12410 2351 2265 2526 2420 + 12411 2265 2351 2526 2478 + 12412 2537 2374 2266 2476 + 12413 2361 2267 2533 2485 + 12414 2267 2426 2608 2485 + 12415 2608 2267 2533 2434 + 12416 2267 2608 2533 2485 + 12417 2267 2434 2608 2685 + 12418 2426 2685 2357 2267 + 12419 2434 2357 2685 2267 + 12420 2267 2608 2426 2685 + 12421 2477 2347 2415 2268 + 12422 2531 2477 2415 2268 + 12423 2531 2268 2418 2609 + 12424 2418 2350 2609 2268 + 12425 2531 2477 2268 2609 + 12426 2350 2609 2268 2477 + 12427 2489 2269 2532 2433 + 12428 2518 2347 2270 2417 + 12429 2270 2518 2417 2369 + 12430 2416 2270 2518 2347 + 12431 2270 2518 2552 2416 + 12432 2369 2552 2270 2518 + 12433 2415 2610 2271 2347 + 12434 2417 2271 2610 2347 + 12435 2271 2348 2686 2415 + 12436 2686 2271 2415 2610 + 12437 2271 2760 2349 2417 + 12438 2686 2760 2271 2610 + 12439 2271 2610 2760 2417 + 12440 2465 2272 2545 2365 + 12441 2545 2333 2515 2272 + 12442 2418 2272 2366 2593 + 12443 2593 2272 2333 2418 + 12444 2333 2593 2515 2272 + 12445 2433 2272 2365 2613 + 12446 2433 2366 2272 2613 + 12447 2272 2545 2744 2515 + 12448 2593 2744 2272 2366 + 12449 2545 2272 2744 2365 + 12450 2272 2744 2593 2515 + 12451 2613 2272 2365 2744 + 12452 2613 2366 2272 2744 + 12453 2593 2273 2418 2473 + 12454 2350 2273 2609 2421 + 12455 2418 2273 2609 2350 + 12456 2593 2273 2473 2682 + 12457 2273 2473 2682 2344 + 12458 2593 2688 2418 2273 + 12459 2609 2418 2688 2273 + 12460 2273 2478 2344 2758 + 12461 2273 2344 2682 2758 + 12462 2817 2478 2273 2758 + 12463 2609 2688 2817 2273 + 12464 2609 2273 2817 2421 + 12465 2421 2478 2273 2817 + 12466 2886 2593 2273 2688 + 12467 2886 2273 2817 2688 + 12468 2593 2886 2273 2682 + 12469 2817 2273 2886 2758 + 12470 2758 2886 2682 2273 + 12471 2479 2352 2548 2274 + 12472 2479 2552 2274 2548 + 12473 2274 2552 2479 2416 + 12474 2552 2416 2275 2479 + 12475 2416 2518 2552 2275 + 12476 2275 2552 2690 2518 + 12477 2691 2421 2519 2275 + 12478 2275 2690 2763 2518 + 12479 2275 2763 2477 2518 + 12480 2763 2615 2690 2275 + 12481 2275 2690 2764 2615 + 12482 2691 2519 2764 2275 + 12483 2275 2764 2691 2615 + 12484 2275 2519 2764 2479 + 12485 2764 2690 2275 2818 + 12486 2275 2818 2690 2552 + 12487 2275 2764 2818 2479 + 12488 2275 2479 2818 2552 + 12489 2763 2860 2615 2275 + 12490 2860 2615 2275 2691 + 12491 2421 2860 2477 2275 + 12492 2860 2275 2421 2691 + 12493 2477 2860 2763 2275 + 12494 2400 2353 2522 2276 + 12495 2462 2276 2587 2400 + 12496 2400 2587 2353 2276 + 12497 2672 2354 2276 2403 + 12498 2403 2276 2672 2741 + 12499 2462 2587 2276 2741 + 12500 2403 2462 2276 2741 + 12501 2672 2276 2587 2741 + 12502 2811 2522 2276 2354 + 12503 2811 2276 2672 2354 + 12504 2811 2522 2353 2276 + 12505 2811 2353 2862 2276 + 12506 2862 2276 2672 2811 + 12507 2587 2276 2862 2353 + 12508 2587 2862 2276 2672 + 12509 2596 2277 2525 2334 + 12510 2596 2523 2277 2334 + 12511 2277 2619 2482 2523 + 12512 2424 2619 2277 2355 + 12513 2424 2619 2482 2277 + 12514 2484 2620 2277 2525 + 12515 2620 2695 2484 2277 + 12516 2695 2355 2484 2277 + 12517 2355 2277 2695 2619 + 12518 2767 2620 2277 2695 + 12519 2277 2767 2525 2620 + 12520 2277 2767 2695 2619 + 12521 2525 2767 2277 2596 + 12522 2619 2277 2767 2523 + 12523 2767 2523 2277 2596 + 12524 2424 2359 2481 2278 + 12525 2424 2621 2359 2278 + 12526 2424 2621 2278 2356 + 12527 2278 2524 2356 2621 + 12528 2685 2524 2357 2278 + 12529 2278 2685 2524 2621 + 12530 2361 2485 2279 2427 + 12531 2533 2485 2279 2361 + 12532 2279 2361 2490 2624 + 12533 2279 2533 2361 2624 + 12534 2279 2360 2625 2490 + 12535 2279 2485 2626 2427 + 12536 2490 2625 2279 2699 + 12537 2279 2624 2490 2699 + 12538 2279 2625 2360 2700 + 12539 2427 2700 2279 2360 + 12540 2279 2427 2626 2700 + 12541 2279 2699 2625 2772 + 12542 2772 2279 2700 2625 + 12543 2485 2626 2773 2279 + 12544 2485 2279 2773 2533 + 12545 2827 2279 2700 2772 + 12546 2827 2699 2279 2772 + 12547 2827 2626 2700 2279 + 12548 2773 2827 2699 2279 + 12549 2827 2773 2626 2279 + 12550 2533 2773 2828 2279 + 12551 2828 2773 2699 2279 + 12552 2533 2828 2624 2279 + 12553 2828 2699 2624 2279 + 12554 2280 2428 2625 2360 + 12555 2829 2363 2431 2280 + 12556 2360 2488 2829 2280 + 12557 2280 2625 2829 2360 + 12558 2363 2829 2488 2280 + 12559 2281 2498 2372 2429 + 12560 2281 2498 2362 2689 + 12561 2281 2372 2498 2689 + 12562 2420 2689 2372 2281 + 12563 2420 2362 2689 2281 + 12564 2528 2345 2486 2282 + 12565 2282 2475 2526 2607 + 12566 2442 2282 2362 2607 + 12567 2362 2607 2282 2526 + 12568 2702 2282 2527 2442 + 12569 2442 2702 2282 2607 + 12570 2486 2527 2702 2282 + 12571 2282 2528 2475 2759 + 12572 2759 2702 2607 2282 + 12573 2759 2282 2607 2475 + 12574 2486 2702 2830 2282 + 12575 2759 2282 2528 2830 + 12576 2759 2702 2282 2830 + 12577 2830 2486 2282 2528 + 12578 2351 2479 2283 2519 + 12579 2491 2283 2352 2614 + 12580 2352 2479 2614 2283 + 12581 2479 2614 2283 2519 + 12582 2283 2689 2372 2420 + 12583 2283 2420 2762 2689 + 12584 2283 2351 2762 2420 + 12585 2762 2519 2283 2689 + 12586 2351 2283 2762 2519 + 12587 2614 2775 2491 2283 + 12588 2689 2775 2283 2372 + 12589 2283 2372 2775 2491 + 12590 2689 2519 2283 2861 + 12591 2861 2689 2775 2283 + 12592 2861 2775 2614 2283 + 12593 2283 2614 2861 2519 + 12594 2391 2540 2284 2314 + 12595 2284 2497 2540 2391 + 12596 2540 2284 2314 2429 + 12597 2285 2399 2363 2487 + 12598 2399 2285 2529 2487 + 12599 2363 2285 2703 2431 + 12600 2776 2703 2363 2285 + 12601 2776 2629 2703 2285 + 12602 2285 2363 2776 2487 + 12603 2285 2776 2629 2487 + 12604 2487 2629 2285 2803 + 12605 2487 2285 2529 2803 + 12606 2427 2485 2626 2286 + 12607 2626 2485 2373 2286 + 12608 2286 2432 2666 2364 + 12609 2427 2774 2364 2286 + 12610 2774 2626 2286 2427 + 12611 2286 2774 2364 2666 + 12612 2373 2286 2806 2626 + 12613 2469 2286 2432 2806 + 12614 2286 2666 2432 2806 + 12615 2469 2373 2286 2806 + 12616 2286 2626 2774 2890 + 12617 2286 2890 2666 2806 + 12618 2890 2806 2286 2626 + 12619 2666 2774 2890 2286 + 12620 2532 2287 2365 2433 + 12621 2419 2530 2590 2287 + 12622 2287 2532 2365 2777 + 12623 2777 2287 2833 2365 + 12624 2530 2365 2833 2287 + 12625 2530 2833 2590 2287 + 12626 2289 2633 2535 2492 + 12627 2633 2492 2289 2536 + 12628 2709 2438 2493 2289 + 12629 2709 2535 2438 2289 + 12630 2633 2493 2289 2709 + 12631 2535 2633 2289 2709 + 12632 2493 2633 2289 2778 + 12633 2436 2289 2536 2778 + 12634 2436 2369 2289 2778 + 12635 2369 2493 2289 2778 + 12636 2778 2289 2536 2633 + 12637 2656 2319 2290 2509 + 12638 2290 2656 2509 2437 + 12639 2290 2370 2779 2437 + 12640 2290 2656 2437 2779 + 12641 2291 2492 2437 2577 + 12642 2371 2577 2291 2437 + 12643 2368 2291 2707 2536 + 12644 2707 2368 2439 2291 + 12645 2492 2291 2710 2577 + 12646 2634 2291 2710 2780 + 12647 2710 2780 2291 2492 + 12648 2780 2291 2492 2536 + 12649 2707 2536 2291 2780 + 12650 2291 2837 2707 2780 + 12651 2634 2837 2291 2780 + 12652 2707 2439 2837 2291 + 12653 2837 2439 2549 2291 + 12654 2291 2634 2710 2873 + 12655 2549 2371 2873 2291 + 12656 2710 2873 2577 2291 + 12657 2291 2837 2634 2873 + 12658 2549 2873 2837 2291 + 12659 2873 2577 2291 2371 + 12660 2440 2491 2292 2313 + 12661 2292 2313 2455 2571 + 12662 2440 2571 2313 2292 + 12663 2314 2429 2292 2654 + 12664 2292 2455 2728 2571 + 12665 2314 2728 2654 2292 + 12666 2440 2728 2571 2292 + 12667 2728 2292 2314 2455 + 12668 2429 2292 2654 2832 + 12669 2292 2429 2491 2832 + 12670 2728 2832 2654 2292 + 12671 2728 2292 2440 2832 + 12672 2292 2832 2491 2440 + 12673 2539 2550 2293 2396 + 12674 2550 2539 2293 2580 + 12675 2538 2293 2663 2396 + 12676 2550 2293 2798 2580 + 12677 2396 2293 2663 2798 + 12678 2550 2293 2396 2798 + 12679 2293 2877 2798 2580 + 12680 2798 2877 2293 2663 + 12681 2324 2583 2442 2294 + 12682 2324 2496 2583 2294 + 12683 2498 2551 2294 2637 + 12684 2294 2736 2551 2441 + 12685 2551 2294 2637 2736 + 12686 2442 2784 2498 2294 + 12687 2294 2637 2713 2784 + 12688 2637 2498 2784 2294 + 12689 2840 2496 2294 2583 + 12690 2736 2840 2441 2294 + 12691 2294 2496 2840 2441 + 12692 2713 2840 2294 2583 + 12693 2713 2294 2843 2583 + 12694 2843 2294 2442 2583 + 12695 2843 2784 2442 2294 + 12696 2294 2713 2843 2784 + 12697 2736 2840 2294 2880 + 12698 2637 2713 2880 2294 + 12699 2294 2713 2880 2840 + 12700 2294 2736 2880 2637 + 12701 2555 2295 2500 2639 + 12702 2555 2714 2295 2639 + 12703 2376 2714 2639 2295 + 12704 2392 2296 2457 2638 + 12705 2392 2452 2296 2638 + 12706 2499 2297 2444 2556 + 12707 2556 2504 2449 2297 + 12708 2297 2385 2556 2504 + 12709 2557 2443 2301 2377 + 12710 2558 2641 2376 2301 + 12711 2557 2301 2443 2642 + 12712 2558 2376 2715 2301 + 12713 2641 2560 2716 2301 + 12714 2641 2716 2559 2301 + 12715 2716 2443 2559 2301 + 12716 2301 2560 2716 2642 + 12717 2301 2716 2443 2642 + 12718 2557 2301 2785 2715 + 12719 2785 2641 2301 2560 + 12720 2301 2642 2785 2560 + 12721 2642 2301 2785 2557 + 12722 2785 2301 2641 2558 + 12723 2785 2715 2301 2558 + 12724 2561 2302 2380 2445 + 12725 2561 2302 2445 2379 + 12726 2644 2382 2303 2508 + 12727 2501 2447 2543 2304 + 12728 2501 2543 2386 2304 + 12729 2305 2503 2384 2447 + 12730 2382 2563 2305 2447 + 12731 2305 2563 2503 2447 + 12732 2308 2387 2505 2564 + 12733 2308 2451 2568 2505 + 12734 2647 2388 2308 2564 + 12735 2308 2568 2647 2505 + 12736 2308 2505 2647 2564 + 12737 2506 2388 2308 2647 + 12738 2506 2308 2568 2647 + 12739 2568 2451 2308 2648 + 12740 2568 2308 2506 2648 + 12741 2648 2308 2389 2451 + 12742 2648 2308 2506 2389 + 12743 2309 2393 2543 2569 + 12744 2569 2309 2393 2450 + 12745 2309 2543 2645 2569 + 12746 2309 2543 2386 2645 + 12747 2721 2645 2569 2309 + 12748 2721 2569 2450 2309 + 12749 2721 2645 2309 2564 + 12750 2388 2564 2721 2309 + 12751 2388 2721 2450 2309 + 12752 2722 2454 2310 2389 + 12753 2310 2507 2722 2452 + 12754 2310 2722 2389 2452 + 12755 2390 2722 2310 2507 + 12756 2454 2310 2390 2722 + 12757 2385 2541 2311 2556 + 12758 2724 2541 2556 2311 + 12759 2724 2556 2786 2311 + 12760 2556 2786 2311 2444 + 12761 2312 2506 2549 2388 + 12762 2549 2312 2439 2572 + 12763 2312 2572 2549 2506 + 12764 2312 2652 2572 2506 + 12765 2439 2312 2652 2572 + 12766 2455 2313 2390 2571 + 12767 2391 2574 2540 2314 + 12768 2540 2314 2654 2429 + 12769 2574 2654 2540 2314 + 12770 2314 2574 2654 2728 + 12771 2392 2653 2315 2507 + 12772 2729 2315 2653 2574 + 12773 2574 2391 2729 2315 + 12774 2392 2315 2793 2542 + 12775 2653 2729 2793 2315 + 12776 2653 2793 2392 2315 + 12777 2793 2315 2456 2542 + 12778 2315 2729 2793 2456 + 12779 2511 2379 2456 2316 + 12780 2511 2456 2544 2316 + 12781 2655 2508 2318 2543 + 12782 2393 2318 2543 2655 + 12783 2576 2509 2319 2656 + 12784 2539 2550 2320 2459 + 12785 2320 2510 2459 2550 + 12786 2550 2320 2510 2553 + 12787 2579 2459 2321 2394 + 12788 2540 2391 2497 2322 + 12789 2540 2574 2391 2322 + 12790 2574 2729 2391 2322 + 12791 2441 2736 2551 2322 + 12792 2441 2736 2322 2578 + 12793 2551 2540 2322 2736 + 12794 2574 2322 2540 2736 + 12795 2729 2544 2322 2797 + 12796 2578 2322 2544 2797 + 12797 2736 2322 2578 2797 + 12798 2852 2322 2574 2736 + 12799 2736 2852 2322 2797 + 12800 2852 2322 2797 2729 + 12801 2574 2852 2729 2322 + 12802 2554 2581 2396 2323 + 12803 2581 2323 2554 2512 + 12804 2442 2527 2583 2324 + 12805 2461 2661 2395 2325 + 12806 2325 2461 2661 2585 + 12807 2325 2661 2516 2585 + 12808 2397 2664 2461 2325 + 12809 2585 2664 2325 2461 + 12810 2514 2462 2432 2327 + 12811 2462 2403 2327 2514 + 12812 2328 2465 2513 2402 + 12813 2465 2545 2328 2513 + 12814 2545 2328 2513 2463 + 12815 2545 2328 2463 2398 + 12816 2329 2487 2586 2665 + 12817 2487 2430 2665 2329 + 12818 2401 2329 2586 2740 + 12819 2329 2586 2740 2665 + 12820 2329 2430 2665 2740 + 12821 2515 2398 2463 2330 + 12822 2330 2412 2668 2515 + 12823 2668 2463 2330 2515 + 12824 2331 2399 2529 2487 + 12825 2589 2513 2402 2331 + 12826 2331 2589 2670 2402 + 12827 2671 2331 2487 2586 + 12828 2671 2742 2331 2586 + 12829 2742 2331 2586 2401 + 12830 2331 2589 2801 2742 + 12831 2589 2801 2513 2331 + 12832 2801 2401 2513 2331 + 12833 2801 2742 2401 2331 + 12834 2803 2670 2529 2331 + 12835 2803 2331 2589 2670 + 12836 2487 2529 2331 2803 + 12837 2803 2742 2331 2671 + 12838 2331 2803 2589 2742 + 12839 2803 2331 2487 2671 + 12840 2402 2590 2464 2332 + 12841 2473 2333 2515 2412 + 12842 2593 2333 2473 2418 + 12843 2593 2515 2473 2333 + 12844 2596 2523 2334 2466 + 12845 2596 2334 2404 2466 + 12846 2404 2514 2467 2335 + 12847 2469 2514 2335 2592 + 12848 2467 2514 2592 2335 + 12849 2597 2335 2405 2466 + 12850 2469 2335 2405 2597 + 12851 2335 2466 2674 2404 + 12852 2404 2467 2674 2335 + 12853 2467 2592 2674 2335 + 12854 2674 2335 2592 2745 + 12855 2674 2335 2745 2466 + 12856 2335 2469 2592 2745 + 12857 2597 2469 2335 2745 + 12858 2597 2745 2335 2466 + 12859 2468 2336 2674 2404 + 12860 2336 2467 2674 2404 + 12861 2546 2677 2336 2413 + 12862 2336 2677 2546 2598 + 12863 2336 2413 2677 2591 + 12864 2336 2468 2747 2598 + 12865 2674 2747 2336 2468 + 12866 2677 2336 2747 2598 + 12867 2336 2747 2674 2805 + 12868 2336 2674 2467 2805 + 12869 2677 2747 2336 2805 + 12870 2805 2336 2677 2591 + 12871 2805 2467 2336 2591 + 12872 2480 2599 2406 2337 + 12873 2480 2599 2337 2676 + 12874 2595 2337 2676 2468 + 12875 2337 2599 2406 2807 + 12876 2595 2807 2676 2337 + 12877 2337 2676 2599 2807 + 12878 2423 2338 2480 2547 + 12879 2423 2600 2338 2547 + 12880 2547 2520 2600 2338 + 12881 2600 2408 2338 2520 + 12882 2471 2516 2407 2339 + 12883 2471 2678 2516 2339 + 12884 2600 2339 2408 2751 + 12885 2537 2751 2476 2339 + 12886 2339 2751 2661 2537 + 12887 2600 2678 2339 2751 + 12888 2408 2476 2751 2339 + 12889 2808 2678 2339 2516 + 12890 2808 2339 2661 2516 + 12891 2661 2751 2339 2808 + 12892 2751 2678 2339 2808 + 12893 2522 2340 2410 2472 + 12894 2470 2340 2601 2409 + 12895 2522 2681 2340 2472 + 12896 2753 2340 2601 2470 + 12897 2470 2522 2753 2340 + 12898 2340 2753 2601 2681 + 12899 2522 2681 2753 2340 + 12900 2474 2517 2414 2341 + 12901 2341 2409 2474 2680 + 12902 2341 2680 2517 2411 + 12903 2341 2474 2517 2680 + 12904 2810 2471 2342 2521 + 12905 2810 2411 2752 2342 + 12906 2342 2471 2810 2411 + 12907 2810 2342 2858 2521 + 12908 2752 2810 2342 2858 + 12909 2472 2858 2342 2413 + 12910 2858 2342 2413 2521 + 12911 2342 2472 2752 2858 + 12912 2343 2474 2602 2683 + 12913 2412 2756 2343 2602 + 12914 2343 2682 2756 2412 + 12915 2757 2343 2414 2604 + 12916 2343 2757 2474 2683 + 12917 2757 2414 2343 2474 + 12918 2757 2683 2343 2604 + 12919 2343 2756 2812 2602 + 12920 2683 2812 2602 2343 + 12921 2683 2604 2859 2343 + 12922 2683 2859 2812 2343 + 12923 2343 2812 2756 2859 + 12924 2343 2756 2682 2859 + 12925 2604 2343 2682 2859 + 12926 2684 2526 2344 2475 + 12927 2684 2604 2475 2344 + 12928 2526 2684 2344 2478 + 12929 2758 2684 2478 2344 + 12930 2684 2758 2604 2344 + 12931 2604 2758 2682 2344 + 12932 2605 2345 2486 2528 + 12933 2605 2414 2345 2528 + 12934 2605 2517 2345 2414 + 12935 2605 2486 2345 2664 + 12936 2397 2486 2664 2345 + 12937 2605 2345 2813 2664 + 12938 2517 2605 2345 2813 + 12939 2408 2476 2346 2520 + 12940 2610 2347 2415 2477 + 12941 2477 2610 2347 2518 + 12942 2518 2610 2347 2417 + 12943 2415 2686 2489 2348 + 12944 2611 2417 2493 2349 + 12945 2349 2493 2611 2438 + 12946 2349 2760 2611 2417 + 12947 2350 2609 2477 2421 + 12948 2519 2421 2478 2351 + 12949 2420 2526 2351 2762 + 12950 2762 2351 2519 2478 + 12951 2762 2351 2478 2526 + 12952 2352 2614 2534 2491 + 12953 2614 2548 2352 2534 + 12954 2479 2352 2614 2548 + 12955 2587 2400 2353 2740 + 12956 2740 2587 2693 2353 + 12957 2753 2522 2470 2353 + 12958 2694 2618 2753 2353 + 12959 2743 2694 2802 2353 + 12960 2694 2753 2802 2353 + 12961 2753 2470 2802 2353 + 12962 2811 2753 2618 2353 + 12963 2753 2811 2522 2353 + 12964 2822 2743 2667 2353 + 12965 2740 2693 2822 2353 + 12966 2618 2353 2822 2693 + 12967 2822 2667 2740 2353 + 12968 2694 2822 2353 2743 + 12969 2694 2822 2618 2353 + 12970 2862 2353 2693 2587 + 12971 2811 2618 2862 2353 + 12972 2618 2862 2353 2693 + 12973 2403 2467 2592 2354 + 12974 2403 2592 2672 2354 + 12975 2748 2592 2467 2354 + 12976 2748 2672 2592 2354 + 12977 2354 2748 2591 2467 + 12978 2811 2354 2748 2591 + 12979 2811 2672 2748 2354 + 12980 2472 2354 2522 2811 + 12981 2811 2472 2354 2591 + 12982 2424 2768 2619 2355 + 12983 2768 2424 2481 2355 + 12984 2355 2695 2768 2619 + 12985 2356 2483 2425 2524 + 12986 2524 2425 2356 2697 + 12987 2697 2425 2356 2482 + 12988 2770 2356 2424 2482 + 12989 2770 2424 2356 2621 + 12990 2697 2356 2770 2482 + 12991 2621 2770 2824 2356 + 12992 2524 2356 2621 2824 + 12993 2356 2697 2824 2524 + 12994 2697 2824 2770 2356 + 12995 2685 2426 2357 2524 + 12996 2422 2525 2358 2484 + 12997 2595 2422 2525 2358 + 12998 2484 2358 2620 2525 + 12999 2358 2865 2525 2595 + 13000 2865 2358 2525 2620 + 13001 2595 2358 2865 2807 + 13002 2622 2481 2424 2359 + 13003 2621 2359 2769 2424 + 13004 2359 2622 2769 2424 + 13005 2490 2625 2428 2360 + 13006 2427 2488 2700 2360 + 13007 2360 2700 2829 2488 + 13008 2700 2829 2625 2360 + 13009 2361 2533 2435 2624 + 13010 2361 2435 2490 2624 + 13011 2498 2442 2362 2607 + 13012 2607 2362 2498 2689 + 13013 2762 2689 2362 2607 + 13014 2762 2689 2420 2362 + 13015 2420 2362 2526 2762 + 13016 2526 2362 2607 2762 + 13017 2430 2488 2363 2628 + 13018 2487 2776 2430 2363 + 13019 2363 2776 2628 2703 + 13020 2430 2363 2776 2628 + 13021 2829 2703 2431 2363 + 13022 2628 2363 2703 2829 + 13023 2488 2829 2363 2628 + 13024 2430 2488 2774 2364 + 13025 2774 2488 2427 2364 + 13026 2430 2666 2364 2774 + 13027 2613 2365 2433 2532 + 13028 2589 2365 2530 2669 + 13029 2465 2365 2545 2669 + 13030 2465 2530 2365 2669 + 13031 2545 2744 2669 2365 + 13032 2613 2777 2365 2532 + 13033 2365 2704 2777 2613 + 13034 2833 2704 2777 2365 + 13035 2833 2365 2530 2589 + 13036 2365 2870 2704 2613 + 13037 2833 2870 2704 2365 + 13038 2870 2833 2589 2365 + 13039 2870 2365 2669 2744 + 13040 2870 2365 2589 2669 + 13041 2744 2365 2613 2870 + 13042 2418 2531 2609 2366 + 13043 2418 2366 2688 2593 + 13044 2418 2609 2688 2366 + 13045 2613 2366 2834 2433 + 13046 2834 2609 2531 2366 + 13047 2834 2688 2609 2366 + 13048 2366 2531 2834 2433 + 13049 2593 2744 2366 2871 + 13050 2871 2593 2688 2366 + 13051 2871 2688 2834 2366 + 13052 2891 2366 2613 2744 + 13053 2871 2744 2366 2891 + 13054 2871 2366 2834 2891 + 13055 2834 2891 2366 2613 + 13056 2435 2706 2533 2367 + 13057 2835 2533 2706 2367 + 13058 2835 2706 2632 2367 + 13059 2533 2835 2434 2367 + 13060 2494 2573 2440 2368 + 13061 2573 2436 2368 2536 + 13062 2494 2439 2707 2368 + 13063 2573 2368 2707 2536 + 13064 2494 2707 2573 2368 + 13065 2369 2417 2612 2518 + 13066 2369 2690 2552 2518 + 13067 2369 2612 2690 2518 + 13068 2548 2778 2369 2436 + 13069 2690 2369 2778 2612 + 13070 2369 2493 2778 2816 + 13071 2417 2816 2493 2369 + 13072 2612 2369 2816 2417 + 13073 2816 2778 2369 2612 + 13074 2778 2548 2369 2818 + 13075 2548 2369 2818 2552 + 13076 2778 2369 2690 2818 + 13077 2552 2818 2690 2369 + 13078 2492 2779 2535 2370 + 13079 2492 2779 2370 2437 + 13080 2371 2509 2577 2437 + 13081 2509 2450 2371 2649 + 13082 2721 2371 2450 2649 + 13083 2721 2371 2549 2450 + 13084 2509 2577 2794 2371 + 13085 2649 2371 2509 2794 + 13086 2649 2721 2371 2794 + 13087 2371 2721 2549 2873 + 13088 2873 2794 2577 2371 + 13089 2371 2794 2721 2873 + 13090 2429 2627 2498 2372 + 13091 2498 2627 2689 2372 + 13092 2372 2775 2429 2627 + 13093 2372 2689 2775 2627 + 13094 2429 2775 2372 2491 + 13095 2594 2483 2405 2373 + 13096 2608 2485 2426 2373 + 13097 2405 2373 2750 2594 + 13098 2469 2405 2373 2806 + 13099 2712 2806 2373 2750 + 13100 2373 2806 2712 2626 + 13101 2806 2405 2373 2750 + 13102 2826 2426 2483 2373 + 13103 2608 2426 2826 2373 + 13104 2594 2826 2483 2373 + 13105 2826 2750 2373 2594 + 13106 2485 2866 2626 2373 + 13107 2866 2373 2712 2626 + 13108 2608 2373 2826 2888 + 13109 2373 2826 2888 2750 + 13110 2866 2373 2485 2888 + 13111 2373 2608 2485 2888 + 13112 2712 2866 2888 2373 + 13113 2750 2888 2373 2712 + 13114 2374 2495 2582 2395 + 13115 2374 2582 2537 2395 + 13116 2374 2537 2582 2814 + 13117 2537 2814 2374 2476 + 13118 2876 2495 2582 2374 + 13119 2374 2582 2876 2814 + 13120 2638 2375 2555 2449 + 13121 2639 2558 2714 2376 + 13122 2376 2714 2499 2641 + 13123 2714 2558 2641 2376 + 13124 2639 2715 2558 2376 + 13125 2500 2379 2542 2562 + 13126 2500 2445 2379 2562 + 13127 2643 2379 2445 2562 + 13128 2561 2445 2643 2379 + 13129 2717 2643 2379 2511 + 13130 2542 2379 2456 2717 + 13131 2562 2643 2379 2717 + 13132 2717 2511 2379 2456 + 13133 2562 2379 2542 2717 + 13134 2561 2380 2718 2445 + 13135 2445 2640 2380 2718 + 13136 2382 2644 2563 2447 + 13137 2644 2447 2382 2508 + 13138 2565 2501 2384 2646 + 13139 2384 2720 2503 2646 + 13140 2646 2501 2384 2720 + 13141 2720 2384 2503 2447 + 13142 2447 2384 2501 2720 + 13143 2451 2385 2504 2541 + 13144 2385 2504 2541 2556 + 13145 2543 2645 2788 2386 + 13146 2501 2719 2386 2788 + 13147 2645 2719 2788 2386 + 13148 2386 2501 2788 2543 + 13149 2846 2387 2505 2453 + 13150 2387 2564 2846 2505 + 13151 2387 2719 2846 2564 + 13152 2647 2388 2549 2506 + 13153 2564 2647 2388 2721 + 13154 2549 2721 2388 2647 + 13155 2721 2549 2388 2450 + 13156 2567 2451 2648 2389 + 13157 2389 2722 2567 2452 + 13158 2722 2567 2648 2389 + 13159 2722 2389 2648 2506 + 13160 2722 2454 2389 2506 + 13161 2390 2571 2722 2507 + 13162 2507 2638 2452 2392 + 13163 2653 2730 2507 2392 + 13164 2392 2507 2638 2730 + 13165 2392 2638 2457 2730 + 13166 2793 2392 2457 2730 + 13167 2793 2653 2392 2730 + 13168 2457 2392 2793 2542 + 13169 2569 2393 2649 2450 + 13170 2649 2393 2576 2509 + 13171 2509 2450 2649 2393 + 13172 2576 2393 2649 2731 + 13173 2393 2731 2569 2649 + 13174 2393 2731 2655 2883 + 13175 2393 2655 2543 2883 + 13176 2393 2569 2883 2543 + 13177 2731 2569 2883 2393 + 13178 2579 2510 2459 2394 + 13179 2510 2394 2658 2578 + 13180 2579 2394 2658 2510 + 13181 2658 2394 2544 2578 + 13182 2511 2658 2394 2544 + 13183 2395 2495 2582 2660 + 13184 2661 2537 2582 2395 + 13185 2461 2661 2737 2395 + 13186 2737 2395 2582 2660 + 13187 2512 2737 2660 2395 + 13188 2661 2582 2737 2395 + 13189 2461 2737 2512 2395 + 13190 2663 2538 2396 2581 + 13191 2581 2396 2663 2798 + 13192 2798 2581 2396 2554 + 13193 2554 2798 2550 2396 + 13194 2664 2461 2739 2397 + 13195 2397 2739 2486 2527 + 13196 2486 2739 2397 2664 + 13197 2545 2463 2515 2398 + 13198 2401 2588 2513 2463 + 13199 2401 2586 2667 2740 + 13200 2401 2667 2586 2742 + 13201 2742 2801 2401 2667 + 13202 2513 2401 2801 2588 + 13203 2401 2588 2667 2801 + 13204 2530 2465 2402 2669 + 13205 2513 2589 2402 2669 + 13206 2513 2402 2465 2669 + 13207 2589 2530 2402 2669 + 13208 2670 2530 2402 2589 + 13209 2464 2590 2402 2670 + 13210 2402 2590 2530 2670 + 13211 2467 2592 2514 2403 + 13212 2403 2741 2592 2514 + 13213 2514 2403 2741 2462 + 13214 2592 2403 2672 2741 + 13215 2674 2466 2596 2404 + 13216 2468 2404 2674 2596 + 13217 2405 2466 2594 2675 + 13218 2466 2597 2675 2405 + 13219 2405 2597 2675 2750 + 13220 2675 2594 2405 2750 + 13221 2806 2597 2405 2750 + 13222 2597 2405 2469 2806 + 13223 2547 2599 2406 2480 + 13224 2600 2679 2408 2520 + 13225 2476 2679 2520 2408 + 13226 2476 2751 2679 2408 + 13227 2679 2600 2408 2751 + 13228 2474 2409 2602 2754 + 13229 2474 2680 2409 2754 + 13230 2809 2680 2754 2409 + 13231 2601 2409 2680 2809 + 13232 2409 2601 2470 2856 + 13233 2409 2602 2754 2856 + 13234 2809 2856 2601 2409 + 13235 2809 2754 2856 2409 + 13236 2680 2603 2411 2752 + 13237 2755 2603 2411 2680 + 13238 2411 2680 2517 2755 + 13239 2752 2411 2810 2603 + 13240 2411 2471 2810 2516 + 13241 2810 2516 2857 2411 + 13242 2411 2755 2857 2603 + 13243 2411 2857 2810 2603 + 13244 2857 2411 2516 2755 + 13245 2682 2515 2412 2473 + 13246 2756 2668 2412 2515 + 13247 2756 2412 2682 2515 + 13248 2668 2602 2756 2412 + 13249 2546 2858 2677 2413 + 13250 2546 2521 2858 2413 + 13251 2591 2858 2413 2677 + 13252 2472 2591 2858 2413 + 13253 2528 2475 2604 2414 + 13254 2414 2604 2528 2757 + 13255 2605 2757 2517 2414 + 13256 2414 2605 2757 2528 + 13257 2757 2517 2414 2474 + 13258 2415 2761 2489 2686 + 13259 2415 2531 2761 2477 + 13260 2531 2761 2489 2415 + 13261 2415 2815 2761 2686 + 13262 2415 2610 2815 2686 + 13263 2415 2761 2815 2477 + 13264 2610 2415 2815 2477 + 13265 2518 2610 2417 2687 + 13266 2417 2687 2612 2518 + 13267 2417 2687 2610 2760 + 13268 2816 2611 2760 2417 + 13269 2611 2417 2816 2493 + 13270 2760 2417 2687 2816 + 13271 2816 2687 2612 2417 + 13272 2478 2421 2519 2691 + 13273 2421 2691 2478 2817 + 13274 2609 2860 2477 2421 + 13275 2421 2860 2691 2817 + 13276 2421 2609 2860 2817 + 13277 2546 2617 2521 2423 + 13278 2480 2423 2547 2692 + 13279 2480 2765 2423 2692 + 13280 2423 2765 2480 2546 + 13281 2600 2423 2521 2766 + 13282 2521 2617 2766 2423 + 13283 2600 2547 2423 2820 + 13284 2692 2423 2820 2766 + 13285 2547 2820 2692 2423 + 13286 2766 2600 2423 2820 + 13287 2546 2423 2821 2617 + 13288 2423 2765 2546 2821 + 13289 2821 2765 2692 2423 + 13290 2423 2821 2766 2692 + 13291 2617 2821 2766 2423 + 13292 2768 2481 2424 2622 + 13293 2424 2696 2622 2769 + 13294 2424 2621 2696 2769 + 13295 2770 2696 2424 2621 + 13296 2622 2696 2424 2823 + 13297 2768 2622 2424 2823 + 13298 2424 2768 2823 2619 + 13299 2482 2863 2619 2424 + 13300 2482 2770 2863 2424 + 13301 2863 2696 2424 2770 + 13302 2424 2823 2696 2863 + 13303 2424 2823 2863 2619 + 13304 2482 2594 2425 2523 + 13305 2524 2826 2425 2697 + 13306 2826 2425 2483 2524 + 13307 2826 2594 2483 2425 + 13308 2594 2482 2425 2864 + 13309 2697 2826 2425 2864 + 13310 2697 2425 2482 2864 + 13311 2594 2425 2826 2864 + 13312 2426 2685 2608 2524 + 13313 2426 2826 2483 2524 + 13314 2426 2524 2608 2826 + 13315 2427 2774 2626 2700 + 13316 2427 2488 2774 2700 + 13317 2627 2498 2654 2429 + 13318 2654 2540 2429 2498 + 13319 2775 2627 2832 2429 + 13320 2429 2654 2627 2832 + 13321 2775 2832 2491 2429 + 13322 2774 2628 2488 2430 + 13323 2430 2487 2665 2776 + 13324 2430 2776 2800 2628 + 13325 2430 2665 2740 2800 + 13326 2776 2430 2800 2665 + 13327 2774 2869 2628 2430 + 13328 2430 2869 2666 2774 + 13329 2430 2869 2800 2666 + 13330 2869 2430 2800 2628 + 13331 2514 2469 2432 2741 + 13332 2514 2741 2432 2462 + 13333 2806 2432 2469 2741 + 13334 2806 2666 2432 2741 + 13335 2532 2433 2705 2489 + 13336 2705 2433 2532 2613 + 13337 2489 2705 2761 2433 + 13338 2531 2489 2761 2433 + 13339 2834 2613 2433 2705 + 13340 2834 2433 2531 2761 + 13341 2834 2705 2433 2761 + 13342 2608 2533 2835 2434 + 13343 2685 2835 2434 2608 + 13344 2624 2435 2706 2533 + 13345 2548 2573 2436 2534 + 13346 2573 2436 2778 2548 + 13347 2778 2436 2573 2536 + 13348 2437 2577 2656 2509 + 13349 2656 2437 2779 2577 + 13350 2577 2492 2437 2779 + 13351 2611 2493 2709 2438 + 13352 2439 2652 2781 2572 + 13353 2439 2781 2652 2494 + 13354 2494 2781 2707 2439 + 13355 2837 2439 2781 2572 + 13356 2837 2549 2439 2572 + 13357 2781 2439 2837 2707 + 13358 2573 2708 2440 2534 + 13359 2440 2708 2573 2494 + 13360 2491 2534 2440 2708 + 13361 2491 2440 2832 2708 + 13362 2440 2708 2874 2832 + 13363 2727 2874 2440 2494 + 13364 2728 2440 2874 2832 + 13365 2874 2728 2571 2440 + 13366 2874 2708 2440 2494 + 13367 2874 2571 2727 2440 + 13368 2441 2657 2736 2578 + 13369 2840 2553 2657 2441 + 13370 2840 2441 2657 2736 + 13371 2840 2496 2553 2441 + 13372 2442 2702 2607 2784 + 13373 2498 2784 2442 2607 + 13374 2702 2442 2843 2784 + 13375 2702 2442 2527 2867 + 13376 2843 2442 2702 2867 + 13377 2867 2843 2442 2583 + 13378 2867 2442 2527 2583 + 13379 2444 2641 2499 2556 + 13380 2786 2641 2559 2444 + 13381 2444 2786 2641 2556 + 13382 2500 2445 2562 2639 + 13383 2445 2561 2643 2718 + 13384 2718 2643 2445 2787 + 13385 2445 2787 2643 2562 + 13386 2445 2787 2562 2844 + 13387 2844 2787 2718 2445 + 13388 2715 2844 2640 2445 + 13389 2445 2844 2640 2718 + 13390 2445 2639 2715 2844 + 13391 2445 2562 2639 2844 + 13392 2566 2447 2508 2543 + 13393 2644 2508 2566 2447 + 13394 2566 2644 2447 2720 + 13395 2447 2644 2563 2720 + 13396 2720 2503 2563 2447 + 13397 2447 2788 2543 2566 + 13398 2447 2788 2501 2543 + 13399 2845 2447 2501 2720 + 13400 2788 2566 2447 2845 + 13401 2720 2447 2566 2845 + 13402 2447 2501 2788 2845 + 13403 2714 2504 2449 2556 + 13404 2449 2638 2567 2789 + 13405 2449 2567 2504 2789 + 13406 2449 2789 2504 2714 + 13407 2638 2555 2789 2449 + 13408 2449 2555 2789 2714 + 13409 2721 2649 2450 2569 + 13410 2451 2650 2505 2541 + 13411 2568 2505 2451 2650 + 13412 2451 2504 2650 2541 + 13413 2568 2723 2650 2451 + 13414 2451 2650 2504 2723 + 13415 2723 2567 2504 2451 + 13416 2723 2648 2567 2451 + 13417 2648 2723 2568 2451 + 13418 2452 2567 2638 2507 + 13419 2452 2722 2567 2507 + 13420 2453 2651 2570 2846 + 13421 2846 2570 2453 2505 + 13422 2453 2846 2881 2651 + 13423 2575 2544 2511 2456 + 13424 2575 2511 2717 2456 + 13425 2729 2456 2544 2575 + 13426 2729 2793 2456 2575 + 13427 2542 2717 2456 2793 + 13428 2717 2456 2793 2575 + 13429 2500 2542 2457 2562 + 13430 2555 2639 2500 2457 + 13431 2457 2500 2562 2639 + 13432 2730 2638 2457 2555 + 13433 2457 2562 2542 2793 + 13434 2555 2850 2639 2457 + 13435 2850 2457 2555 2730 + 13436 2850 2457 2882 2639 + 13437 2457 2882 2562 2793 + 13438 2730 2457 2793 2882 + 13439 2457 2562 2882 2639 + 13440 2457 2850 2882 2730 + 13441 2580 2550 2539 2459 + 13442 2510 2459 2550 2580 + 13443 2659 2459 2579 2510 + 13444 2659 2459 2510 2580 + 13445 2796 2561 2643 2460 + 13446 2796 2643 2511 2460 + 13447 2796 2733 2460 2511 + 13448 2661 2737 2585 2461 + 13449 2662 2799 2512 2461 + 13450 2461 2799 2512 2737 + 13451 2461 2585 2799 2737 + 13452 2662 2853 2799 2461 + 13453 2662 2739 2853 2461 + 13454 2853 2461 2585 2799 + 13455 2664 2853 2739 2461 + 13456 2664 2585 2853 2461 + 13457 2463 2588 2513 2669 + 13458 2545 2513 2669 2463 + 13459 2545 2463 2669 2744 + 13460 2545 2515 2463 2744 + 13461 2463 2515 2668 2744 + 13462 2744 2669 2588 2463 + 13463 2463 2668 2588 2744 + 13464 2465 2669 2545 2513 + 13465 2466 2597 2745 2675 + 13466 2746 2596 2466 2523 + 13467 2466 2746 2523 2594 + 13468 2594 2675 2466 2746 + 13469 2674 2596 2466 2804 + 13470 2466 2746 2675 2804 + 13471 2466 2745 2804 2675 + 13472 2746 2804 2466 2596 + 13473 2466 2674 2804 2745 + 13474 2805 2591 2748 2467 + 13475 2467 2674 2592 2805 + 13476 2805 2592 2467 2748 + 13477 2468 2595 2749 2676 + 13478 2749 2595 2468 2673 + 13479 2468 2598 2676 2854 + 13480 2468 2676 2749 2854 + 13481 2854 2674 2468 2747 + 13482 2854 2468 2598 2747 + 13483 2468 2854 2749 2884 + 13484 2884 2468 2854 2674 + 13485 2749 2468 2884 2673 + 13486 2673 2884 2596 2468 + 13487 2884 2596 2468 2674 + 13488 2514 2592 2469 2741 + 13489 2597 2806 2469 2855 + 13490 2469 2592 2745 2855 + 13491 2741 2592 2469 2855 + 13492 2741 2469 2806 2855 + 13493 2469 2745 2597 2855 + 13494 2753 2601 2856 2470 + 13495 2753 2856 2802 2470 + 13496 2470 2668 2856 2802 + 13497 2678 2810 2521 2471 + 13498 2678 2516 2810 2471 + 13499 2522 2681 2472 2811 + 13500 2858 2885 2591 2472 + 13501 2858 2752 2885 2472 + 13502 2885 2752 2681 2472 + 13503 2885 2811 2591 2472 + 13504 2885 2681 2811 2472 + 13505 2473 2515 2593 2682 + 13506 2474 2606 2754 2683 + 13507 2606 2754 2680 2474 + 13508 2474 2754 2602 2683 + 13509 2680 2757 2606 2474 + 13510 2474 2757 2606 2683 + 13511 2517 2474 2757 2680 + 13512 2684 2526 2475 2607 + 13513 2759 2607 2684 2475 + 13514 2604 2684 2475 2759 + 13515 2604 2475 2528 2759 + 13516 2814 2679 2476 2751 + 13517 2537 2751 2814 2476 + 13518 2518 2477 2610 2687 + 13519 2609 2531 2477 2761 + 13520 2477 2763 2687 2518 + 13521 2610 2815 2687 2477 + 13522 2860 2763 2687 2477 + 13523 2815 2477 2860 2687 + 13524 2860 2477 2815 2761 + 13525 2609 2477 2860 2761 + 13526 2478 2691 2519 2616 + 13527 2478 2616 2684 2758 + 13528 2758 2478 2616 2691 + 13529 2684 2478 2762 2616 + 13530 2526 2762 2684 2478 + 13531 2616 2519 2478 2762 + 13532 2817 2478 2758 2691 + 13533 2614 2519 2479 2764 + 13534 2479 2818 2552 2548 + 13535 2479 2764 2818 2614 + 13536 2479 2614 2818 2548 + 13537 2599 2547 2692 2480 + 13538 2546 2765 2480 2676 + 13539 2599 2692 2765 2480 + 13540 2480 2765 2599 2676 + 13541 2698 2482 2619 2523 + 13542 2594 2523 2482 2746 + 13543 2482 2746 2523 2698 + 13544 2482 2623 2770 2697 + 13545 2770 2623 2482 2825 + 13546 2770 2482 2863 2825 + 13547 2825 2698 2482 2863 + 13548 2863 2698 2482 2619 + 13549 2864 2698 2746 2482 + 13550 2825 2482 2698 2864 + 13551 2623 2482 2825 2864 + 13552 2864 2482 2697 2623 + 13553 2864 2482 2746 2594 + 13554 2485 2701 2608 2533 + 13555 2866 2773 2485 2626 + 13556 2485 2773 2866 2533 + 13557 2485 2866 2701 2533 + 13558 2888 2608 2485 2701 + 13559 2888 2485 2866 2701 + 13560 2830 2486 2528 2605 + 13561 2830 2702 2486 2867 + 13562 2486 2867 2527 2739 + 13563 2527 2702 2867 2486 + 13564 2889 2486 2830 2605 + 13565 2486 2889 2739 2664 + 13566 2664 2486 2889 2605 + 13567 2889 2486 2739 2867 + 13568 2889 2486 2867 2830 + 13569 2671 2776 2487 2629 + 13570 2586 2776 2487 2671 + 13571 2586 2665 2487 2776 + 13572 2487 2671 2629 2803 + 13573 2700 2488 2774 2628 + 13574 2488 2700 2829 2628 + 13575 2761 2489 2686 2630 + 13576 2630 2489 2705 2761 + 13577 2534 2491 2614 2708 + 13578 2491 2614 2708 2775 + 13579 2708 2832 2491 2775 + 13580 2780 2492 2633 2536 + 13581 2710 2633 2780 2492 + 13582 2492 2633 2535 2836 + 13583 2633 2492 2710 2836 + 13584 2492 2535 2779 2836 + 13585 2779 2836 2872 2492 + 13586 2710 2872 2492 2577 + 13587 2872 2710 2492 2836 + 13588 2577 2872 2492 2779 + 13589 2633 2778 2493 2816 + 13590 2816 2633 2709 2493 + 13591 2816 2493 2709 2611 + 13592 2635 2494 2781 2707 + 13593 2636 2711 2782 2494 + 13594 2711 2782 2494 2635 + 13595 2708 2636 2782 2494 + 13596 2494 2635 2838 2711 + 13597 2781 2652 2494 2838 + 13598 2781 2494 2635 2838 + 13599 2839 2573 2494 2707 + 13600 2839 2494 2573 2708 + 13601 2494 2635 2782 2839 + 13602 2494 2707 2635 2839 + 13603 2839 2782 2494 2708 + 13604 2874 2636 2708 2494 + 13605 2894 2494 2652 2838 + 13606 2494 2838 2894 2711 + 13607 2494 2894 2652 2727 + 13608 2894 2874 2727 2494 + 13609 2494 2874 2636 2894 + 13610 2494 2636 2711 2894 + 13611 2660 2783 2538 2495 + 13612 2783 2495 2660 2876 + 13613 2582 2660 2495 2876 + 13614 2496 2738 2584 2554 + 13615 2840 2738 2496 2583 + 13616 2496 2584 2738 2840 + 13617 2496 2553 2584 2840 + 13618 2654 2551 2540 2498 + 13619 2627 2689 2842 2498 + 13620 2689 2498 2607 2842 + 13621 2498 2784 2607 2842 + 13622 2627 2879 2498 2842 + 13623 2498 2879 2551 2637 + 13624 2551 2654 2879 2498 + 13625 2498 2879 2637 2784 + 13626 2842 2498 2784 2879 + 13627 2654 2879 2498 2627 + 13628 2714 2499 2641 2556 + 13629 2719 2565 2788 2501 + 13630 2845 2501 2646 2720 + 13631 2845 2565 2646 2501 + 13632 2565 2788 2501 2845 + 13633 2567 2504 2789 2723 + 13634 2650 2504 2847 2541 + 13635 2723 2650 2504 2847 + 13636 2723 2504 2789 2847 + 13637 2504 2714 2789 2847 + 13638 2714 2847 2504 2556 + 13639 2556 2847 2504 2541 + 13640 2647 2568 2726 2505 + 13641 2505 2725 2570 2791 + 13642 2505 2791 2647 2725 + 13643 2647 2726 2791 2505 + 13644 2505 2846 2725 2647 + 13645 2846 2725 2570 2505 + 13646 2647 2846 2564 2505 + 13647 2848 2650 2570 2505 + 13648 2848 2726 2568 2505 + 13649 2848 2570 2791 2505 + 13650 2568 2848 2505 2650 + 13651 2848 2791 2726 2505 + 13652 2647 2549 2572 2506 + 13653 2726 2568 2647 2506 + 13654 2506 2726 2568 2652 + 13655 2572 2506 2726 2647 + 13656 2506 2652 2572 2726 + 13657 2568 2792 2506 2652 + 13658 2506 2568 2648 2792 + 13659 2722 2506 2648 2792 + 13660 2638 2730 2507 2567 + 13661 2507 2730 2849 2567 + 13662 2507 2722 2849 2571 + 13663 2730 2653 2507 2849 + 13664 2571 2507 2653 2849 + 13665 2507 2849 2722 2567 + 13666 2566 2508 2655 2543 + 13667 2656 2732 2576 2509 + 13668 2509 2656 2732 2577 + 13669 2794 2509 2649 2576 + 13670 2509 2732 2794 2577 + 13671 2794 2576 2732 2509 + 13672 2510 2550 2734 2580 + 13673 2659 2510 2734 2580 + 13674 2734 2550 2510 2553 + 13675 2734 2510 2657 2553 + 13676 2659 2579 2735 2510 + 13677 2579 2658 2735 2510 + 13678 2735 2658 2578 2510 + 13679 2734 2795 2510 2659 + 13680 2734 2657 2510 2795 + 13681 2578 2795 2735 2510 + 13682 2735 2510 2795 2659 + 13683 2578 2657 2795 2510 + 13684 2658 2544 2511 2575 + 13685 2643 2511 2717 2796 + 13686 2575 2717 2511 2851 + 13687 2796 2851 2733 2511 + 13688 2658 2733 2851 2511 + 13689 2717 2796 2511 2851 + 13690 2575 2511 2658 2851 + 13691 2662 2581 2554 2512 + 13692 2799 2512 2660 2581 + 13693 2799 2737 2660 2512 + 13694 2662 2799 2581 2512 + 13695 2801 2513 2669 2589 + 13696 2513 2801 2669 2588 + 13697 2744 2593 2515 2668 + 13698 2668 2593 2515 2756 + 13699 2682 2515 2593 2756 + 13700 2808 2585 2516 2661 + 13701 2585 2516 2857 2808 + 13702 2516 2678 2810 2857 + 13703 2857 2516 2585 2755 + 13704 2808 2678 2516 2857 + 13705 2757 2517 2680 2813 + 13706 2755 2517 2813 2680 + 13707 2605 2813 2517 2757 + 13708 2518 2612 2690 2763 + 13709 2518 2687 2612 2763 + 13710 2616 2819 2519 2762 + 13711 2519 2764 2819 2691 + 13712 2762 2819 2519 2689 + 13713 2819 2519 2691 2616 + 13714 2689 2819 2519 2861 + 13715 2819 2764 2519 2861 + 13716 2614 2861 2519 2764 + 13717 2600 2520 2547 2820 + 13718 2600 2820 2679 2520 + 13719 2600 2521 2678 2766 + 13720 2521 2678 2766 2617 + 13721 2521 2678 2617 2810 + 13722 2810 2521 2858 2617 + 13723 2521 2617 2546 2858 + 13724 2681 2811 2522 2753 + 13725 2523 2746 2596 2698 + 13726 2767 2698 2523 2596 + 13727 2619 2767 2698 2523 + 13728 2608 2524 2685 2771 + 13729 2608 2697 2524 2771 + 13730 2771 2685 2621 2524 + 13731 2771 2824 2697 2524 + 13732 2524 2621 2771 2824 + 13733 2524 2608 2826 2697 + 13734 2620 2525 2673 2767 + 13735 2767 2525 2673 2596 + 13736 2673 2595 2525 2865 + 13737 2525 2865 2620 2673 + 13738 2526 2607 2684 2762 + 13739 2867 2739 2583 2527 + 13740 2683 2528 2604 2757 + 13741 2831 2604 2528 2759 + 13742 2604 2683 2831 2528 + 13743 2868 2757 2605 2528 + 13744 2759 2831 2868 2528 + 13745 2759 2868 2830 2528 + 13746 2868 2528 2683 2757 + 13747 2683 2868 2831 2528 + 13748 2868 2605 2830 2528 + 13749 2833 2530 2590 2670 + 13750 2670 2833 2530 2589 + 13751 2531 2834 2761 2609 + 13752 2705 2532 2777 2613 + 13753 2828 2706 2631 2533 + 13754 2828 2624 2706 2533 + 13755 2608 2701 2835 2533 + 13756 2701 2835 2533 2631 + 13757 2706 2533 2835 2631 + 13758 2828 2866 2773 2533 + 13759 2828 2631 2866 2533 + 13760 2866 2701 2533 2631 + 13761 2573 2548 2892 2534 + 13762 2534 2892 2573 2708 + 13763 2614 2892 2548 2534 + 13764 2534 2614 2892 2708 + 13765 2633 2709 2535 2836 + 13766 2875 2573 2707 2536 + 13767 2875 2780 2633 2536 + 13768 2875 2780 2536 2707 + 13769 2778 2536 2875 2633 + 13770 2778 2573 2875 2536 + 13771 2661 2582 2537 2751 + 13772 2537 2751 2582 2814 + 13773 2663 2783 2538 2581 + 13774 2581 2783 2538 2660 + 13775 2654 2540 2551 2841 + 13776 2574 2841 2540 2654 + 13777 2736 2841 2551 2540 + 13778 2736 2574 2841 2540 + 13779 2556 2724 2847 2541 + 13780 2650 2847 2724 2541 + 13781 2542 2562 2717 2793 + 13782 2569 2543 2645 2788 + 13783 2566 2788 2543 2883 + 13784 2569 2883 2543 2788 + 13785 2566 2543 2655 2883 + 13786 2797 2658 2575 2544 + 13787 2797 2578 2658 2544 + 13788 2729 2575 2544 2797 + 13789 2546 2598 2765 2676 + 13790 2887 2546 2765 2821 + 13791 2598 2546 2765 2887 + 13792 2546 2821 2887 2617 + 13793 2887 2598 2546 2677 + 13794 2858 2887 2617 2546 + 13795 2858 2677 2887 2546 + 13796 2548 2892 2818 2778 + 13797 2548 2573 2892 2778 + 13798 2614 2548 2892 2818 + 13799 2893 2873 2837 2549 + 13800 2893 2549 2721 2873 + 13801 2893 2647 2549 2572 + 13802 2549 2893 2721 2647 + 13803 2837 2893 2549 2572 + 13804 2734 2553 2584 2550 + 13805 2798 2734 2550 2580 + 13806 2584 2798 2734 2550 + 13807 2584 2554 2798 2550 + 13808 2841 2551 2637 2736 + 13809 2551 2654 2841 2879 + 13810 2879 2551 2637 2841 + 13811 2584 2553 2734 2657 + 13812 2657 2584 2553 2840 + 13813 2878 2584 2554 2798 + 13814 2878 2554 2581 2798 + 13815 2878 2581 2554 2662 + 13816 2878 2738 2662 2554 + 13817 2878 2584 2738 2554 + 13818 2730 2789 2638 2555 + 13819 2850 2714 2555 2639 + 13820 2714 2555 2789 2850 + 13821 2850 2555 2789 2730 + 13822 2641 2896 2714 2556 + 13823 2714 2847 2556 2896 + 13824 2724 2847 2982 2556 + 13825 2847 2556 2896 2982 + 13826 2724 2982 2786 2556 + 13827 2641 2556 2786 2982 + 13828 2641 2982 2896 2556 + 13829 2642 2785 2897 2557 + 13830 2715 2557 2640 2897 + 13831 2785 2897 2557 2715 + 13832 2558 2785 2715 2844 + 13833 2558 2715 2639 2844 + 13834 2714 2558 2639 2850 + 13835 2558 2850 2895 2639 + 13836 2895 2639 2844 2558 + 13837 2641 2558 2714 2896 + 13838 2850 2714 2558 2896 + 13839 2850 2558 2895 2984 + 13840 2558 2850 2896 2984 + 13841 2641 3062 2558 2896 + 13842 2558 2896 3062 2984 + 13843 2785 3062 2558 2641 + 13844 3063 2844 2785 2558 + 13845 3063 2895 2844 2558 + 13846 2785 3138 3063 2558 + 13847 2984 3062 2558 3138 + 13848 3138 2895 3063 2558 + 13849 3062 2785 2558 3138 + 13850 2984 2558 2895 3138 + 13851 2559 2786 2716 2641 + 13852 2560 2898 2716 2642 + 13853 2641 2560 2982 2716 + 13854 2560 2898 2642 2985 + 13855 2560 2642 2785 2985 + 13856 2641 2982 2560 3062 + 13857 2560 2785 2641 3062 + 13858 2982 2716 2560 3064 + 13859 2716 2898 2560 3064 + 13860 3064 2982 3139 2560 + 13861 3062 3139 2982 2560 + 13862 3062 2560 2785 3197 + 13863 2560 3064 2898 3197 + 13864 3064 3139 3197 2560 + 13865 2898 3197 2985 2560 + 13866 2785 2985 3197 2560 + 13867 3062 3197 3139 2560 + 13868 2796 2643 2561 2718 + 13869 2562 2643 2717 2787 + 13870 2562 2717 2882 2787 + 13871 2882 2844 2639 2562 + 13872 2882 2717 2562 2793 + 13873 2882 2787 2844 2562 + 13874 2846 2719 2645 2564 + 13875 2647 2900 2721 2564 + 13876 2846 2647 2564 2900 + 13877 2564 2900 2645 2846 + 13878 2721 2900 2645 2564 + 13879 2719 2788 2565 2881 + 13880 2565 2788 2845 2901 + 13881 2845 2646 2565 2901 + 13882 2901 2565 2788 2881 + 13883 2788 2845 2883 2566 + 13884 2789 2638 2567 2730 + 13885 2849 2567 2648 2722 + 13886 2648 2567 2849 2723 + 13887 2723 3069 2567 2849 + 13888 2789 2567 3069 2730 + 13889 3069 2789 2723 2567 + 13890 2730 2849 2567 3069 + 13891 2848 2568 2723 2650 + 13892 2903 2648 2568 2792 + 13893 2568 2723 2648 2903 + 13894 2848 2903 2568 2726 + 13895 2568 2848 2723 2903 + 13896 2903 2568 2726 2652 + 13897 2568 2903 2792 2652 + 13898 2900 2645 2569 2721 + 13899 2731 2904 2883 2569 + 13900 2649 2569 2904 2731 + 13901 2883 2987 2788 2569 + 13902 2904 2987 2883 2569 + 13903 2900 2645 2987 2569 + 13904 2645 2788 2987 2569 + 13905 2721 2569 2900 3071 + 13906 2900 2987 3071 2569 + 13907 2569 2649 2904 3071 + 13908 2904 2987 2569 3071 + 13909 2721 2649 2569 3071 + 13910 2651 2725 2570 2846 + 13911 2790 2848 2650 2570 + 13912 2570 2791 2725 2906 + 13913 2725 2651 2570 2906 + 13914 2848 2992 2791 2570 + 13915 2570 2992 2791 2906 + 13916 2848 2790 2992 2570 + 13917 2992 3074 2906 2570 + 13918 2570 2651 3074 2906 + 13919 2849 2571 2722 2792 + 13920 2792 2727 2894 2571 + 13921 2894 2874 2571 2727 + 13922 2792 2894 2849 2571 + 13923 2894 2571 2910 2849 + 13924 2849 2571 2910 2653 + 13925 2571 2910 2728 2874 + 13926 2910 2571 2728 2653 + 13927 2571 2894 2910 2874 + 13928 2893 2781 2572 2837 + 13929 2572 2989 2647 2726 + 13930 2647 2893 2989 2572 + 13931 2572 2989 3077 2893 + 13932 2652 2572 2726 3077 + 13933 2893 3077 2572 2781 + 13934 2652 2781 2572 3077 + 13935 2572 3077 2989 2726 + 13936 2875 2707 2573 2839 + 13937 2892 2573 2839 2875 + 13938 2573 2875 2892 2778 + 13939 2892 2573 2708 2839 + 13940 2653 2852 2729 2574 + 13941 2574 2653 2852 2911 + 13942 2841 2911 2574 2736 + 13943 2852 2574 2911 2736 + 13944 2574 2996 2841 2654 + 13945 2996 2728 2574 2653 + 13946 2728 2574 2654 2996 + 13947 2574 2996 2653 2911 + 13948 2841 2996 2574 2911 + 13949 2851 2575 2797 2658 + 13950 2793 3066 2575 2729 + 13951 3066 2717 2575 2851 + 13952 2797 2575 3066 2729 + 13953 2793 3066 2717 2575 + 13954 2851 2575 3066 2797 + 13955 2732 3141 2576 2794 + 13956 2794 3141 2576 2649 + 13957 2649 2576 2731 3141 + 13958 2872 2656 2577 2732 + 13959 2656 2779 2872 2577 + 13960 2794 2873 2577 2710 + 13961 2732 2794 2577 2912 + 13962 2872 2732 2577 2912 + 13963 2710 2577 2794 2912 + 13964 2872 2577 2710 2912 + 13965 2851 2658 2578 2735 + 13966 2851 2797 2578 2658 + 13967 2913 2578 2797 2736 + 13968 2795 2913 2657 2578 + 13969 2913 2657 2578 2736 + 13970 2997 2795 2735 2578 + 13971 2795 2997 2913 2578 + 13972 2797 2997 2578 2913 + 13973 2851 2578 3148 2735 + 13974 2997 2578 2735 3148 + 13975 3148 2797 2578 2851 + 13976 3148 2997 2578 2797 + 13977 2914 2659 2579 2735 + 13978 2579 2914 2735 2658 + 13979 2658 2733 2579 2914 + 13980 2798 2877 2734 2580 + 13981 2915 2580 2659 2734 + 13982 2734 2580 2877 2915 + 13983 2581 2783 2916 2663 + 13984 2917 2878 2662 2581 + 13985 2917 2662 2799 2581 + 13986 2581 2916 3001 2663 + 13987 2581 2663 3001 2798 + 13988 3001 2798 2878 2581 + 13989 2917 3001 2878 2581 + 13990 2783 3084 2581 2916 + 13991 3084 2581 2799 2660 + 13992 3084 3001 2581 2916 + 13993 3084 2581 2660 2783 + 13994 3084 2581 3001 2917 + 13995 2917 2799 3084 2581 + 13996 2808 2582 2737 2661 + 13997 2661 2808 2582 2751 + 13998 2808 2918 2737 2582 + 13999 2876 2918 2582 2660 + 14000 2737 2582 2918 2660 + 14001 2751 3003 2582 2814 + 14002 2808 2582 3003 2918 + 14003 3003 2751 2582 2808 + 14004 2814 2582 2876 3085 + 14005 2582 3003 3085 2814 + 14006 2582 3003 2918 3085 + 14007 2582 3085 2918 2876 + 14008 2919 2840 2713 2583 + 14009 2583 2840 2738 2919 + 14010 2583 2738 2662 2919 + 14011 2739 3005 2583 2662 + 14012 2867 2739 3005 2583 + 14013 2583 2662 3005 2919 + 14014 3005 2583 2919 3087 + 14015 3087 2713 2843 2583 + 14016 3087 2583 2843 2867 + 14017 2867 3005 3087 2583 + 14018 3087 2919 2713 2583 + 14019 2878 2734 2584 2798 + 14020 2738 2878 2919 2584 + 14021 2584 2738 2840 2919 + 14022 2878 2998 2919 2584 + 14023 2734 2584 2998 2878 + 14024 2734 2998 2584 2657 + 14025 2840 2998 2584 2919 + 14026 2584 2657 2998 2840 + 14027 2808 2585 2661 2737 + 14028 2921 2853 2664 2585 + 14029 2585 2664 2921 2755 + 14030 2737 2799 3004 2585 + 14031 3004 2585 2799 2853 + 14032 2920 3006 2857 2585 + 14033 2755 2857 3006 2585 + 14034 2585 2921 3006 2755 + 14035 2737 3004 3086 2585 + 14036 2737 3086 2808 2585 + 14037 2585 3004 3086 2920 + 14038 2857 2585 3086 2920 + 14039 2585 3086 2808 2857 + 14040 2585 3004 2920 3088 + 14041 2921 3088 2853 2585 + 14042 2585 2853 3004 3088 + 14043 3088 2921 3006 2585 + 14044 2920 3088 3006 2585 + 14045 2586 2742 2667 2922 + 14046 2776 2922 2586 2665 + 14047 2740 2922 2586 2667 + 14048 2742 2586 2671 2922 + 14049 2740 2665 2586 2922 + 14050 2922 2776 2586 2671 + 14051 2693 2587 2740 2800 + 14052 2587 2741 2666 2855 + 14053 2587 2672 2741 2855 + 14054 2800 2666 2924 2587 + 14055 2800 2924 2693 2587 + 14056 2587 2666 2924 2855 + 14057 3008 2924 2587 2693 + 14058 2924 3008 2587 2855 + 14059 2587 3008 2672 2855 + 14060 2862 2693 3008 2587 + 14061 2587 3008 2862 2672 + 14062 2744 2926 2588 2669 + 14063 2588 2669 2926 2801 + 14064 2926 2588 2801 3010 + 14065 2667 3010 2588 2743 + 14066 3010 2667 2588 2801 + 14067 3011 2744 2926 2588 + 14068 3011 2668 2744 2588 + 14069 2743 2588 3090 3010 + 14070 3011 3090 2588 2926 + 14071 3090 2588 2926 3010 + 14072 3090 2668 3011 2588 + 14073 2802 3090 2588 2668 + 14074 3090 2588 2743 2802 + 14075 2801 2669 2870 2589 + 14076 2589 2833 2870 2930 + 14077 2589 2670 2833 2930 + 14078 3092 2870 2930 2589 + 14079 3092 2930 2670 2589 + 14080 2870 2589 3092 2801 + 14081 2803 3092 2670 2589 + 14082 3092 2801 2589 2742 + 14083 3092 2589 2803 2742 + 14084 2932 2591 2805 2677 + 14085 2932 2805 2591 2748 + 14086 2591 2858 2677 2933 + 14087 2591 2885 2858 2933 + 14088 2933 3015 2677 2591 + 14089 2591 2932 3015 2677 + 14090 2933 2591 2885 3094 + 14091 2933 3015 2591 3094 + 14092 3094 2748 2591 2811 + 14093 2591 3015 2932 3094 + 14094 2591 3094 2932 2748 + 14095 3094 2591 2885 2811 + 14096 2592 2745 2805 2674 + 14097 2855 2741 2592 2672 + 14098 2592 3154 2805 2745 + 14099 2592 2855 3154 2745 + 14100 3154 2748 2672 2592 + 14101 2855 3154 2672 2592 + 14102 3154 2805 2748 2592 + 14103 2593 2688 2886 2871 + 14104 2756 2682 2886 2593 + 14105 3011 2668 2756 2593 + 14106 2744 3011 2593 2668 + 14107 2871 2593 2744 3011 + 14108 2871 2593 3011 2886 + 14109 2756 2886 3011 2593 + 14110 2864 2826 2594 2750 + 14111 2594 2934 2675 2746 + 14112 2864 2594 2934 2750 + 14113 2864 2746 2934 2594 + 14114 2675 2934 2594 2750 + 14115 2807 2595 2676 2749 + 14116 2865 2749 2595 2807 + 14117 2673 2749 2595 2865 + 14118 2674 2884 2596 2804 + 14119 2767 2673 2935 2596 + 14120 2746 2935 2596 2698 + 14121 2767 2935 2698 2596 + 14122 2804 2746 2935 2596 + 14123 2935 2884 2596 2673 + 14124 2804 2935 2884 2596 + 14125 2745 2675 2597 2936 + 14126 2597 2855 2937 2806 + 14127 2750 2597 2937 2806 + 14128 2750 2597 3018 2937 + 14129 2597 3018 2675 2750 + 14130 2597 2936 2675 3018 + 14131 3018 2937 2597 3096 + 14132 2597 2855 2745 3096 + 14133 3018 2597 2936 3096 + 14134 2937 2855 2597 3096 + 14135 3096 2597 2936 2745 + 14136 2854 2938 2598 2676 + 14137 2676 2765 2938 2598 + 14138 2854 3101 2598 2938 + 14139 3101 2854 2598 2747 + 14140 3101 2598 2677 2747 + 14141 2598 3101 3157 2938 + 14142 2938 2598 2765 3157 + 14143 2887 2598 3157 2765 + 14144 3157 3205 3101 2598 + 14145 3101 3205 2677 2598 + 14146 2887 2677 3205 2598 + 14147 3157 2887 3205 2598 + 14148 3020 2599 2692 2765 + 14149 3020 2676 2599 2765 + 14150 2599 3100 2807 2676 + 14151 3100 2676 2599 3020 + 14152 2751 2679 2600 2820 + 14153 2820 2600 2751 2941 + 14154 2941 2600 2678 2766 + 14155 2766 2941 2600 2820 + 14156 2600 2941 2678 2751 + 14157 2601 2753 2856 2809 + 14158 2943 2809 2601 2680 + 14159 2809 2943 2601 2753 + 14160 2752 2601 2680 2943 + 14161 2681 2943 2753 2601 + 14162 2752 2681 2601 2943 + 14163 2812 2756 2668 2602 + 14164 2812 2683 2602 2754 + 14165 2812 2856 2602 2668 + 14166 2754 2602 2812 2856 + 14167 2603 2755 2813 2680 + 14168 2810 2857 2942 2603 + 14169 2603 2813 2944 2680 + 14170 3006 2857 2755 2603 + 14171 2755 2813 3006 2603 + 14172 2752 2603 3024 2680 + 14173 2680 2603 3024 2944 + 14174 3105 2942 2603 2810 + 14175 3105 2603 2752 2810 + 14176 2603 2942 3105 3024 + 14177 3024 2603 2752 3105 + 14178 3006 3106 2857 2603 + 14179 2942 3106 2603 2857 + 14180 3164 2942 2603 3024 + 14181 2942 3106 3164 2603 + 14182 3165 2813 2944 2603 + 14183 3165 3006 2813 2603 + 14184 3165 2603 3106 3006 + 14185 2603 3164 3210 3106 + 14186 2944 3210 3165 2603 + 14187 3165 2603 3210 3106 + 14188 3210 2603 3024 3164 + 14189 3024 3210 2944 2603 + 14190 2831 2758 2604 2684 + 14191 2684 2604 2831 2759 + 14192 2683 2859 2604 2831 + 14193 2831 2604 2758 2859 + 14194 2604 2682 2758 2859 + 14195 2605 2813 2921 2664 + 14196 2664 2889 2921 2605 + 14197 3026 2605 2757 2813 + 14198 3026 2757 2605 2868 + 14199 2830 3026 2605 2868 + 14200 2605 2921 2813 3026 + 14201 2830 2605 3026 2889 + 14202 2921 2605 2889 3026 + 14203 2606 2754 2809 2680 + 14204 2813 2757 2606 2680 + 14205 2813 2606 2944 2680 + 14206 2683 2754 2945 2606 + 14207 2945 2606 3026 2683 + 14208 2683 3026 2757 2606 + 14209 3026 2757 2606 2813 + 14210 2606 2680 2809 3104 + 14211 2606 2944 2680 3104 + 14212 3026 3108 2606 2945 + 14213 3108 2606 3163 2948 + 14214 3163 3104 2948 2606 + 14215 3163 2606 3108 2945 + 14216 3163 2945 2754 2606 + 14217 3163 3104 2606 2809 + 14218 3163 2606 2754 2809 + 14219 2813 2606 3026 3165 + 14220 2813 2944 2606 3165 + 14221 2606 2944 3104 3210 + 14222 3165 2944 2606 3210 + 14223 2606 3104 2948 3210 + 14224 3235 3108 2606 3026 + 14225 3026 2606 3235 3165 + 14226 3108 3235 2606 2948 + 14227 3235 2948 3210 2606 + 14228 3165 2606 3235 3210 + 14229 3030 2762 2684 2607 + 14230 3030 2689 2762 2607 + 14231 2689 2607 3030 2842 + 14232 2684 3030 2607 2759 + 14233 3109 2842 3030 2607 + 14234 2607 2702 2759 3109 + 14235 2607 2759 3030 3109 + 14236 3109 2784 2842 2607 + 14237 2607 2702 3109 2784 + 14238 2608 2835 2701 2771 + 14239 2608 2685 2835 2771 + 14240 2608 2826 2697 2888 + 14241 2701 2771 3032 2608 + 14242 2608 2697 3032 2888 + 14243 2697 2771 2608 3032 + 14244 3032 2888 2701 2608 + 14245 2609 2761 2860 2951 + 14246 2609 2834 2761 2951 + 14247 2860 2817 2609 2951 + 14248 2688 2834 2609 2951 + 14249 2609 2951 2817 2688 + 14250 2760 2815 2610 2686 + 14251 2815 2610 2687 2760 + 14252 2954 2709 2611 2816 + 14253 2611 3033 2954 2816 + 14254 2816 3033 2760 2611 + 14255 2816 2612 2875 2778 + 14256 2690 2955 2763 2612 + 14257 2875 3035 2612 2816 + 14258 3114 2612 2875 3035 + 14259 2778 2690 2612 3114 + 14260 2690 2955 2612 3114 + 14261 2778 2612 2875 3114 + 14262 3035 2612 2816 3170 + 14263 2612 2955 2763 3170 + 14264 3170 2816 2687 2612 + 14265 2612 2763 2687 3170 + 14266 3212 2955 2612 3170 + 14267 3212 2612 2955 3114 + 14268 2612 3114 3212 3035 + 14269 3035 3212 2612 3170 + 14270 2705 2891 2834 2613 + 14271 2744 2613 2891 2870 + 14272 2891 2704 2870 2613 + 14273 3036 2777 2704 2613 + 14274 2705 2891 2613 3036 + 14275 3036 2704 2891 2613 + 14276 2705 2613 2777 3036 + 14277 2861 2775 2708 2614 + 14278 2818 2764 2861 2614 + 14279 2614 2892 2861 2818 + 14280 2861 2708 2892 2614 + 14281 2615 2691 2860 2817 + 14282 2763 2690 2615 2955 + 14283 3037 2691 2615 2817 + 14284 2690 2615 2955 3174 + 14285 2764 2615 3174 2691 + 14286 3037 3174 2615 2691 + 14287 3037 2955 2615 3174 + 14288 2690 2615 3174 2764 + 14289 3213 2955 2615 3037 + 14290 2860 3213 2763 2615 + 14291 3037 2615 3213 2817 + 14292 2615 2860 3213 2817 + 14293 2763 2615 3213 2955 + 14294 2758 2684 2949 2616 + 14295 2758 2616 3029 2691 + 14296 2758 2949 3029 2616 + 14297 2949 2819 2616 3030 + 14298 2616 2949 3030 2684 + 14299 2762 2616 2819 3030 + 14300 2616 3030 2762 2684 + 14301 2949 3116 3029 2616 + 14302 2616 2691 2819 3116 + 14303 2616 3029 2691 3116 + 14304 2949 2819 3116 2616 + 14305 2858 2617 2887 2933 + 14306 2678 2810 2942 2617 + 14307 2960 2887 2821 2617 + 14308 2821 2960 2617 2766 + 14309 3023 2678 2617 2766 + 14310 2678 2942 3023 2617 + 14311 2766 2617 3023 2960 + 14312 3105 2810 2617 2942 + 14313 3105 2858 2933 2617 + 14314 2810 2617 2858 3105 + 14315 3023 2942 3236 2617 + 14316 2960 3023 3236 2617 + 14317 2887 2617 3236 2933 + 14318 2960 3236 2887 2617 + 14319 3105 2617 3236 2942 + 14320 3105 2933 3236 2617 + 14321 2694 2618 2822 3013 + 14322 2694 2961 2618 3013 + 14323 2753 2618 2694 3014 + 14324 2694 2618 2961 3014 + 14325 2618 3120 2862 2693 + 14326 2862 2618 2961 3120 + 14327 3176 3013 2822 2618 + 14328 3176 2961 2618 3120 + 14329 3176 2822 2693 2618 + 14330 3176 2961 3013 2618 + 14331 2618 3176 3120 2693 + 14332 2753 3208 2618 3014 + 14333 3208 2961 2618 3014 + 14334 2618 3208 2811 2862 + 14335 2862 2961 2618 3208 + 14336 2811 2618 2753 3208 + 14337 2863 2767 2698 2619 + 14338 2962 2823 2768 2619 + 14339 2962 2863 2823 2619 + 14340 2619 2767 2695 2962 + 14341 2768 2695 2962 2619 + 14342 2619 2863 2767 2962 + 14343 2673 2767 2935 2620 + 14344 3016 2620 2865 2673 + 14345 2673 2935 3016 2620 + 14346 2767 3178 2620 2695 + 14347 2620 2935 3016 3178 + 14348 2620 2767 2935 3178 + 14349 2771 2963 2824 2621 + 14350 2696 2963 2621 2770 + 14351 2770 2824 2963 2621 + 14352 2963 2696 2621 2769 + 14353 2965 2622 2823 2696 + 14354 2769 2622 2965 2696 + 14355 2824 2770 2623 2697 + 14356 2967 2623 2825 2864 + 14357 3045 2967 2623 2825 + 14358 2623 3098 3045 2968 + 14359 3045 2967 3098 2623 + 14360 3098 2864 2623 2967 + 14361 2623 2864 3098 2968 + 14362 2623 3123 2770 2824 + 14363 2623 2966 3123 2824 + 14364 2623 3123 2825 2770 + 14365 3045 2825 2623 3123 + 14366 2697 2623 2824 3125 + 14367 2966 2824 2623 3125 + 14368 2697 3125 2864 2623 + 14369 2968 2623 2864 3125 + 14370 3123 2966 2623 3180 + 14371 3123 2623 3045 3180 + 14372 2623 3180 2966 3125 + 14373 3125 3217 2968 2623 + 14374 3180 3045 3217 2623 + 14375 2968 3217 3045 2623 + 14376 2623 3217 3180 3125 + 14377 2624 2706 2970 2828 + 14378 3047 2828 2624 2970 + 14379 3047 2624 2828 2699 + 14380 2829 2772 2700 2625 + 14381 2626 2866 2773 2972 + 14382 2827 2626 2773 2972 + 14383 2827 2626 2972 2700 + 14384 2712 2806 3022 2626 + 14385 2890 3022 2806 2626 + 14386 2626 2866 3128 2712 + 14387 2626 3128 3022 2712 + 14388 2626 3128 2866 2972 + 14389 3128 2972 2626 3022 + 14390 3129 2774 2626 2890 + 14391 3129 2626 3022 2890 + 14392 3022 2972 2626 3129 + 14393 2774 3181 3129 2626 + 14394 3181 2626 2774 2700 + 14395 3181 3129 2626 2972 + 14396 3181 2626 2700 2972 + 14397 2689 2627 2956 2775 + 14398 2775 2832 2627 2956 + 14399 2956 2627 2689 2842 + 14400 2627 2956 2879 2842 + 14401 2956 2879 3079 2627 + 14402 2654 3079 2879 2627 + 14403 2627 2956 2832 3079 + 14404 2627 2832 2654 3079 + 14405 2869 2925 2628 2800 + 14406 2703 2628 3052 2776 + 14407 3089 2628 3052 2925 + 14408 3089 2628 2776 3052 + 14409 2628 2776 2800 3089 + 14410 2628 2925 3089 2800 + 14411 2700 2628 3127 2829 + 14412 2703 2829 3127 2628 + 14413 3127 3052 2703 2628 + 14414 3052 2628 3127 2925 + 14415 2628 3181 2700 3127 + 14416 3181 3127 2628 2925 + 14417 3181 2925 2628 2869 + 14418 2700 2774 3181 2628 + 14419 2869 2628 3181 2774 + 14420 2931 3012 2629 2671 + 14421 2803 2671 2629 3012 + 14422 2703 3052 2629 2776 + 14423 2629 2671 3089 2931 + 14424 2629 3089 2776 3052 + 14425 3052 2931 2629 3089 + 14426 2776 3089 2629 2671 + 14427 2761 2686 2815 2630 + 14428 2815 2630 2686 2952 + 14429 2761 2705 2630 2953 + 14430 2630 3034 2815 2761 + 14431 2761 2630 3034 2953 + 14432 2815 3034 2630 2952 + 14433 2953 3187 2630 3034 + 14434 3187 2630 3034 2952 + 14435 2701 2969 2835 2631 + 14436 2631 2970 2706 2828 + 14437 2970 2828 2631 3050 + 14438 2969 3132 2631 2701 + 14439 3050 3183 2631 3132 + 14440 2631 3183 2828 2866 + 14441 3050 2631 3183 2828 + 14442 2631 2970 3050 3188 + 14443 2969 3188 2631 3132 + 14444 3188 2706 2631 2970 + 14445 2835 2631 3188 2706 + 14446 2631 3188 2969 2835 + 14447 2631 3132 3188 3050 + 14448 3222 2866 3183 2631 + 14449 3132 2701 3222 2631 + 14450 3132 3222 3183 2631 + 14451 3222 2701 2866 2631 + 14452 2835 3188 2632 2706 + 14453 2632 3188 2969 3133 + 14454 2632 2969 3188 2835 + 14455 2632 3054 3188 3133 + 14456 2632 3054 2706 3188 + 14457 2633 2875 2778 2816 + 14458 2954 2633 2709 2816 + 14459 2977 2633 2780 2710 + 14460 2875 3035 2816 2633 + 14461 3035 2816 2633 2954 + 14462 2709 2954 3056 2633 + 14463 2633 3056 2709 2836 + 14464 2633 3056 3134 2977 + 14465 3056 2836 2633 3134 + 14466 2633 2710 3134 2836 + 14467 2977 3134 2633 2710 + 14468 2977 2633 3056 3189 + 14469 3189 2954 2633 3056 + 14470 3035 2633 3189 2954 + 14471 2780 2633 2977 3189 + 14472 2875 3189 2633 2780 + 14473 3189 2875 2633 3035 + 14474 2794 2634 2873 2710 + 14475 2912 2794 2710 2634 + 14476 2976 2837 2634 2780 + 14477 2634 2873 2837 2976 + 14478 2634 2710 2977 2780 + 14479 3057 2710 2634 2912 + 14480 2710 2634 2977 3057 + 14481 2634 2780 2977 3135 + 14482 2634 2977 3057 3135 + 14483 2780 2634 2976 3135 + 14484 3057 2634 3190 2912 + 14485 2634 3057 3190 3135 + 14486 2912 3201 2794 2634 + 14487 2976 2634 2873 3201 + 14488 3190 2634 3201 2912 + 14489 2634 2794 2873 3201 + 14490 3238 2976 3201 2634 + 14491 3238 3201 3190 2634 + 14492 3238 2634 3135 2976 + 14493 3190 3135 3238 2634 + 14494 2976 2635 2781 2707 + 14495 2976 3055 2635 2707 + 14496 2711 2782 2635 3055 + 14497 2839 2635 3055 2707 + 14498 2635 2782 2839 3055 + 14499 2781 3226 2635 2976 + 14500 2781 3226 2838 2635 + 14501 2635 3226 2838 2711 + 14502 2711 3055 2635 3226 + 14503 3055 2635 3226 2976 + 14504 2874 2832 2708 2636 + 14505 2708 2832 2956 2636 + 14506 2711 3058 2894 2636 + 14507 3058 2874 2894 2636 + 14508 2636 2874 3079 3058 + 14509 2636 2832 2956 3079 + 14510 2636 2874 2832 3079 + 14511 3117 2636 2708 2956 + 14512 2636 2782 3117 2708 + 14513 3079 2636 3058 3229 + 14514 3079 2956 2636 3229 + 14515 3229 2956 2636 3117 + 14516 3058 2636 3239 3229 + 14517 2711 2636 2782 3239 + 14518 3229 2636 3239 3117 + 14519 2711 3239 3058 2636 + 14520 2636 3117 2782 3239 + 14521 2637 2841 2736 3000 + 14522 2637 2736 2880 3000 + 14523 3000 2980 2637 2841 + 14524 2879 2637 3060 2841 + 14525 2980 2637 2841 3060 + 14526 2637 2784 3061 2713 + 14527 2637 2879 3137 2784 + 14528 3137 3061 2637 2784 + 14529 3137 2637 3061 2980 + 14530 3137 2879 2637 3060 + 14531 2637 3137 3060 2980 + 14532 2637 2980 3196 3061 + 14533 2637 3196 2713 3061 + 14534 3196 2980 2637 3000 + 14535 2880 3196 2637 3000 + 14536 3196 2880 2637 2713 + 14537 2882 2850 2639 2895 + 14538 2895 2844 2639 2882 + 14539 2715 2640 2844 2897 + 14540 2844 2640 2718 2983 + 14541 2640 2983 2844 2897 + 14542 2641 2982 2786 2716 + 14543 2982 2641 2896 3062 + 14544 2897 2642 2985 2785 + 14545 2643 2717 2899 2796 + 14546 2643 2787 2899 2717 + 14547 2718 2787 3065 2643 + 14548 2718 3065 2796 2643 + 14549 2643 3065 2796 2899 + 14550 2643 2787 3065 2899 + 14551 2719 2645 2788 2846 + 14552 2788 2645 2987 2846 + 14553 2846 2900 2645 2987 + 14554 2846 2725 2647 2900 + 14555 2647 2721 2900 2893 + 14556 2726 2989 2647 2791 + 14557 2647 2900 2989 2893 + 14558 2647 2725 2989 2900 + 14559 2647 2989 2725 2791 + 14560 2849 2792 2722 2648 + 14561 2903 2648 2849 2723 + 14562 2849 2648 2903 2792 + 14563 2649 2721 2794 3071 + 14564 2904 2649 3141 3071 + 14565 3141 2649 2794 3071 + 14566 2649 2904 3141 2731 + 14567 2905 2847 2724 2650 + 14568 2905 2724 2790 2650 + 14569 2905 2848 2650 2790 + 14570 2650 2723 2905 2847 + 14571 2848 2723 2905 2650 + 14572 2651 2725 2846 2988 + 14573 2651 2725 2988 2906 + 14574 2651 2881 3070 2846 + 14575 2651 2846 3070 2988 + 14576 3070 2908 2994 2651 + 14577 2651 3070 2908 2988 + 14578 2651 2988 3074 2906 + 14579 3074 2994 2908 2651 + 14580 2651 2908 3074 2988 + 14581 2994 2651 3144 3070 + 14582 3070 2651 3144 2881 + 14583 2652 2727 2894 2792 + 14584 2652 2726 2903 3077 + 14585 2652 2903 2838 3077 + 14586 2781 2838 3077 2652 + 14587 2838 3146 2903 2652 + 14588 2838 2894 3146 2652 + 14589 2792 3146 2652 2903 + 14590 2894 3146 2652 2792 + 14591 2729 2852 2653 2793 + 14592 2653 2730 2902 2849 + 14593 2910 2728 2996 2653 + 14594 2653 2902 3078 2849 + 14595 3078 2996 2653 2910 + 14596 2849 2910 3078 2653 + 14597 2730 2653 2902 3147 + 14598 2730 2793 2653 3147 + 14599 3078 2902 2653 3147 + 14600 2852 2653 2793 3147 + 14601 3200 2911 2852 2653 + 14602 3200 3147 2653 2852 + 14603 3233 2996 2911 2653 + 14604 3233 3147 3078 2653 + 14605 3200 3233 2911 2653 + 14606 3233 3200 3147 2653 + 14607 2996 3078 2653 3233 + 14608 3079 2841 2654 2879 + 14609 2996 3079 2841 2654 + 14610 2832 2728 2654 3079 + 14611 2728 2654 3079 2996 + 14612 2913 2840 2657 2736 + 14613 2657 2795 2998 2913 + 14614 2734 2795 2998 2657 + 14615 2998 2657 2913 2840 + 14616 2658 2851 2733 2914 + 14617 2851 2735 2914 2658 + 14618 2915 2659 2735 2795 + 14619 2915 2734 2659 2795 + 14620 2735 3081 2914 2659 + 14621 2659 3081 2915 2735 + 14622 2799 2737 2918 2660 + 14623 2876 2660 2783 3002 + 14624 2876 2918 2660 3002 + 14625 2660 2918 3084 3002 + 14626 2799 2918 3084 2660 + 14627 2660 3084 2783 3002 + 14628 2799 2853 2662 2917 + 14629 2919 2878 2738 2662 + 14630 2878 2917 2662 3005 + 14631 2853 3005 2662 2917 + 14632 2919 2662 3005 2878 + 14633 2739 3005 2662 2853 + 14634 2798 3001 2877 2663 + 14635 3150 2916 2663 3001 + 14636 2877 2663 3001 3150 + 14637 2664 2739 2853 2889 + 14638 2889 2853 2664 2921 + 14639 2755 2921 2813 2664 + 14640 2776 2800 2922 2665 + 14641 2800 2665 2740 2922 + 14642 2806 2741 2855 2666 + 14643 2890 2869 2774 2666 + 14644 2855 2806 2666 2890 + 14645 2666 2800 2924 2869 + 14646 2924 2666 2890 2855 + 14647 2890 2924 2869 2666 + 14648 2742 2927 2801 2667 + 14649 3007 2822 2667 2740 + 14650 3007 2667 2922 2740 + 14651 3010 2927 2667 2801 + 14652 3091 2667 2743 3010 + 14653 2822 2743 3091 2667 + 14654 2927 2667 3091 3010 + 14655 2822 3091 3007 2667 + 14656 3007 2667 3091 3152 + 14657 2667 2922 2742 3152 + 14658 2667 2742 2927 3152 + 14659 2667 3152 2927 3091 + 14660 3007 2922 2667 3152 + 14661 3011 2668 2812 2756 + 14662 2668 2812 2856 3090 + 14663 3011 2668 3090 2812 + 14664 3090 2856 2668 2802 + 14665 2870 2926 2669 2801 + 14666 2926 2870 2669 2744 + 14667 2803 2742 2671 3012 + 14668 2671 2776 3089 2922 + 14669 2931 3152 2671 3089 + 14670 2671 3089 3152 2922 + 14671 2742 2922 2671 3152 + 14672 2742 3152 2671 3012 + 14673 2931 3152 3012 2671 + 14674 2862 2672 2748 2811 + 14675 3154 2855 2672 3008 + 14676 2672 3008 2862 3154 + 14677 2748 2672 2862 3154 + 14678 2749 2673 3095 2865 + 14679 3016 2935 2673 3095 + 14680 3095 2673 2749 2884 + 14681 3016 3095 2673 2865 + 14682 2884 2673 2935 3095 + 14683 2674 2854 2884 2804 + 14684 2674 2854 2804 3017 + 14685 2674 2747 2854 3017 + 14686 2805 2674 3017 2747 + 14687 2805 2745 3017 2674 + 14688 2674 3017 2804 2745 + 14689 2745 2804 2675 2936 + 14690 2750 3018 2675 2934 + 14691 2746 2934 2675 3019 + 14692 2746 2675 2804 3019 + 14693 2804 3019 2675 2936 + 14694 2936 3097 3019 2675 + 14695 2936 3018 3097 2675 + 14696 2675 3018 3097 3155 + 14697 2675 2934 3155 3019 + 14698 2675 3097 3019 3155 + 14699 3155 2675 3018 2934 + 14700 2854 2749 2938 2676 + 14701 2676 2938 2765 3020 + 14702 2807 2676 3100 2749 + 14703 2938 2676 3100 3020 + 14704 2938 2749 3100 2676 + 14705 2932 2805 2747 2677 + 14706 2887 2677 2858 2933 + 14707 2747 3015 2932 2677 + 14708 3101 2747 2677 3015 + 14709 2933 2887 2677 3205 + 14710 3101 3015 2677 3205 + 14711 2933 2677 3015 3205 + 14712 2941 2808 2678 2751 + 14713 2857 2810 2942 2678 + 14714 3023 2941 2678 2766 + 14715 2808 2941 2678 3160 + 14716 2942 2857 2678 3160 + 14717 2941 3160 3023 2678 + 14718 2808 3160 2678 2857 + 14719 2942 2678 3023 3160 + 14720 2679 2814 3161 2751 + 14721 2679 2751 3161 2820 + 14722 2943 2680 2752 3024 + 14723 2943 3104 2809 2680 + 14724 3024 3104 2943 2680 + 14725 3024 2944 3104 2680 + 14726 2752 2681 2943 2885 + 14727 2753 2681 3208 2943 + 14728 3208 2811 2681 2753 + 14729 2885 3208 2681 2943 + 14730 3208 2681 2811 2885 + 14731 2682 2886 2859 2756 + 14732 2758 2682 2886 2859 + 14733 2683 2812 2859 2945 + 14734 2812 2945 2683 2754 + 14735 3026 2868 2683 2757 + 14736 3027 2683 2831 2859 + 14737 3027 2945 2683 2859 + 14738 2831 2683 3027 2868 + 14739 3167 3027 2945 2683 + 14740 3167 3026 2683 2945 + 14741 2683 3027 2868 3167 + 14742 3026 3167 2683 2868 + 14743 2831 2949 2758 2684 + 14744 2949 2684 2831 2759 + 14745 2949 2684 2759 3030 + 14746 2815 2952 2686 2760 + 14747 2760 2687 2815 2952 + 14748 2816 2687 2760 3033 + 14749 2687 2760 3033 2952 + 14750 3111 2815 2687 2952 + 14751 2687 2815 3111 2860 + 14752 2763 2860 2687 3111 + 14753 2816 3170 2687 3033 + 14754 2687 3033 3170 2952 + 14755 3111 2687 3170 2952 + 14756 3170 2687 3111 2763 + 14757 2951 2688 2871 2886 + 14758 2817 2886 2688 2951 + 14759 2688 2871 2834 2951 + 14760 2689 2956 2861 2775 + 14761 2819 2689 2762 3030 + 14762 3173 2689 3030 2842 + 14763 3030 2819 2689 3173 + 14764 2861 2689 2819 3173 + 14765 3173 2956 2689 2842 + 14766 2861 2956 2689 3173 + 14767 2690 2818 2764 2958 + 14768 2958 2690 2818 3114 + 14769 2778 2818 2690 3114 + 14770 2764 2690 2958 3174 + 14771 2690 3174 2955 3114 + 14772 2690 2958 3174 3114 + 14773 2817 2691 2758 3029 + 14774 3037 2817 3116 2691 + 14775 3116 2819 2764 2691 + 14776 2817 3116 2691 3029 + 14777 3037 3116 3174 2691 + 14778 3116 3174 2691 2764 + 14779 2959 2766 2821 2692 + 14780 2692 2820 2959 2766 + 14781 2692 3020 2765 2821 + 14782 2692 3118 3020 2821 + 14783 3118 2692 2959 2821 + 14784 2923 2693 2740 2800 + 14785 2822 2693 2740 2923 + 14786 2693 3009 2800 2923 + 14787 2693 3009 2924 2800 + 14788 2693 3008 3120 2862 + 14789 2923 2693 3176 2822 + 14790 3008 3237 2924 2693 + 14791 2693 3237 2924 3009 + 14792 3237 2923 2693 3176 + 14793 3009 2693 3237 2923 + 14794 2693 3120 3237 3176 + 14795 3120 3008 2693 3237 + 14796 2694 3013 2822 2743 + 14797 2694 3013 2743 2928 + 14798 2694 3014 2929 2802 + 14799 2753 3014 2694 2802 + 14800 2743 2694 2928 3090 + 14801 2743 2802 2694 3090 + 14802 2694 3090 2802 2929 + 14803 2694 2961 3121 3014 + 14804 3014 3121 2694 2929 + 14805 2694 3177 2961 3013 + 14806 3177 2961 3121 2694 + 14807 3215 2694 3177 3121 + 14808 3090 3215 2694 2928 + 14809 3013 2694 3215 2928 + 14810 3013 2694 3177 3215 + 14811 3090 2929 2694 3215 + 14812 3215 2929 2694 3121 + 14813 3178 2962 2695 2767 + 14814 2696 2770 2863 2825 + 14815 2863 2696 3044 2823 + 14816 2696 2863 3044 2825 + 14817 2696 3044 2964 2825 + 14818 2696 3043 2964 3122 + 14819 3044 2696 2964 3122 + 14820 3044 3122 2823 2696 + 14821 2823 2696 3122 2965 + 14822 3123 2696 3043 2964 + 14823 3123 3043 2696 2963 + 14824 3123 2696 2770 2963 + 14825 2964 2825 3123 2696 + 14826 2696 3123 2770 2825 + 14827 3179 2965 3122 2696 + 14828 2769 2696 2965 3179 + 14829 2769 2963 2696 3179 + 14830 3179 2963 2696 3043 + 14831 3179 3122 3043 2696 + 14832 2697 2826 2864 2940 + 14833 2697 2888 2826 2940 + 14834 2697 2824 2771 3032 + 14835 2697 3032 2888 2940 + 14836 3032 3125 2697 2824 + 14837 2697 2940 3125 3032 + 14838 2940 3125 2864 2697 + 14839 2825 2698 2967 2864 + 14840 2825 3042 2967 2698 + 14841 2863 2767 3042 2698 + 14842 2767 2935 3042 2698 + 14843 2863 3042 2825 2698 + 14844 2864 3098 2698 2967 + 14845 3098 2698 2746 2864 + 14846 3156 2698 3098 2967 + 14847 3156 2746 2698 2935 + 14848 2698 3098 2746 3156 + 14849 3042 2698 2935 3156 + 14850 2698 3156 3042 2967 + 14851 2971 2772 2699 2827 + 14852 2773 3047 2828 2699 + 14853 2827 2699 2971 3047 + 14854 2827 2773 2699 3047 + 14855 3048 2700 2772 2827 + 14856 3048 3127 2772 2700 + 14857 2700 3127 2772 2829 + 14858 3181 2827 2700 3048 + 14859 2700 2972 2827 3181 + 14860 3181 3048 2700 3127 + 14861 2701 2969 2771 2835 + 14862 2969 2701 2771 3032 + 14863 3185 2701 2969 3032 + 14864 3185 3132 2969 2701 + 14865 2888 2701 2866 3222 + 14866 3222 2701 3185 3032 + 14867 2701 3222 3185 3132 + 14868 2888 3032 2701 3222 + 14869 3169 2759 2702 3109 + 14870 2830 2702 3169 2759 + 14871 2830 3169 2702 2867 + 14872 2843 3169 2702 2784 + 14873 2867 2702 2843 3169 + 14874 3169 3109 2702 2784 + 14875 2704 2833 2930 2870 + 14876 2891 2975 2870 2704 + 14877 2891 3036 2975 2704 + 14878 3053 2975 2704 2870 + 14879 2930 3053 2704 2870 + 14880 2705 2834 3112 2761 + 14881 2891 3112 2705 2834 + 14882 2705 3112 2891 3036 + 14883 2705 2953 3112 3036 + 14884 3112 2953 2705 2761 + 14885 3188 3054 2706 2970 + 14886 2875 2707 2839 2780 + 14887 2976 2707 2837 2780 + 14888 2837 2707 2976 2781 + 14889 3055 2839 2707 2780 + 14890 2707 2780 2976 3055 + 14891 2839 2892 2861 2708 + 14892 2775 2708 2832 2956 + 14893 2861 2708 2775 2956 + 14894 3117 2861 2708 2839 + 14895 3117 2708 2782 2839 + 14896 3117 2708 2861 2956 + 14897 3057 2912 3134 2710 + 14898 2872 3134 2710 2836 + 14899 2710 2872 2912 3134 + 14900 3057 3134 2977 2710 + 14901 2838 2978 2894 2711 + 14902 2894 3058 2711 2978 + 14903 2838 2978 2711 3136 + 14904 2711 3055 2979 3191 + 14905 2711 3191 2782 3055 + 14906 2711 3192 2979 3055 + 14907 2711 2838 3136 3226 + 14908 2711 3136 3192 3226 + 14909 2711 3192 3055 3226 + 14910 2711 3192 3136 3227 + 14911 3227 2711 2978 3136 + 14912 3058 3227 2711 2978 + 14913 3227 2711 3192 2979 + 14914 3191 2979 2711 3239 + 14915 3239 2711 3227 2979 + 14916 2711 2782 3191 3239 + 14917 3058 3239 2711 3227 + 14918 2750 2937 2712 2806 + 14919 2750 2888 2712 2940 + 14920 2750 2712 2937 3018 + 14921 2712 2937 3022 2806 + 14922 2750 3102 2712 3018 + 14923 2750 2712 3102 2940 + 14924 3102 2712 3193 2940 + 14925 2940 3222 2888 2712 + 14926 2712 2888 2866 3222 + 14927 3128 3222 3193 2712 + 14928 2712 2866 3128 3222 + 14929 2940 3193 3222 2712 + 14930 2712 3193 3128 3230 + 14931 3022 2937 2712 3230 + 14932 3128 3022 2712 3230 + 14933 2712 3241 3193 3230 + 14934 2712 3230 2937 3241 + 14935 3018 3241 3102 2712 + 14936 2712 2937 3018 3241 + 14937 3241 3193 3102 2712 + 14938 2840 2713 2880 2919 + 14939 2843 3061 2784 2713 + 14940 2713 2843 3061 3087 + 14941 2713 2919 3087 3196 + 14942 2713 2880 2919 3196 + 14943 3087 3061 2713 3196 + 14944 2789 2714 2896 2847 + 14945 2714 2850 2789 2896 + 14946 2844 2897 2785 2715 + 14947 2717 2899 2796 2851 + 14948 2717 2787 2899 2882 + 14949 2717 2899 2986 2882 + 14950 2793 2986 2882 2717 + 14951 2793 3066 2986 2717 + 14952 2717 2986 2899 3066 + 14953 3066 2717 2851 2899 + 14954 2787 2983 2844 2718 + 14955 2787 3065 2983 2718 + 14956 2719 2788 2881 2846 + 14957 2893 2721 2794 2873 + 14958 2990 2900 2721 2893 + 14959 2721 2794 2990 2893 + 14960 2900 3071 2990 2721 + 14961 2794 2990 3071 2721 + 14962 2903 2849 2991 2723 + 14963 2723 2789 3069 2847 + 14964 2723 2991 3069 2849 + 14965 3072 2903 2723 2848 + 14966 3072 2723 2905 2848 + 14967 2903 2991 3072 2723 + 14968 2847 2723 2905 3142 + 14969 2847 3069 2723 3142 + 14970 3069 2991 2723 3142 + 14971 3142 2991 2723 3072 + 14972 3142 2723 2905 3072 + 14973 2724 2905 3073 2847 + 14974 3073 2724 2790 2905 + 14975 2847 3073 2724 2982 + 14976 2988 2725 2846 2900 + 14977 2791 2989 2725 2906 + 14978 2900 3075 2725 2989 + 14979 2989 2725 2906 3075 + 14980 2725 2988 2906 3075 + 14981 3075 2900 2725 2988 + 14982 2909 2848 2791 2726 + 14983 2848 2909 2995 2726 + 14984 2848 2995 2903 2726 + 14985 2726 2909 2995 3077 + 14986 2989 2726 3077 2791 + 14987 2726 2909 3077 2791 + 14988 2995 2903 2726 3077 + 14989 2832 2874 2728 3079 + 14990 2910 2996 2728 3079 + 14991 3079 2728 2910 2874 + 14992 2729 3066 2852 2793 + 14993 2797 3066 2852 2729 + 14994 2902 2789 2730 2850 + 14995 2902 2882 2850 2730 + 14996 2789 3069 2902 2730 + 14997 2730 2902 2849 3069 + 14998 2793 2730 2882 3147 + 14999 2902 2882 2730 3147 + 15000 2794 2912 2732 3080 + 15001 2794 2732 3141 3080 + 15002 2733 2999 2914 2851 + 15003 2851 2999 2796 2733 + 15004 2734 2877 3082 2915 + 15005 2877 2798 2734 3082 + 15006 3082 2734 2998 2878 + 15007 3082 2798 2734 2878 + 15008 2734 3149 2915 3082 + 15009 3149 2734 2998 3082 + 15010 2998 2734 3149 2795 + 15011 2734 3149 2795 2915 + 15012 2915 2735 3081 3149 + 15013 3149 2997 2735 3081 + 15014 3149 2735 2795 2915 + 15015 2795 3149 2997 2735 + 15016 3202 2735 2997 3081 + 15017 2851 2735 3202 2914 + 15018 2735 2914 3081 3202 + 15019 2997 3202 3148 2735 + 15020 3202 2851 3148 2735 + 15021 2736 2880 2913 2840 + 15022 2880 3000 2736 2913 + 15023 2736 3000 2841 2911 + 15024 3234 2913 2797 2736 + 15025 2736 3234 2852 2797 + 15026 2911 2736 3000 3234 + 15027 2911 2852 2736 3234 + 15028 3000 2913 3234 2736 + 15029 2918 2737 2799 3004 + 15030 2918 3086 2737 3004 + 15031 2808 3086 2737 2918 + 15032 2739 2889 2867 3005 + 15033 2889 2739 2853 3005 + 15034 2822 2923 2740 3007 + 15035 2923 2740 3007 2800 + 15036 2740 3007 2800 2922 + 15037 3092 3012 2927 2742 + 15038 3092 2803 3012 2742 + 15039 2927 2742 2801 3092 + 15040 2742 2927 3152 3012 + 15041 2743 3090 2928 3010 + 15042 3091 2743 2822 3013 + 15043 3091 2743 2928 3010 + 15044 3091 2928 2743 3013 + 15045 2871 2744 3093 3011 + 15046 3011 3093 2926 2744 + 15047 2744 3093 2926 2870 + 15048 2891 3093 2871 2744 + 15049 2744 2891 3093 2870 + 15050 2745 3017 2804 2936 + 15051 3096 2936 3017 2745 + 15052 3096 2855 2745 3154 + 15053 3017 3096 2745 3154 + 15054 2805 2745 3154 3017 + 15055 2864 2934 2746 3098 + 15056 3019 2746 2934 3098 + 15057 3019 2746 3098 3156 + 15058 3156 3204 2746 2935 + 15059 3204 2746 2935 2804 + 15060 3204 2746 3019 3156 + 15061 3019 3204 2804 2746 + 15062 3017 2747 2932 2805 + 15063 2854 3158 2747 3101 + 15064 2747 3158 2854 3017 + 15065 3101 3158 2747 3015 + 15066 2932 3015 2747 3158 + 15067 2932 2747 3017 3158 + 15068 2862 2811 2748 3094 + 15069 2932 3094 3154 2748 + 15070 2748 3154 2932 2805 + 15071 2862 3094 2748 3154 + 15072 2884 3021 2854 2749 + 15073 2854 3021 2938 2749 + 15074 2884 3095 3021 2749 + 15075 2865 3100 2749 2807 + 15076 2749 2938 3100 3159 + 15077 2865 2749 3159 3095 + 15078 2749 3159 3021 2938 + 15079 2749 3100 2865 3159 + 15080 2749 3095 3021 3159 + 15081 2750 2864 2826 2940 + 15082 2750 2826 2888 2940 + 15083 2864 2750 2934 3102 + 15084 2750 2864 2940 3102 + 15085 2750 3102 3018 2934 + 15086 2808 3003 2751 2941 + 15087 3161 3003 2751 2814 + 15088 2751 2941 3003 3161 + 15089 3161 2820 2751 2941 + 15090 2858 3105 2752 2810 + 15091 2858 2885 2752 3105 + 15092 2943 2752 3162 3024 + 15093 3162 3024 2752 3105 + 15094 2752 2943 3162 2885 + 15095 2752 3105 2885 3162 + 15096 3014 2856 2753 2809 + 15097 2809 3014 2943 2753 + 15098 2856 3014 2753 2802 + 15099 2753 3208 3014 2943 + 15100 2809 2754 2929 2856 + 15101 2812 2754 3025 2945 + 15102 2754 2929 3090 3025 + 15103 2856 2929 3090 2754 + 15104 2812 2856 3090 2754 + 15105 2754 3090 2812 3025 + 15106 3163 3025 2754 2945 + 15107 3025 2754 2929 3163 + 15108 2809 2754 3163 2929 + 15109 2921 3006 2755 2813 + 15110 2859 2946 2812 2756 + 15111 2886 2946 2859 2756 + 15112 2812 2946 3011 2756 + 15113 2886 3011 2946 2756 + 15114 2947 2758 2886 2859 + 15115 2758 2886 2817 2947 + 15116 2949 2758 3029 2831 + 15117 2758 2947 3029 2859 + 15118 3029 2831 2758 2859 + 15119 2758 2947 2817 3029 + 15120 2830 2759 2950 2868 + 15121 2759 3031 2949 3109 + 15122 2759 2949 3030 3109 + 15123 3110 2868 2950 2759 + 15124 3110 2831 2759 2949 + 15125 2759 2868 2831 3110 + 15126 3031 3110 2759 2949 + 15127 2950 3110 2759 3169 + 15128 3169 3031 2759 3109 + 15129 3031 2759 3110 3169 + 15130 2830 3169 2950 2759 + 15131 2860 2761 3034 2951 + 15132 2860 2815 3034 2761 + 15133 2761 3112 3034 2951 + 15134 3034 2953 3112 2761 + 15135 2761 2834 3112 2951 + 15136 3213 3170 3111 2763 + 15137 2763 3213 2860 3111 + 15138 3213 2763 2955 3170 + 15139 2958 2818 2764 2861 + 15140 2958 2861 2764 3038 + 15141 2819 3038 2764 2861 + 15142 3116 3038 2764 2819 + 15143 3116 3038 3174 2764 + 15144 2764 2958 3038 3174 + 15145 3157 2765 2938 3020 + 15146 2765 3157 2887 2821 + 15147 3157 2765 3020 2821 + 15148 2820 3039 2959 2766 + 15149 2820 2941 3039 2766 + 15150 2766 3039 2959 3175 + 15151 2941 3175 2766 3023 + 15152 2766 2941 3039 3175 + 15153 2766 3023 3175 2960 + 15154 2766 3175 2959 2821 + 15155 3175 2960 2821 2766 + 15156 2767 2962 2863 3042 + 15157 3042 2767 2962 3178 + 15158 3178 2767 2935 3042 + 15159 3123 2770 2824 2963 + 15160 2969 2771 3126 3032 + 15161 2771 2963 3126 2824 + 15162 2824 3126 2771 3032 + 15163 3048 2772 2971 2827 + 15164 3047 2828 3183 2773 + 15165 2773 2827 3183 3047 + 15166 2773 2828 3183 2866 + 15167 2972 2773 3183 2866 + 15168 2827 2972 2773 3183 + 15169 3221 2890 2774 3129 + 15170 3221 2869 2774 2890 + 15171 3221 2869 3181 2774 + 15172 3221 3181 3129 2774 + 15173 2922 2776 3089 2800 + 15174 2778 2892 2818 3114 + 15175 2778 2875 2892 3114 + 15176 2780 2976 3055 3135 + 15177 2875 3225 3189 2780 + 15178 2780 2977 3225 3189 + 15179 3225 2875 2839 2780 + 15180 3055 3225 2780 3135 + 15181 2977 2780 3225 3135 + 15182 3225 2839 3055 2780 + 15183 2893 2976 2781 2837 + 15184 2893 2781 2976 3077 + 15185 3077 2781 3226 2838 + 15186 3226 2976 2781 3077 + 15187 3191 2839 2782 3055 + 15188 3117 2782 3191 2839 + 15189 3239 2782 3191 3117 + 15190 2916 3084 3002 2783 + 15191 2842 2784 3137 2879 + 15192 2843 3061 3169 2784 + 15193 3231 2784 3137 2842 + 15194 3231 2784 3169 3061 + 15195 3231 3109 2784 2842 + 15196 3231 3137 2784 3061 + 15197 3169 3109 2784 3231 + 15198 2785 2897 3063 2985 + 15199 2897 3063 2844 2785 + 15200 2985 3063 2785 3197 + 15201 2785 3063 3138 3197 + 15202 3062 2785 3138 3197 + 15203 2895 2787 2844 2882 + 15204 2787 2844 2983 2895 + 15205 3067 2899 2787 2882 + 15206 3067 2882 2787 2895 + 15207 2787 3065 3140 2983 + 15208 3067 2787 2899 3140 + 15209 2899 2787 3065 3140 + 15210 2787 2983 3198 2895 + 15211 2787 3140 3198 2983 + 15212 3198 3140 2787 3067 + 15213 3198 2895 3067 2787 + 15214 2846 2987 2788 2881 + 15215 2901 2788 3068 2881 + 15216 3068 2845 2788 2901 + 15217 3068 2788 2883 2987 + 15218 3068 2845 2883 2788 + 15219 2987 3068 2788 2881 + 15220 2789 2984 2850 2902 + 15221 2896 2850 2789 2984 + 15222 2896 2789 3069 2984 + 15223 2789 3069 2984 2902 + 15224 2789 2896 3069 2847 + 15225 2790 2848 2992 2907 + 15226 2790 2993 3073 2905 + 15227 2993 2907 3143 2790 + 15228 2993 3143 2905 2790 + 15229 2907 3143 2790 2848 + 15230 2848 2790 2905 3143 + 15231 2791 3076 2906 2992 + 15232 3076 3145 2909 2791 + 15233 3145 2906 2791 3076 + 15234 2791 3145 2989 2906 + 15235 3145 2791 2989 3077 + 15236 3145 2909 2791 3077 + 15237 3076 2791 3199 2992 + 15238 3199 2992 2791 2848 + 15239 2909 3199 3076 2791 + 15240 2909 3199 2791 2848 + 15241 2894 2849 3146 2792 + 15242 2792 2849 3146 2903 + 15243 3066 2793 2986 3147 + 15244 2986 3147 2793 2882 + 15245 2852 2793 3066 3147 + 15246 3141 2794 2990 3071 + 15247 2794 3141 2990 3080 + 15248 2990 3080 3201 2794 + 15249 2794 3201 2912 3080 + 15250 3201 2893 2990 2794 + 15251 3201 2873 2893 2794 + 15252 3083 2795 2997 2913 + 15253 3083 2998 2795 2913 + 15254 2795 2997 3149 3083 + 15255 2795 3149 2998 3083 + 15256 2796 2851 2899 2999 + 15257 2796 2899 3065 2999 + 15258 2851 3066 3148 2797 + 15259 3148 3234 2997 2797 + 15260 3066 2797 3234 3148 + 15261 3066 2852 3234 2797 + 15262 2797 3234 2997 2913 + 15263 3082 3001 2798 2878 + 15264 3001 2798 2877 3082 + 15265 3004 2799 2917 2853 + 15266 3084 2799 3004 2918 + 15267 3084 2799 2917 3004 + 15268 2869 2924 3009 2800 + 15269 2925 2800 2869 3009 + 15270 2800 3009 3089 2923 + 15271 3007 2800 3089 2923 + 15272 2925 3089 2800 3009 + 15273 2922 3089 3007 2800 + 15274 2870 2926 2801 3153 + 15275 2801 3092 3153 2927 + 15276 2870 3092 3153 2801 + 15277 3010 2927 2801 3153 + 15278 3010 2801 2926 3153 + 15279 2856 2929 3014 2802 + 15280 2856 2802 3090 2929 + 15281 3017 3099 2854 2804 + 15282 3099 2884 2854 2804 + 15283 3019 2804 3099 2936 + 15284 2936 2804 3099 3017 + 15285 2884 3204 2935 2804 + 15286 3019 3204 3099 2804 + 15287 2804 3204 3099 2884 + 15288 3017 2805 2932 3154 + 15289 2855 2937 2806 2890 + 15290 2806 2890 2937 3022 + 15291 3003 3086 2808 2918 + 15292 3086 3003 2808 3160 + 15293 3160 3003 2808 2941 + 15294 3160 2808 3086 2857 + 15295 2809 2929 3014 2856 + 15296 2809 3163 3209 2929 + 15297 3014 3209 2929 2809 + 15298 3104 3163 3209 2809 + 15299 3014 2943 3209 2809 + 15300 3104 2943 2809 3209 + 15301 2811 3094 3208 2885 + 15302 3208 2811 2862 3094 + 15303 2812 3107 2946 2859 + 15304 3107 2812 2946 3025 + 15305 2812 3025 3107 2945 + 15306 2812 2945 3107 2859 + 15307 3166 3011 2812 2946 + 15308 3011 3090 3166 2812 + 15309 3025 2812 3166 3090 + 15310 3166 2946 2812 3025 + 15311 2813 3006 3165 2921 + 15312 2813 3165 3026 2921 + 15313 3161 3085 3003 2814 + 15314 3034 2952 2815 3111 + 15315 3034 3111 2815 2860 + 15316 2954 2816 3033 3113 + 15317 3113 2954 2816 3035 + 15318 3170 2816 3113 3033 + 15319 3113 3035 2816 3170 + 15320 2817 3115 2886 2951 + 15321 2817 2947 3115 3037 + 15322 2947 2817 3115 2886 + 15323 3116 2817 3037 2947 + 15324 2947 3116 2817 3029 + 15325 2817 3115 3171 3037 + 15326 2817 3171 3115 2951 + 15327 2860 3171 2817 2951 + 15328 3213 2817 2860 3171 + 15329 3213 3037 2817 3171 + 15330 2958 2892 2818 2861 + 15331 2958 2818 2892 3114 + 15332 3173 2819 3116 2949 + 15333 2949 2819 3030 3173 + 15334 3038 2819 3116 3173 + 15335 3038 2861 2819 3173 + 15336 3161 3039 2820 2941 + 15337 2887 2821 3040 2960 + 15338 3157 3020 3118 2821 + 15339 2821 3157 3040 3118 + 15340 2887 3157 3040 2821 + 15341 3118 2959 3175 2821 + 15342 3040 3118 3175 2821 + 15343 3040 2821 3175 2960 + 15344 3013 2822 3091 2923 + 15345 3091 2923 2822 3007 + 15346 3176 2923 2822 3013 + 15347 2863 3044 2962 2823 + 15348 3032 2966 3125 2824 + 15349 2824 2966 3126 3032 + 15350 2966 3126 3216 2824 + 15351 2963 3216 3126 2824 + 15352 3216 2966 2824 3123 + 15353 3123 2824 3216 2963 + 15354 3045 2964 2825 3123 + 15355 2825 3042 2863 3124 + 15356 3044 2825 2863 3124 + 15357 2964 3218 2825 3044 + 15358 3044 3218 2825 3124 + 15359 2825 3218 3042 3124 + 15360 3045 2825 2964 3218 + 15361 3045 2825 3218 2967 + 15362 2967 3218 3042 2825 + 15363 3048 2971 3130 2827 + 15364 2827 3130 2973 3182 + 15365 2827 2971 3130 3182 + 15366 2827 3047 2971 3182 + 15367 3128 2972 2827 3183 + 15368 2827 2972 3128 3184 + 15369 3184 2973 3049 2827 + 15370 2827 3128 3049 3184 + 15371 2827 3128 3183 3219 + 15372 2973 3182 3219 2827 + 15373 3219 2827 3182 3047 + 15374 2973 3219 3049 2827 + 15375 3049 3128 2827 3219 + 15376 3219 3183 2827 3047 + 15377 3220 3130 2973 2827 + 15378 3181 2827 3220 2972 + 15379 3220 3048 3130 2827 + 15380 3181 3220 2827 3048 + 15381 3184 3220 2973 2827 + 15382 2827 2972 3184 3220 + 15383 2828 3047 3131 2970 + 15384 2828 3131 3050 2970 + 15385 2828 3183 3131 3047 + 15386 2828 3050 3131 3183 + 15387 2950 2830 2868 3026 + 15388 2830 3026 2950 2889 + 15389 2950 3169 2830 2889 + 15390 2889 2867 3169 2830 + 15391 3027 2831 2868 3110 + 15392 3168 2831 2859 3027 + 15393 3029 3168 2831 2859 + 15394 3110 3223 3027 2831 + 15395 2831 3168 3223 3027 + 15396 2831 3168 3029 3223 + 15397 3110 2949 3223 2831 + 15398 2831 3029 2949 3223 + 15399 3112 2871 2834 2891 + 15400 3112 2871 2951 2834 + 15401 2893 2837 2873 2976 + 15402 2838 2903 2995 3077 + 15403 2909 2838 2995 3077 + 15404 2978 2838 2995 3136 + 15405 3136 2909 2838 2995 + 15406 3146 2978 2838 2995 + 15407 3146 2838 2903 2995 + 15408 2894 3146 2978 2838 + 15409 3226 2909 3077 2838 + 15410 3136 3226 2838 2909 + 15411 2861 2892 2839 2958 + 15412 3114 2839 2875 2892 + 15413 2839 3114 2958 2892 + 15414 2861 2839 3117 2958 + 15415 3117 3191 2958 2839 + 15416 3240 2875 2839 3225 + 15417 3240 2958 3191 2839 + 15418 3240 2839 3055 3225 + 15419 3055 3191 2839 3240 + 15420 3240 2839 2875 3114 + 15421 3240 2958 2839 3114 + 15422 2840 2880 2998 2919 + 15423 2998 2913 2880 2840 + 15424 3079 3060 2841 2879 + 15425 2841 2996 2911 3195 + 15426 2841 2911 3000 3195 + 15427 3195 2841 2996 3079 + 15428 3000 3195 2980 2841 + 15429 3060 3079 2841 3195 + 15430 3060 2841 2980 3195 + 15431 2842 3060 2956 2879 + 15432 2842 3030 2949 3109 + 15433 2842 3137 3060 2879 + 15434 2949 3030 2842 3173 + 15435 2842 3229 2981 3173 + 15436 2842 2956 3229 3173 + 15437 3229 3060 2842 2981 + 15438 2956 2842 3229 3060 + 15439 3231 2842 3137 3060 + 15440 3231 3109 2842 2981 + 15441 3231 2981 2842 3060 + 15442 2842 2981 3242 3173 + 15443 2842 3242 2949 3173 + 15444 3109 2981 3242 2842 + 15445 3109 3242 2949 2842 + 15446 3087 3169 2867 2843 + 15447 3087 3169 2843 3061 + 15448 2983 2844 2897 3063 + 15449 2895 3063 2844 2983 + 15450 2846 3070 2987 2881 + 15451 2846 3070 2900 2987 + 15452 2988 2846 3070 2900 + 15453 2847 2896 3073 2982 + 15454 2905 3073 2847 3142 + 15455 2896 2847 3073 3142 + 15456 3142 2896 2847 3069 + 15457 2903 3072 2995 2848 + 15458 2848 2905 3072 3143 + 15459 2848 3072 2995 3143 + 15460 2848 3199 3143 2995 + 15461 3199 2992 2848 2907 + 15462 2907 3199 3143 2848 + 15463 2909 2995 3199 2848 + 15464 2902 3069 2991 2849 + 15465 2902 3078 2849 2991 + 15466 3146 2849 3078 2991 + 15467 2910 3078 3146 2849 + 15468 2849 2903 2991 3146 + 15469 2910 3146 2894 2849 + 15470 2895 2882 2850 2984 + 15471 2902 2882 2984 2850 + 15472 3066 2851 3148 2899 + 15473 2999 2851 2899 3202 + 15474 2851 3202 2999 2914 + 15475 3202 2851 2899 3148 + 15476 3200 3066 3147 2852 + 15477 3200 3234 3066 2852 + 15478 3200 3234 2852 2911 + 15479 2889 3088 2853 2921 + 15480 2853 3004 3151 2917 + 15481 3088 3151 2853 3004 + 15482 2917 2853 3005 3203 + 15483 3203 3151 2853 3088 + 15484 2889 3088 3203 2853 + 15485 2889 2853 3203 3005 + 15486 3151 3203 2853 2917 + 15487 3099 2854 3158 3017 + 15488 3206 3101 2854 2938 + 15489 2884 3206 2854 3021 + 15490 3206 3021 2938 2854 + 15491 3158 3101 2854 3206 + 15492 3099 2854 2884 3206 + 15493 3158 2854 3099 3206 + 15494 2855 2890 2924 3103 + 15495 2855 2937 2890 3103 + 15496 2937 3207 2855 3096 + 15497 3096 3207 2855 3154 + 15498 2924 3103 3207 2855 + 15499 2937 3207 3103 2855 + 15500 2924 3207 3008 2855 + 15501 3154 3207 2855 3008 + 15502 3106 3006 2857 2920 + 15503 2857 3086 3160 2920 + 15504 2942 3106 2857 3160 + 15505 2857 3106 2920 3160 + 15506 2858 2933 2885 3105 + 15507 2859 3028 2946 2886 + 15508 2886 3028 2947 2859 + 15509 3027 2859 3107 2945 + 15510 2859 2946 3028 3168 + 15511 3168 2859 3107 3027 + 15512 2859 3107 2946 3168 + 15513 3028 2947 2859 3168 + 15514 2859 2947 3029 3168 + 15515 3111 3034 2957 2860 + 15516 3034 3171 2860 2951 + 15517 3171 2957 3034 2860 + 15518 2860 2957 3111 3213 + 15519 2860 3171 2957 3213 + 15520 2958 3117 2861 3038 + 15521 3173 3038 2861 3117 + 15522 3173 2861 2956 3117 + 15523 3120 2961 2862 3041 + 15524 2862 3041 3154 3120 + 15525 2862 3154 3008 3120 + 15526 2862 3041 3094 3154 + 15527 3208 2862 3041 3094 + 15528 2862 3041 2961 3208 + 15529 3124 3044 2962 2863 + 15530 3124 2863 2962 3042 + 15531 3102 2864 2940 3046 + 15532 3125 3046 2940 2864 + 15533 3125 2968 3046 2864 + 15534 2934 3098 2864 3155 + 15535 2864 3098 2968 3155 + 15536 2864 2934 3155 3102 + 15537 3102 3155 2864 3046 + 15538 3155 3046 2968 2864 + 15539 2865 3159 3016 3095 + 15540 2972 3183 3128 2866 + 15541 3128 2866 3183 3222 + 15542 2889 3087 2867 3005 + 15543 3087 2889 2867 3169 + 15544 3167 2868 3026 2950 + 15545 3027 2868 3167 3110 + 15546 2950 3167 2868 3110 + 15547 3221 2924 2869 2890 + 15548 3009 3221 2869 2925 + 15549 3221 2869 2925 3181 + 15550 3221 3009 2869 2924 + 15551 3053 2870 2930 3092 + 15552 2975 3093 2870 3053 + 15553 2870 2891 3093 2975 + 15554 3153 2870 3053 3092 + 15555 3093 2870 3053 3153 + 15556 2870 3093 2926 3153 + 15557 2871 3112 2951 3172 + 15558 2951 2871 3172 2886 + 15559 3172 3093 3011 2871 + 15560 2871 3011 3172 2886 + 15561 3224 3172 2871 3093 + 15562 2891 2871 3093 3224 + 15563 2871 3224 3112 3172 + 15564 2891 3112 2871 3224 + 15565 2976 2873 2893 3201 + 15566 3058 2910 2894 2874 + 15567 3058 3079 2910 2874 + 15568 3225 3240 2875 3189 + 15569 3240 3189 3035 2875 + 15570 3240 3035 3114 2875 + 15571 3085 3002 2918 2876 + 15572 3059 2877 2915 3082 + 15573 2877 3001 3082 3150 + 15574 2877 3059 3150 3082 + 15575 3194 2878 3001 3082 + 15576 2878 3194 2917 3005 + 15577 2998 2878 3194 3082 + 15578 2917 3194 2878 3001 + 15579 2919 3005 3194 2878 + 15580 2878 2998 3194 2919 + 15581 3060 2956 2879 3079 + 15582 3083 2880 2998 2913 + 15583 2880 3232 3083 2998 + 15584 2919 2880 2998 3232 + 15585 3196 2880 2919 3232 + 15586 3243 3000 2880 2913 + 15587 3083 3232 2880 3243 + 15588 2880 3196 3243 3232 + 15589 3196 2880 3243 3000 + 15590 3243 2880 3083 2913 + 15591 3068 3144 2881 2987 + 15592 2881 3144 3068 2901 + 15593 3070 2881 3144 2987 + 15594 2895 3067 2882 2984 + 15595 3067 2986 2899 2882 + 15596 2986 2882 3067 3147 + 15597 3067 2882 2984 3147 + 15598 2902 2984 2882 3147 + 15599 3068 2883 2904 2987 + 15600 2939 3095 3021 2884 + 15601 2884 2939 3095 3204 + 15602 2884 3095 2935 3204 + 15603 2939 2884 3099 3204 + 15604 2884 2939 3206 3021 + 15605 2939 3099 2884 3206 + 15606 2885 3162 3208 2943 + 15607 3094 3162 3208 2885 + 15608 3105 3211 2933 2885 + 15609 3211 2885 3105 3162 + 15610 2885 3094 3162 3211 + 15611 2885 2933 3094 3211 + 15612 2947 3115 3028 2886 + 15613 2951 2886 3172 3115 + 15614 3028 2886 3115 3172 + 15615 2886 3214 3028 2946 + 15616 3214 3172 2886 3028 + 15617 2886 3172 3214 3011 + 15618 2946 3011 2886 3214 + 15619 2887 3040 3119 2960 + 15620 3040 2887 3119 3157 + 15621 3157 3205 2887 3119 + 15622 2933 3205 3119 2887 + 15623 2960 3119 2887 3236 + 15624 2933 3119 3236 2887 + 15625 3032 3222 2888 2940 + 15626 3087 3051 2889 3169 + 15627 2950 2889 3051 3169 + 15628 3087 3005 2889 3186 + 15629 3087 3186 2889 3051 + 15630 3203 3051 2889 3186 + 15631 3203 2889 3005 3186 + 15632 2921 2889 3244 3026 + 15633 3244 2950 3026 2889 + 15634 3051 3244 2889 2950 + 15635 2889 3244 3203 3088 + 15636 2889 3203 3244 3051 + 15637 2889 3088 2921 3244 + 15638 3022 3103 2974 2890 + 15639 3022 3103 2890 2937 + 15640 3129 3022 2974 2890 + 15641 3221 3103 2924 2890 + 15642 3129 2974 3221 2890 + 15643 3103 3221 2974 2890 + 15644 2975 2891 3093 3224 + 15645 3224 2975 2891 3036 + 15646 3224 2891 3112 3036 + 15647 2900 2893 3075 2989 + 15648 2990 2900 2893 3075 + 15649 2893 2976 3145 3077 + 15650 3145 3075 2893 2989 + 15651 2989 3145 3077 2893 + 15652 2893 3201 3145 2976 + 15653 3201 2990 2893 3075 + 15654 3201 2893 3145 3075 + 15655 2910 2894 3228 3058 + 15656 3228 3058 2894 2978 + 15657 2894 3228 2978 3146 + 15658 3228 3146 2894 2910 + 15659 2895 3198 3063 2983 + 15660 3063 2895 3138 3198 + 15661 2984 2895 3245 3138 + 15662 3198 3245 3067 2895 + 15663 2895 3198 3245 3138 + 15664 2984 2895 3067 3245 + 15665 2982 3139 2896 3073 + 15666 3139 3062 2982 2896 + 15667 2896 3073 3246 3142 + 15668 3073 2896 3246 3139 + 15669 2984 3246 3335 2896 + 15670 2984 3335 3069 2896 + 15671 3335 2896 3246 3142 + 15672 3335 3069 2896 3142 + 15673 3336 2984 2896 3246 + 15674 3336 3246 2896 3139 + 15675 3336 3062 2896 2984 + 15676 3139 3336 3062 2896 + 15677 2983 2897 3247 3063 + 15678 2897 3247 3063 2985 + 15679 3248 2985 2898 3197 + 15680 3197 3064 2898 3248 + 15681 3148 2899 2986 3066 + 15682 2999 2899 3249 3202 + 15683 3249 3065 2899 2999 + 15684 2899 3065 3249 3140 + 15685 3428 2899 3249 3140 + 15686 3428 3067 2899 3140 + 15687 3428 3148 2899 2986 + 15688 3428 3202 3249 2899 + 15689 3428 3148 3202 2899 + 15690 3428 2899 3067 2986 + 15691 2900 3070 3251 2987 + 15692 2900 3251 3071 2987 + 15693 3251 2900 2990 3075 + 15694 3251 3071 2990 2900 + 15695 3070 2900 3251 2988 + 15696 3251 2988 2900 3075 + 15697 3335 3069 2902 2984 + 15698 3335 3069 2991 2902 + 15699 2984 2902 3335 3147 + 15700 3147 3429 2902 3335 + 15701 2902 3429 3078 2991 + 15702 3429 2991 2902 3335 + 15703 2902 3429 3147 3078 + 15704 2903 2995 3072 3146 + 15705 3146 2903 2991 3072 + 15706 2904 3342 2987 3071 + 15707 3342 3068 2904 2987 + 15708 2904 3431 3342 3071 + 15709 2904 3071 3141 3431 + 15710 3142 2993 2905 3073 + 15711 2905 3252 3142 3072 + 15712 3142 2905 2993 3252 + 15713 2905 3143 3252 3072 + 15714 2905 3143 2993 3252 + 15715 2989 2906 3145 3075 + 15716 2906 3074 2992 3254 + 15717 2906 2992 3076 3254 + 15718 3145 3255 2906 3076 + 15719 3075 3145 3255 2906 + 15720 3076 2906 3254 3343 + 15721 3074 2906 2988 3343 + 15722 3343 3076 2906 3255 + 15723 3343 2906 2988 3075 + 15724 3343 3074 2906 3254 + 15725 3075 3255 3343 2906 + 15726 3256 2907 3143 2993 + 15727 2907 3256 3143 3199 + 15728 3345 2907 2992 3199 + 15729 3345 2907 3199 3256 + 15730 3251 2908 3070 2988 + 15731 3074 3254 3343 2908 + 15732 3074 2988 2908 3343 + 15733 3251 2908 2988 3343 + 15734 3346 3254 3074 2908 + 15735 2908 3346 3258 2994 + 15736 2908 3074 3346 2994 + 15737 3070 3430 2994 2908 + 15738 3258 2994 3430 2908 + 15739 3070 2908 3251 3430 + 15740 3258 3346 2908 3433 + 15741 3433 3507 3346 2908 + 15742 3346 3507 3254 2908 + 15743 2908 3258 3561 3430 + 15744 3561 3251 2908 3430 + 15745 2908 3561 3343 3251 + 15746 3343 3254 3562 2908 + 15747 3507 3254 2908 3562 + 15748 3507 2908 3433 3562 + 15749 3258 3561 3594 2908 + 15750 3343 3594 3561 2908 + 15751 2908 3258 3433 3594 + 15752 3562 3594 3343 2908 + 15753 3562 3433 3594 2908 + 15754 3226 2909 3145 3077 + 15755 3145 3255 3076 2909 + 15756 3145 3255 2909 3226 + 15757 3257 2909 2995 3199 + 15758 3136 3257 2909 2995 + 15759 3199 3076 3347 2909 + 15760 3136 3347 3226 2909 + 15761 3199 3347 3257 2909 + 15762 3347 3076 3255 2909 + 15763 3257 2909 3347 3136 + 15764 3226 3255 2909 3347 + 15765 3078 3146 3228 2910 + 15766 2910 3228 3259 3058 + 15767 3079 2910 2996 3259 + 15768 3079 3058 2910 3259 + 15769 3078 3259 2996 2910 + 15770 3259 3078 3228 2910 + 15771 3000 2911 3200 3233 + 15772 3233 3000 2911 3195 + 15773 3233 2911 2996 3195 + 15774 3200 3000 3234 2911 + 15775 2912 3201 3260 3080 + 15776 3190 3201 3260 2912 + 15777 3190 3260 3057 2912 + 15778 2997 3234 3261 2913 + 15779 2997 3261 3083 2913 + 15780 2913 3261 3083 3243 + 15781 2913 3261 3243 3349 + 15782 3234 3000 3349 2913 + 15783 2913 3234 3261 3349 + 15784 3000 3243 3349 2913 + 15785 3149 2915 3082 3059 + 15786 3149 3353 2915 3059 + 15787 2915 3081 3353 3149 + 15788 3001 3084 3265 2916 + 15789 3084 3265 2916 3356 + 15790 3084 2916 3002 3356 + 15791 3265 2916 3356 3438 + 15792 3265 2916 3438 3001 + 15793 3001 3150 2916 3438 + 15794 2917 3005 3186 3203 + 15795 2917 3267 3151 3203 + 15796 2917 3186 3267 3203 + 15797 2917 3439 3084 3004 + 15798 3151 3267 2917 3439 + 15799 3151 2917 3004 3439 + 15800 3084 2917 3001 3439 + 15801 2917 3194 3001 3514 + 15802 3439 2917 3514 3267 + 15803 3186 3514 2917 3267 + 15804 3186 2917 3514 3005 + 15805 3439 2917 3001 3514 + 15806 3514 2917 3194 3005 + 15807 3003 2918 3085 3266 + 15808 3084 3004 3266 2918 + 15809 3003 3266 3086 2918 + 15810 2918 3084 3002 3266 + 15811 3266 2918 3085 3002 + 15812 3086 2918 3266 3004 + 15813 2919 2998 3194 3232 + 15814 3194 3269 2919 3232 + 15815 2919 3269 3005 3087 + 15816 3269 3196 2919 3232 + 15817 2919 3269 3194 3005 + 15818 3269 3087 2919 3196 + 15819 3088 2920 3151 3004 + 15820 3086 2920 3004 3266 + 15821 3272 3088 3006 2920 + 15822 3272 3006 3106 2920 + 15823 3272 2920 3151 3088 + 15824 2920 3266 3086 3357 + 15825 3086 3357 3160 2920 + 15826 3272 3151 2920 3359 + 15827 3272 3441 2920 3106 + 15828 3441 2920 3106 3160 + 15829 3359 3441 3271 2920 + 15830 2920 3271 3357 3441 + 15831 2920 3357 3160 3441 + 15832 3441 2920 3359 3272 + 15833 3266 2920 3564 3357 + 15834 2920 3271 3564 3357 + 15835 2920 3359 3564 3271 + 15836 3004 2920 3564 3266 + 15837 3564 2920 3151 3359 + 15838 2920 3151 3004 3564 + 15839 2921 3088 3006 3165 + 15840 2921 3244 3088 3165 + 15841 3244 3026 3165 2921 + 15842 3089 3152 2922 3007 + 15843 2923 3237 3009 3275 + 15844 3237 3275 2923 3176 + 15845 3361 3091 3007 2923 + 15846 2923 3009 3089 3361 + 15847 3361 3275 2923 3009 + 15848 2923 3089 3007 3361 + 15849 3176 3444 2923 3013 + 15850 3444 3275 2923 3361 + 15851 3361 3444 3091 2923 + 15852 3444 2923 3275 3176 + 15853 3013 3091 3444 2923 + 15854 3237 2924 3207 3008 + 15855 3276 3237 2924 3207 + 15856 2924 3009 3276 3221 + 15857 3221 3276 2924 3103 + 15858 3276 2924 3103 3207 + 15859 3237 2924 3009 3276 + 15860 3221 2925 3277 3181 + 15861 3009 3089 3361 2925 + 15862 2925 3445 3277 3363 + 15863 3221 3277 2925 3445 + 15864 3221 2925 3009 3445 + 15865 3052 3447 3089 2925 + 15866 2925 3089 3361 3447 + 15867 3516 2925 3445 3009 + 15868 3516 2925 3447 3363 + 15869 2925 3516 3445 3363 + 15870 3009 3361 3516 2925 + 15871 2925 3361 3516 3447 + 15872 3277 3181 2925 3517 + 15873 3127 2925 3181 3517 + 15874 2925 3363 3277 3517 + 15875 3052 3517 3447 2925 + 15876 3052 3127 3517 2925 + 15877 2925 3447 3363 3517 + 15878 2926 3278 3010 3153 + 15879 3011 3278 3090 2926 + 15880 3011 3278 2926 3093 + 15881 3153 2926 3278 3093 + 15882 3090 2926 3278 3010 + 15883 3281 3092 2927 3153 + 15884 2927 3012 3092 3281 + 15885 2927 3152 3012 3281 + 15886 2927 3153 3364 3281 + 15887 2927 3364 3152 3281 + 15888 3091 2927 3010 3364 + 15889 3364 2927 3152 3091 + 15890 3364 2927 3010 3153 + 15891 2928 3278 3010 3090 + 15892 2928 3091 3010 3279 + 15893 3013 3279 2928 3215 + 15894 2928 3091 3279 3013 + 15895 3365 2928 3279 3215 + 15896 3365 3278 2928 3090 + 15897 3365 3090 2928 3215 + 15898 2928 3010 3448 3279 + 15899 3448 2928 3365 3278 + 15900 3448 3010 2928 3278 + 15901 3448 3365 2928 3279 + 15902 3121 2929 3014 3209 + 15903 3090 3025 2929 3215 + 15904 3025 2929 3215 3367 + 15905 3209 3367 2929 3163 + 15906 3367 3209 2929 3121 + 15907 3025 2929 3367 3163 + 15908 2929 3367 3121 3215 + 15909 2931 3274 3152 3089 + 15910 2931 3089 3447 3274 + 15911 3447 3089 2931 3052 + 15912 2931 3152 3274 3449 + 15913 3012 2931 3449 3152 + 15914 2931 3447 3567 3274 + 15915 2931 3274 3567 3449 + 15916 3015 2932 3285 3158 + 15917 3285 2932 3015 3094 + 15918 3285 3370 2932 3094 + 15919 3158 3285 3370 2932 + 15920 3158 3370 3017 2932 + 15921 3017 2932 3370 3154 + 15922 3154 2932 3370 3094 + 15923 2933 3236 3211 3105 + 15924 3286 2933 3236 3211 + 15925 3236 3119 2933 3286 + 15926 3015 3205 3371 2933 + 15927 2933 3371 3015 3094 + 15928 3119 3371 2933 3286 + 15929 2933 3205 3371 3119 + 15930 2933 3453 3371 3094 + 15931 2933 3286 3453 3211 + 15932 2933 3211 3453 3094 + 15933 3453 2933 3371 3286 + 15934 2934 3019 3098 3155 + 15935 3102 3155 3018 2934 + 15936 3095 3042 2935 3156 + 15937 3178 2935 3095 3042 + 15938 3016 3178 2935 3095 + 15939 3204 2935 3156 3095 + 15940 2936 3017 3099 3288 + 15941 3288 3096 2936 3017 + 15942 3375 2936 3099 3288 + 15943 2936 3375 3099 3019 + 15944 2936 3097 3375 3019 + 15945 2936 3375 3097 3456 + 15946 3018 3097 3456 2936 + 15947 3288 3456 3375 2936 + 15948 3288 3096 3456 2936 + 15949 3018 3456 3096 2936 + 15950 3022 3103 2937 3230 + 15951 2937 3289 3096 3018 + 15952 3207 3103 3289 2937 + 15953 3241 2937 3018 3289 + 15954 3289 3230 2937 3103 + 15955 2937 3289 3207 3096 + 15956 3241 3230 2937 3289 + 15957 2938 3100 3293 3020 + 15958 3159 3293 2938 3100 + 15959 3157 2938 3293 3020 + 15960 2938 3159 3021 3293 + 15961 3101 3378 3157 2938 + 15962 2938 3378 3157 3293 + 15963 3021 2938 3378 3206 + 15964 2938 3293 3021 3378 + 15965 3101 3206 3378 2938 + 15966 3099 3291 2939 3204 + 15967 3206 3021 2939 3296 + 15968 3374 3021 2939 3095 + 15969 3021 2939 3296 3374 + 15970 3291 3455 2939 3204 + 15971 2939 3095 3455 3374 + 15972 3204 3455 2939 3095 + 15973 3291 3459 3099 2939 + 15974 3206 3296 2939 3459 + 15975 3099 2939 3459 3206 + 15976 3524 2939 3455 3374 + 15977 3524 3296 2939 3374 + 15978 3291 2939 3455 3524 + 15979 3459 2939 3524 3296 + 15980 3291 2939 3524 3459 + 15981 2940 3185 3032 3222 + 15982 3102 3046 2940 3297 + 15983 3102 2940 3193 3297 + 15984 2940 3193 3298 3222 + 15985 2940 3298 3185 3222 + 15986 2940 3193 3297 3381 + 15987 2940 3046 3125 3381 + 15988 3193 3298 3381 2940 + 15989 2940 3297 3046 3381 + 15990 3463 2940 3298 3185 + 15991 3463 3032 2940 3185 + 15992 3381 2940 3298 3463 + 15993 2940 3125 3463 3381 + 15994 3125 2940 3463 3032 + 15995 3039 3268 2941 3161 + 15996 3003 3161 2941 3268 + 15997 3357 3003 2941 3268 + 15998 3003 3160 3357 2941 + 15999 3039 2941 3268 3383 + 16000 3039 3175 2941 3383 + 16001 3268 3383 2941 3525 + 16002 2941 3175 3525 3383 + 16003 3023 3525 2941 3175 + 16004 3525 3357 3160 2941 + 16005 3160 3023 3525 2941 + 16006 3357 2941 3525 3268 + 16007 3236 3024 3105 2942 + 16008 3236 3164 3024 2942 + 16009 3299 2942 3236 3023 + 16010 2942 3299 3106 3160 + 16011 3299 2942 3164 3236 + 16012 3299 2942 3023 3160 + 16013 3106 2942 3164 3299 + 16014 2943 3208 3014 3162 + 16015 3104 2943 3209 3300 + 16016 2943 3104 3024 3300 + 16017 2943 3024 3162 3300 + 16018 3368 2943 3014 3162 + 16019 2943 3300 3162 3368 + 16020 2943 3014 3209 3368 + 16021 3209 3368 3300 2943 + 16022 3024 2944 3210 3104 + 16023 3026 3167 3108 2945 + 16024 3167 3107 2945 3027 + 16025 3301 3163 3108 2945 + 16026 3301 3025 3163 2945 + 16027 3301 3108 3167 2945 + 16028 3301 3107 3025 2945 + 16029 3107 3167 2945 3301 + 16030 2946 3166 3011 3214 + 16031 2946 3028 3168 3305 + 16032 2946 3168 3107 3305 + 16033 3386 2946 3166 3025 + 16034 2946 3305 3107 3386 + 16035 3386 3107 2946 3025 + 16036 3530 3028 3214 2946 + 16037 3530 2946 3305 3028 + 16038 3530 3214 3166 2946 + 16039 3530 2946 3166 3386 + 16040 2946 3530 3305 3386 + 16041 3028 3469 2947 3168 + 16042 3168 3469 2947 3029 + 16043 3469 3115 2947 3037 + 16044 3116 3037 3469 2947 + 16045 3028 3469 3115 2947 + 16046 2947 3469 3116 3029 + 16047 2948 3163 3209 3104 + 16048 3104 3209 2948 3300 + 16049 3210 2948 3300 3104 + 16050 3302 3163 2948 3108 + 16051 3235 2948 3108 3302 + 16052 3210 3235 3388 2948 + 16053 3300 3466 3209 2948 + 16054 3302 2948 3466 3392 + 16055 3302 3527 2948 3163 + 16056 3209 3163 2948 3527 + 16057 3466 3209 2948 3527 + 16058 3466 2948 3302 3527 + 16059 2948 3210 3300 3570 + 16060 3466 3300 3570 2948 + 16061 3466 2948 3570 3392 + 16062 3210 3388 3570 2948 + 16063 2948 3235 3596 3302 + 16064 2948 3570 3596 3388 + 16065 3596 3570 2948 3392 + 16066 2948 3596 3392 3302 + 16067 2948 3596 3235 3388 + 16068 3031 3223 3110 2949 + 16069 3029 3223 3116 2949 + 16070 2949 3031 3242 3109 + 16071 3173 3116 3242 2949 + 16072 2949 3031 3223 3242 + 16073 2949 3223 3116 3242 + 16074 3167 3026 3108 2950 + 16075 3108 3026 3235 2950 + 16076 2950 3026 3235 3244 + 16077 3235 2950 3307 3108 + 16078 2950 3390 3167 3110 + 16079 2950 3108 3167 3390 + 16080 2950 3307 3108 3390 + 16081 2950 3244 3235 3443 + 16082 3235 3443 3307 2950 + 16083 3051 3443 3244 2950 + 16084 3110 2950 3532 3169 + 16085 2950 3532 3390 3110 + 16086 2950 3307 3390 3532 + 16087 3051 2950 3169 3532 + 16088 2950 3051 3443 3532 + 16089 2950 3443 3307 3532 + 16090 3172 2951 3308 3112 + 16091 3034 3308 2951 3112 + 16092 3034 3308 3171 2951 + 16093 3472 2951 3308 3172 + 16094 3115 3172 2951 3472 + 16095 3308 3472 3171 2951 + 16096 3115 2951 3171 3472 + 16097 3034 2952 3111 3187 + 16098 2952 3170 3309 3033 + 16099 3187 3309 2952 3111 + 16100 2952 3309 3170 3111 + 16101 3112 2953 3034 3308 + 16102 3034 2953 3187 3308 + 16103 2953 3396 3112 3036 + 16104 2953 3112 3396 3308 + 16105 3534 3187 2953 3308 + 16106 3534 2953 3396 3308 + 16107 3113 3189 2954 3035 + 16108 3189 3310 2954 3056 + 16109 3310 3189 2954 3113 + 16110 3114 2955 3311 3174 + 16111 3114 3212 3311 2955 + 16112 2955 3170 3212 3395 + 16113 2955 3213 3170 3395 + 16114 3037 3395 3213 2955 + 16115 3037 3537 3395 2955 + 16116 3174 3537 2955 3311 + 16117 3174 3537 3037 2955 + 16118 3212 2955 3537 3311 + 16119 3212 3395 3537 2955 + 16120 3173 2956 3229 3117 + 16121 3060 3229 2956 3079 + 16122 3187 3034 2957 3111 + 16123 3171 2957 3308 3034 + 16124 3308 3034 2957 3187 + 16125 3111 2957 3187 3309 + 16126 2957 3111 3213 3395 + 16127 3111 2957 3309 3395 + 16128 3308 3472 2957 3171 + 16129 3187 3474 3309 2957 + 16130 3395 3474 2957 3309 + 16131 3187 3534 3474 2957 + 16132 3534 3308 3472 2957 + 16133 3474 2957 3534 3314 + 16134 3401 3534 2957 3314 + 16135 3308 2957 3534 3187 + 16136 3534 2957 3472 3401 + 16137 3472 3401 2957 3573 + 16138 3395 3213 2957 3573 + 16139 3171 2957 3213 3573 + 16140 3171 2957 3573 3472 + 16141 3597 3401 2957 3314 + 16142 3597 3573 2957 3401 + 16143 3395 2957 3474 3597 + 16144 3597 2957 3474 3314 + 16145 3395 3573 2957 3597 + 16146 3114 3311 2958 3174 + 16147 3191 2958 3240 3311 + 16148 3240 2958 3114 3311 + 16149 3400 3174 2958 3311 + 16150 3400 2958 3038 3117 + 16151 2958 3400 3038 3174 + 16152 3400 3191 2958 3117 + 16153 3400 3191 3311 2958 + 16154 3175 2959 3118 3315 + 16155 2959 3039 3383 3175 + 16156 2959 3383 3315 3175 + 16157 3175 3023 3384 2960 + 16158 3384 3023 3236 2960 + 16159 2960 3384 3119 3236 + 16160 3384 3040 3175 2960 + 16161 3384 3119 3040 2960 + 16162 2961 3041 3282 3208 + 16163 3014 2961 3121 3282 + 16164 3014 3208 2961 3282 + 16165 3120 2961 3041 3316 + 16166 2961 3316 3120 3176 + 16167 2961 3013 3366 3176 + 16168 2961 3177 3366 3013 + 16169 3041 3316 2961 3403 + 16170 3282 2961 3403 3041 + 16171 3403 3177 2961 3477 + 16172 2961 3403 3477 3282 + 16173 2961 3477 3121 3282 + 16174 3121 2961 3177 3477 + 16175 2961 3539 3366 3177 + 16176 2961 3539 3316 3176 + 16177 2961 3366 3539 3176 + 16178 3403 3316 2961 3539 + 16179 3403 3539 2961 3177 + 16180 3042 2962 3124 3178 + 16181 3179 3216 2963 3043 + 16182 3043 3216 2963 3123 + 16183 3045 3319 2964 3123 + 16184 3123 3043 3319 2964 + 16185 3044 2964 3320 3122 + 16186 2964 3405 3319 3045 + 16187 3045 2964 3405 3218 + 16188 3320 3479 3122 2964 + 16189 3479 2964 3043 3122 + 16190 3319 2964 3043 3479 + 16191 3320 3044 3480 2964 + 16192 3218 3044 2964 3480 + 16193 3320 3405 2964 3480 + 16194 3405 2964 3480 3218 + 16195 3320 2964 3405 3543 + 16196 3543 3479 3320 2964 + 16197 3543 3319 3479 2964 + 16198 3405 2964 3319 3543 + 16199 3216 3180 2966 3123 + 16200 2966 3126 3321 3216 + 16201 3180 3216 2966 3321 + 16202 3032 2966 3126 3463 + 16203 3321 3126 2966 3463 + 16204 3180 2966 3463 3321 + 16205 3125 3463 2966 3032 + 16206 3125 2966 3463 3180 + 16207 3218 2967 3042 3156 + 16208 3045 3218 3292 2967 + 16209 3292 3098 3045 2967 + 16210 3218 2967 3377 3292 + 16211 2967 3377 3156 3218 + 16212 3292 3377 3098 2967 + 16213 3156 3098 3377 2967 + 16214 3155 2968 3046 3290 + 16215 2968 3290 3155 3098 + 16216 3045 2968 3098 3292 + 16217 3381 2968 3046 3125 + 16218 3381 3217 2968 3125 + 16219 3408 3046 2968 3290 + 16220 3322 3217 3481 2968 + 16221 3481 3045 2968 3217 + 16222 3482 3381 3217 2968 + 16223 2968 3482 3408 3322 + 16224 3322 3482 3217 2968 + 16225 3046 3482 3408 2968 + 16226 3482 3046 3381 2968 + 16227 3045 3521 2968 3292 + 16228 2968 3521 3481 3322 + 16229 3521 2968 3481 3045 + 16230 2968 3521 3290 3098 + 16231 3408 2968 3322 3521 + 16232 3521 3098 2968 3292 + 16233 3408 3521 3290 2968 + 16234 3185 3126 3032 2969 + 16235 3133 3188 2969 3407 + 16236 3185 3407 3126 2969 + 16237 3185 2969 3132 3407 + 16238 2969 3188 3132 3407 + 16239 3188 2970 3050 3325 + 16240 3188 3054 2970 3325 + 16241 3131 2970 3325 3050 + 16242 3128 3184 2972 3022 + 16243 3129 3184 3022 2972 + 16244 3129 3184 2972 3220 + 16245 3181 3220 3129 2972 + 16246 2973 3219 3182 3326 + 16247 3326 2973 3130 3182 + 16248 3327 3184 3220 2973 + 16249 3327 3049 3184 2973 + 16250 3326 3412 3130 2973 + 16251 3130 2973 3483 3220 + 16252 2973 3412 3130 3483 + 16253 2973 3484 3219 3326 + 16254 3049 3484 3219 2973 + 16255 3547 3220 2973 3327 + 16256 2973 3547 3412 3483 + 16257 3220 3547 2973 3483 + 16258 3326 3581 3412 2973 + 16259 3581 3326 3484 2973 + 16260 3581 3484 3049 2973 + 16261 3581 3547 3412 2973 + 16262 3327 3049 2973 3581 + 16263 3327 2973 3547 3581 + 16264 3022 3129 2974 3184 + 16265 3184 3220 3129 2974 + 16266 2974 3022 3230 3103 + 16267 2974 3022 3184 3230 + 16268 3221 2974 3276 3103 + 16269 2974 3129 3221 3277 + 16270 3129 3277 2974 3220 + 16271 3230 3184 2974 3327 + 16272 3184 3327 3220 2974 + 16273 3382 3230 3103 2974 + 16274 3382 3327 3230 2974 + 16275 3382 3103 3276 2974 + 16276 3445 3221 3277 2974 + 16277 3276 3445 2974 3221 + 16278 2974 3547 3327 3220 + 16279 2974 3277 3547 3220 + 16280 3277 3547 3445 2974 + 16281 3445 3276 2974 3584 + 16282 3547 3584 3445 2974 + 16283 3547 3327 3584 2974 + 16284 3382 3584 3327 2974 + 16285 3276 2974 3584 3382 + 16286 3093 3053 2975 3283 + 16287 3093 3283 2975 3369 + 16288 2975 3224 3093 3369 + 16289 2975 3396 3036 3224 + 16290 3224 3369 2975 3490 + 16291 3490 2975 3283 3369 + 16292 3552 3224 2975 3490 + 16293 2975 3396 3224 3552 + 16294 3226 3145 2976 3077 + 16295 3238 2976 3145 3201 + 16296 3145 2976 3238 3226 + 16297 3055 2976 3238 3135 + 16298 3055 2976 3226 3238 + 16299 3418 3134 3056 2977 + 16300 3225 3189 2977 3418 + 16301 3418 3057 3134 2977 + 16302 3225 2977 3135 3418 + 16303 2977 3189 3056 3418 + 16304 3135 2977 3057 3418 + 16305 3072 2995 2978 3146 + 16306 3228 2978 3146 3072 + 16307 3253 3228 3072 2978 + 16308 3253 3072 3344 2978 + 16309 3136 2978 3344 2995 + 16310 3344 2978 3072 2995 + 16311 3228 3494 3058 2978 + 16312 3494 3228 3253 2978 + 16313 2978 3494 3058 3227 + 16314 2978 3344 3253 3554 + 16315 3494 3253 3554 2978 + 16316 2978 3554 3494 3227 + 16317 2978 3554 3227 3588 + 16318 3344 2978 3588 3554 + 16319 2978 3227 3136 3588 + 16320 2978 3588 3136 3344 + 16321 3192 2979 3055 3330 + 16322 3227 3192 3421 2979 + 16323 3475 3421 2979 3227 + 16324 3475 2979 3191 3239 + 16325 3239 3227 3475 2979 + 16326 3330 2979 3055 3491 + 16327 3491 3191 2979 3055 + 16328 2979 3330 3192 3495 + 16329 3421 2979 3192 3495 + 16330 2979 3556 3330 3495 + 16331 3330 3556 2979 3491 + 16332 2979 3556 3191 3491 + 16333 3495 2979 3556 3589 + 16334 2979 3589 3421 3475 + 16335 3495 3421 2979 3589 + 16336 3602 3475 2979 3191 + 16337 2979 3602 3589 3475 + 16338 3602 2979 3556 3191 + 16339 3589 2979 3556 3602 + 16340 3231 3137 2980 3060 + 16341 3137 2980 3061 3231 + 16342 2980 3000 3196 3264 + 16343 3270 3061 2980 3231 + 16344 3270 2980 3061 3196 + 16345 3060 3350 3195 2980 + 16346 3231 2980 3471 3060 + 16347 3350 2980 3060 3471 + 16348 3270 2980 3471 3231 + 16349 3000 2980 3195 3509 + 16350 2980 3509 3000 3264 + 16351 3550 3471 3270 2980 + 16352 3550 2980 3270 3196 + 16353 3550 3196 3264 2980 + 16354 3603 2980 3509 3195 + 16355 3603 2980 3550 3264 + 16356 3603 3509 2980 3264 + 16357 3603 3350 2980 3195 + 16358 3550 3603 3471 2980 + 16359 3350 3603 2980 3471 + 16360 3031 3109 3231 2981 + 16361 2981 3242 3031 3109 + 16362 3313 3173 3242 2981 + 16363 3313 3229 3173 2981 + 16364 3350 2981 3060 3229 + 16365 3471 2981 3231 3060 + 16366 3031 3471 2981 3231 + 16367 3471 2981 3060 3350 + 16368 2981 3533 3471 3031 + 16369 3242 3533 2981 3031 + 16370 3242 3533 3313 2981 + 16371 2981 3313 3587 3533 + 16372 3471 3587 2981 3350 + 16373 2981 3587 3471 3533 + 16374 3350 3587 2981 3229 + 16375 3229 3313 3587 2981 + 16376 2983 3247 3140 3198 + 16377 3247 3063 3198 2983 + 16378 2984 3336 3062 3138 + 16379 2984 3245 3336 3138 + 16380 3067 2984 3337 3147 + 16381 2984 3245 3067 3337 + 16382 3424 2984 3337 3245 + 16383 2984 3335 3424 3147 + 16384 3147 2984 3337 3424 + 16385 3246 3335 3424 2984 + 16386 3246 3424 3336 2984 + 16387 2984 3336 3245 3424 + 16388 3426 3247 2985 3063 + 16389 3426 2985 3248 3197 + 16390 2985 3063 3197 3426 + 16391 3147 2986 3066 3200 + 16392 3200 3250 3147 2986 + 16393 2986 3067 3337 3147 + 16394 2986 3250 3147 3337 + 16395 3067 2986 3337 3428 + 16396 3148 2986 3428 3501 + 16397 3337 3501 2986 3250 + 16398 3066 2986 3148 3501 + 16399 3428 2986 3337 3501 + 16400 3501 3066 2986 3200 + 16401 3200 3501 3250 2986 + 16402 2987 3342 3068 3144 + 16403 2987 3070 3342 3144 + 16404 3070 3342 3251 2987 + 16405 3342 3071 3251 2987 + 16406 3343 2988 3251 3075 + 16407 3431 3071 2990 3251 + 16408 2990 3141 3071 3431 + 16409 3080 3431 3141 2990 + 16410 3503 3080 2990 3431 + 16411 2990 3503 3201 3080 + 16412 3251 3075 2990 3503 + 16413 3251 3503 2990 3431 + 16414 3201 3075 3503 2990 + 16415 3146 3078 3228 2991 + 16416 3146 2991 3228 3072 + 16417 3069 2991 3142 3335 + 16418 3429 3228 3078 2991 + 16419 3504 3072 2991 3142 + 16420 3142 2991 3504 3335 + 16421 3429 3504 2991 3335 + 16422 2991 3504 3429 3228 + 16423 3504 2991 3072 3228 + 16424 3345 2992 3076 3199 + 16425 3345 2992 3254 3076 + 16426 3142 3427 2993 3073 + 16427 2993 3143 3256 3432 + 16428 2993 3252 3143 3432 + 16429 3142 2993 3427 3505 + 16430 3256 3505 2993 3432 + 16431 3142 2993 3505 3252 + 16432 2993 3432 3505 3252 + 16433 2994 3144 3430 3070 + 16434 2995 3257 3199 3143 + 16435 3344 3072 3143 2995 + 16436 3143 2995 3257 3344 + 16437 3136 3344 3257 2995 + 16438 2996 3259 3078 3233 + 16439 2996 3195 3259 3233 + 16440 3195 2996 3259 3079 + 16441 3261 2997 3148 3234 + 16442 3202 3148 3352 2997 + 16443 3202 2997 3352 3081 + 16444 3352 2997 3148 3261 + 16445 3149 3437 2997 3081 + 16446 3352 2997 3437 3081 + 16447 3261 3437 2997 3083 + 16448 3437 3149 2997 3083 + 16449 3352 3437 2997 3261 + 16450 3149 2998 3262 3082 + 16451 3082 3194 2998 3262 + 16452 2998 3149 3262 3083 + 16453 3232 3262 3083 2998 + 16454 3232 3194 3262 2998 + 16455 3264 3196 3243 3000 + 16456 3200 3349 3000 3233 + 16457 3234 3349 3000 3200 + 16458 3264 3243 3349 3000 + 16459 3264 3509 3000 3349 + 16460 3349 3509 3000 3233 + 16461 3000 3509 3195 3233 + 16462 3082 3001 3355 3150 + 16463 3194 3001 3355 3082 + 16464 3001 3355 3150 3438 + 16465 3265 3438 3355 3001 + 16466 3084 3001 3265 3439 + 16467 3355 3001 3194 3514 + 16468 3265 3001 3355 3514 + 16469 3265 3439 3001 3514 + 16470 3002 3084 3356 3266 + 16471 3002 3356 3440 3266 + 16472 3266 3085 3440 3002 + 16473 3003 3085 3161 3268 + 16474 3085 3003 3357 3268 + 16475 3266 3003 3357 3085 + 16476 3086 3003 3160 3357 + 16477 3086 3003 3357 3266 + 16478 3084 3266 3004 3439 + 16479 3151 3004 3564 3439 + 16480 3004 3266 3564 3439 + 16481 3087 3269 3005 3186 + 16482 3269 3186 3514 3005 + 16483 3514 3194 3269 3005 + 16484 3088 3006 3165 3272 + 16485 3106 3165 3006 3272 + 16486 3274 3007 3091 3152 + 16487 3089 3274 3152 3007 + 16488 3091 3361 3007 3274 + 16489 3089 3361 3274 3007 + 16490 3008 3154 3207 3120 + 16491 3237 3207 3120 3008 + 16492 3009 3362 3276 3445 + 16493 3276 3009 3445 3221 + 16494 3446 3276 3009 3362 + 16495 3446 3009 3275 3362 + 16496 3009 3237 3446 3275 + 16497 3237 3009 3446 3276 + 16498 3445 3516 3009 3362 + 16499 3009 3362 3516 3275 + 16500 3009 3516 3361 3275 + 16501 3010 3279 3091 3364 + 16502 3010 3448 3279 3364 + 16503 3518 3364 3448 3010 + 16504 3518 3010 3278 3153 + 16505 3278 3518 3448 3010 + 16506 3518 3153 3364 3010 + 16507 3011 3093 3172 3214 + 16508 3011 3093 3214 3278 + 16509 3090 3011 3166 3278 + 16510 3214 3166 3011 3278 + 16511 3152 3012 3281 3449 + 16512 3013 3215 3177 3279 + 16513 3013 3177 3366 3279 + 16514 3366 3279 3091 3013 + 16515 3091 3444 3366 3013 + 16516 3013 3444 3366 3176 + 16517 3208 3282 3014 3162 + 16518 3368 3121 3282 3014 + 16519 3368 3014 3282 3162 + 16520 3368 3209 3121 3014 + 16521 3285 3015 3371 3094 + 16522 3158 3452 3015 3101 + 16523 3452 3371 3015 3205 + 16524 3285 3015 3158 3452 + 16525 3452 3015 3101 3205 + 16526 3015 3371 3452 3285 + 16527 3016 3287 3178 3095 + 16528 3287 3016 3374 3095 + 16529 3159 3016 3095 3374 + 16530 3288 3158 3017 3099 + 16531 3288 3370 3017 3158 + 16532 3096 3017 3288 3520 + 16533 3520 3154 3096 3017 + 16534 3370 3288 3017 3520 + 16535 3520 3370 3154 3017 + 16536 3376 3018 3155 3097 + 16537 3018 3376 3155 3102 + 16538 3018 3241 3376 3102 + 16539 3376 3241 3018 3289 + 16540 3018 3289 3456 3376 + 16541 3456 3289 3018 3096 + 16542 3456 3376 3097 3018 + 16543 3019 3098 3155 3290 + 16544 3097 3155 3290 3019 + 16545 3019 3099 3204 3291 + 16546 3156 3019 3204 3291 + 16547 3375 3099 3019 3291 + 16548 3097 3290 3375 3019 + 16549 3019 3098 3377 3156 + 16550 3019 3377 3098 3290 + 16551 3156 3377 3019 3291 + 16552 3375 3019 3290 3458 + 16553 3377 3290 3019 3458 + 16554 3458 3019 3377 3291 + 16555 3458 3375 3019 3291 + 16556 3118 3460 3020 3157 + 16557 3157 3293 3460 3020 + 16558 3159 3095 3021 3374 + 16559 3206 3378 3021 3296 + 16560 3296 3021 3462 3378 + 16561 3378 3021 3462 3293 + 16562 3462 3021 3159 3293 + 16563 3021 3159 3374 3462 + 16564 3021 3374 3296 3462 + 16565 3022 3184 3230 3128 + 16566 3299 3384 3023 3236 + 16567 3299 3525 3160 3023 + 16568 3384 3175 3525 3023 + 16569 3525 3299 3384 3023 + 16570 3162 3211 3024 3105 + 16571 3105 3211 3024 3236 + 16572 3211 3164 3024 3236 + 16573 3210 3104 3300 3024 + 16574 3385 3024 3164 3210 + 16575 3024 3211 3162 3385 + 16576 3024 3164 3211 3385 + 16577 3385 3300 3024 3210 + 16578 3162 3024 3385 3300 + 16579 3215 3280 3090 3025 + 16580 3025 3166 3280 3090 + 16581 3367 3215 3025 3280 + 16582 3025 3386 3107 3301 + 16583 3025 3386 3280 3166 + 16584 3025 3301 3163 3464 + 16585 3464 3163 3025 3367 + 16586 3464 3367 3025 3280 + 16587 3386 3301 3025 3464 + 16588 3464 3025 3386 3280 + 16589 3244 3235 3165 3026 + 16590 3027 3306 3223 3110 + 16591 3306 3027 3167 3110 + 16592 3027 3223 3306 3389 + 16593 3027 3306 3167 3389 + 16594 3389 3168 3107 3027 + 16595 3223 3027 3168 3389 + 16596 3389 3107 3167 3027 + 16597 3214 3391 3172 3028 + 16598 3028 3115 3391 3172 + 16599 3028 3305 3469 3168 + 16600 3530 3214 3028 3391 + 16601 3571 3305 3028 3530 + 16602 3391 3028 3571 3115 + 16603 3028 3115 3469 3571 + 16604 3028 3305 3571 3469 + 16605 3571 3028 3391 3530 + 16606 3168 3223 3469 3029 + 16607 3116 3469 3223 3029 + 16608 3169 3231 3031 3109 + 16609 3031 3169 3270 3231 + 16610 3031 3223 3306 3110 + 16611 3306 3223 3031 3242 + 16612 3031 3306 3390 3110 + 16613 3470 3306 3031 3394 + 16614 3031 3306 3470 3390 + 16615 3270 3471 3031 3231 + 16616 3031 3390 3532 3110 + 16617 3110 3532 3031 3169 + 16618 3270 3169 3031 3532 + 16619 3242 3306 3533 3031 + 16620 3394 3471 3533 3031 + 16621 3306 3394 3533 3031 + 16622 3394 3572 3471 3031 + 16623 3470 3031 3572 3394 + 16624 3031 3390 3470 3572 + 16625 3031 3532 3390 3572 + 16626 3572 3031 3532 3270 + 16627 3471 3031 3572 3270 + 16628 3463 3126 3032 3185 + 16629 3170 3113 3309 3033 + 16630 3114 3212 3035 3240 + 16631 3189 3113 3473 3035 + 16632 3170 3212 3473 3035 + 16633 3170 3473 3113 3035 + 16634 3035 3212 3473 3536 + 16635 3189 3536 3240 3035 + 16636 3035 3473 3189 3536 + 16637 3212 3240 3536 3035 + 16638 3112 3036 3396 3224 + 16639 3115 3399 3037 3469 + 16640 3537 3399 3037 3573 + 16641 3213 3573 3395 3037 + 16642 3573 3037 3115 3399 + 16643 3573 3537 3395 3037 + 16644 3213 3171 3573 3037 + 16645 3037 3115 3171 3573 + 16646 3537 3037 3399 3574 + 16647 3537 3174 3037 3574 + 16648 3037 3116 3574 3174 + 16649 3037 3469 3399 3574 + 16650 3037 3116 3469 3574 + 16651 3038 3116 3242 3173 + 16652 3242 3038 3173 3400 + 16653 3038 3117 3173 3400 + 16654 3574 3038 3242 3400 + 16655 3038 3574 3116 3174 + 16656 3574 3038 3400 3174 + 16657 3116 3038 3242 3574 + 16658 3118 3040 3175 3315 + 16659 3118 3157 3040 3379 + 16660 3315 3379 3118 3040 + 16661 3040 3157 3295 3379 + 16662 3040 3476 3175 3315 + 16663 3384 3175 3040 3476 + 16664 3295 3157 3040 3523 + 16665 3040 3119 3523 3157 + 16666 3040 3295 3576 3379 + 16667 3315 3576 3379 3040 + 16668 3040 3576 3476 3315 + 16669 3040 3384 3476 3576 + 16670 3295 3523 3040 3576 + 16671 3576 3119 3040 3384 + 16672 3523 3040 3576 3119 + 16673 3094 3154 3041 3370 + 16674 3285 3370 3094 3041 + 16675 3041 3094 3372 3208 + 16676 3041 3372 3282 3208 + 16677 3094 3041 3372 3285 + 16678 3454 3041 3154 3370 + 16679 3454 3120 3154 3041 + 16680 3285 3454 3370 3041 + 16681 3120 3041 3454 3316 + 16682 3041 3454 3316 3540 + 16683 3041 3540 3316 3403 + 16684 3041 3403 3282 3540 + 16685 3454 3578 3540 3041 + 16686 3041 3282 3372 3578 + 16687 3578 3041 3454 3285 + 16688 3041 3540 3282 3578 + 16689 3578 3372 3041 3285 + 16690 3178 3095 3287 3042 + 16691 3124 3178 3287 3042 + 16692 3042 3287 3124 3218 + 16693 3042 3455 3287 3218 + 16694 3455 3042 3287 3095 + 16695 3218 3042 3455 3156 + 16696 3095 3455 3042 3156 + 16697 3179 3122 3318 3043 + 16698 3123 3216 3319 3043 + 16699 3179 3318 3404 3043 + 16700 3179 3404 3216 3043 + 16701 3479 3043 3318 3122 + 16702 3043 3318 3404 3479 + 16703 3479 3542 3404 3043 + 16704 3216 3542 3319 3043 + 16705 3404 3542 3216 3043 + 16706 3479 3319 3542 3043 + 16707 3124 3480 3044 3218 + 16708 3123 3045 3319 3180 + 16709 3180 3045 3481 3217 + 16710 3045 3180 3481 3319 + 16711 3045 3481 3405 3319 + 16712 3218 3045 3292 3580 + 16713 3521 3292 3045 3580 + 16714 3580 3045 3521 3481 + 16715 3405 3218 3580 3045 + 16716 3580 3405 3045 3481 + 16717 3290 3046 3155 3376 + 16718 3376 3297 3046 3102 + 16719 3376 3046 3155 3102 + 16720 3046 3546 3408 3482 + 16721 3482 3381 3046 3546 + 16722 3546 3381 3046 3297 + 16723 3290 3408 3046 3546 + 16724 3290 3546 3046 3376 + 16725 3376 3046 3297 3546 + 16726 3131 3183 3219 3047 + 16727 3131 3219 3182 3047 + 16728 3277 3220 3181 3048 + 16729 3048 3277 3220 3483 + 16730 3048 3220 3130 3483 + 16731 3048 3483 3517 3277 + 16732 3517 3048 3277 3181 + 16733 3517 3127 3048 3181 + 16734 3230 3184 3049 3128 + 16735 3230 3049 3193 3128 + 16736 3230 3184 3327 3049 + 16737 3049 3193 3128 3411 + 16738 3219 3049 3128 3411 + 16739 3484 3411 3049 3219 + 16740 3230 3327 3486 3049 + 16741 3486 3230 3049 3193 + 16742 3548 3049 3484 3411 + 16743 3049 3193 3411 3548 + 16744 3327 3049 3548 3486 + 16745 3486 3049 3548 3193 + 16746 3049 3484 3581 3548 + 16747 3548 3581 3049 3327 + 16748 3131 3219 3183 3050 + 16749 3131 3328 3219 3050 + 16750 3050 3414 3328 3485 + 16751 3132 3050 3183 3485 + 16752 3050 3219 3183 3485 + 16753 3050 3328 3219 3485 + 16754 3487 3414 3328 3050 + 16755 3131 3050 3487 3328 + 16756 3050 3325 3131 3487 + 16757 3050 3414 3485 3549 + 16758 3549 3050 3325 3188 + 16759 3132 3549 3188 3050 + 16760 3050 3549 3325 3487 + 16761 3414 3487 3549 3050 + 16762 3549 3050 3132 3485 + 16763 3270 3169 3051 3087 + 16764 3203 3273 3051 3186 + 16765 3051 3087 3186 3358 + 16766 3051 3087 3358 3270 + 16767 3051 3186 3273 3358 + 16768 3443 3051 3203 3273 + 16769 3443 3244 3203 3051 + 16770 3273 3358 3489 3051 + 16771 3489 3273 3051 3416 + 16772 3270 3051 3169 3532 + 16773 3489 3051 3550 3416 + 16774 3051 3358 3489 3550 + 16775 3051 3358 3550 3270 + 16776 3572 3532 3051 3270 + 16777 3572 3550 3051 3416 + 16778 3051 3270 3550 3572 + 16779 3532 3600 3051 3443 + 16780 3572 3600 3416 3051 + 16781 3600 3273 3416 3051 + 16782 3600 3443 3273 3051 + 16783 3051 3572 3600 3532 + 16784 3153 3053 3450 3092 + 16785 3053 3153 3450 3518 + 16786 3053 3450 3283 3518 + 16787 3093 3518 3053 3283 + 16788 3093 3053 3518 3153 + 16789 3188 3133 3054 3325 + 16790 3055 3226 3192 3238 + 16791 3055 3192 3330 3238 + 16792 3238 3135 3330 3055 + 16793 3225 3330 3135 3055 + 16794 3225 3055 3491 3330 + 16795 3491 3240 3191 3055 + 16796 3225 3240 3491 3055 + 16797 3310 3056 3189 3418 + 16798 3135 3057 3331 3418 + 16799 3419 3057 3331 3135 + 16800 3419 3057 3190 3260 + 16801 3057 3419 3190 3135 + 16802 3079 3058 3259 3350 + 16803 3350 3058 3229 3079 + 16804 3058 3332 3227 3420 + 16805 3475 3239 3058 3227 + 16806 3475 3332 3227 3058 + 16807 3475 3058 3239 3229 + 16808 3494 3058 3259 3228 + 16809 3227 3058 3420 3494 + 16810 3587 3058 3229 3350 + 16811 3475 3332 3058 3587 + 16812 3587 3058 3475 3229 + 16813 3587 3332 3058 3420 + 16814 3587 3350 3601 3058 + 16815 3601 3259 3494 3058 + 16816 3601 3494 3420 3058 + 16817 3587 3058 3601 3420 + 16818 3350 3601 3058 3259 + 16819 3082 3262 3149 3059 + 16820 3150 3082 3059 3355 + 16821 3262 3082 3355 3059 + 16822 3059 3353 3511 3149 + 16823 3262 3149 3059 3511 + 16824 3511 3565 3059 3262 + 16825 3150 3059 3565 3355 + 16826 3355 3262 3059 3565 + 16827 3350 3229 3060 3079 + 16828 3195 3350 3060 3079 + 16829 3231 3270 3061 3169 + 16830 3196 3061 3270 3087 + 16831 3087 3270 3169 3061 + 16832 3336 3139 3062 3197 + 16833 3062 3138 3336 3197 + 16834 3138 3063 3198 3338 + 16835 3197 3063 3138 3338 + 16836 3426 3198 3063 3338 + 16837 3426 3198 3247 3063 + 16838 3197 3426 3063 3338 + 16839 3248 3064 3339 3197 + 16840 3139 3500 3064 3197 + 16841 3064 3500 3339 3197 + 16842 3501 3200 3234 3066 + 16843 3234 3501 3066 3148 + 16844 3067 3559 3198 3140 + 16845 3067 3428 3559 3140 + 16846 3245 3198 3067 3559 + 16847 3428 3067 3559 3337 + 16848 3337 3067 3559 3245 + 16849 3342 3430 3144 3070 + 16850 3430 3070 3342 3251 + 16851 3431 3342 3071 3251 + 16852 3072 3344 3143 3252 + 16853 3252 3504 3072 3344 + 16854 3072 3252 3142 3504 + 16855 3504 3253 3072 3344 + 16856 3072 3228 3253 3504 + 16857 3427 3142 3246 3073 + 16858 3073 3246 3427 3139 + 16859 3201 3075 3145 3255 + 16860 3201 3075 3255 3503 + 16861 3343 3503 3075 3251 + 16862 3503 3075 3255 3343 + 16863 3076 3345 3199 3434 + 16864 3434 3347 3199 3076 + 16865 3345 3254 3508 3076 + 16866 3434 3076 3508 3347 + 16867 3076 3254 3508 3343 + 16868 3076 3508 3345 3434 + 16869 3508 3255 3076 3343 + 16870 3076 3255 3508 3347 + 16871 3078 3259 3348 3233 + 16872 3078 3228 3348 3259 + 16873 3348 3429 3228 3078 + 16874 3078 3348 3429 3233 + 16875 3429 3078 3233 3147 + 16876 3079 3259 3195 3350 + 16877 3351 3260 3201 3080 + 16878 3201 3503 3351 3080 + 16879 3503 3351 3080 3431 + 16880 3263 3202 3352 3081 + 16881 3081 3437 3352 3263 + 16882 3149 3353 3437 3081 + 16883 3081 3353 3437 3263 + 16884 3355 3082 3262 3194 + 16885 3262 3354 3083 3149 + 16886 3083 3262 3232 3354 + 16887 3232 3243 3083 3354 + 16888 3083 3354 3437 3149 + 16889 3513 3083 3243 3354 + 16890 3261 3513 3437 3083 + 16891 3437 3083 3513 3354 + 16892 3513 3083 3261 3243 + 16893 3356 3084 3439 3266 + 16894 3084 3265 3356 3439 + 16895 3085 3357 3515 3268 + 16896 3266 3440 3085 3515 + 16897 3515 3266 3357 3085 + 16898 3269 3358 3087 3196 + 16899 3196 3270 3358 3087 + 16900 3087 3358 3269 3186 + 16901 3165 3088 3272 3244 + 16902 3088 3151 3272 3360 + 16903 3203 3360 3151 3088 + 16904 3088 3203 3360 3244 + 16905 3088 3360 3272 3244 + 16906 3361 3274 3447 3089 + 16907 3280 3090 3166 3365 + 16908 3278 3090 3365 3166 + 16909 3280 3215 3090 3365 + 16910 3519 3152 3274 3091 + 16911 3091 3519 3361 3274 + 16912 3091 3444 3361 3519 + 16913 3364 3152 3519 3091 + 16914 3091 3566 3444 3519 + 16915 3091 3519 3364 3566 + 16916 3566 3091 3279 3364 + 16917 3279 3566 3366 3091 + 16918 3566 3444 3366 3091 + 16919 3281 3450 3092 3153 + 16920 3172 3224 3284 3093 + 16921 3172 3284 3214 3093 + 16922 3093 3224 3284 3369 + 16923 3451 3214 3093 3278 + 16924 3369 3284 3093 3451 + 16925 3214 3284 3451 3093 + 16926 3451 3278 3093 3369 + 16927 3369 3518 3093 3283 + 16928 3153 3278 3518 3093 + 16929 3093 3278 3518 3369 + 16930 3208 3094 3372 3162 + 16931 3094 3162 3211 3453 + 16932 3453 3094 3372 3285 + 16933 3453 3094 3162 3372 + 16934 3285 3371 3453 3094 + 16935 3287 3374 3455 3095 + 16936 3204 3156 3455 3095 + 16937 3289 3207 3096 3457 + 16938 3096 3154 3520 3207 + 16939 3289 3096 3568 3457 + 16940 3456 3096 3288 3568 + 16941 3096 3456 3289 3568 + 16942 3568 3096 3207 3457 + 16943 3568 3288 3520 3096 + 16944 3096 3520 3568 3207 + 16945 3155 3290 3376 3097 + 16946 3097 3376 3456 3290 + 16947 3097 3456 3375 3290 + 16948 3521 3377 3098 3292 + 16949 3377 3521 3098 3290 + 16950 3375 3459 3099 3291 + 16951 3375 3099 3459 3522 + 16952 3099 3158 3206 3522 + 16953 3099 3206 3459 3522 + 16954 3288 3522 3158 3099 + 16955 3375 3099 3522 3288 + 16956 3294 3101 3158 3206 + 16957 3101 3378 3206 3294 + 16958 3452 3158 3294 3101 + 16959 3523 3101 3378 3157 + 16960 3101 3523 3378 3294 + 16961 3452 3101 3523 3205 + 16962 3452 3294 3523 3101 + 16963 3101 3523 3205 3157 + 16964 3297 3102 3241 3193 + 16965 3376 3102 3241 3297 + 16966 3289 3382 3230 3103 + 16967 3276 3207 3103 3457 + 16968 3382 3276 3103 3457 + 16969 3457 3103 3289 3207 + 16970 3382 3103 3289 3457 + 16971 3106 3165 3388 3210 + 16972 3106 3388 3164 3210 + 16973 3388 3272 3165 3106 + 16974 3160 3106 3441 3299 + 16975 3441 3272 3528 3106 + 16976 3299 3164 3106 3528 + 16977 3441 3528 3299 3106 + 16978 3388 3528 3272 3106 + 16979 3164 3106 3528 3388 + 16980 3107 3301 3389 3167 + 16981 3389 3168 3305 3107 + 16982 3107 3305 3468 3386 + 16983 3305 3389 3107 3468 + 16984 3386 3468 3107 3301 + 16985 3301 3468 3107 3389 + 16986 3235 3108 3307 3465 + 16987 3465 3301 3163 3108 + 16988 3302 3465 3108 3235 + 16989 3167 3301 3465 3108 + 16990 3302 3465 3163 3108 + 16991 3167 3108 3465 3390 + 16992 3465 3108 3307 3390 + 16993 3306 3167 3390 3110 + 16994 3111 3309 3170 3395 + 16995 3170 3213 3111 3395 + 16996 3172 3308 3224 3112 + 16997 3112 3396 3308 3224 + 16998 3310 3473 3189 3113 + 16999 3473 3113 3310 3397 + 17000 3473 3535 3113 3397 + 17001 3170 3473 3535 3113 + 17002 3170 3535 3309 3113 + 17003 3240 3114 3212 3311 + 17004 3391 3312 3472 3115 + 17005 3115 3391 3172 3472 + 17006 3571 3312 3391 3115 + 17007 3399 3469 3115 3571 + 17008 3399 3115 3312 3571 + 17009 3115 3312 3472 3573 + 17010 3573 3115 3312 3399 + 17011 3171 3573 3115 3472 + 17012 3469 3242 3116 3223 + 17013 3574 3116 3469 3242 + 17014 3229 3173 3117 3313 + 17015 3313 3173 3117 3400 + 17016 3191 3475 3117 3400 + 17017 3475 3117 3313 3229 + 17018 3475 3239 3117 3229 + 17019 3475 3400 3313 3117 + 17020 3239 3191 3475 3117 + 17021 3118 3379 3460 3157 + 17022 3371 3119 3205 3452 + 17023 3452 3523 3119 3205 + 17024 3452 3523 3402 3119 + 17025 3157 3523 3205 3119 + 17026 3538 3236 3119 3384 + 17027 3236 3538 3119 3286 + 17028 3119 3402 3538 3576 + 17029 3576 3538 3119 3384 + 17030 3119 3523 3402 3576 + 17031 3577 3286 3119 3538 + 17032 3371 3286 3119 3577 + 17033 3452 3402 3577 3119 + 17034 3577 3402 3538 3119 + 17035 3371 3119 3452 3577 + 17036 3120 3373 3207 3237 + 17037 3373 3207 3154 3120 + 17038 3120 3176 3316 3446 + 17039 3120 3316 3373 3446 + 17040 3446 3120 3237 3373 + 17041 3446 3237 3120 3176 + 17042 3120 3373 3316 3454 + 17043 3373 3120 3154 3454 + 17044 3367 3121 3303 3209 + 17045 3209 3121 3303 3368 + 17046 3303 3368 3121 3477 + 17047 3282 3121 3368 3477 + 17048 3121 3177 3541 3477 + 17049 3121 3541 3303 3477 + 17050 3121 3177 3215 3541 + 17051 3367 3303 3121 3541 + 17052 3121 3215 3367 3541 + 17053 3180 3319 3123 3216 + 17054 3124 3287 3406 3218 + 17055 3218 3124 3480 3406 + 17056 3463 3125 3217 3381 + 17057 3125 3463 3217 3180 + 17058 3407 3321 3185 3126 + 17059 3463 3321 3126 3185 + 17060 3219 3128 3183 3411 + 17061 3411 3222 3193 3128 + 17062 3128 3183 3411 3222 + 17063 3220 3181 3129 3277 + 17064 3129 3277 3181 3221 + 17065 3413 3328 3219 3131 + 17066 3413 3219 3182 3131 + 17067 3131 3487 3413 3328 + 17068 3132 3183 3222 3485 + 17069 3132 3485 3222 3185 + 17070 3407 3188 3132 3549 + 17071 3549 3132 3582 3485 + 17072 3132 3185 3407 3582 + 17073 3132 3407 3549 3582 + 17074 3132 3582 3485 3185 + 17075 3549 3133 3417 3329 + 17076 3549 3417 3133 3325 + 17077 3549 3407 3133 3329 + 17078 3549 3133 3188 3325 + 17079 3133 3549 3188 3407 + 17080 3492 3135 3238 3190 + 17081 3419 3331 3492 3135 + 17082 3330 3492 3135 3238 + 17083 3190 3419 3492 3135 + 17084 3135 3330 3225 3585 + 17085 3418 3135 3225 3585 + 17086 3331 3492 3135 3585 + 17087 3135 3492 3330 3585 + 17088 3418 3331 3135 3585 + 17089 3192 3136 3347 3226 + 17090 3136 3192 3421 3227 + 17091 3555 3257 3347 3136 + 17092 3192 3347 3136 3555 + 17093 3421 3555 3192 3136 + 17094 3136 3227 3421 3588 + 17095 3257 3136 3588 3344 + 17096 3555 3588 3257 3136 + 17097 3421 3588 3555 3136 + 17098 3338 3198 3138 3245 + 17099 3425 3336 3245 3138 + 17100 3338 3138 3197 3425 + 17101 3425 3245 3338 3138 + 17102 3197 3138 3336 3425 + 17103 3340 3246 3139 3427 + 17104 3246 3336 3500 3139 + 17105 3336 3500 3139 3197 + 17106 3139 3500 3246 3340 + 17107 3341 3249 3140 3428 + 17108 3198 3502 3247 3140 + 17109 3559 3140 3341 3502 + 17110 3198 3559 3502 3140 + 17111 3341 3140 3559 3428 + 17112 3427 3142 3560 3246 + 17113 3142 3252 3505 3560 + 17114 3142 3427 3560 3505 + 17115 3335 3142 3560 3504 + 17116 3246 3142 3560 3335 + 17117 3252 3142 3504 3560 + 17118 3432 3143 3344 3252 + 17119 3506 3143 3256 3199 + 17120 3432 3143 3256 3506 + 17121 3506 3199 3257 3143 + 17122 3432 3143 3506 3344 + 17123 3143 3257 3506 3344 + 17124 3238 3255 3145 3226 + 17125 3238 3145 3255 3201 + 17126 3250 3233 3200 3147 + 17127 3250 3429 3233 3147 + 17128 3424 3335 3595 3147 + 17129 3250 3147 3337 3595 + 17130 3250 3429 3147 3595 + 17131 3147 3595 3429 3335 + 17132 3595 3337 3424 3147 + 17133 3428 3148 3352 3202 + 17134 3148 3428 3352 3501 + 17135 3234 3261 3501 3148 + 17136 3352 3148 3501 3261 + 17137 3511 3353 3437 3149 + 17138 3511 3262 3149 3354 + 17139 3511 3149 3437 3354 + 17140 3438 3150 3565 3355 + 17141 3151 3360 3203 3267 + 17142 3272 3442 3151 3359 + 17143 3267 3442 3359 3151 + 17144 3272 3151 3442 3360 + 17145 3442 3360 3151 3267 + 17146 3439 3151 3267 3564 + 17147 3564 3151 3267 3359 + 17148 3364 3281 3449 3152 + 17149 3364 3449 3519 3152 + 17150 3274 3152 3519 3449 + 17151 3281 3153 3364 3450 + 17152 3518 3153 3450 3364 + 17153 3520 3154 3370 3454 + 17154 3154 3373 3454 3520 + 17155 3207 3373 3154 3520 + 17156 3377 3455 3156 3218 + 17157 3204 3455 3156 3291 + 17158 3377 3156 3455 3291 + 17159 3157 3295 3460 3378 + 17160 3460 3157 3378 3293 + 17161 3295 3460 3379 3157 + 17162 3523 3378 3295 3157 + 17163 3380 3452 3158 3294 + 17164 3285 3158 3380 3452 + 17165 3461 3288 3158 3370 + 17166 3461 3158 3285 3370 + 17167 3285 3461 3380 3158 + 17168 3380 3158 3522 3294 + 17169 3522 3294 3158 3206 + 17170 3158 3461 3380 3522 + 17171 3158 3288 3461 3522 + 17172 3441 3160 3299 3525 + 17173 3357 3525 3160 3441 + 17174 3282 3372 3162 3208 + 17175 3368 3282 3526 3162 + 17176 3368 3526 3300 3162 + 17177 3372 3526 3282 3162 + 17178 3300 3162 3526 3385 + 17179 3453 3162 3526 3372 + 17180 3385 3162 3526 3211 + 17181 3162 3453 3526 3211 + 17182 3464 3301 3163 3387 + 17183 3163 3387 3301 3465 + 17184 3387 3302 3465 3163 + 17185 3527 3387 3464 3163 + 17186 3527 3464 3367 3163 + 17187 3387 3527 3302 3163 + 17188 3527 3367 3209 3163 + 17189 3286 3236 3164 3211 + 17190 3164 3211 3385 3286 + 17191 3467 3304 3385 3164 + 17192 3164 3467 3299 3236 + 17193 3236 3467 3286 3164 + 17194 3385 3286 3467 3164 + 17195 3528 3299 3164 3467 + 17196 3467 3528 3304 3164 + 17197 3388 3528 3164 3570 + 17198 3304 3164 3528 3570 + 17199 3570 3388 3210 3164 + 17200 3385 3304 3570 3164 + 17201 3164 3210 3570 3385 + 17202 3165 3210 3235 3388 + 17203 3235 3244 3165 3529 + 17204 3388 3529 3165 3272 + 17205 3272 3529 3165 3244 + 17206 3388 3165 3529 3235 + 17207 3214 3451 3166 3278 + 17208 3278 3365 3451 3166 + 17209 3365 3166 3280 3451 + 17210 3530 3280 3166 3451 + 17211 3530 3166 3214 3451 + 17212 3530 3280 3386 3166 + 17213 3531 3167 3465 3390 + 17214 3389 3167 3301 3531 + 17215 3167 3306 3390 3531 + 17216 3389 3306 3167 3531 + 17217 3465 3301 3167 3531 + 17218 3469 3389 3168 3305 + 17219 3389 3223 3469 3168 + 17220 3170 3212 3395 3473 + 17221 3535 3170 3309 3395 + 17222 3395 3473 3535 3170 + 17223 3391 3214 3172 3284 + 17224 3172 3284 3472 3391 + 17225 3472 3308 3224 3172 + 17226 3172 3284 3224 3472 + 17227 3313 3242 3173 3400 + 17228 3400 3574 3174 3311 + 17229 3537 3311 3174 3574 + 17230 3383 3476 3315 3175 + 17231 3383 3525 3476 3175 + 17232 3384 3525 3175 3476 + 17233 3237 3446 3275 3176 + 17234 3446 3176 3539 3275 + 17235 3176 3444 3366 3539 + 17236 3539 3176 3444 3275 + 17237 3176 3539 3316 3446 + 17238 3403 3317 3177 3477 + 17239 3478 3279 3366 3177 + 17240 3478 3215 3279 3177 + 17241 3317 3177 3478 3366 + 17242 3366 3539 3317 3177 + 17243 3403 3317 3539 3177 + 17244 3317 3541 3177 3477 + 17245 3177 3541 3478 3215 + 17246 3541 3317 3177 3478 + 17247 3180 3463 3409 3321 + 17248 3409 3323 3463 3180 + 17249 3323 3180 3217 3463 + 17250 3180 3542 3216 3321 + 17251 3542 3216 3319 3180 + 17252 3409 3321 3542 3180 + 17253 3319 3409 3542 3180 + 17254 3323 3409 3544 3180 + 17255 3319 3409 3180 3544 + 17256 3180 3319 3544 3481 + 17257 3217 3544 3481 3180 + 17258 3323 3544 3217 3180 + 17259 3326 3219 3182 3413 + 17260 3485 3222 3411 3183 + 17261 3411 3485 3183 3219 + 17262 3485 3298 3222 3185 + 17263 3488 3407 3321 3185 + 17264 3488 3321 3415 3185 + 17265 3415 3488 3185 3582 + 17266 3185 3488 3407 3582 + 17267 3485 3582 3298 3185 + 17268 3298 3185 3582 3599 + 17269 3298 3463 3185 3599 + 17270 3415 3582 3185 3599 + 17271 3599 3185 3321 3463 + 17272 3415 3185 3321 3599 + 17273 3273 3186 3203 3360 + 17274 3186 3203 3360 3267 + 17275 3358 3583 3186 3273 + 17276 3269 3186 3583 3514 + 17277 3186 3583 3514 3267 + 17278 3583 3186 3360 3267 + 17279 3583 3186 3269 3358 + 17280 3273 3583 3186 3360 + 17281 3536 3189 3418 3310 + 17282 3536 3189 3310 3473 + 17283 3225 3536 3189 3418 + 17284 3189 3225 3240 3536 + 17285 3238 3255 3190 3201 + 17286 3436 3255 3201 3190 + 17287 3436 3419 3190 3510 + 17288 3510 3436 3201 3190 + 17289 3510 3201 3260 3190 + 17290 3260 3190 3419 3510 + 17291 3553 3436 3419 3190 + 17292 3190 3492 3553 3238 + 17293 3436 3190 3553 3255 + 17294 3553 3419 3492 3190 + 17295 3238 3553 3190 3255 + 17296 3191 3556 3311 3240 + 17297 3556 3240 3191 3491 + 17298 3400 3311 3191 3556 + 17299 3602 3191 3556 3400 + 17300 3602 3191 3400 3475 + 17301 3192 3238 3226 3347 + 17302 3421 3192 3555 3495 + 17303 3192 3586 3238 3347 + 17304 3192 3555 3586 3347 + 17305 3192 3586 3555 3495 + 17306 3238 3192 3330 3586 + 17307 3192 3330 3586 3495 + 17308 3193 3298 3222 3411 + 17309 3230 3241 3193 3486 + 17310 3496 3298 3381 3193 + 17311 3193 3381 3496 3297 + 17312 3333 3193 3486 3548 + 17313 3496 3548 3193 3333 + 17314 3193 3590 3298 3411 + 17315 3193 3590 3548 3496 + 17316 3590 3411 3193 3548 + 17317 3193 3590 3496 3298 + 17318 3591 3193 3496 3297 + 17319 3193 3496 3333 3591 + 17320 3486 3193 3333 3591 + 17321 3486 3241 3193 3591 + 17322 3193 3591 3241 3297 + 17323 3355 3262 3497 3194 + 17324 3194 3262 3497 3232 + 17325 3232 3497 3194 3269 + 17326 3514 3194 3355 3497 + 17327 3194 3497 3514 3269 + 17328 3509 3259 3195 3233 + 17329 3350 3195 3601 3259 + 17330 3509 3601 3195 3259 + 17331 3601 3509 3195 3603 + 17332 3603 3195 3601 3350 + 17333 3489 3358 3269 3196 + 17334 3196 3489 3550 3422 + 17335 3196 3550 3264 3422 + 17336 3196 3358 3550 3489 + 17337 3550 3270 3358 3196 + 17338 3489 3269 3557 3196 + 17339 3243 3196 3264 3557 + 17340 3269 3557 3196 3232 + 17341 3557 3243 3196 3232 + 17342 3557 3264 3422 3196 + 17343 3422 3489 3557 3196 + 17344 3500 3425 3338 3197 + 17345 3500 3336 3425 3197 + 17346 3338 3500 3197 3558 + 17347 3197 3558 3248 3426 + 17348 3197 3558 3500 3339 + 17349 3197 3248 3558 3339 + 17350 3197 3338 3558 3426 + 17351 3198 3338 3426 3502 + 17352 3426 3247 3198 3502 + 17353 3338 3502 3198 3559 + 17354 3198 3338 3559 3245 + 17355 3199 3347 3434 3257 + 17356 3345 3199 3506 3256 + 17357 3345 3434 3506 3199 + 17358 3257 3199 3506 3434 + 17359 3233 3250 3200 3349 + 17360 3349 3501 3200 3234 + 17361 3501 3200 3250 3349 + 17362 3201 3255 3436 3503 + 17363 3351 3201 3436 3503 + 17364 3351 3510 3436 3201 + 17365 3351 3260 3510 3201 + 17366 3352 3202 3263 3512 + 17367 3428 3202 3512 3249 + 17368 3352 3428 3202 3512 + 17369 3443 3203 3360 3273 + 17370 3443 3360 3203 3244 + 17371 3569 3206 3378 3294 + 17372 3569 3378 3206 3296 + 17373 3459 3206 3296 3569 + 17374 3569 3522 3459 3206 + 17375 3522 3569 3294 3206 + 17376 3237 3276 3373 3207 + 17377 3276 3373 3207 3457 + 17378 3373 3457 3568 3207 + 17379 3207 3568 3373 3520 + 17380 3368 3303 3209 3466 + 17381 3209 3466 3300 3368 + 17382 3303 3209 3527 3367 + 17383 3466 3209 3527 3303 + 17384 3300 3570 3210 3385 + 17385 3526 3211 3453 3286 + 17386 3526 3385 3211 3286 + 17387 3311 3212 3240 3398 + 17388 3212 3536 3398 3473 + 17389 3212 3398 3536 3240 + 17390 3212 3398 3537 3473 + 17391 3212 3537 3395 3473 + 17392 3311 3537 3212 3398 + 17393 3530 3214 3575 3451 + 17394 3391 3284 3575 3214 + 17395 3284 3451 3575 3214 + 17396 3530 3575 3214 3391 + 17397 3367 3541 3215 3280 + 17398 3365 3279 3579 3215 + 17399 3579 3215 3478 3541 + 17400 3215 3280 3541 3579 + 17401 3279 3478 3579 3215 + 17402 3215 3579 3365 3280 + 17403 3217 3463 3381 3323 + 17404 3481 3322 3410 3217 + 17405 3482 3410 3322 3217 + 17406 3323 3544 3410 3217 + 17407 3410 3544 3481 3217 + 17408 3410 3482 3545 3217 + 17409 3217 3545 3323 3381 + 17410 3217 3482 3545 3381 + 17411 3323 3410 3545 3217 + 17412 3406 3287 3455 3218 + 17413 3480 3406 3324 3218 + 17414 3480 3324 3580 3218 + 17415 3405 3480 3580 3218 + 17416 3218 3598 3406 3324 + 17417 3580 3218 3598 3292 + 17418 3218 3580 3598 3324 + 17419 3455 3218 3598 3406 + 17420 3377 3455 3218 3598 + 17421 3377 3218 3292 3598 + 17422 3326 3484 3219 3413 + 17423 3484 3328 3219 3413 + 17424 3219 3484 3411 3328 + 17425 3328 3485 3411 3219 + 17426 3220 3277 3547 3483 + 17427 3411 3222 3485 3298 + 17428 3389 3551 3223 3306 + 17429 3242 3469 3551 3223 + 17430 3551 3242 3223 3306 + 17431 3389 3551 3469 3223 + 17432 3472 3308 3396 3224 + 17433 3224 3284 3369 3490 + 17434 3552 3284 3224 3490 + 17435 3224 3552 3396 3472 + 17436 3224 3284 3552 3472 + 17437 3491 3240 3225 3536 + 17438 3491 3225 3585 3536 + 17439 3536 3585 3418 3225 + 17440 3330 3585 3491 3225 + 17441 3226 3238 3255 3347 + 17442 3332 3227 3421 3475 + 17443 3227 3420 3554 3494 + 17444 3332 3554 3227 3420 + 17445 3332 3554 3421 3227 + 17446 3554 3421 3227 3588 + 17447 3494 3253 3228 3348 + 17448 3228 3348 3259 3494 + 17449 3504 3228 3348 3429 + 17450 3348 3253 3228 3504 + 17451 3475 3313 3587 3229 + 17452 3486 3382 3230 3289 + 17453 3241 3230 3289 3486 + 17454 3486 3230 3382 3327 + 17455 3232 3557 3497 3269 + 17456 3592 3232 3262 3354 + 17457 3592 3497 3262 3232 + 17458 3354 3592 3232 3243 + 17459 3592 3232 3557 3497 + 17460 3557 3592 3243 3232 + 17461 3435 3349 3250 3233 + 17462 3348 3233 3259 3509 + 17463 3233 3435 3509 3348 + 17464 3349 3435 3509 3233 + 17465 3429 3233 3563 3250 + 17466 3435 3250 3563 3233 + 17467 3429 3563 3233 3348 + 17468 3233 3563 3435 3348 + 17469 3349 3261 3501 3234 + 17470 3443 3307 3393 3235 + 17471 3235 3307 3393 3465 + 17472 3529 3443 3393 3235 + 17473 3443 3244 3235 3529 + 17474 3302 3596 3465 3235 + 17475 3388 3529 3596 3235 + 17476 3596 3465 3235 3393 + 17477 3529 3393 3596 3235 + 17478 3236 3299 3384 3467 + 17479 3236 3384 3538 3467 + 17480 3236 3538 3286 3467 + 17481 3373 3237 3446 3276 + 17482 3238 3347 3493 3255 + 17483 3238 3493 3553 3255 + 17484 3586 3238 3553 3492 + 17485 3330 3586 3492 3238 + 17486 3493 3238 3586 3347 + 17487 3493 3238 3553 3586 + 17488 3240 3536 3491 3398 + 17489 3491 3556 3240 3398 + 17490 3556 3240 3398 3311 + 17491 3591 3241 3297 3376 + 17492 3486 3289 3241 3591 + 17493 3376 3591 3241 3289 + 17494 3400 3313 3242 3498 + 17495 3498 3242 3423 3313 + 17496 3306 3533 3423 3242 + 17497 3533 3242 3313 3423 + 17498 3498 3242 3551 3423 + 17499 3306 3423 3551 3242 + 17500 3574 3469 3551 3242 + 17501 3551 3242 3498 3574 + 17502 3574 3242 3498 3400 + 17503 3513 3261 3349 3243 + 17504 3243 3264 3499 3557 + 17505 3499 3243 3557 3592 + 17506 3499 3334 3243 3592 + 17507 3354 3513 3592 3243 + 17508 3243 3592 3334 3513 + 17509 3243 3593 3349 3513 + 17510 3349 3593 3243 3264 + 17511 3243 3334 3593 3513 + 17512 3334 3243 3593 3499 + 17513 3593 3264 3499 3243 + 17514 3272 3360 3529 3244 + 17515 3443 3360 3244 3529 + 17516 3425 3245 3604 3338 + 17517 3559 3604 3245 3338 + 17518 3425 3245 3336 3604 + 17519 3337 3559 3604 3245 + 17520 3604 3245 3336 3424 + 17521 3424 3337 3604 3245 + 17522 3500 3336 3246 3425 + 17523 3500 3425 3246 3340 + 17524 3340 3560 3246 3427 + 17525 3246 3560 3595 3335 + 17526 3595 3335 3424 3246 + 17527 3604 3425 3246 3336 + 17528 3604 3246 3424 3336 + 17529 3604 3595 3424 3246 + 17530 3604 3703 3595 3246 + 17531 3340 3560 3703 3246 + 17532 3703 3246 3425 3340 + 17533 3703 3560 3595 3246 + 17534 3425 3703 3604 3246 + 17535 3512 3428 3249 3341 + 17536 3250 3563 3429 3595 + 17537 3250 3337 3501 3605 + 17538 3563 3609 3250 3435 + 17539 3349 3250 3609 3435 + 17540 3337 3595 3704 3250 + 17541 3250 3704 3337 3605 + 17542 3792 3250 3501 3605 + 17543 3250 3792 3349 3609 + 17544 3792 3704 3250 3605 + 17545 3501 3792 3349 3250 + 17546 3250 3595 3704 3868 + 17547 3250 3563 3595 3868 + 17548 3563 3609 3868 3250 + 17549 3704 3250 3868 3925 + 17550 3925 3868 3609 3250 + 17551 3925 3609 3792 3250 + 17552 3704 3792 3250 3925 + 17553 3561 3342 3431 3251 + 17554 3430 3342 3561 3251 + 17555 3503 3251 3561 3431 + 17556 3503 3251 3343 3561 + 17557 3252 3432 3504 3344 + 17558 3432 3252 3504 3611 + 17559 3504 3252 3560 3611 + 17560 3252 3611 3432 3505 + 17561 3252 3560 3611 3505 + 17562 3612 3253 3344 3554 + 17563 3554 3612 3253 3494 + 17564 3494 3612 3253 3348 + 17565 3504 3708 3253 3344 + 17566 3708 3253 3612 3348 + 17567 3348 3708 3253 3504 + 17568 3253 3708 3612 3344 + 17569 3343 3562 3254 3508 + 17570 3613 3508 3254 3562 + 17571 3254 3345 3508 3613 + 17572 3562 3254 3613 3507 + 17573 3503 3255 3436 3343 + 17574 3347 3255 3508 3493 + 17575 3508 3562 3255 3343 + 17576 3255 3562 3436 3343 + 17577 3255 3553 3436 3562 + 17578 3493 3562 3255 3508 + 17579 3255 3493 3553 3562 + 17580 3506 3345 3256 3614 + 17581 3506 3256 3432 3793 + 17582 3506 3614 3256 3793 + 17583 3432 3505 3793 3256 + 17584 3347 3555 3434 3257 + 17585 3434 3555 3588 3257 + 17586 3257 3506 3588 3434 + 17587 3588 3344 3506 3257 + 17588 3259 3494 3348 3601 + 17589 3509 3348 3601 3259 + 17590 3513 3437 3352 3261 + 17591 3261 3352 3513 3792 + 17592 3349 3513 3792 3261 + 17593 3349 3792 3501 3261 + 17594 3261 3501 3352 3792 + 17595 3618 3262 3355 3565 + 17596 3497 3262 3355 3618 + 17597 3511 3618 3565 3262 + 17598 3354 3262 3618 3511 + 17599 3618 3592 3497 3262 + 17600 3262 3592 3354 3618 + 17601 3437 3714 3352 3263 + 17602 3714 3263 3512 3352 + 17603 3353 3437 3263 3801 + 17604 3437 3801 3714 3263 + 17605 3264 3435 3509 3349 + 17606 3499 3557 3264 3422 + 17607 3264 3349 3593 3435 + 17608 3264 3550 3620 3422 + 17609 3550 3264 3620 3603 + 17610 3435 3713 3264 3509 + 17611 3603 3620 3713 3264 + 17612 3603 3713 3509 3264 + 17613 3422 3264 3499 3718 + 17614 3499 3264 3593 3718 + 17615 3435 3264 3799 3593 + 17616 3718 3799 3264 3593 + 17617 3435 3799 3264 3713 + 17618 3620 3873 3264 3422 + 17619 3799 3718 3264 3873 + 17620 3799 3264 3713 3873 + 17621 3873 3264 3422 3718 + 17622 3873 3620 3264 3713 + 17623 3564 3356 3265 3439 + 17624 3438 3265 3355 3619 + 17625 3265 3621 3356 3564 + 17626 3265 3514 3355 3717 + 17627 3619 3355 3717 3265 + 17628 3719 3265 3356 3438 + 17629 3621 3356 3719 3265 + 17630 3265 3719 3619 3438 + 17631 3619 3717 3803 3265 + 17632 3265 3803 3514 3717 + 17633 3265 3514 3803 3439 + 17634 3439 3265 3564 3803 + 17635 3621 3874 3265 3719 + 17636 3564 3621 3874 3265 + 17637 3803 3564 3874 3265 + 17638 3874 3719 3619 3265 + 17639 3874 3619 3803 3265 + 17640 3440 3564 3266 3356 + 17641 3357 3564 3266 3515 + 17642 3356 3439 3564 3266 + 17643 3564 3515 3440 3266 + 17644 3623 3267 3442 3359 + 17645 3583 3360 3720 3267 + 17646 3442 3267 3623 3720 + 17647 3360 3442 3720 3267 + 17648 3439 3564 3267 3803 + 17649 3439 3514 3803 3267 + 17650 3514 3803 3267 3583 + 17651 3803 3874 3267 3623 + 17652 3564 3267 3803 3874 + 17653 3267 3564 3359 3874 + 17654 3267 3623 3874 3359 + 17655 3623 3267 3803 3875 + 17656 3875 3720 3267 3583 + 17657 3267 3803 3875 3583 + 17658 3267 3623 3720 3875 + 17659 3268 3624 3383 3525 + 17660 3525 3357 3268 3624 + 17661 3357 3515 3268 3624 + 17662 3583 3489 3358 3269 + 17663 3622 3557 3489 3269 + 17664 3269 3497 3514 3622 + 17665 3557 3622 3497 3269 + 17666 3622 3489 3583 3269 + 17667 3269 3583 3622 3514 + 17668 3270 3550 3572 3471 + 17669 3357 3271 3525 3441 + 17670 3357 3271 3564 3515 + 17671 3515 3271 3564 3621 + 17672 3357 3271 3515 3624 + 17673 3525 3271 3357 3624 + 17674 3721 3624 3515 3271 + 17675 3721 3271 3515 3621 + 17676 3625 3271 3359 3722 + 17677 3359 3722 3271 3441 + 17678 3804 3721 3625 3271 + 17679 3625 3804 3271 3722 + 17680 3721 3625 3271 3874 + 17681 3874 3721 3621 3271 + 17682 3874 3621 3564 3271 + 17683 3271 3359 3874 3625 + 17684 3271 3564 3874 3359 + 17685 3721 3876 3624 3271 + 17686 3804 3271 3722 3876 + 17687 3525 3441 3271 3876 + 17688 3804 3876 3721 3271 + 17689 3525 3876 3271 3624 + 17690 3441 3722 3271 3876 + 17691 3529 3442 3360 3272 + 17692 3529 3627 3442 3272 + 17693 3528 3272 3627 3388 + 17694 3388 3627 3529 3272 + 17695 3272 3441 3722 3359 + 17696 3627 3722 3442 3272 + 17697 3272 3722 3442 3359 + 17698 3627 3528 3722 3272 + 17699 3528 3722 3272 3441 + 17700 3583 3273 3358 3489 + 17701 3628 3443 3273 3600 + 17702 3416 3628 3273 3600 + 17703 3628 3273 3443 3360 + 17704 3583 3360 3273 3720 + 17705 3628 3273 3360 3720 + 17706 3720 3807 3628 3273 + 17707 3720 3583 3807 3273 + 17708 3583 3807 3273 3489 + 17709 3273 3807 3416 3489 + 17710 3273 3416 3807 3628 + 17711 3361 3567 3274 3519 + 17712 3274 3519 3567 3449 + 17713 3274 3447 3567 3361 + 17714 3275 3630 3446 3362 + 17715 3275 3446 3630 3539 + 17716 3444 3361 3725 3275 + 17717 3275 3362 3725 3630 + 17718 3275 3725 3362 3516 + 17719 3275 3361 3725 3516 + 17720 3444 3275 3725 3808 + 17721 3275 3630 3808 3539 + 17722 3725 3275 3630 3808 + 17723 3539 3444 3808 3275 + 17724 3362 3631 3276 3445 + 17725 3382 3276 3631 3584 + 17726 3445 3631 3276 3584 + 17727 3373 3457 3276 3632 + 17728 3632 3382 3457 3276 + 17729 3632 3726 3382 3276 + 17730 3631 3276 3726 3362 + 17731 3446 3276 3726 3373 + 17732 3362 3726 3446 3276 + 17733 3726 3276 3631 3382 + 17734 3373 3276 3726 3632 + 17735 3277 3517 3363 3483 + 17736 3277 3363 3547 3483 + 17737 3363 3445 3277 3547 + 17738 3448 3369 3518 3278 + 17739 3451 3369 3634 3278 + 17740 3365 3448 3278 3634 + 17741 3365 3278 3451 3634 + 17742 3448 3634 3369 3278 + 17743 3566 3478 3279 3366 + 17744 3364 3448 3279 3729 + 17745 3364 3279 3566 3729 + 17746 3279 3448 3365 3729 + 17747 3478 3579 3729 3279 + 17748 3566 3478 3729 3279 + 17749 3279 3365 3579 3729 + 17750 3280 3367 3541 3464 + 17751 3575 3530 3451 3280 + 17752 3451 3280 3365 3575 + 17753 3280 3541 3637 3464 + 17754 3637 3541 3280 3579 + 17755 3637 3386 3280 3464 + 17756 3731 3365 3579 3280 + 17757 3575 3365 3731 3280 + 17758 3280 3579 3731 3637 + 17759 3575 3811 3530 3280 + 17760 3811 3637 3386 3280 + 17761 3575 3731 3811 3280 + 17762 3811 3731 3637 3280 + 17763 3386 3280 3530 3811 + 17764 3281 3364 3636 3450 + 17765 3281 3730 3636 3364 + 17766 3730 3281 3449 3364 + 17767 3526 3372 3282 3578 + 17768 3639 3403 3282 3477 + 17769 3639 3282 3368 3477 + 17770 3540 3578 3732 3282 + 17771 3540 3732 3403 3282 + 17772 3526 3732 3282 3368 + 17773 3368 3639 3732 3282 + 17774 3732 3639 3403 3282 + 17775 3526 3282 3732 3578 + 17776 3518 3283 3369 3636 + 17777 3636 3518 3283 3450 + 17778 3490 3283 3733 3369 + 17779 3733 3283 3636 3369 + 17780 3369 3575 3284 3451 + 17781 3472 3641 3284 3552 + 17782 3391 3641 3284 3472 + 17783 3734 3641 3284 3391 + 17784 3391 3575 3284 3734 + 17785 3641 3734 3284 3815 + 17786 3815 3552 3490 3284 + 17787 3815 3641 3552 3284 + 17788 3815 3490 3881 3284 + 17789 3369 3490 3284 3881 + 17790 3815 3881 3734 3284 + 17791 3284 3369 3881 3575 + 17792 3575 3881 3284 3734 + 17793 3370 3285 3461 3520 + 17794 3454 3285 3370 3520 + 17795 3453 3372 3578 3285 + 17796 3285 3453 3642 3578 + 17797 3285 3642 3453 3371 + 17798 3285 3642 3452 3380 + 17799 3285 3452 3642 3371 + 17800 3454 3578 3285 3735 + 17801 3642 3380 3285 3735 + 17802 3461 3520 3285 3735 + 17803 3285 3735 3578 3642 + 17804 3735 3285 3461 3380 + 17805 3454 3285 3520 3735 + 17806 3286 3642 3577 3371 + 17807 3371 3642 3453 3286 + 17808 3453 3286 3737 3526 + 17809 3737 3385 3286 3467 + 17810 3737 3286 3538 3467 + 17811 3577 3737 3286 3538 + 17812 3642 3577 3737 3286 + 17813 3737 3286 3385 3526 + 17814 3642 3737 3453 3286 + 17815 3646 3287 3374 3455 + 17816 3455 3287 3406 3646 + 17817 3370 3461 3288 3520 + 17818 3288 3520 3461 3645 + 17819 3645 3568 3288 3520 + 17820 3456 3568 3288 3645 + 17821 3375 3522 3647 3288 + 17822 3739 3288 3375 3647 + 17823 3375 3288 3739 3456 + 17824 3645 3288 3456 3739 + 17825 3739 3819 3288 3647 + 17826 3819 3461 3288 3522 + 17827 3522 3819 3647 3288 + 17828 3288 3461 3819 3645 + 17829 3645 3819 3288 3739 + 17830 3456 3289 3591 3376 + 17831 3486 3649 3289 3591 + 17832 3486 3649 3382 3289 + 17833 3649 3382 3289 3822 + 17834 3289 3457 3822 3382 + 17835 3289 3457 3568 3885 + 17836 3289 3822 3885 3649 + 17837 3456 3289 3568 3885 + 17838 3289 3885 3591 3649 + 17839 3289 3822 3457 3885 + 17840 3885 3591 3456 3289 + 17841 3290 3521 3458 3377 + 17842 3290 3376 3456 3648 + 17843 3546 3648 3376 3290 + 17844 3546 3408 3648 3290 + 17845 3375 3456 3648 3290 + 17846 3648 3290 3408 3742 + 17847 3521 3742 3408 3290 + 17848 3290 3521 3742 3458 + 17849 3290 3375 3458 3820 + 17850 3290 3458 3742 3820 + 17851 3820 3290 3375 3648 + 17852 3648 3820 3290 3742 + 17853 3458 3291 3377 3598 + 17854 3291 3455 3598 3524 + 17855 3377 3291 3455 3598 + 17856 3459 3740 3291 3375 + 17857 3524 3598 3291 3740 + 17858 3459 3740 3524 3291 + 17859 3458 3291 3598 3740 + 17860 3458 3375 3291 3740 + 17861 3580 3598 3521 3292 + 17862 3377 3292 3521 3598 + 17863 3378 3293 3653 3460 + 17864 3378 3462 3653 3293 + 17865 3522 3380 3294 3569 + 17866 3736 3452 3294 3523 + 17867 3736 3294 3380 3569 + 17868 3452 3736 3294 3380 + 17869 3825 3523 3736 3294 + 17870 3569 3294 3378 3825 + 17871 3825 3736 3569 3294 + 17872 3523 3378 3294 3825 + 17873 3523 3295 3402 3576 + 17874 3295 3745 3654 3379 + 17875 3745 3460 3379 3295 + 17876 3576 3295 3402 3746 + 17877 3746 3654 3379 3295 + 17878 3746 3379 3576 3295 + 17879 3460 3295 3745 3825 + 17880 3460 3378 3295 3825 + 17881 3295 3378 3523 3825 + 17882 3886 3654 3295 3745 + 17883 3886 3523 3295 3402 + 17884 3886 3402 3295 3746 + 17885 3886 3295 3654 3746 + 17886 3886 3745 3295 3825 + 17887 3825 3523 3295 3886 + 17888 3296 3462 3653 3378 + 17889 3296 3524 3738 3374 + 17890 3296 3738 3524 3655 + 17891 3296 3738 3462 3374 + 17892 3524 3824 3296 3655 + 17893 3656 3296 3824 3747 + 17894 3824 3296 3655 3747 + 17895 3459 3524 3824 3296 + 17896 3569 3824 3656 3296 + 17897 3569 3459 3824 3296 + 17898 3296 3825 3378 3653 + 17899 3569 3825 3378 3296 + 17900 3569 3656 3825 3296 + 17901 3296 3887 3825 3653 + 17902 3887 3296 3656 3747 + 17903 3887 3655 3296 3747 + 17904 3462 3887 3738 3296 + 17905 3296 3887 3738 3655 + 17906 3296 3887 3653 3462 + 17907 3656 3887 3825 3296 + 17908 3546 3496 3381 3297 + 17909 3591 3496 3546 3297 + 17910 3376 3297 3591 3546 + 17911 3590 3298 3411 3485 + 17912 3599 3298 3463 3381 + 17913 3657 3496 3590 3298 + 17914 3381 3496 3657 3298 + 17915 3599 3657 3298 3381 + 17916 3298 3749 3485 3590 + 17917 3582 3298 3749 3485 + 17918 3298 3582 3749 3599 + 17919 3298 3599 3749 3657 + 17920 3590 3298 3749 3657 + 17921 3528 3467 3626 3299 + 17922 3528 3626 3441 3299 + 17923 3626 3299 3467 3723 + 17924 3384 3525 3723 3299 + 17925 3299 3626 3441 3723 + 17926 3299 3723 3384 3467 + 17927 3525 3299 3441 3723 + 17928 3368 3300 3640 3466 + 17929 3300 3570 3640 3466 + 17930 3300 3640 3526 3368 + 17931 3300 3526 3640 3385 + 17932 3570 3385 3300 3640 + 17933 3389 3531 3301 3468 + 17934 3301 3465 3387 3659 + 17935 3659 3301 3465 3531 + 17936 3659 3301 3531 3468 + 17937 3301 3386 3468 3752 + 17938 3301 3659 3387 3752 + 17939 3301 3386 3752 3464 + 17940 3752 3387 3301 3464 + 17941 3301 3468 3659 3752 + 17942 3302 3596 3660 3465 + 17943 3387 3660 3465 3302 + 17944 3660 3829 3596 3302 + 17945 3302 3466 3829 3392 + 17946 3596 3829 3392 3302 + 17947 3933 3527 3466 3302 + 17948 3933 3302 3387 3527 + 17949 3302 3933 3387 3660 + 17950 3933 3466 3829 3302 + 17951 3302 3829 3933 3660 + 17952 3303 3527 3464 3367 + 17953 3541 3464 3367 3303 + 17954 3303 3368 3477 3639 + 17955 3303 3753 3541 3464 + 17956 3303 3814 3368 3639 + 17957 3368 3814 3303 3466 + 17958 3303 3662 3466 3814 + 17959 3303 3890 3753 3464 + 17960 3303 3464 3527 3890 + 17961 3933 3466 3527 3303 + 17962 3662 3466 3933 3303 + 17963 3303 3527 3933 3890 + 17964 3303 3662 3890 3933 + 17965 3890 3753 3934 3303 + 17966 3814 3934 3639 3303 + 17967 3934 3477 3639 3303 + 17968 3890 3934 3662 3303 + 17969 3303 3934 3662 3814 + 17970 3541 3934 3753 3303 + 17971 3477 3541 3303 3934 + 17972 3570 3528 3304 3627 + 17973 3627 3304 3570 3392 + 17974 3392 3570 3640 3304 + 17975 3570 3304 3385 3640 + 17976 3385 3467 3737 3304 + 17977 3663 3467 3304 3737 + 17978 3304 3737 3385 3640 + 17979 3392 3640 3756 3304 + 17980 3756 3304 3664 3392 + 17981 3467 3757 3663 3304 + 17982 3757 3467 3528 3304 + 17983 3757 3528 3830 3304 + 17984 3627 3528 3304 3830 + 17985 3756 3304 3640 3832 + 17986 3663 3304 3832 3737 + 17987 3640 3304 3737 3832 + 17988 3756 3664 3304 3832 + 17989 3893 3832 3663 3304 + 17990 3893 3663 3757 3304 + 17991 3830 3304 3893 3757 + 17992 3304 3893 3832 3664 + 17993 3627 3304 3963 3830 + 17994 3963 3893 3830 3304 + 17995 3963 3664 3893 3304 + 17996 3392 3664 3963 3304 + 17997 3627 3963 3304 3392 + 17998 3530 3468 3305 3386 + 17999 3469 3571 3389 3305 + 18000 3571 3468 3389 3305 + 18001 3571 3530 3468 3305 + 18002 3306 3531 3470 3390 + 18003 3394 3306 3533 3666 + 18004 3394 3470 3306 3666 + 18005 3306 3423 3533 3666 + 18006 3895 3306 3531 3470 + 18007 3389 3895 3306 3531 + 18008 3389 3895 3551 3306 + 18009 3551 3306 3895 3423 + 18010 3306 3895 3423 3666 + 18011 3306 3666 3470 3895 + 18012 3307 3532 3572 3390 + 18013 3307 3600 3572 3532 + 18014 3532 3307 3600 3443 + 18015 3443 3600 3393 3307 + 18016 3600 3307 3661 3393 + 18017 3390 3572 3307 3661 + 18018 3307 3572 3600 3661 + 18019 3390 3307 3465 3661 + 18020 3307 3393 3465 3661 + 18021 3534 3396 3472 3308 + 18022 3474 3309 3395 3535 + 18023 3536 3310 3397 3473 + 18024 3536 3418 3670 3310 + 18025 3397 3310 3536 3670 + 18026 3537 3672 3311 3574 + 18027 3672 3398 3537 3311 + 18028 3672 3556 3398 3311 + 18029 3574 3672 3311 3400 + 18030 3400 3672 3311 3556 + 18031 3312 3401 3472 3573 + 18032 3472 3312 3641 3401 + 18033 3391 3312 3641 3472 + 18034 3667 3399 3312 3571 + 18035 3765 3641 3312 3401 + 18036 3312 3765 3401 3573 + 18037 3765 3399 3573 3312 + 18038 3399 3312 3765 3667 + 18039 3312 3641 3834 3391 + 18040 3571 3312 3667 3834 + 18041 3834 3312 3765 3641 + 18042 3834 3312 3667 3765 + 18043 3571 3391 3312 3834 + 18044 3400 3602 3313 3498 + 18045 3400 3602 3475 3313 + 18046 3533 3313 3761 3423 + 18047 3498 3423 3761 3313 + 18048 3475 3313 3761 3587 + 18049 3761 3475 3602 3313 + 18050 3761 3313 3602 3498 + 18051 3587 3313 3761 3533 + 18052 3401 3762 3534 3314 + 18053 3764 3597 3474 3314 + 18054 3314 3764 3902 3673 + 18055 3764 3902 3597 3314 + 18056 3902 3401 3597 3314 + 18057 3902 3314 3673 3401 + 18058 3762 3314 3401 3904 + 18059 3904 3673 3314 3401 + 18060 3315 3751 3476 3383 + 18061 3751 3826 3315 3476 + 18062 3315 3826 3379 3576 + 18063 3315 3826 3576 3476 + 18064 3446 3316 3630 3539 + 18065 3540 3316 3403 3644 + 18066 3316 3644 3540 3454 + 18067 3316 3726 3446 3630 + 18068 3726 3316 3446 3373 + 18069 3817 3644 3316 3454 + 18070 3373 3316 3817 3726 + 18071 3817 3454 3316 3373 + 18072 3905 3403 3316 3644 + 18073 3941 3316 3644 3905 + 18074 3941 3316 3817 3644 + 18075 3316 3941 3726 3630 + 18076 3941 3316 3726 3817 + 18077 3905 3965 3316 3403 + 18078 3941 3965 3316 3905 + 18079 3630 3316 3941 3965 + 18080 3316 3539 3965 3630 + 18081 3403 3965 3316 3539 + 18082 3317 3478 3638 3366 + 18083 3403 3317 3477 3639 + 18084 3403 3767 3317 3639 + 18085 3808 3366 3539 3317 + 18086 3317 3675 3768 3842 + 18087 3317 3768 3906 3842 + 18088 3906 3478 3317 3541 + 18089 3638 3317 3768 3906 + 18090 3638 3478 3317 3906 + 18091 3541 3906 3753 3317 + 18092 3753 3317 3906 3842 + 18093 3638 3366 3930 3317 + 18094 3317 3808 3366 3930 + 18095 3930 3317 3768 3638 + 18096 3768 3675 3317 3930 + 18097 3842 3934 3317 3675 + 18098 3767 3317 3934 3675 + 18099 3639 3317 3477 3934 + 18100 3477 3317 3541 3934 + 18101 3753 3934 3317 3842 + 18102 3541 3753 3934 3317 + 18103 3639 3767 3317 3934 + 18104 3317 3767 3965 3675 + 18105 3317 3539 3965 3403 + 18106 3930 3675 3317 3965 + 18107 3539 3808 3317 3965 + 18108 3317 3965 3808 3930 + 18109 3317 3965 3767 3403 + 18110 3405 3544 3319 3481 + 18111 3319 3405 3543 3769 + 18112 3405 3544 3769 3319 + 18113 3542 3319 3479 3769 + 18114 3479 3769 3319 3543 + 18115 3542 3319 3769 3409 + 18116 3769 3544 3409 3319 + 18117 3678 3320 3480 3405 + 18118 3543 3320 3678 3405 + 18119 3321 3599 3463 3409 + 18120 3321 3677 3599 3409 + 18121 3542 3677 3321 3409 + 18122 3677 3488 3321 3415 + 18123 3599 3415 3677 3321 + 18124 3322 3481 3651 3521 + 18125 3408 3322 3742 3521 + 18126 3481 3322 3651 3770 + 18127 3481 3410 3322 3770 + 18128 3322 3651 3823 3521 + 18129 3322 3742 3521 3823 + 18130 3770 3410 3322 3846 + 18131 3322 3680 3846 3410 + 18132 3742 3408 3847 3322 + 18133 3847 3322 3408 3482 + 18134 3322 3651 3770 3909 + 18135 3909 3322 3651 3823 + 18136 3909 3846 3770 3322 + 18137 3910 3482 3322 3847 + 18138 3482 3322 3410 3910 + 18139 3910 3322 3680 3847 + 18140 3680 3410 3322 3910 + 18141 3846 3944 3680 3322 + 18142 3823 3944 3322 3742 + 18143 3909 3944 3846 3322 + 18144 3944 3823 3322 3909 + 18145 3322 3742 3944 3847 + 18146 3322 3944 3680 3847 + 18147 3463 3409 3599 3323 + 18148 3323 3463 3381 3599 + 18149 3599 3381 3323 3545 + 18150 3409 3544 3682 3323 + 18151 3323 3544 3682 3410 + 18152 3323 3682 3773 3410 + 18153 3409 3682 3773 3323 + 18154 3545 3323 3773 3410 + 18155 3409 3323 3849 3599 + 18156 3323 3545 3849 3599 + 18157 3409 3323 3773 3849 + 18158 3849 3323 3773 3545 + 18159 3580 3678 3324 3480 + 18160 3743 3580 3324 3598 + 18161 3598 3743 3908 3324 + 18162 3598 3908 3406 3324 + 18163 3908 3684 3324 3743 + 18164 3743 3324 3580 3943 + 18165 3324 3580 3943 3678 + 18166 3743 3684 3324 3943 + 18167 3487 3325 3686 3549 + 18168 3325 3686 3549 3417 + 18169 3326 3687 3412 3581 + 18170 3326 3687 3581 3775 + 18171 3484 3581 3775 3326 + 18172 3775 3484 3326 3413 + 18173 3327 3658 3547 3584 + 18174 3548 3658 3581 3327 + 18175 3581 3327 3658 3547 + 18176 3658 3382 3584 3327 + 18177 3658 3548 3486 3327 + 18178 3658 3486 3382 3327 + 18179 3590 3411 3328 3485 + 18180 3484 3590 3411 3328 + 18181 3328 3688 3414 3487 + 18182 3487 3413 3328 3688 + 18183 3328 3688 3590 3485 + 18184 3413 3328 3688 3484 + 18185 3484 3688 3590 3328 + 18186 3485 3414 3328 3688 + 18187 3549 3329 3488 3407 + 18188 3686 3417 3329 3549 + 18189 3686 3549 3329 3779 + 18190 3488 3329 3549 3779 + 18191 3330 3585 3671 3491 + 18192 3330 3671 3556 3491 + 18193 3586 3330 3694 3495 + 18194 3586 3694 3330 3492 + 18195 3330 3671 3585 3782 + 18196 3782 3585 3330 3492 + 18197 3782 3492 3330 3694 + 18198 3495 3330 3694 3858 + 18199 3330 3694 3858 3782 + 18200 3556 3671 3330 3858 + 18201 3782 3858 3330 3671 + 18202 3495 3330 3858 3556 + 18203 3585 3670 3418 3331 + 18204 3419 3331 3695 3492 + 18205 3585 3859 3331 3492 + 18206 3331 3859 3695 3492 + 18207 3670 3331 3585 3859 + 18208 3332 3475 3421 3589 + 18209 3332 3421 3698 3589 + 18210 3475 3761 3332 3587 + 18211 3589 3761 3698 3332 + 18212 3761 3475 3332 3589 + 18213 3784 3332 3420 3554 + 18214 3421 3332 3698 3784 + 18215 3784 3421 3332 3554 + 18216 3784 3420 3332 3954 + 18217 3332 3698 3784 3954 + 18218 3587 3954 3332 3420 + 18219 3954 3761 3332 3698 + 18220 3332 3587 3761 3954 + 18221 3649 3333 3591 3486 + 18222 3486 3658 3333 3548 + 18223 3486 3658 3750 3333 + 18224 3486 3750 3649 3333 + 18225 3333 3777 3548 3658 + 18226 3591 3496 3333 3851 + 18227 3649 3591 3333 3851 + 18228 3333 3862 3777 3658 + 18229 3333 3750 3862 3658 + 18230 3333 3777 3916 3548 + 18231 3548 3916 3333 3496 + 18232 3862 3333 3777 3916 + 18233 3916 3333 3496 3851 + 18234 3959 3333 3916 3851 + 18235 3750 3862 3959 3333 + 18236 3333 3649 3959 3750 + 18237 3649 3851 3333 3959 + 18238 3959 3916 3333 3862 + 18239 3715 3592 3513 3334 + 18240 3499 3593 3334 3718 + 18241 3334 3718 3701 3499 + 18242 3499 3788 3701 3334 + 18243 3499 3592 3788 3334 + 18244 3788 3592 3865 3334 + 18245 3592 3865 3334 3715 + 18246 3715 3513 3872 3334 + 18247 3872 3334 3865 3715 + 18248 3872 3513 3593 3334 + 18249 3865 3872 3702 3334 + 18250 3923 3865 3702 3334 + 18251 3718 3923 3334 3701 + 18252 3334 3865 3788 3923 + 18253 3334 3923 3788 3701 + 18254 3334 3971 3872 3702 + 18255 3334 3718 3593 3971 + 18256 3334 3923 3971 3702 + 18257 3872 3593 3971 3334 + 18258 3971 3923 3334 3718 + 18259 3595 3504 3429 3335 + 18260 3335 3560 3595 3504 + 18261 3595 3337 3604 3424 + 18262 3337 3559 3428 3605 + 18263 3428 3337 3605 3501 + 18264 3337 3704 3559 3605 + 18265 3337 3704 3604 3559 + 18266 3704 3604 3595 3337 + 18267 3426 3338 3606 3502 + 18268 3338 3606 3502 3559 + 18269 3338 3426 3606 3558 + 18270 3607 3338 3500 3425 + 18271 3606 3338 3558 3705 + 18272 3559 3789 3604 3338 + 18273 3789 3607 3338 3705 + 18274 3789 3338 3606 3705 + 18275 3338 3607 3789 3425 + 18276 3338 3559 3789 3606 + 18277 3338 3789 3604 3425 + 18278 3500 3607 3790 3338 + 18279 3705 3558 3790 3338 + 18280 3500 3790 3558 3338 + 18281 3705 3790 3607 3338 + 18282 3558 3339 3790 3500 + 18283 3505 3560 3340 3427 + 18284 3505 3706 3340 3560 + 18285 3608 3703 3340 3791 + 18286 3608 3340 3706 3791 + 18287 3703 3560 3340 3791 + 18288 3560 3706 3340 3791 + 18289 3340 3703 3924 3425 + 18290 3340 3608 3924 3703 + 18291 3340 3924 3500 3425 + 18292 3707 3341 3502 3559 + 18293 3341 3559 3707 3867 + 18294 3341 3707 3610 3867 + 18295 3428 3559 3341 3867 + 18296 3341 3512 3428 3867 + 18297 3341 3610 3512 3867 + 18298 3343 3594 3562 3436 + 18299 3503 3343 3594 3561 + 18300 3343 3436 3503 3594 + 18301 3344 3432 3504 3708 + 18302 3506 3344 3794 3432 + 18303 3344 3794 3588 3506 + 18304 3708 3794 3344 3432 + 18305 3344 3588 3794 3554 + 18306 3612 3344 3708 3794 + 18307 3612 3794 3554 3344 + 18308 3506 3434 3345 3614 + 18309 3434 3345 3614 3709 + 18310 3508 3613 3345 3709 + 18311 3434 3508 3345 3709 + 18312 3493 3586 3555 3347 + 18313 3555 3347 3434 3870 + 18314 3508 3493 3870 3347 + 18315 3508 3870 3434 3347 + 18316 3347 3493 3870 3555 + 18317 3504 3348 3563 3429 + 18318 3612 3348 3494 3601 + 18319 3713 3509 3435 3348 + 18320 3713 3601 3348 3612 + 18321 3713 3601 3509 3348 + 18322 3612 3708 3348 3798 + 18323 3798 3348 3612 3713 + 18324 3348 3708 3504 3926 + 18325 3348 3504 3563 3926 + 18326 3798 3708 3348 3926 + 18327 3962 3563 3926 3348 + 18328 3348 3713 3798 3962 + 18329 3798 3348 3962 3926 + 18330 3348 3962 3563 3435 + 18331 3348 3435 3713 3962 + 18332 3609 3593 3349 3435 + 18333 3349 3792 3513 3593 + 18334 3349 3609 3792 3593 + 18335 3603 3601 3587 3350 + 18336 3587 3471 3603 3350 + 18337 3503 3561 3351 3431 + 18338 3436 3594 3510 3351 + 18339 3351 3503 3436 3594 + 18340 3594 3351 3503 3561 + 18341 3428 3501 3605 3352 + 18342 3352 3617 3437 3513 + 18343 3352 3617 3714 3437 + 18344 3352 3792 3501 3605 + 18345 3352 3792 3617 3513 + 18346 3352 3714 3867 3512 + 18347 3428 3512 3352 3867 + 18348 3352 3867 3714 3617 + 18349 3792 3605 3352 3867 + 18350 3792 3352 3617 3867 + 18351 3428 3352 3605 3867 + 18352 3437 3801 3353 3511 + 18353 3437 3715 3511 3354 + 18354 3354 3618 3715 3511 + 18355 3354 3437 3715 3513 + 18356 3592 3715 3354 3618 + 18357 3354 3715 3592 3513 + 18358 3618 3497 3717 3355 + 18359 3497 3717 3355 3514 + 18360 3565 3618 3802 3355 + 18361 3355 3802 3565 3438 + 18362 3355 3717 3618 3802 + 18363 3355 3619 3717 3802 + 18364 3438 3355 3802 3619 + 18365 3440 3356 3621 3564 + 18366 3722 3442 3359 3805 + 18367 3623 3442 3805 3359 + 18368 3359 3625 3722 3805 + 18369 3805 3874 3623 3359 + 18370 3359 3874 3625 3805 + 18371 3628 3442 3360 3529 + 18372 3628 3443 3529 3360 + 18373 3628 3360 3442 3720 + 18374 3567 3447 3516 3361 + 18375 3361 3629 3567 3519 + 18376 3361 3629 3519 3444 + 18377 3516 3361 3629 3567 + 18378 3444 3361 3629 3725 + 18379 3516 3725 3629 3361 + 18380 3726 3446 3630 3362 + 18381 3362 3445 3727 3631 + 18382 3445 3809 3362 3727 + 18383 3362 3809 3445 3516 + 18384 3362 3725 3809 3516 + 18385 3879 3362 3809 3727 + 18386 3879 3809 3362 3725 + 18387 3362 3727 3879 3631 + 18388 3879 3362 3630 3725 + 18389 3362 3726 3631 3879 + 18390 3362 3630 3726 3879 + 18391 3547 3363 3633 3483 + 18392 3727 3633 3547 3363 + 18393 3363 3727 3445 3547 + 18394 3363 3516 3728 3447 + 18395 3363 3727 3809 3445 + 18396 3363 3809 3516 3445 + 18397 3728 3516 3363 3809 + 18398 3809 3727 3363 3880 + 18399 3727 3880 3633 3363 + 18400 3809 3363 3728 3880 + 18401 3519 3635 3364 3566 + 18402 3518 3450 3636 3364 + 18403 3364 3635 3729 3566 + 18404 3635 3519 3364 3730 + 18405 3730 3449 3519 3364 + 18406 3635 3364 3810 3730 + 18407 3810 3636 3730 3364 + 18408 3518 3636 3810 3364 + 18409 3810 3518 3364 3448 + 18410 3448 3810 3729 3364 + 18411 3810 3635 3729 3364 + 18412 3451 3365 3634 3575 + 18413 3448 3729 3634 3365 + 18414 3579 3634 3729 3365 + 18415 3634 3365 3731 3575 + 18416 3365 3579 3634 3731 + 18417 3566 3638 3478 3366 + 18418 3366 3444 3808 3539 + 18419 3366 3808 3444 3878 + 18420 3444 3878 3566 3366 + 18421 3366 3566 3638 3878 + 18422 3366 3930 3808 3878 + 18423 3366 3638 3930 3878 + 18424 3732 3814 3639 3368 + 18425 3526 3814 3732 3368 + 18426 3814 3526 3640 3368 + 18427 3368 3640 3814 3466 + 18428 3634 3451 3575 3369 + 18429 3810 3733 3636 3369 + 18430 3634 3369 3810 3448 + 18431 3518 3369 3810 3636 + 18432 3448 3810 3518 3369 + 18433 3575 3634 3369 3881 + 18434 3369 3881 3810 3733 + 18435 3490 3733 3881 3369 + 18436 3369 3810 3881 3634 + 18437 3642 3452 3577 3371 + 18438 3578 3526 3372 3453 + 18439 3632 3457 3568 3373 + 18440 3632 3568 3817 3373 + 18441 3817 3454 3373 3520 + 18442 3373 3817 3632 3726 + 18443 3817 3373 3568 3520 + 18444 3646 3374 3524 3455 + 18445 3646 3738 3524 3374 + 18446 3375 3459 3647 3522 + 18447 3375 3739 3648 3456 + 18448 3647 3740 3459 3375 + 18449 3647 3820 3740 3375 + 18450 3458 3820 3375 3740 + 18451 3375 3648 3739 3820 + 18452 3647 3820 3375 3739 + 18453 3648 3376 3456 3741 + 18454 3741 3376 3591 3546 + 18455 3591 3456 3376 3741 + 18456 3741 3648 3376 3546 + 18457 3458 3377 3521 3598 + 18458 3378 3653 3825 3460 + 18459 3826 3576 3746 3379 + 18460 3826 3746 3654 3379 + 18461 3380 3569 3522 3652 + 18462 3652 3380 3461 3522 + 18463 3461 3735 3380 3652 + 18464 3380 3569 3652 3736 + 18465 3736 3652 3380 3816 + 18466 3452 3380 3816 3736 + 18467 3652 3380 3816 3735 + 18468 3642 3816 3380 3735 + 18469 3816 3452 3642 3380 + 18470 3599 3657 3381 3545 + 18471 3657 3545 3482 3381 + 18472 3546 3381 3496 3748 + 18473 3546 3482 3381 3748 + 18474 3657 3496 3381 3748 + 18475 3482 3657 3381 3748 + 18476 3631 3750 3382 3584 + 18477 3649 3382 3750 3486 + 18478 3658 3750 3382 3486 + 18479 3658 3382 3750 3584 + 18480 3822 3382 3457 3632 + 18481 3822 3750 3382 3631 + 18482 3822 3726 3382 3632 + 18483 3822 3631 3382 3726 + 18484 3649 3750 3382 3822 + 18485 3525 3624 3383 3476 + 18486 3476 3624 3383 3751 + 18487 3576 3384 3476 3723 + 18488 3525 3476 3384 3723 + 18489 3538 3384 3576 3723 + 18490 3723 3538 3384 3467 + 18491 3526 3640 3385 3737 + 18492 3637 3752 3386 3464 + 18493 3752 3468 3811 3386 + 18494 3752 3811 3637 3386 + 18495 3386 3530 3468 3811 + 18496 3387 3465 3754 3659 + 18497 3465 3660 3387 3754 + 18498 3752 3828 3387 3464 + 18499 3464 3828 3387 3527 + 18500 3387 3891 3659 3754 + 18501 3387 3660 3755 3891 + 18502 3891 3752 3828 3387 + 18503 3891 3387 3660 3754 + 18504 3891 3755 3387 3828 + 18505 3891 3659 3752 3387 + 18506 3933 3387 3828 3527 + 18507 3933 3828 3387 3755 + 18508 3933 3387 3660 3755 + 18509 3570 3388 3528 3627 + 18510 3627 3596 3388 3529 + 18511 3388 3596 3627 3570 + 18512 3469 3571 3551 3389 + 18513 3389 3551 3833 3571 + 18514 3389 3833 3468 3571 + 18515 3531 3468 3389 3833 + 18516 3389 3833 3895 3531 + 18517 3833 3551 3389 3895 + 18518 3531 3470 3390 3661 + 18519 3390 3470 3572 3661 + 18520 3661 3465 3390 3531 + 18521 3391 3665 3571 3530 + 18522 3391 3575 3665 3530 + 18523 3391 3665 3575 3734 + 18524 3391 3665 3734 3834 + 18525 3391 3734 3641 3834 + 18526 3665 3391 3571 3834 + 18527 3596 3570 3392 3627 + 18528 3466 3392 3570 3640 + 18529 3627 3392 3596 3724 + 18530 3466 3756 3392 3640 + 18531 3392 3466 3829 3756 + 18532 3392 3664 3756 3829 + 18533 3829 3596 3392 3896 + 18534 3596 3392 3896 3724 + 18535 3829 3392 3664 3896 + 18536 3664 3963 3896 3392 + 18537 3627 3963 3392 3724 + 18538 3896 3392 3963 3724 + 18539 3393 3628 3443 3529 + 18540 3443 3393 3600 3628 + 18541 3596 3660 3465 3393 + 18542 3628 3724 3529 3393 + 18543 3393 3529 3596 3724 + 18544 3661 3465 3754 3393 + 18545 3465 3393 3660 3754 + 18546 3600 3661 3759 3393 + 18547 3628 3724 3393 3806 + 18548 3835 3661 3754 3393 + 18549 3835 3759 3661 3393 + 18550 3754 3835 3393 3660 + 18551 3393 3896 3596 3660 + 18552 3724 3896 3596 3393 + 18553 3835 3759 3393 3897 + 18554 3600 3628 3393 3897 + 18555 3600 3393 3759 3897 + 18556 3806 3628 3897 3393 + 18557 3806 3897 3935 3393 + 18558 3393 3896 3660 3935 + 18559 3935 3660 3393 3835 + 18560 3724 3935 3896 3393 + 18561 3935 3393 3724 3806 + 18562 3835 3393 3935 3897 + 18563 3471 3533 3668 3394 + 18564 3760 3394 3471 3668 + 18565 3572 3394 3471 3760 + 18566 3836 3394 3533 3666 + 18567 3836 3668 3533 3394 + 18568 3760 3836 3394 3668 + 18569 3572 3394 3898 3470 + 18570 3898 3470 3394 3666 + 18571 3760 3898 3572 3394 + 18572 3760 3836 3898 3394 + 18573 3898 3394 3836 3666 + 18574 3474 3395 3597 3535 + 18575 3669 3597 3395 3535 + 18576 3669 3537 3395 3573 + 18577 3669 3395 3473 3535 + 18578 3473 3395 3669 3537 + 18579 3669 3395 3597 3573 + 18580 3762 3396 3472 3534 + 18581 3762 3396 3552 3472 + 18582 3397 3473 3535 3669 + 18583 3473 3397 3536 3671 + 18584 3763 3671 3397 3473 + 18585 3473 3763 3669 3397 + 18586 3397 3535 3837 3669 + 18587 3837 3669 3763 3397 + 18588 3536 3900 3397 3670 + 18589 3763 3837 3397 3900 + 18590 3763 3900 3397 3671 + 18591 3900 3536 3397 3671 + 18592 3473 3669 3398 3537 + 18593 3491 3671 3556 3398 + 18594 3473 3536 3398 3671 + 18595 3671 3491 3536 3398 + 18596 3763 3398 3473 3669 + 18597 3763 3398 3671 3473 + 18598 3398 3763 3838 3669 + 18599 3398 3669 3838 3537 + 18600 3537 3838 3398 3672 + 18601 3901 3838 3398 3763 + 18602 3556 3398 3671 3901 + 18603 3901 3398 3671 3763 + 18604 3672 3838 3398 3901 + 18605 3556 3672 3398 3901 + 18606 3469 3551 3571 3399 + 18607 3551 3399 3469 3574 + 18608 3574 3551 3399 3498 + 18609 3399 3571 3667 3551 + 18610 3672 3399 3574 3537 + 18611 3498 3574 3672 3399 + 18612 3399 3667 3766 3551 + 18613 3498 3672 3766 3399 + 18614 3766 3399 3551 3498 + 18615 3399 3537 3838 3573 + 18616 3399 3838 3765 3573 + 18617 3399 3838 3672 3766 + 18618 3672 3537 3838 3399 + 18619 3937 3838 3399 3766 + 18620 3399 3937 3765 3838 + 18621 3399 3765 3937 3667 + 18622 3399 3766 3667 3937 + 18623 3602 3556 3672 3400 + 18624 3574 3400 3498 3672 + 18625 3498 3400 3602 3672 + 18626 3534 3472 3762 3401 + 18627 3401 3641 3472 3762 + 18628 3902 3573 3401 3765 + 18629 3840 3902 3673 3401 + 18630 3573 3902 3401 3597 + 18631 3401 3765 3840 3902 + 18632 3762 3904 3401 3641 + 18633 3401 3938 3641 3904 + 18634 3938 3765 3401 3641 + 18635 3840 3673 3938 3401 + 18636 3904 3938 3673 3401 + 18637 3938 3401 3765 3840 + 18638 3452 3402 3643 3577 + 18639 3736 3402 3643 3452 + 18640 3736 3402 3452 3523 + 18641 3402 3538 3576 3746 + 18642 3831 3538 3402 3746 + 18643 3831 3402 3538 3577 + 18644 3643 3577 3402 3831 + 18645 3736 3523 3886 3402 + 18646 3736 3643 3402 3886 + 18647 3940 3831 3402 3746 + 18648 3940 3402 3886 3746 + 18649 3940 3402 3643 3886 + 18650 3940 3643 3402 3831 + 18651 3644 3540 3818 3403 + 18652 3403 3818 3732 3540 + 18653 3403 3639 3732 3905 + 18654 3403 3767 3639 3905 + 18655 3644 3818 3905 3403 + 18656 3905 3818 3732 3403 + 18657 3767 3403 3965 3905 + 18658 3542 3479 3404 3676 + 18659 3678 3480 3580 3405 + 18660 3769 3845 3544 3405 + 18661 3544 3481 3405 3845 + 18662 3845 3543 3405 3769 + 18663 3543 3678 3845 3405 + 18664 3580 3845 3678 3405 + 18665 3481 3405 3845 3580 + 18666 3455 3406 3598 3646 + 18667 3598 3646 3406 3908 + 18668 3549 3407 3488 3582 + 18669 3546 3408 3482 3847 + 18670 3847 3546 3408 3911 + 18671 3648 3408 3546 3911 + 18672 3847 3408 3742 3911 + 18673 3648 3742 3408 3911 + 18674 3682 3544 3409 3769 + 18675 3677 3844 3409 3542 + 18676 3542 3769 3844 3409 + 18677 3772 3844 3682 3409 + 18678 3769 3844 3409 3682 + 18679 3772 3682 3848 3409 + 18680 3409 3849 3677 3599 + 18681 3409 3848 3772 3912 + 18682 3844 3912 3409 3772 + 18683 3912 3677 3409 3849 + 18684 3912 3409 3677 3844 + 18685 3946 3912 3409 3849 + 18686 3409 3773 3682 3946 + 18687 3912 3848 3946 3409 + 18688 3409 3682 3848 3946 + 18689 3946 3409 3773 3849 + 18690 3410 3544 3681 3770 + 18691 3410 3481 3544 3770 + 18692 3771 3682 3544 3410 + 18693 3771 3544 3681 3410 + 18694 3410 3770 3681 3846 + 18695 3680 3774 3846 3410 + 18696 3774 3681 3846 3410 + 18697 3850 3774 3410 3683 + 18698 3773 3683 3850 3410 + 18699 3773 3850 3545 3410 + 18700 3850 3410 3910 3545 + 18701 3410 3850 3910 3774 + 18702 3410 3910 3680 3774 + 18703 3545 3410 3910 3482 + 18704 3773 3682 3914 3410 + 18705 3681 3410 3914 3771 + 18706 3774 3914 3681 3410 + 18707 3914 3410 3682 3771 + 18708 3683 3914 3410 3773 + 18709 3914 3410 3774 3683 + 18710 3548 3484 3590 3411 + 18711 3633 3483 3412 3547 + 18712 3581 3687 3412 3776 + 18713 3852 3547 3633 3412 + 18714 3776 3412 3581 3852 + 18715 3581 3412 3547 3852 + 18716 3852 3633 3776 3412 + 18717 3413 3688 3775 3484 + 18718 3487 3854 3413 3688 + 18719 3854 3688 3775 3413 + 18720 3582 3485 3414 3549 + 18721 3549 3686 3487 3414 + 18722 3485 3749 3582 3414 + 18723 3485 3749 3414 3688 + 18724 3688 3414 3487 3778 + 18725 3414 3686 3487 3778 + 18726 3414 3688 3855 3778 + 18727 3855 3749 3688 3414 + 18728 3917 3749 3414 3582 + 18729 3414 3855 3749 3917 + 18730 3917 3855 3778 3414 + 18731 3917 3686 3414 3778 + 18732 3549 3917 3686 3414 + 18733 3917 3582 3414 3549 + 18734 3415 3749 3582 3599 + 18735 3599 3415 3849 3677 + 18736 3415 3677 3488 3856 + 18737 3677 3912 3856 3415 + 18738 3690 3912 3415 3780 + 18739 3912 3856 3415 3780 + 18740 3415 3690 3849 3912 + 18741 3912 3849 3415 3677 + 18742 3415 3849 3690 3913 + 18743 3913 3749 3415 3599 + 18744 3913 3415 3849 3599 + 18745 3415 3856 3488 3917 + 18746 3917 3749 3582 3415 + 18747 3415 3917 3488 3582 + 18748 3948 3780 3690 3415 + 18749 3415 3690 3948 3913 + 18750 3415 3948 3856 3917 + 18751 3948 3856 3780 3415 + 18752 3917 3415 3948 3749 + 18753 3948 3913 3749 3415 + 18754 3572 3416 3600 3760 + 18755 3572 3760 3550 3416 + 18756 3692 3600 3416 3760 + 18757 3489 3807 3416 3691 + 18758 3692 3416 3781 3857 + 18759 3857 3416 3781 3691 + 18760 3760 3550 3416 3857 + 18761 3489 3691 3416 3857 + 18762 3416 3857 3550 3489 + 18763 3416 3692 3760 3857 + 18764 3600 3897 3416 3628 + 18765 3692 3416 3600 3897 + 18766 3628 3416 3807 3897 + 18767 3692 3416 3897 3781 + 18768 3416 3691 3807 3897 + 18769 3691 3897 3416 3781 + 18770 3585 3418 3670 3536 + 18771 3510 3419 3800 3436 + 18772 3436 3553 3419 3800 + 18773 3800 3419 3695 3918 + 18774 3419 3695 3918 3492 + 18775 3918 3419 3553 3800 + 18776 3492 3918 3419 3553 + 18777 3612 3494 3420 3601 + 18778 3554 3612 3494 3420 + 18779 3554 3784 3612 3420 + 18780 3612 3420 3784 3860 + 18781 3587 3860 3420 3601 + 18782 3860 3612 3420 3601 + 18783 3420 3954 3860 3587 + 18784 3420 3860 3954 3784 + 18785 3785 3698 3421 3589 + 18786 3588 3785 3421 3555 + 18787 3785 3555 3495 3421 + 18788 3785 3589 3421 3495 + 18789 3784 3554 3955 3421 + 18790 3421 3955 3785 3588 + 18791 3421 3554 3955 3588 + 18792 3421 3955 3698 3785 + 18793 3421 3955 3784 3698 + 18794 3499 3557 3422 3622 + 18795 3422 3557 3489 3622 + 18796 3422 3499 3701 3718 + 18797 3807 3489 3422 3691 + 18798 3622 3489 3422 3807 + 18799 3550 3857 3422 3489 + 18800 3857 3550 3422 3620 + 18801 3489 3422 3691 3857 + 18802 3422 3873 3718 3701 + 18803 3701 3863 3422 3873 + 18804 3620 3422 3857 3960 + 18805 3960 3691 3422 3857 + 18806 3863 3960 3691 3422 + 18807 3863 3873 3960 3422 + 18808 3620 3873 3422 3960 + 18809 3807 3622 3970 3422 + 18810 3499 3422 3970 3622 + 18811 3701 3970 3499 3422 + 18812 3422 3970 3691 3863 + 18813 3422 3701 3970 3863 + 18814 3807 3970 3691 3422 + 18815 3700 3761 3498 3423 + 18816 3423 3498 3700 3766 + 18817 3423 3551 3498 3766 + 18818 3895 3423 3666 3787 + 18819 3666 3423 3533 3899 + 18820 3899 3864 3787 3423 + 18821 3787 3899 3423 3666 + 18822 3899 3700 3864 3423 + 18823 3899 3423 3761 3700 + 18824 3423 3761 3533 3899 + 18825 3950 3895 3423 3551 + 18826 3551 3950 3766 3423 + 18827 3700 3766 3950 3423 + 18828 3700 3423 3950 3864 + 18829 3864 3787 3423 3950 + 18830 3787 3423 3950 3895 + 18831 3425 3866 3607 3789 + 18832 3425 3604 3866 3789 + 18833 3604 3866 3703 3425 + 18834 3500 3607 3425 3924 + 18835 3924 3607 3425 3866 + 18836 3924 3425 3703 3866 + 18837 3867 3428 3559 3605 + 18838 3504 3429 3563 3595 + 18839 3504 3432 3611 3708 + 18840 3793 3505 3432 3611 + 18841 3432 3793 3611 3710 + 18842 3506 3432 3710 3793 + 18843 3506 3794 3710 3432 + 18844 3710 3794 3611 3432 + 18845 3708 3611 3794 3432 + 18846 3615 3433 3594 3562 + 18847 3433 3711 3507 3562 + 18848 3562 3615 3433 3711 + 18849 3616 3434 3555 3588 + 18850 3555 3434 3616 3797 + 18851 3434 3869 3614 3506 + 18852 3588 3616 3434 3869 + 18853 3588 3434 3506 3869 + 18854 3434 3709 3870 3508 + 18855 3434 3797 3870 3709 + 18856 3555 3434 3797 3870 + 18857 3927 3797 3434 3709 + 18858 3869 3434 3614 3927 + 18859 3927 3614 3709 3434 + 18860 3434 3616 3797 3927 + 18861 3434 3869 3616 3927 + 18862 3435 3799 3609 3593 + 18863 3609 3563 3962 3435 + 18864 3609 3962 3799 3435 + 18865 3799 3713 3435 3962 + 18866 3436 3562 3615 3594 + 18867 3436 3615 3510 3594 + 18868 3712 3615 3436 3562 + 18869 3553 3712 3436 3562 + 18870 3510 3436 3800 3615 + 18871 3436 3800 3615 3712 + 18872 3800 3436 3553 3712 + 18873 3617 3513 3715 3437 + 18874 3801 3617 3715 3437 + 18875 3437 3715 3801 3511 + 18876 3801 3714 3617 3437 + 18877 3802 3619 3719 3438 + 18878 3515 3440 3621 3564 + 18879 3528 3626 3722 3441 + 18880 3723 3876 3626 3441 + 18881 3441 3626 3722 3876 + 18882 3723 3525 3876 3441 + 18883 3724 3529 3442 3628 + 18884 3627 3529 3442 3724 + 18885 3724 3442 3806 3628 + 18886 3442 3623 3877 3720 + 18887 3805 3877 3442 3623 + 18888 3628 3442 3877 3720 + 18889 3877 3628 3806 3442 + 18890 3805 3722 3442 3928 + 18891 3877 3806 3928 3442 + 18892 3805 3442 3877 3928 + 18893 3928 3722 3442 3627 + 18894 3627 3442 3928 3724 + 18895 3806 3724 3928 3442 + 18896 3444 3629 3878 3725 + 18897 3878 3566 3519 3444 + 18898 3519 3629 3878 3444 + 18899 3878 3808 3444 3725 + 18900 3584 3631 3727 3445 + 18901 3584 3727 3547 3445 + 18902 3516 3447 3567 3728 + 18903 3634 3810 3729 3448 + 18904 3812 3449 3567 3519 + 18905 3812 3730 3449 3519 + 18906 3642 3452 3816 3577 + 18907 3452 3816 3643 3736 + 18908 3452 3577 3643 3816 + 18909 3578 3526 3453 3883 + 18910 3453 3883 3737 3642 + 18911 3883 3526 3453 3737 + 18912 3578 3883 3453 3642 + 18913 3454 3644 3540 3818 + 18914 3578 3540 3818 3454 + 18915 3818 3454 3644 3735 + 18916 3578 3818 3735 3454 + 18917 3520 3817 3454 3884 + 18918 3884 3644 3454 3735 + 18919 3520 3454 3735 3884 + 18920 3884 3817 3454 3644 + 18921 3598 3524 3455 3646 + 18922 3456 3739 3821 3645 + 18923 3741 3456 3648 3821 + 18924 3739 3648 3456 3821 + 18925 3456 3821 3741 3885 + 18926 3456 3741 3591 3885 + 18927 3885 3456 3821 3645 + 18928 3456 3645 3885 3568 + 18929 3632 3885 3568 3457 + 18930 3632 3822 3885 3457 + 18931 3521 3598 3650 3458 + 18932 3458 3598 3650 3740 + 18933 3521 3742 3458 3650 + 18934 3650 3740 3820 3458 + 18935 3742 3650 3820 3458 + 18936 3459 3522 3569 3647 + 18937 3459 3824 3524 3740 + 18938 3459 3824 3740 3647 + 18939 3824 3647 3459 3569 + 18940 3745 3825 3653 3460 + 18941 3819 3735 3461 3652 + 18942 3652 3522 3461 3819 + 18943 3645 3461 3819 3884 + 18944 3645 3520 3461 3884 + 18945 3520 3735 3461 3884 + 18946 3819 3461 3735 3884 + 18947 3637 3464 3541 3753 + 18948 3828 3464 3752 3637 + 18949 3828 3890 3464 3637 + 18950 3527 3890 3464 3828 + 18951 3637 3890 3464 3753 + 18952 3661 3754 3465 3531 + 18953 3659 3465 3754 3531 + 18954 3662 3814 3756 3466 + 18955 3814 3640 3756 3466 + 18956 3662 3829 3466 3756 + 18957 3829 3662 3466 3933 + 18958 3626 3757 3467 3528 + 18959 3467 3831 3737 3663 + 18960 3831 3737 3538 3467 + 18961 3757 3663 3831 3467 + 18962 3626 3723 3467 3892 + 18963 3538 3723 3892 3467 + 18964 3538 3892 3831 3467 + 18965 3892 3757 3467 3626 + 18966 3892 3467 3757 3831 + 18967 3530 3758 3571 3468 + 18968 3468 3530 3758 3811 + 18969 3571 3833 3468 3758 + 18970 3531 3659 3468 3833 + 18971 3468 3758 3894 3811 + 18972 3833 3468 3758 3894 + 18973 3894 3468 3811 3752 + 18974 3659 3468 3833 3894 + 18975 3468 3894 3659 3752 + 18976 3661 3531 3470 3754 + 18977 3895 3470 3531 3754 + 18978 3898 3470 3661 3572 + 18979 3661 3754 3470 3898 + 18980 3936 3470 3754 3898 + 18981 3470 3898 3936 3666 + 18982 3895 3936 3666 3470 + 18983 3895 3754 3936 3470 + 18984 3587 3668 3603 3471 + 18985 3587 3533 3668 3471 + 18986 3471 3550 3572 3760 + 18987 3471 3668 3603 3760 + 18988 3550 3603 3760 3471 + 18989 3641 3552 3472 3762 + 18990 3764 3535 3474 3597 + 18991 3761 3602 3475 3589 + 18992 3476 3876 3624 3751 + 18993 3525 3876 3624 3476 + 18994 3525 3876 3476 3723 + 18995 3939 3476 3751 3876 + 18996 3476 3826 3576 3939 + 18997 3476 3751 3826 3939 + 18998 3576 3476 3939 3723 + 18999 3723 3876 3476 3939 + 19000 3729 3478 3566 3813 + 19001 3566 3813 3478 3638 + 19002 3813 3906 3478 3638 + 19003 3579 3478 3906 3541 + 19004 3478 3942 3729 3579 + 19005 3478 3579 3906 3942 + 19006 3729 3942 3478 3813 + 19007 3942 3906 3478 3813 + 19008 3542 3479 3676 3769 + 19009 3543 3769 3843 3479 + 19010 3479 3769 3843 3676 + 19011 3521 3481 3651 3580 + 19012 3770 3481 3544 3845 + 19013 3770 3651 3481 3845 + 19014 3481 3845 3651 3580 + 19015 3847 3482 3546 3748 + 19016 3482 3847 3910 3748 + 19017 3748 3910 3482 3657 + 19018 3657 3910 3482 3545 + 19019 3581 3853 3484 3775 + 19020 3688 3590 3853 3484 + 19021 3853 3484 3775 3688 + 19022 3853 3581 3484 3548 + 19023 3590 3853 3484 3548 + 19024 3749 3590 3688 3485 + 19025 3688 3487 3854 3778 + 19026 3917 3488 3582 3549 + 19027 3917 3856 3488 3779 + 19028 3917 3779 3488 3549 + 19029 3622 3583 3489 3807 + 19030 3693 3490 3733 3881 + 19031 3693 3815 3490 3881 + 19032 3585 3536 3671 3491 + 19033 3492 3782 3585 3859 + 19034 3492 3695 3782 3859 + 19035 3492 3918 3782 3695 + 19036 3586 3553 3918 3492 + 19037 3782 3918 3492 3694 + 19038 3586 3918 3694 3492 + 19039 3553 3493 3712 3562 + 19040 3555 3697 3783 3493 + 19041 3783 3586 3555 3493 + 19042 3493 3562 3796 3712 + 19043 3712 3696 3796 3493 + 19044 3493 3870 3796 3562 + 19045 3493 3508 3870 3562 + 19046 3870 3697 3555 3493 + 19047 3493 3918 3696 3783 + 19048 3493 3918 3783 3586 + 19049 3918 3553 3493 3712 + 19050 3712 3918 3696 3493 + 19051 3918 3493 3553 3586 + 19052 3783 3493 3953 3696 + 19053 3953 3796 3696 3493 + 19054 3953 3870 3796 3493 + 19055 3953 3783 3697 3493 + 19056 3870 3953 3697 3493 + 19057 3586 3694 3783 3495 + 19058 3555 3783 3697 3495 + 19059 3555 3495 3586 3783 + 19060 3495 3697 3555 3785 + 19061 3495 3920 3589 3556 + 19062 3785 3920 3589 3495 + 19063 3858 3495 3556 3920 + 19064 3495 3694 3956 3858 + 19065 3783 3694 3956 3495 + 19066 3956 3495 3858 3920 + 19067 3495 3956 3697 3785 + 19068 3783 3956 3697 3495 + 19069 3785 3495 3956 3920 + 19070 3548 3496 3590 3689 + 19071 3591 3546 3496 3851 + 19072 3748 3496 3546 3851 + 19073 3548 3689 3916 3496 + 19074 3748 3958 3657 3496 + 19075 3958 3689 3590 3496 + 19076 3590 3657 3958 3496 + 19077 3851 3748 3496 3969 + 19078 3958 3969 3689 3496 + 19079 3969 3748 3496 3958 + 19080 3916 3496 3969 3851 + 19081 3916 3496 3689 3969 + 19082 3497 3622 3557 3592 + 19083 3618 3717 3497 3592 + 19084 3592 3717 3497 3622 + 19085 3497 3622 3717 3514 + 19086 3700 3602 3498 3761 + 19087 3602 3700 3498 3967 + 19088 3967 3672 3766 3498 + 19089 3967 3602 3672 3498 + 19090 3766 3498 3700 3967 + 19091 3592 3622 3557 3499 + 19092 3592 3970 3622 3499 + 19093 3970 3788 3701 3499 + 19094 3970 3788 3499 3592 + 19095 3500 3607 3924 3790 + 19096 3502 3707 3559 3606 + 19097 3708 3504 3926 3611 + 19098 3504 3560 3595 3926 + 19099 3926 3611 3504 3560 + 19100 3563 3926 3504 3595 + 19101 3706 3560 3505 3611 + 19102 3793 3706 3505 3611 + 19103 3710 3614 3506 3793 + 19104 3869 3710 3506 3794 + 19105 3506 3869 3614 3710 + 19106 3869 3506 3588 3794 + 19107 3711 3613 3507 3562 + 19108 3613 3795 3711 3507 + 19109 3613 3870 3508 3562 + 19110 3508 3709 3870 3613 + 19111 3603 3713 3601 3509 + 19112 3565 3511 3716 3618 + 19113 3618 3511 3871 3715 + 19114 3801 3871 3511 3715 + 19115 3716 3618 3511 3871 + 19116 3610 3714 3512 3867 + 19117 3715 3872 3513 3617 + 19118 3792 3513 3872 3617 + 19119 3513 3593 3792 3872 + 19120 3583 3514 3803 3622 + 19121 3622 3514 3803 3717 + 19122 3516 3567 3629 3728 + 19123 3728 3629 3516 3809 + 19124 3809 3516 3725 3629 + 19125 3629 3519 3812 3567 + 19126 3878 3629 3519 3929 + 19127 3629 3929 3812 3519 + 19128 3730 3812 3929 3519 + 19129 3878 3519 3566 3929 + 19130 3730 3929 3635 3519 + 19131 3566 3929 3519 3635 + 19132 3520 3645 3568 3817 + 19133 3520 3884 3645 3817 + 19134 3598 3521 3743 3580 + 19135 3743 3650 3521 3598 + 19136 3521 3743 3580 3651 + 19137 3823 3651 3743 3521 + 19138 3823 3743 3650 3521 + 19139 3742 3521 3823 3650 + 19140 3744 3569 3522 3647 + 19141 3569 3522 3652 3744 + 19142 3522 3744 3647 3819 + 19143 3652 3744 3522 3819 + 19144 3825 3736 3523 3886 + 19145 3524 3650 3598 3740 + 19146 3646 3738 3827 3524 + 19147 3738 3827 3524 3655 + 19148 3524 3646 3598 3827 + 19149 3889 3655 3524 3827 + 19150 3524 3889 3824 3655 + 19151 3650 3740 3524 3889 + 19152 3824 3889 3524 3740 + 19153 3827 3889 3931 3524 + 19154 3827 3931 3598 3524 + 19155 3524 3650 3931 3598 + 19156 3650 3524 3931 3889 + 19157 3732 3526 3578 3883 + 19158 3932 3814 3732 3526 + 19159 3737 3883 3526 3932 + 19160 3737 3526 3640 3932 + 19161 3932 3640 3814 3526 + 19162 3732 3526 3883 3932 + 19163 3527 3933 3890 3828 + 19164 3627 3722 3528 3830 + 19165 3830 3528 3626 3722 + 19166 3626 3830 3757 3528 + 19167 3627 3724 3596 3529 + 19168 3758 3571 3665 3530 + 19169 3530 3665 3758 3811 + 19170 3530 3575 3665 3811 + 19171 3895 3833 3659 3531 + 19172 3659 3754 3895 3531 + 19173 3587 3668 3533 3761 + 19174 3666 3533 3836 3899 + 19175 3533 3668 3836 3899 + 19176 3533 3761 3668 3899 + 19177 3597 3669 3764 3535 + 19178 3535 3837 3669 3764 + 19179 3536 3585 3900 3670 + 19180 3536 3900 3585 3671 + 19181 3537 3669 3838 3573 + 19182 3831 3538 3737 3577 + 19183 3538 3746 3892 3576 + 19184 3831 3538 3746 3892 + 19185 3576 3892 3538 3723 + 19186 3630 3808 3539 3965 + 19187 3732 3540 3818 3578 + 19188 3841 3637 3541 3753 + 19189 3637 3841 3541 3579 + 19190 3841 3906 3753 3541 + 19191 3906 3579 3541 3841 + 19192 3769 3676 3542 3844 + 19193 3679 3843 3543 3769 + 19194 3678 3907 3543 3845 + 19195 3907 3679 3543 3769 + 19196 3769 3543 3907 3845 + 19197 3769 3682 3544 3945 + 19198 3945 3771 3682 3544 + 19199 3769 3544 3845 3945 + 19200 3945 3681 3771 3544 + 19201 3966 3544 3770 3681 + 19202 3945 3544 3845 3966 + 19203 3966 3945 3544 3681 + 19204 3770 3845 3544 3966 + 19205 3657 3850 3910 3545 + 19206 3657 3913 3850 3545 + 19207 3545 3850 3773 3913 + 19208 3545 3849 3599 3913 + 19209 3545 3773 3849 3913 + 19210 3545 3599 3657 3913 + 19211 3685 3847 3546 3748 + 19212 3685 3546 3851 3748 + 19213 3591 3851 3741 3546 + 19214 3911 3741 3851 3546 + 19215 3851 3685 3911 3546 + 19216 3911 3685 3847 3546 + 19217 3546 3648 3911 3741 + 19218 3658 3547 3584 3852 + 19219 3547 3852 3633 3727 + 19220 3852 3581 3658 3547 + 19221 3852 3547 3584 3727 + 19222 3658 3581 3777 3548 + 19223 3548 3590 3853 3689 + 19224 3853 3777 3581 3548 + 19225 3548 3689 3853 3777 + 19226 3777 3689 3916 3548 + 19227 3917 3686 3779 3549 + 19228 3620 3550 3603 3760 + 19229 3760 3550 3857 3620 + 19230 3667 3833 3551 3571 + 19231 3667 3551 3950 3766 + 19232 3833 3667 3551 3950 + 19233 3950 3833 3895 3551 + 19234 3641 3815 3552 3762 + 19235 3800 3553 3918 3712 + 19236 3784 3554 3612 3794 + 19237 3784 3955 3554 3794 + 19238 3955 3794 3588 3554 + 19239 3555 3588 3785 3616 + 19240 3555 3797 3697 3870 + 19241 3785 3697 3555 3919 + 19242 3919 3697 3555 3797 + 19243 3555 3616 3919 3797 + 19244 3785 3555 3616 3919 + 19245 3556 3901 3671 3858 + 19246 3556 3901 3858 3699 + 19247 3858 3556 3699 3920 + 19248 3699 3589 3920 3556 + 19249 3699 3967 3556 3901 + 19250 3556 3901 3967 3672 + 19251 3589 3699 3967 3556 + 19252 3602 3672 3556 3967 + 19253 3602 3556 3589 3967 + 19254 3789 3606 3559 3707 + 19255 3559 3704 3604 3789 + 19256 3559 3789 3707 3867 + 19257 3559 3867 3704 3789 + 19258 3867 3559 3704 3605 + 19259 3611 3706 3560 3791 + 19260 3703 3560 3791 3926 + 19261 3703 3595 3560 3926 + 19262 3926 3791 3611 3560 + 19263 3712 3796 3615 3562 + 19264 3613 3796 3562 3711 + 19265 3562 3796 3615 3711 + 19266 3613 3796 3870 3562 + 19267 3926 3563 3868 3595 + 19268 3563 3868 3609 3962 + 19269 3563 3926 3868 3962 + 19270 3716 3618 3802 3565 + 19271 3729 3813 3566 3635 + 19272 3566 3929 3635 3813 + 19273 3929 3878 3638 3566 + 19274 3929 3638 3813 3566 + 19275 3629 3812 3882 3567 + 19276 3882 3567 3728 3629 + 19277 3817 3568 3632 3885 + 19278 3885 3817 3568 3645 + 19279 3824 3744 3647 3569 + 19280 3736 3569 3656 3825 + 19281 3888 3569 3824 3656 + 19282 3888 3569 3656 3736 + 19283 3888 3744 3569 3652 + 19284 3888 3569 3744 3824 + 19285 3652 3736 3569 3888 + 19286 3571 3667 3833 3758 + 19287 3571 3758 3834 3667 + 19288 3665 3571 3758 3834 + 19289 3661 3572 3600 3898 + 19290 3760 3600 3572 3898 + 19291 3902 3838 3669 3573 + 19292 3902 3838 3573 3765 + 19293 3597 3902 3669 3573 + 19294 3634 3575 3731 3839 + 19295 3575 3839 3881 3734 + 19296 3575 3881 3839 3634 + 19297 3734 3665 3575 3903 + 19298 3575 3903 3839 3734 + 19299 3575 3903 3665 3811 + 19300 3575 3903 3731 3839 + 19301 3575 3731 3903 3811 + 19302 3939 3892 3746 3576 + 19303 3939 3826 3576 3746 + 19304 3576 3939 3892 3723 + 19305 3883 3816 3577 3642 + 19306 3577 3737 3883 3642 + 19307 3831 3643 3577 3964 + 19308 3816 3577 3964 3883 + 19309 3577 3643 3816 3964 + 19310 3737 3964 3577 3883 + 19311 3831 3577 3737 3964 + 19312 3674 3578 3818 3735 + 19313 3732 3818 3674 3578 + 19314 3674 3883 3578 3735 + 19315 3883 3578 3732 3674 + 19316 3642 3735 3578 3883 + 19317 3841 3731 3579 3637 + 19318 3579 3731 3942 3634 + 19319 3579 3942 3729 3634 + 19320 3841 3906 3579 3942 + 19321 3841 3579 3731 3942 + 19322 3943 3743 3651 3580 + 19323 3678 3580 3943 3845 + 19324 3943 3651 3845 3580 + 19325 3853 3581 3687 3775 + 19326 3852 3581 3776 3915 + 19327 3915 3687 3581 3776 + 19328 3915 3777 3658 3581 + 19329 3581 3658 3915 3852 + 19330 3947 3687 3581 3915 + 19331 3947 3687 3853 3581 + 19332 3853 3581 3777 3947 + 19333 3915 3777 3581 3947 + 19334 3583 3803 3875 3622 + 19335 3875 3949 3720 3583 + 19336 3720 3583 3949 3807 + 19337 3583 3949 3622 3875 + 19338 3949 3583 3622 3807 + 19339 3852 3658 3951 3584 + 19340 3727 3951 3631 3584 + 19341 3727 3852 3951 3584 + 19342 3951 3631 3584 3750 + 19343 3951 3584 3658 3750 + 19344 3859 3670 3900 3585 + 19345 3585 3900 3952 3671 + 19346 3859 3900 3952 3585 + 19347 3859 3952 3782 3585 + 19348 3952 3585 3671 3782 + 19349 3783 3586 3918 3694 + 19350 3587 3603 3860 3601 + 19351 3603 3860 3954 3587 + 19352 3954 3668 3603 3587 + 19353 3587 3954 3668 3761 + 19354 3955 3794 3869 3588 + 19355 3955 3869 3616 3588 + 19356 3588 3955 3785 3616 + 19357 3700 3589 3602 3761 + 19358 3785 3861 3698 3589 + 19359 3589 3920 3785 3861 + 19360 3861 3589 3920 3957 + 19361 3920 3699 3957 3589 + 19362 3957 3861 3589 3786 + 19363 3967 3589 3786 3957 + 19364 3700 3589 3967 3602 + 19365 3786 3589 3967 3700 + 19366 3967 3699 3589 3957 + 19367 3589 3700 3786 3968 + 19368 3589 3786 3861 3968 + 19369 3698 3861 3968 3589 + 19370 3968 3589 3700 3761 + 19371 3761 3968 3589 3698 + 19372 3853 3921 3590 3688 + 19373 3688 3921 3590 3749 + 19374 3590 3921 3853 3689 + 19375 3590 3921 3689 3958 + 19376 3749 3921 3590 3958 + 19377 3657 3590 3958 3749 + 19378 3649 3591 3851 3741 + 19379 3885 3741 3591 3649 + 19380 3715 3592 3865 3618 + 19381 3618 3961 3717 3592 + 19382 3618 3592 3865 3961 + 19383 3788 3865 3592 3961 + 19384 3592 3970 3717 3622 + 19385 3717 3592 3961 3970 + 19386 3970 3961 3788 3592 + 19387 3593 3718 3799 3609 + 19388 3971 3792 3593 3872 + 19389 3609 3593 3971 3792 + 19390 3609 3593 3718 3971 + 19391 3704 3595 3604 3868 + 19392 3703 3604 3595 3868 + 19393 3595 3868 3926 3703 + 19394 3829 3596 3896 3660 + 19395 3764 3597 3902 3669 + 19396 3646 3908 3598 3827 + 19397 3827 3931 3908 3598 + 19398 3598 3743 3931 3908 + 19399 3743 3931 3650 3598 + 19400 3657 3599 3749 3913 + 19401 3600 3692 3897 3759 + 19402 3600 3661 3898 3759 + 19403 3760 3692 3600 3898 + 19404 3600 3898 3692 3759 + 19405 3860 3713 3612 3601 + 19406 3713 3603 3601 3860 + 19407 3620 3603 3922 3760 + 19408 3668 3603 3760 3922 + 19409 3860 3922 3713 3603 + 19410 3922 3620 3713 3603 + 19411 3860 3954 3922 3603 + 19412 3954 3922 3603 3668 + 19413 3868 3604 3704 3972 + 19414 3972 3789 3866 3604 + 19415 3972 3866 3703 3604 + 19416 3868 3703 3604 3972 + 19417 3604 3972 3789 3704 + 19418 3704 3867 3605 3792 + 19419 3789 3973 3606 3707 + 19420 3973 3789 3606 3705 + 19421 3607 3789 3973 3705 + 19422 3974 3607 3924 3866 + 19423 4067 3705 3790 3607 + 19424 4067 3790 3924 3607 + 19425 3607 3924 4067 3974 + 19426 4157 3607 3866 3789 + 19427 3607 3974 4157 3866 + 19428 3973 4157 3789 3607 + 19429 3974 4240 3607 4157 + 19430 3973 4240 4157 3607 + 19431 4067 4240 3607 3974 + 19432 4240 3607 3705 4067 + 19433 3705 3973 3607 4240 + 19434 3974 3608 4066 3924 + 19435 3924 3608 4066 3703 + 19436 3703 3608 4066 3791 + 19437 3791 4159 3608 4066 + 19438 3706 3608 3791 4159 + 19439 3974 4066 3608 4159 + 19440 3609 3971 3925 3792 + 19441 3977 3718 3609 3799 + 19442 3609 3718 3977 3971 + 19443 3977 3609 3962 3799 + 19444 4070 3609 3868 3962 + 19445 3609 3868 3925 4070 + 19446 3977 3609 3971 4070 + 19447 3609 3925 3971 4070 + 19448 3962 4070 3609 3977 + 19449 4158 3610 3707 3867 + 19450 4242 3714 3610 3867 + 19451 4158 4242 3610 3867 + 19452 3978 3794 3611 3710 + 19453 3708 3611 3978 3794 + 19454 3708 3926 3978 3611 + 19455 3710 3793 3611 4069 + 19456 3611 4069 3793 3706 + 19457 3611 3978 3710 4069 + 19458 3926 3611 4160 3978 + 19459 3611 4160 4069 3706 + 19460 3611 4160 3706 3791 + 19461 4160 3791 3611 3926 + 19462 4160 3978 3611 4069 + 19463 3612 3708 3978 3794 + 19464 3708 3612 3978 3798 + 19465 3612 3798 3713 3980 + 19466 3612 3784 3980 3860 + 19467 3612 3713 3860 3980 + 19468 3798 3612 3978 4072 + 19469 4072 3784 3980 3612 + 19470 4072 3978 3794 3612 + 19471 3980 3612 3798 4072 + 19472 4072 3794 3784 3612 + 19473 3796 3613 3870 3981 + 19474 3711 3613 3796 3981 + 19475 3711 3795 3613 3981 + 19476 4073 3709 3613 3870 + 19477 4073 3613 3981 3870 + 19478 3795 4073 3613 3981 + 19479 3710 3979 3614 3793 + 19480 3710 3979 4074 3614 + 19481 3869 3614 4074 3927 + 19482 3710 4074 3869 3614 + 19483 3983 3615 3712 3796 + 19484 3615 3800 3983 3712 + 19485 3983 3711 3615 3796 + 19486 3616 3919 3797 3927 + 19487 3919 3616 4075 3927 + 19488 3869 4075 3616 3927 + 19489 4165 3785 3955 3616 + 19490 4075 4165 3616 3919 + 19491 3869 4165 3616 4075 + 19492 3785 3919 3616 4165 + 19493 3616 4165 3869 3955 + 19494 3867 3617 3792 3925 + 19495 3617 3971 3872 3792 + 19496 3617 3925 3971 3792 + 19497 3867 3976 3617 3925 + 19498 3925 3971 3976 3617 + 19499 3872 3976 3971 3617 + 19500 3715 3801 4079 3617 + 19501 3714 4079 3801 3617 + 19502 3872 4079 3617 3715 + 19503 3976 4079 3617 3872 + 19504 4079 3714 4242 3617 + 19505 4079 4242 3976 3617 + 19506 4242 3617 3714 3867 + 19507 3976 4242 3867 3617 + 19508 3865 3618 3871 3715 + 19509 3716 3618 3871 3961 + 19510 3618 3717 3961 3802 + 19511 3865 3871 3618 3961 + 19512 3961 3618 3802 3716 + 19513 3875 3619 3717 3803 + 19514 3717 3802 3619 3987 + 19515 3987 3875 3619 3717 + 19516 3619 3719 3874 3988 + 19517 4081 3619 3803 3874 + 19518 3619 3874 4081 3988 + 19519 3875 3619 3803 4081 + 19520 4081 3619 3987 3875 + 19521 4171 3619 3987 4081 + 19522 4081 4171 3619 3988 + 19523 4171 3719 3619 3988 + 19524 3802 3719 3619 4171 + 19525 3987 3802 3619 4171 + 19526 3960 3873 3985 3620 + 19527 3713 3985 3873 3620 + 19528 3713 3922 3985 3620 + 19529 4082 3620 3760 3857 + 19530 3620 3760 3922 4082 + 19531 4082 3960 3620 3857 + 19532 3620 3960 4082 3985 + 19533 4082 3620 3985 3922 + 19534 3621 3988 3874 3719 + 19535 3874 3621 4173 3988 + 19536 3621 4173 3721 3874 + 19537 3622 3803 3875 3717 + 19538 3970 3717 3622 3875 + 19539 3970 3622 3949 3875 + 19540 3949 3807 3622 3970 + 19541 3623 3805 3990 3874 + 19542 3875 3803 3623 4081 + 19543 3803 4081 3874 3623 + 19544 3623 3990 4081 3874 + 19545 3805 4174 3623 3990 + 19546 4174 4081 3623 3990 + 19547 3623 4174 3877 3720 + 19548 3875 4174 4081 3623 + 19549 3877 4174 3623 3805 + 19550 3875 3623 3720 4174 + 19551 3992 3624 3721 3876 + 19552 3624 3992 3751 3876 + 19553 3874 3625 3805 3990 + 19554 3625 3805 3993 3722 + 19555 3625 3993 3804 3722 + 19556 3804 3625 3721 4085 + 19557 4173 3874 3990 3625 + 19558 4173 4085 3721 3625 + 19559 4173 3721 3874 3625 + 19560 3804 3625 4085 4175 + 19561 3993 3805 3625 4175 + 19562 3993 3625 3804 4175 + 19563 3805 3625 4175 3990 + 19564 3625 4249 4175 3990 + 19565 4085 4173 4249 3625 + 19566 3625 4173 4249 3990 + 19567 4085 4249 4175 3625 + 19568 3804 3722 3626 3876 + 19569 3804 3876 3626 3939 + 19570 3723 3626 3876 3939 + 19571 3626 3939 3723 3892 + 19572 3626 4177 3830 3722 + 19573 4177 3626 3757 3892 + 19574 4177 3626 3939 3804 + 19575 3626 3757 3830 4177 + 19576 4177 3722 3626 3804 + 19577 3892 3626 3939 4177 + 19578 3627 3928 3722 3830 + 19579 3928 3830 3627 3963 + 19580 3963 3928 3724 3627 + 19581 4084 3720 3628 3877 + 19582 3628 4084 3877 3806 + 19583 3806 3628 4084 3897 + 19584 3628 3720 4084 3807 + 19585 3628 4084 3897 3807 + 19586 3728 3629 3809 3882 + 19587 3629 3809 3882 3725 + 19588 3629 3995 3929 3878 + 19589 3725 3882 3629 3995 + 19590 3725 3878 3995 3629 + 19591 3882 4090 3812 3629 + 19592 4090 3812 3629 3929 + 19593 3629 4090 3995 3882 + 19594 3629 3929 3995 4090 + 19595 4091 3725 3630 3808 + 19596 3879 3630 4091 3725 + 19597 3630 3941 3996 4180 + 19598 3630 4180 3996 4091 + 19599 4180 4091 3630 3808 + 19600 3630 3941 4180 3965 + 19601 3630 4180 3808 3965 + 19602 3726 3879 3630 4181 + 19603 3941 3630 3996 4181 + 19604 3879 3630 4181 4091 + 19605 3996 4181 3630 4091 + 19606 3941 3726 3630 4181 + 19607 3879 3727 3951 3631 + 19608 3997 3951 3631 3879 + 19609 3631 3726 3997 3879 + 19610 3631 3951 3997 4092 + 19611 4092 3631 3951 3750 + 19612 3822 4092 3750 3631 + 19613 3726 3631 3997 4252 + 19614 3997 3631 4092 4252 + 19615 4252 3631 4092 3822 + 19616 3822 4252 3631 3726 + 19617 3817 3632 3726 4252 + 19618 3885 4252 3822 3632 + 19619 3822 3726 3632 4252 + 19620 4252 3632 3885 3817 + 19621 3999 3776 3852 3633 + 19622 3727 3880 3999 3633 + 19623 3727 3999 3852 3633 + 19624 3839 3942 3731 3634 + 19625 3634 3942 3729 4000 + 19626 3729 4000 3810 3634 + 19627 3881 3634 3810 4000 + 19628 3634 3839 3942 4000 + 19629 3881 3839 3634 4000 + 19630 3813 4000 3635 3729 + 19631 3729 3810 4000 3635 + 19632 3730 4094 3810 3635 + 19633 3810 4000 3635 4094 + 19634 3635 3813 3929 4183 + 19635 3635 4183 3929 3730 + 19636 3730 4183 4094 3635 + 19637 4000 3635 4094 4183 + 19638 3635 4000 3813 4183 + 19639 3636 4094 3810 3730 + 19640 3810 3636 3733 4094 + 19641 3752 3637 3811 4001 + 19642 3637 3841 3731 4001 + 19643 3637 3731 3811 4001 + 19644 3753 3890 4095 3637 + 19645 4095 3828 3752 3637 + 19646 4095 3890 3828 3637 + 19647 3637 4001 4095 3841 + 19648 4095 4001 3637 3752 + 19649 3753 4095 3841 3637 + 19650 3813 3768 3906 3638 + 19651 4182 3638 3768 3813 + 19652 3638 3929 3813 4182 + 19653 4182 3930 3768 3638 + 19654 3930 3878 3638 4182 + 19655 3878 3929 3638 4182 + 19656 4003 3814 3934 3639 + 19657 4003 3767 3905 3639 + 19658 4003 3814 3639 3732 + 19659 4003 3905 3732 3639 + 19660 3934 3767 4003 3639 + 19661 3640 3737 3932 3832 + 19662 3756 3640 3814 3932 + 19663 3932 3756 3640 3832 + 19664 3762 3815 3904 3641 + 19665 3938 3641 3734 3834 + 19666 3834 3765 3938 3641 + 19667 3904 3938 3641 4004 + 19668 3641 3734 3815 4004 + 19669 3641 3938 3734 4004 + 19670 3904 3641 3815 4004 + 19671 3883 3642 3735 3816 + 19672 3940 3964 3643 3831 + 19673 3643 3816 4007 3736 + 19674 3886 4102 3736 3643 + 19675 3736 3643 4102 4007 + 19676 3886 3940 4102 3643 + 19677 4189 3964 3643 3940 + 19678 4007 4189 3643 4102 + 19679 3643 3940 4102 4189 + 19680 3816 3643 4007 4189 + 19681 3816 3964 3643 4189 + 19682 4006 3884 3735 3644 + 19683 4006 3818 3905 3644 + 19684 4006 3735 3818 3644 + 19685 3884 4006 4103 3644 + 19686 4103 3644 3817 3884 + 19687 3941 3644 3817 4103 + 19688 4103 3941 3644 4190 + 19689 3941 3905 3644 4190 + 19690 3644 4103 4190 4006 + 19691 4006 3905 4190 3644 + 19692 3885 4010 3817 3645 + 19693 3885 3821 4010 3645 + 19694 4010 3645 3884 3817 + 19695 4010 3821 4104 3645 + 19696 4104 3645 3821 3739 + 19697 3645 4010 3884 4104 + 19698 3645 4104 3819 3739 + 19699 3645 3884 3819 4104 + 19700 3820 3647 3740 4013 + 19701 3647 3740 4013 3824 + 19702 3647 4013 3744 3824 + 19703 4191 4013 3744 3647 + 19704 3647 3744 4191 3819 + 19705 3820 3739 3647 4191 + 19706 4191 3820 4013 3647 + 19707 3647 4191 3739 3819 + 19708 3648 3742 3911 3820 + 19709 3820 3648 4012 3911 + 19710 3648 3739 3820 4012 + 19711 4012 3648 3739 3821 + 19712 4012 4106 3648 3821 + 19713 4106 3911 3648 3741 + 19714 4106 4012 3648 3911 + 19715 3741 3648 4106 3821 + 19716 3649 3750 3822 3959 + 19717 3649 4014 3851 3959 + 19718 3741 4014 3649 3885 + 19719 3741 3649 4014 3851 + 19720 4192 3649 3959 4014 + 19721 3959 3822 3649 4192 + 19722 3649 4192 3822 3885 + 19723 3649 4014 4192 3885 + 19724 3650 3931 3743 3823 + 19725 3740 3650 4013 3889 + 19726 3740 4013 3650 3820 + 19727 3820 4013 3650 4107 + 19728 3742 3823 4107 3650 + 19729 3820 3650 3742 4107 + 19730 3650 4193 3931 3823 + 19731 4107 3823 4193 3650 + 19732 3931 3650 3889 4193 + 19733 4013 3650 4193 3889 + 19734 4107 4193 4013 3650 + 19735 3943 3845 3651 3966 + 19736 3845 3966 3770 3651 + 19737 3943 3651 4016 3966 + 19738 3770 3966 4016 3651 + 19739 3909 3770 4016 3651 + 19740 3909 3651 4108 3823 + 19741 3651 3823 3743 4108 + 19742 3909 4016 4108 3651 + 19743 3943 4194 4016 3651 + 19744 3943 3743 4194 3651 + 19745 3651 4016 4108 4194 + 19746 3651 4108 3743 4194 + 19747 3652 4007 3736 3888 + 19748 3736 4007 3652 3816 + 19749 3888 4105 3744 3652 + 19750 4007 3652 4105 3888 + 19751 3652 4105 3744 3819 + 19752 3819 4188 3652 4105 + 19753 4188 3652 4105 4007 + 19754 4188 3652 4007 3816 + 19755 3819 4188 3735 3652 + 19756 4188 3735 3652 3816 + 19757 4110 3887 3653 3825 + 19758 3825 4110 3745 3653 + 19759 3654 3886 3746 4018 + 19760 3654 4018 3746 4111 + 19761 3826 4111 3654 3746 + 19762 3886 4195 3654 3745 + 19763 4195 4260 3886 3654 + 19764 4260 3886 3654 4018 + 19765 4307 4195 3654 4260 + 19766 4307 4260 3654 4018 + 19767 3654 4307 4018 4111 + 19768 3655 3889 3824 3747 + 19769 3655 4019 3889 3747 + 19770 4019 4196 3747 3655 + 19771 3655 4196 3747 3887 + 19772 3889 4262 3655 3827 + 19773 4262 4019 3889 3655 + 19774 3888 3824 3747 3656 + 19775 3825 4008 3656 3736 + 19776 3888 3656 4008 3736 + 19777 4110 4008 3656 3825 + 19778 4110 3656 3887 3825 + 19779 4110 3887 3656 4196 + 19780 4196 3656 4110 4008 + 19781 4196 3656 3747 3887 + 19782 4196 4308 3656 4008 + 19783 4196 4308 3747 3656 + 19784 4308 3656 3888 3747 + 19785 4308 3656 4008 3888 + 19786 3748 3850 3910 3657 + 19787 3749 3958 3657 3913 + 19788 3657 3850 3913 3958 + 19789 3958 3657 3850 3748 + 19790 3862 3777 3658 3915 + 19791 3852 3951 3658 3915 + 19792 3658 4023 3750 3862 + 19793 4023 3658 3951 3915 + 19794 3658 3951 3750 4023 + 19795 3658 3915 4023 3862 + 19796 4025 3659 3833 3894 + 19797 3891 3659 3754 4025 + 19798 4025 3659 3754 3895 + 19799 3659 3895 4025 3833 + 19800 4025 3894 4199 3659 + 19801 3752 3659 3891 4199 + 19802 4199 4025 3659 3891 + 19803 3752 3894 3659 4199 + 19804 3660 3829 3933 3755 + 19805 4027 3829 3660 3755 + 19806 4027 3660 3896 3935 + 19807 3935 4027 3660 3835 + 19808 3829 3896 4027 3660 + 19809 4201 3755 3660 3891 + 19810 4027 3755 3660 4201 + 19811 4027 3835 4201 3660 + 19812 3891 3660 4201 3754 + 19813 3754 4201 3835 3660 + 19814 3754 3898 3661 3835 + 19815 3835 3661 3759 3898 + 19816 3934 3814 4003 3662 + 19817 4026 3933 3890 3662 + 19818 4003 4099 3662 3814 + 19819 3756 3814 3662 4099 + 19820 3662 3933 4202 4026 + 19821 3662 4202 3933 3829 + 19822 4099 3662 4202 4267 + 19823 4003 4267 3662 4099 + 19824 3662 3890 4267 3934 + 19825 4003 3934 3662 4267 + 19826 4026 3890 4267 3662 + 19827 4026 3662 4267 4202 + 19828 3662 4202 4269 4099 + 19829 4269 3756 3662 4099 + 19830 3662 4269 4202 3829 + 19831 3662 4269 3829 3756 + 19832 3831 3737 3663 3964 + 19833 3832 3964 3663 3737 + 19834 3831 3757 4028 3663 + 19835 3893 4028 3757 3663 + 19836 4204 3964 3831 3663 + 19837 4204 3832 3663 3893 + 19838 3831 4028 4204 3663 + 19839 3893 4204 4028 3663 + 19840 3832 4204 3663 3964 + 19841 3832 3756 3664 4024 + 19842 3664 3963 4029 3896 + 19843 3664 4029 3963 3893 + 19844 3829 3664 4269 3896 + 19845 3756 3664 4269 3829 + 19846 3664 3756 4269 4024 + 19847 3896 4029 3664 4269 + 19848 3664 4029 4119 4269 + 19849 3664 4269 4119 4024 + 19850 4270 3893 4029 3664 + 19851 4270 3832 3893 3664 + 19852 3664 4029 4270 4119 + 19853 4024 3664 3832 4270 + 19854 3664 4270 4024 4119 + 19855 3665 4097 3811 3903 + 19856 3665 3758 4097 3834 + 19857 4097 3811 3758 3665 + 19858 3834 3665 4187 4097 + 19859 4187 3734 3665 3834 + 19860 3734 4187 3665 3903 + 19861 4097 3903 3665 4187 + 19862 3936 3898 3836 3666 + 19863 3895 3666 3936 3787 + 19864 3899 3666 3787 4031 + 19865 3836 3936 3666 4031 + 19866 3836 3666 3899 4031 + 19867 4031 3666 3787 3936 + 19868 4030 3834 3758 3667 + 19869 3833 4030 3667 3950 + 19870 3667 4030 3833 3758 + 19871 3765 4121 3937 3667 + 19872 3766 3667 4121 3950 + 19873 3937 3766 3667 4121 + 19874 3950 3667 4121 4030 + 19875 3834 3667 4272 3765 + 19876 3667 4121 4272 3765 + 19877 3667 3834 4272 4030 + 19878 4030 3667 4121 4272 + 19879 3668 3760 3836 3922 + 19880 3954 3836 3922 3668 + 19881 3836 3668 3954 3899 + 19882 3954 3668 3761 3899 + 19883 3902 3838 3763 3669 + 19884 4034 3669 3837 3764 + 19885 4034 3902 3669 3764 + 19886 3902 3669 3763 4034 + 19887 3763 3669 3837 4034 + 19888 3858 3671 3782 3952 + 19889 3763 3952 3900 3671 + 19890 3901 3671 3952 3763 + 19891 3858 3901 3671 3952 + 19892 3838 3967 3901 3672 + 19893 3672 3838 3967 3766 + 19894 3902 3673 3764 4034 + 19895 3902 3840 3673 4034 + 19896 3673 4126 4034 3840 + 19897 3840 4213 3673 4126 + 19898 3840 3673 4213 3938 + 19899 4213 3673 3904 3938 + 19900 3818 3905 3732 3674 + 19901 3932 3883 3732 3674 + 19902 3674 4006 3818 3905 + 19903 3818 4006 3674 3735 + 19904 3932 4009 3883 3674 + 19905 3674 3905 3732 4098 + 19906 3905 3674 4006 4098 + 19907 4098 3732 3674 3932 + 19908 3674 3932 4009 4098 + 19909 3674 3735 4006 4101 + 19910 3674 3883 3735 4101 + 19911 4009 4101 3883 3674 + 19912 4215 4009 3674 4101 + 19913 3674 4215 4006 4098 + 19914 4215 3674 4006 4101 + 19915 4215 3674 4009 4098 + 19916 4040 3675 3767 4118 + 19917 3767 3934 4118 3675 + 19918 3842 4118 3934 3675 + 19919 4040 3842 3675 4118 + 19920 3675 3768 3842 4129 + 19921 3842 4129 4040 3675 + 19922 4040 3767 3675 4180 + 19923 4180 3965 3767 3675 + 19924 3930 4180 3675 3965 + 19925 4255 4040 4129 3675 + 19926 4040 3675 4255 4180 + 19927 3768 4255 3675 3930 + 19928 3675 4255 3768 4129 + 19929 3675 4255 4180 3930 + 19930 3769 3844 4042 3676 + 19931 3769 4042 3843 3676 + 19932 3678 3943 3907 3845 + 19933 3907 3945 3679 3769 + 19934 3679 3907 4043 3945 + 19935 3769 4130 3945 3679 + 19936 3679 4130 4216 3769 + 19937 3679 4216 3843 3769 + 19938 4130 4216 4282 3679 + 19939 3945 4130 4282 3679 + 19940 3945 4282 4043 3679 + 19941 3680 3910 3847 4021 + 19942 3910 3680 3774 4021 + 19943 3680 4133 3774 4021 + 19944 3846 4133 3774 3680 + 19945 4021 4218 3680 4133 + 19946 3944 3680 4218 3846 + 19947 3944 3680 3847 4218 + 19948 3847 4218 3680 4021 + 19949 4218 3680 4133 3846 + 19950 3681 3846 3770 4132 + 19951 3681 4134 3771 3914 + 19952 3945 3966 4217 3681 + 19953 3770 4217 3966 3681 + 19954 3681 4132 3770 4217 + 19955 4220 4134 3681 3914 + 19956 4220 4134 4045 3681 + 19957 4220 3681 3774 3914 + 19958 3681 4217 4045 4283 + 19959 3681 4132 4217 4283 + 19960 3681 4283 3846 4132 + 19961 3681 3846 4283 3774 + 19962 3681 4283 4220 3774 + 19963 4220 4045 4283 3681 + 19964 4322 3945 4217 3681 + 19965 4322 3681 4134 3771 + 19966 4045 4322 3681 4134 + 19967 4045 4217 3681 4322 + 19968 4322 3681 3771 3945 + 19969 3682 3914 3771 3848 + 19970 3946 3914 3773 3682 + 19971 3682 3946 3914 3848 + 19972 3772 3848 3682 4130 + 19973 4130 3682 3772 3844 + 19974 3682 4130 3848 3771 + 19975 4130 3769 3682 3844 + 19976 3945 4130 3682 3771 + 19977 3945 3769 3682 4130 + 19978 3914 3773 3683 3946 + 19979 4048 3850 3773 3683 + 19980 4048 3683 3773 3946 + 19981 3914 3774 4220 3683 + 19982 4049 4220 3774 3683 + 19983 4049 3683 3774 4224 + 19984 4048 4224 3850 3683 + 19985 3683 3850 3774 4224 + 19986 3946 4286 4048 3683 + 19987 3683 4048 4139 4286 + 19988 3946 3914 4286 3683 + 19989 3683 4220 3914 4323 + 19990 4049 4139 4323 3683 + 19991 3914 4323 4286 3683 + 19992 3683 4049 4220 4323 + 19993 3683 4139 4323 4286 + 19994 4049 4139 3683 4324 + 19995 4224 4049 3683 4324 + 19996 4224 3683 4048 4324 + 19997 4048 3683 4139 4324 + 19998 3908 3684 3743 3931 + 19999 3908 4020 3684 3931 + 20000 3931 3743 4108 3684 + 20001 4194 3684 3743 3943 + 20002 4108 3743 4194 3684 + 20003 4263 3684 4108 4194 + 20004 3931 4108 4263 3684 + 20005 3931 4020 3684 4263 + 20006 3911 4015 3847 3685 + 20007 3685 4021 3847 3748 + 20008 4198 3851 3748 3685 + 20009 3685 4198 4021 3748 + 20010 3847 3685 4015 4218 + 20011 3847 3685 4218 4021 + 20012 3911 3685 3851 4285 + 20013 4198 4050 4285 3685 + 20014 4198 4285 3851 3685 + 20015 4325 4218 3685 4021 + 20016 4325 4198 4021 3685 + 20017 4050 3685 4198 4325 + 20018 4050 4343 3685 4325 + 20019 3911 4343 3685 4285 + 20020 4325 3685 4218 4343 + 20021 4015 3685 3911 4343 + 20022 4015 4218 3685 4343 + 20023 4285 4343 3685 4050 + 20024 3686 3779 4051 3917 + 20025 3917 4051 3686 3778 + 20026 3947 4052 3687 3915 + 20027 3915 4052 3687 3776 + 20028 4140 3775 3853 3687 + 20029 3947 3687 4052 4140 + 20030 3947 3853 3687 4140 + 20031 3749 3688 3921 3855 + 20032 3688 3854 3775 4053 + 20033 3688 3775 3853 4053 + 20034 3853 4053 3921 3688 + 20035 4053 4227 3921 3688 + 20036 3855 3688 3921 4227 + 20037 3688 3778 3854 4227 + 20038 4053 3854 4227 3688 + 20039 3688 3855 3778 4227 + 20040 3916 3689 4142 3969 + 20041 4142 3853 3689 3777 + 20042 3916 3777 4142 3689 + 20043 3689 3969 3958 4230 + 20044 3689 4142 3969 4230 + 20045 4290 4230 3689 3958 + 20046 4290 3689 3921 3958 + 20047 3689 4290 3921 3853 + 20048 3689 4142 4290 3853 + 20049 4230 4142 4290 3689 + 20050 3912 3690 3849 3946 + 20051 3946 3690 3849 4048 + 20052 4048 3690 3849 3913 + 20053 3690 4137 3912 3780 + 20054 3690 3912 4137 3946 + 20055 4138 3948 3690 3913 + 20056 4048 3690 3913 4138 + 20057 3690 4137 4223 3946 + 20058 3946 4223 3690 4048 + 20059 4232 3690 4055 4138 + 20060 3948 3690 4232 4138 + 20061 4232 3690 3948 3780 + 20062 3690 4055 4293 4232 + 20063 4137 4293 3690 4223 + 20064 4137 3780 3690 4293 + 20065 3690 4293 3780 4232 + 20066 4329 4055 4293 3690 + 20067 3690 4329 4223 4293 + 20068 3690 4329 4055 4345 + 20069 4345 4223 3690 4329 + 20070 4048 3690 4345 4223 + 20071 3690 4055 4138 4345 + 20072 4345 3690 4048 4138 + 20073 3857 3781 3960 3691 + 20074 3691 3960 3863 3781 + 20075 3691 3863 4057 3781 + 20076 3691 3897 4084 3807 + 20077 3691 3781 4057 4084 + 20078 3807 4084 3691 3970 + 20079 3691 3897 3781 4084 + 20080 4233 3691 4084 3970 + 20081 3970 4233 3691 3863 + 20082 4233 3863 4057 3691 + 20083 4233 4057 4084 3691 + 20084 3835 3897 3692 3759 + 20085 3692 3760 3836 3898 + 20086 3835 3759 3692 3898 + 20087 3960 3692 3781 3857 + 20088 3760 3857 3692 4082 + 20089 3960 3692 3857 4082 + 20090 3692 3836 3760 4082 + 20091 3835 3897 4208 3692 + 20092 3835 3898 3692 4208 + 20093 3960 3692 4082 4274 + 20094 3897 4274 4208 3692 + 20095 3692 3781 4274 3960 + 20096 3897 3781 4274 3692 + 20097 3692 3836 4311 3898 + 20098 4082 4274 3692 4311 + 20099 3692 4311 3836 4082 + 20100 4208 4274 4311 3692 + 20101 4311 3692 3898 4208 + 20102 3693 3734 3815 3881 + 20103 3693 3734 3881 3839 + 20104 3693 4005 3734 3839 + 20105 3734 3693 4100 4005 + 20106 3734 4100 3693 3815 + 20107 3733 3693 3881 4184 + 20108 3881 3839 4184 3693 + 20109 3839 3693 4005 4312 + 20110 4312 4100 3693 4005 + 20111 3693 4184 4312 3839 + 20112 3782 4058 3694 3858 + 20113 4058 3858 3956 3694 + 20114 3956 4145 3694 3783 + 20115 4058 4145 3694 3956 + 20116 3694 4295 3782 3918 + 20117 3783 4295 4145 3694 + 20118 3694 3783 4295 3918 + 20119 3694 3782 4295 4058 + 20120 3694 4295 4145 4058 + 20121 3800 3918 3695 4077 + 20122 4295 3782 3918 3695 + 20123 3918 4077 4295 3695 + 20124 4332 3695 3859 3782 + 20125 4332 4295 4077 3695 + 20126 4295 4332 3782 3695 + 20127 3981 3953 3796 3696 + 20128 3712 3983 3796 3696 + 20129 3696 4059 3953 3783 + 20130 3796 4076 3981 3696 + 20131 3983 3796 3696 4076 + 20132 3712 3983 3696 4077 + 20133 3918 3712 3696 4077 + 20134 3983 3696 4235 4076 + 20135 4077 3696 4235 3983 + 20136 3918 3783 4295 3696 + 20137 4295 4235 3696 4059 + 20138 4295 3696 3783 4059 + 20139 3696 4077 4235 4295 + 20140 3918 4295 4077 3696 + 20141 4297 3953 3696 4059 + 20142 3981 4297 3953 3696 + 20143 4297 3696 3981 4076 + 20144 4297 4235 3696 4076 + 20145 4235 4297 3696 4059 + 20146 3956 3697 4145 3783 + 20147 4145 3783 3697 3953 + 20148 4167 3953 3697 3870 + 20149 3697 3919 4167 3797 + 20150 4167 3697 3797 3870 + 20151 4333 3919 4167 3697 + 20152 4333 3697 3953 4145 + 20153 4333 4167 3953 3697 + 20154 3956 4145 3697 4347 + 20155 4145 3697 4347 4333 + 20156 4347 3919 3697 3785 + 20157 3785 4347 3956 3697 + 20158 3919 4347 3697 4333 + 20159 3861 3698 3955 3785 + 20160 3954 3968 3761 3698 + 20161 3968 3698 4334 3861 + 20162 3698 3784 4334 3955 + 20163 4334 3698 3968 3954 + 20164 3698 4334 3861 3955 + 20165 4334 3784 3698 3954 + 20166 3699 3920 3957 4058 + 20167 4058 3699 3920 3858 + 20168 3901 3858 3699 4125 + 20169 3699 4125 3858 4058 + 20170 4058 3699 4125 3957 + 20171 4277 3699 3967 3957 + 20172 3967 3699 4277 3901 + 20173 3901 3699 4277 4125 + 20174 3957 4277 3699 4125 + 20175 3899 3864 3700 3786 + 20176 3786 3967 3864 3700 + 20177 3950 3967 3766 3700 + 20178 3950 3864 3967 3700 + 20179 3700 3968 3899 3786 + 20180 3899 3761 3968 3700 + 20181 3718 3989 3923 3701 + 20182 3701 3989 3923 4153 + 20183 3701 3923 3788 4153 + 20184 3701 3863 3989 4153 + 20185 3701 3970 4153 3788 + 20186 4153 3701 3863 3970 + 20187 3989 4247 3701 3718 + 20188 4247 3989 3701 3863 + 20189 3701 4247 3863 3873 + 20190 4247 3718 3873 3701 + 20191 3971 3976 3872 3702 + 20192 3702 3865 4079 3872 + 20193 3976 3702 4079 3872 + 20194 3702 3971 3976 4083 + 20195 3971 4083 3702 3923 + 20196 3702 4079 3865 4170 + 20197 3702 4083 4300 3923 + 20198 4065 4300 3923 3702 + 20199 4154 3702 4065 4339 + 20200 4170 4339 3865 3702 + 20201 4154 4170 3702 4339 + 20202 3865 3702 4339 3923 + 20203 4065 4339 3702 3923 + 20204 3702 4340 4079 4170 + 20205 4155 4340 3976 3702 + 20206 4079 3702 3976 4340 + 20207 4155 3976 4341 3702 + 20208 4341 3702 3976 4083 + 20209 3702 4300 4083 4341 + 20210 4351 4341 3702 4155 + 20211 4351 3702 4340 4155 + 20212 4351 4065 4154 3702 + 20213 4341 4351 3702 4300 + 20214 4351 4340 3702 4170 + 20215 4351 4154 4170 3702 + 20216 4065 3702 4351 4300 + 20217 3703 3868 3926 3791 + 20218 3703 3972 3868 3791 + 20219 3703 3866 3972 4066 + 20220 3791 4066 3703 3972 + 20221 3924 4066 3866 3703 + 20222 3867 3789 3925 3704 + 20223 3704 3925 3867 3792 + 20224 3925 3789 3972 3704 + 20225 3704 3972 3925 3868 + 20226 3975 3706 4069 4160 + 20227 3975 4160 4241 3706 + 20228 4159 4241 3791 3706 + 20229 3975 4241 4159 3706 + 20230 3791 4241 4160 3706 + 20231 4158 3707 3789 3867 + 20232 3707 3973 4158 3789 + 20233 3798 3708 3926 3978 + 20234 3927 3797 3709 4073 + 20235 3709 3797 3870 4073 + 20236 3710 3979 3793 4069 + 20237 3710 3869 3982 4072 + 20238 3710 4072 3794 3869 + 20239 3978 4072 3794 3710 + 20240 3710 3869 4074 3982 + 20241 3979 4074 4163 3710 + 20242 3710 4074 4163 3982 + 20243 3710 4163 3979 4069 + 20244 4244 3710 3978 4069 + 20245 3710 4244 4163 4069 + 20246 4072 4244 3710 3978 + 20247 3982 4301 4163 3710 + 20248 4244 4163 4301 3710 + 20249 3710 3982 4301 4072 + 20250 3710 4301 4244 4072 + 20251 4076 3981 3795 3711 + 20252 3796 3981 4076 3711 + 20253 3796 3983 3711 4076 + 20254 3712 3800 3983 4077 + 20255 3800 3712 3918 4077 + 20256 3980 3922 3713 3860 + 20257 3799 3713 3985 3873 + 20258 4071 3713 3799 3962 + 20259 3713 4071 3799 3985 + 20260 4071 3798 3713 3962 + 20261 4168 3922 3985 3713 + 20262 3713 4168 4071 3985 + 20263 4168 3798 3713 4071 + 20264 3713 3798 4168 3980 + 20265 3713 3980 4168 3922 + 20266 4079 3801 3715 3871 + 20267 3872 3865 4079 3715 + 20268 4079 3715 3865 3871 + 20269 3961 3871 3716 3986 + 20270 3961 3802 4080 3716 + 20271 3961 4080 3986 3716 + 20272 3717 3961 3802 3987 + 20273 3717 3961 3987 4172 + 20274 3717 4172 3875 3970 + 20275 3717 3961 4172 3970 + 20276 3717 3987 3875 4172 + 20277 3718 4078 3799 3977 + 20278 3718 3799 4078 3873 + 20279 4083 3923 3971 3718 + 20280 4083 3989 3923 3718 + 20281 3718 3971 4246 3977 + 20282 3718 4246 4083 3989 + 20283 3971 4246 4083 3718 + 20284 3718 4246 4078 3977 + 20285 3718 4078 4246 3989 + 20286 3718 3989 4247 4078 + 20287 3718 4078 4247 3873 + 20288 3807 3720 4084 3949 + 20289 4084 3949 3720 4174 + 20290 4084 3720 3877 4174 + 20291 3875 3720 3949 4174 + 20292 3876 3721 3992 3804 + 20293 3804 3721 3992 4085 + 20294 3928 3722 3993 3805 + 20295 3928 3993 3722 3830 + 20296 4177 3993 3722 3804 + 20297 3993 3830 4177 3722 + 20298 4089 3963 3724 3896 + 20299 4089 3724 3963 3928 + 20300 4089 3806 3724 3928 + 20301 3724 3806 4089 3935 + 20302 3935 3724 3896 4089 + 20303 3808 3878 3930 3725 + 20304 3995 3878 3725 3930 + 20305 3995 3725 4091 3930 + 20306 3808 3930 4091 3725 + 20307 3725 3995 4091 4179 + 20308 3725 4179 3882 3995 + 20309 4179 3882 3809 3725 + 20310 3879 4179 3809 3725 + 20311 4179 4091 3725 3879 + 20312 3997 3879 3726 4181 + 20313 4252 3997 3726 4181 + 20314 3941 3726 4181 4252 + 20315 3941 3726 4252 3817 + 20316 3999 3727 4253 3880 + 20317 3999 4253 3727 3852 + 20318 4253 3727 3809 3880 + 20319 3951 3879 4253 3727 + 20320 3879 3809 4253 3727 + 20321 3951 4253 3852 3727 + 20322 3882 3809 3728 3998 + 20323 3998 3809 3728 3880 + 20324 3729 3942 3813 4000 + 20325 4183 3812 3929 3730 + 20326 3811 4001 3731 3903 + 20327 3839 3942 4096 3731 + 20328 3839 4096 3903 3731 + 20329 4096 3841 3731 3942 + 20330 4001 4096 3731 3903 + 20331 4096 4001 3731 3841 + 20332 4098 3814 3732 3932 + 20333 3732 4098 4003 3814 + 20334 4003 3732 3905 4098 + 20335 3733 3881 3810 4184 + 20336 3733 3810 4094 4184 + 20337 3903 4005 3839 3734 + 20338 4100 3815 3734 4004 + 20339 3903 4187 4005 3734 + 20340 3734 4187 4100 4004 + 20341 3734 4005 4100 4187 + 20342 3734 3938 4187 4004 + 20343 3938 3734 4187 3834 + 20344 3816 3883 4101 3735 + 20345 3816 4101 4188 3735 + 20346 4006 4188 3735 3884 + 20347 4101 4006 4188 3735 + 20348 3819 4188 3884 3735 + 20349 3736 3886 3825 4008 + 20350 4008 4102 3736 3886 + 20351 3888 4008 4102 3736 + 20352 4102 3888 3736 4007 + 20353 3932 3832 3737 3964 + 20354 3932 3964 3737 3883 + 20355 4104 3821 4012 3739 + 20356 4191 3739 3819 4104 + 20357 3820 4012 3739 4191 + 20358 4191 4012 3739 4104 + 20359 3740 4013 3824 3889 + 20360 3911 3741 4014 3851 + 20361 4014 3885 3741 3821 + 20362 3741 4106 3911 4014 + 20363 3741 3821 4106 4014 + 20364 3742 3944 3847 4015 + 20365 3847 3742 4015 3911 + 20366 3823 4107 3944 3742 + 20367 3742 4107 3944 4015 + 20368 3742 4015 4258 4107 + 20369 4258 3820 3742 4107 + 20370 3742 4258 3911 3820 + 20371 3911 3742 4015 4258 + 20372 3743 4108 3823 3931 + 20373 4105 4191 3744 3819 + 20374 4013 3824 4259 3744 + 20375 3888 3744 4259 3824 + 20376 4105 3744 4259 3888 + 20377 4105 3744 4191 4259 + 20378 3744 4013 4191 4259 + 20379 3745 3825 3886 4110 + 20380 4110 3745 4195 3886 + 20381 4018 3746 3940 3886 + 20382 3939 4111 3826 3746 + 20383 3939 4261 4111 3746 + 20384 3940 3831 3746 4261 + 20385 3940 4261 3746 4018 + 20386 3892 4261 3939 3746 + 20387 4261 3746 4018 4111 + 20388 3892 3831 4261 3746 + 20389 3747 3824 4109 3889 + 20390 3747 4109 4019 3889 + 20391 4196 4112 4019 3747 + 20392 4197 4019 4112 3747 + 20393 4019 3747 4197 4109 + 20394 3747 4197 4109 4259 + 20395 3747 4109 3824 4259 + 20396 4259 3824 3747 3888 + 20397 4196 4308 4112 3747 + 20398 4197 4112 4308 3747 + 20399 4308 3888 4259 3747 + 20400 4197 4308 4259 3747 + 20401 3748 3847 3910 4021 + 20402 3748 3910 3850 4021 + 20403 3958 3850 4113 3748 + 20404 4021 4113 3850 3748 + 20405 3748 3969 4113 3958 + 20406 3851 3748 3969 4198 + 20407 4198 4113 3748 3969 + 20408 4021 4113 3748 4198 + 20409 3917 3855 3749 3948 + 20410 3749 4022 3958 3913 + 20411 3913 4022 3948 3749 + 20412 4022 3749 3855 3948 + 20413 3749 4114 3921 3958 + 20414 3921 3855 4114 3749 + 20415 3749 4022 4114 3958 + 20416 4022 4114 3855 3749 + 20417 4023 3862 3959 3750 + 20418 4092 3750 3951 4023 + 20419 4092 3822 3750 3959 + 20420 4092 3959 3750 4023 + 20421 3992 4176 3751 3876 + 20422 3751 3939 4176 3826 + 20423 3939 3751 4176 3876 + 20424 3752 3811 3894 4001 + 20425 3828 4199 3752 3891 + 20426 3752 4199 3828 4095 + 20427 3752 4199 4095 4001 + 20428 3752 3894 4199 4001 + 20429 3890 3753 3842 3934 + 20430 3890 3753 4200 3842 + 20431 4095 4200 3890 3753 + 20432 3841 3753 4266 4095 + 20433 4095 4266 4200 3753 + 20434 3841 3906 4266 3753 + 20435 4266 3842 4200 3753 + 20436 4266 3906 3842 3753 + 20437 3754 3936 3898 3835 + 20438 4025 3754 3936 3895 + 20439 3891 3754 4201 4025 + 20440 3754 3936 4201 4025 + 20441 3835 3754 3936 4201 + 20442 3828 3933 4026 3755 + 20443 4116 3755 4027 4201 + 20444 4201 3891 4116 3755 + 20445 3755 4117 4202 4026 + 20446 4027 3755 4202 3829 + 20447 3755 4202 3933 4026 + 20448 3755 3829 3933 4202 + 20449 3755 4203 4117 4026 + 20450 4027 3755 4116 4203 + 20451 4116 4265 4203 3755 + 20452 3828 4026 4265 3755 + 20453 3891 4265 3755 3828 + 20454 4265 3755 4116 3891 + 20455 4265 4026 4203 3755 + 20456 4027 3755 4203 4268 + 20457 4203 3755 4117 4268 + 20458 4027 3755 4268 4202 + 20459 3755 4117 4268 4202 + 20460 3832 3932 3756 4024 + 20461 4099 3756 4186 4024 + 20462 3932 3756 4024 4186 + 20463 3756 3814 4186 3932 + 20464 3756 4186 3814 4099 + 20465 4099 4269 3756 4024 + 20466 3831 3757 3892 4028 + 20467 4088 3893 3757 3830 + 20468 4028 4088 3893 3757 + 20469 4177 3757 4028 3892 + 20470 4177 4088 4028 3757 + 20471 4088 3757 4177 3830 + 20472 3833 3758 4030 3894 + 20473 3758 4030 4097 3834 + 20474 3894 3811 3758 4097 + 20475 3894 3758 4030 4097 + 20476 4082 3760 3922 3836 + 20477 3761 3899 3968 3954 + 20478 3763 3901 4035 3952 + 20479 4035 3763 3952 4124 + 20480 4034 4124 3837 3763 + 20481 4124 3763 3952 3900 + 20482 3837 4124 3900 3763 + 20483 3763 4211 4035 3901 + 20484 3763 4124 4035 4211 + 20485 3838 3763 3901 4211 + 20486 3763 4211 3902 4034 + 20487 3763 4034 4124 4211 + 20488 3838 3902 3763 4211 + 20489 3840 3902 3765 3937 + 20490 3838 3765 3902 3937 + 20491 3840 3937 3765 4121 + 20492 4272 3938 3765 3840 + 20493 4121 4272 3765 3840 + 20494 4272 3765 3938 3834 + 20495 3937 3967 3838 3766 + 20496 3937 3967 3766 4121 + 20497 3766 3950 4121 3967 + 20498 3767 4118 3934 4003 + 20499 3767 3965 4128 3905 + 20500 3767 3965 4180 4128 + 20501 3767 4180 4040 4128 + 20502 4003 3905 3767 4281 + 20503 4118 4281 3767 4040 + 20504 3905 3767 4281 4128 + 20505 4281 4118 3767 4003 + 20506 4128 4040 3767 4281 + 20507 4002 3768 3906 3813 + 20508 4002 3906 3768 3842 + 20509 4002 3768 4129 3842 + 20510 4254 3813 3768 4002 + 20511 4182 3768 4254 3813 + 20512 3768 4255 3930 4182 + 20513 3768 4318 4002 4129 + 20514 3768 4254 4002 4318 + 20515 4254 4318 3768 4182 + 20516 3768 4318 4255 4182 + 20517 4129 3768 4318 4255 + 20518 3907 3845 3945 3769 + 20519 4042 3844 3769 4130 + 20520 4042 3769 4216 4130 + 20521 4216 4042 3843 3769 + 20522 3770 4132 3846 3909 + 20523 4132 3909 3770 4016 + 20524 4132 3770 4217 4016 + 20525 4016 3770 4217 3966 + 20526 3771 3848 4046 4130 + 20527 3914 3848 4134 3771 + 20528 3848 4046 4221 3771 + 20529 4134 3848 4221 3771 + 20530 4322 4134 4221 3771 + 20531 3945 4322 4130 3771 + 20532 4322 4221 4046 3771 + 20533 3771 4046 4322 4130 + 20534 4130 3844 3772 4042 + 20535 3772 3848 4137 3912 + 20536 3848 3772 4222 4130 + 20537 3772 4137 3848 4222 + 20538 4287 3772 4130 4222 + 20539 4287 3772 4042 4130 + 20540 3849 4048 3773 3946 + 20541 4048 3913 3849 3773 + 20542 3773 3850 4048 3913 + 20543 3910 3774 3850 4021 + 20544 3774 4133 4220 4049 + 20545 3850 3774 4224 4021 + 20546 4283 4220 3774 4133 + 20547 4133 4283 3846 3774 + 20548 3774 4289 4224 4021 + 20549 4133 4021 4289 3774 + 20550 4224 3774 4049 4289 + 20551 4133 4289 4049 3774 + 20552 3775 4053 4140 3853 + 20553 4141 3999 3776 3852 + 20554 3852 3915 3776 4141 + 20555 4052 3776 3915 4141 + 20556 3915 3777 3947 3862 + 20557 4142 3947 3853 3777 + 20558 3862 4142 3777 3947 + 20559 4142 3862 3777 3916 + 20560 4051 3855 3778 3917 + 20561 3778 4292 3855 4051 + 20562 3778 4292 4227 3855 + 20563 4143 3917 4051 3779 + 20564 4143 3856 3917 3779 + 20565 4231 3779 3856 4143 + 20566 4231 4051 3779 4143 + 20567 4143 3856 3780 3948 + 20568 4231 4143 3856 3780 + 20569 3780 4056 4231 4143 + 20570 4143 3780 4232 3948 + 20571 4346 4293 3780 4056 + 20572 3780 4346 4056 4143 + 20573 4346 3780 4293 4232 + 20574 3780 4346 4143 4232 + 20575 3781 4057 4144 3863 + 20576 3781 4144 3960 3863 + 20577 3781 4084 3897 4207 + 20578 4057 3781 4144 4207 + 20579 3781 4057 4084 4207 + 20580 3781 4274 4144 4207 + 20581 4144 3960 4274 3781 + 20582 3897 4274 3781 4207 + 20583 4036 3782 3859 3952 + 20584 3782 3952 4058 3858 + 20585 4036 3782 3952 4234 + 20586 3782 3952 4234 4058 + 20587 4295 4058 3782 4234 + 20588 4295 3782 4332 4234 + 20589 4332 4036 4234 3782 + 20590 4332 3859 4036 3782 + 20591 4145 3953 4059 3783 + 20592 4295 3783 4145 4059 + 20593 3980 3954 3860 3784 + 20594 4072 3794 3955 3784 + 20595 3955 4334 4072 3784 + 20596 3980 3784 4072 4334 + 20597 4334 3980 3784 3954 + 20598 4060 3785 3920 3861 + 20599 3861 4060 3785 4165 + 20600 3861 3785 3955 4165 + 20601 3785 4347 3919 4165 + 20602 3956 4347 3785 3920 + 20603 4165 3785 4347 4060 + 20604 3785 3920 4347 4060 + 20605 3786 3957 3861 4060 + 20606 3786 4146 4060 3861 + 20607 3786 4147 3957 4060 + 20608 3864 4148 3786 4210 + 20609 3899 4210 3864 3786 + 20610 4210 4148 3786 4061 + 20611 3786 4146 4237 4060 + 20612 3786 4237 4147 4060 + 20613 4061 3786 4237 4147 + 20614 4061 4146 4237 3786 + 20615 4061 4148 3786 4238 + 20616 4061 3786 4147 4238 + 20617 3864 3786 4148 4238 + 20618 4061 4276 4146 3786 + 20619 3899 4210 3786 4276 + 20620 4276 3861 3786 3968 + 20621 3786 4276 4146 3861 + 20622 4210 3786 4276 4061 + 20623 3899 3786 3968 4276 + 20624 4330 3967 3864 3786 + 20625 4238 3864 3786 4330 + 20626 4330 3957 3967 3786 + 20627 4330 3786 4238 4147 + 20628 4330 3957 3786 4147 + 20629 3895 3936 4025 3787 + 20630 4031 3787 4123 3936 + 20631 3864 4205 3787 3950 + 20632 3787 4148 4205 3864 + 20633 3787 3950 4205 3895 + 20634 4205 3787 3895 4025 + 20635 3787 4210 4148 3864 + 20636 3899 3787 4210 4031 + 20637 3787 4210 3864 3899 + 20638 3787 4123 4210 4031 + 20639 3787 3936 4025 4275 + 20640 4275 4123 3787 3936 + 20641 4210 4148 4338 3787 + 20642 4338 4123 4210 3787 + 20643 4338 4275 4123 3787 + 20644 4350 4275 3787 4025 + 20645 4338 4275 3787 4350 + 20646 3787 4338 4350 4148 + 20647 3787 4350 4205 4148 + 20648 4350 3787 4205 4025 + 20649 3788 3961 3970 4172 + 20650 3788 3970 4153 4172 + 20651 4339 4172 3961 3788 + 20652 4339 3865 3788 3961 + 20653 3865 3788 3923 4339 + 20654 4339 4153 4172 3788 + 20655 4153 3788 4339 3923 + 20656 3972 3925 4068 3789 + 20657 3867 4068 3925 3789 + 20658 4068 3789 3973 4157 + 20659 4157 4068 3789 3972 + 20660 4157 3866 3972 3789 + 20661 4068 4158 3973 3789 + 20662 4068 3789 3867 4158 + 20663 4161 3972 4066 3791 + 20664 3868 3791 3972 4161 + 20665 3868 3926 3791 4161 + 20666 3791 4241 3926 4160 + 20667 3791 4241 4159 4066 + 20668 4161 4066 4241 3791 + 20669 4241 3926 4161 3791 + 20670 3955 3869 3794 4072 + 20671 4076 3795 3981 4166 + 20672 4073 3981 3795 4166 + 20673 3796 3870 3953 3981 + 20674 3797 3927 3984 4073 + 20675 4167 3870 3797 4073 + 20676 3797 3984 4167 4073 + 20677 4245 3919 3927 3797 + 20678 4167 3984 3797 4245 + 20679 4167 3797 3919 4245 + 20680 4245 3927 3984 3797 + 20681 3798 3926 4071 3978 + 20682 3962 3926 4071 3798 + 20683 3798 4168 3980 4072 + 20684 4302 4168 4071 3798 + 20685 3798 4302 4168 4072 + 20686 3798 3978 4302 4072 + 20687 3798 4302 3978 4071 + 20688 3977 3962 4071 3799 + 20689 3873 3799 4078 3985 + 20690 4169 3799 4078 3977 + 20691 3985 3799 4078 4169 + 20692 4169 4071 3799 3977 + 20693 4071 3799 3985 4169 + 20694 3802 3961 4080 3987 + 20695 3802 4080 4171 3987 + 20696 3993 3804 4086 4175 + 20697 3804 3939 4086 4176 + 20698 3804 3876 3939 4176 + 20699 3992 3876 3804 4176 + 20700 4177 3939 4086 3804 + 20701 4086 3804 3993 4177 + 20702 4176 4086 3804 4250 + 20703 4085 4250 3992 3804 + 20704 3804 4086 4175 4250 + 20705 3804 4175 4085 4250 + 20706 4176 3804 3992 4250 + 20707 4174 3805 4087 3990 + 20708 3993 4087 3805 4175 + 20709 3805 4175 4087 3990 + 20710 3993 3805 4087 4251 + 20711 4174 4251 4087 3805 + 20712 4174 3877 4251 3805 + 20713 3928 3993 4251 3805 + 20714 3877 4251 3805 3928 + 20715 3897 3994 3806 3935 + 20716 3994 3877 4084 3806 + 20717 3806 4084 3994 3897 + 20718 3994 3806 3935 4089 + 20719 4251 3806 4089 3928 + 20720 3877 4251 3928 3806 + 20721 3877 3994 4251 3806 + 20722 4251 4089 3806 3994 + 20723 3807 3949 4084 3970 + 20724 4180 4091 3808 3930 + 20725 4180 3808 3965 3930 + 20726 3998 3809 3880 4093 + 20727 3882 4179 3809 3998 + 20728 3998 4179 3809 4093 + 20729 4179 4093 4253 3809 + 20730 4253 3809 4093 3880 + 20731 4253 3809 3879 4179 + 20732 4184 3881 3810 4000 + 20733 4094 4184 3810 4000 + 20734 3811 4097 4001 3903 + 20735 3894 4001 3811 4097 + 20736 4090 4183 3812 3929 + 20737 4002 3906 3942 3813 + 20738 4000 3813 4185 3942 + 20739 3942 3813 4185 4002 + 20740 4254 4185 3813 4002 + 20741 4254 3813 4000 4183 + 20742 3813 4185 4254 4000 + 20743 3929 3813 4254 4183 + 20744 4254 3813 3929 4182 + 20745 4003 4186 4099 3814 + 20746 4098 4186 3814 3932 + 20747 4186 4003 4098 3814 + 20748 4101 3816 3964 3883 + 20749 3816 4101 4007 4188 + 20750 3816 4101 3964 4189 + 20751 4189 3816 4101 4007 + 20752 4010 3817 3884 4103 + 20753 3941 3817 4252 4103 + 20754 4252 3885 4010 3817 + 20755 3817 4252 4103 4010 + 20756 3884 4104 4011 3819 + 20757 3819 4011 4188 4105 + 20758 3884 4011 4188 3819 + 20759 3819 4105 4191 4011 + 20760 3819 4191 4104 4011 + 20761 3820 4012 4258 3911 + 20762 4191 3820 4258 4013 + 20763 3820 4107 4258 4013 + 20764 3820 4258 4012 4191 + 20765 4014 4192 3885 3821 + 20766 4192 4106 3821 4014 + 20767 4010 3821 3885 4192 + 20768 4106 4192 3821 4306 + 20769 4012 4306 3821 4104 + 20770 4306 4012 3821 4106 + 20771 4192 3821 4306 4010 + 20772 4010 3821 4306 4104 + 20773 3959 4092 3822 4192 + 20774 4192 3822 3885 4252 + 20775 4092 4252 3822 4192 + 20776 3909 4017 3944 3823 + 20777 4107 4017 3823 3944 + 20778 3909 4108 4017 3823 + 20779 4017 3823 4108 4193 + 20780 4017 4107 3823 4193 + 20781 3931 3823 4193 4108 + 20782 4109 3889 3824 4013 + 20783 4013 4109 4259 3824 + 20784 4008 3886 3825 4110 + 20785 4176 4111 3826 3939 + 20786 3908 4020 3931 3827 + 20787 4262 4020 3827 3931 + 20788 4262 3827 3889 3931 + 20789 3828 4026 3933 3890 + 20790 4026 3890 3828 4095 + 20791 4265 4095 3828 4199 + 20792 4095 3828 4026 4265 + 20793 4265 3828 3891 4199 + 20794 4269 3896 4027 3829 + 20795 4027 4202 4269 3829 + 20796 3928 4088 3830 3963 + 20797 3830 3893 3963 4088 + 20798 3993 4088 3830 3928 + 20799 4088 4177 3993 3830 + 20800 3964 4204 3831 3940 + 20801 3940 3831 4261 4204 + 20802 4204 4028 3831 4261 + 20803 3831 4028 3892 4261 + 20804 3832 4115 3932 4024 + 20805 3932 4115 3832 3964 + 20806 3832 4115 4204 3964 + 20807 3832 4115 4270 4204 + 20808 4270 3832 4204 3893 + 20809 3832 4270 4115 4024 + 20810 4030 4205 3950 3833 + 20811 3833 3895 4205 3950 + 20812 4025 3833 4205 3894 + 20813 4030 4205 3833 3894 + 20814 4205 4025 3895 3833 + 20815 4272 3938 4187 3834 + 20816 3834 4030 4097 4272 + 20817 4097 3834 4272 4187 + 20818 4027 3835 3935 4122 + 20819 4122 3935 3897 3835 + 20820 3835 4201 3936 4033 + 20821 3835 3936 3898 4208 + 20822 3835 4033 3936 4208 + 20823 4122 3897 4208 3835 + 20824 4310 4201 4027 3835 + 20825 4208 3835 4310 4122 + 20826 4310 4027 4122 3835 + 20827 4033 3835 4201 4310 + 20828 4033 4310 4208 3835 + 20829 3836 4209 3922 4082 + 20830 3836 3922 4209 3954 + 20831 3836 4031 3899 4209 + 20832 3836 4209 3899 3954 + 20833 3936 4311 3836 3898 + 20834 4209 3836 4031 4311 + 20835 4082 4311 3836 4209 + 20836 3836 4311 3936 4031 + 20837 3937 3838 4211 3902 + 20838 3838 3901 4277 4211 + 20839 3838 4211 4277 3937 + 20840 3937 3838 3967 4277 + 20841 3967 4277 3838 3901 + 20842 4184 3839 3881 4000 + 20843 3839 4278 4005 3903 + 20844 4096 4278 3839 3903 + 20845 4278 4312 4184 3839 + 20846 3839 4005 4278 4312 + 20847 4000 3839 4313 4184 + 20848 3839 4313 4278 4096 + 20849 4313 4278 4184 3839 + 20850 3839 4096 3942 4313 + 20851 3839 3942 4000 4313 + 20852 3840 4126 4034 4211 + 20853 3840 4211 4034 3902 + 20854 3840 4121 4211 3937 + 20855 3937 4211 3840 3902 + 20856 3840 4121 4037 4211 + 20857 4213 4038 4126 3840 + 20858 4121 4037 4272 3840 + 20859 4038 3840 4279 4126 + 20860 4279 4126 3840 4211 + 20861 3840 4037 4279 4211 + 20862 4314 3938 3840 4213 + 20863 4314 4213 3840 4038 + 20864 4038 3840 4314 4279 + 20865 4314 3938 4272 3840 + 20866 4314 4272 4037 3840 + 20867 4314 4037 4279 3840 + 20868 4096 3906 3841 3942 + 20869 4266 3841 4096 3906 + 20870 4096 4317 4001 3841 + 20871 4317 3841 4096 4266 + 20872 4317 3841 4266 4095 + 20873 4001 4095 3841 4317 + 20874 3842 4002 3906 4266 + 20875 3842 4118 4267 3934 + 20876 3890 4200 4267 3842 + 20877 3842 4041 4267 4118 + 20878 3842 4267 3890 3934 + 20879 4267 4200 4041 3842 + 20880 3842 4041 4118 4319 + 20881 4041 4319 3842 4200 + 20882 4129 3842 4319 4002 + 20883 3842 4266 4200 4319 + 20884 4129 3842 4040 4319 + 20885 3842 4002 4266 4319 + 20886 4319 4118 3842 4040 + 20887 3945 3845 3907 3966 + 20888 3966 3845 3907 3943 + 20889 3944 3846 4132 3909 + 20890 3846 4044 4283 4219 + 20891 3846 4283 4044 4132 + 20892 4133 4283 4219 3846 + 20893 3944 4218 4284 3846 + 20894 4284 4132 3944 3846 + 20895 4284 4044 4132 3846 + 20896 4133 4219 4284 3846 + 20897 3846 4284 4044 4219 + 20898 4218 4133 4284 3846 + 20899 3944 3847 4015 4218 + 20900 3848 3946 4137 3912 + 20901 3848 3946 4047 4137 + 20902 3848 4136 4221 4046 + 20903 3848 4136 4222 4047 + 20904 3848 4222 4046 4130 + 20905 4136 3848 4222 4046 + 20906 4137 4047 3848 4222 + 20907 3848 4047 4286 4136 + 20908 3848 4286 4221 4136 + 20909 4286 3914 3848 4134 + 20910 3914 3946 4286 3848 + 20911 3848 3946 4286 4047 + 20912 4286 3848 4221 4134 + 20913 3850 3958 4113 3913 + 20914 4113 4224 3850 3913 + 20915 3850 4224 4048 3913 + 20916 4021 3850 4113 4224 + 20917 3911 4014 4285 3851 + 20918 3969 3916 3851 4285 + 20919 3959 3916 4285 3851 + 20920 4198 3851 4285 3969 + 20921 4014 4285 3851 3959 + 20922 4141 3999 3852 4226 + 20923 3852 4226 3915 4141 + 20924 4226 3852 3915 3951 + 20925 4253 3852 4226 3951 + 20926 3999 4226 4253 3852 + 20927 3853 3947 4054 4140 + 20928 4142 4054 3853 3947 + 20929 3853 4054 4228 4140 + 20930 3853 4053 4140 4228 + 20931 3853 4053 4228 4290 + 20932 3853 4228 4054 4290 + 20933 3853 3921 4053 4290 + 20934 4142 4054 4290 3853 + 20935 3948 4143 3917 3855 + 20936 4051 3855 3917 4143 + 20937 3855 4227 3921 4114 + 20938 4143 4292 4051 3855 + 20939 4292 4227 3855 4114 + 20940 4114 3855 4292 4328 + 20941 4022 3855 4328 3948 + 20942 3948 4328 4143 3855 + 20943 4143 4328 4292 3855 + 20944 4114 3855 4328 4022 + 20945 3856 3917 3948 4143 + 20946 4058 3920 3956 3858 + 20947 4058 4125 3858 3952 + 20948 3858 4125 3901 3952 + 20949 4036 3859 3900 3952 + 20950 3980 3954 3922 3860 + 20951 3861 3920 4060 3957 + 20952 4060 4146 4165 3861 + 20953 4334 3955 4165 3861 + 20954 3968 4334 4276 3861 + 20955 4334 4165 4146 3861 + 20956 4146 3861 4276 4334 + 20957 3862 4229 4142 3947 + 20958 4291 3862 3915 3947 + 20959 4291 4229 3862 3947 + 20960 3862 4151 4291 4023 + 20961 4229 3862 4151 4291 + 20962 3862 4291 3915 4023 + 20963 4327 4151 4229 3862 + 20964 4327 4229 4142 3862 + 20965 4327 4142 3916 3862 + 20966 4327 4151 3862 4344 + 20967 4023 4344 3959 3862 + 20968 3862 3916 4327 4344 + 20969 4023 4151 4344 3862 + 20970 3959 4344 3916 3862 + 20971 3970 4153 4233 3863 + 20972 4144 4247 3960 3863 + 20973 3863 3873 4247 3960 + 20974 4153 4233 3863 4299 + 20975 4153 3863 3989 4299 + 20976 3863 4233 4337 4299 + 20977 3863 4057 4144 4337 + 20978 3863 4233 4057 4337 + 20979 3863 4337 4247 3989 + 20980 4247 4144 4337 3863 + 20981 4337 3989 3863 4299 + 20982 4148 4294 3864 4238 + 20983 4205 3864 4148 4294 + 20984 4205 3950 3864 4294 + 20985 4294 3864 4238 4330 + 20986 3950 4330 3864 4294 + 20987 3967 4330 3864 3950 + 20988 3961 3865 3871 3986 + 20989 4170 3871 4079 3865 + 20990 3986 3871 4170 3865 + 20991 3961 3865 3986 4339 + 20992 4170 3865 4339 3986 + 20993 3974 4066 3866 3924 + 20994 3972 3866 4157 4066 + 20995 3974 4157 3866 4066 + 20996 3976 3867 4068 3925 + 20997 4158 4068 4242 3867 + 20998 4068 3867 3976 4242 + 20999 4070 3868 3925 3972 + 21000 4070 4161 3868 3972 + 21001 4070 3868 4161 3962 + 21002 4161 3962 3868 3926 + 21003 4164 4074 3927 3869 + 21004 4164 3869 3982 4074 + 21005 3869 3927 4164 4075 + 21006 4075 3869 3982 4164 + 21007 4072 3869 3982 4165 + 21008 3869 3982 4165 4075 + 21009 3955 4165 3869 4072 + 21010 4073 4167 3870 3981 + 21011 3953 3870 4167 3981 + 21012 3873 4078 4247 3985 + 21013 3873 3985 4247 3960 + 21014 3988 4173 3874 4081 + 21015 3874 4173 3990 4081 + 21016 3991 3970 3949 3875 + 21017 3991 4172 3970 3875 + 21018 3875 4174 3949 3991 + 21019 3875 4248 4174 3991 + 21020 4172 3875 3991 4248 + 21021 4248 3875 4174 4081 + 21022 4172 3987 3875 4248 + 21023 4248 3987 3875 4081 + 21024 4174 3877 4084 4303 + 21025 4251 4174 4303 3877 + 21026 4303 3877 4084 3994 + 21027 4303 4251 3877 3994 + 21028 4182 3878 3929 3995 + 21029 3930 3995 3878 4182 + 21030 3879 3951 4253 3997 + 21031 4181 3997 3879 4304 + 21032 3997 3879 4304 4253 + 21033 4304 3879 4181 4091 + 21034 3879 4304 4179 4091 + 21035 4304 3879 4179 4253 + 21036 3999 4253 4093 3880 + 21037 4256 3998 4179 3882 + 21038 3995 3882 4256 4179 + 21039 4090 4256 3995 3882 + 21040 4009 3964 3932 3883 + 21041 4101 3964 4009 3883 + 21042 4257 4010 3884 4103 + 21043 4011 4257 3884 4188 + 21044 4104 4257 4010 3884 + 21045 4257 4104 4011 3884 + 21046 4257 3884 4305 4103 + 21047 4305 3884 4257 4188 + 21048 4006 3884 4103 4305 + 21049 4006 4188 3884 4305 + 21050 4192 3885 4010 4252 + 21051 4110 4195 4008 3886 + 21052 4260 3886 4008 4195 + 21053 4008 4260 4102 3886 + 21054 4260 3886 3940 4102 + 21055 4018 3940 4260 3886 + 21056 4308 4008 4102 3888 + 21057 4105 4259 4342 3888 + 21058 3888 4342 4007 4102 + 21059 3888 4342 4308 4259 + 21060 4342 4102 3888 4308 + 21061 4342 3888 4007 4105 + 21062 4013 4193 4109 3889 + 21063 3889 4109 4019 4262 + 21064 4193 3889 3931 4262 + 21065 4109 3889 4193 4262 + 21066 3890 4095 4026 4200 + 21067 4026 3890 4200 4267 + 21068 4199 4116 4025 3891 + 21069 3891 4116 4025 4201 + 21070 4199 4265 4116 3891 + 21071 4086 3892 3939 4177 + 21072 4028 4086 4177 3892 + 21073 4028 4261 4086 3892 + 21074 4261 3939 4086 3892 + 21075 4029 3893 4088 3963 + 21076 3893 4028 4204 4088 + 21077 4088 4204 3893 4270 + 21078 3893 4270 4029 4088 + 21079 4120 4025 3894 4199 + 21080 4120 4030 3894 4205 + 21081 4205 3894 4120 4025 + 21082 3894 4199 4271 4120 + 21083 3894 4271 4199 4001 + 21084 4001 4309 4097 3894 + 21085 3894 4097 4030 4309 + 21086 4001 4271 4309 3894 + 21087 3894 4030 4120 4309 + 21088 4120 4309 4271 3894 + 21089 4089 4029 3963 3896 + 21090 4089 3896 3935 4206 + 21091 4206 3896 3935 4027 + 21092 4089 4029 3896 4206 + 21093 4206 3896 4027 4269 + 21094 4269 4206 3896 4029 + 21095 3897 4207 4084 3994 + 21096 3897 4122 4208 4032 + 21097 3897 4032 4207 4273 + 21098 3897 4207 3994 4273 + 21099 4273 3994 3897 3935 + 21100 3897 4273 4122 4032 + 21101 3897 4122 4273 3935 + 21102 3897 4032 4274 4207 + 21103 4208 4274 3897 4032 + 21104 4311 3898 3936 4208 + 21105 4209 3968 3899 3954 + 21106 4031 3899 4276 4210 + 21107 4209 4031 3899 4276 + 21108 3968 4276 4209 3899 + 21109 4124 3952 4036 3900 + 21110 3901 4035 3952 4125 + 21111 4125 4277 3901 4035 + 21112 4277 3901 4035 4211 + 21113 3903 4187 4097 4005 + 21114 4001 4212 4096 3903 + 21115 4001 4212 3903 4097 + 21116 3903 4097 4212 4005 + 21117 4212 4096 3903 4278 + 21118 4005 3903 4278 4212 + 21119 3904 4004 4213 3938 + 21120 3905 3941 3965 4128 + 21121 4190 3905 4006 4098 + 21122 3905 4190 3941 4128 + 21123 3905 4190 4281 4098 + 21124 4003 4098 3905 4281 + 21125 3905 4281 4190 4128 + 21126 3942 3906 4002 4096 + 21127 4266 4096 4002 3906 + 21128 3945 3966 3907 4043 + 21129 4131 3907 3966 4043 + 21130 3966 3907 4131 3943 + 21131 4017 4132 3909 3944 + 21132 3909 4132 4017 4320 + 21133 4016 3909 4108 4320 + 21134 4016 4132 3909 4320 + 21135 3909 4017 4108 4320 + 21136 4258 3911 4106 4015 + 21137 4106 4258 4012 3911 + 21138 4285 3911 4106 4014 + 21139 3911 4106 4343 4285 + 21140 3911 4343 4106 4015 + 21141 4022 4225 3913 3948 + 21142 4138 3913 4225 3948 + 21143 3913 4138 4225 4288 + 21144 4048 3913 4288 4138 + 21145 4113 4288 4224 3913 + 21146 3913 4113 4288 3958 + 21147 4288 4048 4224 3913 + 21148 4022 3913 4288 3958 + 21149 3913 4225 4022 4288 + 21150 4323 3914 4134 4220 + 21151 4286 4323 3914 4134 + 21152 4226 3915 4023 3951 + 21153 4052 3915 4291 4141 + 21154 4291 3915 4226 4141 + 21155 3947 3915 4291 4052 + 21156 4023 3915 4226 4291 + 21157 4327 4142 3969 3916 + 21158 3969 4327 3916 4285 + 21159 4344 3916 4285 3959 + 21160 3916 4327 4344 4285 + 21161 3919 3927 4075 4245 + 21162 4167 4333 4245 3919 + 21163 4245 4347 4075 3919 + 21164 4075 4347 4165 3919 + 21165 4245 4333 4347 3919 + 21166 4236 3957 3920 4058 + 21167 4236 3957 4060 3920 + 21168 4058 4236 4347 3920 + 21169 4058 4347 3956 3920 + 21170 4236 4060 4347 3920 + 21171 3921 4063 4114 4227 + 21172 4227 4053 3921 4149 + 21173 3921 4149 4063 4227 + 21174 3921 4063 4149 4290 + 21175 3921 4149 4053 4290 + 21176 4290 3921 4114 3958 + 21177 3921 4114 4063 4290 + 21178 3922 4168 4152 3980 + 21179 3922 4152 4209 4334 + 21180 4334 3922 4152 3980 + 21181 4334 3922 3954 4209 + 21182 4334 3922 3980 3954 + 21183 4168 4152 4349 3922 + 21184 4168 4349 3985 3922 + 21185 4349 4152 4209 3922 + 21186 4349 3922 4209 4082 + 21187 4082 3985 4349 3922 + 21188 4156 3923 3989 4299 + 21189 4156 4065 3923 4299 + 21190 4153 3989 3923 4299 + 21191 4300 3989 3923 4083 + 21192 4156 4300 3923 4065 + 21193 3923 4156 3989 4300 + 21194 4153 4339 4299 3923 + 21195 4299 4339 4065 3923 + 21196 4068 3925 4162 3976 + 21197 3925 4162 3976 3971 + 21198 3925 4162 3971 4070 + 21199 3972 4068 3925 4243 + 21200 3925 4162 4070 4243 + 21201 3925 4162 4243 4068 + 21202 3925 3972 4243 4070 + 21203 3926 4160 4071 3978 + 21204 4161 4071 3962 3926 + 21205 3926 4241 4161 4071 + 21206 3926 4160 4241 4071 + 21207 3984 4164 3927 4075 + 21208 4075 3927 3984 4245 + 21209 3928 4178 4088 3963 + 21210 3963 4089 3928 4178 + 21211 4178 4088 3993 3928 + 21212 4178 3928 3993 4251 + 21213 4251 4089 4178 3928 + 21214 4254 3929 4183 4090 + 21215 4090 3929 3995 4254 + 21216 4182 3929 4254 3995 + 21217 3995 4182 3930 4091 + 21218 4180 4255 4091 3930 + 21219 4091 3930 4255 4182 + 21220 4193 4262 3931 4020 + 21221 4263 3931 4020 4193 + 21222 4108 3931 4263 4193 + 21223 4115 3932 4009 3964 + 21224 4115 3932 4264 4009 + 21225 4024 4115 3932 4264 + 21226 4098 4186 3932 4264 + 21227 4009 3932 4264 4098 + 21228 3932 4186 4024 4264 + 21229 4003 4118 3934 4267 + 21230 3935 4122 4206 4027 + 21231 3935 4273 4089 4206 + 21232 3994 3935 4273 4089 + 21233 3935 4122 4273 4206 + 21234 4025 4275 3936 4201 + 21235 4275 3936 4201 4033 + 21236 4275 4033 4123 3936 + 21237 4123 3936 4311 4031 + 21238 4311 3936 4033 4208 + 21239 4311 4123 4033 3936 + 21240 4121 4277 4211 3937 + 21241 3967 3937 4277 4121 + 21242 4004 3938 4314 4213 + 21243 4187 3938 4272 4314 + 21244 4187 4004 3938 4314 + 21245 3939 4176 4261 4086 + 21246 4176 4261 4111 3939 + 21247 4189 4039 3964 3940 + 21248 4039 4102 3940 4189 + 21249 4204 3940 4039 4127 + 21250 3964 4039 4204 3940 + 21251 4039 4214 3940 4102 + 21252 4214 4260 3940 4102 + 21253 4214 4260 4018 3940 + 21254 3940 4261 4127 4204 + 21255 3940 4127 4261 4018 + 21256 4214 4018 4280 3940 + 21257 4039 4214 4280 3940 + 21258 4280 4039 3940 4127 + 21259 4280 4127 3940 4018 + 21260 3996 4180 3941 4128 + 21261 4128 3965 4180 3941 + 21262 4181 3941 4252 4316 + 21263 4190 3941 4128 4316 + 21264 3996 3941 4316 4128 + 21265 3941 3996 4316 4181 + 21266 3941 4252 4316 4103 + 21267 4190 4103 3941 4316 + 21268 3942 4185 4096 4002 + 21269 4000 4185 4313 3942 + 21270 4096 4313 4185 3942 + 21271 4131 4016 3966 3943 + 21272 4131 4016 3943 4194 + 21273 4017 4284 4132 3944 + 21274 4107 3944 4321 4017 + 21275 4107 4015 4321 3944 + 21276 3944 4017 4284 4321 + 21277 3944 4015 4321 4218 + 21278 4321 4218 4284 3944 + 21279 4043 4135 3945 4217 + 21280 4043 4217 3945 3966 + 21281 4135 4043 3945 4282 + 21282 4322 3945 4135 4217 + 21283 4135 4282 3945 4322 + 21284 4130 3945 4282 4322 + 21285 3946 4137 4223 4047 + 21286 4286 3946 4223 4047 + 21287 4286 4223 3946 4048 + 21288 4142 4229 4054 3947 + 21289 4052 3947 4326 4291 + 21290 4326 3947 4229 4291 + 21291 4326 3947 4140 4054 + 21292 4052 4140 4326 3947 + 21293 4054 3947 4229 4326 + 21294 4328 4143 4232 3948 + 21295 4022 4328 4225 3948 + 21296 4138 4225 4328 3948 + 21297 3948 4232 4328 4138 + 21298 3991 4084 3949 3970 + 21299 3949 4174 4084 3991 + 21300 4205 4030 3950 4294 + 21301 4121 4030 4294 3950 + 21302 4121 4330 3967 3950 + 21303 3950 4121 4330 4294 + 21304 4226 4253 3951 4331 + 21305 3951 4023 4226 4331 + 21306 4331 4253 3951 3997 + 21307 3997 3951 4331 4092 + 21308 4092 3951 4331 4023 + 21309 4125 4234 3952 4058 + 21310 4234 4036 4296 3952 + 21311 3952 4296 4035 4124 + 21312 3952 4125 4296 4234 + 21313 3952 4036 4296 4124 + 21314 3952 4035 4296 4125 + 21315 3953 4167 4297 3981 + 21316 4297 3953 4059 4167 + 21317 4333 3953 4167 4059 + 21318 4333 3953 4059 4145 + 21319 4334 3954 3968 4209 + 21320 4072 3955 4165 4334 + 21321 3956 4058 4145 4347 + 21322 4062 4236 4125 3957 + 21323 4058 4125 4236 3957 + 21324 4060 4147 3957 4236 + 21325 4062 4236 3957 4147 + 21326 3957 4062 4277 4125 + 21327 4277 3967 4330 3957 + 21328 4330 4062 4277 3957 + 21329 4062 3957 4330 4147 + 21330 3958 4113 4230 3969 + 21331 4290 4114 4335 3958 + 21332 4288 4335 4022 3958 + 21333 4335 4114 4022 3958 + 21334 4335 3958 4230 4290 + 21335 4348 4113 3958 4288 + 21336 4288 4348 4335 3958 + 21337 4230 3958 4335 4348 + 21338 4230 4113 3958 4348 + 21339 4192 3959 4336 4014 + 21340 4336 3959 4285 4014 + 21341 4023 3959 4344 4092 + 21342 4092 3959 4344 4192 + 21343 4344 4192 3959 4336 + 21344 4344 3959 4285 4336 + 21345 4082 3985 3960 4239 + 21346 3985 4247 3960 4239 + 21347 4144 3960 4247 4239 + 21348 4239 4144 3960 4274 + 21349 3960 4239 4274 4082 + 21350 3987 3961 4080 4172 + 21351 3961 3986 4080 4172 + 21352 4339 3961 4172 3986 + 21353 4070 3962 4161 3977 + 21354 3977 4071 3962 4161 + 21355 4029 4088 4178 3963 + 21356 3963 4029 4089 4178 + 21357 3964 4039 4189 4115 + 21358 4115 4204 3964 4039 + 21359 3964 4315 4101 4009 + 21360 4101 4189 4315 3964 + 21361 3964 4115 4315 4009 + 21362 4189 4115 4315 3964 + 21363 3966 4217 4016 4131 + 21364 4131 4043 3966 4217 + 21365 3967 4277 4330 4121 + 21366 4209 4276 3968 4334 + 21367 3969 4198 4064 4150 + 21368 4198 4064 4113 3969 + 21369 4064 4113 3969 4230 + 21370 4230 4298 4142 3969 + 21371 4230 4064 4298 3969 + 21372 3969 4064 4298 4150 + 21373 4198 4327 4150 3969 + 21374 4142 4298 4327 3969 + 21375 4298 4150 4327 3969 + 21376 4198 4285 4327 3969 + 21377 4153 3991 4172 3970 + 21378 3991 4233 4084 3970 + 21379 3970 4153 3991 4233 + 21380 3971 4162 3976 4083 + 21381 3971 4083 4246 4162 + 21382 3971 4246 4070 4162 + 21383 3977 3971 4246 4070 + 21384 4068 4243 3972 4157 + 21385 4161 4066 3972 4243 + 21386 3972 4157 4243 4066 + 21387 4161 4243 3972 4070 + 21388 4068 3973 4353 4157 + 21389 4240 4353 3973 4157 + 21390 4158 4353 4068 3973 + 21391 4159 3974 4066 4455 + 21392 4067 4457 4240 3974 + 21393 4546 4456 3974 4157 + 21394 4546 3974 4455 4066 + 21395 3974 4546 4157 4066 + 21396 4547 4457 4354 3974 + 21397 4240 4157 3974 4547 + 21398 4240 3974 4457 4547 + 21399 4547 4456 3974 4354 + 21400 4547 4456 4157 3974 + 21401 4456 3974 4354 4630 + 21402 4630 4456 3974 4546 + 21403 4630 3974 4455 4546 + 21404 4160 4069 3975 4244 + 21405 4069 4357 3975 4244 + 21406 4160 4459 4244 3975 + 21407 4459 4160 4241 3975 + 21408 3975 4244 4357 4459 + 21409 3975 4459 4548 4356 + 21410 3975 4357 4548 4459 + 21411 4159 4632 4241 3975 + 21412 3975 4632 4356 4159 + 21413 4459 4241 4632 3975 + 21414 4459 3975 4632 4356 + 21415 4079 3976 4242 4340 + 21416 3976 4341 4083 4162 + 21417 4068 4162 4355 3976 + 21418 4355 4341 4155 3976 + 21419 3976 4355 4341 4162 + 21420 4355 4155 4458 3976 + 21421 4068 4458 4242 3976 + 21422 4340 4242 4458 3976 + 21423 4355 4458 4068 3976 + 21424 4340 4458 4155 3976 + 21425 4169 3977 4078 4246 + 21426 4070 4161 4246 3977 + 21427 3977 4161 4246 4358 + 21428 3977 4071 4161 4358 + 21429 4169 4358 3977 4246 + 21430 4071 4358 3977 4169 + 21431 4244 3978 4160 4069 + 21432 4244 4160 3978 4302 + 21433 4244 4302 3978 4072 + 21434 3978 4160 4071 4302 + 21435 3980 4152 4334 4461 + 21436 3980 4168 4152 4461 + 21437 4334 4461 4072 3980 + 21438 4168 4072 4461 3980 + 21439 4166 3981 4076 4297 + 21440 4361 3981 4297 4167 + 21441 4361 4073 3981 4167 + 21442 4297 4361 4166 3981 + 21443 4166 4361 4073 3981 + 21444 4360 4072 4301 3982 + 21445 4360 4165 4072 3982 + 21446 4164 3982 4362 4074 + 21447 3982 4362 4074 4163 + 21448 4301 4362 3982 4163 + 21449 4164 4075 4463 3982 + 21450 4164 4463 4362 3982 + 21451 3982 4463 4362 4552 + 21452 3982 4301 4360 4552 + 21453 4552 4301 4362 3982 + 21454 3982 4360 4634 4552 + 21455 4634 3982 4463 4075 + 21456 4634 4165 4360 3982 + 21457 4634 4463 3982 4552 + 21458 3982 4165 4075 4634 + 21459 4167 4073 3984 4361 + 21460 3984 4164 4075 4363 + 21461 3984 4363 4075 4245 + 21462 3984 4361 4465 4167 + 21463 4167 3984 4245 4465 + 21464 4245 3984 4363 4465 + 21465 4247 3985 4078 4169 + 21466 4082 4349 3985 4239 + 21467 4168 4359 4071 3985 + 21468 4071 3985 4359 4169 + 21469 4239 4247 4466 3985 + 21470 4359 4466 4169 3985 + 21471 4247 4466 3985 4169 + 21472 3985 4466 4637 4359 + 21473 3985 4637 4168 4359 + 21474 3985 4349 4637 4239 + 21475 4349 4168 3985 4637 + 21476 4637 3985 4239 4466 + 21477 4170 4339 4154 3986 + 21478 4368 3986 4154 4339 + 21479 4368 4080 3986 4172 + 21480 4339 4172 4368 3986 + 21481 4081 3987 4171 4369 + 21482 3987 4081 4248 4369 + 21483 4172 3987 4467 4080 + 21484 3987 4248 4467 4369 + 21485 4467 4171 3987 4369 + 21486 4467 4171 4080 3987 + 21487 4172 3987 4248 4467 + 21488 4081 4369 3988 4173 + 21489 4081 4369 4171 3988 + 21490 4247 3989 4367 4078 + 21491 4367 4156 3989 4469 + 21492 4367 4469 3989 4247 + 21493 4337 4469 3989 4299 + 21494 4469 4156 3989 4299 + 21495 4337 3989 4469 4247 + 21496 4549 4367 4156 3989 + 21497 4367 4078 3989 4549 + 21498 4549 3989 4156 4300 + 21499 4549 4246 4078 3989 + 21500 4549 4083 4246 3989 + 21501 4300 4549 3989 4083 + 21502 4174 4081 3990 4248 + 21503 3990 4175 4087 4249 + 21504 4081 3990 4369 4173 + 21505 4369 4249 4173 3990 + 21506 3990 4081 4369 4248 + 21507 4369 4249 3990 4639 + 21508 4639 4174 3990 4248 + 21509 4249 3990 4639 4087 + 21510 4174 3990 4087 4639 + 21511 3990 4369 4639 4248 + 21512 4303 4084 4174 3991 + 21513 4468 4233 3991 4153 + 21514 4172 4468 3991 4153 + 21515 4084 4470 4233 3991 + 21516 4303 4470 4084 3991 + 21517 4470 3991 4303 4370 + 21518 4172 4248 3991 4555 + 21519 3991 4555 4468 4172 + 21520 4470 3991 4557 4233 + 21521 4470 4557 3991 4370 + 21522 3991 4557 4233 4468 + 21523 4639 3991 4303 4174 + 21524 4639 4370 4303 3991 + 21525 4370 4555 3991 4639 + 21526 4639 4248 3991 4174 + 21527 3991 4248 4639 4555 + 21528 4555 4468 4640 3991 + 21529 4555 4640 4370 3991 + 21530 4640 3991 4468 4557 + 21531 3991 4370 4557 4640 + 21532 3993 4087 4175 4373 + 21533 4251 4087 3993 4373 + 21534 3993 4086 4177 4374 + 21535 4177 3993 4374 4088 + 21536 4373 3993 4471 4175 + 21537 3993 4374 4471 4086 + 21538 3993 4471 4175 4086 + 21539 4251 3993 4558 4373 + 21540 4374 3993 4471 4558 + 21541 4558 4373 3993 4471 + 21542 4374 4088 3993 4558 + 21543 4178 3993 4088 4558 + 21544 4178 3993 4558 4251 + 21545 4371 4084 3994 4303 + 21546 4207 4084 3994 4371 + 21547 4303 4473 4251 3994 + 21548 4303 4371 4473 3994 + 21549 4473 3994 4273 4089 + 21550 4251 4473 4089 3994 + 21551 4273 4562 3994 4473 + 21552 3994 4562 4273 4207 + 21553 4562 4473 4371 3994 + 21554 3994 4371 4562 4207 + 21555 3995 4318 4254 4182 + 21556 3995 4318 4182 4091 + 21557 4377 3995 4091 4318 + 21558 4091 4179 3995 4377 + 21559 3995 4256 4377 4179 + 21560 4254 3995 4090 4475 + 21561 4318 4475 4377 3995 + 21562 4475 4090 4256 3995 + 21563 4318 4254 4475 3995 + 21564 4475 4256 4377 3995 + 21565 4255 3996 4180 4091 + 21566 4304 4181 3996 4091 + 21567 4180 4255 4380 3996 + 21568 4380 4128 4180 3996 + 21569 4380 4477 4128 3996 + 21570 4477 4316 4128 3996 + 21571 4316 3996 4477 4381 + 21572 4478 4316 3996 4181 + 21573 4478 3996 4381 4304 + 21574 4478 4181 3996 4304 + 21575 4316 4478 3996 4381 + 21576 3996 4091 4255 4564 + 21577 4304 4564 4091 3996 + 21578 3996 4255 4380 4564 + 21579 4304 4643 4564 3996 + 21580 4380 4643 3996 4564 + 21581 4643 3996 4304 4381 + 21582 4477 3996 4380 4643 + 21583 4477 4381 3996 4643 + 21584 4181 4478 3997 4304 + 21585 4331 3997 4092 4478 + 21586 4252 4478 3997 4181 + 21587 4478 3997 4092 4252 + 21588 3997 4304 4566 4253 + 21589 3997 4566 4304 4478 + 21590 4566 4253 4331 3997 + 21591 4566 3997 4331 4478 + 21592 4256 3998 4565 4179 + 21593 3998 4093 4565 4179 + 21594 4253 3999 4093 4384 + 21595 4253 4226 3999 4384 + 21596 4141 4384 3999 4226 + 21597 4481 4094 4000 4184 + 21598 4481 4000 4313 4184 + 21599 4000 4254 4183 4481 + 21600 4000 4094 4481 4183 + 21601 4000 4481 4313 4185 + 21602 4000 4185 4254 4481 + 21603 4095 4271 4001 4199 + 21604 4001 4309 4271 4212 + 21605 4001 4309 4212 4097 + 21606 4095 4317 4001 4271 + 21607 4386 4212 4096 4001 + 21608 4001 4386 4271 4317 + 21609 4386 4096 4317 4001 + 21610 4212 4386 4271 4001 + 21611 4388 4002 4096 4185 + 21612 4266 4388 4002 4096 + 21613 4319 4129 4002 4484 + 21614 4129 4002 4484 4318 + 21615 4570 4185 4254 4002 + 21616 4484 4002 4570 4318 + 21617 4002 4484 4570 4388 + 21618 4570 4254 4318 4002 + 21619 4002 4570 4185 4388 + 21620 4647 4484 4002 4388 + 21621 4002 4484 4647 4319 + 21622 4647 4388 4002 4266 + 21623 4647 4266 4002 4319 + 21624 4281 4390 4118 4003 + 21625 4098 4003 4390 4281 + 21626 4003 4098 4390 4186 + 21627 4003 4390 4118 4485 + 21628 4118 4485 4267 4003 + 21629 4003 4485 4267 4099 + 21630 4390 4485 4003 4571 + 21631 4003 4186 4571 4099 + 21632 4003 4571 4485 4099 + 21633 4186 4390 4003 4571 + 21634 4187 4100 4004 4314 + 21635 4100 4393 4004 4314 + 21636 4004 4393 4213 4314 + 21637 4005 4309 4187 4097 + 21638 4005 4212 4309 4097 + 21639 4187 4005 4100 4314 + 21640 4100 4314 4005 4393 + 21641 4212 4005 4394 4278 + 21642 4005 4212 4394 4309 + 21643 4100 4005 4487 4393 + 21644 4487 4100 4312 4005 + 21645 4394 4005 4572 4278 + 21646 4005 4572 4487 4394 + 21647 4005 4487 4572 4312 + 21648 4005 4572 4278 4312 + 21649 4573 4393 4487 4005 + 21650 4573 4005 4487 4394 + 21651 4573 4314 4393 4005 + 21652 4005 4394 4573 4309 + 21653 4187 4314 4573 4005 + 21654 4309 4187 4573 4005 + 21655 4190 4006 4391 4098 + 21656 4006 4391 4305 4103 + 21657 4190 4391 4006 4103 + 21658 4006 4098 4215 4391 + 21659 4006 4305 4391 4488 + 21660 4006 4101 4188 4488 + 21661 4488 4305 4188 4006 + 21662 4488 4391 4006 4215 + 21663 4006 4215 4101 4488 + 21664 4102 4007 4189 4342 + 21665 4395 4007 4105 4342 + 21666 4395 4189 4007 4342 + 21667 4189 4101 4395 4007 + 21668 4188 4101 4007 4395 + 21669 4188 4105 4395 4007 + 21670 4260 4398 4195 4008 + 21671 4196 4110 4398 4008 + 21672 4008 4110 4398 4195 + 21673 4008 4398 4196 4308 + 21674 4260 4489 4398 4008 + 21675 4008 4489 4398 4308 + 21676 4308 4008 4489 4102 + 21677 4489 4260 4102 4008 + 21678 4009 4264 4215 4098 + 21679 4115 4264 4315 4009 + 21680 4215 4315 4009 4101 + 21681 4009 4264 4315 4215 + 21682 4306 4010 4104 4257 + 21683 4383 4010 4257 4103 + 21684 4252 4103 4010 4383 + 21685 4306 4010 4257 4383 + 21686 4252 4010 4567 4383 + 21687 4306 4383 4567 4010 + 21688 4192 4306 4567 4010 + 21689 4567 4010 4252 4192 + 21690 4305 4257 4011 4188 + 21691 4395 4011 4105 4188 + 21692 4191 4011 4400 4104 + 21693 4395 4011 4188 4488 + 21694 4305 4488 4188 4011 + 21695 4491 4104 4400 4011 + 21696 4011 4395 4105 4575 + 21697 4011 4105 4191 4575 + 21698 4400 4575 4011 4191 + 21699 4400 4011 4575 4491 + 21700 4491 4651 4104 4011 + 21701 4651 4257 4104 4011 + 21702 4651 4305 4257 4011 + 21703 4305 4651 4488 4011 + 21704 4491 4011 4575 4700 + 21705 4395 4700 4011 4488 + 21706 4575 4011 4395 4700 + 21707 4700 4011 4488 4651 + 21708 4491 4651 4011 4700 + 21709 4191 4400 4012 4104 + 21710 4012 4191 4258 4400 + 21711 4104 4012 4306 4400 + 21712 4306 4576 4012 4106 + 21713 4258 4012 4400 4576 + 21714 4106 4012 4258 4576 + 21715 4576 4012 4400 4306 + 21716 4013 4401 4259 4109 + 21717 4109 4193 4013 4401 + 21718 4492 4258 4013 4191 + 21719 4258 4492 4013 4577 + 21720 4013 4577 4492 4401 + 21721 4577 4193 4401 4013 + 21722 4577 4107 4193 4013 + 21723 4258 4013 4107 4577 + 21724 4191 4013 4492 4652 + 21725 4652 4401 4259 4013 + 21726 4013 4492 4652 4401 + 21727 4013 4652 4191 4259 + 21728 4014 4285 4336 4106 + 21729 4192 4014 4336 4106 + 21730 4343 4015 4218 4321 + 21731 4403 4321 4015 4343 + 21732 4258 4015 4106 4576 + 21733 4403 4258 4576 4015 + 21734 4403 4576 4343 4015 + 21735 4343 4106 4015 4576 + 21736 4015 4258 4577 4403 + 21737 4321 4107 4577 4015 + 21738 4015 4577 4321 4403 + 21739 4258 4577 4107 4015 + 21740 4320 4016 4194 4108 + 21741 4016 4217 4405 4131 + 21742 4016 4405 4194 4131 + 21743 4194 4405 4016 4496 + 21744 4320 4194 4016 4496 + 21745 4016 4320 4496 4580 + 21746 4016 4496 4405 4580 + 21747 4580 4016 4320 4132 + 21748 4217 4405 4580 4016 + 21749 4132 4217 4580 4016 + 21750 4017 4108 4320 4193 + 21751 4132 4406 4017 4320 + 21752 4132 4017 4497 4284 + 21753 4017 4406 4132 4497 + 21754 4577 4193 4107 4017 + 21755 4107 4321 4577 4017 + 21756 4320 4193 4579 4017 + 21757 4320 4579 4406 4017 + 21758 4655 4017 4579 4193 + 21759 4577 4655 4193 4017 + 21760 4701 4406 4579 4017 + 21761 4701 4497 4406 4017 + 21762 4017 4579 4701 4655 + 21763 4731 4321 4284 4017 + 21764 4731 4284 4497 4017 + 21765 4731 4655 4577 4017 + 21766 4731 4701 4655 4017 + 21767 4701 4731 4497 4017 + 21768 4731 4577 4321 4017 + 21769 4280 4409 4018 4214 + 21770 4260 4018 4409 4214 + 21771 4260 4307 4409 4018 + 21772 4111 4307 4018 4498 + 21773 4111 4018 4261 4498 + 21774 4018 4307 4409 4498 + 21775 4018 4127 4261 4498 + 21776 4280 4498 4127 4018 + 21777 4018 4409 4280 4498 + 21778 4019 4197 4112 4499 + 21779 4581 4019 4499 4197 + 21780 4262 4019 4581 4109 + 21781 4109 4197 4019 4581 + 21782 4263 4020 4404 4193 + 21783 4193 4404 4262 4020 + 21784 4021 4113 4289 4224 + 21785 4113 4021 4289 4198 + 21786 4021 4325 4218 4133 + 21787 4133 4021 4325 4289 + 21788 4198 4021 4289 4411 + 21789 4198 4325 4021 4411 + 21790 4325 4289 4021 4411 + 21791 4114 4328 4225 4022 + 21792 4114 4335 4022 4225 + 21793 4335 4022 4225 4288 + 21794 4331 4023 4226 4413 + 21795 4023 4226 4413 4291 + 21796 4413 4151 4023 4291 + 21797 4331 4479 4092 4023 + 21798 4023 4092 4344 4479 + 21799 4413 4479 4331 4023 + 21800 4151 4344 4585 4023 + 21801 4151 4413 4023 4585 + 21802 4413 4585 4479 4023 + 21803 4023 4344 4585 4479 + 21804 4392 4099 4186 4024 + 21805 4024 4392 4269 4119 + 21806 4392 4269 4099 4024 + 21807 4024 4264 4186 4392 + 21808 4392 4586 4024 4264 + 21809 4115 4586 4024 4270 + 21810 4115 4024 4586 4264 + 21811 4024 4586 4660 4270 + 21812 4119 4660 4024 4392 + 21813 4586 4392 4024 4660 + 21814 4119 4660 4270 4024 + 21815 4025 4116 4275 4201 + 21816 4350 4205 4120 4025 + 21817 4503 4025 4275 4350 + 21818 4116 4025 4275 4503 + 21819 4503 4588 4025 4350 + 21820 4350 4120 4588 4025 + 21821 4116 4588 4025 4503 + 21822 4588 4116 4025 4199 + 21823 4120 4588 4025 4199 + 21824 4026 4267 4117 4202 + 21825 4026 4200 4414 4267 + 21826 4117 4414 4267 4026 + 21827 4026 4414 4200 4568 + 21828 4203 4265 4568 4026 + 21829 4203 4568 4117 4026 + 21830 4026 4200 4095 4568 + 21831 4026 4117 4414 4568 + 21832 4568 4095 4026 4265 + 21833 4206 4268 4027 4122 + 21834 4203 4268 4310 4027 + 21835 4027 4116 4201 4310 + 21836 4310 4027 4268 4122 + 21837 4027 4116 4310 4203 + 21838 4027 4268 4415 4202 + 21839 4269 4415 4202 4027 + 21840 4415 4027 4206 4268 + 21841 4206 4027 4415 4269 + 21842 4261 4204 4028 4127 + 21843 4028 4177 4086 4374 + 21844 4028 4177 4374 4088 + 21845 4474 4204 4028 4088 + 21846 4028 4088 4374 4474 + 21847 4028 4374 4591 4474 + 21848 4474 4591 4028 4204 + 21849 4591 4028 4204 4127 + 21850 4642 4028 4591 4127 + 21851 4374 4642 4086 4028 + 21852 4642 4261 4028 4127 + 21853 4261 4086 4642 4028 + 21854 4374 4642 4028 4591 + 21855 4269 4119 4206 4029 + 21856 4119 4029 4376 4206 + 21857 4029 4089 4178 4376 + 21858 4376 4029 4089 4206 + 21859 4376 4474 4178 4029 + 21860 4178 4029 4474 4088 + 21861 4474 4029 4270 4088 + 21862 4592 4270 4474 4029 + 21863 4376 4592 4474 4029 + 21864 4029 4376 4592 4119 + 21865 4029 4270 4119 4592 + 21866 4205 4120 4030 4294 + 21867 4120 4309 4030 4389 + 21868 4120 4294 4389 4030 + 21869 4121 4389 4030 4272 + 21870 4309 4097 4030 4389 + 21871 4389 4294 4121 4030 + 21872 4272 4030 4097 4389 + 21873 4031 4276 4123 4210 + 21874 4209 4123 4031 4276 + 21875 4209 4031 4123 4311 + 21876 4274 4144 4207 4032 + 21877 4122 4032 4273 4419 + 21878 4421 4144 4274 4032 + 21879 4208 4510 4274 4032 + 21880 4032 4274 4421 4510 + 21881 4419 4511 4032 4562 + 21882 4562 4419 4273 4032 + 21883 4562 4273 4207 4032 + 21884 4593 4208 4032 4510 + 21885 4593 4032 4511 4421 + 21886 4419 4122 4032 4593 + 21887 4510 4421 4032 4593 + 21888 4122 4208 4032 4593 + 21889 4032 4511 4419 4593 + 21890 4032 4144 4207 4667 + 21891 4032 4421 4144 4667 + 21892 4511 4667 4421 4032 + 21893 4562 4207 4667 4032 + 21894 4562 4667 4511 4032 + 21895 4033 4201 4275 4310 + 21896 4275 4420 4033 4310 + 21897 4208 4033 4420 4310 + 21898 4510 4311 4033 4208 + 21899 4510 4033 4420 4208 + 21900 4123 4311 4033 4510 + 21901 4420 4594 4033 4510 + 21902 4123 4033 4594 4510 + 21903 4420 4594 4275 4033 + 21904 4275 4033 4594 4123 + 21905 4211 4126 4034 4424 + 21906 4211 4034 4124 4424 + 21907 4211 4124 4035 4424 + 21908 4424 4124 4035 4296 + 21909 4211 4424 4035 4513 + 21910 4277 4035 4513 4211 + 21911 4513 4424 4035 4597 + 21912 4277 4597 4035 4125 + 21913 4597 4035 4296 4424 + 21914 4035 4513 4597 4277 + 21915 4035 4296 4125 4597 + 21916 4211 4279 4330 4037 + 21917 4211 4330 4121 4037 + 21918 4294 4121 4330 4037 + 21919 4272 4037 4389 4314 + 21920 4389 4037 4121 4294 + 21921 4121 4037 4389 4272 + 21922 4314 4389 4708 4037 + 21923 4314 4708 4279 4037 + 21924 4389 4732 4037 4294 + 21925 4037 4732 4389 4708 + 21926 4294 4330 4732 4037 + 21927 4279 4732 4330 4037 + 21928 4037 4279 4732 4708 + 21929 4314 4393 4213 4038 + 21930 4393 4515 4038 4314 + 21931 4038 4598 4279 4426 + 21932 4279 4038 4126 4598 + 21933 4708 4038 4279 4426 + 21934 4515 4038 4708 4426 + 21935 4038 4515 4708 4314 + 21936 4038 4314 4708 4279 + 21937 4396 4039 4102 4214 + 21938 4102 4189 4039 4396 + 21939 4039 4115 4397 4189 + 21940 4039 4204 4127 4417 + 21941 4280 4039 4417 4214 + 21942 4039 4127 4280 4417 + 21943 4039 4189 4490 4396 + 21944 4039 4397 4490 4189 + 21945 4115 4502 4204 4039 + 21946 4502 4204 4039 4417 + 21947 4502 4115 4397 4039 + 21948 4396 4599 4039 4214 + 21949 4599 4417 4039 4214 + 21950 4039 4396 4490 4599 + 21951 4671 4417 4039 4599 + 21952 4671 4502 4397 4039 + 21953 4599 4490 4039 4671 + 21954 4502 4039 4671 4417 + 21955 4671 4397 4490 4039 + 21956 4380 4255 4040 4129 + 21957 4380 4040 4255 4180 + 21958 4380 4128 4040 4180 + 21959 4129 4380 4507 4040 + 21960 4129 4040 4507 4319 + 21961 4040 4319 4118 4507 + 21962 4663 4040 4281 4118 + 21963 4040 4118 4663 4507 + 21964 4380 4128 4710 4040 + 21965 4663 4507 4710 4040 + 21966 4710 4663 4040 4281 + 21967 4710 4507 4380 4040 + 21968 4710 4040 4128 4281 + 21969 4414 4041 4267 4200 + 21970 4414 4267 4041 4485 + 21971 4485 4118 4267 4041 + 21972 4507 4041 4319 4118 + 21973 4041 4518 4319 4647 + 21974 4200 4041 4319 4647 + 21975 4485 4663 4118 4041 + 21976 4507 4663 4041 4118 + 21977 4414 4041 4703 4603 + 21978 4041 4703 4518 4647 + 21979 4041 4603 4518 4703 + 21980 4414 4703 4041 4200 + 21981 4200 4041 4647 4703 + 21982 4414 4041 4737 4485 + 21983 4737 4603 4041 4414 + 21984 4737 4041 4663 4485 + 21985 4663 4507 4041 4744 + 21986 4744 4041 4737 4603 + 21987 4319 4744 4518 4041 + 21988 4744 4603 4518 4041 + 21989 4319 4744 4041 4507 + 21990 4663 4041 4737 4744 + 21991 4287 4042 4216 4130 + 21992 4043 4520 4135 4217 + 21993 4131 4520 4043 4217 + 21994 4283 4430 4044 4132 + 21995 4132 4497 4044 4284 + 21996 4497 4132 4044 4580 + 21997 4430 4044 4132 4580 + 21998 4283 4430 4607 4044 + 21999 4044 4283 4219 4607 + 22000 4677 4044 4430 4580 + 22001 4044 4580 4677 4497 + 22002 4677 4430 4044 4713 + 22003 4497 4044 4713 4677 + 22004 4044 4219 4713 4607 + 22005 4044 4607 4713 4430 + 22006 4713 4284 4219 4044 + 22007 4044 4284 4497 4713 + 22008 4045 4429 4217 4322 + 22009 4283 4217 4045 4430 + 22010 4521 4217 4430 4045 + 22011 4429 4521 4045 4217 + 22012 4283 4607 4430 4045 + 22013 4045 4608 4429 4322 + 22014 4608 4045 4429 4521 + 22015 4608 4322 4045 4134 + 22016 4045 4220 4283 4678 + 22017 4134 4678 4220 4045 + 22018 4608 4134 4045 4678 + 22019 4607 4283 4678 4045 + 22020 4715 4430 4045 4521 + 22021 4608 4715 4045 4521 + 22022 4607 4678 4715 4045 + 22023 4608 4045 4715 4678 + 22024 4715 4430 4607 4045 + 22025 4130 4222 4046 4428 + 22026 4136 4222 4434 4046 + 22027 4519 4130 4046 4428 + 22028 4130 4046 4322 4519 + 22029 4222 4428 4524 4046 + 22030 4046 4222 4434 4524 + 22031 4434 4046 4525 4136 + 22032 4136 4525 4221 4046 + 22033 4428 4609 4524 4046 + 22034 4519 4046 4609 4428 + 22035 4221 4046 4525 4681 + 22036 4681 4322 4046 4519 + 22037 4221 4322 4046 4681 + 22038 4717 4046 4519 4681 + 22039 4717 4609 4046 4524 + 22040 4609 4046 4519 4717 + 22041 4717 4434 4046 4525 + 22042 4717 4046 4434 4524 + 22043 4525 4046 4717 4681 + 22044 4136 4434 4222 4047 + 22045 4329 4612 4047 4437 + 22046 4612 4047 4223 4329 + 22047 4612 4286 4223 4047 + 22048 4612 4136 4286 4047 + 22049 4613 4223 4047 4329 + 22050 4613 4222 4434 4047 + 22051 4613 4223 4137 4047 + 22052 4329 4047 4613 4437 + 22053 4047 4613 4437 4527 + 22054 4137 4613 4047 4222 + 22055 4527 4047 4613 4434 + 22056 4047 4437 4612 4682 + 22057 4682 4527 4434 4047 + 22058 4047 4527 4437 4682 + 22059 4612 4136 4047 4682 + 22060 4682 4434 4136 4047 + 22061 4139 4223 4286 4048 + 22062 4224 4324 4048 4288 + 22063 4139 4345 4223 4048 + 22064 4345 4324 4048 4139 + 22065 4048 4345 4288 4324 + 22066 4048 4288 4345 4138 + 22067 4289 4348 4049 4224 + 22068 4049 4348 4324 4224 + 22069 4220 4049 4432 4323 + 22070 4323 4139 4049 4432 + 22071 4139 4324 4049 4432 + 22072 4432 4049 4220 4133 + 22073 4348 4289 4049 4528 + 22074 4049 4289 4133 4605 + 22075 4528 4605 4289 4049 + 22076 4049 4676 4133 4432 + 22077 4049 4133 4676 4605 + 22078 4324 4348 4049 4683 + 22079 4348 4049 4683 4528 + 22080 4432 4049 4683 4324 + 22081 4719 4432 4049 4683 + 22082 4528 4683 4719 4049 + 22083 4528 4719 4605 4049 + 22084 4719 4432 4676 4049 + 22085 4719 4676 4605 4049 + 22086 4050 4150 4198 4327 + 22087 4050 4198 4285 4327 + 22088 4411 4198 4050 4150 + 22089 4198 4050 4325 4411 + 22090 4050 4343 4325 4433 + 22091 4343 4050 4493 4433 + 22092 4343 4050 4285 4493 + 22093 4050 4325 4530 4433 + 22094 4530 4325 4050 4411 + 22095 4050 4493 4433 4615 + 22096 4411 4050 4615 4150 + 22097 4615 4050 4530 4433 + 22098 4615 4411 4530 4050 + 22099 4653 4327 4150 4050 + 22100 4050 4653 4493 4615 + 22101 4150 4653 4050 4615 + 22102 4653 4285 4327 4050 + 22103 4285 4050 4653 4493 + 22104 4440 4051 4143 4292 + 22105 4440 4051 4231 4143 + 22106 4441 4291 4141 4052 + 22107 4052 4326 4441 4291 + 22108 4228 4053 4149 4290 + 22109 4142 4230 4290 4054 + 22110 4142 4054 4229 4298 + 22111 4142 4298 4230 4054 + 22112 4326 4140 4228 4054 + 22113 4228 4054 4290 4442 + 22114 4229 4054 4326 4444 + 22115 4229 4298 4054 4444 + 22116 4054 4326 4444 4532 + 22117 4442 4532 4228 4054 + 22118 4054 4228 4326 4532 + 22119 4054 4533 4290 4442 + 22120 4230 4533 4290 4054 + 22121 4298 4230 4054 4616 + 22122 4616 4054 4532 4442 + 22123 4054 4616 4533 4442 + 22124 4444 4616 4054 4532 + 22125 4444 4054 4616 4298 + 22126 4533 4054 4230 4616 + 22127 4346 4293 4055 4232 + 22128 4232 4055 4346 4138 + 22129 4055 4438 4346 4138 + 22130 4055 4345 4438 4138 + 22131 4346 4293 4536 4055 + 22132 4293 4536 4055 4447 + 22133 4329 4537 4055 4619 + 22134 4055 4535 4619 4446 + 22135 4438 4055 4619 4345 + 22136 4619 4537 4055 4446 + 22137 4619 4055 4329 4345 + 22138 4619 4438 4535 4055 + 22139 4620 4446 4055 4537 + 22140 4620 4055 4536 4447 + 22141 4055 4346 4687 4536 + 22142 4438 4055 4346 4687 + 22143 4687 4055 4620 4446 + 22144 4055 4687 4620 4536 + 22145 4055 4687 4535 4446 + 22146 4438 4687 4535 4055 + 22147 4688 4447 4293 4055 + 22148 4688 4620 4055 4537 + 22149 4688 4620 4447 4055 + 22150 4688 4055 4329 4537 + 22151 4329 4293 4055 4688 + 22152 4143 4231 4440 4056 + 22153 4143 4440 4346 4056 + 22154 4536 4056 4447 4293 + 22155 4440 4536 4346 4056 + 22156 4346 4536 4293 4056 + 22157 4207 4057 4084 4371 + 22158 4470 4233 4337 4057 + 22159 4084 4057 4470 4371 + 22160 4084 4470 4057 4233 + 22161 4057 4470 4667 4337 + 22162 4371 4667 4207 4057 + 22163 4057 4667 4144 4337 + 22164 4371 4470 4667 4057 + 22165 4144 4667 4057 4207 + 22166 4058 4347 4236 4145 + 22167 4125 4058 4514 4234 + 22168 4145 4514 4058 4295 + 22169 4295 4514 4058 4234 + 22170 4514 4058 4236 4145 + 22171 4236 4058 4514 4125 + 22172 4145 4059 4366 4295 + 22173 4295 4366 4235 4059 + 22174 4235 4366 4539 4059 + 22175 4539 4235 4059 4297 + 22176 4554 4297 4059 4167 + 22177 4333 4167 4554 4059 + 22178 4539 4297 4059 4554 + 22179 4059 4690 4145 4366 + 22180 4539 4059 4690 4554 + 22181 4145 4333 4690 4059 + 22182 4059 4539 4690 4366 + 22183 4333 4554 4690 4059 + 22184 4165 4347 4364 4060 + 22185 4364 4060 4146 4165 + 22186 4364 4146 4060 4237 + 22187 4364 4060 4347 4540 + 22188 4540 4364 4060 4237 + 22189 4540 4347 4236 4060 + 22190 4060 4540 4147 4236 + 22191 4147 4060 4237 4540 + 22192 4148 4338 4061 4210 + 22193 4338 4061 4210 4423 + 22194 4423 4237 4061 4146 + 22195 4423 4061 4276 4146 + 22196 4276 4210 4061 4423 + 22197 4542 4423 4237 4061 + 22198 4238 4148 4624 4061 + 22199 4237 4147 4692 4061 + 22200 4238 4624 4692 4061 + 22201 4237 4692 4542 4061 + 22202 4692 4061 4147 4238 + 22203 4542 4692 4624 4061 + 22204 4542 4061 4624 4724 + 22205 4724 4338 4423 4061 + 22206 4624 4724 4061 4148 + 22207 4338 4061 4724 4148 + 22208 4724 4423 4542 4061 + 22209 4238 4062 4330 4147 + 22210 4425 4330 4062 4277 + 22211 4147 4451 4062 4236 + 22212 4238 4543 4062 4147 + 22213 4147 4062 4451 4543 + 22214 4597 4125 4277 4062 + 22215 4062 4277 4597 4425 + 22216 4236 4669 4062 4125 + 22217 4062 4597 4669 4425 + 22218 4597 4669 4125 4062 + 22219 4236 4062 4669 4451 + 22220 4732 4330 4238 4062 + 22221 4062 4732 4425 4543 + 22222 4732 4238 4543 4062 + 22223 4732 4330 4062 4425 + 22224 4425 4669 4062 4740 + 22225 4451 4669 4740 4062 + 22226 4451 4740 4543 4062 + 22227 4543 4425 4062 4740 + 22228 4063 4335 4114 4225 + 22229 4063 4290 4114 4335 + 22230 4149 4412 4063 4227 + 22231 4114 4227 4063 4412 + 22232 4335 4063 4290 4443 + 22233 4063 4225 4114 4501 + 22234 4063 4412 4501 4114 + 22235 4290 4063 4149 4533 + 22236 4533 4063 4443 4290 + 22237 4614 4063 4501 4225 + 22238 4614 4443 4063 4335 + 22239 4063 4614 4335 4225 + 22240 4533 4625 4063 4149 + 22241 4063 4149 4625 4412 + 22242 4501 4412 4063 4625 + 22243 4693 4063 4625 4501 + 22244 4443 4614 4063 4693 + 22245 4693 4063 4501 4614 + 22246 4693 4625 4063 4533 + 22247 4443 4063 4533 4693 + 22248 4113 4289 4064 4198 + 22249 4113 4230 4064 4348 + 22250 4064 4289 4113 4348 + 22251 4198 4064 4150 4411 + 22252 4411 4289 4198 4064 + 22253 4064 4528 4289 4348 + 22254 4411 4528 4289 4064 + 22255 4686 4298 4230 4064 + 22256 4230 4064 4721 4686 + 22257 4721 4064 4348 4528 + 22258 4721 4064 4230 4348 + 22259 4064 4528 4721 4686 + 22260 4064 4725 4686 4298 + 22261 4064 4725 4528 4686 + 22262 4725 4064 4150 4298 + 22263 4528 4064 4411 4725 + 22264 4411 4725 4064 4150 + 22265 4156 4299 4453 4065 + 22266 4468 4453 4299 4065 + 22267 4468 4339 4065 4299 + 22268 4300 4351 4065 4544 + 22269 4065 4300 4544 4156 + 22270 4065 4453 4156 4544 + 22271 4065 4339 4468 4628 + 22272 4339 4065 4154 4628 + 22273 4065 4468 4453 4628 + 22274 4351 4697 4154 4065 + 22275 4628 4453 4065 4697 + 22276 4351 4544 4697 4065 + 22277 4154 4697 4628 4065 + 22278 4453 4544 4065 4697 + 22279 4241 4352 4066 4161 + 22280 4161 4352 4066 4243 + 22281 4066 4352 4241 4159 + 22282 4159 4066 4352 4455 + 22283 4546 4455 4352 4066 + 22284 4546 4066 4352 4243 + 22285 4546 4157 4066 4243 + 22286 4355 4243 4162 4068 + 22287 4157 4068 4243 4456 + 22288 4456 4068 4353 4157 + 22289 4243 4068 4355 4456 + 22290 4458 4158 4353 4068 + 22291 4158 4242 4068 4458 + 22292 4631 4458 4068 4355 + 22293 4068 4353 4631 4456 + 22294 4353 4458 4068 4631 + 22295 4456 4631 4068 4355 + 22296 4244 4357 4163 4069 + 22297 4243 4460 4070 4161 + 22298 4162 4246 4070 4460 + 22299 4460 4162 4243 4070 + 22300 4161 4070 4246 4460 + 22301 4302 4071 4168 4359 + 22302 4071 4459 4160 4241 + 22303 4359 4459 4302 4071 + 22304 4302 4160 4071 4459 + 22305 4359 4550 4459 4071 + 22306 4358 4169 4071 4550 + 22307 4169 4359 4071 4550 + 22308 4632 4071 4550 4358 + 22309 4459 4241 4071 4632 + 22310 4161 4071 4241 4632 + 22311 4632 4161 4071 4358 + 22312 4459 4071 4550 4632 + 22313 4072 4165 4360 4334 + 22314 4072 4360 4461 4334 + 22315 4360 4072 4461 4301 + 22316 4551 4301 4072 4244 + 22317 4244 4551 4302 4072 + 22318 4072 4461 4551 4168 + 22319 4168 4302 4551 4072 + 22320 4072 4551 4461 4301 + 22321 4347 4245 4075 4364 + 22322 4075 4347 4364 4165 + 22323 4075 4164 4463 4363 + 22324 4075 4363 4553 4245 + 22325 4553 4075 4245 4364 + 22326 4075 4463 4553 4363 + 22327 4634 4463 4553 4075 + 22328 4634 4364 4165 4075 + 22329 4634 4553 4364 4075 + 22330 4166 4076 4365 4297 + 22331 4235 4365 4076 4297 + 22332 4332 4366 4077 4295 + 22333 4366 4235 4077 4295 + 22334 4078 4169 4367 4247 + 22335 4367 4078 4549 4169 + 22336 4549 4078 4246 4169 + 22337 4172 4467 4368 4080 + 22338 4082 4349 4311 4209 + 22339 4349 4274 4239 4082 + 22340 4082 4349 4274 4311 + 22341 4162 4083 4300 4341 + 22342 4162 4300 4083 4549 + 22343 4549 4083 4162 4246 + 22344 4084 4470 4303 4371 + 22345 4372 4085 4249 4175 + 22346 4175 4372 4085 4250 + 22347 4086 4375 4250 4176 + 22348 4086 4261 4375 4176 + 22349 4250 4175 4471 4086 + 22350 4250 4471 4561 4086 + 22351 4086 4561 4250 4375 + 22352 4642 4561 4471 4086 + 22353 4086 4642 4561 4375 + 22354 4086 4642 4374 4471 + 22355 4261 4375 4642 4086 + 22356 4251 4303 4174 4087 + 22357 4251 4373 4303 4087 + 22358 4087 4472 4373 4303 + 22359 4559 4249 4472 4087 + 22360 4373 4087 4175 4559 + 22361 4373 4472 4087 4559 + 22362 4559 4175 4249 4087 + 22363 4249 4639 4472 4087 + 22364 4174 4087 4303 4639 + 22365 4087 4639 4472 4303 + 22366 4088 4474 4204 4270 + 22367 4558 4178 4474 4088 + 22368 4558 4474 4374 4088 + 22369 4376 4089 4273 4206 + 22370 4089 4376 4473 4178 + 22371 4089 4473 4251 4178 + 22372 4376 4473 4273 4089 + 22373 4254 4183 4378 4090 + 22374 4090 4475 4378 4254 + 22375 4091 4255 4318 4182 + 22376 4476 4377 4179 4091 + 22377 4476 4179 4304 4091 + 22378 4377 4091 4564 4318 + 22379 4255 4564 4091 4318 + 22380 4091 4304 4476 4564 + 22381 4377 4564 4091 4476 + 22382 4382 4478 4092 4252 + 22383 4331 4092 4382 4478 + 22384 4092 4331 4382 4479 + 22385 4479 4092 4344 4192 + 22386 4092 4479 4382 4567 + 22387 4092 4567 4252 4192 + 22388 4252 4382 4567 4092 + 22389 4567 4192 4092 4479 + 22390 4093 4253 4379 4179 + 22391 4093 4384 4480 4253 + 22392 4093 4480 4379 4253 + 22393 4093 4480 4565 4379 + 22394 4093 4565 4179 4379 + 22395 4317 4266 4200 4095 + 22396 4095 4387 4271 4199 + 22397 4095 4199 4265 4387 + 22398 4271 4387 4095 4482 + 22399 4317 4095 4200 4482 + 22400 4095 4482 4317 4271 + 22401 4568 4387 4095 4265 + 22402 4482 4095 4200 4568 + 22403 4095 4387 4568 4482 + 22404 4212 4386 4096 4278 + 22405 4266 4317 4388 4096 + 22406 4388 4096 4483 4185 + 22407 4386 4278 4483 4096 + 22408 4483 4313 4185 4096 + 22409 4313 4278 4096 4483 + 22410 4386 4483 4569 4096 + 22411 4096 4483 4569 4388 + 22412 4096 4569 4317 4388 + 22413 4569 4386 4096 4317 + 22414 4389 4272 4187 4097 + 22415 4389 4187 4309 4097 + 22416 4098 4190 4281 4486 + 22417 4486 4098 4215 4264 + 22418 4098 4281 4390 4486 + 22419 4486 4186 4098 4264 + 22420 4486 4391 4098 4190 + 22421 4215 4391 4098 4486 + 22422 4186 4098 4390 4486 + 22423 4099 4392 4186 4571 + 22424 4099 4571 4485 4648 + 22425 4485 4648 4267 4099 + 22426 4269 4099 4648 4392 + 22427 4099 4202 4648 4267 + 22428 4099 4392 4571 4648 + 22429 4269 4202 4648 4099 + 22430 4189 4101 4315 4395 + 22431 4488 4395 4315 4101 + 22432 4215 4488 4315 4101 + 22433 4488 4188 4395 4101 + 22434 4189 4102 4342 4396 + 22435 4489 4102 4214 4396 + 22436 4214 4489 4260 4102 + 22437 4102 4308 4342 4489 + 22438 4396 4102 4342 4489 + 22439 4383 4257 4305 4103 + 22440 4316 4103 4252 4383 + 22441 4391 4305 4103 4574 + 22442 4391 4103 4190 4574 + 22443 4574 4190 4316 4103 + 22444 4574 4316 4383 4103 + 22445 4103 4383 4574 4305 + 22446 4306 4400 4491 4104 + 22447 4306 4491 4651 4104 + 22448 4306 4257 4104 4651 + 22449 4575 4395 4105 4342 + 22450 4259 4105 4342 4575 + 22451 4191 4575 4105 4259 + 22452 4106 4192 4402 4336 + 22453 4106 4402 4192 4306 + 22454 4493 4106 4336 4285 + 22455 4106 4493 4336 4402 + 22456 4493 4343 4106 4285 + 22457 4343 4106 4576 4493 + 22458 4402 4106 4576 4306 + 22459 4106 4576 4493 4402 + 22460 4108 4263 4320 4193 + 22461 4263 4108 4320 4194 + 22462 4193 4262 4404 4109 + 22463 4495 4193 4404 4109 + 22464 4109 4495 4193 4401 + 22465 4109 4262 4404 4581 + 22466 4109 4407 4197 4581 + 22467 4109 4404 4495 4581 + 22468 4109 4495 4407 4581 + 22469 4109 4582 4259 4197 + 22470 4259 4401 4582 4109 + 22471 4109 4407 4582 4197 + 22472 4582 4495 4407 4109 + 22473 4582 4401 4495 4109 + 22474 4176 4375 4111 4261 + 22475 4261 4375 4111 4498 + 22476 4112 4196 4398 4308 + 22477 4112 4398 4489 4308 + 22478 4499 4197 4112 4410 + 22479 4112 4308 4584 4197 + 22480 4584 4112 4197 4410 + 22481 4112 4584 4308 4489 + 22482 4584 4489 4112 4657 + 22483 4398 4489 4657 4112 + 22484 4584 4112 4410 4657 + 22485 4113 4288 4348 4224 + 22486 4289 4113 4348 4224 + 22487 4292 4412 4227 4114 + 22488 4501 4225 4114 4328 + 22489 4114 4292 4501 4328 + 22490 4412 4292 4501 4114 + 22491 4315 4189 4397 4115 + 22492 4264 4397 4115 4315 + 22493 4502 4204 4270 4115 + 22494 4115 4586 4397 4264 + 22495 4397 4502 4586 4115 + 22496 4115 4502 4586 4270 + 22497 4275 4201 4116 4310 + 22498 4503 4116 4203 4310 + 22499 4116 4203 4265 4503 + 22500 4275 4503 4310 4116 + 22501 4116 4265 4588 4503 + 22502 4588 4265 4116 4199 + 22503 4117 4415 4268 4202 + 22504 4416 4117 4268 4203 + 22505 4416 4117 4203 4568 + 22506 4117 4414 4568 4504 + 22507 4117 4568 4416 4504 + 22508 4202 4648 4117 4415 + 22509 4117 4589 4415 4648 + 22510 4117 4648 4202 4267 + 22511 4267 4414 4117 4648 + 22512 4662 4416 4117 4268 + 22513 4504 4589 4662 4117 + 22514 4416 4504 4662 4117 + 22515 4117 4662 4415 4589 + 22516 4662 4117 4415 4268 + 22517 4414 4117 4648 4704 + 22518 4704 4414 4117 4504 + 22519 4117 4704 4589 4648 + 22520 4704 4117 4589 4504 + 22521 4390 4118 4485 4663 + 22522 4390 4281 4118 4663 + 22523 4119 4206 4415 4269 + 22524 4269 4392 4506 4119 + 22525 4119 4269 4415 4506 + 22526 4592 4270 4119 4660 + 22527 4592 4119 4506 4660 + 22528 4119 4506 4660 4392 + 22529 4415 4206 4119 4706 + 22530 4706 4376 4119 4592 + 22531 4376 4119 4206 4706 + 22532 4706 4119 4506 4592 + 22533 4415 4119 4506 4706 + 22534 4271 4120 4418 4309 + 22535 4205 4120 4509 4350 + 22536 4120 4509 4294 4205 + 22537 4350 4418 4120 4509 + 22538 4588 4271 4199 4120 + 22539 4588 4350 4418 4120 + 22540 4588 4418 4271 4120 + 22541 4389 4120 4309 4665 + 22542 4389 4294 4120 4665 + 22543 4120 4509 4418 4665 + 22544 4418 4309 4120 4665 + 22545 4120 4294 4509 4665 + 22546 4277 4121 4211 4330 + 22547 4310 4122 4420 4208 + 22548 4420 4122 4310 4505 + 22549 4122 4310 4505 4268 + 22550 4590 4419 4505 4122 + 22551 4122 4273 4590 4419 + 22552 4122 4206 4590 4273 + 22553 4206 4590 4268 4122 + 22554 4122 4505 4590 4268 + 22555 4505 4420 4122 4593 + 22556 4505 4122 4419 4593 + 22557 4122 4420 4208 4593 + 22558 4311 4349 4123 4209 + 22559 4349 4422 4510 4123 + 22560 4311 4123 4349 4510 + 22561 4512 4210 4338 4123 + 22562 4512 4276 4210 4123 + 22563 4123 4594 4275 4338 + 22564 4123 4512 4594 4338 + 22565 4422 4123 4512 4594 + 22566 4422 4510 4123 4594 + 22567 4123 4596 4349 4422 + 22568 4209 4349 4123 4596 + 22569 4596 4123 4209 4276 + 22570 4596 4512 4123 4276 + 22571 4123 4512 4596 4422 + 22572 4514 4296 4125 4234 + 22573 4296 4514 4125 4597 + 22574 4236 4514 4669 4125 + 22575 4669 4125 4514 4597 + 22576 4126 4211 4513 4424 + 22577 4279 4513 4126 4211 + 22578 4126 4513 4598 4424 + 22579 4279 4126 4513 4598 + 22580 4204 4417 4591 4127 + 22581 4280 4591 4417 4127 + 22582 4498 4127 4261 4642 + 22583 4280 4498 4709 4127 + 22584 4498 4642 4709 4127 + 22585 4127 4642 4709 4733 + 22586 4280 4733 4591 4127 + 22587 4642 4591 4733 4127 + 22588 4127 4709 4280 4733 + 22589 4399 4128 4316 4190 + 22590 4281 4190 4128 4399 + 22591 4399 4477 4316 4128 + 22592 4128 4477 4380 4710 + 22593 4399 4710 4477 4128 + 22594 4710 4128 4399 4281 + 22595 4319 4427 4129 4484 + 22596 4507 4129 4319 4427 + 22597 4318 4129 4255 4564 + 22598 4564 4255 4380 4129 + 22599 4564 4380 4712 4129 + 22600 4507 4712 4129 4427 + 22601 4712 4507 4129 4380 + 22602 4712 4129 4318 4564 + 22603 4484 4129 4318 4712 + 22604 4129 4427 4712 4484 + 22605 4428 4216 4130 4287 + 22606 4282 4428 4216 4130 + 22607 4287 4130 4428 4222 + 22608 4130 4519 4282 4428 + 22609 4322 4130 4519 4282 + 22610 4520 4131 4405 4217 + 22611 4283 4132 4217 4430 + 22612 4217 4580 4430 4132 + 22613 4320 4580 4132 4406 + 22614 4497 4406 4132 4580 + 22615 4325 4284 4218 4133 + 22616 4133 4431 4284 4219 + 22617 4522 4133 4431 4284 + 22618 4522 4325 4133 4284 + 22619 4283 4523 4220 4133 + 22620 4283 4523 4133 4219 + 22621 4432 4220 4523 4133 + 22622 4523 4133 4219 4431 + 22623 4325 4133 4289 4605 + 22624 4605 4325 4133 4522 + 22625 4522 4431 4133 4676 + 22626 4523 4676 4133 4431 + 22627 4605 4133 4676 4522 + 22628 4523 4133 4676 4432 + 22629 4286 4134 4221 4323 + 22630 4608 4322 4134 4221 + 22631 4678 4608 4134 4221 + 22632 4134 4220 4678 4323 + 22633 4323 4678 4134 4221 + 22634 4322 4217 4135 4429 + 22635 4322 4519 4135 4282 + 22636 4322 4135 4519 4429 + 22637 4217 4429 4604 4135 + 22638 4217 4604 4520 4135 + 22639 4604 4716 4135 4429 + 22640 4716 4519 4135 4429 + 22641 4525 4136 4221 4436 + 22642 4286 4221 4136 4526 + 22643 4221 4526 4436 4136 + 22644 4612 4436 4526 4136 + 22645 4286 4136 4612 4526 + 22646 4434 4136 4525 4682 + 22647 4136 4682 4436 4525 + 22648 4612 4682 4436 4136 + 22649 4137 4613 4293 4223 + 22650 4225 4345 4288 4138 + 22651 4328 4346 4138 4232 + 22652 4225 4345 4138 4438 + 22653 4346 4138 4438 4501 + 22654 4346 4328 4138 4501 + 22655 4501 4138 4438 4225 + 22656 4501 4328 4138 4225 + 22657 4223 4345 4139 4329 + 22658 4345 4439 4139 4329 + 22659 4439 4139 4324 4345 + 22660 4286 4323 4610 4139 + 22661 4139 4526 4610 4286 + 22662 4432 4323 4139 4610 + 22663 4329 4612 4439 4139 + 22664 4223 4612 4329 4139 + 22665 4223 4286 4612 4139 + 22666 4139 4612 4526 4286 + 22667 4612 4439 4139 4526 + 22668 4139 4324 4738 4439 + 22669 4738 4324 4139 4432 + 22670 4432 4139 4738 4610 + 22671 4526 4139 4738 4439 + 22672 4139 4610 4526 4738 + 22673 4291 4441 4141 4531 + 22674 4226 4531 4141 4384 + 22675 4291 4141 4226 4531 + 22676 4229 4327 4142 4298 + 22677 4292 4328 4143 4346 + 22678 4346 4143 4232 4328 + 22679 4292 4143 4440 4346 + 22680 4144 4421 4274 4239 + 22681 4556 4144 4239 4421 + 22682 4556 4239 4144 4247 + 22683 4144 4337 4538 4556 + 22684 4144 4247 4337 4556 + 22685 4556 4538 4144 4421 + 22686 4667 4144 4337 4538 + 22687 4667 4144 4538 4421 + 22688 4145 4295 4366 4514 + 22689 4347 4333 4690 4145 + 22690 4690 4366 4514 4145 + 22691 4514 4236 4690 4145 + 22692 4690 4236 4347 4145 + 22693 4146 4165 4334 4360 + 22694 4541 4146 4596 4360 + 22695 4596 4146 4541 4423 + 22696 4596 4360 4146 4334 + 22697 4146 4276 4423 4596 + 22698 4334 4146 4596 4276 + 22699 4364 4237 4623 4146 + 22700 4423 4146 4623 4237 + 22701 4541 4423 4146 4623 + 22702 4634 4165 4364 4146 + 22703 4634 4146 4364 4623 + 22704 4634 4541 4146 4623 + 22705 4146 4541 4634 4360 + 22706 4146 4634 4165 4360 + 22707 4147 4540 4451 4236 + 22708 4147 4451 4692 4543 + 22709 4237 4540 4692 4147 + 22710 4238 4692 4543 4147 + 22711 4692 4147 4540 4451 + 22712 4205 4509 4148 4350 + 22713 4148 4509 4294 4238 + 22714 4294 4509 4148 4205 + 22715 4509 4238 4148 4624 + 22716 4509 4624 4148 4350 + 22717 4724 4148 4624 4350 + 22718 4724 4338 4148 4350 + 22719 4228 4290 4149 4442 + 22720 4149 4290 4533 4442 + 22721 4533 4442 4625 4149 + 22722 4150 4327 4445 4534 + 22723 4298 4534 4327 4150 + 22724 4327 4445 4653 4150 + 22725 4150 4445 4653 4615 + 22726 4298 4694 4534 4150 + 22727 4150 4445 4694 4534 + 22728 4150 4694 4445 4615 + 22729 4298 4725 4694 4150 + 22730 4694 4150 4725 4615 + 22731 4411 4615 4725 4150 + 22732 4534 4327 4151 4229 + 22733 4327 4534 4151 4585 + 22734 4327 4585 4151 4344 + 22735 4229 4151 4534 4617 + 22736 4617 4291 4229 4151 + 22737 4617 4413 4291 4151 + 22738 4617 4695 4413 4151 + 22739 4617 4534 4695 4151 + 22740 4151 4413 4585 4695 + 22741 4695 4151 4534 4585 + 22742 4334 4152 4596 4461 + 22743 4209 4596 4152 4349 + 22744 4209 4152 4596 4334 + 22745 4168 4637 4152 4461 + 22746 4152 4637 4596 4461 + 22747 4349 4596 4152 4637 + 22748 4349 4152 4168 4637 + 22749 4339 4299 4468 4153 + 22750 4339 4468 4172 4153 + 22751 4468 4299 4233 4153 + 22752 4339 4154 4368 4628 + 22753 4351 4155 4454 4341 + 22754 4458 4631 4155 4355 + 22755 4155 4730 4454 4341 + 22756 4355 4341 4730 4155 + 22757 4355 4730 4631 4155 + 22758 4453 4299 4156 4469 + 22759 4545 4367 4696 4156 + 22760 4156 4367 4696 4469 + 22761 4729 4300 4549 4156 + 22762 4729 4156 4367 4545 + 22763 4729 4549 4367 4156 + 22764 4729 4300 4156 4544 + 22765 4545 4696 4743 4156 + 22766 4453 4156 4544 4743 + 22767 4729 4156 4743 4544 + 22768 4729 4743 4156 4545 + 22769 4743 4453 4156 4469 + 22770 4743 4156 4696 4469 + 22771 4157 4243 4546 4456 + 22772 4240 4353 4157 4547 + 22773 4456 4157 4353 4547 + 22774 4632 4356 4159 4455 + 22775 4632 4159 4352 4455 + 22776 4241 4632 4159 4352 + 22777 4302 4244 4160 4459 + 22778 4243 4352 4460 4161 + 22779 4161 4246 4358 4460 + 22780 4358 4161 4460 4632 + 22781 4161 4632 4241 4352 + 22782 4161 4460 4632 4352 + 22783 4355 4243 4546 4162 + 22784 4243 4460 4546 4162 + 22785 4162 4549 4246 4460 + 22786 4460 4549 4633 4162 + 22787 4633 4549 4300 4162 + 22788 4162 4546 4355 4633 + 22789 4633 4300 4341 4162 + 22790 4162 4460 4546 4633 + 22791 4341 4355 4633 4162 + 22792 4244 4301 4163 4357 + 22793 4163 4462 4357 4301 + 22794 4462 4163 4362 4301 + 22795 4166 4297 4365 4464 + 22796 4166 4361 4297 4464 + 22797 4333 4554 4167 4245 + 22798 4465 4167 4554 4245 + 22799 4554 4465 4361 4167 + 22800 4297 4554 4361 4167 + 22801 4359 4168 4302 4551 + 22802 4551 4637 4359 4168 + 22803 4168 4551 4637 4461 + 22804 4466 4367 4169 4247 + 22805 4549 4246 4358 4169 + 22806 4169 4466 4359 4550 + 22807 4638 4367 4549 4169 + 22808 4638 4466 4169 4550 + 22809 4638 4549 4358 4169 + 22810 4638 4466 4367 4169 + 22811 4358 4638 4169 4550 + 22812 4368 4468 4172 4339 + 22813 4468 4172 4555 4368 + 22814 4368 4555 4467 4172 + 22815 4467 4172 4555 4248 + 22816 4175 4471 4372 4250 + 22817 4471 4559 4175 4372 + 22818 4559 4175 4372 4249 + 22819 4373 4471 4559 4175 + 22820 4178 4473 4558 4376 + 22821 4473 4558 4251 4178 + 22822 4376 4558 4178 4474 + 22823 4304 4179 4379 4253 + 22824 4179 4379 4476 4304 + 22825 4179 4565 4476 4379 + 22826 4377 4565 4476 4179 + 22827 4377 4256 4565 4179 + 22828 4181 4252 4478 4316 + 22829 4183 4378 4481 4254 + 22830 4313 4278 4385 4184 + 22831 4184 4312 4278 4385 + 22832 4313 4385 4481 4184 + 22833 4185 4481 4378 4254 + 22834 4185 4254 4378 4570 + 22835 4483 4185 4570 4388 + 22836 4185 4570 4378 4646 + 22837 4185 4378 4481 4646 + 22838 4185 4481 4313 4646 + 22839 4570 4483 4646 4185 + 22840 4483 4185 4313 4646 + 22841 4392 4186 4486 4264 + 22842 4486 4571 4390 4186 + 22843 4486 4392 4571 4186 + 22844 4314 4272 4187 4389 + 22845 4314 4187 4573 4389 + 22846 4573 4309 4389 4187 + 22847 4490 4342 4189 4395 + 22848 4189 4342 4490 4396 + 22849 4189 4315 4397 4490 + 22850 4490 4189 4315 4395 + 22851 4574 4316 4190 4399 + 22852 4486 4190 4281 4650 + 22853 4399 4190 4650 4281 + 22854 4650 4190 4574 4391 + 22855 4486 4650 4391 4190 + 22856 4650 4190 4399 4574 + 22857 4258 4191 4492 4400 + 22858 4400 4652 4191 4492 + 22859 4191 4652 4575 4259 + 22860 4400 4652 4575 4191 + 22861 4402 4567 4192 4306 + 22862 4567 4653 4192 4479 + 22863 4479 4344 4653 4192 + 22864 4653 4567 4192 4402 + 22865 4192 4653 4336 4344 + 22866 4336 4653 4192 4402 + 22867 4404 4193 4579 4263 + 22868 4579 4193 4320 4263 + 22869 4495 4193 4579 4404 + 22870 4655 4193 4495 4401 + 22871 4401 4655 4193 4577 + 22872 4655 4579 4495 4193 + 22873 4263 4194 4320 4496 + 22874 4583 4398 4195 4260 + 22875 4195 4307 4583 4260 + 22876 4342 4197 4308 4259 + 22877 4342 4408 4197 4259 + 22878 4581 4499 4407 4197 + 22879 4197 4259 4408 4582 + 22880 4584 4408 4197 4342 + 22881 4584 4197 4308 4342 + 22882 4410 4197 4584 4656 + 22883 4656 4407 4499 4197 + 22884 4197 4582 4408 4656 + 22885 4584 4197 4408 4656 + 22886 4197 4407 4582 4656 + 22887 4410 4499 4197 4656 + 22888 4199 4387 4271 4588 + 22889 4387 4588 4199 4265 + 22890 4482 4200 4317 4647 + 22891 4317 4200 4266 4647 + 22892 4647 4200 4266 4319 + 22893 4568 4703 4414 4200 + 22894 4200 4647 4482 4703 + 22895 4568 4482 4703 4200 + 22896 4202 4269 4648 4415 + 22897 4416 4268 4310 4203 + 22898 4503 4203 4416 4310 + 22899 4568 4265 4203 4503 + 22900 4568 4203 4416 4503 + 22901 4270 4204 4705 4474 + 22902 4270 4502 4705 4204 + 22903 4591 4204 4705 4417 + 22904 4705 4204 4591 4474 + 22905 4502 4705 4204 4417 + 22906 4590 4273 4206 4376 + 22907 4415 4206 4590 4268 + 22908 4590 4376 4206 4706 + 22909 4206 4415 4590 4706 + 22910 4667 4562 4371 4207 + 22911 4208 4274 4510 4311 + 22912 4593 4420 4208 4510 + 22913 4334 4596 4209 4276 + 22914 4210 4512 4338 4423 + 22915 4210 4276 4512 4423 + 22916 4277 4211 4513 4330 + 22917 4211 4513 4330 4279 + 22918 4212 4508 4394 4309 + 22919 4212 4508 4309 4271 + 22920 4212 4394 4670 4278 + 22921 4212 4670 4386 4278 + 22922 4670 4394 4212 4707 + 22923 4508 4707 4212 4394 + 22924 4386 4212 4271 4707 + 22925 4670 4212 4386 4707 + 22926 4508 4271 4212 4707 + 22927 4280 4417 4516 4214 + 22928 4516 4409 4280 4214 + 22929 4260 4214 4409 4583 + 22930 4583 4489 4260 4214 + 22931 4599 4672 4417 4214 + 22932 4417 4516 4214 4672 + 22933 4583 4702 4489 4214 + 22934 4702 4672 4599 4214 + 22935 4599 4702 4214 4396 + 22936 4489 4214 4702 4396 + 22937 4516 4409 4214 4734 + 22938 4516 4214 4672 4734 + 22939 4583 4734 4702 4214 + 22940 4583 4409 4734 4214 + 22941 4672 4214 4702 4734 + 22942 4488 4215 4587 4391 + 22943 4215 4264 4587 4486 + 22944 4587 4264 4215 4315 + 22945 4587 4215 4488 4315 + 22946 4587 4215 4486 4391 + 22947 4604 4521 4429 4217 + 22948 4604 4520 4675 4217 + 22949 4675 4217 4580 4430 + 22950 4217 4405 4520 4675 + 22951 4217 4580 4405 4675 + 22952 4217 4675 4604 4521 + 22953 4217 4521 4430 4675 + 22954 4284 4321 4606 4218 + 22955 4343 4325 4606 4218 + 22956 4284 4606 4325 4218 + 22957 4343 4606 4321 4218 + 22958 4283 4607 4523 4219 + 22959 4431 4523 4679 4219 + 22960 4607 4679 4523 4219 + 22961 4219 4607 4679 4713 + 22962 4219 4679 4431 4713 + 22963 4219 4713 4431 4284 + 22964 4220 4432 4678 4323 + 22965 4220 4523 4283 4678 + 22966 4678 4523 4432 4220 + 22967 4221 4435 4526 4610 + 22968 4221 4610 4526 4286 + 22969 4610 4286 4221 4323 + 22970 4525 4221 4611 4436 + 22971 4526 4221 4436 4611 + 22972 4526 4435 4221 4611 + 22973 4610 4435 4678 4221 + 22974 4678 4435 4608 4221 + 22975 4610 4678 4323 4221 + 22976 4322 4681 4221 4608 + 22977 4718 4525 4681 4221 + 22978 4611 4525 4718 4221 + 22979 4435 4718 4608 4221 + 22980 4435 4611 4718 4221 + 22981 4718 4608 4221 4681 + 22982 4222 4524 4428 4287 + 22983 4329 4613 4223 4293 + 22984 4224 4348 4324 4288 + 22985 4501 4438 4614 4225 + 22986 4225 4345 4614 4288 + 22987 4225 4614 4345 4438 + 22988 4225 4614 4335 4288 + 22989 4291 4531 4226 4413 + 22990 4226 4645 4531 4384 + 22991 4253 4226 4645 4331 + 22992 4413 4226 4645 4531 + 22993 4226 4645 4384 4253 + 22994 4331 4226 4645 4413 + 22995 4229 4534 4298 4444 + 22996 4229 4534 4327 4298 + 22997 4229 4326 4617 4444 + 22998 4326 4229 4617 4291 + 22999 4534 4444 4229 4617 + 23000 4335 4290 4230 4443 + 23001 4335 4230 4348 4443 + 23002 4533 4443 4230 4290 + 23003 4533 4230 4443 4616 + 23004 4230 4443 4616 4686 + 23005 4230 4616 4298 4686 + 23006 4230 4721 4348 4443 + 23007 4230 4721 4443 4686 + 23008 4470 4557 4337 4233 + 23009 4299 4233 4557 4468 + 23010 4337 4233 4557 4299 + 23011 4332 4234 4366 4295 + 23012 4366 4295 4234 4514 + 23013 4449 4234 4296 4514 + 23014 4514 4621 4449 4234 + 23015 4621 4366 4234 4514 + 23016 4539 4365 4235 4297 + 23017 4540 4450 4236 4347 + 23018 4451 4236 4540 4622 + 23019 4450 4540 4236 4622 + 23020 4514 4622 4450 4236 + 23021 4451 4622 4669 4236 + 23022 4514 4669 4622 4236 + 23023 4236 4450 4690 4347 + 23024 4514 4236 4450 4690 + 23025 4423 4623 4542 4237 + 23026 4692 4623 4237 4542 + 23027 4692 4237 4723 4540 + 23028 4692 4623 4723 4237 + 23029 4623 4364 4723 4237 + 23030 4237 4364 4723 4540 + 23031 4238 4509 4294 4448 + 23032 4448 4624 4543 4238 + 23033 4448 4509 4624 4238 + 23034 4624 4238 4692 4543 + 23035 4330 4238 4294 4732 + 23036 4732 4543 4238 4448 + 23037 4238 4294 4732 4448 + 23038 4274 4510 4349 4239 + 23039 4239 4421 4274 4510 + 23040 4556 4466 4239 4247 + 23041 4239 4627 4421 4510 + 23042 4349 4510 4627 4239 + 23043 4466 4556 4239 4726 + 23044 4637 4239 4726 4466 + 23045 4421 4239 4726 4627 + 23046 4726 4239 4421 4556 + 23047 4349 4726 4239 4627 + 23048 4726 4637 4349 4239 + 23049 4546 4352 4460 4243 + 23050 4243 4355 4546 4456 + 23051 4551 4459 4244 4302 + 23052 4244 4635 4357 4459 + 23053 4244 4635 4301 4357 + 23054 4551 4635 4301 4244 + 23055 4459 4244 4635 4551 + 23056 4553 4245 4636 4364 + 23057 4245 4554 4465 4636 + 23058 4245 4363 4636 4465 + 23059 4636 4245 4333 4347 + 23060 4363 4636 4553 4245 + 23061 4347 4636 4245 4364 + 23062 4245 4333 4554 4636 + 23063 4549 4358 4246 4460 + 23064 4247 4556 4367 4469 + 23065 4367 4247 4466 4556 + 23066 4247 4337 4556 4469 + 23067 4467 4555 4639 4248 + 23068 4467 4639 4369 4248 + 23069 4639 4472 4560 4249 + 23070 4369 4560 4249 4639 + 23071 4641 4560 4472 4249 + 23072 4641 4472 4559 4249 + 23073 4559 4372 4641 4249 + 23074 4561 4250 4372 4471 + 23075 4473 4303 4251 4373 + 23076 4558 4473 4251 4373 + 23077 4382 4252 4644 4478 + 23078 4567 4383 4644 4252 + 23079 4316 4252 4644 4383 + 23080 4316 4644 4252 4478 + 23081 4382 4252 4567 4644 + 23082 4566 4253 4304 4379 + 23083 4253 4384 4480 4645 + 23084 4253 4645 4566 4331 + 23085 4253 4480 4379 4645 + 23086 4566 4645 4253 4379 + 23087 4254 4570 4318 4475 + 23088 4570 4254 4378 4475 + 23089 4377 4256 4475 4649 + 23090 4649 4256 4565 4377 + 23091 4383 4305 4257 4651 + 23092 4383 4257 4306 4651 + 23093 4492 4258 4576 4403 + 23094 4400 4258 4576 4492 + 23095 4258 4403 4492 4577 + 23096 4259 4342 4408 4575 + 23097 4259 4652 4408 4582 + 23098 4259 4401 4652 4582 + 23099 4652 4408 4575 4259 + 23100 4583 4489 4398 4260 + 23101 4307 4409 4583 4260 + 23102 4498 4261 4375 4642 + 23103 4263 4659 4496 4320 + 23104 4263 4579 4659 4320 + 23105 4659 4263 4404 4579 + 23106 4587 4264 4315 4397 + 23107 4392 4486 4661 4264 + 23108 4587 4264 4661 4486 + 23109 4397 4264 4586 4661 + 23110 4587 4661 4264 4397 + 23111 4392 4661 4586 4264 + 23112 4568 4387 4265 4503 + 23113 4588 4503 4265 4387 + 23114 4317 4388 4647 4266 + 23115 4267 4648 4485 4414 + 23116 4505 4310 4416 4268 + 23117 4662 4505 4268 4590 + 23118 4416 4268 4662 4505 + 23119 4662 4268 4415 4590 + 23120 4392 4648 4269 4506 + 23121 4269 4648 4415 4506 + 23122 4660 4586 4502 4270 + 23123 4270 4660 4592 4705 + 23124 4270 4502 4660 4705 + 23125 4592 4474 4270 4705 + 23126 4386 4482 4271 4317 + 23127 4271 4418 4508 4309 + 23128 4664 4418 4271 4588 + 23129 4508 4271 4664 4418 + 23130 4271 4588 4387 4664 + 23131 4387 4482 4271 4664 + 23132 4664 4271 4707 4482 + 23133 4271 4386 4707 4482 + 23134 4508 4664 4271 4707 + 23135 4273 4376 4666 4473 + 23136 4590 4419 4273 4666 + 23137 4419 4273 4666 4562 + 23138 4273 4666 4562 4473 + 23139 4376 4273 4666 4590 + 23140 4311 4349 4274 4510 + 23141 4668 4275 4350 4503 + 23142 4594 4668 4420 4275 + 23143 4275 4594 4668 4338 + 23144 4275 4350 4338 4668 + 23145 4310 4668 4503 4275 + 23146 4420 4275 4668 4310 + 23147 4276 4423 4596 4512 + 23148 4425 4513 4330 4277 + 23149 4513 4597 4277 4425 + 23150 4278 4385 4483 4313 + 23151 4385 4572 4312 4278 + 23152 4385 4483 4572 4278 + 23153 4394 4572 4670 4278 + 23154 4278 4572 4670 4483 + 23155 4278 4670 4386 4483 + 23156 4279 4513 4732 4598 + 23157 4708 4426 4279 4732 + 23158 4279 4732 4426 4598 + 23159 4513 4732 4330 4279 + 23160 4517 4280 4591 4417 + 23161 4280 4600 4516 4417 + 23162 4280 4517 4600 4417 + 23163 4673 4409 4280 4516 + 23164 4280 4409 4673 4498 + 23165 4516 4600 4280 4673 + 23166 4498 4709 4673 4280 + 23167 4280 4600 4733 4673 + 23168 4709 4673 4280 4733 + 23169 4280 4591 4733 4517 + 23170 4280 4733 4600 4517 + 23171 4281 4486 4601 4390 + 23172 4399 4650 4601 4281 + 23173 4486 4281 4601 4650 + 23174 4390 4281 4663 4601 + 23175 4601 4281 4663 4710 + 23176 4710 4399 4601 4281 + 23177 4523 4283 4678 4607 + 23178 4606 4284 4325 4522 + 23179 4680 4284 4606 4522 + 23180 4431 4284 4497 4680 + 23181 4680 4431 4284 4522 + 23182 4431 4284 4713 4497 + 23183 4284 4731 4497 4680 + 23184 4731 4284 4321 4606 + 23185 4731 4680 4284 4606 + 23186 4493 4653 4285 4336 + 23187 4653 4285 4344 4327 + 23188 4285 4336 4653 4344 + 23189 4614 4288 4345 4324 + 23190 4335 4288 4614 4348 + 23191 4324 4348 4614 4288 + 23192 4411 4605 4289 4528 + 23193 4325 4411 4605 4289 + 23194 4617 4291 4441 4326 + 23195 4291 4617 4531 4413 + 23196 4617 4531 4441 4291 + 23197 4292 4501 4328 4346 + 23198 4292 4618 4501 4346 + 23199 4618 4440 4346 4292 + 23200 4618 4501 4412 4292 + 23201 4329 4613 4293 4688 + 23202 4509 4448 4665 4294 + 23203 4294 4665 4389 4732 + 23204 4732 4665 4448 4294 + 23205 4597 4296 4514 4449 + 23206 4722 4449 4296 4597 + 23207 4597 4296 4722 4424 + 23208 4691 4297 4539 4554 + 23209 4691 4297 4554 4361 + 23210 4297 4464 4361 4691 + 23211 4365 4539 4691 4297 + 23212 4297 4365 4464 4691 + 23213 4444 4534 4298 4626 + 23214 4444 4298 4686 4626 + 23215 4444 4616 4686 4298 + 23216 4534 4298 4626 4694 + 23217 4298 4686 4626 4725 + 23218 4298 4626 4694 4725 + 23219 4337 4557 4469 4299 + 23220 4469 4557 4453 4299 + 23221 4453 4299 4557 4468 + 23222 4300 4341 4351 4544 + 23223 4633 4300 4549 4729 + 23224 4633 4300 4729 4341 + 23225 4544 4729 4300 4341 + 23226 4362 4301 4552 4462 + 23227 4635 4357 4462 4301 + 23228 4461 4360 4301 4698 + 23229 4698 4462 4301 4635 + 23230 4698 4552 4301 4462 + 23231 4635 4698 4551 4301 + 23232 4698 4301 4552 4360 + 23233 4461 4301 4551 4698 + 23234 4359 4551 4302 4459 + 23235 4473 4563 4303 4373 + 23236 4371 4473 4563 4303 + 23237 4563 4303 4370 4470 + 23238 4370 4472 4303 4563 + 23239 4303 4563 4472 4373 + 23240 4371 4563 4470 4303 + 23241 4639 4370 4472 4303 + 23242 4566 4304 4478 4381 + 23243 4476 4304 4643 4564 + 23244 4379 4476 4304 4699 + 23245 4381 4643 4699 4304 + 23246 4381 4699 4566 4304 + 23247 4643 4304 4476 4699 + 23248 4304 4379 4699 4566 + 23249 4488 4574 4305 4391 + 23250 4574 4383 4651 4305 + 23251 4651 4488 4574 4305 + 23252 4306 4567 4383 4494 + 23253 4494 4306 4567 4402 + 23254 4494 4383 4306 4578 + 23255 4491 4306 4651 4578 + 23256 4383 4651 4306 4578 + 23257 4654 4400 4491 4306 + 23258 4306 4402 4494 4654 + 23259 4400 4654 4576 4306 + 23260 4306 4576 4402 4654 + 23261 4491 4654 4306 4578 + 23262 4578 4306 4494 4654 + 23263 4584 4308 4489 4342 + 23264 4508 4394 4309 4665 + 23265 4309 4508 4665 4418 + 23266 4309 4573 4389 4665 + 23267 4665 4394 4309 4573 + 23268 4505 4310 4420 4595 + 23269 4505 4416 4310 4595 + 23270 4310 4668 4416 4503 + 23271 4416 4668 4310 4595 + 23272 4420 4310 4668 4595 + 23273 4646 4385 4481 4313 + 23274 4646 4483 4385 4313 + 23275 4573 4314 4515 4393 + 23276 4314 4515 4708 4573 + 23277 4708 4389 4314 4573 + 23278 4488 4315 4395 4735 + 23279 4490 4315 4735 4395 + 23280 4735 4397 4315 4490 + 23281 4587 4735 4315 4488 + 23282 4735 4587 4315 4397 + 23283 4602 4381 4316 4477 + 23284 4399 4316 4477 4602 + 23285 4602 4644 4316 4381 + 23286 4644 4316 4381 4478 + 23287 4711 4316 4602 4644 + 23288 4711 4644 4383 4316 + 23289 4711 4316 4383 4574 + 23290 4574 4711 4316 4399 + 23291 4316 4399 4711 4602 + 23292 4317 4569 4386 4482 + 23293 4647 4569 4388 4317 + 23294 4482 4647 4317 4569 + 23295 4674 4318 4570 4475 + 23296 4484 4570 4674 4318 + 23297 4484 4318 4674 4712 + 23298 4318 4475 4674 4736 + 23299 4318 4377 4475 4736 + 23300 4736 4318 4564 4712 + 23301 4318 4377 4736 4564 + 23302 4736 4674 4318 4712 + 23303 4647 4319 4427 4518 + 23304 4427 4647 4484 4319 + 23305 4427 4744 4518 4319 + 23306 4427 4507 4744 4319 + 23307 4406 4580 4496 4320 + 23308 4406 4579 4320 4659 + 23309 4406 4320 4496 4659 + 23310 4403 4606 4321 4343 + 23311 4731 4321 4577 4403 + 23312 4321 4606 4403 4731 + 23313 4429 4322 4681 4519 + 23314 4322 4429 4681 4608 + 23315 4678 4610 4323 4432 + 23316 4683 4324 4348 4614 + 23317 4345 4439 4720 4324 + 23318 4720 4614 4324 4683 + 23319 4345 4720 4614 4324 + 23320 4720 4324 4439 4529 + 23321 4683 4324 4720 4529 + 23322 4324 4439 4529 4738 + 23323 4324 4529 4683 4738 + 23324 4432 4683 4738 4324 + 23325 4606 4325 4343 4433 + 23326 4530 4606 4433 4325 + 23327 4325 4411 4530 4684 + 23328 4606 4522 4325 4684 + 23329 4605 4325 4522 4684 + 23330 4606 4325 4530 4684 + 23331 4325 4605 4411 4684 + 23332 4532 4444 4685 4326 + 23333 4617 4444 4326 4685 + 23334 4617 4326 4441 4685 + 23335 4327 4445 4534 4585 + 23336 4585 4653 4344 4327 + 23337 4585 4445 4653 4327 + 23338 4439 4329 4345 4619 + 23339 4437 4329 4688 4613 + 23340 4437 4688 4329 4537 + 23341 4437 4329 4689 4537 + 23342 4439 4689 4329 4619 + 23343 4537 4329 4689 4619 + 23344 4689 4612 4439 4329 + 23345 4437 4612 4689 4329 + 23346 4732 4513 4330 4425 + 23347 4382 4566 4331 4478 + 23348 4479 4331 4382 4739 + 23349 4739 4645 4413 4331 + 23350 4739 4566 4645 4331 + 23351 4739 4566 4331 4382 + 23352 4479 4413 4331 4739 + 23353 4347 4636 4450 4333 + 23354 4450 4333 4636 4554 + 23355 4554 4690 4450 4333 + 23356 4450 4690 4347 4333 + 23357 4334 4596 4360 4461 + 23358 4335 4348 4614 4443 + 23359 4336 4493 4653 4402 + 23360 4557 4337 4469 4452 + 23361 4667 4538 4337 4452 + 23362 4337 4696 4469 4452 + 23363 4696 4337 4538 4452 + 23364 4337 4469 4696 4556 + 23365 4337 4696 4538 4556 + 23366 4337 4727 4452 4557 + 23367 4470 4727 4667 4337 + 23368 4337 4470 4727 4557 + 23369 4452 4667 4727 4337 + 23370 4350 4724 4338 4668 + 23371 4594 4338 4741 4668 + 23372 4741 4724 4338 4423 + 23373 4512 4338 4423 4741 + 23374 4512 4594 4338 4741 + 23375 4741 4338 4724 4668 + 23376 4368 4468 4339 4628 + 23377 4351 4454 4544 4341 + 23378 4341 4454 4544 4629 + 23379 4729 4633 4341 4629 + 23380 4729 4341 4544 4629 + 23381 4730 4629 4341 4633 + 23382 4629 4341 4454 4730 + 23383 4633 4341 4730 4355 + 23384 4584 4408 4342 4500 + 23385 4342 4500 4658 4396 + 23386 4408 4342 4500 4658 + 23387 4396 4490 4658 4342 + 23388 4575 4658 4395 4342 + 23389 4408 4342 4658 4575 + 23390 4395 4658 4490 4342 + 23391 4342 4500 4396 4702 + 23392 4342 4584 4500 4702 + 23393 4584 4342 4489 4702 + 23394 4396 4489 4342 4702 + 23395 4343 4714 4576 4403 + 23396 4403 4343 4714 4606 + 23397 4343 4493 4714 4433 + 23398 4606 4343 4714 4433 + 23399 4343 4576 4714 4493 + 23400 4344 4479 4653 4585 + 23401 4619 4438 4345 4720 + 23402 4720 4438 4345 4614 + 23403 4345 4619 4720 4439 + 23404 4536 4346 4618 4440 + 23405 4346 4501 4438 4687 + 23406 4618 4536 4687 4346 + 23407 4346 4618 4501 4687 + 23408 4540 4364 4636 4347 + 23409 4540 4636 4450 4347 + 23410 4528 4348 4721 4683 + 23411 4683 4348 4721 4614 + 23412 4614 4348 4721 4443 + 23413 4510 4422 4349 4627 + 23414 4349 4422 4596 4637 + 23415 4637 4422 4726 4349 + 23416 4422 4726 4349 4627 + 23417 4503 4668 4728 4350 + 23418 4503 4728 4588 4350 + 23419 4728 4588 4350 4418 + 23420 4509 4742 4624 4350 + 23421 4350 4742 4418 4509 + 23422 4418 4728 4742 4350 + 23423 4350 4742 4724 4668 + 23424 4742 4724 4624 4350 + 23425 4668 4742 4728 4350 + 23426 4454 4697 4351 4544 + 23427 4455 4546 4352 4632 + 23428 4632 4352 4460 4546 + 23429 4547 4631 4353 4456 + 23430 4456 4354 4746 4630 + 23431 4547 4746 4456 4354 + 23432 4746 4852 4630 4354 + 23433 4633 4456 4546 4355 + 23434 4456 4730 4631 4355 + 23435 4633 4730 4456 4355 + 23436 4851 4455 4356 4945 + 23437 4356 4851 4945 4748 + 23438 4945 4548 4459 4356 + 23439 4748 4945 4356 4548 + 23440 4356 4455 4632 4945 + 23441 4459 4632 4945 4356 + 23442 4459 4635 4357 4548 + 23443 4749 4548 4357 4635 + 23444 4357 4749 4635 4462 + 23445 4549 4358 4460 4633 + 23446 4638 4549 4729 4358 + 23447 4633 4729 4549 4358 + 23448 4729 4745 4638 4358 + 23449 4632 4460 4358 4745 + 23450 4745 4460 4358 4633 + 23451 4729 4633 4745 4358 + 23452 4945 4745 4358 4638 + 23453 4632 4358 4945 4745 + 23454 4550 4358 4945 4632 + 23455 4638 4358 4945 4550 + 23456 4551 4459 4359 4635 + 23457 4459 4359 4853 4550 + 23458 4853 4359 4459 4635 + 23459 4550 4466 4359 4853 + 23460 4853 4359 4948 4466 + 23461 4635 4551 4948 4359 + 23462 4551 4359 4637 4948 + 23463 4635 4948 4853 4359 + 23464 4948 4466 4359 4637 + 23465 4541 4634 4360 4552 + 23466 4552 4698 4360 4541 + 23467 4541 4698 4360 4750 + 23468 4750 4698 4360 4461 + 23469 4360 4541 4750 4596 + 23470 4461 4596 4360 4750 + 23471 4361 4464 4751 4691 + 23472 4554 4751 4691 4361 + 23473 4554 4465 4751 4361 + 23474 4462 4552 4362 4752 + 23475 4552 4362 4752 4463 + 23476 4363 4753 4463 4553 + 23477 4636 4363 4856 4465 + 23478 4363 4753 4553 4856 + 23479 4856 4553 4363 4636 + 23480 4723 4540 4364 4754 + 23481 4754 4540 4364 4636 + 23482 4553 4950 4364 4636 + 23483 4950 4364 4636 4754 + 23484 4950 4723 4364 4754 + 23485 4623 4364 4950 4723 + 23486 4364 4553 4634 5034 + 23487 5034 4623 4364 4950 + 23488 5034 4950 4364 4553 + 23489 4634 4364 5034 4623 + 23490 4366 4621 4539 4690 + 23491 4366 4514 4621 4690 + 23492 4469 4556 4367 4696 + 23493 4549 4367 4638 4729 + 23494 4638 4367 4545 4729 + 23495 4367 4952 4638 4545 + 23496 4545 4367 4952 4696 + 23497 4367 4952 4466 4638 + 23498 4466 4952 4367 4556 + 23499 4367 4556 4952 4696 + 23500 4467 4757 4555 4368 + 23501 4468 4555 4757 4368 + 23502 4468 4757 4628 4368 + 23503 4858 4369 4467 4639 + 23504 4639 4560 4858 4369 + 23505 4639 4560 4472 4370 + 23506 4470 4370 4563 4727 + 23507 4727 4557 4470 4370 + 23508 4370 4563 4727 4759 + 23509 4560 4760 4472 4370 + 23510 4560 4953 4760 4370 + 23511 4639 4953 4560 4370 + 23512 4555 4370 4640 4953 + 23513 4860 4953 4370 4760 + 23514 4370 4953 4555 4639 + 23515 4954 4472 4370 4563 + 23516 4954 4370 4472 4760 + 23517 4860 4370 4954 4760 + 23518 4759 4370 4954 4860 + 23519 4370 4563 4759 4954 + 23520 4640 4370 5039 4953 + 23521 4370 4860 5039 4953 + 23522 4727 5039 4557 4370 + 23523 4759 5039 4370 4860 + 23524 4640 4370 4557 5039 + 23525 4370 4727 5039 4759 + 23526 4371 4562 4667 4727 + 23527 4371 4470 4563 4727 + 23528 4470 4371 4667 4727 + 23529 4563 4473 4371 4861 + 23530 4371 4563 4861 4727 + 23531 4371 4861 4473 4562 + 23532 4371 4861 4562 4727 + 23533 4372 4761 4471 4559 + 23534 4372 4641 4761 4559 + 23535 4761 4372 4471 4561 + 23536 4558 4762 4473 4373 + 23537 4558 4762 4373 4471 + 23538 4762 4861 4473 4373 + 23539 4473 4373 4861 4563 + 23540 4762 4373 4471 5040 + 23541 4472 4373 5040 4559 + 23542 4373 4471 5040 4559 + 23543 4563 5040 4472 4373 + 23544 4861 4373 4762 5040 + 23545 4563 4861 5040 4373 + 23546 4733 4591 4642 4374 + 23547 4374 4642 4733 4471 + 23548 4474 4762 4558 4374 + 23549 4374 4471 4762 4558 + 23550 4374 4474 4762 4862 + 23551 4733 4862 4591 4374 + 23552 4374 4591 4474 4862 + 23553 4471 4955 4733 4374 + 23554 4762 4955 4471 4374 + 23555 4862 4374 4733 4955 + 23556 4862 4762 4374 4955 + 23557 4375 4561 4709 4642 + 23558 4375 4642 4709 4498 + 23559 4666 4376 4590 4706 + 23560 4376 4762 4558 4474 + 23561 4762 4558 4473 4376 + 23562 4592 4474 4956 4376 + 23563 4706 4666 4376 4956 + 23564 4706 4376 4592 4956 + 23565 4376 4956 4666 4473 + 23566 4376 4474 4956 4762 + 23567 4473 4956 4762 4376 + 23568 4649 4565 4476 4377 + 23569 4377 4475 4736 4649 + 23570 4736 4649 4476 4377 + 23571 4564 4476 4377 4736 + 23572 4378 4866 4646 4570 + 23573 4570 4378 4866 4475 + 23574 4699 4645 4379 4480 + 23575 4645 4699 4379 4566 + 23576 4379 4480 4867 4699 + 23577 4867 4476 4565 4379 + 23578 4867 4565 4480 4379 + 23579 4699 4379 4476 4867 + 23580 4380 4712 4643 4564 + 23581 4380 4507 4767 4712 + 23582 4380 4712 4767 4643 + 23583 4643 4767 4380 4477 + 23584 4507 4710 4380 4767 + 23585 4710 4380 4767 4477 + 23586 4478 4381 4644 4768 + 23587 4381 4566 4768 4478 + 23588 4768 4644 4602 4381 + 23589 4381 4566 4699 4768 + 23590 4869 4643 4699 4381 + 23591 4768 4699 4381 4869 + 23592 4381 4869 4769 4602 + 23593 4768 4381 4602 4869 + 23594 4769 4381 4602 4870 + 23595 4602 4477 4870 4381 + 23596 4769 4958 4869 4381 + 23597 4643 4869 4958 4381 + 23598 4958 4643 4381 4477 + 23599 4769 4958 4381 4870 + 23600 4958 4870 4477 4381 + 23601 4382 4768 4566 4478 + 23602 4478 4644 4382 4768 + 23603 4382 4739 4566 4768 + 23604 4382 4644 4567 4770 + 23605 4382 4770 4479 4739 + 23606 4382 4567 4479 4770 + 23607 4382 4768 4871 4739 + 23608 4382 4871 4770 4739 + 23609 4871 4770 4644 4382 + 23610 4871 4382 4644 4768 + 23611 4383 4494 4567 4644 + 23612 4494 4711 4383 4578 + 23613 4383 4711 4494 4644 + 23614 4772 4711 4383 4574 + 23615 4772 4383 4711 4578 + 23616 4772 4651 4383 4578 + 23617 4772 4574 4383 4651 + 23618 4774 4645 4384 4531 + 23619 4774 4384 4645 4480 + 23620 4385 4646 4775 4483 + 23621 4385 4483 4775 4572 + 23622 4670 4569 4386 4483 + 23623 4670 4569 4707 4386 + 23624 4569 4707 4386 4482 + 23625 4664 4568 4387 4482 + 23626 4776 4387 4664 4568 + 23627 4387 4588 4503 4776 + 23628 4776 4387 4588 4664 + 23629 4387 4503 4568 4776 + 23630 4483 4570 4877 4388 + 23631 4647 4877 4484 4388 + 23632 4483 4569 4388 4877 + 23633 4569 4388 4877 4647 + 23634 4570 4484 4877 4388 + 23635 4708 4665 4389 4573 + 23636 4708 4389 4665 4732 + 23637 4485 4390 4663 4571 + 23638 4778 4663 4390 4571 + 23639 4486 4778 4601 4390 + 23640 4390 4663 4778 4601 + 23641 4778 4571 4390 4486 + 23642 4488 4650 4574 4391 + 23643 4650 4488 4587 4391 + 23644 4587 4486 4650 4391 + 23645 4486 4571 4392 4661 + 23646 4392 4571 4648 4879 + 23647 4586 4879 4392 4660 + 23648 4661 4571 4392 4879 + 23649 4392 4660 4879 4506 + 23650 4879 4506 4648 4392 + 23651 4661 4879 4392 4586 + 23652 4487 4781 4393 4573 + 23653 4573 4515 4781 4393 + 23654 4487 4781 4573 4394 + 23655 4394 4508 4782 4665 + 23656 4880 4572 4670 4394 + 23657 4880 4487 4572 4394 + 23658 4487 4880 4781 4394 + 23659 4394 4782 4965 4665 + 23660 4965 4394 4573 4781 + 23661 4965 4880 4394 4781 + 23662 4665 4965 4394 4573 + 23663 5102 4508 4782 4394 + 23664 4707 4394 4508 5102 + 23665 4782 4965 5102 4394 + 23666 4880 5102 4965 4394 + 23667 4880 4670 5102 4394 + 23668 4707 4670 4394 5102 + 23669 4658 4700 4575 4395 + 23670 4488 4395 4700 4735 + 23671 4658 4735 4700 4395 + 23672 4395 4735 4490 4658 + 23673 4599 4396 4500 4702 + 23674 4490 4396 4658 4783 + 23675 4396 4783 4599 4500 + 23676 4783 4658 4500 4396 + 23677 4396 4783 4490 4599 + 23678 4671 4735 4490 4397 + 23679 4784 4502 4397 4671 + 23680 4502 4397 4586 4784 + 23681 4397 4586 4784 4661 + 23682 4397 4587 4661 5049 + 23683 4397 4735 4587 5049 + 23684 5049 4671 4397 4735 + 23685 4784 4397 5049 4671 + 23686 5049 4784 4661 4397 + 23687 4583 4657 4398 4489 + 23688 4399 4773 4711 4602 + 23689 4399 4477 4870 4602 + 23690 4710 4477 4870 4399 + 23691 4969 4710 4399 4601 + 23692 4710 4870 4969 4399 + 23693 4882 4399 4601 4969 + 23694 4601 4399 4882 5048 + 23695 4968 4399 5048 4882 + 23696 4399 4574 4711 5048 + 23697 5048 4650 4399 4574 + 23698 4650 5048 4399 4601 + 23699 4882 5050 4399 4969 + 23700 5050 4399 4968 4882 + 23701 4870 4969 4399 5050 + 23702 4773 4399 5050 4602 + 23703 4602 4399 5050 4870 + 23704 5103 5048 4968 4399 + 23705 5103 4968 5050 4399 + 23706 5103 5050 4773 4399 + 23707 4399 4711 5103 5048 + 23708 5103 4711 4399 4773 + 23709 4575 4652 4400 4491 + 23710 4400 4785 4654 4491 + 23711 4576 4785 4654 4400 + 23712 4400 4576 4785 4492 + 23713 4400 4785 4652 4492 + 23714 4491 4400 4785 4652 + 23715 4401 4655 4582 4495 + 23716 4401 4492 4886 4577 + 23717 4582 4401 4652 4886 + 23718 4582 4655 4401 4886 + 23719 4401 4886 4655 4577 + 23720 4492 4886 4652 4401 + 23721 4654 4576 4402 4714 + 23722 4493 4402 4576 4714 + 23723 4714 4787 4402 4654 + 23724 4787 4402 4493 4714 + 23725 4653 4402 4493 4787 + 23726 4960 4653 4402 4567 + 23727 4960 4402 4494 4567 + 23728 4787 4653 4402 4960 + 23729 4494 4402 4960 5104 + 23730 4494 4654 4402 5104 + 23731 5104 4787 4402 4960 + 23732 5104 4402 4787 4654 + 23733 4492 4576 4785 4403 + 23734 4785 4403 4576 4714 + 23735 4403 4714 4788 4606 + 23736 4606 4403 4731 4788 + 23737 4403 4492 4577 4886 + 23738 4403 4577 4731 4886 + 23739 4886 4785 4403 4492 + 23740 4714 4887 4785 4403 + 23741 4788 4887 4714 4403 + 23742 4886 4403 4971 4731 + 23743 4886 4971 4403 4785 + 23744 4788 4971 4403 4731 + 23745 4785 4403 4887 4971 + 23746 4788 4403 4971 4887 + 23747 4659 4579 4404 4790 + 23748 4495 4790 4581 4404 + 23749 4495 4579 4790 4404 + 23750 4405 4580 4793 4675 + 23751 4405 4496 4793 4580 + 23752 4406 4677 4580 4497 + 23753 4579 4791 4406 4701 + 23754 4677 4406 4791 4497 + 23755 4497 4406 4791 4701 + 23756 4677 4406 4580 4890 + 23757 4580 4496 4890 4406 + 23758 4890 4406 4496 4659 + 23759 4890 4677 4406 4791 + 23760 4890 4975 4791 4406 + 23761 4406 4890 4975 4659 + 23762 4406 4975 4579 4659 + 23763 4791 4975 4579 4406 + 23764 4795 4407 4499 4656 + 23765 4407 4888 4581 4495 + 23766 4407 4499 4581 4888 + 23767 4795 4888 4499 4407 + 23768 4407 4974 4888 4495 + 23769 4582 4407 4495 4974 + 23770 4795 4888 4407 5053 + 23771 4974 5053 4407 4888 + 23772 4795 5053 4407 4656 + 23773 4407 5053 4974 4582 + 23774 5053 4407 4656 4582 + 23775 4656 4500 4408 4584 + 23776 4884 4500 4408 4656 + 23777 4408 4500 4884 4658 + 23778 4658 4884 4408 4575 + 23779 4575 4408 4652 4970 + 23780 4408 4652 4970 4582 + 23781 4408 4884 4970 4575 + 23782 5107 4656 4884 4408 + 23783 4970 4884 4408 5107 + 23784 4408 4582 5107 4656 + 23785 4408 4970 5107 4582 + 23786 4796 4409 4516 4734 + 23787 4673 4796 4409 4516 + 23788 4795 4499 4410 4656 + 23789 4410 4657 4797 4584 + 23790 4584 4893 4410 4656 + 23791 4893 4410 4656 4795 + 23792 4584 4893 4976 4410 + 23793 4795 4976 4893 4410 + 23794 4976 4410 4797 4584 + 23795 4615 4725 4530 4411 + 23796 4411 4605 4528 4799 + 23797 4725 4528 4799 4411 + 23798 4684 4530 4799 4411 + 23799 4530 4725 4799 4411 + 23800 4684 4799 4605 4411 + 23801 4501 4800 4412 4625 + 23802 4618 4800 4412 4501 + 23803 4771 4413 4479 4739 + 23804 4585 4771 4695 4413 + 23805 4585 4479 4771 4413 + 23806 4617 4531 4413 4801 + 23807 4617 4413 4695 4801 + 23808 4801 4413 4896 4531 + 23809 4896 4695 4771 4413 + 23810 4413 4896 4695 4801 + 23811 5043 4896 4413 4531 + 23812 4413 4645 5043 4531 + 23813 4896 4771 5043 4413 + 23814 4771 4413 4739 5043 + 23815 4739 5043 4413 4645 + 23816 4414 4737 4603 4704 + 23817 4737 4704 4414 4648 + 23818 4737 4485 4648 4414 + 23819 4414 4876 4703 4568 + 23820 4414 4876 4504 4704 + 23821 4414 4504 4876 4568 + 23822 4414 4603 4703 4876 + 23823 4414 4603 4876 4704 + 23824 4662 4706 4590 4415 + 23825 4780 4415 4589 4648 + 23826 4506 4415 4706 4780 + 23827 4506 4648 4415 4780 + 23828 4589 4662 4415 4780 + 23829 4662 4415 4780 4706 + 23830 4568 4416 4504 4776 + 23831 4776 4416 4503 4568 + 23832 4416 4776 4503 4668 + 23833 4416 4900 4776 4668 + 23834 4776 4504 4900 4416 + 23835 4900 4595 4668 4416 + 23836 4900 4981 4595 4416 + 23837 4981 4662 4416 4504 + 23838 4981 4504 4416 4900 + 23839 4416 4662 4981 4505 + 23840 4595 4416 4981 4505 + 23841 4591 4705 4517 4417 + 23842 4600 4897 4806 4417 + 23843 4705 4897 4517 4417 + 23844 4705 4502 4897 4417 + 23845 4600 4517 4897 4417 + 23846 4897 4806 4417 4671 + 23847 4897 4417 4502 4671 + 23848 4417 4903 4806 4600 + 23849 4417 4903 4516 4672 + 23850 4417 4516 4903 4600 + 23851 4672 5062 4599 4417 + 23852 4903 4806 5062 4417 + 23853 4417 5062 4903 4672 + 23854 4671 5062 4417 4599 + 23855 4417 4806 5062 4671 + 23856 4664 4728 4418 4588 + 23857 4508 4664 4728 4418 + 23858 4904 4418 4508 4728 + 23859 4509 4418 4904 4742 + 23860 4904 4665 4508 4418 + 23861 4904 4509 4665 4418 + 23862 4418 4742 4728 4904 + 23863 4419 4562 4666 4865 + 23864 4511 4865 4562 4419 + 23865 4505 4593 4419 4982 + 23866 4982 4511 4419 4865 + 23867 4593 4511 4419 4982 + 23868 4982 4419 5060 4865 + 23869 4419 5060 4505 4982 + 23870 4419 4666 5060 4865 + 23871 4590 5060 4419 4666 + 23872 4419 5060 4590 4505 + 23873 4420 4805 4505 4595 + 23874 4505 4420 4593 4805 + 23875 4809 4420 4510 4594 + 23876 4510 4809 4905 4420 + 23877 4420 4905 4593 4805 + 23878 4510 4905 4593 4420 + 23879 4595 4420 4805 4985 + 23880 4668 4594 4420 4985 + 23881 4805 4420 4905 4985 + 23882 4420 4809 4905 4985 + 23883 4420 4594 4809 4985 + 23884 4668 4420 4595 4985 + 23885 4726 4556 4421 4756 + 23886 4421 4556 4538 4756 + 23887 4726 4421 4627 4756 + 23888 4510 4421 4905 4627 + 23889 4905 4511 4627 4421 + 23890 4593 4511 4905 4421 + 23891 4510 4905 4421 4593 + 23892 4906 4421 4627 4511 + 23893 4667 4421 4538 4906 + 23894 4906 4667 4421 4511 + 23895 4421 4906 4627 4756 + 23896 4421 4538 4906 4756 + 23897 4596 4750 4637 4422 + 23898 4726 4422 4637 4750 + 23899 4726 4627 4422 4750 + 23900 4809 4510 4422 4594 + 23901 4422 4510 4809 4627 + 23902 4907 4594 4809 4422 + 23903 4907 4512 4594 4422 + 23904 4750 4596 4989 4422 + 23905 4989 4512 4422 4596 + 23906 4989 4512 4907 4422 + 23907 4422 4627 4809 5138 + 23908 5138 4809 4422 4907 + 23909 4422 4750 4627 5138 + 23910 4750 4989 5138 4422 + 23911 5138 4422 4989 4907 + 23912 4741 4542 4724 4423 + 23913 4423 4542 4812 4741 + 23914 4623 4423 4542 4812 + 23915 4812 4623 4423 4541 + 23916 4512 4741 4423 4907 + 23917 4812 4741 4907 4423 + 23918 4512 4423 4989 4907 + 23919 4812 4423 4989 4541 + 23920 4596 4541 4989 4423 + 23921 4989 4423 4512 4596 + 23922 4812 4907 4989 4423 + 23923 4513 4722 4598 4424 + 23924 4513 4722 4424 4597 + 23925 4722 4513 4598 4425 + 23926 4513 4722 4597 4425 + 23927 4722 4669 4597 4425 + 23928 4598 4425 4513 4732 + 23929 4669 4425 4722 4740 + 23930 4722 4598 4813 4425 + 23931 4740 4425 4722 4813 + 23932 4598 4908 4425 4732 + 23933 4425 4813 4908 4598 + 23934 4908 4425 4732 4543 + 23935 4543 4908 4425 4740 + 23936 4813 4740 4425 4908 + 23937 4813 4598 4426 4908 + 23938 4908 4598 4426 4732 + 23939 4708 4908 4426 4732 + 23940 4813 4426 4991 4908 + 23941 4426 5111 4908 4708 + 23942 4426 4515 5111 4708 + 23943 4426 4908 5111 4991 + 23944 4427 4674 4712 4484 + 23945 4712 4507 4767 4427 + 23946 4507 4744 4767 4427 + 23947 4674 4868 4427 4712 + 23948 4816 4674 4868 4427 + 23949 4767 4427 4868 4712 + 23950 4427 4674 4484 4877 + 23951 4877 4427 4647 4484 + 23952 4427 4816 4674 4877 + 23953 4518 4427 4996 4744 + 23954 4816 4868 4996 4427 + 23955 4996 4427 4868 4767 + 23956 4744 4427 4996 4767 + 23957 4816 4427 4996 5046 + 23958 4996 4427 4518 5046 + 23959 4816 4877 4427 5046 + 23960 5046 4877 4427 4647 + 23961 5046 4427 4518 4647 + 23962 4429 4681 4716 4519 + 23963 4429 4716 4819 4604 + 23964 4429 4819 4521 4604 + 23965 4681 4429 4716 4819 + 23966 4820 4608 4681 4429 + 23967 4521 4429 4608 4820 + 23968 4681 4913 4429 4819 + 23969 4521 4913 4819 4429 + 23970 4913 4429 4521 4820 + 23971 4820 4681 4913 4429 + 23972 4580 4677 4793 4430 + 23973 4675 4430 4580 4793 + 23974 4675 4521 4430 4821 + 23975 4677 4793 4430 4914 + 23976 4914 4430 4675 4793 + 23977 4821 4430 4675 4914 + 23978 4715 4607 4430 4915 + 23979 4521 5000 4715 4430 + 23980 5000 4715 4430 4915 + 23981 4521 4821 5000 4430 + 23982 4915 5000 4821 4430 + 23983 4821 5001 4430 4914 + 23984 4677 4430 5001 4914 + 23985 4915 4821 5001 4430 + 23986 4607 4430 4915 5001 + 23987 4677 5001 4430 4713 + 23988 4607 5001 4713 4430 + 23989 4497 4794 4431 4680 + 23990 4431 4713 4794 4497 + 23991 4523 4431 4822 4676 + 23992 4431 4679 4523 4822 + 23993 4522 4822 4431 4676 + 23994 4823 4431 4680 4522 + 23995 4679 4431 4713 4916 + 23996 4794 4713 4431 4916 + 23997 4916 4431 4822 4679 + 23998 5002 4916 4794 4431 + 23999 5002 4916 4431 4823 + 24000 5002 4431 4794 4680 + 24001 4431 4680 5002 4823 + 24002 4916 4823 5003 4431 + 24003 4916 5003 4822 4431 + 24004 5003 4431 4823 4522 + 24005 5003 4822 4431 4522 + 24006 4610 4523 4432 4678 + 24007 4738 4432 4719 4683 + 24008 4432 4523 4610 4824 + 24009 4738 4432 4610 4824 + 24010 4719 4738 4824 4432 + 24011 4432 4676 4918 4719 + 24012 4918 4523 4676 4432 + 24013 4719 4824 4918 4432 + 24014 4432 4918 4523 4824 + 24015 4433 4615 4493 4787 + 24016 4433 4493 4714 4787 + 24017 4887 4714 4787 4433 + 24018 4433 4972 4615 4787 + 24019 5004 4530 4606 4433 + 24020 5004 4606 4714 4433 + 24021 4887 4787 5008 4433 + 24022 5008 4433 5075 4887 + 24023 4714 5075 4433 4887 + 24024 4714 5075 5004 4433 + 24025 5075 4433 5008 5120 + 24026 4433 4972 4787 5120 + 24027 5120 4787 4433 5008 + 24028 5075 5144 5004 4433 + 24029 5075 5144 4433 5120 + 24030 4530 4615 4433 5144 + 24031 4615 5144 4972 4433 + 24032 4530 4433 5004 5144 + 24033 5144 5120 4972 4433 + 24034 4717 4827 4434 4525 + 24035 4434 4525 4827 4682 + 24036 4827 4682 4527 4434 + 24037 4920 4434 4717 4827 + 24038 4920 4434 4524 4717 + 24039 4678 4610 4523 4435 + 24040 4678 4523 4715 4435 + 24041 4715 4678 4435 4608 + 24042 4820 4718 4608 4435 + 24043 4715 4820 4608 4435 + 24044 4824 4523 4610 4435 + 24045 4435 4610 4824 4526 + 24046 4435 4715 4820 4915 + 24047 4715 4915 4435 4523 + 24048 4435 4922 4611 4526 + 24049 4435 4824 4922 4526 + 24050 4824 5005 4523 4435 + 24051 5005 4523 4435 4915 + 24052 4435 4820 5078 4915 + 24053 4820 5078 4718 4435 + 24054 4611 4435 4718 5078 + 24055 4611 4922 4435 5078 + 24056 5005 4435 5121 4915 + 24057 5121 4435 5078 4915 + 24058 4435 5121 5078 4922 + 24059 4824 4435 5121 5005 + 24060 5121 4922 4435 4824 + 24061 4612 4828 4526 4436 + 24062 4436 4525 4682 4921 + 24063 4682 4829 4436 4921 + 24064 4436 4611 4525 4921 + 24065 4612 4682 4924 4436 + 24066 4682 4829 4924 4436 + 24067 4612 4924 4828 4436 + 24068 4526 4436 4828 5011 + 24069 4436 4924 4828 5011 + 24070 4526 4611 4436 5011 + 24071 4611 4921 4436 5080 + 24072 5080 4829 4921 4436 + 24073 4924 5080 5011 4436 + 24074 4924 4436 4829 5080 + 24075 4611 5011 5080 4436 + 24076 4437 4688 4527 4613 + 24077 4924 4437 4829 4682 + 24078 4924 4612 4437 4682 + 24079 4689 4924 4612 4437 + 24080 4925 4527 4437 4688 + 24081 4437 4925 4688 4537 + 24082 4437 4831 4925 5012 + 24083 4925 5012 4537 4437 + 24084 4437 4689 5012 4537 + 24085 5013 4437 4527 4682 + 24086 5013 4527 4437 4925 + 24087 5013 4831 4925 4437 + 24088 4829 4437 5013 4682 + 24089 4831 4437 5081 5012 + 24090 4437 5081 4924 4829 + 24091 5081 4924 4689 4437 + 24092 4829 5013 4437 5081 + 24093 4689 5081 4437 5012 + 24094 4437 5081 5013 4831 + 24095 4693 4501 4438 4614 + 24096 4619 4535 4438 4720 + 24097 4693 4438 4535 4720 + 24098 4720 4693 4438 4614 + 24099 4438 4800 4501 4693 + 24100 4438 4501 4800 4687 + 24101 4535 4687 4438 4800 + 24102 4693 4438 4800 4535 + 24103 4529 4439 4720 4619 + 24104 4439 4526 4612 4828 + 24105 4526 4738 4828 4439 + 24106 4738 4828 4439 4529 + 24107 4439 4612 4689 4828 + 24108 4439 4689 4619 4927 + 24109 4529 4828 4439 4927 + 24110 4529 4927 4439 4619 + 24111 4439 4689 4927 4828 + 24112 4617 4531 4801 4441 + 24113 4801 4441 4685 4617 + 24114 4836 4442 4625 4533 + 24115 4442 4616 4533 4836 + 24116 4616 4532 4931 4442 + 24117 4931 4442 4836 4616 + 24118 4832 4693 4614 4443 + 24119 4686 4721 4443 4832 + 24120 4832 4443 4614 4721 + 24121 4443 4686 4832 5085 + 24122 4443 4616 4686 5085 + 24123 4533 4693 5085 4443 + 24124 4443 5085 4533 4616 + 24125 4693 4832 5085 4443 + 24126 4532 4837 4685 4444 + 24127 4532 4837 4444 4616 + 24128 4932 5019 4837 4444 + 24129 5019 4837 4444 4685 + 24130 4444 4617 5019 4685 + 24131 4444 4932 5019 4626 + 24132 4534 5019 4444 4617 + 24133 4444 5019 4534 4626 + 24134 4626 4932 5020 4444 + 24135 5020 4444 4837 4616 + 24136 4932 4837 5020 4444 + 24137 4444 4616 5020 4686 + 24138 4444 5020 4626 4686 + 24139 4479 4445 4653 4585 + 24140 4445 4695 4534 4585 + 24141 4479 4445 4585 4771 + 24142 4445 4771 4695 4585 + 24143 4445 4838 4534 4695 + 24144 4694 4445 4838 4534 + 24145 4445 4653 4872 4479 + 24146 4479 4872 4445 4771 + 24147 4653 4972 4615 4445 + 24148 4653 4445 4872 4972 + 24149 4694 4615 4972 4445 + 24150 4445 4694 4838 5087 + 24151 4445 4695 4771 5087 + 24152 4445 5087 4838 4695 + 24153 5087 4445 4694 4972 + 24154 4872 4445 4771 5087 + 24155 4872 4972 4445 5087 + 24156 4839 4619 4446 4537 + 24157 4934 4446 4839 4619 + 24158 4934 4619 4535 4446 + 24159 4620 4935 4446 4537 + 24160 4839 4537 4446 4935 + 24161 5022 4446 4935 4839 + 24162 5022 4446 4839 4934 + 24163 5088 4535 4687 4446 + 24164 4934 4535 5088 4446 + 24165 4688 4840 4447 4620 + 24166 4448 4732 4708 4665 + 24167 4904 4509 4448 4665 + 24168 4624 4509 4448 4904 + 24169 4908 4448 4732 4708 + 24170 4732 4543 4448 4908 + 24171 4904 5024 4841 4448 + 24172 4543 4448 5024 4624 + 24173 4624 4448 5024 4904 + 24174 4448 4708 5065 4665 + 24175 4908 5065 4448 4708 + 24176 4904 4841 5065 4448 + 24177 4448 4841 5065 4908 + 24178 4904 4448 5065 4665 + 24179 4841 4908 4448 5092 + 24180 4543 4448 4908 5092 + 24181 5092 5024 4543 4448 + 24182 5092 4841 5024 4448 + 24183 4597 4514 4669 4449 + 24184 4722 4669 4449 4597 + 24185 4514 4449 4621 4909 + 24186 4669 4909 4449 4514 + 24187 4990 4449 4722 4669 + 24188 4990 4449 4669 4909 + 24189 4754 4450 4540 4636 + 24190 4450 4754 4540 4622 + 24191 4755 4690 4450 4554 + 24192 4450 4690 4909 4514 + 24193 4690 4909 4755 4450 + 24194 4450 4909 4622 4514 + 24195 4754 4622 4450 4936 + 24196 4450 4754 4951 4636 + 24197 4755 4450 4951 4554 + 24198 4754 4450 4951 4936 + 24199 4450 4951 4554 4636 + 24200 4755 4951 4450 5093 + 24201 5093 4622 4450 4909 + 24202 5093 4450 4755 4909 + 24203 4936 4622 4450 5093 + 24204 4936 4450 4951 5093 + 24205 4692 4723 4451 4540 + 24206 4451 4669 4622 4740 + 24207 4451 4540 4754 4622 + 24208 4754 4723 4540 4451 + 24209 4451 4842 4740 4622 + 24210 4692 4723 4937 4451 + 24211 4692 4937 4543 4451 + 24212 4451 5025 4842 4622 + 24213 4937 4451 5025 4842 + 24214 5025 4451 4723 4754 + 24215 4451 5025 4622 4754 + 24216 4937 4451 4723 5025 + 24217 4451 5092 4740 4842 + 24218 5092 4451 4740 4543 + 24219 4451 4937 5092 4842 + 24220 4451 4937 4543 5092 + 24221 4557 4469 4758 4452 + 24222 4763 4452 4667 4727 + 24223 4758 4859 4452 4469 + 24224 4696 4452 4859 4469 + 24225 4667 4986 4538 4452 + 24226 4986 4667 4763 4452 + 24227 4452 5029 4859 4758 + 24228 4848 4859 4452 5029 + 24229 4452 5039 5029 4758 + 24230 5039 4452 4557 4758 + 24231 4452 5039 4557 4727 + 24232 4848 4986 4452 5091 + 24233 4538 4696 4452 5091 + 24234 4859 4848 4452 5091 + 24235 4859 4452 4696 5091 + 24236 4538 4452 4986 5091 + 24237 5133 4452 5039 5029 + 24238 4848 4452 5133 5029 + 24239 5133 5146 4452 4848 + 24240 4727 5039 5146 4452 + 24241 5146 4452 5039 5133 + 24242 5146 4986 4452 4848 + 24243 5146 4986 4763 4452 + 24244 4763 5146 4452 4727 + 24245 4453 4628 4468 4758 + 24246 4453 4469 4758 4557 + 24247 4453 4557 4758 4468 + 24248 4453 4743 4758 4469 + 24249 4453 4544 5030 4743 + 24250 4628 5030 4453 4697 + 24251 4453 5030 4544 4697 + 24252 5030 4758 4453 4743 + 24253 4453 5030 4628 4758 + 24254 4629 4454 4850 4730 + 24255 4544 4454 4697 4942 + 24256 4629 4942 4850 4454 + 24257 4629 4544 4942 4454 + 24258 4455 4745 4546 4632 + 24259 4455 4546 4745 4630 + 24260 4851 4630 4455 4745 + 24261 4745 4632 4455 4945 + 24262 4851 4745 4455 4945 + 24263 4631 4746 4456 4547 + 24264 4456 4631 4730 4746 + 24265 4946 4456 4746 4630 + 24266 4946 4456 4633 4730 + 24267 4456 4730 4946 4746 + 24268 4456 4630 4946 4546 + 24269 4946 4456 4546 4633 + 24270 4459 4853 4635 4548 + 24271 4550 4459 4945 4853 + 24272 4459 4548 4945 4853 + 24273 4550 4945 4459 4632 + 24274 4632 4460 4745 4546 + 24275 4745 4460 4633 4546 + 24276 4750 4551 4698 4461 + 24277 4461 4637 4596 4750 + 24278 4551 4750 4637 4461 + 24279 4698 4635 4749 4462 + 24280 4462 4698 4552 4752 + 24281 4854 4462 4752 4698 + 24282 4462 4854 4749 4698 + 24283 4463 4855 4949 4753 + 24284 4949 4463 4752 4855 + 24285 4634 4949 4463 4552 + 24286 4949 4463 4753 4553 + 24287 4949 4553 4634 4463 + 24288 4552 4752 4949 4463 + 24289 4857 4554 4465 4751 + 24290 4636 4856 4951 4465 + 24291 4465 4554 4951 4636 + 24292 4951 4554 4465 4857 + 24293 4951 5036 4465 4856 + 24294 4465 5036 4857 4751 + 24295 4857 5036 4465 4951 + 24296 4556 4466 4756 4726 + 24297 4550 4638 4466 4853 + 24298 4756 4853 4948 4466 + 24299 4948 4726 4466 4637 + 24300 4756 4466 4948 4726 + 24301 4952 4466 4756 4556 + 24302 4466 4756 4853 4952 + 24303 4466 4853 4638 4952 + 24304 4467 4757 4858 4555 + 24305 4467 4858 4639 4555 + 24306 4468 4757 4640 4628 + 24307 4640 4468 4555 4757 + 24308 4640 4468 4758 4557 + 24309 4628 4468 4758 4640 + 24310 4469 4758 4859 4743 + 24311 4469 4859 4696 4743 + 24312 4733 4642 4561 4471 + 24313 4955 4561 4471 4733 + 24314 4761 4561 4471 4955 + 24315 4762 4471 4955 5040 + 24316 4471 5040 4559 4761 + 24317 5040 4955 4761 4471 + 24318 4472 4760 4560 4641 + 24319 4472 4760 4641 4863 + 24320 4954 4472 4863 4760 + 24321 4472 5040 4641 4559 + 24322 4954 4863 4472 5040 + 24323 4863 4641 4472 5040 + 24324 4954 4472 4563 5040 + 24325 4861 4666 4473 4562 + 24326 4762 4956 4473 5041 + 24327 4762 4473 4861 5041 + 24328 4473 4956 4666 5041 + 24329 4473 4861 5041 4666 + 24330 4592 4474 4705 4764 + 24331 4705 4474 4591 4862 + 24332 4862 4705 4474 4764 + 24333 4764 4474 4862 4956 + 24334 4764 4592 4474 4956 + 24335 4862 4956 4474 4762 + 24336 4765 4475 4736 4674 + 24337 4765 4475 4649 4736 + 24338 4765 4866 4475 4674 + 24339 4674 4570 4866 4475 + 24340 4564 4643 4476 4736 + 24341 4476 4736 4766 4649 + 24342 4643 4476 4766 4699 + 24343 4736 4476 4766 4643 + 24344 4867 4649 4565 4476 + 24345 4766 4867 4476 4649 + 24346 4699 4476 4766 4867 + 24347 4767 4477 4870 4710 + 24348 4643 4958 4767 4477 + 24349 4870 4958 4477 4767 + 24350 4959 4739 4479 4770 + 24351 4739 4771 4959 4479 + 24352 4479 4959 4770 4872 + 24353 4479 4771 4959 4872 + 24354 4960 4479 4770 4872 + 24355 4653 4960 4479 4567 + 24356 4653 4872 4479 4960 + 24357 4567 4479 4770 4960 + 24358 4699 4874 4645 4480 + 24359 4874 4774 4645 4480 + 24360 4699 4480 4961 4874 + 24361 4874 4961 4774 4480 + 24362 4867 4480 4961 4699 + 24363 4482 4569 4777 4647 + 24364 4482 4777 4703 4647 + 24365 4482 4569 4707 4777 + 24366 4664 4875 4568 4482 + 24367 4664 4707 4875 4482 + 24368 4707 4875 4482 4777 + 24369 4703 4875 4482 4568 + 24370 4703 4875 4777 4482 + 24371 4670 4483 4572 4775 + 24372 4670 4962 4483 4775 + 24373 4670 4962 4569 4483 + 24374 4483 4962 4569 4877 + 24375 5045 4775 4646 4483 + 24376 4877 4483 4962 5045 + 24377 4570 4483 5045 4646 + 24378 4877 4570 4483 5045 + 24379 4962 4483 4775 5045 + 24380 4484 4674 4570 4877 + 24381 4485 4648 4571 4737 + 24382 4737 4485 4663 4571 + 24383 4486 4778 4571 4661 + 24384 4779 4587 4486 4650 + 24385 4779 4650 4486 4601 + 24386 4486 4601 4778 4963 + 24387 4587 4486 4963 4779 + 24388 4601 4963 4486 4779 + 24389 4963 4778 4486 4661 + 24390 4661 4963 4587 4486 + 24391 4651 4772 4488 4700 + 24392 4772 4488 4574 4651 + 24393 4587 4881 4735 4488 + 24394 4881 4488 4587 4650 + 24395 4967 4700 4735 4488 + 24396 4881 4735 4488 4967 + 24397 4772 4967 4488 4700 + 24398 5048 4772 4967 4488 + 24399 5048 4650 4574 4488 + 24400 5048 4881 4650 4488 + 24401 4772 5048 4574 4488 + 24402 5048 4967 4881 4488 + 24403 4489 4584 4702 4657 + 24404 4489 4583 4657 4702 + 24405 4599 4490 4671 4783 + 24406 4783 4735 4490 4671 + 24407 4658 4735 4490 4783 + 24408 4700 4786 4575 4491 + 24409 4883 4654 4785 4491 + 24410 4883 4578 4654 4491 + 24411 4491 4883 4786 4970 + 24412 4970 4785 4652 4491 + 24413 4970 4883 4785 4491 + 24414 4491 4786 4575 4970 + 24415 4575 4970 4652 4491 + 24416 4786 4700 5051 4491 + 24417 4883 4578 4491 5051 + 24418 4786 5051 4883 4491 + 24419 5051 4700 4651 4491 + 24420 4651 4491 4578 5051 + 24421 4886 4652 4785 4492 + 24422 4787 4615 4493 4653 + 24423 4494 4644 4770 4567 + 24424 4578 4873 4494 4711 + 24425 4711 4494 4644 4873 + 24426 4567 4770 4494 4960 + 24427 4770 4494 5042 4644 + 24428 4960 4770 4494 5042 + 24429 4494 5042 4644 4873 + 24430 4654 4494 4578 5104 + 24431 5104 4494 4578 4873 + 24432 5104 5042 4494 4873 + 24433 5104 4494 5042 4960 + 24434 4790 4495 4581 4888 + 24435 4790 4974 4495 4888 + 24436 4974 4495 4579 4790 + 24437 4582 4495 4655 4974 + 24438 4579 4495 4974 4655 + 24439 4793 4580 4496 4890 + 24440 4497 4731 4701 4680 + 24441 4497 4713 4794 4677 + 24442 4497 4701 4891 4680 + 24443 4497 4794 4891 4677 + 24444 4497 4701 4791 4891 + 24445 4497 4891 4791 4677 + 24446 4680 4497 4794 4891 + 24447 4884 4500 4656 4798 + 24448 4893 4656 4500 4798 + 24449 4893 4500 4656 4584 + 24450 4894 4584 4702 4500 + 24451 4894 4702 4599 4500 + 24452 4500 4584 4893 4976 + 24453 4584 4976 4500 4894 + 24454 4894 4599 4977 4500 + 24455 4977 4895 4500 4783 + 24456 4977 4500 4599 4783 + 24457 4500 4976 5054 4894 + 24458 5054 4976 4500 4893 + 24459 4500 4894 5054 4977 + 24460 5054 4500 4798 4893 + 24461 5054 4500 4977 4895 + 24462 5054 4798 4500 4895 + 24463 5055 4500 4783 4658 + 24464 4884 5055 4658 4500 + 24465 5055 4798 4895 4500 + 24466 5055 4895 4783 4500 + 24467 4884 4798 5055 4500 + 24468 4800 4693 4625 4501 + 24469 4618 4800 4501 4687 + 24470 4660 4586 4784 4502 + 24471 4660 4502 4897 4705 + 24472 4502 4897 4978 4660 + 24473 4502 4671 4978 4897 + 24474 4660 4784 4978 4502 + 24475 4978 4671 4502 4784 + 24476 4776 4728 4588 4503 + 24477 4776 4668 4728 4503 + 24478 4876 4589 4504 4704 + 24479 4568 4504 4876 4776 + 24480 4504 4589 4980 4803 + 24481 4980 4589 4504 4876 + 24482 4981 4589 4504 4803 + 24483 4803 4900 4504 4981 + 24484 4662 4504 4981 4589 + 24485 4504 4803 4980 5057 + 24486 4504 4803 5057 4900 + 24487 4900 4504 4776 5057 + 24488 5057 4504 4876 4980 + 24489 4876 4504 5057 4776 + 24490 4505 4662 4901 4590 + 24491 4505 4901 4981 4805 + 24492 4595 4981 4805 4505 + 24493 4901 4662 4505 4981 + 24494 4805 4593 4505 4982 + 24495 4805 4505 5060 4982 + 24496 4505 4901 5060 4590 + 24497 4805 4505 4901 5060 + 24498 4780 4879 4506 4648 + 24499 4898 4592 4706 4506 + 24500 4898 4660 4592 4506 + 24501 4898 4983 4506 4706 + 24502 4506 4706 4983 4780 + 24503 4506 4780 4983 5056 + 24504 4506 4879 4780 5056 + 24505 4506 4660 5056 4898 + 24506 4506 5056 4983 4898 + 24507 4879 4506 4660 5056 + 24508 4663 4507 4744 4710 + 24509 4744 4507 4767 4710 + 24510 4508 4875 4808 4728 + 24511 4508 4875 4664 4707 + 24512 4508 4664 4875 4728 + 24513 4665 4904 4508 4782 + 24514 4904 4508 4808 4728 + 24515 4782 4904 4508 4984 + 24516 4508 4808 4984 4904 + 24517 4984 5064 4808 4508 + 24518 4984 4782 5064 4508 + 24519 4508 4707 5064 4875 + 24520 4508 5064 4808 4875 + 24521 5102 4782 4508 5064 + 24522 5102 4508 4707 5064 + 24523 4742 4509 4624 4904 + 24524 4510 4905 4809 4627 + 24525 4763 4511 4562 4667 + 24526 4562 4865 4511 4763 + 24527 4810 4865 4511 4982 + 24528 4810 4511 4905 4982 + 24529 4593 4905 4511 4982 + 24530 4986 4511 4906 4810 + 24531 4865 4986 4511 4763 + 24532 4810 4865 4986 4511 + 24533 4511 4906 4667 4986 + 24534 4763 4986 4511 4667 + 24535 4627 4905 4987 4511 + 24536 4810 4905 4511 4987 + 24537 4810 4511 4906 4987 + 24538 4627 4987 4906 4511 + 24539 4741 4907 4512 4594 + 24540 4514 4909 4621 4690 + 24541 4669 4622 4909 4514 + 24542 4708 4515 4781 4573 + 24543 5111 4515 4781 4708 + 24544 4672 4796 4516 4734 + 24545 4672 4796 4903 4516 + 24546 4796 4673 4992 4516 + 24547 4516 4992 4796 4903 + 24548 4673 4600 4992 4516 + 24549 4516 4600 4992 4903 + 24550 4862 4705 4517 4591 + 24551 4591 4862 4733 4517 + 24552 4994 4517 4897 4600 + 24553 4705 5063 4862 4517 + 24554 4897 4705 4517 5063 + 24555 4897 4517 4994 5063 + 24556 4862 5112 4517 5063 + 24557 4600 5112 4994 4517 + 24558 4994 4517 5112 5063 + 24559 4517 5112 4862 4733 + 24560 4517 4600 5112 4733 + 24561 4518 4777 4647 4703 + 24562 4703 4603 4518 4802 + 24563 4518 4899 4777 4703 + 24564 4703 4518 4899 4802 + 24565 4744 4518 4603 4912 + 24566 4802 4603 4518 4912 + 24567 4744 4518 4912 4996 + 24568 4899 4518 4777 5046 + 24569 4518 4777 5046 4647 + 24570 4912 4996 4518 5115 + 24571 4899 4518 5115 4802 + 24572 5115 4996 4518 5046 + 24573 4899 4518 5046 5115 + 24574 4802 4518 5115 4912 + 24575 4717 4519 4818 4681 + 24576 4716 4818 4519 4681 + 24577 4609 4519 4818 4717 + 24578 4521 4820 4608 4715 + 24579 4821 4913 4999 4521 + 24580 4521 4675 4604 4999 + 24581 4521 4821 4675 4999 + 24582 4521 4819 4913 4999 + 24583 4521 4604 4819 4999 + 24584 4913 5000 4820 4521 + 24585 4913 4821 5000 4521 + 24586 4521 5000 4820 4715 + 24587 4823 4522 4680 4892 + 24588 4606 4680 4522 4892 + 24589 4917 4684 4522 4823 + 24590 4522 4917 4823 5003 + 24591 4522 4606 5004 4684 + 24592 5004 4606 4522 4892 + 24593 5004 4522 4823 4892 + 24594 5004 4522 4684 4823 + 24595 4917 4522 4684 5072 + 24596 5003 4822 4522 5072 + 24597 5072 4522 4684 4605 + 24598 5072 4822 4522 4676 + 24599 4522 5072 4917 5003 + 24600 5072 4676 4522 4605 + 24601 4523 4678 4715 4607 + 24602 4523 4715 4915 4607 + 24603 4523 4915 4679 4607 + 24604 4822 4676 4918 4523 + 24605 4822 4679 4523 5005 + 24606 4915 4523 4679 5005 + 24607 5005 4523 4918 4824 + 24608 4822 4523 4918 5005 + 24609 4609 4920 4524 4717 + 24610 4826 4718 4525 4681 + 24611 4525 4717 4826 4681 + 24612 4611 4718 4525 4826 + 24613 4827 4525 4921 4682 + 24614 4611 4525 4921 4826 + 24615 4826 4525 4921 5077 + 24616 4717 4827 4525 5077 + 24617 4827 4921 4525 5077 + 24618 4826 4717 4525 5077 + 24619 4610 4526 4738 4824 + 24620 4738 4828 4923 4526 + 24621 4526 4923 4738 4824 + 24622 4611 4922 5011 4526 + 24623 4923 4828 5011 4526 + 24624 5079 4526 5011 4922 + 24625 4923 5011 5079 4526 + 24626 4526 5079 4923 4824 + 24627 4824 4526 5079 4922 + 24628 4682 5013 4827 4527 + 24629 4926 4721 4528 4686 + 24630 4528 4686 4725 4926 + 24631 4926 4725 4528 4799 + 24632 4799 4926 5014 4528 + 24633 4528 4719 5014 5072 + 24634 4799 5014 5072 4528 + 24635 5072 4528 4719 4605 + 24636 5072 4799 4528 4605 + 24637 4721 4926 4528 5082 + 24638 5082 4528 5014 4926 + 24639 4721 4528 4683 5082 + 24640 4719 4528 5014 5082 + 24641 4719 4683 4528 5082 + 24642 4834 4529 4720 4619 + 24643 4738 4923 4828 4529 + 24644 4834 4927 4529 4619 + 24645 4720 4928 4529 4834 + 24646 4529 4833 4929 5015 + 24647 4835 5016 4927 4529 + 24648 4834 4927 5016 4529 + 24649 4529 4928 4720 5082 + 24650 4529 4720 4683 5082 + 24651 4683 4738 4529 5082 + 24652 5082 4929 4529 4833 + 24653 5082 4529 4928 4833 + 24654 5083 4835 4927 4529 + 24655 5083 4828 4923 4529 + 24656 5083 5015 4835 4529 + 24657 5083 4828 4529 4927 + 24658 4529 4929 5083 5015 + 24659 4928 4529 4834 5084 + 24660 5084 4529 4835 5015 + 24661 5016 5084 4834 4529 + 24662 4833 4928 5084 4529 + 24663 4833 5084 5015 4529 + 24664 5016 4835 5084 4529 + 24665 4529 4738 4923 5124 + 24666 5082 4929 5124 4529 + 24667 4529 5083 4929 5124 + 24668 5082 5124 4738 4529 + 24669 4529 4923 5083 5124 + 24670 4615 4930 4530 4725 + 24671 4799 4930 4725 4530 + 24672 4530 5004 4606 4684 + 24673 4530 5144 5004 4684 + 24674 5144 4684 4530 4799 + 24675 4930 4615 4530 5144 + 24676 4930 4530 4799 5144 + 24677 4896 4801 4531 5018 + 24678 4531 4645 5043 4774 + 24679 4531 5043 5018 4774 + 24680 4896 4531 5043 5018 + 24681 4532 4931 4837 4616 + 24682 4836 4625 4693 4533 + 24683 4533 4836 4616 5085 + 24684 4533 4693 4836 5085 + 24685 4694 4838 4626 4534 + 24686 4617 4695 4534 5019 + 24687 4626 5019 4534 4838 + 24688 5019 4534 4838 4695 + 24689 4834 4619 4720 4535 + 24690 4535 4693 4933 4800 + 24691 4834 4619 4535 4934 + 24692 4834 4720 5017 4535 + 24693 4693 4720 4535 5017 + 24694 5017 4535 4693 4933 + 24695 5088 4535 4834 5017 + 24696 4535 4933 5088 4800 + 24697 4535 4834 4934 5088 + 24698 4535 5088 4687 4800 + 24699 4933 4535 5088 5017 + 24700 4537 4689 5089 4619 + 24701 4689 5089 5012 4537 + 24702 4839 5089 4619 4537 + 24703 5012 4537 5089 4839 + 24704 4925 4537 5090 4688 + 24705 4935 4537 4620 5090 + 24706 4925 5090 4537 5012 + 24707 5090 4688 4537 4620 + 24708 5012 5128 4537 4839 + 24709 4537 5090 4935 5128 + 24710 5012 5128 5090 4537 + 24711 4839 5128 4537 4935 + 24712 4538 4952 4556 4696 + 24713 4952 4756 4538 4556 + 24714 4538 4986 4667 4906 + 24715 4538 4952 4696 5091 + 24716 5091 4538 4756 4906 + 24717 5091 4986 4538 4906 + 24718 4538 4756 4952 5091 + 24719 4539 4755 4554 4690 + 24720 4539 4621 4755 4690 + 24721 4691 4539 4755 4554 + 24722 4541 4949 4634 4552 + 24723 4989 4750 4541 4596 + 24724 4541 5033 4698 4750 + 24725 4989 5033 4541 4750 + 24726 4541 4989 4812 5033 + 24727 5033 4552 4949 4541 + 24728 4552 5033 4698 4541 + 24729 4541 4812 4949 5033 + 24730 4541 5034 4812 4623 + 24731 4812 4541 4949 5034 + 24732 4541 4634 5034 4623 + 24733 4949 4541 4634 5034 + 24734 4542 4692 4623 4844 + 24735 4542 4938 4623 4812 + 24736 4542 4623 4938 4844 + 24737 4724 4542 4939 4624 + 24738 4542 4624 5024 4939 + 24739 4844 4692 5024 4542 + 24740 4542 4692 5024 4624 + 24741 4741 4542 4812 5027 + 24742 4542 5027 4938 4812 + 24743 4741 4542 5027 4724 + 24744 4939 5027 4542 4724 + 24745 5027 5094 4939 4542 + 24746 5027 4938 5094 4542 + 24747 4542 4844 5094 5024 + 24748 4542 4938 5094 4844 + 24749 4542 5094 4939 5024 + 24750 5024 4543 4692 4937 + 24751 5024 4692 4543 4624 + 24752 4937 5024 4543 5092 + 24753 5092 4740 4908 4543 + 24754 4743 4729 4544 4629 + 24755 4697 5030 4544 4942 + 24756 5096 4544 5030 4942 + 24757 5096 4629 4544 4942 + 24758 4544 5096 4743 4629 + 24759 4743 4544 5030 5096 + 24760 4743 4545 4729 4629 + 24761 4743 4847 4696 4545 + 24762 4952 4696 4847 4545 + 24763 4545 4847 5038 4944 + 24764 4952 4545 4847 5038 + 24765 4952 4638 4545 5038 + 24766 4545 4743 5096 4629 + 24767 5096 4847 4545 4944 + 24768 4847 5096 4545 4743 + 24769 4545 5038 5098 4944 + 24770 5098 4545 4729 4638 + 24771 4638 4545 5038 5098 + 24772 4545 4729 4629 5098 + 24773 5096 5148 4944 4545 + 24774 5098 4944 5148 4545 + 24775 5098 5148 4629 4545 + 24776 5096 4629 5148 4545 + 24777 4546 4633 4745 4946 + 24778 4745 4946 4630 4546 + 24779 4853 4548 4749 4635 + 24780 4748 4853 4945 4548 + 24781 4853 4548 4947 4749 + 24782 4748 4548 4947 4853 + 24783 4550 4945 4638 4853 + 24784 4551 4750 4698 4948 + 24785 4551 4698 4635 4948 + 24786 4551 4637 4750 4948 + 24787 4752 4698 4552 5033 + 24788 4752 4552 4949 5033 + 24789 4856 4950 4553 4636 + 24790 4753 4950 4553 4856 + 24791 4553 4753 5034 4950 + 24792 4949 4753 5034 4553 + 24793 4949 4634 4553 5034 + 24794 4857 4691 4554 4751 + 24795 4554 4691 4857 4755 + 24796 4554 4857 4951 4755 + 24797 4858 4639 4555 4953 + 24798 4953 4640 4555 4757 + 24799 4858 4555 4757 4953 + 24800 4640 4557 4758 5039 + 24801 4641 4559 5040 4761 + 24802 4639 4953 4858 4560 + 24803 4709 4642 4561 4733 + 24804 4709 4561 4864 4733 + 24805 4955 4864 4561 4733 + 24806 4864 4561 4761 4955 + 24807 4667 4727 4562 4763 + 24808 4562 4763 4727 4861 + 24809 4666 4957 4562 4861 + 24810 4865 4666 4957 4562 + 24811 4957 4562 4861 4763 + 24812 4865 4763 4562 4957 + 24813 4759 4563 4727 4861 + 24814 4861 4759 4563 4954 + 24815 4954 4563 4861 5040 + 24816 4643 4564 4712 4736 + 24817 4645 4566 4739 4699 + 24818 4739 4699 4566 4768 + 24819 4776 4664 4875 4568 + 24820 4776 4568 4875 4703 + 24821 4568 4876 4703 4776 + 24822 4647 4569 4777 4877 + 24823 4569 4707 4878 4670 + 24824 4777 4878 4569 4707 + 24825 4962 4670 4569 4878 + 24826 4569 4777 4962 4878 + 24827 4777 4877 4569 4962 + 24828 4570 5045 4866 4646 + 24829 5045 4877 4570 4674 + 24830 5045 4570 4866 4674 + 24831 4737 4663 4778 4571 + 24832 4778 4571 4648 4737 + 24833 4661 4778 4571 4879 + 24834 4778 4648 4571 4879 + 24835 4572 4775 5047 4670 + 24836 4880 4670 4572 5047 + 24837 4573 4965 4781 4708 + 24838 4965 4573 4665 4708 + 24839 4772 4711 4574 5048 + 24840 4786 4575 4658 4700 + 24841 4884 4658 4786 4575 + 24842 4884 4786 4970 4575 + 24843 4714 4576 4785 4654 + 24844 4577 4886 4655 4731 + 24845 4772 4578 4711 4873 + 24846 4654 4578 4883 4973 + 24847 4578 4973 4654 4789 + 24848 4772 5051 4578 4873 + 24849 4651 5051 4578 4772 + 24850 4578 4654 5104 4789 + 24851 5104 4873 4578 4789 + 24852 4873 5051 4578 5105 + 24853 5105 4578 4873 4789 + 24854 4789 4973 5105 4578 + 24855 4883 4973 4578 5105 + 24856 4883 4578 5051 5105 + 24857 4579 4701 4655 4889 + 24858 4889 4701 4791 4579 + 24859 4579 4974 4790 4889 + 24860 4579 4655 4974 4889 + 24861 4579 4659 4975 4790 + 24862 4579 4790 4975 4889 + 24863 4889 4791 4975 4579 + 24864 4890 4580 4677 4793 + 24865 4792 4886 4655 4582 + 24866 4582 4886 4652 4970 + 24867 4582 4886 4970 4792 + 24868 4792 4582 4655 4974 + 24869 4792 4582 4974 5053 + 24870 4792 5107 4582 5053 + 24871 5053 4656 5107 4582 + 24872 4582 4970 5107 4792 + 24873 4734 4657 4583 4702 + 24874 4657 4797 4584 4702 + 24875 4797 4584 4702 4894 + 24876 4584 4797 4976 4894 + 24877 4879 4661 4784 4586 + 24878 4879 4784 4660 4586 + 24879 4779 4881 4587 4650 + 24880 4735 4881 4587 5049 + 24881 4963 4779 5049 4587 + 24882 4587 4881 4779 5049 + 24883 4963 5049 4661 4587 + 24884 4776 4588 4728 4664 + 24885 4876 4704 4804 4589 + 24886 4901 4662 4589 4780 + 24887 4964 4902 4589 4780 + 24888 4780 4589 4964 4648 + 24889 4964 4589 4804 4704 + 24890 4902 4589 4804 4964 + 24891 4964 4589 4704 4648 + 24892 4876 4804 4980 4589 + 24893 4589 4662 4901 4981 + 24894 4589 4901 5058 4981 + 24895 5058 4980 4589 4803 + 24896 4981 5058 4589 4803 + 24897 4804 5059 4980 4589 + 24898 4804 4902 5059 4589 + 24899 4589 4902 5109 4780 + 24900 5058 4980 5109 4589 + 24901 5109 4901 5058 4589 + 24902 4980 5059 5109 4589 + 24903 4901 4589 5109 4780 + 24904 4902 5109 5059 4589 + 24905 4706 4662 4590 4901 + 24906 5060 4590 4706 4666 + 24907 4706 4590 5060 4901 + 24908 4705 4660 4592 4764 + 24909 4764 4592 4898 4660 + 24910 4898 4592 4956 4706 + 24911 4764 4898 4592 4956 + 24912 4805 4905 4593 4982 + 24913 4985 4907 4741 4594 + 24914 4985 4809 4907 4594 + 24915 4741 4668 4985 4594 + 24916 4900 4668 4595 4811 + 24917 4985 4595 4668 4811 + 24918 4811 5066 4985 4595 + 24919 4595 4805 4981 5066 + 24920 4595 4985 4805 5066 + 24921 4900 4595 4981 5066 + 24922 4811 4900 5066 4595 + 24923 4599 4702 4894 4672 + 24924 4599 4672 4894 4977 + 24925 5062 4599 4671 4783 + 24926 4599 5062 4672 4977 + 24927 4977 4599 5062 4783 + 24928 4600 4733 4673 4814 + 24929 4600 4673 4992 4814 + 24930 4806 4994 4897 4600 + 24931 4600 5067 4815 4911 + 24932 5067 4600 4992 4911 + 24933 4903 5067 4600 4992 + 24934 4806 5067 4600 4903 + 24935 4994 4600 4806 5067 + 24936 4994 4815 4600 5067 + 24937 5068 4600 4992 4814 + 24938 5068 4992 4600 4911 + 24939 4600 4815 5068 4911 + 24940 4733 4814 4600 5112 + 24941 5112 4600 5068 4814 + 24942 5068 5112 4815 4600 + 24943 4815 4600 5112 4994 + 24944 4601 4778 4963 4882 + 24945 4601 4963 4779 4882 + 24946 4650 4779 5048 4601 + 24947 4601 4882 4779 5048 + 24948 5061 4601 4778 4663 + 24949 4601 4663 5061 4710 + 24950 4601 5061 4969 4710 + 24951 5061 4778 4601 4882 + 24952 5061 4882 4601 4969 + 24953 4711 4602 4773 4644 + 24954 4602 4871 4644 4768 + 24955 4871 4644 4773 4602 + 24956 4773 4871 4602 4995 + 24957 5050 4995 4602 4769 + 24958 4870 5050 4602 4769 + 24959 4602 5050 4773 4995 + 24960 4768 4871 5069 4602 + 24961 5069 4769 4869 4602 + 24962 4602 4871 5069 4995 + 24963 5069 4769 4602 4995 + 24964 4768 5069 4869 4602 + 24965 4804 4737 4704 4603 + 24966 4804 4704 4876 4603 + 24967 4979 4802 4603 4703 + 24968 4703 4876 4603 4979 + 24969 4603 4876 4804 4980 + 24970 4744 4603 5116 4912 + 24971 4802 5116 4603 4912 + 24972 4744 4603 4737 5116 + 24973 4603 5116 4804 4737 + 24974 5116 4603 4804 4980 + 24975 4603 4980 5116 4802 + 24976 4979 4876 4603 5117 + 24977 5117 4980 4603 4802 + 24978 4980 5117 4603 4876 + 24979 5117 4802 4603 4979 + 24980 4605 5072 4799 4684 + 24981 5072 4719 4676 4605 + 24982 4731 4892 4680 4606 + 24983 4731 4788 4892 4606 + 24984 5004 4606 4892 4788 + 24985 5004 4714 4606 4788 + 24986 4679 4607 5001 4713 + 24987 4607 4915 4679 5001 + 24988 4718 4820 4608 4681 + 24989 5010 4609 4818 4717 + 24990 4717 5010 4609 4920 + 24991 4830 4611 4922 5011 + 24992 4830 4611 5078 4922 + 24993 4718 4611 5122 4826 + 24994 4611 5122 4921 5080 + 24995 4830 5078 4611 5122 + 24996 5122 4611 4921 4826 + 24997 4611 5122 5078 4718 + 24998 4611 5011 4830 5122 + 24999 5080 4611 5122 5011 + 25000 4828 4689 4924 4612 + 25001 4720 4693 4614 4832 + 25002 4832 4614 4683 4721 + 25003 4720 4832 4614 4683 + 25004 4615 4694 4930 4725 + 25005 4787 4972 4615 4653 + 25006 4930 4615 5144 4694 + 25007 4972 5144 4615 4694 + 25008 5020 4837 4931 4616 + 25009 4836 4931 4616 5085 + 25010 5085 4616 5020 4931 + 25011 5020 4616 5085 4686 + 25012 5019 4685 4617 4801 + 25013 4801 4695 4617 5019 + 25014 4689 5089 4619 4927 + 25015 5089 4619 4927 4834 + 25016 4934 4839 5127 4619 + 25017 4619 5127 4834 5089 + 25018 5127 5089 4619 4839 + 25019 4834 5127 4619 4934 + 25020 4935 4620 4840 5090 + 25021 5090 4840 4688 4620 + 25022 4755 4621 4909 4690 + 25023 4990 4669 4622 4909 + 25024 4740 4669 4622 4990 + 25025 4842 4622 4990 4740 + 25026 4622 5025 4842 4936 + 25027 5025 4754 4936 4622 + 25028 4622 5130 5093 4936 + 25029 4622 4909 5093 5130 + 25030 5130 4622 4842 4936 + 25031 4622 4842 4990 5130 + 25032 4622 4990 4909 5130 + 25033 4692 4723 4623 4844 + 25034 4950 4623 4938 4843 + 25035 4623 4938 4843 5026 + 25036 4623 5026 4812 4938 + 25037 4623 4843 5034 5026 + 25038 4950 5034 4623 4843 + 25039 5026 5034 4623 4812 + 25040 4723 5131 4950 4623 + 25041 4950 5131 4938 4623 + 25042 4844 5131 4723 4623 + 25043 4844 4938 5131 4623 + 25044 4724 4939 4742 4624 + 25045 4624 4904 5132 4742 + 25046 4624 5132 4939 4742 + 25047 5024 4904 5132 4624 + 25048 5024 5132 4939 4624 + 25049 4933 4625 4800 4693 + 25050 4933 4836 4625 4693 + 25051 4694 4626 4930 4725 + 25052 4626 4932 5019 4838 + 25053 4932 5020 4846 4626 + 25054 4686 4725 5021 4626 + 25055 5021 4725 4930 4626 + 25056 5021 4930 4846 4626 + 25057 4932 4626 4846 5028 + 25058 5028 4930 4626 4846 + 25059 4932 4838 4626 5028 + 25060 4694 4930 4626 5028 + 25061 4694 4626 4838 5028 + 25062 4846 4626 5020 5126 + 25063 5021 4626 4846 5126 + 25064 4686 5020 4626 5126 + 25065 5021 4686 4626 5126 + 25066 4941 4726 4627 4756 + 25067 4627 4750 4726 4941 + 25068 4987 4756 4941 4627 + 25069 4987 4906 4756 4627 + 25070 4941 5095 4987 4627 + 25071 5095 4987 4627 4905 + 25072 5095 4627 4809 4905 + 25073 4627 5138 4750 4941 + 25074 4941 5138 5095 4627 + 25075 5138 4627 4809 5095 + 25076 5030 4849 4697 4628 + 25077 5099 4640 4757 4628 + 25078 5030 4849 4628 5099 + 25079 5099 4628 5030 4758 + 25080 4628 4758 5099 4640 + 25081 4946 4850 4730 4629 + 25082 4946 4850 4629 4943 + 25083 4730 4946 4629 4633 + 25084 4633 4946 4629 4729 + 25085 4629 5031 4850 4942 + 25086 4629 4850 5031 4943 + 25087 4629 5096 5031 4942 + 25088 5098 4629 4946 4729 + 25089 4946 4629 5148 4943 + 25090 5148 5096 5031 4629 + 25091 5148 5098 4629 4946 + 25092 4629 5031 5148 4943 + 25093 4946 4630 4746 4852 + 25094 4851 4946 4630 4745 + 25095 4630 4946 4851 4747 + 25096 4630 5032 4852 4946 + 25097 4747 5032 4630 4946 + 25098 4729 4745 4633 4946 + 25099 4749 4635 4948 4853 + 25100 4635 4948 4698 4749 + 25101 4754 5037 4636 4950 + 25102 4950 4636 4856 5037 + 25103 5037 4856 4951 4636 + 25104 4636 4951 5037 4754 + 25105 4750 4637 4726 4948 + 25106 4952 4638 5038 4853 + 25107 4945 4853 5038 4638 + 25108 4638 5038 4945 5098 + 25109 4945 5098 4745 4638 + 25110 4638 4729 5098 4745 + 25111 4953 5099 4640 4757 + 25112 5039 4640 5099 4758 + 25113 4953 4640 5099 5039 + 25114 4863 4761 4641 5040 + 25115 4643 4736 4868 4766 + 25116 4643 4712 4868 4736 + 25117 4868 4767 4712 4643 + 25118 4643 4699 4766 4869 + 25119 4643 4766 4958 4869 + 25120 4868 4958 4767 4643 + 25121 4868 4958 4643 4766 + 25122 4873 4711 4773 4644 + 25123 4873 4773 5042 4644 + 25124 4871 4773 4644 5042 + 25125 4770 5042 4871 4644 + 25126 4645 4739 4874 4699 + 25127 4874 4645 5043 4739 + 25128 4645 5043 4774 4874 + 25129 4877 5046 4777 4647 + 25130 4778 4879 4964 4648 + 25131 4778 4964 4737 4648 + 25132 4737 4964 4704 4648 + 25133 4780 4964 4879 4648 + 25134 4966 4766 4736 4649 + 25135 4766 4966 4867 4649 + 25136 4736 4765 4966 4649 + 25137 4881 5048 4650 4779 + 25138 4651 5051 4772 4700 + 25139 4970 4652 4785 4886 + 25140 4787 4872 4653 4960 + 25141 4653 4972 4872 4787 + 25142 4787 4714 4887 4654 + 25143 4887 4654 4714 4785 + 25144 4654 4785 4887 4973 + 25145 4654 4883 4785 4973 + 25146 4789 4654 4887 4973 + 25147 4787 4887 5104 4654 + 25148 5104 4654 4887 4789 + 25149 5052 4655 4701 4889 + 25150 5052 4974 4655 4889 + 25151 5052 4974 4792 4655 + 25152 4731 5052 4886 4655 + 25153 5052 4792 4886 4655 + 25154 4731 4701 5052 4655 + 25155 4795 4893 5053 4656 + 25156 4884 4656 5107 4798 + 25157 4893 5107 4656 4798 + 25158 4893 5107 5053 4656 + 25159 4657 4734 4797 4702 + 25160 4658 4885 4735 4783 + 25161 4786 4658 4885 4700 + 25162 4735 4885 4658 4700 + 25163 5055 4658 4786 4884 + 25164 4885 4783 4658 5055 + 25165 4786 5055 4885 4658 + 25166 4897 4660 4705 4764 + 25167 4978 5108 4784 4660 + 25168 4879 4660 5108 5056 + 25169 4660 5108 4784 4879 + 25170 4897 5136 4660 4764 + 25171 4978 4897 5136 4660 + 25172 5136 4660 4898 5056 + 25173 5056 4660 5108 5136 + 25174 4764 4898 5136 4660 + 25175 4978 5108 4660 5136 + 25176 4963 4879 4778 4661 + 25177 5108 5049 4661 4963 + 25178 5108 5049 4784 4661 + 25179 5108 4661 4784 4879 + 25180 5108 4661 4879 4963 + 25181 4706 4662 4901 4780 + 25182 4710 4744 4663 5061 + 25183 5061 4778 4737 4663 + 25184 5061 4663 4737 4744 + 25185 4728 4776 4664 4875 + 25186 4965 4782 5065 4665 + 25187 4965 4665 5065 4708 + 25188 4665 5065 4904 4782 + 25189 4956 4706 4666 4807 + 25190 4666 4865 4957 4807 + 25191 5041 4957 4807 4666 + 25192 4957 5041 4861 4666 + 25193 4807 4666 4956 5041 + 25194 4666 5060 4865 4807 + 25195 5060 4706 4807 4666 + 25196 4724 4811 4741 4668 + 25197 4724 4742 4811 4668 + 25198 4985 4741 4811 4668 + 25199 4668 4811 4900 4988 + 25200 4988 4776 4900 4668 + 25201 4988 4668 4742 4728 + 25202 4668 4742 4811 4988 + 25203 4988 4728 4776 4668 + 25204 4669 4722 4990 4740 + 25205 4670 4962 5047 4878 + 25206 4962 5047 4775 4670 + 25207 4880 4670 5047 5102 + 25208 4670 4878 5047 5102 + 25209 4707 4670 5102 4878 + 25210 4783 4910 4735 4671 + 25211 4897 4671 4978 4806 + 25212 5049 4671 4735 4910 + 25213 5062 4671 4910 4783 + 25214 4671 5062 4910 5113 + 25215 4671 4806 5062 5113 + 25216 4978 4671 5113 4806 + 25217 4784 4978 4671 5139 + 25218 5139 4910 5113 4671 + 25219 5049 4671 4910 5139 + 25220 4784 4671 5049 5139 + 25221 5139 5113 4978 4671 + 25222 4672 4734 4702 4797 + 25223 4797 4702 4672 4894 + 25224 4903 4672 4993 4796 + 25225 4672 4797 4894 4993 + 25226 4993 4734 4796 4672 + 25227 4734 4993 4797 4672 + 25228 4993 4903 5140 4672 + 25229 4672 5140 5062 4903 + 25230 4993 5140 4894 4672 + 25231 4977 5140 5062 4672 + 25232 4977 4894 5140 4672 + 25233 4709 4814 4673 4733 + 25234 4674 4736 4868 4712 + 25235 4765 4866 4674 4997 + 25236 5045 4866 4997 4674 + 25237 5045 4816 4877 4674 + 25238 4816 4997 4674 5045 + 25239 4997 4816 4674 5070 + 25240 4674 4736 5070 4868 + 25241 4765 4674 4736 5070 + 25242 4997 4674 4765 5070 + 25243 4674 5070 4816 4868 + 25244 4675 4821 4914 4999 + 25245 4719 4676 4918 4822 + 25246 4719 5072 4676 4822 + 25247 4794 5001 4677 4713 + 25248 4677 5006 4793 4914 + 25249 4890 4677 5006 4793 + 25250 5007 4677 4791 4891 + 25251 4914 5001 4677 5073 + 25252 5007 5073 4677 4891 + 25253 4677 5073 5006 4914 + 25254 5073 4891 4794 4677 + 25255 4794 5001 5073 4677 + 25256 5006 4890 5118 4677 + 25257 5118 5073 5006 4677 + 25258 5118 5007 5073 4677 + 25259 4677 4890 5118 4791 + 25260 4677 5118 5007 4791 + 25261 5074 5001 4679 4915 + 25262 4679 5119 5001 5074 + 25263 4679 4713 5001 5119 + 25264 4916 4713 4679 5119 + 25265 5143 4679 5119 4916 + 25266 5143 4679 5074 5119 + 25267 4915 4679 5143 5005 + 25268 4679 5005 4822 5143 + 25269 4679 5074 4915 5143 + 25270 4916 4679 4822 5143 + 25271 4891 5002 4680 4825 + 25272 4680 4794 5002 4891 + 25273 5002 4892 4680 4825 + 25274 4823 4892 4680 5002 + 25275 4680 5052 4731 4701 + 25276 4680 4891 5052 4701 + 25277 4891 4680 5052 4825 + 25278 4680 4825 5106 5052 + 25279 4680 5106 4731 5052 + 25280 4680 5106 4892 4731 + 25281 4680 5106 4825 4892 + 25282 4919 4818 4681 4717 + 25283 4919 4681 4826 4717 + 25284 4681 4913 5009 4820 + 25285 4681 4919 4826 5009 + 25286 4681 5009 4718 4820 + 25287 4681 4826 4718 5009 + 25288 4716 4819 5076 4681 + 25289 4681 5076 4919 5009 + 25290 4913 5076 4681 5009 + 25291 4716 5076 4818 4681 + 25292 4819 5076 4681 4913 + 25293 4681 5076 4818 4919 + 25294 4829 4921 4682 5123 + 25295 4829 4682 5013 5123 + 25296 4827 4682 4921 5123 + 25297 5013 4682 4827 5123 + 25298 5082 4683 4832 4720 + 25299 4832 4721 4683 5082 + 25300 4683 4738 5082 4719 + 25301 5072 4917 4799 4684 + 25302 4823 5125 4917 4684 + 25303 5004 5125 4823 4684 + 25304 5144 4917 4684 4799 + 25305 5144 4684 4917 5125 + 25306 5144 5004 4684 5125 + 25307 5019 5086 4837 4685 + 25308 5019 5086 4685 4801 + 25309 4832 4686 4721 4926 + 25310 4725 5021 4926 4686 + 25311 5020 5085 5126 4686 + 25312 4832 4686 4926 5126 + 25313 4686 5085 5126 4832 + 25314 4686 4926 5126 5021 + 25315 4925 5090 4840 4688 + 25316 4689 4924 5023 4828 + 25317 4689 5023 4927 4828 + 25318 4689 4924 5081 5023 + 25319 4689 5012 5129 5081 + 25320 4689 5129 5012 5089 + 25321 5023 4689 5129 5081 + 25322 4689 5129 4927 5023 + 25323 4689 4927 5129 5089 + 25324 4723 4692 4937 4844 + 25325 4937 4692 5024 4844 + 25326 5017 4693 4836 4933 + 25327 4693 4720 5017 4832 + 25328 4693 5017 5085 4832 + 25329 5085 4693 4836 5017 + 25330 5028 4694 4930 4845 + 25331 5087 4694 4845 4972 + 25332 5087 4838 5028 4694 + 25333 5028 5087 4694 4845 + 25334 5144 4694 4972 4845 + 25335 5144 4930 4694 4845 + 25336 4695 4838 5019 4896 + 25337 4801 4896 4695 5019 + 25338 4838 4695 5087 4896 + 25339 4771 4695 4896 5087 + 25340 4859 4743 4847 4696 + 25341 4952 5091 4847 4696 + 25342 4859 4847 5091 4696 + 25343 4697 4849 5030 4942 + 25344 4854 4752 5033 4698 + 25345 5035 4698 4948 4749 + 25346 4854 5035 4749 4698 + 25347 4854 5033 5097 4698 + 25348 4854 5097 5035 4698 + 25349 5097 5035 4698 4948 + 25350 5097 4698 5033 4750 + 25351 5097 4698 4750 4948 + 25352 4699 5044 4874 4961 + 25353 5044 4699 4869 4766 + 25354 5100 4961 4699 4867 + 25355 5100 4699 4766 4867 + 25356 5044 4961 4699 5100 + 25357 4766 5044 4699 5100 + 25358 5044 4699 4874 5101 + 25359 5101 4874 4739 4699 + 25360 4768 5101 4699 4869 + 25361 4739 5101 4699 4768 + 25362 5044 4699 5101 4869 + 25363 4735 4967 4885 4700 + 25364 4885 4786 4700 4967 + 25365 4772 5051 4967 4700 + 25366 4967 4786 4700 5051 + 25367 4791 4701 5052 4891 + 25368 4791 4701 4889 5052 + 25369 4899 4703 4979 4777 + 25370 4979 4777 4703 4875 + 25371 4776 4875 4979 4703 + 25372 4979 4899 4802 4703 + 25373 4876 4703 4776 4979 + 25374 4964 4704 4804 4737 + 25375 4897 4764 4705 5063 + 25376 4705 4862 5063 4764 + 25377 4956 4898 4706 4807 + 25378 4901 4706 5137 5060 + 25379 5137 4780 4983 4706 + 25380 4807 4706 5060 5137 + 25381 4807 4898 4706 5137 + 25382 5137 4901 4780 4706 + 25383 4898 5137 4983 4706 + 25384 4707 5102 5064 4878 + 25385 4878 5110 5064 4707 + 25386 4777 5110 4878 4707 + 25387 4707 4875 5110 5064 + 25388 4707 5110 4875 4777 + 25389 5065 4708 4908 5111 + 25390 5111 4781 4965 4708 + 25391 4965 5111 4708 5065 + 25392 4733 4709 4814 4864 + 25393 4767 4870 4969 4710 + 25394 4744 4767 4969 4710 + 25395 4710 4969 4744 5061 + 25396 4772 5103 4711 5048 + 25397 5103 4711 4873 4772 + 25398 4711 4873 4773 5103 + 25399 4916 4794 4713 5119 + 25400 4794 5001 4713 5119 + 25401 4714 4887 4788 5075 + 25402 5004 4788 5075 4714 + 25403 4715 4915 5000 4820 + 25404 4818 4919 5010 4717 + 25405 4717 5077 5010 4920 + 25406 4717 5077 4826 4919 + 25407 4717 5010 5077 4919 + 25408 4920 4717 5077 4827 + 25409 4718 5078 4820 5009 + 25410 5009 5078 5122 4718 + 25411 4718 5122 5009 4826 + 25412 5072 5014 4822 4719 + 25413 5082 4719 5124 5014 + 25414 4738 4719 5124 5082 + 25415 4719 4738 5124 4824 + 25416 5145 4918 4822 4719 + 25417 5145 4822 5014 4719 + 25418 4719 5124 5145 4824 + 25419 5145 4824 4918 4719 + 25420 4719 5014 5145 5124 + 25421 4832 4720 5017 4928 + 25422 4928 4834 4720 5017 + 25423 5082 4832 4928 4720 + 25424 4832 4721 5082 4926 + 25425 4740 4990 4813 4722 + 25426 4723 4937 5025 4844 + 25427 4950 4723 4754 5131 + 25428 5025 4723 5131 4754 + 25429 4723 5025 5131 4844 + 25430 4939 4742 4811 4724 + 25431 4724 4811 4939 5027 + 25432 4724 4741 4811 5027 + 25433 4725 4926 5021 4799 + 25434 5021 4930 4725 4799 + 25435 4941 4726 4756 4948 + 25436 4941 4750 4726 4948 + 25437 5146 4727 4763 4861 + 25438 4759 4727 5146 4861 + 25439 5146 5039 4727 4759 + 25440 4742 4808 4728 4904 + 25441 4875 4728 4988 4808 + 25442 4808 4728 4988 4742 + 25443 4728 4988 4776 4875 + 25444 4729 5098 4745 4946 + 25445 4730 5135 4850 4946 + 25446 4730 4746 5135 4946 + 25447 4731 5106 4788 4971 + 25448 4788 4892 5106 4731 + 25449 5106 4886 4731 5052 + 25450 4886 5106 4731 4971 + 25451 5112 4864 4733 4814 + 25452 4733 5112 4955 4864 + 25453 5112 4862 4733 4955 + 25454 5049 4735 5114 4910 + 25455 5049 5114 4735 4881 + 25456 4881 5114 4735 4967 + 25457 4735 4967 5114 5141 + 25458 4783 4735 4910 5141 + 25459 4783 4885 4735 5141 + 25460 4910 5141 4735 5114 + 25461 5141 4735 4967 4885 + 25462 4736 4868 4766 4966 + 25463 5070 4765 4966 4736 + 25464 5070 4868 4736 4966 + 25465 5061 4737 4998 4744 + 25466 4737 5061 4998 4804 + 25467 4998 4804 5116 4737 + 25468 4744 4737 4998 5116 + 25469 5142 4964 4737 4778 + 25470 4804 4964 4737 5142 + 25471 4804 4737 5061 5142 + 25472 5142 4737 5061 4778 + 25473 5124 4824 4738 4923 + 25474 4871 4739 4959 4770 + 25475 4959 4739 4874 5043 + 25476 4771 5043 4739 4959 + 25477 4739 4874 5101 4959 + 25478 4871 5101 4959 4739 + 25479 4871 4768 5101 4739 + 25480 4990 4940 4842 4740 + 25481 4813 4940 4990 4740 + 25482 5092 4740 4813 4908 + 25483 5092 4740 4842 4940 + 25484 4740 4813 4940 5092 + 25485 4741 5027 5134 4811 + 25486 4741 5134 4985 4811 + 25487 5134 4741 4985 4907 + 25488 4812 5134 4907 4741 + 25489 4812 5027 5134 4741 + 25490 4742 4904 5132 4808 + 25491 5147 4742 4939 5132 + 25492 4742 5132 5147 4808 + 25493 5147 4988 4811 4742 + 25494 4808 4988 5147 4742 + 25495 4811 4742 4939 5147 + 25496 4758 4859 4743 5030 + 25497 4743 4859 4847 5096 + 25498 4859 5096 4743 5030 + 25499 5061 4817 4969 4744 + 25500 5061 4998 4817 4744 + 25501 5071 4969 4744 4767 + 25502 5071 4969 4817 4744 + 25503 4744 4996 5071 4767 + 25504 4744 4912 5071 4996 + 25505 5071 4817 4998 4744 + 25506 4744 5071 4912 4998 + 25507 4912 4744 4998 5116 + 25508 4946 5098 4745 4851 + 25509 4745 5098 4945 4851 + 25510 4946 4746 5135 4852 + 25511 4946 4943 4747 5032 + 25512 5098 4747 4851 4946 + 25513 5148 5098 4747 4944 + 25514 5098 5148 4747 4946 + 25515 4747 4946 5148 4943 + 25516 5149 4747 5098 4944 + 25517 5149 4851 5098 4747 + 25518 4747 5150 5032 4943 + 25519 4943 5148 4747 5150 + 25520 4944 5250 5149 4747 + 25521 5250 4747 4944 5348 + 25522 5348 4747 5148 5150 + 25523 5148 4944 4747 5348 + 25524 4853 5038 4748 4945 + 25525 4853 4748 5038 4947 + 25526 5098 4748 5038 4945 + 25527 5098 4851 4748 4945 + 25528 5149 4851 4748 5098 + 25529 5098 5038 4748 5149 + 25530 5432 5038 4748 4947 + 25531 5349 5149 4748 5432 + 25532 5349 4748 4947 5432 + 25533 5432 4748 5038 5149 + 25534 4853 4749 4947 5035 + 25535 4749 4948 5035 4853 + 25536 5035 4854 4749 5251 + 25537 5035 4947 5251 4749 + 25538 4941 4750 4948 5097 + 25539 4750 5138 5097 4941 + 25540 5097 5033 5138 4750 + 25541 4750 5033 5138 4989 + 25542 4752 4854 5033 5152 + 25543 5252 4752 4855 4949 + 25544 4752 5033 5252 5152 + 25545 4855 5152 4752 5252 + 25546 5252 5033 4752 4949 + 25547 5034 4949 4855 4753 + 25548 4950 5153 4753 5034 + 25549 4855 5034 4753 5153 + 25550 4950 5153 4856 4753 + 25551 4754 4936 4951 5037 + 25552 4754 5025 4936 5037 + 25553 5037 5025 5131 4754 + 25554 4950 4754 5037 5131 + 25555 4857 5093 4951 4755 + 25556 4853 4952 4756 5038 + 25557 4853 4756 5151 5038 + 25558 5151 4948 4756 4853 + 25559 4948 4756 4941 5151 + 25560 5091 4756 5257 4906 + 25561 4756 4941 5151 5257 + 25562 4756 4941 5257 4987 + 25563 5257 4756 4987 4906 + 25564 5151 4756 5257 5432 + 25565 5432 4952 4756 5091 + 25566 5432 4756 5257 5091 + 25567 4756 5038 4952 5432 + 25568 4756 5151 5038 5432 + 25569 4758 5099 5039 5029 + 25570 5029 5099 5157 4758 + 25571 5030 5157 5099 4758 + 25572 4758 5030 5157 5258 + 25573 4758 5258 5029 4859 + 25574 4758 5258 4859 5030 + 25575 4758 5157 5029 5258 + 25576 5133 4759 4860 5039 + 25577 5146 5039 4759 5133 + 25578 5159 5133 4759 4860 + 25579 5160 4861 4954 4759 + 25580 5161 5146 4759 5133 + 25581 5133 5161 5260 4759 + 25582 4759 5159 5260 5133 + 25583 5355 5146 4759 5161 + 25584 5160 4759 5260 5355 + 25585 5160 5355 4861 4759 + 25586 5161 5260 4759 5355 + 25587 4861 5355 5146 4759 + 25588 5160 5356 5260 4759 + 25589 5356 4860 5159 4759 + 25590 5356 4954 4860 4759 + 25591 5160 4954 5356 4759 + 25592 5260 5159 4759 5356 + 25593 4954 4863 5356 4760 + 25594 4860 4954 5356 4760 + 25595 5040 5162 4863 4761 + 25596 5040 4955 5162 4761 + 25597 4864 5162 4955 4761 + 25598 4762 4861 5040 5262 + 25599 4862 4762 4955 5262 + 25600 4956 5262 4762 4862 + 25601 4762 5262 5040 4955 + 25602 4861 5041 5262 4762 + 25603 5262 5041 4956 4762 + 25604 4957 4861 5146 4763 + 25605 4957 4865 4763 5437 + 25606 4957 4763 5146 5437 + 25607 4763 4865 4986 5437 + 25608 4763 4986 5146 5437 + 25609 4956 5063 4862 4764 + 25610 5264 4956 4764 5063 + 25611 5136 5264 4764 4897 + 25612 4897 5264 4764 5063 + 25613 4764 5264 4898 4956 + 25614 5136 5264 4898 4764 + 25615 4766 4966 5100 4867 + 25616 4868 5166 4766 4966 + 25617 5044 4869 5166 4766 + 25618 5166 5100 4766 4966 + 25619 5044 5100 4766 5166 + 25620 4766 4868 4958 5166 + 25621 4766 4958 4869 5166 + 25622 5167 5071 4767 4969 + 25623 4969 4767 5167 4870 + 25624 4870 5167 4958 4767 + 25625 4767 5266 4958 4868 + 25626 4767 4996 5266 4868 + 25627 5167 5266 4958 4767 + 25628 4996 5266 5071 4767 + 25629 5167 5071 5266 4767 + 25630 4871 5069 5101 4768 + 25631 5101 5069 4869 4768 + 25632 4769 4870 5167 4958 + 25633 4769 5167 4870 5050 + 25634 4769 5269 5167 5050 + 25635 5050 5269 4995 4769 + 25636 4869 4769 5069 5360 + 25637 5269 4995 4769 5360 + 25638 5269 4769 5167 5360 + 25639 5360 4995 4769 5069 + 25640 5439 5167 4958 4769 + 25641 4769 5439 5360 4869 + 25642 5439 5167 4769 5360 + 25643 5439 4958 4869 4769 + 25644 4872 4960 5042 4770 + 25645 5169 4871 4959 4770 + 25646 4871 5042 4770 5169 + 25647 4872 4770 5042 5169 + 25648 5169 4959 4872 4770 + 25649 5169 4959 4771 4872 + 25650 4872 4771 5169 5087 + 25651 4771 4896 5170 5087 + 25652 5043 4959 4771 5170 + 25653 5043 4896 5170 4771 + 25654 4959 4771 5170 5271 + 25655 5170 4771 5087 5271 + 25656 5271 5169 4771 5087 + 25657 5169 5271 4771 4959 + 25658 4873 4772 5051 5103 + 25659 5103 4772 4967 5048 + 25660 4967 5051 4772 5103 + 25661 4773 5103 4873 5172 + 25662 4995 4773 5172 5050 + 25663 5103 5172 4773 5050 + 25664 4773 5042 5270 4873 + 25665 4773 5270 4871 4995 + 25666 4773 5042 4871 5270 + 25667 4773 5270 5172 4873 + 25668 5270 4773 5172 4995 + 25669 5018 5173 4774 5043 + 25670 4874 5173 5043 4774 + 25671 4874 4961 5173 4774 + 25672 5047 4775 5175 4962 + 25673 4962 4775 5175 5045 + 25674 5057 4776 4900 4988 + 25675 4876 4979 4776 5176 + 25676 5057 5176 4776 4988 + 25677 4776 5176 4875 4988 + 25678 4875 4979 5176 4776 + 25679 4876 5057 5176 4776 + 25680 4962 4877 5046 4777 + 25681 4979 5110 4777 4875 + 25682 4979 5177 4899 4777 + 25683 4979 5110 5177 4777 + 25684 4878 4777 4962 5275 + 25685 4878 5110 4777 5275 + 25686 5177 5110 5275 4777 + 25687 4962 5046 5275 4777 + 25688 4777 5275 5177 5364 + 25689 4899 5046 4777 5364 + 25690 4777 5177 4899 5364 + 25691 5046 5364 5275 4777 + 25692 4879 4964 5142 4778 + 25693 4879 4963 4778 5142 + 25694 5180 4778 4882 4963 + 25695 5180 5142 4778 4963 + 25696 4882 5061 4778 5180 + 25697 5142 4778 5061 5180 + 25698 4968 5048 4779 4882 + 25699 5049 4881 4779 5114 + 25700 5181 4779 5049 4963 + 25701 5049 4779 5181 5114 + 25702 4779 4963 5278 4882 + 25703 5278 4963 4779 5181 + 25704 4882 4968 5278 4779 + 25705 4779 5278 5368 4968 + 25706 4779 5181 5368 5278 + 25707 5368 5114 5181 4779 + 25708 5048 4779 4881 5446 + 25709 5048 4968 4779 5446 + 25710 5114 5446 4881 4779 + 25711 5446 4968 4779 5368 + 25712 5114 5368 5446 4779 + 25713 4879 4964 4780 5056 + 25714 4780 4964 4902 5056 + 25715 4780 4902 4983 5056 + 25716 4983 5109 4902 4780 + 25717 4901 5137 4780 5109 + 25718 5109 4983 5137 4780 + 25719 5111 4781 5279 4965 + 25720 4880 4781 4965 5279 + 25721 5182 4904 5065 4782 + 25722 5182 4984 4904 4782 + 25723 5279 4782 5182 5065 + 25724 5279 4782 4965 5102 + 25725 5279 4965 4782 5065 + 25726 4782 5064 5369 4984 + 25727 5369 4782 5182 5279 + 25728 4782 4984 5369 5182 + 25729 5279 5369 4782 5102 + 25730 5102 5369 4782 5064 + 25731 5062 4783 4910 4977 + 25732 4783 4910 4977 5141 + 25733 5141 4783 5055 4895 + 25734 4885 5141 4783 5055 + 25735 4783 4977 4895 5141 + 25736 5108 5139 4978 4784 + 25737 5108 5049 5139 4784 + 25738 5185 4887 4785 4973 + 25739 4785 4887 5185 4971 + 25740 5280 4886 4785 4971 + 25741 4970 4785 5280 4886 + 25742 5280 4785 5185 4971 + 25743 5280 4883 4785 4970 + 25744 4785 4973 5280 5185 + 25745 5280 4883 4973 4785 + 25746 4970 5055 4786 4884 + 25747 4967 5183 4786 5051 + 25748 4885 4786 5183 5055 + 25749 4885 5183 4786 4967 + 25750 5183 5051 4883 4786 + 25751 4970 4883 4786 5370 + 25752 5055 4786 5183 5370 + 25753 5055 4970 4786 5370 + 25754 5183 4786 4883 5370 + 25755 4787 4872 4960 5104 + 25756 5104 5008 4887 4787 + 25757 5120 4872 4972 4787 + 25758 5008 5104 5171 4787 + 25759 4787 5104 5171 4872 + 25760 5008 5171 5120 4787 + 25761 4787 5171 5120 4872 + 25762 4788 4892 5004 5075 + 25763 4788 4971 5185 4887 + 25764 4971 4788 5185 5106 + 25765 5371 5075 4788 4887 + 25766 4788 5185 5371 4887 + 25767 5371 4788 5448 5185 + 25768 5185 5106 4788 5448 + 25769 5448 5075 4788 5371 + 25770 5448 4788 5075 4892 + 25771 4892 5448 4788 5106 + 25772 5104 5042 4873 4789 + 25773 4789 5104 5008 4887 + 25774 4789 5008 5104 5171 + 25775 5281 4973 5105 4789 + 25776 5363 4873 5042 4789 + 25777 5105 4873 5363 4789 + 25778 5281 5105 5363 4789 + 25779 4789 5008 5371 4887 + 25780 4789 4887 5371 4973 + 25781 5281 4973 4789 5371 + 25782 5104 4789 5171 5441 + 25783 5441 5042 5104 4789 + 25784 5441 5363 5042 4789 + 25785 5371 5505 5008 4789 + 25786 4789 5505 5008 5171 + 25787 5281 4789 5363 5505 + 25788 5441 4789 5171 5505 + 25789 5441 5363 4789 5505 + 25790 5505 5371 5281 4789 + 25791 4790 4888 5188 4974 + 25792 4889 4975 5188 4790 + 25793 4889 5188 4974 4790 + 25794 4890 4791 4975 5118 + 25795 4791 5189 5052 4889 + 25796 5189 4791 4891 5007 + 25797 5052 4891 5189 4791 + 25798 5007 4791 5373 5189 + 25799 4791 4975 5118 5373 + 25800 4791 5118 5007 5373 + 25801 4889 4791 5189 5373 + 25802 4791 4889 4975 5373 + 25803 4886 4792 5052 5106 + 25804 5186 4792 5107 4970 + 25805 5280 4886 5106 4792 + 25806 5280 4970 4792 5186 + 25807 5280 4970 4886 4792 + 25808 4974 4792 5283 5052 + 25809 4792 4974 5283 5372 + 25810 4974 5372 4792 5053 + 25811 5106 4792 5374 5280 + 25812 5374 4792 5186 5280 + 25813 5052 4792 5283 5450 + 25814 4792 5283 5450 5372 + 25815 5106 4792 5052 5450 + 25816 5106 5374 4792 5450 + 25817 5053 5451 5372 4792 + 25818 5284 4792 5451 5186 + 25819 5053 5107 5451 4792 + 25820 4792 5284 5451 5372 + 25821 5186 4792 5451 5107 + 25822 5284 5507 5372 4792 + 25823 4792 5186 5284 5507 + 25824 5372 5507 5450 4792 + 25825 5374 5186 4792 5507 + 25826 5374 4792 5450 5507 + 25827 4794 5119 5073 5001 + 25828 5119 4916 4794 5375 + 25829 5119 5375 4794 5073 + 25830 4794 5375 4891 5073 + 25831 4794 5375 5002 4891 + 25832 5002 4794 4916 5375 + 25833 4976 5193 4795 4893 + 25834 4795 4893 5193 5282 + 25835 5282 5053 4795 4893 + 25836 4795 5282 4888 5053 + 25837 4796 4992 5194 4903 + 25838 4903 4993 5194 4796 + 25839 5195 4894 4797 4993 + 25840 5195 4976 4797 4894 + 25841 5055 4798 4884 5107 + 25842 5055 5376 4798 5107 + 25843 4893 5376 5107 4798 + 25844 4798 5376 5055 4895 + 25845 4893 5376 4798 5508 + 25846 4893 4798 5054 5508 + 25847 4798 5508 5376 4895 + 25848 4798 5054 5508 4895 + 25849 4799 5197 5144 4917 + 25850 5197 5014 5072 4799 + 25851 5197 4930 4799 5144 + 25852 5197 5072 4917 4799 + 25853 4926 5021 4799 5290 + 25854 4930 4799 5290 5197 + 25855 5021 4799 5290 4930 + 25856 5197 5380 5014 4799 + 25857 5014 5380 4926 4799 + 25858 5380 5290 4799 5197 + 25859 4926 4799 5380 5290 + 25860 5198 5086 5019 4801 + 25861 5198 4801 4896 5018 + 25862 5019 4801 4896 5198 + 25863 4899 4802 5117 4979 + 25864 5115 4802 4912 5201 + 25865 4802 5201 5116 4912 + 25866 5293 5116 4980 4802 + 25867 5201 4802 5116 5293 + 25868 5293 4980 5117 4802 + 25869 5201 5117 4802 5293 + 25870 5115 5201 5294 4802 + 25871 5117 5294 5201 4802 + 25872 5117 4899 5294 4802 + 25873 5115 5294 4899 4802 + 25874 4803 5066 4900 4981 + 25875 5295 5058 4803 4980 + 25876 4803 5387 5296 5203 + 25877 4980 5387 4803 5295 + 25878 4803 4980 5057 5387 + 25879 5387 5057 4803 5296 + 25880 4900 5388 5066 4803 + 25881 5203 5066 5388 4803 + 25882 4803 5296 5388 5203 + 25883 4900 5388 4803 5057 + 25884 5388 4803 5057 5296 + 25885 5203 5389 5066 4803 + 25886 4803 5058 5389 4981 + 25887 4803 5389 5066 4981 + 25888 5389 5058 4803 5295 + 25889 4803 5455 5389 5295 + 25890 4803 5203 5389 5455 + 25891 4803 5387 5203 5455 + 25892 4803 5387 5455 5295 + 25893 4980 4804 5116 5059 + 25894 4804 4902 4964 5142 + 25895 4804 5059 4902 5298 + 25896 5298 5061 5142 4804 + 25897 5116 4804 4998 5298 + 25898 4804 5298 4902 5142 + 25899 5116 5059 4804 5298 + 25900 4804 4998 5298 5061 + 25901 5066 4985 4805 5204 + 25902 4805 5066 5204 4981 + 25903 5204 4982 4805 5297 + 25904 4805 5204 5297 4981 + 25905 4805 4982 5060 5297 + 25906 4805 4901 5297 5060 + 25907 5297 4981 4901 4805 + 25908 4805 5204 5299 4982 + 25909 4805 4905 5299 4985 + 25910 4905 4982 4805 5299 + 25911 5299 4805 4985 5204 + 25912 4806 5140 5067 4903 + 25913 4806 5062 5140 4903 + 25914 4806 5062 5113 5140 + 25915 4897 4978 5199 4806 + 25916 5067 4806 5207 5140 + 25917 5207 4806 5067 4994 + 25918 5140 4806 5207 5113 + 25919 4994 4806 4897 5382 + 25920 5199 4897 4806 5382 + 25921 4994 5207 4806 5382 + 25922 4806 5453 5113 4978 + 25923 5207 5113 4806 5453 + 25924 5453 5199 4806 5382 + 25925 5453 4806 5207 5382 + 25926 4806 5199 5453 4978 + 25927 5163 4956 4807 4898 + 25928 4807 5041 4956 5163 + 25929 5164 4807 4865 5060 + 25930 5265 4807 4865 5164 + 25931 5041 5163 4807 5265 + 25932 5041 4807 4957 5265 + 25933 4807 4957 5265 4865 + 25934 4898 5163 5385 4807 + 25935 5137 4898 5385 4807 + 25936 5164 4807 5060 5390 + 25937 5390 5137 4807 5060 + 25938 5265 5459 4807 5164 + 25939 5390 4807 5137 5459 + 25940 5265 4807 5459 5163 + 25941 5164 5459 4807 5390 + 25942 5385 5137 4807 5459 + 25943 5385 4807 5163 5459 + 25944 4808 5210 5132 5147 + 25945 4988 4808 5276 4875 + 25946 5276 4875 4808 5064 + 25947 4904 5302 5132 4808 + 25948 4808 5132 5210 5302 + 25949 4904 4984 5302 4808 + 25950 5391 5460 5210 4808 + 25951 5460 5147 4808 4988 + 25952 5391 5276 5460 4808 + 25953 5460 4988 4808 5276 + 25954 5460 5210 4808 5147 + 25955 5210 5302 5511 4808 + 25956 5391 4808 5210 5511 + 25957 4984 4808 5064 5511 + 25958 5302 5511 4808 4984 + 25959 5276 5542 4808 5391 + 25960 5064 5511 4808 5542 + 25961 5511 5391 4808 5542 + 25962 5064 4808 5276 5542 + 25963 4809 5299 4905 4985 + 25964 4809 5299 5095 4905 + 25965 5392 4985 5299 4809 + 25966 5392 5299 5095 4809 + 25967 4809 4907 5392 4985 + 25968 5095 4809 5138 5392 + 25969 4809 5392 4907 5138 + 25970 4905 5095 4987 4810 + 25971 5164 4865 4810 4982 + 25972 4810 5165 4986 4865 + 25973 4905 5095 4810 5299 + 25974 4810 5299 5095 5211 + 25975 4905 4810 4982 5299 + 25976 5358 5164 4865 4810 + 25977 5358 5165 4810 4865 + 25978 5165 5393 4810 4986 + 25979 5393 5303 5165 4810 + 25980 4810 5393 4987 4906 + 25981 4986 4906 5393 4810 + 25982 4810 5458 5164 4982 + 25983 5358 5458 5164 4810 + 25984 4810 5458 5299 5211 + 25985 4810 5458 4982 5299 + 25986 5513 4810 5458 5358 + 25987 5303 5211 5513 4810 + 25988 5458 5211 4810 5513 + 25989 5165 4810 5303 5513 + 25990 5165 5358 4810 5513 + 25991 5543 5095 5211 4810 + 25992 4810 5303 5211 5543 + 25993 4810 5393 5303 5543 + 25994 5543 4987 5095 4810 + 25995 4987 5543 5393 4810 + 25996 4811 5066 5134 4985 + 25997 4811 5066 5304 5134 + 25998 5066 4811 5388 4900 + 25999 4811 5304 5066 5388 + 26000 4988 4900 5388 4811 + 26001 4811 5304 5394 5134 + 26002 4939 4811 5147 5394 + 26003 4811 5394 5027 5134 + 26004 5027 4811 4939 5394 + 26005 5388 5460 4811 5304 + 26006 5460 5394 4811 5304 + 26007 4988 5388 5460 4811 + 26008 4811 5460 5147 5394 + 26009 5460 4811 5147 4988 + 26010 4989 4812 5033 5154 + 26011 4812 5212 5027 4938 + 26012 4812 5026 5212 4938 + 26013 4812 5252 5034 4949 + 26014 4812 5026 5034 5252 + 26015 4812 5033 5252 4949 + 26016 4812 5033 5154 5252 + 26017 4812 5392 5154 4989 + 26018 4812 5392 4907 5134 + 26019 4989 5392 4907 4812 + 26020 5026 5212 5462 4812 + 26021 4812 5154 5462 5252 + 26022 5462 5026 4812 5252 + 26023 5392 5462 4812 5154 + 26024 5027 5462 5212 4812 + 26025 4812 5392 5134 5462 + 26026 4812 5134 5027 5462 + 26027 4991 4940 4813 5092 + 26028 5092 4813 4991 4908 + 26029 5112 5263 4864 4814 + 26030 5112 5068 5263 4814 + 26031 4994 5063 5112 4815 + 26032 5300 4994 4815 5063 + 26033 5300 4815 5208 5063 + 26034 4815 5068 4911 5309 + 26035 4815 5208 5063 5357 + 26036 4815 5063 5112 5357 + 26037 5396 4815 5208 5300 + 26038 5463 4815 5112 5357 + 26039 5463 5208 4815 5357 + 26040 5068 5463 5309 4815 + 26041 5112 4815 5463 5068 + 26042 5463 5396 4815 5208 + 26043 4815 5309 5396 5463 + 26044 4815 4911 5466 5309 + 26045 4815 4994 5466 5067 + 26046 5067 4911 5466 4815 + 26047 4815 5309 5466 5396 + 26048 4815 5466 4994 5300 + 26049 4815 5396 5466 5300 + 26050 4868 5070 4816 5168 + 26051 4996 5168 4868 4816 + 26052 4996 5046 5168 4816 + 26053 4816 5366 5168 5070 + 26054 4816 4997 5366 5070 + 26055 5168 5366 4816 5046 + 26056 4816 5443 5045 4877 + 26057 5443 4997 4816 5045 + 26058 5443 4816 4997 5366 + 26059 4877 4816 5443 5046 + 26060 5443 4816 5366 5046 + 26061 4817 4969 5050 4882 + 26062 5061 4817 4882 4969 + 26063 4817 5167 4969 5071 + 26064 5050 4817 5167 4969 + 26065 4882 4817 5184 5050 + 26066 5269 4817 5050 5184 + 26067 5269 4817 5167 5050 + 26068 5399 4817 4998 5071 + 26069 4817 5399 5167 5071 + 26070 4817 5184 5269 5399 + 26071 4817 5269 5167 5399 + 26072 5061 4882 4817 5447 + 26073 5184 5447 5399 4817 + 26074 5447 4817 5184 4882 + 26075 5061 4817 4998 5447 + 26076 4817 5399 4998 5447 + 26077 4913 4819 5219 4999 + 26078 4819 5219 5311 4913 + 26079 4913 5311 4819 5076 + 26080 4820 5220 4913 5009 + 26081 4913 5000 5220 4820 + 26082 4820 5078 5220 5009 + 26083 5000 4915 5312 4820 + 26084 5078 5312 4915 4820 + 26085 4820 5000 5220 5312 + 26086 4820 5220 5078 5312 + 26087 4914 4821 5001 5073 + 26088 5074 5001 4915 4821 + 26089 5074 4915 5000 4821 + 26090 4821 5219 4999 4913 + 26091 5221 4821 5073 5001 + 26092 5074 5001 4821 5221 + 26093 5313 4999 4821 5219 + 26094 4914 4999 4821 5313 + 26095 5400 4821 5313 5221 + 26096 5313 4821 5400 5219 + 26097 4821 5400 5219 4913 + 26098 5000 5400 5074 4821 + 26099 5074 4821 5400 5221 + 26100 5000 4913 5400 4821 + 26101 4914 5401 5313 4821 + 26102 5073 5221 5401 4821 + 26103 4914 5073 5401 4821 + 26104 5401 5313 4821 5221 + 26105 4916 4822 5003 5143 + 26106 4822 4918 5145 5005 + 26107 5072 5003 4822 5222 + 26108 4822 5145 5014 5222 + 26109 5072 4822 5014 5222 + 26110 5314 4822 5005 5143 + 26111 5314 4822 5143 5003 + 26112 4822 5314 5145 5222 + 26113 5222 4822 5314 5003 + 26114 4822 5145 5314 5005 + 26115 5125 5004 4823 4892 + 26116 4823 5190 5002 4916 + 26117 4823 5286 4892 5002 + 26118 5002 4823 5286 5190 + 26119 5286 5125 4823 4892 + 26120 4823 5315 5190 4916 + 26121 4823 5003 5315 4916 + 26122 4823 5315 5402 5190 + 26123 4823 5402 5286 5190 + 26124 5402 4823 5286 5125 + 26125 5402 5315 4823 5471 + 26126 4917 5125 4823 5471 + 26127 5471 5315 4823 5003 + 26128 5402 5125 5471 4823 + 26129 4823 4917 5471 5003 + 26130 5079 5005 4824 5121 + 26131 5079 4922 5121 4824 + 26132 5124 5079 4824 4923 + 26133 5145 5124 5079 4824 + 26134 4824 5079 5145 5005 + 26135 4824 5145 4918 5005 + 26136 5052 5189 4891 4825 + 26137 4891 5002 4825 5190 + 26138 4891 4825 5285 5190 + 26139 5189 5285 4891 4825 + 26140 5286 4825 5002 5190 + 26141 5002 5286 4892 4825 + 26142 5286 4825 5448 4892 + 26143 4825 5448 5106 5374 + 26144 4892 4825 5448 5106 + 26145 5189 5450 4825 5052 + 26146 5052 4825 5106 5450 + 26147 5374 5106 4825 5450 + 26148 4825 5190 5477 5285 + 26149 5286 5190 5477 4825 + 26150 5286 5477 5522 4825 + 26151 4825 5285 5477 5522 + 26152 4825 5522 5448 5374 + 26153 5522 5448 5286 4825 + 26154 5189 4825 5450 5546 + 26155 5189 5285 4825 5546 + 26156 5450 5546 4825 5374 + 26157 4825 5546 5285 5522 + 26158 5546 5374 5522 4825 + 26159 5009 4826 5225 4919 + 26160 4826 5225 5077 4921 + 26161 5225 4826 5077 4919 + 26162 5122 4826 5225 5009 + 26163 5122 4921 5225 4826 + 26164 5123 4827 5077 4921 + 26165 5077 4827 5226 4920 + 26166 4827 5123 5077 5226 + 26167 4927 5083 4828 5023 + 26168 5023 4828 4924 5228 + 26169 4923 5011 4828 5228 + 26170 5228 4828 4924 5011 + 26171 4828 5228 5083 4923 + 26172 5228 4828 5083 5023 + 26173 5231 5013 5123 4829 + 26174 4829 5231 5013 5081 + 26175 4829 4921 5123 5326 + 26176 4829 5123 5231 5326 + 26177 5081 5326 4829 5231 + 26178 5326 5080 4829 4921 + 26179 5483 5080 4829 5326 + 26180 4924 4829 5483 5080 + 26181 5326 5081 4829 5483 + 26182 4924 5483 4829 5081 + 26183 4830 4922 5079 5011 + 26184 4922 4830 5079 5121 + 26185 5078 5121 4830 4922 + 26186 5121 4830 5079 5224 + 26187 5011 5229 5079 4830 + 26188 4830 5328 5078 5122 + 26189 5121 4830 5328 5078 + 26190 5121 5328 4830 5224 + 26191 4830 5079 5224 5410 + 26192 5224 5410 5328 4830 + 26193 5328 5481 5122 4830 + 26194 5481 4830 5011 5122 + 26195 5229 5481 4830 5011 + 26196 5482 5328 5410 4830 + 26197 4830 5482 5079 5410 + 26198 4830 5482 5229 5079 + 26199 5328 5481 4830 5526 + 26200 5526 4830 5328 5482 + 26201 5526 5229 4830 5482 + 26202 5481 5229 4830 5526 + 26203 4831 5081 5013 5231 + 26204 4831 5012 5331 4925 + 26205 4831 5233 5331 5413 + 26206 5414 5331 4831 5233 + 26207 5414 4925 4831 5331 + 26208 5413 4831 5484 5331 + 26209 4831 5484 5081 5231 + 26210 5413 5231 5484 4831 + 26211 4831 5081 5484 5012 + 26212 4831 5331 5012 5484 + 26213 4832 4928 5017 5085 + 26214 4928 5236 4832 5082 + 26215 4832 5236 4928 5085 + 26216 4832 4926 5236 5126 + 26217 5085 5236 5126 4832 + 26218 5082 5236 4832 4926 + 26219 5236 5082 4928 4833 + 26220 5239 5084 5015 4833 + 26221 5082 5334 4929 4833 + 26222 5082 5236 5334 4833 + 26223 4928 5236 4833 5335 + 26224 5335 5084 5239 4833 + 26225 5335 4928 5084 4833 + 26226 5236 4833 5335 5417 + 26227 4833 5239 5335 5417 + 26228 5550 5015 4833 5239 + 26229 5550 4833 5015 4929 + 26230 4833 5417 5236 5550 + 26231 4833 5417 5550 5239 + 26232 5334 4833 5236 5550 + 26233 4833 5334 4929 5550 + 26234 4928 5084 4834 5017 + 26235 5089 4927 5016 4834 + 26236 5016 4834 5084 5127 + 26237 5016 4834 5127 5089 + 26238 5088 4834 5241 5017 + 26239 5241 4934 4834 5088 + 26240 5017 5084 4834 5241 + 26241 5338 5241 4934 4834 + 26242 5338 4934 5127 4834 + 26243 5084 5127 4834 5338 + 26244 5241 5084 4834 5338 + 26245 5016 4927 5238 4835 + 26246 4835 4927 5238 5416 + 26247 4835 5083 4927 5416 + 26248 5238 5339 5419 4835 + 26249 4835 5084 5419 5016 + 26250 5238 5419 5016 4835 + 26251 5084 5487 4835 5419 + 26252 5084 4835 5487 5015 + 26253 5487 5419 5339 4835 + 26254 5337 4835 5015 5487 + 26255 5337 4835 5416 5530 + 26256 5083 4835 5015 5530 + 26257 5337 5015 4835 5530 + 26258 5083 5416 4835 5530 + 26259 4835 5532 5337 5416 + 26260 5532 4835 5337 5487 + 26261 5532 5238 5416 4835 + 26262 5487 5339 5532 4835 + 26263 5238 5532 5339 4835 + 26264 4836 5242 4931 5085 + 26265 5085 5242 5489 4836 + 26266 5085 4836 5489 5017 + 26267 5017 4836 5489 4933 + 26268 4837 5019 4932 5086 + 26269 4837 4932 5243 5086 + 26270 5243 5020 4932 4837 + 26271 5020 5340 4931 4837 + 26272 5340 5020 5243 4837 + 26273 4932 4838 5028 5381 + 26274 5381 4838 5028 5087 + 26275 5019 4838 5381 4896 + 26276 4932 4838 5381 5019 + 26277 4838 5087 5381 4896 + 26278 5127 5022 4839 4934 + 26279 5127 5089 4839 5016 + 26280 5022 4935 5128 4839 + 26281 5129 5089 4839 5012 + 26282 5129 4839 5089 5016 + 26283 5012 5128 4839 5234 + 26284 5012 4839 5129 5234 + 26285 5128 5022 4839 5342 + 26286 5234 5128 4839 5342 + 26287 5234 4839 5488 5342 + 26288 5016 5127 5488 4839 + 26289 5488 5129 4839 5234 + 26290 5016 5488 5129 4839 + 26291 5488 4839 5127 5022 + 26292 5488 4839 5022 5342 + 26293 5246 4840 5090 4935 + 26294 4925 5414 4840 5090 + 26295 4840 5414 5246 5090 + 26296 4841 4908 5092 4991 + 26297 5065 4908 4841 5111 + 26298 4841 4908 4991 5111 + 26299 5024 5132 4904 4841 + 26300 4904 5182 5065 4841 + 26301 5065 4841 5279 5111 + 26302 5279 5182 4841 5065 + 26303 5302 5132 4841 4904 + 26304 5302 4841 5182 4904 + 26305 5305 4991 4841 5092 + 26306 5395 4841 5111 5279 + 26307 4991 5395 5305 4841 + 26308 4841 4991 5395 5111 + 26309 4841 5395 5182 5279 + 26310 5424 5092 5305 4841 + 26311 5024 5092 5424 4841 + 26312 5424 5305 5494 4841 + 26313 5494 5305 5395 4841 + 26314 5024 5424 5494 4841 + 26315 5494 5302 5132 4841 + 26316 5395 5494 4841 5182 + 26317 5302 4841 5494 5182 + 26318 5494 5132 5024 4841 + 26319 4940 4990 4842 5130 + 26320 4936 4842 5130 5156 + 26321 5092 4842 5213 4940 + 26322 4936 5256 5025 4842 + 26323 4842 5025 4937 5256 + 26324 4936 5156 5256 4842 + 26325 5092 4937 5424 4842 + 26326 5213 4842 5092 5424 + 26327 5156 5130 5426 4842 + 26328 4842 4940 5426 5213 + 26329 5156 4842 5426 5256 + 26330 4842 4940 5130 5426 + 26331 4937 5535 5424 4842 + 26332 5213 5535 4842 5424 + 26333 5535 4842 5426 5213 + 26334 4842 4937 5535 5256 + 26335 5535 5426 4842 5256 + 26336 5026 4843 5034 4855 + 26337 4843 5034 5153 4950 + 26338 5153 5034 4843 4855 + 26339 5212 5026 4843 4938 + 26340 4843 5253 5153 4855 + 26341 4843 5026 5253 4855 + 26342 4843 5153 5254 4950 + 26343 5254 4843 4950 4938 + 26344 4938 5254 4843 5495 + 26345 5212 4843 5495 4938 + 26346 5537 5153 4843 5253 + 26347 5254 5495 5537 4843 + 26348 5153 4843 5254 5537 + 26349 5553 5026 4843 5212 + 26350 5253 5537 5553 4843 + 26351 5537 4843 5495 5553 + 26352 5253 5553 5026 4843 + 26353 5553 4843 5495 5212 + 26354 5094 5248 5024 4844 + 26355 4937 4844 5024 5248 + 26356 5256 5131 5025 4844 + 26357 5256 5025 4937 4844 + 26358 5094 5344 5248 4844 + 26359 4938 5344 5094 4844 + 26360 5131 5256 5427 4844 + 26361 5248 5344 5427 4844 + 26362 4938 5131 5427 4844 + 26363 4938 4844 5427 5344 + 26364 5248 5535 4937 4844 + 26365 4844 5535 4937 5256 + 26366 5248 5427 5535 4844 + 26367 4844 5427 5535 5256 + 26368 5144 4845 4972 5120 + 26369 5087 5028 5244 4845 + 26370 5144 4930 4845 5321 + 26371 5320 4845 5362 5244 + 26372 5087 5362 4845 5244 + 26373 5120 4845 5362 5320 + 26374 5087 4972 4845 5362 + 26375 4845 4972 5120 5362 + 26376 4845 5429 5244 5320 + 26377 5244 4845 5321 5429 + 26378 4845 5028 5244 5490 + 26379 4845 4930 5028 5490 + 26380 4845 5321 5490 5244 + 26381 4930 5490 4845 5321 + 26382 5429 5320 4845 5523 + 26383 5144 4845 5523 5321 + 26384 5429 4845 5321 5523 + 26385 5120 4845 5320 5523 + 26386 5120 5144 4845 5523 + 26387 4846 5126 4926 5021 + 26388 4926 5237 4846 5290 + 26389 4926 4846 5021 5290 + 26390 5290 4846 5021 4930 + 26391 4926 5126 4846 5333 + 26392 4846 4926 5333 5237 + 26393 5421 4932 5020 4846 + 26394 5421 4846 5028 4932 + 26395 5490 4846 4930 5028 + 26396 5490 4846 5237 5290 + 26397 5290 5490 4846 4930 + 26398 5421 5020 5534 4846 + 26399 5333 5534 4846 5237 + 26400 5333 4846 5534 5126 + 26401 4846 5020 5534 5126 + 26402 5237 5534 4846 5421 + 26403 4846 5421 5538 5237 + 26404 5028 5421 5538 4846 + 26405 5237 5538 4846 5490 + 26406 5490 5538 4846 5028 + 26407 5096 4847 5158 4859 + 26408 5259 4847 5091 4859 + 26409 5259 5091 4847 5247 + 26410 5158 4859 4847 5259 + 26411 5247 5259 5430 4847 + 26412 4847 5247 4944 5430 + 26413 4847 5096 5158 5430 + 26414 4847 4944 5096 5430 + 26415 4847 5158 5259 5430 + 26416 4847 5247 5432 4944 + 26417 4847 5432 5038 4944 + 26418 4847 5091 5432 5247 + 26419 4952 5432 5038 4847 + 26420 4952 5091 5432 4847 + 26421 5133 5161 5146 4848 + 26422 5259 5091 4848 4859 + 26423 5354 4848 4859 5259 + 26424 4848 5133 5161 5354 + 26425 5029 5354 4848 4859 + 26426 5029 4848 5354 5133 + 26427 5146 5437 4986 4848 + 26428 5161 4848 5437 5146 + 26429 5512 4848 5259 5091 + 26430 4986 5512 5091 4848 + 26431 4986 5437 5512 4848 + 26432 5437 4848 5161 5512 + 26433 5354 5161 4848 5555 + 26434 5555 4848 5354 5259 + 26435 5512 4848 5555 5259 + 26436 5512 4848 5161 5555 + 26437 5030 4849 5099 5157 + 26438 5157 4849 5431 5030 + 26439 5030 4942 4849 5431 + 26440 4850 4946 5135 4943 + 26441 5135 4852 5032 4946 + 26442 5151 4853 5038 4947 + 26443 5151 4947 5035 4853 + 26444 5035 4853 4948 5151 + 26445 5152 5097 4854 5033 + 26446 5035 5097 4854 5251 + 26447 5251 4854 5152 5097 + 26448 5034 5026 4855 5252 + 26449 5034 4855 4949 5252 + 26450 5350 4855 5253 5026 + 26451 4855 5152 5252 5350 + 26452 5350 5152 5253 4855 + 26453 5350 5252 4855 5026 + 26454 5037 4951 4856 5155 + 26455 5036 4856 4951 5155 + 26456 5153 5254 4950 4856 + 26457 4950 4856 5254 5037 + 26458 5352 5254 5153 4856 + 26459 5037 4856 5352 5155 + 26460 5037 5352 4856 5254 + 26461 5093 4951 5255 4857 + 26462 4857 5255 5036 4951 + 26463 4859 5258 5096 5030 + 26464 5096 5158 5258 4859 + 26465 5029 4859 5258 5158 + 26466 5029 5158 5354 4859 + 26467 5354 4859 5158 5259 + 26468 4953 5099 4860 5039 + 26469 5159 5261 5133 4860 + 26470 5099 5261 4860 5039 + 26471 5039 5261 4860 5133 + 26472 5160 4954 4861 5040 + 26473 5262 5160 4861 5040 + 26474 5262 5355 4861 5160 + 26475 4957 5146 4861 5355 + 26476 4861 4957 5355 5041 + 26477 4861 5355 5262 5041 + 26478 4956 5063 5262 4862 + 26479 5112 4955 5357 4862 + 26480 4862 4955 5357 5262 + 26481 4862 5063 5262 5357 + 26482 5357 5112 4862 5063 + 26483 5040 5160 4954 4863 + 26484 5356 5160 4863 4954 + 26485 4863 5435 5162 5040 + 26486 5160 5435 4863 5040 + 26487 4863 5356 5435 5160 + 26488 5263 5162 5357 4864 + 26489 4864 5357 5263 5112 + 26490 4864 4955 5357 5112 + 26491 4955 5357 5162 4864 + 26492 5164 4865 4982 5060 + 26493 4865 5164 5358 5265 + 26494 5437 4986 5165 4865 + 26495 5437 5165 5358 4865 + 26496 5265 4865 4957 5437 + 26497 5265 5358 4865 5437 + 26498 4868 5266 4958 5166 + 26499 5168 4868 5266 4996 + 26500 4966 5267 5070 4868 + 26501 4868 5267 5166 4966 + 26502 5267 5166 5359 4868 + 26503 4868 5266 5359 5168 + 26504 4868 5359 5266 5166 + 26505 5438 5267 5359 4868 + 26506 5070 5438 5168 4868 + 26507 5438 5070 5267 4868 + 26508 5359 5168 5438 4868 + 26509 4869 5044 5166 5268 + 26510 4869 5044 5268 5101 + 26511 5069 5268 5101 4869 + 26512 4869 5069 5268 5360 + 26513 5268 5166 4869 5439 + 26514 4958 4869 5166 5439 + 26515 5439 5268 5360 4869 + 26516 5050 5167 4870 4969 + 26517 5101 4871 4959 5069 + 26518 5069 5169 4871 4959 + 26519 5270 5069 4871 4995 + 26520 4871 5270 5169 5069 + 26521 5270 4871 5169 5042 + 26522 5104 5042 4872 4960 + 26523 5362 5120 5171 4872 + 26524 5169 5087 5362 4872 + 26525 5087 4872 4972 5362 + 26526 5362 4972 5120 4872 + 26527 5169 4872 5362 5441 + 26528 5362 5171 5441 4872 + 26529 5441 4872 5042 5169 + 26530 5104 4872 5042 5441 + 26531 5104 5171 4872 5441 + 26532 5272 5105 5051 4873 + 26533 5172 5103 4873 5272 + 26534 5272 4873 5051 5103 + 26535 4873 5042 5270 5363 + 26536 5363 5272 5172 4873 + 26537 4873 5363 5272 5105 + 26538 4873 5270 5172 5363 + 26539 4961 4874 5173 5273 + 26540 4961 5044 4874 5273 + 26541 5043 5440 5173 4874 + 26542 5440 5173 4874 5273 + 26543 5440 4874 5044 5273 + 26544 5044 4874 5440 5101 + 26545 5101 4874 5440 4959 + 26546 4959 4874 5440 5043 + 26547 5064 5276 4875 5110 + 26548 4979 4875 5276 5110 + 26549 4988 5276 5176 4875 + 26550 4875 5176 4979 5276 + 26551 4980 5057 5117 4876 + 26552 5117 4979 4876 5176 + 26553 5117 4876 5057 5176 + 26554 5045 5443 4962 4877 + 26555 4877 5046 5443 4962 + 26556 4962 5175 5047 4878 + 26557 4878 5178 5047 5102 + 26558 5178 4878 5064 5102 + 26559 5275 5175 4962 4878 + 26560 5178 4878 5047 5365 + 26561 4878 5047 5365 5175 + 26562 4878 5365 5275 5175 + 26563 4878 5064 5110 5444 + 26564 5444 5365 5275 4878 + 26565 5178 5444 4878 5365 + 26566 5444 5178 4878 5064 + 26567 4878 5110 5275 5444 + 26568 4964 4879 5142 5056 + 26569 5142 5108 4879 4963 + 26570 5142 4879 5108 5056 + 26571 4880 5047 5178 5102 + 26572 5102 5178 4880 5279 + 26573 4880 5279 4965 5102 + 26574 5048 5446 4881 4967 + 26575 4881 5114 4967 5446 + 26576 4882 5184 4968 5050 + 26577 5278 4882 4963 5180 + 26578 5278 5184 4968 4882 + 26579 5180 4882 5061 5447 + 26580 5278 5447 5184 4882 + 26581 5278 5447 4882 5180 + 26582 5105 5051 4883 5183 + 26583 5280 5370 4883 4970 + 26584 4883 4973 5370 5280 + 26585 5105 5370 4883 4973 + 26586 5370 4883 5183 5105 + 26587 4970 4884 5107 5055 + 26588 5141 4885 4967 5183 + 26589 5141 5183 5055 4885 + 26590 4886 5106 4971 5280 + 26591 5185 5371 4887 4973 + 26592 5371 5008 5075 4887 + 26593 5188 4974 4888 5053 + 26594 5188 4888 5282 5053 + 26595 5283 5188 4974 4889 + 26596 5283 5052 5189 4889 + 26597 5283 4889 4974 5052 + 26598 5373 4975 5188 4889 + 26599 5373 5188 5283 4889 + 26600 4889 5189 5283 5373 + 26601 4891 5191 5007 5073 + 26602 5285 5191 5007 4891 + 26603 4891 5285 5189 5007 + 26604 5002 5375 5190 4891 + 26605 4891 5375 5191 5073 + 26606 5285 5375 5191 4891 + 26607 5375 5285 5190 4891 + 26608 5125 5075 5004 4892 + 26609 5075 5125 5192 4892 + 26610 5286 5192 5125 4892 + 26611 4892 5286 5192 5448 + 26612 5448 5075 5192 4892 + 26613 4976 4893 5054 5193 + 26614 5376 5107 5451 4893 + 26615 5451 5193 4893 5282 + 26616 5282 5451 5053 4893 + 26617 4893 5451 5053 5107 + 26618 5376 5451 5508 4893 + 26619 5193 4893 5054 5508 + 26620 4893 5193 5451 5508 + 26621 4894 4976 5054 5195 + 26622 4894 5288 4977 5140 + 26623 4894 4977 5288 5054 + 26624 5054 4894 5195 5288 + 26625 4993 5377 5195 4894 + 26626 4993 5140 5377 4894 + 26627 5140 4894 5288 5377 + 26628 5288 5377 4894 5195 + 26629 4977 4895 5141 5196 + 26630 4895 5288 5196 4977 + 26631 4895 5288 4977 5054 + 26632 5141 5055 5289 4895 + 26633 5376 4895 5289 5055 + 26634 4895 5054 5378 5288 + 26635 5196 5141 5379 4895 + 26636 5289 5379 5141 4895 + 26637 5379 5196 4895 5452 + 26638 4895 5376 5289 5452 + 26639 4895 5288 5378 5452 + 26640 5196 5288 4895 5452 + 26641 5452 5289 4895 5379 + 26642 5508 5376 4895 5452 + 26643 5054 4895 5378 5508 + 26644 5508 4895 5378 5452 + 26645 5198 5018 4896 5274 + 26646 5043 4896 5018 5274 + 26647 5043 5170 4896 5274 + 26648 5274 5198 5381 4896 + 26649 5274 5381 5170 4896 + 26650 5019 4896 5381 5198 + 26651 5381 5087 5170 4896 + 26652 4897 5199 4978 5136 + 26653 5063 4897 5264 4994 + 26654 5264 5199 4897 5136 + 26655 4897 5199 5264 5382 + 26656 4994 5382 4897 5264 + 26657 5056 5136 5200 4898 + 26658 4898 5137 5200 4983 + 26659 5056 5200 4983 4898 + 26660 4898 5264 5163 4956 + 26661 4898 5385 5200 5137 + 26662 5264 5163 5385 4898 + 26663 5200 4898 5136 5385 + 26664 5264 5136 4898 5385 + 26665 5177 4899 5117 4979 + 26666 5117 5294 4899 5177 + 26667 5177 5364 5294 4899 + 26668 4899 5364 5294 5445 + 26669 5445 4899 5046 5115 + 26670 4899 5046 5364 5445 + 26671 5445 5294 4899 5115 + 26672 4900 4988 5388 5057 + 26673 5297 4981 5058 4901 + 26674 5297 5390 5060 4901 + 26675 5058 5390 4901 5109 + 26676 5058 5390 5297 4901 + 26677 4901 5390 5137 5109 + 26678 4901 5137 5390 5060 + 26679 5056 5142 4964 4902 + 26680 5056 5292 5142 4902 + 26681 5292 4902 5205 5142 + 26682 5205 4902 5059 5298 + 26683 5142 4902 5205 5298 + 26684 4902 5056 5384 4983 + 26685 5292 5205 4902 5384 + 26686 4902 5109 5384 5059 + 26687 5292 4902 5056 5384 + 26688 4902 5384 5109 4983 + 26689 4902 5384 5205 5059 + 26690 5140 4993 5194 4903 + 26691 5140 5194 5067 4903 + 26692 4903 5194 5067 4992 + 26693 4904 4984 5182 5302 + 26694 5091 5393 4986 4906 + 26695 4987 5393 5257 4906 + 26696 5393 5257 4906 5091 + 26697 4989 4907 5392 5138 + 26698 5134 4985 5392 4907 + 26699 5139 5114 4910 5049 + 26700 5062 5113 5196 4910 + 26701 4977 5141 4910 5196 + 26702 5062 4910 5196 4977 + 26703 5113 5379 5196 4910 + 26704 5196 5379 5141 4910 + 26705 4910 5114 5139 5464 + 26706 4910 5464 5113 5379 + 26707 4910 5141 5464 5379 + 26708 4910 5464 5141 5114 + 26709 4910 5139 5113 5464 + 26710 5067 4911 4992 5194 + 26711 5067 4911 5307 5215 + 26712 4911 5194 5067 5307 + 26713 5309 5466 5215 4911 + 26714 5067 5215 5466 4911 + 26715 5071 4996 4912 5397 + 26716 5115 4912 5445 5201 + 26717 5397 5445 4912 5310 + 26718 4996 5115 4912 5445 + 26719 4996 4912 5397 5445 + 26720 5201 5310 4912 5445 + 26721 5310 5517 4912 5397 + 26722 4998 5071 4912 5517 + 26723 4998 5517 4912 5116 + 26724 5517 4912 5201 5310 + 26725 5116 5517 4912 5201 + 26726 5517 5071 4912 5397 + 26727 4913 5009 5311 5076 + 26728 5009 5220 4913 5311 + 26729 4913 5220 5000 5400 + 26730 5470 4913 5220 5311 + 26731 5400 5219 4913 5470 + 26732 5470 5311 5219 4913 + 26733 4913 5470 5220 5400 + 26734 5401 4914 5006 5073 + 26735 5312 5074 4915 5000 + 26736 5143 4915 5005 5312 + 26737 5143 5312 5074 4915 + 26738 5121 5078 5312 4915 + 26739 5121 5005 4915 5312 + 26740 4916 5143 5223 5119 + 26741 5143 4916 5223 5003 + 26742 5315 5003 5223 4916 + 26743 4916 5002 5375 5190 + 26744 4916 5375 5472 5190 + 26745 5119 5472 4916 5375 + 26746 5315 5190 4916 5472 + 26747 5315 5223 5472 4916 + 26748 4916 5223 5472 5119 + 26749 5003 5316 5072 4917 + 26750 5197 5316 4917 5072 + 26751 5404 5197 4917 5144 + 26752 4917 5144 5125 5404 + 26753 5316 5197 4917 5404 + 26754 5003 5471 5316 4917 + 26755 5471 5316 4917 5404 + 26756 5125 5471 4917 5404 + 26757 4919 5323 5225 5406 + 26758 5406 4919 5076 5009 + 26759 5009 5225 5406 4919 + 26760 4919 5323 5407 5225 + 26761 4919 5407 5077 5225 + 26762 4919 5077 5407 5010 + 26763 5010 5324 4920 5077 + 26764 5077 5226 5324 4920 + 26765 4921 5227 5123 5326 + 26766 5225 5327 4921 5122 + 26767 5080 5327 5122 4921 + 26768 5225 4921 5327 5408 + 26769 4921 5123 5227 5408 + 26770 5408 4921 5123 5077 + 26771 5225 4921 5408 5077 + 26772 5326 5480 5080 4921 + 26773 5227 5480 5326 4921 + 26774 5227 5480 4921 5408 + 26775 5480 4921 5327 5080 + 26776 4921 5408 5480 5327 + 26777 5229 5079 4923 5011 + 26778 5011 5229 5329 4923 + 26779 4923 5329 5011 5228 + 26780 5329 5083 5228 4923 + 26781 4923 5079 5411 5124 + 26782 5229 4923 5079 5411 + 26783 5083 5411 5124 4923 + 26784 5229 5329 4923 5411 + 26785 4923 5411 5329 5083 + 26786 5228 5011 4924 5080 + 26787 4924 5081 5023 5483 + 26788 4924 5483 5228 5080 + 26789 5483 4924 5228 5023 + 26790 5090 5331 5012 4925 + 26791 5414 5090 4925 5331 + 26792 4926 5236 5126 5333 + 26793 5082 5014 5334 4926 + 26794 5236 5082 5334 4926 + 26795 5334 5014 5485 4926 + 26796 5014 5380 5485 4926 + 26797 4926 5485 5334 5528 + 26798 4926 5236 5333 5528 + 26799 5237 5528 5290 4926 + 26800 5236 5334 5528 4926 + 26801 4926 5380 5485 5528 + 26802 5237 5333 5528 4926 + 26803 4926 5290 5380 5528 + 26804 4927 5129 5089 5016 + 26805 5238 5016 5129 4927 + 26806 5238 5129 5332 4927 + 26807 5332 4927 5129 5023 + 26808 5238 5332 5416 4927 + 26809 5023 4927 5083 5416 + 26810 5332 5416 4927 5023 + 26811 4928 5335 5084 5017 + 26812 5335 5017 4928 5085 + 26813 5085 5236 4928 5335 + 26814 4929 5334 5082 5124 + 26815 4929 5411 5124 5083 + 26816 4929 5124 5411 5486 + 26817 5334 4929 5486 5124 + 26818 4929 5240 5486 5530 + 26819 4929 5530 5411 5083 + 26820 5530 5015 5083 4929 + 26821 5530 5240 5015 4929 + 26822 5530 5486 4929 5411 + 26823 5240 4929 5486 5550 + 26824 5240 5550 5015 4929 + 26825 5486 5550 4929 5334 + 26826 4930 5321 5144 5197 + 26827 4930 5290 5490 5197 + 26828 4930 5490 5321 5197 + 26829 5085 5020 5242 4931 + 26830 5340 4931 5242 5020 + 26831 4932 5028 5341 5381 + 26832 4932 5019 5381 5086 + 26833 5243 5421 5341 4932 + 26834 5421 5020 4932 5243 + 26835 4932 5421 5341 5028 + 26836 5381 5086 5492 4932 + 26837 4932 5492 5381 5341 + 26838 4932 5243 5492 5341 + 26839 5243 5492 5086 4932 + 26840 5241 4933 5088 5017 + 26841 5241 5489 4933 5017 + 26842 5245 5127 4934 5022 + 26843 5338 5127 4934 5245 + 26844 5128 5246 5090 4935 + 26845 5128 5422 5246 4935 + 26846 5022 4935 5422 5128 + 26847 4951 5037 4936 5156 + 26848 4951 4936 5093 5156 + 26849 4936 5093 5156 5130 + 26850 5156 5256 5037 4936 + 26851 5025 5037 5256 4936 + 26852 5424 4937 5024 5248 + 26853 5024 5092 4937 5424 + 26854 4937 5535 5248 5424 + 26855 5254 4950 5131 4938 + 26856 5131 4938 5427 5254 + 26857 4938 5344 5427 5495 + 26858 4938 5427 5254 5495 + 26859 5027 5212 5536 4938 + 26860 5344 5536 5495 4938 + 26861 4938 5344 5536 5094 + 26862 4938 5027 5094 5536 + 26863 5212 5495 5536 4938 + 26864 5094 5024 5132 4939 + 26865 5132 5094 4939 5147 + 26866 5027 4939 5094 5394 + 26867 5394 4939 5094 5147 + 26868 4991 5092 5213 4940 + 26869 4941 4948 5035 5097 + 26870 4941 5151 5097 5035 + 26871 4941 5035 4948 5151 + 26872 4941 5138 5097 5351 + 26873 5351 5138 5095 4941 + 26874 4941 4987 5095 5433 + 26875 4941 5097 5433 5351 + 26876 4941 5095 5351 5433 + 26877 5151 5433 5257 4941 + 26878 5433 4941 4987 5257 + 26879 5151 5433 4941 5097 + 26880 5030 5096 4942 5431 + 26881 5031 5431 4942 5096 + 26882 4946 5135 4943 5032 + 26883 5347 4943 5150 5148 + 26884 5347 5148 5031 4943 + 26885 5038 5098 4944 5149 + 26886 4944 5148 5096 5249 + 26887 5249 4944 5148 5348 + 26888 5249 5250 4944 5348 + 26889 5250 5249 4944 5430 + 26890 5249 5430 5096 4944 + 26891 5250 4944 5247 5430 + 26892 5432 5247 5250 4944 + 26893 5038 4944 5432 5149 + 26894 5432 5250 5149 4944 + 26895 4947 5035 5251 5151 + 26896 5151 5038 5432 4947 + 26897 4947 5251 5349 5499 + 26898 4947 5251 5499 5151 + 26899 4947 5349 5432 5499 + 26900 4947 5432 5151 5499 + 26901 4950 5254 5131 5037 + 26902 5255 5036 4951 5155 + 26903 4951 5255 5155 5037 + 26904 5156 5255 5093 4951 + 26905 4951 5156 5255 5037 + 26906 4955 5262 5040 5162 + 26907 4955 5357 5262 5162 + 26908 5063 5262 5436 4956 + 26909 5436 4956 5262 5041 + 26910 5063 5264 4956 5436 + 26911 5163 5041 4956 5436 + 26912 5163 4956 5264 5436 + 26913 5265 5355 4957 5041 + 26914 5437 5265 5355 4957 + 26915 4957 5437 5146 5355 + 26916 4958 5439 5266 5167 + 26917 4958 5166 5266 5439 + 26918 5169 5361 5271 4959 + 26919 5101 4959 5361 5069 + 26920 5069 5361 5169 4959 + 26921 4959 5170 5361 5271 + 26922 5043 5440 4959 5170 + 26923 5440 5361 4959 5170 + 26924 5440 4959 5361 5101 + 26925 5044 5273 4961 5100 + 26926 5443 5046 5275 4962 + 26927 5443 5175 5045 4962 + 26928 5175 4962 5443 5275 + 26929 5181 5049 5108 4963 + 26930 5142 5108 4963 5181 + 26931 5278 5367 4963 5181 + 26932 5367 4963 5142 5180 + 26933 5142 5367 5181 4963 + 26934 5367 5278 4963 5180 + 26935 5065 5279 4965 5111 + 26936 5166 5267 5100 4966 + 26937 4967 5272 5051 5103 + 26938 4967 5051 5272 5183 + 26939 5048 5103 5446 4967 + 26940 5272 4967 5446 5103 + 26941 4967 5141 5183 5503 + 26942 4967 5114 5141 5503 + 26943 4967 5503 5272 5446 + 26944 5183 4967 5503 5272 + 26945 5114 5503 4967 5446 + 26946 4968 5103 5446 5048 + 26947 4968 5446 5504 5368 + 26948 5504 5103 5446 4968 + 26949 5504 5050 5103 4968 + 26950 5504 4968 5368 5278 + 26951 5050 5184 4968 5504 + 26952 5184 4968 5504 5278 + 26953 4970 5107 5186 5055 + 26954 5370 5055 4970 5186 + 26955 5280 5370 4970 5186 + 26956 5185 4971 5106 5280 + 26957 5105 5370 4973 5281 + 26958 4973 5370 5187 5281 + 26959 5280 5370 5187 4973 + 26960 5280 4973 5371 5185 + 26961 4973 5187 5371 5281 + 26962 5280 5187 5371 4973 + 26963 5053 5188 4974 5372 + 26964 5283 4974 5188 5372 + 26965 5287 4976 5195 5054 + 26966 4976 5054 5287 5193 + 26967 5140 5062 5196 4977 + 26968 5140 5196 5288 4977 + 26969 5139 5291 4978 5113 + 26970 5291 4978 5199 5383 + 26971 5383 5136 4978 5199 + 26972 5108 5139 5383 4978 + 26973 5136 5383 4978 5108 + 26974 5291 5139 4978 5383 + 26975 5199 5291 5453 4978 + 26976 5291 5113 5453 4978 + 26977 5276 5177 4979 5110 + 26978 5386 5276 5177 4979 + 26979 5177 4979 5117 5386 + 26980 5176 5117 4979 5386 + 26981 5386 5176 5276 4979 + 26982 5059 5116 4980 5293 + 26983 4980 5202 5059 5293 + 26984 5295 5109 5058 4980 + 26985 4980 5295 5109 5059 + 26986 4980 5202 5295 5059 + 26987 5117 5293 5387 4980 + 26988 4980 5202 5293 5387 + 26989 4980 5295 5202 5387 + 26990 5387 4980 5057 5117 + 26991 5389 5058 5297 4981 + 26992 5204 5389 5297 4981 + 26993 5204 5066 5389 4981 + 26994 5297 5164 4982 5060 + 26995 4982 5204 5299 5458 + 26996 5164 5458 5510 4982 + 26997 5204 5510 4982 5297 + 26998 4982 5297 5510 5164 + 26999 4982 5510 5204 5458 + 27000 4983 5384 5137 5200 + 27001 5137 5109 5384 4983 + 27002 4983 5056 5384 5200 + 27003 5302 5182 5511 4984 + 27004 4984 5064 5369 5511 + 27005 5369 5182 4984 5511 + 27006 5204 5134 5066 4985 + 27007 5204 5299 5134 4985 + 27008 4985 5392 5299 5134 + 27009 5393 5091 4986 5512 + 27010 4986 5512 5437 5165 + 27011 5512 4986 5393 5165 + 27012 5543 5095 4987 5433 + 27013 5433 4987 5543 5257 + 27014 5393 5257 5543 4987 + 27015 5176 5388 4988 5057 + 27016 5460 5176 4988 5276 + 27017 5176 5388 5460 4988 + 27018 4989 5033 5138 5154 + 27019 5392 5138 5154 4989 + 27020 5305 5213 4991 5092 + 27021 5194 5377 4993 5140 + 27022 5264 4994 5209 5063 + 27023 4994 5209 5063 5300 + 27024 4994 5209 5382 5264 + 27025 5209 5382 5300 4994 + 27026 5207 5067 5466 4994 + 27027 4994 5466 5382 5300 + 27028 5382 5466 4994 5207 + 27029 5269 4995 5172 5050 + 27030 5360 5216 4995 5069 + 27031 5360 5216 5468 4995 + 27032 5269 5468 4995 5360 + 27033 5172 5468 4995 5269 + 27034 5216 5069 5516 4995 + 27035 5270 5516 5069 4995 + 27036 5468 4995 5216 5544 + 27037 4995 5516 5216 5544 + 27038 4995 5270 5516 5544 + 27039 5544 5270 5172 4995 + 27040 4995 5172 5544 5468 + 27041 4996 5168 5397 5266 + 27042 5071 4996 5397 5266 + 27043 4996 5046 5445 5168 + 27044 4996 5445 5397 5168 + 27045 5115 5445 4996 5046 + 27046 5061 4998 5298 5447 + 27047 4998 5399 5071 5517 + 27048 4998 5399 5517 5447 + 27049 5298 4998 5517 5447 + 27050 5298 4998 5116 5517 + 27051 5312 5000 5400 5074 + 27052 5312 5000 5220 5400 + 27053 5221 5119 5074 5001 + 27054 5221 5073 5119 5001 + 27055 5143 5223 5314 5003 + 27056 5222 5316 5072 5003 + 27057 5314 5403 5222 5003 + 27058 5403 5314 5223 5003 + 27059 5222 5471 5316 5003 + 27060 5403 5223 5519 5003 + 27061 5519 5222 5403 5003 + 27062 5519 5222 5003 5471 + 27063 5003 5223 5519 5315 + 27064 5471 5519 5315 5003 + 27065 5125 5144 5004 5075 + 27066 5079 5121 5224 5005 + 27067 5312 5121 5005 5224 + 27068 5312 5005 5143 5224 + 27069 5224 5143 5405 5005 + 27070 5005 5143 5405 5314 + 27071 5473 5145 5079 5005 + 27072 5405 5473 5224 5005 + 27073 5079 5224 5473 5005 + 27074 5314 5145 5473 5005 + 27075 5405 5473 5005 5314 + 27076 5073 5118 5006 5317 + 27077 5006 5317 5401 5073 + 27078 5073 5118 5317 5007 + 27079 5073 5317 5191 5007 + 27080 5475 5118 5373 5007 + 27081 5007 5191 5475 5317 + 27082 5007 5475 5118 5317 + 27083 5189 5373 5007 5520 + 27084 5475 5373 5520 5007 + 27085 5520 5007 5191 5475 + 27086 5520 5191 5007 5285 + 27087 5520 5007 5189 5285 + 27088 5008 5478 5075 5120 + 27089 5008 5120 5171 5478 + 27090 5478 5319 5008 5075 + 27091 5008 5171 5319 5478 + 27092 5008 5505 5319 5171 + 27093 5075 5547 5008 5371 + 27094 5319 5008 5075 5547 + 27095 5547 5008 5371 5505 + 27096 5547 5319 5008 5505 + 27097 5225 5009 5322 5122 + 27098 5322 5225 5406 5009 + 27099 5009 5406 5311 5076 + 27100 5524 5406 5311 5009 + 27101 5524 5406 5009 5322 + 27102 5009 5524 5220 5311 + 27103 5009 5122 5078 5524 + 27104 5009 5322 5122 5524 + 27105 5524 5220 5078 5009 + 27106 5407 5324 5010 5077 + 27107 5228 5409 5011 5080 + 27108 5409 5011 5329 5228 + 27109 5409 5229 5329 5011 + 27110 5080 5122 5481 5011 + 27111 5481 5229 5409 5011 + 27112 5481 5409 5080 5011 + 27113 5012 5128 5234 5331 + 27114 5090 5128 5012 5331 + 27115 5012 5484 5129 5081 + 27116 5484 5012 5129 5234 + 27117 5484 5331 5012 5234 + 27118 5072 5316 5222 5014 + 27119 5072 5197 5316 5014 + 27120 5014 5082 5334 5124 + 27121 5316 5014 5197 5380 + 27122 5014 5222 5485 5316 + 27123 5014 5485 5380 5316 + 27124 5485 5529 5222 5014 + 27125 5334 5485 5014 5529 + 27126 5145 5222 5529 5014 + 27127 5334 5014 5124 5529 + 27128 5124 5014 5145 5529 + 27129 5015 5336 5240 5418 + 27130 5015 5418 5239 5336 + 27131 5015 5240 5337 5418 + 27132 5418 5015 5239 5487 + 27133 5084 5487 5239 5015 + 27134 5418 5015 5487 5337 + 27135 5337 5530 5240 5015 + 27136 5240 5550 5336 5015 + 27137 5550 5336 5015 5239 + 27138 5016 5084 5419 5127 + 27139 5488 5419 5016 5238 + 27140 5129 5016 5238 5488 + 27141 5127 5016 5488 5419 + 27142 5017 5084 5241 5335 + 27143 5335 5241 5017 5489 + 27144 5335 5489 5017 5085 + 27145 5173 5018 5274 5043 + 27146 5019 5198 5381 5086 + 27147 5020 5085 5242 5126 + 27148 5243 5020 5340 5421 + 27149 5340 5020 5534 5421 + 27150 5534 5020 5340 5242 + 27151 5534 5126 5020 5242 + 27152 5422 5342 5022 5128 + 27153 5488 5022 5245 5342 + 27154 5488 5127 5245 5022 + 27155 5023 5129 5332 5081 + 27156 5332 5228 5416 5023 + 27157 5023 5083 5228 5416 + 27158 5332 5023 5081 5483 + 27159 5483 5228 5332 5023 + 27160 5425 5024 5094 5248 + 27161 5024 5425 5094 5132 + 27162 5494 5424 5024 5248 + 27163 5425 5024 5494 5132 + 27164 5494 5024 5425 5248 + 27165 5037 5256 5131 5025 + 27166 5026 5350 5252 5462 + 27167 5026 5212 5345 5462 + 27168 5026 5345 5350 5462 + 27169 5345 5212 5026 5553 + 27170 5026 5553 5253 5350 + 27171 5026 5553 5350 5345 + 27172 5536 5094 5394 5027 + 27173 5394 5554 5536 5027 + 27174 5462 5554 5134 5027 + 27175 5134 5394 5027 5554 + 27176 5462 5212 5554 5027 + 27177 5027 5536 5212 5554 + 27178 5028 5428 5493 5244 + 27179 5381 5028 5493 5087 + 27180 5341 5493 5028 5428 + 27181 5341 5028 5493 5381 + 27182 5244 5493 5028 5087 + 27183 5538 5244 5028 5490 + 27184 5028 5428 5244 5538 + 27185 5538 5341 5421 5028 + 27186 5538 5341 5028 5428 + 27187 5039 5029 5261 5133 + 27188 5157 5261 5099 5029 + 27189 5099 5029 5261 5039 + 27190 5029 5497 5158 5258 + 27191 5261 5157 5497 5029 + 27192 5029 5158 5497 5354 + 27193 5258 5157 5029 5497 + 27194 5133 5029 5261 5540 + 27195 5029 5261 5540 5497 + 27196 5540 5029 5354 5133 + 27197 5029 5497 5540 5354 + 27198 5431 5157 5030 5258 + 27199 5431 5030 5096 5258 + 27200 5031 5148 5249 5096 + 27201 5347 5148 5249 5031 + 27202 5031 5096 5249 5541 + 27203 5031 5431 5096 5541 + 27204 5347 5249 5541 5031 + 27205 5152 5351 5097 5033 + 27206 5152 5033 5252 5351 + 27207 5033 5351 5154 5252 + 27208 5033 5097 5138 5351 + 27209 5351 5138 5033 5154 + 27210 5097 5035 5151 5251 + 27211 5156 5353 5255 5037 + 27212 5037 5255 5155 5353 + 27213 5037 5155 5434 5353 + 27214 5156 5434 5353 5037 + 27215 5352 5155 5434 5037 + 27216 5156 5037 5256 5434 + 27217 5037 5434 5352 5254 + 27218 5037 5434 5254 5131 + 27219 5037 5256 5434 5131 + 27220 5040 5162 5262 5435 + 27221 5040 5262 5160 5435 + 27222 5262 5355 5436 5041 + 27223 5265 5355 5041 5501 + 27224 5041 5265 5501 5163 + 27225 5436 5041 5355 5501 + 27226 5041 5501 5436 5163 + 27227 5363 5270 5441 5042 + 27228 5441 5042 5270 5169 + 27229 5173 5274 5440 5043 + 27230 5043 5440 5170 5274 + 27231 5044 5440 5273 5174 + 27232 5268 5174 5440 5044 + 27233 5268 5440 5101 5044 + 27234 5442 5100 5273 5044 + 27235 5174 5442 5273 5044 + 27236 5166 5044 5100 5442 + 27237 5166 5044 5442 5502 + 27238 5174 5502 5442 5044 + 27239 5044 5502 5166 5268 + 27240 5268 5174 5044 5502 + 27241 5364 5179 5277 5046 + 27242 5168 5277 5366 5046 + 27243 5366 5046 5277 5179 + 27244 5366 5443 5046 5179 + 27245 5364 5443 5179 5046 + 27246 5046 5364 5443 5275 + 27247 5046 5277 5445 5168 + 27248 5445 5364 5277 5046 + 27249 5139 5181 5049 5108 + 27250 5139 5114 5049 5181 + 27251 5269 5172 5504 5050 + 27252 5103 5504 5172 5050 + 27253 5050 5184 5504 5269 + 27254 5105 5272 5051 5183 + 27255 5052 5450 5283 5189 + 27256 5282 5188 5053 5372 + 27257 5451 5372 5282 5053 + 27258 5287 5195 5378 5054 + 27259 5288 5195 5054 5378 + 27260 5378 5287 5054 5508 + 27261 5054 5287 5193 5508 + 27262 5055 5183 5141 5289 + 27263 5370 5289 5055 5186 + 27264 5055 5370 5183 5289 + 27265 5376 5186 5107 5055 + 27266 5376 5289 5186 5055 + 27267 5142 5108 5292 5056 + 27268 5136 5056 5383 5108 + 27269 5292 5056 5108 5383 + 27270 5056 5136 5454 5200 + 27271 5454 5136 5056 5383 + 27272 5056 5454 5509 5200 + 27273 5200 5056 5384 5509 + 27274 5383 5292 5056 5509 + 27275 5383 5056 5454 5509 + 27276 5384 5509 5056 5292 + 27277 5057 5176 5296 5117 + 27278 5057 5296 5387 5117 + 27279 5388 5057 5176 5296 + 27280 5295 5058 5109 5456 + 27281 5456 5058 5297 5389 + 27282 5390 5297 5456 5058 + 27283 5389 5456 5058 5295 + 27284 5390 5109 5058 5456 + 27285 5059 5295 5109 5384 + 27286 5205 5457 5298 5059 + 27287 5457 5059 5205 5384 + 27288 5059 5457 5298 5116 + 27289 5059 5457 5116 5293 + 27290 5384 5059 5295 5457 + 27291 5457 5295 5202 5059 + 27292 5457 5059 5202 5293 + 27293 5297 5390 5164 5060 + 27294 5142 5298 5180 5061 + 27295 5061 5298 5180 5447 + 27296 5140 5113 5196 5062 + 27297 5436 5357 5063 5208 + 27298 5300 5436 5209 5063 + 27299 5063 5262 5357 5436 + 27300 5300 5208 5436 5063 + 27301 5436 5264 5209 5063 + 27302 5178 5064 5369 5102 + 27303 5064 5369 5511 5178 + 27304 5511 5444 5064 5178 + 27305 5064 5542 5276 5110 + 27306 5542 5444 5110 5064 + 27307 5444 5542 5511 5064 + 27308 5388 5304 5066 5203 + 27309 5066 5304 5134 5461 + 27310 5066 5203 5304 5461 + 27311 5461 5204 5066 5389 + 27312 5066 5461 5389 5203 + 27313 5461 5066 5204 5134 + 27314 5140 5307 5067 5194 + 27315 5067 5466 5308 5207 + 27316 5466 5067 5308 5215 + 27317 5515 5215 5308 5067 + 27318 5067 5207 5515 5140 + 27319 5067 5307 5515 5215 + 27320 5515 5067 5140 5307 + 27321 5067 5308 5515 5207 + 27322 5263 5112 5463 5068 + 27323 5268 5069 5216 5360 + 27324 5361 5268 5101 5069 + 27325 5467 5069 5268 5361 + 27326 5467 5216 5268 5069 + 27327 5467 5216 5069 5516 + 27328 5516 5169 5270 5069 + 27329 5069 5361 5467 5516 + 27330 5069 5169 5361 5516 + 27331 5070 5168 5438 5366 + 27332 5517 5218 5071 5397 + 27333 5218 5071 5399 5517 + 27334 5218 5397 5518 5071 + 27335 5071 5397 5518 5266 + 27336 5071 5167 5266 5518 + 27337 5545 5071 5167 5399 + 27338 5218 5071 5518 5545 + 27339 5071 5545 5218 5399 + 27340 5518 5545 5071 5167 + 27341 5318 5073 5119 5221 + 27342 5318 5191 5375 5073 + 27343 5375 5318 5073 5119 + 27344 5318 5073 5474 5191 + 27345 5221 5474 5073 5401 + 27346 5073 5401 5474 5317 + 27347 5073 5474 5191 5317 + 27348 5073 5474 5221 5318 + 27349 5221 5400 5074 5476 + 27350 5074 5476 5312 5143 + 27351 5312 5400 5476 5074 + 27352 5074 5119 5521 5143 + 27353 5476 5074 5221 5521 + 27354 5119 5221 5074 5521 + 27355 5074 5521 5476 5143 + 27356 5192 5478 5125 5075 + 27357 5478 5192 5319 5075 + 27358 5125 5478 5144 5075 + 27359 5478 5144 5075 5120 + 27360 5319 5075 5192 5547 + 27361 5448 5192 5075 5547 + 27362 5075 5448 5547 5371 + 27363 5325 5225 5077 5407 + 27364 5225 5408 5325 5077 + 27365 5408 5123 5325 5077 + 27366 5077 5324 5226 5479 + 27367 5325 5479 5407 5077 + 27368 5077 5325 5479 5123 + 27369 5077 5226 5123 5479 + 27370 5324 5407 5479 5077 + 27371 5122 5328 5078 5524 + 27372 5220 5524 5078 5548 + 27373 5121 5312 5078 5548 + 27374 5312 5078 5548 5220 + 27375 5328 5548 5078 5524 + 27376 5121 5078 5328 5548 + 27377 5145 5411 5079 5124 + 27378 5145 5079 5411 5230 + 27379 5079 5473 5410 5230 + 27380 5145 5473 5079 5230 + 27381 5473 5410 5224 5079 + 27382 5079 5410 5482 5230 + 27383 5229 5411 5079 5482 + 27384 5411 5482 5230 5079 + 27385 5327 5232 5480 5080 + 27386 5080 5327 5232 5481 + 27387 5327 5481 5080 5122 + 27388 5232 5330 5080 5481 + 27389 5330 5409 5080 5481 + 27390 5409 5228 5483 5080 + 27391 5080 5330 5232 5525 + 27392 5525 5232 5080 5480 + 27393 5525 5483 5080 5409 + 27394 5483 5080 5326 5525 + 27395 5326 5080 5480 5525 + 27396 5525 5080 5330 5409 + 27397 5326 5483 5235 5081 + 27398 5081 5483 5235 5332 + 27399 5326 5231 5081 5484 + 27400 5326 5235 5484 5081 + 27401 5332 5129 5484 5081 + 27402 5081 5235 5484 5332 + 27403 5329 5083 5416 5228 + 27404 5416 5530 5083 5329 + 27405 5411 5083 5530 5329 + 27406 5127 5084 5419 5338 + 27407 5338 5084 5420 5241 + 27408 5420 5241 5084 5335 + 27409 5335 5239 5084 5420 + 27410 5084 5487 5419 5531 + 27411 5338 5084 5419 5531 + 27412 5531 5338 5084 5420 + 27413 5531 5084 5239 5420 + 27414 5084 5239 5487 5531 + 27415 5489 5242 5085 5335 + 27416 5242 5491 5085 5335 + 27417 5085 5491 5236 5335 + 27418 5126 5491 5085 5242 + 27419 5126 5085 5491 5236 + 27420 5492 5381 5198 5086 + 27421 5271 5362 5169 5087 + 27422 5170 5493 5087 5381 + 27423 5493 5087 5362 5271 + 27424 5271 5493 5087 5170 + 27425 5244 5362 5493 5087 + 27426 5128 5090 5246 5331 + 27427 5414 5246 5090 5331 + 27428 5259 5556 5091 5247 + 27429 5556 5432 5091 5247 + 27430 5393 5556 5091 5512 + 27431 5091 5432 5556 5257 + 27432 5512 5259 5556 5091 + 27433 5556 5091 5257 5393 + 27434 5213 5424 5092 5305 + 27435 5132 5210 5094 5147 + 27436 5210 5394 5094 5147 + 27437 5210 5094 5394 5346 + 27438 5210 5425 5094 5346 + 27439 5132 5425 5094 5210 + 27440 5394 5094 5496 5346 + 27441 5425 5496 5094 5346 + 27442 5094 5248 5344 5496 + 27443 5094 5425 5248 5496 + 27444 5094 5394 5496 5536 + 27445 5094 5496 5344 5536 + 27446 5138 5154 5351 5095 + 27447 5138 5154 5095 5392 + 27448 5095 5299 5392 5539 + 27449 5351 5539 5211 5095 + 27450 5095 5154 5351 5539 + 27451 5095 5392 5154 5539 + 27452 5211 5539 5299 5095 + 27453 5543 5351 5095 5433 + 27454 5095 5543 5211 5351 + 27455 5249 5096 5430 5541 + 27456 5158 5541 5430 5096 + 27457 5431 5258 5096 5541 + 27458 5158 5096 5258 5541 + 27459 5097 5151 5433 5251 + 27460 5251 5152 5500 5097 + 27461 5500 5351 5097 5152 + 27462 5433 5351 5097 5500 + 27463 5251 5097 5500 5433 + 27464 5166 5100 5267 5442 + 27465 5361 5101 5268 5440 + 27466 5102 5369 5178 5279 + 27467 5172 5446 5103 5272 + 27468 5172 5446 5504 5103 + 27469 5449 5183 5272 5105 + 27470 5281 5105 5370 5449 + 27471 5449 5370 5183 5105 + 27472 5449 5272 5506 5105 + 27473 5449 5506 5281 5105 + 27474 5272 5105 5363 5506 + 27475 5281 5363 5105 5506 + 27476 5185 5280 5106 5448 + 27477 5106 5448 5280 5374 + 27478 5186 5451 5376 5107 + 27479 5181 5142 5108 5292 + 27480 5292 5108 5181 5383 + 27481 5181 5139 5383 5108 + 27482 5206 5109 5295 5384 + 27483 5109 5384 5206 5137 + 27484 5390 5206 5137 5109 + 27485 5456 5390 5109 5206 + 27486 5456 5109 5295 5206 + 27487 5444 5177 5110 5275 + 27488 5444 5110 5177 5542 + 27489 5276 5542 5177 5110 + 27490 5357 5112 5463 5263 + 27491 5140 5207 5306 5113 + 27492 5113 5306 5140 5196 + 27493 5113 5291 5453 5214 + 27494 5306 5113 5207 5453 + 27495 5453 5306 5113 5214 + 27496 5139 5464 5291 5113 + 27497 5514 5291 5464 5113 + 27498 5514 5113 5306 5214 + 27499 5196 5113 5306 5514 + 27500 5113 5514 5291 5214 + 27501 5196 5514 5379 5113 + 27502 5379 5113 5514 5464 + 27503 5181 5464 5139 5114 + 27504 5114 5181 5464 5368 + 27505 5503 5114 5464 5368 + 27506 5141 5114 5464 5503 + 27507 5114 5368 5503 5446 + 27508 5201 5445 5115 5294 + 27509 5116 5398 5201 5293 + 27510 5116 5457 5398 5293 + 27511 5116 5398 5517 5201 + 27512 5398 5457 5116 5517 + 27513 5298 5116 5457 5517 + 27514 5386 5117 5217 5296 + 27515 5117 5386 5294 5177 + 27516 5217 5117 5386 5294 + 27517 5176 5296 5117 5386 + 27518 5387 5117 5217 5293 + 27519 5387 5117 5296 5217 + 27520 5217 5469 5117 5294 + 27521 5117 5469 5293 5201 + 27522 5469 5217 5117 5293 + 27523 5201 5294 5117 5469 + 27524 5375 5318 5119 5472 + 27525 5521 5221 5318 5119 + 27526 5318 5119 5472 5521 + 27527 5143 5521 5223 5119 + 27528 5521 5472 5223 5119 + 27529 5320 5362 5120 5171 + 27530 5320 5120 5478 5171 + 27531 5478 5320 5523 5120 + 27532 5144 5478 5523 5120 + 27533 5548 5224 5121 5312 + 27534 5121 5328 5224 5548 + 27535 5412 5327 5225 5122 + 27536 5225 5322 5412 5122 + 27537 5412 5481 5327 5122 + 27538 5412 5328 5481 5122 + 27539 5322 5524 5412 5122 + 27540 5122 5412 5328 5524 + 27541 5325 5408 5227 5123 + 27542 5325 5227 5415 5123 + 27543 5227 5415 5123 5326 + 27544 5123 5415 5231 5326 + 27545 5325 5123 5415 5527 + 27546 5325 5479 5123 5527 + 27547 5479 5226 5123 5527 + 27548 5529 5124 5486 5411 + 27549 5334 5486 5529 5124 + 27550 5529 5145 5124 5411 + 27551 5192 5402 5286 5125 + 27552 5404 5144 5125 5478 + 27553 5478 5125 5533 5192 + 27554 5533 5125 5478 5404 + 27555 5533 5125 5402 5192 + 27556 5551 5404 5471 5125 + 27557 5551 5125 5533 5404 + 27558 5125 5471 5551 5402 + 27559 5125 5551 5533 5402 + 27560 5126 5491 5333 5236 + 27561 5534 5491 5333 5126 + 27562 5126 5534 5491 5242 + 27563 5245 5127 5419 5338 + 27564 5488 5127 5419 5245 + 27565 5422 5234 5342 5128 + 27566 5331 5246 5128 5422 + 27567 5331 5422 5128 5234 + 27568 5234 5423 5129 5343 + 27569 5238 5332 5129 5423 + 27570 5484 5343 5234 5129 + 27571 5234 5488 5129 5423 + 27572 5488 5129 5423 5238 + 27573 5552 5423 5129 5332 + 27574 5552 5343 5484 5129 + 27575 5552 5343 5129 5423 + 27576 5552 5484 5332 5129 + 27577 5131 5256 5434 5427 + 27578 5131 5434 5254 5427 + 27579 5132 5302 5425 5210 + 27580 5425 5494 5302 5132 + 27581 5133 5498 5161 5354 + 27582 5161 5133 5260 5498 + 27583 5133 5260 5498 5159 + 27584 5133 5261 5159 5540 + 27585 5498 5133 5159 5540 + 27586 5540 5354 5498 5133 + 27587 5299 5134 5392 5539 + 27588 5461 5204 5539 5134 + 27589 5392 5539 5134 5462 + 27590 5539 5299 5134 5204 + 27591 5134 5539 5461 5554 + 27592 5539 5462 5554 5134 + 27593 5134 5461 5304 5554 + 27594 5134 5304 5394 5554 + 27595 5136 5199 5454 5264 + 27596 5385 5454 5264 5136 + 27597 5385 5200 5454 5136 + 27598 5383 5454 5136 5199 + 27599 5384 5200 5301 5137 + 27600 5384 5301 5206 5137 + 27601 5385 5301 5200 5137 + 27602 5137 5206 5390 5301 + 27603 5390 5137 5301 5459 + 27604 5385 5459 5301 5137 + 27605 5291 5181 5139 5383 + 27606 5181 5291 5139 5464 + 27607 5140 5377 5307 5194 + 27608 5140 5288 5465 5377 + 27609 5196 5140 5465 5306 + 27610 5140 5288 5196 5465 + 27611 5515 5140 5465 5377 + 27612 5377 5515 5140 5307 + 27613 5306 5140 5465 5515 + 27614 5306 5515 5207 5140 + 27615 5141 5503 5464 5379 + 27616 5141 5379 5289 5503 + 27617 5503 5289 5141 5183 + 27618 5142 5180 5298 5367 + 27619 5367 5292 5205 5142 + 27620 5181 5367 5142 5292 + 27621 5367 5205 5298 5142 + 27622 5405 5314 5143 5223 + 27623 5476 5143 5405 5224 + 27624 5312 5476 5224 5143 + 27625 5405 5521 5143 5476 + 27626 5521 5223 5405 5143 + 27627 5523 5321 5197 5144 + 27628 5197 5523 5144 5404 + 27629 5404 5523 5144 5478 + 27630 5529 5411 5230 5145 + 27631 5314 5145 5222 5549 + 27632 5314 5473 5145 5549 + 27633 5230 5549 5529 5145 + 27634 5145 5222 5549 5529 + 27635 5230 5473 5549 5145 + 27636 5355 5437 5146 5161 + 27637 5147 5394 5460 5210 + 27638 5347 5148 5348 5249 + 27639 5347 5150 5348 5148 + 27640 5349 5250 5149 5432 + 27641 5348 5150 5347 5557 + 27642 5432 5257 5151 5499 + 27643 5499 5433 5151 5251 + 27644 5257 5433 5151 5499 + 27645 5561 5350 5252 5152 + 27646 5351 5152 5500 5561 + 27647 5561 5252 5351 5152 + 27648 5153 5537 5254 5352 + 27649 5351 5462 5154 5252 + 27650 5462 5539 5351 5154 + 27651 5462 5392 5539 5154 + 27652 5434 5155 5352 5666 + 27653 5434 5353 5155 5666 + 27654 5434 5256 5156 5563 + 27655 5353 5156 5563 5434 + 27656 5256 5426 5156 5563 + 27657 5258 5431 5157 5497 + 27658 5258 5497 5158 5541 + 27659 5564 5158 5497 5541 + 27660 5354 5564 5158 5497 + 27661 5259 5430 5158 5668 + 27662 5564 5158 5668 5354 + 27663 5354 5158 5668 5259 + 27664 5430 5853 5541 5158 + 27665 5564 5541 5853 5158 + 27666 5158 5668 5430 5853 + 27667 5158 5564 5668 5853 + 27668 5159 5565 5356 5260 + 27669 5159 5565 5260 5669 + 27670 5540 5669 5159 5498 + 27671 5260 5159 5669 5498 + 27672 5160 5260 5356 5565 + 27673 5160 5356 5435 5565 + 27674 5566 5435 5160 5262 + 27675 5262 5566 5355 5160 + 27676 5260 5670 5565 5160 + 27677 5260 5670 5160 5355 + 27678 5355 5670 5160 5566 + 27679 5160 5565 5435 5766 + 27680 5435 5160 5766 5566 + 27681 5766 5670 5566 5160 + 27682 5160 5670 5565 5766 + 27683 5354 5498 5161 5555 + 27684 5567 5161 5437 5355 + 27685 5355 5260 5670 5161 + 27686 5355 5670 5567 5161 + 27687 5437 5161 5671 5512 + 27688 5437 5671 5161 5567 + 27689 5512 5161 5671 5555 + 27690 5498 5555 5671 5161 + 27691 5567 5671 5161 5765 + 27692 5161 5260 5670 5765 + 27693 5161 5671 5498 5765 + 27694 5161 5670 5567 5765 + 27695 5161 5498 5260 5765 + 27696 5162 5435 5357 5262 + 27697 5162 5263 5357 5672 + 27698 5672 5357 5162 5435 + 27699 5163 5459 5265 5568 + 27700 5568 5163 5459 5385 + 27701 5163 5265 5673 5568 + 27702 5673 5385 5163 5568 + 27703 5436 5501 5673 5163 + 27704 5265 5673 5501 5163 + 27705 5264 5673 5385 5163 + 27706 5264 5436 5673 5163 + 27707 5297 5164 5390 5456 + 27708 5297 5510 5164 5456 + 27709 5265 5358 5570 5164 + 27710 5510 5164 5570 5458 + 27711 5458 5164 5570 5358 + 27712 5265 5570 5459 5164 + 27713 5769 5390 5164 5456 + 27714 5510 5570 5164 5769 + 27715 5459 5164 5570 5769 + 27716 5390 5164 5459 5769 + 27717 5769 5164 5510 5456 + 27718 5393 5165 5303 5556 + 27719 5393 5512 5165 5556 + 27720 5571 5358 5165 5513 + 27721 5571 5165 5303 5513 + 27722 5571 5556 5303 5165 + 27723 5571 5512 5556 5165 + 27724 5165 5358 5571 5437 + 27725 5165 5571 5512 5437 + 27726 5439 5266 5359 5166 + 27727 5359 5267 5442 5166 + 27728 5166 5442 5359 5502 + 27729 5502 5166 5439 5359 + 27730 5268 5502 5166 5439 + 27731 5439 5266 5167 5518 + 27732 5518 5439 5545 5167 + 27733 5545 5167 5269 5399 + 27734 5439 5545 5167 5360 + 27735 5269 5167 5545 5360 + 27736 5518 5359 5266 5168 + 27737 5168 5518 5397 5266 + 27738 5445 5397 5168 5572 + 27739 5445 5168 5277 5572 + 27740 5366 5168 5438 5675 + 27741 5277 5168 5366 5675 + 27742 5168 5277 5572 5675 + 27743 5438 5675 5168 5770 + 27744 5572 5168 5675 5770 + 27745 5518 5770 5359 5168 + 27746 5168 5397 5770 5572 + 27747 5359 5438 5168 5770 + 27748 5518 5397 5770 5168 + 27749 5169 5361 5516 5271 + 27750 5362 5169 5516 5271 + 27751 5441 5169 5270 5516 + 27752 5441 5169 5516 5362 + 27753 5274 5440 5170 5576 + 27754 5170 5440 5361 5576 + 27755 5170 5361 5271 5576 + 27756 5274 5381 5679 5170 + 27757 5274 5170 5679 5576 + 27758 5493 5170 5679 5381 + 27759 5271 5679 5170 5576 + 27760 5271 5170 5679 5493 + 27761 5505 5171 5578 5319 + 27762 5441 5505 5171 5578 + 27763 5320 5682 5362 5171 + 27764 5578 5171 5441 5682 + 27765 5171 5441 5682 5362 + 27766 5682 5775 5578 5171 + 27767 5320 5478 5775 5171 + 27768 5682 5320 5775 5171 + 27769 5478 5319 5775 5171 + 27770 5775 5578 5171 5319 + 27771 5506 5172 5363 5272 + 27772 5270 5172 5363 5544 + 27773 5506 5579 5172 5272 + 27774 5172 5272 5579 5446 + 27775 5446 5504 5772 5172 + 27776 5446 5172 5772 5579 + 27777 5172 5772 5468 5269 + 27778 5172 5772 5269 5504 + 27779 5468 5172 5544 5857 + 27780 5544 5172 5363 5857 + 27781 5363 5857 5172 5506 + 27782 5468 5772 5172 5857 + 27783 5172 5857 5772 5579 + 27784 5857 5579 5172 5506 + 27785 5273 5440 5173 5681 + 27786 5440 5173 5681 5274 + 27787 5361 5268 5174 5440 + 27788 5174 5467 5268 5361 + 27789 5174 5440 5576 5361 + 27790 5174 5576 5467 5361 + 27791 5581 5442 5273 5174 + 27792 5581 5502 5442 5174 + 27793 5174 5581 5681 5273 + 27794 5174 5681 5440 5273 + 27795 5681 5174 5440 5576 + 27796 5581 5174 5684 5502 + 27797 5576 5174 5467 5684 + 27798 5771 5174 5684 5467 + 27799 5771 5268 5174 5467 + 27800 5502 5771 5268 5174 + 27801 5684 5771 5502 5174 + 27802 5576 5684 5776 5174 + 27803 5681 5776 5581 5174 + 27804 5581 5776 5684 5174 + 27805 5576 5776 5681 5174 + 27806 5583 5275 5175 5443 + 27807 5365 5275 5175 5583 + 27808 5176 5460 5388 5296 + 27809 5176 5584 5460 5296 + 27810 5584 5460 5276 5176 + 27811 5584 5176 5276 5386 + 27812 5176 5584 5296 5386 + 27813 5444 5364 5177 5275 + 27814 5276 5386 5177 5542 + 27815 5386 5177 5542 5585 + 27816 5177 5364 5444 5585 + 27817 5177 5294 5364 5585 + 27818 5386 5294 5177 5585 + 27819 5444 5542 5177 5585 + 27820 5511 5586 5444 5178 + 27821 5444 5365 5178 5586 + 27822 5511 5178 5688 5586 + 27823 5688 5178 5511 5369 + 27824 5688 5279 5178 5369 + 27825 5443 5179 5583 5364 + 27826 5277 5366 5179 5675 + 27827 5778 5583 5179 5364 + 27828 5364 5277 5179 5778 + 27829 5778 5179 5861 5277 + 27830 5861 5277 5179 5675 + 27831 5278 5180 5367 5447 + 27832 5367 5298 5447 5180 + 27833 5278 5181 5587 5367 + 27834 5368 5181 5587 5278 + 27835 5181 5689 5291 5464 + 27836 5368 5181 5464 5689 + 27837 5587 5689 5181 5368 + 27838 5782 5181 5689 5291 + 27839 5291 5782 5181 5383 + 27840 5782 5587 5689 5181 + 27841 5782 5181 5383 5292 + 27842 5181 5292 5782 5367 + 27843 5367 5181 5587 5782 + 27844 5182 5395 5494 5589 + 27845 5182 5302 5511 5589 + 27846 5182 5494 5302 5589 + 27847 5279 5395 5182 5688 + 27848 5688 5589 5395 5182 + 27849 5279 5182 5369 5688 + 27850 5688 5369 5511 5182 + 27851 5182 5511 5688 5589 + 27852 5449 5183 5370 5289 + 27853 5503 5449 5289 5183 + 27854 5183 5503 5449 5272 + 27855 5184 5269 5678 5504 + 27856 5678 5269 5184 5399 + 27857 5781 5447 5399 5184 + 27858 5781 5399 5678 5184 + 27859 5184 5504 5781 5278 + 27860 5184 5504 5678 5781 + 27861 5781 5447 5184 5278 + 27862 5280 5185 5371 5448 + 27863 5284 5451 5376 5186 + 27864 5280 5374 5591 5186 + 27865 5591 5374 5507 5186 + 27866 5186 5692 5370 5289 + 27867 5370 5280 5692 5186 + 27868 5280 5591 5692 5186 + 27869 5186 5693 5289 5376 + 27870 5376 5284 5186 5693 + 27871 5692 5591 5784 5186 + 27872 5693 5284 5186 5784 + 27873 5186 5289 5693 5784 + 27874 5507 5186 5284 5784 + 27875 5186 5784 5692 5289 + 27876 5507 5591 5186 5784 + 27877 5448 5187 5280 5374 + 27878 5280 5371 5187 5448 + 27879 5448 5187 5547 5371 + 27880 5371 5187 5547 5281 + 27881 5591 5280 5187 5374 + 27882 5692 5187 5280 5370 + 27883 5692 5281 5187 5370 + 27884 5591 5187 5280 5692 + 27885 5374 5187 5591 5785 + 27886 5374 5448 5187 5785 + 27887 5547 5281 5187 5785 + 27888 5692 5591 5187 5785 + 27889 5448 5187 5785 5547 + 27890 5692 5187 5281 5785 + 27891 5372 5283 5592 5188 + 27892 5592 5373 5188 5283 + 27893 5372 5592 5282 5188 + 27894 5520 5546 5285 5189 + 27895 5189 5696 5283 5373 + 27896 5189 5520 5696 5373 + 27897 5520 5696 5546 5189 + 27898 5450 5696 5283 5189 + 27899 5450 5546 5696 5189 + 27900 5477 5190 5286 5402 + 27901 5596 5315 5190 5402 + 27902 5596 5190 5477 5402 + 27903 5315 5596 5190 5472 + 27904 5472 5190 5375 5698 + 27905 5190 5698 5477 5285 + 27906 5596 5190 5472 5698 + 27907 5190 5375 5698 5285 + 27908 5596 5477 5190 5698 + 27909 5595 5520 5191 5475 + 27910 5285 5595 5520 5191 + 27911 5698 5375 5191 5285 + 27912 5698 5318 5191 5375 + 27913 5285 5698 5595 5191 + 27914 5595 5191 5699 5475 + 27915 5317 5191 5699 5474 + 27916 5475 5699 5317 5191 + 27917 5790 5191 5474 5699 + 27918 5318 5474 5790 5191 + 27919 5699 5595 5790 5191 + 27920 5698 5318 5790 5191 + 27921 5698 5790 5595 5191 + 27922 5192 5286 5402 5522 + 27923 5192 5448 5286 5522 + 27924 5478 5533 5319 5192 + 27925 5547 5319 5597 5192 + 27926 5192 5319 5597 5533 + 27927 5402 5700 5192 5522 + 27928 5700 5597 5192 5522 + 27929 5700 5533 5192 5597 + 27930 5533 5402 5700 5192 + 27931 5547 5597 5785 5192 + 27932 5785 5448 5547 5192 + 27933 5785 5522 5448 5192 + 27934 5785 5192 5597 5522 + 27935 5508 5287 5193 5598 + 27936 5695 5193 5451 5282 + 27937 5508 5695 5598 5193 + 27938 5508 5451 5695 5193 + 27939 5599 5288 5195 5377 + 27940 5378 5195 5599 5288 + 27941 5378 5195 5287 5599 + 27942 5196 5600 5288 5452 + 27943 5196 5306 5600 5514 + 27944 5196 5379 5514 5600 + 27945 5196 5465 5600 5306 + 27946 5379 5600 5196 5452 + 27947 5600 5196 5288 5465 + 27948 5380 5197 5321 5490 + 27949 5380 5290 5197 5490 + 27950 5197 5602 5316 5380 + 27951 5404 5602 5316 5197 + 27952 5404 5703 5602 5197 + 27953 5703 5197 5523 5321 + 27954 5602 5380 5197 5703 + 27955 5703 5197 5321 5380 + 27956 5197 5703 5523 5404 + 27957 5198 5492 5582 5381 + 27958 5274 5198 5582 5381 + 27959 5454 5264 5199 5382 + 27960 5603 5291 5453 5199 + 27961 5383 5603 5454 5199 + 27962 5603 5383 5291 5199 + 27963 5705 5382 5199 5453 + 27964 5199 5603 5454 5705 + 27965 5199 5453 5603 5705 + 27966 5199 5382 5705 5454 + 27967 5384 5200 5509 5301 + 27968 5454 5200 5707 5509 + 27969 5707 5200 5385 5301 + 27970 5707 5509 5200 5301 + 27971 5454 5707 5200 5767 + 27972 5200 5454 5767 5385 + 27973 5767 5200 5385 5707 + 27974 5398 5201 5293 5469 + 27975 5517 5201 5398 5310 + 27976 5398 5780 5310 5201 + 27977 5201 5780 5445 5294 + 27978 5201 5780 5294 5469 + 27979 5780 5201 5398 5469 + 27980 5201 5780 5310 5445 + 27981 5202 5455 5387 5295 + 27982 5387 5455 5202 5606 + 27983 5293 5606 5387 5202 + 27984 5709 5202 5293 5457 + 27985 5293 5709 5606 5202 + 27986 5798 5455 5606 5202 + 27987 5202 5798 5455 5295 + 27988 5709 5457 5799 5202 + 27989 5202 5798 5295 5871 + 27990 5871 5295 5202 5457 + 27991 5871 5799 5457 5202 + 27992 5798 5606 5929 5202 + 27993 5202 5929 5871 5799 + 27994 5929 5202 5606 5709 + 27995 5798 5929 5871 5202 + 27996 5202 5709 5929 5799 + 27997 5387 5203 5455 5710 + 27998 5388 5711 5304 5203 + 27999 5388 5296 5711 5203 + 28000 5608 5710 5203 5800 + 28001 5608 5203 5711 5800 + 28002 5800 5711 5296 5203 + 28003 5800 5296 5387 5203 + 28004 5203 5800 5710 5387 + 28005 5608 5203 5710 5801 + 28006 5455 5203 5801 5710 + 28007 5389 5461 5801 5203 + 28008 5389 5801 5455 5203 + 28009 5711 5872 5203 5608 + 28010 5872 5461 5203 5801 + 28011 5461 5203 5304 5872 + 28012 5304 5203 5711 5872 + 28013 5608 5872 5203 5801 + 28014 5461 5510 5204 5389 + 28015 5204 5510 5297 5389 + 28016 5539 5299 5204 5609 + 28017 5609 5299 5204 5458 + 28018 5461 5204 5510 5609 + 28019 5539 5204 5461 5609 + 28020 5609 5204 5510 5458 + 28021 5205 5457 5367 5298 + 28022 5384 5457 5588 5205 + 28023 5457 5588 5205 5367 + 28024 5384 5588 5782 5205 + 28025 5205 5782 5384 5292 + 28026 5205 5782 5292 5367 + 28027 5205 5588 5782 5367 + 28028 5295 5206 5607 5456 + 28029 5384 5206 5708 5295 + 28030 5708 5206 5607 5295 + 28031 5206 5769 5607 5456 + 28032 5301 5206 5390 5769 + 28033 5769 5206 5390 5456 + 28034 5797 5384 5206 5708 + 28035 5797 5301 5206 5384 + 28036 5206 5769 5301 5874 + 28037 5797 5874 5708 5206 + 28038 5874 5301 5206 5797 + 28039 5206 5769 5874 5607 + 28040 5206 5607 5874 5708 + 28041 5466 5308 5207 5705 + 28042 5705 5207 5382 5453 + 28043 5382 5705 5466 5207 + 28044 5308 5515 5207 5796 + 28045 5705 5207 5453 5796 + 28046 5207 5515 5306 5796 + 28047 5306 5207 5796 5453 + 28048 5705 5308 5207 5796 + 28049 5436 5566 5357 5208 + 28050 5436 5501 5566 5208 + 28051 5569 5501 5436 5208 + 28052 5569 5208 5436 5300 + 28053 5463 5611 5396 5208 + 28054 5208 5357 5463 5672 + 28055 5208 5566 5357 5672 + 28056 5208 5396 5300 5714 + 28057 5396 5714 5208 5611 + 28058 5208 5300 5569 5714 + 28059 5876 5463 5208 5611 + 28060 5463 5672 5876 5208 + 28061 5566 5876 5672 5208 + 28062 5920 5566 5208 5876 + 28063 5920 5714 5208 5569 + 28064 5566 5920 5208 5501 + 28065 5920 5208 5714 5611 + 28066 5920 5876 5208 5611 + 28067 5920 5208 5501 5569 + 28068 5569 5436 5209 5300 + 28069 5673 5209 5569 5436 + 28070 5673 5264 5209 5436 + 28071 5767 5209 5382 5300 + 28072 5767 5382 5209 5264 + 28073 5673 5209 5264 5767 + 28074 5767 5209 5569 5673 + 28075 5569 5300 5209 5767 + 28076 5715 5210 5346 5425 + 28077 5715 5302 5210 5425 + 28078 5715 5302 5511 5210 + 28079 5715 5391 5210 5511 + 28080 5391 5210 5346 5715 + 28081 5394 5210 5346 5877 + 28082 5391 5346 5210 5877 + 28083 5210 5391 5877 5460 + 28084 5877 5210 5460 5394 + 28085 5351 5211 5559 5543 + 28086 5299 5539 5211 5609 + 28087 5609 5211 5299 5458 + 28088 5458 5609 5211 5513 + 28089 5211 5662 5559 5543 + 28090 5662 5513 5303 5211 + 28091 5211 5303 5662 5543 + 28092 5351 5539 5664 5211 + 28093 5609 5664 5539 5211 + 28094 5559 5211 5351 5664 + 28095 5662 5879 5513 5211 + 28096 5211 5609 5664 5879 + 28097 5662 5211 5559 5879 + 28098 5609 5879 5211 5513 + 28099 5211 5664 5559 5879 + 28100 5462 5345 5554 5212 + 28101 5495 5536 5806 5212 + 28102 5495 5806 5553 5212 + 28103 5553 5806 5345 5212 + 28104 5536 5212 5554 5880 + 28105 5212 5536 5806 5880 + 28106 5212 5806 5345 5880 + 28107 5345 5554 5212 5880 + 28108 5213 5718 5535 5424 + 28109 5535 5426 5718 5213 + 28110 5424 5305 5213 5718 + 28111 5291 5214 5603 5453 + 28112 5514 5214 5306 5719 + 28113 5795 5603 5291 5214 + 28114 5514 5214 5795 5291 + 28115 5453 5796 5214 5603 + 28116 5214 5796 5453 5306 + 28117 5603 5881 5796 5214 + 28118 5603 5795 5881 5214 + 28119 5881 5306 5214 5719 + 28120 5881 5306 5796 5214 + 28121 5719 5514 5214 5935 + 28122 5719 5214 5881 5935 + 28123 5795 5514 5935 5214 + 28124 5795 5935 5881 5214 + 28125 5308 5215 5515 5809 + 28126 5307 5809 5515 5215 + 28127 5466 5215 5308 5883 + 28128 5215 5309 5883 5466 + 28129 5883 5957 5215 5308 + 28130 5308 5957 5215 5809 + 28131 5544 5216 5468 5619 + 28132 5544 5516 5216 5619 + 28133 5677 5468 5216 5619 + 28134 5216 5677 5360 5468 + 28135 5677 5360 5771 5216 + 28136 5268 5216 5467 5771 + 28137 5360 5268 5771 5216 + 28138 5884 5216 5516 5619 + 28139 5516 5467 5216 5884 + 28140 5884 5467 5216 5771 + 28141 5884 5958 5216 5619 + 28142 5677 5958 5216 5771 + 28143 5771 5884 5958 5216 + 28144 5677 5216 5958 5619 + 28145 5386 5217 5584 5296 + 28146 5293 5217 5387 5606 + 28147 5293 5469 5217 5606 + 28148 5217 5800 5584 5296 + 28149 5800 5584 5716 5217 + 28150 5621 5217 5800 5716 + 28151 5387 5217 5800 5606 + 28152 5217 5387 5800 5296 + 28153 5469 5606 5812 5217 + 28154 5621 5813 5217 5716 + 28155 5217 5294 5386 5870 + 28156 5294 5469 5870 5217 + 28157 5584 5716 5217 5928 + 28158 5217 5928 5716 5813 + 28159 5217 5870 5928 5813 + 28160 5870 5386 5217 5928 + 28161 5584 5217 5386 5928 + 28162 5813 5870 5940 5217 + 28163 5870 5469 5940 5217 + 28164 5217 5812 5940 5621 + 28165 5940 5469 5812 5217 + 28166 5217 5813 5621 5940 + 28167 5217 5621 5800 5941 + 28168 5217 5941 5812 5621 + 28169 5606 5941 5812 5217 + 28170 5941 5217 5606 5800 + 28171 5310 5218 5517 5397 + 28172 5218 5545 5518 5574 + 28173 5517 5399 5218 5610 + 28174 5397 5722 5310 5218 + 28175 5399 5610 5814 5218 + 28176 5814 5218 5610 5724 + 28177 5399 5814 5545 5218 + 28178 5218 5518 5885 5574 + 28179 5815 5722 5885 5218 + 28180 5885 5518 5218 5397 + 28181 5218 5885 5815 5574 + 28182 5885 5218 5722 5397 + 28183 5886 5310 5722 5218 + 28184 5610 5886 5218 5517 + 28185 5610 5724 5218 5886 + 28186 5724 5886 5815 5218 + 28187 5886 5218 5517 5310 + 28188 5886 5722 5815 5218 + 28189 5574 5887 5815 5218 + 28190 5814 5887 5218 5724 + 28191 5574 5545 5887 5218 + 28192 5724 5815 5887 5218 + 28193 5545 5887 5218 5814 + 28194 5622 5219 5313 5400 + 28195 5622 5400 5470 5219 + 28196 5622 5470 5725 5219 + 28197 5725 5311 5219 5470 + 28198 5524 5470 5220 5311 + 28199 5400 5312 5548 5220 + 28200 5220 5470 5524 5548 + 28201 5400 5548 5470 5220 + 28202 5474 5221 5318 5624 + 28203 5521 5318 5221 5624 + 28204 5474 5726 5221 5624 + 28205 5221 5313 5400 5726 + 28206 5221 5726 5474 5401 + 28207 5221 5401 5313 5726 + 28208 5221 5816 5624 5726 + 28209 5726 5816 5400 5221 + 28210 5221 5816 5400 5476 + 28211 5816 5476 5221 5521 + 28212 5521 5221 5816 5624 + 28213 5403 5314 5222 5549 + 28214 5222 5316 5471 5551 + 28215 5551 5519 5471 5222 + 28216 5316 5222 5485 5602 + 28217 5551 5222 5316 5602 + 28218 5403 5222 5727 5549 + 28219 5551 5727 5222 5602 + 28220 5727 5519 5222 5403 + 28221 5551 5727 5519 5222 + 28222 5529 5818 5485 5222 + 28223 5222 5818 5485 5602 + 28224 5818 5602 5222 5727 + 28225 5818 5222 5549 5727 + 28226 5818 5549 5222 5529 + 28227 5519 5223 5472 5315 + 28228 5314 5403 5223 5625 + 28229 5314 5223 5405 5625 + 28230 5223 5472 5521 5728 + 28231 5625 5403 5223 5820 + 28232 5519 5223 5403 5820 + 28233 5728 5223 5472 5820 + 28234 5472 5820 5223 5519 + 28235 5223 5405 5890 5521 + 28236 5223 5890 5728 5521 + 28237 5890 5728 5820 5223 + 28238 5625 5405 5890 5223 + 28239 5890 5625 5223 5820 + 28240 5312 5548 5224 5476 + 28241 5224 5405 5476 5628 + 28242 5224 5476 5548 5628 + 28243 5405 5628 5224 5730 + 28244 5473 5405 5224 5730 + 28245 5473 5730 5224 5410 + 28246 5328 5822 5410 5224 + 28247 5628 5548 5224 5822 + 28248 5822 5224 5730 5410 + 28249 5328 5224 5548 5822 + 28250 5224 5730 5628 5822 + 28251 5225 5325 5631 5407 + 28252 5225 5631 5323 5407 + 28253 5412 5632 5322 5225 + 28254 5327 5632 5412 5225 + 28255 5631 5225 5323 5733 + 28256 5225 5631 5325 5733 + 28257 5225 5327 5733 5408 + 28258 5327 5733 5632 5225 + 28259 5225 5325 5408 5733 + 28260 5827 5322 5632 5225 + 28261 5733 5225 5323 5827 + 28262 5406 5827 5323 5225 + 28263 5406 5322 5827 5225 + 28264 5827 5632 5733 5225 + 28265 5326 5227 5415 5636 + 28266 5227 5636 5736 5828 + 28267 5415 5325 5828 5227 + 28268 5635 5227 5828 5325 + 28269 5227 5415 5636 5828 + 28270 5227 5828 5736 5635 + 28271 5635 5480 5227 5829 + 28272 5227 5408 5325 5829 + 28273 5635 5829 5227 5325 + 28274 5829 5480 5227 5408 + 28275 5227 5830 5736 5636 + 28276 5736 5227 5635 5830 + 28277 5480 5326 5830 5227 + 28278 5480 5635 5227 5830 + 28279 5227 5326 5830 5636 + 28280 5416 5638 5329 5228 + 28281 5638 5416 5332 5228 + 28282 5228 5638 5329 5409 + 28283 5739 5228 5483 5409 + 28284 5739 5638 5228 5409 + 28285 5332 5638 5228 5739 + 28286 5332 5228 5483 5739 + 28287 5411 5229 5329 5482 + 28288 5409 5526 5229 5481 + 28289 5740 5409 5526 5229 + 28290 5740 5329 5409 5229 + 28291 5229 5740 5482 5526 + 28292 5229 5740 5329 5482 + 28293 5411 5230 5482 5329 + 28294 5411 5486 5529 5230 + 28295 5230 5640 5486 5529 + 28296 5230 5549 5640 5529 + 28297 5740 5482 5230 5329 + 28298 5823 5473 5549 5230 + 28299 5473 5230 5823 5410 + 28300 5640 5823 5549 5230 + 28301 5230 5832 5740 5329 + 28302 5230 5411 5832 5329 + 28303 5902 5482 5230 5740 + 28304 5640 5902 5823 5230 + 28305 5823 5410 5230 5902 + 28306 5482 5230 5410 5902 + 28307 5740 5946 5832 5230 + 28308 5902 5946 5230 5640 + 28309 5946 5411 5832 5230 + 28310 5740 5230 5902 5946 + 28311 5411 5486 5230 5946 + 28312 5640 5946 5230 5486 + 28313 5484 5413 5636 5231 + 28314 5326 5636 5231 5484 + 28315 5326 5415 5231 5636 + 28316 5412 5232 5327 5481 + 28317 5330 5481 5232 5526 + 28318 5232 5632 5412 5327 + 28319 5412 5831 5232 5481 + 28320 5412 5232 5831 5632 + 28321 5526 5481 5232 5831 + 28322 5835 5641 5232 5737 + 28323 5232 5897 5632 5327 + 28324 5480 5897 5232 5327 + 28325 5897 5232 5737 5480 + 28326 5480 5232 5737 5899 + 28327 5899 5232 5330 5525 + 28328 5525 5899 5232 5480 + 28329 5330 5899 5835 5232 + 28330 5835 5232 5899 5737 + 28331 5835 5232 5641 5903 + 28332 5903 5741 5831 5232 + 28333 5526 5232 5903 5831 + 28334 5903 5330 5232 5526 + 28335 5903 5641 5741 5232 + 28336 5835 5330 5232 5903 + 28337 5232 5632 5947 5831 + 28338 5947 5897 5632 5232 + 28339 5947 5232 5831 5741 + 28340 5741 5232 5641 5959 + 28341 5947 5959 5897 5232 + 28342 5232 5641 5959 5737 + 28343 5741 5947 5232 5959 + 28344 5897 5232 5959 5737 + 28345 5233 5644 5331 5413 + 28346 5743 5233 5413 5644 + 28347 5331 5233 5836 5644 + 28348 5836 5233 5743 5644 + 28349 5414 5836 5331 5233 + 28350 5331 5644 5234 5484 + 28351 5484 5343 5644 5234 + 28352 5234 5488 5645 5342 + 28353 5488 5423 5234 5645 + 28354 5234 5645 5744 5342 + 28355 5422 5744 5234 5331 + 28356 5234 5342 5744 5422 + 28357 5234 5744 5644 5331 + 28358 5645 5423 5234 5745 + 28359 5234 5745 5423 5343 + 28360 5234 5744 5645 5838 + 28361 5234 5645 5745 5838 + 28362 5234 5745 5343 5838 + 28363 5744 5644 5838 5234 + 28364 5234 5343 5644 5838 + 28365 5326 5483 5525 5235 + 28366 5552 5235 5484 5343 + 28367 5552 5484 5235 5332 + 28368 5326 5525 5637 5235 + 28369 5343 5552 5235 5646 + 28370 5332 5552 5739 5235 + 28371 5332 5739 5483 5235 + 28372 5525 5235 5483 5739 + 28373 5235 5646 5746 5343 + 28374 5326 5898 5484 5235 + 28375 5898 5484 5235 5343 + 28376 5235 5746 5898 5343 + 28377 5235 5898 5637 5326 + 28378 5637 5898 5235 5746 + 28379 5525 5637 5235 5948 + 28380 5746 5646 5235 5948 + 28381 5637 5235 5948 5746 + 28382 5552 5739 5235 5948 + 28383 5525 5948 5235 5739 + 28384 5552 5948 5235 5646 + 28385 5236 5335 5491 5417 + 28386 5236 5491 5333 5417 + 28387 5417 5333 5236 5528 + 28388 5528 5236 5417 5550 + 28389 5334 5236 5528 5550 + 28390 5237 5647 5534 5421 + 28391 5333 5647 5534 5237 + 28392 5647 5538 5421 5237 + 28393 5704 5333 5528 5237 + 28394 5528 5237 5290 5704 + 28395 5237 5490 5290 5794 + 28396 5237 5290 5704 5794 + 28397 5237 5333 5647 5839 + 28398 5704 5237 5839 5333 + 28399 5490 5906 5794 5237 + 28400 5538 5906 5237 5647 + 28401 5906 5538 5237 5490 + 28402 5237 5647 5906 5839 + 28403 5237 5839 5906 5704 + 28404 5704 5906 5237 5794 + 28405 5419 5488 5339 5238 + 28406 5488 5532 5339 5238 + 28407 5488 5423 5532 5238 + 28408 5238 5532 5332 5423 + 28409 5416 5238 5532 5332 + 28410 5239 5550 5336 5417 + 28411 5650 5239 5418 5336 + 28412 5239 5420 5335 5750 + 28413 5750 5239 5420 5531 + 28414 5239 5336 5840 5417 + 28415 5650 5840 5239 5336 + 28416 5750 5239 5840 5335 + 28417 5840 5335 5239 5417 + 28418 5908 5487 5239 5531 + 28419 5239 5650 5908 5840 + 28420 5908 5239 5750 5531 + 28421 5487 5239 5418 5908 + 28422 5239 5908 5750 5840 + 28423 5239 5650 5418 5908 + 28424 5240 5651 5530 5337 + 28425 5337 5240 5751 5418 + 28426 5336 5240 5751 5652 + 28427 5336 5751 5240 5418 + 28428 5751 5240 5337 5841 + 28429 5651 5337 5240 5841 + 28430 5652 5841 5240 5751 + 28431 5841 5652 5240 5748 + 28432 5240 5486 5905 5550 + 28433 5336 5905 5550 5240 + 28434 5905 5240 5336 5652 + 28435 5486 5748 5946 5240 + 28436 5946 5841 5651 5240 + 28437 5946 5748 5841 5240 + 28438 5946 5530 5240 5651 + 28439 5946 5486 5240 5530 + 28440 5486 5240 5905 5950 + 28441 5486 5748 5240 5950 + 28442 5905 5240 5652 5950 + 28443 5748 5652 5240 5950 + 28444 5335 5420 5241 5489 + 28445 5242 5649 5491 5335 + 28446 5489 5649 5242 5335 + 28447 5242 5846 5534 5491 + 28448 5649 5491 5846 5242 + 28449 5534 5846 5242 5340 + 28450 5243 5340 5755 5421 + 28451 5755 5847 5243 5421 + 28452 5341 5421 5243 5847 + 28453 5341 5243 5492 5847 + 28454 5577 5362 5493 5244 + 28455 5577 5493 5428 5244 + 28456 5538 5630 5244 5490 + 28457 5630 5244 5428 5538 + 28458 5244 5321 5630 5429 + 28459 5429 5244 5320 5630 + 28460 5490 5321 5630 5244 + 28461 5320 5362 5682 5244 + 28462 5682 5362 5577 5244 + 28463 5682 5320 5244 5630 + 28464 5428 5577 5244 5848 + 28465 5682 5577 5848 5244 + 28466 5428 5244 5630 5848 + 28467 5682 5244 5848 5630 + 28468 5419 5488 5245 5339 + 28469 5245 5419 5655 5338 + 28470 5339 5419 5655 5245 + 28471 5339 5655 5845 5245 + 28472 5845 5488 5245 5342 + 28473 5845 5245 5488 5339 + 28474 5836 5331 5246 5414 + 28475 5331 5836 5246 5422 + 28476 5430 5558 5247 5250 + 28477 5247 5556 5661 5558 + 28478 5247 5556 5432 5661 + 28479 5661 5247 5250 5432 + 28480 5250 5247 5661 5558 + 28481 5247 5556 5764 5259 + 28482 5764 5247 5430 5558 + 28483 5556 5764 5558 5247 + 28484 5247 5259 5764 5430 + 28485 5535 5494 5248 5424 + 28486 5248 5494 5656 5425 + 28487 5535 5656 5248 5494 + 28488 5248 5656 5496 5425 + 28489 5248 5656 5758 5496 + 28490 5535 5248 5762 5427 + 28491 5762 5915 5248 5758 + 28492 5758 5915 5248 5496 + 28493 5248 5915 5762 5427 + 28494 5427 5248 5915 5344 + 28495 5248 5915 5344 5496 + 28496 5758 5656 5248 5916 + 28497 5656 5535 5248 5916 + 28498 5762 5248 5535 5916 + 28499 5758 5248 5762 5916 + 28500 5658 5249 5430 5541 + 28501 5658 5347 5249 5541 + 28502 5347 5249 5348 5660 + 28503 5250 5348 5249 5660 + 28504 5347 5658 5249 5660 + 28505 5660 5658 5249 5761 + 28506 5660 5249 5250 5761 + 28507 5250 5249 5430 5761 + 28508 5430 5249 5658 5761 + 28509 5349 5661 5250 5432 + 28510 5250 5430 5558 5761 + 28511 5559 5251 5500 5433 + 28512 5559 5433 5499 5251 + 28513 5351 5462 5252 5561 + 28514 5462 5350 5252 5561 + 28515 5254 5434 5352 5562 + 28516 5254 5352 5537 5562 + 28517 5665 5537 5254 5495 + 28518 5537 5562 5665 5254 + 28519 5495 5254 5665 5427 + 28520 5254 5562 5665 5762 + 28521 5762 5254 5434 5427 + 28522 5254 5434 5562 5762 + 28523 5254 5762 5665 5427 + 28524 5256 5535 5426 5563 + 28525 5256 5434 5762 5563 + 28526 5535 5427 5762 5256 + 28527 5434 5762 5427 5256 + 28528 5256 5762 5535 5563 + 28529 5257 5543 5433 5499 + 28530 5556 5432 5499 5257 + 28531 5556 5499 5543 5257 + 28532 5556 5257 5543 5393 + 28533 5258 5431 5497 5541 + 28534 5354 5668 5555 5259 + 28535 5512 5555 5764 5259 + 28536 5764 5259 5555 5668 + 28537 5259 5764 5430 5668 + 28538 5556 5764 5259 5512 + 28539 5669 5260 5498 5765 + 28540 5260 5670 5765 5565 + 28541 5765 5260 5565 5669 + 28542 5566 5357 5435 5262 + 28543 5566 5436 5262 5355 + 28544 5566 5357 5262 5436 + 28545 5357 5463 5672 5263 + 28546 5673 5264 5385 5767 + 28547 5767 5454 5382 5264 + 28548 5264 5767 5454 5385 + 28549 5265 5501 5567 5355 + 28550 5265 5567 5437 5355 + 28551 5459 5570 5265 5674 + 28552 5459 5674 5265 5568 + 28553 5570 5768 5358 5265 + 28554 5570 5674 5768 5265 + 28555 5265 5768 5437 5567 + 28556 5265 5358 5437 5768 + 28557 5674 5854 5768 5265 + 28558 5854 5501 5265 5673 + 28559 5854 5501 5567 5265 + 28560 5265 5854 5768 5567 + 28561 5568 5673 5854 5265 + 28562 5568 5854 5674 5265 + 28563 5439 5266 5518 5359 + 28564 5573 5267 5359 5438 + 28565 5359 5267 5573 5442 + 28566 5268 5439 5771 5502 + 28567 5771 5439 5268 5360 + 28568 5545 5677 5575 5269 + 28569 5677 5545 5360 5269 + 28570 5269 5360 5677 5468 + 28571 5269 5677 5575 5468 + 28572 5575 5545 5269 5678 + 28573 5269 5545 5399 5678 + 28574 5269 5575 5678 5772 + 28575 5269 5468 5575 5772 + 28576 5772 5678 5269 5504 + 28577 5270 5441 5544 5363 + 28578 5544 5441 5270 5516 + 28579 5516 5361 5467 5271 + 28580 5467 5271 5361 5576 + 28581 5493 5362 5577 5271 + 28582 5516 5577 5362 5271 + 28583 5516 5680 5577 5271 + 28584 5680 5467 5576 5271 + 28585 5516 5467 5680 5271 + 28586 5773 5680 5576 5271 + 28587 5271 5679 5773 5493 + 28588 5773 5576 5679 5271 + 28589 5493 5271 5577 5773 + 28590 5577 5773 5271 5680 + 28591 5446 5272 5579 5503 + 28592 5449 5579 5506 5272 + 28593 5503 5449 5272 5579 + 28594 5274 5582 5679 5381 + 28595 5440 5681 5576 5274 + 28596 5679 5858 5582 5274 + 28597 5274 5858 5681 5576 + 28598 5679 5576 5858 5274 + 28599 5583 5364 5275 5443 + 28600 5583 5365 5275 5444 + 28601 5583 5275 5364 5444 + 28602 5391 5460 5276 5584 + 28603 5687 5386 5276 5542 + 28604 5391 5276 5687 5584 + 28605 5386 5687 5276 5584 + 28606 5276 5687 5542 5391 + 28607 5445 5277 5686 5572 + 28608 5364 5445 5277 5686 + 28609 5686 5277 5364 5778 + 28610 5686 5572 5277 5861 + 28611 5778 5861 5686 5277 + 28612 5861 5572 5277 5675 + 28613 5278 5587 5781 5367 + 28614 5278 5367 5781 5447 + 28615 5504 5368 5862 5278 + 28616 5278 5368 5862 5587 + 28617 5781 5504 5862 5278 + 28618 5278 5862 5781 5587 + 28619 5371 5547 5505 5281 + 28620 5281 5363 5506 5580 + 28621 5281 5505 5363 5580 + 28622 5505 5281 5547 5580 + 28623 5281 5692 5449 5370 + 28624 5863 5547 5281 5580 + 28625 5449 5692 5281 5863 + 28626 5281 5863 5785 5547 + 28627 5692 5281 5863 5785 + 28628 5863 5506 5580 5281 + 28629 5449 5506 5863 5281 + 28630 5695 5592 5282 5372 + 28631 5695 5282 5451 5372 + 28632 5696 5283 5373 5592 + 28633 5372 5283 5450 5696 + 28634 5283 5592 5696 5372 + 28635 5376 5451 5284 5508 + 28636 5693 5508 5284 5594 + 28637 5376 5284 5693 5508 + 28638 5864 5284 5451 5508 + 28639 5284 5864 5451 5372 + 28640 5284 5507 5864 5372 + 28641 5284 5864 5594 5508 + 28642 5507 5284 5924 5784 + 28643 5864 5284 5924 5507 + 28644 5284 5924 5594 5864 + 28645 5693 5284 5784 5924 + 28646 5924 5284 5594 5693 + 28647 5789 5285 5520 5546 + 28648 5285 5789 5477 5522 + 28649 5285 5546 5789 5522 + 28650 5789 5520 5285 5866 + 28651 5477 5866 5789 5285 + 28652 5698 5285 5595 5866 + 28653 5477 5698 5866 5285 + 28654 5595 5285 5520 5866 + 28655 5286 5477 5402 5522 + 28656 5508 5378 5287 5598 + 28657 5792 5287 5599 5378 + 28658 5287 5598 5378 5792 + 28659 5378 5599 5465 5288 + 28660 5599 5465 5288 5377 + 28661 5288 5465 5378 5600 + 28662 5378 5288 5600 5452 + 28663 5452 5590 5289 5379 + 28664 5503 5289 5449 5590 + 28665 5503 5379 5289 5590 + 28666 5692 5449 5289 5590 + 28667 5449 5370 5692 5289 + 28668 5452 5289 5590 5693 + 28669 5452 5376 5289 5693 + 28670 5784 5692 5289 5590 + 28671 5784 5289 5693 5590 + 28672 5528 5290 5380 5704 + 28673 5380 5290 5490 5794 + 28674 5380 5704 5290 5794 + 28675 5601 5291 5464 5514 + 28676 5689 5291 5464 5601 + 28677 5706 5291 5603 5383 + 28678 5291 5706 5604 5782 + 28679 5291 5604 5689 5782 + 28680 5782 5383 5291 5706 + 28681 5795 5603 5706 5291 + 28682 5601 5795 5291 5514 + 28683 5795 5604 5689 5291 + 28684 5795 5706 5604 5291 + 28685 5795 5291 5689 5601 + 28686 5782 5509 5384 5292 + 28687 5292 5782 5509 5383 + 28688 5293 5469 5709 5398 + 28689 5709 5293 5398 5457 + 28690 5709 5606 5469 5293 + 28691 5294 5445 5364 5686 + 28692 5294 5364 5585 5686 + 28693 5445 5780 5686 5294 + 28694 5780 5469 5870 5294 + 28695 5870 5294 5386 5585 + 28696 5294 5780 5686 5870 + 28697 5686 5585 5294 5870 + 28698 5455 5607 5389 5295 + 28699 5295 5607 5389 5456 + 28700 5384 5295 5708 5457 + 28701 5708 5607 5798 5295 + 28702 5455 5798 5607 5295 + 28703 5708 5295 5798 5871 + 28704 5871 5708 5295 5457 + 28705 5296 5711 5584 5460 + 28706 5296 5388 5711 5460 + 28707 5584 5711 5296 5800 + 28708 5456 5510 5389 5297 + 28709 5517 5457 5298 5690 + 28710 5367 5298 5457 5690 + 28711 5447 5298 5690 5517 + 28712 5447 5298 5367 5690 + 28713 5382 5466 5868 5300 + 28714 5868 5300 5569 5767 + 28715 5767 5382 5868 5300 + 28716 5396 5714 5868 5300 + 28717 5569 5868 5714 5300 + 28718 5396 5868 5466 5300 + 28719 5568 5385 5459 5301 + 28720 5707 5385 5568 5301 + 28721 5301 5390 5459 5769 + 28722 5568 5459 5769 5301 + 28723 5707 5797 5509 5301 + 28724 5797 5384 5509 5301 + 28725 5568 5769 5932 5301 + 28726 5874 5932 5301 5797 + 28727 5932 5301 5769 5874 + 28728 5707 5301 5932 5797 + 28729 5568 5932 5707 5301 + 28730 5589 5715 5494 5302 + 28731 5589 5511 5715 5302 + 28732 5425 5715 5302 5494 + 28733 5556 5543 5303 5393 + 28734 5560 5543 5303 5556 + 28735 5662 5303 5560 5543 + 28736 5803 5303 5662 5513 + 28737 5803 5303 5513 5571 + 28738 5662 5803 5560 5303 + 28739 5571 5803 5303 5878 + 28740 5878 5556 5560 5303 + 28741 5571 5303 5556 5878 + 28742 5878 5560 5803 5303 + 28743 5388 5711 5460 5304 + 28744 5394 5554 5304 5804 + 28745 5804 5872 5304 5711 + 28746 5461 5554 5872 5304 + 28747 5872 5554 5804 5304 + 28748 5711 5804 5877 5304 + 28749 5804 5394 5877 5304 + 28750 5877 5711 5304 5460 + 28751 5877 5304 5394 5460 + 28752 5589 5305 5395 5494 + 28753 5424 5494 5305 5718 + 28754 5589 5807 5305 5494 + 28755 5494 5807 5305 5718 + 28756 5600 5719 5514 5306 + 28757 5617 5796 5306 5515 + 28758 5808 5617 5306 5515 + 28759 5306 5465 5808 5515 + 28760 5719 5306 5808 5617 + 28761 5306 5808 5465 5600 + 28762 5719 5808 5306 5600 + 28763 5306 5881 5796 5617 + 28764 5881 5306 5719 5617 + 28765 5377 5307 5702 5515 + 28766 5702 5515 5307 5809 + 28767 5308 5618 5705 5466 + 28768 5617 5308 5796 5515 + 28769 5308 5705 5618 5796 + 28770 5308 5809 5515 5617 + 28771 5466 5308 5618 5883 + 28772 5308 5617 5720 5936 + 28773 5617 5936 5308 5809 + 28774 5308 5937 5720 5617 + 28775 5937 5618 5308 5720 + 28776 5796 5937 5308 5617 + 28777 5937 5308 5618 5796 + 28778 5936 5809 5957 5308 + 28779 5308 5936 5720 5957 + 28780 5957 5720 5308 5618 + 28781 5618 5308 5957 5883 + 28782 5611 5396 5309 5463 + 28783 5611 5309 5396 5883 + 28784 5466 5396 5309 5883 + 28785 5310 5397 5445 5572 + 28786 5397 5310 5722 5572 + 28787 5398 5310 5780 5620 + 28788 5310 5445 5780 5572 + 28789 5398 5620 5886 5310 + 28790 5886 5517 5398 5310 + 28791 5310 5722 5572 5939 + 28792 5722 5886 5939 5310 + 28793 5886 5620 5939 5310 + 28794 5939 5780 5310 5620 + 28795 5310 5572 5780 5939 + 28796 5524 5311 5406 5623 + 28797 5311 5725 5623 5524 + 28798 5725 5524 5311 5470 + 28799 5548 5400 5476 5312 + 28800 5622 5400 5313 5726 + 28801 5405 5625 5473 5314 + 28802 5625 5549 5314 5403 + 28803 5549 5625 5314 5473 + 28804 5402 5519 5315 5471 + 28805 5519 5596 5315 5472 + 28806 5519 5596 5402 5315 + 28807 5471 5316 5404 5551 + 28808 5551 5602 5316 5404 + 28809 5316 5485 5380 5602 + 28810 5472 5375 5318 5698 + 28811 5472 5318 5521 5728 + 28812 5728 5521 5624 5318 + 28813 5318 5790 5474 5624 + 28814 5472 5318 5889 5698 + 28815 5698 5790 5318 5889 + 28816 5728 5624 5889 5318 + 28817 5318 5790 5624 5889 + 28818 5472 5889 5318 5728 + 28819 5319 5597 5694 5547 + 28820 5505 5547 5319 5694 + 28821 5319 5478 5775 5533 + 28822 5319 5578 5505 5786 + 28823 5319 5505 5694 5786 + 28824 5694 5786 5894 5319 + 28825 5894 5786 5578 5319 + 28826 5319 5694 5597 5894 + 28827 5533 5894 5775 5319 + 28828 5533 5597 5894 5319 + 28829 5319 5775 5578 5894 + 28830 5478 5320 5775 5523 + 28831 5429 5775 5320 5523 + 28832 5682 5775 5320 5895 + 28833 5630 5320 5429 5895 + 28834 5429 5320 5775 5895 + 28835 5630 5682 5320 5895 + 28836 5523 5429 5703 5321 + 28837 5794 5321 5380 5703 + 28838 5490 5321 5380 5794 + 28839 5321 5794 5630 5429 + 28840 5321 5490 5630 5794 + 28841 5429 5703 5321 5794 + 28842 5524 5406 5322 5623 + 28843 5734 5322 5524 5412 + 28844 5524 5322 5734 5623 + 28845 5734 5412 5632 5322 + 28846 5623 5322 5827 5406 + 28847 5734 5827 5623 5322 + 28848 5734 5632 5827 5322 + 28849 5896 5631 5323 5733 + 28850 5733 5323 5896 5827 + 28851 5479 5631 5325 5407 + 28852 5634 5415 5527 5325 + 28853 5634 5527 5479 5325 + 28854 5479 5735 5634 5325 + 28855 5325 5735 5631 5479 + 28856 5325 5828 5735 5634 + 28857 5735 5635 5828 5325 + 28858 5325 5415 5828 5634 + 28859 5635 5325 5735 5829 + 28860 5829 5408 5325 5733 + 28861 5829 5325 5735 5631 + 28862 5325 5733 5631 5829 + 28863 5830 5326 5525 5637 + 28864 5326 5525 5480 5830 + 28865 5326 5898 5636 5484 + 28866 5898 5830 5637 5326 + 28867 5326 5898 5830 5636 + 28868 5327 5897 5733 5408 + 28869 5327 5480 5897 5408 + 28870 5733 5632 5897 5327 + 28871 5633 5412 5524 5328 + 28872 5328 5633 5548 5524 + 28873 5410 5482 5738 5328 + 28874 5526 5738 5482 5328 + 28875 5822 5328 5633 5548 + 28876 5410 5738 5822 5328 + 28877 5328 5633 5738 5822 + 28878 5738 5328 5831 5633 + 28879 5633 5328 5831 5412 + 28880 5831 5328 5481 5412 + 28881 5526 5328 5481 5831 + 28882 5526 5738 5328 5831 + 28883 5329 5740 5409 5638 + 28884 5832 5530 5416 5329 + 28885 5832 5416 5638 5329 + 28886 5329 5832 5740 5638 + 28887 5530 5329 5832 5411 + 28888 5409 5330 5526 5481 + 28889 5526 5740 5643 5330 + 28890 5409 5740 5526 5330 + 28891 5330 5525 5409 5833 + 28892 5742 5642 5835 5330 + 28893 5642 5899 5835 5330 + 28894 5409 5833 5900 5330 + 28895 5900 5643 5740 5330 + 28896 5833 5900 5330 5642 + 28897 5643 5330 5900 5742 + 28898 5900 5740 5409 5330 + 28899 5330 5900 5742 5642 + 28900 5903 5330 5742 5835 + 28901 5643 5330 5742 5903 + 28902 5903 5330 5526 5643 + 28903 5948 5642 5833 5330 + 28904 5330 5948 5525 5833 + 28905 5330 5642 5899 5948 + 28906 5330 5899 5525 5948 + 28907 5413 5484 5644 5331 + 28908 5331 5744 5644 5836 + 28909 5331 5422 5744 5836 + 28910 5552 5532 5423 5332 + 28911 5532 5638 5416 5332 + 28912 5532 5904 5638 5332 + 28913 5904 5552 5739 5332 + 28914 5552 5904 5532 5332 + 28915 5904 5739 5638 5332 + 28916 5417 5648 5333 5528 + 28917 5648 5333 5528 5704 + 28918 5491 5333 5747 5534 + 28919 5333 5647 5747 5534 + 28920 5333 5491 5747 5417 + 28921 5333 5417 5747 5648 + 28922 5647 5839 5333 5747 + 28923 5704 5839 5648 5333 + 28924 5648 5333 5839 5747 + 28925 5905 5528 5550 5334 + 28926 5486 5905 5550 5334 + 28927 5905 5334 5485 5528 + 28928 5485 5529 5334 5905 + 28929 5334 5529 5486 5905 + 28930 5649 5489 5420 5335 + 28931 5649 5335 5420 5750 + 28932 5750 5840 5649 5335 + 28933 5840 5417 5491 5335 + 28934 5840 5491 5649 5335 + 28935 5336 5648 5417 5550 + 28936 5336 5751 5418 5650 + 28937 5336 5417 5648 5840 + 28938 5751 5336 5842 5650 + 28939 5336 5751 5842 5652 + 28940 5905 5336 5550 5648 + 28941 5336 5909 5653 5842 + 28942 5336 5909 5951 5648 + 28943 5951 5336 5840 5650 + 28944 5840 5648 5336 5951 + 28945 5336 5951 5909 5842 + 28946 5842 5650 5336 5951 + 28947 5648 5336 5960 5905 + 28948 5960 5909 5653 5336 + 28949 5336 5960 5652 5842 + 28950 5905 5336 5960 5652 + 28951 5960 5842 5336 5653 + 28952 5960 5648 5909 5336 + 28953 5532 5337 5654 5487 + 28954 5337 5532 5654 5749 + 28955 5337 5532 5749 5416 + 28956 5416 5832 5749 5337 + 28957 5416 5530 5832 5337 + 28958 5651 5749 5832 5337 + 28959 5651 5832 5530 5337 + 28960 5843 5418 5487 5337 + 28961 5843 5487 5654 5337 + 28962 5910 5337 5651 5841 + 28963 5418 5910 5337 5843 + 28964 5749 5337 5910 5654 + 28965 5910 5654 5337 5843 + 28966 5751 5418 5910 5337 + 28967 5751 5337 5910 5841 + 28968 5651 5337 5910 5749 + 28969 5655 5531 5338 5419 + 28970 5654 5487 5339 5532 + 28971 5487 5419 5655 5339 + 28972 5654 5487 5752 5339 + 28973 5487 5339 5655 5752 + 28974 5339 5488 5753 5532 + 28975 5654 5339 5753 5532 + 28976 5753 5845 5488 5339 + 28977 5654 5752 5911 5339 + 28978 5339 5911 5753 5845 + 28979 5339 5655 5911 5845 + 28980 5753 5911 5339 5654 + 28981 5655 5339 5911 5752 + 28982 5340 5534 5755 5421 + 28983 5755 5846 5534 5340 + 28984 5341 5492 5381 5582 + 28985 5493 5381 5679 5341 + 28986 5341 5381 5679 5582 + 28987 5493 5679 5428 5341 + 28988 5538 5341 5428 5756 + 28989 5421 5756 5341 5538 + 28990 5341 5421 5847 5756 + 28991 5913 5679 5582 5341 + 28992 5492 5847 5913 5341 + 28993 5341 5679 5428 5913 + 28994 5756 5847 5341 5913 + 28995 5428 5756 5341 5913 + 28996 5913 5582 5492 5341 + 28997 5845 5342 5645 5488 + 28998 5644 5343 5484 5413 + 28999 5343 5552 5646 5745 + 29000 5552 5745 5343 5423 + 29001 5644 5837 5343 5413 + 29002 5646 5343 5745 5838 + 29003 5746 5343 5837 5898 + 29004 5343 5484 5413 5898 + 29005 5343 5413 5837 5898 + 29006 5746 5343 5914 5837 + 29007 5644 5837 5914 5343 + 29008 5646 5914 5746 5343 + 29009 5914 5838 5644 5343 + 29010 5646 5914 5343 5838 + 29011 5536 5495 5915 5344 + 29012 5536 5344 5915 5496 + 29013 5427 5915 5495 5344 + 29014 5663 5345 5462 5350 + 29015 5663 5462 5345 5554 + 29016 5663 5345 5880 5554 + 29017 5496 5394 5346 5614 + 29018 5391 5715 5346 5612 + 29019 5715 5346 5612 5849 + 29020 5614 5496 5849 5346 + 29021 5849 5346 5496 5425 + 29022 5614 5849 5759 5346 + 29023 5849 5425 5715 5346 + 29024 5346 5759 5612 5849 + 29025 5391 5877 5612 5346 + 29026 5614 5394 5346 5877 + 29027 5759 5346 5877 5614 + 29028 5877 5612 5346 5759 + 29029 5348 5557 5347 5660 + 29030 5432 5499 5349 5661 + 29031 5663 5462 5561 5350 + 29032 5433 5559 5351 5500 + 29033 5351 5559 5433 5543 + 29034 5462 5539 5561 5351 + 29035 5500 5559 5351 5664 + 29036 5664 5351 5500 5561 + 29037 5664 5539 5351 5561 + 29038 5352 5666 5562 5434 + 29039 5434 5563 5353 5667 + 29040 5434 5353 5666 5763 + 29041 5667 5763 5353 5434 + 29042 5540 5498 5354 5564 + 29043 5354 5540 5564 5497 + 29044 5498 5555 5354 5668 + 29045 5498 5354 5564 5668 + 29046 5566 5501 5436 5355 + 29047 5355 5501 5567 5670 + 29048 5355 5501 5670 5566 + 29049 5672 5566 5357 5435 + 29050 5513 5458 5570 5358 + 29051 5768 5437 5571 5358 + 29052 5358 5855 5768 5570 + 29053 5358 5571 5768 5855 + 29054 5855 5358 5513 5570 + 29055 5358 5513 5571 5855 + 29056 5502 5442 5359 5573 + 29057 5502 5439 5676 5359 + 29058 5502 5359 5676 5573 + 29059 5439 5518 5676 5359 + 29060 5438 5359 5573 5770 + 29061 5770 5676 5359 5573 + 29062 5518 5676 5359 5770 + 29063 5439 5677 5545 5360 + 29064 5677 5439 5771 5360 + 29065 5441 5516 5774 5362 + 29066 5441 5682 5362 5774 + 29067 5516 5362 5577 5774 + 29068 5577 5362 5682 5774 + 29069 5505 5683 5363 5580 + 29070 5363 5441 5544 5683 + 29071 5441 5683 5363 5505 + 29072 5506 5363 5683 5580 + 29073 5857 5363 5544 5683 + 29074 5857 5506 5363 5683 + 29075 5685 5583 5364 5444 + 29076 5364 5685 5444 5585 + 29077 5686 5364 5585 5778 + 29078 5583 5685 5364 5778 + 29079 5364 5685 5585 5778 + 29080 5685 5365 5583 5444 + 29081 5685 5365 5444 5586 + 29082 5457 5690 5588 5367 + 29083 5447 5367 5781 5690 + 29084 5781 5587 5690 5367 + 29085 5690 5782 5588 5367 + 29086 5367 5587 5690 5782 + 29087 5446 5579 5368 5503 + 29088 5368 5464 5783 5689 + 29089 5503 5464 5783 5368 + 29090 5579 5783 5368 5503 + 29091 5368 5862 5587 5689 + 29092 5368 5783 5862 5689 + 29093 5579 5368 5783 5862 + 29094 5368 5862 5579 5446 + 29095 5862 5504 5446 5368 + 29096 5372 5450 5507 5696 + 29097 5372 5507 5593 5696 + 29098 5788 5372 5696 5592 + 29099 5372 5696 5593 5788 + 29100 5788 5695 5372 5592 + 29101 5451 5864 5695 5372 + 29102 5695 5372 5864 5788 + 29103 5372 5593 5864 5788 + 29104 5372 5593 5507 5864 + 29105 5373 5865 5475 5520 + 29106 5520 5373 5865 5696 + 29107 5696 5373 5865 5592 + 29108 5374 5507 5450 5546 + 29109 5697 5374 5522 5546 + 29110 5374 5697 5507 5546 + 29111 5697 5591 5374 5507 + 29112 5697 5785 5522 5374 + 29113 5697 5591 5785 5374 + 29114 5448 5522 5785 5374 + 29115 5376 5693 5791 5508 + 29116 5376 5508 5791 5452 + 29117 5452 5791 5376 5693 + 29118 5465 5599 5702 5377 + 29119 5465 5702 5515 5377 + 29120 5701 5508 5598 5378 + 29121 5378 5791 5701 5508 + 29122 5378 5791 5508 5452 + 29123 5791 5600 5452 5378 + 29124 5598 5378 5792 5701 + 29125 5701 5867 5378 5792 + 29126 5600 5378 5867 5465 + 29127 5791 5378 5701 5867 + 29128 5791 5600 5378 5867 + 29129 5925 5599 5465 5378 + 29130 5925 5792 5599 5378 + 29131 5792 5867 5378 5925 + 29132 5867 5465 5378 5925 + 29133 5601 5514 5464 5379 + 29134 5590 5503 5379 5691 + 29135 5601 5379 5464 5691 + 29136 5503 5464 5379 5691 + 29137 5600 5452 5379 5793 + 29138 5793 5601 5691 5379 + 29139 5379 5793 5514 5600 + 29140 5793 5514 5601 5379 + 29141 5452 5793 5590 5379 + 29142 5590 5379 5793 5691 + 29143 5380 5704 5485 5528 + 29144 5704 5380 5485 5602 + 29145 5380 5703 5602 5794 + 29146 5704 5794 5380 5602 + 29147 5705 5466 5868 5382 + 29148 5382 5868 5705 5927 + 29149 5454 5382 5705 5927 + 29150 5454 5767 5382 5927 + 29151 5382 5767 5868 5927 + 29152 5383 5454 5706 5509 + 29153 5454 5706 5603 5383 + 29154 5383 5706 5782 5509 + 29155 5708 5457 5588 5384 + 29156 5782 5588 5384 5869 + 29157 5869 5708 5384 5797 + 29158 5782 5384 5509 5869 + 29159 5509 5869 5384 5797 + 29160 5384 5588 5708 5869 + 29161 5767 5385 5568 5707 + 29162 5568 5673 5385 5767 + 29163 5386 5542 5687 5585 + 29164 5585 5928 5687 5386 + 29165 5928 5687 5386 5584 + 29166 5585 5870 5928 5386 + 29167 5387 5710 5455 5606 + 29168 5387 5800 5710 5606 + 29169 5389 5607 5713 5456 + 29170 5510 5389 5461 5713 + 29171 5389 5713 5510 5456 + 29172 5713 5389 5461 5801 + 29173 5801 5389 5455 5930 + 29174 5801 5713 5389 5930 + 29175 5607 5389 5713 5930 + 29176 5389 5930 5607 5455 + 29177 5511 5687 5391 5542 + 29178 5391 5860 5687 5511 + 29179 5391 5860 5715 5612 + 29180 5715 5860 5391 5511 + 29181 5391 5584 5877 5460 + 29182 5877 5612 5716 5391 + 29183 5877 5716 5584 5391 + 29184 5860 5687 5928 5391 + 29185 5928 5391 5687 5584 + 29186 5391 5928 5860 5612 + 29187 5391 5716 5928 5612 + 29188 5391 5928 5716 5584 + 29189 5536 5394 5496 5614 + 29190 5614 5536 5394 5804 + 29191 5394 5536 5554 5804 + 29192 5614 5804 5394 5877 + 29193 5396 5868 5714 5810 + 29194 5396 5466 5868 5810 + 29195 5714 5810 5883 5396 + 29196 5883 5810 5466 5396 + 29197 5883 5611 5714 5396 + 29198 5572 5397 5770 5722 + 29199 5770 5722 5397 5885 + 29200 5770 5397 5518 5885 + 29201 5398 5610 5457 5517 + 29202 5709 5469 5620 5398 + 29203 5398 5780 5469 5620 + 29204 5398 5620 5709 5799 + 29205 5398 5709 5457 5799 + 29206 5398 5457 5610 5799 + 29207 5398 5886 5620 5799 + 29208 5610 5398 5799 5886 + 29209 5610 5398 5886 5517 + 29210 5447 5690 5399 5517 + 29211 5690 5517 5610 5399 + 29212 5781 5690 5399 5447 + 29213 5814 5399 5545 5678 + 29214 5399 5678 5942 5781 + 29215 5942 5814 5399 5610 + 29216 5942 5399 5690 5610 + 29217 5399 5942 5690 5781 + 29218 5399 5942 5678 5814 + 29219 5816 5726 5400 5622 + 29220 5816 5470 5400 5548 + 29221 5622 5470 5400 5816 + 29222 5816 5400 5476 5548 + 29223 5402 5519 5471 5551 + 29224 5700 5477 5402 5596 + 29225 5700 5402 5477 5522 + 29226 5700 5596 5402 5819 + 29227 5819 5402 5519 5596 + 29228 5402 5819 5519 5551 + 29229 5819 5402 5700 5533 + 29230 5533 5551 5819 5402 + 29231 5519 5403 5727 5626 + 29232 5820 5403 5519 5626 + 29233 5625 5943 5403 5820 + 29234 5943 5403 5727 5549 + 29235 5943 5727 5403 5626 + 29236 5820 5943 5403 5626 + 29237 5625 5943 5549 5403 + 29238 5404 5478 5627 5523 + 29239 5551 5533 5627 5404 + 29240 5533 5478 5627 5404 + 29241 5551 5703 5602 5404 + 29242 5404 5627 5703 5523 + 29243 5551 5703 5404 5627 + 29244 5625 5730 5405 5473 + 29245 5521 5476 5405 5731 + 29246 5731 5476 5405 5628 + 29247 5821 5730 5628 5405 + 29248 5821 5628 5731 5405 + 29249 5731 5890 5405 5521 + 29250 5821 5890 5405 5731 + 29251 5821 5405 5890 5730 + 29252 5890 5730 5405 5625 + 29253 5829 5897 5480 5408 + 29254 5829 5897 5408 5733 + 29255 5525 5739 5483 5409 + 29256 5409 5525 5739 5833 + 29257 5833 5739 5409 5638 + 29258 5833 5409 5900 5638 + 29259 5900 5409 5740 5638 + 29260 5410 5482 5639 5738 + 29261 5473 5823 5730 5410 + 29262 5822 5730 5901 5410 + 29263 5639 5410 5901 5823 + 29264 5823 5901 5730 5410 + 29265 5410 5639 5901 5738 + 29266 5822 5901 5738 5410 + 29267 5639 5823 5902 5410 + 29268 5639 5902 5482 5410 + 29269 5530 5946 5486 5411 + 29270 5411 5832 5530 5946 + 29271 5633 5524 5412 5734 + 29272 5831 5412 5632 5734 + 29273 5412 5633 5734 5831 + 29274 5644 5837 5413 5743 + 29275 5636 5484 5898 5413 + 29276 5636 5898 5837 5413 + 29277 5638 5749 5532 5416 + 29278 5416 5638 5749 5832 + 29279 5528 5417 5648 5550 + 29280 5491 5840 5747 5417 + 29281 5417 5747 5648 5840 + 29282 5751 5843 5418 5650 + 29283 5487 5418 5843 5908 + 29284 5843 5418 5650 5908 + 29285 5910 5843 5418 5751 + 29286 5655 5487 5531 5419 + 29287 5755 5534 5647 5421 + 29288 5756 5421 5647 5538 + 29289 5755 5647 5847 5421 + 29290 5847 5647 5756 5421 + 29291 5532 5423 5488 5753 + 29292 5488 5753 5423 5645 + 29293 5645 5844 5423 5745 + 29294 5844 5423 5753 5645 + 29295 5844 5745 5552 5423 + 29296 5532 5844 5423 5753 + 29297 5552 5423 5532 5844 + 29298 5494 5535 5718 5424 + 29299 5715 5425 5656 5494 + 29300 5849 5496 5656 5425 + 29301 5656 5425 5715 5849 + 29302 5718 5563 5426 5535 + 29303 5427 5495 5915 5665 + 29304 5427 5915 5762 5665 + 29305 5428 5773 5679 5493 + 29306 5577 5493 5773 5428 + 29307 5428 5657 5760 5850 + 29308 5913 5773 5428 5657 + 29309 5913 5657 5428 5850 + 29310 5679 5773 5428 5913 + 29311 5428 5850 5756 5913 + 29312 5428 5657 5917 5760 + 29313 5428 5760 5917 5848 + 29314 5428 5917 5657 5773 + 29315 5577 5773 5917 5428 + 29316 5848 5577 5917 5428 + 29317 5538 5428 5918 5756 + 29318 5428 5918 5630 5538 + 29319 5850 5428 5756 5918 + 29320 5428 5848 5630 5918 + 29321 5428 5760 5918 5850 + 29322 5428 5918 5760 5848 + 29323 5429 5523 5703 5627 + 29324 5627 5429 5523 5775 + 29325 5429 5794 5630 5895 + 29326 5429 5895 5775 5627 + 29327 5429 5961 5895 5627 + 29328 5703 5627 5961 5429 + 29329 5429 5961 5794 5895 + 29330 5429 5961 5703 5794 + 29331 5764 5430 5668 5558 + 29332 5541 5658 5853 5430 + 29333 5430 5658 5853 5761 + 29334 5558 5853 5761 5430 + 29335 5430 5668 5558 5853 + 29336 5499 5661 5432 5556 + 29337 5559 5499 5433 5543 + 29338 5434 5762 5563 5667 + 29339 5562 5762 5434 5667 + 29340 5434 5666 5562 5763 + 29341 5562 5763 5667 5434 + 29342 5435 5766 5672 5566 + 29343 5436 5569 5673 5501 + 29344 5437 5571 5512 5671 + 29345 5571 5768 5671 5437 + 29346 5567 5768 5437 5671 + 29347 5438 5856 5675 5770 + 29348 5438 5573 5856 5770 + 29349 5439 5574 5518 5545 + 29350 5676 5518 5439 5574 + 29351 5439 5677 5574 5545 + 29352 5676 5574 5439 5771 + 29353 5677 5439 5574 5771 + 29354 5439 5502 5676 5771 + 29355 5441 5578 5683 5505 + 29356 5578 5774 5441 5683 + 29357 5544 5774 5441 5516 + 29358 5441 5578 5682 5774 + 29359 5544 5683 5441 5774 + 29360 5442 5502 5581 5921 + 29361 5442 5921 5573 5502 + 29362 5444 5687 5511 5542 + 29363 5687 5542 5444 5585 + 29364 5444 5685 5586 5779 + 29365 5585 5444 5687 5779 + 29366 5585 5685 5444 5779 + 29367 5687 5860 5779 5444 + 29368 5687 5511 5860 5444 + 29369 5860 5779 5444 5586 + 29370 5860 5444 5511 5586 + 29371 5445 5686 5780 5572 + 29372 5862 5772 5446 5504 + 29373 5772 5579 5862 5446 + 29374 5691 5503 5449 5590 + 29375 5449 5579 5503 5691 + 29376 5691 5449 5787 5590 + 29377 5692 5449 5590 5787 + 29378 5449 5787 5692 5863 + 29379 5449 5787 5923 5691 + 29380 5449 5923 5579 5691 + 29381 5923 5787 5449 5863 + 29382 5449 5923 5863 5506 + 29383 5923 5449 5579 5506 + 29384 5696 5546 5450 5507 + 29385 5864 5451 5695 5508 + 29386 5791 5926 5693 5452 + 29387 5452 5926 5793 5600 + 29388 5452 5791 5926 5600 + 29389 5452 5590 5793 5926 + 29390 5693 5590 5452 5926 + 29391 5705 5453 5603 5796 + 29392 5509 5454 5706 5605 + 29393 5707 5509 5605 5454 + 29394 5454 5705 5603 5927 + 29395 5767 5454 5707 5927 + 29396 5927 5706 5454 5605 + 29397 5454 5927 5603 5706 + 29398 5707 5605 5927 5454 + 29399 5606 5712 5455 5798 + 29400 5801 5710 5873 5455 + 29401 5710 5873 5455 5606 + 29402 5606 5455 5712 5873 + 29403 5455 5712 5873 5930 + 29404 5455 5798 5712 5930 + 29405 5801 5873 5930 5455 + 29406 5798 5607 5930 5455 + 29407 5456 5607 5713 5769 + 29408 5456 5713 5510 5769 + 29409 5517 5610 5457 5690 + 29410 5871 5457 5799 5588 + 29411 5457 5708 5588 5871 + 29412 5610 5875 5457 5690 + 29413 5875 5588 5799 5457 + 29414 5875 5690 5588 5457 + 29415 5610 5799 5457 5875 + 29416 5510 5802 5458 5570 + 29417 5570 5802 5458 5513 + 29418 5609 5458 5802 5513 + 29419 5609 5510 5802 5458 + 29420 5459 5769 5570 5674 + 29421 5674 5459 5769 5568 + 29422 5460 5877 5711 5584 + 29423 5510 5713 5461 5609 + 29424 5801 5615 5717 5461 + 29425 5461 5801 5615 5713 + 29426 5615 5461 5805 5717 + 29427 5805 5461 5609 5539 + 29428 5717 5805 5616 5461 + 29429 5805 5539 5554 5461 + 29430 5554 5616 5805 5461 + 29431 5801 5717 5872 5461 + 29432 5461 5554 5616 5872 + 29433 5461 5616 5717 5872 + 29434 5805 5934 5461 5615 + 29435 5461 5615 5934 5713 + 29436 5934 5609 5461 5713 + 29437 5609 5934 5461 5805 + 29438 5663 5561 5462 5539 + 29439 5462 5663 5539 5554 + 29440 5691 5503 5464 5783 + 29441 5691 5464 5601 5783 + 29442 5689 5601 5464 5783 + 29443 5465 5808 5515 5702 + 29444 5867 5465 5808 5600 + 29445 5465 5925 5867 5808 + 29446 5925 5599 5702 5465 + 29447 5702 5465 5808 5925 + 29448 5466 5868 5810 5618 + 29449 5466 5705 5868 5618 + 29450 5466 5618 5810 5883 + 29451 5684 5467 5884 5771 + 29452 5467 5680 5884 5516 + 29453 5467 5684 5884 5576 + 29454 5467 5884 5680 5576 + 29455 5468 5575 5772 5721 + 29456 5677 5811 5468 5619 + 29457 5575 5811 5468 5677 + 29458 5575 5811 5721 5468 + 29459 5721 5468 5857 5772 + 29460 5938 5721 5811 5468 + 29461 5468 5811 5938 5619 + 29462 5938 5468 5544 5857 + 29463 5938 5721 5468 5857 + 29464 5938 5468 5619 5544 + 29465 5723 5469 5780 5620 + 29466 5620 5469 5709 5812 + 29467 5709 5812 5469 5606 + 29468 5870 5469 5780 5723 + 29469 5723 5469 5620 5940 + 29470 5870 5940 5469 5723 + 29471 5812 5620 5469 5940 + 29472 5524 5725 5817 5470 + 29473 5548 5470 5524 5817 + 29474 5622 5725 5470 5888 + 29475 5470 5725 5817 5888 + 29476 5888 5548 5470 5816 + 29477 5888 5470 5548 5817 + 29478 5622 5888 5470 5816 + 29479 5519 5820 5596 5472 + 29480 5820 5472 5889 5596 + 29481 5728 5472 5889 5820 + 29482 5889 5596 5472 5698 + 29483 5625 5823 5730 5473 + 29484 5625 5823 5473 5549 + 29485 5726 5474 5824 5624 + 29486 5892 5790 5624 5474 + 29487 5790 5474 5892 5699 + 29488 5892 5624 5824 5474 + 29489 5825 5699 5475 5595 + 29490 5520 5825 5475 5595 + 29491 5825 5475 5865 5520 + 29492 5476 5628 5731 5548 + 29493 5476 5816 5731 5521 + 29494 5476 5731 5816 5548 + 29495 5700 5826 5477 5596 + 29496 5700 5629 5477 5826 + 29497 5596 5826 5477 5698 + 29498 5866 5477 5629 5826 + 29499 5866 5477 5826 5698 + 29500 5477 5789 5866 5629 + 29501 5700 5477 5893 5522 + 29502 5700 5893 5477 5629 + 29503 5893 5522 5477 5789 + 29504 5893 5789 5477 5629 + 29505 5533 5478 5775 5627 + 29506 5627 5523 5478 5775 + 29507 5635 5737 5480 5829 + 29508 5480 5737 5635 5830 + 29509 5480 5737 5897 5829 + 29510 5830 5480 5737 5899 + 29511 5899 5480 5525 5830 + 29512 5526 5482 5738 5834 + 29513 5526 5740 5482 5834 + 29514 5639 5834 5738 5482 + 29515 5482 5834 5740 5902 + 29516 5482 5639 5834 5902 + 29517 5704 5485 5818 5602 + 29518 5905 5485 5704 5528 + 29519 5485 5905 5704 5818 + 29520 5485 5818 5529 5905 + 29521 5486 5818 5529 5640 + 29522 5486 5529 5818 5905 + 29523 5640 5748 5946 5486 + 29524 5818 5486 5905 5950 + 29525 5486 5950 5818 5640 + 29526 5486 5640 5748 5950 + 29527 5752 5487 5531 5655 + 29528 5654 5487 5843 5752 + 29529 5487 5531 5908 5752 + 29530 5843 5752 5487 5908 + 29531 5488 5645 5845 5753 + 29532 5906 5490 5794 5630 + 29533 5906 5538 5490 5630 + 29534 5747 5491 5534 5846 + 29535 5491 5649 5912 5840 + 29536 5747 5846 5912 5491 + 29537 5491 5912 5747 5840 + 29538 5649 5912 5846 5491 + 29539 5535 5718 5656 5494 + 29540 5494 5656 5807 5718 + 29541 5807 5715 5494 5589 + 29542 5715 5656 5807 5494 + 29543 5665 5553 5537 5495 + 29544 5553 5806 5495 5665 + 29545 5806 5915 5536 5495 + 29546 5806 5665 5915 5495 + 29547 5496 5758 5614 5849 + 29548 5496 5656 5758 5849 + 29549 5496 5536 5614 5915 + 29550 5758 5614 5915 5496 + 29551 5498 5669 5765 5659 + 29552 5498 5852 5669 5659 + 29553 5852 5498 5564 5668 + 29554 5669 5498 5540 5852 + 29555 5540 5564 5852 5498 + 29556 5919 5555 5671 5498 + 29557 5919 5852 5498 5659 + 29558 5919 5498 5765 5659 + 29559 5498 5852 5919 5668 + 29560 5498 5919 5555 5668 + 29561 5919 5671 5765 5498 + 29562 5556 5499 5560 5543 + 29563 5499 5560 5661 5556 + 29564 5662 5560 5499 5543 + 29565 5559 5662 5499 5543 + 29566 5854 5569 5501 5673 + 29567 5566 5670 5920 5501 + 29568 5501 5569 5854 5920 + 29569 5501 5670 5920 5955 + 29570 5854 5920 5955 5501 + 29571 5854 5955 5567 5501 + 29572 5501 5567 5670 5955 + 29573 5684 5581 5502 5859 + 29574 5502 5777 5859 5921 + 29575 5921 5777 5676 5502 + 29576 5676 5573 5921 5502 + 29577 5502 5859 5581 5921 + 29578 5859 5922 5777 5502 + 29579 5922 5777 5502 5676 + 29580 5859 5684 5922 5502 + 29581 5502 5922 5771 5684 + 29582 5922 5676 5502 5771 + 29583 5783 5503 5579 5691 + 29584 5678 5504 5862 5781 + 29585 5504 5772 5678 5862 + 29586 5505 5547 5694 5580 + 29587 5505 5580 5694 5786 + 29588 5505 5786 5578 5683 + 29589 5505 5580 5786 5683 + 29590 5857 5923 5579 5506 + 29591 5923 5857 5956 5506 + 29592 5956 5506 5857 5683 + 29593 5956 5580 5506 5683 + 29594 5506 5956 5863 5580 + 29595 5923 5956 5863 5506 + 29596 5696 5593 5546 5507 + 29597 5546 5697 5507 5593 + 29598 5697 5784 5591 5507 + 29599 5864 5924 5593 5507 + 29600 5924 5507 5697 5593 + 29601 5507 5924 5697 5784 + 29602 5693 5791 5508 5594 + 29603 5791 5701 5508 5594 + 29604 5701 5594 5864 5508 + 29605 5598 5864 5695 5508 + 29606 5508 5598 5864 5701 + 29607 5605 5509 5707 5797 + 29608 5797 5509 5869 5605 + 29609 5869 5706 5605 5509 + 29610 5869 5782 5706 5509 + 29611 5713 5802 5609 5510 + 29612 5510 5802 5931 5713 + 29613 5510 5769 5931 5570 + 29614 5510 5769 5713 5931 + 29615 5510 5570 5931 5802 + 29616 5933 5589 5688 5511 + 29617 5586 5688 5511 5933 + 29618 5933 5511 5586 5860 + 29619 5715 5933 5511 5589 + 29620 5715 5511 5933 5860 + 29621 5571 5556 5512 5764 + 29622 5671 5764 5512 5555 + 29623 5764 5512 5571 5671 + 29624 5803 5662 5613 5513 + 29625 5855 5513 5803 5613 + 29626 5855 5802 5513 5613 + 29627 5803 5513 5855 5571 + 29628 5855 5513 5802 5570 + 29629 5609 5802 5879 5513 + 29630 5513 5879 5662 5613 + 29631 5513 5802 5879 5613 + 29632 5719 5514 5793 5600 + 29633 5719 5793 5514 5935 + 29634 5793 5514 5935 5601 + 29635 5601 5935 5795 5514 + 29636 5515 5809 5882 5617 + 29637 5882 5515 5808 5702 + 29638 5809 5702 5515 5882 + 29639 5882 5515 5617 5808 + 29640 5619 5516 5680 5774 + 29641 5516 5577 5680 5774 + 29642 5544 5619 5774 5516 + 29643 5619 5884 5680 5516 + 29644 5676 5885 5518 5574 + 29645 5518 5885 5676 5770 + 29646 5819 5596 5519 5729 + 29647 5729 5519 5820 5596 + 29648 5519 5626 5729 5820 + 29649 5891 5729 5819 5519 + 29650 5891 5626 5729 5519 + 29651 5626 5727 5519 5891 + 29652 5551 5891 5819 5519 + 29653 5727 5891 5551 5519 + 29654 5732 5595 5825 5520 + 29655 5866 5595 5732 5520 + 29656 5866 5732 5789 5520 + 29657 5732 5825 5944 5520 + 29658 5944 5732 5520 5789 + 29659 5865 5825 5520 5944 + 29660 5546 5944 5696 5520 + 29661 5696 5944 5865 5520 + 29662 5789 5520 5944 5546 + 29663 5521 5816 5731 5624 + 29664 5731 5945 5890 5521 + 29665 5731 5624 5945 5521 + 29666 5521 5945 5890 5728 + 29667 5521 5624 5945 5728 + 29668 5697 5789 5546 5522 + 29669 5697 5893 5522 5785 + 29670 5522 5697 5789 5893 + 29671 5597 5700 5893 5522 + 29672 5597 5893 5785 5522 + 29673 5725 5524 5817 5623 + 29674 5734 5817 5524 5623 + 29675 5633 5817 5524 5734 + 29676 5548 5524 5633 5817 + 29677 5830 5525 5899 5637 + 29678 5833 5948 5525 5739 + 29679 5525 5899 5637 5948 + 29680 5643 5740 5526 5834 + 29681 5526 5949 5738 5831 + 29682 5643 5903 5949 5526 + 29683 5526 5903 5949 5831 + 29684 5643 5526 5949 5834 + 29685 5738 5949 5526 5834 + 29686 5905 5550 5528 5648 + 29687 5648 5528 5905 5704 + 29688 5549 5529 5818 5640 + 29689 5946 5832 5530 5651 + 29690 5552 5532 5904 5844 + 29691 5904 5749 5532 5638 + 29692 5654 5749 5532 5952 + 29693 5844 5952 5532 5904 + 29694 5654 5532 5753 5952 + 29695 5844 5753 5532 5952 + 29696 5904 5532 5749 5952 + 29697 5551 5533 5819 5627 + 29698 5627 5775 5533 5894 + 29699 5597 5894 5954 5533 + 29700 5700 5954 5533 5597 + 29701 5627 5533 5954 5894 + 29702 5954 5819 5700 5533 + 29703 5819 5533 5954 5627 + 29704 5747 5647 5846 5534 + 29705 5647 5846 5534 5755 + 29706 5535 5916 5656 5718 + 29707 5535 5563 5762 5916 + 29708 5535 5718 5563 5916 + 29709 5806 5614 5880 5536 + 29710 5880 5614 5804 5536 + 29711 5880 5804 5554 5536 + 29712 5536 5915 5806 5614 + 29713 5756 5647 5906 5538 + 29714 5906 5851 5756 5538 + 29715 5630 5906 5538 5851 + 29716 5851 5630 5918 5538 + 29717 5538 5918 5851 5756 + 29718 5663 5805 5561 5539 + 29719 5805 5539 5609 5664 + 29720 5561 5539 5805 5664 + 29721 5805 5539 5663 5554 + 29722 5938 5619 5774 5544 + 29723 5774 5544 5683 5938 + 29724 5857 5683 5544 5938 + 29725 5814 5545 5575 5678 + 29726 5545 5887 5814 5575 + 29727 5887 5574 5677 5545 + 29728 5575 5545 5887 5677 + 29729 5593 5546 5697 5789 + 29730 5944 5546 5593 5789 + 29731 5944 5696 5593 5546 + 29732 5785 5694 5597 5547 + 29733 5694 5785 5863 5547 + 29734 5863 5694 5547 5580 + 29735 5548 5731 5816 5888 + 29736 5548 5628 5731 5888 + 29737 5888 5548 5633 5817 + 29738 5628 5548 5822 5888 + 29739 5633 5822 5548 5888 + 29740 5907 5640 5549 5818 + 29741 5907 5549 5727 5818 + 29742 5640 5907 5549 5823 + 29743 5943 5727 5907 5549 + 29744 5625 5943 5823 5549 + 29745 5943 5549 5907 5823 + 29746 5819 5551 5627 5754 + 29747 5727 5551 5891 5602 + 29748 5819 5551 5754 5891 + 29749 5551 5891 5953 5754 + 29750 5551 5953 5627 5754 + 29751 5953 5703 5602 5551 + 29752 5953 5891 5551 5602 + 29753 5953 5551 5627 5703 + 29754 5646 5552 5844 5745 + 29755 5844 5552 5646 5757 + 29756 5833 5552 5739 5904 + 29757 5904 5552 5757 5833 + 29758 5844 5904 5552 5757 + 29759 5757 5552 5646 5948 + 29760 5552 5833 5739 5948 + 29761 5757 5833 5552 5948 + 29762 5805 5663 5616 5554 + 29763 5554 5804 5616 5872 + 29764 5554 5804 5880 5616 + 29765 5554 5880 5663 5616 + 29766 5764 5919 5555 5671 + 29767 5919 5764 5555 5668 + 29768 5556 5878 5558 5764 + 29769 5661 5556 5878 5558 + 29770 5556 5560 5661 5878 + 29771 5571 5556 5764 5878 + 29772 5761 5962 5853 5558 + 29773 5962 5853 5558 5668 + 29774 5962 5558 6063 5668 + 29775 6063 5668 5558 5764 + 29776 6063 5558 5878 5764 + 29777 5562 5963 5667 5763 + 29778 5762 5667 5562 5963 + 29779 5762 5665 6064 5562 + 29780 5762 5562 6064 5963 + 29781 6159 5667 5563 5762 + 29782 5563 5916 6159 5762 + 29783 5668 5853 5564 6160 + 29784 5852 5564 6160 5668 + 29785 5965 5565 5669 5765 + 29786 5565 5965 5766 5670 + 29787 5565 5765 5965 5670 + 29788 5766 5672 5566 5876 + 29789 5766 5566 5920 5876 + 29790 5920 5670 5566 5766 + 29791 5765 5670 5567 5955 + 29792 6162 5567 5765 5671 + 29793 5854 5567 6162 5768 + 29794 5765 5567 6162 5955 + 29795 5671 6162 5567 5768 + 29796 5955 5567 6162 5854 + 29797 5674 5769 5932 5568 + 29798 5967 5767 5568 5707 + 29799 5568 5673 5967 5854 + 29800 5673 5967 5767 5568 + 29801 5568 5967 6067 5854 + 29802 6067 5932 5707 5568 + 29803 5568 5674 6067 5932 + 29804 6067 5674 5568 5854 + 29805 5967 5568 6067 5707 + 29806 5569 5967 5767 5673 + 29807 5569 5854 5967 5673 + 29808 5767 5967 5569 5868 + 29809 5968 5714 5569 6068 + 29810 5967 5868 6068 5569 + 29811 6068 5714 5569 5868 + 29812 5569 5968 6068 5854 + 29813 5569 6068 5967 5854 + 29814 5714 5569 5920 6163 + 29815 5854 5968 6163 5569 + 29816 5714 5968 5569 6163 + 29817 5854 6163 5920 5569 + 29818 5674 5768 5855 5570 + 29819 5570 5931 5802 5855 + 29820 5674 5931 5570 5855 + 29821 5931 5570 5769 5674 + 29822 5964 5764 5571 5671 + 29823 5764 5878 5964 5571 + 29824 5571 6070 5803 5878 + 29825 5571 6070 5878 5964 + 29826 5571 6070 5855 5803 + 29827 6243 5571 5768 5671 + 29828 5964 5571 6243 5671 + 29829 5571 6243 6070 5964 + 29830 5855 6070 5571 6243 + 29831 5768 6243 5855 5571 + 29832 5572 5861 5686 5972 + 29833 5973 5722 5939 5572 + 29834 5572 5770 5973 5722 + 29835 6071 5572 5973 5939 + 29836 5770 6072 5572 5973 + 29837 6072 5861 5675 5572 + 29838 5572 6072 5861 5972 + 29839 5770 5675 5572 6072 + 29840 6166 5572 6072 5973 + 29841 5972 6166 6071 5572 + 29842 6072 6166 5972 5572 + 29843 5572 6071 5973 6166 + 29844 6167 5939 5572 6071 + 29845 5686 5972 6167 5572 + 29846 6167 5939 5780 5572 + 29847 5572 5686 5780 6167 + 29848 6167 5572 5972 6071 + 29849 5921 5573 5676 5974 + 29850 5770 5676 5573 5974 + 29851 5573 5974 5856 5770 + 29852 5922 5676 5574 5777 + 29853 5676 5922 5574 5771 + 29854 5677 5574 5922 5771 + 29855 5574 5815 5887 5975 + 29856 5574 5815 6073 5885 + 29857 5777 5676 5574 6073 + 29858 5574 6073 5676 5885 + 29859 5574 6073 5815 5975 + 29860 5677 6074 5922 5574 + 29861 5677 6074 5574 5887 + 29862 5574 5975 5887 6074 + 29863 5777 5574 6168 6073 + 29864 6168 5922 5574 5777 + 29865 5975 6168 5574 6073 + 29866 6074 5574 6168 5922 + 29867 6074 5574 5975 6168 + 29868 5575 5887 5811 5677 + 29869 5976 5811 5721 5575 + 29870 5575 5811 5887 5976 + 29871 5575 5887 5814 5976 + 29872 5814 5678 5575 6075 + 29873 5814 5976 6075 5575 + 29874 5976 5721 6075 5575 + 29875 5575 5772 5721 6075 + 29876 5575 5678 5772 6075 + 29877 5576 5681 5776 5858 + 29878 5773 5858 5679 5576 + 29879 5773 5978 5858 5576 + 29880 5978 5680 5576 5773 + 29881 5576 5978 5858 6076 + 29882 6076 5858 5576 5776 + 29883 5576 6076 5680 5978 + 29884 6076 5884 5684 5576 + 29885 5576 5776 5684 6076 + 29886 6076 5680 5884 5576 + 29887 5577 5917 5773 5680 + 29888 5848 5577 5979 5917 + 29889 5682 5774 5979 5577 + 29890 5682 5577 5979 5848 + 29891 5917 5680 5577 6078 + 29892 5774 5979 5577 6078 + 29893 6078 5979 5577 5917 + 29894 6078 5680 5577 5774 + 29895 6170 5578 5894 5786 + 29896 5786 6170 5578 5683 + 29897 6170 5682 5578 5774 + 29898 5775 6170 5682 5578 + 29899 5775 5894 6170 5578 + 29900 5578 6170 5774 5683 + 29901 5862 5579 5977 5783 + 29902 5772 5579 5977 5862 + 29903 5579 5977 5923 5857 + 29904 5579 5772 5977 5857 + 29905 5923 6080 5977 5579 + 29906 6080 5783 5579 5691 + 29907 6080 5579 5923 5691 + 29908 5783 5977 6080 5579 + 29909 5956 5694 5580 5786 + 29910 5863 5956 5694 5580 + 29911 5786 5580 5956 5683 + 29912 5581 5776 5859 5684 + 29913 6077 5582 5679 5858 + 29914 5679 5913 5582 6077 + 29915 5800 5877 5716 5584 + 29916 5877 5800 5711 5584 + 29917 5585 5779 5687 5928 + 29918 5585 5983 5779 5928 + 29919 5585 6083 5983 5928 + 29920 6083 5870 5928 5585 + 29921 5686 6083 5585 5870 + 29922 5686 5585 6083 5778 + 29923 6173 5685 5585 5779 + 29924 5983 5779 6173 5585 + 29925 5778 6083 6173 5585 + 29926 5983 6173 6083 5585 + 29927 5778 6173 5685 5585 + 29928 5933 5586 5779 5860 + 29929 5587 5781 5678 5862 + 29930 5587 5942 5678 5781 + 29931 5587 5690 5942 5781 + 29932 5689 5984 5587 5782 + 29933 5690 5587 5984 5782 + 29934 5587 5942 5690 5984 + 29935 5678 5587 6075 5942 + 29936 5862 5678 5587 6075 + 29937 6174 5587 6075 5862 + 29938 5689 5587 6174 5862 + 29939 6174 5689 5984 5587 + 29940 5587 5984 6174 6252 + 29941 5587 5942 5984 6252 + 29942 6075 5587 6174 6252 + 29943 6075 5942 5587 6252 + 29944 5782 5588 5984 5690 + 29945 5875 5588 5690 5984 + 29946 5708 5871 5986 5588 + 29947 5588 5708 5869 5986 + 29948 5871 5799 5987 5588 + 29949 5987 5588 5799 5875 + 29950 6086 5782 5869 5588 + 29951 6086 5588 5869 5986 + 29952 6086 5984 5782 5588 + 29953 5875 5987 5588 6087 + 29954 5984 5875 5588 6087 + 29955 5987 6175 5871 5588 + 29956 6086 5984 5588 6175 + 29957 5588 5871 5986 6175 + 29958 5588 5986 6086 6175 + 29959 6087 6175 5987 5588 + 29960 6087 5984 6175 5588 + 29961 5807 5988 5715 5589 + 29962 5715 5988 5933 5589 + 29963 5590 5989 5691 5793 + 29964 5691 5787 5989 5590 + 29965 5990 5590 5784 5693 + 29966 5990 5590 5692 5784 + 29967 5787 5692 5990 5590 + 29968 6088 5989 5590 5793 + 29969 5787 5989 5590 6088 + 29970 5693 6088 5590 5926 + 29971 5990 6088 5590 5693 + 29972 5787 5590 5990 6088 + 29973 5793 5590 6088 5926 + 29974 5990 5784 5692 5591 + 29975 5697 5591 5990 5785 + 29976 5697 5784 5990 5591 + 29977 5990 5785 5591 5692 + 29978 5788 5865 5592 5696 + 29979 5788 5593 5944 5696 + 29980 5993 5593 5944 5788 + 29981 5944 5593 5993 5789 + 29982 5788 5593 5864 6091 + 29983 5788 5993 5593 6091 + 29984 5864 6091 5593 5924 + 29985 6091 6178 5593 5924 + 29986 5993 5593 6178 5789 + 29987 5993 6178 5593 6091 + 29988 5697 5593 5789 6178 + 29989 5697 5924 5593 6178 + 29990 5701 5594 5791 5991 + 29991 5693 5991 5791 5594 + 29992 5701 5864 5594 5992 + 29993 5693 5594 5924 6088 + 29994 5693 5991 5594 6088 + 29995 5864 5594 6091 5924 + 29996 5594 5864 6091 5992 + 29997 5594 6091 6180 5992 + 29998 6180 5594 5992 5701 + 29999 5594 5701 6180 5991 + 30000 6255 5594 5924 6091 + 30001 6255 6180 5594 6091 + 30002 5594 6180 6255 5991 + 30003 6088 5924 6255 5594 + 30004 6088 6255 5991 5594 + 30005 5866 5698 5790 5595 + 30006 5995 5790 5699 5595 + 30007 5995 5699 5825 5595 + 30008 5995 5595 6093 5790 + 30009 5866 5790 6093 5595 + 30010 6093 5866 5595 5732 + 30011 6181 5595 5825 5732 + 30012 5595 5995 6093 6181 + 30013 5995 5825 6181 5595 + 30014 5595 6093 5732 6181 + 30015 5698 5996 5596 5826 + 30016 5996 5889 5698 5596 + 30017 5700 5596 5819 5997 + 30018 5700 5826 5596 5997 + 30019 5596 5996 6095 5826 + 30020 6095 5596 5826 5997 + 30021 5997 5596 5819 6096 + 30022 5729 5819 5596 6096 + 30023 5997 6095 5596 6184 + 30024 6096 5596 5729 6184 + 30025 5729 5820 6184 5596 + 30026 6096 5997 5596 6184 + 30027 6257 6095 6184 5596 + 30028 5996 5596 6257 5889 + 30029 5820 5889 6257 5596 + 30030 6257 5596 5996 6095 + 30031 6257 6184 5820 5596 + 30032 5785 6089 5893 5597 + 30033 5694 5597 6089 5785 + 30034 5597 6185 6089 5893 + 30035 5893 5700 5597 6185 + 30036 6185 5700 5597 5954 + 30037 5694 5597 5894 6253 + 30038 5597 6253 5954 5894 + 30039 5597 6253 6314 5954 + 30040 5694 5597 6314 6089 + 30041 5694 6314 5597 6253 + 30042 6185 5954 5597 6314 + 30043 6089 6314 6185 5597 + 30044 5598 5992 5864 5701 + 30045 5864 5695 5992 5598 + 30046 5598 5792 6098 5701 + 30047 6098 5992 5598 5701 + 30048 5719 5867 5808 5600 + 30049 5867 5791 5600 5926 + 30050 5926 5600 5867 5719 + 30051 5926 5793 5600 5719 + 30052 5601 5985 5689 5795 + 30053 5985 5935 5795 5601 + 30054 5601 5783 5689 5985 + 30055 5985 5601 5783 6080 + 30056 6080 5691 5601 5783 + 30057 5601 5985 6176 6080 + 30058 5601 5935 5793 6176 + 30059 5601 5985 5935 6176 + 30060 6080 6176 5601 5691 + 30061 5601 5793 5691 6176 + 30062 5794 5953 5703 5602 + 30063 5602 6000 5818 5704 + 30064 5818 5602 5727 6000 + 30065 5891 5953 6000 5602 + 30066 5891 6000 5727 5602 + 30067 5794 6101 5953 5602 + 30068 5704 6101 5794 5602 + 30069 6101 5602 6000 5953 + 30070 6101 6000 5602 5704 + 30071 6002 5881 5796 5603 + 30072 5927 6002 5705 5603 + 30073 5603 6002 5705 5796 + 30074 5881 5603 6102 5795 + 30075 5603 6102 5927 6002 + 30076 5603 5881 6102 6002 + 30077 5927 6102 5603 5706 + 30078 5706 5603 5795 6102 + 30079 5984 5689 5604 5782 + 30080 5795 5689 5604 5985 + 30081 6085 5604 5689 5985 + 30082 6085 5689 5604 5984 + 30083 6086 5706 5782 5604 + 30084 6086 5782 5984 5604 + 30085 6003 5604 5706 6086 + 30086 6102 5604 5706 6003 + 30087 5706 6102 5795 5604 + 30088 6191 5604 6085 5985 + 30089 6191 5795 5604 5985 + 30090 5795 6102 6191 5604 + 30091 6085 6003 5604 6191 + 30092 6102 5604 6003 6191 + 30093 6262 6003 5604 6085 + 30094 6085 6262 5984 5604 + 30095 5984 5604 6262 6086 + 30096 6003 6262 5604 6086 + 30097 5927 5605 6003 5706 + 30098 6003 5706 5605 6086 + 30099 5797 5869 6086 5605 + 30100 6086 5706 5605 5869 + 30101 6190 5797 6086 5605 + 30102 5927 6190 5605 5707 + 30103 5605 6086 6190 6003 + 30104 5605 5707 6190 5797 + 30105 6190 5927 5605 6003 + 30106 5606 5929 5712 5798 + 30107 5709 5929 5812 5606 + 30108 5606 5710 5873 5941 + 30109 5710 5941 5606 5800 + 30110 5929 5812 5606 6004 + 30111 6004 5812 5606 5941 + 30112 5606 5712 6004 5873 + 30113 6004 5606 5929 5712 + 30114 5606 5873 6004 5941 + 30115 5798 5874 5607 5708 + 30116 5971 5713 5607 5769 + 30117 5607 5769 5874 5971 + 30118 5798 5930 5607 6104 + 30119 5798 5607 5874 6104 + 30120 6104 5607 5874 5971 + 30121 6104 6195 5930 5607 + 30122 5607 5713 5971 6195 + 30123 5607 5971 6104 6195 + 30124 5713 5930 6195 5607 + 30125 5608 5711 5872 5804 + 30126 5710 5801 5873 5608 + 30127 5873 5710 5608 5941 + 30128 5941 5710 5608 5800 + 30129 5608 6006 5711 5804 + 30130 6006 5608 5711 5800 + 30131 5941 5608 6006 5800 + 30132 5872 5608 6007 5801 + 30133 6007 5608 5873 5801 + 30134 5872 6007 5608 6105 + 30135 6105 6006 5608 5804 + 30136 6105 5608 5872 5804 + 30137 6006 5941 6106 5608 + 30138 5873 6106 5941 5608 + 30139 5873 6007 6106 5608 + 30140 5608 6105 6007 6196 + 30141 6106 6007 6196 5608 + 30142 6006 6106 6196 5608 + 30143 5608 6006 6105 6196 + 30144 5802 5609 5879 5934 + 30145 5879 5934 5609 5664 + 30146 5609 5664 5934 5805 + 30147 5609 5713 5934 5802 + 30148 5690 5942 5610 5875 + 30149 5610 5799 6194 5886 + 30150 5610 6194 5724 5886 + 30151 6194 5610 5875 5799 + 30152 6194 5724 6317 5610 + 30153 5875 6317 5942 5610 + 30154 5814 6317 5610 5942 + 30155 5610 5724 6317 5814 + 30156 5875 6194 6317 5610 + 30157 5920 5970 5876 5611 + 30158 5920 5970 5611 5714 + 30159 5611 5714 5970 6199 + 30160 6199 5611 5714 5883 + 30161 5759 5612 5849 6009 + 30162 5928 6084 5860 5612 + 30163 5715 6084 5612 5860 + 30164 5928 6192 6084 5612 + 30165 6192 5716 5612 5928 + 30166 6200 5715 5612 5849 + 30167 5612 5849 6009 6200 + 30168 5612 6084 5715 6200 + 30169 5716 6267 5612 5877 + 30170 6267 6192 5612 6009 + 30171 5716 6192 5612 6267 + 30172 5759 6267 5612 6009 + 30173 5877 6267 5612 5759 + 30174 6084 6268 6200 5612 + 30175 5612 6192 6268 6009 + 30176 6084 6192 6268 5612 + 30177 5612 6268 6200 6009 + 30178 5931 5802 5855 5613 + 30179 6070 5613 5855 5803 + 30180 5802 6109 5879 5613 + 30181 5802 5931 6109 5613 + 30182 6165 6070 5613 5855 + 30183 6165 5613 5931 5855 + 30184 5613 5931 6109 6318 + 30185 6318 6165 5613 5931 + 30186 5759 5877 5804 5614 + 30187 6010 5804 5880 5614 + 30188 5806 6010 5880 5614 + 30189 6010 5804 5614 5759 + 30190 5614 6201 6010 5759 + 30191 5849 6201 5614 5759 + 30192 5614 5849 5758 6201 + 30193 5614 6010 6201 6269 + 30194 5806 5614 5915 6269 + 30195 5614 5758 6269 6201 + 30196 5806 6269 6010 5614 + 30197 5614 5758 5915 6269 + 30198 5930 5615 5801 5713 + 30199 5801 6007 5717 5615 + 30200 6007 6107 5615 5801 + 30201 5801 5615 5930 6107 + 30202 6195 5615 5713 5934 + 30203 5713 5615 6195 5930 + 30204 5930 6195 6107 5615 + 30205 5616 6007 5717 5872 + 30206 5616 5880 6010 5804 + 30207 6105 5616 6010 5804 + 30208 5804 6105 5616 5872 + 30209 6007 5616 6105 5872 + 30210 5617 5882 5936 5809 + 30211 5796 5881 5937 5617 + 30212 5617 5720 5936 6011 + 30213 5617 5936 5882 6011 + 30214 5617 5720 6011 6112 + 30215 5720 5937 6112 5617 + 30216 5881 5719 6112 5617 + 30217 6112 5617 5937 5881 + 30218 5882 5808 5617 6186 + 30219 5617 6186 6011 5882 + 30220 5719 5808 6186 5617 + 30221 5617 6011 6186 6112 + 30222 6112 6186 5617 5719 + 30223 5618 5957 5810 5883 + 30224 6002 5618 5705 5796 + 30225 5937 5618 6002 5796 + 30226 5705 6002 5868 5618 + 30227 5957 6114 5720 5618 + 30228 5957 6114 5618 5810 + 30229 6114 5618 6002 5937 + 30230 5937 6114 5618 5720 + 30231 5618 6002 5868 6189 + 30232 5618 5868 5810 6189 + 30233 6002 6114 6189 5618 + 30234 5810 6189 6114 5618 + 30235 5884 5958 5619 5980 + 30236 5884 5619 5680 5980 + 30237 6074 5619 5958 5980 + 30238 5677 6074 5811 5619 + 30239 5677 5958 6074 5619 + 30240 5980 5680 6078 5619 + 30241 5619 5680 6078 5774 + 30242 6074 5619 6203 5811 + 30243 6074 6203 5619 5980 + 30244 6203 6078 5619 5980 + 30245 5938 5811 6203 5619 + 30246 6247 6078 5774 5619 + 30247 6078 5619 6247 6203 + 30248 5774 6247 5619 5938 + 30249 5938 6203 6247 5619 + 30250 5939 5723 5780 5620 + 30251 6015 5939 5886 5620 + 30252 6015 5723 5939 5620 + 30253 6015 5620 5886 6103 + 30254 5812 5620 6103 5709 + 30255 6103 5709 5620 5799 + 30256 5799 5620 6103 5886 + 30257 6116 5812 5940 5620 + 30258 6116 5940 5723 5620 + 30259 5723 5620 6015 6116 + 30260 6103 6323 5620 5812 + 30261 6015 6323 6116 5620 + 30262 5812 6323 5620 6116 + 30263 6015 6323 5620 6103 + 30264 6006 5800 5621 5941 + 30265 6006 5621 5800 5716 + 30266 5621 6106 6006 5941 + 30267 6006 6196 6106 5621 + 30268 5621 6205 5813 6016 + 30269 5813 5940 6205 5621 + 30270 5940 5812 6205 5621 + 30271 6267 5621 6117 6196 + 30272 5621 6016 5813 6267 + 30273 5621 6267 5813 5716 + 30274 5621 6117 6016 6267 + 30275 6267 6006 5621 6196 + 30276 5621 6006 6267 5716 + 30277 5621 6274 5941 5812 + 30278 5621 6106 5941 6274 + 30279 5621 6205 6274 5812 + 30280 6117 5621 6324 6196 + 30281 6117 6016 6324 5621 + 30282 6324 6106 6196 5621 + 30283 5621 6274 6205 6324 + 30284 5621 6324 6205 6016 + 30285 5621 6106 6274 6324 + 30286 5622 6018 5725 5888 + 30287 5816 6018 5622 5888 + 30288 6018 6119 5816 5622 + 30289 5816 6119 5726 5622 + 30290 5734 6019 5623 5827 + 30291 5623 6120 5734 5817 + 30292 6120 5734 6019 5623 + 30293 5623 5725 6120 5817 + 30294 5824 6021 5624 5892 + 30295 5726 6119 5816 5624 + 30296 5726 5824 6119 5624 + 30297 6122 6021 5892 5624 + 30298 5892 6182 6122 5624 + 30299 5889 6182 5790 5624 + 30300 5892 5790 6182 5624 + 30301 5624 5816 6208 6119 + 30302 6208 5731 5816 5624 + 30303 5624 6208 5945 6121 + 30304 6208 5945 5731 5624 + 30305 5824 6021 6277 5624 + 30306 5824 5624 6277 6119 + 30307 6121 6277 6021 5624 + 30308 6277 6121 6208 5624 + 30309 5624 6208 6277 6119 + 30310 5624 6021 6121 6325 + 30311 5624 5945 6325 6121 + 30312 5624 6122 6021 6325 + 30313 5889 5624 5728 6325 + 30314 5889 6325 6182 5624 + 30315 6122 6182 6325 5624 + 30316 5945 5728 5624 6325 + 30317 5890 5823 5730 5625 + 30318 5823 5890 5943 5625 + 30319 5943 5625 5890 5820 + 30320 5943 5907 5727 5626 + 30321 5626 5907 5727 6123 + 30322 5891 5727 6123 5626 + 30323 6123 5891 5626 5729 + 30324 5626 6184 5729 5820 + 30325 6123 5626 5907 6212 + 30326 5626 6212 5943 5907 + 30327 5943 6278 6212 5626 + 30328 5626 6278 6184 5820 + 30329 6123 5626 6212 6278 + 30330 5626 5820 5943 6278 + 30331 6326 5626 6123 6278 + 30332 6184 5729 6326 5626 + 30333 6184 6326 6278 5626 + 30334 5626 5729 6326 6123 + 30335 5754 5953 5627 5961 + 30336 5953 5627 5961 5703 + 30337 5954 6025 5627 5894 + 30338 5754 5627 6025 5961 + 30339 5627 6025 5961 5895 + 30340 5894 5775 6079 5627 + 30341 5895 6079 5775 5627 + 30342 5895 6025 6079 5627 + 30343 5894 6079 6025 5627 + 30344 6210 5627 6025 5754 + 30345 6025 5954 5627 6210 + 30346 5819 5627 5954 6210 + 30347 6210 5819 5627 5754 + 30348 5901 5628 5730 5822 + 30349 5821 5730 5901 5628 + 30350 6020 5628 5822 5888 + 30351 6020 5628 5901 5822 + 30352 5821 5628 6026 5731 + 30353 5628 6125 6020 5901 + 30354 5628 6026 6125 5821 + 30355 5628 5821 6125 5901 + 30356 5628 6026 5731 6276 + 30357 5628 6026 6276 6125 + 30358 5628 6020 6276 5888 + 30359 5628 5731 5888 6276 + 30360 6020 6125 5628 6276 + 30361 5893 5994 5789 5629 + 30362 5994 5789 5629 6094 + 30363 6097 5994 5893 5629 + 30364 5997 5629 6097 5826 + 30365 6097 5893 5700 5629 + 30366 5700 6097 5629 5826 + 30367 6183 6094 6028 5629 + 30368 6094 5789 5629 6183 + 30369 5866 5789 6183 5629 + 30370 6215 5826 5629 5997 + 30371 5866 6183 6256 5629 + 30372 6183 6028 6256 5629 + 30373 6256 5826 5629 6215 + 30374 6256 6028 6215 5629 + 30375 6256 5629 5826 5866 + 30376 5629 6028 6282 6094 + 30377 6094 5629 5994 6282 + 30378 6282 6028 5629 6215 + 30379 5997 6215 6282 5629 + 30380 5997 5629 6282 6097 + 30381 6282 6097 5629 5994 + 30382 5682 5848 5895 5630 + 30383 5630 5851 6001 5906 + 30384 5794 5906 5630 6001 + 30385 5918 5851 6001 5630 + 30386 5918 6001 5848 5630 + 30387 5630 6001 5848 5895 + 30388 5895 5630 6001 5794 + 30389 5829 5735 6029 5631 + 30390 6029 5896 5733 5631 + 30391 6029 5631 5733 5829 + 30392 5733 5947 5897 5632 + 30393 5734 5827 5632 6019 + 30394 6128 5947 6019 5632 + 30395 5632 6128 5947 5831 + 30396 6128 6019 5734 5632 + 30397 5831 5632 6128 5734 + 30398 5632 5827 6217 6019 + 30399 5947 5733 6217 5632 + 30400 5632 6217 5947 6019 + 30401 5733 5632 5827 6217 + 30402 5633 5831 5738 6020 + 30403 5738 5822 5633 6020 + 30404 6020 5822 5633 5888 + 30405 5633 5888 5817 6209 + 30406 5888 6209 5633 6020 + 30407 5633 5817 5734 6209 + 30408 5831 5633 5734 6209 + 30409 6020 5633 5831 6209 + 30410 5828 5735 5634 6030 + 30411 5829 5635 5737 5959 + 30412 5635 5829 6029 5959 + 30413 5635 6029 5829 5735 + 30414 5735 5828 5635 6030 + 30415 5735 5635 6129 6030 + 30416 5635 6129 6029 5735 + 30417 5828 6130 5635 6030 + 30418 5736 5635 5828 6130 + 30419 5737 6131 5959 5635 + 30420 6032 5635 5959 6131 + 30421 5830 5635 5736 6131 + 30422 5830 5737 5635 6131 + 30423 5635 6218 6030 6130 + 30424 6129 6218 6030 5635 + 30425 5959 6283 5635 6032 + 30426 5635 6283 6218 6032 + 30427 6283 5635 6029 5959 + 30428 6129 5635 6029 6283 + 30429 5635 6283 6129 6218 + 30430 5635 6218 6284 6032 + 30431 5635 6284 6218 6130 + 30432 5736 6284 5635 6130 + 30433 6131 6284 6032 5635 + 30434 5736 5635 6284 6131 + 30435 5736 5830 5898 5636 + 30436 5636 5828 6031 5736 + 30437 6031 5898 5636 5736 + 30438 5898 6031 5636 5837 + 30439 5637 5898 6132 5830 + 30440 5637 6132 5898 5746 + 30441 5637 6132 6285 5830 + 30442 5948 5899 5637 6285 + 30443 5637 5899 5830 6285 + 30444 6328 5948 5746 5637 + 30445 5637 6328 6132 5746 + 30446 6285 6328 6132 5637 + 30447 6285 5637 5948 6328 + 30448 5904 5638 5739 5833 + 30449 5638 5900 6037 5740 + 30450 5638 6037 5832 5740 + 30451 5749 5638 5904 6133 + 30452 6037 6133 5638 5832 + 30453 5904 6133 5638 5833 + 30454 5749 5638 6133 5832 + 30455 5833 5638 5900 6133 + 30456 5900 6133 5638 6037 + 30457 5639 5901 6211 5823 + 30458 6027 5639 6211 6136 + 30459 6027 5901 6211 5639 + 30460 6027 5639 6136 6221 + 30461 6027 6221 5901 5639 + 30462 6221 5834 5738 5639 + 30463 6221 5738 5901 5639 + 30464 5639 6222 5834 5902 + 30465 6136 5639 6211 6279 + 30466 5639 5823 6211 6279 + 30467 5902 6279 5639 6222 + 30468 5639 6039 6279 6136 + 30469 6039 6222 5639 6279 + 30470 5639 5902 5823 6279 + 30471 6287 5639 6136 6039 + 30472 6221 6287 5834 5639 + 30473 6222 5639 5834 6287 + 30474 6287 6136 5639 6221 + 30475 6222 6039 5639 6287 + 30476 5902 5748 5946 5640 + 30477 5818 5640 5950 5907 + 30478 6126 5748 5640 5950 + 30479 5640 6126 5907 5823 + 30480 5748 5640 5902 6126 + 30481 5902 5823 6126 5640 + 30482 5907 5640 5950 6126 + 30483 5641 6034 5737 5835 + 30484 5641 5959 5737 6034 + 30485 5641 5959 6137 5741 + 30486 5959 5641 6137 6034 + 30487 6138 5641 5741 5903 + 30488 5835 5641 6034 6138 + 30489 5641 5835 5903 6138 + 30490 5741 6225 5641 6138 + 30491 6137 6225 5641 5741 + 30492 5641 6138 6225 6034 + 30493 6225 6137 5641 6034 + 30494 6035 5899 5835 5642 + 30495 6038 5900 5833 5642 + 30496 6038 5742 5900 5642 + 30497 5642 5948 5833 6038 + 30498 5948 6038 5642 6139 + 30499 5742 6227 5835 5642 + 30500 6035 6227 5642 5835 + 30501 5948 5899 6285 5642 + 30502 5899 6035 6285 5642 + 30503 5642 6139 6038 6291 + 30504 6227 6035 5642 6291 + 30505 5642 6291 6038 5742 + 30506 5642 6227 6291 5742 + 30507 5642 6035 6139 6291 + 30508 6328 5642 6035 6139 + 30509 5948 5642 6285 6328 + 30510 6328 5948 5642 6139 + 30511 6035 6285 5642 6328 + 30512 5900 5643 6037 5740 + 30513 5900 5643 5742 6037 + 30514 5643 6138 5949 5903 + 30515 5742 5643 6138 6042 + 30516 6138 5643 5742 5903 + 30517 6222 6037 5643 5740 + 30518 5643 5740 5834 6222 + 30519 5949 6230 6138 5643 + 30520 6042 6230 6140 5643 + 30521 6042 6138 6230 5643 + 30522 5643 5834 6287 6222 + 30523 5834 6287 5949 5643 + 30524 6230 5949 6287 5643 + 30525 6230 6287 6140 5643 + 30526 5643 6287 6140 6222 + 30527 6037 5643 5742 6292 + 30528 6292 5643 6140 6222 + 30529 6042 6140 6292 5643 + 30530 6042 6292 5742 5643 + 30531 6292 6037 5643 6222 + 30532 5744 5644 6043 5838 + 30533 6043 5744 5836 5644 + 30534 5836 5743 6043 5644 + 30535 5644 6043 5837 5743 + 30536 5914 6043 5644 5838 + 30537 5914 6043 5837 5644 + 30538 5844 6044 5745 5645 + 30539 5745 5645 6044 5838 + 30540 5645 6143 6044 5838 + 30541 5744 6143 5645 5838 + 30542 5844 6144 6044 5645 + 30543 5753 5645 6144 5844 + 30544 6144 5845 5645 5753 + 30545 5646 5746 5914 6041 + 30546 5746 6041 5646 5948 + 30547 5646 5914 6145 6041 + 30548 6228 6145 6041 5646 + 30549 5948 6228 5646 5757 + 30550 5948 6041 5646 6228 + 30551 5646 5914 6231 6145 + 30552 5745 6231 5646 5838 + 30553 6231 5914 5646 5838 + 30554 5646 6294 6145 6231 + 30555 6228 6294 6145 5646 + 30556 5646 5745 6294 6231 + 30557 5757 6228 5646 6294 + 30558 5646 5745 5844 6294 + 30559 5757 5646 5844 6294 + 30560 5906 6045 5647 5756 + 30561 5647 6045 5906 5839 + 30562 5755 6046 5647 5846 + 30563 5846 6046 5647 5747 + 30564 6046 5747 6146 5647 + 30565 5647 6146 5839 5747 + 30566 5647 6146 6045 5839 + 30567 5756 5647 6232 6045 + 30568 5756 6232 5647 5847 + 30569 6232 5755 6046 5647 + 30570 6232 5847 5755 5647 + 30571 5647 6045 6146 6232 + 30572 6232 6146 5647 6046 + 30573 5839 5648 5909 5704 + 30574 5840 5747 5648 5951 + 30575 5960 5648 5704 5909 + 30576 5704 5648 5960 5905 + 30577 5909 5648 5839 6146 + 30578 5648 5747 6146 5951 + 30579 5648 6146 5909 5951 + 30580 5839 5648 5747 6146 + 30581 5912 5649 5750 5840 + 30582 5908 5650 6049 5840 + 30583 5951 5840 6049 5650 + 30584 5842 6050 5650 5951 + 30585 5751 5842 6050 5650 + 30586 5843 6051 5908 5650 + 30587 5650 5908 6049 6148 + 30588 5908 6051 6148 5650 + 30589 6050 5650 6148 6234 + 30590 5650 6148 6234 6051 + 30591 5650 6234 5843 6051 + 30592 5751 6234 5650 6050 + 30593 5751 6234 5843 5650 + 30594 5951 5650 6049 6298 + 30595 5650 6148 6298 6050 + 30596 6298 5951 5650 6050 + 30597 6049 5650 6148 6298 + 30598 6052 5651 5841 5910 + 30599 6037 5832 5651 6133 + 30600 5749 5651 5832 6133 + 30601 6134 5651 5832 5946 + 30602 5832 6037 5651 6134 + 30603 5651 6223 5749 5910 + 30604 6133 5651 6037 6223 + 30605 6133 5749 5651 6223 + 30606 5841 5946 5651 6329 + 30607 6134 5946 6329 5651 + 30608 5651 6052 6332 5910 + 30609 6223 5651 6037 6332 + 30610 5651 6332 6223 5910 + 30611 5651 6037 6332 6351 + 30612 6332 6052 5651 6351 + 30613 6052 5651 6351 5841 + 30614 6351 5841 5651 6329 + 30615 6134 6329 6351 5651 + 30616 6351 5651 6037 6134 + 30617 5950 5960 5652 5905 + 30618 5652 6047 5748 5841 + 30619 5748 6047 5652 5950 + 30620 6147 5960 5652 5950 + 30621 6147 5652 6047 5950 + 30622 5751 6235 5652 5841 + 30623 6235 5652 5842 5751 + 30624 6235 5842 5652 5960 + 30625 6147 6235 6047 5652 + 30626 5841 5652 6047 6235 + 30627 6235 5960 5652 6147 + 30628 6188 5960 5653 6147 + 30629 5909 6188 5960 5653 + 30630 6235 5653 5842 5960 + 30631 6147 6235 5960 5653 + 30632 6147 6301 6235 5653 + 30633 5842 6301 6152 5653 + 30634 5842 6235 6301 5653 + 30635 5842 6333 5909 5653 + 30636 5653 5842 6333 6152 + 30637 5653 6333 6188 6152 + 30638 6188 5909 6333 5653 + 30639 6334 6188 6152 5653 + 30640 6188 5653 6334 6147 + 30641 6334 6152 6301 5653 + 30642 6334 5653 6301 6147 + 30643 6048 5952 5749 5654 + 30644 6048 5749 5910 5654 + 30645 6055 5654 5911 5753 + 30646 6153 5911 6055 5654 + 30647 6153 5752 5911 5654 + 30648 5752 5843 5654 6153 + 30649 5654 5843 6237 6153 + 30650 5654 6153 6237 6055 + 30651 5910 6237 5654 5843 + 30652 6237 6048 5910 5654 + 30653 6055 6336 5654 5753 + 30654 6336 5952 5654 5753 + 30655 5654 6237 6336 6055 + 30656 5654 6237 6048 6336 + 30657 5654 6048 5952 6336 + 30658 5807 5656 5916 5718 + 30659 5656 5988 5715 5807 + 30660 5656 5988 5849 5715 + 30661 5849 5656 5758 6111 + 30662 5656 6111 5849 5988 + 30663 5656 5916 5758 6111 + 30664 5656 5807 5916 6111 + 30665 5656 5807 6111 5988 + 30666 5657 5917 5978 5773 + 30667 5978 6077 5657 5773 + 30668 5913 6077 5773 5657 + 30669 5760 6158 5657 5917 + 30670 5917 6158 5657 5978 + 30671 5913 6238 6077 5657 + 30672 6238 5657 5913 5850 + 30673 5657 6238 6077 6309 + 30674 5657 6238 6309 6060 + 30675 5657 6077 5978 6309 + 30676 5978 6309 6158 5657 + 30677 5657 6309 6158 6060 + 30678 6158 6060 6310 5657 + 30679 6310 5850 5657 6238 + 30680 6310 6060 6238 5657 + 30681 6310 6158 5657 5760 + 30682 5760 5850 5657 6310 + 30683 5669 5659 5965 5765 + 30684 5919 6062 5852 5659 + 30685 5765 5919 5659 6066 + 30686 5765 5659 5966 6066 + 30687 5765 6161 5966 5659 + 30688 5965 5659 6161 5765 + 30689 5659 6066 5919 6311 + 30690 6311 5966 6161 5659 + 30691 6062 6311 5659 5919 + 30692 5659 5966 6066 6311 + 30693 5915 5665 6064 5762 + 30694 5665 6064 5806 5915 + 30695 6159 5667 5762 5963 + 30696 5919 6063 5764 5668 + 30697 6063 5668 5919 6160 + 30698 6063 5668 6160 5962 + 30699 5852 6160 5919 5668 + 30700 5853 6160 5668 5962 + 30701 5670 5765 5965 5955 + 30702 5965 5955 6065 5670 + 30703 5920 5955 5670 6065 + 30704 5766 5965 6065 5670 + 30705 5920 5670 5766 6065 + 30706 5671 5964 5764 5919 + 30707 5671 6066 5964 5919 + 30708 5765 5919 6066 5671 + 30709 6066 5765 5671 6162 + 30710 6243 6162 6066 5671 + 30711 6066 5964 6243 5671 + 30712 5671 6243 6162 5768 + 30713 5674 5768 5854 5969 + 30714 5855 5969 5768 5674 + 30715 5674 5854 6164 5969 + 30716 6067 6164 5674 5854 + 30717 5969 6244 5674 5855 + 30718 6244 5674 6164 5969 + 30719 5931 5674 6244 5855 + 30720 6244 5674 5931 5769 + 30721 5674 5932 6244 6067 + 30722 5932 5769 5674 6244 + 30723 5674 6244 6164 6067 + 30724 5770 5856 5675 6072 + 30725 5921 5676 5777 5974 + 30726 5770 6073 5676 5974 + 30727 6073 5777 5676 5974 + 30728 5885 6073 5676 5770 + 30729 5922 5958 5677 5771 + 30730 5677 5922 6074 5958 + 30731 6074 5887 5677 5811 + 30732 5862 5772 5678 6075 + 30733 5814 5942 5678 6075 + 30734 6077 5858 5679 5773 + 30735 5679 6077 5773 5913 + 30736 5773 5917 5978 5680 + 30737 6076 5884 5680 5980 + 30738 5680 5978 6076 6169 + 30739 6076 6169 5980 5680 + 30740 5680 5917 5978 6169 + 30741 5917 6169 5680 6078 + 30742 5680 6169 5980 6078 + 30743 5979 6079 5682 5848 + 30744 5848 5895 6079 5682 + 30745 5775 5682 6079 5895 + 30746 5979 6079 6170 5682 + 30747 5682 5775 6079 6170 + 30748 5979 6170 5774 5682 + 30749 5786 5956 5981 5683 + 30750 5683 5956 5981 5857 + 30751 5786 5981 6170 5683 + 30752 5774 5683 6247 5938 + 30753 6247 5683 5857 5938 + 30754 5683 5981 6170 6247 + 30755 6247 6170 5683 5774 + 30756 6247 5683 5981 5857 + 30757 5922 5884 5771 5684 + 30758 5859 5776 5982 5684 + 30759 6076 5982 5776 5684 + 30760 6076 5922 5684 5884 + 30761 5922 6249 6076 5684 + 30762 5684 5859 6249 5982 + 30763 5922 5859 6249 5684 + 30764 5684 6249 6076 5982 + 30765 5870 6167 5780 5686 + 30766 5870 6083 6167 5686 + 30767 6167 5972 5686 6251 + 30768 5778 5861 6251 5686 + 30769 6167 5686 6083 6251 + 30770 6083 6251 5686 5778 + 30771 5972 6251 5861 5686 + 30772 5687 5779 5860 5928 + 30773 6174 5689 5783 5985 + 30774 5689 5985 6174 6085 + 30775 6085 5689 5984 6174 + 30776 5689 6174 5783 5862 + 30777 5690 5942 5875 5984 + 30778 5787 5691 5989 5923 + 30779 5691 6080 5989 5923 + 30780 6080 5989 6176 5691 + 30781 5691 5793 5989 6176 + 30782 5692 5990 5785 5863 + 30783 5863 5787 5692 5990 + 30784 5784 5693 5924 5990 + 30785 5791 5991 5693 5926 + 30786 5924 5693 6088 5990 + 30787 5693 5926 5991 6088 + 30788 5694 6089 5863 5785 + 30789 5956 6177 5863 5694 + 30790 6177 6089 5863 5694 + 30791 6253 5694 5786 5894 + 30792 5694 6314 6177 6089 + 30793 6253 5694 6314 5786 + 30794 5956 6314 5694 5786 + 30795 5956 6177 5694 6314 + 30796 5992 5788 5695 5864 + 30797 5788 5944 5865 5696 + 30798 5697 5784 5924 5990 + 30799 5697 5994 5789 5893 + 30800 5994 6089 5893 5697 + 30801 5697 5990 6089 5785 + 30802 6089 5785 5893 5697 + 30803 6178 5697 5994 5789 + 30804 6178 6316 5697 5924 + 30805 5697 5994 6316 6178 + 30806 6316 5697 5924 5990 + 30807 6089 5697 6316 5990 + 30808 6089 5994 6316 5697 + 30809 5698 5866 5996 5826 + 30810 5996 5866 5698 6182 + 30811 5889 5790 6182 5698 + 30812 5866 6182 5790 5698 + 30813 5996 5698 5889 6182 + 30814 5995 5892 5699 5790 + 30815 5997 5954 5819 5700 + 30816 5997 6097 5954 5700 + 30817 5997 6097 5700 5826 + 30818 5893 6097 5700 6185 + 30819 6185 6097 5700 5954 + 30820 5991 5701 5867 5791 + 30821 5867 5792 5701 5998 + 30822 6098 5701 5792 5998 + 30823 6180 5992 6098 5701 + 30824 6259 5991 6180 5701 + 30825 5998 5701 5867 6259 + 30826 5998 6098 5701 6259 + 30827 6180 6098 6259 5701 + 30828 6259 5867 5991 5701 + 30829 5702 5808 5882 5925 + 30830 5703 5961 5953 5794 + 30831 5960 5905 5818 5704 + 30832 5960 5818 6000 5704 + 30833 5704 6101 5906 5794 + 30834 5704 5906 6101 5839 + 30835 5839 5909 6188 5704 + 30836 5839 5704 6188 6101 + 30837 5960 5704 6188 5909 + 30838 6101 5704 6188 6000 + 30839 5960 5704 6000 6188 + 30840 5868 5927 6002 5705 + 30841 6086 5782 5706 5869 + 30842 5927 6003 6102 5706 + 30843 5927 5707 5767 5967 + 30844 6190 6067 5932 5707 + 30845 6190 5707 5927 5967 + 30846 6190 6067 5707 5967 + 30847 5932 5707 5797 6190 + 30848 5986 5708 5869 5797 + 30849 5871 5986 5798 5708 + 30850 5986 5708 5797 5874 + 30851 5874 5986 5708 5798 + 30852 5812 6103 5929 5709 + 30853 5799 6103 5709 5929 + 30854 6006 5711 5877 5800 + 30855 5804 5711 5877 6006 + 30856 5798 5871 5929 5712 + 30857 5798 5986 5871 5712 + 30858 6104 5712 5930 6008 + 30859 5798 5986 5712 6104 + 30860 5798 5712 5930 6104 + 30861 5712 6107 5873 5930 + 30862 5712 6008 6107 5930 + 30863 5929 6193 6004 5712 + 30864 6108 6004 6193 5712 + 30865 5712 6108 6008 6197 + 30866 6104 5712 6008 6197 + 30867 5712 6104 5986 6197 + 30868 6198 5712 6004 6108 + 30869 6004 5873 5712 6198 + 30870 6198 6008 5712 6108 + 30871 6198 5873 5712 6107 + 30872 6198 5712 6008 6107 + 30873 5712 6265 5929 6193 + 30874 5712 6265 5986 5871 + 30875 6108 6265 6197 5712 + 30876 5712 6108 6265 6193 + 30877 5712 5986 6265 6197 + 30878 5712 5929 6265 5871 + 30879 5971 5931 5713 5769 + 30880 6109 5934 5713 5802 + 30881 5713 6109 5931 5971 + 30882 5713 5931 6109 5802 + 30883 5934 5713 6195 6109 + 30884 5713 6195 6109 5971 + 30885 6068 5868 5810 5714 + 30886 5714 6163 5970 6110 + 30887 5920 6163 5970 5714 + 30888 6199 5714 5810 5883 + 30889 5970 6110 6199 5714 + 30890 6199 6266 5810 5714 + 30891 5968 5714 6266 6163 + 30892 6110 6266 5714 6163 + 30893 6068 5810 6266 5714 + 30894 6199 6110 6266 5714 + 30895 5968 6266 5714 6068 + 30896 5988 5933 6084 5715 + 30897 5860 5933 5715 6084 + 30898 5988 5715 6084 6200 + 30899 6200 5988 5715 5849 + 30900 6006 5800 5877 5716 + 30901 5928 5716 5813 6192 + 30902 5716 5813 6192 6267 + 30903 6267 5716 6006 5877 + 30904 5717 5872 6007 5801 + 30905 5867 5719 6099 5926 + 30906 6099 5719 5867 5999 + 30907 5719 6186 5999 6112 + 30908 6186 5867 5808 5719 + 30909 5719 6186 5867 5999 + 30910 6260 5719 5935 5793 + 30911 6260 6099 5719 5926 + 30912 5719 6099 6260 5999 + 30913 6260 5926 5719 5793 + 30914 5935 5881 5719 6320 + 30915 6320 6260 5999 5719 + 30916 5935 5719 6260 6320 + 30917 5719 6112 5999 6320 + 30918 5719 5881 6112 6320 + 30919 5937 6013 5720 6112 + 30920 5937 5720 6013 6114 + 30921 5720 6114 6202 6013 + 30922 6202 5720 5936 5957 + 30923 5720 5957 6202 6114 + 30924 6013 5720 6270 6202 + 30925 6270 5720 6013 6112 + 30926 6270 5936 6202 5720 + 30927 6270 6011 5936 5720 + 30928 6011 6112 5720 6270 + 30929 5721 5857 5977 5772 + 30930 5721 5772 5977 6075 + 30931 6115 5811 5721 5976 + 30932 5938 6115 5811 5721 + 30933 6171 5721 5938 5857 + 30934 6171 5977 5721 5857 + 30935 6171 5938 5721 6115 + 30936 5721 6171 6322 5977 + 30937 6075 6322 5977 5721 + 30938 6075 6347 6322 5721 + 30939 5721 6171 6115 6347 + 30940 6347 5721 6171 6322 + 30941 5721 5976 6075 6347 + 30942 5721 6115 5976 6347 + 30943 5815 5973 6073 5722 + 30944 5770 6073 5973 5722 + 30945 5815 5722 6073 5885 + 30946 6073 5885 5722 5770 + 30947 5939 5973 6204 5722 + 30948 5886 5815 5722 6204 + 30949 5722 6204 5939 5886 + 30950 5815 6204 5973 5722 + 30951 5870 5940 5723 6005 + 30952 5940 5723 6005 6116 + 30953 5780 5723 6167 5870 + 30954 5870 5723 6167 6005 + 30955 5780 5723 5939 6167 + 30956 5723 6015 6206 6116 + 30957 6206 6116 6005 5723 + 30958 6005 6206 5723 6273 + 30959 6005 5723 6167 6273 + 30960 5723 6015 5939 6273 + 30961 5723 6206 6015 6273 + 30962 6273 5939 5723 6167 + 30963 5887 5815 5724 5975 + 30964 5814 5976 5887 5724 + 30965 5724 5815 5886 6204 + 30966 5724 5815 6204 5975 + 30967 5724 6204 6118 5975 + 30968 6118 6204 5724 6017 + 30969 6207 6118 5724 6017 + 30970 5975 5887 6271 5724 + 30971 6271 6207 5724 5976 + 30972 6271 5724 6207 6118 + 30973 6271 5724 5887 5976 + 30974 5975 6271 6118 5724 + 30975 6017 6204 5724 6272 + 30976 6017 5724 6207 6272 + 30977 5724 5886 6272 6204 + 30978 6272 5886 5724 6194 + 30979 6272 5724 6317 6194 + 30980 6317 6272 6207 5724 + 30981 5976 6207 5724 6317 + 30982 5814 6317 5976 5724 + 30983 5725 6018 6120 5888 + 30984 5725 6120 5817 5888 + 30985 5818 5727 5907 6000 + 30986 5891 5727 6000 6123 + 30987 6000 5727 5907 6123 + 30988 5890 6023 5820 5728 + 30989 5890 5945 6023 5728 + 30990 5889 5728 5820 6257 + 30991 5820 5728 6023 6257 + 30992 5728 6325 5945 6023 + 30993 5728 6325 6023 6257 + 30994 5728 5889 6325 6257 + 30995 5819 5891 6022 5729 + 30996 5729 6096 6022 5819 + 30997 6123 6022 5891 5729 + 30998 6022 6326 5729 6123 + 30999 5729 6022 6096 6326 + 31000 6184 6326 5729 6096 + 31001 5821 5890 6211 5730 + 31002 6211 5901 5730 5823 + 31003 5823 5890 5730 6211 + 31004 5901 6211 5730 5821 + 31005 5945 5890 5821 5731 + 31006 5821 6026 5945 5731 + 31007 6026 5945 5731 6208 + 31008 6208 5816 5731 6276 + 31009 6208 5731 6026 6276 + 31010 5816 5888 5731 6276 + 31011 5732 5993 5789 5944 + 31012 5993 6092 5944 5732 + 31013 5944 6092 5825 5732 + 31014 6181 5825 6092 5732 + 31015 5732 5866 5789 6183 + 31016 6183 5732 5993 5789 + 31017 5732 6183 6256 5866 + 31018 6093 6256 5866 5732 + 31019 5732 6092 6181 6280 + 31020 5732 5993 6092 6280 + 31021 6181 5732 6327 6093 + 31022 5993 5732 6327 6280 + 31023 5732 6327 6183 5993 + 31024 6181 6327 5732 6280 + 31025 6327 6256 6093 5732 + 31026 6327 6183 6256 5732 + 31027 5733 5829 5897 5959 + 31028 5947 5733 5897 5959 + 31029 5733 6029 5829 5959 + 31030 6029 5733 5896 6127 + 31031 6029 5959 5733 6127 + 31032 5959 5733 6217 5947 + 31033 5733 5896 6127 6217 + 31034 5733 6127 5959 6217 + 31035 5733 5827 5896 6217 + 31036 5734 6209 6019 6128 + 31037 6209 5734 6019 6120 + 31038 5817 6120 5734 6209 + 31039 5831 5734 6128 6209 + 31040 5736 5828 6031 6130 + 31041 5736 5898 5830 6132 + 31042 6031 6132 5898 5736 + 31043 5736 6219 6031 6132 + 31044 5736 6219 6033 6130 + 31045 6031 6130 6219 5736 + 31046 6033 5736 6132 6219 + 31047 5736 6033 6220 6130 + 31048 5736 6220 6284 6130 + 31049 5736 6284 6220 6131 + 31050 6220 6033 5736 6285 + 31051 5736 6131 6285 5830 + 31052 6285 5736 6132 6033 + 31053 6220 5736 6131 6285 + 31054 5736 5830 6285 6132 + 31055 5829 5737 5897 5959 + 31056 6034 6131 5737 5835 + 31057 6131 5830 5737 5899 + 31058 5899 5737 6131 5835 + 31059 6131 5737 5959 6034 + 31060 6020 5901 5738 5822 + 31061 5901 6020 5738 6221 + 31062 5834 6221 5738 5949 + 31063 5738 6286 5831 5949 + 31064 5738 5831 6286 6020 + 31065 6286 5738 6221 5949 + 31066 6286 5738 6020 6221 + 31067 5740 6037 5832 6134 + 31068 5740 6134 5946 5902 + 31069 5832 5946 5740 6134 + 31070 6222 5740 5834 5902 + 31071 6134 5740 6222 5902 + 31072 6037 5740 6222 6134 + 31073 5903 5831 5741 5949 + 31074 5831 6036 5741 5949 + 31075 5741 6128 5831 5947 + 31076 6128 5831 6036 5741 + 31077 5947 6137 5959 5741 + 31078 6138 6036 5949 5741 + 31079 6138 5949 5903 5741 + 31080 6224 5947 5741 6137 + 31081 6036 6224 6128 5741 + 31082 6128 6224 5947 5741 + 31083 5741 6290 6138 6036 + 31084 6290 6225 6137 5741 + 31085 5741 6290 6225 6138 + 31086 6224 6036 6290 5741 + 31087 6290 6137 6224 5741 + 31088 5900 6038 6135 5742 + 31089 5900 5742 6135 6037 + 31090 5835 5903 6138 5742 + 31091 5835 6138 6227 5742 + 31092 6227 5742 6138 6042 + 31093 5742 6135 6229 6038 + 31094 6291 6227 6042 5742 + 31095 6291 6042 6229 5742 + 31096 5742 6038 6229 6291 + 31097 5742 6135 6292 6229 + 31098 6135 6037 5742 6292 + 31099 5742 6292 6042 6229 + 31100 6142 5743 5837 6043 + 31101 5744 6043 6143 5838 + 31102 6231 5838 5745 6044 + 31103 5745 5844 6294 6044 + 31104 6231 5745 6294 6044 + 31105 5898 5746 6031 5837 + 31106 6132 5898 5746 6031 + 31107 5746 6031 5837 6293 + 31108 5746 5837 5914 6293 + 31109 6293 6132 5746 6031 + 31110 6041 6328 5948 5746 + 31111 6350 5746 6132 6328 + 31112 6293 5746 6132 6350 + 31113 6350 5746 6041 5914 + 31114 6293 5914 5746 6350 + 31115 6350 6041 5746 6328 + 31116 5846 5912 6046 5747 + 31117 6233 5747 6146 6046 + 31118 6046 5912 6233 5747 + 31119 6233 5840 5951 5747 + 31120 6233 5912 5840 5747 + 31121 5747 5951 6233 6146 + 31122 6047 5950 5748 6126 + 31123 6329 5946 5748 5841 + 31124 6329 6126 6047 5748 + 31125 6329 5841 5748 6047 + 31126 6329 5902 6126 5748 + 31127 5902 6329 5946 5748 + 31128 6048 5910 5749 6223 + 31129 5749 6048 6295 5952 + 31130 5904 5749 6295 5952 + 31131 6295 5749 6133 6223 + 31132 6223 6295 5749 6048 + 31133 5749 5904 6295 6133 + 31134 5908 6049 5750 5840 + 31135 6049 5912 5750 5840 + 31136 5910 5751 5841 6052 + 31137 5910 6149 5843 5751 + 31138 5910 6149 5751 6052 + 31139 6050 5842 5751 6150 + 31140 5843 6234 5751 6149 + 31141 6050 5751 6234 6150 + 31142 6235 5842 6150 5751 + 31143 5751 6052 6235 5841 + 31144 5751 6149 6299 6052 + 31145 6235 5751 6150 6299 + 31146 6234 5751 6299 6150 + 31147 6299 6234 6149 5751 + 31148 6235 6052 5751 6299 + 31149 5843 6051 5752 5908 + 31150 5752 6051 5843 6153 + 31151 6144 5911 5845 5753 + 31152 6144 6055 5911 5753 + 31153 6144 6336 6055 5753 + 31154 6336 5844 5753 6144 + 31155 6336 5844 5952 5753 + 31156 5819 5754 6022 5891 + 31157 6210 5754 6022 5819 + 31158 5953 5754 6213 6154 + 31159 6213 5891 6022 5754 + 31160 6213 5953 5891 5754 + 31161 6302 5754 6022 6210 + 31162 6025 5961 6303 5754 + 31163 5754 6302 6337 6210 + 31164 6303 6337 6025 5754 + 31165 5754 6337 6025 6210 + 31166 5754 6303 6337 6154 + 31167 6154 6303 6353 5754 + 31168 6154 6353 5953 5754 + 31169 6353 5754 6303 5961 + 31170 6353 5953 5754 5961 + 31171 6022 6213 5754 6354 + 31172 6154 6337 5754 6354 + 31173 6302 5754 6337 6354 + 31174 6022 5754 6302 6354 + 31175 5754 6354 6213 6154 + 31176 5906 5756 5851 6045 + 31177 5756 6057 5847 5913 + 31178 5756 6057 5913 5850 + 31179 5756 5851 6155 5918 + 31180 5756 6155 5850 5918 + 31181 6045 6155 5756 5851 + 31182 5756 6057 6232 5847 + 31183 5850 6304 6155 5756 + 31184 6045 6232 5756 6304 + 31185 6057 6232 6304 5756 + 31186 5850 6057 6304 5756 + 31187 6155 5756 6304 6045 + 31188 5757 5952 5844 5904 + 31189 5833 5948 5757 6038 + 31190 5833 5757 5904 6133 + 31191 6133 6038 5833 5757 + 31192 5948 5757 6038 6228 + 31193 6157 6228 5757 6294 + 31194 5757 6295 5952 5904 + 31195 6133 6295 6038 5757 + 31196 5904 5757 6295 6133 + 31197 6336 6294 6157 5757 + 31198 6336 6295 5952 5757 + 31199 6336 5844 6294 5757 + 31200 6157 5757 6295 6336 + 31201 6336 5952 5844 5757 + 31202 5757 6228 6338 6038 + 31203 6228 6157 5757 6338 + 31204 6338 6157 5757 6295 + 31205 6295 6038 5757 6338 + 31206 5915 6064 5758 5762 + 31207 6064 5762 6159 5758 + 31208 5758 5916 5762 6159 + 31209 6064 6269 5758 6059 + 31210 5758 6269 6201 6059 + 31211 5915 5758 6064 6269 + 31212 5849 6111 5758 6307 + 31213 5849 6307 5758 6201 + 31214 5758 6201 6307 6059 + 31215 5758 6308 6064 6059 + 31216 6064 5758 6159 6308 + 31217 5916 6111 6340 5758 + 31218 6340 5758 6307 6059 + 31219 6111 6307 6340 5758 + 31220 5758 6340 6308 6059 + 31221 5758 6340 5916 6159 + 31222 6340 6159 5758 6308 + 31223 6006 5877 5804 5759 + 31224 6105 5804 6010 5759 + 31225 6105 6006 5804 5759 + 31226 6201 6010 5759 6105 + 31227 6201 5759 5849 6009 + 31228 6006 6267 5877 5759 + 31229 6105 6267 6006 5759 + 31230 6341 5759 6267 6105 + 31231 6201 6341 5759 6009 + 31232 6267 5759 6341 6009 + 31233 5759 6201 6105 6341 + 31234 5760 6156 5848 5918 + 31235 5760 6061 6158 5917 + 31236 5760 6156 5918 6241 + 31237 6156 6241 5760 6061 + 31238 6061 6305 5917 5760 + 31239 6305 5760 6156 5848 + 31240 6061 6156 6305 5760 + 31241 6305 5917 5760 5848 + 31242 5760 6310 6241 5918 + 31243 6241 6061 6310 5760 + 31244 5760 5850 6310 5918 + 31245 6310 6061 6158 5760 + 31246 6064 6159 5762 5963 + 31247 6063 5878 5964 5764 + 31248 5964 5919 6063 5764 + 31249 6161 5965 5765 5955 + 31250 5765 6161 5955 5966 + 31251 5955 6162 5765 5966 + 31252 6066 5966 5765 6162 + 31253 5920 5876 6065 5766 + 31254 5767 5927 5967 5868 + 31255 5854 6162 5969 5768 + 31256 5768 6243 6162 5969 + 31257 5768 5855 6243 5969 + 31258 5874 5769 5932 5971 + 31259 5932 5971 5769 6244 + 31260 6244 5931 5971 5769 + 31261 5770 6246 6072 5973 + 31262 6246 6072 5856 5770 + 31263 5770 5856 6246 5974 + 31264 5973 6073 5770 6246 + 31265 5770 6246 6073 5974 + 31266 5958 5922 5884 5771 + 31267 5772 5977 6075 5862 + 31268 5978 5858 6077 5773 + 31269 6247 6078 5979 5774 + 31270 5774 6247 6170 5979 + 31271 6170 5775 6079 5894 + 31272 6076 6172 5858 5776 + 31273 5776 6076 6172 5982 + 31274 5922 5859 5777 6168 + 31275 5777 6250 6168 5859 + 31276 6073 6250 6168 5777 + 31277 5921 5777 6250 5974 + 31278 6073 6250 5777 5974 + 31279 5777 5921 6250 5859 + 31280 6083 6173 6251 5778 + 31281 6084 5779 5983 5928 + 31282 6084 5860 5779 5928 + 31283 5860 5779 5933 6084 + 31284 5985 5783 6174 6080 + 31285 5977 5783 6080 6174 + 31286 5977 5783 6174 5862 + 31287 5863 5990 5785 6089 + 31288 6253 6170 5786 5981 + 31289 6253 5786 6170 5894 + 31290 6253 6314 5981 5786 + 31291 5956 5981 6314 5786 + 31292 5923 6177 5787 5863 + 31293 5863 6177 5787 5990 + 31294 6177 6254 5787 5990 + 31295 6254 5989 5787 6088 + 31296 5990 5787 6088 6254 + 31297 5787 6177 6315 6254 + 31298 6177 5923 5787 6315 + 31299 6254 6315 5787 5989 + 31300 5923 5989 5787 6315 + 31301 6091 5864 5788 5992 + 31302 5944 6092 5993 5788 + 31303 5944 5865 6092 5788 + 31304 5993 6179 5788 6092 + 31305 5993 6179 6091 5788 + 31306 6091 5788 6179 5992 + 31307 5789 6178 5993 6094 + 31308 6178 5994 6094 5789 + 31309 6183 5993 6094 5789 + 31310 6182 6093 5866 5790 + 31311 5790 6182 6258 5892 + 31312 5790 6093 6258 6182 + 31313 5790 6258 6093 5995 + 31314 5790 5892 6258 5995 + 31315 5991 5791 5867 5926 + 31316 5867 5792 5998 5925 + 31317 5793 5935 6260 6176 + 31318 5793 6176 6260 5989 + 31319 6088 5793 5926 6260 + 31320 6088 5989 5793 6260 + 31321 5895 6001 5961 5794 + 31322 5794 6101 5906 6001 + 31323 5961 6001 6101 5794 + 31324 5961 6101 5953 5794 + 31325 5881 6102 6191 5795 + 31326 6191 5795 5935 5881 + 31327 6191 5795 5985 5935 + 31328 6002 5796 5881 5937 + 31329 5986 5869 6086 5797 + 31330 5932 5797 5874 6263 + 31331 6190 6263 6086 5797 + 31332 5986 5797 6263 5874 + 31333 6190 5932 6263 5797 + 31334 6263 6086 5797 5986 + 31335 5874 6104 5986 5798 + 31336 5987 5871 5929 5799 + 31337 5799 5987 6103 5929 + 31338 5799 6103 6194 5886 + 31339 6194 5875 5987 5799 + 31340 5987 6103 6194 5799 + 31341 6007 5873 6107 5801 + 31342 5801 5930 5873 6107 + 31343 5802 5879 6109 5934 + 31344 5915 6064 5806 6269 + 31345 5925 5867 5808 6100 + 31346 5925 5808 5882 6100 + 31347 5882 6100 5808 6186 + 31348 6100 6186 5867 5808 + 31349 5883 6012 5957 5810 + 31350 5957 6012 6114 5810 + 31351 5868 6189 6068 5810 + 31352 5883 6199 6012 5810 + 31353 6266 6068 6189 5810 + 31354 6266 5810 6114 6012 + 31355 6199 6012 5810 6266 + 31356 6189 5810 6114 6266 + 31357 6115 5811 6203 5938 + 31358 6271 5976 5887 5811 + 31359 6074 6203 6271 5811 + 31360 6271 5887 6074 5811 + 31361 6115 6271 6203 5811 + 31362 6115 5976 6271 5811 + 31363 5929 6193 6103 5812 + 31364 5929 6004 6193 5812 + 31365 5812 5940 6205 6116 + 31366 6004 5812 5941 6274 + 31367 6116 6274 6205 5812 + 31368 6103 6193 6323 5812 + 31369 5812 6116 6274 6348 + 31370 5812 6274 6004 6348 + 31371 5812 6116 6348 6323 + 31372 6193 5812 6004 6348 + 31373 5812 6348 6193 6323 + 31374 6264 5813 5928 5870 + 31375 6264 5813 6205 6016 + 31376 5940 5813 6205 6264 + 31377 5813 6264 6192 6016 + 31378 5928 5813 6264 6192 + 31379 5813 5940 5870 6264 + 31380 5813 6192 6267 6016 + 31381 6317 6075 5814 5976 + 31382 6075 6317 5814 5942 + 31383 5815 5973 6204 6275 + 31384 5815 6073 5973 6275 + 31385 6275 6204 5815 5975 + 31386 6275 5815 6073 5975 + 31387 5816 6119 6018 6208 + 31388 5816 6018 6276 6208 + 31389 5816 5888 6276 6018 + 31390 5888 6120 5817 6209 + 31391 5818 5905 5960 5950 + 31392 6000 5818 5960 5950 + 31393 5907 5818 6000 5950 + 31394 5997 5954 6210 5819 + 31395 6210 6022 6096 5819 + 31396 5997 6210 6096 5819 + 31397 6184 6023 6257 5820 + 31398 6184 6278 6023 5820 + 31399 6023 5820 6278 5890 + 31400 5943 6278 5820 5890 + 31401 5945 5821 5890 6124 + 31402 6027 5821 5901 6125 + 31403 6211 5821 6027 6124 + 31404 6211 5901 6027 5821 + 31405 5821 6211 5890 6124 + 31406 6027 5821 6214 6124 + 31407 6124 5821 6214 5945 + 31408 5821 6026 6125 6214 + 31409 5821 5945 6026 6214 + 31410 6027 6214 5821 6125 + 31411 6024 5890 5943 5823 + 31412 5823 5907 5943 6024 + 31413 5823 6126 5907 6024 + 31414 5823 6024 5890 6211 + 31415 5823 6279 6126 6024 + 31416 5902 6126 5823 6279 + 31417 5823 6211 6279 6024 + 31418 5865 6092 5825 5944 + 31419 6215 5997 6095 5826 + 31420 6256 6095 5826 6215 + 31421 6256 5826 5996 5866 + 31422 5996 6095 5826 6256 + 31423 6131 6285 5830 5899 + 31424 6036 6286 5831 6128 + 31425 5831 6209 6128 6286 + 31426 6020 5831 6286 6209 + 31427 6036 5831 6286 5949 + 31428 6133 5900 5833 6038 + 31429 6287 5834 5949 6221 + 31430 5835 6034 6227 6138 + 31431 5899 6131 6349 5835 + 31432 6034 6349 6131 5835 + 31433 6349 6035 5899 5835 + 31434 6349 6227 6035 5835 + 31435 6349 6034 6227 5835 + 31436 5914 5837 6043 6142 + 31437 6293 5837 5914 6142 + 31438 6043 5838 5914 6143 + 31439 6143 5838 5914 6231 + 31440 5838 6143 6044 6231 + 31441 6146 5839 5909 6045 + 31442 5906 5839 6045 6296 + 31443 5839 6188 5909 6296 + 31444 5839 6188 6296 6101 + 31445 5839 5909 6045 6296 + 31446 5906 6296 6101 5839 + 31447 6049 5840 5951 6233 + 31448 6049 5912 5840 6233 + 31449 6151 6052 5841 6235 + 31450 5841 6047 6151 6235 + 31451 6329 6151 5841 6047 + 31452 5841 6351 6052 6151 + 31453 6151 5841 6351 6329 + 31454 6150 6235 6054 5842 + 31455 5951 6236 5842 6050 + 31456 6236 5842 6054 6152 + 31457 6050 5842 6150 6236 + 31458 5842 6054 6150 6236 + 31459 6301 6235 5842 6054 + 31460 6301 5842 6152 6054 + 31461 5951 5842 6236 6333 + 31462 5842 5909 6333 5951 + 31463 6333 6152 5842 6236 + 31464 6051 6237 5843 6153 + 31465 6149 5910 5843 6237 + 31466 5843 6335 6051 6234 + 31467 6335 6051 6237 5843 + 31468 6234 6335 6149 5843 + 31469 6149 5843 6335 6237 + 31470 6144 6294 5844 6044 + 31471 6336 6294 5844 6144 + 31472 6156 6001 5848 5918 + 31473 5895 5848 6079 6216 + 31474 6216 6156 6001 5848 + 31475 6216 6001 5895 5848 + 31476 6216 6079 6305 5848 + 31477 5848 5979 6305 5917 + 31478 5979 6305 6079 5848 + 31479 6216 6305 6156 5848 + 31480 5988 6200 6111 5849 + 31481 6307 6009 5849 6200 + 31482 5849 6009 6307 6201 + 31483 5849 6200 6111 6307 + 31484 6238 5913 6057 5850 + 31485 6310 5850 6155 5918 + 31486 6057 6304 6343 5850 + 31487 6310 6343 6155 5850 + 31488 6343 6238 6057 5850 + 31489 6310 6343 5850 6238 + 31490 6343 6304 6155 5850 + 31491 6241 5851 5918 6155 + 31492 5918 5851 6241 6001 + 31493 5906 6296 6045 5851 + 31494 6296 6001 5851 5906 + 31495 6155 6344 6241 5851 + 31496 6045 6344 6155 5851 + 31497 6296 6344 5851 6001 + 31498 6344 6045 6296 5851 + 31499 6344 6241 5851 6001 + 31500 5852 6062 5919 6160 + 31501 5854 5969 6162 6069 + 31502 5854 6162 5955 6069 + 31503 6069 5968 6163 5854 + 31504 5955 6163 5920 5854 + 31505 6069 6163 5955 5854 + 31506 6069 5969 6164 5854 + 31507 6068 5968 6164 5854 + 31508 6069 6164 5968 5854 + 31509 6067 5854 5967 6164 + 31510 6068 6164 5967 5854 + 31511 5969 6070 6165 5855 + 31512 5969 6243 6070 5855 + 31513 5969 6165 6244 5855 + 31514 5931 6165 5855 6244 + 31515 5857 6081 5938 6171 + 31516 5938 6247 6081 5857 + 31517 6247 5981 6081 5857 + 31518 5977 6171 6248 5857 + 31519 5857 6248 6081 6171 + 31520 6248 6081 5981 5857 + 31521 6248 5977 5857 5923 + 31522 6248 5981 5956 5857 + 31523 5857 6248 5923 5956 + 31524 5978 6077 5858 6172 + 31525 6172 5858 5978 6076 + 31526 6082 6249 6168 5859 + 31527 6082 5982 6249 5859 + 31528 5922 6249 5859 6168 + 31529 6168 6250 6082 5859 + 31530 6174 6075 5977 5862 + 31531 6177 5863 5923 5956 + 31532 5863 6177 5990 6089 + 31533 6182 5996 5866 6093 + 31534 6256 5866 5996 6093 + 31535 5867 6099 5991 5926 + 31536 5998 5925 6100 5867 + 31537 6259 5867 6100 6186 + 31538 6100 5867 6259 5998 + 31539 5991 5867 6259 6099 + 31540 6186 6259 5867 5999 + 31541 5867 6259 6099 5999 + 31542 6068 5868 5967 6189 + 31543 5868 5927 5967 6189 + 31544 5868 6002 5927 6189 + 31545 6083 5870 6167 6264 + 31546 5870 5940 6005 6264 + 31547 5870 6264 6005 6167 + 31548 6264 5928 6083 5870 + 31549 5871 6265 6175 5987 + 31550 5871 5929 6265 5987 + 31551 6175 5986 6265 5871 + 31552 6004 5873 6198 5941 + 31553 6198 6007 6106 5873 + 31554 6107 5873 6007 6198 + 31555 6106 6198 5873 5941 + 31556 6104 6263 5971 5874 + 31557 6104 5986 6263 5874 + 31558 5874 5932 6263 5971 + 31559 5984 5875 6087 5942 + 31560 5875 5987 6087 6194 + 31561 5875 6317 6087 5942 + 31562 5875 6087 6317 6194 + 31563 5876 6065 5970 5920 + 31564 6191 5935 6320 5881 + 31565 6112 5881 5937 6346 + 31566 6346 5881 6102 6191 + 31567 6346 6320 5881 6191 + 31568 6002 5937 5881 6346 + 31569 6112 6320 5881 6346 + 31570 6002 5881 6102 6346 + 31571 6100 6011 6186 5882 + 31572 5884 5958 5980 5922 + 31573 5922 5884 6076 5980 + 31574 5886 5939 6015 6204 + 31575 6272 5886 6194 6103 + 31576 5886 6103 6272 6015 + 31577 5886 6015 6272 6204 + 31578 5887 6271 6074 5975 + 31579 6018 5888 6276 6120 + 31580 5888 6276 6120 6209 + 31581 5888 6276 6209 6020 + 31582 5996 6182 5889 6257 + 31583 6182 6325 5889 6257 + 31584 6124 5890 5945 6023 + 31585 5890 6124 6211 6024 + 31586 6023 6278 6124 5890 + 31587 5890 6278 6124 6024 + 31588 5943 6024 6278 5890 + 31589 5953 6000 6213 5891 + 31590 6213 6123 6022 5891 + 31591 5891 6000 6213 6123 + 31592 6122 6258 6182 5892 + 31593 6021 5892 6258 6122 + 31594 5994 6089 6185 5893 + 31595 5994 6185 6097 5893 + 31596 6253 6079 6025 5894 + 31597 5954 6253 6025 5894 + 31598 6170 6079 6253 5894 + 31599 6216 6025 5895 5961 + 31600 6025 6216 5895 6079 + 31601 5895 5961 6001 6216 + 31602 6131 6285 5899 6349 + 31603 6285 5899 6349 6035 + 31604 6038 5900 6135 6223 + 31605 6133 6223 5900 6038 + 31606 5900 6037 6135 6223 + 31607 5900 6223 6133 6037 + 31608 6221 5901 6020 6125 + 31609 6221 5901 6125 6027 + 31610 6329 5902 6134 6222 + 31611 5902 6134 5946 6329 + 31612 6329 6279 5902 6222 + 31613 6126 6329 6279 5902 + 31614 6101 5906 6001 6296 + 31615 5943 6212 6024 5907 + 31616 6123 5907 6297 6212 + 31617 5907 6000 6297 5950 + 31618 5907 5950 6297 6126 + 31619 6000 5907 6297 6123 + 31620 6331 6024 6212 5907 + 31621 6331 6126 6024 5907 + 31622 6297 6126 6331 5907 + 31623 5907 6212 6331 6297 + 31624 5951 5909 6333 6146 + 31625 6333 6146 5909 6045 + 31626 6296 6188 5909 6333 + 31627 6296 5909 6045 6333 + 31628 6048 6332 5910 6223 + 31629 6352 5910 6237 6048 + 31630 6352 6237 5910 6149 + 31631 6332 5910 6352 6048 + 31632 6352 6149 5910 6052 + 31633 6352 5910 6332 6052 + 31634 5914 6043 6239 6142 + 31635 6142 6239 5914 6058 + 31636 6043 5914 6239 6143 + 31637 6142 5914 6293 6058 + 31638 6240 6293 5914 6058 + 31639 6145 6306 6041 5914 + 31640 6145 6240 6306 5914 + 31641 5914 6239 6339 6058 + 31642 5914 6145 6240 6339 + 31643 5914 6339 6240 6058 + 31644 5914 6143 6231 6339 + 31645 5914 6231 6145 6339 + 31646 5914 6239 6143 6339 + 31647 6240 5914 6293 6350 + 31648 6350 6306 6240 5914 + 31649 6350 6041 6306 5914 + 31650 5917 6169 6158 5978 + 31651 6342 6158 6061 5917 + 31652 6342 6169 6158 5917 + 31653 5979 6078 6342 5917 + 31654 5917 6342 6169 6078 + 31655 6342 6305 5917 6061 + 31656 5979 6342 6305 5917 + 31657 5918 6241 6156 6001 + 31658 6310 6155 6241 5918 + 31659 6242 6063 5964 5919 + 31660 5964 5919 6066 6242 + 31661 5919 6311 6066 6242 + 31662 6242 6062 5919 6311 + 31663 6242 6063 5919 6312 + 31664 6242 5919 6062 6312 + 31665 5919 6063 6160 6312 + 31666 5919 6160 6062 6312 + 31667 6163 5920 5970 6065 + 31668 5920 5955 6065 6163 + 31669 5980 6074 5922 5958 + 31670 5980 5922 6074 6249 + 31671 6168 6074 5922 6249 + 31672 5922 6076 6249 5980 + 31673 6248 6080 5977 5923 + 31674 6177 5923 6248 5956 + 31675 6080 5923 6248 6315 + 31676 6177 6248 5923 6315 + 31677 5923 6080 5989 6315 + 31678 6091 6255 6178 5924 + 31679 5924 6255 6178 6316 + 31680 6088 6316 6255 5924 + 31681 5990 6316 6088 5924 + 31682 6187 5991 5926 6088 + 31683 6099 5991 5926 6187 + 31684 6187 6088 5926 6260 + 31685 6099 6187 5926 6260 + 31686 6190 6102 5927 6003 + 31687 5927 5967 6189 6261 + 31688 5927 6102 6190 6261 + 31689 5927 6002 6102 6261 + 31690 5927 6189 6002 6261 + 31691 5967 6190 6261 5927 + 31692 5983 5928 6192 6084 + 31693 6083 5983 5928 6264 + 31694 5983 6264 6192 5928 + 31695 5929 6103 6193 6265 + 31696 5929 5987 6103 6265 + 31697 6008 5930 6195 6107 + 31698 6104 5930 6195 6008 + 31699 6318 6244 6165 5931 + 31700 5931 6244 5971 6318 + 31701 5931 5971 6109 6318 + 31702 5932 6244 6319 5971 + 31703 5932 6319 6263 5971 + 31704 5932 6244 6067 6319 + 31705 6067 5932 6319 6345 + 31706 5932 6345 6263 6319 + 31707 5932 6345 6190 6263 + 31708 6067 6190 5932 6345 + 31709 5985 6176 6113 5935 + 31710 5985 6113 6191 5935 + 31711 5935 6260 6176 6113 + 31712 6113 6320 6191 5935 + 31713 6320 5935 6113 6260 + 31714 5937 6013 6321 6114 + 31715 6114 6321 5937 6002 + 31716 6112 5937 6013 6346 + 31717 6346 6013 6321 5937 + 31718 6321 6346 5937 6002 + 31719 6171 6014 5938 6115 + 31720 5938 6171 6081 6014 + 31721 5938 6203 6115 6014 + 31722 5938 6081 6247 6014 + 31723 5938 6247 6203 6014 + 31724 6071 5939 6204 6015 + 31725 6204 5973 5939 6071 + 31726 6273 6071 5939 6167 + 31727 6273 6071 6015 5939 + 31728 5940 6005 6205 6116 + 31729 5940 6205 6005 6264 + 31730 5941 6198 6004 6274 + 31731 5941 6106 6198 6274 + 31732 5942 5984 6252 6087 + 31733 5942 6252 6317 6087 + 31734 6075 6317 5942 6252 + 31735 5943 6278 6024 6212 + 31736 5945 6208 6026 6121 + 31737 6026 6214 5945 6121 + 31738 6214 6281 5945 6121 + 31739 6124 6214 6281 5945 + 31740 6281 5945 6023 6124 + 31741 5945 6325 6121 6281 + 31742 5945 6325 6281 6023 + 31743 6040 5959 5947 6137 + 31744 6217 5959 5947 6040 + 31745 6224 6040 5947 6137 + 31746 6217 5947 6019 6288 + 31747 6288 5947 6224 6040 + 31748 6128 6288 5947 6224 + 31749 6288 6217 5947 6040 + 31750 6128 6019 5947 6288 + 31751 5948 6038 6139 6228 + 31752 5948 6139 6041 6228 + 31753 6139 6041 6328 5948 + 31754 5949 6141 6036 6230 + 31755 6036 5949 6230 6138 + 31756 6286 5949 6141 6036 + 31757 6286 6221 6141 5949 + 31758 6230 5949 6141 6287 + 31759 6287 5949 6141 6221 + 31760 6000 5960 6147 5950 + 31761 6297 6147 6047 5950 + 31762 6147 6297 6000 5950 + 31763 6297 6047 6126 5950 + 31764 6053 6233 5951 6146 + 31765 5951 6053 6298 6233 + 31766 6236 5951 6298 6050 + 31767 6298 6049 5951 6233 + 31768 6236 5951 6053 6298 + 31769 6236 6300 6053 5951 + 31770 6053 5951 6300 6146 + 31771 5951 6236 6300 6333 + 31772 5951 6333 6300 6146 + 31773 6336 5952 6295 6048 + 31774 6000 6154 5953 6213 + 31775 6101 6000 6353 5953 + 31776 5953 6000 6353 6154 + 31777 5953 5961 6353 6101 + 31778 6097 6056 5954 6185 + 31779 5954 5997 6210 6097 + 31780 6097 6210 5954 6056 + 31781 5954 6210 6025 6253 + 31782 6253 6056 5954 6210 + 31783 6185 6056 5954 6314 + 31784 6056 6314 6253 5954 + 31785 6161 6065 5965 5955 + 31786 5955 6161 6065 6245 + 31787 6245 6065 5955 6163 + 31788 5955 6245 6163 6313 + 31789 6313 6163 5955 6069 + 31790 6161 6245 5955 6313 + 31791 6161 5955 5966 6313 + 31792 6313 5955 5966 6162 + 31793 6313 5955 6162 6069 + 31794 5956 6248 6177 6090 + 31795 6090 5956 6248 5981 + 31796 5956 6177 6314 6090 + 31797 5956 6314 5981 6090 + 31798 6202 5957 6012 6114 + 31799 6217 6127 5959 6040 + 31800 5959 6040 6127 6226 + 31801 6137 6226 6040 5959 + 31802 6283 6029 6127 5959 + 31803 6127 5959 6226 6283 + 31804 6131 5959 6289 6034 + 31805 6131 6289 5959 6032 + 31806 5959 6137 6289 6034 + 31807 5959 6226 6330 6137 + 31808 5959 6283 6032 6330 + 31809 5959 6226 6283 6330 + 31810 5959 6330 6289 6137 + 31811 6289 6032 6330 5959 + 31812 5960 6000 6147 6188 + 31813 6001 5961 6303 6216 + 31814 6216 6303 6025 5961 + 31815 6101 5961 6353 6001 + 31816 5961 6353 6001 6303 + 31817 6063 6312 5962 6160 + 31818 6064 5963 6308 6159 + 31819 6243 6355 6070 5964 + 31820 5964 6066 6355 6242 + 31821 6243 6355 5964 6066 + 31822 6313 5966 6311 6066 + 31823 6311 5966 6313 6161 + 31824 5966 6162 6066 6313 + 31825 6319 6067 5967 6164 + 31826 5967 6190 6067 6345 + 31827 6319 5967 6067 6345 + 31828 6190 6261 6345 5967 + 31829 6357 5967 6068 6164 + 31830 5967 6164 6357 6319 + 31831 6189 5967 6068 6449 + 31832 6261 6189 6449 5967 + 31833 5967 6357 6449 6319 + 31834 5967 6319 6449 6345 + 31835 5967 6449 6261 6345 + 31836 6357 6068 5967 6449 + 31837 6357 6068 5968 6164 + 31838 5968 6069 6357 6164 + 31839 6266 6450 5968 6163 + 31840 6357 5968 6450 6069 + 31841 6163 5968 6069 6450 + 31842 6068 6357 5968 6535 + 31843 6068 5968 6266 6535 + 31844 6535 5968 6450 6357 + 31845 6535 5968 6266 6450 + 31846 6355 6165 5969 6070 + 31847 6355 5969 6243 6070 + 31848 5969 6355 6243 6162 + 31849 6069 5969 6162 6355 + 31850 5969 6357 6069 6164 + 31851 5969 6451 6355 6069 + 31852 6451 6165 5969 6355 + 31853 6536 6165 6244 5969 + 31854 5969 6451 6536 6165 + 31855 5969 6164 6244 6536 + 31856 6536 6357 5969 6164 + 31857 6617 5969 6357 6069 + 31858 6617 5969 6536 6357 + 31859 6451 6069 5969 6617 + 31860 6536 6451 5969 6617 + 31861 6163 5970 6245 6065 + 31862 6245 5970 6163 6110 + 31863 6109 6195 6318 5971 + 31864 5971 6359 6244 6319 + 31865 6359 6244 6318 5971 + 31866 6319 6263 5971 6452 + 31867 5971 6452 6359 6319 + 31868 6452 6539 5971 6359 + 31869 6539 6318 6195 5971 + 31870 6452 6263 5971 6539 + 31871 6359 6318 6539 5971 + 31872 6104 5971 6263 6539 + 31873 6104 5971 6539 6195 + 31874 6360 5972 6166 6071 + 31875 5972 6071 6360 6167 + 31876 6167 6453 5972 6251 + 31877 5972 6360 6453 6167 + 31878 6166 6072 6246 5973 + 31879 6275 5973 6204 6361 + 31880 6204 6361 5973 6071 + 31881 6246 5973 6073 6362 + 31882 5973 6073 6362 6275 + 31883 6275 5973 6455 6362 + 31884 5973 6361 6455 6071 + 31885 5973 6246 6166 6455 + 31886 6362 6455 6246 5973 + 31887 6361 6275 5973 6455 + 31888 5973 6166 6071 6455 + 31889 6246 6073 5974 6362 + 31890 5974 6250 6362 6073 + 31891 5975 6275 6168 6073 + 31892 6275 6118 6204 5975 + 31893 5975 6118 6168 6275 + 31894 5975 6074 6364 6271 + 31895 6168 6074 6364 5975 + 31896 6168 6364 6118 5975 + 31897 5975 6364 6118 6271 + 31898 5976 6347 6207 6317 + 31899 6347 6317 5976 6075 + 31900 6365 6347 5976 6115 + 31901 6365 6271 5976 6207 + 31902 6365 5976 6347 6207 + 31903 6365 6115 5976 6271 + 31904 6322 6080 6174 5977 + 31905 6080 6248 5977 6322 + 31906 6322 5977 6174 6075 + 31907 6322 6171 6248 5977 + 31908 6172 6077 6309 5978 + 31909 6076 5978 6172 6366 + 31910 5978 6158 6309 6366 + 31911 5978 6309 6172 6366 + 31912 6169 6158 5978 6366 + 31913 6169 6366 5978 6076 + 31914 6305 6079 6367 5979 + 31915 6170 5979 6247 6367 + 31916 6170 6079 5979 6367 + 31917 6305 6458 6342 5979 + 31918 6367 5979 6247 6458 + 31919 6247 5979 6078 6458 + 31920 6078 6342 6458 5979 + 31921 6305 5979 6367 6458 + 31922 6364 6074 5980 6203 + 31923 6074 5980 6249 6456 + 31924 5980 6074 6364 6456 + 31925 5980 6169 6076 6542 + 31926 5980 6249 6456 6542 + 31927 5980 6076 6249 6542 + 31928 6618 6542 6169 5980 + 31929 6078 6203 6618 5980 + 31930 6618 6456 6542 5980 + 31931 6364 6618 5980 6456 + 31932 6364 5980 6618 6203 + 31933 6078 6618 6169 5980 + 31934 6367 5981 6170 6253 + 31935 5981 6170 6247 6367 + 31936 6369 6314 5981 6253 + 31937 6090 6369 6314 5981 + 31938 6461 5981 6248 6081 + 31939 6090 6461 6369 5981 + 31940 6368 6081 5981 6461 + 31941 6090 5981 6248 6461 + 31942 5981 6543 6367 6247 + 31943 5981 6543 6081 6368 + 31944 5981 6081 6543 6247 + 31945 6619 6369 5981 6253 + 31946 6619 6368 5981 6461 + 31947 6367 6619 6543 5981 + 31948 6619 5981 6369 6461 + 31949 6619 5981 6367 6253 + 31950 5981 6619 6543 6368 + 31951 6076 6172 5982 6366 + 31952 5982 6366 6542 6076 + 31953 6249 5982 6542 6076 + 31954 5982 6249 6621 6082 + 31955 6366 6621 5982 6542 + 31956 6621 6249 5982 6542 + 31957 5983 6268 6084 6192 + 31958 6083 6173 5983 6363 + 31959 6083 5983 6264 6363 + 31960 5983 6363 6463 6264 + 31961 6463 6268 5983 6192 + 31962 6463 5983 6264 6192 + 31963 6086 6262 5984 6175 + 31964 5984 6087 6372 6252 + 31965 6175 6087 6372 5984 + 31966 6262 6175 6464 5984 + 31967 5984 6252 6372 6464 + 31968 6175 6372 6464 5984 + 31969 6464 6252 6174 5984 + 31970 6464 6174 6085 5984 + 31971 6464 6262 5984 6085 + 31972 6370 6113 6191 5985 + 31973 6080 6370 5985 6176 + 31974 6370 6176 6113 5985 + 31975 6370 5985 6174 6080 + 31976 6370 6085 5985 6191 + 31977 6174 5985 6370 6085 + 31978 6265 5986 6175 6375 + 31979 6375 6265 5986 6197 + 31980 6175 6375 5986 6086 + 31981 6086 5986 6263 6375 + 31982 6375 5986 6624 6197 + 31983 5986 6104 6263 6624 + 31984 6624 6104 6197 5986 + 31985 5986 6263 6375 6624 + 31986 5987 6372 6175 6087 + 31987 6372 5987 6194 6087 + 31988 6466 6103 5987 6265 + 31989 6466 6372 6547 5987 + 31990 5987 6547 6466 6265 + 31991 6372 6175 6547 5987 + 31992 5987 6175 6547 6265 + 31993 6466 6372 5987 6625 + 31994 6466 5987 6103 6625 + 31995 6194 6625 6103 5987 + 31996 6625 5987 6194 6372 + 31997 6187 6254 6088 5989 + 31998 6088 6260 6187 5989 + 31999 6315 5989 6176 6080 + 32000 6315 5989 6376 6176 + 32001 6260 6376 6187 5989 + 32002 5989 6376 6254 6315 + 32003 6187 6376 6254 5989 + 32004 5989 6176 6260 6376 + 32005 6177 6089 6254 5990 + 32006 6089 6316 6254 5990 + 32007 5990 6088 6316 6254 + 32008 6187 5991 6088 6255 + 32009 6099 5991 6377 6259 + 32010 6255 5991 6180 6377 + 32011 6259 6180 5991 6377 + 32012 5991 6377 6187 6099 + 32013 6187 6377 5991 6255 + 32014 6179 5992 6380 6091 + 32015 6380 5992 6098 6180 + 32016 6091 6380 6180 5992 + 32017 6280 6092 6179 5993 + 32018 5993 6327 6183 6094 + 32019 6327 5993 6280 6381 + 32020 6179 5993 6381 6280 + 32021 6094 6178 5993 6381 + 32022 5993 6381 6327 6094 + 32023 5993 6381 6178 6469 + 32024 6469 5993 6091 6178 + 32025 5993 6469 6091 6179 + 32026 5993 6381 6469 6179 + 32027 5994 6097 6185 6282 + 32028 5994 6185 6089 6378 + 32029 6316 6178 5994 6378 + 32030 6316 5994 6089 6378 + 32031 6378 5994 6185 6282 + 32032 6094 5994 6550 6282 + 32033 6094 6550 5994 6178 + 32034 6550 5994 6178 6378 + 32035 6378 6550 5994 6282 + 32036 6181 6382 5995 6093 + 32037 6093 6382 5995 6258 + 32038 6182 5996 6383 6257 + 32039 5996 6383 6257 6095 + 32040 6182 6093 6471 5996 + 32041 5996 6182 6383 6471 + 32042 6256 6471 6093 5996 + 32043 6256 5996 6095 6473 + 32044 6095 5996 6383 6473 + 32045 6256 6629 6471 5996 + 32046 5996 6383 6629 6471 + 32047 6383 6629 6473 5996 + 32048 6256 6629 5996 6473 + 32049 5997 6095 6385 6215 + 32050 6385 6184 6095 5997 + 32051 6385 6096 6184 5997 + 32052 6096 5997 6476 6210 + 32053 5997 6385 6096 6476 + 32054 5997 6282 6476 6097 + 32055 6215 5997 6282 6476 + 32056 6476 6210 5997 6097 + 32057 5997 6385 6476 6215 + 32058 6100 6259 6387 5998 + 32059 6098 6470 6259 5998 + 32060 6470 6259 5998 6387 + 32061 6477 6099 6388 5999 + 32062 6260 6099 6477 5999 + 32063 6477 6320 6260 5999 + 32064 6478 6186 6555 5999 + 32065 5999 6186 6555 6112 + 32066 6555 6477 6388 5999 + 32067 6477 6320 5999 6555 + 32068 6478 6555 6388 5999 + 32069 5999 6555 6320 6112 + 32070 6186 6631 5999 6478 + 32071 6631 6259 6186 5999 + 32072 6631 6099 6259 5999 + 32073 6099 6631 6388 5999 + 32074 6388 5999 6631 6478 + 32075 6213 6000 6297 6123 + 32076 6000 6334 6147 6188 + 32077 6353 6188 6334 6000 + 32078 6353 6101 6188 6000 + 32079 6334 6154 6353 6000 + 32080 6147 6334 6000 6390 + 32081 6334 6390 6154 6000 + 32082 6000 6390 6154 6213 + 32083 6390 6000 6147 6297 + 32084 6000 6297 6390 6213 + 32085 6353 6101 6001 6296 + 32086 6391 6344 6296 6001 + 32087 6391 6296 6353 6001 + 32088 6353 6001 6303 6391 + 32089 6557 6241 6344 6001 + 32090 6216 6303 6001 6557 + 32091 6557 6391 6001 6344 + 32092 6303 6557 6391 6001 + 32093 6557 6156 6241 6001 + 32094 6156 6001 6557 6216 + 32095 6114 6189 6321 6002 + 32096 6189 6002 6261 6321 + 32097 6321 6261 6346 6002 + 32098 6346 6102 6002 6261 + 32099 6374 6191 6102 6003 + 32100 6374 6003 6262 6085 + 32101 6374 6085 6191 6003 + 32102 6465 6102 6003 6374 + 32103 6003 6465 6262 6086 + 32104 6465 6003 6262 6374 + 32105 6003 6190 6465 6086 + 32106 6102 6003 6190 6465 + 32107 6108 6198 6274 6004 + 32108 6274 6348 6108 6004 + 32109 6193 6348 6004 6108 + 32110 6116 6206 6005 6393 + 32111 6005 6206 6273 6393 + 32112 6005 6167 6453 6273 + 32113 6264 6167 6453 6005 + 32114 6481 6205 6005 6116 + 32115 6481 6005 6205 6264 + 32116 6005 6393 6481 6116 + 32117 6264 6453 6560 6005 + 32118 6005 6264 6481 6560 + 32119 6633 6005 6481 6560 + 32120 6633 6481 6005 6393 + 32121 6560 6633 6005 6453 + 32122 6633 6005 6273 6393 + 32123 6005 6453 6633 6273 + 32124 6267 6006 6196 6105 + 32125 6104 6539 6008 6195 + 32126 6624 6008 6104 6539 + 32127 6104 6008 6624 6197 + 32128 6267 6009 6117 6192 + 32129 6267 6009 6341 6117 + 32130 6192 6268 6009 6394 + 32131 6394 6009 6192 6117 + 32132 6397 6009 6201 6307 + 32133 6341 6009 6201 6397 + 32134 6307 6485 6009 6200 + 32135 6397 6485 6009 6307 + 32136 6200 6268 6485 6009 + 32137 6485 6009 6268 6394 + 32138 6009 6563 6341 6117 + 32139 6009 6394 6563 6117 + 32140 6397 6485 6563 6009 + 32141 6397 6563 6341 6009 + 32142 6394 6485 6009 6563 + 32143 6011 6389 6112 6270 + 32144 6389 6112 6186 6011 + 32145 6100 6186 6011 6556 + 32146 6186 6011 6556 6389 + 32147 6635 6011 6389 6556 + 32148 6389 6011 6635 6270 + 32149 6266 6114 6358 6012 + 32150 6199 6483 6012 6266 + 32151 6483 6266 6358 6012 + 32152 6564 6483 6358 6012 + 32153 6564 6358 6114 6012 + 32154 6202 6114 6012 6564 + 32155 6270 6013 6389 6112 + 32156 6114 6399 6202 6013 + 32157 6013 6270 6399 6202 + 32158 6114 6013 6486 6399 + 32159 6321 6114 6013 6486 + 32160 6270 6389 6013 6487 + 32161 6270 6013 6399 6487 + 32162 6112 6389 6555 6013 + 32163 6112 6555 6346 6013 + 32164 6346 6398 6013 6555 + 32165 6487 6399 6565 6013 + 32166 6399 6013 6486 6565 + 32167 6636 6013 6389 6487 + 32168 6487 6565 6636 6013 + 32169 6636 6486 6013 6565 + 32170 6555 6636 6398 6013 + 32171 6555 6389 6636 6013 + 32172 6321 6013 6677 6486 + 32173 6486 6677 6636 6013 + 32174 6677 6398 6636 6013 + 32175 6346 6013 6398 6677 + 32176 6346 6321 6013 6677 + 32177 6458 6203 6247 6014 + 32178 6014 6462 6115 6171 + 32179 6247 6543 6458 6014 + 32180 6081 6543 6247 6014 + 32181 6081 6368 6543 6014 + 32182 6203 6458 6566 6014 + 32183 6489 6368 6567 6014 + 32184 6462 6567 6620 6014 + 32185 6620 6462 6014 6171 + 32186 6014 6620 6368 6567 + 32187 6620 6368 6081 6014 + 32188 6620 6081 6171 6014 + 32189 6637 6203 6566 6014 + 32190 6489 6567 6637 6014 + 32191 6462 6637 6567 6014 + 32192 6014 6637 6203 6115 + 32193 6637 6115 6014 6462 + 32194 6679 6637 6014 6489 + 32195 6543 6458 6014 6679 + 32196 6014 6543 6679 6368 + 32197 6014 6566 6637 6679 + 32198 6014 6458 6566 6679 + 32199 6368 6014 6489 6679 + 32200 6323 6206 6015 6116 + 32201 6272 6103 6323 6015 + 32202 6015 6204 6071 6361 + 32203 6323 6206 6400 6015 + 32204 6071 6454 6273 6015 + 32205 6015 6206 6400 6454 + 32206 6071 6361 6454 6015 + 32207 6454 6206 6273 6015 + 32208 6015 6491 6204 6361 + 32209 6015 6204 6491 6272 + 32210 6361 6015 6491 6568 + 32211 6400 6015 6454 6568 + 32212 6491 6015 6400 6568 + 32213 6361 6454 6015 6568 + 32214 6400 6491 6569 6015 + 32215 6400 6569 6323 6015 + 32216 6272 6491 6015 6569 + 32217 6272 6015 6323 6569 + 32218 6016 6267 6117 6192 + 32219 6394 6192 6016 6117 + 32220 6463 6192 6264 6016 + 32221 6016 6394 6463 6192 + 32222 6481 6205 6016 6264 + 32223 6481 6324 6016 6205 + 32224 6481 6402 6016 6324 + 32225 6324 6016 6117 6493 + 32226 6016 6117 6493 6394 + 32227 6493 6324 6016 6402 + 32228 6264 6560 6016 6481 + 32229 6560 6264 6016 6463 + 32230 6463 6638 6394 6016 + 32231 6016 6481 6560 6638 + 32232 6481 6638 6016 6402 + 32233 6493 6016 6638 6402 + 32234 6463 6560 6638 6016 + 32235 6016 6493 6638 6394 + 32236 6275 6017 6204 6118 + 32237 6204 6275 6361 6017 + 32238 6207 6272 6401 6017 + 32239 6491 6204 6361 6017 + 32240 6491 6204 6017 6272 + 32241 6491 6017 6361 6568 + 32242 6361 6017 6494 6568 + 32243 6017 6491 6272 6569 + 32244 6272 6017 6569 6401 + 32245 6207 6401 6573 6017 + 32246 6573 6118 6207 6017 + 32247 6573 6017 6640 6118 + 32248 6640 6494 6683 6017 + 32249 6275 6017 6118 6683 + 32250 6640 6118 6017 6683 + 32251 6017 6683 6361 6494 + 32252 6683 6361 6275 6017 + 32253 6573 6640 6017 6684 + 32254 6017 6491 6684 6568 + 32255 6569 6401 6017 6684 + 32256 6569 6017 6491 6684 + 32257 6684 6640 6017 6494 + 32258 6568 6684 6017 6494 + 32259 6684 6401 6017 6573 + 32260 6403 6018 6119 6208 + 32261 6403 6276 6018 6208 + 32262 6276 6495 6018 6120 + 32263 6018 6403 6495 6276 + 32264 6120 6019 6209 6404 + 32265 6128 6404 6209 6019 + 32266 6128 6404 6019 6288 + 32267 6221 6020 6286 6125 + 32268 6209 6574 6286 6020 + 32269 6209 6276 6574 6020 + 32270 6020 6286 6125 6574 + 32271 6125 6276 6020 6574 + 32272 6122 6258 6021 6386 + 32273 6498 6122 6021 6386 + 32274 6498 6021 6122 6325 + 32275 6498 6121 6021 6325 + 32276 6121 6277 6575 6021 + 32277 6498 6021 6575 6386 + 32278 6121 6575 6498 6021 + 32279 6302 6022 6096 6210 + 32280 6096 6022 6302 6326 + 32281 6123 6326 6354 6022 + 32282 6123 6354 6213 6022 + 32283 6302 6326 6022 6354 + 32284 6257 6023 6383 6325 + 32285 6281 6124 6023 6408 + 32286 6124 6278 6023 6408 + 32287 6278 6475 6184 6023 + 32288 6184 6023 6475 6257 + 32289 6023 6408 6278 6475 + 32290 6257 6554 6023 6475 + 32291 6383 6554 6023 6257 + 32292 6023 6554 6408 6475 + 32293 6023 6408 6642 6281 + 32294 6642 6023 6281 6325 + 32295 6642 6383 6023 6325 + 32296 6408 6023 6642 6554 + 32297 6642 6554 6023 6383 + 32298 6126 6331 6024 6279 + 32299 6409 6024 6211 6124 + 32300 6279 6211 6409 6024 + 32301 6279 6409 6331 6024 + 32302 6212 6024 6331 6500 + 32303 6409 6500 6024 6124 + 32304 6024 6500 6278 6124 + 32305 6024 6331 6500 6409 + 32306 6278 6500 6024 6212 + 32307 6025 6460 6216 6079 + 32308 6460 6216 6303 6025 + 32309 6253 6025 6079 6460 + 32310 6303 6337 6460 6025 + 32311 6025 6210 6548 6253 + 32312 6210 6025 6548 6337 + 32313 6548 6337 6025 6460 + 32314 6548 6460 6025 6253 + 32315 6125 6026 6276 6496 + 32316 6026 6208 6496 6121 + 32317 6496 6208 6026 6276 + 32318 6121 6026 6214 6496 + 32319 6125 6026 6496 6214 + 32320 6027 6211 6409 6136 + 32321 6211 6124 6027 6409 + 32322 6214 6125 6027 6410 + 32323 6221 6125 6410 6027 + 32324 6410 6027 6503 6221 + 32325 6136 6027 6221 6503 + 32326 6136 6027 6503 6579 + 32327 6409 6579 6027 6136 + 32328 6027 6214 6644 6124 + 32329 6644 6027 6124 6409 + 32330 6644 6027 6409 6579 + 32331 6579 6503 6687 6027 + 32332 6410 6027 6214 6687 + 32333 6644 6214 6027 6687 + 32334 6410 6503 6027 6687 + 32335 6579 6687 6644 6027 + 32336 6327 6256 6183 6028 + 32337 6327 6183 6094 6028 + 32338 6028 6384 6256 6215 + 32339 6094 6028 6474 6327 + 32340 6550 6094 6028 6474 + 32341 6550 6282 6028 6094 + 32342 6327 6256 6028 6553 + 32343 6256 6028 6553 6384 + 32344 6505 6384 6553 6028 + 32345 6028 6384 6646 6505 + 32346 6028 6474 6646 6550 + 32347 6028 6646 6412 6505 + 32348 6028 6646 6384 6215 + 32349 6028 6474 6412 6646 + 32350 6646 6028 6550 6282 + 32351 6282 6646 6028 6215 + 32352 6553 6028 6327 6688 + 32353 6688 6412 6028 6474 + 32354 6505 6688 6028 6553 + 32355 6028 6688 6474 6327 + 32356 6412 6688 6028 6505 + 32357 6130 6414 6218 6030 + 32358 6293 6219 6132 6031 + 32359 6284 6131 6032 6220 + 32360 6283 6032 6415 6218 + 32361 6284 6415 6032 6218 + 32362 6220 6032 6284 6416 + 32363 6032 6509 6283 6415 + 32364 6509 6032 6283 6330 + 32365 6289 6032 6131 6510 + 32366 6289 6032 6510 6330 + 32367 6220 6510 6032 6416 + 32368 6510 6032 6131 6220 + 32369 6032 6583 6284 6416 + 32370 6509 6032 6583 6415 + 32371 6284 6583 6032 6415 + 32372 6647 6583 6509 6032 + 32373 6647 6416 6583 6032 + 32374 6510 6416 6647 6032 + 32375 6509 6032 6330 6647 + 32376 6330 6032 6510 6647 + 32377 6033 6285 6220 6328 + 32378 6132 6328 6285 6033 + 32379 6507 6033 6219 6130 + 32380 6033 6507 6219 6417 + 32381 6130 6033 6220 6507 + 32382 6219 6417 6511 6033 + 32383 6132 6219 6511 6033 + 32384 6132 6511 6328 6033 + 32385 6033 6584 6507 6417 + 32386 6220 6033 6584 6507 + 32387 6584 6649 6033 6220 + 32388 6649 6033 6220 6328 + 32389 6033 6511 6690 6417 + 32390 6649 6033 6690 6584 + 32391 6690 6033 6328 6511 + 32392 6584 6033 6690 6417 + 32393 6033 6649 6690 6328 + 32394 6289 6137 6225 6034 + 32395 6034 6510 6349 6419 + 32396 6034 6289 6510 6419 + 32397 6349 6131 6510 6034 + 32398 6289 6510 6131 6034 + 32399 6513 6225 6138 6034 + 32400 6227 6034 6349 6513 + 32401 6513 6138 6227 6034 + 32402 6225 6034 6513 6289 + 32403 6419 6513 6034 6289 + 32404 6419 6034 6513 6349 + 32405 6349 6035 6328 6285 + 32406 6035 6420 6139 6291 + 32407 6349 6512 6328 6035 + 32408 6139 6328 6512 6035 + 32409 6420 6139 6512 6035 + 32410 6227 6513 6349 6035 + 32411 6586 6349 6513 6035 + 32412 6512 6586 6035 6349 + 32413 6420 6512 6586 6035 + 32414 6586 6035 6513 6650 + 32415 6650 6420 6586 6035 + 32416 6227 6513 6035 6650 + 32417 6291 6227 6035 6650 + 32418 6650 6291 6420 6035 + 32419 6290 6230 6138 6036 + 32420 6036 6290 6230 6421 + 32421 6036 6230 6141 6421 + 32422 6036 6497 6286 6128 + 32423 6497 6224 6128 6036 + 32424 6587 6497 6036 6224 + 32425 6587 6036 6290 6224 + 32426 6290 6587 6421 6036 + 32427 6497 6036 6651 6587 + 32428 6141 6651 6036 6421 + 32429 6651 6587 6036 6421 + 32430 6497 6036 6286 6651 + 32431 6286 6036 6141 6651 + 32432 6135 6223 6037 6332 + 32433 6332 6135 6292 6037 + 32434 6351 6037 6222 6134 + 32435 6037 6351 6222 6292 + 32436 6332 6292 6351 6037 + 32437 6295 6038 6223 6133 + 32438 6295 6223 6038 6338 + 32439 6038 6223 6135 6338 + 32440 6135 6038 6338 6229 + 32441 6038 6229 6291 6338 + 32442 6038 6228 6338 6515 + 32443 6038 6139 6228 6515 + 32444 6338 6291 6038 6515 + 32445 6291 6139 6038 6515 + 32446 6222 6279 6039 6329 + 32447 6039 6409 6279 6136 + 32448 6039 6331 6279 6409 + 32449 6279 6331 6039 6411 + 32450 6329 6039 6411 6279 + 32451 6287 6136 6423 6039 + 32452 6411 6039 6329 6514 + 32453 6514 6287 6423 6039 + 32454 6514 6222 6287 6039 + 32455 6514 6222 6039 6329 + 32456 6514 6039 6589 6411 + 32457 6039 6411 6331 6589 + 32458 6514 6039 6423 6589 + 32459 6652 6039 6409 6331 + 32460 6589 6039 6423 6652 + 32461 6039 6136 6423 6652 + 32462 6652 6039 6136 6409 + 32463 6039 6331 6652 6589 + 32464 6040 6288 6424 6224 + 32465 6224 6040 6137 6424 + 32466 6040 6424 6591 6137 + 32467 6591 6040 6137 6226 + 32468 6418 6328 6041 6350 + 32469 6350 6306 6041 6418 + 32470 6418 6139 6041 6328 + 32471 6228 6041 6145 6428 + 32472 6306 6145 6041 6428 + 32473 6041 6428 6228 6139 + 32474 6041 6656 6428 6139 + 32475 6428 6306 6656 6041 + 32476 6041 6418 6656 6139 + 32477 6418 6656 6306 6041 + 32478 6292 6140 6042 6229 + 32479 6042 6138 6426 6230 + 32480 6291 6521 6229 6042 + 32481 6138 6650 6227 6042 + 32482 6042 6426 6650 6597 + 32483 6138 6426 6650 6042 + 32484 6042 6291 6521 6650 + 32485 6042 6227 6291 6650 + 32486 6521 6042 6650 6597 + 32487 6042 6426 6695 6230 + 32488 6042 6695 6426 6597 + 32489 6140 6695 6230 6042 + 32490 6042 6229 6695 6521 + 32491 6042 6695 6597 6521 + 32492 6042 6140 6695 6229 + 32493 6231 6339 6143 6044 + 32494 6231 6339 6044 6294 + 32495 6294 6523 6044 6144 + 32496 6599 6523 6044 6294 + 32497 6599 6294 6044 6339 + 32498 6333 6300 6146 6045 + 32499 6045 6433 6146 6232 + 32500 6045 6433 6232 6304 + 32501 6045 6300 6146 6433 + 32502 6045 6434 6155 6344 + 32503 6479 6045 6344 6434 + 32504 6479 6300 6045 6434 + 32505 6333 6300 6045 6479 + 32506 6333 6045 6296 6479 + 32507 6045 6479 6344 6296 + 32508 6045 6304 6155 6524 + 32509 6045 6524 6434 6300 + 32510 6045 6433 6304 6524 + 32511 6434 6155 6524 6045 + 32512 6433 6045 6300 6524 + 32513 6232 6433 6146 6046 + 32514 6233 6146 6433 6046 + 32515 6047 6329 6151 6411 + 32516 6047 6411 6126 6329 + 32517 6525 6151 6047 6235 + 32518 6047 6151 6525 6411 + 32519 6525 6411 6580 6047 + 32520 6297 6047 6580 6126 + 32521 6126 6047 6580 6411 + 32522 6147 6235 6661 6047 + 32523 6525 6661 6235 6047 + 32524 6525 6580 6661 6047 + 32525 6297 6147 6661 6047 + 32526 6297 6661 6580 6047 + 32527 6332 6135 6223 6048 + 32528 6295 6048 6157 6336 + 32529 6338 6048 6295 6223 + 32530 6338 6048 6157 6295 + 32531 6223 6338 6048 6135 + 32532 6435 6352 6237 6048 + 32533 6048 6352 6332 6516 + 32534 6048 6352 6516 6435 + 32535 6516 6048 6338 6135 + 32536 6332 6516 6135 6048 + 32537 6336 6048 6157 6526 + 32538 6336 6237 6048 6526 + 32539 6435 6048 6237 6526 + 32540 6157 6048 6338 6601 + 32541 6157 6526 6048 6601 + 32542 6526 6048 6601 6435 + 32543 6048 6516 6601 6435 + 32544 6601 6338 6516 6048 + 32545 6150 6436 6234 6050 + 32546 6234 6050 6436 6148 + 32547 6150 6050 6236 6436 + 32548 6050 6148 6298 6527 + 32549 6050 6298 6236 6527 + 32550 6148 6436 6527 6050 + 32551 6236 6527 6436 6050 + 32552 6438 6051 6237 6335 + 32553 6153 6237 6438 6051 + 32554 6438 6602 6051 6335 + 32555 6234 6148 6602 6051 + 32556 6234 6602 6335 6051 + 32557 6352 6052 6299 6149 + 32558 6052 6332 6352 6430 + 32559 6299 6528 6052 6352 + 32560 6052 6352 6528 6430 + 32561 6151 6052 6235 6603 + 32562 6603 6430 6052 6528 + 32563 6235 6052 6299 6603 + 32564 6052 6603 6528 6299 + 32565 6052 6151 6351 6696 + 32566 6696 6603 6430 6052 + 32567 6332 6696 6430 6052 + 32568 6696 6151 6603 6052 + 32569 6052 6351 6332 6696 + 32570 6053 6146 6300 6433 + 32571 6146 6053 6233 6433 + 32572 6236 6053 6437 6298 + 32573 6433 6300 6053 6524 + 32574 6300 6053 6524 6605 + 32575 6605 6053 6437 6665 + 32576 6236 6053 6300 6665 + 32577 6605 6300 6053 6665 + 32578 6236 6437 6053 6665 + 32579 6235 6150 6054 6439 + 32580 6054 6150 6236 6604 + 32581 6054 6235 6439 6661 + 32582 6054 6439 6606 6661 + 32583 6235 6054 6301 6661 + 32584 6606 6301 6054 6661 + 32585 6664 6054 6150 6439 + 32586 6664 6054 6604 6150 + 32587 6664 6054 6441 6604 + 32588 6606 6439 6054 6664 + 32589 6606 6664 6054 6441 + 32590 6054 6441 6604 6665 + 32591 6054 6604 6236 6665 + 32592 6054 6236 6152 6665 + 32593 6702 6441 6054 6665 + 32594 6054 6301 6606 6702 + 32595 6606 6441 6054 6702 + 32596 6301 6054 6152 6702 + 32597 6054 6665 6152 6702 + 32598 6336 6055 6523 6144 + 32599 6609 6055 6523 6336 + 32600 6153 6666 6237 6055 + 32601 6237 6055 6666 6336 + 32602 6609 6666 6055 6336 + 32603 6056 6185 6097 6282 + 32604 6369 6314 6253 6056 + 32605 6282 6378 6056 6185 + 32606 6185 6378 6056 6314 + 32607 6097 6476 6210 6056 + 32608 6056 6476 6407 6282 + 32609 6407 6210 6476 6056 + 32610 6056 6476 6282 6097 + 32611 6506 6282 6378 6056 + 32612 6506 6056 6407 6282 + 32613 6369 6253 6548 6056 + 32614 6210 6056 6407 6548 + 32615 6210 6253 6056 6548 + 32616 6369 6549 6314 6056 + 32617 6549 6314 6056 6378 + 32618 6056 6378 6506 6549 + 32619 6707 6506 6056 6407 + 32620 6369 6707 6549 6056 + 32621 6056 6549 6506 6707 + 32622 6707 6548 6056 6369 + 32623 6548 6707 6056 6407 + 32624 6058 6293 6142 6431 + 32625 6522 6431 6293 6058 + 32626 6240 6522 6293 6058 + 32627 6613 6058 6431 6522 + 32628 6522 6613 6058 6671 + 32629 6671 6240 6339 6058 + 32630 6522 6058 6240 6671 + 32631 6059 6201 6307 6397 + 32632 6060 6343 6310 6238 + 32633 6614 6060 6447 6158 + 32634 6614 6309 6060 6158 + 32635 6447 6158 6060 6615 + 32636 6158 6310 6060 6615 + 32637 6672 6343 6310 6060 + 32638 6615 6060 6447 6672 + 32639 6615 6310 6060 6672 + 32640 6156 6061 6444 6241 + 32641 6582 6305 6061 6156 + 32642 6582 6156 6061 6444 + 32643 6305 6061 6342 6582 + 32644 6582 6061 6534 6444 + 32645 6534 6342 6061 6582 + 32646 6310 6061 6241 6615 + 32647 6158 6310 6615 6061 + 32648 6158 6615 6673 6061 + 32649 6342 6061 6673 6534 + 32650 6342 6673 6061 6158 + 32651 6615 6241 6709 6061 + 32652 6615 6709 6673 6061 + 32653 6709 6061 6241 6444 + 32654 6534 6709 6444 6061 + 32655 6534 6673 6709 6061 + 32656 6066 6311 6313 6355 + 32657 6311 6355 6066 6242 + 32658 6066 6243 6355 6162 + 32659 6355 6066 6162 6313 + 32660 6319 6244 6067 6164 + 32661 6189 6068 6266 6358 + 32662 6535 6266 6068 6358 + 32663 6449 6357 6068 6616 + 32664 6616 6068 6189 6358 + 32665 6616 6357 6068 6535 + 32666 6189 6449 6068 6616 + 32667 6535 6068 6616 6358 + 32668 6069 6162 6313 6355 + 32669 6163 6069 6313 6450 + 32670 6451 6313 6355 6069 + 32671 6313 6451 6617 6069 + 32672 6357 6450 6617 6069 + 32673 6450 6069 6313 6617 + 32674 6167 6273 6071 6360 + 32675 6454 6273 6360 6071 + 32676 6361 6455 6071 6540 + 32677 6166 6455 6540 6071 + 32678 6540 6071 6361 6454 + 32679 6360 6071 6166 6540 + 32680 6454 6360 6540 6071 + 32681 6168 6362 6073 6275 + 32682 6168 6362 6250 6073 + 32683 6271 6074 6364 6203 + 32684 6364 6074 6168 6456 + 32685 6074 6249 6168 6456 + 32686 6322 6174 6252 6075 + 32687 6322 6347 6075 6252 + 32688 6347 6252 6317 6075 + 32689 6169 6542 6366 6076 + 32690 6078 6247 6458 6203 + 32691 6458 6618 6342 6078 + 32692 6169 6342 6618 6078 + 32693 6458 6203 6618 6078 + 32694 6253 6079 6170 6367 + 32695 6305 6079 6216 6367 + 32696 6253 6079 6367 6460 + 32697 6460 6216 6079 6367 + 32698 6370 6174 6322 6080 + 32699 6544 6080 6370 6322 + 32700 6080 6544 6315 6248 + 32701 6315 6176 6544 6080 + 32702 6080 6544 6370 6176 + 32703 6248 6322 6080 6544 + 32704 6461 6248 6620 6081 + 32705 6368 6461 6620 6081 + 32706 6171 6248 6081 6620 + 32707 6249 6082 6168 6456 + 32708 6250 6168 6082 6457 + 32709 6541 6371 6082 6457 + 32710 6456 6371 6082 6541 + 32711 6541 6082 6168 6457 + 32712 6456 6082 6168 6541 + 32713 6456 6082 6371 6621 + 32714 6456 6249 6082 6621 + 32715 6083 6251 6173 6363 + 32716 6167 6264 6363 6083 + 32717 6083 6167 6251 6363 + 32718 6464 6262 6085 6374 + 32719 6545 6174 6085 6464 + 32720 6174 6370 6545 6085 + 32721 6623 6085 6191 6374 + 32722 6623 6464 6085 6374 + 32723 6623 6545 6370 6085 + 32724 6623 6464 6545 6085 + 32725 6191 6370 6085 6623 + 32726 6375 6086 6175 6262 + 32727 6262 6375 6086 6465 + 32728 6263 6190 6086 6465 + 32729 6086 6263 6465 6375 + 32730 6372 6194 6317 6087 + 32731 6372 6087 6317 6252 + 32732 6088 6316 6254 6187 + 32733 6187 6088 6316 6255 + 32734 6254 6378 6089 6177 + 32735 6254 6316 6089 6378 + 32736 6185 6089 6378 6314 + 32737 6378 6314 6089 6177 + 32738 6248 6090 6315 6177 + 32739 6254 6177 6315 6090 + 32740 6254 6090 6378 6177 + 32741 6378 6314 6177 6090 + 32742 6544 6461 6090 6248 + 32743 6090 6467 6379 6544 + 32744 6315 6090 6544 6467 + 32745 6248 6315 6090 6544 + 32746 6090 6379 6461 6544 + 32747 6461 6090 6549 6379 + 32748 6461 6369 6549 6090 + 32749 6378 6549 6314 6090 + 32750 6314 6549 6369 6090 + 32751 6467 6090 6627 6315 + 32752 6254 6627 6090 6315 + 32753 6254 6090 6627 6378 + 32754 6549 6379 6090 6627 + 32755 6379 6090 6627 6467 + 32756 6378 6090 6627 6549 + 32757 6380 6180 6469 6091 + 32758 6469 6091 6179 6380 + 32759 6469 6091 6180 6255 + 32760 6469 6091 6255 6178 + 32761 6093 6471 6382 6258 + 32762 6182 6471 6093 6258 + 32763 6553 6093 6471 6382 + 32764 6553 6093 6256 6471 + 32765 6553 6181 6327 6093 + 32766 6181 6553 6382 6093 + 32767 6256 6553 6327 6093 + 32768 6094 6474 6381 6327 + 32769 6628 6094 6178 6550 + 32770 6628 6094 6474 6381 + 32771 6628 6178 6094 6381 + 32772 6094 6628 6474 6550 + 32773 6095 6473 6215 6256 + 32774 6095 6385 6215 6473 + 32775 6184 6475 6095 6257 + 32776 6385 6184 6475 6095 + 32777 6385 6554 6095 6475 + 32778 6095 6383 6554 6473 + 32779 6554 6257 6383 6095 + 32780 6257 6095 6554 6475 + 32781 6473 6095 6385 6554 + 32782 6096 6302 6385 6326 + 32783 6184 6385 6326 6096 + 32784 6476 6302 6096 6210 + 32785 6302 6096 6385 6476 + 32786 6380 6180 6098 6470 + 32787 6180 6098 6470 6259 + 32788 6187 6260 6099 6376 + 32789 6376 6477 6260 6099 + 32790 6631 6099 6377 6259 + 32791 6187 6099 6377 6676 + 32792 6187 6099 6676 6376 + 32793 6631 6388 6676 6099 + 32794 6631 6676 6377 6099 + 32795 6099 6388 6676 6477 + 32796 6376 6676 6477 6099 + 32797 6100 6387 6259 6186 + 32798 6186 6556 6100 6387 + 32799 6296 6353 6101 6188 + 32800 6465 6102 6261 6190 + 32801 6480 6102 6191 6346 + 32802 6191 6480 6374 6102 + 32803 6102 6374 6558 6480 + 32804 6465 6558 6261 6102 + 32805 6465 6374 6558 6102 + 32806 6102 6558 6346 6480 + 32807 6261 6346 6102 6558 + 32808 6466 6193 6103 6265 + 32809 6103 6466 6323 6193 + 32810 6103 6323 6466 6625 + 32811 6103 6272 6323 6625 + 32812 6272 6194 6625 6103 + 32813 6624 6104 6263 6539 + 32814 6341 6267 6196 6105 + 32815 6265 6395 6108 6197 + 32816 6193 6395 6348 6108 + 32817 6108 6395 6265 6193 + 32818 6450 6163 6110 6245 + 32819 6266 6110 6450 6163 + 32820 6199 6266 6110 6483 + 32821 6110 6535 6266 6450 + 32822 6110 6483 6535 6396 + 32823 6110 6535 6450 6396 + 32824 6535 6266 6483 6110 + 32825 6450 6110 6537 6245 + 32826 6110 6450 6537 6396 + 32827 6389 6555 6186 6112 + 32828 6320 6112 6555 6346 + 32829 6320 6113 6477 6260 + 32830 6480 6113 6320 6191 + 32831 6480 6191 6623 6113 + 32832 6370 6623 6191 6113 + 32833 6113 6370 6626 6176 + 32834 6626 6176 6260 6113 + 32835 6626 6113 6260 6477 + 32836 6320 6678 6113 6480 + 32837 6678 6320 6113 6477 + 32838 6678 6477 6113 6626 + 32839 6626 6678 6710 6113 + 32840 6480 6623 6710 6113 + 32841 6370 6626 6710 6113 + 32842 6710 6113 6678 6480 + 32843 6370 6710 6623 6113 + 32844 6114 6266 6358 6189 + 32845 6114 6358 6321 6189 + 32846 6114 6321 6358 6486 + 32847 6202 6564 6399 6114 + 32848 6486 6564 6114 6399 + 32849 6486 6114 6564 6358 + 32850 6271 6365 6115 6203 + 32851 6365 6347 6115 6462 + 32852 6462 6115 6171 6347 + 32853 6637 6203 6115 6365 + 32854 6365 6115 6637 6462 + 32855 6348 6116 6492 6323 + 32856 6570 6323 6116 6206 + 32857 6116 6492 6570 6393 + 32858 6116 6492 6323 6570 + 32859 6116 6570 6206 6393 + 32860 6116 6571 6205 6274 + 32861 6348 6571 6492 6116 + 32862 6393 6571 6481 6116 + 32863 6481 6571 6205 6116 + 32864 6116 6348 6571 6274 + 32865 6116 6571 6492 6393 + 32866 6267 6341 6196 6117 + 32867 6563 6117 6394 6493 + 32868 6488 6271 6207 6118 + 32869 6488 6271 6118 6364 + 32870 6168 6541 6118 6364 + 32871 6118 6541 6168 6275 + 32872 6488 6207 6573 6118 + 32873 6488 6118 6573 6640 + 32874 6118 6640 6364 6541 + 32875 6488 6364 6118 6640 + 32876 6683 6118 6275 6541 + 32877 6683 6640 6118 6541 + 32878 6277 6403 6119 6208 + 32879 6404 6209 6120 6495 + 32880 6276 6209 6495 6120 + 32881 6403 6121 6208 6277 + 32882 6121 6208 6496 6403 + 32883 6281 6498 6325 6121 + 32884 6121 6405 6575 6499 + 32885 6498 6405 6575 6121 + 32886 6214 6576 6281 6121 + 32887 6281 6576 6498 6121 + 32888 6498 6576 6405 6121 + 32889 6121 6576 6405 6641 + 32890 6121 6576 6641 6214 + 32891 6121 6405 6499 6641 + 32892 6121 6641 6496 6214 + 32893 6685 6499 6641 6121 + 32894 6685 6575 6499 6121 + 32895 6121 6685 6277 6403 + 32896 6277 6121 6575 6685 + 32897 6403 6496 6121 6685 + 32898 6121 6496 6641 6685 + 32899 6383 6325 6122 6182 + 32900 6471 6258 6122 6386 + 32901 6182 6122 6471 6258 + 32902 6471 6122 6182 6383 + 32903 6471 6122 6577 6386 + 32904 6577 6386 6122 6498 + 32905 6471 6383 6577 6122 + 32906 6642 6498 6577 6122 + 32907 6642 6122 6325 6498 + 32908 6642 6577 6383 6122 + 32909 6383 6122 6325 6642 + 32910 6123 6212 6406 6278 + 32911 6297 6213 6123 6406 + 32912 6326 6354 6406 6123 + 32913 6213 6406 6354 6123 + 32914 6326 6123 6406 6278 + 32915 6297 6406 6123 6212 + 32916 6124 6500 6278 6408 + 32917 6281 6124 6644 6214 + 32918 6408 6644 6124 6500 + 32919 6281 6644 6124 6408 + 32920 6644 6124 6500 6409 + 32921 6286 6125 6410 6221 + 32922 6125 6496 6410 6214 + 32923 6574 6410 6286 6125 + 32924 6574 6496 6410 6125 + 32925 6125 6496 6276 6574 + 32926 6126 6329 6411 6279 + 32927 6279 6126 6331 6411 + 32928 6297 6580 6331 6126 + 32929 6126 6580 6331 6411 + 32930 6404 6128 6497 6288 + 32931 6209 6128 6497 6404 + 32932 6128 6497 6288 6224 + 32933 6497 6128 6209 6286 + 32934 6284 6414 6218 6130 + 32935 6130 6220 6284 6507 + 32936 6284 6507 6414 6130 + 32937 6131 6220 6285 6349 + 32938 6349 6131 6220 6510 + 32939 6293 6350 6132 6219 + 32940 6511 6132 6350 6219 + 32941 6328 6511 6132 6350 + 32942 6134 6222 6351 6329 + 32943 6229 6135 6422 6338 + 32944 6516 6135 6292 6332 + 32945 6422 6135 6516 6338 + 32946 6292 6229 6135 6588 + 32947 6588 6516 6422 6135 + 32948 6292 6135 6516 6588 + 32949 6588 6422 6229 6135 + 32950 6136 6211 6409 6279 + 32951 6136 6221 6287 6503 + 32952 6409 6652 6579 6136 + 32953 6652 6136 6691 6579 + 32954 6136 6423 6652 6691 + 32955 6287 6503 6691 6136 + 32956 6136 6503 6691 6579 + 32957 6287 6423 6136 6691 + 32958 6517 6137 6289 6330 + 32959 6137 6289 6225 6517 + 32960 6137 6225 6425 6517 + 32961 6517 6591 6137 6330 + 32962 6518 6591 6137 6425 + 32963 6226 6591 6330 6137 + 32964 6137 6424 6591 6518 + 32965 6425 6591 6137 6517 + 32966 6425 6653 6225 6137 + 32967 6224 6137 6653 6424 + 32968 6224 6290 6653 6137 + 32969 6225 6653 6290 6137 + 32970 6425 6653 6137 6518 + 32971 6137 6653 6424 6518 + 32972 6138 6225 6426 6290 + 32973 6426 6138 6290 6230 + 32974 6225 6138 6426 6513 + 32975 6513 6138 6426 6650 + 32976 6513 6227 6138 6650 + 32977 6512 6139 6418 6328 + 32978 6228 6139 6428 6515 + 32979 6291 6420 6139 6515 + 32980 6594 6139 6515 6428 + 32981 6420 6139 6515 6594 + 32982 6139 6594 6420 6512 + 32983 6594 6656 6139 6428 + 32984 6418 6139 6512 6656 + 32985 6656 6512 6594 6139 + 32986 6140 6514 6222 6287 + 32987 6140 6222 6514 6292 + 32988 6140 6423 6514 6287 + 32989 6292 6140 6229 6588 + 32990 6590 6140 6287 6423 + 32991 6590 6140 6230 6287 + 32992 6659 6140 6292 6588 + 32993 6590 6659 6140 6423 + 32994 6140 6514 6659 6292 + 32995 6659 6423 6514 6140 + 32996 6590 6695 6230 6140 + 32997 6588 6229 6695 6140 + 32998 6590 6140 6659 6695 + 32999 6588 6695 6659 6140 + 33000 6141 6286 6410 6221 + 33001 6141 6221 6503 6287 + 33002 6410 6503 6141 6221 + 33003 6141 6503 6590 6287 + 33004 6230 6141 6590 6287 + 33005 6141 6503 6410 6598 + 33006 6651 6141 6410 6598 + 33007 6421 6651 6598 6141 + 33008 6286 6141 6410 6651 + 33009 6421 6598 6697 6141 + 33010 6421 6697 6230 6141 + 33011 6697 6230 6141 6590 + 33012 6141 6697 6503 6598 + 33013 6697 6141 6503 6590 + 33014 6336 6523 6294 6144 + 33015 6231 6145 6339 6294 + 33016 6145 6339 6432 6240 + 33017 6228 6145 6294 6520 + 33018 6145 6428 6520 6228 + 33019 6294 6145 6599 6520 + 33020 6432 6145 6599 6339 + 33021 6145 6294 6599 6339 + 33022 6520 6145 6599 6432 + 33023 6306 6600 6145 6428 + 33024 6145 6432 6600 6240 + 33025 6432 6600 6520 6145 + 33026 6145 6600 6520 6428 + 33027 6240 6600 6145 6306 + 33028 6390 6301 6147 6334 + 33029 6147 6235 6301 6661 + 33030 6390 6147 6301 6661 + 33031 6297 6390 6661 6147 + 33032 6436 6148 6602 6234 + 33033 6602 6436 6527 6148 + 33034 6299 6234 6335 6149 + 33035 6662 6352 6149 6237 + 33036 6662 6149 6335 6237 + 33037 6335 6299 6149 6662 + 33038 6299 6352 6149 6662 + 33039 6234 6150 6299 6436 + 33040 6235 6439 6299 6150 + 33041 6436 6150 6299 6529 + 33042 6439 6299 6150 6529 + 33043 6236 6150 6436 6604 + 33044 6604 6436 6529 6150 + 33045 6664 6604 6529 6150 + 33046 6439 6150 6664 6529 + 33047 6151 6351 6514 6329 + 33048 6151 6514 6411 6329 + 33049 6589 6151 6411 6525 + 33050 6411 6514 6151 6589 + 33051 6440 6151 6514 6589 + 33052 6589 6440 6151 6525 + 33053 6235 6151 6603 6525 + 33054 6440 6525 6603 6151 + 33055 6440 6603 6696 6151 + 33056 6514 6351 6151 6696 + 33057 6514 6151 6440 6696 + 33058 6333 6300 6152 6236 + 33059 6300 6333 6152 6479 + 33060 6479 6333 6152 6188 + 33061 6188 6152 6479 6334 + 33062 6479 6152 6301 6334 + 33063 6152 6479 6665 6300 + 33064 6152 6665 6236 6300 + 33065 6665 6152 6702 6479 + 33066 6301 6702 6152 6479 + 33067 6153 6666 6438 6237 + 33068 6154 6354 6213 6390 + 33069 6154 6391 6334 6353 + 33070 6154 6303 6391 6353 + 33071 6154 6442 6337 6354 + 33072 6607 6390 6154 6334 + 33073 6334 6154 6607 6391 + 33074 6154 6668 6354 6390 + 33075 6607 6390 6668 6154 + 33076 6154 6668 6442 6354 + 33077 6154 6704 6607 6391 + 33078 6607 6704 6154 6668 + 33079 6704 6337 6303 6154 + 33080 6154 6303 6704 6391 + 33081 6154 6704 6442 6668 + 33082 6442 6704 6154 6337 + 33083 6434 6241 6155 6344 + 33084 6310 6241 6155 6532 + 33085 6241 6434 6155 6532 + 33086 6155 6612 6304 6343 + 33087 6304 6524 6612 6155 + 33088 6155 6612 6532 6434 + 33089 6155 6310 6612 6343 + 33090 6155 6532 6612 6310 + 33091 6155 6524 6612 6434 + 33092 6156 6444 6557 6241 + 33093 6460 6156 6557 6216 + 33094 6156 6557 6444 6460 + 33095 6460 6444 6156 6582 + 33096 6156 6216 6460 6582 + 33097 6305 6216 6156 6582 + 33098 6228 6157 6429 6294 + 33099 6429 6157 6336 6294 + 33100 6157 6228 6429 6595 + 33101 6228 6595 6157 6338 + 33102 6157 6338 6595 6445 + 33103 6601 6157 6445 6338 + 33104 6667 6336 6429 6157 + 33105 6157 6667 6526 6601 + 33106 6157 6667 6336 6526 + 33107 6429 6667 6157 6595 + 33108 6667 6157 6595 6445 + 33109 6667 6157 6445 6601 + 33110 6169 6459 6158 6366 + 33111 6169 6158 6459 6342 + 33112 6366 6158 6309 6614 + 33113 6459 6158 6366 6614 + 33114 6673 6447 6615 6158 + 33115 6342 6459 6673 6158 + 33116 6447 6614 6158 6708 + 33117 6708 6614 6158 6459 + 33118 6673 6158 6708 6447 + 33119 6708 6158 6673 6459 + 33120 6311 6313 6356 6161 + 33121 6245 6161 6356 6313 + 33122 6163 6313 6245 6450 + 33123 6319 6244 6164 6536 + 33124 6357 6319 6164 6536 + 33125 6536 6165 6318 6244 + 33126 6363 6264 6167 6453 + 33127 6360 6167 6273 6453 + 33128 6453 6363 6251 6167 + 33129 6168 6362 6275 6457 + 33130 6457 6362 6250 6168 + 33131 6168 6456 6541 6364 + 33132 6541 6457 6168 6275 + 33133 6169 6459 6366 6542 + 33134 6618 6169 6459 6342 + 33135 6618 6169 6542 6459 + 33136 6347 6171 6462 6322 + 33137 6620 6322 6462 6171 + 33138 6171 6620 6322 6248 + 33139 6322 6252 6174 6545 + 33140 6322 6174 6370 6545 + 33141 6252 6174 6545 6464 + 33142 6375 6175 6464 6262 + 33143 6464 6175 6547 6372 + 33144 6375 6175 6547 6464 + 33145 6265 6375 6175 6547 + 33146 6315 6376 6467 6176 + 33147 6467 6176 6544 6315 + 33148 6544 6626 6370 6176 + 33149 6260 6626 6376 6176 + 33150 6626 6467 6376 6176 + 33151 6626 6544 6467 6176 + 33152 6178 6316 6468 6378 + 33153 6178 6468 6550 6378 + 33154 6316 6255 6178 6628 + 33155 6469 6381 6178 6628 + 33156 6628 6255 6178 6469 + 33157 6628 6468 6550 6178 + 33158 6628 6316 6468 6178 + 33159 6179 6381 6551 6280 + 33160 6380 6469 6551 6179 + 33161 6551 6469 6381 6179 + 33162 6255 6180 6469 6377 + 33163 6259 6552 6180 6377 + 33164 6380 6552 6180 6470 + 33165 6180 6470 6552 6259 + 33166 6380 6552 6469 6180 + 33167 6552 6469 6180 6377 + 33168 6181 6327 6280 6472 + 33169 6181 6553 6472 6382 + 33170 6181 6553 6327 6472 + 33171 6257 6383 6182 6325 + 33172 6184 6475 6278 6326 + 33173 6385 6475 6184 6326 + 33174 6478 6389 6555 6186 + 33175 6186 6556 6478 6389 + 33176 6186 6478 6556 6387 + 33177 6631 6259 6387 6186 + 33178 6631 6387 6478 6186 + 33179 6376 6468 6187 6254 + 33180 6316 6254 6187 6468 + 33181 6187 6628 6377 6255 + 33182 6316 6187 6628 6468 + 33183 6316 6187 6255 6628 + 33184 6628 6377 6676 6187 + 33185 6628 6468 6187 6676 + 33186 6187 6468 6376 6676 + 33187 6296 6334 6353 6188 + 33188 6479 6333 6188 6296 + 33189 6334 6188 6296 6479 + 33190 6189 6321 6261 6449 + 33191 6321 6616 6449 6189 + 33192 6321 6358 6616 6189 + 33193 6263 6345 6190 6465 + 33194 6261 6190 6345 6465 + 33195 6320 6480 6191 6346 + 33196 6623 6480 6374 6191 + 33197 6192 6463 6268 6394 + 33198 6466 6265 6395 6193 + 33199 6395 6348 6561 6193 + 33200 6193 6561 6466 6323 + 33201 6395 6561 6466 6193 + 33202 6193 6348 6561 6323 + 33203 6317 6194 6625 6272 + 33204 6317 6625 6194 6372 + 33205 6265 6395 6197 6482 + 33206 6265 6375 6482 6197 + 33207 6559 6482 6375 6197 + 33208 6624 6197 6559 6375 + 33209 6271 6364 6488 6203 + 33210 6271 6488 6365 6203 + 33211 6203 6364 6488 6566 + 33212 6203 6488 6365 6566 + 33213 6566 6203 6364 6618 + 33214 6566 6458 6203 6618 + 33215 6203 6365 6637 6566 + 33216 6205 6571 6481 6324 + 33217 6205 6274 6571 6324 + 33218 6454 6393 6273 6206 + 33219 6570 6400 6323 6206 + 33220 6400 6206 6570 6454 + 33221 6454 6570 6393 6206 + 33222 6365 6488 6271 6207 + 33223 6207 6272 6317 6546 + 33224 6546 6207 6272 6401 + 33225 6546 6317 6207 6347 + 33226 6488 6573 6207 6365 + 33227 6401 6680 6546 6207 + 33228 6207 6347 6680 6546 + 33229 6680 6347 6207 6365 + 33230 6401 6573 6680 6207 + 33231 6207 6573 6680 6365 + 33232 6496 6403 6208 6276 + 33233 6276 6209 6574 6495 + 33234 6209 6495 6404 6574 + 33235 6497 6209 6404 6574 + 33236 6497 6286 6209 6574 + 33237 6407 6337 6302 6210 + 33238 6302 6476 6407 6210 + 33239 6210 6548 6407 6337 + 33240 6406 6331 6212 6297 + 33241 6331 6406 6212 6500 + 33242 6278 6406 6500 6212 + 33243 6297 6502 6213 6406 + 33244 6502 6390 6297 6213 + 33245 6354 6390 6502 6213 + 33246 6502 6213 6406 6354 + 33247 6281 6576 6214 6644 + 33248 6496 6687 6410 6214 + 33249 6496 6687 6214 6641 + 33250 6687 6576 6214 6641 + 33251 6644 6214 6687 6576 + 33252 6473 6384 6215 6256 + 33253 6384 6712 6215 6646 + 33254 6712 6476 6215 6282 + 33255 6646 6712 6215 6282 + 33256 6385 6215 6473 6712 + 33257 6712 6215 6473 6384 + 33258 6215 6476 6712 6385 + 33259 6216 6460 6303 6557 + 33260 6367 6582 6460 6216 + 33261 6367 6305 6582 6216 + 33262 6284 6415 6218 6508 + 33263 6508 6218 6284 6414 + 33264 6219 6585 6293 6350 + 33265 6219 6511 6585 6350 + 33266 6417 6219 6511 6585 + 33267 6349 6285 6328 6220 + 33268 6220 6584 6284 6507 + 33269 6284 6584 6220 6416 + 33270 6220 6510 6416 6649 + 33271 6349 6220 6649 6510 + 33272 6220 6416 6584 6649 + 33273 6349 6328 6649 6220 + 33274 6514 6222 6351 6292 + 33275 6514 6351 6222 6329 + 33276 6424 6587 6653 6224 + 33277 6290 6587 6224 6653 + 33278 6424 6654 6587 6224 + 33279 6288 6497 6654 6224 + 33280 6288 6654 6424 6224 + 33281 6224 6497 6654 6587 + 33282 6426 6290 6225 6519 + 33283 6592 6517 6425 6225 + 33284 6225 6592 6519 6425 + 33285 6517 6225 6592 6289 + 33286 6513 6592 6225 6289 + 33287 6692 6225 6653 6290 + 33288 6425 6653 6692 6225 + 33289 6225 6519 6692 6425 + 33290 6225 6290 6692 6519 + 33291 6225 6513 6693 6592 + 33292 6693 6225 6592 6519 + 33293 6693 6426 6225 6519 + 33294 6426 6693 6225 6513 + 33295 6226 6509 6283 6330 + 33296 6226 6427 6509 6330 + 33297 6226 6591 6427 6330 + 33298 6228 6294 6429 6520 + 33299 6228 6428 6595 6515 + 33300 6595 6428 6228 6520 + 33301 6228 6520 6429 6595 + 33302 6595 6515 6338 6228 + 33303 6596 6521 6229 6291 + 33304 6229 6422 6596 6338 + 33305 6596 6291 6229 6338 + 33306 6657 6229 6596 6521 + 33307 6657 6596 6229 6422 + 33308 6422 6588 6229 6657 + 33309 6521 6229 6695 6657 + 33310 6657 6588 6229 6695 + 33311 6655 6290 6421 6230 + 33312 6426 6290 6655 6230 + 33313 6695 6590 6230 6655 + 33314 6695 6230 6426 6655 + 33315 6655 6421 6697 6230 + 33316 6590 6230 6655 6697 + 33317 6234 6335 6436 6299 + 33318 6335 6436 6602 6234 + 33319 6235 6299 6439 6603 + 33320 6235 6603 6439 6525 + 33321 6525 6235 6661 6439 + 33322 6527 6437 6298 6236 + 33323 6700 6236 6527 6436 + 33324 6700 6604 6665 6236 + 33325 6700 6665 6437 6236 + 33326 6527 6437 6236 6700 + 33327 6700 6604 6236 6436 + 33328 6608 6237 6526 6435 + 33329 6335 6662 6237 6438 + 33330 6662 6352 6237 6435 + 33331 6237 6662 6608 6438 + 33332 6608 6662 6237 6435 + 33333 6237 6438 6608 6666 + 33334 6526 6237 6666 6336 + 33335 6526 6237 6608 6666 + 33336 6446 6240 6522 6585 + 33337 6240 6585 6293 6522 + 33338 6240 6350 6293 6585 + 33339 6600 6240 6446 6306 + 33340 6446 6660 6240 6585 + 33341 6240 6660 6350 6585 + 33342 6660 6306 6240 6350 + 33343 6660 6446 6240 6306 + 33344 6446 6671 6240 6600 + 33345 6240 6446 6522 6671 + 33346 6240 6432 6671 6339 + 33347 6240 6671 6432 6600 + 33348 6532 6310 6241 6615 + 33349 6434 6241 6674 6532 + 33350 6674 6434 6344 6241 + 33351 6344 6241 6557 6674 + 33352 6709 6674 6241 6532 + 33353 6709 6241 6615 6532 + 33354 6241 6557 6674 6709 + 33355 6241 6444 6557 6709 + 33356 6311 6242 6538 6355 + 33357 6359 6536 6244 6319 + 33358 6318 6244 6359 6536 + 33359 6245 6313 6356 6450 + 33360 6245 6356 6537 6450 + 33361 6367 6247 6543 6458 + 33362 6544 6620 6461 6248 + 33363 6248 6620 6322 6544 + 33364 6621 6249 6542 6456 + 33365 6373 6322 6252 6462 + 33366 6347 6252 6322 6462 + 33367 6373 6322 6545 6252 + 33368 6462 6347 6252 6546 + 33369 6546 6317 6252 6372 + 33370 6546 6252 6317 6347 + 33371 6622 6373 6252 6462 + 33372 6252 6545 6622 6464 + 33373 6622 6464 6372 6252 + 33374 6622 6372 6546 6252 + 33375 6545 6622 6373 6252 + 33376 6462 6252 6622 6546 + 33377 6619 6367 6460 6253 + 33378 6548 6369 6619 6253 + 33379 6619 6460 6548 6253 + 33380 6254 6468 6316 6378 + 33381 6376 6627 6468 6254 + 33382 6254 6376 6627 6315 + 33383 6627 6378 6468 6254 + 33384 6377 6255 6628 6469 + 33385 6256 6553 6629 6384 + 33386 6471 6629 6256 6553 + 33387 6473 6629 6384 6256 + 33388 6258 6630 6386 6471 + 33389 6471 6258 6630 6382 + 33390 6631 6470 6259 6552 + 33391 6470 6631 6259 6387 + 33392 6631 6377 6552 6259 + 33393 6376 6260 6477 6626 + 33394 6449 6345 6392 6261 + 33395 6261 6465 6345 6392 + 33396 6261 6558 6465 6392 + 33397 6346 6677 6558 6261 + 33398 6321 6449 6677 6261 + 33399 6261 6392 6449 6677 + 33400 6346 6321 6677 6261 + 33401 6261 6558 6392 6677 + 33402 6374 6465 6632 6262 + 33403 6464 6262 6632 6375 + 33404 6262 6632 6375 6465 + 33405 6464 6374 6632 6262 + 33406 6319 6345 6263 6452 + 33407 6263 6465 6375 6559 + 33408 6263 6345 6465 6559 + 33409 6559 6345 6452 6263 + 33410 6559 6263 6452 6624 + 33411 6624 6263 6452 6539 + 33412 6624 6559 6263 6375 + 33413 6560 6264 6363 6453 + 33414 6560 6363 6264 6463 + 33415 6375 6547 6265 6482 + 33416 6265 6547 6634 6482 + 33417 6265 6634 6395 6482 + 33418 6265 6466 6395 6634 + 33419 6547 6466 6265 6634 + 33420 6358 6535 6266 6483 + 33421 6270 6487 6635 6389 + 33422 6546 6625 6272 6317 + 33423 6546 6401 6272 6681 + 33424 6401 6272 6681 6569 + 33425 6681 6272 6625 6323 + 33426 6272 6323 6681 6569 + 33427 6546 6272 6625 6681 + 33428 6360 6273 6633 6453 + 33429 6273 6633 6682 6360 + 33430 6682 6273 6360 6454 + 33431 6633 6273 6682 6393 + 33432 6273 6454 6682 6393 + 33433 6275 6362 6572 6457 + 33434 6275 6455 6572 6362 + 33435 6455 6275 6572 6639 + 33436 6455 6361 6275 6639 + 33437 6275 6572 6639 6683 + 33438 6275 6639 6361 6683 + 33439 6275 6572 6683 6457 + 33440 6541 6683 6457 6275 + 33441 6276 6574 6403 6495 + 33442 6574 6496 6276 6403 + 33443 6278 6408 6578 6475 + 33444 6278 6408 6500 6578 + 33445 6278 6406 6578 6500 + 33446 6643 6278 6475 6326 + 33447 6578 6278 6475 6643 + 33448 6643 6578 6278 6406 + 33449 6643 6406 6278 6326 + 33450 6381 6327 6645 6280 + 33451 6381 6645 6551 6280 + 33452 6280 6645 6472 6327 + 33453 6642 6325 6281 6498 + 33454 6281 6644 6504 6576 + 33455 6644 6504 6408 6281 + 33456 6576 6281 6498 6689 + 33457 6689 6408 6504 6281 + 33458 6498 6689 6281 6642 + 33459 6689 6642 6408 6281 + 33460 6281 6504 6689 6576 + 33461 6550 6506 6282 6378 + 33462 6550 6413 6282 6506 + 33463 6506 6407 6581 6282 + 33464 6581 6506 6282 6413 + 33465 6476 6581 6407 6282 + 33466 6550 6413 6646 6282 + 33467 6646 6413 6712 6282 + 33468 6712 6581 6476 6282 + 33469 6581 6282 6712 6413 + 33470 6284 6415 6508 6583 + 33471 6414 6284 6508 6648 + 33472 6416 6284 6584 6648 + 33473 6284 6508 6648 6583 + 33474 6414 6507 6284 6648 + 33475 6584 6648 6284 6507 + 33476 6416 6583 6284 6648 + 33477 6574 6651 6497 6286 + 33478 6574 6410 6651 6286 + 33479 6287 6590 6691 6503 + 33480 6287 6691 6590 6423 + 33481 6497 6288 6654 6404 + 33482 6419 6517 6592 6289 + 33483 6513 6419 6592 6289 + 33484 6289 6510 6694 6330 + 33485 6419 6694 6517 6289 + 33486 6419 6510 6694 6289 + 33487 6330 6517 6694 6289 + 33488 6426 6655 6290 6519 + 33489 6519 6655 6290 6692 + 33490 6692 6655 6290 6421 + 33491 6421 6290 6692 6587 + 33492 6692 6653 6587 6290 + 33493 6338 6596 6291 6515 + 33494 6596 6515 6420 6291 + 33495 6596 6291 6420 6521 + 33496 6291 6650 6420 6521 + 33497 6516 6292 6430 6332 + 33498 6658 6430 6516 6292 + 33499 6292 6516 6658 6588 + 33500 6430 6332 6292 6696 + 33501 6658 6696 6430 6292 + 33502 6351 6292 6332 6696 + 33503 6696 6659 6292 6588 + 33504 6696 6351 6292 6514 + 33505 6696 6292 6658 6588 + 33506 6696 6292 6659 6514 + 33507 6431 6293 6585 6522 + 33508 6336 6294 6523 6429 + 33509 6599 6523 6294 6429 + 33510 6520 6294 6429 6599 + 33511 6334 6353 6391 6296 + 33512 6296 6344 6391 6479 + 33513 6334 6296 6391 6479 + 33514 6580 6406 6502 6297 + 33515 6297 6580 6406 6331 + 33516 6297 6580 6661 6502 + 33517 6297 6661 6390 6502 + 33518 6436 6335 6662 6299 + 33519 6299 6352 6662 6528 + 33520 6663 6529 6299 6439 + 33521 6663 6439 6299 6603 + 33522 6663 6299 6528 6603 + 33523 6699 6299 6662 6528 + 33524 6529 6699 6299 6436 + 33525 6299 6662 6436 6699 + 33526 6663 6529 6699 6299 + 33527 6663 6699 6528 6299 + 33528 6300 6524 6434 6605 + 33529 6701 6605 6665 6300 + 33530 6701 6434 6605 6300 + 33531 6701 6665 6479 6300 + 33532 6300 6479 6701 6434 + 33533 6479 6334 6301 6607 + 33534 6530 6390 6607 6301 + 33535 6390 6607 6301 6334 + 33536 6661 6530 6606 6301 + 33537 6661 6390 6530 6301 + 33538 6530 6301 6607 6702 + 33539 6606 6702 6301 6530 + 33540 6702 6301 6607 6479 + 33541 6326 6302 6501 6354 + 33542 6385 6326 6302 6501 + 33543 6354 6337 6302 6610 + 33544 6354 6610 6302 6501 + 33545 6610 6501 6669 6302 + 33546 6385 6501 6302 6669 + 33547 6385 6302 6476 6669 + 33548 6610 6669 6705 6302 + 33549 6669 6705 6302 6476 + 33550 6407 6705 6302 6337 + 33551 6407 6302 6705 6476 + 33552 6337 6705 6302 6610 + 33553 6460 6337 6303 6704 + 33554 6460 6557 6704 6303 + 33555 6391 6704 6557 6303 + 33556 6305 6367 6582 6458 + 33557 6305 6458 6582 6342 + 33558 6446 6533 6600 6306 + 33559 6533 6428 6600 6306 + 33560 6533 6428 6306 6656 + 33561 6533 6306 6418 6656 + 33562 6446 6533 6306 6660 + 33563 6350 6660 6306 6418 + 33564 6660 6533 6306 6418 + 33565 6612 6343 6310 6672 + 33566 6672 6310 6532 6615 + 33567 6612 6672 6310 6532 + 33568 6311 6355 6538 6313 + 33569 6311 6538 6356 6313 + 33570 6451 6538 6355 6313 + 33571 6313 6451 6675 6617 + 33572 6313 6450 6617 6675 + 33573 6313 6356 6675 6538 + 33574 6313 6675 6451 6538 + 33575 6450 6313 6356 6675 + 33576 6467 6627 6376 6315 + 33577 6546 6372 6625 6317 + 33578 6359 6484 6536 6319 + 33579 6357 6484 6319 6536 + 33580 6562 6452 6319 6359 + 33581 6319 6484 6357 6562 + 33582 6359 6319 6562 6484 + 33583 6452 6319 6345 6562 + 33584 6319 6357 6449 6562 + 33585 6345 6562 6319 6449 + 33586 6320 6555 6480 6346 + 33587 6678 6320 6477 6555 + 33588 6555 6480 6678 6320 + 33589 6321 6616 6358 6486 + 33590 6486 6677 6321 6616 + 33591 6321 6449 6616 6677 + 33592 6544 6370 6490 6322 + 33593 6370 6322 6545 6490 + 33594 6545 6322 6373 6490 + 33595 6373 6620 6322 6462 + 33596 6490 6322 6373 6620 + 33597 6544 6322 6490 6620 + 33598 6348 6492 6561 6323 + 33599 6561 6323 6492 6400 + 33600 6400 6323 6492 6570 + 33601 6681 6625 6466 6323 + 33602 6400 6711 6561 6323 + 33603 6569 6681 6711 6323 + 33604 6466 6561 6711 6323 + 33605 6400 6569 6711 6323 + 33606 6711 6681 6466 6323 + 33607 6481 6571 6402 6324 + 33608 6354 6643 6326 6406 + 33609 6354 6326 6643 6501 + 33610 6475 6385 6686 6326 + 33611 6326 6501 6385 6686 + 33612 6643 6475 6686 6326 + 33613 6326 6643 6501 6686 + 33614 6327 6645 6472 6688 + 33615 6553 6327 6472 6688 + 33616 6327 6688 6381 6645 + 33617 6688 6381 6474 6327 + 33618 6328 6418 6511 6350 + 33619 6649 6349 6512 6328 + 33620 6690 6328 6418 6511 + 33621 6649 6690 6328 6512 + 33622 6328 6690 6418 6512 + 33623 6517 6427 6591 6330 + 33624 6509 6427 6593 6330 + 33625 6517 6427 6330 6593 + 33626 6509 6593 6647 6330 + 33627 6330 6517 6593 6694 + 33628 6330 6593 6647 6694 + 33629 6330 6510 6694 6647 + 33630 6331 6698 6406 6500 + 33631 6589 6411 6331 6698 + 33632 6331 6698 6652 6589 + 33633 6500 6331 6698 6409 + 33634 6698 6331 6580 6411 + 33635 6409 6331 6698 6652 + 33636 6406 6331 6580 6698 + 33637 6516 6332 6430 6352 + 33638 6334 6479 6391 6607 + 33639 6602 6335 6438 6662 + 33640 6662 6335 6436 6602 + 33641 6429 6523 6336 6609 + 33642 6526 6666 6609 6336 + 33643 6336 6667 6429 6609 + 33644 6336 6526 6667 6609 + 33645 6548 6443 6337 6460 + 33646 6354 6442 6337 6610 + 33647 6610 6531 6337 6443 + 33648 6337 6610 6442 6531 + 33649 6337 6443 6670 6460 + 33650 6531 6670 6337 6443 + 33651 6704 6531 6670 6337 + 33652 6704 6670 6460 6337 + 33653 6442 6531 6704 6337 + 33654 6337 6443 6705 6610 + 33655 6548 6705 6407 6337 + 33656 6548 6443 6705 6337 + 33657 6338 6595 6445 6515 + 33658 6445 6601 6338 6715 + 33659 6338 6715 6515 6445 + 33660 6715 6516 6338 6422 + 33661 6715 6338 6515 6596 + 33662 6516 6601 6715 6338 + 33663 6715 6338 6596 6422 + 33664 6534 6448 6342 6582 + 33665 6458 6342 6448 6582 + 33666 6342 6618 6448 6459 + 33667 6342 6448 6618 6458 + 33668 6342 6673 6448 6534 + 33669 6448 6459 6673 6342 + 33670 6344 6557 6391 6674 + 33671 6479 6434 6344 6674 + 33672 6391 6674 6479 6344 + 33673 6392 6559 6345 6452 + 33674 6465 6559 6345 6392 + 33675 6345 6392 6562 6449 + 33676 6452 6345 6392 6562 + 33677 6480 6398 6346 6555 + 33678 6480 6346 6398 6558 + 33679 6558 6398 6677 6346 + 33680 6347 6462 6680 6546 + 33681 6347 6365 6680 6462 + 33682 6586 6419 6513 6349 + 33683 6349 6419 6649 6586 + 33684 6349 6649 6419 6510 + 33685 6349 6649 6512 6586 + 33686 6511 6350 6660 6585 + 33687 6511 6660 6350 6418 + 33688 6352 6703 6430 6516 + 33689 6430 6352 6528 6703 + 33690 6352 6435 6703 6516 + 33691 6528 6352 6662 6713 + 33692 6352 6713 6435 6662 + 33693 6352 6703 6435 6713 + 33694 6703 6713 6352 6528 + 33695 6354 6502 6668 6611 + 33696 6390 6354 6502 6668 + 33697 6611 6354 6442 6668 + 33698 6706 6442 6611 6354 + 33699 6442 6354 6706 6610 + 33700 6354 6706 6610 6501 + 33701 6354 6643 6706 6501 + 33702 6354 6706 6643 6714 + 33703 6502 6611 6354 6714 + 33704 6354 6611 6706 6714 + 33705 6714 6354 6502 6406 + 33706 6714 6643 6354 6406 + 33707 6450 6356 6537 6675 + 33708 6616 6562 6449 6357 + 33709 6617 6536 6484 6357 + 33710 6357 6617 6450 6716 + 33711 6357 6450 6535 6716 + 33712 6357 6716 6616 6562 + 33713 6357 6484 6716 6562 + 33714 6716 6617 6484 6357 + 33715 6535 6357 6716 6616 + 33716 6717 6564 6483 6358 + 33717 6717 6483 6535 6358 + 33718 6486 6358 6564 6717 + 33719 6717 6358 6535 6810 + 33720 6810 6358 6616 6486 + 33721 6717 6486 6358 6810 + 33722 6810 6358 6535 6616 + 33723 6682 6360 6540 6454 + 33724 6568 6494 6361 6639 + 33725 6361 6639 6455 6540 + 33726 6494 6683 6361 6639 + 33727 6454 6361 6719 6568 + 33728 6719 6540 6639 6361 + 33729 6540 6361 6719 6454 + 33730 6719 6361 6639 6568 + 33731 6720 6488 6364 6566 + 33732 6364 6488 6720 6640 + 33733 6618 6721 6456 6364 + 33734 6812 6456 6721 6364 + 33735 6640 6812 6720 6364 + 33736 6541 6640 6364 6812 + 33737 6541 6364 6456 6812 + 33738 6721 6812 6364 6899 + 33739 6721 6364 6618 6899 + 33740 6566 6364 6899 6618 + 33741 6720 6364 6812 6899 + 33742 6566 6364 6720 6899 + 33743 6365 6566 6488 6723 + 33744 6365 6637 6566 6723 + 33745 6365 6488 6573 6723 + 33746 6365 6573 6680 6723 + 33747 6365 6462 6637 6813 + 33748 6637 6813 6723 6365 + 33749 6680 6723 6813 6365 + 33750 6813 6680 6365 6462 + 33751 6721 6366 6542 6621 + 33752 6721 6366 6459 6542 + 33753 6721 6459 6366 6814 + 33754 6721 6366 6621 6814 + 33755 6459 6366 6814 6614 + 33756 6367 6543 6619 6724 + 33757 6367 6582 6724 6460 + 33758 6458 6367 6582 6724 + 33759 6458 6543 6367 6724 + 33760 6619 6460 6367 6724 + 33761 6620 6461 6368 6567 + 33762 6726 6368 6619 6461 + 33763 6489 6368 6817 6567 + 33764 6461 6726 6368 6817 + 33765 6368 6461 6817 6567 + 33766 6368 6489 6902 6679 + 33767 6817 6902 6368 6489 + 33768 6368 6726 6619 6902 + 33769 6368 6817 6726 6902 + 33770 6902 6679 6543 6368 + 33771 6368 6619 6543 6902 + 33772 6619 6707 6369 6548 + 33773 6726 6619 6369 6461 + 33774 6707 6619 6369 6726 + 33775 6707 6369 6549 6726 + 33776 6461 6726 6549 6369 + 33777 6370 6626 6544 6490 + 33778 6545 6623 6370 6710 + 33779 6545 6710 6370 6490 + 33780 6490 6370 6626 6710 + 33781 6457 6371 6722 6541 + 33782 6371 6621 6812 6456 + 33783 6541 6371 6812 6456 + 33784 6371 6722 6541 6900 + 33785 6371 6541 6812 6900 + 33786 7035 6900 6371 6812 + 33787 6812 6371 7035 6621 + 33788 6681 6466 6372 6547 + 33789 6466 6681 6372 6625 + 33790 6681 6372 6625 6546 + 33791 6728 6372 6681 6546 + 33792 6728 6372 6547 6681 + 33793 6728 6546 6622 6372 + 33794 6464 6547 6728 6372 + 33795 6728 6622 6464 6372 + 33796 6490 6373 6567 6620 + 33797 6373 6567 6620 6462 + 33798 6373 6680 6462 6622 + 33799 6622 6680 6729 6373 + 33800 6813 6729 6680 6373 + 33801 6813 6373 6680 6462 + 33802 6462 6813 6373 6567 + 33803 6373 6622 6819 6729 + 33804 6545 6622 6819 6373 + 33805 6373 6819 6905 6729 + 33806 6905 6975 6819 6373 + 33807 6373 6490 6567 6975 + 33808 6545 6819 6975 6373 + 33809 6373 6567 6905 6975 + 33810 6490 6545 6975 6373 + 33811 6813 6729 6373 6976 + 33812 6976 6373 6567 6905 + 33813 6905 6373 6729 6976 + 33814 6373 6813 6976 6567 + 33815 6374 6465 6558 6632 + 33816 6558 6480 6374 6730 + 33817 6730 6480 6374 6623 + 33818 6374 6623 6820 6730 + 33819 6464 6374 6820 6632 + 33820 6374 6464 6820 6623 + 33821 6632 6906 6558 6374 + 33822 6374 6820 6906 6730 + 33823 6632 6820 6906 6374 + 33824 6374 6906 6558 6730 + 33825 6375 6547 6632 6464 + 33826 6482 6731 6559 6375 + 33827 6375 6559 6465 6731 + 33828 6375 6465 6632 6731 + 33829 6547 6977 6482 6375 + 33830 6375 6482 6731 6977 + 33831 6547 6632 6977 6375 + 33832 6375 6731 6632 6977 + 33833 6376 6468 6732 6676 + 33834 6627 6732 6376 6468 + 33835 6676 6477 6822 6376 + 33836 6467 6376 6627 6822 + 33837 6822 6376 6627 6732 + 33838 6376 6732 6822 6676 + 33839 6376 6477 6822 6626 + 33840 6467 6376 6822 6626 + 33841 6469 6628 6377 6552 + 33842 6631 6552 6377 6676 + 33843 6676 6377 6628 6552 + 33844 6549 6627 6378 6506 + 33845 6506 6550 6823 6378 + 33846 6378 6468 6550 6823 + 33847 6506 6823 6627 6378 + 33848 6378 6627 6468 6823 + 33849 6461 6549 6726 6379 + 33850 6727 6461 6379 6544 + 33851 6727 6379 6467 6544 + 33852 6379 6817 6461 6727 + 33853 6379 6817 6726 6461 + 33854 6379 6549 6726 6824 + 33855 6549 6824 6379 6627 + 33856 6907 6467 6727 6379 + 33857 6379 6627 6907 6467 + 33858 6907 6824 6627 6379 + 33859 6907 6727 6979 6379 + 33860 6817 6979 6727 6379 + 33861 6817 7036 6379 6726 + 33862 6726 6379 6824 7036 + 33863 6817 7036 6979 6379 + 33864 6824 6379 6907 7036 + 33865 6907 6979 7036 6379 + 33866 6469 6735 6380 6551 + 33867 6380 6469 6552 6735 + 33868 6380 6552 6470 6735 + 33869 6688 6381 6645 6736 + 33870 6474 6688 6736 6381 + 33871 6381 6825 6469 6551 + 33872 6628 6825 6469 6381 + 33873 6381 6908 6825 6551 + 33874 6908 6551 6381 6645 + 33875 6736 6825 6381 6908 + 33876 6908 6645 6381 6736 + 33877 6825 6736 6381 6909 + 33878 6628 6909 6825 6381 + 33879 6628 6909 6381 6474 + 33880 6474 6736 6909 6381 + 33881 6553 6382 6471 6630 + 33882 6472 6382 6553 6737 + 33883 6737 6382 6553 6630 + 33884 6471 6577 6383 6629 + 33885 6629 6383 6738 6577 + 33886 6554 6738 6473 6383 + 33887 6383 6642 6738 6577 + 33888 6554 6642 6738 6383 + 33889 6383 6473 6629 6738 + 33890 6473 6629 6738 6384 + 33891 6827 6738 6629 6384 + 33892 6629 6384 6553 6827 + 33893 6384 6827 6505 6553 + 33894 6384 6740 6829 6712 + 33895 6829 6473 6738 6384 + 33896 6384 6829 6473 6712 + 33897 6646 6384 6830 6505 + 33898 6384 6830 6712 6646 + 33899 6830 6712 6740 6384 + 33900 6384 6740 6830 6912 + 33901 6740 6829 6912 6384 + 33902 6384 6827 6912 6505 + 33903 6827 6912 6738 6384 + 33904 6384 6830 6505 6912 + 33905 6829 6738 6912 6384 + 33906 6385 6686 6554 6475 + 33907 6473 6385 6686 6554 + 33908 6669 6686 6385 6501 + 33909 6385 6476 6712 6669 + 33910 6385 6712 6686 6669 + 33911 6385 6473 6686 6712 + 33912 6577 6386 6630 6471 + 33913 6630 6742 6386 6577 + 33914 6831 6386 6742 6577 + 33915 6498 6386 6575 6831 + 33916 6498 6577 6386 6831 + 33917 6478 6556 6387 6743 + 33918 6478 6387 6631 6743 + 33919 6387 6743 6826 6631 + 33920 6470 6387 6826 6631 + 33921 6678 6477 6388 6555 + 33922 6388 6477 6678 6822 + 33923 6676 6477 6388 6822 + 33924 6631 6478 6832 6388 + 33925 6910 6388 6832 6744 + 33926 6631 6388 6832 6910 + 33927 6388 6910 6631 6676 + 33928 6388 6822 6678 6915 + 33929 6555 6478 6388 6982 + 33930 6555 6388 6678 6982 + 33931 6915 6388 6744 6982 + 33932 6478 6832 6388 6982 + 33933 6832 6744 6388 6982 + 33934 6915 6678 6388 6982 + 33935 6915 6388 7038 6744 + 33936 6388 7038 6822 6915 + 33937 6676 6388 7038 6822 + 33938 6676 7038 6388 6910 + 33939 6388 7038 6744 6910 + 33940 6389 6556 6478 6635 + 33941 6635 6478 6389 6745 + 33942 6555 6745 6389 6478 + 33943 6389 6833 6745 6555 + 33944 6636 6833 6389 6555 + 33945 6636 6833 6983 6389 + 33946 6389 6636 6487 6983 + 33947 6745 6833 6389 6983 + 33948 6389 6745 6983 6635 + 33949 6389 6487 6635 6983 + 33950 6607 6390 6530 6668 + 33951 6502 6747 6390 6668 + 33952 6668 6747 6390 6530 + 33953 6747 6502 6390 6661 + 33954 6747 6390 6530 6661 + 33955 6479 6674 6391 6748 + 33956 6674 6557 6391 6748 + 33957 6557 6704 6391 6748 + 33958 6607 6391 6748 6479 + 33959 6607 6748 6391 6704 + 33960 6616 6392 6449 6562 + 33961 6449 6677 6392 6616 + 33962 6616 6718 6677 6392 + 33963 6392 6558 6465 6731 + 33964 6465 6731 6559 6392 + 33965 6616 6810 6392 6562 + 33966 6616 6810 6718 6392 + 33967 6836 6718 6392 6677 + 33968 6392 6836 6558 6731 + 33969 6836 6558 6677 6392 + 33970 6633 6481 6393 6751 + 33971 6811 6570 6492 6393 + 33972 6393 6811 6454 6682 + 33973 6811 6492 6750 6393 + 33974 6570 6811 6454 6393 + 33975 6393 6492 6750 6838 + 33976 6393 6481 6571 6838 + 33977 6393 6571 6492 6838 + 33978 6393 6481 6838 6751 + 33979 6919 6811 6393 6682 + 33980 6633 6682 6919 6393 + 33981 6393 6811 6919 6750 + 33982 6633 6393 6919 6751 + 33983 6393 6750 6919 6838 + 33984 6393 6838 6919 6751 + 33985 6634 6395 6561 6466 + 33986 6483 6396 6717 6535 + 33987 6450 6396 6535 6809 + 33988 6450 6537 6396 6809 + 33989 6396 6717 6535 6898 + 33990 6535 6809 6396 6898 + 33991 6746 6398 6555 6636 + 33992 6480 6746 6398 6555 + 33993 6558 6836 6677 6398 + 33994 6837 6480 6398 6558 + 33995 6837 6480 6746 6398 + 33996 6398 6836 6677 6918 + 33997 6677 6918 6636 6398 + 33998 6984 6836 6558 6398 + 33999 6398 6984 6836 6918 + 34000 6558 6837 6984 6398 + 34001 6837 6398 6746 7040 + 34002 6636 6398 7040 6746 + 34003 7040 6984 6837 6398 + 34004 7040 6918 6984 6398 + 34005 7040 6636 6918 6398 + 34006 6486 6840 6564 6399 + 34007 6486 6565 6840 6399 + 34008 6491 6569 6754 6400 + 34009 6754 6491 6400 6568 + 34010 6754 6400 6811 6568 + 34011 6400 6570 6811 6454 + 34012 6492 6400 6570 6811 + 34013 6568 6400 6811 6454 + 34014 6561 6711 6400 6920 + 34015 6561 6492 6920 6400 + 34016 6492 6920 6400 6811 + 34017 6754 6400 6569 6987 + 34018 6811 6400 6754 6987 + 34019 6811 6920 6400 6987 + 34020 6711 6920 6987 6400 + 34021 6711 6400 6987 6569 + 34022 6569 6755 6401 6684 + 34023 6684 6755 6401 6573 + 34024 6401 6573 6755 6844 + 34025 6401 6680 6573 6844 + 34026 6546 6401 6681 6904 + 34027 6680 6844 6401 6904 + 34028 6680 6904 6401 6546 + 34029 6926 6401 6681 6569 + 34030 6401 6926 6755 6569 + 34031 6988 6904 6401 6844 + 34032 6988 6401 6755 6844 + 34033 6755 6926 6401 6988 + 34034 6681 7046 6904 6401 + 34035 6401 6904 6988 7046 + 34036 6681 6926 7046 6401 + 34037 6401 6988 6926 7046 + 34038 6481 6751 6638 6402 + 34039 6481 6571 6838 6402 + 34040 6481 6838 6751 6402 + 34041 6496 6403 6757 6685 + 34042 6403 6757 6495 6574 + 34043 6403 6574 6496 6757 + 34044 6574 6848 6495 6404 + 34045 6404 6848 6654 6497 + 34046 6574 6497 6848 6404 + 34047 6576 6498 6405 6689 + 34048 6405 6831 6498 6575 + 34049 6405 6499 6831 6575 + 34050 6405 6758 6849 6689 + 34051 6849 6576 6405 6689 + 34052 6930 6405 6849 6759 + 34053 6499 6831 6930 6405 + 34054 6930 6499 6405 6759 + 34055 6849 6930 6758 6405 + 34056 6405 6930 6758 6831 + 34057 6405 6992 6498 6831 + 34058 6405 6758 6992 6831 + 34059 6498 6689 6992 6405 + 34060 6405 6992 6758 6689 + 34061 6849 6405 6576 6993 + 34062 6499 6759 6993 6405 + 34063 6576 6641 6993 6405 + 34064 6499 6993 6641 6405 + 34065 6849 6993 6759 6405 + 34066 6406 6578 6500 6698 + 34067 6406 6578 6698 6714 + 34068 6714 6406 6578 6643 + 34069 6698 6406 6714 6851 + 34070 6502 6714 6406 6851 + 34071 6580 6851 6502 6406 + 34072 6580 6698 6851 6406 + 34073 6581 6476 6407 6705 + 34074 6581 6506 6707 6407 + 34075 6407 6734 6707 6581 + 34076 6407 6705 6734 6581 + 34077 6407 6548 6734 6705 + 34078 6548 6734 6707 6407 + 34079 6741 6578 6408 6475 + 34080 6741 6554 6475 6408 + 34081 6761 6500 6644 6408 + 34082 6761 6578 6500 6408 + 34083 6504 6761 6644 6408 + 34084 6852 6578 6761 6408 + 34085 6852 6689 6408 6504 + 34086 6741 6852 6408 6578 + 34087 6504 6852 6761 6408 + 34088 6408 6913 6642 6689 + 34089 6642 6913 6408 6554 + 34090 6554 6913 6408 6741 + 34091 6408 6689 6852 6913 + 34092 6741 6913 6408 6852 + 34093 6500 6409 6698 6652 + 34094 6500 6409 6652 6761 + 34095 6579 6644 6761 6409 + 34096 6579 6761 6652 6409 + 34097 6644 6409 6500 6761 + 34098 6410 6687 6598 6503 + 34099 6651 6598 6410 6929 + 34100 6410 6496 6574 6929 + 34101 6496 6410 6687 6929 + 34102 6410 6574 6651 6929 + 34103 6410 6687 6929 6598 + 34104 6698 6580 6764 6411 + 34105 6411 6764 6589 6525 + 34106 6525 6580 6411 6764 + 34107 6589 6764 6411 6698 + 34108 6412 6688 6736 6474 + 34109 6412 6646 6474 6739 + 34110 6412 6911 6688 6505 + 34111 6911 6998 6412 6767 + 34112 6767 6998 6412 6857 + 34113 6739 6998 6412 6646 + 34114 6739 6857 6412 6998 + 34115 6998 6505 6911 6412 + 34116 6646 6412 6505 6998 + 34117 6736 7037 6857 6412 + 34118 6739 6857 7037 6412 + 34119 6412 7037 6739 6474 + 34120 6474 6736 6412 7037 + 34121 6412 6688 7050 6736 + 34122 6412 7050 6767 6857 + 34123 7050 6688 6412 6911 + 34124 6911 6412 7050 6767 + 34125 6412 7050 6857 6736 + 34126 6550 6823 6413 6506 + 34127 6646 6413 6823 6739 + 34128 6550 6646 6413 6823 + 34129 6830 6413 6712 6646 + 34130 6823 6413 6935 6739 + 34131 6935 6413 6859 6739 + 34132 6935 6413 6506 6581 + 34133 6935 6768 6859 6413 + 34134 6935 6823 6506 6413 + 34135 6413 6935 6768 6581 + 34136 6712 6936 6413 6830 + 34137 6413 6768 6936 6581 + 34138 6936 6859 6768 6413 + 34139 6581 6413 6712 6936 + 34140 6413 6739 6998 6859 + 34141 6646 6998 6830 6413 + 34142 6739 6413 6998 6646 + 34143 6413 6859 6998 6936 + 34144 6413 6998 6830 6936 + 34145 6507 6769 6648 6414 + 34146 6508 6648 6769 6414 + 34147 6415 6583 6770 6508 + 34148 6509 6862 6415 6583 + 34149 6415 6862 6770 6583 + 34150 6416 6649 6771 6584 + 34151 6647 6771 6416 6510 + 34152 6416 6771 6649 6510 + 34153 6937 6648 6583 6416 + 34154 6937 6416 6583 6647 + 34155 6937 6771 6416 6647 + 34156 6648 6584 6416 6999 + 34157 6937 6999 6648 6416 + 34158 6584 6771 6416 6999 + 34159 6999 6416 6937 6771 + 34160 6584 6690 6774 6417 + 34161 6860 6417 6507 6584 + 34162 6774 6584 6417 6860 + 34163 6585 6511 6417 6864 + 34164 6417 6864 6775 6585 + 34165 6417 6774 6864 6690 + 34166 6417 6864 6511 6690 + 34167 6774 6417 6942 6860 + 34168 6864 6417 6775 6942 + 34169 6864 6774 6417 6942 + 34170 6533 6418 6776 6656 + 34171 6418 6776 6511 6660 + 34172 6418 6533 6776 6660 + 34173 6511 6418 6690 6776 + 34174 6690 6418 6866 6776 + 34175 6776 6656 6418 6866 + 34176 6512 6866 6418 6656 + 34177 6512 6418 6866 6690 + 34178 6778 6694 6517 6419 + 34179 6419 6778 6592 6517 + 34180 6513 6419 6867 6592 + 34181 6586 6513 6419 6867 + 34182 6778 6419 6592 6867 + 34183 6649 6419 6510 6938 + 34184 6419 6510 6938 6694 + 34185 6867 6938 6419 6586 + 34186 6649 6586 6419 6938 + 34187 6694 6419 6778 6938 + 34188 6419 6778 6938 6867 + 34189 6420 6512 6594 6777 + 34190 6420 6586 6512 6777 + 34191 6420 6515 6596 6779 + 34192 6420 6515 6779 6594 + 34193 6521 6596 6779 6420 + 34194 6777 6868 6594 6420 + 34195 6420 6779 6868 6594 + 34196 6944 6868 6420 6779 + 34197 6586 6777 6420 6944 + 34198 6420 6650 6944 6521 + 34199 6420 6650 6586 6944 + 34200 6777 6944 6868 6420 + 34201 6420 6944 6779 6521 + 34202 6421 6763 6697 6598 + 34203 6870 6421 6587 6651 + 34204 6598 6870 6651 6421 + 34205 6421 6692 6870 6587 + 34206 6697 6763 6421 6871 + 34207 6697 6421 6655 6871 + 34208 6870 6598 6933 6421 + 34209 6421 6933 6763 6598 + 34210 7004 6421 6870 6933 + 34211 6692 7004 6655 6421 + 34212 6933 7004 6421 6763 + 34213 6763 6871 7004 6421 + 34214 7004 6421 6692 6870 + 34215 6655 7004 6871 6421 + 34216 6422 6658 6516 6588 + 34217 6422 6715 6516 6658 + 34218 6422 6657 6596 6779 + 34219 6422 6784 6588 6657 + 34220 6784 6588 6658 6422 + 34221 6596 6779 6874 6422 + 34222 6596 6874 6715 6422 + 34223 6422 6657 6947 6784 + 34224 6947 6874 6779 6422 + 34225 6422 6947 6657 6779 + 34226 6422 6784 6947 6874 + 34227 6948 6784 6422 6874 + 34228 6784 6948 6422 6658 + 34229 6948 6715 6422 6658 + 34230 6422 6874 6715 6948 + 34231 6514 6423 6659 6782 + 34232 6782 6589 6514 6423 + 34233 6782 6950 6589 6423 + 34234 6589 6423 6950 6652 + 34235 6691 6950 6423 6652 + 34236 6590 6423 6691 7006 + 34237 6691 6423 6950 7006 + 34238 6423 6950 7006 6782 + 34239 6423 7006 6659 6782 + 34240 6590 6659 6423 7006 + 34241 6654 6587 6872 6424 + 34242 6653 6872 6587 6424 + 34243 6872 6518 6424 6653 + 34244 6425 6785 6591 6517 + 34245 6785 6591 6518 6425 + 34246 6786 6425 6518 6653 + 34247 6786 6692 6425 6653 + 34248 6517 6592 6425 6877 + 34249 6517 6877 6425 6785 + 34250 6518 6951 6425 6786 + 34251 6785 6518 6951 6425 + 34252 6951 6425 6877 6785 + 34253 6786 6425 6692 7009 + 34254 6519 6692 6425 7009 + 34255 6425 6951 7009 6786 + 34256 6877 7009 6425 6951 + 34257 6877 6425 7009 6592 + 34258 6519 7009 6425 6592 + 34259 6650 6597 6426 6693 + 34260 6513 6650 6426 6693 + 34261 6695 6655 6426 6597 + 34262 6693 6597 6426 6787 + 34263 6787 6519 6655 6426 + 34264 6787 6693 6519 6426 + 34265 6655 6426 6597 6787 + 34266 6785 6517 6427 6591 + 34267 6517 6785 6427 7008 + 34268 6517 6427 6593 7008 + 34269 6515 6428 6783 6594 + 34270 6600 6789 6428 6533 + 34271 6595 6873 6428 6520 + 34272 6515 6783 6428 6873 + 34273 6515 6428 6595 6873 + 34274 6880 6533 6428 6789 + 34275 6594 6880 6656 6428 + 34276 6880 6428 6533 6656 + 34277 6594 6783 6880 6428 + 34278 6520 6600 6955 6428 + 34279 6955 6789 6880 6428 + 34280 6428 6955 6783 6880 + 34281 6428 6873 6783 6955 + 34282 6955 6428 6873 6520 + 34283 6600 6789 6955 6428 + 34284 6429 6595 6520 6790 + 34285 6595 6429 6667 6790 + 34286 6520 6790 6881 6429 + 34287 6429 6881 6523 6609 + 34288 6599 6881 6523 6429 + 34289 6881 6520 6429 6599 + 34290 6609 6429 6881 6667 + 34291 6667 6429 6881 6790 + 34292 6658 6703 6516 6430 + 34293 6430 6792 6528 6603 + 34294 6792 6703 6430 6528 + 34295 6792 6696 6430 6658 + 34296 6696 6792 6430 6603 + 34297 6658 6792 6703 6430 + 34298 6585 6431 6522 6865 + 34299 6613 6522 6431 6865 + 34300 6600 6432 6882 6671 + 34301 6882 6432 6600 6789 + 34302 6789 6432 6600 6955 + 34303 6520 6432 6955 6600 + 34304 6520 6599 7012 6432 + 34305 6955 7012 6432 6520 + 34306 7059 7012 6432 6955 + 34307 6882 7059 6432 6789 + 34308 6789 7059 6432 6955 + 34309 6479 6701 6434 6674 + 34310 6434 6794 6524 6612 + 34311 6434 6532 6794 6612 + 34312 6524 6794 6434 6605 + 34313 6701 6434 6794 6605 + 34314 6701 6960 6794 6434 + 34315 6434 6960 6794 6532 + 34316 6701 6960 6434 6674 + 34317 6960 6434 6674 6532 + 34318 6516 6601 6435 6703 + 34319 6662 6713 6435 6608 + 34320 6713 6526 6435 6608 + 34321 6435 6713 6796 6526 + 34322 6435 6796 6884 6526 + 34323 6884 6526 6601 6435 + 34324 6435 6796 6713 6885 + 34325 6885 6435 6703 6713 + 34326 6884 6601 7016 6435 + 34327 6796 7016 6435 6884 + 34328 6885 6435 6796 7016 + 34329 6885 6703 6435 7016 + 34330 6435 6601 7016 6703 + 34331 6662 6436 6699 6602 + 34332 6529 6436 6604 6700 + 34333 6797 6699 6436 6602 + 34334 6527 6797 6700 6436 + 34335 6797 6436 6527 6602 + 34336 6529 6797 6436 6700 + 34337 6797 6436 6699 6529 + 34338 6437 6700 6798 6665 + 34339 6605 6437 6798 6665 + 34340 6438 6662 6608 6887 + 34341 6602 6438 6887 6662 + 34342 6525 6661 6606 6439 + 34343 6606 6795 6439 6664 + 34344 6795 6606 6439 6525 + 34345 6525 6439 6795 6883 + 34346 6603 6439 6525 6883 + 34347 6529 6664 6439 6965 + 34348 6439 6795 6965 6664 + 34349 6529 6439 6663 6965 + 34350 6965 6663 7060 6439 + 34351 6439 7060 6603 6663 + 34352 6965 7060 6795 6439 + 34353 6883 7060 6603 6439 + 34354 6883 6795 7060 6439 + 34355 6440 6589 6764 6525 + 34356 6514 6440 6589 6782 + 34357 6440 6782 6514 6696 + 34358 6883 6525 6603 6440 + 34359 6957 6782 6440 6696 + 34360 6696 6440 6957 6603 + 34361 6883 6603 6957 6440 + 34362 6525 6961 6764 6440 + 34363 6961 6525 6883 6440 + 34364 7007 6440 6782 6589 + 34365 7007 6589 6764 6440 + 34366 6440 6883 6961 7007 + 34367 7007 6440 6883 6957 + 34368 7007 6440 6957 6782 + 34369 6764 7007 6440 6961 + 34370 6530 6441 6606 6702 + 34371 6530 6749 6441 6702 + 34372 6702 6749 6441 6665 + 34373 6664 6441 6800 6604 + 34374 6606 6890 6664 6441 + 34375 6890 6664 6441 6800 + 34376 6441 6966 6800 6604 + 34377 6441 6606 6967 6530 + 34378 6606 6967 6890 6441 + 34379 6441 7019 6966 6604 + 34380 6665 7019 6441 6604 + 34381 6441 6665 6749 7019 + 34382 6966 6441 7020 6802 + 34383 7020 6966 6800 6441 + 34384 6441 6967 6890 7020 + 34385 6890 6800 6441 7020 + 34386 6966 7061 6441 6802 + 34387 6441 7019 7061 6966 + 34388 7061 7019 6441 6749 + 34389 7061 6441 7077 6749 + 34390 7020 6441 6967 7077 + 34391 6441 7020 6802 7077 + 34392 7077 6441 7061 6802 + 34393 6530 6967 6441 7077 + 34394 6749 6441 7077 6530 + 34395 6611 6706 6804 6442 + 34396 6442 6610 6706 6804 + 34397 6804 6442 6610 6531 + 34398 6668 6442 6893 6704 + 34399 6531 6442 6704 6893 + 34400 6442 6893 6531 6804 + 34401 6611 6804 7022 6442 + 34402 6611 6442 7022 6668 + 34403 6804 7022 6442 6893 + 34404 7022 6442 6893 6668 + 34405 6443 6734 6548 6705 + 34406 6816 6670 6443 6460 + 34407 6816 6443 6548 6460 + 34408 6443 6670 6816 6806 + 34409 6734 6443 6548 6816 + 34410 6610 6443 6705 6858 + 34411 6858 6705 6734 6443 + 34412 6610 6969 6531 6443 + 34413 6610 6969 6443 6858 + 34414 7025 6443 6806 6670 + 34415 6531 6443 6969 7025 + 34416 7025 6531 6443 6670 + 34417 6806 6969 6443 7025 + 34418 7063 6816 6806 6443 + 34419 6806 7063 6443 6969 + 34420 6858 6443 7063 6969 + 34421 7063 6816 6443 6734 + 34422 6443 6734 6858 7063 + 34423 6460 6557 6444 6670 + 34424 6460 6444 6724 6670 + 34425 6582 6444 6534 6724 + 34426 6582 6460 6444 6724 + 34427 6709 6444 6557 6834 + 34428 6670 6557 6444 6834 + 34429 6709 6444 6834 6970 + 34430 6670 6444 6970 6834 + 34431 6970 6724 6444 6670 + 34432 6709 6534 6444 6970 + 34433 6444 6970 6534 6724 + 34434 6595 6667 6445 6790 + 34435 6515 6595 6445 6873 + 34436 6445 6790 6873 6595 + 34437 6884 6667 6445 6601 + 34438 6515 6445 6946 6873 + 34439 6946 6445 6515 6715 + 34440 6445 7016 6601 6715 + 34441 6946 7016 6445 6715 + 34442 6884 6445 7016 6601 + 34443 6790 7024 6667 6445 + 34444 6884 6667 7024 6445 + 34445 6946 6873 6445 7030 + 34446 6445 6873 6790 7030 + 34447 6445 6790 7066 7030 + 34448 6946 6445 7066 7030 + 34449 6790 7066 7024 6445 + 34450 6884 7024 7066 6445 + 34451 7066 7016 6445 6946 + 34452 7066 6445 7016 6884 + 34453 6446 6585 6775 6660 + 34454 6793 6446 6600 6671 + 34455 6793 6446 6533 6600 + 34456 6446 6522 6671 6943 + 34457 6943 6671 6446 6793 + 34458 6775 6446 6943 6585 + 34459 6446 6522 6943 6585 + 34460 6533 6959 6660 6446 + 34461 6446 6660 6775 6959 + 34462 6959 6793 6446 6533 + 34463 6446 6943 7032 6775 + 34464 6793 6943 7032 6446 + 34465 6446 6775 7032 6959 + 34466 7032 6446 6959 6793 + 34467 6673 6615 6447 6708 + 34468 6708 6901 6897 6447 + 34469 6447 6901 6614 6708 + 34470 6897 6708 6447 6972 + 34471 6972 6447 6615 6708 + 34472 6972 6447 6672 6615 + 34473 6566 6618 6448 6458 + 34474 6566 6448 6679 6458 + 34475 6448 6673 6459 6708 + 34476 6448 6459 6725 6708 + 34477 6708 6808 6448 6673 + 34478 6808 6534 6448 6673 + 34479 6448 6815 6534 6808 + 34480 6582 6534 6448 6815 + 34481 6448 6815 6679 6458 + 34482 6582 6448 6458 6815 + 34483 6448 6618 6899 6459 + 34484 6448 6899 6725 6459 + 34485 6899 6618 6448 6566 + 34486 6448 6808 6708 6924 + 34487 6448 6708 6725 6924 + 34488 6448 6924 6815 6808 + 34489 6679 6815 6448 6924 + 34490 6924 6448 7042 6725 + 34491 7042 6899 6448 6566 + 34492 6725 7042 6899 6448 + 34493 6679 6448 7042 6924 + 34494 7042 6679 6566 6448 + 34495 6809 6450 6617 6716 + 34496 6675 6450 6617 6809 + 34497 6675 6537 6450 6809 + 34498 6809 6535 6450 6716 + 34499 6540 6719 6682 6454 + 34500 6811 6454 6682 6719 + 34501 6568 6719 6454 6811 + 34502 6621 6542 6721 6456 + 34503 6721 6542 6618 6456 + 34504 6721 6456 6812 6621 + 34505 6722 6572 6457 6683 + 34506 6457 6722 6683 6541 + 34507 6543 6458 6679 6724 + 34508 6815 6458 6724 6679 + 34509 6458 6724 6582 6815 + 34510 6721 6618 6542 6459 + 34511 6899 6618 6721 6459 + 34512 6901 6814 6459 6725 + 34513 6814 6614 6901 6459 + 34514 6614 6708 6901 6459 + 34515 6459 6725 6708 6901 + 34516 6721 6973 6459 6814 + 34517 6814 6973 6459 6725 + 34518 6899 6721 6973 6459 + 34519 6725 6973 6459 6899 + 34520 6670 6704 6460 6557 + 34521 6670 6724 6460 6816 + 34522 6619 6816 6460 6724 + 34523 6816 6548 6619 6460 + 34524 6727 6620 6461 6544 + 34525 6727 6461 6620 6567 + 34526 6727 6817 6461 6567 + 34527 6622 6680 6462 6546 + 34528 6462 6637 6813 6567 + 34529 6632 6547 6728 6464 + 34530 6819 6622 6545 6464 + 34531 6464 6819 6622 6728 + 34532 6632 6820 6464 6728 + 34533 6903 6820 6728 6464 + 34534 6903 6728 6819 6464 + 34535 6903 6820 6464 6623 + 34536 6464 6623 6545 6903 + 34537 6464 6545 6819 6903 + 34538 6632 6558 6731 6465 + 34539 6547 6681 6466 6634 + 34540 6466 6634 6681 6711 + 34541 6466 6561 6634 6711 + 34542 6626 6818 6733 6467 + 34543 6626 6544 6818 6467 + 34544 6818 6467 6544 6727 + 34545 6467 6822 6733 6626 + 34546 6818 6907 6467 6727 + 34547 6467 6627 6907 6822 + 34548 6907 6822 6733 6467 + 34549 6907 6467 6733 6818 + 34550 6628 6732 6468 6676 + 34551 6468 6628 6823 6732 + 34552 6550 6628 6823 6468 + 34553 6468 6823 6627 6732 + 34554 6469 6735 6825 6552 + 34555 6825 6469 6551 6735 + 34556 6628 6552 6469 6825 + 34557 6735 6552 6470 6826 + 34558 6631 6470 6552 6826 + 34559 6827 6577 6630 6471 + 34560 6553 6471 6827 6630 + 34561 6471 6827 6629 6553 + 34562 6471 6827 6577 6629 + 34563 6737 6472 6828 6553 + 34564 6828 6472 6645 6688 + 34565 6553 6472 6828 6688 + 34566 6738 6554 6473 6829 + 34567 6686 6473 6554 6829 + 34568 6473 6712 6829 6686 + 34569 6646 6823 6474 6739 + 34570 6474 6550 6628 6823 + 34571 6550 6474 6646 6823 + 34572 6474 6628 6909 6823 + 34573 7037 6823 6739 6474 + 34574 6474 6909 6736 7037 + 34575 7037 6909 6823 6474 + 34576 6475 6741 6686 6554 + 34577 6643 6686 6475 6741 + 34578 6643 6475 6578 6741 + 34579 6581 6669 6476 6705 + 34580 6476 6581 6712 6669 + 34581 6678 6477 6626 6822 + 34582 6832 6743 6478 6631 + 34583 6832 6916 6478 6743 + 34584 6635 6916 6478 6745 + 34585 6916 6478 6556 6635 + 34586 6556 6916 6743 6478 + 34587 6478 6745 6916 6832 + 34588 6555 6982 6745 6478 + 34589 6982 6745 6478 6832 + 34590 6479 6749 6665 6701 + 34591 6665 6702 6749 6479 + 34592 6702 6607 6749 6479 + 34593 6701 6674 6479 6835 + 34594 6479 6835 6674 6748 + 34595 6479 6835 6749 6701 + 34596 6748 6479 6835 6607 + 34597 6607 6479 6835 6749 + 34598 6730 6710 6678 6480 + 34599 6730 6710 6480 6623 + 34600 6746 6480 6678 6555 + 34601 6746 6678 6480 6837 + 34602 6678 6480 6837 6730 + 34603 6837 6730 6480 6558 + 34604 6481 6751 6633 6560 + 34605 6751 6560 6481 6638 + 34606 6977 6482 6634 6547 + 34607 6486 6718 6677 6616 + 34608 6616 6810 6486 6718 + 34609 6486 6564 6840 6717 + 34610 6636 6486 6565 6918 + 34611 6918 6486 6718 6677 + 34612 6918 6636 6486 6677 + 34613 6486 6717 6840 6985 + 34614 6486 6810 6717 6985 + 34615 6810 6718 6985 6486 + 34616 6486 7041 6718 6985 + 34617 6918 6486 6565 7041 + 34618 6918 6718 6486 7041 + 34619 6486 6840 7041 6985 + 34620 6840 6565 6486 7041 + 34621 6487 6636 6565 6752 + 34622 6752 6487 6636 6983 + 34623 6566 6720 6488 6842 + 34624 6488 6566 6842 6723 + 34625 6922 6573 6488 6723 + 34626 6640 6922 6573 6488 + 34627 6720 6842 6922 6488 + 34628 6640 6720 6922 6488 + 34629 6842 6488 6723 6922 + 34630 6567 6489 6637 6813 + 34631 6753 6489 6679 6902 + 34632 6489 6923 6753 6679 + 34633 6489 6813 6923 6637 + 34634 6679 6489 6923 6637 + 34635 6976 6813 6923 6489 + 34636 6567 6976 6489 6813 + 34637 6976 6567 6489 7044 + 34638 6489 7044 6567 6817 + 34639 6489 6843 6753 7070 + 34640 6976 7044 6489 7070 + 34641 7070 6976 6923 6489 + 34642 7070 6923 6753 6489 + 34643 6489 7044 6843 7070 + 34644 6489 7071 6753 6843 + 34645 6753 7071 6489 6902 + 34646 6489 7071 7044 6817 + 34647 7044 7071 6489 6843 + 34648 7071 6902 6817 6489 + 34649 6620 6567 6490 6727 + 34650 6620 6490 6544 6727 + 34651 6818 6544 6626 6490 + 34652 6544 6818 6727 6490 + 34653 6490 6626 6818 6710 + 34654 6567 6727 6975 6490 + 34655 6727 6818 6975 6490 + 34656 6490 6975 6545 6710 + 34657 6490 6818 6975 6710 + 34658 6754 6684 6491 6568 + 34659 6569 6491 6754 6684 + 34660 6920 6492 6750 6811 + 34661 6568 6754 6684 6494 + 34662 6845 6494 6754 6568 + 34663 6568 6845 6494 6639 + 34664 6847 6494 6683 6640 + 34665 6927 6845 6639 6494 + 34666 6494 6927 6683 6639 + 34667 6683 6847 6927 6494 + 34668 6756 6927 6847 6494 + 34669 6927 6756 6845 6494 + 34670 6754 6928 6684 6494 + 34671 6756 6847 6990 6494 + 34672 6494 6928 6990 6756 + 34673 6684 6990 6494 6928 + 34674 6847 6990 6494 6640 + 34675 6684 6990 6640 6494 + 34676 6494 6991 6754 6928 + 34677 6845 6991 6754 6494 + 34678 6845 6756 6991 6494 + 34679 6494 6756 6991 6928 + 34680 6495 6757 6848 6574 + 34681 6496 6757 6641 6685 + 34682 6496 6687 6641 6929 + 34683 6496 6641 6757 6929 + 34684 6496 6757 6574 6929 + 34685 6654 6497 6848 6587 + 34686 6574 6848 6497 6651 + 34687 6651 6848 6497 6587 + 34688 6498 6992 6689 6642 + 34689 6577 6831 6498 6992 + 34690 6498 6992 6642 6577 + 34691 6641 6499 6685 6850 + 34692 6850 6759 6993 6499 + 34693 6641 6993 6499 6850 + 34694 6578 6853 6500 6698 + 34695 6761 6652 6500 6853 + 34696 6761 6500 6578 6853 + 34697 6500 6698 6853 6652 + 34698 6669 6610 6706 6501 + 34699 6501 6686 6643 6932 + 34700 6706 6932 6669 6501 + 34701 6501 6669 6686 6932 + 34702 6706 6643 6932 6501 + 34703 6580 6502 6747 6661 + 34704 6747 6714 6611 6502 + 34705 6611 6747 6502 6668 + 34706 6747 6851 6502 6580 + 34707 6747 6851 6714 6502 + 34708 6697 6763 6503 6598 + 34709 6590 6697 6763 6503 + 34710 6590 6763 6691 6503 + 34711 6691 6854 6579 6503 + 34712 6691 6763 6854 6503 + 34713 6503 6687 6854 6579 + 34714 6854 6763 6933 6503 + 34715 6687 6503 6854 6933 + 34716 6687 6598 6503 6933 + 34717 6933 6503 6763 6598 + 34718 6689 6504 6760 6576 + 34719 6644 6504 6760 6579 + 34720 6644 6760 6504 6576 + 34721 6644 6761 6504 6579 + 34722 6579 6760 6934 6504 + 34723 6579 6934 6761 6504 + 34724 6934 6504 6852 6761 + 34725 6504 6689 6997 6852 + 34726 6760 6689 6997 6504 + 34727 6760 6997 6934 6504 + 34728 6504 6997 6934 6852 + 34729 6856 6911 6505 6766 + 34730 6766 6505 6827 6911 + 34731 6911 6553 6505 6827 + 34732 6505 6911 6688 6553 + 34733 6505 6912 6766 6827 + 34734 6856 6505 6912 6766 + 34735 6998 6505 6912 6856 + 34736 6998 6911 6505 6856 + 34737 6998 6505 6830 6912 + 34738 6646 6505 6830 6998 + 34739 6549 6824 6627 6506 + 34740 6707 6549 6506 6824 + 34741 6978 6823 6627 6506 + 34742 6823 6978 6935 6506 + 34743 6824 6506 6935 6978 + 34744 6978 6627 6824 6506 + 34745 6824 6506 7073 6935 + 34746 6707 6506 6581 7073 + 34747 7073 6935 6506 6581 + 34748 6707 6506 7073 6824 + 34749 6584 6860 6648 6507 + 34750 6648 6507 6860 6769 + 34751 6508 6648 6583 6770 + 34752 6508 6861 6769 6648 + 34753 6508 6861 6648 6770 + 34754 6509 6647 6593 6862 + 34755 6509 6583 6647 6862 + 34756 6510 6694 6647 6863 + 34757 6510 6647 6771 6863 + 34758 6510 6863 6771 6938 + 34759 6510 6771 6649 6938 + 34760 6863 6938 6510 6694 + 34761 6660 6511 6864 6776 + 34762 6585 6660 6511 6864 + 34763 6511 6690 6864 6776 + 34764 6512 6586 6649 6777 + 34765 6866 6512 6777 6594 + 34766 6649 6866 6512 6777 + 34767 6866 6656 6512 6594 + 34768 6512 6866 6649 6690 + 34769 6513 6867 6693 6592 + 34770 6693 6513 6650 6867 + 34771 6586 6650 6513 6867 + 34772 6659 6514 6782 6696 + 34773 6596 6515 6715 6874 + 34774 6779 6515 6596 6874 + 34775 6946 6873 6783 6515 + 34776 6715 6946 6874 6515 + 34777 6783 6515 7005 6946 + 34778 7005 6515 6594 6779 + 34779 7005 6515 6783 6594 + 34780 6946 7005 6874 6515 + 34781 6779 7005 6515 6874 + 34782 6601 6516 6715 6703 + 34783 6715 6516 6658 6703 + 34784 6517 6778 6592 6877 + 34785 6517 6778 6877 6939 + 34786 6778 6517 6694 6939 + 34787 6939 6517 6694 6593 + 34788 6517 7008 6877 6785 + 34789 6517 6593 6939 7008 + 34790 6517 6939 6877 7008 + 34791 6653 6872 6518 6786 + 34792 6519 6655 6692 6787 + 34793 6878 6519 6692 6787 + 34794 6952 6592 6519 6693 + 34795 6952 7009 6519 6592 + 34796 6519 6788 7009 6952 + 34797 7009 6878 6519 6692 + 34798 6878 6519 6788 7009 + 34799 6952 6693 6519 7010 + 34800 6519 6787 7010 6693 + 34801 6788 6519 6878 7010 + 34802 6788 6952 6519 7010 + 34803 6787 6878 6519 7010 + 34804 6873 6520 6595 6790 + 34805 6955 6873 6790 6520 + 34806 6520 6881 7012 6599 + 34807 6955 6520 6790 7012 + 34808 6790 6520 6881 7012 + 34809 6521 6695 6597 6657 + 34810 6657 6521 6596 6779 + 34811 6521 6869 6657 6597 + 34812 6521 6650 6869 6597 + 34813 6944 6650 6869 6521 + 34814 6944 6869 7013 6521 + 34815 6779 6521 6944 7013 + 34816 6657 6869 6521 7013 + 34817 6657 6521 6779 7013 + 34818 6865 6613 6522 6943 + 34819 6943 6585 6522 6865 + 34820 6943 6522 6671 6613 + 34821 6606 6525 6747 6661 + 34822 6747 6525 6580 6661 + 34823 6764 6580 6851 6525 + 34824 6580 6525 6747 6851 + 34825 6961 6525 6747 6606 + 34826 6764 6851 6961 6525 + 34827 6795 6606 6525 6961 + 34828 6525 6883 6795 6961 + 34829 6961 6747 6525 6851 + 34830 6526 6601 6667 6884 + 34831 6526 6608 6713 6886 + 34832 6526 6713 6796 6886 + 34833 6796 6962 6526 6886 + 34834 6609 6962 6666 6526 + 34835 6884 6526 6962 6667 + 34836 6526 6608 6962 6666 + 34837 6962 6608 6526 6886 + 34838 6609 6962 6526 6667 + 34839 6796 6526 6962 6884 + 34840 6528 6662 6699 6713 + 34841 6528 6799 6699 6663 + 34842 6713 6799 6699 6528 + 34843 6528 6713 6799 6963 + 34844 6528 6963 6799 6663 + 34845 6792 6963 6703 6528 + 34846 6703 6528 6963 6713 + 34847 6528 6603 7060 6663 + 34848 6792 6528 7060 6963 + 34849 7060 6963 6528 6663 + 34850 6603 6792 6528 7060 + 34851 6529 6800 6604 6664 + 34852 6888 6699 6663 6529 + 34853 6797 6529 6699 6964 + 34854 6699 6529 6888 6964 + 34855 6800 6965 6664 6529 + 34856 6888 6800 6529 6965 + 34857 6888 6663 6965 6529 + 34858 7017 6888 6529 6964 + 34859 6529 6604 6800 7017 + 34860 6604 6700 7017 6529 + 34861 6797 7017 6700 6529 + 34862 6529 6800 6888 7017 + 34863 7017 6529 6797 6964 + 34864 6747 6530 6606 6661 + 34865 6749 6607 6702 6530 + 34866 6968 6668 6607 6530 + 34867 6749 6968 6607 6530 + 34868 7021 6967 6606 6530 + 34869 6747 7021 6606 6530 + 34870 7021 6892 6967 6530 + 34871 6747 7021 6530 6892 + 34872 6892 6530 7022 6803 + 34873 6747 6530 7022 6892 + 34874 6803 6968 6530 7022 + 34875 6968 7022 6668 6530 + 34876 6668 7022 6747 6530 + 34877 6530 7077 6803 6892 + 34878 7077 6530 6968 6749 + 34879 7077 6530 6803 6968 + 34880 6530 6967 7077 6892 + 34881 6917 6893 6531 6704 + 34882 6670 6531 6704 6917 + 34883 6804 6610 6969 6531 + 34884 6969 6804 6531 7025 + 34885 6670 6531 6917 7025 + 34886 6893 7025 6531 6804 + 34887 7025 6893 6531 6917 + 34888 6615 6532 6807 6709 + 34889 6532 6612 6672 6895 + 34890 6895 6532 6807 6615 + 34891 6612 6895 6532 6794 + 34892 6895 6672 6532 6615 + 34893 6960 6532 6895 6794 + 34894 6960 6807 6895 6532 + 34895 6532 6674 6960 7029 + 34896 6674 6709 7029 6532 + 34897 6532 6960 6807 7029 + 34898 6807 7029 6709 6532 + 34899 6533 6776 6954 6656 + 34900 6954 6880 6533 6656 + 34901 6793 6896 6958 6533 + 34902 6958 6789 6600 6533 + 34903 6880 6958 6533 6789 + 34904 6793 6533 6958 6600 + 34905 6793 6959 6896 6533 + 34906 6776 6959 6660 6533 + 34907 6776 6959 6533 6896 + 34908 7033 6776 6954 6533 + 34909 6896 7033 6958 6533 + 34910 6896 6776 7033 6533 + 34911 6880 7033 6533 6958 + 34912 7033 6954 6880 6533 + 34913 6808 6709 6534 6673 + 34914 6534 6582 6724 6815 + 34915 6724 6970 6534 6815 + 34916 6808 6815 6534 6970 + 34917 6709 6808 6534 6970 + 34918 6810 6616 6535 6716 + 34919 6535 6716 6809 6898 + 34920 6535 6717 6810 6898 + 34921 6535 6810 6716 6898 + 34922 6541 6722 6683 6640 + 34923 6541 6812 6900 6640 + 34924 6541 6900 6722 6640 + 34925 6543 6679 6902 6724 + 34926 6619 6543 6902 6724 + 34927 6710 6545 6623 6903 + 34928 6819 6545 6975 6903 + 34929 6710 6975 6545 6903 + 34930 6546 6622 6680 6904 + 34931 6622 6904 6546 6728 + 34932 6546 6681 6728 6904 + 34933 6821 6681 6547 6634 + 34934 6728 6547 6821 6681 + 34935 6547 6977 6632 6728 + 34936 6728 6821 6547 6977 + 34937 6977 6634 6821 6547 + 34938 6548 6974 6707 6734 + 34939 6816 6619 6548 6974 + 34940 6619 6707 6548 6974 + 34941 6548 6816 6974 6734 + 34942 6549 6726 6824 6707 + 34943 6825 6551 6908 6735 + 34944 6910 6825 6735 6552 + 34945 6910 6826 6552 6735 + 34946 6552 6631 6826 6910 + 34947 6676 6631 6552 6910 + 34948 6628 6980 6552 6825 + 34949 6910 6552 6980 6825 + 34950 6676 6628 6980 6552 + 34951 6676 6552 6980 6910 + 34952 6737 6553 6827 6630 + 34953 6737 6828 6911 6553 + 34954 6911 6828 6688 6553 + 34955 6911 6737 6553 6827 + 34956 6686 6554 6741 6829 + 34957 6554 6829 6913 6741 + 34958 6554 6738 6913 6829 + 34959 6913 6642 6738 6554 + 34960 6636 6746 6833 6555 + 34961 6555 6746 6982 6678 + 34962 6555 6746 6833 6982 + 34963 6555 6833 6745 6982 + 34964 6557 6674 6709 6834 + 34965 6674 6834 6557 6748 + 34966 6704 6557 6670 6917 + 34967 6917 6704 6557 6748 + 34968 6917 6557 6834 6748 + 34969 6834 6670 6557 6917 + 34970 6731 6632 6906 6558 + 34971 6731 6906 6836 6558 + 34972 6836 6984 6558 6906 + 34973 6558 6984 6837 6730 + 34974 6730 6906 6558 6984 + 34975 6810 6716 6562 6616 + 34976 6752 6565 6841 6636 + 34977 6918 6841 6565 6636 + 34978 6565 7041 6841 6918 + 34979 6923 6842 6566 6723 + 34980 6566 6842 6923 6679 + 34981 6723 6637 6566 6923 + 34982 6679 6923 6566 6637 + 34983 7042 6720 6899 6566 + 34984 6842 6679 6566 7042 + 34985 6720 7042 6842 6566 + 34986 6727 6975 6905 6567 + 34987 7044 6567 6727 6905 + 34988 7044 6976 6567 6905 + 34989 6727 6567 7044 6817 + 34990 6719 6639 6845 6568 + 34991 6845 6754 6925 6568 + 34992 6754 6568 6811 6925 + 34993 6845 6925 6719 6568 + 34994 6719 6811 6568 6925 + 34995 6569 6754 6846 6684 + 34996 6569 6846 6755 6684 + 34997 6755 6926 6846 6569 + 34998 6926 6681 6711 6569 + 34999 6926 6987 6846 6569 + 35000 6754 6569 6846 6987 + 35001 6711 6987 6926 6569 + 35002 6722 6927 6572 6683 + 35003 6572 6927 6639 6683 + 35004 6723 6844 6573 6680 + 35005 6755 6844 6573 6922 + 35006 6573 6684 6755 6922 + 35007 6684 6922 6573 6640 + 35008 6922 6844 6573 6723 + 35009 6929 6574 6651 6848 + 35010 6757 6848 6574 6929 + 35011 6644 6687 6760 6576 + 35012 6576 6760 6689 6849 + 35013 6687 6993 6576 6641 + 35014 6849 6993 6576 6760 + 35015 6687 6993 6760 6576 + 35016 6630 6827 6742 6577 + 35017 6577 6629 6827 6738 + 35018 6577 6742 6831 6992 + 35019 6992 6642 6577 6738 + 35020 6577 7047 6742 6992 + 35021 6742 6577 6827 7047 + 35022 6738 6827 6577 7047 + 35023 6992 6577 7047 6738 + 35024 6578 6931 6853 6698 + 35025 6578 6714 6931 6698 + 35026 6578 6761 6853 6931 + 35027 6578 6994 6761 6931 + 35028 6852 6761 6578 6994 + 35029 7048 6714 6931 6578 + 35030 6994 7048 6578 6852 + 35031 6852 7048 6578 6741 + 35032 6714 6578 7048 6643 + 35033 6643 6741 6578 7048 + 35034 6994 7048 6931 6578 + 35035 6644 6687 6579 6760 + 35036 6854 6579 6687 6760 + 35037 6760 6854 6579 6934 + 35038 6934 6579 7049 6854 + 35039 7049 6652 6579 6761 + 35040 6934 7049 6579 6761 + 35041 6691 7049 6579 6854 + 35042 7049 6691 6579 6652 + 35043 6580 6851 6698 6764 + 35044 6581 6669 6858 6768 + 35045 6858 6705 6669 6581 + 35046 6858 6734 6705 6581 + 35047 6768 6936 6581 6669 + 35048 6581 6712 6669 6936 + 35049 6707 6581 6734 7073 + 35050 6734 7073 6581 7080 + 35051 7073 7080 6935 6581 + 35052 6935 6768 6581 7080 + 35053 7080 6768 6581 6858 + 35054 6734 6581 6858 7080 + 35055 6583 6937 6647 6862 + 35056 6770 6937 6583 6862 + 35057 6770 6648 6583 6937 + 35058 6584 6690 6649 6941 + 35059 6584 6774 6690 6941 + 35060 6941 6771 6649 6584 + 35061 6999 6941 6774 6584 + 35062 6774 6584 6860 6999 + 35063 6648 6860 6584 6999 + 35064 6999 6771 6941 6584 + 35065 6660 6775 6864 6585 + 35066 6943 6775 6585 6865 + 35067 6944 6650 6586 6867 + 35068 7002 6649 6586 6777 + 35069 6938 7002 6649 6586 + 35070 6586 7051 7002 6777 + 35071 6867 7051 6938 6586 + 35072 6938 7051 7002 6586 + 35073 6586 6867 7051 6944 + 35074 6944 6586 6777 7051 + 35075 6654 6848 6781 6587 + 35076 6781 6848 6651 6587 + 35077 6587 6870 6651 6781 + 35078 6654 6872 6587 6781 + 35079 6587 6872 6653 6692 + 35080 6587 6781 6872 6945 + 35081 6870 6587 6692 6945 + 35082 6587 6870 6781 6945 + 35083 6872 6692 6587 6945 + 35084 6696 6659 6588 6782 + 35085 6875 6657 6588 6784 + 35086 6588 6695 6657 6875 + 35087 6875 6659 6588 6695 + 35088 6588 6784 6658 6876 + 35089 6782 6696 6876 6588 + 35090 6658 6696 6588 6876 + 35091 6588 6875 6784 6949 + 35092 6949 6588 6659 6782 + 35093 6782 6876 6949 6588 + 35094 6588 6784 6876 6949 + 35095 6875 6659 6949 6588 + 35096 6853 6589 6652 6698 + 35097 6853 6764 6589 6698 + 35098 6950 6589 6652 6853 + 35099 7007 6782 6950 6589 + 35100 6853 6589 7007 6950 + 35101 6764 6589 7007 6853 + 35102 6590 6871 6763 6697 + 35103 6590 6655 6871 6697 + 35104 6590 6871 6655 6695 + 35105 6871 6695 6590 7006 + 35106 6590 6763 6871 7006 + 35107 6590 6659 7006 6695 + 35108 7006 6763 6691 6590 + 35109 6778 6952 6592 6877 + 35110 6778 6592 6952 6867 + 35111 6693 6592 6867 6952 + 35112 6952 6877 7009 6592 + 35113 6647 6593 6862 6772 + 35114 6772 6879 6939 6593 + 35115 6939 6694 6647 6593 + 35116 6772 6939 6647 6593 + 35117 6879 6593 7008 6939 + 35118 6656 6866 6954 6594 + 35119 6656 6594 6954 6880 + 35120 7005 6594 6868 6779 + 35121 6594 6954 7011 6866 + 35122 7011 6777 6868 6594 + 35123 6866 7011 6594 6777 + 35124 6880 6594 6954 7055 + 35125 7005 6594 6783 7055 + 35126 6880 6783 6594 7055 + 35127 7005 6594 7055 6868 + 35128 7011 6954 6594 7055 + 35129 7011 7055 6594 6868 + 35130 6650 6780 6597 6693 + 35131 6780 6597 6869 6650 + 35132 6869 6597 6791 6657 + 35133 6657 6875 6695 6597 + 35134 6657 6791 6875 6597 + 35135 6956 6875 6791 6597 + 35136 6956 6695 6875 6597 + 35137 6780 6597 6693 7010 + 35138 6597 6780 6869 7010 + 35139 6597 7010 6787 6693 + 35140 6597 7054 6655 6787 + 35141 6791 7054 6956 6597 + 35142 6695 6655 6597 7054 + 35143 6597 6956 6695 7054 + 35144 7010 6787 7076 6597 + 35145 6597 7076 7054 6787 + 35146 6597 6869 7076 7010 + 35147 6791 7076 7054 6597 + 35148 6597 6791 7076 6869 + 35149 6598 6762 6651 6870 + 35150 6651 6762 6598 6929 + 35151 6687 6598 6762 6929 + 35152 6933 6598 6762 6687 + 35153 6598 6933 6762 6870 + 35154 6793 6600 6882 6671 + 35155 6882 6958 6600 6793 + 35156 6600 6958 6882 6789 + 35157 6601 6715 7016 6703 + 35158 6797 6887 6699 6602 + 35159 6662 6699 6887 6602 + 35160 6957 6603 6792 6696 + 35161 6603 6957 7060 6883 + 35162 6792 6603 6957 7060 + 35163 6604 6798 6700 6665 + 35164 6604 6700 6798 6889 + 35165 6604 6798 6966 6889 + 35166 6800 6604 6966 6889 + 35167 7017 6889 6700 6604 + 35168 7017 6889 6604 6800 + 35169 7019 6798 6604 6665 + 35170 7019 6966 6604 6798 + 35171 6701 6891 6605 6794 + 35172 7019 6891 6605 6701 + 35173 7019 6605 6798 6665 + 35174 6605 6891 7019 6798 + 35175 7019 6701 6605 6665 + 35176 6795 6664 6606 6890 + 35177 6967 6795 6606 6890 + 35178 6961 6747 7021 6606 + 35179 7021 6795 6606 6967 + 35180 6795 7021 6606 6961 + 35181 6668 6893 6607 6704 + 35182 6893 6607 6704 6748 + 35183 6607 6893 6668 6968 + 35184 6835 6607 6968 6748 + 35185 6607 6835 6968 6749 + 35186 6893 6968 6607 6748 + 35187 6608 6887 6662 6713 + 35188 6713 6608 7023 6886 + 35189 7023 6887 6608 6713 + 35190 6609 7024 6962 6667 + 35191 6609 6881 7024 6667 + 35192 6610 6705 6669 6858 + 35193 6706 6610 6969 6804 + 35194 6969 6610 6669 6858 + 35195 6969 6669 6610 6706 + 35196 6714 6706 6894 6611 + 35197 6804 6706 6611 6894 + 35198 6804 6611 6971 6894 + 35199 6971 6611 7022 6747 + 35200 6971 7022 6611 6804 + 35201 6611 7022 6747 6668 + 35202 6714 6611 6894 7027 + 35203 7027 6747 6714 6611 + 35204 6971 6894 6611 7027 + 35205 7027 6971 6747 6611 + 35206 6943 6671 7031 6613 + 35207 7031 6943 6613 7067 + 35208 6865 7067 6613 6943 + 35209 6672 6972 6615 6895 + 35210 6807 6615 6972 6895 + 35211 6807 6972 6615 7034 + 35212 6708 6673 6615 7034 + 35213 6708 6615 6972 7034 + 35214 6615 7034 6673 6709 + 35215 6709 6615 7034 6807 + 35216 6619 6902 6816 6724 + 35217 6619 6974 6726 6707 + 35218 6974 6726 6902 6619 + 35219 6974 6902 6816 6619 + 35220 6812 7035 6721 6621 + 35221 6621 6814 7035 6721 + 35222 6819 6904 6729 6622 + 35223 6622 6819 6904 6728 + 35224 6904 6680 6729 6622 + 35225 6903 6623 6710 6730 + 35226 6903 6820 6623 6730 + 35227 6626 6710 6678 6733 + 35228 6818 6710 6626 6733 + 35229 6678 6626 6733 6822 + 35230 6907 6627 6978 6822 + 35231 6627 6907 6978 6824 + 35232 6823 6978 6627 6732 + 35233 6822 6627 6978 6732 + 35234 6823 6732 6628 6909 + 35235 6980 6628 6732 6909 + 35236 6980 6909 6825 6628 + 35237 6980 6732 6628 6676 + 35238 6630 6827 6914 6742 + 35239 6630 6737 6914 6827 + 35240 6631 6826 6981 6743 + 35241 6832 6981 6743 6631 + 35242 6910 6631 6826 6981 + 35243 6832 6910 6981 6631 + 35244 6977 6632 6728 6820 + 35245 6632 6906 6820 6977 + 35246 6632 6731 6906 6977 + 35247 6821 6711 6681 6634 + 35248 6916 6983 6745 6635 + 35249 6752 6636 6833 6983 + 35250 7040 6636 6752 6841 + 35251 7040 6918 6636 6841 + 35252 6752 6833 6636 7040 + 35253 6636 7040 6833 6746 + 35254 6723 6813 6637 6923 + 35255 6640 6683 6847 6722 + 35256 6640 6847 6900 6722 + 35257 6684 6990 6922 6640 + 35258 7072 6812 6640 6900 + 35259 6640 6847 7072 6900 + 35260 7072 6640 6922 6990 + 35261 7072 6990 6847 6640 + 35262 6720 6922 7072 6640 + 35263 6720 7072 6812 6640 + 35264 6757 6685 6850 6641 + 35265 6929 6641 6757 6850 + 35266 6993 6641 6929 6850 + 35267 6687 6929 6993 6641 + 35268 6689 6642 6992 6913 + 35269 6913 6642 6992 6738 + 35270 6686 6741 6643 6932 + 35271 6643 6706 6932 7048 + 35272 6643 6706 7048 6714 + 35273 6643 6741 7048 6932 + 35274 6688 6645 6828 6996 + 35275 6996 6645 6908 6736 + 35276 6996 6688 6645 6736 + 35277 6647 6862 6937 6772 + 35278 6863 6771 6937 6647 + 35279 6863 6694 6647 6939 + 35280 7000 6937 6647 6863 + 35281 6937 6647 6772 7000 + 35282 6939 6772 6647 7000 + 35283 7000 6647 6939 6863 + 35284 6769 6861 6940 6648 + 35285 6860 6773 6648 6940 + 35286 6773 6940 6861 6648 + 35287 6860 6648 6769 6940 + 35288 6773 6937 6999 6648 + 35289 6648 6773 6860 6999 + 35290 7001 6937 6773 6648 + 35291 7001 6770 6937 6648 + 35292 6861 6773 6648 7001 + 35293 6770 6861 6648 7001 + 35294 6866 6649 6690 6941 + 35295 6649 7002 6866 6777 + 35296 6649 6941 6866 7002 + 35297 7002 6938 6649 6771 + 35298 6649 6941 7002 6771 + 35299 6693 6650 6780 6867 + 35300 6944 6650 6780 6869 + 35301 6944 6780 6650 6867 + 35302 6651 6870 7052 6781 + 35303 6651 7052 6848 6781 + 35304 6651 7052 6870 6762 + 35305 6651 6929 7052 6762 + 35306 6848 6929 7052 6651 + 35307 7049 6652 6761 6853 + 35308 6691 7049 6950 6652 + 35309 6950 6652 7049 6853 + 35310 6786 6692 6653 6872 + 35311 6655 6692 6787 7004 + 35312 7054 6787 7004 6655 + 35313 7054 7004 6871 6655 + 35314 7054 6655 6871 6695 + 35315 6776 6954 6656 6866 + 35316 6657 7013 6779 6947 + 35317 6784 6657 6947 7014 + 35318 6875 7014 6657 6784 + 35319 6657 6791 7014 6875 + 35320 7014 6791 6657 7056 + 35321 7056 6869 6657 7013 + 35322 7014 7056 6657 6947 + 35323 6869 6657 6791 7056 + 35324 7056 6657 6947 7013 + 35325 6658 6696 6876 6792 + 35326 6715 6658 6948 6703 + 35327 7015 6948 6658 6703 + 35328 7015 6658 6792 6703 + 35329 6792 6658 7015 6876 + 35330 7057 6948 6658 7015 + 35331 6784 7057 6948 6658 + 35332 7057 6658 6784 6876 + 35333 7057 7015 6658 6876 + 35334 6875 6956 6659 6695 + 35335 6659 6695 6956 7006 + 35336 7058 6956 7006 6659 + 35337 6949 6659 6875 7058 + 35338 7058 6875 6956 6659 + 35339 6782 7058 7006 6659 + 35340 6782 6949 7058 6659 + 35341 6959 6660 6775 6864 + 35342 6660 6864 6959 6776 + 35343 6713 6662 6699 6887 + 35344 6699 6663 6799 6888 + 35345 6663 6963 6799 7018 + 35346 6888 6965 6663 7018 + 35347 6888 6663 6799 7018 + 35348 7060 6965 7018 6663 + 35349 7060 7018 6963 6663 + 35350 6890 6965 6664 6800 + 35351 6890 6965 6795 6664 + 35352 6701 6665 7019 6749 + 35353 6667 6881 7024 6790 + 35354 6962 6667 7024 6884 + 35355 7022 6668 6893 6968 + 35356 6932 6805 6706 6669 + 35357 6858 6669 6969 6805 + 35358 6969 6805 6669 6706 + 35359 6768 6995 6936 6669 + 35360 6669 6995 6712 6686 + 35361 6995 6669 6712 6936 + 35362 6932 6995 6669 6686 + 35363 6805 6858 6669 6995 + 35364 6805 6669 6932 6995 + 35365 6858 6669 6995 6768 + 35366 6670 6970 6724 7026 + 35367 6670 7064 6806 7025 + 35368 6670 6834 6970 7064 + 35369 6670 6917 6834 7064 + 35370 6917 6670 7025 7064 + 35371 6970 7064 7026 6670 + 35372 7078 7026 7064 6670 + 35373 6816 6724 7078 6670 + 35374 6816 7078 6806 6670 + 35375 6670 7078 6806 7064 + 35376 6670 6724 7078 7026 + 35377 6943 7031 6671 6793 + 35378 7031 6882 6671 6793 + 35379 6708 7034 6808 6673 + 35380 6808 6673 7034 6709 + 35381 6701 6960 6674 6835 + 35382 6748 6835 6674 7029 + 35383 7029 6674 6960 6835 + 35384 6674 7029 6834 6748 + 35385 7029 6709 6674 6834 + 35386 6676 6980 7038 6910 + 35387 6676 6980 6732 7038 + 35388 6676 6732 6822 7038 + 35389 6836 6718 6677 6918 + 35390 6733 6915 6678 6822 + 35391 6839 6915 6678 6733 + 35392 6678 6837 6921 6730 + 35393 6678 7039 6837 6746 + 35394 6678 6982 7039 6746 + 35395 7039 6678 6837 6921 + 35396 6839 7039 6678 6915 + 35397 6678 7039 6982 6915 + 35398 7069 6678 7039 6921 + 35399 6730 7069 6921 6678 + 35400 6730 6710 7069 6678 + 35401 6839 7069 6678 7039 + 35402 6839 6733 6678 7069 + 35403 6710 7069 6678 6733 + 35404 6923 6842 6986 6679 + 35405 6679 6753 6986 6923 + 35406 6815 6986 6924 6679 + 35407 6842 6986 6679 7042 + 35408 7042 6924 6986 6679 + 35409 6986 6815 7043 6679 + 35410 6986 7043 6753 6679 + 35411 6679 6724 6815 7043 + 35412 6679 6902 6724 7043 + 35413 6679 6753 6902 7043 + 35414 6844 6680 7045 6904 + 35415 6680 6729 7045 6904 + 35416 7045 6729 6680 6813 + 35417 6680 6723 7045 6813 + 35418 6723 7045 6844 6680 + 35419 6926 6711 6681 6821 + 35420 6821 6926 7046 6681 + 35421 6681 6904 7046 6728 + 35422 6681 7046 6821 6728 + 35423 6919 6989 6811 6682 + 35424 6811 6682 6989 6719 + 35425 6927 6722 6847 6683 + 35426 6928 6684 6755 6846 + 35427 6928 6754 6684 6846 + 35428 6755 6684 6990 6922 + 35429 6684 6755 6990 6928 + 35430 6829 6686 6932 6741 + 35431 6829 6686 6712 6995 + 35432 6829 6932 6686 6995 + 35433 6687 6854 6760 6993 + 35434 6687 6762 6993 6929 + 35435 6687 6933 6854 6993 + 35436 6933 6762 6993 6687 + 35437 6996 6828 6688 7050 + 35438 6688 6828 6911 7050 + 35439 7050 6736 6688 6996 + 35440 6765 6855 6913 6689 + 35441 6765 6913 6852 6689 + 35442 6758 6689 6992 6855 + 35443 6689 6992 6855 6913 + 35444 6997 6689 6758 6855 + 35445 6760 6997 6689 6849 + 35446 6855 6765 6997 6689 + 35447 6852 6997 6765 6689 + 35448 6849 6997 6689 6758 + 35449 6774 7003 6864 6690 + 35450 6774 7003 6690 6941 + 35451 7003 6864 6690 6776 + 35452 6690 6866 7003 6776 + 35453 6866 6690 7003 6941 + 35454 7074 6763 6691 7006 + 35455 6763 7074 6691 6854 + 35456 6691 7074 7049 6854 + 35457 7049 6950 7074 6691 + 35458 6950 6691 7006 7074 + 35459 6786 6945 6692 6872 + 35460 6787 6692 6878 6953 + 35461 6692 6953 6787 7004 + 35462 7053 6786 6945 6692 + 35463 6692 6953 7004 7053 + 35464 7004 6692 7053 6870 + 35465 6692 6945 7053 6870 + 35466 7075 6692 7053 6953 + 35467 7053 7075 6786 6692 + 35468 6786 6692 7075 7009 + 35469 7009 7075 6878 6692 + 35470 6953 7075 6692 6878 + 35471 6693 6867 6780 6952 + 35472 6693 6952 6780 7010 + 35473 6694 6778 6863 6938 + 35474 6863 6778 6694 6939 + 35475 6871 6956 6695 7006 + 35476 7054 6871 6956 6695 + 35477 6792 6696 6876 6957 + 35478 6957 6876 6782 6696 + 35479 6698 6851 6714 6931 + 35480 6698 6764 6851 6931 + 35481 6764 6931 6698 6853 + 35482 6887 6699 6713 6799 + 35483 6699 6799 6964 6888 + 35484 6797 6887 6964 6699 + 35485 6699 6964 6799 6887 + 35486 6701 6960 6801 6891 + 35487 6701 6960 6891 6794 + 35488 6835 6701 6960 6801 + 35489 6801 6701 6891 7019 + 35490 6701 7019 6835 6749 + 35491 6835 7019 6701 6801 + 35492 6703 6963 6885 6713 + 35493 6963 6885 7015 6703 + 35494 6885 7015 6703 6948 + 35495 6963 6703 7015 6792 + 35496 7016 6885 6703 6948 + 35497 7016 6703 6715 6948 + 35498 6917 6748 6893 6704 + 35499 6805 6706 6894 6932 + 35500 6706 6894 7028 6805 + 35501 6706 7028 6804 6969 + 35502 7028 6706 6805 6969 + 35503 7028 6894 6706 6804 + 35504 6706 7048 6894 6932 + 35505 6706 6894 7048 6714 + 35506 6734 6974 6707 7073 + 35507 6726 6707 6974 7073 + 35508 6726 7073 6824 6707 + 35509 6725 6708 6901 6897 + 35510 6708 6972 6897 7034 + 35511 6725 6708 6897 7068 + 35512 7068 7034 6808 6708 + 35513 7068 6897 7034 6708 + 35514 6924 6708 6725 7068 + 35515 6924 6808 6708 7068 + 35516 6709 7034 7079 6807 + 35517 7029 7079 6709 6834 + 35518 7079 6709 6807 7029 + 35519 6808 7034 7079 6709 + 35520 6709 7079 6808 6970 + 35521 6970 7079 6834 6709 + 35522 6730 6710 6903 7069 + 35523 6710 6903 7069 6975 + 35524 7069 6710 6975 6818 + 35525 6710 6818 7069 6733 + 35526 6712 6740 6936 6830 + 35527 6995 6936 6712 6740 + 35528 6829 6712 6740 6995 + 35529 6887 6713 7023 6799 + 35530 6713 7023 7062 6886 + 35531 7062 6886 6796 6713 + 35532 6713 7023 6799 7062 + 35533 6713 6799 6963 7062 + 35534 6885 6796 6713 7062 + 35535 6963 6713 7062 6885 + 35536 6714 7027 6894 6931 + 35537 6714 6894 7048 6931 + 35538 6747 6714 6851 7065 + 35539 6714 7027 7065 6747 + 35540 6931 6851 6714 7065 + 35541 7065 7027 6714 6931 + 35542 6715 6946 7016 6874 + 35543 6874 7016 6715 6948 + 35544 6898 6985 6717 6810 + 35545 6719 6989 6811 6925 + 35546 6720 6973 6899 6812 + 35547 6973 7042 6720 6899 + 35548 6720 6812 7072 6973 + 35549 6720 7072 7082 6973 + 35550 6922 6842 6720 7082 + 35551 6720 7082 6842 7042 + 35552 6922 7072 7082 6720 + 35553 6720 7082 7042 6973 + 35554 6973 6721 6899 6812 + 35555 7035 6721 6973 6812 + 35556 6814 7035 6721 6973 + 35557 6813 6923 6723 7045 + 35558 7045 6923 6723 7083 + 35559 6842 6723 7083 6922 + 35560 7083 6922 6723 6844 + 35561 7083 6723 7045 6844 + 35562 6923 6723 7083 6842 + 35563 6970 7026 6815 6724 + 35564 7078 6815 6724 7043 + 35565 7078 6724 6902 7043 + 35566 6816 7078 6724 6902 + 35567 7078 6815 7026 6724 + 35568 6973 7042 6899 6725 + 35569 6901 7084 6814 6725 + 35570 6814 7084 6973 6725 + 35571 6973 7042 6725 7173 + 35572 6725 7068 7173 6924 + 35573 7173 6725 6973 7084 + 35574 7042 6725 7173 6924 + 35575 6725 7173 7258 7084 + 35576 6725 7084 7258 6901 + 35577 6725 6901 7258 6897 + 35578 7173 7258 7068 6725 + 35579 6897 7068 7258 6725 + 35580 6726 7071 6817 7036 + 35581 6726 6974 7071 7036 + 35582 6817 6902 7071 6726 + 35583 6902 6974 7071 6726 + 35584 6726 7036 6824 7073 + 35585 6726 6974 7036 7073 + 35586 6727 7044 6979 6817 + 35587 6727 6979 7044 6905 + 35588 6727 6818 7087 6975 + 35589 6818 6907 6727 7087 + 35590 6727 7087 6979 6905 + 35591 6727 7087 6905 6975 + 35592 6907 6727 7087 6979 + 35593 6977 6728 7088 6820 + 35594 7088 6728 6821 7046 + 35595 6728 7088 6821 6977 + 35596 7088 6820 6728 6903 + 35597 6728 7088 6903 7175 + 35598 7175 6904 6728 7046 + 35599 7175 6728 7088 7046 + 35600 6728 6903 6819 7175 + 35601 6819 6904 6728 7175 + 35602 7045 6976 6729 6813 + 35603 7045 6729 7090 6904 + 35604 7091 6729 6976 6905 + 35605 7175 6729 6904 7090 + 35606 6729 7089 7175 6819 + 35607 6819 6729 6904 7175 + 35608 6729 7176 7089 6819 + 35609 7091 7176 6729 6905 + 35610 6905 7176 6729 6819 + 35611 7177 7091 6729 6976 + 35612 6729 7045 7177 6976 + 35613 7045 6729 7177 7090 + 35614 7177 6729 7260 7090 + 35615 7091 7177 6729 7260 + 35616 7175 7260 6729 7090 + 35617 6729 7260 7089 7176 + 35618 7175 7260 7089 6729 + 35619 7091 6729 7176 7260 + 35620 6837 6730 7092 6921 + 35621 6984 7092 6837 6730 + 35622 6730 7259 6906 6984 + 35623 6730 7259 6820 6906 + 35624 7259 7092 6984 6730 + 35625 7259 6730 6820 6903 + 35626 6730 7336 7259 7092 + 35627 7336 7069 6730 6903 + 35628 7336 6730 7259 6903 + 35629 7069 6730 6921 7336 + 35630 6730 6921 7336 7092 + 35631 6732 7037 6909 6823 + 35632 6732 6978 7037 6823 + 35633 7038 6822 6978 6732 + 35634 6909 7093 7037 6732 + 35635 7038 6978 7093 6732 + 35636 6978 7037 7093 6732 + 35637 7038 7093 6980 6732 + 35638 6732 6980 6909 7093 + 35639 6733 7069 6839 7087 + 35640 6907 6818 6733 7087 + 35641 6733 6818 7069 7087 + 35642 6839 6907 6733 7087 + 35643 6839 6733 6907 7178 + 35644 7178 6915 6839 6733 + 35645 7178 6822 6915 6733 + 35646 6907 7178 6733 6822 + 35647 7063 6974 6816 6734 + 35648 7063 6734 6858 7080 + 35649 7080 7073 6974 6734 + 35650 7080 6974 7063 6734 + 35651 6908 6825 6735 7095 + 35652 6910 7095 6826 6735 + 35653 6910 6735 6825 7095 + 35654 6825 7179 6736 6909 + 35655 6825 6736 7179 6908 + 35656 7037 7179 6909 6736 + 35657 6996 6736 6908 7264 + 35658 6996 7050 6736 7264 + 35659 7264 7179 6736 6908 + 35660 7339 6857 7050 6736 + 35661 6736 7264 7050 7339 + 35662 7179 7339 7264 6736 + 35663 7339 6857 6736 7037 + 35664 7037 7339 7179 6736 + 35665 7096 6827 6737 6911 + 35666 7096 6737 6828 6911 + 35667 6737 7096 6914 6827 + 35668 6738 6912 6827 7047 + 35669 7047 6992 6738 7098 + 35670 6738 7047 7098 6912 + 35671 6738 6912 7098 6829 + 35672 6913 6992 7098 6738 + 35673 6913 6829 6738 7098 + 35674 6823 6935 6978 6739 + 35675 6823 6978 7037 6739 + 35676 6859 7100 6739 6998 + 35677 6739 7100 6857 6998 + 35678 6739 7037 6857 7100 + 35679 6739 7338 7100 6859 + 35680 7037 6739 7338 7100 + 35681 7338 7037 6978 6739 + 35682 6935 6859 7338 6739 + 35683 6935 6739 7338 6978 + 35684 6740 6830 6912 6998 + 35685 6740 6936 6830 6998 + 35686 6740 6995 7099 6829 + 35687 6740 6912 7181 6998 + 35688 6740 7099 7181 6829 + 35689 6829 7181 6740 6912 + 35690 6998 7268 7181 6740 + 35691 6998 6740 6936 7268 + 35692 7099 6740 7181 7268 + 35693 7268 6740 6936 6995 + 35694 7268 7099 6740 6995 + 35695 7182 6913 6741 6852 + 35696 6741 6913 7182 6829 + 35697 6829 6932 7182 6741 + 35698 6852 7182 7048 6741 + 35699 6932 7182 6741 7048 + 35700 6827 6914 6742 7047 + 35701 7047 6742 7102 6914 + 35702 7102 6742 7047 7185 + 35703 7185 7047 6992 6742 + 35704 7102 7269 6742 7185 + 35705 6992 6742 6831 7269 + 35706 7185 6992 7269 6742 + 35707 7103 6981 6743 6832 + 35708 6832 7103 6916 6743 + 35709 6832 6981 6910 6744 + 35710 7093 6910 6744 7038 + 35711 6982 6744 6915 7104 + 35712 6744 6832 6981 7186 + 35713 6744 6981 7265 7186 + 35714 7265 6910 6981 6744 + 35715 7093 7265 6744 6910 + 35716 6744 7104 6982 7270 + 35717 6744 6982 6832 7270 + 35718 7270 7186 6832 6744 + 35719 7104 6744 6915 7340 + 35720 6744 7340 7265 7093 + 35721 6915 7340 6744 7038 + 35722 6744 7340 7093 7038 + 35723 7270 7400 7186 6744 + 35724 7104 6744 7340 7400 + 35725 7400 7265 7186 6744 + 35726 7400 7104 6744 7270 + 35727 6744 7265 7340 7400 + 35728 7103 6916 6745 6832 + 35729 6833 7106 6983 6745 + 35730 6745 6833 7106 7188 + 35731 6745 6833 7188 6982 + 35732 6832 7103 7270 6745 + 35733 6745 7270 6982 7188 + 35734 7270 6745 6982 6832 + 35735 7341 7188 7270 6745 + 35736 7341 6745 7270 7103 + 35737 7341 6916 6983 6745 + 35738 7341 6916 6745 7103 + 35739 7341 6983 7106 6745 + 35740 6745 7106 7341 7188 + 35741 7188 6746 7039 6982 + 35742 6746 7188 6833 6982 + 35743 7188 6746 6833 7271 + 35744 6746 7271 7188 7039 + 35745 6746 7040 6833 7271 + 35746 6746 6837 7271 7039 + 35747 6746 6837 7040 7271 + 35748 6971 7022 6892 6747 + 35749 6747 6961 7065 6851 + 35750 6961 7021 6747 7065 + 35751 6892 6747 7021 7107 + 35752 7107 7065 7027 6747 + 35753 6892 6971 6747 7107 + 35754 7107 7065 6747 7021 + 35755 7107 7027 6971 6747 + 35756 7108 6834 6748 6917 + 35757 6748 7108 6835 7029 + 35758 7108 6834 7029 6748 + 35759 6835 6968 7108 6748 + 35760 6748 6893 7108 6917 + 35761 7108 6968 6893 6748 + 35762 7019 6835 6749 7061 + 35763 6835 7077 6749 7061 + 35764 7077 6968 6835 6749 + 35765 6811 6989 6919 6750 + 35766 6811 7081 6989 6750 + 35767 6811 6920 7081 6750 + 35768 6833 6983 7106 6752 + 35769 6841 7189 6752 7040 + 35770 7040 6752 6833 7189 + 35771 7106 6833 6752 7189 + 35772 6902 7043 6753 7086 + 35773 7086 6902 7071 6753 + 35774 7086 7071 6843 6753 + 35775 7043 6843 6753 7086 + 35776 6753 6986 7112 7043 + 35777 6843 6753 7112 7043 + 35778 6753 6843 7196 7070 + 35779 7112 7196 6753 6843 + 35780 6753 7112 7274 7196 + 35781 6753 7274 7070 7196 + 35782 7112 7274 6986 6753 + 35783 6753 7274 6923 7070 + 35784 6923 6753 6986 7274 + 35785 6925 6754 6987 6811 + 35786 6991 6925 6845 6754 + 35787 6846 6754 6991 6928 + 35788 6925 6991 7198 6754 + 35789 6925 7198 6987 6754 + 35790 6754 6987 6846 7198 + 35791 6754 6846 6991 7198 + 35792 6926 6755 6846 6988 + 35793 6922 6990 6755 7110 + 35794 6755 6928 7110 6990 + 35795 7194 6922 6844 6755 + 35796 7194 7110 6922 6755 + 35797 6988 6844 6755 7194 + 35798 7279 7194 6755 7110 + 35799 6988 6755 6846 7279 + 35800 7279 6755 6928 7110 + 35801 6928 6846 6755 7279 + 35802 6988 6755 7279 7194 + 35803 6756 6847 7199 6990 + 35804 6756 6928 7349 6991 + 35805 6756 6990 7199 7349 + 35806 6756 6928 6990 7349 + 35807 6757 7052 6848 6929 + 35808 6929 6757 7052 6850 + 35809 6758 6849 7116 6930 + 35810 6997 6758 7117 6855 + 35811 6849 7117 6997 6758 + 35812 6758 6992 7185 6855 + 35813 6855 7185 6758 7117 + 35814 6758 7116 7200 6930 + 35815 6758 6930 7269 6831 + 35816 7200 6930 7269 6758 + 35817 7185 6758 7269 6992 + 35818 6831 7269 6758 6992 + 35819 7280 7116 7200 6758 + 35820 6758 7200 7280 7117 + 35821 7280 7116 6758 6849 + 35822 7280 6758 7117 6849 + 35823 6758 7185 7269 7350 + 35824 7350 7200 7269 6758 + 35825 7350 6758 7185 7117 + 35826 6758 7350 7200 7117 + 35827 6930 7116 6759 6849 + 35828 7118 6850 6759 6993 + 35829 7201 6993 7118 6759 + 35830 6993 6849 6759 7201 + 35831 7201 7116 6849 6759 + 35832 7201 7118 7352 6759 + 35833 7201 7352 7116 6759 + 35834 6854 6760 6993 7119 + 35835 7201 6993 6760 7119 + 35836 6849 7201 6993 6760 + 35837 6934 6760 6854 7202 + 35838 7202 6854 7119 6760 + 35839 6934 7351 6760 7202 + 35840 7202 7119 7351 6760 + 35841 7119 6760 7201 7351 + 35842 7351 6997 6934 6760 + 35843 7351 6849 6760 7201 + 35844 6760 7351 6997 6849 + 35845 6852 6934 6761 6994 + 35846 6934 6994 7049 6761 + 35847 6853 6761 7049 7120 + 35848 7049 6761 6994 7120 + 35849 7120 6853 6761 6931 + 35850 7120 6761 6994 6931 + 35851 6993 6929 6762 7052 + 35852 7052 6993 7118 6762 + 35853 6762 6933 7123 6870 + 35854 7123 6762 6870 7208 + 35855 6870 6762 7052 7208 + 35856 7052 7118 7208 6762 + 35857 7123 7281 6762 7208 + 35858 7208 6762 7118 7281 + 35859 6762 6993 7118 7281 + 35860 7123 6933 6762 7281 + 35861 7281 6933 6762 6993 + 35862 6956 6871 6763 7006 + 35863 6763 6956 7006 7124 + 35864 7006 7074 6763 7124 + 35865 6763 7210 6956 7124 + 35866 7210 6763 6956 6871 + 35867 6763 6933 7287 6854 + 35868 7074 7124 7287 6763 + 35869 7074 7287 6854 6763 + 35870 7287 7355 6933 6763 + 35871 6763 7355 6933 7004 + 35872 7287 6763 7406 7355 + 35873 7406 7287 7124 6763 + 35874 7406 7124 7210 6763 + 35875 7406 6871 7004 6763 + 35876 7210 7406 6763 6871 + 35877 7406 7004 7355 6763 + 35878 6931 6764 6851 7065 + 35879 6764 7065 6961 6851 + 35880 7204 7007 6764 6961 + 35881 7007 6853 7204 6764 + 35882 7204 6764 7065 6961 + 35883 6764 6853 7204 6931 + 35884 6764 7204 7065 6931 + 35885 7101 6997 6765 6852 + 35886 6765 6913 7101 6852 + 35887 7117 6997 6855 6765 + 35888 7101 7267 6913 6765 + 35889 6855 6913 7267 6765 + 35890 6855 7126 6765 7267 + 35891 6765 7288 7126 6855 + 35892 6765 7117 7288 6855 + 35893 6765 7101 7267 7357 + 35894 6765 7267 7126 7357 + 35895 6765 7117 6997 7407 + 35896 7407 7117 7288 6765 + 35897 7407 7288 7126 6765 + 35898 7407 6765 7101 6997 + 35899 7126 7357 7407 6765 + 35900 7101 7407 7357 6765 + 35901 6766 6914 6827 7047 + 35902 7047 6827 6766 6912 + 35903 6766 6827 6914 7096 + 35904 6766 6827 7096 6911 + 35905 6911 7096 6766 6856 + 35906 6912 6766 7047 7098 + 35907 7047 7102 6766 6914 + 35908 6856 6912 7181 6766 + 35909 7181 6912 7098 6766 + 35910 7184 7102 6914 6766 + 35911 6766 6914 7184 7096 + 35912 6856 7096 6766 7184 + 35913 6766 6856 7184 7282 + 35914 7282 7102 6766 7047 + 35915 7282 6766 7102 7184 + 35916 7181 7098 7282 6766 + 35917 6856 7181 7282 6766 + 35918 7047 6766 7282 7098 + 35919 7097 6767 6998 6911 + 35920 6767 6857 7050 7125 + 35921 6911 6767 7050 7180 + 35922 7050 7180 6767 7125 + 35923 7097 6998 6767 7211 + 35924 6767 6998 6857 7211 + 35925 7180 7266 6911 6767 + 35926 6767 7266 6911 7097 + 35927 7289 6857 6767 7125 + 35928 7211 6767 7097 7289 + 35929 7211 6767 7289 6857 + 35930 7180 7360 7266 6767 + 35931 7360 7097 6767 7289 + 35932 6767 7360 7266 7097 + 35933 7360 7125 6767 7180 + 35934 7289 7125 6767 7360 + 35935 7122 6858 6995 6768 + 35936 6935 7080 7213 6768 + 35937 6935 7213 6859 6768 + 35938 7122 6768 6859 7213 + 35939 6936 6859 7268 6768 + 35940 7268 6768 7122 6995 + 35941 7268 6936 6768 6995 + 35942 6859 7122 7268 6768 + 35943 7213 6768 7080 7361 + 35944 6768 7361 7122 6858 + 35945 7213 7122 6768 7361 + 35946 6768 7080 7361 6858 + 35947 6770 7131 6937 6862 + 35948 7001 6770 7131 6937 + 35949 7002 6863 6938 6771 + 35950 6863 7002 6941 6771 + 35951 7216 6863 6771 6937 + 35952 6941 6771 6999 7216 + 35953 6941 6863 6771 7216 + 35954 7216 6771 6999 6937 + 35955 6772 7000 6939 6879 + 35956 7131 6772 6937 6862 + 35957 6772 7135 7000 6879 + 35958 7292 6772 7135 7000 + 35959 6937 6772 7131 7292 + 35960 6937 7000 6772 7292 + 35961 7001 6773 6940 6861 + 35962 6773 7130 6940 6860 + 35963 7130 6860 6773 6999 + 35964 6773 6999 6937 7132 + 35965 6773 7215 7132 6937 + 35966 6937 6773 7215 7001 + 35967 6773 7217 6999 7132 + 35968 7130 6773 7217 6999 + 35969 6940 7221 7130 6773 + 35970 7296 6773 7001 7215 + 35971 7296 7132 6773 7215 + 35972 7296 7001 6773 6940 + 35973 7296 7221 6940 6773 + 35974 7221 7296 7411 6773 + 35975 7411 7296 7132 6773 + 35976 7411 7132 7217 6773 + 35977 7411 7130 7221 6773 + 35978 7411 7217 7130 6773 + 35979 7130 6774 6860 6999 + 35980 6942 6774 6860 7130 + 35981 7136 6774 6941 7003 + 35982 7136 7222 6774 7003 + 35983 7003 6774 6864 7222 + 35984 7222 6774 6942 7130 + 35985 6774 6942 6864 7222 + 35986 7130 7293 6774 6999 + 35987 7293 6774 6941 7136 + 35988 7222 7293 6774 7130 + 35989 7293 6941 6774 6999 + 35990 7293 7222 6774 7136 + 35991 6943 6865 7032 6775 + 35992 6959 6864 6775 7137 + 35993 6775 6864 6942 7137 + 35994 6775 6865 7032 7224 + 35995 7137 7224 6775 7298 + 35996 6775 7032 7298 7224 + 35997 6775 6959 7137 7298 + 35998 6959 7298 6775 7032 + 35999 6866 6776 6954 7033 + 36000 7225 6896 6959 6776 + 36001 7225 6776 7033 6896 + 36002 6959 7297 6776 6864 + 36003 6864 7003 7297 6776 + 36004 7225 6959 7297 6776 + 36005 7366 7003 6866 6776 + 36006 7366 7225 7297 6776 + 36007 7366 6866 7033 6776 + 36008 7297 6776 7003 7366 + 36009 7366 7033 7225 6776 + 36010 6777 7299 7011 6868 + 36011 6868 6777 7299 6944 + 36012 7011 7299 6777 6866 + 36013 6866 7002 7299 6777 + 36014 7299 7002 7051 6777 + 36015 6777 6944 7051 7299 + 36016 7133 6863 6939 6778 + 36017 7218 6938 6778 6867 + 36018 6952 6867 7218 6778 + 36019 6939 6877 7220 6778 + 36020 7133 6939 7220 6778 + 36021 7294 6938 6778 7218 + 36022 7133 7294 6863 6778 + 36023 6863 7294 6938 6778 + 36024 7300 6778 6877 6952 + 36025 6877 7300 7220 6778 + 36026 7220 6778 7300 7133 + 36027 6952 6778 7218 7300 + 36028 7367 7218 6778 7300 + 36029 7133 7300 7367 6778 + 36030 7367 6778 7218 7294 + 36031 7367 7133 6778 7294 + 36032 6944 6868 6779 7013 + 36033 7013 6868 6779 7140 + 36034 7005 6779 7140 6874 + 36035 6779 6947 7140 6874 + 36036 6868 6779 7140 7005 + 36037 6947 7013 6779 7140 + 36038 7010 6780 7139 6952 + 36039 6780 7010 7139 6869 + 36040 6952 6780 7139 6867 + 36041 7139 6867 6780 6944 + 36042 6869 7139 6780 6944 + 36043 6870 7208 6781 6945 + 36044 6870 7052 6781 7208 + 36045 6782 7006 7058 6950 + 36046 7007 6957 7143 6782 + 36047 6957 7143 6782 6876 + 36048 6949 6782 7143 6876 + 36049 7007 6950 6782 7143 + 36050 6782 6949 7143 7058 + 36051 7058 6782 6950 7143 + 36052 6783 6946 7030 6873 + 36053 6955 6783 7030 6873 + 36054 7144 6783 6946 7030 + 36055 7144 7055 7005 6783 + 36056 7144 7005 6946 6783 + 36057 6880 6783 7228 6955 + 36058 7228 7030 6955 6783 + 36059 6783 7144 7228 7030 + 36060 7055 7228 6880 6783 + 36061 7055 7144 7228 6783 + 36062 6784 6874 6948 7146 + 36063 6784 6947 6874 7146 + 36064 7147 7014 6875 6784 + 36065 6784 6948 7057 7231 + 36066 6784 7146 6948 7231 + 36067 7147 7232 7057 6784 + 36068 7147 6875 7232 6784 + 36069 6876 7057 7232 6784 + 36070 6876 7232 6949 6784 + 36071 6949 7232 6875 6784 + 36072 7146 7306 7231 6784 + 36073 6784 6947 7146 7306 + 36074 7057 7231 7306 6784 + 36075 7306 6784 6947 7014 + 36076 7014 7306 6784 7147 + 36077 7147 7057 7306 6784 + 36078 6951 6877 7008 6785 + 36079 7142 6945 7053 6786 + 36080 6786 7053 7142 7075 + 36081 6786 7142 7374 7075 + 36082 7374 6951 6786 7009 + 36083 7374 6786 7075 7009 + 36084 7004 6953 6787 7054 + 36085 6787 7054 6953 7076 + 36086 6787 7149 6878 7010 + 36087 6953 7149 6878 6787 + 36088 6953 7076 7149 6787 + 36089 6787 7076 7149 7010 + 36090 6788 6877 7009 6952 + 36091 6878 7010 7149 6788 + 36092 6877 6952 6788 7234 + 36093 6877 6788 7312 7234 + 36094 7312 6878 7149 6788 + 36095 7312 6878 6788 7009 + 36096 7009 6788 7312 6877 + 36097 6788 7149 7375 7010 + 36098 7234 6952 6788 7375 + 36099 6788 7375 6952 7010 + 36100 7234 6788 7415 7375 + 36101 7415 7312 6788 7234 + 36102 7149 7415 7312 6788 + 36103 7149 7375 7415 6788 + 36104 6882 6789 7153 7059 + 36105 7153 6789 6882 6958 + 36106 7153 6789 6958 7315 + 36107 7059 7315 6955 6789 + 36108 6789 6880 6958 7315 + 36109 7059 7153 7315 6789 + 36110 6789 6955 6880 7315 + 36111 6955 7030 6790 6873 + 36112 7152 7012 6955 6790 + 36113 6955 6790 7030 7152 + 36114 6790 6881 7237 7012 + 36115 7152 7237 7012 6790 + 36116 7237 7024 6881 6790 + 36117 7316 7066 7024 6790 + 36118 6790 7237 7316 7152 + 36119 7066 7030 6790 7316 + 36120 7316 7024 7237 6790 + 36121 6790 7316 7030 7152 + 36122 6869 7056 6791 7076 + 36123 7141 6791 7056 7076 + 36124 6875 6791 7014 7147 + 36125 7054 6791 6956 7210 + 36126 6791 7141 7056 7239 + 36127 7239 7147 7014 6791 + 36128 7014 7239 6791 7056 + 36129 7210 6956 7308 6791 + 36130 6875 7308 6791 7147 + 36131 6956 7308 6791 6875 + 36132 6791 7317 7141 7239 + 36133 6791 7210 7054 7376 + 36134 6791 7054 7076 7376 + 36135 6791 7076 7141 7376 + 36136 6791 7141 7317 7376 + 36137 7381 7239 6791 7147 + 36138 7239 6791 7317 7381 + 36139 7417 7381 6791 7147 + 36140 7317 6791 7417 7381 + 36141 6791 7417 7210 7376 + 36142 7210 7308 7417 6791 + 36143 7417 6791 7317 7376 + 36144 7417 6791 7308 7147 + 36145 7015 6792 7060 6963 + 36146 6792 6876 7309 6957 + 36147 7309 6792 7060 7015 + 36148 6876 7015 6792 7309 + 36149 6957 7309 6792 7060 + 36150 7031 6793 6943 7067 + 36151 6793 7067 7032 6943 + 36152 6793 6958 6896 7156 + 36153 6882 7031 7241 6793 + 36154 6793 7241 6958 7156 + 36155 7241 6958 6882 6793 + 36156 7298 6959 6896 6793 + 36157 7298 7032 6959 6793 + 36158 7298 6793 6896 7156 + 36159 7031 7067 7385 6793 + 36160 7067 7385 6793 7032 + 36161 7298 7385 6793 7156 + 36162 7031 7241 6793 7385 + 36163 6793 7385 7298 7032 + 36164 7385 6793 7156 7241 + 36165 6960 7157 6794 6895 + 36166 6960 6891 6794 7157 + 36167 6883 7021 6795 6961 + 36168 6890 7158 6795 6965 + 36169 7158 7060 6795 6965 + 36170 7320 7158 6795 6890 + 36171 7320 6795 6967 6890 + 36172 7242 6795 7320 7158 + 36173 7021 7320 6795 6967 + 36174 6795 7242 7320 6883 + 36175 6883 7320 6795 7021 + 36176 6795 7158 7242 7420 + 36177 7060 7158 6795 7420 + 36178 6795 6883 7420 7242 + 36179 6883 6795 7420 7060 + 36180 6796 7016 6884 7066 + 36181 6796 7145 7016 7066 + 36182 7159 6796 6886 7243 + 36183 6796 6886 7243 6962 + 36184 7145 7066 6796 7243 + 36185 6796 7066 6884 7243 + 36186 6796 6884 6962 7243 + 36187 7062 6796 6886 7244 + 36188 6796 7159 6886 7244 + 36189 7244 7062 6796 6885 + 36190 7244 6796 7307 6885 + 36191 7145 6796 7016 7307 + 36192 6885 6796 7307 7016 + 36193 7159 6796 7243 7421 + 36194 7145 7243 6796 7421 + 36195 6796 7159 7244 7421 + 36196 7145 7421 6796 7307 + 36197 7244 7307 6796 7421 + 36198 6891 7019 6798 7160 + 36199 6889 7160 6798 6966 + 36200 6966 6798 7019 7160 + 36201 7023 6799 6964 6887 + 36202 7155 6799 6963 7018 + 36203 6963 7062 6799 7155 + 36204 7023 7161 6964 6799 + 36205 7245 7161 6799 6964 + 36206 7018 7161 6799 7245 + 36207 7245 6799 6888 6964 + 36208 7018 6799 6888 7245 + 36209 7155 7387 6799 7018 + 36210 7062 7023 6799 7387 + 36211 7387 6799 7062 7155 + 36212 6799 7023 7161 7387 + 36213 6799 7161 7018 7387 + 36214 6965 6888 6800 7162 + 36215 6965 6800 6890 7162 + 36216 6800 6966 7246 6889 + 36217 6800 7246 6966 7020 + 36218 7246 7162 6890 6800 + 36219 7246 6890 7020 6800 + 36220 7017 7323 6889 6800 + 36221 7323 6800 7017 6888 + 36222 7323 7162 6800 6888 + 36223 7323 6800 7246 6889 + 36224 7246 6800 7323 7162 + 36225 6835 6960 7029 6801 + 36226 6801 7019 7061 6835 + 36227 6891 6960 6801 7157 + 36228 7061 7019 6801 7160 + 36229 6801 7160 7019 6891 + 36230 6801 7061 7165 7190 + 36231 6801 6835 7190 7029 + 36232 7190 6801 7061 6835 + 36233 7157 6801 6891 7249 + 36234 7160 7249 6801 7061 + 36235 6801 7249 7160 6891 + 36236 6801 7249 7165 7061 + 36237 7165 7249 6801 7319 + 36238 6801 7157 6960 7319 + 36239 7319 6801 7157 7249 + 36240 7319 6960 6801 7029 + 36241 7029 6801 7319 7190 + 36242 7190 7165 6801 7319 + 36243 7077 7020 6802 7166 + 36244 6966 6802 7325 7061 + 36245 7020 6802 7325 6966 + 36246 7326 6802 7061 7165 + 36247 7077 7061 7326 6802 + 36248 7326 6802 7165 7250 + 36249 7166 7077 7326 6802 + 36250 7167 6802 7325 7391 + 36251 7391 6802 7020 7166 + 36252 7020 7325 6802 7391 + 36253 7061 6802 7325 7423 + 36254 6802 7423 7250 7167 + 36255 6802 7325 7423 7167 + 36256 7250 7165 7423 6802 + 36257 6802 7165 7423 7061 + 36258 7424 6802 7250 7167 + 36259 7391 7424 6802 7166 + 36260 7167 7424 6802 7391 + 36261 7326 7424 6802 7250 + 36262 7166 7326 7424 6802 + 36263 7022 6971 6892 6803 + 36264 6893 7022 6968 6803 + 36265 6803 7108 7077 6968 + 36266 6893 6968 7108 6803 + 36267 6892 6803 7166 7077 + 36268 7022 7251 6971 6803 + 36269 7251 6893 7108 6803 + 36270 7251 7022 6893 6803 + 36271 7326 6803 7077 7166 + 36272 7166 7327 6803 6892 + 36273 7327 6971 7251 6803 + 36274 7327 6892 6971 6803 + 36275 7392 6803 7108 7077 + 36276 7077 7392 6803 7326 + 36277 7251 7392 6803 7108 + 36278 7392 7438 6803 7326 + 36279 7326 7438 6803 7166 + 36280 7438 7166 7327 6803 + 36281 7438 6803 7251 7392 + 36282 6803 7251 7327 7438 + 36283 6804 6971 7028 6894 + 36284 6893 7251 7025 6804 + 36285 6804 6971 7022 7251 + 36286 6804 7028 6971 7251 + 36287 6804 7251 7022 6893 + 36288 7328 7251 6804 7025 + 36289 7028 6969 7328 6804 + 36290 7028 7328 7251 6804 + 36291 6969 7328 6804 7025 + 36292 6858 6995 6805 7122 + 36293 6969 6805 7028 7128 + 36294 6858 6969 7128 6805 + 36295 7028 6894 7168 6805 + 36296 6805 6995 7207 7122 + 36297 6805 7207 7290 7122 + 36298 6858 6805 7290 7122 + 36299 6858 7128 7290 6805 + 36300 6805 6894 7354 6932 + 36301 6995 7207 7354 6805 + 36302 7168 6805 7354 7329 + 36303 6805 7168 7354 6894 + 36304 7354 6805 7207 7329 + 36305 7354 6932 6995 6805 + 36306 7290 6805 7128 7393 + 36307 6805 7290 7207 7393 + 36308 7028 7168 7393 6805 + 36309 7168 7393 6805 7329 + 36310 7207 6805 7393 7329 + 36311 7028 7128 6805 7393 + 36312 6806 7086 7078 6816 + 36313 7063 6806 6816 7086 + 36314 7086 6806 7078 7197 + 36315 6969 7214 6806 7063 + 36316 6969 6806 7214 7025 + 36317 6806 7330 7078 7197 + 36318 7064 7330 7078 6806 + 36319 7086 7331 6806 7197 + 36320 7214 7331 6806 7063 + 36321 7063 7331 6806 7086 + 36322 6806 7330 7197 7426 + 36323 6806 7214 7426 7331 + 36324 6806 7197 7331 7426 + 36325 7214 6806 7439 7025 + 36326 7439 6806 7064 7025 + 36327 7426 7330 7439 6806 + 36328 7064 7439 7330 6806 + 36329 6806 7426 7214 7439 + 36330 6960 6807 7157 6895 + 36331 7079 7034 7170 6807 + 36332 7170 7029 7079 6807 + 36333 6807 7254 6895 6972 + 36334 7254 6895 7157 6807 + 36335 7034 7254 6807 6972 + 36336 7170 7254 6807 7034 + 36337 7319 6807 6960 7029 + 36338 6960 7319 7157 6807 + 36339 7170 7319 7029 6807 + 36340 6807 7170 7319 7254 + 36341 6807 7319 7157 7254 + 36342 6970 6815 7026 6808 + 36343 6808 6970 7079 7026 + 36344 6808 7079 7085 7026 + 36345 6924 6808 7085 6815 + 36346 7085 7026 6815 6808 + 36347 6808 7068 6924 7111 + 36348 6808 7085 7195 6924 + 36349 7111 6808 7195 6924 + 36350 7429 7034 6808 7068 + 36351 7429 7079 6808 7034 + 36352 7429 7068 6808 7111 + 36353 6808 7079 7429 7085 + 36354 6808 7429 7195 7085 + 36355 7429 6808 7195 7111 + 36356 6811 7081 6920 6987 + 36357 6811 6925 7081 6987 + 36358 6989 6925 7081 6811 + 36359 7035 6973 7072 6812 + 36360 7035 7072 6900 6812 + 36361 6813 6976 6923 7045 + 36362 6814 7084 7035 6973 + 36363 7085 6924 6815 6986 + 36364 7043 7078 6815 7085 + 36365 7043 6815 6986 7085 + 36366 7085 7078 6815 7026 + 36367 6816 7086 7078 6902 + 36368 6974 6816 7086 7063 + 36369 6974 6816 6902 7086 + 36370 7071 7036 6979 6817 + 36371 7071 6979 7044 6817 + 36372 7069 6975 7087 6818 + 36373 7089 7175 6819 6903 + 36374 6819 7176 7089 6903 + 36375 6905 6975 7176 6819 + 36376 6819 6903 6975 7176 + 36377 7088 6820 6906 6977 + 36378 7088 7259 6906 6820 + 36379 7259 6903 6820 7088 + 36380 6907 6978 7178 6822 + 36381 6822 7038 7178 6915 + 36382 7038 7178 6978 6822 + 36383 6824 6907 6978 7094 + 36384 6824 6935 7094 6978 + 36385 6935 6824 7094 7073 + 36386 7073 6824 7094 7036 + 36387 6824 7036 6907 7094 + 36388 7179 6910 6825 7095 + 36389 6825 7179 6909 6980 + 36390 7179 6825 6908 7095 + 36391 6825 6910 7179 6980 + 36392 6910 6826 7095 6981 + 36393 6911 7096 7180 6828 + 36394 7180 6996 7050 6828 + 36395 7180 7050 6911 6828 + 36396 6829 7099 6932 6995 + 36397 6829 7098 7181 6912 + 36398 7182 7099 6932 6829 + 36399 7181 7098 6829 7267 + 36400 7181 6829 7099 7267 + 36401 6829 7099 7267 7182 + 36402 7098 6913 6829 7267 + 36403 6829 7267 6913 7182 + 36404 6981 7103 7186 6832 + 36405 7270 7186 7103 6832 + 36406 7189 7040 7271 6833 + 36407 7189 7271 7106 6833 + 36408 7188 7271 6833 7106 + 36409 6970 7064 6834 7079 + 36410 7108 7064 6834 6917 + 36411 7108 6834 7079 7029 + 36412 7064 6834 7079 7108 + 36413 6835 6968 7077 7108 + 36414 7190 7108 7029 6835 + 36415 7190 7061 7077 6835 + 36416 6835 7077 7190 7108 + 36417 6984 7092 7040 6837 + 36418 7039 6837 7191 6921 + 36419 6837 7191 6921 7092 + 36420 6837 7271 7092 7040 + 36421 6837 7191 7092 7271 + 36422 6837 7039 7191 7271 + 36423 6839 7105 7039 6915 + 36424 6839 7105 6915 7178 + 36425 7272 6839 7105 7039 + 36426 6839 7272 7069 7039 + 36427 6907 6839 7337 7087 + 36428 6839 6907 7337 7178 + 36429 6839 7087 7069 7401 + 36430 7337 7087 6839 7401 + 36431 6839 7069 7272 7401 + 36432 7401 6839 7337 7430 + 36433 7430 7105 7272 6839 + 36434 7272 7430 6839 7401 + 36435 7430 7105 6839 7178 + 36436 6839 7178 7337 7430 + 36437 7193 7082 6842 6922 + 36438 7193 6842 7042 6986 + 36439 6842 7082 7193 7042 + 36440 7193 6842 7083 6922 + 36441 7274 6842 7193 6986 + 36442 6923 6986 6842 7274 + 36443 6842 7193 7083 7274 + 36444 6923 7083 7274 6842 + 36445 6843 7113 7044 7071 + 36446 7070 6843 7113 7044 + 36447 7113 7071 6843 7174 + 36448 7174 6843 7086 7071 + 36449 7113 7196 6843 7070 + 36450 6843 7112 7197 7043 + 36451 7043 7086 7197 6843 + 36452 7112 6843 7197 7277 + 36453 7277 7112 6843 7196 + 36454 7277 6843 7113 7196 + 36455 7347 7113 7277 6843 + 36456 7347 7277 7197 6843 + 36457 7174 7086 6843 7347 + 36458 7113 6843 7347 7174 + 36459 7347 7086 6843 7197 + 36460 6904 7090 6844 6988 + 36461 7045 7090 6844 6904 + 36462 6844 7090 7194 6988 + 36463 7194 7090 6844 7045 + 36464 6844 7083 6922 7194 + 36465 7083 6844 7045 7194 + 36466 6991 7115 6846 6928 + 36467 6846 7115 6991 7198 + 36468 6928 7115 6846 7279 + 36469 6847 7072 7257 6990 + 36470 7257 6900 7072 6847 + 36471 6847 7257 7199 6990 + 36472 7280 7201 7116 6849 + 36473 7351 7280 6849 7201 + 36474 7280 7117 7351 6849 + 36475 7351 7117 6997 6849 + 36476 7052 6993 6929 6850 + 36477 7118 6850 6993 7052 + 36478 7101 6934 6997 6852 + 36479 6934 6852 7101 6994 + 36480 7182 7101 6913 6852 + 36481 6994 7101 7283 6852 + 36482 7182 7101 6852 7283 + 36483 7048 6994 7283 6852 + 36484 7182 6852 7048 7283 + 36485 6950 7049 7203 6853 + 36486 6853 7049 7203 7120 + 36487 7120 6853 6931 7204 + 36488 7284 7007 6853 7204 + 36489 7284 7007 6950 6853 + 36490 7284 6853 7120 7204 + 36491 6853 7203 7284 7120 + 36492 7284 6950 7203 6853 + 36493 6854 6993 6933 7119 + 36494 7202 6854 6934 7049 + 36495 7202 7074 6854 7049 + 36496 7287 6933 7119 6854 + 36497 6854 7287 7202 7119 + 36498 7202 7287 6854 7074 + 36499 6913 6855 7098 6992 + 36500 7185 6855 6992 7098 + 36501 6913 7098 6855 7267 + 36502 7288 6855 7117 7185 + 36503 7288 7356 6855 7185 + 36504 7356 6855 7126 7288 + 36505 7185 7356 6855 7098 + 36506 7267 6855 7126 7356 + 36507 7267 7098 6855 7356 + 36508 7097 6998 6856 6911 + 36509 7181 6912 6856 6998 + 36510 7266 7096 6911 6856 + 36511 6856 7266 7096 7184 + 36512 7266 6856 6911 7097 + 36513 6856 7127 7282 7181 + 36514 7358 7212 7097 6856 + 36515 7358 7097 6998 6856 + 36516 7212 7127 6856 7358 + 36517 6856 7358 7127 7181 + 36518 7181 6856 7358 6998 + 36519 6856 7359 7184 7282 + 36520 7127 7359 6856 7282 + 36521 7409 7266 6856 7184 + 36522 7184 6856 7409 7359 + 36523 7097 7266 6856 7409 + 36524 7127 7359 7409 6856 + 36525 7127 7409 7212 6856 + 36526 7097 6856 7212 7409 + 36527 7100 6857 6998 7211 + 36528 7211 7289 7100 6857 + 36529 7339 7050 6857 7125 + 36530 7398 6857 7100 7289 + 36531 7037 7398 7339 6857 + 36532 7398 6857 7037 7100 + 36533 7125 7431 7289 6857 + 36534 7398 7431 6857 7289 + 36535 7398 7431 7339 6857 + 36536 7125 7339 7431 6857 + 36537 7128 6858 7214 6969 + 36538 6969 6858 7214 7063 + 36539 7128 7214 6858 7290 + 36540 7361 7080 7063 6858 + 36541 7214 7361 7063 6858 + 36542 6858 7290 7361 7122 + 36543 7214 7290 7361 6858 + 36544 6998 6936 6859 7268 + 36545 7338 7213 6859 6935 + 36546 7291 7213 6859 7338 + 36547 6859 7291 7338 7100 + 36548 7213 7291 6859 7408 + 36549 6859 7408 7291 7100 + 36550 6859 7408 6998 7268 + 36551 6859 7408 7100 6998 + 36552 7408 7213 7432 6859 + 36553 7268 7408 7432 6859 + 36554 7122 7213 6859 7432 + 36555 7122 6859 7268 7432 + 36556 6863 7133 6939 7000 + 36557 6863 6941 7002 7134 + 36558 6863 6937 7216 7000 + 36559 7134 6941 7216 6863 + 36560 7133 7000 6863 7294 + 36561 6863 7002 6938 7294 + 36562 6863 7134 7002 7294 + 36563 6863 7216 7134 7294 + 36564 7294 7000 6863 7216 + 36565 7137 6942 7297 6864 + 36566 7297 6864 6942 7222 + 36567 7137 7297 6959 6864 + 36568 7003 6864 7297 7222 + 36569 7067 7032 6943 6865 + 36570 6865 7224 7067 7032 + 36571 7033 6954 6866 7138 + 36572 7138 7011 6954 6866 + 36573 6941 7223 6866 7002 + 36574 6866 6941 7003 7223 + 36575 6866 7223 7138 7011 + 36576 6866 7299 7223 7011 + 36577 6866 7002 7223 7299 + 36578 7033 6866 7366 7138 + 36579 7223 7003 6866 7366 + 36580 7223 6866 7138 7366 + 36581 7218 7051 6938 6867 + 36582 6952 7139 7218 6867 + 36583 7139 7368 6867 6944 + 36584 7218 7051 6867 7368 + 36585 7218 6867 7139 7368 + 36586 6944 6867 7051 7368 + 36587 6868 7005 7140 7226 + 36588 6868 7011 7055 7226 + 36589 6868 7055 7005 7226 + 36590 7226 7011 7299 6868 + 36591 7013 7301 6868 7140 + 36592 6868 7226 7140 7301 + 36593 6868 7299 7368 6944 + 36594 7226 7299 7368 6868 + 36595 7301 6868 7226 7368 + 36596 7013 6944 6868 7368 + 36597 7013 6868 7301 7368 + 36598 7139 6944 6869 7013 + 36599 7141 7056 6869 7076 + 36600 7141 7076 6869 7010 + 36601 7013 7056 6869 7227 + 36602 6869 7227 7139 7013 + 36603 7056 7302 7141 6869 + 36604 7302 7139 6869 7227 + 36605 7141 6869 7302 7010 + 36606 6869 7010 7139 7302 + 36607 7056 7227 7302 6869 + 36608 7053 6870 7123 7004 + 36609 6870 7053 7123 6945 + 36610 6870 6933 7123 7004 + 36611 6870 7123 7208 6945 + 36612 7054 7210 6956 6871 + 36613 7054 6871 7004 7406 + 36614 7054 7210 6871 7406 + 36615 6874 6947 7140 7230 + 36616 6874 7146 6947 7230 + 36617 7304 7005 7140 6874 + 36618 7140 7230 7304 6874 + 36619 7304 6946 7005 6874 + 36620 6946 7369 7016 6874 + 36621 6874 7369 7304 6946 + 36622 6874 7369 7016 6948 + 36623 6948 7146 6874 7369 + 36624 6874 7146 7230 7369 + 36625 7304 7230 7369 6874 + 36626 7058 6949 7232 6875 + 36627 7308 6875 6956 7058 + 36628 7058 7232 7308 6875 + 36629 7308 7147 6875 7232 + 36630 6949 7143 7232 6876 + 36631 7232 6876 7309 7057 + 36632 6876 7057 7015 7309 + 36633 7232 7143 7309 6876 + 36634 7309 7143 6957 6876 + 36635 6877 7220 7008 6939 + 36636 7300 6877 7234 6952 + 36637 7300 7148 6877 7220 + 36638 6877 7300 7234 7148 + 36639 6877 7148 7233 7311 + 36640 7220 7008 7311 6877 + 36641 6877 7233 6951 7311 + 36642 7220 7311 7148 6877 + 36643 6951 7311 7008 6877 + 36644 7312 6877 7148 7233 + 36645 6877 7234 7312 7148 + 36646 6877 7312 7009 6951 + 36647 7312 6951 6877 7233 + 36648 7149 7075 6953 6878 + 36649 7075 7312 7009 6878 + 36650 7149 7075 6878 7312 + 36651 6879 7008 7220 6939 + 36652 6879 6939 7295 7000 + 36653 6879 7295 7135 7000 + 36654 7295 6879 7220 6939 + 36655 7220 7311 7008 6879 + 36656 7295 7220 6879 7378 + 36657 7311 7378 6879 7220 + 36658 7295 6879 7135 7378 + 36659 6880 7151 7033 6958 + 36660 7033 6880 6954 7151 + 36661 7151 6954 7055 6880 + 36662 6880 7151 7228 7055 + 36663 7315 7151 6880 6958 + 36664 7315 7151 7228 6880 + 36665 6880 7228 7315 6955 + 36666 7153 6882 7241 6958 + 36667 6961 6883 7373 7007 + 36668 7007 6883 7373 6957 + 36669 7242 7373 7320 6883 + 36670 6883 7373 7320 7021 + 36671 7021 6883 7373 6961 + 36672 6957 7373 7420 6883 + 36673 7373 7420 6883 7242 + 36674 6883 7420 6957 7060 + 36675 7243 7024 7066 6884 + 36676 7243 6962 7024 6884 + 36677 6963 7155 6885 7062 + 36678 6963 7015 6885 7155 + 36679 7244 7155 7062 6885 + 36680 7015 6948 6885 7307 + 36681 6885 7307 6948 7016 + 36682 7307 6885 7382 7244 + 36683 7244 7382 7155 6885 + 36684 7382 6885 7307 7015 + 36685 6885 7015 7382 7155 + 36686 7321 7062 7023 6886 + 36687 7062 6886 7321 7244 + 36688 7321 6886 7159 7244 + 36689 7018 7162 6888 6965 + 36690 7245 6964 6888 7017 + 36691 7018 7245 6888 7162 + 36692 7245 6888 7162 7323 + 36693 7017 6888 7245 7323 + 36694 7389 6966 6889 7246 + 36695 6966 7389 6889 7160 + 36696 7389 6889 7323 7246 + 36697 7246 6890 7164 7020 + 36698 6890 7020 6967 7248 + 36699 7164 7020 6890 7248 + 36700 7248 6890 7158 7320 + 36701 7248 6967 6890 7320 + 36702 7322 6965 6890 7162 + 36703 6890 7322 7158 6965 + 36704 7422 7248 7164 6890 + 36705 7322 6890 7422 7162 + 36706 6890 7164 7422 7246 + 36707 6890 7248 7158 7422 + 36708 7162 7246 6890 7422 + 36709 6890 7158 7322 7422 + 36710 6892 7166 6967 7077 + 36711 7320 6892 6967 7021 + 36712 7021 6892 7107 7320 + 36713 7327 6892 7107 6971 + 36714 7107 6892 7327 7390 + 36715 6967 7320 7390 6892 + 36716 7166 7390 7327 6892 + 36717 7390 6967 6892 7166 + 36718 7107 7320 6892 7390 + 36719 7025 7108 6893 6917 + 36720 7251 7108 6893 7025 + 36721 6931 6894 7048 7205 + 36722 6931 7027 6894 7205 + 36723 7168 7354 6894 7205 + 36724 6894 7205 7354 7048 + 36725 7354 6894 7048 6932 + 36726 7028 7168 6894 7394 + 36727 7394 7027 6894 6971 + 36728 7205 7027 6894 7394 + 36729 7205 6894 7168 7394 + 36730 7394 6894 7028 6971 + 36731 6896 7033 7151 6958 + 36732 7333 6896 7225 7033 + 36733 7333 7033 7151 6896 + 36734 6958 6896 7156 7384 + 36735 7151 6958 7384 6896 + 36736 6896 7256 7156 7384 + 36737 6896 7333 7256 7384 + 36738 7151 7384 7333 6896 + 36739 7298 7156 6896 7386 + 36740 7298 7386 6896 6959 + 36741 7333 7225 6896 7386 + 36742 7225 6896 7386 6959 + 36743 7333 7256 7386 6896 + 36744 7156 7386 7256 6896 + 36745 7334 6897 6972 7034 + 36746 7068 6897 7334 7034 + 36747 6897 7396 7068 7334 + 36748 6897 7396 7258 7068 + 36749 6900 7035 7172 7072 + 36750 7072 6900 7257 7172 + 36751 6902 7078 7043 7086 + 36752 6974 6902 7071 7086 + 36753 7176 7069 6903 6975 + 36754 7259 7175 6903 7088 + 36755 7336 7175 6903 7259 + 36756 7336 7175 7089 6903 + 36757 7336 7089 7176 6903 + 36758 7069 7336 7176 6903 + 36759 6904 7046 7090 6988 + 36760 7175 6904 7046 7090 + 36761 6976 6905 7044 7091 + 36762 6905 6975 7087 7176 + 36763 7091 6905 7044 7261 + 36764 7087 6905 7176 7261 + 36765 7091 7176 6905 7261 + 36766 7261 7044 6979 6905 + 36767 7261 6979 7087 6905 + 36768 7094 6978 7178 6907 + 36769 6907 7087 7337 6979 + 36770 7337 6907 6979 7036 + 36771 7094 7178 7337 6907 + 36772 7337 7094 6907 7036 + 36773 7179 6908 7264 7095 + 36774 7093 6909 7179 6980 + 36775 7093 7179 6909 7037 + 36776 7093 6980 6910 7038 + 36777 6910 7093 7179 6980 + 36778 6981 7095 6910 7265 + 36779 7179 7265 6910 7095 + 36780 7093 7179 7265 6910 + 36781 7180 7266 7096 6911 + 36782 7101 6913 7267 7182 + 36783 6915 6982 7104 7039 + 36784 7039 7187 7104 6915 + 36785 7039 7105 7187 6915 + 36786 7340 7104 7187 6915 + 36787 7340 7187 7105 6915 + 36788 7178 7340 7105 6915 + 36789 7340 7038 6915 7178 + 36790 7064 7025 6917 7108 + 36791 7191 7039 6921 7069 + 36792 7336 7092 6921 7191 + 36793 7336 6921 7069 7191 + 36794 7194 7275 6922 7110 + 36795 7083 7275 6922 7194 + 36796 7275 7193 7083 6922 + 36797 6990 7072 7343 6922 + 36798 6922 7193 7082 7343 + 36799 7110 6922 7343 7275 + 36800 6990 6922 7343 7110 + 36801 7343 7072 7082 6922 + 36802 6922 7275 7193 7343 + 36803 7070 6923 6976 7045 + 36804 7083 7070 7045 6923 + 36805 7083 7274 7070 6923 + 36806 7173 6924 7068 7111 + 36807 7173 7276 6924 7111 + 36808 7195 7276 6924 7085 + 36809 6924 7276 6986 7085 + 36810 7111 7195 7276 6924 + 36811 7276 6986 7042 6924 + 36812 7042 7173 7276 6924 + 36813 6987 7081 7198 6925 + 36814 6928 7349 7115 7279 + 36815 6991 7349 7115 6928 + 36816 7349 6928 6990 7110 + 36817 6928 7279 7110 7349 + 36818 7120 6931 7065 7204 + 36819 6931 6994 7120 7205 + 36820 7065 7205 7027 6931 + 36821 6931 7120 7065 7205 + 36822 6931 6994 7205 7048 + 36823 6932 6995 7099 7354 + 36824 6932 7099 7182 7354 + 36825 6932 7354 7182 7048 + 36826 7209 7119 6933 7281 + 36827 7119 6933 7281 6993 + 36828 6933 7281 7123 7209 + 36829 7287 7119 6933 7209 + 36830 7209 7123 6933 7355 + 36831 7209 7355 6933 7287 + 36832 7004 6933 7123 7355 + 36833 6994 6934 7285 7101 + 36834 7202 7049 6934 7285 + 36835 7101 6934 7285 6997 + 36836 7285 7049 6934 6994 + 36837 7202 6934 7351 7285 + 36838 7351 7285 6934 6997 + 36839 7080 6935 7094 7073 + 36840 7080 7094 6935 7213 + 36841 7338 7094 7213 6935 + 36842 6935 7338 7094 6978 + 36843 6937 7215 7131 7001 + 36844 7000 7132 6937 7216 + 36845 6999 6937 7132 7216 + 36846 6937 7000 7292 7132 + 36847 6937 7292 7131 7215 + 36848 6937 7132 7292 7215 + 36849 7218 7294 6938 7051 + 36850 7294 6938 7051 7002 + 36851 7295 6939 7133 7000 + 36852 7295 6939 7220 7133 + 36853 6941 7223 7002 7134 + 36854 7223 7136 6941 7003 + 36855 7293 7136 6941 7216 + 36856 6999 7293 6941 7216 + 36857 7134 7364 7216 6941 + 36858 6941 7136 7223 7364 + 36859 7136 7216 7364 6941 + 36860 6941 7223 7134 7364 + 36861 7297 7365 6942 7137 + 36862 7297 6942 7365 7222 + 36863 7365 7222 6942 7130 + 36864 7139 7368 6944 7013 + 36865 7368 7051 6944 7299 + 36866 7208 7303 6945 7123 + 36867 7303 7142 6945 7053 + 36868 7053 6945 7303 7123 + 36869 6946 7016 7145 7066 + 36870 6946 7030 7066 7145 + 36871 6946 7030 7145 7229 + 36872 6946 7030 7229 7144 + 36873 7144 7304 6946 7005 + 36874 6946 7229 7304 7144 + 36875 7016 6946 7145 7369 + 36876 7369 6946 7145 7229 + 36877 6946 7229 7369 7304 + 36878 7056 7013 6947 7301 + 36879 6947 7301 7013 7140 + 36880 7146 6947 7230 7306 + 36881 7371 6947 7230 7140 + 36882 7056 6947 7371 7301 + 36883 7306 6947 7371 7014 + 36884 7371 6947 7306 7230 + 36885 7140 7371 6947 7301 + 36886 7014 7371 7056 6947 + 36887 7015 6948 7231 7057 + 36888 7307 7146 7231 6948 + 36889 7231 7307 6948 7015 + 36890 6948 7146 7369 7307 + 36891 6948 7369 7016 7307 + 36892 7058 6949 7143 7232 + 36893 6950 7049 7074 7203 + 36894 7007 7284 6950 7143 + 36895 7006 7372 7058 6950 + 36896 6950 7006 7372 7074 + 36897 6950 7074 7372 7203 + 36898 7284 7143 7413 6950 + 36899 7058 6950 7413 7143 + 36900 7203 7413 7372 6950 + 36901 6950 7413 7372 7058 + 36902 7203 7413 6950 7284 + 36903 7312 7374 6951 7233 + 36904 7312 7009 6951 7374 + 36905 7010 7139 7375 6952 + 36906 7300 7433 7218 6952 + 36907 7139 7433 6952 7218 + 36908 7300 7234 7433 6952 + 36909 7375 6952 7433 7234 + 36910 6952 7433 7139 7375 + 36911 6953 7075 7235 7053 + 36912 7313 7149 7075 6953 + 36913 7235 6953 7150 7313 + 36914 7313 7075 7235 6953 + 36915 7355 7053 7004 6953 + 36916 7076 6953 7149 7376 + 36917 7376 6953 7149 7313 + 36918 6953 7150 7313 7376 + 36919 7076 7054 6953 7376 + 36920 7004 6953 7406 7355 + 36921 7376 7406 6953 7150 + 36922 7004 6953 7054 7406 + 36923 7054 7406 6953 7376 + 36924 6953 7150 7406 7434 + 36925 6953 7434 7053 7235 + 36926 6953 7406 7355 7434 + 36927 6953 7150 7434 7235 + 36928 7355 7434 7053 6953 + 36929 7011 7138 6954 7055 + 36930 7151 6954 7033 7236 + 36931 7236 6954 7055 7151 + 36932 7236 7138 6954 7033 + 36933 7236 7055 6954 7138 + 36934 7012 7059 7152 6955 + 36935 6955 7059 7152 7380 + 36936 6955 7380 7315 7059 + 36937 6955 7228 7315 7380 + 36938 6955 7152 7030 7380 + 36939 7030 7228 6955 7380 + 36940 7308 7006 6956 7124 + 36941 6956 7308 7124 7210 + 36942 7308 6956 7006 7058 + 36943 7007 7143 6957 7373 + 36944 7060 7420 6957 7309 + 36945 6957 7420 7373 7143 + 36946 7309 6957 7143 7420 + 36947 7153 6958 7384 7315 + 36948 6958 7156 7241 7384 + 36949 7384 6958 7153 7241 + 36950 7151 7315 7384 6958 + 36951 7297 7225 7137 6959 + 36952 7225 7386 7137 6959 + 36953 7298 7137 7386 6959 + 36954 7373 7007 7204 6961 + 36955 7373 7204 7065 6961 + 36956 6961 7373 7021 7065 + 36957 7240 7018 6963 7060 + 36958 7240 6963 7015 7060 + 36959 7018 6963 7155 7240 + 36960 7155 7240 6963 7015 + 36961 6965 7018 7162 7322 + 36962 7322 7060 6965 7018 + 36963 7158 7322 7060 6965 + 36964 6966 7160 7019 7061 + 36965 6966 7325 7160 7061 + 36966 7020 7325 7246 6966 + 36967 7325 6966 7160 7389 + 36968 7325 7246 6966 7389 + 36969 7020 6967 7166 7077 + 36970 7248 6967 7166 7020 + 36971 7390 7320 6967 7248 + 36972 7248 7166 6967 7390 + 36973 7328 7128 7214 6969 + 36974 6969 7028 7328 7128 + 36975 6969 7214 7328 7025 + 36976 6970 7026 7064 7079 + 36977 7251 6971 7327 7028 + 36978 7394 7327 6971 7028 + 36979 7107 7327 6971 7394 + 36980 7394 7027 6971 7107 + 36981 7034 7334 7254 6972 + 36982 7035 6973 7084 7172 + 36983 6973 7072 7082 7172 + 36984 7035 7072 6973 7172 + 36985 6973 7082 7042 7173 + 36986 6973 7082 7335 7172 + 36987 7082 7335 7173 6973 + 36988 6973 7335 7084 7172 + 36989 7173 6973 7335 7084 + 36990 7080 7036 6974 7073 + 36991 7063 7086 6974 7174 + 36992 7036 7174 7080 6974 + 36993 7071 6974 7086 7174 + 36994 7063 6974 7080 7174 + 36995 7071 7036 6974 7174 + 36996 7176 7087 7069 6975 + 36997 6976 7045 7177 7070 + 36998 7177 7044 7091 6976 + 36999 6976 7177 7044 7070 + 37000 7178 7093 7038 6978 + 37001 6978 7262 7178 7093 + 37002 6978 7037 7262 7093 + 37003 7037 7262 7338 6978 + 37004 7338 7262 7178 6978 + 37005 7338 7094 6978 7178 + 37006 6979 7261 7087 7337 + 37007 7397 7071 6979 7044 + 37008 7397 7261 7044 6979 + 37009 6979 7397 7261 7337 + 37010 6979 7036 7397 7337 + 37011 6979 7071 7397 7036 + 37012 6981 7399 7095 7265 + 37013 6981 7186 7399 7265 + 37014 6982 7039 7188 7104 + 37015 7104 7188 6982 7270 + 37016 7344 6986 7274 7193 + 37017 6986 7344 7274 7112 + 37018 7085 7276 6986 7345 + 37019 6986 7112 7043 7345 + 37020 7345 7043 6986 7085 + 37021 7402 7276 6986 7042 + 37022 7402 7344 6986 7276 + 37023 7344 7402 6986 7193 + 37024 7193 7042 7402 6986 + 37025 7403 6986 7276 7345 + 37026 7344 7112 6986 7403 + 37027 7344 7403 6986 7276 + 37028 6986 7112 7345 7403 + 37029 7279 7194 7405 6988 + 37030 7405 7194 7090 6988 + 37031 6990 7257 7199 7343 + 37032 6990 7199 7110 7343 + 37033 7072 7257 6990 7343 + 37034 7349 6990 7199 7110 + 37035 7185 6992 7047 7098 + 37036 7118 6993 7201 7281 + 37037 7201 7281 6993 7119 + 37038 6994 7205 7283 7121 + 37039 6994 7205 7048 7283 + 37040 7206 7283 6994 7101 + 37041 7283 6994 7121 7206 + 37042 6994 7285 7206 7101 + 37043 6994 7205 7286 7120 + 37044 7286 6994 7121 7205 + 37045 7286 7121 6994 7353 + 37046 7285 7353 7049 6994 + 37047 7121 6994 7353 7206 + 37048 6994 7285 7353 7206 + 37049 7120 7353 6994 7049 + 37050 6994 7286 7353 7120 + 37051 7207 6995 7099 7268 + 37052 7122 6995 7207 7268 + 37053 7099 7207 7354 6995 + 37054 7050 6996 7180 7125 + 37055 7125 6996 7264 7050 + 37056 7351 7407 7285 6997 + 37057 7407 7101 7285 6997 + 37058 7117 7407 7351 6997 + 37059 7358 6998 7097 7211 + 37060 7268 7181 7358 6998 + 37061 7358 6998 7211 7408 + 37062 7268 7358 7408 6998 + 37063 7100 7211 6998 7408 + 37064 7293 7130 7217 6999 + 37065 6999 7217 7293 7362 + 37066 6999 7132 7217 7362 + 37067 7362 6999 7132 7216 + 37068 6999 7293 7216 7362 + 37069 7292 7135 7219 7000 + 37070 7000 7135 7219 7295 + 37071 7363 7292 7000 7132 + 37072 7292 7219 7363 7000 + 37073 7000 7219 7363 7295 + 37074 7132 7000 7363 7216 + 37075 7295 7133 7410 7000 + 37076 7295 7410 7363 7000 + 37077 7133 7410 7000 7294 + 37078 7410 7363 7000 7216 + 37079 7294 7410 7000 7216 + 37080 7294 7051 7134 7002 + 37081 7299 7134 7051 7002 + 37082 7299 7223 7134 7002 + 37083 7003 7136 7222 7297 + 37084 7366 7136 7003 7297 + 37085 7136 7366 7003 7223 + 37086 7123 7053 7004 7355 + 37087 7005 7305 7055 7144 + 37088 7055 7005 7226 7305 + 37089 7370 7226 7005 7305 + 37090 7144 7370 7304 7005 + 37091 7005 7370 7305 7144 + 37092 7226 7005 7140 7370 + 37093 7005 7370 7304 7140 + 37094 7372 7006 7308 7124 + 37095 7372 7074 7006 7124 + 37096 7006 7372 7308 7058 + 37097 7284 7007 7204 7373 + 37098 7007 7284 7143 7373 + 37099 7075 7009 7312 7374 + 37100 7375 7302 7139 7010 + 37101 7375 7076 7141 7010 + 37102 7375 7149 7076 7010 + 37103 7375 7141 7302 7010 + 37104 7299 7011 7226 7379 + 37105 7223 7138 7011 7379 + 37106 7379 7223 7299 7011 + 37107 7055 7416 7226 7011 + 37108 7011 7379 7138 7416 + 37109 7011 7226 7379 7416 + 37110 7055 7138 7416 7011 + 37111 7013 7301 7056 7227 + 37112 7013 7227 7139 7368 + 37113 7013 7301 7227 7368 + 37114 7239 7014 7147 7306 + 37115 7371 7306 7014 7239 + 37116 7239 7056 7014 7371 + 37117 7015 7231 7154 7057 + 37118 7154 7015 7057 7309 + 37119 7309 7060 7240 7015 + 37120 7154 7240 7015 7309 + 37121 7154 7240 7318 7015 + 37122 7155 7318 7240 7015 + 37123 7231 7382 7307 7015 + 37124 7154 7318 7382 7015 + 37125 7231 7382 7015 7154 + 37126 7318 7382 7015 7155 + 37127 7369 7016 7307 7145 + 37128 7163 7247 7318 7018 + 37129 7018 7155 7318 7240 + 37130 7318 7240 7163 7018 + 37131 7240 7163 7018 7322 + 37132 7322 7240 7060 7018 + 37133 7161 7324 7245 7018 + 37134 7161 7247 7324 7018 + 37135 7018 7387 7247 7318 + 37136 7387 7018 7247 7161 + 37137 7387 7155 7318 7018 + 37138 7388 7245 7324 7018 + 37139 7388 7324 7247 7018 + 37140 7018 7388 7245 7162 + 37141 7163 7388 7247 7018 + 37142 7163 7388 7018 7322 + 37143 7322 7388 7018 7162 + 37144 7246 7164 7391 7020 + 37145 7325 7020 7246 7391 + 37146 7164 7391 7020 7248 + 37147 7248 7166 7391 7020 + 37148 7425 7320 7021 7107 + 37149 7425 7373 7021 7320 + 37150 7021 7425 7107 7065 + 37151 7021 7373 7425 7065 + 37152 7161 7023 7321 7387 + 37153 7062 7321 7023 7387 + 37154 7024 7316 7243 7066 + 37155 7064 7439 7025 7108 + 37156 7251 7439 7108 7025 + 37157 7214 7439 7328 7025 + 37158 7328 7439 7251 7025 + 37159 7079 7085 7026 7064 + 37160 7085 7026 7064 7078 + 37161 7107 7394 7027 7441 + 37162 7065 7027 7441 7107 + 37163 7205 7027 7441 7065 + 37164 7205 7027 7394 7441 + 37165 7251 7327 7169 7028 + 37166 7028 7328 7169 7251 + 37167 7328 7169 7253 7028 + 37168 7328 7028 7253 7128 + 37169 7168 7253 7028 7393 + 37170 7028 7253 7128 7393 + 37171 7394 7169 7327 7028 + 37172 7168 7394 7028 7253 + 37173 7394 7253 7169 7028 + 37174 7029 7170 7427 7319 + 37175 7079 7029 7170 7427 + 37176 7029 7319 7427 7190 + 37177 7029 7427 7108 7190 + 37178 7029 7427 7079 7108 + 37179 7066 7145 7030 7316 + 37180 7152 7255 7316 7030 + 37181 7144 7332 7228 7030 + 37182 7332 7030 7255 7380 + 37183 7030 7332 7228 7380 + 37184 7255 7030 7152 7380 + 37185 7255 7316 7030 7395 + 37186 7145 7030 7316 7395 + 37187 7395 7030 7255 7428 + 37188 7332 7428 7030 7144 + 37189 7395 7030 7428 7145 + 37190 7332 7255 7030 7428 + 37191 7145 7229 7030 7428 + 37192 7428 7030 7144 7229 + 37193 7032 7298 7224 7385 + 37194 7032 7224 7067 7385 + 37195 7171 7033 7236 7333 + 37196 7033 7151 7236 7333 + 37197 7333 7225 7171 7033 + 37198 7366 7033 7236 7171 + 37199 7236 7033 7366 7138 + 37200 7225 7033 7366 7171 + 37201 7170 7334 7254 7034 + 37202 7079 7034 7429 7170 + 37203 7068 7334 7429 7034 + 37204 7034 7170 7334 7429 + 37205 7073 7094 7080 7036 + 37206 7263 7174 7080 7036 + 37207 7263 7080 7094 7036 + 37208 7094 7397 7036 7337 + 37209 7174 7397 7036 7263 + 37210 7036 7174 7071 7397 + 37211 7094 7036 7397 7263 + 37212 7037 7262 7093 7183 + 37213 7093 7339 7179 7037 + 37214 7093 7339 7037 7183 + 37215 7398 7262 7338 7037 + 37216 7037 7398 7262 7183 + 37217 7037 7338 7398 7100 + 37218 7339 7398 7037 7183 + 37219 7340 7093 7038 7178 + 37220 7191 7109 7039 7069 + 37221 7272 7187 7109 7039 + 37222 7069 7039 7272 7109 + 37223 7272 7105 7187 7039 + 37224 7342 7039 7109 7187 + 37225 7191 7109 7342 7039 + 37226 7342 7104 7039 7187 + 37227 7039 7191 7271 7342 + 37228 7342 7039 7188 7271 + 37229 7039 7188 7104 7342 + 37230 7173 7082 7042 7402 + 37231 7173 7276 7402 7042 + 37232 7082 7402 7193 7042 + 37233 7197 7043 7078 7086 + 37234 7345 7197 7112 7043 + 37235 7345 7078 7197 7043 + 37236 7345 7078 7043 7085 + 37237 7177 7346 7091 7044 + 37238 7346 7070 7044 7177 + 37239 7091 7044 7346 7261 + 37240 7261 7113 7044 7346 + 37241 7113 7346 7070 7044 + 37242 7044 7113 7261 7397 + 37243 7397 7044 7113 7071 + 37244 7194 7348 7090 7045 + 37245 7348 7177 7090 7045 + 37246 7348 7194 7404 7045 + 37247 7083 7070 7404 7045 + 37248 7083 7045 7404 7194 + 37249 7177 7070 7045 7404 + 37250 7404 7177 7348 7045 + 37251 7282 7185 7102 7047 + 37252 7047 7098 7282 7185 + 37253 7048 7283 7205 7354 + 37254 7354 7048 7283 7182 + 37255 7074 7353 7049 7202 + 37256 7202 7353 7049 7285 + 37257 7203 7353 7049 7074 + 37258 7120 7203 7353 7049 + 37259 7125 7264 7339 7050 + 37260 7218 7134 7294 7051 + 37261 7218 7134 7051 7412 + 37262 7368 7299 7412 7051 + 37263 7299 7412 7051 7134 + 37264 7412 7051 7218 7368 + 37265 7053 7075 7235 7142 + 37266 7142 7303 7377 7053 + 37267 7235 7377 7053 7142 + 37268 7434 7303 7123 7053 + 37269 7377 7303 7434 7053 + 37270 7377 7434 7235 7053 + 37271 7123 7434 7053 7355 + 37272 7054 7210 7406 7376 + 37273 7055 7228 7144 7416 + 37274 7236 7416 7055 7138 + 37275 7055 7416 7144 7305 + 37276 7055 7236 7151 7416 + 37277 7151 7228 7055 7416 + 37278 7226 7305 7416 7055 + 37279 7418 7227 7056 7301 + 37280 7056 7302 7227 7418 + 37281 7239 7418 7056 7371 + 37282 7239 7056 7418 7141 + 37283 7418 7141 7056 7302 + 37284 7418 7056 7371 7301 + 37285 7383 7147 7232 7057 + 37286 7383 7306 7147 7057 + 37287 7057 7419 7231 7154 + 37288 7057 7419 7306 7231 + 37289 7419 7306 7383 7057 + 37290 7057 7383 7419 7436 + 37291 7057 7436 7419 7154 + 37292 7057 7436 7154 7309 + 37293 7232 7383 7057 7443 + 37294 7232 7057 7309 7443 + 37295 7057 7443 7383 7436 + 37296 7436 7309 7057 7443 + 37297 7058 7143 7413 7232 + 37298 7308 7232 7058 7437 + 37299 7437 7308 7372 7058 + 37300 7437 7372 7413 7058 + 37301 7413 7058 7232 7437 + 37302 7153 7315 7380 7059 + 37303 7060 7240 7420 7309 + 37304 7420 7322 7060 7158 + 37305 7240 7322 7060 7420 + 37306 7190 7077 7061 7326 + 37307 7190 7061 7165 7326 + 37308 7061 7423 7160 7249 + 37309 7061 7325 7160 7423 + 37310 7061 7165 7423 7249 + 37311 7321 7062 7244 7387 + 37312 7387 7155 7062 7244 + 37313 7063 7331 7086 7174 + 37314 7361 7080 7174 7063 + 37315 7361 7174 7440 7063 + 37316 7440 7174 7331 7063 + 37317 7440 7331 7214 7063 + 37318 7440 7063 7214 7361 + 37319 7108 7079 7064 7252 + 37320 7085 7252 7064 7079 + 37321 7330 7252 7064 7085 + 37322 7085 7064 7330 7078 + 37323 7252 7064 7108 7439 + 37324 7330 7439 7064 7252 + 37325 7120 7204 7065 7286 + 37326 7065 7286 7205 7120 + 37327 7286 7204 7065 7425 + 37328 7373 7065 7204 7425 + 37329 7065 7441 7425 7107 + 37330 7065 7286 7425 7441 + 37331 7065 7205 7286 7441 + 37332 7243 7066 7316 7145 + 37333 7396 7258 7068 7173 + 37334 7396 7111 7173 7068 + 37335 7396 7429 7068 7334 + 37336 7068 7429 7396 7111 + 37337 7069 7192 7109 7272 + 37338 7192 7273 7069 7109 + 37339 7191 7069 7273 7109 + 37340 7069 7336 7191 7273 + 37341 7336 7069 7176 7273 + 37342 7401 7273 7069 7192 + 37343 7401 7176 7069 7273 + 37344 7069 7272 7401 7192 + 37345 7176 7401 7069 7087 + 37346 7274 7070 7196 7114 + 37347 7070 7196 7114 7278 + 37348 7346 7278 7070 7177 + 37349 7278 7070 7196 7346 + 37350 7113 7196 7070 7346 + 37351 7404 7274 7070 7083 + 37352 7404 7274 7114 7070 + 37353 7404 7114 7278 7070 + 37354 7177 7278 7070 7404 + 37355 7397 7174 7071 7113 + 37356 7257 7072 7172 7082 + 37357 7072 7343 7082 7257 + 37358 7203 7310 7353 7074 + 37359 7074 7372 7203 7310 + 37360 7074 7310 7124 7372 + 37361 7074 7287 7124 7414 + 37362 7310 7353 7074 7414 + 37363 7310 7074 7124 7414 + 37364 7074 7202 7287 7414 + 37365 7353 7074 7414 7202 + 37366 7142 7235 7314 7075 + 37367 7142 7314 7374 7075 + 37368 7435 7374 7314 7075 + 37369 7435 7235 7313 7075 + 37370 7435 7313 7149 7075 + 37371 7435 7314 7235 7075 + 37372 7312 7075 7374 7435 + 37373 7435 7312 7075 7149 + 37374 7076 7149 7375 7238 + 37375 7238 7076 7141 7375 + 37376 7076 7149 7238 7376 + 37377 7238 7141 7076 7376 + 37378 7392 7190 7326 7077 + 37379 7392 7108 7190 7077 + 37380 7078 7085 7345 7330 + 37381 7345 7330 7197 7078 + 37382 7108 7427 7079 7252 + 37383 7442 7079 7429 7170 + 37384 7079 7170 7442 7427 + 37385 7085 7079 7429 7442 + 37386 7085 7442 7252 7079 + 37387 7427 7252 7442 7079 + 37388 7263 7129 7213 7080 + 37389 7129 7263 7174 7080 + 37390 7263 7213 7094 7080 + 37391 7080 7361 7129 7213 + 37392 7080 7174 7129 7361 + 37393 7335 7173 7402 7082 + 37394 7444 7082 7343 7257 + 37395 7335 7402 7444 7082 + 37396 7082 7335 7172 7444 + 37397 7257 7172 7444 7082 + 37398 7082 7534 7444 7343 + 37399 7082 7534 7402 7444 + 37400 7193 7534 7082 7343 + 37401 7082 7402 7534 7193 + 37402 7344 7274 7083 7193 + 37403 7404 7083 7344 7274 + 37404 7083 7445 7193 7275 + 37405 7194 7404 7083 7445 + 37406 7083 7344 7445 7404 + 37407 7194 7083 7275 7445 + 37408 7344 7083 7445 7193 + 37409 7335 7258 7173 7084 + 37410 7345 7085 7276 7195 + 37411 7085 7429 7195 7442 + 37412 7345 7085 7442 7330 + 37413 7345 7442 7085 7195 + 37414 7330 7442 7252 7085 + 37415 7174 7331 7086 7347 + 37416 7347 7331 7086 7197 + 37417 7087 7401 7261 7176 + 37418 7337 7401 7261 7087 + 37419 7336 7176 7089 7273 + 37420 7089 7260 7448 7176 + 37421 7273 7176 7089 7448 + 37422 7090 7260 7177 7348 + 37423 7348 7090 7405 7194 + 37424 7176 7260 7448 7091 + 37425 7448 7091 7261 7176 + 37426 7091 7536 7260 7448 + 37427 7346 7177 7091 7536 + 37428 7177 7260 7091 7536 + 37429 7536 7448 7091 7620 + 37430 7346 7536 7091 7620 + 37431 7091 7261 7346 7620 + 37432 7620 7091 7261 7448 + 37433 7093 7183 7265 7339 + 37434 7093 7265 7179 7339 + 37435 7093 7340 7265 7183 + 37436 7262 7093 7340 7178 + 37437 7340 7262 7183 7093 + 37438 7338 7094 7178 7449 + 37439 7538 7213 7338 7094 + 37440 7538 7094 7338 7449 + 37441 7538 7263 7213 7094 + 37442 7538 7621 7094 7449 + 37443 7094 7337 7178 7621 + 37444 7178 7094 7621 7449 + 37445 7621 7094 7263 7538 + 37446 7621 7397 7263 7094 + 37447 7621 7337 7397 7094 + 37448 7264 7095 7399 7179 + 37449 7265 7399 7095 7179 + 37450 7266 7452 7409 7097 + 37451 7452 7212 7409 7097 + 37452 7452 7266 7360 7097 + 37453 7097 7289 7541 7211 + 37454 7212 7097 7541 7358 + 37455 7452 7212 7097 7541 + 37456 7211 7097 7358 7541 + 37457 7360 7452 7097 7624 + 37458 7624 7360 7289 7097 + 37459 7624 7289 7541 7097 + 37460 7541 7097 7452 7624 + 37461 7185 7282 7356 7098 + 37462 7356 7098 7181 7267 + 37463 7181 7282 7098 7356 + 37464 7357 7267 7099 7182 + 37465 7357 7182 7099 7454 + 37466 7454 7182 7099 7354 + 37467 7207 7099 7542 7268 + 37468 7099 7181 7542 7268 + 37469 7181 7267 7099 7542 + 37470 7454 7099 7625 7354 + 37471 7267 7099 7542 7625 + 37472 7099 7542 7625 7207 + 37473 7357 7267 7625 7099 + 37474 7357 7099 7625 7454 + 37475 7625 7099 7207 7354 + 37476 7455 7211 7100 7408 + 37477 7455 7289 7100 7211 + 37478 7100 7408 7291 7455 + 37479 7623 7100 7289 7398 + 37480 7455 7100 7289 7623 + 37481 7623 7338 7100 7398 + 37482 7100 7291 7623 7455 + 37483 7338 7291 7623 7100 + 37484 7357 7101 7267 7182 + 37485 7357 7101 7283 7206 + 37486 7283 7101 7357 7182 + 37487 7206 7407 7357 7101 + 37488 7206 7285 7407 7101 + 37489 7282 7102 7359 7184 + 37490 7102 7456 7282 7359 + 37491 7185 7456 7282 7102 + 37492 7185 7543 7456 7102 + 37493 7543 7359 7456 7102 + 37494 7185 7269 7543 7102 + 37495 7186 7103 7457 7270 + 37496 7103 7457 7270 7341 + 37497 7104 7400 7340 7458 + 37498 7104 7340 7187 7458 + 37499 7544 7104 7188 7342 + 37500 7104 7544 7188 7270 + 37501 7544 7104 7400 7270 + 37502 7544 7458 7400 7104 + 37503 7104 7187 7627 7458 + 37504 7104 7627 7544 7458 + 37505 7187 7627 7342 7104 + 37506 7342 7627 7544 7104 + 37507 7262 7340 7105 7178 + 37508 7178 7430 7105 7449 + 37509 7178 7105 7262 7449 + 37510 7105 7340 7545 7187 + 37511 7105 7545 7449 7430 + 37512 7105 7545 7272 7187 + 37513 7545 7105 7272 7430 + 37514 7449 7545 7105 7622 + 37515 7340 7105 7545 7622 + 37516 7262 7622 7449 7105 + 37517 7262 7340 7622 7105 + 37518 7106 7189 7460 7271 + 37519 7271 7106 7188 7460 + 37520 7106 7628 7188 7460 + 37521 7188 7628 7106 7341 + 37522 7107 7320 7390 7425 + 37523 7461 7327 7390 7107 + 37524 7425 7390 7107 7461 + 37525 7461 7107 7425 7441 + 37526 7461 7394 7107 7441 + 37527 7394 7461 7107 7327 + 37528 7427 7392 7252 7108 + 37529 7427 7392 7108 7190 + 37530 7251 7439 7392 7108 + 37531 7252 7108 7392 7439 + 37532 7459 7187 7109 7272 + 37533 7459 7109 7192 7272 + 37534 7187 7459 7109 7627 + 37535 7342 7109 7627 7187 + 37536 7275 7405 7110 7194 + 37537 7279 7405 7194 7110 + 37538 7405 7110 7463 7275 + 37539 7199 7110 7343 7463 + 37540 7275 7343 7110 7463 + 37541 7110 7463 7199 7349 + 37542 7463 7349 7110 7546 + 37543 7546 7110 7463 7405 + 37544 7546 7279 7110 7405 + 37545 7279 7110 7349 7546 + 37546 7276 7173 7446 7111 + 37547 7111 7396 7465 7429 + 37548 7446 7173 7535 7111 + 37549 7396 7535 7173 7111 + 37550 7446 7548 7276 7111 + 37551 7195 7548 7111 7276 + 37552 7111 7465 7550 7429 + 37553 7111 7429 7550 7195 + 37554 7111 7535 7446 7631 + 37555 7111 7396 7535 7631 + 37556 7631 7396 7465 7111 + 37557 7550 7631 7465 7111 + 37558 7446 7768 7111 7631 + 37559 7111 7548 7195 7768 + 37560 7111 7195 7550 7768 + 37561 7768 7550 7111 7631 + 37562 7446 7768 7548 7111 + 37563 7344 7196 7274 7112 + 37564 7344 7112 7403 7196 + 37565 7467 7277 7196 7112 + 37566 7467 7403 7112 7196 + 37567 7345 7112 7197 7467 + 37568 7197 7112 7277 7467 + 37569 7112 7467 7345 7403 + 37570 7174 7347 7113 7447 + 37571 7174 7113 7397 7447 + 37572 7468 7196 7113 7346 + 37573 7277 7196 7113 7468 + 37574 7113 7447 7537 7397 + 37575 7397 7537 7113 7261 + 37576 7261 7537 7113 7346 + 37577 7277 7113 7347 7553 + 37578 7347 7553 7113 7447 + 37579 7346 7537 7113 7636 + 37580 7277 7113 7636 7468 + 37581 7636 7277 7553 7113 + 37582 7346 7468 7636 7113 + 37583 7113 7636 7447 7553 + 37584 7636 7537 7113 7447 + 37585 7274 7196 7344 7114 + 37586 7404 7344 7114 7274 + 37587 7468 7114 7196 7278 + 37588 7278 7114 7404 7470 + 37589 7468 7196 7114 7551 + 37590 7551 7196 7114 7634 + 37591 7196 7344 7114 7634 + 37592 7470 7637 7278 7114 + 37593 7114 7637 7278 7468 + 37594 7470 7114 7404 7709 + 37595 7709 7344 7114 7404 + 37596 7344 7709 7114 7634 + 37597 7771 7114 7709 7634 + 37598 7551 7468 7771 7114 + 37599 7114 7771 7637 7468 + 37600 7771 7637 7470 7114 + 37601 7114 7709 7470 7771 + 37602 7114 7551 7634 7771 + 37603 7279 7115 7546 7349 + 37604 7352 7116 7280 7201 + 37605 7116 7280 7471 7352 + 37606 7116 7554 7471 7280 + 37607 7554 7280 7116 7200 + 37608 7288 7117 7350 7185 + 37609 7280 7200 7350 7117 + 37610 7351 7407 7117 7280 + 37611 7288 7117 7407 7473 + 37612 7407 7117 7280 7473 + 37613 7288 7350 7117 7473 + 37614 7350 7280 7117 7473 + 37615 7201 7352 7118 7281 + 37616 7474 7118 7352 7281 + 37617 7208 7118 7474 7281 + 37618 7280 7119 7201 7351 + 37619 7351 7202 7472 7119 + 37620 7472 7351 7119 7280 + 37621 7555 7281 7201 7119 + 37622 7119 7201 7555 7280 + 37623 7281 7119 7555 7209 + 37624 7280 7555 7119 7472 + 37625 7209 7119 7555 7713 + 37626 7119 7209 7287 7713 + 37627 7713 7119 7555 7472 + 37628 7202 7119 7287 7713 + 37629 7202 7472 7119 7713 + 37630 7284 7204 7120 7475 + 37631 7475 7353 7286 7120 + 37632 7475 7203 7353 7120 + 37633 7286 7120 7204 7475 + 37634 7203 7120 7475 7284 + 37635 7357 7283 7121 7206 + 37636 7286 7121 7476 7205 + 37637 7557 7121 7353 7206 + 37638 7353 7557 7477 7121 + 37639 7283 7357 7121 7558 + 37640 7476 7558 7205 7121 + 37641 7283 7121 7205 7558 + 37642 7286 7560 7121 7353 + 37643 7353 7121 7477 7560 + 37644 7476 7286 7560 7121 + 37645 7121 7357 7206 7642 + 37646 7642 7477 7557 7121 + 37647 7642 7206 7121 7557 + 37648 7642 7477 7121 7714 + 37649 7357 7121 7714 7642 + 37650 7714 7558 7121 7357 + 37651 7558 7772 7714 7121 + 37652 7558 7476 7772 7121 + 37653 7477 7121 7714 7772 + 37654 7560 7477 7772 7121 + 37655 7560 7772 7476 7121 + 37656 7432 7122 7290 7207 + 37657 7122 7268 7207 7432 + 37658 7122 7290 7561 7432 + 37659 7561 7122 7432 7213 + 37660 7561 7290 7122 7645 + 37661 7645 7290 7122 7361 + 37662 7561 7645 7122 7213 + 37663 7645 7122 7213 7361 + 37664 7434 7123 7209 7355 + 37665 7208 7474 7303 7123 + 37666 7303 7123 7474 7434 + 37667 7123 7474 7281 7208 + 37668 7281 7474 7123 7209 + 37669 7209 7474 7123 7434 + 37670 7417 7124 7308 7210 + 37671 7372 7124 7308 7437 + 37672 7437 7308 7417 7124 + 37673 7372 7310 7124 7437 + 37674 7479 7406 7287 7124 + 37675 7479 7124 7287 7414 + 37676 7310 7480 7124 7437 + 37677 7480 7124 7414 7310 + 37678 7437 7417 7480 7124 + 37679 7417 7124 7563 7480 + 37680 7406 7210 7124 7647 + 37681 7563 7479 7124 7647 + 37682 7417 7647 7124 7210 + 37683 7479 7647 7406 7124 + 37684 7124 7647 7417 7563 + 37685 7480 7648 7124 7563 + 37686 7124 7414 7648 7480 + 37687 7479 7414 7648 7124 + 37688 7479 7648 7563 7124 + 37689 7339 7431 7451 7125 + 37690 7339 7451 7264 7125 + 37691 7564 7125 7451 7431 + 37692 7431 7564 7125 7289 + 37693 7289 7564 7125 7360 + 37694 7288 7126 7481 7407 + 37695 7357 7126 7407 7481 + 37696 7453 7126 7356 7542 + 37697 7126 7267 7356 7542 + 37698 7267 7542 7126 7625 + 37699 7542 7453 7126 7625 + 37700 7126 7267 7625 7357 + 37701 7625 7566 7453 7126 + 37702 7356 7126 7649 7288 + 37703 7453 7649 7126 7566 + 37704 7126 7453 7356 7649 + 37705 7481 7649 7126 7288 + 37706 7481 7126 7649 7566 + 37707 7566 7481 7126 7773 + 37708 7773 7625 7357 7126 + 37709 7566 7126 7625 7773 + 37710 7773 7357 7481 7126 + 37711 7181 7282 7356 7127 + 37712 7181 7356 7453 7127 + 37713 7181 7453 7358 7127 + 37714 7456 7359 7127 7282 + 37715 7356 7127 7282 7456 + 37716 7482 7409 7212 7127 + 37717 7453 7358 7127 7567 + 37718 7567 7482 7212 7127 + 37719 7567 7212 7358 7127 + 37720 7127 7456 7649 7556 + 37721 7453 7356 7649 7127 + 37722 7356 7649 7127 7456 + 37723 7456 7359 7653 7127 + 37724 7482 7653 7409 7127 + 37725 7653 7127 7556 7456 + 37726 7127 7556 7482 7653 + 37727 7359 7409 7653 7127 + 37728 7721 7649 7127 7453 + 37729 7721 7649 7556 7127 + 37730 7721 7556 7482 7127 + 37731 7567 7721 7482 7127 + 37732 7567 7453 7721 7127 + 37733 7426 7214 7328 7128 + 37734 7128 7214 7440 7426 + 37735 7128 7440 7214 7290 + 37736 7128 7469 7440 7290 + 37737 7128 7440 7469 7426 + 37738 7253 7569 7128 7393 + 37739 7655 7469 7426 7128 + 37740 7655 7569 7128 7253 + 37741 7655 7469 7128 7569 + 37742 7426 7328 7655 7128 + 37743 7328 7655 7128 7253 + 37744 7469 7128 7569 7723 + 37745 7128 7723 7469 7290 + 37746 7393 7723 7569 7128 + 37747 7393 7290 7723 7128 + 37748 7129 7440 7174 7347 + 37749 7129 7174 7440 7361 + 37750 7347 7129 7447 7174 + 37751 7263 7129 7174 7447 + 37752 7538 7129 7213 7263 + 37753 7213 7484 7129 7538 + 37754 7213 7129 7484 7645 + 37755 7645 7213 7129 7361 + 37756 7440 7129 7361 7645 + 37757 7538 7702 7484 7129 + 37758 7447 7263 7129 7702 + 37759 7484 7645 7129 7702 + 37760 7538 7129 7263 7702 + 37761 7702 7129 7770 7645 + 37762 7129 7770 7347 7447 + 37763 7129 7347 7770 7440 + 37764 7129 7702 7770 7447 + 37765 7129 7770 7645 7440 + 37766 7485 7217 7293 7130 + 37767 7217 7130 7485 7411 + 37768 7221 7485 7130 7411 + 37769 7222 7365 7485 7130 + 37770 7222 7485 7293 7130 + 37771 7132 7217 7362 7411 + 37772 7486 7215 7132 7296 + 37773 7296 7132 7486 7411 + 37774 7132 7363 7487 7216 + 37775 7362 7132 7487 7216 + 37776 7363 7292 7132 7571 + 37777 7292 7571 7215 7132 + 37778 7571 7215 7132 7486 + 37779 7132 7362 7572 7411 + 37780 7572 7411 7486 7132 + 37781 7573 7363 7487 7132 + 37782 7486 7571 7656 7132 + 37783 7656 7132 7363 7573 + 37784 7363 7571 7132 7656 + 37785 7573 7487 7725 7132 + 37786 7725 7486 7132 7572 + 37787 7656 7486 7132 7725 + 37788 7572 7725 7362 7132 + 37789 7656 7725 7132 7573 + 37790 7487 7362 7725 7132 + 37791 7133 7220 7488 7300 + 37792 7295 7133 7220 7488 + 37793 7133 7367 7489 7294 + 37794 7133 7489 7410 7294 + 37795 7133 7488 7575 7300 + 37796 7295 7575 7133 7488 + 37797 7295 7133 7575 7410 + 37798 7575 7367 7489 7133 + 37799 7300 7367 7575 7133 + 37800 7575 7489 7410 7133 + 37801 7134 7216 7364 7294 + 37802 7367 7134 7294 7218 + 37803 7412 7218 7134 7367 + 37804 7134 7489 7367 7294 + 37805 7364 7489 7134 7294 + 37806 7576 7134 7223 7364 + 37807 7134 7489 7364 7576 + 37808 7658 7299 7223 7134 + 37809 7299 7658 7412 7134 + 37810 7658 7576 7134 7223 + 37811 7489 7134 7367 7658 + 37812 7658 7134 7576 7489 + 37813 7412 7134 7658 7367 + 37814 7135 7219 7295 7577 + 37815 7577 7295 7135 7378 + 37816 7216 7362 7293 7136 + 37817 7364 7136 7487 7216 + 37818 7216 7487 7362 7136 + 37819 7491 7222 7136 7297 + 37820 7366 7491 7136 7297 + 37821 7222 7574 7136 7293 + 37822 7293 7574 7136 7362 + 37823 7136 7222 7491 7574 + 37824 7223 7576 7364 7136 + 37825 7491 7136 7662 7366 + 37826 7136 7491 7662 7574 + 37827 7223 7662 7136 7366 + 37828 7136 7223 7576 7662 + 37829 7136 7576 7729 7662 + 37830 7729 7364 7576 7136 + 37831 7777 7729 7662 7136 + 37832 7574 7136 7777 7662 + 37833 7136 7487 7362 7777 + 37834 7136 7777 7362 7574 + 37835 7487 7777 7136 7364 + 37836 7729 7136 7777 7364 + 37837 7297 7225 7365 7137 + 37838 7386 7298 7493 7137 + 37839 7224 7137 7493 7298 + 37840 7137 7225 7365 7578 + 37841 7578 7137 7225 7386 + 37842 7386 7493 7578 7137 + 37843 7223 7138 7492 7366 + 37844 7223 7492 7138 7379 + 37845 7236 7496 7416 7138 + 37846 7580 7366 7492 7138 + 37847 7236 7366 7580 7138 + 37848 7416 7138 7496 7581 + 37849 7138 7581 7416 7379 + 37850 7580 7492 7731 7138 + 37851 7492 7138 7379 7731 + 37852 7236 7580 7731 7138 + 37853 7496 7236 7731 7138 + 37854 7138 7581 7379 7731 + 37855 7138 7496 7581 7731 + 37856 7139 7412 7218 7368 + 37857 7433 7412 7218 7139 + 37858 7582 7368 7139 7227 + 37859 7433 7582 7412 7139 + 37860 7139 7582 7412 7368 + 37861 7582 7139 7302 7227 + 37862 7666 7139 7375 7302 + 37863 7582 7666 7139 7433 + 37864 7666 7139 7433 7375 + 37865 7666 7582 7139 7302 + 37866 7370 7140 7498 7304 + 37867 7140 7230 7498 7304 + 37868 7371 7230 7498 7140 + 37869 7370 7140 7226 7583 + 37870 7583 7498 7370 7140 + 37871 7371 7301 7140 7583 + 37872 7371 7583 7140 7498 + 37873 7140 7301 7226 7583 + 37874 7238 7317 7141 7376 + 37875 7141 7302 7500 7375 + 37876 7141 7500 7238 7375 + 37877 7239 7418 7501 7141 + 37878 7501 7141 7317 7239 + 37879 7500 7584 7302 7141 + 37880 7584 7317 7141 7238 + 37881 7584 7141 7500 7238 + 37882 7501 7584 7317 7141 + 37883 7418 7668 7141 7302 + 37884 7141 7302 7668 7584 + 37885 7141 7668 7501 7584 + 37886 7501 7668 7141 7418 + 37887 7502 7142 7235 7314 + 37888 7235 7502 7377 7142 + 37889 7143 7443 7413 7232 + 37890 7143 7309 7443 7232 + 37891 7309 7143 7443 7420 + 37892 7559 7284 7373 7143 + 37893 7284 7413 7143 7559 + 37894 7443 7420 7143 7559 + 37895 7443 7143 7413 7559 + 37896 7559 7373 7420 7143 + 37897 7144 7332 7428 7503 + 37898 7428 7144 7586 7229 + 37899 7144 7304 7370 7586 + 37900 7144 7428 7586 7503 + 37901 7144 7229 7304 7586 + 37902 7144 7228 7332 7587 + 37903 7587 7503 7332 7144 + 37904 7144 7228 7587 7416 + 37905 7587 7669 7503 7144 + 37906 7669 7587 7416 7144 + 37907 7669 7503 7144 7586 + 37908 7144 7669 7586 7370 + 37909 7305 7370 7669 7144 + 37910 7305 7669 7416 7144 + 37911 7369 7307 7421 7145 + 37912 7145 7395 7504 7428 + 37913 7428 7504 7145 7229 + 37914 7145 7316 7505 7395 + 37915 7243 7316 7505 7145 + 37916 7421 7145 7243 7505 + 37917 7505 7588 7145 7395 + 37918 7421 7145 7505 7588 + 37919 7145 7395 7588 7504 + 37920 7588 7145 7671 7421 + 37921 7145 7671 7229 7504 + 37922 7145 7588 7671 7504 + 37923 7671 7421 7145 7369 + 37924 7369 7145 7671 7229 + 37925 7230 7146 7506 7369 + 37926 7146 7369 7307 7506 + 37927 7231 7146 7307 7506 + 37928 7230 7146 7589 7506 + 37929 7230 7589 7146 7306 + 37930 7146 7589 7506 7231 + 37931 7306 7146 7231 7589 + 37932 7437 7308 7147 7417 + 37933 7232 7383 7437 7147 + 37934 7232 7437 7308 7147 + 37935 7147 7306 7508 7239 + 37936 7508 7147 7383 7306 + 37937 7590 7147 7508 7239 + 37938 7590 7437 7147 7417 + 37939 7590 7239 7381 7147 + 37940 7590 7383 7147 7437 + 37941 7590 7147 7381 7417 + 37942 7590 7147 7383 7508 + 37943 7220 7148 7311 7378 + 37944 7220 7488 7148 7378 + 37945 7148 7488 7220 7300 + 37946 7312 7148 7511 7233 + 37947 7511 7312 7234 7148 + 37948 7511 7593 7233 7148 + 37949 7148 7378 7488 7593 + 37950 7148 7311 7378 7593 + 37951 7148 7593 7233 7311 + 37952 7488 7148 7593 7665 + 37953 7511 7234 7665 7148 + 37954 7300 7665 7148 7488 + 37955 7593 7665 7148 7511 + 37956 7300 7665 7234 7148 + 37957 7376 7149 7238 7313 + 37958 7313 7149 7238 7415 + 37959 7375 7238 7149 7415 + 37960 7415 7435 7149 7312 + 37961 7435 7149 7313 7415 + 37962 7150 7235 7512 7434 + 37963 7513 7376 7313 7150 + 37964 7562 7512 7434 7150 + 37965 7406 7434 7150 7562 + 37966 7596 7150 7313 7235 + 37967 7596 7235 7512 7150 + 37968 7513 7150 7313 7596 + 37969 7647 7406 7150 7562 + 37970 7376 7647 7406 7150 + 37971 7513 7647 7376 7150 + 37972 7562 7742 7512 7150 + 37973 7742 7150 7596 7512 + 37974 7647 7150 7742 7562 + 37975 7513 7742 7150 7596 + 37976 7742 7647 7513 7150 + 37977 7515 7333 7151 7384 + 37978 7151 7587 7228 7416 + 37979 7670 7315 7384 7151 + 37980 7670 7151 7228 7315 + 37981 7670 7384 7515 7151 + 37982 7151 7670 7228 7587 + 37983 7786 7236 7151 7333 + 37984 7587 7786 7151 7670 + 37985 7786 7151 7515 7333 + 37986 7151 7786 7515 7670 + 37987 7151 7786 7587 7416 + 37988 7416 7236 7151 7786 + 37989 7315 7516 7153 7380 + 37990 7516 7384 7315 7153 + 37991 7516 7598 7384 7153 + 37992 7384 7153 7598 7241 + 37993 7436 7240 7154 7309 + 37994 7240 7518 7154 7318 + 37995 7436 7154 7240 7518 + 37996 7600 7518 7154 7436 + 37997 7600 7419 7436 7154 + 37998 7318 7673 7518 7154 + 37999 7382 7154 7231 7673 + 38000 7318 7382 7673 7154 + 38001 7600 7673 7154 7518 + 38002 7673 7419 7600 7154 + 38003 7673 7231 7419 7154 + 38004 7244 7155 7382 7318 + 38005 7244 7387 7155 7318 + 38006 7256 7519 7156 7384 + 38007 7385 7156 7519 7241 + 38008 7519 7241 7156 7384 + 38009 7156 7298 7385 7579 + 38010 7156 7385 7519 7579 + 38011 7386 7579 7298 7156 + 38012 7156 7386 7579 7685 + 38013 7685 7256 7519 7156 + 38014 7156 7386 7685 7256 + 38015 7156 7579 7519 7685 + 38016 7319 7157 7603 7249 + 38017 7319 7157 7254 7603 + 38018 7420 7242 7322 7158 + 38019 7242 7158 7520 7322 + 38020 7158 7322 7422 7520 + 38021 7158 7422 7248 7520 + 38022 7242 7520 7158 7604 + 38023 7242 7158 7320 7604 + 38024 7604 7248 7520 7158 + 38025 7604 7320 7248 7158 + 38026 7421 7243 7159 7505 + 38027 7321 7244 7159 7689 + 38028 7159 7522 7689 7244 + 38029 7690 7159 7505 7421 + 38030 7752 7690 7421 7159 + 38031 7522 7159 7752 7244 + 38032 7159 7421 7752 7244 + 38033 7752 7522 7690 7159 + 38034 7325 7160 7423 7389 + 38035 7387 7161 7523 7321 + 38036 7161 7523 7324 7247 + 38037 7247 7161 7523 7387 + 38038 7322 7422 7388 7162 + 38039 7323 7162 7245 7524 + 38040 7524 7162 7245 7388 + 38041 7605 7162 7246 7323 + 38042 7605 7388 7162 7524 + 38043 7323 7605 7162 7524 + 38044 7162 7605 7246 7422 + 38045 7422 7605 7388 7162 + 38046 7240 7318 7163 7518 + 38047 7247 7388 7163 7526 + 38048 7602 7322 7163 7240 + 38049 7602 7163 7518 7240 + 38050 7322 7163 7691 7602 + 38051 7691 7388 7163 7322 + 38052 7388 7163 7526 7691 + 38053 7518 7318 7163 7746 + 38054 7746 7163 7607 7526 + 38055 7247 7163 7318 7746 + 38056 7746 7247 7163 7526 + 38057 7607 7518 7163 7746 + 38058 7607 7526 7163 7754 + 38059 7163 7754 7691 7602 + 38060 7526 7163 7754 7691 + 38061 7607 7163 7518 7754 + 38062 7163 7518 7754 7602 + 38063 7248 7520 7422 7164 + 38064 7164 7246 7391 7525 + 38065 7164 7605 7246 7525 + 38066 7164 7422 7246 7605 + 38067 7694 7391 7525 7164 + 38068 7694 7525 7605 7164 + 38069 7391 7248 7164 7755 + 38070 7248 7755 7520 7164 + 38071 7164 7694 7391 7755 + 38072 7605 7791 7694 7164 + 38073 7164 7520 7422 7791 + 38074 7164 7791 7694 7755 + 38075 7422 7164 7791 7605 + 38076 7791 7164 7520 7755 + 38077 7326 7462 7250 7165 + 38078 7165 7319 7190 7462 + 38079 7462 7190 7165 7326 + 38080 7165 7603 7249 7319 + 38081 7462 7603 7165 7319 + 38082 7603 7165 7249 7696 + 38083 7165 7250 7423 7696 + 38084 7165 7423 7249 7696 + 38085 7462 7165 7603 7696 + 38086 7250 7696 7165 7462 + 38087 7424 7326 7166 7438 + 38088 7327 7438 7528 7166 + 38089 7424 7528 7438 7166 + 38090 7390 7166 7327 7695 + 38091 7695 7166 7391 7248 + 38092 7695 7166 7424 7391 + 38093 7327 7528 7695 7166 + 38094 7390 7248 7166 7695 + 38095 7695 7528 7424 7166 + 38096 7325 7391 7525 7167 + 38097 7527 7167 7250 7423 + 38098 7608 7167 7423 7325 + 38099 7167 7525 7325 7608 + 38100 7608 7167 7527 7423 + 38101 7610 7391 7424 7167 + 38102 7250 7167 7527 7611 + 38103 7610 7391 7167 7694 + 38104 7694 7391 7167 7525 + 38105 7697 7167 7250 7611 + 38106 7697 7610 7424 7167 + 38107 7697 7530 7167 7611 + 38108 7424 7250 7697 7167 + 38109 7610 7697 7530 7167 + 38110 7527 7167 7698 7611 + 38111 7530 7698 7167 7611 + 38112 7608 7698 7527 7167 + 38113 7758 7167 7698 7608 + 38114 7525 7608 7167 7758 + 38115 7610 7167 7758 7694 + 38116 7530 7167 7698 7758 + 38117 7694 7167 7758 7525 + 38118 7610 7530 7758 7167 + 38119 7205 7168 7354 7283 + 38120 7283 7168 7354 7454 + 38121 7354 7329 7454 7168 + 38122 7205 7558 7168 7283 + 38123 7283 7558 7168 7454 + 38124 7558 7168 7641 7205 + 38125 7168 7394 7253 7641 + 38126 7253 7393 7168 7641 + 38127 7641 7205 7168 7394 + 38128 7454 7558 7168 7801 + 38129 7393 7801 7329 7168 + 38130 7168 7329 7454 7801 + 38131 7641 7393 7168 7801 + 38132 7801 7558 7168 7641 + 38133 7169 7327 7251 7438 + 38134 7438 7327 7528 7169 + 38135 7169 7251 7612 7438 + 38136 7253 7328 7612 7169 + 38137 7251 7612 7328 7169 + 38138 7327 7613 7169 7394 + 38139 7613 7253 7169 7394 + 38140 7253 7700 7613 7169 + 38141 7613 7327 7169 7759 + 38142 7613 7169 7700 7759 + 38143 7759 7700 7528 7169 + 38144 7528 7169 7327 7759 + 38145 7528 7169 7700 7760 + 38146 7253 7700 7169 7760 + 38147 7760 7169 7612 7438 + 38148 7253 7169 7612 7760 + 38149 7528 7438 7169 7760 + 38150 7319 7462 7170 7427 + 38151 7462 7170 7603 7319 + 38152 7319 7254 7170 7603 + 38153 7442 7429 7633 7170 + 38154 7427 7462 7170 7633 + 38155 7170 7442 7427 7633 + 38156 7170 7762 7334 7429 + 38157 7170 7334 7762 7254 + 38158 7633 7170 7429 7762 + 38159 7603 7170 7762 7254 + 38160 7603 7762 7170 7792 + 38161 7633 7792 7170 7762 + 38162 7603 7170 7462 7792 + 38163 7462 7170 7633 7792 + 38164 7366 7491 7225 7171 + 38165 7494 7171 7333 7225 + 38166 7171 7366 7491 7580 + 38167 7366 7236 7580 7171 + 38168 7333 7494 7617 7171 + 38169 7171 7617 7333 7679 + 38170 7236 7171 7679 7580 + 38171 7171 7236 7679 7333 + 38172 7171 7225 7730 7491 + 38173 7171 7617 7730 7494 + 38174 7171 7730 7225 7494 + 38175 7796 7617 7730 7171 + 38176 7171 7730 7796 7491 + 38177 7171 7796 7617 7679 + 38178 7171 7796 7679 7580 + 38179 7171 7491 7796 7580 + 38180 7173 7446 7402 7276 + 38181 7535 7258 7396 7173 + 38182 7335 7173 7258 7535 + 38183 7619 7446 7173 7535 + 38184 7619 7173 7335 7535 + 38185 7335 7402 7173 7619 + 38186 7402 7446 7173 7619 + 38187 7174 7347 7440 7331 + 38188 7263 7174 7397 7447 + 38189 7273 7401 7176 7448 + 38190 7448 7261 7401 7176 + 38191 7348 7404 7278 7177 + 38192 7177 7348 7260 7536 + 38193 7177 7278 7348 7536 + 38194 7177 7346 7278 7536 + 38195 7449 7262 7178 7338 + 38196 7430 7621 7449 7178 + 38197 7430 7337 7621 7178 + 38198 7179 7339 7265 7399 + 38199 7179 7264 7339 7399 + 38200 7453 7181 7542 7356 + 38201 7181 7356 7267 7542 + 38202 7453 7181 7358 7542 + 38203 7181 7268 7358 7542 + 38204 7182 7283 7354 7454 + 38205 7182 7357 7283 7454 + 38206 7183 7431 7339 7398 + 38207 7431 7183 7339 7451 + 38208 7339 7183 7265 7451 + 38209 7183 7539 7431 7398 + 38210 7183 7398 7262 7539 + 38211 7262 7183 7539 7622 + 38212 7340 7622 7183 7262 + 38213 7703 7340 7622 7183 + 38214 7451 7431 7183 7703 + 38215 7703 7265 7340 7183 + 38216 7703 7622 7539 7183 + 38217 7451 7183 7265 7703 + 38218 7539 7431 7703 7183 + 38219 7185 7350 7288 7456 + 38220 7356 7185 7288 7456 + 38221 7356 7282 7185 7456 + 38222 7269 7543 7350 7185 + 38223 7456 7350 7543 7185 + 38224 7270 7186 7400 7457 + 38225 7265 7400 7186 7540 + 38226 7265 7186 7399 7540 + 38227 7186 7626 7540 7400 + 38228 7186 7457 7626 7400 + 38229 7459 7545 7187 7272 + 38230 7340 7187 7458 7545 + 38231 7627 7545 7458 7187 + 38232 7545 7627 7459 7187 + 38233 7188 7342 7271 7460 + 38234 7341 7270 7188 7544 + 38235 7188 7628 7544 7342 + 38236 7188 7628 7342 7460 + 38237 7188 7544 7628 7341 + 38238 7427 7326 7392 7190 + 38239 7427 7190 7319 7462 + 38240 7462 7427 7190 7326 + 38241 7273 7192 7401 7448 + 38242 7272 7192 7705 7401 + 38243 7448 7192 7401 7705 + 38244 7459 7192 7705 7272 + 38245 7402 7445 7193 7344 + 38246 7193 7275 7534 7343 + 38247 7402 7445 7534 7193 + 38248 7534 7193 7445 7275 + 38249 7547 7348 7405 7194 + 38250 7275 7445 7547 7194 + 38251 7547 7404 7348 7194 + 38252 7405 7194 7275 7547 + 38253 7404 7547 7445 7194 + 38254 7345 7466 7442 7195 + 38255 7345 7276 7548 7195 + 38256 7548 7345 7195 7466 + 38257 7195 7632 7548 7466 + 38258 7466 7632 7550 7195 + 38259 7429 7633 7550 7195 + 38260 7429 7442 7633 7195 + 38261 7466 7550 7633 7195 + 38262 7466 7633 7442 7195 + 38263 7768 7195 7550 7632 + 38264 7768 7548 7195 7632 + 38265 7278 7196 7468 7346 + 38266 7551 7467 7277 7196 + 38267 7277 7551 7196 7468 + 38268 7467 7634 7403 7196 + 38269 7551 7467 7196 7634 + 38270 7344 7403 7634 7196 + 38271 7426 7331 7347 7197 + 38272 7552 7330 7197 7345 + 38273 7345 7197 7552 7467 + 38274 7552 7426 7197 7330 + 38275 7635 7467 7552 7197 + 38276 7277 7197 7635 7347 + 38277 7197 7277 7635 7467 + 38278 7635 7197 7552 7426 + 38279 7426 7347 7635 7197 + 38280 7199 7343 7257 7618 + 38281 7618 7199 7343 7463 + 38282 7269 7200 7350 7543 + 38283 7350 7280 7554 7200 + 38284 7200 7554 7350 7638 + 38285 7350 7200 7638 7543 + 38286 7201 7555 7352 7281 + 38287 7352 7280 7555 7201 + 38288 7202 7351 7472 7285 + 38289 7285 7472 7202 7557 + 38290 7414 7202 7472 7557 + 38291 7353 7414 7557 7202 + 38292 7285 7557 7202 7353 + 38293 7414 7202 7287 7713 + 38294 7202 7713 7414 7472 + 38295 7310 7372 7203 7413 + 38296 7203 7475 7413 7284 + 38297 7310 7475 7203 7353 + 38298 7475 7203 7413 7310 + 38299 7204 7286 7475 7559 + 38300 7559 7284 7204 7373 + 38301 7559 7204 7425 7373 + 38302 7204 7475 7284 7559 + 38303 7425 7286 7204 7559 + 38304 7476 7286 7205 7441 + 38305 7476 7441 7205 7641 + 38306 7641 7441 7205 7394 + 38307 7476 7205 7558 7641 + 38308 7557 7353 7285 7206 + 38309 7642 7357 7206 7407 + 38310 7642 7206 7285 7407 + 38311 7642 7285 7206 7557 + 38312 7393 7329 7478 7207 + 38313 7478 7207 7432 7290 + 38314 7290 7207 7393 7478 + 38315 7432 7542 7268 7207 + 38316 7207 7329 7625 7354 + 38317 7432 7716 7542 7207 + 38318 7716 7625 7542 7207 + 38319 7432 7716 7207 7478 + 38320 7207 7478 7716 7329 + 38321 7207 7716 7625 7329 + 38322 7209 7406 7355 7287 + 38323 7209 7434 7355 7406 + 38324 7479 7209 7287 7406 + 38325 7209 7555 7281 7474 + 38326 7479 7562 7209 7406 + 38327 7209 7562 7434 7406 + 38328 7209 7479 7646 7562 + 38329 7479 7646 7713 7209 + 38330 7209 7646 7713 7555 + 38331 7713 7209 7287 7479 + 38332 7209 7717 7474 7434 + 38333 7717 7434 7209 7562 + 38334 7209 7717 7555 7474 + 38335 7209 7717 7646 7555 + 38336 7209 7646 7717 7562 + 38337 7376 7210 7406 7647 + 38338 7417 7376 7647 7210 + 38339 7455 7358 7211 7408 + 38340 7541 7211 7289 7455 + 38341 7211 7358 7455 7541 + 38342 7212 7409 7568 7452 + 38343 7409 7568 7482 7212 + 38344 7452 7650 7568 7212 + 38345 7452 7541 7650 7212 + 38346 7482 7212 7650 7567 + 38347 7358 7650 7212 7567 + 38348 7212 7568 7482 7650 + 38349 7358 7541 7212 7650 + 38350 7213 7291 7484 7538 + 38351 7338 7291 7213 7538 + 38352 7484 7213 7645 7561 + 38353 7213 7652 7291 7408 + 38354 7291 7652 7213 7484 + 38355 7652 7561 7432 7213 + 38356 7652 7484 7561 7213 + 38357 7432 7408 7652 7213 + 38358 7439 7214 7328 7426 + 38359 7440 7361 7214 7290 + 38360 7440 7426 7214 7331 + 38361 7410 7364 7216 7294 + 38362 7487 7216 7410 7364 + 38363 7363 7487 7216 7410 + 38364 7362 7217 7293 7485 + 38365 7411 7485 7217 7362 + 38366 7300 7367 7218 7433 + 38367 7218 7433 7367 7412 + 38368 7363 7219 7292 7571 + 38369 7295 7577 7219 7659 + 38370 7295 7363 7659 7219 + 38371 7219 7577 7490 7659 + 38372 7726 7490 7659 7219 + 38373 7726 7659 7363 7219 + 38374 7219 7726 7571 7363 + 38375 7220 7488 7378 7295 + 38376 7411 7221 7661 7296 + 38377 7485 7411 7221 7728 + 38378 7411 7661 7221 7728 + 38379 7365 7491 7297 7222 + 38380 7574 7365 7485 7222 + 38381 7365 7574 7491 7222 + 38382 7574 7485 7293 7222 + 38383 7299 7658 7223 7379 + 38384 7658 7492 7576 7223 + 38385 7658 7492 7223 7379 + 38386 7223 7492 7662 7366 + 38387 7492 7576 7223 7662 + 38388 7579 7224 7493 7298 + 38389 7385 7579 7298 7224 + 38390 7225 7365 7491 7297 + 38391 7491 7297 7366 7225 + 38392 7494 7333 7386 7225 + 38393 7491 7365 7225 7578 + 38394 7578 7225 7494 7386 + 38395 7730 7578 7491 7225 + 38396 7730 7494 7578 7225 + 38397 7299 7226 7368 7495 + 38398 7299 7226 7495 7379 + 38399 7226 7416 7581 7379 + 38400 7416 7226 7581 7305 + 38401 7581 7495 7226 7379 + 38402 7370 7226 7305 7583 + 38403 7667 7226 7368 7301 + 38404 7226 7301 7667 7583 + 38405 7495 7667 7226 7368 + 38406 7667 7305 7226 7583 + 38407 7495 7581 7226 7733 + 38408 7667 7733 7226 7305 + 38409 7226 7733 7581 7305 + 38410 7495 7226 7667 7733 + 38411 7583 7301 7227 7418 + 38412 7667 7368 7227 7301 + 38413 7227 7583 7499 7667 + 38414 7227 7667 7499 7582 + 38415 7582 7227 7667 7368 + 38416 7227 7301 7583 7667 + 38417 7668 7227 7302 7418 + 38418 7668 7227 7418 7583 + 38419 7499 7668 7583 7227 + 38420 7302 7734 7227 7668 + 38421 7582 7302 7734 7227 + 38422 7499 7734 7668 7227 + 38423 7582 7227 7734 7499 + 38424 7380 7332 7228 7670 + 38425 7380 7228 7315 7670 + 38426 7670 7228 7587 7332 + 38427 7428 7586 7504 7229 + 38428 7504 7671 7229 7735 + 38429 7735 7671 7229 7369 + 38430 7504 7229 7586 7735 + 38431 7229 7586 7735 7304 + 38432 7304 7229 7369 7735 + 38433 7230 7506 7671 7369 + 38434 7230 7371 7498 7672 + 38435 7371 7306 7672 7230 + 38436 7230 7672 7589 7306 + 38437 7498 7304 7230 7735 + 38438 7735 7671 7369 7230 + 38439 7735 7304 7230 7369 + 38440 7782 7672 7230 7498 + 38441 7230 7589 7782 7506 + 38442 7782 7671 7735 7230 + 38443 7498 7230 7782 7735 + 38444 7671 7782 7506 7230 + 38445 7589 7230 7782 7672 + 38446 7231 7307 7382 7506 + 38447 7306 7231 7419 7589 + 38448 7673 7382 7506 7231 + 38449 7673 7506 7589 7231 + 38450 7589 7231 7419 7673 + 38451 7413 7443 7509 7232 + 38452 7383 7509 7443 7232 + 38453 7674 7413 7232 7437 + 38454 7383 7437 7674 7232 + 38455 7413 7509 7674 7232 + 38456 7383 7674 7509 7232 + 38457 7312 7511 7594 7233 + 38458 7312 7594 7374 7233 + 38459 7233 7675 7511 7594 + 38460 7233 7675 7593 7511 + 38461 7234 7497 7300 7433 + 38462 7234 7312 7511 7415 + 38463 7511 7595 7234 7415 + 38464 7595 7234 7415 7375 + 38465 7511 7665 7234 7595 + 38466 7234 7595 7665 7497 + 38467 7234 7665 7300 7497 + 38468 7234 7666 7497 7433 + 38469 7595 7666 7234 7375 + 38470 7595 7497 7234 7666 + 38471 7375 7433 7666 7234 + 38472 7502 7235 7435 7314 + 38473 7434 7512 7377 7235 + 38474 7596 7377 7512 7235 + 38475 7502 7235 7377 7596 + 38476 7502 7435 7235 7741 + 38477 7313 7235 7435 7741 + 38478 7313 7596 7235 7741 + 38479 7502 7235 7596 7741 + 38480 7236 7679 7731 7580 + 38481 7416 7496 7236 7786 + 38482 7333 7679 7786 7236 + 38483 7731 7236 7786 7679 + 38484 7496 7731 7236 7786 + 38485 7375 7500 7238 7415 + 38486 7238 7415 7676 7313 + 38487 7415 7500 7238 7676 + 38488 7376 7784 7238 7317 + 38489 7676 7238 7784 7500 + 38490 7676 7784 7238 7313 + 38491 7784 7238 7313 7376 + 38492 7238 7500 7584 7784 + 38493 7238 7784 7584 7317 + 38494 7418 7501 7599 7239 + 38495 7599 7418 7239 7672 + 38496 7239 7508 7599 7672 + 38497 7371 7672 7306 7239 + 38498 7672 7508 7306 7239 + 38499 7371 7239 7418 7672 + 38500 7239 7381 7745 7590 + 38501 7239 7381 7317 7745 + 38502 7239 7501 7599 7745 + 38503 7239 7317 7501 7745 + 38504 7745 7239 7508 7599 + 38505 7239 7590 7745 7508 + 38506 7436 7240 7309 7443 + 38507 7240 7420 7309 7443 + 38508 7443 7602 7240 7420 + 38509 7436 7240 7602 7518 + 38510 7443 7436 7240 7602 + 38511 7420 7240 7322 7602 + 38512 7519 7598 7241 7384 + 38513 7320 7242 7425 7373 + 38514 7559 7242 7425 7521 + 38515 7373 7242 7425 7559 + 38516 7559 7373 7242 7420 + 38517 7242 7520 7602 7322 + 38518 7420 7322 7242 7602 + 38519 7425 7242 7604 7521 + 38520 7242 7604 7320 7425 + 38521 7520 7602 7688 7242 + 38522 7520 7688 7604 7242 + 38523 7521 7242 7604 7688 + 38524 7242 7789 7602 7688 + 38525 7559 7789 7242 7521 + 38526 7559 7242 7789 7420 + 38527 7789 7242 7602 7420 + 38528 7242 7521 7789 7688 + 38529 7506 7244 7421 7307 + 38530 7307 7506 7244 7382 + 38531 7318 7382 7244 7601 + 38532 7387 7244 7601 7318 + 38533 7506 7244 7382 7601 + 38534 7689 7601 7387 7244 + 38535 7689 7387 7321 7244 + 38536 7601 7689 7522 7244 + 38537 7752 7421 7506 7244 + 38538 7522 7752 7601 7244 + 38539 7752 7506 7601 7244 + 38540 7524 7245 7324 7388 + 38541 7525 7325 7389 7246 + 38542 7325 7246 7525 7391 + 38543 7389 7246 7323 7692 + 38544 7525 7389 7692 7246 + 38545 7692 7246 7323 7605 + 38546 7246 7692 7525 7605 + 38547 7247 7523 7324 7606 + 38548 7388 7247 7693 7526 + 38549 7388 7693 7247 7324 + 38550 7324 7606 7693 7247 + 38551 7526 7247 7693 7606 + 38552 7247 7746 7523 7606 + 38553 7387 7523 7247 7746 + 38554 7387 7247 7318 7746 + 38555 7746 7606 7247 7526 + 38556 7390 7320 7248 7604 + 38557 7248 7390 7604 7695 + 38558 7248 7755 7391 7695 + 38559 7604 7520 7248 7755 + 38560 7248 7604 7755 7695 + 38561 7609 7250 7424 7326 + 38562 7609 7462 7250 7326 + 38563 7527 7250 7696 7423 + 38564 7250 7697 7611 7529 + 38565 7697 7609 7529 7250 + 38566 7697 7424 7609 7250 + 38567 7250 7611 7757 7529 + 38568 7250 7527 7757 7611 + 38569 7696 7757 7250 7527 + 38570 7250 7792 7696 7462 + 38571 7529 7757 7250 7792 + 38572 7250 7696 7792 7757 + 38573 7800 7462 7792 7250 + 38574 7462 7250 7800 7609 + 38575 7800 7792 7529 7250 + 38576 7529 7800 7250 7609 + 38577 7438 7392 7251 7612 + 38578 7251 7612 7392 7439 + 38579 7251 7328 7612 7439 + 38580 7427 7392 7756 7252 + 38581 7427 7756 7442 7252 + 38582 7392 7756 7252 7793 + 38583 7330 7793 7439 7252 + 38584 7793 7392 7439 7252 + 38585 7442 7793 7252 7756 + 38586 7442 7330 7252 7793 + 38587 7253 7393 7532 7569 + 38588 7613 7532 7253 7641 + 38589 7532 7393 7253 7641 + 38590 7613 7253 7394 7641 + 38591 7328 7612 7655 7253 + 38592 7612 7760 7655 7253 + 38593 7700 7760 7253 7795 + 38594 7253 7795 7760 7655 + 38595 7253 7613 7700 7795 + 38596 7569 7253 7795 7532 + 38597 7569 7795 7253 7655 + 38598 7253 7532 7613 7795 + 38599 7332 7255 7597 7380 + 38600 7255 7332 7701 7428 + 38601 7255 7597 7701 7332 + 38602 7255 7428 7701 7395 + 38603 7256 7333 7386 7494 + 38604 7515 7333 7384 7256 + 38605 7617 7333 7515 7256 + 38606 7494 7256 7333 7617 + 38607 7256 7386 7685 7494 + 38608 7515 7616 7256 7686 + 38609 7686 7519 7256 7384 + 38610 7515 7384 7686 7256 + 38611 7685 7765 7519 7256 + 38612 7686 7519 7765 7256 + 38613 7256 7685 7765 7616 + 38614 7256 7765 7686 7616 + 38615 7616 7685 7766 7256 + 38616 7685 7766 7256 7494 + 38617 7616 7256 7766 7515 + 38618 7494 7766 7256 7617 + 38619 7617 7515 7766 7256 + 38620 7257 7444 7618 7343 + 38621 7401 7261 7537 7337 + 38622 7397 7337 7537 7261 + 38623 7620 7261 7401 7448 + 38624 7346 7537 7620 7261 + 38625 7401 7620 7537 7261 + 38626 7262 7539 7449 7622 + 38627 7262 7539 7398 7623 + 38628 7623 7262 7338 7398 + 38629 7262 7449 7539 7623 + 38630 7623 7449 7338 7262 + 38631 7621 7447 7263 7397 + 38632 7702 7538 7621 7263 + 38633 7702 7621 7447 7263 + 38634 7264 7399 7451 7339 + 38635 7451 7399 7265 7339 + 38636 7451 7399 7540 7265 + 38637 7451 7265 7540 7703 + 38638 7400 7265 7340 7703 + 38639 7400 7703 7540 7265 + 38640 7432 7408 7268 7358 + 38641 7358 7268 7432 7542 + 38642 7270 7400 7544 7457 + 38643 7341 7457 7270 7544 + 38644 7450 7430 7272 7401 + 38645 7272 7629 7545 7430 + 38646 7545 7459 7629 7272 + 38647 7272 7450 7629 7430 + 38648 7629 7459 7705 7272 + 38649 7272 7705 7450 7401 + 38650 7629 7705 7450 7272 + 38651 7275 7618 7343 7463 + 38652 7343 7275 7534 7618 + 38653 7405 7275 7463 7630 + 38654 7630 7547 7405 7275 + 38655 7275 7445 7534 7707 + 38656 7630 7707 7547 7275 + 38657 7707 7463 7275 7630 + 38658 7618 7707 7463 7275 + 38659 7707 7547 7275 7445 + 38660 7618 7534 7707 7275 + 38661 7403 7276 7548 7345 + 38662 7402 7548 7344 7276 + 38663 7548 7402 7446 7276 + 38664 7344 7548 7403 7276 + 38665 7347 7277 7553 7635 + 38666 7277 7636 7712 7468 + 38667 7553 7712 7635 7277 + 38668 7712 7468 7551 7277 + 38669 7553 7636 7712 7277 + 38670 7797 7277 7712 7551 + 38671 7635 7797 7277 7712 + 38672 7797 7467 7277 7551 + 38673 7797 7635 7277 7467 + 38674 7278 7404 7348 7470 + 38675 7536 7470 7278 7348 + 38676 7346 7536 7637 7278 + 38677 7637 7536 7470 7278 + 38678 7346 7637 7468 7278 + 38679 7407 7280 7351 7472 + 38680 7473 7554 7350 7280 + 38681 7555 7471 7280 7352 + 38682 7639 7280 7473 7407 + 38683 7407 7639 7280 7472 + 38684 7639 7471 7280 7555 + 38685 7471 7639 7280 7554 + 38686 7472 7280 7555 7639 + 38687 7639 7473 7280 7554 + 38688 7474 7352 7555 7281 + 38689 7357 7454 7558 7283 + 38690 7559 7284 7413 7475 + 38691 7407 7285 7472 7351 + 38692 7557 7285 7472 7642 + 38693 7407 7285 7642 7472 + 38694 7353 7475 7286 7560 + 38695 7475 7643 7559 7286 + 38696 7560 7475 7286 7643 + 38697 7286 7560 7643 7715 + 38698 7286 7441 7476 7715 + 38699 7476 7560 7286 7715 + 38700 7286 7425 7441 7715 + 38701 7286 7425 7715 7559 + 38702 7286 7715 7643 7559 + 38703 7414 7287 7479 7713 + 38704 7473 7288 7350 7556 + 38705 7288 7456 7350 7556 + 38706 7288 7649 7456 7556 + 38707 7649 7288 7456 7356 + 38708 7649 7481 7718 7288 + 38709 7718 7288 7407 7473 + 38710 7556 7718 7288 7649 + 38711 7556 7473 7288 7718 + 38712 7407 7718 7481 7288 + 38713 7539 7483 7431 7289 + 38714 7539 7431 7398 7289 + 38715 7623 7289 7539 7398 + 38716 7564 7624 7360 7289 + 38717 7289 7624 7541 7722 + 38718 7483 7289 7539 7722 + 38719 7623 7455 7722 7289 + 38720 7541 7289 7722 7455 + 38721 7623 7722 7539 7289 + 38722 7431 7774 7564 7289 + 38723 7431 7483 7774 7289 + 38724 7564 7624 7289 7774 + 38725 7483 7289 7722 7774 + 38726 7722 7289 7624 7774 + 38727 7478 7432 7561 7290 + 38728 7645 7440 7469 7290 + 38729 7440 7361 7290 7645 + 38730 7645 7469 7723 7290 + 38731 7561 7723 7290 7645 + 38732 7478 7561 7723 7290 + 38733 7478 7723 7393 7290 + 38734 7623 7291 7338 7538 + 38735 7291 7570 7455 7652 + 38736 7408 7652 7291 7455 + 38737 7538 7291 7724 7623 + 38738 7724 7538 7484 7291 + 38739 7291 7652 7484 7724 + 38740 7291 7570 7652 7724 + 38741 7291 7724 7775 7570 + 38742 7724 7775 7623 7291 + 38743 7291 7775 7455 7570 + 38744 7455 7623 7775 7291 + 38745 7485 7293 7362 7574 + 38746 7364 7410 7489 7294 + 38747 7295 7378 7577 7488 + 38748 7295 7363 7410 7659 + 38749 7295 7488 7660 7575 + 38750 7660 7295 7577 7488 + 38751 7660 7577 7295 7727 + 38752 7295 7577 7659 7727 + 38753 7727 7295 7575 7410 + 38754 7660 7295 7575 7727 + 38755 7727 7659 7295 7410 + 38756 7411 7486 7296 7661 + 38757 7493 7579 7298 7386 + 38758 7299 7368 7412 7495 + 38759 7299 7495 7658 7379 + 38760 7658 7412 7495 7299 + 38761 7367 7300 7497 7433 + 38762 7367 7300 7575 7497 + 38763 7575 7665 7300 7488 + 38764 7575 7300 7665 7497 + 38765 7583 7371 7301 7418 + 38766 7500 7375 7302 7666 + 38767 7500 7666 7302 7734 + 38768 7584 7500 7302 7734 + 38769 7582 7302 7666 7734 + 38770 7584 7734 7302 7668 + 38771 7585 7434 7377 7303 + 38772 7303 7474 7585 7434 + 38773 7370 7735 7586 7304 + 38774 7498 7370 7304 7735 + 38775 7416 7305 7581 7507 + 38776 7507 7416 7305 7669 + 38777 7736 7669 7305 7370 + 38778 7507 7305 7736 7669 + 38779 7370 7736 7583 7305 + 38780 7583 7736 7780 7305 + 38781 7667 7780 7733 7305 + 38782 7583 7780 7667 7305 + 38783 7780 7581 7733 7305 + 38784 7305 7507 7736 7780 + 38785 7305 7581 7507 7780 + 38786 7508 7306 7383 7419 + 38787 7306 7589 7419 7508 + 38788 7508 7672 7306 7589 + 38789 7506 7307 7421 7369 + 38790 7310 7372 7413 7437 + 38791 7353 7310 7475 7560 + 38792 7592 7480 7414 7310 + 38793 7592 7414 7644 7310 + 38794 7644 7414 7353 7310 + 38795 7353 7310 7560 7644 + 38796 7480 7674 7437 7310 + 38797 7437 7674 7413 7310 + 38798 7674 7310 7738 7413 + 38799 7738 7310 7560 7475 + 38800 7475 7413 7738 7310 + 38801 7310 7644 7592 7783 + 38802 7560 7644 7310 7783 + 38803 7480 7674 7310 7783 + 38804 7783 7674 7310 7738 + 38805 7783 7310 7560 7738 + 38806 7592 7310 7783 7480 + 38807 7415 7511 7435 7312 + 38808 7511 7435 7312 7594 + 38809 7374 7312 7435 7594 + 38810 7435 7313 7676 7415 + 38811 7741 7435 7313 7676 + 38812 7513 7741 7596 7313 + 38813 7784 7313 7513 7376 + 38814 7313 7741 7784 7513 + 38815 7676 7741 7784 7313 + 38816 7435 7374 7594 7314 + 38817 7435 7314 7678 7502 + 38818 7678 7594 7314 7435 + 38819 7315 7516 7380 7670 + 38820 7315 7670 7384 7516 + 38821 7681 7584 7317 7501 + 38822 7417 7376 7317 7743 + 38823 7517 7317 7743 7381 + 38824 7417 7743 7317 7381 + 38825 7517 7743 7317 7681 + 38826 7317 7517 7681 7745 + 38827 7317 7381 7517 7745 + 38828 7745 7681 7317 7501 + 38829 7784 7317 7743 7681 + 38830 7584 7681 7317 7784 + 38831 7376 7317 7743 7784 + 38832 7601 7673 7318 7382 + 38833 7318 7601 7387 7746 + 38834 7518 7673 7318 7746 + 38835 7318 7673 7601 7746 + 38836 7604 7390 7320 7425 + 38837 7523 7387 7321 7689 + 38838 7691 7422 7388 7322 + 38839 7691 7520 7422 7322 + 38840 7691 7602 7520 7322 + 38841 7524 7692 7323 7605 + 38842 7388 7524 7693 7324 + 38843 7608 7423 7389 7325 + 38844 7525 7389 7325 7608 + 38845 7424 7609 7326 7438 + 38846 7392 7609 7438 7326 + 38847 7462 7427 7326 7756 + 38848 7462 7326 7609 7756 + 38849 7392 7756 7609 7326 + 38850 7427 7326 7756 7392 + 38851 7394 7613 7461 7327 + 38852 7390 7695 7327 7461 + 38853 7528 7327 7695 7759 + 38854 7695 7327 7461 7759 + 38855 7613 7461 7327 7759 + 38856 7439 7328 7655 7426 + 38857 7439 7612 7655 7328 + 38858 7354 7329 7625 7454 + 38859 7773 7454 7625 7329 + 38860 7773 7625 7716 7329 + 38861 7801 7329 7454 7773 + 38862 7802 7393 7801 7329 + 38863 7802 7478 7329 7716 + 38864 7802 7478 7393 7329 + 38865 7773 7716 7802 7329 + 38866 7773 7802 7801 7329 + 38867 7426 7330 7552 7533 + 38868 7345 7330 7442 7552 + 38869 7330 7533 7426 7655 + 38870 7439 7330 7426 7655 + 38871 7439 7793 7330 7655 + 38872 7442 7552 7330 7793 + 38873 7793 7552 7330 7533 + 38874 7330 7793 7533 7655 + 38875 7331 7347 7440 7426 + 38876 7670 7332 7597 7380 + 38877 7670 7587 7503 7332 + 38878 7503 7670 7332 7597 + 38879 7503 7332 7701 7597 + 38880 7503 7701 7332 7428 + 38881 7333 7515 7679 7617 + 38882 7515 7679 7786 7333 + 38883 7396 7334 7465 7429 + 38884 7465 7334 7762 7429 + 38885 7335 7402 7619 7444 + 38886 7401 7337 7450 7430 + 38887 7401 7537 7450 7337 + 38888 7337 7450 7430 7621 + 38889 7537 7450 7337 7621 + 38890 7621 7397 7337 7537 + 38891 7623 7338 7449 7538 + 38892 7340 7458 7622 7545 + 38893 7340 7703 7622 7458 + 38894 7340 7400 7703 7458 + 38895 7457 7628 7544 7341 + 38896 7628 7460 7704 7342 + 38897 7544 7627 7342 7704 + 38898 7544 7342 7628 7704 + 38899 7534 7618 7444 7343 + 38900 7402 7464 7344 7548 + 38901 7344 7403 7548 7464 + 38902 7549 7344 7402 7464 + 38903 7344 7445 7549 7402 + 38904 7549 7634 7344 7464 + 38905 7464 7344 7403 7634 + 38906 7344 7549 7709 7634 + 38907 7445 7709 7344 7549 + 38908 7709 7445 7344 7404 + 38909 7345 7442 7466 7552 + 38910 7552 7345 7467 7710 + 38911 7710 7552 7345 7466 + 38912 7710 7403 7548 7345 + 38913 7710 7467 7403 7345 + 38914 7710 7345 7548 7466 + 38915 7711 7620 7536 7346 + 38916 7536 7637 7711 7346 + 38917 7620 7346 7711 7537 + 38918 7636 7711 7346 7537 + 38919 7711 7637 7468 7346 + 38920 7468 7346 7636 7711 + 38921 7347 7426 7469 7440 + 38922 7426 7469 7635 7347 + 38923 7347 7635 7770 7469 + 38924 7347 7553 7770 7635 + 38925 7469 7770 7347 7440 + 38926 7347 7770 7553 7447 + 38927 7547 7404 7470 7348 + 38928 7473 7350 7554 7638 + 38929 7350 7638 7456 7543 + 38930 7350 7556 7456 7638 + 38931 7473 7350 7638 7556 + 38932 7640 7352 7471 7555 + 38933 7555 7640 7352 7474 + 38934 7353 7477 7557 7644 + 38935 7353 7557 7414 7644 + 38936 7353 7477 7644 7560 + 38937 7357 7407 7642 7481 + 38938 7642 7714 7357 7481 + 38939 7454 7558 7714 7357 + 38940 7357 7714 7454 7773 + 38941 7357 7454 7625 7773 + 38942 7714 7481 7773 7357 + 38943 7358 7432 7453 7542 + 38944 7358 7455 7541 7650 + 38945 7432 7651 7358 7453 + 38946 7453 7651 7358 7567 + 38947 7650 7358 7719 7567 + 38948 7650 7358 7455 7719 + 38949 7358 7719 7408 7455 + 38950 7432 7719 7408 7358 + 38951 7358 7651 7719 7567 + 38952 7651 7719 7432 7358 + 38953 7543 7359 7720 7456 + 38954 7359 7720 7456 7653 + 38955 7411 7572 7485 7362 + 38956 7574 7657 7362 7485 + 38957 7657 7362 7485 7572 + 38958 7362 7572 7657 7725 + 38959 7487 7725 7362 7777 + 38960 7725 7362 7777 7657 + 38961 7362 7574 7777 7657 + 38962 7573 7656 7726 7363 + 38963 7726 7363 7659 7573 + 38964 7363 7726 7571 7656 + 38965 7778 7659 7363 7573 + 38966 7778 7410 7363 7659 + 38967 7778 7363 7487 7573 + 38968 7778 7487 7363 7410 + 38969 7489 7729 7663 7364 + 38970 7729 7364 7489 7576 + 38971 7777 7663 7729 7364 + 38972 7777 7487 7663 7364 + 38973 7489 7663 7778 7364 + 38974 7778 7364 7487 7410 + 38975 7778 7663 7487 7364 + 38976 7489 7364 7778 7410 + 38977 7574 7491 7664 7365 + 38978 7491 7664 7365 7578 + 38979 7574 7365 7664 7485 + 38980 7366 7662 7491 7580 + 38981 7662 7580 7366 7492 + 38982 7575 7489 7367 7732 + 38983 7412 7732 7433 7367 + 38984 7367 7433 7497 7732 + 38985 7367 7575 7732 7497 + 38986 7367 7658 7732 7489 + 38987 7412 7658 7732 7367 + 38988 7412 7368 7582 7495 + 38989 7582 7667 7495 7368 + 38990 7506 7421 7671 7369 + 38991 7736 7583 7498 7370 + 38992 7586 7370 7781 7735 + 38993 7370 7498 7736 7781 + 38994 7586 7781 7370 7669 + 38995 7498 7370 7735 7781 + 38996 7736 7781 7669 7370 + 38997 7418 7371 7672 7737 + 38998 7498 7672 7371 7737 + 38999 7498 7371 7583 7737 + 39000 7583 7737 7371 7418 + 39001 7500 7415 7375 7595 + 39002 7666 7500 7375 7595 + 39003 7417 7647 7376 7743 + 39004 7743 7647 7376 7513 + 39005 7784 7743 7376 7513 + 39006 7585 7377 7434 7512 + 39007 7596 7377 7677 7512 + 39008 7502 7377 7677 7596 + 39009 7585 7677 7377 7512 + 39010 7488 7744 7593 7378 + 39011 7577 7378 7744 7488 + 39012 7379 7495 7658 7787 + 39013 7581 7495 7379 7787 + 39014 7492 7379 7799 7731 + 39015 7799 7787 7379 7658 + 39016 7799 7581 7731 7379 + 39017 7787 7581 7799 7379 + 39018 7379 7492 7799 7658 + 39019 7670 7597 7516 7380 + 39020 7590 7381 7517 7682 + 39021 7590 7417 7381 7682 + 39022 7381 7743 7517 7682 + 39023 7381 7417 7743 7682 + 39024 7517 7745 7381 7590 + 39025 7601 7506 7673 7382 + 39026 7383 7443 7509 7436 + 39027 7590 7674 7383 7437 + 39028 7383 7509 7683 7436 + 39029 7683 7383 7436 7419 + 39030 7508 7383 7683 7419 + 39031 7683 7383 7508 7590 + 39032 7747 7383 7674 7509 + 39033 7590 7674 7747 7383 + 39034 7590 7747 7683 7383 + 39035 7747 7683 7383 7509 + 39036 7519 7686 7598 7384 + 39037 7515 7384 7670 7750 + 39038 7750 7516 7598 7384 + 39039 7384 7515 7686 7750 + 39040 7384 7686 7598 7750 + 39041 7750 7670 7516 7384 + 39042 7578 7493 7386 7687 + 39043 7494 7751 7578 7386 + 39044 7687 7578 7751 7386 + 39045 7386 7494 7751 7685 + 39046 7386 7751 7790 7685 + 39047 7685 7579 7790 7386 + 39048 7493 7790 7579 7386 + 39049 7790 7687 7751 7386 + 39050 7493 7790 7386 7687 + 39051 7601 7387 7523 7689 + 39052 7387 7601 7523 7746 + 39053 7691 7422 7605 7388 + 39054 7524 7693 7753 7388 + 39055 7524 7753 7605 7388 + 39056 7388 7693 7753 7526 + 39057 7691 7388 7753 7526 + 39058 7691 7605 7753 7388 + 39059 7389 7525 7692 7608 + 39060 7425 7604 7390 7461 + 39061 7390 7461 7604 7695 + 39062 7695 7424 7610 7391 + 39063 7755 7610 7694 7391 + 39064 7755 7695 7610 7391 + 39065 7392 7438 7609 7531 + 39066 7438 7392 7612 7531 + 39067 7756 7392 7609 7531 + 39068 7612 7439 7793 7392 + 39069 7612 7793 7531 7392 + 39070 7392 7531 7756 7793 + 39071 7393 7532 7569 7699 + 39072 7393 7569 7723 7699 + 39073 7699 7393 7478 7723 + 39074 7641 7532 7393 7801 + 39075 7802 7699 7393 7478 + 39076 7532 7802 7393 7801 + 39077 7699 7393 7532 7802 + 39078 7461 7394 7441 7641 + 39079 7641 7461 7394 7613 + 39080 7701 7615 7395 7763 + 39081 7395 7763 7615 7504 + 39082 7504 7428 7395 7763 + 39083 7428 7763 7701 7395 + 39084 7505 7764 7588 7395 + 39085 7504 7395 7764 7615 + 39086 7588 7395 7764 7504 + 39087 7621 7447 7397 7537 + 39088 7400 7457 7626 7544 + 39089 7400 7626 7458 7544 + 39090 7400 7458 7626 7703 + 39091 7626 7703 7540 7400 + 39092 7705 7448 7620 7401 + 39093 7620 7705 7401 7537 + 39094 7537 7401 7450 7705 + 39095 7619 7402 7534 7444 + 39096 7402 7549 7464 7708 + 39097 7548 7708 7446 7402 + 39098 7402 7446 7619 7708 + 39099 7548 7464 7708 7402 + 39100 7402 7708 7767 7549 + 39101 7402 7767 7445 7549 + 39102 7402 7445 7767 7534 + 39103 7402 7767 7619 7534 + 39104 7402 7619 7767 7708 + 39105 7464 7548 7710 7403 + 39106 7464 7403 7769 7634 + 39107 7769 7467 7634 7403 + 39108 7464 7710 7769 7403 + 39109 7769 7710 7467 7403 + 39110 7445 7547 7404 7709 + 39111 7470 7404 7547 7709 + 39112 7405 7546 7630 7463 + 39113 7406 7479 7562 7647 + 39114 7472 7565 7407 7639 + 39115 7565 7407 7639 7473 + 39116 7407 7642 7565 7472 + 39117 7642 7718 7481 7407 + 39118 7718 7407 7565 7473 + 39119 7642 7565 7718 7407 + 39120 7408 7719 7652 7455 + 39121 7719 7408 7652 7432 + 39122 7482 7653 7568 7409 + 39123 7575 7727 7410 7489 + 39124 7659 7778 7410 7727 + 39125 7778 7489 7410 7727 + 39126 7411 7572 7486 7661 + 39127 7411 7572 7661 7728 + 39128 7485 7572 7411 7728 + 39129 7779 7412 7732 7433 + 39130 7779 7582 7412 7433 + 39131 7798 7412 7658 7732 + 39132 7582 7412 7495 7798 + 39133 7495 7658 7798 7412 + 39134 7582 7779 7412 7798 + 39135 7798 7779 7412 7732 + 39136 7674 7738 7509 7413 + 39137 7443 7413 7738 7559 + 39138 7738 7443 7509 7413 + 39139 7559 7413 7738 7475 + 39140 7510 7414 7644 7592 + 39141 7591 7414 7648 7479 + 39142 7648 7591 7510 7414 + 39143 7510 7648 7414 7592 + 39144 7480 7648 7592 7414 + 39145 7479 7713 7591 7414 + 39146 7591 7414 7713 7472 + 39147 7591 7739 7414 7472 + 39148 7414 7472 7739 7557 + 39149 7739 7510 7591 7414 + 39150 7644 7557 7414 7739 + 39151 7644 7414 7510 7739 + 39152 7415 7595 7500 7676 + 39153 7676 7595 7740 7415 + 39154 7415 7740 7676 7435 + 39155 7415 7511 7740 7435 + 39156 7595 7511 7740 7415 + 39157 7507 7669 7587 7416 + 39158 7416 7507 7680 7587 + 39159 7416 7496 7680 7581 + 39160 7581 7416 7507 7680 + 39161 7680 7587 7786 7416 + 39162 7680 7786 7496 7416 + 39163 7480 7437 7590 7417 + 39164 7682 7417 7563 7480 + 39165 7590 7480 7417 7682 + 39166 7647 7417 7563 7743 + 39167 7743 7417 7563 7682 + 39168 7501 7599 7668 7418 + 39169 7668 7599 7737 7418 + 39170 7418 7672 7599 7737 + 39171 7583 7668 7737 7418 + 39172 7683 7436 7600 7419 + 39173 7673 7419 7589 7748 + 39174 7673 7600 7419 7748 + 39175 7419 7748 7600 7683 + 39176 7508 7748 7419 7683 + 39177 7508 7419 7748 7589 + 39178 7789 7559 7420 7443 + 39179 7789 7602 7443 7420 + 39180 7421 7505 7690 7588 + 39181 7588 7752 7421 7671 + 39182 7752 7421 7671 7506 + 39183 7421 7690 7752 7588 + 39184 7791 7691 7422 7605 + 39185 7520 7422 7791 7691 + 39186 7424 7609 7438 7528 + 39187 7528 7424 7610 7695 + 39188 7528 7697 7424 7609 + 39189 7697 7424 7610 7528 + 39190 7715 7559 7425 7521 + 39191 7425 7441 7715 7461 + 39192 7521 7425 7715 7794 + 39193 7794 7425 7604 7521 + 39194 7425 7461 7794 7604 + 39195 7794 7461 7425 7715 + 39196 7635 7552 7533 7426 + 39197 7761 7426 7635 7533 + 39198 7761 7655 7426 7533 + 39199 7655 7469 7761 7426 + 39200 7469 7761 7426 7635 + 39201 7442 7756 7427 7633 + 39202 7427 7756 7462 7633 + 39203 7586 7428 7763 7503 + 39204 7503 7763 7701 7428 + 39205 7428 7586 7763 7504 + 39206 7550 7465 7633 7429 + 39207 7633 7429 7465 7762 + 39208 7450 7430 7621 7706 + 39209 7430 7629 7545 7706 + 39210 7449 7430 7545 7706 + 39211 7706 7449 7430 7621 + 39212 7430 7450 7629 7706 + 39213 7564 7431 7451 7654 + 39214 7483 7431 7703 7539 + 39215 7431 7703 7654 7483 + 39216 7451 7431 7703 7654 + 39217 7564 7431 7654 7774 + 39218 7654 7431 7483 7774 + 39219 7651 7432 7716 7453 + 39220 7716 7542 7453 7432 + 39221 7652 7561 7776 7432 + 39222 7652 7432 7776 7719 + 39223 7432 7776 7716 7478 + 39224 7561 7776 7432 7478 + 39225 7719 7432 7776 7651 + 39226 7776 7651 7432 7716 + 39227 7666 7433 7582 7779 + 39228 7666 7497 7433 7779 + 39229 7497 7732 7433 7779 + 39230 7717 7474 7434 7585 + 39231 7434 7512 7717 7585 + 39232 7717 7512 7434 7562 + 39233 7740 7514 7676 7435 + 39234 7435 7511 7740 7594 + 39235 7741 7514 7435 7676 + 39236 7435 7678 7741 7502 + 39237 7514 7435 7678 7741 + 39238 7435 7740 7514 7785 + 39239 7435 7785 7514 7678 + 39240 7435 7594 7785 7678 + 39241 7785 7435 7740 7594 + 39242 7518 7602 7436 7684 + 39243 7436 7600 7518 7684 + 39244 7684 7436 7749 7602 + 39245 7436 7600 7684 7788 + 39246 7788 7436 7509 7749 + 39247 7788 7436 7600 7683 + 39248 7788 7684 7436 7749 + 39249 7683 7509 7788 7436 + 39250 7443 7436 7602 7789 + 39251 7509 7436 7443 7789 + 39252 7602 7436 7749 7789 + 39253 7436 7789 7509 7749 + 39254 7590 7674 7437 7480 + 39255 7760 7438 7531 7609 + 39256 7438 7531 7612 7760 + 39257 7760 7528 7438 7609 + 39258 7655 7439 7793 7612 + 39259 7469 7645 7770 7440 + 39260 7641 7614 7441 7461 + 39261 7641 7614 7476 7441 + 39262 7614 7476 7441 7715 + 39263 7614 7715 7441 7461 + 39264 7803 7552 7466 7442 + 39265 7803 7793 7552 7442 + 39266 7633 7466 7442 7803 + 39267 7633 7442 7756 7803 + 39268 7793 7756 7442 7803 + 39269 7443 7738 7789 7559 + 39270 7443 7789 7738 7509 + 39271 7618 7444 7804 7534 + 39272 7804 7534 7444 7619 + 39273 7707 7767 7445 7534 + 39274 7805 7767 7445 7707 + 39275 7707 7805 7547 7445 + 39276 7445 7805 7709 7549 + 39277 7805 7445 7767 7549 + 39278 7445 7709 7805 7547 + 39279 7768 7708 7446 7548 + 39280 7806 7446 7768 7708 + 39281 7708 7806 7446 7619 + 39282 7806 7768 7446 7631 + 39283 7806 7446 7535 7631 + 39284 7806 7619 7535 7446 + 39285 7636 7807 7537 7447 + 39286 7807 7621 7537 7447 + 39287 7447 7807 7621 7702 + 39288 7553 7896 7636 7447 + 39289 7447 7636 7807 7896 + 39290 7896 7447 7702 7807 + 39291 7896 7702 7447 7770 + 39292 7553 7770 7896 7447 + 39293 7706 7538 7449 7621 + 39294 7545 7706 7808 7449 + 39295 7545 7808 7622 7449 + 39296 7539 7622 7808 7449 + 39297 7449 7808 7539 7623 + 39298 7898 7449 7538 7623 + 39299 7449 7706 7808 7898 + 39300 7449 7808 7623 7898 + 39301 7449 7538 7706 7898 + 39302 7537 7450 7621 7807 + 39303 7807 7450 7621 7706 + 39304 7807 7706 7897 7450 + 39305 7450 7897 7807 7537 + 39306 7450 7705 7629 7897 + 39307 7450 7629 7706 7897 + 39308 7537 7450 7897 7705 + 39309 7451 7703 7540 7654 + 39310 7568 7812 7650 7452 + 39311 7541 7650 7812 7452 + 39312 7812 7452 7624 7541 + 39313 7453 7716 7651 7566 + 39314 7453 7625 7542 7716 + 39315 7453 7625 7716 7566 + 39316 7566 7453 7649 7721 + 39317 7721 7651 7566 7453 + 39318 7567 7721 7453 7651 + 39319 7454 7714 7558 7801 + 39320 7801 7454 7714 7773 + 39321 7719 7455 7570 7652 + 39322 7775 7455 7722 7623 + 39323 7722 7775 7901 7455 + 39324 7901 7570 7455 7775 + 39325 7722 7901 7541 7455 + 39326 7541 7901 7650 7455 + 39327 7455 7719 7901 7650 + 39328 7570 7455 7719 7901 + 39329 7456 7720 7543 7638 + 39330 7653 7556 7720 7456 + 39331 7556 7456 7638 7720 + 39332 7544 7457 7626 7813 + 39333 7457 7544 7628 7813 + 39334 7458 7809 7545 7627 + 39335 7545 7809 7458 7622 + 39336 7811 7626 7458 7703 + 39337 7626 7458 7544 7813 + 39338 7627 7813 7544 7458 + 39339 7703 7899 7458 7811 + 39340 7703 7899 7622 7458 + 39341 7899 7458 7809 7622 + 39342 7627 7458 7809 7902 + 39343 7627 7813 7458 7902 + 39344 7813 7991 7458 7902 + 39345 7809 7458 7991 7902 + 39346 7899 7811 7991 7458 + 39347 7899 7991 7809 7458 + 39348 7626 7991 7458 7813 + 39349 7626 7991 7811 7458 + 39350 7459 7545 7809 7627 + 39351 7459 7629 7809 7545 + 39352 7794 7614 7461 7715 + 39353 7814 7794 7614 7461 + 39354 7461 7613 7814 7759 + 39355 7641 7814 7461 7613 + 39356 7641 7814 7614 7461 + 39357 7814 7794 7461 7903 + 39358 7695 7903 7759 7461 + 39359 7604 7695 7461 7903 + 39360 7903 7794 7461 7604 + 39361 7903 7759 7461 7814 + 39362 7462 7603 7792 7696 + 39363 7792 7633 7462 7800 + 39364 7756 7800 7462 7633 + 39365 7609 7800 7462 7756 + 39366 7548 7632 7464 7710 + 39367 7768 7464 7708 7548 + 39368 7548 7632 7768 7464 + 39369 7769 7634 7815 7464 + 39370 7464 7815 7549 7634 + 39371 7710 7464 7769 7907 + 39372 7769 7907 7464 7815 + 39373 7710 7632 7464 7907 + 39374 7708 7993 7549 7464 + 39375 7549 7815 7464 7993 + 39376 7464 7907 7632 8069 + 39377 7464 7632 7768 8069 + 39378 7768 7708 7464 8069 + 39379 7464 7708 7993 8069 + 39380 7464 8069 7993 7815 + 39381 8069 7815 7464 7907 + 39382 7631 7465 7816 7550 + 39383 7465 7762 7909 7633 + 39384 7550 7909 7633 7465 + 39385 7465 7909 7816 7550 + 39386 7632 7710 7548 7466 + 39387 7466 7710 7552 7817 + 39388 7466 7632 7710 7817 + 39389 7803 7466 7552 7817 + 39390 7910 7803 7817 7466 + 39391 7817 7466 7632 7910 + 39392 7632 7466 7994 7910 + 39393 7910 7994 7803 7466 + 39394 7994 7466 7550 7633 + 39395 7994 7632 7550 7466 + 39396 7466 7994 7803 7633 + 39397 7634 7467 7769 7551 + 39398 7769 7467 7710 7797 + 39399 7467 7710 7797 7552 + 39400 7769 7551 7467 7797 + 39401 7467 7797 7635 7552 + 39402 7712 7551 7468 7818 + 39403 7711 7818 7468 7637 + 39404 7468 7637 7818 7771 + 39405 7712 7818 7468 7636 + 39406 7468 7551 7771 7818 + 39407 7636 7818 7468 7711 + 39408 7655 7761 7469 7569 + 39409 7569 7469 7821 7761 + 39410 7469 7723 7569 7821 + 39411 7761 7635 7469 7912 + 39412 7912 7761 7821 7469 + 39413 7912 7635 7469 7770 + 39414 7912 7469 7989 7770 + 39415 7723 7989 7469 7645 + 39416 7989 7469 7645 7770 + 39417 7469 7989 7723 8073 + 39418 7469 7723 7821 8073 + 39419 7912 7821 8073 7469 + 39420 7912 7469 8073 7989 + 39421 7471 7822 7639 7554 + 39422 7640 7471 7914 7555 + 39423 7555 7914 7999 7471 + 39424 7639 7999 7471 7555 + 39425 7914 7822 7999 7471 + 39426 7999 7471 7822 7639 + 39427 7472 7555 7713 7639 + 39428 7639 7713 7472 7591 + 39429 7739 7472 7565 7642 + 39430 7739 7557 7472 7642 + 39431 7639 7472 7824 7591 + 39432 7472 7824 7565 7639 + 39433 7824 7565 7739 7472 + 39434 7824 7739 7591 7472 + 39435 7473 7638 7823 7556 + 39436 7638 7823 7915 7473 + 39437 7473 7554 7915 7638 + 39438 7718 7565 8000 7473 + 39439 7565 7639 8000 7473 + 39440 7915 7473 8074 7554 + 39441 8074 7473 7915 8000 + 39442 7639 8000 7473 8074 + 39443 7639 7473 7554 8074 + 39444 7915 7823 8075 7473 + 39445 7473 7556 8075 7718 + 39446 7473 7823 8075 7556 + 39447 8000 7473 8075 7718 + 39448 8075 7915 7473 8000 + 39449 7555 7640 7474 7717 + 39450 7717 7640 7474 7585 + 39451 7738 7475 7643 7559 + 39452 7560 7738 7475 7643 + 39453 7772 7614 7476 7641 + 39454 7558 7476 7641 7772 + 39455 7828 7715 7560 7476 + 39456 7772 7476 7614 7828 + 39457 7828 7614 7715 7476 + 39458 7772 7560 7476 7828 + 39459 7642 7739 7557 7477 + 39460 7477 7557 7644 7739 + 39461 7477 7642 7739 7829 + 39462 7642 7829 7477 7714 + 39463 7477 7714 7829 7772 + 39464 7477 7739 7921 7829 + 39465 7477 7644 7921 7739 + 39466 7477 7560 8003 7644 + 39467 7477 8003 7921 7644 + 39468 8003 7560 7477 7772 + 39469 7477 7921 8003 8076 + 39470 8076 7921 7829 7477 + 39471 8076 7829 7772 7477 + 39472 8076 8003 7477 7772 + 39473 7699 7478 7561 7723 + 39474 7776 7802 7716 7478 + 39475 7776 7561 7831 7478 + 39476 7802 7831 7699 7478 + 39477 7776 7831 7802 7478 + 39478 7831 7478 7561 7699 + 39479 7591 7713 7479 7646 + 39480 7479 7648 7591 7832 + 39481 7832 7562 7479 7647 + 39482 7479 7563 7648 7832 + 39483 7646 7562 7479 7832 + 39484 7591 7479 7832 7646 + 39485 7563 7832 7479 7647 + 39486 7590 7674 7480 7747 + 39487 7590 7835 7480 7682 + 39488 7590 7480 7835 7747 + 39489 7783 7480 7674 7927 + 39490 7592 7927 7835 7480 + 39491 7927 7835 7480 7747 + 39492 7927 7480 7674 7747 + 39493 7592 7783 7927 7480 + 39494 7480 8006 7648 7563 + 39495 7682 7563 8006 7480 + 39496 7648 7592 8006 7480 + 39497 7480 8006 7682 7835 + 39498 7835 7480 8006 7592 + 39499 7829 7642 7481 7714 + 39500 7481 7829 7714 7773 + 39501 7481 7649 7917 7566 + 39502 7481 7836 7917 7718 + 39503 7481 7917 7649 7718 + 39504 7481 7919 7836 7718 + 39505 7919 7642 7481 7829 + 39506 7919 7481 7642 7718 + 39507 7917 7481 7566 8007 + 39508 7829 7773 7481 8007 + 39509 7836 7481 8007 7919 + 39510 8007 7919 7481 7829 + 39511 7481 7917 7836 8007 + 39512 7566 7481 7773 8007 + 39513 7482 7721 7825 7556 + 39514 7568 7838 7482 7650 + 39515 7482 7653 7838 7568 + 39516 7839 7721 7482 7567 + 39517 7482 7650 7839 7567 + 39518 7721 7482 7929 7839 + 39519 7825 7482 7929 7721 + 39520 8001 7482 7929 7825 + 39521 8001 7482 7556 7653 + 39522 8001 7653 7838 7482 + 39523 8001 7556 7482 7825 + 39524 8001 7838 7929 7482 + 39525 7929 8008 7482 7838 + 39526 7482 7839 7650 8008 + 39527 7650 7838 7482 8008 + 39528 8008 7482 7839 7929 + 39529 7775 7483 7539 7722 + 39530 7539 7775 7808 7483 + 39531 7775 7722 7840 7483 + 39532 7840 7774 7483 7722 + 39533 7899 7703 7483 7654 + 39534 7483 7539 7703 7899 + 39535 7899 7483 7539 7808 + 39536 7930 7774 7483 7840 + 39537 8010 7930 7774 7483 + 39538 7483 7774 8010 7654 + 39539 7483 8010 7899 7654 + 39540 7840 7483 8083 7775 + 39541 8010 8083 7930 7483 + 39542 7899 7483 8083 8010 + 39543 7483 8083 7930 7840 + 39544 8083 7808 7483 7899 + 39545 7775 7483 8083 7808 + 39546 7484 7645 7810 7561 + 39547 7702 7810 7484 7645 + 39548 7810 7484 7900 7702 + 39549 7987 7900 7484 7702 + 39550 7900 7724 7987 7484 + 39551 7987 7484 7724 7538 + 39552 7987 7702 7484 7538 + 39553 7652 7561 7484 8078 + 39554 7484 7810 8078 7561 + 39555 8078 7810 7484 7900 + 39556 7900 8078 7724 7484 + 39557 8078 7484 7652 7724 + 39558 7572 7485 7843 7728 + 39559 7843 7664 7485 7574 + 39560 7574 7843 7657 7485 + 39561 7657 7485 7843 7572 + 39562 7725 7844 7486 7572 + 39563 7661 7844 7572 7486 + 39564 7656 7844 7486 7725 + 39565 7487 7573 7725 7663 + 39566 7725 7487 7663 7777 + 39567 7663 7573 7778 7487 + 39568 7577 7744 7660 7488 + 39569 7849 7593 7488 7744 + 39570 7488 7744 7660 7849 + 39571 7488 7593 7849 7665 + 39572 7575 7660 7849 7488 + 39573 7575 7849 7665 7488 + 39574 7850 7489 7729 7663 + 39575 7489 7663 7850 7778 + 39576 7729 7576 7489 7850 + 39577 7938 7727 7575 7489 + 39578 7732 7575 7489 7938 + 39579 7489 7658 7732 7939 + 39580 7576 7939 7658 7489 + 39581 7939 7489 7576 7850 + 39582 7732 7938 7489 8018 + 39583 7778 8018 7489 7727 + 39584 7938 8018 7727 7489 + 39585 7939 7732 7489 8018 + 39586 8018 7489 7850 7778 + 39587 8018 7939 7850 7489 + 39588 7727 7660 7577 7490 + 39589 7727 7577 7659 7490 + 39590 7847 7659 7490 7727 + 39591 7577 7851 7490 7660 + 39592 7659 7490 7726 7936 + 39593 7659 7847 7490 7936 + 39594 7490 7727 7660 8020 + 39595 7660 8020 7851 7490 + 39596 7490 7847 7727 8020 + 39597 7847 7490 7936 8087 + 39598 7490 8087 7847 8020 + 39599 7490 7851 8087 8020 + 39600 7664 7578 7491 7730 + 39601 7848 7491 7730 7664 + 39602 7848 7664 7574 7491 + 39603 7848 7574 7662 7491 + 39604 8021 7730 7491 7796 + 39605 7491 8021 7848 7730 + 39606 7848 7662 8021 7491 + 39607 7580 7662 7491 8021 + 39608 7580 7491 7796 8021 + 39609 7662 7731 7580 7492 + 39610 7799 7492 7731 7662 + 39611 7658 7576 7492 7799 + 39612 7799 7492 7662 7576 + 39613 7853 7494 7578 7730 + 39614 7853 7578 7494 7751 + 39615 7494 7730 7854 7617 + 39616 7854 7494 7941 7751 + 39617 7494 7854 7941 7617 + 39618 7766 7941 7494 7685 + 39619 7751 7494 7941 7685 + 39620 7494 7941 7766 7617 + 39621 7854 7730 7494 7942 + 39622 7942 7853 7494 7751 + 39623 7942 7494 7854 7751 + 39624 7853 7494 7730 7942 + 39625 7581 7733 7495 7787 + 39626 7733 7495 7798 7667 + 39627 7787 7798 7495 7658 + 39628 7733 7798 7495 7787 + 39629 7495 7582 7798 7667 + 39630 7680 7496 7786 7944 + 39631 7944 7786 7731 7496 + 39632 7680 7581 7496 8023 + 39633 8023 7731 7496 7944 + 39634 8023 7496 7680 7944 + 39635 7731 7496 7581 8023 + 39636 7575 7665 7849 7497 + 39637 7938 7497 7575 7849 + 39638 7575 7497 7938 7732 + 39639 7497 7945 7665 7849 + 39640 7665 7595 7945 7497 + 39641 7497 7666 7595 7946 + 39642 7946 7779 7497 7666 + 39643 7856 7946 7779 7497 + 39644 8024 7945 7595 7497 + 39645 8024 7946 7856 7497 + 39646 7497 8024 7945 7849 + 39647 7946 7497 8024 7595 + 39648 7497 7856 8138 7779 + 39649 8138 7938 7497 7732 + 39650 7497 8138 7732 7779 + 39651 8024 7856 8158 7497 + 39652 8158 8138 7497 7856 + 39653 7497 8158 8024 7849 + 39654 7938 8158 7497 7849 + 39655 7938 8138 7497 8158 + 39656 7498 7735 7858 7781 + 39657 7858 7498 7781 7736 + 39658 7782 7859 7672 7498 + 39659 7498 7859 7672 7737 + 39660 7498 7858 7735 7950 + 39661 7498 7735 7782 7950 + 39662 7950 7782 7498 7859 + 39663 7498 7859 7737 7950 + 39664 8028 7583 7498 7736 + 39665 7498 7858 7950 8028 + 39666 7498 7737 8028 7950 + 39667 7858 8028 7498 7736 + 39668 8028 7583 7737 7498 + 39669 7668 7583 7737 7499 + 39670 7583 7780 7499 7667 + 39671 7499 7857 7582 7667 + 39672 7582 7499 7734 7857 + 39673 7667 7780 7499 7857 + 39674 7668 7737 7860 7499 + 39675 7860 7668 7499 7947 + 39676 7734 7947 7499 7668 + 39677 7857 7734 7947 7499 + 39678 7499 8026 7860 7947 + 39679 7780 7499 7857 8026 + 39680 8026 7951 7780 7499 + 39681 7499 7857 8026 7947 + 39682 8026 7860 7951 7499 + 39683 7499 8028 7583 7737 + 39684 7860 8028 7951 7499 + 39685 7780 8028 7583 7499 + 39686 7499 7860 8028 7737 + 39687 7780 7951 8028 7499 + 39688 7584 7862 7500 7734 + 39689 7734 7946 7500 7666 + 39690 7862 7500 7734 7946 + 39691 7500 7946 7595 7666 + 39692 8094 7500 7595 7676 + 39693 8094 7946 7595 7500 + 39694 7676 7784 8094 7500 + 39695 8094 7584 7500 7784 + 39696 8094 7862 7946 7500 + 39697 8094 7584 7862 7500 + 39698 7861 7599 7668 7501 + 39699 7954 7501 7681 7745 + 39700 7954 7599 7501 7745 + 39701 7861 7954 7599 7501 + 39702 7501 7861 8029 7668 + 39703 7584 8029 7668 7501 + 39704 8095 7501 7681 7954 + 39705 7501 8095 8029 7861 + 39706 7501 7954 8095 7861 + 39707 7584 8095 8029 7501 + 39708 7681 8095 7584 7501 + 39709 7677 7863 7502 7596 + 39710 7863 7678 7502 7741 + 39711 7863 7502 7596 7741 + 39712 7503 7701 7864 7597 + 39713 7864 7503 7763 7701 + 39714 7865 7587 7669 7503 + 39715 7503 7955 7763 7586 + 39716 7865 7955 7503 7669 + 39717 7503 7669 7955 7586 + 39718 7864 7597 7956 7503 + 39719 7503 7956 7670 7597 + 39720 7503 7955 7865 8030 + 39721 7763 8030 7503 7864 + 39722 7503 7763 7955 8030 + 39723 8096 7864 7503 8030 + 39724 8096 7864 7956 7503 + 39725 8096 7503 7865 8030 + 39726 7587 7503 7865 8096 + 39727 7587 7670 7503 8096 + 39728 7503 8096 7670 7956 + 39729 7867 7588 7764 7504 + 39730 7504 7764 7867 7615 + 39731 7763 7867 7615 7504 + 39732 7588 7504 7867 7958 + 39733 7588 7671 7504 7958 + 39734 7735 8031 7586 7504 + 39735 7504 7586 7763 8031 + 39736 7504 7763 7867 8031 + 39737 8097 7958 7867 7504 + 39738 7671 8097 7735 7504 + 39739 7504 7867 8097 8031 + 39740 8097 7671 7958 7504 + 39741 7504 8097 7735 8031 + 39742 7764 7588 7690 7505 + 39743 7589 7868 7782 7506 + 39744 7589 7673 7868 7506 + 39745 7506 7958 7868 7782 + 39746 7782 7671 7506 7958 + 39747 7671 7506 7958 7752 + 39748 7752 7601 7506 8098 + 39749 7673 7506 7601 8098 + 39750 7752 7506 7958 8098 + 39751 7868 7958 7506 8098 + 39752 7868 7506 7673 8098 + 39753 7581 7507 7855 7680 + 39754 7780 7855 7581 7507 + 39755 7507 7669 7865 7587 + 39756 7507 7669 7955 7865 + 39757 7736 7669 7955 7507 + 39758 7680 7587 7507 7957 + 39759 7507 7865 7957 7587 + 39760 7855 8033 7680 7507 + 39761 7507 7957 8033 7680 + 39762 7736 7955 8034 7507 + 39763 7955 8099 7507 7865 + 39764 8033 7957 7507 8099 + 39765 8034 7507 7955 8099 + 39766 7507 8099 7957 7865 + 39767 8033 8140 8099 7507 + 39768 8140 7507 8034 8099 + 39769 7855 8140 7507 7780 + 39770 8034 7507 8140 7736 + 39771 8033 7855 8140 7507 + 39772 7736 7507 8140 7780 + 39773 7508 7672 7589 7859 + 39774 7859 7508 7672 7599 + 39775 7508 7869 7748 7683 + 39776 7590 7508 7683 7960 + 39777 7960 7590 7508 7745 + 39778 7960 7508 7683 7869 + 39779 7960 7508 8036 7745 + 39780 7745 7508 8036 7599 + 39781 7960 8036 7508 7869 + 39782 7869 7748 8101 7508 + 39783 7859 7508 7599 8101 + 39784 7599 7508 8036 8101 + 39785 7508 7748 8101 7589 + 39786 7508 7589 8101 7859 + 39787 8036 7508 7869 8101 + 39788 7683 7788 7509 7747 + 39789 7789 7509 7749 7830 + 39790 7509 7830 7747 7788 + 39791 7830 7674 7738 7509 + 39792 7749 7830 7509 7788 + 39793 7789 7738 7509 7830 + 39794 7830 7747 7674 7509 + 39795 7648 7834 7592 7510 + 39796 7834 7648 7591 7510 + 39797 7510 7921 7834 7592 + 39798 7739 7644 7921 7510 + 39799 7510 7644 7921 7592 + 39800 7591 8038 7834 7510 + 39801 7591 7739 8038 7510 + 39802 7510 7739 8038 7921 + 39803 7510 8038 7834 7921 + 39804 7740 7594 7511 7675 + 39805 7593 7945 7511 7675 + 39806 7593 7945 7665 7511 + 39807 7511 7665 7595 7945 + 39808 7511 7595 7740 7945 + 39809 7945 7740 7511 7675 + 39810 7585 7826 7677 7512 + 39811 7585 7717 7826 7512 + 39812 7512 7925 7826 7677 + 39813 7925 7717 7512 7826 + 39814 7717 7925 7512 7562 + 39815 7925 7562 7742 7512 + 39816 7512 7677 7596 8042 + 39817 7925 8042 7512 7742 + 39818 8042 7925 7512 7677 + 39819 7742 7596 8042 7512 + 39820 7784 7513 7741 7874 + 39821 7874 7741 7596 7513 + 39822 7874 7596 7742 7513 + 39823 7513 7742 7926 7647 + 39824 7926 7874 7742 7513 + 39825 7513 7926 7743 7647 + 39826 8043 7874 7513 7784 + 39827 7926 8043 7874 7513 + 39828 7743 7513 7784 8043 + 39829 7743 7926 7513 8043 + 39830 7863 7514 7678 7741 + 39831 7514 7964 7741 7863 + 39832 7514 8040 7676 7963 + 39833 7740 8040 7514 7785 + 39834 7676 7740 8040 7514 + 39835 7741 7514 7676 8041 + 39836 7514 7676 8041 7963 + 39837 8041 7876 7964 7514 + 39838 7741 7964 7514 8041 + 39839 8041 7963 7876 7514 + 39840 7678 8045 7514 7863 + 39841 7964 7514 7876 8045 + 39842 7785 8045 7514 7678 + 39843 7514 7863 8045 7964 + 39844 8040 7514 7785 8106 + 39845 8106 7514 8045 7876 + 39846 7514 7785 8106 8045 + 39847 7514 8040 7963 8106 + 39848 7514 7963 7876 8106 + 39849 7866 7786 7515 7679 + 39850 7877 7686 7616 7515 + 39851 7515 7686 7750 7877 + 39852 7766 7877 7616 7515 + 39853 7515 7750 7967 7877 + 39854 8046 7866 7515 7679 + 39855 7877 7515 7766 8046 + 39856 7877 7967 7515 8046 + 39857 7766 7515 7617 8046 + 39858 7515 7967 7866 8046 + 39859 8046 7515 7617 7679 + 39860 7515 7967 7750 8096 + 39861 8096 7515 7786 7670 + 39862 8096 7515 7670 7750 + 39863 7515 7866 7967 8096 + 39864 7515 7786 7866 8096 + 39865 7956 7670 7516 7750 + 39866 7516 7956 7597 7670 + 39867 7517 7875 7743 7681 + 39868 7745 7960 7590 7517 + 39869 7960 7682 7590 7517 + 39870 7968 7517 7681 7875 + 39871 7517 8036 7745 7960 + 39872 8036 7681 7517 7745 + 39873 7681 7968 8036 7517 + 39874 7517 7875 8104 7743 + 39875 7517 8104 7682 7743 + 39876 7960 8147 7682 7517 + 39877 8036 7968 8147 7517 + 39878 7968 8147 7517 7875 + 39879 8104 7517 7682 8147 + 39880 7517 8147 8036 7960 + 39881 7517 8104 7875 8147 + 39882 7607 7673 7518 7746 + 39883 7754 7602 7518 7684 + 39884 7607 7870 7754 7518 + 39885 7607 7673 7870 7518 + 39886 7870 7600 7684 7518 + 39887 7600 7870 7673 7518 + 39888 7870 7684 7754 7518 + 39889 7765 7519 7579 7685 + 39890 7602 7879 7520 7688 + 39891 7691 7520 7602 7879 + 39892 7791 7520 8054 7755 + 39893 7520 7791 8054 7691 + 39894 8054 7755 7520 7604 + 39895 7691 8054 7520 7879 + 39896 7520 7688 7879 8054 + 39897 7520 7604 7688 8054 + 39898 7715 7643 7559 7521 + 39899 7789 7521 7559 7643 + 39900 7794 7604 7688 7521 + 39901 7794 7715 7521 7643 + 39902 7922 7521 7643 7794 + 39903 7521 7688 7794 7922 + 39904 7688 7922 7521 7789 + 39905 7922 7643 7521 7789 + 39906 7522 7878 7689 7601 + 39907 7752 7690 7522 8032 + 39908 7522 8098 7878 7601 + 39909 8098 7522 7752 7601 + 39910 7752 7522 8098 8032 + 39911 8032 7522 8098 8151 + 39912 8098 7522 7878 8151 + 39913 7606 7746 7523 7878 + 39914 7523 7689 7878 7601 + 39915 7523 7878 7746 7601 + 39916 7753 7882 7524 7605 + 39917 7524 7693 7882 7753 + 39918 7605 7524 7692 7882 + 39919 7694 7972 7605 7525 + 39920 7972 7758 7525 7694 + 39921 7605 7525 7972 7692 + 39922 8055 7608 7525 7758 + 39923 8055 7525 7692 7972 + 39924 7525 7692 7608 8055 + 39925 8055 7758 7525 7972 + 39926 7693 7606 7883 7526 + 39927 7526 7693 7753 7883 + 39928 7526 7754 7971 7691 + 39929 7691 7753 7971 7526 + 39930 7883 8048 7526 7606 + 39931 8048 7746 7607 7526 + 39932 7746 7526 8048 7606 + 39933 8113 7526 7753 7883 + 39934 7526 8113 8048 7883 + 39935 7971 8113 7526 7753 + 39936 8113 8048 7607 7526 + 39937 7754 8113 7526 7971 + 39938 7607 8113 7526 7754 + 39939 7700 7760 7887 7528 + 39940 7887 7700 7528 7759 + 39941 7887 7609 7528 7760 + 39942 7528 7887 7697 7609 + 39943 7887 7528 8057 7759 + 39944 8057 7528 7887 7697 + 39945 8057 7695 7759 7528 + 39946 7697 7610 8057 7528 + 39947 7528 7610 8057 7695 + 39948 7888 7611 7697 7529 + 39949 7977 7888 7697 7529 + 39950 7977 7609 7529 7697 + 39951 7888 7978 7611 7529 + 39952 7978 7757 7611 7529 + 39953 7890 7800 7529 8116 + 39954 7609 8116 7977 7529 + 39955 7609 7529 7800 8116 + 39956 7890 7529 7977 8116 + 39957 7529 7890 8060 8118 + 39958 7978 8060 8118 7529 + 39959 7529 8118 7757 7792 + 39960 7978 7529 8118 7757 + 39961 7529 8118 7792 7800 + 39962 7890 7529 7800 8118 + 39963 7888 7529 8119 7978 + 39964 8119 7888 7977 7529 + 39965 7890 7529 8060 8119 + 39966 8119 7977 7890 7529 + 39967 8060 8119 7529 7978 + 39968 7888 7530 7697 7611 + 39969 7530 7889 7698 7611 + 39970 7976 7530 7891 7758 + 39971 7976 7610 7530 7758 + 39972 7758 7698 7530 7979 + 39973 7979 7889 7698 7530 + 39974 7979 7891 7530 7758 + 39975 7889 8059 7611 7530 + 39976 7888 8059 7530 7611 + 39977 7697 8117 7530 7888 + 39978 7610 8117 7530 7697 + 39979 7610 7530 8117 7976 + 39980 7889 8059 7530 8162 + 39981 7891 7530 7976 8162 + 39982 8162 7530 7889 7979 + 39983 8059 7530 8162 7888 + 39984 8117 7530 7888 8162 + 39985 8162 7530 7979 7891 + 39986 8117 7976 7530 8162 + 39987 7793 7612 7531 7841 + 39988 7612 7531 7841 7760 + 39989 7760 7609 7531 8058 + 39990 7531 8058 7841 7760 + 39991 8058 7609 7531 8116 + 39992 8058 7531 7841 8116 + 39993 7841 7793 8116 7531 + 39994 7756 7609 8116 7531 + 39995 8116 7756 7531 7793 + 39996 7827 7801 7532 7641 + 39997 8002 7981 7532 7827 + 39998 7613 7532 8002 7795 + 39999 7641 8002 7613 7532 + 40000 7827 7532 8002 7641 + 40001 7699 8011 7532 7569 + 40002 7532 7795 7569 8011 + 40003 8011 7532 7981 7699 + 40004 7532 8062 7802 7801 + 40005 8062 7699 7532 7802 + 40006 7699 7532 7981 8062 + 40007 7981 8062 7532 7827 + 40008 7532 7801 7827 8062 + 40009 7981 8123 7532 8011 + 40010 8123 8002 7532 7795 + 40011 7532 8123 7795 8011 + 40012 7981 7532 8123 8002 + 40013 7533 7797 7552 7635 + 40014 7552 7797 7533 7817 + 40015 7533 7819 7797 7635 + 40016 7635 7761 7533 7819 + 40017 7761 7841 7655 7533 + 40018 7793 7655 7841 7533 + 40019 7913 7819 7797 7533 + 40020 7841 7533 7997 7793 + 40021 7793 7533 7997 7552 + 40022 7997 7552 7533 7817 + 40023 7913 8063 7819 7533 + 40024 7841 7533 7761 8063 + 40025 8063 7761 7819 7533 + 40026 7533 8124 7913 8063 + 40027 8124 7533 7841 8063 + 40028 8124 7913 7997 7533 + 40029 8124 7997 7841 7533 + 40030 8130 7913 7533 7997 + 40031 8130 7533 7817 7997 + 40032 7913 7533 7797 8130 + 40033 7797 7533 7817 8130 + 40034 7804 7619 7767 7534 + 40035 7707 7804 7767 7534 + 40036 7618 7804 7707 7534 + 40037 7620 7897 7705 7537 + 40038 7986 7636 7537 7711 + 40039 7986 7537 7620 7711 + 40040 7537 7807 7636 7986 + 40041 7620 7897 7537 7986 + 40042 7537 7897 7807 7986 + 40043 7807 7621 7538 7706 + 40044 7807 7538 7621 7702 + 40045 7538 7724 7898 7623 + 40046 7987 7807 7538 7706 + 40047 7702 7807 7538 7987 + 40048 7898 7724 7538 7987 + 40049 7898 7538 7706 7987 + 40050 7775 7722 7539 7623 + 40051 7775 7539 7808 7623 + 40052 7899 7539 7622 7808 + 40053 7622 7703 7539 7899 + 40054 7654 7703 7540 7811 + 40055 7811 7540 7626 7703 + 40056 7541 7901 7812 7650 + 40057 7901 7541 7812 7990 + 40058 7624 7990 7812 7541 + 40059 7990 7541 7624 7722 + 40060 7722 7541 7901 7990 + 40061 7813 7544 7628 7704 + 40062 7813 7627 7544 7704 + 40063 7808 7706 7545 7629 + 40064 7809 7629 7988 7545 + 40065 7629 7808 7988 7545 + 40066 7545 7988 7809 7622 + 40067 7545 7808 7988 7622 + 40068 7707 7630 7547 7805 + 40069 7905 7805 7709 7547 + 40070 7905 7547 7630 7805 + 40071 7709 7549 7805 7906 + 40072 7634 7815 7549 7906 + 40073 7634 7549 7709 7906 + 40074 7549 7906 7993 7805 + 40075 7549 7906 7815 7993 + 40076 8068 7549 7767 7708 + 40077 7805 7549 7767 8068 + 40078 7805 7993 7549 8068 + 40079 8068 7708 7993 7549 + 40080 7631 7816 7768 7550 + 40081 7550 7632 7816 7768 + 40082 7633 7550 7994 7909 + 40083 7816 7909 7994 7550 + 40084 7994 7550 7632 7816 + 40085 7818 7911 7712 7551 + 40086 7818 7771 7911 7551 + 40087 7769 7634 7551 7996 + 40088 7911 7551 7771 7996 + 40089 7551 7996 7634 7771 + 40090 7712 8070 7551 7911 + 40091 8070 7797 7712 7551 + 40092 7911 8070 7551 7996 + 40093 7769 7551 8070 7996 + 40094 7769 8070 7551 7797 + 40095 7552 7710 7797 7817 + 40096 7803 7552 7997 7817 + 40097 7793 7997 7803 7552 + 40098 7712 7635 7912 7553 + 40099 7553 7635 7912 7770 + 40100 7712 7912 7820 7553 + 40101 7553 7989 7770 7912 + 40102 7820 7989 7896 7553 + 40103 7770 7896 7989 7553 + 40104 7912 7820 7553 7989 + 40105 7712 7636 7553 8071 + 40106 7553 8071 7636 7896 + 40107 7553 7820 8071 7896 + 40108 7712 7553 7820 8071 + 40109 7915 7554 8074 7822 + 40110 7639 7822 8074 7554 + 40111 7555 7914 7640 7717 + 40112 7914 7646 7717 7555 + 40113 7914 7999 7646 7555 + 40114 7999 7555 7639 7713 + 40115 7999 7713 7646 7555 + 40116 7556 7638 7823 7720 + 40117 7556 7917 7718 7649 + 40118 7917 7721 7649 7556 + 40119 7721 7825 7556 7917 + 40120 7823 8001 7556 7720 + 40121 7556 7916 7825 8001 + 40122 8001 7556 7720 7653 + 40123 7556 7823 7916 8001 + 40124 8075 7556 7916 7825 + 40125 7718 7917 7556 8075 + 40126 8075 7556 7823 7916 + 40127 7825 7556 7917 8075 + 40128 7801 7772 7714 7558 + 40129 7558 7641 7801 7772 + 40130 7789 7559 7738 7643 + 40131 7560 7783 7738 7643 + 40132 7643 7715 7560 7828 + 40133 7560 7643 7828 8003 + 40134 8003 7828 7560 7772 + 40135 7560 8003 7644 7783 + 40136 8003 7560 7643 7783 + 40137 7561 7723 7645 7924 + 40138 7924 7561 7723 7699 + 40139 7645 7810 7561 7924 + 40140 8005 7810 7924 7561 + 40141 7924 8005 7561 7699 + 40142 7831 8005 7699 7561 + 40143 7810 8078 7561 8005 + 40144 7652 7776 7561 8078 + 40145 7561 7831 8005 8078 + 40146 7561 7776 7831 8078 + 40147 7832 7742 7562 7647 + 40148 7646 7925 7562 7832 + 40149 7925 7562 7717 7646 + 40150 7925 7742 7562 7832 + 40151 7926 7832 7563 7647 + 40152 7647 7563 7926 7743 + 40153 7682 7743 7926 7563 + 40154 7926 7563 7832 8006 + 40155 7648 7563 8006 7832 + 40156 7682 7926 8006 7563 + 40157 7739 7642 7565 7919 + 40158 7824 7739 7565 7919 + 40159 7919 7642 7565 7718 + 40160 7919 7565 8000 7718 + 40161 7565 7639 7824 8000 + 40162 7824 8000 7919 7565 + 40163 7566 7625 7716 7773 + 40164 7566 7716 7802 7773 + 40165 7566 7649 7917 7721 + 40166 7802 7566 7773 7920 + 40167 7920 7802 7566 7837 + 40168 7651 7566 7923 7721 + 40169 7923 7716 7802 7566 + 40170 7837 7566 7923 7802 + 40171 7923 7651 7716 7566 + 40172 7920 7566 8007 7837 + 40173 7566 7773 7920 8007 + 40174 7917 8081 7566 7721 + 40175 7917 7566 8081 8007 + 40176 8081 7837 7566 7923 + 40177 8081 7923 7566 7721 + 40178 8081 7837 8007 7566 + 40179 7650 7719 7839 7567 + 40180 7567 7839 7721 7651 + 40181 7839 7719 7651 7567 + 40182 7568 7928 7838 7650 + 40183 7650 7568 7928 7812 + 40184 7761 7569 7655 7931 + 40185 7569 7821 7931 7761 + 40186 7931 7569 7655 7795 + 40187 7569 7931 7821 8011 + 40188 7569 7821 7723 8011 + 40189 7569 7931 8011 7795 + 40190 7569 7723 7699 8011 + 40191 7724 7842 7775 7570 + 40192 7842 7775 7570 8013 + 40193 7901 8013 7570 7775 + 40194 7570 8078 7724 7842 + 40195 7719 7652 7570 8078 + 40196 8078 7652 7570 7724 + 40197 8013 7570 8134 7901 + 40198 8134 8078 7570 7842 + 40199 7842 7570 8134 8013 + 40200 8078 7719 8134 7570 + 40201 7570 7719 8134 7901 + 40202 7933 7728 7661 7572 + 40203 7844 7572 7933 7661 + 40204 7725 7572 7657 7934 + 40205 7572 7934 7843 7657 + 40206 7572 7933 7728 8014 + 40207 7934 7843 8014 7572 + 40208 7572 7728 7843 8014 + 40209 8084 7934 7572 7725 + 40210 8084 7572 7844 7725 + 40211 8084 8014 7933 7572 + 40212 8084 7934 8014 7572 + 40213 7844 7933 7572 8084 + 40214 7726 7573 7845 7656 + 40215 7573 7846 7725 7663 + 40216 7659 7778 7935 7573 + 40217 7847 7935 7573 7659 + 40218 7935 7573 7778 7663 + 40219 7935 7846 7573 7663 + 40220 7726 7936 7845 7573 + 40221 7573 7936 7847 7659 + 40222 7573 7726 7936 7659 + 40223 8015 7573 7725 7656 + 40224 8015 7845 7573 7656 + 40225 7573 7846 7935 8016 + 40226 7725 7846 7573 8016 + 40227 8085 7573 8016 7845 + 40228 7573 7847 7936 8085 + 40229 7936 7845 7573 8085 + 40230 7847 7935 8085 7573 + 40231 7573 7935 8085 8016 + 40232 7845 8086 7573 8016 + 40233 8015 7725 7573 8086 + 40234 7573 8016 8086 7725 + 40235 7573 7845 8015 8086 + 40236 7662 7777 7574 7848 + 40237 8017 7664 7574 7848 + 40238 7843 7574 8017 7664 + 40239 8017 7843 7657 7574 + 40240 7777 7574 8017 7657 + 40241 7848 7777 7574 8017 + 40242 7575 7849 7660 7938 + 40243 7575 7938 7660 7727 + 40244 7799 7658 7576 7939 + 40245 7576 8019 7729 7662 + 40246 7576 7799 8019 7662 + 40247 7576 8019 7939 7850 + 40248 7799 8019 7939 7576 + 40249 7576 7729 8019 7850 + 40250 7851 7577 7744 7660 + 40251 7853 7687 7578 7751 + 40252 7664 7853 7578 7730 + 40253 7579 7790 7765 7685 + 40254 7662 7580 7731 7852 + 40255 7944 7731 7580 7852 + 40256 7731 7679 7944 7580 + 40257 7662 7852 8021 7580 + 40258 8137 8021 7852 7580 + 40259 7944 7580 8137 7852 + 40260 7580 7944 8137 7679 + 40261 8137 7796 8021 7580 + 40262 7580 8137 7796 7679 + 40263 7780 7733 7581 7855 + 40264 7787 7581 7733 7855 + 40265 7787 8023 7799 7581 + 40266 8023 7581 7855 7680 + 40267 7731 7799 8023 7581 + 40268 7787 7855 8023 7581 + 40269 7734 7582 7779 7666 + 40270 7582 7857 7798 7667 + 40271 7582 7734 7779 7857 + 40272 7779 7798 7582 7857 + 40273 7583 7736 8028 7780 + 40274 7784 7584 7681 7953 + 40275 8029 7734 7862 7584 + 40276 8029 7668 7734 7584 + 40277 7953 7784 7584 8094 + 40278 7953 8094 7584 7862 + 40279 7584 7953 8095 7681 + 40280 7862 7584 7953 8139 + 40281 8139 8029 7862 7584 + 40282 8139 8095 8029 7584 + 40283 8095 7953 7584 8139 + 40284 7826 7585 7640 7717 + 40285 7586 7955 7781 7669 + 40286 7763 7955 8031 7586 + 40287 7735 7586 8031 7781 + 40288 7586 7781 7955 8031 + 40289 7866 7587 7786 7680 + 40290 7680 7866 7587 7957 + 40291 8096 7866 7957 7587 + 40292 8096 7957 7865 7587 + 40293 8096 7786 7587 7670 + 40294 7587 7866 7786 8096 + 40295 7588 7958 7752 7671 + 40296 7958 7867 7588 8032 + 40297 7764 7867 8032 7588 + 40298 7764 8032 7690 7588 + 40299 7588 8032 7690 7752 + 40300 7588 7958 8032 7752 + 40301 7859 7589 7782 7672 + 40302 7589 7868 7673 7959 + 40303 7868 7959 7589 7782 + 40304 7673 7589 7959 7748 + 40305 7782 7959 7589 8035 + 40306 7782 7589 7859 8035 + 40307 8101 7959 8035 7589 + 40308 8101 8035 7859 7589 + 40309 8101 7748 7959 7589 + 40310 7590 7835 7960 7747 + 40311 7590 7960 7835 7682 + 40312 7747 7590 7683 7960 + 40313 7962 7824 7591 7999 + 40314 7999 7639 7591 7713 + 40315 7591 7824 7639 7999 + 40316 7646 7999 7591 7713 + 40317 7962 8038 7591 7824 + 40318 8038 7739 7591 7824 + 40319 7834 8038 7591 7962 + 40320 7999 7591 7962 8079 + 40321 7646 7832 7591 8079 + 40322 7834 7591 8079 7962 + 40323 7591 7832 7648 8079 + 40324 7591 7999 7646 8079 + 40325 7591 7648 7834 8079 + 40326 7644 7592 7783 8003 + 40327 7644 7921 7592 8003 + 40328 7592 7834 7648 8006 + 40329 8006 7592 8103 7835 + 40330 8103 7835 7592 7927 + 40331 7834 7592 8103 8006 + 40332 7921 7592 8003 8143 + 40333 7921 8143 7834 7592 + 40334 7927 7592 8103 8143 + 40335 8103 7834 8143 7592 + 40336 7783 7927 8156 7592 + 40337 8003 7592 7783 8156 + 40338 7927 8156 7592 8143 + 40339 7592 8156 8003 8143 + 40340 7849 7945 7665 7593 + 40341 7945 7849 8039 7593 + 40342 7593 8039 7945 7675 + 40343 7849 8039 7593 7744 + 40344 7740 7785 7594 7675 + 40345 7872 7595 7740 7676 + 40346 7595 7740 7945 7872 + 40347 7595 7945 8024 7872 + 40348 7595 8094 7676 7872 + 40349 8024 7872 8094 7595 + 40350 7946 8024 8094 7595 + 40351 7596 7964 7741 7874 + 40352 7964 7596 7741 7863 + 40353 7596 8042 7677 7863 + 40354 7874 8042 7742 7596 + 40355 7863 7596 8042 7964 + 40356 7874 7596 7964 8042 + 40357 7599 7859 7737 7672 + 40358 7737 7599 7668 7952 + 40359 7861 7599 7952 7668 + 40360 8036 7745 7599 7954 + 40361 8036 7599 8101 7954 + 40362 8142 8101 7599 7954 + 40363 7599 7861 8142 7954 + 40364 7859 8142 7599 7737 + 40365 7859 7599 8142 8101 + 40366 7737 8142 7599 7952 + 40367 7599 7952 8142 7861 + 40368 7870 7600 7673 7748 + 40369 7748 7600 7969 7870 + 40370 7870 7684 7600 7969 + 40371 7684 7788 7600 7969 + 40372 8047 7600 7683 7788 + 40373 7969 8047 7600 7748 + 40374 8047 7969 7600 7788 + 40375 7748 7600 7683 8047 + 40376 7746 7673 7601 7961 + 40377 7601 7878 7746 7961 + 40378 7961 7673 7601 8098 + 40379 7601 8098 7878 7961 + 40380 7688 7602 7749 7789 + 40381 7691 7879 7602 7754 + 40382 7684 7879 7602 7749 + 40383 7602 7754 7879 7684 + 40384 7602 7879 7688 7749 + 40385 7604 7755 7695 7903 + 40386 7903 7688 7794 7604 + 40387 7903 7688 7604 8054 + 40388 8054 7903 7755 7604 + 40389 7791 7753 7691 7605 + 40390 7972 7605 7753 7791 + 40391 7882 7605 7753 7972 + 40392 7882 7605 7972 7692 + 40393 7972 7694 7605 7791 + 40394 7878 7746 8048 7606 + 40395 7878 8048 7973 7606 + 40396 7883 7973 8048 7606 + 40397 7746 7607 7673 7961 + 40398 7754 7975 7870 7607 + 40399 7961 8037 7885 7607 + 40400 7673 7607 8037 7961 + 40401 8037 7870 7975 7607 + 40402 7607 8037 7870 7673 + 40403 8037 7607 7975 7885 + 40404 7961 7607 8048 7746 + 40405 7607 7885 7961 8048 + 40406 7885 8048 7607 7975 + 40407 8113 7754 7607 7975 + 40408 7975 8048 7607 8113 + 40409 7758 7698 8055 7608 + 40410 7977 7609 7697 8058 + 40411 7609 7887 7697 8058 + 40412 7760 7887 7609 8058 + 40413 7609 8058 7977 8116 + 40414 7609 7800 7756 8116 + 40415 7694 7886 7610 7755 + 40416 7758 7976 7610 7694 + 40417 7886 7694 7610 7976 + 40418 7695 7610 8057 7755 + 40419 7610 8057 7886 7976 + 40420 8057 7610 7886 7755 + 40421 8117 7697 7610 8057 + 40422 7976 8117 7610 8057 + 40423 7978 7611 8059 7888 + 40424 7793 7655 7612 7841 + 40425 7612 7841 7655 7760 + 40426 7613 7700 7795 8002 + 40427 8002 7613 7700 7759 + 40428 7759 7613 7814 8002 + 40429 7641 7814 7613 8002 + 40430 7828 7614 7794 7715 + 40431 7828 7918 7614 7772 + 40432 7814 7614 7918 7641 + 40433 7772 7614 7641 7918 + 40434 7794 7918 7814 7614 + 40435 7918 7828 7614 7794 + 40436 7763 7983 7701 7615 + 40437 7764 7615 7984 7867 + 40438 7867 8064 7615 7984 + 40439 7763 8125 7983 7615 + 40440 7615 8064 7867 8125 + 40441 8064 7983 8125 7615 + 40442 7615 7867 7763 8125 + 40443 7880 7616 7765 7685 + 40444 7766 7616 7941 7685 + 40445 7941 7616 7880 7685 + 40446 7616 7766 7985 7877 + 40447 7941 8065 7616 7766 + 40448 7616 7880 8065 7941 + 40449 7766 7985 8065 7616 + 40450 7617 7854 8091 7730 + 40451 7617 8091 7796 7730 + 40452 8091 7617 8137 8046 + 40453 7617 7679 8137 8046 + 40454 8091 7796 8137 7617 + 40455 7679 7796 7617 8137 + 40456 8155 7854 7617 7941 + 40457 7617 7766 8046 8155 + 40458 8155 7617 7766 7941 + 40459 7854 8091 8155 7617 + 40460 7617 8046 8091 8155 + 40461 7804 7619 7895 7767 + 40462 7708 7895 7619 7767 + 40463 7708 7806 7619 7895 + 40464 7899 7808 7622 7988 + 40465 7899 7622 7809 7988 + 40466 7724 7898 7623 7775 + 40467 7808 7623 7898 7775 + 40468 7722 7624 7990 7774 + 40469 7704 7902 7813 7627 + 40470 7808 7904 7706 7629 + 40471 7808 7988 7904 7629 + 40472 8067 7629 7897 7706 + 40473 8067 7904 7629 7706 + 40474 7905 7630 7707 7805 + 40475 7768 7908 7631 7806 + 40476 7631 7768 7816 7908 + 40477 7632 7817 7907 7710 + 40478 7816 7768 7632 7908 + 40479 7994 7816 7632 7910 + 40480 7908 7632 7816 7995 + 40481 7995 7632 7816 7910 + 40482 7995 8069 7908 7632 + 40483 7632 7768 8069 7908 + 40484 7995 8128 8069 7632 + 40485 7817 7907 8128 7632 + 40486 7817 8128 7910 7632 + 40487 8128 7910 7632 7995 + 40488 8069 7632 8128 7907 + 40489 7633 7803 7756 7800 + 40490 7909 7800 7633 7792 + 40491 7909 7633 7762 7792 + 40492 7800 7909 7633 7994 + 40493 7633 7994 7803 7800 + 40494 7996 7906 7815 7634 + 40495 7996 7709 7906 7634 + 40496 7771 7709 7996 7634 + 40497 7634 7815 7996 7769 + 40498 7635 7819 7797 7712 + 40499 7819 7635 7912 7712 + 40500 7819 7912 7635 7761 + 40501 7636 7986 7807 7896 + 40502 7712 8071 7818 7636 + 40503 8071 7986 7636 7896 + 40504 7636 8071 7818 7711 + 40505 7986 8071 7636 7711 + 40506 7999 8074 7824 7639 + 40507 7824 7639 8074 8000 + 40508 7999 8074 7639 7822 + 40509 7826 7640 7914 7717 + 40510 7801 7641 7827 7772 + 40511 7772 7641 7827 7918 + 40512 7641 7918 7814 8002 + 40513 7641 7827 7918 8002 + 40514 7919 7739 7642 7829 + 40515 7828 7794 7643 7715 + 40516 7830 7789 7738 7643 + 40517 7783 7738 7643 7830 + 40518 7643 7922 7794 7828 + 40519 7830 7922 7789 7643 + 40520 8003 7643 8156 7783 + 40521 7922 8156 7643 7830 + 40522 7643 7828 8156 7922 + 40523 8156 7828 7643 8003 + 40524 7783 7643 8156 7830 + 40525 7702 7989 7810 7645 + 40526 7645 7989 7810 7924 + 40527 7702 7770 7989 7645 + 40528 7645 7723 7989 7924 + 40529 7717 7914 7826 7646 + 40530 7717 7925 7646 7826 + 40531 8079 7999 7646 7833 + 40532 8079 7646 7925 7833 + 40533 7646 7925 7832 8079 + 40534 8080 7833 7925 7646 + 40535 7914 7646 7999 8080 + 40536 7914 7826 7646 8080 + 40537 8080 7925 7826 7646 + 40538 7999 7646 7833 8080 + 40539 7832 7647 7926 7742 + 40540 7648 8006 8133 7832 + 40541 8079 7834 8133 7648 + 40542 8079 8133 7832 7648 + 40543 8006 7834 7648 8133 + 40544 7839 7901 7719 7650 + 40545 7650 7928 7838 8008 + 40546 8008 7650 7901 7839 + 40547 7812 7901 8082 7650 + 40548 8008 8082 7901 7650 + 40549 8008 7928 8082 7650 + 40550 7812 8082 7928 7650 + 40551 7776 7651 7716 7923 + 40552 7719 8009 7651 7776 + 40553 8009 7719 7651 7839 + 40554 7651 7776 8009 7923 + 40555 8009 7651 7923 8135 + 40556 7839 8009 8135 7651 + 40557 7839 8135 7721 7651 + 40558 8135 7651 7923 7721 + 40559 7652 7719 7776 8078 + 40560 7654 7899 7703 7811 + 40561 7811 8010 7654 7899 + 40562 7761 7655 7841 7931 + 40563 7655 7760 7841 7931 + 40564 7931 7655 7760 7795 + 40565 8015 7844 7656 7725 + 40566 7725 7777 7846 7657 + 40567 7843 8017 7657 7934 + 40568 7777 8017 7846 7657 + 40569 8136 7725 7657 7934 + 40570 7657 7846 7725 8136 + 40571 7657 7934 8017 8136 + 40572 7846 7657 8017 8136 + 40573 7799 7939 7787 7658 + 40574 7658 7732 7939 7798 + 40575 7787 7939 7798 7658 + 40576 7935 7727 7778 7659 + 40577 7935 7847 7727 7659 + 40578 7660 7727 7938 8020 + 40579 7660 7744 7851 8088 + 40580 8088 7938 8020 7660 + 40581 8020 8088 7660 7851 + 40582 7849 7744 7660 8088 + 40583 7938 7849 7660 8088 + 40584 7799 7731 7852 7662 + 40585 7662 7937 7777 7848 + 40586 7662 7937 7729 7777 + 40587 7729 7937 7662 8019 + 40588 7937 7852 7662 8019 + 40589 7799 7662 7852 8019 + 40590 7662 8021 7937 7848 + 40591 7852 7937 7662 8021 + 40592 7725 7663 7846 7777 + 40593 7935 7663 7778 7850 + 40594 7663 7729 7937 7777 + 40595 7663 7937 7846 7777 + 40596 8090 7846 7663 7937 + 40597 7729 7663 7937 8090 + 40598 7663 7846 8090 7935 + 40599 8090 7729 7663 7850 + 40600 8090 7850 7663 7935 + 40601 8017 7940 7664 7848 + 40602 7843 8017 7940 7664 + 40603 7940 7848 8022 7664 + 40604 8022 7730 7853 7664 + 40605 7853 7940 8022 7664 + 40606 7848 7730 8022 7664 + 40607 7734 7779 7946 7666 + 40608 7780 7733 7798 7667 + 40609 7780 7798 7857 7667 + 40610 7860 7737 7668 7952 + 40611 7861 7952 8029 7668 + 40612 7734 8029 7947 7668 + 40613 7860 7668 8029 7952 + 40614 7860 8029 7668 7947 + 40615 7669 7955 7781 7736 + 40616 7956 8096 7670 7750 + 40617 8097 7735 7782 7671 + 40618 8097 7782 7958 7671 + 40619 7868 7961 7673 8037 + 40620 7870 7673 8037 7748 + 40621 7868 8037 7673 7959 + 40622 7959 7748 8037 7673 + 40623 7961 7673 8098 7868 + 40624 7783 7674 7738 7830 + 40625 7927 7783 7830 7674 + 40626 7927 7830 7747 7674 + 40627 7945 7785 7740 7675 + 40628 7945 7675 7871 7785 + 40629 7871 7675 7945 8039 + 40630 7872 7740 8040 7676 + 40631 7872 8040 7963 7676 + 40632 7784 7676 8041 7741 + 40633 8041 7676 7784 7873 + 40634 7676 7963 7873 8041 + 40635 7872 7963 8094 7676 + 40636 8094 7784 7676 7873 + 40637 7873 8094 7963 7676 + 40638 8105 7677 8042 7863 + 40639 8144 7677 7826 7925 + 40640 8144 8042 7677 7925 + 40641 8042 8105 8144 7677 + 40642 7866 7679 7944 7786 + 40643 7731 7786 7944 7679 + 40644 7866 8137 7679 8046 + 40645 8137 7866 7679 7944 + 40646 7680 7786 7866 7944 + 40647 7680 7866 7957 8107 + 40648 7680 7944 7866 8107 + 40649 7680 7957 8033 8107 + 40650 8107 8146 8033 7680 + 40651 7680 8146 7944 8107 + 40652 7680 8146 8033 7855 + 40653 7855 7680 8146 8023 + 40654 7944 8023 8146 7680 + 40655 7784 7743 7875 7681 + 40656 7784 7681 7875 7953 + 40657 8036 7745 7954 7681 + 40658 8036 8095 7968 7681 + 40659 8036 7954 8095 7681 + 40660 7968 7681 8095 7875 + 40661 7875 8095 7953 7681 + 40662 7682 8104 7926 7743 + 40663 8147 7835 7960 7682 + 40664 7682 7926 8104 8160 + 40665 8006 7682 8160 7926 + 40666 8160 7682 8006 7835 + 40667 7835 7682 8147 8160 + 40668 8147 8104 8160 7682 + 40669 8047 7869 7960 7683 + 40670 7747 7683 8047 7960 + 40671 7748 7683 7869 8047 + 40672 7683 7788 7747 8047 + 40673 7754 8049 7684 7870 + 40674 7684 8049 7788 7969 + 40675 7870 8049 7684 7969 + 40676 8049 7879 7754 7684 + 40677 7788 8049 7684 7749 + 40678 7684 8049 7879 7749 + 40679 7765 7685 7790 7880 + 40680 7880 8050 7941 7685 + 40681 8050 7685 7790 7751 + 40682 7751 7941 8050 7685 + 40683 7880 7790 8050 7685 + 40684 7751 7970 7853 7687 + 40685 8050 7687 7751 7790 + 40686 7751 8050 7970 7687 + 40687 7688 7749 7922 7789 + 40688 8112 8054 7688 7903 + 40689 7688 8054 8112 7879 + 40690 7903 7794 7688 8112 + 40691 8112 7688 7922 7794 + 40692 8112 7879 8150 7688 + 40693 7749 8150 7879 7688 + 40694 8150 7922 8112 7688 + 40695 8150 7749 7922 7688 + 40696 7691 7971 7879 7754 + 40697 7753 7691 7971 7791 + 40698 7971 7879 8054 7691 + 40699 7691 7791 8054 7971 + 40700 8055 7692 7882 7972 + 40701 7693 7974 7882 7753 + 40702 7753 7883 7693 7974 + 40703 7886 7791 7755 7694 + 40704 8056 7694 7791 7886 + 40705 7694 7972 7758 8056 + 40706 7972 7694 7791 8056 + 40707 7758 8056 7976 7694 + 40708 7886 8056 7694 7976 + 40709 8057 7695 7903 7759 + 40710 7695 8057 7903 7755 + 40711 8117 7887 7697 8057 + 40712 7697 8153 8117 7888 + 40713 7697 8117 8153 7887 + 40714 7697 8153 7888 7977 + 40715 8058 8153 7887 7697 + 40716 8058 7977 8153 7697 + 40717 7758 8055 7698 7979 + 40718 7981 7699 7893 8011 + 40719 7723 7924 7699 8011 + 40720 7981 7893 7699 8062 + 40721 7982 7699 7893 8062 + 40722 8122 7982 7699 7893 + 40723 8122 7893 7699 8011 + 40724 7699 7924 8005 8122 + 40725 7699 8122 8011 7924 + 40726 7802 8154 7699 7831 + 40727 8154 8062 7699 7982 + 40728 8154 8122 7982 7699 + 40729 7699 8005 8154 8122 + 40730 7831 8005 8154 7699 + 40731 8062 8154 7699 7802 + 40732 7892 7795 7700 8002 + 40733 8002 7700 7892 7759 + 40734 8121 7700 7759 7892 + 40735 7887 7700 7759 8121 + 40736 7887 7760 7700 8121 + 40737 7700 7892 8121 7795 + 40738 7700 8121 7760 7795 + 40739 7983 7701 7864 7763 + 40740 7702 7896 7807 7987 + 40741 7989 7896 7770 7702 + 40742 7989 7810 8066 7702 + 40743 7987 7896 8066 7702 + 40744 7702 7810 8066 7900 + 40745 7989 8066 7896 7702 + 40746 7702 8066 7987 7900 + 40747 7807 7706 8067 7897 + 40748 7987 8067 7807 7706 + 40749 8067 7706 8126 7904 + 40750 7706 7808 7898 8126 + 40751 7706 7904 7808 8126 + 40752 7987 7706 7898 8126 + 40753 7987 7706 8126 8067 + 40754 7804 7767 7992 7707 + 40755 7805 7992 7767 7707 + 40756 7905 7707 7992 7805 + 40757 7768 7708 7908 7806 + 40758 8068 7767 7895 7708 + 40759 7768 7708 8069 7908 + 40760 7708 7806 8127 7908 + 40761 8127 8068 7895 7708 + 40762 8069 7908 7708 8127 + 40763 7708 7806 7895 8127 + 40764 7993 7708 8068 8127 + 40765 7993 8069 7708 8127 + 40766 7906 7805 7709 8129 + 40767 7805 7905 7709 8129 + 40768 7797 7769 8070 7710 + 40769 7710 7769 8070 7907 + 40770 7817 8130 7710 7797 + 40771 7797 8070 8130 7710 + 40772 7710 8070 8130 7907 + 40773 7710 7817 7907 8130 + 40774 7819 7797 7712 7998 + 40775 8070 7998 7911 7712 + 40776 7712 8070 7998 7797 + 40777 7912 8072 7819 7712 + 40778 7819 7712 8072 7998 + 40779 7912 7820 8072 7712 + 40780 8071 7818 8131 7712 + 40781 8131 7911 7998 7712 + 40782 8131 7712 7998 8072 + 40783 7712 8131 8071 7820 + 40784 8131 7818 7911 7712 + 40785 8072 8131 7712 7820 + 40786 7772 7920 7714 7829 + 40787 7920 7714 7773 7801 + 40788 7801 7920 7714 7772 + 40789 7920 7714 7829 7773 + 40790 7776 7716 7802 7923 + 40791 7718 7836 8000 7919 + 40792 8075 7718 7917 7836 + 40793 8000 8075 7836 7718 + 40794 7776 8078 7719 8009 + 40795 7719 7839 8009 8134 + 40796 7719 8009 8078 8134 + 40797 8134 7839 7901 7719 + 40798 8081 7825 7721 7917 + 40799 7721 7929 8135 7839 + 40800 8135 7825 7929 7721 + 40801 8081 7721 7825 8135 + 40802 8135 7923 8081 7721 + 40803 7840 7722 7775 7901 + 40804 7840 7990 7774 7722 + 40805 7722 7901 7840 7990 + 40806 7723 7821 7924 8011 + 40807 7924 8073 7821 7723 + 40808 7924 7989 8073 7723 + 40809 7724 7775 7842 8012 + 40810 7775 7724 7898 8012 + 40811 7842 8078 7724 7900 + 40812 8012 7898 8126 7724 + 40813 7724 8012 7842 8126 + 40814 7987 8126 7898 7724 + 40815 7842 7724 8157 7900 + 40816 7724 7987 8126 8157 + 40817 7987 7900 8157 7724 + 40818 7724 7842 8157 8126 + 40819 8015 7725 7934 8084 + 40820 8015 7844 7725 8084 + 40821 7934 7725 8015 8086 + 40822 8136 8086 7725 7934 + 40823 8136 7846 7725 8016 + 40824 8136 7725 8086 8016 + 40825 8018 7727 7778 7935 + 40826 8020 7938 8089 7727 + 40827 8020 8089 7847 7727 + 40828 8089 7727 7938 8018 + 40829 7935 7847 8089 7727 + 40830 7935 8089 8018 7727 + 40831 8090 7937 7729 8019 + 40832 8090 7729 7850 8019 + 40833 7730 8021 7848 7943 + 40834 7730 8021 7943 7796 + 40835 8022 7942 7853 7730 + 40836 7730 7848 8022 7943 + 40837 7942 7730 8022 8091 + 40838 7730 7943 8091 7796 + 40839 8022 7943 8091 7730 + 40840 7942 7854 7730 8091 + 40841 7731 8023 7852 7944 + 40842 8023 7799 7731 7852 + 40843 7779 8138 7732 7798 + 40844 7732 8138 7938 8018 + 40845 7939 8138 7732 8018 + 40846 7798 8138 7732 7939 + 40847 7798 7733 7780 7948 + 40848 7855 7948 7780 7733 + 40849 7733 8027 7798 7787 + 40850 7855 7733 7787 8027 + 40851 7855 8027 7948 7733 + 40852 7733 8027 7948 7798 + 40853 7734 7779 7857 7947 + 40854 8025 7946 7862 7734 + 40855 7734 8025 7779 7947 + 40856 8025 7779 7946 7734 + 40857 7734 7862 8025 7947 + 40858 7734 8029 7862 7947 + 40859 7735 8031 7858 7781 + 40860 7735 8031 8097 7858 + 40861 7950 8097 7858 7735 + 40862 7950 7782 8097 7735 + 40863 7736 7781 7858 7955 + 40864 7951 8028 7736 7780 + 40865 7736 8028 7951 7858 + 40866 7736 7951 8034 7858 + 40867 7736 7858 8034 7955 + 40868 7736 8140 8034 7951 + 40869 7780 7736 7951 8140 + 40870 7952 7737 8028 7860 + 40871 8102 7952 7737 8028 + 40872 7950 8102 7859 7737 + 40873 7950 8028 8102 7737 + 40874 7737 7952 8102 8142 + 40875 7737 8102 7859 8142 + 40876 7829 7919 7739 8038 + 40877 7824 8038 7739 7919 + 40878 7921 7829 7739 8038 + 40879 7945 8040 7740 7785 + 40880 7872 8040 7740 7945 + 40881 7741 8041 7784 7874 + 40882 7874 7964 7741 8041 + 40883 7742 8042 8159 7925 + 40884 7925 8159 7742 7832 + 40885 7742 8159 8042 7874 + 40886 8159 7832 7926 7742 + 40887 7742 8159 7874 7926 + 40888 7875 7743 7784 8043 + 40889 7743 8104 7926 8043 + 40890 7743 7875 8104 8043 + 40891 7849 8039 7744 7966 + 40892 7966 7851 7744 8088 + 40893 7744 8088 7849 7966 + 40894 7746 8048 7961 7878 + 40895 7830 7927 7747 8108 + 40896 7830 8108 7747 7788 + 40897 8047 7788 7747 8108 + 40898 7960 7747 7835 8148 + 40899 8148 8108 8047 7747 + 40900 7960 8047 7747 8148 + 40901 7927 7835 7747 8148 + 40902 8148 8108 7747 7927 + 40903 8101 7748 7869 7959 + 40904 7748 8047 7869 8109 + 40905 7748 7969 8047 8109 + 40906 8109 7748 7969 7870 + 40907 7959 8149 7748 7869 + 40908 8109 8149 7748 7870 + 40909 8149 7870 8037 7748 + 40910 7959 7748 8149 8037 + 40911 8109 7869 7748 8149 + 40912 7749 7830 7922 7789 + 40913 7788 7749 8108 8049 + 40914 7749 8108 7922 7830 + 40915 7830 7749 8108 7788 + 40916 8150 7922 7749 8108 + 40917 7749 8108 8049 8150 + 40918 8150 7749 7879 8049 + 40919 8051 7877 7967 7750 + 40920 8096 7967 7750 8051 + 40921 8096 7750 7956 8051 + 40922 7942 7854 8052 7751 + 40923 8052 7751 7854 7941 + 40924 7970 8053 7881 7751 + 40925 7751 7881 8052 8110 + 40926 8110 7751 7853 7942 + 40927 7970 8110 8053 7751 + 40928 7881 8053 8110 7751 + 40929 7942 8052 8110 7751 + 40930 7853 7970 7751 8110 + 40931 7751 7970 8050 8111 + 40932 8052 7751 8111 7881 + 40933 7751 8050 7941 8111 + 40934 8052 8111 7751 7941 + 40935 8111 7751 7970 7881 + 40936 7958 8098 8032 7752 + 40937 8056 7971 7791 7753 + 40938 7971 7884 7753 8056 + 40939 8056 7791 7972 7753 + 40940 7884 8113 7753 7974 + 40941 8113 7753 7974 7883 + 40942 7971 7884 8113 7753 + 40943 7753 8114 7884 7974 + 40944 7753 7882 8114 7974 + 40945 7882 7753 8114 7972 + 40946 8056 8114 7884 7753 + 40947 8056 7972 8114 7753 + 40948 7754 7975 8152 7870 + 40949 7754 8049 7870 8152 + 40950 8113 8161 7754 7975 + 40951 7754 8152 7975 8161 + 40952 7754 8161 8113 7971 + 40953 7971 7879 7754 8161 + 40954 8152 7754 8049 8161 + 40955 8161 7879 7754 8049 + 40956 7755 7886 7903 8054 + 40957 7755 7791 7886 8054 + 40958 8057 7886 7903 7755 + 40959 8116 7756 7803 7800 + 40960 8116 7803 7756 7793 + 40961 7891 8056 7976 7758 + 40962 7758 8114 7972 8055 + 40963 7979 8055 8114 7758 + 40964 7758 7979 7891 8114 + 40965 7758 7891 8056 8114 + 40966 7972 7758 8056 8114 + 40967 8057 7887 7759 7980 + 40968 7892 8120 7759 7980 + 40969 7759 7814 8120 8002 + 40970 8057 7759 8120 7980 + 40971 7903 8120 7759 7814 + 40972 8120 7759 8057 7903 + 40973 7892 8120 8002 7759 + 40974 7980 7887 7759 8121 + 40975 7892 7759 8121 7980 + 40976 8058 7931 7841 7760 + 40977 8058 8121 7931 7760 + 40978 7760 7887 8058 8121 + 40979 7931 7760 8121 7795 + 40980 7761 7819 7912 8063 + 40981 7821 8063 7931 7761 + 40982 7841 7761 7931 8063 + 40983 8063 7912 7761 7821 + 40984 7763 8030 7864 7983 + 40985 8125 7763 8030 7955 + 40986 7955 8031 8125 7763 + 40987 7983 8125 7763 8030 + 40988 7867 8125 8031 7763 + 40989 7867 7984 7764 8032 + 40990 7985 7877 7766 8046 + 40991 7766 8065 8155 7941 + 40992 8155 7985 7766 8046 + 40993 8155 8065 7766 7985 + 40994 7992 7895 7767 7804 + 40995 7805 7767 7992 8068 + 40996 7767 7895 7992 8068 + 40997 7769 8070 7907 7815 + 40998 8070 7996 7815 7769 + 40999 7801 7827 7920 7772 + 41000 7772 8004 7827 7920 + 41001 7772 7829 8004 7920 + 41002 7772 8004 7829 8076 + 41003 8076 7828 8003 7772 + 41004 8077 7772 7827 7918 + 41005 7827 8077 8004 7772 + 41006 8132 7772 7828 8076 + 41007 7828 8132 7918 7772 + 41008 7772 8004 8132 8077 + 41009 7772 8132 7918 8077 + 41010 7772 8132 8004 8076 + 41011 7920 7773 7802 7801 + 41012 7829 7920 7773 8007 + 41013 7930 7990 7774 7840 + 41014 8012 7775 7842 7932 + 41015 7775 7898 7808 8012 + 41016 7840 7775 7932 8013 + 41017 7842 7932 7775 8013 + 41018 7840 7775 8013 7901 + 41019 7775 8012 8083 7932 + 41020 7775 8083 7840 7932 + 41021 7775 8083 8012 7808 + 41022 7923 7776 7831 7802 + 41023 7831 8009 7776 7923 + 41024 7776 7831 8078 8009 + 41025 7937 7777 7848 8017 + 41026 7937 7846 7777 8017 + 41027 7935 7778 8018 7850 + 41028 7946 7779 8025 7856 + 41029 7779 7947 8025 8092 + 41030 7779 8092 7798 7857 + 41031 8025 7856 7779 8092 + 41032 7779 7857 7947 8092 + 41033 7779 8092 8138 7798 + 41034 8092 7779 8138 7856 + 41035 7780 7857 7798 8026 + 41036 7798 7780 8026 7948 + 41037 7948 8100 7780 8026 + 41038 7780 8100 7951 8026 + 41039 8140 8100 7951 7780 + 41040 8140 7780 7948 8100 + 41041 7855 7780 7948 8140 + 41042 7955 7781 7858 8031 + 41043 8035 7950 7859 7782 + 41044 7959 7782 8141 8035 + 41045 7782 8141 8097 7958 + 41046 7782 7868 8141 7958 + 41047 7868 8141 7959 7782 + 41048 8141 7950 7782 8097 + 41049 8035 8141 7950 7782 + 41050 7783 8156 7927 7830 + 41051 7784 8041 7873 7965 + 41052 7874 8041 7784 7965 + 41053 8043 7965 7874 7784 + 41054 8043 7784 7875 7965 + 41055 8044 7873 7784 7953 + 41056 7784 7873 8044 7965 + 41057 7953 8044 7875 7784 + 41058 7784 8044 7875 7965 + 41059 7953 7873 7784 8094 + 41060 7945 7871 8040 7785 + 41061 8040 7785 7871 8106 + 41062 7939 8027 7787 7798 + 41063 7855 8027 7787 8145 + 41064 8145 7787 7855 8023 + 41065 8145 7799 7787 8023 + 41066 7939 8145 7799 7787 + 41067 7939 8027 8145 7787 + 41068 8108 7969 7788 8049 + 41069 8047 7788 8108 7969 + 41070 7971 7791 8115 8056 + 41071 7886 7791 8056 8115 + 41072 7971 8115 7791 8054 + 41073 7886 7791 8115 8054 + 41074 8118 7909 7792 7800 + 41075 7793 7997 7841 8116 + 41076 7793 7803 7997 8116 + 41077 7903 8061 7814 7794 + 41078 8061 7814 7794 7918 + 41079 7903 8112 8061 7794 + 41080 7828 7922 7794 8163 + 41081 8061 7794 8163 7918 + 41082 8163 7794 8061 8112 + 41083 7918 8163 7828 7794 + 41084 7922 8112 7794 8163 + 41085 7795 8121 7931 7892 + 41086 7892 8002 8123 7795 + 41087 7795 7931 8123 7892 + 41088 8123 8011 7931 7795 + 41089 7943 8021 7894 7796 + 41090 7943 7894 8091 7796 + 41091 8091 8137 7796 7894 + 41092 7894 7796 8021 8137 + 41093 7797 7998 7819 7913 + 41094 7998 7797 8070 8130 + 41095 7797 8130 7998 7913 + 41096 8026 8092 7798 7948 + 41097 7948 7798 8027 8092 + 41098 8027 7949 8092 7798 + 41099 8092 7798 7857 8026 + 41100 8093 7798 8027 7939 + 41101 8027 8093 7949 7798 + 41102 7949 8092 7798 8138 + 41103 8093 7949 7798 8138 + 41104 8093 7798 7939 8138 + 41105 7799 7852 8145 8019 + 41106 7852 8145 8023 7799 + 41107 7799 8145 7939 8019 + 41108 7800 7890 7994 7803 + 41109 7800 8116 7890 7803 + 41110 7890 7800 7994 8118 + 41111 7800 8118 7909 7994 + 41112 7801 8062 7920 7827 + 41113 7802 7801 8062 7920 + 41114 8062 7920 7837 7802 + 41115 8062 7837 8154 7802 + 41116 7802 7923 7837 8154 + 41117 7802 7831 7923 8154 + 41118 7994 7803 7890 7910 + 41119 7890 7803 7997 7910 + 41120 7817 7997 7803 7910 + 41121 7997 8116 7803 7890 + 41122 8129 7992 8068 7805 + 41123 7805 7992 7905 8129 + 41124 7805 8129 7993 8068 + 41125 8129 7993 7906 7805 + 41126 7807 8067 7986 7897 + 41127 8164 7807 7987 8067 + 41128 7807 7987 7896 8164 + 41129 8164 7986 7807 8067 + 41130 7896 7986 7807 8164 + 41131 8012 7898 7808 8126 + 41132 8166 7899 7988 7808 + 41133 7899 8166 8083 7808 + 41134 8166 7808 7988 7904 + 41135 8083 8012 7808 8166 + 41136 7904 8252 8166 7808 + 41137 8012 8252 7808 8166 + 41138 8012 7808 8252 8126 + 41139 8126 7808 8252 7904 + 41140 7902 7991 7809 8167 + 41141 7899 7988 7809 8167 + 41142 7899 7809 7991 8167 + 41143 8165 7810 7989 7924 + 41144 7810 8066 8165 7989 + 41145 8168 8078 7900 7810 + 41146 8168 8005 8078 7810 + 41147 8165 7810 8254 8066 + 41148 7900 8254 8168 7810 + 41149 7900 7810 8066 8254 + 41150 8341 8005 8168 7810 + 41151 8168 8254 8341 7810 + 41152 8341 7924 8005 7810 + 41153 8341 7810 8254 8165 + 41154 8341 7924 7810 8165 + 41155 7991 7811 7899 8412 + 41156 7811 8010 7899 8412 + 41157 8082 7812 7990 7901 + 41158 7814 8120 8061 7903 + 41159 8120 8061 8170 7814 + 41160 7814 8061 8170 7918 + 41161 8170 8002 7814 7918 + 41162 8120 8170 8002 7814 + 41163 7815 7996 8172 7906 + 41164 7815 8172 7993 7906 + 41165 8260 8069 7815 7993 + 41166 8260 8172 7993 7815 + 41167 8069 7815 7907 8260 + 41168 8260 8345 8172 7815 + 41169 8260 7815 7907 8345 + 41170 8345 8070 7996 7815 + 41171 8345 7996 8172 7815 + 41172 7907 8345 7815 8070 + 41173 7994 7909 7816 8175 + 41174 8175 7994 7910 7816 + 41175 8175 7910 7995 7816 + 41176 7817 7907 8173 8128 + 41177 8173 7817 8130 7907 + 41178 8130 7817 8261 7997 + 41179 8128 8261 7817 7910 + 41180 7817 8173 8261 8128 + 41181 8173 8130 7817 8261 + 41182 7910 8261 7817 7997 + 41183 8263 8072 7998 7819 + 41184 7819 8263 7913 7998 + 41185 7913 7819 8063 8263 + 41186 8348 7819 8072 8263 + 41187 8348 8063 7819 8263 + 41188 7819 8348 8072 7912 + 41189 7912 7819 8348 8063 + 41190 7912 8073 7820 7989 + 41191 8165 7896 7820 7989 + 41192 8165 7820 8073 7989 + 41193 7820 8251 7896 8165 + 41194 8251 7820 7896 8071 + 41195 8073 8348 7820 8165 + 41196 8072 8348 8131 7820 + 41197 7820 8072 8348 7912 + 41198 8073 7912 7820 8348 + 41199 7820 8131 8071 8416 + 41200 7820 8348 8131 8416 + 41201 8071 8416 8251 7820 + 41202 7820 8165 8416 8251 + 41203 8348 8165 8416 7820 + 41204 7821 8011 8122 7924 + 41205 7821 8178 7931 8063 + 41206 7821 8264 8073 7924 + 41207 7924 8264 8122 7821 + 41208 8348 7821 8178 8264 + 41209 8348 7912 8063 7821 + 41210 8348 8073 7821 8264 + 41211 8348 8073 7912 7821 + 41212 8348 7821 8063 8178 + 41213 8349 7821 8178 7931 + 41214 8349 8122 8264 7821 + 41215 8349 8178 7821 8264 + 41216 8349 8122 7821 8011 + 41217 8349 7821 7931 8011 + 41218 7999 8074 7822 8179 + 41219 7999 7822 7914 8179 + 41220 8179 8074 7822 8265 + 41221 8074 7822 8265 7915 + 41222 7915 7823 8180 8075 + 41223 8075 7823 8180 7916 + 41224 8038 7824 7962 8181 + 41225 7919 7824 8181 8000 + 41226 8038 7919 7824 8181 + 41227 7824 7999 7962 8350 + 41228 7824 8074 7999 8350 + 41229 8181 7824 7962 8350 + 41230 7824 8418 8181 8000 + 41231 8418 8074 7824 8350 + 41232 8418 7824 8181 8350 + 41233 7824 8074 8418 8000 + 41234 7929 8183 8001 7825 + 41235 7916 8001 8183 7825 + 41236 8266 7916 8182 7825 + 41237 8075 7825 8266 7917 + 41238 8266 8075 7916 7825 + 41239 7825 7916 8267 8183 + 41240 8182 8267 7825 7916 + 41241 7825 8135 7929 8267 + 41242 7825 8267 7929 8183 + 41243 8135 8267 7825 8352 + 41244 7825 8352 8081 8135 + 41245 8081 7825 7917 8352 + 41246 8182 8266 7825 8352 + 41247 8352 7825 8182 8267 + 41248 7917 7825 8266 8352 + 41249 8144 7826 8080 7925 + 41250 7827 8184 8004 8077 + 41251 8062 7827 8184 7920 + 41252 7981 8184 8062 7827 + 41253 8004 8184 7827 7920 + 41254 7918 8268 7827 8077 + 41255 7827 8184 8077 8268 + 41256 7981 8184 7827 8268 + 41257 8268 7827 7981 8002 + 41258 7827 8002 8268 7918 + 41259 8076 8132 8156 7828 + 41260 8076 8156 8003 7828 + 41261 7922 8156 8163 7828 + 41262 8163 8132 7918 7828 + 41263 7828 8132 8156 8163 + 41264 8076 7829 7921 8185 + 41265 8076 8004 7829 8185 + 41266 7921 8185 7829 8038 + 41267 8007 8270 7919 7829 + 41268 7829 8270 7919 8038 + 41269 8038 7829 8270 8185 + 41270 8004 8185 8353 7829 + 41271 7829 8270 8185 8353 + 41272 8353 7829 8270 8007 + 41273 7920 7829 8004 8353 + 41274 7920 7829 8353 8007 + 41275 7927 8274 7830 8156 + 41276 8108 7830 7927 8274 + 41277 8156 7830 7922 8274 + 41278 8108 7922 7830 8274 + 41279 8078 8009 7831 8168 + 41280 7831 8078 8168 8005 + 41281 7831 8009 8275 8168 + 41282 8154 8005 7831 8275 + 41283 7831 8009 7923 8275 + 41284 8275 7923 7831 8154 + 41285 8168 7831 8005 8275 + 41286 7926 7832 8133 8006 + 41287 8079 7832 8159 7925 + 41288 8079 8133 8159 7832 + 41289 8133 7832 7926 8159 + 41290 7999 7962 7833 8079 + 41291 7833 8144 8080 7925 + 41292 7999 8080 7833 8179 + 41293 7925 7833 8144 8189 + 41294 8079 7833 7925 8189 + 41295 7833 8276 8189 8079 + 41296 8079 7833 8276 7962 + 41297 7833 8080 8277 8179 + 41298 7833 8179 8350 7999 + 41299 7833 7999 8350 7962 + 41300 8080 8277 8358 7833 + 41301 7833 8189 8358 8144 + 41302 7833 8358 8080 8144 + 41303 7833 8350 8424 7962 + 41304 7833 8277 8424 8179 + 41305 8350 7833 8424 8179 + 41306 8276 7962 7833 8424 + 41307 8477 8276 8189 7833 + 41308 8477 7833 8358 8277 + 41309 7833 8277 8477 8424 + 41310 7833 8189 8477 8358 + 41311 7833 8477 8276 8424 + 41312 8160 7834 8006 8133 + 41313 8160 7834 8103 8006 + 41314 8185 7834 8038 7921 + 41315 8185 7921 8143 7834 + 41316 8190 8079 7962 7834 + 41317 8190 8133 8079 7834 + 41318 8143 8359 7834 8103 + 41319 7834 8190 8133 8359 + 41320 8143 8359 8279 7834 + 41321 8160 8359 7834 8133 + 41322 8190 8359 7834 8279 + 41323 8160 7834 8359 8103 + 41324 8360 7962 8038 7834 + 41325 8038 7834 8185 8360 + 41326 8360 8190 7962 7834 + 41327 8279 8190 8360 7834 + 41328 8279 8360 8478 7834 + 41329 8143 8279 8478 7834 + 41330 8478 8360 8185 7834 + 41331 8185 8143 8478 7834 + 41332 8148 7835 8103 7927 + 41333 8006 8103 8160 7835 + 41334 7835 8147 8192 8160 + 41335 8147 7835 8192 7960 + 41336 8103 8192 7835 8148 + 41337 8148 8192 7835 7960 + 41338 7835 8160 8192 8103 + 41339 8000 7919 7836 8181 + 41340 8075 8266 7836 7917 + 41341 7836 8007 8270 7919 + 41342 8181 7836 8270 7919 + 41343 8352 7836 7917 8007 + 41344 7917 8266 7836 8352 + 41345 8418 7836 8075 8266 + 41346 8418 8075 7836 8000 + 41347 8000 7836 8418 8181 + 41348 8418 8479 8181 7836 + 41349 7836 8270 8479 8181 + 41350 8418 8516 8479 7836 + 41351 8352 8516 7836 8007 + 41352 8418 7836 8266 8516 + 41353 7836 8479 8270 8516 + 41354 8007 7836 8270 8516 + 41355 8516 7836 8266 8352 + 41356 7837 8081 8188 7923 + 41357 8271 8007 7837 7920 + 41358 7923 7837 8275 8188 + 41359 8275 7837 7923 8154 + 41360 7837 8354 8154 8275 + 41361 8354 7837 8154 8062 + 41362 7837 8062 8354 7920 + 41363 8271 7837 8354 7920 + 41364 7837 8007 8426 8081 + 41365 8426 8081 8188 7837 + 41366 8271 8426 7837 8007 + 41367 8426 8188 8275 7837 + 41368 7837 8481 8426 8271 + 41369 8354 8275 7837 8481 + 41370 8275 8481 8426 7837 + 41371 8481 8271 7837 8354 + 41372 8001 7838 8183 7929 + 41373 7838 7928 8362 8008 + 41374 8362 8183 7838 7929 + 41375 8362 7838 8008 7929 + 41376 8008 7839 8135 7929 + 41377 8256 8008 7901 7839 + 41378 8256 8008 7839 8135 + 41379 8256 7901 8134 7839 + 41380 8009 8363 8134 7839 + 41381 8009 8135 8363 7839 + 41382 8256 7839 8363 8135 + 41383 8134 7839 8363 8256 + 41384 8169 7990 7840 7901 + 41385 8169 7901 7840 8013 + 41386 7840 7932 8169 8013 + 41387 7840 8083 7930 8197 + 41388 7840 7932 8083 8197 + 41389 7840 8257 7990 8169 + 41390 7932 8257 8197 7840 + 41391 7990 7840 7930 8257 + 41392 7930 8197 8257 7840 + 41393 8169 7932 7840 8257 + 41394 7841 8116 7997 7977 + 41395 7977 8058 7841 8116 + 41396 8124 7841 7931 8063 + 41397 7841 7997 8124 7977 + 41398 8124 7931 7841 8058 + 41399 8124 7841 7977 8058 + 41400 8157 7900 8255 7842 + 41401 8196 8255 8134 7842 + 41402 8078 8255 7900 7842 + 41403 8134 8255 8078 7842 + 41404 7842 8196 8281 7932 + 41405 8157 7842 8339 8126 + 41406 7932 8013 7842 8343 + 41407 7842 8196 8343 8134 + 41408 7932 7842 8196 8343 + 41409 7842 8343 8013 8134 + 41410 8339 8281 8414 7842 + 41411 7842 8414 7932 8281 + 41412 8012 7842 8126 8414 + 41413 7842 8414 8012 7932 + 41414 8126 8414 7842 8339 + 41415 8485 8157 8255 7842 + 41416 8339 8485 8281 7842 + 41417 8485 8255 8196 7842 + 41418 7842 8339 8485 8157 + 41419 8196 8485 7842 8281 + 41420 7843 8198 8017 7934 + 41421 8017 7843 7940 8198 + 41422 7934 8198 8014 7843 + 41423 8201 7845 7936 8085 + 41424 7845 8085 8201 8016 + 41425 7845 8367 8086 8016 + 41426 8367 8015 7845 8086 + 41427 7845 8201 8367 8016 + 41428 8202 8090 7937 7846 + 41429 8202 7846 7937 8017 + 41430 7935 8016 7846 8284 + 41431 8016 8136 7846 8284 + 41432 8284 8090 7846 7935 + 41433 8202 8284 8090 7846 + 41434 8136 7846 8284 8432 + 41435 8136 8017 7846 8432 + 41436 8284 8202 8432 7846 + 41437 8202 8432 7846 8017 + 41438 8089 7847 8204 8020 + 41439 7847 8204 8020 8087 + 41440 8085 8285 7935 7847 + 41441 8285 8089 7935 7847 + 41442 8285 7847 8204 8089 + 41443 8369 7847 8087 8204 + 41444 7847 8369 8085 8285 + 41445 7936 8087 8369 7847 + 41446 8085 8369 7847 7936 + 41447 7847 8204 8369 8285 + 41448 8202 7937 7848 8017 + 41449 7940 8017 8287 7848 + 41450 8287 7848 8022 7940 + 41451 8022 7943 7848 8287 + 41452 8202 7848 8287 8017 + 41453 7943 8287 8370 7848 + 41454 8370 7848 8287 8202 + 41455 7943 8370 8021 7848 + 41456 7937 7848 8370 8202 + 41457 8370 8021 7848 7937 + 41458 7938 8158 7849 8088 + 41459 7849 8206 8039 7966 + 41460 8206 7849 8088 7966 + 41461 8206 8024 7849 7945 + 41462 8206 8088 7849 8158 + 41463 7945 8206 8039 7849 + 41464 7849 8158 8024 8206 + 41465 8093 8018 7939 7850 + 41466 8093 7939 8019 7850 + 41467 7935 8018 8203 7850 + 41468 7935 8203 8090 7850 + 41469 8090 8371 8019 7850 + 41470 7850 8090 8371 8203 + 41471 8093 8019 8371 7850 + 41472 8018 8203 7850 8435 + 41473 7850 8371 8435 8203 + 41474 8093 8435 8018 7850 + 41475 8435 8371 7850 8093 + 41476 8291 7851 7966 8088 + 41477 7851 8291 8087 8020 + 41478 7851 8088 8291 8020 + 41479 7852 8137 8205 8021 + 41480 7852 8021 8205 7937 + 41481 7852 8205 8019 7937 + 41482 7944 8023 7852 8205 + 41483 7944 7852 8137 8205 + 41484 8019 7852 8290 8205 + 41485 8205 7852 8290 8023 + 41486 8145 8290 7852 8023 + 41487 8019 8290 7852 8145 + 41488 8022 8110 7940 7853 + 41489 8022 8110 7853 7942 + 41490 7941 8052 8155 7854 + 41491 8208 7854 7942 8091 + 41492 7854 8052 8208 7942 + 41493 8208 8052 7854 8375 + 41494 8375 8091 8155 7854 + 41495 8155 7854 8052 8375 + 41496 8375 8208 8091 7854 + 41497 7855 8145 8211 8027 + 41498 7855 8211 7948 8027 + 41499 8290 7855 8145 8211 + 41500 7855 8146 8290 8023 + 41501 8290 7855 8023 8145 + 41502 8377 8033 8146 7855 + 41503 8377 8146 8290 7855 + 41504 8290 8377 7855 8211 + 41505 8377 7855 8140 8033 + 41506 7855 7948 8377 8140 + 41507 8377 7948 7855 8211 + 41508 8092 8138 7949 7856 + 41509 8138 8213 7949 7856 + 41510 8158 8213 8138 7856 + 41511 7856 8158 8213 8295 + 41512 7856 8024 8212 8296 + 41513 7946 8025 8296 7856 + 41514 7856 7946 8024 8296 + 41515 8297 7949 8213 7856 + 41516 8297 8092 7949 7856 + 41517 8158 8378 8295 7856 + 41518 7856 8024 8378 8212 + 41519 8158 8024 8378 7856 + 41520 7856 8378 8295 8212 + 41521 7856 8025 8296 8379 + 41522 8213 8379 7856 8295 + 41523 8297 8092 7856 8379 + 41524 8025 7856 8092 8379 + 41525 8212 8296 8379 7856 + 41526 8297 8213 8379 7856 + 41527 8212 8379 8295 7856 + 41528 7857 7947 8092 8026 + 41529 7858 7955 8031 8215 + 41530 8215 7858 7955 8034 + 41531 8097 7858 8216 7950 + 41532 7858 8215 8031 8299 + 41533 7858 8031 8097 8299 + 41534 8299 7858 8216 8097 + 41535 8216 8381 7950 7858 + 41536 8299 8381 8216 7858 + 41537 8381 8034 7951 7858 + 41538 8028 8381 7951 7858 + 41539 8299 8215 8381 7858 + 41540 8381 8215 8034 7858 + 41541 8028 7950 8381 7858 + 41542 7950 8102 8035 7859 + 41543 8142 8035 7859 8101 + 41544 8035 7859 8102 8142 + 41545 7860 8100 8026 7951 + 41546 8029 7860 8214 7947 + 41547 7952 8028 8300 7860 + 41548 7951 7860 8300 8028 + 41549 7860 8300 8100 7951 + 41550 8300 7860 8100 8214 + 41551 7952 8382 8029 7860 + 41552 8029 8214 7860 8382 + 41553 8300 7860 8214 8382 + 41554 7952 8300 8382 7860 + 41555 8026 7860 7947 8444 + 41556 7860 8214 7947 8444 + 41557 7860 8100 8214 8444 + 41558 8026 7860 8444 8100 + 41559 8095 8029 7861 8139 + 41560 7954 7861 8142 8218 + 41561 8139 8095 8218 7861 + 41562 7954 8095 7861 8218 + 41563 8382 8218 8142 7861 + 41564 8382 7861 8142 7952 + 41565 8382 7861 8029 8139 + 41566 8382 8029 7861 7952 + 41567 8139 8218 8382 7861 + 41568 7947 7862 8025 8214 + 41569 7947 8029 7862 8214 + 41570 8214 7862 8139 8029 + 41571 7946 7862 8094 8296 + 41572 7946 8025 7862 8296 + 41573 7953 8383 8094 7862 + 41574 8094 7862 8383 8296 + 41575 7862 8492 8214 8139 + 41576 8492 8383 7862 8296 + 41577 7862 7953 8492 8139 + 41578 7862 8296 8025 8492 + 41579 8025 7862 8492 8214 + 41580 8383 7862 7953 8492 + 41581 7863 8042 8105 7964 + 41582 8221 8045 7863 7964 + 41583 7863 8105 8221 7964 + 41584 8096 7864 8222 7956 + 41585 8096 7864 8030 8222 + 41586 8306 7864 8030 7983 + 41587 8306 8030 7864 8222 + 41588 7955 8307 8099 7865 + 41589 7957 8099 8307 7865 + 41590 8307 7865 7955 8030 + 41591 8096 8030 7865 8385 + 41592 8307 8385 7865 8030 + 41593 8385 7865 8096 7957 + 41594 8307 7957 7865 8385 + 41595 7866 7967 8224 8046 + 41596 8096 7866 7967 8224 + 41597 8096 7957 7866 8224 + 41598 8224 8107 7957 7866 + 41599 7866 8293 8137 8046 + 41600 8107 7866 8293 7944 + 41601 8137 8293 7866 7944 + 41602 8293 8046 7866 8388 + 41603 8224 8388 8107 7866 + 41604 8293 7866 8107 8388 + 41605 8224 7866 8046 8388 + 41606 7867 8225 8064 7984 + 41607 8097 8225 7867 7958 + 41608 7867 8225 7984 8032 + 41609 7958 8225 7867 8032 + 41610 7867 8225 8097 8031 + 41611 8387 8225 7867 8031 + 41612 8387 8225 8064 7867 + 41613 8387 7867 8064 8125 + 41614 8387 8031 7867 8125 + 41615 7868 8227 7961 8037 + 41616 7959 8227 7868 8037 + 41617 8227 8141 7959 7868 + 41618 8227 7868 8309 8141 + 41619 7958 7868 8141 8309 + 41620 7868 7961 8389 8098 + 41621 7868 8227 8309 8389 + 41622 7868 8389 7958 8098 + 41623 7868 8309 7958 8389 + 41624 8227 7961 8389 7868 + 41625 7959 8229 8149 7869 + 41626 8229 8101 7869 7959 + 41627 8036 7869 8303 8101 + 41628 8229 7869 8101 8303 + 41629 8109 7869 8149 8392 + 41630 7960 7869 8392 8036 + 41631 8047 8392 7869 8109 + 41632 8392 8229 7869 8149 + 41633 8303 7869 8036 8392 + 41634 8047 7869 8392 7960 + 41635 7869 8303 8229 8392 + 41636 8049 7870 8152 7969 + 41637 7969 8109 7870 8152 + 41638 8149 8230 8037 7870 + 41639 7870 8037 7975 8230 + 41640 7870 7975 8152 8230 + 41641 8149 8313 8230 7870 + 41642 8313 8152 8230 7870 + 41643 8313 7870 8109 8152 + 41644 8313 7870 8149 8109 + 41645 8294 8233 8106 7871 + 41646 7945 8294 8040 7871 + 41647 8294 8040 7871 8106 + 41648 8442 8233 8294 7871 + 41649 8442 7871 7945 8039 + 41650 8294 8442 7871 7945 + 41651 8294 7872 8024 7945 + 41652 8294 8040 7872 7945 + 41653 8040 7872 7963 8294 + 41654 8024 8296 8094 7872 + 41655 8212 8024 7872 8296 + 41656 8294 8443 8024 7872 + 41657 8024 7872 8443 8212 + 41658 8294 7963 8443 7872 + 41659 8212 7872 8494 8296 + 41660 7872 8494 8094 7963 + 41661 7963 8494 8443 7872 + 41662 8494 8443 7872 8212 + 41663 8094 8296 8494 7872 + 41664 8041 7873 8234 7963 + 41665 8044 7873 8234 8316 + 41666 7873 8316 8044 7965 + 41667 8234 7873 8041 8316 + 41668 7873 8041 8316 7965 + 41669 8234 8383 7873 8044 + 41670 8383 7873 8044 7953 + 41671 8383 8094 7873 7953 + 41672 8383 7873 8494 8234 + 41673 8494 8234 7873 7963 + 41674 8494 7873 8094 7963 + 41675 8094 8494 8383 7873 + 41676 7964 7874 8042 8105 + 41677 7926 8191 8159 7874 + 41678 7926 8043 8191 7874 + 41679 8105 8042 8317 7874 + 41680 8159 8042 7874 8317 + 41681 8397 7874 8191 8043 + 41682 7874 7965 8043 8397 + 41683 7874 8455 8397 8317 + 41684 8105 8317 8455 7874 + 41685 7874 8455 7964 8041 + 41686 7874 8455 7965 8397 + 41687 8041 8455 7965 7874 + 41688 8455 7874 7964 8105 + 41689 8159 8456 8317 7874 + 41690 7874 8397 8456 8317 + 41691 7874 8159 8456 8191 + 41692 7874 8191 8456 8397 + 41693 7953 7875 8219 8095 + 41694 8044 7875 8219 7953 + 41695 8095 7875 8219 7968 + 41696 7968 8147 7875 8319 + 41697 7968 7875 8219 8319 + 41698 8043 7875 8104 8319 + 41699 8319 7875 8104 8147 + 41700 7965 7875 8043 8457 + 41701 7965 8044 7875 8457 + 41702 7875 8044 8219 8457 + 41703 8319 7875 8219 8457 + 41704 7875 8457 8319 8043 + 41705 8041 8234 7876 7963 + 41706 8106 8318 7876 8045 + 41707 7964 8045 7876 8318 + 41708 8320 7876 8234 8395 + 41709 8234 7876 7963 8395 + 41710 7963 8395 7876 8106 + 41711 8041 7876 8234 8396 + 41712 8318 7876 8396 8235 + 41713 7964 7876 8396 8318 + 41714 8041 7876 8396 7964 + 41715 8106 8318 8458 7876 + 41716 8320 7876 8395 8458 + 41717 8318 8458 7876 8235 + 41718 8320 8458 8235 7876 + 41719 8395 8458 7876 8106 + 41720 8320 8235 8459 7876 + 41721 7876 8235 8459 8396 + 41722 8234 8459 8396 7876 + 41723 8234 8459 7876 8320 + 41724 8046 7967 8321 7877 + 41725 8051 7877 8321 7967 + 41726 8046 8321 7985 7877 + 41727 8098 7878 7961 8151 + 41728 7961 7878 8231 8151 + 41729 7878 7973 8048 8231 + 41730 7878 8048 7961 8231 + 41731 8150 7879 8324 8049 + 41732 8161 8324 7879 8049 + 41733 7971 8324 7879 8161 + 41734 7971 8324 8054 7879 + 41735 8112 7879 8324 8150 + 41736 8054 8324 8112 7879 + 41737 7941 8111 7880 8065 + 41738 7880 8050 8111 7941 + 41739 7881 8209 8111 8052 + 41740 7881 8052 8110 8327 + 41741 8053 8240 7881 8327 + 41742 7881 8110 8053 8327 + 41743 8327 8464 8240 7881 + 41744 8327 8052 8464 7881 + 41745 7881 8209 8052 8464 + 41746 7882 7972 8114 8055 + 41747 8239 8048 8113 7883 + 41748 8239 7973 8048 7883 + 41749 7974 8113 7883 8329 + 41750 8239 8329 7883 8113 + 41751 7971 8115 7884 8056 + 41752 8115 7884 8161 7971 + 41753 8161 7884 8113 7971 + 41754 8241 8114 7974 7884 + 41755 8161 8242 7884 8115 + 41756 7974 8329 8241 7884 + 41757 7974 7884 8113 8329 + 41758 8330 8114 8241 7884 + 41759 7884 8330 8114 8056 + 41760 8330 8115 8056 7884 + 41761 8330 8241 8403 7884 + 41762 8115 7884 8330 8403 + 41763 8115 8242 7884 8403 + 41764 7884 8466 8113 8329 + 41765 7884 8113 8466 8161 + 41766 8242 7884 8466 8161 + 41767 8329 8506 8241 7884 + 41768 8403 8506 7884 8241 + 41769 8466 8329 7884 8506 + 41770 8506 8242 8403 7884 + 41771 8506 8466 8242 7884 + 41772 8227 7961 8037 7885 + 41773 7885 8037 8230 7975 + 41774 7885 7961 8048 8231 + 41775 8231 7961 8389 7885 + 41776 7961 8227 8389 7885 + 41777 8393 8037 7885 8227 + 41778 8393 8037 8230 7885 + 41779 8393 8230 8461 7885 + 41780 7885 8230 8461 7975 + 41781 7885 8461 8048 7975 + 41782 7885 8048 8461 8231 + 41783 8461 7885 8523 8393 + 41784 8393 7885 8523 8227 + 41785 8523 7885 8461 8231 + 41786 8231 8389 8523 7885 + 41787 8523 8389 8227 7885 + 41788 7903 8054 7886 8171 + 41789 8054 8115 7886 8171 + 41790 7976 8243 7886 8056 + 41791 7886 8056 8243 8115 + 41792 8258 7903 7886 8171 + 41793 8057 7886 7976 8258 + 41794 8057 7903 7886 8258 + 41795 8405 8171 7886 8115 + 41796 8405 7886 8243 8115 + 41797 7886 8243 7976 8405 + 41798 8258 7886 8405 8171 + 41799 8405 7976 7886 8258 + 41800 7980 7887 8117 8057 + 41801 8058 8121 7887 7980 + 41802 7887 7980 8117 8153 + 41803 7980 8153 7887 8058 + 41804 8117 7888 8153 8162 + 41805 7978 8059 8246 7888 + 41806 8246 7888 8119 7978 + 41807 8333 8119 7888 7977 + 41808 8333 7888 8245 8153 + 41809 8333 7977 7888 8153 + 41810 7888 8059 8246 8334 + 41811 8407 8162 8153 7888 + 41812 8407 7888 8059 8162 + 41813 8407 7888 8245 8334 + 41814 8059 8407 8334 7888 + 41815 8407 8153 8245 7888 + 41816 8408 7888 8119 8246 + 41817 8408 8245 7888 8334 + 41818 7888 8246 8408 8334 + 41819 8408 8245 8333 7888 + 41820 8408 8119 7888 8333 + 41821 7889 8247 8059 8162 + 41822 8335 8162 8247 7889 + 41823 8162 7889 8335 7979 + 41824 7997 8116 7890 7977 + 41825 8118 7890 8175 7994 + 41826 7890 7994 7910 8175 + 41827 8060 7890 8175 8118 + 41828 7977 8119 7890 8177 + 41829 7997 7890 8177 7977 + 41830 7910 7890 8261 7997 + 41831 7890 8177 8261 7997 + 41832 8177 7890 8261 8119 + 41833 7890 8346 8175 7910 + 41834 8175 8060 8346 7890 + 41835 8346 7910 7890 8261 + 41836 8119 8471 7890 8261 + 41837 7890 8261 8471 8346 + 41838 7890 8471 8060 8346 + 41839 8060 7890 8119 8471 + 41840 8162 7976 7891 8243 + 41841 7976 7891 8243 8056 + 41842 7891 8056 8114 8330 + 41843 8056 7891 8243 8330 + 41844 7979 8162 7891 8335 + 41845 8335 7979 8402 7891 + 41846 7979 8114 8402 7891 + 41847 7891 8114 8402 8330 + 41848 7891 8402 8335 8472 + 41849 8472 7891 8162 8335 + 41850 8162 8243 7891 8472 + 41851 8402 8508 8472 7891 + 41852 8402 8330 8508 7891 + 41853 8330 7891 8243 8508 + 41854 8508 7891 8243 8472 + 41855 7980 7892 8280 8121 + 41856 8280 8121 7892 7931 + 41857 7892 8420 8123 8002 + 41858 7892 8120 8420 8002 + 41859 7892 8280 7931 8484 + 41860 7892 7931 8123 8484 + 41861 8420 8484 7892 8123 + 41862 8120 7892 8525 7980 + 41863 8120 8525 7892 8420 + 41864 7980 8525 8280 7892 + 41865 8525 8484 8280 7892 + 41866 8420 8525 7892 8484 + 41867 8011 7981 8123 7893 + 41868 8122 8248 7982 7893 + 41869 8122 8349 8248 7893 + 41870 8122 8349 7893 8011 + 41871 8011 8123 8349 7893 + 41872 8349 8123 8420 7893 + 41873 8420 8123 7981 7893 + 41874 7982 8511 7893 8248 + 41875 8062 7893 7982 8511 + 41876 8062 7981 7893 8511 + 41877 8349 8526 7893 8420 + 41878 7893 8349 8248 8526 + 41879 7981 7893 8526 8420 + 41880 7981 8511 8526 7893 + 41881 7893 8248 8511 8526 + 41882 7894 8205 8137 8021 + 41883 8205 8021 7894 7937 + 41884 8288 8205 7894 7937 + 41885 7937 8370 8021 7894 + 41886 8370 7894 7937 8288 + 41887 7894 8021 7943 8370 + 41888 8205 8376 7894 8137 + 41889 8091 8376 8137 7894 + 41890 8376 7894 8288 8205 + 41891 7894 7943 8441 8370 + 41892 7894 8441 8091 8376 + 41893 8091 8441 7894 7943 + 41894 7894 8370 8515 8288 + 41895 8441 8376 7894 8515 + 41896 8515 8376 7894 8288 + 41897 8515 8370 7894 8441 + 41898 7987 7896 8164 8066 + 41899 7896 8165 8066 7989 + 41900 7896 8251 7986 8164 + 41901 8251 8066 7896 8165 + 41902 8071 8251 7986 7896 + 41903 8251 8164 7896 8066 + 41904 7899 8253 8083 8166 + 41905 8010 8253 8083 7899 + 41906 8166 8253 8340 7899 + 41907 8340 7988 7899 8167 + 41908 7899 8340 8166 7988 + 41909 8412 7899 7991 8167 + 41910 8010 8412 8253 7899 + 41911 8340 7899 8412 8167 + 41912 8412 8340 8253 7899 + 41913 8157 7987 8066 7900 + 41914 7900 8066 8157 8254 + 41915 7900 8078 8168 8255 + 41916 7900 8168 8342 8255 + 41917 8254 8157 7900 8342 + 41918 8157 8342 8255 7900 + 41919 8342 8254 8168 7900 + 41920 8169 8082 7990 7901 + 41921 8082 8169 8256 7901 + 41922 8082 8256 8008 7901 + 41923 7901 8169 8256 8343 + 41924 8134 8343 8013 7901 + 41925 7901 8256 8134 8343 + 41926 8013 8343 8169 7901 + 41927 8061 8112 7903 8171 + 41928 8112 8171 8054 7903 + 41929 7903 8061 8171 8258 + 41930 8120 8057 8258 7903 + 41931 8120 8061 7903 8258 + 41932 8067 8126 8252 7904 + 41933 7906 8172 7993 8259 + 41934 8259 7906 8129 7993 + 41935 8173 8070 7907 8130 + 41936 8260 7907 8128 8173 + 41937 8260 7907 8069 8128 + 41938 8260 7907 8173 8345 + 41939 7907 8173 8345 8070 + 41940 8069 8174 7908 8127 + 41941 7908 8174 8069 7995 + 41942 7994 7909 8175 8118 + 41943 7995 7910 8175 8346 + 41944 8346 8128 7910 8261 + 41945 7995 8128 7910 8346 + 41946 7911 8176 8131 7998 + 41947 8070 7998 8262 7911 + 41948 8176 7911 8262 7998 + 41949 8070 8262 7996 7911 + 41950 7913 8130 8177 7997 + 41951 7997 7913 8124 8177 + 41952 7913 8063 8124 8263 + 41953 8347 8263 7998 7913 + 41954 8347 7998 8130 7913 + 41955 8177 8130 7913 8347 + 41956 8347 8263 7913 8417 + 41957 8417 7913 8177 8124 + 41958 8347 7913 8177 8417 + 41959 8417 7913 8124 8263 + 41960 7999 7914 8080 8179 + 41961 8074 8265 8418 7915 + 41962 7915 8180 8265 8418 + 41963 7915 8180 8418 8075 + 41964 8418 8074 7915 8000 + 41965 8418 7915 8075 8000 + 41966 8075 7916 8180 8266 + 41967 8267 8183 7916 8351 + 41968 7916 8182 8267 8351 + 41969 8266 8180 8419 7916 + 41970 7916 8419 8182 8351 + 41971 8266 8419 8182 7916 + 41972 8352 7917 8081 8007 + 41973 8170 8268 8002 7918 + 41974 7918 8170 8268 8077 + 41975 8269 8061 8163 7918 + 41976 8077 8132 7918 8269 + 41977 8269 7918 8163 8132 + 41978 8170 8269 8077 7918 + 41979 8269 8170 8061 7918 + 41980 8181 8270 8038 7919 + 41981 8184 8353 8271 7920 + 41982 7920 8353 8271 8007 + 41983 7920 8004 8184 8353 + 41984 8184 8271 8354 7920 + 41985 8184 8354 8062 7920 + 41986 8143 7921 8076 8003 + 41987 8143 8076 7921 8185 + 41988 8187 7922 8156 8163 + 41989 8156 7922 8187 8274 + 41990 8150 8356 7922 8108 + 41991 8356 7922 8112 8150 + 41992 7922 8112 8163 8356 + 41993 8187 7922 8163 8356 + 41994 8274 8356 8108 7922 + 41995 8274 8187 8356 7922 + 41996 8188 8081 8135 7923 + 41997 8188 8135 8009 7923 + 41998 7923 8275 8009 8188 + 41999 8165 7989 8073 7924 + 42000 8264 8073 7924 8165 + 42001 8165 7924 8264 8341 + 42002 8341 7924 8264 8122 + 42003 8341 7924 8122 8005 + 42004 8079 7925 8159 8189 + 42005 7925 8144 8042 8189 + 42006 8159 8189 7925 8042 + 42007 8160 7926 8104 8133 + 42008 8160 8006 7926 8133 + 42009 8043 8104 7926 8191 + 42010 8133 8191 8159 7926 + 42011 8104 8133 7926 8191 + 42012 8187 8156 7927 8143 + 42013 8148 8274 8108 7927 + 42014 8187 8274 7927 8156 + 42015 8274 8148 8361 7927 + 42016 8148 8103 8361 7927 + 42017 8143 7927 8361 8103 + 42018 8187 7927 8361 8143 + 42019 8274 8361 8187 7927 + 42020 8082 8194 7928 8008 + 42021 8008 8194 7928 8362 + 42022 8008 7929 8135 8195 + 42023 8135 7929 8267 8195 + 42024 8008 7929 8195 8362 + 42025 7929 8362 8183 8429 + 42026 7929 8195 8362 8429 + 42027 8267 8429 8195 7929 + 42028 8267 8183 8429 7929 + 42029 7930 8083 8253 8197 + 42030 8010 8253 7930 8083 + 42031 7931 8124 8063 8178 + 42032 7931 8280 8124 8178 + 42033 8124 8280 7931 8058 + 42034 8058 8121 8280 7931 + 42035 8123 7931 8011 8349 + 42036 8349 8178 8484 7931 + 42037 8123 8484 7931 8349 + 42038 7931 8280 8178 8484 + 42039 8343 8169 7932 8013 + 42040 7932 8365 8281 8414 + 42041 7932 8197 8365 8414 + 42042 8197 7932 8083 8414 + 42043 8083 8012 8414 7932 + 42044 8257 8197 8430 7932 + 42045 8430 8197 8365 7932 + 42046 8486 8281 7932 8365 + 42047 8486 7932 8430 8365 + 42048 8257 8430 8486 7932 + 42049 8486 8281 8196 7932 + 42050 8169 8486 7932 8257 + 42051 8169 7932 8486 8343 + 42052 8486 8196 8343 7932 + 42053 8199 8084 7934 8014 + 42054 7934 8086 8200 8136 + 42055 7934 8199 8014 8282 + 42056 7934 8014 8198 8282 + 42057 8084 8283 7934 8015 + 42058 7934 8086 8015 8283 + 42059 8084 7934 8283 8199 + 42060 7934 8200 8086 8283 + 42061 7934 8136 8200 8366 + 42062 8282 7934 8199 8366 + 42063 7934 8282 8198 8366 + 42064 7934 8017 8136 8366 + 42065 8198 8017 7934 8366 + 42066 8431 8200 8366 7934 + 42067 8431 8283 7934 8199 + 42068 8431 8283 8200 7934 + 42069 8366 8431 7934 8199 + 42070 8018 8203 8089 7935 + 42071 8284 8203 8090 7935 + 42072 8203 8285 8089 7935 + 42073 8368 8284 7935 8203 + 42074 8285 7935 8368 8085 + 42075 8368 8016 7935 8284 + 42076 8085 8016 7935 8368 + 42077 8203 8368 8285 7935 + 42078 8085 8201 8369 7936 + 42079 8019 8205 8288 7937 + 42080 8288 8090 7937 8202 + 42081 8019 8090 7937 8288 + 42082 8370 7937 8202 8288 + 42083 7938 8018 8138 8089 + 42084 8088 7938 8158 8289 + 42085 8020 8089 7938 8289 + 42086 7938 8138 8289 8089 + 42087 8158 7938 8138 8289 + 42088 8020 7938 8088 8289 + 42089 7939 8093 8138 8018 + 42090 8093 8019 7939 8145 + 42091 8093 8027 8145 7939 + 42092 8017 7940 8287 8198 + 42093 7940 8374 8287 8198 + 42094 7940 8110 8022 8374 + 42095 8374 8022 7940 8287 + 42096 7941 8155 8052 8209 + 42097 8111 8209 7941 8052 + 42098 8111 8209 8065 7941 + 42099 7941 8065 8155 8209 + 42100 8022 8207 8110 7942 + 42101 8208 8052 8110 7942 + 42102 8208 7942 8292 8091 + 42103 8292 7942 8022 8091 + 42104 8292 8207 8022 7942 + 42105 7942 8110 8440 8207 + 42106 8110 8208 7942 8440 + 42107 7942 8440 8292 8207 + 42108 8208 8292 7942 8440 + 42109 8022 8207 7943 8287 + 42110 8207 8292 8022 7943 + 42111 8292 8022 7943 8091 + 42112 8370 8287 7943 8207 + 42113 8370 7943 8441 8207 + 42114 8207 8441 8292 7943 + 42115 8441 7943 8091 8292 + 42116 8146 8205 8023 7944 + 42117 7944 8293 8107 8491 + 42118 7944 8205 8137 8491 + 42119 8491 7944 8146 8107 + 42120 7944 8137 8293 8491 + 42121 7944 8146 8205 8491 + 42122 7945 8206 8024 8294 + 42123 8442 7945 8206 8039 + 42124 8206 8442 8294 7945 + 42125 7946 8296 8094 8024 + 42126 8026 7947 8092 8444 + 42127 8025 7947 8214 8444 + 42128 8025 8444 8092 7947 + 42129 8092 8027 7948 8211 + 42130 8140 7948 8298 8100 + 42131 8298 8377 7948 8140 + 42132 7948 8377 8298 8211 + 42133 8100 7948 8298 8380 + 42134 8092 7948 8026 8380 + 42135 8092 8211 7948 8380 + 42136 8298 8380 7948 8211 + 42137 7948 8100 8026 8380 + 42138 8211 8092 8027 7949 + 42139 8211 8027 8093 7949 + 42140 8213 8138 7949 8289 + 42141 8297 8211 7949 8092 + 42142 8138 8289 8435 7949 + 42143 8435 8138 7949 8093 + 42144 8493 8435 7949 8093 + 42145 8297 8493 7949 8211 + 42146 8093 8493 8211 7949 + 42147 8518 8435 8289 7949 + 42148 8213 7949 8518 8289 + 42149 8493 7949 8518 8297 + 42150 8435 7949 8518 8493 + 42151 8297 7949 8518 8213 + 42152 8097 8216 8141 7950 + 42153 8216 8141 7950 8035 + 42154 8102 8035 8216 7950 + 42155 8381 8028 8102 7950 + 42156 8102 8216 8381 7950 + 42157 7951 8217 8300 8100 + 42158 8140 8301 7951 8100 + 42159 8301 8140 7951 8034 + 42160 7951 8100 8301 8217 + 42161 8301 7951 8381 8034 + 42162 8381 7951 8300 8028 + 42163 8381 8217 8300 7951 + 42164 7951 8301 8381 8217 + 42165 8102 8300 7952 8028 + 42166 7952 8102 8142 8382 + 42167 7952 8300 8102 8382 + 42168 8095 7953 8139 8219 + 42169 8445 8139 7953 8219 + 42170 8445 8302 8383 7953 + 42171 8445 8220 8302 7953 + 42172 8219 8044 7953 8445 + 42173 8220 8139 7953 8445 + 42174 8445 7953 8383 8044 + 42175 8220 8492 7953 8139 + 42176 8492 8383 8302 7953 + 42177 7953 8302 8492 8220 + 42178 8095 8303 7954 8036 + 42179 8303 7954 8142 8218 + 42180 8303 8101 8142 7954 + 42181 8303 8095 7954 8218 + 42182 8303 8036 8101 7954 + 42183 8031 8215 7955 8125 + 42184 8307 8034 7955 8099 + 42185 8030 7955 8307 8125 + 42186 8215 8307 7955 8125 + 42187 8034 7955 8215 8307 + 42188 8222 8096 7956 8051 + 42189 7957 8033 8226 8099 + 42190 8096 8224 8308 7957 + 42191 8385 8096 8308 7957 + 42192 7957 8385 8307 8447 + 42193 8385 7957 8308 8447 + 42194 7957 8226 8447 8099 + 42195 8099 8447 7957 8307 + 42196 8033 8226 8495 7957 + 42197 8447 8495 7957 8308 + 42198 8495 8224 7957 8308 + 42199 8107 7957 8495 8224 + 42200 8033 7957 8495 8107 + 42201 8447 8495 8226 7957 + 42202 8097 8309 8225 7958 + 42203 7958 8141 8097 8309 + 42204 8225 8389 7958 8309 + 42205 8032 7958 8225 8389 + 42206 8032 8098 7958 8389 + 42207 7959 8149 8311 8037 + 42208 8311 8037 8227 7959 + 42209 8229 8149 8311 7959 + 42210 8391 8141 8035 7959 + 42211 8229 8391 8101 7959 + 42212 7959 8035 8391 8101 + 42213 8229 8311 8391 7959 + 42214 8227 7959 8141 8498 + 42215 8498 7959 8141 8391 + 42216 8227 8311 7959 8498 + 42217 8391 7959 8311 8498 + 42218 8453 8148 8047 7960 + 42219 8047 8392 8453 7960 + 42220 8147 8192 8453 7960 + 42221 7960 8392 8453 8036 + 42222 8036 8453 7960 8147 + 42223 8148 8453 8192 7960 + 42224 7961 8231 8389 8151 + 42225 8151 8389 7961 8098 + 42226 7962 8079 8190 8276 + 42227 7962 8181 8350 8314 + 42228 8181 7962 8360 8314 + 42229 7962 8360 8038 8181 + 42230 7962 8350 8424 8314 + 42231 8500 8276 8424 7962 + 42232 7962 8190 8500 8276 + 42233 8314 8360 8500 7962 + 42234 8500 8360 8190 7962 + 42235 8314 8500 8424 7962 + 42236 8294 7963 8040 8106 + 42237 8106 7963 8395 8294 + 42238 8294 8443 7963 8395 + 42239 8234 7963 8443 8395 + 42240 7963 8443 8494 8234 + 42241 8045 8221 8318 7964 + 42242 8221 8396 8318 7964 + 42243 8221 8455 7964 8105 + 42244 8396 8455 7964 8221 + 42245 8041 8396 8455 7964 + 42246 7965 8455 8041 8316 + 42247 7965 8397 8455 8316 + 42248 7965 8457 8397 8316 + 42249 7965 8044 8457 8316 + 42250 8397 8043 8457 7965 + 42251 8088 8206 7966 8372 + 42252 8088 7966 8291 8372 + 42253 7966 8442 8372 8206 + 42254 7966 8039 8442 8206 + 42255 8224 8051 7967 8096 + 42256 8046 7967 8224 8321 + 42257 8321 7967 8224 8051 + 42258 8095 7968 8303 8036 + 42259 8219 8384 7968 8319 + 42260 8384 8095 7968 8303 + 42261 8219 7968 8384 8095 + 42262 8384 8303 7968 8237 + 42263 8036 8453 7968 8303 + 42264 8036 7968 8453 8147 + 42265 8237 8303 7968 8453 + 42266 8502 7968 8147 8453 + 42267 7968 8319 8384 8502 + 42268 8384 7968 8502 8237 + 42269 8319 7968 8147 8502 + 42270 8237 7968 8502 8453 + 42271 8238 7969 8152 8109 + 42272 8108 8238 7969 8049 + 42273 7969 8049 8238 8152 + 42274 8047 8108 8323 7969 + 42275 7969 8238 8323 8109 + 42276 8323 8108 8238 7969 + 42277 8323 8047 7969 8109 + 42278 7971 8161 8115 8324 + 42279 7971 8324 8115 8054 + 42280 8325 8048 7973 8231 + 42281 7973 8239 8048 8325 + 42282 8161 8326 7975 8113 + 42283 8230 8326 7975 8152 + 42284 7975 8326 8048 8113 + 42285 8152 8326 7975 8161 + 42286 8461 7975 8326 8048 + 42287 8230 7975 8326 8461 + 42288 8117 8162 8332 7976 + 42289 8243 8332 8162 7976 + 42290 7976 8469 8243 8332 + 42291 7976 8469 8117 8057 + 42292 7976 8117 8469 8332 + 42293 8258 8405 7976 8469 + 42294 8243 8469 7976 8405 + 42295 8258 7976 8057 8469 + 42296 7997 8124 7977 8177 + 42297 7977 8333 8119 8177 + 42298 7977 8333 8124 8058 + 42299 8153 8333 7977 8058 + 42300 8333 7977 8124 8177 + 42301 8246 8119 8060 7978 + 42302 7980 8244 8153 8058 + 42303 8280 8244 7980 8058 + 42304 7980 8280 8058 8121 + 42305 8406 8117 7980 8153 + 42306 7980 8406 8153 8244 + 42307 7980 8117 8469 8057 + 42308 8469 8406 8117 7980 + 42309 7980 8057 8469 8120 + 42310 8525 8244 8406 7980 + 42311 8525 8280 8244 7980 + 42312 8120 8525 8469 7980 + 42313 8469 7980 8525 8406 + 42314 8420 8002 8268 7981 + 42315 8420 8123 8002 7981 + 42316 8511 8062 7981 8184 + 42317 8511 8184 7981 8268 + 42318 8526 8420 8268 7981 + 42319 8526 8268 8511 7981 + 42320 8154 8062 7982 8354 + 42321 8154 8354 7982 8249 + 42322 7982 8337 8410 8248 + 42323 7982 8249 8423 8154 + 42324 8410 7982 8423 8337 + 42325 8410 7982 8249 8423 + 42326 7982 8423 8122 8154 + 42327 7982 8510 8337 8248 + 42328 8510 8248 7982 8122 + 42329 8423 7982 8510 8337 + 42330 7982 8122 8423 8510 + 42331 7982 8410 8511 8248 + 42332 8062 8511 7982 8354 + 42333 8527 8249 8410 7982 + 42334 8527 8511 7982 8410 + 42335 8354 7982 8249 8527 + 42336 7982 8511 8527 8354 + 42337 7983 8306 8125 8030 + 42338 8306 8474 7983 8125 + 42339 8125 8064 8474 7983 + 42340 8338 8225 7984 8064 + 42341 7984 8338 8449 8225 + 42342 8225 8449 7984 8032 + 42343 8155 8322 7985 8046 + 42344 8155 8322 8065 7985 + 42345 7985 8460 8321 8046 + 42346 7985 8322 8460 8046 + 42347 8164 7987 8252 8067 + 42348 8252 7987 8126 8067 + 42349 8126 7987 8252 8339 + 42350 8252 8339 7987 8164 + 42351 8164 7987 8066 8339 + 42352 8126 8157 7987 8339 + 42353 8339 8157 7987 8066 + 42354 8082 7990 8257 8169 + 42355 8259 8129 8068 7993 + 42356 8260 8172 8344 7993 + 42357 8068 8344 8259 7993 + 42358 8172 8259 8344 7993 + 42359 8344 8069 7993 8127 + 42360 7993 8260 8069 8344 + 42361 7993 8068 8344 8127 + 42362 8128 8069 8174 7995 + 42363 7995 8174 8128 8415 + 42364 8415 8128 7995 8346 + 42365 8345 7996 8070 8262 + 42366 8130 8261 8177 7997 + 42367 8173 7998 8070 8130 + 42368 7998 8176 8131 8072 + 42369 7998 8070 8262 8173 + 42370 7998 8263 8176 8072 + 42371 7998 8262 8347 8173 + 42372 8347 7998 8173 8130 + 42373 8347 8262 7998 8176 + 42374 8176 8263 7998 8347 + 42375 8350 8074 7999 8179 + 42376 8170 8420 8120 8002 + 42377 8170 8268 8420 8002 + 42378 8143 8076 8156 8003 + 42379 8004 8076 8132 8272 + 42380 8272 8004 8076 8185 + 42381 8004 8077 8184 8273 + 42382 8004 8184 8353 8273 + 42383 8132 8077 8004 8355 + 42384 8186 8004 8355 8272 + 42385 8132 8004 8272 8355 + 42386 8273 8355 8004 8077 + 42387 8273 8355 8186 8004 + 42388 8004 8421 8185 8272 + 42389 8186 8421 8004 8272 + 42390 8421 8273 8004 8353 + 42391 8421 8004 8185 8353 + 42392 8273 8186 8421 8004 + 42393 8423 8005 8154 8275 + 42394 8423 8168 8005 8275 + 42395 8005 8341 8423 8122 + 42396 8005 8423 8154 8122 + 42397 8168 8005 8341 8423 + 42398 8353 8270 8193 8007 + 42399 8353 8007 8193 8271 + 42400 8271 8193 8426 8007 + 42401 8081 8007 8426 8352 + 42402 8426 8352 8007 8480 + 42403 8426 8007 8193 8480 + 42404 8007 8270 8193 8516 + 42405 8352 8480 8516 8007 + 42406 8193 8516 8480 8007 + 42407 8008 8256 8195 8135 + 42408 8008 8194 8256 8082 + 42409 8195 8256 8008 8362 + 42410 8008 8256 8194 8362 + 42411 8009 8168 8078 8134 + 42412 8188 8009 8135 8363 + 42413 8009 8188 8275 8428 + 42414 8428 8275 8009 8168 + 42415 8009 8428 8363 8188 + 42416 8009 8482 8428 8168 + 42417 8363 8134 8482 8009 + 42418 8363 8482 8428 8009 + 42419 8134 8009 8168 8482 + 42420 8083 8414 8012 8166 + 42421 8012 8126 8252 8414 + 42422 8012 8414 8252 8166 + 42423 8283 8015 8367 8086 + 42424 8086 8016 8200 8136 + 42425 8016 8200 8136 8284 + 42426 8016 8085 8201 8286 + 42427 8016 8201 8367 8286 + 42428 8367 8086 8016 8200 + 42429 8368 8286 8085 8016 + 42430 8016 8284 8368 8200 + 42431 8367 8016 8286 8433 + 42432 8367 8200 8016 8433 + 42433 8433 8016 8368 8200 + 42434 8368 8433 8286 8016 + 42435 8432 8287 8017 8202 + 42436 8017 8366 8432 8136 + 42437 8198 8287 8017 8487 + 42438 8198 8487 8017 8366 + 42439 8287 8017 8487 8432 + 42440 8017 8432 8366 8487 + 42441 8089 8435 8018 8138 + 42442 8435 8089 8018 8203 + 42443 8435 8138 8093 8018 + 42444 8290 8019 8371 8145 + 42445 8090 8019 8371 8288 + 42446 8019 8093 8371 8145 + 42447 8371 8288 8019 8436 + 42448 8436 8288 8019 8205 + 42449 8019 8290 8436 8205 + 42450 8290 8019 8436 8371 + 42451 8204 8088 8289 8020 + 42452 8204 8289 8089 8020 + 42453 8087 8204 8020 8291 + 42454 8204 8088 8020 8291 + 42455 8374 8110 8022 8207 + 42456 8022 8374 8207 8287 + 42457 8205 8290 8146 8023 + 42458 8206 8024 8378 8158 + 42459 8024 8378 8294 8206 + 42460 8294 8443 8378 8024 + 42461 8212 8378 8443 8024 + 42462 8444 8025 8092 8379 + 42463 8444 8214 8025 8492 + 42464 8296 8379 8025 8492 + 42465 8444 8025 8379 8492 + 42466 8444 8026 8100 8380 + 42467 8092 8026 8444 8380 + 42468 8093 8211 8145 8027 + 42469 8381 8300 8102 8028 + 42470 8382 8029 8214 8139 + 42471 8030 8306 8125 8223 + 42472 8030 8307 8223 8125 + 42473 8030 8385 8222 8306 + 42474 8096 8222 8030 8385 + 42475 8223 8385 8307 8030 + 42476 8306 8030 8385 8223 + 42477 8387 8097 8225 8031 + 42478 8031 8387 8215 8125 + 42479 8215 8299 8387 8031 + 42480 8097 8387 8299 8031 + 42481 8151 8032 8389 8098 + 42482 8449 8389 8151 8032 + 42483 8225 8389 8449 8032 + 42484 8033 8226 8099 8140 + 42485 8107 8310 8033 8146 + 42486 8146 8033 8377 8310 + 42487 8140 8033 8226 8377 + 42488 8226 8033 8310 8377 + 42489 8033 8107 8495 8310 + 42490 8033 8495 8226 8310 + 42491 8301 8381 8215 8034 + 42492 8140 8034 8301 8390 + 42493 8215 8390 8034 8307 + 42494 8390 8034 8301 8215 + 42495 8140 8099 8034 8390 + 42496 8307 8390 8034 8099 + 42497 8035 8216 8312 8102 + 42498 8035 8102 8312 8142 + 42499 8391 8141 8216 8035 + 42500 8312 8035 8391 8216 + 42501 8035 8101 8142 8391 + 42502 8391 8035 8312 8142 + 42503 8392 8453 8036 8303 + 42504 8037 8149 8311 8393 + 42505 8037 8227 8393 8311 + 42506 8037 8230 8149 8393 + 42507 8360 8038 8270 8185 + 42508 8360 8038 8181 8270 + 42509 8234 8041 8396 8316 + 42510 8396 8316 8041 8455 + 42511 8042 8144 8105 8189 + 42512 8042 8105 8317 8189 + 42513 8159 8042 8317 8189 + 42514 8191 8043 8104 8319 + 42515 8043 8457 8319 8191 + 42516 8397 8043 8191 8457 + 42517 8316 8234 8044 8501 + 42518 8316 8501 8044 8457 + 42519 8044 8234 8383 8501 + 42520 8457 8044 8219 8501 + 42521 8219 8501 8044 8445 + 42522 8445 8383 8501 8044 + 42523 8210 8155 8091 8046 + 42524 8091 8137 8293 8046 + 42525 8210 8091 8293 8046 + 42526 8210 8322 8155 8046 + 42527 8293 8210 8046 8388 + 42528 8460 8046 8210 8388 + 42529 8210 8460 8322 8046 + 42530 8321 8046 8460 8224 + 42531 8224 8046 8460 8388 + 42532 8392 8047 8323 8109 + 42533 8323 8392 8453 8047 + 42534 8047 8503 8148 8453 + 42535 8503 8323 8047 8108 + 42536 8503 8047 8148 8108 + 42537 8047 8323 8503 8453 + 42538 8399 8113 8239 8048 + 42539 8325 8399 8239 8048 + 42540 8399 8326 8113 8048 + 42541 8325 8461 8048 8231 + 42542 8461 8326 8399 8048 + 42543 8325 8461 8399 8048 + 42544 8108 8238 8049 8150 + 42545 8152 8049 8324 8161 + 42546 8324 8238 8049 8152 + 42547 8324 8049 8238 8150 + 42548 8321 8224 8386 8051 + 42549 8051 8222 8096 8386 + 42550 8224 8386 8051 8096 + 42551 8327 8110 8208 8052 + 42552 8052 8155 8375 8209 + 42553 8464 8327 8208 8052 + 42554 8464 8209 8052 8375 + 42555 8464 8375 8052 8208 + 42556 8240 8053 8401 8327 + 42557 8440 8053 8110 8327 + 42558 8401 8053 8440 8327 + 42559 8115 8171 8054 8465 + 42560 8324 8115 8054 8465 + 42561 8112 8054 8465 8324 + 42562 8465 8171 8054 8112 + 42563 8330 8243 8056 8115 + 42564 8057 8469 8120 8258 + 42565 8280 8058 8124 8244 + 42566 8244 8124 8333 8058 + 42567 8153 8244 8333 8058 + 42568 8059 8247 8334 8407 + 42569 8247 8407 8059 8162 + 42570 8471 8060 8246 8119 + 42571 8163 8061 8269 8112 + 42572 8120 8061 8336 8170 + 42573 8336 8170 8061 8473 + 42574 8473 8170 8061 8269 + 42575 8112 8171 8061 8505 + 42576 8505 8061 8112 8269 + 42577 8505 8473 8061 8269 + 42578 8258 8061 8171 8524 + 42579 8505 8061 8473 8524 + 42580 8336 8061 8120 8524 + 42581 8258 8120 8061 8524 + 42582 8336 8473 8061 8524 + 42583 8524 8171 8505 8061 + 42584 8062 8184 8511 8354 + 42585 8063 8124 8263 8178 + 42586 8348 8063 8263 8178 + 42587 8387 8064 8338 8250 + 42588 8225 8064 8338 8387 + 42589 8064 8250 8387 8474 + 42590 8125 8064 8387 8474 + 42591 8209 8322 8065 8155 + 42592 8413 8251 8066 8164 + 42593 8254 8413 8066 8157 + 42594 8413 8066 8251 8165 + 42595 8164 8066 8413 8339 + 42596 8066 8165 8413 8254 + 42597 8339 8066 8413 8157 + 42598 8128 8260 8174 8069 + 42599 8344 8174 8069 8127 + 42600 8174 8069 8260 8344 + 42601 8070 8345 8262 8173 + 42602 8476 8131 8176 8072 + 42603 8476 8348 8131 8072 + 42604 8348 8263 8072 8476 + 42605 8263 8176 8072 8476 + 42606 8073 8165 8264 8348 + 42607 8179 8350 8074 8265 + 42608 8418 8350 8265 8074 + 42609 8418 8266 8075 8180 + 42610 8272 8132 8156 8076 + 42611 8143 8272 8076 8185 + 42612 8272 8076 8156 8143 + 42613 8170 8355 8077 8269 + 42614 8077 8355 8132 8269 + 42615 8273 8422 8355 8077 + 42616 8268 8422 8184 8077 + 42617 8184 8077 8422 8273 + 42618 8268 8170 8422 8077 + 42619 8170 8355 8422 8077 + 42620 8255 8078 8168 8134 + 42621 8357 8079 8159 8189 + 42622 8357 8276 8079 8189 + 42623 8190 8357 8079 8133 + 42624 8079 8357 8190 8276 + 42625 8133 8357 8079 8159 + 42626 8517 8188 8426 8081 + 42627 8352 8426 8081 8517 + 42628 8081 8352 8517 8135 + 42629 8081 8517 8188 8135 + 42630 8364 8082 8257 8169 + 42631 8082 8364 8194 8427 + 42632 8427 8082 8364 8169 + 42633 8427 8256 8194 8082 + 42634 8427 8169 8256 8082 + 42635 8414 8483 8166 8083 + 42636 8414 8197 8483 8083 + 42637 8197 8083 8253 8483 + 42638 8166 8253 8083 8483 + 42639 8368 8285 8085 8434 + 42640 8201 8369 8434 8085 + 42641 8085 8434 8201 8286 + 42642 8286 8368 8085 8434 + 42643 8085 8285 8369 8434 + 42644 8200 8086 8283 8367 + 42645 8204 8087 8437 8291 + 42646 8369 8087 8437 8204 + 42647 8206 8372 8088 8438 + 42648 8206 8438 8088 8158 + 42649 8289 8088 8438 8158 + 42650 8488 8291 8088 8204 + 42651 8488 8088 8291 8372 + 42652 8088 8372 8488 8438 + 42653 8088 8488 8204 8289 + 42654 8088 8438 8488 8289 + 42655 8089 8289 8204 8373 + 42656 8204 8089 8373 8285 + 42657 8285 8373 8203 8089 + 42658 8435 8289 8089 8373 + 42659 8435 8373 8089 8203 + 42660 8138 8089 8435 8289 + 42661 8284 8090 8203 8439 + 42662 8202 8288 8090 8439 + 42663 8202 8090 8284 8439 + 42664 8288 8489 8090 8439 + 42665 8203 8090 8371 8489 + 42666 8203 8090 8489 8439 + 42667 8371 8489 8090 8288 + 42668 8208 8091 8292 8375 + 42669 8091 8375 8155 8210 + 42670 8376 8137 8293 8091 + 42671 8091 8210 8490 8375 + 42672 8375 8091 8292 8490 + 42673 8091 8490 8441 8292 + 42674 8490 8376 8091 8441 + 42675 8293 8490 8091 8210 + 42676 8293 8091 8490 8376 + 42677 8092 8297 8211 8380 + 42678 8092 8297 8380 8444 + 42679 8092 8379 8297 8444 + 42680 8493 8435 8093 8371 + 42681 8145 8093 8371 8493 + 42682 8493 8211 8145 8093 + 42683 8296 8094 8494 8383 + 42684 8304 8139 8095 8218 + 42685 8095 8139 8304 8219 + 42686 8095 8219 8304 8384 + 42687 8095 8304 8218 8384 + 42688 8384 8218 8095 8303 + 42689 8308 8385 8222 8096 + 42690 8386 8096 8308 8222 + 42691 8096 8308 8224 8386 + 42692 8309 8097 8225 8448 + 42693 8448 8387 8097 8225 + 42694 8097 8387 8448 8299 + 42695 8141 8309 8448 8097 + 42696 8216 8141 8448 8097 + 42697 8216 8448 8299 8097 + 42698 8140 8099 8390 8226 + 42699 8307 8447 8390 8099 + 42700 8447 8099 8226 8390 + 42701 8380 8298 8100 8228 + 42702 8100 8305 8444 8380 + 42703 8444 8214 8305 8100 + 42704 8380 8100 8451 8228 + 42705 8305 8380 8100 8451 + 42706 8217 8100 8496 8451 + 42707 8301 8100 8140 8496 + 42708 8298 8496 8100 8228 + 42709 8451 8100 8496 8228 + 42710 8496 8100 8140 8298 + 42711 8100 8301 8217 8496 + 42712 8305 8497 8100 8214 + 42713 8305 8100 8497 8451 + 42714 8217 8497 8100 8451 + 42715 8214 8497 8100 8300 + 42716 8217 8100 8497 8300 + 42717 8101 8452 8303 8142 + 42718 8303 8101 8229 8452 + 42719 8101 8391 8229 8452 + 42720 8452 8142 8101 8391 + 42721 8381 8217 8102 8300 + 42722 8142 8312 8382 8102 + 42723 8217 8300 8382 8102 + 42724 8217 8382 8312 8102 + 42725 8499 8102 8216 8381 + 42726 8102 8499 8312 8217 + 42727 8499 8217 8102 8381 + 42728 8312 8216 8499 8102 + 42729 8148 8103 8192 8315 + 42730 8315 8192 8160 8103 + 42731 8315 8160 8359 8103 + 42732 8359 8143 8232 8103 + 42733 8315 8359 8232 8103 + 42734 8103 8232 8315 8361 + 42735 8103 8143 8232 8361 + 42736 8148 8361 8103 8315 + 42737 8191 8104 8425 8319 + 42738 8160 8104 8425 8133 + 42739 8104 8425 8133 8191 + 42740 8147 8104 8425 8160 + 42741 8319 8104 8425 8147 + 42742 8105 8398 8221 8455 + 42743 8105 8317 8398 8455 + 42744 8519 8105 8317 8398 + 42745 8189 8144 8105 8519 + 42746 8189 8105 8317 8519 + 42747 8106 8395 8233 8294 + 42748 8395 8233 8458 8106 + 42749 8293 8236 8388 8107 + 42750 8107 8236 8310 8491 + 42751 8491 8107 8236 8293 + 42752 8107 8310 8146 8491 + 42753 8224 8495 8107 8388 + 42754 8236 8495 8107 8310 + 42755 8107 8495 8236 8388 + 42756 8108 8356 8238 8150 + 42757 8108 8462 8356 8274 + 42758 8462 8356 8238 8108 + 42759 8503 8148 8274 8108 + 42760 8462 8503 8274 8108 + 42761 8108 8238 8462 8503 + 42762 8108 8323 8238 8503 + 42763 8152 8109 8313 8238 + 42764 8313 8238 8109 8400 + 42765 8323 8109 8238 8400 + 42766 8400 8313 8504 8109 + 42767 8313 8109 8149 8504 + 42768 8400 8504 8323 8109 + 42769 8323 8109 8504 8392 + 42770 8109 8149 8504 8392 + 42771 8440 8110 8208 8327 + 42772 8374 8440 8110 8207 + 42773 8324 8112 8150 8356 + 42774 8269 8163 8112 8356 + 42775 8324 8465 8112 8356 + 42776 8505 8465 8356 8112 + 42777 8505 8171 8465 8112 + 42778 8356 8505 8112 8269 + 42779 8239 8466 8329 8113 + 42780 8239 8399 8466 8113 + 42781 8161 8113 8466 8326 + 42782 8466 8399 8326 8113 + 42783 8402 8330 8114 8241 + 42784 8171 8405 8331 8115 + 42785 8115 8465 8331 8171 + 42786 8242 8403 8115 8468 + 42787 8115 8403 8330 8468 + 42788 8468 8331 8405 8115 + 42789 8330 8468 8243 8115 + 42790 8468 8405 8243 8115 + 42791 8161 8115 8324 8507 + 42792 8507 8242 8161 8115 + 42793 8324 8465 8507 8115 + 42794 8242 8115 8528 8468 + 42795 8507 8528 8242 8115 + 42796 8528 8465 8331 8115 + 42797 8331 8528 8115 8468 + 42798 8528 8507 8465 8115 + 42799 8153 8332 8117 8162 + 42800 8117 8153 8406 8332 + 42801 8117 8406 8469 8332 + 42802 8408 8177 8261 8119 + 42803 8333 8408 8119 8177 + 42804 8119 8408 8471 8261 + 42805 8471 8246 8408 8119 + 42806 8120 8336 8420 8170 + 42807 8258 8469 8120 8524 + 42808 8336 8120 8469 8524 + 42809 8420 8120 8525 8336 + 42810 8525 8120 8469 8336 + 42811 8349 8510 8264 8122 + 42812 8341 8264 8510 8122 + 42813 8423 8510 8122 8341 + 42814 8349 8248 8510 8122 + 42815 8123 8484 8349 8420 + 42816 8411 8178 8124 8280 + 42817 8280 8411 8244 8124 + 42818 8417 8124 8411 8178 + 42819 8417 8263 8124 8178 + 42820 8512 8417 8124 8411 + 42821 8417 8177 8512 8124 + 42822 8333 8124 8512 8177 + 42823 8512 8333 8244 8124 + 42824 8512 8244 8411 8124 + 42825 8125 8306 8474 8223 + 42826 8307 8215 8513 8125 + 42827 8513 8125 8215 8387 + 42828 8474 8125 8513 8387 + 42829 8513 8223 8125 8474 + 42830 8307 8513 8223 8125 + 42831 8126 8252 8414 8339 + 42832 8260 8128 8174 8415 + 42833 8415 8475 8128 8346 + 42834 8260 8475 8128 8415 + 42835 8261 8128 8475 8346 + 42836 8173 8261 8128 8475 + 42837 8260 8128 8475 8173 + 42838 8347 8130 8173 8261 + 42839 8130 8261 8347 8177 + 42840 8348 8131 8416 8476 + 42841 8132 8187 8156 8163 + 42842 8132 8163 8269 8187 + 42843 8156 8187 8132 8272 + 42844 8355 8187 8132 8269 + 42845 8355 8272 8132 8187 + 42846 8133 8191 8357 8159 + 42847 8133 8278 8190 8357 + 42848 8191 8133 8357 8278 + 42849 8359 8133 8278 8190 + 42850 8425 8278 8133 8191 + 42851 8359 8425 8133 8160 + 42852 8425 8133 8278 8359 + 42853 8196 8482 8134 8255 + 42854 8134 8168 8255 8482 + 42855 8363 8482 8134 8256 + 42856 8196 8482 8343 8134 + 42857 8482 8343 8134 8256 + 42858 8363 8195 8256 8135 + 42859 8135 8267 8517 8195 + 42860 8517 8195 8363 8135 + 42861 8135 8517 8267 8352 + 42862 8188 8135 8517 8363 + 42863 8284 8200 8136 8432 + 42864 8366 8136 8200 8432 + 42865 8376 8491 8137 8205 + 42866 8491 8376 8137 8293 + 42867 8158 8138 8213 8289 + 42868 8139 8214 8382 8305 + 42869 8220 8304 8139 8445 + 42870 8445 8304 8139 8219 + 42871 8304 8218 8446 8139 + 42872 8139 8446 8304 8220 + 42873 8446 8139 8218 8382 + 42874 8305 8382 8139 8446 + 42875 8446 8220 8139 8305 + 42876 8305 8139 8214 8492 + 42877 8305 8220 8139 8492 + 42878 8140 8226 8450 8377 + 42879 8377 8450 8140 8298 + 42880 8140 8390 8450 8226 + 42881 8496 8140 8450 8298 + 42882 8496 8140 8301 8390 + 42883 8496 8450 8140 8390 + 42884 8448 8498 8309 8141 + 42885 8141 8216 8448 8498 + 42886 8227 8309 8498 8141 + 42887 8498 8141 8216 8391 + 42888 8312 8382 8218 8142 + 42889 8218 8303 8452 8142 + 42890 8391 8312 8452 8142 + 42891 8312 8218 8452 8142 + 42892 8143 8272 8187 8156 + 42893 8232 8143 8359 8279 + 42894 8394 8143 8232 8279 + 42895 8454 8361 8232 8143 + 42896 8272 8454 8394 8143 + 42897 8361 8187 8143 8454 + 42898 8187 8143 8454 8272 + 42899 8454 8232 8394 8143 + 42900 8394 8478 8143 8279 + 42901 8143 8272 8185 8478 + 42902 8394 8272 8143 8478 + 42903 8189 8358 8144 8519 + 42904 8145 8371 8290 8493 + 42905 8493 8145 8211 8290 + 42906 8520 8491 8205 8146 + 42907 8520 8146 8290 8377 + 42908 8146 8377 8520 8310 + 42909 8520 8205 8290 8146 + 42910 8310 8146 8491 8520 + 42911 8147 8160 8315 8192 + 42912 8147 8425 8315 8160 + 42913 8502 8147 8192 8453 + 42914 8147 8425 8319 8502 + 42915 8147 8315 8425 8502 + 42916 8315 8147 8192 8502 + 42917 8361 8274 8503 8148 + 42918 8521 8148 8503 8453 + 42919 8315 8192 8148 8521 + 42920 8453 8148 8192 8521 + 42921 8361 8148 8503 8521 + 42922 8315 8148 8361 8521 + 42923 8463 8149 8230 8393 + 42924 8311 8149 8463 8393 + 42925 8313 8230 8463 8149 + 42926 8149 8229 8311 8463 + 42927 8463 8504 8149 8229 + 42928 8149 8313 8504 8463 + 42929 8392 8504 8229 8149 + 42930 8324 8238 8356 8150 + 42931 8328 8231 8151 8389 + 42932 8151 8449 8328 8389 + 42933 8152 8313 8404 8238 + 42934 8313 8152 8404 8467 + 42935 8152 8313 8230 8467 + 42936 8230 8467 8326 8152 + 42937 8152 8238 8404 8507 + 42938 8324 8152 8161 8507 + 42939 8324 8507 8238 8152 + 42940 8522 8161 8326 8152 + 42941 8507 8404 8152 8522 + 42942 8326 8522 8152 8467 + 42943 8152 8522 8161 8507 + 42944 8404 8467 8152 8522 + 42945 8332 8153 8407 8162 + 42946 8245 8333 8153 8470 + 42947 8406 8153 8470 8332 + 42948 8407 8470 8153 8332 + 42949 8244 8470 8406 8153 + 42950 8153 8245 8470 8407 + 42951 8244 8333 8470 8153 + 42952 8249 8154 8354 8275 + 42953 8423 8249 8275 8154 + 42954 8155 8209 8322 8514 + 42955 8210 8514 8375 8155 + 42956 8155 8514 8375 8209 + 42957 8155 8514 8322 8210 + 42958 8254 8342 8413 8157 + 42959 8413 8342 8485 8157 + 42960 8157 8485 8255 8342 + 42961 8413 8485 8339 8157 + 42962 8438 8213 8158 8295 + 42963 8206 8378 8438 8158 + 42964 8378 8438 8158 8295 + 42965 8213 8158 8289 8438 + 42966 8159 8317 8456 8189 + 42967 8159 8189 8456 8357 + 42968 8159 8357 8456 8191 + 42969 8359 8425 8160 8315 + 42970 8466 8161 8522 8242 + 42971 8161 8522 8326 8466 + 42972 8161 8507 8522 8242 + 42973 8162 8335 8247 8409 + 42974 8472 8335 8162 8409 + 42975 8162 8332 8243 8472 + 42976 8409 8247 8162 8509 + 42977 8162 8247 8407 8509 + 42978 8509 8407 8162 8332 + 42979 8509 8162 8472 8332 + 42980 8472 8162 8509 8409 + 42981 8187 8163 8269 8356 + 42982 8348 8165 8264 8416 + 42983 8165 8529 8413 8254 + 42984 8416 8165 8529 8251 + 42985 8413 8251 8529 8165 + 42986 8622 8341 8254 8165 + 42987 8622 8529 8165 8254 + 42988 8165 8264 8622 8341 + 42989 8416 8713 8529 8165 + 42990 8622 8264 8165 8713 + 42991 8529 8713 8622 8165 + 42992 8264 8165 8713 8416 + 42993 8483 8166 8253 8340 + 42994 8530 8342 8254 8168 + 42995 8168 8341 8254 8530 + 42996 8168 8423 8341 8530 + 42997 8623 8168 8255 8342 + 42998 8482 8255 8623 8168 + 42999 8482 8623 8428 8168 + 43000 8623 8530 8168 8342 + 43001 8715 8428 8623 8168 + 43002 8715 8623 8530 8168 + 43003 8715 8168 8530 8423 + 43004 8275 8428 8715 8168 + 43005 8715 8275 8168 8423 + 43006 8427 8256 8169 8343 + 43007 8169 8364 8486 8257 + 43008 8427 8169 8364 8486 + 43009 8427 8169 8486 8343 + 43010 8170 8473 8355 8269 + 43011 8533 8355 8170 8473 + 43012 8422 8533 8170 8268 + 43013 8533 8170 8420 8336 + 43014 8336 8533 8170 8473 + 43015 8355 8422 8533 8170 + 43016 8420 8170 8533 8268 + 43017 8505 8465 8171 8331 + 43018 8405 8171 8524 8258 + 43019 8331 8524 8171 8505 + 43020 8171 8524 8331 8405 + 43021 8344 8172 8260 8534 + 43022 8259 8534 8172 8344 + 43023 8172 8345 8260 8534 + 43024 8347 8173 8475 8261 + 43025 8626 8173 8260 8475 + 43026 8626 8347 8173 8475 + 43027 8347 8173 8262 8626 + 43028 8173 8262 8626 8345 + 43029 8173 8626 8260 8345 + 43030 8174 8625 8260 8415 + 43031 8174 8260 8625 8344 + 43032 8263 8347 8176 8417 + 43033 8347 8537 8262 8176 + 43034 8537 8176 8347 8417 + 43035 8176 8263 8628 8476 + 43036 8417 8263 8628 8176 + 43037 8417 8628 8537 8176 + 43038 8261 8475 8347 8177 + 43039 8261 8536 8475 8177 + 43040 8408 8536 8261 8177 + 43041 8475 8536 8718 8177 + 43042 8718 8512 8177 8629 + 43043 8718 8177 8536 8629 + 43044 8475 8718 8347 8177 + 43045 8177 8718 8347 8417 + 43046 8177 8512 8718 8417 + 43047 8719 8177 8408 8333 + 43048 8629 8512 8177 8719 + 43049 8177 8536 8629 8719 + 43050 8719 8512 8177 8333 + 43051 8177 8408 8536 8719 + 43052 8178 8476 8263 8348 + 43053 8178 8538 8476 8348 + 43054 8538 8348 8178 8264 + 43055 8411 8539 8178 8280 + 43056 8484 8539 8280 8178 + 43057 8178 8263 8628 8417 + 43058 8263 8628 8476 8178 + 43059 8538 8476 8628 8178 + 43060 8264 8178 8538 8630 + 43061 8484 8630 8539 8178 + 43062 8484 8630 8178 8349 + 43063 8349 8630 8178 8264 + 43064 8720 8538 8628 8178 + 43065 8720 8630 8178 8539 + 43066 8538 8630 8178 8720 + 43067 8720 8539 8178 8801 + 43068 8178 8628 8801 8417 + 43069 8178 8720 8801 8628 + 43070 8411 8178 8539 8801 + 43071 8411 8417 8178 8801 + 43072 8179 8424 8350 8540 + 43073 8277 8179 8540 8424 + 43074 8179 8350 8265 8540 + 43075 8180 8419 8541 8266 + 43076 8266 8180 8418 8541 + 43077 8419 8631 8180 8541 + 43078 8418 8180 8265 8631 + 43079 8418 8180 8631 8541 + 43080 8270 8479 8181 8360 + 43081 8542 8360 8181 8479 + 43082 8542 8181 8360 8314 + 43083 8721 8350 8181 8314 + 43084 8418 8181 8721 8350 + 43085 8721 8181 8418 8479 + 43086 8542 8314 8721 8181 + 43087 8542 8721 8479 8181 + 43088 8352 8182 8480 8267 + 43089 8480 8516 8182 8352 + 43090 8516 8266 8182 8352 + 43091 8182 8541 8419 8266 + 43092 8516 8541 8182 8266 + 43093 8419 8182 8351 8543 + 43094 8632 8182 8419 8543 + 43095 8632 8516 8541 8182 + 43096 8632 8182 8541 8419 + 43097 8632 8480 8516 8182 + 43098 8722 8632 8543 8182 + 43099 8267 8351 8182 8722 + 43100 8632 8480 8182 8722 + 43101 8722 8543 8351 8182 + 43102 8722 8182 8267 8480 + 43103 8351 8183 8429 8267 + 43104 8511 8422 8184 8268 + 43105 8271 8184 8527 8353 + 43106 8184 8354 8271 8527 + 43107 8184 8511 8354 8527 + 43108 8273 8422 8184 8527 + 43109 8353 8184 8527 8273 + 43110 8184 8422 8511 8527 + 43111 8421 8185 8272 8478 + 43112 8545 8478 8185 8421 + 43113 8185 8545 8353 8270 + 43114 8185 8421 8353 8545 + 43115 8185 8635 8545 8270 + 43116 8360 8185 8270 8635 + 43117 8185 8545 8723 8478 + 43118 8360 8723 8185 8635 + 43119 8635 8545 8723 8185 + 43120 8478 8723 8185 8360 + 43121 8186 8421 8272 8394 + 43122 8355 8422 8273 8186 + 43123 8273 8421 8186 8546 + 43124 8546 8394 8421 8186 + 43125 8272 8186 8637 8355 + 43126 8186 8724 8394 8272 + 43127 8638 8186 8724 8546 + 43128 8394 8186 8546 8724 + 43129 8724 8186 8637 8272 + 43130 8546 8638 8186 8725 + 43131 8422 8725 8273 8186 + 43132 8422 8638 8725 8186 + 43133 8546 8186 8273 8725 + 43134 8637 8724 8806 8186 + 43135 8806 8186 8638 8422 + 43136 8806 8355 8186 8422 + 43137 8637 8806 8355 8186 + 43138 8186 8724 8806 8638 + 43139 8544 8269 8187 8355 + 43140 8356 8269 8187 8544 + 43141 8544 8187 8637 8355 + 43142 8187 8454 8637 8272 + 43143 8355 8637 8272 8187 + 43144 8726 8637 8187 8454 + 43145 8726 8187 8361 8454 + 43146 8544 8187 8356 8726 + 43147 8544 8637 8187 8726 + 43148 8726 8187 8274 8361 + 43149 8356 8187 8274 8726 + 43150 8426 8640 8188 8517 + 43151 8640 8275 8188 8428 + 43152 8426 8640 8275 8188 + 43153 8640 8517 8808 8188 + 43154 8188 8428 8363 8808 + 43155 8428 8640 8808 8188 + 43156 8188 8363 8517 8808 + 43157 8357 8477 8276 8189 + 43158 8357 8456 8477 8189 + 43159 8189 8477 8358 8519 + 43160 8189 8519 8317 8456 + 43161 8456 8477 8189 8519 + 43162 8359 8278 8552 8190 + 43163 8359 8190 8552 8279 + 43164 8190 8500 8276 8641 + 43165 8190 8276 8357 8641 + 43166 8190 8278 8552 8641 + 43167 8357 8190 8641 8278 + 43168 8190 8810 8360 8500 + 43169 8500 8190 8810 8641 + 43170 8552 8279 8190 8810 + 43171 8641 8552 8190 8810 + 43172 8810 8190 8360 8279 + 43173 8191 8357 8551 8278 + 43174 8191 8456 8397 8642 + 43175 8551 8357 8191 8642 + 43176 8191 8357 8456 8642 + 43177 8642 8397 8191 8730 + 43178 8730 8551 8278 8191 + 43179 8425 8730 8278 8191 + 43180 8397 8191 8730 8457 + 43181 8642 8191 8551 8730 + 43182 8730 8457 8191 8319 + 43183 8730 8191 8425 8319 + 43184 8453 8192 8502 8521 + 43185 8502 8192 8315 8521 + 43186 8481 8271 8193 8426 + 43187 8271 8481 8193 8527 + 43188 8271 8193 8353 8527 + 43189 8545 8193 8353 8270 + 43190 8527 8557 8481 8193 + 43191 8193 8516 8270 8635 + 43192 8545 8635 8193 8270 + 43193 8527 8636 8557 8193 + 43194 8636 8527 8353 8193 + 43195 8636 8353 8545 8193 + 43196 8481 8193 8732 8426 + 43197 8426 8480 8193 8732 + 43198 8557 8193 8732 8481 + 43199 8814 8193 8516 8480 + 43200 8814 8193 8480 8732 + 43201 8814 8545 8635 8193 + 43202 8814 8516 8193 8635 + 43203 8193 8557 8732 8868 + 43204 8868 8732 8193 8814 + 43205 8814 8868 8545 8193 + 43206 8868 8193 8557 8636 + 43207 8193 8636 8868 8545 + 43208 8427 8194 8256 8531 + 43209 8531 8362 8194 8256 + 43210 8194 8734 8531 8427 + 43211 8427 8194 8734 8364 + 43212 8429 8362 8531 8195 + 43213 8531 8195 8362 8256 + 43214 8531 8195 8256 8624 + 43215 8517 8363 8195 8624 + 43216 8363 8256 8195 8624 + 43217 8267 8195 8803 8517 + 43218 8267 8195 8429 8803 + 43219 8624 8195 8803 8531 + 43220 8803 8531 8195 8429 + 43221 8517 8195 8803 8624 + 43222 8196 8532 8486 8343 + 43223 8343 8482 8196 8532 + 43224 8623 8482 8532 8196 + 43225 8255 8485 8196 8623 + 43226 8623 8255 8482 8196 + 43227 8196 8647 8485 8281 + 43228 8647 8486 8281 8196 + 43229 8647 8196 8532 8486 + 43230 8196 8647 8735 8485 + 43231 8647 8532 8196 8735 + 43232 8623 8485 8196 8735 + 43233 8532 8196 8735 8623 + 43234 8483 8365 8197 8414 + 43235 8198 8287 8487 8374 + 43236 8198 8487 8560 8374 + 43237 8560 8198 8282 8366 + 43238 8366 8487 8560 8198 + 43239 8648 8282 8199 8366 + 43240 8366 8648 8431 8199 + 43241 8200 8283 8561 8367 + 43242 8561 8283 8200 8431 + 43243 8200 8561 8433 8367 + 43244 8366 8200 8562 8432 + 43245 8284 8562 8200 8432 + 43246 8562 8368 8284 8200 + 43247 8562 8433 8368 8200 + 43248 8562 8739 8200 8366 + 43249 8739 8561 8433 8200 + 43250 8561 8200 8739 8431 + 43251 8431 8200 8739 8366 + 43252 8739 8433 8562 8200 + 43253 8370 8432 8202 8287 + 43254 8370 8515 8288 8202 + 43255 8651 8288 8202 8439 + 43256 8288 8202 8515 8651 + 43257 8817 8202 8284 8439 + 43258 8817 8515 8202 8651 + 43259 8202 8284 8432 8817 + 43260 8817 8515 8370 8202 + 43261 8651 8202 8817 8439 + 43262 8202 8432 8370 8817 + 43263 8203 8439 8368 8284 + 43264 8435 8565 8373 8203 + 43265 8435 8371 8565 8203 + 43266 8371 8203 8489 8565 + 43267 8285 8203 8373 8652 + 43268 8652 8203 8368 8285 + 43269 8652 8203 8439 8368 + 43270 8652 8565 8203 8373 + 43271 8652 8742 8439 8203 + 43272 8489 8203 8439 8742 + 43273 8203 8565 8742 8489 + 43274 8742 8203 8652 8565 + 43275 8204 8437 8488 8291 + 43276 8204 8373 8566 8285 + 43277 8566 8437 8204 8369 + 43278 8566 8488 8204 8437 + 43279 8566 8369 8204 8285 + 43280 8566 8655 8373 8204 + 43281 8488 8289 8655 8204 + 43282 8488 8655 8566 8204 + 43283 8204 8289 8655 8373 + 43284 8376 8288 8436 8205 + 43285 8376 8436 8491 8205 + 43286 8436 8520 8491 8205 + 43287 8290 8520 8436 8205 + 43288 8569 8206 8372 8442 + 43289 8569 8294 8206 8442 + 43290 8206 8569 8372 8438 + 43291 8378 8294 8206 8569 + 43292 8378 8206 8438 8569 + 43293 8441 8564 8370 8207 + 43294 8287 8370 8564 8207 + 43295 8207 8292 8575 8440 + 43296 8287 8656 8374 8207 + 43297 8564 8207 8656 8287 + 43298 8656 8374 8207 8749 + 43299 8749 8440 8374 8207 + 43300 8207 8750 8564 8656 + 43301 8575 8292 8207 8750 + 43302 8750 8564 8441 8207 + 43303 8750 8207 8441 8292 + 43304 8749 8207 8656 8825 + 43305 8825 8440 8207 8575 + 43306 8207 8749 8440 8825 + 43307 8207 8825 8750 8656 + 43308 8825 8575 8207 8750 + 43309 8575 8440 8208 8327 + 43310 8575 8292 8208 8440 + 43311 8576 8208 8464 8327 + 43312 8464 8576 8375 8208 + 43313 8661 8375 8576 8208 + 43314 8208 8576 8661 8327 + 43315 8208 8661 8575 8327 + 43316 8575 8292 8661 8208 + 43317 8661 8292 8375 8208 + 43318 8464 8514 8209 8375 + 43319 8514 8375 8576 8210 + 43320 8210 8460 8577 8322 + 43321 8577 8322 8514 8210 + 43322 8490 8293 8578 8210 + 43323 8577 8210 8514 8664 + 43324 8210 8514 8664 8576 + 43325 8577 8665 8460 8210 + 43326 8293 8665 8210 8388 + 43327 8665 8578 8293 8210 + 43328 8460 8210 8665 8388 + 43329 8751 8375 8210 8576 + 43330 8490 8210 8751 8375 + 43331 8490 8578 8751 8210 + 43332 8210 8664 8827 8576 + 43333 8827 8210 8577 8664 + 43334 8665 8577 8827 8210 + 43335 8578 8827 8751 8210 + 43336 8210 8576 8827 8751 + 43337 8578 8665 8827 8210 + 43338 8290 8377 8211 8570 + 43339 8290 8211 8493 8570 + 43340 8211 8493 8580 8297 + 43341 8211 8580 8380 8297 + 43342 8211 8493 8570 8666 + 43343 8377 8298 8211 8666 + 43344 8211 8570 8377 8666 + 43345 8666 8298 8211 8380 + 43346 8493 8580 8666 8211 + 43347 8380 8666 8580 8211 + 43348 8492 8383 8212 8302 + 43349 8492 8212 8296 8379 + 43350 8492 8212 8383 8296 + 43351 8296 8494 8212 8383 + 43352 8581 8494 8212 8443 + 43353 8581 8212 8378 8443 + 43354 8494 8212 8383 8581 + 43355 8383 8212 8302 8581 + 43356 8581 8378 8212 8667 + 43357 8295 8212 8378 8667 + 43358 8492 8668 8212 8379 + 43359 8379 8295 8668 8212 + 43360 8302 8212 8668 8581 + 43361 8492 8302 8212 8668 + 43362 8212 8875 8667 8295 + 43363 8875 8581 8212 8667 + 43364 8212 8668 8875 8295 + 43365 8668 8581 8212 8875 + 43366 8213 8573 8295 8438 + 43367 8438 8655 8289 8213 + 43368 8438 8573 8655 8213 + 43369 8573 8655 8213 8518 + 43370 8518 8655 8213 8289 + 43371 8379 8297 8755 8213 + 43372 8573 8213 8755 8518 + 43373 8213 8295 8573 8755 + 43374 8755 8379 8213 8295 + 43375 8297 8518 8755 8213 + 43376 8444 8214 8492 8305 + 43377 8305 8214 8382 8497 + 43378 8497 8214 8382 8300 + 43379 8513 8390 8215 8307 + 43380 8584 8387 8513 8215 + 43381 8215 8299 8584 8387 + 43382 8299 8215 8585 8381 + 43383 8215 8585 8381 8301 + 43384 8299 8215 8584 8671 + 43385 8584 8513 8671 8215 + 43386 8671 8215 8390 8301 + 43387 8513 8671 8215 8390 + 43388 8585 8671 8301 8215 + 43389 8585 8299 8671 8215 + 43390 8299 8499 8216 8381 + 43391 8299 8216 8499 8448 + 43392 8586 8448 8216 8498 + 43393 8586 8216 8499 8312 + 43394 8216 8586 8498 8391 + 43395 8499 8448 8216 8586 + 43396 8391 8312 8216 8586 + 43397 8497 8382 8217 8300 + 43398 8381 8301 8585 8217 + 43399 8499 8585 8217 8381 + 43400 8587 8382 8312 8217 + 43401 8589 8496 8451 8217 + 43402 8217 8673 8587 8382 + 43403 8217 8497 8673 8382 + 43404 8217 8451 8589 8673 + 43405 8217 8497 8451 8673 + 43406 8499 8585 8760 8217 + 43407 8499 8760 8312 8217 + 43408 8587 8760 8217 8312 + 43409 8587 8673 8217 8760 + 43410 8589 8217 8673 8760 + 43411 8301 8217 8496 8831 + 43412 8301 8585 8217 8831 + 43413 8217 8760 8831 8585 + 43414 8760 8831 8589 8217 + 43415 8589 8831 8496 8217 + 43416 8590 8304 8384 8218 + 43417 8218 8304 8446 8590 + 43418 8218 8382 8312 8674 + 43419 8674 8446 8218 8382 + 43420 8674 8452 8312 8218 + 43421 8218 8446 8674 8590 + 43422 8590 8384 8761 8218 + 43423 8674 8590 8761 8218 + 43424 8761 8674 8218 8452 + 43425 8761 8452 8218 8303 + 43426 8761 8218 8384 8303 + 43427 8445 8501 8591 8219 + 43428 8445 8591 8304 8219 + 43429 8457 8219 8591 8501 + 43430 8219 8384 8319 8675 + 43431 8675 8591 8219 8304 + 43432 8304 8675 8384 8219 + 43433 8457 8591 8219 8832 + 43434 8591 8675 8219 8832 + 43435 8457 8219 8319 8832 + 43436 8219 8319 8832 8675 + 43437 8670 8305 8492 8220 + 43438 8445 8220 8676 8302 + 43439 8220 8302 8756 8676 + 43440 8302 8756 8492 8220 + 43441 8220 8756 8592 8676 + 43442 8756 8220 8592 8670 + 43443 8756 8492 8220 8670 + 43444 8304 8446 8762 8220 + 43445 8670 8762 8305 8220 + 43446 8762 8220 8670 8592 + 43447 8446 8762 8220 8305 + 43448 8304 8762 8833 8220 + 43449 8833 8445 8220 8676 + 43450 8833 8592 8676 8220 + 43451 8304 8833 8445 8220 + 43452 8762 8220 8592 8833 + 43453 8221 8594 8318 8396 + 43454 8221 8398 8594 8766 + 43455 8221 8766 8594 8396 + 43456 8396 8766 8455 8221 + 43457 8766 8221 8398 8455 + 43458 8595 8222 8385 8306 + 43459 8386 8308 8595 8222 + 43460 8308 8595 8222 8385 + 43461 8447 8307 8223 8385 + 43462 8513 8447 8307 8223 + 43463 8385 8595 8306 8223 + 43464 8306 8678 8474 8223 + 43465 8678 8306 8595 8223 + 43466 8474 8678 8513 8223 + 43467 8223 8767 8385 8595 + 43468 8223 8678 8767 8595 + 43469 8513 8767 8447 8223 + 43470 8447 8223 8767 8385 + 43471 8678 8513 8223 8767 + 43472 8495 8596 8224 8308 + 43473 8388 8224 8495 8596 + 43474 8768 8224 8386 8321 + 43475 8321 8460 8768 8224 + 43476 8386 8308 8224 8768 + 43477 8224 8308 8596 8768 + 43478 8388 8460 8224 8768 + 43479 8224 8596 8388 8768 + 43480 8225 8449 8389 8309 + 43481 8225 8759 8338 8449 + 43482 8759 8225 8338 8387 + 43483 8759 8449 8225 8309 + 43484 8309 8225 8759 8448 + 43485 8448 8759 8387 8225 + 43486 8226 8310 8450 8377 + 43487 8310 8597 8226 8450 + 43488 8597 8226 8495 8310 + 43489 8680 8226 8447 8495 + 43490 8390 8226 8447 8680 + 43491 8680 8597 8226 8495 + 43492 8680 8770 8390 8226 + 43493 8226 8597 8680 8770 + 43494 8450 8390 8770 8226 + 43495 8226 8450 8597 8770 + 43496 8309 8227 8498 8389 + 43497 8311 8227 8393 8498 + 43498 8523 8227 8498 8393 + 43499 8498 8389 8227 8523 + 43500 8228 8298 8496 8583 + 43501 8380 8298 8228 8666 + 43502 8583 8298 8666 8228 + 43503 8757 8451 8228 8380 + 43504 8380 8228 8829 8666 + 43505 8583 8666 8829 8228 + 43506 8380 8228 8757 8829 + 43507 8879 8451 8228 8757 + 43508 8451 8879 8228 8496 + 43509 8496 8228 8583 8879 + 43510 8829 8583 8228 8903 + 43511 8829 8903 8228 8757 + 43512 8879 8228 8903 8757 + 43513 8228 8903 8583 8879 + 43514 8504 8229 8303 8392 + 43515 8504 8303 8229 8593 + 43516 8452 8229 8303 8593 + 43517 8463 8311 8685 8229 + 43518 8685 8311 8391 8229 + 43519 8685 8391 8773 8229 + 43520 8229 8773 8593 8452 + 43521 8452 8229 8773 8391 + 43522 8463 8840 8504 8229 + 43523 8840 8685 8773 8229 + 43524 8840 8463 8685 8229 + 43525 8840 8593 8229 8773 + 43526 8504 8593 8229 8840 + 43527 8601 8230 8463 8313 + 43528 8601 8230 8313 8467 + 43529 8602 8461 8230 8326 + 43530 8602 8230 8467 8326 + 43531 8230 8601 8463 8688 + 43532 8230 8688 8602 8467 + 43533 8393 8688 8230 8463 + 43534 8230 8601 8688 8467 + 43535 8774 8461 8393 8230 + 43536 8602 8688 8230 8774 + 43537 8774 8602 8461 8230 + 43538 8393 8230 8688 8774 + 43539 8231 8523 8389 8328 + 43540 8231 8689 8523 8328 + 43541 8689 8231 8523 8461 + 43542 8689 8325 8231 8461 + 43543 8315 8521 8361 8232 + 43544 8521 8361 8232 8454 + 43545 8232 8359 8552 8279 + 43546 8232 8552 8646 8279 + 43547 8394 8646 8279 8232 + 43548 8232 8646 8552 8777 + 43549 8232 8552 8813 8777 + 43550 8232 8359 8315 8813 + 43551 8359 8813 8232 8552 + 43552 8844 8646 8232 8777 + 43553 8521 8232 8844 8454 + 43554 8844 8232 8646 8394 + 43555 8454 8232 8844 8394 + 43556 8232 8883 8844 8777 + 43557 8883 8521 8315 8232 + 43558 8813 8777 8883 8232 + 43559 8813 8883 8315 8232 + 43560 8883 8844 8521 8232 + 43561 8395 8458 8233 8604 + 43562 8233 8659 8442 8294 + 43563 8233 8754 8659 8294 + 43564 8754 8233 8604 8395 + 43565 8233 8604 8659 8754 + 43566 8754 8294 8233 8395 + 43567 8234 8459 8316 8396 + 43568 8234 8302 8383 8501 + 43569 8581 8395 8320 8234 + 43570 8494 8443 8581 8234 + 43571 8581 8302 8383 8234 + 43572 8494 8383 8234 8581 + 43573 8581 8443 8395 8234 + 43574 8234 8316 8459 8605 + 43575 8234 8605 8459 8320 + 43576 8234 8676 8302 8501 + 43577 8581 8676 8302 8234 + 43578 8779 8676 8234 8501 + 43579 8676 8234 8605 8779 + 43580 8316 8605 8234 8779 + 43581 8316 8779 8234 8501 + 43582 8320 8581 8234 8845 + 43583 8320 8234 8605 8845 + 43584 8676 8605 8234 8845 + 43585 8581 8676 8234 8845 + 43586 8318 8594 8235 8396 + 43587 8594 8459 8235 8396 + 43588 8606 8695 8235 8459 + 43589 8320 8235 8458 8695 + 43590 8320 8459 8235 8695 + 43591 8459 8235 8848 8594 + 43592 8459 8235 8606 8848 + 43593 8491 8236 8310 8520 + 43594 8599 8310 8236 8520 + 43595 8491 8236 8658 8293 + 43596 8293 8236 8658 8578 + 43597 8658 8599 8236 8520 + 43598 8658 8236 8491 8520 + 43599 8665 8293 8236 8388 + 43600 8236 8293 8665 8578 + 43601 8310 8681 8236 8495 + 43602 8599 8310 8681 8236 + 43603 8495 8769 8681 8236 + 43604 8388 8236 8769 8495 + 43605 8236 8665 8769 8578 + 43606 8236 8769 8665 8388 + 43607 8904 8681 8769 8236 + 43608 8578 8236 8658 8904 + 43609 8904 8769 8578 8236 + 43610 8599 8681 8904 8236 + 43611 8658 8599 8904 8236 + 43612 8504 8237 8453 8303 + 43613 8504 8237 8303 8593 + 43614 8237 8687 8453 8502 + 43615 8687 8504 8237 8453 + 43616 8761 8237 8303 8384 + 43617 8237 8698 8761 8593 + 43618 8384 8761 8237 8590 + 43619 8237 8590 8761 8698 + 43620 8237 8761 8303 8593 + 43621 8237 8764 8687 8502 + 43622 8764 8590 8237 8698 + 43623 8384 8237 8764 8590 + 43624 8237 8764 8502 8384 + 43625 8593 8852 8504 8237 + 43626 8237 8852 8504 8687 + 43627 8237 8764 8852 8687 + 43628 8593 8698 8852 8237 + 43629 8764 8237 8852 8698 + 43630 8503 8323 8238 8400 + 43631 8503 8238 8462 8400 + 43632 8238 8507 8548 8404 + 43633 8238 8507 8324 8548 + 43634 8548 8324 8238 8356 + 43635 8462 8548 8238 8356 + 43636 8690 8238 8404 8313 + 43637 8690 8400 8238 8313 + 43638 8404 8238 8782 8548 + 43639 8782 8548 8238 8462 + 43640 8238 8782 8690 8404 + 43641 8782 8400 8238 8690 + 43642 8782 8462 8238 8400 + 43643 8239 8466 8607 8329 + 43644 8239 8466 8399 8607 + 43645 8699 8399 8239 8325 + 43646 8699 8239 8399 8607 + 43647 8700 8464 8240 8327 + 43648 8700 8240 8401 8327 + 43649 8403 8612 8506 8241 + 43650 8612 8241 8403 8330 + 43651 8612 8402 8241 8330 + 43652 8528 8522 8507 8242 + 43653 8466 8522 8611 8242 + 43654 8242 8611 8466 8506 + 43655 8613 8528 8468 8242 + 43656 8703 8242 8403 8506 + 43657 8468 8242 8703 8613 + 43658 8242 8403 8468 8703 + 43659 8788 8611 8242 8506 + 43660 8703 8788 8242 8506 + 43661 8611 8857 8242 8522 + 43662 8613 8857 8528 8242 + 43663 8242 8788 8703 8857 + 43664 8242 8611 8788 8857 + 43665 8522 8528 8857 8242 + 43666 8857 8703 8242 8613 + 43667 8330 8243 8468 8508 + 43668 8508 8243 8614 8472 + 43669 8468 8243 8614 8508 + 43670 8243 8614 8472 8332 + 43671 8405 8468 8243 8789 + 43672 8243 8614 8332 8789 + 43673 8243 8332 8469 8789 + 43674 8614 8243 8468 8789 + 43675 8789 8405 8469 8243 + 43676 8470 8411 8512 8244 + 43677 8470 8512 8333 8244 + 43678 8280 8411 8539 8244 + 43679 8280 8244 8539 8525 + 43680 8411 8470 8791 8244 + 43681 8244 8411 8539 8791 + 43682 8244 8525 8406 8791 + 43683 8244 8539 8525 8791 + 43684 8470 8406 8791 8244 + 43685 8334 8245 8407 8708 + 43686 8407 8708 8245 8470 + 43687 8334 8719 8408 8245 + 43688 8719 8333 8245 8470 + 43689 8334 8719 8245 8708 + 43690 8719 8470 8245 8708 + 43691 8245 8719 8408 8333 + 43692 8408 8246 8860 8334 + 43693 8471 8246 8860 8408 + 43694 8792 8409 8509 8247 + 43695 8247 8792 8334 8407 + 43696 8792 8509 8407 8247 + 43697 8547 8511 8410 8248 + 43698 8547 8526 8511 8248 + 43699 8349 8248 8526 8802 + 43700 8349 8510 8248 8802 + 43701 8802 8337 8510 8248 + 43702 8526 8894 8248 8547 + 43703 8526 8894 8802 8248 + 43704 8894 8410 8248 8547 + 43705 8802 8894 8337 8248 + 43706 8248 8894 8337 8410 + 43707 8354 8249 8275 8481 + 43708 8249 8410 8481 8527 + 43709 8249 8354 8527 8481 + 43710 8410 8549 8249 8481 + 43711 8249 8410 8423 8549 + 43712 8249 8423 8275 8549 + 43713 8549 8275 8249 8481 + 43714 8474 8584 8250 8387 + 43715 8250 8584 8759 8387 + 43716 8387 8338 8759 8250 + 43717 8584 8712 8797 8250 + 43718 8474 8584 8797 8250 + 43719 8759 8584 8250 8897 + 43720 8584 8250 8897 8712 + 43721 8759 8250 8338 8897 + 43722 8622 8254 8341 8530 + 43723 8714 8529 8622 8254 + 43724 8714 8254 8342 8413 + 43725 8714 8622 8530 8254 + 43726 8254 8714 8529 8413 + 43727 8342 8530 8254 8714 + 43728 8255 8342 8485 8623 + 43729 8482 8427 8343 8256 + 43730 8427 8482 8363 8256 + 43731 8531 8256 8427 8624 + 43732 8427 8256 8363 8624 + 43733 8364 8430 8486 8257 + 43734 8258 8405 8469 8524 + 43735 8260 8535 8475 8415 + 43736 8344 8260 8625 8534 + 43737 8260 8625 8535 8415 + 43738 8626 8475 8260 8535 + 43739 8260 8345 8716 8534 + 43740 8625 8716 8260 8535 + 43741 8626 8260 8716 8535 + 43742 8260 8716 8625 8534 + 43743 8345 8260 8716 8626 + 43744 8346 8261 8536 8475 + 43745 8261 8536 8408 8471 + 43746 8346 8471 8536 8261 + 43747 8626 8537 8262 8347 + 43748 8348 8264 8538 8416 + 43749 8341 8264 8622 8510 + 43750 8538 8510 8622 8264 + 43751 8538 8630 8510 8264 + 43752 8349 8630 8264 8510 + 43753 8264 8713 8538 8416 + 43754 8622 8538 8264 8713 + 43755 8418 8265 8350 8540 + 43756 8265 8418 8631 8540 + 43757 8418 8541 8516 8266 + 43758 8480 8267 8517 8352 + 43759 8267 8429 8351 8803 + 43760 8267 8803 8722 8480 + 43761 8722 8351 8803 8267 + 43762 8267 8517 8803 8480 + 43763 8511 8422 8268 8526 + 43764 8526 8422 8268 8533 + 43765 8526 8268 8420 8533 + 43766 8355 8269 8473 8544 + 43767 8544 8505 8269 8473 + 43768 8269 8544 8356 8505 + 43769 8270 8635 8479 8360 + 43770 8479 8270 8516 8635 + 43771 8271 8527 8354 8481 + 43772 8394 8421 8272 8478 + 43773 8724 8637 8454 8272 + 43774 8724 8454 8394 8272 + 43775 8273 8527 8353 8636 + 43776 8353 8421 8273 8636 + 43777 8273 8636 8421 8546 + 43778 8273 8725 8527 8636 + 43779 8273 8725 8422 8527 + 43780 8273 8725 8636 8546 + 43781 8274 8726 8462 8356 + 43782 8361 8274 8726 8503 + 43783 8462 8726 8274 8503 + 43784 8481 8640 8549 8275 + 43785 8481 8426 8640 8275 + 43786 8549 8423 8275 8715 + 43787 8715 8428 8275 8640 + 43788 8715 8275 8549 8640 + 43789 8550 8276 8477 8424 + 43790 8500 8276 8550 8424 + 43791 8641 8276 8550 8500 + 43792 8728 8477 8550 8276 + 43793 8641 8357 8728 8276 + 43794 8728 8550 8641 8276 + 43795 8477 8728 8357 8276 + 43796 8643 8277 8540 8424 + 43797 8643 8277 8424 8729 + 43798 8477 8358 8729 8277 + 43799 8477 8424 8277 8729 + 43800 8357 8278 8641 8551 + 43801 8645 8278 8730 8551 + 43802 8551 8731 8278 8641 + 43803 8645 8731 8278 8551 + 43804 8552 8278 8731 8641 + 43805 8731 8552 8813 8278 + 43806 8813 8730 8645 8278 + 43807 8813 8425 8278 8359 + 43808 8813 8425 8730 8278 + 43809 8731 8813 8645 8278 + 43810 8813 8278 8552 8359 + 43811 8555 8279 8478 8394 + 43812 8555 8646 8279 8394 + 43813 8810 8360 8478 8279 + 43814 8810 8552 8279 8646 + 43815 8646 8810 8555 8279 + 43816 8478 8555 8810 8279 + 43817 8525 8280 8484 8539 + 43818 8737 8281 8647 8486 + 43819 8737 8365 8281 8486 + 43820 8560 8282 8648 8366 + 43821 8560 8648 8282 8738 + 43822 8284 8562 8740 8368 + 43823 8284 8439 8368 8740 + 43824 8740 8284 8817 8562 + 43825 8284 8817 8439 8740 + 43826 8432 8817 8284 8562 + 43827 8368 8567 8285 8434 + 43828 8652 8368 8567 8285 + 43829 8567 8434 8653 8285 + 43830 8434 8369 8653 8285 + 43831 8369 8566 8653 8285 + 43832 8743 8653 8566 8285 + 43833 8743 8567 8653 8285 + 43834 8285 8373 8566 8743 + 43835 8285 8652 8373 8743 + 43836 8285 8743 8567 8652 + 43837 8286 8433 8561 8367 + 43838 8286 8567 8368 8434 + 43839 8654 8368 8433 8286 + 43840 8567 8368 8654 8286 + 43841 8286 8654 8744 8433 + 43842 8286 8744 8561 8433 + 43843 8286 8654 8819 8744 + 43844 8286 8567 8434 8819 + 43845 8286 8654 8567 8819 + 43846 8432 8370 8564 8287 + 43847 8487 8656 8374 8287 + 43848 8487 8741 8656 8287 + 43849 8564 8656 8741 8287 + 43850 8432 8564 8741 8287 + 43851 8287 8487 8741 8432 + 43852 8371 8489 8288 8436 + 43853 8436 8288 8376 8515 + 43854 8436 8288 8515 8568 + 43855 8288 8568 8489 8439 + 43856 8568 8436 8288 8489 + 43857 8651 8515 8288 8568 + 43858 8288 8568 8439 8651 + 43859 8435 8518 8289 8373 + 43860 8488 8289 8438 8655 + 43861 8518 8373 8655 8289 + 43862 8570 8290 8520 8436 + 43863 8493 8290 8570 8371 + 43864 8377 8570 8290 8520 + 43865 8290 8436 8570 8371 + 43866 8488 8291 8572 8372 + 43867 8572 8437 8291 8488 + 43868 8375 8292 8661 8490 + 43869 8575 8292 8750 8826 + 43870 8292 8661 8490 8826 + 43871 8750 8441 8826 8292 + 43872 8826 8490 8292 8441 + 43873 8292 8661 8826 8575 + 43874 8578 8293 8490 8658 + 43875 8376 8490 8293 8658 + 43876 8491 8658 8376 8293 + 43877 8294 8569 8659 8442 + 43878 8754 8659 8294 8569 + 43879 8569 8378 8294 8754 + 43880 8294 8378 8443 8754 + 43881 8754 8443 8294 8395 + 43882 8755 8668 8379 8295 + 43883 8667 8295 8823 8378 + 43884 8438 8823 8295 8378 + 43885 8573 8295 8438 8823 + 43886 8823 8667 8875 8295 + 43887 8823 8875 8901 8295 + 43888 8668 8901 8875 8295 + 43889 8823 8901 8573 8295 + 43890 8755 8573 8901 8295 + 43891 8755 8901 8668 8295 + 43892 8580 8518 8297 8493 + 43893 8444 8297 8380 8582 + 43894 8444 8379 8297 8582 + 43895 8380 8582 8297 8669 + 43896 8380 8297 8580 8669 + 43897 8297 8755 8518 8580 + 43898 8755 8582 8297 8379 + 43899 8582 8669 8755 8297 + 43900 8580 8755 8669 8297 + 43901 8583 8450 8298 8496 + 43902 8666 8298 8583 8753 + 43903 8583 8298 8450 8753 + 43904 8666 8377 8298 8753 + 43905 8753 8377 8298 8450 + 43906 8299 8585 8499 8381 + 43907 8299 8499 8672 8448 + 43908 8758 8584 8299 8672 + 43909 8299 8584 8758 8671 + 43910 8299 8585 8671 8758 + 43911 8499 8672 8758 8299 + 43912 8499 8758 8585 8299 + 43913 8387 8448 8299 8759 + 43914 8387 8299 8584 8759 + 43915 8448 8299 8759 8672 + 43916 8672 8584 8299 8759 + 43917 8588 8301 8390 8496 + 43918 8671 8390 8588 8301 + 43919 8301 8831 8671 8585 + 43920 8588 8301 8496 8831 + 43921 8831 8671 8588 8301 + 43922 8383 8501 8302 8445 + 43923 8445 8676 8501 8302 + 43924 8302 8668 8492 8756 + 43925 8581 8302 8676 8756 + 43926 8302 8668 8756 8581 + 43927 8504 8453 8392 8303 + 43928 8452 8303 8761 8593 + 43929 8304 8675 8590 8384 + 43930 8590 8677 8304 8446 + 43931 8762 8304 8677 8446 + 43932 8590 8304 8763 8675 + 43933 8675 8763 8591 8304 + 43934 8677 8590 8304 8763 + 43935 8304 8833 8591 8445 + 43936 8833 8591 8763 8304 + 43937 8763 8833 8304 8677 + 43938 8833 8762 8304 8677 + 43939 8444 8305 8582 8380 + 43940 8444 8492 8582 8305 + 43941 8582 8492 8670 8305 + 43942 8305 8673 8451 8497 + 43943 8382 8446 8305 8673 + 43944 8305 8382 8673 8497 + 43945 8757 8305 8451 8380 + 43946 8757 8582 8305 8380 + 43947 8757 8305 8582 8670 + 43948 8305 8446 8762 8673 + 43949 8305 8762 8835 8673 + 43950 8835 8451 8305 8673 + 43951 8835 8305 8451 8757 + 43952 8762 8670 8305 8835 + 43953 8757 8835 8305 8670 + 43954 8513 8447 8390 8307 + 43955 8679 8595 8386 8308 + 43956 8767 8596 8308 8679 + 43957 8308 8385 8767 8595 + 43958 8679 8767 8595 8308 + 43959 8308 8495 8596 8767 + 43960 8385 8308 8767 8447 + 43961 8308 8447 8495 8767 + 43962 8768 8679 8386 8308 + 43963 8768 8596 8679 8308 + 43964 8598 8389 8449 8309 + 43965 8309 8498 8598 8389 + 43966 8448 8498 8598 8309 + 43967 8598 8449 8759 8309 + 43968 8448 8309 8598 8759 + 43969 8310 8597 8681 8495 + 43970 8377 8310 8450 8753 + 43971 8520 8310 8377 8753 + 43972 8599 8753 8310 8520 + 43973 8597 8838 8450 8310 + 43974 8838 8450 8310 8753 + 43975 8310 8681 8597 8838 + 43976 8310 8599 8681 8838 + 43977 8753 8838 8599 8310 + 43978 8685 8391 8311 8498 + 43979 8311 8393 8685 8498 + 43980 8311 8393 8463 8685 + 43981 8391 8312 8586 8452 + 43982 8587 8312 8382 8674 + 43983 8586 8312 8686 8452 + 43984 8586 8499 8842 8312 + 43985 8586 8842 8686 8312 + 43986 8312 8499 8842 8760 + 43987 8587 8880 8312 8674 + 43988 8452 8312 8880 8674 + 43989 8880 8760 8312 8842 + 43990 8312 8880 8686 8452 + 43991 8880 8686 8842 8312 + 43992 8587 8880 8760 8312 + 43993 8601 8313 8404 8467 + 43994 8313 8404 8690 8601 + 43995 8601 8313 8463 8775 + 43996 8601 8690 8313 8775 + 43997 8463 8840 8775 8313 + 43998 8313 8840 8504 8463 + 43999 8400 8313 8690 8882 + 44000 8882 8313 8690 8775 + 44001 8882 8840 8313 8775 + 44002 8504 8313 8882 8840 + 44003 8504 8313 8400 8882 + 44004 8542 8314 8360 8500 + 44005 8721 8424 8350 8314 + 44006 8721 8542 8811 8314 + 44007 8314 8542 8811 8500 + 44008 8721 8811 8424 8314 + 44009 8314 8811 8424 8500 + 44010 8554 8425 8315 8502 + 44011 8813 8425 8315 8554 + 44012 8359 8813 8425 8315 + 44013 8502 8521 8315 8883 + 44014 8554 8315 8883 8502 + 44015 8554 8883 8315 8813 + 44016 8316 8591 8501 8457 + 44017 8459 8316 8693 8605 + 44018 8766 8396 8316 8459 + 44019 8766 8316 8396 8455 + 44020 8766 8397 8316 8455 + 44021 8316 8766 8459 8693 + 44022 8779 8693 8591 8316 + 44023 8779 8693 8316 8605 + 44024 8779 8591 8501 8316 + 44025 8846 8766 8316 8693 + 44026 8397 8316 8846 8766 + 44027 8846 8316 8397 8457 + 44028 8591 8846 8457 8316 + 44029 8591 8693 8846 8316 + 44030 8317 8766 8398 8455 + 44031 8455 8766 8397 8317 + 44032 8766 8317 8847 8397 + 44033 8847 8317 8519 8456 + 44034 8766 8317 8398 8847 + 44035 8397 8317 8847 8456 + 44036 8847 8317 8398 8519 + 44037 8554 8319 8425 8502 + 44038 8554 8425 8319 8730 + 44039 8319 8764 8675 8384 + 44040 8764 8502 8319 8554 + 44041 8319 8502 8764 8384 + 44042 8675 8554 8764 8319 + 44043 8832 8457 8730 8319 + 44044 8675 8554 8319 8832 + 44045 8832 8730 8554 8319 + 44046 8395 8320 8458 8604 + 44047 8320 8458 8604 8695 + 44048 8754 8320 8604 8697 + 44049 8754 8320 8581 8395 + 44050 8754 8604 8320 8395 + 44051 8781 8459 8320 8695 + 44052 8605 8781 8459 8320 + 44053 8754 8320 8697 8845 + 44054 8845 8781 8320 8697 + 44055 8754 8320 8845 8581 + 44056 8605 8845 8781 8320 + 44057 8320 8850 8781 8695 + 44058 8320 8850 8697 8781 + 44059 8604 8695 8850 8320 + 44060 8604 8850 8697 8320 + 44061 8323 8392 8504 8453 + 44062 8323 8556 8400 8503 + 44063 8400 8556 8323 8504 + 44064 8687 8323 8504 8453 + 44065 8453 8687 8323 8503 + 44066 8556 8323 8687 8503 + 44067 8504 8687 8556 8323 + 44068 8548 8507 8324 8465 + 44069 8548 8465 8324 8356 + 44070 8399 8325 8602 8461 + 44071 8461 8689 8325 8602 + 44072 8699 8602 8399 8325 + 44073 8853 8602 8699 8325 + 44074 8853 8325 8689 8602 + 44075 8399 8326 8522 8466 + 44076 8467 8326 8522 8399 + 44077 8326 8399 8602 8461 + 44078 8326 8602 8399 8467 + 44079 8575 8662 8440 8327 + 44080 8440 8401 8327 8662 + 44081 8576 8464 8700 8327 + 44082 8700 8327 8401 8609 + 44083 8700 8784 8576 8327 + 44084 8661 8575 8327 8784 + 44085 8784 8327 8700 8609 + 44086 8661 8327 8576 8784 + 44087 8401 8609 8327 8855 + 44088 8575 8855 8662 8327 + 44089 8855 8327 8575 8784 + 44090 8855 8609 8327 8784 + 44091 8662 8327 8855 8401 + 44092 8523 8598 8389 8328 + 44093 8328 8389 8449 8598 + 44094 8328 8449 8682 8598 + 44095 8856 8689 8328 8523 + 44096 8598 8328 8523 8856 + 44097 8598 8682 8328 8856 + 44098 8466 8607 8329 8506 + 44099 8403 8508 8330 8468 + 44100 8508 8403 8330 8612 + 44101 8330 8508 8612 8402 + 44102 8331 8505 8610 8524 + 44103 8331 8706 8528 8468 + 44104 8505 8787 8465 8331 + 44105 8787 8331 8706 8528 + 44106 8465 8528 8331 8787 + 44107 8706 8787 8610 8331 + 44108 8787 8331 8505 8610 + 44109 8524 8610 8331 8789 + 44110 8405 8789 8331 8468 + 44111 8331 8789 8610 8706 + 44112 8524 8789 8331 8405 + 44113 8789 8331 8468 8706 + 44114 8407 8616 8470 8332 + 44115 8407 8332 8509 8616 + 44116 8509 8707 8332 8472 + 44117 8332 8707 8614 8472 + 44118 8332 8509 8616 8707 + 44119 8707 8332 8406 8470 + 44120 8332 8707 8616 8470 + 44121 8406 8332 8707 8469 + 44122 8332 8469 8789 8707 + 44123 8332 8789 8614 8707 + 44124 8719 8512 8333 8470 + 44125 8792 8708 8617 8334 + 44126 8792 8407 8708 8334 + 44127 8408 8860 8719 8334 + 44128 8334 8617 8860 8708 + 44129 8334 8860 8719 8708 + 44130 8335 8472 8702 8409 + 44131 8702 8335 8402 8472 + 44132 8525 8469 8615 8336 + 44133 8524 8615 8469 8336 + 44134 8336 8420 8533 8634 + 44135 8525 8634 8420 8336 + 44136 8524 8701 8615 8336 + 44137 8701 8473 8336 8524 + 44138 8701 8336 8473 8533 + 44139 8615 8336 8701 8794 + 44140 8615 8525 8336 8794 + 44141 8336 8525 8634 8794 + 44142 8862 8794 8701 8336 + 44143 8336 8701 8862 8533 + 44144 8336 8533 8862 8634 + 44145 8862 8634 8794 8336 + 44146 8622 8337 8423 8510 + 44147 8622 8809 8423 8337 + 44148 8337 8809 8423 8410 + 44149 8711 8894 8337 8795 + 44150 8894 8619 8337 8795 + 44151 8894 8337 8410 8711 + 44152 8802 8337 8894 8619 + 44153 8337 8895 8619 8802 + 44154 8802 8337 8895 8510 + 44155 8622 8895 8337 8510 + 44156 8410 8337 8809 8908 + 44157 8908 8895 8619 8337 + 44158 8895 8337 8908 8622 + 44159 8908 8337 8619 8795 + 44160 8711 8337 8410 8908 + 44161 8622 8908 8809 8337 + 44162 8337 8711 8795 8908 + 44163 8682 8338 8759 8449 + 44164 8338 8759 8897 8682 + 44165 8622 8510 8423 8341 + 44166 8622 8341 8423 8530 + 44167 8342 8623 8798 8485 + 44168 8342 8530 8714 8798 + 44169 8413 8342 8798 8485 + 44170 8714 8342 8798 8413 + 44171 8342 8530 8798 8623 + 44172 8343 8427 8482 8532 + 44173 8486 8427 8343 8532 + 44174 8536 8627 8471 8346 + 44175 8627 8475 8415 8346 + 44176 8346 8536 8627 8475 + 44177 8626 8347 8475 8718 + 44178 8537 8347 8718 8417 + 44179 8718 8626 8347 8537 + 44180 8348 8538 8476 8416 + 44181 8526 8349 8484 8420 + 44182 8630 8349 8484 8802 + 44183 8484 8802 8349 8526 + 44184 8630 8510 8349 8802 + 44185 8418 8540 8350 8721 + 44186 8721 8540 8350 8424 + 44187 8633 8543 8351 8722 + 44188 8633 8429 8803 8351 + 44189 8633 8803 8722 8351 + 44190 8517 8480 8352 8426 + 44191 8545 8421 8353 8636 + 44192 8637 8806 8544 8355 + 44193 8355 8473 8806 8544 + 44194 8533 8806 8355 8473 + 44195 8533 8355 8806 8422 + 44196 8465 8356 8548 8505 + 44197 8639 8356 8544 8505 + 44198 8462 8639 8548 8356 + 44199 8639 8356 8505 8548 + 44200 8639 8544 8356 8807 + 44201 8807 8544 8356 8726 + 44202 8639 8356 8462 8807 + 44203 8807 8462 8726 8356 + 44204 8477 8357 8728 8456 + 44205 8642 8357 8728 8551 + 44206 8357 8641 8728 8551 + 44207 8728 8357 8642 8456 + 44208 8519 8358 8644 8477 + 44209 8477 8358 8644 8729 + 44210 8479 8542 8360 8635 + 44211 8542 8723 8360 8635 + 44212 8478 8810 8723 8360 + 44213 8723 8542 8360 8810 + 44214 8500 8360 8542 8810 + 44215 8361 8503 8556 8521 + 44216 8361 8556 8454 8521 + 44217 8454 8361 8726 8556 + 44218 8726 8556 8361 8503 + 44219 8532 8363 8427 8482 + 44220 8363 8428 8482 8532 + 44221 8532 8363 8624 8427 + 44222 8363 8532 8624 8808 + 44223 8363 8808 8428 8532 + 44224 8624 8363 8808 8517 + 44225 8364 8430 8559 8486 + 44226 8486 8559 8364 8734 + 44227 8427 8734 8486 8364 + 44228 8430 8365 8737 8486 + 44229 8366 8432 8562 8649 + 44230 8366 8560 8487 8649 + 44231 8649 8487 8366 8432 + 44232 8562 8649 8739 8366 + 44233 8739 8366 8648 8431 + 44234 8648 8739 8816 8366 + 44235 8739 8816 8366 8649 + 44236 8366 8816 8560 8649 + 44237 8648 8816 8560 8366 + 44238 8368 8654 8433 8740 + 44239 8433 8740 8562 8368 + 44240 8368 8818 8740 8439 + 44241 8368 8654 8740 8818 + 44242 8652 8439 8818 8368 + 44243 8368 8567 8654 8818 + 44244 8567 8818 8368 8652 + 44245 8566 8653 8437 8369 + 44246 8564 8441 8370 8515 + 44247 8515 8564 8817 8370 + 44248 8817 8370 8564 8432 + 44249 8493 8565 8435 8371 + 44250 8493 8570 8657 8371 + 44251 8371 8489 8657 8565 + 44252 8436 8570 8371 8657 + 44253 8493 8657 8565 8371 + 44254 8436 8371 8489 8657 + 44255 8569 8488 8372 8438 + 44256 8372 8659 8569 8442 + 44257 8660 8572 8372 8488 + 44258 8660 8372 8569 8488 + 44259 8569 8372 8746 8659 + 44260 8572 8746 8660 8372 + 44261 8569 8660 8746 8372 + 44262 8518 8435 8565 8373 + 44263 8373 8574 8743 8652 + 44264 8748 8373 8655 8518 + 44265 8373 8565 8518 8748 + 44266 8652 8565 8373 8824 + 44267 8574 8652 8373 8824 + 44268 8574 8373 8748 8824 + 44269 8565 8748 8373 8824 + 44270 8373 8574 8748 8873 + 44271 8655 8566 8373 8873 + 44272 8373 8574 8873 8743 + 44273 8373 8748 8655 8873 + 44274 8373 8873 8566 8743 + 44275 8560 8374 8487 8656 + 44276 8560 8749 8374 8656 + 44277 8576 8375 8514 8464 + 44278 8490 8751 8661 8375 + 44279 8751 8661 8375 8576 + 44280 8436 8376 8571 8515 + 44281 8571 8436 8658 8376 + 44282 8376 8658 8571 8490 + 44283 8376 8436 8658 8491 + 44284 8490 8663 8376 8441 + 44285 8515 8376 8571 8663 + 44286 8441 8663 8376 8515 + 44287 8376 8571 8663 8490 + 44288 8520 8377 8570 8753 + 44289 8666 8753 8570 8377 + 44290 8378 8754 8667 8581 + 44291 8569 8667 8378 8754 + 44292 8378 8443 8754 8581 + 44293 8378 8569 8438 8823 + 44294 8378 8667 8569 8823 + 44295 8582 8444 8379 8492 + 44296 8492 8668 8379 8582 + 44297 8582 8379 8755 8668 + 44298 8669 8582 8757 8380 + 44299 8380 8757 8669 8829 + 44300 8580 8666 8380 8829 + 44301 8829 8580 8669 8380 + 44302 8382 8587 8446 8673 + 44303 8674 8587 8446 8382 + 44304 8590 8764 8384 8675 + 44305 8474 8513 8584 8387 + 44306 8388 8665 8460 8768 + 44307 8665 8388 8596 8768 + 44308 8596 8665 8769 8388 + 44309 8388 8769 8596 8495 + 44310 8498 8598 8389 8523 + 44311 8513 8588 8671 8390 + 44312 8390 8447 8513 8680 + 44313 8680 8390 8588 8513 + 44314 8770 8496 8588 8390 + 44315 8680 8588 8390 8770 + 44316 8770 8450 8496 8390 + 44317 8685 8586 8391 8498 + 44318 8391 8773 8586 8685 + 44319 8391 8586 8773 8452 + 44320 8600 8463 8393 8685 + 44321 8393 8600 8688 8463 + 44322 8600 8393 8688 8774 + 44323 8774 8461 8523 8393 + 44324 8600 8841 8393 8774 + 44325 8774 8393 8523 8841 + 44326 8523 8498 8841 8393 + 44327 8498 8841 8393 8685 + 44328 8600 8393 8841 8685 + 44329 8555 8394 8778 8646 + 44330 8394 8555 8805 8478 + 44331 8394 8805 8421 8478 + 44332 8805 8546 8778 8394 + 44333 8421 8546 8805 8394 + 44334 8394 8778 8805 8555 + 44335 8454 8844 8724 8394 + 44336 8884 8394 8724 8844 + 44337 8724 8546 8394 8884 + 44338 8884 8394 8646 8778 + 44339 8394 8546 8778 8884 + 44340 8844 8646 8884 8394 + 44341 8754 8581 8443 8395 + 44342 8766 8459 8594 8396 + 44343 8846 8766 8642 8397 + 44344 8397 8846 8730 8642 + 44345 8846 8397 8730 8457 + 44346 8397 8847 8642 8456 + 44347 8766 8847 8642 8397 + 44348 8694 8398 8766 8594 + 44349 8847 8398 8780 8519 + 44350 8847 8398 8766 8694 + 44351 8847 8780 8398 8694 + 44352 8607 8399 8699 8783 + 44353 8607 8466 8399 8783 + 44354 8399 8522 8783 8466 + 44355 8854 8399 8522 8783 + 44356 8467 8522 8854 8399 + 44357 8854 8887 8399 8783 + 44358 8699 8602 8887 8399 + 44359 8887 8783 8699 8399 + 44360 8854 8399 8887 8467 + 44361 8399 8602 8887 8467 + 44362 8462 8400 8556 8503 + 44363 8556 8400 8462 8782 + 44364 8905 8782 8400 8556 + 44365 8400 8690 8905 8882 + 44366 8782 8905 8400 8690 + 44367 8504 8400 8905 8882 + 44368 8504 8905 8400 8556 + 44369 8401 8786 8609 8855 + 44370 8662 8855 8786 8401 + 44371 8702 8612 8508 8402 + 44372 8402 8702 8472 8508 + 44373 8703 8506 8403 8612 + 44374 8703 8403 8508 8612 + 44375 8468 8703 8403 8508 + 44376 8522 8528 8507 8404 + 44377 8507 8528 8548 8404 + 44378 8404 8601 8467 8522 + 44379 8404 8888 8601 8522 + 44380 8888 8548 8528 8404 + 44381 8690 8888 8601 8404 + 44382 8690 8782 8888 8404 + 44383 8522 8888 8528 8404 + 44384 8404 8782 8888 8548 + 44385 8405 8469 8524 8789 + 44386 8469 8406 8525 8615 + 44387 8406 8707 8615 8469 + 44388 8791 8525 8406 8615 + 44389 8707 8791 8406 8615 + 44390 8707 8406 8791 8470 + 44391 8407 8616 8708 8470 + 44392 8708 8407 8792 8616 + 44393 8616 8509 8407 8792 + 44394 8408 8860 8471 8536 + 44395 8408 8719 8860 8536 + 44396 8472 8409 8509 8618 + 44397 8472 8702 8409 8618 + 44398 8409 8509 8618 8710 + 44399 8509 8409 8792 8710 + 44400 8527 8547 8511 8410 + 44401 8527 8410 8481 8557 + 44402 8809 8423 8410 8549 + 44403 8527 8864 8547 8410 + 44404 8864 8410 8557 8796 + 44405 8527 8864 8410 8557 + 44406 8410 8711 8864 8547 + 44407 8864 8711 8410 8796 + 44408 8557 8410 8869 8796 + 44409 8809 8410 8869 8549 + 44410 8557 8481 8869 8410 + 44411 8410 8869 8549 8481 + 44412 8894 8410 8547 8711 + 44413 8711 8410 8796 8908 + 44414 8796 8869 8908 8410 + 44415 8410 8809 8869 8908 + 44416 8470 8709 8512 8411 + 44417 8470 8791 8709 8411 + 44418 8539 8709 8791 8411 + 44419 8411 8512 8801 8709 + 44420 8411 8801 8539 8709 + 44421 8512 8801 8417 8411 + 44422 8627 8415 8475 8535 + 44423 8476 8538 8713 8416 + 44424 8537 8718 8801 8417 + 44425 8537 8417 8801 8628 + 44426 8512 8718 8417 8801 + 44427 8516 8541 8418 8479 + 44428 8721 8418 8540 8631 + 44429 8721 8418 8541 8479 + 44430 8418 8631 8721 8541 + 44431 8419 8541 8632 8804 + 44432 8419 8804 8632 8543 + 44433 8419 8631 8541 8804 + 44434 8526 8420 8634 8533 + 44435 8420 8634 8525 8484 + 44436 8634 8526 8484 8420 + 44437 8545 8805 8478 8421 + 44438 8636 8805 8545 8421 + 44439 8636 8546 8805 8421 + 44440 8547 8422 8511 8526 + 44441 8547 8511 8422 8527 + 44442 8422 8725 8638 8547 + 44443 8547 8422 8725 8527 + 44444 8547 8727 8422 8526 + 44445 8638 8422 8727 8533 + 44446 8727 8422 8526 8533 + 44447 8422 8638 8727 8547 + 44448 8533 8806 8638 8422 + 44449 8809 8622 8423 8530 + 44450 8809 8715 8530 8423 + 44451 8809 8549 8715 8423 + 44452 8477 8550 8424 8729 + 44453 8424 8643 8729 8550 + 44454 8811 8643 8424 8550 + 44455 8500 8550 8811 8424 + 44456 8643 8424 8540 8867 + 44457 8811 8867 8424 8643 + 44458 8721 8867 8540 8424 + 44459 8721 8811 8867 8424 + 44460 8813 8730 8425 8554 + 44461 8517 8558 8480 8426 + 44462 8517 8640 8558 8426 + 44463 8558 8480 8426 8732 + 44464 8558 8732 8426 8640 + 44465 8481 8640 8426 8732 + 44466 8734 8624 8531 8427 + 44467 8486 8815 8427 8532 + 44468 8532 8624 8815 8427 + 44469 8427 8815 8486 8734 + 44470 8624 8734 8815 8427 + 44471 8623 8482 8428 8532 + 44472 8428 8808 8640 8715 + 44473 8428 8623 8532 8870 + 44474 8808 8428 8532 8870 + 44475 8428 8870 8715 8623 + 44476 8428 8715 8870 8808 + 44477 8803 8736 8531 8429 + 44478 8803 8633 8736 8429 + 44479 8559 8486 8430 8737 + 44480 8561 8650 8431 8739 + 44481 8739 8650 8431 8563 + 44482 8563 8648 8431 8739 + 44483 8649 8741 8487 8432 + 44484 8649 8817 8741 8432 + 44485 8649 8562 8817 8432 + 44486 8741 8817 8564 8432 + 44487 8739 8561 8650 8433 + 44488 8561 8744 8650 8433 + 44489 8562 8433 8820 8740 + 44490 8739 8650 8820 8433 + 44491 8820 8562 8739 8433 + 44492 8820 8433 8654 8740 + 44493 8820 8654 8433 8744 + 44494 8820 8650 8744 8433 + 44495 8434 8567 8871 8819 + 44496 8434 8653 8871 8567 + 44497 8493 8518 8435 8565 + 44498 8568 8657 8436 8489 + 44499 8520 8491 8658 8436 + 44500 8571 8436 8515 8745 + 44501 8745 8436 8515 8568 + 44502 8821 8436 8568 8657 + 44503 8745 8821 8436 8568 + 44504 8745 8821 8872 8436 + 44505 8570 8520 8872 8436 + 44506 8821 8872 8436 8657 + 44507 8872 8571 8436 8658 + 44508 8745 8872 8571 8436 + 44509 8520 8658 8872 8436 + 44510 8657 8872 8436 8570 + 44511 8653 8437 8822 8566 + 44512 8566 8822 8488 8437 + 44513 8572 8822 8437 8488 + 44514 8655 8438 8488 8823 + 44515 8823 8569 8438 8488 + 44516 8655 8573 8438 8823 + 44517 8489 8439 8568 8742 + 44518 8568 8439 8651 8742 + 44519 8439 8740 8817 8651 + 44520 8651 8439 8740 8818 + 44521 8742 8818 8439 8651 + 44522 8652 8439 8742 8818 + 44523 8662 8440 8749 8825 + 44524 8825 8662 8440 8575 + 44525 8826 8663 8490 8441 + 44526 8564 8750 8441 8874 + 44527 8515 8564 8441 8874 + 44528 8874 8441 8663 8826 + 44529 8515 8441 8663 8874 + 44530 8874 8750 8441 8826 + 44531 8501 8591 8833 8445 + 44532 8833 8501 8445 8676 + 44533 8587 8446 8765 8674 + 44534 8446 8677 8834 8590 + 44535 8762 8677 8834 8446 + 44536 8762 8673 8446 8877 + 44537 8834 8877 8762 8446 + 44538 8446 8765 8834 8877 + 44539 8673 8877 8587 8446 + 44540 8446 8587 8765 8877 + 44541 8878 8674 8765 8446 + 44542 8878 8446 8834 8590 + 44543 8674 8878 8590 8446 + 44544 8878 8765 8834 8446 + 44545 8513 8680 8447 8767 + 44546 8447 8495 8767 8680 + 44547 8499 8672 8448 8586 + 44548 8771 8448 8498 8598 + 44549 8771 8672 8586 8448 + 44550 8771 8586 8498 8448 + 44551 8448 8598 8837 8759 + 44552 8448 8759 8837 8672 + 44553 8771 8837 8448 8598 + 44554 8837 8448 8672 8771 + 44555 8682 8759 8598 8449 + 44556 8583 8683 8450 8496 + 44557 8496 8450 8770 8683 + 44558 8450 8597 8770 8838 + 44559 8583 8450 8838 8753 + 44560 8450 8683 8838 8770 + 44561 8838 8583 8683 8450 + 44562 8757 8684 8451 8835 + 44563 8835 8451 8673 8589 + 44564 8684 8589 8451 8835 + 44565 8879 8684 8589 8451 + 44566 8451 8684 8757 8879 + 44567 8451 8589 8879 8496 + 44568 8586 8686 8773 8452 + 44569 8452 8593 8843 8773 + 44570 8452 8843 8686 8773 + 44571 8761 8843 8452 8593 + 44572 8761 8843 8674 8452 + 44573 8452 8880 8686 8843 + 44574 8674 8452 8843 8880 + 44575 8687 8453 8502 8521 + 44576 8453 8521 8687 8503 + 44577 8556 8726 8454 8807 + 44578 8637 8807 8454 8726 + 44579 8807 8724 8454 8692 + 44580 8454 8807 8637 8724 + 44581 8454 8692 8556 8807 + 44582 8844 8556 8521 8454 + 44583 8844 8692 8556 8454 + 44584 8724 8844 8454 8692 + 44585 8456 8553 8477 8519 + 44586 8456 8728 8553 8642 + 44587 8477 8728 8553 8456 + 44588 8847 8519 8553 8456 + 44589 8456 8553 8847 8642 + 44590 8885 8832 8457 8730 + 44591 8730 8846 8457 8885 + 44592 8457 8591 8832 8885 + 44593 8591 8457 8846 8885 + 44594 8696 8459 8781 8606 + 44595 8459 8695 8781 8606 + 44596 8781 8605 8459 8696 + 44597 8459 8848 8766 8594 + 44598 8459 8849 8696 8605 + 44599 8605 8459 8849 8693 + 44600 8696 8459 8606 8849 + 44601 8766 8886 8848 8459 + 44602 8459 8886 8848 8606 + 44603 8886 8459 8766 8693 + 44604 8459 8849 8886 8606 + 44605 8849 8693 8459 8886 + 44606 8851 8665 8460 8577 + 44607 8851 8768 8460 8665 + 44608 8461 8774 8689 8602 + 44609 8461 8774 8523 8689 + 44610 8726 8556 8503 8462 + 44611 8556 8462 8692 8782 + 44612 8782 8639 8548 8462 + 44613 8462 8608 8692 8782 + 44614 8462 8782 8639 8608 + 44615 8556 8462 8726 8807 + 44616 8608 8462 8692 8807 + 44617 8692 8462 8556 8807 + 44618 8608 8639 8462 8807 + 44619 8601 8463 8688 8775 + 44620 8463 8600 8688 8775 + 44621 8463 8685 8600 8840 + 44622 8463 8600 8775 8840 + 44623 8700 8785 8464 8576 + 44624 8514 8464 8785 8576 + 44625 8548 8528 8507 8465 + 44626 8465 8548 8787 8505 + 44627 8465 8548 8528 8787 + 44628 8611 8783 8466 8506 + 44629 8466 8611 8522 8783 + 44630 8506 8466 8607 8783 + 44631 8854 8601 8522 8467 + 44632 8854 8601 8467 8688 + 44633 8854 8467 8887 8688 + 44634 8467 8602 8887 8688 + 44635 8528 8613 8468 8706 + 44636 8789 8468 8614 8706 + 44637 8790 8468 8703 8613 + 44638 8468 8614 8790 8508 + 44639 8706 8790 8613 8468 + 44640 8468 8790 8703 8508 + 44641 8706 8614 8790 8468 + 44642 8789 8469 8524 8615 + 44643 8469 8615 8789 8707 + 44644 8791 8616 8707 8470 + 44645 8859 8470 8709 8512 + 44646 8512 8859 8470 8719 + 44647 8616 8859 8708 8470 + 44648 8719 8859 8470 8708 + 44649 8889 8859 8470 8709 + 44650 8859 8470 8616 8889 + 44651 8889 8470 8791 8709 + 44652 8791 8616 8470 8889 + 44653 8536 8471 8627 8890 + 44654 8471 8890 8536 8860 + 44655 8861 8702 8472 8618 + 44656 8861 8472 8509 8618 + 44657 8614 8472 8861 8508 + 44658 8472 8508 8702 8861 + 44659 8707 8861 8614 8472 + 44660 8707 8509 8861 8472 + 44661 8544 8639 8505 8473 + 44662 8701 8505 8473 8524 + 44663 8505 8701 8473 8610 + 44664 8787 8473 8505 8639 + 44665 8505 8473 8787 8610 + 44666 8473 8893 8533 8806 + 44667 8893 8701 8610 8473 + 44668 8893 8610 8787 8473 + 44669 8701 8473 8893 8533 + 44670 8544 8907 8473 8806 + 44671 8893 8907 8806 8473 + 44672 8787 8893 8473 8907 + 44673 8787 8473 8639 8907 + 44674 8639 8907 8473 8544 + 44675 8474 8513 8678 8797 + 44676 8474 8584 8513 8797 + 44677 8535 8626 8475 8717 + 44678 8535 8475 8627 8717 + 44679 8475 8717 8799 8627 + 44680 8475 8627 8799 8536 + 44681 8799 8475 8626 8717 + 44682 8718 8475 8799 8536 + 44683 8626 8475 8799 8718 + 44684 8800 8713 8476 8538 + 44685 8800 8538 8476 8628 + 44686 8553 8644 8477 8519 + 44687 8729 8644 8477 8550 + 44688 8477 8553 8812 8644 + 44689 8477 8550 8812 8728 + 44690 8553 8812 8728 8477 + 44691 8550 8477 8812 8644 + 44692 8478 8555 8805 8723 + 44693 8478 8805 8545 8723 + 44694 8478 8810 8555 8723 + 44695 8516 8541 8479 8632 + 44696 8635 8814 8479 8542 + 44697 8814 8479 8516 8635 + 44698 8516 8479 8814 8632 + 44699 8542 8814 8479 8898 + 44700 8721 8479 8541 8898 + 44701 8721 8542 8479 8898 + 44702 8898 8541 8632 8479 + 44703 8898 8632 8814 8479 + 44704 8480 8558 8517 8803 + 44705 8480 8722 8558 8803 + 44706 8814 8516 8632 8480 + 44707 8814 8480 8899 8732 + 44708 8899 8480 8722 8558 + 44709 8632 8899 8480 8722 + 44710 8814 8632 8899 8480 + 44711 8558 8899 8480 8732 + 44712 8481 8549 8640 8869 + 44713 8900 8732 8640 8481 + 44714 8557 8900 8869 8481 + 44715 8900 8557 8732 8481 + 44716 8640 8869 8900 8481 + 44717 8525 8484 8634 8539 + 44718 8539 8802 8630 8484 + 44719 8539 8634 8802 8484 + 44720 8484 8634 8802 8526 + 44721 8623 8798 8485 8735 + 44722 8737 8486 8647 8815 + 44723 8734 8486 8559 8815 + 44724 8559 8486 8737 8815 + 44725 8815 8647 8532 8486 + 44726 8560 8741 8487 8649 + 44727 8741 8656 8560 8487 + 44728 8747 8488 8572 8660 + 44729 8566 8747 8655 8488 + 44730 8822 8488 8572 8747 + 44731 8822 8566 8488 8747 + 44732 8747 8823 8655 8488 + 44733 8823 8660 8569 8488 + 44734 8747 8660 8823 8488 + 44735 8489 8742 8568 8657 + 44736 8489 8565 8742 8657 + 44737 8579 8661 8490 8751 + 44738 8490 8663 8752 8571 + 44739 8579 8490 8661 8826 + 44740 8579 8752 8490 8826 + 44741 8826 8752 8490 8663 + 44742 8578 8490 8751 8828 + 44743 8490 8828 8752 8579 + 44744 8490 8751 8828 8579 + 44745 8490 8571 8828 8658 + 44746 8490 8752 8828 8571 + 44747 8490 8828 8578 8658 + 44748 8492 8668 8582 8756 + 44749 8670 8582 8756 8492 + 44750 8493 8876 8518 8565 + 44751 8876 8657 8565 8493 + 44752 8580 8876 8518 8493 + 44753 8666 8876 8580 8493 + 44754 8657 8876 8902 8493 + 44755 8493 8570 8666 8902 + 44756 8493 8657 8570 8902 + 44757 8902 8493 8876 8666 + 44758 8767 8680 8495 8836 + 44759 8495 8769 8596 8836 + 44760 8495 8681 8769 8836 + 44761 8596 8836 8767 8495 + 44762 8680 8597 8495 8836 + 44763 8495 8597 8681 8836 + 44764 8588 8496 8772 8831 + 44765 8831 8496 8772 8589 + 44766 8588 8839 8772 8496 + 44767 8496 8770 8839 8683 + 44768 8588 8839 8496 8770 + 44769 8879 8839 8496 8772 + 44770 8496 8683 8839 8879 + 44771 8496 8583 8683 8879 + 44772 8589 8879 8496 8772 + 44773 8685 8586 8498 8771 + 44774 8498 8771 8841 8685 + 44775 8598 8841 8523 8498 + 44776 8771 8498 8841 8598 + 44777 8842 8672 8499 8586 + 44778 8499 8585 8881 8760 + 44779 8499 8881 8842 8760 + 44780 8881 8499 8672 8758 + 44781 8881 8585 8499 8758 + 44782 8842 8499 8672 8881 + 44783 8500 8776 8550 8641 + 44784 8500 8603 8776 8641 + 44785 8691 8500 8810 8603 + 44786 8810 8500 8641 8603 + 44787 8500 8542 8691 8810 + 44788 8811 8691 8603 8500 + 44789 8811 8603 8776 8500 + 44790 8550 8811 8776 8500 + 44791 8691 8811 8542 8500 + 44792 8833 8591 8501 8779 + 44793 8833 8501 8676 8779 + 44794 8502 8687 8521 8883 + 44795 8883 8764 8502 8687 + 44796 8554 8883 8764 8502 + 44797 8556 8687 8521 8503 + 44798 8556 8852 8687 8504 + 44799 8504 8882 8593 8840 + 44800 8852 8593 8504 8882 + 44801 8504 8852 8905 8556 + 44802 8905 8504 8882 8852 + 44803 8701 8610 8505 8524 + 44804 8639 8505 8787 8548 + 44805 8506 8607 8704 8783 + 44806 8611 8704 8783 8506 + 44807 8506 8704 8788 8611 + 44808 8858 8506 8788 8703 + 44809 8506 8858 8788 8704 + 44810 8703 8858 8506 8612 + 44811 8614 8861 8790 8508 + 44812 8702 8861 8508 8891 + 44813 8891 8702 8612 8508 + 44814 8891 8612 8703 8508 + 44815 8703 8508 8790 8891 + 44816 8508 8861 8790 8891 + 44817 8793 8616 8509 8707 + 44818 8618 8710 8509 8861 + 44819 8793 8707 8509 8861 + 44820 8892 8509 8710 8861 + 44821 8793 8892 8861 8509 + 44822 8616 8892 8509 8792 + 44823 8509 8792 8892 8710 + 44824 8793 8509 8616 8892 + 44825 8802 8895 8630 8510 + 44826 8630 8510 8895 8538 + 44827 8622 8895 8510 8538 + 44828 8629 8718 8512 8620 + 44829 8709 8801 8620 8512 + 44830 8512 8620 8718 8801 + 44831 8719 8512 8859 8629 + 44832 8629 8512 8859 8620 + 44833 8512 8709 8859 8620 + 44834 8513 8621 8678 8797 + 44835 8584 8797 8865 8513 + 44836 8513 8865 8621 8797 + 44837 8671 8513 8584 8865 + 44838 8621 8513 8678 8896 + 44839 8678 8896 8513 8767 + 44840 8621 8865 8513 8896 + 44841 8513 8896 8680 8767 + 44842 8865 8896 8909 8513 + 44843 8513 8896 8909 8680 + 44844 8909 8671 8513 8588 + 44845 8865 8909 8671 8513 + 44846 8513 8909 8588 8680 + 44847 8785 8664 8514 8576 + 44848 8651 8745 8515 8568 + 44849 8817 8564 8515 8651 + 44850 8651 8564 8515 8866 + 44851 8745 8866 8651 8515 + 44852 8571 8515 8874 8745 + 44853 8663 8571 8515 8874 + 44854 8745 8874 8866 8515 + 44855 8515 8564 8874 8866 + 44856 8640 8558 8733 8517 + 44857 8803 8558 8517 8733 + 44858 8803 8517 8624 8733 + 44859 8808 8640 8733 8517 + 44860 8624 8808 8733 8517 + 44861 8830 8580 8518 8755 + 44862 8573 8830 8518 8755 + 44863 8573 8518 8830 8655 + 44864 8748 8655 8830 8518 + 44865 8748 8565 8518 8876 + 44866 8748 8518 8830 8876 + 44867 8876 8580 8518 8830 + 44868 8780 8519 8644 8553 + 44869 8780 8847 8519 8553 + 44870 8520 8599 8753 8872 + 44871 8599 8872 8520 8658 + 44872 8520 8753 8570 8872 + 44873 8556 8521 8687 8844 + 44874 8687 8521 8883 8844 + 44875 8854 8522 8611 8783 + 44876 8522 8888 8601 8854 + 44877 8522 8611 8857 8888 + 44878 8854 8611 8522 8888 + 44879 8857 8888 8528 8522 + 44880 8841 8705 8598 8523 + 44881 8774 8705 8841 8523 + 44882 8774 8523 8689 8856 + 44883 8705 8598 8523 8856 + 44884 8774 8856 8705 8523 + 44885 8524 8701 8789 8615 + 44886 8610 8524 8701 8789 + 44887 8539 8791 8863 8525 + 44888 8525 8634 8863 8539 + 44889 8634 8863 8794 8525 + 44890 8791 8863 8525 8615 + 44891 8525 8615 8863 8794 + 44892 8727 8526 8862 8533 + 44893 8526 8634 8862 8533 + 44894 8802 8894 8526 8634 + 44895 8727 8547 8894 8526 + 44896 8526 8862 8634 8894 + 44897 8727 8894 8862 8526 + 44898 8864 8636 8557 8527 + 44899 8636 8527 8864 8725 + 44900 8725 8547 8527 8864 + 44901 8787 8706 8906 8528 + 44902 8613 8528 8857 8906 + 44903 8528 8706 8906 8613 + 44904 8528 8888 8906 8548 + 44905 8528 8888 8857 8906 + 44906 8528 8906 8787 8548 + 44907 8529 8622 8910 8714 + 44908 8713 8529 8622 8910 + 44909 8735 8798 8530 8623 + 44910 8714 8809 8530 8622 + 44911 8870 8735 8530 8623 + 44912 8530 8715 8870 8623 + 44913 8530 8714 8798 8911 + 44914 8798 8911 8735 8530 + 44915 8530 8911 8870 8715 + 44916 8870 8735 8911 8530 + 44917 8809 8714 8530 8911 + 44918 8715 8809 8530 8911 + 44919 8531 8624 8912 8803 + 44920 8531 8912 8736 8803 + 44921 8624 9012 8531 8912 + 44922 8736 8531 9012 8912 + 44923 8624 8734 8531 9012 + 44924 8870 8532 8735 8623 + 44925 8735 8870 8913 8532 + 44926 8532 9013 8870 8913 + 44927 8808 8532 9013 8870 + 44928 9013 8624 8532 8808 + 44929 8735 8913 9014 8532 + 44930 8735 8647 8532 9014 + 44931 8647 9014 8815 8532 + 44932 8624 8815 9104 8532 + 44933 8815 9014 9104 8532 + 44934 8532 9104 9013 8913 + 44935 8532 8913 9014 9104 + 44936 8624 9104 9013 8532 + 44937 8862 8701 8893 8533 + 44938 8638 8893 8806 8533 + 44939 8893 8862 8533 8727 + 44940 8638 8727 8893 8533 + 44941 8626 8914 8717 8535 + 44942 8716 8626 8535 8914 + 44943 8719 8799 8536 8629 + 44944 8799 8718 8536 8629 + 44945 8799 8890 8719 8536 + 44946 8719 8536 8890 8860 + 44947 8536 8627 8799 8890 + 44948 8801 8915 8718 8537 + 44949 8718 8915 8626 8537 + 44950 9016 8537 8801 8628 + 44951 8537 8801 8915 9016 + 44952 8800 8720 8538 8628 + 44953 8538 8622 8895 8713 + 44954 8800 8895 8713 8538 + 44955 8720 8538 8895 8800 + 44956 8720 8895 8538 8630 + 44957 8720 8630 8539 8802 + 44958 8720 8539 8919 8802 + 44959 8802 8634 8539 8919 + 44960 8634 8539 8919 8863 + 44961 9020 8791 8863 8539 + 44962 8791 8709 8539 9020 + 44963 8539 9020 8919 8863 + 44964 9185 8539 8720 8801 + 44965 8919 9020 8539 9185 + 44966 9185 8720 8539 8919 + 44967 8709 8539 9185 8801 + 44968 9020 8709 8539 9185 + 44969 8721 8540 8867 8631 + 44970 8721 8541 8631 8804 + 44971 8804 8721 8541 8898 + 44972 8804 8541 8632 8898 + 44973 8723 8691 8542 8810 + 44974 8635 8723 8814 8542 + 44975 8542 8691 8723 8814 + 44976 8811 8898 8542 8721 + 44977 8898 8542 8814 8920 + 44978 8814 8691 8920 8542 + 44979 9021 8811 8542 8691 + 44980 9021 8920 8691 8542 + 44981 8811 8898 9021 8542 + 44982 8898 9021 8542 8920 + 44983 8543 8921 8804 8632 + 44984 8722 8543 8632 8921 + 44985 8722 9109 8543 8921 + 44986 8543 8633 9109 8722 + 44987 8806 8724 8637 8544 + 44988 8807 8637 8724 8544 + 44989 8807 8637 8544 8726 + 44990 8807 8724 8907 8544 + 44991 8807 8907 8639 8544 + 44992 8806 8907 8724 8544 + 44993 8635 8723 8545 8814 + 44994 8545 8868 8814 9024 + 44995 8636 8868 8545 9024 + 44996 8545 8814 8723 9024 + 44997 8805 8545 9024 8636 + 44998 8805 8723 9024 8545 + 44999 8638 8724 8926 8546 + 45000 8724 8926 8546 8884 + 45001 8546 9025 8725 8636 + 45002 8546 8725 9025 8638 + 45003 8546 8926 8638 9025 + 45004 8546 8805 9111 8636 + 45005 8546 9111 9025 8636 + 45006 8778 8805 9111 8546 + 45007 8778 9111 9188 8546 + 45008 9025 9188 9111 8546 + 45009 8546 9188 8926 9025 + 45010 9188 8778 8546 8884 + 45011 9188 8546 8926 8884 + 45012 8894 8547 8928 8711 + 45013 8928 8547 8894 8727 + 45014 8864 8711 8928 8547 + 45015 9025 8547 8928 8727 + 45016 8638 9025 8727 8547 + 45017 9025 8547 8864 8928 + 45018 8725 9025 8547 8864 + 45019 8638 8725 9025 8547 + 45020 8548 8782 8929 8639 + 45021 8906 8548 8888 8929 + 45022 8906 8787 8548 8929 + 45023 8929 8639 8787 8548 + 45024 8782 8888 8548 8929 + 45025 8869 8715 8549 8640 + 45026 8869 8549 8715 8809 + 45027 8641 8812 8776 8550 + 45028 8812 8550 8641 8728 + 45029 8550 8812 8930 8644 + 45030 8729 8930 8644 8550 + 45031 8550 8812 8776 8930 + 45032 8811 8550 8776 9028 + 45033 9028 8729 8550 8930 + 45034 8729 8550 8643 9028 + 45035 8811 8643 8550 9028 + 45036 9028 8550 8776 8930 + 45037 8551 8730 8846 8642 + 45038 8932 8551 8846 8642 + 45039 9030 8731 8551 8641 + 45040 8551 8728 9030 8641 + 45041 8932 9030 8551 8642 + 45042 8642 8728 9030 8551 + 45043 8551 8932 8846 9031 + 45044 9031 8730 8846 8551 + 45045 9031 8645 8730 8551 + 45046 9114 8551 8731 8645 + 45047 8551 9114 9030 8932 + 45048 8731 9114 9030 8551 + 45049 8551 9031 9114 8932 + 45050 9031 9114 8645 8551 + 45051 8641 9029 8552 8810 + 45052 8552 8810 9029 8646 + 45053 8552 8731 9029 8641 + 45054 9189 8552 8813 8731 + 45055 9029 8552 9189 8731 + 45056 8552 9029 9189 8646 + 45057 8813 9189 8777 8552 + 45058 9189 8646 8777 8552 + 45059 8642 8553 8932 9030 + 45060 8642 8553 9030 8728 + 45061 8728 8812 8553 9030 + 45062 8642 8932 8553 9032 + 45063 8642 8553 8847 9032 + 45064 8847 8553 8780 9032 + 45065 8812 8644 8553 9033 + 45066 8644 8780 8553 9033 + 45067 8553 9116 8780 9032 + 45068 8553 9033 8780 9116 + 45069 8932 9032 9116 8553 + 45070 8553 9190 9033 9116 + 45071 8932 9030 8553 9190 + 45072 8932 9116 9190 8553 + 45073 8553 9033 9190 8812 + 45074 8553 9190 9030 8812 + 45075 8813 8645 8730 8554 + 45076 8730 8645 8934 8554 + 45077 8934 8554 8832 8730 + 45078 8554 9035 8883 8813 + 45079 8554 8645 8934 9035 + 45080 8645 8554 8813 9035 + 45081 8883 9035 8554 8764 + 45082 8934 8554 9117 8832 + 45083 9117 8934 9035 8554 + 45084 9117 8554 9035 8764 + 45085 8675 9117 8554 8832 + 45086 8764 8554 8675 9117 + 45087 8723 8923 8810 8555 + 45088 8723 8805 8923 8555 + 45089 8646 8555 8810 8923 + 45090 8646 8555 8923 8778 + 45091 8555 8778 8805 8923 + 45092 8905 8692 8782 8556 + 45093 8905 8692 8556 9036 + 45094 8556 8687 9036 8844 + 45095 8852 9036 8556 8687 + 45096 8905 8556 8852 9036 + 45097 8692 8844 8556 9036 + 45098 8864 8636 8924 8557 + 45099 8636 8868 8924 8557 + 45100 8869 8557 8796 8936 + 45101 8557 8869 8900 8936 + 45102 8557 8864 8796 9037 + 45103 8864 8924 9037 8557 + 45104 9037 8557 8936 8796 + 45105 9037 8924 8868 8557 + 45106 8868 8557 8732 9119 + 45107 8900 8936 9119 8557 + 45108 8557 8936 9119 9037 + 45109 8900 9119 8732 8557 + 45110 8557 9119 8868 9037 + 45111 8558 8640 8900 8732 + 45112 8733 8640 8900 8558 + 45113 8722 8899 8558 8922 + 45114 8803 8558 8733 9023 + 45115 9023 8722 8803 8558 + 45116 9023 8922 8722 8558 + 45117 8900 8558 8732 9119 + 45118 8732 9119 8558 8899 + 45119 8558 8733 9193 8900 + 45120 9023 8922 8558 9193 + 45121 9023 8558 8733 9193 + 45122 9119 9193 8900 8558 + 45123 9286 8558 8899 8922 + 45124 9193 9286 8922 8558 + 45125 9286 8558 9119 8899 + 45126 9119 9286 9193 8558 + 45127 8734 8559 8937 8815 + 45128 8559 8737 9121 8815 + 45129 8559 8937 8815 9121 + 45130 8560 8816 8648 8738 + 45131 8560 8656 8741 8938 + 45132 8560 8741 8649 8938 + 45133 8560 8938 8649 8816 + 45134 8749 9039 8656 8560 + 45135 8738 9039 8560 8816 + 45136 8656 9039 8938 8560 + 45137 8560 9039 8938 8816 + 45138 8562 8740 8649 8817 + 45139 8562 8649 9040 8739 + 45140 8562 9040 8740 8820 + 45141 8562 9040 8820 8739 + 45142 8562 8740 9040 8649 + 45143 8648 8738 8816 8563 + 45144 8648 8816 8739 8563 + 45145 8563 8816 8939 8738 + 45146 8563 8739 8650 9123 + 45147 8816 8939 9123 8563 + 45148 8816 9123 8739 8563 + 45149 8817 8941 8564 8651 + 45150 8564 8941 8817 8741 + 45151 8651 8941 8564 8866 + 45152 8866 9043 8941 8564 + 45153 9043 8564 8750 8656 + 45154 8564 8874 9043 8750 + 45155 8866 8874 9043 8564 + 45156 9124 8656 8564 9043 + 45157 8741 8564 9124 8656 + 45158 8564 9124 8941 8741 + 45159 8564 9043 8941 9124 + 45160 8565 8824 8652 8742 + 45161 8876 8565 8657 8944 + 45162 8944 8876 8565 8748 + 45163 8944 8565 8824 8748 + 45164 8565 8657 9044 8742 + 45165 8944 8565 8657 9044 + 45166 8565 9044 8824 8742 + 45167 8944 8824 8565 9044 + 45168 8653 8566 8822 8743 + 45169 8566 8873 8747 8822 + 45170 8655 8566 8873 8747 + 45171 8822 8566 8873 8743 + 45172 8743 8567 8871 8653 + 45173 9045 8652 8567 8743 + 45174 9045 8871 8567 8819 + 45175 9045 8743 8567 8871 + 45176 8567 8819 8654 9045 + 45177 8818 8654 9045 8567 + 45178 8567 8818 8652 9045 + 45179 8943 8568 8651 8742 + 45180 8657 8568 8821 9044 + 45181 8821 8568 8943 9044 + 45182 8943 8742 9044 8568 + 45183 8568 9044 8657 8742 + 45184 9125 8651 8568 8745 + 45185 8821 9125 8943 8568 + 45186 8651 8943 9125 8568 + 45187 9125 8568 8821 8745 + 45188 8949 8660 8569 8823 + 45189 8949 8569 8754 8667 + 45190 8754 8949 8659 8569 + 45191 8569 8949 8746 8660 + 45192 8569 8746 8949 8659 + 45193 8949 8569 8667 8823 + 45194 8657 8872 8570 8902 + 45195 8666 8570 8753 8902 + 45196 8753 8570 8872 8902 + 45197 8874 8663 8571 8752 + 45198 8658 8571 8828 8904 + 45199 8872 8904 8571 8658 + 45200 8571 8904 8872 8950 + 45201 8904 8950 8571 8828 + 45202 8950 8872 8571 8745 + 45203 8571 8828 8951 8752 + 45204 8571 8951 8874 8752 + 45205 8571 8874 8951 8745 + 45206 8950 8571 9048 8745 + 45207 8571 8950 9048 8828 + 45208 9048 8828 8951 8571 + 45209 8571 8951 9048 8745 + 45210 8660 8572 8747 8952 + 45211 8822 8572 8952 8747 + 45212 8660 8746 8572 8952 + 45213 8947 8573 8830 8655 + 45214 8823 8655 8573 8947 + 45215 8573 8755 8901 9052 + 45216 8573 9052 8830 8755 + 45217 8573 8830 9052 8947 + 45218 9201 8901 8573 8823 + 45219 8573 9201 8947 9052 + 45220 8573 8901 9201 9052 + 45221 9201 8573 8947 8823 + 45222 8574 8945 8873 8743 + 45223 8873 8574 8748 8953 + 45224 8945 9126 8574 9053 + 45225 8574 9126 8945 8743 + 45226 8652 9126 8574 8743 + 45227 8574 8652 8824 9126 + 45228 8873 9134 8574 8953 + 45229 8873 8574 9134 8945 + 45230 8945 8574 9134 9053 + 45231 8574 9053 9126 9202 + 45232 8574 8748 9202 8824 + 45233 8574 9134 9053 9202 + 45234 8748 8574 9202 8953 + 45235 9202 8574 8824 9126 + 45236 9202 8574 9134 8953 + 45237 8954 8662 8575 8855 + 45238 8784 8855 8954 8575 + 45239 8825 8662 8575 8954 + 45240 8575 8825 8954 9054 + 45241 8575 8750 8825 9054 + 45242 8784 8954 9054 8575 + 45243 8575 9054 8784 8661 + 45244 8826 8750 8575 9054 + 45245 8661 8575 9054 8826 + 45246 8956 8576 8751 8827 + 45247 8576 8956 8751 8661 + 45248 8784 8576 8661 8956 + 45249 8700 8784 8957 8576 + 45250 8700 8957 8785 8576 + 45251 9056 8664 8576 8827 + 45252 8785 8957 9056 8576 + 45253 8785 9056 8664 8576 + 45254 8576 9056 8827 8956 + 45255 8576 8957 9056 9138 + 45256 8576 8784 8957 9138 + 45257 8576 9138 9056 8956 + 45258 8576 9138 8956 8784 + 45259 8577 8827 8958 8665 + 45260 8577 8958 8851 8665 + 45261 8664 8577 8827 8958 + 45262 8658 8828 8578 8904 + 45263 8578 8828 8959 8904 + 45264 8578 8959 8769 8904 + 45265 8828 8578 9057 8751 + 45266 8578 9057 8751 8827 + 45267 9057 8578 8828 8959 + 45268 8578 9139 8665 8769 + 45269 8665 9139 8578 8827 + 45270 9139 9057 8959 8578 + 45271 9139 8827 9057 8578 + 45272 8578 8959 9139 8769 + 45273 8752 8579 8955 8826 + 45274 8784 8661 8579 8956 + 45275 8751 8579 8956 8828 + 45276 8751 8956 8579 8661 + 45277 8579 8784 9054 8661 + 45278 8661 9054 8579 8826 + 45279 8579 9054 8955 8826 + 45280 8752 8955 8579 9058 + 45281 8828 8752 8579 9140 + 45282 9058 8579 8752 9140 + 45283 8579 8956 8828 9140 + 45284 8579 8784 9207 9054 + 45285 8956 8579 8784 9207 + 45286 9054 8579 8955 9207 + 45287 9058 8955 8579 9207 + 45288 8579 9256 9207 8956 + 45289 8579 9256 8956 9140 + 45290 8579 9256 9058 9207 + 45291 9256 9058 9140 8579 + 45292 8829 8876 8580 8666 + 45293 8876 9052 8580 8830 + 45294 8830 9052 8580 8755 + 45295 8755 9052 8580 8669 + 45296 8876 8580 9052 9209 + 45297 8829 8876 9209 8580 + 45298 9209 8669 8580 9052 + 45299 8829 8669 8580 9209 + 45300 8581 8756 8676 8845 + 45301 8875 8754 8845 8581 + 45302 8875 8667 8754 8581 + 45303 8581 8875 8668 8756 + 45304 8845 8875 8581 8756 + 45305 8757 8670 8582 8962 + 45306 8670 8756 8582 8962 + 45307 8582 8755 8962 8668 + 45308 8962 8582 8668 8756 + 45309 8582 8962 8669 8757 + 45310 8582 8962 8755 8669 + 45311 8683 8583 8903 8879 + 45312 8683 8960 8583 8838 + 45313 8753 8960 8838 8583 + 45314 8960 8583 8903 8683 + 45315 8583 8666 8960 8829 + 45316 8583 8903 8829 8960 + 45317 8753 8666 8960 8583 + 45318 8584 8965 9063 8865 + 45319 8584 9063 8671 8865 + 45320 8671 8758 9063 8584 + 45321 8758 8965 9063 8584 + 45322 8759 9064 8584 8897 + 45323 8584 9064 8965 8712 + 45324 8584 8897 9064 8712 + 45325 9064 8584 8758 8672 + 45326 8758 8584 9064 8965 + 45327 8672 9064 8584 8759 + 45328 8712 8584 8797 9065 + 45329 8865 8965 9065 8584 + 45330 8865 8797 8584 9065 + 45331 8584 8965 9065 8712 + 45332 8831 8671 8585 8758 + 45333 8831 8585 8881 8758 + 45334 8760 8831 8585 8881 + 45335 8773 8968 8686 8586 + 45336 8773 8685 8968 8586 + 45337 8685 9066 8586 8771 + 45338 8842 8586 9066 8672 + 45339 8586 9066 8685 8968 + 45340 8968 8686 8586 9066 + 45341 8672 9066 8771 8586 + 45342 8686 8842 8586 9066 + 45343 8587 8765 8880 8674 + 45344 8587 8880 8969 8760 + 45345 8765 8880 8969 8587 + 45346 8969 8673 8587 8760 + 45347 8765 8969 8877 8587 + 45348 8587 8969 8877 8673 + 45349 8671 8772 8831 8588 + 45350 8671 8839 8772 8588 + 45351 8839 8588 8909 8770 + 45352 8770 8909 8680 8588 + 45353 8909 8588 8839 8671 + 45354 8589 8673 8835 8877 + 45355 8684 8589 8835 8877 + 45356 8969 8589 8673 8760 + 45357 8969 8831 8589 8760 + 45358 8772 8969 8831 8589 + 45359 8589 8877 8969 8673 + 45360 8879 8589 9067 8772 + 45361 8589 8877 9067 8969 + 45362 8969 8772 9067 8589 + 45363 9067 8589 8684 8877 + 45364 8589 9067 8684 8879 + 45365 8698 8590 8761 8843 + 45366 8590 8761 8843 8674 + 45367 8590 8843 8878 8674 + 45368 8590 8970 8763 8677 + 45369 8834 8677 8970 8590 + 45370 8834 8970 8878 8590 + 45371 8971 8843 8878 8590 + 45372 8698 8971 8590 8843 + 45373 9068 8698 8971 8590 + 45374 8764 9068 8590 8698 + 45375 8590 9068 8764 8675 + 45376 9068 8970 8763 8590 + 45377 8590 8763 9068 8675 + 45378 9068 8878 8970 8590 + 45379 8878 8590 9068 8971 + 45380 8832 8591 8675 8885 + 45381 8846 8693 8591 8885 + 45382 8591 8885 8693 8779 + 45383 8675 8885 8591 8763 + 45384 8972 8833 8779 8591 + 45385 8833 8972 8763 8591 + 45386 8591 9069 8885 8779 + 45387 8972 8779 9069 8591 + 45388 9069 8763 8972 8591 + 45389 9069 8763 8591 8885 + 45390 8592 8963 8676 8756 + 45391 8592 8676 8963 8833 + 45392 8762 8670 8964 8592 + 45393 8592 9060 8963 8756 + 45394 8762 8592 9071 8833 + 45395 9071 8964 8592 8762 + 45396 9071 8963 8833 8592 + 45397 9145 8592 9071 8964 + 45398 9071 9145 8963 8592 + 45399 9145 9210 8592 8964 + 45400 8670 8964 8592 9210 + 45401 9060 8592 9210 8756 + 45402 9210 8756 8592 8670 + 45403 9258 9060 8963 8592 + 45404 9258 8963 9145 8592 + 45405 9258 8592 9145 9210 + 45406 9258 8592 9210 9060 + 45407 8761 8843 8593 8698 + 45408 8971 8593 8843 8698 + 45409 8852 8593 8971 8698 + 45410 8852 8882 9072 8593 + 45411 8852 9072 8971 8593 + 45412 9146 8593 8882 8840 + 45413 8843 8773 8593 9146 + 45414 8971 8843 8593 9146 + 45415 8971 8593 9072 9146 + 45416 8840 9146 8593 8773 + 45417 8593 9072 9146 8882 + 45418 8694 8848 8594 8766 + 45419 8595 8678 8767 8976 + 45420 8976 8767 8595 8679 + 45421 8767 8596 8679 8836 + 45422 8769 8851 8665 8596 + 45423 8851 8596 8768 8665 + 45424 8679 8596 8768 8977 + 45425 8768 8851 8977 8596 + 45426 8769 8977 8596 8836 + 45427 8836 8977 8596 8679 + 45428 8769 8977 8851 8596 + 45429 8680 8978 8597 8836 + 45430 8978 8597 8770 8680 + 45431 8597 8681 8979 8838 + 45432 8597 8681 8836 9077 + 45433 9077 8597 8681 8979 + 45434 8597 8836 8978 9077 + 45435 9150 8838 8597 8979 + 45436 8978 9150 8597 9077 + 45437 9077 9150 8597 8979 + 45438 8597 8770 9150 8978 + 45439 8597 9150 8770 8838 + 45440 8837 8598 8682 8759 + 45441 8837 8705 8598 8771 + 45442 8771 8841 8705 8598 + 45443 8980 8682 8598 8856 + 45444 8980 8856 8598 8705 + 45445 8598 8705 8837 8980 + 45446 8980 8837 8598 8682 + 45447 8904 8872 8599 8658 + 45448 8904 8599 8872 8950 + 45449 8681 8979 8838 8599 + 45450 8599 8979 8838 9049 + 45451 8950 8599 8872 9049 + 45452 8599 8872 9049 8753 + 45453 9049 8838 8599 8753 + 45454 8599 9292 8979 9049 + 45455 8681 9292 8979 8599 + 45456 9292 8904 8599 8681 + 45457 8950 9292 8599 9049 + 45458 9292 8599 8904 8950 + 45459 8688 8774 8982 8600 + 45460 8841 8982 8774 8600 + 45461 9080 8840 8775 8600 + 45462 8688 9083 8600 8982 + 45463 8775 9083 8600 8688 + 45464 9154 8600 8982 8841 + 45465 9080 8840 8600 9154 + 45466 8841 9154 8600 8685 + 45467 8600 8840 8685 9154 + 45468 8600 8982 9223 9154 + 45469 8982 9083 8600 9223 + 45470 8600 9223 9083 8775 + 45471 8775 8600 9223 9080 + 45472 9223 9080 8600 9154 + 45473 8984 8690 8888 8601 + 45474 8601 8690 8775 8984 + 45475 9084 8984 8888 8601 + 45476 9084 8888 8854 8601 + 45477 8601 8854 9084 9157 + 45478 9157 8688 8775 8601 + 45479 8688 8854 8601 9157 + 45480 8984 9084 9157 8601 + 45481 8601 8775 9157 8984 + 45482 8853 8689 8774 8602 + 45483 8887 8699 8853 8602 + 45484 8602 9158 8774 8853 + 45485 8688 9158 8774 8602 + 45486 8887 8602 9158 8688 + 45487 8602 8887 9158 8853 + 45488 8641 8776 8812 8603 + 45489 8641 8812 8931 8603 + 45490 8691 8810 9029 8603 + 45491 8641 8603 8931 9029 + 45492 8810 8641 9029 8603 + 45493 8603 8776 8812 9034 + 45494 9034 8603 8931 8812 + 45495 9115 8776 8811 8603 + 45496 8776 9115 9034 8603 + 45497 8691 8811 8603 9115 + 45498 9034 9267 8603 9115 + 45499 9029 8691 8603 9267 + 45500 9034 8931 8603 9267 + 45501 9115 9267 8603 8691 + 45502 9029 8603 8931 9267 + 45503 8850 8697 9050 8604 + 45504 9050 8604 8754 8659 + 45505 8604 8754 8697 9050 + 45506 8605 8849 8779 8693 + 45507 9070 8605 8845 8781 + 45508 8781 9070 8605 8696 + 45509 8849 8605 8779 9070 + 45510 9070 8845 8605 8676 + 45511 8779 8605 8676 9070 + 45512 8605 8696 9070 8849 + 45513 8990 8696 8781 8606 + 45514 8990 8781 8695 8606 + 45515 8886 9089 8848 8606 + 45516 8696 8849 8606 9089 + 45517 8886 8606 8849 9089 + 45518 8696 8606 8990 9166 + 45519 8696 9089 8606 9166 + 45520 8994 8783 8607 8699 + 45521 8704 8783 8607 8994 + 45522 8807 8608 8724 8692 + 45523 8724 8907 8608 8807 + 45524 8639 8608 8907 8807 + 45525 8608 8724 8692 8925 + 45526 8782 8929 8639 8608 + 45527 9026 8608 8724 8907 + 45528 9026 8608 8925 8724 + 45529 8639 8608 8929 9113 + 45530 8907 8639 9113 8608 + 45531 8907 9113 9026 8608 + 45532 8925 8692 8608 9229 + 45533 8692 9229 8782 8608 + 45534 9026 8925 8608 9273 + 45535 9273 8782 9229 8608 + 45536 9113 9026 8608 9273 + 45537 9113 8608 8929 9273 + 45538 8782 9273 8929 8608 + 45539 8925 8608 9273 9229 + 45540 8784 8700 8957 8609 + 45541 8786 8609 8855 8997 + 45542 8609 9094 8855 8997 + 45543 9094 8784 8609 8855 + 45544 9171 8997 9094 8609 + 45545 8784 8957 9171 8609 + 45546 8784 9171 9094 8609 + 45547 8706 8787 8998 8610 + 45548 8701 9095 8893 8610 + 45549 9095 8787 8893 8610 + 45550 8610 9095 9235 9173 + 45551 8610 9235 8998 9173 + 45552 9095 9235 8787 8610 + 45553 8998 8787 9235 8610 + 45554 8789 8610 9236 8701 + 45555 8998 9173 9236 8610 + 45556 8998 9236 8706 8610 + 45557 8610 8701 9095 9236 + 45558 9236 9173 9095 8610 + 45559 8789 8610 8706 9236 + 45560 8611 8857 8995 8788 + 45561 8611 8888 8854 8995 + 45562 8611 8857 8888 8995 + 45563 9170 8611 8783 8854 + 45564 8611 8783 8704 9170 + 45565 8611 8704 8788 9170 + 45566 9170 8854 8995 8611 + 45567 8611 8995 9170 8788 + 45568 8891 8612 8858 8703 + 45569 8706 8998 8613 8790 + 45570 8998 8706 8613 8906 + 45571 8613 8703 8790 9096 + 45572 8613 8857 8703 9096 + 45573 8998 8613 9174 8906 + 45574 9174 8857 8613 9096 + 45575 8613 8857 9174 8906 + 45576 9239 8790 8613 8998 + 45577 9239 8613 8790 9096 + 45578 9174 9239 8613 8998 + 45579 8613 9239 9174 9096 + 45580 8793 8614 8707 8861 + 45581 8861 8790 9097 8614 + 45582 8861 9097 8793 8614 + 45583 9236 8793 8614 8707 + 45584 8614 9097 8793 9236 + 45585 8707 8614 9236 8789 + 45586 8614 8790 9097 9236 + 45587 8614 8790 9236 8706 + 45588 8789 8706 8614 9236 + 45589 8707 9001 8791 8615 + 45590 9001 8863 8791 8615 + 45591 8615 9001 8863 8794 + 45592 9236 9001 8615 8794 + 45593 8707 8615 9236 9001 + 45594 8707 9236 8615 8789 + 45595 8701 8615 8794 9236 + 45596 8789 9236 8615 8701 + 45597 8791 9001 8616 8889 + 45598 8793 9001 8616 8707 + 45599 9001 8616 8707 8791 + 45600 8892 8792 8616 9002 + 45601 8708 8616 8792 9002 + 45602 8793 8616 9176 8892 + 45603 8616 8793 9176 9001 + 45604 8889 9001 8616 9176 + 45605 9240 8708 9002 8616 + 45606 9176 8892 8616 9240 + 45607 9240 9002 8892 8616 + 45608 8708 9240 8859 8616 + 45609 8889 9176 8616 9240 + 45610 8859 8616 9240 8889 + 45611 9002 8617 8792 8708 + 45612 8708 9018 8617 8860 + 45613 9177 8617 8708 9018 + 45614 9177 8708 8617 9002 + 45615 8702 8618 8861 8891 + 45616 9004 8710 8618 8861 + 45617 8618 9099 9004 8861 + 45618 8861 8618 9099 8891 + 45619 8619 8720 8895 8800 + 45620 8802 8720 8895 8619 + 45621 8720 8800 8619 8917 + 45622 8802 8894 8919 8619 + 45623 8802 8919 8720 8619 + 45624 8619 9010 8895 8908 + 45625 9010 8895 8800 8619 + 45626 8619 8795 9010 8908 + 45627 9019 8720 8619 8917 + 45628 8619 9019 8795 8894 + 45629 8894 9019 8919 8619 + 45630 9019 8720 8919 8619 + 45631 8795 9106 8619 9010 + 45632 8917 8619 9019 9106 + 45633 9106 8619 9019 8795 + 45634 8917 8800 8619 9106 + 45635 9010 8800 9106 8619 + 45636 8620 8718 8915 8629 + 45637 8915 8718 8620 8801 + 45638 8629 8915 8620 9017 + 45639 8629 8620 8859 9017 + 45640 8915 8620 9107 8801 + 45641 9107 9017 8620 8915 + 45642 9107 8801 8620 8709 + 45643 8620 9240 9107 8709 + 45644 8620 8859 9240 8709 + 45645 9240 8620 9017 8859 + 45646 9240 9017 8620 9107 + 45647 8621 8678 8976 8896 + 45648 8865 9065 8621 8797 + 45649 9009 8621 8865 9065 + 45650 8865 9009 9245 8621 + 45651 8896 8621 8865 9245 + 45652 8976 9245 8621 8896 + 45653 8622 8895 8910 8908 + 45654 8908 8910 8622 8809 + 45655 8713 8622 8895 8910 + 45656 8714 8910 8809 8622 + 45657 8624 8912 8803 8733 + 45658 8815 9012 8734 8624 + 45659 8624 9013 8912 8733 + 45660 8624 9013 8733 8808 + 45661 8815 9104 9012 8624 + 45662 9012 8912 8624 9104 + 45663 9013 8624 8912 9104 + 45664 8915 8799 8718 8626 + 45665 8626 8914 9015 8717 + 45666 8799 9015 8626 8915 + 45667 8717 8626 8799 9015 + 45668 8890 8799 8717 8627 + 45669 8800 8628 8917 8720 + 45670 8720 9016 8628 8917 + 45671 8801 9016 8628 8720 + 45672 8629 8718 8915 8799 + 45673 8629 8859 8719 8918 + 45674 8629 8859 8918 9017 + 45675 8629 8915 9105 8799 + 45676 8629 9105 8915 9017 + 45677 8918 9017 9105 8629 + 45678 9105 8719 8918 8629 + 45679 9105 8799 8719 8629 + 45680 8720 8802 8895 8630 + 45681 8631 8867 8721 8804 + 45682 8632 8921 8804 8898 + 45683 8722 8632 9022 8921 + 45684 8722 9022 8632 8899 + 45685 9022 8632 8899 9108 + 45686 8814 8899 8632 9108 + 45687 8921 8898 8632 9186 + 45688 9186 8814 8898 8632 + 45689 9108 9022 8632 9186 + 45690 8921 8632 9022 9186 + 45691 9108 8632 8814 9186 + 45692 8736 8803 9023 8633 + 45693 8633 8722 8803 9023 + 45694 8722 8633 9109 9023 + 45695 9023 9187 8633 9109 + 45696 8736 9023 9187 8633 + 45697 8802 8919 8894 8634 + 45698 8794 8634 8862 8919 + 45699 8919 8862 8894 8634 + 45700 8794 8863 8634 8919 + 45701 8636 8924 8868 9024 + 45702 8636 8864 9025 8725 + 45703 8864 8636 9025 8924 + 45704 8924 8636 9025 9111 + 45705 8636 9024 9111 8924 + 45706 8805 9024 9111 8636 + 45707 8806 8907 8893 8638 + 45708 8724 8806 8638 8907 + 45709 8638 8893 8927 8907 + 45710 8927 8727 8893 8638 + 45711 8638 8927 9026 8907 + 45712 8724 8638 9026 8907 + 45713 8638 9026 8926 8724 + 45714 8638 9026 8927 9112 + 45715 8638 9112 8727 9025 + 45716 8638 8926 9112 9025 + 45717 8927 9112 8727 8638 + 45718 8638 8926 9026 9112 + 45719 8639 8907 9113 8787 + 45720 8639 9113 8929 8787 + 45721 8808 8733 8640 8900 + 45722 8808 8900 8640 8715 + 45723 8869 8900 8715 8640 + 45724 8731 9029 8641 8931 + 45725 8728 8641 8812 9030 + 45726 8812 9030 8641 8931 + 45727 8731 8641 9030 8931 + 45728 8642 8766 9032 8847 + 45729 8846 8766 9032 8642 + 45730 8846 9032 8932 8642 + 45731 8811 8933 8867 8643 + 45732 9028 8643 8933 8811 + 45733 8812 8930 8644 9033 + 45734 9031 8730 8645 8934 + 45735 8645 8777 8935 9035 + 45736 8777 8645 8813 9035 + 45737 9114 8935 8645 9189 + 45738 9189 8645 8813 8777 + 45739 9114 8645 8731 9189 + 45740 9189 8935 8645 8777 + 45741 9189 8813 8645 8731 + 45742 9191 8935 8645 9114 + 45743 8645 9191 9031 8934 + 45744 8934 8645 9191 9035 + 45745 9191 8645 9031 9114 + 45746 8935 9191 8645 9035 + 45747 8923 8810 8646 9029 + 45748 8923 9029 8646 9118 + 45749 8884 8646 9118 8778 + 45750 8646 8923 9118 8778 + 45751 8646 8844 8884 9118 + 45752 8844 9118 8646 8777 + 45753 9189 8646 9029 9118 + 45754 9118 9189 8646 8777 + 45755 8737 8647 9014 8815 + 45756 8817 8649 8741 8941 + 45757 8941 8817 8649 8740 + 45758 8938 9040 8649 8816 + 45759 8739 8816 8649 9040 + 45760 8649 8941 8740 9040 + 45761 8938 9124 8741 8649 + 45762 8938 9040 9124 8649 + 45763 8741 8649 9124 8941 + 45764 9124 8941 8649 9040 + 45765 8820 8739 8940 8650 + 45766 9041 8650 8744 8820 + 45767 8650 8820 9041 8940 + 45768 8650 9041 9123 8940 + 45769 9123 8940 8739 8650 + 45770 8941 8817 8740 8651 + 45771 8742 8943 8818 8651 + 45772 8651 8740 9042 8818 + 45773 9042 8818 8943 8651 + 45774 8941 8740 9042 8651 + 45775 9042 8866 8941 8651 + 45776 8943 9042 8651 9125 + 45777 9042 9125 8866 8651 + 45778 9125 8745 8866 8651 + 45779 9045 9126 8652 8743 + 45780 9126 8652 8818 9045 + 45781 8818 8742 8652 9126 + 45782 8824 8652 8742 9126 + 45783 9046 8743 8871 8653 + 45784 8653 8822 9046 8743 + 45785 8820 8942 8740 8654 + 45786 8740 8818 8654 8942 + 45787 9045 8654 8818 8942 + 45788 8654 8820 9128 8744 + 45789 8654 9128 8942 9045 + 45790 8654 9128 8819 8744 + 45791 8942 8654 8820 9128 + 45792 9045 8654 9128 8819 + 45793 8655 8873 8748 8947 + 45794 8823 8747 8655 8947 + 45795 8947 8655 8873 8747 + 45796 8655 8748 8830 8947 + 45797 8750 8825 8948 8656 + 45798 8750 8948 9043 8656 + 45799 8948 9047 9124 8656 + 45800 8938 8656 8741 9124 + 45801 8656 9047 9124 8938 + 45802 8948 9124 9043 8656 + 45803 9129 8749 9039 8656 + 45804 8749 8656 9129 8825 + 45805 8656 8938 9039 9129 + 45806 8656 9047 8938 9129 + 45807 8656 9047 9129 8948 + 45808 8948 8656 8825 9129 + 45809 8872 8902 8657 8821 + 45810 8876 8944 8657 8902 + 45811 9044 9130 8821 8657 + 45812 8902 8821 9130 8657 + 45813 9130 8944 8902 8657 + 45814 9130 9044 8944 8657 + 45815 8746 8659 9050 8949 + 45816 9050 8754 8949 8659 + 45817 8747 8952 9051 8660 + 45818 8746 8660 8949 9051 + 45819 9051 8952 8746 8660 + 45820 8949 8660 8823 9051 + 45821 9051 8660 8823 8747 + 45822 8786 8855 8662 9055 + 45823 8954 9055 8662 8855 + 45824 8662 8954 8825 9055 + 45825 9129 8825 8662 8749 + 45826 9129 8662 8825 9055 + 45827 8663 8752 8874 8826 + 45828 9056 9205 8664 8827 + 45829 9205 8664 8827 8958 + 45830 8665 9059 8851 8769 + 45831 8665 8851 9059 8958 + 45832 8827 9139 8958 8665 + 45833 8665 9059 9139 8958 + 45834 8769 8665 9059 9139 + 45835 8829 8960 8876 8666 + 45836 8960 9208 8876 8666 + 45837 8902 8876 9208 8666 + 45838 8753 8960 8666 9208 + 45839 8753 8666 8902 9208 + 45840 8667 8949 9133 8754 + 45841 8667 8823 9133 8949 + 45842 9133 8875 8667 8754 + 45843 9133 8823 8667 8875 + 45844 8668 8875 8901 8756 + 45845 8962 8668 8755 8901 + 45846 8668 8756 8901 8962 + 45847 8962 9052 8755 8669 + 45848 9061 8669 8962 8757 + 45849 8669 8757 9061 8829 + 45850 9209 9061 8829 8669 + 45851 9257 9052 8962 8669 + 45852 9209 9257 8669 9052 + 45853 9257 9061 9209 8669 + 45854 9257 8962 9061 8669 + 45855 8964 8835 8670 8762 + 45856 8757 9061 8670 8962 + 45857 9061 8670 8835 8757 + 45858 8964 8670 8835 9061 + 45859 8670 8962 9061 9210 + 45860 8670 9210 8756 8962 + 45861 8964 9210 8670 9061 + 45862 8865 8909 8966 8671 + 45863 8909 8839 8966 8671 + 45864 8839 8772 8966 8671 + 45865 8831 8966 8772 8671 + 45866 9063 8671 8831 8758 + 45867 8865 8966 9063 8671 + 45868 8966 8671 8831 9063 + 45869 8881 8967 8758 8672 + 45870 8842 8967 8881 8672 + 45871 8967 8672 8837 9064 + 45872 8967 8758 8672 9064 + 45873 8672 8837 9064 8759 + 45874 8672 8967 8837 9066 + 45875 9066 8771 8837 8672 + 45876 8842 9066 8967 8672 + 45877 8762 8835 8673 8877 + 45878 8878 8765 8674 8843 + 45879 8843 8880 8765 8674 + 45880 8675 9117 8885 8763 + 45881 8832 8675 9117 8885 + 45882 9117 8763 8675 9068 + 45883 9117 8675 8764 9068 + 45884 8845 8676 8963 8756 + 45885 8833 8676 8963 8779 + 45886 9070 8963 8845 8676 + 45887 8676 8779 9070 8963 + 45888 8833 8763 8972 8677 + 45889 8833 8972 9071 8677 + 45890 8762 9071 8677 8833 + 45891 9071 8762 8677 8834 + 45892 9215 8677 8834 9071 + 45893 9215 8677 8970 8834 + 45894 9259 8677 8972 8763 + 45895 9259 8970 8677 8763 + 45896 8677 9071 9259 8972 + 45897 9259 8677 9215 9071 + 45898 9215 8970 8677 9259 + 45899 8896 8678 8976 8767 + 45900 8767 8679 8976 9076 + 45901 8836 9076 8977 8679 + 45902 9076 8767 8679 8836 + 45903 8978 8770 8909 8680 + 45904 8836 8767 8680 9149 + 45905 8909 8680 8896 9149 + 45906 8836 8680 8978 9149 + 45907 8909 8978 8680 9149 + 45908 8896 8680 8767 9149 + 45909 8681 8769 8959 8904 + 45910 9077 9152 8979 8681 + 45911 8681 9152 8904 8959 + 45912 9217 8959 8681 8769 + 45913 9217 8681 9077 8836 + 45914 8681 9217 9152 8959 + 45915 8681 9217 9077 9152 + 45916 9217 8681 8836 8769 + 45917 8979 8681 9152 9292 + 45918 9152 8681 8904 9292 + 45919 8837 8682 8897 8759 + 45920 8897 8837 8980 8682 + 45921 8981 8839 8683 8879 + 45922 8981 8683 8903 8879 + 45923 8683 9078 8981 8903 + 45924 8960 8903 9078 8683 + 45925 8683 8838 8770 9150 + 45926 8683 8770 8839 9150 + 45927 9150 8683 8838 9219 + 45928 8838 8683 8960 9219 + 45929 9219 8683 8960 9078 + 45930 8981 8839 9265 8683 + 45931 8839 9265 8683 9150 + 45932 9150 9265 8683 9219 + 45933 9219 8683 9078 9265 + 45934 9078 9265 8683 8981 + 45935 8684 8903 8757 8879 + 45936 8964 8684 8835 8877 + 45937 8903 8981 8879 8684 + 45938 8964 8835 8684 9061 + 45939 8757 9061 8684 8835 + 45940 8684 9067 8981 8879 + 45941 8684 8903 9142 8757 + 45942 8684 9142 9061 8757 + 45943 8964 9148 8684 8877 + 45944 9067 8877 8684 9148 + 45945 9142 8903 8684 9221 + 45946 8981 8684 8903 9221 + 45947 9294 8684 8981 9221 + 45948 8981 9294 9067 8684 + 45949 9067 8684 9294 9148 + 45950 8684 9221 9294 9301 + 45951 9301 8964 9148 8684 + 45952 9142 9301 9221 8684 + 45953 9142 9061 9301 8684 + 45954 9148 9294 9301 8684 + 45955 9301 9061 8964 8684 + 45956 8840 8685 8968 8773 + 45957 9154 8968 8685 9066 + 45958 8685 8840 8968 9154 + 45959 9154 8685 8771 9066 + 45960 8771 8841 8685 9154 + 45961 8880 9075 8686 8843 + 45962 8842 9144 8686 8880 + 45963 8842 8686 9144 9066 + 45964 8686 9075 8880 9144 + 45965 8773 8686 8968 9146 + 45966 9075 8686 8843 9146 + 45967 8843 8686 8773 9146 + 45968 9066 9144 9222 8686 + 45969 9066 9222 8968 8686 + 45970 8968 9146 8686 9222 + 45971 8686 9144 9222 9075 + 45972 9222 9146 8686 9075 + 45973 8764 8974 8687 8883 + 45974 8852 8764 8974 8687 + 45975 8852 8974 9036 8687 + 45976 9036 8687 8974 9156 + 45977 9036 8844 8687 9156 + 45978 8687 8883 9156 8844 + 45979 8883 8974 8687 9156 + 45980 8688 8854 8983 8887 + 45981 8688 8983 8854 9157 + 45982 8688 9083 8983 9157 + 45983 8775 9157 9083 8688 + 45984 9158 8774 8982 8688 + 45985 8688 9158 8983 9083 + 45986 8688 8982 9158 9083 + 45987 8688 8983 9158 8887 + 45988 8853 8689 9224 8774 + 45989 8774 8689 9224 8856 + 45990 8882 8690 8984 8775 + 45991 8984 8690 8882 9085 + 45992 8905 8882 8690 9085 + 45993 9159 8888 8984 8690 + 45994 8905 8690 9159 9085 + 45995 9159 8690 8984 9085 + 45996 8905 8690 8782 9159 + 45997 8782 9159 8690 8888 + 45998 8923 8810 8691 8723 + 45999 9024 8920 8814 8691 + 46000 8923 8691 9024 8723 + 46001 9024 8814 8723 8691 + 46002 8923 8691 8810 9029 + 46003 8691 9021 8811 9115 + 46004 9227 9115 9021 8691 + 46005 9024 8923 9227 8691 + 46006 9021 9227 8691 8920 + 46007 9024 9227 8920 8691 + 46008 9227 9267 8691 8923 + 46009 9115 9227 9267 8691 + 46010 9029 8691 9267 8923 + 46011 8925 8692 8844 8724 + 46012 9036 8925 8692 8844 + 46013 8692 8905 8782 9229 + 46014 8692 8905 9229 9036 + 46015 8692 9229 8925 9036 + 46016 8886 8766 8846 8693 + 46017 8693 8886 8849 8988 + 46018 8779 8849 8988 8693 + 46019 8988 8693 9164 8779 + 46020 8885 9164 8693 8779 + 46021 8988 8693 8886 9164 + 46022 8846 8886 8693 9164 + 46023 9164 8846 8885 8693 + 46024 8694 9032 8989 8848 + 46025 8766 9032 8847 8694 + 46026 8848 8766 8694 9032 + 46027 8780 8847 9032 8694 + 46028 8694 8780 9116 9032 + 46029 9032 8694 8989 9116 + 46030 8990 8850 8695 8781 + 46031 8988 8849 9070 8696 + 46032 9091 8990 9166 8696 + 46033 8696 9091 8991 9166 + 46034 8988 9070 9168 8696 + 46035 8696 8781 9231 8990 + 46036 8696 9231 8991 9091 + 46037 9091 8696 9231 8990 + 46038 8781 8696 9231 9070 + 46039 9168 9231 8991 8696 + 46040 9168 9070 9231 8696 + 46041 8696 9232 9089 9166 + 46042 8988 8696 9232 8849 + 46043 8696 8991 9232 9166 + 46044 9089 8696 8849 9232 + 46045 9168 9232 8988 8696 + 46046 9168 8991 9232 8696 + 46047 8754 8875 8845 8697 + 46048 8875 8845 8697 8961 + 46049 9050 8850 8993 8697 + 46050 8949 8697 8754 9050 + 46051 8697 8850 8993 9090 + 46052 8697 8850 9090 8781 + 46053 8949 8697 9050 9132 + 46054 8993 9132 9050 8697 + 46055 8754 9133 8875 8697 + 46056 8875 8697 9133 8961 + 46057 8949 8697 9133 8754 + 46058 9090 8697 8781 9165 + 46059 9165 8961 8697 8845 + 46060 8845 9165 8781 8697 + 46061 8961 9165 8697 9090 + 46062 9133 8697 8949 9272 + 46063 8697 8993 9132 9272 + 46064 9272 8949 9132 8697 + 46065 9272 8697 8993 9090 + 46066 8961 8697 9272 9090 + 46067 9133 8961 8697 9272 + 46068 8852 9260 8698 8971 + 46069 8764 8852 9260 8698 + 46070 9068 8971 8698 9260 + 46071 9068 9260 8698 8764 + 46072 8994 8887 8783 8699 + 46073 8887 8853 8699 9093 + 46074 8994 8699 9093 8887 + 46075 8862 9095 8893 8701 + 46076 8862 8794 9095 8701 + 46077 8794 8701 9236 9095 + 46078 8858 8788 9096 8703 + 46079 8790 9096 8703 8891 + 46080 9096 8703 8891 8858 + 46081 8857 9096 8788 8703 + 46082 9170 8994 8783 8704 + 46083 8704 8858 8788 9237 + 46084 8788 8704 9237 9170 + 46085 8994 9237 8704 9170 + 46086 8705 8837 9066 8771 + 46087 9081 8774 8705 8841 + 46088 8837 8980 8705 9153 + 46089 9066 9153 8837 8705 + 46090 8705 8841 9154 9081 + 46091 8705 8841 8771 9154 + 46092 8705 8771 9066 9154 + 46093 8774 8705 8856 9224 + 46094 8705 9224 8774 9081 + 46095 9276 8856 8705 9224 + 46096 8980 9276 8856 8705 + 46097 9276 9153 8705 8980 + 46098 9276 9081 8705 9153 + 46099 8705 9276 9224 9081 + 46100 9081 9278 8705 9153 + 46101 9066 9278 9153 8705 + 46102 9278 8705 9066 9154 + 46103 9081 9154 8705 9278 + 46104 8998 8906 8787 8706 + 46105 8790 8706 8998 9236 + 46106 9236 9001 8793 8707 + 46107 8918 8719 8708 8859 + 46108 8708 8719 9018 8860 + 46109 8719 9018 8918 8708 + 46110 9177 8708 8918 9018 + 46111 9177 9240 8708 9002 + 46112 8708 8859 9240 8918 + 46113 9240 8708 8918 9177 + 46114 8889 8791 9020 8709 + 46115 9107 9003 9185 8709 + 46116 9107 9185 8801 8709 + 46117 8709 9020 9003 9185 + 46118 8889 9240 8859 8709 + 46119 9279 9107 9240 8709 + 46120 9107 9279 9003 8709 + 46121 9279 9240 8889 8709 + 46122 8889 9020 9279 8709 + 46123 8709 9279 9003 9020 + 46124 9002 8792 8710 8892 + 46125 8892 8710 9004 8861 + 46126 9002 8892 8710 9100 + 46127 8710 9004 9100 8892 + 46128 9008 8908 8795 8711 + 46129 9008 8796 8908 8711 + 46130 8711 9008 8796 9102 + 46131 9102 8796 8711 9180 + 46132 8864 8928 8711 9180 + 46133 9102 9180 8711 8928 + 46134 8796 8711 9180 8864 + 46135 9243 8894 8711 8795 + 46136 8795 8711 9243 9008 + 46137 9243 8711 8928 9102 + 46138 8711 9243 9008 9102 + 46139 8711 8928 8894 9243 + 46140 8965 9184 9065 8712 + 46141 8712 9064 9218 8897 + 46142 9064 9300 8965 8712 + 46143 9218 9064 8712 9300 + 46144 8965 9300 9184 8712 + 46145 9218 8712 9184 9300 + 46146 9010 8910 8713 8895 + 46147 9010 8895 8713 8800 + 46148 8809 8714 9011 8910 + 46149 8809 9011 8714 8911 + 46150 8808 8870 8900 8715 + 46151 8869 8715 9103 8809 + 46152 9103 8900 8715 8869 + 46153 9103 8900 8870 8715 + 46154 8715 9103 8809 8911 + 46155 8870 8911 9103 8715 + 46156 8916 8890 8799 8717 + 46157 8717 8799 8916 9015 + 46158 8719 9018 8860 8890 + 46159 8918 9018 8719 9105 + 46160 8719 8890 8799 9105 + 46161 8719 9018 8890 9105 + 46162 9185 9016 8801 8720 + 46163 9185 9019 8720 8919 + 46164 8720 9185 9016 8917 + 46165 9019 9185 8720 8917 + 46166 8867 8811 8721 8898 + 46167 8804 8721 8898 8867 + 46168 8899 8722 9022 8922 + 46169 8722 8921 9022 9109 + 46170 8722 9022 8922 9109 + 46171 8722 9109 8922 9023 + 46172 8923 8723 9024 8805 + 46173 8925 8844 8884 8724 + 46174 8724 8884 8925 9026 + 46175 8724 8926 8884 9026 + 46176 8893 8727 8927 8862 + 46177 8727 8928 9027 8894 + 46178 8727 9027 8862 8894 + 46179 8862 8727 8927 9027 + 46180 9112 8927 8727 9027 + 46181 8727 8928 9112 9027 + 46182 9112 8928 8727 9025 + 46183 8934 8832 8885 8730 + 46184 8730 9031 8846 8885 + 46185 8730 8934 9031 8885 + 46186 9114 8731 9030 8931 + 46187 9029 8731 9189 8931 + 46188 9189 8731 9114 8931 + 46189 8868 8899 8732 8814 + 46190 8899 8732 9119 8868 + 46191 8808 9013 8733 8900 + 46192 8803 8912 9023 8733 + 46193 8912 9023 8733 9120 + 46194 9193 8733 9023 9120 + 46195 8900 8733 9193 9013 + 46196 9013 8912 8733 9247 + 46197 9247 8733 9193 9120 + 46198 9013 8733 9193 9247 + 46199 9247 8912 8733 9120 + 46200 8937 9012 8734 8815 + 46201 8913 9195 9287 8735 + 46202 9287 8911 8870 8735 + 46203 9287 9195 8911 8735 + 46204 8913 9287 8870 8735 + 46205 8803 9023 8912 8736 + 46206 8912 8736 9023 9120 + 46207 9187 9023 8736 9120 + 46208 9012 8912 9288 8736 + 46209 9120 8736 9187 9288 + 46210 9120 8912 8736 9288 + 46211 8815 8737 9121 9014 + 46212 8738 8816 8939 9122 + 46213 8738 9039 8816 9122 + 46214 8820 8739 9040 8940 + 46215 9123 8816 8739 9040 + 46216 9123 9040 8739 8940 + 46217 9040 8941 8740 9197 + 46218 8818 9042 9197 8740 + 46219 8820 8740 8942 9197 + 46220 9197 8820 8740 9040 + 46221 8942 8740 8818 9197 + 46222 8941 9197 9042 8740 + 46223 8818 8943 8742 9126 + 46224 8742 9126 8943 9044 + 46225 8824 8742 9044 9126 + 46226 8873 9046 8743 8945 + 46227 8743 8822 9046 8873 + 46228 9127 8743 8871 9046 + 46229 9127 8945 8743 9046 + 46230 9045 9198 8743 8871 + 46231 9198 8743 8871 9127 + 46232 8743 9126 8945 9198 + 46233 8945 8743 9198 9127 + 46234 9198 8743 9126 9045 + 46235 9128 9041 8744 8820 + 46236 8821 8745 8872 8950 + 46237 8745 8821 9125 9199 + 46238 8745 9048 8950 9199 + 46239 8745 8950 8821 9199 + 46240 8866 8745 9125 9200 + 46241 8874 8745 8866 9200 + 46242 8874 8951 8745 9200 + 46243 9200 8951 8745 9251 + 46244 9251 9199 9048 8745 + 46245 8745 9048 9251 8951 + 46246 8745 9125 9251 9199 + 46247 9200 8745 9125 9251 + 46248 8949 9050 8746 9132 + 46249 8746 8952 9051 9132 + 46250 8746 9051 8949 9132 + 46251 8947 9051 8747 8873 + 46252 9051 8823 8947 8747 + 46253 8822 8747 8952 9131 + 46254 8822 8873 8747 9131 + 46255 9131 8873 8747 9051 + 46256 9051 8952 8747 9131 + 46257 8876 8830 8748 9135 + 46258 8824 9202 8944 8748 + 46259 9202 8944 8748 9253 + 46260 9253 9135 8748 8953 + 46261 8748 8944 8876 9253 + 46262 8748 8876 9135 9253 + 46263 9253 8748 9202 8953 + 46264 9254 8947 8748 8873 + 46265 8947 8748 8830 9254 + 46266 9254 9135 8748 8830 + 46267 9135 9254 8748 8953 + 46268 9254 8748 8953 8873 + 46269 8826 8955 8874 8750 + 46270 8750 8874 9043 8955 + 46271 8826 8955 8750 9054 + 46272 9137 8750 9043 8955 + 46273 9054 8750 8825 9137 + 46274 8750 8948 8825 9137 + 46275 8750 9043 8948 9137 + 46276 9137 9054 8750 8955 + 46277 9057 8751 8827 8956 + 46278 8751 8956 9057 8828 + 46279 8955 8874 8752 8826 + 46280 9058 8874 8951 8752 + 46281 8874 8955 8752 9058 + 46282 8951 9140 9058 8752 + 46283 8951 8828 9140 8752 + 46284 8838 9049 8960 8753 + 46285 8753 8872 9049 8902 + 46286 9049 9208 8960 8753 + 46287 8902 9208 9049 8753 + 46288 8962 8901 8755 9052 + 46289 8845 9060 8875 8756 + 46290 8845 8963 9060 8756 + 46291 8875 9060 8901 8756 + 46292 9210 8901 8756 8962 + 46293 8756 9210 9060 8901 + 46294 8829 9142 8903 8757 + 46295 8829 9061 9142 8757 + 46296 8881 8758 8967 9143 + 46297 8758 8967 9143 9064 + 46298 9064 9143 8758 8965 + 46299 8965 9143 8758 9063 + 46300 9143 8881 8758 9211 + 46301 9143 8758 9063 9211 + 46302 9211 8881 8758 8831 + 46303 9211 8758 9063 8831 + 46304 8837 9064 8759 8897 + 46305 8760 8969 8831 8881 + 46306 9144 8880 8842 8760 + 46307 9144 8842 8881 8760 + 46308 8880 8969 8760 9144 + 46309 8969 8881 8760 9144 + 46310 8762 8877 8834 8964 + 46311 8964 8877 8835 8762 + 46312 9071 8964 8762 8834 + 46313 9069 8885 8934 8763 + 46314 8763 8934 9117 8885 + 46315 9069 8934 9213 8763 + 46316 9069 8763 9213 8972 + 46317 8763 9117 8934 9213 + 46318 8763 9073 8973 9213 + 46319 8763 8973 9117 9213 + 46320 9117 9214 8973 8763 + 46321 9214 9073 8973 8763 + 46322 9214 8970 9073 8763 + 46323 9117 9068 9214 8763 + 46324 8970 9214 9068 8763 + 46325 9259 8972 9213 8763 + 46326 9073 8763 8970 9259 + 46327 9073 9213 8763 9259 + 46328 8764 9260 8852 8974 + 46329 9068 9260 8764 9117 + 46330 9260 8764 9291 8974 + 46331 8974 8764 9291 8883 + 46332 8764 9260 9291 9117 + 46333 8764 8883 9035 9291 + 46334 8764 9035 9117 9291 + 46335 8834 8765 8878 8975 + 46336 8765 8834 8877 8975 + 46337 8880 9075 8843 8765 + 46338 8765 9075 8843 9147 + 46339 8765 8843 8878 9147 + 46340 8975 9147 8765 8878 + 46341 8877 9216 8765 8975 + 46342 8880 9216 9075 8765 + 46343 8877 8969 8765 9216 + 46344 8765 8880 9216 8969 + 46345 8975 8765 9147 9216 + 46346 9147 9075 9216 8765 + 46347 8848 8886 8766 9032 + 46348 9032 8766 8846 8886 + 46349 9076 9149 8767 8836 + 46350 9076 8976 8767 9149 + 46351 8976 8767 9149 8896 + 46352 8977 8851 9059 8769 + 46353 8977 9059 9217 8769 + 46354 8769 9217 8977 8836 + 46355 9217 9139 8959 8769 + 46356 8769 9059 9217 9139 + 46357 9150 8909 8770 8839 + 46358 9150 8770 8909 8978 + 46359 8879 8981 8839 8772 + 46360 8879 9067 8981 8772 + 46361 8839 9155 8966 8772 + 46362 8981 8839 8772 9155 + 46363 8772 8831 8969 9211 + 46364 8831 8966 9211 8772 + 46365 9220 8981 8772 9155 + 46366 8772 8981 9220 9067 + 46367 9293 9220 9067 8772 + 46368 8772 9155 8966 9293 + 46369 8772 8969 9293 9211 + 46370 9220 8772 9293 9155 + 46371 8966 9293 9211 8772 + 46372 9293 9067 8969 8772 + 46373 8773 8968 8840 9146 + 46374 9081 8982 8774 8841 + 46375 9158 8774 8853 9224 + 46376 8982 8774 9224 9081 + 46377 9158 8982 8774 9224 + 46378 9146 9080 8840 8775 + 46379 8882 9146 8840 8775 + 46380 8775 9083 9157 8985 + 46381 9083 8775 9223 8985 + 46382 8775 9157 8984 9225 + 46383 9225 8775 9157 8985 + 46384 8882 8984 9225 8775 + 46385 9266 9080 8775 9223 + 46386 9266 8985 8775 9225 + 46387 9146 9266 9080 8775 + 46388 9146 9266 8775 8882 + 46389 9266 8775 8985 9223 + 46390 9225 8775 9266 8882 + 46391 8811 8933 9028 8776 + 46392 8811 9115 8933 8776 + 46393 9190 8812 8776 9034 + 46394 8776 9161 8930 9190 + 46395 9190 9034 8776 9161 + 46396 8812 8776 8930 9190 + 46397 9034 9226 8776 9161 + 46398 8776 8933 9028 9226 + 46399 9034 9226 9115 8776 + 46400 8776 9226 9028 8930 + 46401 9226 8930 8776 9161 + 46402 8776 9115 8933 9226 + 46403 8777 8883 9035 8813 + 46404 9118 9086 8777 8987 + 46405 8844 8987 9118 8777 + 46406 9156 8987 8777 9087 + 46407 8777 8844 9156 8883 + 46408 8844 8987 8777 9156 + 46409 8777 8987 9086 9162 + 46410 8777 8935 9162 9086 + 46411 9162 9087 8777 8987 + 46412 9118 9086 9189 8777 + 46413 8777 9189 8935 9086 + 46414 9162 9268 8777 9087 + 46415 8935 9268 8777 9162 + 46416 8777 9268 8935 9035 + 46417 9268 8777 9087 9291 + 46418 9156 9087 8777 9291 + 46419 8777 9156 9291 8883 + 46420 9268 9035 8777 9291 + 46421 8883 8777 9035 9291 + 46422 8805 8778 9111 8923 + 46423 8778 9269 9118 8884 + 46424 8884 8778 9269 9188 + 46425 9296 8778 9118 8923 + 46426 9188 9111 8778 9296 + 46427 9296 9118 8778 9269 + 46428 9296 9111 8778 8923 + 46429 9296 8778 9188 9269 + 46430 8849 8779 8988 9070 + 46431 8885 9069 9164 8779 + 46432 9069 8988 9164 8779 + 46433 8988 8779 9212 9070 + 46434 9212 9070 8779 8963 + 46435 8779 9212 9069 8988 + 46436 9212 9069 8972 8779 + 46437 9212 8972 8833 8779 + 46438 8833 8963 9212 8779 + 46439 9165 9070 8845 8781 + 46440 8850 8990 9167 8781 + 46441 8781 8850 9090 9167 + 46442 9090 8781 9231 9165 + 46443 8781 9090 9231 9167 + 46444 8990 9231 9167 8781 + 46445 8781 9231 9165 9070 + 46446 8782 9159 8888 8929 + 46447 8905 8782 9229 9159 + 46448 9159 9273 8929 8782 + 46449 9273 9229 8782 9159 + 46450 8994 8783 8887 9170 + 46451 9170 8783 8887 8854 + 46452 8784 8855 9094 8954 + 46453 8996 9094 8784 9171 + 46454 9207 9138 8996 8784 + 46455 8956 8784 9138 9207 + 46456 9138 8996 8784 9233 + 46457 8784 9233 8957 9138 + 46458 9233 8784 8957 9171 + 46459 9233 8996 8784 9171 + 46460 8954 9275 8784 9054 + 46461 8954 9094 8784 9275 + 46462 9275 9094 8784 8996 + 46463 9207 8784 9275 9054 + 46464 9275 8784 9207 8996 + 46465 8997 8855 8786 9172 + 46466 9055 8786 8855 9172 + 46467 8893 9113 8907 8787 + 46468 9095 8893 8787 9113 + 46469 8906 9235 8787 8929 + 46470 8906 8998 8787 9235 + 46471 9095 8787 9235 9113 + 46472 9235 8787 8929 9113 + 46473 8857 8995 8788 9096 + 46474 9096 8788 8858 9237 + 46475 9237 9096 8788 9277 + 46476 9237 8788 9170 9277 + 46477 9277 8788 9170 8995 + 46478 9277 8788 8995 9096 + 46479 8861 9000 8790 8891 + 46480 8790 9000 9096 8891 + 46481 8790 9097 9000 8861 + 46482 8790 8998 9097 9236 + 46483 8790 9239 9000 9097 + 46484 9000 9096 9239 8790 + 46485 9239 9097 8790 8998 + 46486 8791 9020 9001 8889 + 46487 9020 8791 9001 8863 + 46488 8793 8892 9176 9005 + 46489 9005 8793 9178 9101 + 46490 8793 9178 8892 9005 + 46491 9178 8861 8793 8892 + 46492 8861 9178 8793 9097 + 46493 9097 8793 9006 9178 + 46494 8793 9101 9006 9178 + 46495 9236 9006 9097 8793 + 46496 9241 8793 9176 9005 + 46497 9241 9101 8793 9005 + 46498 9241 9006 8793 9101 + 46499 9241 8793 9006 9176 + 46500 9236 9280 9006 8793 + 46501 8793 9176 9001 9280 + 46502 9280 9001 8793 9236 + 46503 8793 9280 9006 9176 + 46504 9020 8863 9001 8794 + 46505 8794 9020 8863 8919 + 46506 9179 8862 8919 8794 + 46507 8794 8862 9242 9179 + 46508 8794 9242 8862 9095 + 46509 9020 9001 9280 8794 + 46510 9236 9280 9001 8794 + 46511 8794 9298 9020 8919 + 46512 9179 8919 9298 8794 + 46513 9298 9020 9280 8794 + 46514 9302 9095 8794 9236 + 46515 9298 9302 9179 8794 + 46516 9302 9095 9242 8794 + 46517 9302 8794 9280 9236 + 46518 9298 9302 8794 9280 + 46519 8794 9242 9302 9179 + 46520 8795 9019 9007 8894 + 46521 9106 9019 9007 8795 + 46522 9010 8908 8795 9181 + 46523 8908 9008 8795 9181 + 46524 9007 8795 8894 9243 + 46525 8795 9010 9181 9281 + 46526 8795 9181 9008 9281 + 46527 8795 9007 9281 9243 + 46528 9106 9281 9010 8795 + 46529 9007 8795 9281 9106 + 46530 8795 9281 9008 9243 + 46531 8864 8796 9037 9180 + 46532 9182 9194 8796 8936 + 46533 8869 8908 9194 8796 + 46534 9008 9194 8908 8796 + 46535 8869 9194 8936 8796 + 46536 9194 8796 9008 9182 + 46537 9182 8796 9008 9244 + 46538 8796 9008 9244 9102 + 46539 9180 9102 8796 9244 + 46540 9182 9283 8796 9244 + 46541 9180 8796 9283 9244 + 46542 9182 8796 9283 8936 + 46543 9037 8936 9283 8796 + 46544 9180 9283 8796 9037 + 46545 8916 8799 8890 9105 + 46546 8915 9105 8799 9015 + 46547 9105 8916 8799 9015 + 46548 8915 9107 9016 8801 + 46549 9016 9107 9185 8801 + 46550 8804 8898 9110 8867 + 46551 8804 9110 8898 8921 + 46552 8923 9024 9111 8805 + 46553 9013 8870 8900 8808 + 46554 8809 9011 8908 8910 + 46555 8809 8908 9011 9103 + 46556 9103 8911 9011 8809 + 46557 8908 8809 8869 9103 + 46558 9021 8811 8933 8867 + 46559 8867 9021 8811 8898 + 46560 9021 8811 9115 8933 + 46561 9034 8931 9190 8812 + 46562 8812 9190 9030 8931 + 46563 8930 9190 9033 8812 + 46564 8868 8814 9024 9108 + 46565 8814 8868 8899 9108 + 46566 8814 9024 9108 8920 + 46567 8814 8920 9186 8898 + 46568 8814 9108 9186 8920 + 46569 8937 9104 9012 8815 + 46570 9014 9104 8937 8815 + 46571 9014 8815 8937 9121 + 46572 9196 8939 9123 8816 + 46573 9123 9196 8816 9040 + 46574 9196 8938 9039 8816 + 46575 9196 8816 9039 9122 + 46576 8816 8939 9122 9196 + 46577 9196 9040 8938 8816 + 46578 8818 9249 9197 9042 + 46579 8942 8818 9249 9197 + 46580 9249 9126 8818 9045 + 46581 9045 8818 9249 8942 + 46582 8818 9249 9042 8943 + 46583 9249 9126 8943 8818 + 46584 9045 8946 8871 8819 + 46585 9045 9128 8946 8819 + 46586 9197 8940 8820 9040 + 46587 8820 8940 9250 9041 + 46588 8820 8942 9250 9197 + 46589 9250 9128 8820 9041 + 46590 8942 8820 9250 9128 + 46591 9250 9197 8940 8820 + 46592 8943 8821 9044 9199 + 46593 9125 9199 8821 8943 + 46594 9130 9044 8821 9199 + 46595 9252 8821 8872 8950 + 46596 8821 9252 9199 8950 + 46597 8872 9252 8902 8821 + 46598 8902 8821 9252 9130 + 46599 9130 8821 9252 9199 + 46600 8873 8822 9046 9131 + 46601 8949 8823 9133 9051 + 46602 9051 8823 9201 8947 + 46603 9133 9201 8823 8875 + 46604 9201 8901 8823 8875 + 46605 9133 8823 9201 9051 + 46606 9202 8824 9044 9126 + 46607 8824 9202 9044 8944 + 46608 8954 9137 9054 8825 + 46609 8825 9129 9055 9204 + 46610 8948 8825 9204 9129 + 46611 8954 9204 8825 9055 + 46612 8954 9204 9137 8825 + 46613 9137 9204 8948 8825 + 46614 8956 8827 9205 9056 + 46615 8827 9205 9057 8956 + 46616 9205 9139 8827 9057 + 46617 9205 8827 9139 8958 + 46618 8828 8956 9057 9140 + 46619 9057 8828 9140 8959 + 46620 8951 8828 9048 9140 + 46621 9206 9140 8828 8959 + 46622 8904 9206 8950 8828 + 46623 9140 8828 9048 9206 + 46624 9206 8828 8904 8959 + 46625 9048 8950 9206 8828 + 46626 8960 8829 9142 8903 + 46627 8829 9209 8876 8960 + 46628 8960 8829 9209 9142 + 46629 9061 8829 9142 9209 + 46630 8876 9052 8830 9135 + 46631 9254 9052 9135 8830 + 46632 8947 8830 9052 9254 + 46633 9211 8881 8831 8969 + 46634 8966 9063 8831 9211 + 46635 8832 9117 8934 8885 + 46636 9212 8833 9071 8963 + 46637 8972 8833 9071 9212 + 46638 8834 8878 9074 8975 + 46639 8878 8834 9074 8970 + 46640 9215 8970 9074 8834 + 46641 8975 9215 9074 8834 + 46642 9261 9215 8975 8834 + 46643 8964 9261 8834 9071 + 46644 9261 8834 8877 8964 + 46645 9261 8975 8877 8834 + 46646 9215 8834 9261 9071 + 46647 8836 8977 9076 9151 + 46648 9217 9151 8977 8836 + 46649 9217 9264 9151 8836 + 46650 9077 8836 9264 9217 + 46651 9264 8836 9149 9076 + 46652 9149 8836 9264 8978 + 46653 8836 9076 9264 9151 + 46654 8836 9077 9264 8978 + 46655 9153 8967 8837 9064 + 46656 8837 9066 8967 9153 + 46657 9064 8837 9153 9218 + 46658 8980 9153 8837 9218 + 46659 8897 8837 9064 9218 + 46660 8897 8980 8837 9218 + 46661 9150 9219 8838 8979 + 46662 8979 8838 9049 9219 + 46663 9219 8838 9049 8960 + 46664 8966 9079 8839 8909 + 46665 9079 9150 8839 8909 + 46666 8966 9155 8839 9079 + 46667 8839 9150 9079 9265 + 46668 8839 9079 9155 9265 + 46669 8981 9265 8839 9155 + 46670 8968 9080 8840 9146 + 46671 9080 8968 8840 9154 + 46672 9154 8982 9081 8841 + 46673 8842 9066 9144 8967 + 46674 8842 9144 8881 8967 + 46675 9146 8843 9075 8971 + 46676 8878 8971 9147 8843 + 46677 8843 9147 9075 8971 + 46678 8884 8844 8987 9118 + 46679 9036 8925 8844 9228 + 46680 9036 8844 9156 9228 + 46681 8844 9228 8987 9156 + 46682 8884 9228 8844 8925 + 46683 9228 8844 8987 8884 + 46684 9060 8845 8875 8961 + 46685 8845 9070 9165 8963 + 46686 9060 9165 8845 8961 + 46687 8845 9165 9060 8963 + 46688 8846 8885 9031 9164 + 46689 9230 8932 8846 9032 + 46690 8846 9230 8886 9164 + 46691 8886 8846 9032 9230 + 46692 9031 8846 9230 8932 + 46693 9164 9031 8846 9230 + 46694 8886 8989 9032 8848 + 46695 8989 9089 8848 8886 + 46696 9089 8849 8886 9232 + 46697 8988 9232 8886 8849 + 46698 9167 8993 8850 9090 + 46699 8852 9160 9036 8974 + 46700 9160 8852 8905 8882 + 46701 9036 9160 8852 8905 + 46702 9260 9160 8852 8974 + 46703 9295 8882 9072 8852 + 46704 9295 9160 8852 9260 + 46705 8971 9295 9072 8852 + 46706 8852 9295 9260 8971 + 46707 9160 9295 8852 8882 + 46708 8887 9158 8853 9093 + 46709 8853 9224 9274 9158 + 46710 9158 9274 8853 9093 + 46711 8888 8854 8995 9084 + 46712 9084 8854 8983 9157 + 46713 9170 8854 9084 8995 + 46714 9170 8983 9084 8854 + 46715 9170 8887 8983 8854 + 46716 8954 9234 9055 8855 + 46717 9172 9234 8855 9055 + 46718 8954 9094 9234 8855 + 46719 8997 9234 9094 8855 + 46720 8997 9172 9234 8855 + 46721 9096 8857 8995 9174 + 46722 8995 9238 9174 8857 + 46723 8906 9174 9238 8857 + 46724 8857 9238 8906 8888 + 46725 8857 8995 9238 8888 + 46726 9175 8891 8858 9096 + 46727 8999 9175 8858 9096 + 46728 9096 8858 8999 9237 + 46729 8918 9240 9017 8859 + 46730 8861 9099 9000 8891 + 46731 8861 9099 9004 9178 + 46732 8861 9000 9178 9097 + 46733 8861 9000 9099 9178 + 46734 9178 9004 8861 8892 + 46735 8862 8927 8893 9095 + 46736 9179 8894 8919 8862 + 46737 8862 9179 8894 9027 + 46738 8862 8927 9242 9027 + 46739 8862 9027 9242 9179 + 46740 8862 9242 8927 9095 + 46741 8864 8928 9180 9025 + 46742 8864 9180 9282 9025 + 46743 8864 9025 9282 8924 + 46744 8864 9037 9282 9180 + 46745 9037 9282 8924 8864 + 46746 8966 8909 8865 9079 + 46747 9009 9065 8865 9183 + 46748 9183 8865 8965 9065 + 46749 9079 8966 9183 8865 + 46750 8865 8896 9245 9284 + 46751 9009 8865 9284 9183 + 46752 8865 9284 9245 9009 + 46753 9284 8896 8909 8865 + 46754 9284 8865 8909 9079 + 46755 9079 9183 9284 8865 + 46756 9063 8865 8965 9285 + 46757 8965 8865 9183 9285 + 46758 8966 8865 9285 9183 + 46759 9063 8966 8865 9285 + 46760 9200 9125 8866 9042 + 46761 8866 9200 9289 8874 + 46762 8941 9289 8866 9042 + 46763 8941 9289 9043 8866 + 46764 9200 8866 9289 9042 + 46765 9289 8874 9043 8866 + 46766 9021 9110 8898 8867 + 46767 9021 8933 9110 8867 + 46768 8868 9037 9192 8924 + 46769 8868 9192 9037 9119 + 46770 8868 9024 9246 9108 + 46771 8868 9024 8924 9246 + 46772 8924 8868 9246 9192 + 46773 9246 9286 9192 8868 + 46774 8899 9119 9286 8868 + 46775 9108 9246 8868 9286 + 46776 9108 8868 8899 9286 + 46777 8868 9286 9192 9119 + 46778 9103 8936 8900 8869 + 46779 9103 9194 8936 8869 + 46780 8908 9194 9103 8869 + 46781 8870 9013 9287 8913 + 46782 8900 9013 9287 8870 + 46783 8870 9103 8911 9287 + 46784 9103 9287 8870 8900 + 46785 9198 8946 8871 9045 + 46786 8871 9198 9127 8946 + 46787 9252 8872 9049 8950 + 46788 9252 8902 9049 8872 + 46789 9051 8947 9136 8873 + 46790 9131 9203 8873 9051 + 46791 8873 9046 9203 9131 + 46792 8873 9203 9046 8945 + 46793 9134 8873 9203 8953 + 46794 8873 9203 8945 9134 + 46795 9051 9136 9203 8873 + 46796 9254 8947 8873 9136 + 46797 9254 8873 9203 9136 + 46798 8873 9254 9203 8953 + 46799 9200 8874 8951 9255 + 46800 8874 9058 9255 8955 + 46801 8955 8874 9043 9255 + 46802 9058 8874 9255 8951 + 46803 9200 9289 8874 9255 + 46804 9289 9043 8874 9255 + 46805 8901 9060 8875 9141 + 46806 8961 8875 9060 9141 + 46807 9201 9133 8961 8875 + 46808 9141 8875 8901 9201 + 46809 9201 8961 9141 8875 + 46810 9062 8876 8960 9208 + 46811 8902 8876 8944 9208 + 46812 9062 9135 9209 8876 + 46813 9209 8876 9135 9052 + 46814 9062 8876 9209 8960 + 46815 9208 9253 9062 8876 + 46816 9062 9253 9135 8876 + 46817 9253 8944 8876 9208 + 46818 8877 9067 8969 9216 + 46819 9261 8877 8975 9148 + 46820 9261 8877 9148 8964 + 46821 9148 9262 9067 8877 + 46822 9262 8877 8975 9216 + 46823 8975 9148 8877 9262 + 46824 9262 9067 8877 9216 + 46825 8878 8975 9147 9074 + 46826 9214 8878 9068 8971 + 46827 8970 9068 9214 8878 + 46828 9214 9263 8878 8971 + 46829 8970 9214 9263 8878 + 46830 8878 9147 9263 9074 + 46831 8878 9074 9263 8970 + 46832 8971 9147 9263 8878 + 46833 8880 9144 9075 9216 + 46834 8880 8969 9144 9216 + 46835 8881 9082 9143 8967 + 46836 8881 9144 9082 8967 + 46837 8881 8969 9211 9144 + 46838 9143 9082 8881 9211 + 46839 9211 8881 9144 9082 + 46840 8882 9160 8986 9085 + 46841 9160 8905 9085 8882 + 46842 8984 9225 9085 8882 + 46843 8882 8986 9225 9085 + 46844 8882 9072 9266 8986 + 46845 8882 9072 9146 9266 + 46846 8882 9266 9225 8986 + 46847 9295 8882 9160 8986 + 46848 9295 9072 8882 8986 + 46849 8974 9291 9156 8883 + 46850 8884 9026 9163 8925 + 46851 8884 9088 9228 9163 + 46852 8987 9088 9228 8884 + 46853 8884 9228 8925 9163 + 46854 9269 9118 8884 8987 + 46855 8884 9269 9088 9188 + 46856 9269 8884 9088 8987 + 46857 8884 9270 9188 9088 + 46858 8884 9163 9026 9270 + 46859 8884 8926 9188 9270 + 46860 8884 9088 9163 9270 + 46861 8884 9026 8926 9270 + 46862 9069 8934 8885 9164 + 46863 9031 8885 8934 9164 + 46864 9164 8886 8988 9092 + 46865 8992 9169 8886 9089 + 46866 8886 9169 8989 9089 + 46867 8992 9092 8886 9169 + 46868 9164 9230 8886 9092 + 46869 8992 8886 9232 9089 + 46870 8992 9232 8886 9092 + 46871 9092 9232 8886 8988 + 46872 9271 8989 8886 9169 + 46873 9271 8886 8989 9032 + 46874 9271 9230 9092 8886 + 46875 9271 8886 9032 9230 + 46876 8886 9092 9271 9169 + 46877 8983 9158 8887 9093 + 46878 8994 9093 9170 8887 + 46879 8983 9170 9093 8887 + 46880 9159 8906 8888 8929 + 46881 8906 8888 9238 9159 + 46882 9084 8888 8984 9238 + 46883 9084 8995 8888 9238 + 46884 8984 8888 9159 9238 + 46885 8889 9020 9001 9176 + 46886 8889 9279 9176 9240 + 46887 9020 9279 9176 8889 + 46888 8916 8890 9018 9105 + 46889 9175 9000 8891 9096 + 46890 9175 8891 9000 9099 + 46891 9005 9100 9178 8892 + 46892 9178 9100 9004 8892 + 46893 9240 9297 8892 9002 + 46894 9176 8892 9240 9297 + 46895 9005 9297 9100 8892 + 46896 9002 9297 8892 9100 + 46897 9005 8892 9176 9297 + 46898 8927 8893 9113 8907 + 46899 8893 9113 9095 8927 + 46900 9019 9179 8894 8919 + 46901 9007 9179 8894 9019 + 46902 9007 9243 8894 9179 + 46903 9027 9179 8894 9243 + 46904 9027 8894 8928 9243 + 46905 8910 8895 9010 8908 + 46906 8976 9149 9245 8896 + 46907 9149 9245 8896 9284 + 46908 9149 9284 8896 8909 + 46909 8898 9110 9186 8921 + 46910 8898 9110 9021 9186 + 46911 9021 9186 8920 8898 + 46912 8899 9022 9286 8922 + 46913 9022 8899 9286 9108 + 46914 9038 8936 8900 9103 + 46915 9248 9193 8900 9119 + 46916 8900 9038 9193 9248 + 46917 8900 9119 8936 9248 + 46918 8900 8936 9038 9248 + 46919 9038 8900 9287 9103 + 46920 9287 9193 8900 9038 + 46921 8900 9193 9287 9013 + 46922 9060 9141 8901 9210 + 46923 8962 8901 9141 9210 + 46924 9290 8901 9141 8962 + 46925 9290 9052 8901 8962 + 46926 9141 9201 8901 9290 + 46927 9201 9052 8901 9290 + 46928 9208 8902 9130 8944 + 46929 9049 8902 9252 9208 + 46930 9130 8902 9208 9252 + 46931 8960 9142 9078 8903 + 46932 9221 8903 8981 9078 + 46933 9221 9142 8903 9078 + 46934 9206 8959 8904 9152 + 46935 9206 8904 9292 9152 + 46936 9292 8904 9206 8950 + 46937 9036 9229 9160 8905 + 46938 9229 8905 9085 9160 + 46939 9159 9229 8905 9085 + 46940 9159 8929 9098 8906 + 46941 9098 9174 8906 9235 + 46942 8998 8906 9174 9235 + 46943 8906 9098 9235 8929 + 46944 8906 9238 9098 9159 + 46945 9238 8906 9098 9174 + 46946 8927 9113 9026 8907 + 46947 8910 9010 9181 8908 + 46948 8910 9181 9011 8908 + 46949 9103 8908 9011 9194 + 46950 9194 9181 8908 9011 + 46951 8908 9008 9181 9194 + 46952 9149 9284 8909 9299 + 46953 9299 8909 9150 9079 + 46954 8909 8978 9299 9150 + 46955 9079 9284 9299 8909 + 46956 9149 8909 8978 9299 + 46957 9195 8911 9103 9287 + 46958 9011 8911 9103 9303 + 46959 9103 8911 9195 9303 + 46960 9247 8912 9104 9013 + 46961 9247 9288 8912 9120 + 46962 8912 9247 9304 9288 + 46963 9104 8912 9247 9304 + 46964 9104 9012 8912 9304 + 46965 8912 9304 9012 9288 + 46966 9247 9104 8913 9013 + 46967 8913 9247 9013 9287 + 46968 9104 9247 8913 9304 + 46969 9287 9247 9305 8913 + 46970 9287 9305 9195 8913 + 46971 9104 9304 8913 9400 + 46972 9104 8913 9014 9400 + 46973 8913 9487 9304 9247 + 46974 9304 9400 9487 8913 + 46975 9247 9305 8913 9487 + 46976 8915 9306 9105 9015 + 46977 9017 9105 8915 9306 + 46978 9016 9307 9107 8915 + 46979 9107 9401 9017 8915 + 46980 9107 8915 9307 9401 + 46981 9017 8915 9401 9306 + 46982 9105 9306 8916 9015 + 46983 9105 9402 8916 9306 + 46984 9105 9018 8916 9402 + 46985 9106 9308 9019 8917 + 46986 9185 8917 9403 9016 + 46987 8917 9403 9308 9019 + 46988 8917 9185 9403 9019 + 46989 9240 9309 8918 9017 + 46990 8918 9240 9177 9309 + 46991 9402 8918 9309 9017 + 46992 9105 8918 9018 9402 + 46993 9402 8918 9177 9309 + 46994 9018 8918 9177 9402 + 46995 9017 9402 8918 9105 + 46996 9179 9298 8919 9019 + 46997 8919 9298 9020 9185 + 46998 9019 8919 9185 9298 + 46999 9108 9024 9246 8920 + 47000 9227 9024 8920 9246 + 47001 9227 9021 9311 8920 + 47002 9186 9311 9021 8920 + 47003 8920 9311 9227 9406 + 47004 8920 9186 9311 9406 + 47005 8920 9227 9246 9406 + 47006 9186 9108 9406 8920 + 47007 8920 9246 9108 9406 + 47008 9022 8921 9312 9109 + 47009 9490 9110 8921 9186 + 47010 8921 9312 9490 9022 + 47011 9490 8921 9022 9186 + 47012 9023 8922 9187 9109 + 47013 9187 8922 9023 9120 + 47014 9193 9023 8922 9120 + 47015 9193 9313 8922 9286 + 47016 9120 9193 9313 8922 + 47017 9187 9408 9109 8922 + 47018 9187 8922 9120 9408 + 47019 9313 9120 8922 9408 + 47020 9408 9491 8922 9313 + 47021 8922 9491 9022 9286 + 47022 9491 9109 9408 8922 + 47023 8922 9491 9286 9313 + 47024 9109 9022 8922 9491 + 47025 8923 9296 9111 9024 + 47026 9315 8923 9118 9029 + 47027 8923 9315 9118 9296 + 47028 9315 8923 9029 9267 + 47029 9227 9410 9267 8923 + 47030 8923 9410 9296 9024 + 47031 9227 9410 8923 9024 + 47032 9315 9410 8923 9267 + 47033 8923 9410 9315 9296 + 47034 8924 9025 9282 9111 + 47035 9037 9409 9192 8924 + 47036 8924 9111 9409 9024 + 47037 8924 9246 9409 9192 + 47038 8924 9111 9282 9409 + 47039 8924 9282 9037 9409 + 47040 9409 8924 9024 9246 + 47041 9026 9163 8925 9273 + 47042 9228 8925 9163 9317 + 47043 9317 9273 9229 8925 + 47044 9163 9273 9317 8925 + 47045 8925 9036 9317 9228 + 47046 9036 9229 8925 9317 + 47047 9188 9112 8926 9025 + 47048 8926 9188 9270 9112 + 47049 9270 9026 8926 9112 + 47050 8927 9242 9411 9095 + 47051 9027 8927 9242 9411 + 47052 9027 9112 8927 9411 + 47053 9026 9112 9411 8927 + 47054 9026 9411 9113 8927 + 47055 9113 9411 9095 8927 + 47056 9316 9180 9102 8928 + 47057 9025 9316 8928 9180 + 47058 9112 9316 8928 9025 + 47059 9316 9112 8928 9027 + 47060 9243 8928 9413 9102 + 47061 9413 8928 9316 9102 + 47062 9316 8928 9413 9027 + 47063 9027 8928 9413 9243 + 47064 8929 9113 9273 9235 + 47065 8929 9273 9098 9235 + 47066 9273 9098 9159 8929 + 47067 9033 8930 9161 9190 + 47068 8931 9189 9029 9267 + 47069 9190 8931 9321 9030 + 47070 9114 9030 9321 8931 + 47071 9034 9414 8931 9267 + 47072 8931 9190 9321 9414 + 47073 9190 9414 8931 9034 + 47074 8931 9497 9189 9267 + 47075 9497 8931 9414 9267 + 47076 9189 9114 9497 8931 + 47077 9114 8931 9321 9572 + 47078 9114 9497 8931 9572 + 47079 9572 9321 9414 8931 + 47080 9572 9414 9497 8931 + 47081 9271 9116 9190 8932 + 47082 9230 9271 8932 9032 + 47083 9271 9032 9116 8932 + 47084 9190 9321 8932 9030 + 47085 9190 9321 9271 8932 + 47086 9321 9030 9114 8932 + 47087 9415 9321 8932 9271 + 47088 8932 9031 9114 9415 + 47089 9415 8932 9230 9271 + 47090 8932 9114 9321 9415 + 47091 9031 9230 9415 8932 + 47092 9110 9407 8933 9021 + 47093 9021 9115 9407 8933 + 47094 9498 8933 9115 9226 + 47095 9115 9407 8933 9498 + 47096 9191 9031 8934 9322 + 47097 9031 8934 9322 9164 + 47098 9035 8934 9325 9191 + 47099 9035 9325 8934 9117 + 47100 9325 8934 9117 9213 + 47101 9191 8934 9417 9322 + 47102 9164 8934 9322 9417 + 47103 9164 9069 8934 9417 + 47104 9069 8934 9417 9213 + 47105 9417 9213 8934 9325 + 47106 9417 9325 8934 9191 + 47107 9035 8935 9191 9268 + 47108 9326 9191 8935 9268 + 47109 9162 9268 9326 8935 + 47110 9162 9326 9418 8935 + 47111 9086 9162 9418 8935 + 47112 9497 8935 9114 9189 + 47113 9418 9326 9497 8935 + 47114 9189 9497 8935 9086 + 47115 9418 8935 9497 9086 + 47116 9191 9326 8935 9572 + 47117 9326 9572 9497 8935 + 47118 9497 9572 9114 8935 + 47119 9572 8935 9191 9114 + 47120 9038 9194 8936 9103 + 47121 9038 9194 9182 8936 + 47122 8936 9037 9283 9119 + 47123 9283 9328 8936 9119 + 47124 9328 9182 9283 8936 + 47125 9248 8936 9328 9119 + 47126 8936 9182 9038 9420 + 47127 9328 9420 9182 8936 + 47128 9038 9420 9248 8936 + 47129 9420 9248 8936 9328 + 47130 9304 9012 8937 9104 + 47131 8937 9014 9400 9104 + 47132 8937 9400 9304 9104 + 47133 9014 9400 9121 8937 + 47134 9330 9040 8938 9196 + 47135 9124 9330 9040 8938 + 47136 8938 9124 9330 9047 + 47137 9129 9047 8938 9331 + 47138 9039 9196 9331 8938 + 47139 9129 8938 9039 9331 + 47140 9423 9196 8938 9331 + 47141 8938 9330 9423 9047 + 47142 9423 8938 9047 9331 + 47143 9330 8938 9423 9196 + 47144 8939 9332 9196 9123 + 47145 8939 9196 9332 9424 + 47146 9424 8939 9196 9122 + 47147 9123 9196 9040 8940 + 47148 9196 9330 9040 8940 + 47149 9330 9040 8940 9197 + 47150 9332 9123 8940 9196 + 47151 8940 9425 9250 9041 + 47152 8940 9123 9425 9041 + 47153 9123 8940 9425 9332 + 47154 9197 9330 9506 8940 + 47155 8940 9506 9250 9425 + 47156 9197 9506 9250 8940 + 47157 9579 9506 9330 8940 + 47158 9579 9425 8940 9332 + 47159 9332 8940 9579 9196 + 47160 9196 9579 9330 8940 + 47161 8940 9579 9506 9425 + 47162 9040 9124 8941 9197 + 47163 9289 8941 9043 9124 + 47164 9426 9124 8941 9289 + 47165 9426 9042 8941 9197 + 47166 9124 9197 9426 8941 + 47167 9042 9289 9426 8941 + 47168 9045 8942 9427 9128 + 47169 9427 9128 8942 9250 + 47170 9249 8942 9427 9045 + 47171 9250 9197 8942 9580 + 47172 9427 9250 8942 9580 + 47173 9427 8942 9249 9580 + 47174 9249 9580 8942 9197 + 47175 8943 9249 9042 9334 + 47176 9334 9042 8943 9125 + 47177 8943 9249 9335 9126 + 47178 9335 9044 8943 9126 + 47179 9125 8943 9428 9199 + 47180 9334 8943 9428 9125 + 47181 9199 9044 8943 9509 + 47182 9044 8943 9509 9335 + 47183 8943 9335 9428 9509 + 47184 8943 9509 9428 9199 + 47185 9428 9334 9510 8943 + 47186 9510 9249 8943 9334 + 47187 8943 9335 9249 9510 + 47188 9428 9510 9335 8943 + 47189 9044 8944 9253 9130 + 47190 9253 9202 8944 9044 + 47191 9130 8944 9253 9208 + 47192 9053 8945 9126 9198 + 47193 9337 8945 9203 9134 + 47194 9053 9337 8945 9198 + 47195 8945 9053 9134 9337 + 47196 9430 8945 9203 9337 + 47197 9430 8945 9127 9046 + 47198 9430 9203 8945 9046 + 47199 9430 9127 8945 9512 + 47200 9430 8945 9337 9512 + 47201 9337 9198 9512 8945 + 47202 9127 9512 9198 8945 + 47203 8946 9198 9336 9045 + 47204 9427 8946 9045 9128 + 47205 8946 9336 9427 9045 + 47206 9336 9513 8946 9427 + 47207 9427 9513 8946 9128 + 47208 8946 9127 9581 9198 + 47209 8946 9581 9336 9198 + 47210 8946 9581 9513 9336 + 47211 9136 8947 9051 9201 + 47212 9136 9254 8947 9201 + 47213 9254 9052 8947 9201 + 47214 9204 9129 9047 8948 + 47215 9255 9137 8948 9043 + 47216 9289 9124 9043 8948 + 47217 9255 8948 9289 9043 + 47218 9137 8948 9340 9255 + 47219 9289 9340 8948 9255 + 47220 9508 9047 9124 8948 + 47221 9340 9289 8948 9508 + 47222 9289 9508 9124 8948 + 47223 8948 9047 9204 9583 + 47224 8948 9508 9047 9583 + 47225 9137 8948 9204 9583 + 47226 9508 9583 8948 9340 + 47227 9340 9583 8948 9137 + 47228 9272 9132 8949 9051 + 47229 9051 8949 9272 9133 + 47230 9252 9048 9199 8950 + 47231 9048 9252 9292 8950 + 47232 9292 9206 9048 8950 + 47233 9252 9049 9292 8950 + 47234 9048 8951 9140 9342 + 47235 8951 9343 9251 9200 + 47236 9343 8951 9255 9200 + 47237 8951 9343 9433 9251 + 47238 9342 9048 8951 9433 + 47239 8951 9433 9048 9251 + 47240 9255 9343 9434 8951 + 47241 9434 9058 9255 8951 + 47242 9514 8951 9343 9433 + 47243 9434 9514 9058 8951 + 47244 9514 9140 8951 9342 + 47245 9514 9140 9058 8951 + 47246 9343 9514 9434 8951 + 47247 9342 8951 9514 9433 + 47248 8952 9051 9344 9131 + 47249 9051 9132 8952 9344 + 47250 9202 8953 9134 9347 + 47251 9135 9347 8953 9253 + 47252 9347 9202 8953 9253 + 47253 9203 8953 9254 9437 + 47254 9203 9134 8953 9437 + 47255 9519 9254 8953 9437 + 47256 9135 9519 9254 8953 + 47257 9519 8953 9347 9134 + 47258 9519 8953 9134 9437 + 47259 9347 8953 9519 9135 + 47260 9054 9137 8954 9275 + 47261 9234 8954 9348 9094 + 47262 9275 9348 8954 9094 + 47263 8954 9522 9348 9275 + 47264 8954 9522 9439 9348 + 47265 9522 9275 8954 9137 + 47266 9055 9523 9234 8954 + 47267 9204 9523 9055 8954 + 47268 9234 9348 8954 9523 + 47269 8954 9348 9439 9523 + 47270 9523 9204 9583 8954 + 47271 9523 9583 9439 8954 + 47272 8954 9583 9439 9522 + 47273 9137 9204 8954 9583 + 47274 8954 9522 9137 9583 + 47275 9137 8955 9058 9207 + 47276 9137 9054 8955 9207 + 47277 8955 9043 9137 9255 + 47278 9137 9255 9058 8955 + 47279 8956 9205 9138 9056 + 47280 9138 9057 9205 8956 + 47281 9138 9256 9057 8956 + 47282 9256 9138 9207 8956 + 47283 9057 8956 9256 9140 + 47284 9056 8957 9233 9138 + 47285 9350 9059 8958 9139 + 47286 9350 9139 8958 9205 + 47287 8959 9057 9441 9140 + 47288 9140 9441 8959 9206 + 47289 8959 9441 9152 9206 + 47290 9441 9057 8959 9524 + 47291 9057 9139 8959 9524 + 47292 9524 9441 9593 8959 + 47293 9524 9593 9139 8959 + 47294 9441 9152 9593 8959 + 47295 8959 9217 9152 9593 + 47296 8959 9139 9217 9593 + 47297 8960 9209 9062 9142 + 47298 9352 8960 9062 9142 + 47299 9352 9078 8960 9142 + 47300 9435 8960 9078 9219 + 47301 9435 9208 9062 8960 + 47302 9435 9049 8960 9219 + 47303 9435 9078 8960 9352 + 47304 9062 9435 8960 9352 + 47305 9208 9435 9049 8960 + 47306 9258 9060 8961 9165 + 47307 8961 9060 9258 9141 + 47308 9201 8961 9133 9272 + 47309 9345 8961 9141 9201 + 47310 9201 9345 8961 9272 + 47311 9090 9165 9353 8961 + 47312 9258 8961 9353 9165 + 47313 9444 8961 9090 9353 + 47314 8961 9444 9272 9345 + 47315 9090 8961 9444 9272 + 47316 9353 8961 9258 9525 + 47317 9444 9525 9345 8961 + 47318 9525 8961 9258 9141 + 47319 9353 9444 8961 9525 + 47320 9525 9345 8961 9141 + 47321 8962 9290 9052 9257 + 47322 9210 9061 9354 8962 + 47323 9257 9354 9061 8962 + 47324 8962 9290 9257 9354 + 47325 8962 9141 9290 9354 + 47326 9141 9354 8962 9210 + 47327 9212 9071 9145 8963 + 47328 9258 8963 9060 9165 + 47329 9145 8963 9258 9446 + 47330 9070 8963 9446 9165 + 47331 9258 9446 8963 9165 + 47332 9446 8963 9212 9145 + 47333 8963 9212 9070 9446 + 47334 9145 9261 8964 9071 + 47335 9061 9301 8964 9210 + 47336 9148 8964 9301 9261 + 47337 9526 9301 8964 9261 + 47338 9261 9145 8964 9526 + 47339 9145 9526 9210 8964 + 47340 9526 8964 9301 9210 + 47341 9143 8965 9285 9063 + 47342 9300 8965 9184 9285 + 47343 9064 9300 9143 8965 + 47344 9285 9300 8965 9143 + 47345 8965 9183 9355 9285 + 47346 8965 9184 9355 9065 + 47347 9183 8965 9355 9065 + 47348 9355 9184 8965 9285 + 47349 9211 8966 9063 9285 + 47350 9293 9285 8966 9211 + 47351 9293 8966 9285 9356 + 47352 9079 8966 9356 9183 + 47353 9293 9155 8966 9356 + 47354 8966 9356 9155 9079 + 47355 9356 9183 8966 9285 + 47356 9300 9143 8967 9064 + 47357 9153 9300 9082 8967 + 47358 9082 8967 9300 9143 + 47359 9153 9064 9300 8967 + 47360 9153 8967 9082 9357 + 47361 9153 9066 8967 9357 + 47362 8967 9066 9144 9357 + 47363 8967 9144 9082 9357 + 47364 9278 9222 8968 9066 + 47365 9278 9066 8968 9154 + 47366 8968 9358 9146 9222 + 47367 9358 9080 8968 9146 + 47368 9359 9278 8968 9154 + 47369 9080 8968 9154 9359 + 47370 9449 9222 8968 9278 + 47371 9449 8968 9359 9278 + 47372 9358 9222 8968 9449 + 47373 9358 8968 9080 9449 + 47374 9449 9359 8968 9080 + 47375 9293 9216 8969 9067 + 47376 9293 8969 9448 9211 + 47377 9216 9144 9448 8969 + 47378 9448 9211 8969 9144 + 47379 8969 9216 9293 9448 + 47380 8970 9073 9360 9214 + 47381 9263 9360 8970 9074 + 47382 8970 9263 9214 9360 + 47383 9074 8970 9450 9360 + 47384 9215 9074 8970 9450 + 47385 9215 9450 8970 9259 + 47386 9360 8970 9450 9073 + 47387 9259 9450 8970 9073 + 47388 9068 9214 8971 9260 + 47389 9214 9260 9295 8971 + 47390 9358 9075 9147 8971 + 47391 9358 9072 9146 8971 + 47392 8971 9263 9147 9358 + 47393 9146 9075 9358 8971 + 47394 9214 9295 9451 8971 + 47395 9451 8971 9358 9263 + 47396 8971 9295 9451 9072 + 47397 9451 9072 9358 8971 + 47398 8971 9263 9451 9214 + 47399 9259 9212 8972 9071 + 47400 9361 9069 9213 8972 + 47401 9361 8972 9259 9212 + 47402 9069 8972 9361 9212 + 47403 9361 9213 9259 8972 + 47404 8973 9291 9214 9117 + 47405 9325 9117 8973 9213 + 47406 8973 9325 9291 9117 + 47407 9073 9325 8973 9213 + 47408 8973 9360 9073 9214 + 47409 9453 9360 9073 8973 + 47410 9453 8973 9073 9325 + 47411 8973 9365 9533 9453 + 47412 9453 9533 8973 9325 + 47413 9291 9533 9325 8973 + 47414 8973 9534 9365 9453 + 47415 9453 9534 9360 8973 + 47416 9601 9365 9533 8973 + 47417 9601 9534 9365 8973 + 47418 9601 8973 9214 9360 + 47419 9291 8973 9214 9601 + 47420 9534 9360 8973 9601 + 47421 9601 9291 8973 9533 + 47422 9260 9419 9160 8974 + 47423 9156 8974 9036 9419 + 47424 8974 9291 9260 9419 + 47425 8974 9156 9291 9419 + 47426 9419 9036 9160 8974 + 47427 9215 8975 9366 9261 + 47428 8975 9366 9148 9262 + 47429 9261 8975 9366 9148 + 47430 8975 9535 9074 9215 + 47431 9454 8975 9366 9535 + 47432 8975 9366 9535 9215 + 47433 9454 9074 8975 9535 + 47434 9454 8975 9074 9536 + 47435 9536 9147 8975 9074 + 47436 8975 9147 9603 9216 + 47437 8975 9603 9454 9366 + 47438 9454 9603 8975 9536 + 47439 9147 9603 9536 8975 + 47440 9603 9366 8975 9262 + 47441 9262 8975 9603 9216 + 47442 9076 9245 8976 9149 + 47443 9059 8977 9217 9151 + 47444 9299 9077 8978 9264 + 47445 9299 8978 9149 9264 + 47446 9150 8978 9299 9077 + 47447 9371 9077 8979 9150 + 47448 8979 9371 9150 9219 + 47449 8979 9457 9371 9219 + 47450 8979 9049 9516 9219 + 47451 8979 9457 9219 9516 + 47452 9516 9292 9049 8979 + 47453 9371 9457 8979 9538 + 47454 9538 9077 9152 8979 + 47455 9538 9077 8979 9371 + 47456 8979 9516 9292 9594 + 47457 9594 9152 8979 9538 + 47458 9516 9594 8979 9457 + 47459 9457 9594 8979 9538 + 47460 9594 8979 9152 9292 + 47461 9153 8980 9372 9218 + 47462 9153 9276 9372 8980 + 47463 9067 9220 9294 8981 + 47464 9265 8981 9373 9155 + 47465 8981 9373 9155 9220 + 47466 9294 9220 9373 8981 + 47467 9294 9373 9606 8981 + 47468 9373 8981 9265 9606 + 47469 8981 9078 9606 9221 + 47470 9606 9294 8981 9221 + 47471 9078 9606 9265 8981 + 47472 9223 8982 9081 9154 + 47473 8982 9274 9224 9158 + 47474 9083 9274 8982 9158 + 47475 9224 8982 9374 9274 + 47476 9081 9224 8982 9374 + 47477 9083 8982 9274 9462 + 47478 9462 9374 8982 9274 + 47479 9081 9374 8982 9462 + 47480 8982 9462 9223 9081 + 47481 9083 9462 9223 8982 + 47482 9158 8983 9274 9093 + 47483 9083 8983 9274 9158 + 47484 9157 8983 9084 9376 + 47485 9157 9083 8983 9376 + 47486 9377 8983 9170 9093 + 47487 9093 9463 9377 8983 + 47488 8983 9274 9093 9463 + 47489 8983 9545 9274 9463 + 47490 8983 9545 9463 9376 + 47491 9545 8983 9274 9083 + 47492 9376 8983 9545 9083 + 47493 9170 9377 9546 8983 + 47494 9463 9546 9377 8983 + 47495 8983 9463 9546 9376 + 47496 9170 8983 9546 9084 + 47497 9376 9546 8983 9084 + 47498 8984 9159 9085 9238 + 47499 9464 8984 9085 9238 + 47500 8984 9464 9084 9238 + 47501 9157 9464 9084 8984 + 47502 9464 8984 9157 9225 + 47503 9225 9085 9464 8984 + 47504 9223 8985 9266 9375 + 47505 8985 9157 9376 9083 + 47506 9083 8985 9223 9462 + 47507 9375 9223 8985 9462 + 47508 9157 9464 8985 9376 + 47509 9225 9157 9464 8985 + 47510 9376 8985 9083 9545 + 47511 9545 9462 9375 8985 + 47512 9545 9083 9462 8985 + 47513 8985 9225 9266 9611 + 47514 8985 9266 9375 9611 + 47515 9225 9611 8985 9464 + 47516 9376 9652 9464 8985 + 47517 8985 9545 9376 9652 + 47518 9375 9652 8985 9611 + 47519 8985 9375 9545 9652 + 47520 9464 8985 9652 9611 + 47521 9451 8986 9072 9295 + 47522 8986 9451 9072 9364 + 47523 8986 9072 9531 9364 + 47524 9531 8986 9266 9072 + 47525 8986 9160 9547 9085 + 47526 8986 9466 9547 9364 + 47527 9611 8986 9225 9266 + 47528 9085 8986 9225 9611 + 47529 9085 9547 8986 9611 + 47530 8986 9466 9611 9547 + 47531 9531 9364 9653 8986 + 47532 9653 8986 9466 9611 + 47533 8986 9653 9466 9364 + 47534 9611 9653 8986 9266 + 47535 9266 8986 9531 9653 + 47536 8986 9547 9654 9364 + 47537 9295 9654 9451 8986 + 47538 9160 9654 9295 8986 + 47539 9364 9654 8986 9451 + 47540 9160 9547 9654 8986 + 47541 9156 9228 8987 9087 + 47542 9162 9086 9269 8987 + 47543 9118 9086 8987 9269 + 47544 9269 9380 8987 9088 + 47545 8987 9162 9087 9380 + 47546 9380 8987 9228 9087 + 47547 9380 8987 9088 9228 + 47548 8987 9162 9380 9269 + 47549 8988 9070 9212 9168 + 47550 9361 9069 8988 9164 + 47551 9361 8988 9069 9212 + 47552 9598 8988 9212 9168 + 47553 9598 9168 9469 8988 + 47554 9361 9598 9469 8988 + 47555 9361 9598 8988 9212 + 47556 8988 9617 9232 9168 + 47557 9092 9617 9232 8988 + 47558 9361 8988 9617 9164 + 47559 9361 9469 9617 8988 + 47560 9164 8988 9617 9092 + 47561 9617 9469 9168 8988 + 47562 9032 8989 9271 9116 + 47563 9323 8989 9116 9271 + 47564 9271 9323 8989 9169 + 47565 9091 9231 9167 8990 + 47566 9382 9231 8991 9168 + 47567 9382 9168 8991 9469 + 47568 8991 9232 9166 9470 + 47569 8991 9166 9091 9470 + 47570 8991 9553 9091 9231 + 47571 9554 9232 8991 9470 + 47572 9617 8991 9232 9168 + 47573 9469 9168 8991 9617 + 47574 8991 9618 9553 9231 + 47575 9231 9618 9382 8991 + 47576 8991 9554 9470 9620 + 47577 9091 8991 9470 9620 + 47578 9553 8991 9091 9620 + 47579 9469 9554 9661 8991 + 47580 9232 9554 8991 9661 + 47581 9232 8991 9617 9661 + 47582 9469 9661 9617 8991 + 47583 8991 9662 9554 9620 + 47584 9662 9618 9553 8991 + 47585 9662 9382 9618 8991 + 47586 8991 9553 9662 9620 + 47587 8991 9469 9554 9662 + 47588 8991 9382 9469 9662 + 47589 9381 9089 9169 8992 + 47590 9381 9232 9089 8992 + 47591 9384 8992 9169 9092 + 47592 9473 9384 8992 9555 + 47593 8992 9381 9555 9169 + 47594 9555 9384 8992 9169 + 47595 9555 9473 9622 8992 + 47596 9555 9622 9381 8992 + 47597 8992 9661 9473 9622 + 47598 8992 9232 9661 9381 + 47599 9381 9661 8992 9622 + 47600 8992 9232 9092 9661 + 47601 9680 8992 9384 9092 + 47602 9384 9473 8992 9680 + 47603 9680 8992 9661 9473 + 47604 9680 8992 9092 9661 + 47605 9436 9132 8993 9272 + 47606 9272 8993 9436 9090 + 47607 9619 8993 9167 9090 + 47608 9090 9619 8993 9436 + 47609 8994 9377 9170 9093 + 47610 8994 9377 9237 9170 + 47611 9096 8995 9277 9174 + 47612 9084 9170 8995 9277 + 47613 9084 9277 8995 9378 + 47614 8995 9174 9378 9277 + 47615 8995 9378 9174 9238 + 47616 9378 9238 8995 9084 + 47617 8996 9207 9256 9138 + 47618 9207 9256 9351 8996 + 47619 9275 8996 9207 9351 + 47620 9233 9440 9138 8996 + 47621 8996 9256 9440 9138 + 47622 9351 9256 9440 8996 + 47623 9475 9233 9171 8996 + 47624 9171 8996 9094 9475 + 47625 9475 9556 9233 8996 + 47626 9233 9556 9440 8996 + 47627 8996 9556 9386 9475 + 47628 9624 8996 9094 9275 + 47629 9624 8996 9475 9094 + 47630 9475 9386 8996 9624 + 47631 9275 9624 8996 9351 + 47632 9663 8996 9556 9386 + 47633 9663 9440 9556 8996 + 47634 9351 9663 8996 9440 + 47635 9624 9386 8996 9663 + 47636 9663 9624 9351 8996 + 47637 9171 8997 9385 9094 + 47638 8997 9094 9234 9385 + 47639 8997 9234 9476 9385 + 47640 9172 9234 9476 8997 + 47641 9236 8998 9097 9173 + 47642 9239 9097 8998 9173 + 47643 8998 9388 9173 9235 + 47644 9239 9174 9388 8998 + 47645 8998 9388 9239 9173 + 47646 8998 9174 9388 9235 + 47647 9277 9096 8999 9237 + 47648 9096 8999 9478 9277 + 47649 9175 9478 9096 8999 + 47650 8999 9478 9392 9560 + 47651 9478 9560 8999 9175 + 47652 9628 9478 8999 9277 + 47653 9392 8999 9628 9478 + 47654 9277 8999 9628 9237 + 47655 9096 9175 9000 9390 + 47656 9239 9000 9390 9096 + 47657 9239 9000 9480 9390 + 47658 9239 9480 9000 9097 + 47659 9000 9480 9178 9097 + 47660 9099 9000 9175 9481 + 47661 9175 9000 9390 9481 + 47662 9000 9390 9481 9561 + 47663 9000 9480 9390 9561 + 47664 9481 9099 9000 9561 + 47665 9561 9099 9000 9178 + 47666 9561 9480 9178 9000 + 47667 9001 9280 9176 9020 + 47668 9240 9297 9002 9562 + 47669 9100 9562 9002 9297 + 47670 9002 9562 9177 9240 + 47671 9298 9003 9020 9185 + 47672 9020 9298 9310 9003 + 47673 9020 9310 9279 9003 + 47674 9003 9107 9185 9403 + 47675 9307 9107 9003 9403 + 47676 9003 9482 9310 9279 + 47677 9403 9185 9003 9489 + 47678 9298 9003 9489 9310 + 47679 9489 9185 9003 9298 + 47680 9279 9107 9003 9570 + 47681 9003 9107 9307 9570 + 47682 9482 9279 9003 9570 + 47683 9482 9310 9629 9003 + 47684 9489 9629 9310 9003 + 47685 9667 9307 9570 9003 + 47686 9403 9003 9667 9489 + 47687 9667 9403 9307 9003 + 47688 9667 9482 9629 9003 + 47689 9667 9629 9489 9003 + 47690 9667 9003 9570 9482 + 47691 9178 9004 9395 9099 + 47692 9004 9395 9483 9178 + 47693 9004 9178 9483 9100 + 47694 9005 9176 9394 9297 + 47695 9005 9101 9394 9241 + 47696 9005 9241 9394 9176 + 47697 9396 9005 9297 9100 + 47698 9483 9178 9005 9100 + 47699 9396 9483 9005 9100 + 47700 9297 9484 9005 9396 + 47701 9484 9005 9394 9297 + 47702 9484 9394 9005 9563 + 47703 9101 9563 9005 9394 + 47704 9005 9630 9178 9483 + 47705 9101 9005 9630 9178 + 47706 9005 9630 9563 9101 + 47707 9669 9484 9005 9563 + 47708 9396 9484 9005 9669 + 47709 9396 9005 9483 9669 + 47710 9669 9005 9630 9563 + 47711 9630 9669 9483 9005 + 47712 9236 9097 9006 9173 + 47713 9006 9302 9236 9173 + 47714 9236 9006 9280 9302 + 47715 9310 9006 9280 9176 + 47716 9310 9241 9006 9176 + 47717 9006 9280 9302 9310 + 47718 9480 9006 9101 9178 + 47719 9097 9006 9480 9178 + 47720 9006 9558 9480 9101 + 47721 9302 9558 9173 9006 + 47722 9241 9006 9558 9310 + 47723 9006 9302 9558 9310 + 47724 9558 9480 9097 9006 + 47725 9241 9558 9006 9101 + 47726 9558 9173 9006 9097 + 47727 9308 9106 9019 9007 + 47728 9179 9243 9320 9007 + 47729 9308 9405 9106 9007 + 47730 9405 9281 9106 9007 + 47731 9019 9007 9489 9308 + 47732 9489 9179 9007 9019 + 47733 9405 9564 9007 9320 + 47734 9564 9281 9405 9007 + 47735 9007 9564 9243 9320 + 47736 9564 9007 9243 9281 + 47737 9671 9489 9007 9308 + 47738 9489 9007 9179 9671 + 47739 9671 9007 9405 9308 + 47740 9671 9179 9320 9007 + 47741 9007 9320 9671 9405 + 47742 9008 9244 9102 9398 + 47743 9399 9181 9008 9194 + 47744 9399 9008 9182 9194 + 47745 9182 9244 9008 9399 + 47746 9564 9243 9008 9281 + 47747 9008 9102 9564 9398 + 47748 9102 9008 9564 9243 + 47749 9008 9398 9631 9244 + 47750 9008 9398 9564 9631 + 47751 9008 9631 9181 9399 + 47752 9399 9008 9631 9244 + 47753 9181 9281 9631 9008 + 47754 9631 9564 9008 9281 + 47755 9009 9355 9065 9183 + 47756 9009 9284 9567 9183 + 47757 9567 9245 9284 9009 + 47758 9567 9633 9009 9183 + 47759 9633 9355 9009 9183 + 47760 9011 9303 9103 9194 + 47761 9194 9399 9181 9011 + 47762 9399 9303 9011 9194 + 47763 9247 9193 9013 9287 + 47764 9403 9016 9307 9107 + 47765 9403 9185 9016 9107 + 47766 9017 9240 9307 9107 + 47767 9017 9307 9401 9107 + 47768 9105 9017 9402 9306 + 47769 9240 9404 9309 9017 + 47770 9404 9240 9307 9017 + 47771 9309 9017 9404 9488 + 47772 9307 9401 9488 9017 + 47773 9307 9488 9404 9017 + 47774 9402 9309 9569 9017 + 47775 9569 9488 9401 9017 + 47776 9569 9306 9402 9017 + 47777 9309 9569 9017 9488 + 47778 9569 9401 9306 9017 + 47779 9403 9019 9185 9489 + 47780 9403 9308 9019 9489 + 47781 9019 9185 9489 9298 + 47782 9179 9489 9298 9019 + 47783 9298 9310 9280 9020 + 47784 9020 9279 9310 9176 + 47785 9020 9310 9280 9176 + 47786 9311 9021 9227 9115 + 47787 9407 9021 9311 9115 + 47788 9311 9186 9021 9407 + 47789 9186 9110 9021 9407 + 47790 9186 9108 9022 9406 + 47791 9406 9108 9022 9286 + 47792 9022 9406 9490 9186 + 47793 9022 9312 9490 9406 + 47794 9022 9312 9491 9109 + 47795 9406 9286 9022 9491 + 47796 9406 9491 9022 9312 + 47797 9227 9314 9024 9246 + 47798 9296 9314 9111 9024 + 47799 9024 9246 9314 9409 + 47800 9314 9111 9024 9409 + 47801 9227 9314 9410 9024 + 47802 9296 9410 9314 9024 + 47803 9111 9188 9025 9282 + 47804 9025 9282 9316 9180 + 47805 9282 9025 9316 9188 + 47806 9188 9025 9316 9112 + 47807 9273 9318 9113 9026 + 47808 9273 9163 9318 9026 + 47809 9026 9318 9113 9411 + 47810 9494 9318 9163 9026 + 47811 9026 9494 9318 9411 + 47812 9112 9411 9494 9026 + 47813 9163 9270 9494 9026 + 47814 9270 9494 9026 9112 + 47815 9179 9320 9243 9027 + 47816 9027 9413 9320 9243 + 47817 9495 9242 9027 9179 + 47818 9320 9027 9495 9413 + 47819 9495 9179 9027 9320 + 47820 9027 9411 9242 9495 + 47821 9027 9316 9112 9571 + 47822 9316 9413 9571 9027 + 47823 9027 9571 9495 9413 + 47824 9027 9112 9411 9571 + 47825 9411 9495 9027 9571 + 47826 9189 9029 9267 9315 + 47827 9315 9118 9189 9029 + 47828 9164 9322 9031 9230 + 47829 9415 9031 9114 9191 + 47830 9415 9230 9031 9322 + 47831 9191 9415 9031 9322 + 47832 9033 9499 9116 9190 + 47833 9499 9033 9161 9190 + 47834 9324 9161 9034 9190 + 47835 9324 9034 9414 9190 + 47836 9416 9115 9267 9034 + 47837 9034 9498 9416 9115 + 47838 9034 9498 9115 9226 + 47839 9416 9267 9500 9034 + 47840 9500 9324 9034 9414 + 47841 9500 9267 9414 9034 + 47842 9573 9226 9498 9034 + 47843 9034 9161 9324 9573 + 47844 9161 9226 9573 9034 + 47845 9034 9500 9416 9573 + 47846 9034 9324 9500 9573 + 47847 9573 9498 9416 9034 + 47848 9035 9191 9325 9268 + 47849 9291 9035 9117 9325 + 47850 9291 9268 9035 9325 + 47851 9160 9317 9229 9036 + 47852 9036 9156 9419 9228 + 47853 9036 9419 9160 9317 + 47854 9036 9419 9317 9228 + 47855 9192 9283 9037 9119 + 47856 9283 9180 9327 9037 + 47857 9037 9283 9192 9327 + 47858 9282 9327 9180 9037 + 47859 9282 9409 9327 9037 + 47860 9037 9192 9409 9327 + 47861 9038 9287 9195 9103 + 47862 9103 9195 9038 9303 + 47863 9038 9303 9182 9194 + 47864 9038 9103 9303 9194 + 47865 9038 9182 9303 9420 + 47866 9287 9038 9195 9504 + 47867 9038 9193 9248 9504 + 47868 9038 9287 9193 9504 + 47869 9420 9504 9038 9248 + 47870 9038 9303 9195 9577 + 47871 9577 9038 9303 9420 + 47872 9504 9577 9038 9195 + 47873 9420 9038 9504 9577 + 47874 9196 9039 9331 9122 + 47875 9197 9330 9040 9124 + 47876 9250 9333 9128 9041 + 47877 9425 9041 9333 9250 + 47878 9334 9125 9200 9042 + 47879 9042 9334 9426 9200 + 47880 9042 9426 9289 9200 + 47881 9426 9334 9042 9580 + 47882 9426 9197 9580 9042 + 47883 9197 9249 9580 9042 + 47884 9249 9042 9334 9580 + 47885 9335 9202 9044 9126 + 47886 9202 9044 9429 9335 + 47887 9130 9253 9044 9429 + 47888 9253 9429 9202 9044 + 47889 9044 9509 9429 9335 + 47890 9044 9429 9509 9130 + 47891 9199 9130 9044 9509 + 47892 9198 9045 9511 9336 + 47893 9198 9126 9511 9045 + 47894 9511 9045 9126 9249 + 47895 9336 9045 9511 9427 + 47896 9249 9427 9511 9045 + 47897 9131 9046 9203 9430 + 47898 9204 9129 9432 9047 + 47899 9432 9331 9047 9129 + 47900 9047 9423 9339 9508 + 47901 9330 9124 9508 9047 + 47902 9330 9508 9423 9047 + 47903 9432 9047 9339 9583 + 47904 9432 9047 9583 9204 + 47905 9047 9339 9583 9508 + 47906 9432 9331 9584 9047 + 47907 9432 9584 9339 9047 + 47908 9339 9423 9047 9584 + 47909 9423 9047 9584 9331 + 47910 9342 9140 9048 9206 + 47911 9342 9206 9048 9433 + 47912 9433 9206 9048 9292 + 47913 9252 9048 9292 9433 + 47914 9433 9252 9048 9585 + 47915 9199 9252 9585 9048 + 47916 9433 9048 9251 9585 + 47917 9585 9048 9251 9199 + 47918 9252 9516 9292 9049 + 47919 9208 9049 9516 9252 + 47920 9435 9208 9049 9516 + 47921 9435 9516 9049 9219 + 47922 9272 9051 9133 9201 + 47923 9272 9136 9051 9201 + 47924 9051 9131 9203 9344 + 47925 9051 9272 9132 9344 + 47926 9051 9203 9136 9344 + 47927 9136 9272 9051 9344 + 47928 9209 9135 9257 9052 + 47929 9254 9135 9052 9290 + 47930 9254 9290 9052 9201 + 47931 9135 9052 9290 9257 + 47932 9335 9202 9126 9053 + 47933 9335 9429 9202 9053 + 47934 9429 9053 9134 9202 + 47935 9053 9337 9198 9431 + 47936 9053 9126 9511 9198 + 47937 9198 9511 9053 9431 + 47938 9126 9511 9335 9053 + 47939 9335 9053 9511 9582 + 47940 9053 9431 9582 9346 + 47941 9053 9511 9582 9431 + 47942 9053 9587 9431 9346 + 47943 9518 9346 9587 9053 + 47944 9053 9587 9337 9431 + 47945 9518 9639 9346 9053 + 47946 9639 9346 9053 9582 + 47947 9429 9335 9639 9053 + 47948 9335 9639 9053 9582 + 47949 9429 9053 9639 9518 + 47950 9640 9337 9134 9053 + 47951 9587 9640 9518 9053 + 47952 9640 9587 9337 9053 + 47953 9429 9053 9640 9134 + 47954 9640 9518 9053 9429 + 47955 9054 9207 9137 9275 + 47956 9432 9055 9129 9204 + 47957 9055 9432 9523 9204 + 47958 9172 9523 9234 9055 + 47959 9349 9138 9056 9233 + 47960 9349 9056 9138 9205 + 47961 9205 9057 9138 9349 + 47962 9057 9138 9349 9440 + 47963 9057 9440 9256 9138 + 47964 9205 9524 9057 9349 + 47965 9524 9057 9349 9440 + 47966 9205 9524 9139 9057 + 47967 9591 9057 9524 9440 + 47968 9256 9440 9057 9591 + 47969 9057 9441 9591 9524 + 47970 9057 9256 9591 9140 + 47971 9140 9057 9441 9591 + 47972 9140 9514 9058 9256 + 47973 9590 9434 9514 9058 + 47974 9207 9137 9590 9058 + 47975 9590 9058 9255 9434 + 47976 9590 9058 9256 9207 + 47977 9590 9514 9256 9058 + 47978 9590 9058 9137 9255 + 47979 9151 9059 9443 9217 + 47980 9059 9593 9443 9217 + 47981 9350 9443 9059 9593 + 47982 9350 9059 9139 9593 + 47983 9217 9139 9059 9593 + 47984 9060 9258 9141 9210 + 47985 9209 9142 9061 9257 + 47986 9301 9354 9061 9142 + 47987 9301 9061 9354 9210 + 47988 9061 9354 9257 9142 + 47989 9062 9257 9209 9135 + 47990 9257 9062 9209 9142 + 47991 9257 9438 9135 9062 + 47992 9438 9135 9062 9253 + 47993 9435 9062 9208 9520 + 47994 9062 9520 9253 9208 + 47995 9438 9520 9253 9062 + 47996 9527 9062 9142 9352 + 47997 9062 9438 9527 9257 + 47998 9257 9527 9062 9142 + 47999 9527 9596 9062 9352 + 48000 9596 9527 9062 9438 + 48001 9062 9352 9596 9435 + 48002 9062 9596 9520 9435 + 48003 9438 9596 9520 9062 + 48004 9211 9063 9143 9285 + 48005 9064 9153 9300 9218 + 48006 9222 9066 9278 9357 + 48007 9357 9278 9153 9066 + 48008 9222 9144 9066 9357 + 48009 9293 9262 9216 9067 + 48010 9220 9067 9262 9293 + 48011 9294 9262 9067 9148 + 48012 9220 9262 9067 9294 + 48013 9260 9068 9214 9117 + 48014 9069 9417 9164 9361 + 48015 9361 9417 9213 9069 + 48016 9446 9070 9165 9231 + 48017 9168 9070 9446 9231 + 48018 9446 9212 9070 9168 + 48019 9212 9145 9071 9259 + 48020 9145 9259 9215 9071 + 48021 9215 9261 9145 9071 + 48022 9358 9146 9072 9266 + 48023 9531 9266 9358 9072 + 48024 9364 9072 9531 9599 + 48025 9531 9072 9358 9599 + 48026 9364 9451 9072 9599 + 48027 9358 9072 9451 9599 + 48028 9360 9450 9600 9073 + 48029 9259 9600 9450 9073 + 48030 9600 9073 9453 9360 + 48031 9213 9073 9600 9259 + 48032 9453 9073 9600 9644 + 48033 9644 9213 9325 9073 + 48034 9644 9325 9453 9073 + 48035 9213 9600 9073 9644 + 48036 9074 9215 9535 9450 + 48037 9536 9360 9263 9074 + 48038 9263 9147 9536 9074 + 48039 9074 9535 9602 9450 + 48040 9536 9602 9360 9074 + 48041 9074 9602 9454 9536 + 48042 9074 9535 9454 9602 + 48043 9074 9450 9602 9360 + 48044 9222 9358 9146 9075 + 48045 9358 9147 9075 9222 + 48046 9075 9144 9222 9529 + 48047 9075 9216 9144 9529 + 48048 9216 9529 9075 9147 + 48049 9147 9075 9222 9529 + 48050 9245 9149 9076 9369 + 48051 9369 9076 9151 9264 + 48052 9264 9076 9149 9369 + 48053 9077 9370 9152 9217 + 48054 9077 9264 9370 9217 + 48055 9150 9299 9371 9077 + 48056 9456 9077 9264 9370 + 48057 9077 9456 9264 9299 + 48058 9371 9077 9299 9456 + 48059 9456 9538 9077 9370 + 48060 9371 9538 9077 9456 + 48061 9538 9152 9077 9370 + 48062 9221 9352 9142 9078 + 48063 9219 9078 9606 9265 + 48064 9221 9606 9352 9078 + 48065 9219 9648 9606 9078 + 48066 9648 9078 9435 9352 + 48067 9435 9078 9648 9219 + 48068 9648 9606 9078 9352 + 48069 9371 9150 9265 9079 + 48070 9371 9079 9299 9150 + 48071 9265 9079 9155 9459 + 48072 9356 9079 9459 9155 + 48073 9183 9079 9460 9356 + 48074 9460 9183 9284 9079 + 48075 9079 9284 9460 9299 + 48076 9079 9356 9607 9460 + 48077 9079 9460 9607 9299 + 48078 9607 9299 9371 9079 + 48079 9265 9607 9079 9459 + 48080 9079 9607 9356 9459 + 48081 9607 9079 9371 9265 + 48082 9080 9146 9358 9266 + 48083 9080 9154 9223 9359 + 48084 9223 9359 9449 9080 + 48085 9266 9223 9449 9080 + 48086 9080 9358 9449 9266 + 48087 9081 9359 9154 9278 + 48088 9081 9154 9359 9223 + 48089 9081 9276 9224 9374 + 48090 9359 9223 9462 9081 + 48091 9081 9543 9374 9462 + 48092 9543 9276 9081 9374 + 48093 9276 9081 9153 9605 + 48094 9276 9081 9605 9543 + 48095 9081 9359 9278 9605 + 48096 9278 9081 9605 9153 + 48097 9543 9081 9605 9651 + 48098 9651 9359 9462 9081 + 48099 9651 9543 9081 9462 + 48100 9081 9651 9359 9605 + 48101 9285 9082 9143 9211 + 48102 9285 9082 9300 9143 + 48103 9211 9144 9448 9082 + 48104 9448 9144 9357 9082 + 48105 9082 9300 9153 9458 + 48106 9082 9153 9357 9458 + 48107 9285 9458 9300 9082 + 48108 9285 9528 9458 9082 + 48109 9211 9082 9448 9528 + 48110 9285 9528 9082 9211 + 48111 9082 9357 9609 9458 + 48112 9458 9609 9082 9528 + 48113 9528 9609 9082 9448 + 48114 9082 9448 9609 9357 + 48115 9083 9274 9545 9462 + 48116 9084 9376 9464 9157 + 48117 9084 9546 9170 9277 + 48118 9378 9610 9084 9277 + 48119 9084 9277 9610 9546 + 48120 9376 9084 9464 9610 + 48121 9376 9610 9546 9084 + 48122 9238 9084 9610 9464 + 48123 9084 9378 9238 9610 + 48124 9229 9085 9465 9160 + 48125 9159 9465 9229 9085 + 48126 9160 9547 9085 9465 + 48127 9159 9548 9085 9238 + 48128 9548 9085 9465 9159 + 48129 9464 9085 9548 9238 + 48130 9611 9548 9085 9465 + 48131 9085 9465 9547 9611 + 48132 9085 9548 9611 9464 + 48133 9085 9611 9225 9464 + 48134 9269 9315 9118 9086 + 48135 9118 9189 9086 9315 + 48136 9269 9418 9315 9086 + 48137 9162 9086 9418 9269 + 48138 9315 9497 9189 9086 + 48139 9315 9418 9497 9086 + 48140 9156 9419 9087 9291 + 48141 9419 9087 9228 9156 + 48142 9162 9087 9380 9467 + 48143 9419 9533 9365 9087 + 48144 9291 9087 9268 9533 + 48145 9087 9533 9291 9419 + 48146 9467 9550 9087 9380 + 48147 9228 9380 9087 9550 + 48148 9365 9087 9533 9614 + 48149 9087 9657 9268 9533 + 48150 9087 9162 9657 9467 + 48151 9268 9657 9087 9162 + 48152 9533 9614 9087 9657 + 48153 9087 9657 9614 9467 + 48154 9614 9087 9467 9678 + 48155 9467 9678 9087 9550 + 48156 9365 9678 9087 9614 + 48157 9087 9550 9678 9228 + 48158 9419 9087 9678 9228 + 48159 9419 9365 9678 9087 + 48160 9319 9269 9188 9088 + 48161 9319 9188 9270 9088 + 48162 9088 9163 9270 9468 + 48163 9088 9468 9270 9319 + 48164 9163 9468 9088 9550 + 48165 9088 9550 9380 9228 + 48166 9228 9163 9088 9550 + 48167 9088 9658 9468 9319 + 48168 9269 9319 9658 9088 + 48169 9088 9658 9550 9468 + 48170 9269 9658 9380 9088 + 48171 9658 9088 9550 9380 + 48172 9166 9089 9381 9232 + 48173 9231 9165 9353 9090 + 48174 9167 9383 9090 9231 + 48175 9471 9231 9090 9383 + 48176 9231 9353 9471 9090 + 48177 9436 9521 9272 9090 + 48178 9090 9444 9521 9272 + 48179 9167 9383 9619 9090 + 48180 9383 9619 9090 9471 + 48181 9090 9436 9521 9619 + 48182 9521 9090 9619 9660 + 48183 9090 9471 9619 9660 + 48184 9660 9471 9353 9090 + 48185 9444 9090 9660 9353 + 48186 9521 9444 9090 9660 + 48187 9167 9091 9383 9231 + 48188 9553 9231 9383 9091 + 48189 9383 9553 9091 9620 + 48190 9230 9322 9092 9164 + 48191 9092 9415 9230 9271 + 48192 9415 9092 9230 9322 + 48193 9501 9092 9415 9322 + 48194 9164 9617 9322 9092 + 48195 9384 9169 9621 9092 + 48196 9621 9169 9271 9092 + 48197 9384 9621 9501 9092 + 48198 9621 9415 9501 9092 + 48199 9092 9621 9415 9271 + 48200 9617 9092 9232 9661 + 48201 9680 9092 9617 9661 + 48202 9384 9501 9680 9092 + 48203 9501 9092 9322 9680 + 48204 9680 9617 9092 9322 + 48205 9094 9474 9234 9385 + 48206 9234 9348 9474 9094 + 48207 9385 9171 9094 9475 + 48208 9275 9624 9348 9094 + 48209 9348 9624 9474 9094 + 48210 9624 9385 9474 9094 + 48211 9624 9475 9385 9094 + 48212 9173 9302 9236 9095 + 48213 9173 9095 9242 9302 + 48214 9242 9496 9411 9095 + 48215 9095 9113 9496 9411 + 48216 9173 9235 9496 9095 + 48217 9173 9496 9242 9095 + 48218 9235 9113 9496 9095 + 48219 9096 9478 9175 9390 + 48220 9277 9559 9478 9096 + 48221 9559 9478 9096 9390 + 48222 9174 9096 9239 9559 + 48223 9277 9096 9174 9559 + 48224 9559 9096 9239 9390 + 48225 9097 9239 9480 9558 + 48226 9558 9239 9173 9097 + 48227 9318 9098 9273 9235 + 48228 9378 9098 9174 9238 + 48229 9235 9388 9098 9174 + 48230 9098 9465 9273 9159 + 48231 9388 9098 9174 9479 + 48232 9378 9174 9098 9479 + 48233 9235 9318 9098 9496 + 48234 9496 9098 9235 9388 + 48235 9378 9098 9548 9479 + 48236 9548 9238 9098 9378 + 48237 9098 9393 9548 9479 + 48238 9548 9159 9098 9238 + 48239 9098 9548 9393 9465 + 48240 9548 9465 9098 9159 + 48241 9098 9393 9551 9465 + 48242 9551 9465 9273 9098 + 48243 9098 9273 9551 9318 + 48244 9666 9098 9318 9496 + 48245 9666 9479 9393 9098 + 48246 9098 9393 9666 9551 + 48247 9666 9388 9479 9098 + 48248 9496 9666 9098 9388 + 48249 9098 9551 9666 9318 + 48250 9561 9395 9099 9178 + 48251 9481 9395 9099 9561 + 48252 9396 9100 9297 9562 + 48253 9558 9101 9241 9397 + 48254 9480 9630 9178 9101 + 48255 9397 9563 9630 9101 + 48256 9670 9101 9394 9563 + 48257 9101 9397 9670 9241 + 48258 9241 9670 9101 9394 + 48259 9670 9397 9101 9563 + 48260 9480 9684 9630 9101 + 48261 9684 9101 9397 9630 + 48262 9101 9684 9397 9558 + 48263 9558 9684 9480 9101 + 48264 9413 9564 9243 9102 + 48265 9244 9180 9102 9565 + 48266 9244 9102 9398 9565 + 48267 9102 9565 9180 9316 + 48268 9632 9413 9102 9564 + 48269 9398 9564 9632 9102 + 48270 9683 9398 9632 9102 + 48271 9398 9102 9683 9565 + 48272 9102 9683 9565 9316 + 48273 9683 9413 9102 9632 + 48274 9316 9413 9102 9683 + 48275 9240 9107 9279 9570 + 48276 9240 9307 9107 9570 + 48277 9406 9108 9286 9246 + 48278 9408 9491 9312 9109 + 48279 9186 9490 9110 9407 + 48280 9493 9111 9314 9409 + 48281 9493 9282 9111 9409 + 48282 9111 9493 9296 9188 + 48283 9282 9111 9188 9493 + 48284 9111 9296 9493 9314 + 48285 9188 9316 9270 9112 + 48286 9270 9112 9316 9494 + 48287 9411 9494 9571 9112 + 48288 9571 9316 9112 9494 + 48289 9318 9273 9113 9235 + 48290 9318 9411 9496 9113 + 48291 9235 9318 9496 9113 + 48292 9415 9114 9572 9191 + 48293 9321 9114 9572 9415 + 48294 9227 9267 9416 9115 + 48295 9311 9227 9416 9115 + 48296 9498 9115 9407 9311 + 48297 9498 9416 9115 9311 + 48298 9116 9499 9323 9271 + 48299 9499 9271 9116 9190 + 48300 9260 9214 9291 9117 + 48301 9269 9118 9315 9296 + 48302 9248 9286 9193 9119 + 48303 9283 9192 9328 9119 + 48304 9119 9328 9248 9421 + 48305 9286 9248 9421 9119 + 48306 9119 9575 9328 9421 + 48307 9119 9575 9192 9328 + 48308 9192 9286 9575 9119 + 48309 9286 9421 9575 9119 + 48310 9422 9288 9247 9120 + 48311 9247 9193 9422 9120 + 48312 9120 9313 9193 9422 + 48313 9422 9492 9288 9120 + 48314 9408 9313 9120 9492 + 48315 9120 9492 9313 9422 + 48316 9408 9120 9187 9492 + 48317 9492 9120 9187 9288 + 48318 9122 9505 9331 9196 + 48319 9122 9424 9505 9196 + 48320 9426 9197 9124 9330 + 48321 9124 9426 9508 9289 + 48322 9426 9124 9508 9330 + 48323 9125 9200 9251 9334 + 48324 9334 9428 9251 9125 + 48325 9125 9428 9251 9199 + 48326 9126 9511 9249 9335 + 48327 9512 9581 9127 9198 + 48328 9427 9333 9128 9250 + 48329 9513 9333 9128 9427 + 48330 9199 9252 9130 9341 + 48331 9130 9253 9341 9208 + 48332 9130 9208 9341 9252 + 48333 9130 9341 9253 9429 + 48334 9509 9429 9341 9130 + 48335 9509 9199 9130 9341 + 48336 9203 9517 9131 9430 + 48337 9517 9131 9344 9203 + 48338 9344 9132 9436 9272 + 48339 9202 9134 9429 9347 + 48340 9337 9203 9437 9134 + 48341 9134 9437 9640 9519 + 48342 9134 9337 9640 9437 + 48343 9519 9347 9640 9134 + 48344 9429 9640 9347 9134 + 48345 9253 9347 9438 9135 + 48346 9347 9519 9438 9135 + 48347 9254 9588 9519 9135 + 48348 9519 9135 9588 9438 + 48349 9588 9135 9257 9438 + 48350 9254 9588 9135 9290 + 48351 9588 9257 9135 9290 + 48352 9272 9345 9136 9201 + 48353 9254 9136 9345 9201 + 48354 9136 9254 9345 9437 + 48355 9203 9437 9254 9136 + 48356 9345 9136 9521 9272 + 48357 9136 9521 9272 9344 + 48358 9136 9345 9589 9437 + 48359 9345 9589 9521 9136 + 48360 9589 9437 9203 9136 + 48361 9136 9344 9589 9521 + 48362 9203 9344 9589 9136 + 48363 9340 9522 9583 9137 + 48364 9522 9137 9590 9275 + 48365 9137 9340 9590 9255 + 48366 9340 9137 9590 9522 + 48367 9590 9137 9207 9275 + 48368 9138 9349 9440 9233 + 48369 9350 9139 9205 9524 + 48370 9593 9524 9139 9350 + 48371 9441 9140 9342 9206 + 48372 9140 9342 9514 9591 + 48373 9140 9514 9256 9591 + 48374 9140 9441 9342 9591 + 48375 9290 9141 9201 9345 + 48376 9258 9141 9210 9445 + 48377 9141 9445 9354 9210 + 48378 9445 9290 9141 9354 + 48379 9445 9141 9290 9525 + 48380 9258 9445 9525 9141 + 48381 9345 9290 9141 9525 + 48382 9221 9447 9301 9142 + 48383 9447 9142 9221 9352 + 48384 9142 9354 9257 9527 + 48385 9447 9527 9142 9352 + 48386 9301 9595 9354 9142 + 48387 9301 9447 9595 9142 + 48388 9142 9595 9354 9527 + 48389 9595 9142 9447 9527 + 48390 9144 9448 9357 9529 + 48391 9144 9357 9222 9529 + 48392 9144 9448 9529 9216 + 48393 9215 9363 9259 9145 + 48394 9215 9452 9363 9145 + 48395 9452 9215 9261 9145 + 48396 9145 9258 9210 9526 + 48397 9261 9452 9145 9526 + 48398 9530 9598 9145 9446 + 48399 9598 9259 9363 9145 + 48400 9212 9598 9145 9259 + 48401 9446 9212 9598 9145 + 48402 9530 9145 9598 9363 + 48403 9530 9643 9145 9363 + 48404 9363 9643 9145 9452 + 48405 9530 9446 9145 9643 + 48406 9258 9145 9446 9643 + 48407 9526 9145 9258 9643 + 48408 9526 9145 9643 9452 + 48409 9529 9147 9216 9367 + 48410 9536 9599 9147 9263 + 48411 9147 9599 9536 9367 + 48412 9147 9263 9599 9358 + 48413 9367 9536 9147 9603 + 48414 9603 9216 9147 9367 + 48415 9147 9367 9529 9645 + 48416 9358 9645 9147 9222 + 48417 9147 9645 9599 9367 + 48418 9147 9529 9222 9645 + 48419 9358 9599 9147 9645 + 48420 9262 9537 9366 9148 + 48421 9148 9262 9537 9294 + 48422 9604 9366 9537 9148 + 48423 9261 9148 9604 9301 + 48424 9261 9366 9604 9148 + 48425 9301 9148 9604 9294 + 48426 9148 9537 9604 9294 + 48427 9149 9284 9299 9245 + 48428 9149 9299 9369 9245 + 48429 9369 9264 9299 9149 + 48430 9371 9150 9219 9265 + 48431 9217 9264 9370 9151 + 48432 9151 9443 9370 9217 + 48433 9369 9151 9539 9264 + 48434 9370 9539 9151 9264 + 48435 9151 9443 9539 9370 + 48436 9152 9217 9370 9593 + 48437 9206 9152 9292 9594 + 48438 9206 9441 9152 9594 + 48439 9152 9370 9647 9593 + 48440 9593 9647 9152 9441 + 48441 9538 9647 9152 9370 + 48442 9441 9647 9152 9594 + 48443 9594 9647 9152 9538 + 48444 9540 9153 9372 9218 + 48445 9300 9218 9153 9540 + 48446 9153 9458 9300 9540 + 48447 9276 9153 9372 9605 + 48448 9357 9153 9605 9458 + 48449 9605 9540 9153 9372 + 48450 9153 9605 9458 9540 + 48451 9278 9605 9357 9153 + 48452 9373 9265 9155 9459 + 48453 9542 9459 9155 9356 + 48454 9155 9542 9356 9293 + 48455 9155 9459 9542 9373 + 48456 9220 9542 9373 9155 + 48457 9220 9293 9542 9155 + 48458 9159 9465 9273 9229 + 48459 9295 9419 9160 9260 + 48460 9317 9465 9160 9229 + 48461 9317 9160 9465 9547 + 48462 9419 9295 9160 9654 + 48463 9317 9419 9160 9654 + 48464 9654 9160 9317 9547 + 48465 9161 9499 9190 9324 + 48466 9326 9418 9549 9162 + 48467 9613 9162 9418 9269 + 48468 9467 9162 9549 9613 + 48469 9380 9613 9162 9467 + 48470 9549 9162 9418 9613 + 48471 9162 9269 9613 9380 + 48472 9657 9162 9268 9326 + 48473 9326 9549 9657 9162 + 48474 9162 9549 9657 9467 + 48475 9468 9270 9494 9163 + 48476 9468 9163 9494 9318 + 48477 9228 9317 9163 9550 + 48478 9318 9551 9163 9273 + 48479 9163 9317 9273 9551 + 48480 9163 9318 9468 9616 + 48481 9163 9468 9550 9616 + 48482 9551 9318 9163 9616 + 48483 9317 9550 9616 9163 + 48484 9317 9616 9551 9163 + 48485 9617 9164 9417 9361 + 48486 9322 9417 9617 9164 + 48487 9165 9231 9353 9446 + 48488 9353 9165 9446 9258 + 48489 9166 9232 9381 9470 + 48490 9168 9446 9382 9231 + 48491 9598 9168 9382 9469 + 48492 9382 9446 9168 9598 + 48493 9446 9598 9212 9168 + 48494 9555 9472 9384 9169 + 48495 9621 9271 9169 9323 + 48496 9472 9621 9384 9169 + 48497 9621 9169 9472 9323 + 48498 9546 9237 9377 9170 + 48499 9237 9170 9546 9277 + 48500 9172 9476 9234 9387 + 48501 9172 9234 9523 9387 + 48502 9242 9173 9302 9389 + 48503 9173 9389 9242 9496 + 48504 9173 9235 9388 9496 + 48505 9388 9477 9558 9173 + 48506 9558 9173 9389 9302 + 48507 9558 9239 9388 9173 + 48508 9389 9558 9477 9173 + 48509 9173 9388 9477 9627 + 48510 9173 9477 9389 9627 + 48511 9173 9388 9627 9496 + 48512 9173 9389 9496 9627 + 48513 9174 9479 9378 9559 + 48514 9277 9174 9378 9559 + 48515 9239 9174 9559 9388 + 48516 9174 9388 9479 9559 + 48517 9560 9481 9175 9390 + 48518 9478 9390 9560 9175 + 48519 9240 9176 9297 9279 + 48520 9176 9279 9310 9241 + 48521 9241 9176 9279 9394 + 48522 9176 9394 9297 9279 + 48523 9240 9177 9309 9562 + 48524 9630 9178 9395 9561 + 48525 9630 9395 9178 9483 + 48526 9630 9480 9178 9561 + 48527 9302 9298 9179 9310 + 48528 9179 9310 9485 9302 + 48529 9179 9242 9302 9485 + 48530 9298 9489 9179 9310 + 48531 9179 9485 9310 9489 + 48532 9495 9320 9485 9179 + 48533 9495 9242 9179 9485 + 48534 9489 9671 9179 9485 + 48535 9179 9485 9671 9320 + 48536 9180 9244 9283 9327 + 48537 9327 9282 9180 9565 + 48538 9180 9565 9244 9327 + 48539 9282 9316 9180 9565 + 48540 9399 9182 9303 9194 + 48541 9283 9502 9244 9182 + 48542 9502 9420 9182 9328 + 48543 9502 9182 9283 9328 + 48544 9182 9420 9502 9674 + 48545 9674 9303 9182 9420 + 48546 9182 9303 9674 9399 + 48547 9182 9502 9244 9674 + 48548 9182 9674 9244 9399 + 48549 9460 9183 9567 9284 + 48550 9183 9460 9568 9356 + 48551 9633 9355 9183 9568 + 48552 9568 9460 9183 9633 + 48553 9460 9183 9633 9567 + 48554 9634 9568 9183 9355 + 48555 9634 9355 9183 9285 + 48556 9634 9183 9568 9356 + 48557 9634 9285 9183 9356 + 48558 9300 9184 9218 9540 + 48559 9285 9675 9355 9184 + 48560 9540 9184 9675 9300 + 48561 9285 9300 9675 9184 + 48562 9311 9490 9186 9407 + 48563 9406 9490 9186 9311 + 48564 9188 9282 9412 9316 + 48565 9319 9412 9270 9188 + 48566 9188 9412 9270 9316 + 48567 9493 9269 9188 9319 + 48568 9282 9188 9412 9493 + 48569 9319 9493 9412 9188 + 48570 9493 9269 9296 9188 + 48571 9189 9267 9497 9315 + 48572 9414 9190 9499 9324 + 48573 9414 9499 9190 9321 + 48574 9271 9190 9499 9321 + 48575 9501 9415 9191 9322 + 48576 9417 9191 9322 9501 + 48577 9572 9191 9501 9415 + 48578 9191 9501 9326 9572 + 48579 9417 9191 9501 9574 + 48580 9574 9191 9501 9326 + 48581 9326 9574 9191 9268 + 48582 9325 9268 9191 9574 + 48583 9325 9191 9417 9574 + 48584 9192 9283 9502 9327 + 48585 9502 9192 9328 9283 + 48586 9286 9575 9246 9192 + 48587 9409 9246 9636 9192 + 48588 9575 9636 9192 9328 + 48589 9575 9246 9192 9636 + 48590 9192 9502 9636 9327 + 48591 9409 9636 9327 9192 + 48592 9192 9636 9502 9328 + 48593 9193 9248 9313 9286 + 48594 9193 9422 9504 9247 + 48595 9313 9193 9422 9504 + 48596 9193 9504 9287 9247 + 48597 9313 9248 9193 9504 + 48598 9305 9287 9195 9504 + 48599 9504 9305 9577 9195 + 48600 9332 9424 9196 9507 + 48601 9579 9196 9507 9332 + 48602 9423 9196 9579 9330 + 48603 9637 9196 9424 9507 + 48604 9331 9637 9196 9505 + 48605 9196 9423 9637 9331 + 48606 9579 9423 9637 9196 + 48607 9637 9579 9196 9507 + 48608 9637 9424 9196 9505 + 48609 9506 9197 9580 9330 + 48610 9426 9580 9197 9330 + 48611 9580 9250 9197 9506 + 48612 9336 9198 9431 9511 + 48613 9431 9337 9198 9512 + 48614 9431 9198 9336 9581 + 48615 9512 9431 9581 9198 + 48616 9199 9428 9251 9585 + 48617 9199 9585 9252 9341 + 48618 9585 9199 9509 9341 + 48619 9509 9428 9199 9585 + 48620 9343 9255 9289 9200 + 48621 9200 9334 9515 9251 + 48622 9200 9515 9343 9251 + 48623 9200 9334 9426 9515 + 48624 9200 9426 9289 9515 + 48625 9289 9515 9343 9200 + 48626 9290 9201 9254 9345 + 48627 9429 9202 9347 9253 + 48628 9203 9337 9517 9430 + 48629 9203 9517 9337 9437 + 48630 9203 9589 9517 9437 + 48631 9517 9344 9589 9203 + 48632 9583 9523 9432 9204 + 48633 9349 9442 9205 9524 + 48634 9350 9205 9442 9524 + 48635 9433 9594 9206 9292 + 48636 9342 9594 9441 9206 + 48637 9342 9594 9206 9433 + 48638 9256 9207 9351 9590 + 48639 9590 9207 9351 9275 + 48640 9435 9341 9208 9516 + 48641 9208 9516 9341 9252 + 48642 9435 9208 9341 9520 + 48643 9253 9520 9341 9208 + 48644 9301 9354 9526 9210 + 48645 9526 9258 9210 9445 + 48646 9526 9210 9354 9445 + 48647 9285 9293 9528 9211 + 48648 9448 9528 9293 9211 + 48649 9259 9212 9598 9361 + 48650 9361 9417 9532 9213 + 48651 9361 9532 9259 9213 + 48652 9600 9213 9259 9532 + 48653 9417 9644 9213 9325 + 48654 9600 9644 9213 9532 + 48655 9213 9532 9644 9417 + 48656 9360 9451 9263 9214 + 48657 9291 9214 9260 9601 + 48658 9601 9260 9295 9214 + 48659 9360 9601 9451 9214 + 48660 9601 9295 9451 9214 + 48661 9363 9215 9259 9450 + 48662 9452 9261 9215 9366 + 48663 9215 9363 9452 9535 + 48664 9363 9215 9450 9535 + 48665 9215 9366 9535 9452 + 48666 9216 9448 9368 9293 + 48667 9216 9368 9455 9293 + 48668 9216 9455 9262 9293 + 48669 9262 9216 9603 9455 + 48670 9368 9603 9216 9455 + 48671 9216 9367 9603 9646 + 48672 9368 9603 9646 9216 + 48673 9646 9216 9529 9448 + 48674 9216 9529 9367 9646 + 48675 9646 9368 9216 9448 + 48676 9370 9443 9593 9217 + 48677 9457 9219 9541 9371 + 48678 9219 9541 9371 9265 + 48679 9541 9606 9265 9219 + 48680 9648 9219 9457 9516 + 48681 9541 9648 9606 9219 + 48682 9648 9219 9541 9457 + 48683 9516 9648 9219 9435 + 48684 9455 9220 9262 9293 + 48685 9537 9262 9455 9220 + 48686 9537 9262 9220 9294 + 48687 9220 9542 9293 9455 + 48688 9608 9373 9220 9542 + 48689 9220 9542 9455 9608 + 48690 9537 9220 9455 9608 + 48691 9608 9649 9220 9373 + 48692 9649 9220 9373 9294 + 48693 9649 9608 9220 9537 + 48694 9537 9220 9649 9294 + 48695 9294 9447 9301 9221 + 48696 9447 9221 9606 9352 + 48697 9606 9294 9221 9447 + 48698 9222 9645 9449 9358 + 48699 9357 9677 9278 9222 + 48700 9357 9222 9529 9677 + 48701 9222 9677 9278 9449 + 48702 9222 9449 9645 9677 + 48703 9645 9222 9677 9529 + 48704 9375 9449 9266 9223 + 48705 9359 9544 9462 9223 + 48706 9375 9544 9449 9223 + 48707 9223 9544 9462 9375 + 48708 9544 9223 9359 9449 + 48709 9406 9311 9227 9503 + 48710 9406 9503 9227 9246 + 48711 9246 9227 9314 9503 + 48712 9612 9227 9267 9416 + 48713 9314 9227 9410 9612 + 48714 9267 9612 9410 9227 + 48715 9314 9503 9227 9612 + 48716 9416 9227 9311 9656 + 48717 9656 9227 9311 9503 + 48718 9503 9656 9227 9612 + 48719 9656 9416 9227 9612 + 48720 9419 9678 9317 9228 + 48721 9550 9228 9317 9678 + 48722 9317 9273 9465 9229 + 48723 9553 9471 9383 9231 + 48724 9618 9353 9471 9231 + 48725 9231 9382 9618 9446 + 48726 9553 9618 9471 9231 + 48727 9231 9618 9353 9446 + 48728 9232 9381 9470 9554 + 48729 9554 9661 9232 9381 + 48730 9349 9556 9440 9233 + 48731 9348 9474 9557 9234 + 48732 9523 9625 9387 9234 + 48733 9234 9523 9625 9348 + 48734 9557 9387 9625 9234 + 48735 9234 9625 9557 9348 + 48736 9557 9626 9387 9234 + 48737 9476 9387 9626 9234 + 48738 9557 9474 9626 9234 + 48739 9234 9385 9474 9626 + 48740 9234 9476 9385 9626 + 48741 9237 9546 9628 9277 + 48742 9628 9546 9237 9377 + 48743 9238 9610 9548 9464 + 48744 9378 9548 9238 9610 + 48745 9480 9239 9390 9665 + 48746 9239 9665 9559 9390 + 48747 9239 9559 9665 9388 + 48748 9665 9239 9388 9681 + 48749 9681 9558 9480 9239 + 48750 9681 9480 9665 9239 + 48751 9558 9388 9239 9681 + 48752 9279 9240 9404 9297 + 48753 9240 9309 9404 9562 + 48754 9240 9404 9297 9562 + 48755 9307 9240 9404 9570 + 48756 9570 9240 9404 9279 + 48757 9241 9279 9482 9394 + 48758 9482 9310 9279 9241 + 48759 9241 9482 9670 9394 + 48760 9310 9482 9670 9241 + 48761 9558 9241 9682 9397 + 48762 9670 9310 9241 9682 + 48763 9670 9241 9397 9682 + 48764 9558 9241 9310 9682 + 48765 9389 9302 9242 9485 + 48766 9495 9389 9242 9485 + 48767 9411 9389 9242 9495 + 48768 9411 9242 9389 9496 + 48769 9413 9320 9243 9564 + 48770 9502 9486 9327 9244 + 48771 9502 9327 9283 9244 + 48772 9327 9244 9486 9565 + 48773 9398 9486 9244 9565 + 48774 9486 9398 9244 9566 + 48775 9244 9566 9398 9631 + 48776 9244 9399 9566 9631 + 48777 9486 9244 9674 9566 + 48778 9674 9244 9399 9566 + 48779 9486 9244 9502 9674 + 48780 9245 9299 9369 9567 + 48781 9245 9284 9299 9567 + 48782 9406 9329 9503 9246 + 48783 9246 9503 9314 9409 + 48784 9246 9329 9503 9409 + 48785 9406 9286 9575 9246 + 48786 9246 9406 9329 9575 + 48787 9246 9409 9636 9329 + 48788 9575 9636 9329 9246 + 48789 9247 9305 9422 9504 + 48790 9247 9287 9305 9504 + 48791 9247 9576 9305 9487 + 48792 9288 9576 9247 9304 + 48793 9304 9487 9576 9247 + 48794 9247 9305 9576 9422 + 48795 9576 9288 9247 9422 + 48796 9421 9248 9286 9313 + 48797 9248 9578 9421 9328 + 48798 9578 9248 9421 9313 + 48799 9248 9578 9504 9313 + 48800 9328 9248 9578 9420 + 48801 9248 9578 9420 9504 + 48802 9338 9249 9580 9427 + 48803 9510 9249 9580 9338 + 48804 9249 9334 9510 9580 + 48805 9338 9582 9249 9427 + 48806 9582 9249 9335 9510 + 48807 9582 9249 9510 9338 + 48808 9582 9511 9249 9427 + 48809 9511 9582 9249 9335 + 48810 9333 9506 9250 9427 + 48811 9506 9333 9250 9425 + 48812 9250 9580 9427 9506 + 48813 9251 9428 9334 9586 + 48814 9251 9334 9515 9586 + 48815 9433 9251 9343 9638 + 48816 9638 9515 9586 9251 + 48817 9638 9433 9251 9585 + 48818 9638 9251 9428 9585 + 48819 9586 9251 9428 9638 + 48820 9638 9343 9515 9251 + 48821 9252 9292 9516 9433 + 48822 9433 9516 9252 9585 + 48823 9585 9252 9341 9516 + 48824 9520 9347 9253 9429 + 48825 9253 9438 9347 9520 + 48826 9341 9253 9429 9520 + 48827 9519 9588 9254 9437 + 48828 9437 9254 9345 9588 + 48829 9254 9345 9588 9290 + 48830 9289 9255 9343 9434 + 48831 9434 9289 9255 9340 + 48832 9434 9255 9590 9340 + 48833 9514 9351 9590 9256 + 48834 9591 9256 9440 9351 + 48835 9351 9514 9591 9256 + 48836 9438 9527 9257 9588 + 48837 9290 9642 9588 9257 + 48838 9642 9354 9257 9290 + 48839 9354 9257 9527 9642 + 48840 9642 9257 9527 9588 + 48841 9526 9362 9258 9445 + 48842 9258 9525 9597 9353 + 48843 9362 9597 9258 9445 + 48844 9258 9445 9597 9525 + 48845 9353 9643 9258 9446 + 48846 9526 9258 9362 9643 + 48847 9597 9258 9353 9643 + 48848 9258 9643 9597 9362 + 48849 9363 9532 9259 9598 + 48850 9598 9532 9259 9361 + 48851 9363 9259 9600 9450 + 48852 9363 9259 9532 9600 + 48853 9295 9419 9260 9601 + 48854 9260 9601 9419 9291 + 48855 9261 9604 9526 9301 + 48856 9452 9604 9261 9366 + 48857 9526 9452 9604 9261 + 48858 9537 9603 9262 9366 + 48859 9537 9262 9603 9455 + 48860 9599 9263 9536 9360 + 48861 9451 9358 9599 9263 + 48862 9599 9451 9263 9360 + 48863 9456 9264 9299 9369 + 48864 9264 9369 9456 9539 + 48865 9264 9456 9370 9539 + 48866 9373 9541 9265 9459 + 48867 9606 9265 9373 9541 + 48868 9371 9265 9541 9607 + 48869 9607 9541 9459 9265 + 48870 9531 9266 9449 9358 + 48871 9653 9449 9266 9375 + 48872 9375 9266 9653 9611 + 48873 9653 9266 9449 9531 + 48874 9497 9414 9379 9267 + 48875 9267 9379 9500 9414 + 48876 9612 9379 9500 9267 + 48877 9612 9500 9416 9267 + 48878 9379 9655 9497 9267 + 48879 9315 9497 9655 9267 + 48880 9655 9379 9612 9267 + 48881 9655 9612 9410 9267 + 48882 9315 9655 9410 9267 + 48883 9268 9533 9325 9291 + 48884 9268 9325 9533 9574 + 48885 9657 9268 9574 9326 + 48886 9268 9533 9657 9574 + 48887 9613 9319 9658 9269 + 48888 9658 9613 9269 9380 + 48889 9493 9296 9269 9679 + 48890 9315 9269 9296 9679 + 48891 9269 9319 9493 9679 + 48892 9613 9418 9679 9269 + 48893 9269 9679 9315 9418 + 48894 9613 9679 9319 9269 + 48895 9319 9270 9412 9552 + 48896 9270 9552 9319 9468 + 48897 9659 9270 9412 9316 + 48898 9659 9412 9270 9552 + 48899 9659 9494 9270 9316 + 48900 9494 9270 9468 9659 + 48901 9270 9468 9659 9552 + 48902 9621 9499 9271 9323 + 48903 9271 9499 9621 9321 + 48904 9621 9271 9321 9415 + 48905 9436 9344 9272 9521 + 48906 9444 9272 9345 9521 + 48907 9317 9551 9465 9273 + 48908 9462 9545 9623 9274 + 48909 9462 9623 9374 9274 + 48910 9274 9545 9623 9463 + 48911 9522 9590 9351 9275 + 48912 9624 9522 9351 9275 + 48913 9624 9348 9522 9275 + 48914 9605 9276 9543 9372 + 48915 9391 9610 9277 9546 + 48916 9391 9546 9277 9628 + 48917 9664 9478 9628 9277 + 48918 9478 9664 9559 9277 + 48919 9610 9664 9277 9378 + 48920 9664 9628 9391 9277 + 48921 9664 9391 9610 9277 + 48922 9559 9277 9664 9378 + 48923 9677 9605 9357 9278 + 48924 9359 9278 9605 9677 + 48925 9677 9359 9278 9449 + 48926 9279 9404 9394 9297 + 48927 9394 9404 9279 9570 + 48928 9394 9279 9482 9570 + 48929 9302 9280 9298 9310 + 48930 9672 9405 9564 9281 + 48931 9631 9672 9564 9281 + 48932 9409 9565 9282 9327 + 48933 9316 9565 9282 9412 + 48934 9673 9282 9409 9565 + 48935 9673 9493 9282 9412 + 48936 9282 9493 9673 9409 + 48937 9673 9282 9565 9412 + 48938 9460 9284 9567 9299 + 48939 9293 9285 9528 9356 + 48940 9458 9285 9634 9528 + 48941 9528 9285 9634 9356 + 48942 9675 9285 9634 9458 + 48943 9634 9355 9285 9675 + 48944 9675 9300 9285 9458 + 48945 9421 9286 9491 9313 + 48946 9575 9491 9421 9286 + 48947 9406 9575 9286 9491 + 48948 9492 9288 9576 9422 + 48949 9426 9515 9592 9289 + 48950 9592 9508 9426 9289 + 48951 9592 9340 9508 9289 + 48952 9289 9592 9340 9641 + 48953 9289 9434 9343 9641 + 48954 9289 9340 9434 9641 + 48955 9592 9515 9641 9289 + 48956 9289 9343 9515 9641 + 48957 9525 9345 9290 9642 + 48958 9642 9445 9354 9290 + 48959 9290 9588 9642 9345 + 48960 9525 9290 9445 9642 + 48961 9601 9419 9291 9533 + 48962 9594 9516 9292 9433 + 48963 9293 9528 9461 9356 + 48964 9448 9293 9528 9368 + 48965 9293 9461 9528 9368 + 48966 9293 9461 9542 9356 + 48967 9542 9368 9293 9455 + 48968 9461 9368 9293 9542 + 48969 9301 9294 9604 9447 + 48970 9649 9373 9606 9294 + 48971 9537 9294 9649 9604 + 48972 9606 9447 9649 9294 + 48973 9649 9294 9447 9604 + 48974 9601 9451 9295 9654 + 48975 9295 9654 9419 9601 + 48976 9314 9410 9296 9615 + 48977 9314 9296 9493 9615 + 48978 9315 9296 9410 9679 + 48979 9410 9296 9615 9679 + 48980 9493 9615 9296 9679 + 48981 9396 9297 9404 9562 + 48982 9396 9404 9297 9668 + 48983 9404 9668 9394 9297 + 48984 9396 9297 9484 9668 + 48985 9394 9668 9484 9297 + 48986 9567 9369 9635 9299 + 48987 9369 9456 9635 9299 + 48988 9460 9567 9676 9299 + 48989 9371 9456 9299 9676 + 48990 9371 9299 9607 9676 + 48991 9676 9635 9456 9299 + 48992 9676 9567 9635 9299 + 48993 9607 9460 9676 9299 + 48994 9300 9675 9540 9458 + 48995 9526 9595 9354 9301 + 48996 9301 9650 9595 9447 + 48997 9526 9604 9650 9301 + 48998 9301 9604 9650 9447 + 48999 9526 9650 9595 9301 + 49000 9302 9682 9558 9310 + 49001 9302 9485 9682 9310 + 49002 9682 9485 9302 9389 + 49003 9682 9302 9558 9389 + 49004 9674 9577 9303 9420 + 49005 9685 9305 9576 9487 + 49006 9686 9504 9422 9305 + 49007 9577 9305 9504 9781 + 49008 9504 9781 9305 9686 + 49009 9686 9422 9782 9305 + 49010 9576 9305 9685 9782 + 49011 9576 9422 9305 9782 + 49012 9305 9686 9781 9866 + 49013 9866 9305 9686 9782 + 49014 9685 9866 9782 9305 + 49015 9488 9570 9307 9404 + 49016 9489 9667 9403 9308 + 49017 9671 9687 9489 9308 + 49018 9667 9308 9489 9687 + 49019 9687 9783 9308 9671 + 49020 9671 9405 9783 9308 + 49021 9309 9562 9688 9404 + 49022 9309 9404 9688 9488 + 49023 9629 9310 9485 9489 + 49024 9482 9670 9629 9310 + 49025 9670 9310 9682 9629 + 49026 9629 9310 9682 9485 + 49027 9406 9311 9691 9490 + 49028 9407 9691 9311 9490 + 49029 9407 9311 9785 9498 + 49030 9416 9785 9311 9498 + 49031 9311 9656 9691 9785 + 49032 9311 9416 9656 9785 + 49033 9407 9691 9785 9311 + 49034 9503 9311 9656 9786 + 49035 9691 9656 9311 9786 + 49036 9503 9406 9311 9786 + 49037 9691 9311 9406 9786 + 49038 9491 9408 9312 9787 + 49039 9491 9869 9787 9312 + 49040 9406 9869 9491 9312 + 49041 9944 9787 9869 9312 + 49042 9406 9312 9490 9944 + 49043 9406 9869 9312 9944 + 49044 9421 9313 9491 9686 + 49045 9686 9504 9578 9313 + 49046 9421 9578 9313 9686 + 49047 9686 9422 9504 9313 + 49048 9408 9491 9313 9787 + 49049 9313 9491 9686 9787 + 49050 9408 9313 9870 9787 + 49051 9870 9408 9492 9313 + 49052 9313 9686 9870 9787 + 49053 9870 9492 9422 9313 + 49054 9870 9422 9686 9313 + 49055 9673 9493 9314 9409 + 49056 9615 9673 9493 9314 + 49057 9410 9612 9692 9314 + 49058 9503 9612 9314 9692 + 49059 9410 9692 9615 9314 + 49060 9692 9615 9314 9788 + 49061 9692 9314 9503 9788 + 49062 9503 9409 9788 9314 + 49063 9409 9788 9314 9673 + 49064 9673 9788 9314 9615 + 49065 9655 9497 9315 9418 + 49066 9418 9315 9655 9679 + 49067 9655 9315 9410 9679 + 49068 9494 9659 9571 9316 + 49069 9683 9316 9571 9659 + 49070 9413 9316 9571 9683 + 49071 9683 9316 9659 9412 + 49072 9316 9565 9412 9683 + 49073 9317 9678 9419 9654 + 49074 9695 9678 9317 9654 + 49075 9695 9551 9317 9616 + 49076 9317 9551 9695 9465 + 49077 9695 9317 9547 9654 + 49078 9317 9465 9695 9547 + 49079 9695 9317 9790 9616 + 49080 9550 9317 9790 9678 + 49081 9790 9550 9616 9317 + 49082 9695 9678 9790 9317 + 49083 9666 9318 9696 9496 + 49084 9318 9496 9411 9696 + 49085 9411 9791 9494 9318 + 49086 9318 9411 9791 9696 + 49087 9468 9494 9791 9318 + 49088 9791 9318 9696 9871 + 49089 9551 9318 9616 9871 + 49090 9871 9616 9468 9318 + 49091 9551 9666 9318 9871 + 49092 9666 9696 9318 9871 + 49093 9871 9468 9791 9318 + 49094 9319 9697 9658 9468 + 49095 9319 9552 9697 9468 + 49096 9679 9789 9319 9493 + 49097 9493 9789 9319 9412 + 49098 9697 9319 9789 9552 + 49099 9789 9319 9412 9552 + 49100 9319 9789 9679 9873 + 49101 9873 9319 9697 9658 + 49102 9319 9679 9613 9873 + 49103 9873 9319 9658 9613 + 49104 9319 9873 9697 9789 + 49105 9405 9689 9564 9320 + 49106 9671 9320 9689 9405 + 49107 9413 9689 9320 9564 + 49108 9792 9413 9689 9320 + 49109 9413 9495 9320 9792 + 49110 9671 9945 9320 9485 + 49111 9495 9320 9945 9485 + 49112 9671 9689 9320 9945 + 49113 9792 9689 9945 9320 + 49114 9945 9320 9495 9792 + 49115 9414 9321 9572 9698 + 49116 9621 9415 9321 9698 + 49117 9698 9499 9321 9621 + 49118 9321 9414 9499 9698 + 49119 9572 9698 9321 9415 + 49120 9680 9417 9617 9322 + 49121 9501 9322 9417 9680 + 49122 9472 9323 9794 9621 + 49123 9621 9794 9499 9323 + 49124 9698 9414 9499 9324 + 49125 9500 9793 9324 9414 + 49126 9414 9698 9793 9324 + 49127 9698 9499 9794 9324 + 49128 9324 9877 9794 9698 + 49129 9324 9793 9877 9698 + 49130 9793 9500 9324 9946 + 49131 9573 9324 9500 9946 + 49132 9793 9324 9877 9946 + 49133 9453 9533 9325 9574 + 49134 9417 9574 9644 9325 + 49135 9453 9644 9574 9325 + 49136 9655 9326 9497 9418 + 49137 9574 9326 9501 9701 + 49138 9326 9655 9702 9418 + 49139 9549 9326 9702 9418 + 49140 9574 9326 9701 9797 + 49141 9574 9326 9797 9657 + 49142 9657 9549 9326 9797 + 49143 9326 9702 9875 9796 + 49144 9326 9875 9701 9796 + 49145 9701 9501 9875 9326 + 49146 9655 9497 9326 9875 + 49147 9572 9497 9875 9326 + 49148 9655 9326 9702 9875 + 49149 9572 9875 9501 9326 + 49150 9549 9797 9879 9326 + 49151 9326 9879 9796 9701 + 49152 9879 9796 9702 9326 + 49153 9879 9702 9549 9326 + 49154 9326 9797 9879 9701 + 49155 9636 9327 9502 9693 + 49156 9693 9409 9327 9565 + 49157 9565 9486 9327 9693 + 49158 9409 9693 9327 9636 + 49159 9502 9486 9799 9327 + 49160 9799 9327 9693 9502 + 49161 9693 9486 9327 9799 + 49162 9328 9704 9575 9636 + 49163 9575 9421 9704 9328 + 49164 9328 9704 9636 9881 + 49165 9328 9636 9502 9881 + 49166 9881 9420 9502 9328 + 49167 9881 9578 9420 9328 + 49168 9578 9881 9948 9328 + 49169 9948 9421 9578 9328 + 49170 9948 9704 9421 9328 + 49171 9948 9881 9704 9328 + 49172 9575 9704 9329 9636 + 49173 9329 9503 9786 9406 + 49174 9329 9788 9503 9409 + 49175 9329 9636 9788 9409 + 49176 9406 9575 9869 9329 + 49177 9406 9869 9786 9329 + 49178 9329 9575 9869 9704 + 49179 9882 9786 9329 9503 + 49180 9329 9882 9503 9788 + 49181 9636 9704 9329 9949 + 49182 9636 9329 9788 9949 + 49183 9949 9788 9882 9329 + 49184 10010 9869 9704 9329 + 49185 9882 9329 9786 10010 + 49186 10010 9786 9869 9329 + 49187 9882 9949 9329 10010 + 49188 9704 10010 9329 9949 + 49189 9705 9330 9508 9423 + 49190 9506 9580 9705 9330 + 49191 9426 9508 9705 9330 + 49192 9330 9579 9423 9705 + 49193 9506 9579 9330 9705 + 49194 9580 9330 9426 9705 + 49195 9584 9637 9331 9505 + 49196 9423 9584 9637 9331 + 49197 9801 9425 9579 9332 + 49198 9579 9507 9801 9332 + 49199 9506 9708 9333 9425 + 49200 9803 9506 9708 9333 + 49201 9333 9803 9506 9427 + 49202 9803 9427 9333 9885 + 49203 9803 9333 9708 9885 + 49204 9333 9427 9513 9885 + 49205 9510 9334 9428 9586 + 49206 9586 9710 9510 9334 + 49207 9580 9710 9426 9334 + 49208 9586 9515 9710 9334 + 49209 9426 9515 9334 9710 + 49210 9580 9510 9710 9334 + 49211 9582 9335 9639 9510 + 49212 9335 9428 9639 9510 + 49213 9429 9639 9335 9509 + 49214 9428 9335 9639 9509 + 49215 9582 9336 9511 9427 + 49216 9336 9431 9582 9511 + 49217 9336 9712 9427 9582 + 49218 9336 9712 9513 9427 + 49219 9582 9806 9336 9712 + 49220 9582 9431 9336 9806 + 49221 9336 9806 9431 9952 + 49222 9513 9336 9581 9952 + 49223 9431 9952 9581 9336 + 49224 9336 9712 9806 9952 + 49225 9513 9712 9336 9952 + 49226 9337 9512 9431 9587 + 49227 9715 9337 9430 9517 + 49228 9512 9337 9715 9587 + 49229 9430 9512 9337 9715 + 49230 9807 9715 9337 9587 + 49231 9715 9807 9337 9517 + 49232 9437 9337 9807 9517 + 49233 9587 9640 9337 9807 + 49234 9437 9807 9337 9640 + 49235 9710 9510 9580 9338 + 49236 9712 9427 9582 9338 + 49237 9712 9580 9427 9338 + 49238 9710 9510 9338 9804 + 49239 9582 9338 9510 9804 + 49240 9887 9582 9338 9712 + 49241 9582 9338 9804 9887 + 49242 9950 9580 9712 9338 + 49243 9710 9580 9950 9338 + 49244 10015 9804 9338 9887 + 49245 9710 9338 9950 10015 + 49246 9887 9338 10015 9712 + 49247 10015 9804 9710 9338 + 49248 10015 9950 9712 9338 + 49249 9583 9508 9339 9711 + 49250 9800 9339 9423 9508 + 49251 9800 9711 9339 9508 + 49252 9432 9584 9808 9339 + 49253 9339 9584 9808 9709 + 49254 9583 9432 9808 9339 + 49255 9709 9339 9584 9883 + 49256 9339 9800 9423 9883 + 49257 9883 9339 9584 9423 + 49258 9339 9883 9709 9953 + 49259 9339 9808 9953 9709 + 49260 9583 9808 9953 9339 + 49261 9583 9339 9953 9711 + 49262 9339 9711 9800 10049 + 49263 9953 9339 9883 10049 + 49264 9953 9339 10049 9711 + 49265 10049 9800 9339 9883 + 49266 9522 9434 9590 9340 + 49267 9583 9508 9711 9340 + 49268 9340 9508 9711 9592 + 49269 9434 9718 9641 9340 + 49270 9522 9718 9434 9340 + 49271 9340 9522 9809 9583 + 49272 9718 9340 9522 9809 + 49273 9583 9711 9809 9340 + 49274 9888 9340 9718 9809 + 49275 9340 9711 9888 9592 + 49276 9888 9711 9340 9809 + 49277 9641 9340 9718 9888 + 49278 9641 9592 9340 9888 + 49279 9585 9713 9341 9509 + 49280 9713 9341 9429 9520 + 49281 9509 9341 9429 9713 + 49282 9520 9341 9435 9719 + 49283 9435 9341 9516 9719 + 49284 9713 9810 9585 9341 + 49285 9719 9341 9516 9810 + 49286 9585 9341 9810 9516 + 49287 9713 9889 9810 9341 + 49288 9719 9341 9889 9520 + 49289 9719 9889 9341 9810 + 49290 9889 9341 9713 9520 + 49291 9514 9342 9720 9591 + 49292 9720 9342 9514 9433 + 49293 9591 9811 9441 9342 + 49294 9591 9811 9342 9720 + 49295 9441 9890 9342 9811 + 49296 9441 9890 9594 9342 + 49297 9433 9594 9890 9342 + 49298 9811 9890 9342 9720 + 49299 9720 9890 9342 9433 + 49300 9515 9343 9812 9641 + 49301 9433 9812 9343 9514 + 49302 9812 9343 9515 9638 + 49303 9812 9638 9433 9343 + 49304 9514 9343 9434 9891 + 49305 9641 9434 9343 9891 + 49306 9641 9343 9812 9891 + 49307 9514 9812 9343 9891 + 49308 9344 9521 9724 9589 + 49309 9344 9724 9517 9589 + 49310 9436 9724 9344 9521 + 49311 9589 9725 9437 9345 + 49312 9521 9345 9444 9725 + 49313 9725 9437 9345 9588 + 49314 9725 9521 9345 9589 + 49315 9345 9725 9588 9642 + 49316 9444 9725 9345 9525 + 49317 9642 9345 9725 9525 + 49318 9716 9587 9346 9431 + 49319 9639 9804 9346 9582 + 49320 9716 9346 9806 9431 + 49321 9582 9346 9431 9806 + 49322 9816 9716 9587 9346 + 49323 9587 9816 9346 9518 + 49324 9887 9806 9346 9582 + 49325 9346 9582 9804 9887 + 49326 9892 9518 9639 9346 + 49327 9346 9892 9518 9816 + 49328 9892 9639 9804 9346 + 49329 9816 9716 9346 9959 + 49330 9806 9959 9887 9346 + 49331 9806 9716 9959 9346 + 49332 9816 9346 10016 9959 + 49333 10016 9887 9346 9804 + 49334 9346 9959 9887 10016 + 49335 10016 9892 9804 9346 + 49336 9346 10016 9892 9816 + 49337 9438 9714 9347 9520 + 49338 9520 9714 9347 9429 + 49339 9429 9640 9714 9347 + 49340 9519 9640 9347 9817 + 49341 9817 9438 9714 9347 + 49342 9714 9347 9640 9817 + 49343 9817 9519 9438 9347 + 49344 9624 9474 9557 9348 + 49345 9439 9523 9348 9625 + 49346 9557 9624 9348 9818 + 49347 9624 9348 9818 9898 + 49348 9348 9898 9624 9522 + 49349 9898 9439 9522 9348 + 49350 9898 9818 9962 9348 + 49351 9557 9348 9962 9818 + 49352 9625 9348 9439 9962 + 49353 9625 9557 9348 9962 + 49354 9898 9962 9439 9348 + 49355 9349 9729 9442 9524 + 49356 9349 9440 9729 9524 + 49357 9729 9440 9349 9556 + 49358 9524 9819 9442 9350 + 49359 9524 9593 9819 9350 + 49360 9443 9350 9819 9593 + 49361 9590 9514 9434 9351 + 49362 9522 9351 9590 9434 + 49363 9624 9351 9728 9663 + 49364 9351 9522 9624 9728 + 49365 9351 9514 9813 9591 + 49366 9514 9434 9351 9813 + 49367 9663 9813 9351 9728 + 49368 9899 9440 9663 9351 + 49369 9351 9899 9813 9663 + 49370 9591 9440 9899 9351 + 49371 9351 9813 9899 9591 + 49372 9728 9351 9522 9954 + 49373 9522 9954 9351 9434 + 49374 9351 9813 9954 9728 + 49375 9813 9434 9351 9954 + 49376 9596 9352 9648 9435 + 49377 9606 9731 9447 9352 + 49378 9352 9648 9606 9731 + 49379 9648 9821 9731 9352 + 49380 9731 9821 9596 9352 + 49381 9648 9596 9821 9352 + 49382 9596 9527 9822 9352 + 49383 9822 9447 9731 9352 + 49384 9447 9822 9527 9352 + 49385 9596 9822 9731 9352 + 49386 9444 9597 9525 9353 + 49387 9618 9353 9446 9530 + 49388 9353 9530 9643 9446 + 49389 9597 9444 9660 9353 + 49390 9597 9660 9732 9353 + 49391 9471 9660 9353 9732 + 49392 9732 9618 9353 9471 + 49393 9618 9732 9353 9530 + 49394 9643 9597 9732 9353 + 49395 9643 9732 9530 9353 + 49396 9526 9354 9595 9445 + 49397 9354 9527 9595 9642 + 49398 9445 9354 9595 9642 + 49399 9734 9568 9634 9355 + 49400 9734 9634 9675 9355 + 49401 9633 9734 9355 9568 + 49402 9356 9634 9528 9461 + 49403 9356 9568 9634 9461 + 49404 9460 9356 9607 9735 + 49405 9356 9568 9461 9735 + 49406 9542 9459 9356 9735 + 49407 9356 9461 9542 9735 + 49408 9460 9568 9356 9735 + 49409 9607 9356 9459 9735 + 49410 9529 9609 9448 9357 + 49411 9677 9529 9357 9609 + 49412 9736 9357 9677 9605 + 49413 9605 9357 9458 9736 + 49414 9736 9677 9357 9609 + 49415 9357 9609 9458 9736 + 49416 9358 9531 9599 9645 + 49417 9531 9449 9645 9358 + 49418 9651 9359 9544 9462 + 49419 9359 9605 9651 9677 + 49420 9651 9359 9677 9544 + 49421 9449 9359 9544 9677 + 49422 9601 9451 9534 9360 + 49423 9450 9360 9600 9738 + 49424 9450 9602 9360 9738 + 49425 9600 9453 9738 9360 + 49426 9738 9453 9534 9360 + 49427 9451 9739 9534 9360 + 49428 9451 9599 9739 9360 + 49429 9360 9534 9738 9829 + 49430 9360 9738 9602 9829 + 49431 9829 9536 9602 9360 + 49432 9534 9739 9829 9360 + 49433 9829 9599 9536 9360 + 49434 9829 9739 9599 9360 + 49435 9598 9532 9361 9469 + 49436 9417 9361 9532 9617 + 49437 9532 9617 9361 9469 + 49438 9595 9445 9362 9526 + 49439 9362 9642 9597 9445 + 49440 9445 9362 9642 9595 + 49441 9362 9595 9526 9650 + 49442 9733 9595 9362 9650 + 49443 9733 9642 9362 9595 + 49444 9362 9526 9643 9824 + 49445 9526 9362 9650 9824 + 49446 9362 9650 9824 9733 + 49447 9643 9905 9362 9824 + 49448 9643 9905 9597 9362 + 49449 9733 9362 9905 9824 + 49450 9965 9642 9597 9362 + 49451 9965 9362 9733 9642 + 49452 9965 9597 9905 9362 + 49453 9965 9362 9905 9733 + 49454 9363 9740 9643 9452 + 49455 9741 9598 9363 9530 + 49456 9363 9741 9532 9598 + 49457 9452 9363 9830 9535 + 49458 9363 9450 9830 9535 + 49459 9452 9363 9740 9830 + 49460 9363 9904 9830 9450 + 49461 9904 9740 9363 9830 + 49462 9904 9363 9741 9532 + 49463 9363 9532 9904 9600 + 49464 9600 9450 9904 9363 + 49465 9643 9530 9906 9363 + 49466 9906 9363 9530 9741 + 49467 9740 9363 9643 9906 + 49468 9969 9363 9741 9904 + 49469 9906 9969 9363 9741 + 49470 9969 9363 9904 9740 + 49471 9969 9906 9363 9740 + 49472 9654 9739 9451 9364 + 49473 9364 9451 9599 9739 + 49474 9742 9466 9653 9364 + 49475 9364 9742 9466 9832 + 49476 9364 9654 9832 9547 + 49477 9364 9466 9547 9832 + 49478 9364 9599 9908 9739 + 49479 9742 9908 9832 9364 + 49480 9908 9531 9599 9364 + 49481 9739 9970 9908 9364 + 49482 9654 9364 9832 9970 + 49483 9908 9832 9364 9970 + 49484 9739 9654 9970 9364 + 49485 9742 9971 9908 9364 + 49486 9531 9971 9653 9364 + 49487 9908 9971 9531 9364 + 49488 9742 9653 9971 9364 + 49489 9601 9533 9365 9419 + 49490 9365 9614 9533 9453 + 49491 9534 9654 9601 9365 + 49492 9365 9601 9419 9654 + 49493 9365 9419 9678 9654 + 49494 9534 9654 9365 9739 + 49495 9678 9835 9614 9365 + 49496 9534 9835 9365 9453 + 49497 9365 9835 9614 9453 + 49498 9835 9534 9365 9739 + 49499 9678 9365 9654 9910 + 49500 9910 9365 9654 9739 + 49501 9835 9365 9910 9739 + 49502 9678 9835 9365 9910 + 49503 9535 9366 9454 9743 + 49504 9537 9743 9366 9604 + 49505 9366 9743 9836 9454 + 49506 9366 9836 9743 9537 + 49507 9366 9537 9603 9836 + 49508 9366 9603 9454 9836 + 49509 9535 9907 9366 9743 + 49510 9743 9366 9604 9907 + 49511 9604 9907 9366 9452 + 49512 9452 9907 9366 9535 + 49513 9367 9745 9536 9603 + 49514 9529 9367 9828 9645 + 49515 9828 9603 9367 9646 + 49516 9828 9603 9745 9367 + 49517 9529 9828 9367 9646 + 49518 10021 9745 9536 9367 + 49519 9367 9828 10021 9745 + 49520 9645 10021 9367 9828 + 49521 9536 9599 10021 9367 + 49522 10021 9599 9645 9367 + 49523 9609 9528 9461 9368 + 49524 9609 9448 9528 9368 + 49525 9609 9646 9368 9461 + 49526 9368 9609 9448 9646 + 49527 9368 9746 9461 9646 + 49528 9461 9838 9746 9368 + 49529 9838 9368 9461 9542 + 49530 9368 9838 9455 9542 + 49531 9368 9455 9838 9746 + 49532 9368 9912 9603 9455 + 49533 9368 9912 9455 9746 + 49534 9368 10025 9646 9603 + 49535 9746 9912 10025 9368 + 49536 9368 9912 10025 9603 + 49537 9368 10025 9746 9646 + 49538 9456 9369 9635 9539 + 49539 9443 9539 9370 9820 + 49540 9370 9820 9593 9443 + 49541 9370 9647 9593 9820 + 49542 9370 9820 9456 9538 + 49543 9647 9820 9370 9538 + 49544 9820 9539 9370 9456 + 49545 9456 9839 9676 9371 + 49546 9371 9839 9538 9456 + 49547 9607 9676 9839 9371 + 49548 9839 9457 9371 9538 + 49549 9541 9607 9839 9371 + 49550 9541 9839 9457 9371 + 49551 9605 9840 9540 9372 + 49552 9543 9372 9840 9605 + 49553 9606 9841 9373 9649 + 49554 9606 9373 9841 9541 + 49555 9841 9649 9608 9373 + 49556 9541 9918 9373 9841 + 49557 9459 9541 9918 9373 + 49558 9980 9373 9459 9918 + 49559 9373 9841 9918 9980 + 49560 9542 9459 9980 9373 + 49561 9373 9980 9542 9608 + 49562 9841 9373 9608 9980 + 49563 9462 9753 9543 9374 + 49564 9753 9374 9462 9623 + 49565 9611 9375 9652 9466 + 49566 9466 9375 9653 9611 + 49567 9375 9653 9449 9827 + 49568 9375 9449 9544 9827 + 49569 9466 9653 9375 9845 + 49570 9466 9375 9652 9845 + 49571 9922 9544 9827 9375 + 49572 9462 9545 9375 9922 + 49573 9462 9922 9375 9544 + 49574 9545 9375 9922 9652 + 49575 9922 9827 9984 9375 + 49576 9652 9375 9922 9984 + 49577 9375 9845 9984 9652 + 49578 9375 9827 9984 9653 + 49579 9375 9984 9845 9653 + 49580 9376 9464 9652 9610 + 49581 9376 9545 9463 9846 + 49582 9846 9376 9610 9546 + 49583 9846 9376 9545 9652 + 49584 9846 9610 9376 9652 + 49585 9376 9463 9546 9846 + 49586 9628 9377 9923 9546 + 49587 9546 9463 9377 9923 + 49588 9664 9378 9610 9757 + 49589 9757 9378 9610 9548 + 49590 9559 9757 9378 9664 + 49591 9757 9559 9378 9479 + 49592 9378 9548 9757 9479 + 49593 9379 9612 9692 9655 + 49594 9500 9414 9379 9793 + 49595 9798 9379 9692 9655 + 49596 9798 9379 9655 9702 + 49597 9379 9793 9414 9875 + 49598 9875 9379 9497 9414 + 49599 9497 9379 9875 9655 + 49600 9379 9702 9875 9655 + 49601 9500 9379 9876 9793 + 49602 9876 9379 9500 9612 + 49603 9379 9876 9988 9612 + 49604 9988 9379 9612 9692 + 49605 9988 9702 9379 9798 + 49606 9988 9798 9379 9692 + 49607 9875 10032 9379 9793 + 49608 10032 9988 9379 9876 + 49609 9876 9379 10032 9793 + 49610 9379 9988 10032 9702 + 49611 9379 10032 9875 9702 + 49612 9380 9658 9613 9467 + 49613 9467 9658 9550 9380 + 49614 9554 9470 9622 9381 + 49615 9381 9554 9661 9622 + 49616 9530 9446 9382 9598 + 49617 9446 9530 9382 9618 + 49618 9741 9382 9662 9469 + 49619 9598 9382 9741 9469 + 49620 9741 9382 9598 9530 + 49621 9382 9618 9852 9662 + 49622 9741 9382 9852 9662 + 49623 9741 9906 9852 9382 + 49624 9906 9618 9852 9382 + 49625 9741 9530 9906 9382 + 49626 9906 9530 9618 9382 + 49627 9763 9619 9383 9471 + 49628 9471 9763 9851 9383 + 49629 9620 9383 9553 9851 + 49630 9471 9851 9553 9383 + 49631 9472 9384 9766 9555 + 49632 9384 9621 9472 9795 + 49633 9501 9621 9384 9795 + 49634 9472 9384 9795 9766 + 49635 9766 9853 9555 9384 + 49636 9765 9473 9853 9384 + 49637 9555 9853 9473 9384 + 49638 9384 9878 9765 9473 + 49639 9384 9878 9473 9680 + 49640 9501 9680 9878 9384 + 49641 9501 9878 9795 9384 + 49642 9997 9765 9384 9878 + 49643 9997 9384 9765 9853 + 49644 9997 9766 9384 9853 + 49645 9384 9766 9997 9795 + 49646 9384 9878 9795 9997 + 49647 9475 9385 9767 9624 + 49648 9767 9474 9385 9626 + 49649 9767 9385 9474 9624 + 49650 9663 9728 9624 9386 + 49651 9475 9767 9386 9624 + 49652 9663 9556 9855 9386 + 49653 9386 9663 9728 9855 + 49654 9386 9728 9933 9855 + 49655 9386 9728 9624 9998 + 49656 9386 9933 9728 9998 + 49657 9767 9998 9386 9624 + 49658 9626 9768 9557 9387 + 49659 9625 9856 9387 9557 + 49660 9768 9387 9856 9557 + 49661 9627 9496 9388 9666 + 49662 9477 9388 9558 9681 + 49663 9388 9627 9665 9681 + 49664 9388 9477 9627 9681 + 49665 9857 9388 9665 9559 + 49666 9857 9479 9388 9559 + 49667 9388 9665 9627 9857 + 49668 9857 9388 9479 9666 + 49669 9857 9627 9388 9666 + 49670 9558 9682 9389 9477 + 49671 9389 9411 9696 9495 + 49672 9389 9696 9627 9477 + 49673 9496 9411 9696 9389 + 49674 9496 9696 9627 9389 + 49675 10009 9389 9495 9485 + 49676 9682 10009 9389 9477 + 49677 10009 9682 9389 9485 + 49678 9389 10009 9696 9477 + 49679 10009 9696 9495 9389 + 49680 9560 9770 9481 9390 + 49681 9770 9561 9481 9390 + 49682 9390 9770 9561 9859 + 49683 9390 9561 9480 9859 + 49684 9480 9390 9859 9665 + 49685 9665 9390 9859 9771 + 49686 9390 9859 9937 9770 + 49687 9771 9390 9859 9937 + 49688 9390 9937 9560 9770 + 49689 9937 9478 9390 9560 + 49690 10000 9478 9390 9937 + 49691 9390 9771 10000 9937 + 49692 10000 9478 9559 9390 + 49693 9665 10000 9390 9771 + 49694 10000 9559 9665 9390 + 49695 9628 9391 9772 9664 + 49696 9391 9846 9610 9546 + 49697 9860 9391 9664 9772 + 49698 9391 9923 9546 9628 + 49699 9546 9846 9923 9391 + 49700 9391 9772 9923 9628 + 49701 9846 9773 9391 9924 + 49702 9664 9391 9860 9924 + 49703 9664 9610 9391 9924 + 49704 9924 9391 9860 9773 + 49705 9846 9391 9610 9924 + 49706 9860 9772 10001 9391 + 49707 9773 10001 9846 9391 + 49708 9772 9923 10001 9391 + 49709 9860 10001 9773 9391 + 49710 9846 10001 9923 9391 + 49711 9478 9628 9392 9664 + 49712 9628 9772 9392 9664 + 49713 9860 9664 9392 9772 + 49714 9937 9392 9478 9560 + 49715 9478 9392 10000 9664 + 49716 10000 9392 9478 9937 + 49717 9860 10000 9392 9664 + 49718 9392 10043 9937 10000 + 49719 9860 9392 10000 10043 + 49720 9860 9772 9392 10043 + 49721 9465 9393 9551 9695 + 49722 9393 9757 9548 9479 + 49723 9548 9847 9393 9465 + 49724 9465 9847 9393 9695 + 49725 9393 9479 9666 9857 + 49726 9393 9757 9479 9857 + 49727 9924 9857 9757 9393 + 49728 9548 9924 9393 9847 + 49729 9548 9757 9393 9924 + 49730 9847 9393 9774 9924 + 49731 9924 9774 9857 9393 + 49732 9857 9666 9393 10037 + 49733 9774 9393 10037 9857 + 49734 9393 9551 9695 10037 + 49735 9774 10037 9393 9847 + 49736 10037 9393 9847 9695 + 49737 10037 9393 9551 9666 + 49738 9394 9668 9404 9570 + 49739 9482 9868 9394 9570 + 49740 9668 9868 9570 9394 + 49741 9563 9394 9670 9868 + 49742 9394 9670 9868 9482 + 49743 9484 9394 9563 9868 + 49744 9394 9868 9484 9668 + 49745 9770 9395 9481 9561 + 49746 9630 9775 9395 9483 + 49747 9938 9395 9770 9561 + 49748 9630 9775 9938 9395 + 49749 9395 9630 9561 9938 + 49750 9404 9688 9668 9396 + 49751 9404 9562 9688 9396 + 49752 9668 9484 9396 10003 + 49753 10003 9396 9669 9484 + 49754 9668 9396 9688 10003 + 49755 9558 9682 9477 9397 + 49756 9558 9477 9684 9397 + 49757 9682 9397 9769 9477 + 49758 9684 9769 9397 9477 + 49759 9630 9397 9776 9563 + 49760 9684 9630 9397 9776 + 49761 9670 9397 9563 9863 + 49762 9863 9670 9397 9682 + 49763 9397 9682 9769 9863 + 49764 9397 9563 9863 9940 + 49765 9563 9397 9776 9940 + 49766 10002 9684 9397 9776 + 49767 9684 9397 9769 10002 + 49768 9397 9776 9940 10045 + 49769 9776 10002 10045 9397 + 49770 10045 9769 9863 9397 + 49771 10045 10002 9769 9397 + 49772 9397 9940 9863 10045 + 49773 9672 9632 9398 9564 + 49774 9672 9564 9398 9631 + 49775 9566 9631 9779 9398 + 49776 9398 9631 9779 9672 + 49777 9398 9779 9566 9486 + 49778 9398 9672 9779 9632 + 49779 9632 9779 9398 9864 + 49780 9864 9398 9632 9683 + 49781 9486 9864 9398 9779 + 49782 9864 9565 9398 9683 + 49783 9565 9864 9398 9486 + 49784 9570 9404 9488 9668 + 49785 9668 9404 9488 9688 + 49786 9405 9564 9689 9672 + 49787 9783 9671 9689 9405 + 49788 9672 9405 9867 9689 + 49789 9405 9783 9867 9689 + 49790 9575 9406 9869 9491 + 49791 9406 9490 9691 9944 + 49792 9406 9691 9786 9944 + 49793 9786 9944 9869 9406 + 49794 9693 9673 9409 9565 + 49795 9693 9409 9788 9636 + 49796 9409 9788 9673 9693 + 49797 9615 9692 9410 9679 + 49798 9692 9655 9410 9679 + 49799 9410 9692 9612 9655 + 49800 9571 9411 9495 9791 + 49801 9411 9696 9495 9791 + 49802 9411 9791 9571 9494 + 49803 9683 9659 9552 9412 + 49804 9789 9412 9493 9673 + 49805 9683 9412 9552 9872 + 49806 9683 9565 9412 9872 + 49807 9565 9872 9673 9412 + 49808 9789 9872 9412 9673 + 49809 9789 9412 9872 9552 + 49810 9632 9689 9413 9564 + 49811 9792 9689 9413 9632 + 49812 9413 9683 9792 9632 + 49813 9413 9683 9571 9792 + 49814 9792 9495 9571 9413 + 49815 9698 9414 9875 9572 + 49816 9414 9572 9497 9875 + 49817 9875 9793 9414 9698 + 49818 9572 9501 9698 9415 + 49819 9621 9501 9415 9698 + 49820 9498 9699 9573 9416 + 49821 9699 9500 9573 9416 + 49822 9416 9785 9498 9699 + 49823 9416 9656 9785 9699 + 49824 9416 9500 9876 9699 + 49825 9876 9500 9416 9612 + 49826 9699 9416 9656 9876 + 49827 9612 9876 9656 9416 + 49828 9680 9417 9532 9617 + 49829 9501 9417 9574 9680 + 49830 9417 9532 9700 9680 + 49831 9417 9700 9532 9644 + 49832 9417 9700 9574 9680 + 49833 9417 9574 9700 9644 + 49834 9613 9798 9679 9418 + 49835 9418 9655 9702 9798 + 49836 9418 9702 9549 9798 + 49837 9679 9798 9655 9418 + 49838 9613 9549 9798 9418 + 49839 9674 9577 9420 9703 + 49840 9502 9674 9420 9703 + 49841 9420 9577 9781 9703 + 49842 9420 9577 9504 9781 + 49843 9420 9504 9578 9781 + 49844 9781 9578 9420 9881 + 49845 9703 9502 9881 9420 + 49846 9703 9881 9781 9420 + 49847 9575 9869 9704 9421 + 49848 9575 9491 9869 9421 + 49849 9421 9491 9869 9686 + 49850 9704 9948 9421 9869 + 49851 9578 9948 9686 9421 + 49852 9948 9686 9421 9869 + 49853 9422 9782 9576 9492 + 49854 9782 9686 9870 9422 + 49855 9782 9870 9492 9422 + 49856 9579 9637 9423 9706 + 49857 9423 9579 9706 9800 + 49858 9423 9705 9579 9800 + 49859 9508 9423 9800 9705 + 49860 9883 9584 9637 9423 + 49861 9637 9706 9883 9423 + 49862 9800 9706 9423 9883 + 49863 9507 9707 9424 9637 + 49864 9637 9505 9707 9424 + 49865 9506 9708 9425 9801 + 49866 9425 9801 9579 9506 + 49867 9515 9426 9592 9710 + 49868 9426 9950 9580 9705 + 49869 9580 9710 9950 9426 + 49870 9426 10013 9950 9705 + 49871 9508 9592 9426 10013 + 49872 10013 9426 9710 9592 + 49873 9508 9426 9705 10013 + 49874 10013 9950 9710 9426 + 49875 9803 9427 9580 9506 + 49876 9803 9580 9427 9712 + 49877 9803 9712 9427 9885 + 49878 9513 9427 9712 9885 + 49879 9428 9639 9510 9586 + 49880 9713 9428 9639 9509 + 49881 9585 9428 9713 9509 + 49882 9428 9639 9586 9713 + 49883 9638 9428 9586 9713 + 49884 9428 9585 9713 9638 + 49885 9713 9429 9509 9639 + 49886 9640 9714 9518 9429 + 49887 9518 9639 9429 9714 + 49888 9713 9805 9429 9639 + 49889 9805 9429 9714 9520 + 49890 9805 9429 9639 9714 + 49891 9713 9429 9805 9520 + 49892 9716 9431 9512 9587 + 49893 9716 9431 9806 10014 + 49894 10014 9431 9806 9952 + 49895 9716 9512 9431 10014 + 49896 10014 9581 9431 9952 + 49897 9581 9431 9512 10014 + 49898 9583 9432 9523 9808 + 49899 9594 9810 9516 9433 + 49900 9810 9721 9638 9433 + 49901 9810 9638 9585 9433 + 49902 9433 9810 9516 9585 + 49903 9721 9812 9638 9433 + 49904 9514 9433 9812 9720 + 49905 9812 9433 9890 9720 + 49906 9810 9433 9594 9890 + 49907 9812 9890 9433 9721 + 49908 9810 9433 9890 9721 + 49909 9718 9891 9434 9641 + 49910 9891 9434 9514 9813 + 49911 9718 9434 9954 9522 + 49912 9954 9891 9434 9718 + 49913 9813 9891 9434 9954 + 49914 9520 9435 9596 9719 + 49915 9435 9516 9648 9719 + 49916 9596 9648 9719 9435 + 49917 9724 9436 9815 9521 + 49918 9619 9815 9436 9521 + 49919 9437 9807 9589 9517 + 49920 9519 9961 9588 9437 + 49921 9961 9640 9437 9519 + 49922 9437 9961 9807 9640 + 49923 9437 9961 9725 9589 + 49924 9725 9961 9437 9588 + 49925 9961 9589 9437 9807 + 49926 9438 9527 9727 9596 + 49927 9519 9588 9817 9438 + 49928 9596 9438 9817 9727 + 49929 9438 9727 9527 9896 + 49930 9817 9588 9896 9438 + 49931 9438 9817 9727 9896 + 49932 9527 9896 9588 9438 + 49933 10017 9596 9520 9438 + 49934 10017 9438 9714 9817 + 49935 10017 9596 9438 9817 + 49936 9438 10017 9714 9520 + 49937 9439 9717 9808 9625 + 49938 9808 9717 9439 9583 + 49939 9439 9808 9523 9625 + 49940 9583 9523 9439 9808 + 49941 9717 9439 9583 9809 + 49942 9522 9809 9583 9439 + 49943 9522 9898 9809 9439 + 49944 9717 9439 9962 9625 + 49945 9439 9717 9962 9809 + 49946 9898 9439 9962 9809 + 49947 9729 9663 9440 9556 + 49948 9899 9663 9440 9729 + 49949 9440 9524 9899 9729 + 49950 9591 9524 9899 9440 + 49951 9730 9524 9441 9593 + 49952 9593 9730 9647 9441 + 49953 9811 9441 9899 9591 + 49954 9441 9899 9591 9524 + 49955 9441 9811 9899 9730 + 49956 9441 9730 9899 9524 + 49957 10019 9730 9811 9441 + 49958 9811 10019 9441 9890 + 49959 9441 9890 10019 9594 + 49960 10019 9647 9730 9441 + 49961 9441 10019 9647 9594 + 49962 9729 9442 9524 9963 + 49963 9963 9819 9442 9524 + 49964 9593 9819 9443 9900 + 49965 9900 9593 9820 9443 + 49966 9443 9900 9539 9820 + 49967 9444 9597 9725 9525 + 49968 9597 9444 9725 9823 + 49969 9823 9597 9444 9660 + 49970 9660 9897 9521 9444 + 49971 9725 9521 9897 9444 + 49972 9725 9444 9897 9823 + 49973 9823 9444 9897 9660 + 49974 9597 9445 9642 9525 + 49975 9649 9731 9447 9606 + 49976 9595 9447 9822 9527 + 49977 9447 9649 9604 9825 + 49978 9649 9731 9825 9447 + 49979 9902 9650 9604 9447 + 49980 9731 9902 9825 9447 + 49981 9595 9902 9822 9447 + 49982 9902 9595 9650 9447 + 49983 9902 9822 9447 9731 + 49984 9447 9604 9902 9825 + 49985 9529 9448 9609 9646 + 49986 9449 9645 9677 9737 + 49987 9531 9645 9449 9737 + 49988 9653 9449 9827 9531 + 49989 9449 9737 9827 9531 + 49990 9449 9827 9737 9903 + 49991 9677 9903 9544 9449 + 49992 9449 9544 9827 9903 + 49993 9449 9677 9903 9737 + 49994 9830 9450 9738 9602 + 49995 9830 9450 9602 9535 + 49996 9738 9904 9600 9450 + 49997 9738 9830 9904 9450 + 49998 9601 9534 9451 9654 + 49999 9739 9654 9451 9534 + 50000 9526 9643 9824 9452 + 50001 9526 9604 9452 9824 + 50002 9452 9830 9907 9535 + 50003 9452 9740 9907 9830 + 50004 9643 9968 9824 9452 + 50005 9968 9452 9604 9824 + 50006 9907 9452 9604 9968 + 50007 9643 9740 9968 9452 + 50008 9968 9907 9452 9740 + 50009 9533 9453 9614 9657 + 50010 9453 9657 9533 9574 + 50011 9453 9614 9880 9835 + 50012 9880 9574 9657 9453 + 50013 9657 9614 9880 9453 + 50014 9880 9644 9574 9453 + 50015 9972 9738 9600 9453 + 50016 9972 9600 9644 9453 + 50017 9453 9880 9644 9972 + 50018 10023 9453 9835 9534 + 50019 10023 9453 9972 9880 + 50020 10023 9835 9453 9880 + 50021 9453 9738 9534 10023 + 50022 9738 10023 9453 9972 + 50023 9535 9454 9602 9744 + 50024 9454 9603 9536 9745 + 50025 9912 9603 9836 9454 + 50026 9454 9837 9912 9745 + 50027 9603 9912 9745 9454 + 50028 9454 9913 9837 9745 + 50029 9973 9454 9743 9535 + 50030 9973 9744 9454 9535 + 50031 9836 9743 9973 9454 + 50032 9454 9536 9974 9745 + 50033 9974 9602 9536 9454 + 50034 9454 9974 9913 9745 + 50035 9454 9744 9974 9602 + 50036 10024 9974 9454 9744 + 50037 10024 9744 9454 9973 + 50038 10024 9454 9836 9973 + 50039 10024 9454 9974 9913 + 50040 9913 9837 10024 9454 + 50041 9454 9912 10024 9836 + 50042 10024 9837 9912 9454 + 50043 9838 9542 9608 9455 + 50044 9455 9912 9603 9537 + 50045 9975 9912 9455 9537 + 50046 9746 9838 9975 9455 + 50047 9746 9975 9912 9455 + 50048 9838 9608 9975 9455 + 50049 9537 9455 9975 9608 + 50050 9747 9820 9538 9456 + 50051 9839 9456 9676 9747 + 50052 9747 9538 9839 9456 + 50053 9976 9456 9635 9539 + 50054 9539 9976 9456 9820 + 50055 9976 9820 9747 9456 + 50056 9976 9635 9456 9676 + 50057 9456 9747 9976 9676 + 50058 9648 9748 9457 9541 + 50059 9748 9839 9457 9541 + 50060 9839 9916 9457 9538 + 50061 9457 9916 9839 9748 + 50062 9594 9457 9516 9957 + 50063 9457 9916 9957 9538 + 50064 9748 9957 9457 9916 + 50065 9457 9957 9594 9538 + 50066 9457 9957 9748 9648 + 50067 9957 9457 9516 9648 + 50068 9736 9458 9605 9540 + 50069 9736 9458 9826 9609 + 50070 9458 9528 9634 9826 + 50071 9826 9458 9528 9609 + 50072 9458 9634 9917 9826 + 50073 9458 9675 9917 9634 + 50074 9675 9978 9540 9458 + 50075 9917 9826 9978 9458 + 50076 9917 9978 9675 9458 + 50077 9978 9458 9736 9540 + 50078 9978 9736 9458 9826 + 50079 9735 9459 9607 9842 + 50080 9607 9918 9842 9459 + 50081 9607 9541 9918 9459 + 50082 9980 9459 9842 9918 + 50083 9735 9459 9842 9980 + 50084 9735 9542 9459 9980 + 50085 9676 9750 9567 9460 + 50086 9460 9633 9750 9567 + 50087 9460 9568 9735 9843 + 50088 9843 9460 9633 9750 + 50089 9568 9460 9633 9843 + 50090 9843 9920 9460 9750 + 50091 9920 9676 9460 9750 + 50092 9460 9735 9920 9843 + 50093 9460 9607 9676 9920 + 50094 9460 9735 9607 9920 + 50095 9826 9528 9461 9609 + 50096 9461 9634 9528 9826 + 50097 9461 9915 9752 9826 + 50098 9609 9461 9915 9646 + 50099 9461 9609 9915 9826 + 50100 9746 9461 9646 9915 + 50101 9921 9542 9838 9461 + 50102 9542 9461 9921 9735 + 50103 9461 9752 9915 9981 + 50104 9921 9838 9981 9461 + 50105 9461 9746 9981 9915 + 50106 9838 9746 9981 9461 + 50107 10027 9634 9461 9826 + 50108 9568 9735 10027 9461 + 50109 9921 9735 9461 10027 + 50110 9921 10027 9461 9981 + 50111 9461 9752 10027 9826 + 50112 9568 10027 9634 9461 + 50113 9752 9461 10027 9981 + 50114 9543 9753 9462 9651 + 50115 9623 9922 9462 9753 + 50116 9462 9545 9922 9623 + 50117 9544 9651 9462 9922 + 50118 9922 9462 9753 9651 + 50119 9545 9755 9623 9463 + 50120 9545 9846 9755 9463 + 50121 9546 9846 9463 9923 + 50122 9755 9923 9463 9846 + 50123 9548 9464 9756 9611 + 50124 9756 9548 9610 9464 + 50125 9756 9610 9652 9464 + 50126 9464 9652 9756 9611 + 50127 9547 9465 9847 9611 + 50128 9611 9847 9548 9465 + 50129 9465 9695 9547 9847 + 50130 9611 9652 9756 9466 + 50131 9832 9547 9695 9466 + 50132 9653 9742 9845 9466 + 50133 9466 9845 9652 9756 + 50134 9466 9756 9611 9847 + 50135 9466 9847 9611 9547 + 50136 9466 9695 9847 9547 + 50137 9466 9925 9742 9845 + 50138 9832 9742 9466 9925 + 50139 9832 9466 9987 9925 + 50140 9987 9695 9847 9466 + 50141 9987 9832 9695 9466 + 50142 9847 9466 9756 10031 + 50143 9466 10031 9845 9756 + 50144 10031 9466 9925 9987 + 50145 9466 10031 9925 9845 + 50146 10031 9847 9466 9987 + 50147 9614 9467 9760 9678 + 50148 9790 9678 9760 9467 + 50149 9467 9790 9678 9550 + 50150 9658 9613 9467 9873 + 50151 9467 9549 9873 9613 + 50152 9467 9549 9990 9873 + 50153 9657 9990 9614 9467 + 50154 9657 9549 9990 9467 + 50155 9550 9992 9658 9467 + 50156 9550 9790 9992 9467 + 50157 9467 9992 9760 9790 + 50158 9658 9873 9467 9992 + 50159 9873 9990 9467 10035 + 50160 9873 10035 9467 9992 + 50161 10035 9614 9467 9760 + 50162 10035 9614 9990 9467 + 50163 10035 9760 9467 9992 + 50164 9494 9468 9791 9659 + 50165 9468 9659 9552 9849 + 50166 9468 9552 9697 9849 + 50167 9658 9992 9468 9697 + 50168 9468 9658 9550 9992 + 50169 9992 9468 9697 9849 + 50170 9616 9992 9468 9550 + 50171 9468 9616 10036 9992 + 50172 9616 9468 10036 9871 + 50173 9791 10036 9468 9871 + 50174 9992 10054 9468 9849 + 50175 9791 10054 9659 9468 + 50176 10054 9659 9468 9849 + 50177 9791 10036 10054 9468 + 50178 10036 10054 9468 9992 + 50179 9598 9741 9532 9469 + 50180 9834 9661 9617 9469 + 50181 9741 9662 9834 9469 + 50182 9834 9469 9617 9532 + 50183 9834 9554 9661 9469 + 50184 9834 9741 9469 9532 + 50185 9469 9554 9662 9834 + 50186 9622 9470 9554 9762 + 50187 9762 9470 9554 9620 + 50188 9732 9553 9618 9471 + 50189 9660 9471 9619 9763 + 50190 9763 9851 9929 9471 + 50191 9553 9929 9851 9471 + 50192 9929 9732 9471 9553 + 50193 9763 9929 9994 9471 + 50194 9994 9929 9732 9471 + 50195 9471 9994 9763 9660 + 50196 9471 9994 9660 9732 + 50197 9472 9795 10038 9766 + 50198 9472 9621 9794 10038 + 50199 9621 10038 9472 9795 + 50200 9554 9473 9661 9622 + 50201 9762 9662 9554 9473 + 50202 9622 9554 9473 9762 + 50203 9834 9554 9473 9661 + 50204 9473 9834 9662 9554 + 50205 9680 9661 9834 9473 + 50206 9473 9853 9555 9622 + 50207 9762 9473 9854 9930 + 50208 9762 9930 9662 9473 + 50209 9931 9622 9853 9473 + 50210 9473 9931 9854 9765 + 50211 9473 9931 9622 9762 + 50212 9473 9765 9853 9931 + 50213 9762 9473 9931 9854 + 50214 9996 9930 9854 9473 + 50215 9996 9930 9473 9662 + 50216 9996 9834 9662 9473 + 50217 9996 9854 10055 9473 + 50218 9473 9765 9854 10055 + 50219 10055 9765 9878 9473 + 50220 10055 9878 9680 9473 + 50221 9996 9473 10055 9834 + 50222 9680 10055 9473 9834 + 50223 9767 9557 9474 9626 + 50224 9557 9767 9474 9624 + 50225 9477 9558 9684 9681 + 50226 9477 9681 9684 9769 + 50227 9769 9477 9681 9627 + 50228 9477 9696 9627 9858 + 50229 9627 9858 9769 9477 + 50230 9477 10009 9696 9858 + 50231 9769 10009 9682 9477 + 50232 9769 9858 10009 9477 + 50233 9478 10000 9559 9664 + 50234 9479 9757 9559 9857 + 50235 9665 9684 9480 9681 + 50236 9684 9558 9480 9681 + 50237 9480 9684 9859 9630 + 50238 9480 9665 9859 9684 + 50239 9480 9630 9859 9561 + 50240 9667 9570 9690 9482 + 50241 9629 9690 9482 9667 + 50242 9670 9690 9482 9629 + 50243 9482 9690 9868 9570 + 50244 9690 9868 9670 9482 + 50245 9669 9775 9630 9483 + 50246 9669 9484 9563 9777 + 50247 9484 9563 9777 9868 + 50248 9669 10003 9484 9777 + 50249 9868 9777 9484 10003 + 50250 9868 9484 9668 10003 + 50251 9489 9629 9671 9485 + 50252 9682 9629 9485 9939 + 50253 9671 9485 9629 9939 + 50254 9485 9671 9945 9939 + 50255 10009 9485 9945 9939 + 50256 10009 9682 9485 9939 + 50257 9495 9945 10009 9485 + 50258 9486 9502 9799 9674 + 50259 9780 9486 9864 9565 + 50260 9486 9674 9941 9566 + 50261 9799 9674 9941 9486 + 50262 9941 9566 9779 9486 + 50263 9693 9486 9799 9942 + 50264 9693 10007 9486 9942 + 50265 9780 9565 10007 9486 + 50266 9942 9780 10007 9486 + 50267 9565 9693 10007 9486 + 50268 9941 9779 10008 9486 + 50269 9486 10008 9864 9779 + 50270 9780 10008 9864 9486 + 50271 9780 10048 10008 9486 + 50272 9486 9942 10048 9799 + 50273 10048 9942 9486 9780 + 50274 9486 9941 9799 10048 + 50275 9486 10008 9941 10048 + 50276 9668 9488 9784 9688 + 50277 9570 9488 9784 9668 + 50278 9671 9629 9489 9687 + 50279 9629 9667 9489 9687 + 50280 9869 9686 9491 9787 + 50281 9493 9679 9694 9615 + 50282 9493 9694 9673 9615 + 50283 9679 9694 9789 9493 + 50284 9694 9493 9673 9789 + 50285 9791 9659 9571 9494 + 50286 9874 9495 9696 9791 + 50287 9874 9571 9495 9791 + 50288 9874 9495 9571 9792 + 50289 9874 9696 9495 10009 + 50290 9874 9495 9792 10009 + 50291 9945 9792 9495 10009 + 50292 9666 9696 9627 9496 + 50293 9698 9794 9499 9621 + 50294 9500 9573 9946 9699 + 50295 9793 9876 9500 9946 + 50296 9876 9699 9500 9946 + 50297 9501 9698 9621 9795 + 50298 9698 9875 9501 9572 + 50299 9698 9501 9875 9795 + 50300 9795 9701 9501 9875 + 50301 9501 9574 9701 9878 + 50302 9878 9501 9574 9680 + 50303 9878 9501 9795 9701 + 50304 9502 9799 9674 9703 + 50305 9693 9799 9502 9881 + 50306 9502 9799 9703 9881 + 50307 9502 9693 9881 9636 + 50308 9612 9692 9503 9882 + 50309 9656 9612 9503 9882 + 50310 9882 9656 9786 9503 + 50311 9882 9503 9788 9692 + 50312 9504 9578 9781 9686 + 50313 9505 9707 9802 9637 + 50314 9505 9802 9584 9637 + 50315 9506 9884 9708 9801 + 50316 9884 9579 9801 9506 + 50317 9803 9884 9708 9506 + 50318 9506 9884 9579 9705 + 50319 9580 9506 9705 9950 + 50320 9950 9803 9506 9884 + 50321 9580 9803 9506 9950 + 50322 9950 9506 9705 9884 + 50323 9637 9579 9507 9706 + 50324 9801 9507 9579 9706 + 50325 9706 9507 9637 9951 + 50326 9507 9637 9951 9707 + 50327 9801 10012 9507 9706 + 50328 9706 10012 9507 9951 + 50329 9592 10013 9508 9711 + 50330 9508 9800 10013 9705 + 50331 10013 9711 9800 9508 + 50332 9639 9510 9804 9582 + 50333 9804 9510 9586 9710 + 50334 9804 9510 9639 9586 + 50335 9512 9715 9886 9587 + 50336 9587 9716 9886 9512 + 50337 10014 9512 9886 9716 + 50338 9513 9952 9885 9712 + 50339 9720 9514 9591 9813 + 50340 9891 9514 9812 9720 + 50341 9891 9514 9720 9813 + 50342 9812 9638 9515 9723 + 50343 9515 9723 9641 9812 + 50344 9515 9710 9592 9814 + 50345 9814 9723 9641 9515 + 50346 9814 9641 9592 9515 + 50347 9515 9956 9710 9814 + 50348 9956 9515 9723 9814 + 50349 9515 9956 9586 9710 + 50350 9638 9723 9956 9515 + 50351 9638 9956 9586 9515 + 50352 9810 9594 9516 9957 + 50353 9719 9810 9516 9957 + 50354 9957 9516 9719 9648 + 50355 9715 9894 9807 9517 + 50356 9807 9517 9894 9589 + 50357 9724 9517 9589 9894 + 50358 9518 9892 9726 9816 + 50359 9714 9518 9639 9892 + 50360 9518 9726 9895 9816 + 50361 9816 9587 9895 9518 + 50362 9640 9895 9518 9714 + 50363 9895 9640 9518 9587 + 50364 9726 9960 9518 9895 + 50365 9960 9518 9714 9892 + 50366 9960 9714 9518 9895 + 50367 9726 9960 9892 9518 + 50368 9817 9588 9519 9961 + 50369 9817 9519 9640 9961 + 50370 9889 9713 9805 9520 + 50371 10017 9520 9596 9719 + 50372 9719 9889 10017 9520 + 50373 9805 9714 10017 9520 + 50374 10017 9889 9805 9520 + 50375 9619 9660 9815 9521 + 50376 9897 9660 9521 9815 + 50377 9521 9815 9724 9897 + 50378 9521 9589 10018 9724 + 50379 9521 9724 10018 9897 + 50380 9521 10018 9589 9725 + 50381 9725 9897 9521 10018 + 50382 9898 9624 9522 9728 + 50383 9522 9718 9809 9898 + 50384 9718 9954 9898 9522 + 50385 9728 9522 9898 9954 + 50386 9730 9524 9593 9819 + 50387 9963 9730 9819 9524 + 50388 9899 9963 9524 9730 + 50389 9729 9524 9899 9963 + 50390 9642 9725 9597 9525 + 50391 9526 9650 9604 9824 + 50392 9733 9527 9642 9595 + 50393 9527 9822 9595 9733 + 50394 9588 9642 9896 9527 + 50395 9901 9727 9527 9596 + 50396 9527 9822 9901 9596 + 50397 9965 9733 9527 9642 + 50398 9896 9642 9965 9527 + 50399 9733 9527 9822 10020 + 50400 10020 9727 9527 9901 + 50401 9727 9527 9896 10020 + 50402 9965 9896 9527 10020 + 50403 9965 9527 9733 10020 + 50404 10020 9527 9822 9901 + 50405 9677 9645 9529 9967 + 50406 9677 9967 9529 9609 + 50407 9828 9529 9645 9967 + 50408 9609 9967 9529 9646 + 50409 9967 9828 9529 9646 + 50410 9732 9530 9906 9643 + 50411 9732 9906 9530 9618 + 50412 9653 9531 9827 9909 + 50413 9737 9827 9531 9909 + 50414 9653 9971 9531 9909 + 50415 9971 9531 9909 10021 + 50416 9737 9909 9531 10021 + 50417 9531 9737 10021 9645 + 50418 9908 10021 9599 9531 + 50419 9908 9971 10021 9531 + 50420 9599 9531 10021 9645 + 50421 9532 9700 9833 9644 + 50422 9600 9644 9532 9833 + 50423 9834 9700 9532 9680 + 50424 9680 9532 9834 9617 + 50425 9600 9532 9904 9833 + 50426 10022 9532 9741 9834 + 50427 9532 9700 10022 9833 + 50428 10022 9700 9532 9834 + 50429 9833 10022 9532 9904 + 50430 9904 9741 10022 9532 + 50431 9534 9835 10023 9739 + 50432 10023 9739 9829 9534 + 50433 10023 9829 9738 9534 + 50434 9535 9602 9830 9744 + 50435 9535 9830 9907 9973 + 50436 9535 9973 9907 9743 + 50437 9830 9535 9744 9973 + 50438 9602 9974 9536 9829 + 50439 9536 9599 9829 10021 + 50440 9536 9829 9974 10021 + 50441 9536 9974 9745 10021 + 50442 9603 9912 9836 9537 + 50443 9836 9914 9743 9537 + 50444 9537 9914 9743 9604 + 50445 9914 9537 9649 9604 + 50446 9537 9649 9608 9914 + 50447 9914 9537 9975 9608 + 50448 9975 9836 9912 9537 + 50449 9537 9975 9836 9914 + 50450 9647 9820 9538 9747 + 50451 9538 9647 9747 9916 + 50452 9538 9747 9839 9916 + 50453 9957 9647 9594 9538 + 50454 9957 9916 9647 9538 + 50455 9539 9900 9976 9820 + 50456 9736 9605 9840 9540 + 50457 9978 9736 9840 9540 + 50458 9606 9541 9841 9648 + 50459 9607 9541 9839 9918 + 50460 9918 9541 9839 9748 + 50461 9748 9918 9541 9979 + 50462 9648 9541 9979 9748 + 50463 9541 9979 9918 9841 + 50464 9979 9841 9541 9648 + 50465 9751 9608 9838 9542 + 50466 9542 9838 9751 9921 + 50467 9542 9735 9921 9980 + 50468 9542 9751 9980 9921 + 50469 9542 9980 9751 9608 + 50470 9651 9543 9840 9605 + 50471 9651 9543 9983 9840 + 50472 9543 9983 9753 9651 + 50473 9651 9677 9903 9544 + 50474 9651 9827 9544 9903 + 50475 9544 9827 9651 9922 + 50476 9623 9545 9985 9755 + 50477 9985 9922 9545 9623 + 50478 9846 9545 9755 10029 + 50479 10029 9985 9545 9755 + 50480 10029 9922 9545 9985 + 50481 10029 9545 9652 9846 + 50482 10029 9545 9922 9652 + 50483 9695 9654 9547 9832 + 50484 9548 9756 9847 9611 + 50485 9548 9756 9924 9847 + 50486 9548 9924 9756 9610 + 50487 9924 9757 9610 9548 + 50488 9549 9848 9759 9873 + 50489 9873 9549 9848 9613 + 50490 9927 9848 9549 9613 + 50491 9702 9549 9798 9927 + 50492 9927 9613 9549 9798 + 50493 9549 9759 9990 9873 + 50494 9549 9797 9990 9879 + 50495 9759 9549 9990 9879 + 50496 9657 9549 9797 9990 + 50497 9991 9549 9759 9879 + 50498 9848 9549 9991 9927 + 50499 9848 9759 9991 9549 + 50500 9702 9991 9549 9927 + 50501 9991 9702 9549 9879 + 50502 9616 9790 9992 9550 + 50503 9616 9695 9551 9850 + 50504 9871 9616 9551 9850 + 50505 10037 9551 9871 9666 + 50506 9871 9551 10037 9850 + 50507 9695 10037 9551 9850 + 50508 9552 9761 9659 9683 + 50509 9552 9761 9849 9659 + 50510 9872 9552 9683 9761 + 50511 9872 9993 9552 9761 + 50512 9993 9697 9789 9552 + 50513 9552 9761 9993 9849 + 50514 9993 9552 9849 9697 + 50515 9993 9789 9872 9552 + 50516 9732 9553 9852 9618 + 50517 9553 9852 9618 9662 + 50518 9929 9553 9764 9852 + 50519 9929 9852 9732 9553 + 50520 9620 9553 9662 9930 + 50521 9852 9553 9764 9930 + 50522 9553 9852 9662 9930 + 50523 9995 9620 9553 9851 + 50524 9995 9553 9929 9851 + 50525 9553 9620 9995 9930 + 50526 9764 9553 9929 9995 + 50527 9553 9764 9930 9995 + 50528 9554 9662 9762 9620 + 50529 9729 9855 9663 9556 + 50530 9557 9932 9626 9767 + 50531 9557 9767 9624 9932 + 50532 9626 9768 9932 9557 + 50533 9624 9557 9932 9818 + 50534 9557 9856 9768 9935 + 50535 9856 9625 9935 9557 + 50536 9962 9935 9625 9557 + 50537 9557 9962 9935 10041 + 50538 9768 9557 10041 9932 + 50539 10041 9962 9818 9557 + 50540 9557 9935 9768 10041 + 50541 10041 9818 9932 9557 + 50542 9665 9857 9559 10000 + 50543 9559 9664 10000 9757 + 50544 9559 10000 9857 9757 + 50545 9938 9770 9859 9561 + 50546 9859 9561 9630 9938 + 50547 9630 9563 9862 9669 + 50548 9862 9777 9669 9563 + 50549 9776 9630 9563 9862 + 50550 9776 9862 9563 9940 + 50551 10004 9777 9563 9868 + 50552 9868 9563 10004 9670 + 50553 10004 9563 9940 9863 + 50554 10004 9863 9670 9563 + 50555 10004 9940 9563 10044 + 50556 10004 9563 9777 10044 + 50557 9862 10044 9777 9563 + 50558 9862 10044 9563 9940 + 50559 9672 9564 9689 9632 + 50560 9565 9864 9872 9683 + 50561 9565 9864 9780 9872 + 50562 9673 10007 9565 9693 + 50563 9780 10007 9565 9872 + 50564 9872 10007 9565 9673 + 50565 9676 9567 9750 9635 + 50566 9568 9633 9734 9843 + 50567 10027 9734 9843 9568 + 50568 10027 9843 9735 9568 + 50569 9734 9634 9568 10027 + 50570 9868 9784 9668 9570 + 50571 9690 9570 9784 9868 + 50572 9659 9791 9571 9874 + 50573 9792 9571 9874 9683 + 50574 9659 9874 9571 9683 + 50575 9878 9574 9700 9680 + 50576 9644 9880 9574 9700 + 50577 9574 9657 9797 9880 + 50578 9878 9701 9947 9574 + 50579 9797 9574 9947 9701 + 50580 9878 9947 9700 9574 + 50581 9880 9797 9574 9947 + 50582 9880 9574 9700 9947 + 50583 9781 9948 9578 9881 + 50584 9948 9578 9686 9781 + 50585 9579 9706 9884 9801 + 50586 9800 9706 9884 9579 + 50587 9800 9884 9705 9579 + 50588 9803 9580 9712 9950 + 50589 9582 9887 9806 9712 + 50590 9808 9953 9717 9583 + 50591 9717 9583 9953 9809 + 50592 9809 9953 9711 9583 + 50593 9637 9802 9584 9709 + 50594 9709 9584 9637 9883 + 50595 9810 9713 9585 9638 + 50596 9804 9639 9892 9586 + 50597 9892 9804 9586 9722 + 50598 9639 9955 9586 9713 + 50599 9638 9586 9955 9713 + 50600 9586 9722 9955 9892 + 50601 9586 9722 9893 9955 + 50602 9586 9638 9955 9893 + 50603 9892 9586 9639 9955 + 50604 9956 9722 9893 9586 + 50605 9804 9586 9956 9710 + 50606 9956 9586 9804 9722 + 50607 9893 9956 9586 9638 + 50608 9807 9886 9715 9587 + 50609 9807 9895 9587 9640 + 50610 9587 9886 9716 9958 + 50611 9587 9807 9886 9958 + 50612 9895 9958 9587 9816 + 50613 9816 9587 9716 9958 + 50614 9587 9807 9958 9895 + 50615 9642 9725 9588 9896 + 50616 9896 9725 9588 9961 + 50617 9817 9588 9961 9896 + 50618 9724 9589 10018 9894 + 50619 9807 9894 10018 9589 + 50620 9961 10018 9589 9807 + 50621 9725 9961 10018 9589 + 50622 9591 9899 9811 9720 + 50623 9720 9591 9899 9813 + 50624 9592 9888 9641 9814 + 50625 10013 9710 10050 9592 + 50626 10050 9888 9592 9814 + 50627 9592 10050 10013 9711 + 50628 10050 9592 9888 9711 + 50629 10050 9592 9710 9814 + 50630 9730 9647 9820 9593 + 50631 9730 9900 9819 9593 + 50632 9730 9820 9900 9593 + 50633 9810 9594 9957 9890 + 50634 10019 9647 9594 9957 + 50635 9890 10019 9594 9957 + 50636 9733 9595 9650 9902 + 50637 9733 9822 9595 9902 + 50638 9596 9719 9648 9821 + 50639 9596 9817 9901 9727 + 50640 9821 9966 9731 9596 + 50641 9966 9731 9596 9822 + 50642 9966 9596 9901 9822 + 50643 9596 9901 9817 10017 + 50644 9821 10051 9966 9596 + 50645 10051 9719 9596 9821 + 50646 10051 9901 9596 10017 + 50647 9901 10051 9596 9966 + 50648 10051 9596 9719 10017 + 50649 9823 9597 9660 9732 + 50650 9732 9823 9597 9905 + 50651 9905 9643 9597 9732 + 50652 9642 9597 9725 9965 + 50653 9905 9823 9597 9965 + 50654 9597 9823 9725 9965 + 50655 9739 9599 9908 9829 + 50656 9599 9829 10021 9908 + 50657 9904 9738 9600 9833 + 50658 9644 9833 9600 9972 + 50659 9738 9600 9833 9972 + 50660 9602 9911 9830 9744 + 50661 9911 9738 9829 9602 + 50662 9830 9738 9911 9602 + 50663 9911 9974 9744 9602 + 50664 9602 9911 9974 9829 + 50665 10025 9646 9603 9828 + 50666 10025 9603 9912 9745 + 50667 10025 9828 9603 9745 + 50668 9914 9649 9825 9604 + 50669 9604 9902 9968 9650 + 50670 9968 9604 9650 9824 + 50671 9914 10026 9743 9604 + 50672 9743 9604 10026 9907 + 50673 10026 9825 9604 9914 + 50674 10026 9825 9902 9604 + 50675 9968 9604 9907 10026 + 50676 10026 9902 9968 9604 + 50677 9651 9605 9736 9677 + 50678 9605 9736 9840 9651 + 50679 9731 9606 9841 9648 + 50680 9649 9731 9606 9841 + 50681 9839 9749 9676 9607 + 50682 9749 9918 9842 9607 + 50683 9607 9839 9749 9918 + 50684 9842 9920 9607 9735 + 50685 9749 9920 9676 9607 + 50686 9749 9842 9920 9607 + 50687 9608 9751 9838 9975 + 50688 9982 9608 9649 9914 + 50689 9608 9982 9649 9841 + 50690 9841 9608 10028 9980 + 50691 10028 9982 9608 9841 + 50692 9608 9751 10028 9980 + 50693 10052 9914 9608 9982 + 50694 9914 9975 10052 9608 + 50695 10052 10028 9982 9608 + 50696 9975 9608 9751 10052 + 50697 10052 9751 10028 9608 + 50698 9736 9826 9915 9609 + 50699 9736 9677 9609 9967 + 50700 9646 9915 9609 9967 + 50701 9967 9609 9736 9915 + 50702 9664 9610 9924 9757 + 50703 9846 9986 9924 9610 + 50704 9846 9652 9986 9610 + 50705 9756 9610 9924 9986 + 50706 9756 9652 9610 9986 + 50707 9876 9656 9758 9612 + 50708 9882 9758 9656 9612 + 50709 9988 9876 9758 9612 + 50710 9612 10033 9692 9882 + 50711 10033 9882 9612 9758 + 50712 9692 9612 9988 10033 + 50713 10033 9612 9988 9758 + 50714 9679 9873 9848 9613 + 50715 9679 9848 9927 9613 + 50716 9927 9679 9613 9798 + 50717 9760 9835 9614 9678 + 50718 9657 9880 9614 9990 + 50719 10035 9614 9835 9880 + 50720 10035 9990 9614 9880 + 50721 10035 9614 9760 9835 + 50722 9673 10053 9788 9615 + 50723 9673 9694 10053 9615 + 50724 9694 10053 9615 9679 + 50725 9692 9615 9788 10053 + 50726 9679 10053 9615 9692 + 50727 9616 9790 9928 9992 + 50728 10030 9616 9790 9928 + 50729 9695 9616 10030 9850 + 50730 9616 9850 9928 10030 + 50731 9616 9695 10030 9790 + 50732 9928 9616 9992 10036 + 50733 9928 9850 9616 10036 + 50734 9850 9616 10036 9871 + 50735 9834 9617 9661 9680 + 50736 9732 9852 9906 9618 + 50737 9660 9619 9815 9763 + 50738 9620 9662 9762 9930 + 50739 9762 9995 9620 9930 + 50740 10038 9621 9698 9795 + 50741 9621 9794 10038 9698 + 50742 9623 9985 9922 9753 + 50743 9728 9898 9624 9818 + 50744 9998 9624 9767 9932 + 50745 9998 9624 9818 9728 + 50746 9624 9818 9932 9998 + 50747 9934 9625 9808 9717 + 50748 9962 10040 9625 9935 + 50749 9717 9934 9625 10040 + 50750 9717 9625 9962 10040 + 50751 9856 9625 10040 9935 + 50752 9769 9858 9627 9936 + 50753 9769 9936 9627 9681 + 50754 9857 9665 9627 9936 + 50755 9665 9627 9936 9681 + 50756 9936 9858 9627 9999 + 50757 9936 9627 9857 9999 + 50758 9858 9696 9627 9999 + 50759 9627 9857 9999 9666 + 50760 9999 9627 9666 9696 + 50761 9861 9687 9667 9629 + 50762 9690 9861 9629 9670 + 50763 9861 9629 9667 9690 + 50764 9687 9629 9939 9671 + 50765 9670 9682 9939 9629 + 50766 9687 9629 9861 9939 + 50767 9670 9861 9629 9939 + 50768 9684 9859 9630 9776 + 50769 9630 9862 9775 9669 + 50770 9776 9938 9859 9630 + 50771 9630 9938 9775 9862 + 50772 9630 9776 9938 9862 + 50773 9779 9672 9867 9632 + 50774 9632 9672 9867 9689 + 50775 9683 9632 9864 10006 + 50776 9632 9867 10047 9689 + 50777 9683 10047 9632 10006 + 50778 10047 9792 9683 9632 + 50779 9792 10047 9689 9632 + 50780 9779 9867 10058 9632 + 50781 10006 10058 10047 9632 + 50782 9867 10058 9632 10047 + 50783 10006 9864 10058 9632 + 50784 9864 9632 9779 10058 + 50785 9734 9675 9634 9917 + 50786 9734 9634 10027 9917 + 50787 10027 9917 9634 9826 + 50788 9865 9750 9635 9676 + 50789 9976 9865 9635 9676 + 50790 9949 9881 9693 9636 + 50791 9693 9788 9949 9636 + 50792 9949 9704 9881 9636 + 50793 9707 9637 9951 9802 + 50794 9637 9883 9706 9951 + 50795 9637 9951 9802 10011 + 50796 9637 10011 9802 9709 + 50797 9883 9637 10011 9951 + 50798 9637 9883 10011 9709 + 50799 9812 9893 9638 9723 + 50800 9638 9812 9721 9893 + 50801 9893 9721 9638 9955 + 50802 9810 9638 9721 9955 + 50803 9810 9955 9713 9638 + 50804 9723 9956 9893 9638 + 50805 9714 9639 9805 9892 + 50806 9805 9892 9639 9955 + 50807 9955 9639 9805 9713 + 50808 9640 9817 9895 9714 + 50809 9807 9961 9895 9640 + 50810 9817 9640 9895 9961 + 50811 9641 9812 9723 9891 + 50812 9964 9641 9723 9891 + 50813 9964 9718 9641 9891 + 50814 9718 9641 9888 9964 + 50815 9964 9641 9888 9814 + 50816 9964 9723 9641 9814 + 50817 9896 9642 9725 9965 + 50818 9905 9831 9643 9732 + 50819 9732 9906 9831 9643 + 50820 9740 9643 9831 9906 + 50821 9831 9740 9968 9643 + 50822 9643 9831 9905 9968 + 50823 9968 9905 9643 9824 + 50824 9644 9700 9833 9972 + 50825 9644 9880 9700 9972 + 50826 9737 9645 9677 9967 + 50827 9828 9645 9737 9967 + 50828 9645 9737 10021 9828 + 50829 9746 9646 10025 9915 + 50830 9646 10025 9915 9967 + 50831 9967 10025 9828 9646 + 50832 9916 9977 9647 9747 + 50833 9647 9820 9747 9977 + 50834 9647 9730 9820 9977 + 50835 10019 9730 9647 9977 + 50836 9916 9647 9977 10019 + 50837 10019 9916 9647 9957 + 50838 9821 9648 9919 9719 + 50839 9919 9648 9748 9957 + 50840 9919 9719 9648 9957 + 50841 9648 9919 9979 9821 + 50842 9731 9841 9979 9648 + 50843 9919 9748 9648 9979 + 50844 9821 9979 9648 9731 + 50845 9982 9649 9825 9914 + 50846 9649 9825 9731 9982 + 50847 9841 9649 9731 9982 + 50848 9968 9824 9650 9733 + 50849 9902 9968 9650 9733 + 50850 9651 9736 9903 9677 + 50851 9754 9651 9903 9827 + 50852 9844 9651 9754 9922 + 50853 9651 9827 9754 9922 + 50854 9753 9651 9844 9922 + 50855 9844 9651 9983 9754 + 50856 9651 9736 9840 9983 + 50857 9983 9753 9651 9844 + 50858 9903 9736 9651 9983 + 50859 9754 9651 9983 9903 + 50860 9845 9986 9652 9756 + 50861 9846 9986 9652 10029 + 50862 9652 10029 9845 9984 + 50863 9652 9922 10029 9984 + 50864 10029 9652 9845 9986 + 50865 9653 9742 9909 9845 + 50866 9653 9742 9971 9909 + 50867 9653 9984 9845 9909 + 50868 9653 9827 9984 9909 + 50869 9970 9910 9654 9739 + 50870 9678 10030 9654 9695 + 50871 9695 10030 9654 9832 + 50872 9654 9910 9970 10030 + 50873 9654 9678 9910 10030 + 50874 9970 9654 10030 9832 + 50875 9692 9798 9655 9679 + 50876 9926 9785 9691 9656 + 50877 9926 9691 9786 9656 + 50878 9786 9656 9882 9989 + 50879 9926 9656 9786 9989 + 50880 9989 9656 9882 9758 + 50881 9926 10034 9656 9989 + 50882 9699 9656 10034 9876 + 50883 10034 9656 9785 9926 + 50884 9989 10034 9656 9758 + 50885 10034 9785 9656 9699 + 50886 9876 9656 10034 9758 + 50887 9657 9797 9880 9990 + 50888 9873 9697 9992 9658 + 50889 9659 9761 9874 9683 + 50890 9659 9874 9761 10054 + 50891 9874 10054 9659 9791 + 50892 9659 9761 9849 10054 + 50893 9660 9897 9994 9815 + 50894 9815 9763 9994 9660 + 50895 9994 9897 9660 9823 + 50896 9823 9660 9994 9732 + 50897 9852 9930 9996 9662 + 50898 9834 9996 9662 9741 + 50899 9741 9852 9996 9662 + 50900 10039 9663 9855 9728 + 50901 10039 9663 9728 9813 + 50902 10039 9813 9899 9663 + 50903 9899 10056 9663 9729 + 50904 9729 10056 9663 9855 + 50905 10056 10039 9899 9663 + 50906 10056 10039 9663 9855 + 50907 9924 9664 9757 9860 + 50908 10000 9757 9664 9860 + 50909 9665 9771 9859 10002 + 50910 9665 9684 9681 10002 + 50911 9665 9859 9684 10002 + 50912 9681 9936 9665 10002 + 50913 9665 10042 9771 10002 + 50914 9665 10042 10002 9936 + 50915 10042 9771 10000 9665 + 50916 10042 9857 9665 10000 + 50917 9665 9936 9857 10042 + 50918 9999 9666 9871 9696 + 50919 9857 9999 9666 10037 + 50920 9999 9871 9666 10037 + 50921 10003 9688 9668 9784 + 50922 10003 9668 9868 9784 + 50923 9868 10004 9690 9670 + 50924 10004 9670 9863 9778 + 50925 9861 9670 10004 9778 + 50926 9670 9690 9861 10004 + 50927 10005 9939 9670 9682 + 50928 10005 9670 9861 9778 + 50929 9670 10005 9861 9939 + 50930 10005 9670 9863 9682 + 50931 9670 10005 9863 9778 + 50932 9687 9939 9783 9671 + 50933 9783 9939 9945 9671 + 50934 9783 9945 9689 9671 + 50935 9872 9673 9789 9694 + 50936 10007 9673 9788 9693 + 50937 9872 10007 9673 9694 + 50938 9673 10053 10007 9788 + 50939 10053 9694 9673 10007 + 50940 9799 9674 9703 9941 + 50941 9920 9750 9865 9676 + 50942 9749 9865 9676 9920 + 50943 9839 9943 9676 9749 + 50944 9943 9676 9865 9747 + 50945 9943 9676 9747 9839 + 50946 9943 9676 9749 9865 + 50947 9676 9976 9865 9747 + 50948 9677 9967 9903 9737 + 50949 9736 9903 9677 9967 + 50950 9760 9910 9835 9678 + 50951 9678 9910 10030 9760 + 50952 9790 10030 9678 9695 + 50953 9790 9678 10030 9760 + 50954 9694 9873 9848 9679 + 50955 9694 9789 9873 9679 + 50956 9694 9848 9927 9679 + 50957 9679 9798 10053 9692 + 50958 9679 9798 9927 10053 + 50959 9679 9927 9694 10053 + 50960 9700 9680 10055 9878 + 50961 10055 9680 9700 9834 + 50962 9681 9769 9936 10002 + 50963 9769 9681 9684 10002 + 50964 9863 9682 9769 10005 + 50965 10005 9682 9769 10057 + 50966 9682 10005 9939 10057 + 50967 9682 10057 10009 9769 + 50968 9682 10057 9939 10009 + 50969 10006 9874 9761 9683 + 50970 9683 9761 10046 9872 + 50971 9872 9864 10046 9683 + 50972 9683 9761 10006 10046 + 50973 9683 10006 9864 10046 + 50974 10006 10047 9874 9683 + 50975 9874 9792 9683 10047 + 50976 10002 9859 9684 9776 + 50977 9686 9787 9869 10059 + 50978 9948 10059 9686 9869 + 50979 9781 9686 10060 9866 + 50980 9686 9870 10060 9782 + 50981 9866 9686 10060 9782 + 50982 9870 10158 9686 10060 + 50983 9870 9686 10158 9787 + 50984 9686 10158 9787 10059 + 50985 9948 10247 9781 9686 + 50986 10059 10247 9686 10158 + 50987 9686 9948 10247 10059 + 50988 10060 9781 10325 9686 + 50989 10158 10060 10325 9686 + 50990 10325 9781 10247 9686 + 50991 9686 10247 10325 10158 + 50992 9687 9861 10062 9939 + 50993 10062 9939 9783 9687 + 50994 9689 9945 9783 9867 + 50995 9945 9689 10047 9867 + 50996 10047 9689 9945 9792 + 50997 9690 10063 9868 9784 + 50998 9690 10063 10004 9868 + 50999 9926 9786 9691 9944 + 51000 9882 9788 10033 9692 + 51001 9692 9788 10033 10053 + 51002 9692 9988 10053 10033 + 51003 10053 9798 9988 9692 + 51004 10007 9942 9693 10066 + 51005 9788 9693 10066 10007 + 51006 9693 9949 9788 10066 + 51007 9799 10249 9881 9693 + 51008 9949 10066 9693 10249 + 51009 9693 10249 10066 9942 + 51010 9693 9799 10249 9942 + 51011 9693 10249 9881 9949 + 51012 9848 9694 9927 10067 + 51013 9694 10067 9848 9873 + 51014 9873 9694 10067 9789 + 51015 9789 9694 10067 9872 + 51016 9694 10163 10067 9872 + 51017 9694 10007 10163 9872 + 51018 10007 10053 9694 10163 + 51019 10067 10250 10163 9694 + 51020 10053 10163 10250 9694 + 51021 10250 9927 9694 10067 + 51022 9694 10250 10053 9927 + 51023 10030 9987 9832 9695 + 51024 9695 10030 9987 9850 + 51025 9847 9695 9987 10037 + 51026 10037 9695 9987 9850 + 51027 10036 9696 9871 9791 + 51028 10036 9999 9871 9696 + 51029 9791 10054 10036 9696 + 51030 9874 10054 9791 9696 + 51031 9874 10068 10054 9696 + 51032 10036 10068 9999 9696 + 51033 10068 10009 9858 9696 + 51034 10068 9858 9999 9696 + 51035 10068 9874 10009 9696 + 51036 10068 10036 10054 9696 + 51037 9789 9873 9697 9993 + 51038 9993 9849 10069 9697 + 51039 9697 10069 9992 9849 + 51040 9993 10164 9873 9697 + 51041 9697 9992 10069 10164 + 51042 9697 9873 9992 10164 + 51043 9993 10069 10164 9697 + 51044 9794 10038 9698 9877 + 51045 10070 10038 9877 9698 + 51046 10070 9877 9793 9698 + 51047 10038 9698 10070 9795 + 51048 9698 9875 10070 9795 + 51049 9875 9793 9698 10070 + 51050 9699 10034 10167 9876 + 51051 9876 10167 9699 9946 + 51052 10055 9834 9700 10022 + 51053 9700 9878 10072 9947 + 51054 9700 10055 10072 9878 + 51055 9700 10055 10169 10072 + 51056 10169 9700 10022 10055 + 51057 10022 9833 9700 10169 + 51058 10169 9700 10072 10254 + 51059 9947 10072 9700 10254 + 51060 9880 10254 9947 9700 + 51061 9972 10254 9880 9700 + 51062 10169 9833 9700 10254 + 51063 9972 9833 10254 9700 + 51064 9701 9878 9997 9795 + 51065 9701 9997 10070 9795 + 51066 9875 9701 9796 10070 + 51067 9795 10070 9701 9875 + 51068 9879 9701 9797 10073 + 51069 9879 9796 9701 10073 + 51070 9797 9947 10073 9701 + 51071 9878 10170 9701 9997 + 51072 10170 10070 9701 9997 + 51073 10170 9701 9947 9878 + 51074 9701 9796 10255 10073 + 51075 9701 10170 10255 10070 + 51076 10170 9701 10255 9947 + 51077 9701 10255 9796 10070 + 51078 9701 10073 10255 9947 + 51079 9991 9796 9702 9879 + 51080 9875 9796 9702 10032 + 51081 10032 10074 9702 9988 + 51082 9702 9991 10074 9796 + 51083 9796 10074 9702 10032 + 51084 10074 9927 9991 9702 + 51085 9798 9702 10074 9988 + 51086 10074 9798 9927 9702 + 51087 9703 9941 10076 9799 + 51088 10160 9703 9941 10076 + 51089 10160 9781 9703 9881 + 51090 10076 10160 9703 10249 + 51091 10076 9703 9799 10249 + 51092 9703 9881 10249 10160 + 51093 10249 9703 9799 9881 + 51094 10010 9881 9949 9704 + 51095 10010 9869 10059 9704 + 51096 9704 9869 10059 9948 + 51097 10059 9948 9881 9704 + 51098 10010 10059 9881 9704 + 51099 9800 9705 9884 10013 + 51100 9950 10013 9884 9705 + 51101 10012 9884 9706 9801 + 51102 10077 9706 9883 9951 + 51103 10012 10174 9951 9706 + 51104 9706 10077 10174 9951 + 51105 10077 9883 9706 10257 + 51106 10012 9884 10257 9706 + 51107 9800 10257 9706 9883 + 51108 10257 10174 10012 9706 + 51109 10257 10174 9706 10077 + 51110 9706 9884 10257 9800 + 51111 10078 9801 9708 9884 + 51112 10177 9708 9885 9803 + 51113 10177 10078 9708 9884 + 51114 10177 9708 9803 9884 + 51115 9934 9808 9709 9953 + 51116 9883 10077 10011 9709 + 51117 10175 9709 9953 9934 + 51118 9709 9883 10175 9953 + 51119 9883 10077 9709 10175 + 51120 9709 9802 10176 10011 + 51121 10011 9709 10077 10176 + 51122 10175 10258 9709 9934 + 51123 9709 10258 10077 10176 + 51124 10077 10175 10258 9709 + 51125 10013 10050 9710 9950 + 51126 9710 10050 10015 9950 + 51127 10015 10081 9710 9804 + 51128 9814 9710 10050 10081 + 51129 10081 10015 9710 10050 + 51130 9710 9956 9804 10081 + 51131 9710 9814 9956 10081 + 51132 9800 10049 9711 10013 + 51133 10049 10013 10080 9711 + 51134 10013 10050 10080 9711 + 51135 10082 9809 9711 9888 + 51136 9953 9809 9711 10082 + 51137 10049 9953 9711 10082 + 51138 10082 9711 10049 10179 + 51139 9711 10080 10049 10179 + 51140 10080 9711 10050 10179 + 51141 9711 9888 10179 10082 + 51142 10050 9888 10179 9711 + 51143 10079 9712 9803 9885 + 51144 9950 9803 10079 9712 + 51145 9950 10079 10015 9712 + 51146 10015 9712 10079 10180 + 51147 10180 9806 9887 9712 + 51148 10015 9887 9712 10180 + 51149 10260 9885 9712 10079 + 51150 10260 10180 10079 9712 + 51151 9712 9952 9885 10260 + 51152 9712 9806 9952 10260 + 51153 10260 9806 10180 9712 + 51154 9955 9889 9810 9713 + 51155 9955 9713 9805 9889 + 51156 9960 9817 9714 9895 + 51157 9960 9714 9805 9892 + 51158 9805 9714 9960 10017 + 51159 9960 9714 9817 10017 + 51160 9715 9894 10085 9807 + 51161 9715 10085 9886 9807 + 51162 9806 10014 10084 9716 + 51163 9959 9806 10084 9716 + 51164 9816 9716 10086 9958 + 51165 10086 9716 9816 9959 + 51166 10183 10084 10014 9716 + 51167 10183 9959 9716 10086 + 51168 9886 9716 10183 10014 + 51169 10084 9959 9716 10183 + 51170 10086 10262 9958 9716 + 51171 9886 9958 10262 9716 + 51172 9886 10262 10183 9716 + 51173 10086 10183 10262 9716 + 51174 9808 9717 9953 9934 + 51175 9934 9717 9953 10087 + 51176 9717 10088 9962 9809 + 51177 9717 9934 10040 10186 + 51178 9717 9934 10186 10087 + 51179 10088 9717 10264 9809 + 51180 10087 10264 9717 9953 + 51181 9717 10264 9809 9953 + 51182 10186 10334 9717 10087 + 51183 10040 9717 10186 10334 + 51184 9962 10088 9717 10334 + 51185 10040 9717 10334 9962 + 51186 10264 10334 10087 9717 + 51187 10334 9717 10264 10088 + 51188 9891 9718 9954 10090 + 51189 9891 9718 10090 9964 + 51190 10185 9898 9809 9718 + 51191 9718 9809 10185 9888 + 51192 9718 9888 10185 10266 + 51193 9718 9964 10266 10090 + 51194 9718 9888 10266 9964 + 51195 9954 9718 10336 10090 + 51196 10185 10336 9898 9718 + 51197 10336 9898 9718 9954 + 51198 9718 10266 10336 10090 + 51199 10185 10336 9718 10266 + 51200 9821 9919 10051 9719 + 51201 10051 9719 9889 10017 + 51202 10187 9810 9719 9957 + 51203 9919 10187 9719 9957 + 51204 10187 9889 10051 9719 + 51205 9810 9719 9889 10187 + 51206 10187 10051 9919 9719 + 51207 10188 9890 9720 9812 + 51208 10188 9720 9891 9812 + 51209 9811 10188 9890 9720 + 51210 10188 10267 9891 9720 + 51211 10267 9891 9720 9813 + 51212 10188 9811 10267 9720 + 51213 9811 9899 10267 9720 + 51214 10267 9813 9720 9899 + 51215 10092 9812 9893 9721 + 51216 9890 9810 9721 10187 + 51217 9955 9721 9810 10187 + 51218 9893 10271 9721 9955 + 51219 10092 9893 10271 9721 + 51220 10271 9721 9955 10187 + 51221 9890 9721 10337 10187 + 51222 10337 9721 10271 10187 + 51223 10337 9812 9721 9890 + 51224 10337 10271 9721 10092 + 51225 10337 9721 9812 10092 + 51226 9722 10016 9892 9804 + 51227 9955 9892 9722 10083 + 51228 9722 10181 10016 9804 + 51229 9722 9956 10181 9804 + 51230 10083 9722 10273 9892 + 51231 9892 9722 10273 10016 + 51232 10273 9722 10181 10016 + 51233 10339 10083 9955 9722 + 51234 10339 9722 10273 10083 + 51235 9955 9893 10339 9722 + 51236 10181 9956 9722 10397 + 51237 10397 10181 10273 9722 + 51238 10339 9893 10397 9722 + 51239 10397 9956 9722 9893 + 51240 10339 10273 9722 10397 + 51241 9964 9723 9814 10089 + 51242 9893 9723 9812 10092 + 51243 10092 9812 9891 9723 + 51244 10190 9964 9723 9891 + 51245 10092 9891 10190 9723 + 51246 10089 10190 9964 9723 + 51247 9723 10274 9956 9814 + 51248 10089 10190 9723 10274 + 51249 10274 9723 9893 10092 + 51250 10274 9723 10092 10190 + 51251 9723 10274 9893 9956 + 51252 9814 9723 10274 10089 + 51253 9815 10093 9724 9897 + 51254 9724 10018 10093 9894 + 51255 10018 9724 10093 9897 + 51256 9725 10094 9897 10018 + 51257 9897 10094 9725 9823 + 51258 9961 10094 9725 10018 + 51259 9896 10094 9725 9961 + 51260 10193 9725 9823 9965 + 51261 10193 10094 9725 9896 + 51262 9725 10094 10193 9823 + 51263 10193 9725 9965 9896 + 51264 10016 9726 9892 9816 + 51265 9726 9895 9816 10095 + 51266 9816 9726 10195 10016 + 51267 10097 10195 9726 10016 + 51268 9726 10196 9895 10095 + 51269 9726 10196 9960 9895 + 51270 10097 9726 10273 10016 + 51271 9726 10016 9892 10273 + 51272 10273 9960 9892 9726 + 51273 9726 9816 10276 10095 + 51274 10276 10195 9816 9726 + 51275 10345 10097 9726 10197 + 51276 9726 10345 10276 10195 + 51277 9726 10097 10345 10195 + 51278 9726 10276 10345 10401 + 51279 9726 10401 10196 10095 + 51280 9726 10345 10197 10401 + 51281 9726 10276 10401 10095 + 51282 10432 9726 10273 10097 + 51283 10097 9726 10197 10432 + 51284 9960 10443 9726 10273 + 51285 10443 10401 9726 10197 + 51286 10443 10401 10196 9726 + 51287 10443 10196 9960 9726 + 51288 10432 9726 10443 10273 + 51289 10443 9726 10432 10197 + 51290 10020 10098 9727 9901 + 51291 10196 9901 9727 10098 + 51292 9817 9727 10196 9901 + 51293 9896 10277 9817 9727 + 51294 10196 9817 10277 9727 + 51295 10020 9896 9727 10346 + 51296 10346 10277 9896 9727 + 51297 10346 10196 10277 9727 + 51298 10346 10196 9727 10098 + 51299 10346 10098 9727 10020 + 51300 9855 9728 9933 10039 + 51301 10039 9728 9954 9813 + 51302 9998 10099 9728 9818 + 51303 10099 9728 9933 9998 + 51304 9954 10039 10191 9728 + 51305 9933 9728 10099 10347 + 51306 9933 10039 9728 10347 + 51307 10039 10347 10191 9728 + 51308 9728 10099 10396 9818 + 51309 10396 9728 9954 10191 + 51310 9728 10396 9898 9818 + 51311 10396 10347 9728 10191 + 51312 10099 9728 10396 10347 + 51313 10396 9954 9728 9898 + 51314 10056 9963 9729 9899 + 51315 10102 9963 9729 10056 + 51316 9729 10102 10056 9855 + 51317 9977 9820 9900 9730 + 51318 9899 10056 9963 9730 + 51319 9811 9899 9730 10056 + 51320 9730 10103 9819 9900 + 51321 9963 10103 9819 9730 + 51322 9977 9900 10103 9730 + 51323 10056 9730 10200 9963 + 51324 9963 10103 9730 10200 + 51325 9977 10269 9730 10103 + 51326 10269 10200 10056 9730 + 51327 10200 10103 9730 10269 + 51328 9811 9730 10269 10056 + 51329 10269 9730 9811 10019 + 51330 10019 10269 9730 9977 + 51331 9731 9825 10104 9982 + 51332 9731 10104 10202 9982 + 51333 9841 9731 10202 9982 + 51334 9731 9841 10202 9979 + 51335 9822 9966 9731 10203 + 51336 9902 10203 9822 9731 + 51337 9902 9825 10203 9731 + 51338 10203 10104 9731 9825 + 51339 9821 10281 9979 9731 + 51340 10104 10202 10281 9731 + 51341 9966 9731 10203 10281 + 51342 9731 10281 9966 9821 + 51343 10104 10203 9731 10281 + 51344 9731 10202 10281 9979 + 51345 10106 9732 9994 9929 + 51346 9994 10106 9823 9732 + 51347 10106 9732 9831 9905 + 51348 9732 10106 9823 9905 + 51349 10106 10204 9732 9929 + 51350 9831 10204 9732 10106 + 51351 9852 9929 9732 10204 + 51352 9732 9852 10204 9906 + 51353 9732 10204 9831 9906 + 51354 9733 9905 9968 9824 + 51355 10020 9822 9733 9902 + 51356 10107 9965 9905 9733 + 51357 9902 9968 9733 10107 + 51358 10107 9965 9733 10020 + 51359 10020 9733 10107 9902 + 51360 9733 9905 10107 9968 + 51361 9734 10108 9917 10027 + 51362 10027 9734 10108 9843 + 51363 10109 9842 9980 9735 + 51364 10109 9980 9921 9735 + 51365 9842 10109 9920 9735 + 51366 9843 10027 9735 10207 + 51367 9921 10207 9735 10027 + 51368 9735 10109 10207 9921 + 51369 10285 9843 9920 9735 + 51370 10285 10207 9843 9735 + 51371 10207 10109 9735 10285 + 51372 10109 9920 9735 10285 + 51373 9840 9978 10110 9736 + 51374 9736 9840 9983 10110 + 51375 9826 10208 9978 9736 + 51376 10208 9826 9915 9736 + 51377 9978 10208 10110 9736 + 51378 10208 9915 10286 9736 + 51379 9736 10208 10110 10286 + 51380 9736 9983 10286 10110 + 51381 9903 10286 9736 9983 + 51382 9903 10286 9967 9736 + 51383 9967 9736 10286 9915 + 51384 9909 10021 9737 10111 + 51385 10021 9828 9737 10111 + 51386 10209 9828 9737 9967 + 51387 9737 10111 9828 10209 + 51388 10209 9967 9737 10287 + 51389 10111 9737 9909 10287 + 51390 9903 9737 9967 10287 + 51391 9737 10287 9827 9909 + 51392 10209 9737 10111 10287 + 51393 9737 9903 9827 10287 + 51394 9738 9904 9830 10113 + 51395 9904 10113 9738 9833 + 51396 9738 9830 9911 10113 + 51397 9738 10210 9972 9833 + 51398 9738 10210 10023 9972 + 51399 9738 10113 10210 9833 + 51400 10288 9829 9911 9738 + 51401 10288 10210 10023 9738 + 51402 9911 9738 10113 10288 + 51403 10288 10113 10210 9738 + 51404 10288 10023 9829 9738 + 51405 10023 9910 9970 9739 + 51406 10023 9835 9910 9739 + 51407 9908 9739 10115 9970 + 51408 9829 10023 10115 9739 + 51409 9829 10115 9908 9739 + 51410 10023 9970 10115 9739 + 51411 9831 9906 9969 9740 + 51412 10117 9969 9740 9831 + 51413 9968 9740 9831 10117 + 51414 9968 10117 9907 9740 + 51415 10290 9904 9740 9969 + 51416 10290 9969 9740 10117 + 51417 9904 10290 9740 9830 + 51418 10117 9907 9740 10290 + 51419 10290 9907 9740 9830 + 51420 9969 9906 9852 9741 + 51421 10022 9741 9996 9834 + 51422 10022 9969 9741 9904 + 51423 9741 10022 10118 9969 + 51424 10022 9996 9741 10118 + 51425 9996 10118 10214 9741 + 51426 9996 10214 9852 9741 + 51427 9969 9741 10214 10118 + 51428 9852 9741 10214 9969 + 51429 9925 10119 9742 9845 + 51430 10119 9909 9742 9845 + 51431 9742 10119 9925 9832 + 51432 9971 9742 10215 9909 + 51433 10119 9832 9742 10215 + 51434 9971 9908 10215 9742 + 51435 10119 10215 9742 9909 + 51436 9908 9742 9832 10215 + 51437 10026 9907 9973 9743 + 51438 9914 10122 9836 9743 + 51439 9743 10122 9973 10026 + 51440 9973 9836 10122 9743 + 51441 9743 9914 10122 10026 + 51442 9744 10114 10024 9974 + 51443 9744 9911 10114 9974 + 51444 9911 9744 10116 9830 + 51445 9744 9973 10116 9830 + 51446 9911 10114 10406 9744 + 51447 10024 10406 10114 9744 + 51448 9744 9973 10024 10406 + 51449 9744 10116 9973 10406 + 51450 9911 10116 9744 10406 + 51451 10021 9745 9913 9974 + 51452 9912 9837 10025 9745 + 51453 10021 9745 9828 10111 + 51454 9745 10111 10021 9913 + 51455 10025 9837 10111 9745 + 51456 10025 10111 9828 9745 + 51457 9837 9913 10111 9745 + 51458 9912 9975 9746 9836 + 51459 10123 9912 10025 9746 + 51460 10123 9912 9746 9836 + 51461 9981 9838 10295 9746 + 51462 9981 10295 10123 9746 + 51463 10295 9746 9975 9836 + 51464 10295 10123 9746 9836 + 51465 9746 9838 10295 9975 + 51466 10123 9746 10025 10296 + 51467 9746 10025 10296 9915 + 51468 9746 10296 9981 9915 + 51469 10123 9981 9746 10296 + 51470 9976 9820 9900 9747 + 51471 9900 9820 9977 9747 + 51472 9747 9943 10126 9865 + 51473 9747 10126 9976 9865 + 51474 10127 9747 9839 9943 + 51475 9839 10127 9916 9747 + 51476 9916 10127 9977 9747 + 51477 9900 9977 10201 9747 + 51478 9976 9900 10201 9747 + 51479 10201 9976 9747 10126 + 51480 10298 9747 9943 10126 + 51481 10201 9747 9977 10298 + 51482 10127 9747 10298 9977 + 51483 10201 9747 10298 10126 + 51484 10127 10298 9747 9943 + 51485 9748 10127 9916 9839 + 51486 9918 9839 10220 9748 + 51487 9748 10220 10127 9839 + 51488 10127 10268 9748 9916 + 51489 9957 9748 10268 9916 + 51490 9919 9748 10268 9957 + 51491 10220 10357 9918 9748 + 51492 9748 10357 9918 9979 + 51493 9919 10357 9748 9979 + 51494 10268 9919 10409 9748 + 51495 10357 9748 10409 9919 + 51496 10437 10268 9748 10127 + 51497 10437 10220 10127 9748 + 51498 10437 10357 9748 10409 + 51499 10357 9748 10220 10437 + 51500 10437 9748 10268 10409 + 51501 9749 9842 10109 9920 + 51502 9865 9920 9749 10129 + 51503 9749 9839 10220 9918 + 51504 9839 9943 9749 10220 + 51505 10221 9865 9749 10129 + 51506 10221 9943 9749 9865 + 51507 10129 10221 10285 9749 + 51508 9749 10109 10285 9920 + 51509 10129 10285 9920 9749 + 51510 10221 10109 10285 9749 + 51511 10300 9749 10221 9943 + 51512 10300 10220 9749 9943 + 51513 10109 9842 9749 10300 + 51514 10109 9749 10221 10300 + 51515 10300 9842 9749 9918 + 51516 10300 9749 10220 9918 + 51517 9920 9750 9843 10129 + 51518 9750 10129 9920 9865 + 51519 9838 9921 9981 9751 + 51520 9980 9751 10028 10109 + 51521 10109 9980 9751 9921 + 51522 10052 9751 10130 10028 + 51523 9751 10028 10109 10222 + 51524 10130 10028 9751 10222 + 51525 9975 9751 10295 10052 + 51526 9838 9981 10295 9751 + 51527 10052 10295 10130 9751 + 51528 10295 9838 9751 9975 + 51529 10411 10295 9981 9751 + 51530 10411 9981 9921 9751 + 51531 10109 9751 10411 9921 + 51532 10130 9751 10411 10222 + 51533 9751 10109 10411 10222 + 51534 9751 10295 10130 10411 + 51535 9826 9752 10027 9917 + 51536 9752 10027 9917 10108 + 51537 10125 9915 9752 9981 + 51538 10207 10027 9752 10108 + 51539 10208 9752 9826 9917 + 51540 9915 9752 9826 10208 + 51541 9915 10125 9752 10208 + 51542 10125 9752 10208 10299 + 51543 9752 9917 10299 10108 + 51544 10208 10299 9752 9917 + 51545 10207 9752 10299 10108 + 51546 10299 9752 10207 10361 + 51547 10125 10361 9752 10299 + 51548 9981 9752 10361 10027 + 51549 9752 10207 10361 10027 + 51550 10125 10361 9981 9752 + 51551 9922 9753 9985 9844 + 51552 9754 9922 9827 9984 + 51553 9754 10131 9922 9984 + 51554 9844 9754 10131 9922 + 51555 9844 9754 10224 10132 + 51556 9844 9983 10224 9754 + 51557 10224 10286 10112 9754 + 51558 9983 9903 10286 9754 + 51559 9983 10286 10224 9754 + 51560 9754 10286 10112 9903 + 51561 9827 9754 9984 10287 + 51562 10287 9903 9827 9754 + 51563 10287 10112 9903 9754 + 51564 9754 10217 9984 10287 + 51565 9754 10302 10132 9844 + 51566 10131 10302 9754 9844 + 51567 9984 10131 10302 9754 + 51568 9984 10302 10217 9754 + 51569 10302 10217 9754 10363 + 51570 10217 10287 9754 10363 + 51571 10363 10224 9754 10132 + 51572 10363 10224 10112 9754 + 51573 10132 9754 10363 10302 + 51574 10112 9754 10287 10363 + 51575 9923 9846 9755 10001 + 51576 10001 10029 9846 9755 + 51577 10001 10134 10029 9755 + 51578 10029 10134 9985 9755 + 51579 10031 9924 9756 9847 + 51580 9845 10031 9986 9756 + 51581 10031 9924 9986 9756 + 51582 9860 10135 10000 9757 + 51583 9860 9924 10135 9757 + 51584 10000 9857 9757 10135 + 51585 9857 9924 9757 10135 + 51586 9758 10138 9989 10034 + 51587 10138 10034 9758 10167 + 51588 9876 9758 10034 10167 + 51589 9988 9876 10168 9758 + 51590 9882 9758 10033 10172 + 51591 10172 9882 9758 9989 + 51592 10139 9758 10253 10228 + 51593 10138 10253 9758 10228 + 51594 9758 10167 9876 10253 + 51595 10253 9876 9758 10168 + 51596 9758 10138 10167 10253 + 51597 10139 10253 9758 10168 + 51598 10367 9758 9988 10168 + 51599 10367 10139 9758 10168 + 51600 9988 9758 10367 10033 + 51601 9989 10172 10370 9758 + 51602 9758 10370 10138 10228 + 51603 10172 9758 10139 10370 + 51604 9989 10370 10138 9758 + 51605 9758 10139 10370 10228 + 51606 10172 10415 10139 9758 + 51607 10033 10367 10415 9758 + 51608 10415 10139 9758 10367 + 51609 10033 9758 10415 10172 + 51610 9759 9990 9797 9879 + 51611 9873 9759 9990 10035 + 51612 9991 9759 10073 9879 + 51613 10073 9797 9879 9759 + 51614 9759 9873 9848 10164 + 51615 9759 10035 9873 10164 + 51616 9797 9990 9759 10171 + 51617 10171 9759 9797 10073 + 51618 10035 9759 9990 10171 + 51619 10305 9759 9848 10164 + 51620 9759 10305 9848 10371 + 51621 9759 10073 10171 10371 + 51622 10371 9759 10073 9991 + 51623 9991 9759 9848 10371 + 51624 10305 10371 9759 10416 + 51625 10416 10164 10035 9759 + 51626 10305 10416 9759 10164 + 51627 10171 10035 9759 10416 + 51628 10416 9759 10171 10371 + 51629 9928 9790 9760 9992 + 51630 10030 9790 9760 9928 + 51631 10075 9910 9835 9760 + 51632 10075 9835 10035 9760 + 51633 9760 9910 10030 10216 + 51634 10216 9760 9910 10075 + 51635 9928 9760 10030 10216 + 51636 9760 10372 9928 9992 + 51637 9760 10035 10372 9992 + 51638 10075 9760 10035 10372 + 51639 10075 10216 9760 10372 + 51640 10216 9928 9760 10372 + 51641 9993 10046 9761 9872 + 51642 9993 9849 9761 10046 + 51643 10046 9761 10006 10140 + 51644 9761 9849 10140 10046 + 51645 10165 10006 9874 9761 + 51646 10165 10006 9761 10140 + 51647 9761 10140 9849 10165 + 51648 10054 9849 10165 9761 + 51649 10054 10165 9874 9761 + 51650 9762 9931 10141 9854 + 51651 9930 10141 9854 9762 + 51652 9930 9995 10141 9762 + 51653 9994 10142 9929 9763 + 51654 9851 10142 9763 9929 + 51655 9994 10192 10142 9763 + 51656 10192 9815 9763 9994 + 51657 10204 9852 9764 10143 + 51658 10204 9852 9929 9764 + 51659 9852 9764 10143 10214 + 51660 10214 9852 9764 9930 + 51661 9929 10230 9764 9995 + 51662 9929 10230 10307 9764 + 51663 10204 9929 10307 9764 + 51664 10143 9764 10204 10307 + 51665 10143 10232 9764 10307 + 51666 9995 9764 9930 10308 + 51667 9764 10308 10232 10143 + 51668 10214 9764 10308 9930 + 51669 10308 10143 9764 10214 + 51670 10307 10230 10376 9764 + 51671 10307 9764 10376 10232 + 51672 10308 9764 10232 10376 + 51673 9764 10308 9995 10376 + 51674 9764 9995 10230 10376 + 51675 9878 10055 10072 9765 + 51676 10144 9853 9765 9931 + 51677 10144 9931 9765 9854 + 51678 9878 10072 10170 9765 + 51679 10170 9765 9997 9878 + 51680 10144 9853 10233 9765 + 51681 10233 9765 9853 9997 + 51682 10055 9765 10234 10072 + 51683 9854 10055 9765 10234 + 51684 10144 9765 10234 9854 + 51685 10144 9765 10233 10309 + 51686 10144 10234 9765 10309 + 51687 10378 10234 9765 10072 + 51688 10309 10378 9765 10233 + 51689 10378 9765 10170 10072 + 51690 10378 9765 10233 9997 + 51691 10378 9997 10170 9765 + 51692 10378 10234 10309 9765 + 51693 9997 9766 10038 9795 + 51694 10233 9853 9766 9997 + 51695 9766 10310 10233 9997 + 51696 9997 10038 9766 10310 + 51697 9935 10147 9856 9768 + 51698 9935 10041 10147 9768 + 51699 10147 10235 9768 10041 + 51700 9768 10041 10235 9932 + 51701 10045 10005 9863 9769 + 51702 10057 9858 10009 9769 + 51703 9858 9769 10057 10149 + 51704 10005 9769 10149 10057 + 51705 9769 10239 10149 9858 + 51706 9936 10239 9769 9858 + 51707 9936 9769 10239 10002 + 51708 9769 10002 10316 10239 + 51709 9769 10316 10149 10239 + 51710 9769 10002 10045 10316 + 51711 9769 10045 10005 10316 + 51712 10149 10005 10316 9769 + 51713 9937 10150 9770 9859 + 51714 9859 10150 9770 9938 + 51715 9771 9859 10150 9937 + 51716 10151 10002 9771 10042 + 51717 10240 9771 10151 10002 + 51718 9859 9771 10150 10240 + 51719 10240 9859 9771 10002 + 51720 9771 10150 10241 9937 + 51721 9771 9937 10241 10317 + 51722 9771 10000 9937 10317 + 51723 9771 10000 10317 10042 + 51724 10241 10150 9771 10318 + 51725 10240 10318 10151 9771 + 51726 10240 10150 10318 9771 + 51727 10318 10151 9771 10383 + 51728 10318 9771 10241 10383 + 51729 10383 10425 9771 10241 + 51730 10383 10151 9771 10425 + 51731 10425 9771 10042 10151 + 51732 10042 10425 10317 9771 + 51733 10317 10241 9771 10425 + 51734 10152 9772 9860 10043 + 51735 9772 10001 10152 9860 + 51736 9773 9986 9924 9846 + 51737 9846 9773 10029 10001 + 51738 9846 9773 9986 10029 + 51739 9773 10031 9924 9986 + 51740 10134 10029 9773 10001 + 51741 10135 9860 9773 9924 + 51742 9773 9924 10031 10135 + 51743 9773 10152 10001 9860 + 51744 10152 10001 10242 9773 + 51745 9773 10001 10242 10134 + 51746 9773 10031 10303 10135 + 51747 10134 10365 10242 9773 + 51748 10134 10029 10365 9773 + 51749 10031 10365 9986 9773 + 51750 9773 10029 10365 9986 + 51751 10384 9860 9773 10135 + 51752 10152 9773 10242 10384 + 51753 10384 9773 10303 10135 + 51754 10152 9773 10384 9860 + 51755 10384 9773 10242 10414 + 51756 10384 9773 10414 10303 + 51757 10365 9773 10414 10242 + 51758 10031 10414 10365 9773 + 51759 9773 10303 10031 10414 + 51760 9987 9774 10031 9847 + 51761 9847 9774 10031 9924 + 51762 9774 10037 9999 9857 + 51763 9774 9987 10037 9847 + 51764 10135 9857 9924 9774 + 51765 10135 9924 10031 9774 + 51766 10136 9987 9774 10031 + 51767 9857 10148 9999 9774 + 51768 9857 10238 10148 9774 + 51769 9857 10135 10238 9774 + 51770 9774 10136 10031 10303 + 51771 10303 9774 10136 10238 + 51772 10135 10303 10238 9774 + 51773 9774 10031 10135 10303 + 51774 9774 10304 9987 10136 + 51775 9774 10148 9999 10304 + 51776 9774 10037 10304 9999 + 51777 10037 10304 9987 9774 + 51778 10238 9774 10319 10148 + 51779 9774 10319 10136 10238 + 51780 10440 10319 9774 10148 + 51781 10440 9774 10304 10148 + 51782 10319 9774 10136 10440 + 51783 9774 10440 10304 10136 + 51784 9776 9859 10240 10002 + 51785 9859 9938 9776 10240 + 51786 10045 10385 9776 9940 + 51787 10385 10045 9776 10002 + 51788 9776 10240 10385 10002 + 51789 9938 10426 9862 9776 + 51790 10426 9776 9940 9862 + 51791 9776 9940 10385 10426 + 51792 10426 9776 9938 10240 + 51793 10426 10385 9776 10240 + 51794 9868 10063 9777 10003 + 51795 10004 9777 10162 10044 + 51796 10004 9777 9868 10162 + 51797 10063 9868 9777 10162 + 51798 10005 9861 10062 9778 + 51799 9863 10004 9778 10154 + 51800 10005 10062 10321 9778 + 51801 9778 10321 10005 10387 + 51802 9863 10005 10387 9778 + 51803 9863 10387 10154 9778 + 51804 9864 9779 10155 10058 + 51805 9864 10008 10155 9779 + 51806 9780 9864 10046 9872 + 51807 10008 9864 10155 9780 + 51808 10155 9864 10046 9780 + 51809 10048 10163 9942 9780 + 51810 9780 10007 10163 9942 + 51811 9780 10007 9872 10163 + 51812 9872 9780 10251 10046 + 51813 9780 10251 10163 9872 + 51814 10008 10155 10388 9780 + 51815 10388 10046 10251 9780 + 51816 10388 10155 10046 9780 + 51817 10388 10251 10163 9780 + 51818 10388 10048 10008 9780 + 51819 10163 10048 10388 9780 + 51820 9781 10159 9866 10060 + 51821 10160 10061 9781 9881 + 51822 10247 10061 9881 9781 + 51823 10247 9881 9948 9781 + 51824 10159 9781 10325 10060 + 51825 10325 9781 10391 10247 + 51826 10325 10159 10391 9781 + 51827 10160 9781 10061 10391 + 51828 9781 10061 10391 10247 + 51829 9945 9783 9867 10062 + 51830 9783 9939 10062 9945 + 51831 9784 10063 9868 10003 + 51832 9882 10010 9786 9989 + 51833 9944 9869 10065 9786 + 51834 9786 10065 9926 9989 + 51835 9869 9786 10010 10065 + 51836 9786 10010 10065 9989 + 51837 9944 10065 9926 9786 + 51838 10248 9944 9787 9869 + 51839 10059 9787 9869 10248 + 51840 10059 10158 9787 10248 + 51841 9788 10033 10053 10066 + 51842 9788 10066 10053 10007 + 51843 10033 9882 10066 9788 + 51844 10066 9949 9788 9882 + 51845 9789 10067 9993 9872 + 51846 9873 10067 9993 9789 + 51847 10252 10047 9945 9792 + 51848 10009 9792 9874 10252 + 51849 10047 9874 9792 10252 + 51850 10252 9945 10009 9792 + 51851 9793 9875 10032 10070 + 51852 9876 9946 9793 10071 + 51853 9877 9946 10071 9793 + 51854 9793 10071 10032 9876 + 51855 10166 9793 10070 9877 + 51856 10032 9793 10166 10071 + 51857 9793 10166 10071 9877 + 51858 10070 9793 10166 10032 + 51859 9997 10038 10070 9795 + 51860 10070 9875 10032 9796 + 51861 10073 9879 9796 9991 + 51862 10070 9796 10032 10255 + 51863 9991 10255 9796 10073 + 51864 9991 10074 9796 10326 + 51865 9796 10074 10032 10326 + 51866 9796 10032 10255 10326 + 51867 10255 9991 9796 10326 + 51868 9797 9880 9990 10171 + 51869 10171 9797 10327 10073 + 51870 10171 9797 9880 10327 + 51871 9947 9880 9797 10327 + 51872 9947 10327 9797 10073 + 51873 9798 10074 10053 9988 + 51874 9798 10053 10074 9927 + 51875 9942 10048 9799 10076 + 51876 9799 9941 10076 10048 + 51877 9942 9799 10249 10076 + 51878 10049 10257 9800 9883 + 51879 9800 10257 10049 10013 + 51880 9800 9884 10257 10013 + 51881 10012 10078 9884 9801 + 51882 10079 9803 10177 9885 + 51883 10079 9803 10329 10177 + 51884 10329 9803 9950 9884 + 51885 10329 9950 9803 10079 + 51886 9803 9884 10329 10177 + 51887 10081 10181 9956 9804 + 51888 10016 10261 9887 9804 + 51889 9804 10261 9887 10015 + 51890 10016 10261 9804 10181 + 51891 10081 10261 10181 9804 + 51892 10015 10261 10081 9804 + 51893 10083 9805 9960 10017 + 51894 10083 9889 9805 10017 + 51895 9889 9805 9955 10083 + 51896 9955 9805 9892 10083 + 51897 9960 9892 9805 10083 + 51898 10084 9952 10014 9806 + 51899 9959 10180 10084 9806 + 51900 9959 9887 10180 9806 + 51901 10260 9806 10084 10180 + 51902 9952 10084 10260 9806 + 51903 9958 10085 9807 9886 + 51904 10085 9807 9894 10182 + 51905 9807 10018 9894 10182 + 51906 10182 9807 10018 9961 + 51907 9895 9807 9958 10182 + 51908 10182 9895 9807 9961 + 51909 10182 10085 9807 9958 + 51910 9898 9962 10088 9809 + 51911 9809 10088 9898 10185 + 51912 10082 10185 9809 9888 + 51913 10088 10264 10185 9809 + 51914 9953 10264 9809 10082 + 51915 10264 10082 10185 9809 + 51916 9810 9955 10187 9889 + 51917 10187 9810 9957 9890 + 51918 10019 9811 10091 9890 + 51919 10091 9890 9811 10188 + 51920 9811 9899 10056 10267 + 51921 10269 9811 10091 10019 + 51922 10338 10091 9811 10188 + 51923 10338 9811 10267 10188 + 51924 10056 10269 9811 10338 + 51925 10267 10056 9811 10338 + 51926 10338 9811 10091 10269 + 51927 9812 9891 10188 10270 + 51928 9812 9891 10270 10092 + 51929 10337 9890 10188 9812 + 51930 10337 10188 10270 9812 + 51931 10092 10337 10270 9812 + 51932 9954 9891 10267 9813 + 51933 9954 9813 10267 10039 + 51934 9813 10267 10039 9899 + 51935 9888 10089 9964 9814 + 51936 9814 10179 10050 9888 + 51937 9888 10179 10089 9814 + 51938 10184 9814 10050 10081 + 51939 10081 9956 10340 9814 + 51940 10089 10274 9814 10340 + 51941 10274 10340 9956 9814 + 51942 10081 10340 10184 9814 + 51943 10179 9814 10050 10398 + 51944 10184 10398 9814 10340 + 51945 10184 10050 9814 10398 + 51946 9814 10398 10089 10340 + 51947 9814 10089 10398 10179 + 51948 9897 9815 10093 10192 + 51949 9897 9994 9815 10192 + 51950 10016 10086 9816 9959 + 51951 9958 9895 10095 9816 + 51952 9816 10195 10086 10016 + 51953 9816 10276 9958 10086 + 51954 10276 9958 10095 9816 + 51955 9816 10195 10276 10086 + 51956 9960 9817 9901 10017 + 51957 10196 9895 9817 9960 + 51958 9817 10196 9960 9901 + 51959 10277 9896 9817 9961 + 51960 9817 9895 10196 10277 + 51961 9817 9895 10277 9961 + 51962 9818 9962 10088 9898 + 51963 10100 9818 9932 10041 + 51964 9998 9818 9932 10100 + 51965 9998 10198 10099 9818 + 51966 9998 10198 9818 10100 + 51967 10198 9818 9962 10088 + 51968 10198 9962 9818 10041 + 51969 9818 10100 10198 10041 + 51970 9818 10088 10396 9898 + 51971 9818 10099 10396 10198 + 51972 9818 10396 10088 10198 + 51973 10105 9821 10051 9966 + 51974 9919 10051 10105 9821 + 51975 10105 10281 9821 9966 + 51976 9919 10105 10281 9821 + 51977 9919 10281 9979 9821 + 51978 9822 10203 10020 9901 + 51979 9966 10203 9822 9901 + 51980 10203 9902 9822 10020 + 51981 10193 10106 9905 9823 + 51982 9905 10193 9823 9965 + 51983 9897 9823 9994 10279 + 51984 9897 10279 10094 9823 + 51985 10193 10106 9823 10279 + 51986 9823 10106 9994 10279 + 51987 10279 10193 10094 9823 + 51988 9825 9982 9914 10205 + 51989 10026 9914 10205 9825 + 51990 10205 9825 9982 10104 + 51991 10104 10283 9825 10203 + 51992 9825 10283 10104 10205 + 51993 10283 9825 9902 10026 + 51994 10026 10205 10283 9825 + 51995 10203 10283 9825 9902 + 51996 9826 9917 9978 10208 + 51997 9984 9827 10287 9909 + 51998 10209 10025 9828 9967 + 51999 10025 9828 10111 10209 + 52000 9913 9971 10021 9829 + 52001 9971 10021 9829 9908 + 52002 9913 10021 9974 9829 + 52003 9829 9911 9974 10114 + 52004 10023 9829 10115 10211 + 52005 10114 9829 10288 10211 + 52006 10023 10288 9829 10211 + 52007 9829 10288 9911 10114 + 52008 9908 10289 9829 9971 + 52009 10289 9908 9829 10115 + 52010 9913 9829 10289 9971 + 52011 10115 10211 9829 10289 + 52012 9913 10289 9829 10350 + 52013 10211 9829 10289 10350 + 52014 10211 10114 9829 10350 + 52015 10114 9974 9829 10350 + 52016 9913 9829 9974 10350 + 52017 9830 9907 9973 10116 + 52018 9830 10212 10116 9911 + 52019 9830 10113 10212 9911 + 52020 10290 9904 10113 9830 + 52021 9830 10290 10212 10113 + 52022 9830 10116 10212 10290 + 52023 10290 9907 9830 10116 + 52024 9906 9831 9969 10204 + 52025 10117 9831 9968 10213 + 52026 9905 10291 9831 10106 + 52027 9905 9968 9831 10291 + 52028 9831 10213 10291 9968 + 52029 10213 10291 10352 9831 + 52030 9831 10352 10204 10106 + 52031 9831 10352 10106 10291 + 52032 10117 10352 9831 10213 + 52033 10352 9969 9831 10204 + 52034 10117 10352 9969 9831 + 52035 9987 10120 10030 9832 + 52036 9832 9970 10120 10030 + 52037 9908 9832 9970 10215 + 52038 10292 10120 9987 9832 + 52039 10292 10120 9832 9970 + 52040 10292 9925 10119 9832 + 52041 9987 9925 10292 9832 + 52042 10292 9832 10215 9970 + 52043 10119 10292 9832 10215 + 52044 10210 9833 10254 9972 + 52045 10022 10351 9833 10169 + 52046 10351 10022 9833 9904 + 52047 10351 9833 10113 9904 + 52048 10113 10351 10434 9833 + 52049 9833 10169 10351 10434 + 52050 10254 10169 9833 10434 + 52051 10113 10434 10210 9833 + 52052 9833 10254 10434 10210 + 52053 10022 9996 10055 9834 + 52054 10035 9835 10075 9880 + 52055 9910 10023 10075 9835 + 52056 9880 10075 10023 9835 + 52057 9836 9975 10052 9914 + 52058 9914 10122 10052 9836 + 52059 9912 9836 10123 10024 + 52060 9836 9973 10218 10024 + 52061 10218 9836 10024 10123 + 52062 9973 9836 10218 10122 + 52063 10122 10295 9836 10218 + 52064 10052 10295 9836 10122 + 52065 10123 10295 10218 9836 + 52066 9836 10052 9975 10295 + 52067 9912 10123 9837 10024 + 52068 10123 9837 10025 9912 + 52069 9837 9913 10219 10111 + 52070 10219 10124 10024 9837 + 52071 9837 10219 9913 10024 + 52072 9837 10111 10296 10025 + 52073 9837 10296 10123 10025 + 52074 10296 10123 10355 9837 + 52075 10024 9837 10355 10123 + 52076 10355 10024 10124 9837 + 52077 10111 10407 10219 9837 + 52078 10296 10407 10111 9837 + 52079 10296 10355 10407 9837 + 52080 10407 10124 10219 9837 + 52081 10407 10355 10124 9837 + 52082 10127 9839 10220 9943 + 52083 9918 9841 10028 9980 + 52084 10028 10202 9982 9841 + 52085 9841 9979 9918 10202 + 52086 10202 10028 9918 9841 + 52087 9842 9918 10028 9980 + 52088 10028 9980 10109 9842 + 52089 10028 10109 10300 9842 + 52090 9842 10028 9918 10300 + 52091 10027 10108 10207 9843 + 52092 10285 10129 9920 9843 + 52093 9843 10207 10285 10360 + 52094 9843 10108 10207 10360 + 52095 10285 10360 10129 9843 + 52096 9922 9985 10131 9844 + 52097 10131 10225 9844 9985 + 52098 9844 10302 10132 10225 + 52099 9844 10131 10302 10225 + 52100 10131 9845 10029 9984 + 52101 10217 9845 9984 9909 + 52102 10119 10217 9909 9845 + 52103 9925 10226 10119 9845 + 52104 9925 10031 10226 9845 + 52105 9845 10217 9984 10302 + 52106 9845 9984 10131 10302 + 52107 10226 10119 9845 10364 + 52108 9845 10302 10133 10364 + 52109 9845 10133 10226 10364 + 52110 10119 9845 10364 10217 + 52111 10302 10217 10364 9845 + 52112 10365 10131 9845 10029 + 52113 10302 10365 10131 9845 + 52114 10302 10133 10365 9845 + 52115 9845 10365 10031 10226 + 52116 9845 10365 10226 10133 + 52117 9986 9845 10029 10365 + 52118 9986 10031 9845 10365 + 52119 10164 9873 9848 10067 + 52120 10067 9848 10229 9927 + 52121 10229 9848 9991 9927 + 52122 9848 10305 10067 10229 + 52123 10164 9848 10305 10067 + 52124 10229 10305 10371 9848 + 52125 10229 10371 9991 9848 + 52126 10306 9849 10140 10165 + 52127 9849 10054 10306 9992 + 52128 9849 10306 10069 9992 + 52129 10165 10306 9849 10054 + 52130 10046 10140 10373 9849 + 52131 10306 10140 9849 10373 + 52132 10046 10373 9993 9849 + 52133 9993 9849 10373 10069 + 52134 10306 9849 10069 10373 + 52135 10036 9999 9850 9871 + 52136 9850 9871 9999 10037 + 52137 10030 9850 10120 9987 + 52138 9928 9850 10120 10030 + 52139 9850 10037 9999 10304 + 52140 10037 9850 9987 10304 + 52141 9850 10120 9987 10304 + 52142 9850 10036 10374 9999 + 52143 9999 10374 9850 10304 + 52144 10418 9850 10036 10374 + 52145 10304 10418 9850 10120 + 52146 10036 9850 10418 9928 + 52147 10120 9850 9928 10418 + 52148 9850 10374 10418 10304 + 52149 10230 10142 9851 9929 + 52150 10230 9929 9851 9995 + 52151 9906 9969 9852 10204 + 52152 9996 9852 10214 9930 + 52153 10403 10214 9852 10143 + 52154 9852 10214 10403 9969 + 52155 9852 10143 10204 10403 + 52156 10403 9852 9969 10204 + 52157 10308 9854 9930 10141 + 52158 9854 10146 10311 10234 + 52159 10234 9854 10055 10311 + 52160 9996 10055 9854 10377 + 52161 10308 9854 10377 9930 + 52162 10377 9854 9996 9930 + 52163 10308 10377 9854 10146 + 52164 10311 9854 10055 10377 + 52165 9854 10377 10311 10146 + 52166 10141 9854 9931 10379 + 52167 10141 10308 9854 10379 + 52168 10379 10234 9854 10144 + 52169 10379 9854 10234 10146 + 52170 10379 9854 9931 10144 + 52171 10146 9854 10308 10379 + 52172 9855 10056 10039 10102 + 52173 10236 9855 9933 10039 + 52174 9855 10039 10236 10102 + 52175 10147 9935 9856 10237 + 52176 10040 9856 9935 10237 + 52177 10042 10135 9857 10000 + 52178 10148 9936 9857 9999 + 52179 9857 10042 9936 10148 + 52180 10135 10238 10042 9857 + 52181 10148 10042 10238 9857 + 52182 10057 9858 10068 10009 + 52183 10068 10239 9858 10381 + 52184 9858 10149 10057 10381 + 52185 9858 10057 10068 10381 + 52186 10239 10149 9858 10381 + 52187 9858 9936 10239 10424 + 52188 9858 10239 10068 10424 + 52189 10424 9858 9999 10068 + 52190 10424 9999 9858 9936 + 52191 10240 9859 9938 10150 + 52192 10000 9860 10043 10317 + 52193 10135 10317 9860 10000 + 52194 10043 9860 10384 10317 + 52195 9860 10152 10043 10384 + 52196 10384 10317 9860 10135 + 52197 10062 9861 10005 9939 + 52198 10044 9862 10153 9940 + 52199 10426 9940 10153 9862 + 52200 9863 9940 10004 10154 + 52201 9863 10045 9940 10154 + 52202 10045 10154 9863 10387 + 52203 10005 10045 9863 10387 + 52204 10006 9864 10046 10155 + 52205 10006 10155 10058 9864 + 52206 10129 9865 10324 10221 + 52207 10324 9865 9943 10221 + 52208 10126 10324 9865 9943 + 52209 9867 10064 10058 10047 + 52210 9945 10047 10161 9867 + 52211 9945 9867 10161 10062 + 52212 10047 10064 10161 9867 + 52213 10004 9868 10063 10162 + 52214 10248 9944 9869 10065 + 52215 10010 10248 10059 9869 + 52216 10248 9869 10010 10065 + 52217 9872 10251 9993 10046 + 52218 10067 9993 9872 10251 + 52219 10067 9872 10163 10251 + 52220 9873 10164 10035 9992 + 52221 9993 9873 10164 10067 + 52222 10165 9874 10068 10054 + 52223 10047 10252 10006 9874 + 52224 9874 10252 10006 10165 + 52225 9874 10068 10252 10165 + 52226 9874 10252 10068 10009 + 52227 9876 10167 9946 10071 + 52228 10032 9876 10168 9988 + 52229 9876 10032 10168 10071 + 52230 9876 10168 10253 10071 + 52231 9876 10167 10071 10253 + 52232 10166 10070 10038 9877 + 52233 10170 9947 10072 9878 + 52234 9880 10035 9990 10171 + 52235 9880 10075 10035 10171 + 52236 10254 9880 9947 10327 + 52237 10171 9880 10392 10327 + 52238 10075 10392 10171 9880 + 52239 10023 10392 10075 9880 + 52240 10254 9880 10327 10392 + 52241 9972 9880 10392 10023 + 52242 10254 9972 9880 10392 + 52243 10247 10059 9881 10010 + 52244 9948 10059 9881 10247 + 52245 10010 10247 10061 9881 + 52246 10010 10061 10249 9881 + 52247 10061 10249 9881 10160 + 52248 10010 10249 9949 9881 + 52249 10066 10010 9949 9882 + 52250 9882 10172 10010 9989 + 52251 10066 10172 10010 9882 + 52252 9882 10033 10066 10172 + 52253 9883 10011 10077 9951 + 52254 9953 9883 10175 10049 + 52255 10049 10077 9883 10175 + 52256 10257 10077 9883 10049 + 52257 10178 10012 10078 9884 + 52258 10178 10257 10012 9884 + 52259 10329 10078 9884 10178 + 52260 10078 10329 9884 10177 + 52261 10329 9884 10257 10178 + 52262 10329 9950 10013 9884 + 52263 10013 10329 9884 10257 + 52264 10177 9885 10260 10079 + 52265 9958 10262 10085 9886 + 52266 10261 9959 9887 10180 + 52267 10261 9887 10015 10180 + 52268 10261 9887 9959 10016 + 52269 10266 9964 9888 10089 + 52270 10335 9888 10185 10082 + 52271 10335 10179 9888 10082 + 52272 10089 9888 10266 10335 + 52273 10335 10185 9888 10266 + 52274 10089 10179 9888 10335 + 52275 10051 9889 10083 10017 + 52276 10083 9955 9889 10187 + 52277 10051 9889 10187 10083 + 52278 9957 9890 10019 10189 + 52279 10019 9890 10091 10189 + 52280 9890 10091 10189 10268 + 52281 10189 10268 9957 9890 + 52282 10187 9957 10268 9890 + 52283 10268 9890 10337 10187 + 52284 10337 9890 10268 10091 + 52285 10091 10337 9890 10188 + 52286 10190 9891 10090 9964 + 52287 10267 9954 10090 9891 + 52288 10267 10090 10188 9891 + 52289 10188 9891 10090 10270 + 52290 10190 10270 9891 10092 + 52291 10190 10270 10090 9891 + 52292 10083 10273 9960 9892 + 52293 10339 10271 9893 9955 + 52294 10397 10274 9956 9893 + 52295 9893 10274 10092 10397 + 52296 10339 9893 10271 10397 + 52297 10397 9893 10271 10092 + 52298 10085 9894 10275 10182 + 52299 10341 10018 9894 10093 + 52300 10341 9894 10275 10093 + 52301 10182 10275 10341 9894 + 52302 10341 9894 10018 10182 + 52303 9895 9958 10095 10182 + 52304 10196 9895 10095 10277 + 52305 10182 10277 9895 9961 + 52306 10277 10095 10182 9895 + 52307 10277 10094 9896 9961 + 52308 10094 10346 9896 10193 + 52309 10094 9896 10346 10277 + 52310 10193 10346 9896 9965 + 52311 9965 10346 9896 10020 + 52312 10279 9897 10093 10192 + 52313 10279 9897 10192 9994 + 52314 10094 10341 10279 9897 + 52315 10341 9897 10093 10279 + 52316 10341 10018 10093 9897 + 52317 10094 10018 10341 9897 + 52318 10336 10185 9898 10088 + 52319 10336 10396 9898 9954 + 52320 10336 9898 10396 10088 + 52321 9899 10039 10056 10267 + 52322 10201 9900 10103 9977 + 52323 10051 9960 9901 10017 + 52324 10282 10203 9966 9901 + 52325 9901 9966 10282 10098 + 52326 10282 10020 10203 9901 + 52327 10020 10282 10098 9901 + 52328 10051 9966 9901 10443 + 52329 9901 10098 10196 10443 + 52330 9901 10196 9960 10443 + 52331 9960 9901 10443 10051 + 52332 10443 9901 10098 9966 + 52333 9902 10020 10203 10107 + 52334 9902 9968 10348 10026 + 52335 9902 10348 9968 10107 + 52336 10203 10348 10283 9902 + 52337 9902 10348 10283 10026 + 52338 9902 10203 10348 10107 + 52339 10286 10112 9903 9967 + 52340 10287 9967 9903 10112 + 52341 10351 10022 9904 9969 + 52342 10113 10290 10351 9904 + 52343 10290 10351 9904 9969 + 52344 10107 10193 9905 9965 + 52345 9905 10193 10291 10106 + 52346 9905 10107 9968 10291 + 52347 10291 10193 9905 10107 + 52348 9907 9968 10026 10117 + 52349 10026 10353 9907 10117 + 52350 10353 9973 9907 10116 + 52351 10290 10353 9907 10116 + 52352 9973 10353 9907 10026 + 52353 10117 10290 10353 9907 + 52354 9970 9908 10215 10115 + 52355 9971 9908 10289 10215 + 52356 10289 10215 9908 10115 + 52357 9909 9971 10021 10111 + 52358 9984 10287 10217 9909 + 52359 10111 9909 10217 10287 + 52360 9909 10405 9971 10111 + 52361 9909 10215 9971 10405 + 52362 9909 10217 10405 10111 + 52363 10217 10405 10119 9909 + 52364 9909 10119 10215 10405 + 52365 9910 9970 10030 10216 + 52366 9910 10404 9970 10216 + 52367 10216 9910 10404 10075 + 52368 10023 9910 10075 10404 + 52369 10023 9910 10404 9970 + 52370 10212 10288 9911 10113 + 52371 10212 9911 10406 10116 + 52372 10406 10288 10114 9911 + 52373 10406 10288 9911 10212 + 52374 9971 10021 10111 9913 + 52375 9974 9913 10350 10024 + 52376 10219 9913 10024 10350 + 52377 10405 10289 9913 10350 + 52378 9913 10111 9971 10405 + 52379 10289 9913 9971 10405 + 52380 10436 10405 9913 10350 + 52381 10111 9913 10219 10436 + 52382 9913 10436 10111 10405 + 52383 10436 9913 10219 10350 + 52384 9914 10122 10205 10052 + 52385 9914 10205 10122 10026 + 52386 9914 10205 9982 10052 + 52387 10209 9967 9915 10025 + 52388 10209 10286 9915 9967 + 52389 10209 9915 10296 10025 + 52390 10125 10296 9915 9981 + 52391 10356 10208 10125 9915 + 52392 10209 9915 10286 10356 + 52393 10356 9915 10125 10296 + 52394 9915 10286 10356 10208 + 52395 10209 10356 10296 9915 + 52396 9957 10019 9916 10189 + 52397 10127 10189 9916 9977 + 52398 9916 9977 10189 10019 + 52399 9957 10268 10189 9916 + 52400 10127 10189 10268 9916 + 52401 10202 9918 10028 10128 + 52402 10128 9918 10028 10300 + 52403 10128 10220 9918 10300 + 52404 10220 9918 10357 10128 + 52405 10202 10357 9918 10128 + 52406 10202 10357 9979 9918 + 52407 10051 10187 9919 10105 + 52408 10268 9919 9957 10187 + 52409 9979 10281 9919 10357 + 52410 9919 10357 10281 10105 + 52411 10105 10187 9919 10359 + 52412 9919 10268 10359 10187 + 52413 9919 10409 10357 10105 + 52414 9919 10359 10409 10105 + 52415 10268 10409 9919 10359 + 52416 10207 9921 10361 10027 + 52417 9981 10361 9921 10027 + 52418 10207 9921 10411 10361 + 52419 10109 10207 9921 10411 + 52420 9981 10411 9921 10361 + 52421 9922 9984 10131 10029 + 52422 10029 10131 9922 9985 + 52423 10136 9925 9987 10031 + 52424 10136 10031 10226 9925 + 52425 10227 9925 9987 10136 + 52426 10292 9925 9987 10227 + 52427 9925 10366 10119 10226 + 52428 9925 10136 10366 10226 + 52429 10119 10366 9925 10292 + 52430 10292 10366 9925 10227 + 52431 10227 10366 9925 10136 + 52432 10229 9991 10074 9927 + 52433 10067 10229 10250 9927 + 52434 9927 10229 10250 10074 + 52435 9927 10250 10053 10074 + 52436 10120 10216 9928 10030 + 52437 10306 9928 9992 10036 + 52438 9992 9928 10306 10372 + 52439 10036 10418 10306 9928 + 52440 10372 9928 10306 10418 + 52441 10372 10216 9928 10418 + 52442 10120 9928 10216 10418 + 52443 9994 9929 10142 10231 + 52444 9994 9929 10231 10106 + 52445 10307 10142 9929 10231 + 52446 10142 10307 9929 10230 + 52447 9929 10307 10231 10106 + 52448 9929 10204 10307 10106 + 52449 10308 9930 9995 10141 + 52450 10308 10377 10214 9930 + 52451 10377 9996 10214 9930 + 52452 10100 9932 10235 10041 + 52453 10099 9933 10312 9998 + 52454 9933 10236 10039 10347 + 52455 9933 10420 10236 10347 + 52456 10312 10420 9933 10099 + 52457 10099 10347 10420 9933 + 52458 10175 9934 9953 10087 + 52459 10258 10175 10087 9934 + 52460 10258 10087 10186 9934 + 52461 9935 10101 10041 9962 + 52462 9935 10040 10101 9962 + 52463 10101 10315 9935 10041 + 52464 9935 10315 10237 10147 + 52465 10147 9935 10315 10041 + 52466 10237 9935 10040 10422 + 52467 10422 9935 10101 10315 + 52468 10040 9935 10101 10422 + 52469 9935 10422 10237 10315 + 52470 9936 10382 10042 10002 + 52471 10042 10148 10382 9936 + 52472 9936 10239 10382 10002 + 52473 10148 10239 10382 9936 + 52474 10148 10424 9936 9999 + 52475 10239 10424 9936 10148 + 52476 10043 10241 9937 10317 + 52477 10043 9937 10000 10317 + 52478 10240 9938 10426 10150 + 52479 9945 9939 10057 10009 + 52480 10057 10005 9939 10062 + 52481 10057 10062 9939 9945 + 52482 10004 10154 9940 10044 + 52483 10243 10045 10154 9940 + 52484 10320 9940 10153 10243 + 52485 10243 10154 10320 9940 + 52486 9940 10243 10045 10385 + 52487 9940 10153 10243 10385 + 52488 10044 10386 10154 9940 + 52489 9940 10154 10320 10386 + 52490 10044 10153 10386 9940 + 52491 9940 10320 10153 10386 + 52492 10153 10385 9940 10426 + 52493 10007 10163 9942 10066 + 52494 10048 10323 9942 10163 + 52495 10323 10076 10048 9942 + 52496 10066 9942 10389 10163 + 52497 9942 10389 10163 10323 + 52498 10076 10323 10429 9942 + 52499 10076 10429 10249 9942 + 52500 9942 10323 10429 10442 + 52501 9942 10429 10249 10442 + 52502 9942 10442 10389 10323 + 52503 10066 9942 10249 10442 + 52504 10066 10389 9942 10442 + 52505 10298 9943 10246 10126 + 52506 10300 9943 10157 10220 + 52507 10157 10300 10221 9943 + 52508 10324 9943 10246 10157 + 52509 9943 10246 10126 10324 + 52510 9943 10157 10324 10221 + 52511 10246 9943 10298 10390 + 52512 10246 10157 9943 10390 + 52513 10220 10127 9943 10390 + 52514 10390 9943 10298 10127 + 52515 9943 10390 10157 10220 + 52516 9945 10161 10057 10062 + 52517 9945 10057 10161 10252 + 52518 9945 10161 10047 10252 + 52519 9945 10009 10057 10252 + 52520 10170 9947 10393 10072 + 52521 9947 10393 10072 10254 + 52522 10254 10327 9947 10393 + 52523 10393 9947 10073 10327 + 52524 10430 10255 10073 9947 + 52525 10430 10170 10255 9947 + 52526 9947 10393 10430 10170 + 52527 10073 10430 9947 10393 + 52528 9949 10010 10066 10249 + 52529 9950 10329 10013 10050 + 52530 9950 10015 10329 10050 + 52531 10329 10015 9950 10079 + 52532 10174 10011 9951 10077 + 52533 10049 10175 9953 10082 + 52534 10087 10175 10264 9953 + 52535 10264 10175 10082 9953 + 52536 9954 10267 10191 10039 + 52537 10267 9954 10191 10090 + 52538 10272 10191 9954 10090 + 52539 10272 9954 10336 10090 + 52540 10272 9954 10191 10396 + 52541 10272 10336 9954 10396 + 52542 10083 10339 9955 10187 + 52543 10271 9955 10339 10187 + 52544 10274 9956 10340 10181 + 52545 9956 10081 10340 10181 + 52546 10181 10274 9956 10397 + 52547 9958 10095 10194 10276 + 52548 9958 10262 10086 10342 + 52549 10342 10194 10276 9958 + 52550 10276 9958 10086 10342 + 52551 10342 10399 10194 9958 + 52552 10262 10085 10399 9958 + 52553 10399 10342 10262 9958 + 52554 9958 10399 10431 10085 + 52555 10431 10399 9958 10194 + 52556 10431 10095 9958 10182 + 52557 10182 10431 10085 9958 + 52558 10194 10431 10095 9958 + 52559 10261 10096 9959 10180 + 52560 10183 10278 9959 10086 + 52561 10016 10278 10086 9959 + 52562 10096 9959 10278 10343 + 52563 10096 10261 9959 10343 + 52564 10261 10343 10016 9959 + 52565 10278 10016 10343 9959 + 52566 10183 10278 10344 9959 + 52567 10096 10278 9959 10344 + 52568 10183 10344 10084 9959 + 52569 10400 10084 10344 9959 + 52570 10344 9959 10096 10400 + 52571 10400 10180 10084 9959 + 52572 10096 9959 10180 10400 + 52573 10051 10083 9960 10017 + 52574 10051 10443 9960 10083 + 52575 10083 10443 9960 10273 + 52576 10182 10018 10094 9961 + 52577 10094 9961 10277 10182 + 52578 9962 10101 10041 10280 + 52579 10199 10280 10101 9962 + 52580 9962 10041 10198 10280 + 52581 10199 10088 10280 9962 + 52582 10198 10280 10088 9962 + 52583 10040 10334 10101 9962 + 52584 10334 9962 10088 10199 + 52585 10334 10199 10101 9962 + 52586 10056 10200 10102 9963 + 52587 9964 10190 10266 10090 + 52588 9964 10089 10266 10190 + 52589 9965 10107 10346 10020 + 52590 10193 10107 10346 9965 + 52591 10105 10281 9966 10206 + 52592 10105 10051 10284 9966 + 52593 10284 10206 10105 9966 + 52594 10206 9966 10349 10281 + 52595 10349 10281 9966 10203 + 52596 10349 10282 10203 9966 + 52597 10206 9966 10402 10349 + 52598 10402 10282 9966 10098 + 52599 10284 10402 10206 9966 + 52600 10349 10402 10282 9966 + 52601 10443 10402 10284 9966 + 52602 10443 10098 10402 9966 + 52603 10443 10284 10051 9966 + 52604 10209 10112 10286 9967 + 52605 10287 10209 9967 10112 + 52606 10291 10107 9968 10348 + 52607 10291 9968 10213 10348 + 52608 9968 10117 10213 10348 + 52609 10117 9968 10026 10348 + 52610 10351 10118 10022 9969 + 52611 10352 10117 9969 10403 + 52612 10352 10403 9969 10204 + 52613 10351 10403 10118 9969 + 52614 9969 10214 10403 10118 + 52615 10290 10403 9969 10117 + 52616 10351 9969 10290 10403 + 52617 10030 10120 10216 9970 + 52618 10292 10215 10354 9970 + 52619 10115 9970 10354 10215 + 52620 9970 10354 10023 10115 + 52621 10023 10404 10354 9970 + 52622 10404 10216 10120 9970 + 52623 10292 10404 10120 9970 + 52624 10354 9970 10404 10292 + 52625 9971 10215 10289 10405 + 52626 10254 10392 10210 9972 + 52627 9972 10392 10210 10023 + 52628 9973 10218 10294 10122 + 52629 10122 9973 10026 10294 + 52630 10294 10353 9973 10026 + 52631 10406 10116 9973 10353 + 52632 10406 9973 10294 10353 + 52633 10024 9973 10218 10406 + 52634 10294 10218 9973 10406 + 52635 9974 10350 10114 10024 + 52636 10189 9977 10269 10019 + 52637 10127 10298 10189 9977 + 52638 9977 10269 10103 10358 + 52639 10201 10358 10298 9977 + 52640 9977 10103 10201 10358 + 52641 10410 10269 10189 9977 + 52642 9977 10298 10410 10358 + 52643 9977 10410 10269 10358 + 52644 10410 10298 9977 10189 + 52645 9979 10202 10281 10357 + 52646 9981 10123 10295 10223 + 52647 10296 10123 9981 10223 + 52648 10223 9981 10296 10125 + 52649 10125 9981 10361 10223 + 52650 9981 10295 10411 10223 + 52651 10411 10361 9981 10223 + 52652 9982 10052 10301 10028 + 52653 9982 10301 10202 10028 + 52654 10052 10301 10362 9982 + 52655 9982 10362 10052 10205 + 52656 10301 10412 10362 9982 + 52657 10205 9982 10412 10104 + 52658 10412 10202 10104 9982 + 52659 9982 10412 10362 10205 + 52660 10412 10202 9982 10301 + 52661 9983 10286 10110 10224 + 52662 10225 10134 9985 10029 + 52663 10131 10029 10225 9985 + 52664 9987 10120 10292 10227 + 52665 9987 10304 10120 10227 + 52666 10227 9987 10304 10136 + 52667 10168 10032 9988 10074 + 52668 10053 10367 9988 10074 + 52669 10053 10367 10033 9988 + 52670 10074 9988 10168 10367 + 52671 9989 10065 10256 10010 + 52672 10172 10010 9989 10256 + 52673 10172 9989 10370 10256 + 52674 9991 10326 10229 10074 + 52675 10417 9991 10255 10326 + 52676 10417 10229 9991 10326 + 52677 10073 10417 9991 10255 + 52678 10417 10073 9991 10371 + 52679 10417 10371 9991 10229 + 52680 9992 10306 10036 10054 + 52681 9992 10372 10438 10035 + 52682 9992 10069 10438 10306 + 52683 10438 9992 10164 10069 + 52684 9992 10438 10164 10035 + 52685 9992 10306 10438 10372 + 52686 9993 10251 10067 10164 + 52687 10046 10373 10251 9993 + 52688 10069 10373 9993 10164 + 52689 9993 10373 10251 10164 + 52690 10106 9994 10279 10231 + 52691 10192 10142 10375 9994 + 52692 9994 10375 10192 10279 + 52693 10375 9994 10142 10231 + 52694 9994 10231 10375 10279 + 52695 10141 10376 9995 10308 + 52696 10055 9996 10022 10118 + 52697 10118 9996 10377 10055 + 52698 9996 10377 10214 10118 + 52699 10233 10310 10145 9997 + 52700 9997 10038 10310 10070 + 52701 10145 10310 10369 9997 + 52702 9997 10310 10369 10070 + 52703 10369 10170 9997 10070 + 52704 10378 10233 10145 9997 + 52705 10378 9997 10145 10419 + 52706 10145 10369 10419 9997 + 52707 10378 10170 9997 10419 + 52708 10170 10369 9997 10419 + 52709 10100 10312 9998 10198 + 52710 10198 10312 9998 10099 + 52711 10068 10036 9999 10374 + 52712 10068 9999 10424 10374 + 52713 9999 10374 10304 10424 + 52714 10304 9999 10424 10148 + 52715 10135 10042 10317 10000 + 52716 10002 10316 10382 10151 + 52717 10151 10382 10002 10042 + 52718 10002 10382 10316 10239 + 52719 10002 10385 10045 10316 + 52720 10002 10385 10316 10151 + 52721 10151 10002 10385 10240 + 52722 10004 10154 10044 10162 + 52723 10321 10005 10149 10057 + 52724 10057 10321 10005 10062 + 52725 10316 10045 10005 10387 + 52726 10321 10149 10005 10427 + 52727 10005 10387 10321 10427 + 52728 10316 10005 10427 10387 + 52729 10149 10005 10427 10316 + 52730 10006 10064 10047 10058 + 52731 10064 10245 10006 10252 + 52732 10047 10252 10064 10006 + 52733 10322 10155 10006 10046 + 52734 10006 10322 10064 10058 + 52735 10064 10322 10006 10245 + 52736 10155 10058 10322 10006 + 52737 10140 10006 10046 10322 + 52738 10140 10006 10322 10245 + 52739 10165 10140 10428 10006 + 52740 10165 10428 10252 10006 + 52741 10245 10140 10006 10428 + 52742 10006 10245 10428 10252 + 52743 10053 10007 10066 10163 + 52744 10057 10068 10252 10009 + 52745 10247 10061 10173 10010 + 52746 10328 10010 10172 10256 + 52747 10010 10328 10173 10256 + 52748 10328 10061 10010 10173 + 52749 10066 10172 10328 10010 + 52750 10010 10061 10328 10249 + 52751 10066 10328 10249 10010 + 52752 10256 10394 10173 10010 + 52753 10010 10394 10065 10256 + 52754 10010 10065 10394 10248 + 52755 10394 10010 10059 10247 + 52756 10247 10173 10394 10010 + 52757 10010 10248 10394 10059 + 52758 10011 10077 10174 10259 + 52759 10176 10011 10330 10077 + 52760 10077 10011 10330 10259 + 52761 10331 10178 10257 10012 + 52762 10012 10257 10331 10174 + 52763 10331 10078 10178 10012 + 52764 10257 10080 10049 10013 + 52765 10080 10050 10013 10329 + 52766 10257 10329 10080 10013 + 52767 10081 10184 10015 10050 + 52768 10184 10050 10329 10015 + 52769 10329 10015 10079 10263 + 52770 10184 10329 10263 10015 + 52771 10332 10079 10015 10263 + 52772 10261 10015 10332 10180 + 52773 10079 10180 10332 10015 + 52774 10184 10081 10015 10332 + 52775 10263 10015 10332 10184 + 52776 10261 10015 10081 10332 + 52777 10273 10181 10097 10016 + 52778 10086 10278 10016 10195 + 52779 10343 10195 10016 10278 + 52780 10261 10016 10343 10181 + 52781 10097 10343 10195 10016 + 52782 10097 10181 10343 10016 + 52783 10094 10182 10341 10018 + 52784 10269 10091 10189 10019 + 52785 10282 10203 10020 10107 + 52786 10346 10282 10098 10020 + 52787 10107 10282 10346 10020 + 52788 10055 10022 10169 10118 + 52789 10351 10118 10169 10022 + 52790 10023 10288 10211 10121 + 52791 10121 10288 10210 10023 + 52792 10121 10210 10293 10023 + 52793 10023 10211 10115 10354 + 52794 10075 10023 10293 10392 + 52795 10293 10392 10023 10210 + 52796 10023 10293 10435 10075 + 52797 10023 10354 10404 10435 + 52798 10023 10211 10435 10121 + 52799 10023 10293 10121 10435 + 52800 10023 10435 10211 10354 + 52801 10023 10435 10404 10075 + 52802 10297 10218 10024 10124 + 52803 10219 10297 10024 10124 + 52804 10297 10024 10114 10350 + 52805 10297 10219 10024 10350 + 52806 10024 10355 10218 10123 + 52807 10355 10024 10218 10124 + 52808 10024 10297 10114 10406 + 52809 10024 10218 10297 10406 + 52810 10296 10025 10111 10209 + 52811 10205 10408 10026 10283 + 52812 10026 10122 10408 10205 + 52813 10026 10408 10348 10283 + 52814 10122 10026 10408 10294 + 52815 10026 10408 10353 10117 + 52816 10294 10408 10353 10026 + 52817 10117 10026 10408 10348 + 52818 10222 10300 10028 10109 + 52819 10300 10028 10128 10222 + 52820 10028 10128 10301 10202 + 52821 10301 10028 10130 10222 + 52822 10301 10128 10028 10222 + 52823 10052 10130 10301 10028 + 52824 10365 10029 10134 10225 + 52825 10029 10131 10225 10365 + 52826 10031 10303 10136 10226 + 52827 10303 10414 10226 10031 + 52828 10365 10226 10414 10031 + 52829 10137 10326 10032 10168 + 52830 10255 10137 10326 10032 + 52831 10168 10326 10032 10074 + 52832 10368 10168 10032 10071 + 52833 10032 10166 10368 10071 + 52834 10032 10137 10368 10166 + 52835 10032 10368 10137 10168 + 52836 10032 10369 10137 10166 + 52837 10070 10032 10369 10255 + 52838 10070 10166 10369 10032 + 52839 10255 10369 10137 10032 + 52840 10033 10415 10066 10172 + 52841 10367 10415 10053 10033 + 52842 10066 10053 10415 10033 + 52843 10372 10416 10035 10075 + 52844 10171 10075 10035 10416 + 52845 10035 10372 10438 10416 + 52846 10035 10438 10164 10416 + 52847 10165 10068 10036 10054 + 52848 10165 10036 10306 10054 + 52849 10165 10374 10036 10068 + 52850 10374 10036 10306 10165 + 52851 10036 10374 10306 10418 + 52852 10166 10310 10038 10070 + 52853 10236 10102 10039 10313 + 52854 10039 10313 10102 10338 + 52855 10039 10102 10056 10338 + 52856 10056 10338 10267 10039 + 52857 10236 10039 10421 10313 + 52858 10347 10039 10421 10236 + 52859 10039 10421 10313 10338 + 52860 10421 10191 10267 10039 + 52861 10191 10347 10039 10421 + 52862 10267 10338 10421 10039 + 52863 10040 10186 10314 10334 + 52864 10101 10334 10040 10422 + 52865 10334 10314 10040 10422 + 52866 10380 10198 10100 10041 + 52867 10380 10100 10235 10041 + 52868 10380 10198 10041 10280 + 52869 10041 10235 10380 10423 + 52870 10147 10423 10235 10041 + 52871 10423 10041 10101 10280 + 52872 10423 10041 10147 10315 + 52873 10423 10380 10041 10280 + 52874 10423 10101 10041 10315 + 52875 10238 10317 10135 10042 + 52876 10382 10425 10042 10151 + 52877 10382 10148 10042 10425 + 52878 10148 10042 10425 10238 + 52879 10238 10425 10317 10042 + 52880 10439 10241 10043 10317 + 52881 10043 10439 10317 10384 + 52882 10152 10384 10439 10043 + 52883 10386 10044 10154 10162 + 52884 10316 10385 10045 10243 + 52885 10045 10243 10387 10316 + 52886 10387 10045 10154 10243 + 52887 10046 10244 10322 10155 + 52888 10322 10046 10140 10244 + 52889 10046 10244 10251 10373 + 52890 10046 10140 10244 10373 + 52891 10244 10155 10046 10388 + 52892 10251 10244 10046 10388 + 52893 10047 10161 10064 10252 + 52894 10048 10156 10323 10163 + 52895 10156 10388 10163 10048 + 52896 10265 10082 10049 10179 + 52897 10265 10049 10080 10179 + 52898 10333 10175 10049 10082 + 52899 10175 10077 10333 10049 + 52900 10049 10265 10333 10082 + 52901 10080 10049 10265 10395 + 52902 10265 10333 10395 10049 + 52903 10049 10257 10077 10395 + 52904 10049 10077 10333 10395 + 52905 10080 10257 10049 10395 + 52906 10080 10050 10329 10184 + 52907 10050 10080 10433 10184 + 52908 10080 10179 10050 10433 + 52909 10433 10184 10398 10050 + 52910 10433 10398 10179 10050 + 52911 10051 10187 10339 10083 + 52912 10187 10051 10339 10105 + 52913 10105 10284 10051 10339 + 52914 10051 10339 10443 10083 + 52915 10284 10339 10443 10051 + 52916 10052 10122 10205 10362 + 52917 10130 10301 10362 10052 + 52918 10362 10413 10052 10122 + 52919 10052 10413 10295 10122 + 52920 10130 10362 10413 10052 + 52921 10295 10052 10130 10413 + 52922 10053 10066 10250 10163 + 52923 10053 10250 10367 10074 + 52924 10367 10250 10053 10415 + 52925 10066 10053 10250 10415 + 52926 10234 10055 10072 10311 + 52927 10169 10072 10055 10311 + 52928 10055 10118 10169 10311 + 52929 10055 10377 10118 10311 + 52930 10102 10056 10338 10200 + 52931 10056 10269 10338 10200 + 52932 10161 10057 10062 10321 + 52933 10068 10057 10252 10381 + 52934 10057 10441 10149 10321 + 52935 10149 10381 10441 10057 + 52936 10057 10441 10161 10252 + 52937 10057 10161 10441 10321 + 52938 10057 10381 10441 10252 + 52939 10248 10158 10394 10059 + 52940 10247 10158 10059 10394 + 52941 10444 10247 10061 10173 + 52942 10247 10061 10391 10444 + 52943 10249 10160 10061 10445 + 52944 10328 10445 10061 10173 + 52945 10061 10328 10249 10445 + 52946 10391 10530 10444 10061 + 52947 10391 10160 10530 10061 + 52948 10445 10530 10160 10061 + 52949 10061 10444 10173 10530 + 52950 10061 10173 10445 10530 + 52951 10252 10064 10446 10161 + 52952 10252 10064 10245 10446 + 52953 10250 10066 10389 10163 + 52954 10389 10066 10250 10415 + 52955 10442 10172 10328 10066 + 52956 10066 10415 10442 10172 + 52957 10442 10328 10249 10066 + 52958 10389 10442 10066 10415 + 52959 10447 10067 10163 10251 + 52960 10531 10250 10163 10067 + 52961 10067 10163 10531 10447 + 52962 10305 10229 10531 10067 + 52963 10531 10229 10250 10067 + 52964 10305 10531 10447 10067 + 52965 10067 10447 10305 10532 + 52966 10164 10305 10532 10067 + 52967 10067 10251 10447 10532 + 52968 10251 10067 10164 10532 + 52969 10252 10068 10428 10165 + 52970 10068 10381 10252 10428 + 52971 10068 10165 10374 10428 + 52972 10449 10381 10239 10068 + 52973 10449 10239 10424 10068 + 52974 10068 10424 10449 10374 + 52975 10068 10449 10428 10374 + 52976 10381 10428 10068 10449 + 52977 10069 10438 10373 10164 + 52978 10069 10438 10306 10373 + 52979 10166 10369 10310 10070 + 52980 10369 10170 10070 10255 + 52981 10368 10253 10168 10071 + 52982 10234 10072 10454 10311 + 52983 10234 10454 10072 10378 + 52984 10378 10072 10170 10535 + 52985 10170 10393 10535 10072 + 52986 10072 10454 10535 10378 + 52987 10608 10535 10393 10072 + 52988 10311 10608 10072 10454 + 52989 10454 10608 10072 10535 + 52990 10254 10072 10169 10608 + 52991 10254 10393 10072 10608 + 52992 10169 10608 10072 10311 + 52993 10393 10073 10171 10327 + 52994 10073 10430 10417 10255 + 52995 10073 10417 10430 10609 + 52996 10371 10073 10171 10609 + 52997 10073 10371 10417 10609 + 52998 10393 10073 10430 10609 + 52999 10073 10393 10171 10609 + 53000 10326 10229 10074 10606 + 53001 10074 10168 10606 10367 + 53002 10606 10250 10229 10074 + 53003 10367 10074 10250 10606 + 53004 10326 10074 10168 10606 + 53005 10435 10458 10404 10075 + 53006 10435 10293 10458 10075 + 53007 10293 10458 10075 10537 + 53008 10416 10537 10171 10075 + 53009 10075 10293 10537 10392 + 53010 10392 10537 10075 10171 + 53011 10372 10611 10416 10075 + 53012 10611 10372 10216 10075 + 53013 10404 10075 10611 10216 + 53014 10416 10611 10537 10075 + 53015 10404 10611 10075 10458 + 53016 10075 10458 10611 10537 + 53017 10429 10160 10076 10249 + 53018 10257 10174 10077 10395 + 53019 10395 10077 10259 10174 + 53020 10077 10259 10460 10395 + 53021 10460 10330 10259 10077 + 53022 10077 10395 10460 10333 + 53023 10460 10539 10330 10077 + 53024 10077 10539 10175 10333 + 53025 10258 10539 10077 10176 + 53026 10077 10258 10175 10539 + 53027 10330 10077 10539 10176 + 53028 10077 10460 10539 10333 + 53029 10329 10462 10177 10078 + 53030 10329 10178 10462 10078 + 53031 10331 10078 10462 10178 + 53032 10177 10329 10079 10462 + 53033 10329 10263 10079 10462 + 53034 10332 10540 10180 10079 + 53035 10332 10263 10540 10079 + 53036 10540 10177 10079 10462 + 53037 10177 10079 10260 10540 + 53038 10540 10079 10263 10462 + 53039 10079 10260 10540 10180 + 53040 10329 10080 10178 10257 + 53041 10178 10329 10263 10080 + 53042 10263 10080 10329 10184 + 53043 10080 10178 10257 10395 + 53044 10433 10265 10080 10179 + 53045 10433 10080 10263 10184 + 53046 10541 10433 10265 10080 + 53047 10541 10395 10178 10080 + 53048 10541 10263 10433 10080 + 53049 10080 10265 10541 10395 + 53050 10541 10178 10263 10080 + 53051 10332 10261 10464 10081 + 53052 10181 10261 10081 10464 + 53053 10181 10081 10340 10464 + 53054 10332 10543 10184 10081 + 53055 10340 10184 10543 10081 + 53056 10464 10340 10543 10081 + 53057 10332 10464 10543 10081 + 53058 10333 10264 10175 10082 + 53059 10335 10179 10082 10265 + 53060 10082 10466 10335 10265 + 53061 10264 10466 10185 10082 + 53062 10082 10335 10466 10185 + 53063 10082 10333 10544 10265 + 53064 10264 10333 10544 10082 + 53065 10544 10264 10082 10466 + 53066 10082 10544 10466 10265 + 53067 10273 10339 10083 10443 + 53068 10400 10260 10084 10180 + 53069 10275 10431 10399 10085 + 53070 10275 10431 10085 10182 + 53071 10468 10262 10342 10086 + 53072 10183 10468 10278 10086 + 53073 10183 10262 10468 10086 + 53074 10545 10278 10468 10086 + 53075 10468 10342 10545 10086 + 53076 10276 10086 10545 10342 + 53077 10545 10276 10195 10086 + 53078 10086 10545 10278 10195 + 53079 10087 10264 10175 10333 + 53080 10334 10186 10314 10087 + 53081 10470 10334 10314 10087 + 53082 10087 10544 10264 10333 + 53083 10616 10544 10470 10087 + 53084 10616 10333 10544 10087 + 53085 10175 10616 10258 10087 + 53086 10333 10175 10087 10616 + 53087 10544 10087 10264 10621 + 53088 10544 10470 10087 10621 + 53089 10470 10334 10087 10621 + 53090 10087 10264 10621 10334 + 53091 10683 10087 10470 10314 + 53092 10186 10087 10258 10683 + 53093 10683 10087 10616 10470 + 53094 10683 10186 10087 10314 + 53095 10616 10258 10087 10683 + 53096 10396 10088 10198 10472 + 53097 10088 10199 10280 10473 + 53098 10546 10199 10334 10088 + 53099 10546 10334 10264 10088 + 53100 10546 10473 10199 10088 + 53101 10546 10264 10185 10088 + 53102 10088 10198 10472 10548 + 53103 10198 10548 10088 10280 + 53104 10548 10088 10280 10473 + 53105 10088 10336 10185 10623 + 53106 10088 10185 10546 10623 + 53107 10088 10546 10473 10623 + 53108 10690 10336 10396 10088 + 53109 10690 10548 10473 10088 + 53110 10690 10088 10396 10472 + 53111 10088 10690 10336 10623 + 53112 10690 10548 10088 10472 + 53113 10690 10473 10623 10088 + 53114 10465 10398 10089 10179 + 53115 10465 10089 10335 10179 + 53116 10335 10465 10550 10089 + 53117 10089 10550 10274 10340 + 53118 10089 10550 10190 10274 + 53119 10266 10335 10550 10089 + 53120 10398 10550 10465 10089 + 53121 10266 10089 10550 10190 + 53122 10398 10550 10089 10340 + 53123 10272 10191 10090 10421 + 53124 10421 10191 10090 10267 + 53125 10188 10270 10090 10476 + 53126 10421 10090 10476 10267 + 53127 10188 10090 10267 10476 + 53128 10266 10551 10336 10090 + 53129 10190 10551 10266 10090 + 53130 10272 10336 10551 10090 + 53131 10421 10272 10625 10090 + 53132 10551 10625 10272 10090 + 53133 10421 10625 10476 10090 + 53134 10551 10693 10625 10090 + 53135 10551 10190 10693 10090 + 53136 10476 10693 10090 10625 + 53137 10270 10190 10090 10693 + 53138 10270 10090 10476 10693 + 53139 10270 10337 10091 10188 + 53140 10091 10269 10189 10410 + 53141 10091 10476 10270 10188 + 53142 10091 10476 10188 10338 + 53143 10337 10268 10477 10091 + 53144 10269 10410 10091 10553 + 53145 10091 10553 10476 10338 + 53146 10338 10091 10553 10269 + 53147 10554 10270 10091 10476 + 53148 10091 10554 10337 10270 + 53149 10554 10337 10477 10091 + 53150 10555 10091 10189 10410 + 53151 10091 10555 10189 10268 + 53152 10091 10477 10555 10268 + 53153 10091 10476 10553 10626 + 53154 10626 10555 10091 10477 + 53155 10091 10553 10410 10626 + 53156 10626 10555 10410 10091 + 53157 10477 10554 10091 10626 + 53158 10554 10091 10626 10476 + 53159 10270 10092 10190 10478 + 53160 10190 10274 10478 10092 + 53161 10270 10554 10337 10092 + 53162 10337 10271 10092 10554 + 53163 10270 10627 10092 10478 + 53164 10092 10270 10554 10627 + 53165 10092 10478 10627 10695 + 53166 10092 10274 10478 10695 + 53167 10274 10695 10092 10397 + 53168 10397 10271 10695 10092 + 53169 10092 10627 10554 10741 + 53170 10741 10092 10695 10271 + 53171 10741 10092 10271 10554 + 53172 10092 10695 10627 10741 + 53173 10279 10093 10480 10192 + 53174 10341 10093 10480 10279 + 53175 10480 10275 10093 10341 + 53176 10431 10341 10094 10182 + 53177 10431 10094 10277 10182 + 53178 10431 10094 10341 10481 + 53179 10279 10094 10193 10481 + 53180 10094 10481 10279 10341 + 53181 10431 10094 10481 10277 + 53182 10346 10481 10094 10277 + 53183 10346 10193 10094 10481 + 53184 10431 10277 10095 10182 + 53185 10276 10095 10482 10401 + 53186 10095 10276 10482 10194 + 53187 10095 10431 10559 10277 + 53188 10095 10482 10559 10194 + 53189 10559 10194 10431 10095 + 53190 10401 10095 10482 10559 + 53191 10196 10095 10559 10277 + 53192 10401 10196 10095 10559 + 53193 10096 10332 10180 10261 + 53194 10332 10180 10400 10096 + 53195 10332 10464 10261 10096 + 53196 10464 10096 10343 10261 + 53197 10485 10096 10400 10344 + 53198 10485 10278 10096 10344 + 53199 10278 10485 10096 10560 + 53200 10278 10560 10096 10343 + 53201 10464 10096 10560 10343 + 53202 10620 10096 10560 10464 + 53203 10332 10620 10464 10096 + 53204 10620 10485 10560 10096 + 53205 10620 10738 10485 10096 + 53206 10096 10738 10485 10400 + 53207 10096 10332 10738 10400 + 53208 10620 10738 10096 10332 + 53209 10273 10181 10397 10097 + 53210 10097 10273 10432 10397 + 53211 10097 10432 10467 10397 + 53212 10467 10397 10181 10097 + 53213 10097 10195 10484 10345 + 53214 10195 10484 10343 10097 + 53215 10097 10484 10561 10345 + 53216 10343 10181 10097 10619 + 53217 10467 10181 10619 10097 + 53218 10633 10561 10097 10467 + 53219 10561 10097 10345 10633 + 53220 10633 10097 10345 10197 + 53221 10097 10197 10633 10432 + 53222 10633 10432 10467 10097 + 53223 10097 10561 10484 10745 + 53224 10619 10343 10745 10097 + 53225 10097 10484 10343 10745 + 53226 10097 10561 10745 10777 + 53227 10097 10745 10619 10777 + 53228 10467 10777 10097 10619 + 53229 10097 10561 10777 10467 + 53230 10098 10401 10443 10197 + 53231 10401 10196 10098 10443 + 53232 10098 10443 10487 10197 + 53233 10487 10443 10098 10402 + 53234 10098 10559 10196 10401 + 53235 10098 10196 10559 10346 + 53236 10402 10487 10563 10098 + 53237 10402 10563 10282 10098 + 53238 10488 10098 10630 10563 + 53239 10630 10488 10559 10098 + 53240 10282 10098 10563 10630 + 53241 10098 10559 10630 10346 + 53242 10282 10098 10630 10346 + 53243 10635 10098 10487 10197 + 53244 10563 10487 10635 10098 + 53245 10098 10559 10401 10635 + 53246 10635 10401 10098 10197 + 53247 10098 10488 10559 10635 + 53248 10563 10635 10488 10098 + 53249 10396 10272 10099 10347 + 53250 10396 10198 10099 10472 + 53251 10472 10198 10099 10312 + 53252 10272 10099 10472 10396 + 53253 10099 10556 10420 10347 + 53254 10347 10272 10099 10556 + 53255 10312 10472 10564 10099 + 53256 10099 10312 10420 10564 + 53257 10099 10472 10628 10272 + 53258 10564 10420 10099 10628 + 53259 10099 10420 10556 10628 + 53260 10472 10564 10099 10628 + 53261 10628 10556 10099 10272 + 53262 10198 10100 10312 10636 + 53263 10100 10380 10636 10198 + 53264 10101 10199 10334 10422 + 53265 10490 10423 10101 10280 + 53266 10490 10101 10199 10280 + 53267 10101 10490 10199 10565 + 53268 10101 10565 10422 10315 + 53269 10490 10565 10101 10423 + 53270 10422 10565 10101 10199 + 53271 10315 10101 10565 10423 + 53272 10102 10338 10313 10200 + 53273 10358 10103 10200 10269 + 53274 10349 10104 10281 10203 + 53275 10493 10412 10104 10205 + 53276 10493 10104 10283 10205 + 53277 10281 10494 10104 10349 + 53278 10412 10104 10494 10349 + 53279 10104 10202 10412 10494 + 53280 10104 10281 10202 10494 + 53281 10104 10493 10283 10638 + 53282 10412 10104 10638 10493 + 53283 10638 10349 10104 10412 + 53284 10638 10283 10104 10203 + 53285 10638 10203 10104 10349 + 53286 10206 10281 10357 10105 + 53287 10206 10357 10409 10105 + 53288 10105 10552 10284 10339 + 53289 10552 10187 10339 10105 + 53290 10105 10552 10187 10359 + 53291 10639 10409 10359 10105 + 53292 10552 10284 10639 10105 + 53293 10105 10284 10639 10206 + 53294 10639 10359 10552 10105 + 53295 10206 10105 10409 10639 + 53296 10193 10558 10106 10279 + 53297 10106 10495 10231 10558 + 53298 10106 10231 10279 10558 + 53299 10193 10106 10558 10291 + 53300 10291 10106 10558 10495 + 53301 10495 10231 10566 10106 + 53302 10106 10231 10566 10307 + 53303 10106 10566 10204 10307 + 53304 10566 10204 10352 10106 + 53305 10640 10106 10352 10291 + 53306 10566 10352 10640 10106 + 53307 10640 10495 10106 10291 + 53308 10566 10495 10106 10640 + 53309 10282 10348 10203 10107 + 53310 10348 10291 10107 10630 + 53311 10107 10291 10193 10630 + 53312 10107 10193 10346 10630 + 53313 10282 10630 10107 10346 + 53314 10282 10107 10630 10348 + 53315 10108 10207 10496 10299 + 53316 10207 10360 10108 10496 + 53317 10221 10109 10497 10285 + 53318 10300 10497 10109 10222 + 53319 10300 10497 10221 10109 + 53320 10569 10285 10497 10109 + 53321 10497 10109 10222 10569 + 53322 10569 10207 10285 10109 + 53323 10109 10569 10207 10411 + 53324 10109 10411 10222 10569 + 53325 10110 10224 10286 10498 + 53326 10498 10286 10110 10208 + 53327 10111 10296 10209 10407 + 53328 10405 10436 10111 10217 + 53329 10407 10111 10219 10436 + 53330 10111 10287 10499 10209 + 53331 10217 10111 10499 10436 + 53332 10111 10499 10287 10217 + 53333 10407 10111 10436 10499 + 53334 10111 10499 10407 10209 + 53335 10209 10286 10112 10356 + 53336 10112 10498 10286 10224 + 53337 10112 10356 10286 10498 + 53338 10112 10499 10287 10209 + 53339 10499 10112 10356 10209 + 53340 10112 10287 10499 10363 + 53341 10112 10363 10571 10224 + 53342 10112 10571 10498 10224 + 53343 10571 10643 10112 10498 + 53344 10643 10112 10363 10571 + 53345 10643 10499 10112 10356 + 53346 10112 10643 10356 10498 + 53347 10363 10112 10643 10499 + 53348 10290 10113 10351 10212 + 53349 10210 10113 10288 10572 + 53350 10351 10113 10434 10572 + 53351 10572 10351 10113 10212 + 53352 10434 10572 10113 10210 + 53353 10212 10572 10288 10113 + 53354 10114 10211 10500 10350 + 53355 10500 10114 10288 10211 + 53356 10114 10500 10573 10350 + 53357 10573 10114 10350 10297 + 53358 10500 10288 10114 10644 + 53359 10644 10288 10114 10406 + 53360 10573 10114 10297 10705 + 53361 10573 10500 10114 10705 + 53362 10500 10644 10114 10705 + 53363 10406 10114 10644 10705 + 53364 10297 10705 10114 10406 + 53365 10115 10354 10289 10215 + 53366 10115 10354 10211 10289 + 53367 10353 10212 10116 10290 + 53368 10116 10212 10353 10406 + 53369 10213 10408 10348 10117 + 53370 10502 10117 10408 10213 + 53371 10353 10117 10408 10502 + 53372 10502 10117 10352 10403 + 53373 10117 10502 10352 10213 + 53374 10117 10353 10646 10502 + 53375 10290 10646 10403 10117 + 53376 10646 10117 10290 10353 + 53377 10502 10646 10117 10403 + 53378 10403 10351 10118 10455 + 53379 10118 10311 10455 10169 + 53380 10169 10455 10118 10351 + 53381 10311 10118 10455 10576 + 53382 10403 10118 10576 10455 + 53383 10377 10576 10214 10118 + 53384 10311 10377 10118 10576 + 53385 10403 10576 10118 10214 + 53386 10503 10292 10119 10215 + 53387 10503 10119 10405 10215 + 53388 10119 10578 10503 10364 + 53389 10578 10364 10119 10226 + 53390 10119 10578 10366 10292 + 53391 10366 10119 10226 10578 + 53392 10292 10503 10119 10578 + 53393 10579 10119 10217 10405 + 53394 10503 10364 10579 10119 + 53395 10579 10503 10119 10405 + 53396 10364 10217 10579 10119 + 53397 10440 10120 10304 10227 + 53398 10418 10304 10440 10120 + 53399 10504 10216 10120 10404 + 53400 10504 10216 10418 10120 + 53401 10227 10504 10440 10120 + 53402 10504 10120 10292 10404 + 53403 10418 10440 10504 10120 + 53404 10504 10292 10120 10227 + 53405 10210 10293 10434 10121 + 53406 10500 10211 10288 10121 + 53407 10507 10293 10121 10434 + 53408 10507 10121 10572 10434 + 53409 10434 10121 10572 10210 + 53410 10210 10288 10121 10572 + 53411 10507 10121 10293 10574 + 53412 10211 10121 10500 10574 + 53413 10211 10435 10121 10574 + 53414 10121 10435 10293 10574 + 53415 10644 10121 10572 10507 + 53416 10500 10288 10644 10121 + 53417 10572 10644 10288 10121 + 53418 10750 10121 10500 10644 + 53419 10121 10750 10574 10507 + 53420 10750 10507 10121 10644 + 53421 10574 10121 10500 10750 + 53422 10122 10413 10295 10218 + 53423 10508 10294 10218 10122 + 53424 10218 10413 10508 10122 + 53425 10362 10205 10567 10122 + 53426 10205 10567 10122 10408 + 53427 10294 10567 10122 10508 + 53428 10294 10122 10567 10408 + 53429 10362 10648 10413 10122 + 53430 10567 10508 10648 10122 + 53431 10122 10413 10508 10648 + 53432 10362 10567 10648 10122 + 53433 10123 10218 10295 10355 + 53434 10123 10355 10295 10223 + 53435 10296 10355 10123 10223 + 53436 10124 10583 10297 10218 + 53437 10124 10355 10583 10218 + 53438 10713 10124 10355 10583 + 53439 10124 10713 10355 10407 + 53440 10297 10124 10752 10510 + 53441 10219 10407 10752 10124 + 53442 10752 10124 10651 10510 + 53443 10297 10752 10124 10219 + 53444 10752 10713 10651 10124 + 53445 10124 10752 10713 10407 + 53446 10510 10297 10124 10753 + 53447 10713 10651 10124 10753 + 53448 10713 10124 10583 10753 + 53449 10510 10124 10651 10753 + 53450 10297 10583 10124 10753 + 53451 10356 10125 10509 10296 + 53452 10125 10296 10223 10509 + 53453 10125 10208 10570 10299 + 53454 10356 10125 10208 10570 + 53455 10223 10125 10509 10585 + 53456 10125 10641 10585 10223 + 53457 10641 10223 10125 10361 + 53458 10509 10714 10585 10125 + 53459 10125 10511 10570 10714 + 53460 10509 10356 10714 10125 + 53461 10125 10570 10356 10714 + 53462 10511 10125 10585 10714 + 53463 10641 10585 10715 10125 + 53464 10715 10511 10570 10125 + 53465 10715 10570 10299 10125 + 53466 10511 10585 10125 10715 + 53467 10125 10715 10641 10361 + 53468 10361 10125 10715 10299 + 53469 10298 10246 10492 10126 + 53470 10492 10126 10201 10298 + 53471 10437 10390 10127 10220 + 53472 10437 10127 10390 10555 + 53473 10127 10189 10555 10268 + 53474 10298 10390 10127 10555 + 53475 10189 10298 10127 10555 + 53476 10127 10555 10437 10268 + 53477 10202 10128 10301 10494 + 53478 10202 10357 10128 10494 + 53479 10568 10128 10357 10494 + 53480 10301 10128 10222 10587 + 53481 10587 10128 10222 10300 + 53482 10655 10568 10128 10357 + 53483 10300 10655 10128 10220 + 53484 10655 10357 10128 10220 + 53485 10300 10128 10655 10717 + 53486 10587 10717 10128 10300 + 53487 10756 10587 10717 10128 + 53488 10301 10756 10128 10587 + 53489 10655 10756 10128 10568 + 53490 10494 10568 10128 10756 + 53491 10756 10717 10655 10128 + 53492 10494 10128 10301 10756 + 53493 10221 10324 10129 10642 + 53494 10285 10221 10129 10642 + 53495 10285 10129 10360 10642 + 53496 10295 10411 10223 10130 + 53497 10413 10130 10295 10223 + 53498 10222 10411 10130 10515 + 53499 10223 10411 10515 10130 + 53500 10362 10301 10130 10719 + 53501 10222 10515 10130 10719 + 53502 10719 10130 10222 10301 + 53503 10515 10719 10758 10130 + 53504 10223 10515 10758 10130 + 53505 10413 10758 10130 10223 + 53506 10130 10413 10362 10758 + 53507 10362 10719 10130 10758 + 53508 10365 10131 10225 10302 + 53509 10132 10363 10506 10302 + 53510 10363 10224 10132 10571 + 53511 10506 10302 10588 10132 + 53512 10588 10132 10302 10225 + 53513 10588 10132 10657 10506 + 53514 10363 10571 10132 10657 + 53515 10657 10132 10363 10506 + 53516 10226 10414 10133 10365 + 53517 10506 10364 10133 10302 + 53518 10414 10365 10516 10133 + 53519 10365 10516 10133 10302 + 53520 10133 10226 10364 10517 + 53521 10517 10133 10226 10414 + 53522 10516 10302 10588 10133 + 53523 10133 10302 10588 10506 + 53524 10414 10133 10516 10589 + 53525 10589 10517 10414 10133 + 53526 10133 10658 10364 10506 + 53527 10133 10658 10517 10364 + 53528 10133 10517 10658 10721 + 53529 10516 10588 10721 10133 + 53530 10133 10658 10506 10721 + 53531 10721 10516 10133 10589 + 53532 10589 10721 10517 10133 + 53533 10133 10588 10721 10506 + 53534 10516 10242 10134 10365 + 53535 10365 10134 10516 10225 + 53536 10135 10238 10303 10384 + 53537 10135 10384 10317 10238 + 53538 10227 10304 10440 10136 + 53539 10590 10136 10319 10238 + 53540 10226 10136 10590 10303 + 53541 10590 10319 10136 10518 + 53542 10518 10590 10366 10136 + 53543 10366 10226 10136 10590 + 53544 10590 10303 10136 10238 + 53545 10518 10366 10723 10136 + 53546 10723 10136 10319 10518 + 53547 10723 10440 10319 10136 + 53548 10723 10440 10136 10227 + 53549 10723 10136 10366 10227 + 53550 10137 10419 10369 10255 + 53551 10166 10137 10452 10369 + 53552 10452 10368 10137 10166 + 53553 10419 10452 10137 10369 + 53554 10168 10137 10326 10453 + 53555 10368 10453 10137 10168 + 53556 10536 10137 10419 10452 + 53557 10326 10137 10255 10536 + 53558 10536 10419 10137 10255 + 53559 10453 10137 10326 10536 + 53560 10662 10137 10368 10453 + 53561 10662 10137 10453 10536 + 53562 10536 10662 10137 10452 + 53563 10452 10137 10368 10662 + 53564 10139 10442 10415 10172 + 53565 10415 10533 10442 10139 + 53566 10228 10253 10139 10534 + 53567 10453 10534 10139 10168 + 53568 10253 10139 10534 10168 + 53569 10367 10606 10415 10139 + 53570 10367 10168 10606 10139 + 53571 10139 10606 10453 10168 + 53572 10415 10606 10533 10139 + 53573 10172 10139 10614 10370 + 53574 10228 10614 10139 10370 + 53575 10442 10533 10614 10139 + 53576 10172 10442 10614 10139 + 53577 10139 10725 10534 10453 + 53578 10534 10228 10725 10139 + 53579 10139 10614 10228 10725 + 53580 10139 10533 10614 10725 + 53581 10139 10762 10533 10725 + 53582 10139 10762 10606 10533 + 53583 10139 10762 10725 10453 + 53584 10453 10139 10762 10606 + 53585 10451 10140 10245 10428 + 53586 10428 10451 10140 10165 + 53587 10306 10165 10140 10451 + 53588 10140 10245 10593 10451 + 53589 10373 10593 10140 10244 + 53590 10140 10593 10245 10322 + 53591 10593 10322 10140 10244 + 53592 10140 10664 10451 10593 + 53593 10140 10593 10373 10664 + 53594 10306 10140 10664 10451 + 53595 10373 10140 10664 10306 + 53596 10308 10520 10379 10141 + 53597 10308 10376 10520 10141 + 53598 10142 10521 10307 10230 + 53599 10231 10142 10375 10521 + 53600 10231 10307 10142 10521 + 53601 10403 10143 10204 10352 + 53602 10566 10204 10307 10143 + 53603 10566 10204 10143 10352 + 53604 10576 10232 10143 10522 + 53605 10576 10308 10214 10143 + 53606 10576 10232 10308 10143 + 53607 10403 10143 10576 10214 + 53608 10143 10707 10522 10566 + 53609 10707 10576 10143 10522 + 53610 10566 10143 10707 10352 + 53611 10143 10576 10707 10403 + 53612 10352 10403 10143 10707 + 53613 10728 10143 10566 10307 + 53614 10728 10232 10143 10307 + 53615 10522 10232 10143 10728 + 53616 10522 10566 10728 10143 + 53617 10234 10309 10144 10598 + 53618 10234 10379 10598 10144 + 53619 10309 10233 10145 10378 + 53620 10310 10369 10452 10145 + 53621 10419 10452 10369 10145 + 53622 10378 10309 10524 10145 + 53623 10378 10524 10419 10145 + 53624 10452 10145 10419 10729 + 53625 10419 10729 10145 10524 + 53626 10454 10311 10146 10234 + 53627 10146 10520 10379 10308 + 53628 10379 10146 10234 10598 + 53629 10146 10234 10598 10454 + 53630 10146 10377 10311 10667 + 53631 10146 10308 10377 10667 + 53632 10146 10667 10520 10308 + 53633 10311 10730 10454 10146 + 53634 10731 10379 10146 10520 + 53635 10598 10379 10146 10731 + 53636 10731 10146 10667 10520 + 53637 10784 10146 10311 10667 + 53638 10311 10784 10730 10146 + 53639 10731 10146 10598 10788 + 53640 10788 10454 10730 10146 + 53641 10784 10146 10667 10788 + 53642 10146 10731 10667 10788 + 53643 10788 10146 10598 10454 + 53644 10784 10730 10146 10788 + 53645 10147 10315 10525 10423 + 53646 10525 10237 10315 10147 + 53647 10425 10319 10148 10238 + 53648 10304 10424 10440 10148 + 53649 10382 10425 10527 10148 + 53650 10319 10527 10425 10148 + 53651 10148 10600 10319 10527 + 53652 10148 10319 10665 10440 + 53653 10148 10665 10424 10440 + 53654 10665 10600 10319 10148 + 53655 10733 10148 10600 10665 + 53656 10733 10424 10239 10148 + 53657 10733 10424 10148 10665 + 53658 10733 10239 10382 10148 + 53659 10148 10733 10600 10527 + 53660 10148 10382 10733 10527 + 53661 10316 10149 10239 10427 + 53662 10321 10441 10149 10427 + 53663 10441 10427 10601 10149 + 53664 10149 10601 10441 10381 + 53665 10601 10239 10149 10427 + 53666 10601 10381 10149 10239 + 53667 10426 10240 10150 10318 + 53668 10382 10527 10425 10151 + 53669 10383 10527 10151 10425 + 53670 10529 10318 10151 10240 + 53671 10151 10240 10385 10529 + 53672 10602 10151 10385 10529 + 53673 10382 10151 10316 10602 + 53674 10602 10385 10151 10316 + 53675 10382 10527 10151 10602 + 53676 10674 10318 10151 10529 + 53677 10151 10674 10527 10383 + 53678 10602 10527 10151 10674 + 53679 10674 10151 10602 10529 + 53680 10151 10318 10674 10383 + 53681 10519 10152 10242 10384 + 53682 10152 10519 10439 10384 + 53683 10153 10529 10243 10385 + 53684 10153 10426 10529 10385 + 53685 10529 10604 10153 10243 + 53686 10153 10320 10243 10604 + 53687 10251 10156 10388 10163 + 53688 10389 10156 10163 10323 + 53689 10447 10156 10251 10163 + 53690 10163 10447 10156 10531 + 53691 10163 10389 10531 10156 + 53692 10388 10251 10607 10156 + 53693 10447 10607 10251 10156 + 53694 10676 10389 10156 10531 + 53695 10389 10323 10676 10156 + 53696 10676 10156 10764 10531 + 53697 10156 10447 10607 10764 + 53698 10447 10764 10156 10531 + 53699 10157 10497 10221 10300 + 53700 10157 10390 10246 10512 + 53701 10512 10390 10220 10157 + 53702 10512 10220 10300 10157 + 53703 10324 10246 10605 10157 + 53704 10221 10157 10642 10497 + 53705 10605 10157 10642 10324 + 53706 10157 10642 10497 10605 + 53707 10221 10157 10324 10642 + 53708 10605 10157 10246 10677 + 53709 10157 10246 10677 10512 + 53710 10678 10157 10497 10605 + 53711 10300 10512 10157 10717 + 53712 10300 10717 10157 10497 + 53713 10717 10157 10497 10678 + 53714 10157 10776 10678 10717 + 53715 10678 10157 10605 10776 + 53716 10677 10605 10157 10776 + 53717 10776 10512 10157 10677 + 53718 10157 10512 10776 10717 + 53719 10247 10325 10158 10394 + 53720 10249 10429 10160 10445 + 53721 10446 10252 10161 10441 + 53722 10250 10389 10531 10163 + 53723 10164 10305 10416 10450 + 53724 10373 10438 10450 10164 + 53725 10450 10164 10438 10416 + 53726 10373 10450 10532 10164 + 53727 10164 10532 10305 10450 + 53728 10251 10164 10373 10532 + 53729 10374 10165 10451 10428 + 53730 10374 10451 10165 10306 + 53731 10166 10452 10310 10369 + 53732 10253 10168 10534 10368 + 53733 10453 10534 10168 10368 + 53734 10168 10326 10606 10453 + 53735 10351 10169 10455 10434 + 53736 10608 10455 10311 10169 + 53737 10169 10608 10455 10434 + 53738 10434 10254 10169 10608 + 53739 10255 10369 10170 10419 + 53740 10430 10378 10419 10170 + 53741 10255 10170 10430 10419 + 53742 10378 10170 10430 10535 + 53743 10535 10430 10393 10170 + 53744 10171 10393 10327 10456 + 53745 10171 10327 10392 10456 + 53746 10392 10456 10537 10171 + 53747 10609 10393 10171 10456 + 53748 10609 10171 10537 10456 + 53749 10171 10537 10680 10609 + 53750 10680 10537 10171 10416 + 53751 10371 10171 10680 10609 + 53752 10416 10171 10680 10371 + 53753 10256 10370 10172 10459 + 53754 10172 10442 10328 10459 + 53755 10256 10172 10328 10459 + 53756 10172 10370 10614 10459 + 53757 10172 10614 10442 10459 + 53758 10444 10394 10247 10173 + 53759 10459 10173 10328 10256 + 53760 10445 10328 10538 10173 + 53761 10328 10459 10538 10173 + 53762 10445 10615 10530 10173 + 53763 10445 10538 10615 10173 + 53764 10395 10331 10257 10174 + 53765 10395 10259 10461 10174 + 53766 10395 10461 10331 10174 + 53767 10175 10539 10616 10333 + 53768 10616 10175 10258 10539 + 53769 10539 10463 10330 10176 + 53770 10539 10258 10463 10176 + 53771 10257 10331 10395 10178 + 53772 10329 10178 10263 10462 + 53773 10178 10541 10263 10462 + 53774 10395 10617 10178 10331 + 53775 10617 10178 10331 10462 + 53776 10617 10541 10178 10462 + 53777 10617 10178 10541 10395 + 53778 10179 10398 10433 10265 + 53779 10335 10179 10265 10465 + 53780 10465 10398 10179 10265 + 53781 10400 10540 10260 10180 + 53782 10540 10180 10400 10332 + 53783 10181 10343 10261 10464 + 53784 10274 10467 10397 10181 + 53785 10274 10340 10619 10181 + 53786 10181 10619 10343 10464 + 53787 10619 10340 10464 10181 + 53788 10274 10619 10467 10181 + 53789 10431 10275 10341 10182 + 53790 10344 10183 10468 10278 + 53791 10433 10332 10184 10263 + 53792 10184 10398 10543 10433 + 53793 10543 10332 10184 10433 + 53794 10184 10543 10398 10340 + 53795 10264 10546 10185 10466 + 53796 10185 10335 10623 10266 + 53797 10466 10623 10185 10335 + 53798 10266 10623 10185 10336 + 53799 10546 10185 10466 10623 + 53800 10268 10359 10187 10477 + 53801 10477 10337 10271 10187 + 53802 10268 10187 10337 10477 + 53803 10477 10271 10552 10187 + 53804 10477 10552 10359 10187 + 53805 10339 10552 10271 10187 + 53806 10267 10188 10476 10338 + 53807 10410 10555 10298 10189 + 53808 10274 10190 10478 10550 + 53809 10624 10550 10190 10266 + 53810 10190 10266 10551 10624 + 53811 10190 10624 10478 10550 + 53812 10190 10624 10693 10478 + 53813 10693 10270 10190 10478 + 53814 10624 10693 10551 10190 + 53815 10396 10191 10272 10347 + 53816 10347 10421 10191 10272 + 53817 10279 10375 10192 10480 + 53818 10279 10193 10558 10481 + 53819 10630 10558 10193 10481 + 53820 10346 10630 10193 10481 + 53821 10193 10558 10630 10291 + 53822 10342 10194 10399 10483 + 53823 10399 10483 10194 10557 + 53824 10399 10194 10431 10557 + 53825 10194 10482 10559 10631 + 53826 10631 10194 10483 10557 + 53827 10696 10631 10557 10194 + 53828 10696 10557 10431 10194 + 53829 10194 10559 10431 10696 + 53830 10696 10194 10559 10631 + 53831 10483 10631 10697 10194 + 53832 10194 10697 10482 10631 + 53833 10483 10697 10342 10194 + 53834 10697 10194 10276 10342 + 53835 10697 10482 10276 10194 + 53836 10343 10484 10195 10278 + 53837 10545 10276 10345 10195 + 53838 10345 10484 10545 10195 + 53839 10545 10484 10278 10195 + 53840 10196 10559 10346 10277 + 53841 10432 10284 10443 10197 + 53842 10401 10345 10197 10482 + 53843 10443 10487 10197 10284 + 53844 10197 10562 10482 10345 + 53845 10197 10633 10562 10345 + 53846 10633 10197 10487 10284 + 53847 10432 10633 10284 10197 + 53848 10635 10562 10482 10197 + 53849 10482 10635 10197 10401 + 53850 10700 10562 10635 10197 + 53851 10700 10633 10562 10197 + 53852 10197 10700 10633 10487 + 53853 10635 10700 10197 10487 + 53854 10472 10636 10198 10312 + 53855 10701 10280 10548 10198 + 53856 10701 10548 10472 10198 + 53857 10701 10472 10636 10198 + 53858 10701 10380 10280 10198 + 53859 10198 10701 10380 10636 + 53860 10474 10199 10422 10334 + 53861 10474 10422 10199 10565 + 53862 10490 10280 10199 10637 + 53863 10199 10473 10546 10637 + 53864 10473 10637 10199 10280 + 53865 10637 10691 10199 10474 + 53866 10334 10199 10691 10474 + 53867 10637 10546 10199 10691 + 53868 10199 10546 10334 10691 + 53869 10199 10702 10637 10474 + 53870 10199 10490 10702 10565 + 53871 10199 10637 10702 10490 + 53872 10474 10199 10702 10565 + 53873 10200 10358 10269 10410 + 53874 10200 10491 10358 10410 + 53875 10491 10553 10410 10200 + 53876 10491 10200 10313 10553 + 53877 10553 10338 10269 10200 + 53878 10553 10269 10410 10200 + 53879 10200 10553 10338 10313 + 53880 10492 10201 10358 10298 + 53881 10357 10494 10202 10281 + 53882 10412 10494 10202 10301 + 53883 10638 10203 10282 10348 + 53884 10638 10283 10203 10348 + 53885 10203 10638 10282 10349 + 53886 10205 10493 10408 10283 + 53887 10412 10362 10205 10567 + 53888 10493 10567 10412 10205 + 53889 10205 10493 10567 10408 + 53890 10494 10281 10357 10206 + 53891 10281 10206 10494 10349 + 53892 10206 10357 10494 10568 + 53893 10206 10409 10357 10568 + 53894 10402 10639 10284 10206 + 53895 10206 10409 10568 10639 + 53896 10704 10206 10349 10494 + 53897 10402 10704 10206 10349 + 53898 10639 10568 10206 10704 + 53899 10568 10704 10494 10206 + 53900 10206 10704 10402 10639 + 53901 10299 10207 10496 10361 + 53902 10285 10360 10207 10569 + 53903 10569 10360 10207 10496 + 53904 10641 10207 10361 10496 + 53905 10411 10207 10361 10641 + 53906 10641 10207 10569 10411 + 53907 10207 10641 10569 10496 + 53908 10208 10356 10498 10286 + 53909 10356 10208 10498 10570 + 53910 10407 10356 10296 10209 + 53911 10499 10356 10407 10209 + 53912 10293 10392 10210 10434 + 53913 10392 10434 10254 10210 + 53914 10211 10435 10574 10645 + 53915 10211 10354 10435 10645 + 53916 10289 10211 10350 10706 + 53917 10289 10211 10706 10354 + 53918 10706 10354 10211 10645 + 53919 10211 10706 10645 10574 + 53920 10500 10350 10211 10706 + 53921 10500 10706 10211 10574 + 53922 10353 10212 10501 10406 + 53923 10644 10406 10501 10212 + 53924 10644 10501 10572 10212 + 53925 10406 10644 10288 10212 + 53926 10644 10212 10572 10288 + 53927 10212 10290 10646 10351 + 53928 10212 10646 10572 10351 + 53929 10212 10501 10646 10353 + 53930 10572 10212 10501 10646 + 53931 10646 10353 10290 10212 + 53932 10213 10640 10291 10575 + 53933 10352 10640 10291 10213 + 53934 10502 10640 10352 10213 + 53935 10213 10348 10703 10291 + 53936 10408 10213 10348 10703 + 53937 10703 10291 10575 10213 + 53938 10703 10575 10747 10213 + 53939 10502 10747 10640 10213 + 53940 10502 10408 10747 10213 + 53941 10213 10747 10640 10575 + 53942 10747 10213 10408 10703 + 53943 10308 10576 10214 10377 + 53944 10215 10503 10292 10354 + 53945 10706 10405 10289 10215 + 53946 10354 10706 10289 10215 + 53947 10706 10503 10405 10215 + 53948 10354 10503 10706 10215 + 53949 10404 10216 10708 10504 + 53950 10708 10504 10216 10418 + 53951 10708 10216 10372 10418 + 53952 10708 10611 10372 10216 + 53953 10708 10216 10404 10611 + 53954 10499 10363 10287 10217 + 53955 10302 10363 10506 10217 + 53956 10217 10506 10302 10364 + 53957 10217 10579 10506 10364 + 53958 10579 10506 10363 10217 + 53959 10579 10217 10363 10709 + 53960 10405 10709 10436 10217 + 53961 10709 10579 10217 10405 + 53962 10217 10499 10709 10436 + 53963 10499 10709 10363 10217 + 53964 10413 10355 10295 10218 + 53965 10583 10508 10218 10413 + 53966 10413 10583 10355 10218 + 53967 10649 10508 10218 10583 + 53968 10297 10649 10218 10583 + 53969 10218 10649 10297 10406 + 53970 10649 10406 10218 10294 + 53971 10218 10294 10508 10649 + 53972 10436 10219 10297 10350 + 53973 10219 10752 10436 10297 + 53974 10752 10219 10436 10407 + 53975 10437 10390 10220 10512 + 53976 10655 10512 10220 10300 + 53977 10357 10220 10655 10437 + 53978 10220 10437 10512 10655 + 53979 10497 10642 10221 10285 + 53980 10300 10587 10497 10222 + 53981 10719 10222 10587 10301 + 53982 10222 10587 10515 10719 + 53983 10515 10222 10411 10757 + 53984 10515 10757 10587 10222 + 53985 10222 10587 10497 10757 + 53986 10569 10411 10222 10757 + 53987 10497 10222 10757 10569 + 53988 10355 10413 10295 10223 + 53989 10355 10296 10509 10223 + 53990 10223 10411 10641 10515 + 53991 10641 10411 10223 10361 + 53992 10650 10223 10355 10509 + 53993 10223 10509 10650 10585 + 53994 10355 10650 10413 10223 + 53995 10720 10515 10650 10223 + 53996 10650 10223 10585 10720 + 53997 10641 10585 10223 10720 + 53998 10720 10641 10515 10223 + 53999 10650 10758 10413 10223 + 54000 10758 10223 10650 10515 + 54001 10365 10225 10516 10302 + 54002 10225 10588 10516 10302 + 54003 10226 10590 10414 10303 + 54004 10517 10226 10590 10414 + 54005 10590 10760 10366 10226 + 54006 10366 10226 10760 10578 + 54007 10517 10364 10760 10226 + 54008 10590 10517 10760 10226 + 54009 10578 10760 10364 10226 + 54010 10505 10227 10366 10292 + 54011 10505 10580 10227 10292 + 54012 10292 10227 10504 10580 + 54013 10580 10504 10660 10227 + 54014 10580 10660 10505 10227 + 54015 10504 10227 10440 10660 + 54016 10723 10505 10660 10227 + 54017 10723 10440 10227 10660 + 54018 10723 10366 10505 10227 + 54019 10305 10371 10417 10229 + 54020 10448 10305 10417 10229 + 54021 10531 10229 10305 10448 + 54022 10531 10229 10448 10250 + 54023 10606 10448 10229 10250 + 54024 10448 10417 10679 10229 + 54025 10679 10448 10229 10606 + 54026 10679 10229 10326 10606 + 54027 10326 10679 10417 10229 + 54028 10595 10230 10376 10307 + 54029 10307 10595 10230 10521 + 54030 10375 10521 10596 10231 + 54031 10629 10596 10231 10375 + 54032 10375 10231 10629 10279 + 54033 10558 10279 10629 10231 + 54034 10596 10231 10521 10666 + 54035 10666 10495 10231 10566 + 54036 10666 10307 10231 10521 + 54037 10666 10231 10307 10566 + 54038 10768 10231 10596 10666 + 54039 10231 10768 10596 10629 + 54040 10768 10495 10558 10231 + 54041 10666 10768 10231 10495 + 54042 10768 10558 10629 10231 + 54043 10376 10232 10308 10520 + 54044 10307 10376 10595 10232 + 54045 10520 10232 10667 10597 + 54046 10667 10520 10308 10232 + 54047 10523 10597 10667 10232 + 54048 10576 10523 10667 10232 + 54049 10232 10576 10308 10667 + 54050 10376 10668 10595 10232 + 54051 10520 10668 10232 10597 + 54052 10376 10668 10232 10520 + 54053 10576 10669 10232 10522 + 54054 10576 10669 10523 10232 + 54055 10595 10307 10232 10728 + 54056 10595 10232 10668 10728 + 54057 10668 10728 10232 10769 + 54058 10232 10597 10668 10769 + 54059 10232 10523 10597 10769 + 54060 10669 10769 10232 10522 + 54061 10523 10769 10232 10669 + 54062 10522 10769 10232 10728 + 54063 10378 10309 10234 10670 + 54064 10309 10670 10598 10234 + 54065 10454 10378 10234 10770 + 54066 10378 10234 10770 10670 + 54067 10454 10234 10598 10770 + 54068 10770 10598 10670 10234 + 54069 10236 10313 10421 10489 + 54070 10420 10236 10347 10489 + 54071 10421 10347 10236 10489 + 54072 10525 10315 10237 10671 + 54073 10422 10237 10315 10671 + 54074 10425 10317 10384 10238 + 54075 10303 10238 10425 10384 + 54076 10661 10303 10590 10238 + 54077 10661 10590 10319 10238 + 54078 10303 10425 10238 10661 + 54079 10425 10319 10238 10661 + 54080 10601 10449 10381 10239 + 54081 10427 10316 10733 10239 + 54082 10427 10733 10601 10239 + 54083 10733 10449 10239 10424 + 54084 10382 10316 10239 10733 + 54085 10449 10733 10239 10601 + 54086 10426 10385 10240 10529 + 54087 10529 10426 10318 10240 + 54088 10383 10439 10425 10241 + 54089 10317 10439 10241 10425 + 54090 10516 10414 10242 10365 + 54091 10384 10242 10519 10414 + 54092 10589 10242 10516 10414 + 54093 10414 10589 10242 10519 + 54094 10243 10427 10387 10316 + 54095 10316 10243 10427 10528 + 54096 10385 10602 10243 10316 + 54097 10316 10602 10243 10528 + 54098 10385 10602 10529 10243 + 54099 10602 10243 10528 10736 + 54100 10736 10602 10243 10529 + 54101 10736 10243 10604 10529 + 54102 10388 10244 10607 10251 + 54103 10607 10244 10373 10251 + 54104 10767 10607 10244 10373 + 54105 10593 10244 10373 10767 + 54106 10252 10245 10428 10446 + 54107 10593 10245 10675 10451 + 54108 10451 10245 10675 10428 + 54109 10245 10675 10428 10734 + 54110 10734 10428 10245 10446 + 54111 10654 10246 10298 10390 + 54112 10298 10654 10492 10246 + 54113 10654 10737 10492 10246 + 54114 10654 10786 10246 10390 + 54115 10737 10246 10786 10677 + 54116 10654 10786 10737 10246 + 54117 10512 10246 10677 10786 + 54118 10512 10390 10246 10786 + 54119 10247 10394 10444 10325 + 54120 10247 10391 10325 10444 + 54121 10249 10328 10442 10429 + 54122 10429 10249 10328 10445 + 54123 10250 10531 10389 10448 + 54124 10533 10415 10389 10250 + 54125 10389 10250 10448 10533 + 54126 10533 10606 10415 10250 + 54127 10606 10448 10250 10533 + 54128 10367 10250 10415 10606 + 54129 10251 10607 10447 10532 + 54130 10532 10373 10251 10607 + 54131 10381 10252 10446 10441 + 54132 10381 10428 10446 10252 + 54133 10254 10456 10392 10327 + 54134 10254 10393 10456 10327 + 54135 10456 10434 10254 10392 + 54136 10434 10456 10254 10608 + 54137 10456 10608 10393 10254 + 54138 10255 10430 10417 10326 + 54139 10430 10326 10255 10536 + 54140 10536 10430 10419 10255 + 54141 10539 10258 10683 10463 + 54142 10683 10258 10539 10616 + 54143 10395 10460 10542 10259 + 54144 10395 10542 10461 10259 + 54145 10259 10460 10542 10618 + 54146 10259 10460 10618 10330 + 54147 10433 10469 10332 10263 + 54148 10469 10541 10263 10433 + 54149 10469 10685 10263 10541 + 54150 10469 10332 10263 10685 + 54151 10685 10263 10540 10332 + 54152 10685 10462 10540 10263 + 54153 10541 10263 10462 10685 + 54154 10544 10621 10264 10466 + 54155 10264 10334 10546 10621 + 54156 10466 10621 10264 10546 + 54157 10541 10395 10265 10471 + 54158 10544 10395 10265 10333 + 54159 10544 10265 10395 10471 + 54160 10544 10622 10265 10471 + 54161 10265 10466 10688 10544 + 54162 10688 10544 10622 10265 + 54163 10689 10465 10547 10265 + 54164 10265 10689 10465 10398 + 54165 10265 10433 10689 10398 + 54166 10689 10541 10433 10265 + 54167 10471 10622 10265 10739 + 54168 10547 10265 10622 10739 + 54169 10689 10739 10541 10265 + 54170 10471 10265 10541 10739 + 54171 10689 10547 10739 10265 + 54172 10466 10335 10265 10740 + 54173 10740 10688 10622 10265 + 54174 10740 10622 10547 10265 + 54175 10466 10265 10688 10740 + 54176 10740 10335 10265 10465 + 54177 10547 10740 10265 10465 + 54178 10266 10550 10335 10475 + 54179 10266 10551 10623 10336 + 54180 10266 10623 10551 10475 + 54181 10266 10335 10623 10475 + 54182 10266 10624 10550 10475 + 54183 10624 10551 10475 10266 + 54184 10338 10476 10267 10421 + 54185 10359 10409 10437 10268 + 54186 10477 10694 10555 10268 + 54187 10437 10555 10694 10268 + 54188 10694 10268 10477 10359 + 54189 10694 10437 10268 10359 + 54190 10693 10476 10270 10554 + 54191 10270 10478 10693 10627 + 54192 10627 10270 10554 10693 + 54193 10554 10477 10337 10271 + 54194 10339 10271 10695 10397 + 54195 10552 10695 10339 10271 + 54196 10741 10271 10552 10477 + 54197 10741 10695 10552 10271 + 54198 10554 10741 10477 10271 + 54199 10347 10556 10421 10272 + 54200 10272 10625 10479 10556 + 54201 10421 10625 10272 10556 + 54202 10479 10625 10272 10551 + 54203 10272 10479 10628 10556 + 54204 10690 10628 10472 10272 + 54205 10396 10272 10336 10690 + 54206 10272 10336 10690 10551 + 54207 10272 10472 10690 10396 + 54208 10479 10272 10690 10551 + 54209 10690 10479 10628 10272 + 54210 10339 10432 10273 10397 + 54211 10273 10432 10339 10443 + 54212 10550 10340 10619 10274 + 54213 10467 10397 10695 10274 + 54214 10274 10695 10742 10478 + 54215 10274 10742 10467 10619 + 54216 10467 10695 10742 10274 + 54217 10550 10742 10274 10619 + 54218 10274 10478 10742 10550 + 54219 10431 10480 10341 10275 + 54220 10431 10557 10275 10399 + 54221 10275 10480 10557 10431 + 54222 10401 10276 10345 10482 + 54223 10345 10276 10545 10697 + 54224 10482 10697 10276 10345 + 54225 10697 10276 10545 10342 + 54226 10431 10481 10559 10277 + 54227 10346 10559 10481 10277 + 54228 10484 10343 10560 10278 + 54229 10278 10545 10468 10698 + 54230 10485 10278 10344 10698 + 54231 10278 10698 10485 10560 + 54232 10278 10468 10344 10698 + 54233 10484 10545 10278 10698 + 54234 10484 10278 10560 10698 + 54235 10279 10629 10375 10480 + 54236 10480 10341 10279 10629 + 54237 10341 10279 10629 10481 + 54238 10279 10481 10558 10629 + 54239 10490 10380 10423 10280 + 54240 10473 10548 10637 10280 + 54241 10490 10548 10280 10637 + 54242 10701 10548 10280 10490 + 54243 10490 10380 10280 10701 + 54244 10402 10282 10638 10349 + 54245 10563 10282 10638 10402 + 54246 10282 10563 10703 10630 + 54247 10703 10282 10348 10638 + 54248 10282 10630 10703 10348 + 54249 10282 10638 10703 10563 + 54250 10493 10348 10408 10283 + 54251 10348 10283 10493 10638 + 54252 10432 10339 10443 10284 + 54253 10487 10284 10443 10402 + 54254 10432 10552 10339 10284 + 54255 10402 10284 10639 10487 + 54256 10487 10284 10779 10633 + 54257 10432 10779 10284 10633 + 54258 10552 10284 10432 10779 + 54259 10552 10639 10284 10779 + 54260 10487 10639 10779 10284 + 54261 10285 10569 10497 10642 + 54262 10642 10360 10285 10569 + 54263 10405 10706 10289 10350 + 54264 10646 10351 10290 10403 + 54265 10495 10630 10558 10291 + 54266 10495 10575 10630 10291 + 54267 10575 10291 10495 10640 + 54268 10703 10291 10630 10575 + 54269 10348 10703 10291 10630 + 54270 10292 10505 10578 10366 + 54271 10504 10292 10580 10404 + 54272 10292 10580 10404 10354 + 54273 10292 10749 10503 10578 + 54274 10749 10505 10578 10292 + 54275 10749 10292 10503 10354 + 54276 10749 10580 10505 10292 + 54277 10292 10580 10354 10749 + 54278 10574 10458 10435 10293 + 54279 10537 10612 10392 10293 + 54280 10392 10434 10293 10612 + 54281 10293 10612 10434 10507 + 54282 10612 10293 10711 10507 + 54283 10537 10711 10612 10293 + 54284 10507 10293 10711 10574 + 54285 10293 10711 10458 10537 + 54286 10574 10711 10458 10293 + 54287 10353 10501 10294 10406 + 54288 10353 10577 10294 10501 + 54289 10408 10577 10294 10353 + 54290 10649 10501 10406 10294 + 54291 10294 10508 10649 10712 + 54292 10294 10567 10712 10408 + 54293 10508 10712 10294 10567 + 54294 10294 10712 10577 10408 + 54295 10649 10501 10294 10751 + 54296 10751 10294 10649 10712 + 54297 10751 10577 10294 10712 + 54298 10577 10294 10501 10751 + 54299 10296 10509 10356 10407 + 54300 10296 10355 10509 10407 + 54301 10436 10297 10573 10350 + 54302 10510 10573 10297 10652 + 54303 10573 10297 10652 10705 + 54304 10406 10297 10705 10649 + 54305 10573 10436 10752 10297 + 54306 10752 10573 10297 10510 + 54307 10510 10753 10780 10297 + 54308 10652 10705 10297 10780 + 54309 10780 10705 10297 10649 + 54310 10583 10297 10780 10753 + 54311 10649 10780 10583 10297 + 54312 10652 10780 10297 10510 + 54313 10410 10555 10654 10298 + 54314 10298 10390 10555 10654 + 54315 10298 10358 10492 10654 + 54316 10298 10410 10358 10654 + 54317 10361 10715 10496 10299 + 54318 10300 10587 10717 10497 + 54319 10655 10717 10512 10300 + 54320 10719 10587 10756 10301 + 54321 10301 10781 10719 10362 + 54322 10301 10781 10494 10756 + 54323 10301 10719 10781 10756 + 54324 10494 10412 10781 10301 + 54325 10301 10362 10412 10781 + 54326 10519 10425 10384 10303 + 54327 10414 10519 10384 10303 + 54328 10519 10661 10425 10303 + 54329 10590 10724 10414 10303 + 54330 10414 10724 10519 10303 + 54331 10590 10661 10724 10303 + 54332 10519 10724 10661 10303 + 54333 10440 10418 10374 10304 + 54334 10440 10304 10374 10424 + 54335 10305 10417 10591 10448 + 54336 10305 10416 10450 10680 + 54337 10680 10371 10305 10416 + 54338 10591 10305 10448 10726 + 54339 10532 10447 10305 10726 + 54340 10532 10305 10450 10726 + 54341 10763 10450 10305 10726 + 54342 10763 10305 10591 10726 + 54343 10371 10417 10763 10305 + 54344 10371 10763 10680 10305 + 54345 10680 10450 10305 10763 + 54346 10305 10591 10417 10763 + 54347 10447 10305 10726 10764 + 54348 10764 10448 10531 10305 + 54349 10764 10531 10447 10305 + 54350 10726 10305 10448 10764 + 54351 10374 10418 10451 10306 + 54352 10418 10306 10664 10451 + 54353 10418 10664 10306 10372 + 54354 10306 10372 10664 10438 + 54355 10664 10373 10306 10438 + 54356 10728 10595 10307 10521 + 54357 10666 10728 10307 10521 + 54358 10307 10728 10666 10566 + 54359 10308 10576 10377 10667 + 54360 10309 10524 10670 10378 + 54361 10311 10377 10576 10667 + 54362 10454 10311 10608 10730 + 54363 10311 10576 10455 10784 + 54364 10667 10784 10576 10311 + 54365 10311 10784 10455 10608 + 54366 10311 10730 10784 10608 + 54367 10472 10312 10564 10636 + 54368 10313 10553 10421 10489 + 54369 10553 10421 10338 10313 + 54370 10553 10489 10313 10771 + 54371 10491 10313 10771 10553 + 54372 10334 10474 10314 10422 + 54373 10314 10470 10549 10334 + 54374 10474 10334 10314 10549 + 54375 10672 10549 10474 10314 + 54376 10470 10314 10549 10772 + 54377 10470 10683 10314 10772 + 54378 10549 10672 10772 10314 + 54379 10474 10672 10314 10773 + 54380 10773 10422 10314 10474 + 54381 10315 10565 10525 10423 + 54382 10565 10315 10525 10671 + 54383 10565 10422 10315 10671 + 54384 10528 10427 10316 10733 + 54385 10316 10602 10733 10382 + 54386 10528 10316 10602 10733 + 54387 10439 10384 10425 10317 + 54388 10319 10518 10590 10661 + 54389 10425 10661 10735 10319 + 54390 10319 10425 10527 10735 + 54391 10319 10527 10600 10735 + 54392 10735 10600 10319 10518 + 54393 10735 10319 10661 10518 + 54394 10723 10775 10319 10440 + 54395 10665 10440 10319 10775 + 54396 10518 10600 10319 10775 + 54397 10723 10319 10775 10518 + 54398 10665 10319 10600 10775 + 54399 10389 10676 10323 10682 + 54400 10442 10323 10429 10682 + 54401 10442 10389 10323 10682 + 54402 10326 10430 10417 10457 + 54403 10326 10457 10536 10430 + 54404 10457 10326 10536 10610 + 54405 10453 10326 10610 10536 + 54406 10417 10610 10326 10457 + 54407 10326 10679 10610 10417 + 54408 10453 10679 10326 10606 + 54409 10610 10679 10326 10453 + 54410 10445 10429 10538 10328 + 54411 10328 10682 10429 10538 + 54412 10328 10459 10682 10538 + 54413 10682 10328 10442 10459 + 54414 10442 10429 10328 10682 + 54415 10330 10460 10618 10539 + 54416 10684 10463 10330 10539 + 54417 10330 10618 10684 10539 + 54418 10395 10461 10617 10331 + 54419 10543 10433 10469 10332 + 54420 10543 10469 10620 10332 + 54421 10620 10332 10464 10543 + 54422 10469 10738 10332 10685 + 54423 10685 10540 10738 10332 + 54424 10540 10400 10738 10332 + 54425 10620 10469 10738 10332 + 54426 10333 10539 10616 10460 + 54427 10544 10687 10395 10333 + 54428 10616 10544 10333 10687 + 54429 10616 10333 10460 10687 + 54430 10395 10687 10460 10333 + 54431 10470 10691 10549 10334 + 54432 10621 10470 10334 10691 + 54433 10474 10691 10334 10549 + 54434 10546 10621 10334 10691 + 54435 10465 10692 10335 10550 + 54436 10335 10623 10475 10692 + 54437 10692 10475 10335 10550 + 54438 10335 10466 10623 10692 + 54439 10740 10466 10335 10692 + 54440 10335 10740 10692 10465 + 54441 10690 10551 10336 10623 + 54442 10338 10553 10476 10421 + 54443 10339 10432 10397 10695 + 54444 10432 10339 10552 10695 + 54445 10619 10543 10464 10340 + 54446 10550 10619 10340 10743 + 54447 10743 10543 10340 10398 + 54448 10743 10340 10550 10398 + 54449 10543 10340 10619 10743 + 54450 10480 10431 10341 10629 + 54451 10341 10481 10629 10431 + 54452 10468 10342 10632 10545 + 54453 10545 10632 10744 10342 + 54454 10545 10342 10744 10697 + 54455 10744 10697 10342 10483 + 54456 10619 10343 10464 10699 + 54457 10464 10343 10560 10699 + 54458 10745 10560 10343 10699 + 54459 10745 10560 10484 10343 + 54460 10619 10745 10343 10699 + 54461 10486 10633 10561 10345 + 54462 10486 10562 10633 10345 + 54463 10345 10634 10486 10562 + 54464 10345 10561 10634 10484 + 54465 10345 10634 10561 10486 + 54466 10482 10562 10697 10345 + 54467 10345 10697 10778 10562 + 54468 10345 10545 10778 10697 + 54469 10484 10778 10345 10545 + 54470 10484 10778 10634 10345 + 54471 10345 10778 10634 10562 + 54472 10559 10481 10630 10346 + 54473 10421 10556 10347 10489 + 54474 10420 10347 10556 10489 + 54475 10408 10348 10493 10703 + 54476 10348 10703 10638 10493 + 54477 10638 10704 10402 10349 + 54478 10349 10412 10746 10494 + 54479 10349 10746 10704 10494 + 54480 10704 10746 10349 10638 + 54481 10412 10746 10638 10349 + 54482 10436 10350 10573 10405 + 54483 10500 10573 10350 10706 + 54484 10405 10573 10706 10350 + 54485 10351 10455 10572 10434 + 54486 10646 10572 10351 10455 + 54487 10351 10455 10403 10646 + 54488 10352 10707 10640 10502 + 54489 10707 10352 10403 10502 + 54490 10352 10707 10566 10640 + 54491 10577 10353 10408 10502 + 54492 10646 10502 10353 10577 + 54493 10353 10646 10577 10501 + 54494 10404 10580 10645 10354 + 54495 10354 10404 10435 10645 + 54496 10354 10749 10580 10645 + 54497 10706 10749 10354 10645 + 54498 10503 10706 10749 10354 + 54499 10650 10583 10355 10413 + 54500 10355 10583 10650 10713 + 54501 10650 10355 10713 10509 + 54502 10509 10355 10713 10407 + 54503 10643 10407 10499 10356 + 54504 10356 10509 10714 10407 + 54505 10714 10643 10356 10407 + 54506 10356 10643 10754 10498 + 54507 10754 10356 10498 10570 + 54508 10643 10754 10714 10356 + 54509 10714 10356 10754 10570 + 54510 10437 10357 10409 10655 + 54511 10655 10409 10568 10357 + 54512 10586 10358 10491 10410 + 54513 10654 10492 10586 10358 + 54514 10654 10586 10410 10358 + 54515 10513 10409 10359 10639 + 54516 10741 10694 10477 10359 + 54517 10359 10477 10741 10552 + 54518 10359 10513 10694 10755 + 54519 10409 10437 10755 10359 + 54520 10437 10694 10755 10359 + 54521 10359 10409 10513 10755 + 54522 10741 10787 10694 10359 + 54523 10513 10359 10787 10639 + 54524 10639 10359 10787 10552 + 54525 10694 10787 10513 10359 + 54526 10787 10359 10741 10552 + 54527 10569 10718 10360 10496 + 54528 10642 10718 10360 10569 + 54529 10641 10715 10496 10361 + 54530 10362 10648 10719 10758 + 54531 10648 10362 10413 10758 + 54532 10648 10719 10781 10362 + 54533 10567 10362 10648 10781 + 54534 10567 10412 10362 10781 + 54535 10363 10643 10709 10499 + 54536 10363 10759 10506 10579 + 54537 10363 10759 10643 10571 + 54538 10363 10657 10759 10571 + 54539 10363 10759 10657 10506 + 54540 10709 10759 10643 10363 + 54541 10709 10579 10759 10363 + 54542 10579 10364 10658 10506 + 54543 10364 10722 10579 10658 + 54544 10503 10722 10579 10364 + 54545 10722 10503 10578 10364 + 54546 10722 10578 10760 10364 + 54547 10364 10760 10722 10658 + 54548 10760 10517 10658 10364 + 54549 10659 10590 10366 10518 + 54550 10723 10659 10366 10518 + 54551 10659 10723 10366 10578 + 54552 10366 10578 10723 10505 + 54553 10366 10760 10659 10578 + 54554 10760 10659 10590 10366 + 54555 10534 10662 10368 10453 + 54556 10609 10763 10680 10371 + 54557 10609 10417 10763 10371 + 54558 10592 10438 10372 10416 + 54559 10372 10592 10416 10611 + 54560 10372 10664 10438 10592 + 54561 10766 10592 10664 10372 + 54562 10766 10664 10418 10372 + 54563 10372 10418 10766 10708 + 54564 10782 10592 10372 10611 + 54565 10782 10766 10708 10372 + 54566 10782 10708 10611 10372 + 54567 10766 10782 10592 10372 + 54568 10373 10438 10592 10450 + 54569 10373 10532 10450 10607 + 54570 10592 10664 10438 10373 + 54571 10373 10450 10767 10607 + 54572 10664 10373 10767 10593 + 54573 10373 10592 10664 10767 + 54574 10373 10450 10592 10767 + 54575 10374 10451 10594 10428 + 54576 10594 10374 10428 10449 + 54577 10424 10440 10665 10374 + 54578 10665 10424 10374 10449 + 54579 10665 10374 10594 10449 + 54580 10727 10451 10594 10374 + 54581 10727 10374 10594 10665 + 54582 10727 10440 10374 10665 + 54583 10418 10440 10374 10727 + 54584 10727 10418 10451 10374 + 54585 10629 10783 10596 10375 + 54586 10783 10629 10480 10375 + 54587 10613 10419 10430 10378 + 54588 10378 10419 10524 10613 + 54589 10613 10430 10681 10378 + 54590 10378 10430 10681 10535 + 54591 10378 10454 10535 10770 + 54592 10524 10770 10670 10378 + 54593 10770 10681 10378 10613 + 54594 10378 10535 10681 10770 + 54595 10378 10524 10770 10613 + 54596 10599 10380 10423 10490 + 54597 10380 10490 10599 10701 + 54598 10381 10441 10446 10601 + 54599 10449 10428 10734 10381 + 54600 10428 10446 10734 10381 + 54601 10381 10734 10449 10601 + 54602 10381 10446 10734 10601 + 54603 10733 10602 10527 10382 + 54604 10527 10383 10603 10425 + 54605 10383 10674 10527 10603 + 54606 10425 10774 10439 10383 + 54607 10774 10603 10383 10425 + 54608 10425 10439 10519 10384 + 54609 10389 10533 10442 10415 + 54610 10389 10448 10531 10676 + 54611 10533 10676 10448 10389 + 54612 10682 10442 10389 10533 + 54613 10389 10533 10676 10682 + 54614 10437 10755 10390 10512 + 54615 10437 10555 10390 10755 + 54616 10786 10555 10390 10654 + 54617 10555 10786 10390 10755 + 54618 10755 10390 10512 10786 + 54619 10456 10392 10537 10612 + 54620 10392 10456 10434 10612 + 54621 10456 10393 10608 10535 + 54622 10456 10609 10393 10535 + 54623 10393 10430 10535 10609 + 54624 10395 10686 10471 10541 + 54625 10395 10617 10686 10541 + 54626 10461 10395 10617 10686 + 54627 10686 10461 10395 10542 + 54628 10471 10686 10395 10542 + 54629 10395 10542 10460 10687 + 54630 10395 10687 10544 10471 + 54631 10395 10471 10542 10687 + 54632 10695 10397 10467 10432 + 54633 10543 10433 10398 10689 + 54634 10743 10398 10465 10689 + 54635 10743 10543 10398 10689 + 54636 10550 10465 10743 10398 + 54637 10482 10559 10635 10401 + 54638 10402 10639 10704 10487 + 54639 10487 10563 10704 10402 + 54640 10563 10638 10704 10402 + 54641 10707 10403 10646 10502 + 54642 10707 10403 10576 10748 + 54643 10748 10403 10576 10455 + 54644 10748 10707 10403 10646 + 54645 10646 10455 10403 10748 + 54646 10458 10580 10645 10404 + 54647 10645 10458 10404 10435 + 54648 10708 10404 10458 10611 + 54649 10580 10404 10458 10708 + 54650 10404 10708 10580 10504 + 54651 10405 10647 10503 10573 + 54652 10579 10503 10405 10647 + 54653 10573 10405 10647 10436 + 54654 10573 10706 10503 10405 + 54655 10579 10405 10709 10647 + 54656 10709 10405 10436 10647 + 54657 10406 10582 10644 10501 + 54658 10406 10649 10582 10501 + 54659 10406 10705 10582 10649 + 54660 10406 10644 10582 10705 + 54661 10584 10407 10709 10643 + 54662 10407 10436 10709 10499 + 54663 10709 10407 10499 10643 + 54664 10584 10714 10407 10643 + 54665 10509 10714 10407 10584 + 54666 10752 10436 10709 10407 + 54667 10752 10509 10713 10407 + 54668 10509 10407 10752 10584 + 54669 10584 10752 10709 10407 + 54670 10567 10408 10493 10653 + 54671 10408 10493 10653 10703 + 54672 10408 10653 10567 10712 + 54673 10408 10747 10653 10712 + 54674 10577 10408 10747 10502 + 54675 10747 10577 10712 10408 + 54676 10408 10653 10747 10703 + 54677 10513 10639 10568 10409 + 54678 10655 10568 10409 10513 + 54679 10409 10513 10755 10655 + 54680 10409 10755 10437 10655 + 54681 10514 10410 10626 10555 + 54682 10410 10555 10514 10654 + 54683 10410 10514 10586 10654 + 54684 10553 10491 10410 10656 + 54685 10491 10586 10410 10656 + 54686 10656 10514 10586 10410 + 54687 10553 10410 10716 10656 + 54688 10656 10716 10514 10410 + 54689 10626 10553 10410 10716 + 54690 10410 10626 10716 10514 + 54691 10757 10641 10569 10411 + 54692 10757 10515 10641 10411 + 54693 10746 10412 10493 10567 + 54694 10638 10746 10412 10493 + 54695 10781 10746 10412 10494 + 54696 10746 10567 10781 10412 + 54697 10583 10648 10508 10413 + 54698 10650 10758 10583 10413 + 54699 10413 10648 10758 10583 + 54700 10519 10589 10724 10414 + 54701 10414 10761 10589 10724 + 54702 10517 10589 10414 10761 + 54703 10517 10761 10414 10590 + 54704 10414 10761 10724 10590 + 54705 10450 10438 10592 10416 + 54706 10592 10416 10663 10450 + 54707 10663 10450 10416 10680 + 54708 10680 10765 10416 10663 + 54709 10537 10416 10680 10765 + 54710 10663 10416 10592 10765 + 54711 10611 10416 10765 10592 + 54712 10537 10611 10416 10765 + 54713 10430 10609 10417 10457 + 54714 10417 10591 10610 10457 + 54715 10679 10591 10610 10417 + 54716 10591 10417 10679 10448 + 54717 10763 10457 10591 10417 + 54718 10417 10609 10763 10457 + 54719 10418 10504 10440 10660 + 54720 10418 10440 10727 10660 + 54721 10451 10766 10664 10418 + 54722 10418 10660 10727 10766 + 54723 10451 10727 10766 10418 + 54724 10504 10766 10418 10708 + 54725 10766 10418 10660 10504 + 54726 10613 10419 10536 10430 + 54727 10536 10419 10613 10729 + 54728 10452 10419 10536 10729 + 54729 10419 10613 10729 10524 + 54730 10489 10420 10732 10556 + 54731 10628 10732 10564 10420 + 54732 10628 10556 10732 10420 + 54733 10785 10421 10556 10625 + 54734 10421 10556 10489 10785 + 54735 10785 10421 10553 10489 + 54736 10785 10421 10625 10476 + 54737 10785 10553 10421 10476 + 54738 10671 10565 10422 10526 + 54739 10565 10422 10526 10773 + 54740 10422 10773 10565 10474 + 54741 10490 10673 10565 10423 + 54742 10490 10599 10673 10423 + 54743 10673 10525 10565 10423 + 54744 10424 10733 10449 10665 + 54745 10735 10425 10527 10603 + 54746 10735 10661 10425 10603 + 54747 10774 10425 10519 10661 + 54748 10774 10439 10519 10425 + 54749 10661 10774 10425 10603 + 54750 10528 10601 10427 10733 + 54751 10594 10451 10675 10428 + 54752 10428 10594 10449 10734 + 54753 10734 10428 10594 10675 + 54754 10613 10536 10457 10430 + 54755 10681 10457 10430 10613 + 54756 10681 10430 10609 10535 + 54757 10430 10681 10609 10457 + 54758 10557 10431 10480 10629 + 54759 10557 10696 10431 10629 + 54760 10431 10481 10629 10696 + 54761 10431 10559 10481 10696 + 54762 10467 10779 10432 10633 + 54763 10432 10552 10779 10695 + 54764 10695 10467 10779 10432 + 54765 10433 10689 10469 10541 + 54766 10689 10433 10469 10543 + 54767 10434 10608 10581 10456 + 54768 10434 10581 10612 10456 + 54769 10612 10434 10507 10710 + 54770 10581 10608 10434 10710 + 54771 10455 10572 10434 10710 + 54772 10710 10572 10434 10507 + 54773 10434 10612 10581 10710 + 54774 10455 10434 10608 10710 + 54775 10645 10458 10435 10574 + 54776 10573 10647 10752 10436 + 54777 10709 10436 10752 10647 + 54778 10512 10437 10755 10655 + 54779 10555 10755 10437 10694 + 54780 10727 10660 10440 10775 + 54781 10665 10775 10727 10440 + 54782 10723 10440 10660 10775 + 54783 10682 10614 10442 10533 + 54784 10682 10442 10614 10459 + 54785 10447 10532 10607 10726 + 54786 10764 10447 10607 10726 + 54787 10606 10679 10448 10533 + 54788 10764 10531 10448 10676 + 54789 10764 10448 10726 10789 + 54790 10676 10533 10448 10789 + 54791 10448 10764 10676 10789 + 54792 10679 10789 10448 10533 + 54793 10726 10448 10591 10789 + 54794 10448 10591 10789 10679 + 54795 10449 10734 10594 10665 + 54796 10791 10449 10601 10733 + 54797 10734 10601 10791 10449 + 54798 10791 10734 10449 10665 + 54799 10733 10791 10449 10665 + 54800 10450 10607 10532 10726 + 54801 10680 10663 10450 10763 + 54802 10767 10450 10726 10607 + 54803 10592 10450 10792 10767 + 54804 10592 10792 10450 10663 + 54805 10792 10450 10763 10726 + 54806 10767 10792 10726 10450 + 54807 10763 10792 10663 10450 + 54808 10727 10675 10594 10451 + 54809 10451 10793 10675 10593 + 54810 10727 10793 10451 10766 + 54811 10664 10451 10793 10766 + 54812 10451 10664 10793 10593 + 54813 10675 10727 10793 10451 + 54814 10536 10729 10662 10452 + 54815 10610 10762 10679 10453 + 54816 10606 10453 10679 10762 + 54817 10453 10762 10725 10794 + 54818 10453 10794 10536 10610 + 54819 10453 10762 10794 10610 + 54820 10534 10794 10662 10453 + 54821 10453 10725 10534 10794 + 54822 10536 10662 10794 10453 + 54823 10535 10454 10608 10730 + 54824 10535 10770 10454 10730 + 54825 10454 10598 10788 10770 + 54826 10788 10730 10454 10770 + 54827 10748 10784 10455 10576 + 54828 10710 10608 10455 10784 + 54829 10710 10455 10748 10784 + 54830 10710 10455 10572 10796 + 54831 10646 10796 10455 10748 + 54832 10646 10796 10572 10455 + 54833 10710 10455 10796 10748 + 54834 10609 10681 10535 10456 + 54835 10456 10535 10608 10795 + 54836 10456 10681 10535 10795 + 54837 10456 10608 10581 10795 + 54838 10581 10795 10863 10456 + 54839 10609 10863 10681 10456 + 54840 10456 10863 10581 10612 + 54841 10456 10863 10681 10795 + 54842 10456 10537 10863 10612 + 54843 10537 10456 10863 10609 + 54844 10457 10536 10613 10797 + 54845 10457 10610 10536 10797 + 54846 10613 10797 10865 10457 + 54847 10681 10865 10457 10613 + 54848 10763 10591 10457 10866 + 54849 10866 10797 10610 10457 + 54850 10866 10610 10591 10457 + 54851 10931 10457 10763 10609 + 54852 10931 10865 10457 10681 + 54853 10931 10681 10457 10609 + 54854 10797 10989 10457 10866 + 54855 10457 10797 10865 10989 + 54856 10931 10457 10865 10989 + 54857 10763 10457 10989 10866 + 54858 10763 10457 10931 10989 + 54859 10645 10711 10458 10574 + 54860 10537 10458 10611 10765 + 54861 10458 10765 10782 10611 + 54862 10611 10782 10458 10708 + 54863 10645 10711 10799 10458 + 54864 10537 10799 10458 10765 + 54865 10711 10799 10458 10537 + 54866 10800 10580 10645 10458 + 54867 10645 10799 10867 10458 + 54868 10645 10458 10867 10800 + 54869 10765 10782 10867 10458 + 54870 10765 10867 10799 10458 + 54871 10580 10708 10458 10933 + 54872 10933 10708 10458 10782 + 54873 10800 10933 10580 10458 + 54874 10933 10458 10867 10782 + 54875 10867 10458 10933 10800 + 54876 10682 10538 10459 10869 + 54877 10682 10459 10614 10869 + 54878 10460 10687 10803 10616 + 54879 10616 10460 10539 10803 + 54880 10803 10460 10539 10618 + 54881 10460 10803 10870 10618 + 54882 10618 10542 10870 10460 + 54883 10870 10687 10460 10542 + 54884 10687 10803 10870 10460 + 54885 10541 10462 10617 10685 + 54886 10683 10539 10463 10804 + 54887 10684 10463 10539 10804 + 54888 10543 10619 10464 10699 + 54889 10620 10560 10699 10464 + 54890 10464 10620 10543 10699 + 54891 10465 10743 10692 10550 + 54892 10743 10465 10547 10689 + 54893 10547 10743 10807 10465 + 54894 10692 10807 10743 10465 + 54895 10692 10740 10807 10465 + 54896 10547 10807 10740 10465 + 54897 10466 10688 10544 10621 + 54898 10688 10808 10466 10740 + 54899 10688 10466 10808 10621 + 54900 10623 10808 10692 10466 + 54901 10740 10808 10466 10692 + 54902 10466 10808 10621 10546 + 54903 10546 10466 10808 10623 + 54904 10467 10742 10777 10619 + 54905 10809 10695 10467 10779 + 54906 10809 10742 10467 10695 + 54907 10742 10467 10777 10874 + 54908 10467 10809 10779 10874 + 54909 10467 10561 10777 10874 + 54910 10467 10633 10561 10874 + 54911 10874 10742 10467 10809 + 54912 10779 10467 10874 10633 + 54913 10468 10632 10698 10545 + 54914 10689 10469 10620 10543 + 54915 10739 10469 10689 10541 + 54916 10805 10685 10469 10541 + 54917 10739 10469 10541 10805 + 54918 10805 10469 10875 10739 + 54919 10875 10805 10685 10469 + 54920 10620 10738 10469 10875 + 54921 10469 10875 10738 10685 + 54922 10875 10469 10938 10739 + 54923 10938 10469 10689 10739 + 54924 10938 10620 10689 10469 + 54925 10469 10875 10938 10620 + 54926 10616 10683 10470 10772 + 54927 10621 10872 10470 10691 + 54928 10470 10544 10872 10621 + 54929 10616 10470 10544 10872 + 54930 10691 10935 10872 10470 + 54931 10470 10935 10872 10616 + 54932 10691 10935 10470 10549 + 54933 10549 10772 10935 10470 + 54934 10470 10772 10935 10616 + 54935 10687 10471 10622 10544 + 54936 10471 10739 10541 10686 + 54937 10806 10686 10471 10542 + 54938 10542 10806 10687 10471 + 54939 10877 10471 10686 10739 + 54940 10877 10686 10471 10806 + 54941 10940 10471 10877 10739 + 54942 10687 10471 10940 10622 + 54943 10877 10471 10940 10806 + 54944 10687 10471 10806 10940 + 54945 10622 10739 10471 10940 + 54946 10812 10472 10701 10548 + 54947 10813 10628 10564 10472 + 54948 10879 10472 10548 10690 + 54949 10628 10472 10813 10879 + 54950 10628 10690 10472 10879 + 54951 10472 10548 10812 10879 + 54952 10812 10941 10472 10879 + 54953 10813 10564 10941 10472 + 54954 10636 10941 10472 10701 + 54955 10879 10941 10472 10813 + 54956 10564 10636 10941 10472 + 54957 10701 10941 10472 10812 + 54958 10808 10623 10473 10546 + 54959 10808 10546 10473 10637 + 54960 10690 10942 10473 10548 + 54961 10808 10473 10623 10942 + 54962 10690 10473 10942 10623 + 54963 10995 10548 10473 10942 + 54964 10942 10808 10473 10995 + 54965 10548 10995 10473 10637 + 54966 10808 10473 10995 10637 + 54967 10702 10565 10773 10474 + 54968 10692 10624 10475 10550 + 54969 10623 10475 10814 10551 + 54970 10814 10475 10624 10551 + 54971 10475 10624 10880 10814 + 54972 10624 10475 10880 10692 + 54973 10942 10475 10623 10692 + 54974 10475 10814 10942 10623 + 54975 10880 10475 10942 10692 + 54976 10814 10475 10942 10880 + 54977 10626 10476 10553 10785 + 54978 10785 10476 10625 10816 + 54979 10785 10626 10476 10816 + 54980 10476 10625 10816 10693 + 54981 10881 10626 10816 10476 + 54982 10693 10881 10476 10554 + 54983 10881 10816 10693 10476 + 54984 10881 10626 10476 10554 + 54985 10626 10694 10555 10477 + 54986 10694 10817 10477 10626 + 54987 10817 10694 10477 10741 + 54988 10477 10817 10554 10626 + 54989 10817 10554 10741 10477 + 54990 10742 10550 10478 10815 + 54991 10624 10478 10550 10815 + 54992 10627 10478 10693 10945 + 54993 10945 10693 10996 10478 + 54994 10693 10624 10996 10478 + 54995 10478 10624 10996 10815 + 54996 10945 10996 11042 10478 + 54997 10478 10815 11042 10742 + 54998 11042 10742 10695 10478 + 54999 10945 10478 11042 10627 + 55000 10478 10996 11042 10815 + 55001 11042 10695 10627 10478 + 55002 10551 10479 10814 10690 + 55003 10628 10479 10690 10879 + 55004 10479 10628 10556 10882 + 55005 10479 10556 10625 10882 + 55006 10690 10879 10479 10942 + 55007 10479 10942 10814 10690 + 55008 10625 10944 10551 10479 + 55009 10944 10551 10479 10814 + 55010 10479 10882 10625 10944 + 55011 10628 10879 10947 10479 + 55012 10479 10947 10628 10882 + 55013 10882 10999 10479 10947 + 55014 10999 10479 10879 10942 + 55015 10944 10479 10999 10814 + 55016 10479 10999 10882 10944 + 55017 10999 10947 10879 10479 + 55018 10479 10999 10814 10942 + 55019 10783 10480 10629 10557 + 55020 10481 10629 10696 10821 + 55021 10629 10481 10558 10821 + 55022 10481 10696 10559 10821 + 55023 10558 10821 10481 10630 + 55024 10630 10821 10481 10559 + 55025 10697 10822 10562 10482 + 55026 10482 10697 10822 10631 + 55027 10482 10822 10949 10631 + 55028 10559 10482 10949 10631 + 55029 10562 10822 10949 10482 + 55030 10482 10562 10635 10949 + 55031 10635 10559 10482 10949 + 55032 10631 10697 10744 10483 + 55033 10557 10483 10631 10820 + 55034 10483 10950 10744 10631 + 55035 10820 10950 10483 10631 + 55036 10698 10545 10632 10484 + 55037 10778 10632 10545 10484 + 55038 10484 10823 10778 10632 + 55039 10484 10698 10823 10632 + 55040 10484 10560 10745 10876 + 55041 10698 10823 10951 10484 + 55042 10698 10951 10560 10484 + 55043 10951 10560 10484 10876 + 55044 10561 10634 10484 11001 + 55045 10951 10484 11001 10876 + 55046 10876 10484 11001 10745 + 55047 11001 10823 10484 10951 + 55048 10778 10484 10634 11001 + 55049 11001 10823 10778 10484 + 55050 10561 10484 10745 11001 + 55051 10810 10738 10485 10620 + 55052 10810 10485 10560 10620 + 55053 10810 10560 10485 10951 + 55054 10698 10951 10485 10560 + 55055 10700 10486 10562 10633 + 55056 10824 10561 10634 10486 + 55057 10887 10486 10634 10562 + 55058 10953 10486 10700 10827 + 55059 10486 10700 10562 10953 + 55060 10486 10562 10887 10953 + 55061 11002 10486 10824 10889 + 55062 10561 11002 10486 10824 + 55063 10700 11002 10486 10633 + 55064 10486 10633 11002 10561 + 55065 10889 10827 11002 10486 + 55066 10486 10827 11002 10700 + 55067 10486 10634 10824 11003 + 55068 10634 10486 10887 11003 + 55069 10827 10953 10486 11003 + 55070 11003 10486 10889 10824 + 55071 10486 10953 10887 11003 + 55072 10827 10486 10889 11003 + 55073 10633 10487 10700 10825 + 55074 10487 10825 10633 10779 + 55075 10779 10639 10487 10825 + 55076 10563 10487 10704 10828 + 55077 10563 10890 10487 10828 + 55078 10890 10487 10635 10563 + 55079 10890 10635 10487 10700 + 55080 10487 10639 10892 10825 + 55081 10487 10892 10639 10704 + 55082 10890 10700 10487 10954 + 55083 10954 10700 10487 10825 + 55084 10954 10487 10892 10825 + 55085 10828 10890 10487 11005 + 55086 10890 10487 11005 10954 + 55087 10828 10487 10704 11005 + 55088 10954 10892 10487 11005 + 55089 10704 11005 10487 10892 + 55090 10630 10488 10821 10559 + 55091 10630 10488 10884 10821 + 55092 10630 10488 10563 10884 + 55093 10488 10826 10635 10890 + 55094 10890 10635 10488 10563 + 55095 10635 10488 10559 10949 + 55096 10949 10559 10821 10488 + 55097 10826 10635 10949 10488 + 55098 10821 10488 10884 10949 + 55099 10826 10949 10884 10488 + 55100 10488 10826 10890 10956 + 55101 10890 10956 10563 10488 + 55102 10488 10884 10826 10956 + 55103 10563 10956 10884 10488 + 55104 10553 10785 10489 10771 + 55105 10819 10785 10489 10556 + 55106 10785 10771 10819 10489 + 55107 10489 10556 10732 10819 + 55108 10701 10812 10548 10490 + 55109 10812 10490 10637 10548 + 55110 10490 10565 10673 10829 + 55111 10490 10673 10599 10829 + 55112 10565 10702 10829 10490 + 55113 10490 10599 10701 10893 + 55114 10490 10701 10812 10893 + 55115 10490 10957 10812 10637 + 55116 10490 10702 10957 10637 + 55117 10957 10893 10599 10490 + 55118 10957 10812 10893 10490 + 55119 10957 10599 10829 10490 + 55120 10702 10957 10829 10490 + 55121 10491 10553 10771 10656 + 55122 10492 10586 10737 10654 + 55123 10746 10703 10653 10493 + 55124 10567 10493 10746 10653 + 55125 10746 10638 10703 10493 + 55126 10958 10781 10494 10746 + 55127 10756 10958 10494 10568 + 55128 10958 10494 10568 10704 + 55129 10958 10781 10756 10494 + 55130 10958 10494 10704 10746 + 55131 10821 10495 10558 10768 + 55132 10630 10558 10821 10495 + 55133 10495 10630 10575 10821 + 55134 10495 10768 10821 10959 + 55135 10821 10575 10495 10959 + 55136 10768 10495 10666 10959 + 55137 10495 10566 10666 10959 + 55138 10959 10495 10640 10575 + 55139 10566 10495 10640 10959 + 55140 10718 10569 10641 10496 + 55141 10496 10718 10834 10641 + 55142 10496 10834 10715 10641 + 55143 10717 10497 10587 10678 + 55144 10718 10497 10569 10642 + 55145 10497 10757 10587 10678 + 55146 10497 10757 10718 10569 + 55147 10718 10642 10835 10497 + 55148 10678 10497 10835 10605 + 55149 10642 10835 10497 10605 + 55150 10497 10835 10757 10678 + 55151 10718 10835 10757 10497 + 55152 10571 10754 10643 10498 + 55153 10750 10500 10705 10644 + 55154 10500 10898 10706 10574 + 55155 10573 10898 10706 10500 + 55156 10898 10500 10573 10705 + 55157 10898 10750 10500 10705 + 55158 10500 10574 10750 10898 + 55159 10501 10582 10751 10649 + 55160 10501 10577 10796 10646 + 55161 10796 10572 10501 10646 + 55162 10501 10577 10751 10796 + 55163 10644 10582 10897 10501 + 55164 10644 10897 10572 10501 + 55165 10897 10572 10501 10796 + 55166 10582 10501 10963 10897 + 55167 10501 10582 10963 10751 + 55168 10897 10501 10963 10796 + 55169 10963 10501 10751 10796 + 55170 10747 10640 10707 10502 + 55171 10747 10707 10901 10502 + 55172 10502 10747 10577 10901 + 55173 10502 10577 10646 10901 + 55174 10646 10901 10707 10502 + 55175 10503 10579 10722 10647 + 55176 10503 10573 10837 10706 + 55177 10573 10837 10647 10503 + 55178 10837 10722 10647 10503 + 55179 10503 11010 10722 10578 + 55180 10503 11010 10749 10706 + 55181 10837 11010 10722 10503 + 55182 10503 10749 11010 10578 + 55183 10503 10837 11010 10706 + 55184 10933 10504 10708 10766 + 55185 10708 10580 10504 10933 + 55186 10933 10660 10504 10766 + 55187 10933 10504 10660 10580 + 55188 10800 10505 10749 10580 + 55189 10505 10841 10723 10660 + 55190 10578 10723 10505 10841 + 55191 10505 10841 10904 10578 + 55192 10505 10933 10841 10660 + 55193 10933 10660 10505 10580 + 55194 10505 10933 10580 10800 + 55195 10505 11010 10749 10578 + 55196 10578 10904 10505 11010 + 55197 11010 10800 10505 10749 + 55198 10505 10933 11047 10841 + 55199 11047 10800 10505 11010 + 55200 10841 11047 10505 10904 + 55201 10505 10904 11047 11010 + 55202 10933 11047 10800 10505 + 55203 10506 10759 10842 10579 + 55204 10579 10506 10658 10842 + 55205 10842 10759 10506 10906 + 55206 10506 10658 10906 10721 + 55207 10588 10657 10906 10506 + 55208 10506 10906 10588 10721 + 55209 10506 10657 10906 10759 + 55210 10506 10906 10658 10842 + 55211 10750 10644 10582 10507 + 55212 10711 10574 10750 10507 + 55213 10507 10612 10710 10801 + 55214 10612 10711 10868 10507 + 55215 10868 10801 10612 10507 + 55216 10711 10868 10507 10750 + 55217 10507 10710 10897 10801 + 55218 10582 10897 10507 10644 + 55219 10710 10897 10572 10507 + 55220 10572 10507 10897 10644 + 55221 10507 10750 11009 10582 + 55222 11009 10750 10507 10868 + 55223 10582 11065 10507 10897 + 55224 10507 11009 11065 10582 + 55225 10801 10897 10507 11073 + 55226 11065 11073 11009 10507 + 55227 11073 10897 10507 11065 + 55228 10868 11073 10801 10507 + 55229 11009 10507 11073 10868 + 55230 10832 10648 10567 10508 + 55231 10832 10567 10712 10508 + 55232 10907 10508 10648 10832 + 55233 10648 10907 10583 10508 + 55234 10712 10508 10649 10968 + 55235 10968 10583 10907 10508 + 55236 10649 10508 10583 10968 + 55237 10712 10968 11015 10508 + 55238 10508 10832 10907 11015 + 55239 10508 10712 10832 11015 + 55240 10907 11015 10968 10508 + 55241 10584 10509 10651 10752 + 55242 10651 10509 10713 10752 + 55243 10650 10509 10713 10908 + 55244 10650 10585 10509 10908 + 55245 10651 10908 10713 10509 + 55246 10509 10970 10585 10714 + 55247 10509 10970 10908 10585 + 55248 10509 10970 10714 10584 + 55249 10509 10651 10970 10584 + 55250 10651 10970 10908 10509 + 55251 10752 10843 10510 10651 + 55252 10510 10899 10573 10652 + 55253 10752 10899 10573 10510 + 55254 10752 10899 10510 10843 + 55255 10899 10971 10652 10510 + 55256 10510 10971 10652 10780 + 55257 10971 10753 10780 10510 + 55258 10971 10510 10899 10843 + 55259 10971 10651 10753 10510 + 55260 10510 10971 10651 10843 + 55261 10714 10754 10511 10570 + 55262 10909 10754 10511 10714 + 55263 10970 10511 10585 10714 + 55264 10585 10970 10848 10511 + 55265 10970 10714 10909 10511 + 55266 10848 10970 10909 10511 + 55267 10511 10972 10585 10715 + 55268 10511 10585 10972 10848 + 55269 10776 10786 10512 10677 + 55270 10849 10776 10512 10717 + 55271 10655 10512 10717 10849 + 55272 10946 10849 10776 10512 + 55273 10512 10655 10755 10946 + 55274 10946 10849 10512 10655 + 55275 10946 10776 10786 10512 + 55276 10755 10512 10946 10786 + 55277 10513 10883 10787 10694 + 55278 10892 10568 10833 10513 + 55279 10568 10892 10639 10513 + 55280 10896 10833 10568 10513 + 55281 10655 10513 10896 10568 + 55282 10655 10946 10896 10513 + 55283 10694 10883 10946 10513 + 55284 10655 10755 10946 10513 + 55285 10513 10946 10694 10755 + 55286 10639 10892 10955 10513 + 55287 10639 10955 10787 10513 + 55288 10513 10787 10883 10955 + 55289 11020 10892 10833 10513 + 55290 10896 11020 10833 10513 + 55291 10513 11020 10883 10946 + 55292 10513 10896 11020 10946 + 55293 10955 10513 11020 10883 + 55294 10513 10892 10955 11020 + 55295 10514 10586 10654 10737 + 55296 10786 10555 10654 10514 + 55297 10514 10654 10786 10737 + 55298 10818 10716 10626 10514 + 55299 10514 10626 10818 10555 + 55300 10818 10555 10786 10514 + 55301 10850 10737 10586 10514 + 55302 10716 10514 10850 10656 + 55303 10850 10514 10586 10656 + 55304 10716 10911 10850 10514 + 55305 10716 10818 10911 10514 + 55306 10737 10786 10514 10912 + 55307 10737 10514 10850 10912 + 55308 11021 10850 10514 10912 + 55309 11021 10514 10786 10912 + 55310 10786 10818 10514 11021 + 55311 10514 10818 10911 11021 + 55312 10514 10911 10850 11021 + 55313 10515 10720 10757 10641 + 55314 10720 10846 10650 10515 + 55315 10758 10650 10846 10515 + 55316 10851 10757 10587 10515 + 55317 10851 10515 10587 10914 + 55318 10914 10587 10719 10515 + 55319 10720 10515 10757 10915 + 55320 10851 10757 10515 10915 + 55321 10515 10720 10846 11023 + 55322 10515 10720 11023 11052 + 55323 10720 10915 11052 10515 + 55324 10515 11023 10851 11052 + 55325 10851 11052 10915 10515 + 55326 10515 10846 11053 11023 + 55327 10851 11053 10515 10914 + 55328 10719 11053 10515 10758 + 55329 10851 11053 11023 10515 + 55330 10914 10719 11053 10515 + 55331 10515 11053 10846 10758 + 55332 10517 10590 10760 10659 + 55333 10517 10761 10590 10659 + 55334 10517 10852 10589 10761 + 55335 10852 10589 10721 10517 + 55336 10761 10977 10517 10852 + 55337 10761 10517 10977 10659 + 55338 10659 10760 10517 10977 + 55339 10760 10658 10517 10977 + 55340 10721 10517 10658 11024 + 55341 10517 10977 11024 10852 + 55342 10517 11024 10721 10852 + 55343 10658 10517 10977 11024 + 55344 10761 10518 10661 10590 + 55345 10590 10761 10518 10659 + 55346 10659 10761 10518 10853 + 55347 10518 10916 10600 10775 + 55348 10659 10723 10916 10518 + 55349 10659 10518 10916 10853 + 55350 10916 10723 10775 10518 + 55351 10518 10917 10761 10661 + 55352 10518 10853 10761 10917 + 55353 10518 10735 10917 10661 + 55354 10916 10600 10978 10518 + 55355 10735 10978 10600 10518 + 55356 10978 10916 10518 10853 + 55357 10735 10978 10518 10917 + 55358 10518 10978 10853 10917 + 55359 10774 10519 10724 10661 + 55360 10731 10597 10520 10667 + 55361 10596 10521 10856 10666 + 55362 10728 10856 10521 10666 + 55363 10728 10856 10595 10521 + 55364 10669 10522 10576 10748 + 55365 10707 10748 10576 10522 + 55366 10566 10728 10830 10522 + 55367 10566 10707 10522 10830 + 55368 10522 10748 10901 10707 + 55369 10923 10769 10669 10522 + 55370 10522 10901 10964 10707 + 55371 10707 10522 10830 10964 + 55372 10522 10830 10964 10923 + 55373 10983 10728 10769 10522 + 55374 10923 10769 10522 10983 + 55375 10923 10522 10830 10983 + 55376 10983 10830 10728 10522 + 55377 11012 10669 10522 10923 + 55378 10669 11012 10522 10748 + 55379 11012 10522 10748 10901 + 55380 10522 10964 11012 10923 + 55381 10964 10522 11012 10901 + 55382 10576 10669 10784 10523 + 55383 10576 10784 10667 10523 + 55384 10667 10784 10788 10523 + 55385 10788 10523 10784 10844 + 55386 10523 10788 10667 10857 + 55387 10667 10857 10597 10523 + 55388 10858 10523 10769 10597 + 55389 10858 10597 10924 10523 + 55390 10523 10857 10597 10924 + 55391 10523 10984 10788 10857 + 55392 10523 10984 10857 10924 + 55393 10788 10984 10523 10844 + 55394 11030 10858 10924 10523 + 55395 10523 10769 11030 10858 + 55396 10669 10523 10769 11030 + 55397 10844 10784 11031 10523 + 55398 10844 11031 10984 10523 + 55399 10784 10523 10669 11031 + 55400 11030 10924 11058 10523 + 55401 11031 11058 10523 10669 + 55402 11058 10984 11031 10523 + 55403 10984 11058 10924 10523 + 55404 10523 11058 11030 10669 + 55405 10770 10670 10802 10524 + 55406 10524 10802 10770 10613 + 55407 10613 10934 10524 10802 + 55408 10524 10729 10934 10613 + 55409 10894 10565 10525 10671 + 55410 10565 10673 10894 10525 + 55411 10565 10526 10894 10773 + 55412 10671 10894 10565 10526 + 55413 10603 10860 10674 10527 + 55414 10674 10602 10527 10860 + 55415 10860 10527 11034 10602 + 55416 10733 10527 10602 11034 + 55417 10600 11034 10527 10733 + 55418 10527 10600 10735 11034 + 55419 10735 10527 11060 10603 + 55420 10735 10527 11034 11060 + 55421 11034 11060 10527 10860 + 55422 10860 11060 10527 10603 + 55423 10791 10601 10528 10733 + 55424 10736 10528 10602 10860 + 55425 10528 10860 11034 10602 + 55426 10733 11034 10602 10528 + 55427 10733 10791 11034 10528 + 55428 10674 10529 10602 10736 + 55429 10762 10679 10606 10533 + 55430 10614 10790 10533 10682 + 55431 10533 10790 10676 10682 + 55432 10533 10614 10725 10790 + 55433 10790 10676 10862 10533 + 55434 10533 10676 10862 10789 + 55435 10679 10930 10789 10533 + 55436 10862 10533 10789 10930 + 55437 10533 10762 10679 10930 + 55438 10930 10862 10533 10988 + 55439 10988 10790 10862 10533 + 55440 10930 10533 10762 10988 + 55441 10988 10725 10790 10533 + 55442 10762 10533 10725 10988 + 55443 10535 10795 10770 10730 + 55444 10730 10535 10795 10608 + 55445 10535 10681 10770 10795 + 55446 10729 10797 10613 10536 + 55447 10610 10797 10864 10536 + 55448 10662 10864 10729 10536 + 55449 10797 10729 10864 10536 + 55450 10610 10536 10864 10794 + 55451 10662 10864 10536 10794 + 55452 10680 10537 10765 10798 + 55453 10612 10799 10711 10537 + 55454 10680 10863 10609 10537 + 55455 10863 10537 10680 10798 + 55456 10932 10863 10537 10612 + 55457 10799 10765 10537 10932 + 55458 10537 10798 10863 10932 + 55459 10537 10765 10798 10932 + 55460 10612 10932 10799 10537 + 55461 10871 10616 10683 10539 + 55462 10871 10616 10539 10803 + 55463 10803 10539 10871 10618 + 55464 10871 10683 10804 10539 + 55465 10871 10804 10684 10539 + 55466 10539 10684 10871 10618 + 55467 10805 10617 10685 10541 + 55468 10541 10617 10686 10805 + 55469 10541 10686 10739 10805 + 55470 10687 10542 10870 10806 + 55471 10743 10543 10620 10699 + 55472 10543 10743 10619 10699 + 55473 10689 10620 10743 10543 + 55474 10616 10872 10544 10687 + 55475 10688 10872 10544 10621 + 55476 10872 10544 10622 10688 + 55477 10687 10544 10622 10872 + 55478 10778 10744 10545 10632 + 55479 10778 10697 10545 10744 + 55480 10546 10808 10621 10691 + 55481 10637 10546 10691 10808 + 55482 10547 10743 10689 10938 + 55483 10743 10938 10547 10807 + 55484 10938 10689 10547 10739 + 55485 10938 10547 10993 10739 + 55486 10993 10547 10938 10807 + 55487 10739 10547 10993 11038 + 55488 10622 10547 10739 11038 + 55489 11038 10622 10547 10740 + 55490 11038 10740 10547 10807 + 55491 11038 10807 10547 10993 + 55492 10690 10879 10942 10548 + 55493 10548 10812 10995 10637 + 55494 10879 10548 10812 10995 + 55495 10995 10879 10548 10942 + 55496 10550 10624 10815 10692 + 55497 10619 10873 10743 10550 + 55498 10550 10815 10873 10692 + 55499 10742 10873 10550 10815 + 55500 10692 10873 10550 10743 + 55501 10619 10550 10742 10873 + 55502 10623 10814 10690 10551 + 55503 10551 10625 10693 10944 + 55504 10624 10944 10551 10693 + 55505 10814 10624 10944 10551 + 55506 10779 10552 10741 10695 + 55507 10552 10787 10779 10741 + 55508 10639 10787 10779 10552 + 55509 10716 10771 10553 10656 + 55510 10553 10716 10785 10771 + 55511 10626 10785 10553 10716 + 55512 10554 10741 10627 10817 + 55513 10881 10627 10554 10693 + 55514 10817 10627 10554 10881 + 55515 10554 10626 10817 10881 + 55516 10755 10818 10555 10786 + 55517 10555 10755 10694 10818 + 55518 10818 10555 10626 10694 + 55519 10785 10625 10556 10882 + 55520 10882 10628 10556 10732 + 55521 10819 10882 10785 10556 + 55522 10882 10732 10556 10819 + 55523 10696 10783 10629 10557 + 55524 10820 10696 10631 10557 + 55525 10820 10783 10696 10557 + 55526 10821 10558 10629 10768 + 55527 10696 10559 10821 10631 + 55528 10559 10949 10821 10631 + 55529 10560 10620 10699 10876 + 55530 10810 10620 10560 10876 + 55531 10560 10699 10745 10876 + 55532 10810 10876 10560 10951 + 55533 10777 10561 10745 10824 + 55534 10824 10634 10561 11001 + 55535 10824 10561 10745 11001 + 55536 10561 10777 11002 10824 + 55537 10777 11002 10874 10561 + 55538 11002 10633 10874 10561 + 55539 10634 10778 10822 10562 + 55540 10822 10778 10697 10562 + 55541 10635 10562 10700 10826 + 55542 10887 10634 10822 10562 + 55543 10822 10887 10562 10949 + 55544 10826 10949 10635 10562 + 55545 10949 10562 10826 10887 + 55546 10953 10887 10826 10562 + 55547 10953 10826 10700 10562 + 55548 10828 10703 10638 10563 + 55549 10563 10828 10704 10638 + 55550 10630 10563 10703 10884 + 55551 10956 10563 10884 10703 + 55552 10956 10563 10703 10828 + 55553 10890 10828 10563 10956 + 55554 10564 10813 10732 10628 + 55555 10702 10894 10773 10565 + 55556 10894 10702 10829 10565 + 55557 10894 10829 10673 10565 + 55558 10830 10666 10728 10566 + 55559 10830 10666 10566 10959 + 55560 10566 10640 10707 11008 + 55561 10566 10959 11008 10830 + 55562 10566 10640 11008 10959 + 55563 10566 10707 10830 11008 + 55564 10832 10648 10781 10567 + 55565 10895 10746 10567 10781 + 55566 10895 10567 10832 10781 + 55567 10746 10567 10653 10895 + 55568 10832 10712 10567 10960 + 55569 10895 10832 10567 10960 + 55570 10653 10567 10712 10960 + 55571 10895 10567 10653 10960 + 55572 10639 10892 10568 10704 + 55573 10568 10756 10833 10896 + 55574 10568 10655 10756 10896 + 55575 10756 10833 10958 10568 + 55576 10833 10892 10958 10568 + 55577 10892 10958 10568 10704 + 55578 10641 10718 10757 10569 + 55579 10571 10836 10657 10759 + 55580 10836 10571 10754 10643 + 55581 10571 10643 10836 10759 + 55582 10710 10572 10897 10796 + 55583 10652 10573 10705 10898 + 55584 10837 10706 10573 10898 + 55585 10752 10899 10647 10573 + 55586 10647 10899 10837 10573 + 55587 10652 10961 10899 10573 + 55588 10652 10898 10961 10573 + 55589 10837 10899 10961 10573 + 55590 10961 10573 10898 10837 + 55591 10898 10645 10706 10574 + 55592 10711 10750 10574 10962 + 55593 10898 10962 10645 10574 + 55594 10898 10750 10962 10574 + 55595 10645 10711 10574 10962 + 55596 10831 10747 10703 10575 + 55597 10884 10575 10630 10821 + 55598 10831 10703 10884 10575 + 55599 10884 10703 10630 10575 + 55600 10821 10884 10575 10959 + 55601 10959 10640 11008 10575 + 55602 10575 10640 11008 10747 + 55603 11008 10884 10959 10575 + 55604 10884 11008 10831 10575 + 55605 10747 11008 10575 10831 + 55606 10748 10669 10784 10576 + 55607 10839 10747 10577 10712 + 55608 10577 10796 10646 10901 + 55609 10839 10577 10747 10901 + 55610 10577 10903 10712 10751 + 55611 10712 10903 10577 10839 + 55612 10839 10577 10901 11046 + 55613 10903 10839 11046 10577 + 55614 10903 11046 10751 10577 + 55615 10901 10577 10796 11046 + 55616 11046 10751 10577 10796 + 55617 10578 10659 10723 10841 + 55618 10760 10904 10659 10578 + 55619 10904 10841 10659 10578 + 55620 10760 10722 10966 10578 + 55621 10760 10966 10904 10578 + 55622 10722 11010 10966 10578 + 55623 10904 10966 11010 10578 + 55624 10647 10709 10579 10759 + 55625 10579 10658 10722 10842 + 55626 10579 10759 10842 10647 + 55627 10579 10842 10722 10647 + 55628 10800 10749 10645 10580 + 55629 10608 10581 10730 10784 + 55630 10608 10710 10581 10784 + 55631 10730 10795 10581 10608 + 55632 10710 10612 10581 10801 + 55633 10784 10730 10844 10581 + 55634 10784 10844 10902 10581 + 55635 10581 10902 10784 10710 + 55636 10581 10801 10902 10710 + 55637 10967 10581 10902 10844 + 55638 10795 10730 10581 10967 + 55639 10967 10730 10581 10844 + 55640 10902 10801 10581 10967 + 55641 10990 10801 10967 10581 + 55642 10581 10967 10990 10795 + 55643 10990 10581 10863 10612 + 55644 10863 10795 10581 10990 + 55645 10581 10801 10612 10990 + 55646 10750 10705 10582 10644 + 55647 10838 10582 10705 10649 + 55648 10751 10649 10582 10838 + 55649 10582 10705 11009 10838 + 55650 10582 10750 11009 10705 + 55651 11065 11009 10838 10582 + 55652 10582 10963 11065 10897 + 55653 10963 10582 11065 10751 + 55654 10838 11065 10582 10751 + 55655 10780 10583 10753 10845 + 55656 10713 10650 10846 10583 + 55657 10583 10758 10650 10846 + 55658 10907 10758 10648 10583 + 55659 10583 10907 10758 10846 + 55660 10583 10907 10845 10968 + 55661 10780 10968 10583 10845 + 55662 10968 10780 10583 10649 + 55663 10969 10713 10846 10583 + 55664 10969 10907 10583 10846 + 55665 10583 10845 10969 10753 + 55666 10969 10583 10907 10845 + 55667 10969 10753 10713 10583 + 55668 10647 10752 10709 10584 + 55669 10647 10584 10709 10759 + 55670 10643 10709 10584 10759 + 55671 10584 10643 10836 10714 + 55672 10584 10643 10759 10836 + 55673 10842 10647 10759 10584 + 55674 10584 10843 10647 10752 + 55675 10752 10584 10843 10651 + 55676 10905 10647 10584 10843 + 55677 10584 10647 10905 10842 + 55678 10584 10836 10909 10714 + 55679 10905 10843 10584 10970 + 55680 10909 10584 10714 10970 + 55681 10584 10651 10970 10843 + 55682 10584 11017 10909 10836 + 55683 11017 10842 10584 10905 + 55684 10842 11017 10584 10759 + 55685 10909 10584 10970 11017 + 55686 10970 11017 10584 10905 + 55687 10584 10836 10759 11017 + 55688 10585 10715 10834 10641 + 55689 10585 10834 10720 10641 + 55690 10650 10720 10585 10908 + 55691 10848 10908 10970 10585 + 55692 10972 10715 10834 10585 + 55693 10585 10720 10834 10972 + 55694 10908 10720 10585 10972 + 55695 10908 10972 10585 10848 + 55696 10587 10849 10756 10717 + 55697 10849 10587 10678 10717 + 55698 10757 10678 10851 10587 + 55699 10849 10678 10587 10914 + 55700 10914 10587 10851 10678 + 55701 10914 10719 10587 10756 + 55702 10914 10587 10849 10756 + 55703 10852 10724 10589 10761 + 55704 10661 10724 10761 10590 + 55705 10726 10591 10866 10789 + 55706 10866 10591 10726 10763 + 55707 10591 10930 10789 10679 + 55708 10866 10610 10930 10591 + 55709 10866 10930 10789 10591 + 55710 10930 10610 10679 10591 + 55711 10611 10765 10782 10592 + 55712 10592 10792 10919 10767 + 55713 10592 10919 10782 10766 + 55714 10919 10767 10664 10592 + 55715 10592 10664 10919 10766 + 55716 10592 10919 10792 10980 + 55717 10980 10663 10592 10765 + 55718 10663 10792 10980 10592 + 55719 10592 10782 10919 10980 + 55720 10980 10592 10782 10765 + 55721 10664 10767 10793 10593 + 55722 10675 10594 10920 10727 + 55723 10920 10675 10734 10594 + 55724 10920 10727 10594 10665 + 55725 10594 10734 10920 10665 + 55726 10921 10668 10728 10595 + 55727 10595 10921 10856 10728 + 55728 10783 10596 10768 10629 + 55729 10982 10768 10596 10922 + 55730 10596 10783 10768 10982 + 55731 10768 10596 10922 11029 + 55732 11029 10922 10856 10596 + 55733 10596 10856 11029 10666 + 55734 10768 10596 11029 10666 + 55735 10731 10857 10597 10667 + 55736 10858 10769 10668 10597 + 55737 10925 10770 10788 10598 + 55738 10925 10670 10770 10598 + 55739 10731 10598 10925 10788 + 55740 10791 10665 10733 10600 + 55741 10775 10859 10916 10600 + 55742 10791 10920 10665 10600 + 55743 10775 10600 10920 10859 + 55744 10920 10665 10600 10775 + 55745 10978 10916 10859 10600 + 55746 10600 10791 11034 10733 + 55747 10600 10791 10920 11034 + 55748 10859 10600 10920 11034 + 55749 10978 10859 11034 10600 + 55750 10978 11034 10735 10600 + 55751 10674 10736 10602 10860 + 55752 10854 10603 10774 10661 + 55753 10854 10735 10603 10661 + 55754 10860 10927 11060 10603 + 55755 10854 11060 10927 10603 + 55756 10854 10735 11060 10603 + 55757 10835 10605 10928 10678 + 55758 10677 10928 10605 10776 + 55759 10678 10605 10928 10776 + 55760 10763 10609 10680 10863 + 55761 10863 10681 10931 10609 + 55762 10763 10863 10931 10609 + 55763 10930 10610 10866 10797 + 55764 10610 10679 10762 10930 + 55765 10610 11036 10797 10930 + 55766 10610 10762 10794 11036 + 55767 10762 11036 10610 10930 + 55768 10610 10797 11036 10864 + 55769 10610 11036 10794 10864 + 55770 10799 10711 10868 10612 + 55771 10868 10932 10799 10612 + 55772 10801 10868 10612 10932 + 55773 10932 10612 10801 10990 + 55774 10990 10863 10932 10612 + 55775 10770 10802 10865 10613 + 55776 10681 10770 10865 10613 + 55777 10613 10865 10934 10802 + 55778 10613 10865 10797 10934 + 55779 10613 10797 10729 10934 + 55780 10614 10869 10790 10682 + 55781 10616 10803 10872 10687 + 55782 10616 10872 10803 10935 + 55783 10871 10935 10772 10616 + 55784 10616 10803 10871 10935 + 55785 10871 10772 10936 10616 + 55786 10683 10871 10936 10616 + 55787 10616 10936 10683 10772 + 55788 10803 10870 10618 10937 + 55789 10684 10618 10937 10871 + 55790 10803 10618 10871 10937 + 55791 10619 10745 10699 10777 + 55792 10742 10777 10619 10873 + 55793 10619 10873 10699 10743 + 55794 10619 10699 10873 10777 + 55795 10620 10810 10738 10875 + 55796 10743 10620 10938 10699 + 55797 10810 10938 10620 10876 + 55798 10810 10938 10875 10620 + 55799 10620 10938 10699 10876 + 55800 10743 10620 10689 10938 + 55801 10688 10939 10872 10621 + 55802 10808 10691 10939 10621 + 55803 10939 10688 10808 10621 + 55804 10621 10939 10872 10691 + 55805 10811 10687 10622 10872 + 55806 10872 10622 10811 10688 + 55807 10688 10811 10878 10622 + 55808 10740 10688 10878 10622 + 55809 10687 10622 10940 10811 + 55810 10994 10878 10811 10622 + 55811 10940 10811 10622 10994 + 55812 10740 10878 11038 10622 + 55813 11038 10940 10622 10994 + 55814 10622 11038 10739 10940 + 55815 10994 11038 10878 10622 + 55816 10942 10692 10623 10808 + 55817 10690 10942 10814 10623 + 55818 10624 10880 10943 10692 + 55819 10943 10815 10624 10692 + 55820 10944 10814 10880 10624 + 55821 10943 10624 10996 10880 + 55822 10624 10996 10944 10693 + 55823 10944 10880 10996 10624 + 55824 10624 10943 10996 10815 + 55825 10882 10785 10625 10816 + 55826 10944 10816 10625 10693 + 55827 10625 10882 10816 10944 + 55828 10694 10626 10818 10998 + 55829 10694 10817 10626 10998 + 55830 10626 10818 10998 10716 + 55831 10998 10817 10626 10881 + 55832 10626 10998 11041 10716 + 55833 10626 11041 10785 10716 + 55834 10626 11041 10998 10881 + 55835 10816 11041 10785 10626 + 55836 10626 10816 11041 10881 + 55837 10627 10741 10695 10809 + 55838 10817 10881 10945 10627 + 55839 10817 10741 10627 10945 + 55840 10627 10693 10881 10945 + 55841 10809 10945 10627 10741 + 55842 10809 10695 10627 11042 + 55843 10627 10809 11042 10945 + 55844 10882 10732 10813 10628 + 55845 10628 10813 10947 10879 + 55846 10882 10813 10947 10628 + 55847 10783 10696 10629 10768 + 55848 10768 10629 10821 10696 + 55849 10822 10697 10744 10631 + 55850 10696 10820 10631 10885 + 55851 10821 10885 10696 10631 + 55852 10821 10949 10885 10631 + 55853 10820 10885 10950 10631 + 55854 10822 10744 10950 10631 + 55855 10885 10631 11000 10950 + 55856 10950 11000 10822 10631 + 55857 10949 10885 10631 11000 + 55858 10949 10822 11000 10631 + 55859 10823 10632 10886 10778 + 55860 10778 10886 10744 10632 + 55861 10779 10874 10825 10633 + 55862 10633 10700 11002 10825 + 55863 11002 10633 10825 10874 + 55864 10952 10822 10634 10778 + 55865 10634 10822 10952 10887 + 55866 10634 11001 10888 10952 + 55867 10778 11001 10634 10952 + 55868 10634 11001 10824 10888 + 55869 10634 10952 10888 11003 + 55870 11003 10888 10634 10824 + 55871 10634 10887 10952 11003 + 55872 10890 10826 10635 10700 + 55873 10637 10691 10939 10808 + 55874 10808 10995 10939 10637 + 55875 10812 10637 10957 11045 + 55876 10812 10637 11045 10995 + 55877 10704 10828 10746 10638 + 55878 10746 10703 10638 10828 + 55879 10779 10787 10639 10955 + 55880 10825 10892 10955 10639 + 55881 10825 10955 10779 10639 + 55882 10747 11008 10707 10640 + 55883 10757 10720 10834 10641 + 55884 10757 10834 10718 10641 + 55885 10714 10754 10643 10836 + 55886 10800 10645 10749 10898 + 55887 10749 10898 10645 10706 + 55888 10898 10800 10645 10962 + 55889 10962 10711 10799 10645 + 55890 10962 10799 10867 10645 + 55891 10962 10867 10800 10645 + 55892 10901 10796 10646 10748 + 55893 10748 10901 10707 10646 + 55894 10752 10647 10899 10843 + 55895 10647 10905 11014 10843 + 55896 10647 10899 11014 10837 + 55897 11014 10722 10647 10837 + 55898 10843 10647 10899 11014 + 55899 10842 10722 10647 11048 + 55900 11048 10647 11014 10722 + 55901 11048 10647 10905 11014 + 55902 10842 10647 10905 11048 + 55903 10719 10832 10648 10781 + 55904 10758 10648 10719 10907 + 55905 10719 10907 10648 10832 + 55906 10838 10705 10780 10649 + 55907 10968 10649 10712 10751 + 55908 10649 10838 10751 10968 + 55909 10968 10838 10780 10649 + 55910 10720 10908 10650 10846 + 55911 10908 10713 10650 10846 + 55912 10908 10651 10713 10753 + 55913 11018 10651 10970 10908 + 55914 10651 11018 10970 10843 + 55915 10651 10843 10971 11018 + 55916 11018 11050 10651 10908 + 55917 10971 11050 10651 11018 + 55918 10651 10753 11050 10971 + 55919 11050 10651 10908 10753 + 55920 10652 10847 10900 10780 + 55921 10705 10780 10652 10900 + 55922 10900 10847 10652 10961 + 55923 10652 10899 10961 10847 + 55924 10847 10652 10971 10780 + 55925 10652 10971 10899 10847 + 55926 10652 10961 11009 10900 + 55927 10652 10705 11009 10898 + 55928 10652 11009 10705 10900 + 55929 10898 11009 10652 10961 + 55930 10746 10828 10653 10703 + 55931 10703 10747 10831 10653 + 55932 10839 10653 10747 10712 + 55933 10746 10895 10653 10828 + 55934 10956 10703 10653 10828 + 55935 10831 10703 10653 10956 + 55936 10956 10831 10910 10653 + 55937 10653 10960 10712 10839 + 55938 10831 11011 10910 10653 + 55939 11011 10747 10839 10653 + 55940 10653 11011 10910 10960 + 55941 10960 11011 10839 10653 + 55942 10831 10747 11011 10653 + 55943 10956 10910 11051 10653 + 55944 10828 11051 10895 10653 + 55945 10956 10653 11051 10828 + 55946 11051 10895 10653 10960 + 55947 10653 10910 11051 10960 + 55948 10849 10655 10756 10717 + 55949 10896 10655 10756 10849 + 55950 10946 10896 10849 10655 + 55951 10656 10913 10716 10771 + 55952 10913 10973 10656 10716 + 55953 10850 10656 10973 10716 + 55954 10836 10976 10657 10759 + 55955 10976 10906 10657 10759 + 55956 10721 10658 10906 11024 + 55957 10842 10658 10722 11025 + 55958 10722 11025 10658 10760 + 55959 10658 11025 10977 10760 + 55960 10658 11069 11024 10977 + 55961 10906 11069 11024 10658 + 55962 10658 10977 11025 11069 + 55963 10658 11025 10842 11069 + 55964 10906 10842 11069 10658 + 55965 10723 10841 10659 10916 + 55966 10761 10977 10853 10659 + 55967 10977 10904 10659 10760 + 55968 10841 10659 10916 11026 + 55969 10853 10659 10977 11026 + 55970 10904 10659 10841 11026 + 55971 10904 10977 10659 11026 + 55972 10659 10916 11026 10853 + 55973 10933 10727 10660 10766 + 55974 10660 11027 10775 10727 + 55975 10841 10660 10933 11027 + 55976 11027 10660 10933 10727 + 55977 10660 10723 10775 11027 + 55978 10660 10841 10723 11027 + 55979 10774 10661 10724 10854 + 55980 10661 10724 10854 10917 + 55981 10661 10854 10735 10917 + 55982 10724 10761 10917 10661 + 55983 10798 10763 10663 10680 + 55984 10680 10798 10765 10663 + 55985 10765 10663 10798 10980 + 55986 11055 10663 10980 10798 + 55987 10980 11055 10792 10663 + 55988 10763 10798 10663 11055 + 55989 11055 10792 10663 10763 + 55990 10767 10793 10919 10664 + 55991 10766 10919 10793 10664 + 55992 10791 10920 10734 10665 + 55993 10775 10920 10665 10727 + 55994 10728 11029 10856 10666 + 55995 10728 10830 11029 10666 + 55996 10959 10666 11029 10830 + 55997 10768 10666 11029 10959 + 55998 10731 10788 10857 10667 + 55999 10921 10858 10769 10668 + 56000 10668 10921 10728 10769 + 56001 10669 10902 10840 10748 + 56002 10902 10748 10669 10784 + 56003 11012 10840 10669 10923 + 56004 10748 10840 10669 11012 + 56005 10923 10769 11030 10669 + 56006 10923 11030 10840 10669 + 56007 10902 11031 10784 10669 + 56008 10902 10840 11031 10669 + 56009 11031 10840 11058 10669 + 56010 10840 11030 11058 10669 + 56011 10770 10670 10985 10802 + 56012 10670 10770 10985 10925 + 56013 10981 10793 10675 10727 + 56014 10675 10920 10981 10727 + 56015 10776 10861 10912 10677 + 56016 10786 10912 10677 10776 + 56017 10737 10912 10677 10786 + 56018 10677 10861 10928 10776 + 56019 10849 10678 10776 10717 + 56020 10757 10915 10678 10835 + 56021 10678 10915 10757 10851 + 56022 10776 10928 10678 10987 + 56023 11035 10776 10678 10987 + 56024 10914 10851 11035 10678 + 56025 10915 10851 10678 11062 + 56026 10928 11062 10835 10678 + 56027 10678 10851 11035 11062 + 56028 10678 11062 11035 10987 + 56029 11062 10835 10678 10915 + 56030 10678 10928 11062 10987 + 56031 11072 10776 10678 11035 + 56032 10849 10776 10678 11072 + 56033 10914 10849 10678 11072 + 56034 10914 10678 11035 11072 + 56035 10763 10680 10798 10863 + 56036 10863 10931 10681 10795 + 56037 10931 11037 10865 10681 + 56038 10770 10865 11037 10681 + 56039 11037 10681 10931 10795 + 56040 11037 10681 10795 10770 + 56041 10683 10804 10936 10871 + 56042 10991 10804 10684 10871 + 56043 10871 10991 10937 10684 + 56044 10805 10877 10686 10739 + 56045 10811 10940 10687 10992 + 56046 10687 10811 10992 10872 + 56047 10687 10992 10803 10872 + 56048 10687 10870 10803 10992 + 56049 10687 10870 10992 10806 + 56050 10992 10940 10687 10806 + 56051 10688 10740 10878 10808 + 56052 10939 10878 10688 10811 + 56053 10811 10688 10939 10872 + 56054 10688 10939 10808 10878 + 56055 10743 10807 10692 10873 + 56056 10692 10878 10740 10808 + 56057 10807 10740 10692 10878 + 56058 10943 10873 10815 10692 + 56059 10873 10943 10997 10692 + 56060 10997 10692 10807 10873 + 56061 10807 10692 11040 10878 + 56062 10997 10692 11040 10807 + 56063 10692 10943 10997 11040 + 56064 10878 11063 10692 11040 + 56065 11063 10942 10692 10880 + 56066 10943 10692 11063 11040 + 56067 10878 10808 10692 11063 + 56068 11063 10692 10943 10880 + 56069 10942 11063 10692 10808 + 56070 10881 10693 10816 10945 + 56071 10944 10996 10816 10693 + 56072 10693 10996 10816 10945 + 56073 10883 10694 10817 10741 + 56074 10883 10787 10694 10741 + 56075 10755 10694 10818 10946 + 56076 10883 10818 10694 10946 + 56077 10817 10694 10883 10998 + 56078 10883 10694 10818 10998 + 56079 10809 10741 10695 10779 + 56080 10809 10742 10695 11042 + 56081 10783 10696 10768 10820 + 56082 10696 10768 10885 10821 + 56083 10696 10768 10820 10885 + 56084 10744 10778 10697 10822 + 56085 11043 10699 10743 10938 + 56086 11043 10876 10699 10938 + 56087 11043 10873 10743 10699 + 56088 10777 11043 10745 10699 + 56089 10745 10876 10699 11043 + 56090 10777 10873 11043 10699 + 56091 10700 10891 10825 10954 + 56092 11002 10825 10700 10891 + 56093 10700 10827 11002 10891 + 56094 11004 10954 10700 10890 + 56095 10700 10827 11004 10953 + 56096 11004 10827 10700 10891 + 56097 10700 10826 10953 11004 + 56098 10826 11004 10700 10890 + 56099 10891 10954 10700 11004 + 56100 10701 11007 10941 10812 + 56101 10701 11007 10812 10893 + 56102 10956 10884 10831 10703 + 56103 10828 10704 10746 10958 + 56104 10704 10958 11005 10892 + 56105 10704 11005 10958 10828 + 56106 10705 10838 10780 10900 + 56107 10838 10705 11009 10900 + 56108 11009 10705 10750 10898 + 56109 10706 11010 10749 10898 + 56110 10837 11010 10706 10898 + 56111 10707 10747 10901 10964 + 56112 10707 11008 10747 10964 + 56113 10707 10830 11008 10964 + 56114 10708 10933 10766 10782 + 56115 10710 10748 10902 10784 + 56116 10897 11013 10710 10796 + 56117 11013 10748 10902 10710 + 56118 10710 10796 11013 10748 + 56119 11013 11049 10897 10710 + 56120 11013 10902 11049 10710 + 56121 10897 11049 10801 10710 + 56122 10902 10801 11049 10710 + 56123 10962 10711 10750 10868 + 56124 10962 10799 10711 10868 + 56125 10968 10712 10903 10751 + 56126 10832 11015 10712 10960 + 56127 10968 11066 10903 10712 + 56128 11015 10712 11066 10968 + 56129 10712 11066 10903 10839 + 56130 10960 10712 11066 11015 + 56131 10712 11066 10839 10960 + 56132 10908 10969 10753 10713 + 56133 10908 10846 10969 10713 + 56134 10714 10909 10754 10836 + 56135 10785 10716 10913 10771 + 56136 10850 10973 10911 10716 + 56137 10998 10716 10818 10911 + 56138 11041 10785 10716 10913 + 56139 11041 10913 10716 10973 + 56140 10716 10973 10911 11041 + 56141 10998 11041 10716 10911 + 56142 10718 10915 10834 10757 + 56143 10757 10718 10915 10835 + 56144 10832 10975 10719 10907 + 56145 11022 10719 10975 10914 + 56146 10781 11022 10719 10832 + 56147 11022 10756 10719 10914 + 56148 10756 10719 10781 11022 + 56149 10719 11022 10975 10832 + 56150 10758 10907 10719 11053 + 56151 10719 10914 11053 10975 + 56152 10719 11053 10907 10975 + 56153 10915 10720 10834 10757 + 56154 10720 11023 10908 10846 + 56155 10972 10720 10834 11052 + 56156 10720 10915 10834 11052 + 56157 10720 10972 10908 11068 + 56158 11023 11068 11052 10720 + 56159 10720 10908 11023 11068 + 56160 10972 11052 11068 10720 + 56161 10722 10966 11010 10837 + 56162 10722 11014 10966 10837 + 56163 10760 10966 10722 11025 + 56164 11025 10722 10842 11048 + 56165 11025 10966 10722 11048 + 56166 11048 11014 10966 10722 + 56167 10723 10775 11027 10916 + 56168 10916 11027 10723 10841 + 56169 10854 10724 10979 10917 + 56170 10761 10852 10724 10979 + 56171 10761 10724 10917 10979 + 56172 10762 10725 10794 10988 + 56173 10726 10792 11055 10763 + 56174 10866 10726 11055 10763 + 56175 10775 10981 10920 10727 + 56176 10775 10981 10727 11027 + 56177 10766 11056 10933 10727 + 56178 11056 11027 10727 10981 + 56179 10981 11056 10793 10727 + 56180 10766 10793 11056 10727 + 56181 10933 11027 10727 11056 + 56182 10921 10983 10856 10728 + 56183 10769 10921 10728 10983 + 56184 10983 10856 10728 11029 + 56185 10983 11029 10728 10830 + 56186 10934 10864 10797 10729 + 56187 10844 10730 10784 10788 + 56188 10788 10926 10730 10770 + 56189 10770 10730 10795 10926 + 56190 10730 10926 10788 10844 + 56191 10795 10926 10730 10967 + 56192 10730 10967 10926 10844 + 56193 10731 10788 10925 10857 + 56194 10819 10882 10732 11033 + 56195 11033 10732 10813 10882 + 56196 10917 10735 11060 10854 + 56197 10735 10978 11060 11034 + 56198 10917 11060 10735 10978 + 56199 10940 10993 10739 10877 + 56200 11038 10993 10739 10940 + 56201 10739 11039 10805 10877 + 56202 10875 10938 11039 10739 + 56203 10993 10739 10877 11039 + 56204 11039 10805 10875 10739 + 56205 10938 10993 11039 10739 + 56206 10740 10807 11038 10878 + 56207 10779 10741 10787 10809 + 56208 10809 10883 10741 10787 + 56209 10945 10817 10741 10883 + 56210 10945 10741 10809 10883 + 56211 10742 10777 10948 10874 + 56212 10742 10948 10777 10873 + 56213 10815 10873 10948 10742 + 56214 10815 10948 11042 10742 + 56215 10948 11042 10742 10874 + 56216 10874 11042 10742 10809 + 56217 10743 11043 10938 10807 + 56218 10873 11043 10743 10807 + 56219 10778 11044 10822 10744 + 56220 10778 11044 10744 10886 + 56221 10744 11044 10822 10950 + 56222 10876 11001 11043 10745 + 56223 10777 10745 11043 10824 + 56224 11001 11043 10745 10824 + 56225 10828 10746 10895 10958 + 56226 10781 10895 10746 10958 + 56227 10831 10747 11008 10964 + 56228 10831 11011 10747 10964 + 56229 10839 10747 11011 10901 + 56230 10901 10747 11011 10964 + 56231 10965 10840 10902 10748 + 56232 10965 10748 10796 10901 + 56233 10748 10965 10840 11012 + 56234 10965 10901 11012 10748 + 56235 10902 10965 10748 11013 + 56236 10748 10796 11013 10965 + 56237 10898 10749 10800 11010 + 56238 10898 10962 10750 11009 + 56239 10868 11009 10750 10962 + 56240 10903 10751 10838 10968 + 56241 10903 10838 10751 11016 + 56242 11046 10903 10751 11016 + 56243 11046 10963 10751 10796 + 56244 11046 10751 10963 11016 + 56245 11016 10751 10963 11065 + 56246 11016 10838 10751 11065 + 56247 10969 11050 10908 10753 + 56248 10780 10753 10971 11050 + 56249 10780 10753 11050 10845 + 56250 11050 10753 10969 10845 + 56251 10755 10946 10818 10786 + 56252 10849 10756 10974 10914 + 56253 10896 10756 10974 10849 + 56254 10833 10974 10896 10756 + 56255 10756 10974 10914 11022 + 56256 10756 10974 11022 10833 + 56257 10958 10756 10781 11022 + 56258 10958 11022 10833 10756 + 56259 10758 10846 10907 11053 + 56260 10842 10976 10759 10906 + 56261 10976 10759 10836 11017 + 56262 10842 10976 11017 10759 + 56263 10904 10760 10977 11025 + 56264 10904 10966 10760 11025 + 56265 10977 10761 10853 10918 + 56266 10918 10977 10761 10852 + 56267 10852 10918 10979 10761 + 56268 10918 10761 10853 10979 + 56269 10853 10979 10761 10917 + 56270 10794 10988 11036 10762 + 56271 10762 10988 11036 10930 + 56272 10863 10931 10798 10763 + 56273 10931 10989 11055 10763 + 56274 11055 10989 10866 10763 + 56275 10798 10931 11055 10763 + 56276 11028 10765 10798 10980 + 56277 11028 10782 10765 10980 + 56278 11028 10765 10799 10932 + 56279 11028 10798 10765 10932 + 56280 11028 10765 10782 10867 + 56281 11028 10799 10765 10867 + 56282 10919 10766 10855 10782 + 56283 10782 10766 10855 10933 + 56284 10919 10793 11056 10766 + 56285 10919 10766 11056 10855 + 56286 10933 11056 10766 10855 + 56287 10783 10982 10820 10768 + 56288 10885 10820 10982 10768 + 56289 10982 11057 10768 10922 + 56290 10768 11057 10885 10821 + 56291 11057 10885 10982 10768 + 56292 10768 10922 11057 11029 + 56293 10821 10959 10768 11057 + 56294 11057 10768 11029 10959 + 56295 10769 11030 10921 10983 + 56296 10923 10769 10983 11030 + 56297 10858 11030 10921 10769 + 56298 10788 10985 10770 10925 + 56299 10985 10788 10770 10926 + 56300 10770 10795 11037 10926 + 56301 10770 10985 11070 10802 + 56302 11070 10802 10865 10770 + 56303 11070 11037 10770 10865 + 56304 10926 10985 11070 10770 + 56305 10926 11070 11037 10770 + 56306 10771 10819 10913 10785 + 56307 10991 10935 10772 10871 + 56308 11059 10991 10772 10871 + 56309 11059 10772 10936 10871 + 56310 10775 10920 10981 11071 + 56311 10775 10920 11071 10859 + 56312 10775 10916 10859 11071 + 56313 10775 11027 10916 11071 + 56314 10775 11071 10981 11027 + 56315 10776 10861 10928 10987 + 56316 10861 10929 10987 10776 + 56317 10776 11021 10912 10861 + 56318 10786 11021 10912 10776 + 56319 11021 10861 10776 10929 + 56320 11021 10776 10786 10946 + 56321 11035 10929 10776 10987 + 56322 11021 10776 11061 10929 + 56323 11021 11061 10776 10946 + 56324 10946 10849 11061 10776 + 56325 10929 11061 11072 10776 + 56326 10849 11061 10776 11072 + 56327 11072 10929 10776 11035 + 56328 10948 11002 10874 10777 + 56329 11064 11043 10777 10873 + 56330 10777 11043 11064 10824 + 56331 10824 11064 10777 11002 + 56332 11064 10777 10948 10873 + 56333 10948 11002 10777 11064 + 56334 10778 10823 11001 10886 + 56335 10778 10886 11001 10952 + 56336 10886 10778 11044 10952 + 56337 10952 11044 10822 10778 + 56338 10874 10825 11006 10779 + 56339 10874 11006 10809 10779 + 56340 10787 11006 10955 10779 + 56341 10787 10809 11006 10779 + 56342 11006 10779 10825 10955 + 56343 10838 11019 10780 10900 + 56344 11019 10838 10780 10968 + 56345 10780 10845 11019 10968 + 56346 11050 10780 10845 11019 + 56347 10780 10971 11067 11050 + 56348 11067 10900 10847 10780 + 56349 11050 11019 11067 10780 + 56350 10847 10971 11067 10780 + 56351 10780 10900 11019 11067 + 56352 10781 11054 11022 10832 + 56353 10958 10781 11054 11022 + 56354 11054 10832 10781 10895 + 56355 10781 11054 10895 10958 + 56356 10782 10855 10867 10933 + 56357 10782 10919 10980 10855 + 56358 10782 10867 10855 11028 + 56359 10782 10855 10980 11028 + 56360 10844 10902 11031 10784 + 56361 10882 10986 10785 10816 + 56362 10986 10819 10785 10913 + 56363 10785 10882 10819 10986 + 56364 11041 10986 10785 10913 + 56365 10986 11041 10785 10816 + 56366 10786 10946 10818 11021 + 56367 10809 11006 10883 10787 + 56368 11006 10883 10787 10955 + 56369 10788 10984 10844 11032 + 56370 10788 10985 10925 11032 + 56371 10857 10925 11032 10788 + 56372 11032 10844 10788 10926 + 56373 10984 11032 10788 10857 + 56374 10985 10788 10926 11032 + 56375 10789 11074 10862 10930 + 56376 10789 11074 10930 10866 + 56377 10795 10967 11037 10926 + 56378 10990 10795 11037 10931 + 56379 11037 10990 10967 10795 + 56380 10990 11075 10795 10931 + 56381 10990 10863 10795 11075 + 56382 10795 10863 10931 11075 + 56383 11013 10963 10796 10897 + 56384 11013 10796 10963 11046 + 56385 10901 10796 10965 11046 + 56386 11013 10965 10796 11046 + 56387 10930 10797 10866 11136 + 56388 11036 11136 10797 10930 + 56389 10866 11136 10797 10989 + 56390 10864 11036 11136 10797 + 56391 10865 11136 10797 10934 + 56392 10865 10797 11136 10989 + 56393 10864 10797 11136 10934 + 56394 10931 10798 11075 10863 + 56395 10863 10932 10798 11075 + 56396 11055 10980 11137 10798 + 56397 10980 11028 11137 10798 + 56398 11075 10932 10798 11137 + 56399 10931 11137 10798 11055 + 56400 10932 11137 11028 10798 + 56401 10931 10798 11137 11075 + 56402 11028 11077 10932 10799 + 56403 10932 10868 10799 11077 + 56404 10799 10867 11028 11139 + 56405 10868 10962 10799 11139 + 56406 10962 10867 10799 11139 + 56407 11028 11139 11077 10799 + 56408 11139 10799 10868 11077 + 56409 11047 10800 10867 10933 + 56410 11192 10867 11047 10800 + 56411 11047 11192 10800 11010 + 56412 11010 11192 10800 10898 + 56413 11192 10867 10800 10962 + 56414 11192 10962 10800 10898 + 56415 10897 11073 10801 11049 + 56416 10868 10801 11073 11077 + 56417 10801 11077 10868 10932 + 56418 10801 10932 10990 11077 + 56419 10801 10902 11049 11079 + 56420 10801 10967 10902 11079 + 56421 10801 10990 11141 11077 + 56422 10801 10990 10967 11141 + 56423 11141 10801 11077 11073 + 56424 11193 10801 11073 11049 + 56425 11073 11141 10801 11193 + 56426 10967 11193 11079 10801 + 56427 11193 11049 11079 10801 + 56428 10801 11141 10967 11193 + 56429 10934 10802 10865 11076 + 56430 11070 11076 10865 10802 + 56431 11194 11070 10985 10802 + 56432 11070 11194 11076 10802 + 56433 11081 10870 10803 10937 + 56434 10803 10871 10935 11081 + 56435 11081 10803 10871 10937 + 56436 10803 10935 10872 11081 + 56437 10803 10992 11143 10872 + 56438 11081 11143 10872 10803 + 56439 10870 10992 11143 10803 + 56440 10870 11143 11081 10803 + 56441 10991 10804 10871 11059 + 56442 10936 10871 10804 11059 + 56443 11082 10870 10806 10992 + 56444 10992 11082 10940 10806 + 56445 10877 10940 11144 10806 + 56446 11144 11082 10806 10940 + 56447 10873 10997 11043 10807 + 56448 10807 11083 11043 10938 + 56449 10807 10997 11043 11083 + 56450 10997 10807 11040 11083 + 56451 10878 11040 10807 11084 + 56452 10807 10878 11084 11038 + 56453 10993 11084 11038 10807 + 56454 10938 10807 11083 11145 + 56455 10993 11145 11084 10807 + 56456 10993 10938 11145 10807 + 56457 11084 11040 10807 11195 + 56458 11145 11195 10807 11083 + 56459 11084 10807 11145 11195 + 56460 11083 10807 11040 11195 + 56461 10939 10878 11063 10808 + 56462 11063 10995 10939 10808 + 56463 10942 11063 10808 10995 + 56464 11006 10883 10945 10809 + 56465 11006 11042 10809 10945 + 56466 11006 10809 11042 10874 + 56467 10876 10951 10810 11087 + 56468 10810 10938 10876 11087 + 56469 10810 10938 11196 10875 + 56470 10810 11196 10938 11087 + 56471 11143 10992 10811 10872 + 56472 10940 10811 10994 11199 + 56473 11143 10811 10992 11199 + 56474 10940 10992 10811 11199 + 56475 10879 10812 10941 11007 + 56476 10812 10957 10893 11045 + 56477 11007 10893 11045 10812 + 56478 10995 11089 10812 10879 + 56479 11045 10995 11089 10812 + 56480 11007 11045 11089 10812 + 56481 10812 11007 10879 11089 + 56482 10882 10947 10813 11033 + 56483 10879 11148 10941 10813 + 56484 10879 11148 10813 10947 + 56485 11033 10947 10813 11244 + 56486 11244 10813 11148 10947 + 56487 10944 10999 10880 10814 + 56488 10814 10942 10999 10880 + 56489 10948 11064 10873 10815 + 56490 10996 10815 10943 11085 + 56491 10873 11085 10943 10815 + 56492 10996 11042 10815 11085 + 56493 11085 10873 11064 10815 + 56494 11042 10815 11085 11146 + 56495 11146 11085 11064 10815 + 56496 11042 10948 10815 11146 + 56497 11146 11064 10948 10815 + 56498 10881 10816 11041 10945 + 56499 11093 10996 10945 10816 + 56500 11093 10945 11041 10816 + 56501 11152 10882 10816 10986 + 56502 10944 10816 11152 10882 + 56503 11041 10986 11203 10816 + 56504 11203 10816 10996 11093 + 56505 11152 10816 11203 10986 + 56506 10816 11152 11203 10944 + 56507 11203 11041 10816 11093 + 56508 10996 10816 11203 10944 + 56509 10817 10998 10945 10881 + 56510 10998 10883 10817 10945 + 56511 10883 10946 11095 10818 + 56512 10946 11021 11095 10818 + 56513 11153 10998 10883 10818 + 56514 10883 11095 11153 10818 + 56515 10818 10911 11204 10998 + 56516 11204 11021 10911 10818 + 56517 11153 10818 11095 11204 + 56518 10818 11204 11153 10998 + 56519 11204 11095 11021 10818 + 56520 10986 11033 10882 10819 + 56521 10986 11248 11033 10819 + 56522 10986 11248 10819 10913 + 56523 11097 10820 10885 10950 + 56524 11097 10820 10982 10885 + 56525 10821 11057 10885 11098 + 56526 10821 10884 11098 10949 + 56527 11098 10959 10884 10821 + 56528 11057 11098 10821 10959 + 56529 10821 10885 10949 11098 + 56530 10887 10949 10822 11000 + 56531 11000 10822 11044 10950 + 56532 11099 11044 10822 10952 + 56533 10887 10822 11099 11000 + 56534 11000 11099 11044 10822 + 56535 11099 10952 10822 10887 + 56536 10886 11100 10823 11001 + 56537 11147 10951 10823 11001 + 56538 10823 11100 11147 11001 + 56539 10824 10889 11064 11002 + 56540 11003 10889 11101 10824 + 56541 11003 11101 10888 10824 + 56542 10824 11155 11043 11064 + 56543 11101 11155 10824 10889 + 56544 10889 11064 11155 10824 + 56545 11001 11043 10824 11242 + 56546 11155 11242 10824 11043 + 56547 11280 10888 11101 10824 + 56548 11280 10824 11242 11001 + 56549 11280 11101 11155 10824 + 56550 11280 10888 10824 11001 + 56551 11242 11280 11155 10824 + 56552 11002 11086 10874 10825 + 56553 11006 10825 10874 11086 + 56554 11002 10891 11086 10825 + 56555 10825 10891 11086 11160 + 56556 10825 11086 11006 11160 + 56557 10954 10891 10825 11160 + 56558 10955 11160 10825 11006 + 56559 10825 10892 10954 11160 + 56560 10825 10955 10892 11160 + 56561 10884 10949 10826 11098 + 56562 11098 10826 10884 11157 + 56563 11004 10890 10826 11157 + 56564 10890 11157 10956 10826 + 56565 10884 10956 11157 10826 + 56566 11004 11206 10826 10953 + 56567 11206 10826 10949 11098 + 56568 11206 10949 10826 10887 + 56569 10826 11206 10887 10953 + 56570 11004 11157 10826 11206 + 56571 11157 10826 11206 11098 + 56572 11101 10827 10889 11003 + 56573 11102 11004 10827 11161 + 56574 10827 11161 10953 11003 + 56575 11161 11004 10827 10953 + 56576 10827 11004 11102 11162 + 56577 10827 11103 11004 11162 + 56578 11103 10827 11004 11163 + 56579 11004 11163 10827 10891 + 56580 10891 10827 11002 11209 + 56581 10827 10889 11002 11209 + 56582 10891 11163 10827 11209 + 56583 11103 11211 10827 11163 + 56584 11102 11211 10827 11162 + 56585 11211 11103 10827 11162 + 56586 11253 11003 11161 10827 + 56587 11253 11101 11003 10827 + 56588 11211 10827 11253 11102 + 56589 11161 11253 10827 11102 + 56590 11281 11209 10889 10827 + 56591 11281 10889 11101 10827 + 56592 11253 11281 10827 11211 + 56593 10827 11253 11101 11281 + 56594 11281 10827 11211 11163 + 56595 11163 10827 11209 11281 + 56596 10895 10958 11005 10828 + 56597 10956 11051 10890 10828 + 56598 10828 11051 10890 11005 + 56599 10828 10895 11051 11005 + 56600 10923 11105 10983 10830 + 56601 11105 10964 10830 10923 + 56602 11156 11029 10830 10959 + 56603 10830 11105 11156 10964 + 56604 10830 11156 10959 11008 + 56605 10830 11008 10964 11156 + 56606 11105 11213 10830 11156 + 56607 10830 10983 11029 11213 + 56608 10830 11029 11156 11213 + 56609 11213 10830 10983 11105 + 56610 10964 11156 11008 10831 + 56611 10884 10831 11008 11156 + 56612 11156 11098 10884 10831 + 56613 10831 11098 10884 11157 + 56614 11157 10956 10831 10910 + 56615 10956 10831 10884 11157 + 56616 11214 11011 10831 10964 + 56617 10964 11214 11156 10831 + 56618 10831 11214 10910 11011 + 56619 11297 11098 11156 10831 + 56620 11157 10831 11297 10910 + 56621 11214 10910 11297 10831 + 56622 10831 11214 11156 11297 + 56623 11297 11098 10831 11157 + 56624 10832 11015 10975 10907 + 56625 10832 11022 10975 11054 + 56626 11054 10975 10832 11015 + 56627 11256 10832 11015 11054 + 56628 10960 10832 11015 11256 + 56629 10895 10960 11256 10832 + 56630 10895 11256 11054 10832 + 56631 11020 10833 10974 10896 + 56632 11020 10892 11164 10833 + 56633 11020 11164 10974 10833 + 56634 10974 11022 10833 11164 + 56635 10833 10958 11164 11022 + 56636 10833 10892 11164 10958 + 56637 11010 10961 10898 10837 + 56638 11014 10899 10961 10837 + 56639 11014 10837 10961 11107 + 56640 11107 10966 11014 10837 + 56641 11107 11010 10966 10837 + 56642 11010 10961 10837 11107 + 56643 11065 11016 10838 11109 + 56644 10838 11009 11065 11167 + 56645 10838 10900 11009 11167 + 56646 11065 10838 11167 11109 + 56647 11016 10838 11168 10903 + 56648 10968 10838 10903 11168 + 56649 10968 11019 10838 11168 + 56650 11215 11016 11109 10838 + 56651 11215 11109 11167 10838 + 56652 11215 11168 11016 10838 + 56653 11215 11019 11168 10838 + 56654 11215 10900 11019 10838 + 56655 11215 11167 10900 10838 + 56656 11066 10839 11046 10903 + 56657 11111 11011 10901 10839 + 56658 11165 10839 11066 10960 + 56659 11011 10839 11165 10960 + 56660 11170 10901 11046 10839 + 56661 11170 11111 10901 10839 + 56662 11066 11046 10839 11217 + 56663 11217 10839 11111 11170 + 56664 10839 11011 11165 11217 + 56665 11217 11011 11111 10839 + 56666 11217 11046 10839 11170 + 56667 10839 11165 11066 11217 + 56668 11112 11031 10840 11058 + 56669 10840 11171 10923 11012 + 56670 10840 11031 11112 11259 + 56671 11259 10840 10902 10965 + 56672 10902 10840 11259 11031 + 56673 11260 10840 10923 11030 + 56674 11112 10840 11260 11058 + 56675 11030 11058 11260 10840 + 56676 10840 10923 11171 11260 + 56677 11259 11112 10840 11284 + 56678 11171 10840 11260 11284 + 56679 11284 10965 10840 11259 + 56680 10840 11012 10965 11284 + 56681 10840 11171 11012 11284 + 56682 11260 11284 10840 11112 + 56683 10841 10916 11071 11026 + 56684 10916 11071 11027 10841 + 56685 11114 11026 10904 10841 + 56686 10841 10933 11140 11027 + 56687 11026 10841 11140 11071 + 56688 10933 10841 11140 11047 + 56689 10841 11140 11071 11027 + 56690 10841 11114 11026 11140 + 56691 11218 11140 10841 11047 + 56692 10904 10841 11047 11218 + 56693 11140 11114 11218 10841 + 56694 10841 10904 11114 11218 + 56695 10976 11069 10906 10842 + 56696 10842 11069 11025 11048 + 56697 10976 10842 11017 11116 + 56698 11116 11069 10976 10842 + 56699 10905 11017 10842 11116 + 56700 10842 11116 11069 11048 + 56701 10905 10842 11048 11116 + 56702 10843 10899 10971 11014 + 56703 10905 10971 11014 10843 + 56704 10905 10971 10843 11018 + 56705 10905 11018 10843 10970 + 56706 10967 10844 10902 11079 + 56707 11079 10844 10902 11031 + 56708 11032 11142 10844 10926 + 56709 10967 11142 10926 10844 + 56710 10984 11142 10844 11032 + 56711 10844 11079 11221 11031 + 56712 10984 11142 11221 10844 + 56713 10844 11221 10984 11031 + 56714 10967 11221 11142 10844 + 56715 10844 11079 10967 11221 + 56716 10907 10969 10845 11118 + 56717 11050 11177 11019 10845 + 56718 11050 10969 11177 10845 + 56719 11118 10845 11177 10969 + 56720 11019 10845 11177 11222 + 56721 11222 10907 10968 10845 + 56722 10968 11222 10845 11019 + 56723 10845 11222 11118 11177 + 56724 11222 11118 10907 10845 + 56725 10846 11023 10908 10969 + 56726 11023 10969 10846 11053 + 56727 10969 10907 10846 11053 + 56728 11014 10899 10971 10847 + 56729 10961 10899 11014 10847 + 56730 11107 10961 11014 10847 + 56731 10900 11166 10847 10961 + 56732 11107 11166 10961 10847 + 56733 11219 10847 11166 11107 + 56734 11219 11014 10847 11107 + 56735 11180 10847 11067 11257 + 56736 10900 11166 11257 10847 + 56737 10847 11166 11257 11219 + 56738 10900 11067 10847 11257 + 56739 10847 11257 11180 11219 + 56740 11262 10847 11180 11219 + 56741 11067 11180 11262 10847 + 56742 11067 10971 10847 11262 + 56743 11262 10847 11219 11014 + 56744 10847 10971 11014 11262 + 56745 10908 10848 11068 10972 + 56746 10909 11117 10970 10848 + 56747 10970 11117 11178 10848 + 56748 10908 11068 10848 11178 + 56749 10970 11178 10908 10848 + 56750 10974 10849 11061 10896 + 56751 10849 10946 11061 10896 + 56752 10974 11061 10849 11072 + 56753 10849 10914 10974 11072 + 56754 10911 10850 11123 10973 + 56755 11021 11123 10911 10850 + 56756 11021 10912 11123 10850 + 56757 10914 11035 10851 11125 + 56758 10914 10851 11053 11125 + 56759 10915 10851 11126 11052 + 56760 10915 11126 10851 11062 + 56761 11023 11126 10851 11052 + 56762 11126 11062 11183 10851 + 56763 11035 11183 10851 11125 + 56764 10851 11062 11183 11035 + 56765 11053 11125 10851 11269 + 56766 11269 11023 11126 10851 + 56767 11126 11183 11269 10851 + 56768 11053 10851 11023 11269 + 56769 11125 11269 11183 10851 + 56770 10918 11024 10977 10852 + 56771 10853 10916 11026 11129 + 56772 10853 10917 10978 11129 + 56773 10978 11129 10916 10853 + 56774 11026 10977 10853 11172 + 56775 11172 10918 10977 10853 + 56776 11129 11026 10853 11172 + 56777 11185 10917 10853 11129 + 56778 10979 11185 10917 10853 + 56779 10979 11235 11185 10853 + 56780 11235 11172 10853 10918 + 56781 10918 10853 11235 10979 + 56782 11185 11235 11129 10853 + 56783 10853 11172 11235 11129 + 56784 11185 11060 10927 10854 + 56785 11185 10917 11060 10854 + 56786 10854 10979 11185 10917 + 56787 11028 11078 10867 10855 + 56788 11078 10933 10867 10855 + 56789 11140 10855 10933 11078 + 56790 10855 10933 11056 11140 + 56791 11130 10856 11029 10922 + 56792 10921 10983 11130 10856 + 56793 11029 11130 10983 10856 + 56794 11132 10924 10857 10984 + 56795 10984 11132 11032 10857 + 56796 11133 10858 10924 11030 + 56797 11186 10858 11133 11030 + 56798 11186 10921 10858 11030 + 56799 10859 11060 10978 11034 + 56800 11129 11060 10978 10859 + 56801 10916 10978 10859 11129 + 56802 10859 11134 11060 11034 + 56803 10916 11071 11234 10859 + 56804 10916 10859 11234 11129 + 56805 11234 11274 11129 10859 + 56806 10859 11134 11274 11060 + 56807 11129 11274 11060 10859 + 56808 10860 11134 11034 11060 + 56809 10860 10927 11134 11060 + 56810 10987 11135 10929 10861 + 56811 11021 11230 10912 10861 + 56812 11135 10861 11230 10929 + 56813 11021 10861 10929 11230 + 56814 10988 10862 11074 10930 + 56815 10863 10990 10932 11075 + 56816 11070 10931 10865 10989 + 56817 11070 10931 11037 10865 + 56818 11070 10989 10865 11076 + 56819 10989 11136 10865 11076 + 56820 11076 10934 11136 10865 + 56821 10866 11190 11136 10989 + 56822 11136 11190 10866 10930 + 56823 11074 10866 11190 10930 + 56824 10933 10867 11047 11078 + 56825 11078 11028 10867 11139 + 56826 11192 11078 10867 11139 + 56827 11047 11078 10867 11192 + 56828 11139 10962 10867 11192 + 56829 10868 11073 11009 10962 + 56830 10868 11073 11139 11077 + 56831 10868 11073 10962 11139 + 56832 10992 11143 11082 10870 + 56833 10937 11081 10991 10871 + 56834 10935 10991 11081 10871 + 56835 10997 10873 11043 11064 + 56836 11085 10943 10997 10873 + 56837 11085 10997 11064 10873 + 56838 11002 11146 10874 11086 + 56839 11146 11042 10874 11006 + 56840 11006 10874 11146 11086 + 56841 11002 10948 10874 11146 + 56842 10948 11146 11042 10874 + 56843 10875 10938 11196 11039 + 56844 11147 10876 10951 11001 + 56845 11147 11087 10951 10876 + 56846 11043 10876 10938 11197 + 56847 11197 10938 11087 10876 + 56848 11043 10876 11197 11242 + 56849 11043 10876 11242 11001 + 56850 11001 10876 11242 11147 + 56851 11147 11087 10876 11276 + 56852 11197 11276 11242 10876 + 56853 11276 11242 10876 11147 + 56854 11197 11087 11276 10876 + 56855 10940 11198 10993 10877 + 56856 11144 11198 10940 10877 + 56857 10993 10877 11198 11039 + 56858 10994 11084 10878 11038 + 56859 10879 10941 11148 11007 + 56860 10947 10879 11148 11090 + 56861 11148 10879 11007 11089 + 56862 10995 11149 10879 10942 + 56863 10995 11149 11089 10879 + 56864 10879 11089 11148 11200 + 56865 11090 11148 11200 10879 + 56866 10879 11149 11089 11200 + 56867 11090 11200 11149 10879 + 56868 11090 11149 11201 10879 + 56869 11090 11201 10947 10879 + 56870 10942 10999 11201 10879 + 56871 10999 10879 10947 11201 + 56872 10942 11201 11149 10879 + 56873 10944 10996 10880 11091 + 56874 10944 10880 10999 11091 + 56875 11092 11063 10943 10880 + 56876 10943 11150 11092 10880 + 56877 10996 10880 11091 11150 + 56878 10996 10943 10880 11150 + 56879 10880 11091 11150 11201 + 56880 10942 10999 10880 11201 + 56881 10880 10999 11091 11201 + 56882 10942 10880 11245 11201 + 56883 10880 11245 11063 10942 + 56884 11063 11092 11245 10880 + 56885 11092 11150 11278 10880 + 56886 11201 11278 11150 10880 + 56887 11092 11278 11245 10880 + 56888 11201 11245 11278 10880 + 56889 10881 11041 10998 10945 + 56890 11152 10882 11033 10947 + 56891 10944 11152 10999 10882 + 56892 10882 11152 10999 10947 + 56893 10986 10882 11033 11152 + 56894 10946 10883 11095 11020 + 56895 11153 11006 10883 10945 + 56896 10998 11153 10883 10945 + 56897 11153 11095 10883 11205 + 56898 11095 10883 11205 11020 + 56899 10955 11020 11205 10883 + 56900 11205 11006 10955 10883 + 56901 11205 11153 11006 10883 + 56902 10884 11156 11008 10959 + 56903 10884 11098 11156 10959 + 56904 10885 11097 10950 11000 + 56905 10885 10982 11097 11057 + 56906 10949 11098 10885 11000 + 56907 11158 10885 11000 11097 + 56908 11057 11097 10885 11158 + 56909 11057 11158 10885 11098 + 56910 10885 11098 11158 11000 + 56911 10952 11100 10886 11001 + 56912 11159 10886 11044 10952 + 56913 11159 10886 10952 11100 + 56914 11003 10952 11099 10887 + 56915 11003 11099 11161 10887 + 56916 10887 10953 11161 11003 + 56917 11000 11206 10887 10949 + 56918 10953 11206 10887 11161 + 56919 11099 11000 11249 10887 + 56920 11000 10887 11206 11249 + 56921 11206 11249 10887 11161 + 56922 11161 11249 10887 11099 + 56923 10952 10888 11100 11001 + 56924 11159 10952 10888 11100 + 56925 11159 11210 10888 10952 + 56926 11003 11101 11210 10888 + 56927 11003 11210 10952 10888 + 56928 11101 10888 11252 11210 + 56929 10888 11252 11280 11101 + 56930 11280 11100 10888 11001 + 56931 11210 10888 11252 11295 + 56932 11252 10888 11280 11295 + 56933 11100 11159 11295 10888 + 56934 11295 11159 11210 10888 + 56935 11295 11100 10888 11280 + 56936 11209 11064 11155 10889 + 56937 11209 10889 11002 11064 + 56938 11209 10889 11155 11281 + 56939 11101 11155 10889 11281 + 56940 10890 11051 10956 11157 + 56941 11212 11051 10890 11157 + 56942 11212 10890 11051 11005 + 56943 10954 11004 11212 10890 + 56944 11004 11212 10890 11157 + 56945 10954 11212 11005 10890 + 56946 11163 11086 11209 10891 + 56947 11086 11002 11209 10891 + 56948 10891 11212 10954 11004 + 56949 11255 11004 10891 11163 + 56950 11255 10891 11004 11212 + 56951 11283 11086 10891 11160 + 56952 11255 11283 11163 10891 + 56953 10891 11283 11163 11086 + 56954 10891 11212 11283 10954 + 56955 11255 10891 11212 11283 + 56956 10954 11283 10891 11160 + 56957 10958 11005 10892 11104 + 56958 11005 10892 11104 10954 + 56959 10892 11160 11104 10954 + 56960 10958 10892 11164 11104 + 56961 10892 11205 10955 11020 + 56962 11164 11020 11205 10892 + 56963 10892 10955 11205 11160 + 56964 11164 11205 11104 10892 + 56965 11104 11205 11160 10892 + 56966 10895 11054 11256 10958 + 56967 11005 11256 10958 10895 + 56968 11005 11051 11256 10895 + 56969 11051 10960 11256 10895 + 56970 10974 11020 10896 11061 + 56971 11061 11020 10896 10946 + 56972 10963 11013 11049 10897 + 56973 10963 11049 11065 10897 + 56974 10897 11065 11073 11049 + 56975 10898 11192 10962 11009 + 56976 10961 11192 10898 11009 + 56977 11010 10961 11192 10898 + 56978 11108 11009 10961 10900 + 56979 10900 11067 11110 11019 + 56980 11108 10961 11166 10900 + 56981 10900 11108 11009 11167 + 56982 11019 11110 10900 11215 + 56983 10900 11110 11067 11257 + 56984 11257 10900 11167 11108 + 56985 11110 10900 11215 11257 + 56986 10900 11167 11215 11257 + 56987 10900 11166 11108 11257 + 56988 11012 11111 10901 10965 + 56989 11012 10964 10901 11111 + 56990 10901 10964 11011 11111 + 56991 10965 11170 10901 11046 + 56992 10901 11111 11170 10965 + 56993 11259 10902 11013 10965 + 56994 10902 11259 11049 11079 + 56995 11079 11031 10902 11259 + 56996 10902 11049 11259 11013 + 56997 11046 11066 10903 11016 + 56998 11016 10903 11168 11066 + 56999 10968 10903 11066 11168 + 57000 10904 10966 11025 11115 + 57001 10904 11169 10966 11115 + 57002 11010 10904 11047 11169 + 57003 11010 10966 10904 11169 + 57004 11172 10977 11025 10904 + 57005 11026 10904 10977 11172 + 57006 11172 11025 11115 10904 + 57007 11114 10904 11026 11172 + 57008 10904 11047 11169 11218 + 57009 11172 11261 11114 10904 + 57010 10904 11114 11218 11261 + 57011 10904 11261 11169 11115 + 57012 10904 11172 11261 11115 + 57013 10904 11218 11169 11261 + 57014 11018 11117 10970 10905 + 57015 10970 11117 11017 10905 + 57016 11017 10905 11173 11116 + 57017 11048 11173 10905 11116 + 57018 10905 11117 11017 11173 + 57019 10905 11018 11117 11173 + 57020 10905 11014 10971 11262 + 57021 10905 11173 11048 11262 + 57022 10905 11018 11173 11262 + 57023 10905 11014 11262 11048 + 57024 10905 10971 11018 11262 + 57025 10975 10907 11118 11053 + 57026 11118 11053 10907 10969 + 57027 10907 11015 10975 11118 + 57028 10968 10907 11222 11015 + 57029 10907 11222 11015 11118 + 57030 11023 11119 11068 10908 + 57031 11018 10908 11119 11050 + 57032 10969 11050 11119 10908 + 57033 11119 10969 10908 11023 + 57034 11018 10908 10970 11178 + 57035 11178 11119 11018 10908 + 57036 10908 11119 11068 11178 + 57037 10909 10970 11117 11017 + 57038 11157 11051 10956 10910 + 57039 10910 11051 11122 11157 + 57040 10910 11165 10960 11011 + 57041 10960 11165 10910 11051 + 57042 11165 11217 11011 10910 + 57043 11181 11214 11258 10910 + 57044 11011 11258 11214 10910 + 57045 11258 11011 11217 10910 + 57046 11297 11214 11181 10910 + 57047 11297 10910 11181 11122 + 57048 11297 10910 11122 11157 + 57049 11181 11300 11122 10910 + 57050 11300 11217 10910 11258 + 57051 10910 11122 11051 11300 + 57052 11300 10910 11181 11258 + 57053 11217 11165 11300 10910 + 57054 11165 11300 10910 11051 + 57055 11094 10911 10973 11041 + 57056 11041 11154 11094 10911 + 57057 11021 10911 11123 11182 + 57058 11182 11021 10911 11204 + 57059 11154 10911 11041 11204 + 57060 10911 11124 11182 11204 + 57061 10911 11041 11204 10998 + 57062 10911 11124 11204 11154 + 57063 11229 11154 10911 11094 + 57064 11124 11229 11154 10911 + 57065 11123 10911 10973 11229 + 57066 11229 10911 10973 11094 + 57067 11124 10911 11182 11229 + 57068 11182 10911 11123 11229 + 57069 11123 10912 11021 11230 + 57070 11041 11094 10913 10973 + 57071 10986 11094 10913 11041 + 57072 11248 10913 10986 11094 + 57073 11072 10914 10974 11125 + 57074 10914 11072 11035 11125 + 57075 10975 11053 11125 10914 + 57076 10974 10914 11022 11125 + 57077 10975 11022 10914 11125 + 57078 11234 11026 10916 11129 + 57079 11234 11071 10916 11026 + 57080 11129 10917 10978 11060 + 57081 11129 11185 10917 11060 + 57082 11128 10918 11024 10977 + 57083 10918 10977 11128 11172 + 57084 11235 11272 11172 10918 + 57085 10918 11128 11272 11172 + 57086 10921 11186 11130 10983 + 57087 11186 10983 10921 11030 + 57088 11213 11187 11130 10922 + 57089 11213 11130 11029 10922 + 57090 11187 11057 10922 11213 + 57091 11057 11029 10922 11213 + 57092 11057 10922 11237 11187 + 57093 11237 10922 11057 10982 + 57094 11105 11171 10964 10923 + 57095 11171 11012 10964 10923 + 57096 10923 11260 10983 11105 + 57097 11260 10923 10983 11030 + 57098 11260 10923 11171 11105 + 57099 11133 10924 11058 11030 + 57100 10924 11188 11058 10984 + 57101 10924 11132 11188 10984 + 57102 10924 11188 11133 11058 + 57103 11142 11070 11037 10926 + 57104 11037 11142 10926 10967 + 57105 10985 11070 11273 10926 + 57106 10926 11273 10985 11032 + 57107 10926 11142 11273 11032 + 57108 11070 11142 11273 10926 + 57109 10927 11274 11134 11060 + 57110 10927 11185 11274 11060 + 57111 11061 10929 11072 11231 + 57112 10929 11035 11072 11275 + 57113 11275 11135 11189 10929 + 57114 11231 11072 11275 10929 + 57115 10987 10929 11135 11275 + 57116 10929 10987 11035 11275 + 57117 11231 11275 11189 10929 + 57118 11061 10929 11288 11021 + 57119 11021 10929 11288 11230 + 57120 11189 11135 11288 10929 + 57121 11135 11230 11288 10929 + 57122 11231 11288 11061 10929 + 57123 11231 11189 11288 10929 + 57124 10988 11074 11036 10930 + 57125 11036 11074 11136 10930 + 57126 11136 11074 11190 10930 + 57127 10989 11055 11137 10931 + 57128 11070 10931 11191 11037 + 57129 11191 11137 10931 10989 + 57130 11191 10931 11070 10989 + 57131 11037 10931 11191 10990 + 57132 11075 10931 11191 11137 + 57133 10990 10931 11191 11075 + 57134 10932 11137 11240 11028 + 57135 11075 11240 10932 11137 + 57136 10990 11240 10932 11075 + 57137 11077 11240 10932 10990 + 57138 11240 11077 10932 11028 + 57139 11047 11140 10933 11078 + 57140 11027 10933 11140 11056 + 57141 10993 11145 10938 11196 + 57142 11039 10938 11196 10993 + 57143 10938 11083 11197 11145 + 57144 11197 11043 11083 10938 + 57145 11241 11197 10938 11087 + 57146 11241 11197 11145 10938 + 57147 11145 10938 11196 11241 + 57148 11196 10938 11087 11241 + 57149 11038 11198 10993 10940 + 57150 11038 10940 10994 11198 + 57151 11144 11199 11082 10940 + 57152 10940 11082 10992 11199 + 57153 10940 11243 11144 11199 + 57154 11144 10940 11198 11243 + 57155 10994 11198 10940 11243 + 57156 10940 10994 11243 11199 + 57157 11063 11149 10995 10942 + 57158 11063 11149 10942 11245 + 57159 11245 11201 11149 10942 + 57160 10943 11063 11092 11040 + 57161 11085 10943 10996 11150 + 57162 11040 11151 11092 10943 + 57163 11040 10997 11151 10943 + 57164 10997 11151 10943 11085 + 57165 10943 11092 11150 11202 + 57166 10943 11092 11202 11151 + 57167 10943 11202 11085 11151 + 57168 10943 11085 11202 11150 + 57169 11091 11152 10999 10944 + 57170 10996 11203 11091 10944 + 57171 11091 11203 11152 10944 + 57172 10945 11093 11041 10998 + 57173 10945 11153 11093 10998 + 57174 11246 11093 10945 11153 + 57175 11006 11042 10945 11246 + 57176 10945 10996 11093 11246 + 57177 10945 11042 10996 11246 + 57178 11246 10945 11006 11153 + 57179 11061 11021 11095 10946 + 57180 11061 11020 10946 11095 + 57181 11201 10947 10999 11152 + 57182 11201 11090 10947 11152 + 57183 10947 11148 11244 11090 + 57184 11090 10947 11152 11244 + 57185 11033 11152 10947 11244 + 57186 11002 11064 10948 11146 + 57187 11000 11098 11206 10949 + 57188 11044 11207 11000 10950 + 57189 11207 10950 11097 11000 + 57190 10952 11099 11210 11003 + 57191 11250 11159 11044 10952 + 57192 11099 10952 11210 11250 + 57193 11250 11044 11099 10952 + 57194 11159 11210 10952 11250 + 57195 11206 10953 11004 11161 + 57196 11005 11104 11212 10954 + 57197 10954 11104 11283 11160 + 57198 11104 11283 11212 10954 + 57199 10955 11205 11160 11006 + 57200 11054 11164 10958 11022 + 57201 11256 10958 11054 11164 + 57202 10958 11005 11104 11256 + 57203 11256 11104 10958 11164 + 57204 11057 11029 11156 10959 + 57205 11156 11098 11057 10959 + 57206 11015 11106 11066 10960 + 57207 11165 11066 11106 10960 + 57208 10960 11256 11015 11106 + 57209 11256 11165 10960 11051 + 57210 10960 11165 11256 11106 + 57211 11107 10961 11166 11192 + 57212 11009 11192 11108 10961 + 57213 11107 11010 10961 11192 + 57214 11192 11166 11108 10961 + 57215 11108 11009 11073 10962 + 57216 11073 11108 10962 11139 + 57217 11139 10962 11192 11108 + 57218 11192 10962 11009 11108 + 57219 10963 11170 11013 11046 + 57220 10963 11170 11046 11016 + 57221 11170 10963 11013 11216 + 57222 11216 11065 11016 10963 + 57223 10963 11216 11170 11016 + 57224 11216 11049 11065 10963 + 57225 11013 11049 11216 10963 + 57226 11012 11171 10964 11111 + 57227 11011 11111 10964 11171 + 57228 10964 11171 11105 11214 + 57229 11171 10964 11011 11214 + 57230 10964 11105 11156 11214 + 57231 11170 10965 11013 11046 + 57232 11013 11259 10965 11170 + 57233 11284 11170 10965 11259 + 57234 11111 10965 11012 11284 + 57235 11111 11170 10965 11284 + 57236 11025 11048 11115 10966 + 57237 10966 11169 11010 11107 + 57238 11048 10966 11014 11219 + 57239 11048 11115 10966 11219 + 57240 10966 11014 11219 11107 + 57241 11169 11219 11107 10966 + 57242 11169 11115 11219 10966 + 57243 10967 10990 11037 11080 + 57244 11141 10990 10967 11080 + 57245 11037 11080 11142 10967 + 57246 11080 10967 11263 11142 + 57247 11263 11142 10967 11221 + 57248 11141 10967 11263 11080 + 57249 11141 11193 11263 10967 + 57250 11263 11079 10967 11193 + 57251 11263 10967 11079 11221 + 57252 10968 11066 11222 11168 + 57253 10968 11168 11222 11019 + 57254 11066 11222 11015 10968 + 57255 11050 11119 11177 10969 + 57256 11224 10969 11177 11119 + 57257 11119 11224 10969 11023 + 57258 11053 11224 10969 11118 + 57259 11023 11224 10969 11053 + 57260 11118 11224 10969 11177 + 57261 11018 10970 11117 11178 + 57262 10971 11067 11050 11018 + 57263 11067 11018 10971 11262 + 57264 11072 10974 11231 11125 + 57265 10974 11231 11061 11072 + 57266 11061 11231 10974 11268 + 57267 10974 11268 11231 11164 + 57268 10974 11268 11020 11061 + 57269 10974 11020 11268 11164 + 57270 10974 11022 11164 11270 + 57271 10974 11022 11270 11125 + 57272 11231 10974 11270 11125 + 57273 11164 11231 10974 11270 + 57274 11118 10975 11176 11015 + 57275 11223 10975 11015 11176 + 57276 11223 11176 11127 10975 + 57277 11223 10975 11022 11054 + 57278 11054 11223 10975 11015 + 57279 11232 10975 11125 11270 + 57280 11232 11127 10975 11270 + 57281 11223 11127 11270 10975 + 57282 11270 10975 11022 11223 + 57283 11270 11022 10975 11125 + 57284 10975 11118 11289 11053 + 57285 11127 11289 11232 10975 + 57286 10975 11053 11289 11125 + 57287 11289 11125 11232 10975 + 57288 11289 10975 11127 11176 + 57289 11176 11118 11289 10975 + 57290 11128 11069 11025 10977 + 57291 11128 11024 11069 10977 + 57292 11172 11025 10977 11128 + 57293 11056 11071 11027 10981 + 57294 11237 11097 10982 11057 + 57295 11186 11130 10983 11213 + 57296 11130 11029 10983 11213 + 57297 10983 11213 11260 11186 + 57298 11260 11030 10983 11186 + 57299 11213 10983 11260 11105 + 57300 10984 11221 11132 11188 + 57301 11031 11221 10984 11290 + 57302 11221 11188 10984 11290 + 57303 11058 11188 11290 10984 + 57304 11058 11290 11031 10984 + 57305 11132 11291 11221 10984 + 57306 11032 11142 11291 10984 + 57307 11221 11291 11142 10984 + 57308 11032 11291 11132 10984 + 57309 11070 11273 11194 10985 + 57310 11094 10986 11203 11041 + 57311 11248 11203 10986 11152 + 57312 11203 11248 10986 11094 + 57313 10986 11152 11033 11248 + 57314 11035 10987 11062 11183 + 57315 11183 11275 10987 11239 + 57316 10987 11135 11239 11275 + 57317 11035 11275 10987 11183 + 57318 11070 11138 10989 11076 + 57319 10989 11190 11136 11076 + 57320 10989 11076 11138 11190 + 57321 11138 11191 11070 10989 + 57322 11037 11191 11080 10990 + 57323 10990 11191 11240 11075 + 57324 11240 11080 11191 10990 + 57325 11141 11080 11240 10990 + 57326 11077 11141 11240 10990 + 57327 11143 10992 11082 11199 + 57328 11039 11196 11088 10993 + 57329 10993 11088 11145 11196 + 57330 11198 11084 11038 10993 + 57331 11198 11039 11088 10993 + 57332 11198 11084 10993 11277 + 57333 11145 10993 11084 11277 + 57334 11277 11088 11145 10993 + 57335 11277 11198 11088 10993 + 57336 11038 10994 11084 11198 + 57337 11198 10994 11084 11243 + 57338 11150 10996 11093 11203 + 57339 11150 11091 10996 11203 + 57340 11150 11246 11093 10996 + 57341 11085 10996 11246 11150 + 57342 11042 11246 11085 10996 + 57343 11247 10997 11040 11083 + 57344 10997 11247 11040 11151 + 57345 10997 11043 11279 11064 + 57346 11279 10997 11085 11151 + 57347 11279 11043 10997 11083 + 57348 10997 11083 11247 11279 + 57349 10997 11279 11247 11151 + 57350 11064 11279 10997 11085 + 57351 10998 11041 11204 11093 + 57352 10998 11204 11153 11093 + 57353 11201 11152 10999 11091 + 57354 11098 11206 11158 11000 + 57355 11000 11207 11044 11099 + 57356 11158 11000 11207 11097 + 57357 11249 11207 11000 11099 + 57358 11249 11000 11207 11158 + 57359 11000 11206 11158 11249 + 57360 11001 11147 11208 11100 + 57361 11147 11208 11242 11001 + 57362 11280 11208 11100 11001 + 57363 11242 11001 11208 11280 + 57364 11209 11002 11146 11064 + 57365 11086 11002 11146 11209 + 57366 11161 11210 11099 11003 + 57367 11101 11210 11253 11003 + 57368 11161 11253 11210 11003 + 57369 11254 11212 11004 11157 + 57370 11254 11103 11004 11212 + 57371 11004 11103 11254 11162 + 57372 11255 11212 11004 11103 + 57373 11255 11103 11004 11163 + 57374 11206 11004 11282 11161 + 57375 11282 11004 11254 11162 + 57376 11102 11282 11004 11161 + 57377 11206 11004 11157 11282 + 57378 11004 11102 11162 11282 + 57379 11157 11282 11004 11254 + 57380 11256 11005 11104 11212 + 57381 11256 11051 11005 11212 + 57382 11006 11146 11246 11086 + 57383 11006 11042 11246 11146 + 57384 11153 11006 11246 11296 + 57385 11153 11205 11006 11296 + 57386 11006 11086 11246 11296 + 57387 11160 11296 11086 11006 + 57388 11160 11205 11296 11006 + 57389 11167 11009 11065 11073 + 57390 11167 11108 11009 11073 + 57391 11192 11047 11169 11010 + 57392 11169 11010 11107 11192 + 57393 11171 11258 11011 11111 + 57394 11214 11171 11258 11011 + 57395 11258 11011 11111 11217 + 57396 11111 11171 11284 11012 + 57397 11013 11216 11049 11259 + 57398 11013 11216 11259 11170 + 57399 11014 11262 11048 11219 + 57400 11118 11176 11222 11015 + 57401 11106 11015 11066 11222 + 57402 11176 11222 11015 11106 + 57403 11176 11015 11223 11106 + 57404 11256 11015 11223 11054 + 57405 11223 11015 11256 11106 + 57406 11046 11113 11066 11016 + 57407 11170 11016 11113 11046 + 57408 11216 11109 11016 11065 + 57409 11170 11016 11216 11113 + 57410 11016 11066 11168 11225 + 57411 11016 11113 11066 11225 + 57412 11216 11113 11016 11265 + 57413 11216 11109 11265 11016 + 57414 11016 11225 11265 11113 + 57415 11109 11287 11265 11016 + 57416 11109 11215 11287 11016 + 57417 11225 11168 11016 11287 + 57418 11225 11016 11265 11287 + 57419 11287 11168 11016 11215 + 57420 11120 11018 11179 11067 + 57421 11050 11179 11119 11018 + 57422 11050 11067 11179 11018 + 57423 11120 11226 11018 11173 + 57424 11179 11226 11018 11120 + 57425 11117 11226 11173 11018 + 57426 11117 11226 11018 11178 + 57427 11018 11226 11179 11119 + 57428 11226 11119 11018 11178 + 57429 11018 11262 11120 11173 + 57430 11120 11262 11018 11067 + 57431 11019 11177 11121 11222 + 57432 11019 11266 11067 11110 + 57433 11019 11266 11177 11050 + 57434 11019 11067 11266 11050 + 57435 11121 11266 11177 11019 + 57436 11222 11267 11121 11019 + 57437 11267 11222 11168 11019 + 57438 11019 11168 11299 11215 + 57439 11019 11299 11110 11215 + 57440 11019 11299 11266 11110 + 57441 11019 11299 11121 11266 + 57442 11267 11121 11019 11299 + 57443 11267 11019 11168 11299 + 57444 11095 11205 11268 11020 + 57445 11061 11268 11020 11095 + 57446 11164 11020 11268 11205 + 57447 11182 11095 11021 11204 + 57448 11230 11123 11182 11021 + 57449 11021 11182 11230 11288 + 57450 11095 11021 11288 11182 + 57451 11061 11095 11021 11288 + 57452 11054 11022 11223 11164 + 57453 11270 11022 11164 11223 + 57454 11184 11052 11126 11023 + 57455 11184 11052 11023 11068 + 57456 11269 11023 11184 11126 + 57457 11053 11269 11023 11224 + 57458 11269 11184 11023 11224 + 57459 11271 11023 11119 11068 + 57460 11068 11184 11271 11023 + 57461 11224 11184 11023 11271 + 57462 11023 11271 11119 11224 + 57463 11048 11025 11174 11069 + 57464 11048 11025 11115 11174 + 57465 11174 11128 11069 11025 + 57466 11233 11025 11115 11172 + 57467 11174 11128 11025 11233 + 57468 11115 11025 11233 11174 + 57469 11172 11025 11128 11233 + 57470 11026 11140 11234 11071 + 57471 11129 11234 11026 11172 + 57472 11172 11114 11234 11026 + 57473 11114 11234 11026 11140 + 57474 11027 11140 11071 11056 + 57475 11078 11236 11028 11139 + 57476 11028 11077 11139 11236 + 57477 11028 11240 11077 11236 + 57478 11213 11057 11029 11156 + 57479 11186 11133 11260 11030 + 57480 11260 11058 11030 11133 + 57481 11079 11031 11259 11290 + 57482 11031 11079 11221 11290 + 57483 11290 11031 11112 11058 + 57484 11290 11112 11031 11259 + 57485 11273 11291 11032 11142 + 57486 11293 11033 11152 11248 + 57487 11244 11293 11033 11152 + 57488 11035 11275 11183 11125 + 57489 11275 11035 11072 11125 + 57490 11070 11142 11037 11080 + 57491 11080 11070 11191 11037 + 57492 11083 11040 11247 11195 + 57493 11094 11203 11154 11041 + 57494 11203 11041 11093 11154 + 57495 11154 11041 11093 11204 + 57496 11146 11246 11085 11042 + 57497 11096 11155 11064 11043 + 57498 11197 11083 11043 11242 + 57499 11155 11096 11242 11043 + 57500 11279 11043 11083 11242 + 57501 11096 11279 11043 11064 + 57502 11096 11279 11242 11043 + 57503 11207 11250 11044 11099 + 57504 11046 11113 11217 11066 + 57505 11170 11113 11217 11046 + 57506 11047 11218 11140 11078 + 57507 11047 11218 11078 11285 + 57508 11192 11047 11285 11169 + 57509 11047 11078 11192 11285 + 57510 11047 11169 11218 11285 + 57511 11048 11174 11116 11069 + 57512 11048 11115 11220 11174 + 57513 11116 11220 11174 11048 + 57514 11048 11116 11220 11173 + 57515 11048 11115 11262 11220 + 57516 11115 11048 11262 11219 + 57517 11048 11220 11262 11173 + 57518 11065 11109 11073 11049 + 57519 11193 11073 11109 11049 + 57520 11175 11193 11109 11049 + 57521 11079 11049 11193 11175 + 57522 11175 11109 11216 11049 + 57523 11065 11216 11109 11049 + 57524 11259 11175 11216 11049 + 57525 11259 11079 11175 11049 + 57526 11179 11119 11227 11050 + 57527 11119 11177 11227 11050 + 57528 11050 11177 11227 11266 + 57529 11067 11179 11266 11050 + 57530 11050 11227 11179 11266 + 57531 11212 11122 11051 11157 + 57532 11256 11122 11051 11212 + 57533 11256 11051 11122 11300 + 57534 11165 11256 11300 11051 + 57535 11125 11053 11289 11269 + 57536 11053 11289 11269 11224 + 57537 11053 11289 11224 11118 + 57538 11054 11223 11256 11164 + 57539 11131 11187 11213 11057 + 57540 11057 11213 11131 11156 + 57541 11057 11131 11187 11237 + 57542 11237 11057 11131 11158 + 57543 11057 11237 11097 11158 + 57544 11057 11301 11158 11098 + 57545 11057 11131 11301 11156 + 57546 11158 11301 11057 11131 + 57547 11057 11301 11098 11156 + 57548 11133 11058 11188 11238 + 57549 11058 11133 11260 11238 + 57550 11260 11058 11238 11112 + 57551 11290 11112 11238 11058 + 57552 11238 11058 11188 11290 + 57553 11274 11060 11185 11129 + 57554 11288 11268 11231 11061 + 57555 11288 11095 11268 11061 + 57556 11251 11155 11064 11096 + 57557 11251 11064 11155 11209 + 57558 11279 11064 11096 11251 + 57559 11064 11294 11251 11279 + 57560 11209 11251 11064 11294 + 57561 11209 11064 11146 11294 + 57562 11064 11294 11279 11085 + 57563 11064 11085 11146 11294 + 57564 11065 11167 11073 11109 + 57565 11066 11168 11106 11222 + 57566 11225 11066 11168 11106 + 57567 11286 11165 11066 11106 + 57568 11225 11286 11066 11106 + 57569 11286 11217 11113 11066 + 57570 11286 11217 11066 11165 + 57571 11066 11286 11225 11113 + 57572 11228 11067 11180 11120 + 57573 11228 11179 11067 11120 + 57574 11110 11067 11180 11228 + 57575 11180 11067 11110 11257 + 57576 11262 11180 11067 11120 + 57577 11179 11067 11266 11228 + 57578 11228 11110 11067 11266 + 57579 11271 11119 11178 11068 + 57580 11138 11194 11076 11070 + 57581 11142 11080 11070 11273 + 57582 11138 11070 11191 11292 + 57583 11191 11080 11292 11070 + 57584 11273 11292 11080 11070 + 57585 11138 11194 11070 11292 + 57586 11273 11194 11292 11070 + 57587 11231 11072 11125 11275 + 57588 11264 11073 11109 11193 + 57589 11073 11108 11264 11167 + 57590 11073 11264 11109 11167 + 57591 11264 11141 11073 11193 + 57592 11298 11141 11077 11073 + 57593 11298 11264 11141 11073 + 57594 11073 11264 11108 11298 + 57595 11073 11298 11108 11139 + 57596 11298 11139 11073 11077 + 57597 11075 11191 11240 11137 + 57598 11240 11141 11077 11236 + 57599 11298 11236 11139 11077 + 57600 11236 11298 11141 11077 + 57601 11078 11139 11192 11298 + 57602 11285 11298 11078 11192 + 57603 11078 11236 11139 11298 + 57604 11079 11259 11303 11290 + 57605 11175 11259 11303 11079 + 57606 11347 11079 11221 11263 + 57607 11347 11079 11303 11290 + 57608 11347 11221 11079 11290 + 57609 11263 11347 11079 11193 + 57610 11347 11384 11303 11079 + 57611 11347 11193 11384 11079 + 57612 11384 11175 11303 11079 + 57613 11384 11079 11193 11175 + 57614 11142 11305 11263 11080 + 57615 11080 11305 11292 11273 + 57616 11142 11273 11305 11080 + 57617 11083 11195 11247 11306 + 57618 11247 11307 11279 11083 + 57619 11242 11279 11307 11083 + 57620 11242 11307 11197 11083 + 57621 11348 11247 11306 11083 + 57622 11307 11083 11247 11348 + 57623 11307 11197 11083 11348 + 57624 11145 11083 11197 11348 + 57625 11145 11348 11385 11083 + 57626 11195 11306 11083 11385 + 57627 11195 11083 11145 11385 + 57628 11306 11385 11348 11083 + 57629 11145 11084 11195 11277 + 57630 11198 11084 11277 11243 + 57631 11150 11246 11085 11202 + 57632 11279 11085 11202 11151 + 57633 11202 11279 11294 11085 + 57634 11085 11294 11202 11246 + 57635 11085 11146 11294 11246 + 57636 11160 11283 11086 11296 + 57637 11308 11296 11246 11086 + 57638 11146 11246 11086 11308 + 57639 11308 11283 11296 11086 + 57640 11146 11086 11209 11308 + 57641 11209 11086 11163 11349 + 57642 11209 11308 11086 11349 + 57643 11283 11163 11086 11349 + 57644 11283 11086 11308 11349 + 57645 11241 11276 11197 11087 + 57646 11196 11241 11088 11145 + 57647 11088 11145 11385 11277 + 57648 11241 11385 11088 11145 + 57649 11090 11148 11244 11200 + 57650 11149 11245 11200 11090 + 57651 11245 11090 11149 11201 + 57652 11244 11090 11293 11152 + 57653 11244 11309 11293 11090 + 57654 11244 11200 11309 11090 + 57655 11090 11200 11309 11351 + 57656 11090 11245 11200 11351 + 57657 11293 11152 11090 11388 + 57658 11388 11245 11090 11351 + 57659 11090 11388 11152 11201 + 57660 11388 11309 11090 11293 + 57661 11090 11245 11388 11201 + 57662 11351 11309 11090 11388 + 57663 11203 11150 11091 11388 + 57664 11091 11201 11152 11388 + 57665 11150 11388 11201 11091 + 57666 11091 11152 11203 11388 + 57667 11151 11202 11311 11092 + 57668 11150 11092 11278 11311 + 57669 11150 11311 11202 11092 + 57670 11310 11203 11150 11093 + 57671 11310 11154 11203 11093 + 57672 11154 11356 11204 11093 + 57673 11093 11154 11356 11310 + 57674 11153 11204 11356 11093 + 57675 11246 11356 11093 11153 + 57676 11389 11093 11356 11310 + 57677 11093 11150 11310 11389 + 57678 11093 11246 11150 11389 + 57679 11093 11246 11389 11356 + 57680 11203 11094 11154 11355 + 57681 11203 11248 11094 11355 + 57682 11392 11154 11094 11355 + 57683 11229 11154 11094 11392 + 57684 11204 11153 11296 11095 + 57685 11205 11296 11153 11095 + 57686 11095 11288 11314 11182 + 57687 11204 11296 11314 11095 + 57688 11314 11204 11095 11182 + 57689 11095 11268 11205 11357 + 57690 11357 11095 11268 11288 + 57691 11095 11205 11296 11357 + 57692 11357 11296 11095 11314 + 57693 11095 11314 11288 11357 + 57694 11252 11096 11280 11155 + 57695 11155 11096 11280 11242 + 57696 11279 11096 11242 11307 + 57697 11096 11155 11252 11316 + 57698 11387 11242 11096 11307 + 57699 11387 11252 11096 11280 + 57700 11387 11252 11316 11096 + 57701 11387 11096 11242 11280 + 57702 11307 11096 11423 11279 + 57703 11316 11096 11423 11387 + 57704 11251 11423 11155 11096 + 57705 11387 11307 11096 11423 + 57706 11279 11096 11423 11251 + 57707 11155 11096 11423 11316 + 57708 11158 11207 11317 11097 + 57709 11237 11317 11097 11158 + 57710 11098 11301 11158 11206 + 57711 11156 11301 11098 11297 + 57712 11206 11098 11301 11157 + 57713 11297 11301 11098 11157 + 57714 11249 11358 11207 11099 + 57715 11358 11207 11099 11250 + 57716 11099 11210 11358 11250 + 57717 11358 11210 11099 11161 + 57718 11161 11358 11249 11099 + 57719 11295 11208 11100 11280 + 57720 11155 11280 11252 11101 + 57721 11252 11316 11155 11101 + 57722 11281 11155 11316 11101 + 57723 11281 11316 11253 11101 + 57724 11253 11210 11101 11395 + 57725 11101 11316 11253 11395 + 57726 11101 11252 11316 11395 + 57727 11252 11101 11210 11395 + 57728 11319 11102 11161 11282 + 57729 11102 11358 11253 11321 + 57730 11319 11161 11102 11358 + 57731 11161 11358 11253 11102 + 57732 11361 11162 11102 11282 + 57733 11361 11102 11319 11282 + 57734 11361 11396 11102 11162 + 57735 11102 11396 11321 11253 + 57736 11253 11102 11396 11211 + 57737 11162 11396 11102 11211 + 57738 11450 11319 11102 11358 + 57739 11102 11450 11358 11321 + 57740 11396 11450 11102 11321 + 57741 11361 11450 11102 11396 + 57742 11102 11361 11319 11450 + 57743 11322 11103 11211 11162 + 57744 11254 11323 11103 11212 + 57745 11255 11323 11212 11103 + 57746 11103 11362 11163 11255 + 57747 11103 11323 11362 11255 + 57748 11428 11211 11103 11163 + 57749 11103 11322 11211 11428 + 57750 11362 11428 11322 11103 + 57751 11428 11103 11362 11163 + 57752 11103 11429 11162 11322 + 57753 11322 11103 11429 11362 + 57754 11362 11103 11429 11323 + 57755 11103 11162 11429 11254 + 57756 11103 11429 11323 11254 + 57757 11104 11255 11212 11283 + 57758 11283 11315 11104 11255 + 57759 11104 11283 11160 11315 + 57760 11104 11205 11164 11315 + 57761 11104 11160 11205 11315 + 57762 11363 11104 11256 11164 + 57763 11363 11212 11104 11255 + 57764 11363 11104 11212 11256 + 57765 11104 11315 11399 11255 + 57766 11399 11363 11104 11255 + 57767 11399 11363 11432 11104 + 57768 11399 11432 11315 11104 + 57769 11363 11164 11432 11104 + 57770 11164 11315 11432 11104 + 57771 11156 11214 11105 11318 + 57772 11156 11105 11213 11318 + 57773 11171 11326 11260 11105 + 57774 11105 11213 11318 11364 + 57775 11260 11364 11213 11105 + 57776 11105 11326 11260 11364 + 57777 11105 11318 11401 11364 + 57778 11401 11171 11214 11105 + 57779 11171 11401 11326 11105 + 57780 11105 11401 11326 11364 + 57781 11401 11105 11214 11318 + 57782 11168 11267 11225 11106 + 57783 11267 11106 11168 11222 + 57784 11176 11106 11267 11222 + 57785 11256 11106 11165 11325 + 57786 11165 11106 11286 11325 + 57787 11256 11223 11106 11325 + 57788 11106 11225 11286 11366 + 57789 11106 11176 11267 11366 + 57790 11106 11267 11225 11366 + 57791 11286 11106 11366 11325 + 57792 11402 11176 11106 11366 + 57793 11402 11366 11106 11325 + 57794 11223 11325 11402 11106 + 57795 11223 11402 11176 11106 + 57796 11192 11302 11166 11107 + 57797 11219 11166 11302 11107 + 57798 11219 11302 11169 11107 + 57799 11302 11169 11107 11192 + 57800 11139 11192 11298 11108 + 57801 11302 11166 11108 11192 + 57802 11298 11302 11264 11108 + 57803 11302 11108 11298 11192 + 57804 11257 11166 11108 11302 + 57805 11264 11108 11302 11367 + 57806 11257 11108 11367 11302 + 57807 11264 11108 11367 11167 + 57808 11257 11167 11367 11108 + 57809 11265 11109 11216 11175 + 57810 11304 11109 11193 11264 + 57811 11215 11109 11304 11167 + 57812 11264 11304 11109 11167 + 57813 11265 11368 11109 11175 + 57814 11368 11304 11215 11109 + 57815 11287 11265 11368 11109 + 57816 11368 11215 11287 11109 + 57817 11304 11384 11193 11109 + 57818 11175 11384 11109 11193 + 57819 11368 11384 11304 11109 + 57820 11384 11109 11368 11175 + 57821 11328 11110 11299 11215 + 57822 11180 11257 11110 11329 + 57823 11180 11329 11110 11228 + 57824 11266 11110 11330 11228 + 57825 11266 11110 11299 11330 + 57826 11110 11369 11228 11329 + 57827 11369 11110 11228 11330 + 57828 11329 11110 11403 11257 + 57829 11328 11403 11369 11110 + 57830 11110 11403 11369 11329 + 57831 11110 11257 11215 11403 + 57832 11328 11403 11110 11215 + 57833 11369 11404 11110 11330 + 57834 11328 11369 11404 11110 + 57835 11110 11404 11299 11330 + 57836 11110 11299 11404 11328 + 57837 11171 11284 11258 11111 + 57838 11170 11111 11217 11284 + 57839 11258 11217 11111 11284 + 57840 11290 11303 11112 11259 + 57841 11290 11112 11303 11372 + 57842 11290 11238 11112 11372 + 57843 11434 11112 11260 11238 + 57844 11259 11434 11303 11112 + 57845 11112 11434 11372 11238 + 57846 11303 11112 11434 11372 + 57847 11260 11434 11284 11112 + 57848 11259 11434 11112 11284 + 57849 11170 11284 11217 11113 + 57850 11113 11217 11258 11284 + 57851 11113 11258 11217 11286 + 57852 11331 11258 11284 11113 + 57853 11225 11286 11331 11113 + 57854 11113 11331 11258 11286 + 57855 11331 11284 11371 11113 + 57856 11225 11331 11371 11113 + 57857 11170 11216 11371 11113 + 57858 11170 11371 11284 11113 + 57859 11216 11371 11113 11265 + 57860 11371 11265 11225 11113 + 57861 11261 11172 11114 11332 + 57862 11373 11172 11114 11234 + 57863 11172 11114 11332 11373 + 57864 11233 11115 11261 11172 + 57865 11220 11115 11333 11174 + 57866 11115 11233 11333 11174 + 57867 11370 11261 11115 11169 + 57868 11169 11219 11115 11370 + 57869 11115 11370 11333 11408 + 57870 11115 11261 11370 11408 + 57871 11233 11333 11408 11115 + 57872 11261 11233 11408 11115 + 57873 11435 11115 11333 11220 + 57874 11435 11115 11220 11262 + 57875 11370 11219 11115 11435 + 57876 11435 11370 11333 11115 + 57877 11219 11115 11435 11262 + 57878 11118 11289 11224 11177 + 57879 11336 11177 11118 11222 + 57880 11289 11177 11118 11336 + 57881 11176 11289 11118 11336 + 57882 11118 11222 11176 11336 + 57883 11271 11337 11178 11119 + 57884 11119 11178 11226 11337 + 57885 11271 11227 11337 11119 + 57886 11227 11119 11179 11337 + 57887 11179 11337 11119 11226 + 57888 11227 11119 11271 11376 + 57889 11376 11119 11271 11224 + 57890 11177 11376 11119 11227 + 57891 11224 11177 11376 11119 + 57892 11120 11173 11262 11220 + 57893 11120 11334 11226 11173 + 57894 11120 11334 11173 11220 + 57895 11374 11334 11120 11220 + 57896 11120 11379 11228 11179 + 57897 11374 11120 11334 11413 + 57898 11413 11228 11120 11379 + 57899 11435 11262 11220 11120 + 57900 11374 11435 11120 11413 + 57901 11435 11262 11120 11180 + 57902 11435 11220 11374 11120 + 57903 11435 11228 11120 11413 + 57904 11120 11228 11435 11180 + 57905 11413 11120 11439 11379 + 57906 11439 11334 11120 11413 + 57907 11379 11120 11439 11179 + 57908 11226 11439 11334 11120 + 57909 11226 11179 11439 11120 + 57910 11222 11267 11176 11121 + 57911 11176 11222 11121 11336 + 57912 11121 11336 11177 11266 + 57913 11336 11121 11177 11222 + 57914 11336 11176 11438 11121 + 57915 11438 11299 11121 11267 + 57916 11267 11438 11176 11121 + 57917 11457 11121 11266 11336 + 57918 11457 11299 11121 11438 + 57919 11121 11457 11266 11299 + 57920 11438 11336 11121 11457 + 57921 11254 11122 11212 11157 + 57922 11122 11181 11297 11254 + 57923 11297 11157 11122 11254 + 57924 11323 11254 11122 11212 + 57925 11256 11122 11363 11300 + 57926 11323 11212 11122 11363 + 57927 11212 11256 11122 11363 + 57928 11122 11300 11398 11363 + 57929 11181 11398 11122 11300 + 57930 11122 11398 11181 11254 + 57931 11323 11398 11363 11122 + 57932 11122 11398 11254 11323 + 57933 11380 11230 11123 11182 + 57934 11182 11123 11380 11229 + 57935 11204 11124 11182 11314 + 57936 11356 11204 11124 11154 + 57937 11204 11356 11124 11314 + 57938 11124 11182 11380 11229 + 57939 11314 11182 11380 11124 + 57940 11124 11154 11229 11392 + 57941 11380 11229 11442 11124 + 57942 11392 11442 11124 11339 + 57943 11124 11442 11340 11381 + 57944 11339 11381 11442 11124 + 57945 11442 11340 11380 11124 + 57946 11124 11229 11442 11392 + 57947 11314 11380 11443 11124 + 57948 11443 11380 11340 11124 + 57949 11124 11340 11443 11381 + 57950 11356 11154 11124 11449 + 57951 11124 11339 11381 11449 + 57952 11443 11124 11381 11449 + 57953 11124 11392 11449 11154 + 57954 11124 11392 11339 11449 + 57955 11124 11464 11314 11356 + 57956 11314 11443 11464 11124 + 57957 11464 11124 11449 11356 + 57958 11449 11464 11443 11124 + 57959 11232 11125 11269 11183 + 57960 11125 11289 11232 11269 + 57961 11275 11341 11183 11125 + 57962 11183 11341 11232 11125 + 57963 11231 11125 11382 11275 + 57964 11125 11275 11341 11382 + 57965 11125 11341 11232 11382 + 57966 11382 11125 11270 11232 + 57967 11270 11382 11231 11125 + 57968 11383 11126 11183 11269 + 57969 11269 11184 11383 11126 + 57970 11336 11232 11127 11289 + 57971 11289 11127 11336 11176 + 57972 11176 11127 11336 11375 + 57973 11382 11343 11127 11270 + 57974 11127 11382 11270 11232 + 57975 11402 11223 11176 11127 + 57976 11176 11402 11127 11375 + 57977 11343 11432 11402 11127 + 57978 11343 11270 11432 11127 + 57979 11127 11270 11432 11223 + 57980 11127 11432 11402 11223 + 57981 11336 11444 11375 11127 + 57982 11232 11444 11336 11127 + 57983 11382 11232 11127 11460 + 57984 11232 11444 11127 11460 + 57985 11382 11127 11343 11460 + 57986 11460 11127 11343 11467 + 57987 11467 11375 11444 11127 + 57988 11127 11460 11444 11467 + 57989 11127 11402 11467 11375 + 57990 11127 11343 11467 11402 + 57991 11172 11128 11272 11233 + 57992 11235 11129 11274 11185 + 57993 11373 11172 11234 11129 + 57994 11373 11235 11172 11129 + 57995 11235 11274 11129 11373 + 57996 11234 11129 11274 11373 + 57997 11186 11327 11130 11213 + 57998 11130 11213 11327 11187 + 57999 11213 11318 11131 11156 + 58000 11318 11131 11156 11301 + 58001 11327 11213 11131 11187 + 58002 11359 11237 11131 11158 + 58003 11131 11187 11237 11359 + 58004 11131 11213 11364 11318 + 58005 11327 11364 11131 11213 + 58006 11359 11131 11393 11158 + 58007 11301 11131 11158 11393 + 58008 11417 11187 11131 11359 + 58009 11131 11187 11417 11327 + 58010 11364 11417 11327 11131 + 58011 11131 11359 11461 11417 + 58012 11461 11301 11393 11131 + 58013 11393 11461 11131 11359 + 58014 11461 11301 11131 11318 + 58015 11131 11461 11468 11417 + 58016 11364 11468 11417 11131 + 58017 11131 11461 11318 11468 + 58018 11318 11131 11468 11364 + 58019 11132 11291 11335 11221 + 58020 11188 11335 11221 11132 + 58021 11133 11344 11238 11188 + 58022 11407 11344 11238 11133 + 58023 11407 11238 11260 11133 + 58024 11407 11186 11133 11260 + 58025 11189 11239 11135 11275 + 58026 11239 11189 11135 11346 + 58027 11135 11346 11189 11415 + 58028 11230 11415 11135 11288 + 58029 11189 11135 11415 11288 + 58030 11142 11221 11263 11291 + 58031 11263 11291 11305 11142 + 58032 11273 11305 11291 11142 + 58033 11145 11348 11197 11241 + 58034 11145 11348 11241 11385 + 58035 11195 11385 11145 11277 + 58036 11146 11209 11294 11308 + 58037 11308 11146 11246 11294 + 58038 11276 11208 11242 11147 + 58039 11150 11311 11352 11202 + 58040 11203 11310 11150 11388 + 58041 11150 11388 11278 11201 + 58042 11352 11310 11150 11389 + 58043 11150 11389 11246 11202 + 58044 11150 11202 11352 11389 + 58045 11150 11310 11352 11421 + 58046 11150 11352 11311 11421 + 58047 11388 11150 11278 11421 + 58048 11388 11310 11150 11421 + 58049 11311 11421 11278 11150 + 58050 11279 11151 11202 11251 + 58051 11202 11151 11311 11354 + 58052 11354 11202 11151 11251 + 58053 11151 11279 11391 11251 + 58054 11279 11151 11391 11247 + 58055 11151 11391 11354 11251 + 58056 11248 11293 11203 11152 + 58057 11293 11203 11152 11388 + 58058 11153 11296 11356 11204 + 58059 11153 11246 11356 11296 + 58060 11203 11310 11355 11154 + 58061 11310 11154 11392 11355 + 58062 11310 11449 11392 11154 + 58063 11154 11449 11356 11310 + 58064 11251 11155 11281 11209 + 58065 11281 11155 11423 11316 + 58066 11423 11281 11251 11155 + 58067 11318 11214 11297 11156 + 58068 11318 11297 11301 11156 + 58069 11157 11297 11282 11254 + 58070 11301 11282 11206 11157 + 58071 11301 11297 11282 11157 + 58072 11206 11249 11301 11158 + 58073 11249 11207 11317 11158 + 58074 11237 11317 11158 11359 + 58075 11158 11317 11249 11393 + 58076 11317 11393 11158 11359 + 58077 11249 11301 11158 11393 + 58078 11320 11159 11210 11295 + 58079 11159 11210 11250 11320 + 58080 11315 11283 11160 11296 + 58081 11315 11160 11205 11296 + 58082 11206 11319 11249 11161 + 58083 11319 11161 11206 11282 + 58084 11358 11253 11210 11161 + 58085 11319 11249 11161 11358 + 58086 11282 11254 11361 11162 + 58087 11429 11361 11254 11162 + 58088 11396 11361 11429 11162 + 58089 11322 11162 11211 11451 + 58090 11451 11162 11396 11429 + 58091 11451 11322 11162 11429 + 58092 11396 11211 11162 11451 + 58093 11349 11209 11281 11163 + 58094 11349 11163 11281 11428 + 58095 11428 11281 11211 11163 + 58096 11428 11362 11452 11163 + 58097 11349 11452 11283 11163 + 58098 11428 11452 11349 11163 + 58099 11452 11362 11255 11163 + 58100 11452 11255 11283 11163 + 58101 11231 11164 11268 11357 + 58102 11205 11357 11268 11164 + 58103 11205 11315 11357 11164 + 58104 11363 11256 11223 11164 + 58105 11270 11432 11223 11164 + 58106 11223 11164 11432 11363 + 58107 11164 11432 11453 11270 + 58108 11315 11164 11432 11453 + 58109 11357 11453 11231 11164 + 58110 11357 11315 11453 11164 + 58111 11164 11453 11231 11270 + 58112 11165 11300 11286 11217 + 58113 11165 11325 11286 11300 + 58114 11165 11325 11300 11256 + 58115 11219 11302 11166 11257 + 58116 11167 11367 11264 11304 + 58117 11304 11403 11215 11167 + 58118 11304 11367 11403 11167 + 58119 11403 11215 11167 11257 + 58120 11403 11167 11367 11257 + 58121 11267 11287 11168 11225 + 58122 11287 11299 11168 11215 + 58123 11168 11299 11287 11267 + 58124 11285 11169 11218 11261 + 58125 11302 11285 11169 11192 + 58126 11285 11302 11169 11370 + 58127 11370 11285 11261 11169 + 58128 11219 11370 11169 11302 + 58129 11170 11371 11216 11259 + 58130 11284 11371 11170 11259 + 58131 11284 11171 11326 11260 + 58132 11171 11401 11284 11326 + 58133 11401 11171 11258 11214 + 58134 11258 11171 11401 11284 + 58135 11332 11261 11172 11233 + 58136 11233 11272 11172 11332 + 58137 11172 11332 11272 11373 + 58138 11272 11235 11172 11373 + 58139 11216 11259 11371 11175 + 58140 11265 11175 11216 11371 + 58141 11303 11371 11259 11175 + 58142 11265 11410 11175 11371 + 58143 11175 11371 11410 11303 + 58144 11175 11437 11384 11303 + 58145 11175 11265 11368 11437 + 58146 11175 11368 11384 11437 + 58147 11175 11410 11437 11303 + 58148 11437 11410 11175 11265 + 58149 11176 11267 11366 11438 + 58150 11402 11375 11176 11438 + 58151 11336 11375 11438 11176 + 58152 11176 11366 11402 11438 + 58153 11376 11289 11336 11177 + 58154 11289 11177 11376 11224 + 58155 11266 11227 11411 11177 + 58156 11266 11411 11336 11177 + 58157 11376 11227 11177 11411 + 58158 11336 11376 11177 11411 + 58159 11179 11266 11379 11228 + 58160 11227 11379 11179 11266 + 58161 11227 11179 11439 11337 + 58162 11179 11439 11337 11226 + 58163 11379 11179 11439 11227 + 58164 11329 11405 11180 11257 + 58165 11257 11405 11180 11219 + 58166 11180 11435 11329 11228 + 58167 11435 11329 11405 11180 + 58168 11435 11219 11180 11405 + 58169 11219 11435 11180 11262 + 58170 11214 11181 11258 11365 + 58171 11214 11297 11181 11365 + 58172 11398 11181 11254 11324 + 58173 11365 11181 11258 11406 + 58174 11365 11406 11324 11181 + 58175 11365 11430 11297 11181 + 58176 11365 11324 11430 11181 + 58177 11254 11430 11324 11181 + 58178 11254 11297 11430 11181 + 58179 11300 11433 11181 11398 + 58180 11258 11433 11406 11181 + 58181 11433 11181 11258 11300 + 58182 11406 11181 11433 11459 + 58183 11398 11433 11181 11459 + 58184 11181 11324 11398 11459 + 58185 11181 11406 11324 11459 + 58186 11314 11380 11182 11415 + 58187 11230 11288 11182 11415 + 58188 11314 11182 11288 11415 + 58189 11230 11182 11380 11415 + 58190 11239 11341 11183 11275 + 58191 11341 11383 11183 11232 + 58192 11232 11269 11383 11183 + 58193 11269 11376 11184 11224 + 58194 11184 11342 11376 11269 + 58195 11376 11271 11342 11184 + 58196 11224 11376 11184 11271 + 58197 11184 11383 11342 11269 + 58198 11260 11213 11327 11186 + 58199 11327 11186 11407 11260 + 58200 11188 11290 11221 11335 + 58201 11188 11418 11290 11335 + 58202 11418 11290 11238 11188 + 58203 11418 11238 11344 11188 + 58204 11288 11231 11357 11189 + 58205 11382 11275 11189 11231 + 58206 11239 11275 11189 11382 + 58207 11239 11189 11346 11420 + 58208 11382 11420 11189 11239 + 58209 11420 11448 11189 11346 + 58210 11382 11448 11189 11420 + 58211 11448 11382 11189 11453 + 58212 11453 11382 11189 11231 + 58213 11189 11231 11357 11453 + 58214 11288 11357 11466 11189 + 58215 11346 11448 11189 11466 + 58216 11189 11288 11415 11466 + 58217 11189 11415 11346 11466 + 58218 11448 11189 11466 11453 + 58219 11189 11357 11466 11453 + 58220 11302 11298 11285 11192 + 58221 11385 11306 11277 11195 + 58222 11241 11276 11348 11197 + 58223 11197 11348 11386 11276 + 58224 11242 11307 11386 11197 + 58225 11348 11386 11307 11197 + 58226 11197 11386 11242 11276 + 58227 11245 11278 11388 11201 + 58228 11202 11251 11294 11279 + 58229 11202 11294 11308 11246 + 58230 11202 11313 11294 11251 + 58231 11202 11354 11313 11251 + 58232 11202 11308 11389 11246 + 58233 11308 11202 11389 11352 + 58234 11352 11202 11311 11390 + 58235 11308 11390 11202 11352 + 58236 11294 11202 11390 11313 + 58237 11390 11308 11202 11294 + 58238 11311 11354 11422 11202 + 58239 11313 11390 11422 11202 + 58240 11313 11422 11354 11202 + 58241 11422 11311 11202 11390 + 58242 11248 11355 11203 11293 + 58243 11203 11293 11355 11388 + 58244 11310 11388 11203 11355 + 58245 11314 11356 11296 11204 + 58246 11315 11205 11357 11296 + 58247 11319 11249 11301 11206 + 58248 11319 11206 11301 11282 + 58249 11358 11394 11207 11250 + 58250 11358 11207 11394 11249 + 58251 11317 11394 11207 11249 + 58252 11295 11208 11280 11350 + 58253 11280 11350 11208 11242 + 58254 11242 11208 11386 11350 + 58255 11276 11242 11208 11386 + 58256 11209 11308 11349 11294 + 58257 11281 11209 11349 11251 + 58258 11349 11294 11251 11209 + 58259 11210 11252 11320 11295 + 58260 11395 11252 11320 11210 + 58261 11253 11210 11395 11358 + 58262 11395 11210 11320 11426 + 58263 11426 11358 11395 11210 + 58264 11250 11320 11210 11426 + 58265 11426 11210 11250 11358 + 58266 11253 11211 11360 11281 + 58267 11360 11253 11396 11211 + 58268 11281 11360 11397 11211 + 58269 11281 11397 11428 11211 + 58270 11451 11428 11397 11211 + 58271 11360 11396 11451 11211 + 58272 11451 11211 11322 11428 + 58273 11451 11397 11360 11211 + 58274 11363 11323 11212 11255 + 58275 11213 11364 11260 11327 + 58276 11365 11318 11214 11297 + 58277 11258 11401 11214 11365 + 58278 11401 11318 11214 11365 + 58279 11299 11287 11328 11215 + 58280 11328 11287 11368 11215 + 58281 11328 11368 11403 11215 + 58282 11403 11304 11215 11368 + 58283 11286 11258 11217 11300 + 58284 11219 11405 11370 11302 + 58285 11257 11219 11302 11405 + 58286 11435 11370 11219 11405 + 58287 11220 11374 11333 11435 + 58288 11221 11291 11409 11263 + 58289 11221 11409 11347 11263 + 58290 11291 11409 11335 11221 + 58291 11335 11221 11409 11436 + 58292 11347 11409 11221 11436 + 58293 11290 11347 11221 11436 + 58294 11290 11221 11335 11436 + 58295 11363 11325 11223 11256 + 58296 11402 11363 11325 11223 + 58297 11402 11432 11363 11223 + 58298 11289 11376 11269 11224 + 58299 11267 11338 11287 11225 + 58300 11366 11225 11338 11267 + 58301 11265 11331 11371 11225 + 58302 11225 11265 11412 11287 + 58303 11287 11338 11412 11225 + 58304 11265 11412 11331 11225 + 58305 11366 11412 11338 11225 + 58306 11433 11331 11412 11225 + 58307 11286 11366 11225 11433 + 58308 11433 11286 11331 11225 + 58309 11366 11412 11225 11433 + 58310 11440 11266 11227 11411 + 58311 11227 11379 11266 11440 + 58312 11376 11271 11227 11441 + 58313 11337 11441 11227 11271 + 58314 11227 11376 11441 11411 + 58315 11411 11441 11227 11456 + 58316 11441 11456 11337 11227 + 58317 11379 11440 11227 11456 + 58318 11227 11456 11439 11379 + 58319 11456 11439 11337 11227 + 58320 11411 11227 11440 11456 + 58321 11266 11330 11379 11228 + 58322 11369 11414 11330 11228 + 58323 11228 11329 11458 11435 + 58324 11228 11458 11413 11435 + 58325 11369 11458 11414 11228 + 58326 11329 11458 11369 11228 + 58327 11330 11379 11228 11465 + 58328 11465 11330 11414 11228 + 58329 11465 11458 11413 11228 + 58330 11465 11414 11458 11228 + 58331 11228 11465 11379 11413 + 58332 11357 11268 11231 11288 + 58333 11231 11270 11453 11382 + 58334 11269 11376 11232 11342 + 58335 11232 11289 11336 11376 + 58336 11232 11269 11289 11376 + 58337 11232 11269 11342 11383 + 58338 11232 11342 11416 11383 + 58339 11376 11416 11232 11342 + 58340 11416 11383 11341 11232 + 58341 11232 11444 11376 11336 + 58342 11232 11376 11444 11416 + 58343 11382 11460 11341 11232 + 58344 11232 11341 11416 11460 + 58345 11232 11416 11444 11460 + 58346 11332 11408 11261 11233 + 58347 11238 11326 11364 11260 + 58348 11407 11364 11260 11238 + 58349 11372 11290 11238 11418 + 58350 11434 11326 11419 11238 + 58351 11434 11419 11372 11238 + 58352 11434 11260 11326 11238 + 58353 11238 11372 11445 11419 + 58354 11418 11238 11372 11445 + 58355 11418 11344 11238 11445 + 58356 11238 11446 11326 11419 + 58357 11364 11446 11326 11238 + 58358 11344 11463 11407 11238 + 58359 11463 11364 11407 11238 + 58360 11238 11445 11463 11419 + 58361 11238 11419 11463 11446 + 58362 11364 11463 11446 11238 + 58363 11344 11445 11463 11238 + 58364 11239 11382 11341 11275 + 58365 11382 11341 11420 11239 + 58366 11350 11242 11307 11386 + 58367 11387 11307 11350 11242 + 58368 11280 11387 11350 11242 + 58369 11388 11278 11245 11351 + 58370 11389 11296 11246 11308 + 58371 11356 11246 11389 11296 + 58372 11279 11391 11307 11247 + 58373 11424 11247 11348 11307 + 58374 11348 11424 11306 11247 + 58375 11391 11307 11247 11424 + 58376 11358 11249 11393 11319 + 58377 11301 11393 11249 11319 + 58378 11358 11249 11394 11425 + 58379 11317 11425 11394 11249 + 58380 11317 11393 11425 11249 + 58381 11358 11393 11249 11425 + 58382 11426 11250 11394 11358 + 58383 11349 11251 11294 11313 + 58384 11349 11281 11251 11313 + 58385 11279 11423 11391 11251 + 58386 11313 11423 11251 11354 + 58387 11251 11281 11423 11313 + 58388 11354 11391 11423 11251 + 58389 11252 11295 11280 11350 + 58390 11252 11280 11387 11350 + 58391 11316 11395 11252 11427 + 58392 11387 11350 11427 11252 + 58393 11395 11320 11252 11427 + 58394 11387 11316 11252 11427 + 58395 11427 11350 11295 11252 + 58396 11252 11295 11427 11320 + 58397 11253 11360 11316 11281 + 58398 11253 11321 11395 11360 + 58399 11253 11395 11316 11360 + 58400 11253 11395 11321 11358 + 58401 11253 11396 11321 11360 + 58402 11319 11297 11254 11282 + 58403 11254 11361 11319 11282 + 58404 11429 11398 11254 11324 + 58405 11429 11254 11361 11324 + 58406 11398 11254 11323 11429 + 58407 11254 11319 11361 11430 + 58408 11361 11430 11324 11254 + 58409 11254 11297 11319 11430 + 58410 11323 11362 11255 11399 + 58411 11399 11323 11363 11255 + 58412 11255 11399 11431 11315 + 58413 11399 11431 11362 11255 + 58414 11255 11431 11283 11315 + 58415 11283 11431 11255 11452 + 58416 11362 11255 11431 11452 + 58417 11256 11363 11325 11300 + 58418 11329 11403 11367 11257 + 58419 11329 11367 11405 11257 + 58420 11257 11302 11367 11405 + 58421 11258 11433 11286 11331 + 58422 11433 11258 11286 11300 + 58423 11258 11406 11433 11331 + 58424 11258 11401 11434 11284 + 58425 11258 11284 11434 11331 + 58426 11434 11401 11258 11454 + 58427 11454 11434 11331 11258 + 58428 11454 11331 11406 11258 + 58429 11258 11454 11401 11365 + 58430 11365 11258 11454 11406 + 58431 11303 11259 11371 11434 + 58432 11284 11434 11371 11259 + 58433 11327 11407 11364 11260 + 58434 11284 11326 11434 11260 + 58435 11263 11291 11409 11305 + 58436 11265 11371 11331 11410 + 58437 11265 11331 11377 11410 + 58438 11412 11331 11377 11265 + 58439 11377 11410 11437 11265 + 58440 11455 11437 11265 11377 + 58441 11455 11368 11265 11437 + 58442 11412 11265 11377 11455 + 58443 11287 11265 11412 11455 + 58444 11287 11265 11455 11368 + 58445 11379 11440 11330 11266 + 58446 11330 11266 11457 11299 + 58447 11330 11266 11440 11457 + 58448 11457 11266 11411 11336 + 58449 11457 11440 11411 11266 + 58450 11338 11287 11299 11267 + 58451 11438 11366 11338 11267 + 58452 11267 11338 11438 11299 + 58453 11382 11453 11343 11270 + 58454 11432 11270 11343 11453 + 58455 11376 11342 11271 11441 + 58456 11351 11388 11278 11312 + 58457 11311 11278 11421 11353 + 58458 11312 11278 11353 11421 + 58459 11278 11421 11312 11388 + 58460 11307 11423 11391 11279 + 58461 11316 11360 11397 11281 + 58462 11423 11397 11281 11316 + 58463 11313 11397 11281 11423 + 58464 11349 11428 11281 11313 + 58465 11281 11428 11397 11313 + 58466 11319 11301 11297 11282 + 58467 11431 11283 11315 11296 + 58468 11452 11283 11308 11349 + 58469 11452 11308 11283 11296 + 58470 11452 11283 11431 11296 + 58471 11371 11434 11284 11331 + 58472 11434 11284 11401 11326 + 58473 11286 11366 11433 11325 + 58474 11286 11325 11433 11300 + 58475 11378 11299 11338 11287 + 58476 11378 11328 11299 11287 + 58477 11412 11378 11338 11287 + 58478 11328 11455 11287 11378 + 58479 11287 11455 11328 11368 + 58480 11412 11455 11378 11287 + 58481 11415 11466 11288 11314 + 58482 11357 11288 11466 11314 + 58483 11418 11345 11372 11290 + 58484 11418 11335 11436 11290 + 58485 11418 11436 11345 11290 + 58486 11372 11290 11462 11303 + 58487 11462 11372 11345 11290 + 58488 11290 11462 11347 11436 + 58489 11462 11345 11436 11290 + 58490 11462 11290 11347 11303 + 58491 11355 11293 11447 11388 + 58492 11388 11447 11309 11293 + 58493 11390 11349 11308 11294 + 58494 11390 11349 11294 11313 + 58495 11296 11357 11400 11314 + 58496 11400 11357 11296 11315 + 58497 11400 11296 11431 11315 + 58498 11296 11400 11464 11314 + 58499 11389 11464 11296 11308 + 58500 11452 11296 11464 11308 + 58501 11296 11314 11464 11356 + 58502 11464 11431 11400 11296 + 58503 11431 11296 11464 11452 + 58504 11356 11464 11296 11389 + 58505 11297 11318 11301 11430 + 58506 11297 11430 11301 11319 + 58507 11297 11365 11318 11430 + 58508 11404 11328 11299 11378 + 58509 11404 11299 11338 11378 + 58510 11404 11338 11299 11438 + 58511 11330 11457 11404 11299 + 58512 11457 11404 11299 11438 + 58513 11325 11398 11300 11363 + 58514 11325 11300 11398 11433 + 58515 11319 11393 11430 11301 + 58516 11301 11461 11393 11430 + 58517 11301 11461 11430 11318 + 58518 11303 11371 11410 11434 + 58519 11303 11437 11384 11462 + 58520 11384 11462 11347 11303 + 58521 11303 11434 11469 11372 + 58522 11303 11469 11434 11410 + 58523 11372 11303 11462 11496 + 58524 11496 11437 11410 11303 + 58525 11496 11303 11410 11469 + 58526 11496 11372 11303 11469 + 58527 11496 11462 11437 11303 + 58528 11424 11348 11386 11307 + 58529 11424 11307 11386 11470 + 58530 11307 11387 11350 11470 + 58531 11350 11307 11470 11386 + 58532 11424 11391 11307 11497 + 58533 11470 11424 11307 11497 + 58534 11423 11521 11307 11391 + 58535 11307 11470 11497 11521 + 58536 11307 11497 11391 11521 + 58537 11521 11307 11387 11423 + 58538 11387 11470 11307 11521 + 58539 11390 11308 11349 11452 + 58540 11390 11352 11308 11452 + 58541 11452 11464 11352 11308 + 58542 11389 11352 11464 11308 + 58543 11351 11447 11309 11388 + 58544 11449 11310 11421 11352 + 58545 11392 11310 11421 11449 + 58546 11352 11310 11389 11449 + 58547 11356 11389 11310 11449 + 58548 11310 11421 11471 11392 + 58549 11310 11388 11355 11471 + 58550 11310 11392 11471 11355 + 58551 11310 11421 11388 11471 + 58552 11352 11472 11311 11421 + 58553 11353 11421 11311 11472 + 58554 11390 11311 11352 11472 + 58555 11390 11422 11311 11472 + 58556 11351 11447 11388 11312 + 58557 11471 11421 11388 11312 + 58558 11471 11388 11447 11312 + 58559 11312 11421 11500 11471 + 58560 11312 11353 11500 11421 + 58561 11428 11349 11452 11313 + 58562 11349 11313 11390 11452 + 58563 11473 11397 11428 11313 + 58564 11473 11390 11422 11313 + 58565 11422 11473 11313 11354 + 58566 11313 11354 11473 11501 + 58567 11473 11501 11397 11313 + 58568 11313 11501 11397 11423 + 58569 11313 11501 11423 11354 + 58570 11523 11390 11313 11452 + 58571 11428 11452 11523 11313 + 58572 11313 11523 11473 11390 + 58573 11473 11313 11428 11523 + 58574 11380 11314 11443 11415 + 58575 11400 11464 11314 11443 + 58576 11415 11443 11466 11314 + 58577 11400 11314 11466 11443 + 58578 11357 11466 11400 11314 + 58579 11400 11357 11315 11453 + 58580 11399 11315 11432 11453 + 58581 11315 11399 11431 11475 + 58582 11400 11475 11453 11315 + 58583 11315 11431 11400 11475 + 58584 11399 11453 11475 11315 + 58585 11360 11395 11316 11502 + 58586 11316 11476 11360 11502 + 58587 11316 11502 11395 11427 + 58588 11316 11427 11476 11502 + 58589 11541 11316 11387 11427 + 58590 11427 11541 11316 11476 + 58591 11541 11423 11316 11397 + 58592 11360 11541 11316 11397 + 58593 11541 11360 11316 11476 + 58594 11541 11316 11423 11387 + 58595 11393 11425 11359 11317 + 58596 11318 11468 11401 11364 + 58597 11318 11365 11468 11430 + 58598 11365 11468 11401 11318 + 58599 11318 11468 11461 11430 + 58600 11358 11393 11450 11319 + 58601 11361 11450 11430 11319 + 58602 11450 11393 11430 11319 + 58603 11427 11395 11320 11502 + 58604 11395 11320 11502 11426 + 58605 11358 11395 11321 11426 + 58606 11358 11477 11426 11321 + 58607 11477 11321 11358 11450 + 58608 11479 11360 11321 11396 + 58609 11395 11502 11360 11321 + 58610 11426 11502 11395 11321 + 58611 11504 11321 11396 11479 + 58612 11477 11504 11321 11450 + 58613 11396 11504 11450 11321 + 58614 11321 11477 11426 11525 + 58615 11504 11479 11525 11321 + 58616 11426 11525 11502 11321 + 58617 11525 11360 11502 11321 + 58618 11321 11504 11477 11525 + 58619 11321 11479 11525 11360 + 58620 11322 11451 11480 11429 + 58621 11322 11506 11481 11362 + 58622 11322 11429 11480 11506 + 58623 11506 11322 11429 11362 + 58624 11523 11362 11428 11322 + 58625 11322 11523 11362 11481 + 58626 11545 11451 11322 11428 + 58627 11322 11545 11506 11480 + 58628 11523 11322 11545 11481 + 58629 11322 11451 11545 11480 + 58630 11506 11545 11322 11481 + 58631 11545 11322 11523 11428 + 58632 11398 11323 11482 11429 + 58633 11398 11482 11323 11363 + 58634 11363 11323 11546 11482 + 58635 11546 11362 11429 11323 + 58636 11546 11482 11323 11429 + 58637 11399 11323 11546 11363 + 58638 11323 11546 11362 11399 + 58639 11459 11324 11398 11482 + 58640 11429 11482 11398 11324 + 58641 11459 11406 11324 11483 + 58642 11507 11324 11406 11483 + 58643 11507 11528 11324 11483 + 58644 11459 11528 11324 11482 + 58645 11507 11528 11429 11324 + 58646 11459 11324 11528 11483 + 58647 11429 11528 11482 11324 + 58648 11365 11530 11430 11324 + 58649 11365 11406 11530 11324 + 58650 11530 11406 11507 11324 + 58651 11544 11324 11430 11530 + 58652 11530 11507 11544 11324 + 58653 11430 11544 11361 11324 + 58654 11507 11429 11544 11324 + 58655 11324 11361 11429 11544 + 58656 11325 11433 11459 11366 + 58657 11325 11433 11398 11459 + 58658 11325 11398 11482 11459 + 58659 11363 11398 11482 11325 + 58660 11363 11482 11509 11325 + 58661 11325 11459 11509 11366 + 58662 11325 11509 11363 11402 + 58663 11325 11402 11366 11509 + 58664 11459 11509 11482 11325 + 58665 11446 11401 11364 11326 + 58666 11419 11326 11434 11454 + 58667 11434 11326 11401 11454 + 58668 11446 11401 11326 11454 + 58669 11419 11446 11326 11454 + 58670 11407 11484 11327 11364 + 58671 11484 11417 11327 11364 + 58672 11328 11369 11487 11404 + 58673 11404 11328 11378 11487 + 58674 11488 11458 11329 11435 + 58675 11405 11329 11435 11488 + 58676 11330 11379 11465 11440 + 58677 11369 11487 11330 11414 + 58678 11330 11487 11369 11404 + 58679 11330 11465 11489 11440 + 58680 11465 11489 11414 11330 + 58681 11489 11414 11330 11512 + 58682 11487 11330 11414 11512 + 58683 11549 11487 11330 11404 + 58684 11330 11457 11440 11549 + 58685 11549 11489 11330 11512 + 58686 11330 11512 11487 11549 + 58687 11549 11330 11457 11404 + 58688 11440 11489 11330 11549 + 58689 11410 11434 11371 11331 + 58690 11469 11454 11434 11331 + 58691 11410 11469 11434 11331 + 58692 11469 11377 11331 11410 + 58693 11331 11514 11412 11377 + 58694 11514 11406 11331 11433 + 58695 11412 11433 11514 11331 + 58696 11469 11331 11377 11535 + 58697 11514 11377 11331 11535 + 58698 11331 11469 11454 11550 + 58699 11535 11469 11331 11550 + 58700 11331 11454 11406 11550 + 58701 11550 11406 11331 11514 + 58702 11535 11331 11514 11550 + 58703 11370 11333 11513 11435 + 58704 11333 11513 11408 11370 + 58705 11435 11374 11333 11513 + 58706 11444 11411 11376 11336 + 58707 11336 11375 11444 11411 + 58708 11411 11457 11336 11375 + 58709 11438 11375 11336 11457 + 58710 11438 11338 11366 11485 + 58711 11412 11338 11486 11366 + 58712 11338 11378 11511 11404 + 58713 11438 11338 11511 11404 + 58714 11438 11511 11338 11485 + 58715 11485 11532 11511 11338 + 58716 11338 11532 11486 11366 + 58717 11485 11366 11532 11338 + 58718 11338 11486 11552 11412 + 58719 11338 11552 11378 11412 + 58720 11378 11338 11559 11552 + 58721 11559 11511 11338 11378 + 58722 11559 11552 11338 11486 + 58723 11338 11486 11532 11559 + 58724 11338 11532 11511 11559 + 58725 11392 11421 11339 11449 + 58726 11339 11471 11421 11392 + 58727 11339 11474 11381 11449 + 58728 11421 11339 11500 11471 + 58729 11500 11421 11522 11339 + 58730 11449 11522 11339 11474 + 58731 11421 11522 11339 11449 + 58732 11500 11522 11562 11339 + 58733 11562 11522 11474 11339 + 58734 11474 11381 11562 11339 + 58735 11380 11340 11415 11443 + 58736 11415 11443 11340 11491 + 58737 11443 11381 11340 11554 + 58738 11443 11340 11491 11554 + 58739 11341 11460 11382 11420 + 58740 11460 11341 11416 11492 + 58741 11341 11492 11460 11420 + 58742 11490 11441 11342 11376 + 58743 11376 11342 11490 11416 + 58744 11382 11343 11453 11448 + 58745 11432 11343 11399 11453 + 58746 11343 11448 11382 11460 + 58747 11399 11453 11343 11475 + 58748 11448 11475 11343 11453 + 58749 11432 11509 11399 11343 + 58750 11432 11402 11509 11343 + 58751 11475 11538 11448 11343 + 58752 11343 11538 11448 11460 + 58753 11460 11343 11538 11467 + 58754 11538 11547 11343 11475 + 58755 11343 11399 11475 11547 + 58756 11547 11343 11399 11509 + 58757 11557 11547 11343 11538 + 58758 11343 11547 11557 11509 + 58759 11343 11557 11402 11509 + 58760 11557 11538 11343 11467 + 58761 11557 11467 11343 11402 + 58762 11372 11445 11419 11345 + 58763 11445 11418 11345 11372 + 58764 11445 11494 11419 11345 + 58765 11372 11345 11496 11462 + 58766 11345 11419 11372 11496 + 58767 11345 11494 11419 11496 + 58768 11466 11415 11346 11491 + 58769 11466 11346 11448 11537 + 58770 11491 11537 11346 11466 + 58771 11346 11537 11420 11448 + 58772 11498 11350 11387 11470 + 58773 11427 11350 11387 11498 + 58774 11389 11352 11449 11464 + 58775 11499 11449 11352 11464 + 58776 11472 11352 11390 11499 + 58777 11452 11352 11499 11390 + 58778 11452 11352 11464 11499 + 58779 11472 11352 11499 11522 + 58780 11449 11421 11522 11352 + 58781 11499 11522 11352 11449 + 58782 11522 11421 11472 11352 + 58783 11472 11421 11522 11353 + 58784 11500 11522 11421 11353 + 58785 11353 11500 11522 11542 + 58786 11353 11522 11472 11542 + 58787 11354 11521 11423 11391 + 58788 11521 11423 11501 11354 + 58789 11355 11447 11471 11388 + 58790 11389 11449 11356 11464 + 58791 11453 11466 11400 11357 + 58792 11450 11393 11358 11425 + 58793 11426 11394 11477 11358 + 58794 11358 11394 11477 11425 + 58795 11358 11477 11450 11425 + 58796 11393 11359 11425 11461 + 58797 11359 11503 11461 11417 + 58798 11503 11425 11359 11461 + 58799 11479 11451 11360 11396 + 58800 11397 11360 11505 11451 + 58801 11479 11505 11360 11451 + 58802 11526 11360 11505 11397 + 58803 11541 11526 11360 11476 + 58804 11526 11360 11397 11541 + 58805 11360 11479 11525 11543 + 58806 11360 11543 11526 11505 + 58807 11526 11543 11360 11476 + 58808 11360 11525 11502 11543 + 58809 11360 11479 11543 11505 + 58810 11502 11360 11543 11476 + 58811 11544 11450 11361 11396 + 58812 11544 11361 11429 11396 + 58813 11430 11361 11544 11450 + 58814 11362 11431 11399 11508 + 58815 11452 11362 11428 11523 + 58816 11362 11523 11508 11481 + 58817 11431 11362 11523 11508 + 58818 11523 11452 11362 11431 + 58819 11508 11529 11399 11362 + 58820 11362 11508 11529 11481 + 58821 11362 11529 11546 11481 + 58822 11399 11529 11546 11362 + 58823 11506 11429 11546 11362 + 58824 11481 11506 11546 11362 + 58825 11432 11509 11363 11399 + 58826 11432 11363 11509 11402 + 58827 11399 11546 11509 11363 + 58828 11363 11546 11509 11482 + 58829 11401 11468 11446 11364 + 58830 11364 11468 11446 11484 + 58831 11446 11364 11484 11463 + 58832 11407 11484 11364 11463 + 58833 11468 11417 11484 11364 + 58834 11401 11365 11454 11446 + 58835 11401 11468 11365 11446 + 58836 11446 11530 11468 11365 + 58837 11430 11530 11365 11468 + 58838 11365 11454 11530 11406 + 58839 11446 11454 11530 11365 + 58840 11366 11402 11438 11485 + 58841 11366 11486 11412 11433 + 58842 11366 11459 11486 11433 + 58843 11366 11402 11485 11509 + 58844 11459 11486 11532 11366 + 58845 11532 11366 11485 11509 + 58846 11532 11459 11366 11509 + 58847 11370 11513 11405 11435 + 58848 11372 11469 11419 11434 + 58849 11419 11496 11469 11372 + 58850 11413 11374 11435 11488 + 58851 11488 11374 11435 11513 + 58852 11402 11467 11375 11485 + 58853 11402 11375 11438 11485 + 58854 11411 11515 11457 11375 + 58855 11515 11444 11375 11411 + 58856 11375 11438 11534 11457 + 58857 11534 11375 11457 11515 + 58858 11534 11438 11375 11485 + 58859 11515 11534 11375 11551 + 58860 11515 11375 11444 11551 + 58861 11467 11444 11375 11551 + 58862 11485 11551 11467 11375 + 58863 11485 11534 11551 11375 + 58864 11411 11376 11490 11444 + 58865 11376 11490 11444 11416 + 58866 11376 11441 11411 11490 + 58867 11377 11437 11410 11496 + 58868 11377 11410 11469 11496 + 58869 11377 11552 11535 11514 + 58870 11514 11552 11412 11377 + 58871 11412 11377 11552 11455 + 58872 11377 11469 11535 11560 + 58873 11560 11377 11469 11496 + 58874 11533 11378 11487 11404 + 58875 11533 11378 11404 11511 + 58876 11455 11378 11552 11412 + 58877 11533 11559 11378 11511 + 58878 11379 11456 11439 11465 + 58879 11440 11379 11465 11456 + 58880 11439 11379 11465 11413 + 58881 11443 11381 11474 11449 + 58882 11554 11381 11516 11474 + 58883 11474 11381 11443 11554 + 58884 11381 11474 11562 11516 + 58885 11382 11460 11448 11420 + 58886 11427 11387 11541 11498 + 58887 11521 11541 11423 11387 + 58888 11387 11541 11470 11521 + 58889 11541 11470 11498 11387 + 58890 11499 11523 11452 11390 + 58891 11472 11390 11555 11499 + 58892 11499 11555 11523 11390 + 58893 11555 11390 11422 11473 + 58894 11555 11523 11390 11473 + 58895 11555 11422 11390 11472 + 58896 11461 11393 11478 11425 + 58897 11478 11425 11393 11450 + 58898 11478 11393 11461 11430 + 58899 11478 11450 11393 11430 + 58900 11451 11429 11396 11480 + 58901 11504 11396 11527 11479 + 58902 11451 11396 11527 11480 + 58903 11451 11527 11396 11479 + 58904 11544 11504 11450 11396 + 58905 11544 11429 11480 11396 + 58906 11544 11480 11527 11396 + 58907 11504 11527 11396 11544 + 58908 11526 11397 11501 11541 + 58909 11397 11423 11501 11541 + 58910 11397 11505 11545 11451 + 58911 11545 11397 11451 11428 + 58912 11473 11545 11428 11397 + 58913 11397 11505 11526 11556 + 58914 11556 11397 11501 11526 + 58915 11397 11545 11505 11556 + 58916 11397 11556 11501 11473 + 58917 11397 11545 11556 11473 + 58918 11475 11431 11508 11399 + 58919 11529 11399 11546 11509 + 58920 11399 11508 11475 11547 + 58921 11399 11529 11547 11509 + 58922 11399 11529 11508 11547 + 58923 11453 11475 11400 11466 + 58924 11466 11510 11475 11400 + 58925 11466 11443 11510 11400 + 58926 11443 11464 11531 11400 + 58927 11400 11443 11510 11531 + 58928 11400 11510 11475 11531 + 58929 11400 11475 11431 11531 + 58930 11400 11431 11464 11531 + 58931 11467 11557 11485 11402 + 58932 11557 11485 11402 11509 + 58933 11534 11438 11404 11457 + 58934 11438 11511 11534 11404 + 58935 11549 11457 11534 11404 + 58936 11549 11533 11487 11404 + 58937 11511 11404 11533 11549 + 58938 11511 11534 11404 11549 + 58939 11488 11435 11405 11513 + 58940 11406 11459 11514 11483 + 58941 11514 11459 11406 11433 + 58942 11507 11483 11406 11550 + 58943 11550 11483 11406 11514 + 58944 11507 11406 11530 11550 + 58945 11406 11530 11550 11454 + 58946 11444 11411 11515 11490 + 58947 11440 11411 11515 11457 + 58948 11515 11411 11440 11536 + 58949 11536 11411 11440 11456 + 58950 11490 11515 11536 11411 + 58951 11490 11536 11441 11411 + 58952 11536 11441 11411 11456 + 58953 11433 11412 11514 11486 + 58954 11514 11552 11486 11412 + 58955 11488 11413 11458 11435 + 58956 11466 11443 11415 11491 + 58957 11416 11492 11517 11460 + 58958 11444 11460 11416 11517 + 58959 11444 11416 11490 11517 + 58960 11468 11461 11503 11417 + 58961 11539 11417 11484 11468 + 58962 11417 11468 11539 11503 + 58963 11454 11419 11469 11434 + 58964 11446 11519 11419 11463 + 58965 11540 11419 11494 11520 + 58966 11419 11540 11445 11463 + 58967 11540 11519 11463 11419 + 58968 11445 11494 11540 11419 + 58969 11469 11550 11419 11454 + 58970 11558 11520 11550 11419 + 58971 11558 11419 11519 11540 + 58972 11519 11446 11419 11558 + 58973 11558 11520 11419 11540 + 58974 11454 11446 11558 11419 + 58975 11454 11558 11550 11419 + 58976 11550 11520 11560 11419 + 58977 11496 11560 11494 11419 + 58978 11560 11469 11419 11496 + 58979 11419 11520 11560 11494 + 58980 11550 11560 11469 11419 + 58981 11420 11518 11492 11460 + 58982 11420 11448 11518 11460 + 58983 11420 11537 11518 11448 + 58984 11521 11501 11423 11541 + 58985 11461 11478 11503 11425 + 58986 11478 11503 11425 11524 + 58987 11478 11524 11425 11450 + 58988 11450 11524 11425 11477 + 58989 11498 11427 11476 11541 + 58990 11545 11473 11428 11523 + 58991 11528 11480 11429 11506 + 58992 11528 11429 11480 11507 + 58993 11544 11480 11429 11507 + 58994 11546 11528 11429 11506 + 58995 11546 11528 11482 11429 + 58996 11430 11468 11461 11478 + 58997 11430 11530 11468 11478 + 58998 11530 11430 11544 11478 + 58999 11478 11544 11450 11430 + 59000 11452 11464 11431 11499 + 59001 11431 11523 11452 11499 + 59002 11499 11431 11531 11464 + 59003 11431 11548 11523 11499 + 59004 11531 11548 11475 11431 + 59005 11431 11499 11531 11548 + 59006 11548 11431 11508 11475 + 59007 11523 11431 11508 11548 + 59008 11433 11514 11459 11486 + 59009 11438 11534 11511 11485 + 59010 11440 11465 11489 11456 + 59011 11456 11440 11536 11489 + 59012 11440 11536 11489 11515 + 59013 11515 11440 11549 11489 + 59014 11457 11440 11549 11515 + 59015 11443 11449 11474 11464 + 59016 11443 11510 11491 11466 + 59017 11531 11443 11474 11464 + 59018 11474 11443 11531 11554 + 59019 11443 11491 11510 11554 + 59020 11531 11510 11554 11443 + 59021 11460 11551 11517 11444 + 59022 11460 11551 11444 11467 + 59023 11444 11551 11517 11563 + 59024 11444 11517 11490 11563 + 59025 11515 11444 11490 11563 + 59026 11551 11444 11515 11563 + 59027 11446 11484 11519 11463 + 59028 11446 11484 11468 11519 + 59029 11446 11530 11558 11468 + 59030 11468 11558 11446 11519 + 59031 11446 11558 11530 11454 + 59032 11453 11448 11475 11466 + 59033 11466 11510 11448 11475 + 59034 11448 11537 11518 11495 + 59035 11466 11448 11510 11537 + 59036 11448 11510 11537 11495 + 59037 11538 11448 11518 11495 + 59038 11510 11495 11448 11538 + 59039 11518 11460 11448 11538 + 59040 11448 11475 11510 11538 + 59041 11499 11449 11464 11474 + 59042 11499 11474 11522 11449 + 59043 11450 11504 11524 11477 + 59044 11478 11504 11524 11450 + 59045 11478 11504 11450 11544 + 59046 11451 11505 11480 11527 + 59047 11451 11479 11505 11527 + 59048 11480 11545 11505 11451 + 59049 11530 11558 11550 11454 + 59050 11457 11549 11534 11515 + 59051 11553 11514 11459 11483 + 59052 11553 11459 11528 11483 + 59053 11486 11532 11553 11459 + 59054 11553 11514 11486 11459 + 59055 11561 11553 11459 11528 + 59056 11553 11561 11459 11532 + 59057 11532 11561 11459 11509 + 59058 11561 11459 11509 11482 + 59059 11561 11459 11482 11528 + 59060 11493 11460 11538 11467 + 59061 11460 11551 11467 11493 + 59062 11460 11492 11517 11564 + 59063 11460 11493 11564 11551 + 59064 11518 11564 11460 11538 + 59065 11460 11517 11551 11564 + 59066 11518 11564 11492 11460 + 59067 11538 11493 11564 11460 + 59068 11503 11468 11478 11461 + 59069 11499 11464 11531 11474 + 59070 11491 11510 11537 11466 + 59071 11493 11538 11557 11467 + 59072 11557 11551 11467 11485 + 59073 11557 11467 11551 11493 + 59074 11539 11468 11484 11519 + 59075 11478 11539 11468 11503 + 59076 11468 11539 11558 11519 + 59077 11468 11530 11558 11478 + 59078 11468 11558 11539 11478 + 59079 11535 11469 11550 11560 + 59080 11565 11541 11521 11470 + 59081 11498 11565 11470 11541 + 59082 11565 11521 11497 11470 + 59083 11522 11472 11542 11499 + 59084 11499 11555 11472 11542 + 59085 11566 11555 11473 11523 + 59086 11523 11473 11566 11587 + 59087 11556 11587 11473 11545 + 59088 11545 11587 11473 11523 + 59089 11522 11542 11474 11499 + 59090 11522 11562 11474 11542 + 59091 11516 11562 11542 11474 + 59092 11474 11531 11499 11586 + 59093 11586 11499 11474 11542 + 59094 11554 11516 11586 11474 + 59095 11586 11554 11474 11531 + 59096 11516 11542 11586 11474 + 59097 11475 11567 11510 11538 + 59098 11531 11567 11475 11548 + 59099 11531 11510 11475 11567 + 59100 11475 11548 11567 11604 + 59101 11604 11567 11475 11538 + 59102 11475 11604 11538 11547 + 59103 11604 11547 11475 11508 + 59104 11604 11475 11548 11508 + 59105 11498 11476 11565 11541 + 59106 11526 11568 11543 11476 + 59107 11565 11541 11476 11585 + 59108 11585 11526 11541 11476 + 59109 11585 11568 11526 11476 + 59110 11477 11524 11569 11504 + 59111 11525 11504 11477 11569 + 59112 11478 11503 11524 11570 + 59113 11503 11539 11570 11478 + 59114 11478 11589 11504 11544 + 59115 11478 11524 11589 11570 + 59116 11558 11478 11530 11589 + 59117 11589 11504 11524 11478 + 59118 11530 11589 11478 11544 + 59119 11539 11570 11478 11605 + 59120 11589 11570 11605 11478 + 59121 11589 11605 11558 11478 + 59122 11539 11478 11558 11605 + 59123 11525 11479 11504 11569 + 59124 11479 11504 11569 11527 + 59125 11525 11590 11543 11479 + 59126 11505 11479 11543 11590 + 59127 11569 11590 11525 11479 + 59128 11590 11617 11479 11569 + 59129 11479 11569 11617 11527 + 59130 11479 11590 11505 11617 + 59131 11617 11505 11479 11527 + 59132 11545 11480 11571 11506 + 59133 11571 11545 11505 11480 + 59134 11527 11480 11544 11573 + 59135 11573 11544 11507 11480 + 59136 11571 11505 11591 11480 + 59137 11480 11608 11506 11528 + 59138 11480 11573 11608 11507 + 59139 11608 11573 11480 11591 + 59140 11480 11571 11506 11608 + 59141 11480 11591 11571 11608 + 59142 11480 11507 11608 11528 + 59143 11527 11480 11573 11617 + 59144 11617 11480 11591 11505 + 59145 11617 11480 11505 11527 + 59146 11573 11617 11480 11591 + 59147 11545 11571 11481 11506 + 59148 11506 11574 11481 11546 + 59149 11481 11571 11545 11587 + 59150 11523 11587 11481 11545 + 59151 11523 11481 11588 11508 + 59152 11588 11508 11481 11575 + 59153 11574 11481 11592 11506 + 59154 11481 11592 11506 11571 + 59155 11575 11508 11481 11593 + 59156 11529 11481 11508 11593 + 59157 11546 11481 11593 11574 + 59158 11481 11593 11529 11546 + 59159 11575 11481 11588 11603 + 59160 11481 11603 11571 11587 + 59161 11481 11588 11603 11523 + 59162 11571 11603 11481 11592 + 59163 11587 11481 11603 11523 + 59164 11575 11619 11481 11603 + 59165 11481 11619 11575 11593 + 59166 11619 11481 11603 11592 + 59167 11481 11574 11619 11593 + 59168 11619 11592 11574 11481 + 59169 11528 11482 11561 11546 + 59170 11509 11546 11561 11482 + 59171 11483 11535 11514 11550 + 59172 11514 11535 11483 11577 + 59173 11577 11483 11514 11553 + 59174 11594 11550 11483 11507 + 59175 11577 11594 11535 11483 + 59176 11535 11550 11483 11594 + 59177 11483 11507 11608 11594 + 59178 11483 11553 11608 11528 + 59179 11483 11608 11507 11528 + 59180 11621 11608 11483 11553 + 59181 11483 11577 11594 11621 + 59182 11577 11483 11553 11621 + 59183 11608 11594 11621 11483 + 59184 11511 11485 11534 11551 + 59185 11532 11485 11557 11509 + 59186 11551 11511 11485 11596 + 59187 11551 11485 11557 11596 + 59188 11532 11511 11596 11485 + 59189 11532 11596 11557 11485 + 59190 11486 11514 11577 11552 + 59191 11486 11577 11559 11552 + 59192 11514 11553 11486 11577 + 59193 11553 11486 11577 11627 + 59194 11559 11627 11486 11532 + 59195 11486 11559 11577 11627 + 59196 11553 11532 11486 11627 + 59197 11533 11487 11512 11549 + 59198 11549 11580 11489 11512 + 59199 11515 11489 11549 11580 + 59200 11515 11536 11489 11580 + 59201 11515 11536 11563 11490 + 59202 11595 11510 11491 11554 + 59203 11537 11510 11491 11595 + 59204 11578 11538 11557 11493 + 59205 11564 11551 11493 11581 + 59206 11584 11493 11564 11538 + 59207 11596 11551 11493 11557 + 59208 11578 11557 11596 11493 + 59209 11538 11493 11578 11600 + 59210 11493 11600 11538 11584 + 59211 11601 11581 11493 11612 + 59212 11612 11493 11551 11581 + 59213 11493 11551 11596 11612 + 59214 11564 11493 11615 11581 + 59215 11584 11600 11615 11493 + 59216 11584 11615 11564 11493 + 59217 11601 11581 11615 11493 + 59218 11596 11612 11624 11493 + 59219 11601 11493 11624 11612 + 59220 11624 11493 11615 11600 + 59221 11578 11624 11600 11493 + 59222 11601 11615 11624 11493 + 59223 11624 11596 11493 11578 + 59224 11540 11494 11582 11520 + 59225 11582 11560 11520 11494 + 59226 11510 11567 11495 11538 + 59227 11538 11518 11584 11495 + 59228 11595 11495 11537 11510 + 59229 11567 11510 11495 11595 + 59230 11538 11495 11584 11600 + 59231 11538 11567 11495 11600 + 59232 11616 11600 11584 11495 + 59233 11600 11567 11495 11616 + 59234 11567 11495 11628 11595 + 59235 11495 11567 11628 11616 + 59236 11548 11499 11566 11523 + 59237 11566 11499 11555 11523 + 59238 11586 11555 11499 11542 + 59239 11555 11566 11586 11499 + 59240 11586 11531 11499 11548 + 59241 11499 11566 11586 11548 + 59242 11500 11542 11562 11522 + 59243 11521 11501 11541 11565 + 59244 11585 11526 11556 11501 + 59245 11565 11501 11541 11585 + 59246 11585 11541 11526 11501 + 59247 11589 11527 11504 11544 + 59248 11524 11589 11606 11504 + 59249 11524 11606 11569 11504 + 59250 11589 11606 11504 11527 + 59251 11527 11606 11504 11569 + 59252 11526 11505 11543 11607 + 59253 11572 11505 11607 11590 + 59254 11505 11543 11607 11590 + 59255 11617 11590 11505 11572 + 59256 11618 11607 11505 11526 + 59257 11505 11526 11556 11618 + 59258 11505 11571 11591 11626 + 59259 11505 11591 11617 11626 + 59260 11505 11607 11618 11626 + 59261 11505 11572 11607 11626 + 59262 11626 11505 11572 11617 + 59263 11556 11629 11505 11618 + 59264 11629 11556 11505 11545 + 59265 11571 11505 11545 11629 + 59266 11505 11618 11629 11626 + 59267 11571 11505 11629 11626 + 59268 11574 11506 11528 11546 + 59269 11506 11574 11608 11592 + 59270 11571 11608 11592 11506 + 59271 11528 11506 11574 11608 + 59272 11507 11550 11530 11558 + 59273 11507 11576 11550 11558 + 59274 11589 11530 11558 11507 + 59275 11589 11558 11576 11507 + 59276 11507 11589 11544 11573 + 59277 11530 11589 11544 11507 + 59278 11594 11576 11550 11507 + 59279 11608 11507 11620 11594 + 59280 11507 11576 11620 11594 + 59281 11576 11507 11620 11589 + 59282 11608 11620 11507 11573 + 59283 11507 11620 11589 11573 + 59284 11523 11588 11548 11508 + 59285 11508 11529 11593 11547 + 59286 11575 11604 11588 11508 + 59287 11588 11604 11548 11508 + 59288 11508 11593 11604 11547 + 59289 11575 11508 11593 11604 + 59290 11547 11532 11557 11509 + 59291 11529 11509 11561 11547 + 59292 11529 11546 11561 11509 + 59293 11547 11561 11532 11509 + 59294 11531 11595 11510 11567 + 59295 11510 11554 11595 11531 + 59296 11511 11559 11579 11533 + 59297 11534 11511 11597 11549 + 59298 11511 11579 11597 11533 + 59299 11597 11534 11551 11511 + 59300 11597 11511 11533 11549 + 59301 11612 11597 11551 11511 + 59302 11597 11579 11511 11612 + 59303 11612 11551 11596 11511 + 59304 11579 11596 11511 11612 + 59305 11532 11511 11627 11596 + 59306 11579 11511 11596 11627 + 59307 11559 11627 11511 11579 + 59308 11532 11559 11627 11511 + 59309 11580 11512 11549 11613 + 59310 11533 11549 11512 11613 + 59311 11514 11552 11535 11577 + 59312 11536 11515 11563 11580 + 59313 11515 11534 11551 11597 + 59314 11515 11551 11563 11597 + 59315 11580 11563 11597 11515 + 59316 11515 11597 11549 11534 + 59317 11515 11597 11580 11549 + 59318 11583 11516 11602 11586 + 59319 11516 11542 11602 11586 + 59320 11516 11611 11586 11583 + 59321 11611 11586 11554 11516 + 59322 11517 11551 11564 11581 + 59323 11563 11517 11581 11551 + 59324 11584 11564 11518 11538 + 59325 11519 11598 11558 11540 + 59326 11605 11519 11598 11558 + 59327 11539 11519 11605 11558 + 59328 11520 11558 11550 11576 + 59329 11558 11520 11598 11576 + 59330 11598 11520 11540 11582 + 59331 11520 11558 11598 11540 + 59332 11550 11614 11520 11576 + 59333 11520 11582 11614 11560 + 59334 11560 11520 11550 11614 + 59335 11582 11598 11520 11625 + 59336 11520 11576 11614 11625 + 59337 11576 11520 11598 11625 + 59338 11582 11520 11614 11625 + 59339 11548 11566 11588 11523 + 59340 11523 11587 11566 11603 + 59341 11523 11566 11588 11603 + 59342 11524 11570 11606 11589 + 59343 11526 11543 11568 11607 + 59344 11568 11607 11618 11526 + 59345 11526 11618 11568 11585 + 59346 11526 11556 11618 11585 + 59347 11544 11527 11573 11589 + 59348 11589 11617 11606 11527 + 59349 11527 11573 11589 11617 + 59350 11527 11617 11606 11569 + 59351 11574 11528 11561 11546 + 59352 11553 11561 11574 11528 + 59353 11528 11574 11553 11608 + 59354 11593 11529 11561 11547 + 59355 11529 11593 11561 11546 + 59356 11586 11531 11548 11567 + 59357 11554 11531 11586 11611 + 59358 11554 11595 11531 11611 + 59359 11531 11611 11567 11586 + 59360 11595 11531 11611 11567 + 59361 11561 11609 11532 11553 + 59362 11609 11596 11557 11532 + 59363 11609 11532 11557 11547 + 59364 11561 11532 11609 11547 + 59365 11532 11627 11609 11596 + 59366 11532 11609 11627 11553 + 59367 11613 11597 11533 11549 + 59368 11613 11533 11597 11579 + 59369 11535 11614 11550 11594 + 59370 11560 11550 11535 11614 + 59371 11547 11538 11557 11578 + 59372 11538 11578 11547 11604 + 59373 11538 11604 11567 11600 + 59374 11538 11578 11604 11600 + 59375 11602 11542 11555 11586 + 59376 11629 11587 11556 11545 + 59377 11587 11571 11545 11629 + 59378 11546 11593 11561 11574 + 59379 11604 11578 11547 11593 + 59380 11593 11561 11609 11547 + 59381 11557 11609 11547 11578 + 59382 11593 11578 11547 11609 + 59383 11548 11566 11586 11610 + 59384 11548 11588 11566 11610 + 59385 11622 11610 11588 11548 + 59386 11586 11548 11622 11567 + 59387 11604 11622 11588 11548 + 59388 11622 11586 11610 11548 + 59389 11604 11567 11622 11548 + 59390 11613 11580 11597 11549 + 59391 11550 11614 11576 11594 + 59392 11623 11581 11612 11551 + 59393 11581 11623 11563 11551 + 59394 11623 11612 11597 11551 + 59395 11551 11597 11623 11563 + 59396 11609 11574 11599 11553 + 59397 11561 11574 11609 11553 + 59398 11621 11599 11574 11553 + 59399 11621 11574 11608 11553 + 59400 11621 11627 11599 11553 + 59401 11621 11577 11627 11553 + 59402 11609 11599 11627 11553 + 59403 11586 11566 11555 11602 + 59404 11557 11596 11609 11578 + 59405 11576 11605 11558 11589 + 59406 11576 11598 11558 11605 + 59407 11574 11609 11593 11561 + 59408 11623 11597 11580 11563 + 59409 11566 11630 11610 11588 + 59410 11588 11603 11566 11630 + 59411 11630 11610 11644 11566 + 59412 11586 11566 11602 11644 + 59413 11644 11586 11566 11610 + 59414 11616 11622 11600 11567 + 59415 11604 11622 11567 11600 + 59416 11611 11622 11567 11586 + 59417 11595 11611 11628 11567 + 59418 11616 11628 11622 11567 + 59419 11567 11611 11628 11622 + 59420 11590 11635 11617 11569 + 59421 11606 11635 11569 11617 + 59422 11570 11605 11636 11589 + 59423 11570 11606 11589 11636 + 59424 11571 11603 11629 11587 + 59425 11629 11633 11603 11571 + 59426 11603 11571 11633 11592 + 59427 11571 11629 11633 11626 + 59428 11637 11571 11591 11608 + 59429 11571 11650 11591 11626 + 59430 11633 11571 11626 11650 + 59431 11571 11650 11637 11591 + 59432 11571 11659 11633 11592 + 59433 11650 11633 11571 11659 + 59434 11650 11663 11659 11571 + 59435 11608 11663 11637 11571 + 59436 11592 11571 11659 11663 + 59437 11650 11637 11663 11571 + 59438 11571 11592 11608 11663 + 59439 11617 11635 11590 11572 + 59440 11649 11607 11572 11626 + 59441 11572 11626 11638 11649 + 59442 11658 11572 11635 11617 + 59443 11626 11658 11572 11638 + 59444 11626 11572 11658 11617 + 59445 11617 11573 11637 11591 + 59446 11637 11591 11573 11608 + 59447 11620 11608 11637 11573 + 59448 11573 11620 11647 11637 + 59449 11589 11573 11620 11647 + 59450 11589 11617 11573 11647 + 59451 11573 11647 11617 11637 + 59452 11574 11608 11592 11621 + 59453 11634 11599 11609 11574 + 59454 11634 11609 11593 11574 + 59455 11593 11619 11634 11574 + 59456 11619 11599 11634 11574 + 59457 11599 11574 11619 11639 + 59458 11599 11621 11574 11639 + 59459 11639 11574 11592 11621 + 59460 11619 11639 11574 11592 + 59461 11630 11588 11575 11610 + 59462 11588 11630 11575 11603 + 59463 11610 11588 11575 11632 + 59464 11632 11575 11604 11588 + 59465 11604 11593 11575 11634 + 59466 11619 11575 11593 11634 + 59467 11634 11646 11575 11604 + 59468 11604 11646 11575 11632 + 59469 11632 11646 11575 11610 + 59470 11656 11575 11646 11610 + 59471 11656 11630 11603 11575 + 59472 11656 11603 11619 11575 + 59473 11656 11630 11575 11610 + 59474 11646 11634 11575 11656 + 59475 11619 11575 11634 11656 + 59476 11625 11614 11594 11576 + 59477 11576 11636 11605 11589 + 59478 11576 11620 11636 11589 + 59479 11576 11641 11620 11594 + 59480 11576 11625 11641 11594 + 59481 11648 11636 11605 11576 + 59482 11648 11620 11576 11641 + 59483 11576 11648 11598 11605 + 59484 11625 11648 11576 11641 + 59485 11576 11598 11648 11625 + 59486 11648 11620 11636 11576 + 59487 11604 11578 11593 11634 + 59488 11593 11578 11609 11634 + 59489 11596 11624 11657 11578 + 59490 11609 11634 11578 11657 + 59491 11624 11600 11657 11578 + 59492 11596 11657 11609 11578 + 59493 11657 11578 11604 11634 + 59494 11604 11657 11600 11578 + 59495 11627 11596 11579 11642 + 59496 11596 11579 11642 11612 + 59497 11654 11642 11579 11612 + 59498 11613 11654 11579 11597 + 59499 11597 11579 11612 11654 + 59500 11623 11580 11597 11613 + 59501 11601 11623 11581 11612 + 59502 11583 11631 11611 11586 + 59503 11631 11586 11583 11644 + 59504 11586 11602 11583 11644 + 59505 11584 11643 11615 11600 + 59506 11616 11643 11584 11600 + 59507 11622 11611 11631 11586 + 59508 11610 11622 11631 11586 + 59509 11631 11610 11586 11644 + 59510 11632 11604 11622 11588 + 59511 11610 11622 11588 11632 + 59512 11606 11647 11617 11589 + 59513 11636 11589 11620 11647 + 59514 11606 11636 11647 11589 + 59515 11626 11658 11650 11591 + 59516 11591 11658 11650 11637 + 59517 11591 11617 11658 11637 + 59518 11626 11617 11658 11591 + 59519 11619 11603 11645 11592 + 59520 11603 11633 11645 11592 + 59521 11633 11592 11659 11645 + 59522 11663 11639 11592 11621 + 59523 11663 11592 11608 11621 + 59524 11592 11659 11639 11663 + 59525 11664 11645 11659 11592 + 59526 11664 11659 11639 11592 + 59527 11619 11639 11592 11664 + 59528 11645 11619 11592 11664 + 59529 11620 11594 11651 11608 + 59530 11620 11641 11651 11594 + 59531 11621 11651 11594 11608 + 59532 11624 11596 11642 11612 + 59533 11627 11609 11596 11642 + 59534 11642 11596 11624 11657 + 59535 11642 11609 11596 11657 + 59536 11623 11597 11612 11654 + 59537 11613 11623 11654 11597 + 59538 11627 11599 11609 11642 + 59539 11619 11599 11639 11664 + 59540 11634 11619 11664 11599 + 59541 11609 11642 11599 11668 + 59542 11634 11664 11668 11599 + 59543 11634 11668 11609 11599 + 59544 11622 11632 11600 11604 + 59545 11600 11622 11616 11632 + 59546 11643 11615 11600 11624 + 59547 11646 11600 11632 11604 + 59548 11646 11657 11600 11604 + 59549 11624 11643 11657 11600 + 59550 11643 11600 11646 11657 + 59551 11600 11616 11662 11632 + 59552 11643 11662 11646 11600 + 59553 11616 11662 11643 11600 + 59554 11646 11600 11662 11632 + 59555 11623 11612 11601 11654 + 59556 11655 11601 11615 11624 + 59557 11601 11655 11667 11624 + 59558 11654 11612 11601 11667 + 59559 11612 11624 11601 11667 + 59560 11619 11603 11656 11645 + 59561 11634 11646 11604 11657 + 59562 11606 11647 11635 11617 + 59563 11649 11618 11607 11626 + 59564 11637 11620 11651 11608 + 59565 11608 11663 11621 11651 + 59566 11608 11637 11663 11651 + 59567 11657 11668 11609 11634 + 59568 11609 11657 11642 11668 + 59569 11653 11622 11610 11632 + 59570 11610 11631 11622 11653 + 59571 11666 11644 11630 11610 + 59572 11610 11666 11631 11653 + 59573 11644 11666 11631 11610 + 59574 11610 11656 11630 11666 + 59575 11669 11666 11610 11653 + 59576 11669 11656 11646 11610 + 59577 11610 11669 11653 11632 + 59578 11610 11669 11656 11666 + 59579 11646 11669 11610 11632 + 59580 11631 11622 11628 11611 + 59581 11654 11642 11612 11667 + 59582 11612 11642 11624 11667 + 59583 11655 11615 11643 11624 + 59584 11632 11653 11622 11616 + 59585 11616 11628 11653 11622 + 59586 11632 11662 11653 11616 + 59587 11658 11637 11617 11647 + 59588 11658 11617 11635 11647 + 59589 11649 11629 11618 11626 + 59590 11619 11656 11640 11645 + 59591 11664 11652 11640 11619 + 59592 11640 11664 11619 11645 + 59593 11652 11619 11664 11634 + 59594 11619 11634 11665 11656 + 59595 11665 11656 11640 11619 + 59596 11665 11640 11652 11619 + 59597 11652 11619 11634 11665 + 59598 11648 11641 11661 11620 + 59599 11651 11620 11637 11661 + 59600 11636 11661 11647 11620 + 59601 11661 11647 11620 11637 + 59602 11651 11661 11641 11620 + 59603 11620 11636 11661 11648 + 59604 11622 11631 11628 11653 + 59605 11624 11655 11657 11643 + 59606 11657 11667 11655 11624 + 59607 11657 11642 11667 11624 + 59608 11649 11633 11629 11626 + 59609 11626 11650 11658 11638 + 59610 11649 11660 11633 11626 + 59611 11626 11638 11649 11660 + 59612 11633 11626 11660 11650 + 59613 11626 11650 11638 11660 + 59614 11632 11669 11653 11662 + 59615 11632 11646 11669 11662 + 59616 11633 11659 11670 11645 + 59617 11650 11675 11633 11659 + 59618 11633 11660 11675 11650 + 59619 11633 11675 11670 11659 + 59620 11646 11665 11634 11656 + 59621 11668 11652 11664 11634 + 59622 11652 11634 11678 11665 + 59623 11657 11678 11668 11634 + 59624 11634 11678 11646 11657 + 59625 11665 11678 11646 11634 + 59626 11678 11668 11634 11652 + 59627 11637 11647 11658 11673 + 59628 11637 11658 11650 11673 + 59629 11661 11673 11647 11637 + 59630 11661 11637 11651 11679 + 59631 11661 11673 11637 11679 + 59632 11637 11651 11679 11663 + 59633 11673 11637 11679 11683 + 59634 11679 11637 11663 11683 + 59635 11683 11663 11650 11637 + 59636 11683 11650 11673 11637 + 59637 11680 11658 11650 11638 + 59638 11680 11660 11638 11650 + 59639 11652 11665 11671 11640 + 59640 11656 11671 11665 11640 + 59641 11640 11676 11664 11645 + 59642 11661 11651 11641 11679 + 59643 11642 11682 11668 11657 + 59644 11682 11642 11667 11657 + 59645 11646 11672 11662 11643 + 59646 11657 11646 11643 11672 + 59647 11655 11643 11672 11657 + 59648 11645 11676 11664 11659 + 59649 11645 11670 11676 11659 + 59650 11646 11656 11669 11665 + 59651 11657 11678 11646 11672 + 59652 11678 11672 11681 11646 + 59653 11665 11669 11646 11681 + 59654 11681 11646 11665 11678 + 59655 11662 11681 11672 11646 + 59656 11646 11681 11669 11662 + 59657 11659 11650 11675 11674 + 59658 11650 11660 11675 11674 + 59659 11658 11673 11680 11650 + 59660 11650 11680 11660 11674 + 59661 11659 11663 11650 11683 + 59662 11650 11673 11680 11683 + 59663 11674 11683 11659 11650 + 59664 11674 11680 11683 11650 + 59665 11685 11671 11652 11665 + 59666 11678 11686 11668 11652 + 59667 11665 11652 11685 11686 + 59668 11652 11678 11686 11665 + 59669 11655 11682 11667 11657 + 59670 11657 11655 11682 11672 + 59671 11665 11656 11677 11671 + 59672 11669 11666 11677 11656 + 59673 11677 11669 11656 11665 + 59674 11682 11678 11668 11657 + 59675 11657 11682 11678 11672 + 59676 11675 11684 11670 11659 + 59677 11659 11675 11684 11674 + 59678 11675 11660 11684 11674 + 59679 11665 11677 11669 11681 + 59680 11681 11677 11685 11665 + 59681 11677 11671 11685 11665 + 59682 11665 11685 11681 11686 + 59683 11678 11681 11686 11665 + 59684 11678 11682 11668 11686 + 59685 11672 11681 11686 11678 + 59686 11678 11672 11682 11686 + boundary conditions & connectivity for boundary faces + 1 3 0 0 0 1 1 3 5 0 0 0 0 0 0 + 2 4 1 0 0 1 1 2 3 0 0 0 0 0 0 + 3 3 0 0 0 2 1 5 4 0 0 0 0 0 0 + 4 4 1 0 0 3 1 6 2 0 0 0 0 0 0 + 5 3 0 0 0 3 1 4 6 0 0 0 0 0 0 + 6 4 1 0 0 6 2 6 10 0 0 0 0 0 0 + 7 4 1 0 0 8 2 10 3 0 0 0 0 0 0 + 8 3 0 0 0 11 3 8 5 0 0 0 0 0 0 + 9 4 1 0 0 13 3 18 11 0 0 0 0 0 0 + 10 3 0 0 0 13 3 11 8 0 0 0 0 0 0 + 11 4 1 0 0 14 3 10 18 0 0 0 0 0 0 + 12 3 0 0 0 15 4 9 12 0 0 0 0 0 0 + 13 3 0 0 0 15 4 5 9 0 0 0 0 0 0 + 14 3 0 0 0 17 4 16 6 0 0 0 0 0 0 + 15 3 0 0 0 18 4 12 16 0 0 0 0 0 0 + 16 3 0 0 0 19 5 8 13 0 0 0 0 0 0 + 17 3 0 0 0 24 5 13 9 0 0 0 0 0 0 + 18 3 0 0 0 25 6 16 14 0 0 0 0 0 0 + 19 4 1 0 0 26 6 17 10 0 0 0 0 0 0 + 20 3 0 0 0 27 6 14 17 0 0 0 0 0 0 + 21 3 0 0 0 40 8 11 24 0 0 0 0 0 0 + 22 3 0 0 0 44 8 35 13 0 0 0 0 0 0 + 23 3 0 0 0 46 8 24 35 0 0 0 0 0 0 + 24 3 0 0 0 47 9 13 26 0 0 0 0 0 0 + 25 3 0 0 0 48 9 32 12 0 0 0 0 0 0 + 26 3 0 0 0 49 9 26 32 0 0 0 0 0 0 + 27 4 1 0 0 50 10 17 28 0 0 0 0 0 0 + 28 4 1 0 0 51 10 28 22 0 0 0 0 0 0 + 29 4 1 0 0 52 10 22 18 0 0 0 0 0 0 + 30 3 0 0 0 56 11 31 24 0 0 0 0 0 0 + 31 3 0 0 0 57 11 25 31 0 0 0 0 0 0 + 32 4 1 0 0 59 11 18 25 0 0 0 0 0 0 + 33 3 0 0 0 32 12 21 16 0 0 0 0 0 0 + 34 3 0 0 0 60 12 32 21 0 0 0 0 0 0 + 35 3 0 0 0 61 13 33 26 0 0 0 0 0 0 + 36 3 0 0 0 62 13 35 33 0 0 0 0 0 0 + 37 3 0 0 0 69 14 16 39 0 0 0 0 0 0 + 38 3 0 0 0 70 14 40 17 0 0 0 0 0 0 + 39 3 0 0 0 72 14 39 43 0 0 0 0 0 0 + 40 3 0 0 0 73 14 43 40 0 0 0 0 0 0 + 41 3 0 0 0 80 16 21 39 0 0 0 0 0 0 + 42 4 1 0 0 81 17 40 28 0 0 0 0 0 0 + 43 4 1 0 0 85 18 30 25 0 0 0 0 0 0 + 44 4 1 0 0 86 18 22 30 0 0 0 0 0 0 + 45 3 0 0 0 97 21 32 44 0 0 0 0 0 0 + 46 3 0 0 0 115 21 47 39 0 0 0 0 0 0 + 47 3 0 0 0 116 21 44 47 0 0 0 0 0 0 + 48 4 1 0 0 122 22 62 73 0 0 0 0 0 0 + 49 4 1 0 0 123 22 73 30 0 0 0 0 0 0 + 50 4 1 0 0 124 22 28 81 0 0 0 0 0 0 + 51 4 1 0 0 128 22 81 62 0 0 0 0 0 0 + 52 3 0 0 0 153 24 31 75 0 0 0 0 0 0 + 53 3 0 0 0 155 24 84 35 0 0 0 0 0 0 + 54 3 0 0 0 157 24 75 84 0 0 0 0 0 0 + 55 4 1 0 0 158 25 30 53 0 0 0 0 0 0 + 56 3 0 0 0 161 25 77 31 0 0 0 0 0 0 + 57 3 0 0 0 162 25 53 77 0 0 0 0 0 0 + 58 3 0 0 0 88 26 33 38 0 0 0 0 0 0 + 59 3 0 0 0 90 26 42 32 0 0 0 0 0 0 + 60 3 0 0 0 91 26 38 42 0 0 0 0 0 0 + 61 4 1 0 0 99 28 40 46 0 0 0 0 0 0 + 62 4 1 0 0 175 28 46 81 0 0 0 0 0 0 + 63 4 1 0 0 185 30 73 54 0 0 0 0 0 0 + 64 4 1 0 0 187 30 54 89 0 0 0 0 0 0 + 65 4 1 0 0 188 30 89 53 0 0 0 0 0 0 + 66 3 0 0 0 192 31 55 75 0 0 0 0 0 0 + 67 3 0 0 0 193 31 77 55 0 0 0 0 0 0 + 68 3 0 0 0 94 32 42 44 0 0 0 0 0 0 + 69 3 0 0 0 132 33 35 51 0 0 0 0 0 0 + 70 3 0 0 0 200 33 78 38 0 0 0 0 0 0 + 71 3 0 0 0 202 33 51 78 0 0 0 0 0 0 + 72 3 0 0 0 205 35 84 51 0 0 0 0 0 0 + 73 3 0 0 0 226 38 67 42 0 0 0 0 0 0 + 74 3 0 0 0 227 38 78 56 0 0 0 0 0 0 + 75 3 0 0 0 227 38 56 67 0 0 0 0 0 0 + 76 3 0 0 0 167 39 47 61 0 0 0 0 0 0 + 77 3 0 0 0 168 39 61 43 0 0 0 0 0 0 + 78 3 0 0 0 229 40 43 57 0 0 0 0 0 0 + 79 3 0 0 0 230 40 57 68 0 0 0 0 0 0 + 80 4 1 0 0 231 40 68 46 0 0 0 0 0 0 + 81 3 0 0 0 234 42 87 44 0 0 0 0 0 0 + 82 3 0 0 0 235 42 67 87 0 0 0 0 0 0 + 83 3 0 0 0 236 43 61 93 0 0 0 0 0 0 + 84 3 0 0 0 237 43 93 57 0 0 0 0 0 0 + 85 3 0 0 0 240 44 92 47 0 0 0 0 0 0 + 86 3 0 0 0 241 44 87 92 0 0 0 0 0 0 + 87 4 1 0 0 257 46 97 81 0 0 0 0 0 0 + 88 4 1 0 0 259 46 116 97 0 0 0 0 0 0 + 89 4 1 0 0 261 46 68 116 0 0 0 0 0 0 + 90 3 0 0 0 262 47 117 61 0 0 0 0 0 0 + 91 3 0 0 0 264 47 92 117 0 0 0 0 0 0 + 92 3 0 0 0 290 51 106 78 0 0 0 0 0 0 + 93 3 0 0 0 294 51 84 137 0 0 0 0 0 0 + 94 3 0 0 0 295 51 137 106 0 0 0 0 0 0 + 95 3 0 0 0 305 53 89 77 0 0 0 0 0 0 + 96 3 0 0 0 187 54 86 89 0 0 0 0 0 0 + 97 4 1 0 0 306 54 73 119 0 0 0 0 0 0 + 98 3 0 0 0 306 54 119 86 0 0 0 0 0 0 + 99 3 0 0 0 307 55 77 110 0 0 0 0 0 0 + 100 3 0 0 0 308 55 126 75 0 0 0 0 0 0 + 101 3 0 0 0 309 55 110 141 0 0 0 0 0 0 + 102 3 0 0 0 310 55 141 126 0 0 0 0 0 0 + 103 3 0 0 0 312 56 128 67 0 0 0 0 0 0 + 104 3 0 0 0 313 56 143 128 0 0 0 0 0 0 + 105 3 0 0 0 314 56 78 157 0 0 0 0 0 0 + 106 3 0 0 0 315 56 157 143 0 0 0 0 0 0 + 107 3 0 0 0 316 57 93 95 0 0 0 0 0 0 + 108 3 0 0 0 317 57 95 68 0 0 0 0 0 0 + 109 3 0 0 0 350 61 133 93 0 0 0 0 0 0 + 110 3 0 0 0 352 61 117 133 0 0 0 0 0 0 + 111 4 1 0 0 353 62 81 97 0 0 0 0 0 0 + 112 4 1 0 0 355 62 119 73 0 0 0 0 0 0 + 113 4 1 0 0 359 62 120 102 0 0 0 0 0 0 + 114 4 1 0 0 360 62 102 119 0 0 0 0 0 0 + 115 4 1 0 0 362 62 97 120 0 0 0 0 0 0 + 116 3 0 0 0 410 67 142 87 0 0 0 0 0 0 + 117 3 0 0 0 412 67 128 142 0 0 0 0 0 0 + 118 4 1 0 0 413 68 145 116 0 0 0 0 0 0 + 119 3 0 0 0 414 68 95 145 0 0 0 0 0 0 + 120 3 0 0 0 447 75 126 84 0 0 0 0 0 0 + 121 3 0 0 0 400 77 89 127 0 0 0 0 0 0 + 122 3 0 0 0 463 77 127 110 0 0 0 0 0 0 + 123 3 0 0 0 466 78 106 157 0 0 0 0 0 0 + 124 3 0 0 0 497 84 126 153 0 0 0 0 0 0 + 125 3 0 0 0 499 84 153 137 0 0 0 0 0 0 + 126 3 0 0 0 396 86 127 89 0 0 0 0 0 0 + 127 3 0 0 0 504 86 119 155 0 0 0 0 0 0 + 128 3 0 0 0 505 86 165 127 0 0 0 0 0 0 + 129 3 0 0 0 506 86 155 165 0 0 0 0 0 0 + 130 3 0 0 0 467 87 112 92 0 0 0 0 0 0 + 131 3 0 0 0 469 87 142 112 0 0 0 0 0 0 + 132 3 0 0 0 523 92 112 159 0 0 0 0 0 0 + 133 3 0 0 0 524 92 159 117 0 0 0 0 0 0 + 134 3 0 0 0 526 93 133 168 0 0 0 0 0 0 + 135 3 0 0 0 527 93 168 95 0 0 0 0 0 0 + 136 3 0 0 0 536 95 171 145 0 0 0 0 0 0 + 137 3 0 0 0 537 95 198 171 0 0 0 0 0 0 + 138 3 0 0 0 538 95 168 198 0 0 0 0 0 0 + 139 4 1 0 0 421 97 116 146 0 0 0 0 0 0 + 140 4 1 0 0 563 97 146 202 0 0 0 0 0 0 + 141 4 1 0 0 564 97 202 120 0 0 0 0 0 0 + 142 3 0 0 0 601 102 180 119 0 0 0 0 0 0 + 143 4 1 0 0 602 102 120 211 0 0 0 0 0 0 + 144 3 0 0 0 603 102 211 250 0 0 0 0 0 0 + 145 3 0 0 0 604 102 250 180 0 0 0 0 0 0 + 146 3 0 0 0 647 106 137 188 0 0 0 0 0 0 + 147 3 0 0 0 651 106 188 235 0 0 0 0 0 0 + 148 3 0 0 0 653 106 235 157 0 0 0 0 0 0 + 149 3 0 0 0 407 110 156 141 0 0 0 0 0 0 + 150 3 0 0 0 511 110 127 156 0 0 0 0 0 0 + 151 3 0 0 0 718 112 142 194 0 0 0 0 0 0 + 152 3 0 0 0 719 112 194 206 0 0 0 0 0 0 + 153 3 0 0 0 722 112 206 159 0 0 0 0 0 0 + 154 4 1 0 0 541 116 199 146 0 0 0 0 0 0 + 155 4 1 0 0 736 116 145 199 0 0 0 0 0 0 + 156 3 0 0 0 570 117 205 133 0 0 0 0 0 0 + 157 3 0 0 0 572 117 159 205 0 0 0 0 0 0 + 158 3 0 0 0 738 119 180 155 0 0 0 0 0 0 + 159 4 1 0 0 740 120 233 211 0 0 0 0 0 0 + 160 4 1 0 0 743 120 202 233 0 0 0 0 0 0 + 161 3 0 0 0 681 126 222 153 0 0 0 0 0 0 + 162 3 0 0 0 683 126 141 222 0 0 0 0 0 0 + 163 3 0 0 0 514 127 165 156 0 0 0 0 0 0 + 164 3 0 0 0 712 128 214 142 0 0 0 0 0 0 + 165 3 0 0 0 714 128 242 214 0 0 0 0 0 0 + 166 3 0 0 0 716 128 143 242 0 0 0 0 0 0 + 167 3 0 0 0 808 133 176 168 0 0 0 0 0 0 + 168 3 0 0 0 809 133 205 176 0 0 0 0 0 0 + 169 3 0 0 0 826 137 153 217 0 0 0 0 0 0 + 170 3 0 0 0 827 137 217 188 0 0 0 0 0 0 + 171 3 0 0 0 678 141 156 191 0 0 0 0 0 0 + 172 3 0 0 0 682 141 191 222 0 0 0 0 0 0 + 173 3 0 0 0 850 142 214 194 0 0 0 0 0 0 + 174 3 0 0 0 852 143 196 242 0 0 0 0 0 0 + 175 3 0 0 0 853 143 157 260 0 0 0 0 0 0 + 176 3 0 0 0 855 143 260 196 0 0 0 0 0 0 + 177 4 1 0 0 867 145 265 199 0 0 0 0 0 0 + 178 3 0 0 0 867 145 171 265 0 0 0 0 0 0 + 179 4 1 0 0 555 146 199 247 0 0 0 0 0 0 + 180 4 1 0 0 868 146 175 202 0 0 0 0 0 0 + 181 4 1 0 0 871 146 204 175 0 0 0 0 0 0 + 182 4 1 0 0 872 146 247 204 0 0 0 0 0 0 + 183 3 0 0 0 902 153 192 217 0 0 0 0 0 0 + 184 3 0 0 0 903 153 222 192 0 0 0 0 0 0 + 185 3 0 0 0 599 155 179 165 0 0 0 0 0 0 + 186 3 0 0 0 811 155 209 179 0 0 0 0 0 0 + 187 3 0 0 0 812 155 180 209 0 0 0 0 0 0 + 188 3 0 0 0 837 156 165 221 0 0 0 0 0 0 + 189 3 0 0 0 838 156 221 191 0 0 0 0 0 0 + 190 3 0 0 0 911 157 235 260 0 0 0 0 0 0 + 191 3 0 0 0 917 159 206 262 0 0 0 0 0 0 + 192 3 0 0 0 918 159 262 205 0 0 0 0 0 0 + 193 3 0 0 0 836 165 179 221 0 0 0 0 0 0 + 194 3 0 0 0 962 168 244 198 0 0 0 0 0 0 + 195 3 0 0 0 963 168 176 244 0 0 0 0 0 0 + 196 3 0 0 0 790 171 198 245 0 0 0 0 0 0 + 197 3 0 0 0 980 171 245 265 0 0 0 0 0 0 + 198 4 1 0 0 1029 175 233 202 0 0 0 0 0 0 + 199 4 1 0 0 1036 175 346 233 0 0 0 0 0 0 + 200 4 1 0 0 1037 175 284 346 0 0 0 0 0 0 + 201 4 1 0 0 1038 175 204 367 0 0 0 0 0 0 + 202 4 1 0 0 1044 175 367 284 0 0 0 0 0 0 + 203 3 0 0 0 924 176 205 231 0 0 0 0 0 0 + 204 3 0 0 0 1045 176 231 312 0 0 0 0 0 0 + 205 3 0 0 0 1047 176 312 244 0 0 0 0 0 0 + 206 3 0 0 0 700 179 209 258 0 0 0 0 0 0 + 207 3 0 0 0 704 179 267 221 0 0 0 0 0 0 + 208 3 0 0 0 707 179 258 267 0 0 0 0 0 0 + 209 3 0 0 0 878 180 250 209 0 0 0 0 0 0 + 210 3 0 0 0 881 181 250 211 0 0 0 0 0 0 + 211 3 0 0 0 1072 181 320 250 0 0 0 0 0 0 + 212 3 0 0 0 1073 181 289 320 0 0 0 0 0 0 + 213 3 0 0 0 1074 181 346 289 0 0 0 0 0 0 + 214 3 0 0 0 1075 181 211 346 0 0 0 0 0 0 + 215 3 0 0 0 1165 188 217 330 0 0 0 0 0 0 + 216 3 0 0 0 1169 188 376 235 0 0 0 0 0 0 + 217 3 0 0 0 1172 188 330 376 0 0 0 0 0 0 + 218 3 0 0 0 775 191 241 256 0 0 0 0 0 0 + 219 3 0 0 0 839 191 221 241 0 0 0 0 0 0 + 220 3 0 0 0 938 191 256 222 0 0 0 0 0 0 + 221 3 0 0 0 937 192 222 256 0 0 0 0 0 0 + 222 3 0 0 0 939 192 256 223 0 0 0 0 0 0 + 223 3 0 0 0 1198 192 223 359 0 0 0 0 0 0 + 224 3 0 0 0 1199 192 359 217 0 0 0 0 0 0 + 225 3 0 0 0 941 194 214 243 0 0 0 0 0 0 + 226 3 0 0 0 948 194 243 261 0 0 0 0 0 0 + 227 3 0 0 0 949 194 261 206 0 0 0 0 0 0 + 228 3 0 0 0 1240 196 294 242 0 0 0 0 0 0 + 229 3 0 0 0 1241 196 260 303 0 0 0 0 0 0 + 230 3 0 0 0 1242 196 303 337 0 0 0 0 0 0 + 231 3 0 0 0 1243 196 389 294 0 0 0 0 0 0 + 232 3 0 0 0 1244 196 337 389 0 0 0 0 0 0 + 233 3 0 0 0 981 198 275 245 0 0 0 0 0 0 + 234 3 0 0 0 982 198 244 275 0 0 0 0 0 0 + 235 4 1 0 0 1248 199 265 247 0 0 0 0 0 0 + 236 4 1 0 0 996 204 247 313 0 0 0 0 0 0 + 237 4 1 0 0 1268 204 313 283 0 0 0 0 0 0 + 238 4 1 0 0 1270 204 283 367 0 0 0 0 0 0 + 239 3 0 0 0 971 205 262 231 0 0 0 0 0 0 + 240 3 0 0 0 1273 206 261 285 0 0 0 0 0 0 + 241 3 0 0 0 1274 206 285 262 0 0 0 0 0 0 + 242 3 0 0 0 1276 209 288 258 0 0 0 0 0 0 + 243 3 0 0 0 1277 209 250 288 0 0 0 0 0 0 + 244 4 1 0 0 1075 211 233 346 0 0 0 0 0 0 + 245 3 0 0 0 1108 214 242 325 0 0 0 0 0 0 + 246 3 0 0 0 1300 214 325 243 0 0 0 0 0 0 + 247 3 0 0 0 1308 217 359 330 0 0 0 0 0 0 + 248 3 0 0 0 909 221 267 241 0 0 0 0 0 0 + 249 3 0 0 0 1094 223 256 322 0 0 0 0 0 0 + 250 3 0 0 0 1095 223 322 291 0 0 0 0 0 0 + 251 3 0 0 0 1351 223 291 385 0 0 0 0 0 0 + 252 3 0 0 0 1352 223 385 359 0 0 0 0 0 0 + 253 3 0 0 0 1383 231 262 347 0 0 0 0 0 0 + 254 3 0 0 0 1385 231 347 368 0 0 0 0 0 0 + 255 3 0 0 0 1386 231 368 312 0 0 0 0 0 0 + 256 3 0 0 0 1390 235 354 260 0 0 0 0 0 0 + 257 3 0 0 0 1393 235 376 354 0 0 0 0 0 0 + 258 3 0 0 0 908 241 267 257 0 0 0 0 0 0 + 259 3 0 0 0 1093 241 257 322 0 0 0 0 0 0 + 260 3 0 0 0 1096 241 322 256 0 0 0 0 0 0 + 261 3 0 0 0 1109 242 294 325 0 0 0 0 0 0 + 262 3 0 0 0 1219 243 305 261 0 0 0 0 0 0 + 263 3 0 0 0 1417 243 325 387 0 0 0 0 0 0 + 264 3 0 0 0 1419 243 387 305 0 0 0 0 0 0 + 265 3 0 0 0 1420 244 390 275 0 0 0 0 0 0 + 266 3 0 0 0 1421 244 312 390 0 0 0 0 0 0 + 267 3 0 0 0 1362 245 307 265 0 0 0 0 0 0 + 268 3 0 0 0 1372 245 340 307 0 0 0 0 0 0 + 269 3 0 0 0 1422 245 275 340 0 0 0 0 0 0 + 270 4 1 0 0 1361 247 265 277 0 0 0 0 0 0 + 271 4 1 0 0 1424 247 277 313 0 0 0 0 0 0 + 272 3 0 0 0 1279 250 320 288 0 0 0 0 0 0 + 273 3 0 0 0 1312 257 267 331 0 0 0 0 0 0 + 274 3 0 0 0 1313 257 331 300 0 0 0 0 0 0 + 275 3 0 0 0 1397 257 300 379 0 0 0 0 0 0 + 276 3 0 0 0 1399 257 379 322 0 0 0 0 0 0 + 277 3 0 0 0 1206 258 288 361 0 0 0 0 0 0 + 278 3 0 0 0 1311 258 331 267 0 0 0 0 0 0 + 279 3 0 0 0 1314 258 361 331 0 0 0 0 0 0 + 280 3 0 0 0 1476 260 354 303 0 0 0 0 0 0 + 281 3 0 0 0 1228 261 364 285 0 0 0 0 0 0 + 282 3 0 0 0 1229 261 305 364 0 0 0 0 0 0 + 283 3 0 0 0 1477 262 285 347 0 0 0 0 0 0 + 284 3 0 0 0 1363 265 307 277 0 0 0 0 0 0 + 285 3 0 0 0 1529 275 390 404 0 0 0 0 0 0 + 286 3 0 0 0 1530 275 404 340 0 0 0 0 0 0 + 287 4 1 0 0 1553 277 448 313 0 0 0 0 0 0 + 288 3 0 0 0 1554 277 307 448 0 0 0 0 0 0 + 289 4 1 0 0 1624 283 407 456 0 0 0 0 0 0 + 290 4 1 0 0 1625 283 313 407 0 0 0 0 0 0 + 291 4 1 0 0 1626 283 456 497 0 0 0 0 0 0 + 292 4 1 0 0 1629 283 497 416 0 0 0 0 0 0 + 293 4 1 0 0 1633 283 416 367 0 0 0 0 0 0 + 294 4 1 0 0 1634 284 418 346 0 0 0 0 0 0 + 295 4 1 0 0 1636 284 367 498 0 0 0 0 0 0 + 296 4 1 0 0 1640 284 498 532 0 0 0 0 0 0 + 297 4 1 0 0 1642 284 532 418 0 0 0 0 0 0 + 298 3 0 0 0 1647 285 420 347 0 0 0 0 0 0 + 299 3 0 0 0 1648 285 364 420 0 0 0 0 0 0 + 300 3 0 0 0 1661 288 423 361 0 0 0 0 0 0 + 301 3 0 0 0 1662 288 320 423 0 0 0 0 0 0 + 302 3 0 0 0 1287 289 393 320 0 0 0 0 0 0 + 303 3 0 0 0 1663 289 417 393 0 0 0 0 0 0 + 304 3 0 0 0 1664 289 346 459 0 0 0 0 0 0 + 305 3 0 0 0 1665 289 459 417 0 0 0 0 0 0 + 306 3 0 0 0 1673 291 322 379 0 0 0 0 0 0 + 307 3 0 0 0 1678 291 379 468 0 0 0 0 0 0 + 308 3 0 0 0 1679 291 507 385 0 0 0 0 0 0 + 309 3 0 0 0 1680 291 468 507 0 0 0 0 0 0 + 310 3 0 0 0 1701 294 389 471 0 0 0 0 0 0 + 311 3 0 0 0 1702 294 471 325 0 0 0 0 0 0 + 312 3 0 0 0 1316 300 331 380 0 0 0 0 0 0 + 313 3 0 0 0 1765 300 428 379 0 0 0 0 0 0 + 314 3 0 0 0 1766 300 518 428 0 0 0 0 0 0 + 315 3 0 0 0 1767 300 380 518 0 0 0 0 0 0 + 316 3 0 0 0 1803 303 485 337 0 0 0 0 0 0 + 317 3 0 0 0 1805 303 354 511 0 0 0 0 0 0 + 318 3 0 0 0 1806 303 511 485 0 0 0 0 0 0 + 319 3 0 0 0 1825 305 443 364 0 0 0 0 0 0 + 320 3 0 0 0 1827 305 387 472 0 0 0 0 0 0 + 321 3 0 0 0 1828 305 472 443 0 0 0 0 0 0 + 322 3 0 0 0 1534 307 340 405 0 0 0 0 0 0 + 323 3 0 0 0 1833 307 405 448 0 0 0 0 0 0 + 324 3 0 0 0 1598 312 412 390 0 0 0 0 0 0 + 325 3 0 0 0 1599 312 368 412 0 0 0 0 0 0 + 326 4 1 0 0 1859 313 448 407 0 0 0 0 0 0 + 327 3 0 0 0 1916 320 393 423 0 0 0 0 0 0 + 328 3 0 0 0 1699 325 471 387 0 0 0 0 0 0 + 329 3 0 0 0 1744 330 359 544 0 0 0 0 0 0 + 330 3 0 0 0 1968 330 512 376 0 0 0 0 0 0 + 331 3 0 0 0 1969 330 544 512 0 0 0 0 0 0 + 332 3 0 0 0 1315 331 361 380 0 0 0 0 0 0 + 333 3 0 0 0 2033 337 444 389 0 0 0 0 0 0 + 334 3 0 0 0 2035 337 525 444 0 0 0 0 0 0 + 335 3 0 0 0 2035 337 485 525 0 0 0 0 0 0 + 336 3 0 0 0 1540 340 487 405 0 0 0 0 0 0 + 337 3 0 0 0 1541 340 404 487 0 0 0 0 0 0 + 338 3 0 0 0 1878 346 418 459 0 0 0 0 0 0 + 339 3 0 0 0 1897 347 501 368 0 0 0 0 0 0 + 340 3 0 0 0 2052 347 420 501 0 0 0 0 0 0 + 341 3 0 0 0 2098 354 376 435 0 0 0 0 0 0 + 342 3 0 0 0 2100 354 435 511 0 0 0 0 0 0 + 343 3 0 0 0 1741 359 385 544 0 0 0 0 0 0 + 344 3 0 0 0 1974 361 503 380 0 0 0 0 0 0 + 345 3 0 0 0 2126 361 423 503 0 0 0 0 0 0 + 346 3 0 0 0 1810 364 443 460 0 0 0 0 0 0 + 347 3 0 0 0 1888 364 460 420 0 0 0 0 0 0 + 348 4 1 0 0 2154 367 416 498 0 0 0 0 0 0 + 349 3 0 0 0 1604 368 454 412 0 0 0 0 0 0 + 350 3 0 0 0 1896 368 501 454 0 0 0 0 0 0 + 351 3 0 0 0 2186 376 512 435 0 0 0 0 0 0 + 352 3 0 0 0 2075 379 428 468 0 0 0 0 0 0 + 353 3 0 0 0 1973 380 503 439 0 0 0 0 0 0 + 354 3 0 0 0 1977 380 439 518 0 0 0 0 0 0 + 355 3 0 0 0 2212 385 507 437 0 0 0 0 0 0 + 356 3 0 0 0 2213 385 437 544 0 0 0 0 0 0 + 357 3 0 0 0 2090 387 510 472 0 0 0 0 0 0 + 358 3 0 0 0 2223 387 471 510 0 0 0 0 0 0 + 359 3 0 0 0 2085 389 539 471 0 0 0 0 0 0 + 360 3 0 0 0 2229 389 444 539 0 0 0 0 0 0 + 361 3 0 0 0 1849 390 412 453 0 0 0 0 0 0 + 362 3 0 0 0 2230 390 453 404 0 0 0 0 0 0 + 363 3 0 0 0 2165 393 464 423 0 0 0 0 0 0 + 364 3 0 0 0 2240 393 504 464 0 0 0 0 0 0 + 365 3 0 0 0 2242 393 417 504 0 0 0 0 0 0 + 366 3 0 0 0 2292 404 575 487 0 0 0 0 0 0 + 367 3 0 0 0 2293 404 453 575 0 0 0 0 0 0 + 368 3 0 0 0 2036 405 489 448 0 0 0 0 0 0 + 369 3 0 0 0 2294 405 487 576 0 0 0 0 0 0 + 370 3 0 0 0 2295 405 576 489 0 0 0 0 0 0 + 371 4 1 0 0 2305 407 579 456 0 0 0 0 0 0 + 372 4 1 0 0 2307 407 448 579 0 0 0 0 0 0 + 373 3 0 0 0 2353 412 687 453 0 0 0 0 0 0 + 374 3 0 0 0 2354 412 454 687 0 0 0 0 0 0 + 375 4 1 0 0 2389 416 593 498 0 0 0 0 0 0 + 376 4 1 0 0 2390 416 644 593 0 0 0 0 0 0 + 377 4 1 0 0 2395 416 497 691 0 0 0 0 0 0 + 378 4 1 0 0 2396 416 691 644 0 0 0 0 0 0 + 379 3 0 0 0 2399 417 459 648 0 0 0 0 0 0 + 380 3 0 0 0 2400 417 648 692 0 0 0 0 0 0 + 381 3 0 0 0 2401 417 692 504 0 0 0 0 0 0 + 382 3 0 0 0 2403 418 532 459 0 0 0 0 0 0 + 383 3 0 0 0 2427 420 649 501 0 0 0 0 0 0 + 384 3 0 0 0 2428 420 460 649 0 0 0 0 0 0 + 385 3 0 0 0 2166 423 464 503 0 0 0 0 0 0 + 386 3 0 0 0 2481 428 518 607 0 0 0 0 0 0 + 387 3 0 0 0 2482 428 655 468 0 0 0 0 0 0 + 388 3 0 0 0 2483 428 607 655 0 0 0 0 0 0 + 389 3 0 0 0 2544 435 615 511 0 0 0 0 0 0 + 390 3 0 0 0 2545 435 664 615 0 0 0 0 0 0 + 391 3 0 0 0 2548 435 512 664 0 0 0 0 0 0 + 392 3 0 0 0 2566 437 507 656 0 0 0 0 0 0 + 393 3 0 0 0 2568 437 665 544 0 0 0 0 0 0 + 394 3 0 0 0 2569 437 708 665 0 0 0 0 0 0 + 395 3 0 0 0 2571 437 656 708 0 0 0 0 0 0 + 396 3 0 0 0 2582 439 503 600 0 0 0 0 0 0 + 397 3 0 0 0 2583 439 600 672 0 0 0 0 0 0 + 398 3 0 0 0 2585 439 672 712 0 0 0 0 0 0 + 399 3 0 0 0 2586 439 712 518 0 0 0 0 0 0 + 400 3 0 0 0 1814 443 523 460 0 0 0 0 0 0 + 401 3 0 0 0 2215 443 472 554 0 0 0 0 0 0 + 402 3 0 0 0 2628 443 554 523 0 0 0 0 0 0 + 403 3 0 0 0 2631 444 611 539 0 0 0 0 0 0 + 404 3 0 0 0 2636 444 754 611 0 0 0 0 0 0 + 405 3 0 0 0 2638 444 525 754 0 0 0 0 0 0 + 406 3 0 0 0 2307 448 489 579 0 0 0 0 0 0 + 407 3 0 0 0 2673 453 632 575 0 0 0 0 0 0 + 408 3 0 0 0 2675 453 687 632 0 0 0 0 0 0 + 409 3 0 0 0 2677 454 501 588 0 0 0 0 0 0 + 410 3 0 0 0 2678 454 726 687 0 0 0 0 0 0 + 411 3 0 0 0 2679 454 588 726 0 0 0 0 0 0 + 412 4 1 0 0 2381 456 756 497 0 0 0 0 0 0 + 413 4 1 0 0 2701 456 579 643 0 0 0 0 0 0 + 414 4 1 0 0 2702 456 643 756 0 0 0 0 0 0 + 415 3 0 0 0 2713 459 532 648 0 0 0 0 0 0 + 416 3 0 0 0 2714 460 523 596 0 0 0 0 0 0 + 417 3 0 0 0 2716 460 596 649 0 0 0 0 0 0 + 418 3 0 0 0 2274 464 504 570 0 0 0 0 0 0 + 419 3 0 0 0 2730 464 570 600 0 0 0 0 0 0 + 420 3 0 0 0 2731 464 600 503 0 0 0 0 0 0 + 421 3 0 0 0 2478 468 606 507 0 0 0 0 0 0 + 422 3 0 0 0 2743 468 655 606 0 0 0 0 0 0 + 423 3 0 0 0 2505 471 539 510 0 0 0 0 0 0 + 424 3 0 0 0 2512 472 612 554 0 0 0 0 0 0 + 425 3 0 0 0 2751 472 510 612 0 0 0 0 0 0 + 426 3 0 0 0 2863 485 511 663 0 0 0 0 0 0 + 427 3 0 0 0 2867 485 751 525 0 0 0 0 0 0 + 428 3 0 0 0 2869 485 663 751 0 0 0 0 0 0 + 429 3 0 0 0 2646 487 575 630 0 0 0 0 0 0 + 430 3 0 0 0 2882 487 630 576 0 0 0 0 0 0 + 431 3 0 0 0 2883 489 576 633 0 0 0 0 0 0 + 432 3 0 0 0 2884 489 633 579 0 0 0 0 0 0 + 433 4 1 0 0 2925 497 730 691 0 0 0 0 0 0 + 434 4 1 0 0 2926 497 756 730 0 0 0 0 0 0 + 435 4 1 0 0 2405 498 647 532 0 0 0 0 0 0 + 436 4 1 0 0 2407 498 593 647 0 0 0 0 0 0 + 437 3 0 0 0 2941 501 649 588 0 0 0 0 0 0 + 438 3 0 0 0 2840 504 601 570 0 0 0 0 0 0 + 439 3 0 0 0 2952 504 692 601 0 0 0 0 0 0 + 440 3 0 0 0 2960 507 606 656 0 0 0 0 0 0 + 441 3 0 0 0 2972 510 661 612 0 0 0 0 0 0 + 442 3 0 0 0 2974 510 539 661 0 0 0 0 0 0 + 443 3 0 0 0 2975 511 615 663 0 0 0 0 0 0 + 444 3 0 0 0 2770 512 616 664 0 0 0 0 0 0 + 445 3 0 0 0 2772 512 665 616 0 0 0 0 0 0 + 446 3 0 0 0 2773 512 544 665 0 0 0 0 0 0 + 447 3 0 0 0 3021 518 712 607 0 0 0 0 0 0 + 448 3 0 0 0 2870 523 554 677 0 0 0 0 0 0 + 449 3 0 0 0 3043 523 719 596 0 0 0 0 0 0 + 450 3 0 0 0 3045 523 677 719 0 0 0 0 0 0 + 451 3 0 0 0 3055 525 751 628 0 0 0 0 0 0 + 452 3 0 0 0 3056 525 628 754 0 0 0 0 0 0 + 453 3 0 0 0 2406 532 647 595 0 0 0 0 0 0 + 454 3 0 0 0 2408 532 595 648 0 0 0 0 0 0 + 455 3 0 0 0 3102 539 611 661 0 0 0 0 0 0 + 456 3 0 0 0 3161 554 612 720 0 0 0 0 0 0 + 457 3 0 0 0 3163 554 720 677 0 0 0 0 0 0 + 458 3 0 0 0 2595 570 675 713 0 0 0 0 0 0 + 459 3 0 0 0 2844 570 601 675 0 0 0 0 0 0 + 460 3 0 0 0 3142 570 713 600 0 0 0 0 0 0 + 461 3 0 0 0 2652 575 632 721 0 0 0 0 0 0 + 462 3 0 0 0 2653 575 721 630 0 0 0 0 0 0 + 463 3 0 0 0 3058 576 630 680 0 0 0 0 0 0 + 464 3 0 0 0 3172 576 680 633 0 0 0 0 0 0 + 465 3 0 0 0 2684 578 641 680 0 0 0 0 0 0 + 466 3 0 0 0 2693 578 728 641 0 0 0 0 0 0 + 467 3 0 0 0 3057 578 680 630 0 0 0 0 0 0 + 468 3 0 0 0 3060 578 630 721 0 0 0 0 0 0 + 469 3 0 0 0 3276 578 896 728 0 0 0 0 0 0 + 470 3 0 0 0 3277 578 721 896 0 0 0 0 0 0 + 471 3 0 0 0 2701 579 681 643 0 0 0 0 0 0 + 472 3 0 0 0 3173 579 633 681 0 0 0 0 0 0 + 473 3 0 0 0 2376 580 727 681 0 0 0 0 0 0 + 474 3 0 0 0 2685 580 680 641 0 0 0 0 0 0 + 475 3 0 0 0 3171 580 633 680 0 0 0 0 0 0 + 476 3 0 0 0 3174 580 681 633 0 0 0 0 0 0 + 477 3 0 0 0 3279 580 785 727 0 0 0 0 0 0 + 478 3 0 0 0 3280 580 641 785 0 0 0 0 0 0 + 479 3 0 0 0 3178 586 632 687 0 0 0 0 0 0 + 480 3 0 0 0 3326 586 687 726 0 0 0 0 0 0 + 481 3 0 0 0 3327 586 782 632 0 0 0 0 0 0 + 482 3 0 0 0 3329 586 726 903 0 0 0 0 0 0 + 483 3 0 0 0 3331 586 990 782 0 0 0 0 0 0 + 484 3 0 0 0 3332 586 903 990 0 0 0 0 0 0 + 485 3 0 0 0 3086 588 777 726 0 0 0 0 0 0 + 486 3 0 0 0 3343 588 649 793 0 0 0 0 0 0 + 487 3 0 0 0 3344 588 793 777 0 0 0 0 0 0 + 488 4 1 0 0 3403 593 801 647 0 0 0 0 0 0 + 489 4 1 0 0 3405 593 644 801 0 0 0 0 0 0 + 490 3 0 0 0 2419 595 760 648 0 0 0 0 0 0 + 491 3 0 0 0 2422 595 776 760 0 0 0 0 0 0 + 492 3 0 0 0 2423 595 647 776 0 0 0 0 0 0 + 493 3 0 0 0 3417 596 793 649 0 0 0 0 0 0 + 494 3 0 0 0 3419 596 719 858 0 0 0 0 0 0 + 495 3 0 0 0 3420 596 858 793 0 0 0 0 0 0 + 496 3 0 0 0 3141 600 713 672 0 0 0 0 0 0 + 497 3 0 0 0 3445 601 692 852 0 0 0 0 0 0 + 498 3 0 0 0 3448 601 914 675 0 0 0 0 0 0 + 499 3 0 0 0 3449 601 852 914 0 0 0 0 0 0 + 500 3 0 0 0 2968 606 655 701 0 0 0 0 0 0 + 501 3 0 0 0 3243 606 744 656 0 0 0 0 0 0 + 502 3 0 0 0 3476 606 701 744 0 0 0 0 0 0 + 503 3 0 0 0 3098 607 735 655 0 0 0 0 0 0 + 504 3 0 0 0 3477 607 712 810 0 0 0 0 0 0 + 505 3 0 0 0 3478 607 810 735 0 0 0 0 0 0 + 506 3 0 0 0 3220 611 765 661 0 0 0 0 0 0 + 507 3 0 0 0 3518 611 754 871 0 0 0 0 0 0 + 508 3 0 0 0 3519 611 871 765 0 0 0 0 0 0 + 509 3 0 0 0 3521 612 661 816 0 0 0 0 0 0 + 510 3 0 0 0 3522 612 816 720 0 0 0 0 0 0 + 511 3 0 0 0 3555 615 664 821 0 0 0 0 0 0 + 512 3 0 0 0 3557 615 821 878 0 0 0 0 0 0 + 513 3 0 0 0 3558 615 878 663 0 0 0 0 0 0 + 514 3 0 0 0 2783 616 668 709 0 0 0 0 0 0 + 515 3 0 0 0 2784 616 709 664 0 0 0 0 0 0 + 516 3 0 0 0 3130 616 665 708 0 0 0 0 0 0 + 517 3 0 0 0 3131 616 708 668 0 0 0 0 0 0 + 518 3 0 0 0 3026 625 672 713 0 0 0 0 0 0 + 519 3 0 0 0 3149 625 749 672 0 0 0 0 0 0 + 520 3 0 0 0 3649 625 713 832 0 0 0 0 0 0 + 521 3 0 0 0 3650 625 887 749 0 0 0 0 0 0 + 522 3 0 0 0 3652 625 832 942 0 0 0 0 0 0 + 523 3 0 0 0 3653 625 942 887 0 0 0 0 0 0 + 524 3 0 0 0 3691 628 751 834 0 0 0 0 0 0 + 525 3 0 0 0 3693 628 893 943 0 0 0 0 0 0 + 526 3 0 0 0 3694 628 943 754 0 0 0 0 0 0 + 527 3 0 0 0 3695 628 946 893 0 0 0 0 0 0 + 528 3 0 0 0 3695 628 834 946 0 0 0 0 0 0 + 529 3 0 0 0 3267 632 782 721 0 0 0 0 0 0 + 530 3 0 0 0 3363 641 728 851 0 0 0 0 0 0 + 531 3 0 0 0 3755 641 851 785 0 0 0 0 0 0 + 532 3 0 0 0 3757 643 681 727 0 0 0 0 0 0 + 533 4 1 0 0 3758 643 794 756 0 0 0 0 0 0 + 534 3 0 0 0 3758 643 727 794 0 0 0 0 0 0 + 535 4 1 0 0 3762 644 691 907 0 0 0 0 0 0 + 536 4 1 0 0 3765 644 992 801 0 0 0 0 0 0 + 537 4 1 0 0 3766 644 907 992 0 0 0 0 0 0 + 538 3 0 0 0 2425 647 693 776 0 0 0 0 0 0 + 539 3 0 0 0 3403 647 801 693 0 0 0 0 0 0 + 540 3 0 0 0 3409 648 760 692 0 0 0 0 0 0 + 541 3 0 0 0 3479 655 735 701 0 0 0 0 0 0 + 542 3 0 0 0 3005 656 769 708 0 0 0 0 0 0 + 543 3 0 0 0 3579 656 744 769 0 0 0 0 0 0 + 544 3 0 0 0 3855 661 765 816 0 0 0 0 0 0 + 545 3 0 0 0 3867 663 926 751 0 0 0 0 0 0 + 546 3 0 0 0 3868 663 878 926 0 0 0 0 0 0 + 547 3 0 0 0 3555 664 709 821 0 0 0 0 0 0 + 548 3 0 0 0 3003 668 708 769 0 0 0 0 0 0 + 549 3 0 0 0 3895 668 769 824 0 0 0 0 0 0 + 550 3 0 0 0 3896 668 883 709 0 0 0 0 0 0 + 551 3 0 0 0 3900 668 824 883 0 0 0 0 0 0 + 552 3 0 0 0 3150 672 749 712 0 0 0 0 0 0 + 553 3 0 0 0 3638 675 832 713 0 0 0 0 0 0 + 554 3 0 0 0 3645 675 1008 832 0 0 0 0 0 0 + 555 3 0 0 0 3940 675 914 1008 0 0 0 0 0 0 + 556 3 0 0 0 3529 677 720 923 0 0 0 0 0 0 + 557 3 0 0 0 3953 677 835 719 0 0 0 0 0 0 + 558 3 0 0 0 3955 677 923 835 0 0 0 0 0 0 + 559 4 1 0 0 3771 691 730 855 0 0 0 0 0 0 + 560 4 1 0 0 3772 691 855 802 0 0 0 0 0 0 + 561 4 1 0 0 3992 691 802 907 0 0 0 0 0 0 + 562 3 0 0 0 3411 692 760 852 0 0 0 0 0 0 + 563 3 0 0 0 3995 693 803 776 0 0 0 0 0 0 + 564 3 0 0 0 3998 693 801 961 0 0 0 0 0 0 + 565 3 0 0 0 3999 693 961 803 0 0 0 0 0 0 + 566 3 0 0 0 3482 701 735 809 0 0 0 0 0 0 + 567 3 0 0 0 3835 701 866 744 0 0 0 0 0 0 + 568 3 0 0 0 3837 701 809 866 0 0 0 0 0 0 + 569 3 0 0 0 4047 709 883 933 0 0 0 0 0 0 + 570 3 0 0 0 4048 709 933 821 0 0 0 0 0 0 + 571 3 0 0 0 3842 712 749 810 0 0 0 0 0 0 + 572 3 0 0 0 4091 719 945 858 0 0 0 0 0 0 + 573 3 0 0 0 4092 719 835 945 0 0 0 0 0 0 + 574 3 0 0 0 3857 720 816 872 0 0 0 0 0 0 + 575 3 0 0 0 4095 720 872 923 0 0 0 0 0 0 + 576 3 0 0 0 3273 721 782 896 0 0 0 0 0 0 + 577 3 0 0 0 3727 726 777 903 0 0 0 0 0 0 + 578 3 0 0 0 3738 727 849 794 0 0 0 0 0 0 + 579 3 0 0 0 3743 727 785 905 0 0 0 0 0 0 + 580 3 0 0 0 3744 727 905 849 0 0 0 0 0 0 + 581 3 0 0 0 3376 728 953 851 0 0 0 0 0 0 + 582 3 0 0 0 3969 728 896 784 0 0 0 0 0 0 + 583 3 0 0 0 4119 728 784 953 0 0 0 0 0 0 + 584 4 1 0 0 3737 730 756 794 0 0 0 0 0 0 + 585 4 1 0 0 4126 730 958 855 0 0 0 0 0 0 + 586 4 1 0 0 4127 730 794 958 0 0 0 0 0 0 + 587 3 0 0 0 3484 735 867 809 0 0 0 0 0 0 + 588 3 0 0 0 4145 735 810 867 0 0 0 0 0 0 + 589 3 0 0 0 3581 744 932 769 0 0 0 0 0 0 + 590 3 0 0 0 4187 744 866 932 0 0 0 0 0 0 + 591 3 0 0 0 3916 749 887 937 0 0 0 0 0 0 + 592 3 0 0 0 4219 749 937 810 0 0 0 0 0 0 + 593 3 0 0 0 4227 751 926 834 0 0 0 0 0 0 + 594 3 0 0 0 4236 754 943 871 0 0 0 0 0 0 + 595 3 0 0 0 3416 760 910 852 0 0 0 0 0 0 + 596 3 0 0 0 4129 760 776 910 0 0 0 0 0 0 + 597 3 0 0 0 3549 765 970 816 0 0 0 0 0 0 + 598 3 0 0 0 3551 765 818 970 0 0 0 0 0 0 + 599 3 0 0 0 4150 765 871 818 0 0 0 0 0 0 + 600 3 0 0 0 3582 769 932 824 0 0 0 0 0 0 + 601 3 0 0 0 4250 776 803 910 0 0 0 0 0 0 + 602 3 0 0 0 4335 777 965 903 0 0 0 0 0 0 + 603 3 0 0 0 4337 777 793 1013 0 0 0 0 0 0 + 604 3 0 0 0 4338 777 1013 965 0 0 0 0 0 0 + 605 3 0 0 0 4116 782 990 949 0 0 0 0 0 0 + 606 3 0 0 0 4344 782 949 896 0 0 0 0 0 0 + 607 3 0 0 0 4354 784 896 949 0 0 0 0 0 0 + 608 3 0 0 0 4358 784 1088 953 0 0 0 0 0 0 + 609 3 0 0 0 4359 784 949 1150 0 0 0 0 0 0 + 610 3 0 0 0 4360 784 1150 1088 0 0 0 0 0 0 + 611 3 0 0 0 4361 785 1021 905 0 0 0 0 0 0 + 612 3 0 0 0 4362 785 851 1021 0 0 0 0 0 0 + 613 3 0 0 0 4429 793 858 1013 0 0 0 0 0 0 + 614 3 0 0 0 4127 794 849 958 0 0 0 0 0 0 + 615 3 0 0 0 4495 801 992 961 0 0 0 0 0 0 + 616 4 1 0 0 4496 802 1040 907 0 0 0 0 0 0 + 617 4 1 0 0 4497 802 855 1106 0 0 0 0 0 0 + 618 4 1 0 0 4498 802 1106 1167 0 0 0 0 0 0 + 619 4 1 0 0 4499 802 1167 1040 0 0 0 0 0 0 + 620 3 0 0 0 4502 803 1108 910 0 0 0 0 0 0 + 621 3 0 0 0 4503 803 961 1171 0 0 0 0 0 0 + 622 3 0 0 0 4506 803 1171 1108 0 0 0 0 0 0 + 623 3 0 0 0 4560 809 1053 866 0 0 0 0 0 0 + 624 3 0 0 0 4561 809 1115 1053 0 0 0 0 0 0 + 625 3 0 0 0 4562 809 867 1115 0 0 0 0 0 0 + 626 3 0 0 0 4322 810 937 867 0 0 0 0 0 0 + 627 3 0 0 0 4611 816 970 872 0 0 0 0 0 0 + 628 3 0 0 0 3550 818 876 970 0 0 0 0 0 0 + 629 3 0 0 0 4630 818 871 1060 0 0 0 0 0 0 + 630 3 0 0 0 4631 818 1060 1228 0 0 0 0 0 0 + 631 3 0 0 0 4632 818 1228 876 0 0 0 0 0 0 + 632 3 0 0 0 4659 821 1067 878 0 0 0 0 0 0 + 633 3 0 0 0 4660 821 933 1067 0 0 0 0 0 0 + 634 3 0 0 0 4688 824 932 882 0 0 0 0 0 0 + 635 3 0 0 0 4691 824 882 1071 0 0 0 0 0 0 + 636 3 0 0 0 4692 824 1071 883 0 0 0 0 0 0 + 637 3 0 0 0 4314 826 933 977 0 0 0 0 0 0 + 638 3 0 0 0 4315 826 977 934 0 0 0 0 0 0 + 639 3 0 0 0 4711 826 1067 933 0 0 0 0 0 0 + 640 3 0 0 0 4713 826 1133 1067 0 0 0 0 0 0 + 641 3 0 0 0 4714 826 1195 1133 0 0 0 0 0 0 + 642 3 0 0 0 4715 826 934 1195 0 0 0 0 0 0 + 643 3 0 0 0 4213 832 892 942 0 0 0 0 0 0 + 644 3 0 0 0 4784 832 1008 892 0 0 0 0 0 0 + 645 3 0 0 0 4813 834 1081 946 0 0 0 0 0 0 + 646 3 0 0 0 4816 834 926 1190 0 0 0 0 0 0 + 647 3 0 0 0 4817 834 1190 1081 0 0 0 0 0 0 + 648 3 0 0 0 4819 835 1183 1144 0 0 0 0 0 0 + 649 3 0 0 0 4821 835 923 1183 0 0 0 0 0 0 + 650 3 0 0 0 4822 835 1144 945 0 0 0 0 0 0 + 651 3 0 0 0 4925 849 905 1033 0 0 0 0 0 0 + 652 3 0 0 0 4926 849 1033 958 0 0 0 0 0 0 + 653 3 0 0 0 4457 851 953 1100 0 0 0 0 0 0 + 654 3 0 0 0 4940 851 1100 1021 0 0 0 0 0 0 + 655 3 0 0 0 4470 852 910 1034 0 0 0 0 0 0 + 656 3 0 0 0 4471 852 1034 914 0 0 0 0 0 0 + 657 4 1 0 0 4954 855 1169 1106 0 0 0 0 0 0 + 658 4 1 0 0 4955 855 958 1169 0 0 0 0 0 0 + 659 3 0 0 0 4975 858 945 1042 0 0 0 0 0 0 + 660 3 0 0 0 4976 858 1042 1013 0 0 0 0 0 0 + 661 3 0 0 0 4302 866 1004 932 0 0 0 0 0 0 + 662 3 0 0 0 5027 866 1053 1004 0 0 0 0 0 0 + 663 3 0 0 0 5030 867 937 1055 0 0 0 0 0 0 + 664 3 0 0 0 5031 867 1055 1115 0 0 0 0 0 0 + 665 3 0 0 0 4606 871 943 1060 0 0 0 0 0 0 + 666 3 0 0 0 4619 872 1061 1120 0 0 0 0 0 0 + 667 3 0 0 0 4620 872 1120 923 0 0 0 0 0 0 + 668 3 0 0 0 5049 872 970 1061 0 0 0 0 0 0 + 669 3 0 0 0 5059 876 1061 970 0 0 0 0 0 0 + 670 3 0 0 0 5061 876 1229 1061 0 0 0 0 0 0 + 671 3 0 0 0 5062 876 1064 1229 0 0 0 0 0 0 + 672 3 0 0 0 5063 876 1228 1064 0 0 0 0 0 0 + 673 3 0 0 0 4653 878 1127 926 0 0 0 0 0 0 + 674 3 0 0 0 5068 878 1067 1127 0 0 0 0 0 0 + 675 3 0 0 0 4301 882 932 1004 0 0 0 0 0 0 + 676 3 0 0 0 4694 882 1004 1072 0 0 0 0 0 0 + 677 3 0 0 0 5091 882 1072 1234 0 0 0 0 0 0 + 678 3 0 0 0 5092 882 1234 1071 0 0 0 0 0 0 + 679 3 0 0 0 4316 883 977 933 0 0 0 0 0 0 + 680 3 0 0 0 5093 883 1071 977 0 0 0 0 0 0 + 681 3 0 0 0 4747 887 942 1078 0 0 0 0 0 0 + 682 3 0 0 0 4750 887 1138 937 0 0 0 0 0 0 + 683 3 0 0 0 4752 887 1078 1138 0 0 0 0 0 0 + 684 3 0 0 0 4793 892 1202 942 0 0 0 0 0 0 + 685 3 0 0 0 4801 892 1246 1274 0 0 0 0 0 0 + 686 3 0 0 0 4804 892 1274 1202 0 0 0 0 0 0 + 687 3 0 0 0 5148 892 1008 1246 0 0 0 0 0 0 + 688 3 0 0 0 5149 893 946 1082 0 0 0 0 0 0 + 689 3 0 0 0 5150 893 1248 943 0 0 0 0 0 0 + 690 3 0 0 0 5152 893 1082 1248 0 0 0 0 0 0 + 691 3 0 0 0 4417 903 965 1030 0 0 0 0 0 0 + 692 3 0 0 0 4916 903 1030 990 0 0 0 0 0 0 + 693 3 0 0 0 4937 905 1021 1163 0 0 0 0 0 0 + 694 3 0 0 0 5203 905 1163 1033 0 0 0 0 0 0 + 695 4 1 0 0 5210 907 1039 992 0 0 0 0 0 0 + 696 4 1 0 0 5211 907 1104 1039 0 0 0 0 0 0 + 697 4 1 0 0 5213 907 1040 1104 0 0 0 0 0 0 + 698 3 0 0 0 5235 910 1108 1034 0 0 0 0 0 0 + 699 3 0 0 0 4472 914 1034 1165 0 0 0 0 0 0 + 700 3 0 0 0 5132 914 1165 1008 0 0 0 0 0 0 + 701 3 0 0 0 5053 923 1120 1183 0 0 0 0 0 0 + 702 3 0 0 0 5295 926 1127 1190 0 0 0 0 0 0 + 703 3 0 0 0 4674 934 977 1131 0 0 0 0 0 0 + 704 3 0 0 0 5102 934 1074 1195 0 0 0 0 0 0 + 705 3 0 0 0 5316 934 1131 1239 0 0 0 0 0 0 + 706 3 0 0 0 5317 934 1239 1074 0 0 0 0 0 0 + 707 3 0 0 0 5326 937 1138 1055 0 0 0 0 0 0 + 708 3 0 0 0 5351 942 1202 1078 0 0 0 0 0 0 + 709 3 0 0 0 5352 943 1248 1060 0 0 0 0 0 0 + 710 3 0 0 0 5361 945 1144 1276 0 0 0 0 0 0 + 711 3 0 0 0 5362 945 1276 1042 0 0 0 0 0 0 + 712 3 0 0 0 5363 946 1146 1082 0 0 0 0 0 0 + 713 3 0 0 0 5364 946 1081 1146 0 0 0 0 0 0 + 714 3 0 0 0 5201 949 990 1212 0 0 0 0 0 0 + 715 3 0 0 0 5375 949 1212 1150 0 0 0 0 0 0 + 716 3 0 0 0 4464 953 1088 1215 0 0 0 0 0 0 + 717 3 0 0 0 4467 953 1215 1100 0 0 0 0 0 0 + 718 3 0 0 0 5224 958 1033 1169 0 0 0 0 0 0 + 719 3 0 0 0 4949 961 992 1103 0 0 0 0 0 0 + 720 3 0 0 0 5424 961 1103 1219 0 0 0 0 0 0 + 721 3 0 0 0 5425 961 1219 1171 0 0 0 0 0 0 + 722 3 0 0 0 5438 965 1174 1030 0 0 0 0 0 0 + 723 3 0 0 0 5440 965 1220 1174 0 0 0 0 0 0 + 724 3 0 0 0 5441 965 1013 1220 0 0 0 0 0 0 + 725 3 0 0 0 4675 977 1071 1131 0 0 0 0 0 0 + 726 3 0 0 0 5198 990 1030 1212 0 0 0 0 0 0 + 727 3 0 0 0 5399 992 1039 1103 0 0 0 0 0 0 + 728 3 0 0 0 4697 1004 1132 1072 0 0 0 0 0 0 + 729 3 0 0 0 5473 1004 1053 1132 0 0 0 0 0 0 + 730 3 0 0 0 5134 1008 1165 1246 0 0 0 0 0 0 + 731 3 0 0 0 5246 1013 1042 1220 0 0 0 0 0 0 + 732 3 0 0 0 5693 1021 1290 1163 0 0 0 0 0 0 + 733 3 0 0 0 5694 1021 1100 1290 0 0 0 0 0 0 + 734 3 0 0 0 5793 1030 1302 1212 0 0 0 0 0 0 + 735 3 0 0 0 5794 1030 1174 1302 0 0 0 0 0 0 + 736 3 0 0 0 5225 1033 1107 1169 0 0 0 0 0 0 + 737 3 0 0 0 5813 1033 1163 1308 0 0 0 0 0 0 + 738 3 0 0 0 5814 1033 1308 1107 0 0 0 0 0 0 + 739 3 0 0 0 5422 1034 1108 1218 0 0 0 0 0 0 + 740 3 0 0 0 5423 1034 1218 1165 0 0 0 0 0 0 + 741 3 0 0 0 5865 1039 1312 1103 0 0 0 0 0 0 + 742 3 0 0 0 5866 1039 1387 1312 0 0 0 0 0 0 + 743 4 1 0 0 5866 1039 1104 1387 0 0 0 0 0 0 + 744 4 1 0 0 5870 1040 1388 1104 0 0 0 0 0 0 + 745 4 1 0 0 5873 1040 1456 1388 0 0 0 0 0 0 + 746 4 1 0 0 5874 1040 1167 1456 0 0 0 0 0 0 + 747 3 0 0 0 5889 1042 1316 1220 0 0 0 0 0 0 + 748 3 0 0 0 5890 1042 1276 1316 0 0 0 0 0 0 + 749 3 0 0 0 5477 1053 1236 1132 0 0 0 0 0 0 + 750 3 0 0 0 5478 1053 1115 1236 0 0 0 0 0 0 + 751 3 0 0 0 5511 1055 1138 1270 0 0 0 0 0 0 + 752 3 0 0 0 5607 1055 1281 1115 0 0 0 0 0 0 + 753 3 0 0 0 6002 1055 1270 1281 0 0 0 0 0 0 + 754 3 0 0 0 5286 1060 1123 1228 0 0 0 0 0 0 + 755 3 0 0 0 5524 1060 1248 1123 0 0 0 0 0 0 + 756 3 0 0 0 6053 1061 1336 1120 0 0 0 0 0 0 + 757 3 0 0 0 6054 1061 1229 1336 0 0 0 0 0 0 + 758 3 0 0 0 6077 1064 1337 1229 0 0 0 0 0 0 + 759 3 0 0 0 6078 1064 1474 1413 0 0 0 0 0 0 + 760 3 0 0 0 6079 1064 1228 1474 0 0 0 0 0 0 + 761 3 0 0 0 6080 1064 1413 1337 0 0 0 0 0 0 + 762 3 0 0 0 5482 1067 1238 1127 0 0 0 0 0 0 + 763 3 0 0 0 5485 1067 1133 1238 0 0 0 0 0 0 + 764 3 0 0 0 5592 1071 1234 1131 0 0 0 0 0 0 + 765 3 0 0 0 6168 1072 1345 1234 0 0 0 0 0 0 + 766 3 0 0 0 6169 1072 1132 1485 0 0 0 0 0 0 + 767 3 0 0 0 6170 1072 1485 1345 0 0 0 0 0 0 + 768 3 0 0 0 5104 1073 1133 1195 0 0 0 0 0 0 + 769 3 0 0 0 5483 1073 1238 1133 0 0 0 0 0 0 + 770 3 0 0 0 6171 1073 1348 1238 0 0 0 0 0 0 + 771 3 0 0 0 6173 1073 1488 1348 0 0 0 0 0 0 + 772 3 0 0 0 6174 1073 1195 1488 0 0 0 0 0 0 + 773 3 0 0 0 6175 1074 1239 1347 0 0 0 0 0 0 + 774 3 0 0 0 6179 1074 1488 1195 0 0 0 0 0 0 + 775 3 0 0 0 6180 1074 1571 1488 0 0 0 0 0 0 + 776 3 0 0 0 6181 1074 1347 1571 0 0 0 0 0 0 + 777 3 0 0 0 6210 1078 1202 1354 0 0 0 0 0 0 + 778 3 0 0 0 6212 1078 1424 1138 0 0 0 0 0 0 + 779 3 0 0 0 6214 1078 1354 1424 0 0 0 0 0 0 + 780 3 0 0 0 4800 1080 1202 1274 0 0 0 0 0 0 + 781 3 0 0 0 6236 1080 1354 1202 0 0 0 0 0 0 + 782 3 0 0 0 6238 1080 1274 1357 0 0 0 0 0 0 + 783 3 0 0 0 6240 1080 1427 1354 0 0 0 0 0 0 + 784 3 0 0 0 6241 1080 1543 1427 0 0 0 0 0 0 + 785 3 0 0 0 6242 1080 1357 1543 0 0 0 0 0 0 + 786 3 0 0 0 6249 1081 1530 1359 0 0 0 0 0 0 + 787 3 0 0 0 6251 1081 1190 1530 0 0 0 0 0 0 + 788 3 0 0 0 6252 1081 1359 1146 0 0 0 0 0 0 + 789 3 0 0 0 6256 1082 1146 1339 0 0 0 0 0 0 + 790 3 0 0 0 6257 1082 1339 1248 0 0 0 0 0 0 + 791 3 0 0 0 5652 1088 1150 1285 0 0 0 0 0 0 + 792 3 0 0 0 5678 1088 1364 1215 0 0 0 0 0 0 + 793 3 0 0 0 6306 1088 1285 1364 0 0 0 0 0 0 + 794 3 0 0 0 6386 1100 1215 1383 0 0 0 0 0 0 + 795 3 0 0 0 6387 1100 1508 1290 0 0 0 0 0 0 + 796 3 0 0 0 6389 1100 1383 1508 0 0 0 0 0 0 + 797 3 0 0 0 5856 1103 1312 1219 0 0 0 0 0 0 + 798 4 1 0 0 6400 1104 1313 1387 0 0 0 0 0 0 + 799 4 1 0 0 6402 1104 1388 1313 0 0 0 0 0 0 + 800 3 0 0 0 4966 1105 1216 1257 0 0 0 0 0 0 + 801 3 0 0 0 5869 1105 1455 1388 0 0 0 0 0 0 + 802 3 0 0 0 5873 1105 1388 1456 0 0 0 0 0 0 + 803 3 0 0 0 5879 1105 1257 1389 0 0 0 0 0 0 + 804 3 0 0 0 6408 1105 1389 1314 0 0 0 0 0 0 + 805 3 0 0 0 6409 1105 1314 1455 0 0 0 0 0 0 + 806 3 0 0 0 6410 1105 1456 1216 0 0 0 0 0 0 + 807 4 1 0 0 5811 1106 1307 1167 0 0 0 0 0 0 + 808 4 1 0 0 6411 1106 1169 1390 0 0 0 0 0 0 + 809 4 1 0 0 6412 1106 1390 1307 0 0 0 0 0 0 + 810 3 0 0 0 6414 1107 1308 1382 0 0 0 0 0 0 + 811 3 0 0 0 6415 1107 1390 1169 0 0 0 0 0 0 + 812 3 0 0 0 6416 1107 1513 1390 0 0 0 0 0 0 + 813 3 0 0 0 6417 1107 1382 1513 0 0 0 0 0 0 + 814 3 0 0 0 5721 1108 1501 1218 0 0 0 0 0 0 + 815 3 0 0 0 6418 1108 1171 1501 0 0 0 0 0 0 + 816 3 0 0 0 5996 1115 1281 1236 0 0 0 0 0 0 + 817 3 0 0 0 6060 1120 1410 1183 0 0 0 0 0 0 + 818 3 0 0 0 6466 1120 1336 1410 0 0 0 0 0 0 + 819 3 0 0 0 6108 1123 1339 1412 0 0 0 0 0 0 + 820 3 0 0 0 6472 1123 1248 1339 0 0 0 0 0 0 + 821 3 0 0 0 6473 1123 1474 1228 0 0 0 0 0 0 + 822 3 0 0 0 6474 1123 1412 1474 0 0 0 0 0 0 + 823 3 0 0 0 5974 1127 1403 1190 0 0 0 0 0 0 + 824 3 0 0 0 6492 1127 1238 1403 0 0 0 0 0 0 + 825 3 0 0 0 6157 1131 1234 1419 0 0 0 0 0 0 + 826 3 0 0 0 6512 1131 1419 1239 0 0 0 0 0 0 + 827 3 0 0 0 6513 1132 1236 1421 0 0 0 0 0 0 + 828 3 0 0 0 6514 1132 1421 1485 0 0 0 0 0 0 + 829 3 0 0 0 6528 1138 1424 1270 0 0 0 0 0 0 + 830 3 0 0 0 6573 1144 1183 1338 0 0 0 0 0 0 + 831 3 0 0 0 6574 1144 1338 1494 0 0 0 0 0 0 + 832 3 0 0 0 6576 1144 1494 1276 0 0 0 0 0 0 + 833 3 0 0 0 6583 1146 1415 1339 0 0 0 0 0 0 + 834 3 0 0 0 6585 1146 1359 1433 0 0 0 0 0 0 + 835 3 0 0 0 6586 1146 1433 1497 0 0 0 0 0 0 + 836 3 0 0 0 6587 1146 1497 1415 0 0 0 0 0 0 + 837 3 0 0 0 5657 1150 1362 1285 0 0 0 0 0 0 + 838 3 0 0 0 6301 1150 1212 1362 0 0 0 0 0 0 + 839 3 0 0 0 6382 1163 1290 1451 0 0 0 0 0 0 + 840 3 0 0 0 6652 1163 1451 1308 0 0 0 0 0 0 + 841 3 0 0 0 5818 1165 1293 1246 0 0 0 0 0 0 + 842 3 0 0 0 6320 1165 1218 1293 0 0 0 0 0 0 + 843 4 1 0 0 6667 1167 1307 1456 0 0 0 0 0 0 + 844 3 0 0 0 5854 1171 1219 1311 0 0 0 0 0 0 + 845 3 0 0 0 6687 1171 1311 1501 0 0 0 0 0 0 + 846 3 0 0 0 6700 1174 1220 1393 0 0 0 0 0 0 + 847 3 0 0 0 6701 1174 1393 1515 0 0 0 0 0 0 + 848 3 0 0 0 6703 1174 1515 1302 0 0 0 0 0 0 + 849 3 0 0 0 6745 1183 1410 1338 0 0 0 0 0 0 + 850 3 0 0 0 6768 1190 1403 1530 0 0 0 0 0 0 + 851 3 0 0 0 6640 1212 1302 1362 0 0 0 0 0 0 + 852 3 0 0 0 5684 1215 1364 1500 0 0 0 0 0 0 + 853 3 0 0 0 5687 1215 1500 1289 0 0 0 0 0 0 + 854 3 0 0 0 6655 1215 1289 1383 0 0 0 0 0 0 + 855 3 0 0 0 6667 1216 1456 1307 0 0 0 0 0 0 + 856 3 0 0 0 6681 1216 1458 1257 0 0 0 0 0 0 + 857 3 0 0 0 6872 1216 1307 1458 0 0 0 0 0 0 + 858 3 0 0 0 5720 1218 1501 1439 0 0 0 0 0 0 + 859 3 0 0 0 6322 1218 1439 1293 0 0 0 0 0 0 + 860 3 0 0 0 6874 1219 1312 1391 0 0 0 0 0 0 + 861 3 0 0 0 6875 1219 1391 1311 0 0 0 0 0 0 + 862 3 0 0 0 6877 1220 1316 1393 0 0 0 0 0 0 + 863 3 0 0 0 6891 1229 1337 1525 0 0 0 0 0 0 + 864 3 0 0 0 6892 1229 1525 1336 0 0 0 0 0 0 + 865 3 0 0 0 6158 1234 1345 1419 0 0 0 0 0 0 + 866 3 0 0 0 6933 1236 1536 1421 0 0 0 0 0 0 + 867 3 0 0 0 6934 1236 1281 1536 0 0 0 0 0 0 + 868 3 0 0 0 6788 1238 1348 1403 0 0 0 0 0 0 + 869 3 0 0 0 6776 1239 1419 1534 0 0 0 0 0 0 + 870 3 0 0 0 6777 1239 1534 1347 0 0 0 0 0 0 + 871 3 0 0 0 5820 1246 1293 1385 0 0 0 0 0 0 + 872 3 0 0 0 6559 1246 1385 1274 0 0 0 0 0 0 + 873 3 0 0 0 5882 1257 1512 1389 0 0 0 0 0 0 + 874 3 0 0 0 6680 1257 1458 1384 0 0 0 0 0 0 + 875 3 0 0 0 7014 1257 1384 1512 0 0 0 0 0 0 + 876 3 0 0 0 6808 1270 1424 1490 0 0 0 0 0 0 + 877 3 0 0 0 6947 1270 1355 1281 0 0 0 0 0 0 + 878 3 0 0 0 6949 1270 1490 1355 0 0 0 0 0 0 + 879 3 0 0 0 6560 1274 1385 1357 0 0 0 0 0 0 + 880 3 0 0 0 7094 1276 1577 1316 0 0 0 0 0 0 + 881 3 0 0 0 7095 1276 1494 1577 0 0 0 0 0 0 + 882 3 0 0 0 7102 1281 1355 1536 0 0 0 0 0 0 + 883 3 0 0 0 6597 1285 1581 1364 0 0 0 0 0 0 + 884 3 0 0 0 7116 1285 1587 1581 0 0 0 0 0 0 + 885 3 0 0 0 7117 1285 1362 1587 0 0 0 0 0 0 + 886 3 0 0 0 6657 1289 1452 1383 0 0 0 0 0 0 + 887 3 0 0 0 7148 1289 1592 1452 0 0 0 0 0 0 + 888 3 0 0 0 7150 1289 1675 1592 0 0 0 0 0 0 + 889 3 0 0 0 7151 1289 1500 1675 0 0 0 0 0 0 + 890 3 0 0 0 7152 1290 1508 1451 0 0 0 0 0 0 + 891 3 0 0 0 7173 1293 1439 1598 0 0 0 0 0 0 + 892 3 0 0 0 7175 1293 1598 1385 0 0 0 0 0 0 + 893 3 0 0 0 6646 1302 1449 1362 0 0 0 0 0 0 + 894 3 0 0 0 7248 1302 1515 1449 0 0 0 0 0 0 + 895 4 1 0 0 7015 1307 1390 1459 0 0 0 0 0 0 + 896 3 0 0 0 7018 1307 1459 1513 0 0 0 0 0 0 + 897 3 0 0 0 7021 1307 1513 1458 0 0 0 0 0 0 + 898 3 0 0 0 7293 1308 1451 1613 0 0 0 0 0 0 + 899 3 0 0 0 7294 1308 1613 1382 0 0 0 0 0 0 + 900 3 0 0 0 7336 1311 1391 1679 0 0 0 0 0 0 + 901 3 0 0 0 7338 1311 1679 1749 0 0 0 0 0 0 + 902 3 0 0 0 7339 1311 1749 1501 0 0 0 0 0 0 + 903 3 0 0 0 6401 1312 1387 1454 0 0 0 0 0 0 + 904 3 0 0 0 7341 1312 1769 1391 0 0 0 0 0 0 + 905 3 0 0 0 7343 1312 1454 1769 0 0 0 0 0 0 + 906 3 0 0 0 6400 1313 1454 1387 0 0 0 0 0 0 + 907 3 0 0 0 7345 1313 1615 1454 0 0 0 0 0 0 + 908 3 0 0 0 7346 1313 1695 1615 0 0 0 0 0 0 + 909 4 1 0 0 7347 1313 1388 1695 0 0 0 0 0 0 + 910 3 0 0 0 7351 1314 1770 1455 0 0 0 0 0 0 + 911 3 0 0 0 7354 1314 1389 1771 0 0 0 0 0 0 + 912 3 0 0 0 7356 1314 1616 1770 0 0 0 0 0 0 + 913 3 0 0 0 7357 1314 1771 1616 0 0 0 0 0 0 + 914 3 0 0 0 7019 1315 1513 1382 0 0 0 0 0 0 + 915 3 0 0 0 7022 1315 1458 1513 0 0 0 0 0 0 + 916 3 0 0 0 7359 1315 1384 1458 0 0 0 0 0 0 + 917 3 0 0 0 7360 1315 1382 1613 0 0 0 0 0 0 + 918 3 0 0 0 7363 1315 1765 1384 0 0 0 0 0 0 + 919 3 0 0 0 7364 1315 1831 1765 0 0 0 0 0 0 + 920 3 0 0 0 7365 1315 1613 1831 0 0 0 0 0 0 + 921 3 0 0 0 7367 1316 1617 1393 0 0 0 0 0 0 + 922 3 0 0 0 7368 1316 1577 1617 0 0 0 0 0 0 + 923 3 0 0 0 7530 1336 1643 1410 0 0 0 0 0 0 + 924 3 0 0 0 7531 1336 1525 1643 0 0 0 0 0 0 + 925 3 0 0 0 7536 1337 1644 1525 0 0 0 0 0 0 + 926 3 0 0 0 7538 1337 1845 1644 0 0 0 0 0 0 + 927 3 0 0 0 7539 1337 1413 1845 0 0 0 0 0 0 + 928 3 0 0 0 6972 1338 1410 1545 0 0 0 0 0 0 + 929 3 0 0 0 6979 1338 1578 1494 0 0 0 0 0 0 + 930 3 0 0 0 6982 1338 1545 1578 0 0 0 0 0 0 + 931 3 0 0 0 6121 1339 1528 1412 0 0 0 0 0 0 + 932 3 0 0 0 6122 1339 1415 1528 0 0 0 0 0 0 + 933 3 0 0 0 6931 1345 1485 1420 0 0 0 0 0 0 + 934 3 0 0 0 7619 1345 1420 1652 0 0 0 0 0 0 + 935 3 0 0 0 7620 1345 1652 1419 0 0 0 0 0 0 + 936 3 0 0 0 7629 1347 1534 1727 0 0 0 0 0 0 + 937 3 0 0 0 7630 1347 1801 1571 0 0 0 0 0 0 + 938 3 0 0 0 7631 1347 1727 1801 0 0 0 0 0 0 + 939 3 0 0 0 6522 1348 1488 1537 0 0 0 0 0 0 + 940 3 0 0 0 6789 1348 1570 1403 0 0 0 0 0 0 + 941 3 0 0 0 7632 1348 1537 1657 0 0 0 0 0 0 + 942 3 0 0 0 7633 1348 1657 1732 0 0 0 0 0 0 + 943 3 0 0 0 7634 1348 1732 1570 0 0 0 0 0 0 + 944 3 0 0 0 6956 1354 1574 1424 0 0 0 0 0 0 + 945 3 0 0 0 7675 1354 1427 1574 0 0 0 0 0 0 + 946 3 0 0 0 7676 1355 1636 1536 0 0 0 0 0 0 + 947 3 0 0 0 7678 1355 1807 1636 0 0 0 0 0 0 + 948 3 0 0 0 7679 1355 1490 1807 0 0 0 0 0 0 + 949 3 0 0 0 7699 1357 1385 1682 0 0 0 0 0 0 + 950 3 0 0 0 7702 1357 1682 1811 0 0 0 0 0 0 + 951 3 0 0 0 7703 1357 1811 1543 0 0 0 0 0 0 + 952 3 0 0 0 7722 1359 1665 1433 0 0 0 0 0 0 + 953 3 0 0 0 7724 1359 1796 1665 0 0 0 0 0 0 + 954 3 0 0 0 7725 1359 1530 1796 0 0 0 0 0 0 + 955 3 0 0 0 7257 1362 1449 1587 0 0 0 0 0 0 + 956 3 0 0 0 6596 1364 1581 1500 0 0 0 0 0 0 + 957 3 0 0 0 7295 1383 1452 1508 0 0 0 0 0 0 + 958 3 0 0 0 7186 1384 1602 1512 0 0 0 0 0 0 + 959 3 0 0 0 7845 1384 1765 1602 0 0 0 0 0 0 + 960 3 0 0 0 7846 1385 1598 1682 0 0 0 0 0 0 + 961 3 0 0 0 7347 1388 1455 1695 0 0 0 0 0 0 + 962 3 0 0 0 7849 1389 1512 1686 0 0 0 0 0 0 + 963 3 0 0 0 7850 1389 1686 1771 0 0 0 0 0 0 + 964 3 0 0 0 7020 1390 1513 1459 0 0 0 0 0 0 + 965 3 0 0 0 7852 1391 1601 1679 0 0 0 0 0 0 + 966 3 0 0 0 7853 1391 1769 1601 0 0 0 0 0 0 + 967 3 0 0 0 7862 1393 1697 1515 0 0 0 0 0 0 + 968 3 0 0 0 7863 1393 1617 1697 0 0 0 0 0 0 + 969 3 0 0 0 7922 1403 1570 1530 0 0 0 0 0 0 + 970 3 0 0 0 7953 1410 1643 1545 0 0 0 0 0 0 + 971 3 0 0 0 6124 1412 1528 1566 0 0 0 0 0 0 + 972 3 0 0 0 7444 1412 1566 1474 0 0 0 0 0 0 + 973 3 0 0 0 7445 1413 1474 1566 0 0 0 0 0 0 + 974 3 0 0 0 7452 1413 1566 1782 0 0 0 0 0 0 + 975 3 0 0 0 7965 1413 1782 1845 0 0 0 0 0 0 + 976 3 0 0 0 7562 1415 1722 1528 0 0 0 0 0 0 + 977 3 0 0 0 7563 1415 1497 1722 0 0 0 0 0 0 + 978 3 0 0 0 7993 1419 1652 1534 0 0 0 0 0 0 + 979 3 0 0 0 7499 1420 1485 1535 0 0 0 0 0 0 + 980 3 0 0 0 7505 1420 1535 1716 0 0 0 0 0 0 + 981 3 0 0 0 7996 1420 1856 1652 0 0 0 0 0 0 + 982 3 0 0 0 7997 1420 1716 1856 0 0 0 0 0 0 + 983 3 0 0 0 6785 1421 1535 1485 0 0 0 0 0 0 + 984 3 0 0 0 7999 1421 1730 1535 0 0 0 0 0 0 + 985 3 0 0 0 8000 1421 1536 1730 0 0 0 0 0 0 + 986 3 0 0 0 6955 1424 1574 1490 0 0 0 0 0 0 + 987 3 0 0 0 7705 1427 1543 1664 0 0 0 0 0 0 + 988 3 0 0 0 8032 1427 1664 1808 0 0 0 0 0 0 + 989 3 0 0 0 8033 1427 1808 1574 0 0 0 0 0 0 + 990 3 0 0 0 8088 1433 1670 1497 0 0 0 0 0 0 + 991 3 0 0 0 8090 1433 1744 1670 0 0 0 0 0 0 + 992 3 0 0 0 8091 1433 1665 1744 0 0 0 0 0 0 + 993 3 0 0 0 7162 1439 1749 1678 0 0 0 0 0 0 + 994 3 0 0 0 7163 1439 1501 1749 0 0 0 0 0 0 + 995 3 0 0 0 7778 1439 1678 1598 0 0 0 0 0 0 + 996 3 0 0 0 7269 1449 1826 1587 0 0 0 0 0 0 + 997 3 0 0 0 7832 1449 1515 1763 0 0 0 0 0 0 + 998 3 0 0 0 8175 1449 1763 1826 0 0 0 0 0 0 + 999 3 0 0 0 7843 1451 1508 1764 0 0 0 0 0 0 + 1000 3 0 0 0 8187 1451 1764 1613 0 0 0 0 0 0 + 1001 3 0 0 0 7301 1452 1693 1508 0 0 0 0 0 0 + 1002 3 0 0 0 8189 1452 1828 1693 0 0 0 0 0 0 + 1003 3 0 0 0 8190 1452 1592 1828 0 0 0 0 0 0 + 1004 3 0 0 0 8194 1454 1615 1830 0 0 0 0 0 0 + 1005 3 0 0 0 8195 1454 1830 1769 0 0 0 0 0 0 + 1006 3 0 0 0 7346 1455 1615 1695 0 0 0 0 0 0 + 1007 3 0 0 0 8196 1455 1770 1615 0 0 0 0 0 0 + 1008 3 0 0 0 7987 1488 1571 1854 0 0 0 0 0 0 + 1009 3 0 0 0 7989 1488 1854 1537 0 0 0 0 0 0 + 1010 3 0 0 0 8013 1490 1574 1663 0 0 0 0 0 0 + 1011 3 0 0 0 8014 1490 1663 1807 0 0 0 0 0 0 + 1012 3 0 0 0 7854 1494 1618 1577 0 0 0 0 0 0 + 1013 3 0 0 0 8373 1494 1578 1618 0 0 0 0 0 0 + 1014 3 0 0 0 7569 1497 1849 1722 0 0 0 0 0 0 + 1015 3 0 0 0 8399 1497 1670 1849 0 0 0 0 0 0 + 1016 3 0 0 0 8404 1500 1747 1675 0 0 0 0 0 0 + 1017 3 0 0 0 8405 1500 1581 1747 0 0 0 0 0 0 + 1018 3 0 0 0 7303 1508 1693 1764 0 0 0 0 0 0 + 1019 3 0 0 0 8127 1512 1820 1686 0 0 0 0 0 0 + 1020 3 0 0 0 8442 1512 1602 1820 0 0 0 0 0 0 + 1021 3 0 0 0 8453 1515 1697 1763 0 0 0 0 0 0 + 1022 3 0 0 0 7958 1525 1789 1643 0 0 0 0 0 0 + 1023 3 0 0 0 8497 1525 1644 1789 0 0 0 0 0 0 + 1024 3 0 0 0 8301 1528 1648 1566 0 0 0 0 0 0 + 1025 3 0 0 0 8303 1528 1722 1648 0 0 0 0 0 0 + 1026 3 0 0 0 8315 1530 1570 1796 0 0 0 0 0 0 + 1027 3 0 0 0 8527 1534 1803 1727 0 0 0 0 0 0 + 1028 3 0 0 0 8528 1534 1652 1803 0 0 0 0 0 0 + 1029 3 0 0 0 8529 1535 1655 1716 0 0 0 0 0 0 + 1030 3 0 0 0 8531 1535 1730 1655 0 0 0 0 0 0 + 1031 3 0 0 0 8342 1536 1636 1730 0 0 0 0 0 0 + 1032 3 0 0 0 8348 1537 1804 1657 0 0 0 0 0 0 + 1033 3 0 0 0 8350 1537 1854 1804 0 0 0 0 0 0 + 1034 3 0 0 0 7710 1543 1738 1664 0 0 0 0 0 0 + 1035 3 0 0 0 8561 1543 1811 1738 0 0 0 0 0 0 + 1036 3 0 0 0 8054 1545 1666 1578 0 0 0 0 0 0 + 1037 3 0 0 0 8059 1545 1865 1666 0 0 0 0 0 0 + 1038 3 0 0 0 8562 1545 1643 1865 0 0 0 0 0 0 + 1039 3 0 0 0 8640 1566 1850 1782 0 0 0 0 0 0 + 1040 3 0 0 0 8641 1566 1648 1850 0 0 0 0 0 0 + 1041 3 0 0 0 8655 1570 1658 1796 0 0 0 0 0 0 + 1042 3 0 0 0 8656 1570 1732 1658 0 0 0 0 0 0 + 1043 3 0 0 0 8520 1571 1801 1854 0 0 0 0 0 0 + 1044 3 0 0 0 8539 1574 1808 1663 0 0 0 0 0 0 + 1045 3 0 0 0 8450 1577 1618 1881 0 0 0 0 0 0 + 1046 3 0 0 0 8451 1577 1881 1617 0 0 0 0 0 0 + 1047 3 0 0 0 8375 1578 1740 1618 0 0 0 0 0 0 + 1048 3 0 0 0 8376 1578 1666 1740 0 0 0 0 0 0 + 1049 3 0 0 0 7760 1581 1587 1676 0 0 0 0 0 0 + 1050 3 0 0 0 7763 1581 1676 1747 0 0 0 0 0 0 + 1051 3 0 0 0 7271 1587 1826 1676 0 0 0 0 0 0 + 1052 3 0 0 0 8432 1592 1767 1828 0 0 0 0 0 0 + 1053 3 0 0 0 8727 1592 1903 1767 0 0 0 0 0 0 + 1054 3 0 0 0 8728 1592 1675 1903 0 0 0 0 0 0 + 1055 3 0 0 0 7780 1598 1678 1751 0 0 0 0 0 0 + 1056 3 0 0 0 8119 1598 1751 1682 0 0 0 0 0 0 + 1057 3 0 0 0 8817 1601 1769 1879 0 0 0 0 0 0 + 1058 3 0 0 0 8819 1601 1908 1679 0 0 0 0 0 0 + 1059 3 0 0 0 8820 1601 1993 1908 0 0 0 0 0 0 + 1060 3 0 0 0 8822 1601 1879 1993 0 0 0 0 0 0 + 1061 3 0 0 0 8619 1602 1765 1827 0 0 0 0 0 0 + 1062 3 0 0 0 8823 1602 1827 1913 0 0 0 0 0 0 + 1063 3 0 0 0 8824 1602 1913 1820 0 0 0 0 0 0 + 1064 3 0 0 0 8918 1613 1764 1831 0 0 0 0 0 0 + 1065 3 0 0 0 7321 1614 1682 1751 0 0 0 0 0 0 + 1066 3 0 0 0 7327 1614 1751 1829 0 0 0 0 0 0 + 1067 3 0 0 0 8035 1614 1811 1682 0 0 0 0 0 0 + 1068 3 0 0 0 8036 1614 1863 1811 0 0 0 0 0 0 + 1069 3 0 0 0 8920 1614 1829 1927 0 0 0 0 0 0 + 1070 3 0 0 0 8921 1614 1927 1863 0 0 0 0 0 0 + 1071 3 0 0 0 8441 1615 1770 1830 0 0 0 0 0 0 + 1072 3 0 0 0 7356 1616 1879 1770 0 0 0 0 0 0 + 1073 3 0 0 0 8922 1616 1912 1993 0 0 0 0 0 0 + 1074 3 0 0 0 8922 1616 1771 1912 0 0 0 0 0 0 + 1075 3 0 0 0 8923 1616 1993 1879 0 0 0 0 0 0 + 1076 3 0 0 0 8209 1617 1772 1697 0 0 0 0 0 0 + 1077 3 0 0 0 8924 1617 1881 1772 0 0 0 0 0 0 + 1078 3 0 0 0 8926 1618 1740 1929 0 0 0 0 0 0 + 1079 3 0 0 0 8927 1618 1929 1881 0 0 0 0 0 0 + 1080 3 0 0 0 9070 1636 1953 1730 0 0 0 0 0 0 + 1081 3 0 0 0 9071 1636 1807 2026 0 0 0 0 0 0 + 1082 3 0 0 0 9072 1636 2026 1953 0 0 0 0 0 0 + 1083 3 0 0 0 9140 1643 1789 1865 0 0 0 0 0 0 + 1084 3 0 0 0 9142 1644 1845 1963 0 0 0 0 0 0 + 1085 3 0 0 0 9143 1644 2101 1789 0 0 0 0 0 0 + 1086 3 0 0 0 9144 1644 1963 2101 0 0 0 0 0 0 + 1087 3 0 0 0 8305 1648 1722 1794 0 0 0 0 0 0 + 1088 3 0 0 0 9199 1648 2105 1850 0 0 0 0 0 0 + 1089 3 0 0 0 9200 1648 1794 2105 0 0 0 0 0 0 + 1090 3 0 0 0 9236 1652 1856 1803 0 0 0 0 0 0 + 1091 3 0 0 0 8514 1654 1801 1728 0 0 0 0 0 0 + 1092 3 0 0 0 8522 1654 1854 1801 0 0 0 0 0 0 + 1093 3 0 0 0 9251 1654 1804 1854 0 0 0 0 0 0 + 1094 3 0 0 0 9252 1654 1969 1804 0 0 0 0 0 0 + 1095 3 0 0 0 9255 1654 2163 1969 0 0 0 0 0 0 + 1096 3 0 0 0 9257 1654 1728 2163 0 0 0 0 0 0 + 1097 3 0 0 0 9258 1655 1730 1953 0 0 0 0 0 0 + 1098 3 0 0 0 9259 1655 1958 1716 0 0 0 0 0 0 + 1099 3 0 0 0 9261 1655 1953 2027 0 0 0 0 0 0 + 1100 3 0 0 0 9263 1655 2027 1958 0 0 0 0 0 0 + 1101 3 0 0 0 9280 1657 1972 1732 0 0 0 0 0 0 + 1102 3 0 0 0 9281 1657 2042 1972 0 0 0 0 0 0 + 1103 3 0 0 0 9282 1657 1804 2042 0 0 0 0 0 0 + 1104 3 0 0 0 9285 1658 1732 2043 0 0 0 0 0 0 + 1105 3 0 0 0 9286 1658 2107 1796 0 0 0 0 0 0 + 1106 3 0 0 0 9288 1658 2043 2165 0 0 0 0 0 0 + 1107 3 0 0 0 9289 1658 2165 2107 0 0 0 0 0 0 + 1108 3 0 0 0 8015 1663 1735 1807 0 0 0 0 0 0 + 1109 3 0 0 0 8022 1663 1859 1735 0 0 0 0 0 0 + 1110 3 0 0 0 8541 1663 1808 1859 0 0 0 0 0 0 + 1111 3 0 0 0 9333 1664 2046 1808 0 0 0 0 0 0 + 1112 3 0 0 0 9335 1664 2118 2046 0 0 0 0 0 0 + 1113 3 0 0 0 9336 1664 1738 2118 0 0 0 0 0 0 + 1114 3 0 0 0 9338 1665 2035 1744 0 0 0 0 0 0 + 1115 3 0 0 0 9340 1665 1796 2107 0 0 0 0 0 0 + 1116 3 0 0 0 9343 1665 2107 2035 0 0 0 0 0 0 + 1117 3 0 0 0 9345 1666 1977 1740 0 0 0 0 0 0 + 1118 3 0 0 0 9346 1666 2050 1977 0 0 0 0 0 0 + 1119 3 0 0 0 9348 1666 1865 2050 0 0 0 0 0 0 + 1120 3 0 0 0 9401 1670 2106 1849 0 0 0 0 0 0 + 1121 3 0 0 0 9402 1670 2156 2106 0 0 0 0 0 0 + 1122 3 0 0 0 9403 1670 1744 2156 0 0 0 0 0 0 + 1123 3 0 0 0 9435 1675 1747 1987 0 0 0 0 0 0 + 1124 3 0 0 0 9436 1675 1987 1903 0 0 0 0 0 0 + 1125 3 0 0 0 8743 1676 1906 2125 0 0 0 0 0 0 + 1126 3 0 0 0 8744 1676 2125 1747 0 0 0 0 0 0 + 1127 3 0 0 0 9437 1676 1826 1906 0 0 0 0 0 0 + 1128 3 0 0 0 7172 1678 1749 1817 0 0 0 0 0 0 + 1129 3 0 0 0 8776 1678 1829 1751 0 0 0 0 0 0 + 1130 3 0 0 0 8779 1678 1909 1829 0 0 0 0 0 0 + 1131 3 0 0 0 9444 1678 1817 1909 0 0 0 0 0 0 + 1132 3 0 0 0 8770 1679 1908 1749 0 0 0 0 0 0 + 1133 3 0 0 0 8791 1686 1992 1771 0 0 0 0 0 0 + 1134 3 0 0 0 9472 1686 1820 1992 0 0 0 0 0 0 + 1135 3 0 0 0 8766 1693 2061 1764 0 0 0 0 0 0 + 1136 3 0 0 0 9510 1693 1828 2061 0 0 0 0 0 0 + 1137 3 0 0 0 8913 1697 2002 1763 0 0 0 0 0 0 + 1138 3 0 0 0 9527 1697 1772 2002 0 0 0 0 0 0 + 1139 3 0 0 0 9115 1716 2098 1856 0 0 0 0 0 0 + 1140 3 0 0 0 9630 1716 1958 2098 0 0 0 0 0 0 + 1141 3 0 0 0 9177 1722 1849 1794 0 0 0 0 0 0 + 1142 3 0 0 0 9246 1727 2039 2161 0 0 0 0 0 0 + 1143 3 0 0 0 9247 1727 2161 1801 0 0 0 0 0 0 + 1144 3 0 0 0 9690 1727 1803 2039 0 0 0 0 0 0 + 1145 3 0 0 0 9245 1728 1801 2161 0 0 0 0 0 0 + 1146 3 0 0 0 9692 1728 1971 2163 0 0 0 0 0 0 + 1147 3 0 0 0 9693 1728 2161 2194 0 0 0 0 0 0 + 1148 3 0 0 0 9694 1728 2194 1971 0 0 0 0 0 0 + 1149 3 0 0 0 9719 1732 1972 2043 0 0 0 0 0 0 + 1150 3 0 0 0 9082 1735 1956 2026 0 0 0 0 0 0 + 1151 3 0 0 0 9083 1735 2026 1807 0 0 0 0 0 0 + 1152 3 0 0 0 9730 1735 1859 2047 0 0 0 0 0 0 + 1153 3 0 0 0 9732 1735 2047 1956 0 0 0 0 0 0 + 1154 3 0 0 0 9751 1738 1811 1863 0 0 0 0 0 0 + 1155 3 0 0 0 9755 1738 2202 2118 0 0 0 0 0 0 + 1156 3 0 0 0 9756 1738 1863 2202 0 0 0 0 0 0 + 1157 3 0 0 0 9778 1740 1977 2052 0 0 0 0 0 0 + 1158 3 0 0 0 9779 1740 2052 1929 0 0 0 0 0 0 + 1159 3 0 0 0 9794 1744 2035 2156 0 0 0 0 0 0 + 1160 3 0 0 0 8745 1747 2125 1987 0 0 0 0 0 0 + 1161 3 0 0 0 8768 1749 1908 1817 0 0 0 0 0 0 + 1162 3 0 0 0 8915 1763 2002 2074 0 0 0 0 0 0 + 1163 3 0 0 0 9506 1763 2074 1826 0 0 0 0 0 0 + 1164 3 0 0 0 9857 1764 1925 1831 0 0 0 0 0 0 + 1165 3 0 0 0 9858 1764 2061 1925 0 0 0 0 0 0 + 1166 3 0 0 0 9440 1765 1989 2062 0 0 0 0 0 0 + 1167 3 0 0 0 9442 1765 2062 1827 0 0 0 0 0 0 + 1168 3 0 0 0 9508 1765 1831 1989 0 0 0 0 0 0 + 1169 3 0 0 0 9428 1767 1903 2058 0 0 0 0 0 0 + 1170 3 0 0 0 9864 1767 2003 1828 0 0 0 0 0 0 + 1171 3 0 0 0 9866 1767 1926 2003 0 0 0 0 0 0 + 1172 3 0 0 0 9867 1767 2058 1926 0 0 0 0 0 0 + 1173 3 0 0 0 9451 1769 1830 1879 0 0 0 0 0 0 + 1174 3 0 0 0 9452 1770 1879 1830 0 0 0 0 0 0 + 1175 3 0 0 0 8792 1771 1992 1912 0 0 0 0 0 0 + 1176 3 0 0 0 9881 1772 1931 2002 0 0 0 0 0 0 + 1177 3 0 0 0 9882 1772 2007 1931 0 0 0 0 0 0 + 1178 3 0 0 0 9883 1772 1881 2007 0 0 0 0 0 0 + 1179 3 0 0 0 9581 1782 1850 2020 0 0 0 0 0 0 + 1180 3 0 0 0 9921 1782 2020 1845 0 0 0 0 0 0 + 1181 3 0 0 0 9637 1789 1962 1865 0 0 0 0 0 0 + 1182 3 0 0 0 9941 1789 2101 1962 0 0 0 0 0 0 + 1183 3 0 0 0 9188 1794 1849 2155 0 0 0 0 0 0 + 1184 3 0 0 0 9189 1794 2155 1967 0 0 0 0 0 0 + 1185 3 0 0 0 9961 1794 1967 2105 0 0 0 0 0 0 + 1186 3 0 0 0 9684 1803 1856 1957 0 0 0 0 0 0 + 1187 3 0 0 0 10002 1803 1957 2039 0 0 0 0 0 0 + 1188 3 0 0 0 10004 1804 1969 2042 0 0 0 0 0 0 + 1189 3 0 0 0 10013 1808 2046 1859 0 0 0 0 0 0 + 1190 3 0 0 0 8774 1817 1908 1990 0 0 0 0 0 0 + 1191 3 0 0 0 9804 1817 1990 1909 0 0 0 0 0 0 + 1192 3 0 0 0 10052 1820 1916 1992 0 0 0 0 0 0 + 1193 3 0 0 0 10053 1820 1913 2131 0 0 0 0 0 0 + 1194 3 0 0 0 10054 1820 2131 1916 0 0 0 0 0 0 + 1195 3 0 0 0 9505 1826 2074 1906 0 0 0 0 0 0 + 1196 3 0 0 0 9460 1827 2177 1913 0 0 0 0 0 0 + 1197 3 0 0 0 9814 1827 2062 2177 0 0 0 0 0 0 + 1198 3 0 0 0 9862 1828 2003 2061 0 0 0 0 0 0 + 1199 3 0 0 0 9511 1829 2004 1927 0 0 0 0 0 0 + 1200 3 0 0 0 10087 1829 1909 2004 0 0 0 0 0 0 + 1201 3 0 0 0 9857 1831 1925 1989 0 0 0 0 0 0 + 1202 3 0 0 0 10157 1845 2020 1963 0 0 0 0 0 0 + 1203 3 0 0 0 10170 1849 2106 2155 0 0 0 0 0 0 + 1204 3 0 0 0 9580 1850 1945 2020 0 0 0 0 0 0 + 1205 3 0 0 0 10171 1850 2105 1945 0 0 0 0 0 0 + 1206 3 0 0 0 9116 1856 2098 1957 0 0 0 0 0 0 + 1207 3 0 0 0 10019 1859 2119 2047 0 0 0 0 0 0 + 1208 3 0 0 0 10206 1859 2046 2119 0 0 0 0 0 0 + 1209 3 0 0 0 9873 1863 1927 2005 0 0 0 0 0 0 + 1210 3 0 0 0 10228 1863 2005 2202 0 0 0 0 0 0 + 1211 3 0 0 0 10229 1865 1962 2050 0 0 0 0 0 0 + 1212 3 0 0 0 10284 1881 1929 2007 0 0 0 0 0 0 + 1213 3 0 0 0 10358 1903 2298 2058 0 0 0 0 0 0 + 1214 3 0 0 0 10359 1903 1987 2298 0 0 0 0 0 0 + 1215 3 0 0 0 10394 1906 2222 2125 0 0 0 0 0 0 + 1216 3 0 0 0 10395 1906 2074 2381 0 0 0 0 0 0 + 1217 3 0 0 0 10396 1906 2381 2222 0 0 0 0 0 0 + 1218 3 0 0 0 10049 1908 1993 2176 0 0 0 0 0 0 + 1219 3 0 0 0 10050 1908 2176 1990 0 0 0 0 0 0 + 1220 3 0 0 0 10405 1909 2303 2004 0 0 0 0 0 0 + 1221 3 0 0 0 10406 1909 1990 2303 0 0 0 0 0 0 + 1222 3 0 0 0 10424 1912 1992 2228 0 0 0 0 0 0 + 1223 3 0 0 0 10425 1912 2383 1993 0 0 0 0 0 0 + 1224 3 0 0 0 10426 1912 2228 2383 0 0 0 0 0 0 + 1225 3 0 0 0 10427 1913 2306 2131 0 0 0 0 0 0 + 1226 3 0 0 0 10429 1913 2177 2306 0 0 0 0 0 0 + 1227 3 0 0 0 10450 1916 2228 1992 0 0 0 0 0 0 + 1228 3 0 0 0 10452 1916 2131 2384 0 0 0 0 0 0 + 1229 3 0 0 0 10454 1916 2384 2503 0 0 0 0 0 0 + 1230 3 0 0 0 10455 1916 2503 2228 0 0 0 0 0 0 + 1231 3 0 0 0 10544 1925 2224 1989 0 0 0 0 0 0 + 1232 3 0 0 0 10544 1925 2061 2224 0 0 0 0 0 0 + 1233 3 0 0 0 10547 1926 2058 2300 0 0 0 0 0 0 + 1234 3 0 0 0 10549 1926 2300 2378 0 0 0 0 0 0 + 1235 3 0 0 0 10550 1926 2458 2003 0 0 0 0 0 0 + 1236 3 0 0 0 10551 1926 2378 2458 0 0 0 0 0 0 + 1237 3 0 0 0 10552 1927 2318 2005 0 0 0 0 0 0 + 1238 3 0 0 0 10554 1927 2004 2318 0 0 0 0 0 0 + 1239 3 0 0 0 10561 1929 2239 2007 0 0 0 0 0 0 + 1240 3 0 0 0 10562 1929 2052 2239 0 0 0 0 0 0 + 1241 3 0 0 0 10567 1931 2317 2002 0 0 0 0 0 0 + 1242 3 0 0 0 10568 1931 2241 2317 0 0 0 0 0 0 + 1243 3 0 0 0 10569 1931 2007 2321 0 0 0 0 0 0 + 1244 3 0 0 0 10572 1931 2321 2241 0 0 0 0 0 0 + 1245 3 0 0 0 10687 1945 2105 2258 0 0 0 0 0 0 + 1246 3 0 0 0 10689 1945 2259 2020 0 0 0 0 0 0 + 1247 3 0 0 0 10693 1945 2406 2259 0 0 0 0 0 0 + 1248 3 0 0 0 10694 1945 2258 2406 0 0 0 0 0 0 + 1249 3 0 0 0 10776 1953 2183 2027 0 0 0 0 0 0 + 1250 3 0 0 0 10777 1953 2026 2183 0 0 0 0 0 0 + 1251 3 0 0 0 9096 1956 2183 2026 0 0 0 0 0 0 + 1252 3 0 0 0 10794 1956 2271 2183 0 0 0 0 0 0 + 1253 3 0 0 0 10795 1956 2047 2349 0 0 0 0 0 0 + 1254 3 0 0 0 10796 1956 2349 2271 0 0 0 0 0 0 + 1255 3 0 0 0 10799 1957 2332 2039 0 0 0 0 0 0 + 1256 3 0 0 0 10801 1957 2419 2332 0 0 0 0 0 0 + 1257 3 0 0 0 10802 1957 2098 2419 0 0 0 0 0 0 + 1258 3 0 0 0 10193 1958 2164 2098 0 0 0 0 0 0 + 1259 3 0 0 0 10803 1958 2027 2269 0 0 0 0 0 0 + 1260 3 0 0 0 10804 1958 2269 2164 0 0 0 0 0 0 + 1261 3 0 0 0 10317 1962 2172 2050 0 0 0 0 0 0 + 1262 3 0 0 0 10846 1962 2101 2266 0 0 0 0 0 0 + 1263 3 0 0 0 10848 1962 2266 2172 0 0 0 0 0 0 + 1264 3 0 0 0 10293 1963 2020 2153 0 0 0 0 0 0 + 1265 3 0 0 0 10849 1963 2153 2346 0 0 0 0 0 0 + 1266 3 0 0 0 10850 1963 2346 2101 0 0 0 0 0 0 + 1267 3 0 0 0 10886 1967 2258 2105 0 0 0 0 0 0 + 1268 3 0 0 0 10888 1967 2358 2258 0 0 0 0 0 0 + 1269 3 0 0 0 10891 1967 2155 2484 0 0 0 0 0 0 + 1270 3 0 0 0 10893 1967 2484 2358 0 0 0 0 0 0 + 1271 3 0 0 0 10907 1969 2163 2280 0 0 0 0 0 0 + 1272 3 0 0 0 10908 1969 2428 2042 0 0 0 0 0 0 + 1273 3 0 0 0 10910 1969 2280 2428 0 0 0 0 0 0 + 1274 3 0 0 0 10929 1971 2431 2163 0 0 0 0 0 0 + 1275 3 0 0 0 10930 1971 2285 2431 0 0 0 0 0 0 + 1276 3 0 0 0 10931 1971 2529 2285 0 0 0 0 0 0 + 1277 3 0 0 0 10932 1971 2194 2529 0 0 0 0 0 0 + 1278 3 0 0 0 10200 1972 2042 2166 0 0 0 0 0 0 + 1279 3 0 0 0 10934 1972 2166 2288 0 0 0 0 0 0 + 1280 3 0 0 0 10935 1972 2288 2043 0 0 0 0 0 0 + 1281 3 0 0 0 10232 1977 2121 2052 0 0 0 0 0 0 + 1282 3 0 0 0 10998 1977 2050 2326 0 0 0 0 0 0 + 1283 3 0 0 0 10999 1977 2326 2121 0 0 0 0 0 0 + 1284 3 0 0 0 8749 1987 2125 2175 0 0 0 0 0 0 + 1285 3 0 0 0 11087 1987 2175 2298 0 0 0 0 0 0 + 1286 3 0 0 0 10399 1989 2224 2062 0 0 0 0 0 0 + 1287 3 0 0 0 11096 1990 2176 2225 0 0 0 0 0 0 + 1288 3 0 0 0 11098 1990 2225 2303 0 0 0 0 0 0 + 1289 3 0 0 0 11104 1993 2383 2176 0 0 0 0 0 0 + 1290 3 0 0 0 10543 2002 2317 2074 0 0 0 0 0 0 + 1291 3 0 0 0 10397 2003 2224 2061 0 0 0 0 0 0 + 1292 3 0 0 0 11164 2003 2458 2224 0 0 0 0 0 0 + 1293 3 0 0 0 11168 2004 2508 2318 0 0 0 0 0 0 + 1294 3 0 0 0 11169 2004 2303 2508 0 0 0 0 0 0 + 1295 3 0 0 0 10558 2005 2319 2202 0 0 0 0 0 0 + 1296 3 0 0 0 11170 2005 2318 2238 0 0 0 0 0 0 + 1297 3 0 0 0 11171 2005 2238 2319 0 0 0 0 0 0 + 1298 3 0 0 0 11180 2007 2239 2321 0 0 0 0 0 0 + 1299 3 0 0 0 11246 2020 2259 2153 0 0 0 0 0 0 + 1300 3 0 0 0 11279 2027 2348 2269 0 0 0 0 0 0 + 1301 3 0 0 0 11280 2027 2183 2348 0 0 0 0 0 0 + 1302 3 0 0 0 10873 2035 2278 2156 0 0 0 0 0 0 + 1303 3 0 0 0 11334 2035 2107 2357 0 0 0 0 0 0 + 1304 3 0 0 0 11335 2035 2357 2278 0 0 0 0 0 0 + 1305 3 0 0 0 10659 2039 2194 2161 0 0 0 0 0 0 + 1306 3 0 0 0 10665 2039 2332 2194 0 0 0 0 0 0 + 1307 3 0 0 0 11372 2042 2428 2166 0 0 0 0 0 0 + 1308 3 0 0 0 11374 2043 2288 2165 0 0 0 0 0 0 + 1309 3 0 0 0 10949 2046 2118 2370 0 0 0 0 0 0 + 1310 3 0 0 0 11384 2046 2370 2119 0 0 0 0 0 0 + 1311 3 0 0 0 10967 2047 2438 2349 0 0 0 0 0 0 + 1312 3 0 0 0 10968 2047 2119 2438 0 0 0 0 0 0 + 1313 3 0 0 0 11407 2050 2172 2326 0 0 0 0 0 0 + 1314 3 0 0 0 11008 2052 2539 2239 0 0 0 0 0 0 + 1315 3 0 0 0 11011 2052 2121 2539 0 0 0 0 0 0 + 1316 3 0 0 0 11077 2058 2377 2300 0 0 0 0 0 0 + 1317 3 0 0 0 11080 2058 2298 2377 0 0 0 0 0 0 + 1318 3 0 0 0 10401 2062 2224 2299 0 0 0 0 0 0 + 1319 3 0 0 0 11085 2062 2299 2177 0 0 0 0 0 0 + 1320 3 0 0 0 11474 2074 2317 2381 0 0 0 0 0 0 + 1321 3 0 0 0 11357 2098 2164 2419 0 0 0 0 0 0 + 1322 3 0 0 0 11594 2101 2346 2266 0 0 0 0 0 0 + 1323 3 0 0 0 10884 2106 2481 2355 0 0 0 0 0 0 + 1324 3 0 0 0 10885 2106 2156 2481 0 0 0 0 0 0 + 1325 3 0 0 0 11330 2106 2355 2155 0 0 0 0 0 0 + 1326 3 0 0 0 11627 2107 2165 2357 0 0 0 0 0 0 + 1327 3 0 0 0 10948 2118 2290 2370 0 0 0 0 0 0 + 1328 3 0 0 0 11674 2118 2202 2290 0 0 0 0 0 0 + 1329 3 0 0 0 11675 2119 2535 2438 0 0 0 0 0 0 + 1330 3 0 0 0 11676 2119 2370 2535 0 0 0 0 0 0 + 1331 3 0 0 0 11411 2121 2326 2538 0 0 0 0 0 0 + 1332 3 0 0 0 11683 2121 2538 2293 0 0 0 0 0 0 + 1333 3 0 0 0 11684 2121 2293 2539 0 0 0 0 0 0 + 1334 3 0 0 0 10374 2125 2222 2175 0 0 0 0 0 0 + 1335 3 0 0 0 11117 2131 2306 2448 0 0 0 0 0 0 + 1336 3 0 0 0 11724 2131 2448 2384 0 0 0 0 0 0 + 1337 3 0 0 0 11826 2153 2259 2520 0 0 0 0 0 0 + 1338 3 0 0 0 11827 2153 2520 2346 0 0 0 0 0 0 + 1339 3 0 0 0 11621 2155 2355 2484 0 0 0 0 0 0 + 1340 3 0 0 0 11829 2156 2359 2481 0 0 0 0 0 0 + 1341 3 0 0 0 11829 2156 2278 2359 0 0 0 0 0 0 + 1342 3 0 0 0 11642 2163 2431 2280 0 0 0 0 0 0 + 1343 3 0 0 0 11356 2164 2287 2419 0 0 0 0 0 0 + 1344 3 0 0 0 11850 2164 2532 2287 0 0 0 0 0 0 + 1345 3 0 0 0 11851 2164 2269 2532 0 0 0 0 0 0 + 1346 3 0 0 0 11659 2165 2288 2434 0 0 0 0 0 0 + 1347 3 0 0 0 11853 2165 2434 2357 0 0 0 0 0 0 + 1348 3 0 0 0 11663 2166 2435 2288 0 0 0 0 0 0 + 1349 3 0 0 0 11854 2166 2490 2435 0 0 0 0 0 0 + 1350 3 0 0 0 11855 2166 2428 2490 0 0 0 0 0 0 + 1351 3 0 0 0 11884 2172 2374 2495 0 0 0 0 0 0 + 1352 3 0 0 0 11886 2172 2495 2326 0 0 0 0 0 0 + 1353 3 0 0 0 11889 2172 2266 2374 0 0 0 0 0 0 + 1354 3 0 0 0 10383 2175 2222 2380 0 0 0 0 0 0 + 1355 3 0 0 0 11900 2175 2446 2298 0 0 0 0 0 0 + 1356 3 0 0 0 11901 2175 2380 2446 0 0 0 0 0 0 + 1357 3 0 0 0 11447 2176 2383 2225 0 0 0 0 0 0 + 1358 3 0 0 0 11433 2177 2299 2221 0 0 0 0 0 0 + 1359 3 0 0 0 11707 2177 2221 2306 0 0 0 0 0 0 + 1360 3 0 0 0 11800 2183 2271 2348 0 0 0 0 0 0 + 1361 3 0 0 0 10672 2194 2332 2464 0 0 0 0 0 0 + 1362 3 0 0 0 11956 2194 2464 2529 0 0 0 0 0 0 + 1363 3 0 0 0 11881 2202 2319 2290 0 0 0 0 0 0 + 1364 3 0 0 0 11435 2221 2299 2444 0 0 0 0 0 0 + 1365 3 0 0 0 11709 2221 2502 2306 0 0 0 0 0 0 + 1366 3 0 0 0 12081 2221 2311 2502 0 0 0 0 0 0 + 1367 3 0 0 0 12085 2221 2444 2311 0 0 0 0 0 0 + 1368 3 0 0 0 12086 2222 2381 2561 0 0 0 0 0 0 + 1369 3 0 0 0 12087 2222 2561 2380 0 0 0 0 0 0 + 1370 3 0 0 0 11164 2224 2458 2299 0 0 0 0 0 0 + 1371 3 0 0 0 12098 2225 2383 2563 0 0 0 0 0 0 + 1372 3 0 0 0 12099 2225 2644 2303 0 0 0 0 0 0 + 1373 3 0 0 0 12100 2225 2563 2644 0 0 0 0 0 0 + 1374 3 0 0 0 12117 2228 2563 2383 0 0 0 0 0 0 + 1375 3 0 0 0 12118 2228 2503 2563 0 0 0 0 0 0 + 1376 3 0 0 0 11726 2232 2453 2311 0 0 0 0 0 0 + 1377 3 0 0 0 12139 2232 2570 2453 0 0 0 0 0 0 + 1378 3 0 0 0 12143 2232 2311 2724 0 0 0 0 0 0 + 1379 3 0 0 0 12144 2232 2724 2790 0 0 0 0 0 0 + 1380 3 0 0 0 12145 2232 2790 2570 0 0 0 0 0 0 + 1381 3 0 0 0 11727 2233 2311 2453 0 0 0 0 0 0 + 1382 3 0 0 0 11729 2233 2502 2311 0 0 0 0 0 0 + 1383 3 0 0 0 12146 2233 2448 2502 0 0 0 0 0 0 + 1384 3 0 0 0 12149 2233 2565 2448 0 0 0 0 0 0 + 1385 3 0 0 0 12153 2233 2881 2565 0 0 0 0 0 0 + 1386 3 0 0 0 12154 2233 2453 2881 0 0 0 0 0 0 + 1387 3 0 0 0 12197 2238 2576 2319 0 0 0 0 0 0 + 1388 3 0 0 0 12199 2238 2318 2655 0 0 0 0 0 0 + 1389 3 0 0 0 12200 2238 2655 2731 0 0 0 0 0 0 + 1390 3 0 0 0 12201 2238 2731 2576 0 0 0 0 0 0 + 1391 3 0 0 0 11756 2239 2459 2321 0 0 0 0 0 0 + 1392 3 0 0 0 12202 2239 2539 2459 0 0 0 0 0 0 + 1393 3 0 0 0 11498 2241 2460 2317 0 0 0 0 0 0 + 1394 3 0 0 0 12213 2241 2321 2579 0 0 0 0 0 0 + 1395 3 0 0 0 12217 2241 2579 2733 0 0 0 0 0 0 + 1396 3 0 0 0 12218 2241 2733 2460 0 0 0 0 0 0 + 1397 3 0 0 0 12351 2258 2358 2807 0 0 0 0 0 0 + 1398 3 0 0 0 12352 2258 2807 2406 0 0 0 0 0 0 + 1399 3 0 0 0 11824 2259 2406 2547 0 0 0 0 0 0 + 1400 3 0 0 0 12353 2259 2547 2520 0 0 0 0 0 0 + 1401 3 0 0 0 11799 2266 2346 2476 0 0 0 0 0 0 + 1402 3 0 0 0 12412 2266 2476 2374 0 0 0 0 0 0 + 1403 3 0 0 0 11968 2269 2348 2489 0 0 0 0 0 0 + 1404 3 0 0 0 12427 2269 2489 2532 0 0 0 0 0 0 + 1405 3 0 0 0 12435 2271 2686 2348 0 0 0 0 0 0 + 1406 3 0 0 0 12437 2271 2349 2760 0 0 0 0 0 0 + 1407 3 0 0 0 12438 2271 2760 2686 0 0 0 0 0 0 + 1408 3 0 0 0 12525 2278 2621 2359 0 0 0 0 0 0 + 1409 3 0 0 0 12528 2278 2357 2685 0 0 0 0 0 0 + 1410 3 0 0 0 12529 2278 2685 2621 0 0 0 0 0 0 + 1411 3 0 0 0 12554 2280 2625 2428 0 0 0 0 0 0 + 1412 3 0 0 0 12555 2280 2431 2829 0 0 0 0 0 0 + 1413 3 0 0 0 12557 2280 2829 2625 0 0 0 0 0 0 + 1414 3 0 0 0 12599 2285 2703 2431 0 0 0 0 0 0 + 1415 3 0 0 0 12601 2285 2629 2703 0 0 0 0 0 0 + 1416 3 0 0 0 12604 2285 2803 2629 0 0 0 0 0 0 + 1417 3 0 0 0 12605 2285 2529 2803 0 0 0 0 0 0 + 1418 3 0 0 0 12621 2287 2590 2419 0 0 0 0 0 0 + 1419 3 0 0 0 12622 2287 2532 2777 0 0 0 0 0 0 + 1420 3 0 0 0 12623 2287 2777 2833 0 0 0 0 0 0 + 1421 3 0 0 0 12625 2287 2833 2590 0 0 0 0 0 0 + 1422 3 0 0 0 11658 2288 2367 2434 0 0 0 0 0 0 + 1423 3 0 0 0 11661 2288 2435 2367 0 0 0 0 0 0 + 1424 3 0 0 0 12637 2290 2319 2656 0 0 0 0 0 0 + 1425 3 0 0 0 12639 2290 2779 2370 0 0 0 0 0 0 + 1426 3 0 0 0 12640 2290 2656 2779 0 0 0 0 0 0 + 1427 3 0 0 0 12674 2293 2580 2539 0 0 0 0 0 0 + 1428 3 0 0 0 12675 2293 2538 2663 0 0 0 0 0 0 + 1429 3 0 0 0 12679 2293 2877 2580 0 0 0 0 0 0 + 1430 3 0 0 0 12680 2293 2663 2877 0 0 0 0 0 0 + 1431 3 0 0 0 12056 2298 2446 2377 0 0 0 0 0 0 + 1432 3 0 0 0 10551 2299 2458 2378 0 0 0 0 0 0 + 1433 3 0 0 0 12071 2299 2378 2444 0 0 0 0 0 0 + 1434 3 0 0 0 11082 2300 2377 2443 0 0 0 0 0 0 + 1435 3 0 0 0 12073 2300 2443 2559 0 0 0 0 0 0 + 1436 3 0 0 0 12074 2300 2559 2378 0 0 0 0 0 0 + 1437 3 0 0 0 12726 2303 2644 2508 0 0 0 0 0 0 + 1438 3 0 0 0 11121 2306 2502 2448 0 0 0 0 0 0 + 1439 3 0 0 0 12759 2311 2786 2724 0 0 0 0 0 0 + 1440 3 0 0 0 12760 2311 2444 2786 0 0 0 0 0 0 + 1441 3 0 0 0 12088 2317 2460 2381 0 0 0 0 0 0 + 1442 3 0 0 0 12781 2318 2508 2655 0 0 0 0 0 0 + 1443 3 0 0 0 12783 2319 2576 2656 0 0 0 0 0 0 + 1444 3 0 0 0 12787 2321 2459 2579 0 0 0 0 0 0 + 1445 3 0 0 0 12220 2326 2495 2538 0 0 0 0 0 0 + 1446 3 0 0 0 12307 2332 2419 2590 0 0 0 0 0 0 + 1447 3 0 0 0 12840 2332 2590 2464 0 0 0 0 0 0 + 1448 3 0 0 0 12939 2346 2520 2476 0 0 0 0 0 0 + 1449 3 0 0 0 12943 2348 2686 2489 0 0 0 0 0 0 + 1450 3 0 0 0 12945 2349 2438 2611 0 0 0 0 0 0 + 1451 3 0 0 0 12946 2349 2611 2760 0 0 0 0 0 0 + 1452 3 0 0 0 12516 2355 2695 2484 0 0 0 0 0 0 + 1453 3 0 0 0 12983 2355 2481 2768 0 0 0 0 0 0 + 1454 3 0 0 0 12984 2355 2768 2695 0 0 0 0 0 0 + 1455 3 0 0 0 12419 2357 2434 2685 0 0 0 0 0 0 + 1456 3 0 0 0 12998 2358 2484 2620 0 0 0 0 0 0 + 1457 3 0 0 0 13000 2358 2620 2865 0 0 0 0 0 0 + 1458 3 0 0 0 13001 2358 2865 2807 0 0 0 0 0 0 + 1459 3 0 0 0 13002 2359 2622 2481 0 0 0 0 0 0 + 1460 3 0 0 0 13003 2359 2621 2769 0 0 0 0 0 0 + 1461 3 0 0 0 13004 2359 2769 2622 0 0 0 0 0 0 + 1462 3 0 0 0 13056 2367 2435 2706 0 0 0 0 0 0 + 1463 3 0 0 0 13058 2367 2706 2632 0 0 0 0 0 0 + 1464 3 0 0 0 13058 2367 2632 2835 0 0 0 0 0 0 + 1465 3 0 0 0 13059 2367 2835 2434 0 0 0 0 0 0 + 1466 3 0 0 0 13078 2370 2779 2535 0 0 0 0 0 0 + 1467 3 0 0 0 13117 2374 2476 2814 0 0 0 0 0 0 + 1468 3 0 0 0 13118 2374 2876 2495 0 0 0 0 0 0 + 1469 3 0 0 0 13119 2374 2814 2876 0 0 0 0 0 0 + 1470 3 0 0 0 12057 2377 2446 2557 0 0 0 0 0 0 + 1471 3 0 0 0 12709 2377 2557 2443 0 0 0 0 0 0 + 1472 3 0 0 0 12072 2378 2559 2444 0 0 0 0 0 0 + 1473 3 0 0 0 12064 2380 2640 2446 0 0 0 0 0 0 + 1474 3 0 0 0 13134 2380 2561 2718 0 0 0 0 0 0 + 1475 3 0 0 0 13135 2380 2718 2640 0 0 0 0 0 0 + 1476 3 0 0 0 12091 2381 2460 2561 0 0 0 0 0 0 + 1477 3 0 0 0 12121 2384 2448 2565 0 0 0 0 0 0 + 1478 3 0 0 0 13138 2384 2565 2646 0 0 0 0 0 0 + 1479 3 0 0 0 13139 2384 2646 2503 0 0 0 0 0 0 + 1480 3 0 0 0 12875 2406 2807 2599 0 0 0 0 0 0 + 1481 3 0 0 0 13223 2406 2599 2547 0 0 0 0 0 0 + 1482 3 0 0 0 13005 2428 2625 2490 0 0 0 0 0 0 + 1483 3 0 0 0 13021 2431 2703 2829 0 0 0 0 0 0 + 1484 3 0 0 0 13343 2434 2835 2685 0 0 0 0 0 0 + 1485 3 0 0 0 13010 2435 2490 2624 0 0 0 0 0 0 + 1486 3 0 0 0 13344 2435 2624 2706 0 0 0 0 0 0 + 1487 3 0 0 0 12629 2438 2535 2709 0 0 0 0 0 0 + 1488 3 0 0 0 13351 2438 2709 2611 0 0 0 0 0 0 + 1489 3 0 0 0 12711 2443 2557 2642 0 0 0 0 0 0 + 1490 3 0 0 0 12715 2443 2716 2559 0 0 0 0 0 0 + 1491 3 0 0 0 12717 2443 2642 2716 0 0 0 0 0 0 + 1492 3 0 0 0 13380 2444 2559 2786 0 0 0 0 0 0 + 1493 3 0 0 0 12062 2446 2640 2557 0 0 0 0 0 0 + 1494 3 0 0 0 13420 2453 2570 2651 0 0 0 0 0 0 + 1495 3 0 0 0 13422 2453 2651 2881 0 0 0 0 0 0 + 1496 3 0 0 0 13441 2459 2539 2580 0 0 0 0 0 0 + 1497 3 0 0 0 13443 2459 2659 2579 0 0 0 0 0 0 + 1498 3 0 0 0 13444 2459 2580 2659 0 0 0 0 0 0 + 1499 3 0 0 0 13445 2460 2796 2561 0 0 0 0 0 0 + 1500 3 0 0 0 13447 2460 2733 2796 0 0 0 0 0 0 + 1501 3 0 0 0 12314 2464 2670 2529 0 0 0 0 0 0 + 1502 3 0 0 0 13209 2464 2590 2670 0 0 0 0 0 0 + 1503 3 0 0 0 13225 2476 2520 2679 0 0 0 0 0 0 + 1504 3 0 0 0 13516 2476 2679 2814 0 0 0 0 0 0 + 1505 3 0 0 0 13292 2481 2622 2768 0 0 0 0 0 0 + 1506 3 0 0 0 12515 2484 2695 2620 0 0 0 0 0 0 + 1507 3 0 0 0 13335 2489 2705 2532 0 0 0 0 0 0 + 1508 3 0 0 0 13575 2489 2686 2630 0 0 0 0 0 0 + 1509 3 0 0 0 13576 2489 2630 2705 0 0 0 0 0 0 + 1510 3 0 0 0 12536 2490 2625 2699 0 0 0 0 0 0 + 1511 3 0 0 0 12537 2490 2699 2624 0 0 0 0 0 0 + 1512 3 0 0 0 13611 2495 2783 2538 0 0 0 0 0 0 + 1513 3 0 0 0 13612 2495 2876 2783 0 0 0 0 0 0 + 1514 3 0 0 0 13139 2503 2646 2720 0 0 0 0 0 0 + 1515 3 0 0 0 13396 2503 2720 2563 0 0 0 0 0 0 + 1516 3 0 0 0 13393 2508 2644 2566 0 0 0 0 0 0 + 1517 3 0 0 0 13666 2508 2566 2655 0 0 0 0 0 0 + 1518 3 0 0 0 13717 2520 2547 2820 0 0 0 0 0 0 + 1519 3 0 0 0 13718 2520 2820 2679 0 0 0 0 0 0 + 1520 3 0 0 0 12834 2529 2670 2803 0 0 0 0 0 0 + 1521 3 0 0 0 13752 2532 2705 2777 0 0 0 0 0 0 + 1522 3 0 0 0 13584 2535 2779 2836 0 0 0 0 0 0 + 1523 3 0 0 0 13765 2535 2836 2709 0 0 0 0 0 0 + 1524 3 0 0 0 13773 2538 2783 2663 0 0 0 0 0 0 + 1525 3 0 0 0 13285 2547 2692 2820 0 0 0 0 0 0 + 1526 3 0 0 0 13537 2547 2599 2692 0 0 0 0 0 0 + 1527 3 0 0 0 13829 2557 2897 2642 0 0 0 0 0 0 + 1528 3 0 0 0 13830 2557 2640 2897 0 0 0 0 0 0 + 1529 3 0 0 0 13851 2559 2716 2786 0 0 0 0 0 0 + 1530 3 0 0 0 13868 2561 2796 2718 0 0 0 0 0 0 + 1531 3 0 0 0 13395 2563 2720 2644 0 0 0 0 0 0 + 1532 3 0 0 0 13881 2565 2901 2646 0 0 0 0 0 0 + 1533 3 0 0 0 13882 2565 2881 2901 0 0 0 0 0 0 + 1534 3 0 0 0 13394 2566 2644 2720 0 0 0 0 0 0 + 1535 3 0 0 0 13401 2566 2720 2845 0 0 0 0 0 0 + 1536 3 0 0 0 13785 2566 2883 2655 0 0 0 0 0 0 + 1537 3 0 0 0 13883 2566 2845 2883 0 0 0 0 0 0 + 1538 3 0 0 0 13916 2570 2790 2992 0 0 0 0 0 0 + 1539 3 0 0 0 13917 2570 2992 3074 0 0 0 0 0 0 + 1540 3 0 0 0 13918 2570 3074 2651 0 0 0 0 0 0 + 1541 3 0 0 0 13667 2576 2732 2656 0 0 0 0 0 0 + 1542 3 0 0 0 13955 2576 3141 2732 0 0 0 0 0 0 + 1543 3 0 0 0 13957 2576 2731 3141 0 0 0 0 0 0 + 1544 3 0 0 0 13977 2579 2659 2914 0 0 0 0 0 0 + 1545 3 0 0 0 13979 2579 2914 2733 0 0 0 0 0 0 + 1546 3 0 0 0 13981 2580 2915 2659 0 0 0 0 0 0 + 1547 3 0 0 0 13982 2580 2877 2915 0 0 0 0 0 0 + 1548 3 0 0 0 13749 2590 2833 2670 0 0 0 0 0 0 + 1549 3 0 0 0 14148 2599 3020 2692 0 0 0 0 0 0 + 1550 3 0 0 0 14150 2599 2807 3100 0 0 0 0 0 0 + 1551 3 0 0 0 14151 2599 3100 3020 0 0 0 0 0 0 + 1552 3 0 0 0 14252 2611 2709 2954 0 0 0 0 0 0 + 1553 3 0 0 0 14253 2611 2954 3033 0 0 0 0 0 0 + 1554 3 0 0 0 14254 2611 3033 2760 0 0 0 0 0 0 + 1555 3 0 0 0 14344 2620 3016 2865 0 0 0 0 0 0 + 1556 3 0 0 0 14346 2620 2695 3178 0 0 0 0 0 0 + 1557 3 0 0 0 14347 2620 3178 3016 0 0 0 0 0 0 + 1558 3 0 0 0 13730 2621 2685 2771 0 0 0 0 0 0 + 1559 3 0 0 0 14349 2621 2771 2963 0 0 0 0 0 0 + 1560 3 0 0 0 14352 2621 2963 2769 0 0 0 0 0 0 + 1561 3 0 0 0 13297 2622 2823 2768 0 0 0 0 0 0 + 1562 3 0 0 0 14353 2622 2965 2823 0 0 0 0 0 0 + 1563 3 0 0 0 14354 2622 2769 2965 0 0 0 0 0 0 + 1564 3 0 0 0 14377 2624 2970 2706 0 0 0 0 0 0 + 1565 3 0 0 0 14378 2624 3047 2970 0 0 0 0 0 0 + 1566 3 0 0 0 14379 2624 2699 3047 0 0 0 0 0 0 + 1567 3 0 0 0 12541 2625 2772 2699 0 0 0 0 0 0 + 1568 3 0 0 0 14380 2625 2829 2772 0 0 0 0 0 0 + 1569 3 0 0 0 14420 2629 3012 2931 0 0 0 0 0 0 + 1570 3 0 0 0 14421 2629 2803 3012 0 0 0 0 0 0 + 1571 3 0 0 0 14422 2629 3052 2703 0 0 0 0 0 0 + 1572 3 0 0 0 14425 2629 2931 3052 0 0 0 0 0 0 + 1573 3 0 0 0 14428 2630 2686 2952 0 0 0 0 0 0 + 1574 3 0 0 0 14429 2630 2953 2705 0 0 0 0 0 0 + 1575 3 0 0 0 14433 2630 3187 2953 0 0 0 0 0 0 + 1576 3 0 0 0 14434 2630 2952 3187 0 0 0 0 0 0 + 1577 3 0 0 0 14453 2632 3133 2969 0 0 0 0 0 0 + 1578 3 0 0 0 14454 2632 2969 2835 0 0 0 0 0 0 + 1579 3 0 0 0 14455 2632 3054 3133 0 0 0 0 0 0 + 1580 3 0 0 0 14456 2632 2706 3054 0 0 0 0 0 0 + 1581 3 0 0 0 14540 2640 2718 2983 0 0 0 0 0 0 + 1582 3 0 0 0 14541 2640 2983 2897 0 0 0 0 0 0 + 1583 3 0 0 0 13852 2642 2898 2716 0 0 0 0 0 0 + 1584 3 0 0 0 13854 2642 2985 2898 0 0 0 0 0 0 + 1585 3 0 0 0 14544 2642 2897 2985 0 0 0 0 0 0 + 1586 3 0 0 0 13630 2646 2845 2720 0 0 0 0 0 0 + 1587 3 0 0 0 13881 2646 2901 2845 0 0 0 0 0 0 + 1588 3 0 0 0 14579 2651 3074 2994 0 0 0 0 0 0 + 1589 3 0 0 0 14581 2651 2994 3144 0 0 0 0 0 0 + 1590 3 0 0 0 14582 2651 3144 2881 0 0 0 0 0 0 + 1591 3 0 0 0 13174 2655 2883 2731 0 0 0 0 0 0 + 1592 3 0 0 0 13958 2656 2732 2872 0 0 0 0 0 0 + 1593 3 0 0 0 13959 2656 2872 2779 0 0 0 0 0 0 + 1594 3 0 0 0 14620 2659 3081 2914 0 0 0 0 0 0 + 1595 3 0 0 0 14621 2659 2915 3081 0 0 0 0 0 0 + 1596 3 0 0 0 13983 2663 2783 2916 0 0 0 0 0 0 + 1597 3 0 0 0 14635 2663 2916 3150 0 0 0 0 0 0 + 1598 3 0 0 0 14636 2663 3150 2877 0 0 0 0 0 0 + 1599 3 0 0 0 14077 2670 2833 2930 0 0 0 0 0 0 + 1600 3 0 0 0 14079 2670 2930 3092 0 0 0 0 0 0 + 1601 3 0 0 0 14081 2670 3092 2803 0 0 0 0 0 0 + 1602 3 0 0 0 14720 2679 3161 2814 0 0 0 0 0 0 + 1603 3 0 0 0 14721 2679 2820 3161 0 0 0 0 0 0 + 1604 3 0 0 0 14239 2685 2835 2771 0 0 0 0 0 0 + 1605 3 0 0 0 14746 2686 2760 2952 0 0 0 0 0 0 + 1606 3 0 0 0 14780 2692 2959 2820 0 0 0 0 0 0 + 1607 3 0 0 0 14782 2692 3020 3118 0 0 0 0 0 0 + 1608 3 0 0 0 14783 2692 3118 2959 0 0 0 0 0 0 + 1609 3 0 0 0 14341 2695 2768 2962 0 0 0 0 0 0 + 1610 3 0 0 0 14813 2695 2962 3178 0 0 0 0 0 0 + 1611 3 0 0 0 14851 2699 2772 2971 0 0 0 0 0 0 + 1612 3 0 0 0 14853 2699 2971 3047 0 0 0 0 0 0 + 1613 3 0 0 0 14412 2703 3127 2829 0 0 0 0 0 0 + 1614 3 0 0 0 14413 2703 3052 3127 0 0 0 0 0 0 + 1615 3 0 0 0 13034 2704 2833 2777 0 0 0 0 0 0 + 1616 3 0 0 0 14273 2704 2777 3036 0 0 0 0 0 0 + 1617 3 0 0 0 14875 2704 2930 2833 0 0 0 0 0 0 + 1618 3 0 0 0 14877 2704 3036 2975 0 0 0 0 0 0 + 1619 3 0 0 0 14878 2704 2975 3053 0 0 0 0 0 0 + 1620 3 0 0 0 14879 2704 3053 2930 0 0 0 0 0 0 + 1621 3 0 0 0 14276 2705 3036 2777 0 0 0 0 0 0 + 1622 3 0 0 0 14883 2705 2953 3036 0 0 0 0 0 0 + 1623 3 0 0 0 14885 2706 2970 3054 0 0 0 0 0 0 + 1624 3 0 0 0 14462 2709 3056 2954 0 0 0 0 0 0 + 1625 3 0 0 0 14463 2709 2836 3056 0 0 0 0 0 0 + 1626 3 0 0 0 13858 2716 3064 2982 0 0 0 0 0 0 + 1627 3 0 0 0 13859 2716 2898 3064 0 0 0 0 0 0 + 1628 3 0 0 0 14542 2716 2982 2786 0 0 0 0 0 0 + 1629 3 0 0 0 14548 2718 2796 3065 0 0 0 0 0 0 + 1630 3 0 0 0 14955 2718 3065 2983 0 0 0 0 0 0 + 1631 3 0 0 0 13826 2724 2786 2982 0 0 0 0 0 0 + 1632 3 0 0 0 14974 2724 3073 2790 0 0 0 0 0 0 + 1633 3 0 0 0 14975 2724 2982 3073 0 0 0 0 0 0 + 1634 3 0 0 0 13899 2731 2883 2904 0 0 0 0 0 0 + 1635 3 0 0 0 14566 2731 2904 3141 0 0 0 0 0 0 + 1636 3 0 0 0 13962 2732 2912 2872 0 0 0 0 0 0 + 1637 3 0 0 0 15000 2732 3080 2912 0 0 0 0 0 0 + 1638 3 0 0 0 15001 2732 3141 3080 0 0 0 0 0 0 + 1639 3 0 0 0 15002 2733 2914 2999 0 0 0 0 0 0 + 1640 3 0 0 0 15003 2733 2999 2796 0 0 0 0 0 0 + 1641 3 0 0 0 14749 2760 3033 2952 0 0 0 0 0 0 + 1642 3 0 0 0 14338 2768 2823 2962 0 0 0 0 0 0 + 1643 3 0 0 0 14828 2769 3179 2965 0 0 0 0 0 0 + 1644 3 0 0 0 14829 2769 2963 3179 0 0 0 0 0 0 + 1645 3 0 0 0 14861 2771 2835 2969 0 0 0 0 0 0 + 1646 3 0 0 0 15160 2771 2969 3126 0 0 0 0 0 0 + 1647 3 0 0 0 15161 2771 3126 2963 0 0 0 0 0 0 + 1648 3 0 0 0 14856 2772 3127 3048 0 0 0 0 0 0 + 1649 3 0 0 0 14857 2772 2829 3127 0 0 0 0 0 0 + 1650 3 0 0 0 15163 2772 3048 2971 0 0 0 0 0 0 + 1651 3 0 0 0 13585 2779 2872 2836 0 0 0 0 0 0 + 1652 3 0 0 0 14623 2783 2876 3002 0 0 0 0 0 0 + 1653 3 0 0 0 15190 2783 3002 2916 0 0 0 0 0 0 + 1654 3 0 0 0 15225 2790 2907 2992 0 0 0 0 0 0 + 1655 3 0 0 0 15226 2790 3073 2993 0 0 0 0 0 0 + 1656 3 0 0 0 15227 2790 2993 2907 0 0 0 0 0 0 + 1657 3 0 0 0 15257 2796 2999 3065 0 0 0 0 0 0 + 1658 3 0 0 0 15038 2803 3092 3012 0 0 0 0 0 0 + 1659 3 0 0 0 15075 2807 2865 3100 0 0 0 0 0 0 + 1660 3 0 0 0 14004 2814 3085 2876 0 0 0 0 0 0 + 1661 3 0 0 0 15313 2814 3161 3085 0 0 0 0 0 0 + 1662 3 0 0 0 15148 2820 2959 3039 0 0 0 0 0 0 + 1663 3 0 0 0 15336 2820 3039 3161 0 0 0 0 0 0 + 1664 3 0 0 0 14820 2823 3122 3044 0 0 0 0 0 0 + 1665 3 0 0 0 14821 2823 2965 3122 0 0 0 0 0 0 + 1666 3 0 0 0 15347 2823 3044 2962 0 0 0 0 0 0 + 1667 3 0 0 0 14465 2836 3134 3056 0 0 0 0 0 0 + 1668 3 0 0 0 14898 2836 2872 3134 0 0 0 0 0 0 + 1669 3 0 0 0 15216 2845 2901 3068 0 0 0 0 0 0 + 1670 3 0 0 0 15218 2845 3068 2883 0 0 0 0 0 0 + 1671 3 0 0 0 15079 2865 3159 3100 0 0 0 0 0 0 + 1672 3 0 0 0 15539 2865 3016 3159 0 0 0 0 0 0 + 1673 3 0 0 0 14899 2872 2912 3134 0 0 0 0 0 0 + 1674 3 0 0 0 15571 2876 3085 3002 0 0 0 0 0 0 + 1675 3 0 0 0 15572 2877 3059 2915 0 0 0 0 0 0 + 1676 3 0 0 0 15574 2877 3150 3059 0 0 0 0 0 0 + 1677 3 0 0 0 15592 2881 3144 2901 0 0 0 0 0 0 + 1678 3 0 0 0 15599 2883 3068 2904 0 0 0 0 0 0 + 1679 3 0 0 0 15677 2897 2983 3247 0 0 0 0 0 0 + 1680 3 0 0 0 15678 2897 3247 2985 0 0 0 0 0 0 + 1681 3 0 0 0 15679 2898 2985 3248 0 0 0 0 0 0 + 1682 3 0 0 0 15680 2898 3248 3064 0 0 0 0 0 0 + 1683 3 0 0 0 15592 2901 3144 3068 0 0 0 0 0 0 + 1684 3 0 0 0 15707 2904 3068 3342 0 0 0 0 0 0 + 1685 3 0 0 0 15708 2904 3342 3431 0 0 0 0 0 0 + 1686 3 0 0 0 15709 2904 3431 3141 0 0 0 0 0 0 + 1687 3 0 0 0 15726 2907 2993 3256 0 0 0 0 0 0 + 1688 3 0 0 0 15728 2907 3345 2992 0 0 0 0 0 0 + 1689 3 0 0 0 15729 2907 3256 3345 0 0 0 0 0 0 + 1690 3 0 0 0 14897 2912 3057 3134 0 0 0 0 0 0 + 1691 3 0 0 0 15775 2912 3080 3260 0 0 0 0 0 0 + 1692 3 0 0 0 15777 2912 3260 3057 0 0 0 0 0 0 + 1693 3 0 0 0 15018 2914 3081 3202 0 0 0 0 0 0 + 1694 3 0 0 0 15474 2914 3202 2999 0 0 0 0 0 0 + 1695 3 0 0 0 15786 2915 3059 3353 0 0 0 0 0 0 + 1696 3 0 0 0 15787 2915 3353 3081 0 0 0 0 0 0 + 1697 3 0 0 0 15790 2916 3002 3356 0 0 0 0 0 0 + 1698 3 0 0 0 15791 2916 3356 3438 0 0 0 0 0 0 + 1699 3 0 0 0 15793 2916 3438 3150 0 0 0 0 0 0 + 1700 3 0 0 0 15551 2930 3053 3092 0 0 0 0 0 0 + 1701 3 0 0 0 15911 2931 3447 3052 0 0 0 0 0 0 + 1702 3 0 0 0 15913 2931 3012 3449 0 0 0 0 0 0 + 1703 3 0 0 0 15914 2931 3567 3447 0 0 0 0 0 0 + 1704 3 0 0 0 15915 2931 3449 3567 0 0 0 0 0 0 + 1705 3 0 0 0 16098 2952 3033 3309 0 0 0 0 0 0 + 1706 3 0 0 0 16099 2952 3309 3187 0 0 0 0 0 0 + 1707 3 0 0 0 16103 2953 3396 3036 0 0 0 0 0 0 + 1708 3 0 0 0 16105 2953 3187 3534 0 0 0 0 0 0 + 1709 3 0 0 0 16106 2953 3534 3396 0 0 0 0 0 0 + 1710 3 0 0 0 15316 2954 3113 3033 0 0 0 0 0 0 + 1711 3 0 0 0 16108 2954 3056 3310 0 0 0 0 0 0 + 1712 3 0 0 0 16109 2954 3310 3113 0 0 0 0 0 0 + 1713 3 0 0 0 16154 2959 3118 3315 0 0 0 0 0 0 + 1714 3 0 0 0 16155 2959 3383 3039 0 0 0 0 0 0 + 1715 3 0 0 0 16156 2959 3315 3383 0 0 0 0 0 0 + 1716 3 0 0 0 15529 2962 3044 3124 0 0 0 0 0 0 + 1717 3 0 0 0 16180 2962 3124 3178 0 0 0 0 0 0 + 1718 3 0 0 0 15351 2963 3126 3216 0 0 0 0 0 0 + 1719 3 0 0 0 16181 2963 3216 3179 0 0 0 0 0 0 + 1720 3 0 0 0 14827 2965 3179 3122 0 0 0 0 0 0 + 1721 3 0 0 0 16235 2969 3133 3407 0 0 0 0 0 0 + 1722 3 0 0 0 16236 2969 3407 3126 0 0 0 0 0 0 + 1723 3 0 0 0 15383 2970 3047 3131 0 0 0 0 0 0 + 1724 3 0 0 0 16240 2970 3325 3054 0 0 0 0 0 0 + 1725 3 0 0 0 16241 2970 3131 3325 0 0 0 0 0 0 + 1726 3 0 0 0 15363 2971 3048 3130 0 0 0 0 0 0 + 1727 3 0 0 0 15365 2971 3130 3182 0 0 0 0 0 0 + 1728 3 0 0 0 15366 2971 3182 3047 0 0 0 0 0 0 + 1729 3 0 0 0 16286 2975 3283 3053 0 0 0 0 0 0 + 1730 3 0 0 0 16289 2975 3036 3396 0 0 0 0 0 0 + 1731 3 0 0 0 16291 2975 3490 3283 0 0 0 0 0 0 + 1732 3 0 0 0 16292 2975 3552 3490 0 0 0 0 0 0 + 1733 3 0 0 0 16293 2975 3396 3552 0 0 0 0 0 0 + 1734 3 0 0 0 13860 2982 3064 3139 0 0 0 0 0 0 + 1735 3 0 0 0 15665 2982 3139 3073 0 0 0 0 0 0 + 1736 3 0 0 0 15207 2983 3065 3140 0 0 0 0 0 0 + 1737 3 0 0 0 16376 2983 3140 3247 0 0 0 0 0 0 + 1738 3 0 0 0 16388 2985 3247 3426 0 0 0 0 0 0 + 1739 3 0 0 0 16389 2985 3426 3248 0 0 0 0 0 0 + 1740 3 0 0 0 15716 2992 3254 3074 0 0 0 0 0 0 + 1741 3 0 0 0 16425 2992 3345 3254 0 0 0 0 0 0 + 1742 3 0 0 0 16426 2993 3073 3427 0 0 0 0 0 0 + 1743 3 0 0 0 16429 2993 3427 3505 0 0 0 0 0 0 + 1744 3 0 0 0 16430 2993 3505 3256 0 0 0 0 0 0 + 1745 3 0 0 0 15735 2994 3346 3258 0 0 0 0 0 0 + 1746 3 0 0 0 15736 2994 3074 3346 0 0 0 0 0 0 + 1747 3 0 0 0 15738 2994 3258 3430 0 0 0 0 0 0 + 1748 3 0 0 0 16433 2994 3430 3144 0 0 0 0 0 0 + 1749 3 0 0 0 15682 2999 3202 3249 0 0 0 0 0 0 + 1750 3 0 0 0 15683 2999 3249 3065 0 0 0 0 0 0 + 1751 3 0 0 0 16471 3002 3440 3356 0 0 0 0 0 0 + 1752 3 0 0 0 16472 3002 3085 3440 0 0 0 0 0 0 + 1753 3 0 0 0 15884 3012 3092 3281 0 0 0 0 0 0 + 1754 3 0 0 0 16511 3012 3281 3449 0 0 0 0 0 0 + 1755 3 0 0 0 16527 3016 3178 3287 0 0 0 0 0 0 + 1756 3 0 0 0 16528 3016 3287 3374 0 0 0 0 0 0 + 1757 3 0 0 0 16529 3016 3374 3159 0 0 0 0 0 0 + 1758 3 0 0 0 15957 3020 3100 3293 0 0 0 0 0 0 + 1759 3 0 0 0 16556 3020 3460 3118 0 0 0 0 0 0 + 1760 3 0 0 0 16557 3020 3293 3460 0 0 0 0 0 0 + 1761 3 0 0 0 16629 3033 3113 3309 0 0 0 0 0 0 + 1762 3 0 0 0 15995 3039 3268 3161 0 0 0 0 0 0 + 1763 3 0 0 0 15999 3039 3383 3268 0 0 0 0 0 0 + 1764 3 0 0 0 16185 3044 3122 3320 0 0 0 0 0 0 + 1765 3 0 0 0 16191 3044 3320 3480 0 0 0 0 0 0 + 1766 3 0 0 0 16707 3044 3480 3124 0 0 0 0 0 0 + 1767 3 0 0 0 16727 3047 3182 3131 0 0 0 0 0 0 + 1768 3 0 0 0 16730 3048 3483 3130 0 0 0 0 0 0 + 1769 3 0 0 0 16731 3048 3517 3483 0 0 0 0 0 0 + 1770 3 0 0 0 16733 3048 3127 3517 0 0 0 0 0 0 + 1771 3 0 0 0 15875 3052 3447 3517 0 0 0 0 0 0 + 1772 3 0 0 0 15876 3052 3517 3127 0 0 0 0 0 0 + 1773 3 0 0 0 16784 3053 3450 3092 0 0 0 0 0 0 + 1774 3 0 0 0 16786 3053 3283 3450 0 0 0 0 0 0 + 1775 3 0 0 0 16789 3054 3325 3133 0 0 0 0 0 0 + 1776 3 0 0 0 16299 3056 3134 3418 0 0 0 0 0 0 + 1777 3 0 0 0 16797 3056 3418 3310 0 0 0 0 0 0 + 1778 3 0 0 0 16301 3057 3418 3134 0 0 0 0 0 0 + 1779 3 0 0 0 16798 3057 3331 3418 0 0 0 0 0 0 + 1780 3 0 0 0 16799 3057 3419 3331 0 0 0 0 0 0 + 1781 3 0 0 0 16800 3057 3260 3419 0 0 0 0 0 0 + 1782 3 0 0 0 16822 3059 3511 3353 0 0 0 0 0 0 + 1783 3 0 0 0 16824 3059 3565 3511 0 0 0 0 0 0 + 1784 3 0 0 0 16825 3059 3150 3565 0 0 0 0 0 0 + 1785 3 0 0 0 16839 3064 3248 3339 0 0 0 0 0 0 + 1786 3 0 0 0 16840 3064 3500 3139 0 0 0 0 0 0 + 1787 3 0 0 0 16841 3064 3339 3500 0 0 0 0 0 0 + 1788 3 0 0 0 15684 3065 3249 3140 0 0 0 0 0 0 + 1789 3 0 0 0 16402 3068 3144 3342 0 0 0 0 0 0 + 1790 3 0 0 0 16858 3073 3139 3427 0 0 0 0 0 0 + 1791 3 0 0 0 15734 3074 3254 3346 0 0 0 0 0 0 + 1792 3 0 0 0 16409 3080 3141 3431 0 0 0 0 0 0 + 1793 3 0 0 0 16877 3080 3351 3260 0 0 0 0 0 0 + 1794 3 0 0 0 16879 3080 3431 3351 0 0 0 0 0 0 + 1795 3 0 0 0 16880 3081 3263 3202 0 0 0 0 0 0 + 1796 3 0 0 0 16883 3081 3353 3263 0 0 0 0 0 0 + 1797 3 0 0 0 16473 3085 3161 3268 0 0 0 0 0 0 + 1798 3 0 0 0 16895 3085 3268 3515 0 0 0 0 0 0 + 1799 3 0 0 0 16896 3085 3515 3440 0 0 0 0 0 0 + 1800 3 0 0 0 16919 3092 3450 3281 0 0 0 0 0 0 + 1801 3 0 0 0 15958 3100 3159 3293 0 0 0 0 0 0 + 1802 3 0 0 0 16999 3113 3310 3397 0 0 0 0 0 0 + 1803 3 0 0 0 17000 3113 3397 3535 0 0 0 0 0 0 + 1804 3 0 0 0 17002 3113 3535 3309 0 0 0 0 0 0 + 1805 3 0 0 0 16660 3118 3379 3315 0 0 0 0 0 0 + 1806 3 0 0 0 17021 3118 3460 3379 0 0 0 0 0 0 + 1807 3 0 0 0 16188 3122 3479 3320 0 0 0 0 0 0 + 1808 3 0 0 0 16697 3122 3179 3318 0 0 0 0 0 0 + 1809 3 0 0 0 16701 3122 3318 3479 0 0 0 0 0 0 + 1810 3 0 0 0 16691 3124 3287 3178 0 0 0 0 0 0 + 1811 3 0 0 0 17054 3124 3406 3287 0 0 0 0 0 0 + 1812 3 0 0 0 17055 3124 3480 3406 0 0 0 0 0 0 + 1813 3 0 0 0 16200 3126 3321 3216 0 0 0 0 0 0 + 1814 3 0 0 0 17058 3126 3407 3321 0 0 0 0 0 0 + 1815 3 0 0 0 16247 3130 3326 3182 0 0 0 0 0 0 + 1816 3 0 0 0 16250 3130 3412 3326 0 0 0 0 0 0 + 1817 3 0 0 0 16252 3130 3483 3412 0 0 0 0 0 0 + 1818 3 0 0 0 16756 3131 3487 3325 0 0 0 0 0 0 + 1819 3 0 0 0 17066 3131 3182 3413 0 0 0 0 0 0 + 1820 3 0 0 0 17067 3131 3413 3487 0 0 0 0 0 0 + 1821 3 0 0 0 17075 3133 3417 3329 0 0 0 0 0 0 + 1822 3 0 0 0 17076 3133 3325 3417 0 0 0 0 0 0 + 1823 3 0 0 0 17077 3133 3329 3407 0 0 0 0 0 0 + 1824 3 0 0 0 17103 3139 3340 3427 0 0 0 0 0 0 + 1825 3 0 0 0 17106 3139 3500 3340 0 0 0 0 0 0 + 1826 3 0 0 0 17107 3140 3249 3341 0 0 0 0 0 0 + 1827 3 0 0 0 17108 3140 3502 3247 0 0 0 0 0 0 + 1828 3 0 0 0 17109 3140 3341 3502 0 0 0 0 0 0 + 1829 3 0 0 0 16849 3144 3430 3342 0 0 0 0 0 0 + 1830 3 0 0 0 17140 3150 3438 3565 0 0 0 0 0 0 + 1831 3 0 0 0 16562 3159 3462 3293 0 0 0 0 0 0 + 1832 3 0 0 0 16563 3159 3374 3462 0 0 0 0 0 0 + 1833 3 0 0 0 16699 3179 3404 3318 0 0 0 0 0 0 + 1834 3 0 0 0 16700 3179 3216 3404 0 0 0 0 0 0 + 1835 3 0 0 0 17259 3182 3326 3413 0 0 0 0 0 0 + 1836 3 0 0 0 16129 3187 3309 3474 0 0 0 0 0 0 + 1837 3 0 0 0 16131 3187 3474 3534 0 0 0 0 0 0 + 1838 3 0 0 0 17366 3202 3263 3512 0 0 0 0 0 0 + 1839 3 0 0 0 17367 3202 3512 3249 0 0 0 0 0 0 + 1840 3 0 0 0 16705 3216 3542 3404 0 0 0 0 0 0 + 1841 3 0 0 0 17250 3216 3321 3542 0 0 0 0 0 0 + 1842 3 0 0 0 17352 3247 3502 3426 0 0 0 0 0 0 + 1843 3 0 0 0 17347 3248 3426 3558 0 0 0 0 0 0 + 1844 3 0 0 0 17349 3248 3558 3339 0 0 0 0 0 0 + 1845 3 0 0 0 17535 3249 3512 3341 0 0 0 0 0 0 + 1846 3 0 0 0 15742 3254 3507 3346 0 0 0 0 0 0 + 1847 3 0 0 0 17571 3254 3345 3613 0 0 0 0 0 0 + 1848 3 0 0 0 17572 3254 3613 3507 0 0 0 0 0 0 + 1849 3 0 0 0 17580 3256 3614 3345 0 0 0 0 0 0 + 1850 3 0 0 0 17582 3256 3793 3614 0 0 0 0 0 0 + 1851 3 0 0 0 17583 3256 3505 3793 0 0 0 0 0 0 + 1852 3 0 0 0 15740 3258 3346 3433 0 0 0 0 0 0 + 1853 3 0 0 0 15743 3258 3561 3430 0 0 0 0 0 0 + 1854 3 0 0 0 15749 3258 3594 3561 0 0 0 0 0 0 + 1855 3 0 0 0 15751 3258 3433 3594 0 0 0 0 0 0 + 1856 3 0 0 0 17290 3260 3510 3419 0 0 0 0 0 0 + 1857 3 0 0 0 17365 3260 3351 3510 0 0 0 0 0 0 + 1858 3 0 0 0 17602 3263 3714 3512 0 0 0 0 0 0 + 1859 3 0 0 0 17603 3263 3353 3801 0 0 0 0 0 0 + 1860 3 0 0 0 17604 3263 3801 3714 0 0 0 0 0 0 + 1861 3 0 0 0 17659 3268 3383 3624 0 0 0 0 0 0 + 1862 3 0 0 0 17661 3268 3624 3515 0 0 0 0 0 0 + 1863 3 0 0 0 17764 3281 3450 3636 0 0 0 0 0 0 + 1864 3 0 0 0 17765 3281 3636 3730 0 0 0 0 0 0 + 1865 3 0 0 0 17766 3281 3730 3449 0 0 0 0 0 0 + 1866 3 0 0 0 17777 3283 3636 3450 0 0 0 0 0 0 + 1867 3 0 0 0 17778 3283 3490 3733 0 0 0 0 0 0 + 1868 3 0 0 0 17779 3283 3733 3636 0 0 0 0 0 0 + 1869 3 0 0 0 17815 3287 3646 3374 0 0 0 0 0 0 + 1870 3 0 0 0 17816 3287 3406 3646 0 0 0 0 0 0 + 1871 3 0 0 0 17863 3293 3653 3460 0 0 0 0 0 0 + 1872 3 0 0 0 17864 3293 3462 3653 0 0 0 0 0 0 + 1873 3 0 0 0 18022 3309 3535 3474 0 0 0 0 0 0 + 1874 3 0 0 0 18024 3310 3418 3670 0 0 0 0 0 0 + 1875 3 0 0 0 18025 3310 3670 3397 0 0 0 0 0 0 + 1876 3 0 0 0 16133 3314 3534 3474 0 0 0 0 0 0 + 1877 3 0 0 0 18052 3314 3762 3534 0 0 0 0 0 0 + 1878 3 0 0 0 18053 3314 3474 3764 0 0 0 0 0 0 + 1879 3 0 0 0 18054 3314 3764 3673 0 0 0 0 0 0 + 1880 3 0 0 0 18058 3314 3904 3762 0 0 0 0 0 0 + 1881 3 0 0 0 18059 3314 3673 3904 0 0 0 0 0 0 + 1882 3 0 0 0 18060 3315 3751 3383 0 0 0 0 0 0 + 1883 3 0 0 0 18061 3315 3826 3751 0 0 0 0 0 0 + 1884 3 0 0 0 18062 3315 3379 3826 0 0 0 0 0 0 + 1885 3 0 0 0 16702 3318 3404 3479 0 0 0 0 0 0 + 1886 3 0 0 0 16196 3320 3479 3543 0 0 0 0 0 0 + 1887 3 0 0 0 18117 3320 3678 3480 0 0 0 0 0 0 + 1888 3 0 0 0 18118 3320 3543 3678 0 0 0 0 0 0 + 1889 3 0 0 0 17263 3321 3407 3488 0 0 0 0 0 0 + 1890 3 0 0 0 18121 3321 3677 3542 0 0 0 0 0 0 + 1891 3 0 0 0 18122 3321 3488 3677 0 0 0 0 0 0 + 1892 3 0 0 0 17413 3324 3406 3480 0 0 0 0 0 0 + 1893 3 0 0 0 18159 3324 3480 3678 0 0 0 0 0 0 + 1894 3 0 0 0 18162 3324 3908 3406 0 0 0 0 0 0 + 1895 3 0 0 0 18163 3324 3684 3908 0 0 0 0 0 0 + 1896 3 0 0 0 18165 3324 3678 3943 0 0 0 0 0 0 + 1897 3 0 0 0 18166 3324 3943 3684 0 0 0 0 0 0 + 1898 3 0 0 0 18167 3325 3487 3686 0 0 0 0 0 0 + 1899 3 0 0 0 18168 3325 3686 3417 0 0 0 0 0 0 + 1900 3 0 0 0 18169 3326 3412 3687 0 0 0 0 0 0 + 1901 3 0 0 0 18170 3326 3687 3775 0 0 0 0 0 0 + 1902 3 0 0 0 18172 3326 3775 3413 0 0 0 0 0 0 + 1903 3 0 0 0 18187 3329 3488 3407 0 0 0 0 0 0 + 1904 3 0 0 0 18188 3329 3417 3686 0 0 0 0 0 0 + 1905 3 0 0 0 18189 3329 3686 3779 0 0 0 0 0 0 + 1906 3 0 0 0 18190 3329 3779 3488 0 0 0 0 0 0 + 1907 3 0 0 0 18203 3331 3670 3418 0 0 0 0 0 0 + 1908 3 0 0 0 18204 3331 3419 3695 0 0 0 0 0 0 + 1909 3 0 0 0 18206 3331 3695 3859 0 0 0 0 0 0 + 1910 3 0 0 0 18207 3331 3859 3670 0 0 0 0 0 0 + 1911 3 0 0 0 18282 3339 3790 3500 0 0 0 0 0 0 + 1912 3 0 0 0 18282 3339 3558 3790 0 0 0 0 0 0 + 1913 3 0 0 0 18283 3340 3505 3427 0 0 0 0 0 0 + 1914 3 0 0 0 18284 3340 3706 3505 0 0 0 0 0 0 + 1915 3 0 0 0 18286 3340 3608 3706 0 0 0 0 0 0 + 1916 3 0 0 0 18290 3340 3924 3608 0 0 0 0 0 0 + 1917 3 0 0 0 18291 3340 3500 3924 0 0 0 0 0 0 + 1918 3 0 0 0 18292 3341 3707 3502 0 0 0 0 0 0 + 1919 3 0 0 0 18294 3341 3610 3707 0 0 0 0 0 0 + 1920 3 0 0 0 18297 3341 3512 3610 0 0 0 0 0 0 + 1921 3 0 0 0 17553 3342 3561 3431 0 0 0 0 0 0 + 1922 3 0 0 0 17554 3342 3430 3561 0 0 0 0 0 0 + 1923 3 0 0 0 18309 3345 3614 3709 0 0 0 0 0 0 + 1924 3 0 0 0 18310 3345 3709 3613 0 0 0 0 0 0 + 1925 3 0 0 0 15741 3346 3507 3433 0 0 0 0 0 0 + 1926 3 0 0 0 18337 3351 3431 3561 0 0 0 0 0 0 + 1927 3 0 0 0 18338 3351 3594 3510 0 0 0 0 0 0 + 1928 3 0 0 0 18340 3351 3561 3594 0 0 0 0 0 0 + 1929 3 0 0 0 18352 3353 3511 3801 0 0 0 0 0 0 + 1930 3 0 0 0 17628 3356 3719 3438 0 0 0 0 0 0 + 1931 3 0 0 0 17629 3356 3621 3719 0 0 0 0 0 0 + 1932 3 0 0 0 18365 3356 3440 3621 0 0 0 0 0 0 + 1933 3 0 0 0 15877 3363 3517 3447 0 0 0 0 0 0 + 1934 3 0 0 0 17735 3363 3483 3517 0 0 0 0 0 0 + 1935 3 0 0 0 18391 3363 3633 3483 0 0 0 0 0 0 + 1936 3 0 0 0 18394 3363 3447 3728 0 0 0 0 0 0 + 1937 3 0 0 0 18399 3363 3880 3633 0 0 0 0 0 0 + 1938 3 0 0 0 18400 3363 3728 3880 0 0 0 0 0 0 + 1939 3 0 0 0 17891 3374 3738 3462 0 0 0 0 0 0 + 1940 3 0 0 0 18445 3374 3646 3738 0 0 0 0 0 0 + 1941 3 0 0 0 17874 3379 3745 3654 0 0 0 0 0 0 + 1942 3 0 0 0 17875 3379 3460 3745 0 0 0 0 0 0 + 1943 3 0 0 0 18460 3379 3654 3826 0 0 0 0 0 0 + 1944 3 0 0 0 18486 3383 3751 3624 0 0 0 0 0 0 + 1945 3 0 0 0 18580 3396 3534 3762 0 0 0 0 0 0 + 1946 3 0 0 0 18581 3396 3762 3552 0 0 0 0 0 0 + 1947 3 0 0 0 18586 3397 3837 3535 0 0 0 0 0 0 + 1948 3 0 0 0 18588 3397 3670 3900 0 0 0 0 0 0 + 1949 3 0 0 0 18589 3397 3900 3837 0 0 0 0 0 0 + 1950 3 0 0 0 18658 3404 3676 3479 0 0 0 0 0 0 + 1951 3 0 0 0 18658 3404 3542 3676 0 0 0 0 0 0 + 1952 3 0 0 0 18667 3406 3908 3646 0 0 0 0 0 0 + 1953 3 0 0 0 18711 3412 3483 3633 0 0 0 0 0 0 + 1954 3 0 0 0 18712 3412 3776 3687 0 0 0 0 0 0 + 1955 3 0 0 0 18716 3412 3633 3776 0 0 0 0 0 0 + 1956 3 0 0 0 18718 3413 3854 3487 0 0 0 0 0 0 + 1957 3 0 0 0 18719 3413 3775 3854 0 0 0 0 0 0 + 1958 3 0 0 0 18771 3419 3510 3800 0 0 0 0 0 0 + 1959 3 0 0 0 18773 3419 3800 3695 0 0 0 0 0 0 + 1960 3 0 0 0 18267 3426 3502 3606 0 0 0 0 0 0 + 1961 3 0 0 0 18269 3426 3606 3558 0 0 0 0 0 0 + 1962 3 0 0 0 18846 3433 3615 3594 0 0 0 0 0 0 + 1963 3 0 0 0 18847 3433 3507 3711 0 0 0 0 0 0 + 1964 3 0 0 0 18848 3433 3711 3615 0 0 0 0 0 0 + 1965 3 0 0 0 18361 3438 3802 3565 0 0 0 0 0 0 + 1966 3 0 0 0 18877 3438 3719 3802 0 0 0 0 0 0 + 1967 3 0 0 0 18878 3440 3515 3621 0 0 0 0 0 0 + 1968 3 0 0 0 18902 3447 3567 3728 0 0 0 0 0 0 + 1969 3 0 0 0 18904 3449 3812 3567 0 0 0 0 0 0 + 1970 3 0 0 0 18905 3449 3730 3812 0 0 0 0 0 0 + 1971 3 0 0 0 18940 3460 3653 3745 0 0 0 0 0 0 + 1972 3 0 0 0 17904 3462 3738 3887 0 0 0 0 0 0 + 1973 3 0 0 0 17906 3462 3887 3653 0 0 0 0 0 0 + 1974 3 0 0 0 18990 3474 3535 3764 0 0 0 0 0 0 + 1975 3 0 0 0 19009 3479 3843 3543 0 0 0 0 0 0 + 1976 3 0 0 0 19010 3479 3676 3843 0 0 0 0 0 0 + 1977 3 0 0 0 18725 3487 3778 3686 0 0 0 0 0 0 + 1978 3 0 0 0 19025 3487 3854 3778 0 0 0 0 0 0 + 1979 3 0 0 0 18736 3488 3856 3677 0 0 0 0 0 0 + 1980 3 0 0 0 19027 3488 3779 3856 0 0 0 0 0 0 + 1981 3 0 0 0 17786 3490 3552 3815 0 0 0 0 0 0 + 1982 3 0 0 0 19030 3490 3693 3733 0 0 0 0 0 0 + 1983 3 0 0 0 19031 3490 3815 3693 0 0 0 0 0 0 + 1984 3 0 0 0 19095 3500 3790 3924 0 0 0 0 0 0 + 1985 3 0 0 0 19096 3502 3707 3606 0 0 0 0 0 0 + 1986 3 0 0 0 19102 3505 3706 3793 0 0 0 0 0 0 + 1987 3 0 0 0 19108 3507 3613 3795 0 0 0 0 0 0 + 1988 3 0 0 0 19108 3507 3795 3711 0 0 0 0 0 0 + 1989 3 0 0 0 18867 3510 3594 3615 0 0 0 0 0 0 + 1990 3 0 0 0 18870 3510 3615 3800 0 0 0 0 0 0 + 1991 3 0 0 0 19112 3511 3565 3716 0 0 0 0 0 0 + 1992 3 0 0 0 19114 3511 3871 3801 0 0 0 0 0 0 + 1993 3 0 0 0 19115 3511 3716 3871 0 0 0 0 0 0 + 1994 3 0 0 0 19116 3512 3714 3610 0 0 0 0 0 0 + 1995 3 0 0 0 17674 3515 3624 3721 0 0 0 0 0 0 + 1996 3 0 0 0 17675 3515 3721 3621 0 0 0 0 0 0 + 1997 3 0 0 0 19178 3535 3837 3764 0 0 0 0 0 0 + 1998 3 0 0 0 18675 3542 3677 3844 0 0 0 0 0 0 + 1999 3 0 0 0 19192 3542 3844 3676 0 0 0 0 0 0 + 2000 3 0 0 0 19193 3543 3843 3679 0 0 0 0 0 0 + 2001 3 0 0 0 19194 3543 3907 3678 0 0 0 0 0 0 + 2002 3 0 0 0 19195 3543 3679 3907 0 0 0 0 0 0 + 2003 3 0 0 0 19234 3552 3762 3815 0 0 0 0 0 0 + 2004 3 0 0 0 18271 3558 3606 3705 0 0 0 0 0 0 + 2005 3 0 0 0 18279 3558 3705 3790 0 0 0 0 0 0 + 2006 3 0 0 0 19270 3565 3802 3716 0 0 0 0 0 0 + 2007 3 0 0 0 19275 3567 3812 3882 0 0 0 0 0 0 + 2008 3 0 0 0 19276 3567 3882 3728 0 0 0 0 0 0 + 2009 3 0 0 0 19419 3606 3707 3973 0 0 0 0 0 0 + 2010 3 0 0 0 19420 3606 3973 3705 0 0 0 0 0 0 + 2011 3 0 0 0 19434 3608 3924 3974 0 0 0 0 0 0 + 2012 3 0 0 0 19438 3608 4159 3706 0 0 0 0 0 0 + 2013 3 0 0 0 19439 3608 3974 4159 0 0 0 0 0 0 + 2014 3 0 0 0 19449 3610 4158 3707 0 0 0 0 0 0 + 2015 3 0 0 0 19450 3610 3714 4242 0 0 0 0 0 0 + 2016 3 0 0 0 19451 3610 4242 4158 0 0 0 0 0 0 + 2017 3 0 0 0 19476 3613 3709 4073 0 0 0 0 0 0 + 2018 3 0 0 0 19478 3613 4073 3795 0 0 0 0 0 0 + 2019 3 0 0 0 18859 3614 3927 3709 0 0 0 0 0 0 + 2020 3 0 0 0 19479 3614 3793 3979 0 0 0 0 0 0 + 2021 3 0 0 0 19480 3614 3979 4074 0 0 0 0 0 0 + 2022 3 0 0 0 19481 3614 4074 3927 0 0 0 0 0 0 + 2023 3 0 0 0 19484 3615 3983 3800 0 0 0 0 0 0 + 2024 3 0 0 0 19485 3615 3711 3983 0 0 0 0 0 0 + 2025 3 0 0 0 19534 3621 3988 3719 0 0 0 0 0 0 + 2026 3 0 0 0 19535 3621 4173 3988 0 0 0 0 0 0 + 2027 3 0 0 0 19536 3621 3721 4173 0 0 0 0 0 0 + 2028 3 0 0 0 19551 3624 3992 3721 0 0 0 0 0 0 + 2029 3 0 0 0 19552 3624 3751 3992 0 0 0 0 0 0 + 2030 3 0 0 0 19621 3633 3999 3776 0 0 0 0 0 0 + 2031 3 0 0 0 19622 3633 3880 3999 0 0 0 0 0 0 + 2032 3 0 0 0 19639 3636 4094 3730 0 0 0 0 0 0 + 2033 3 0 0 0 19640 3636 3733 4094 0 0 0 0 0 0 + 2034 3 0 0 0 19146 3646 3827 3738 0 0 0 0 0 0 + 2035 3 0 0 0 19396 3646 3908 3827 0 0 0 0 0 0 + 2036 3 0 0 0 19757 3653 3887 4110 0 0 0 0 0 0 + 2037 3 0 0 0 19758 3653 4110 3745 0 0 0 0 0 0 + 2038 3 0 0 0 19761 3654 4111 3826 0 0 0 0 0 0 + 2039 3 0 0 0 19762 3654 3745 4195 0 0 0 0 0 0 + 2040 3 0 0 0 19765 3654 4195 4307 0 0 0 0 0 0 + 2041 3 0 0 0 19767 3654 4307 4111 0 0 0 0 0 0 + 2042 3 0 0 0 17905 3655 3887 3738 0 0 0 0 0 0 + 2043 3 0 0 0 19147 3655 3738 3827 0 0 0 0 0 0 + 2044 3 0 0 0 19770 3655 4019 4196 0 0 0 0 0 0 + 2045 3 0 0 0 19771 3655 4196 3887 0 0 0 0 0 0 + 2046 3 0 0 0 19772 3655 3827 4262 0 0 0 0 0 0 + 2047 3 0 0 0 19773 3655 4262 4019 0 0 0 0 0 0 + 2048 3 0 0 0 19344 3670 3859 3900 0 0 0 0 0 0 + 2049 3 0 0 0 19894 3673 3764 4034 0 0 0 0 0 0 + 2050 3 0 0 0 19896 3673 4034 4126 0 0 0 0 0 0 + 2051 3 0 0 0 19897 3673 4126 4213 0 0 0 0 0 0 + 2052 3 0 0 0 19899 3673 4213 3904 0 0 0 0 0 0 + 2053 3 0 0 0 19930 3676 3844 4042 0 0 0 0 0 0 + 2054 3 0 0 0 19931 3676 4042 3843 0 0 0 0 0 0 + 2055 3 0 0 0 18684 3677 3912 3844 0 0 0 0 0 0 + 2056 3 0 0 0 18737 3677 3856 3912 0 0 0 0 0 0 + 2057 3 0 0 0 19932 3678 3907 3943 0 0 0 0 0 0 + 2058 3 0 0 0 19934 3679 4043 3907 0 0 0 0 0 0 + 2059 3 0 0 0 19937 3679 3843 4216 0 0 0 0 0 0 + 2060 3 0 0 0 19938 3679 4216 4282 0 0 0 0 0 0 + 2061 3 0 0 0 19940 3679 4282 4043 0 0 0 0 0 0 + 2062 3 0 0 0 19999 3684 4020 3908 0 0 0 0 0 0 + 2063 3 0 0 0 20001 3684 3943 4194 0 0 0 0 0 0 + 2064 3 0 0 0 20003 3684 4194 4263 0 0 0 0 0 0 + 2065 3 0 0 0 20005 3684 4263 4020 0 0 0 0 0 0 + 2066 3 0 0 0 20024 3686 4051 3779 0 0 0 0 0 0 + 2067 3 0 0 0 20025 3686 3778 4051 0 0 0 0 0 0 + 2068 3 0 0 0 20027 3687 3776 4052 0 0 0 0 0 0 + 2069 3 0 0 0 20028 3687 4140 3775 0 0 0 0 0 0 + 2070 3 0 0 0 20029 3687 4052 4140 0 0 0 0 0 0 + 2071 3 0 0 0 20106 3693 3815 4100 0 0 0 0 0 0 + 2072 3 0 0 0 20107 3693 4184 3733 0 0 0 0 0 0 + 2073 3 0 0 0 20110 3693 4100 4312 0 0 0 0 0 0 + 2074 3 0 0 0 20111 3693 4312 4184 0 0 0 0 0 0 + 2075 3 0 0 0 20121 3695 3800 4077 0 0 0 0 0 0 + 2076 3 0 0 0 20124 3695 4332 3859 0 0 0 0 0 0 + 2077 3 0 0 0 20125 3695 4077 4332 0 0 0 0 0 0 + 2078 3 0 0 0 19423 3705 4067 3790 0 0 0 0 0 0 + 2079 3 0 0 0 19432 3705 4240 4067 0 0 0 0 0 0 + 2080 3 0 0 0 19433 3705 3973 4240 0 0 0 0 0 0 + 2081 3 0 0 0 19456 3706 4069 3793 0 0 0 0 0 0 + 2082 3 0 0 0 20226 3706 3975 4069 0 0 0 0 0 0 + 2083 3 0 0 0 20229 3706 4159 3975 0 0 0 0 0 0 + 2084 3 0 0 0 20232 3707 4158 3973 0 0 0 0 0 0 + 2085 3 0 0 0 20234 3709 3927 4073 0 0 0 0 0 0 + 2086 3 0 0 0 20251 3711 3795 4076 0 0 0 0 0 0 + 2087 3 0 0 0 20253 3711 4076 3983 0 0 0 0 0 0 + 2088 3 0 0 0 19501 3714 3801 4079 0 0 0 0 0 0 + 2089 3 0 0 0 19504 3714 4079 4242 0 0 0 0 0 0 + 2090 3 0 0 0 20269 3716 3986 3871 0 0 0 0 0 0 + 2091 3 0 0 0 20270 3716 3802 4080 0 0 0 0 0 0 + 2092 3 0 0 0 20271 3716 4080 3986 0 0 0 0 0 0 + 2093 3 0 0 0 19523 3719 3988 4171 0 0 0 0 0 0 + 2094 3 0 0 0 19524 3719 4171 3802 0 0 0 0 0 0 + 2095 3 0 0 0 19558 3721 4085 4173 0 0 0 0 0 0 + 2096 3 0 0 0 20293 3721 3992 4085 0 0 0 0 0 0 + 2097 3 0 0 0 20322 3728 3882 3998 0 0 0 0 0 0 + 2098 3 0 0 0 20323 3728 3998 3880 0 0 0 0 0 0 + 2099 3 0 0 0 19636 3730 4094 4183 0 0 0 0 0 0 + 2100 3 0 0 0 20325 3730 4183 3812 0 0 0 0 0 0 + 2101 3 0 0 0 20336 3733 4184 4094 0 0 0 0 0 0 + 2102 3 0 0 0 20380 3745 4110 4195 0 0 0 0 0 0 + 2103 3 0 0 0 20421 3751 4176 3992 0 0 0 0 0 0 + 2104 3 0 0 0 20422 3751 3826 4176 0 0 0 0 0 0 + 2105 3 0 0 0 19664 3762 3904 3815 0 0 0 0 0 0 + 2106 3 0 0 0 19884 3764 3837 4034 0 0 0 0 0 0 + 2107 3 0 0 0 18682 3772 3844 3912 0 0 0 0 0 0 + 2108 3 0 0 0 20534 3772 4042 3844 0 0 0 0 0 0 + 2109 3 0 0 0 20535 3772 3912 4137 0 0 0 0 0 0 + 2110 3 0 0 0 20537 3772 4137 4222 0 0 0 0 0 0 + 2111 3 0 0 0 20538 3772 4222 4287 0 0 0 0 0 0 + 2112 3 0 0 0 20539 3772 4287 4042 0 0 0 0 0 0 + 2113 3 0 0 0 20032 3775 4053 3854 0 0 0 0 0 0 + 2114 3 0 0 0 20552 3775 4140 4053 0 0 0 0 0 0 + 2115 3 0 0 0 20553 3776 3999 4141 0 0 0 0 0 0 + 2116 3 0 0 0 20555 3776 4141 4052 0 0 0 0 0 0 + 2117 3 0 0 0 20037 3778 3854 4227 0 0 0 0 0 0 + 2118 3 0 0 0 20561 3778 4292 4051 0 0 0 0 0 0 + 2119 3 0 0 0 20562 3778 4227 4292 0 0 0 0 0 0 + 2120 3 0 0 0 20565 3779 4231 3856 0 0 0 0 0 0 + 2121 3 0 0 0 20566 3779 4051 4231 0 0 0 0 0 0 + 2122 3 0 0 0 18739 3780 3912 3856 0 0 0 0 0 0 + 2123 3 0 0 0 20053 3780 4137 3912 0 0 0 0 0 0 + 2124 3 0 0 0 20064 3780 4293 4137 0 0 0 0 0 0 + 2125 3 0 0 0 20568 3780 3856 4231 0 0 0 0 0 0 + 2126 3 0 0 0 20569 3780 4231 4056 0 0 0 0 0 0 + 2127 3 0 0 0 20571 3780 4056 4293 0 0 0 0 0 0 + 2128 3 0 0 0 19424 3790 4067 3924 0 0 0 0 0 0 + 2129 3 0 0 0 20236 3793 4069 3979 0 0 0 0 0 0 + 2130 3 0 0 0 20671 3795 4166 4076 0 0 0 0 0 0 + 2131 3 0 0 0 20672 3795 4073 4166 0 0 0 0 0 0 + 2132 3 0 0 0 20254 3800 3983 4077 0 0 0 0 0 0 + 2133 3 0 0 0 20266 3801 3871 4079 0 0 0 0 0 0 + 2134 3 0 0 0 20695 3802 4171 4080 0 0 0 0 0 0 + 2135 3 0 0 0 19591 3812 4090 3882 0 0 0 0 0 0 + 2136 3 0 0 0 20736 3812 4183 4090 0 0 0 0 0 0 + 2137 3 0 0 0 19670 3815 3904 4004 0 0 0 0 0 0 + 2138 3 0 0 0 20338 3815 4004 4100 0 0 0 0 0 0 + 2139 3 0 0 0 20785 3826 4111 4176 0 0 0 0 0 0 + 2140 3 0 0 0 20786 3827 3908 4020 0 0 0 0 0 0 + 2141 3 0 0 0 20787 3827 4020 4262 0 0 0 0 0 0 + 2142 3 0 0 0 20480 3837 4124 4034 0 0 0 0 0 0 + 2143 3 0 0 0 20482 3837 3900 4124 0 0 0 0 0 0 + 2144 3 0 0 0 20521 3843 4042 4216 0 0 0 0 0 0 + 2145 3 0 0 0 20038 3854 4053 4227 0 0 0 0 0 0 + 2146 3 0 0 0 20590 3859 4332 4036 0 0 0 0 0 0 + 2147 3 0 0 0 20949 3859 4036 3900 0 0 0 0 0 0 + 2148 3 0 0 0 20989 3871 4170 4079 0 0 0 0 0 0 + 2149 3 0 0 0 20990 3871 3986 4170 0 0 0 0 0 0 + 2150 3 0 0 0 20726 3880 3998 4093 0 0 0 0 0 0 + 2151 3 0 0 0 21036 3880 4093 3999 0 0 0 0 0 0 + 2152 3 0 0 0 21037 3882 4256 3998 0 0 0 0 0 0 + 2153 3 0 0 0 21039 3882 4090 4256 0 0 0 0 0 0 + 2154 3 0 0 0 19779 3887 4196 4110 0 0 0 0 0 0 + 2155 3 0 0 0 21109 3900 4036 4124 0 0 0 0 0 0 + 2156 3 0 0 0 21119 3904 4213 4004 0 0 0 0 0 0 + 2157 3 0 0 0 21129 3907 4043 4131 0 0 0 0 0 0 + 2158 3 0 0 0 21130 3907 4131 3943 0 0 0 0 0 0 + 2159 3 0 0 0 19425 3924 4067 3974 0 0 0 0 0 0 + 2160 3 0 0 0 20674 3927 3984 4073 0 0 0 0 0 0 + 2161 3 0 0 0 21003 3927 4074 4164 0 0 0 0 0 0 + 2162 3 0 0 0 21207 3927 4164 3984 0 0 0 0 0 0 + 2163 3 0 0 0 21272 3943 4131 4194 0 0 0 0 0 0 + 2164 3 0 0 0 21389 3973 4353 4240 0 0 0 0 0 0 + 2165 3 0 0 0 21390 3973 4158 4353 0 0 0 0 0 0 + 2166 3 0 0 0 21391 3974 4455 4159 0 0 0 0 0 0 + 2167 3 0 0 0 21392 3974 4067 4457 0 0 0 0 0 0 + 2168 3 0 0 0 21396 3974 4457 4354 0 0 0 0 0 0 + 2169 3 0 0 0 21401 3974 4354 4630 0 0 0 0 0 0 + 2170 3 0 0 0 21403 3974 4630 4455 0 0 0 0 0 0 + 2171 3 0 0 0 21405 3975 4357 4069 0 0 0 0 0 0 + 2172 3 0 0 0 21409 3975 4356 4548 0 0 0 0 0 0 + 2173 3 0 0 0 21410 3975 4548 4357 0 0 0 0 0 0 + 2174 3 0 0 0 21412 3975 4159 4356 0 0 0 0 0 0 + 2175 3 0 0 0 20241 3979 4163 4074 0 0 0 0 0 0 + 2176 3 0 0 0 20243 3979 4069 4163 0 0 0 0 0 0 + 2177 3 0 0 0 20134 3983 4076 4235 0 0 0 0 0 0 + 2178 3 0 0 0 20135 3983 4235 4077 0 0 0 0 0 0 + 2179 3 0 0 0 21459 3984 4361 4073 0 0 0 0 0 0 + 2180 3 0 0 0 21460 3984 4164 4363 0 0 0 0 0 0 + 2181 3 0 0 0 21462 3984 4465 4361 0 0 0 0 0 0 + 2182 3 0 0 0 21464 3984 4363 4465 0 0 0 0 0 0 + 2183 3 0 0 0 21477 3986 4154 4170 0 0 0 0 0 0 + 2184 3 0 0 0 21478 3986 4368 4154 0 0 0 0 0 0 + 2185 3 0 0 0 21479 3986 4080 4368 0 0 0 0 0 0 + 2186 3 0 0 0 21488 3988 4173 4369 0 0 0 0 0 0 + 2187 3 0 0 0 21489 3988 4369 4171 0 0 0 0 0 0 + 2188 3 0 0 0 20703 3992 4250 4085 0 0 0 0 0 0 + 2189 3 0 0 0 20706 3992 4176 4250 0 0 0 0 0 0 + 2190 3 0 0 0 21592 3998 4256 4565 0 0 0 0 0 0 + 2191 3 0 0 0 21593 3998 4565 4093 0 0 0 0 0 0 + 2192 3 0 0 0 21594 3999 4093 4384 0 0 0 0 0 0 + 2193 3 0 0 0 21596 3999 4384 4141 0 0 0 0 0 0 + 2194 3 0 0 0 21635 4004 4393 4100 0 0 0 0 0 0 + 2195 3 0 0 0 21636 4004 4213 4393 0 0 0 0 0 0 + 2196 3 0 0 0 20391 4019 4112 4196 0 0 0 0 0 0 + 2197 3 0 0 0 21778 4019 4499 4112 0 0 0 0 0 0 + 2198 3 0 0 0 21779 4019 4581 4499 0 0 0 0 0 0 + 2199 3 0 0 0 21780 4019 4262 4581 0 0 0 0 0 0 + 2200 3 0 0 0 21782 4020 4263 4404 0 0 0 0 0 0 + 2201 3 0 0 0 21783 4020 4404 4262 0 0 0 0 0 0 + 2202 3 0 0 0 21905 4034 4424 4126 0 0 0 0 0 0 + 2203 3 0 0 0 21906 4034 4124 4424 0 0 0 0 0 0 + 2204 3 0 0 0 20589 4036 4332 4234 0 0 0 0 0 0 + 2205 3 0 0 0 21310 4036 4234 4296 0 0 0 0 0 0 + 2206 3 0 0 0 21313 4036 4296 4124 0 0 0 0 0 0 + 2207 3 0 0 0 20857 4038 4213 4126 0 0 0 0 0 0 + 2208 3 0 0 0 21929 4038 4393 4213 0 0 0 0 0 0 + 2209 3 0 0 0 21930 4038 4515 4393 0 0 0 0 0 0 + 2210 3 0 0 0 21931 4038 4598 4426 0 0 0 0 0 0 + 2211 3 0 0 0 21932 4038 4126 4598 0 0 0 0 0 0 + 2212 3 0 0 0 21934 4038 4426 4515 0 0 0 0 0 0 + 2213 3 0 0 0 21991 4042 4287 4216 0 0 0 0 0 0 + 2214 3 0 0 0 21281 4043 4282 4135 0 0 0 0 0 0 + 2215 3 0 0 0 21992 4043 4135 4520 0 0 0 0 0 0 + 2216 3 0 0 0 21993 4043 4520 4131 0 0 0 0 0 0 + 2217 3 0 0 0 22104 4051 4292 4440 0 0 0 0 0 0 + 2218 3 0 0 0 22105 4051 4440 4231 0 0 0 0 0 0 + 2219 3 0 0 0 21292 4052 4326 4140 0 0 0 0 0 0 + 2220 3 0 0 0 22106 4052 4141 4441 0 0 0 0 0 0 + 2221 3 0 0 0 22107 4052 4441 4326 0 0 0 0 0 0 + 2222 3 0 0 0 20930 4053 4140 4228 0 0 0 0 0 0 + 2223 3 0 0 0 21172 4053 4149 4227 0 0 0 0 0 0 + 2224 3 0 0 0 22108 4053 4228 4149 0 0 0 0 0 0 + 2225 3 0 0 0 22152 4056 4231 4440 0 0 0 0 0 0 + 2226 3 0 0 0 22154 4056 4447 4293 0 0 0 0 0 0 + 2227 3 0 0 0 22154 4056 4536 4447 0 0 0 0 0 0 + 2228 3 0 0 0 22155 4056 4440 4536 0 0 0 0 0 0 + 2229 3 0 0 0 21392 4067 4240 4457 0 0 0 0 0 0 + 2230 3 0 0 0 22296 4069 4357 4163 0 0 0 0 0 0 + 2231 3 0 0 0 21443 4073 4361 4166 0 0 0 0 0 0 + 2232 3 0 0 0 21446 4074 4362 4164 0 0 0 0 0 0 + 2233 3 0 0 0 21447 4074 4163 4362 0 0 0 0 0 0 + 2234 3 0 0 0 22330 4076 4166 4365 0 0 0 0 0 0 + 2235 3 0 0 0 22331 4076 4365 4235 0 0 0 0 0 0 + 2236 3 0 0 0 22332 4077 4366 4332 0 0 0 0 0 0 + 2237 3 0 0 0 22333 4077 4235 4366 0 0 0 0 0 0 + 2238 3 0 0 0 20204 4079 4170 4340 0 0 0 0 0 0 + 2239 3 0 0 0 21415 4079 4340 4242 0 0 0 0 0 0 + 2240 3 0 0 0 21486 4080 4171 4467 0 0 0 0 0 0 + 2241 3 0 0 0 22337 4080 4467 4368 0 0 0 0 0 0 + 2242 3 0 0 0 19565 4085 4249 4173 0 0 0 0 0 0 + 2243 3 0 0 0 22345 4085 4372 4249 0 0 0 0 0 0 + 2244 3 0 0 0 22346 4085 4250 4372 0 0 0 0 0 0 + 2245 3 0 0 0 21562 4090 4475 4256 0 0 0 0 0 0 + 2246 3 0 0 0 22373 4090 4183 4378 0 0 0 0 0 0 + 2247 3 0 0 0 22374 4090 4378 4475 0 0 0 0 0 0 + 2248 3 0 0 0 22391 4093 4480 4384 0 0 0 0 0 0 + 2249 3 0 0 0 22393 4093 4565 4480 0 0 0 0 0 0 + 2250 3 0 0 0 21597 4094 4184 4481 0 0 0 0 0 0 + 2251 3 0 0 0 21600 4094 4481 4183 0 0 0 0 0 0 + 2252 3 0 0 0 21643 4100 4393 4487 0 0 0 0 0 0 + 2253 3 0 0 0 21644 4100 4487 4312 0 0 0 0 0 0 + 2254 3 0 0 0 21671 4110 4196 4398 0 0 0 0 0 0 + 2255 3 0 0 0 21672 4110 4398 4195 0 0 0 0 0 0 + 2256 3 0 0 0 21772 4111 4307 4498 0 0 0 0 0 0 + 2257 3 0 0 0 22474 4111 4375 4176 0 0 0 0 0 0 + 2258 3 0 0 0 22475 4111 4498 4375 0 0 0 0 0 0 + 2259 3 0 0 0 22476 4112 4398 4196 0 0 0 0 0 0 + 2260 3 0 0 0 22478 4112 4499 4410 0 0 0 0 0 0 + 2261 3 0 0 0 22483 4112 4657 4398 0 0 0 0 0 0 + 2262 3 0 0 0 22484 4112 4410 4657 0 0 0 0 0 0 + 2263 3 0 0 0 21908 4124 4296 4424 0 0 0 0 0 0 + 2264 3 0 0 0 22578 4126 4424 4598 0 0 0 0 0 0 + 2265 3 0 0 0 21742 4131 4405 4194 0 0 0 0 0 0 + 2266 3 0 0 0 22610 4131 4520 4405 0 0 0 0 0 0 + 2267 3 0 0 0 22635 4135 4282 4519 0 0 0 0 0 0 + 2268 3 0 0 0 22638 4135 4604 4520 0 0 0 0 0 0 + 2269 3 0 0 0 22639 4135 4716 4604 0 0 0 0 0 0 + 2270 3 0 0 0 22640 4135 4519 4716 0 0 0 0 0 0 + 2271 3 0 0 0 22054 4137 4613 4222 0 0 0 0 0 0 + 2272 3 0 0 0 22649 4137 4293 4613 0 0 0 0 0 0 + 2273 3 0 0 0 22112 4140 4326 4228 0 0 0 0 0 0 + 2274 3 0 0 0 22673 4141 4531 4441 0 0 0 0 0 0 + 2275 3 0 0 0 22674 4141 4384 4531 0 0 0 0 0 0 + 2276 3 0 0 0 22230 4149 4412 4227 0 0 0 0 0 0 + 2277 3 0 0 0 22241 4149 4625 4412 0 0 0 0 0 0 + 2278 3 0 0 0 22719 4149 4228 4442 0 0 0 0 0 0 + 2279 3 0 0 0 22721 4149 4442 4625 0 0 0 0 0 0 + 2280 3 0 0 0 20215 4154 4351 4170 0 0 0 0 0 0 + 2281 3 0 0 0 22274 4154 4697 4351 0 0 0 0 0 0 + 2282 3 0 0 0 22277 4154 4628 4697 0 0 0 0 0 0 + 2283 3 0 0 0 22752 4154 4368 4628 0 0 0 0 0 0 + 2284 3 0 0 0 20211 4155 4340 4351 0 0 0 0 0 0 + 2285 3 0 0 0 21424 4155 4458 4340 0 0 0 0 0 0 + 2286 3 0 0 0 22753 4155 4351 4454 0 0 0 0 0 0 + 2287 3 0 0 0 22754 4155 4631 4458 0 0 0 0 0 0 + 2288 3 0 0 0 22755 4155 4454 4730 0 0 0 0 0 0 + 2289 3 0 0 0 22757 4155 4730 4631 0 0 0 0 0 0 + 2290 3 0 0 0 22290 4158 4458 4353 0 0 0 0 0 0 + 2291 3 0 0 0 22291 4158 4242 4458 0 0 0 0 0 0 + 2292 3 0 0 0 22774 4159 4455 4356 0 0 0 0 0 0 + 2293 3 0 0 0 22793 4163 4357 4462 0 0 0 0 0 0 + 2294 3 0 0 0 22794 4163 4462 4362 0 0 0 0 0 0 + 2295 3 0 0 0 21450 4164 4362 4463 0 0 0 0 0 0 + 2296 3 0 0 0 22323 4164 4463 4363 0 0 0 0 0 0 + 2297 3 0 0 0 22795 4166 4464 4365 0 0 0 0 0 0 + 2298 3 0 0 0 22796 4166 4361 4464 0 0 0 0 0 0 + 2299 3 0 0 0 20214 4170 4351 4340 0 0 0 0 0 0 + 2300 3 0 0 0 21485 4171 4369 4467 0 0 0 0 0 0 + 2301 3 0 0 0 21505 4173 4249 4369 0 0 0 0 0 0 + 2302 3 0 0 0 22347 4176 4375 4250 0 0 0 0 0 0 + 2303 3 0 0 0 22829 4183 4481 4378 0 0 0 0 0 0 + 2304 3 0 0 0 22831 4184 4312 4385 0 0 0 0 0 0 + 2305 3 0 0 0 22832 4184 4385 4481 0 0 0 0 0 0 + 2306 3 0 0 0 21743 4194 4405 4496 0 0 0 0 0 0 + 2307 3 0 0 0 22873 4194 4496 4263 0 0 0 0 0 0 + 2308 3 0 0 0 22874 4195 4398 4583 0 0 0 0 0 0 + 2309 3 0 0 0 22875 4195 4583 4307 0 0 0 0 0 0 + 2310 3 0 0 0 22605 4216 4287 4428 0 0 0 0 0 0 + 2311 3 0 0 0 22606 4216 4428 4282 0 0 0 0 0 0 + 2312 3 0 0 0 22030 4222 4434 4524 0 0 0 0 0 0 + 2313 3 0 0 0 22050 4222 4613 4434 0 0 0 0 0 0 + 2314 3 0 0 0 22982 4222 4524 4287 0 0 0 0 0 0 + 2315 3 0 0 0 22487 4227 4412 4292 0 0 0 0 0 0 + 2316 3 0 0 0 22117 4228 4532 4442 0 0 0 0 0 0 + 2317 3 0 0 0 22118 4228 4326 4532 0 0 0 0 0 0 + 2318 3 0 0 0 23011 4234 4332 4366 0 0 0 0 0 0 + 2319 3 0 0 0 23013 4234 4449 4296 0 0 0 0 0 0 + 2320 3 0 0 0 23014 4234 4621 4449 0 0 0 0 0 0 + 2321 3 0 0 0 23015 4234 4366 4621 0 0 0 0 0 0 + 2322 3 0 0 0 22174 4235 4539 4366 0 0 0 0 0 0 + 2323 3 0 0 0 23016 4235 4365 4539 0 0 0 0 0 0 + 2324 3 0 0 0 21398 4240 4547 4457 0 0 0 0 0 0 + 2325 3 0 0 0 22772 4240 4353 4547 0 0 0 0 0 0 + 2326 3 0 0 0 21422 4242 4340 4458 0 0 0 0 0 0 + 2327 3 0 0 0 23070 4249 4560 4369 0 0 0 0 0 0 + 2328 3 0 0 0 23071 4249 4641 4560 0 0 0 0 0 0 + 2329 3 0 0 0 23073 4249 4372 4641 0 0 0 0 0 0 + 2330 3 0 0 0 22351 4250 4375 4561 0 0 0 0 0 0 + 2331 3 0 0 0 23074 4250 4561 4372 0 0 0 0 0 0 + 2332 3 0 0 0 23089 4256 4475 4649 0 0 0 0 0 0 + 2333 3 0 0 0 23090 4256 4649 4565 0 0 0 0 0 0 + 2334 3 0 0 0 22465 4262 4404 4581 0 0 0 0 0 0 + 2335 3 0 0 0 23103 4263 4496 4659 0 0 0 0 0 0 + 2336 3 0 0 0 23105 4263 4659 4404 0 0 0 0 0 0 + 2337 3 0 0 0 22608 4282 4428 4519 0 0 0 0 0 0 + 2338 3 0 0 0 22982 4287 4524 4428 0 0 0 0 0 0 + 2339 3 0 0 0 23199 4292 4618 4440 0 0 0 0 0 0 + 2340 3 0 0 0 23200 4292 4412 4618 0 0 0 0 0 0 + 2341 3 0 0 0 22147 4293 4447 4688 0 0 0 0 0 0 + 2342 3 0 0 0 23201 4293 4688 4613 0 0 0 0 0 0 + 2343 3 0 0 0 23206 4296 4449 4722 0 0 0 0 0 0 + 2344 3 0 0 0 23207 4296 4722 4424 0 0 0 0 0 0 + 2345 3 0 0 0 21774 4307 4409 4498 0 0 0 0 0 0 + 2346 3 0 0 0 23101 4307 4583 4409 0 0 0 0 0 0 + 2347 3 0 0 0 21647 4312 4487 4572 0 0 0 0 0 0 + 2348 3 0 0 0 23151 4312 4572 4385 0 0 0 0 0 0 + 2349 3 0 0 0 23332 4326 4685 4532 0 0 0 0 0 0 + 2350 3 0 0 0 23334 4326 4441 4685 0 0 0 0 0 0 + 2351 3 0 0 0 23426 4351 4697 4454 0 0 0 0 0 0 + 2352 3 0 0 0 22294 4353 4458 4631 0 0 0 0 0 0 + 2353 3 0 0 0 23429 4353 4631 4547 0 0 0 0 0 0 + 2354 3 0 0 0 21396 4354 4457 4547 0 0 0 0 0 0 + 2355 3 0 0 0 23431 4354 4547 4746 0 0 0 0 0 0 + 2356 3 0 0 0 23432 4354 4746 4852 0 0 0 0 0 0 + 2357 3 0 0 0 23432 4354 4852 4630 0 0 0 0 0 0 + 2358 3 0 0 0 23436 4356 4455 4851 0 0 0 0 0 0 + 2359 3 0 0 0 23437 4356 4851 4748 0 0 0 0 0 0 + 2360 3 0 0 0 23439 4356 4748 4548 0 0 0 0 0 0 + 2361 3 0 0 0 23443 4357 4548 4749 0 0 0 0 0 0 + 2362 3 0 0 0 23444 4357 4749 4462 0 0 0 0 0 0 + 2363 3 0 0 0 23471 4361 4751 4464 0 0 0 0 0 0 + 2364 3 0 0 0 23473 4361 4465 4751 0 0 0 0 0 0 + 2365 3 0 0 0 23474 4362 4462 4752 0 0 0 0 0 0 + 2366 3 0 0 0 23475 4362 4752 4463 0 0 0 0 0 0 + 2367 3 0 0 0 23476 4363 4463 4753 0 0 0 0 0 0 + 2368 3 0 0 0 23477 4363 4856 4465 0 0 0 0 0 0 + 2369 3 0 0 0 23478 4363 4753 4856 0 0 0 0 0 0 + 2370 3 0 0 0 23211 4365 4691 4539 0 0 0 0 0 0 + 2371 3 0 0 0 23212 4365 4464 4691 0 0 0 0 0 0 + 2372 3 0 0 0 23490 4366 4539 4621 0 0 0 0 0 0 + 2373 3 0 0 0 23500 4368 4467 4757 0 0 0 0 0 0 + 2374 3 0 0 0 23502 4368 4757 4628 0 0 0 0 0 0 + 2375 3 0 0 0 23503 4369 4858 4467 0 0 0 0 0 0 + 2376 3 0 0 0 23504 4369 4560 4858 0 0 0 0 0 0 + 2377 3 0 0 0 23534 4372 4761 4641 0 0 0 0 0 0 + 2378 3 0 0 0 23535 4372 4561 4761 0 0 0 0 0 0 + 2379 3 0 0 0 23557 4375 4709 4561 0 0 0 0 0 0 + 2380 3 0 0 0 23558 4375 4498 4709 0 0 0 0 0 0 + 2381 3 0 0 0 22837 4378 4481 4646 0 0 0 0 0 0 + 2382 3 0 0 0 23572 4378 4646 4866 0 0 0 0 0 0 + 2383 3 0 0 0 23573 4378 4866 4475 0 0 0 0 0 0 + 2384 3 0 0 0 23618 4384 4774 4531 0 0 0 0 0 0 + 2385 3 0 0 0 23619 4384 4480 4774 0 0 0 0 0 0 + 2386 3 0 0 0 23273 4385 4646 4481 0 0 0 0 0 0 + 2387 3 0 0 0 23620 4385 4775 4646 0 0 0 0 0 0 + 2388 3 0 0 0 23621 4385 4572 4775 0 0 0 0 0 0 + 2389 3 0 0 0 23652 4393 4781 4487 0 0 0 0 0 0 + 2390 3 0 0 0 23653 4393 4515 4781 0 0 0 0 0 0 + 2391 3 0 0 0 23687 4398 4657 4583 0 0 0 0 0 0 + 2392 3 0 0 0 23747 4404 4659 4790 0 0 0 0 0 0 + 2393 3 0 0 0 23748 4404 4790 4581 0 0 0 0 0 0 + 2394 3 0 0 0 22950 4405 4520 4675 0 0 0 0 0 0 + 2395 3 0 0 0 23750 4405 4675 4793 0 0 0 0 0 0 + 2396 3 0 0 0 23751 4405 4793 4496 0 0 0 0 0 0 + 2397 3 0 0 0 22940 4409 4583 4734 0 0 0 0 0 0 + 2398 3 0 0 0 23164 4409 4673 4498 0 0 0 0 0 0 + 2399 3 0 0 0 23786 4409 4734 4796 0 0 0 0 0 0 + 2400 3 0 0 0 23787 4409 4796 4673 0 0 0 0 0 0 + 2401 3 0 0 0 23788 4410 4499 4795 0 0 0 0 0 0 + 2402 3 0 0 0 23789 4410 4797 4657 0 0 0 0 0 0 + 2403 3 0 0 0 23793 4410 4795 4976 0 0 0 0 0 0 + 2404 3 0 0 0 23794 4410 4976 4797 0 0 0 0 0 0 + 2405 3 0 0 0 23801 4412 4625 4800 0 0 0 0 0 0 + 2406 3 0 0 0 23802 4412 4800 4618 0 0 0 0 0 0 + 2407 3 0 0 0 23923 4424 4722 4598 0 0 0 0 0 0 + 2408 3 0 0 0 23937 4426 4598 4813 0 0 0 0 0 0 + 2409 3 0 0 0 23940 4426 4813 4991 0 0 0 0 0 0 + 2410 3 0 0 0 23942 4426 5111 4515 0 0 0 0 0 0 + 2411 3 0 0 0 23943 4426 4991 5111 0 0 0 0 0 0 + 2412 3 0 0 0 22033 4428 4524 4609 0 0 0 0 0 0 + 2413 3 0 0 0 22034 4428 4609 4519 0 0 0 0 0 0 + 2414 3 0 0 0 22055 4434 4613 4527 0 0 0 0 0 0 + 2415 3 0 0 0 24036 4434 4527 4827 0 0 0 0 0 0 + 2416 3 0 0 0 24037 4434 4827 4920 0 0 0 0 0 0 + 2417 3 0 0 0 24038 4434 4920 4524 0 0 0 0 0 0 + 2418 3 0 0 0 23404 4440 4618 4536 0 0 0 0 0 0 + 2419 3 0 0 0 24112 4441 4531 4801 0 0 0 0 0 0 + 2420 3 0 0 0 24113 4441 4801 4685 0 0 0 0 0 0 + 2421 3 0 0 0 24114 4442 4836 4625 0 0 0 0 0 0 + 2422 3 0 0 0 24116 4442 4532 4931 0 0 0 0 0 0 + 2423 3 0 0 0 24117 4442 4931 4836 0 0 0 0 0 0 + 2424 3 0 0 0 22143 4446 4620 4687 0 0 0 0 0 0 + 2425 3 0 0 0 24159 4446 4935 4620 0 0 0 0 0 0 + 2426 3 0 0 0 24161 4446 5022 4935 0 0 0 0 0 0 + 2427 3 0 0 0 24162 4446 4934 5022 0 0 0 0 0 0 + 2428 3 0 0 0 24163 4446 4687 5088 0 0 0 0 0 0 + 2429 3 0 0 0 24164 4446 5088 4934 0 0 0 0 0 0 + 2430 3 0 0 0 22140 4447 4536 4620 0 0 0 0 0 0 + 2431 3 0 0 0 24165 4447 4620 4840 0 0 0 0 0 0 + 2432 3 0 0 0 24165 4447 4840 4688 0 0 0 0 0 0 + 2433 3 0 0 0 24185 4449 4621 4909 0 0 0 0 0 0 + 2434 3 0 0 0 24187 4449 4990 4722 0 0 0 0 0 0 + 2435 3 0 0 0 24188 4449 4909 4990 0 0 0 0 0 0 + 2436 3 0 0 0 24254 4454 4850 4730 0 0 0 0 0 0 + 2437 3 0 0 0 24255 4454 4697 4942 0 0 0 0 0 0 + 2438 3 0 0 0 24256 4454 4942 4850 0 0 0 0 0 0 + 2439 3 0 0 0 24260 4455 4630 4851 0 0 0 0 0 0 + 2440 3 0 0 0 24281 4462 4854 4752 0 0 0 0 0 0 + 2441 3 0 0 0 24282 4462 4749 4854 0 0 0 0 0 0 + 2442 3 0 0 0 24283 4463 4855 4753 0 0 0 0 0 0 + 2443 3 0 0 0 24284 4463 4752 4855 0 0 0 0 0 0 + 2444 3 0 0 0 23471 4464 4751 4691 0 0 0 0 0 0 + 2445 3 0 0 0 24293 4465 4856 5036 0 0 0 0 0 0 + 2446 3 0 0 0 24294 4465 5036 4751 0 0 0 0 0 0 + 2447 3 0 0 0 24304 4467 4858 4757 0 0 0 0 0 0 + 2448 3 0 0 0 24337 4475 4765 4649 0 0 0 0 0 0 + 2449 3 0 0 0 24338 4475 4866 4765 0 0 0 0 0 0 + 2450 3 0 0 0 23578 4480 4565 4867 0 0 0 0 0 0 + 2451 3 0 0 0 24361 4480 4961 4774 0 0 0 0 0 0 + 2452 3 0 0 0 24362 4480 4867 4961 0 0 0 0 0 0 + 2453 3 0 0 0 23657 4487 4880 4572 0 0 0 0 0 0 + 2454 3 0 0 0 23658 4487 4781 4880 0 0 0 0 0 0 + 2455 3 0 0 0 23758 4496 4890 4659 0 0 0 0 0 0 + 2456 3 0 0 0 24439 4496 4793 4890 0 0 0 0 0 0 + 2457 3 0 0 0 23166 4498 4673 4709 0 0 0 0 0 0 + 2458 3 0 0 0 23766 4499 4581 4888 0 0 0 0 0 0 + 2459 3 0 0 0 23767 4499 4888 4795 0 0 0 0 0 0 + 2460 3 0 0 0 24543 4515 5111 4781 0 0 0 0 0 0 + 2461 3 0 0 0 24576 4519 4818 4716 0 0 0 0 0 0 + 2462 3 0 0 0 24577 4519 4609 4818 0 0 0 0 0 0 + 2463 3 0 0 0 22948 4520 4604 4675 0 0 0 0 0 0 + 2464 3 0 0 0 24609 4524 4920 4609 0 0 0 0 0 0 + 2465 3 0 0 0 24076 4527 4613 4688 0 0 0 0 0 0 + 2466 3 0 0 0 24080 4527 4688 4925 0 0 0 0 0 0 + 2467 3 0 0 0 24086 4527 4925 5013 0 0 0 0 0 0 + 2468 3 0 0 0 24628 4527 5013 4827 0 0 0 0 0 0 + 2469 3 0 0 0 24677 4531 5018 4801 0 0 0 0 0 0 + 2470 3 0 0 0 24679 4531 4774 5018 0 0 0 0 0 0 + 2471 3 0 0 0 24126 4532 4685 4837 0 0 0 0 0 0 + 2472 3 0 0 0 24681 4532 4837 4931 0 0 0 0 0 0 + 2473 3 0 0 0 22144 4536 4687 4620 0 0 0 0 0 0 + 2474 3 0 0 0 23406 4536 4618 4687 0 0 0 0 0 0 + 2475 3 0 0 0 24720 4539 4755 4621 0 0 0 0 0 0 + 2476 3 0 0 0 24721 4539 4691 4755 0 0 0 0 0 0 + 2477 3 0 0 0 24263 4547 4631 4746 0 0 0 0 0 0 + 2478 3 0 0 0 24781 4548 4947 4749 0 0 0 0 0 0 + 2479 3 0 0 0 24782 4548 4748 4947 0 0 0 0 0 0 + 2480 3 0 0 0 23510 4560 4760 4953 0 0 0 0 0 0 + 2481 3 0 0 0 24318 4560 4641 4760 0 0 0 0 0 0 + 2482 3 0 0 0 24802 4560 4953 4858 0 0 0 0 0 0 + 2483 3 0 0 0 24804 4561 4709 4864 0 0 0 0 0 0 + 2484 3 0 0 0 24806 4561 4864 4761 0 0 0 0 0 0 + 2485 3 0 0 0 24344 4565 4649 4867 0 0 0 0 0 0 + 2486 3 0 0 0 24835 4572 5047 4775 0 0 0 0 0 0 + 2487 3 0 0 0 24836 4572 4880 5047 0 0 0 0 0 0 + 2488 3 0 0 0 24434 4581 4790 4888 0 0 0 0 0 0 + 2489 3 0 0 0 24873 4583 4657 4734 0 0 0 0 0 0 + 2490 3 0 0 0 23930 4598 4722 4813 0 0 0 0 0 0 + 2491 3 0 0 0 23963 4604 4716 4819 0 0 0 0 0 0 + 2492 3 0 0 0 24580 4604 4999 4675 0 0 0 0 0 0 + 2493 3 0 0 0 24583 4604 4819 4999 0 0 0 0 0 0 + 2494 3 0 0 0 24989 4609 5010 4818 0 0 0 0 0 0 + 2495 3 0 0 0 24990 4609 4920 5010 0 0 0 0 0 0 + 2496 3 0 0 0 24469 4618 4800 4687 0 0 0 0 0 0 + 2497 3 0 0 0 25020 4620 4935 4840 0 0 0 0 0 0 + 2498 3 0 0 0 25022 4621 4755 4909 0 0 0 0 0 0 + 2499 3 0 0 0 25049 4625 4933 4800 0 0 0 0 0 0 + 2500 3 0 0 0 25050 4625 4836 4933 0 0 0 0 0 0 + 2501 3 0 0 0 25076 4628 4849 4697 0 0 0 0 0 0 + 2502 3 0 0 0 25077 4628 4757 5099 0 0 0 0 0 0 + 2503 3 0 0 0 25078 4628 5099 4849 0 0 0 0 0 0 + 2504 3 0 0 0 25095 4630 4747 4851 0 0 0 0 0 0 + 2505 3 0 0 0 25096 4630 4852 5032 0 0 0 0 0 0 + 2506 3 0 0 0 25097 4630 5032 4747 0 0 0 0 0 0 + 2507 3 0 0 0 24264 4631 4730 4746 0 0 0 0 0 0 + 2508 3 0 0 0 24319 4641 4863 4760 0 0 0 0 0 0 + 2509 3 0 0 0 25114 4641 4761 4863 0 0 0 0 0 0 + 2510 3 0 0 0 24375 4646 4775 5045 0 0 0 0 0 0 + 2511 3 0 0 0 24828 4646 5045 4866 0 0 0 0 0 0 + 2512 3 0 0 0 25135 4649 4966 4867 0 0 0 0 0 0 + 2513 3 0 0 0 25136 4649 4765 4966 0 0 0 0 0 0 + 2514 3 0 0 0 25159 4657 4797 4734 0 0 0 0 0 0 + 2515 3 0 0 0 23761 4659 4890 4975 0 0 0 0 0 0 + 2516 3 0 0 0 24861 4659 4975 4790 0 0 0 0 0 0 + 2517 3 0 0 0 24546 4673 4796 4992 0 0 0 0 0 0 + 2518 3 0 0 0 24929 4673 4992 4814 0 0 0 0 0 0 + 2519 3 0 0 0 25233 4673 4814 4709 0 0 0 0 0 0 + 2520 3 0 0 0 23976 4675 4914 4793 0 0 0 0 0 0 + 2521 3 0 0 0 25244 4675 4999 4914 0 0 0 0 0 0 + 2522 3 0 0 0 25307 4685 5086 4837 0 0 0 0 0 0 + 2523 3 0 0 0 25308 4685 4801 5086 0 0 0 0 0 0 + 2524 3 0 0 0 24698 4687 4800 5088 0 0 0 0 0 0 + 2525 3 0 0 0 25315 4688 4840 4925 0 0 0 0 0 0 + 2526 3 0 0 0 24794 4691 4751 4857 0 0 0 0 0 0 + 2527 3 0 0 0 24795 4691 4857 4755 0 0 0 0 0 0 + 2528 3 0 0 0 25343 4697 4849 4942 0 0 0 0 0 0 + 2529 3 0 0 0 25392 4709 4814 4864 0 0 0 0 0 0 + 2530 3 0 0 0 25288 4716 5076 4819 0 0 0 0 0 0 + 2531 3 0 0 0 25291 4716 4818 5076 0 0 0 0 0 0 + 2532 3 0 0 0 25425 4722 4990 4813 0 0 0 0 0 0 + 2533 3 0 0 0 25445 4730 4850 5135 0 0 0 0 0 0 + 2534 3 0 0 0 25446 4730 5135 4746 0 0 0 0 0 0 + 2535 3 0 0 0 25226 4734 4993 4796 0 0 0 0 0 0 + 2536 3 0 0 0 25227 4734 4797 4993 0 0 0 0 0 0 + 2537 3 0 0 0 25510 4746 5135 4852 0 0 0 0 0 0 + 2538 3 0 0 0 25517 4747 5149 4851 0 0 0 0 0 0 + 2539 3 0 0 0 25518 4747 5032 5150 0 0 0 0 0 0 + 2540 3 0 0 0 25520 4747 5250 5149 0 0 0 0 0 0 + 2541 3 0 0 0 25521 4747 5348 5250 0 0 0 0 0 0 + 2542 3 0 0 0 25522 4747 5150 5348 0 0 0 0 0 0 + 2543 3 0 0 0 25528 4748 4851 5149 0 0 0 0 0 0 + 2544 3 0 0 0 25531 4748 5149 5349 0 0 0 0 0 0 + 2545 3 0 0 0 25532 4748 5349 4947 0 0 0 0 0 0 + 2546 3 0 0 0 25536 4749 5251 4854 0 0 0 0 0 0 + 2547 3 0 0 0 25537 4749 4947 5251 0 0 0 0 0 0 + 2548 3 0 0 0 24294 4751 5036 4857 0 0 0 0 0 0 + 2549 3 0 0 0 25542 4752 4854 5152 0 0 0 0 0 0 + 2550 3 0 0 0 25545 4752 5152 4855 0 0 0 0 0 0 + 2551 3 0 0 0 25549 4753 4855 5153 0 0 0 0 0 0 + 2552 3 0 0 0 25550 4753 5153 4856 0 0 0 0 0 0 + 2553 3 0 0 0 24202 4755 5093 4909 0 0 0 0 0 0 + 2554 3 0 0 0 25555 4755 4857 5093 0 0 0 0 0 0 + 2555 3 0 0 0 24799 4757 4858 4953 0 0 0 0 0 0 + 2556 3 0 0 0 25111 4757 4953 5099 0 0 0 0 0 0 + 2557 3 0 0 0 23513 4760 4860 4953 0 0 0 0 0 0 + 2558 3 0 0 0 25593 4760 4863 5356 0 0 0 0 0 0 + 2559 3 0 0 0 25594 4760 5356 4860 0 0 0 0 0 0 + 2560 3 0 0 0 25595 4761 5162 4863 0 0 0 0 0 0 + 2561 3 0 0 0 25597 4761 4864 5162 0 0 0 0 0 0 + 2562 3 0 0 0 25235 4765 4866 4997 0 0 0 0 0 0 + 2563 3 0 0 0 25242 4765 4997 5070 0 0 0 0 0 0 + 2564 3 0 0 0 25463 4765 5070 4966 0 0 0 0 0 0 + 2565 3 0 0 0 25669 4774 5173 5018 0 0 0 0 0 0 + 2566 3 0 0 0 25671 4774 4961 5173 0 0 0 0 0 0 + 2567 3 0 0 0 25672 4775 5047 5175 0 0 0 0 0 0 + 2568 3 0 0 0 25673 4775 5175 5045 0 0 0 0 0 0 + 2569 3 0 0 0 25719 4781 5111 5279 0 0 0 0 0 0 + 2570 3 0 0 0 25720 4781 5279 4880 0 0 0 0 0 0 + 2571 3 0 0 0 25791 4790 5188 4888 0 0 0 0 0 0 + 2572 3 0 0 0 25792 4790 4975 5188 0 0 0 0 0 0 + 2573 3 0 0 0 25248 4793 4914 5006 0 0 0 0 0 0 + 2574 3 0 0 0 25249 4793 5006 4890 0 0 0 0 0 0 + 2575 3 0 0 0 25833 4795 5193 4976 0 0 0 0 0 0 + 2576 3 0 0 0 25834 4795 5282 5193 0 0 0 0 0 0 + 2577 3 0 0 0 25836 4795 4888 5282 0 0 0 0 0 0 + 2578 3 0 0 0 25837 4796 5194 4992 0 0 0 0 0 0 + 2579 3 0 0 0 25838 4796 4993 5194 0 0 0 0 0 0 + 2580 3 0 0 0 25839 4797 5195 4993 0 0 0 0 0 0 + 2581 3 0 0 0 25840 4797 4976 5195 0 0 0 0 0 0 + 2582 3 0 0 0 24696 4800 4933 5088 0 0 0 0 0 0 + 2583 3 0 0 0 25860 4801 5198 5086 0 0 0 0 0 0 + 2584 3 0 0 0 25861 4801 5018 5198 0 0 0 0 0 0 + 2585 3 0 0 0 25481 4813 4990 4940 0 0 0 0 0 0 + 2586 3 0 0 0 26027 4813 4940 4991 0 0 0 0 0 0 + 2587 3 0 0 0 24937 4814 4992 5068 0 0 0 0 0 0 + 2588 3 0 0 0 26029 4814 5263 4864 0 0 0 0 0 0 + 2589 3 0 0 0 26030 4814 5068 5263 0 0 0 0 0 0 + 2590 3 0 0 0 25293 4818 4919 5076 0 0 0 0 0 0 + 2591 3 0 0 0 25404 4818 5010 4919 0 0 0 0 0 0 + 2592 3 0 0 0 26077 4819 5219 4999 0 0 0 0 0 0 + 2593 3 0 0 0 26078 4819 5311 5219 0 0 0 0 0 0 + 2594 3 0 0 0 26079 4819 5076 5311 0 0 0 0 0 0 + 2595 3 0 0 0 25297 4827 5013 5123 0 0 0 0 0 0 + 2596 3 0 0 0 26165 4827 5226 4920 0 0 0 0 0 0 + 2597 3 0 0 0 26166 4827 5123 5226 0 0 0 0 0 0 + 2598 3 0 0 0 24087 4831 5013 4925 0 0 0 0 0 0 + 2599 3 0 0 0 26203 4831 5231 5013 0 0 0 0 0 0 + 2600 3 0 0 0 26205 4831 5233 5413 0 0 0 0 0 0 + 2601 3 0 0 0 26206 4831 5414 5233 0 0 0 0 0 0 + 2602 3 0 0 0 26207 4831 4925 5414 0 0 0 0 0 0 + 2603 3 0 0 0 26210 4831 5413 5231 0 0 0 0 0 0 + 2604 3 0 0 0 26264 4836 4931 5242 0 0 0 0 0 0 + 2605 3 0 0 0 26265 4836 5242 5489 0 0 0 0 0 0 + 2606 3 0 0 0 26267 4836 5489 4933 0 0 0 0 0 0 + 2607 3 0 0 0 26269 4837 5086 5243 0 0 0 0 0 0 + 2608 3 0 0 0 26271 4837 5340 4931 0 0 0 0 0 0 + 2609 3 0 0 0 26272 4837 5243 5340 0 0 0 0 0 0 + 2610 3 0 0 0 26293 4840 4935 5246 0 0 0 0 0 0 + 2611 3 0 0 0 26294 4840 5414 4925 0 0 0 0 0 0 + 2612 3 0 0 0 26295 4840 5246 5414 0 0 0 0 0 0 + 2613 3 0 0 0 26437 4849 5099 5157 0 0 0 0 0 0 + 2614 3 0 0 0 26438 4849 5157 5431 0 0 0 0 0 0 + 2615 3 0 0 0 26439 4849 5431 4942 0 0 0 0 0 0 + 2616 3 0 0 0 25085 4850 4942 5031 0 0 0 0 0 0 + 2617 3 0 0 0 25086 4850 5031 4943 0 0 0 0 0 0 + 2618 3 0 0 0 26440 4850 4943 5135 0 0 0 0 0 0 + 2619 3 0 0 0 26441 4852 5135 5032 0 0 0 0 0 0 + 2620 3 0 0 0 26447 4854 5251 5152 0 0 0 0 0 0 + 2621 3 0 0 0 26340 4855 5253 5153 0 0 0 0 0 0 + 2622 3 0 0 0 26452 4855 5152 5253 0 0 0 0 0 0 + 2623 3 0 0 0 26455 4856 5155 5036 0 0 0 0 0 0 + 2624 3 0 0 0 26458 4856 5153 5352 0 0 0 0 0 0 + 2625 3 0 0 0 26459 4856 5352 5155 0 0 0 0 0 0 + 2626 3 0 0 0 26461 4857 5255 5093 0 0 0 0 0 0 + 2627 3 0 0 0 26462 4857 5036 5255 0 0 0 0 0 0 + 2628 3 0 0 0 25589 4860 5356 5159 0 0 0 0 0 0 + 2629 3 0 0 0 26468 4860 5099 4953 0 0 0 0 0 0 + 2630 3 0 0 0 26469 4860 5159 5261 0 0 0 0 0 0 + 2631 3 0 0 0 26470 4860 5261 5099 0 0 0 0 0 0 + 2632 3 0 0 0 26485 4863 5162 5435 0 0 0 0 0 0 + 2633 3 0 0 0 26487 4863 5435 5356 0 0 0 0 0 0 + 2634 3 0 0 0 26488 4864 5263 5162 0 0 0 0 0 0 + 2635 3 0 0 0 25236 4866 5045 4997 0 0 0 0 0 0 + 2636 3 0 0 0 25354 4867 5100 4961 0 0 0 0 0 0 + 2637 3 0 0 0 25615 4867 4966 5100 0 0 0 0 0 0 + 2638 3 0 0 0 26571 4880 5178 5047 0 0 0 0 0 0 + 2639 3 0 0 0 26572 4880 5279 5178 0 0 0 0 0 0 + 2640 3 0 0 0 26594 4888 5188 5282 0 0 0 0 0 0 + 2641 3 0 0 0 25256 4890 5006 5118 0 0 0 0 0 0 + 2642 3 0 0 0 25794 4890 5118 4975 0 0 0 0 0 0 + 2643 3 0 0 0 25029 4909 5093 5130 0 0 0 0 0 0 + 2644 3 0 0 0 25032 4909 5130 4990 0 0 0 0 0 0 + 2645 3 0 0 0 24938 4911 5068 4992 0 0 0 0 0 0 + 2646 3 0 0 0 26034 4911 5309 5068 0 0 0 0 0 0 + 2647 3 0 0 0 26710 4911 4992 5194 0 0 0 0 0 0 + 2648 3 0 0 0 26711 4911 5307 5215 0 0 0 0 0 0 + 2649 3 0 0 0 26712 4911 5194 5307 0 0 0 0 0 0 + 2650 3 0 0 0 26713 4911 5215 5309 0 0 0 0 0 0 + 2651 3 0 0 0 26094 4914 4999 5313 0 0 0 0 0 0 + 2652 3 0 0 0 26101 4914 5313 5401 0 0 0 0 0 0 + 2653 3 0 0 0 26734 4914 5401 5006 0 0 0 0 0 0 + 2654 3 0 0 0 26757 4919 5323 5406 0 0 0 0 0 0 + 2655 3 0 0 0 26758 4919 5406 5076 0 0 0 0 0 0 + 2656 3 0 0 0 26760 4919 5407 5323 0 0 0 0 0 0 + 2657 3 0 0 0 26762 4919 5010 5407 0 0 0 0 0 0 + 2658 3 0 0 0 26763 4920 5324 5010 0 0 0 0 0 0 + 2659 3 0 0 0 26764 4920 5226 5324 0 0 0 0 0 0 + 2660 3 0 0 0 26830 4931 5340 5242 0 0 0 0 0 0 + 2661 3 0 0 0 26840 4933 5241 5088 0 0 0 0 0 0 + 2662 3 0 0 0 26841 4933 5489 5241 0 0 0 0 0 0 + 2663 3 0 0 0 26239 4934 5088 5241 0 0 0 0 0 0 + 2664 3 0 0 0 26241 4934 5241 5338 0 0 0 0 0 0 + 2665 3 0 0 0 26842 4934 5245 5022 0 0 0 0 0 0 + 2666 3 0 0 0 26843 4934 5338 5245 0 0 0 0 0 0 + 2667 3 0 0 0 26845 4935 5422 5246 0 0 0 0 0 0 + 2668 3 0 0 0 26846 4935 5022 5422 0 0 0 0 0 0 + 2669 3 0 0 0 26319 4940 4990 5130 0 0 0 0 0 0 + 2670 3 0 0 0 26328 4940 5426 5213 0 0 0 0 0 0 + 2671 3 0 0 0 26330 4940 5130 5426 0 0 0 0 0 0 + 2672 3 0 0 0 26868 4940 5213 4991 0 0 0 0 0 0 + 2673 3 0 0 0 26881 4942 5431 5031 0 0 0 0 0 0 + 2674 3 0 0 0 25518 4943 5150 5032 0 0 0 0 0 0 + 2675 3 0 0 0 26882 4943 5032 5135 0 0 0 0 0 0 + 2676 3 0 0 0 26883 4943 5347 5150 0 0 0 0 0 0 + 2677 3 0 0 0 26884 4943 5031 5347 0 0 0 0 0 0 + 2678 3 0 0 0 26897 4947 5349 5251 0 0 0 0 0 0 + 2679 3 0 0 0 26539 4961 5273 5173 0 0 0 0 0 0 + 2680 3 0 0 0 26925 4961 5100 5273 0 0 0 0 0 0 + 2681 3 0 0 0 26500 4966 5070 5267 0 0 0 0 0 0 + 2682 3 0 0 0 26936 4966 5267 5100 0 0 0 0 0 0 + 2683 3 0 0 0 25799 4975 5118 5373 0 0 0 0 0 0 + 2684 3 0 0 0 26598 4975 5373 5188 0 0 0 0 0 0 + 2685 3 0 0 0 26965 4976 5287 5195 0 0 0 0 0 0 + 2686 3 0 0 0 26966 4976 5193 5287 0 0 0 0 0 0 + 2687 3 0 0 0 26307 4991 5305 5395 0 0 0 0 0 0 + 2688 3 0 0 0 26308 4991 5395 5111 0 0 0 0 0 0 + 2689 3 0 0 0 27020 4991 5213 5305 0 0 0 0 0 0 + 2690 3 0 0 0 26625 4993 5195 5377 0 0 0 0 0 0 + 2691 3 0 0 0 27021 4993 5377 5194 0 0 0 0 0 0 + 2692 3 0 0 0 26054 4997 5366 5070 0 0 0 0 0 0 + 2693 3 0 0 0 26057 4997 5045 5443 0 0 0 0 0 0 + 2694 3 0 0 0 26058 4997 5443 5366 0 0 0 0 0 0 + 2695 3 0 0 0 26093 4999 5219 5313 0 0 0 0 0 0 + 2696 3 0 0 0 27076 5006 5317 5118 0 0 0 0 0 0 + 2697 3 0 0 0 27077 5006 5401 5317 0 0 0 0 0 0 + 2698 3 0 0 0 27106 5010 5324 5407 0 0 0 0 0 0 + 2699 3 0 0 0 26173 5013 5231 5123 0 0 0 0 0 0 + 2700 3 0 0 0 26645 5018 5274 5198 0 0 0 0 0 0 + 2701 3 0 0 0 27145 5018 5173 5274 0 0 0 0 0 0 + 2702 3 0 0 0 27152 5022 5342 5422 0 0 0 0 0 0 + 2703 3 0 0 0 27153 5022 5245 5342 0 0 0 0 0 0 + 2704 3 0 0 0 27203 5031 5431 5541 0 0 0 0 0 0 + 2705 3 0 0 0 27204 5031 5541 5347 0 0 0 0 0 0 + 2706 3 0 0 0 26902 5036 5155 5255 0 0 0 0 0 0 + 2707 3 0 0 0 26927 5045 5175 5443 0 0 0 0 0 0 + 2708 3 0 0 0 26560 5047 5178 5365 0 0 0 0 0 0 + 2709 3 0 0 0 26561 5047 5365 5175 0 0 0 0 0 0 + 2710 3 0 0 0 26040 5068 5309 5463 0 0 0 0 0 0 + 2711 3 0 0 0 27322 5068 5463 5263 0 0 0 0 0 0 + 2712 3 0 0 0 26507 5070 5438 5267 0 0 0 0 0 0 + 2713 3 0 0 0 27331 5070 5366 5438 0 0 0 0 0 0 + 2714 3 0 0 0 27099 5076 5406 5311 0 0 0 0 0 0 + 2715 3 0 0 0 26839 5086 5492 5243 0 0 0 0 0 0 + 2716 3 0 0 0 27420 5086 5198 5492 0 0 0 0 0 0 + 2717 3 0 0 0 26849 5093 5156 5130 0 0 0 0 0 0 + 2718 3 0 0 0 26904 5093 5255 5156 0 0 0 0 0 0 + 2719 3 0 0 0 27188 5099 5261 5157 0 0 0 0 0 0 + 2720 3 0 0 0 27234 5100 5442 5273 0 0 0 0 0 0 + 2721 3 0 0 0 27464 5100 5267 5442 0 0 0 0 0 0 + 2722 3 0 0 0 26306 5111 5395 5279 0 0 0 0 0 0 + 2723 3 0 0 0 27080 5118 5475 5373 0 0 0 0 0 0 + 2724 3 0 0 0 27082 5118 5317 5475 0 0 0 0 0 0 + 2725 3 0 0 0 27544 5123 5231 5415 0 0 0 0 0 0 + 2726 3 0 0 0 27545 5123 5415 5527 0 0 0 0 0 0 + 2727 3 0 0 0 27547 5123 5527 5226 0 0 0 0 0 0 + 2728 3 0 0 0 26327 5130 5156 5426 0 0 0 0 0 0 + 2729 3 0 0 0 27640 5149 5250 5349 0 0 0 0 0 0 + 2730 3 0 0 0 27641 5150 5557 5348 0 0 0 0 0 0 + 2731 3 0 0 0 27641 5150 5347 5557 0 0 0 0 0 0 + 2732 3 0 0 0 26452 5152 5350 5253 0 0 0 0 0 0 + 2733 3 0 0 0 27460 5152 5251 5500 0 0 0 0 0 0 + 2734 3 0 0 0 27645 5152 5561 5350 0 0 0 0 0 0 + 2735 3 0 0 0 27646 5152 5500 5561 0 0 0 0 0 0 + 2736 3 0 0 0 26346 5153 5253 5537 0 0 0 0 0 0 + 2737 3 0 0 0 27648 5153 5537 5352 0 0 0 0 0 0 + 2738 3 0 0 0 27212 5155 5353 5255 0 0 0 0 0 0 + 2739 3 0 0 0 27652 5155 5352 5666 0 0 0 0 0 0 + 2740 3 0 0 0 27653 5155 5666 5353 0 0 0 0 0 0 + 2741 3 0 0 0 27211 5156 5255 5353 0 0 0 0 0 0 + 2742 3 0 0 0 27655 5156 5353 5563 0 0 0 0 0 0 + 2743 3 0 0 0 27656 5156 5563 5426 0 0 0 0 0 0 + 2744 3 0 0 0 27191 5157 5261 5497 0 0 0 0 0 0 + 2745 3 0 0 0 27657 5157 5497 5431 0 0 0 0 0 0 + 2746 3 0 0 0 27584 5159 5540 5261 0 0 0 0 0 0 + 2747 3 0 0 0 27668 5159 5356 5565 0 0 0 0 0 0 + 2748 3 0 0 0 27669 5159 5565 5669 0 0 0 0 0 0 + 2749 3 0 0 0 27670 5159 5669 5540 0 0 0 0 0 0 + 2750 3 0 0 0 27697 5162 5263 5672 0 0 0 0 0 0 + 2751 3 0 0 0 27698 5162 5672 5435 0 0 0 0 0 0 + 2752 3 0 0 0 27785 5173 5273 5681 0 0 0 0 0 0 + 2753 3 0 0 0 27786 5173 5681 5274 0 0 0 0 0 0 + 2754 3 0 0 0 27806 5175 5583 5443 0 0 0 0 0 0 + 2755 3 0 0 0 27807 5175 5365 5583 0 0 0 0 0 0 + 2756 3 0 0 0 27821 5178 5586 5365 0 0 0 0 0 0 + 2757 3 0 0 0 27822 5178 5688 5586 0 0 0 0 0 0 + 2758 3 0 0 0 27824 5178 5279 5688 0 0 0 0 0 0 + 2759 3 0 0 0 27244 5179 5366 5443 0 0 0 0 0 0 + 2760 3 0 0 0 27825 5179 5443 5583 0 0 0 0 0 0 + 2761 3 0 0 0 27826 5179 5675 5366 0 0 0 0 0 0 + 2762 3 0 0 0 27827 5179 5583 5778 0 0 0 0 0 0 + 2763 3 0 0 0 27829 5179 5778 5861 0 0 0 0 0 0 + 2764 3 0 0 0 27830 5179 5861 5675 0 0 0 0 0 0 + 2765 3 0 0 0 27892 5188 5373 5592 0 0 0 0 0 0 + 2766 3 0 0 0 27893 5188 5592 5282 0 0 0 0 0 0 + 2767 3 0 0 0 27935 5193 5598 5287 0 0 0 0 0 0 + 2768 3 0 0 0 27936 5193 5282 5695 0 0 0 0 0 0 + 2769 3 0 0 0 27937 5193 5695 5598 0 0 0 0 0 0 + 2770 3 0 0 0 27607 5194 5377 5307 0 0 0 0 0 0 + 2771 3 0 0 0 27939 5195 5599 5377 0 0 0 0 0 0 + 2772 3 0 0 0 27941 5195 5287 5599 0 0 0 0 0 0 + 2773 3 0 0 0 27957 5198 5582 5492 0 0 0 0 0 0 + 2774 3 0 0 0 27958 5198 5274 5582 0 0 0 0 0 0 + 2775 3 0 0 0 28109 5213 5426 5718 0 0 0 0 0 0 + 2776 3 0 0 0 28110 5213 5718 5305 0 0 0 0 0 0 + 2777 3 0 0 0 28126 5215 5307 5809 0 0 0 0 0 0 + 2778 3 0 0 0 28128 5215 5883 5309 0 0 0 0 0 0 + 2779 3 0 0 0 28129 5215 5957 5883 0 0 0 0 0 0 + 2780 3 0 0 0 28130 5215 5809 5957 0 0 0 0 0 0 + 2781 3 0 0 0 28194 5219 5622 5313 0 0 0 0 0 0 + 2782 3 0 0 0 28196 5219 5725 5622 0 0 0 0 0 0 + 2783 3 0 0 0 28197 5219 5311 5725 0 0 0 0 0 0 + 2784 3 0 0 0 27366 5226 5479 5324 0 0 0 0 0 0 + 2785 3 0 0 0 27547 5226 5527 5479 0 0 0 0 0 0 + 2786 3 0 0 0 28313 5231 5413 5636 0 0 0 0 0 0 + 2787 3 0 0 0 28315 5231 5636 5415 0 0 0 0 0 0 + 2788 3 0 0 0 28346 5233 5743 5413 0 0 0 0 0 0 + 2789 3 0 0 0 28348 5233 5836 5743 0 0 0 0 0 0 + 2790 3 0 0 0 28349 5233 5414 5836 0 0 0 0 0 0 + 2791 3 0 0 0 27407 5241 5420 5338 0 0 0 0 0 0 + 2792 3 0 0 0 28444 5241 5489 5420 0 0 0 0 0 0 + 2793 3 0 0 0 28446 5242 5649 5489 0 0 0 0 0 0 + 2794 3 0 0 0 28448 5242 5846 5649 0 0 0 0 0 0 + 2795 3 0 0 0 28449 5242 5340 5846 0 0 0 0 0 0 + 2796 3 0 0 0 28450 5243 5755 5340 0 0 0 0 0 0 + 2797 3 0 0 0 28451 5243 5847 5755 0 0 0 0 0 0 + 2798 3 0 0 0 28453 5243 5492 5847 0 0 0 0 0 0 + 2799 3 0 0 0 28469 5245 5338 5655 0 0 0 0 0 0 + 2800 3 0 0 0 28471 5245 5655 5845 0 0 0 0 0 0 + 2801 3 0 0 0 28472 5245 5845 5342 0 0 0 0 0 0 + 2802 3 0 0 0 28474 5246 5836 5414 0 0 0 0 0 0 + 2803 3 0 0 0 28475 5246 5422 5836 0 0 0 0 0 0 + 2804 3 0 0 0 28480 5250 5558 5661 0 0 0 0 0 0 + 2805 3 0 0 0 28503 5250 5348 5660 0 0 0 0 0 0 + 2806 3 0 0 0 28506 5250 5660 5761 0 0 0 0 0 0 + 2807 3 0 0 0 28509 5250 5661 5349 0 0 0 0 0 0 + 2808 3 0 0 0 28510 5250 5761 5558 0 0 0 0 0 0 + 2809 3 0 0 0 26897 5251 5349 5499 0 0 0 0 0 0 + 2810 3 0 0 0 28511 5251 5559 5500 0 0 0 0 0 0 + 2811 3 0 0 0 28512 5251 5499 5559 0 0 0 0 0 0 + 2812 3 0 0 0 26350 5253 5553 5537 0 0 0 0 0 0 + 2813 3 0 0 0 27170 5253 5350 5553 0 0 0 0 0 0 + 2814 3 0 0 0 27195 5261 5540 5497 0 0 0 0 0 0 + 2815 3 0 0 0 28545 5263 5463 5672 0 0 0 0 0 0 + 2816 3 0 0 0 28564 5267 5438 5573 0 0 0 0 0 0 + 2817 3 0 0 0 28565 5267 5573 5442 0 0 0 0 0 0 + 2818 3 0 0 0 27791 5273 5442 5581 0 0 0 0 0 0 + 2819 3 0 0 0 27793 5273 5581 5681 0 0 0 0 0 0 + 2820 3 0 0 0 28596 5274 5858 5582 0 0 0 0 0 0 + 2821 3 0 0 0 28597 5274 5681 5858 0 0 0 0 0 0 + 2822 3 0 0 0 27847 5279 5395 5688 0 0 0 0 0 0 + 2823 3 0 0 0 28630 5282 5592 5695 0 0 0 0 0 0 + 2824 3 0 0 0 28657 5287 5792 5599 0 0 0 0 0 0 + 2825 3 0 0 0 28658 5287 5598 5792 0 0 0 0 0 0 + 2826 3 0 0 0 28752 5305 5589 5395 0 0 0 0 0 0 + 2827 3 0 0 0 28754 5305 5807 5589 0 0 0 0 0 0 + 2828 3 0 0 0 28755 5305 5718 5807 0 0 0 0 0 0 + 2829 3 0 0 0 28765 5307 5377 5702 0 0 0 0 0 0 + 2830 3 0 0 0 28766 5307 5702 5809 0 0 0 0 0 0 + 2831 3 0 0 0 28782 5309 5611 5463 0 0 0 0 0 0 + 2832 3 0 0 0 28783 5309 5883 5611 0 0 0 0 0 0 + 2833 3 0 0 0 28796 5311 5406 5623 0 0 0 0 0 0 + 2834 3 0 0 0 28797 5311 5623 5725 0 0 0 0 0 0 + 2835 3 0 0 0 28207 5313 5726 5401 0 0 0 0 0 0 + 2836 3 0 0 0 28800 5313 5622 5726 0 0 0 0 0 0 + 2837 3 0 0 0 27346 5317 5401 5474 0 0 0 0 0 0 + 2838 3 0 0 0 27915 5317 5474 5699 0 0 0 0 0 0 + 2839 3 0 0 0 27916 5317 5699 5475 0 0 0 0 0 0 + 2840 3 0 0 0 28252 5323 5407 5631 0 0 0 0 0 0 + 2841 3 0 0 0 28262 5323 5827 5406 0 0 0 0 0 0 + 2842 3 0 0 0 28849 5323 5631 5896 0 0 0 0 0 0 + 2843 3 0 0 0 28850 5323 5896 5827 0 0 0 0 0 0 + 2844 3 0 0 0 27370 5324 5479 5407 0 0 0 0 0 0 + 2845 3 0 0 0 27412 5338 5420 5531 0 0 0 0 0 0 + 2846 3 0 0 0 28969 5338 5531 5655 0 0 0 0 0 0 + 2847 3 0 0 0 28983 5340 5755 5846 0 0 0 0 0 0 + 2848 3 0 0 0 28354 5342 5645 5744 0 0 0 0 0 0 + 2849 3 0 0 0 28356 5342 5744 5422 0 0 0 0 0 0 + 2850 3 0 0 0 28997 5342 5845 5645 0 0 0 0 0 0 + 2851 3 0 0 0 27171 5345 5553 5350 0 0 0 0 0 0 + 2852 3 0 0 0 28103 5345 5806 5553 0 0 0 0 0 0 + 2853 3 0 0 0 28106 5345 5880 5806 0 0 0 0 0 0 + 2854 3 0 0 0 29014 5345 5350 5663 0 0 0 0 0 0 + 2855 3 0 0 0 29016 5345 5663 5880 0 0 0 0 0 0 + 2856 3 0 0 0 28501 5347 5541 5658 0 0 0 0 0 0 + 2857 3 0 0 0 28504 5347 5658 5660 0 0 0 0 0 0 + 2858 3 0 0 0 29029 5347 5660 5557 0 0 0 0 0 0 + 2859 3 0 0 0 29029 5348 5557 5660 0 0 0 0 0 0 + 2860 3 0 0 0 29030 5349 5661 5499 0 0 0 0 0 0 + 2861 3 0 0 0 29031 5350 5561 5663 0 0 0 0 0 0 + 2862 3 0 0 0 28516 5352 5537 5562 0 0 0 0 0 0 + 2863 3 0 0 0 29038 5352 5562 5666 0 0 0 0 0 0 + 2864 3 0 0 0 29039 5353 5667 5563 0 0 0 0 0 0 + 2865 3 0 0 0 29040 5353 5666 5763 0 0 0 0 0 0 + 2866 3 0 0 0 29041 5353 5763 5667 0 0 0 0 0 0 + 2867 3 0 0 0 27673 5356 5435 5565 0 0 0 0 0 0 + 2868 3 0 0 0 29080 5365 5685 5583 0 0 0 0 0 0 + 2869 3 0 0 0 29081 5365 5586 5685 0 0 0 0 0 0 + 2870 3 0 0 0 27740 5366 5675 5438 0 0 0 0 0 0 + 2871 3 0 0 0 29105 5373 5475 5865 0 0 0 0 0 0 + 2872 3 0 0 0 29107 5373 5865 5592 0 0 0 0 0 0 + 2873 3 0 0 0 29118 5377 5599 5702 0 0 0 0 0 0 + 2874 3 0 0 0 27848 5395 5589 5688 0 0 0 0 0 0 + 2875 3 0 0 0 28206 5401 5726 5474 0 0 0 0 0 0 + 2876 3 0 0 0 28846 5406 5827 5623 0 0 0 0 0 0 + 2877 3 0 0 0 28851 5407 5479 5631 0 0 0 0 0 0 + 2878 3 0 0 0 29274 5413 5743 5837 0 0 0 0 0 0 + 2879 3 0 0 0 29276 5413 5837 5636 0 0 0 0 0 0 + 2880 3 0 0 0 28269 5415 5636 5828 0 0 0 0 0 0 + 2881 3 0 0 0 28852 5415 5634 5527 0 0 0 0 0 0 + 2882 3 0 0 0 28858 5415 5828 5634 0 0 0 0 0 0 + 2883 3 0 0 0 28413 5420 5750 5531 0 0 0 0 0 0 + 2884 3 0 0 0 28930 5420 5489 5649 0 0 0 0 0 0 + 2885 3 0 0 0 28931 5420 5649 5750 0 0 0 0 0 0 + 2886 3 0 0 0 28909 5422 5744 5836 0 0 0 0 0 0 + 2887 3 0 0 0 29302 5426 5563 5718 0 0 0 0 0 0 + 2888 3 0 0 0 28533 5431 5497 5541 0 0 0 0 0 0 + 2889 3 0 0 0 27679 5435 5766 5565 0 0 0 0 0 0 + 2890 3 0 0 0 29342 5435 5672 5766 0 0 0 0 0 0 + 2891 3 0 0 0 29347 5438 5675 5856 0 0 0 0 0 0 + 2892 3 0 0 0 29348 5438 5856 5573 0 0 0 0 0 0 + 2893 3 0 0 0 29360 5442 5921 5581 0 0 0 0 0 0 + 2894 3 0 0 0 29361 5442 5573 5921 0 0 0 0 0 0 + 2895 3 0 0 0 28059 5463 5611 5876 0 0 0 0 0 0 + 2896 3 0 0 0 28060 5463 5876 5672 0 0 0 0 0 0 + 2897 3 0 0 0 29485 5474 5726 5824 0 0 0 0 0 0 + 2898 3 0 0 0 29487 5474 5892 5699 0 0 0 0 0 0 + 2899 3 0 0 0 29488 5474 5824 5892 0 0 0 0 0 0 + 2900 3 0 0 0 29489 5475 5699 5825 0 0 0 0 0 0 + 2901 3 0 0 0 29491 5475 5825 5865 0 0 0 0 0 0 + 2902 3 0 0 0 28853 5479 5527 5634 0 0 0 0 0 0 + 2903 3 0 0 0 28854 5479 5634 5735 0 0 0 0 0 0 + 2904 3 0 0 0 28855 5479 5735 5631 0 0 0 0 0 0 + 2905 3 0 0 0 28992 5492 5913 5847 0 0 0 0 0 0 + 2906 3 0 0 0 28996 5492 5582 5913 0 0 0 0 0 0 + 2907 3 0 0 0 27659 5497 5564 5541 0 0 0 0 0 0 + 2908 3 0 0 0 29043 5497 5540 5564 0 0 0 0 0 0 + 2909 3 0 0 0 29563 5499 5661 5560 0 0 0 0 0 0 + 2910 3 0 0 0 29564 5499 5560 5662 0 0 0 0 0 0 + 2911 3 0 0 0 29565 5499 5662 5559 0 0 0 0 0 0 + 2912 3 0 0 0 29035 5500 5559 5664 0 0 0 0 0 0 + 2913 3 0 0 0 29036 5500 5664 5561 0 0 0 0 0 0 + 2914 3 0 0 0 28420 5531 5750 5908 0 0 0 0 0 0 + 2915 3 0 0 0 29527 5531 5752 5655 0 0 0 0 0 0 + 2916 3 0 0 0 29529 5531 5908 5752 0 0 0 0 0 0 + 2917 3 0 0 0 28518 5537 5665 5562 0 0 0 0 0 0 + 2918 3 0 0 0 29543 5537 5553 5665 0 0 0 0 0 0 + 2919 3 0 0 0 29554 5540 5669 5852 0 0 0 0 0 0 + 2920 3 0 0 0 29555 5540 5852 5564 0 0 0 0 0 0 + 2921 3 0 0 0 27665 5541 5564 5853 0 0 0 0 0 0 + 2922 3 0 0 0 29332 5541 5853 5658 0 0 0 0 0 0 + 2923 3 0 0 0 29544 5553 5806 5665 0 0 0 0 0 0 + 2924 3 0 0 0 29769 5558 5878 5661 0 0 0 0 0 0 + 2925 3 0 0 0 29772 5558 5761 5962 0 0 0 0 0 0 + 2926 3 0 0 0 29774 5558 5962 6063 0 0 0 0 0 0 + 2927 3 0 0 0 29776 5558 6063 5878 0 0 0 0 0 0 + 2928 3 0 0 0 28097 5559 5662 5879 0 0 0 0 0 0 + 2929 3 0 0 0 28099 5559 5879 5664 0 0 0 0 0 0 + 2930 3 0 0 0 28738 5560 5803 5662 0 0 0 0 0 0 + 2931 3 0 0 0 28742 5560 5878 5803 0 0 0 0 0 0 + 2932 3 0 0 0 29770 5560 5661 5878 0 0 0 0 0 0 + 2933 3 0 0 0 29718 5561 5805 5663 0 0 0 0 0 0 + 2934 3 0 0 0 29720 5561 5664 5805 0 0 0 0 0 0 + 2935 3 0 0 0 29340 5562 5763 5666 0 0 0 0 0 0 + 2936 3 0 0 0 29777 5562 5963 5763 0 0 0 0 0 0 + 2937 3 0 0 0 29779 5562 5665 6064 0 0 0 0 0 0 + 2938 3 0 0 0 29780 5562 6064 5963 0 0 0 0 0 0 + 2939 3 0 0 0 29708 5563 5916 5718 0 0 0 0 0 0 + 2940 3 0 0 0 29781 5563 5667 6159 0 0 0 0 0 0 + 2941 3 0 0 0 29782 5563 6159 5916 0 0 0 0 0 0 + 2942 3 0 0 0 29783 5564 6160 5853 0 0 0 0 0 0 + 2943 3 0 0 0 29784 5564 5852 6160 0 0 0 0 0 0 + 2944 3 0 0 0 29785 5565 5965 5669 0 0 0 0 0 0 + 2945 3 0 0 0 29786 5565 5766 5965 0 0 0 0 0 0 + 2946 3 0 0 0 29849 5573 5974 5921 0 0 0 0 0 0 + 2947 3 0 0 0 29851 5573 5856 5974 0 0 0 0 0 0 + 2948 3 0 0 0 27803 5581 5776 5681 0 0 0 0 0 0 + 2949 3 0 0 0 29577 5581 5921 5859 0 0 0 0 0 0 + 2950 3 0 0 0 29912 5581 5859 5776 0 0 0 0 0 0 + 2951 3 0 0 0 29913 5582 5858 6077 0 0 0 0 0 0 + 2952 3 0 0 0 29914 5582 6077 5913 0 0 0 0 0 0 + 2953 3 0 0 0 29078 5583 5685 5778 0 0 0 0 0 0 + 2954 3 0 0 0 29364 5586 5779 5685 0 0 0 0 0 0 + 2955 3 0 0 0 29617 5586 5688 5933 0 0 0 0 0 0 + 2956 3 0 0 0 29928 5586 5933 5779 0 0 0 0 0 0 + 2957 3 0 0 0 29616 5589 5933 5688 0 0 0 0 0 0 + 2958 3 0 0 0 29961 5589 5807 5988 0 0 0 0 0 0 + 2959 3 0 0 0 29962 5589 5988 5933 0 0 0 0 0 0 + 2960 3 0 0 0 29100 5592 5788 5695 0 0 0 0 0 0 + 2961 3 0 0 0 29978 5592 5865 5788 0 0 0 0 0 0 + 2962 3 0 0 0 30045 5598 5695 5992 0 0 0 0 0 0 + 2963 3 0 0 0 30046 5598 6098 5792 0 0 0 0 0 0 + 2964 3 0 0 0 30047 5598 5992 6098 0 0 0 0 0 0 + 2965 3 0 0 0 29130 5599 5792 5925 0 0 0 0 0 0 + 2966 3 0 0 0 29446 5599 5925 5702 0 0 0 0 0 0 + 2967 3 0 0 0 30157 5611 5970 5876 0 0 0 0 0 0 + 2968 3 0 0 0 30159 5611 6199 5970 0 0 0 0 0 0 + 2969 3 0 0 0 30160 5611 5883 6199 0 0 0 0 0 0 + 2970 3 0 0 0 29624 5613 5662 5803 0 0 0 0 0 0 + 2971 3 0 0 0 29630 5613 5879 5662 0 0 0 0 0 0 + 2972 3 0 0 0 30179 5613 5803 6070 0 0 0 0 0 0 + 2973 3 0 0 0 30180 5613 6109 5879 0 0 0 0 0 0 + 2974 3 0 0 0 30182 5613 6070 6165 0 0 0 0 0 0 + 2975 3 0 0 0 30184 5613 6318 6109 0 0 0 0 0 0 + 2976 3 0 0 0 30185 5613 6165 6318 0 0 0 0 0 0 + 2977 3 0 0 0 29426 5615 5717 5805 0 0 0 0 0 0 + 2978 3 0 0 0 29434 5615 5805 5934 0 0 0 0 0 0 + 2979 3 0 0 0 30199 5615 6007 5717 0 0 0 0 0 0 + 2980 3 0 0 0 30200 5615 6107 6007 0 0 0 0 0 0 + 2981 3 0 0 0 30202 5615 5934 6195 0 0 0 0 0 0 + 2982 3 0 0 0 30204 5615 6195 6107 0 0 0 0 0 0 + 2983 3 0 0 0 29428 5616 5805 5717 0 0 0 0 0 0 + 2984 3 0 0 0 29762 5616 5663 5805 0 0 0 0 0 0 + 2985 3 0 0 0 29765 5616 5880 5663 0 0 0 0 0 0 + 2986 3 0 0 0 30205 5616 5717 6007 0 0 0 0 0 0 + 2987 3 0 0 0 30206 5616 6010 5880 0 0 0 0 0 0 + 2988 3 0 0 0 30207 5616 6105 6010 0 0 0 0 0 0 + 2989 3 0 0 0 30209 5616 6007 6105 0 0 0 0 0 0 + 2990 3 0 0 0 30286 5622 5725 6018 0 0 0 0 0 0 + 2991 3 0 0 0 30288 5622 6018 6119 0 0 0 0 0 0 + 2992 3 0 0 0 30289 5622 6119 5726 0 0 0 0 0 0 + 2993 3 0 0 0 30290 5623 5827 6019 0 0 0 0 0 0 + 2994 3 0 0 0 30292 5623 6019 6120 0 0 0 0 0 0 + 2995 3 0 0 0 30293 5623 6120 5725 0 0 0 0 0 0 + 2996 3 0 0 0 30389 5631 5735 6029 0 0 0 0 0 0 + 2997 3 0 0 0 30390 5631 6029 5896 0 0 0 0 0 0 + 2998 3 0 0 0 30410 5634 6030 5735 0 0 0 0 0 0 + 2999 3 0 0 0 30410 5634 5828 6030 0 0 0 0 0 0 + 3000 3 0 0 0 30436 5636 6031 5828 0 0 0 0 0 0 + 3001 3 0 0 0 30438 5636 5837 6031 0 0 0 0 0 0 + 3002 3 0 0 0 30540 5645 6044 6143 0 0 0 0 0 0 + 3003 3 0 0 0 30541 5645 6143 5744 0 0 0 0 0 0 + 3004 3 0 0 0 30542 5645 6144 6044 0 0 0 0 0 0 + 3005 3 0 0 0 30544 5645 5845 6144 0 0 0 0 0 0 + 3006 3 0 0 0 29538 5649 5846 5912 0 0 0 0 0 0 + 3007 3 0 0 0 30581 5649 5912 5750 0 0 0 0 0 0 + 3008 3 0 0 0 28979 5655 5911 5845 0 0 0 0 0 0 + 3009 3 0 0 0 28981 5655 5752 5911 0 0 0 0 0 0 + 3010 3 0 0 0 28505 5658 5761 5660 0 0 0 0 0 0 + 3011 3 0 0 0 29333 5658 5853 5761 0 0 0 0 0 0 + 3012 3 0 0 0 29552 5659 5852 5669 0 0 0 0 0 0 + 3013 3 0 0 0 30683 5659 5669 5965 0 0 0 0 0 0 + 3014 3 0 0 0 30684 5659 6062 5852 0 0 0 0 0 0 + 3015 3 0 0 0 30688 5659 5965 6161 0 0 0 0 0 0 + 3016 3 0 0 0 30690 5659 6161 6311 0 0 0 0 0 0 + 3017 3 0 0 0 30691 5659 6311 6062 0 0 0 0 0 0 + 3018 3 0 0 0 30145 5664 5879 5934 0 0 0 0 0 0 + 3019 3 0 0 0 30146 5664 5934 5805 0 0 0 0 0 0 + 3020 3 0 0 0 30694 5665 5806 6064 0 0 0 0 0 0 + 3021 3 0 0 0 29777 5667 5763 5963 0 0 0 0 0 0 + 3022 3 0 0 0 30695 5667 5963 6159 0 0 0 0 0 0 + 3023 3 0 0 0 29788 5672 5876 5766 0 0 0 0 0 0 + 3024 3 0 0 0 29837 5675 5861 6072 0 0 0 0 0 0 + 3025 3 0 0 0 30724 5675 6072 5856 0 0 0 0 0 0 + 3026 3 0 0 0 29877 5681 5776 5858 0 0 0 0 0 0 + 3027 3 0 0 0 29923 5685 5779 6173 0 0 0 0 0 0 + 3028 3 0 0 0 29927 5685 6173 5778 0 0 0 0 0 0 + 3029 3 0 0 0 30796 5695 5788 5992 0 0 0 0 0 0 + 3030 3 0 0 0 30007 5699 5995 5825 0 0 0 0 0 0 + 3031 3 0 0 0 30814 5699 5892 5995 0 0 0 0 0 0 + 3032 3 0 0 0 29638 5702 5882 5809 0 0 0 0 0 0 + 3033 3 0 0 0 30829 5702 5925 5882 0 0 0 0 0 0 + 3034 3 0 0 0 30658 5718 5916 5807 0 0 0 0 0 0 + 3035 3 0 0 0 30983 5725 6120 6018 0 0 0 0 0 0 + 3036 3 0 0 0 30296 5726 6119 5824 0 0 0 0 0 0 + 3037 3 0 0 0 30415 5735 6030 6129 0 0 0 0 0 0 + 3038 3 0 0 0 30416 5735 6129 6029 0 0 0 0 0 0 + 3039 3 0 0 0 30534 5743 5836 6043 0 0 0 0 0 0 + 3040 3 0 0 0 31100 5743 6043 6142 0 0 0 0 0 0 + 3041 3 0 0 0 31100 5743 6142 5837 0 0 0 0 0 0 + 3042 3 0 0 0 30533 5744 6043 5836 0 0 0 0 0 0 + 3043 3 0 0 0 31101 5744 6143 6043 0 0 0 0 0 0 + 3044 3 0 0 0 31134 5750 6049 5908 0 0 0 0 0 0 + 3045 3 0 0 0 31135 5750 5912 6049 0 0 0 0 0 0 + 3046 3 0 0 0 30647 5752 6153 5911 0 0 0 0 0 0 + 3047 3 0 0 0 31149 5752 5908 6051 0 0 0 0 0 0 + 3048 3 0 0 0 31150 5752 6051 6153 0 0 0 0 0 0 + 3049 3 0 0 0 30562 5755 6046 5846 0 0 0 0 0 0 + 3050 3 0 0 0 30569 5755 6232 6046 0 0 0 0 0 0 + 3051 3 0 0 0 30570 5755 5847 6232 0 0 0 0 0 0 + 3052 3 0 0 0 29772 5761 5853 5962 0 0 0 0 0 0 + 3053 3 0 0 0 30704 5766 6065 5965 0 0 0 0 0 0 + 3054 3 0 0 0 31253 5766 5876 6065 0 0 0 0 0 0 + 3055 3 0 0 0 30758 5776 5859 5982 0 0 0 0 0 0 + 3056 3 0 0 0 31272 5776 6172 5858 0 0 0 0 0 0 + 3057 3 0 0 0 31273 5776 5982 6172 0 0 0 0 0 0 + 3058 3 0 0 0 30768 5778 6251 5861 0 0 0 0 0 0 + 3059 3 0 0 0 31280 5778 6173 6251 0 0 0 0 0 0 + 3060 3 0 0 0 29924 5779 5983 6173 0 0 0 0 0 0 + 3061 3 0 0 0 31281 5779 6084 5983 0 0 0 0 0 0 + 3062 3 0 0 0 31283 5779 5933 6084 0 0 0 0 0 0 + 3063 3 0 0 0 31303 5788 5865 6092 0 0 0 0 0 0 + 3064 3 0 0 0 31304 5788 6092 6179 0 0 0 0 0 0 + 3065 3 0 0 0 31306 5788 6179 5992 0 0 0 0 0 0 + 3066 3 0 0 0 30822 5792 6098 5998 0 0 0 0 0 0 + 3067 3 0 0 0 31316 5792 5998 5925 0 0 0 0 0 0 + 3068 3 0 0 0 29824 5803 5878 6070 0 0 0 0 0 0 + 3069 3 0 0 0 30188 5806 5880 6010 0 0 0 0 0 0 + 3070 3 0 0 0 30196 5806 6010 6269 0 0 0 0 0 0 + 3071 3 0 0 0 31344 5806 6269 6064 0 0 0 0 0 0 + 3072 3 0 0 0 30664 5807 5916 6111 0 0 0 0 0 0 + 3073 3 0 0 0 30665 5807 6111 5988 0 0 0 0 0 0 + 3074 3 0 0 0 28778 5809 5936 5957 0 0 0 0 0 0 + 3075 3 0 0 0 30210 5809 5882 5936 0 0 0 0 0 0 + 3076 3 0 0 0 30294 5824 6021 5892 0 0 0 0 0 0 + 3077 3 0 0 0 30305 5824 6277 6021 0 0 0 0 0 0 + 3078 3 0 0 0 30306 5824 6119 6277 0 0 0 0 0 0 + 3079 3 0 0 0 30013 5825 5995 6181 0 0 0 0 0 0 + 3080 3 0 0 0 31014 5825 6181 6092 0 0 0 0 0 0 + 3081 3 0 0 0 31418 5825 6092 5865 0 0 0 0 0 0 + 3082 3 0 0 0 30398 5827 6217 6019 0 0 0 0 0 0 + 3083 3 0 0 0 31035 5827 5896 6217 0 0 0 0 0 0 + 3084 3 0 0 0 30417 5828 6130 6030 0 0 0 0 0 0 + 3085 3 0 0 0 31040 5828 6031 6130 0 0 0 0 0 0 + 3086 3 0 0 0 31107 5837 6293 6031 0 0 0 0 0 0 + 3087 3 0 0 0 31437 5837 6142 6293 0 0 0 0 0 0 + 3088 3 0 0 0 31151 5845 5911 6144 0 0 0 0 0 0 + 3089 3 0 0 0 31116 5846 6046 5912 0 0 0 0 0 0 + 3090 3 0 0 0 31177 5847 5913 6057 0 0 0 0 0 0 + 3091 3 0 0 0 31182 5847 6057 6232 0 0 0 0 0 0 + 3092 3 0 0 0 31500 5852 6062 6160 0 0 0 0 0 0 + 3093 3 0 0 0 30700 5853 6160 5962 0 0 0 0 0 0 + 3094 3 0 0 0 31262 5856 6072 6246 0 0 0 0 0 0 + 3095 3 0 0 0 31263 5856 6246 5974 0 0 0 0 0 0 + 3096 3 0 0 0 31524 5858 6172 6077 0 0 0 0 0 0 + 3097 3 0 0 0 31279 5859 5921 6250 0 0 0 0 0 0 + 3098 3 0 0 0 31527 5859 6082 5982 0 0 0 0 0 0 + 3099 3 0 0 0 31529 5859 6250 6082 0 0 0 0 0 0 + 3100 3 0 0 0 29838 5861 5972 6072 0 0 0 0 0 0 + 3101 3 0 0 0 30771 5861 6251 5972 0 0 0 0 0 0 + 3102 3 0 0 0 31563 5876 5970 6065 0 0 0 0 0 0 + 3103 3 0 0 0 29825 5878 5964 6070 0 0 0 0 0 0 + 3104 3 0 0 0 31247 5878 6063 5964 0 0 0 0 0 0 + 3105 3 0 0 0 31343 5879 6109 5934 0 0 0 0 0 0 + 3106 3 0 0 0 30213 5882 6011 5936 0 0 0 0 0 0 + 3107 3 0 0 0 31346 5882 5925 6100 0 0 0 0 0 0 + 3108 3 0 0 0 31571 5882 6100 6011 0 0 0 0 0 0 + 3109 3 0 0 0 31349 5883 5957 6012 0 0 0 0 0 0 + 3110 3 0 0 0 31352 5883 6012 6199 0 0 0 0 0 0 + 3111 3 0 0 0 31314 5892 6258 5995 0 0 0 0 0 0 + 3112 3 0 0 0 31593 5892 6021 6258 0 0 0 0 0 0 + 3113 3 0 0 0 31030 5896 6029 6127 0 0 0 0 0 0 + 3114 3 0 0 0 31033 5896 6127 6217 0 0 0 0 0 0 + 3115 3 0 0 0 30587 5908 6049 6148 0 0 0 0 0 0 + 3116 3 0 0 0 30588 5908 6148 6051 0 0 0 0 0 0 + 3117 3 0 0 0 30646 5911 6153 6055 0 0 0 0 0 0 + 3118 3 0 0 0 31152 5911 6055 6144 0 0 0 0 0 0 + 3119 3 0 0 0 31118 5912 6046 6233 0 0 0 0 0 0 + 3120 3 0 0 0 31448 5912 6233 6049 0 0 0 0 0 0 + 3121 3 0 0 0 30671 5913 6077 6238 0 0 0 0 0 0 + 3122 3 0 0 0 31484 5913 6238 6057 0 0 0 0 0 0 + 3123 3 0 0 0 31217 5916 6340 6111 0 0 0 0 0 0 + 3124 3 0 0 0 31221 5916 6159 6340 0 0 0 0 0 0 + 3125 3 0 0 0 31277 5921 5974 6250 0 0 0 0 0 0 + 3126 3 0 0 0 31536 5925 5998 6100 0 0 0 0 0 0 + 3127 3 0 0 0 30896 5933 5988 6084 0 0 0 0 0 0 + 3128 3 0 0 0 30883 5934 6109 6195 0 0 0 0 0 0 + 3129 3 0 0 0 30922 5936 6202 5957 0 0 0 0 0 0 + 3130 3 0 0 0 30926 5936 6270 6202 0 0 0 0 0 0 + 3131 3 0 0 0 30927 5936 6011 6270 0 0 0 0 0 0 + 3132 3 0 0 0 31798 5957 6202 6012 0 0 0 0 0 0 + 3133 3 0 0 0 31817 5962 6160 6312 0 0 0 0 0 0 + 3134 3 0 0 0 31817 5962 6312 6063 0 0 0 0 0 0 + 3135 3 0 0 0 31818 5963 6308 6159 0 0 0 0 0 0 + 3136 3 0 0 0 31818 5963 6064 6308 0 0 0 0 0 0 + 3137 3 0 0 0 31659 5964 6063 6242 0 0 0 0 0 0 + 3138 3 0 0 0 31819 5964 6355 6070 0 0 0 0 0 0 + 3139 3 0 0 0 31820 5964 6242 6355 0 0 0 0 0 0 + 3140 3 0 0 0 31785 5965 6065 6161 0 0 0 0 0 0 + 3141 3 0 0 0 30889 5970 6199 6110 0 0 0 0 0 0 + 3142 3 0 0 0 31861 5970 6245 6065 0 0 0 0 0 0 + 3143 3 0 0 0 31862 5970 6110 6245 0 0 0 0 0 0 + 3144 3 0 0 0 29842 5972 6166 6072 0 0 0 0 0 0 + 3145 3 0 0 0 31874 5972 6360 6166 0 0 0 0 0 0 + 3146 3 0 0 0 31876 5972 6251 6453 0 0 0 0 0 0 + 3147 3 0 0 0 31877 5972 6453 6360 0 0 0 0 0 0 + 3148 3 0 0 0 31889 5974 6246 6362 0 0 0 0 0 0 + 3149 3 0 0 0 31890 5974 6362 6250 0 0 0 0 0 0 + 3150 3 0 0 0 31951 5982 6366 6172 0 0 0 0 0 0 + 3151 3 0 0 0 31954 5982 6082 6621 0 0 0 0 0 0 + 3152 3 0 0 0 31955 5982 6621 6366 0 0 0 0 0 0 + 3153 3 0 0 0 31957 5983 6084 6268 0 0 0 0 0 0 + 3154 3 0 0 0 31958 5983 6363 6173 0 0 0 0 0 0 + 3155 3 0 0 0 31960 5983 6463 6363 0 0 0 0 0 0 + 3156 3 0 0 0 31961 5983 6268 6463 0 0 0 0 0 0 + 3157 3 0 0 0 30898 5988 6200 6084 0 0 0 0 0 0 + 3158 3 0 0 0 31480 5988 6111 6200 0 0 0 0 0 0 + 3159 3 0 0 0 32014 5992 6179 6380 0 0 0 0 0 0 + 3160 3 0 0 0 32015 5992 6380 6098 0 0 0 0 0 0 + 3161 3 0 0 0 32036 5995 6382 6181 0 0 0 0 0 0 + 3162 3 0 0 0 32037 5995 6258 6382 0 0 0 0 0 0 + 3163 3 0 0 0 32058 5998 6387 6100 0 0 0 0 0 0 + 3164 3 0 0 0 32059 5998 6098 6470 0 0 0 0 0 0 + 3165 3 0 0 0 32060 5998 6470 6387 0 0 0 0 0 0 + 3166 3 0 0 0 30140 6007 6196 6105 0 0 0 0 0 0 + 3167 3 0 0 0 30141 6007 6106 6196 0 0 0 0 0 0 + 3168 3 0 0 0 31553 6007 6198 6106 0 0 0 0 0 0 + 3169 3 0 0 0 31554 6007 6107 6198 0 0 0 0 0 0 + 3170 3 0 0 0 30865 6008 6197 6108 0 0 0 0 0 0 + 3171 3 0 0 0 30870 6008 6108 6198 0 0 0 0 0 0 + 3172 3 0 0 0 30872 6008 6198 6107 0 0 0 0 0 0 + 3173 3 0 0 0 31697 6008 6107 6195 0 0 0 0 0 0 + 3174 3 0 0 0 32125 6008 6195 6539 0 0 0 0 0 0 + 3175 3 0 0 0 32126 6008 6539 6624 0 0 0 0 0 0 + 3176 3 0 0 0 32127 6008 6624 6197 0 0 0 0 0 0 + 3177 3 0 0 0 30193 6010 6201 6269 0 0 0 0 0 0 + 3178 3 0 0 0 31226 6010 6105 6201 0 0 0 0 0 0 + 3179 3 0 0 0 32145 6011 6100 6556 0 0 0 0 0 0 + 3180 3 0 0 0 32147 6011 6556 6635 0 0 0 0 0 0 + 3181 3 0 0 0 32148 6011 6635 6270 0 0 0 0 0 0 + 3182 3 0 0 0 32150 6012 6483 6199 0 0 0 0 0 0 + 3183 3 0 0 0 32152 6012 6564 6483 0 0 0 0 0 0 + 3184 3 0 0 0 32154 6012 6202 6564 0 0 0 0 0 0 + 3185 3 0 0 0 32260 6018 6403 6119 0 0 0 0 0 0 + 3186 3 0 0 0 32262 6018 6120 6495 0 0 0 0 0 0 + 3187 3 0 0 0 32263 6018 6495 6403 0 0 0 0 0 0 + 3188 3 0 0 0 31746 6019 6217 6288 0 0 0 0 0 0 + 3189 3 0 0 0 32264 6019 6404 6120 0 0 0 0 0 0 + 3190 3 0 0 0 32266 6019 6288 6404 0 0 0 0 0 0 + 3191 3 0 0 0 32272 6021 6386 6258 0 0 0 0 0 0 + 3192 3 0 0 0 32276 6021 6277 6575 0 0 0 0 0 0 + 3193 3 0 0 0 32277 6021 6575 6386 0 0 0 0 0 0 + 3194 3 0 0 0 30428 6029 6129 6283 0 0 0 0 0 0 + 3195 3 0 0 0 31802 6029 6283 6127 0 0 0 0 0 0 + 3196 3 0 0 0 30424 6030 6218 6129 0 0 0 0 0 0 + 3197 3 0 0 0 32357 6030 6130 6414 0 0 0 0 0 0 + 3198 3 0 0 0 32357 6030 6414 6218 0 0 0 0 0 0 + 3199 3 0 0 0 31045 6031 6219 6130 0 0 0 0 0 0 + 3200 3 0 0 0 32358 6031 6293 6219 0 0 0 0 0 0 + 3201 3 0 0 0 31749 6040 6288 6217 0 0 0 0 0 0 + 3202 3 0 0 0 31799 6040 6217 6127 0 0 0 0 0 0 + 3203 3 0 0 0 31800 6040 6127 6226 0 0 0 0 0 0 + 3204 3 0 0 0 32464 6040 6424 6288 0 0 0 0 0 0 + 3205 3 0 0 0 32466 6040 6591 6424 0 0 0 0 0 0 + 3206 3 0 0 0 32467 6040 6226 6591 0 0 0 0 0 0 + 3207 3 0 0 0 31634 6043 6239 6142 0 0 0 0 0 0 + 3208 3 0 0 0 31636 6043 6143 6239 0 0 0 0 0 0 + 3209 3 0 0 0 32493 6044 6339 6143 0 0 0 0 0 0 + 3210 3 0 0 0 32495 6044 6144 6523 0 0 0 0 0 0 + 3211 3 0 0 0 32496 6044 6523 6599 0 0 0 0 0 0 + 3212 3 0 0 0 32497 6044 6599 6339 0 0 0 0 0 0 + 3213 3 0 0 0 32513 6046 6232 6433 0 0 0 0 0 0 + 3214 3 0 0 0 32514 6046 6433 6233 0 0 0 0 0 0 + 3215 3 0 0 0 30597 6049 6298 6148 0 0 0 0 0 0 + 3216 3 0 0 0 31767 6049 6233 6298 0 0 0 0 0 0 + 3217 3 0 0 0 32553 6051 6438 6153 0 0 0 0 0 0 + 3218 3 0 0 0 32554 6051 6602 6438 0 0 0 0 0 0 + 3219 3 0 0 0 32555 6051 6148 6602 0 0 0 0 0 0 + 3220 3 0 0 0 31765 6053 6298 6233 0 0 0 0 0 0 + 3221 3 0 0 0 32571 6053 6233 6433 0 0 0 0 0 0 + 3222 3 0 0 0 32572 6053 6437 6298 0 0 0 0 0 0 + 3223 3 0 0 0 32573 6053 6433 6524 0 0 0 0 0 0 + 3224 3 0 0 0 32574 6053 6524 6605 0 0 0 0 0 0 + 3225 3 0 0 0 32575 6053 6605 6437 0 0 0 0 0 0 + 3226 3 0 0 0 32598 6055 6523 6144 0 0 0 0 0 0 + 3227 3 0 0 0 32599 6055 6609 6523 0 0 0 0 0 0 + 3228 3 0 0 0 32600 6055 6153 6666 0 0 0 0 0 0 + 3229 3 0 0 0 32602 6055 6666 6609 0 0 0 0 0 0 + 3230 3 0 0 0 31185 6057 6304 6232 0 0 0 0 0 0 + 3231 3 0 0 0 31486 6057 6343 6304 0 0 0 0 0 0 + 3232 3 0 0 0 31488 6057 6238 6343 0 0 0 0 0 0 + 3233 3 0 0 0 31635 6058 6142 6239 0 0 0 0 0 0 + 3234 3 0 0 0 31641 6058 6239 6339 0 0 0 0 0 0 + 3235 3 0 0 0 32624 6058 6431 6142 0 0 0 0 0 0 + 3236 3 0 0 0 32627 6058 6613 6431 0 0 0 0 0 0 + 3237 3 0 0 0 32628 6058 6671 6613 0 0 0 0 0 0 + 3238 3 0 0 0 32629 6058 6339 6671 0 0 0 0 0 0 + 3239 3 0 0 0 31209 6059 6064 6269 0 0 0 0 0 0 + 3240 3 0 0 0 31210 6059 6269 6201 0 0 0 0 0 0 + 3241 3 0 0 0 31215 6059 6308 6064 0 0 0 0 0 0 + 3242 3 0 0 0 31218 6059 6307 6340 0 0 0 0 0 0 + 3243 3 0 0 0 31220 6059 6340 6308 0 0 0 0 0 0 + 3244 3 0 0 0 32631 6059 6201 6397 0 0 0 0 0 0 + 3245 3 0 0 0 32631 6059 6397 6307 0 0 0 0 0 0 + 3246 3 0 0 0 30674 6060 6238 6309 0 0 0 0 0 0 + 3247 3 0 0 0 32632 6060 6343 6238 0 0 0 0 0 0 + 3248 3 0 0 0 32633 6060 6614 6447 0 0 0 0 0 0 + 3249 3 0 0 0 32634 6060 6309 6614 0 0 0 0 0 0 + 3250 3 0 0 0 32637 6060 6672 6343 0 0 0 0 0 0 + 3251 3 0 0 0 32638 6060 6447 6672 0 0 0 0 0 0 + 3252 3 0 0 0 31662 6062 6311 6242 0 0 0 0 0 0 + 3253 3 0 0 0 31664 6062 6242 6312 0 0 0 0 0 0 + 3254 3 0 0 0 31666 6062 6312 6160 0 0 0 0 0 0 + 3255 3 0 0 0 31663 6063 6312 6242 0 0 0 0 0 0 + 3256 3 0 0 0 31786 6065 6245 6161 0 0 0 0 0 0 + 3257 3 0 0 0 31846 6070 6355 6165 0 0 0 0 0 0 + 3258 3 0 0 0 31878 6072 6166 6246 0 0 0 0 0 0 + 3259 3 0 0 0 30673 6077 6309 6238 0 0 0 0 0 0 + 3260 3 0 0 0 31908 6077 6172 6309 0 0 0 0 0 0 + 3261 3 0 0 0 32708 6082 6250 6457 0 0 0 0 0 0 + 3262 3 0 0 0 32709 6082 6457 6371 0 0 0 0 0 0 + 3263 3 0 0 0 32713 6082 6371 6621 0 0 0 0 0 0 + 3264 3 0 0 0 30174 6084 6200 6268 0 0 0 0 0 0 + 3265 3 0 0 0 31019 6092 6181 6280 0 0 0 0 0 0 + 3266 3 0 0 0 32017 6092 6280 6179 0 0 0 0 0 0 + 3267 3 0 0 0 32786 6098 6380 6470 0 0 0 0 0 0 + 3268 3 0 0 0 32798 6100 6387 6556 0 0 0 0 0 0 + 3269 3 0 0 0 31233 6105 6341 6201 0 0 0 0 0 0 + 3270 3 0 0 0 32814 6105 6196 6341 0 0 0 0 0 0 + 3271 3 0 0 0 30282 6106 6324 6196 0 0 0 0 0 0 + 3272 3 0 0 0 30285 6106 6274 6324 0 0 0 0 0 0 + 3273 3 0 0 0 31731 6106 6198 6274 0 0 0 0 0 0 + 3274 3 0 0 0 32107 6108 6274 6198 0 0 0 0 0 0 + 3275 3 0 0 0 32108 6108 6348 6274 0 0 0 0 0 0 + 3276 3 0 0 0 32815 6108 6197 6395 0 0 0 0 0 0 + 3277 3 0 0 0 32816 6108 6395 6348 0 0 0 0 0 0 + 3278 3 0 0 0 31863 6109 6318 6195 0 0 0 0 0 0 + 3279 3 0 0 0 32820 6110 6199 6483 0 0 0 0 0 0 + 3280 3 0 0 0 32822 6110 6483 6396 0 0 0 0 0 0 + 3281 3 0 0 0 32825 6110 6537 6245 0 0 0 0 0 0 + 3282 3 0 0 0 32826 6110 6396 6537 0 0 0 0 0 0 + 3283 3 0 0 0 31219 6111 6340 6307 0 0 0 0 0 0 + 3284 3 0 0 0 31483 6111 6307 6200 0 0 0 0 0 0 + 3285 3 0 0 0 30280 6117 6196 6324 0 0 0 0 0 0 + 3286 3 0 0 0 32138 6117 6563 6341 0 0 0 0 0 0 + 3287 3 0 0 0 32225 6117 6324 6493 0 0 0 0 0 0 + 3288 3 0 0 0 32866 6117 6341 6196 0 0 0 0 0 0 + 3289 3 0 0 0 32867 6117 6493 6563 0 0 0 0 0 0 + 3290 3 0 0 0 32878 6119 6403 6277 0 0 0 0 0 0 + 3291 3 0 0 0 32879 6120 6404 6495 0 0 0 0 0 0 + 3292 3 0 0 0 31803 6127 6283 6226 0 0 0 0 0 0 + 3293 3 0 0 0 30429 6129 6218 6283 0 0 0 0 0 0 + 3294 3 0 0 0 32379 6130 6219 6507 0 0 0 0 0 0 + 3295 3 0 0 0 32936 6130 6507 6414 0 0 0 0 0 0 + 3296 3 0 0 0 32624 6142 6431 6293 0 0 0 0 0 0 + 3297 3 0 0 0 31646 6143 6339 6239 0 0 0 0 0 0 + 3298 3 0 0 0 32548 6148 6298 6527 0 0 0 0 0 0 + 3299 3 0 0 0 33033 6148 6527 6602 0 0 0 0 0 0 + 3300 3 0 0 0 33067 6153 6438 6666 0 0 0 0 0 0 + 3301 3 0 0 0 31222 6159 6308 6340 0 0 0 0 0 0 + 3302 3 0 0 0 33120 6161 6356 6311 0 0 0 0 0 0 + 3303 3 0 0 0 33121 6161 6245 6356 0 0 0 0 0 0 + 3304 3 0 0 0 31852 6165 6355 6451 0 0 0 0 0 0 + 3305 3 0 0 0 31854 6165 6451 6536 0 0 0 0 0 0 + 3306 3 0 0 0 33125 6165 6536 6318 0 0 0 0 0 0 + 3307 3 0 0 0 31885 6166 6455 6246 0 0 0 0 0 0 + 3308 3 0 0 0 32677 6166 6540 6455 0 0 0 0 0 0 + 3309 3 0 0 0 32679 6166 6360 6540 0 0 0 0 0 0 + 3310 3 0 0 0 31911 6172 6366 6309 0 0 0 0 0 0 + 3311 3 0 0 0 32715 6173 6363 6251 0 0 0 0 0 0 + 3312 3 0 0 0 33159 6179 6280 6551 0 0 0 0 0 0 + 3313 3 0 0 0 33160 6179 6551 6380 0 0 0 0 0 0 + 3314 3 0 0 0 33168 6181 6472 6280 0 0 0 0 0 0 + 3315 3 0 0 0 33169 6181 6382 6472 0 0 0 0 0 0 + 3316 3 0 0 0 31869 6195 6318 6539 0 0 0 0 0 0 + 3317 3 0 0 0 33205 6197 6482 6395 0 0 0 0 0 0 + 3318 3 0 0 0 33207 6197 6559 6482 0 0 0 0 0 0 + 3319 3 0 0 0 33208 6197 6624 6559 0 0 0 0 0 0 + 3320 3 0 0 0 32134 6200 6307 6485 0 0 0 0 0 0 + 3321 3 0 0 0 32136 6200 6485 6268 0 0 0 0 0 0 + 3322 3 0 0 0 32133 6201 6341 6397 0 0 0 0 0 0 + 3323 3 0 0 0 32157 6202 6270 6399 0 0 0 0 0 0 + 3324 3 0 0 0 32847 6202 6399 6564 0 0 0 0 0 0 + 3325 3 0 0 0 32360 6218 6415 6283 0 0 0 0 0 0 + 3326 3 0 0 0 33262 6218 6508 6415 0 0 0 0 0 0 + 3327 3 0 0 0 33263 6218 6414 6508 0 0 0 0 0 0 + 3328 3 0 0 0 32380 6219 6417 6507 0 0 0 0 0 0 + 3329 3 0 0 0 33264 6219 6293 6585 0 0 0 0 0 0 + 3330 3 0 0 0 33266 6219 6585 6417 0 0 0 0 0 0 + 3331 3 0 0 0 33295 6226 6283 6509 0 0 0 0 0 0 + 3332 3 0 0 0 33296 6226 6509 6427 0 0 0 0 0 0 + 3333 3 0 0 0 33297 6226 6427 6591 0 0 0 0 0 0 + 3334 3 0 0 0 32500 6232 6304 6433 0 0 0 0 0 0 + 3335 3 0 0 0 33356 6242 6538 6355 0 0 0 0 0 0 + 3336 3 0 0 0 33356 6242 6311 6538 0 0 0 0 0 0 + 3337 3 0 0 0 33360 6245 6537 6356 0 0 0 0 0 0 + 3338 3 0 0 0 31886 6246 6455 6362 0 0 0 0 0 0 + 3339 3 0 0 0 33130 6250 6362 6457 0 0 0 0 0 0 + 3340 3 0 0 0 33128 6251 6363 6453 0 0 0 0 0 0 + 3341 3 0 0 0 33388 6258 6386 6630 0 0 0 0 0 0 + 3342 3 0 0 0 33389 6258 6630 6382 0 0 0 0 0 0 + 3343 3 0 0 0 32137 6268 6485 6394 0 0 0 0 0 0 + 3344 3 0 0 0 33197 6268 6394 6463 0 0 0 0 0 0 + 3345 3 0 0 0 32161 6270 6487 6399 0 0 0 0 0 0 + 3346 3 0 0 0 33421 6270 6635 6487 0 0 0 0 0 0 + 3347 3 0 0 0 32864 6274 6348 6571 0 0 0 0 0 0 + 3348 3 0 0 0 33217 6274 6571 6324 0 0 0 0 0 0 + 3349 3 0 0 0 32895 6277 6403 6685 0 0 0 0 0 0 + 3350 3 0 0 0 32896 6277 6685 6575 0 0 0 0 0 0 + 3351 3 0 0 0 33451 6280 6645 6551 0 0 0 0 0 0 + 3352 3 0 0 0 33452 6280 6472 6645 0 0 0 0 0 0 + 3353 3 0 0 0 32363 6283 6415 6509 0 0 0 0 0 0 + 3354 3 0 0 0 33280 6288 6424 6654 0 0 0 0 0 0 + 3355 3 0 0 0 33481 6288 6654 6404 0 0 0 0 0 0 + 3356 3 0 0 0 33507 6293 6431 6585 0 0 0 0 0 0 + 3357 3 0 0 0 33322 6298 6437 6527 0 0 0 0 0 0 + 3358 3 0 0 0 32510 6304 6524 6433 0 0 0 0 0 0 + 3359 3 0 0 0 33086 6304 6343 6612 0 0 0 0 0 0 + 3360 3 0 0 0 33087 6304 6612 6524 0 0 0 0 0 0 + 3361 3 0 0 0 32135 6307 6397 6485 0 0 0 0 0 0 + 3362 3 0 0 0 33112 6309 6366 6614 0 0 0 0 0 0 + 3363 3 0 0 0 33569 6311 6356 6538 0 0 0 0 0 0 + 3364 3 0 0 0 31871 6318 6359 6539 0 0 0 0 0 0 + 3365 3 0 0 0 33358 6318 6536 6359 0 0 0 0 0 0 + 3366 3 0 0 0 32227 6324 6402 6493 0 0 0 0 0 0 + 3367 3 0 0 0 33607 6324 6571 6402 0 0 0 0 0 0 + 3368 3 0 0 0 33020 6339 6599 6432 0 0 0 0 0 0 + 3369 3 0 0 0 33346 6339 6432 6671 0 0 0 0 0 0 + 3370 3 0 0 0 32141 6341 6563 6397 0 0 0 0 0 0 + 3371 3 0 0 0 33565 6343 6672 6612 0 0 0 0 0 0 + 3372 3 0 0 0 32861 6348 6492 6571 0 0 0 0 0 0 + 3373 3 0 0 0 33199 6348 6395 6561 0 0 0 0 0 0 + 3374 3 0 0 0 33598 6348 6561 6492 0 0 0 0 0 0 + 3375 3 0 0 0 33570 6355 6538 6451 0 0 0 0 0 0 + 3376 3 0 0 0 33573 6356 6675 6538 0 0 0 0 0 0 + 3377 3 0 0 0 33707 6356 6537 6675 0 0 0 0 0 0 + 3378 3 0 0 0 31868 6359 6452 6539 0 0 0 0 0 0 + 3379 3 0 0 0 33578 6359 6536 6484 0 0 0 0 0 0 + 3380 3 0 0 0 33580 6359 6562 6452 0 0 0 0 0 0 + 3381 3 0 0 0 33582 6359 6484 6562 0 0 0 0 0 0 + 3382 3 0 0 0 33428 6360 6453 6633 0 0 0 0 0 0 + 3383 3 0 0 0 33429 6360 6633 6682 0 0 0 0 0 0 + 3384 3 0 0 0 33723 6360 6682 6540 0 0 0 0 0 0 + 3385 3 0 0 0 33433 6362 6572 6457 0 0 0 0 0 0 + 3386 3 0 0 0 33434 6362 6455 6572 0 0 0 0 0 0 + 3387 3 0 0 0 33413 6363 6560 6453 0 0 0 0 0 0 + 3388 3 0 0 0 33414 6363 6463 6560 0 0 0 0 0 0 + 3389 3 0 0 0 33754 6366 6621 6814 0 0 0 0 0 0 + 3390 3 0 0 0 33755 6366 6814 6614 0 0 0 0 0 0 + 3391 3 0 0 0 33781 6371 6457 6722 0 0 0 0 0 0 + 3392 3 0 0 0 33784 6371 6722 6900 0 0 0 0 0 0 + 3393 3 0 0 0 33786 6371 6900 7035 0 0 0 0 0 0 + 3394 3 0 0 0 33787 6371 7035 6621 0 0 0 0 0 0 + 3395 3 0 0 0 33866 6380 6551 6735 0 0 0 0 0 0 + 3396 3 0 0 0 33868 6380 6735 6470 0 0 0 0 0 0 + 3397 3 0 0 0 33882 6382 6737 6472 0 0 0 0 0 0 + 3398 3 0 0 0 33883 6382 6630 6737 0 0 0 0 0 0 + 3399 3 0 0 0 33913 6386 6742 6630 0 0 0 0 0 0 + 3400 3 0 0 0 33914 6386 6831 6742 0 0 0 0 0 0 + 3401 3 0 0 0 33915 6386 6575 6831 0 0 0 0 0 0 + 3402 3 0 0 0 33917 6387 6743 6556 0 0 0 0 0 0 + 3403 3 0 0 0 33919 6387 6826 6743 0 0 0 0 0 0 + 3404 3 0 0 0 33920 6387 6470 6826 0 0 0 0 0 0 + 3405 3 0 0 0 33673 6392 6559 6452 0 0 0 0 0 0 + 3406 3 0 0 0 33676 6392 6452 6562 0 0 0 0 0 0 + 3407 3 0 0 0 33964 6392 6731 6559 0 0 0 0 0 0 + 3408 3 0 0 0 33965 6392 6562 6810 0 0 0 0 0 0 + 3409 3 0 0 0 33966 6392 6810 6718 0 0 0 0 0 0 + 3410 3 0 0 0 33967 6392 6718 6836 0 0 0 0 0 0 + 3411 3 0 0 0 33968 6392 6836 6731 0 0 0 0 0 0 + 3412 3 0 0 0 32142 6394 6485 6563 0 0 0 0 0 0 + 3413 3 0 0 0 32230 6394 6638 6463 0 0 0 0 0 0 + 3414 3 0 0 0 32235 6394 6493 6638 0 0 0 0 0 0 + 3415 3 0 0 0 32867 6394 6563 6493 0 0 0 0 0 0 + 3416 3 0 0 0 33417 6395 6482 6634 0 0 0 0 0 0 + 3417 3 0 0 0 33985 6395 6634 6561 0 0 0 0 0 0 + 3418 3 0 0 0 33986 6396 6483 6717 0 0 0 0 0 0 + 3419 3 0 0 0 33988 6396 6809 6537 0 0 0 0 0 0 + 3420 3 0 0 0 33989 6396 6717 6898 0 0 0 0 0 0 + 3421 3 0 0 0 33990 6396 6898 6809 0 0 0 0 0 0 + 3422 3 0 0 0 32140 6397 6563 6485 0 0 0 0 0 0 + 3423 3 0 0 0 32165 6399 6487 6565 0 0 0 0 0 0 + 3424 3 0 0 0 34006 6399 6840 6564 0 0 0 0 0 0 + 3425 3 0 0 0 34007 6399 6565 6840 0 0 0 0 0 0 + 3426 3 0 0 0 32233 6402 6638 6493 0 0 0 0 0 0 + 3427 3 0 0 0 34038 6402 6751 6638 0 0 0 0 0 0 + 3428 3 0 0 0 34039 6402 6571 6838 0 0 0 0 0 0 + 3429 3 0 0 0 34040 6402 6838 6751 0 0 0 0 0 0 + 3430 3 0 0 0 34041 6403 6757 6685 0 0 0 0 0 0 + 3431 3 0 0 0 34042 6403 6495 6757 0 0 0 0 0 0 + 3432 3 0 0 0 34044 6404 6848 6495 0 0 0 0 0 0 + 3433 3 0 0 0 34045 6404 6654 6848 0 0 0 0 0 0 + 3434 3 0 0 0 34145 6414 6507 6769 0 0 0 0 0 0 + 3435 3 0 0 0 34146 6414 6769 6508 0 0 0 0 0 0 + 3436 3 0 0 0 34147 6415 6508 6770 0 0 0 0 0 0 + 3437 3 0 0 0 34148 6415 6862 6509 0 0 0 0 0 0 + 3438 3 0 0 0 34149 6415 6770 6862 0 0 0 0 0 0 + 3439 3 0 0 0 34161 6417 6860 6507 0 0 0 0 0 0 + 3440 3 0 0 0 34164 6417 6585 6775 0 0 0 0 0 0 + 3441 3 0 0 0 34167 6417 6942 6860 0 0 0 0 0 0 + 3442 3 0 0 0 34168 6417 6775 6942 0 0 0 0 0 0 + 3443 3 0 0 0 32964 6424 6591 6518 0 0 0 0 0 0 + 3444 3 0 0 0 34241 6424 6872 6654 0 0 0 0 0 0 + 3445 3 0 0 0 34243 6424 6518 6872 0 0 0 0 0 0 + 3446 3 0 0 0 33624 6427 6509 6593 0 0 0 0 0 0 + 3447 3 0 0 0 34266 6427 6785 6591 0 0 0 0 0 0 + 3448 3 0 0 0 34267 6427 7008 6785 0 0 0 0 0 0 + 3449 3 0 0 0 34268 6427 6593 7008 0 0 0 0 0 0 + 3450 3 0 0 0 34298 6431 6865 6585 0 0 0 0 0 0 + 3451 3 0 0 0 34299 6431 6613 6865 0 0 0 0 0 0 + 3452 3 0 0 0 34300 6432 6882 6671 0 0 0 0 0 0 + 3453 3 0 0 0 34304 6432 6599 7012 0 0 0 0 0 0 + 3454 3 0 0 0 34306 6432 7012 7059 0 0 0 0 0 0 + 3455 3 0 0 0 34307 6432 7059 6882 0 0 0 0 0 0 + 3456 3 0 0 0 33326 6437 6700 6527 0 0 0 0 0 0 + 3457 3 0 0 0 34338 6437 6798 6700 0 0 0 0 0 0 + 3458 3 0 0 0 34339 6437 6605 6798 0 0 0 0 0 0 + 3459 3 0 0 0 33333 6438 6608 6666 0 0 0 0 0 0 + 3460 3 0 0 0 34340 6438 6887 6608 0 0 0 0 0 0 + 3461 3 0 0 0 34341 6438 6602 6887 0 0 0 0 0 0 + 3462 3 0 0 0 34468 6447 6901 6897 0 0 0 0 0 0 + 3463 3 0 0 0 34469 6447 6614 6901 0 0 0 0 0 0 + 3464 3 0 0 0 34470 6447 6897 6972 0 0 0 0 0 0 + 3465 3 0 0 0 34472 6447 6972 6672 0 0 0 0 0 0 + 3466 3 0 0 0 31860 6451 6617 6536 0 0 0 0 0 0 + 3467 3 0 0 0 33571 6451 6675 6617 0 0 0 0 0 0 + 3468 3 0 0 0 33574 6451 6538 6675 0 0 0 0 0 0 + 3469 3 0 0 0 33410 6452 6559 6624 0 0 0 0 0 0 + 3470 3 0 0 0 33411 6452 6624 6539 0 0 0 0 0 0 + 3471 3 0 0 0 32121 6453 6560 6633 0 0 0 0 0 0 + 3472 3 0 0 0 33435 6455 6639 6572 0 0 0 0 0 0 + 3473 3 0 0 0 33725 6455 6540 6639 0 0 0 0 0 0 + 3474 3 0 0 0 34505 6457 6572 6722 0 0 0 0 0 0 + 3475 3 0 0 0 32234 6463 6638 6560 0 0 0 0 0 0 + 3476 3 0 0 0 34557 6470 6735 6826 0 0 0 0 0 0 + 3477 3 0 0 0 34563 6472 6737 6828 0 0 0 0 0 0 + 3478 3 0 0 0 34564 6472 6828 6645 0 0 0 0 0 0 + 3479 3 0 0 0 33826 6482 6559 6731 0 0 0 0 0 0 + 3480 3 0 0 0 33830 6482 6731 6977 0 0 0 0 0 0 + 3481 3 0 0 0 34606 6482 6977 6634 0 0 0 0 0 0 + 3482 3 0 0 0 33716 6483 6564 6717 0 0 0 0 0 0 + 3483 3 0 0 0 33709 6484 6536 6617 0 0 0 0 0 0 + 3484 3 0 0 0 33713 6484 6716 6562 0 0 0 0 0 0 + 3485 3 0 0 0 33714 6484 6617 6716 0 0 0 0 0 0 + 3486 3 0 0 0 33949 6487 6635 6983 0 0 0 0 0 0 + 3487 3 0 0 0 34621 6487 6752 6565 0 0 0 0 0 0 + 3488 3 0 0 0 34622 6487 6983 6752 0 0 0 0 0 0 + 3489 3 0 0 0 33975 6492 6750 6838 0 0 0 0 0 0 + 3490 3 0 0 0 33977 6492 6838 6571 0 0 0 0 0 0 + 3491 3 0 0 0 34015 6492 6561 6920 0 0 0 0 0 0 + 3492 3 0 0 0 34660 6492 6920 6750 0 0 0 0 0 0 + 3493 3 0 0 0 34680 6495 6848 6757 0 0 0 0 0 0 + 3494 3 0 0 0 32894 6499 6575 6685 0 0 0 0 0 0 + 3495 3 0 0 0 34049 6499 6831 6575 0 0 0 0 0 0 + 3496 3 0 0 0 34053 6499 6930 6831 0 0 0 0 0 0 + 3497 3 0 0 0 34054 6499 6759 6930 0 0 0 0 0 0 + 3498 3 0 0 0 34691 6499 6685 6850 0 0 0 0 0 0 + 3499 3 0 0 0 34692 6499 6850 6759 0 0 0 0 0 0 + 3500 3 0 0 0 34750 6507 6860 6769 0 0 0 0 0 0 + 3501 3 0 0 0 34752 6508 6769 6861 0 0 0 0 0 0 + 3502 3 0 0 0 34753 6508 6861 6770 0 0 0 0 0 0 + 3503 3 0 0 0 34754 6509 6862 6593 0 0 0 0 0 0 + 3504 3 0 0 0 34245 6518 6591 6785 0 0 0 0 0 0 + 3505 3 0 0 0 34250 6518 6951 6786 0 0 0 0 0 0 + 3506 3 0 0 0 34251 6518 6785 6951 0 0 0 0 0 0 + 3507 3 0 0 0 34791 6518 6786 6872 0 0 0 0 0 0 + 3508 3 0 0 0 34287 6523 6609 6881 0 0 0 0 0 0 + 3509 3 0 0 0 34288 6523 6881 6599 0 0 0 0 0 0 + 3510 3 0 0 0 34310 6524 6612 6794 0 0 0 0 0 0 + 3511 3 0 0 0 34312 6524 6794 6605 0 0 0 0 0 0 + 3512 3 0 0 0 34334 6527 6700 6797 0 0 0 0 0 0 + 3513 3 0 0 0 34335 6527 6797 6602 0 0 0 0 0 0 + 3514 3 0 0 0 34497 6537 6809 6675 0 0 0 0 0 0 + 3515 3 0 0 0 33728 6540 6719 6639 0 0 0 0 0 0 + 3516 3 0 0 0 34499 6540 6682 6719 0 0 0 0 0 0 + 3517 3 0 0 0 33874 6551 6645 6908 0 0 0 0 0 0 + 3518 3 0 0 0 34943 6551 6908 6735 0 0 0 0 0 0 + 3519 3 0 0 0 34585 6556 6916 6635 0 0 0 0 0 0 + 3520 3 0 0 0 34586 6556 6743 6916 0 0 0 0 0 0 + 3521 3 0 0 0 34604 6560 6751 6633 0 0 0 0 0 0 + 3522 3 0 0 0 34605 6560 6638 6751 0 0 0 0 0 0 + 3523 3 0 0 0 34014 6561 6711 6920 0 0 0 0 0 0 + 3524 3 0 0 0 34541 6561 6634 6711 0 0 0 0 0 0 + 3525 3 0 0 0 34975 6562 6716 6810 0 0 0 0 0 0 + 3526 3 0 0 0 34609 6564 6840 6717 0 0 0 0 0 0 + 3527 3 0 0 0 34620 6565 7041 6840 0 0 0 0 0 0 + 3528 3 0 0 0 34976 6565 6752 6841 0 0 0 0 0 0 + 3529 3 0 0 0 34978 6565 6841 7041 0 0 0 0 0 0 + 3530 3 0 0 0 35002 6572 6927 6722 0 0 0 0 0 0 + 3531 3 0 0 0 35003 6572 6639 6927 0 0 0 0 0 0 + 3532 3 0 0 0 35066 6585 6865 6775 0 0 0 0 0 0 + 3533 3 0 0 0 35113 6593 6862 6772 0 0 0 0 0 0 + 3534 3 0 0 0 35114 6593 6772 6879 0 0 0 0 0 0 + 3535 3 0 0 0 35117 6593 6879 7008 0 0 0 0 0 0 + 3536 3 0 0 0 34806 6599 6881 7012 0 0 0 0 0 0 + 3537 3 0 0 0 35158 6602 6797 6887 0 0 0 0 0 0 + 3538 3 0 0 0 35171 6605 6794 6891 0 0 0 0 0 0 + 3539 3 0 0 0 35174 6605 6891 6798 0 0 0 0 0 0 + 3540 3 0 0 0 34836 6608 6962 6666 0 0 0 0 0 0 + 3541 3 0 0 0 34837 6608 6886 6962 0 0 0 0 0 0 + 3542 3 0 0 0 35188 6608 7023 6886 0 0 0 0 0 0 + 3543 3 0 0 0 35189 6608 6887 7023 0 0 0 0 0 0 + 3544 3 0 0 0 34834 6609 6666 6962 0 0 0 0 0 0 + 3545 3 0 0 0 35190 6609 6962 7024 0 0 0 0 0 0 + 3546 3 0 0 0 35191 6609 7024 6881 0 0 0 0 0 0 + 3547 3 0 0 0 34889 6612 6672 6895 0 0 0 0 0 0 + 3548 3 0 0 0 34891 6612 6895 6794 0 0 0 0 0 0 + 3549 3 0 0 0 35206 6613 6671 7031 0 0 0 0 0 0 + 3550 3 0 0 0 35207 6613 7031 7067 0 0 0 0 0 0 + 3551 3 0 0 0 35208 6613 7067 6865 0 0 0 0 0 0 + 3552 3 0 0 0 34513 6614 6814 6901 0 0 0 0 0 0 + 3553 3 0 0 0 34495 6617 6809 6716 0 0 0 0 0 0 + 3554 3 0 0 0 34496 6617 6675 6809 0 0 0 0 0 0 + 3555 3 0 0 0 35221 6621 7035 6814 0 0 0 0 0 0 + 3556 3 0 0 0 35238 6630 6742 6914 0 0 0 0 0 0 + 3557 3 0 0 0 35239 6630 6914 6737 0 0 0 0 0 0 + 3558 3 0 0 0 33980 6633 6919 6682 0 0 0 0 0 0 + 3559 3 0 0 0 33982 6633 6751 6919 0 0 0 0 0 0 + 3560 3 0 0 0 34937 6634 6977 6821 0 0 0 0 0 0 + 3561 3 0 0 0 35247 6634 6821 6711 0 0 0 0 0 0 + 3562 3 0 0 0 35248 6635 6916 6983 0 0 0 0 0 0 + 3563 3 0 0 0 34665 6639 6845 6927 0 0 0 0 0 0 + 3564 3 0 0 0 34990 6639 6719 6845 0 0 0 0 0 0 + 3565 3 0 0 0 35274 6645 6828 6996 0 0 0 0 0 0 + 3566 3 0 0 0 35275 6645 6996 6908 0 0 0 0 0 0 + 3567 3 0 0 0 35075 6654 6781 6848 0 0 0 0 0 0 + 3568 3 0 0 0 35078 6654 6872 6781 0 0 0 0 0 0 + 3569 3 0 0 0 35378 6671 6882 7031 0 0 0 0 0 0 + 3570 3 0 0 0 35209 6672 6972 6895 0 0 0 0 0 0 + 3571 3 0 0 0 35423 6682 6919 6989 0 0 0 0 0 0 + 3572 3 0 0 0 35424 6682 6989 6719 0 0 0 0 0 0 + 3573 3 0 0 0 35264 6685 6757 6850 0 0 0 0 0 0 + 3574 3 0 0 0 34861 6700 7017 6797 0 0 0 0 0 0 + 3575 3 0 0 0 35164 6700 6798 6889 0 0 0 0 0 0 + 3576 3 0 0 0 35167 6700 6889 7017 0 0 0 0 0 0 + 3577 3 0 0 0 34020 6711 6987 6920 0 0 0 0 0 0 + 3578 3 0 0 0 35001 6711 6926 6987 0 0 0 0 0 0 + 3579 3 0 0 0 35419 6711 6821 6926 0 0 0 0 0 0 + 3580 3 0 0 0 34919 6716 6809 6898 0 0 0 0 0 0 + 3581 3 0 0 0 34921 6716 6898 6810 0 0 0 0 0 0 + 3582 3 0 0 0 34613 6717 6840 6985 0 0 0 0 0 0 + 3583 3 0 0 0 35544 6717 6985 6898 0 0 0 0 0 0 + 3584 3 0 0 0 34615 6718 6810 6985 0 0 0 0 0 0 + 3585 3 0 0 0 34616 6718 6985 7041 0 0 0 0 0 0 + 3586 3 0 0 0 34618 6718 7041 6918 0 0 0 0 0 0 + 3587 3 0 0 0 35389 6718 6918 6836 0 0 0 0 0 0 + 3588 3 0 0 0 34993 6719 6925 6845 0 0 0 0 0 0 + 3589 3 0 0 0 35545 6719 6989 6925 0 0 0 0 0 0 + 3590 3 0 0 0 35256 6722 6847 6900 0 0 0 0 0 0 + 3591 3 0 0 0 35425 6722 6927 6847 0 0 0 0 0 0 + 3592 3 0 0 0 34971 6731 6836 6906 0 0 0 0 0 0 + 3593 3 0 0 0 35246 6731 6906 6977 0 0 0 0 0 0 + 3594 3 0 0 0 35651 6735 6908 7095 0 0 0 0 0 0 + 3595 3 0 0 0 35652 6735 7095 6826 0 0 0 0 0 0 + 3596 3 0 0 0 35666 6737 7096 6828 0 0 0 0 0 0 + 3597 3 0 0 0 35667 6737 6914 7096 0 0 0 0 0 0 + 3598 3 0 0 0 35701 6742 7102 6914 0 0 0 0 0 0 + 3599 3 0 0 0 35704 6742 7269 7102 0 0 0 0 0 0 + 3600 3 0 0 0 35705 6742 6831 7269 0 0 0 0 0 0 + 3601 3 0 0 0 35240 6743 6826 6981 0 0 0 0 0 0 + 3602 3 0 0 0 35707 6743 6981 7103 0 0 0 0 0 0 + 3603 3 0 0 0 35708 6743 7103 6916 0 0 0 0 0 0 + 3604 3 0 0 0 33983 6750 6919 6838 0 0 0 0 0 0 + 3605 3 0 0 0 35765 6750 6989 6919 0 0 0 0 0 0 + 3606 3 0 0 0 35766 6750 7081 6989 0 0 0 0 0 0 + 3607 3 0 0 0 35767 6750 6920 7081 0 0 0 0 0 0 + 3608 3 0 0 0 33984 6751 6838 6919 0 0 0 0 0 0 + 3609 3 0 0 0 35768 6752 6983 7106 0 0 0 0 0 0 + 3610 3 0 0 0 35769 6752 7189 6841 0 0 0 0 0 0 + 3611 3 0 0 0 35771 6752 7106 7189 0 0 0 0 0 0 + 3612 3 0 0 0 34668 6756 6847 6927 0 0 0 0 0 0 + 3613 3 0 0 0 34669 6756 6927 6845 0 0 0 0 0 0 + 3614 3 0 0 0 34678 6756 6845 6991 0 0 0 0 0 0 + 3615 3 0 0 0 35803 6756 7199 6847 0 0 0 0 0 0 + 3616 3 0 0 0 35804 6756 6991 7349 0 0 0 0 0 0 + 3617 3 0 0 0 35805 6756 7349 7199 0 0 0 0 0 0 + 3618 3 0 0 0 35807 6757 6848 7052 0 0 0 0 0 0 + 3619 3 0 0 0 35808 6757 7052 6850 0 0 0 0 0 0 + 3620 3 0 0 0 35827 6759 7116 6930 0 0 0 0 0 0 + 3621 3 0 0 0 35828 6759 6850 7118 0 0 0 0 0 0 + 3622 3 0 0 0 35832 6759 7118 7352 0 0 0 0 0 0 + 3623 3 0 0 0 35833 6759 7352 7116 0 0 0 0 0 0 + 3624 3 0 0 0 35284 6769 6940 6861 0 0 0 0 0 0 + 3625 3 0 0 0 35287 6769 6860 6940 0 0 0 0 0 0 + 3626 3 0 0 0 35293 6770 6861 7001 0 0 0 0 0 0 + 3627 3 0 0 0 35947 6770 7131 6862 0 0 0 0 0 0 + 3628 3 0 0 0 35948 6770 7001 7131 0 0 0 0 0 0 + 3629 3 0 0 0 35956 6772 6862 7131 0 0 0 0 0 0 + 3630 3 0 0 0 35957 6772 7135 6879 0 0 0 0 0 0 + 3631 3 0 0 0 35958 6772 7292 7135 0 0 0 0 0 0 + 3632 3 0 0 0 35959 6772 7131 7292 0 0 0 0 0 0 + 3633 3 0 0 0 35993 6775 7137 6942 0 0 0 0 0 0 + 3634 3 0 0 0 35994 6775 6865 7224 0 0 0 0 0 0 + 3635 3 0 0 0 35995 6775 7224 7137 0 0 0 0 0 0 + 3636 3 0 0 0 35080 6781 6872 6945 0 0 0 0 0 0 + 3637 3 0 0 0 35303 6781 7052 6848 0 0 0 0 0 0 + 3638 3 0 0 0 36043 6781 6945 7208 0 0 0 0 0 0 + 3639 3 0 0 0 36044 6781 7208 7052 0 0 0 0 0 0 + 3640 3 0 0 0 36078 6785 7008 6951 0 0 0 0 0 0 + 3641 3 0 0 0 35459 6786 6945 6872 0 0 0 0 0 0 + 3642 3 0 0 0 36079 6786 7142 6945 0 0 0 0 0 0 + 3643 3 0 0 0 36081 6786 7374 7142 0 0 0 0 0 0 + 3644 3 0 0 0 36082 6786 6951 7374 0 0 0 0 0 0 + 3645 3 0 0 0 36165 6794 6895 7157 0 0 0 0 0 0 + 3646 3 0 0 0 36166 6794 7157 6891 0 0 0 0 0 0 + 3647 3 0 0 0 34863 6797 7017 6964 0 0 0 0 0 0 + 3648 3 0 0 0 35484 6797 6964 6887 0 0 0 0 0 0 + 3649 3 0 0 0 36198 6798 6891 7160 0 0 0 0 0 0 + 3650 3 0 0 0 36199 6798 7160 6889 0 0 0 0 0 0 + 3651 3 0 0 0 35544 6810 6898 6985 0 0 0 0 0 0 + 3652 3 0 0 0 35569 6814 7084 6901 0 0 0 0 0 0 + 3653 3 0 0 0 36362 6814 7035 7084 0 0 0 0 0 0 + 3654 3 0 0 0 35420 6821 7046 6926 0 0 0 0 0 0 + 3655 3 0 0 0 35594 6821 7088 7046 0 0 0 0 0 0 + 3656 3 0 0 0 35595 6821 6977 7088 0 0 0 0 0 0 + 3657 3 0 0 0 36392 6826 7095 6981 0 0 0 0 0 0 + 3658 3 0 0 0 36393 6828 7096 7180 0 0 0 0 0 0 + 3659 3 0 0 0 36394 6828 7180 6996 0 0 0 0 0 0 + 3660 3 0 0 0 35815 6831 6930 7269 0 0 0 0 0 0 + 3661 3 0 0 0 33999 6836 6918 6984 0 0 0 0 0 0 + 3662 3 0 0 0 34972 6836 6984 6906 0 0 0 0 0 0 + 3663 3 0 0 0 34619 6840 7041 6985 0 0 0 0 0 0 + 3664 3 0 0 0 34978 6841 6918 7041 0 0 0 0 0 0 + 3665 3 0 0 0 35251 6841 7040 6918 0 0 0 0 0 0 + 3666 3 0 0 0 35769 6841 7189 7040 0 0 0 0 0 0 + 3667 3 0 0 0 35786 6845 6925 6991 0 0 0 0 0 0 + 3668 3 0 0 0 34999 6846 6987 6926 0 0 0 0 0 0 + 3669 3 0 0 0 35790 6846 7198 6987 0 0 0 0 0 0 + 3670 3 0 0 0 35792 6846 6926 6988 0 0 0 0 0 0 + 3671 3 0 0 0 35799 6846 6988 7279 0 0 0 0 0 0 + 3672 3 0 0 0 36467 6846 7115 7198 0 0 0 0 0 0 + 3673 3 0 0 0 36468 6846 7279 7115 0 0 0 0 0 0 + 3674 3 0 0 0 36470 6847 7257 6900 0 0 0 0 0 0 + 3675 3 0 0 0 36471 6847 7199 7257 0 0 0 0 0 0 + 3676 3 0 0 0 36477 6850 7052 7118 0 0 0 0 0 0 + 3677 3 0 0 0 35962 6860 7130 6940 0 0 0 0 0 0 + 3678 3 0 0 0 35980 6860 6942 7130 0 0 0 0 0 0 + 3679 3 0 0 0 35961 6861 6940 7001 0 0 0 0 0 0 + 3680 3 0 0 0 36570 6865 7067 7224 0 0 0 0 0 0 + 3681 3 0 0 0 36655 6879 7311 7008 0 0 0 0 0 0 + 3682 3 0 0 0 36657 6879 7378 7311 0 0 0 0 0 0 + 3683 3 0 0 0 36658 6879 7135 7378 0 0 0 0 0 0 + 3684 3 0 0 0 36114 6881 7237 7012 0 0 0 0 0 0 + 3685 3 0 0 0 36116 6881 7024 7237 0 0 0 0 0 0 + 3686 3 0 0 0 36104 6882 7059 7153 0 0 0 0 0 0 + 3687 3 0 0 0 36153 6882 7241 7031 0 0 0 0 0 0 + 3688 3 0 0 0 36666 6882 7153 7241 0 0 0 0 0 0 + 3689 3 0 0 0 36182 6886 7159 7243 0 0 0 0 0 0 + 3690 3 0 0 0 36183 6886 7243 6962 0 0 0 0 0 0 + 3691 3 0 0 0 36686 6886 7023 7321 0 0 0 0 0 0 + 3692 3 0 0 0 36688 6886 7321 7159 0 0 0 0 0 0 + 3693 3 0 0 0 36201 6887 6964 7023 0 0 0 0 0 0 + 3694 3 0 0 0 36220 6889 7323 7017 0 0 0 0 0 0 + 3695 3 0 0 0 36695 6889 7160 7389 0 0 0 0 0 0 + 3696 3 0 0 0 36696 6889 7389 7323 0 0 0 0 0 0 + 3697 3 0 0 0 36233 6891 7157 7249 0 0 0 0 0 0 + 3698 3 0 0 0 36235 6891 7249 7160 0 0 0 0 0 0 + 3699 3 0 0 0 36333 6895 6972 7254 0 0 0 0 0 0 + 3700 3 0 0 0 36334 6895 7254 7157 0 0 0 0 0 0 + 3701 3 0 0 0 35577 6897 6901 7258 0 0 0 0 0 0 + 3702 3 0 0 0 36745 6897 7334 6972 0 0 0 0 0 0 + 3703 3 0 0 0 36747 6897 7396 7334 0 0 0 0 0 0 + 3704 3 0 0 0 36748 6897 7258 7396 0 0 0 0 0 0 + 3705 3 0 0 0 36749 6900 7172 7035 0 0 0 0 0 0 + 3706 3 0 0 0 36750 6900 7257 7172 0 0 0 0 0 0 + 3707 3 0 0 0 35576 6901 7084 7258 0 0 0 0 0 0 + 3708 3 0 0 0 35622 6906 6984 7259 0 0 0 0 0 0 + 3709 3 0 0 0 36377 6906 7088 6977 0 0 0 0 0 0 + 3710 3 0 0 0 36378 6906 7259 7088 0 0 0 0 0 0 + 3711 3 0 0 0 35657 6908 6996 7264 0 0 0 0 0 0 + 3712 3 0 0 0 36773 6908 7264 7095 0 0 0 0 0 0 + 3713 3 0 0 0 35910 6914 7102 7184 0 0 0 0 0 0 + 3714 3 0 0 0 35911 6914 7184 7096 0 0 0 0 0 0 + 3715 3 0 0 0 35737 6916 7341 6983 0 0 0 0 0 0 + 3716 3 0 0 0 35738 6916 7103 7341 0 0 0 0 0 0 + 3717 3 0 0 0 34004 6918 7040 6984 0 0 0 0 0 0 + 3718 3 0 0 0 36356 6920 6987 7081 0 0 0 0 0 0 + 3719 3 0 0 0 35788 6925 7198 6991 0 0 0 0 0 0 + 3720 3 0 0 0 36358 6925 6989 7081 0 0 0 0 0 0 + 3721 3 0 0 0 36813 6925 7081 7198 0 0 0 0 0 0 + 3722 3 0 0 0 34037 6926 7046 6988 0 0 0 0 0 0 + 3723 3 0 0 0 35814 6930 7116 7200 0 0 0 0 0 0 + 3724 3 0 0 0 35816 6930 7200 7269 0 0 0 0 0 0 + 3725 3 0 0 0 35969 6940 7130 7221 0 0 0 0 0 0 + 3726 3 0 0 0 35972 6940 7296 7001 0 0 0 0 0 0 + 3727 3 0 0 0 35973 6940 7221 7296 0 0 0 0 0 0 + 3728 3 0 0 0 36861 6942 7137 7365 0 0 0 0 0 0 + 3729 3 0 0 0 36863 6942 7365 7130 0 0 0 0 0 0 + 3730 3 0 0 0 36866 6945 7303 7208 0 0 0 0 0 0 + 3731 3 0 0 0 36867 6945 7142 7303 0 0 0 0 0 0 + 3732 3 0 0 0 36641 6951 7311 7233 0 0 0 0 0 0 + 3733 3 0 0 0 36643 6951 7008 7311 0 0 0 0 0 0 + 3734 3 0 0 0 36903 6951 7233 7374 0 0 0 0 0 0 + 3735 3 0 0 0 36676 6962 7243 7024 0 0 0 0 0 0 + 3736 3 0 0 0 36204 6964 7161 7023 0 0 0 0 0 0 + 3737 3 0 0 0 36205 6964 7245 7161 0 0 0 0 0 0 + 3738 3 0 0 0 36690 6964 7017 7245 0 0 0 0 0 0 + 3739 3 0 0 0 36981 6972 7334 7254 0 0 0 0 0 0 + 3740 3 0 0 0 36404 6981 7186 7103 0 0 0 0 0 0 + 3741 3 0 0 0 37012 6981 7095 7399 0 0 0 0 0 0 + 3742 3 0 0 0 37013 6981 7399 7186 0 0 0 0 0 0 + 3743 3 0 0 0 35739 6983 7341 7106 0 0 0 0 0 0 + 3744 3 0 0 0 35624 6984 7092 7259 0 0 0 0 0 0 + 3745 3 0 0 0 36417 6984 7040 7092 0 0 0 0 0 0 + 3746 3 0 0 0 36813 6987 7198 7081 0 0 0 0 0 0 + 3747 3 0 0 0 36759 6988 7046 7090 0 0 0 0 0 0 + 3748 3 0 0 0 37029 6988 7405 7279 0 0 0 0 0 0 + 3749 3 0 0 0 37030 6988 7090 7405 0 0 0 0 0 0 + 3750 3 0 0 0 36467 6991 7198 7115 0 0 0 0 0 0 + 3751 3 0 0 0 36815 6991 7115 7349 0 0 0 0 0 0 + 3752 3 0 0 0 37054 6996 7180 7125 0 0 0 0 0 0 + 3753 3 0 0 0 37055 6996 7125 7264 0 0 0 0 0 0 + 3754 3 0 0 0 35970 7001 7296 7215 0 0 0 0 0 0 + 3755 3 0 0 0 36843 7001 7215 7131 0 0 0 0 0 0 + 3756 3 0 0 0 36115 7012 7237 7152 0 0 0 0 0 0 + 3757 3 0 0 0 36934 7012 7152 7059 0 0 0 0 0 0 + 3758 3 0 0 0 36693 7017 7323 7245 0 0 0 0 0 0 + 3759 3 0 0 0 37152 7023 7161 7321 0 0 0 0 0 0 + 3760 3 0 0 0 36120 7024 7316 7237 0 0 0 0 0 0 + 3761 3 0 0 0 37154 7024 7243 7316 0 0 0 0 0 0 + 3762 3 0 0 0 36159 7031 7385 7067 0 0 0 0 0 0 + 3763 3 0 0 0 36162 7031 7241 7385 0 0 0 0 0 0 + 3764 3 0 0 0 36982 7035 7172 7084 0 0 0 0 0 0 + 3765 3 0 0 0 36406 7040 7189 7271 0 0 0 0 0 0 + 3766 3 0 0 0 36420 7040 7271 7092 0 0 0 0 0 0 + 3767 3 0 0 0 35599 7046 7088 7175 0 0 0 0 0 0 + 3768 3 0 0 0 36760 7046 7175 7090 0 0 0 0 0 0 + 3769 3 0 0 0 35856 7052 7208 7118 0 0 0 0 0 0 + 3770 3 0 0 0 36935 7059 7152 7380 0 0 0 0 0 0 + 3771 3 0 0 0 37302 7059 7380 7153 0 0 0 0 0 0 + 3772 3 0 0 0 37194 7067 7385 7224 0 0 0 0 0 0 + 3773 3 0 0 0 36988 7084 7172 7335 0 0 0 0 0 0 + 3774 3 0 0 0 37409 7084 7335 7258 0 0 0 0 0 0 + 3775 3 0 0 0 36754 7088 7259 7175 0 0 0 0 0 0 + 3776 3 0 0 0 35618 7089 7260 7175 0 0 0 0 0 0 + 3777 3 0 0 0 36756 7089 7175 7336 0 0 0 0 0 0 + 3778 3 0 0 0 37419 7089 7336 7273 0 0 0 0 0 0 + 3779 3 0 0 0 37420 7089 7448 7260 0 0 0 0 0 0 + 3780 3 0 0 0 37421 7089 7273 7448 0 0 0 0 0 0 + 3781 3 0 0 0 35616 7090 7175 7260 0 0 0 0 0 0 + 3782 3 0 0 0 37422 7090 7260 7348 0 0 0 0 0 0 + 3783 3 0 0 0 37423 7090 7348 7405 0 0 0 0 0 0 + 3784 3 0 0 0 35626 7092 7336 7259 0 0 0 0 0 0 + 3785 3 0 0 0 36421 7092 7271 7191 0 0 0 0 0 0 + 3786 3 0 0 0 36792 7092 7191 7336 0 0 0 0 0 0 + 3787 3 0 0 0 37448 7095 7264 7399 0 0 0 0 0 0 + 3788 3 0 0 0 36511 7096 7184 7266 0 0 0 0 0 0 + 3789 3 0 0 0 36781 7096 7266 7180 0 0 0 0 0 0 + 3790 3 0 0 0 37489 7102 7359 7184 0 0 0 0 0 0 + 3791 3 0 0 0 37493 7102 7543 7359 0 0 0 0 0 0 + 3792 3 0 0 0 37494 7102 7269 7543 0 0 0 0 0 0 + 3793 3 0 0 0 37495 7103 7186 7457 0 0 0 0 0 0 + 3794 3 0 0 0 37496 7103 7457 7341 0 0 0 0 0 0 + 3795 3 0 0 0 37518 7106 7460 7189 0 0 0 0 0 0 + 3796 3 0 0 0 37520 7106 7628 7460 0 0 0 0 0 0 + 3797 3 0 0 0 37521 7106 7341 7628 0 0 0 0 0 0 + 3798 3 0 0 0 37225 7109 7191 7342 0 0 0 0 0 0 + 3799 3 0 0 0 37338 7109 7192 7273 0 0 0 0 0 0 + 3800 3 0 0 0 37339 7109 7273 7191 0 0 0 0 0 0 + 3801 3 0 0 0 37533 7109 7459 7192 0 0 0 0 0 0 + 3802 3 0 0 0 37534 7109 7627 7459 0 0 0 0 0 0 + 3803 3 0 0 0 37535 7109 7342 7627 0 0 0 0 0 0 + 3804 3 0 0 0 37603 7115 7546 7349 0 0 0 0 0 0 + 3805 3 0 0 0 37603 7115 7279 7546 0 0 0 0 0 0 + 3806 3 0 0 0 37605 7116 7352 7471 0 0 0 0 0 0 + 3807 3 0 0 0 37606 7116 7471 7554 0 0 0 0 0 0 + 3808 3 0 0 0 37607 7116 7554 7200 0 0 0 0 0 0 + 3809 3 0 0 0 37616 7118 7474 7352 0 0 0 0 0 0 + 3810 3 0 0 0 37617 7118 7208 7474 0 0 0 0 0 0 + 3811 3 0 0 0 35933 7125 7180 7360 0 0 0 0 0 0 + 3812 3 0 0 0 37690 7125 7451 7264 0 0 0 0 0 0 + 3813 3 0 0 0 37691 7125 7564 7451 0 0 0 0 0 0 + 3814 3 0 0 0 37693 7125 7360 7564 0 0 0 0 0 0 + 3815 3 0 0 0 37768 7130 7485 7221 0 0 0 0 0 0 + 3816 3 0 0 0 37769 7130 7365 7485 0 0 0 0 0 0 + 3817 3 0 0 0 36847 7131 7215 7292 0 0 0 0 0 0 + 3818 3 0 0 0 37069 7135 7292 7219 0 0 0 0 0 0 + 3819 3 0 0 0 37814 7135 7219 7577 0 0 0 0 0 0 + 3820 3 0 0 0 37815 7135 7577 7378 0 0 0 0 0 0 + 3821 3 0 0 0 37839 7137 7224 7493 0 0 0 0 0 0 + 3822 3 0 0 0 37840 7137 7578 7365 0 0 0 0 0 0 + 3823 3 0 0 0 37842 7137 7493 7578 0 0 0 0 0 0 + 3824 3 0 0 0 37266 7142 7377 7303 0 0 0 0 0 0 + 3825 3 0 0 0 37367 7142 7374 7314 0 0 0 0 0 0 + 3826 3 0 0 0 37887 7142 7314 7502 0 0 0 0 0 0 + 3827 3 0 0 0 37888 7142 7502 7377 0 0 0 0 0 0 + 3828 3 0 0 0 36118 7152 7237 7316 0 0 0 0 0 0 + 3829 3 0 0 0 37180 7152 7316 7255 0 0 0 0 0 0 + 3830 3 0 0 0 37184 7152 7255 7380 0 0 0 0 0 0 + 3831 3 0 0 0 37989 7153 7380 7516 0 0 0 0 0 0 + 3832 3 0 0 0 37991 7153 7516 7598 0 0 0 0 0 0 + 3833 3 0 0 0 37992 7153 7598 7241 0 0 0 0 0 0 + 3834 3 0 0 0 38016 7157 7603 7249 0 0 0 0 0 0 + 3835 3 0 0 0 38017 7157 7254 7603 0 0 0 0 0 0 + 3836 3 0 0 0 38026 7159 7505 7243 0 0 0 0 0 0 + 3837 3 0 0 0 38027 7159 7321 7689 0 0 0 0 0 0 + 3838 3 0 0 0 38028 7159 7689 7522 0 0 0 0 0 0 + 3839 3 0 0 0 38029 7159 7690 7505 0 0 0 0 0 0 + 3840 3 0 0 0 38033 7159 7522 7690 0 0 0 0 0 0 + 3841 3 0 0 0 37308 7160 7249 7423 0 0 0 0 0 0 + 3842 3 0 0 0 38034 7160 7423 7389 0 0 0 0 0 0 + 3843 3 0 0 0 37133 7161 7245 7324 0 0 0 0 0 0 + 3844 3 0 0 0 38035 7161 7523 7321 0 0 0 0 0 0 + 3845 3 0 0 0 38036 7161 7324 7523 0 0 0 0 0 0 + 3846 3 0 0 0 37396 7172 7444 7335 0 0 0 0 0 0 + 3847 3 0 0 0 37397 7172 7257 7444 0 0 0 0 0 0 + 3848 3 0 0 0 36755 7175 7259 7336 0 0 0 0 0 0 + 3849 3 0 0 0 35930 7180 7266 7360 0 0 0 0 0 0 + 3850 3 0 0 0 36521 7184 7409 7266 0 0 0 0 0 0 + 3851 3 0 0 0 36522 7184 7359 7409 0 0 0 0 0 0 + 3852 3 0 0 0 38226 7186 7399 7540 0 0 0 0 0 0 + 3853 3 0 0 0 38227 7186 7540 7626 0 0 0 0 0 0 + 3854 3 0 0 0 38228 7186 7626 7457 0 0 0 0 0 0 + 3855 3 0 0 0 37518 7189 7460 7271 0 0 0 0 0 0 + 3856 3 0 0 0 37227 7191 7271 7342 0 0 0 0 0 0 + 3857 3 0 0 0 37340 7191 7273 7336 0 0 0 0 0 0 + 3858 3 0 0 0 38241 7192 7448 7273 0 0 0 0 0 0 + 3859 3 0 0 0 38243 7192 7705 7448 0 0 0 0 0 0 + 3860 3 0 0 0 38244 7192 7459 7705 0 0 0 0 0 0 + 3861 3 0 0 0 37541 7199 7349 7463 0 0 0 0 0 0 + 3862 3 0 0 0 38280 7199 7618 7257 0 0 0 0 0 0 + 3863 3 0 0 0 38281 7199 7463 7618 0 0 0 0 0 0 + 3864 3 0 0 0 38282 7200 7543 7269 0 0 0 0 0 0 + 3865 3 0 0 0 38284 7200 7554 7638 0 0 0 0 0 0 + 3866 3 0 0 0 38285 7200 7638 7543 0 0 0 0 0 0 + 3867 3 0 0 0 37665 7208 7303 7474 0 0 0 0 0 0 + 3868 3 0 0 0 37772 7215 7296 7486 0 0 0 0 0 0 + 3869 3 0 0 0 37777 7215 7571 7292 0 0 0 0 0 0 + 3870 3 0 0 0 37778 7215 7486 7571 0 0 0 0 0 0 + 3871 3 0 0 0 38368 7219 7292 7571 0 0 0 0 0 0 + 3872 3 0 0 0 38371 7219 7490 7577 0 0 0 0 0 0 + 3873 3 0 0 0 38372 7219 7726 7490 0 0 0 0 0 0 + 3874 3 0 0 0 38374 7219 7571 7726 0 0 0 0 0 0 + 3875 3 0 0 0 38376 7221 7661 7296 0 0 0 0 0 0 + 3876 3 0 0 0 38377 7221 7485 7728 0 0 0 0 0 0 + 3877 3 0 0 0 38378 7221 7728 7661 0 0 0 0 0 0 + 3878 3 0 0 0 38388 7224 7579 7493 0 0 0 0 0 0 + 3879 3 0 0 0 38389 7224 7385 7579 0 0 0 0 0 0 + 3880 3 0 0 0 37951 7233 7311 7593 0 0 0 0 0 0 + 3881 3 0 0 0 38458 7233 7594 7374 0 0 0 0 0 0 + 3882 3 0 0 0 38459 7233 7675 7594 0 0 0 0 0 0 + 3883 3 0 0 0 38460 7233 7593 7675 0 0 0 0 0 0 + 3884 3 0 0 0 38007 7241 7519 7385 0 0 0 0 0 0 + 3885 3 0 0 0 38512 7241 7598 7519 0 0 0 0 0 0 + 3886 3 0 0 0 37915 7243 7505 7316 0 0 0 0 0 0 + 3887 3 0 0 0 38039 7245 7323 7524 0 0 0 0 0 0 + 3888 3 0 0 0 38540 7245 7524 7324 0 0 0 0 0 0 + 3889 3 0 0 0 38082 7249 7603 7696 0 0 0 0 0 0 + 3890 3 0 0 0 38084 7249 7696 7423 0 0 0 0 0 0 + 3891 3 0 0 0 38157 7254 7334 7762 0 0 0 0 0 0 + 3892 3 0 0 0 38159 7254 7762 7603 0 0 0 0 0 0 + 3893 3 0 0 0 37185 7255 7316 7395 0 0 0 0 0 0 + 3894 3 0 0 0 38599 7255 7597 7380 0 0 0 0 0 0 + 3895 3 0 0 0 38601 7255 7701 7597 0 0 0 0 0 0 + 3896 3 0 0 0 38602 7255 7395 7701 0 0 0 0 0 0 + 3897 3 0 0 0 38620 7257 7618 7444 0 0 0 0 0 0 + 3898 3 0 0 0 38181 7258 7535 7396 0 0 0 0 0 0 + 3899 3 0 0 0 38182 7258 7335 7535 0 0 0 0 0 0 + 3900 3 0 0 0 37426 7260 7448 7536 0 0 0 0 0 0 + 3901 3 0 0 0 38192 7260 7536 7348 0 0 0 0 0 0 + 3902 3 0 0 0 38634 7264 7451 7399 0 0 0 0 0 0 + 3903 3 0 0 0 37450 7266 7409 7452 0 0 0 0 0 0 + 3904 3 0 0 0 37452 7266 7452 7360 0 0 0 0 0 0 + 3905 3 0 0 0 38233 7271 7460 7342 0 0 0 0 0 0 + 3906 3 0 0 0 37544 7279 7405 7546 0 0 0 0 0 0 + 3907 3 0 0 0 38756 7296 7661 7486 0 0 0 0 0 0 + 3908 3 0 0 0 38771 7303 7377 7585 0 0 0 0 0 0 + 3909 3 0 0 0 38772 7303 7585 7474 0 0 0 0 0 0 + 3910 3 0 0 0 37950 7311 7378 7593 0 0 0 0 0 0 + 3911 3 0 0 0 38816 7314 7374 7594 0 0 0 0 0 0 + 3912 3 0 0 0 38817 7314 7678 7502 0 0 0 0 0 0 + 3913 3 0 0 0 38818 7314 7594 7678 0 0 0 0 0 0 + 3914 3 0 0 0 37914 7316 7505 7395 0 0 0 0 0 0 + 3915 3 0 0 0 38837 7321 7523 7689 0 0 0 0 0 0 + 3916 3 0 0 0 38543 7323 7389 7692 0 0 0 0 0 0 + 3917 3 0 0 0 38841 7323 7692 7524 0 0 0 0 0 0 + 3918 3 0 0 0 38547 7324 7606 7523 0 0 0 0 0 0 + 3919 3 0 0 0 38550 7324 7693 7606 0 0 0 0 0 0 + 3920 3 0 0 0 38842 7324 7524 7693 0 0 0 0 0 0 + 3921 3 0 0 0 38883 7334 7396 7465 0 0 0 0 0 0 + 3922 3 0 0 0 38884 7334 7465 7762 0 0 0 0 0 0 + 3923 3 0 0 0 38184 7335 7619 7535 0 0 0 0 0 0 + 3924 3 0 0 0 38885 7335 7444 7619 0 0 0 0 0 0 + 3925 3 0 0 0 38895 7341 7457 7628 0 0 0 0 0 0 + 3926 3 0 0 0 38896 7342 7460 7704 0 0 0 0 0 0 + 3927 3 0 0 0 38897 7342 7704 7627 0 0 0 0 0 0 + 3928 3 0 0 0 38249 7348 7547 7405 0 0 0 0 0 0 + 3929 3 0 0 0 38675 7348 7536 7470 0 0 0 0 0 0 + 3930 3 0 0 0 38927 7348 7470 7547 0 0 0 0 0 0 + 3931 3 0 0 0 37542 7349 7546 7463 0 0 0 0 0 0 + 3932 3 0 0 0 38932 7352 7640 7471 0 0 0 0 0 0 + 3933 3 0 0 0 38933 7352 7474 7640 0 0 0 0 0 0 + 3934 3 0 0 0 37727 7359 7653 7409 0 0 0 0 0 0 + 3935 3 0 0 0 38953 7359 7543 7720 0 0 0 0 0 0 + 3936 3 0 0 0 38954 7359 7720 7653 0 0 0 0 0 0 + 3937 3 0 0 0 37457 7360 7452 7624 0 0 0 0 0 0 + 3938 3 0 0 0 38716 7360 7624 7564 0 0 0 0 0 0 + 3939 3 0 0 0 38978 7365 7578 7664 0 0 0 0 0 0 + 3940 3 0 0 0 38979 7365 7664 7485 0 0 0 0 0 0 + 3941 3 0 0 0 39008 7377 7502 7677 0 0 0 0 0 0 + 3942 3 0 0 0 39009 7377 7677 7585 0 0 0 0 0 0 + 3943 3 0 0 0 39010 7378 7744 7593 0 0 0 0 0 0 + 3944 3 0 0 0 39011 7378 7577 7744 0 0 0 0 0 0 + 3945 3 0 0 0 39019 7380 7597 7516 0 0 0 0 0 0 + 3946 3 0 0 0 38010 7385 7519 7579 0 0 0 0 0 0 + 3947 3 0 0 0 38843 7389 7423 7608 0 0 0 0 0 0 + 3948 3 0 0 0 39059 7389 7608 7692 0 0 0 0 0 0 + 3949 3 0 0 0 39080 7395 7615 7701 0 0 0 0 0 0 + 3950 3 0 0 0 39084 7395 7505 7764 0 0 0 0 0 0 + 3951 3 0 0 0 39085 7395 7764 7615 0 0 0 0 0 0 + 3952 3 0 0 0 37555 7396 7535 7631 0 0 0 0 0 0 + 3953 3 0 0 0 37556 7396 7631 7465 0 0 0 0 0 0 + 3954 3 0 0 0 38636 7399 7451 7540 0 0 0 0 0 0 + 3955 3 0 0 0 38654 7405 7547 7630 0 0 0 0 0 0 + 3956 3 0 0 0 39112 7405 7630 7546 0 0 0 0 0 0 + 3957 3 0 0 0 38342 7409 7568 7452 0 0 0 0 0 0 + 3958 3 0 0 0 39122 7409 7653 7568 0 0 0 0 0 0 + 3959 3 0 0 0 38100 7423 7527 7608 0 0 0 0 0 0 + 3960 3 0 0 0 38563 7423 7696 7527 0 0 0 0 0 0 + 3961 3 0 0 0 39271 7444 7618 7804 0 0 0 0 0 0 + 3962 3 0 0 0 39272 7444 7804 7619 0 0 0 0 0 0 + 3963 3 0 0 0 37429 7448 7620 7536 0 0 0 0 0 0 + 3964 3 0 0 0 39092 7448 7705 7620 0 0 0 0 0 0 + 3965 3 0 0 0 39213 7451 7564 7654 0 0 0 0 0 0 + 3966 3 0 0 0 39309 7451 7654 7540 0 0 0 0 0 0 + 3967 3 0 0 0 39310 7452 7568 7812 0 0 0 0 0 0 + 3968 3 0 0 0 39312 7452 7812 7624 0 0 0 0 0 0 + 3969 3 0 0 0 39332 7457 7626 7813 0 0 0 0 0 0 + 3970 3 0 0 0 39333 7457 7813 7628 0 0 0 0 0 0 + 3971 3 0 0 0 38648 7459 7629 7705 0 0 0 0 0 0 + 3972 3 0 0 0 39350 7459 7627 7809 0 0 0 0 0 0 + 3973 3 0 0 0 39351 7459 7809 7629 0 0 0 0 0 0 + 3974 3 0 0 0 38896 7460 7628 7704 0 0 0 0 0 0 + 3975 3 0 0 0 38657 7463 7630 7707 0 0 0 0 0 0 + 3976 3 0 0 0 38658 7463 7707 7618 0 0 0 0 0 0 + 3977 3 0 0 0 39112 7463 7546 7630 0 0 0 0 0 0 + 3978 3 0 0 0 39382 7465 7631 7816 0 0 0 0 0 0 + 3979 3 0 0 0 39383 7465 7909 7762 0 0 0 0 0 0 + 3980 3 0 0 0 39385 7465 7816 7909 0 0 0 0 0 0 + 3981 3 0 0 0 37600 7470 7637 7771 0 0 0 0 0 0 + 3982 3 0 0 0 37601 7470 7771 7709 0 0 0 0 0 0 + 3983 3 0 0 0 38677 7470 7536 7637 0 0 0 0 0 0 + 3984 3 0 0 0 39111 7470 7709 7547 0 0 0 0 0 0 + 3985 3 0 0 0 39421 7471 7822 7554 0 0 0 0 0 0 + 3986 3 0 0 0 39422 7471 7640 7914 0 0 0 0 0 0 + 3987 3 0 0 0 39425 7471 7914 7822 0 0 0 0 0 0 + 3988 3 0 0 0 39450 7474 7585 7640 0 0 0 0 0 0 + 3989 3 0 0 0 39558 7485 7843 7728 0 0 0 0 0 0 + 3990 3 0 0 0 39559 7485 7664 7843 0 0 0 0 0 0 + 3991 3 0 0 0 37782 7486 7656 7571 0 0 0 0 0 0 + 3992 3 0 0 0 39563 7486 7661 7844 0 0 0 0 0 0 + 3993 3 0 0 0 39564 7486 7844 7656 0 0 0 0 0 0 + 3994 3 0 0 0 39591 7490 7851 7577 0 0 0 0 0 0 + 3995 3 0 0 0 39592 7490 7726 7936 0 0 0 0 0 0 + 3996 3 0 0 0 39597 7490 7936 8087 0 0 0 0 0 0 + 3997 3 0 0 0 39599 7490 8087 7851 0 0 0 0 0 0 + 3998 3 0 0 0 39042 7493 7687 7578 0 0 0 0 0 0 + 3999 3 0 0 0 39048 7493 7579 7790 0 0 0 0 0 0 + 4000 3 0 0 0 39050 7493 7790 7687 0 0 0 0 0 0 + 4001 3 0 0 0 39709 7502 7863 7677 0 0 0 0 0 0 + 4002 3 0 0 0 39710 7502 7678 7863 0 0 0 0 0 0 + 4003 3 0 0 0 39742 7505 7690 7764 0 0 0 0 0 0 + 4004 3 0 0 0 39038 7516 7750 7598 0 0 0 0 0 0 + 4005 3 0 0 0 39865 7516 7956 7750 0 0 0 0 0 0 + 4006 3 0 0 0 39866 7516 7597 7956 0 0 0 0 0 0 + 4007 3 0 0 0 38612 7519 7686 7765 0 0 0 0 0 0 + 4008 3 0 0 0 39036 7519 7598 7686 0 0 0 0 0 0 + 4009 3 0 0 0 39889 7519 7765 7579 0 0 0 0 0 0 + 4010 3 0 0 0 39906 7522 7689 7878 0 0 0 0 0 0 + 4011 3 0 0 0 39907 7522 8032 7690 0 0 0 0 0 0 + 4012 3 0 0 0 39911 7522 8151 8032 0 0 0 0 0 0 + 4013 3 0 0 0 39912 7522 7878 8151 0 0 0 0 0 0 + 4014 3 0 0 0 39913 7523 7606 7878 0 0 0 0 0 0 + 4015 3 0 0 0 39914 7523 7878 7689 0 0 0 0 0 0 + 4016 3 0 0 0 39917 7524 7882 7693 0 0 0 0 0 0 + 4017 3 0 0 0 39918 7524 7692 7882 0 0 0 0 0 0 + 4018 3 0 0 0 38110 7527 7611 7698 0 0 0 0 0 0 + 4019 3 0 0 0 38112 7527 7698 7608 0 0 0 0 0 0 + 4020 3 0 0 0 38568 7527 7757 7611 0 0 0 0 0 0 + 4021 3 0 0 0 38569 7527 7696 7757 0 0 0 0 0 0 + 4022 3 0 0 0 39283 7535 7806 7631 0 0 0 0 0 0 + 4023 3 0 0 0 39284 7535 7619 7806 0 0 0 0 0 0 + 4024 3 0 0 0 38915 7536 7620 7711 0 0 0 0 0 0 + 4025 3 0 0 0 38916 7536 7711 7637 0 0 0 0 0 0 + 4026 3 0 0 0 40054 7540 7654 7811 0 0 0 0 0 0 + 4027 3 0 0 0 40055 7540 7811 7626 0 0 0 0 0 0 + 4028 3 0 0 0 39329 7543 7638 7720 0 0 0 0 0 0 + 4029 3 0 0 0 40069 7547 7709 7905 0 0 0 0 0 0 + 4030 3 0 0 0 40070 7547 7905 7630 0 0 0 0 0 0 + 4031 3 0 0 0 39437 7554 7915 7638 0 0 0 0 0 0 + 4032 3 0 0 0 40109 7554 7822 7915 0 0 0 0 0 0 + 4033 3 0 0 0 38724 7564 7624 7774 0 0 0 0 0 0 + 4034 3 0 0 0 39217 7564 7774 7654 0 0 0 0 0 0 + 4035 3 0 0 0 39515 7568 7653 7838 0 0 0 0 0 0 + 4036 3 0 0 0 40182 7568 7838 7928 0 0 0 0 0 0 + 4037 3 0 0 0 40183 7568 7928 7812 0 0 0 0 0 0 + 4038 3 0 0 0 38964 7571 7656 7726 0 0 0 0 0 0 + 4039 3 0 0 0 40250 7577 7851 7744 0 0 0 0 0 0 + 4040 3 0 0 0 40251 7578 7687 7853 0 0 0 0 0 0 + 4041 3 0 0 0 40252 7578 7853 7664 0 0 0 0 0 0 + 4042 3 0 0 0 40253 7579 7765 7790 0 0 0 0 0 0 + 4043 3 0 0 0 39810 7585 7677 7826 0 0 0 0 0 0 + 4044 3 0 0 0 40284 7585 7826 7640 0 0 0 0 0 0 + 4045 3 0 0 0 40342 7593 8039 7675 0 0 0 0 0 0 + 4046 3 0 0 0 40343 7593 7744 8039 0 0 0 0 0 0 + 4047 3 0 0 0 39240 7594 7785 7678 0 0 0 0 0 0 + 4048 3 0 0 0 40344 7594 7675 7785 0 0 0 0 0 0 + 4049 3 0 0 0 39712 7597 7701 7864 0 0 0 0 0 0 + 4050 3 0 0 0 39718 7597 7864 7956 0 0 0 0 0 0 + 4051 3 0 0 0 39040 7598 7750 7686 0 0 0 0 0 0 + 4052 3 0 0 0 38160 7603 7762 7792 0 0 0 0 0 0 + 4053 3 0 0 0 39362 7603 7792 7696 0 0 0 0 0 0 + 4054 3 0 0 0 39926 7606 7693 7883 0 0 0 0 0 0 + 4055 3 0 0 0 40395 7606 7973 7878 0 0 0 0 0 0 + 4056 3 0 0 0 40396 7606 7883 7973 0 0 0 0 0 0 + 4057 3 0 0 0 39924 7608 8055 7692 0 0 0 0 0 0 + 4058 3 0 0 0 40409 7608 7698 8055 0 0 0 0 0 0 + 4059 3 0 0 0 39952 7611 7757 7978 0 0 0 0 0 0 + 4060 3 0 0 0 39969 7611 7889 7698 0 0 0 0 0 0 + 4061 3 0 0 0 39975 7611 8059 7889 0 0 0 0 0 0 + 4062 3 0 0 0 40423 7611 7978 8059 0 0 0 0 0 0 + 4063 3 0 0 0 40436 7615 7983 7701 0 0 0 0 0 0 + 4064 3 0 0 0 40437 7615 7764 7984 0 0 0 0 0 0 + 4065 3 0 0 0 40438 7615 7984 8064 0 0 0 0 0 0 + 4066 3 0 0 0 40441 7615 8064 7983 0 0 0 0 0 0 + 4067 3 0 0 0 38614 7616 7765 7686 0 0 0 0 0 0 + 4068 3 0 0 0 39850 7616 7686 7877 0 0 0 0 0 0 + 4069 3 0 0 0 40443 7616 7880 7765 0 0 0 0 0 0 + 4070 3 0 0 0 40446 7616 7877 7985 0 0 0 0 0 0 + 4071 3 0 0 0 40448 7616 8065 7880 0 0 0 0 0 0 + 4072 3 0 0 0 40449 7616 7985 8065 0 0 0 0 0 0 + 4073 3 0 0 0 40036 7618 7707 7804 0 0 0 0 0 0 + 4074 3 0 0 0 40461 7619 7804 7895 0 0 0 0 0 0 + 4075 3 0 0 0 40463 7619 7895 7806 0 0 0 0 0 0 + 4076 3 0 0 0 40037 7620 7705 7897 0 0 0 0 0 0 + 4077 3 0 0 0 40039 7620 7986 7711 0 0 0 0 0 0 + 4078 3 0 0 0 40041 7620 7897 7986 0 0 0 0 0 0 + 4079 3 0 0 0 40058 7624 7812 7990 0 0 0 0 0 0 + 4080 3 0 0 0 40468 7624 7990 7774 0 0 0 0 0 0 + 4081 3 0 0 0 39348 7626 7991 7813 0 0 0 0 0 0 + 4082 3 0 0 0 39349 7626 7811 7991 0 0 0 0 0 0 + 4083 3 0 0 0 39342 7627 7902 7809 0 0 0 0 0 0 + 4084 3 0 0 0 40469 7627 7704 7902 0 0 0 0 0 0 + 4085 3 0 0 0 40061 7628 7813 7704 0 0 0 0 0 0 + 4086 3 0 0 0 39306 7629 7897 7705 0 0 0 0 0 0 + 4087 3 0 0 0 40064 7629 7809 7988 0 0 0 0 0 0 + 4088 3 0 0 0 40471 7629 7988 7904 0 0 0 0 0 0 + 4089 3 0 0 0 40472 7629 8067 7897 0 0 0 0 0 0 + 4090 3 0 0 0 40473 7629 7904 8067 0 0 0 0 0 0 + 4091 3 0 0 0 40474 7630 7905 7707 0 0 0 0 0 0 + 4092 3 0 0 0 40475 7631 7806 7908 0 0 0 0 0 0 + 4093 3 0 0 0 40476 7631 7908 7816 0 0 0 0 0 0 + 4094 3 0 0 0 39403 7637 7711 7818 0 0 0 0 0 0 + 4095 3 0 0 0 39404 7637 7818 7771 0 0 0 0 0 0 + 4096 3 0 0 0 39436 7638 7915 7823 0 0 0 0 0 0 + 4097 3 0 0 0 40116 7638 7823 7720 0 0 0 0 0 0 + 4098 3 0 0 0 40509 7640 7826 7914 0 0 0 0 0 0 + 4099 3 0 0 0 39522 7653 8001 7838 0 0 0 0 0 0 + 4100 3 0 0 0 40122 7653 7720 8001 0 0 0 0 0 0 + 4101 3 0 0 0 39538 7654 7774 8010 0 0 0 0 0 0 + 4102 3 0 0 0 40561 7654 8010 7811 0 0 0 0 0 0 + 4103 3 0 0 0 40214 7656 7845 7726 0 0 0 0 0 0 + 4104 3 0 0 0 40224 7656 8015 7845 0 0 0 0 0 0 + 4105 3 0 0 0 40565 7656 7844 8015 0 0 0 0 0 0 + 4106 3 0 0 0 40202 7661 7728 7933 0 0 0 0 0 0 + 4107 3 0 0 0 40203 7661 7933 7844 0 0 0 0 0 0 + 4108 3 0 0 0 40602 7664 7940 7843 0 0 0 0 0 0 + 4109 3 0 0 0 40605 7664 7853 7940 0 0 0 0 0 0 + 4110 3 0 0 0 40628 7675 7871 7785 0 0 0 0 0 0 + 4111 3 0 0 0 40629 7675 8039 7871 0 0 0 0 0 0 + 4112 3 0 0 0 40638 7677 7863 8105 0 0 0 0 0 0 + 4113 3 0 0 0 40639 7677 8144 7826 0 0 0 0 0 0 + 4114 3 0 0 0 40641 7677 8105 8144 0 0 0 0 0 0 + 4115 3 0 0 0 39840 7678 8045 7863 0 0 0 0 0 0 + 4116 3 0 0 0 39842 7678 7785 8045 0 0 0 0 0 0 + 4117 3 0 0 0 39851 7686 7750 7877 0 0 0 0 0 0 + 4118 3 0 0 0 40684 7687 7970 7853 0 0 0 0 0 0 + 4119 3 0 0 0 40685 7687 7790 8050 0 0 0 0 0 0 + 4120 3 0 0 0 40686 7687 8050 7970 0 0 0 0 0 0 + 4121 3 0 0 0 40298 7690 8032 7764 0 0 0 0 0 0 + 4122 3 0 0 0 40700 7692 8055 7882 0 0 0 0 0 0 + 4123 3 0 0 0 40701 7693 7882 7974 0 0 0 0 0 0 + 4124 3 0 0 0 40702 7693 7974 7883 0 0 0 0 0 0 + 4125 3 0 0 0 38572 7696 7792 7757 0 0 0 0 0 0 + 4126 3 0 0 0 39973 7698 7889 7979 0 0 0 0 0 0 + 4127 3 0 0 0 40717 7698 7979 8055 0 0 0 0 0 0 + 4128 3 0 0 0 40739 7701 7983 7864 0 0 0 0 0 0 + 4129 3 0 0 0 40469 7704 7813 7902 0 0 0 0 0 0 + 4130 3 0 0 0 40754 7707 7992 7804 0 0 0 0 0 0 + 4131 3 0 0 0 40756 7707 7905 7992 0 0 0 0 0 0 + 4132 3 0 0 0 40495 7709 7996 7906 0 0 0 0 0 0 + 4133 3 0 0 0 40496 7709 7771 7996 0 0 0 0 0 0 + 4134 3 0 0 0 40766 7709 7906 8129 0 0 0 0 0 0 + 4135 3 0 0 0 40767 7709 8129 7905 0 0 0 0 0 0 + 4136 3 0 0 0 40504 7711 8071 7818 0 0 0 0 0 0 + 4137 3 0 0 0 40505 7711 7986 8071 0 0 0 0 0 0 + 4138 3 0 0 0 40120 7720 7823 8001 0 0 0 0 0 0 + 4139 3 0 0 0 40220 7726 7845 7936 0 0 0 0 0 0 + 4140 3 0 0 0 40206 7728 8014 7933 0 0 0 0 0 0 + 4141 3 0 0 0 40208 7728 7843 8014 0 0 0 0 0 0 + 4142 3 0 0 0 40891 7744 7966 8039 0 0 0 0 0 0 + 4143 3 0 0 0 40892 7744 7851 7966 0 0 0 0 0 0 + 4144 3 0 0 0 40919 7750 8051 7877 0 0 0 0 0 0 + 4145 3 0 0 0 40921 7750 7956 8051 0 0 0 0 0 0 + 4146 3 0 0 0 39959 7757 7792 8118 0 0 0 0 0 0 + 4147 3 0 0 0 39960 7757 8118 7978 0 0 0 0 0 0 + 4148 3 0 0 0 40491 7762 7909 7792 0 0 0 0 0 0 + 4149 3 0 0 0 40989 7764 8032 7984 0 0 0 0 0 0 + 4150 3 0 0 0 40679 7765 7880 7790 0 0 0 0 0 0 + 4151 3 0 0 0 40086 7771 7818 7911 0 0 0 0 0 0 + 4152 3 0 0 0 40088 7771 7911 7996 0 0 0 0 0 0 + 4153 3 0 0 0 39537 7774 7930 8010 0 0 0 0 0 0 + 4154 3 0 0 0 41013 7774 7990 7930 0 0 0 0 0 0 + 4155 3 0 0 0 39846 7785 8106 8045 0 0 0 0 0 0 + 4156 3 0 0 0 41061 7785 7871 8106 0 0 0 0 0 0 + 4157 3 0 0 0 40683 7790 7880 8050 0 0 0 0 0 0 + 4158 3 0 0 0 41074 7792 7909 8118 0 0 0 0 0 0 + 4159 3 0 0 0 40994 7804 7992 7895 0 0 0 0 0 0 + 4160 3 0 0 0 40760 7806 8127 7908 0 0 0 0 0 0 + 4161 3 0 0 0 40763 7806 7895 8127 0 0 0 0 0 0 + 4162 3 0 0 0 41140 7809 7902 8167 0 0 0 0 0 0 + 4163 3 0 0 0 41141 7809 8167 7988 0 0 0 0 0 0 + 4164 3 0 0 0 41155 7811 8412 7991 0 0 0 0 0 0 + 4165 3 0 0 0 41156 7811 8010 8412 0 0 0 0 0 0 + 4166 3 0 0 0 40550 7812 7928 8082 0 0 0 0 0 0 + 4167 3 0 0 0 41157 7812 8082 7990 0 0 0 0 0 0 + 4168 3 0 0 0 39344 7813 7991 7902 0 0 0 0 0 0 + 4169 3 0 0 0 40480 7816 7908 7995 0 0 0 0 0 0 + 4170 3 0 0 0 41173 7816 8175 7909 0 0 0 0 0 0 + 4171 3 0 0 0 41175 7816 7995 8175 0 0 0 0 0 0 + 4172 3 0 0 0 40780 7818 8071 8131 0 0 0 0 0 0 + 4173 3 0 0 0 40784 7818 8131 7911 0 0 0 0 0 0 + 4174 3 0 0 0 41219 7822 7914 8179 0 0 0 0 0 0 + 4175 3 0 0 0 41220 7822 8179 8265 0 0 0 0 0 0 + 4176 3 0 0 0 41221 7822 8265 7915 0 0 0 0 0 0 + 4177 3 0 0 0 40123 7823 7916 8001 0 0 0 0 0 0 + 4178 3 0 0 0 41222 7823 7915 8180 0 0 0 0 0 0 + 4179 3 0 0 0 41223 7823 8180 7916 0 0 0 0 0 0 + 4180 3 0 0 0 40536 7826 8080 7914 0 0 0 0 0 0 + 4181 3 0 0 0 41249 7826 8144 8080 0 0 0 0 0 0 + 4182 3 0 0 0 41372 7838 8001 8183 0 0 0 0 0 0 + 4183 3 0 0 0 41373 7838 8362 7928 0 0 0 0 0 0 + 4184 3 0 0 0 41374 7838 8183 8362 0 0 0 0 0 0 + 4185 3 0 0 0 41421 7843 7940 8198 0 0 0 0 0 0 + 4186 3 0 0 0 41422 7843 8198 8014 0 0 0 0 0 0 + 4187 3 0 0 0 40213 7844 7933 8084 0 0 0 0 0 0 + 4188 3 0 0 0 40820 7844 8084 8015 0 0 0 0 0 0 + 4189 3 0 0 0 41423 7845 8201 7936 0 0 0 0 0 0 + 4190 3 0 0 0 41426 7845 8015 8367 0 0 0 0 0 0 + 4191 3 0 0 0 41427 7845 8367 8201 0 0 0 0 0 0 + 4192 3 0 0 0 41476 7851 8291 7966 0 0 0 0 0 0 + 4193 3 0 0 0 41477 7851 8087 8291 0 0 0 0 0 0 + 4194 3 0 0 0 40930 7853 7970 8110 0 0 0 0 0 0 + 4195 3 0 0 0 41488 7853 8110 7940 0 0 0 0 0 0 + 4196 3 0 0 0 41582 7863 8045 8221 0 0 0 0 0 0 + 4197 3 0 0 0 41583 7863 8221 8105 0 0 0 0 0 0 + 4198 3 0 0 0 41584 7864 8222 7956 0 0 0 0 0 0 + 4199 3 0 0 0 41586 7864 7983 8306 0 0 0 0 0 0 + 4200 3 0 0 0 41587 7864 8306 8222 0 0 0 0 0 0 + 4201 3 0 0 0 41645 7871 8233 8106 0 0 0 0 0 0 + 4202 3 0 0 0 41648 7871 8442 8233 0 0 0 0 0 0 + 4203 3 0 0 0 41649 7871 8039 8442 0 0 0 0 0 0 + 4204 3 0 0 0 41725 7877 8051 8321 0 0 0 0 0 0 + 4205 3 0 0 0 41726 7877 8321 7985 0 0 0 0 0 0 + 4206 3 0 0 0 41728 7878 8231 8151 0 0 0 0 0 0 + 4207 3 0 0 0 41729 7878 7973 8231 0 0 0 0 0 0 + 4208 3 0 0 0 41737 7880 8065 8111 0 0 0 0 0 0 + 4209 3 0 0 0 41738 7880 8111 8050 0 0 0 0 0 0 + 4210 3 0 0 0 40924 7881 8053 7970 0 0 0 0 0 0 + 4211 3 0 0 0 40935 7881 7970 8111 0 0 0 0 0 0 + 4212 3 0 0 0 41739 7881 8111 8209 0 0 0 0 0 0 + 4213 3 0 0 0 41741 7881 8240 8053 0 0 0 0 0 0 + 4214 3 0 0 0 41743 7881 8464 8240 0 0 0 0 0 0 + 4215 3 0 0 0 41745 7881 8209 8464 0 0 0 0 0 0 + 4216 3 0 0 0 40944 7882 8114 7974 0 0 0 0 0 0 + 4217 3 0 0 0 41746 7882 8055 8114 0 0 0 0 0 0 + 4218 3 0 0 0 41748 7883 8239 7973 0 0 0 0 0 0 + 4219 3 0 0 0 41749 7883 7974 8329 0 0 0 0 0 0 + 4220 3 0 0 0 41750 7883 8329 8239 0 0 0 0 0 0 + 4221 3 0 0 0 41821 7889 8059 8247 0 0 0 0 0 0 + 4222 3 0 0 0 41822 7889 8247 8335 0 0 0 0 0 0 + 4223 3 0 0 0 41823 7889 8335 7979 0 0 0 0 0 0 + 4224 3 0 0 0 40761 7895 8068 8127 0 0 0 0 0 0 + 4225 3 0 0 0 40996 7895 7992 8068 0 0 0 0 0 0 + 4226 3 0 0 0 41126 7897 8067 7986 0 0 0 0 0 0 + 4227 3 0 0 0 41140 7902 7991 8167 0 0 0 0 0 0 + 4228 3 0 0 0 41134 7904 7988 8166 0 0 0 0 0 0 + 4229 3 0 0 0 41136 7904 8166 8252 0 0 0 0 0 0 + 4230 3 0 0 0 41932 7904 8252 8067 0 0 0 0 0 0 + 4231 3 0 0 0 41123 7905 8129 7992 0 0 0 0 0 0 + 4232 3 0 0 0 41163 7906 7996 8172 0 0 0 0 0 0 + 4233 3 0 0 0 41933 7906 8172 8259 0 0 0 0 0 0 + 4234 3 0 0 0 41934 7906 8259 8129 0 0 0 0 0 0 + 4235 3 0 0 0 41940 7908 8127 8174 0 0 0 0 0 0 + 4236 3 0 0 0 41941 7908 8174 7995 0 0 0 0 0 0 + 4237 3 0 0 0 41942 7909 8175 8118 0 0 0 0 0 0 + 4238 3 0 0 0 41946 7911 8131 8176 0 0 0 0 0 0 + 4239 3 0 0 0 41948 7911 8176 8262 0 0 0 0 0 0 + 4240 3 0 0 0 41949 7911 8262 7996 0 0 0 0 0 0 + 4241 3 0 0 0 41960 7914 8080 8179 0 0 0 0 0 0 + 4242 3 0 0 0 41962 7915 8265 8180 0 0 0 0 0 0 + 4243 3 0 0 0 41235 7916 8183 8001 0 0 0 0 0 0 + 4244 3 0 0 0 41967 7916 8351 8183 0 0 0 0 0 0 + 4245 3 0 0 0 41969 7916 8180 8419 0 0 0 0 0 0 + 4246 3 0 0 0 41970 7916 8419 8351 0 0 0 0 0 0 + 4247 3 0 0 0 42020 7928 8194 8082 0 0 0 0 0 0 + 4248 3 0 0 0 42021 7928 8362 8194 0 0 0 0 0 0 + 4249 3 0 0 0 41391 7930 7990 8257 0 0 0 0 0 0 + 4250 3 0 0 0 41392 7930 8257 8197 0 0 0 0 0 0 + 4251 3 0 0 0 42029 7930 8197 8253 0 0 0 0 0 0 + 4252 3 0 0 0 42030 7930 8253 8010 0 0 0 0 0 0 + 4253 3 0 0 0 40211 7933 8014 8084 0 0 0 0 0 0 + 4254 3 0 0 0 41445 7936 8369 8087 0 0 0 0 0 0 + 4255 3 0 0 0 42078 7936 8201 8369 0 0 0 0 0 0 + 4256 3 0 0 0 42093 7940 8374 8198 0 0 0 0 0 0 + 4257 3 0 0 0 42094 7940 8110 8374 0 0 0 0 0 0 + 4258 3 0 0 0 42188 7956 8222 8051 0 0 0 0 0 0 + 4259 3 0 0 0 42252 7966 8291 8372 0 0 0 0 0 0 + 4260 3 0 0 0 42253 7966 8372 8442 0 0 0 0 0 0 + 4261 3 0 0 0 42254 7966 8442 8039 0 0 0 0 0 0 + 4262 3 0 0 0 40927 7970 8053 8110 0 0 0 0 0 0 + 4263 3 0 0 0 40931 7970 8050 8111 0 0 0 0 0 0 + 4264 3 0 0 0 42280 7973 8325 8231 0 0 0 0 0 0 + 4265 3 0 0 0 42281 7973 8239 8325 0 0 0 0 0 0 + 4266 3 0 0 0 41754 7974 8114 8241 0 0 0 0 0 0 + 4267 3 0 0 0 41756 7974 8241 8329 0 0 0 0 0 0 + 4268 3 0 0 0 39958 7978 8118 8060 0 0 0 0 0 0 + 4269 3 0 0 0 41805 7978 8246 8059 0 0 0 0 0 0 + 4270 3 0 0 0 42301 7978 8060 8246 0 0 0 0 0 0 + 4271 3 0 0 0 40963 7979 8114 8055 0 0 0 0 0 0 + 4272 3 0 0 0 41845 7979 8335 8402 0 0 0 0 0 0 + 4273 3 0 0 0 41846 7979 8402 8114 0 0 0 0 0 0 + 4274 3 0 0 0 42338 7983 8474 8306 0 0 0 0 0 0 + 4275 3 0 0 0 42339 7983 8064 8474 0 0 0 0 0 0 + 4276 3 0 0 0 42340 7984 8338 8064 0 0 0 0 0 0 + 4277 3 0 0 0 42341 7984 8449 8338 0 0 0 0 0 0 + 4278 3 0 0 0 42342 7984 8032 8449 0 0 0 0 0 0 + 4279 3 0 0 0 42344 7985 8322 8065 0 0 0 0 0 0 + 4280 3 0 0 0 42345 7985 8321 8460 0 0 0 0 0 0 + 4281 3 0 0 0 42346 7985 8460 8322 0 0 0 0 0 0 + 4282 3 0 0 0 41129 7986 8067 8164 0 0 0 0 0 0 + 4283 3 0 0 0 41900 7986 8164 8251 0 0 0 0 0 0 + 4284 3 0 0 0 41902 7986 8251 8071 0 0 0 0 0 0 + 4285 3 0 0 0 41907 7988 8167 8340 0 0 0 0 0 0 + 4286 3 0 0 0 41908 7988 8340 8166 0 0 0 0 0 0 + 4287 3 0 0 0 42354 7990 8082 8257 0 0 0 0 0 0 + 4288 3 0 0 0 41909 7991 8412 8167 0 0 0 0 0 0 + 4289 3 0 0 0 41122 7992 8129 8068 0 0 0 0 0 0 + 4290 3 0 0 0 41943 7995 8346 8175 0 0 0 0 0 0 + 4291 3 0 0 0 42363 7995 8174 8415 0 0 0 0 0 0 + 4292 3 0 0 0 42364 7995 8415 8346 0 0 0 0 0 0 + 4293 3 0 0 0 41171 7996 8345 8172 0 0 0 0 0 0 + 4294 3 0 0 0 42365 7996 8262 8345 0 0 0 0 0 0 + 4295 3 0 0 0 41910 8010 8253 8412 0 0 0 0 0 0 + 4296 3 0 0 0 42053 8014 8199 8084 0 0 0 0 0 0 + 4297 3 0 0 0 42055 8014 8282 8199 0 0 0 0 0 0 + 4298 3 0 0 0 42056 8014 8198 8282 0 0 0 0 0 0 + 4299 3 0 0 0 42057 8015 8084 8283 0 0 0 0 0 0 + 4300 3 0 0 0 42423 8015 8283 8367 0 0 0 0 0 0 + 4301 3 0 0 0 42482 8032 8151 8449 0 0 0 0 0 0 + 4302 3 0 0 0 41706 8045 8106 8318 0 0 0 0 0 0 + 4303 3 0 0 0 42241 8045 8318 8221 0 0 0 0 0 0 + 4304 3 0 0 0 42548 8051 8386 8321 0 0 0 0 0 0 + 4305 3 0 0 0 42549 8051 8222 8386 0 0 0 0 0 0 + 4306 3 0 0 0 42556 8053 8240 8401 0 0 0 0 0 0 + 4307 3 0 0 0 42557 8053 8440 8110 0 0 0 0 0 0 + 4308 3 0 0 0 42558 8053 8401 8440 0 0 0 0 0 0 + 4309 3 0 0 0 41810 8059 8246 8334 0 0 0 0 0 0 + 4310 3 0 0 0 42568 8059 8334 8247 0 0 0 0 0 0 + 4311 3 0 0 0 41827 8060 8118 8175 0 0 0 0 0 0 + 4312 3 0 0 0 41834 8060 8175 8346 0 0 0 0 0 0 + 4313 3 0 0 0 41838 8060 8346 8471 0 0 0 0 0 0 + 4314 3 0 0 0 42570 8060 8471 8246 0 0 0 0 0 0 + 4315 3 0 0 0 42587 8064 8338 8250 0 0 0 0 0 0 + 4316 3 0 0 0 42589 8064 8250 8474 0 0 0 0 0 0 + 4317 3 0 0 0 42098 8065 8209 8111 0 0 0 0 0 0 + 4318 3 0 0 0 42591 8065 8322 8209 0 0 0 0 0 0 + 4319 3 0 0 0 42347 8067 8252 8164 0 0 0 0 0 0 + 4320 3 0 0 0 42355 8068 8129 8259 0 0 0 0 0 0 + 4321 3 0 0 0 42357 8068 8259 8344 0 0 0 0 0 0 + 4322 3 0 0 0 42361 8068 8344 8127 0 0 0 0 0 0 + 4323 3 0 0 0 41199 8071 8416 8131 0 0 0 0 0 0 + 4324 3 0 0 0 41201 8071 8251 8416 0 0 0 0 0 0 + 4325 3 0 0 0 41297 8080 8277 8179 0 0 0 0 0 0 + 4326 3 0 0 0 41300 8080 8358 8277 0 0 0 0 0 0 + 4327 3 0 0 0 41302 8080 8144 8358 0 0 0 0 0 0 + 4328 3 0 0 0 42630 8082 8364 8257 0 0 0 0 0 0 + 4329 3 0 0 0 42631 8082 8194 8364 0 0 0 0 0 0 + 4330 3 0 0 0 42059 8084 8199 8283 0 0 0 0 0 0 + 4331 3 0 0 0 42645 8087 8437 8291 0 0 0 0 0 0 + 4332 3 0 0 0 42646 8087 8369 8437 0 0 0 0 0 0 + 4333 3 0 0 0 42742 8105 8221 8398 0 0 0 0 0 0 + 4334 3 0 0 0 42744 8105 8398 8519 0 0 0 0 0 0 + 4335 3 0 0 0 42745 8105 8519 8144 0 0 0 0 0 0 + 4336 3 0 0 0 41715 8106 8458 8318 0 0 0 0 0 0 + 4337 3 0 0 0 42748 8106 8233 8458 0 0 0 0 0 0 + 4338 3 0 0 0 42772 8110 8440 8374 0 0 0 0 0 0 + 4339 3 0 0 0 42783 8114 8402 8241 0 0 0 0 0 0 + 4340 3 0 0 0 42599 8127 8344 8174 0 0 0 0 0 0 + 4341 3 0 0 0 42602 8131 8476 8176 0 0 0 0 0 0 + 4342 3 0 0 0 42840 8131 8416 8476 0 0 0 0 0 0 + 4343 3 0 0 0 42903 8144 8519 8358 0 0 0 0 0 0 + 4344 3 0 0 0 42931 8151 8231 8328 0 0 0 0 0 0 + 4345 3 0 0 0 42932 8151 8328 8449 0 0 0 0 0 0 + 4346 3 0 0 0 42350 8164 8252 8339 0 0 0 0 0 0 + 4347 3 0 0 0 42592 8164 8413 8251 0 0 0 0 0 0 + 4348 3 0 0 0 42595 8164 8339 8413 0 0 0 0 0 0 + 4349 3 0 0 0 42422 8166 8414 8252 0 0 0 0 0 0 + 4350 3 0 0 0 42635 8166 8483 8414 0 0 0 0 0 0 + 4351 3 0 0 0 42993 8166 8340 8483 0 0 0 0 0 0 + 4352 3 0 0 0 41911 8167 8412 8340 0 0 0 0 0 0 + 4353 3 0 0 0 43022 8172 8534 8259 0 0 0 0 0 0 + 4354 3 0 0 0 43023 8172 8345 8534 0 0 0 0 0 0 + 4355 3 0 0 0 43030 8174 8625 8415 0 0 0 0 0 0 + 4356 3 0 0 0 43031 8174 8344 8625 0 0 0 0 0 0 + 4357 3 0 0 0 43033 8176 8537 8262 0 0 0 0 0 0 + 4358 3 0 0 0 43035 8176 8476 8628 0 0 0 0 0 0 + 4359 3 0 0 0 43037 8176 8628 8537 0 0 0 0 0 0 + 4360 3 0 0 0 43073 8179 8277 8540 0 0 0 0 0 0 + 4361 3 0 0 0 43074 8179 8540 8265 0 0 0 0 0 0 + 4362 3 0 0 0 43077 8180 8631 8419 0 0 0 0 0 0 + 4363 3 0 0 0 43078 8180 8265 8631 0 0 0 0 0 0 + 4364 3 0 0 0 42025 8183 8429 8362 0 0 0 0 0 0 + 4365 3 0 0 0 43103 8183 8351 8429 0 0 0 0 0 0 + 4366 3 0 0 0 43209 8194 8362 8531 0 0 0 0 0 0 + 4367 3 0 0 0 43210 8194 8531 8734 0 0 0 0 0 0 + 4368 3 0 0 0 43211 8194 8734 8364 0 0 0 0 0 0 + 4369 3 0 0 0 42044 8197 8257 8430 0 0 0 0 0 0 + 4370 3 0 0 0 42045 8197 8430 8365 0 0 0 0 0 0 + 4371 3 0 0 0 42637 8197 8483 8253 0 0 0 0 0 0 + 4372 3 0 0 0 43234 8197 8365 8483 0 0 0 0 0 0 + 4373 3 0 0 0 43236 8198 8374 8560 0 0 0 0 0 0 + 4374 3 0 0 0 43237 8198 8560 8282 0 0 0 0 0 0 + 4375 3 0 0 0 42067 8199 8431 8283 0 0 0 0 0 0 + 4376 3 0 0 0 43239 8199 8282 8648 0 0 0 0 0 0 + 4377 3 0 0 0 43240 8199 8648 8431 0 0 0 0 0 0 + 4378 3 0 0 0 42427 8201 8367 8286 0 0 0 0 0 0 + 4379 3 0 0 0 42640 8201 8434 8369 0 0 0 0 0 0 + 4380 3 0 0 0 42641 8201 8286 8434 0 0 0 0 0 0 + 4381 3 0 0 0 42954 8209 8322 8514 0 0 0 0 0 0 + 4382 3 0 0 0 43318 8209 8514 8464 0 0 0 0 0 0 + 4383 3 0 0 0 43453 8221 8318 8594 0 0 0 0 0 0 + 4384 3 0 0 0 43454 8221 8594 8398 0 0 0 0 0 0 + 4385 3 0 0 0 43458 8222 8306 8595 0 0 0 0 0 0 + 4386 3 0 0 0 43459 8222 8595 8386 0 0 0 0 0 0 + 4387 3 0 0 0 43540 8231 8689 8328 0 0 0 0 0 0 + 4388 3 0 0 0 43542 8231 8325 8689 0 0 0 0 0 0 + 4389 3 0 0 0 43561 8233 8604 8458 0 0 0 0 0 0 + 4390 3 0 0 0 43562 8233 8442 8659 0 0 0 0 0 0 + 4391 3 0 0 0 43565 8233 8659 8604 0 0 0 0 0 0 + 4392 3 0 0 0 41717 8235 8318 8458 0 0 0 0 0 0 + 4393 3 0 0 0 43586 8235 8594 8318 0 0 0 0 0 0 + 4394 3 0 0 0 43588 8235 8695 8606 0 0 0 0 0 0 + 4395 3 0 0 0 43589 8235 8458 8695 0 0 0 0 0 0 + 4396 3 0 0 0 43591 8235 8848 8594 0 0 0 0 0 0 + 4397 3 0 0 0 43592 8235 8606 8848 0 0 0 0 0 0 + 4398 3 0 0 0 43643 8239 8329 8607 0 0 0 0 0 0 + 4399 3 0 0 0 43645 8239 8699 8325 0 0 0 0 0 0 + 4400 3 0 0 0 43646 8239 8607 8699 0 0 0 0 0 0 + 4401 3 0 0 0 43647 8240 8464 8700 0 0 0 0 0 0 + 4402 3 0 0 0 43648 8240 8700 8401 0 0 0 0 0 0 + 4403 3 0 0 0 41767 8241 8506 8329 0 0 0 0 0 0 + 4404 3 0 0 0 43649 8241 8612 8506 0 0 0 0 0 0 + 4405 3 0 0 0 43651 8241 8402 8612 0 0 0 0 0 0 + 4406 3 0 0 0 43692 8246 8860 8334 0 0 0 0 0 0 + 4407 3 0 0 0 43693 8246 8471 8860 0 0 0 0 0 0 + 4408 3 0 0 0 42973 8247 8409 8335 0 0 0 0 0 0 + 4409 3 0 0 0 43694 8247 8792 8409 0 0 0 0 0 0 + 4410 3 0 0 0 43695 8247 8334 8792 0 0 0 0 0 0 + 4411 3 0 0 0 43717 8250 8712 8797 0 0 0 0 0 0 + 4412 3 0 0 0 43718 8250 8797 8474 0 0 0 0 0 0 + 4413 3 0 0 0 43720 8250 8897 8712 0 0 0 0 0 0 + 4414 3 0 0 0 43721 8250 8338 8897 0 0 0 0 0 0 + 4415 3 0 0 0 42984 8251 8529 8416 0 0 0 0 0 0 + 4416 3 0 0 0 42985 8251 8413 8529 0 0 0 0 0 0 + 4417 3 0 0 0 42831 8252 8414 8339 0 0 0 0 0 0 + 4418 3 0 0 0 41912 8253 8340 8412 0 0 0 0 0 0 + 4419 3 0 0 0 42993 8253 8483 8340 0 0 0 0 0 0 + 4420 3 0 0 0 43733 8257 8364 8430 0 0 0 0 0 0 + 4421 3 0 0 0 43022 8259 8534 8344 0 0 0 0 0 0 + 4422 3 0 0 0 43028 8262 8626 8345 0 0 0 0 0 0 + 4423 3 0 0 0 43747 8262 8537 8626 0 0 0 0 0 0 + 4424 3 0 0 0 43756 8265 8540 8631 0 0 0 0 0 0 + 4425 3 0 0 0 43796 8277 8643 8540 0 0 0 0 0 0 + 4426 3 0 0 0 43797 8277 8729 8643 0 0 0 0 0 0 + 4427 3 0 0 0 43798 8277 8358 8729 0 0 0 0 0 0 + 4428 3 0 0 0 41410 8281 8339 8414 0 0 0 0 0 0 + 4429 3 0 0 0 41416 8281 8485 8339 0 0 0 0 0 0 + 4430 3 0 0 0 42040 8281 8414 8365 0 0 0 0 0 0 + 4431 3 0 0 0 43227 8281 8647 8485 0 0 0 0 0 0 + 4432 3 0 0 0 43818 8281 8737 8647 0 0 0 0 0 0 + 4433 3 0 0 0 43819 8281 8365 8737 0 0 0 0 0 0 + 4434 3 0 0 0 43821 8282 8738 8648 0 0 0 0 0 0 + 4435 3 0 0 0 43821 8282 8560 8738 0 0 0 0 0 0 + 4436 3 0 0 0 43241 8283 8561 8367 0 0 0 0 0 0 + 4437 3 0 0 0 43242 8283 8431 8561 0 0 0 0 0 0 + 4438 3 0 0 0 43837 8286 8367 8561 0 0 0 0 0 0 + 4439 3 0 0 0 43842 8286 8561 8744 0 0 0 0 0 0 + 4440 3 0 0 0 43843 8286 8744 8819 0 0 0 0 0 0 + 4441 3 0 0 0 43844 8286 8819 8434 0 0 0 0 0 0 + 4442 3 0 0 0 43866 8291 8572 8372 0 0 0 0 0 0 + 4443 3 0 0 0 43867 8291 8437 8572 0 0 0 0 0 0 + 4444 3 0 0 0 43464 8306 8474 8678 0 0 0 0 0 0 + 4445 3 0 0 0 43465 8306 8678 8595 0 0 0 0 0 0 + 4446 3 0 0 0 43474 8321 8386 8768 0 0 0 0 0 0 + 4447 3 0 0 0 43475 8321 8768 8460 0 0 0 0 0 0 + 4448 3 0 0 0 43320 8322 8460 8577 0 0 0 0 0 0 + 4449 3 0 0 0 43321 8322 8577 8514 0 0 0 0 0 0 + 4450 3 0 0 0 44073 8325 8699 8853 0 0 0 0 0 0 + 4451 3 0 0 0 44074 8325 8853 8689 0 0 0 0 0 0 + 4452 3 0 0 0 44094 8328 8682 8449 0 0 0 0 0 0 + 4453 3 0 0 0 44095 8328 8689 8856 0 0 0 0 0 0 + 4454 3 0 0 0 44097 8328 8856 8682 0 0 0 0 0 0 + 4455 3 0 0 0 44098 8329 8506 8607 0 0 0 0 0 0 + 4456 3 0 0 0 44125 8334 8617 8792 0 0 0 0 0 0 + 4457 3 0 0 0 44128 8334 8860 8617 0 0 0 0 0 0 + 4458 3 0 0 0 44130 8335 8409 8702 0 0 0 0 0 0 + 4459 3 0 0 0 44131 8335 8702 8402 0 0 0 0 0 0 + 4460 3 0 0 0 44163 8338 8449 8682 0 0 0 0 0 0 + 4461 3 0 0 0 44164 8338 8682 8897 0 0 0 0 0 0 + 4462 3 0 0 0 42961 8339 8485 8413 0 0 0 0 0 0 + 4463 3 0 0 0 43736 8344 8534 8625 0 0 0 0 0 0 + 4464 3 0 0 0 43739 8345 8716 8534 0 0 0 0 0 0 + 4465 3 0 0 0 43743 8345 8626 8716 0 0 0 0 0 0 + 4466 3 0 0 0 44174 8346 8627 8471 0 0 0 0 0 0 + 4467 3 0 0 0 44175 8346 8415 8627 0 0 0 0 0 0 + 4468 3 0 0 0 43093 8351 8419 8543 0 0 0 0 0 0 + 4469 3 0 0 0 44187 8351 8543 8633 0 0 0 0 0 0 + 4470 3 0 0 0 44188 8351 8633 8429 0 0 0 0 0 0 + 4471 3 0 0 0 44208 8358 8519 8644 0 0 0 0 0 0 + 4472 3 0 0 0 44209 8358 8644 8729 0 0 0 0 0 0 + 4473 3 0 0 0 43212 8362 8429 8531 0 0 0 0 0 0 + 4474 3 0 0 0 44225 8364 8559 8430 0 0 0 0 0 0 + 4475 3 0 0 0 44226 8364 8734 8559 0 0 0 0 0 0 + 4476 3 0 0 0 43234 8365 8414 8483 0 0 0 0 0 0 + 4477 3 0 0 0 44228 8365 8430 8737 0 0 0 0 0 0 + 4478 3 0 0 0 43830 8369 8434 8653 0 0 0 0 0 0 + 4479 3 0 0 0 44245 8369 8653 8437 0 0 0 0 0 0 + 4480 3 0 0 0 44256 8372 8659 8442 0 0 0 0 0 0 + 4481 3 0 0 0 44259 8372 8746 8659 0 0 0 0 0 0 + 4482 3 0 0 0 44260 8372 8572 8746 0 0 0 0 0 0 + 4483 3 0 0 0 43299 8374 8440 8749 0 0 0 0 0 0 + 4484 3 0 0 0 44276 8374 8749 8560 0 0 0 0 0 0 + 4485 3 0 0 0 43955 8386 8595 8679 0 0 0 0 0 0 + 4486 3 0 0 0 43962 8386 8679 8768 0 0 0 0 0 0 + 4487 3 0 0 0 44348 8398 8594 8694 0 0 0 0 0 0 + 4488 3 0 0 0 44349 8398 8780 8519 0 0 0 0 0 0 + 4489 3 0 0 0 44351 8398 8694 8780 0 0 0 0 0 0 + 4490 3 0 0 0 44080 8401 8662 8440 0 0 0 0 0 0 + 4491 3 0 0 0 44082 8401 8700 8609 0 0 0 0 0 0 + 4492 3 0 0 0 44369 8401 8609 8786 0 0 0 0 0 0 + 4493 3 0 0 0 44370 8401 8786 8662 0 0 0 0 0 0 + 4494 3 0 0 0 44371 8402 8702 8612 0 0 0 0 0 0 + 4495 3 0 0 0 44397 8409 8618 8702 0 0 0 0 0 0 + 4496 3 0 0 0 44398 8409 8710 8618 0 0 0 0 0 0 + 4497 3 0 0 0 44399 8409 8792 8710 0 0 0 0 0 0 + 4498 3 0 0 0 43726 8413 8714 8529 0 0 0 0 0 0 + 4499 3 0 0 0 44169 8413 8485 8798 0 0 0 0 0 0 + 4500 3 0 0 0 44170 8413 8798 8714 0 0 0 0 0 0 + 4501 3 0 0 0 43737 8415 8625 8535 0 0 0 0 0 0 + 4502 3 0 0 0 44422 8415 8535 8627 0 0 0 0 0 0 + 4503 3 0 0 0 42989 8416 8529 8713 0 0 0 0 0 0 + 4504 3 0 0 0 44423 8416 8713 8476 0 0 0 0 0 0 + 4505 3 0 0 0 44432 8419 8804 8543 0 0 0 0 0 0 + 4506 3 0 0 0 44433 8419 8631 8804 0 0 0 0 0 0 + 4507 3 0 0 0 44477 8429 8736 8531 0 0 0 0 0 0 + 4508 3 0 0 0 44478 8429 8633 8736 0 0 0 0 0 0 + 4509 3 0 0 0 44479 8430 8559 8737 0 0 0 0 0 0 + 4510 3 0 0 0 44480 8431 8650 8561 0 0 0 0 0 0 + 4511 3 0 0 0 44481 8431 8563 8650 0 0 0 0 0 0 + 4512 3 0 0 0 44482 8431 8648 8563 0 0 0 0 0 0 + 4513 3 0 0 0 44495 8434 8819 8871 0 0 0 0 0 0 + 4514 3 0 0 0 44496 8434 8871 8653 0 0 0 0 0 0 + 4515 3 0 0 0 44511 8437 8653 8822 0 0 0 0 0 0 + 4516 3 0 0 0 44513 8437 8822 8572 0 0 0 0 0 0 + 4517 3 0 0 0 44523 8440 8662 8749 0 0 0 0 0 0 + 4518 3 0 0 0 44047 8458 8604 8695 0 0 0 0 0 0 + 4519 3 0 0 0 44606 8460 8851 8577 0 0 0 0 0 0 + 4520 3 0 0 0 44607 8460 8768 8851 0 0 0 0 0 0 + 4521 3 0 0 0 44623 8464 8785 8700 0 0 0 0 0 0 + 4522 3 0 0 0 44624 8464 8514 8785 0 0 0 0 0 0 + 4523 3 0 0 0 44653 8471 8627 8890 0 0 0 0 0 0 + 4524 3 0 0 0 44654 8471 8890 8860 0 0 0 0 0 0 + 4525 3 0 0 0 44675 8474 8797 8678 0 0 0 0 0 0 + 4526 3 0 0 0 44684 8476 8713 8800 0 0 0 0 0 0 + 4527 3 0 0 0 44685 8476 8800 8628 0 0 0 0 0 0 + 4528 3 0 0 0 43230 8485 8647 8735 0 0 0 0 0 0 + 4529 3 0 0 0 44721 8485 8735 8798 0 0 0 0 0 0 + 4530 3 0 0 0 44805 8506 8704 8607 0 0 0 0 0 0 + 4531 3 0 0 0 44809 8506 8858 8704 0 0 0 0 0 0 + 4532 3 0 0 0 44810 8506 8612 8858 0 0 0 0 0 0 + 4533 3 0 0 0 43323 8514 8577 8664 0 0 0 0 0 0 + 4534 3 0 0 0 44847 8514 8664 8785 0 0 0 0 0 0 + 4535 3 0 0 0 44868 8519 8780 8644 0 0 0 0 0 0 + 4536 3 0 0 0 44907 8529 8714 8910 0 0 0 0 0 0 + 4537 3 0 0 0 44908 8529 8910 8713 0 0 0 0 0 0 + 4538 3 0 0 0 44922 8531 8736 9012 0 0 0 0 0 0 + 4539 3 0 0 0 44923 8531 9012 8734 0 0 0 0 0 0 + 4540 3 0 0 0 43742 8534 8716 8625 0 0 0 0 0 0 + 4541 3 0 0 0 43740 8535 8625 8716 0 0 0 0 0 0 + 4542 3 0 0 0 44678 8535 8717 8627 0 0 0 0 0 0 + 4543 3 0 0 0 44941 8535 8914 8717 0 0 0 0 0 0 + 4544 3 0 0 0 44942 8535 8716 8914 0 0 0 0 0 0 + 4545 3 0 0 0 44949 8537 8915 8626 0 0 0 0 0 0 + 4546 3 0 0 0 44950 8537 8628 9016 0 0 0 0 0 0 + 4547 3 0 0 0 44951 8537 9016 8915 0 0 0 0 0 0 + 4548 3 0 0 0 44456 8540 8643 8867 0 0 0 0 0 0 + 4549 3 0 0 0 44969 8540 8867 8631 0 0 0 0 0 0 + 4550 3 0 0 0 44983 8543 8804 8921 0 0 0 0 0 0 + 4551 3 0 0 0 44985 8543 8921 9109 0 0 0 0 0 0 + 4552 3 0 0 0 44986 8543 9109 8633 0 0 0 0 0 0 + 4553 3 0 0 0 45127 8559 8734 8937 0 0 0 0 0 0 + 4554 3 0 0 0 45128 8559 9121 8737 0 0 0 0 0 0 + 4555 3 0 0 0 45129 8559 8937 9121 0 0 0 0 0 0 + 4556 3 0 0 0 45134 8560 8749 9039 0 0 0 0 0 0 + 4557 3 0 0 0 45135 8560 9039 8738 0 0 0 0 0 0 + 4558 3 0 0 0 44488 8561 8650 8744 0 0 0 0 0 0 + 4559 3 0 0 0 45143 8563 8648 8738 0 0 0 0 0 0 + 4560 3 0 0 0 45145 8563 8738 8939 0 0 0 0 0 0 + 4561 3 0 0 0 45146 8563 9123 8650 0 0 0 0 0 0 + 4562 3 0 0 0 45147 8563 8939 9123 0 0 0 0 0 0 + 4563 3 0 0 0 45211 8572 8822 8952 0 0 0 0 0 0 + 4564 3 0 0 0 45212 8572 8952 8746 0 0 0 0 0 0 + 4565 3 0 0 0 45260 8577 8851 8958 0 0 0 0 0 0 + 4566 3 0 0 0 45261 8577 8958 8664 0 0 0 0 0 0 + 4567 3 0 0 0 45418 8594 8848 8694 0 0 0 0 0 0 + 4568 3 0 0 0 45419 8595 8678 8976 0 0 0 0 0 0 + 4569 3 0 0 0 45420 8595 8976 8679 0 0 0 0 0 0 + 4570 3 0 0 0 44059 8604 8850 8695 0 0 0 0 0 0 + 4571 3 0 0 0 45503 8604 9050 8850 0 0 0 0 0 0 + 4572 3 0 0 0 45504 8604 8659 9050 0 0 0 0 0 0 + 4573 3 0 0 0 45514 8606 8695 8990 0 0 0 0 0 0 + 4574 3 0 0 0 45515 8606 9089 8848 0 0 0 0 0 0 + 4575 3 0 0 0 45518 8606 8990 9166 0 0 0 0 0 0 + 4576 3 0 0 0 45519 8606 9166 9089 0 0 0 0 0 0 + 4577 3 0 0 0 45520 8607 8994 8699 0 0 0 0 0 0 + 4578 3 0 0 0 45521 8607 8704 8994 0 0 0 0 0 0 + 4579 3 0 0 0 45540 8609 8700 8957 0 0 0 0 0 0 + 4580 3 0 0 0 45541 8609 8997 8786 0 0 0 0 0 0 + 4581 3 0 0 0 45544 8609 9171 8997 0 0 0 0 0 0 + 4582 3 0 0 0 45545 8609 8957 9171 0 0 0 0 0 0 + 4583 3 0 0 0 44813 8612 8702 8891 0 0 0 0 0 0 + 4584 3 0 0 0 45568 8612 8891 8858 0 0 0 0 0 0 + 4585 3 0 0 0 45611 8617 9002 8792 0 0 0 0 0 0 + 4586 3 0 0 0 45612 8617 8860 9018 0 0 0 0 0 0 + 4587 3 0 0 0 45613 8617 9018 9177 0 0 0 0 0 0 + 4588 3 0 0 0 45614 8617 9177 9002 0 0 0 0 0 0 + 4589 3 0 0 0 45615 8618 8891 8702 0 0 0 0 0 0 + 4590 3 0 0 0 45616 8618 8710 9004 0 0 0 0 0 0 + 4591 3 0 0 0 45617 8618 9004 9099 0 0 0 0 0 0 + 4592 3 0 0 0 45618 8618 9099 8891 0 0 0 0 0 0 + 4593 3 0 0 0 44834 8621 8678 8797 0 0 0 0 0 0 + 4594 3 0 0 0 45647 8621 8976 8678 0 0 0 0 0 0 + 4595 3 0 0 0 45648 8621 8797 9065 0 0 0 0 0 0 + 4596 3 0 0 0 45649 8621 9065 9009 0 0 0 0 0 0 + 4597 3 0 0 0 45650 8621 9009 9245 0 0 0 0 0 0 + 4598 3 0 0 0 45652 8621 9245 8976 0 0 0 0 0 0 + 4599 3 0 0 0 44942 8626 8914 8716 0 0 0 0 0 0 + 4600 3 0 0 0 45665 8626 9015 8914 0 0 0 0 0 0 + 4601 3 0 0 0 45666 8626 8915 9015 0 0 0 0 0 0 + 4602 3 0 0 0 45668 8627 8717 8890 0 0 0 0 0 0 + 4603 3 0 0 0 45669 8628 8800 8917 0 0 0 0 0 0 + 4604 3 0 0 0 45670 8628 8917 9016 0 0 0 0 0 0 + 4605 3 0 0 0 45681 8631 8867 8804 0 0 0 0 0 0 + 4606 3 0 0 0 45695 8633 9109 9187 0 0 0 0 0 0 + 4607 3 0 0 0 45696 8633 9187 8736 0 0 0 0 0 0 + 4608 3 0 0 0 45034 8643 8729 9028 0 0 0 0 0 0 + 4609 3 0 0 0 45731 8643 8933 8867 0 0 0 0 0 0 + 4610 3 0 0 0 45732 8643 9028 8933 0 0 0 0 0 0 + 4611 3 0 0 0 45030 8644 8930 8729 0 0 0 0 0 0 + 4612 3 0 0 0 45066 8644 8780 9033 0 0 0 0 0 0 + 4613 3 0 0 0 45733 8644 9033 8930 0 0 0 0 0 0 + 4614 3 0 0 0 44930 8647 9014 8735 0 0 0 0 0 0 + 4615 3 0 0 0 45755 8647 8737 9014 0 0 0 0 0 0 + 4616 3 0 0 0 45766 8650 9041 8744 0 0 0 0 0 0 + 4617 3 0 0 0 45768 8650 9123 9041 0 0 0 0 0 0 + 4618 3 0 0 0 45783 8653 8871 9046 0 0 0 0 0 0 + 4619 3 0 0 0 45784 8653 9046 8822 0 0 0 0 0 0 + 4620 3 0 0 0 45815 8659 8746 9050 0 0 0 0 0 0 + 4621 3 0 0 0 45822 8662 8786 9055 0 0 0 0 0 0 + 4622 3 0 0 0 45825 8662 9129 8749 0 0 0 0 0 0 + 4623 3 0 0 0 45826 8662 9055 9129 0 0 0 0 0 0 + 4624 3 0 0 0 45253 8664 9056 8785 0 0 0 0 0 0 + 4625 3 0 0 0 45828 8664 9205 9056 0 0 0 0 0 0 + 4626 3 0 0 0 45829 8664 8958 9205 0 0 0 0 0 0 + 4627 3 0 0 0 45424 8679 8977 8768 0 0 0 0 0 0 + 4628 3 0 0 0 45900 8679 8976 9076 0 0 0 0 0 0 + 4629 3 0 0 0 45901 8679 9076 8977 0 0 0 0 0 0 + 4630 3 0 0 0 45443 8682 8856 8980 0 0 0 0 0 0 + 4631 3 0 0 0 45920 8682 8980 8897 0 0 0 0 0 0 + 4632 3 0 0 0 45988 8689 8853 9224 0 0 0 0 0 0 + 4633 3 0 0 0 45989 8689 9224 8856 0 0 0 0 0 0 + 4634 3 0 0 0 46024 8694 8848 8989 0 0 0 0 0 0 + 4635 3 0 0 0 46028 8694 9116 8780 0 0 0 0 0 0 + 4636 3 0 0 0 46029 8694 8989 9116 0 0 0 0 0 0 + 4637 3 0 0 0 46030 8695 8850 8990 0 0 0 0 0 0 + 4638 3 0 0 0 46073 8699 9093 8853 0 0 0 0 0 0 + 4639 3 0 0 0 46074 8699 8994 9093 0 0 0 0 0 0 + 4640 3 0 0 0 45250 8700 8785 8957 0 0 0 0 0 0 + 4641 3 0 0 0 46083 8704 8858 9237 0 0 0 0 0 0 + 4642 3 0 0 0 46085 8704 9237 8994 0 0 0 0 0 0 + 4643 3 0 0 0 46124 8710 8792 9002 0 0 0 0 0 0 + 4644 3 0 0 0 46126 8710 9002 9100 0 0 0 0 0 0 + 4645 3 0 0 0 46127 8710 9100 9004 0 0 0 0 0 0 + 4646 3 0 0 0 45328 8712 9065 8797 0 0 0 0 0 0 + 4647 3 0 0 0 46140 8712 9184 9065 0 0 0 0 0 0 + 4648 3 0 0 0 46141 8712 8897 9218 0 0 0 0 0 0 + 4649 3 0 0 0 46145 8712 9218 9184 0 0 0 0 0 0 + 4650 3 0 0 0 46146 8713 8910 9010 0 0 0 0 0 0 + 4651 3 0 0 0 46147 8713 9010 8800 0 0 0 0 0 0 + 4652 3 0 0 0 44913 8714 8798 8911 0 0 0 0 0 0 + 4653 3 0 0 0 46148 8714 9011 8910 0 0 0 0 0 0 + 4654 3 0 0 0 46149 8714 8911 9011 0 0 0 0 0 0 + 4655 3 0 0 0 45665 8717 8914 9015 0 0 0 0 0 0 + 4656 3 0 0 0 46156 8717 8916 8890 0 0 0 0 0 0 + 4657 3 0 0 0 46157 8717 9015 8916 0 0 0 0 0 0 + 4658 3 0 0 0 45033 8729 8930 9028 0 0 0 0 0 0 + 4659 3 0 0 0 46200 8734 9012 8937 0 0 0 0 0 0 + 4660 3 0 0 0 44914 8735 8911 8798 0 0 0 0 0 0 + 4661 3 0 0 0 44929 8735 9014 8913 0 0 0 0 0 0 + 4662 3 0 0 0 46201 8735 8913 9195 0 0 0 0 0 0 + 4663 3 0 0 0 46203 8735 9195 8911 0 0 0 0 0 0 + 4664 3 0 0 0 46208 8736 9288 9012 0 0 0 0 0 0 + 4665 3 0 0 0 46209 8736 9187 9288 0 0 0 0 0 0 + 4666 3 0 0 0 46211 8737 9121 9014 0 0 0 0 0 0 + 4667 3 0 0 0 46212 8738 9122 8939 0 0 0 0 0 0 + 4668 3 0 0 0 46213 8738 9039 9122 0 0 0 0 0 0 + 4669 3 0 0 0 45790 8744 9128 8819 0 0 0 0 0 0 + 4670 3 0 0 0 46235 8744 9041 9128 0 0 0 0 0 0 + 4671 3 0 0 0 46248 8746 9132 9050 0 0 0 0 0 0 + 4672 3 0 0 0 46249 8746 8952 9132 0 0 0 0 0 0 + 4673 3 0 0 0 45803 8749 9129 9039 0 0 0 0 0 0 + 4674 3 0 0 0 45425 8768 8977 8851 0 0 0 0 0 0 + 4675 3 0 0 0 45068 8780 9116 9033 0 0 0 0 0 0 + 4676 3 0 0 0 45252 8785 9056 8957 0 0 0 0 0 0 + 4677 3 0 0 0 46465 8786 8997 9172 0 0 0 0 0 0 + 4678 3 0 0 0 46466 8786 9172 9055 0 0 0 0 0 0 + 4679 3 0 0 0 45634 8800 9106 8917 0 0 0 0 0 0 + 4680 3 0 0 0 45635 8800 9010 9106 0 0 0 0 0 0 + 4681 3 0 0 0 46550 8804 8867 9110 0 0 0 0 0 0 + 4682 3 0 0 0 46551 8804 9110 8921 0 0 0 0 0 0 + 4683 3 0 0 0 46584 8819 8946 8871 0 0 0 0 0 0 + 4684 3 0 0 0 46585 8819 9128 8946 0 0 0 0 0 0 + 4685 3 0 0 0 46253 8822 9131 8952 0 0 0 0 0 0 + 4686 3 0 0 0 46600 8822 9046 9131 0 0 0 0 0 0 + 4687 3 0 0 0 46695 8848 9089 8989 0 0 0 0 0 0 + 4688 3 0 0 0 46049 8850 9050 8993 0 0 0 0 0 0 + 4689 3 0 0 0 46440 8850 9167 8990 0 0 0 0 0 0 + 4690 3 0 0 0 46698 8850 8993 9167 0 0 0 0 0 0 + 4691 3 0 0 0 45831 8851 9059 8958 0 0 0 0 0 0 + 4692 3 0 0 0 46352 8851 8977 9059 0 0 0 0 0 0 + 4693 3 0 0 0 46709 8853 9274 9224 0 0 0 0 0 0 + 4694 3 0 0 0 46710 8853 9093 9274 0 0 0 0 0 0 + 4695 3 0 0 0 46095 8856 9224 9276 0 0 0 0 0 0 + 4696 3 0 0 0 46096 8856 9276 8980 0 0 0 0 0 0 + 4697 3 0 0 0 46726 8858 8891 9175 0 0 0 0 0 0 + 4698 3 0 0 0 46727 8858 9175 8999 0 0 0 0 0 0 + 4699 3 0 0 0 46728 8858 8999 9237 0 0 0 0 0 0 + 4700 3 0 0 0 46158 8860 8890 9018 0 0 0 0 0 0 + 4701 3 0 0 0 46767 8867 8933 9110 0 0 0 0 0 0 + 4702 3 0 0 0 46228 8871 9127 9046 0 0 0 0 0 0 + 4703 3 0 0 0 46786 8871 8946 9127 0 0 0 0 0 0 + 4704 3 0 0 0 46888 8890 8916 9018 0 0 0 0 0 0 + 4705 3 0 0 0 46890 8891 9099 9175 0 0 0 0 0 0 + 4706 3 0 0 0 46660 8897 8980 9218 0 0 0 0 0 0 + 4707 3 0 0 0 46947 8910 9181 9010 0 0 0 0 0 0 + 4708 3 0 0 0 46948 8910 9011 9181 0 0 0 0 0 0 + 4709 3 0 0 0 46958 8911 9303 9011 0 0 0 0 0 0 + 4710 3 0 0 0 46959 8911 9195 9303 0 0 0 0 0 0 + 4711 3 0 0 0 46970 8913 9305 9195 0 0 0 0 0 0 + 4712 3 0 0 0 46972 8913 9014 9400 0 0 0 0 0 0 + 4713 3 0 0 0 46974 8913 9400 9487 0 0 0 0 0 0 + 4714 3 0 0 0 46975 8913 9487 9305 0 0 0 0 0 0 + 4715 3 0 0 0 46976 8915 9306 9015 0 0 0 0 0 0 + 4716 3 0 0 0 46978 8915 9016 9307 0 0 0 0 0 0 + 4717 3 0 0 0 46980 8915 9307 9401 0 0 0 0 0 0 + 4718 3 0 0 0 46981 8915 9401 9306 0 0 0 0 0 0 + 4719 3 0 0 0 46982 8916 9015 9306 0 0 0 0 0 0 + 4720 3 0 0 0 46983 8916 9306 9402 0 0 0 0 0 0 + 4721 3 0 0 0 46984 8916 9402 9018 0 0 0 0 0 0 + 4722 3 0 0 0 46985 8917 9106 9308 0 0 0 0 0 0 + 4723 3 0 0 0 46986 8917 9403 9016 0 0 0 0 0 0 + 4724 3 0 0 0 46987 8917 9308 9403 0 0 0 0 0 0 + 4725 3 0 0 0 47008 8921 9312 9109 0 0 0 0 0 0 + 4726 3 0 0 0 47009 8921 9110 9490 0 0 0 0 0 0 + 4727 3 0 0 0 47010 8921 9490 9312 0 0 0 0 0 0 + 4728 3 0 0 0 46400 8930 9226 9028 0 0 0 0 0 0 + 4729 3 0 0 0 46401 8930 9161 9226 0 0 0 0 0 0 + 4730 3 0 0 0 47067 8930 9033 9161 0 0 0 0 0 0 + 4731 3 0 0 0 46398 8933 9028 9226 0 0 0 0 0 0 + 4732 3 0 0 0 47092 8933 9407 9110 0 0 0 0 0 0 + 4733 3 0 0 0 47094 8933 9226 9498 0 0 0 0 0 0 + 4734 3 0 0 0 47095 8933 9498 9407 0 0 0 0 0 0 + 4735 3 0 0 0 47130 8937 9012 9304 0 0 0 0 0 0 + 4736 3 0 0 0 47132 8937 9304 9400 0 0 0 0 0 0 + 4737 3 0 0 0 47133 8937 9400 9121 0 0 0 0 0 0 + 4738 3 0 0 0 47144 8939 9332 9123 0 0 0 0 0 0 + 4739 3 0 0 0 47145 8939 9424 9332 0 0 0 0 0 0 + 4740 3 0 0 0 47146 8939 9122 9424 0 0 0 0 0 0 + 4741 3 0 0 0 47207 8946 9128 9513 0 0 0 0 0 0 + 4742 3 0 0 0 47208 8946 9581 9127 0 0 0 0 0 0 + 4743 3 0 0 0 47210 8946 9513 9581 0 0 0 0 0 0 + 4744 3 0 0 0 47248 8952 9131 9344 0 0 0 0 0 0 + 4745 3 0 0 0 47249 8952 9344 9132 0 0 0 0 0 0 + 4746 3 0 0 0 46458 8957 9233 9171 0 0 0 0 0 0 + 4747 3 0 0 0 47284 8957 9056 9233 0 0 0 0 0 0 + 4748 3 0 0 0 47285 8958 9059 9350 0 0 0 0 0 0 + 4749 3 0 0 0 47286 8958 9350 9205 0 0 0 0 0 0 + 4750 3 0 0 0 47442 8976 9245 9076 0 0 0 0 0 0 + 4751 3 0 0 0 46647 8977 9076 9151 0 0 0 0 0 0 + 4752 3 0 0 0 47443 8977 9151 9059 0 0 0 0 0 0 + 4753 3 0 0 0 47461 8980 9372 9218 0 0 0 0 0 0 + 4754 3 0 0 0 47462 8980 9276 9372 0 0 0 0 0 0 + 4755 3 0 0 0 46866 8989 9089 9169 0 0 0 0 0 0 + 4756 3 0 0 0 47563 8989 9323 9116 0 0 0 0 0 0 + 4757 3 0 0 0 47564 8989 9169 9323 0 0 0 0 0 0 + 4758 3 0 0 0 46032 8990 9091 9166 0 0 0 0 0 0 + 4759 3 0 0 0 47565 8990 9167 9091 0 0 0 0 0 0 + 4760 3 0 0 0 46054 8993 9050 9132 0 0 0 0 0 0 + 4761 3 0 0 0 47605 8993 9132 9436 0 0 0 0 0 0 + 4762 3 0 0 0 47607 8993 9619 9167 0 0 0 0 0 0 + 4763 3 0 0 0 47608 8993 9436 9619 0 0 0 0 0 0 + 4764 3 0 0 0 47609 8994 9377 9093 0 0 0 0 0 0 + 4765 3 0 0 0 47610 8994 9237 9377 0 0 0 0 0 0 + 4766 3 0 0 0 47637 8997 9171 9385 0 0 0 0 0 0 + 4767 3 0 0 0 47639 8997 9385 9476 0 0 0 0 0 0 + 4768 3 0 0 0 47640 8997 9476 9172 0 0 0 0 0 0 + 4769 3 0 0 0 47650 8999 9560 9392 0 0 0 0 0 0 + 4770 3 0 0 0 47651 8999 9175 9560 0 0 0 0 0 0 + 4771 3 0 0 0 47653 8999 9392 9628 0 0 0 0 0 0 + 4772 3 0 0 0 47654 8999 9628 9237 0 0 0 0 0 0 + 4773 3 0 0 0 47669 9002 9562 9100 0 0 0 0 0 0 + 4774 3 0 0 0 47670 9002 9177 9562 0 0 0 0 0 0 + 4775 3 0 0 0 47691 9004 9395 9099 0 0 0 0 0 0 + 4776 3 0 0 0 47692 9004 9483 9395 0 0 0 0 0 0 + 4777 3 0 0 0 47693 9004 9100 9483 0 0 0 0 0 0 + 4778 3 0 0 0 47755 9009 9065 9355 0 0 0 0 0 0 + 4779 3 0 0 0 47757 9009 9567 9245 0 0 0 0 0 0 + 4780 3 0 0 0 47758 9009 9633 9567 0 0 0 0 0 0 + 4781 3 0 0 0 47759 9009 9355 9633 0 0 0 0 0 0 + 4782 3 0 0 0 46525 9010 9181 9281 0 0 0 0 0 0 + 4783 3 0 0 0 46528 9010 9281 9106 0 0 0 0 0 0 + 4784 3 0 0 0 47761 9011 9399 9181 0 0 0 0 0 0 + 4785 3 0 0 0 47762 9011 9303 9399 0 0 0 0 0 0 + 4786 3 0 0 0 46965 9012 9288 9304 0 0 0 0 0 0 + 4787 3 0 0 0 47133 9014 9121 9400 0 0 0 0 0 0 + 4788 3 0 0 0 47764 9016 9403 9307 0 0 0 0 0 0 + 4789 3 0 0 0 46994 9018 9402 9177 0 0 0 0 0 0 + 4790 3 0 0 0 47832 9033 9116 9499 0 0 0 0 0 0 + 4791 3 0 0 0 47833 9033 9499 9161 0 0 0 0 0 0 + 4792 3 0 0 0 47139 9039 9129 9331 0 0 0 0 0 0 + 4793 3 0 0 0 47874 9039 9331 9122 0 0 0 0 0 0 + 4794 3 0 0 0 47152 9041 9123 9425 0 0 0 0 0 0 + 4795 3 0 0 0 47876 9041 9333 9128 0 0 0 0 0 0 + 4796 3 0 0 0 47877 9041 9425 9333 0 0 0 0 0 0 + 4797 3 0 0 0 47197 9046 9127 9430 0 0 0 0 0 0 + 4798 3 0 0 0 47897 9046 9430 9131 0 0 0 0 0 0 + 4799 3 0 0 0 47956 9055 9432 9129 0 0 0 0 0 0 + 4800 3 0 0 0 47957 9055 9523 9432 0 0 0 0 0 0 + 4801 3 0 0 0 47958 9055 9172 9523 0 0 0 0 0 0 + 4802 3 0 0 0 47959 9056 9349 9233 0 0 0 0 0 0 + 4803 3 0 0 0 47960 9056 9205 9349 0 0 0 0 0 0 + 4804 3 0 0 0 47979 9059 9151 9443 0 0 0 0 0 0 + 4805 3 0 0 0 47981 9059 9443 9350 0 0 0 0 0 0 + 4806 3 0 0 0 47346 9065 9184 9355 0 0 0 0 0 0 + 4807 3 0 0 0 48050 9076 9245 9369 0 0 0 0 0 0 + 4808 3 0 0 0 48051 9076 9369 9151 0 0 0 0 0 0 + 4809 3 0 0 0 47589 9089 9381 9169 0 0 0 0 0 0 + 4810 3 0 0 0 48172 9089 9166 9381 0 0 0 0 0 0 + 4811 3 0 0 0 47569 9091 9470 9166 0 0 0 0 0 0 + 4812 3 0 0 0 47577 9091 9620 9470 0 0 0 0 0 0 + 4813 3 0 0 0 48187 9091 9167 9383 0 0 0 0 0 0 + 4814 3 0 0 0 48189 9091 9383 9620 0 0 0 0 0 0 + 4815 3 0 0 0 47487 9093 9377 9463 0 0 0 0 0 0 + 4816 3 0 0 0 47488 9093 9463 9274 0 0 0 0 0 0 + 4817 3 0 0 0 47660 9099 9481 9175 0 0 0 0 0 0 + 4818 3 0 0 0 48251 9099 9395 9481 0 0 0 0 0 0 + 4819 3 0 0 0 47699 9100 9396 9483 0 0 0 0 0 0 + 4820 3 0 0 0 48252 9100 9562 9396 0 0 0 0 0 0 + 4821 3 0 0 0 47729 9106 9405 9308 0 0 0 0 0 0 + 4822 3 0 0 0 47730 9106 9281 9405 0 0 0 0 0 0 + 4823 3 0 0 0 47017 9109 9408 9187 0 0 0 0 0 0 + 4824 3 0 0 0 48278 9109 9312 9408 0 0 0 0 0 0 + 4825 3 0 0 0 48279 9110 9407 9490 0 0 0 0 0 0 + 4826 3 0 0 0 48298 9116 9323 9499 0 0 0 0 0 0 + 4827 3 0 0 0 48318 9122 9331 9505 0 0 0 0 0 0 + 4828 3 0 0 0 48319 9122 9505 9424 0 0 0 0 0 0 + 4829 3 0 0 0 47153 9123 9332 9425 0 0 0 0 0 0 + 4830 3 0 0 0 47199 9127 9512 9430 0 0 0 0 0 0 + 4831 3 0 0 0 48327 9127 9581 9512 0 0 0 0 0 0 + 4832 3 0 0 0 48329 9128 9333 9513 0 0 0 0 0 0 + 4833 3 0 0 0 47899 9129 9432 9331 0 0 0 0 0 0 + 4834 3 0 0 0 48336 9131 9430 9517 0 0 0 0 0 0 + 4835 3 0 0 0 48337 9131 9517 9344 0 0 0 0 0 0 + 4836 3 0 0 0 48338 9132 9344 9436 0 0 0 0 0 0 + 4837 3 0 0 0 48433 9151 9369 9539 0 0 0 0 0 0 + 4838 3 0 0 0 48435 9151 9539 9443 0 0 0 0 0 0 + 4839 3 0 0 0 47843 9161 9324 9573 0 0 0 0 0 0 + 4840 3 0 0 0 47844 9161 9573 9226 0 0 0 0 0 0 + 4841 3 0 0 0 48465 9161 9499 9324 0 0 0 0 0 0 + 4842 3 0 0 0 48489 9166 9470 9381 0 0 0 0 0 0 + 4843 3 0 0 0 48179 9167 9619 9383 0 0 0 0 0 0 + 4844 3 0 0 0 47593 9169 9381 9555 0 0 0 0 0 0 + 4845 3 0 0 0 48494 9169 9555 9472 0 0 0 0 0 0 + 4846 3 0 0 0 48497 9169 9472 9323 0 0 0 0 0 0 + 4847 3 0 0 0 47623 9171 9233 9475 0 0 0 0 0 0 + 4848 3 0 0 0 48207 9171 9475 9385 0 0 0 0 0 0 + 4849 3 0 0 0 48500 9172 9476 9387 0 0 0 0 0 0 + 4850 3 0 0 0 48501 9172 9387 9523 0 0 0 0 0 0 + 4851 3 0 0 0 48517 9175 9481 9560 0 0 0 0 0 0 + 4852 3 0 0 0 46993 9177 9402 9309 0 0 0 0 0 0 + 4853 3 0 0 0 48523 9177 9309 9562 0 0 0 0 0 0 + 4854 3 0 0 0 47751 9181 9399 9631 0 0 0 0 0 0 + 4855 3 0 0 0 47753 9181 9631 9281 0 0 0 0 0 0 + 4856 3 0 0 0 48558 9184 9218 9540 0 0 0 0 0 0 + 4857 3 0 0 0 48559 9184 9675 9355 0 0 0 0 0 0 + 4858 3 0 0 0 48560 9184 9540 9675 0 0 0 0 0 0 + 4859 3 0 0 0 48316 9187 9408 9492 0 0 0 0 0 0 + 4860 3 0 0 0 48317 9187 9492 9288 0 0 0 0 0 0 + 4861 3 0 0 0 47870 9195 9577 9303 0 0 0 0 0 0 + 4862 3 0 0 0 48599 9195 9305 9577 0 0 0 0 0 0 + 4863 3 0 0 0 48633 9205 9442 9349 0 0 0 0 0 0 + 4864 3 0 0 0 48634 9205 9350 9442 0 0 0 0 0 0 + 4865 3 0 0 0 48444 9218 9372 9540 0 0 0 0 0 0 + 4866 3 0 0 0 47475 9224 9274 9374 0 0 0 0 0 0 + 4867 3 0 0 0 48089 9224 9374 9276 0 0 0 0 0 0 + 4868 3 0 0 0 47842 9226 9573 9498 0 0 0 0 0 0 + 4869 3 0 0 0 47625 9233 9556 9475 0 0 0 0 0 0 + 4870 3 0 0 0 48730 9233 9349 9556 0 0 0 0 0 0 + 4871 3 0 0 0 48742 9237 9628 9377 0 0 0 0 0 0 + 4872 3 0 0 0 48780 9245 9567 9369 0 0 0 0 0 0 + 4873 3 0 0 0 48909 9274 9623 9374 0 0 0 0 0 0 + 4874 3 0 0 0 48910 9274 9463 9623 0 0 0 0 0 0 + 4875 3 0 0 0 48092 9276 9374 9543 0 0 0 0 0 0 + 4876 3 0 0 0 48914 9276 9543 9372 0 0 0 0 0 0 + 4877 3 0 0 0 48930 9281 9672 9405 0 0 0 0 0 0 + 4878 3 0 0 0 48931 9281 9631 9672 0 0 0 0 0 0 + 4879 3 0 0 0 48792 9288 9576 9304 0 0 0 0 0 0 + 4880 3 0 0 0 48948 9288 9492 9576 0 0 0 0 0 0 + 4881 3 0 0 0 48546 9303 9674 9399 0 0 0 0 0 0 + 4882 3 0 0 0 49004 9303 9577 9674 0 0 0 0 0 0 + 4883 3 0 0 0 46974 9304 9487 9400 0 0 0 0 0 0 + 4884 3 0 0 0 48793 9304 9576 9487 0 0 0 0 0 0 + 4885 3 0 0 0 49005 9305 9487 9685 0 0 0 0 0 0 + 4886 3 0 0 0 49007 9305 9781 9577 0 0 0 0 0 0 + 4887 3 0 0 0 49012 9305 9866 9781 0 0 0 0 0 0 + 4888 3 0 0 0 49014 9305 9685 9866 0 0 0 0 0 0 + 4889 3 0 0 0 47776 9306 9569 9402 0 0 0 0 0 0 + 4890 3 0 0 0 47778 9306 9401 9569 0 0 0 0 0 0 + 4891 3 0 0 0 47685 9307 9667 9570 0 0 0 0 0 0 + 4892 3 0 0 0 47687 9307 9403 9667 0 0 0 0 0 0 + 4893 3 0 0 0 47772 9307 9488 9401 0 0 0 0 0 0 + 4894 3 0 0 0 49015 9307 9570 9488 0 0 0 0 0 0 + 4895 3 0 0 0 49016 9308 9667 9403 0 0 0 0 0 0 + 4896 3 0 0 0 49018 9308 9687 9667 0 0 0 0 0 0 + 4897 3 0 0 0 49019 9308 9783 9687 0 0 0 0 0 0 + 4898 3 0 0 0 49020 9308 9405 9783 0 0 0 0 0 0 + 4899 3 0 0 0 47774 9309 9402 9569 0 0 0 0 0 0 + 4900 3 0 0 0 47777 9309 9569 9488 0 0 0 0 0 0 + 4901 3 0 0 0 49021 9309 9688 9562 0 0 0 0 0 0 + 4902 3 0 0 0 49022 9309 9488 9688 0 0 0 0 0 0 + 4903 3 0 0 0 49038 9312 9787 9408 0 0 0 0 0 0 + 4904 3 0 0 0 49041 9312 9944 9787 0 0 0 0 0 0 + 4905 3 0 0 0 49042 9312 9490 9944 0 0 0 0 0 0 + 4906 3 0 0 0 49122 9323 9472 9794 0 0 0 0 0 0 + 4907 3 0 0 0 49123 9323 9794 9499 0 0 0 0 0 0 + 4908 3 0 0 0 49127 9324 9499 9794 0 0 0 0 0 0 + 4909 3 0 0 0 49128 9324 9794 9877 0 0 0 0 0 0 + 4910 3 0 0 0 49131 9324 9946 9573 0 0 0 0 0 0 + 4911 3 0 0 0 49132 9324 9877 9946 0 0 0 0 0 0 + 4912 3 0 0 0 47906 9331 9432 9584 0 0 0 0 0 0 + 4913 3 0 0 0 49195 9331 9584 9505 0 0 0 0 0 0 + 4914 3 0 0 0 48600 9332 9424 9507 0 0 0 0 0 0 + 4915 3 0 0 0 49197 9332 9801 9425 0 0 0 0 0 0 + 4916 3 0 0 0 49198 9332 9507 9801 0 0 0 0 0 0 + 4917 3 0 0 0 49199 9333 9425 9708 0 0 0 0 0 0 + 4918 3 0 0 0 49203 9333 9708 9885 0 0 0 0 0 0 + 4919 3 0 0 0 49204 9333 9885 9513 0 0 0 0 0 0 + 4920 3 0 0 0 49309 9344 9517 9724 0 0 0 0 0 0 + 4921 3 0 0 0 49310 9344 9724 9436 0 0 0 0 0 0 + 4922 3 0 0 0 49355 9349 9442 9729 0 0 0 0 0 0 + 4923 3 0 0 0 49357 9349 9729 9556 0 0 0 0 0 0 + 4924 3 0 0 0 49358 9350 9819 9442 0 0 0 0 0 0 + 4925 3 0 0 0 49360 9350 9443 9819 0 0 0 0 0 0 + 4926 3 0 0 0 49400 9355 9675 9734 0 0 0 0 0 0 + 4927 3 0 0 0 49401 9355 9734 9633 0 0 0 0 0 0 + 4928 3 0 0 0 48986 9369 9567 9635 0 0 0 0 0 0 + 4929 3 0 0 0 49538 9369 9635 9539 0 0 0 0 0 0 + 4930 3 0 0 0 49551 9372 9840 9540 0 0 0 0 0 0 + 4931 3 0 0 0 49552 9372 9543 9840 0 0 0 0 0 0 + 4932 3 0 0 0 49563 9374 9753 9543 0 0 0 0 0 0 + 4933 3 0 0 0 49564 9374 9623 9753 0 0 0 0 0 0 + 4934 3 0 0 0 49586 9377 9628 9923 0 0 0 0 0 0 + 4935 3 0 0 0 49587 9377 9923 9463 0 0 0 0 0 0 + 4936 3 0 0 0 47596 9381 9622 9555 0 0 0 0 0 0 + 4937 3 0 0 0 49614 9381 9470 9622 0 0 0 0 0 0 + 4938 3 0 0 0 49627 9383 9619 9763 0 0 0 0 0 0 + 4939 3 0 0 0 49628 9383 9763 9851 0 0 0 0 0 0 + 4940 3 0 0 0 49629 9383 9851 9620 0 0 0 0 0 0 + 4941 3 0 0 0 48740 9385 9626 9476 0 0 0 0 0 0 + 4942 3 0 0 0 49647 9385 9475 9767 0 0 0 0 0 0 + 4943 3 0 0 0 49648 9385 9767 9626 0 0 0 0 0 0 + 4944 3 0 0 0 47627 9386 9475 9556 0 0 0 0 0 0 + 4945 3 0 0 0 49651 9386 9767 9475 0 0 0 0 0 0 + 4946 3 0 0 0 49652 9386 9556 9855 0 0 0 0 0 0 + 4947 3 0 0 0 49654 9386 9855 9933 0 0 0 0 0 0 + 4948 3 0 0 0 49656 9386 9933 9998 0 0 0 0 0 0 + 4949 3 0 0 0 49657 9386 9998 9767 0 0 0 0 0 0 + 4950 3 0 0 0 48732 9387 9625 9523 0 0 0 0 0 0 + 4951 3 0 0 0 48737 9387 9476 9626 0 0 0 0 0 0 + 4952 3 0 0 0 49658 9387 9626 9768 0 0 0 0 0 0 + 4953 3 0 0 0 49659 9387 9856 9625 0 0 0 0 0 0 + 4954 3 0 0 0 49660 9387 9768 9856 0 0 0 0 0 0 + 4955 3 0 0 0 49712 9392 9772 9628 0 0 0 0 0 0 + 4956 3 0 0 0 49714 9392 9560 9937 0 0 0 0 0 0 + 4957 3 0 0 0 49718 9392 9937 10043 0 0 0 0 0 0 + 4958 3 0 0 0 49720 9392 10043 9772 0 0 0 0 0 0 + 4959 3 0 0 0 49745 9395 9770 9481 0 0 0 0 0 0 + 4960 3 0 0 0 49746 9395 9483 9775 0 0 0 0 0 0 + 4961 3 0 0 0 49747 9395 9938 9770 0 0 0 0 0 0 + 4962 3 0 0 0 49748 9395 9775 9938 0 0 0 0 0 0 + 4963 3 0 0 0 47709 9396 9669 9483 0 0 0 0 0 0 + 4964 3 0 0 0 49751 9396 9562 9688 0 0 0 0 0 0 + 4965 3 0 0 0 49753 9396 10003 9669 0 0 0 0 0 0 + 4966 3 0 0 0 49754 9396 9688 10003 0 0 0 0 0 0 + 4967 3 0 0 0 48776 9399 9566 9631 0 0 0 0 0 0 + 4968 3 0 0 0 48778 9399 9674 9566 0 0 0 0 0 0 + 4969 3 0 0 0 47775 9401 9488 9569 0 0 0 0 0 0 + 4970 3 0 0 0 49788 9405 9672 9867 0 0 0 0 0 0 + 4971 3 0 0 0 49789 9405 9867 9783 0 0 0 0 0 0 + 4972 3 0 0 0 49028 9407 9691 9490 0 0 0 0 0 0 + 4973 3 0 0 0 49029 9407 9498 9785 0 0 0 0 0 0 + 4974 3 0 0 0 49033 9407 9785 9691 0 0 0 0 0 0 + 4975 3 0 0 0 49050 9408 9787 9870 0 0 0 0 0 0 + 4976 3 0 0 0 49051 9408 9870 9492 0 0 0 0 0 0 + 4977 3 0 0 0 49863 9424 9707 9507 0 0 0 0 0 0 + 4978 3 0 0 0 49864 9424 9505 9707 0 0 0 0 0 0 + 4979 3 0 0 0 49865 9425 9801 9708 0 0 0 0 0 0 + 4980 3 0 0 0 49227 9430 9715 9517 0 0 0 0 0 0 + 4981 3 0 0 0 49229 9430 9512 9715 0 0 0 0 0 0 + 4982 3 0 0 0 49252 9432 9808 9584 0 0 0 0 0 0 + 4983 3 0 0 0 49898 9432 9523 9808 0 0 0 0 0 0 + 4984 3 0 0 0 49917 9436 9724 9815 0 0 0 0 0 0 + 4985 3 0 0 0 49918 9436 9815 9619 0 0 0 0 0 0 + 4986 3 0 0 0 49962 9442 9963 9729 0 0 0 0 0 0 + 4987 3 0 0 0 49963 9442 9819 9963 0 0 0 0 0 0 + 4988 3 0 0 0 49964 9443 9900 9819 0 0 0 0 0 0 + 4989 3 0 0 0 49966 9443 9539 9900 0 0 0 0 0 0 + 4990 3 0 0 0 50119 9463 9755 9623 0 0 0 0 0 0 + 4991 3 0 0 0 50122 9463 9923 9755 0 0 0 0 0 0 + 4992 3 0 0 0 50186 9470 9762 9622 0 0 0 0 0 0 + 4993 3 0 0 0 50187 9470 9620 9762 0 0 0 0 0 0 + 4994 3 0 0 0 49631 9472 9555 9766 0 0 0 0 0 0 + 4995 3 0 0 0 50197 9472 9766 10038 0 0 0 0 0 0 + 4996 3 0 0 0 50198 9472 10038 9794 0 0 0 0 0 0 + 4997 3 0 0 0 49680 9481 9770 9560 0 0 0 0 0 0 + 4998 3 0 0 0 50245 9483 9669 9775 0 0 0 0 0 0 + 4999 3 0 0 0 49005 9487 9576 9685 0 0 0 0 0 0 + 5000 3 0 0 0 50276 9488 9784 9688 0 0 0 0 0 0 + 5001 3 0 0 0 50277 9488 9570 9784 0 0 0 0 0 0 + 5002 3 0 0 0 49791 9490 9691 9944 0 0 0 0 0 0 + 5003 3 0 0 0 49853 9492 9782 9576 0 0 0 0 0 0 + 5004 3 0 0 0 49855 9492 9870 9782 0 0 0 0 0 0 + 5005 3 0 0 0 49820 9498 9573 9699 0 0 0 0 0 0 + 5006 3 0 0 0 49822 9498 9699 9785 0 0 0 0 0 0 + 5007 3 0 0 0 50313 9505 9802 9707 0 0 0 0 0 0 + 5008 3 0 0 0 50314 9505 9584 9802 0 0 0 0 0 0 + 5009 3 0 0 0 50326 9507 9707 9951 0 0 0 0 0 0 + 5010 3 0 0 0 50327 9507 10012 9801 0 0 0 0 0 0 + 5011 3 0 0 0 50328 9507 9951 10012 0 0 0 0 0 0 + 5012 3 0 0 0 49897 9512 9581 10014 0 0 0 0 0 0 + 5013 3 0 0 0 50335 9512 9886 9715 0 0 0 0 0 0 + 5014 3 0 0 0 50337 9512 10014 9886 0 0 0 0 0 0 + 5015 3 0 0 0 49222 9513 9952 9581 0 0 0 0 0 0 + 5016 3 0 0 0 50338 9513 9885 9952 0 0 0 0 0 0 + 5017 3 0 0 0 50355 9517 9715 9894 0 0 0 0 0 0 + 5018 3 0 0 0 50357 9517 9894 9724 0 0 0 0 0 0 + 5019 3 0 0 0 49939 9523 9625 9808 0 0 0 0 0 0 + 5020 3 0 0 0 50053 9539 9635 9976 0 0 0 0 0 0 + 5021 3 0 0 0 50455 9539 9976 9900 0 0 0 0 0 0 + 5022 3 0 0 0 50074 9540 9978 9675 0 0 0 0 0 0 + 5023 3 0 0 0 50457 9540 9840 9978 0 0 0 0 0 0 + 5024 3 0 0 0 50471 9543 9983 9840 0 0 0 0 0 0 + 5025 3 0 0 0 50472 9543 9753 9983 0 0 0 0 0 0 + 5026 3 0 0 0 49635 9555 9853 9766 0 0 0 0 0 0 + 5027 3 0 0 0 50206 9555 9622 9853 0 0 0 0 0 0 + 5028 3 0 0 0 50529 9556 9729 9855 0 0 0 0 0 0 + 5029 3 0 0 0 49688 9560 9770 9937 0 0 0 0 0 0 + 5030 3 0 0 0 49775 9566 9779 9631 0 0 0 0 0 0 + 5031 3 0 0 0 50260 9566 9674 9941 0 0 0 0 0 0 + 5032 3 0 0 0 50262 9566 9941 9779 0 0 0 0 0 0 + 5033 3 0 0 0 50086 9567 9633 9750 0 0 0 0 0 0 + 5034 3 0 0 0 50565 9567 9750 9635 0 0 0 0 0 0 + 5035 3 0 0 0 50240 9570 9667 9690 0 0 0 0 0 0 + 5036 3 0 0 0 50571 9570 9690 9784 0 0 0 0 0 0 + 5037 3 0 0 0 50294 9573 9946 9699 0 0 0 0 0 0 + 5038 3 0 0 0 49010 9576 9782 9685 0 0 0 0 0 0 + 5039 3 0 0 0 49839 9577 9703 9674 0 0 0 0 0 0 + 5040 3 0 0 0 49841 9577 9781 9703 0 0 0 0 0 0 + 5041 3 0 0 0 49896 9581 9952 10014 0 0 0 0 0 0 + 5042 3 0 0 0 49253 9584 9808 9709 0 0 0 0 0 0 + 5043 3 0 0 0 50593 9584 9709 9802 0 0 0 0 0 0 + 5044 3 0 0 0 50737 9619 9815 9763 0 0 0 0 0 0 + 5045 3 0 0 0 50523 9620 9851 9995 0 0 0 0 0 0 + 5046 3 0 0 0 50739 9620 9995 9762 0 0 0 0 0 0 + 5047 3 0 0 0 50209 9622 9931 9853 0 0 0 0 0 0 + 5048 3 0 0 0 50211 9622 9762 9931 0 0 0 0 0 0 + 5049 3 0 0 0 50476 9623 9755 9985 0 0 0 0 0 0 + 5050 3 0 0 0 50742 9623 9985 9753 0 0 0 0 0 0 + 5051 3 0 0 0 50747 9625 9934 9808 0 0 0 0 0 0 + 5052 3 0 0 0 50749 9625 10040 9934 0 0 0 0 0 0 + 5053 3 0 0 0 50751 9625 9856 10040 0 0 0 0 0 0 + 5054 3 0 0 0 50530 9626 9767 9932 0 0 0 0 0 0 + 5055 3 0 0 0 50532 9626 9932 9768 0 0 0 0 0 0 + 5056 3 0 0 0 49700 9628 9772 9923 0 0 0 0 0 0 + 5057 3 0 0 0 49776 9631 9779 9672 0 0 0 0 0 0 + 5058 3 0 0 0 50088 9633 9843 9750 0 0 0 0 0 0 + 5059 3 0 0 0 50566 9633 9734 9843 0 0 0 0 0 0 + 5060 3 0 0 0 50788 9635 9750 9865 0 0 0 0 0 0 + 5061 3 0 0 0 50789 9635 9865 9976 0 0 0 0 0 0 + 5062 3 0 0 0 50761 9667 9687 9861 0 0 0 0 0 0 + 5063 3 0 0 0 50763 9667 9861 9690 0 0 0 0 0 0 + 5064 3 0 0 0 50248 9669 10003 9777 0 0 0 0 0 0 + 5065 3 0 0 0 50548 9669 9777 9862 0 0 0 0 0 0 + 5066 3 0 0 0 50769 9669 9862 9775 0 0 0 0 0 0 + 5067 3 0 0 0 50773 9672 9779 9867 0 0 0 0 0 0 + 5068 3 0 0 0 50940 9674 9703 9941 0 0 0 0 0 0 + 5069 3 0 0 0 50076 9675 9978 9917 0 0 0 0 0 0 + 5070 3 0 0 0 50785 9675 9917 9734 0 0 0 0 0 0 + 5071 3 0 0 0 49014 9685 9782 9866 0 0 0 0 0 0 + 5072 3 0 0 0 50992 9687 10062 9861 0 0 0 0 0 0 + 5073 3 0 0 0 50993 9687 9783 10062 0 0 0 0 0 0 + 5074 3 0 0 0 50921 9688 9784 10003 0 0 0 0 0 0 + 5075 3 0 0 0 50926 9690 9861 10004 0 0 0 0 0 0 + 5076 3 0 0 0 50997 9690 10063 9784 0 0 0 0 0 0 + 5077 3 0 0 0 50998 9690 10004 10063 0 0 0 0 0 0 + 5078 3 0 0 0 50876 9691 9785 9926 0 0 0 0 0 0 + 5079 3 0 0 0 50999 9691 9926 9944 0 0 0 0 0 0 + 5080 3 0 0 0 50885 9699 10034 9785 0 0 0 0 0 0 + 5081 3 0 0 0 51050 9699 10167 10034 0 0 0 0 0 0 + 5082 3 0 0 0 51051 9699 9946 10167 0 0 0 0 0 0 + 5083 3 0 0 0 51088 9703 10160 9941 0 0 0 0 0 0 + 5084 3 0 0 0 51089 9703 9781 10160 0 0 0 0 0 0 + 5085 3 0 0 0 50793 9707 9802 9951 0 0 0 0 0 0 + 5086 3 0 0 0 51111 9708 9801 10078 0 0 0 0 0 0 + 5087 3 0 0 0 51112 9708 10177 9885 0 0 0 0 0 0 + 5088 3 0 0 0 51113 9708 10078 10177 0 0 0 0 0 0 + 5089 3 0 0 0 51115 9709 9808 9934 0 0 0 0 0 0 + 5090 3 0 0 0 51120 9709 10176 9802 0 0 0 0 0 0 + 5091 3 0 0 0 51122 9709 9934 10258 0 0 0 0 0 0 + 5092 3 0 0 0 51123 9709 10258 10176 0 0 0 0 0 0 + 5093 3 0 0 0 51160 9715 10085 9894 0 0 0 0 0 0 + 5094 3 0 0 0 51161 9715 9886 10085 0 0 0 0 0 0 + 5095 3 0 0 0 51253 9724 10093 9815 0 0 0 0 0 0 + 5096 3 0 0 0 51254 9724 9894 10093 0 0 0 0 0 0 + 5097 3 0 0 0 51315 9729 9963 10102 0 0 0 0 0 0 + 5098 3 0 0 0 51316 9729 10102 9855 0 0 0 0 0 0 + 5099 3 0 0 0 51361 9734 9917 10108 0 0 0 0 0 0 + 5100 3 0 0 0 51362 9734 10108 9843 0 0 0 0 0 0 + 5101 3 0 0 0 51517 9750 9843 10129 0 0 0 0 0 0 + 5102 3 0 0 0 51518 9750 10129 9865 0 0 0 0 0 0 + 5103 3 0 0 0 50857 9753 9844 9983 0 0 0 0 0 0 + 5104 3 0 0 0 51551 9753 9985 9844 0 0 0 0 0 0 + 5105 3 0 0 0 51575 9755 9923 10001 0 0 0 0 0 0 + 5106 3 0 0 0 51577 9755 10001 10134 0 0 0 0 0 0 + 5107 3 0 0 0 51578 9755 10134 9985 0 0 0 0 0 0 + 5108 3 0 0 0 51650 9762 10141 9931 0 0 0 0 0 0 + 5109 3 0 0 0 51652 9762 9995 10141 0 0 0 0 0 0 + 5110 3 0 0 0 51654 9763 10142 9851 0 0 0 0 0 0 + 5111 3 0 0 0 51655 9763 10192 10142 0 0 0 0 0 0 + 5112 3 0 0 0 51656 9763 9815 10192 0 0 0 0 0 0 + 5113 3 0 0 0 51694 9766 9853 10233 0 0 0 0 0 0 + 5114 3 0 0 0 51695 9766 10233 10310 0 0 0 0 0 0 + 5115 3 0 0 0 51696 9766 10310 10038 0 0 0 0 0 0 + 5116 3 0 0 0 50744 9767 9998 9932 0 0 0 0 0 0 + 5117 3 0 0 0 51697 9768 10147 9856 0 0 0 0 0 0 + 5118 3 0 0 0 51699 9768 10235 10147 0 0 0 0 0 0 + 5119 3 0 0 0 51700 9768 9932 10235 0 0 0 0 0 0 + 5120 3 0 0 0 51713 9770 10150 9937 0 0 0 0 0 0 + 5121 3 0 0 0 51714 9770 9938 10150 0 0 0 0 0 0 + 5122 3 0 0 0 49708 9772 10001 9923 0 0 0 0 0 0 + 5123 3 0 0 0 51734 9772 10043 10152 0 0 0 0 0 0 + 5124 3 0 0 0 51735 9772 10152 10001 0 0 0 0 0 0 + 5125 3 0 0 0 50771 9775 9862 9938 0 0 0 0 0 0 + 5126 3 0 0 0 50557 9777 10044 9862 0 0 0 0 0 0 + 5127 3 0 0 0 51794 9777 10003 10063 0 0 0 0 0 0 + 5128 3 0 0 0 51795 9777 10162 10044 0 0 0 0 0 0 + 5129 3 0 0 0 51797 9777 10063 10162 0 0 0 0 0 0 + 5130 3 0 0 0 50925 9778 10004 9861 0 0 0 0 0 0 + 5131 3 0 0 0 51798 9778 9861 10062 0 0 0 0 0 0 + 5132 3 0 0 0 51799 9778 10154 10004 0 0 0 0 0 0 + 5133 3 0 0 0 51800 9778 10062 10321 0 0 0 0 0 0 + 5134 3 0 0 0 51801 9778 10321 10387 0 0 0 0 0 0 + 5135 3 0 0 0 51803 9778 10387 10154 0 0 0 0 0 0 + 5136 3 0 0 0 50268 9779 9941 10008 0 0 0 0 0 0 + 5137 3 0 0 0 50780 9779 10058 9867 0 0 0 0 0 0 + 5138 3 0 0 0 51804 9779 10155 10058 0 0 0 0 0 0 + 5139 3 0 0 0 51805 9779 10008 10155 0 0 0 0 0 0 + 5140 3 0 0 0 51820 9781 9866 10159 0 0 0 0 0 0 + 5141 3 0 0 0 51826 9781 10159 10391 0 0 0 0 0 0 + 5142 3 0 0 0 51827 9781 10391 10160 0 0 0 0 0 0 + 5143 3 0 0 0 50980 9782 9870 10060 0 0 0 0 0 0 + 5144 3 0 0 0 50981 9782 10060 9866 0 0 0 0 0 0 + 5145 3 0 0 0 51829 9783 9867 10062 0 0 0 0 0 0 + 5146 3 0 0 0 51831 9784 10063 10003 0 0 0 0 0 0 + 5147 3 0 0 0 50883 9785 10034 9926 0 0 0 0 0 0 + 5148 3 0 0 0 50983 9787 10158 9870 0 0 0 0 0 0 + 5149 3 0 0 0 51838 9787 9944 10248 0 0 0 0 0 0 + 5150 3 0 0 0 51840 9787 10248 10158 0 0 0 0 0 0 + 5151 3 0 0 0 51044 9794 10038 9877 0 0 0 0 0 0 + 5152 3 0 0 0 51881 9801 10012 10078 0 0 0 0 0 0 + 5153 3 0 0 0 50795 9802 10011 9951 0 0 0 0 0 0 + 5154 3 0 0 0 51120 9802 10176 10011 0 0 0 0 0 0 + 5155 3 0 0 0 51948 9815 10093 10192 0 0 0 0 0 0 + 5156 3 0 0 0 51320 9819 9900 10103 0 0 0 0 0 0 + 5157 3 0 0 0 51321 9819 10103 9963 0 0 0 0 0 0 + 5158 3 0 0 0 51373 9840 10110 9978 0 0 0 0 0 0 + 5159 3 0 0 0 51374 9840 9983 10110 0 0 0 0 0 0 + 5160 3 0 0 0 52094 9843 10108 10360 0 0 0 0 0 0 + 5161 3 0 0 0 52095 9843 10360 10129 0 0 0 0 0 0 + 5162 3 0 0 0 51555 9844 10132 10224 0 0 0 0 0 0 + 5163 3 0 0 0 51556 9844 10224 9983 0 0 0 0 0 0 + 5164 3 0 0 0 52097 9844 9985 10225 0 0 0 0 0 0 + 5165 3 0 0 0 52098 9844 10225 10132 0 0 0 0 0 0 + 5166 3 0 0 0 52149 9851 10142 10230 0 0 0 0 0 0 + 5167 3 0 0 0 52150 9851 10230 9995 0 0 0 0 0 0 + 5168 3 0 0 0 51676 9853 9931 10144 0 0 0 0 0 0 + 5169 3 0 0 0 51680 9853 10144 10233 0 0 0 0 0 0 + 5170 3 0 0 0 52173 9855 10236 9933 0 0 0 0 0 0 + 5171 3 0 0 0 52174 9855 10102 10236 0 0 0 0 0 0 + 5172 3 0 0 0 52175 9856 10147 10237 0 0 0 0 0 0 + 5173 3 0 0 0 52176 9856 10237 10040 0 0 0 0 0 0 + 5174 3 0 0 0 51789 9862 10426 9938 0 0 0 0 0 0 + 5175 3 0 0 0 52198 9862 10044 10153 0 0 0 0 0 0 + 5176 3 0 0 0 52199 9862 10153 10426 0 0 0 0 0 0 + 5177 3 0 0 0 51473 9865 10126 9976 0 0 0 0 0 0 + 5178 3 0 0 0 52206 9865 10129 10324 0 0 0 0 0 0 + 5179 3 0 0 0 52208 9865 10324 10126 0 0 0 0 0 0 + 5180 3 0 0 0 51820 9866 10060 10159 0 0 0 0 0 0 + 5181 3 0 0 0 52209 9867 10058 10064 0 0 0 0 0 0 + 5182 3 0 0 0 52211 9867 10161 10062 0 0 0 0 0 0 + 5183 3 0 0 0 52212 9867 10064 10161 0 0 0 0 0 0 + 5184 3 0 0 0 50982 9870 10158 10060 0 0 0 0 0 0 + 5185 3 0 0 0 51853 9877 10071 9946 0 0 0 0 0 0 + 5186 3 0 0 0 51857 9877 10166 10071 0 0 0 0 0 0 + 5187 3 0 0 0 52232 9877 10038 10166 0 0 0 0 0 0 + 5188 3 0 0 0 51151 9885 10260 9952 0 0 0 0 0 0 + 5189 3 0 0 0 52264 9885 10177 10260 0 0 0 0 0 0 + 5190 3 0 0 0 51168 9886 10014 10183 0 0 0 0 0 0 + 5191 3 0 0 0 51172 9886 10183 10262 0 0 0 0 0 0 + 5192 3 0 0 0 52265 9886 10262 10085 0 0 0 0 0 0 + 5193 3 0 0 0 52298 9894 10085 10275 0 0 0 0 0 0 + 5194 3 0 0 0 52300 9894 10275 10093 0 0 0 0 0 0 + 5195 3 0 0 0 51478 9900 9976 10201 0 0 0 0 0 0 + 5196 3 0 0 0 52322 9900 10201 10103 0 0 0 0 0 0 + 5197 3 0 0 0 51543 9917 10299 10108 0 0 0 0 0 0 + 5198 3 0 0 0 51544 9917 10208 10299 0 0 0 0 0 0 + 5199 3 0 0 0 51996 9917 9978 10208 0 0 0 0 0 0 + 5200 3 0 0 0 50881 9926 10034 9989 0 0 0 0 0 0 + 5201 3 0 0 0 51834 9926 9989 10065 0 0 0 0 0 0 + 5202 3 0 0 0 51837 9926 10065 9944 0 0 0 0 0 0 + 5203 3 0 0 0 52166 9931 10141 10379 0 0 0 0 0 0 + 5204 3 0 0 0 52170 9931 10379 10144 0 0 0 0 0 0 + 5205 3 0 0 0 51964 9932 9998 10100 0 0 0 0 0 0 + 5206 3 0 0 0 52452 9932 10100 10235 0 0 0 0 0 0 + 5207 3 0 0 0 52453 9933 10312 9998 0 0 0 0 0 0 + 5208 3 0 0 0 52455 9933 10236 10420 0 0 0 0 0 0 + 5209 3 0 0 0 52456 9933 10420 10312 0 0 0 0 0 0 + 5210 3 0 0 0 51177 9934 10040 10186 0 0 0 0 0 0 + 5211 3 0 0 0 52460 9934 10186 10258 0 0 0 0 0 0 + 5212 3 0 0 0 51720 9937 10150 10241 0 0 0 0 0 0 + 5213 3 0 0 0 52476 9937 10241 10043 0 0 0 0 0 0 + 5214 3 0 0 0 52478 9938 10426 10150 0 0 0 0 0 0 + 5215 3 0 0 0 50275 9941 10048 10008 0 0 0 0 0 0 + 5216 3 0 0 0 51088 9941 10160 10076 0 0 0 0 0 0 + 5217 3 0 0 0 51876 9941 10076 10048 0 0 0 0 0 0 + 5218 3 0 0 0 52214 9944 10065 10248 0 0 0 0 0 0 + 5219 3 0 0 0 52227 9946 10071 10167 0 0 0 0 0 0 + 5220 3 0 0 0 51103 9951 10174 10012 0 0 0 0 0 0 + 5221 3 0 0 0 52532 9951 10011 10174 0 0 0 0 0 0 + 5222 3 0 0 0 51898 9952 10084 10014 0 0 0 0 0 0 + 5223 3 0 0 0 51902 9952 10260 10084 0 0 0 0 0 0 + 5224 3 0 0 0 51324 9963 10103 10200 0 0 0 0 0 0 + 5225 3 0 0 0 52586 9963 10200 10102 0 0 0 0 0 0 + 5226 3 0 0 0 51479 9976 10126 10201 0 0 0 0 0 0 + 5227 3 0 0 0 51377 9978 10110 10208 0 0 0 0 0 0 + 5228 3 0 0 0 52661 9983 10224 10110 0 0 0 0 0 0 + 5229 3 0 0 0 52662 9985 10134 10225 0 0 0 0 0 0 + 5230 3 0 0 0 51586 9989 10034 10138 0 0 0 0 0 0 + 5231 3 0 0 0 51604 9989 10138 10370 0 0 0 0 0 0 + 5232 3 0 0 0 52671 9989 10256 10065 0 0 0 0 0 0 + 5233 3 0 0 0 52673 9989 10370 10256 0 0 0 0 0 0 + 5234 3 0 0 0 51674 9995 10230 10376 0 0 0 0 0 0 + 5235 3 0 0 0 52695 9995 10376 10141 0 0 0 0 0 0 + 5236 3 0 0 0 52709 9998 10312 10100 0 0 0 0 0 0 + 5237 3 0 0 0 51744 10001 10152 10242 0 0 0 0 0 0 + 5238 3 0 0 0 51745 10001 10242 10134 0 0 0 0 0 0 + 5239 3 0 0 0 52213 10004 10162 10063 0 0 0 0 0 0 + 5240 3 0 0 0 52722 10004 10154 10162 0 0 0 0 0 0 + 5241 3 0 0 0 51814 10008 10388 10155 0 0 0 0 0 0 + 5242 3 0 0 0 51818 10008 10048 10388 0 0 0 0 0 0 + 5243 3 0 0 0 52758 10011 10259 10174 0 0 0 0 0 0 + 5244 3 0 0 0 52759 10011 10176 10330 0 0 0 0 0 0 + 5245 3 0 0 0 52760 10011 10330 10259 0 0 0 0 0 0 + 5246 3 0 0 0 52762 10012 10174 10331 0 0 0 0 0 0 + 5247 3 0 0 0 52763 10012 10331 10078 0 0 0 0 0 0 + 5248 3 0 0 0 51166 10014 10084 10183 0 0 0 0 0 0 + 5249 3 0 0 0 51587 10034 10167 10138 0 0 0 0 0 0 + 5250 3 0 0 0 52852 10038 10310 10166 0 0 0 0 0 0 + 5251 3 0 0 0 52466 10040 10237 10422 0 0 0 0 0 0 + 5252 3 0 0 0 52863 10040 10314 10186 0 0 0 0 0 0 + 5253 3 0 0 0 52865 10040 10422 10314 0 0 0 0 0 0 + 5254 3 0 0 0 52880 10043 10241 10439 0 0 0 0 0 0 + 5255 3 0 0 0 52882 10043 10439 10152 0 0 0 0 0 0 + 5256 3 0 0 0 52490 10044 10386 10153 0 0 0 0 0 0 + 5257 3 0 0 0 52883 10044 10162 10386 0 0 0 0 0 0 + 5258 3 0 0 0 52495 10048 10076 10323 0 0 0 0 0 0 + 5259 3 0 0 0 52894 10048 10323 10156 0 0 0 0 0 0 + 5260 3 0 0 0 52895 10048 10156 10388 0 0 0 0 0 0 + 5261 3 0 0 0 52734 10058 10322 10064 0 0 0 0 0 0 + 5262 3 0 0 0 52736 10058 10155 10322 0 0 0 0 0 0 + 5263 3 0 0 0 50989 10060 10158 10325 0 0 0 0 0 0 + 5264 3 0 0 0 51824 10060 10325 10159 0 0 0 0 0 0 + 5265 3 0 0 0 52932 10062 10161 10321 0 0 0 0 0 0 + 5266 3 0 0 0 52735 10064 10322 10245 0 0 0 0 0 0 + 5267 3 0 0 0 52951 10064 10446 10161 0 0 0 0 0 0 + 5268 3 0 0 0 52952 10064 10245 10446 0 0 0 0 0 0 + 5269 3 0 0 0 52753 10065 10256 10394 0 0 0 0 0 0 + 5270 3 0 0 0 52754 10065 10394 10248 0 0 0 0 0 0 + 5271 3 0 0 0 52231 10071 10253 10167 0 0 0 0 0 0 + 5272 3 0 0 0 52833 10071 10166 10368 0 0 0 0 0 0 + 5273 3 0 0 0 52981 10071 10368 10253 0 0 0 0 0 0 + 5274 3 0 0 0 52498 10076 10429 10323 0 0 0 0 0 0 + 5275 3 0 0 0 53017 10076 10160 10429 0 0 0 0 0 0 + 5276 3 0 0 0 53029 10078 10462 10177 0 0 0 0 0 0 + 5277 3 0 0 0 53031 10078 10331 10462 0 0 0 0 0 0 + 5278 3 0 0 0 52568 10084 10344 10183 0 0 0 0 0 0 + 5279 3 0 0 0 52569 10084 10400 10344 0 0 0 0 0 0 + 5280 3 0 0 0 53068 10084 10260 10400 0 0 0 0 0 0 + 5281 3 0 0 0 52552 10085 10262 10399 0 0 0 0 0 0 + 5282 3 0 0 0 53069 10085 10399 10275 0 0 0 0 0 0 + 5283 3 0 0 0 53173 10093 10480 10192 0 0 0 0 0 0 + 5284 3 0 0 0 53175 10093 10275 10480 0 0 0 0 0 0 + 5285 3 0 0 0 52867 10100 10380 10235 0 0 0 0 0 0 + 5286 3 0 0 0 53262 10100 10312 10636 0 0 0 0 0 0 + 5287 3 0 0 0 53263 10100 10636 10380 0 0 0 0 0 0 + 5288 3 0 0 0 52853 10102 10313 10236 0 0 0 0 0 0 + 5289 3 0 0 0 53272 10102 10200 10313 0 0 0 0 0 0 + 5290 3 0 0 0 52640 10103 10201 10358 0 0 0 0 0 0 + 5291 3 0 0 0 53273 10103 10358 10200 0 0 0 0 0 0 + 5292 3 0 0 0 53315 10108 10299 10496 0 0 0 0 0 0 + 5293 3 0 0 0 53316 10108 10496 10360 0 0 0 0 0 0 + 5294 3 0 0 0 53325 10110 10224 10498 0 0 0 0 0 0 + 5295 3 0 0 0 53326 10110 10498 10208 0 0 0 0 0 0 + 5296 3 0 0 0 52509 10126 10324 10246 0 0 0 0 0 0 + 5297 3 0 0 0 53469 10126 10246 10492 0 0 0 0 0 0 + 5298 3 0 0 0 53470 10126 10492 10201 0 0 0 0 0 0 + 5299 3 0 0 0 53493 10129 10642 10324 0 0 0 0 0 0 + 5300 3 0 0 0 53495 10129 10360 10642 0 0 0 0 0 0 + 5301 3 0 0 0 53510 10132 10571 10224 0 0 0 0 0 0 + 5302 3 0 0 0 53512 10132 10225 10588 0 0 0 0 0 0 + 5303 3 0 0 0 53513 10132 10588 10657 0 0 0 0 0 0 + 5304 3 0 0 0 53514 10132 10657 10571 0 0 0 0 0 0 + 5305 3 0 0 0 53534 10134 10242 10516 0 0 0 0 0 0 + 5306 3 0 0 0 53535 10134 10516 10225 0 0 0 0 0 0 + 5307 3 0 0 0 51593 10138 10253 10228 0 0 0 0 0 0 + 5308 3 0 0 0 51596 10138 10167 10253 0 0 0 0 0 0 + 5309 3 0 0 0 51602 10138 10228 10370 0 0 0 0 0 0 + 5310 3 0 0 0 53596 10141 10520 10379 0 0 0 0 0 0 + 5311 3 0 0 0 53597 10141 10376 10520 0 0 0 0 0 0 + 5312 3 0 0 0 52691 10142 10192 10375 0 0 0 0 0 0 + 5313 3 0 0 0 53598 10142 10521 10230 0 0 0 0 0 0 + 5314 3 0 0 0 53599 10142 10375 10521 0 0 0 0 0 0 + 5315 3 0 0 0 51685 10144 10309 10233 0 0 0 0 0 0 + 5316 3 0 0 0 53617 10144 10598 10309 0 0 0 0 0 0 + 5317 3 0 0 0 53618 10144 10379 10598 0 0 0 0 0 0 + 5318 3 0 0 0 52699 10145 10310 10233 0 0 0 0 0 0 + 5319 3 0 0 0 53619 10145 10233 10309 0 0 0 0 0 0 + 5320 3 0 0 0 53620 10145 10452 10310 0 0 0 0 0 0 + 5321 3 0 0 0 53622 10145 10309 10524 0 0 0 0 0 0 + 5322 3 0 0 0 53624 10145 10729 10452 0 0 0 0 0 0 + 5323 3 0 0 0 53625 10145 10524 10729 0 0 0 0 0 0 + 5324 3 0 0 0 52870 10147 10235 10423 0 0 0 0 0 0 + 5325 3 0 0 0 53645 10147 10423 10525 0 0 0 0 0 0 + 5326 3 0 0 0 53646 10147 10525 10237 0 0 0 0 0 0 + 5327 3 0 0 0 51724 10150 10318 10241 0 0 0 0 0 0 + 5328 3 0 0 0 53667 10150 10426 10318 0 0 0 0 0 0 + 5329 3 0 0 0 53681 10152 10519 10242 0 0 0 0 0 0 + 5330 3 0 0 0 53682 10152 10439 10519 0 0 0 0 0 0 + 5331 3 0 0 0 52491 10153 10386 10320 0 0 0 0 0 0 + 5332 3 0 0 0 53684 10153 10529 10426 0 0 0 0 0 0 + 5333 3 0 0 0 53685 10153 10604 10529 0 0 0 0 0 0 + 5334 3 0 0 0 53686 10153 10320 10604 0 0 0 0 0 0 + 5335 3 0 0 0 52485 10154 10243 10320 0 0 0 0 0 0 + 5336 3 0 0 0 52489 10154 10320 10386 0 0 0 0 0 0 + 5337 3 0 0 0 52883 10154 10386 10162 0 0 0 0 0 0 + 5338 3 0 0 0 52886 10154 10387 10243 0 0 0 0 0 0 + 5339 3 0 0 0 52887 10155 10244 10322 0 0 0 0 0 0 + 5340 3 0 0 0 52891 10155 10388 10244 0 0 0 0 0 0 + 5341 3 0 0 0 53692 10156 10607 10388 0 0 0 0 0 0 + 5342 3 0 0 0 53695 10156 10323 10676 0 0 0 0 0 0 + 5343 3 0 0 0 53696 10156 10676 10764 0 0 0 0 0 0 + 5344 3 0 0 0 53697 10156 10764 10607 0 0 0 0 0 0 + 5345 3 0 0 0 52939 10158 10248 10394 0 0 0 0 0 0 + 5346 3 0 0 0 53719 10158 10394 10325 0 0 0 0 0 0 + 5347 3 0 0 0 51826 10159 10325 10391 0 0 0 0 0 0 + 5348 3 0 0 0 52947 10160 10391 10530 0 0 0 0 0 0 + 5349 3 0 0 0 52948 10160 10530 10445 0 0 0 0 0 0 + 5350 3 0 0 0 53720 10160 10445 10429 0 0 0 0 0 0 + 5351 3 0 0 0 52937 10161 10441 10321 0 0 0 0 0 0 + 5352 3 0 0 0 53721 10161 10446 10441 0 0 0 0 0 0 + 5353 3 0 0 0 53552 10166 10452 10368 0 0 0 0 0 0 + 5354 3 0 0 0 53731 10166 10310 10452 0 0 0 0 0 0 + 5355 3 0 0 0 52752 10173 10394 10256 0 0 0 0 0 0 + 5356 3 0 0 0 52949 10173 10530 10444 0 0 0 0 0 0 + 5357 3 0 0 0 53758 10173 10444 10394 0 0 0 0 0 0 + 5358 3 0 0 0 53759 10173 10256 10459 0 0 0 0 0 0 + 5359 3 0 0 0 53761 10173 10459 10538 0 0 0 0 0 0 + 5360 3 0 0 0 53762 10173 10615 10530 0 0 0 0 0 0 + 5361 3 0 0 0 53763 10173 10538 10615 0 0 0 0 0 0 + 5362 3 0 0 0 53765 10174 10259 10461 0 0 0 0 0 0 + 5363 3 0 0 0 53766 10174 10461 10331 0 0 0 0 0 0 + 5364 3 0 0 0 53769 10176 10463 10330 0 0 0 0 0 0 + 5365 3 0 0 0 53770 10176 10258 10463 0 0 0 0 0 0 + 5366 3 0 0 0 53036 10177 10462 10540 0 0 0 0 0 0 + 5367 3 0 0 0 53037 10177 10540 10260 0 0 0 0 0 0 + 5368 3 0 0 0 53073 10183 10468 10262 0 0 0 0 0 0 + 5369 3 0 0 0 53790 10183 10344 10468 0 0 0 0 0 0 + 5370 3 0 0 0 53092 10186 10683 10258 0 0 0 0 0 0 + 5371 3 0 0 0 53094 10186 10314 10683 0 0 0 0 0 0 + 5372 3 0 0 0 53817 10192 10480 10375 0 0 0 0 0 0 + 5373 3 0 0 0 53874 10200 10358 10491 0 0 0 0 0 0 + 5374 3 0 0 0 53876 10200 10491 10313 0 0 0 0 0 0 + 5375 3 0 0 0 53880 10201 10492 10358 0 0 0 0 0 0 + 5376 3 0 0 0 53453 10208 10570 10299 0 0 0 0 0 0 + 5377 3 0 0 0 53909 10208 10498 10570 0 0 0 0 0 0 + 5378 3 0 0 0 53342 10224 10571 10498 0 0 0 0 0 0 + 5379 3 0 0 0 54002 10225 10516 10588 0 0 0 0 0 0 + 5380 3 0 0 0 53566 10228 10253 10534 0 0 0 0 0 0 + 5381 3 0 0 0 53574 10228 10614 10370 0 0 0 0 0 0 + 5382 3 0 0 0 53578 10228 10534 10725 0 0 0 0 0 0 + 5383 3 0 0 0 53579 10228 10725 10614 0 0 0 0 0 0 + 5384 3 0 0 0 54028 10230 10595 10376 0 0 0 0 0 0 + 5385 3 0 0 0 54029 10230 10521 10595 0 0 0 0 0 0 + 5386 3 0 0 0 52869 10235 10380 10423 0 0 0 0 0 0 + 5387 3 0 0 0 54069 10236 10313 10489 0 0 0 0 0 0 + 5388 3 0 0 0 54070 10236 10489 10420 0 0 0 0 0 0 + 5389 3 0 0 0 54072 10237 10525 10671 0 0 0 0 0 0 + 5390 3 0 0 0 54073 10237 10671 10422 0 0 0 0 0 0 + 5391 3 0 0 0 51728 10241 10318 10383 0 0 0 0 0 0 + 5392 3 0 0 0 54088 10241 10383 10439 0 0 0 0 0 0 + 5393 3 0 0 0 54092 10242 10589 10516 0 0 0 0 0 0 + 5394 3 0 0 0 54093 10242 10519 10589 0 0 0 0 0 0 + 5395 3 0 0 0 53686 10243 10604 10320 0 0 0 0 0 0 + 5396 3 0 0 0 54094 10243 10387 10427 0 0 0 0 0 0 + 5397 3 0 0 0 54095 10243 10427 10528 0 0 0 0 0 0 + 5398 3 0 0 0 54099 10243 10528 10736 0 0 0 0 0 0 + 5399 3 0 0 0 54101 10243 10736 10604 0 0 0 0 0 0 + 5400 3 0 0 0 53591 10244 10593 10322 0 0 0 0 0 0 + 5401 3 0 0 0 54102 10244 10388 10607 0 0 0 0 0 0 + 5402 3 0 0 0 54104 10244 10607 10767 0 0 0 0 0 0 + 5403 3 0 0 0 54105 10244 10767 10593 0 0 0 0 0 0 + 5404 3 0 0 0 53590 10245 10322 10593 0 0 0 0 0 0 + 5405 3 0 0 0 54107 10245 10593 10675 0 0 0 0 0 0 + 5406 3 0 0 0 54109 10245 10675 10734 0 0 0 0 0 0 + 5407 3 0 0 0 54110 10245 10734 10446 0 0 0 0 0 0 + 5408 3 0 0 0 53703 10246 10324 10605 0 0 0 0 0 0 + 5409 3 0 0 0 53708 10246 10605 10677 0 0 0 0 0 0 + 5410 3 0 0 0 54113 10246 10737 10492 0 0 0 0 0 0 + 5411 3 0 0 0 54115 10246 10677 10737 0 0 0 0 0 0 + 5412 3 0 0 0 53732 10253 10368 10534 0 0 0 0 0 0 + 5413 3 0 0 0 53753 10256 10370 10459 0 0 0 0 0 0 + 5414 3 0 0 0 54141 10258 10683 10463 0 0 0 0 0 0 + 5415 3 0 0 0 54144 10259 10542 10461 0 0 0 0 0 0 + 5416 3 0 0 0 54145 10259 10618 10542 0 0 0 0 0 0 + 5417 3 0 0 0 54146 10259 10330 10618 0 0 0 0 0 0 + 5418 3 0 0 0 53781 10260 10540 10400 0 0 0 0 0 0 + 5419 3 0 0 0 52553 10262 10342 10399 0 0 0 0 0 0 + 5420 3 0 0 0 53071 10262 10468 10342 0 0 0 0 0 0 + 5421 3 0 0 0 54220 10275 10399 10557 0 0 0 0 0 0 + 5422 3 0 0 0 54221 10275 10557 10480 0 0 0 0 0 0 + 5423 3 0 0 0 53465 10299 10570 10715 0 0 0 0 0 0 + 5424 3 0 0 0 54317 10299 10715 10496 0 0 0 0 0 0 + 5425 3 0 0 0 54064 10309 10598 10670 0 0 0 0 0 0 + 5426 3 0 0 0 54360 10309 10670 10524 0 0 0 0 0 0 + 5427 3 0 0 0 53256 10312 10420 10564 0 0 0 0 0 0 + 5428 3 0 0 0 54367 10312 10564 10636 0 0 0 0 0 0 + 5429 3 0 0 0 54370 10313 10771 10489 0 0 0 0 0 0 + 5430 3 0 0 0 54371 10313 10491 10771 0 0 0 0 0 0 + 5431 3 0 0 0 54377 10314 10772 10683 0 0 0 0 0 0 + 5432 3 0 0 0 54378 10314 10672 10772 0 0 0 0 0 0 + 5433 3 0 0 0 54379 10314 10773 10672 0 0 0 0 0 0 + 5434 3 0 0 0 54380 10314 10422 10773 0 0 0 0 0 0 + 5435 3 0 0 0 53676 10318 10529 10674 0 0 0 0 0 0 + 5436 3 0 0 0 53680 10318 10674 10383 0 0 0 0 0 0 + 5437 3 0 0 0 54087 10318 10426 10529 0 0 0 0 0 0 + 5438 3 0 0 0 52727 10321 10427 10387 0 0 0 0 0 0 + 5439 3 0 0 0 53662 10321 10441 10427 0 0 0 0 0 0 + 5440 3 0 0 0 54399 10323 10682 10676 0 0 0 0 0 0 + 5441 3 0 0 0 54400 10323 10429 10682 0 0 0 0 0 0 + 5442 3 0 0 0 53705 10324 10642 10605 0 0 0 0 0 0 + 5443 3 0 0 0 54119 10325 10394 10444 0 0 0 0 0 0 + 5444 3 0 0 0 54120 10325 10444 10391 0 0 0 0 0 0 + 5445 3 0 0 0 54416 10330 10463 10684 0 0 0 0 0 0 + 5446 3 0 0 0 54417 10330 10684 10618 0 0 0 0 0 0 + 5447 3 0 0 0 53775 10331 10617 10462 0 0 0 0 0 0 + 5448 3 0 0 0 54418 10331 10461 10617 0 0 0 0 0 0 + 5449 3 0 0 0 53822 10342 10483 10399 0 0 0 0 0 0 + 5450 3 0 0 0 54452 10342 10468 10632 0 0 0 0 0 0 + 5451 3 0 0 0 54453 10342 10632 10744 0 0 0 0 0 0 + 5452 3 0 0 0 54455 10342 10744 10483 0 0 0 0 0 0 + 5453 3 0 0 0 53197 10344 10400 10485 0 0 0 0 0 0 + 5454 3 0 0 0 54230 10344 10485 10698 0 0 0 0 0 0 + 5455 3 0 0 0 54232 10344 10698 10468 0 0 0 0 0 0 + 5456 3 0 0 0 54512 10358 10586 10491 0 0 0 0 0 0 + 5457 3 0 0 0 54513 10358 10492 10586 0 0 0 0 0 0 + 5458 3 0 0 0 54527 10360 10496 10718 0 0 0 0 0 0 + 5459 3 0 0 0 54528 10360 10718 10642 0 0 0 0 0 0 + 5460 3 0 0 0 53563 10368 10452 10662 0 0 0 0 0 0 + 5461 3 0 0 0 54555 10368 10662 10534 0 0 0 0 0 0 + 5462 3 0 0 0 53756 10370 10614 10459 0 0 0 0 0 0 + 5463 3 0 0 0 54030 10375 10596 10521 0 0 0 0 0 0 + 5464 3 0 0 0 54585 10375 10783 10596 0 0 0 0 0 0 + 5465 3 0 0 0 54586 10375 10480 10783 0 0 0 0 0 0 + 5466 3 0 0 0 54050 10376 10595 10668 0 0 0 0 0 0 + 5467 3 0 0 0 54052 10376 10668 10520 0 0 0 0 0 0 + 5468 3 0 0 0 53634 10379 10520 10731 0 0 0 0 0 0 + 5469 3 0 0 0 53635 10379 10731 10598 0 0 0 0 0 0 + 5470 3 0 0 0 53859 10380 10636 10701 0 0 0 0 0 0 + 5471 3 0 0 0 54596 10380 10599 10423 0 0 0 0 0 0 + 5472 3 0 0 0 54597 10380 10701 10599 0 0 0 0 0 0 + 5473 3 0 0 0 54605 10383 10674 10603 0 0 0 0 0 0 + 5474 3 0 0 0 54606 10383 10774 10439 0 0 0 0 0 0 + 5475 3 0 0 0 54607 10383 10603 10774 0 0 0 0 0 0 + 5476 3 0 0 0 52946 10391 10444 10530 0 0 0 0 0 0 + 5477 3 0 0 0 53823 10399 10483 10557 0 0 0 0 0 0 + 5478 3 0 0 0 53206 10400 10738 10485 0 0 0 0 0 0 + 5479 3 0 0 0 54424 10400 10540 10738 0 0 0 0 0 0 + 5480 3 0 0 0 54730 10420 10489 10732 0 0 0 0 0 0 + 5481 3 0 0 0 54731 10420 10732 10564 0 0 0 0 0 0 + 5482 3 0 0 0 54738 10422 10671 10526 0 0 0 0 0 0 + 5483 3 0 0 0 54739 10422 10526 10773 0 0 0 0 0 0 + 5484 3 0 0 0 54742 10423 10599 10673 0 0 0 0 0 0 + 5485 3 0 0 0 54743 10423 10673 10525 0 0 0 0 0 0 + 5486 3 0 0 0 53663 10427 10441 10601 0 0 0 0 0 0 + 5487 3 0 0 0 54750 10427 10601 10528 0 0 0 0 0 0 + 5488 3 0 0 0 54410 10429 10445 10538 0 0 0 0 0 0 + 5489 3 0 0 0 54411 10429 10538 10682 0 0 0 0 0 0 + 5490 3 0 0 0 54748 10439 10774 10519 0 0 0 0 0 0 + 5491 3 0 0 0 54598 10441 10446 10601 0 0 0 0 0 0 + 5492 3 0 0 0 53762 10445 10530 10615 0 0 0 0 0 0 + 5493 3 0 0 0 53763 10445 10615 10538 0 0 0 0 0 0 + 5494 3 0 0 0 54602 10446 10734 10601 0 0 0 0 0 0 + 5495 3 0 0 0 54814 10452 10729 10662 0 0 0 0 0 0 + 5496 3 0 0 0 54876 10459 10869 10538 0 0 0 0 0 0 + 5497 3 0 0 0 54877 10459 10614 10869 0 0 0 0 0 0 + 5498 3 0 0 0 54626 10461 10686 10617 0 0 0 0 0 0 + 5499 3 0 0 0 54627 10461 10542 10686 0 0 0 0 0 0 + 5500 3 0 0 0 54152 10462 10685 10540 0 0 0 0 0 0 + 5501 3 0 0 0 54885 10462 10617 10685 0 0 0 0 0 0 + 5502 3 0 0 0 54886 10463 10683 10804 0 0 0 0 0 0 + 5503 3 0 0 0 54887 10463 10804 10684 0 0 0 0 0 0 + 5504 3 0 0 0 54913 10468 10698 10632 0 0 0 0 0 0 + 5505 4 1 0 0 53865 10474 10637 10691 0 0 0 0 0 0 + 5506 4 1 0 0 53869 10474 10702 10637 0 0 0 0 0 0 + 5507 4 1 0 0 54375 10474 10549 10672 0 0 0 0 0 0 + 5508 4 1 0 0 54379 10474 10672 10773 0 0 0 0 0 0 + 5509 4 1 0 0 54433 10474 10691 10549 0 0 0 0 0 0 + 5510 4 1 0 0 54967 10474 10773 10702 0 0 0 0 0 0 + 5511 3 0 0 0 55019 10480 10557 10783 0 0 0 0 0 0 + 5512 3 0 0 0 55033 10483 10820 10557 0 0 0 0 0 0 + 5513 3 0 0 0 55034 10483 10744 10950 0 0 0 0 0 0 + 5514 3 0 0 0 55035 10483 10950 10820 0 0 0 0 0 0 + 5515 3 0 0 0 55051 10485 10738 10810 0 0 0 0 0 0 + 5516 3 0 0 0 55053 10485 10810 10951 0 0 0 0 0 0 + 5517 3 0 0 0 55054 10485 10951 10698 0 0 0 0 0 0 + 5518 3 0 0 0 55106 10489 10771 10819 0 0 0 0 0 0 + 5519 3 0 0 0 55107 10489 10819 10732 0 0 0 0 0 0 + 5520 3 0 0 0 54685 10491 10586 10656 0 0 0 0 0 0 + 5521 3 0 0 0 55121 10491 10656 10771 0 0 0 0 0 0 + 5522 3 0 0 0 55122 10492 10737 10586 0 0 0 0 0 0 + 5523 3 0 0 0 55141 10496 10834 10718 0 0 0 0 0 0 + 5524 3 0 0 0 55142 10496 10715 10834 0 0 0 0 0 0 + 5525 3 0 0 0 54507 10498 10754 10570 0 0 0 0 0 0 + 5526 3 0 0 0 55152 10498 10571 10754 0 0 0 0 0 0 + 5527 3 0 0 0 53464 10511 10715 10570 0 0 0 0 0 0 + 5528 3 0 0 0 55261 10511 10570 10754 0 0 0 0 0 0 + 5529 3 0 0 0 55262 10511 10754 10909 0 0 0 0 0 0 + 5530 3 0 0 0 55266 10511 10909 10848 0 0 0 0 0 0 + 5531 3 0 0 0 55267 10511 10972 10715 0 0 0 0 0 0 + 5532 3 0 0 0 55268 10511 10848 10972 0 0 0 0 0 0 + 5533 3 0 0 0 53529 10516 10721 10588 0 0 0 0 0 0 + 5534 3 0 0 0 53531 10516 10589 10721 0 0 0 0 0 0 + 5535 3 0 0 0 54700 10519 10724 10589 0 0 0 0 0 0 + 5536 3 0 0 0 55359 10519 10774 10724 0 0 0 0 0 0 + 5537 3 0 0 0 54051 10520 10668 10597 0 0 0 0 0 0 + 5538 3 0 0 0 55360 10520 10597 10731 0 0 0 0 0 0 + 5539 3 0 0 0 55361 10521 10596 10856 0 0 0 0 0 0 + 5540 3 0 0 0 55363 10521 10856 10595 0 0 0 0 0 0 + 5541 3 0 0 0 55405 10524 10670 10802 0 0 0 0 0 0 + 5542 3 0 0 0 55407 10524 10802 10934 0 0 0 0 0 0 + 5543 3 0 0 0 55408 10524 10934 10729 0 0 0 0 0 0 + 5544 3 0 0 0 55409 10525 10894 10671 0 0 0 0 0 0 + 5545 3 0 0 0 55410 10525 10673 10894 0 0 0 0 0 0 + 5546 4 1 0 0 55411 10526 10894 10773 0 0 0 0 0 0 + 5547 3 0 0 0 55412 10526 10671 10894 0 0 0 0 0 0 + 5548 3 0 0 0 55423 10528 10601 10791 0 0 0 0 0 0 + 5549 3 0 0 0 55424 10528 10860 10736 0 0 0 0 0 0 + 5550 3 0 0 0 55425 10528 11034 10860 0 0 0 0 0 0 + 5551 3 0 0 0 55427 10528 10791 11034 0 0 0 0 0 0 + 5552 3 0 0 0 54101 10529 10604 10736 0 0 0 0 0 0 + 5553 3 0 0 0 55428 10529 10736 10674 0 0 0 0 0 0 + 5554 3 0 0 0 54820 10534 10662 10794 0 0 0 0 0 0 + 5555 3 0 0 0 54821 10534 10794 10725 0 0 0 0 0 0 + 5556 3 0 0 0 54876 10538 10869 10682 0 0 0 0 0 0 + 5557 3 0 0 0 54423 10540 10685 10738 0 0 0 0 0 0 + 5558 3 0 0 0 54882 10542 10618 10870 0 0 0 0 0 0 + 5559 3 0 0 0 54937 10542 10806 10686 0 0 0 0 0 0 + 5560 3 0 0 0 55470 10542 10870 10806 0 0 0 0 0 0 + 5561 4 1 0 0 54378 10549 10772 10672 0 0 0 0 0 0 + 5562 4 1 0 0 54932 10549 10691 10935 0 0 0 0 0 0 + 5563 4 1 0 0 54933 10549 10935 10772 0 0 0 0 0 0 + 5564 3 0 0 0 55525 10557 10820 10783 0 0 0 0 0 0 + 5565 3 0 0 0 54953 10564 10813 10941 0 0 0 0 0 0 + 5566 3 0 0 0 54956 10564 10941 10636 0 0 0 0 0 0 + 5567 3 0 0 0 55554 10564 10732 10813 0 0 0 0 0 0 + 5568 3 0 0 0 55579 10571 10657 10836 0 0 0 0 0 0 + 5569 3 0 0 0 55580 10571 10836 10754 0 0 0 0 0 0 + 5570 3 0 0 0 55301 10586 10737 10850 0 0 0 0 0 0 + 5571 3 0 0 0 55303 10586 10850 10656 0 0 0 0 0 0 + 5572 3 0 0 0 55207 10588 10906 10657 0 0 0 0 0 0 + 5573 3 0 0 0 55208 10588 10721 10906 0 0 0 0 0 0 + 5574 3 0 0 0 55335 10589 10852 10721 0 0 0 0 0 0 + 5575 3 0 0 0 55703 10589 10724 10852 0 0 0 0 0 0 + 5576 3 0 0 0 54809 10593 10793 10675 0 0 0 0 0 0 + 5577 3 0 0 0 55721 10593 10767 10793 0 0 0 0 0 0 + 5578 3 0 0 0 55726 10595 10921 10668 0 0 0 0 0 0 + 5579 3 0 0 0 55727 10595 10856 10921 0 0 0 0 0 0 + 5580 3 0 0 0 55729 10596 10982 10922 0 0 0 0 0 0 + 5581 3 0 0 0 55730 10596 10783 10982 0 0 0 0 0 0 + 5582 3 0 0 0 55732 10596 10922 10856 0 0 0 0 0 0 + 5583 3 0 0 0 55389 10597 10858 10924 0 0 0 0 0 0 + 5584 3 0 0 0 55390 10597 10924 10857 0 0 0 0 0 0 + 5585 3 0 0 0 55735 10597 10857 10731 0 0 0 0 0 0 + 5586 3 0 0 0 55736 10597 10668 10858 0 0 0 0 0 0 + 5587 3 0 0 0 55738 10598 10925 10670 0 0 0 0 0 0 + 5588 3 0 0 0 55739 10598 10731 10925 0 0 0 0 0 0 + 5589 3 0 0 0 55111 10599 10829 10673 0 0 0 0 0 0 + 5590 3 0 0 0 55113 10599 10701 10893 0 0 0 0 0 0 + 5591 3 0 0 0 55117 10599 10893 10957 0 0 0 0 0 0 + 5592 3 0 0 0 55119 10599 10957 10829 0 0 0 0 0 0 + 5593 3 0 0 0 54797 10601 10734 10791 0 0 0 0 0 0 + 5594 3 0 0 0 55413 10603 10674 10860 0 0 0 0 0 0 + 5595 3 0 0 0 55752 10603 10854 10774 0 0 0 0 0 0 + 5596 3 0 0 0 55754 10603 10860 10927 0 0 0 0 0 0 + 5597 3 0 0 0 55755 10603 10927 10854 0 0 0 0 0 0 + 5598 3 0 0 0 55149 10605 10642 10835 0 0 0 0 0 0 + 5599 3 0 0 0 55757 10605 10835 10928 0 0 0 0 0 0 + 5600 3 0 0 0 55758 10605 10928 10677 0 0 0 0 0 0 + 5601 3 0 0 0 54786 10607 10764 10726 0 0 0 0 0 0 + 5602 3 0 0 0 54802 10607 10726 10767 0 0 0 0 0 0 + 5603 3 0 0 0 55432 10614 10725 10790 0 0 0 0 0 0 + 5604 3 0 0 0 55780 10614 10790 10869 0 0 0 0 0 0 + 5605 3 0 0 0 55467 10617 10805 10685 0 0 0 0 0 0 + 5606 3 0 0 0 55468 10617 10686 10805 0 0 0 0 0 0 + 5607 3 0 0 0 55788 10618 10937 10870 0 0 0 0 0 0 + 5608 3 0 0 0 55789 10618 10684 10937 0 0 0 0 0 0 + 5609 3 0 0 0 55039 10632 10698 10823 0 0 0 0 0 0 + 5610 3 0 0 0 55859 10632 10823 10886 0 0 0 0 0 0 + 5611 3 0 0 0 55860 10632 10886 10744 0 0 0 0 0 0 + 5612 3 0 0 0 54954 10636 10941 10701 0 0 0 0 0 0 + 5613 4 1 0 0 55116 10637 10702 10957 0 0 0 0 0 0 + 5614 4 1 0 0 55873 10637 10939 10691 0 0 0 0 0 0 + 5615 4 1 0 0 55874 10637 10995 10939 0 0 0 0 0 0 + 5616 4 1 0 0 55875 10637 10957 11045 0 0 0 0 0 0 + 5617 4 1 0 0 55876 10637 11045 10995 0 0 0 0 0 0 + 5618 3 0 0 0 55147 10642 10718 10835 0 0 0 0 0 0 + 5619 3 0 0 0 55951 10656 10913 10771 0 0 0 0 0 0 + 5620 3 0 0 0 55952 10656 10973 10913 0 0 0 0 0 0 + 5621 3 0 0 0 55953 10656 10850 10973 0 0 0 0 0 0 + 5622 3 0 0 0 55954 10657 10976 10836 0 0 0 0 0 0 + 5623 3 0 0 0 55955 10657 10906 10976 0 0 0 0 0 0 + 5624 3 0 0 0 55448 10662 10729 10864 0 0 0 0 0 0 + 5625 3 0 0 0 55451 10662 10864 10794 0 0 0 0 0 0 + 5626 3 0 0 0 55999 10668 10921 10858 0 0 0 0 0 0 + 5627 3 0 0 0 56011 10670 10985 10802 0 0 0 0 0 0 + 5628 3 0 0 0 56012 10670 10925 10985 0 0 0 0 0 0 + 5629 3 0 0 0 55557 10673 10829 10894 0 0 0 0 0 0 + 5630 3 0 0 0 55751 10674 10736 10860 0 0 0 0 0 0 + 5631 3 0 0 0 55723 10675 10920 10734 0 0 0 0 0 0 + 5632 3 0 0 0 56013 10675 10793 10981 0 0 0 0 0 0 + 5633 3 0 0 0 56014 10675 10981 10920 0 0 0 0 0 0 + 5634 3 0 0 0 54791 10676 10789 10764 0 0 0 0 0 0 + 5635 3 0 0 0 55431 10676 10682 10790 0 0 0 0 0 0 + 5636 3 0 0 0 55433 10676 10790 10862 0 0 0 0 0 0 + 5637 3 0 0 0 55434 10676 10862 10789 0 0 0 0 0 0 + 5638 3 0 0 0 56015 10677 10861 10912 0 0 0 0 0 0 + 5639 3 0 0 0 56017 10677 10912 10737 0 0 0 0 0 0 + 5640 3 0 0 0 56018 10677 10928 10861 0 0 0 0 0 0 + 5641 3 0 0 0 55780 10682 10869 10790 0 0 0 0 0 0 + 5642 3 0 0 0 55787 10683 10772 10936 0 0 0 0 0 0 + 5643 3 0 0 0 56041 10683 10936 10804 0 0 0 0 0 0 + 5644 3 0 0 0 56042 10684 10804 10991 0 0 0 0 0 0 + 5645 3 0 0 0 56043 10684 10991 10937 0 0 0 0 0 0 + 5646 3 0 0 0 54919 10685 10805 10875 0 0 0 0 0 0 + 5647 3 0 0 0 54921 10685 10875 10738 0 0 0 0 0 0 + 5648 3 0 0 0 54940 10686 10806 10877 0 0 0 0 0 0 + 5649 3 0 0 0 56044 10686 10877 10805 0 0 0 0 0 0 + 5650 4 1 0 0 54930 10691 10872 10935 0 0 0 0 0 0 + 5651 4 1 0 0 55804 10691 10939 10872 0 0 0 0 0 0 + 5652 3 0 0 0 55041 10698 10951 10823 0 0 0 0 0 0 + 5653 3 0 0 0 56100 10701 10941 11007 0 0 0 0 0 0 + 5654 3 0 0 0 56101 10701 11007 10893 0 0 0 0 0 0 + 5655 4 1 0 0 55120 10702 10829 10957 0 0 0 0 0 0 + 5656 4 1 0 0 55555 10702 10773 10894 0 0 0 0 0 0 + 5657 4 1 0 0 55556 10702 10894 10829 0 0 0 0 0 0 + 5658 3 0 0 0 55692 10715 10972 10834 0 0 0 0 0 0 + 5659 3 0 0 0 56142 10718 10834 10915 0 0 0 0 0 0 + 5660 3 0 0 0 56143 10718 10915 10835 0 0 0 0 0 0 + 5661 3 0 0 0 55342 10721 10852 11024 0 0 0 0 0 0 + 5662 3 0 0 0 55956 10721 11024 10906 0 0 0 0 0 0 + 5663 3 0 0 0 55979 10724 10774 10854 0 0 0 0 0 0 + 5664 3 0 0 0 56169 10724 10854 10979 0 0 0 0 0 0 + 5665 3 0 0 0 56170 10724 10979 10852 0 0 0 0 0 0 + 5666 3 0 0 0 55441 10725 10988 10790 0 0 0 0 0 0 + 5667 3 0 0 0 56172 10725 10794 10988 0 0 0 0 0 0 + 5668 3 0 0 0 54789 10726 10764 10789 0 0 0 0 0 0 + 5669 3 0 0 0 54806 10726 10792 10767 0 0 0 0 0 0 + 5670 3 0 0 0 55705 10726 10789 10866 0 0 0 0 0 0 + 5671 3 0 0 0 56173 10726 11055 10792 0 0 0 0 0 0 + 5672 3 0 0 0 56174 10726 10866 11055 0 0 0 0 0 0 + 5673 3 0 0 0 56186 10729 10934 10864 0 0 0 0 0 0 + 5674 3 0 0 0 56193 10731 10857 10925 0 0 0 0 0 0 + 5675 3 0 0 0 56194 10732 10819 11033 0 0 0 0 0 0 + 5676 3 0 0 0 56195 10732 11033 10813 0 0 0 0 0 0 + 5677 3 0 0 0 55992 10734 10920 10791 0 0 0 0 0 0 + 5678 3 0 0 0 55307 10737 10912 10850 0 0 0 0 0 0 + 5679 3 0 0 0 55795 10738 10875 10810 0 0 0 0 0 0 + 5680 3 0 0 0 56220 10744 10886 11044 0 0 0 0 0 0 + 5681 3 0 0 0 56221 10744 11044 10950 0 0 0 0 0 0 + 5682 3 0 0 0 56134 10754 10836 10909 0 0 0 0 0 0 + 5683 3 0 0 0 55712 10767 10792 10919 0 0 0 0 0 0 + 5684 3 0 0 0 55990 10767 10919 10793 0 0 0 0 0 0 + 5685 3 0 0 0 56306 10771 10913 10819 0 0 0 0 0 0 + 5686 4 1 0 0 56307 10772 10935 10991 0 0 0 0 0 0 + 5687 4 1 0 0 56308 10772 10991 11059 0 0 0 0 0 0 + 5688 3 0 0 0 56309 10772 11059 10936 0 0 0 0 0 0 + 5689 3 0 0 0 56287 10783 10820 10982 0 0 0 0 0 0 + 5690 3 0 0 0 56375 10789 10862 11074 0 0 0 0 0 0 + 5691 3 0 0 0 56376 10789 11074 10866 0 0 0 0 0 0 + 5692 3 0 0 0 55439 10790 10988 10862 0 0 0 0 0 0 + 5693 3 0 0 0 55747 10791 10920 11034 0 0 0 0 0 0 + 5694 3 0 0 0 55716 10792 10980 10919 0 0 0 0 0 0 + 5695 3 0 0 0 55987 10792 11055 10980 0 0 0 0 0 0 + 5696 3 0 0 0 56179 10793 11056 10981 0 0 0 0 0 0 + 5697 3 0 0 0 56284 10793 10919 11056 0 0 0 0 0 0 + 5698 3 0 0 0 55769 10794 10864 11036 0 0 0 0 0 0 + 5699 3 0 0 0 56270 10794 11036 10988 0 0 0 0 0 0 + 5700 3 0 0 0 56429 10802 11076 10934 0 0 0 0 0 0 + 5701 3 0 0 0 56431 10802 10985 11194 0 0 0 0 0 0 + 5702 3 0 0 0 56432 10802 11194 11076 0 0 0 0 0 0 + 5703 3 0 0 0 56441 10804 11059 10991 0 0 0 0 0 0 + 5704 3 0 0 0 56442 10804 10936 11059 0 0 0 0 0 0 + 5705 3 0 0 0 56201 10805 10877 11039 0 0 0 0 0 0 + 5706 3 0 0 0 56204 10805 11039 10875 0 0 0 0 0 0 + 5707 3 0 0 0 56443 10806 10870 11082 0 0 0 0 0 0 + 5708 3 0 0 0 56445 10806 11144 10877 0 0 0 0 0 0 + 5709 3 0 0 0 56446 10806 11082 11144 0 0 0 0 0 0 + 5710 3 0 0 0 56467 10810 11087 10951 0 0 0 0 0 0 + 5711 3 0 0 0 56469 10810 10875 11196 0 0 0 0 0 0 + 5712 3 0 0 0 56470 10810 11196 11087 0 0 0 0 0 0 + 5713 4 1 0 0 55810 10811 10878 10994 0 0 0 0 0 0 + 5714 4 1 0 0 56052 10811 10939 10878 0 0 0 0 0 0 + 5715 4 1 0 0 56053 10811 10872 10939 0 0 0 0 0 0 + 5716 4 1 0 0 56471 10811 11143 10872 0 0 0 0 0 0 + 5717 4 1 0 0 56472 10811 10994 11199 0 0 0 0 0 0 + 5718 4 1 0 0 56473 10811 11199 11143 0 0 0 0 0 0 + 5719 3 0 0 0 56483 10813 11148 10941 0 0 0 0 0 0 + 5720 3 0 0 0 56485 10813 11033 11244 0 0 0 0 0 0 + 5721 3 0 0 0 56486 10813 11244 11148 0 0 0 0 0 0 + 5722 3 0 0 0 56521 10819 11248 11033 0 0 0 0 0 0 + 5723 3 0 0 0 56522 10819 10913 11248 0 0 0 0 0 0 + 5724 3 0 0 0 56523 10820 10950 11097 0 0 0 0 0 0 + 5725 3 0 0 0 56524 10820 11097 10982 0 0 0 0 0 0 + 5726 3 0 0 0 56536 10823 11100 10886 0 0 0 0 0 0 + 5727 3 0 0 0 56537 10823 10951 11147 0 0 0 0 0 0 + 5728 3 0 0 0 56538 10823 11147 11100 0 0 0 0 0 0 + 5729 3 0 0 0 56155 10834 10972 11052 0 0 0 0 0 0 + 5730 3 0 0 0 56156 10834 11052 10915 0 0 0 0 0 0 + 5731 3 0 0 0 56026 10835 11062 10928 0 0 0 0 0 0 + 5732 3 0 0 0 56029 10835 10915 11062 0 0 0 0 0 0 + 5733 3 0 0 0 55682 10836 11017 10909 0 0 0 0 0 0 + 5734 3 0 0 0 56261 10836 10976 11017 0 0 0 0 0 0 + 5735 3 0 0 0 56745 10848 11068 10972 0 0 0 0 0 0 + 5736 3 0 0 0 56746 10848 10909 11117 0 0 0 0 0 0 + 5737 3 0 0 0 56747 10848 11117 11178 0 0 0 0 0 0 + 5738 3 0 0 0 56748 10848 11178 11068 0 0 0 0 0 0 + 5739 3 0 0 0 56754 10850 11123 10973 0 0 0 0 0 0 + 5740 3 0 0 0 56756 10850 10912 11123 0 0 0 0 0 0 + 5741 3 0 0 0 56267 10852 10979 10918 0 0 0 0 0 0 + 5742 3 0 0 0 56770 10852 10918 11024 0 0 0 0 0 0 + 5743 3 0 0 0 56784 10854 10927 11185 0 0 0 0 0 0 + 5744 3 0 0 0 56786 10854 11185 10979 0 0 0 0 0 0 + 5745 3 0 0 0 56285 10855 11056 10919 0 0 0 0 0 0 + 5746 3 0 0 0 56357 10855 10919 10980 0 0 0 0 0 0 + 5747 3 0 0 0 56359 10855 10980 11028 0 0 0 0 0 0 + 5748 3 0 0 0 56787 10855 11028 11078 0 0 0 0 0 0 + 5749 3 0 0 0 56789 10855 11078 11140 0 0 0 0 0 0 + 5750 3 0 0 0 56790 10855 11140 11056 0 0 0 0 0 0 + 5751 3 0 0 0 56791 10856 10922 11130 0 0 0 0 0 0 + 5752 3 0 0 0 56792 10856 11130 10921 0 0 0 0 0 0 + 5753 3 0 0 0 56371 10857 11032 10925 0 0 0 0 0 0 + 5754 3 0 0 0 56794 10857 10924 11132 0 0 0 0 0 0 + 5755 3 0 0 0 56795 10857 11132 11032 0 0 0 0 0 0 + 5756 3 0 0 0 56796 10858 11133 10924 0 0 0 0 0 0 + 5757 3 0 0 0 56797 10858 11186 11133 0 0 0 0 0 0 + 5758 3 0 0 0 56798 10858 10921 11186 0 0 0 0 0 0 + 5759 3 0 0 0 55748 10859 11034 10920 0 0 0 0 0 0 + 5760 3 0 0 0 56311 10859 10920 11071 0 0 0 0 0 0 + 5761 3 0 0 0 56802 10859 11134 11034 0 0 0 0 0 0 + 5762 3 0 0 0 56803 10859 11071 11234 0 0 0 0 0 0 + 5763 3 0 0 0 56805 10859 11234 11274 0 0 0 0 0 0 + 5764 3 0 0 0 56806 10859 11274 11134 0 0 0 0 0 0 + 5765 3 0 0 0 56808 10860 11034 11134 0 0 0 0 0 0 + 5766 3 0 0 0 56809 10860 11134 10927 0 0 0 0 0 0 + 5767 3 0 0 0 56315 10861 10928 10987 0 0 0 0 0 0 + 5768 3 0 0 0 56810 10861 10987 11135 0 0 0 0 0 0 + 5769 3 0 0 0 56811 10861 11230 10912 0 0 0 0 0 0 + 5770 3 0 0 0 56812 10861 11135 11230 0 0 0 0 0 0 + 5771 3 0 0 0 56814 10862 10988 11074 0 0 0 0 0 0 + 5772 3 0 0 0 56390 10864 11136 11036 0 0 0 0 0 0 + 5773 3 0 0 0 56393 10864 10934 11136 0 0 0 0 0 0 + 5774 3 0 0 0 56274 10866 10989 11055 0 0 0 0 0 0 + 5775 3 0 0 0 56821 10866 11190 10989 0 0 0 0 0 0 + 5776 3 0 0 0 56823 10866 11074 11190 0 0 0 0 0 0 + 5777 3 0 0 0 56433 10870 10937 11081 0 0 0 0 0 0 + 5778 3 0 0 0 56440 10870 11081 11143 0 0 0 0 0 0 + 5779 3 0 0 0 56832 10870 11143 11082 0 0 0 0 0 0 + 5780 4 1 0 0 56436 10872 11081 10935 0 0 0 0 0 0 + 5781 4 1 0 0 56438 10872 11143 11081 0 0 0 0 0 0 + 5782 3 0 0 0 56843 10875 11039 11196 0 0 0 0 0 0 + 5783 3 0 0 0 56856 10877 11144 11198 0 0 0 0 0 0 + 5784 3 0 0 0 56857 10877 11198 11039 0 0 0 0 0 0 + 5785 4 1 0 0 56064 10878 11063 11040 0 0 0 0 0 0 + 5786 4 1 0 0 56451 10878 11040 11084 0 0 0 0 0 0 + 5787 4 1 0 0 56461 10878 10939 11063 0 0 0 0 0 0 + 5788 4 1 0 0 56858 10878 11084 10994 0 0 0 0 0 0 + 5789 3 0 0 0 56912 10886 11159 11044 0 0 0 0 0 0 + 5790 3 0 0 0 56913 10886 11100 11159 0 0 0 0 0 0 + 5791 3 0 0 0 56476 10893 11045 10957 0 0 0 0 0 0 + 5792 3 0 0 0 56477 10893 11007 11045 0 0 0 0 0 0 + 5793 3 0 0 0 55961 10906 11024 11069 0 0 0 0 0 0 + 5794 3 0 0 0 56695 10906 11069 10976 0 0 0 0 0 0 + 5795 3 0 0 0 57037 10909 11017 11117 0 0 0 0 0 0 + 5796 3 0 0 0 57069 10912 11230 11123 0 0 0 0 0 0 + 5797 3 0 0 0 57070 10913 10973 11094 0 0 0 0 0 0 + 5798 3 0 0 0 57072 10913 11094 11248 0 0 0 0 0 0 + 5799 3 0 0 0 56759 10915 11052 11126 0 0 0 0 0 0 + 5800 3 0 0 0 56760 10915 11126 11062 0 0 0 0 0 0 + 5801 3 0 0 0 56781 10918 10979 11235 0 0 0 0 0 0 + 5802 3 0 0 0 57082 10918 11128 11024 0 0 0 0 0 0 + 5803 3 0 0 0 57084 10918 11235 11272 0 0 0 0 0 0 + 5804 3 0 0 0 57085 10918 11272 11128 0 0 0 0 0 0 + 5805 3 0 0 0 56310 10920 10981 11071 0 0 0 0 0 0 + 5806 3 0 0 0 57086 10921 11130 11186 0 0 0 0 0 0 + 5807 3 0 0 0 57088 10922 11187 11130 0 0 0 0 0 0 + 5808 3 0 0 0 57092 10922 11237 11187 0 0 0 0 0 0 + 5809 3 0 0 0 57093 10922 10982 11237 0 0 0 0 0 0 + 5810 3 0 0 0 57101 10924 11188 11132 0 0 0 0 0 0 + 5811 3 0 0 0 57102 10924 11133 11188 0 0 0 0 0 0 + 5812 3 0 0 0 56370 10925 11032 10985 0 0 0 0 0 0 + 5813 3 0 0 0 57109 10927 11134 11274 0 0 0 0 0 0 + 5814 3 0 0 0 57110 10927 11274 11185 0 0 0 0 0 0 + 5815 3 0 0 0 56030 10928 11062 10987 0 0 0 0 0 0 + 5816 3 0 0 0 56820 10934 11076 11136 0 0 0 0 0 0 + 5817 4 1 0 0 56834 10935 11081 10991 0 0 0 0 0 0 + 5818 3 0 0 0 56833 10937 10991 11081 0 0 0 0 0 0 + 5819 4 1 0 0 56462 10939 10995 11063 0 0 0 0 0 0 + 5820 3 0 0 0 56859 10941 11148 11007 0 0 0 0 0 0 + 5821 3 0 0 0 57188 10950 11044 11207 0 0 0 0 0 0 + 5822 3 0 0 0 57189 10950 11207 11097 0 0 0 0 0 0 + 5823 3 0 0 0 56845 10951 11087 11147 0 0 0 0 0 0 + 5824 3 0 0 0 56160 10972 11068 11052 0 0 0 0 0 0 + 5825 3 0 0 0 57065 10973 11123 11229 0 0 0 0 0 0 + 5826 3 0 0 0 57066 10973 11229 11094 0 0 0 0 0 0 + 5827 3 0 0 0 56697 10976 11116 11017 0 0 0 0 0 0 + 5828 3 0 0 0 56698 10976 11069 11116 0 0 0 0 0 0 + 5829 3 0 0 0 56779 10979 11185 11235 0 0 0 0 0 0 + 5830 3 0 0 0 56396 10980 11055 11137 0 0 0 0 0 0 + 5831 3 0 0 0 56397 10980 11137 11028 0 0 0 0 0 0 + 5832 3 0 0 0 57293 10981 11056 11071 0 0 0 0 0 0 + 5833 3 0 0 0 57294 10982 11097 11237 0 0 0 0 0 0 + 5834 3 0 0 0 57106 10985 11032 11273 0 0 0 0 0 0 + 5835 3 0 0 0 57309 10985 11273 11194 0 0 0 0 0 0 + 5836 3 0 0 0 57314 10987 11062 11183 0 0 0 0 0 0 + 5837 3 0 0 0 57315 10987 11183 11239 0 0 0 0 0 0 + 5838 3 0 0 0 57316 10987 11239 11135 0 0 0 0 0 0 + 5839 3 0 0 0 57124 10988 11036 11074 0 0 0 0 0 0 + 5840 3 0 0 0 57127 10989 11137 11055 0 0 0 0 0 0 + 5841 3 0 0 0 57129 10989 11191 11137 0 0 0 0 0 0 + 5842 3 0 0 0 57320 10989 11190 11138 0 0 0 0 0 0 + 5843 3 0 0 0 57321 10989 11138 11191 0 0 0 0 0 0 + 5844 4 1 0 0 57156 10994 11243 11199 0 0 0 0 0 0 + 5845 4 1 0 0 57337 10994 11084 11243 0 0 0 0 0 0 + 5846 4 1 0 0 56479 10995 11045 11089 0 0 0 0 0 0 + 5847 4 1 0 0 56863 10995 11089 11149 0 0 0 0 0 0 + 5848 4 1 0 0 57157 10995 11149 11063 0 0 0 0 0 0 + 5849 3 0 0 0 56480 11007 11089 11045 0 0 0 0 0 0 + 5850 3 0 0 0 56861 11007 11148 11089 0 0 0 0 0 0 + 5851 3 0 0 0 57016 11017 11116 11173 0 0 0 0 0 0 + 5852 3 0 0 0 57018 11017 11173 11117 0 0 0 0 0 0 + 5853 3 0 0 0 57291 11024 11128 11069 0 0 0 0 0 0 + 5854 3 0 0 0 57134 11028 11137 11240 0 0 0 0 0 0 + 5855 3 0 0 0 57475 11028 11236 11078 0 0 0 0 0 0 + 5856 3 0 0 0 57477 11028 11240 11236 0 0 0 0 0 0 + 5857 3 0 0 0 57308 11032 11132 11291 0 0 0 0 0 0 + 5858 3 0 0 0 57485 11032 11291 11273 0 0 0 0 0 0 + 5859 3 0 0 0 57486 11033 11248 11293 0 0 0 0 0 0 + 5860 3 0 0 0 57487 11033 11293 11244 0 0 0 0 0 0 + 5861 3 0 0 0 57125 11036 11136 11074 0 0 0 0 0 0 + 5862 3 0 0 0 57328 11039 11088 11196 0 0 0 0 0 0 + 5863 3 0 0 0 57331 11039 11198 11088 0 0 0 0 0 0 + 5864 4 1 0 0 56457 11040 11195 11084 0 0 0 0 0 0 + 5865 4 1 0 0 57160 11040 11063 11092 0 0 0 0 0 0 + 5866 4 1 0 0 57162 11040 11092 11151 0 0 0 0 0 0 + 5867 4 1 0 0 57344 11040 11151 11247 0 0 0 0 0 0 + 5868 4 1 0 0 57492 11040 11247 11195 0 0 0 0 0 0 + 5869 3 0 0 0 57191 11044 11159 11250 0 0 0 0 0 0 + 5870 3 0 0 0 57503 11044 11250 11207 0 0 0 0 0 0 + 5871 3 0 0 0 57454 11052 11184 11126 0 0 0 0 0 0 + 5872 3 0 0 0 57455 11052 11068 11184 0 0 0 0 0 0 + 5873 3 0 0 0 57474 11056 11140 11071 0 0 0 0 0 0 + 5874 3 0 0 0 56762 11062 11126 11183 0 0 0 0 0 0 + 5875 4 1 0 0 56884 11063 11245 11092 0 0 0 0 0 0 + 5876 4 1 0 0 57158 11063 11149 11245 0 0 0 0 0 0 + 5877 3 0 0 0 57460 11068 11271 11184 0 0 0 0 0 0 + 5878 3 0 0 0 57579 11068 11178 11271 0 0 0 0 0 0 + 5879 3 0 0 0 57465 11069 11128 11174 0 0 0 0 0 0 + 5880 3 0 0 0 57511 11069 11174 11116 0 0 0 0 0 0 + 5881 3 0 0 0 57470 11071 11140 11234 0 0 0 0 0 0 + 5882 3 0 0 0 57126 11074 11136 11190 0 0 0 0 0 0 + 5883 3 0 0 0 57319 11076 11190 11136 0 0 0 0 0 0 + 5884 3 0 0 0 57320 11076 11138 11190 0 0 0 0 0 0 + 5885 3 0 0 0 57580 11076 11194 11138 0 0 0 0 0 0 + 5886 3 0 0 0 57506 11078 11218 11140 0 0 0 0 0 0 + 5887 3 0 0 0 57507 11078 11285 11218 0 0 0 0 0 0 + 5888 3 0 0 0 57602 11078 11298 11285 0 0 0 0 0 0 + 5889 3 0 0 0 57603 11078 11236 11298 0 0 0 0 0 0 + 5890 3 0 0 0 57248 11080 11263 11141 0 0 0 0 0 0 + 5891 3 0 0 0 57324 11080 11240 11191 0 0 0 0 0 0 + 5892 3 0 0 0 57325 11080 11141 11240 0 0 0 0 0 0 + 5893 3 0 0 0 57583 11080 11191 11292 0 0 0 0 0 0 + 5894 3 0 0 0 57614 11080 11305 11263 0 0 0 0 0 0 + 5895 3 0 0 0 57615 11080 11292 11305 0 0 0 0 0 0 + 5896 3 0 0 0 57151 11082 11199 11144 0 0 0 0 0 0 + 5897 3 0 0 0 57327 11082 11143 11199 0 0 0 0 0 0 + 5898 4 1 0 0 57629 11084 11195 11277 0 0 0 0 0 0 + 5899 4 1 0 0 57630 11084 11277 11243 0 0 0 0 0 0 + 5900 3 0 0 0 56851 11087 11276 11147 0 0 0 0 0 0 + 5901 3 0 0 0 57148 11087 11196 11241 0 0 0 0 0 0 + 5902 3 0 0 0 57645 11087 11241 11276 0 0 0 0 0 0 + 5903 3 0 0 0 57335 11088 11198 11277 0 0 0 0 0 0 + 5904 3 0 0 0 57646 11088 11241 11196 0 0 0 0 0 0 + 5905 3 0 0 0 57647 11088 11277 11385 0 0 0 0 0 0 + 5906 3 0 0 0 57648 11088 11385 11241 0 0 0 0 0 0 + 5907 3 0 0 0 56864 11089 11148 11200 0 0 0 0 0 0 + 5908 4 1 0 0 56866 11089 11200 11149 0 0 0 0 0 0 + 5909 4 1 0 0 56887 11092 11245 11278 0 0 0 0 0 0 + 5910 4 1 0 0 57667 11092 11311 11151 0 0 0 0 0 0 + 5911 4 1 0 0 57668 11092 11278 11311 0 0 0 0 0 0 + 5912 3 0 0 0 57681 11094 11355 11248 0 0 0 0 0 0 + 5913 3 0 0 0 57682 11094 11392 11355 0 0 0 0 0 0 + 5914 3 0 0 0 57683 11094 11229 11392 0 0 0 0 0 0 + 5915 3 0 0 0 57708 11097 11207 11317 0 0 0 0 0 0 + 5916 3 0 0 0 57709 11097 11317 11237 0 0 0 0 0 0 + 5917 3 0 0 0 56933 11100 11295 11159 0 0 0 0 0 0 + 5918 3 0 0 0 57360 11100 11147 11208 0 0 0 0 0 0 + 5919 3 0 0 0 57719 11100 11208 11295 0 0 0 0 0 0 + 5920 3 0 0 0 56693 11114 11140 11218 0 0 0 0 0 0 + 5921 3 0 0 0 57010 11114 11218 11261 0 0 0 0 0 0 + 5922 3 0 0 0 57473 11114 11234 11140 0 0 0 0 0 0 + 5923 3 0 0 0 57861 11114 11261 11332 0 0 0 0 0 0 + 5924 3 0 0 0 57862 11114 11373 11234 0 0 0 0 0 0 + 5925 3 0 0 0 57863 11114 11332 11373 0 0 0 0 0 0 + 5926 3 0 0 0 57513 11116 11174 11220 0 0 0 0 0 0 + 5927 3 0 0 0 57514 11116 11220 11173 0 0 0 0 0 0 + 5928 3 0 0 0 57425 11117 11173 11226 0 0 0 0 0 0 + 5929 3 0 0 0 57426 11117 11226 11178 0 0 0 0 0 0 + 5930 3 0 0 0 57933 11123 11230 11380 0 0 0 0 0 0 + 5931 3 0 0 0 57934 11123 11380 11229 0 0 0 0 0 0 + 5932 3 0 0 0 57968 11126 11383 11183 0 0 0 0 0 0 + 5933 3 0 0 0 57969 11126 11184 11383 0 0 0 0 0 0 + 5934 3 0 0 0 57467 11128 11233 11174 0 0 0 0 0 0 + 5935 3 0 0 0 57991 11128 11272 11233 0 0 0 0 0 0 + 5936 3 0 0 0 57997 11130 11327 11186 0 0 0 0 0 0 + 5937 3 0 0 0 57998 11130 11187 11327 0 0 0 0 0 0 + 5938 3 0 0 0 58019 11132 11335 11291 0 0 0 0 0 0 + 5939 3 0 0 0 58020 11132 11188 11335 0 0 0 0 0 0 + 5940 3 0 0 0 58021 11133 11344 11188 0 0 0 0 0 0 + 5941 3 0 0 0 58022 11133 11407 11344 0 0 0 0 0 0 + 5942 3 0 0 0 58024 11133 11186 11407 0 0 0 0 0 0 + 5943 3 0 0 0 58026 11135 11239 11346 0 0 0 0 0 0 + 5944 3 0 0 0 58027 11135 11346 11415 0 0 0 0 0 0 + 5945 3 0 0 0 58028 11135 11415 11230 0 0 0 0 0 0 + 5946 3 0 0 0 57597 11137 11191 11240 0 0 0 0 0 0 + 5947 3 0 0 0 57582 11138 11292 11191 0 0 0 0 0 0 + 5948 3 0 0 0 57585 11138 11194 11292 0 0 0 0 0 0 + 5949 3 0 0 0 57249 11141 11263 11193 0 0 0 0 0 0 + 5950 3 0 0 0 57591 11141 11193 11264 0 0 0 0 0 0 + 5951 3 0 0 0 57593 11141 11264 11298 0 0 0 0 0 0 + 5952 3 0 0 0 57598 11141 11236 11240 0 0 0 0 0 0 + 5953 3 0 0 0 57600 11141 11298 11236 0 0 0 0 0 0 + 5954 3 0 0 0 57153 11144 11199 11243 0 0 0 0 0 0 + 5955 3 0 0 0 57154 11144 11243 11198 0 0 0 0 0 0 + 5956 3 0 0 0 58038 11147 11276 11208 0 0 0 0 0 0 + 5957 3 0 0 0 57649 11148 11244 11200 0 0 0 0 0 0 + 5958 4 1 0 0 57650 11149 11200 11245 0 0 0 0 0 0 + 5959 4 1 0 0 58051 11151 11311 11354 0 0 0 0 0 0 + 5960 4 1 0 0 58054 11151 11391 11247 0 0 0 0 0 0 + 5961 4 1 0 0 58055 11151 11354 11391 0 0 0 0 0 0 + 5962 3 0 0 0 58078 11159 11295 11320 0 0 0 0 0 0 + 5963 3 0 0 0 58079 11159 11320 11250 0 0 0 0 0 0 + 5964 3 0 0 0 57893 11173 11334 11226 0 0 0 0 0 0 + 5965 3 0 0 0 57894 11173 11220 11334 0 0 0 0 0 0 + 5966 3 0 0 0 57865 11174 11333 11220 0 0 0 0 0 0 + 5967 3 0 0 0 57866 11174 11233 11333 0 0 0 0 0 0 + 5968 3 0 0 0 57883 11178 11337 11271 0 0 0 0 0 0 + 5969 3 0 0 0 57884 11178 11226 11337 0 0 0 0 0 0 + 5970 3 0 0 0 58190 11183 11341 11239 0 0 0 0 0 0 + 5971 3 0 0 0 58191 11183 11383 11341 0 0 0 0 0 0 + 5972 3 0 0 0 58195 11184 11271 11342 0 0 0 0 0 0 + 5973 3 0 0 0 58197 11184 11342 11383 0 0 0 0 0 0 + 5974 3 0 0 0 57992 11185 11274 11235 0 0 0 0 0 0 + 5975 3 0 0 0 58199 11186 11327 11407 0 0 0 0 0 0 + 5976 3 0 0 0 58003 11187 11237 11359 0 0 0 0 0 0 + 5977 3 0 0 0 58008 11187 11359 11417 0 0 0 0 0 0 + 5978 3 0 0 0 58009 11187 11417 11327 0 0 0 0 0 0 + 5979 3 0 0 0 58201 11188 11418 11335 0 0 0 0 0 0 + 5980 3 0 0 0 58203 11188 11344 11418 0 0 0 0 0 0 + 5981 3 0 0 0 57609 11193 11263 11347 0 0 0 0 0 0 + 5982 3 0 0 0 57611 11193 11347 11384 0 0 0 0 0 0 + 5983 3 0 0 0 57810 11193 11304 11264 0 0 0 0 0 0 + 5984 3 0 0 0 57817 11193 11384 11304 0 0 0 0 0 0 + 5985 3 0 0 0 57586 11194 11273 11292 0 0 0 0 0 0 + 5986 4 1 0 0 57617 11195 11247 11306 0 0 0 0 0 0 + 5987 4 1 0 0 58221 11195 11306 11277 0 0 0 0 0 0 + 5988 3 0 0 0 57630 11198 11243 11277 0 0 0 0 0 0 + 5989 3 0 0 0 57654 11200 11244 11309 0 0 0 0 0 0 + 5990 3 0 0 0 57655 11200 11309 11351 0 0 0 0 0 0 + 5991 4 1 0 0 57656 11200 11351 11245 0 0 0 0 0 0 + 5992 3 0 0 0 58249 11207 11250 11394 0 0 0 0 0 0 + 5993 3 0 0 0 58251 11207 11394 11317 0 0 0 0 0 0 + 5994 3 0 0 0 58252 11208 11350 11295 0 0 0 0 0 0 + 5995 3 0 0 0 58254 11208 11386 11350 0 0 0 0 0 0 + 5996 3 0 0 0 58255 11208 11276 11386 0 0 0 0 0 0 + 5997 3 0 0 0 58124 11218 11285 11261 0 0 0 0 0 0 + 5998 3 0 0 0 57895 11220 11374 11334 0 0 0 0 0 0 + 5999 3 0 0 0 58287 11220 11333 11374 0 0 0 0 0 0 + 6000 3 0 0 0 57908 11226 11334 11439 0 0 0 0 0 0 + 6001 3 0 0 0 58162 11226 11439 11337 0 0 0 0 0 0 + 6002 3 0 0 0 57941 11229 11380 11442 0 0 0 0 0 0 + 6003 3 0 0 0 57946 11229 11442 11392 0 0 0 0 0 0 + 6004 3 0 0 0 58189 11230 11415 11380 0 0 0 0 0 0 + 6005 3 0 0 0 57871 11233 11408 11333 0 0 0 0 0 0 + 6006 3 0 0 0 58136 11233 11272 11332 0 0 0 0 0 0 + 6007 3 0 0 0 58346 11233 11332 11408 0 0 0 0 0 0 + 6008 3 0 0 0 57996 11234 11373 11274 0 0 0 0 0 0 + 6009 3 0 0 0 57995 11235 11274 11373 0 0 0 0 0 0 + 6010 3 0 0 0 58138 11235 11373 11272 0 0 0 0 0 0 + 6011 3 0 0 0 58074 11237 11317 11359 0 0 0 0 0 0 + 6012 3 0 0 0 58207 11239 11420 11346 0 0 0 0 0 0 + 6013 3 0 0 0 58365 11239 11341 11420 0 0 0 0 0 0 + 6014 3 0 0 0 58034 11241 11385 11348 0 0 0 0 0 0 + 6015 3 0 0 0 58222 11241 11348 11276 0 0 0 0 0 0 + 6016 3 0 0 0 57653 11244 11293 11309 0 0 0 0 0 0 + 6017 4 1 0 0 58369 11245 11351 11278 0 0 0 0 0 0 + 6018 4 1 0 0 58374 11247 11424 11306 0 0 0 0 0 0 + 6019 4 1 0 0 58375 11247 11391 11424 0 0 0 0 0 0 + 6020 3 0 0 0 58242 11248 11355 11293 0 0 0 0 0 0 + 6021 3 0 0 0 58264 11250 11320 11426 0 0 0 0 0 0 + 6022 3 0 0 0 58382 11250 11426 11394 0 0 0 0 0 0 + 6023 3 0 0 0 57870 11261 11370 11408 0 0 0 0 0 0 + 6024 3 0 0 0 58127 11261 11285 11370 0 0 0 0 0 0 + 6025 3 0 0 0 58346 11261 11408 11332 0 0 0 0 0 0 + 6026 3 0 0 0 58289 11263 11409 11347 0 0 0 0 0 0 + 6027 3 0 0 0 58435 11263 11305 11409 0 0 0 0 0 0 + 6028 3 0 0 0 57802 11264 11302 11298 0 0 0 0 0 0 + 6029 3 0 0 0 57805 11264 11367 11302 0 0 0 0 0 0 + 6030 3 0 0 0 58116 11264 11304 11367 0 0 0 0 0 0 + 6031 3 0 0 0 58313 11271 11337 11441 0 0 0 0 0 0 + 6032 3 0 0 0 58455 11271 11441 11342 0 0 0 0 0 0 + 6033 3 0 0 0 58137 11272 11373 11332 0 0 0 0 0 0 + 6034 3 0 0 0 57615 11273 11305 11292 0 0 0 0 0 0 + 6035 3 0 0 0 58032 11273 11291 11305 0 0 0 0 0 0 + 6036 3 0 0 0 58223 11276 11348 11386 0 0 0 0 0 0 + 6037 3 0 0 0 58221 11277 11306 11385 0 0 0 0 0 0 + 6038 4 1 0 0 58456 11278 11351 11312 0 0 0 0 0 0 + 6039 4 1 0 0 58457 11278 11353 11311 0 0 0 0 0 0 + 6040 4 1 0 0 58458 11278 11312 11353 0 0 0 0 0 0 + 6041 3 0 0 0 58126 11285 11302 11370 0 0 0 0 0 0 + 6042 3 0 0 0 58220 11285 11298 11302 0 0 0 0 0 0 + 6043 3 0 0 0 58290 11291 11335 11409 0 0 0 0 0 0 + 6044 3 0 0 0 58435 11291 11409 11305 0 0 0 0 0 0 + 6045 3 0 0 0 58491 11293 11355 11447 0 0 0 0 0 0 + 6046 3 0 0 0 58492 11293 11447 11309 0 0 0 0 0 0 + 6047 3 0 0 0 58395 11295 11350 11427 0 0 0 0 0 0 + 6048 3 0 0 0 58396 11295 11427 11320 0 0 0 0 0 0 + 6049 3 0 0 0 58284 11302 11405 11370 0 0 0 0 0 0 + 6050 3 0 0 0 58420 11302 11367 11405 0 0 0 0 0 0 + 6051 3 0 0 0 57819 11304 11384 11368 0 0 0 0 0 0 + 6052 3 0 0 0 58118 11304 11403 11367 0 0 0 0 0 0 + 6053 3 0 0 0 58282 11304 11368 11403 0 0 0 0 0 0 + 6054 3 0 0 0 57628 11306 11348 11385 0 0 0 0 0 0 + 6055 3 0 0 0 58374 11306 11424 11348 0 0 0 0 0 0 + 6056 3 0 0 0 58543 11309 11447 11351 0 0 0 0 0 0 + 6057 4 1 0 0 58238 11311 11422 11354 0 0 0 0 0 0 + 6058 4 1 0 0 58553 11311 11353 11472 0 0 0 0 0 0 + 6059 4 1 0 0 58555 11311 11472 11422 0 0 0 0 0 0 + 6060 3 0 0 0 58556 11312 11351 11447 0 0 0 0 0 0 + 6061 3 0 0 0 58558 11312 11447 11471 0 0 0 0 0 0 + 6062 3 0 0 0 58559 11312 11471 11500 0 0 0 0 0 0 + 6063 3 0 0 0 58560 11312 11500 11353 0 0 0 0 0 0 + 6064 3 0 0 0 58379 11317 11394 11425 0 0 0 0 0 0 + 6065 3 0 0 0 58595 11317 11425 11359 0 0 0 0 0 0 + 6066 3 0 0 0 58603 11320 11427 11502 0 0 0 0 0 0 + 6067 3 0 0 0 58604 11320 11502 11426 0 0 0 0 0 0 + 6068 3 0 0 0 58670 11327 11484 11407 0 0 0 0 0 0 + 6069 3 0 0 0 58671 11327 11417 11484 0 0 0 0 0 0 + 6070 3 0 0 0 57829 11328 11369 11403 0 0 0 0 0 0 + 6071 3 0 0 0 58281 11328 11403 11368 0 0 0 0 0 0 + 6072 3 0 0 0 58478 11328 11455 11378 0 0 0 0 0 0 + 6073 3 0 0 0 58479 11328 11368 11455 0 0 0 0 0 0 + 6074 3 0 0 0 58672 11328 11487 11369 0 0 0 0 0 0 + 6075 3 0 0 0 58673 11328 11378 11487 0 0 0 0 0 0 + 6076 3 0 0 0 57830 11329 11403 11369 0 0 0 0 0 0 + 6077 3 0 0 0 58326 11329 11369 11458 0 0 0 0 0 0 + 6078 3 0 0 0 58418 11329 11367 11403 0 0 0 0 0 0 + 6079 3 0 0 0 58419 11329 11405 11367 0 0 0 0 0 0 + 6080 3 0 0 0 58674 11329 11458 11488 0 0 0 0 0 0 + 6081 3 0 0 0 58675 11329 11488 11405 0 0 0 0 0 0 + 6082 3 0 0 0 58704 11333 11408 11513 0 0 0 0 0 0 + 6083 3 0 0 0 58705 11333 11513 11374 0 0 0 0 0 0 + 6084 3 0 0 0 57897 11334 11374 11413 0 0 0 0 0 0 + 6085 3 0 0 0 57906 11334 11413 11439 0 0 0 0 0 0 + 6086 3 0 0 0 58291 11335 11436 11409 0 0 0 0 0 0 + 6087 3 0 0 0 58484 11335 11418 11436 0 0 0 0 0 0 + 6088 3 0 0 0 58316 11337 11456 11441 0 0 0 0 0 0 + 6089 3 0 0 0 58319 11337 11439 11456 0 0 0 0 0 0 + 6090 3 0 0 0 57942 11339 11392 11442 0 0 0 0 0 0 + 6091 3 0 0 0 57944 11339 11442 11381 0 0 0 0 0 0 + 6092 3 0 0 0 58726 11339 11471 11392 0 0 0 0 0 0 + 6093 3 0 0 0 58728 11339 11500 11471 0 0 0 0 0 0 + 6094 3 0 0 0 58732 11339 11562 11500 0 0 0 0 0 0 + 6095 3 0 0 0 58734 11339 11381 11562 0 0 0 0 0 0 + 6096 3 0 0 0 57943 11340 11381 11442 0 0 0 0 0 0 + 6097 3 0 0 0 57945 11340 11442 11380 0 0 0 0 0 0 + 6098 3 0 0 0 58735 11340 11380 11415 0 0 0 0 0 0 + 6099 3 0 0 0 58736 11340 11415 11491 0 0 0 0 0 0 + 6100 3 0 0 0 58737 11340 11554 11381 0 0 0 0 0 0 + 6101 3 0 0 0 58738 11340 11491 11554 0 0 0 0 0 0 + 6102 3 0 0 0 58340 11341 11383 11416 0 0 0 0 0 0 + 6103 3 0 0 0 58740 11341 11416 11492 0 0 0 0 0 0 + 6104 3 0 0 0 58741 11341 11492 11420 0 0 0 0 0 0 + 6105 3 0 0 0 58338 11342 11416 11383 0 0 0 0 0 0 + 6106 3 0 0 0 58742 11342 11441 11490 0 0 0 0 0 0 + 6107 3 0 0 0 58743 11342 11490 11416 0 0 0 0 0 0 + 6108 3 0 0 0 58355 11344 11445 11418 0 0 0 0 0 0 + 6109 3 0 0 0 58358 11344 11407 11463 0 0 0 0 0 0 + 6110 3 0 0 0 58363 11344 11463 11445 0 0 0 0 0 0 + 6111 3 0 0 0 58485 11345 11436 11418 0 0 0 0 0 0 + 6112 3 0 0 0 58489 11345 11462 11436 0 0 0 0 0 0 + 6113 3 0 0 0 58763 11345 11418 11445 0 0 0 0 0 0 + 6114 3 0 0 0 58764 11345 11445 11494 0 0 0 0 0 0 + 6115 3 0 0 0 58765 11345 11496 11462 0 0 0 0 0 0 + 6116 3 0 0 0 58767 11345 11494 11496 0 0 0 0 0 0 + 6117 3 0 0 0 58768 11346 11491 11415 0 0 0 0 0 0 + 6118 3 0 0 0 58770 11346 11537 11491 0 0 0 0 0 0 + 6119 3 0 0 0 58771 11346 11420 11537 0 0 0 0 0 0 + 6120 3 0 0 0 58292 11347 11409 11436 0 0 0 0 0 0 + 6121 3 0 0 0 58488 11347 11436 11462 0 0 0 0 0 0 + 6122 3 0 0 0 58520 11347 11462 11384 0 0 0 0 0 0 + 6123 3 0 0 0 58528 11348 11424 11386 0 0 0 0 0 0 + 6124 3 0 0 0 58531 11350 11386 11470 0 0 0 0 0 0 + 6125 3 0 0 0 58772 11350 11470 11498 0 0 0 0 0 0 + 6126 3 0 0 0 58773 11350 11498 11427 0 0 0 0 0 0 + 6127 3 0 0 0 58785 11353 11500 11542 0 0 0 0 0 0 + 6128 4 1 0 0 58786 11353 11542 11472 0 0 0 0 0 0 + 6129 4 1 0 0 58565 11354 11422 11473 0 0 0 0 0 0 + 6130 4 1 0 0 58566 11354 11473 11501 0 0 0 0 0 0 + 6131 4 1 0 0 58787 11354 11521 11391 0 0 0 0 0 0 + 6132 4 1 0 0 58788 11354 11501 11521 0 0 0 0 0 0 + 6133 3 0 0 0 58550 11355 11392 11471 0 0 0 0 0 0 + 6134 3 0 0 0 58789 11355 11471 11447 0 0 0 0 0 0 + 6135 3 0 0 0 58797 11359 11503 11417 0 0 0 0 0 0 + 6136 3 0 0 0 58798 11359 11425 11503 0 0 0 0 0 0 + 6137 3 0 0 0 58146 11368 11384 11437 0 0 0 0 0 0 + 6138 3 0 0 0 58441 11368 11437 11455 0 0 0 0 0 0 + 6139 3 0 0 0 58325 11369 11414 11458 0 0 0 0 0 0 + 6140 3 0 0 0 58677 11369 11487 11414 0 0 0 0 0 0 + 6141 3 0 0 0 58704 11370 11513 11408 0 0 0 0 0 0 + 6142 3 0 0 0 58847 11370 11405 11513 0 0 0 0 0 0 + 6143 3 0 0 0 58850 11374 11488 11413 0 0 0 0 0 0 + 6144 3 0 0 0 58851 11374 11513 11488 0 0 0 0 0 0 + 6145 3 0 0 0 58440 11377 11455 11437 0 0 0 0 0 0 + 6146 3 0 0 0 58867 11377 11437 11496 0 0 0 0 0 0 + 6147 3 0 0 0 58869 11377 11535 11552 0 0 0 0 0 0 + 6148 3 0 0 0 58871 11377 11552 11455 0 0 0 0 0 0 + 6149 3 0 0 0 58872 11377 11560 11535 0 0 0 0 0 0 + 6150 3 0 0 0 58873 11377 11496 11560 0 0 0 0 0 0 + 6151 3 0 0 0 58720 11378 11552 11559 0 0 0 0 0 0 + 6152 3 0 0 0 58874 11378 11533 11487 0 0 0 0 0 0 + 6153 3 0 0 0 58876 11378 11455 11552 0 0 0 0 0 0 + 6154 3 0 0 0 58877 11378 11559 11533 0 0 0 0 0 0 + 6155 3 0 0 0 58882 11381 11554 11516 0 0 0 0 0 0 + 6156 3 0 0 0 58884 11381 11516 11562 0 0 0 0 0 0 + 6157 3 0 0 0 58519 11384 11462 11437 0 0 0 0 0 0 + 6158 3 0 0 0 58529 11386 11424 11470 0 0 0 0 0 0 + 6159 4 1 0 0 58532 11391 11497 11424 0 0 0 0 0 0 + 6160 4 1 0 0 58536 11391 11521 11497 0 0 0 0 0 0 + 6161 3 0 0 0 58793 11394 11426 11477 0 0 0 0 0 0 + 6162 3 0 0 0 58794 11394 11477 11425 0 0 0 0 0 0 + 6163 3 0 0 0 58939 11405 11488 11513 0 0 0 0 0 0 + 6164 3 0 0 0 58832 11407 11484 11463 0 0 0 0 0 0 + 6165 3 0 0 0 58329 11413 11458 11465 0 0 0 0 0 0 + 6166 3 0 0 0 58880 11413 11465 11439 0 0 0 0 0 0 + 6167 3 0 0 0 58955 11413 11488 11458 0 0 0 0 0 0 + 6168 3 0 0 0 58330 11414 11465 11458 0 0 0 0 0 0 + 6169 3 0 0 0 58680 11414 11489 11465 0 0 0 0 0 0 + 6170 3 0 0 0 58681 11414 11512 11489 0 0 0 0 0 0 + 6171 3 0 0 0 58682 11414 11487 11512 0 0 0 0 0 0 + 6172 3 0 0 0 58957 11416 11517 11492 0 0 0 0 0 0 + 6173 3 0 0 0 58959 11416 11490 11517 0 0 0 0 0 0 + 6174 3 0 0 0 58961 11417 11539 11484 0 0 0 0 0 0 + 6175 3 0 0 0 58962 11417 11503 11539 0 0 0 0 0 0 + 6176 3 0 0 0 58981 11420 11492 11518 0 0 0 0 0 0 + 6177 3 0 0 0 58983 11420 11518 11537 0 0 0 0 0 0 + 6178 4 1 0 0 58893 11422 11555 11473 0 0 0 0 0 0 + 6179 4 1 0 0 58895 11422 11472 11555 0 0 0 0 0 0 + 6180 3 0 0 0 58533 11424 11497 11470 0 0 0 0 0 0 + 6181 3 0 0 0 58986 11425 11524 11503 0 0 0 0 0 0 + 6182 3 0 0 0 58988 11425 11477 11524 0 0 0 0 0 0 + 6183 3 0 0 0 58614 11426 11525 11477 0 0 0 0 0 0 + 6184 3 0 0 0 58616 11426 11502 11525 0 0 0 0 0 0 + 6185 3 0 0 0 58588 11427 11476 11502 0 0 0 0 0 0 + 6186 3 0 0 0 58989 11427 11498 11476 0 0 0 0 0 0 + 6187 3 0 0 0 58527 11437 11462 11496 0 0 0 0 0 0 + 6188 3 0 0 0 58878 11439 11465 11456 0 0 0 0 0 0 + 6189 3 0 0 0 58951 11441 11536 11490 0 0 0 0 0 0 + 6190 3 0 0 0 58952 11441 11456 11536 0 0 0 0 0 0 + 6191 3 0 0 0 58966 11445 11463 11540 0 0 0 0 0 0 + 6192 3 0 0 0 58968 11445 11540 11494 0 0 0 0 0 0 + 6193 3 0 0 0 59010 11456 11465 11489 0 0 0 0 0 0 + 6194 3 0 0 0 59011 11456 11489 11536 0 0 0 0 0 0 + 6195 3 0 0 0 58967 11463 11519 11540 0 0 0 0 0 0 + 6196 3 0 0 0 59027 11463 11484 11519 0 0 0 0 0 0 + 6197 3 0 0 0 59081 11470 11565 11498 0 0 0 0 0 0 + 6198 3 0 0 0 59082 11470 11497 11565 0 0 0 0 0 0 + 6199 4 1 0 0 59084 11472 11542 11555 0 0 0 0 0 0 + 6200 4 1 0 0 58916 11473 11556 11501 0 0 0 0 0 0 + 6201 4 1 0 0 59085 11473 11555 11566 0 0 0 0 0 0 + 6202 4 1 0 0 59086 11473 11566 11587 0 0 0 0 0 0 + 6203 4 1 0 0 59087 11473 11587 11556 0 0 0 0 0 0 + 6204 3 0 0 0 58810 11476 11543 11502 0 0 0 0 0 0 + 6205 3 0 0 0 59105 11476 11498 11565 0 0 0 0 0 0 + 6206 3 0 0 0 59106 11476 11568 11543 0 0 0 0 0 0 + 6207 3 0 0 0 59107 11476 11565 11585 0 0 0 0 0 0 + 6208 3 0 0 0 59109 11476 11585 11568 0 0 0 0 0 0 + 6209 3 0 0 0 59110 11477 11569 11524 0 0 0 0 0 0 + 6210 3 0 0 0 59111 11477 11525 11569 0 0 0 0 0 0 + 6211 3 0 0 0 59074 11484 11539 11519 0 0 0 0 0 0 + 6212 3 0 0 0 59197 11487 11533 11512 0 0 0 0 0 0 + 6213 3 0 0 0 59198 11489 11512 11580 0 0 0 0 0 0 + 6214 3 0 0 0 59200 11489 11580 11536 0 0 0 0 0 0 + 6215 3 0 0 0 59024 11490 11563 11517 0 0 0 0 0 0 + 6216 3 0 0 0 59201 11490 11536 11563 0 0 0 0 0 0 + 6217 3 0 0 0 59202 11491 11595 11554 0 0 0 0 0 0 + 6218 3 0 0 0 59203 11491 11537 11595 0 0 0 0 0 0 + 6219 3 0 0 0 59062 11492 11517 11564 0 0 0 0 0 0 + 6220 3 0 0 0 59066 11492 11564 11518 0 0 0 0 0 0 + 6221 3 0 0 0 58977 11494 11560 11496 0 0 0 0 0 0 + 6222 3 0 0 0 59224 11494 11540 11582 0 0 0 0 0 0 + 6223 3 0 0 0 59225 11494 11582 11560 0 0 0 0 0 0 + 6224 3 0 0 0 59034 11495 11537 11518 0 0 0 0 0 0 + 6225 3 0 0 0 59227 11495 11518 11584 0 0 0 0 0 0 + 6226 3 0 0 0 59228 11495 11595 11537 0 0 0 0 0 0 + 6227 3 0 0 0 59232 11495 11584 11616 0 0 0 0 0 0 + 6228 3 0 0 0 59234 11495 11628 11595 0 0 0 0 0 0 + 6229 3 0 0 0 59235 11495 11616 11628 0 0 0 0 0 0 + 6230 4 1 0 0 59082 11497 11521 11565 0 0 0 0 0 0 + 6231 3 0 0 0 59242 11500 11562 11542 0 0 0 0 0 0 + 6232 4 1 0 0 59243 11501 11565 11521 0 0 0 0 0 0 + 6233 4 1 0 0 59244 11501 11556 11585 0 0 0 0 0 0 + 6234 4 1 0 0 59245 11501 11585 11565 0 0 0 0 0 0 + 6235 3 0 0 0 58808 11502 11543 11525 0 0 0 0 0 0 + 6236 3 0 0 0 59112 11503 11524 11570 0 0 0 0 0 0 + 6237 3 0 0 0 59113 11503 11570 11539 0 0 0 0 0 0 + 6238 3 0 0 0 59309 11512 11613 11580 0 0 0 0 0 0 + 6239 3 0 0 0 59310 11512 11533 11613 0 0 0 0 0 0 + 6240 3 0 0 0 59091 11516 11542 11562 0 0 0 0 0 0 + 6241 3 0 0 0 59318 11516 11583 11602 0 0 0 0 0 0 + 6242 3 0 0 0 59319 11516 11602 11542 0 0 0 0 0 0 + 6243 3 0 0 0 59320 11516 11611 11583 0 0 0 0 0 0 + 6244 3 0 0 0 59321 11516 11554 11611 0 0 0 0 0 0 + 6245 3 0 0 0 59322 11517 11581 11564 0 0 0 0 0 0 + 6246 3 0 0 0 59323 11517 11563 11581 0 0 0 0 0 0 + 6247 3 0 0 0 59324 11518 11564 11584 0 0 0 0 0 0 + 6248 3 0 0 0 59325 11519 11598 11540 0 0 0 0 0 0 + 6249 3 0 0 0 59326 11519 11605 11598 0 0 0 0 0 0 + 6250 3 0 0 0 59327 11519 11539 11605 0 0 0 0 0 0 + 6251 3 0 0 0 59249 11524 11569 11606 0 0 0 0 0 0 + 6252 3 0 0 0 59342 11524 11606 11570 0 0 0 0 0 0 + 6253 3 0 0 0 59125 11525 11543 11590 0 0 0 0 0 0 + 6254 3 0 0 0 59127 11525 11590 11569 0 0 0 0 0 0 + 6255 3 0 0 0 59296 11533 11559 11579 0 0 0 0 0 0 + 6256 3 0 0 0 59368 11533 11579 11613 0 0 0 0 0 0 + 6257 3 0 0 0 59175 11535 11594 11577 0 0 0 0 0 0 + 6258 3 0 0 0 59311 11535 11577 11552 0 0 0 0 0 0 + 6259 3 0 0 0 59369 11535 11614 11594 0 0 0 0 0 0 + 6260 3 0 0 0 59370 11535 11560 11614 0 0 0 0 0 0 + 6261 3 0 0 0 59312 11536 11580 11563 0 0 0 0 0 0 + 6262 3 0 0 0 59119 11539 11570 11605 0 0 0 0 0 0 + 6263 3 0 0 0 59330 11540 11598 11582 0 0 0 0 0 0 + 6264 4 1 0 0 59375 11542 11602 11555 0 0 0 0 0 0 + 6265 3 0 0 0 59254 11543 11607 11590 0 0 0 0 0 0 + 6266 3 0 0 0 59343 11543 11568 11607 0 0 0 0 0 0 + 6267 3 0 0 0 59191 11552 11577 11559 0 0 0 0 0 0 + 6268 3 0 0 0 59358 11554 11595 11611 0 0 0 0 0 0 + 6269 4 1 0 0 59403 11555 11602 11566 0 0 0 0 0 0 + 6270 4 1 0 0 59263 11556 11629 11618 0 0 0 0 0 0 + 6271 4 1 0 0 59346 11556 11618 11585 0 0 0 0 0 0 + 6272 4 1 0 0 59376 11556 11587 11629 0 0 0 0 0 0 + 6273 3 0 0 0 59195 11559 11577 11627 0 0 0 0 0 0 + 6274 3 0 0 0 59307 11559 11627 11579 0 0 0 0 0 0 + 6275 3 0 0 0 59333 11560 11582 11614 0 0 0 0 0 0 + 6276 3 0 0 0 59393 11563 11623 11581 0 0 0 0 0 0 + 6277 3 0 0 0 59408 11563 11580 11623 0 0 0 0 0 0 + 6278 3 0 0 0 59214 11564 11581 11615 0 0 0 0 0 0 + 6279 3 0 0 0 59216 11564 11615 11584 0 0 0 0 0 0 + 6280 4 1 0 0 59340 11566 11603 11587 0 0 0 0 0 0 + 6281 4 1 0 0 59410 11566 11630 11603 0 0 0 0 0 0 + 6282 4 1 0 0 59411 11566 11644 11630 0 0 0 0 0 0 + 6283 4 1 0 0 59412 11566 11602 11644 0 0 0 0 0 0 + 6284 3 0 0 0 59344 11568 11618 11607 0 0 0 0 0 0 + 6285 3 0 0 0 59345 11568 11585 11618 0 0 0 0 0 0 + 6286 3 0 0 0 59420 11569 11590 11635 0 0 0 0 0 0 + 6287 3 0 0 0 59421 11569 11635 11606 0 0 0 0 0 0 + 6288 3 0 0 0 59422 11570 11636 11605 0 0 0 0 0 0 + 6289 3 0 0 0 59423 11570 11606 11636 0 0 0 0 0 0 + 6290 3 0 0 0 59253 11572 11590 11607 0 0 0 0 0 0 + 6291 3 0 0 0 59439 11572 11635 11590 0 0 0 0 0 0 + 6292 3 0 0 0 59440 11572 11607 11649 0 0 0 0 0 0 + 6293 3 0 0 0 59441 11572 11649 11638 0 0 0 0 0 0 + 6294 3 0 0 0 59442 11572 11658 11635 0 0 0 0 0 0 + 6295 3 0 0 0 59443 11572 11638 11658 0 0 0 0 0 0 + 6296 3 0 0 0 59181 11577 11594 11621 0 0 0 0 0 0 + 6297 3 0 0 0 59401 11577 11621 11627 0 0 0 0 0 0 + 6298 3 0 0 0 59495 11579 11627 11642 0 0 0 0 0 0 + 6299 3 0 0 0 59497 11579 11642 11654 0 0 0 0 0 0 + 6300 3 0 0 0 59498 11579 11654 11613 0 0 0 0 0 0 + 6301 3 0 0 0 59500 11580 11613 11623 0 0 0 0 0 0 + 6302 3 0 0 0 59217 11581 11601 11615 0 0 0 0 0 0 + 6303 3 0 0 0 59501 11581 11623 11601 0 0 0 0 0 0 + 6304 3 0 0 0 59335 11582 11598 11625 0 0 0 0 0 0 + 6305 3 0 0 0 59338 11582 11625 11614 0 0 0 0 0 0 + 6306 3 0 0 0 59502 11583 11611 11631 0 0 0 0 0 0 + 6307 3 0 0 0 59503 11583 11631 11644 0 0 0 0 0 0 + 6308 3 0 0 0 59504 11583 11644 11602 0 0 0 0 0 0 + 6309 3 0 0 0 59505 11584 11615 11643 0 0 0 0 0 0 + 6310 3 0 0 0 59506 11584 11643 11616 0 0 0 0 0 0 + 6311 4 1 0 0 59424 11587 11603 11629 0 0 0 0 0 0 + 6312 3 0 0 0 59476 11594 11614 11625 0 0 0 0 0 0 + 6313 3 0 0 0 59480 11594 11625 11641 0 0 0 0 0 0 + 6314 3 0 0 0 59530 11594 11641 11651 0 0 0 0 0 0 + 6315 3 0 0 0 59531 11594 11651 11621 0 0 0 0 0 0 + 6316 3 0 0 0 59417 11595 11628 11611 0 0 0 0 0 0 + 6317 3 0 0 0 59483 11598 11605 11648 0 0 0 0 0 0 + 6318 3 0 0 0 59485 11598 11648 11625 0 0 0 0 0 0 + 6319 3 0 0 0 59400 11599 11627 11621 0 0 0 0 0 0 + 6320 3 0 0 0 59458 11599 11621 11639 0 0 0 0 0 0 + 6321 3 0 0 0 59538 11599 11642 11627 0 0 0 0 0 0 + 6322 3 0 0 0 59539 11599 11639 11664 0 0 0 0 0 0 + 6323 3 0 0 0 59541 11599 11668 11642 0 0 0 0 0 0 + 6324 3 0 0 0 59542 11599 11664 11668 0 0 0 0 0 0 + 6325 3 0 0 0 59555 11601 11623 11654 0 0 0 0 0 0 + 6326 3 0 0 0 59556 11601 11655 11615 0 0 0 0 0 0 + 6327 3 0 0 0 59557 11601 11667 11655 0 0 0 0 0 0 + 6328 3 0 0 0 59558 11601 11654 11667 0 0 0 0 0 0 + 6329 4 1 0 0 59425 11603 11633 11629 0 0 0 0 0 0 + 6330 4 1 0 0 59471 11603 11630 11656 0 0 0 0 0 0 + 6331 4 1 0 0 59520 11603 11645 11633 0 0 0 0 0 0 + 6332 4 1 0 0 59560 11603 11656 11645 0 0 0 0 0 0 + 6333 3 0 0 0 59481 11605 11636 11648 0 0 0 0 0 0 + 6334 3 0 0 0 59514 11606 11647 11636 0 0 0 0 0 0 + 6335 3 0 0 0 59562 11606 11635 11647 0 0 0 0 0 0 + 6336 3 0 0 0 59563 11607 11618 11649 0 0 0 0 0 0 + 6337 3 0 0 0 59580 11611 11628 11631 0 0 0 0 0 0 + 6338 3 0 0 0 59537 11613 11654 11623 0 0 0 0 0 0 + 6339 3 0 0 0 59583 11615 11655 11643 0 0 0 0 0 0 + 6340 3 0 0 0 59553 11616 11643 11662 0 0 0 0 0 0 + 6341 3 0 0 0 59585 11616 11653 11628 0 0 0 0 0 0 + 6342 3 0 0 0 59586 11616 11662 11653 0 0 0 0 0 0 + 6343 4 1 0 0 59589 11618 11629 11649 0 0 0 0 0 0 + 6344 3 0 0 0 59522 11621 11663 11639 0 0 0 0 0 0 + 6345 3 0 0 0 59565 11621 11651 11663 0 0 0 0 0 0 + 6346 3 0 0 0 59484 11625 11648 11641 0 0 0 0 0 0 + 6347 3 0 0 0 59604 11628 11653 11631 0 0 0 0 0 0 + 6348 4 1 0 0 59608 11629 11633 11649 0 0 0 0 0 0 + 6349 4 1 0 0 59571 11630 11644 11666 0 0 0 0 0 0 + 6350 4 1 0 0 59574 11630 11666 11656 0 0 0 0 0 0 + 6351 3 0 0 0 59572 11631 11653 11666 0 0 0 0 0 0 + 6352 3 0 0 0 59573 11631 11666 11644 0 0 0 0 0 0 + 6353 4 1 0 0 59610 11633 11660 11649 0 0 0 0 0 0 + 6354 4 1 0 0 59616 11633 11645 11670 0 0 0 0 0 0 + 6355 4 1 0 0 59618 11633 11675 11660 0 0 0 0 0 0 + 6356 4 1 0 0 59619 11633 11670 11675 0 0 0 0 0 0 + 6357 3 0 0 0 59588 11635 11658 11647 0 0 0 0 0 0 + 6358 3 0 0 0 59600 11636 11647 11661 0 0 0 0 0 0 + 6359 3 0 0 0 59603 11636 11661 11648 0 0 0 0 0 0 + 6360 3 0 0 0 59611 11638 11649 11660 0 0 0 0 0 0 + 6361 3 0 0 0 59637 11638 11680 11658 0 0 0 0 0 0 + 6362 3 0 0 0 59638 11638 11660 11680 0 0 0 0 0 0 + 6363 3 0 0 0 59524 11639 11663 11659 0 0 0 0 0 0 + 6364 3 0 0 0 59526 11639 11659 11664 0 0 0 0 0 0 + 6365 4 1 0 0 59590 11640 11645 11656 0 0 0 0 0 0 + 6366 3 0 0 0 59591 11640 11652 11664 0 0 0 0 0 0 + 6367 3 0 0 0 59639 11640 11671 11652 0 0 0 0 0 0 + 6368 4 1 0 0 59640 11640 11656 11671 0 0 0 0 0 0 + 6369 4 1 0 0 59641 11640 11676 11645 0 0 0 0 0 0 + 6370 3 0 0 0 59641 11640 11664 11676 0 0 0 0 0 0 + 6371 3 0 0 0 59598 11641 11648 11661 0 0 0 0 0 0 + 6372 3 0 0 0 59642 11641 11679 11651 0 0 0 0 0 0 + 6373 3 0 0 0 59642 11641 11661 11679 0 0 0 0 0 0 + 6374 3 0 0 0 59581 11642 11667 11654 0 0 0 0 0 0 + 6375 3 0 0 0 59643 11642 11668 11682 0 0 0 0 0 0 + 6376 3 0 0 0 59644 11642 11682 11667 0 0 0 0 0 0 + 6377 3 0 0 0 59645 11643 11672 11662 0 0 0 0 0 0 + 6378 3 0 0 0 59647 11643 11655 11672 0 0 0 0 0 0 + 6379 4 1 0 0 59649 11645 11676 11670 0 0 0 0 0 0 + 6380 3 0 0 0 59627 11647 11658 11673 0 0 0 0 0 0 + 6381 3 0 0 0 59629 11647 11673 11661 0 0 0 0 0 0 + 6382 3 0 0 0 59632 11651 11679 11663 0 0 0 0 0 0 + 6383 3 0 0 0 59621 11652 11668 11664 0 0 0 0 0 0 + 6384 3 0 0 0 59665 11652 11671 11685 0 0 0 0 0 0 + 6385 3 0 0 0 59666 11652 11686 11668 0 0 0 0 0 0 + 6386 3 0 0 0 59667 11652 11685 11686 0 0 0 0 0 0 + 6387 3 0 0 0 59575 11653 11669 11666 0 0 0 0 0 0 + 6388 3 0 0 0 59614 11653 11662 11669 0 0 0 0 0 0 + 6389 3 0 0 0 59669 11655 11667 11682 0 0 0 0 0 0 + 6390 3 0 0 0 59670 11655 11682 11672 0 0 0 0 0 0 + 6391 4 1 0 0 59671 11656 11677 11671 0 0 0 0 0 0 + 6392 4 1 0 0 59672 11656 11666 11677 0 0 0 0 0 0 + 6393 3 0 0 0 59659 11658 11680 11673 0 0 0 0 0 0 + 6394 3 0 0 0 59648 11659 11676 11664 0 0 0 0 0 0 + 6395 3 0 0 0 59649 11659 11670 11676 0 0 0 0 0 0 + 6396 3 0 0 0 59661 11659 11663 11683 0 0 0 0 0 0 + 6397 3 0 0 0 59663 11659 11683 11674 0 0 0 0 0 0 + 6398 3 0 0 0 59676 11659 11684 11670 0 0 0 0 0 0 + 6399 3 0 0 0 59677 11659 11674 11684 0 0 0 0 0 0 + 6400 3 0 0 0 59660 11660 11674 11680 0 0 0 0 0 0 + 6401 3 0 0 0 59678 11660 11684 11674 0 0 0 0 0 0 + 6402 4 1 0 0 59678 11660 11675 11684 0 0 0 0 0 0 + 6403 3 0 0 0 59631 11661 11673 11679 0 0 0 0 0 0 + 6404 3 0 0 0 59655 11662 11672 11681 0 0 0 0 0 0 + 6405 3 0 0 0 59656 11662 11681 11669 0 0 0 0 0 0 + 6406 3 0 0 0 59634 11663 11679 11683 0 0 0 0 0 0 + 6407 3 0 0 0 59672 11666 11669 11677 0 0 0 0 0 0 + 6408 3 0 0 0 59684 11668 11686 11682 0 0 0 0 0 0 + 6409 3 0 0 0 59679 11669 11681 11677 0 0 0 0 0 0 + 6410 4 1 0 0 59676 11670 11684 11675 0 0 0 0 0 0 + 6411 3 0 0 0 59681 11671 11677 11685 0 0 0 0 0 0 + 6412 3 0 0 0 59685 11672 11686 11681 0 0 0 0 0 0 + 6413 3 0 0 0 59686 11672 11682 11686 0 0 0 0 0 0 + 6414 3 0 0 0 59633 11673 11683 11679 0 0 0 0 0 0 + 6415 3 0 0 0 59662 11673 11680 11683 0 0 0 0 0 0 + 6416 3 0 0 0 59664 11674 11683 11680 0 0 0 0 0 0 + 6417 3 0 0 0 59680 11677 11681 11685 0 0 0 0 0 0 + 6418 3 0 0 0 59682 11681 11686 11685 0 0 0 0 0 0 + grid point coordinates + 1 -0.150000E+01 0.100000E+01 -0.128921E-06 + 2 -0.150000E+01 0.955074E+00 0.104137E+00 + 3 -0.150000E+01 0.100000E+01 0.140000E+00 + 4 -0.143500E+01 0.100000E+01 -0.128921E-06 + 5 -0.141440E+01 0.100000E+01 0.105548E+00 + 6 -0.150000E+01 0.930000E+00 -0.128921E-06 + 7 -0.142006E+01 0.926652E+00 0.751679E-01 + 8 -0.140826E+01 0.100000E+01 0.200623E+00 + 9 -0.137000E+01 0.100000E+01 -0.128921E-06 + 10 -0.150000E+01 0.894884E+00 0.121367E+00 + 11 -0.150000E+01 0.100000E+01 0.260000E+00 + 12 -0.137988E+01 0.956436E+00 -0.128921E-06 + 13 -0.134581E+01 0.100000E+01 0.120177E+00 + 14 -0.145506E+01 0.855848E+00 -0.128921E-06 + 15 -0.139915E+01 0.905594E+00 0.134073E+00 + 16 -0.141852E+01 0.915131E+00 -0.128921E-06 + 17 -0.150000E+01 0.860000E+00 -0.128921E-06 + 18 -0.150000E+01 0.944056E+00 0.239146E+00 + 19 -0.133372E+01 0.954782E+00 0.623540E-01 + 20 -0.142805E+01 0.813457E+00 0.886168E-01 + 21 -0.135339E+01 0.904156E+00 -0.128921E-06 + 22 -0.150000E+01 0.855688E+00 0.262759E+00 + 23 -0.131064E+01 0.937648E+00 0.179932E+00 + 24 -0.137083E+01 0.100000E+01 0.305228E+00 + 25 -0.150000E+01 0.100000E+01 0.380000E+00 + 26 -0.130000E+01 0.100000E+01 -0.128921E-06 + 27 -0.138307E+01 0.858614E+00 0.621888E-01 + 28 -0.150000E+01 0.824301E+00 0.121161E+00 + 29 -0.136367E+01 0.917071E+00 0.245441E+00 + 30 -0.150000E+01 0.919065E+00 0.397460E+00 + 31 -0.141608E+01 0.100000E+01 0.387732E+00 + 32 -0.132346E+01 0.953735E+00 -0.128921E-06 + 33 -0.126884E+01 0.100000E+01 0.124641E+00 + 34 -0.140217E+01 0.858291E+00 0.168429E+00 + 35 -0.131191E+01 0.100000E+01 0.230473E+00 + 36 -0.142897E+01 0.896378E+00 0.317653E+00 + 37 -0.130488E+01 0.909771E+00 0.816058E-01 + 38 -0.123000E+01 0.100000E+01 -0.128921E-06 + 39 -0.138868E+01 0.850938E+00 -0.128921E-06 + 40 -0.150000E+01 0.790000E+00 -0.128921E-06 + 41 -0.132749E+01 0.878673E+00 0.133675E+00 + 42 -0.125904E+01 0.950803E+00 -0.128921E-06 + 43 -0.142445E+01 0.795075E+00 -0.128921E-06 + 44 -0.129018E+01 0.899475E+00 -0.128921E-06 + 45 -0.136229E+01 0.800073E+00 0.123431E+00 + 46 -0.150000E+01 0.754056E+00 0.119845E+00 + 47 -0.132415E+01 0.846513E+00 -0.128921E-06 + 48 -0.143432E+01 0.843937E+00 0.357752E+00 + 49 -0.132033E+01 0.906626E+00 0.300621E+00 + 50 -0.123180E+01 0.910281E+00 0.832304E-01 + 51 -0.123222E+01 0.100000E+01 0.243979E+00 + 52 -0.137638E+01 0.922420E+00 0.392821E+00 + 53 -0.150000E+01 0.100000E+01 0.500000E+00 + 54 -0.150000E+01 0.860000E+00 0.500000E+00 + 55 -0.137000E+01 0.100000E+01 0.500000E+00 + 56 -0.116000E+01 0.100000E+01 -0.128921E-06 + 57 -0.145166E+01 0.744575E+00 -0.128921E-06 + 58 -0.139638E+01 0.814139E+00 0.215476E+00 + 59 -0.140739E+01 0.715983E+00 0.831743E-01 + 60 -0.127533E+01 0.837163E+00 0.637465E-01 + 61 -0.135877E+01 0.793040E+00 -0.128921E-06 + 62 -0.150000E+01 0.773606E+00 0.356717E+00 + 63 -0.123410E+01 0.892036E+00 0.204559E+00 + 64 -0.133055E+01 0.921769E+00 0.358810E+00 + 65 -0.143173E+01 0.916892E+00 0.410091E+00 + 66 -0.134972E+01 0.959283E+00 0.458776E+00 + 67 -0.119476E+01 0.947881E+00 -0.128921E-06 + 68 -0.150000E+01 0.720000E+00 -0.128921E-06 + 69 -0.145221E+01 0.746053E+00 0.513748E-01 + 70 -0.143640E+01 0.723639E+00 0.184217E+00 + 71 -0.131793E+01 0.791136E+00 0.517747E-01 + 72 -0.132889E+01 0.841879E+00 0.185327E+00 + 73 -0.150000E+01 0.840868E+00 0.401460E+00 + 74 -0.125396E+01 0.922941E+00 0.304596E+00 + 75 -0.134257E+01 0.100000E+01 0.405040E+00 + 76 -0.135969E+01 0.825191E+00 0.366853E+00 + 77 -0.143500E+01 0.100000E+01 0.500000E+00 + 78 -0.119655E+01 0.100000E+01 0.125051E+00 + 79 -0.122487E+01 0.864670E+00 0.498502E-01 + 80 -0.139222E+01 0.775845E+00 0.521848E-01 + 81 -0.150000E+01 0.787228E+00 0.223480E+00 + 82 -0.128239E+01 0.840475E+00 0.137256E+00 + 83 -0.132308E+01 0.827182E+00 0.276666E+00 + 84 -0.127824E+01 0.100000E+01 0.366163E+00 + 85 -0.139001E+01 0.870468E+00 0.406746E+00 + 86 -0.145506E+01 0.855848E+00 0.500000E+00 + 87 -0.122757E+01 0.895380E+00 -0.128921E-06 + 88 -0.140660E+01 0.798129E+00 0.280282E+00 + 89 -0.150000E+01 0.930000E+00 0.500000E+00 + 90 -0.138393E+01 0.925240E+00 0.451070E+00 + 91 -0.122796E+01 0.846637E+00 0.100553E+00 + 92 -0.126130E+01 0.842468E+00 -0.128921E-06 + 93 -0.139343E+01 0.739420E+00 -0.128921E-06 + 94 -0.134610E+01 0.739940E+00 0.111485E+00 + 95 -0.143576E+01 0.684493E+00 -0.128921E-06 + 96 -0.142445E+01 0.625899E+00 0.138758E+00 + 97 -0.150000E+01 0.722273E+00 0.242766E+00 + 98 -0.126529E+01 0.770353E+00 0.499423E-01 + 99 -0.125446E+01 0.795643E+00 0.203979E+00 + 100 -0.143105E+01 0.761607E+00 0.352711E+00 + 101 -0.142273E+01 0.833953E+00 0.445745E+00 + 102 -0.150000E+01 0.720000E+00 0.500000E+00 + 103 -0.118186E+01 0.826641E+00 0.134798E+00 + 104 -0.126752E+01 0.865043E+00 0.359344E+00 + 105 -0.117203E+01 0.863369E+00 0.260677E+00 + 106 -0.116052E+01 0.100000E+01 0.247040E+00 + 107 -0.129660E+01 0.723770E+00 0.309876E+00 + 108 -0.129812E+01 0.951073E+00 0.449384E+00 + 109 -0.132776E+01 0.773438E+00 0.448944E+00 + 110 -0.137988E+01 0.956435E+00 0.500000E+00 + 111 -0.112933E+01 0.945927E+00 0.453228E-01 + 112 -0.120014E+01 0.838325E+00 -0.128921E-06 + 113 -0.135446E+01 0.771451E+00 0.210328E+00 + 114 -0.128867E+01 0.788857E+00 0.105106E+00 + 115 -0.136210E+01 0.720308E+00 0.514277E-01 + 116 -0.150000E+01 0.673895E+00 0.129678E+00 + 117 -0.129532E+01 0.789918E+00 -0.128921E-06 + 118 -0.139893E+01 0.806662E+00 0.404143E+00 + 119 -0.150000E+01 0.790000E+00 0.500000E+00 + 120 -0.150000E+01 0.691521E+00 0.370073E+00 + 121 -0.122345E+01 0.840299E+00 0.229417E+00 + 122 -0.116087E+01 0.910899E+00 0.832420E-01 + 123 -0.119287E+01 0.946451E+00 0.293720E+00 + 124 -0.126771E+01 0.781168E+00 0.371585E+00 + 125 -0.125788E+01 0.889339E+00 0.436157E+00 + 126 -0.130000E+01 0.100000E+01 0.500000E+00 + 127 -0.141853E+01 0.915130E+00 0.500000E+00 + 128 -0.113173E+01 0.944914E+00 -0.128921E-06 + 129 -0.130109E+01 0.760080E+00 0.163094E+00 + 130 -0.141759E+01 0.644992E+00 0.740630E-01 + 131 -0.140983E+01 0.689063E+00 0.243420E+00 + 132 -0.122946E+01 0.810783E+00 0.616772E-01 + 133 -0.132918E+01 0.737362E+00 -0.128921E-06 + 134 -0.141003E+01 0.776400E+00 0.449647E+00 + 135 -0.116104E+01 0.912296E+00 0.165589E+00 + 136 -0.120216E+01 0.890835E+00 0.308563E+00 + 137 -0.119611E+01 0.100000E+01 0.372989E+00 + 138 -0.124475E+01 0.774066E+00 0.260516E+00 + 139 -0.133690E+01 0.867959E+00 0.448718E+00 + 140 -0.134666E+01 0.720908E+00 0.373684E+00 + 141 -0.132346E+01 0.953734E+00 0.500000E+00 + 142 -0.116661E+01 0.891313E+00 -0.128921E-06 + 143 -0.109000E+01 0.100000E+01 -0.128921E-06 + 144 -0.133484E+01 0.668077E+00 0.898937E-01 + 145 -0.150000E+01 0.650000E+00 -0.128921E-06 + 146 -0.150000E+01 0.592722E+00 0.194086E+00 + 147 -0.144793E+01 0.700182E+00 0.447541E+00 + 148 -0.143197E+01 0.718583E+00 0.301225E+00 + 149 -0.122781E+01 0.781960E+00 0.158176E+00 + 150 -0.122619E+01 0.914529E+00 0.389817E+00 + 151 -0.122929E+01 0.812941E+00 0.293716E+00 + 152 -0.131544E+01 0.739278E+00 0.255603E+00 + 153 -0.123000E+01 0.100000E+01 0.500000E+00 + 154 -0.126531E+01 0.812386E+00 0.424482E+00 + 155 -0.142446E+01 0.795074E+00 0.500000E+00 + 156 -0.135339E+01 0.904155E+00 0.500000E+00 + 157 -0.112605E+01 0.100000E+01 0.124675E+00 + 158 -0.118582E+01 0.834759E+00 0.717803E-01 + 159 -0.123366E+01 0.786285E+00 -0.128921E-06 + 160 -0.136940E+01 0.709276E+00 0.173598E+00 + 161 -0.130639E+01 0.711626E+00 0.621121E-01 + 162 -0.135850E+01 0.765971E+00 0.298094E+00 + 163 -0.116349E+01 0.861472E+00 0.190828E+00 + 164 -0.122713E+01 0.931352E+00 0.448704E+00 + 165 -0.138868E+01 0.850937E+00 0.500000E+00 + 166 -0.114951E+01 0.831823E+00 0.432679E-01 + 167 -0.119539E+01 0.769436E+00 0.992756E-01 + 168 -0.136368E+01 0.684141E+00 -0.128921E-06 + 169 -0.128774E+01 0.708151E+00 0.149574E+00 + 170 -0.123082E+01 0.749280E+00 0.685403E-01 + 171 -0.145369E+01 0.624698E+00 -0.128921E-06 + 172 -0.138208E+01 0.606552E+00 0.665329E-01 + 173 -0.142819E+01 0.522223E+00 0.141066E+00 + 174 -0.138492E+01 0.632086E+00 0.246398E+00 + 175 -0.150000E+01 0.550526E+00 0.343131E+00 + 176 -0.129991E+01 0.683230E+00 -0.128921E-06 + 177 -0.121081E+01 0.719365E+00 0.247699E+00 + 178 -0.142174E+01 0.661389E+00 0.362183E+00 + 179 -0.135878E+01 0.793038E+00 0.500000E+00 + 180 -0.145166E+01 0.744574E+00 0.500000E+00 + 181 -0.145369E+01 0.624697E+00 0.500000E+00 + 182 -0.116139E+01 0.766074E+00 0.159128E+00 + 183 -0.113482E+01 0.864697E+00 0.943940E-01 + 184 -0.121024E+01 0.859094E+00 0.449968E+00 + 185 -0.107527E+01 0.938745E+00 0.580564E-01 + 186 -0.112126E+01 0.885160E+00 0.220203E+00 + 187 -0.111709E+01 0.867795E+00 0.357795E+00 + 188 -0.112517E+01 0.100000E+01 0.374611E+00 + 189 -0.122983E+01 0.740975E+00 0.385250E+00 + 190 -0.131212E+01 0.670182E+00 0.316858E+00 + 191 -0.129018E+01 0.899472E+00 0.500000E+00 + 192 -0.119476E+01 0.947878E+00 0.500000E+00 + 193 -0.132168E+01 0.680955E+00 0.446761E+00 + 194 -0.114080E+01 0.834137E+00 -0.128921E-06 + 195 -0.108813E+01 0.758892E+00 0.474122E-01 + 196 -0.102000E+01 0.100000E+01 -0.128921E-06 + 197 -0.124553E+01 0.722788E+00 0.129750E+00 + 198 -0.139661E+01 0.629797E+00 -0.128921E-06 + 199 -0.150000E+01 0.611080E+00 0.925112E-01 + 200 -0.133661E+01 0.572577E+00 0.144882E+00 + 201 -0.130028E+01 0.640309E+00 0.604471E-01 + 202 -0.150000E+01 0.645244E+00 0.270106E+00 + 203 -0.137134E+01 0.696956E+00 0.312245E+00 + 204 -0.150000E+01 0.508216E+00 0.205575E+00 + 205 -0.126689E+01 0.734856E+00 -0.128921E-06 + 206 -0.117372E+01 0.782331E+00 -0.128921E-06 + 207 -0.119142E+01 0.796543E+00 0.244207E+00 + 208 -0.140033E+01 0.728376E+00 0.408930E+00 + 209 -0.139343E+01 0.739418E+00 0.500000E+00 + 210 -0.139786E+01 0.627666E+00 0.439493E+00 + 211 -0.150000E+01 0.650000E+00 0.500000E+00 + 212 -0.112990E+01 0.793773E+00 0.104501E+00 + 213 -0.117871E+01 0.825537E+00 0.375400E+00 + 214 -0.110743E+01 0.887152E+00 -0.128921E-06 + 215 -0.108888E+01 0.908422E+00 0.151053E+00 + 216 -0.113682E+01 0.913402E+00 0.297617E+00 + 217 -0.116000E+01 0.100000E+01 0.500000E+00 + 218 -0.126828E+01 0.736638E+00 0.455712E+00 + 219 -0.127486E+01 0.655010E+00 0.245823E+00 + 220 -0.124883E+01 0.650091E+00 0.362961E+00 + 221 -0.132416E+01 0.846511E+00 0.500000E+00 + 222 -0.125904E+01 0.950801E+00 0.500000E+00 + 223 -0.116661E+01 0.891309E+00 0.500000E+00 + 224 -0.103735E+01 0.956674E+00 0.539974E-01 + 225 -0.126963E+01 0.692048E+00 0.207488E+00 + 226 -0.143603E+01 0.554971E+00 0.477323E-01 + 227 -0.128077E+01 0.675305E+00 0.107762E+00 + 228 -0.140025E+01 0.579989E+00 0.226933E+00 + 229 -0.133237E+01 0.657875E+00 0.253823E+00 + 230 -0.115417E+01 0.778819E+00 0.468740E-01 + 231 -0.123877E+01 0.681391E+00 -0.128921E-06 + 232 -0.139763E+01 0.702682E+00 0.444866E+00 + 233 -0.150000E+01 0.624690E+00 0.388140E+00 + 234 -0.111613E+01 0.837265E+00 0.157716E+00 + 235 -0.109067E+01 0.100000E+01 0.248228E+00 + 236 -0.117489E+01 0.832105E+00 0.311394E+00 + 237 -0.114333E+01 0.919272E+00 0.356769E+00 + 238 -0.119857E+01 0.764303E+00 0.431214E+00 + 239 -0.129189E+01 0.697668E+00 0.381605E+00 + 240 -0.123284E+01 0.659657E+00 0.283007E+00 + 241 -0.126131E+01 0.842465E+00 0.500000E+00 + 242 -0.107085E+01 0.941051E+00 -0.128921E-06 + 243 -0.108316E+01 0.829904E+00 -0.128921E-06 + 244 -0.133292E+01 0.630903E+00 -0.128921E-06 + 245 -0.142967E+01 0.575599E+00 -0.128921E-06 + 246 -0.134700E+01 0.661740E+00 0.195070E+00 + 247 -0.150000E+01 0.547516E+00 0.104634E+00 + 248 -0.143487E+01 0.628430E+00 0.311907E+00 + 249 -0.122751E+01 0.663284E+00 0.467279E-01 + 250 -0.143577E+01 0.684491E+00 0.500000E+00 + 251 -0.120001E+01 0.727077E+00 0.159814E+00 + 252 -0.108102E+01 0.863339E+00 0.634167E-01 + 253 -0.112106E+01 0.810313E+00 0.239208E+00 + 254 -0.115012E+01 0.926717E+00 0.411152E+00 + 255 -0.120081E+01 0.726837E+00 0.337815E+00 + 256 -0.122758E+01 0.895377E+00 0.500000E+00 + 257 -0.123366E+01 0.786282E+00 0.500000E+00 + 258 -0.132919E+01 0.737360E+00 0.500000E+00 + 259 -0.134054E+01 0.640799E+00 0.389404E+00 + 260 -0.105582E+01 0.100000E+01 0.124258E+00 + 261 -0.111537E+01 0.778307E+00 -0.128921E-06 + 262 -0.120644E+01 0.731636E+00 -0.128921E-06 + 263 -0.129391E+01 0.612330E+00 0.112043E+00 + 264 -0.140968E+01 0.541011E+00 0.940574E-01 + 265 -0.150000E+01 0.580000E+00 -0.128921E-06 + 266 -0.109378E+01 0.858145E+00 0.282266E+00 + 267 -0.129533E+01 0.789916E+00 0.500000E+00 + 268 -0.135052E+01 0.630172E+00 0.340158E+00 + 269 -0.117781E+01 0.712744E+00 0.478752E-01 + 270 -0.115080E+01 0.785789E+00 0.277723E+00 + 271 -0.121165E+01 0.705735E+00 0.953329E-01 + 272 -0.115865E+01 0.725644E+00 0.945337E-01 + 273 -0.124566E+01 0.640020E+00 0.183476E+00 + 274 -0.117867E+01 0.692039E+00 0.196675E+00 + 275 -0.136586E+01 0.577729E+00 -0.128921E-06 + 276 -0.138260E+01 0.492501E+00 0.613738E-01 + 277 -0.150000E+01 0.510000E+00 -0.128921E-06 + 278 -0.135188E+01 0.489321E+00 0.205475E+00 + 279 -0.126609E+01 0.540225E+00 0.131838E+00 + 280 -0.123749E+01 0.599063E+00 0.457883E-01 + 281 -0.130764E+01 0.606224E+00 0.283249E+00 + 282 -0.140714E+01 0.578388E+00 0.336929E+00 + 283 -0.150000E+01 0.400866E+00 0.180856E+00 + 284 -0.150000E+01 0.473560E+00 0.395925E+00 + 285 -0.114754E+01 0.727988E+00 -0.128921E-06 + 286 -0.112119E+01 0.748849E+00 0.102640E+00 + 287 -0.116485E+01 0.678843E+00 0.727638E-01 + 288 -0.136369E+01 0.684138E+00 0.500000E+00 + 289 -0.142968E+01 0.575597E+00 0.500000E+00 + 290 -0.107331E+01 0.807278E+00 0.173295E+00 + 291 -0.114080E+01 0.834133E+00 0.500000E+00 + 292 -0.112302E+01 0.764868E+00 0.323905E+00 + 293 -0.102517E+01 0.861991E+00 0.474533E-01 + 294 -0.102119E+01 0.928972E+00 -0.128921E-06 + 295 -0.105574E+01 0.911466E+00 0.207022E+00 + 296 -0.109037E+01 0.910167E+00 0.332672E+00 + 297 -0.103513E+01 0.833006E+00 0.382803E+00 + 298 -0.111161E+01 0.951115E+00 0.449467E+00 + 299 -0.115909E+01 0.641074E+00 0.330096E+00 + 300 -0.120645E+01 0.731633E+00 0.500000E+00 + 301 -0.124172E+01 0.675154E+00 0.413918E+00 + 302 -0.124958E+01 0.570686E+00 0.389216E+00 + 303 -0.985609E+00 0.100000E+01 0.123796E+00 + 304 -0.103708E+01 0.686518E+00 0.458286E-01 + 305 -0.105878E+01 0.774236E+00 -0.128921E-06 + 306 -0.120831E+01 0.662293E+00 0.156856E+00 + 307 -0.146056E+01 0.516436E+00 -0.128921E-06 + 308 -0.136664E+01 0.542503E+00 0.502415E-01 + 309 -0.133231E+01 0.576713E+00 0.236088E+00 + 310 -0.123776E+01 0.563011E+00 0.171320E+00 + 311 -0.125716E+01 0.551077E+00 0.791937E-01 + 312 -0.127103E+01 0.630703E+00 -0.128921E-06 + 313 -0.150000E+01 0.471200E+00 0.101472E+00 + 314 -0.133742E+01 0.466910E+00 0.142637E+00 + 315 -0.140765E+01 0.481890E+00 0.237267E+00 + 316 -0.142944E+01 0.552684E+00 0.439896E+00 + 317 -0.111982E+01 0.709129E+00 0.470490E-01 + 318 -0.118246E+01 0.611690E+00 0.467714E-01 + 319 -0.114257E+01 0.716538E+00 0.227679E+00 + 320 -0.139662E+01 0.629794E+00 0.500000E+00 + 321 -0.105195E+01 0.780758E+00 0.115390E+00 + 322 -0.120015E+01 0.838322E+00 0.500000E+00 + 323 -0.113134E+01 0.870179E+00 0.433158E+00 + 324 -0.116283E+01 0.731435E+00 0.388728E+00 + 325 -0.105093E+01 0.882151E+00 -0.128921E-06 + 326 -0.102602E+01 0.927698E+00 0.136424E+00 + 327 -0.105555E+01 0.910099E+00 0.290662E+00 + 328 -0.106358E+01 0.805785E+00 0.285733E+00 + 329 -0.105075E+01 0.886420E+00 0.418168E+00 + 330 -0.109000E+01 0.100000E+01 0.500000E+00 + 331 -0.126690E+01 0.734853E+00 0.500000E+00 + 332 -0.125570E+01 0.663456E+00 0.452325E+00 + 333 -0.126705E+01 0.586589E+00 0.315546E+00 + 334 -0.118536E+01 0.607108E+00 0.392895E+00 + 335 -0.116713E+01 0.616358E+00 0.245149E+00 + 336 -0.135981E+01 0.576142E+00 0.380851E+00 + 337 -0.950000E+00 0.100000E+01 -0.128921E-06 + 338 -0.119306E+01 0.642713E+00 0.212979E+00 + 339 -0.144911E+01 0.469600E+00 0.751322E-01 + 340 -0.139850E+01 0.523046E+00 -0.128921E-06 + 341 -0.131828E+01 0.586316E+00 0.472618E-01 + 342 -0.124333E+01 0.631544E+00 0.108896E+00 + 343 -0.127053E+01 0.595308E+00 0.198079E+00 + 344 -0.143269E+01 0.469240E+00 0.187427E+00 + 345 -0.138453E+01 0.547700E+00 0.291669E+00 + 346 -0.150000E+01 0.580000E+00 0.500000E+00 + 347 -0.117945E+01 0.678608E+00 -0.128921E-06 + 348 -0.140096E+01 0.585072E+00 0.410424E+00 + 349 -0.112997E+01 0.691124E+00 0.149572E+00 + 350 -0.104159E+01 0.861384E+00 0.158743E+00 + 351 -0.115500E+01 0.783510E+00 0.452589E+00 + 352 -0.996887E+00 0.914144E+00 0.453008E-01 + 353 -0.103527E+01 0.805817E+00 0.473140E-01 + 354 -0.102073E+01 0.100000E+01 0.248581E+00 + 355 -0.104665E+01 0.763923E+00 0.228589E+00 + 356 -0.109660E+01 0.910246E+00 0.389537E+00 + 357 -0.102453E+01 0.851807E+00 0.315203E+00 + 358 -0.113025E+01 0.693273E+00 0.285604E+00 + 359 -0.113173E+01 0.944912E+00 0.500000E+00 + 360 -0.120709E+01 0.666974E+00 0.385261E+00 + 361 -0.129991E+01 0.683227E+00 0.500000E+00 + 362 -0.126791E+01 0.637164E+00 0.420426E+00 + 363 -0.120019E+01 0.586203E+00 0.275599E+00 + 364 -0.109024E+01 0.724135E+00 -0.128921E-06 + 365 -0.134438E+01 0.531781E+00 0.112073E+00 + 366 -0.141310E+01 0.412249E+00 0.946036E-01 + 367 -0.150000E+01 0.451224E+00 0.291453E+00 + 368 -0.121103E+01 0.629325E+00 -0.128921E-06 + 369 -0.119569E+01 0.630468E+00 0.101581E+00 + 370 -0.118836E+01 0.688440E+00 0.277798E+00 + 371 -0.133048E+01 0.631393E+00 0.450460E+00 + 372 -0.109431E+01 0.748669E+00 0.162110E+00 + 373 -0.112239E+01 0.800602E+00 0.379447E+00 + 374 -0.984505E+00 0.845791E+00 0.108536E+00 + 375 -0.105206E+01 0.838282E+00 0.238194E+00 + 376 -0.105526E+01 0.100000E+01 0.375177E+00 + 377 -0.107924E+01 0.757829E+00 0.266860E+00 + 378 -0.112297E+01 0.697311E+00 0.368852E+00 + 379 -0.117372E+01 0.782328E+00 0.500000E+00 + 380 -0.123878E+01 0.681388E+00 0.500000E+00 + 381 -0.123948E+01 0.569331E+00 0.226425E+00 + 382 -0.128535E+01 0.587548E+00 0.364037E+00 + 383 -0.123397E+01 0.618829E+00 0.434872E+00 + 384 -0.119206E+01 0.596483E+00 0.339656E+00 + 385 -0.110744E+01 0.887148E+00 0.500000E+00 + 386 -0.103571E+01 0.743002E+00 0.442334E-01 + 387 -0.102747E+01 0.825677E+00 -0.128921E-06 + 388 -0.111509E+01 0.675598E+00 0.898271E-01 + 389 -0.972364E+00 0.935315E+00 -0.128921E-06 + 390 -0.130330E+01 0.579184E+00 -0.128921E-06 + 391 -0.129921E+01 0.516913E+00 0.178785E+00 + 392 -0.140690E+01 0.512116E+00 0.339921E+00 + 393 -0.136587E+01 0.577726E+00 0.500000E+00 + 394 -0.115934E+01 0.655455E+00 0.124863E+00 + 395 -0.105032E+01 0.781896E+00 0.346542E+00 + 396 -0.109586E+01 0.862933E+00 0.456039E+00 + 397 -0.103229E+01 0.913077E+00 0.355989E+00 + 398 -0.117782E+01 0.712740E+00 0.452125E+00 + 399 -0.108099E+01 0.717284E+00 0.109763E+00 + 400 -0.130976E+01 0.578814E+00 0.438882E+00 + 401 -0.134934E+01 0.555826E+00 0.328444E+00 + 402 -0.119880E+01 0.593665E+00 0.168432E+00 + 403 -0.111257E+01 0.675383E+00 0.241810E+00 + 404 -0.133554E+01 0.526733E+00 -0.128921E-06 + 405 -0.143083E+01 0.465211E+00 -0.128921E-06 + 406 -0.131605E+01 0.459371E+00 0.998102E-01 + 407 -0.150000E+01 0.405368E+00 0.829021E-01 + 408 -0.133769E+01 0.414722E+00 0.214186E+00 + 409 -0.128955E+01 0.511652E+00 0.271751E+00 + 410 -0.127234E+01 0.474426E+00 0.177572E+00 + 411 -0.121967E+01 0.537204E+00 0.112646E+00 + 412 -0.124253E+01 0.579445E+00 -0.128921E-06 + 413 -0.140601E+01 0.453315E+00 0.287129E+00 + 414 -0.141988E+01 0.303432E+00 0.893177E-01 + 415 -0.139151E+01 0.534695E+00 0.413019E+00 + 416 -0.150000E+01 0.352080E+00 0.289009E+00 + 417 -0.139851E+01 0.523042E+00 0.500000E+00 + 418 -0.150000E+01 0.510000E+00 0.500000E+00 + 419 -0.145038E+01 0.401240E+00 0.455206E+00 + 420 -0.112168E+01 0.675265E+00 -0.128921E-06 + 421 -0.107232E+01 0.670498E+00 0.777476E-01 + 422 -0.115028E+01 0.620357E+00 0.742369E-01 + 423 -0.133293E+01 0.630900E+00 0.500000E+00 + 424 -0.103705E+01 0.769791E+00 0.176609E+00 + 425 -0.945471E+00 0.933950E+00 0.176520E+00 + 426 -0.957716E+00 0.823446E+00 0.202918E+00 + 427 -0.108578E+01 0.794145E+00 0.451853E+00 + 428 -0.114755E+01 0.727984E+00 0.500000E+00 + 429 -0.105331E+01 0.719156E+00 0.341769E+00 + 430 -0.114580E+01 0.642314E+00 0.397478E+00 + 431 -0.971566E+00 0.858296E+00 0.474216E-01 + 432 -0.978699E+00 0.750860E+00 0.458822E-01 + 433 -0.923572E+00 0.843349E+00 0.112164E+00 + 434 -0.100811E+01 0.815380E+00 0.256808E+00 + 435 -0.985284E+00 0.100000E+01 0.375322E+00 + 436 -0.966828E+00 0.849701E+00 0.365126E+00 + 437 -0.105094E+01 0.882147E+00 0.500000E+00 + 438 -0.114641E+01 0.580782E+00 0.309762E+00 + 439 -0.121103E+01 0.629321E+00 0.500000E+00 + 440 -0.124459E+01 0.512765E+00 0.452733E+00 + 441 -0.119599E+01 0.564230E+00 0.382424E+00 + 442 -0.116277E+01 0.511058E+00 0.245007E+00 + 443 -0.103474E+01 0.720191E+00 -0.128921E-06 + 444 -0.915027E+00 0.933438E+00 -0.128921E-06 + 445 -0.115909E+01 0.645041E+00 0.182858E+00 + 446 -0.141318E+01 0.437865E+00 0.455122E-01 + 447 -0.130008E+01 0.479787E+00 0.417095E-01 + 448 -0.150000E+01 0.440000E+00 -0.128921E-06 + 449 -0.120873E+01 0.585741E+00 0.972146E-01 + 450 -0.135651E+01 0.447563E+00 0.267273E+00 + 451 -0.135677E+01 0.408621E+00 0.162670E+00 + 452 -0.124724E+01 0.521904E+00 0.191846E+00 + 453 -0.127407E+01 0.528778E+00 -0.128921E-06 + 454 -0.118359E+01 0.578689E+00 -0.128921E-06 + 455 -0.133800E+01 0.354849E+00 0.513240E-01 + 456 -0.150000E+01 0.338699E+00 0.921952E-01 + 457 -0.142506E+01 0.447553E+00 0.346871E+00 + 458 -0.135742E+01 0.514354E+00 0.379430E+00 + 459 -0.146056E+01 0.516435E+00 0.500000E+00 + 460 -0.106551E+01 0.671573E+00 -0.128921E-06 + 461 -0.113308E+01 0.659024E+00 0.465529E-01 + 462 -0.107194E+01 0.683289E+00 0.199457E+00 + 463 -0.113390E+01 0.645793E+00 0.282531E+00 + 464 -0.130331E+01 0.579180E+00 0.500000E+00 + 465 -0.101238E+01 0.807726E+00 0.205711E+00 + 466 -0.100280E+01 0.761988E+00 0.110319E+00 + 467 -0.950255E+00 0.868246E+00 0.154086E+00 + 468 -0.111537E+01 0.778303E+00 0.500000E+00 + 469 -0.111626E+01 0.753734E+00 0.399347E+00 + 470 -0.103720E+01 0.751510E+00 0.310410E+00 + 471 -0.997105E+00 0.878144E+00 -0.128921E-06 + 472 -0.100406E+01 0.770169E+00 -0.128921E-06 + 473 -0.912439E+00 0.804799E+00 0.826955E-01 + 474 -0.985545E+00 0.910024E+00 0.290778E+00 + 475 -0.103735E+01 0.956672E+00 0.446001E+00 + 476 -0.104371E+01 0.857459E+00 0.452217E+00 + 477 -0.950175E+00 0.911139E+00 0.416858E+00 + 478 -0.112676E+01 0.582863E+00 0.389511E+00 + 479 -0.106340E+01 0.675903E+00 0.342826E+00 + 480 -0.119023E+01 0.629445E+00 0.453914E+00 + 481 -0.125167E+01 0.492717E+00 0.338549E+00 + 482 -0.129297E+01 0.515636E+00 0.454922E+00 + 483 -0.115302E+01 0.555343E+00 0.213846E+00 + 484 -0.115562E+01 0.520532E+00 0.299972E+00 + 485 -0.915428E+00 0.100000E+01 0.123353E+00 + 486 -0.988973E+00 0.681651E+00 0.436736E-01 + 487 -0.136769E+01 0.473205E+00 -0.128921E-06 + 488 -0.129515E+01 0.524878E+00 0.492288E-01 + 489 -0.145460E+01 0.413088E+00 -0.128921E-06 + 490 -0.140446E+01 0.429481E+00 0.215686E+00 + 491 -0.128515E+01 0.465246E+00 0.232272E+00 + 492 -0.123093E+01 0.501293E+00 0.136797E+00 + 493 -0.120216E+01 0.553320E+00 0.206892E+00 + 494 -0.120342E+01 0.546077E+00 0.465536E-01 + 495 -0.132142E+01 0.399327E+00 0.922574E-01 + 496 -0.133847E+01 0.489738E+00 0.323574E+00 + 497 -0.150000E+01 0.285827E+00 0.187125E+00 + 498 -0.150000E+01 0.404281E+00 0.386426E+00 + 499 -0.143567E+01 0.488460E+00 0.442147E+00 + 500 -0.106758E+01 0.638744E+00 0.454463E-01 + 501 -0.115278E+01 0.627055E+00 -0.128921E-06 + 502 -0.113182E+01 0.615142E+00 0.134847E+00 + 503 -0.127104E+01 0.630700E+00 0.500000E+00 + 504 -0.133555E+01 0.526729E+00 0.500000E+00 + 505 -0.965425E+00 0.787547E+00 0.163556E+00 + 506 -0.977227E+00 0.859201E+00 0.241241E+00 + 507 -0.108317E+01 0.829900E+00 0.500000E+00 + 508 -0.108132E+01 0.753392E+00 0.438950E+00 + 509 -0.950346E+00 0.911682E+00 0.823830E-01 + 510 -0.973605E+00 0.821595E+00 -0.128921E-06 + 511 -0.950624E+00 0.100000E+01 0.248432E+00 + 512 -0.102000E+01 0.100000E+01 0.500000E+00 + 513 -0.101940E+01 0.704805E+00 0.230737E+00 + 514 -0.108806E+01 0.667520E+00 0.286746E+00 + 515 -0.977800E+00 0.786939E+00 0.303655E+00 + 516 -0.984946E+00 0.845820E+00 0.435249E+00 + 517 -0.107841E+01 0.639197E+00 0.398043E+00 + 518 -0.117946E+01 0.678604E+00 0.500000E+00 + 519 -0.119037E+01 0.551594E+00 0.333530E+00 + 520 -0.119333E+01 0.552679E+00 0.442414E+00 + 521 -0.129475E+01 0.500230E+00 0.405773E+00 + 522 -0.113241E+01 0.578930E+00 0.241585E+00 + 523 -0.101098E+01 0.667790E+00 -0.128921E-06 + 524 -0.101828E+01 0.677827E+00 0.882643E-01 + 525 -0.880000E+00 0.100000E+01 -0.128921E-06 + 526 -0.134549E+01 0.438491E+00 0.551461E-01 + 527 -0.127282E+01 0.469228E+00 0.118850E+00 + 528 -0.119386E+01 0.551217E+00 0.158604E+00 + 529 -0.143306E+01 0.378699E+00 0.140891E+00 + 530 -0.139831E+01 0.402419E+00 0.312612E+00 + 531 -0.135443E+01 0.525183E+00 0.444768E+00 + 532 -0.150000E+01 0.440000E+00 0.500000E+00 + 533 -0.144665E+01 0.420343E+00 0.405171E+00 + 534 -0.114277E+01 0.563758E+00 0.406068E-01 + 535 -0.110064E+01 0.643394E+00 0.197904E+00 + 536 -0.109598E+01 0.638472E+00 0.951079E-01 + 537 -0.112953E+01 0.688426E+00 0.443921E+00 + 538 -0.106413E+01 0.792640E+00 0.405881E+00 + 539 -0.943989E+00 0.875149E+00 -0.128921E-06 + 540 -0.958663E+00 0.791498E+00 0.476639E-01 + 541 -0.989590E+00 0.754858E+00 0.190064E+00 + 542 -0.104346E+01 0.680833E+00 0.287109E+00 + 543 -0.939468E+00 0.813582E+00 0.284982E+00 + 544 -0.107085E+01 0.941049E+00 0.500000E+00 + 545 -0.996893E+00 0.914140E+00 0.454699E+00 + 546 -0.951805E+00 0.937697E+00 0.359143E+00 + 547 -0.109736E+01 0.617467E+00 0.339908E+00 + 548 -0.124144E+01 0.517049E+00 0.255864E+00 + 549 -0.131426E+01 0.530856E+00 0.352470E+00 + 550 -0.122974E+01 0.577097E+00 0.452071E+00 + 551 -0.120397E+01 0.511949E+00 0.400578E+00 + 552 -0.115427E+01 0.594237E+00 0.453797E+00 + 553 -0.102112E+01 0.649117E+00 0.439328E-01 + 554 -0.980966E+00 0.716267E+00 -0.128921E-06 + 555 -0.974288E+00 0.704730E+00 0.943573E-01 + 556 -0.143233E+01 0.389400E+00 0.465237E-01 + 557 -0.130610E+01 0.435195E+00 0.159025E+00 + 558 -0.123873E+01 0.494066E+00 0.705077E-01 + 559 -0.135595E+01 0.359476E+00 0.132917E+00 + 560 -0.143251E+01 0.359134E+00 0.243073E+00 + 561 -0.136580E+01 0.453742E+00 0.375837E+00 + 562 -0.116360E+01 0.538737E+00 0.975350E-01 + 563 -0.106918E+01 0.658760E+00 0.133142E+00 + 564 -0.956631E+00 0.761559E+00 0.976682E-01 + 565 -0.927431E+00 0.840309E+00 0.487230E-01 + 566 -0.100124E+01 0.759989E+00 0.265592E+00 + 567 -0.100366E+01 0.767288E+00 0.393948E+00 + 568 -0.121057E+01 0.505116E+00 0.298444E+00 + 569 -0.112463E+01 0.606339E+00 0.187864E+00 + 570 -0.127408E+01 0.528774E+00 0.500000E+00 + 571 -0.103011E+01 0.790023E+00 0.452659E+00 + 572 -0.107196E+01 0.712974E+00 0.418872E+00 + 573 -0.100045E+01 0.684001E+00 0.161457E+00 + 574 -0.103639E+01 0.657970E+00 0.235452E+00 + 575 -0.130561E+01 0.477233E+00 -0.128921E-06 + 576 -0.139903E+01 0.419808E+00 -0.128921E-06 + 577 -0.125246E+01 0.432365E+00 0.461000E-01 + 578 -0.130707E+01 0.376099E+00 -0.128921E-06 + 579 -0.150000E+01 0.370000E+00 -0.128921E-06 + 580 -0.140056E+01 0.313697E+00 -0.128921E-06 + 581 -0.124487E+01 0.430745E+00 0.165184E+00 + 582 -0.134132E+01 0.349169E+00 0.284553E+00 + 583 -0.133945E+01 0.342332E+00 0.191128E+00 + 584 -0.127283E+01 0.449808E+00 0.284201E+00 + 585 -0.117572E+01 0.493825E+00 0.982950E-01 + 586 -0.118669E+01 0.481267E+00 -0.128921E-06 + 587 -0.116286E+01 0.506457E+00 0.179955E+00 + 588 -0.112642E+01 0.576979E+00 -0.128921E-06 + 589 -0.142263E+01 0.257554E+00 0.121149E+00 + 590 -0.130275E+01 0.299441E+00 0.518899E-01 + 591 -0.131587E+01 0.472849E+00 0.378841E+00 + 592 -0.141754E+01 0.285030E+00 0.277223E+00 + 593 -0.150000E+01 0.337054E+00 0.397963E+00 + 594 -0.141217E+01 0.438131E+00 0.452883E+00 + 595 -0.145460E+01 0.413085E+00 0.500000E+00 + 596 -0.104105E+01 0.620604E+00 -0.128921E-06 + 597 -0.105092E+01 0.609702E+00 0.104357E+00 + 598 -0.111906E+01 0.567567E+00 0.961361E-01 + 599 -0.109950E+01 0.572684E+00 0.284257E+00 + 600 -0.124253E+01 0.579441E+00 0.500000E+00 + 601 -0.130562E+01 0.477229E+00 0.500000E+00 + 602 -0.959751E+00 0.781308E+00 0.231984E+00 + 603 -0.952818E+00 0.717411E+00 0.143539E+00 + 604 -0.901057E+00 0.940457E+00 0.222061E+00 + 605 -0.896757E+00 0.832786E+00 0.180430E+00 + 606 -0.105879E+01 0.774232E+00 0.500000E+00 + 607 -0.112169E+01 0.675261E+00 0.500000E+00 + 608 -0.104736E+01 0.668180E+00 0.456168E+00 + 609 -0.964055E+00 0.707996E+00 0.355819E+00 + 610 -0.880238E+00 0.911907E+00 0.821126E-01 + 611 -0.891512E+00 0.871300E+00 -0.128921E-06 + 612 -0.951070E+00 0.766145E+00 -0.128921E-06 + 613 -0.948459E+00 0.685399E+00 0.456119E-01 + 614 -0.849060E+00 0.781674E+00 0.442482E-01 + 615 -0.915242E+00 0.100000E+01 0.375253E+00 + 616 -0.972369E+00 0.935312E+00 0.500000E+00 + 617 -0.925912E+00 0.814497E+00 0.341201E+00 + 618 -0.899006E+00 0.730842E+00 0.284288E+00 + 619 -0.966536E+00 0.796325E+00 0.454014E+00 + 620 -0.115522E+01 0.524589E+00 0.395997E+00 + 621 -0.103962E+01 0.573240E+00 0.376128E+00 + 622 -0.119403E+01 0.455395E+00 0.340322E+00 + 623 -0.115349E+01 0.454755E+00 0.248893E+00 + 624 -0.120937E+01 0.479783E+00 0.452631E+00 + 625 -0.115656E+01 0.529502E+00 0.500000E+00 + 626 -0.110034E+01 0.571058E+00 0.191593E+00 + 627 -0.957107E+00 0.609134E+00 0.156416E+00 + 628 -0.810000E+00 0.100000E+01 -0.128921E-06 + 629 -0.106825E+01 0.617211E+00 0.238523E+00 + 630 -0.133711E+01 0.424793E+00 -0.128921E-06 + 631 -0.126895E+01 0.397560E+00 0.110467E+00 + 632 -0.124527E+01 0.479844E+00 -0.128921E-06 + 633 -0.143115E+01 0.368735E+00 -0.128921E-06 + 634 -0.138054E+01 0.325893E+00 0.252279E+00 + 635 -0.127294E+01 0.402766E+00 0.270676E+00 + 636 -0.122135E+01 0.486078E+00 0.206687E+00 + 637 -0.115769E+01 0.497434E+00 0.455348E-01 + 638 -0.111432E+01 0.532715E+00 0.161776E+00 + 639 -0.143222E+01 0.238945E+00 0.587742E-01 + 640 -0.133243E+01 0.288143E+00 0.108195E+00 + 641 -0.133819E+01 0.317382E+00 -0.128921E-06 + 642 -0.134507E+01 0.478060E+00 0.452179E+00 + 643 -0.150000E+01 0.300000E+00 -0.128921E-06 + 644 -0.150000E+01 0.267592E+00 0.353618E+00 + 645 -0.144136E+01 0.190396E+00 0.169497E+00 + 646 -0.137061E+01 0.351624E+00 0.381503E+00 + 647 -0.150000E+01 0.370000E+00 0.500000E+00 + 648 -0.143084E+01 0.465208E+00 0.500000E+00 + 649 -0.109617E+01 0.624056E+00 -0.128921E-06 + 650 -0.104296E+01 0.588704E+00 0.443281E-01 + 651 -0.996577E+00 0.611611E+00 0.125104E+00 + 652 -0.900886E+00 0.765835E+00 0.186200E+00 + 653 -0.923324E+00 0.850234E+00 0.220732E+00 + 654 -0.875809E+00 0.849505E+00 0.120146E+00 + 655 -0.109025E+01 0.724131E+00 0.500000E+00 + 656 -0.102748E+01 0.825672E+00 0.500000E+00 + 657 -0.101888E+01 0.722495E+00 0.455554E+00 + 658 -0.112355E+01 0.642121E+00 0.453758E+00 + 659 -0.994427E+00 0.703805E+00 0.279605E+00 + 660 -0.878586E+00 0.878005E+00 0.446762E-01 + 661 -0.921334E+00 0.817563E+00 -0.128921E-06 + 662 -0.926591E+00 0.746897E+00 0.451594E-01 + 663 -0.880474E+00 0.100000E+01 0.248086E+00 + 664 -0.950000E+00 0.100000E+01 0.500000E+00 + 665 -0.102120E+01 0.928968E+00 0.500000E+00 + 666 -0.937929E+00 0.756701E+00 0.320353E+00 + 667 -0.862411E+00 0.866757E+00 0.368647E+00 + 668 -0.943996E+00 0.875145E+00 0.500000E+00 + 669 -0.107684E+01 0.546147E+00 0.326063E+00 + 670 -0.112598E+01 0.550486E+00 0.447675E+00 + 671 -0.103559E+01 0.614782E+00 0.361530E+00 + 672 -0.118359E+01 0.578685E+00 0.500000E+00 + 673 -0.124358E+01 0.451532E+00 0.398626E+00 + 674 -0.118129E+01 0.498432E+00 0.342925E+00 + 675 -0.124528E+01 0.479840E+00 0.500000E+00 + 676 -0.114118E+01 0.456653E+00 0.203234E+00 + 677 -0.958172E+00 0.664008E+00 -0.128921E-06 + 678 -0.938016E+00 0.658996E+00 0.196016E+00 + 679 -0.126831E+01 0.374691E+00 0.501216E-01 + 680 -0.136873E+01 0.371067E+00 -0.128921E-06 + 681 -0.145611E+01 0.319953E+00 -0.128921E-06 + 682 -0.121930E+01 0.442634E+00 0.107083E+00 + 683 -0.132540E+01 0.334882E+00 0.239456E+00 + 684 -0.124896E+01 0.409898E+00 0.221499E+00 + 685 -0.132378E+01 0.394173E+00 0.339376E+00 + 686 -0.119083E+01 0.511738E+00 0.137146E+00 + 687 -0.121441E+01 0.529686E+00 -0.128921E-06 + 688 -0.140260E+01 0.306693E+00 0.154220E+00 + 689 -0.136937E+01 0.294450E+00 0.549622E-01 + 690 -0.142205E+01 0.364471E+00 0.357800E+00 + 691 -0.150000E+01 0.200935E+00 0.224778E+00 + 692 -0.136769E+01 0.473201E+00 0.500000E+00 + 693 -0.145611E+01 0.319950E+00 0.500000E+00 + 694 -0.109702E+01 0.591046E+00 0.442658E-01 + 695 -0.111870E+01 0.476391E+00 0.827279E-01 + 696 -0.109117E+01 0.597142E+00 0.156140E+00 + 697 -0.906290E+00 0.804701E+00 0.140545E+00 + 698 -0.880397E+00 0.910999E+00 0.164808E+00 + 699 -0.905814E+00 0.800291E+00 0.226040E+00 + 700 -0.926408E+00 0.894998E+00 0.298917E+00 + 701 -0.103474E+01 0.720187E+00 0.500000E+00 + 702 -0.101785E+01 0.679766E+00 0.400165E+00 + 703 -0.897301E+00 0.797743E+00 0.456644E-01 + 704 -0.928324E+00 0.694641E+00 0.935023E-01 + 705 -0.977905E+00 0.690784E+00 0.235959E+00 + 706 -0.104548E+01 0.626814E+00 0.301397E+00 + 707 -0.958525E+00 0.764163E+00 0.384351E+00 + 708 -0.997111E+00 0.878140E+00 0.500000E+00 + 709 -0.915032E+00 0.933436E+00 0.500000E+00 + 710 -0.112520E+01 0.534966E+00 0.333405E+00 + 711 -0.107804E+01 0.575736E+00 0.421705E+00 + 712 -0.115279E+01 0.627051E+00 0.500000E+00 + 713 -0.121442E+01 0.529682E+00 0.500000E+00 + 714 -0.127568E+01 0.462020E+00 0.452367E+00 + 715 -0.117321E+01 0.476184E+00 0.399237E+00 + 716 -0.111351E+01 0.485653E+00 0.199819E+00 + 717 -0.108336E+01 0.547433E+00 0.249426E+00 + 718 -0.847111E+00 0.943440E+00 0.528846E-01 + 719 -0.987547E+00 0.616985E+00 -0.128921E-06 + 720 -0.928910E+00 0.712381E+00 -0.128921E-06 + 721 -0.127612E+01 0.428997E+00 -0.128921E-06 + 722 -0.127960E+01 0.376150E+00 0.174965E+00 + 723 -0.122517E+01 0.437856E+00 0.270145E+00 + 724 -0.118078E+01 0.459608E+00 0.156263E+00 + 725 -0.118763E+01 0.449184E+00 0.458156E-01 + 726 -0.115655E+01 0.529507E+00 -0.128921E-06 + 727 -0.143917E+01 0.254504E+00 -0.128921E-06 + 728 -0.127740E+01 0.324955E+00 -0.128921E-06 + 729 -0.139888E+01 0.268693E+00 0.214341E+00 + 730 -0.150000E+01 0.213954E+00 0.984123E-01 + 731 -0.142060E+01 0.370445E+00 0.428130E+00 + 732 -0.107086E+01 0.574096E+00 0.881837E-01 + 733 -0.110108E+01 0.505126E+00 0.121628E+00 + 734 -0.105313E+01 0.627328E+00 0.194692E+00 + 735 -0.106552E+01 0.671569E+00 0.500000E+00 + 736 -0.100141E+01 0.648530E+00 0.338311E+00 + 737 -0.867305E+00 0.840325E+00 0.678422E-01 + 738 -0.875374E+00 0.750517E+00 0.103889E+00 + 739 -0.917091E+00 0.748610E+00 0.234199E+00 + 740 -0.925209E+00 0.822221E+00 0.426006E+00 + 741 -0.893476E+00 0.917299E+00 0.361689E+00 + 742 -0.880157E+00 0.819919E+00 0.310402E+00 + 743 -0.969735E+00 0.703911E+00 0.426962E+00 + 744 -0.100407E+01 0.770164E+00 0.500000E+00 + 745 -0.109001E+01 0.527247E+00 0.393027E+00 + 746 -0.102336E+01 0.571357E+00 0.327128E+00 + 747 -0.103635E+01 0.608403E+00 0.431334E+00 + 748 -0.115770E+01 0.497430E+00 0.454465E+00 + 749 -0.112643E+01 0.576975E+00 0.500000E+00 + 750 -0.111400E+01 0.507315E+00 0.258878E+00 + 751 -0.845288E+00 0.100000E+01 0.122986E+00 + 752 -0.960460E+00 0.631446E+00 0.439829E-01 + 753 -0.947494E+00 0.675876E+00 0.138788E+00 + 754 -0.858406E+00 0.930257E+00 -0.128921E-06 + 755 -0.130230E+01 0.344063E+00 0.110742E+00 + 756 -0.150000E+01 0.272880E+00 0.779103E-01 + 757 -0.126568E+01 0.431275E+00 0.337467E+00 + 758 -0.134529E+01 0.400933E+00 0.420425E+00 + 759 -0.141666E+01 0.323732E+00 0.439576E+00 + 760 -0.139904E+01 0.419803E+00 0.500000E+00 + 761 -0.109576E+01 0.524557E+00 0.728012E-01 + 762 -0.113533E+01 0.473357E+00 0.145813E+00 + 763 -0.103482E+01 0.607368E+00 0.160547E+00 + 764 -0.830286E+00 0.808503E+00 0.105883E+00 + 765 -0.870777E+00 0.813502E+00 -0.128921E-06 + 766 -0.924200E+00 0.694603E+00 0.213842E+00 + 767 -0.994696E+00 0.641234E+00 0.273023E+00 + 768 -0.953656E+00 0.731593E+00 0.454505E+00 + 769 -0.973612E+00 0.821591E+00 0.500000E+00 + 770 -0.863693E+00 0.889495E+00 0.450371E+00 + 771 -0.106939E+01 0.606331E+00 0.455166E+00 + 772 -0.114836E+01 0.465530E+00 0.306631E+00 + 773 -0.118967E+01 0.451418E+00 0.217621E+00 + 774 -0.110774E+01 0.529954E+00 0.212895E+00 + 775 -0.939539E+00 0.641644E+00 0.884108E-01 + 776 -0.143116E+01 0.368731E+00 0.500000E+00 + 777 -0.110042E+01 0.528215E+00 -0.128921E-06 + 778 -0.952152E+00 0.721411E+00 0.272503E+00 + 779 -0.992270E+00 0.629702E+00 0.680456E-01 + 780 -0.993845E+00 0.631085E+00 0.226424E+00 + 781 -0.103287E+01 0.598806E+00 0.230896E+00 + 782 -0.121687E+01 0.432151E+00 -0.128921E-06 + 783 -0.124755E+01 0.340284E+00 0.122897E+00 + 784 -0.121842E+01 0.333475E+00 -0.128921E-06 + 785 -0.136937E+01 0.252272E+00 -0.128921E-06 + 786 -0.116045E+01 0.426165E+00 0.103911E+00 + 787 -0.120168E+01 0.392777E+00 0.222397E+00 + 788 -0.134219E+01 0.288982E+00 0.281149E+00 + 789 -0.130195E+01 0.324740E+00 0.388699E+00 + 790 -0.120648E+01 0.377007E+00 0.320076E+00 + 791 -0.109378E+01 0.479999E+00 0.447432E-01 + 792 -0.107060E+01 0.560423E+00 0.135728E+00 + 793 -0.107092E+01 0.574346E+00 -0.128921E-06 + 794 -0.150000E+01 0.230000E+00 -0.128921E-06 + 795 -0.142915E+01 0.175858E+00 0.101564E+00 + 796 -0.138507E+01 0.198243E+00 0.208596E+00 + 797 -0.123935E+01 0.246736E+00 0.477942E-01 + 798 -0.130322E+01 0.412449E+00 0.452410E+00 + 799 -0.121640E+01 0.398403E+00 0.402759E+00 + 800 -0.143541E+01 0.258986E+00 0.380388E+00 + 801 -0.150000E+01 0.300000E+00 0.500000E+00 + 802 -0.150000E+01 0.121752E+00 0.247842E+00 + 803 -0.140057E+01 0.313690E+00 0.500000E+00 + 804 -0.102137E+01 0.580050E+00 0.763922E-01 + 805 -0.108844E+01 0.452169E+00 0.178897E+00 + 806 -0.878667E+00 0.699163E+00 0.150896E+00 + 807 -0.822897E+00 0.769768E+00 0.243669E+00 + 808 -0.845366E+00 0.910997E+00 0.206266E+00 + 809 -0.101099E+01 0.667786E+00 0.500000E+00 + 810 -0.109618E+01 0.624051E+00 0.500000E+00 + 811 -0.983636E+00 0.606259E+00 0.408670E+00 + 812 -0.924727E+00 0.644549E+00 0.361245E+00 + 813 -0.947964E+00 0.642550E+00 0.256128E+00 + 814 -0.100797E+01 0.610651E+00 0.311350E+00 + 815 -0.826979E+00 0.886762E+00 0.609554E-01 + 816 -0.899793E+00 0.762165E+00 -0.128921E-06 + 817 -0.881057E+00 0.675128E+00 0.436445E-01 + 818 -0.822034E+00 0.809465E+00 -0.128921E-06 + 819 -0.791043E+00 0.756380E+00 0.750466E-01 + 820 -0.810278E+00 0.938437E+00 0.320772E+00 + 821 -0.880000E+00 0.100000E+01 0.500000E+00 + 822 -0.894273E+00 0.789586E+00 0.372496E+00 + 823 -0.820377E+00 0.828092E+00 0.420446E+00 + 824 -0.921341E+00 0.817559E+00 0.500000E+00 + 825 -0.904836E+00 0.693726E+00 0.455970E+00 + 826 -0.807798E+00 0.922351E+00 0.500000E+00 + 827 -0.106679E+01 0.503899E+00 0.270862E+00 + 828 -0.102666E+01 0.511727E+00 0.358947E+00 + 829 -0.112104E+01 0.467749E+00 0.357788E+00 + 830 -0.108046E+01 0.526751E+00 0.457196E+00 + 831 -0.990669E+00 0.523003E+00 0.292799E+00 + 832 -0.118670E+01 0.481262E+00 0.500000E+00 + 833 -0.113184E+01 0.419237E+00 0.455859E+00 + 834 -0.775188E+00 0.100000E+01 0.122709E+00 + 835 -0.935660E+00 0.613344E+00 -0.128921E-06 + 836 -0.910036E+00 0.596809E+00 0.117704E+00 + 837 -0.932850E+00 0.566661E+00 0.199542E+00 + 838 -0.101933E+01 0.573690E+00 0.273251E+00 + 839 -0.120228E+01 0.383783E+00 0.700832E-01 + 840 -0.120926E+01 0.365442E+00 0.182611E+00 + 841 -0.139425E+01 0.284244E+00 0.338169E+00 + 842 -0.127145E+01 0.335838E+00 0.322932E+00 + 843 -0.134786E+01 0.253149E+00 0.190761E+00 + 844 -0.119299E+01 0.364952E+00 0.279836E+00 + 845 -0.118787E+01 0.405881E+00 0.347192E+00 + 846 -0.113219E+01 0.406137E+00 0.159271E+00 + 847 -0.112841E+01 0.460337E+00 0.410773E-01 + 848 -0.106742E+01 0.507278E+00 0.150306E+00 + 849 -0.145495E+01 0.193246E+00 -0.128921E-06 + 850 -0.135706E+01 0.207397E+00 0.605555E-01 + 851 -0.130642E+01 0.259282E+00 -0.128921E-06 + 852 -0.133711E+01 0.424788E+00 0.500000E+00 + 853 -0.139192E+01 0.186333E+00 0.269636E+00 + 854 -0.144948E+01 0.257018E+00 0.448893E+00 + 855 -0.150000E+01 0.146646E+00 0.114716E+00 + 856 -0.140523E+01 0.888313E-01 0.231274E+00 + 857 -0.134703E+01 0.324208E+00 0.440481E+00 + 858 -0.101692E+01 0.571161E+00 -0.128921E-06 + 859 -0.107244E+01 0.542869E+00 0.441758E-01 + 860 -0.100948E+01 0.569858E+00 0.130692E+00 + 861 -0.802543E+00 0.792894E+00 0.181719E+00 + 862 -0.854205E+00 0.697617E+00 0.197776E+00 + 863 -0.863019E+00 0.897327E+00 0.280617E+00 + 864 -0.827166E+00 0.899426E+00 0.115501E+00 + 865 -0.840118E+00 0.755345E+00 0.289157E+00 + 866 -0.980973E+00 0.716263E+00 0.500000E+00 + 867 -0.104106E+01 0.620599E+00 0.500000E+00 + 868 -0.958469E+00 0.647501E+00 0.393489E+00 + 869 -0.899978E+00 0.724191E+00 0.367777E+00 + 870 -0.951898E+00 0.630292E+00 0.306145E+00 + 871 -0.841138E+00 0.866939E+00 -0.128921E-06 + 872 -0.878560E+00 0.708546E+00 -0.128921E-06 + 873 -0.881452E+00 0.709853E+00 0.847684E-01 + 874 -0.909348E+00 0.627782E+00 0.432974E-01 + 875 -0.826732E+00 0.746687E+00 0.101392E+00 + 876 -0.802603E+00 0.754430E+00 -0.128921E-06 + 877 -0.904976E+00 0.652637E+00 0.146325E+00 + 878 -0.845182E+00 0.100000E+01 0.375110E+00 + 879 -0.908461E+00 0.612956E+00 0.236515E+00 + 880 -0.786913E+00 0.844395E+00 0.363031E+00 + 881 -0.869006E+00 0.820719E+00 0.411608E+00 + 882 -0.899800E+00 0.762162E+00 0.500000E+00 + 883 -0.891520E+00 0.871296E+00 0.500000E+00 + 884 -0.775042E+00 0.910986E+00 0.458322E+00 + 885 -0.107077E+01 0.502394E+00 0.328117E+00 + 886 -0.112435E+01 0.477447E+00 0.426722E+00 + 887 -0.110043E+01 0.528211E+00 0.500000E+00 + 888 -0.984208E+00 0.570287E+00 0.372557E+00 + 889 -0.104365E+01 0.533360E+00 0.410837E+00 + 890 -0.124672E+01 0.414161E+00 0.452952E+00 + 891 -0.110761E+01 0.448632E+00 0.275864E+00 + 892 -0.115935E+01 0.434130E+00 0.500000E+00 + 893 -0.771770E+00 0.962851E+00 -0.128921E-06 + 894 -0.915793E+00 0.554085E+00 0.135406E+00 + 895 -0.103313E+01 0.564311E+00 0.205758E+00 + 896 -0.124714E+01 0.381349E+00 -0.128921E-06 + 897 -0.119283E+01 0.395031E+00 0.142506E+00 + 898 -0.121696E+01 0.295161E+00 0.512506E-01 + 899 -0.132424E+01 0.272630E+00 0.329221E+00 + 900 -0.126958E+01 0.293993E+00 0.161516E+00 + 901 -0.127278E+01 0.405502E+00 0.402399E+00 + 902 -0.114874E+01 0.420590E+00 0.284343E+00 + 903 -0.112984E+01 0.481529E+00 -0.128921E-06 + 904 -0.114255E+01 0.400934E+00 0.448040E-01 + 905 -0.139797E+01 0.194392E+00 -0.128921E-06 + 906 -0.130276E+01 0.220000E+00 0.547724E-01 + 907 -0.150000E+01 0.185026E+00 0.370068E+00 + 908 -0.140969E+01 0.116178E+00 0.161675E+00 + 909 -0.144414E+01 0.133725E+00 0.631450E-01 + 910 -0.136874E+01 0.371061E+00 0.500000E+00 + 911 -0.139981E+01 0.265864E+00 0.451206E+00 + 912 -0.101865E+01 0.540131E+00 0.432629E-01 + 913 -0.107044E+01 0.480853E+00 0.888284E-01 + 914 -0.127613E+01 0.428992E+00 0.500000E+00 + 915 -0.953060E+00 0.587123E+00 0.853598E-01 + 916 -0.818503E+00 0.740415E+00 0.196573E+00 + 917 -0.849299E+00 0.840681E+00 0.168765E+00 + 918 -0.985574E+00 0.649590E+00 0.455629E+00 + 919 -0.921495E+00 0.706635E+00 0.401654E+00 + 920 -0.917878E+00 0.693632E+00 0.310415E+00 + 921 -0.968319E+00 0.622131E+00 0.352696E+00 + 922 -0.852962E+00 0.723864E+00 0.440160E-01 + 923 -0.907016E+00 0.660263E+00 -0.128921E-06 + 924 -0.796389E+00 0.825667E+00 0.451972E-01 + 925 -0.889717E+00 0.645924E+00 0.918848E-01 + 926 -0.810335E+00 0.100000E+01 0.247725E+00 + 927 -0.879093E+00 0.647836E+00 0.196094E+00 + 928 -0.951215E+00 0.569277E+00 0.265652E+00 + 929 -0.810103E+00 0.911005E+00 0.416692E+00 + 930 -0.795647E+00 0.829015E+00 0.289072E+00 + 931 -0.894285E+00 0.826658E+00 0.454168E+00 + 932 -0.951077E+00 0.766140E+00 0.500000E+00 + 933 -0.858412E+00 0.930255E+00 0.500000E+00 + 934 -0.792478E+00 0.862128E+00 0.500000E+00 + 935 -0.102564E+01 0.523992E+00 0.311707E+00 + 936 -0.108547E+01 0.459957E+00 0.310816E+00 + 937 -0.107093E+01 0.574342E+00 0.500000E+00 + 938 -0.101172E+01 0.565547E+00 0.425595E+00 + 939 -0.106894E+01 0.468721E+00 0.433240E+00 + 940 -0.116206E+01 0.424997E+00 0.395017E+00 + 941 -0.109925E+01 0.454483E+00 0.228656E+00 + 942 -0.112985E+01 0.481524E+00 0.500000E+00 + 943 -0.807790E+00 0.922353E+00 -0.128921E-06 + 944 -0.779085E+00 0.938401E+00 0.126856E+00 + 945 -0.964420E+00 0.567716E+00 -0.128921E-06 + 946 -0.740000E+00 0.100000E+01 -0.128921E-06 + 947 -0.117371E+01 0.413265E+00 0.182586E+00 + 948 -0.125405E+01 0.335064E+00 0.253470E+00 + 949 -0.118897E+01 0.385647E+00 -0.128921E-06 + 950 -0.106768E+01 0.545546E+00 0.189699E+00 + 951 -0.127574E+01 0.257645E+00 0.113594E+00 + 952 -0.139947E+01 0.173791E+00 0.545896E-01 + 953 -0.124531E+01 0.271401E+00 -0.128921E-06 + 954 -0.121946E+01 0.347689E+00 0.362616E+00 + 955 -0.134722E+01 0.233313E+00 0.295824E+00 + 956 -0.145592E+01 0.213580E+00 0.426853E+00 + 957 -0.141693E+01 0.127920E+00 0.282705E+00 + 958 -0.150000E+01 0.160000E+00 -0.128921E-06 + 959 -0.136947E+01 0.279172E+00 0.395305E+00 + 960 -0.130308E+01 0.355390E+00 0.447588E+00 + 961 -0.143918E+01 0.254498E+00 0.500000E+00 + 962 -0.981463E+00 0.570271E+00 0.436675E-01 + 963 -0.105162E+01 0.533572E+00 0.958643E-01 + 964 -0.109420E+01 0.436201E+00 0.693503E-01 + 965 -0.107472E+01 0.480822E+00 -0.128921E-06 + 966 -0.991007E+00 0.565354E+00 0.182469E+00 + 967 -0.841857E+00 0.765095E+00 0.153340E+00 + 968 -0.842492E+00 0.844204E+00 0.245135E+00 + 969 -0.822260E+00 0.699727E+00 0.953066E-01 + 970 -0.850293E+00 0.758251E+00 -0.128921E-06 + 971 -0.760596E+00 0.828438E+00 0.102010E+00 + 972 -0.856279E+00 0.708987E+00 0.278995E+00 + 973 -0.911875E+00 0.760762E+00 0.427466E+00 + 974 -0.840615E+00 0.794016E+00 0.359032E+00 + 975 -0.945861E+00 0.655917E+00 0.460767E+00 + 976 -0.796525E+00 0.961733E+00 0.450001E+00 + 977 -0.841146E+00 0.866935E+00 0.500000E+00 + 978 -0.775116E+00 0.862675E+00 0.430555E+00 + 979 -0.988437E+00 0.519469E+00 0.402499E+00 + 980 -0.106655E+01 0.459878E+00 0.379364E+00 + 981 -0.103171E+01 0.559978E+00 0.458577E+00 + 982 -0.963873E+00 0.565220E+00 0.322019E+00 + 983 -0.118170E+01 0.432137E+00 0.453380E+00 + 984 -0.101564E+01 0.527653E+00 0.243069E+00 + 985 -0.775063E+00 0.912194E+00 0.409031E-01 + 986 -0.895765E+00 0.597071E+00 0.171965E+00 + 987 -0.128728E+01 0.247165E+00 0.206750E+00 + 988 -0.120832E+01 0.316662E+00 0.177086E+00 + 989 -0.116033E+01 0.411834E+00 0.230193E+00 + 990 -0.115935E+01 0.434135E+00 -0.128921E-06 + 991 -0.139657E+01 0.225118E+00 0.319473E+00 + 992 -0.150000E+01 0.230000E+00 0.500000E+00 + 993 -0.137352E+01 0.159913E+00 0.120555E+00 + 994 -0.104984E+01 0.511796E+00 0.537011E-01 + 995 -0.109790E+01 0.449688E+00 0.118425E+00 + 996 -0.792058E+00 0.745845E+00 0.147366E+00 + 997 -0.801365E+00 0.870546E+00 0.176162E+00 + 998 -0.777594E+00 0.866481E+00 0.669469E-01 + 999 -0.873871E+00 0.672326E+00 0.253239E+00 + 1000 -0.980731E+00 0.585710E+00 0.229766E+00 + 1001 -0.873668E+00 0.754359E+00 0.323989E+00 + 1002 -0.873629E+00 0.777969E+00 0.454762E+00 + 1003 -0.922460E+00 0.653342E+00 0.410191E+00 + 1004 -0.928918E+00 0.712377E+00 0.500000E+00 + 1005 -0.964738E+00 0.523824E+00 0.352785E+00 + 1006 -0.100745E+01 0.588826E+00 0.455521E+00 + 1007 -0.113158E+01 0.416945E+00 0.340932E+00 + 1008 -0.121687E+01 0.432146E+00 0.500000E+00 + 1009 -0.104057E+01 0.499159E+00 0.201136E+00 + 1010 -0.909955E+00 0.586350E+00 0.592066E-01 + 1011 -0.954492E+00 0.538384E+00 0.146007E+00 + 1012 -0.135225E+01 0.209634E+00 0.154315E+00 + 1013 -0.104597E+01 0.526047E+00 -0.128921E-06 + 1014 -0.113294E+01 0.400949E+00 0.200679E+00 + 1015 -0.787158E+00 0.920786E+00 0.222509E+00 + 1016 -0.100886E+01 0.529512E+00 0.150217E+00 + 1017 -0.115803E+01 0.322275E+00 0.405056E-01 + 1018 -0.111710E+01 0.383144E+00 0.986197E-01 + 1019 -0.120617E+01 0.350490E+00 0.120311E+00 + 1020 -0.116410E+01 0.230323E+00 0.438346E-01 + 1021 -0.133435E+01 0.198702E+00 -0.128921E-06 + 1022 -0.117492E+01 0.329973E+00 0.234270E+00 + 1023 -0.129219E+01 0.252300E+00 0.284862E+00 + 1024 -0.127638E+01 0.285205E+00 0.446937E+00 + 1025 -0.131494E+01 0.181359E+00 0.204823E+00 + 1026 -0.120220E+01 0.224995E+00 0.151614E+00 + 1027 -0.112965E+01 0.379896E+00 0.314065E+00 + 1028 -0.109122E+01 0.393672E+00 0.244888E+00 + 1029 -0.104592E+01 0.418026E+00 0.151501E+00 + 1030 -0.110357E+01 0.435054E+00 -0.128921E-06 + 1031 -0.128373E+01 0.170810E+00 0.988134E-01 + 1032 -0.144000E+01 0.826487E-01 0.123494E+00 + 1033 -0.143462E+01 0.135897E+00 -0.128921E-06 + 1034 -0.130707E+01 0.376094E+00 0.500000E+00 + 1035 -0.119424E+01 0.369776E+00 0.429821E+00 + 1036 -0.120155E+01 0.271803E+00 0.341201E+00 + 1037 -0.138642E+01 0.176856E+00 0.343986E+00 + 1038 -0.140825E+01 0.191675E+00 0.456689E+00 + 1039 -0.150000E+01 0.160000E+00 0.500000E+00 + 1040 -0.150000E+01 0.574382E-01 0.333941E+00 + 1041 -0.134970E+01 0.604849E-01 0.276248E+00 + 1042 -0.993059E+00 0.523185E+00 -0.128921E-06 + 1043 -0.102150E+01 0.478446E+00 0.720812E-01 + 1044 -0.898283E+00 0.552113E+00 0.758151E-01 + 1045 -0.848684E+00 0.671073E+00 0.103638E+00 + 1046 -0.773132E+00 0.823876E+00 0.200500E+00 + 1047 -0.792509E+00 0.713197E+00 0.243550E+00 + 1048 -0.733360E+00 0.783311E+00 0.101466E+00 + 1049 -0.802429E+00 0.639473E+00 0.198298E+00 + 1050 -0.768988E+00 0.914236E+00 0.282024E+00 + 1051 -0.752650E+00 0.873769E+00 0.127398E+00 + 1052 -0.763685E+00 0.775162E+00 0.341683E+00 + 1053 -0.958180E+00 0.664004E+00 0.500000E+00 + 1054 -0.946332E+00 0.609408E+00 0.436915E+00 + 1055 -0.101692E+01 0.571156E+00 0.500000E+00 + 1056 -0.858611E+00 0.635745E+00 0.365116E+00 + 1057 -0.872688E+00 0.724046E+00 0.420105E+00 + 1058 -0.929665E+00 0.555753E+00 0.361139E+00 + 1059 -0.894872E+00 0.574135E+00 0.308167E+00 + 1060 -0.792468E+00 0.862131E+00 -0.128921E-06 + 1061 -0.830031E+00 0.704793E+00 -0.128921E-06 + 1062 -0.855250E+00 0.621815E+00 0.532558E-01 + 1063 -0.771649E+00 0.711134E+00 0.820273E-01 + 1064 -0.756489E+00 0.750602E+00 -0.128921E-06 + 1065 -0.715601E+00 0.726084E+00 0.173100E+00 + 1066 -0.686815E+00 0.865800E+00 0.510810E-01 + 1067 -0.810000E+00 0.100000E+01 0.500000E+00 + 1068 -0.932372E+00 0.502016E+00 0.251669E+00 + 1069 -0.740070E+00 0.910941E+00 0.416604E+00 + 1070 -0.810720E+00 0.755717E+00 0.459653E+00 + 1071 -0.870785E+00 0.813498E+00 0.500000E+00 + 1072 -0.878567E+00 0.708542E+00 0.500000E+00 + 1073 -0.726279E+00 0.960575E+00 0.500000E+00 + 1074 -0.742809E+00 0.856840E+00 0.500000E+00 + 1075 -0.103405E+01 0.465748E+00 0.262224E+00 + 1076 -0.103430E+01 0.448959E+00 0.358025E+00 + 1077 -0.109318E+01 0.422250E+00 0.401160E+00 + 1078 -0.107472E+01 0.480817E+00 0.500000E+00 + 1079 -0.975503E+00 0.464971E+00 0.434208E+00 + 1080 -0.107786E+01 0.389967E+00 0.500000E+00 + 1081 -0.705120E+00 0.100000E+01 0.122516E+00 + 1082 -0.726272E+00 0.960576E+00 -0.128921E-06 + 1083 -0.875639E+00 0.538731E+00 0.174524E+00 + 1084 -0.955400E+00 0.476175E+00 0.120980E+00 + 1085 -0.988088E+00 0.535577E+00 0.211108E+00 + 1086 -0.117427E+01 0.318012E+00 0.113807E+00 + 1087 -0.112863E+01 0.362427E+00 0.403044E-01 + 1088 -0.118777E+01 0.287496E+00 -0.128921E-06 + 1089 -0.122709E+01 0.217252E+00 0.874396E-01 + 1090 -0.112934E+01 0.356125E+00 0.194401E+00 + 1091 -0.126223E+01 0.281856E+00 0.325558E+00 + 1092 -0.123493E+01 0.341260E+00 0.451279E+00 + 1093 -0.119926E+01 0.291425E+00 0.227447E+00 + 1094 -0.125901E+01 0.176839E+00 0.296872E+00 + 1095 -0.116434E+01 0.321231E+00 0.339395E+00 + 1096 -0.108926E+01 0.388557E+00 0.299296E+00 + 1097 -0.104849E+01 0.464999E+00 0.427481E-01 + 1098 -0.103183E+01 0.459896E+00 0.147833E+00 + 1099 -0.133182E+01 0.145158E+00 0.616603E-01 + 1100 -0.126751E+01 0.202017E+00 -0.128921E-06 + 1101 -0.135618E+01 0.126252E+00 0.215146E+00 + 1102 -0.137515E+01 0.224524E+00 0.419197E+00 + 1103 -0.145495E+01 0.193240E+00 0.500000E+00 + 1104 -0.150000E+01 0.116433E+00 0.402474E+00 + 1105 -0.141485E+01 -0.128921E-06 0.288595E+00 + 1106 -0.150000E+01 0.801370E-01 0.122468E+00 + 1107 -0.144516E+01 0.716406E-01 -0.128921E-06 + 1108 -0.133820E+01 0.317376E+00 0.500000E+00 + 1109 -0.988929E+00 0.537843E+00 0.898706E-01 + 1110 -0.105591E+01 0.394445E+00 0.891042E-01 + 1111 -0.808199E+00 0.681892E+00 0.137910E+00 + 1112 -0.760655E+00 0.769190E+00 0.295869E+00 + 1113 -0.723087E+00 0.781513E+00 0.172950E+00 + 1114 -0.822277E+00 0.670244E+00 0.220718E+00 + 1115 -0.987553E+00 0.616981E+00 0.500000E+00 + 1116 -0.938288E+00 0.601051E+00 0.388258E+00 + 1117 -0.883541E+00 0.671967E+00 0.407128E+00 + 1118 -0.879082E+00 0.652565E+00 0.304468E+00 + 1119 -0.841372E+00 0.757103E+00 0.390877E+00 + 1120 -0.857594E+00 0.656575E+00 -0.128921E-06 + 1121 -0.780792E+00 0.735394E+00 0.429817E-01 + 1122 -0.875787E+00 0.584445E+00 0.753083E-01 + 1123 -0.742799E+00 0.856842E+00 -0.128921E-06 + 1124 -0.732438E+00 0.716442E+00 0.104825E+00 + 1125 -0.735531E+00 0.919808E+00 0.152656E+00 + 1126 -0.703179E+00 0.873405E+00 0.943609E-01 + 1127 -0.775127E+00 0.100000E+01 0.374966E+00 + 1128 -0.852784E+00 0.586163E+00 0.193623E+00 + 1129 -0.930507E+00 0.538956E+00 0.277634E+00 + 1130 -0.751454E+00 0.791408E+00 0.416563E+00 + 1131 -0.822042E+00 0.809461E+00 0.500000E+00 + 1132 -0.907024E+00 0.660259E+00 0.500000E+00 + 1133 -0.771777E+00 0.962850E+00 0.500000E+00 + 1134 -0.705028E+00 0.910924E+00 0.458282E+00 + 1135 -0.101428E+01 0.484696E+00 0.306879E+00 + 1136 -0.102820E+01 0.475194E+00 0.405773E+00 + 1137 -0.108324E+01 0.436147E+00 0.457704E+00 + 1138 -0.104598E+01 0.526043E+00 0.500000E+00 + 1139 -0.942570E+00 0.513329E+00 0.404714E+00 + 1140 -0.991471E+00 0.554016E+00 0.457034E+00 + 1141 -0.103136E+01 0.396342E+00 0.374933E+00 + 1142 -0.114565E+01 0.372444E+00 0.455329E+00 + 1143 -0.105093E+01 0.410992E+00 0.243133E+00 + 1144 -0.913352E+00 0.564232E+00 -0.128921E-06 + 1145 -0.908890E+00 0.514590E+00 0.141568E+00 + 1146 -0.670000E+00 0.100000E+01 -0.128921E-06 + 1147 -0.114208E+01 0.335305E+00 0.819139E-01 + 1148 -0.122850E+01 0.277228E+00 0.125430E+00 + 1149 -0.115954E+01 0.344877E+00 0.162232E+00 + 1150 -0.116142E+01 0.340398E+00 -0.128921E-06 + 1151 -0.113218E+01 0.268875E+00 0.395693E-01 + 1152 -0.130711E+01 0.254996E+00 0.388756E+00 + 1153 -0.120700E+01 0.311868E+00 0.314276E+00 + 1154 -0.132518E+01 0.171443E+00 0.266768E+00 + 1155 -0.121288E+01 0.194866E+00 0.245909E+00 + 1156 -0.127468E+01 0.195665E+00 0.146962E+00 + 1157 -0.113249E+01 0.320455E+00 0.271123E+00 + 1158 -0.115492E+01 0.373942E+00 0.386223E+00 + 1159 -0.107725E+01 0.370436E+00 0.143530E+00 + 1160 -0.108959E+01 0.374877E+00 0.425911E-01 + 1161 -0.103136E+01 0.490744E+00 0.115261E+00 + 1162 -0.128766E+01 0.162051E+00 0.409024E-01 + 1163 -0.136279E+01 0.144654E+00 -0.128921E-06 + 1164 -0.120969E+01 0.185822E+00 0.454974E-01 + 1165 -0.124715E+01 0.381343E+00 0.500000E+00 + 1166 -0.141495E+01 0.153820E+00 0.424181E+00 + 1167 -0.150000E+01 0.540107E-01 0.218712E+00 + 1168 -0.137945E+01 0.855369E-01 0.351769E+00 + 1169 -0.150000E+01 0.106667E+00 -0.128921E-06 + 1170 -0.136210E+01 0.636119E-01 0.155868E+00 + 1171 -0.136938E+01 0.252264E+00 0.500000E+00 + 1172 -0.967956E+00 0.506599E+00 0.419737E-01 + 1173 -0.103293E+01 0.439300E+00 0.199349E+00 + 1174 -0.104949E+01 0.434944E+00 -0.128921E-06 + 1175 -0.857982E+00 0.633679E+00 0.147402E+00 + 1176 -0.759897E+00 0.758401E+00 0.207795E+00 + 1177 -0.733945E+00 0.830949E+00 0.170984E+00 + 1178 -0.828909E+00 0.726975E+00 0.336848E+00 + 1179 -0.948358E+00 0.561670E+00 0.421744E+00 + 1180 -0.875801E+00 0.603241E+00 0.381591E+00 + 1181 -0.888935E+00 0.598699E+00 0.271786E+00 + 1182 -0.807782E+00 0.686309E+00 0.425296E-01 + 1183 -0.885366E+00 0.609738E+00 -0.128921E-06 + 1184 -0.724711E+00 0.827952E+00 0.654619E-01 + 1185 -0.755331E+00 0.753336E+00 0.796664E-01 + 1186 -0.762290E+00 0.684980E+00 0.126941E+00 + 1187 -0.720148E+00 0.747025E+00 0.135925E+00 + 1188 -0.726740E+00 0.927635E+00 0.484742E-01 + 1189 -0.743774E+00 0.880163E+00 0.354794E+00 + 1190 -0.740225E+00 0.100000E+01 0.247425E+00 + 1191 -0.854401E+00 0.737317E+00 0.456128E+00 + 1192 -0.765510E+00 0.804753E+00 0.458902E+00 + 1193 -0.892687E+00 0.631758E+00 0.455972E+00 + 1194 -0.705014E+00 0.959233E+00 0.430465E+00 + 1195 -0.758168E+00 0.913873E+00 0.500000E+00 + 1196 -0.987277E+00 0.485226E+00 0.334802E+00 + 1197 -0.102142E+01 0.438395E+00 0.294042E+00 + 1198 -0.102011E+01 0.509483E+00 0.457298E+00 + 1199 -0.105437E+01 0.424804E+00 0.408920E+00 + 1200 -0.928224E+00 0.528199E+00 0.319004E+00 + 1201 -0.969851E+00 0.480566E+00 0.246819E+00 + 1202 -0.110357E+01 0.435050E+00 0.500000E+00 + 1203 -0.923184E+00 0.475769E+00 0.149942E+00 + 1204 -0.115240E+01 0.380819E+00 0.128314E+00 + 1205 -0.116289E+01 0.264622E+00 0.104737E+00 + 1206 -0.123964E+01 0.260003E+00 0.391982E+00 + 1207 -0.130943E+01 0.205784E+00 0.364766E+00 + 1208 -0.121513E+01 0.252143E+00 0.277366E+00 + 1209 -0.125226E+01 0.163879E+00 0.199195E+00 + 1210 -0.113944E+01 0.381039E+00 0.264461E+00 + 1211 -0.108414E+01 0.405420E+00 0.203052E+00 + 1212 -0.113258E+01 0.388536E+00 -0.128921E-06 + 1213 -0.139475E+01 0.988109E-01 0.484238E-01 + 1214 -0.124656E+01 0.168303E+00 0.511127E-01 + 1215 -0.119993E+01 0.223471E+00 -0.128921E-06 + 1216 -0.145096E+01 -0.128921E-06 0.169531E+00 + 1217 -0.134908E+01 0.264272E+00 0.447240E+00 + 1218 -0.127740E+01 0.324948E+00 0.500000E+00 + 1219 -0.139797E+01 0.194383E+00 0.500000E+00 + 1220 -0.102128E+01 0.479230E+00 -0.128921E-06 + 1221 -0.939740E+00 0.550636E+00 0.422855E-01 + 1222 -0.103524E+01 0.450475E+00 0.971891E-01 + 1223 -0.775526E+00 0.694211E+00 0.184763E+00 + 1224 -0.748397E+00 0.857804E+00 0.247844E+00 + 1225 -0.916577E+00 0.591103E+00 0.334663E+00 + 1226 -0.861185E+00 0.697743E+00 0.357612E+00 + 1227 -0.822994E+00 0.647177E+00 0.665037E-01 + 1228 -0.774664E+00 0.805404E+00 -0.128921E-06 + 1229 -0.783284E+00 0.701150E+00 -0.128921E-06 + 1230 -0.679884E+00 0.816810E+00 0.100988E+00 + 1231 -0.846807E+00 0.621271E+00 0.254667E+00 + 1232 -0.708914E+00 0.827281E+00 0.398399E+00 + 1233 -0.797861E+00 0.753096E+00 0.390572E+00 + 1234 -0.850302E+00 0.758248E+00 0.500000E+00 + 1235 -0.855402E+00 0.689968E+00 0.456732E+00 + 1236 -0.935667E+00 0.613339E+00 0.500000E+00 + 1237 -0.901637E+00 0.593571E+00 0.424796E+00 + 1238 -0.740000E+00 0.100000E+01 0.500000E+00 + 1239 -0.774673E+00 0.805401E+00 0.500000E+00 + 1240 -0.978703E+00 0.466680E+00 0.372400E+00 + 1241 -0.107358E+01 0.424323E+00 0.289397E+00 + 1242 -0.959143E+00 0.520946E+00 0.457852E+00 + 1243 -0.102260E+01 0.449262E+00 0.457698E+00 + 1244 -0.109760E+01 0.384791E+00 0.366945E+00 + 1245 -0.955438E+00 0.500218E+00 0.298349E+00 + 1246 -0.118898E+01 0.385642E+00 0.500000E+00 + 1247 -0.983822E+00 0.480266E+00 0.180725E+00 + 1248 -0.758158E+00 0.913875E+00 -0.128921E-06 + 1249 -0.694200E+00 0.910225E+00 0.125764E+00 + 1250 -0.850254E+00 0.556403E+00 0.392068E-01 + 1251 -0.863717E+00 0.567101E+00 0.122684E+00 + 1252 -0.116441E+01 0.290641E+00 0.287785E+00 + 1253 -0.117381E+01 0.281270E+00 0.164669E+00 + 1254 -0.132576E+01 0.112322E+00 0.144434E+00 + 1255 -0.119400E+01 0.312470E+00 0.397056E+00 + 1256 -0.132057E+01 0.128867E+00 0.329807E+00 + 1257 -0.134988E+01 -0.128921E-06 0.235694E+00 + 1258 -0.143319E+01 0.559723E-01 0.736721E-01 + 1259 -0.996162E+00 0.462807E+00 0.416872E-01 + 1260 -0.106727E+01 0.404752E+00 0.425472E-01 + 1261 -0.931934E+00 0.509955E+00 0.869395E-01 + 1262 -0.799482E+00 0.643673E+00 0.153133E+00 + 1263 -0.751917E+00 0.773625E+00 0.436142E-01 + 1264 -0.824832E+00 0.671860E+00 0.300353E+00 + 1265 -0.885043E+00 0.548068E+00 0.252069E+00 + 1266 -0.725935E+00 0.831809E+00 0.291324E+00 + 1267 -0.863958E+00 0.619201E+00 0.429085E+00 + 1268 -0.723552E+00 0.841907E+00 0.441293E+00 + 1269 -0.105696E+01 0.398005E+00 0.333277E+00 + 1270 -0.993065E+00 0.523181E+00 0.500000E+00 + 1271 -0.946551E+00 0.494449E+00 0.342283E+00 + 1272 -0.989182E+00 0.462019E+00 0.277414E+00 + 1273 -0.105775E+01 0.391188E+00 0.458451E+00 + 1274 -0.113258E+01 0.388531E+00 0.500000E+00 + 1275 -0.693613E+00 0.922175E+00 0.223364E+00 + 1276 -0.941449E+00 0.519961E+00 -0.128921E-06 + 1277 -0.991327E+00 0.482018E+00 0.125957E+00 + 1278 -0.135794E+01 0.103864E+00 0.100919E+00 + 1279 -0.782967E+00 0.665274E+00 0.887906E-01 + 1280 -0.852807E+00 0.612308E+00 0.114600E+00 + 1281 -0.964426E+00 0.567711E+00 0.500000E+00 + 1282 -0.111226E+01 0.353467E+00 0.429600E+00 + 1283 -0.992506E+00 0.450398E+00 0.233950E+00 + 1284 -0.925620E+00 0.508028E+00 0.204571E+00 + 1285 -0.113372E+01 0.297240E+00 -0.128921E-06 + 1286 -0.111789E+01 0.281754E+00 0.837233E-01 + 1287 -0.111740E+01 0.296633E+00 0.194460E+00 + 1288 -0.117565E+01 0.197022E+00 0.999006E-01 + 1289 -0.116508E+01 0.173800E+00 -0.128921E-06 + 1290 -0.130785E+01 0.155654E+00 -0.128921E-06 + 1291 -0.123755E+01 0.203520E+00 0.343228E+00 + 1292 -0.124798E+01 0.226052E+00 0.450566E+00 + 1293 -0.121843E+01 0.333469E+00 0.500000E+00 + 1294 -0.134754E+01 0.142355E+00 0.404871E+00 + 1295 -0.128643E+01 0.757280E-01 0.235976E+00 + 1296 -0.117000E+01 0.187384E+00 0.190801E+00 + 1297 -0.115665E+01 0.226148E+00 0.306140E+00 + 1298 -0.111047E+01 0.319470E+00 0.311480E+00 + 1299 -0.103730E+01 0.396808E+00 0.281027E+00 + 1300 -0.104487E+01 0.388233E+00 0.200220E+00 + 1301 -0.103752E+01 0.380998E+00 0.119258E+00 + 1302 -0.107786E+01 0.389973E+00 -0.128921E-06 + 1303 -0.102373E+01 0.419541E+00 0.419600E-01 + 1304 -0.105316E+01 0.316195E+00 0.421076E-01 + 1305 -0.962394E+00 0.437618E+00 0.138132E+00 + 1306 -0.130973E+01 0.779734E-01 0.960335E-01 + 1307 -0.150000E+01 -0.128921E-06 0.140000E+00 + 1308 -0.138288E+01 0.914154E-01 -0.128921E-06 + 1309 -0.123394E+01 0.114217E+00 0.396449E-01 + 1310 -0.114565E+01 0.252964E+00 0.432727E+00 + 1311 -0.133436E+01 0.198692E+00 0.500000E+00 + 1312 -0.143463E+01 0.135891E+00 0.500000E+00 + 1313 -0.150000E+01 0.533335E-01 0.500000E+00 + 1314 -0.135464E+01 -0.128921E-06 0.399425E+00 + 1315 -0.136245E+01 -0.128921E-06 -0.128921E-06 + 1316 -0.969361E+00 0.476650E+00 -0.128921E-06 + 1317 -0.969142E+00 0.476676E+00 0.695166E-01 + 1318 -0.907965E+00 0.517064E+00 0.413596E-01 + 1319 -0.822538E+00 0.531341E+00 0.870410E-01 + 1320 -0.880934E+00 0.481887E+00 0.110654E+00 + 1321 -0.790047E+00 0.628977E+00 0.903930E-01 + 1322 -0.707427E+00 0.784562E+00 0.240229E+00 + 1323 -0.753307E+00 0.715694E+00 0.304939E+00 + 1324 -0.756867E+00 0.674538E+00 0.224780E+00 + 1325 -0.679645E+00 0.756934E+00 0.158808E+00 + 1326 -0.704395E+00 0.779852E+00 0.464312E-01 + 1327 -0.660905E+00 0.856993E+00 0.131198E+00 + 1328 -0.773259E+00 0.588597E+00 0.187608E+00 + 1329 -0.694118E+00 0.894798E+00 0.298423E+00 + 1330 -0.823408E+00 0.654611E+00 0.344966E+00 + 1331 -0.919648E+00 0.600111E+00 0.461792E+00 + 1332 -0.878673E+00 0.542050E+00 0.406074E+00 + 1333 -0.828946E+00 0.634284E+00 0.453503E+00 + 1334 -0.882154E+00 0.514236E+00 0.336907E+00 + 1335 -0.856441E+00 0.579285E+00 0.287517E+00 + 1336 -0.810031E+00 0.652984E+00 -0.128921E-06 + 1337 -0.738020E+00 0.697514E+00 -0.128921E-06 + 1338 -0.864047E+00 0.560756E+00 -0.128921E-06 + 1339 -0.695788E+00 0.908454E+00 -0.128921E-06 + 1340 -0.687603E+00 0.696921E+00 0.841880E-01 + 1341 -0.612153E+00 0.906125E+00 0.472024E-01 + 1342 -0.640955E+00 0.871898E+00 0.389827E+00 + 1343 -0.821935E+00 0.530203E+00 0.216012E+00 + 1344 -0.897390E+00 0.487006E+00 0.250713E+00 + 1345 -0.830039E+00 0.704790E+00 0.500000E+00 + 1346 -0.753824E+00 0.744883E+00 0.429313E+00 + 1347 -0.728107E+00 0.800438E+00 0.500000E+00 + 1348 -0.670000E+00 0.100000E+01 0.500000E+00 + 1349 -0.992247E+00 0.448672E+00 0.316461E+00 + 1350 -0.101661E+01 0.429145E+00 0.407486E+00 + 1351 -0.935244E+00 0.459666E+00 0.429735E+00 + 1352 -0.943656E+00 0.400160E+00 0.373933E+00 + 1353 -0.104924E+01 0.362522E+00 0.391595E+00 + 1354 -0.104950E+01 0.434940E+00 0.500000E+00 + 1355 -0.941455E+00 0.519957E+00 0.500000E+00 + 1356 -0.953793E+00 0.419602E+00 0.239923E+00 + 1357 -0.110620E+01 0.344094E+00 0.500000E+00 + 1358 -0.102654E+01 0.331368E+00 0.458478E+00 + 1359 -0.635075E+00 0.100000E+01 0.122387E+00 + 1360 -0.635105E+00 0.911122E+00 0.205544E+00 + 1361 -0.897766E+00 0.419750E+00 0.192181E+00 + 1362 -0.110619E+01 0.344099E+00 -0.128921E-06 + 1363 -0.112296E+01 0.315030E+00 0.135006E+00 + 1364 -0.115565E+01 0.253952E+00 -0.128921E-06 + 1365 -0.113172E+01 0.244811E+00 0.843965E-01 + 1366 -0.108040E+01 0.271344E+00 0.420090E-01 + 1367 -0.119756E+01 0.148703E+00 0.847050E-01 + 1368 -0.116066E+01 0.255050E+00 0.230333E+00 + 1369 -0.120021E+01 0.276546E+00 0.449849E+00 + 1370 -0.129573E+01 0.217590E+00 0.447753E+00 + 1371 -0.120748E+01 0.192181E+00 0.392506E+00 + 1372 -0.121204E+01 0.140897E+00 0.219564E+00 + 1373 -0.117285E+01 0.143844E+00 0.312404E+00 + 1374 -0.105330E+01 0.336169E+00 0.272736E+00 + 1375 -0.112847E+01 0.352167E+00 0.360560E+00 + 1376 -0.113743E+01 0.273510E+00 0.343751E+00 + 1377 -0.102440E+01 0.363128E+00 0.177761E+00 + 1378 -0.100037E+01 0.419761E+00 0.191246E+00 + 1379 -0.102573E+01 0.360597E+00 0.418513E-01 + 1380 -0.996554E+00 0.433224E+00 0.831026E-01 + 1381 -0.130211E+01 0.106934E+00 0.466742E-01 + 1382 -0.139434E+01 0.432348E-01 -0.128921E-06 + 1383 -0.121712E+01 0.173271E+00 -0.128921E-06 + 1384 -0.131957E+01 -0.128921E-06 0.157485E+00 + 1385 -0.116142E+01 0.340392E+00 0.500000E+00 + 1386 -0.140285E+01 0.845218E-01 0.406195E+00 + 1387 -0.150000E+01 0.106667E+00 0.500000E+00 + 1388 -0.150000E+01 -0.128921E-06 0.380000E+00 + 1389 -0.132274E+01 -0.128921E-06 0.321821E+00 + 1390 -0.150000E+01 0.533335E-01 -0.128921E-06 + 1391 -0.136279E+01 0.144645E+00 0.500000E+00 + 1392 -0.925177E+00 0.484786E+00 0.370262E-01 + 1393 -0.997005E+00 0.433623E+00 -0.128921E-06 + 1394 -0.834142E+00 0.579923E+00 0.888720E-01 + 1395 -0.734902E+00 0.738880E+00 0.254720E+00 + 1396 -0.691272E+00 0.784459E+00 0.326809E+00 + 1397 -0.777957E+00 0.670316E+00 0.312262E+00 + 1398 -0.647645E+00 0.786229E+00 0.173278E+00 + 1399 -0.698597E+00 0.752354E+00 0.826238E-01 + 1400 -0.670114E+00 0.911119E+00 0.164035E+00 + 1401 -0.736217E+00 0.641514E+00 0.156322E+00 + 1402 -0.806560E+00 0.577240E+00 0.228026E+00 + 1403 -0.705084E+00 0.100000E+01 0.374847E+00 + 1404 -0.825089E+00 0.677355E+00 0.403527E+00 + 1405 -0.921842E+00 0.538305E+00 0.453208E+00 + 1406 -0.856018E+00 0.613241E+00 0.318794E+00 + 1407 -0.854440E+00 0.565383E+00 0.414809E+00 + 1408 -0.884955E+00 0.501761E+00 0.370602E+00 + 1409 -0.882025E+00 0.521167E+00 0.283055E+00 + 1410 -0.836939E+00 0.606197E+00 -0.128921E-06 + 1411 -0.781349E+00 0.625903E+00 0.425281E-01 + 1412 -0.699869E+00 0.845605E+00 -0.128921E-06 + 1413 -0.711193E+00 0.745926E+00 -0.128921E-06 + 1414 -0.615456E+00 0.877254E+00 0.843068E-01 + 1415 -0.640242E+00 0.913959E+00 -0.128921E-06 + 1416 -0.936437E+00 0.461007E+00 0.286883E+00 + 1417 -0.716632E+00 0.784519E+00 0.447595E+00 + 1418 -0.682774E+00 0.870306E+00 0.451725E+00 + 1419 -0.802612E+00 0.754427E+00 0.500000E+00 + 1420 -0.810039E+00 0.652981E+00 0.500000E+00 + 1421 -0.885373E+00 0.609735E+00 0.500000E+00 + 1422 -0.101704E+01 0.387055E+00 0.314133E+00 + 1423 -0.969429E+00 0.416937E+00 0.411145E+00 + 1424 -0.102128E+01 0.479226E+00 0.500000E+00 + 1425 -0.930028E+00 0.441639E+00 0.465228E+00 + 1426 -0.101429E+01 0.362931E+00 0.415768E+00 + 1427 -0.102471E+01 0.390049E+00 0.500000E+00 + 1428 -0.109718E+01 0.295153E+00 0.457522E+00 + 1429 -0.627273E+00 0.904582E+00 0.263489E+00 + 1430 -0.794519E+00 0.540504E+00 0.401161E-01 + 1431 -0.847338E+00 0.498029E+00 0.128111E+00 + 1432 -0.913682E+00 0.434212E+00 0.125273E+00 + 1433 -0.600000E+00 0.100000E+01 -0.128921E-06 + 1434 -0.110663E+01 0.313955E+00 0.429407E-01 + 1435 -0.113297E+01 0.239693E+00 0.165983E+00 + 1436 -0.114751E+01 0.163126E+00 0.493372E-01 + 1437 -0.124777E+01 0.129355E+00 0.131417E+00 + 1438 -0.108483E+01 0.347699E+00 0.204112E+00 + 1439 -0.124532E+01 0.271394E+00 0.500000E+00 + 1440 -0.126089E+01 0.205419E+00 0.401637E+00 + 1441 -0.119351E+01 0.213344E+00 0.337608E+00 + 1442 -0.116098E+01 0.308372E+00 0.455364E+00 + 1443 -0.124626E+01 0.924904E-01 0.302913E+00 + 1444 -0.112350E+01 0.184524E+00 0.262232E+00 + 1445 -0.106065E+01 0.284216E+00 0.267088E+00 + 1446 -0.106519E+01 0.360734E+00 0.339756E+00 + 1447 -0.109014E+01 0.291377E+00 0.123435E+00 + 1448 -0.999667E+00 0.394175E+00 0.152263E+00 + 1449 -0.105239E+01 0.345678E+00 -0.128921E-06 + 1450 -0.103326E+01 0.335873E+00 0.854506E-01 + 1451 -0.131881E+01 0.104161E+00 -0.128921E-06 + 1452 -0.119185E+01 0.129600E+00 -0.128921E-06 + 1453 -0.138137E+01 0.137041E+00 0.456014E+00 + 1454 -0.144516E+01 0.716370E-01 0.500000E+00 + 1455 -0.142968E+01 -0.128921E-06 0.421378E+00 + 1456 -0.150000E+01 -0.128921E-06 0.260000E+00 + 1457 -0.131878E+01 0.704270E-01 0.377745E+00 + 1458 -0.139180E+01 -0.128921E-06 0.145271E+00 + 1459 -0.150000E+01 -0.128921E-06 -0.128921E-06 + 1460 -0.972045E+00 0.417989E+00 0.410075E-01 + 1461 -0.100254E+01 0.403053E+00 0.249045E+00 + 1462 -0.879676E+00 0.503646E+00 0.818729E-01 + 1463 -0.824121E+00 0.572307E+00 0.149831E+00 + 1464 -0.704383E+00 0.715394E+00 0.284686E+00 + 1465 -0.792226E+00 0.638370E+00 0.254896E+00 + 1466 -0.674083E+00 0.856764E+00 0.214885E+00 + 1467 -0.751085E+00 0.586148E+00 0.150315E+00 + 1468 -0.784396E+00 0.688082E+00 0.362676E+00 + 1469 -0.902164E+00 0.507558E+00 0.416856E+00 + 1470 -0.821097E+00 0.605918E+00 0.392862E+00 + 1471 -0.862190E+00 0.548458E+00 0.340369E+00 + 1472 -0.761799E+00 0.682725E+00 0.418834E-01 + 1473 -0.814586E+00 0.588778E+00 0.410968E-01 + 1474 -0.728097E+00 0.800440E+00 -0.128921E-06 + 1475 -0.663177E+00 0.729853E+00 0.121151E+00 + 1476 -0.686801E+00 0.652289E+00 0.201526E+00 + 1477 -0.678103E+00 0.928433E+00 0.548988E-01 + 1478 -0.624963E+00 0.823211E+00 0.506015E-01 + 1479 -0.670095E+00 0.909639E+00 0.332270E+00 + 1480 -0.842152E+00 0.538092E+00 0.261498E+00 + 1481 -0.913912E+00 0.488297E+00 0.309794E+00 + 1482 -0.933706E+00 0.442523E+00 0.205747E+00 + 1483 -0.794034E+00 0.697169E+00 0.458426E+00 + 1484 -0.674073E+00 0.764637E+00 0.400359E+00 + 1485 -0.857601E+00 0.656571E+00 0.500000E+00 + 1486 -0.874747E+00 0.573810E+00 0.464784E+00 + 1487 -0.634043E+00 0.911487E+00 0.447898E+00 + 1488 -0.695796E+00 0.908453E+00 0.500000E+00 + 1489 -0.993061E+00 0.407907E+00 0.360057E+00 + 1490 -0.969368E+00 0.476646E+00 0.500000E+00 + 1491 -0.998272E+00 0.404223E+00 0.458456E+00 + 1492 -0.107107E+01 0.324896E+00 0.447213E+00 + 1493 -0.611909E+00 0.931709E+00 0.147192E+00 + 1494 -0.891364E+00 0.516614E+00 -0.128921E-06 + 1495 -0.820603E+00 0.496851E+00 0.397867E-01 + 1496 -0.826862E+00 0.488482E+00 0.183849E+00 + 1497 -0.597050E+00 0.935180E+00 -0.128921E-06 + 1498 -0.108234E+01 0.335079E+00 0.927215E-01 + 1499 -0.111318E+01 0.208075E+00 0.113703E+00 + 1500 -0.113672E+01 0.213545E+00 -0.128921E-06 + 1501 -0.130642E+01 0.259274E+00 0.500000E+00 + 1502 -0.118552E+01 0.239895E+00 0.396453E+00 + 1503 -0.125402E+01 0.127776E+00 0.371983E+00 + 1504 -0.133500E+01 0.166327E+00 0.454737E+00 + 1505 -0.118669E+01 0.135204E+00 0.148746E+00 + 1506 -0.117964E+01 0.140868E+00 0.253266E+00 + 1507 -0.108454E+01 0.306318E+00 0.234282E+00 + 1508 -0.125505E+01 0.129620E+00 -0.128921E-06 + 1509 -0.137175E+01 0.609853E-01 0.454308E-01 + 1510 -0.116378E+01 0.114368E+00 0.439307E-01 + 1511 -0.141609E+01 0.486377E-01 0.461476E+00 + 1512 -0.128353E+01 -0.128921E-06 0.258570E+00 + 1513 -0.143000E+01 -0.128921E-06 -0.128921E-06 + 1514 -0.920448E+00 0.444520E+00 0.405391E-01 + 1515 -0.102470E+01 0.390054E+00 -0.128921E-06 + 1516 -0.989070E+00 0.398982E+00 0.916649E-01 + 1517 -0.710965E+00 0.739356E+00 0.334803E+00 + 1518 -0.711599E+00 0.749451E+00 0.213310E+00 + 1519 -0.734467E+00 0.668567E+00 0.279079E+00 + 1520 -0.736214E+00 0.601323E+00 0.217749E+00 + 1521 -0.777545E+00 0.584154E+00 0.124786E+00 + 1522 -0.667468E+00 0.818866E+00 0.250483E+00 + 1523 -0.830459E+00 0.581462E+00 0.338935E+00 + 1524 -0.736993E+00 0.723232E+00 0.559788E-01 + 1525 -0.764092E+00 0.649512E+00 -0.128921E-06 + 1526 -0.673915E+00 0.677957E+00 0.142711E+00 + 1527 -0.632187E+00 0.776977E+00 0.891866E-01 + 1528 -0.652639E+00 0.856863E+00 -0.128921E-06 + 1529 -0.670046E+00 0.910892E+00 0.416536E+00 + 1530 -0.670146E+00 0.100000E+01 0.247201E+00 + 1531 -0.868952E+00 0.510131E+00 0.229733E+00 + 1532 -0.655900E+00 0.807496E+00 0.454777E+00 + 1533 -0.773640E+00 0.706013E+00 0.408839E+00 + 1534 -0.756499E+00 0.750599E+00 0.500000E+00 + 1535 -0.836947E+00 0.606193E+00 0.500000E+00 + 1536 -0.913358E+00 0.564228E+00 0.500000E+00 + 1537 -0.640247E+00 0.913960E+00 0.500000E+00 + 1538 -0.940649E+00 0.431262E+00 0.341337E+00 + 1539 -0.917207E+00 0.503397E+00 0.458753E+00 + 1540 -0.947397E+00 0.402518E+00 0.459480E+00 + 1541 -0.980568E+00 0.369694E+00 0.367644E+00 + 1542 -0.106649E+01 0.322225E+00 0.379065E+00 + 1543 -0.105240E+01 0.345673E+00 0.500000E+00 + 1544 -0.635764E+00 0.949713E+00 0.639229E-01 + 1545 -0.816571E+00 0.557366E+00 -0.128921E-06 + 1546 -0.863799E+00 0.496544E+00 0.481060E-01 + 1547 -0.816412E+00 0.510175E+00 0.145296E+00 + 1548 -0.929867E+00 0.419658E+00 0.173672E+00 + 1549 -0.854741E+00 0.448313E+00 0.162243E+00 + 1550 -0.112059E+01 0.257970E+00 0.122462E+00 + 1551 -0.110539E+01 0.226382E+00 0.411407E-01 + 1552 -0.114142E+01 0.177217E+00 0.125501E+00 + 1553 -0.120538E+01 0.161488E+00 0.343671E+00 + 1554 -0.111291E+01 0.260685E+00 0.295040E+00 + 1555 -0.112685E+01 0.294688E+00 0.398553E+00 + 1556 -0.102327E+01 0.337258E+00 0.223489E+00 + 1557 -0.103458E+01 0.308624E+00 0.133070E+00 + 1558 -0.122679E+01 0.731000E-01 0.160353E+00 + 1559 -0.131374E+01 0.754764E-01 0.322881E+00 + 1560 -0.921182E+00 0.456706E+00 0.843500E-01 + 1561 -0.742502E+00 0.626613E+00 0.121628E+00 + 1562 -0.745758E+00 0.737012E+00 0.376709E+00 + 1563 -0.838125E+00 0.544533E+00 0.373312E+00 + 1564 -0.685082E+00 0.714142E+00 0.208022E+00 + 1565 -0.608734E+00 0.836843E+00 0.122161E+00 + 1566 -0.673894E+00 0.793189E+00 -0.128921E-06 + 1567 -0.683661E+00 0.849836E+00 0.326159E+00 + 1568 -0.802425E+00 0.612604E+00 0.321472E+00 + 1569 -0.815419E+00 0.590526E+00 0.448431E+00 + 1570 -0.635054E+00 0.100000E+01 0.374761E+00 + 1571 -0.699879E+00 0.845604E+00 0.500000E+00 + 1572 -0.910560E+00 0.470320E+00 0.369570E+00 + 1573 -0.988256E+00 0.415989E+00 0.288098E+00 + 1574 -0.997011E+00 0.433619E+00 0.500000E+00 + 1575 -0.101175E+01 0.336425E+00 0.351175E+00 + 1576 -0.972501E+00 0.378958E+00 0.404339E+00 + 1577 -0.918790E+00 0.473627E+00 -0.128921E-06 + 1578 -0.843082E+00 0.513268E+00 -0.128921E-06 + 1579 -0.788198E+00 0.569258E+00 0.740904E-01 + 1580 -0.880737E+00 0.478479E+00 0.179848E+00 + 1581 -0.110717E+01 0.255433E+00 -0.128921E-06 + 1582 -0.107298E+01 0.309954E+00 0.190180E+00 + 1583 -0.737786E+00 0.661791E+00 0.872300E-01 + 1584 -0.803994E+00 0.569317E+00 0.290309E+00 + 1585 -0.643238E+00 0.796220E+00 0.367466E+00 + 1586 -0.956246E+00 0.420643E+00 0.752309E-01 + 1587 -0.107997E+01 0.300525E+00 -0.128921E-06 + 1588 -0.106238E+01 0.303607E+00 0.846330E-01 + 1589 -0.108641E+01 0.247896E+00 0.220526E+00 + 1590 -0.107615E+01 0.210360E+00 0.144376E+00 + 1591 -0.113619E+01 0.150821E+00 0.162179E+00 + 1592 -0.113553E+01 0.129220E+00 -0.128921E-06 + 1593 -0.103912E+01 0.227622E+00 0.409358E-01 + 1594 -0.118939E+01 0.867836E-01 0.839152E-01 + 1595 -0.126142E+01 0.696937E-01 0.500071E-01 + 1596 -0.124657E+01 0.168294E+00 0.448887E+00 + 1597 -0.115820E+01 0.211994E+00 0.444042E+00 + 1598 -0.118778E+01 0.287489E+00 0.500000E+00 + 1599 -0.125558E+01 0.620261E-01 0.420395E+00 + 1600 -0.117840E+01 0.118904E+00 0.371557E+00 + 1601 -0.131881E+01 0.104154E+00 0.500000E+00 + 1602 -0.123414E+01 -0.128921E-06 0.208150E+00 + 1603 -0.109880E+01 0.215889E+00 0.325197E+00 + 1604 -0.112430E+01 0.119841E+00 0.249110E+00 + 1605 -0.104644E+01 0.286432E+00 0.327650E+00 + 1606 -0.102663E+01 0.302104E+00 0.243255E+00 + 1607 -0.107222E+01 0.274476E+00 0.417538E+00 + 1608 -0.985832E+00 0.364178E+00 0.245927E+00 + 1609 -0.985965E+00 0.315407E+00 0.176076E+00 + 1610 -0.998605E+00 0.306927E+00 0.117194E+00 + 1611 -0.946240E+00 0.388711E+00 0.133265E+00 + 1612 -0.974198E+00 0.360225E+00 0.407375E-01 + 1613 -0.133804E+01 0.483057E-01 -0.128921E-06 + 1614 -0.110718E+01 0.255427E+00 0.500000E+00 + 1615 -0.143000E+01 -0.128921E-06 0.500000E+00 + 1616 -0.129726E+01 -0.128921E-06 0.500000E+00 + 1617 -0.946038E+00 0.431339E+00 -0.128921E-06 + 1618 -0.869775E+00 0.470416E+00 -0.128921E-06 + 1619 -0.797955E+00 0.480068E+00 0.785483E-01 + 1620 -0.786958E+00 0.548289E+00 0.120198E+00 + 1621 -0.867781E+00 0.449094E+00 0.103720E+00 + 1622 -0.785173E+00 0.529172E+00 0.199096E+00 + 1623 -0.646823E+00 0.761244E+00 0.262918E+00 + 1624 -0.710457E+00 0.680797E+00 0.331198E+00 + 1625 -0.713061E+00 0.652128E+00 0.237719E+00 + 1626 -0.665353E+00 0.743124E+00 0.352445E+00 + 1627 -0.781459E+00 0.627057E+00 0.351641E+00 + 1628 -0.766305E+00 0.582773E+00 0.288076E+00 + 1629 -0.611169E+00 0.732584E+00 0.144624E+00 + 1630 -0.604035E+00 0.863600E+00 0.166862E+00 + 1631 -0.691812E+00 0.725006E+00 0.394285E-01 + 1632 -0.709771E+00 0.609426E+00 0.161862E+00 + 1633 -0.697595E+00 0.566928E+00 0.244156E+00 + 1634 -0.710118E+00 0.596584E+00 0.703478E-01 + 1635 -0.600168E+00 0.884053E+00 0.305691E+00 + 1636 -0.891370E+00 0.516610E+00 0.500000E+00 + 1637 -0.839558E+00 0.525067E+00 0.417811E+00 + 1638 -0.878755E+00 0.454325E+00 0.460797E+00 + 1639 -0.822941E+00 0.531679E+00 0.303399E+00 + 1640 -0.770670E+00 0.645407E+00 0.462420E+00 + 1641 -0.871962E+00 0.452568E+00 0.367820E+00 + 1642 -0.863010E+00 0.473456E+00 0.291464E+00 + 1643 -0.790247E+00 0.602770E+00 -0.128921E-06 + 1644 -0.719571E+00 0.646062E+00 -0.128921E-06 + 1645 -0.651159E+00 0.660489E+00 0.938796E-01 + 1646 -0.621604E+00 0.659938E+00 0.217673E+00 + 1647 -0.549463E+00 0.846421E+00 0.466073E-01 + 1648 -0.611309E+00 0.808301E+00 -0.128921E-06 + 1649 -0.588194E+00 0.842837E+00 0.400512E+00 + 1650 -0.830250E+00 0.466238E+00 0.212443E+00 + 1651 -0.889308E+00 0.408034E+00 0.252803E+00 + 1652 -0.783293E+00 0.701147E+00 0.500000E+00 + 1653 -0.665303E+00 0.735932E+00 0.450169E+00 + 1654 -0.611314E+00 0.808302E+00 0.500000E+00 + 1655 -0.816577E+00 0.557363E+00 0.500000E+00 + 1656 -0.759199E+00 0.568354E+00 0.420432E+00 + 1657 -0.597051E+00 0.935181E+00 0.500000E+00 + 1658 -0.565034E+00 0.100000E+01 0.374701E+00 + 1659 -0.958807E+00 0.339012E+00 0.332481E+00 + 1660 -0.914560E+00 0.390591E+00 0.323231E+00 + 1661 -0.922509E+00 0.386872E+00 0.420254E+00 + 1662 -0.100021E+01 0.316955E+00 0.418270E+00 + 1663 -0.946044E+00 0.431335E+00 0.500000E+00 + 1664 -0.100011E+01 0.346055E+00 0.500000E+00 + 1665 -0.565047E+00 0.100000E+01 0.122303E+00 + 1666 -0.796379E+00 0.510042E+00 -0.128921E-06 + 1667 -0.782932E+00 0.468919E+00 0.163869E+00 + 1668 -0.884626E+00 0.385355E+00 0.180687E+00 + 1669 -0.808301E+00 0.401119E+00 0.156705E+00 + 1670 -0.536202E+00 0.953645E+00 -0.128921E-06 + 1671 -0.107480E+01 0.240762E+00 0.893738E-01 + 1672 -0.107240E+01 0.246395E+00 0.181459E+00 + 1673 -0.112057E+01 0.179922E+00 0.217050E+00 + 1674 -0.109292E+01 0.121317E+00 0.528540E-01 + 1675 -0.110845E+01 0.172066E+00 -0.128921E-06 + 1676 -0.105405E+01 0.258075E+00 -0.128921E-06 + 1677 -0.124320E+01 0.485963E-01 0.105359E+00 + 1678 -0.119993E+01 0.223463E+00 0.500000E+00 + 1679 -0.130786E+01 0.155644E+00 0.500000E+00 + 1680 -0.120610E+01 0.143622E+00 0.400817E+00 + 1681 -0.111336E+01 0.240042E+00 0.375614E+00 + 1682 -0.113372E+01 0.297234E+00 0.500000E+00 + 1683 -0.134658E+01 0.812886E-01 0.449618E+00 + 1684 -0.118034E+01 0.503376E-01 0.224826E+00 + 1685 -0.112457E+01 0.133773E+00 0.316823E+00 + 1686 -0.125860E+01 -0.128921E-06 0.341831E+00 + 1687 -0.107926E+01 0.234536E+00 0.270136E+00 + 1688 -0.102026E+01 0.343624E+00 0.303537E+00 + 1689 -0.969482E+00 0.367279E+00 0.201347E+00 + 1690 -0.968844E+00 0.290076E+00 0.144899E+00 + 1691 -0.100295E+01 0.316830E+00 0.418618E-01 + 1692 -0.130303E+01 0.574372E-01 0.485333E-01 + 1693 -0.121608E+01 0.860150E-01 -0.128921E-06 + 1694 -0.110879E+01 0.199900E+00 0.457922E+00 + 1695 -0.150000E+01 -0.128921E-06 0.500000E+00 + 1696 -0.879126E+00 0.444887E+00 0.521074E-01 + 1697 -0.973093E+00 0.389005E+00 -0.128921E-06 + 1698 -0.932143E+00 0.390603E+00 0.726885E-01 + 1699 -0.772300E+00 0.523261E+00 0.791945E-01 + 1700 -0.776412E+00 0.558910E+00 0.164002E+00 + 1701 -0.743997E+00 0.673415E+00 0.352704E+00 + 1702 -0.668096E+00 0.702195E+00 0.340988E+00 + 1703 -0.685127E+00 0.645600E+00 0.280391E+00 + 1704 -0.628802E+00 0.823842E+00 0.324465E+00 + 1705 -0.642819E+00 0.715354E+00 0.205957E+00 + 1706 -0.590517E+00 0.773594E+00 0.159711E+00 + 1707 -0.635319E+00 0.753894E+00 0.372415E-01 + 1708 -0.695083E+00 0.626952E+00 0.109469E+00 + 1709 -0.651681E+00 0.596099E+00 0.201118E+00 + 1710 -0.714358E+00 0.579863E+00 0.276058E+00 + 1711 -0.776831E+00 0.532114E+00 0.262528E+00 + 1712 -0.795036E+00 0.648921E+00 0.403890E+00 + 1713 -0.868080E+00 0.500096E+00 0.459533E+00 + 1714 -0.906506E+00 0.433904E+00 0.418368E+00 + 1715 -0.796585E+00 0.571957E+00 0.362931E+00 + 1716 -0.790254E+00 0.602767E+00 0.500000E+00 + 1717 -0.851780E+00 0.474393E+00 0.325358E+00 + 1718 -0.774895E+00 0.572587E+00 0.347518E-01 + 1719 -0.717088E+00 0.678913E+00 0.413030E-01 + 1720 -0.590400E+00 0.683724E+00 0.119602E+00 + 1721 -0.532068E+00 0.898450E+00 0.114156E+00 + 1722 -0.599166E+00 0.869236E+00 -0.128921E-06 + 1723 -0.632535E+00 0.929847E+00 0.373381E+00 + 1724 -0.601006E+00 0.844766E+00 0.450981E+00 + 1725 -0.885298E+00 0.450615E+00 0.236119E+00 + 1726 -0.761085E+00 0.681671E+00 0.459387E+00 + 1727 -0.711202E+00 0.745924E+00 0.500000E+00 + 1728 -0.624501E+00 0.748892E+00 0.500000E+00 + 1729 -0.561358E+00 0.773926E+00 0.398616E+00 + 1730 -0.864053E+00 0.560753E+00 0.500000E+00 + 1731 -0.784817E+00 0.531559E+00 0.447227E+00 + 1732 -0.600000E+00 0.100000E+01 0.500000E+00 + 1733 -0.933580E+00 0.364425E+00 0.366224E+00 + 1734 -0.975096E+00 0.331672E+00 0.459594E+00 + 1735 -0.896522E+00 0.428589E+00 0.500000E+00 + 1736 -0.100546E+01 0.288789E+00 0.359412E+00 + 1737 -0.917897E+00 0.363110E+00 0.264223E+00 + 1738 -0.102711E+01 0.302376E+00 0.500000E+00 + 1739 -0.540117E+00 0.886815E+00 0.256869E+00 + 1740 -0.822346E+00 0.467241E+00 -0.128921E-06 + 1741 -0.808891E+00 0.447800E+00 0.120912E+00 + 1742 -0.784053E+00 0.447233E+00 0.202677E+00 + 1743 -0.857495E+00 0.412313E+00 0.176881E+00 + 1744 -0.530000E+00 0.100000E+01 -0.128921E-06 + 1745 -0.109371E+01 0.208883E+00 0.196391E+00 + 1746 -0.108341E+01 0.179722E+00 0.873589E-01 + 1747 -0.108119E+01 0.214108E+00 -0.128921E-06 + 1748 -0.102775E+01 0.273607E+00 0.412429E-01 + 1749 -0.126752E+01 0.202008E+00 0.500000E+00 + 1750 -0.119807E+01 0.174284E+00 0.456026E+00 + 1751 -0.115566E+01 0.253945E+00 0.500000E+00 + 1752 -0.129391E+01 0.129803E+00 0.451357E+00 + 1753 -0.122475E+01 0.675452E-01 0.357139E+00 + 1754 -0.116315E+01 0.592170E-01 0.148452E+00 + 1755 -0.115206E+01 0.125811E+00 0.202371E+00 + 1756 -0.108122E+01 0.126190E+00 0.266744E+00 + 1757 -0.108662E+01 0.264486E+00 0.358156E+00 + 1758 -0.104676E+01 0.263413E+00 0.231946E+00 + 1759 -0.993246E+00 0.286081E+00 0.308884E+00 + 1760 -0.973982E+00 0.299143E+00 0.220080E+00 + 1761 -0.103969E+01 0.262182E+00 0.137037E+00 + 1762 -0.994615E+00 0.358176E+00 0.137103E+00 + 1763 -0.100010E+01 0.346060E+00 -0.128921E-06 + 1764 -0.126735E+01 0.564238E-01 -0.128921E-06 + 1765 -0.126021E+01 -0.128921E-06 0.102395E+00 + 1766 -0.119274E+01 0.708068E-01 0.415421E-01 + 1767 -0.110882E+01 0.862076E-01 -0.128921E-06 + 1768 -0.106760E+01 0.242921E+00 0.458667E+00 + 1769 -0.138288E+01 0.914096E-01 0.500000E+00 + 1770 -0.136245E+01 -0.128921E-06 0.500000E+00 + 1771 -0.127897E+01 -0.128921E-06 0.411990E+00 + 1772 -0.923042E+00 0.387223E+00 -0.128921E-06 + 1773 -0.909407E+00 0.423942E+00 0.807468E-01 + 1774 -0.836623E+00 0.477944E+00 0.793187E-01 + 1775 -0.772309E+00 0.492386E+00 0.117429E+00 + 1776 -0.748775E+00 0.589482E+00 0.813606E-01 + 1777 -0.641295E+00 0.680780E+00 0.307719E+00 + 1778 -0.687746E+00 0.691997E+00 0.404867E+00 + 1779 -0.730869E+00 0.624802E+00 0.273032E+00 + 1780 -0.606929E+00 0.814338E+00 0.247582E+00 + 1781 -0.647171E+00 0.727944E+00 0.674984E-01 + 1782 -0.670573E+00 0.735928E+00 -0.128921E-06 + 1783 -0.743117E+00 0.563844E+00 0.210538E+00 + 1784 -0.841240E+00 0.543794E+00 0.459241E+00 + 1785 -0.855265E+00 0.482386E+00 0.415212E+00 + 1786 -0.784877E+00 0.598342E+00 0.405728E+00 + 1787 -0.764219E+00 0.570803E+00 0.335913E+00 + 1788 -0.828726E+00 0.492045E+00 0.278594E+00 + 1789 -0.745015E+00 0.599462E+00 -0.128921E-06 + 1790 -0.679496E+00 0.632976E+00 0.628040E-01 + 1791 -0.612294E+00 0.701259E+00 0.175355E+00 + 1792 -0.648796E+00 0.615429E+00 0.252513E+00 + 1793 -0.579231E+00 0.927406E+00 0.816155E-01 + 1794 -0.555187E+00 0.823907E+00 -0.128921E-06 + 1795 -0.566861E+00 0.769702E+00 0.103135E+00 + 1796 -0.600094E+00 0.100000E+01 0.247046E+00 + 1797 -0.561658E+00 0.879346E+00 0.368531E+00 + 1798 -0.763994E+00 0.494035E+00 0.222681E+00 + 1799 -0.872228E+00 0.430186E+00 0.282471E+00 + 1800 -0.915029E+00 0.381051E+00 0.218733E+00 + 1801 -0.673903E+00 0.793188E+00 0.500000E+00 + 1802 -0.600783E+00 0.773588E+00 0.450335E+00 + 1803 -0.738029E+00 0.697511E+00 0.500000E+00 + 1804 -0.599169E+00 0.869238E+00 0.500000E+00 + 1805 -0.965087E+00 0.381205E+00 0.304826E+00 + 1806 -0.900573E+00 0.412092E+00 0.380216E+00 + 1807 -0.918796E+00 0.473623E+00 0.500000E+00 + 1808 -0.973098E+00 0.389001E+00 0.500000E+00 + 1809 -0.898021E+00 0.400221E+00 0.460384E+00 + 1810 -0.981533E+00 0.324001E+00 0.374690E+00 + 1811 -0.107998E+01 0.300520E+00 0.500000E+00 + 1812 -0.100166E+01 0.288698E+00 0.459322E+00 + 1813 -0.774596E+00 0.493719E+00 0.391726E-01 + 1814 -0.821306E+00 0.446301E+00 0.174542E+00 + 1815 -0.108140E+01 0.158732E+00 0.416555E-01 + 1816 -0.111302E+01 0.116064E+00 0.114137E+00 + 1817 -0.121713E+01 0.173262E+00 0.500000E+00 + 1818 -0.114734E+01 0.177105E+00 0.373204E+00 + 1819 -0.124872E+01 0.994772E-01 0.453800E+00 + 1820 -0.120026E+01 -0.128921E-06 0.314816E+00 + 1821 -0.106324E+01 0.176143E+00 0.225473E+00 + 1822 -0.104246E+01 0.231631E+00 0.310502E+00 + 1823 -0.973326E+00 0.319672E+00 0.264810E+00 + 1824 -0.102211E+01 0.292187E+00 0.189534E+00 + 1825 -0.999599E+00 0.282284E+00 0.890606E-01 + 1826 -0.102710E+01 0.302382E+00 -0.128921E-06 + 1827 -0.118601E+01 -0.128921E-06 0.170515E+00 + 1828 -0.116395E+01 0.842824E-01 -0.128921E-06 + 1829 -0.113673E+01 0.213538E+00 0.500000E+00 + 1830 -0.139434E+01 0.432323E-01 0.500000E+00 + 1831 -0.129726E+01 -0.128921E-06 -0.128921E-06 + 1832 -0.898016E+00 0.400225E+00 0.396154E-01 + 1833 -0.960489E+00 0.343878E+00 0.996994E-01 + 1834 -0.644694E+00 0.743323E+00 0.304294E+00 + 1835 -0.736877E+00 0.632489E+00 0.314771E+00 + 1836 -0.572599E+00 0.747162E+00 0.199015E+00 + 1837 -0.686464E+00 0.605902E+00 0.247514E+00 + 1838 -0.670445E+00 0.559434E+00 0.193553E+00 + 1839 -0.717890E+00 0.590041E+00 0.115869E+00 + 1840 -0.761488E+00 0.669291E+00 0.406235E+00 + 1841 -0.805085E+00 0.544207E+00 0.420471E+00 + 1842 -0.776223E+00 0.529310E+00 0.333701E+00 + 1843 -0.825153E+00 0.462312E+00 0.353849E+00 + 1844 -0.736300E+00 0.623097E+00 0.418207E-01 + 1845 -0.693671E+00 0.693163E+00 -0.128921E-06 + 1846 -0.592800E+00 0.706800E+00 0.755149E-01 + 1847 -0.639749E+00 0.649909E+00 0.153758E+00 + 1848 -0.550683E+00 0.814208E+00 0.141662E+00 + 1849 -0.545306E+00 0.887192E+00 -0.128921E-06 + 1850 -0.624494E+00 0.748892E+00 -0.128921E-06 + 1851 -0.826094E+00 0.476516E+00 0.246821E+00 + 1852 -0.900020E+00 0.436665E+00 0.332291E+00 + 1853 -0.632800E+00 0.738478E+00 0.399758E+00 + 1854 -0.652646E+00 0.856863E+00 0.500000E+00 + 1855 -0.547333E+00 0.804028E+00 0.351331E+00 + 1856 -0.764100E+00 0.649509E+00 0.500000E+00 + 1857 -0.768629E+00 0.585442E+00 0.459524E+00 + 1858 -0.559520E+00 0.925341E+00 0.445667E+00 + 1859 -0.923048E+00 0.387219E+00 0.500000E+00 + 1860 -0.969484E+00 0.280300E+00 0.342200E+00 + 1861 -0.949246E+00 0.326369E+00 0.411301E+00 + 1862 -0.102702E+01 0.273272E+00 0.417830E+00 + 1863 -0.105405E+01 0.258069E+00 0.500000E+00 + 1864 -0.565067E+00 0.911152E+00 0.205431E+00 + 1865 -0.770605E+00 0.554103E+00 -0.128921E-06 + 1866 -0.800123E+00 0.451356E+00 0.388691E-01 + 1867 -0.774764E+00 0.519057E+00 0.161820E+00 + 1868 -0.863753E+00 0.416530E+00 0.129586E+00 + 1869 -0.933228E+00 0.364740E+00 0.172077E+00 + 1870 -0.854833E+00 0.413481E+00 0.222243E+00 + 1871 -0.113614E+01 0.899088E-01 0.170211E+00 + 1872 -0.108398E+01 0.158444E+00 0.150046E+00 + 1873 -0.116299E+01 0.717536E-01 0.301568E+00 + 1874 -0.108457E+01 0.172658E+00 0.306568E+00 + 1875 -0.101767E+01 0.264299E+00 0.268735E+00 + 1876 -0.995955E+00 0.332490E+00 0.892280E-01 + 1877 -0.115243E+01 0.752373E-01 0.609864E-01 + 1878 -0.109386E+01 0.210360E+00 0.399134E+00 + 1879 -0.133804E+01 0.483022E-01 0.500000E+00 + 1880 -0.924233E+00 0.359073E+00 0.396730E-01 + 1881 -0.896516E+00 0.428593E+00 -0.128921E-06 + 1882 -0.636849E+00 0.683018E+00 0.263199E+00 + 1883 -0.743192E+00 0.528244E+00 0.126113E+00 + 1884 -0.818476E+00 0.511687E+00 0.366611E+00 + 1885 -0.658653E+00 0.684048E+00 0.391063E-01 + 1886 -0.600778E+00 0.773587E+00 0.496626E-01 + 1887 -0.542378E+00 0.921034E+00 0.455305E-01 + 1888 -0.739355E+00 0.537439E+00 0.284022E+00 + 1889 -0.933259E+00 0.423494E+00 0.276421E+00 + 1890 -0.728993E+00 0.712077E+00 0.450122E+00 + 1891 -0.599110E+00 0.740833E+00 0.332964E+00 + 1892 -0.924238E+00 0.359069E+00 0.460327E+00 + 1893 -0.105371E+01 0.286989E+00 0.458285E+00 + 1894 -0.749256E+00 0.537330E+00 0.395092E-01 + 1895 -0.846859E+00 0.454422E+00 0.395002E-01 + 1896 -0.908965E+00 0.380808E+00 0.130647E+00 + 1897 -0.715884E+00 0.556222E+00 0.161853E+00 + 1898 -0.105220E+01 0.249417E+00 0.373232E+00 + 1899 -0.100245E+01 0.241246E+00 0.102772E+00 + 1900 -0.104765E+01 0.216075E+00 0.210766E+00 + 1901 -0.103102E+01 0.172632E+00 0.121766E+00 + 1902 -0.108571E+01 0.128648E+00 0.178753E+00 + 1903 -0.108109E+01 0.130441E+00 -0.128921E-06 + 1904 -0.106530E+01 0.872793E-01 0.718379E-01 + 1905 -0.979726E+00 0.191882E+00 0.572438E-01 + 1906 -0.100210E+01 0.260365E+00 -0.128921E-06 + 1907 -0.118073E+01 0.435548E-01 0.751898E-01 + 1908 -0.125506E+01 0.129611E+00 0.500000E+00 + 1909 -0.116508E+01 0.173792E+00 0.500000E+00 + 1910 -0.112098E+01 0.145785E+00 0.405301E+00 + 1911 -0.118838E+01 0.786332E-01 0.411225E+00 + 1912 -0.123436E+01 -0.128921E-06 0.500000E+00 + 1913 -0.115319E+01 -0.128921E-06 0.245761E+00 + 1914 -0.109141E+01 0.792557E-01 0.321138E+00 + 1915 -0.105776E+01 0.197290E+00 0.376845E+00 + 1916 -0.115130E+01 -0.128921E-06 0.414618E+00 + 1917 -0.998834E+00 0.148481E+00 0.241014E+00 + 1918 -0.996756E+00 0.253037E+00 0.372157E+00 + 1919 -0.989031E+00 0.261728E+00 0.224701E+00 + 1920 -0.960396E+00 0.197166E+00 0.297934E+00 + 1921 -0.930088E+00 0.318457E+00 0.317992E+00 + 1922 -0.944897E+00 0.322586E+00 0.223005E+00 + 1923 -0.946320E+00 0.316339E+00 0.123546E+00 + 1924 -0.952250E+00 0.306281E+00 0.549463E-01 + 1925 -0.123436E+01 -0.128921E-06 -0.128921E-06 + 1926 -0.108460E+01 0.454981E-01 -0.128921E-06 + 1927 -0.108120E+01 0.214102E+00 0.500000E+00 + 1928 -0.102818E+01 0.245096E+00 0.459128E+00 + 1929 -0.848457E+00 0.425609E+00 -0.128921E-06 + 1930 -0.833975E+00 0.441997E+00 0.746668E-01 + 1931 -0.900257E+00 0.344387E+00 -0.128921E-06 + 1932 -0.870982E+00 0.328867E+00 0.783064E-01 + 1933 -0.751648E+00 0.478551E+00 0.765348E-01 + 1934 -0.719047E+00 0.548796E+00 0.879669E-01 + 1935 -0.742919E+00 0.479129E+00 0.164858E+00 + 1936 -0.725289E+00 0.527051E+00 0.221118E+00 + 1937 -0.562454E+00 0.787059E+00 0.271116E+00 + 1938 -0.595181E+00 0.693586E+00 0.262830E+00 + 1939 -0.716418E+00 0.646951E+00 0.353241E+00 + 1940 -0.603885E+00 0.668197E+00 0.376668E+00 + 1941 -0.635267E+00 0.600596E+00 0.318088E+00 + 1942 -0.670541E+00 0.674253E+00 0.455911E+00 + 1943 -0.726870E+00 0.560331E+00 0.321661E+00 + 1944 -0.565519E+00 0.723259E+00 0.159851E+00 + 1945 -0.579865E+00 0.704804E+00 -0.128921E-06 + 1946 -0.635906E+00 0.619239E+00 0.131745E+00 + 1947 -0.622038E+00 0.541194E+00 0.247233E+00 + 1948 -0.588848E+00 0.615167E+00 0.194790E+00 + 1949 -0.637556E+00 0.535850E+00 0.163873E+00 + 1950 -0.771466E+00 0.479190E+00 0.279741E+00 + 1951 -0.539891E+00 0.920289E+00 0.340668E+00 + 1952 -0.750134E+00 0.608414E+00 0.431380E+00 + 1953 -0.843089E+00 0.513265E+00 0.500000E+00 + 1954 -0.797240E+00 0.493810E+00 0.406850E+00 + 1955 -0.873519E+00 0.420473E+00 0.419168E+00 + 1956 -0.848463E+00 0.425606E+00 0.500000E+00 + 1957 -0.719580E+00 0.646060E+00 0.500000E+00 + 1958 -0.770612E+00 0.554100E+00 0.500000E+00 + 1959 -0.862571E+00 0.403621E+00 0.337113E+00 + 1960 -0.767434E+00 0.446893E+00 0.334714E+00 + 1961 -0.849000E+00 0.434698E+00 0.252416E+00 + 1962 -0.726066E+00 0.550951E+00 -0.128921E-06 + 1963 -0.676125E+00 0.642016E+00 -0.128921E-06 + 1964 -0.545280E+00 0.638219E+00 0.130634E+00 + 1965 -0.512685E+00 0.842875E+00 0.969810E-01 + 1966 -0.460017E+00 0.912437E+00 0.814898E-01 + 1967 -0.509764E+00 0.781894E+00 -0.128921E-06 + 1968 -0.513934E+00 0.815418E+00 0.390126E+00 + 1969 -0.555188E+00 0.823909E+00 0.500000E+00 + 1970 -0.868743E+00 0.363938E+00 0.227573E+00 + 1971 -0.579869E+00 0.704805E+00 0.500000E+00 + 1972 -0.536201E+00 0.953647E+00 0.500000E+00 + 1973 -0.894802E+00 0.343705E+00 0.415063E+00 + 1974 -0.951151E+00 0.289547E+00 0.460384E+00 + 1975 -0.860265E+00 0.356965E+00 0.461013E+00 + 1976 -0.456068E+00 0.828975E+00 0.263572E+00 + 1977 -0.776312E+00 0.464181E+00 -0.128921E-06 + 1978 -0.779826E+00 0.407262E+00 0.379359E-01 + 1979 -0.797835E+00 0.380013E+00 0.102976E+00 + 1980 -0.784528E+00 0.409546E+00 0.219248E+00 + 1981 -0.804503E+00 0.343050E+00 0.169475E+00 + 1982 -0.102290E+01 0.208886E+00 0.106081E+00 + 1983 -0.101986E+01 0.246694E+00 0.191667E+00 + 1984 -0.106428E+01 0.124395E+00 0.107839E+00 + 1985 -0.103099E+01 0.880451E-01 0.443339E-01 + 1986 -0.112838E+01 0.601980E-01 0.101506E+00 + 1987 -0.105468E+01 0.173690E+00 -0.128921E-06 + 1988 -0.969118E+00 0.259054E+00 0.405596E-01 + 1989 -0.122678E+01 -0.128921E-06 0.476264E-01 + 1990 -0.119185E+01 0.129591E+00 0.500000E+00 + 1991 -0.109173E+01 0.161815E+00 0.353189E+00 + 1992 -0.121539E+01 -0.128921E-06 0.414771E+00 + 1993 -0.126735E+01 0.564184E-01 0.500000E+00 + 1994 -0.112395E+01 0.578623E-01 0.399351E+00 + 1995 -0.108296E+01 0.488897E-01 0.270802E+00 + 1996 -0.101074E+01 0.177456E+00 0.308773E+00 + 1997 -0.967144E+00 0.263837E+00 0.285202E+00 + 1998 -0.105786E+01 0.214925E+00 0.423752E+00 + 1999 -0.948801E+00 0.329680E+00 0.172533E+00 + 2000 -0.911353E+00 0.316905E+00 0.237526E+00 + 2001 -0.943212E+00 0.233601E+00 0.136423E+00 + 2002 -0.949400E+00 0.345609E+00 -0.128921E-06 + 2003 -0.113946E+01 0.420860E-01 -0.128921E-06 + 2004 -0.110845E+01 0.172059E+00 0.500000E+00 + 2005 -0.102839E+01 0.216859E+00 0.500000E+00 + 2006 -0.868844E+00 0.384860E+00 0.789335E-01 + 2007 -0.874489E+00 0.384858E+00 -0.128921E-06 + 2008 -0.755989E+00 0.447092E+00 0.125839E+00 + 2009 -0.717551E+00 0.511692E+00 0.885160E-01 + 2010 -0.724105E+00 0.582203E+00 0.398497E-01 + 2011 -0.744076E+00 0.516918E+00 0.182410E+00 + 2012 -0.570370E+00 0.735605E+00 0.261997E+00 + 2013 -0.673635E+00 0.636076E+00 0.316430E+00 + 2014 -0.591017E+00 0.627168E+00 0.352045E+00 + 2015 -0.535521E+00 0.863590E+00 0.307310E+00 + 2016 -0.738218E+00 0.649032E+00 0.438008E+00 + 2017 -0.626667E+00 0.657915E+00 0.414874E+00 + 2018 -0.524557E+00 0.837760E+00 0.184934E+00 + 2019 -0.527229E+00 0.693659E+00 0.156170E+00 + 2020 -0.641801E+00 0.687583E+00 -0.128921E-06 + 2021 -0.676410E+00 0.565540E+00 0.138720E+00 + 2022 -0.623330E+00 0.632510E+00 0.973507E-01 + 2023 -0.624068E+00 0.547288E+00 0.207596E+00 + 2024 -0.641357E+00 0.561566E+00 0.276221E+00 + 2025 -0.713975E+00 0.507043E+00 0.267894E+00 + 2026 -0.869781E+00 0.470412E+00 0.500000E+00 + 2027 -0.796386E+00 0.510039E+00 0.500000E+00 + 2028 -0.843609E+00 0.439680E+00 0.413848E+00 + 2029 -0.781322E+00 0.546951E+00 0.386507E+00 + 2030 -0.792365E+00 0.496873E+00 0.325878E+00 + 2031 -0.797128E+00 0.415551E+00 0.348306E+00 + 2032 -0.550384E+00 0.749431E+00 0.480516E-01 + 2033 -0.546563E+00 0.658627E+00 0.257580E+00 + 2034 -0.472050E+00 0.873541E+00 0.545086E-01 + 2035 -0.495030E+00 0.100000E+01 0.122251E+00 + 2036 -0.551328E+00 0.802154E+00 0.453720E+00 + 2037 -0.783639E+00 0.448139E+00 0.246374E+00 + 2038 -0.900157E+00 0.405705E+00 0.289470E+00 + 2039 -0.693680E+00 0.693162E+00 0.500000E+00 + 2040 -0.554996E+00 0.723742E+00 0.362139E+00 + 2041 -0.707244E+00 0.562527E+00 0.449866E+00 + 2042 -0.545307E+00 0.887194E+00 0.500000E+00 + 2043 -0.530000E+00 0.100000E+01 0.500000E+00 + 2044 -0.925303E+00 0.294915E+00 0.370135E+00 + 2045 -0.873635E+00 0.366878E+00 0.430248E+00 + 2046 -0.949405E+00 0.345605E+00 0.500000E+00 + 2047 -0.874495E+00 0.384854E+00 0.500000E+00 + 2048 -0.959030E+00 0.255108E+00 0.419850E+00 + 2049 -0.852558E+00 0.362827E+00 0.271652E+00 + 2050 -0.751096E+00 0.506935E+00 -0.128921E-06 + 2051 -0.751902E+00 0.450511E+00 0.391304E-01 + 2052 -0.801711E+00 0.422646E+00 -0.128921E-06 + 2053 -0.847235E+00 0.374396E+00 0.177465E+00 + 2054 -0.782839E+00 0.381009E+00 0.146837E+00 + 2055 -0.103549E+01 0.211879E+00 0.166097E+00 + 2056 -0.104346E+01 0.149532E+00 0.597429E-01 + 2057 -0.111096E+01 0.579307E-01 0.421336E-01 + 2058 -0.105592E+01 0.905165E-01 -0.128921E-06 + 2059 -0.107063E+01 0.691508E-01 0.131292E+00 + 2060 -0.990967E+00 0.226032E+00 0.645616E-01 + 2061 -0.119820E+01 0.421231E-01 -0.128921E-06 + 2062 -0.117670E+01 -0.128921E-06 0.100446E+00 + 2063 -0.113636E+01 0.158354E+00 0.456576E+00 + 2064 -0.120376E+01 0.538066E-01 0.458723E+00 + 2065 -0.115650E+01 0.762626E-01 0.354706E+00 + 2066 -0.104808E+01 0.125608E+00 0.326663E+00 + 2067 -0.104863E+01 0.104435E+00 0.238891E+00 + 2068 -0.101355E+01 0.221248E+00 0.258386E+00 + 2069 -0.966166E+00 0.246538E+00 0.326802E+00 + 2070 -0.907371E+00 0.334377E+00 0.203763E+00 + 2071 -0.942917E+00 0.286005E+00 0.248411E+00 + 2072 -0.980700E+00 0.267037E+00 0.174240E+00 + 2073 -0.918955E+00 0.273700E+00 0.120688E+00 + 2074 -0.975768E+00 0.303362E+00 -0.128921E-06 + 2075 -0.102276E+01 0.204421E+00 0.460991E+00 + 2076 -0.105526E+01 0.149684E+00 0.402089E+00 + 2077 -0.850054E+00 0.397555E+00 0.388896E-01 + 2078 -0.901312E+00 0.316842E+00 0.388961E-01 + 2079 -0.784098E+00 0.424645E+00 0.782747E-01 + 2080 -0.730047E+00 0.490692E+00 0.385602E-01 + 2081 -0.709205E+00 0.470001E+00 0.117976E+00 + 2082 -0.658364E+00 0.660966E+00 0.356849E+00 + 2083 -0.599864E+00 0.633781E+00 0.280237E+00 + 2084 -0.675824E+00 0.595962E+00 0.294244E+00 + 2085 -0.717096E+00 0.678911E+00 0.458697E+00 + 2086 -0.634592E+00 0.709147E+00 0.451197E+00 + 2087 -0.571562E+00 0.698301E+00 0.219948E+00 + 2088 -0.744749E+00 0.594924E+00 0.390845E+00 + 2089 -0.502807E+00 0.766321E+00 0.149922E+00 + 2090 -0.604797E+00 0.679977E+00 0.503027E-01 + 2091 -0.660420E+00 0.595076E+00 0.790454E-01 + 2092 -0.627408E+00 0.577532E+00 0.170728E+00 + 2093 -0.693181E+00 0.522502E+00 0.297633E+00 + 2094 -0.655953E+00 0.507299E+00 0.207374E+00 + 2095 -0.820609E+00 0.496847E+00 0.460213E+00 + 2096 -0.852070E+00 0.408858E+00 0.463250E+00 + 2097 -0.731587E+00 0.531268E+00 0.369577E+00 + 2098 -0.745023E+00 0.599460E+00 0.500000E+00 + 2099 -0.811291E+00 0.437651E+00 0.304394E+00 + 2100 -0.840405E+00 0.428534E+00 0.379435E+00 + 2101 -0.701235E+00 0.596196E+00 -0.128921E-06 + 2102 -0.565762E+00 0.628057E+00 0.906029E-01 + 2103 -0.423746E+00 0.872418E+00 0.127328E+00 + 2104 -0.481759E+00 0.828222E+00 0.496064E-01 + 2105 -0.566533E+00 0.763569E+00 -0.128921E-06 + 2106 -0.483147E+00 0.911638E+00 -0.128921E-06 + 2107 -0.530059E+00 0.100000E+01 0.246944E+00 + 2108 -0.546592E+00 0.869523E+00 0.442083E+00 + 2109 -0.819206E+00 0.419593E+00 0.213388E+00 + 2110 -0.738538E+00 0.454753E+00 0.265096E+00 + 2111 -0.866701E+00 0.395410E+00 0.279223E+00 + 2112 -0.537719E+00 0.737184E+00 0.450592E+00 + 2113 -0.513518E+00 0.817889E+00 0.298828E+00 + 2114 -0.749263E+00 0.537327E+00 0.460491E+00 + 2115 -0.452990E+00 0.948271E+00 0.434625E+00 + 2116 -0.894709E+00 0.346287E+00 0.355120E+00 + 2117 -0.972904E+00 0.286963E+00 0.400785E+00 + 2118 -0.975773E+00 0.303357E+00 0.500000E+00 + 2119 -0.900262E+00 0.344383E+00 0.500000E+00 + 2120 -0.864540E+00 0.329936E+00 0.245839E+00 + 2121 -0.756463E+00 0.419729E+00 -0.128921E-06 + 2122 -0.863789E+00 0.351659E+00 0.126358E+00 + 2123 -0.766935E+00 0.395123E+00 0.191907E+00 + 2124 -0.105731E+01 0.613396E-01 0.420414E-01 + 2125 -0.102838E+01 0.216865E+00 -0.128921E-06 + 2126 -0.115643E+01 0.107747E+00 0.443547E+00 + 2127 -0.109461E+01 0.588412E-01 0.213601E+00 + 2128 -0.102246E+01 0.143170E+00 0.177198E+00 + 2129 -0.107613E+01 0.107492E+00 0.358603E+00 + 2130 -0.102295E+01 0.187302E+00 0.353402E+00 + 2131 -0.111795E+01 -0.128921E-06 0.334685E+00 + 2132 -0.100837E+01 0.629963E-01 0.280739E+00 + 2133 -0.927514E+00 0.280508E+00 0.189159E+00 + 2134 -0.992170E+00 0.224991E+00 0.164867E+00 + 2135 -0.948119E+00 0.272618E+00 0.867847E-01 + 2136 -0.107974E+01 0.179785E+00 0.451137E+00 + 2137 -0.860260E+00 0.356968E+00 0.389864E-01 + 2138 -0.823371E+00 0.404093E+00 0.977345E-01 + 2139 -0.566570E+00 0.681657E+00 0.310738E+00 + 2140 -0.685623E+00 0.633698E+00 0.405477E+00 + 2141 -0.731825E+00 0.591935E+00 0.349299E+00 + 2142 -0.505454E+00 0.808764E+00 0.241661E+00 + 2143 -0.612419E+00 0.610156E+00 0.238685E+00 + 2144 -0.664151E+00 0.557378E+00 0.314435E+00 + 2145 -0.662656E+00 0.510577E+00 0.249916E+00 + 2146 -0.691863E+00 0.512276E+00 0.161157E+00 + 2147 -0.680977E+00 0.578849E+00 0.391920E-01 + 2148 -0.811318E+00 0.457224E+00 0.465912E+00 + 2149 -0.776491E+00 0.491369E+00 0.377371E+00 + 2150 -0.528613E+00 0.715128E+00 0.978335E-01 + 2151 -0.592326E+00 0.608141E+00 0.135158E+00 + 2152 -0.571174E+00 0.652354E+00 0.486229E-01 + 2153 -0.637465E+00 0.633358E+00 -0.128921E-06 + 2154 -0.478049E+00 0.826109E+00 0.137833E+00 + 2155 -0.497677E+00 0.843883E+00 -0.128921E-06 + 2156 -0.460000E+00 0.100000E+01 -0.128921E-06 + 2157 -0.506879E+00 0.867556E+00 0.368772E+00 + 2158 -0.734001E+00 0.480124E+00 0.295576E+00 + 2159 -0.750097E+00 0.435420E+00 0.206233E+00 + 2160 -0.820123E+00 0.399296E+00 0.312360E+00 + 2161 -0.670582E+00 0.735927E+00 0.500000E+00 + 2162 -0.566403E+00 0.708283E+00 0.421948E+00 + 2163 -0.566536E+00 0.763571E+00 0.500000E+00 + 2164 -0.726073E+00 0.550949E+00 0.500000E+00 + 2165 -0.495021E+00 0.100000E+01 0.374662E+00 + 2166 -0.483146E+00 0.911640E+00 0.500000E+00 + 2167 -0.879457E+00 0.337411E+00 0.300838E+00 + 2168 -0.864275E+00 0.363272E+00 0.369900E+00 + 2169 -0.901317E+00 0.316838E+00 0.461104E+00 + 2170 -0.934155E+00 0.246063E+00 0.370488E+00 + 2171 -0.977046E+00 0.247235E+00 0.460130E+00 + 2172 -0.707267E+00 0.503929E+00 -0.128921E-06 + 2173 -0.757086E+00 0.410364E+00 0.118188E+00 + 2174 -0.813982E+00 0.361643E+00 0.198508E+00 + 2175 -0.100303E+01 0.176971E+00 -0.128921E-06 + 2176 -0.121608E+01 0.860068E-01 0.500000E+00 + 2177 -0.112674E+01 -0.128921E-06 0.174394E+00 + 2178 -0.100361E+01 0.205702E+00 0.201326E+00 + 2179 -0.917841E+00 0.331676E+00 0.146909E+00 + 2180 -0.104736E+01 0.175033E+00 0.435826E+00 + 2181 -0.530567E+00 0.750064E+00 0.232646E+00 + 2182 -0.697327E+00 0.531521E+00 0.131892E+00 + 2183 -0.822352E+00 0.467238E+00 0.500000E+00 + 2184 -0.727904E+00 0.562813E+00 0.388458E+00 + 2185 -0.735830E+00 0.499992E+00 0.329288E+00 + 2186 -0.784977E+00 0.430657E+00 0.393428E+00 + 2187 -0.657428E+00 0.622618E+00 0.373124E-01 + 2188 -0.552891E+00 0.686228E+00 0.785706E-01 + 2189 -0.577888E+00 0.654190E+00 0.180848E+00 + 2190 -0.587759E+00 0.588174E+00 0.298823E+00 + 2191 -0.495042E+00 0.911173E+00 0.205358E+00 + 2192 -0.526717E+00 0.777809E+00 0.777649E-01 + 2193 -0.711984E+00 0.460503E+00 0.185064E+00 + 2194 -0.641808E+00 0.687582E+00 0.500000E+00 + 2195 -0.519048E+00 0.737347E+00 0.405755E+00 + 2196 -0.516763E+00 0.734237E+00 0.317615E+00 + 2197 -0.774602E+00 0.493716E+00 0.460827E+00 + 2198 -0.496023E+00 0.868396E+00 0.437898E+00 + 2199 -0.843372E+00 0.394344E+00 0.383826E+00 + 2200 -0.902750E+00 0.255801E+00 0.333586E+00 + 2201 -0.908663E+00 0.280736E+00 0.419149E+00 + 2202 -0.100210E+01 0.260360E+00 0.500000E+00 + 2203 -0.686026E+00 0.529224E+00 0.384065E-01 + 2204 -0.822916E+00 0.411621E+00 0.549492E-01 + 2205 -0.777893E+00 0.426719E+00 0.162366E+00 + 2206 -0.828025E+00 0.369612E+00 0.133438E+00 + 2207 -0.822647E+00 0.377892E+00 0.259971E+00 + 2208 -0.913821E+00 0.333195E+00 0.867527E-01 + 2209 -0.542260E+00 0.641044E+00 0.220503E+00 + 2210 -0.702238E+00 0.476422E+00 0.217462E+00 + 2211 -0.483974E+00 0.775134E+00 0.337167E+00 + 2212 -0.746593E+00 0.509948E+00 0.419624E+00 + 2213 -0.100844E+01 0.230456E+00 0.418308E+00 + 2214 -0.495039E+00 0.909565E+00 0.289495E+00 + 2215 -0.874746E+00 0.332022E+00 0.181695E+00 + 2216 -0.955781E+00 0.201958E+00 0.119498E+00 + 2217 -0.950205E+00 0.237690E+00 0.191109E+00 + 2218 -0.101165E+01 0.108367E+00 0.153361E+00 + 2219 -0.983677E+00 0.134427E+00 0.427427E-01 + 2220 -0.103402E+01 0.601674E-01 0.736400E-01 + 2221 -0.107454E+01 -0.128921E-06 0.178360E+00 + 2222 -0.977344E+00 0.219527E+00 -0.128921E-06 + 2223 -0.926811E+00 0.275889E+00 0.391646E-01 + 2224 -0.117366E+01 -0.128921E-06 -0.128921E-06 + 2225 -0.116396E+01 0.842744E-01 0.500000E+00 + 2226 -0.108943E+01 0.141899E+00 0.459510E+00 + 2227 -0.102880E+01 0.126509E+00 0.367525E+00 + 2228 -0.117366E+01 -0.128921E-06 0.500000E+00 + 2229 -0.106525E+01 0.532360E-01 0.376317E+00 + 2230 -0.970714E+00 0.158541E+00 0.212154E+00 + 2231 -0.967169E+00 0.214057E+00 0.363883E+00 + 2232 -0.938399E+00 -0.128921E-06 0.263535E+00 + 2233 -0.100317E+01 -0.128921E-06 0.338711E+00 + 2234 -0.901758E+00 0.226366E+00 0.302703E+00 + 2235 -0.883488E+00 0.293906E+00 0.336183E+00 + 2236 -0.882071E+00 0.269760E+00 0.196166E+00 + 2237 -0.883155E+00 0.297924E+00 0.116148E+00 + 2238 -0.100303E+01 0.176965E+00 0.500000E+00 + 2239 -0.827214E+00 0.382198E+00 -0.128921E-06 + 2240 -0.823970E+00 0.341697E+00 0.880361E-01 + 2241 -0.877693E+00 0.302674E+00 -0.128921E-06 + 2242 -0.706333E+00 0.450463E+00 0.374834E-01 + 2243 -0.711928E+00 0.409960E+00 0.117757E+00 + 2244 -0.757819E+00 0.391502E+00 0.748590E-01 + 2245 -0.658069E+00 0.532009E+00 0.869910E-01 + 2246 -0.498791E+00 0.770782E+00 0.268961E+00 + 2247 -0.691420E+00 0.588432E+00 0.362294E+00 + 2248 -0.593578E+00 0.632040E+00 0.397313E+00 + 2249 -0.563003E+00 0.610931E+00 0.272435E+00 + 2250 -0.511549E+00 0.677688E+00 0.351467E+00 + 2251 -0.555624E+00 0.566211E+00 0.351242E+00 + 2252 -0.692178E+00 0.617313E+00 0.457964E+00 + 2253 -0.605829E+00 0.654020E+00 0.465100E+00 + 2254 -0.525743E+00 0.652465E+00 0.172923E+00 + 2255 -0.431455E+00 0.825969E+00 0.173472E+00 + 2256 -0.477450E+00 0.731683E+00 0.875868E-01 + 2257 -0.512157E+00 0.671657E+00 0.955241E-01 + 2258 -0.521486E+00 0.722360E+00 -0.128921E-06 + 2259 -0.592727E+00 0.647545E+00 -0.128921E-06 + 2260 -0.601402E+00 0.586848E+00 0.870331E-01 + 2261 -0.576321E+00 0.542285E+00 0.225414E+00 + 2262 -0.614373E+00 0.525492E+00 0.287397E+00 + 2263 -0.672707E+00 0.492983E+00 0.283812E+00 + 2264 -0.635777E+00 0.486165E+00 0.168821E+00 + 2265 -0.755135E+00 0.448108E+00 0.297252E+00 + 2266 -0.683003E+00 0.547872E+00 -0.128921E-06 + 2267 -0.457690E+00 0.932936E+00 0.351672E+00 + 2268 -0.764586E+00 0.458875E+00 0.422478E+00 + 2269 -0.751103E+00 0.506932E+00 0.500000E+00 + 2270 -0.823684E+00 0.389494E+00 0.415288E+00 + 2271 -0.801716E+00 0.422643E+00 0.500000E+00 + 2272 -0.691047E+00 0.521219E+00 0.410090E+00 + 2273 -0.705007E+00 0.442287E+00 0.361814E+00 + 2274 -0.832970E+00 0.385976E+00 0.347779E+00 + 2275 -0.770162E+00 0.378582E+00 0.383582E+00 + 2276 -0.489241E+00 0.620316E+00 0.282423E+00 + 2277 -0.424756E+00 0.829610E+00 0.523529E-01 + 2278 -0.425020E+00 0.100000E+01 0.122219E+00 + 2279 -0.412772E+00 0.833640E+00 0.431903E+00 + 2280 -0.509764E+00 0.781896E+00 0.500000E+00 + 2281 -0.789981E+00 0.369731E+00 0.232132E+00 + 2282 -0.707913E+00 0.418789E+00 0.223295E+00 + 2283 -0.794144E+00 0.362535E+00 0.295318E+00 + 2284 -0.840092E+00 0.331878E+00 0.193695E+00 + 2285 -0.533743E+00 0.664571E+00 0.500000E+00 + 2286 -0.424809E+00 0.755409E+00 0.347759E+00 + 2287 -0.683010E+00 0.547870E+00 0.500000E+00 + 2288 -0.460000E+00 0.100000E+01 0.500000E+00 + 2289 -0.871987E+00 0.312892E+00 0.442023E+00 + 2290 -0.951688E+00 0.261822E+00 0.500000E+00 + 2291 -0.881036E+00 0.227623E+00 0.417914E+00 + 2292 -0.839917E+00 0.290599E+00 0.245323E+00 + 2293 -0.736831E+00 0.376639E+00 -0.128921E-06 + 2294 -0.755517E+00 0.344366E+00 0.154657E+00 + 2295 -0.991220E+00 0.144971E+00 0.104280E+00 + 2296 -0.976744E+00 0.183057E+00 0.173648E+00 + 2297 -0.103010E+01 0.821123E-01 0.187345E+00 + 2298 -0.102901E+01 0.134523E+00 -0.128921E-06 + 2299 -0.110692E+01 -0.128921E-06 0.825126E-01 + 2300 -0.103141E+01 0.480037E-01 -0.128921E-06 + 2301 -0.954077E+00 0.696858E-01 0.408070E-01 + 2302 -0.952692E+00 0.206933E+00 0.390671E-01 + 2303 -0.113553E+01 0.129213E+00 0.500000E+00 + 2304 -0.109537E+01 0.105575E+00 0.415233E+00 + 2305 -0.115792E+01 0.384094E-01 0.435717E+00 + 2306 -0.108952E+01 -0.128921E-06 0.255987E+00 + 2307 -0.103276E+01 0.632342E-01 0.330572E+00 + 2308 -0.966419E+00 0.115731E+00 0.308180E+00 + 2309 -0.101293E+01 0.152161E+00 0.400502E+00 + 2310 -0.949601E+00 0.221030E+00 0.236416E+00 + 2311 -0.985335E+00 -0.128921E-06 0.250673E+00 + 2312 -0.920412E+00 0.209744E+00 0.343195E+00 + 2313 -0.895886E+00 0.282764E+00 0.275564E+00 + 2314 -0.855242E+00 0.305068E+00 0.215923E+00 + 2315 -0.893741E+00 0.249236E+00 0.154336E+00 + 2316 -0.907216E+00 0.286349E+00 0.856759E-01 + 2317 -0.925986E+00 0.303467E+00 -0.128921E-06 + 2318 -0.105468E+01 0.173683E+00 0.500000E+00 + 2319 -0.977348E+00 0.219521E+00 0.500000E+00 + 2320 -0.802387E+00 0.374144E+00 0.467502E-01 + 2321 -0.852560E+00 0.342437E+00 -0.128921E-06 + 2322 -0.820683E+00 0.300522E+00 0.126016E+00 + 2323 -0.726233E+00 0.429883E+00 0.804077E-01 + 2324 -0.741382E+00 0.414707E+00 0.157830E+00 + 2325 -0.671640E+00 0.494351E+00 0.120633E+00 + 2326 -0.731778E+00 0.461214E+00 -0.128921E-06 + 2327 -0.534510E+00 0.704253E+00 0.253508E+00 + 2328 -0.632696E+00 0.598846E+00 0.388497E+00 + 2329 -0.552359E+00 0.643778E+00 0.380036E+00 + 2330 -0.610834E+00 0.566346E+00 0.316335E+00 + 2331 -0.582870E+00 0.614400E+00 0.449579E+00 + 2332 -0.676134E+00 0.642015E+00 0.500000E+00 + 2333 -0.695447E+00 0.532616E+00 0.350822E+00 + 2334 -0.451203E+00 0.807453E+00 0.102751E+00 + 2335 -0.449495E+00 0.756388E+00 0.199866E+00 + 2336 -0.491275E+00 0.647062E+00 0.130600E+00 + 2337 -0.510445E+00 0.690256E+00 0.484296E-01 + 2338 -0.594668E+00 0.619722E+00 0.419287E-01 + 2339 -0.632383E+00 0.553270E+00 0.706459E-01 + 2340 -0.563043E+00 0.569847E+00 0.246717E+00 + 2341 -0.609306E+00 0.505716E+00 0.221019E+00 + 2342 -0.570064E+00 0.562578E+00 0.171860E+00 + 2343 -0.630893E+00 0.468828E+00 0.282910E+00 + 2344 -0.716314E+00 0.446341E+00 0.293540E+00 + 2345 -0.660365E+00 0.452179E+00 0.188007E+00 + 2346 -0.658692E+00 0.592479E+00 -0.128921E-06 + 2347 -0.802077E+00 0.435957E+00 0.436573E+00 + 2348 -0.776318E+00 0.464178E+00 0.500000E+00 + 2349 -0.827219E+00 0.382195E+00 0.500000E+00 + 2350 -0.755405E+00 0.441200E+00 0.369504E+00 + 2351 -0.771577E+00 0.405029E+00 0.308306E+00 + 2352 -0.848657E+00 0.348710E+00 0.327849E+00 + 2353 -0.512996E+00 0.571985E+00 0.326738E+00 + 2354 -0.505624E+00 0.627111E+00 0.238351E+00 + 2355 -0.435327E+00 0.865103E+00 -0.128921E-06 + 2356 -0.386011E+00 0.922567E+00 0.159202E+00 + 2357 -0.460037E+00 0.100000E+01 0.246878E+00 + 2358 -0.463868E+00 0.742024E+00 -0.128921E-06 + 2359 -0.390000E+00 0.100000E+01 -0.128921E-06 + 2360 -0.486000E+00 0.809325E+00 0.449063E+00 + 2361 -0.438462E+00 0.886272E+00 0.420870E+00 + 2362 -0.753760E+00 0.386766E+00 0.234143E+00 + 2363 -0.503867E+00 0.710239E+00 0.452480E+00 + 2364 -0.470416E+00 0.718593E+00 0.376673E+00 + 2365 -0.662951E+00 0.531144E+00 0.461694E+00 + 2366 -0.681232E+00 0.489093E+00 0.421900E+00 + 2367 -0.390000E+00 0.100000E+01 0.500000E+00 + 2368 -0.887316E+00 0.256508E+00 0.375303E+00 + 2369 -0.829206E+00 0.344181E+00 0.419841E+00 + 2370 -0.925991E+00 0.303463E+00 0.500000E+00 + 2371 -0.936074E+00 0.209000E+00 0.422100E+00 + 2372 -0.796947E+00 0.345313E+00 0.259787E+00 + 2373 -0.383075E+00 0.821045E+00 0.283023E+00 + 2374 -0.664755E+00 0.501026E+00 -0.128921E-06 + 2375 -0.991455E+00 0.154351E+00 0.145254E+00 + 2376 -0.998444E+00 0.963139E-01 0.924652E-01 + 2377 -0.100414E+01 0.938814E-01 -0.128921E-06 + 2378 -0.105855E+01 -0.128921E-06 -0.128921E-06 + 2379 -0.928898E+00 0.224255E+00 0.650065E-01 + 2380 -0.952898E+00 0.179850E+00 -0.128921E-06 + 2381 -0.951684E+00 0.261827E+00 -0.128921E-06 + 2382 -0.111674E+01 0.984588E-01 0.458077E+00 + 2383 -0.119820E+01 0.421170E-01 0.500000E+00 + 2384 -0.108506E+01 -0.128921E-06 0.421896E+00 + 2385 -0.101111E+01 0.698096E-01 0.231009E+00 + 2386 -0.104957E+01 0.898314E-01 0.397632E+00 + 2387 -0.989502E+00 0.829666E-01 0.325779E+00 + 2388 -0.959157E+00 0.158751E+00 0.356305E+00 + 2389 -0.949579E+00 0.171267E+00 0.258935E+00 + 2390 -0.920800E+00 0.248987E+00 0.244306E+00 + 2391 -0.862066E+00 0.295252E+00 0.165639E+00 + 2392 -0.912832E+00 0.216919E+00 0.158865E+00 + 2393 -0.100339E+01 0.149730E+00 0.460244E+00 + 2394 -0.853701E+00 0.315440E+00 0.379349E-01 + 2395 -0.688590E+00 0.470411E+00 0.604471E-01 + 2396 -0.735311E+00 0.404421E+00 0.373225E-01 + 2397 -0.684619E+00 0.438849E+00 0.160168E+00 + 2398 -0.624681E+00 0.586681E+00 0.353399E+00 + 2399 -0.577516E+00 0.671150E+00 0.440095E+00 + 2400 -0.536282E+00 0.616104E+00 0.321693E+00 + 2401 -0.563615E+00 0.589161E+00 0.401073E+00 + 2402 -0.645102E+00 0.607537E+00 0.452752E+00 + 2403 -0.502382E+00 0.667303E+00 0.240378E+00 + 2404 -0.471512E+00 0.725294E+00 0.146482E+00 + 2405 -0.415499E+00 0.776856E+00 0.232756E+00 + 2406 -0.533741E+00 0.664570E+00 -0.128921E-06 + 2407 -0.638691E+00 0.565381E+00 0.119362E+00 + 2408 -0.636168E+00 0.575067E+00 0.419950E-01 + 2409 -0.580880E+00 0.506956E+00 0.249786E+00 + 2410 -0.576389E+00 0.599233E+00 0.225777E+00 + 2411 -0.594302E+00 0.514832E+00 0.173440E+00 + 2412 -0.648112E+00 0.509739E+00 0.302015E+00 + 2413 -0.530091E+00 0.607067E+00 0.151202E+00 + 2414 -0.648743E+00 0.462978E+00 0.231543E+00 + 2415 -0.763196E+00 0.438588E+00 0.460866E+00 + 2416 -0.810819E+00 0.408133E+00 0.387703E+00 + 2417 -0.802392E+00 0.374141E+00 0.453250E+00 + 2418 -0.721685E+00 0.476479E+00 0.383617E+00 + 2419 -0.701243E+00 0.596194E+00 0.500000E+00 + 2420 -0.778795E+00 0.396468E+00 0.261641E+00 + 2421 -0.740094E+00 0.409601E+00 0.368179E+00 + 2422 -0.497184E+00 0.749735E+00 0.494308E-01 + 2423 -0.534131E+00 0.575705E+00 0.498610E-01 + 2424 -0.378048E+00 0.921036E+00 0.544600E-01 + 2425 -0.377452E+00 0.868666E+00 0.173176E+00 + 2426 -0.409948E+00 0.894769E+00 0.279112E+00 + 2427 -0.461915E+00 0.780125E+00 0.389039E+00 + 2428 -0.497676E+00 0.843885E+00 0.500000E+00 + 2429 -0.824150E+00 0.332387E+00 0.239810E+00 + 2430 -0.488973E+00 0.682228E+00 0.401866E+00 + 2431 -0.521487E+00 0.722362E+00 0.500000E+00 + 2432 -0.470310E+00 0.723970E+00 0.312843E+00 + 2433 -0.718889E+00 0.501487E+00 0.461991E+00 + 2434 -0.425013E+00 0.100000E+01 0.374637E+00 + 2435 -0.415825E+00 0.933172E+00 0.500000E+00 + 2436 -0.876364E+00 0.308956E+00 0.387674E+00 + 2437 -0.927432E+00 0.248537E+00 0.461158E+00 + 2438 -0.852565E+00 0.342433E+00 0.500000E+00 + 2439 -0.887754E+00 0.220667E+00 0.360266E+00 + 2440 -0.851180E+00 0.265582E+00 0.306475E+00 + 2441 -0.786273E+00 0.338184E+00 0.122196E+00 + 2442 -0.737930E+00 0.369554E+00 0.184917E+00 + 2443 -0.979346E+00 0.503552E-01 -0.128921E-06 + 2444 -0.103042E+01 -0.128921E-06 0.133002E+00 + 2445 -0.928675E+00 0.167764E+00 0.383370E-01 + 2446 -0.978124E+00 0.137713E+00 -0.128921E-06 + 2447 -0.108311E+01 0.740677E-01 0.458469E+00 + 2448 -0.105642E+01 -0.128921E-06 0.339838E+00 + 2449 -0.961592E+00 0.114364E+00 0.182145E+00 + 2450 -0.974904E+00 0.170361E+00 0.409833E+00 + 2451 -0.940140E+00 0.973860E-01 0.266456E+00 + 2452 -0.945146E+00 0.195258E+00 0.201418E+00 + 2453 -0.952519E+00 -0.128921E-06 0.337987E+00 + 2454 -0.933041E+00 0.216978E+00 0.276022E+00 + 2455 -0.880812E+00 0.291195E+00 0.241537E+00 + 2456 -0.891888E+00 0.255241E+00 0.943372E-01 + 2457 -0.919032E+00 0.185053E+00 0.133452E+00 + 2458 -0.111508E+01 -0.128921E-06 -0.128921E-06 + 2459 -0.806184E+00 0.340077E+00 -0.128921E-06 + 2460 -0.902763E+00 0.262375E+00 -0.128921E-06 + 2461 -0.663440E+00 0.438479E+00 0.107316E+00 + 2462 -0.521338E+00 0.674884E+00 0.291496E+00 + 2463 -0.601891E+00 0.562145E+00 0.375545E+00 + 2464 -0.637473E+00 0.633358E+00 0.500000E+00 + 2465 -0.684767E+00 0.576907E+00 0.424123E+00 + 2466 -0.407799E+00 0.756364E+00 0.168318E+00 + 2467 -0.479077E+00 0.673646E+00 0.196539E+00 + 2468 -0.471266E+00 0.686757E+00 0.920861E-01 + 2469 -0.447835E+00 0.750168E+00 0.254095E+00 + 2470 -0.581934E+00 0.547919E+00 0.291639E+00 + 2471 -0.602513E+00 0.551782E+00 0.134467E+00 + 2472 -0.519297E+00 0.582057E+00 0.199026E+00 + 2473 -0.692686E+00 0.489554E+00 0.337486E+00 + 2474 -0.603628E+00 0.470102E+00 0.252279E+00 + 2475 -0.691274E+00 0.430920E+00 0.263327E+00 + 2476 -0.641075E+00 0.544537E+00 -0.128921E-06 + 2477 -0.759080E+00 0.415279E+00 0.428360E+00 + 2478 -0.722750E+00 0.409689E+00 0.316946E+00 + 2479 -0.794989E+00 0.374294E+00 0.343013E+00 + 2480 -0.522896E+00 0.633136E+00 0.486859E-01 + 2481 -0.415825E+00 0.933170E+00 -0.128921E-06 + 2482 -0.338481E+00 0.858902E+00 0.118710E+00 + 2483 -0.406697E+00 0.847044E+00 0.217083E+00 + 2484 -0.450561E+00 0.802190E+00 -0.128921E-06 + 2485 -0.418695E+00 0.856350E+00 0.339366E+00 + 2486 -0.669001E+00 0.412337E+00 0.186994E+00 + 2487 -0.530368E+00 0.649416E+00 0.450440E+00 + 2488 -0.478483E+00 0.738247E+00 0.426246E+00 + 2489 -0.731783E+00 0.461211E+00 0.500000E+00 + 2490 -0.435325E+00 0.865106E+00 0.500000E+00 + 2491 -0.836228E+00 0.312598E+00 0.296103E+00 + 2492 -0.885140E+00 0.263237E+00 0.462838E+00 + 2493 -0.829869E+00 0.327904E+00 0.462453E+00 + 2494 -0.836190E+00 0.225791E+00 0.327858E+00 + 2495 -0.688569E+00 0.458322E+00 -0.128921E-06 + 2496 -0.754940E+00 0.364044E+00 0.115813E+00 + 2497 -0.842791E+00 0.335554E+00 0.151717E+00 + 2498 -0.762888E+00 0.334472E+00 0.211863E+00 + 2499 -0.995913E+00 0.723203E-01 0.139271E+00 + 2500 -0.939236E+00 0.173772E+00 0.977723E-01 + 2501 -0.105856E+01 0.507836E-01 0.420433E+00 + 2502 -0.103662E+01 -0.128921E-06 0.252831E+00 + 2503 -0.111508E+01 -0.128921E-06 0.500000E+00 + 2504 -0.948990E+00 0.810366E-01 0.207970E+00 + 2505 -0.929907E+00 0.561854E-01 0.310805E+00 + 2506 -0.919980E+00 0.163783E+00 0.304921E+00 + 2507 -0.908464E+00 0.216342E+00 0.200763E+00 + 2508 -0.108109E+01 0.130434E+00 0.500000E+00 + 2509 -0.952696E+00 0.206928E+00 0.460933E+00 + 2510 -0.799401E+00 0.324992E+00 0.362328E-01 + 2511 -0.878758E+00 0.256246E+00 0.459884E-01 + 2512 -0.686401E+00 0.433814E+00 0.802579E-01 + 2513 -0.608568E+00 0.583121E+00 0.408422E+00 + 2514 -0.489220E+00 0.712467E+00 0.226461E+00 + 2515 -0.651001E+00 0.526707E+00 0.364752E+00 + 2516 -0.618002E+00 0.503768E+00 0.121789E+00 + 2517 -0.609814E+00 0.471085E+00 0.210449E+00 + 2518 -0.784638E+00 0.385816E+00 0.425036E+00 + 2519 -0.759813E+00 0.375046E+00 0.332113E+00 + 2520 -0.608737E+00 0.588184E+00 -0.128921E-06 + 2521 -0.555765E+00 0.564948E+00 0.111241E+00 + 2522 -0.526523E+00 0.596633E+00 0.267083E+00 + 2523 -0.397191E+00 0.795881E+00 0.131970E+00 + 2524 -0.377169E+00 0.934714E+00 0.222802E+00 + 2525 -0.439666E+00 0.768486E+00 0.500942E-01 + 2526 -0.742830E+00 0.420332E+00 0.273432E+00 + 2527 -0.709355E+00 0.408418E+00 0.175207E+00 + 2528 -0.656774E+00 0.427682E+00 0.227339E+00 + 2529 -0.592732E+00 0.647545E+00 0.500000E+00 + 2530 -0.663015E+00 0.573745E+00 0.465063E+00 + 2531 -0.721620E+00 0.471705E+00 0.441715E+00 + 2532 -0.707274E+00 0.503927E+00 0.500000E+00 + 2533 -0.390007E+00 0.910810E+00 0.416419E+00 + 2534 -0.848220E+00 0.301571E+00 0.341459E+00 + 2535 -0.877698E+00 0.302670E+00 0.500000E+00 + 2536 -0.858938E+00 0.265172E+00 0.414372E+00 + 2537 -0.654244E+00 0.505505E+00 0.356633E-01 + 2538 -0.712639E+00 0.416894E+00 -0.128921E-06 + 2539 -0.781303E+00 0.379412E+00 -0.128921E-06 + 2540 -0.812273E+00 0.306194E+00 0.187835E+00 + 2541 -0.941486E+00 0.505615E-01 0.247684E+00 + 2542 -0.916229E+00 0.212852E+00 0.984862E-01 + 2543 -0.104262E+01 0.117726E+00 0.458343E+00 + 2544 -0.847778E+00 0.285086E+00 0.834644E-01 + 2545 -0.666763E+00 0.549013E+00 0.402347E+00 + 2546 -0.508155E+00 0.602340E+00 0.962945E-01 + 2547 -0.547132E+00 0.607469E+00 -0.128921E-06 + 2548 -0.827327E+00 0.332441E+00 0.368683E+00 + 2549 -0.914634E+00 0.184142E+00 0.371704E+00 + 2550 -0.759759E+00 0.364512E+00 0.370360E-01 + 2551 -0.777217E+00 0.313912E+00 0.182139E+00 + 2552 -0.815822E+00 0.373953E+00 0.385280E+00 + 2553 -0.780017E+00 0.346562E+00 0.793680E-01 + 2554 -0.725421E+00 0.384642E+00 0.733873E-01 + 2555 -0.937554E+00 0.140003E+00 0.138300E+00 + 2556 -0.973847E+00 0.498844E-01 0.172856E+00 + 2557 -0.953721E+00 0.984847E-01 -0.128921E-06 + 2558 -0.915198E+00 0.907984E-01 0.819639E-01 + 2559 -0.100400E+01 -0.128921E-06 -0.128921E-06 + 2560 -0.924691E+00 0.391801E-01 0.399552E-01 + 2561 -0.927835E+00 0.221424E+00 -0.128921E-06 + 2562 -0.896920E+00 0.186255E+00 0.769718E-01 + 2563 -0.113946E+01 0.420803E-01 0.500000E+00 + 2564 -0.958604E+00 0.103354E+00 0.373286E+00 + 2565 -0.102806E+01 -0.128921E-06 0.422054E+00 + 2566 -0.105592E+01 0.905100E-01 0.500000E+00 + 2567 -0.919833E+00 0.150746E+00 0.207973E+00 + 2568 -0.903756E+00 0.110774E+00 0.284869E+00 + 2569 -0.978665E+00 0.110021E+00 0.460093E+00 + 2570 -0.898804E+00 -0.128921E-06 0.330893E+00 + 2571 -0.871260E+00 0.227364E+00 0.243084E+00 + 2572 -0.884974E+00 0.164806E+00 0.355946E+00 + 2573 -0.839518E+00 0.275506E+00 0.367558E+00 + 2574 -0.834216E+00 0.270795E+00 0.173345E+00 + 2575 -0.850699E+00 0.249029E+00 0.869546E-01 + 2576 -0.952902E+00 0.179844E+00 0.500000E+00 + 2577 -0.903997E+00 0.208733E+00 0.461966E+00 + 2578 -0.805092E+00 0.291281E+00 0.793054E-01 + 2579 -0.830850E+00 0.301209E+00 -0.128921E-06 + 2580 -0.761142E+00 0.337484E+00 -0.128921E-06 + 2581 -0.688107E+00 0.393756E+00 0.437924E-01 + 2582 -0.641227E+00 0.469184E+00 0.382027E-01 + 2583 -0.702418E+00 0.364872E+00 0.138670E+00 + 2584 -0.738066E+00 0.349271E+00 0.731144E-01 + 2585 -0.618510E+00 0.448676E+00 0.118560E+00 + 2586 -0.526668E+00 0.607901E+00 0.424575E+00 + 2587 -0.457247E+00 0.631784E+00 0.326940E+00 + 2588 -0.565765E+00 0.530648E+00 0.391315E+00 + 2589 -0.594881E+00 0.566415E+00 0.463165E+00 + 2590 -0.658700E+00 0.592477E+00 0.500000E+00 + 2591 -0.479012E+00 0.590805E+00 0.193807E+00 + 2592 -0.455117E+00 0.681737E+00 0.240964E+00 + 2593 -0.655509E+00 0.473343E+00 0.383909E+00 + 2594 -0.374672E+00 0.811875E+00 0.186117E+00 + 2595 -0.453014E+00 0.709578E+00 0.483543E-01 + 2596 -0.415131E+00 0.749157E+00 0.107363E+00 + 2597 -0.373069E+00 0.722011E+00 0.235816E+00 + 2598 -0.453997E+00 0.620672E+00 0.923586E-01 + 2599 -0.487815E+00 0.627370E+00 -0.128921E-06 + 2600 -0.578841E+00 0.570638E+00 0.395585E-01 + 2601 -0.546774E+00 0.514634E+00 0.243585E+00 + 2602 -0.589106E+00 0.475117E+00 0.286567E+00 + 2603 -0.549751E+00 0.471872E+00 0.165708E+00 + 2604 -0.656506E+00 0.430911E+00 0.275550E+00 + 2605 -0.621505E+00 0.420115E+00 0.199412E+00 + 2606 -0.562374E+00 0.428124E+00 0.229118E+00 + 2607 -0.719699E+00 0.380653E+00 0.246106E+00 + 2608 -0.355016E+00 0.909546E+00 0.289424E+00 + 2609 -0.714760E+00 0.441222E+00 0.398377E+00 + 2610 -0.779831E+00 0.407259E+00 0.462064E+00 + 2611 -0.806189E+00 0.340074E+00 0.500000E+00 + 2612 -0.763201E+00 0.324461E+00 0.435328E+00 + 2613 -0.666388E+00 0.497950E+00 0.465841E+00 + 2614 -0.805878E+00 0.320695E+00 0.333740E+00 + 2615 -0.726002E+00 0.352745E+00 0.392465E+00 + 2616 -0.702164E+00 0.365744E+00 0.314928E+00 + 2617 -0.519076E+00 0.536933E+00 0.975048E-01 + 2618 -0.461646E+00 0.541307E+00 0.311893E+00 + 2619 -0.363710E+00 0.860798E+00 0.463578E-01 + 2620 -0.404569E+00 0.761244E+00 -0.128921E-06 + 2621 -0.355013E+00 0.100000E+01 0.122200E+00 + 2622 -0.348387E+00 0.946019E+00 -0.128921E-06 + 2623 -0.246289E+00 0.863992E+00 0.143474E+00 + 2624 -0.369931E+00 0.883920E+00 0.500000E+00 + 2625 -0.450560E+00 0.802193E+00 0.500000E+00 + 2626 -0.380490E+00 0.788419E+00 0.385034E+00 + 2627 -0.773461E+00 0.314212E+00 0.258000E+00 + 2628 -0.442446E+00 0.677675E+00 0.452486E+00 + 2629 -0.487815E+00 0.627371E+00 0.500000E+00 + 2630 -0.712644E+00 0.416892E+00 0.500000E+00 + 2631 -0.320004E+00 0.910804E+00 0.416411E+00 + 2632 -0.320000E+00 0.100000E+01 0.500000E+00 + 2633 -0.831851E+00 0.274848E+00 0.462872E+00 + 2634 -0.842999E+00 0.185197E+00 0.442930E+00 + 2635 -0.802982E+00 0.192602E+00 0.358857E+00 + 2636 -0.784451E+00 0.248043E+00 0.306858E+00 + 2637 -0.733757E+00 0.296188E+00 0.174906E+00 + 2638 -0.942356E+00 0.160615E+00 0.173767E+00 + 2639 -0.920475E+00 0.140839E+00 0.822908E-01 + 2640 -0.928816E+00 0.141198E+00 -0.128921E-06 + 2641 -0.939316E+00 0.530995E-01 0.876307E-01 + 2642 -0.929165E+00 0.602174E-01 -0.128921E-06 + 2643 -0.903993E+00 0.208738E+00 0.380342E-01 + 2644 -0.110882E+01 0.862004E-01 0.500000E+00 + 2645 -0.977411E+00 0.881718E-01 0.422919E+00 + 2646 -0.105855E+01 -0.128921E-06 0.500000E+00 + 2647 -0.910918E+00 0.116789E+00 0.351291E+00 + 2648 -0.911567E+00 0.144418E+00 0.253333E+00 + 2649 -0.959088E+00 0.144181E+00 0.457021E+00 + 2650 -0.897377E+00 0.562218E-01 0.257495E+00 + 2651 -0.924637E+00 -0.128921E-06 0.417262E+00 + 2652 -0.858803E+00 0.170024E+00 0.304263E+00 + 2653 -0.846928E+00 0.212054E+00 0.176699E+00 + 2654 -0.800375E+00 0.286176E+00 0.219410E+00 + 2655 -0.102901E+01 0.134516E+00 0.500000E+00 + 2656 -0.927839E+00 0.221419E+00 0.500000E+00 + 2657 -0.775209E+00 0.307164E+00 0.851161E-01 + 2658 -0.831847E+00 0.274852E+00 0.371278E-01 + 2659 -0.785382E+00 0.299184E+00 -0.128921E-06 + 2660 -0.668194E+00 0.442532E+00 0.373661E-01 + 2661 -0.644799E+00 0.490066E+00 0.795584E-01 + 2662 -0.673285E+00 0.379256E+00 0.918236E-01 + 2663 -0.693658E+00 0.373935E+00 -0.128921E-06 + 2664 -0.648037E+00 0.431875E+00 0.156213E+00 + 2665 -0.515322E+00 0.643086E+00 0.408741E+00 + 2666 -0.426000E+00 0.688665E+00 0.343827E+00 + 2667 -0.520061E+00 0.571821E+00 0.403066E+00 + 2668 -0.603901E+00 0.505063E+00 0.346573E+00 + 2669 -0.613482E+00 0.546635E+00 0.422417E+00 + 2670 -0.608743E+00 0.588184E+00 0.500000E+00 + 2671 -0.509183E+00 0.607368E+00 0.458668E+00 + 2672 -0.450974E+00 0.625498E+00 0.260156E+00 + 2673 -0.403652E+00 0.727183E+00 0.601379E-01 + 2674 -0.425528E+00 0.694219E+00 0.159766E+00 + 2675 -0.352656E+00 0.746903E+00 0.200521E+00 + 2676 -0.465363E+00 0.652506E+00 0.470450E-01 + 2677 -0.472915E+00 0.590922E+00 0.143759E+00 + 2678 -0.578150E+00 0.526370E+00 0.896222E-01 + 2679 -0.603594E+00 0.537336E+00 -0.128921E-06 + 2680 -0.564093E+00 0.480876E+00 0.220188E+00 + 2681 -0.514634E+00 0.543036E+00 0.232354E+00 + 2682 -0.659088E+00 0.459288E+00 0.329645E+00 + 2683 -0.603412E+00 0.421787E+00 0.268064E+00 + 2684 -0.698240E+00 0.398847E+00 0.278390E+00 + 2685 -0.390024E+00 0.100000E+01 0.246838E+00 + 2686 -0.756469E+00 0.419726E+00 0.500000E+00 + 2687 -0.756883E+00 0.369024E+00 0.459827E+00 + 2688 -0.681144E+00 0.447669E+00 0.396639E+00 + 2689 -0.767323E+00 0.344816E+00 0.283384E+00 + 2690 -0.765617E+00 0.344498E+00 0.403781E+00 + 2691 -0.725119E+00 0.373933E+00 0.365095E+00 + 2692 -0.498338E+00 0.572244E+00 -0.128921E-06 + 2693 -0.437801E+00 0.592667E+00 0.348289E+00 + 2694 -0.493286E+00 0.508780E+00 0.330318E+00 + 2695 -0.388380E+00 0.821536E+00 -0.128921E-06 + 2696 -0.276662E+00 0.926352E+00 0.512783E-01 + 2697 -0.311769E+00 0.894699E+00 0.212509E+00 + 2698 -0.342336E+00 0.789679E+00 0.988112E-01 + 2699 -0.388379E+00 0.821539E+00 0.500000E+00 + 2700 -0.412859E+00 0.740630E+00 0.452369E+00 + 2701 -0.320010E+00 0.909543E+00 0.332016E+00 + 2702 -0.692516E+00 0.368756E+00 0.215229E+00 + 2703 -0.476107E+00 0.683842E+00 0.500000E+00 + 2704 -0.622923E+00 0.498177E+00 0.500000E+00 + 2705 -0.688575E+00 0.458320E+00 0.500000E+00 + 2706 -0.348386E+00 0.946020E+00 0.500000E+00 + 2707 -0.844313E+00 0.231079E+00 0.385189E+00 + 2708 -0.804385E+00 0.283601E+00 0.320087E+00 + 2709 -0.830854E+00 0.301206E+00 0.500000E+00 + 2710 -0.856768E+00 0.209721E+00 0.462960E+00 + 2711 -0.776482E+00 0.182890E+00 0.328577E+00 + 2712 -0.321718E+00 0.774259E+00 0.307282E+00 + 2713 -0.709093E+00 0.312176E+00 0.155631E+00 + 2714 -0.933035E+00 0.895697E-01 0.122629E+00 + 2715 -0.951164E+00 0.112910E+00 0.480491E-01 + 2716 -0.951362E+00 -0.128921E-06 -0.128921E-06 + 2717 -0.871981E+00 0.226041E+00 0.619908E-01 + 2718 -0.904312E+00 0.182244E+00 -0.128921E-06 + 2719 -0.102389E+01 0.497404E-01 0.390676E+00 + 2720 -0.108460E+01 0.454931E-01 0.500000E+00 + 2721 -0.941861E+00 0.139256E+00 0.416243E+00 + 2722 -0.913778E+00 0.196430E+00 0.237819E+00 + 2723 -0.875433E+00 0.109834E+00 0.226225E+00 + 2724 -0.900722E+00 -0.128921E-06 0.228844E+00 + 2725 -0.899437E+00 0.621467E-01 0.388689E+00 + 2726 -0.879369E+00 0.119863E+00 0.327190E+00 + 2727 -0.863311E+00 0.221506E+00 0.287992E+00 + 2728 -0.843899E+00 0.249311E+00 0.227298E+00 + 2729 -0.861122E+00 0.261830E+00 0.127011E+00 + 2730 -0.887121E+00 0.168832E+00 0.149395E+00 + 2731 -0.978127E+00 0.137707E+00 0.500000E+00 + 2732 -0.904316E+00 0.182239E+00 0.500000E+00 + 2733 -0.855335E+00 0.262155E+00 -0.128921E-06 + 2734 -0.739858E+00 0.323074E+00 0.361878E-01 + 2735 -0.786483E+00 0.273297E+00 0.362681E-01 + 2736 -0.767000E+00 0.293260E+00 0.137611E+00 + 2737 -0.652512E+00 0.446131E+00 0.748691E-01 + 2738 -0.718533E+00 0.359572E+00 0.107774E+00 + 2739 -0.678852E+00 0.398207E+00 0.146658E+00 + 2740 -0.491253E+00 0.612111E+00 0.373064E+00 + 2741 -0.450263E+00 0.677372E+00 0.289550E+00 + 2742 -0.537629E+00 0.578577E+00 0.442048E+00 + 2743 -0.508762E+00 0.538466E+00 0.378782E+00 + 2744 -0.632954E+00 0.504780E+00 0.411989E+00 + 2745 -0.395946E+00 0.685221E+00 0.215541E+00 + 2746 -0.355526E+00 0.768486E+00 0.140758E+00 + 2747 -0.420606E+00 0.637907E+00 0.142541E+00 + 2748 -0.458447E+00 0.604427E+00 0.224640E+00 + 2749 -0.422911E+00 0.682835E+00 0.456684E-01 + 2750 -0.331114E+00 0.788038E+00 0.252163E+00 + 2751 -0.601937E+00 0.511719E+00 0.356802E-01 + 2752 -0.526986E+00 0.525674E+00 0.189520E+00 + 2753 -0.515508E+00 0.534130E+00 0.269764E+00 + 2754 -0.550681E+00 0.457311E+00 0.286705E+00 + 2755 -0.603647E+00 0.473996E+00 0.163130E+00 + 2756 -0.623340E+00 0.465964E+00 0.329747E+00 + 2757 -0.612595E+00 0.442009E+00 0.229212E+00 + 2758 -0.676910E+00 0.409392E+00 0.326696E+00 + 2759 -0.662579E+00 0.364634E+00 0.253002E+00 + 2760 -0.781309E+00 0.379409E+00 0.500000E+00 + 2761 -0.711001E+00 0.445474E+00 0.462337E+00 + 2762 -0.743828E+00 0.374937E+00 0.288123E+00 + 2763 -0.742146E+00 0.355691E+00 0.432167E+00 + 2764 -0.749876E+00 0.349284E+00 0.353863E+00 + 2765 -0.476722E+00 0.597041E+00 0.459996E-01 + 2766 -0.527805E+00 0.538076E+00 0.481405E-01 + 2767 -0.360183E+00 0.791854E+00 0.511109E-01 + 2768 -0.369932E+00 0.883918E+00 -0.128921E-06 + 2769 -0.320000E+00 0.100000E+01 -0.128921E-06 + 2770 -0.296345E+00 0.920151E+00 0.118188E+00 + 2771 -0.320016E+00 0.100000E+01 0.246813E+00 + 2772 -0.404568E+00 0.761246E+00 0.500000E+00 + 2773 -0.359989E+00 0.834741E+00 0.422690E+00 + 2774 -0.423097E+00 0.708648E+00 0.390622E+00 + 2775 -0.789365E+00 0.317266E+00 0.290055E+00 + 2776 -0.491031E+00 0.645715E+00 0.453750E+00 + 2777 -0.664762E+00 0.501025E+00 0.500000E+00 + 2778 -0.826921E+00 0.309765E+00 0.410272E+00 + 2779 -0.902768E+00 0.262370E+00 0.500000E+00 + 2780 -0.828325E+00 0.231663E+00 0.433657E+00 + 2781 -0.852503E+00 0.182914E+00 0.356713E+00 + 2782 -0.779131E+00 0.236922E+00 0.349556E+00 + 2783 -0.670067E+00 0.414068E+00 -0.128921E-06 + 2784 -0.717615E+00 0.332989E+00 0.208989E+00 + 2785 -0.920330E+00 0.799642E-01 0.396269E-01 + 2786 -0.960912E+00 -0.128921E-06 0.144394E+00 + 2787 -0.867907E+00 0.169637E+00 0.376768E-01 + 2788 -0.100252E+01 0.592390E-01 0.447247E+00 + 2789 -0.906482E+00 0.115436E+00 0.158695E+00 + 2790 -0.853010E+00 -0.128921E-06 0.280105E+00 + 2791 -0.869147E+00 0.686947E-01 0.353475E+00 + 2792 -0.872559E+00 0.175713E+00 0.266614E+00 + 2793 -0.865675E+00 0.218301E+00 0.113785E+00 + 2794 -0.904578E+00 0.168186E+00 0.456056E+00 + 2795 -0.756341E+00 0.289693E+00 0.596728E-01 + 2796 -0.879833E+00 0.222545E+00 -0.128921E-06 + 2797 -0.813891E+00 0.264121E+00 0.100810E+00 + 2798 -0.715941E+00 0.361819E+00 0.364535E-01 + 2799 -0.656709E+00 0.413687E+00 0.836423E-01 + 2800 -0.458636E+00 0.643246E+00 0.401811E+00 + 2801 -0.565534E+00 0.553784E+00 0.439071E+00 + 2802 -0.534498E+00 0.520083E+00 0.327970E+00 + 2803 -0.547135E+00 0.607470E+00 0.500000E+00 + 2804 -0.366160E+00 0.703958E+00 0.151607E+00 + 2805 -0.430562E+00 0.646814E+00 0.193384E+00 + 2806 -0.402275E+00 0.731517E+00 0.305972E+00 + 2807 -0.476107E+00 0.683840E+00 -0.128921E-06 + 2808 -0.605149E+00 0.482229E+00 0.811248E-01 + 2809 -0.526391E+00 0.469154E+00 0.264431E+00 + 2810 -0.552391E+00 0.522491E+00 0.137051E+00 + 2811 -0.484334E+00 0.566718E+00 0.247890E+00 + 2812 -0.589169E+00 0.452996E+00 0.319591E+00 + 2813 -0.594857E+00 0.445821E+00 0.191853E+00 + 2814 -0.622917E+00 0.498178E+00 -0.128921E-06 + 2815 -0.735317E+00 0.404418E+00 0.462677E+00 + 2816 -0.784240E+00 0.325579E+00 0.463193E+00 + 2817 -0.688029E+00 0.391035E+00 0.375681E+00 + 2818 -0.795600E+00 0.346008E+00 0.368680E+00 + 2819 -0.725842E+00 0.339858E+00 0.317551E+00 + 2820 -0.556923E+00 0.547404E+00 -0.128921E-06 + 2821 -0.472107E+00 0.555654E+00 0.518982E-01 + 2822 -0.469879E+00 0.559112E+00 0.359242E+00 + 2823 -0.303869E+00 0.900248E+00 -0.128921E-06 + 2824 -0.285027E+00 0.937420E+00 0.192153E+00 + 2825 -0.278839E+00 0.835862E+00 0.754876E-01 + 2826 -0.350366E+00 0.853919E+00 0.222772E+00 + 2827 -0.344101E+00 0.776142E+00 0.450964E+00 + 2828 -0.332654E+00 0.874240E+00 0.446689E+00 + 2829 -0.463867E+00 0.742027E+00 0.500000E+00 + 2830 -0.648000E+00 0.388700E+00 0.212696E+00 + 2831 -0.640503E+00 0.397737E+00 0.280097E+00 + 2832 -0.811869E+00 0.279684E+00 0.274231E+00 + 2833 -0.641083E+00 0.544536E+00 0.500000E+00 + 2834 -0.686205E+00 0.461784E+00 0.444585E+00 + 2835 -0.355008E+00 0.100000E+01 0.374622E+00 + 2836 -0.855339E+00 0.262152E+00 0.500000E+00 + 2837 -0.872303E+00 0.196365E+00 0.399167E+00 + 2838 -0.815225E+00 0.159212E+00 0.327902E+00 + 2839 -0.790607E+00 0.257299E+00 0.375858E+00 + 2840 -0.744952E+00 0.326668E+00 0.116545E+00 + 2841 -0.766040E+00 0.266937E+00 0.182788E+00 + 2842 -0.712397E+00 0.311802E+00 0.259714E+00 + 2843 -0.697394E+00 0.341578E+00 0.168324E+00 + 2844 -0.904981E+00 0.129678E+00 0.375968E-01 + 2845 -0.103141E+01 0.479990E-01 0.500000E+00 + 2846 -0.940245E+00 0.504812E-01 0.390744E+00 + 2847 -0.891095E+00 0.534264E-01 0.186993E+00 + 2848 -0.859597E+00 0.664199E-01 0.301081E+00 + 2849 -0.863065E+00 0.168116E+00 0.226033E+00 + 2850 -0.895070E+00 0.124999E+00 0.111366E+00 + 2851 -0.823904E+00 0.236288E+00 0.358620E-01 + 2852 -0.814492E+00 0.239895E+00 0.130818E+00 + 2853 -0.628930E+00 0.396488E+00 0.120848E+00 + 2854 -0.401607E+00 0.649942E+00 0.102151E+00 + 2855 -0.401413E+00 0.669742E+00 0.276270E+00 + 2856 -0.563658E+00 0.505996E+00 0.295430E+00 + 2857 -0.574179E+00 0.477088E+00 0.120311E+00 + 2858 -0.512120E+00 0.566313E+00 0.146792E+00 + 2859 -0.624387E+00 0.418858E+00 0.324871E+00 + 2860 -0.714791E+00 0.389223E+00 0.427365E+00 + 2861 -0.769967E+00 0.310237E+00 0.331098E+00 + 2862 -0.449927E+00 0.580877E+00 0.283437E+00 + 2863 -0.313933E+00 0.860160E+00 0.521826E-01 + 2864 -0.284867E+00 0.813462E+00 0.180532E+00 + 2865 -0.419066E+00 0.702869E+00 -0.128921E-06 + 2866 -0.324567E+00 0.833349E+00 0.366440E+00 + 2867 -0.670418E+00 0.369813E+00 0.171325E+00 + 2868 -0.619049E+00 0.382480E+00 0.247257E+00 + 2869 -0.419307E+00 0.663311E+00 0.399804E+00 + 2870 -0.601943E+00 0.511719E+00 0.464319E+00 + 2871 -0.646438E+00 0.450965E+00 0.425174E+00 + 2872 -0.879837E+00 0.222541E+00 0.500000E+00 + 2873 -0.882785E+00 0.171514E+00 0.426736E+00 + 2874 -0.815630E+00 0.235317E+00 0.284395E+00 + 2875 -0.798171E+00 0.286698E+00 0.412179E+00 + 2876 -0.645945E+00 0.455206E+00 -0.128921E-06 + 2877 -0.717335E+00 0.334882E+00 -0.128921E-06 + 2878 -0.694919E+00 0.346615E+00 0.719142E-01 + 2879 -0.749448E+00 0.296920E+00 0.220402E+00 + 2880 -0.727775E+00 0.298638E+00 0.122460E+00 + 2881 -0.975507E+00 -0.128921E-06 0.419685E+00 + 2882 -0.870268E+00 0.161983E+00 0.887273E-01 + 2883 -0.100415E+01 0.938756E-01 0.500000E+00 + 2884 -0.387654E+00 0.689970E+00 0.939732E-01 + 2885 -0.493170E+00 0.540214E+00 0.193200E+00 + 2886 -0.650799E+00 0.425348E+00 0.371344E+00 + 2887 -0.469157E+00 0.554433E+00 0.915673E-01 + 2888 -0.328463E+00 0.841524E+00 0.296611E+00 + 2889 -0.633394E+00 0.374170E+00 0.169876E+00 + 2890 -0.385950E+00 0.703965E+00 0.357666E+00 + 2891 -0.641232E+00 0.469182E+00 0.461796E+00 + 2892 -0.798915E+00 0.293500E+00 0.373286E+00 + 2893 -0.879526E+00 0.140390E+00 0.407062E+00 + 2894 -0.818041E+00 0.197265E+00 0.272772E+00 + 2895 -0.872005E+00 0.117177E+00 0.617856E-01 + 2896 -0.876820E+00 0.599651E-01 0.144209E+00 + 2897 -0.905060E+00 0.103700E+00 -0.128921E-06 + 2898 -0.904715E+00 0.318116E-01 -0.128921E-06 + 2899 -0.833967E+00 0.197030E+00 0.366241E-01 + 2900 -0.931380E+00 0.100750E+00 0.419896E+00 + 2901 -0.100400E+01 -0.128921E-06 0.500000E+00 + 2902 -0.843798E+00 0.150887E+00 0.161383E+00 + 2903 -0.852668E+00 0.135321E+00 0.277697E+00 + 2904 -0.953723E+00 0.984797E-01 0.500000E+00 + 2905 -0.840377E+00 0.546918E-01 0.240509E+00 + 2906 -0.865052E+00 0.430231E-01 0.396436E+00 + 2907 -0.812315E+00 -0.128921E-06 0.318801E+00 + 2908 -0.871884E+00 0.334882E-01 0.464081E+00 + 2909 -0.820012E+00 0.104357E+00 0.348516E+00 + 2910 -0.808966E+00 0.204321E+00 0.233713E+00 + 2911 -0.778210E+00 0.239507E+00 0.147378E+00 + 2912 -0.857184E+00 0.183802E+00 0.500000E+00 + 2913 -0.761398E+00 0.271408E+00 0.963942E-01 + 2914 -0.809354E+00 0.261191E+00 -0.128921E-06 + 2915 -0.741096E+00 0.296855E+00 -0.128921E-06 + 2916 -0.651857E+00 0.371193E+00 -0.128921E-06 + 2917 -0.639255E+00 0.364494E+00 0.823931E-01 + 2918 -0.624146E+00 0.438325E+00 0.393666E-01 + 2919 -0.696273E+00 0.323909E+00 0.106866E+00 + 2920 -0.577199E+00 0.413812E+00 0.852551E-01 + 2921 -0.619656E+00 0.417745E+00 0.166198E+00 + 2922 -0.491787E+00 0.593250E+00 0.420367E+00 + 2923 -0.432931E+00 0.575366E+00 0.383347E+00 + 2924 -0.397931E+00 0.648209E+00 0.351774E+00 + 2925 -0.399590E+00 0.639600E+00 0.453737E+00 + 2926 -0.575856E+00 0.502004E+00 0.413371E+00 + 2927 -0.519437E+00 0.546634E+00 0.452432E+00 + 2928 -0.500619E+00 0.488939E+00 0.375552E+00 + 2929 -0.513398E+00 0.462522E+00 0.299694E+00 + 2930 -0.603600E+00 0.537336E+00 0.500000E+00 + 2931 -0.444013E+00 0.591512E+00 0.500000E+00 + 2932 -0.413929E+00 0.599357E+00 0.180519E+00 + 2933 -0.461197E+00 0.536230E+00 0.153066E+00 + 2934 -0.322218E+00 0.786726E+00 0.190846E+00 + 2935 -0.364931E+00 0.749678E+00 0.699360E-01 + 2936 -0.329717E+00 0.678219E+00 0.198311E+00 + 2937 -0.349275E+00 0.703479E+00 0.300145E+00 + 2938 -0.422186E+00 0.615547E+00 0.455129E-01 + 2939 -0.323511E+00 0.665768E+00 0.735576E-01 + 2940 -0.245519E+00 0.829286E+00 0.271374E+00 + 2941 -0.546755E+00 0.504299E+00 0.377700E-01 + 2942 -0.530208E+00 0.488277E+00 0.130794E+00 + 2943 -0.502359E+00 0.496118E+00 0.238149E+00 + 2944 -0.562889E+00 0.451875E+00 0.202723E+00 + 2945 -0.574586E+00 0.411389E+00 0.285874E+00 + 2946 -0.594292E+00 0.416450E+00 0.343784E+00 + 2947 -0.643492E+00 0.377077E+00 0.352548E+00 + 2948 -0.510776E+00 0.406121E+00 0.232512E+00 + 2949 -0.673183E+00 0.350825E+00 0.289275E+00 + 2950 -0.613939E+00 0.361134E+00 0.220238E+00 + 2951 -0.663802E+00 0.412400E+00 0.426372E+00 + 2952 -0.736836E+00 0.376637E+00 0.500000E+00 + 2953 -0.670073E+00 0.414066E+00 0.500000E+00 + 2954 -0.785386E+00 0.299181E+00 0.500000E+00 + 2955 -0.726376E+00 0.325552E+00 0.421983E+00 + 2956 -0.754820E+00 0.287568E+00 0.278656E+00 + 2957 -0.673479E+00 0.359138E+00 0.464150E+00 + 2958 -0.745281E+00 0.290709E+00 0.370199E+00 + 2959 -0.503044E+00 0.520250E+00 -0.128921E-06 + 2960 -0.479182E+00 0.523676E+00 0.770482E-01 + 2961 -0.431776E+00 0.515842E+00 0.301824E+00 + 2962 -0.324164E+00 0.838547E+00 -0.128921E-06 + 2963 -0.285009E+00 0.100000E+01 0.122188E+00 + 2964 -0.210390E+00 0.886358E+00 0.545597E-01 + 2965 -0.289475E+00 0.955431E+00 -0.128921E-06 + 2966 -0.215009E+00 0.911205E+00 0.205256E+00 + 2967 -0.281341E+00 0.789212E+00 0.912473E-01 + 2968 -0.193391E+00 0.792950E+00 0.180691E+00 + 2969 -0.285005E+00 0.100000E+01 0.374612E+00 + 2970 -0.303868E+00 0.900250E+00 0.500000E+00 + 2971 -0.343284E+00 0.778478E+00 0.500000E+00 + 2972 -0.345092E+00 0.762802E+00 0.405728E+00 + 2973 -0.277578E+00 0.731448E+00 0.458622E+00 + 2974 -0.322469E+00 0.673825E+00 0.392094E+00 + 2975 -0.597908E+00 0.449266E+00 0.500000E+00 + 2976 -0.836550E+00 0.167319E+00 0.408773E+00 + 2977 -0.810947E+00 0.209832E+00 0.463899E+00 + 2978 -0.775575E+00 0.141159E+00 0.279052E+00 + 2979 -0.730235E+00 0.192692E+00 0.373217E+00 + 2980 -0.697006E+00 0.249015E+00 0.185450E+00 + 2981 -0.693836E+00 0.280172E+00 0.265495E+00 + 2982 -0.909065E+00 -0.128921E-06 0.118881E+00 + 2983 -0.881067E+00 0.144137E+00 -0.128921E-06 + 2984 -0.855893E+00 0.107913E+00 0.112237E+00 + 2985 -0.882029E+00 0.680536E-01 -0.128921E-06 + 2986 -0.815298E+00 0.181914E+00 0.798687E-01 + 2987 -0.954079E+00 0.696815E-01 0.459194E+00 + 2988 -0.886112E+00 0.521848E-01 0.427212E+00 + 2989 -0.886606E+00 0.102437E+00 0.386046E+00 + 2990 -0.896980E+00 0.107725E+00 0.453947E+00 + 2991 -0.835163E+00 0.127397E+00 0.211120E+00 + 2992 -0.852269E+00 -0.128921E-06 0.350154E+00 + 2993 -0.811068E+00 -0.128921E-06 0.243421E+00 + 2994 -0.900563E+00 -0.128921E-06 0.500000E+00 + 2995 -0.808026E+00 0.105315E+00 0.304642E+00 + 2996 -0.790600E+00 0.244395E+00 0.196741E+00 + 2997 -0.762468E+00 0.254499E+00 0.587054E-01 + 2998 -0.718450E+00 0.308302E+00 0.713893E-01 + 2999 -0.833280E+00 0.222824E+00 -0.128921E-06 + 3000 -0.744151E+00 0.245401E+00 0.148817E+00 + 3001 -0.673474E+00 0.359140E+00 0.358501E-01 + 3002 -0.628589E+00 0.410502E+00 -0.128921E-06 + 3003 -0.581589E+00 0.466349E+00 0.340926E-01 + 3004 -0.610931E+00 0.407205E+00 0.762115E-01 + 3005 -0.652657E+00 0.351002E+00 0.124023E+00 + 3006 -0.577335E+00 0.431911E+00 0.145639E+00 + 3007 -0.454257E+00 0.575424E+00 0.419371E+00 + 3008 -0.423371E+00 0.611446E+00 0.294919E+00 + 3009 -0.385580E+00 0.610674E+00 0.390040E+00 + 3010 -0.522080E+00 0.506368E+00 0.413393E+00 + 3011 -0.599019E+00 0.466346E+00 0.376419E+00 + 3012 -0.498339E+00 0.572246E+00 0.500000E+00 + 3013 -0.464396E+00 0.522421E+00 0.359503E+00 + 3014 -0.490132E+00 0.504049E+00 0.272028E+00 + 3015 -0.432407E+00 0.567600E+00 0.158094E+00 + 3016 -0.360589E+00 0.720206E+00 -0.128921E-06 + 3017 -0.382714E+00 0.638152E+00 0.178002E+00 + 3018 -0.312309E+00 0.727893E+00 0.242987E+00 + 3019 -0.302548E+00 0.721783E+00 0.154621E+00 + 3020 -0.444014E+00 0.591510E+00 -0.128921E-06 + 3021 -0.359920E+00 0.651835E+00 0.455251E-01 + 3022 -0.348208E+00 0.733773E+00 0.363337E+00 + 3023 -0.517521E+00 0.504376E+00 0.853397E-01 + 3024 -0.508326E+00 0.472637E+00 0.179636E+00 + 3025 -0.534586E+00 0.424341E+00 0.322232E+00 + 3026 -0.589382E+00 0.405134E+00 0.214131E+00 + 3027 -0.613087E+00 0.376290E+00 0.290737E+00 + 3028 -0.614583E+00 0.387666E+00 0.369549E+00 + 3029 -0.673753E+00 0.372250E+00 0.334032E+00 + 3030 -0.709064E+00 0.343651E+00 0.278070E+00 + 3031 -0.648421E+00 0.314647E+00 0.248665E+00 + 3032 -0.285011E+00 0.909542E+00 0.289408E+00 + 3033 -0.761146E+00 0.337482E+00 0.500000E+00 + 3034 -0.692127E+00 0.401630E+00 0.463231E+00 + 3035 -0.773236E+00 0.287956E+00 0.442615E+00 + 3036 -0.645951E+00 0.455205E+00 0.500000E+00 + 3037 -0.688767E+00 0.338566E+00 0.396285E+00 + 3038 -0.719919E+00 0.311062E+00 0.338943E+00 + 3039 -0.539307E+00 0.501155E+00 -0.128921E-06 + 3040 -0.453107E+00 0.509082E+00 0.527121E-01 + 3041 -0.412281E+00 0.549379E+00 0.248863E+00 + 3042 -0.309752E+00 0.774789E+00 0.553024E-01 + 3043 -0.224987E+00 0.955110E+00 0.487216E-01 + 3044 -0.258594E+00 0.853658E+00 -0.128921E-06 + 3045 -0.214300E+00 0.824053E+00 0.112072E+00 + 3046 -0.218169E+00 0.787517E+00 0.246545E+00 + 3047 -0.324163E+00 0.838550E+00 0.500000E+00 + 3048 -0.360588E+00 0.720208E+00 0.500000E+00 + 3049 -0.265866E+00 0.757905E+00 0.410453E+00 + 3050 -0.268812E+00 0.897081E+00 0.449488E+00 + 3051 -0.612942E+00 0.317378E+00 0.177324E+00 + 3052 -0.432166E+00 0.646311E+00 0.500000E+00 + 3053 -0.579306E+00 0.499643E+00 0.500000E+00 + 3054 -0.289474E+00 0.955432E+00 0.500000E+00 + 3055 -0.783858E+00 0.207735E+00 0.390455E+00 + 3056 -0.809358E+00 0.261188E+00 0.500000E+00 + 3057 -0.811444E+00 0.184456E+00 0.500000E+00 + 3058 -0.748499E+00 0.202576E+00 0.269956E+00 + 3059 -0.698076E+00 0.294395E+00 -0.128921E-06 + 3060 -0.727556E+00 0.266463E+00 0.235803E+00 + 3061 -0.688888E+00 0.299486E+00 0.183436E+00 + 3062 -0.892424E+00 0.565494E-01 0.857951E-01 + 3063 -0.872974E+00 0.932892E-01 0.333729E-01 + 3064 -0.900564E+00 -0.128921E-06 -0.128921E-06 + 3065 -0.857181E+00 0.183807E+00 -0.128921E-06 + 3066 -0.821700E+00 0.224408E+00 0.989246E-01 + 3067 -0.833913E+00 0.147355E+00 0.603373E-01 + 3068 -0.979347E+00 0.503516E-01 0.500000E+00 + 3069 -0.870900E+00 0.110622E+00 0.184504E+00 + 3070 -0.914794E+00 0.467668E-01 0.457011E+00 + 3071 -0.930894E+00 0.112092E+00 0.459158E+00 + 3072 -0.794533E+00 0.104483E+00 0.256442E+00 + 3073 -0.857053E+00 -0.128921E-06 0.198000E+00 + 3074 -0.874869E+00 -0.128921E-06 0.417912E+00 + 3075 -0.871764E+00 0.949826E-01 0.428821E+00 + 3076 -0.815831E+00 0.590953E-01 0.371791E+00 + 3077 -0.852301E+00 0.127581E+00 0.354328E+00 + 3078 -0.807322E+00 0.174349E+00 0.204630E+00 + 3079 -0.770039E+00 0.249084E+00 0.238858E+00 + 3080 -0.881070E+00 0.144133E+00 0.500000E+00 + 3081 -0.764712E+00 0.259517E+00 -0.128921E-06 + 3082 -0.696773E+00 0.320523E+00 0.355736E-01 + 3083 -0.721692E+00 0.264999E+00 0.771691E-01 + 3084 -0.633206E+00 0.395027E+00 0.357608E-01 + 3085 -0.597903E+00 0.449266E+00 -0.128921E-06 + 3086 -0.598207E+00 0.439957E+00 0.736317E-01 + 3087 -0.665442E+00 0.326880E+00 0.156342E+00 + 3088 -0.594326E+00 0.405122E+00 0.131536E+00 + 3089 -0.439897E+00 0.608597E+00 0.453452E+00 + 3090 -0.538533E+00 0.480240E+00 0.351722E+00 + 3091 -0.473300E+00 0.519487E+00 0.410913E+00 + 3092 -0.556926E+00 0.547404E+00 0.500000E+00 + 3093 -0.588354E+00 0.455672E+00 0.435661E+00 + 3094 -0.429032E+00 0.556337E+00 0.215226E+00 + 3095 -0.356710E+00 0.711030E+00 0.464176E-01 + 3096 -0.337779E+00 0.665848E+00 0.242057E+00 + 3097 -0.284170E+00 0.699400E+00 0.195181E+00 + 3098 -0.270725E+00 0.775311E+00 0.142006E+00 + 3099 -0.327011E+00 0.658303E+00 0.135239E+00 + 3100 -0.432166E+00 0.646310E+00 -0.128921E-06 + 3101 -0.405661E+00 0.586284E+00 0.984142E-01 + 3102 -0.286614E+00 0.769195E+00 0.262909E+00 + 3103 -0.341569E+00 0.666248E+00 0.331250E+00 + 3104 -0.515169E+00 0.451890E+00 0.226474E+00 + 3105 -0.506653E+00 0.523685E+00 0.158836E+00 + 3106 -0.543071E+00 0.438946E+00 0.128282E+00 + 3107 -0.579609E+00 0.392312E+00 0.321010E+00 + 3108 -0.551495E+00 0.371965E+00 0.237311E+00 + 3109 -0.685684E+00 0.335099E+00 0.246977E+00 + 3110 -0.633378E+00 0.347180E+00 0.256725E+00 + 3111 -0.718152E+00 0.364050E+00 0.463784E+00 + 3112 -0.650636E+00 0.438450E+00 0.463317E+00 + 3113 -0.741100E+00 0.296853E+00 0.500000E+00 + 3114 -0.764229E+00 0.302373E+00 0.407270E+00 + 3115 -0.643697E+00 0.360513E+00 0.405783E+00 + 3116 -0.682747E+00 0.338589E+00 0.343013E+00 + 3117 -0.744527E+00 0.263746E+00 0.322985E+00 + 3118 -0.454155E+00 0.538608E+00 -0.128921E-06 + 3119 -0.427433E+00 0.508274E+00 0.102791E+00 + 3120 -0.404886E+00 0.576826E+00 0.300300E+00 + 3121 -0.463270E+00 0.464634E+00 0.300903E+00 + 3122 -0.236642E+00 0.923377E+00 -0.128921E-06 + 3123 -0.237157E+00 0.914536E+00 0.101110E+00 + 3124 -0.280474E+00 0.793161E+00 -0.128921E-06 + 3125 -0.233203E+00 0.861003E+00 0.228066E+00 + 3126 -0.250012E+00 0.100000E+01 0.246798E+00 + 3127 -0.419065E+00 0.702871E+00 0.500000E+00 + 3128 -0.296246E+00 0.777187E+00 0.375195E+00 + 3129 -0.351824E+00 0.714495E+00 0.404337E+00 + 3130 -0.300597E+00 0.735207E+00 0.500000E+00 + 3131 -0.258593E+00 0.853660E+00 0.500000E+00 + 3132 -0.264841E+00 0.933404E+00 0.404140E+00 + 3133 -0.250000E+00 0.100000E+01 0.500000E+00 + 3134 -0.833284E+00 0.222820E+00 0.500000E+00 + 3135 -0.787087E+00 0.188537E+00 0.454388E+00 + 3136 -0.782837E+00 0.131162E+00 0.327486E+00 + 3137 -0.712367E+00 0.302112E+00 0.221925E+00 + 3138 -0.863720E+00 0.763271E-01 0.629790E-01 + 3139 -0.864340E+00 -0.128921E-06 0.115746E+00 + 3140 -0.834782E+00 0.146101E+00 -0.128921E-06 + 3141 -0.928819E+00 0.141192E+00 0.500000E+00 + 3142 -0.823208E+00 0.607394E-01 0.205403E+00 + 3143 -0.797851E+00 0.506360E-01 0.280822E+00 + 3144 -0.951361E+00 -0.128921E-06 0.500000E+00 + 3145 -0.850835E+00 0.118460E+00 0.398763E+00 + 3146 -0.818738E+00 0.152629E+00 0.255597E+00 + 3147 -0.823760E+00 0.168088E+00 0.132930E+00 + 3148 -0.799461E+00 0.223381E+00 0.545125E-01 + 3149 -0.720151E+00 0.282896E+00 0.353288E-01 + 3150 -0.674909E+00 0.332291E+00 -0.128921E-06 + 3151 -0.588609E+00 0.374367E+00 0.922866E-01 + 3152 -0.480598E+00 0.559237E+00 0.458060E+00 + 3153 -0.546759E+00 0.504298E+00 0.462228E+00 + 3154 -0.399922E+00 0.627436E+00 0.246760E+00 + 3155 -0.260261E+00 0.746964E+00 0.210339E+00 + 3156 -0.307560E+00 0.740392E+00 0.881390E-01 + 3157 -0.417796E+00 0.567955E+00 0.450658E-01 + 3158 -0.371770E+00 0.603982E+00 0.149173E+00 + 3159 -0.376228E+00 0.663662E+00 -0.128921E-06 + 3160 -0.558771E+00 0.465751E+00 0.801082E-01 + 3161 -0.579301E+00 0.499643E+00 -0.128921E-06 + 3162 -0.473631E+00 0.503542E+00 0.209676E+00 + 3163 -0.530704E+00 0.404535E+00 0.277227E+00 + 3164 -0.493879E+00 0.454605E+00 0.153255E+00 + 3165 -0.554046E+00 0.406234E+00 0.171978E+00 + 3166 -0.571819E+00 0.430029E+00 0.369782E+00 + 3167 -0.584404E+00 0.364395E+00 0.274239E+00 + 3168 -0.616739E+00 0.372371E+00 0.327168E+00 + 3169 -0.655074E+00 0.338871E+00 0.212147E+00 + 3170 -0.731711E+00 0.334995E+00 0.463767E+00 + 3171 -0.671600E+00 0.377475E+00 0.420455E+00 + 3172 -0.616232E+00 0.415005E+00 0.418415E+00 + 3173 -0.708851E+00 0.302731E+00 0.302054E+00 + 3174 -0.718528E+00 0.311428E+00 0.375014E+00 + 3175 -0.488174E+00 0.509114E+00 0.408642E-01 + 3176 -0.411363E+00 0.549147E+00 0.341292E+00 + 3177 -0.433741E+00 0.468390E+00 0.346383E+00 + 3178 -0.343285E+00 0.778476E+00 -0.128921E-06 + 3179 -0.250000E+00 0.100000E+01 -0.128921E-06 + 3180 -0.180008E+00 0.911206E+00 0.163716E+00 + 3181 -0.391276E+00 0.705103E+00 0.437605E+00 + 3182 -0.280472E+00 0.793163E+00 0.500000E+00 + 3183 -0.293726E+00 0.849353E+00 0.418033E+00 + 3184 -0.303853E+00 0.729888E+00 0.400441E+00 + 3185 -0.234047E+00 0.917307E+00 0.351786E+00 + 3186 -0.624154E+00 0.332442E+00 0.120776E+00 + 3187 -0.693663E+00 0.373933E+00 0.500000E+00 + 3188 -0.288327E+00 0.946722E+00 0.455468E+00 + 3189 -0.780044E+00 0.260221E+00 0.463474E+00 + 3190 -0.817542E+00 0.147701E+00 0.464972E+00 + 3191 -0.741934E+00 0.234086E+00 0.362532E+00 + 3192 -0.757806E+00 0.148604E+00 0.378042E+00 + 3193 -0.235104E+00 0.762914E+00 0.326861E+00 + 3194 -0.672507E+00 0.316434E+00 0.726529E-01 + 3195 -0.731633E+00 0.217127E+00 0.204196E+00 + 3196 -0.681964E+00 0.267102E+00 0.142427E+00 + 3197 -0.872559E+00 0.488587E-01 0.383820E-01 + 3198 -0.840187E+00 0.109577E+00 0.353270E-01 + 3199 -0.803510E+00 0.526229E-01 0.333574E+00 + 3200 -0.786920E+00 0.209320E+00 0.125201E+00 + 3201 -0.847949E+00 0.138731E+00 0.458944E+00 + 3202 -0.788110E+00 0.222224E+00 -0.128921E-06 + 3203 -0.603739E+00 0.361923E+00 0.138484E+00 + 3204 -0.333098E+00 0.698889E+00 0.101284E+00 + 3205 -0.437873E+00 0.551227E+00 0.116032E+00 + 3206 -0.346334E+00 0.617956E+00 0.902713E-01 + 3207 -0.366674E+00 0.637359E+00 0.286414E+00 + 3208 -0.457593E+00 0.536048E+00 0.257263E+00 + 3209 -0.488732E+00 0.443940E+00 0.267670E+00 + 3210 -0.523014E+00 0.434465E+00 0.184890E+00 + 3211 -0.468319E+00 0.500307E+00 0.169180E+00 + 3212 -0.733735E+00 0.296279E+00 0.436463E+00 + 3213 -0.706041E+00 0.353309E+00 0.421619E+00 + 3214 -0.582999E+00 0.417934E+00 0.404044E+00 + 3215 -0.480208E+00 0.453867E+00 0.350343E+00 + 3216 -0.215007E+00 0.100000E+01 0.122181E+00 + 3217 -0.151785E+00 0.831268E+00 0.187200E+00 + 3218 -0.245449E+00 0.781935E+00 0.508438E-01 + 3219 -0.266280E+00 0.810223E+00 0.444628E+00 + 3220 -0.326697E+00 0.711444E+00 0.451481E+00 + 3221 -0.372413E+00 0.657527E+00 0.393152E+00 + 3222 -0.265258E+00 0.841897E+00 0.362955E+00 + 3223 -0.643430E+00 0.337615E+00 0.304498E+00 + 3224 -0.608349E+00 0.431250E+00 0.461881E+00 + 3225 -0.780952E+00 0.219131E+00 0.441069E+00 + 3226 -0.815775E+00 0.148520E+00 0.367197E+00 + 3227 -0.739333E+00 0.172149E+00 0.311445E+00 + 3228 -0.785325E+00 0.159395E+00 0.231776E+00 + 3229 -0.732367E+00 0.258273E+00 0.279258E+00 + 3230 -0.292521E+00 0.707591E+00 0.346138E+00 + 3231 -0.675936E+00 0.295275E+00 0.228497E+00 + 3232 -0.688787E+00 0.278515E+00 0.950946E-01 + 3233 -0.770491E+00 0.192687E+00 0.160736E+00 + 3234 -0.780771E+00 0.240471E+00 0.109634E+00 + 3235 -0.546754E+00 0.377683E+00 0.203221E+00 + 3236 -0.483820E+00 0.498534E+00 0.121168E+00 + 3237 -0.399461E+00 0.604081E+00 0.335424E+00 + 3238 -0.797246E+00 0.145289E+00 0.418025E+00 + 3239 -0.752310E+00 0.217072E+00 0.315875E+00 + 3240 -0.749363E+00 0.252667E+00 0.412779E+00 + 3241 -0.277192E+00 0.725581E+00 0.298145E+00 + 3242 -0.673979E+00 0.290936E+00 0.309780E+00 + 3243 -0.700787E+00 0.237993E+00 0.977435E-01 + 3244 -0.585405E+00 0.377054E+00 0.173013E+00 + 3245 -0.819804E+00 0.835202E-01 0.670434E-01 + 3246 -0.825867E+00 0.499546E-01 0.138604E+00 + 3247 -0.858201E+00 0.107174E+00 -0.128921E-06 + 3248 -0.863839E+00 0.341066E-01 -0.128921E-06 + 3249 -0.811441E+00 0.184460E+00 -0.128921E-06 + 3250 -0.759262E+00 0.154814E+00 0.119555E+00 + 3251 -0.889118E+00 0.739342E-01 0.462060E+00 + 3252 -0.798958E+00 0.500402E-01 0.236332E+00 + 3253 -0.761212E+00 0.125583E+00 0.235575E+00 + 3254 -0.821719E+00 -0.128921E-06 0.409904E+00 + 3255 -0.815222E+00 0.952440E-01 0.413530E+00 + 3256 -0.770172E+00 -0.128921E-06 0.280244E+00 + 3257 -0.783337E+00 0.845653E-01 0.323904E+00 + 3258 -0.863839E+00 0.341038E-01 0.500000E+00 + 3259 -0.760713E+00 0.200853E+00 0.219638E+00 + 3260 -0.834785E+00 0.146097E+00 0.500000E+00 + 3261 -0.755557E+00 0.221887E+00 0.728120E-01 + 3262 -0.684914E+00 0.279195E+00 0.469075E-01 + 3263 -0.744278E+00 0.220964E+00 -0.128921E-06 + 3264 -0.664241E+00 0.210895E+00 0.149018E+00 + 3265 -0.613242E+00 0.341386E+00 0.346675E-01 + 3266 -0.602776E+00 0.415439E+00 0.366374E-01 + 3267 -0.581568E+00 0.340845E+00 0.844037E-01 + 3268 -0.548291E+00 0.459943E+00 -0.128921E-06 + 3269 -0.652265E+00 0.308822E+00 0.104396E+00 + 3270 -0.656442E+00 0.296196E+00 0.190789E+00 + 3271 -0.535553E+00 0.405966E+00 0.488602E-01 + 3272 -0.542560E+00 0.388815E+00 0.122878E+00 + 3273 -0.593166E+00 0.309221E+00 0.146759E+00 + 3274 -0.446141E+00 0.571996E+00 0.457701E+00 + 3275 -0.374407E+00 0.569473E+00 0.388919E+00 + 3276 -0.332660E+00 0.621308E+00 0.358828E+00 + 3277 -0.354888E+00 0.670093E+00 0.453159E+00 + 3278 -0.552513E+00 0.467060E+00 0.413734E+00 + 3279 -0.474119E+00 0.475092E+00 0.392679E+00 + 3280 -0.519976E+00 0.412009E+00 0.358270E+00 + 3281 -0.503045E+00 0.520252E+00 0.500000E+00 + 3282 -0.437608E+00 0.492090E+00 0.252105E+00 + 3283 -0.548294E+00 0.459943E+00 0.500000E+00 + 3284 -0.576188E+00 0.395077E+00 0.449955E+00 + 3285 -0.370969E+00 0.547053E+00 0.185836E+00 + 3286 -0.432467E+00 0.483670E+00 0.148615E+00 + 3287 -0.300598E+00 0.735206E+00 -0.128921E-06 + 3288 -0.323078E+00 0.623130E+00 0.194342E+00 + 3289 -0.298193E+00 0.669750E+00 0.291352E+00 + 3290 -0.227557E+00 0.715466E+00 0.190350E+00 + 3291 -0.260005E+00 0.696625E+00 0.962574E-01 + 3292 -0.233358E+00 0.779693E+00 0.108716E+00 + 3293 -0.390377E+00 0.608823E+00 -0.128921E-06 + 3294 -0.361863E+00 0.569989E+00 0.951641E-01 + 3295 -0.382977E+00 0.513177E+00 0.408444E-01 + 3296 -0.304065E+00 0.615437E+00 0.454808E-01 + 3297 -0.229445E+00 0.750799E+00 0.274519E+00 + 3298 -0.199885E+00 0.830741E+00 0.337473E+00 + 3299 -0.502119E+00 0.458748E+00 0.103367E+00 + 3300 -0.472432E+00 0.446588E+00 0.219049E+00 + 3301 -0.537814E+00 0.362154E+00 0.305689E+00 + 3302 -0.492148E+00 0.368606E+00 0.238482E+00 + 3303 -0.447555E+00 0.415334E+00 0.292940E+00 + 3304 -0.447307E+00 0.404414E+00 0.162329E+00 + 3305 -0.591204E+00 0.363182E+00 0.357876E+00 + 3306 -0.615400E+00 0.304117E+00 0.284933E+00 + 3307 -0.577567E+00 0.325749E+00 0.223220E+00 + 3308 -0.650177E+00 0.398586E+00 0.463849E+00 + 3309 -0.717339E+00 0.334879E+00 0.500000E+00 + 3310 -0.764716E+00 0.259515E+00 0.500000E+00 + 3311 -0.724075E+00 0.273648E+00 0.394981E+00 + 3312 -0.614447E+00 0.335502E+00 0.414122E+00 + 3313 -0.680686E+00 0.248684E+00 0.312497E+00 + 3314 -0.633838E+00 0.329677E+00 0.500000E+00 + 3315 -0.462581E+00 0.487759E+00 -0.128921E-06 + 3316 -0.353450E+00 0.533339E+00 0.309611E+00 + 3317 -0.401247E+00 0.443834E+00 0.344255E+00 + 3318 -0.207188E+00 0.965652E+00 -0.128921E-06 + 3319 -0.180004E+00 0.912469E+00 0.814531E-01 + 3320 -0.191417E+00 0.865737E+00 -0.128921E-06 + 3321 -0.180009E+00 0.100000E+01 0.246790E+00 + 3322 -0.118657E+00 0.736844E+00 0.146413E+00 + 3323 -0.110397E+00 0.873840E+00 0.216688E+00 + 3324 -0.177258E+00 0.757220E+00 -0.128921E-06 + 3325 -0.236641E+00 0.923379E+00 0.500000E+00 + 3326 -0.239402E+00 0.747594E+00 0.500000E+00 + 3327 -0.282794E+00 0.690204E+00 0.412654E+00 + 3328 -0.208381E+00 0.825302E+00 0.443957E+00 + 3329 -0.180000E+00 0.100000E+01 0.500000E+00 + 3330 -0.735026E+00 0.180181E+00 0.419501E+00 + 3331 -0.767087E+00 0.184353E+00 0.500000E+00 + 3332 -0.702089E+00 0.191313E+00 0.293638E+00 + 3333 -0.193672E+00 0.682060E+00 0.352054E+00 + 3334 -0.655445E+00 0.201752E+00 0.751560E-01 + 3335 -0.821363E+00 0.965562E-01 0.157619E+00 + 3336 -0.841670E+00 0.665236E-01 0.956958E-01 + 3337 -0.800383E+00 0.136641E+00 0.857922E-01 + 3338 -0.815669E+00 0.606448E-01 0.350876E-01 + 3339 -0.851544E+00 -0.128921E-06 -0.128921E-06 + 3340 -0.773299E+00 -0.128921E-06 0.137187E+00 + 3341 -0.789903E+00 0.147254E+00 -0.128921E-06 + 3342 -0.929166E+00 0.602131E-01 0.500000E+00 + 3343 -0.849377E+00 0.631774E-01 0.442605E+00 + 3344 -0.757213E+00 0.934793E-01 0.268896E+00 + 3345 -0.773505E+00 -0.128921E-06 0.355316E+00 + 3346 -0.851544E+00 -0.128921E-06 0.500000E+00 + 3347 -0.776038E+00 0.101506E+00 0.373542E+00 + 3348 -0.741632E+00 0.147483E+00 0.197916E+00 + 3349 -0.731745E+00 0.204140E+00 0.117015E+00 + 3350 -0.715446E+00 0.231792E+00 0.231292E+00 + 3351 -0.858203E+00 0.107169E+00 0.500000E+00 + 3352 -0.753183E+00 0.208622E+00 0.352543E-01 + 3353 -0.721280E+00 0.257437E+00 -0.128921E-06 + 3354 -0.690749E+00 0.250203E+00 0.587648E-01 + 3355 -0.655044E+00 0.317963E+00 0.349807E-01 + 3356 -0.611463E+00 0.367862E+00 -0.128921E-06 + 3357 -0.563815E+00 0.439787E+00 0.505241E-01 + 3358 -0.645460E+00 0.297873E+00 0.149147E+00 + 3359 -0.539599E+00 0.378756E+00 0.691602E-01 + 3360 -0.571084E+00 0.348838E+00 0.136507E+00 + 3361 -0.412622E+00 0.564276E+00 0.434213E+00 + 3362 -0.335330E+00 0.571096E+00 0.397103E+00 + 3363 -0.335563E+00 0.624231E+00 0.500000E+00 + 3364 -0.490614E+00 0.493290E+00 0.460353E+00 + 3365 -0.514765E+00 0.434190E+00 0.388034E+00 + 3366 -0.426477E+00 0.493873E+00 0.368266E+00 + 3367 -0.493178E+00 0.430734E+00 0.308223E+00 + 3368 -0.452908E+00 0.453398E+00 0.250028E+00 + 3369 -0.539357E+00 0.432508E+00 0.461539E+00 + 3370 -0.376007E+00 0.589553E+00 0.205623E+00 + 3371 -0.412883E+00 0.525568E+00 0.147614E+00 + 3372 -0.422243E+00 0.520514E+00 0.226152E+00 + 3373 -0.349961E+00 0.589227E+00 0.298901E+00 + 3374 -0.318908E+00 0.678917E+00 -0.128921E-06 + 3375 -0.257027E+00 0.664588E+00 0.169413E+00 + 3376 -0.248133E+00 0.713662E+00 0.235681E+00 + 3377 -0.266328E+00 0.742532E+00 0.108871E+00 + 3378 -0.365038E+00 0.583683E+00 0.446950E-01 + 3379 -0.414653E+00 0.504225E+00 -0.128921E-06 + 3380 -0.343639E+00 0.548749E+00 0.137653E+00 + 3381 -0.164290E+00 0.807799E+00 0.253809E+00 + 3382 -0.273108E+00 0.643816E+00 0.341929E+00 + 3383 -0.506218E+00 0.471855E+00 -0.128921E-06 + 3384 -0.474149E+00 0.480413E+00 0.791862E-01 + 3385 -0.455047E+00 0.447654E+00 0.174155E+00 + 3386 -0.533700E+00 0.378122E+00 0.348222E+00 + 3387 -0.494260E+00 0.343926E+00 0.285086E+00 + 3388 -0.516660E+00 0.396866E+00 0.165877E+00 + 3389 -0.589163E+00 0.338185E+00 0.324258E+00 + 3390 -0.593551E+00 0.326110E+00 0.256047E+00 + 3391 -0.598821E+00 0.365490E+00 0.411923E+00 + 3392 -0.463990E+00 0.366607E+00 0.198207E+00 + 3393 -0.528870E+00 0.312375E+00 0.200950E+00 + 3394 -0.615174E+00 0.256998E+00 0.256612E+00 + 3395 -0.694046E+00 0.318438E+00 0.450612E+00 + 3396 -0.628595E+00 0.410501E+00 0.500000E+00 + 3397 -0.721283E+00 0.257434E+00 0.500000E+00 + 3398 -0.706512E+00 0.258615E+00 0.435043E+00 + 3399 -0.646858E+00 0.309516E+00 0.392920E+00 + 3400 -0.707693E+00 0.252861E+00 0.353407E+00 + 3401 -0.621634E+00 0.323860E+00 0.468528E+00 + 3402 -0.379628E+00 0.484276E+00 0.843320E-01 + 3403 -0.398675E+00 0.481523E+00 0.293822E+00 + 3404 -0.180000E+00 0.100000E+01 -0.128921E-06 + 3405 -0.175430E+00 0.842067E+00 0.692056E-01 + 3406 -0.239403E+00 0.747592E+00 -0.128921E-06 + 3407 -0.215003E+00 0.100000E+01 0.374607E+00 + 3408 -0.184161E+00 0.712488E+00 0.201946E+00 + 3409 -0.102532E+00 0.917285E+00 0.175993E+00 + 3410 -0.711637E-01 0.808358E+00 0.169611E+00 + 3411 -0.238372E+00 0.806005E+00 0.387654E+00 + 3412 -0.260373E+00 0.691783E+00 0.500000E+00 + 3413 -0.216469E+00 0.805053E+00 0.500000E+00 + 3414 -0.158887E+00 0.891208E+00 0.441195E+00 + 3415 -0.110003E+00 0.938292E+00 0.320301E+00 + 3416 -0.587420E+00 0.267302E+00 0.170988E+00 + 3417 -0.207187E+00 0.965653E+00 0.500000E+00 + 3418 -0.788114E+00 0.222221E+00 0.500000E+00 + 3419 -0.789905E+00 0.147250E+00 0.500000E+00 + 3420 -0.708603E+00 0.175195E+00 0.264906E+00 + 3421 -0.710422E+00 0.152156E+00 0.337747E+00 + 3422 -0.621573E+00 0.233362E+00 0.131831E+00 + 3423 -0.619624E+00 0.245460E+00 0.324956E+00 + 3424 -0.819275E+00 0.969029E-01 0.114136E+00 + 3425 -0.804564E+00 0.461245E-01 0.710758E-01 + 3426 -0.836582E+00 0.714350E-01 -0.128921E-06 + 3427 -0.815555E+00 -0.128921E-06 0.167038E+00 + 3428 -0.789476E+00 0.172023E+00 0.353443E-01 + 3429 -0.789041E+00 0.143217E+00 0.177627E+00 + 3430 -0.904716E+00 0.318084E-01 0.500000E+00 + 3431 -0.905063E+00 0.103695E+00 0.500000E+00 + 3432 -0.756903E+00 0.485703E-01 0.244109E+00 + 3433 -0.818456E+00 0.364963E-01 0.500000E+00 + 3434 -0.745045E+00 0.533321E-01 0.354873E+00 + 3435 -0.707156E+00 0.160657E+00 0.163245E+00 + 3436 -0.809200E+00 0.104097E+00 0.468828E+00 + 3437 -0.722422E+00 0.232521E+00 0.347521E-01 + 3438 -0.633834E+00 0.329678E+00 -0.128921E-06 + 3439 -0.617418E+00 0.365043E+00 0.593362E-01 + 3440 -0.592657E+00 0.402549E+00 -0.128921E-06 + 3441 -0.517263E+00 0.425456E+00 0.869694E-01 + 3442 -0.543160E+00 0.345455E+00 0.117923E+00 + 3443 -0.573822E+00 0.330505E+00 0.184768E+00 + 3444 -0.414678E+00 0.524888E+00 0.401079E+00 + 3445 -0.326208E+00 0.612236E+00 0.427474E+00 + 3446 -0.370365E+00 0.564127E+00 0.345519E+00 + 3447 -0.390376E+00 0.608824E+00 0.500000E+00 + 3448 -0.508141E+00 0.469837E+00 0.422375E+00 + 3449 -0.454155E+00 0.538610E+00 0.500000E+00 + 3450 -0.539309E+00 0.501156E+00 0.500000E+00 + 3451 -0.548120E+00 0.421566E+00 0.405939E+00 + 3452 -0.378931E+00 0.527788E+00 0.127327E+00 + 3453 -0.418092E+00 0.500875E+00 0.175696E+00 + 3454 -0.361667E+00 0.551112E+00 0.252751E+00 + 3455 -0.287246E+00 0.719566E+00 0.467538E-01 + 3456 -0.262014E+00 0.649358E+00 0.230781E+00 + 3457 -0.324300E+00 0.622679E+00 0.293440E+00 + 3458 -0.223147E+00 0.696534E+00 0.120723E+00 + 3459 -0.277373E+00 0.626519E+00 0.103082E+00 + 3460 -0.403155E+00 0.555678E+00 -0.128921E-06 + 3461 -0.320917E+00 0.582590E+00 0.181491E+00 + 3462 -0.335564E+00 0.624230E+00 -0.128921E-06 + 3463 -0.195868E+00 0.898187E+00 0.252068E+00 + 3464 -0.488263E+00 0.389396E+00 0.309808E+00 + 3465 -0.529197E+00 0.343020E+00 0.254292E+00 + 3466 -0.450176E+00 0.400790E+00 0.240680E+00 + 3467 -0.454636E+00 0.441646E+00 0.114546E+00 + 3468 -0.543102E+00 0.340300E+00 0.349434E+00 + 3469 -0.641277E+00 0.341731E+00 0.349585E+00 + 3470 -0.588175E+00 0.285697E+00 0.265035E+00 + 3471 -0.661507E+00 0.258553E+00 0.231571E+00 + 3472 -0.626278E+00 0.379087E+00 0.454200E+00 + 3473 -0.720154E+00 0.282893E+00 0.464671E+00 + 3474 -0.674914E+00 0.332290E+00 0.500000E+00 + 3475 -0.717433E+00 0.213242E+00 0.315927E+00 + 3476 -0.479743E+00 0.466110E+00 0.391203E-01 + 3477 -0.431496E+00 0.447937E+00 0.307011E+00 + 3478 -0.440106E+00 0.443534E+00 0.393053E+00 + 3479 -0.162541E+00 0.934953E+00 -0.128921E-06 + 3480 -0.216470E+00 0.805051E+00 -0.128921E-06 + 3481 -0.146685E+00 0.810008E+00 0.122631E+00 + 3482 -0.141407E+00 0.775979E+00 0.219147E+00 + 3483 -0.318907E+00 0.678918E+00 0.500000E+00 + 3484 -0.219685E+00 0.774408E+00 0.440300E+00 + 3485 -0.215991E+00 0.861988E+00 0.394527E+00 + 3486 -0.249812E+00 0.695189E+00 0.344800E+00 + 3487 -0.191416E+00 0.865738E+00 0.500000E+00 + 3488 -0.145002E+00 0.100000E+01 0.374603E+00 + 3489 -0.624228E+00 0.274943E+00 0.138035E+00 + 3490 -0.556608E+00 0.413033E+00 0.500000E+00 + 3491 -0.741111E+00 0.223242E+00 0.426602E+00 + 3492 -0.767789E+00 0.159731E+00 0.465092E+00 + 3493 -0.757882E+00 0.935365E-01 0.429942E+00 + 3494 -0.743750E+00 0.171522E+00 0.249177E+00 + 3495 -0.711265E+00 0.158839E+00 0.398357E+00 + 3496 -0.164960E+00 0.743464E+00 0.321722E+00 + 3497 -0.651240E+00 0.286787E+00 0.718732E-01 + 3498 -0.657201E+00 0.259380E+00 0.351845E+00 + 3499 -0.639900E+00 0.232118E+00 0.951720E-01 + 3500 -0.826254E+00 -0.128921E-06 0.731904E-01 + 3501 -0.768240E+00 0.189076E+00 0.810622E-01 + 3502 -0.812821E+00 0.109540E+00 -0.128921E-06 + 3503 -0.862531E+00 0.102104E+00 0.466767E+00 + 3504 -0.776355E+00 0.107702E+00 0.202580E+00 + 3505 -0.770449E+00 -0.128921E-06 0.208288E+00 + 3506 -0.744918E+00 0.491266E-01 0.301013E+00 + 3507 -0.804240E+00 -0.128921E-06 0.500000E+00 + 3508 -0.791398E+00 0.517535E-01 0.397629E+00 + 3509 -0.712733E+00 0.200559E+00 0.182510E+00 + 3510 -0.812823E+00 0.109536E+00 0.500000E+00 + 3511 -0.679083E+00 0.255124E+00 -0.128921E-06 + 3512 -0.767084E+00 0.184356E+00 -0.128921E-06 + 3513 -0.703602E+00 0.209230E+00 0.730061E-01 + 3514 -0.633692E+00 0.325308E+00 0.725838E-01 + 3515 -0.556605E+00 0.413033E+00 -0.128921E-06 + 3516 -0.374244E+00 0.582162E+00 0.445273E+00 + 3517 -0.376227E+00 0.663664E+00 0.500000E+00 + 3518 -0.534504E+00 0.474262E+00 0.461868E+00 + 3519 -0.443796E+00 0.510199E+00 0.458261E+00 + 3520 -0.341123E+00 0.591471E+00 0.222212E+00 + 3521 -0.190195E+00 0.741412E+00 0.117215E+00 + 3522 -0.306027E+00 0.594590E+00 0.135551E+00 + 3523 -0.389907E+00 0.534488E+00 0.725525E-01 + 3524 -0.254149E+00 0.659197E+00 0.467808E-01 + 3525 -0.512446E+00 0.458664E+00 0.588628E-01 + 3526 -0.430503E+00 0.475218E+00 0.208803E+00 + 3527 -0.479620E+00 0.388802E+00 0.271665E+00 + 3528 -0.488718E+00 0.395344E+00 0.129433E+00 + 3529 -0.532550E+00 0.350241E+00 0.164884E+00 + 3530 -0.559687E+00 0.365745E+00 0.373169E+00 + 3531 -0.570548E+00 0.327278E+00 0.293587E+00 + 3532 -0.612425E+00 0.318386E+00 0.210956E+00 + 3533 -0.642449E+00 0.255387E+00 0.279041E+00 + 3534 -0.651862E+00 0.371192E+00 0.500000E+00 + 3535 -0.698080E+00 0.294393E+00 0.500000E+00 + 3536 -0.743427E+00 0.245970E+00 0.464836E+00 + 3537 -0.686752E+00 0.294863E+00 0.416179E+00 + 3538 -0.431097E+00 0.467821E+00 0.964853E-01 + 3539 -0.388943E+00 0.511418E+00 0.345903E+00 + 3540 -0.367479E+00 0.515341E+00 0.251701E+00 + 3541 -0.454897E+00 0.427673E+00 0.345846E+00 + 3542 -0.145006E+00 0.100000E+01 0.122178E+00 + 3543 -0.122708E+00 0.872928E+00 -0.128921E-06 + 3544 -0.885578E-01 0.847108E+00 0.126230E+00 + 3545 -0.928310E-01 0.826501E+00 0.246466E+00 + 3546 -0.184165E+00 0.718535E+00 0.248490E+00 + 3547 -0.286274E+00 0.669387E+00 0.452829E+00 + 3548 -0.202363E+00 0.733859E+00 0.387155E+00 + 3549 -0.202122E+00 0.941329E+00 0.451209E+00 + 3550 -0.638254E+00 0.251975E+00 0.182810E+00 + 3551 -0.623210E+00 0.302282E+00 0.342278E+00 + 3552 -0.592662E+00 0.402549E+00 0.500000E+00 + 3553 -0.784048E+00 0.115405E+00 0.450048E+00 + 3554 -0.726875E+00 0.137164E+00 0.281006E+00 + 3555 -0.737891E+00 0.111444E+00 0.373352E+00 + 3556 -0.697360E+00 0.212705E+00 0.401328E+00 + 3557 -0.648369E+00 0.267707E+00 0.111526E+00 + 3558 -0.818455E+00 0.364992E-01 -0.128921E-06 + 3559 -0.790495E+00 0.122623E+00 0.351319E-01 + 3560 -0.786434E+00 0.496849E-01 0.170838E+00 + 3561 -0.882031E+00 0.680489E-01 0.500000E+00 + 3562 -0.801644E+00 0.579653E-01 0.445857E+00 + 3563 -0.747406E+00 0.149206E+00 0.157899E+00 + 3564 -0.576191E+00 0.385002E+00 0.491932E-01 + 3565 -0.656390E+00 0.291919E+00 -0.128921E-06 + 3566 -0.436696E+00 0.479355E+00 0.422101E+00 + 3567 -0.403154E+00 0.555679E+00 0.500000E+00 + 3568 -0.311580E+00 0.601382E+00 0.261219E+00 + 3569 -0.304196E+00 0.567658E+00 0.873305E-01 + 3570 -0.479746E+00 0.406286E+00 0.178816E+00 + 3571 -0.588793E+00 0.336375E+00 0.379582E+00 + 3572 -0.601690E+00 0.278555E+00 0.224696E+00 + 3573 -0.666872E+00 0.328979E+00 0.440773E+00 + 3574 -0.687939E+00 0.298301E+00 0.368013E+00 + 3575 -0.542426E+00 0.384397E+00 0.416140E+00 + 3576 -0.434098E+00 0.482138E+00 0.409672E-01 + 3577 -0.382426E+00 0.473664E+00 0.128351E+00 + 3578 -0.386836E+00 0.504434E+00 0.217066E+00 + 3579 -0.481987E+00 0.422394E+00 0.388002E+00 + 3580 -0.181742E+00 0.792038E+00 0.511980E-01 + 3581 -0.223785E+00 0.698256E+00 0.452881E+00 + 3582 -0.181336E+00 0.904596E+00 0.380509E+00 + 3583 -0.605237E+00 0.300352E+00 0.118324E+00 + 3584 -0.274647E+00 0.643250E+00 0.403239E+00 + 3585 -0.736200E+00 0.207783E+00 0.466379E+00 + 3586 -0.755096E+00 0.139844E+00 0.423495E+00 + 3587 -0.691453E+00 0.218155E+00 0.257729E+00 + 3588 -0.726077E+00 0.102094E+00 0.319980E+00 + 3589 -0.664160E+00 0.190693E+00 0.353997E+00 + 3590 -0.169006E+00 0.784153E+00 0.389143E+00 + 3591 -0.234015E+00 0.695511E+00 0.276833E+00 + 3592 -0.663311E+00 0.245358E+00 0.761431E-01 + 3593 -0.693881E+00 0.180175E+00 0.105877E+00 + 3594 -0.836583E+00 0.714311E-01 0.500000E+00 + 3595 -0.788589E+00 0.101735E+00 0.137055E+00 + 3596 -0.500023E+00 0.356600E+00 0.200082E+00 + 3597 -0.670576E+00 0.313057E+00 0.468957E+00 + 3598 -0.233546E+00 0.713827E+00 0.485041E-01 + 3599 -0.142486E+00 0.896154E+00 0.289448E+00 + 3600 -0.569891E+00 0.280950E+00 0.197699E+00 + 3601 -0.713902E+00 0.196553E+00 0.227896E+00 + 3602 -0.681163E+00 0.219142E+00 0.349129E+00 + 3603 -0.673591E+00 0.211408E+00 0.224740E+00 + 3604 -0.786753E+00 0.892136E-01 0.839764E-01 + 3605 -0.765906E+00 0.161445E+00 0.592429E-01 + 3606 -0.791970E+00 0.739997E-01 -0.128921E-06 + 3607 -0.768408E+00 0.308245E-01 0.388064E-01 + 3608 -0.732977E+00 -0.128921E-06 0.113842E+00 + 3609 -0.699844E+00 0.146266E+00 0.122333E+00 + 3610 -0.746372E+00 0.147592E+00 -0.128921E-06 + 3611 -0.734891E+00 0.508916E-01 0.219282E+00 + 3612 -0.716325E+00 0.136377E+00 0.240094E+00 + 3613 -0.778972E+00 -0.128921E-06 0.427667E+00 + 3614 -0.724645E+00 -0.128921E-06 0.314850E+00 + 3615 -0.791972E+00 0.739961E-01 0.500000E+00 + 3616 -0.680878E+00 0.666989E-01 0.344445E+00 + 3617 -0.708143E+00 0.175667E+00 0.349307E-01 + 3618 -0.657827E+00 0.266611E+00 0.344530E-01 + 3619 -0.596012E+00 0.300946E+00 0.336278E-01 + 3620 -0.626995E+00 0.201198E+00 0.184324E+00 + 3621 -0.567639E+00 0.363651E+00 -0.128921E-06 + 3622 -0.620933E+00 0.280063E+00 0.957415E-01 + 3623 -0.552227E+00 0.314854E+00 0.745447E-01 + 3624 -0.513167E+00 0.424546E+00 -0.128921E-06 + 3625 -0.509344E+00 0.350493E+00 0.362965E-01 + 3626 -0.470663E+00 0.406631E+00 0.817184E-01 + 3627 -0.500731E+00 0.363774E+00 0.140191E+00 + 3628 -0.548104E+00 0.297999E+00 0.153646E+00 + 3629 -0.382362E+00 0.514837E+00 0.458214E+00 + 3630 -0.333396E+00 0.519020E+00 0.363711E+00 + 3631 -0.277862E+00 0.604355E+00 0.380623E+00 + 3632 -0.311151E+00 0.586560E+00 0.300024E+00 + 3633 -0.279545E+00 0.637460E+00 0.500000E+00 + 3634 -0.511058E+00 0.423466E+00 0.424600E+00 + 3635 -0.453301E+00 0.461152E+00 0.459119E+00 + 3636 -0.506219E+00 0.471856E+00 0.500000E+00 + 3637 -0.474757E+00 0.376728E+00 0.365515E+00 + 3638 -0.407729E+00 0.453497E+00 0.409244E+00 + 3639 -0.401246E+00 0.444750E+00 0.287836E+00 + 3640 -0.433627E+00 0.420335E+00 0.201945E+00 + 3641 -0.588836E+00 0.351393E+00 0.468662E+00 + 3642 -0.381793E+00 0.501615E+00 0.172713E+00 + 3643 -0.342005E+00 0.470205E+00 0.115282E+00 + 3644 -0.326097E+00 0.515088E+00 0.279193E+00 + 3645 -0.275232E+00 0.583406E+00 0.226928E+00 + 3646 -0.260374E+00 0.691781E+00 -0.128921E-06 + 3647 -0.254541E+00 0.612253E+00 0.136868E+00 + 3648 -0.205039E+00 0.665975E+00 0.209583E+00 + 3649 -0.222319E+00 0.655176E+00 0.322469E+00 + 3650 -0.184874E+00 0.663448E+00 0.924795E-01 + 3651 -0.119922E+00 0.747997E+00 0.789072E-01 + 3652 -0.282177E+00 0.541771E+00 0.137489E+00 + 3653 -0.350729E+00 0.571136E+00 -0.128921E-06 + 3654 -0.377182E+00 0.469668E+00 -0.128921E-06 + 3655 -0.242432E+00 0.595965E+00 -0.128921E-06 + 3656 -0.290322E+00 0.554288E+00 0.435516E-01 + 3657 -0.123057E+00 0.807031E+00 0.293420E+00 + 3658 -0.238403E+00 0.665421E+00 0.399342E+00 + 3659 -0.527386E+00 0.311440E+00 0.310730E+00 + 3660 -0.491322E+00 0.328850E+00 0.242828E+00 + 3661 -0.567950E+00 0.289071E+00 0.239241E+00 + 3662 -0.409914E+00 0.369347E+00 0.269816E+00 + 3663 -0.399432E+00 0.407300E+00 0.117131E+00 + 3664 -0.420309E+00 0.360465E+00 0.174462E+00 + 3665 -0.546747E+00 0.346314E+00 0.415512E+00 + 3666 -0.587143E+00 0.250389E+00 0.290031E+00 + 3667 -0.593441E+00 0.292399E+00 0.388174E+00 + 3668 -0.643715E+00 0.218401E+00 0.257476E+00 + 3669 -0.675570E+00 0.273768E+00 0.462013E+00 + 3670 -0.744281E+00 0.220961E+00 0.500000E+00 + 3671 -0.699816E+00 0.228285E+00 0.447725E+00 + 3672 -0.682244E+00 0.253092E+00 0.396596E+00 + 3673 -0.615946E+00 0.289448E+00 0.500000E+00 + 3674 -0.352672E+00 0.461592E+00 0.224372E+00 + 3675 -0.364829E+00 0.426332E+00 0.353072E+00 + 3676 -0.110000E+00 0.100000E+01 -0.128921E-06 + 3677 -0.110007E+00 0.100000E+01 0.246784E+00 + 3678 -0.151499E+00 0.813844E+00 -0.128921E-06 + 3679 -0.538851E-01 0.876484E+00 -0.128921E-06 + 3680 -0.711881E-01 0.719636E+00 0.195914E+00 + 3681 0.170647E-02 0.784987E+00 0.134960E+00 + 3682 -0.346579E-01 0.891755E+00 0.138716E+00 + 3683 0.282355E-02 0.805832E+00 0.233791E+00 + 3684 -0.140583E+00 0.709796E+00 -0.128921E-06 + 3685 -0.122271E+00 0.679031E+00 0.243465E+00 + 3686 -0.162540E+00 0.934955E+00 0.500000E+00 + 3687 -0.200858E+00 0.702108E+00 0.500000E+00 + 3688 -0.151166E+00 0.818201E+00 0.444397E+00 + 3689 -0.144426E+00 0.740228E+00 0.396140E+00 + 3690 0.259060E-01 0.920412E+00 0.335630E+00 + 3691 -0.580537E+00 0.235034E+00 0.135349E+00 + 3692 -0.559992E+00 0.237083E+00 0.205545E+00 + 3693 -0.521337E+00 0.377625E+00 0.500000E+00 + 3694 -0.700759E+00 0.145701E+00 0.442149E+00 + 3695 -0.746374E+00 0.147589E+00 0.500000E+00 + 3696 -0.727144E+00 0.882236E-01 0.466487E+00 + 3697 -0.693086E+00 0.982795E-01 0.405192E+00 + 3698 -0.664256E+00 0.164049E+00 0.319683E+00 + 3699 -0.646555E+00 0.184106E+00 0.406293E+00 + 3700 -0.631699E+00 0.219498E+00 0.344206E+00 + 3701 -0.612607E+00 0.207394E+00 0.103248E+00 + 3702 -0.642625E+00 0.156811E+00 0.325867E-01 + 3703 -0.758393E+00 0.469061E-01 0.106424E+00 + 3704 -0.759830E+00 0.115407E+00 0.768070E-01 + 3705 -0.773959E+00 0.385462E-01 -0.128921E-06 + 3706 -0.722874E+00 -0.128921E-06 0.174133E+00 + 3707 -0.768762E+00 0.111076E+00 -0.128921E-06 + 3708 -0.729927E+00 0.100899E+00 0.223396E+00 + 3709 -0.736987E+00 -0.128921E-06 0.394455E+00 + 3710 -0.695275E+00 0.375241E-01 0.265775E+00 + 3711 -0.773959E+00 0.385440E-01 0.500000E+00 + 3712 -0.761810E+00 0.902864E-01 0.461137E+00 + 3713 -0.666718E+00 0.156613E+00 0.196175E+00 + 3714 -0.724071E+00 0.183534E+00 -0.128921E-06 + 3715 -0.687047E+00 0.217427E+00 0.329521E-01 + 3716 -0.638008E+00 0.252789E+00 -0.128921E-06 + 3717 -0.616351E+00 0.286121E+00 0.546119E-01 + 3718 -0.640221E+00 0.173455E+00 0.114463E+00 + 3719 -0.594431E+00 0.326617E+00 -0.128921E-06 + 3720 -0.573006E+00 0.299721E+00 0.110696E+00 + 3721 -0.521335E+00 0.377624E+00 -0.128921E-06 + 3722 -0.502981E+00 0.369140E+00 0.844598E-01 + 3723 -0.473176E+00 0.443881E+00 0.770802E-01 + 3724 -0.495788E+00 0.329394E+00 0.158569E+00 + 3725 -0.356854E+00 0.518725E+00 0.428350E+00 + 3726 -0.308762E+00 0.567365E+00 0.337909E+00 + 3727 -0.290420E+00 0.601174E+00 0.454065E+00 + 3728 -0.350728E+00 0.571137E+00 0.500000E+00 + 3729 -0.470683E+00 0.442734E+00 0.427659E+00 + 3730 -0.462580E+00 0.487761E+00 0.500000E+00 + 3731 -0.493654E+00 0.380598E+00 0.395656E+00 + 3732 -0.384980E+00 0.457790E+00 0.240838E+00 + 3733 -0.513168E+00 0.424547E+00 0.500000E+00 + 3734 -0.541834E+00 0.355479E+00 0.450364E+00 + 3735 -0.336599E+00 0.520345E+00 0.195186E+00 + 3736 -0.333722E+00 0.517198E+00 0.904877E-01 + 3737 -0.405760E+00 0.461565E+00 0.158095E+00 + 3738 -0.279546E+00 0.637458E+00 -0.128921E-06 + 3739 -0.230175E+00 0.612999E+00 0.192107E+00 + 3740 -0.228538E+00 0.644460E+00 0.962538E-01 + 3741 -0.204531E+00 0.662087E+00 0.265995E+00 + 3742 -0.175181E+00 0.680186E+00 0.159163E+00 + 3743 -0.152690E+00 0.723606E+00 0.498005E-01 + 3744 -0.237912E+00 0.572688E+00 0.133774E+00 + 3745 -0.364554E+00 0.519622E+00 -0.128921E-06 + 3746 -0.397000E+00 0.448448E+00 0.402886E-01 + 3747 -0.238687E+00 0.564889E+00 0.432773E-01 + 3748 -0.114715E+00 0.730220E+00 0.290255E+00 + 3749 -0.129974E+00 0.856756E+00 0.389367E+00 + 3750 -0.227108E+00 0.639872E+00 0.368463E+00 + 3751 -0.470430E+00 0.438714E+00 -0.128921E-06 + 3752 -0.499391E+00 0.351112E+00 0.336937E+00 + 3753 -0.424382E+00 0.387633E+00 0.347801E+00 + 3754 -0.535141E+00 0.296556E+00 0.274563E+00 + 3755 -0.454370E+00 0.307856E+00 0.270456E+00 + 3756 -0.417635E+00 0.387552E+00 0.210935E+00 + 3757 -0.431300E+00 0.400661E+00 0.105103E+00 + 3758 -0.555764E+00 0.329544E+00 0.386510E+00 + 3759 -0.538910E+00 0.282082E+00 0.213063E+00 + 3760 -0.616141E+00 0.231937E+00 0.209738E+00 + 3761 -0.651360E+00 0.220538E+00 0.305549E+00 + 3762 -0.611468E+00 0.367861E+00 0.500000E+00 + 3763 -0.672756E+00 0.241103E+00 0.466732E+00 + 3764 -0.656394E+00 0.291918E+00 0.500000E+00 + 3765 -0.613783E+00 0.307791E+00 0.430115E+00 + 3766 -0.633270E+00 0.257133E+00 0.373784E+00 + 3767 -0.356992E+00 0.434821E+00 0.312848E+00 + 3768 -0.379274E+00 0.429703E+00 0.401490E+00 + 3769 -0.875912E-01 0.894795E+00 0.560864E-01 + 3770 -0.736423E-01 0.760882E+00 0.936499E-01 + 3771 0.158901E-01 0.845290E+00 0.133182E+00 + 3772 -0.500501E-02 0.100000E+01 0.122174E+00 + 3773 -0.440330E-01 0.872912E+00 0.231229E+00 + 3774 -0.146469E-01 0.752274E+00 0.204067E+00 + 3775 -0.177256E+00 0.757221E+00 0.500000E+00 + 3776 -0.222526E+00 0.648353E+00 0.500000E+00 + 3777 -0.184594E+00 0.694632E+00 0.406585E+00 + 3778 -0.122706E+00 0.872929E+00 0.500000E+00 + 3779 -0.110000E+00 0.100000E+01 0.500000E+00 + 3780 -0.500069E-02 0.100000E+01 0.374599E+00 + 3781 -0.545299E+00 0.221967E+00 0.165015E+00 + 3782 -0.703504E+00 0.170885E+00 0.466378E+00 + 3783 -0.717159E+00 0.116497E+00 0.433612E+00 + 3784 -0.680036E+00 0.138108E+00 0.276474E+00 + 3785 -0.668376E+00 0.123771E+00 0.363961E+00 + 3786 -0.596640E+00 0.179014E+00 0.364596E+00 + 3787 -0.557790E+00 0.226574E+00 0.319935E+00 + 3788 -0.622485E+00 0.211757E+00 0.669105E-01 + 3789 -0.756232E+00 0.853462E-01 0.343885E-01 + 3790 -0.804240E+00 -0.128921E-06 -0.128921E-06 + 3791 -0.732731E+00 0.480322E-01 0.137153E+00 + 3792 -0.727396E+00 0.180982E+00 0.819726E-01 + 3793 -0.730088E+00 -0.128921E-06 0.243797E+00 + 3794 -0.706959E+00 0.921602E-01 0.280880E+00 + 3795 -0.758591E+00 -0.128921E-06 0.500000E+00 + 3796 -0.746493E+00 0.650569E-01 0.453173E+00 + 3797 -0.708947E+00 0.493847E-01 0.395759E+00 + 3798 -0.686477E+00 0.121504E+00 0.207911E+00 + 3799 -0.663949E+00 0.150811E+00 0.159654E+00 + 3800 -0.768764E+00 0.111073E+00 0.500000E+00 + 3801 -0.701710E+00 0.219162E+00 -0.128921E-06 + 3802 -0.615942E+00 0.289450E+00 -0.128921E-06 + 3803 -0.595620E+00 0.322941E+00 0.541237E-01 + 3804 -0.479697E+00 0.373363E+00 0.366644E-01 + 3805 -0.522060E+00 0.325411E+00 0.722648E-01 + 3806 -0.505108E+00 0.290410E+00 0.144010E+00 + 3807 -0.581487E+00 0.273098E+00 0.129070E+00 + 3808 -0.370625E+00 0.499327E+00 0.381792E+00 + 3809 -0.320320E+00 0.563014E+00 0.456136E+00 + 3810 -0.496606E+00 0.445039E+00 0.461763E+00 + 3811 -0.523485E+00 0.358136E+00 0.379713E+00 + 3812 -0.414653E+00 0.504226E+00 0.500000E+00 + 3813 -0.428276E+00 0.438768E+00 0.434958E+00 + 3814 -0.404896E+00 0.423525E+00 0.247200E+00 + 3815 -0.567643E+00 0.363651E+00 0.500000E+00 + 3816 -0.339730E+00 0.498277E+00 0.143144E+00 + 3817 -0.303270E+00 0.550056E+00 0.275904E+00 + 3818 -0.337855E+00 0.490133E+00 0.250847E+00 + 3819 -0.273179E+00 0.572488E+00 0.185070E+00 + 3820 -0.199720E+00 0.648603E+00 0.155290E+00 + 3821 -0.215477E+00 0.587309E+00 0.247453E+00 + 3822 -0.258510E+00 0.617131E+00 0.313687E+00 + 3823 -0.137477E+00 0.688452E+00 0.104316E+00 + 3824 -0.241914E+00 0.593668E+00 0.773758E-01 + 3825 -0.338032E+00 0.556851E+00 0.420446E-01 + 3826 -0.425061E+00 0.454431E+00 -0.128921E-06 + 3827 -0.222527E+00 0.648352E+00 -0.128921E-06 + 3828 -0.466921E+00 0.338949E+00 0.308556E+00 + 3829 -0.449106E+00 0.348216E+00 0.231869E+00 + 3830 -0.451951E+00 0.374226E+00 0.114494E+00 + 3831 -0.403908E+00 0.436309E+00 0.961278E-01 + 3832 -0.401660E+00 0.395427E+00 0.149409E+00 + 3833 -0.564501E+00 0.295839E+00 0.346034E+00 + 3834 -0.567015E+00 0.323382E+00 0.421856E+00 + 3835 -0.513483E+00 0.264107E+00 0.230092E+00 + 3836 -0.606805E+00 0.221641E+00 0.253574E+00 + 3837 -0.679086E+00 0.255122E+00 0.500000E+00 + 3838 -0.651203E+00 0.266098E+00 0.427303E+00 + 3839 -0.492756E+00 0.380927E+00 0.446607E+00 + 3840 -0.597260E+00 0.275563E+00 0.466815E+00 + 3841 -0.444143E+00 0.382134E+00 0.376734E+00 + 3842 -0.376757E+00 0.392848E+00 0.356853E+00 + 3843 -0.861811E-01 0.934974E+00 -0.128921E-06 + 3844 -0.750056E-01 0.100000E+01 0.122175E+00 + 3845 -0.111635E+00 0.817916E+00 0.511735E-01 + 3846 -0.384973E-01 0.728263E+00 0.160218E+00 + 3847 -0.118592E+00 0.707776E+00 0.211243E+00 + 3848 0.259046E-01 0.922519E+00 0.162590E+00 + 3849 -0.760690E-01 0.891041E+00 0.286733E+00 + 3850 -0.560473E-01 0.786615E+00 0.259518E+00 + 3851 -0.150776E+00 0.687228E+00 0.301738E+00 + 3852 -0.248167E+00 0.627260E+00 0.454165E+00 + 3853 -0.144079E+00 0.743669E+00 0.450495E+00 + 3854 -0.151497E+00 0.813846E+00 0.500000E+00 + 3855 -0.874868E-01 0.856283E+00 0.446196E+00 + 3856 -0.750013E-01 0.100000E+01 0.374601E+00 + 3857 -0.597597E+00 0.234328E+00 0.172472E+00 + 3858 -0.685586E+00 0.174639E+00 0.430769E+00 + 3859 -0.724074E+00 0.183531E+00 0.500000E+00 + 3860 -0.672939E+00 0.166236E+00 0.236759E+00 + 3861 -0.639681E+00 0.144048E+00 0.343049E+00 + 3862 -0.157704E+00 0.649328E+00 0.407345E+00 + 3863 -0.573916E+00 0.196331E+00 0.121228E+00 + 3864 -0.584887E+00 0.219724E+00 0.369185E+00 + 3865 -0.640539E+00 0.204019E+00 0.331742E-01 + 3866 -0.743534E+00 0.493533E-01 0.673267E-01 + 3867 -0.738117E+00 0.135887E+00 0.326990E-01 + 3868 -0.727070E+00 0.109679E+00 0.114727E+00 + 3869 -0.684496E+00 0.517909E-01 0.315934E+00 + 3870 -0.739292E+00 0.491316E-01 0.417991E+00 + 3871 -0.660238E+00 0.217060E+00 -0.128921E-06 + 3872 -0.682182E+00 0.182112E+00 0.558258E-01 + 3873 -0.630561E+00 0.185191E+00 0.154701E+00 + 3874 -0.552492E+00 0.338522E+00 0.350218E-01 + 3875 -0.584960E+00 0.285451E+00 0.632339E-01 + 3876 -0.487296E+00 0.418149E+00 0.381934E-01 + 3877 -0.534271E+00 0.305492E+00 0.101994E+00 + 3878 -0.387411E+00 0.492334E+00 0.424325E+00 + 3879 -0.287614E+00 0.542334E+00 0.405587E+00 + 3880 -0.297084E+00 0.584625E+00 0.500000E+00 + 3881 -0.521134E+00 0.394003E+00 0.462305E+00 + 3882 -0.364554E+00 0.519624E+00 0.500000E+00 + 3883 -0.368001E+00 0.469968E+00 0.187690E+00 + 3884 -0.283382E+00 0.539856E+00 0.221294E+00 + 3885 -0.256500E+00 0.607541E+00 0.272458E+00 + 3886 -0.355531E+00 0.491591E+00 0.414909E-01 + 3887 -0.297085E+00 0.584624E+00 -0.128921E-06 + 3888 -0.283806E+00 0.523225E+00 0.852911E-01 + 3889 -0.217301E+00 0.616458E+00 0.454438E-01 + 3890 -0.424920E+00 0.369928E+00 0.317441E+00 + 3891 -0.494524E+00 0.310839E+00 0.303045E+00 + 3892 -0.434674E+00 0.430905E+00 0.755462E-01 + 3893 -0.421233E+00 0.376623E+00 0.126787E+00 + 3894 -0.508387E+00 0.304971E+00 0.360830E+00 + 3895 -0.571166E+00 0.277730E+00 0.318303E+00 + 3896 -0.463455E+00 0.326926E+00 0.193017E+00 + 3897 -0.526960E+00 0.252409E+00 0.171039E+00 + 3898 -0.577780E+00 0.254783E+00 0.245508E+00 + 3899 -0.610933E+00 0.208480E+00 0.312517E+00 + 3900 -0.701713E+00 0.219160E+00 0.500000E+00 + 3901 -0.665378E+00 0.212810E+00 0.430956E+00 + 3902 -0.643741E+00 0.288651E+00 0.467205E+00 + 3903 -0.510046E+00 0.346705E+00 0.425600E+00 + 3904 -0.594435E+00 0.326617E+00 0.500000E+00 + 3905 -0.336302E+00 0.467269E+00 0.278375E+00 + 3906 -0.424346E+00 0.409059E+00 0.379141E+00 + 3907 -0.858740E-01 0.819433E+00 -0.128921E-06 + 3908 -0.200859E+00 0.702107E+00 -0.128921E-06 + 3909 -0.735263E-01 0.707547E+00 0.106118E+00 + 3910 -0.887335E-01 0.758468E+00 0.228943E+00 + 3911 -0.166868E+00 0.662396E+00 0.227125E+00 + 3912 -0.400060E-01 0.100000E+01 0.246781E+00 + 3913 -0.585190E-01 0.844123E+00 0.322045E+00 + 3914 0.204747E-01 0.824929E+00 0.188134E+00 + 3915 -0.193277E+00 0.656248E+00 0.438407E+00 + 3916 -0.151800E+00 0.676100E+00 0.358228E+00 + 3917 -0.110001E+00 0.910797E+00 0.416401E+00 + 3918 -0.747050E+00 0.123479E+00 0.465766E+00 + 3919 -0.678858E+00 0.685601E-01 0.384532E+00 + 3920 -0.666809E+00 0.146564E+00 0.387264E+00 + 3921 -0.108187E+00 0.776869E+00 0.436476E+00 + 3922 -0.626315E+00 0.173035E+00 0.242477E+00 + 3923 -0.614385E+00 0.169710E+00 0.667928E-01 + 3924 -0.768904E+00 -0.128921E-06 0.682433E-01 + 3925 -0.709397E+00 0.123942E+00 0.715844E-01 + 3926 -0.728724E+00 0.848152E-01 0.157636E+00 + 3927 -0.687935E+00 -0.128921E-06 0.360969E+00 + 3928 -0.489205E+00 0.328038E+00 0.121047E+00 + 3929 -0.416256E+00 0.469291E+00 0.460019E+00 + 3930 -0.377542E+00 0.467771E+00 0.398867E+00 + 3931 -0.178276E+00 0.671689E+00 0.475598E-01 + 3932 -0.367623E+00 0.424926E+00 0.198486E+00 + 3933 -0.437829E+00 0.349724E+00 0.270582E+00 + 3934 -0.405873E+00 0.402527E+00 0.305292E+00 + 3935 -0.485370E+00 0.291389E+00 0.190231E+00 + 3936 -0.550258E+00 0.237731E+00 0.271527E+00 + 3937 -0.620115E+00 0.268218E+00 0.427558E+00 + 3938 -0.577858E+00 0.311144E+00 0.469261E+00 + 3939 -0.443368E+00 0.433128E+00 0.392824E-01 + 3940 -0.342093E+00 0.440186E+00 0.683016E-01 + 3941 -0.300278E+00 0.502801E+00 0.319489E+00 + 3942 -0.451470E+00 0.402619E+00 0.417755E+00 + 3943 -0.114404E+00 0.763986E+00 -0.128921E-06 + 3944 -0.867434E-01 0.690105E+00 0.146222E+00 + 3945 -0.275007E-01 0.829478E+00 0.672727E-01 + 3946 0.529639E-02 0.907981E+00 0.217734E+00 + 3947 -0.156015E+00 0.672868E+00 0.451848E+00 + 3948 -0.669254E-01 0.918079E+00 0.377775E+00 + 3949 -0.580834E+00 0.275337E+00 0.918060E-01 + 3950 -0.588580E+00 0.252475E+00 0.371426E+00 + 3951 -0.240659E+00 0.596543E+00 0.403958E+00 + 3952 -0.679732E+00 0.196277E+00 0.468154E+00 + 3953 -0.712685E+00 0.714530E-01 0.439737E+00 + 3954 -0.652429E+00 0.184178E+00 0.270312E+00 + 3955 -0.671323E+00 0.109760E+00 0.315428E+00 + 3956 -0.681626E+00 0.134246E+00 0.414707E+00 + 3957 -0.621338E+00 0.164223E+00 0.398416E+00 + 3958 -0.905241E-01 0.782414E+00 0.353464E+00 + 3959 -0.190093E+00 0.638402E+00 0.347819E+00 + 3960 -0.584388E+00 0.200471E+00 0.168026E+00 + 3961 -0.618652E+00 0.239371E+00 0.333884E-01 + 3962 -0.692797E+00 0.125784E+00 0.152548E+00 + 3963 -0.467480E+00 0.345175E+00 0.141396E+00 + 3964 -0.348982E+00 0.434524E+00 0.135230E+00 + 3965 -0.352774E+00 0.476308E+00 0.328597E+00 + 3966 -0.507603E-01 0.789815E+00 0.611037E-01 + 3967 -0.631854E+00 0.227979E+00 0.387006E+00 + 3968 -0.627358E+00 0.178112E+00 0.311977E+00 + 3969 -0.111726E+00 0.710602E+00 0.338920E+00 + 3970 -0.602589E+00 0.240080E+00 0.886034E-01 + 3971 -0.670591E+00 0.156653E+00 0.747596E-01 + 3972 -0.722745E+00 0.801517E-01 0.762803E-01 + 3973 -0.748669E+00 0.758573E-01 -0.128921E-06 + 3974 -0.702482E+00 -0.128921E-06 0.582119E-01 + 3975 -0.659202E+00 -0.128921E-06 0.173797E+00 + 3976 -0.683941E+00 0.134950E+00 0.328733E-01 + 3977 -0.666973E+00 0.130265E+00 0.118608E+00 + 3978 -0.700162E+00 0.717670E-01 0.218215E+00 + 3979 -0.694169E+00 -0.128921E-06 0.268260E+00 + 3980 -0.660521E+00 0.131745E+00 0.244884E+00 + 3981 -0.722283E+00 0.320755E-01 0.462301E+00 + 3982 -0.640701E+00 0.421217E-01 0.311050E+00 + 3983 -0.748670E+00 0.758544E-01 0.500000E+00 + 3984 -0.652978E+00 -0.128921E-06 0.398381E+00 + 3985 -0.613472E+00 0.140137E+00 0.184045E+00 + 3986 -0.619783E+00 0.214853E+00 -0.128921E-06 + 3987 -0.581927E+00 0.272986E+00 0.333146E-01 + 3988 -0.561469E+00 0.320046E+00 -0.128921E-06 + 3989 -0.603315E+00 0.159085E+00 0.100556E+00 + 3990 -0.519822E+00 0.305596E+00 0.381656E-01 + 3991 -0.550571E+00 0.229470E+00 0.643718E-01 + 3992 -0.478292E+00 0.391188E+00 -0.128921E-06 + 3993 -0.454884E+00 0.333322E+00 0.687710E-01 + 3994 -0.496027E+00 0.258395E+00 0.129932E+00 + 3995 -0.355406E+00 0.482787E+00 0.449284E+00 + 3996 -0.280838E+00 0.474227E+00 0.364310E+00 + 3997 -0.249162E+00 0.557013E+00 0.386310E+00 + 3998 -0.313148E+00 0.533279E+00 0.500000E+00 + 3999 -0.242431E+00 0.595967E+00 0.500000E+00 + 4000 -0.458138E+00 0.427505E+00 0.461181E+00 + 4001 -0.474480E+00 0.331453E+00 0.381776E+00 + 4002 -0.382685E+00 0.386847E+00 0.414591E+00 + 4003 -0.366920E+00 0.406461E+00 0.272122E+00 + 4004 -0.561472E+00 0.320046E+00 0.500000E+00 + 4005 -0.502697E+00 0.325768E+00 0.463070E+00 + 4006 -0.305198E+00 0.476926E+00 0.230663E+00 + 4007 -0.300799E+00 0.500751E+00 0.128199E+00 + 4008 -0.306203E+00 0.504014E+00 0.420374E-01 + 4009 -0.338677E+00 0.444564E+00 0.191032E+00 + 4010 -0.245056E+00 0.563063E+00 0.261671E+00 + 4011 -0.232539E+00 0.511041E+00 0.184735E+00 + 4012 -0.202513E+00 0.593007E+00 0.211865E+00 + 4013 -0.187056E+00 0.597117E+00 0.106241E+00 + 4014 -0.189901E+00 0.640031E+00 0.298097E+00 + 4015 -0.121927E+00 0.639541E+00 0.188123E+00 + 4016 -0.594917E-01 0.731593E+00 0.425339E-01 + 4017 -0.702928E-01 0.635092E+00 0.968986E-01 + 4018 -0.344944E+00 0.422447E+00 0.358069E-01 + 4019 -0.207462E+00 0.554574E+00 -0.128921E-06 + 4020 -0.164704E+00 0.656810E+00 -0.128921E-06 + 4021 -0.532331E-01 0.710284E+00 0.244835E+00 + 4022 -0.657554E-01 0.819878E+00 0.371628E+00 + 4023 -0.189463E+00 0.608108E+00 0.406342E+00 + 4024 -0.364176E+00 0.364136E+00 0.188946E+00 + 4025 -0.518958E+00 0.260011E+00 0.315885E+00 + 4026 -0.429302E+00 0.316087E+00 0.306356E+00 + 4027 -0.460414E+00 0.298635E+00 0.229684E+00 + 4028 -0.405659E+00 0.373963E+00 0.784601E-01 + 4029 -0.424219E+00 0.323835E+00 0.160905E+00 + 4030 -0.561267E+00 0.283269E+00 0.388978E+00 + 4031 -0.581485E+00 0.205232E+00 0.283671E+00 + 4032 -0.488095E+00 0.207541E+00 0.180725E+00 + 4033 -0.517107E+00 0.210921E+00 0.260341E+00 + 4034 -0.638012E+00 0.252788E+00 0.500000E+00 + 4035 -0.640542E+00 0.204018E+00 0.466826E+00 + 4036 -0.682305E+00 0.182030E+00 0.500000E+00 + 4037 -0.574514E+00 0.260006E+00 0.444081E+00 + 4038 -0.560786E+00 0.248317E+00 0.500000E+00 + 4039 -0.298064E+00 0.397732E+00 0.968885E-01 + 4040 -0.322674E+00 0.405451E+00 0.350033E+00 + 4041 -0.356836E+00 0.330868E+00 0.347685E+00 + 4042 -0.399999E-01 0.100000E+01 -0.128921E-06 + 4043 -0.199447E-01 0.821910E+00 -0.128921E-06 + 4044 0.382363E-02 0.671983E+00 0.105942E+00 + 4045 0.549739E-01 0.762187E+00 0.110441E+00 + 4046 0.999969E-01 0.912473E+00 0.814484E-01 + 4047 0.879603E-01 0.919402E+00 0.227930E+00 + 4048 0.654379E-02 0.828853E+00 0.295763E+00 + 4049 0.327385E-01 0.743720E+00 0.255838E+00 + 4050 -0.866537E-01 0.632827E+00 0.296420E+00 + 4051 -0.861796E-01 0.934975E+00 0.500000E+00 + 4052 -0.164702E+00 0.656811E+00 0.500000E+00 + 4053 -0.114401E+00 0.763988E+00 0.500000E+00 + 4054 -0.691757E-01 0.697264E+00 0.453990E+00 + 4055 0.100000E+00 0.910794E+00 0.416398E+00 + 4056 0.299999E-01 0.100000E+01 0.500000E+00 + 4057 -0.538336E+00 0.208483E+00 0.126825E+00 + 4058 -0.662664E+00 0.145752E+00 0.443471E+00 + 4059 -0.692542E+00 0.792341E-01 0.464177E+00 + 4060 -0.615911E+00 0.132314E+00 0.371784E+00 + 4061 -0.554464E+00 0.163656E+00 0.366890E+00 + 4062 -0.589828E+00 0.164934E+00 0.441195E+00 + 4063 -0.195271E-01 0.786158E+00 0.449182E+00 + 4064 -0.361771E-01 0.684038E+00 0.334220E+00 + 4065 -0.595657E+00 0.164936E+00 0.315928E-01 + 4066 -0.713142E+00 0.368826E-01 0.927715E-01 + 4067 -0.758592E+00 -0.128921E-06 -0.128921E-06 + 4068 -0.705775E+00 0.100201E+00 0.330414E-01 + 4069 -0.684772E+00 -0.128921E-06 0.218720E+00 + 4070 -0.680216E+00 0.104612E+00 0.950982E-01 + 4071 -0.665834E+00 0.980736E-01 0.167747E+00 + 4072 -0.659085E+00 0.883921E-01 0.255845E+00 + 4073 -0.701918E+00 -0.128921E-06 0.431852E+00 + 4074 -0.668579E+00 -0.128921E-06 0.304527E+00 + 4075 -0.634280E+00 0.463834E-01 0.358192E+00 + 4076 -0.730934E+00 0.401593E-01 0.500000E+00 + 4077 -0.726011E+00 0.111775E+00 0.500000E+00 + 4078 -0.628984E+00 0.140201E+00 0.123290E+00 + 4079 -0.682302E+00 0.182031E+00 -0.128921E-06 + 4080 -0.598165E+00 0.250471E+00 -0.128921E-06 + 4081 -0.558836E+00 0.297146E+00 0.324510E-01 + 4082 -0.585961E+00 0.195794E+00 0.207472E+00 + 4083 -0.647652E+00 0.139295E+00 0.585665E-01 + 4084 -0.535390E+00 0.252771E+00 0.114909E+00 + 4085 -0.485999E+00 0.345137E+00 -0.128921E-06 + 4086 -0.431138E+00 0.369910E+00 0.366911E-01 + 4087 -0.492796E+00 0.298962E+00 0.581863E-01 + 4088 -0.422829E+00 0.346614E+00 0.105935E+00 + 4089 -0.469210E+00 0.294385E+00 0.152432E+00 + 4090 -0.377182E+00 0.469670E+00 0.500000E+00 + 4091 -0.317729E+00 0.486459E+00 0.409247E+00 + 4092 -0.210774E+00 0.575625E+00 0.349386E+00 + 4093 -0.260732E+00 0.544964E+00 0.500000E+00 + 4094 -0.470430E+00 0.438715E+00 0.500000E+00 + 4095 -0.439881E+00 0.325058E+00 0.346379E+00 + 4096 -0.444191E+00 0.365950E+00 0.422626E+00 + 4097 -0.525395E+00 0.317864E+00 0.408174E+00 + 4098 -0.335024E+00 0.423239E+00 0.248357E+00 + 4099 -0.377678E+00 0.366996E+00 0.253889E+00 + 4100 -0.528369E+00 0.331870E+00 0.500000E+00 + 4101 -0.306824E+00 0.474767E+00 0.176701E+00 + 4102 -0.299512E+00 0.474061E+00 0.823546E-01 + 4103 -0.267423E+00 0.506723E+00 0.267239E+00 + 4104 -0.229298E+00 0.547052E+00 0.199864E+00 + 4105 -0.249615E+00 0.519824E+00 0.139696E+00 + 4106 -0.181372E+00 0.605699E+00 0.241878E+00 + 4107 -0.134790E+00 0.653353E+00 0.128089E+00 + 4108 -0.110867E+00 0.693348E+00 0.722691E-01 + 4109 -0.182635E+00 0.573888E+00 0.441355E-01 + 4110 -0.313149E+00 0.533278E+00 -0.128921E-06 + 4111 -0.388755E+00 0.421246E+00 -0.128921E-06 + 4112 -0.226412E+00 0.505375E+00 -0.128921E-06 + 4113 -0.444391E-01 0.740500E+00 0.310869E+00 + 4114 -0.520099E-01 0.817941E+00 0.419770E+00 + 4115 -0.341314E+00 0.404795E+00 0.151687E+00 + 4116 -0.480317E+00 0.271247E+00 0.287838E+00 + 4117 -0.407074E+00 0.292897E+00 0.285814E+00 + 4118 -0.362499E+00 0.391885E+00 0.315303E+00 + 4119 -0.385729E+00 0.319955E+00 0.185886E+00 + 4120 -0.508082E+00 0.247102E+00 0.378519E+00 + 4121 -0.592752E+00 0.253584E+00 0.421188E+00 + 4122 -0.464785E+00 0.238629E+00 0.220438E+00 + 4123 -0.553657E+00 0.184713E+00 0.275081E+00 + 4124 -0.660241E+00 0.217059E+00 0.500000E+00 + 4125 -0.645134E+00 0.177888E+00 0.446889E+00 + 4126 -0.598169E+00 0.250470E+00 0.500000E+00 + 4127 -0.364346E+00 0.382502E+00 0.553175E-01 + 4128 -0.301246E+00 0.443980E+00 0.317259E+00 + 4129 -0.339110E+00 0.404889E+00 0.394673E+00 + 4130 0.177200E-01 0.916489E+00 0.558618E-01 + 4131 -0.510883E-01 0.767833E+00 -0.128921E-06 + 4132 -0.315669E-01 0.699894E+00 0.919374E-01 + 4133 0.119240E-01 0.700953E+00 0.200479E+00 + 4134 0.515787E-01 0.809457E+00 0.154749E+00 + 4135 0.460498E-01 0.821282E+00 -0.128921E-06 + 4136 0.143798E+00 0.895262E+00 0.180123E+00 + 4137 0.299945E-01 0.100000E+01 0.246779E+00 + 4138 0.283015E-01 0.876911E+00 0.388523E+00 + 4139 0.965056E-01 0.820266E+00 0.271091E+00 + 4140 -0.140581E+00 0.709798E+00 0.500000E+00 + 4141 -0.186941E+00 0.605060E+00 0.500000E+00 + 4142 -0.120961E+00 0.702951E+00 0.384605E+00 + 4143 -0.405485E-01 0.949161E+00 0.439190E+00 + 4144 -0.539628E+00 0.179691E+00 0.153665E+00 + 4145 -0.684454E+00 0.117343E+00 0.444709E+00 + 4146 -0.596231E+00 0.115770E+00 0.324443E+00 + 4147 -0.588418E+00 0.161516E+00 0.394530E+00 + 4148 -0.544837E+00 0.195378E+00 0.359950E+00 + 4149 -0.510861E-01 0.767834E+00 0.500000E+00 + 4150 -0.732308E-01 0.634690E+00 0.341631E+00 + 4151 -0.133687E+00 0.604685E+00 0.411129E+00 + 4152 -0.599712E+00 0.135609E+00 0.250360E+00 + 4153 -0.587876E+00 0.211299E+00 0.779478E-01 + 4154 -0.601653E+00 0.178041E+00 -0.128921E-06 + 4155 -0.644348E+00 0.111046E+00 -0.128921E-06 + 4156 -0.573591E+00 0.140153E+00 0.740915E-01 + 4157 -0.709013E+00 0.528011E-01 0.338953E-01 + 4158 -0.726009E+00 0.111778E+00 -0.128921E-06 + 4159 -0.685943E+00 -0.128921E-06 0.126802E+00 + 4160 -0.688949E+00 0.469835E-01 0.188884E+00 + 4161 -0.680441E+00 0.788831E-01 0.122805E+00 + 4162 -0.657367E+00 0.107882E+00 0.648776E-01 + 4163 -0.650887E+00 -0.128921E-06 0.253792E+00 + 4164 -0.635235E+00 -0.128921E-06 0.340162E+00 + 4165 -0.644507E+00 0.884494E-01 0.323445E+00 + 4166 -0.714540E+00 -0.128921E-06 0.500000E+00 + 4167 -0.673314E+00 0.454844E-01 0.430076E+00 + 4168 -0.627508E+00 0.122420E+00 0.218709E+00 + 4169 -0.613663E+00 0.108333E+00 0.133304E+00 + 4170 -0.641597E+00 0.180143E+00 -0.128921E-06 + 4171 -0.577662E+00 0.286770E+00 -0.128921E-06 + 4172 -0.583095E+00 0.239022E+00 0.343687E-01 + 4173 -0.528367E+00 0.331869E+00 -0.128921E-06 + 4174 -0.537961E+00 0.283987E+00 0.703277E-01 + 4175 -0.477176E+00 0.319964E+00 0.366346E-01 + 4176 -0.434612E+00 0.406239E+00 -0.128921E-06 + 4177 -0.438489E+00 0.374401E+00 0.739021E-01 + 4178 -0.428985E+00 0.318877E+00 0.122650E+00 + 4179 -0.301135E+00 0.518896E+00 0.459048E+00 + 4180 -0.335129E+00 0.466560E+00 0.357983E+00 + 4181 -0.284361E+00 0.519556E+00 0.362864E+00 + 4182 -0.379107E+00 0.451877E+00 0.431738E+00 + 4183 -0.425060E+00 0.454433E+00 0.500000E+00 + 4184 -0.478292E+00 0.391189E+00 0.500000E+00 + 4185 -0.407591E+00 0.400604E+00 0.461151E+00 + 4186 -0.353580E+00 0.387601E+00 0.242566E+00 + 4187 -0.536072E+00 0.325833E+00 0.441558E+00 + 4188 -0.293735E+00 0.503876E+00 0.193684E+00 + 4189 -0.295572E+00 0.448215E+00 0.128610E+00 + 4190 -0.295219E+00 0.451810E+00 0.283151E+00 + 4191 -0.208201E+00 0.569464E+00 0.161534E+00 + 4192 -0.191250E+00 0.579741E+00 0.314159E+00 + 4193 -0.134646E+00 0.627843E+00 0.602653E-01 + 4194 -0.797691E-01 0.714777E+00 -0.128921E-06 + 4195 -0.327883E+00 0.483413E+00 -0.128921E-06 + 4196 -0.260733E+00 0.544963E+00 -0.128921E-06 + 4197 -0.202799E+00 0.524452E+00 0.426462E-01 + 4198 -0.700991E-01 0.671459E+00 0.307309E+00 + 4199 -0.484229E+00 0.288657E+00 0.341898E+00 + 4200 -0.399256E+00 0.335259E+00 0.354616E+00 + 4201 -0.505913E+00 0.281919E+00 0.263420E+00 + 4202 -0.408831E+00 0.320007E+00 0.254686E+00 + 4203 -0.443538E+00 0.274850E+00 0.286014E+00 + 4204 -0.363650E+00 0.381899E+00 0.956731E-01 + 4205 -0.546794E+00 0.242235E+00 0.347571E+00 + 4206 -0.433281E+00 0.287241E+00 0.189500E+00 + 4207 -0.504162E+00 0.214401E+00 0.149211E+00 + 4208 -0.515479E+00 0.230554E+00 0.226723E+00 + 4209 -0.594560E+00 0.167734E+00 0.274965E+00 + 4210 -0.566969E+00 0.185351E+00 0.326666E+00 + 4211 -0.618656E+00 0.239370E+00 0.466612E+00 + 4212 -0.475613E+00 0.314791E+00 0.432452E+00 + 4213 -0.577666E+00 0.286770E+00 0.500000E+00 + 4214 -0.286527E+00 0.418883E+00 0.404869E-01 + 4215 -0.312895E+00 0.434059E+00 0.220350E+00 + 4216 -0.156625E-01 0.936315E+00 -0.128921E-06 + 4217 0.231919E-02 0.750417E+00 0.475706E-01 + 4218 -0.679715E-01 0.663267E+00 0.198771E+00 + 4219 0.246550E-01 0.685003E+00 0.160733E+00 + 4220 0.290002E-01 0.772678E+00 0.181529E+00 + 4221 0.119325E+00 0.845687E+00 0.143129E+00 + 4222 0.649952E-01 0.100000E+01 0.122173E+00 + 4223 0.519664E-01 0.910439E+00 0.277370E+00 + 4224 -0.969905E-02 0.776819E+00 0.276913E+00 + 4225 -0.115430E-01 0.835273E+00 0.395165E+00 + 4226 -0.193396E+00 0.586653E+00 0.457192E+00 + 4227 -0.858718E-01 0.819435E+00 0.500000E+00 + 4228 -0.797673E-01 0.714779E+00 0.500000E+00 + 4229 -0.112708E+00 0.650582E+00 0.427632E+00 + 4230 -0.559285E-01 0.726798E+00 0.392517E+00 + 4231 -0.399999E-01 0.100000E+01 0.500000E+00 + 4232 -0.363773E-02 0.934039E+00 0.385526E+00 + 4233 -0.548155E+00 0.209167E+00 0.911620E-01 + 4234 -0.663129E+00 0.145972E+00 0.500000E+00 + 4235 -0.706751E+00 0.770413E-01 0.500000E+00 + 4236 -0.620922E+00 0.127596E+00 0.436734E+00 + 4237 -0.569058E+00 0.127415E+00 0.376006E+00 + 4238 -0.570337E+00 0.190036E+00 0.398903E+00 + 4239 -0.561447E+00 0.154366E+00 0.185514E+00 + 4240 -0.730933E+00 0.401611E-01 -0.128921E-06 + 4241 -0.695056E+00 0.516350E-01 0.140009E+00 + 4242 -0.704131E+00 0.147097E+00 -0.128921E-06 + 4243 -0.686980E+00 0.765164E-01 0.668998E-01 + 4244 -0.653927E+00 0.423348E-01 0.228030E+00 + 4245 -0.643178E+00 0.382092E-01 0.398293E+00 + 4246 -0.645130E+00 0.115166E+00 0.971534E-01 + 4247 -0.588770E+00 0.158667E+00 0.141207E+00 + 4248 -0.550815E+00 0.264817E+00 0.473521E-01 + 4249 -0.493722E+00 0.300296E+00 -0.128921E-06 + 4250 -0.443475E+00 0.359601E+00 -0.128921E-06 + 4251 -0.477355E+00 0.296671E+00 0.104923E+00 + 4252 -0.255971E+00 0.541006E+00 0.320450E+00 + 4253 -0.243559E+00 0.554454E+00 0.457718E+00 + 4254 -0.388035E+00 0.431505E+00 0.462186E+00 + 4255 -0.342776E+00 0.439287E+00 0.382197E+00 + 4256 -0.327882E+00 0.483414E+00 0.500000E+00 + 4257 -0.243373E+00 0.518700E+00 0.220563E+00 + 4258 -0.157262E+00 0.612191E+00 0.168968E+00 + 4259 -0.215906E+00 0.542394E+00 0.850322E-01 + 4260 -0.320805E+00 0.455184E+00 0.405899E-01 + 4261 -0.391686E+00 0.403856E+00 0.377012E-01 + 4262 -0.186943E+00 0.605059E+00 -0.128921E-06 + 4263 -0.106281E+00 0.662757E+00 -0.128921E-06 + 4264 -0.316703E+00 0.396716E+00 0.198311E+00 + 4265 -0.464187E+00 0.290149E+00 0.309922E+00 + 4266 -0.410912E+00 0.368174E+00 0.378477E+00 + 4267 -0.384566E+00 0.357469E+00 0.307677E+00 + 4268 -0.429475E+00 0.257784E+00 0.250377E+00 + 4269 -0.405290E+00 0.335093E+00 0.218240E+00 + 4270 -0.369656E+00 0.351512E+00 0.152982E+00 + 4271 -0.459903E+00 0.288779E+00 0.382805E+00 + 4272 -0.561056E+00 0.295213E+00 0.435526E+00 + 4273 -0.453174E+00 0.259358E+00 0.166439E+00 + 4274 -0.537788E+00 0.193512E+00 0.201943E+00 + 4275 -0.507027E+00 0.223789E+00 0.293403E+00 + 4276 -0.591053E+00 0.164046E+00 0.311105E+00 + 4277 -0.623405E+00 0.206242E+00 0.431528E+00 + 4278 -0.471451E+00 0.349032E+00 0.463030E+00 + 4279 -0.577469E+00 0.239104E+00 0.466433E+00 + 4280 -0.327359E+00 0.381045E+00 0.384493E-01 + 4281 -0.316347E+00 0.408874E+00 0.298896E+00 + 4282 0.145210E-01 0.877356E+00 -0.128921E-06 + 4283 0.144418E-01 0.722300E+00 0.133189E+00 + 4284 -0.204015E-01 0.652648E+00 0.150814E+00 + 4285 -0.146192E+00 0.641235E+00 0.307476E+00 + 4286 0.762009E-01 0.845639E+00 0.231800E+00 + 4287 0.299999E-01 0.100000E+01 -0.128921E-06 + 4288 0.148687E-02 0.811366E+00 0.343909E+00 + 4289 0.202723E-02 0.708661E+00 0.269003E+00 + 4290 -0.661201E-01 0.746079E+00 0.436303E+00 + 4291 -0.160815E+00 0.624566E+00 0.454316E+00 + 4292 -0.538829E-01 0.876486E+00 0.500000E+00 + 4293 0.649999E-01 0.100000E+01 0.374598E+00 + 4294 -0.541801E+00 0.229369E+00 0.395307E+00 + 4295 -0.704904E+00 0.123549E+00 0.466691E+00 + 4296 -0.641599E+00 0.180142E+00 0.500000E+00 + 4297 -0.693834E+00 0.484195E-01 0.463949E+00 + 4298 -0.535215E-01 0.668479E+00 0.393759E+00 + 4299 -0.580644E+00 0.186254E+00 0.559176E-01 + 4300 -0.611375E+00 0.129072E+00 0.516574E-01 + 4301 -0.621100E+00 0.413128E-01 0.262993E+00 + 4302 -0.664152E+00 0.871429E-01 0.201642E+00 + 4303 -0.495731E+00 0.254531E+00 0.750707E-01 + 4304 -0.272116E+00 0.498063E+00 0.414344E+00 + 4305 -0.261052E+00 0.487973E+00 0.236058E+00 + 4306 -0.200578E+00 0.541672E+00 0.240896E+00 + 4307 -0.341426E+00 0.435012E+00 -0.128921E-06 + 4308 -0.254908E+00 0.515230E+00 0.423701E-01 + 4309 -0.502896E+00 0.285550E+00 0.417883E+00 + 4310 -0.462218E+00 0.245414E+00 0.270540E+00 + 4311 -0.556549E+00 0.207114E+00 0.244496E+00 + 4312 -0.485999E+00 0.345138E+00 0.500000E+00 + 4313 -0.442169E+00 0.391118E+00 0.463842E+00 + 4314 -0.550215E+00 0.282664E+00 0.467992E+00 + 4315 -0.289597E+00 0.430196E+00 0.169310E+00 + 4316 -0.244924E+00 0.471163E+00 0.318049E+00 + 4317 -0.427248E+00 0.343596E+00 0.398841E+00 + 4318 -0.350197E+00 0.427799E+00 0.440348E+00 + 4319 -0.349406E+00 0.351289E+00 0.372794E+00 + 4320 -0.778391E-01 0.681225E+00 0.474345E-01 + 4321 -0.874029E-01 0.638026E+00 0.157878E+00 + 4322 0.535810E-01 0.836621E+00 0.782621E-01 + 4323 0.670094E-01 0.799661E+00 0.213064E+00 + 4324 0.696007E-01 0.774861E+00 0.311097E+00 + 4325 -0.394073E-01 0.646536E+00 0.234090E+00 + 4326 -0.106279E+00 0.662758E+00 0.500000E+00 + 4327 -0.108918E+00 0.636877E+00 0.359340E+00 + 4328 -0.296697E-01 0.884405E+00 0.419190E+00 + 4329 0.999987E-01 0.909536E+00 0.331990E+00 + 4330 -0.593626E+00 0.213680E+00 0.416004E+00 + 4331 -0.211973E+00 0.563556E+00 0.402840E+00 + 4332 -0.704134E+00 0.147095E+00 0.500000E+00 + 4333 -0.649790E+00 0.722224E-01 0.425385E+00 + 4334 -0.625713E+00 0.138448E+00 0.286618E+00 + 4335 -0.290253E-01 0.783453E+00 0.389856E+00 + 4336 -0.152884E+00 0.598111E+00 0.295261E+00 + 4337 -0.535531E+00 0.177198E+00 0.104460E+00 + 4338 -0.516739E+00 0.187247E+00 0.326228E+00 + 4339 -0.607896E+00 0.192264E+00 0.332484E-01 + 4340 -0.663127E+00 0.145973E+00 -0.128921E-06 + 4341 -0.630397E+00 0.110907E+00 0.315942E-01 + 4342 -0.245912E+00 0.480299E+00 0.897158E-01 + 4343 -0.103181E+00 0.613288E+00 0.228468E+00 + 4344 -0.156721E+00 0.619002E+00 0.365534E+00 + 4345 0.647900E-01 0.841609E+00 0.362412E+00 + 4346 0.177221E-01 0.916490E+00 0.444138E+00 + 4347 -0.641712E+00 0.980351E-01 0.402810E+00 + 4348 -0.340805E-02 0.748991E+00 0.332923E+00 + 4349 -0.575318E+00 0.160260E+00 0.221168E+00 + 4350 -0.498789E+00 0.219943E+00 0.350380E+00 + 4351 -0.623152E+00 0.144317E+00 -0.128921E-06 + 4352 -0.679614E+00 0.491428E-01 0.932543E-01 + 4353 -0.706750E+00 0.770438E-01 -0.128921E-06 + 4354 -0.672032E+00 -0.128921E-06 -0.128921E-06 + 4355 -0.665101E+00 0.991565E-01 0.330925E-01 + 4356 -0.626162E+00 -0.128921E-06 0.136356E+00 + 4357 -0.626120E+00 -0.128921E-06 0.211577E+00 + 4358 -0.629095E+00 0.851327E-01 0.111925E+00 + 4359 -0.607840E+00 0.903602E-01 0.187192E+00 + 4360 -0.597995E+00 0.799969E-01 0.285970E+00 + 4361 -0.665046E+00 -0.128921E-06 0.459996E+00 + 4362 -0.618288E+00 -0.128921E-06 0.288460E+00 + 4363 -0.602740E+00 -0.128921E-06 0.376053E+00 + 4364 -0.590840E+00 0.868326E-01 0.376759E+00 + 4365 -0.689356E+00 0.411965E-01 0.500000E+00 + 4366 -0.684567E+00 0.111778E+00 0.500000E+00 + 4367 -0.576570E+00 0.124212E+00 0.108113E+00 + 4368 -0.580347E+00 0.212707E+00 -0.128921E-06 + 4369 -0.537376E+00 0.284622E+00 -0.128921E-06 + 4370 -0.502349E+00 0.218177E+00 0.514540E-01 + 4371 -0.485858E+00 0.222483E+00 0.115538E+00 + 4372 -0.451806E+00 0.314459E+00 -0.128921E-06 + 4373 -0.460413E+00 0.270194E+00 0.614926E-01 + 4374 -0.409439E+00 0.328587E+00 0.616873E-01 + 4375 -0.399407E+00 0.374323E+00 -0.128921E-06 + 4376 -0.415861E+00 0.289415E+00 0.145741E+00 + 4377 -0.320804E+00 0.455185E+00 0.459410E+00 + 4378 -0.388755E+00 0.421247E+00 0.500000E+00 + 4379 -0.245046E+00 0.507932E+00 0.459562E+00 + 4380 -0.293199E+00 0.412105E+00 0.371969E+00 + 4381 -0.229499E+00 0.459334E+00 0.381672E+00 + 4382 -0.200926E+00 0.514409E+00 0.362292E+00 + 4383 -0.223466E+00 0.502154E+00 0.269640E+00 + 4384 -0.207461E+00 0.554575E+00 0.500000E+00 + 4385 -0.443474E+00 0.359602E+00 0.500000E+00 + 4386 -0.440674E+00 0.317050E+00 0.435368E+00 + 4387 -0.447901E+00 0.284915E+00 0.348398E+00 + 4388 -0.391780E+00 0.357859E+00 0.429612E+00 + 4389 -0.536295E+00 0.265319E+00 0.427777E+00 + 4390 -0.321880E+00 0.386737E+00 0.270282E+00 + 4391 -0.283041E+00 0.447636E+00 0.246885E+00 + 4392 -0.345143E+00 0.351623E+00 0.214486E+00 + 4393 -0.537379E+00 0.284622E+00 0.500000E+00 + 4394 -0.475381E+00 0.284833E+00 0.450921E+00 + 4395 -0.253823E+00 0.481402E+00 0.155149E+00 + 4396 -0.249784E+00 0.441637E+00 0.810143E-01 + 4397 -0.295361E+00 0.388208E+00 0.156340E+00 + 4398 -0.277579E+00 0.495351E+00 -0.128921E-06 + 4399 -0.247738E+00 0.409339E+00 0.295381E+00 + 4400 -0.182302E+00 0.547277E+00 0.183385E+00 + 4401 -0.150546E+00 0.576299E+00 0.959701E-01 + 4402 -0.139976E+00 0.561114E+00 0.276848E+00 + 4403 -0.101833E+00 0.582378E+00 0.177666E+00 + 4404 -0.130804E+00 0.611825E+00 -0.128921E-06 + 4405 -0.186407E-01 0.717005E+00 -0.128921E-06 + 4406 -0.463431E-01 0.633504E+00 0.459492E-01 + 4407 -0.156244E+00 0.515687E+00 0.427175E-01 + 4408 -0.190522E+00 0.499683E+00 0.920065E-01 + 4409 -0.307447E+00 0.400282E+00 -0.128921E-06 + 4410 -0.194017E+00 0.465977E+00 -0.128921E-06 + 4411 -0.217234E-01 0.653793E+00 0.276894E+00 + 4412 -0.199425E-01 0.821912E+00 0.500000E+00 + 4413 -0.149302E+00 0.566235E+00 0.424580E+00 + 4414 -0.376844E+00 0.300489E+00 0.315447E+00 + 4415 -0.394053E+00 0.283875E+00 0.237044E+00 + 4416 -0.435541E+00 0.235730E+00 0.290086E+00 + 4417 -0.300287E+00 0.365600E+00 0.748644E-01 + 4418 -0.477239E+00 0.238787E+00 0.383700E+00 + 4419 -0.441898E+00 0.205918E+00 0.185277E+00 + 4420 -0.484845E+00 0.190550E+00 0.250727E+00 + 4421 -0.513790E+00 0.158627E+00 0.174043E+00 + 4422 -0.529339E+00 0.134483E+00 0.252472E+00 + 4423 -0.535512E+00 0.124304E+00 0.327680E+00 + 4424 -0.619786E+00 0.214853E+00 0.500000E+00 + 4425 -0.591027E+00 0.184285E+00 0.464047E+00 + 4426 -0.543134E+00 0.211469E+00 0.500000E+00 + 4427 -0.314270E+00 0.355248E+00 0.415065E+00 + 4428 0.543010E-01 0.935797E+00 -0.128921E-06 + 4429 0.779671E-01 0.801810E+00 0.514277E-01 + 4430 0.495969E-01 0.704255E+00 0.750505E-01 + 4431 0.254859E-01 0.634356E+00 0.167620E+00 + 4432 0.692590E-01 0.722266E+00 0.229444E+00 + 4433 -0.493408E-01 0.577470E+00 0.261766E+00 + 4434 0.134995E+00 0.100000E+01 0.122173E+00 + 4435 0.136976E+00 0.769833E+00 0.163542E+00 + 4436 0.211828E+00 0.845620E+00 0.201545E+00 + 4437 0.203334E+00 0.946201E+00 0.292683E+00 + 4438 0.518156E-01 0.835150E+00 0.422405E+00 + 4439 0.133691E+00 0.818232E+00 0.310659E+00 + 4440 -0.156607E-01 0.936316E+00 0.500000E+00 + 4441 -0.130803E+00 0.611827E+00 0.500000E+00 + 4442 -0.186389E-01 0.717006E+00 0.500000E+00 + 4443 0.106283E-01 0.734451E+00 0.409414E+00 + 4444 -0.463409E-01 0.633506E+00 0.454051E+00 + 4445 -0.832557E-01 0.564709E+00 0.369532E+00 + 4446 0.150767E+00 0.869243E+00 0.500000E+00 + 4447 0.100000E+00 0.100000E+01 0.500000E+00 + 4448 -0.521928E+00 0.193357E+00 0.441446E+00 + 4449 -0.623154E+00 0.144316E+00 0.500000E+00 + 4450 -0.614864E+00 0.936974E-01 0.446923E+00 + 4451 -0.566650E+00 0.130355E+00 0.436911E+00 + 4452 -0.485865E+00 0.155999E+00 0.867793E-01 + 4453 -0.560202E+00 0.157744E+00 0.538174E-01 + 4454 -0.604993E+00 0.109471E+00 -0.128921E-06 + 4455 -0.650417E+00 -0.128921E-06 0.947497E-01 + 4456 -0.668198E+00 0.533008E-01 0.332599E-01 + 4457 -0.714541E+00 -0.128921E-06 -0.128921E-06 + 4458 -0.684565E+00 0.111780E+00 -0.128921E-06 + 4459 -0.627097E+00 0.437359E-01 0.161593E+00 + 4460 -0.651933E+00 0.831390E-01 0.851636E-01 + 4461 -0.610829E+00 0.968010E-01 0.258637E+00 + 4462 -0.594126E+00 -0.128921E-06 0.246727E+00 + 4463 -0.587204E+00 -0.128921E-06 0.323354E+00 + 4464 -0.672031E+00 -0.128921E-06 0.500000E+00 + 4465 -0.619393E+00 -0.128921E-06 0.440112E+00 + 4466 -0.573853E+00 0.111782E+00 0.155665E+00 + 4467 -0.560782E+00 0.248317E+00 -0.128921E-06 + 4468 -0.555389E+00 0.196482E+00 0.402317E-01 + 4469 -0.544086E+00 0.152267E+00 0.843868E-01 + 4470 -0.512342E+00 0.210677E+00 0.985401E-01 + 4471 -0.426499E+00 0.309386E+00 0.363196E-01 + 4472 -0.475353E+00 0.252280E+00 0.345534E-01 + 4473 -0.449491E+00 0.265902E+00 0.110304E+00 + 4474 -0.394493E+00 0.321972E+00 0.106454E+00 + 4475 -0.341425E+00 0.435013E+00 0.500000E+00 + 4476 -0.271538E+00 0.466652E+00 0.459075E+00 + 4477 -0.260907E+00 0.418827E+00 0.358167E+00 + 4478 -0.243156E+00 0.518496E+00 0.361467E+00 + 4479 -0.155491E+00 0.541285E+00 0.361613E+00 + 4480 -0.226411E+00 0.505376E+00 0.500000E+00 + 4481 -0.434612E+00 0.406240E+00 0.500000E+00 + 4482 -0.408805E+00 0.299809E+00 0.386096E+00 + 4483 -0.417381E+00 0.354264E+00 0.462479E+00 + 4484 -0.350937E+00 0.376118E+00 0.427187E+00 + 4485 -0.350824E+00 0.355938E+00 0.293311E+00 + 4486 -0.294066E+00 0.388305E+00 0.244787E+00 + 4487 -0.493723E+00 0.300297E+00 0.500000E+00 + 4488 -0.251412E+00 0.449245E+00 0.213036E+00 + 4489 -0.271539E+00 0.466651E+00 0.409250E-01 + 4490 -0.253142E+00 0.421392E+00 0.131416E+00 + 4491 -0.176695E+00 0.508824E+00 0.199764E+00 + 4492 -0.155624E+00 0.571961E+00 0.147868E+00 + 4493 -0.114929E+00 0.591311E+00 0.280279E+00 + 4494 -0.159423E+00 0.508099E+00 0.294674E+00 + 4495 -0.135331E+00 0.570136E+00 0.426642E-01 + 4496 -0.474677E-01 0.666140E+00 -0.128921E-06 + 4497 -0.171957E-01 0.622203E+00 0.980376E-01 + 4498 -0.353909E+00 0.388055E+00 -0.128921E-06 + 4499 -0.174524E+00 0.513406E+00 -0.128921E-06 + 4500 -0.196693E+00 0.442368E+00 0.679499E-01 + 4501 0.135447E-01 0.840184E+00 0.447184E+00 + 4502 -0.314909E+00 0.354935E+00 0.127673E+00 + 4503 -0.462818E+00 0.239188E+00 0.316632E+00 + 4504 -0.380258E+00 0.243501E+00 0.315099E+00 + 4505 -0.425738E+00 0.210409E+00 0.232255E+00 + 4506 -0.365891E+00 0.296699E+00 0.201929E+00 + 4507 -0.317560E+00 0.369137E+00 0.369288E+00 + 4508 -0.460523E+00 0.256093E+00 0.418608E+00 + 4509 -0.519628E+00 0.205382E+00 0.390462E+00 + 4510 -0.516506E+00 0.176987E+00 0.231858E+00 + 4511 -0.457643E+00 0.160768E+00 0.170346E+00 + 4512 -0.534358E+00 0.154062E+00 0.283660E+00 + 4513 -0.593156E+00 0.212517E+00 0.467308E+00 + 4514 -0.643544E+00 0.133777E+00 0.467839E+00 + 4515 -0.530002E+00 0.244376E+00 0.500000E+00 + 4516 -0.292903E+00 0.370766E+00 0.383582E-01 + 4517 -0.323202E+00 0.316535E+00 0.634164E-01 + 4518 -0.323490E+00 0.316972E+00 0.389801E+00 + 4519 0.828191E-01 0.875113E+00 -0.128921E-06 + 4520 0.124453E-01 0.768728E+00 -0.128921E-06 + 4521 0.849158E-01 0.747793E+00 0.475048E-01 + 4522 0.185289E-01 0.617640E+00 0.206580E+00 + 4523 0.747746E-01 0.705734E+00 0.178750E+00 + 4524 0.100000E+00 0.100000E+01 -0.128921E-06 + 4525 0.160410E+00 0.878856E+00 0.120680E+00 + 4526 0.164253E+00 0.811162E+00 0.245620E+00 + 4527 0.169996E+00 0.100000E+01 0.246776E+00 + 4528 0.182074E-01 0.679586E+00 0.301976E+00 + 4529 0.165491E+00 0.760114E+00 0.358607E+00 + 4530 -0.188251E-01 0.611280E+00 0.276915E+00 + 4531 -0.153500E+00 0.562032E+00 0.500000E+00 + 4532 -0.474656E-01 0.666141E+00 0.500000E+00 + 4533 -0.241229E-02 0.728490E+00 0.453516E+00 + 4534 -0.711356E-01 0.605841E+00 0.405992E+00 + 4535 0.105522E+00 0.819387E+00 0.442943E+00 + 4536 0.543028E-01 0.935798E+00 0.500000E+00 + 4537 0.170001E+00 0.910792E+00 0.416396E+00 + 4538 -0.514152E+00 0.144691E+00 0.139085E+00 + 4539 -0.666146E+00 0.773984E-01 0.500000E+00 + 4540 -0.596573E+00 0.115476E+00 0.413659E+00 + 4541 -0.569987E+00 0.838075E-01 0.304429E+00 + 4542 -0.507053E+00 0.127403E+00 0.364142E+00 + 4543 -0.548503E+00 0.172902E+00 0.437078E+00 + 4544 -0.584765E+00 0.119731E+00 0.317724E-01 + 4545 -0.557361E+00 0.882470E-01 0.827664E-01 + 4546 -0.660627E+00 0.517384E-01 0.662420E-01 + 4547 -0.689355E+00 0.411979E-01 -0.128921E-06 + 4548 -0.595928E+00 -0.128921E-06 0.174627E+00 + 4549 -0.617364E+00 0.118425E+00 0.789169E-01 + 4550 -0.621071E+00 0.740511E-01 0.147424E+00 + 4551 -0.615636E+00 0.767414E-01 0.222232E+00 + 4552 -0.588239E+00 0.414661E-01 0.283428E+00 + 4553 -0.591277E+00 0.407551E-01 0.367718E+00 + 4554 -0.638483E+00 0.440970E-01 0.466703E+00 + 4555 -0.543632E+00 0.220593E+00 0.277145E-01 + 4556 -0.544979E+00 0.130113E+00 0.145529E+00 + 4557 -0.524455E+00 0.190540E+00 0.754501E-01 + 4558 -0.433069E+00 0.303417E+00 0.879432E-01 + 4559 -0.458748E+00 0.283716E+00 0.306229E-01 + 4560 -0.499352E+00 0.257363E+00 -0.128921E-06 + 4561 -0.409262E+00 0.328865E+00 -0.128921E-06 + 4562 -0.459778E+00 0.209810E+00 0.133736E+00 + 4563 -0.461779E+00 0.226163E+00 0.693236E-01 + 4564 -0.309028E+00 0.440072E+00 0.419414E+00 + 4565 -0.277578E+00 0.495352E+00 0.500000E+00 + 4566 -0.211264E+00 0.509871E+00 0.414599E+00 + 4567 -0.184243E+00 0.534409E+00 0.309670E+00 + 4568 -0.412405E+00 0.272403E+00 0.341487E+00 + 4569 -0.410108E+00 0.317923E+00 0.422985E+00 + 4570 -0.370408E+00 0.382302E+00 0.462644E+00 + 4571 -0.335837E+00 0.355205E+00 0.261221E+00 + 4572 -0.451806E+00 0.314460E+00 0.500000E+00 + 4573 -0.510152E+00 0.280761E+00 0.463153E+00 + 4574 -0.236951E+00 0.450907E+00 0.257247E+00 + 4575 -0.204196E+00 0.488211E+00 0.148014E+00 + 4576 -0.149323E+00 0.574149E+00 0.231836E+00 + 4577 -0.120261E+00 0.616445E+00 0.123469E+00 + 4578 -0.161503E+00 0.491182E+00 0.249455E+00 + 4579 -0.822063E-01 0.598309E+00 0.431326E-01 + 4580 -0.181907E-01 0.683358E+00 0.475037E-01 + 4581 -0.153501E+00 0.562030E+00 -0.128921E-06 + 4582 -0.141454E+00 0.525975E+00 0.767054E-01 + 4583 -0.293107E+00 0.447127E+00 -0.128921E-06 + 4584 -0.211451E+00 0.463389E+00 0.407594E-01 + 4585 -0.130471E+00 0.564428E+00 0.383514E+00 + 4586 -0.320586E+00 0.353408E+00 0.165825E+00 + 4587 -0.273361E+00 0.397052E+00 0.205325E+00 + 4588 -0.475813E+00 0.255456E+00 0.341945E+00 + 4589 -0.358602E+00 0.246312E+00 0.275152E+00 + 4590 -0.420403E+00 0.252101E+00 0.200341E+00 + 4591 -0.370743E+00 0.341722E+00 0.755419E-01 + 4592 -0.371928E+00 0.292899E+00 0.148801E+00 + 4593 -0.468710E+00 0.185607E+00 0.222560E+00 + 4594 -0.501094E+00 0.175740E+00 0.280749E+00 + 4595 -0.439528E+00 0.191526E+00 0.291017E+00 + 4596 -0.580540E+00 0.128956E+00 0.279781E+00 + 4597 -0.623159E+00 0.177833E+00 0.470855E+00 + 4598 -0.580350E+00 0.212706E+00 0.500000E+00 + 4599 -0.237344E+00 0.405273E+00 0.839584E-01 + 4600 -0.304397E+00 0.318346E+00 0.364801E-01 + 4601 -0.276676E+00 0.375188E+00 0.288394E+00 + 4602 -0.202335E+00 0.425270E+00 0.337703E+00 + 4603 -0.333938E+00 0.273338E+00 0.349757E+00 + 4604 0.759622E-01 0.766658E+00 -0.128921E-06 + 4605 0.177207E-01 0.667886E+00 0.259499E+00 + 4606 -0.459795E-01 0.604994E+00 0.201767E+00 + 4607 0.604801E-01 0.693743E+00 0.128795E+00 + 4608 0.105242E+00 0.793557E+00 0.111137E+00 + 4609 0.124046E+00 0.932542E+00 -0.128921E-06 + 4610 0.121523E+00 0.766555E+00 0.211619E+00 + 4611 0.208332E+00 0.805851E+00 0.159951E+00 + 4612 0.152257E+00 0.868634E+00 0.243660E+00 + 4613 0.999951E-01 0.100000E+01 0.246777E+00 + 4614 0.220893E-01 0.772423E+00 0.380512E+00 + 4615 -0.585572E-01 0.604252E+00 0.315543E+00 + 4616 -0.867665E-02 0.681976E+00 0.458859E+00 + 4617 -0.110726E+00 0.613298E+00 0.454278E+00 + 4618 0.145235E-01 0.877357E+00 0.500000E+00 + 4619 0.140254E+00 0.831277E+00 0.411629E+00 + 4620 0.124048E+00 0.932543E+00 0.500000E+00 + 4621 -0.644349E+00 0.111044E+00 0.500000E+00 + 4622 -0.590974E+00 0.109161E+00 0.468676E+00 + 4623 -0.546354E+00 0.886193E-01 0.369829E+00 + 4624 -0.511965E+00 0.174638E+00 0.390782E+00 + 4625 0.124474E-01 0.768729E+00 0.500000E+00 + 4626 -0.148877E-01 0.611013E+00 0.408447E+00 + 4627 -0.515006E+00 0.126259E+00 0.205584E+00 + 4628 -0.561882E+00 0.175860E+00 -0.128921E-06 + 4629 -0.576584E+00 0.812821E-01 0.336433E-01 + 4630 -0.628982E+00 -0.128921E-06 0.457642E-01 + 4631 -0.666145E+00 0.774002E-01 -0.128921E-06 + 4632 -0.654174E+00 0.422678E-01 0.119302E+00 + 4633 -0.625645E+00 0.856000E-01 0.583238E-01 + 4634 -0.595699E+00 0.656592E-01 0.328000E+00 + 4635 -0.607881E+00 0.383597E-01 0.211317E+00 + 4636 -0.597254E+00 0.473215E-01 0.412344E+00 + 4637 -0.582170E+00 0.111997E+00 0.219595E+00 + 4638 -0.590427E+00 0.774384E-01 0.122464E+00 + 4639 -0.522243E+00 0.262120E+00 0.326666E-01 + 4640 -0.522933E+00 0.200480E+00 0.343514E-01 + 4641 -0.459560E+00 0.270817E+00 -0.128921E-06 + 4642 -0.391374E+00 0.348567E+00 0.375094E-01 + 4643 -0.268375E+00 0.436364E+00 0.413984E+00 + 4644 -0.200288E+00 0.484020E+00 0.327630E+00 + 4645 -0.202798E+00 0.524453E+00 0.457354E+00 + 4646 -0.399406E+00 0.374324E+00 0.500000E+00 + 4647 -0.371596E+00 0.323822E+00 0.397044E+00 + 4648 -0.358296E+00 0.310409E+00 0.261322E+00 + 4649 -0.293105E+00 0.447129E+00 0.500000E+00 + 4650 -0.265914E+00 0.411590E+00 0.251886E+00 + 4651 -0.217065E+00 0.493022E+00 0.218663E+00 + 4652 -0.167818E+00 0.528600E+00 0.137862E+00 + 4653 -0.122840E+00 0.575905E+00 0.318902E+00 + 4654 -0.146887E+00 0.531328E+00 0.234996E+00 + 4655 -0.105191E+00 0.568357E+00 0.900690E-01 + 4656 -0.174355E+00 0.477561E+00 0.548830E-01 + 4657 -0.243933E+00 0.457473E+00 -0.128921E-06 + 4658 -0.205983E+00 0.454209E+00 0.129357E+00 + 4659 -0.742111E-01 0.616207E+00 -0.128921E-06 + 4660 -0.322567E+00 0.318178E+00 0.163190E+00 + 4661 -0.296183E+00 0.368092E+00 0.200364E+00 + 4662 -0.382469E+00 0.244226E+00 0.249757E+00 + 4663 -0.318618E+00 0.359890E+00 0.312951E+00 + 4664 -0.431148E+00 0.253325E+00 0.379376E+00 + 4665 -0.511458E+00 0.245934E+00 0.427303E+00 + 4666 -0.417044E+00 0.238195E+00 0.143530E+00 + 4667 -0.497626E+00 0.179089E+00 0.137490E+00 + 4668 -0.468487E+00 0.197696E+00 0.313196E+00 + 4669 -0.608775E+00 0.153210E+00 0.466241E+00 + 4670 -0.443265E+00 0.290038E+00 0.464250E+00 + 4671 -0.253698E+00 0.364864E+00 0.121830E+00 + 4672 -0.254766E+00 0.383730E+00 0.385156E-01 + 4673 -0.320723E+00 0.354800E+00 -0.128921E-06 + 4674 -0.327359E+00 0.381047E+00 0.461550E+00 + 4675 0.425837E-01 0.716456E+00 -0.128921E-06 + 4676 0.482307E-01 0.672955E+00 0.223967E+00 + 4677 0.112598E-01 0.634260E+00 0.459809E-01 + 4678 0.811455E-01 0.764572E+00 0.169728E+00 + 4679 0.871751E-01 0.658182E+00 0.138635E+00 + 4680 -0.222476E-01 0.586426E+00 0.138526E+00 + 4681 0.146656E+00 0.832420E+00 0.526394E-01 + 4682 0.204996E+00 0.911211E+00 0.205240E+00 + 4683 0.680458E-01 0.732979E+00 0.324431E+00 + 4684 0.103720E-01 0.600264E+00 0.251060E+00 + 4685 -0.742093E-01 0.616208E+00 0.500000E+00 + 4686 0.991411E-02 0.660920E+00 0.390661E+00 + 4687 0.828217E-01 0.875114E+00 0.500000E+00 + 4688 0.135000E+00 0.100000E+01 0.374596E+00 + 4689 0.200079E+00 0.863308E+00 0.334457E+00 + 4690 -0.643187E+00 0.933853E-01 0.462011E+00 + 4691 -0.649095E+00 0.413027E-01 0.500000E+00 + 4692 -0.546836E+00 0.140605E+00 0.400458E+00 + 4693 0.527757E-01 0.766617E+00 0.449303E+00 + 4694 -0.410493E-01 0.589678E+00 0.364389E+00 + 4695 -0.104809E+00 0.559563E+00 0.425369E+00 + 4696 -0.527470E+00 0.118419E+00 0.954503E-01 + 4697 -0.583563E+00 0.142299E+00 -0.128921E-06 + 4698 -0.566117E+00 0.385282E-01 0.258059E+00 + 4699 -0.222710E+00 0.457886E+00 0.447741E+00 + 4700 -0.202728E+00 0.461421E+00 0.190967E+00 + 4701 -0.554378E-01 0.585335E+00 0.766057E-01 + 4702 -0.248890E+00 0.440172E+00 0.386909E-01 + 4703 -0.368865E+00 0.279449E+00 0.368217E+00 + 4704 -0.352800E+00 0.278382E+00 0.297783E+00 + 4705 -0.343242E+00 0.320249E+00 0.109448E+00 + 4706 -0.379823E+00 0.251682E+00 0.182023E+00 + 4707 -0.427563E+00 0.275238E+00 0.425328E+00 + 4708 -0.534535E+00 0.234839E+00 0.467044E+00 + 4709 -0.365454E+00 0.342514E+00 -0.128921E-06 + 4710 -0.286575E+00 0.387035E+00 0.327245E+00 + 4711 -0.199299E+00 0.448318E+00 0.277405E+00 + 4712 -0.310259E+00 0.394984E+00 0.409647E+00 + 4713 0.357023E-01 0.646902E+00 0.122542E+00 + 4714 -0.841899E-01 0.564601E+00 0.236964E+00 + 4715 0.937441E-01 0.738130E+00 0.124385E+00 + 4716 0.111889E+00 0.817490E+00 -0.128921E-06 + 4717 0.155873E+00 0.907861E+00 0.555133E-01 + 4718 0.163989E+00 0.807316E+00 0.114160E+00 + 4719 0.864058E-01 0.687321E+00 0.265098E+00 + 4720 0.107358E+00 0.771044E+00 0.387243E+00 + 4721 0.254866E-01 0.713381E+00 0.347454E+00 + 4722 -0.601655E+00 0.178040E+00 0.500000E+00 + 4723 -0.560933E+00 0.992353E-01 0.411788E+00 + 4724 -0.495832E+00 0.158619E+00 0.353111E+00 + 4725 -0.105213E-01 0.633753E+00 0.353200E+00 + 4726 -0.553401E+00 0.120785E+00 0.194814E+00 + 4727 -0.475384E+00 0.197257E+00 0.963992E-01 + 4728 -0.446028E+00 0.227243E+00 0.366520E+00 + 4729 -0.593052E+00 0.893119E-01 0.680809E-01 + 4730 -0.626654E+00 0.765708E-01 -0.128921E-06 + 4731 -0.601423E-01 0.582828E+00 0.133117E+00 + 4732 -0.551065E+00 0.208087E+00 0.446609E+00 + 4733 -0.358228E+00 0.317178E+00 0.366454E-01 + 4734 -0.260156E+00 0.410871E+00 -0.128921E-06 + 4735 -0.236610E+00 0.412250E+00 0.163120E+00 + 4736 -0.302508E+00 0.416491E+00 0.459872E+00 + 4737 -0.325200E+00 0.311833E+00 0.302967E+00 + 4738 0.132789E+00 0.740625E+00 0.274273E+00 + 4739 -0.174125E+00 0.499388E+00 0.411856E+00 + 4740 -0.563325E+00 0.152658E+00 0.467849E+00 + 4741 -0.486516E+00 0.148456E+00 0.317118E+00 + 4742 -0.473690E+00 0.186245E+00 0.370346E+00 + 4743 -0.544529E+00 0.122299E+00 0.630726E-01 + 4744 -0.304030E+00 0.328810E+00 0.354728E+00 + 4745 -0.624817E+00 0.463488E-01 0.796682E-01 + 4746 -0.649095E+00 0.413041E-01 -0.128921E-06 + 4747 -0.563089E+00 -0.128921E-06 0.535070E-01 + 4748 -0.564703E+00 -0.128921E-06 0.139001E+00 + 4749 -0.564653E+00 -0.128921E-06 0.210164E+00 + 4750 -0.550647E+00 0.907811E-01 0.241367E+00 + 4751 -0.631010E+00 -0.128921E-06 0.500000E+00 + 4752 -0.562749E+00 -0.128921E-06 0.282211E+00 + 4753 -0.564111E+00 -0.128921E-06 0.357866E+00 + 4754 -0.582189E+00 0.914050E-01 0.441976E+00 + 4755 -0.626655E+00 0.765697E-01 0.500000E+00 + 4756 -0.524882E+00 0.933976E-01 0.165901E+00 + 4757 -0.543132E+00 0.211469E+00 -0.128921E-06 + 4758 -0.524966E+00 0.162304E+00 0.476416E-01 + 4759 -0.451310E+00 0.181662E+00 0.456054E-01 + 4760 -0.467147E+00 0.228662E+00 -0.128921E-06 + 4761 -0.418429E+00 0.284835E+00 -0.128921E-06 + 4762 -0.412348E+00 0.279540E+00 0.787826E-01 + 4763 -0.442634E+00 0.183762E+00 0.124893E+00 + 4764 -0.342043E+00 0.290880E+00 0.128425E+00 + 4765 -0.307446E+00 0.400283E+00 0.500000E+00 + 4766 -0.238734E+00 0.429368E+00 0.460162E+00 + 4767 -0.268537E+00 0.365500E+00 0.388334E+00 + 4768 -0.194508E+00 0.477138E+00 0.382284E+00 + 4769 -0.185413E+00 0.393451E+00 0.372249E+00 + 4770 -0.151061E+00 0.498541E+00 0.340219E+00 + 4771 -0.111984E+00 0.517055E+00 0.404132E+00 + 4772 -0.204486E+00 0.448697E+00 0.239425E+00 + 4773 -0.180273E+00 0.424963E+00 0.304441E+00 + 4774 -0.174523E+00 0.513407E+00 0.500000E+00 + 4775 -0.409262E+00 0.328866E+00 0.500000E+00 + 4776 -0.417649E+00 0.236547E+00 0.348464E+00 + 4777 -0.372820E+00 0.290807E+00 0.427413E+00 + 4778 -0.304798E+00 0.339746E+00 0.268260E+00 + 4779 -0.239330E+00 0.355455E+00 0.242522E+00 + 4780 -0.349767E+00 0.261145E+00 0.238769E+00 + 4781 -0.499353E+00 0.257364E+00 0.500000E+00 + 4782 -0.466721E+00 0.237825E+00 0.446732E+00 + 4783 -0.218326E+00 0.406344E+00 0.112554E+00 + 4784 -0.279782E+00 0.337317E+00 0.166848E+00 + 4785 -0.129962E+00 0.534764E+00 0.178671E+00 + 4786 -0.177000E+00 0.458726E+00 0.154469E+00 + 4787 -0.846899E-01 0.537333E+00 0.283292E+00 + 4788 -0.547045E-01 0.539942E+00 0.184020E+00 + 4789 -0.997707E-01 0.474625E+00 0.250095E+00 + 4790 -0.990320E-01 0.567270E+00 -0.128921E-06 + 4791 -0.161456E-01 0.577745E+00 0.539599E-01 + 4792 -0.924875E-01 0.497462E+00 0.912264E-01 + 4793 0.115355E-01 0.666928E+00 -0.128921E-06 + 4794 0.355112E-01 0.608836E+00 0.105953E+00 + 4795 -0.143510E+00 0.472570E+00 -0.128921E-06 + 4796 -0.275204E+00 0.365565E+00 -0.128921E-06 + 4797 -0.212114E+00 0.419757E+00 -0.128921E-06 + 4798 -0.156762E+00 0.428278E+00 0.699115E-01 + 4799 0.344279E-01 0.615252E+00 0.325511E+00 + 4800 0.460523E-01 0.821283E+00 0.500000E+00 + 4801 -0.990305E-01 0.567271E+00 0.500000E+00 + 4802 -0.314031E+00 0.255540E+00 0.368822E+00 + 4803 -0.365122E+00 0.187353E+00 0.305775E+00 + 4804 -0.315457E+00 0.276401E+00 0.294792E+00 + 4805 -0.424081E+00 0.178439E+00 0.245331E+00 + 4806 -0.258002E+00 0.321199E+00 0.861112E-01 + 4807 -0.378419E+00 0.206880E+00 0.160358E+00 + 4808 -0.422680E+00 0.200819E+00 0.415793E+00 + 4809 -0.490182E+00 0.142994E+00 0.246913E+00 + 4810 -0.430627E+00 0.117439E+00 0.179976E+00 + 4811 -0.430844E+00 0.161373E+00 0.338570E+00 + 4812 -0.504932E+00 0.820954E-01 0.318513E+00 + 4813 -0.561884E+00 0.175860E+00 0.500000E+00 + 4814 -0.333051E+00 0.310659E+00 -0.128921E-06 + 4815 -0.296508E+00 0.254364E+00 0.348691E-01 + 4816 -0.308805E+00 0.343926E+00 0.463429E+00 + 4817 -0.240261E+00 0.334049E+00 0.326121E+00 + 4818 0.150764E+00 0.869242E+00 -0.128921E-06 + 4819 0.139225E+00 0.761633E+00 -0.128921E-06 + 4820 0.137671E+00 0.759670E+00 0.941035E-01 + 4821 0.101177E+00 0.679648E+00 0.474284E-01 + 4822 0.936465E-01 0.637845E+00 0.204785E+00 + 4823 0.363248E-01 0.573116E+00 0.195080E+00 + 4824 0.147985E+00 0.722835E+00 0.222000E+00 + 4825 0.164586E-03 0.518680E+00 0.132876E+00 + 4826 0.193666E+00 0.845277E+00 0.755221E-01 + 4827 0.204996E+00 0.100000E+01 0.122172E+00 + 4828 0.206786E+00 0.798168E+00 0.269631E+00 + 4829 0.269894E+00 0.889832E+00 0.227550E+00 + 4830 0.238362E+00 0.748373E+00 0.163906E+00 + 4831 0.275004E+00 0.100000E+01 0.374586E+00 + 4832 0.600945E-01 0.704399E+00 0.400435E+00 + 4833 0.165285E+00 0.684173E+00 0.395636E+00 + 4834 0.164126E+00 0.779937E+00 0.428103E+00 + 4835 0.236276E+00 0.739748E+00 0.395737E+00 + 4836 0.425859E-01 0.716457E+00 0.500000E+00 + 4837 -0.173487E-01 0.618167E+00 0.500000E+00 + 4838 -0.438775E-01 0.562888E+00 0.410865E+00 + 4839 0.212063E+00 0.854213E+00 0.448319E+00 + 4840 0.170000E+00 0.100000E+01 0.500000E+00 + 4841 -0.491808E+00 0.183259E+00 0.465325E+00 + 4842 -0.545713E+00 0.117573E+00 0.468612E+00 + 4843 -0.510803E+00 0.356355E-01 0.375948E+00 + 4844 -0.514381E+00 0.100990E+00 0.409028E+00 + 4845 -0.991505E-02 0.521073E+00 0.341976E+00 + 4846 0.416384E-01 0.589575E+00 0.409134E+00 + 4847 -0.511966E+00 0.896971E-01 0.796369E-01 + 4848 -0.463933E+00 0.116708E+00 0.798389E-01 + 4849 -0.544525E+00 0.139815E+00 -0.128921E-06 + 4850 -0.587815E+00 0.746254E-01 -0.128921E-06 + 4851 -0.595051E+00 -0.128921E-06 0.984905E-01 + 4852 -0.631011E+00 -0.128921E-06 -0.128921E-06 + 4853 -0.568714E+00 0.514079E-01 0.166129E+00 + 4854 -0.541475E+00 -0.128921E-06 0.245238E+00 + 4855 -0.539056E+00 -0.128921E-06 0.324461E+00 + 4856 -0.569628E+00 -0.128921E-06 0.420867E+00 + 4857 -0.610004E+00 0.401050E-01 0.500000E+00 + 4858 -0.530000E+00 0.244375E+00 -0.128921E-06 + 4859 -0.498965E+00 0.115684E+00 0.642023E-01 + 4860 -0.475494E+00 0.187520E+00 -0.128921E-06 + 4861 -0.432047E+00 0.233367E+00 0.771457E-01 + 4862 -0.366430E+00 0.299467E+00 0.755030E-01 + 4863 -0.427039E+00 0.242198E+00 -0.128921E-06 + 4864 -0.376177E+00 0.298359E+00 -0.128921E-06 + 4865 -0.421596E+00 0.172158E+00 0.148344E+00 + 4866 -0.353908E+00 0.388056E+00 0.500000E+00 + 4867 -0.243932E+00 0.457475E+00 0.500000E+00 + 4868 -0.264290E+00 0.368136E+00 0.442611E+00 + 4869 -0.196285E+00 0.417687E+00 0.412733E+00 + 4870 -0.238002E+00 0.393555E+00 0.349547E+00 + 4871 -0.165795E+00 0.462691E+00 0.357365E+00 + 4872 -0.100546E+00 0.503451E+00 0.340275E+00 + 4873 -0.145867E+00 0.447041E+00 0.282170E+00 + 4874 -0.177548E+00 0.473694E+00 0.463312E+00 + 4875 -0.406266E+00 0.251236E+00 0.399997E+00 + 4876 -0.360172E+00 0.265158E+00 0.330681E+00 + 4877 -0.367079E+00 0.330846E+00 0.442017E+00 + 4878 -0.407306E+00 0.273510E+00 0.465702E+00 + 4879 -0.315801E+00 0.317799E+00 0.221856E+00 + 4880 -0.459560E+00 0.270817E+00 0.500000E+00 + 4881 -0.236597E+00 0.391061E+00 0.216243E+00 + 4882 -0.248833E+00 0.347265E+00 0.280748E+00 + 4883 -0.149628E+00 0.479418E+00 0.193514E+00 + 4884 -0.169529E+00 0.472224E+00 0.101508E+00 + 4885 -0.197374E+00 0.425130E+00 0.150133E+00 + 4886 -0.106880E+00 0.544362E+00 0.123481E+00 + 4887 -0.780569E-01 0.528680E+00 0.226625E+00 + 4888 -0.122083E+00 0.519378E+00 -0.128921E-06 + 4889 -0.613270E-01 0.558670E+00 0.412188E-01 + 4890 -0.173505E-01 0.618166E+00 -0.128921E-06 + 4891 0.144638E-01 0.566272E+00 0.824777E-01 + 4892 -0.196635E-01 0.554743E+00 0.173959E+00 + 4893 -0.140422E+00 0.443866E+00 0.402673E-01 + 4894 -0.207691E+00 0.392270E+00 0.387748E-01 + 4895 -0.163837E+00 0.390103E+00 0.911807E-01 + 4896 -0.967888E-01 0.536631E+00 0.456997E+00 + 4897 -0.289219E+00 0.297204E+00 0.102113E+00 + 4898 -0.352397E+00 0.253684E+00 0.164109E+00 + 4899 -0.332816E+00 0.259894E+00 0.409443E+00 + 4900 -0.410852E+00 0.195582E+00 0.316559E+00 + 4901 -0.374317E+00 0.209022E+00 0.238723E+00 + 4902 -0.306717E+00 0.251208E+00 0.262935E+00 + 4903 -0.260570E+00 0.351338E+00 0.352745E-01 + 4904 -0.477507E+00 0.199538E+00 0.422489E+00 + 4905 -0.461660E+00 0.153360E+00 0.219218E+00 + 4906 -0.488890E+00 0.128333E+00 0.154677E+00 + 4907 -0.500499E+00 0.129292E+00 0.293098E+00 + 4908 -0.541417E+00 0.186887E+00 0.465445E+00 + 4909 -0.604994E+00 0.109470E+00 0.500000E+00 + 4910 -0.217387E+00 0.370082E+00 0.133048E+00 + 4911 -0.259221E+00 0.288385E+00 -0.128921E-06 + 4912 -0.280979E+00 0.276993E+00 0.379025E+00 + 4913 0.147319E+00 0.742456E+00 0.473708E-01 + 4914 0.705291E-01 0.665112E+00 -0.128921E-06 + 4915 0.118995E+00 0.703824E+00 0.118691E+00 + 4916 0.679695E-01 0.590311E+00 0.146809E+00 + 4917 0.439730E-01 0.585277E+00 0.267221E+00 + 4918 0.988557E-01 0.682633E+00 0.218669E+00 + 4919 0.218130E+00 0.859693E+00 -0.128921E-06 + 4920 0.170000E+00 0.100000E+01 -0.128921E-06 + 4921 0.276968E+00 0.890389E+00 0.141640E+00 + 4922 0.185939E+00 0.763194E+00 0.163741E+00 + 4923 0.212016E+00 0.746145E+00 0.271252E+00 + 4924 0.238977E+00 0.822640E+00 0.257171E+00 + 4925 0.205002E+00 0.100000E+01 0.374592E+00 + 4926 0.664701E-01 0.632761E+00 0.364478E+00 + 4927 0.211824E+00 0.795555E+00 0.350371E+00 + 4928 0.128344E+00 0.717362E+00 0.397355E+00 + 4929 0.179600E+00 0.685241E+00 0.325428E+00 + 4930 0.874915E-02 0.578221E+00 0.355287E+00 + 4931 0.115373E-01 0.666929E+00 0.500000E+00 + 4932 -0.169473E-01 0.586454E+00 0.455490E+00 + 4933 0.759644E-01 0.766659E+00 0.500000E+00 + 4934 0.177317E+00 0.810527E+00 0.500000E+00 + 4935 0.192810E+00 0.921799E+00 0.500000E+00 + 4936 -0.567204E+00 0.846978E-01 0.467889E+00 + 4937 -0.523552E+00 0.122863E+00 0.436173E+00 + 4938 -0.503668E+00 0.844548E-01 0.384130E+00 + 4939 -0.469294E+00 0.157145E+00 0.383114E+00 + 4940 -0.544527E+00 0.139815E+00 0.500000E+00 + 4941 -0.505500E+00 0.863959E-01 0.200760E+00 + 4942 -0.565741E+00 0.107423E+00 -0.128921E-06 + 4943 -0.572157E+00 0.374536E-01 -0.128921E-06 + 4944 -0.534879E+00 0.462970E-01 0.753342E-01 + 4945 -0.603814E+00 0.434792E-01 0.127424E+00 + 4946 -0.612180E+00 0.313256E-01 0.372307E-01 + 4947 -0.541752E+00 -0.128921E-06 0.174922E+00 + 4948 -0.563136E+00 0.664645E-01 0.200630E+00 + 4949 -0.563003E+00 0.390048E-01 0.310009E+00 + 4950 -0.565090E+00 0.578000E-01 0.395151E+00 + 4951 -0.589992E+00 0.507275E-01 0.467786E+00 + 4952 -0.541823E+00 0.948048E-01 0.121973E+00 + 4953 -0.506436E+00 0.216641E+00 -0.128921E-06 + 4954 -0.446354E+00 0.210947E+00 0.345044E-01 + 4955 -0.393597E+00 0.279583E+00 0.356075E-01 + 4956 -0.379818E+00 0.258886E+00 0.110312E+00 + 4957 -0.410707E+00 0.201666E+00 0.119294E+00 + 4958 -0.234725E+00 0.396396E+00 0.407297E+00 + 4959 -0.140334E+00 0.483027E+00 0.405876E+00 + 4960 -0.121662E+00 0.515914E+00 0.305160E+00 + 4961 -0.194016E+00 0.465978E+00 0.500000E+00 + 4962 -0.387083E+00 0.308882E+00 0.462930E+00 + 4963 -0.266375E+00 0.333495E+00 0.235694E+00 + 4964 -0.328227E+00 0.279114E+00 0.262697E+00 + 4965 -0.488020E+00 0.246783E+00 0.465801E+00 + 4966 -0.260156E+00 0.410873E+00 0.500000E+00 + 4967 -0.188891E+00 0.410619E+00 0.195885E+00 + 4968 -0.211426E+00 0.363426E+00 0.275506E+00 + 4969 -0.260436E+00 0.363929E+00 0.332728E+00 + 4970 -0.150067E+00 0.481052E+00 0.134401E+00 + 4971 -0.853984E-01 0.547522E+00 0.159540E+00 + 4972 -0.520444E-01 0.540055E+00 0.332754E+00 + 4973 -0.108828E+00 0.481627E+00 0.203582E+00 + 4974 -0.967903E-01 0.536630E+00 0.430030E-01 + 4975 -0.442306E-01 0.570249E+00 -0.128921E-06 + 4976 -0.163447E+00 0.426871E+00 -0.128921E-06 + 4977 -0.204927E+00 0.385796E+00 0.786746E-01 + 4978 -0.260848E+00 0.307998E+00 0.143756E+00 + 4979 -0.369282E+00 0.243015E+00 0.389056E+00 + 4980 -0.322250E+00 0.220456E+00 0.317243E+00 + 4981 -0.398943E+00 0.194630E+00 0.269756E+00 + 4982 -0.422644E+00 0.158945E+00 0.210985E+00 + 4983 -0.335212E+00 0.252496E+00 0.205538E+00 + 4984 -0.446508E+00 0.206159E+00 0.436899E+00 + 4985 -0.458910E+00 0.154233E+00 0.285831E+00 + 4986 -0.460580E+00 0.131851E+00 0.129492E+00 + 4987 -0.474696E+00 0.103406E+00 0.194933E+00 + 4988 -0.415146E+00 0.193980E+00 0.360296E+00 + 4989 -0.519064E+00 0.999456E-01 0.289097E+00 + 4990 -0.583565E+00 0.142299E+00 0.500000E+00 + 4991 -0.519233E+00 0.173331E+00 0.500000E+00 + 4992 -0.289189E+00 0.321544E+00 -0.128921E-06 + 4993 -0.228938E+00 0.374753E+00 -0.128921E-06 + 4994 -0.288100E+00 0.265849E+00 0.734334E-01 + 4995 -0.147754E+00 0.395050E+00 0.345380E+00 + 4996 -0.289766E+00 0.326246E+00 0.415590E+00 + 4997 -0.320722E+00 0.354801E+00 0.500000E+00 + 4998 -0.264899E+00 0.293908E+00 0.322237E+00 + 4999 0.103688E+00 0.713131E+00 -0.128921E-06 + 5000 0.134676E+00 0.714902E+00 0.796765E-01 + 5001 0.698206E-01 0.665451E+00 0.778517E-01 + 5002 0.228795E-01 0.567219E+00 0.132318E+00 + 5003 0.861502E-01 0.597551E+00 0.198621E+00 + 5004 -0.141739E-01 0.565687E+00 0.243930E+00 + 5005 0.134514E+00 0.674115E+00 0.175929E+00 + 5006 0.395943E-01 0.617685E+00 -0.128921E-06 + 5007 0.192601E-01 0.553815E+00 0.418787E-01 + 5008 -0.525513E-01 0.504412E+00 0.245160E+00 + 5009 0.199847E+00 0.797216E+00 0.528605E-01 + 5010 0.192807E+00 0.921798E+00 -0.128921E-06 + 5011 0.239278E+00 0.782373E+00 0.216552E+00 + 5012 0.238160E+00 0.898600E+00 0.388450E+00 + 5013 0.239997E+00 0.100000E+01 0.246772E+00 + 5014 0.983845E-01 0.641746E+00 0.285715E+00 + 5015 0.217919E+00 0.692538E+00 0.388428E+00 + 5016 0.215496E+00 0.782938E+00 0.406946E+00 + 5017 0.106294E+00 0.747142E+00 0.450355E+00 + 5018 -0.122082E+00 0.519379E+00 0.500000E+00 + 5019 -0.589946E-01 0.580839E+00 0.457430E+00 + 5020 0.193551E-01 0.617770E+00 0.454237E+00 + 5021 0.344963E-01 0.613440E+00 0.378269E+00 + 5022 0.218133E+00 0.859694E+00 0.500000E+00 + 5023 0.238118E+00 0.828270E+00 0.309850E+00 + 5024 -0.497326E+00 0.153950E+00 0.426814E+00 + 5025 -0.550124E+00 0.941842E-01 0.447134E+00 + 5026 -0.495385E+00 0.443634E-01 0.345011E+00 + 5027 -0.469060E+00 0.109725E+00 0.352524E+00 + 5028 -0.721734E-03 0.538702E+00 0.410528E+00 + 5029 -0.484113E+00 0.137321E+00 0.325824E-01 + 5030 -0.540031E+00 0.135364E+00 0.318322E-01 + 5031 -0.548053E+00 0.720467E-01 -0.128921E-06 + 5032 -0.591425E+00 -0.128921E-06 -0.128921E-06 + 5033 -0.527601E+00 0.596472E-01 0.280000E+00 + 5034 -0.558927E+00 0.487460E-01 0.353667E+00 + 5035 -0.535469E+00 0.435282E-01 0.198362E+00 + 5036 -0.591424E+00 -0.128921E-06 0.500000E+00 + 5037 -0.553993E+00 0.514266E-01 0.452762E+00 + 5038 -0.543435E+00 0.507408E-01 0.124554E+00 + 5039 -0.495286E+00 0.180235E+00 0.480001E-01 + 5040 -0.424149E+00 0.257012E+00 0.356604E-01 + 5041 -0.392143E+00 0.224729E+00 0.106329E+00 + 5042 -0.126697E+00 0.462976E+00 0.307802E+00 + 5043 -0.140477E+00 0.517532E+00 0.457525E+00 + 5044 -0.180374E+00 0.424829E+00 0.460347E+00 + 5045 -0.365454E+00 0.342515E+00 0.500000E+00 + 5046 -0.325294E+00 0.305973E+00 0.437823E+00 + 5047 -0.418429E+00 0.284837E+00 0.500000E+00 + 5048 -0.217986E+00 0.402203E+00 0.253584E+00 + 5049 -0.251810E+00 0.353761E+00 0.182725E+00 + 5050 -0.203263E+00 0.374492E+00 0.312685E+00 + 5051 -0.172865E+00 0.452345E+00 0.214953E+00 + 5052 -0.514036E-01 0.546224E+00 0.877610E-01 + 5053 -0.119387E+00 0.489716E+00 0.416094E-01 + 5054 -0.160024E+00 0.399105E+00 0.389760E-01 + 5055 -0.170483E+00 0.438458E+00 0.119957E+00 + 5056 -0.301394E+00 0.267572E+00 0.199710E+00 + 5057 -0.369069E+00 0.206048E+00 0.337824E+00 + 5058 -0.360967E+00 0.195624E+00 0.268052E+00 + 5059 -0.294078E+00 0.227365E+00 0.290685E+00 + 5060 -0.396463E+00 0.203583E+00 0.191701E+00 + 5061 -0.275253E+00 0.331241E+00 0.307649E+00 + 5062 -0.244889E+00 0.359063E+00 0.794432E-01 + 5063 -0.331610E+00 0.261466E+00 0.761712E-01 + 5064 -0.421056E+00 0.234284E+00 0.444178E+00 + 5065 -0.497107E+00 0.209359E+00 0.449721E+00 + 5066 -0.403846E+00 0.152303E+00 0.296196E+00 + 5067 -0.243517E+00 0.291190E+00 0.354764E-01 + 5068 -0.302224E+00 0.278793E+00 -0.128921E-06 + 5069 -0.151247E+00 0.431473E+00 0.377836E+00 + 5070 -0.275203E+00 0.365566E+00 0.500000E+00 + 5071 -0.243811E+00 0.325401E+00 0.370853E+00 + 5072 0.599282E-01 0.623327E+00 0.262738E+00 + 5073 0.672427E-01 0.600598E+00 0.450092E-01 + 5074 0.129277E+00 0.659131E+00 0.937392E-01 + 5075 -0.194097E-01 0.529993E+00 0.230224E+00 + 5076 0.177314E+00 0.810526E+00 -0.128921E-06 + 5077 0.229546E+00 0.929941E+00 0.501140E-01 + 5078 0.190487E+00 0.752728E+00 0.112295E+00 + 5079 0.193581E+00 0.714795E+00 0.222464E+00 + 5080 0.306484E+00 0.815978E+00 0.200464E+00 + 5081 0.275000E+00 0.909538E+00 0.289375E+00 + 5082 0.963044E-01 0.702611E+00 0.346066E+00 + 5083 0.220179E+00 0.733746E+00 0.321186E+00 + 5084 0.175308E+00 0.730273E+00 0.439075E+00 + 5085 0.640379E-01 0.689569E+00 0.440587E+00 + 5086 -0.442288E-01 0.570250E+00 0.500000E+00 + 5087 -0.513532E-01 0.525210E+00 0.392677E+00 + 5088 0.111891E+00 0.817491E+00 0.500000E+00 + 5089 0.183239E+00 0.857739E+00 0.409620E+00 + 5090 0.201696E+00 0.946716E+00 0.455458E+00 + 5091 -0.495787E+00 0.939412E-01 0.112095E+00 + 5092 -0.525424E+00 0.149592E+00 0.469605E+00 + 5093 -0.587816E+00 0.746246E-01 0.500000E+00 + 5094 -0.461644E+00 0.120884E+00 0.395340E+00 + 5095 -0.463914E+00 0.101317E+00 0.229379E+00 + 5096 -0.532894E+00 0.848400E-01 0.444563E-01 + 5097 -0.511502E+00 0.485873E-01 0.224902E+00 + 5098 -0.577935E+00 0.447230E-01 0.856046E-01 + 5099 -0.519232E+00 0.173331E+00 -0.128921E-06 + 5100 -0.212113E+00 0.419758E+00 0.500000E+00 + 5101 -0.165162E+00 0.455237E+00 0.419156E+00 + 5102 -0.440784E+00 0.257857E+00 0.467564E+00 + 5103 -0.184252E+00 0.403600E+00 0.266031E+00 + 5104 -0.976892E-01 0.502750E+00 0.275114E+00 + 5105 -0.124566E+00 0.440543E+00 0.211765E+00 + 5106 -0.516909E-01 0.524366E+00 0.145841E+00 + 5107 -0.138359E+00 0.481604E+00 0.871764E-01 + 5108 -0.275224E+00 0.306384E+00 0.189821E+00 + 5109 -0.320440E+00 0.215952E+00 0.252371E+00 + 5110 -0.386166E+00 0.259104E+00 0.429750E+00 + 5111 -0.506437E+00 0.216641E+00 0.500000E+00 + 5112 -0.336189E+00 0.280383E+00 0.348799E-01 + 5113 -0.205488E+00 0.318889E+00 0.116483E+00 + 5114 -0.213648E+00 0.364442E+00 0.181395E+00 + 5115 -0.298049E+00 0.282573E+00 0.407214E+00 + 5116 -0.283471E+00 0.261561E+00 0.339894E+00 + 5117 -0.327018E+00 0.218543E+00 0.369199E+00 + 5118 0.107338E-01 0.570944E+00 -0.128921E-06 + 5119 0.964336E-01 0.608517E+00 0.100563E+00 + 5120 -0.350539E-01 0.513822E+00 0.307566E+00 + 5121 0.173046E+00 0.701803E+00 0.162831E+00 + 5122 0.247003E+00 0.796979E+00 0.122303E+00 + 5123 0.274996E+00 0.100000E+01 0.122171E+00 + 5124 0.151708E+00 0.696734E+00 0.292110E+00 + 5125 0.258290E-01 0.528897E+00 0.235877E+00 + 5126 0.566230E-01 0.640608E+00 0.422580E+00 + 5127 0.201199E+00 0.805878E+00 0.448117E+00 + 5128 0.232466E+00 0.896159E+00 0.449186E+00 + 5129 0.264772E+00 0.852857E+00 0.386978E+00 + 5130 -0.565742E+00 0.107422E+00 0.500000E+00 + 5131 -0.534547E+00 0.692703E-01 0.425211E+00 + 5132 -0.469278E+00 0.167285E+00 0.422672E+00 + 5133 -0.459431E+00 0.150471E+00 0.428611E-01 + 5134 -0.450885E+00 0.108271E+00 0.313842E+00 + 5135 -0.610004E+00 0.401057E-01 -0.128921E-06 + 5136 -0.307921E+00 0.267775E+00 0.147662E+00 + 5137 -0.334335E+00 0.218733E+00 0.198190E+00 + 5138 -0.508489E+00 0.945272E-01 0.243149E+00 + 5139 -0.234472E+00 0.324074E+00 0.169425E+00 + 5140 -0.210447E+00 0.337489E+00 0.562384E-01 + 5141 -0.183464E+00 0.385655E+00 0.145549E+00 + 5142 -0.282812E+00 0.292983E+00 0.251595E+00 + 5143 0.125278E+00 0.644292E+00 0.143672E+00 + 5144 -0.436709E-02 0.553115E+00 0.295979E+00 + 5145 0.151715E+00 0.658235E+00 0.252883E+00 + 5146 -0.449292E+00 0.173818E+00 0.871307E-01 + 5147 -0.438747E+00 0.168759E+00 0.378566E+00 + 5148 -0.550378E+00 0.471880E-01 0.343561E-01 + 5149 -0.541548E+00 -0.128921E-06 0.102495E+00 + 5150 -0.560950E+00 -0.128921E-06 -0.128921E-06 + 5151 -0.514793E+00 0.569303E-01 0.177032E+00 + 5152 -0.500000E+00 -0.128921E-06 0.280001E+00 + 5153 -0.532408E+00 -0.128921E-06 0.377841E+00 + 5154 -0.489742E+00 0.753572E-01 0.275110E+00 + 5155 -0.560949E+00 -0.128921E-06 0.500000E+00 + 5156 -0.548054E+00 0.720467E-01 0.500000E+00 + 5157 -0.512510E+00 0.135630E+00 -0.128921E-06 + 5158 -0.483839E+00 0.879616E-01 0.350261E-01 + 5159 -0.443113E+00 0.160867E+00 -0.128921E-06 + 5160 -0.399964E+00 0.199915E+00 0.326072E-01 + 5161 -0.416638E+00 0.148587E+00 0.633512E-01 + 5162 -0.386183E+00 0.255554E+00 -0.128921E-06 + 5163 -0.354842E+00 0.207102E+00 0.128055E+00 + 5164 -0.383819E+00 0.152092E+00 0.188220E+00 + 5165 -0.422231E+00 0.102292E+00 0.133212E+00 + 5166 -0.207690E+00 0.392270E+00 0.461225E+00 + 5167 -0.218281E+00 0.350177E+00 0.378860E+00 + 5168 -0.264338E+00 0.313632E+00 0.463474E+00 + 5169 -0.104380E+00 0.464846E+00 0.358006E+00 + 5170 -0.853880E-01 0.488248E+00 0.435182E+00 + 5171 -0.509939E-01 0.480409E+00 0.295642E+00 + 5172 -0.136778E+00 0.386064E+00 0.293094E+00 + 5173 -0.143509E+00 0.472571E+00 0.500000E+00 + 5174 -0.133673E+00 0.401781E+00 0.464748E+00 + 5175 -0.376177E+00 0.298359E+00 0.500000E+00 + 5176 -0.378626E+00 0.210082E+00 0.369252E+00 + 5177 -0.352928E+00 0.237503E+00 0.423451E+00 + 5178 -0.427039E+00 0.242199E+00 0.500000E+00 + 5179 -0.302223E+00 0.278794E+00 0.500000E+00 + 5180 -0.249505E+00 0.312069E+00 0.276099E+00 + 5181 -0.226918E+00 0.299303E+00 0.209616E+00 + 5182 -0.460203E+00 0.191895E+00 0.466837E+00 + 5183 -0.154191E+00 0.427095E+00 0.178502E+00 + 5184 -0.202960E+00 0.334064E+00 0.310803E+00 + 5185 -0.796658E-01 0.512121E+00 0.181275E+00 + 5186 -0.975736E-01 0.438923E+00 0.108944E+00 + 5187 -0.642599E-01 0.455154E+00 0.176174E+00 + 5188 -0.692557E-01 0.523243E+00 -0.128921E-06 + 5189 -0.100857E-01 0.536328E+00 0.652628E-01 + 5190 0.537059E-01 0.543884E+00 0.129084E+00 + 5191 0.642021E-01 0.538621E+00 0.430883E-01 + 5192 0.702511E-02 0.497480E+00 0.201956E+00 + 5193 -0.114309E+00 0.432157E+00 -0.128921E-06 + 5194 -0.244604E+00 0.330964E+00 -0.128921E-06 + 5195 -0.182023E+00 0.382299E+00 -0.128921E-06 + 5196 -0.186767E+00 0.348241E+00 0.960796E-01 + 5197 0.530975E-01 0.583298E+00 0.306500E+00 + 5198 -0.692542E-01 0.523244E+00 0.500000E+00 + 5199 -0.256421E+00 0.275051E+00 0.129025E+00 + 5200 -0.291269E+00 0.222167E+00 0.167367E+00 + 5201 -0.277222E+00 0.238356E+00 0.377092E+00 + 5202 -0.273366E+00 0.183642E+00 0.308891E+00 + 5203 -0.353474E+00 0.137016E+00 0.321463E+00 + 5204 -0.406313E+00 0.136590E+00 0.262750E+00 + 5205 -0.273052E+00 0.251794E+00 0.257079E+00 + 5206 -0.303219E+00 0.185367E+00 0.218509E+00 + 5207 -0.221934E+00 0.272280E+00 0.754123E-01 + 5208 -0.317360E+00 0.215485E+00 0.445114E-01 + 5209 -0.296924E+00 0.232641E+00 0.973248E-01 + 5210 -0.418491E+00 0.155703E+00 0.421941E+00 + 5211 -0.427146E+00 0.714728E-01 0.220866E+00 + 5212 -0.464122E+00 0.541759E-01 0.352538E+00 + 5213 -0.512511E+00 0.135631E+00 0.500000E+00 + 5214 -0.170767E+00 0.270597E+00 0.113225E+00 + 5215 -0.230725E+00 0.255413E+00 -0.128921E-06 + 5216 -0.119585E+00 0.380344E+00 0.378670E+00 + 5217 -0.309074E+00 0.170515E+00 0.391632E+00 + 5218 -0.203968E+00 0.274210E+00 0.387099E+00 + 5219 0.164450E+00 0.707054E+00 -0.128921E-06 + 5220 0.183009E+00 0.726732E+00 0.769106E-01 + 5221 0.126252E+00 0.628294E+00 0.458441E-01 + 5222 0.119302E+00 0.597668E+00 0.251211E+00 + 5223 0.138629E+00 0.576680E+00 0.158345E+00 + 5224 0.205622E+00 0.669380E+00 0.159242E+00 + 5225 0.275382E+00 0.854518E+00 0.656736E-01 + 5226 0.240000E+00 0.100000E+01 -0.128921E-06 + 5227 0.367912E+00 0.918170E+00 0.135808E+00 + 5228 0.279628E+00 0.788282E+00 0.282548E+00 + 5229 0.254179E+00 0.735336E+00 0.218671E+00 + 5230 0.228579E+00 0.657584E+00 0.262450E+00 + 5231 0.309998E+00 0.100000E+01 0.246767E+00 + 5232 0.373735E+00 0.797146E+00 0.129724E+00 + 5233 0.310000E+00 0.100000E+01 0.500000E+00 + 5234 0.300018E+00 0.857040E+00 0.444676E+00 + 5235 0.379306E+00 0.860820E+00 0.296874E+00 + 5236 0.111157E+00 0.665769E+00 0.391643E+00 + 5237 0.782842E-01 0.568813E+00 0.400146E+00 + 5238 0.265939E+00 0.793808E+00 0.386145E+00 + 5239 0.201650E+00 0.668228E+00 0.452476E+00 + 5240 0.241416E+00 0.635557E+00 0.359224E+00 + 5241 0.139227E+00 0.761634E+00 0.500000E+00 + 5242 0.705313E-01 0.665113E+00 0.500000E+00 + 5243 0.107353E-01 0.570945E+00 0.500000E+00 + 5244 0.515923E-02 0.487047E+00 0.374428E+00 + 5245 0.242074E+00 0.800480E+00 0.500000E+00 + 5246 0.234482E+00 0.960246E+00 0.500000E+00 + 5247 -0.489396E+00 0.517484E-01 0.851248E-01 + 5248 -0.470651E+00 0.992090E-01 0.442056E+00 + 5249 -0.510237E+00 0.441967E-01 0.324287E-01 + 5250 -0.500000E+00 -0.128921E-06 0.700004E-01 + 5251 -0.500000E+00 -0.128921E-06 0.210001E+00 + 5252 -0.508376E+00 0.395945E-01 0.298308E+00 + 5253 -0.500000E+00 -0.128921E-06 0.350002E+00 + 5254 -0.513450E+00 0.372926E-01 0.419835E+00 + 5255 -0.572157E+00 0.374532E-01 0.500000E+00 + 5256 -0.528790E+00 0.756467E-01 0.457782E+00 + 5257 -0.486320E+00 0.806676E-01 0.163054E+00 + 5258 -0.509620E+00 0.117099E+00 0.284561E-01 + 5259 -0.471561E+00 0.849368E-01 0.691886E-01 + 5260 -0.420091E+00 0.156538E+00 0.325701E-01 + 5261 -0.481886E+00 0.147885E+00 -0.128921E-06 + 5262 -0.389028E+00 0.243635E+00 0.591104E-01 + 5263 -0.344542E+00 0.267836E+00 -0.128921E-06 + 5264 -0.318197E+00 0.249634E+00 0.115269E+00 + 5265 -0.361406E+00 0.170604E+00 0.114114E+00 + 5266 -0.232908E+00 0.346714E+00 0.426625E+00 + 5267 -0.228937E+00 0.374753E+00 0.500000E+00 + 5268 -0.152805E+00 0.400250E+00 0.422516E+00 + 5269 -0.178551E+00 0.354041E+00 0.333640E+00 + 5270 -0.123095E+00 0.425656E+00 0.319374E+00 + 5271 -0.707781E-01 0.455114E+00 0.413007E+00 + 5272 -0.145113E+00 0.410329E+00 0.227853E+00 + 5273 -0.163446E+00 0.426872E+00 0.500000E+00 + 5274 -0.925685E-01 0.477200E+00 0.500000E+00 + 5275 -0.368967E+00 0.273917E+00 0.464540E+00 + 5276 -0.386666E+00 0.206681E+00 0.404537E+00 + 5277 -0.288473E+00 0.271999E+00 0.467029E+00 + 5278 -0.221891E+00 0.328205E+00 0.260461E+00 + 5279 -0.467147E+00 0.228663E+00 0.500000E+00 + 5280 -0.825317E-01 0.483519E+00 0.156855E+00 + 5281 -0.824867E-01 0.438760E+00 0.212938E+00 + 5282 -0.925696E-01 0.477199E+00 -0.128921E-06 + 5283 -0.422665E-01 0.509348E+00 0.422189E-01 + 5284 -0.703130E-01 0.428990E+00 0.837316E-01 + 5285 0.329141E-01 0.510101E+00 0.811241E-01 + 5286 0.280268E-01 0.519429E+00 0.163576E+00 + 5287 -0.134602E+00 0.388145E+00 -0.128921E-06 + 5288 -0.171146E+00 0.369389E+00 0.599093E-01 + 5289 -0.124665E+00 0.395302E+00 0.134208E+00 + 5290 0.651341E-01 0.586533E+00 0.354894E+00 + 5291 -0.200150E+00 0.278444E+00 0.169229E+00 + 5292 -0.272150E+00 0.263139E+00 0.216152E+00 + 5293 -0.285709E+00 0.203712E+00 0.349099E+00 + 5294 -0.317995E+00 0.230432E+00 0.422244E+00 + 5295 -0.307748E+00 0.188182E+00 0.270563E+00 + 5296 -0.352238E+00 0.174997E+00 0.365276E+00 + 5297 -0.379638E+00 0.174377E+00 0.232507E+00 + 5298 -0.260245E+00 0.273151E+00 0.287853E+00 + 5299 -0.431054E+00 0.116917E+00 0.247713E+00 + 5300 -0.286443E+00 0.220935E+00 0.694435E-01 + 5301 -0.306085E+00 0.188721E+00 0.182851E+00 + 5302 -0.451353E+00 0.166813E+00 0.448459E+00 + 5303 -0.427286E+00 0.713346E-01 0.153108E+00 + 5304 -0.401125E+00 0.118380E+00 0.349414E+00 + 5305 -0.481886E+00 0.147885E+00 0.500000E+00 + 5306 -0.164045E+00 0.280436E+00 0.758926E-01 + 5307 -0.215556E+00 0.296570E+00 -0.128921E-06 + 5308 -0.198087E+00 0.235964E+00 0.351276E-01 + 5309 -0.272891E+00 0.247006E+00 -0.128921E-06 + 5310 -0.241397E+00 0.241938E+00 0.410254E+00 + 5311 0.201989E+00 0.753693E+00 -0.128921E-06 + 5312 0.166813E+00 0.691155E+00 0.102065E+00 + 5313 0.129313E+00 0.660701E+00 -0.128921E-06 + 5314 0.130691E+00 0.610621E+00 0.191033E+00 + 5315 0.797843E-01 0.549936E+00 0.176973E+00 + 5316 0.862931E-01 0.582040E+00 0.270162E+00 + 5317 0.656929E-01 0.569346E+00 -0.128921E-06 + 5318 0.120317E+00 0.565035E+00 0.748432E-01 + 5319 -0.103294E-01 0.461210E+00 0.249372E+00 + 5320 0.120895E-02 0.490289E+00 0.324576E+00 + 5321 0.377792E-01 0.535053E+00 0.331474E+00 + 5322 0.270660E+00 0.776961E+00 0.507397E-01 + 5323 0.284823E+00 0.847200E+00 -0.128921E-06 + 5324 0.234480E+00 0.960245E+00 -0.128921E-06 + 5325 0.340183E+00 0.931177E+00 0.592350E-01 + 5326 0.336679E+00 0.905583E+00 0.223497E+00 + 5327 0.305426E+00 0.813274E+00 0.122697E+00 + 5328 0.253737E+00 0.712573E+00 0.130262E+00 + 5329 0.267525E+00 0.731939E+00 0.264506E+00 + 5330 0.361881E+00 0.757560E+00 0.207438E+00 + 5331 0.272783E+00 0.942740E+00 0.436757E+00 + 5332 0.281524E+00 0.822625E+00 0.344410E+00 + 5333 0.105607E+00 0.599844E+00 0.414048E+00 + 5334 0.140036E+00 0.645628E+00 0.341470E+00 + 5335 0.132486E+00 0.693630E+00 0.452052E+00 + 5336 0.209045E+00 0.600217E+00 0.409827E+00 + 5337 0.275516E+00 0.684353E+00 0.381820E+00 + 5338 0.201992E+00 0.753694E+00 0.500000E+00 + 5339 0.291696E+00 0.747433E+00 0.455498E+00 + 5340 0.395961E-01 0.617685E+00 0.500000E+00 + 5341 0.102529E-01 0.509988E+00 0.457753E+00 + 5342 0.284827E+00 0.847200E+00 0.500000E+00 + 5343 0.364146E+00 0.911194E+00 0.374696E+00 + 5344 -0.478425E+00 0.842550E-01 0.415269E+00 + 5345 -0.442911E+00 0.218443E-01 0.341851E+00 + 5346 -0.407113E+00 0.120412E+00 0.424054E+00 + 5347 -0.530923E+00 0.320636E-01 -0.128921E-06 + 5348 -0.530712E+00 -0.128921E-06 0.272861E-01 + 5349 -0.500000E+00 -0.128921E-06 0.140001E+00 + 5350 -0.471595E+00 0.110087E-01 0.312282E+00 + 5351 -0.482244E+00 0.548635E-01 0.249936E+00 + 5352 -0.531402E+00 -0.128921E-06 0.437418E+00 + 5353 -0.530923E+00 0.320636E-01 0.500000E+00 + 5354 -0.458034E+00 0.108328E+00 0.452278E-01 + 5355 -0.402485E+00 0.191577E+00 0.671215E-01 + 5356 -0.435298E+00 0.200883E+00 -0.128921E-06 + 5357 -0.362007E+00 0.249896E+00 0.347931E-01 + 5358 -0.393395E+00 0.126451E+00 0.139876E+00 + 5359 -0.224298E+00 0.348194E+00 0.462484E+00 + 5360 -0.161118E+00 0.371807E+00 0.382928E+00 + 5361 -0.124558E+00 0.449038E+00 0.415992E+00 + 5362 -0.337949E-01 0.473880E+00 0.369144E+00 + 5363 -0.962017E-01 0.414744E+00 0.269619E+00 + 5364 -0.333253E+00 0.257837E+00 0.465761E+00 + 5365 -0.386182E+00 0.255555E+00 0.500000E+00 + 5366 -0.289189E+00 0.321545E+00 0.500000E+00 + 5367 -0.239785E+00 0.275238E+00 0.258343E+00 + 5368 -0.180981E+00 0.335904E+00 0.227921E+00 + 5369 -0.443161E+00 0.223915E+00 0.465784E+00 + 5370 -0.123949E+00 0.447148E+00 0.168074E+00 + 5371 -0.762638E-01 0.492254E+00 0.214894E+00 + 5372 -0.635047E-01 0.471534E+00 0.401060E-01 + 5373 -0.161992E-01 0.524971E+00 -0.128921E-06 + 5374 -0.432644E-01 0.476721E+00 0.129264E+00 + 5375 0.601661E-01 0.565979E+00 0.998203E-01 + 5376 -0.119730E+00 0.419027E+00 0.870925E-01 + 5377 -0.199356E+00 0.338865E+00 -0.128921E-06 + 5378 -0.131851E+00 0.361069E+00 0.378946E-01 + 5379 -0.149880E+00 0.359652E+00 0.132837E+00 + 5380 0.945422E-01 0.577296E+00 0.327534E+00 + 5381 -0.496331E-01 0.523799E+00 0.458020E+00 + 5382 -0.262114E+00 0.250521E+00 0.938274E-01 + 5383 -0.240452E+00 0.268543E+00 0.175516E+00 + 5384 -0.274297E+00 0.218759E+00 0.223612E+00 + 5385 -0.318800E+00 0.218614E+00 0.137085E+00 + 5386 -0.343462E+00 0.197704E+00 0.408309E+00 + 5387 -0.327151E+00 0.171236E+00 0.338742E+00 + 5388 -0.392143E+00 0.164221E+00 0.341857E+00 + 5389 -0.345912E+00 0.148893E+00 0.276145E+00 + 5390 -0.353303E+00 0.195710E+00 0.215593E+00 + 5391 -0.377541E+00 0.157617E+00 0.429530E+00 + 5392 -0.473670E+00 0.106941E+00 0.285201E+00 + 5393 -0.459131E+00 0.102381E+00 0.152584E+00 + 5394 -0.430851E+00 0.121468E+00 0.377574E+00 + 5395 -0.475495E+00 0.187520E+00 0.500000E+00 + 5396 -0.276354E+00 0.233402E+00 0.315629E-01 + 5397 -0.236308E+00 0.284457E+00 0.418993E+00 + 5398 -0.244831E+00 0.227997E+00 0.367115E+00 + 5399 -0.208036E+00 0.299994E+00 0.332758E+00 + 5400 0.160482E+00 0.673828E+00 0.472805E-01 + 5401 0.964405E-01 0.614762E+00 -0.128921E-06 + 5402 0.616882E-01 0.511789E+00 0.190451E+00 + 5403 0.145161E+00 0.571913E+00 0.203495E+00 + 5404 0.622174E-01 0.544761E+00 0.268936E+00 + 5405 0.184548E+00 0.614899E+00 0.144740E+00 + 5406 0.242071E+00 0.800480E+00 -0.128921E-06 + 5407 0.261351E+00 0.907781E+00 -0.128921E-06 + 5408 0.322866E+00 0.887993E+00 0.957487E-01 + 5409 0.317487E+00 0.760466E+00 0.251105E+00 + 5410 0.240587E+00 0.657232E+00 0.189246E+00 + 5411 0.218929E+00 0.696215E+00 0.279487E+00 + 5412 0.294482E+00 0.773973E+00 0.910428E-01 + 5413 0.345007E+00 0.100000E+01 0.374574E+00 + 5414 0.240000E+00 0.100000E+01 0.500000E+00 + 5415 0.344997E+00 0.100000E+01 0.122169E+00 + 5416 0.267999E+00 0.754704E+00 0.344118E+00 + 5417 0.144160E+00 0.631693E+00 0.422489E+00 + 5418 0.260035E+00 0.638798E+00 0.427099E+00 + 5419 0.244505E+00 0.751117E+00 0.456412E+00 + 5420 0.164452E+00 0.707054E+00 0.500000E+00 + 5421 0.377878E-01 0.554946E+00 0.456395E+00 + 5422 0.261354E+00 0.907782E+00 0.500000E+00 + 5423 0.321831E+00 0.818410E+00 0.403162E+00 + 5424 -0.500327E+00 0.137680E+00 0.458964E+00 + 5425 -0.446039E+00 0.130260E+00 0.442622E+00 + 5426 -0.526870E+00 0.105481E+00 0.500000E+00 + 5427 -0.500219E+00 0.654936E-01 0.429202E+00 + 5428 0.122714E-01 0.475723E+00 0.434438E+00 + 5429 0.421802E-01 0.496793E+00 0.323378E+00 + 5430 -0.491754E+00 0.627428E-01 0.464514E-01 + 5431 -0.526869E+00 0.105481E+00 -0.128921E-06 + 5432 -0.513159E+00 0.463974E-01 0.129179E+00 + 5433 -0.486227E+00 0.493213E-01 0.198871E+00 + 5434 -0.520625E+00 0.418423E-01 0.462473E+00 + 5435 -0.395569E+00 0.214065E+00 -0.128921E-06 + 5436 -0.342882E+00 0.225749E+00 0.756863E-01 + 5437 -0.409747E+00 0.143997E+00 0.109386E+00 + 5438 -0.244603E+00 0.330965E+00 0.500000E+00 + 5439 -0.183295E+00 0.353337E+00 0.415039E+00 + 5440 -0.131788E+00 0.459179E+00 0.460303E+00 + 5441 -0.641941E-01 0.449317E+00 0.311574E+00 + 5442 -0.182022E+00 0.382300E+00 0.500000E+00 + 5443 -0.333051E+00 0.310660E+00 0.500000E+00 + 5444 -0.379016E+00 0.231973E+00 0.465664E+00 + 5445 -0.285499E+00 0.271245E+00 0.435639E+00 + 5446 -0.175770E+00 0.372418E+00 0.249324E+00 + 5447 -0.228986E+00 0.309538E+00 0.304931E+00 + 5448 -0.369035E-01 0.487120E+00 0.177575E+00 + 5449 -0.116979E+00 0.391820E+00 0.194387E+00 + 5450 -0.407185E-01 0.497851E+00 0.839033E-01 + 5451 -0.905727E-01 0.448310E+00 0.403958E-01 + 5452 -0.123952E+00 0.362134E+00 0.102948E+00 + 5453 -0.211451E+00 0.272104E+00 0.112287E+00 + 5454 -0.260863E+00 0.240549E+00 0.150356E+00 + 5455 -0.317496E+00 0.145409E+00 0.296047E+00 + 5456 -0.342660E+00 0.162541E+00 0.235227E+00 + 5457 -0.255739E+00 0.222783E+00 0.296181E+00 + 5458 -0.404610E+00 0.117596E+00 0.204312E+00 + 5459 -0.343467E+00 0.179601E+00 0.161920E+00 + 5460 -0.401528E+00 0.169367E+00 0.380591E+00 + 5461 -0.375144E+00 0.973187E-01 0.287688E+00 + 5462 -0.466996E+00 0.566700E-01 0.310759E+00 + 5463 -0.314410E+00 0.237293E+00 -0.128921E-06 + 5464 -0.180488E+00 0.321104E+00 0.169451E+00 + 5465 -0.161160E+00 0.330564E+00 0.359815E-01 + 5466 -0.251864E+00 0.245286E+00 0.424194E-01 + 5467 -0.117820E+00 0.412972E+00 0.414380E+00 + 5468 -0.117077E+00 0.355852E+00 0.339858E+00 + 5469 -0.272237E+00 0.187248E+00 0.381327E+00 + 5470 0.199539E+00 0.691028E+00 0.475217E-01 + 5471 0.783235E-01 0.549850E+00 0.226965E+00 + 5472 0.109448E+00 0.564497E+00 0.133605E+00 + 5473 0.197975E+00 0.640622E+00 0.191975E+00 + 5474 0.120478E+00 0.565463E+00 -0.128921E-06 + 5475 0.369317E-01 0.524547E+00 -0.128921E-06 + 5476 0.161975E+00 0.639159E+00 0.100401E+00 + 5477 0.577977E-01 0.478571E+00 0.137224E+00 + 5478 0.717775E-02 0.500873E+00 0.256468E+00 + 5479 0.306076E+00 0.958161E+00 -0.128921E-06 + 5480 0.372028E+00 0.863548E+00 0.148674E+00 + 5481 0.301468E+00 0.768764E+00 0.164227E+00 + 5482 0.267406E+00 0.686450E+00 0.209852E+00 + 5483 0.308169E+00 0.845290E+00 0.263590E+00 + 5484 0.320057E+00 0.924426E+00 0.341915E+00 + 5485 0.130881E+00 0.613346E+00 0.312954E+00 + 5486 0.209586E+00 0.641076E+00 0.309684E+00 + 5487 0.257562E+00 0.709349E+00 0.451532E+00 + 5488 0.277602E+00 0.811724E+00 0.448217E+00 + 5489 0.103690E+00 0.713132E+00 0.500000E+00 + 5490 0.458795E-01 0.551340E+00 0.365836E+00 + 5491 0.107442E+00 0.628695E+00 0.453269E+00 + 5492 -0.161974E-01 0.524972E+00 0.500000E+00 + 5493 -0.370097E-01 0.490193E+00 0.415087E+00 + 5494 -0.470117E+00 0.139997E+00 0.468381E+00 + 5495 -0.475048E+00 0.496205E-01 0.400380E+00 + 5496 -0.430256E+00 0.950337E-01 0.431404E+00 + 5497 -0.489482E+00 0.110185E+00 -0.128921E-06 + 5498 -0.427600E+00 0.117897E+00 0.320312E-01 + 5499 -0.471668E+00 0.109806E-01 0.176169E+00 + 5500 -0.471606E+00 0.110044E-01 0.244685E+00 + 5501 -0.343561E+00 0.187380E+00 0.626078E-01 + 5502 -0.156731E+00 0.371877E+00 0.461793E+00 + 5503 -0.142033E+00 0.367902E+00 0.185767E+00 + 5504 -0.172486E+00 0.357928E+00 0.292154E+00 + 5505 -0.437425E-01 0.442583E+00 0.249840E+00 + 5506 -0.940856E-01 0.385269E+00 0.244879E+00 + 5507 -0.435502E-01 0.450369E+00 0.757172E-01 + 5508 -0.111907E+00 0.404183E+00 0.391218E-01 + 5509 -0.260097E+00 0.220454E+00 0.188749E+00 + 5510 -0.376895E+00 0.132192E+00 0.222198E+00 + 5511 -0.411757E+00 0.196268E+00 0.466500E+00 + 5512 -0.439136E+00 0.104141E+00 0.101207E+00 + 5513 -0.396384E+00 0.812458E-01 0.166132E+00 + 5514 -0.161352E+00 0.305808E+00 0.122465E+00 + 5515 -0.191620E+00 0.287439E+00 0.358267E-01 + 5516 -0.804052E-01 0.418597E+00 0.364730E+00 + 5517 -0.241744E+00 0.260097E+00 0.351700E+00 + 5518 -0.213380E+00 0.316325E+00 0.416912E+00 + 5519 0.111082E+00 0.541898E+00 0.199462E+00 + 5520 0.361124E-01 0.494676E+00 0.417725E-01 + 5521 0.155733E+00 0.591116E+00 0.927586E-01 + 5522 0.165403E-01 0.473479E+00 0.148637E+00 + 5523 0.166987E-01 0.517453E+00 0.300732E+00 + 5524 0.230212E+00 0.731625E+00 0.492302E-01 + 5525 0.358974E+00 0.818557E+00 0.234526E+00 + 5526 0.326370E+00 0.729676E+00 0.184878E+00 + 5527 0.310000E+00 0.100000E+01 -0.128921E-06 + 5528 0.133842E+00 0.617113E+00 0.375268E+00 + 5529 0.169285E+00 0.626441E+00 0.279547E+00 + 5530 0.242901E+00 0.693576E+00 0.330433E+00 + 5531 0.224644E+00 0.698273E+00 0.500000E+00 + 5532 0.300094E+00 0.756834E+00 0.393348E+00 + 5533 0.459220E-01 0.477495E+00 0.234069E+00 + 5534 0.672445E-01 0.600598E+00 0.454991E+00 + 5535 -0.506498E+00 0.950356E-01 0.466572E+00 + 5536 -0.456725E+00 0.710073E-01 0.384594E+00 + 5537 -0.500000E+00 -0.128921E-06 0.400001E+00 + 5538 0.507579E-01 0.525967E+00 0.419684E+00 + 5539 -0.426946E+00 0.708158E-01 0.287783E+00 + 5540 -0.450729E+00 0.122143E+00 -0.128921E-06 + 5541 -0.503140E+00 0.694406E-01 -0.128921E-06 + 5542 -0.381464E+00 0.215075E+00 0.434594E+00 + 5543 -0.457110E+00 0.605868E-01 0.186973E+00 + 5544 -0.901580E-01 0.388930E+00 0.321841E+00 + 5545 -0.176474E+00 0.318105E+00 0.376533E+00 + 5546 -0.107237E-02 0.472240E+00 0.872732E-01 + 5547 -0.363236E-01 0.457469E+00 0.216463E+00 + 5548 0.215652E+00 0.686609E+00 0.891964E-01 + 5549 0.184258E+00 0.595124E+00 0.235417E+00 + 5550 0.170188E+00 0.638172E+00 0.387536E+00 + 5551 0.937981E-01 0.517307E+00 0.256948E+00 + 5552 0.354947E+00 0.818225E+00 0.358247E+00 + 5553 -0.471524E+00 0.110360E-01 0.372747E+00 + 5554 -0.416567E+00 0.730586E-01 0.339942E+00 + 5555 -0.429562E+00 0.966451E-01 0.512398E-01 + 5556 -0.457009E+00 0.589168E-01 0.121819E+00 + 5557 -0.530475E+00 -0.128921E-06 -0.128921E-06 + 5558 -0.448168E+00 0.198920E-01 0.691152E-01 + 5559 -0.442950E+00 0.218299E-01 0.209967E+00 + 5560 -0.443431E+00 0.216521E-01 0.141465E+00 + 5561 -0.442921E+00 0.218407E-01 0.278143E+00 + 5562 -0.500000E+00 -0.128921E-06 0.450001E+00 + 5563 -0.503140E+00 0.694406E-01 0.500000E+00 + 5564 -0.458896E+00 0.842590E-01 -0.128921E-06 + 5565 -0.404404E+00 0.173855E+00 -0.128921E-06 + 5566 -0.359033E+00 0.215012E+00 0.403155E-01 + 5567 -0.372597E+00 0.146666E+00 0.747326E-01 + 5568 -0.307602E+00 0.178367E+00 0.141496E+00 + 5569 -0.299437E+00 0.192413E+00 0.759070E-01 + 5570 -0.361232E+00 0.130854E+00 0.176613E+00 + 5571 -0.396132E+00 0.811122E-01 0.109297E+00 + 5572 -0.246021E+00 0.251767E+00 0.465966E+00 + 5573 -0.199355E+00 0.338865E+00 0.500000E+00 + 5574 -0.153292E+00 0.307942E+00 0.427890E+00 + 5575 -0.143272E+00 0.316227E+00 0.338545E+00 + 5576 -0.886521E-01 0.419994E+00 0.460409E+00 + 5577 -0.255355E-01 0.435641E+00 0.386419E+00 + 5578 -0.224798E-01 0.435420E+00 0.282883E+00 + 5579 -0.124190E+00 0.344662E+00 0.246245E+00 + 5580 -0.498394E-01 0.405153E+00 0.244672E+00 + 5581 -0.134601E+00 0.388146E+00 0.500000E+00 + 5582 -0.413441E-01 0.479831E+00 0.500000E+00 + 5583 -0.344541E+00 0.267836E+00 0.500000E+00 + 5584 -0.353652E+00 0.167265E+00 0.399723E+00 + 5585 -0.338348E+00 0.207791E+00 0.459940E+00 + 5586 -0.395569E+00 0.214065E+00 0.500000E+00 + 5587 -0.171557E+00 0.281286E+00 0.264372E+00 + 5588 -0.233165E+00 0.203149E+00 0.264353E+00 + 5589 -0.443113E+00 0.160868E+00 0.500000E+00 + 5590 -0.940010E-01 0.357596E+00 0.143580E+00 + 5591 -0.477478E-01 0.440065E+00 0.141794E+00 + 5592 -0.413452E-01 0.479831E+00 -0.128921E-06 + 5593 -0.217141E-01 0.426871E+00 0.614983E-01 + 5594 -0.530409E-01 0.375166E+00 0.634877E-01 + 5595 0.752789E-01 0.489112E+00 0.401474E-01 + 5596 0.111130E+00 0.495707E+00 0.148113E+00 + 5597 0.187334E-01 0.428861E+00 0.200306E+00 + 5598 -0.868114E-01 0.392248E+00 -0.128921E-06 + 5599 -0.153570E+00 0.345185E+00 -0.128921E-06 + 5600 -0.138818E+00 0.339694E+00 0.808537E-01 + 5601 -0.138496E+00 0.299970E+00 0.174023E+00 + 5602 0.106987E+00 0.539373E+00 0.299861E+00 + 5603 -0.208034E+00 0.242847E+00 0.134823E+00 + 5604 -0.172020E+00 0.229028E+00 0.184941E+00 + 5605 -0.219904E+00 0.198372E+00 0.176029E+00 + 5606 -0.283400E+00 0.148309E+00 0.336636E+00 + 5607 -0.306830E+00 0.132789E+00 0.235150E+00 + 5608 -0.331508E+00 0.942101E-01 0.349428E+00 + 5609 -0.396384E+00 0.816986E-01 0.233119E+00 + 5610 -0.201503E+00 0.244285E+00 0.334919E+00 + 5611 -0.285710E+00 0.206812E+00 -0.128921E-06 + 5612 -0.372799E+00 0.114545E+00 0.450894E+00 + 5613 -0.354110E+00 0.509525E-01 0.177279E+00 + 5614 -0.410922E+00 0.737405E-01 0.408952E+00 + 5615 -0.322985E+00 0.592886E-01 0.275326E+00 + 5616 -0.384597E+00 0.418866E-01 0.339842E+00 + 5617 -0.151051E+00 0.249820E+00 0.399772E-01 + 5618 -0.209350E+00 0.211084E+00 0.516858E-01 + 5619 -0.809319E-01 0.357854E+00 0.373950E+00 + 5620 -0.227626E+00 0.178680E+00 0.388716E+00 + 5621 -0.307032E+00 0.112307E+00 0.399667E+00 + 5622 0.187681E+00 0.653728E+00 -0.128921E-06 + 5623 0.264006E+00 0.742910E+00 -0.128921E-06 + 5624 0.178644E+00 0.551102E+00 0.374014E-01 + 5625 0.180320E+00 0.601603E+00 0.183085E+00 + 5626 0.169756E+00 0.510652E+00 0.221379E+00 + 5627 0.712181E-01 0.477735E+00 0.277685E+00 + 5628 0.249662E+00 0.628232E+00 0.108796E+00 + 5629 0.793001E-01 0.420179E+00 0.125619E+00 + 5630 0.423742E-01 0.483863E+00 0.374871E+00 + 5631 0.330686E+00 0.893998E+00 -0.128921E-06 + 5632 0.325613E+00 0.774260E+00 0.486546E-01 + 5633 0.281858E+00 0.690792E+00 0.957152E-01 + 5634 0.380000E+00 0.100000E+01 -0.128921E-06 + 5635 0.449999E+00 0.912477E+00 0.814420E-01 + 5636 0.380001E+00 0.100000E+01 0.246758E+00 + 5637 0.416827E+00 0.865385E+00 0.258176E+00 + 5638 0.316972E+00 0.747983E+00 0.302355E+00 + 5639 0.306831E+00 0.607738E+00 0.197963E+00 + 5640 0.218971E+00 0.602594E+00 0.270905E+00 + 5641 0.422102E+00 0.750269E+00 0.129690E+00 + 5642 0.450723E+00 0.766098E+00 0.248830E+00 + 5643 0.377442E+00 0.687134E+00 0.228621E+00 + 5644 0.340186E+00 0.931177E+00 0.440765E+00 + 5645 0.350609E+00 0.831969E+00 0.500000E+00 + 5646 0.420495E+00 0.836044E+00 0.375398E+00 + 5647 0.920524E-01 0.552261E+00 0.456455E+00 + 5648 0.154911E+00 0.584474E+00 0.408174E+00 + 5649 0.129315E+00 0.660702E+00 0.500000E+00 + 5650 0.239669E+00 0.612525E+00 0.454577E+00 + 5651 0.309808E+00 0.656567E+00 0.332285E+00 + 5652 0.238659E+00 0.581481E+00 0.360673E+00 + 5653 0.202821E+00 0.539276E+00 0.389806E+00 + 5654 0.321962E+00 0.701223E+00 0.432696E+00 + 5655 0.264009E+00 0.742911E+00 0.500000E+00 + 5656 -0.443452E+00 0.101174E+00 0.468113E+00 + 5657 0.206464E-01 0.426248E+00 0.463272E+00 + 5658 -0.493823E+00 0.331681E-01 -0.128921E-06 + 5659 -0.383927E+00 0.109100E+00 -0.128921E-06 + 5660 -0.500000E+00 -0.128921E-06 -0.128921E-06 + 5661 -0.472204E+00 0.107747E-01 0.116542E+00 + 5662 -0.413784E+00 0.322750E-01 0.175759E+00 + 5663 -0.413820E+00 0.322627E-01 0.309830E+00 + 5664 -0.413783E+00 0.322757E-01 0.244017E+00 + 5665 -0.471097E+00 0.111998E-01 0.428585E+00 + 5666 -0.530475E+00 -0.128921E-06 0.500000E+00 + 5667 -0.493823E+00 0.331685E-01 0.500000E+00 + 5668 -0.447440E+00 0.677414E-01 0.400398E-01 + 5669 -0.412756E+00 0.134892E+00 -0.128921E-06 + 5670 -0.381579E+00 0.168945E+00 0.326576E-01 + 5671 -0.400804E+00 0.103571E+00 0.722753E-01 + 5672 -0.355296E+00 0.226299E+00 -0.128921E-06 + 5673 -0.315177E+00 0.192579E+00 0.106282E+00 + 5674 -0.319374E+00 0.131009E+00 0.140917E+00 + 5675 -0.259221E+00 0.288386E+00 0.500000E+00 + 5676 -0.174074E+00 0.331696E+00 0.453562E+00 + 5677 -0.131962E+00 0.337123E+00 0.383539E+00 + 5678 -0.166186E+00 0.312909E+00 0.312285E+00 + 5679 -0.512845E-01 0.464733E+00 0.460257E+00 + 5680 -0.567727E-01 0.397240E+00 0.417066E+00 + 5681 -0.114307E+00 0.432158E+00 0.500000E+00 + 5682 -0.854093E-02 0.451582E+00 0.341254E+00 + 5683 -0.432165E-01 0.388497E+00 0.285507E+00 + 5684 -0.109597E+00 0.376758E+00 0.461652E+00 + 5685 -0.355296E+00 0.226299E+00 0.500000E+00 + 5686 -0.291003E+00 0.230371E+00 0.465792E+00 + 5687 -0.364831E+00 0.185093E+00 0.442923E+00 + 5688 -0.435298E+00 0.200883E+00 0.500000E+00 + 5689 -0.172342E+00 0.270982E+00 0.205226E+00 + 5690 -0.213972E+00 0.262749E+00 0.277368E+00 + 5691 -0.114725E+00 0.329580E+00 0.168680E+00 + 5692 -0.726260E-01 0.412768E+00 0.158150E+00 + 5693 -0.808001E-01 0.385050E+00 0.994589E-01 + 5694 -0.149558E-01 0.400703E+00 0.219737E+00 + 5695 -0.648403E-01 0.435576E+00 -0.128921E-06 + 5696 -0.234723E-01 0.480333E+00 0.415284E-01 + 5697 -0.129142E-01 0.418556E+00 0.127639E+00 + 5698 0.871802E-01 0.512685E+00 0.882348E-01 + 5699 0.899813E-01 0.521971E+00 -0.128921E-06 + 5700 0.569632E-01 0.447900E+00 0.182914E+00 + 5701 -0.850330E-01 0.365012E+00 0.380083E-01 + 5702 -0.171327E+00 0.303288E+00 -0.128921E-06 + 5703 0.602817E-01 0.521451E+00 0.300390E+00 + 5704 0.126369E+00 0.558701E+00 0.354643E+00 + 5705 -0.227174E+00 0.242646E+00 0.907940E-01 + 5706 -0.205095E+00 0.229482E+00 0.175197E+00 + 5707 -0.274477E+00 0.193537E+00 0.160216E+00 + 5708 -0.267752E+00 0.177724E+00 0.243793E+00 + 5709 -0.251571E+00 0.194765E+00 0.343616E+00 + 5710 -0.321456E+00 0.132504E+00 0.338848E+00 + 5711 -0.374081E+00 0.132591E+00 0.366309E+00 + 5712 -0.258471E+00 0.111915E+00 0.302736E+00 + 5713 -0.333282E+00 0.100005E+00 0.232912E+00 + 5714 -0.279007E+00 0.185868E+00 0.338615E-01 + 5715 -0.409943E+00 0.147747E+00 0.467110E+00 + 5716 -0.342919E+00 0.139272E+00 0.427620E+00 + 5717 -0.353942E+00 0.509996E-01 0.308726E+00 + 5718 -0.489483E+00 0.110185E+00 0.500000E+00 + 5719 -0.127784E+00 0.284511E+00 0.917416E-01 + 5720 -0.158850E+00 0.204787E+00 0.335936E-01 + 5721 -0.965023E-01 0.300619E+00 0.305421E+00 + 5722 -0.199156E+00 0.247023E+00 0.438049E+00 + 5723 -0.236577E+00 0.176877E+00 0.423305E+00 + 5724 -0.147998E+00 0.243185E+00 0.382750E+00 + 5725 0.224641E+00 0.698272E+00 -0.128921E-06 + 5726 0.153002E+00 0.609418E+00 -0.128921E-06 + 5727 0.156727E+00 0.539060E+00 0.247706E+00 + 5728 0.166634E+00 0.546536E+00 0.104448E+00 + 5729 0.148963E+00 0.484895E+00 0.204047E+00 + 5730 0.225857E+00 0.621747E+00 0.159859E+00 + 5731 0.209655E+00 0.606854E+00 0.830141E-01 + 5732 0.677243E-01 0.441106E+00 0.387380E-01 + 5733 0.343333E+00 0.847846E+00 0.550370E-01 + 5734 0.291023E+00 0.719723E+00 0.488958E-01 + 5735 0.383788E+00 0.941373E+00 -0.128921E-06 + 5736 0.450004E+00 0.939462E+00 0.175999E+00 + 5737 0.424682E+00 0.832948E+00 0.125881E+00 + 5738 0.299104E+00 0.660260E+00 0.160330E+00 + 5739 0.343146E+00 0.792943E+00 0.299798E+00 + 5740 0.307535E+00 0.686699E+00 0.244945E+00 + 5741 0.398323E+00 0.726334E+00 0.969763E-01 + 5742 0.422381E+00 0.703319E+00 0.247744E+00 + 5743 0.380000E+00 0.100000E+01 0.500000E+00 + 5744 0.330689E+00 0.893998E+00 0.500000E+00 + 5745 0.373724E+00 0.835360E+00 0.409822E+00 + 5746 0.450016E+00 0.909546E+00 0.331937E+00 + 5747 0.139394E+00 0.595245E+00 0.456339E+00 + 5748 0.247674E+00 0.605961E+00 0.310041E+00 + 5749 0.337936E+00 0.706045E+00 0.366737E+00 + 5750 0.187684E+00 0.653729E+00 0.500000E+00 + 5751 0.272659E+00 0.600708E+00 0.409745E+00 + 5752 0.284035E+00 0.686864E+00 0.500000E+00 + 5753 0.333196E+00 0.762880E+00 0.449604E+00 + 5754 0.135575E+00 0.452596E+00 0.277965E+00 + 5755 0.656947E-01 0.569347E+00 0.500000E+00 + 5756 0.710378E-01 0.492726E+00 0.457430E+00 + 5757 0.426201E+00 0.749309E+00 0.370764E+00 + 5758 -0.435412E+00 0.737840E-01 0.462346E+00 + 5759 -0.368067E+00 0.809988E-01 0.432550E+00 + 5760 0.535202E-01 0.413778E+00 0.428113E+00 + 5761 -0.467343E+00 0.126395E-01 -0.128921E-06 + 5762 -0.487530E+00 0.549409E-01 0.467295E+00 + 5763 -0.500000E+00 -0.128921E-06 0.500000E+00 + 5764 -0.439454E+00 0.665214E-01 0.761579E-01 + 5765 -0.390537E+00 0.130318E+00 0.316720E-01 + 5766 -0.365403E+00 0.186018E+00 -0.128921E-06 + 5767 -0.280130E+00 0.208913E+00 0.121305E+00 + 5768 -0.359758E+00 0.122666E+00 0.114542E+00 + 5769 -0.320121E+00 0.147062E+00 0.202465E+00 + 5770 -0.211141E+00 0.289929E+00 0.468547E+00 + 5771 -0.131972E+00 0.372581E+00 0.415109E+00 + 5772 -0.141046E+00 0.340121E+00 0.289256E+00 + 5773 -0.235922E-01 0.440268E+00 0.441223E+00 + 5774 -0.447555E-01 0.408052E+00 0.347214E+00 + 5775 0.110837E-01 0.454127E+00 0.280844E+00 + 5776 -0.868103E-01 0.392248E+00 0.500000E+00 + 5777 -0.143002E+00 0.332918E+00 0.463790E+00 + 5778 -0.314409E+00 0.237294E+00 0.500000E+00 + 5779 -0.365402E+00 0.186019E+00 0.500000E+00 + 5780 -0.267778E+00 0.222549E+00 0.420698E+00 + 5781 -0.197535E+00 0.299755E+00 0.291939E+00 + 5782 -0.224471E+00 0.244647E+00 0.217250E+00 + 5783 -0.148518E+00 0.299046E+00 0.209975E+00 + 5784 -0.691541E-01 0.413652E+00 0.116145E+00 + 5785 -0.233431E-01 0.433737E+00 0.171537E+00 + 5786 -0.740621E-02 0.398604E+00 0.259778E+00 + 5787 -0.591591E-01 0.357101E+00 0.168933E+00 + 5788 -0.151729E-01 0.437104E+00 -0.128921E-06 + 5789 0.349712E-01 0.441733E+00 0.904315E-01 + 5790 0.124299E+00 0.519058E+00 0.428262E-01 + 5791 -0.936590E-01 0.361644E+00 0.711143E-01 + 5792 -0.107381E+00 0.349877E+00 -0.128921E-06 + 5793 -0.109638E+00 0.322071E+00 0.126059E+00 + 5794 0.776312E-01 0.518130E+00 0.347288E+00 + 5795 -0.156579E+00 0.248704E+00 0.157590E+00 + 5796 -0.184574E+00 0.256300E+00 0.840178E-01 + 5797 -0.265910E+00 0.183507E+00 0.195005E+00 + 5798 -0.280284E+00 0.152064E+00 0.276096E+00 + 5799 -0.222634E+00 0.192686E+00 0.321845E+00 + 5800 -0.331169E+00 0.141331E+00 0.374609E+00 + 5801 -0.327485E+00 0.973291E-01 0.301774E+00 + 5802 -0.365085E+00 0.910014E-01 0.199733E+00 + 5803 -0.384131E+00 0.420320E-01 0.143642E+00 + 5804 -0.386731E+00 0.799289E-01 0.369700E+00 + 5805 -0.384120E+00 0.420356E-01 0.276915E+00 + 5806 -0.442942E+00 0.218332E-01 0.399813E+00 + 5807 -0.450729E+00 0.122144E+00 0.500000E+00 + 5808 -0.147586E+00 0.293289E+00 0.359977E-01 + 5809 -0.187978E+00 0.262460E+00 -0.128921E-06 + 5810 -0.240547E+00 0.191959E+00 0.332095E-01 + 5811 -0.986673E-01 0.311405E+00 0.355169E+00 + 5812 -0.251559E+00 0.137907E+00 0.368879E+00 + 5813 -0.309858E+00 0.139447E+00 0.429221E+00 + 5814 -0.159201E+00 0.271473E+00 0.342154E+00 + 5815 -0.167230E+00 0.256309E+00 0.421602E+00 + 5816 0.200721E+00 0.619310E+00 0.463286E-01 + 5817 0.247662E+00 0.694063E+00 0.471109E-01 + 5818 0.166299E+00 0.589829E+00 0.300288E+00 + 5819 0.111152E+00 0.479377E+00 0.212720E+00 + 5820 0.166809E+00 0.533691E+00 0.159616E+00 + 5821 0.253482E+00 0.579101E+00 0.134940E+00 + 5822 0.251262E+00 0.669658E+00 0.129145E+00 + 5823 0.231612E+00 0.608648E+00 0.213193E+00 + 5824 0.174916E+00 0.559320E+00 -0.128921E-06 + 5825 0.613844E-01 0.479035E+00 -0.128921E-06 + 5826 0.104780E+00 0.448254E+00 0.129009E+00 + 5827 0.305903E+00 0.787493E+00 -0.128921E-06 + 5828 0.414998E+00 0.100000E+01 0.122166E+00 + 5829 0.378648E+00 0.891558E+00 0.626647E-01 + 5830 0.414879E+00 0.892634E+00 0.185616E+00 + 5831 0.336115E+00 0.718931E+00 0.105012E+00 + 5832 0.290826E+00 0.684707E+00 0.308233E+00 + 5833 0.393638E+00 0.754451E+00 0.295798E+00 + 5834 0.335074E+00 0.635620E+00 0.199591E+00 + 5835 0.423164E+00 0.765847E+00 0.184347E+00 + 5836 0.306077E+00 0.958162E+00 0.500000E+00 + 5837 0.415014E+00 0.100000E+01 0.374554E+00 + 5838 0.372212E+00 0.875488E+00 0.446875E+00 + 5839 0.123236E+00 0.537079E+00 0.408485E+00 + 5840 0.183259E+00 0.621612E+00 0.454329E+00 + 5841 0.292588E+00 0.603047E+00 0.348795E+00 + 5842 0.234419E+00 0.549371E+00 0.411796E+00 + 5843 0.294743E+00 0.650795E+00 0.452526E+00 + 5844 0.364637E+00 0.785273E+00 0.417294E+00 + 5845 0.305906E+00 0.787493E+00 0.500000E+00 + 5846 0.964426E-01 0.614763E+00 0.500000E+00 + 5847 0.369332E-01 0.524548E+00 0.500000E+00 + 5848 0.391771E-01 0.438867E+00 0.379633E+00 + 5849 -0.396599E+00 0.944696E-01 0.459528E+00 + 5850 0.600589E-01 0.450073E+00 0.459527E+00 + 5851 0.841706E-01 0.479680E+00 0.424285E+00 + 5852 -0.420729E+00 0.971174E-01 -0.128921E-06 + 5853 -0.463984E+00 0.476095E-01 -0.128921E-06 + 5854 -0.327844E+00 0.148544E+00 0.886905E-01 + 5855 -0.355206E+00 0.918524E-01 0.144638E+00 + 5856 -0.215555E+00 0.296571E+00 0.500000E+00 + 5857 -0.718073E-01 0.351730E+00 0.277892E+00 + 5858 -0.648388E-01 0.435576E+00 0.500000E+00 + 5859 -0.107380E+00 0.349878E+00 0.500000E+00 + 5860 -0.381579E+00 0.168946E+00 0.467342E+00 + 5861 -0.272890E+00 0.247007E+00 0.500000E+00 + 5862 -0.157399E+00 0.314438E+00 0.253095E+00 + 5863 -0.587541E-01 0.382764E+00 0.209273E+00 + 5864 -0.478943E-01 0.408722E+00 0.396398E-01 + 5865 0.100203E-01 0.480445E+00 -0.128921E-06 + 5866 0.874610E-01 0.461765E+00 0.816580E-01 + 5867 -0.104509E+00 0.316959E+00 0.458783E-01 + 5868 -0.255312E+00 0.200730E+00 0.791225E-01 + 5869 -0.236377E+00 0.204865E+00 0.214702E+00 + 5870 -0.294852E+00 0.181721E+00 0.430405E+00 + 5871 -0.247773E+00 0.171464E+00 0.277435E+00 + 5872 -0.364900E+00 0.901982E-01 0.329180E+00 + 5873 -0.301420E+00 0.103989E+00 0.322707E+00 + 5874 -0.279963E+00 0.151610E+00 0.215227E+00 + 5875 -0.200729E+00 0.233344E+00 0.301009E+00 + 5876 -0.325847E+00 0.197019E+00 -0.128921E-06 + 5877 -0.375563E+00 0.132738E+00 0.399500E+00 + 5878 -0.413973E+00 0.322102E-01 0.108559E+00 + 5879 -0.384090E+00 0.420450E-01 0.210105E+00 + 5880 -0.414107E+00 0.321637E-01 0.370147E+00 + 5881 -0.154968E+00 0.238908E+00 0.944048E-01 + 5882 -0.144767E+00 0.268092E+00 -0.128921E-06 + 5883 -0.244957E+00 0.215387E+00 -0.128921E-06 + 5884 -0.956804E-01 0.384581E+00 0.413404E+00 + 5885 -0.190656E+00 0.294537E+00 0.434500E+00 + 5886 -0.201661E+00 0.214961E+00 0.380776E+00 + 5887 -0.136948E+00 0.284402E+00 0.379046E+00 + 5888 0.241333E+00 0.656661E+00 0.582738E-01 + 5889 0.146892E+00 0.516303E+00 0.960626E-01 + 5890 0.203273E+00 0.563148E+00 0.148867E+00 + 5891 0.137122E+00 0.508800E+00 0.259632E+00 + 5892 0.142793E+00 0.517258E+00 -0.128921E-06 + 5893 0.228385E-01 0.427792E+00 0.149583E+00 + 5894 0.282003E-01 0.424957E+00 0.258536E+00 + 5895 0.584363E-01 0.456326E+00 0.329412E+00 + 5896 0.350606E+00 0.831968E+00 -0.128921E-06 + 5897 0.375577E+00 0.836697E+00 0.905874E-01 + 5898 0.415007E+00 0.909543E+00 0.289351E+00 + 5899 0.420307E+00 0.826926E+00 0.211621E+00 + 5900 0.371443E+00 0.722664E+00 0.273205E+00 + 5901 0.272587E+00 0.620415E+00 0.148786E+00 + 5902 0.260076E+00 0.626946E+00 0.250408E+00 + 5903 0.379680E+00 0.724146E+00 0.168734E+00 + 5904 0.359628E+00 0.762649E+00 0.366041E+00 + 5905 0.187366E+00 0.607212E+00 0.350509E+00 + 5906 0.926068E-01 0.515324E+00 0.404386E+00 + 5907 0.200159E+00 0.553725E+00 0.259641E+00 + 5908 0.245423E+00 0.644248E+00 0.500000E+00 + 5909 0.167244E+00 0.544427E+00 0.410498E+00 + 5910 0.327900E+00 0.646873E+00 0.394838E+00 + 5911 0.325034E+00 0.729395E+00 0.500000E+00 + 5912 0.153004E+00 0.609418E+00 0.500000E+00 + 5913 0.100221E-01 0.480445E+00 0.500000E+00 + 5914 0.450014E+00 0.910758E+00 0.416356E+00 + 5915 -0.446426E+00 0.595896E-01 0.428795E+00 + 5916 -0.458897E+00 0.842597E-01 0.500000E+00 + 5917 0.262123E-02 0.403002E+00 0.420823E+00 + 5918 0.607378E-01 0.452724E+00 0.420060E+00 + 5919 -0.388953E+00 0.728016E-01 0.269171E-01 + 5920 -0.320082E+00 0.174249E+00 0.327091E-01 + 5921 -0.153569E+00 0.345186E+00 0.500000E+00 + 5922 -0.118607E+00 0.349280E+00 0.443305E+00 + 5923 -0.872107E-01 0.339372E+00 0.226922E+00 + 5924 -0.270374E-01 0.397867E+00 0.877668E-01 + 5925 -0.126663E+00 0.308487E+00 -0.128921E-06 + 5926 -0.879562E-01 0.326189E+00 0.997868E-01 + 5927 -0.230440E+00 0.206273E+00 0.125282E+00 + 5928 -0.344826E+00 0.163446E+00 0.447134E+00 + 5929 -0.242087E+00 0.147722E+00 0.314600E+00 + 5930 -0.297301E+00 0.104360E+00 0.277443E+00 + 5931 -0.332980E+00 0.995068E-01 0.189222E+00 + 5932 -0.278516E+00 0.159898E+00 0.172657E+00 + 5933 -0.404404E+00 0.173856E+00 0.500000E+00 + 5934 -0.353833E+00 0.510302E-01 0.243527E+00 + 5935 -0.125120E+00 0.275722E+00 0.132485E+00 + 5936 -0.161793E+00 0.228700E+00 -0.128921E-06 + 5937 -0.169542E+00 0.200709E+00 0.725302E-01 + 5938 -0.585449E-01 0.337574E+00 0.324956E+00 + 5939 -0.214515E+00 0.205185E+00 0.438736E+00 + 5940 -0.265965E+00 0.167659E+00 0.409730E+00 + 5941 -0.295747E+00 0.111124E+00 0.366143E+00 + 5942 -0.179259E+00 0.265437E+00 0.296793E+00 + 5943 0.191531E+00 0.552624E+00 0.212753E+00 + 5944 0.180152E-01 0.464119E+00 0.393702E-01 + 5945 0.216961E+00 0.551152E+00 0.937449E-01 + 5946 0.263018E+00 0.644172E+00 0.298072E+00 + 5947 0.378737E+00 0.751799E+00 0.482820E-01 + 5948 0.428405E+00 0.798688E+00 0.285085E+00 + 5949 0.366811E+00 0.672685E+00 0.159162E+00 + 5950 0.215438E+00 0.579138E+00 0.318054E+00 + 5951 0.204277E+00 0.570656E+00 0.455878E+00 + 5952 0.355749E+00 0.723256E+00 0.411330E+00 + 5953 0.115153E+00 0.492237E+00 0.300211E+00 + 5954 0.689537E-01 0.425922E+00 0.219073E+00 + 5955 -0.334191E+00 0.141207E+00 0.369791E-01 + 5956 -0.358628E-01 0.362696E+00 0.250671E+00 + 5957 -0.203618E+00 0.222702E+00 -0.128921E-06 + 5958 -0.104202E+00 0.353694E+00 0.400533E+00 + 5959 0.429548E+00 0.818659E+00 0.632962E-01 + 5960 0.204688E+00 0.563204E+00 0.358374E+00 + 5961 0.908583E-01 0.472942E+00 0.319144E+00 + 5962 -0.434143E+00 0.250573E-01 -0.128921E-06 + 5963 -0.467343E+00 0.126395E-01 0.500000E+00 + 5964 -0.382669E+00 0.424882E-01 0.725536E-01 + 5965 -0.374930E+00 0.146962E+00 -0.128921E-06 + 5966 -0.350250E+00 0.104483E+00 0.270938E-01 + 5967 -0.264202E+00 0.158479E+00 0.108983E+00 + 5968 -0.285874E+00 0.133754E+00 0.532464E-01 + 5969 -0.317578E+00 0.100152E+00 0.946050E-01 + 5970 -0.297774E+00 0.167783E+00 -0.128921E-06 + 5971 -0.279085E+00 0.105418E+00 0.186918E+00 + 5972 -0.244957E+00 0.215388E+00 0.500000E+00 + 5973 -0.184462E+00 0.237954E+00 0.465520E+00 + 5974 -0.171326E+00 0.303288E+00 0.500000E+00 + 5975 -0.126758E+00 0.271869E+00 0.423772E+00 + 5976 -0.108348E+00 0.271689E+00 0.347681E+00 + 5977 -0.113292E+00 0.306686E+00 0.265577E+00 + 5978 -0.211845E-01 0.394503E+00 0.461783E+00 + 5979 0.372499E-02 0.388735E+00 0.361815E+00 + 5980 -0.595753E-01 0.335480E+00 0.428236E+00 + 5981 -0.509357E-02 0.347284E+00 0.269560E+00 + 5982 -0.609058E-01 0.352912E+00 0.500000E+00 + 5983 -0.336626E+00 0.157946E+00 0.500000E+00 + 5984 -0.172909E+00 0.222491E+00 0.248676E+00 + 5985 -0.122726E+00 0.262714E+00 0.184364E+00 + 5986 -0.239510E+00 0.144910E+00 0.249219E+00 + 5987 -0.189852E+00 0.183135E+00 0.302756E+00 + 5988 -0.412755E+00 0.134893E+00 0.500000E+00 + 5989 -0.743882E-01 0.320493E+00 0.154208E+00 + 5990 -0.389145E-01 0.399965E+00 0.146015E+00 + 5991 -0.602629E-01 0.334029E+00 0.827765E-01 + 5992 -0.387752E-01 0.394579E+00 -0.128921E-06 + 5993 0.338318E-01 0.408577E+00 0.392683E-01 + 5994 0.427277E-01 0.398480E+00 0.130927E+00 + 5995 0.112602E+00 0.475606E+00 -0.128921E-06 + 5996 0.139101E+00 0.467188E+00 0.919460E-01 + 5997 0.112926E+00 0.432298E+00 0.165970E+00 + 5998 -0.816825E-01 0.312134E+00 -0.128921E-06 + 5999 -0.892601E-01 0.258951E+00 0.801668E-01 + 6000 0.169237E+00 0.519045E+00 0.313648E+00 + 6001 0.101159E+00 0.460585E+00 0.374149E+00 + 6002 -0.203356E+00 0.198677E+00 0.867437E-01 + 6003 -0.182925E+00 0.188408E+00 0.173612E+00 + 6004 -0.256601E+00 0.117911E+00 0.336390E+00 + 6005 -0.251387E+00 0.139690E+00 0.452163E+00 + 6006 -0.332148E+00 0.939404E-01 0.386886E+00 + 6007 -0.322813E+00 0.593326E-01 0.337152E+00 + 6008 -0.260686E+00 0.735652E-01 0.273468E+00 + 6009 -0.348716E+00 0.869622E-01 0.472069E+00 + 6010 -0.388068E+00 0.407929E-01 0.392046E+00 + 6011 -0.119592E+00 0.233337E+00 -0.128921E-06 + 6012 -0.218340E+00 0.184009E+00 -0.128921E-06 + 6013 -0.139664E+00 0.167515E+00 0.340389E-01 + 6014 -0.126428E-01 0.285167E+00 0.325204E+00 + 6015 -0.181395E+00 0.172622E+00 0.420049E+00 + 6016 -0.289341E+00 0.102244E+00 0.466104E+00 + 6017 -0.114271E+00 0.196346E+00 0.421128E+00 + 6018 0.245420E+00 0.644248E+00 -0.128921E-06 + 6019 0.325031E+00 0.729395E+00 -0.128921E-06 + 6020 0.296742E+00 0.653310E+00 0.958380E-01 + 6021 0.195204E+00 0.510436E+00 -0.128921E-06 + 6022 0.153259E+00 0.465530E+00 0.239562E+00 + 6023 0.202068E+00 0.496817E+00 0.124016E+00 + 6024 0.241465E+00 0.545597E+00 0.204735E+00 + 6025 0.941246E-01 0.422599E+00 0.285452E+00 + 6026 0.258197E+00 0.589950E+00 0.785252E-01 + 6027 0.310179E+00 0.564903E+00 0.150629E+00 + 6028 0.107270E+00 0.375815E+00 0.847424E-01 + 6029 0.398894E+00 0.876889E+00 -0.128921E-06 + 6030 0.450000E+00 0.100000E+01 -0.128921E-06 + 6031 0.450006E+00 0.100000E+01 0.246742E+00 + 6032 0.526265E+00 0.857210E+00 0.614674E-01 + 6033 0.546276E+00 0.906830E+00 0.207508E+00 + 6034 0.477816E+00 0.764525E+00 0.135281E+00 + 6035 0.493234E+00 0.767090E+00 0.226387E+00 + 6036 0.399395E+00 0.655491E+00 0.942497E-01 + 6037 0.366454E+00 0.676796E+00 0.290083E+00 + 6038 0.457094E+00 0.721759E+00 0.307834E+00 + 6039 0.331327E+00 0.557633E+00 0.225741E+00 + 6040 0.430349E+00 0.753441E+00 -0.128921E-06 + 6041 0.501660E+00 0.842147E+00 0.360945E+00 + 6042 0.448847E+00 0.659462E+00 0.208792E+00 + 6043 0.383790E+00 0.941373E+00 0.500000E+00 + 6044 0.416470E+00 0.814393E+00 0.500000E+00 + 6045 0.130045E+00 0.498072E+00 0.451599E+00 + 6046 0.120480E+00 0.565464E+00 0.500000E+00 + 6047 0.263333E+00 0.560124E+00 0.312142E+00 + 6048 0.395206E+00 0.671911E+00 0.393162E+00 + 6049 0.209088E+00 0.601689E+00 0.500000E+00 + 6050 0.258447E+00 0.561017E+00 0.456145E+00 + 6051 0.302323E+00 0.632342E+00 0.500000E+00 + 6052 0.334806E+00 0.594726E+00 0.365599E+00 + 6053 0.195206E+00 0.510436E+00 0.500000E+00 + 6054 0.276868E+00 0.495644E+00 0.407950E+00 + 6055 0.384860E+00 0.713342E+00 0.500000E+00 + 6056 0.668438E-01 0.363087E+00 0.201300E+00 + 6057 0.613858E-01 0.479035E+00 0.500000E+00 + 6058 0.502030E+00 0.934451E+00 0.500000E+00 + 6059 -0.400268E+00 0.368437E-01 0.500000E+00 + 6060 0.575489E-01 0.393876E+00 0.500000E+00 + 6061 0.654859E-01 0.379190E+00 0.422706E+00 + 6062 -0.392393E+00 0.724038E-01 -0.128921E-06 + 6063 -0.414605E+00 0.319916E-01 0.507800E-01 + 6064 -0.445027E+00 0.210610E-01 0.452230E+00 + 6065 -0.336626E+00 0.157945E+00 -0.128921E-06 + 6066 -0.374294E+00 0.861939E-01 0.506962E-01 + 6067 -0.280998E+00 0.148771E+00 0.141230E+00 + 6068 -0.261088E+00 0.153931E+00 0.673976E-01 + 6069 -0.306377E+00 0.101948E+00 0.622972E-01 + 6070 -0.357045E+00 0.501198E-01 0.120056E+00 + 6071 -0.199930E+00 0.199009E+00 0.466576E+00 + 6072 -0.230724E+00 0.255414E+00 0.500000E+00 + 6073 -0.176558E+00 0.288059E+00 0.465418E+00 + 6074 -0.986525E-01 0.310663E+00 0.406117E+00 + 6075 -0.127673E+00 0.279120E+00 0.299898E+00 + 6076 -0.621633E-01 0.379914E+00 0.461559E+00 + 6077 -0.151714E-01 0.437105E+00 0.500000E+00 + 6078 -0.204670E-01 0.365870E+00 0.388122E+00 + 6079 0.426914E-01 0.418982E+00 0.319606E+00 + 6080 -0.956847E-01 0.296123E+00 0.210523E+00 + 6081 -0.138131E-01 0.319249E+00 0.293113E+00 + 6082 -0.816814E-01 0.312134E+00 0.500000E+00 + 6083 -0.312769E+00 0.190904E+00 0.470497E+00 + 6084 -0.374930E+00 0.146963E+00 0.500000E+00 + 6085 -0.140714E+00 0.220517E+00 0.198499E+00 + 6086 -0.208585E+00 0.183766E+00 0.210903E+00 + 6087 -0.178522E+00 0.208991E+00 0.281439E+00 + 6088 -0.546519E-01 0.345976E+00 0.128188E+00 + 6089 0.173455E-02 0.388647E+00 0.174024E+00 + 6090 0.274003E-02 0.313657E+00 0.206499E+00 + 6091 -0.145490E-01 0.381324E+00 0.384886E-01 + 6092 0.345608E-01 0.436731E+00 -0.128921E-06 + 6093 0.119338E+00 0.458806E+00 0.392420E-01 + 6094 0.570971E-01 0.382610E+00 0.846352E-01 + 6095 0.151484E+00 0.446535E+00 0.144008E+00 + 6096 0.138424E+00 0.445423E+00 0.201699E+00 + 6097 0.747602E-01 0.417959E+00 0.168577E+00 + 6098 -0.609069E-01 0.352911E+00 -0.128921E-06 + 6099 -0.617083E-01 0.285266E+00 0.813520E-01 + 6100 -0.101210E+00 0.272270E+00 -0.128921E-06 + 6101 0.113909E+00 0.511079E+00 0.352230E+00 + 6102 -0.167870E+00 0.188564E+00 0.142639E+00 + 6103 -0.196937E+00 0.167934E+00 0.334924E+00 + 6104 -0.257729E+00 0.114155E+00 0.243682E+00 + 6105 -0.355613E+00 0.505270E-01 0.377102E+00 + 6106 -0.290632E+00 0.670826E-01 0.369889E+00 + 6107 -0.291888E+00 0.667953E-01 0.304267E+00 + 6108 -0.229671E+00 0.795339E-01 0.309395E+00 + 6109 -0.322988E+00 0.592879E-01 0.210171E+00 + 6110 -0.270974E+00 0.138678E+00 -0.128921E-06 + 6111 -0.420729E+00 0.971182E-01 0.500000E+00 + 6112 -0.129136E+00 0.217269E+00 0.576042E-01 + 6113 -0.817383E-01 0.235530E+00 0.136640E+00 + 6114 -0.196381E+00 0.175751E+00 0.327901E-01 + 6115 -0.687005E-01 0.281728E+00 0.345579E+00 + 6116 -0.225216E+00 0.125904E+00 0.417215E+00 + 6117 -0.309277E+00 0.626931E-01 0.439848E+00 + 6118 -0.101163E+00 0.246777E+00 0.431586E+00 + 6119 0.209086E+00 0.601689E+00 -0.128921E-06 + 6120 0.284032E+00 0.686863E+00 -0.128921E-06 + 6121 0.252627E+00 0.530990E+00 0.429792E-01 + 6122 0.190914E+00 0.481133E+00 0.414370E-01 + 6123 0.190361E+00 0.493356E+00 0.247150E+00 + 6124 0.246479E+00 0.533441E+00 0.140433E+00 + 6125 0.278731E+00 0.602729E+00 0.111679E+00 + 6126 0.250491E+00 0.569289E+00 0.264492E+00 + 6127 0.416468E+00 0.814393E+00 -0.128921E-06 + 6128 0.357046E+00 0.715122E+00 0.631090E-01 + 6129 0.442065E+00 0.921558E+00 -0.128921E-06 + 6130 0.485000E+00 0.100000E+01 0.122160E+00 + 6131 0.476833E+00 0.845851E+00 0.146999E+00 + 6132 0.473363E+00 0.922464E+00 0.272234E+00 + 6133 0.363185E+00 0.726077E+00 0.325272E+00 + 6134 0.312906E+00 0.652370E+00 0.282065E+00 + 6135 0.415576E+00 0.655362E+00 0.311131E+00 + 6136 0.331880E+00 0.559416E+00 0.183020E+00 + 6137 0.470917E+00 0.722070E+00 0.480570E-01 + 6138 0.430880E+00 0.682335E+00 0.163547E+00 + 6139 0.517353E+00 0.782169E+00 0.310004E+00 + 6140 0.406083E+00 0.618732E+00 0.226465E+00 + 6141 0.381390E+00 0.614708E+00 0.120968E+00 + 6142 0.450000E+00 0.100000E+01 0.500000E+00 + 6143 0.398897E+00 0.876889E+00 0.500000E+00 + 6144 0.368649E+00 0.771753E+00 0.500000E+00 + 6145 0.474654E+00 0.831380E+00 0.419347E+00 + 6146 0.146064E+00 0.547347E+00 0.456576E+00 + 6147 0.217829E+00 0.521335E+00 0.333977E+00 + 6148 0.264495E+00 0.591638E+00 0.500000E+00 + 6149 0.324852E+00 0.610268E+00 0.418150E+00 + 6150 0.282749E+00 0.542306E+00 0.419623E+00 + 6151 0.315143E+00 0.558526E+00 0.313755E+00 + 6152 0.220645E+00 0.493414E+00 0.413231E+00 + 6153 0.342406E+00 0.672942E+00 0.500000E+00 + 6154 0.174850E+00 0.446747E+00 0.324146E+00 + 6155 0.110175E+00 0.446781E+00 0.459603E+00 + 6156 0.700327E-01 0.407709E+00 0.384293E+00 + 6157 0.445764E+00 0.715632E+00 0.401868E+00 + 6158 0.331294E-01 0.380979E+00 0.461511E+00 + 6159 -0.463984E+00 0.476099E-01 0.500000E+00 + 6160 -0.428000E+00 0.605144E-01 -0.128921E-06 + 6161 -0.346820E+00 0.120043E+00 -0.128921E-06 + 6162 -0.360099E+00 0.115755E+00 0.703889E-01 + 6163 -0.304769E+00 0.143683E+00 0.344918E-01 + 6164 -0.294452E+00 0.120433E+00 0.109686E+00 + 6165 -0.323440E+00 0.591731E-01 0.136664E+00 + 6166 -0.203618E+00 0.222703E+00 0.500000E+00 + 6167 -0.267403E+00 0.186698E+00 0.466364E+00 + 6168 -0.103184E+00 0.297631E+00 0.463878E+00 + 6169 -0.209275E-01 0.363826E+00 0.440782E+00 + 6170 -0.857621E-02 0.399980E+00 0.301803E+00 + 6171 -0.590425E-01 0.295990E+00 0.293046E+00 + 6172 -0.387737E-01 0.394580E+00 0.500000E+00 + 6173 -0.325847E+00 0.197020E+00 0.500000E+00 + 6174 -0.127600E+00 0.257179E+00 0.235743E+00 + 6175 -0.187052E+00 0.164003E+00 0.266460E+00 + 6176 -0.839249E-01 0.278485E+00 0.156479E+00 + 6177 -0.259829E-01 0.358419E+00 0.193526E+00 + 6178 0.232064E-01 0.379005E+00 0.877826E-01 + 6179 0.938635E-02 0.395124E+00 -0.128921E-06 + 6180 -0.372167E-01 0.340462E+00 0.373272E-01 + 6181 0.842264E-01 0.434453E+00 -0.128921E-06 + 6182 0.150081E+00 0.486718E+00 0.646260E-01 + 6183 0.753761E-01 0.405974E+00 0.673991E-01 + 6184 0.165787E+00 0.470910E+00 0.174746E+00 + 6185 0.401087E-01 0.397740E+00 0.168176E+00 + 6186 -0.994377E-01 0.247257E+00 0.450992E-01 + 6187 -0.290494E-01 0.327166E+00 0.110516E+00 + 6188 0.164911E+00 0.512688E+00 0.380900E+00 + 6189 -0.227916E+00 0.178704E+00 0.726540E-01 + 6190 -0.219612E+00 0.168222E+00 0.159918E+00 + 6191 -0.131243E+00 0.219370E+00 0.159196E+00 + 6192 -0.333172E+00 0.116361E+00 0.466424E+00 + 6193 -0.215872E+00 0.125395E+00 0.333511E+00 + 6194 -0.188684E+00 0.206034E+00 0.338313E+00 + 6195 -0.291761E+00 0.668245E-01 0.243531E+00 + 6196 -0.323355E+00 0.591947E-01 0.391586E+00 + 6197 -0.201347E+00 0.843119E-01 0.266869E+00 + 6198 -0.263840E+00 0.729157E-01 0.325260E+00 + 6199 -0.258344E+00 0.176481E+00 -0.128921E-06 + 6200 -0.383926E+00 0.109100E+00 0.500000E+00 + 6201 -0.377705E+00 0.440196E-01 0.440140E+00 + 6202 -0.177832E+00 0.190314E+00 -0.128921E-06 + 6203 -0.426207E-01 0.309076E+00 0.374783E+00 + 6204 -0.158486E+00 0.222653E+00 0.423659E+00 + 6205 -0.263189E+00 0.119272E+00 0.416547E+00 + 6206 -0.205881E+00 0.147210E+00 0.439073E+00 + 6207 -0.103293E+00 0.212802E+00 0.364059E+00 + 6208 0.234134E+00 0.581429E+00 0.445081E-01 + 6209 0.309585E+00 0.664049E+00 0.471332E-01 + 6210 0.104592E+00 0.413350E+00 0.227735E+00 + 6211 0.264427E+00 0.579912E+00 0.189100E+00 + 6212 0.224731E+00 0.518182E+00 0.224831E+00 + 6213 0.180651E+00 0.467574E+00 0.278627E+00 + 6214 0.283692E+00 0.544182E+00 0.956144E-01 + 6215 0.139268E+00 0.394247E+00 0.136495E+00 + 6216 0.762909E-01 0.419264E+00 0.338967E+00 + 6217 0.368646E+00 0.771753E+00 -0.128921E-06 + 6218 0.502032E+00 0.934450E+00 -0.128921E-06 + 6219 0.520016E+00 0.100000E+01 0.246713E+00 + 6220 0.519361E+00 0.873721E+00 0.166977E+00 + 6221 0.327433E+00 0.625949E+00 0.144579E+00 + 6222 0.348552E+00 0.627730E+00 0.244818E+00 + 6223 0.378551E+00 0.678437E+00 0.336421E+00 + 6224 0.409300E+00 0.688442E+00 0.480775E-01 + 6225 0.484708E+00 0.690757E+00 0.110573E+00 + 6226 0.482853E+00 0.792233E+00 -0.128921E-06 + 6227 0.449051E+00 0.725036E+00 0.211024E+00 + 6228 0.468281E+00 0.778541E+00 0.375778E+00 + 6229 0.471776E+00 0.646318E+00 0.275810E+00 + 6230 0.420439E+00 0.639262E+00 0.167276E+00 + 6231 0.430497E+00 0.851279E+00 0.440564E+00 + 6232 0.899828E-01 0.521972E+00 0.500000E+00 + 6233 0.174918E+00 0.559320E+00 0.500000E+00 + 6234 0.291510E+00 0.580369E+00 0.437806E+00 + 6235 0.273078E+00 0.538826E+00 0.370041E+00 + 6236 0.240236E+00 0.518466E+00 0.456750E+00 + 6237 0.366757E+00 0.649266E+00 0.453240E+00 + 6238 0.345622E-01 0.436731E+00 0.500000E+00 + 6239 0.442066E+00 0.921558E+00 0.500000E+00 + 6240 0.511250E+00 0.894348E+00 0.437496E+00 + 6241 0.107823E+00 0.417377E+00 0.420852E+00 + 6242 -0.365623E+00 0.476390E-01 -0.128921E-06 + 6243 -0.372807E+00 0.873449E-01 0.863581E-01 + 6244 -0.287946E+00 0.107043E+00 0.155922E+00 + 6245 -0.309172E+00 0.129897E+00 -0.128921E-06 + 6246 -0.187977E+00 0.262461E+00 0.500000E+00 + 6247 -0.239115E-01 0.346706E+00 0.328310E+00 + 6248 -0.532421E-01 0.309013E+00 0.239231E+00 + 6249 -0.695354E-01 0.338864E+00 0.463741E+00 + 6250 -0.126663E+00 0.308487E+00 0.500000E+00 + 6251 -0.285710E+00 0.206812E+00 0.500000E+00 + 6252 -0.125496E+00 0.234917E+00 0.271393E+00 + 6253 0.384070E-01 0.390587E+00 0.262385E+00 + 6254 -0.210650E-01 0.331935E+00 0.150117E+00 + 6255 -0.142610E-01 0.353183E+00 0.754289E-01 + 6256 0.112958E+00 0.417697E+00 0.860449E-01 + 6257 0.166568E+00 0.491583E+00 0.114887E+00 + 6258 0.163529E+00 0.470178E+00 -0.128921E-06 + 6259 -0.585241E-01 0.300437E+00 0.362062E-01 + 6260 -0.800117E-01 0.278152E+00 0.111485E+00 + 6261 -0.199475E+00 0.151390E+00 0.121429E+00 + 6262 -0.172678E+00 0.181410E+00 0.211224E+00 + 6263 -0.238988E+00 0.127899E+00 0.207495E+00 + 6264 -0.296054E+00 0.150687E+00 0.462967E+00 + 6265 -0.193358E+00 0.126277E+00 0.280162E+00 + 6266 -0.252009E+00 0.157232E+00 0.371044E-01 + 6267 -0.341309E+00 0.918456E-01 0.423918E+00 + 6268 -0.346820E+00 0.120043E+00 0.500000E+00 + 6269 -0.414099E+00 0.321662E-01 0.434294E+00 + 6270 -0.136926E+00 0.195346E+00 -0.128921E-06 + 6271 -0.893728E-01 0.274983E+00 0.382236E+00 + 6272 -0.143543E+00 0.188938E+00 0.367988E+00 + 6273 -0.214512E+00 0.161105E+00 0.467591E+00 + 6274 -0.251790E+00 0.753554E-01 0.374758E+00 + 6275 -0.135989E+00 0.242443E+00 0.463790E+00 + 6276 0.270745E+00 0.622742E+00 0.458084E-01 + 6277 0.228823E+00 0.550960E+00 -0.128921E-06 + 6278 0.217687E+00 0.491629E+00 0.184289E+00 + 6279 0.294976E+00 0.584330E+00 0.230565E+00 + 6280 0.575475E-01 0.393876E+00 -0.128921E-06 + 6281 0.245442E+00 0.492248E+00 0.932784E-01 + 6282 0.929971E-01 0.363856E+00 0.151120E+00 + 6283 0.476123E+00 0.862553E+00 -0.128921E-06 + 6284 0.520001E+00 0.912481E+00 0.814369E-01 + 6285 0.465891E+00 0.844370E+00 0.210529E+00 + 6286 0.334211E+00 0.639621E+00 0.928799E-01 + 6287 0.372380E+00 0.612502E+00 0.185222E+00 + 6288 0.384857E+00 0.713342E+00 -0.128921E-06 + 6289 0.503996E+00 0.763533E+00 0.868726E-01 + 6290 0.448700E+00 0.654153E+00 0.981632E-01 + 6291 0.485408E+00 0.703536E+00 0.273075E+00 + 6292 0.405313E+00 0.620197E+00 0.280290E+00 + 6293 0.485026E+00 0.100000E+01 0.374516E+00 + 6294 0.443225E+00 0.786689E+00 0.446600E+00 + 6295 0.381327E+00 0.715185E+00 0.369976E+00 + 6296 0.137084E+00 0.491171E+00 0.394839E+00 + 6297 0.219617E+00 0.512190E+00 0.283034E+00 + 6298 0.228825E+00 0.550960E+00 0.500000E+00 + 6299 0.336425E+00 0.572101E+00 0.415439E+00 + 6300 0.184631E+00 0.495362E+00 0.459684E+00 + 6301 0.231186E+00 0.487693E+00 0.374246E+00 + 6302 0.156777E+00 0.406941E+00 0.231844E+00 + 6303 0.129639E+00 0.427461E+00 0.323179E+00 + 6304 0.112604E+00 0.475607E+00 0.500000E+00 + 6305 0.371351E-01 0.387762E+00 0.373193E+00 + 6306 0.541077E+00 0.867850E+00 0.387724E+00 + 6307 -0.392392E+00 0.724045E-01 0.500000E+00 + 6308 -0.434143E+00 0.250573E-01 0.500000E+00 + 6309 0.938743E-02 0.395124E+00 0.500000E+00 + 6310 0.824545E-01 0.406390E+00 0.460780E+00 + 6311 -0.356478E+00 0.832819E-01 -0.128921E-06 + 6312 -0.400268E+00 0.368434E-01 -0.128921E-06 + 6313 -0.325499E+00 0.931340E-01 0.340242E-01 + 6314 0.295359E-01 0.365716E+00 0.214916E+00 + 6315 -0.394858E-01 0.317106E+00 0.178969E+00 + 6316 -0.104767E-01 0.364874E+00 0.121831E+00 + 6317 -0.149597E+00 0.231984E+00 0.321427E+00 + 6318 -0.291116E+00 0.669721E-01 0.181884E+00 + 6319 -0.250426E+00 0.115152E+00 0.136279E+00 + 6320 -0.107294E+00 0.229172E+00 0.108365E+00 + 6321 -0.187064E+00 0.147100E+00 0.714728E-01 + 6322 -0.685814E-01 0.266283E+00 0.256071E+00 + 6323 -0.182409E+00 0.130295E+00 0.379972E+00 + 6324 -0.273791E+00 0.708148E-01 0.436940E+00 + 6325 0.195098E+00 0.510611E+00 0.710840E-01 + 6326 0.187773E+00 0.445934E+00 0.211046E+00 + 6327 0.890057E-01 0.392268E+00 0.389918E-01 + 6328 0.512981E+00 0.842371E+00 0.259971E+00 + 6329 0.294453E+00 0.596826E+00 0.286462E+00 + 6330 0.530649E+00 0.795944E+00 0.491057E-01 + 6331 0.266918E+00 0.537085E+00 0.242058E+00 + 6332 0.372409E+00 0.629494E+00 0.339988E+00 + 6333 0.188847E+00 0.520134E+00 0.428427E+00 + 6334 0.188406E+00 0.482723E+00 0.361287E+00 + 6335 0.331701E+00 0.591065E+00 0.454363E+00 + 6336 0.399910E+00 0.722897E+00 0.449066E+00 + 6337 0.139061E+00 0.392177E+00 0.287943E+00 + 6338 0.466434E+00 0.696337E+00 0.346748E+00 + 6339 0.476123E+00 0.862553E+00 0.500000E+00 + 6340 -0.428000E+00 0.605148E-01 0.500000E+00 + 6341 -0.343549E+00 0.538793E-01 0.441472E+00 + 6342 0.279314E-01 0.351307E+00 0.412382E+00 + 6343 0.842278E-01 0.434454E+00 0.500000E+00 + 6344 0.132814E+00 0.455284E+00 0.411551E+00 + 6345 -0.217060E+00 0.128903E+00 0.145035E+00 + 6346 -0.145801E+00 0.180940E+00 0.966519E-01 + 6347 -0.971701E-01 0.246245E+00 0.318984E+00 + 6348 -0.215231E+00 0.820507E-01 0.375909E+00 + 6349 0.499381E+00 0.787151E+00 0.177453E+00 + 6350 0.520030E+00 0.909555E+00 0.331893E+00 + 6351 0.336405E+00 0.613253E+00 0.283462E+00 + 6352 0.386510E+00 0.601781E+00 0.405730E+00 + 6353 0.136020E+00 0.478152E+00 0.346969E+00 + 6354 0.208189E+00 0.427304E+00 0.277687E+00 + 6355 -0.344834E+00 0.535290E-01 0.668126E-01 + 6356 -0.319983E+00 0.931225E-01 -0.128921E-06 + 6357 -0.262038E+00 0.116840E+00 0.802417E-01 + 6358 -0.205905E+00 0.141756E+00 0.327743E-01 + 6359 -0.262987E+00 0.730921E-01 0.164085E+00 + 6360 -0.218339E+00 0.184010E+00 0.500000E+00 + 6361 -0.151139E+00 0.194010E+00 0.466755E+00 + 6362 -0.144766E+00 0.268092E+00 0.500000E+00 + 6363 -0.297773E+00 0.167784E+00 0.500000E+00 + 6364 -0.605041E-01 0.271921E+00 0.425864E+00 + 6365 -0.457945E-01 0.233670E+00 0.353829E+00 + 6366 -0.142570E-01 0.354269E+00 0.500000E+00 + 6367 0.360451E-01 0.357641E+00 0.315027E+00 + 6368 0.172153E-01 0.293593E+00 0.297483E+00 + 6369 0.460081E-01 0.345918E+00 0.252568E+00 + 6370 -0.905925E-01 0.243605E+00 0.192006E+00 + 6371 -0.574034E-01 0.274971E+00 0.500000E+00 + 6372 -0.145516E+00 0.181626E+00 0.296084E+00 + 6373 -0.536875E-01 0.211902E+00 0.278479E+00 + 6374 -0.125205E+00 0.172169E+00 0.182847E+00 + 6375 -0.183545E+00 0.131984E+00 0.237515E+00 + 6376 -0.174754E-01 0.285639E+00 0.137583E+00 + 6377 -0.364877E-01 0.313176E+00 0.731792E-01 + 6378 0.350533E-01 0.342872E+00 0.155444E+00 + 6379 0.300701E-01 0.276683E+00 0.216767E+00 + 6380 -0.142581E-01 0.354268E+00 -0.128921E-06 + 6381 0.494950E-01 0.352860E+00 0.370251E-01 + 6382 0.133691E+00 0.430284E+00 -0.128921E-06 + 6383 0.186771E+00 0.451202E+00 0.811730E-01 + 6384 0.152353E+00 0.375713E+00 0.901536E-01 + 6385 0.164382E+00 0.417579E+00 0.177452E+00 + 6386 0.214009E+00 0.462786E+00 -0.128921E-06 + 6387 -0.574041E-01 0.274971E+00 -0.128921E-06 + 6388 -0.374007E-01 0.233727E+00 0.699036E-01 + 6389 -0.101727E+00 0.192903E+00 0.319574E-01 + 6390 0.220363E+00 0.474379E+00 0.326848E+00 + 6391 0.159191E+00 0.433013E+00 0.373963E+00 + 6392 -0.179407E+00 0.875666E-01 0.127713E+00 + 6393 -0.214490E+00 0.121125E+00 0.469543E+00 + 6394 -0.319983E+00 0.931229E-01 0.500000E+00 + 6395 -0.191092E+00 0.858815E-01 0.317479E+00 + 6396 -0.245359E+00 0.109772E+00 -0.128921E-06 + 6397 -0.365623E+00 0.476394E-01 0.500000E+00 + 6398 -0.109911E+00 0.141081E+00 0.851049E-01 + 6399 -0.153298E+00 0.158301E+00 -0.128921E-06 + 6400 -0.153928E+00 0.128193E+00 0.419105E+00 + 6401 -0.958463E-01 0.157728E+00 0.355188E+00 + 6402 -0.257822E+00 0.741483E-01 0.500000E+00 + 6403 0.264493E+00 0.591638E+00 -0.128921E-06 + 6404 0.342403E+00 0.672942E+00 -0.128921E-06 + 6405 0.292460E+00 0.476627E+00 0.405254E-01 + 6406 0.232725E+00 0.489304E+00 0.246977E+00 + 6407 0.110109E+00 0.363970E+00 0.222458E+00 + 6408 0.250200E+00 0.458015E+00 0.134961E+00 + 6409 0.292093E+00 0.528888E+00 0.185865E+00 + 6410 0.338245E+00 0.586178E+00 0.954956E-01 + 6411 0.296270E+00 0.538974E+00 0.268329E+00 + 6412 0.119376E+00 0.317859E+00 0.711812E-01 + 6413 0.130989E+00 0.326672E+00 0.133151E+00 + 6414 0.520000E+00 0.100000E+01 -0.128921E-06 + 6415 0.555602E+00 0.886038E+00 -0.128921E-06 + 6416 0.598663E+00 0.881504E+00 0.119266E+00 + 6417 0.590034E+00 0.100000E+01 0.246661E+00 + 6418 0.562297E+00 0.835689E+00 0.287791E+00 + 6419 0.547499E+00 0.739001E+00 0.131185E+00 + 6420 0.533099E+00 0.709693E+00 0.266379E+00 + 6421 0.442517E+00 0.593598E+00 0.934865E-01 + 6422 0.491673E+00 0.630104E+00 0.314402E+00 + 6423 0.363848E+00 0.548148E+00 0.207090E+00 + 6424 0.443389E+00 0.695256E+00 -0.128921E-06 + 6425 0.533177E+00 0.684722E+00 0.460529E-01 + 6426 0.481631E+00 0.648397E+00 0.160547E+00 + 6427 0.542285E+00 0.763465E+00 -0.128921E-06 + 6428 0.558306E+00 0.783150E+00 0.385553E+00 + 6429 0.467174E+00 0.733417E+00 0.451819E+00 + 6430 0.394839E+00 0.581042E+00 0.355155E+00 + 6431 0.520000E+00 0.100000E+01 0.500000E+00 + 6432 0.547066E+00 0.823041E+00 0.500000E+00 + 6433 0.142795E+00 0.517258E+00 0.500000E+00 + 6434 0.160015E+00 0.441569E+00 0.459734E+00 + 6435 0.423646E+00 0.610281E+00 0.427606E+00 + 6436 0.311795E+00 0.549226E+00 0.456478E+00 + 6437 0.247043E+00 0.501557E+00 0.500000E+00 + 6438 0.358209E+00 0.618127E+00 0.500000E+00 + 6439 0.330132E+00 0.514231E+00 0.377385E+00 + 6440 0.356207E+00 0.526828E+00 0.291545E+00 + 6441 0.284253E+00 0.430351E+00 0.418289E+00 + 6442 0.198097E+00 0.404687E+00 0.304113E+00 + 6443 0.138122E+00 0.346945E+00 0.283081E+00 + 6444 0.106502E+00 0.372377E+00 0.390723E+00 + 6445 0.516873E+00 0.681470E+00 0.419592E+00 + 6446 0.582230E+00 0.907371E+00 0.425533E+00 + 6447 0.791025E-01 0.351918E+00 0.500000E+00 + 6448 0.496639E-01 0.312121E+00 0.420141E+00 + 6449 -0.219527E+00 0.136206E+00 0.993610E-01 + 6450 -0.280282E+00 0.112672E+00 0.305275E-01 + 6451 -0.308999E+00 0.627605E-01 0.644834E-01 + 6452 -0.234211E+00 0.787081E-01 0.181137E+00 + 6453 -0.258343E+00 0.176482E+00 0.500000E+00 + 6454 -0.179865E+00 0.159400E+00 0.471018E+00 + 6455 -0.161792E+00 0.228700E+00 0.500000E+00 + 6456 -0.575938E-01 0.308588E+00 0.452486E+00 + 6457 -0.101209E+00 0.272270E+00 0.500000E+00 + 6458 0.191096E-01 0.320427E+00 0.366435E+00 + 6459 0.168567E-01 0.327630E+00 0.462273E+00 + 6460 0.958727E-01 0.387730E+00 0.327721E+00 + 6461 0.934351E-02 0.298522E+00 0.247930E+00 + 6462 -0.624056E-01 0.238687E+00 0.304036E+00 + 6463 -0.309172E+00 0.129897E+00 0.500000E+00 + 6464 -0.129326E+00 0.185192E+00 0.232932E+00 + 6465 -0.184374E+00 0.137634E+00 0.173813E+00 + 6466 -0.180841E+00 0.131492E+00 0.337000E+00 + 6467 -0.239957E-01 0.265785E+00 0.172486E+00 + 6468 0.139936E-01 0.319901E+00 0.124774E+00 + 6469 0.900511E-02 0.340965E+00 0.373506E-01 + 6470 -0.364859E-01 0.314206E+00 -0.128921E-06 + 6471 0.160014E+00 0.441569E+00 0.402662E-01 + 6472 0.105585E+00 0.390839E+00 -0.128921E-06 + 6473 0.173250E+00 0.409480E+00 0.121030E+00 + 6474 0.785665E-01 0.339080E+00 0.767738E-01 + 6475 0.206449E+00 0.461289E+00 0.168585E+00 + 6476 0.132402E+00 0.392627E+00 0.186674E+00 + 6477 -0.559619E-01 0.249362E+00 0.987252E-01 + 6478 -0.552826E-01 0.225505E+00 0.341585E-01 + 6479 0.184856E+00 0.457016E+00 0.412576E+00 + 6480 -0.955313E-01 0.181135E+00 0.125263E+00 + 6481 -0.251660E+00 0.110165E+00 0.466288E+00 + 6482 -0.170238E+00 0.888119E-01 0.256331E+00 + 6483 -0.232226E+00 0.146373E+00 -0.128921E-06 + 6484 -0.251017E+00 0.755081E-01 0.118927E+00 + 6485 -0.356477E+00 0.832823E-01 0.500000E+00 + 6486 -0.161574E+00 0.124595E+00 0.316482E-01 + 6487 -0.113297E+00 0.162450E+00 -0.128921E-06 + 6488 -0.472719E-01 0.233663E+00 0.390804E+00 + 6489 0.384059E-01 0.229819E+00 0.311131E+00 + 6490 -0.509691E-01 0.241049E+00 0.222121E+00 + 6491 -0.145720E+00 0.176443E+00 0.425254E+00 + 6492 -0.200422E+00 0.844570E-01 0.437783E+00 + 6493 -0.294305E+00 0.662391E-01 0.500000E+00 + 6494 -0.940197E-01 0.175629E+00 0.467165E+00 + 6495 0.302321E+00 0.632341E+00 -0.128921E-06 + 6496 0.288524E+00 0.581111E+00 0.581572E-01 + 6497 0.366754E+00 0.649266E+00 0.467603E-01 + 6498 0.240418E+00 0.473201E+00 0.409488E-01 + 6499 0.298136E+00 0.490690E+00 -0.128921E-06 + 6500 0.274615E+00 0.495405E+00 0.188032E+00 + 6501 0.188820E+00 0.392566E+00 0.213756E+00 + 6502 0.236586E+00 0.471468E+00 0.288113E+00 + 6503 0.359383E+00 0.564509E+00 0.129054E+00 + 6504 0.300149E+00 0.468088E+00 0.116619E+00 + 6505 0.158915E+00 0.350734E+00 0.651610E-01 + 6506 0.864238E-01 0.318578E+00 0.173822E+00 + 6507 0.555003E+00 0.100000E+01 0.122151E+00 + 6508 0.568516E+00 0.947792E+00 -0.128921E-06 + 6509 0.547070E+00 0.823040E+00 -0.128921E-06 + 6510 0.545887E+00 0.805712E+00 0.125769E+00 + 6511 0.555033E+00 0.909560E+00 0.289275E+00 + 6512 0.549800E+00 0.786963E+00 0.244424E+00 + 6513 0.508854E+00 0.708329E+00 0.142862E+00 + 6514 0.367294E+00 0.574715E+00 0.253629E+00 + 6515 0.534029E+00 0.709532E+00 0.354211E+00 + 6516 0.435628E+00 0.625170E+00 0.348923E+00 + 6517 0.539384E+00 0.748367E+00 0.589430E-01 + 6518 0.500407E+00 0.676918E+00 -0.128921E-06 + 6519 0.540136E+00 0.637209E+00 0.110436E+00 + 6520 0.518073E+00 0.775864E+00 0.447376E+00 + 6521 0.509515E+00 0.666217E+00 0.244804E+00 + 6522 0.551758E+00 0.946701E+00 0.455434E+00 + 6523 0.430352E+00 0.753441E+00 0.500000E+00 + 6524 0.163531E+00 0.470178E+00 0.500000E+00 + 6525 0.306339E+00 0.508082E+00 0.317087E+00 + 6526 0.434779E+00 0.646219E+00 0.453534E+00 + 6527 0.282018E+00 0.540451E+00 0.500000E+00 + 6528 0.376517E+00 0.561295E+00 0.403236E+00 + 6529 0.341056E+00 0.504106E+00 0.450056E+00 + 6530 0.261512E+00 0.431955E+00 0.366516E+00 + 6531 0.182834E+00 0.363683E+00 0.319314E+00 + 6532 0.130886E+00 0.402384E+00 0.460876E+00 + 6533 0.608761E+00 0.861115E+00 0.380208E+00 + 6534 0.860318E-01 0.344721E+00 0.391774E+00 + 6535 -0.238068E+00 0.112322E+00 0.300991E-01 + 6536 -0.285265E+00 0.682958E-01 0.121694E+00 + 6537 -0.282935E+00 0.101952E+00 -0.128921E-06 + 6538 -0.330268E+00 0.574156E-01 -0.128921E-06 + 6539 -0.260848E+00 0.735324E-01 0.214736E+00 + 6540 -0.177832E+00 0.190314E+00 0.500000E+00 + 6541 -0.785757E-01 0.261277E+00 0.464875E+00 + 6542 -0.311903E-01 0.335401E+00 0.453587E+00 + 6543 0.249221E-01 0.324055E+00 0.316354E+00 + 6544 -0.397569E-01 0.272477E+00 0.204647E+00 + 6545 -0.734137E-01 0.212541E+00 0.240105E+00 + 6546 -0.114433E+00 0.193829E+00 0.312344E+00 + 6547 -0.158627E+00 0.135780E+00 0.274490E+00 + 6548 0.890432E-01 0.357186E+00 0.268680E+00 + 6549 0.393848E-01 0.319702E+00 0.205107E+00 + 6550 0.625241E-01 0.345083E+00 0.129490E+00 + 6551 0.324505E-01 0.353937E+00 -0.128921E-06 + 6552 -0.137023E-01 0.301692E+00 0.362497E-01 + 6553 0.130884E+00 0.402384E+00 0.391236E-01 + 6554 0.201800E+00 0.432388E+00 0.120852E+00 + 6555 -0.817207E-01 0.191912E+00 0.653856E-01 + 6556 -0.771152E-01 0.236589E+00 -0.128921E-06 + 6557 0.130378E+00 0.391559E+00 0.375051E+00 + 6558 -0.137485E+00 0.140774E+00 0.140959E+00 + 6559 -0.196894E+00 0.850038E-01 0.202360E+00 + 6560 -0.270974E+00 0.138679E+00 0.500000E+00 + 6561 -0.178547E+00 0.876862E-01 0.377238E+00 + 6562 -0.216119E+00 0.819010E-01 0.125282E+00 + 6563 -0.330268E+00 0.574156E-01 0.500000E+00 + 6564 -0.192972E+00 0.152930E+00 -0.128921E-06 + 6565 -0.129946E+00 0.126703E+00 -0.128921E-06 + 6566 0.147787E-02 0.268887E+00 0.385646E+00 + 6567 -0.101105E-01 0.237538E+00 0.269857E+00 + 6568 -0.141756E+00 0.160957E+00 0.459077E+00 + 6569 -0.128739E+00 0.138187E+00 0.395228E+00 + 6570 -0.198478E+00 0.122274E+00 0.446885E+00 + 6571 -0.237200E+00 0.781555E-01 0.437672E+00 + 6572 -0.119592E+00 0.233338E+00 0.500000E+00 + 6573 -0.733298E-01 0.198012E+00 0.389867E+00 + 6574 0.326521E+00 0.609939E+00 0.454549E-01 + 6575 0.247041E+00 0.501557E+00 -0.128921E-06 + 6576 0.293822E+00 0.502412E+00 0.653669E-01 + 6577 0.209430E+00 0.434470E+00 0.400769E-01 + 6578 0.268681E+00 0.455952E+00 0.187198E+00 + 6579 0.345360E+00 0.517696E+00 0.147196E+00 + 6580 0.263082E+00 0.506026E+00 0.277289E+00 + 6581 0.130043E+00 0.331887E+00 0.188132E+00 + 6582 0.568984E-01 0.353742E+00 0.364641E+00 + 6583 0.591410E+00 0.877502E+00 0.505586E-01 + 6584 0.590015E+00 0.911252E+00 0.163649E+00 + 6585 0.555049E+00 0.100000E+01 0.374450E+00 + 6586 0.548649E+00 0.734419E+00 0.220949E+00 + 6587 0.423120E+00 0.632437E+00 0.467178E-01 + 6588 0.458310E+00 0.587835E+00 0.275086E+00 + 6589 0.334375E+00 0.526205E+00 0.252720E+00 + 6590 0.405134E+00 0.579689E+00 0.171834E+00 + 6591 0.489556E+00 0.732988E+00 -0.128921E-06 + 6592 0.543015E+00 0.681664E+00 0.112554E+00 + 6593 0.596963E+00 0.782923E+00 -0.128921E-06 + 6594 0.583094E+00 0.748620E+00 0.313609E+00 + 6595 0.511359E+00 0.732837E+00 0.395426E+00 + 6596 0.510686E+00 0.668419E+00 0.293636E+00 + 6597 0.512088E+00 0.612928E+00 0.192021E+00 + 6598 0.376842E+00 0.569906E+00 0.864611E-01 + 6599 0.482854E+00 0.792233E+00 0.500000E+00 + 6600 0.558386E+00 0.835491E+00 0.440142E+00 + 6601 0.457594E+00 0.658763E+00 0.405540E+00 + 6602 0.319037E+00 0.579348E+00 0.500000E+00 + 6603 0.355271E+00 0.537077E+00 0.352311E+00 + 6604 0.302612E+00 0.473008E+00 0.460312E+00 + 6605 0.214011E+00 0.462786E+00 0.500000E+00 + 6606 0.290887E+00 0.462632E+00 0.368778E+00 + 6607 0.208025E+00 0.437868E+00 0.361205E+00 + 6608 0.413256E+00 0.601795E+00 0.500000E+00 + 6609 0.443392E+00 0.695256E+00 0.500000E+00 + 6610 0.180809E+00 0.370836E+00 0.261387E+00 + 6611 0.243429E+00 0.402712E+00 0.285478E+00 + 6612 0.133693E+00 0.430284E+00 0.500000E+00 + 6613 0.568512E+00 0.947793E+00 0.500000E+00 + 6614 0.324515E-01 0.353937E+00 0.500000E+00 + 6615 0.103424E+00 0.363659E+00 0.461989E+00 + 6616 -0.210796E+00 0.117509E+00 0.724718E-01 + 6617 -0.272949E+00 0.709955E-01 0.609590E-01 + 6618 -0.450281E-02 0.313956E+00 0.426269E+00 + 6619 0.551359E-01 0.335249E+00 0.292358E+00 + 6620 -0.325839E-01 0.272189E+00 0.253530E+00 + 6621 -0.364849E-01 0.314206E+00 0.500000E+00 + 6622 -0.885729E-01 0.187113E+00 0.280001E+00 + 6623 -0.968093E-01 0.193228E+00 0.191363E+00 + 6624 -0.229383E+00 0.795858E-01 0.242844E+00 + 6625 -0.157677E+00 0.175573E+00 0.338794E+00 + 6626 -0.548164E-01 0.245927E+00 0.160831E+00 + 6627 0.255856E-01 0.295832E+00 0.153036E+00 + 6628 0.222898E-01 0.324137E+00 0.875918E-01 + 6629 0.156616E+00 0.412373E+00 0.788975E-01 + 6630 0.182820E+00 0.424245E+00 -0.128921E-06 + 6631 -0.350981E-01 0.263196E+00 0.351859E-01 + 6632 -0.141386E+00 0.137121E+00 0.210037E+00 + 6633 -0.232225E+00 0.146373E+00 0.500000E+00 + 6634 -0.155355E+00 0.906907E-01 0.316536E+00 + 6635 -0.957157E-01 0.199078E+00 -0.128921E-06 + 6636 -0.110949E+00 0.141787E+00 0.429597E-01 + 6637 -0.197974E-01 0.251087E+00 0.336754E+00 + 6638 -0.282935E+00 0.101952E+00 0.500000E+00 + 6639 -0.136925E+00 0.195347E+00 0.500000E+00 + 6640 -0.648817E-01 0.227264E+00 0.441065E+00 + 6641 0.301684E+00 0.535408E+00 0.421832E-01 + 6642 0.228662E+00 0.453126E+00 0.868168E-01 + 6643 0.220704E+00 0.426753E+00 0.207239E+00 + 6644 0.296792E+00 0.504843E+00 0.129054E+00 + 6645 0.791011E-01 0.351918E+00 -0.128921E-06 + 6646 0.123782E+00 0.349784E+00 0.104484E+00 + 6647 0.583223E+00 0.816279E+00 0.503365E-01 + 6648 0.592759E+00 0.943615E+00 0.647477E-01 + 6649 0.577687E+00 0.813949E+00 0.189557E+00 + 6650 0.518354E+00 0.681087E+00 0.197739E+00 + 6651 0.381878E+00 0.605908E+00 0.593390E-01 + 6652 0.332702E+00 0.518448E+00 0.199917E+00 + 6653 0.466749E+00 0.670320E+00 0.475318E-01 + 6654 0.399652E+00 0.656728E+00 -0.128921E-06 + 6655 0.476137E+00 0.602739E+00 0.137775E+00 + 6656 0.572853E+00 0.803597E+00 0.330336E+00 + 6657 0.519552E+00 0.601194E+00 0.253935E+00 + 6658 0.439148E+00 0.583485E+00 0.338382E+00 + 6659 0.426080E+00 0.573838E+00 0.240335E+00 + 6660 0.577227E+00 0.917126E+00 0.358553E+00 + 6661 0.262771E+00 0.498139E+00 0.334940E+00 + 6662 0.367052E+00 0.581419E+00 0.454423E+00 + 6663 0.369504E+00 0.509310E+00 0.420195E+00 + 6664 0.311165E+00 0.482450E+00 0.410133E+00 + 6665 0.241645E+00 0.472610E+00 0.458798E+00 + 6666 0.399655E+00 0.656728E+00 0.500000E+00 + 6667 0.464067E+00 0.691345E+00 0.451907E+00 + 6668 0.217866E+00 0.431020E+00 0.327076E+00 + 6669 0.178962E+00 0.356570E+00 0.203941E+00 + 6670 0.142668E+00 0.345200E+00 0.338834E+00 + 6671 0.555598E+00 0.886039E+00 0.500000E+00 + 6672 0.105586E+00 0.390839E+00 0.500000E+00 + 6673 0.793703E-01 0.350533E+00 0.434738E+00 + 6674 0.156617E+00 0.412374E+00 0.421102E+00 + 6675 -0.294305E+00 0.662391E-01 -0.128921E-06 + 6676 -0.154807E-01 0.268551E+00 0.888479E-01 + 6677 -0.153511E+00 0.128552E+00 0.811820E-01 + 6678 -0.446320E-01 0.199655E+00 0.129448E+00 + 6679 0.403294E-01 0.278774E+00 0.361646E+00 + 6680 -0.634550E-01 0.194644E+00 0.331273E+00 + 6681 -0.143640E+00 0.135698E+00 0.336114E+00 + 6682 -0.192971E+00 0.152931E+00 0.500000E+00 + 6683 -0.974735E-01 0.223002E+00 0.465918E+00 + 6684 -0.958262E-01 0.165990E+00 0.429744E+00 + 6685 0.282016E+00 0.540451E+00 -0.128921E-06 + 6686 0.197726E+00 0.405105E+00 0.170155E+00 + 6687 0.337999E+00 0.539321E+00 0.947555E-01 + 6688 0.101339E+00 0.337007E+00 0.372635E-01 + 6689 0.288423E+00 0.445621E+00 0.911994E-01 + 6690 0.585308E+00 0.866316E+00 0.246985E+00 + 6691 0.375134E+00 0.538295E+00 0.167923E+00 + 6692 0.488440E+00 0.625536E+00 0.638761E-01 + 6693 0.535965E+00 0.657608E+00 0.147729E+00 + 6694 0.570256E+00 0.775198E+00 0.836833E-01 + 6695 0.467669E+00 0.607183E+00 0.199220E+00 + 6696 0.383817E+00 0.559150E+00 0.313158E+00 + 6697 0.408661E+00 0.583434E+00 0.115355E+00 + 6698 0.283809E+00 0.487898E+00 0.238466E+00 + 6699 0.364171E+00 0.535401E+00 0.456873E+00 + 6700 0.298138E+00 0.490690E+00 0.500000E+00 + 6701 0.209432E+00 0.434471E+00 0.459923E+00 + 6702 0.249131E+00 0.469109E+00 0.398447E+00 + 6703 0.433450E+00 0.583862E+00 0.393927E+00 + 6704 0.162724E+00 0.400371E+00 0.339143E+00 + 6705 0.145147E+00 0.355599E+00 0.230603E+00 + 6706 0.225251E+00 0.381535E+00 0.243107E+00 + 6707 0.876493E-01 0.322087E+00 0.229060E+00 + 6708 0.775239E-01 0.325461E+00 0.463068E+00 + 6709 0.127147E+00 0.356455E+00 0.425719E+00 + 6710 -0.611333E-01 0.200756E+00 0.174395E+00 + 6711 -0.141972E+00 0.922301E-01 0.376122E+00 + 6712 0.162391E+00 0.364468E+00 0.149406E+00 + 6713 0.426860E+00 0.572972E+00 0.442963E+00 + 6714 0.273774E+00 0.427916E+00 0.250111E+00 + 6715 0.505254E+00 0.630512E+00 0.363482E+00 + 6716 -0.236962E+00 0.781998E-01 0.611037E-01 + 6717 -0.207291E+00 0.116537E+00 -0.128921E-06 + 6718 -0.163328E+00 0.897061E-01 0.633836E-01 + 6719 -0.153298E+00 0.158301E+00 0.500000E+00 + 6720 -0.906401E-02 0.244197E+00 0.432151E+00 + 6721 -0.137012E-01 0.301692E+00 0.463750E+00 + 6722 -0.771145E-01 0.236589E+00 0.500000E+00 + 6723 -0.222328E-01 0.213367E+00 0.369554E+00 + 6724 0.854774E-01 0.329049E+00 0.347434E+00 + 6725 0.530821E-01 0.287852E+00 0.464114E+00 + 6726 0.512842E-01 0.291908E+00 0.252708E+00 + 6727 0.400867E-02 0.240403E+00 0.228250E+00 + 6728 -0.121547E+00 0.139304E+00 0.274370E+00 + 6729 -0.313588E-01 0.154123E+00 0.294224E+00 + 6730 -0.879170E-01 0.143560E+00 0.149320E+00 + 6731 -0.156355E+00 0.905697E-01 0.191019E+00 + 6732 0.277694E-01 0.281132E+00 0.103879E+00 + 6733 -0.774317E-02 0.223976E+00 0.146798E+00 + 6734 0.122859E+00 0.324596E+00 0.233636E+00 + 6735 0.882223E-02 0.314691E+00 -0.128921E-06 + 6736 0.800291E-01 0.309849E+00 0.423568E-01 + 6737 0.153376E+00 0.386029E+00 -0.128921E-06 + 6738 0.205015E+00 0.405558E+00 0.785342E-01 + 6739 0.116192E+00 0.297354E+00 0.108723E+00 + 6740 0.195706E+00 0.348570E+00 0.127401E+00 + 6741 0.234696E+00 0.414122E+00 0.163011E+00 + 6742 0.231461E+00 0.416379E+00 -0.128921E-06 + 6743 -0.344473E-01 0.238437E+00 -0.128921E-06 + 6744 0.664531E-02 0.211968E+00 0.564828E-01 + 6745 -0.533224E-01 0.177954E+00 0.329071E-01 + 6746 -0.763891E-01 0.154068E+00 0.869604E-01 + 6747 0.282655E+00 0.445975E+00 0.307976E+00 + 6748 0.178959E+00 0.393207E+00 0.383131E+00 + 6749 0.236440E+00 0.443023E+00 0.419277E+00 + 6750 -0.183488E+00 0.869906E-01 0.500000E+00 + 6751 -0.245359E+00 0.109772E+00 0.500000E+00 + 6752 -0.908261E-01 0.130047E+00 -0.128921E-06 + 6753 0.675209E-01 0.230828E+00 0.332146E+00 + 6754 -0.111106E+00 0.142065E+00 0.456601E+00 + 6755 -0.719834E-01 0.147043E+00 0.408043E+00 + 6756 -0.730486E-01 0.165358E+00 0.500000E+00 + 6757 0.319035E+00 0.579348E+00 -0.128921E-06 + 6758 0.306385E+00 0.414831E+00 0.395246E-01 + 6759 0.348341E+00 0.477921E+00 -0.128921E-06 + 6760 0.342863E+00 0.475926E+00 0.963758E-01 + 6761 0.309525E+00 0.475517E+00 0.167095E+00 + 6762 0.394492E+00 0.542314E+00 0.435901E-01 + 6763 0.430095E+00 0.535359E+00 0.131964E+00 + 6764 0.311752E+00 0.487902E+00 0.263904E+00 + 6765 0.306093E+00 0.385309E+00 0.102177E+00 + 6766 0.211675E+00 0.350925E+00 0.382265E-01 + 6767 0.155760E+00 0.279412E+00 0.364121E-01 + 6768 0.168221E+00 0.298247E+00 0.168032E+00 + 6769 0.590000E+00 0.100000E+01 -0.128921E-06 + 6770 0.612989E+00 0.903593E+00 -0.128921E-06 + 6771 0.629467E+00 0.840160E+00 0.121358E+00 + 6772 0.649488E+00 0.799899E+00 -0.128921E-06 + 6773 0.678091E+00 0.954467E+00 0.568316E-01 + 6774 0.648139E+00 0.917615E+00 0.197126E+00 + 6775 0.625089E+00 0.100000E+01 0.374333E+00 + 6776 0.654872E+00 0.884136E+00 0.328900E+00 + 6777 0.590040E+00 0.747804E+00 0.258436E+00 + 6778 0.609109E+00 0.724106E+00 0.977895E-01 + 6779 0.550997E+00 0.659206E+00 0.291318E+00 + 6780 0.567158E+00 0.660773E+00 0.177006E+00 + 6781 0.413254E+00 0.601796E+00 -0.128921E-06 + 6782 0.407277E+00 0.531841E+00 0.269836E+00 + 6783 0.594256E+00 0.727377E+00 0.382374E+00 + 6784 0.510101E+00 0.570686E+00 0.306022E+00 + 6785 0.536349E+00 0.713203E+00 -0.128921E-06 + 6786 0.514796E+00 0.620556E+00 -0.128921E-06 + 6787 0.515809E+00 0.601250E+00 0.131354E+00 + 6788 0.595810E+00 0.622323E+00 0.988659E-01 + 6789 0.608196E+00 0.803278E+00 0.444720E+00 + 6790 0.543043E+00 0.713980E+00 0.457227E+00 + 6791 0.535681E+00 0.549713E+00 0.210400E+00 + 6792 0.406637E+00 0.546863E+00 0.351050E+00 + 6793 0.625030E+00 0.910657E+00 0.458111E+00 + 6794 0.182822E+00 0.424246E+00 0.500000E+00 + 6795 0.345884E+00 0.458666E+00 0.362475E+00 + 6796 0.485226E+00 0.593384E+00 0.450833E+00 + 6797 0.334329E+00 0.527879E+00 0.500000E+00 + 6798 0.263880E+00 0.453485E+00 0.500000E+00 + 6799 0.415554E+00 0.519772E+00 0.457317E+00 + 6800 0.333220E+00 0.455034E+00 0.447952E+00 + 6801 0.226647E+00 0.389023E+00 0.461232E+00 + 6802 0.294221E+00 0.360941E+00 0.437036E+00 + 6803 0.252559E+00 0.372934E+00 0.360821E+00 + 6804 0.226225E+00 0.366911E+00 0.306354E+00 + 6805 0.231233E+00 0.326511E+00 0.224370E+00 + 6806 0.163667E+00 0.295823E+00 0.310811E+00 + 6807 0.150246E+00 0.359035E+00 0.462102E+00 + 6808 0.105297E+00 0.295524E+00 0.423686E+00 + 6809 -0.257823E+00 0.741483E-01 -0.128921E-06 + 6810 -0.200454E+00 0.844519E-01 0.625963E-01 + 6811 -0.161715E+00 0.124473E+00 0.468480E+00 + 6812 -0.350974E-01 0.263196E+00 0.464814E+00 + 6813 -0.218545E-01 0.214386E+00 0.327755E+00 + 6814 0.882331E-02 0.314691E+00 0.500000E+00 + 6815 0.794053E-01 0.292731E+00 0.385364E+00 + 6816 0.109838E+00 0.313931E+00 0.296227E+00 + 6817 0.347206E-01 0.260872E+00 0.250751E+00 + 6818 -0.247597E-01 0.213154E+00 0.194146E+00 + 6819 -0.592559E-01 0.164948E+00 0.260175E+00 + 6820 -0.103688E+00 0.142999E+00 0.212425E+00 + 6821 -0.119800E+00 0.944707E-01 0.315938E+00 + 6822 -0.259049E-02 0.247978E+00 0.122784E+00 + 6823 0.643317E-01 0.311167E+00 0.121839E+00 + 6824 0.653451E-01 0.280513E+00 0.185420E+00 + 6825 0.311753E-01 0.301386E+00 0.362504E-01 + 6826 -0.134434E-01 0.276179E+00 -0.128921E-06 + 6827 0.178996E+00 0.396583E+00 0.389753E-01 + 6828 0.125581E+00 0.348218E+00 -0.128921E-06 + 6829 0.217592E+00 0.377468E+00 0.123381E+00 + 6830 0.173725E+00 0.341363E+00 0.987720E-01 + 6831 0.263878E+00 0.453485E+00 -0.128921E-06 + 6832 -0.200804E-01 0.214434E+00 0.345332E-01 + 6833 -0.715532E-01 0.144881E+00 0.434324E-01 + 6834 0.148437E+00 0.357868E+00 0.388428E+00 + 6835 0.205016E+00 0.405558E+00 0.421465E+00 + 6836 -0.142060E+00 0.922204E-01 0.126182E+00 + 6837 -0.753087E-01 0.138878E+00 0.114995E+00 + 6838 -0.220868E+00 0.810884E-01 0.500000E+00 + 6839 0.200391E-01 0.189032E+00 0.148560E+00 + 6840 -0.168793E+00 0.122193E+00 -0.128921E-06 + 6841 -0.107701E+00 0.955316E-01 -0.128921E-06 + 6842 0.165521E-01 0.216393E+00 0.403479E+00 + 6843 0.963883E-01 0.209425E+00 0.309837E+00 + 6844 -0.393933E-01 0.158565E+00 0.374181E+00 + 6845 -0.113296E+00 0.162450E+00 0.500000E+00 + 6846 -0.882100E-01 0.970026E-01 0.433865E+00 + 6847 -0.542847E-01 0.201491E+00 0.500000E+00 + 6848 0.358207E+00 0.618127E+00 -0.128921E-06 + 6849 0.324540E+00 0.453726E+00 0.414128E-01 + 6850 0.334327E+00 0.527879E+00 -0.128921E-06 + 6851 0.276336E+00 0.459397E+00 0.270743E+00 + 6852 0.295227E+00 0.427486E+00 0.142525E+00 + 6853 0.328482E+00 0.475588E+00 0.229577E+00 + 6854 0.378755E+00 0.496335E+00 0.123632E+00 + 6855 0.280427E+00 0.394120E+00 0.809984E-01 + 6856 0.213263E+00 0.310024E+00 0.365355E-01 + 6857 0.125745E+00 0.275258E+00 0.594845E-01 + 6858 0.175976E+00 0.309955E+00 0.227914E+00 + 6859 0.160496E+00 0.276639E+00 0.135195E+00 + 6860 0.625009E+00 0.100000E+01 0.122134E+00 + 6861 0.619303E+00 0.957236E+00 -0.128921E-06 + 6862 0.605637E+00 0.842874E+00 -0.128921E-06 + 6863 0.631718E+00 0.788307E+00 0.112017E+00 + 6864 0.632525E+00 0.933467E+00 0.302788E+00 + 6865 0.590000E+00 0.100000E+01 0.500000E+00 + 6866 0.632332E+00 0.814667E+00 0.255719E+00 + 6867 0.582205E+00 0.698895E+00 0.150459E+00 + 6868 0.602236E+00 0.691255E+00 0.283484E+00 + 6869 0.563988E+00 0.617255E+00 0.209754E+00 + 6870 0.421667E+00 0.584532E+00 0.436974E-01 + 6871 0.461819E+00 0.561076E+00 0.141873E+00 + 6872 0.456452E+00 0.638786E+00 -0.128921E-06 + 6873 0.547753E+00 0.715272E+00 0.415611E+00 + 6874 0.545411E+00 0.623942E+00 0.352562E+00 + 6875 0.484552E+00 0.554785E+00 0.251440E+00 + 6876 0.433149E+00 0.534425E+00 0.310855E+00 + 6877 0.591257E+00 0.674005E+00 0.456112E-01 + 6878 0.549938E+00 0.598781E+00 0.942976E-01 + 6879 0.640741E+00 0.741426E+00 -0.128921E-06 + 6880 0.621684E+00 0.775397E+00 0.373509E+00 + 6881 0.489557E+00 0.732988E+00 0.500000E+00 + 6882 0.605631E+00 0.842876E+00 0.500000E+00 + 6883 0.360401E+00 0.478653E+00 0.328287E+00 + 6884 0.487668E+00 0.634740E+00 0.447887E+00 + 6885 0.465309E+00 0.562883E+00 0.412067E+00 + 6886 0.469365E+00 0.583437E+00 0.500000E+00 + 6887 0.372576E+00 0.564942E+00 0.500000E+00 + 6888 0.377142E+00 0.484911E+00 0.458418E+00 + 6889 0.312990E+00 0.442346E+00 0.500000E+00 + 6890 0.353165E+00 0.421923E+00 0.411357E+00 + 6891 0.231463E+00 0.416379E+00 0.500000E+00 + 6892 0.291009E+00 0.394742E+00 0.349570E+00 + 6893 0.214628E+00 0.382093E+00 0.344950E+00 + 6894 0.270697E+00 0.369596E+00 0.248838E+00 + 6895 0.153378E+00 0.386029E+00 0.500000E+00 + 6896 0.684319E+00 0.875799E+00 0.407844E+00 + 6897 0.993359E-01 0.310884E+00 0.500000E+00 + 6898 -0.220868E+00 0.810881E-01 -0.128921E-06 + 6899 0.978523E-02 0.281198E+00 0.435727E+00 + 6900 -0.344465E-01 0.238437E+00 0.500000E+00 + 6901 0.541333E-01 0.313582E+00 0.500000E+00 + 6902 0.686290E-01 0.275547E+00 0.306042E+00 + 6903 -0.656690E-01 0.152298E+00 0.219378E+00 + 6904 -0.716119E-01 0.139255E+00 0.319106E+00 + 6905 -0.171547E-01 0.194679E+00 0.261727E+00 + 6906 -0.119244E+00 0.945218E-01 0.188505E+00 + 6907 0.281189E-01 0.244388E+00 0.174334E+00 + 6908 0.541318E-01 0.313582E+00 -0.128921E-06 + 6909 0.494601E-01 0.305673E+00 0.743766E-01 + 6910 0.848311E-02 0.263645E+00 0.352075E-01 + 6911 0.147228E+00 0.332561E+00 0.371548E-01 + 6912 0.194129E+00 0.364372E+00 0.701657E-01 + 6913 0.255672E+00 0.411786E+00 0.112259E+00 + 6914 0.200791E+00 0.379473E+00 -0.128921E-06 + 6915 0.421495E-02 0.193561E+00 0.935495E-01 + 6916 -0.542858E-01 0.201490E+00 -0.128921E-06 + 6917 0.168862E+00 0.358432E+00 0.359302E+00 + 6918 -0.125775E+00 0.939048E-01 0.639150E-01 + 6919 -0.207290E+00 0.116537E+00 0.500000E+00 + 6920 -0.163293E+00 0.897104E-01 0.437277E+00 + 6921 -0.437353E-01 0.137050E+00 0.141790E+00 + 6922 -0.262634E-01 0.193446E+00 0.425692E+00 + 6923 0.980215E-02 0.220492E+00 0.357972E+00 + 6924 0.778702E-01 0.276222E+00 0.423342E+00 + 6925 -0.129945E+00 0.126704E+00 0.500000E+00 + 6926 -0.105683E+00 0.956976E-01 0.373603E+00 + 6927 -0.957149E-01 0.199078E+00 0.500000E+00 + 6928 -0.718707E-01 0.147125E+00 0.453845E+00 + 6929 0.341978E+00 0.557390E+00 0.438468E-01 + 6930 0.312988E+00 0.442346E+00 -0.128921E-06 + 6931 0.304158E+00 0.431843E+00 0.228204E+00 + 6932 0.228129E+00 0.382615E+00 0.192774E+00 + 6933 0.415210E+00 0.518178E+00 0.859848E-01 + 6934 0.332644E+00 0.440962E+00 0.136611E+00 + 6935 0.117092E+00 0.291842E+00 0.164871E+00 + 6936 0.177268E+00 0.329481E+00 0.150763E+00 + 6937 0.653099E+00 0.861453E+00 0.612377E-01 + 6938 0.605828E+00 0.756857E+00 0.156741E+00 + 6939 0.623535E+00 0.757486E+00 0.484764E-01 + 6940 0.660000E+00 0.100000E+01 -0.128921E-06 + 6941 0.671492E+00 0.844120E+00 0.180425E+00 + 6942 0.660065E+00 0.100000E+01 0.246572E+00 + 6943 0.590214E+00 0.937073E+00 0.456997E+00 + 6944 0.582065E+00 0.690837E+00 0.235415E+00 + 6945 0.469363E+00 0.583438E+00 -0.128921E-06 + 6946 0.559380E+00 0.655864E+00 0.392625E+00 + 6947 0.549786E+00 0.589815E+00 0.300290E+00 + 6948 0.499100E+00 0.577528E+00 0.364991E+00 + 6949 0.449948E+00 0.542955E+00 0.271114E+00 + 6950 0.379345E+00 0.508386E+00 0.223885E+00 + 6951 0.562776E+00 0.664047E+00 -0.128921E-06 + 6952 0.593934E+00 0.655709E+00 0.122368E+00 + 6953 0.528145E+00 0.556149E+00 0.938731E-01 + 6954 0.644759E+00 0.790385E+00 0.333381E+00 + 6955 0.592481E+00 0.764261E+00 0.451481E+00 + 6956 0.467914E+00 0.547484E+00 0.194390E+00 + 6957 0.394518E+00 0.501555E+00 0.316591E+00 + 6958 0.638370E+00 0.851747E+00 0.420003E+00 + 6959 0.666005E+00 0.927901E+00 0.359644E+00 + 6960 0.178997E+00 0.396583E+00 0.461025E+00 + 6961 0.323416E+00 0.471486E+00 0.302379E+00 + 6962 0.456455E+00 0.638786E+00 0.500000E+00 + 6963 0.424121E+00 0.521397E+00 0.405649E+00 + 6964 0.385609E+00 0.513383E+00 0.500000E+00 + 6965 0.366957E+00 0.470171E+00 0.412436E+00 + 6966 0.306387E+00 0.414831E+00 0.460475E+00 + 6967 0.315600E+00 0.403894E+00 0.374721E+00 + 6968 0.225612E+00 0.410622E+00 0.375818E+00 + 6969 0.202949E+00 0.328875E+00 0.266030E+00 + 6970 0.121030E+00 0.331630E+00 0.380622E+00 + 6971 0.272457E+00 0.378736E+00 0.310344E+00 + 6972 0.125582E+00 0.348219E+00 0.500000E+00 + 6973 0.848455E-02 0.263645E+00 0.464792E+00 + 6974 0.985159E-01 0.288271E+00 0.249434E+00 + 6975 -0.359809E-01 0.191770E+00 0.225014E+00 + 6976 0.249343E-02 0.197434E+00 0.298115E+00 + 6977 -0.134352E+00 0.930437E-01 0.250871E+00 + 6978 0.606421E-01 0.259697E+00 0.138067E+00 + 6979 0.330808E-01 0.217107E+00 0.221924E+00 + 6980 0.214571E-01 0.278277E+00 0.657787E-01 + 6981 0.832075E-02 0.238870E+00 -0.128921E-06 + 6982 -0.328885E-01 0.178182E+00 0.671017E-01 + 6983 -0.730493E-01 0.165358E+00 -0.128921E-06 + 6984 -0.104792E+00 0.957699E-01 0.127032E+00 + 6985 -0.183489E+00 0.869906E-01 -0.128921E-06 + 6986 0.701306E-01 0.230187E+00 0.392008E+00 + 6987 -0.125859E+00 0.938965E-01 0.436233E+00 + 6988 -0.698781E-01 0.981190E-01 0.361996E+00 + 6989 -0.168793E+00 0.122194E+00 0.500000E+00 + 6990 -0.533213E-01 0.177954E+00 0.467092E+00 + 6991 -0.908254E-01 0.130047E+00 0.500000E+00 + 6992 0.266465E+00 0.430249E+00 0.546680E-01 + 6993 0.356092E+00 0.506395E+00 0.422866E-01 + 6994 0.336070E+00 0.418389E+00 0.197489E+00 + 6995 0.207439E+00 0.332619E+00 0.179150E+00 + 6996 0.993345E-01 0.310884E+00 -0.128921E-06 + 6997 0.322552E+00 0.428691E+00 0.936236E-01 + 6998 0.172332E+00 0.306660E+00 0.876602E-01 + 6999 0.666555E+00 0.889322E+00 0.104832E+00 + 7000 0.679601E+00 0.791180E+00 0.459038E-01 + 7001 0.661605E+00 0.923010E+00 -0.128921E-06 + 7002 0.635244E+00 0.782129E+00 0.203855E+00 + 7003 0.675824E+00 0.863773E+00 0.253291E+00 + 7004 0.466983E+00 0.558994E+00 0.892561E-01 + 7005 0.602717E+00 0.675637E+00 0.327800E+00 + 7006 0.431782E+00 0.536633E+00 0.198799E+00 + 7007 0.355505E+00 0.484133E+00 0.268125E+00 + 7008 0.584702E+00 0.724744E+00 -0.128921E-06 + 7009 0.550547E+00 0.631790E+00 0.619231E-01 + 7010 0.564891E+00 0.612361E+00 0.148448E+00 + 7011 0.653732E+00 0.739890E+00 0.278542E+00 + 7012 0.542282E+00 0.763466E+00 0.500000E+00 + 7013 0.572661E+00 0.636739E+00 0.255516E+00 + 7014 0.541418E+00 0.550627E+00 0.268020E+00 + 7015 0.469159E+00 0.528000E+00 0.379402E+00 + 7016 0.503136E+00 0.624108E+00 0.407237E+00 + 7017 0.348343E+00 0.477921E+00 0.500000E+00 + 7018 0.419278E+00 0.481231E+00 0.439007E+00 + 7019 0.258269E+00 0.425536E+00 0.460174E+00 + 7020 0.326543E+00 0.394515E+00 0.422450E+00 + 7021 0.310156E+00 0.432465E+00 0.330916E+00 + 7022 0.239735E+00 0.400715E+00 0.328614E+00 + 7023 0.425299E+00 0.548617E+00 0.500000E+00 + 7024 0.500408E+00 0.676918E+00 0.500000E+00 + 7025 0.184521E+00 0.327828E+00 0.321348E+00 + 7026 0.133499E+00 0.299991E+00 0.375836E+00 + 7027 0.297470E+00 0.394097E+00 0.267707E+00 + 7028 0.251049E+00 0.332128E+00 0.282453E+00 + 7029 0.175306E+00 0.368363E+00 0.423608E+00 + 7030 0.592390E+00 0.690969E+00 0.447342E+00 + 7031 0.612983E+00 0.903595E+00 0.500000E+00 + 7032 0.640181E+00 0.953712E+00 0.455954E+00 + 7033 0.688516E+00 0.828448E+00 0.346190E+00 + 7034 0.123082E+00 0.321904E+00 0.463153E+00 + 7035 -0.134423E-01 0.276180E+00 0.500000E+00 + 7036 0.721678E-01 0.251751E+00 0.211292E+00 + 7037 0.909368E-01 0.275338E+00 0.859301E-01 + 7038 0.121180E-01 0.244923E+00 0.904970E-01 + 7039 -0.116837E-01 0.145679E+00 0.108042E+00 + 7040 -0.879256E-01 0.970220E-01 0.646660E-01 + 7041 -0.145743E+00 0.918107E-01 -0.128921E-06 + 7042 0.300662E-01 0.254022E+00 0.429846E+00 + 7043 0.968717E-01 0.255069E+00 0.350359E+00 + 7044 0.306919E-01 0.193865E+00 0.276584E+00 + 7045 -0.113435E-01 0.173108E+00 0.349066E+00 + 7046 -0.888879E-01 0.969565E-01 0.316800E+00 + 7047 0.226645E+00 0.389023E+00 0.387683E-01 + 7048 0.276476E+00 0.410743E+00 0.194649E+00 + 7049 0.369246E+00 0.470638E+00 0.181533E+00 + 7050 0.110851E+00 0.299951E+00 0.318700E-01 + 7051 0.626398E+00 0.728509E+00 0.189824E+00 + 7052 0.372574E+00 0.564942E+00 -0.128921E-06 + 7053 0.492570E+00 0.558250E+00 0.485855E-01 + 7054 0.511398E+00 0.563453E+00 0.152729E+00 + 7055 0.652217E+00 0.722095E+00 0.354133E+00 + 7056 0.573402E+00 0.571308E+00 0.225092E+00 + 7057 0.482435E+00 0.512964E+00 0.333247E+00 + 7058 0.449396E+00 0.524371E+00 0.231987E+00 + 7059 0.596957E+00 0.782924E+00 0.500000E+00 + 7060 0.410995E+00 0.493888E+00 0.380336E+00 + 7061 0.267596E+00 0.385893E+00 0.448454E+00 + 7062 0.457448E+00 0.554190E+00 0.455409E+00 + 7063 0.147374E+00 0.286817E+00 0.270380E+00 + 7064 0.166601E+00 0.302197E+00 0.366703E+00 + 7065 0.319897E+00 0.425369E+00 0.272063E+00 + 7066 0.525993E+00 0.653841E+00 0.449616E+00 + 7067 0.619299E+00 0.957238E+00 0.500000E+00 + 7068 0.974110E-01 0.285256E+00 0.464175E+00 + 7069 -0.281012E-01 0.147174E+00 0.173804E+00 + 7070 0.475888E-01 0.177229E+00 0.333629E+00 + 7071 0.659452E-01 0.244025E+00 0.262443E+00 + 7072 -0.129470E-01 0.226626E+00 0.465801E+00 + 7073 0.105746E+00 0.296982E+00 0.208111E+00 + 7074 0.405122E+00 0.483158E+00 0.170935E+00 + 7075 0.538316E+00 0.594770E+00 0.476801E-01 + 7076 0.546984E+00 0.582675E+00 0.169153E+00 + 7077 0.255289E+00 0.379392E+00 0.400667E+00 + 7078 0.118739E+00 0.283837E+00 0.348521E+00 + 7079 0.151758E+00 0.331109E+00 0.419262E+00 + 7080 0.139293E+00 0.274854E+00 0.210304E+00 + 7081 -0.145742E+00 0.918107E-01 0.500000E+00 + 7082 0.158581E-01 0.222326E+00 0.451879E+00 + 7083 0.173416E-01 0.181940E+00 0.398464E+00 + 7084 0.305734E-01 0.275885E+00 0.500000E+00 + 7085 0.124363E+00 0.275864E+00 0.403406E+00 + 7086 0.107861E+00 0.261801E+00 0.293994E+00 + 7087 0.646063E-02 0.196062E+00 0.203809E+00 + 7088 -0.984862E-01 0.962639E-01 0.256558E+00 + 7089 -0.267083E-01 0.997249E-01 0.252291E+00 + 7090 -0.299411E-01 0.996544E-01 0.336671E+00 + 7091 0.218632E-01 0.141237E+00 0.267192E+00 + 7092 -0.673207E-01 0.982540E-01 0.128721E+00 + 7093 0.443427E-01 0.240128E+00 0.738636E-01 + 7094 0.987074E-01 0.239687E+00 0.175430E+00 + 7095 0.305720E-01 0.275885E+00 -0.128921E-06 + 7096 0.171776E+00 0.342857E+00 -0.128921E-06 + 7097 0.186422E+00 0.275236E+00 0.351218E-01 + 7098 0.247208E+00 0.378253E+00 0.848879E-01 + 7099 0.244717E+00 0.355412E+00 0.138551E+00 + 7100 0.141999E+00 0.251213E+00 0.934066E-01 + 7101 0.306578E+00 0.394594E+00 0.138339E+00 + 7102 0.247683E+00 0.371218E+00 -0.128921E-06 + 7103 -0.127173E-01 0.202570E+00 -0.128921E-06 + 7104 0.953706E-03 0.161918E+00 0.592991E-01 + 7105 0.414861E-01 0.177304E+00 0.116356E+00 + 7106 -0.515102E-01 0.132209E+00 -0.128921E-06 + 7107 0.315807E+00 0.388586E+00 0.312538E+00 + 7108 0.203468E+00 0.361681E+00 0.382706E+00 + 7109 0.738583E-02 0.999791E-01 0.128344E+00 + 7110 -0.322790E-01 0.151388E+00 0.450275E+00 + 7111 0.116132E+00 0.245980E+00 0.465242E+00 + 7112 0.111726E+00 0.206235E+00 0.356218E+00 + 7113 0.105916E+00 0.186696E+00 0.279994E+00 + 7114 0.722449E-01 0.147344E+00 0.373198E+00 + 7115 -0.694364E-01 0.981427E-01 0.500000E+00 + 7116 0.361214E+00 0.429456E+00 -0.128921E-06 + 7117 0.324013E+00 0.394610E+00 0.659969E-01 + 7118 0.385606E+00 0.513384E+00 -0.128921E-06 + 7119 0.397437E+00 0.462164E+00 0.818876E-01 + 7120 0.355300E+00 0.439150E+00 0.219808E+00 + 7121 0.359365E+00 0.379588E+00 0.188905E+00 + 7122 0.199820E+00 0.287678E+00 0.180714E+00 + 7123 0.446243E+00 0.525484E+00 0.435397E-01 + 7124 0.472048E+00 0.473168E+00 0.168596E+00 + 7125 0.118356E+00 0.270796E+00 -0.128921E-06 + 7126 0.297243E+00 0.345827E+00 0.102767E+00 + 7127 0.265563E+00 0.303015E+00 0.469219E-01 + 7128 0.227584E+00 0.288689E+00 0.266688E+00 + 7129 0.160045E+00 0.223925E+00 0.201350E+00 + 7130 0.695019E+00 0.100000E+01 0.122104E+00 + 7131 0.656473E+00 0.860096E+00 -0.128921E-06 + 7132 0.735644E+00 0.867312E+00 0.471102E-01 + 7133 0.674292E+00 0.731633E+00 0.879918E-01 + 7134 0.697959E+00 0.766806E+00 0.163763E+00 + 7135 0.690915E+00 0.757473E+00 -0.128921E-06 + 7136 0.728683E+00 0.858281E+00 0.201625E+00 + 7137 0.695160E+00 0.100000E+01 0.374132E+00 + 7138 0.700631E+00 0.760826E+00 0.301973E+00 + 7139 0.612812E+00 0.644168E+00 0.188512E+00 + 7140 0.599202E+00 0.630392E+00 0.312454E+00 + 7141 0.594424E+00 0.564102E+00 0.193642E+00 + 7142 0.530666E+00 0.560796E+00 -0.128921E-06 + 7143 0.415173E+00 0.488484E+00 0.282792E+00 + 7144 0.640966E+00 0.676992E+00 0.394778E+00 + 7145 0.567225E+00 0.619611E+00 0.447111E+00 + 7146 0.535711E+00 0.556666E+00 0.358683E+00 + 7147 0.527196E+00 0.510122E+00 0.261678E+00 + 7148 0.641909E+00 0.652562E+00 0.460079E-01 + 7149 0.581375E+00 0.577236E+00 0.104094E+00 + 7150 0.527814E+00 0.499293E+00 0.851420E-01 + 7151 0.698084E+00 0.776167E+00 0.395656E+00 + 7152 0.584698E+00 0.724745E+00 0.500000E+00 + 7153 0.649483E+00 0.799901E+00 0.500000E+00 + 7154 0.495689E+00 0.482897E+00 0.369025E+00 + 7155 0.457193E+00 0.513545E+00 0.421751E+00 + 7156 0.684721E+00 0.888507E+00 0.453120E+00 + 7157 0.200793E+00 0.379473E+00 0.500000E+00 + 7158 0.376747E+00 0.430548E+00 0.371079E+00 + 7159 0.530664E+00 0.560796E+00 0.500000E+00 + 7160 0.279464E+00 0.406743E+00 0.500000E+00 + 7161 0.435755E+00 0.497316E+00 0.500000E+00 + 7162 0.382139E+00 0.441794E+00 0.448195E+00 + 7163 0.469522E+00 0.435245E+00 0.417963E+00 + 7164 0.373825E+00 0.381772E+00 0.415747E+00 + 7165 0.254563E+00 0.355758E+00 0.463305E+00 + 7166 0.307363E+00 0.366374E+00 0.387944E+00 + 7167 0.332656E+00 0.324236E+00 0.463055E+00 + 7168 0.293515E+00 0.334579E+00 0.222573E+00 + 7169 0.289185E+00 0.315488E+00 0.326500E+00 + 7170 0.182984E+00 0.315318E+00 0.462825E+00 + 7171 0.746963E+00 0.850262E+00 0.359627E+00 + 7172 0.832183E-02 0.238870E+00 0.500000E+00 + 7173 0.731344E-01 0.249149E+00 0.465166E+00 + 7174 0.125331E+00 0.241150E+00 0.253486E+00 + 7175 -0.611326E-01 0.985603E-01 0.272335E+00 + 7176 -0.137429E-01 0.144048E+00 0.235675E+00 + 7177 0.149563E-01 0.145504E+00 0.305301E+00 + 7178 0.589220E-01 0.211053E+00 0.134579E+00 + 7179 0.542452E-01 0.277384E+00 0.473143E-01 + 7180 0.144327E+00 0.306609E+00 -0.128921E-06 + 7181 0.231747E+00 0.328293E+00 0.851856E-01 + 7182 0.259006E+00 0.386326E+00 0.155947E+00 + 7183 0.793829E-01 0.220448E+00 0.609547E-01 + 7184 0.217559E+00 0.335867E+00 -0.128921E-06 + 7185 0.273688E+00 0.379761E+00 0.385051E-01 + 7186 0.289009E-01 0.202308E+00 -0.128921E-06 + 7187 0.266973E-01 0.144659E+00 0.106930E+00 + 7188 -0.319773E-01 0.146607E+00 0.436985E-01 + 7189 -0.694367E-01 0.981427E-01 -0.128921E-06 + 7190 0.226786E+00 0.364025E+00 0.422229E+00 + 7191 -0.295577E-01 0.996634E-01 0.130035E+00 + 7192 0.251486E-01 0.997562E-01 0.177470E+00 + 7193 0.391083E-01 0.196666E+00 0.423895E+00 + 7194 -0.116247E-01 0.143130E+00 0.400171E+00 + 7195 0.138847E+00 0.255212E+00 0.429925E+00 + 7196 0.981717E-01 0.176358E+00 0.338775E+00 + 7197 0.140758E+00 0.230235E+00 0.323796E+00 + 7198 -0.107700E+00 0.955316E-01 0.500000E+00 + 7199 -0.326314E-01 0.167012E+00 0.500000E+00 + 7200 0.326704E+00 0.395405E+00 -0.128921E-06 + 7201 0.369009E+00 0.456936E+00 0.407846E-01 + 7202 0.392256E+00 0.442907E+00 0.134575E+00 + 7203 0.398454E+00 0.468400E+00 0.220006E+00 + 7204 0.351315E+00 0.447487E+00 0.259813E+00 + 7205 0.326254E+00 0.379766E+00 0.230874E+00 + 7206 0.342113E+00 0.389910E+00 0.157524E+00 + 7207 0.244425E+00 0.295089E+00 0.162083E+00 + 7208 0.425297E+00 0.548618E+00 -0.128921E-06 + 7209 0.448499E+00 0.480643E+00 0.707474E-01 + 7210 0.490193E+00 0.526077E+00 0.159516E+00 + 7211 0.165713E+00 0.259910E+00 0.724049E-01 + 7212 0.228764E+00 0.268456E+00 0.353839E-01 + 7213 0.165302E+00 0.247089E+00 0.170283E+00 + 7214 0.185843E+00 0.275289E+00 0.271419E+00 + 7215 0.705230E+00 0.876916E+00 -0.128921E-06 + 7216 0.701637E+00 0.829947E+00 0.118473E+00 + 7217 0.716642E+00 0.945727E+00 0.919964E-01 + 7218 0.641263E+00 0.701098E+00 0.159571E+00 + 7219 0.738932E+00 0.773029E+00 -0.128921E-06 + 7220 0.647666E+00 0.710953E+00 0.467390E-01 + 7221 0.730000E+00 0.100000E+01 -0.128921E-06 + 7222 0.711837E+00 0.933910E+00 0.226433E+00 + 7223 0.700286E+00 0.800500E+00 0.226093E+00 + 7224 0.660000E+00 0.100000E+01 0.500000E+00 + 7225 0.730187E+00 0.909639E+00 0.331448E+00 + 7226 0.666234E+00 0.671731E+00 0.293972E+00 + 7227 0.631887E+00 0.609562E+00 0.231294E+00 + 7228 0.653682E+00 0.734636E+00 0.422510E+00 + 7229 0.595033E+00 0.631870E+00 0.415336E+00 + 7230 0.583167E+00 0.580429E+00 0.351536E+00 + 7231 0.516120E+00 0.521605E+00 0.365157E+00 + 7232 0.464175E+00 0.505303E+00 0.287877E+00 + 7233 0.621867E+00 0.628270E+00 -0.128921E-06 + 7234 0.638219E+00 0.634991E+00 0.924691E-01 + 7235 0.539467E+00 0.529492E+00 0.411983E-01 + 7236 0.719405E+00 0.785233E+00 0.356770E+00 + 7237 0.536348E+00 0.713203E+00 0.500000E+00 + 7238 0.616425E+00 0.538756E+00 0.135723E+00 + 7239 0.569552E+00 0.513298E+00 0.249490E+00 + 7240 0.443522E+00 0.475850E+00 0.373519E+00 + 7241 0.656467E+00 0.860099E+00 0.500000E+00 + 7242 0.397708E+00 0.431976E+00 0.339930E+00 + 7243 0.514796E+00 0.620556E+00 0.500000E+00 + 7244 0.509919E+00 0.534149E+00 0.456968E+00 + 7245 0.397473E+00 0.463429E+00 0.500000E+00 + 7246 0.352754E+00 0.403043E+00 0.460991E+00 + 7247 0.457726E+00 0.446030E+00 0.463586E+00 + 7248 0.352752E+00 0.387866E+00 0.384707E+00 + 7249 0.247685E+00 0.371217E+00 0.500000E+00 + 7250 0.282345E+00 0.309705E+00 0.463477E+00 + 7251 0.242327E+00 0.347197E+00 0.334207E+00 + 7252 0.192700E+00 0.291484E+00 0.390350E+00 + 7253 0.280558E+00 0.297757E+00 0.295991E+00 + 7254 0.171777E+00 0.342857E+00 0.500000E+00 + 7255 0.629698E+00 0.684117E+00 0.500000E+00 + 7256 0.751767E+00 0.873282E+00 0.447183E+00 + 7257 -0.127162E-01 0.202570E+00 0.500000E+00 + 7258 0.745391E-01 0.274088E+00 0.500000E+00 + 7259 -0.824194E-01 0.973835E-01 0.192487E+00 + 7260 0.779106E-03 0.999999E-01 0.274622E+00 + 7261 0.488042E-01 0.165479E+00 0.229860E+00 + 7262 0.833321E-01 0.215010E+00 0.106842E+00 + 7263 0.126426E+00 0.213554E+00 0.196540E+00 + 7264 0.745381E-01 0.274088E+00 -0.128921E-06 + 7265 0.437728E-01 0.224617E+00 0.329600E-01 + 7266 0.189002E+00 0.300778E+00 -0.128921E-06 + 7267 0.274025E+00 0.373160E+00 0.115132E+00 + 7268 0.213734E+00 0.294078E+00 0.131420E+00 + 7269 0.279463E+00 0.406743E+00 -0.128921E-06 + 7270 -0.124916E-01 0.178994E+00 0.329449E-01 + 7271 -0.498412E-01 0.990427E-01 0.653294E-01 + 7272 0.311109E-01 0.146404E+00 0.140162E+00 + 7273 -0.636689E-02 0.999845E-01 0.197490E+00 + 7274 0.479503E-01 0.202751E+00 0.388000E+00 + 7275 0.733291E-02 0.153589E+00 0.447693E+00 + 7276 0.971317E-01 0.229958E+00 0.432819E+00 + 7277 0.135918E+00 0.175896E+00 0.310029E+00 + 7278 0.487228E-01 0.138931E+00 0.324371E+00 + 7279 -0.500792E-01 0.990337E-01 0.427970E+00 + 7280 0.380875E+00 0.408984E+00 0.393540E-01 + 7281 0.406277E+00 0.491376E+00 0.418837E-01 + 7282 0.245308E+00 0.344526E+00 0.413675E-01 + 7283 0.310083E+00 0.379590E+00 0.181764E+00 + 7284 0.387432E+00 0.465530E+00 0.261753E+00 + 7285 0.359341E+00 0.414240E+00 0.135003E+00 + 7286 0.371605E+00 0.402486E+00 0.234083E+00 + 7287 0.432236E+00 0.480097E+00 0.122430E+00 + 7288 0.313942E+00 0.347549E+00 0.675960E-01 + 7289 0.150972E+00 0.230229E+00 0.343104E-01 + 7290 0.218774E+00 0.273130E+00 0.213912E+00 + 7291 0.159654E+00 0.220087E+00 0.121666E+00 + 7292 0.698400E+00 0.816168E+00 -0.128921E-06 + 7293 0.712745E+00 0.925200E+00 0.141914E+00 + 7294 0.664843E+00 0.755980E+00 0.124696E+00 + 7295 0.706302E+00 0.736601E+00 0.442381E-01 + 7296 0.712667E+00 0.940392E+00 -0.128921E-06 + 7297 0.695115E+00 0.909614E+00 0.289041E+00 + 7298 0.678088E+00 0.954469E+00 0.443170E+00 + 7299 0.652492E+00 0.734009E+00 0.231057E+00 + 7300 0.663136E+00 0.676580E+00 0.924698E-01 + 7301 0.614098E+00 0.625536E+00 0.271896E+00 + 7302 0.626959E+00 0.582736E+00 0.196715E+00 + 7303 0.477680E+00 0.530517E+00 -0.128921E-06 + 7304 0.594786E+00 0.629023E+00 0.366600E+00 + 7305 0.682754E+00 0.652030E+00 0.326498E+00 + 7306 0.545325E+00 0.521469E+00 0.311267E+00 + 7307 0.511987E+00 0.567161E+00 0.416985E+00 + 7308 0.483533E+00 0.507565E+00 0.216144E+00 + 7309 0.442467E+00 0.498574E+00 0.324216E+00 + 7310 0.437844E+00 0.438170E+00 0.210975E+00 + 7311 0.629702E+00 0.684115E+00 -0.128921E-06 + 7312 0.599716E+00 0.624226E+00 0.541799E-01 + 7313 0.575314E+00 0.529453E+00 0.818999E-01 + 7314 0.580320E+00 0.558478E+00 -0.128921E-06 + 7315 0.653827E+00 0.769881E+00 0.443567E+00 + 7316 0.562774E+00 0.664047E+00 0.500000E+00 + 7317 0.596659E+00 0.512760E+00 0.182457E+00 + 7318 0.488487E+00 0.490767E+00 0.419511E+00 + 7319 0.196710E+00 0.352733E+00 0.462267E+00 + 7320 0.348008E+00 0.412134E+00 0.349435E+00 + 7321 0.477681E+00 0.530517E+00 0.500000E+00 + 7322 0.412348E+00 0.435755E+00 0.396643E+00 + 7323 0.361216E+00 0.429455E+00 0.500000E+00 + 7324 0.445327E+00 0.447757E+00 0.500000E+00 + 7325 0.320010E+00 0.368859E+00 0.461796E+00 + 7326 0.255130E+00 0.330766E+00 0.420017E+00 + 7327 0.302794E+00 0.351318E+00 0.330951E+00 + 7328 0.237305E+00 0.308667E+00 0.306707E+00 + 7329 0.288494E+00 0.300249E+00 0.183372E+00 + 7330 0.180009E+00 0.268950E+00 0.356630E+00 + 7331 0.150254E+00 0.252697E+00 0.293176E+00 + 7332 0.666283E+00 0.696772E+00 0.449187E+00 + 7333 0.729720E+00 0.848364E+00 0.412276E+00 + 7334 0.144329E+00 0.306609E+00 0.500000E+00 + 7335 0.510931E-01 0.237882E+00 0.500000E+00 + 7336 -0.454957E-01 0.992022E-01 0.193574E+00 + 7337 0.685786E-01 0.198851E+00 0.192254E+00 + 7338 0.117353E+00 0.244885E+00 0.134797E+00 + 7339 0.935590E-01 0.256116E+00 0.494236E-01 + 7340 0.476702E-01 0.199054E+00 0.682375E-01 + 7341 -0.326321E-01 0.167012E+00 -0.128921E-06 + 7342 -0.117179E-01 0.999470E-01 0.654641E-01 + 7343 -0.124905E-01 0.178994E+00 0.467055E+00 + 7344 0.801426E-01 0.168105E+00 0.401319E+00 + 7345 0.134553E+00 0.236657E+00 0.389242E+00 + 7346 0.686128E-01 0.142267E+00 0.276381E+00 + 7347 0.149779E+00 0.209970E+00 0.271793E+00 + 7348 0.793735E-02 0.999758E-01 0.346455E+00 + 7349 -0.515095E-01 0.132209E+00 0.500000E+00 + 7350 0.320008E+00 0.368859E+00 0.382038E-01 + 7351 0.358858E+00 0.438723E+00 0.853105E-01 + 7352 0.397471E+00 0.463430E+00 -0.128921E-06 + 7353 0.395121E+00 0.423439E+00 0.186925E+00 + 7354 0.272891E+00 0.353690E+00 0.197134E+00 + 7355 0.460292E+00 0.522548E+00 0.902450E-01 + 7356 0.271118E+00 0.334550E+00 0.761608E-01 + 7357 0.318017E+00 0.362050E+00 0.148294E+00 + 7358 0.222030E+00 0.272159E+00 0.765567E-01 + 7359 0.262789E+00 0.327298E+00 -0.128921E-06 + 7360 0.161931E+00 0.266023E+00 -0.128921E-06 + 7361 0.174559E+00 0.263941E+00 0.218763E+00 + 7362 0.767478E+00 0.908270E+00 0.117386E+00 + 7363 0.739602E+00 0.800254E+00 0.472729E-01 + 7364 0.731644E+00 0.791066E+00 0.140938E+00 + 7365 0.730119E+00 0.100000E+01 0.246420E+00 + 7366 0.725259E+00 0.838825E+00 0.288955E+00 + 7367 0.681530E+00 0.705362E+00 0.135106E+00 + 7368 0.626424E+00 0.678339E+00 0.223886E+00 + 7369 0.564188E+00 0.600451E+00 0.396245E+00 + 7370 0.645461E+00 0.632410E+00 0.358404E+00 + 7371 0.585891E+00 0.568700E+00 0.290867E+00 + 7372 0.428034E+00 0.500753E+00 0.210526E+00 + 7373 0.360181E+00 0.461051E+00 0.296679E+00 + 7374 0.569486E+00 0.602956E+00 -0.128921E-06 + 7375 0.613233E+00 0.597755E+00 0.140539E+00 + 7376 0.551178E+00 0.521406E+00 0.131572E+00 + 7377 0.521411E+00 0.511133E+00 -0.128921E-06 + 7378 0.682637E+00 0.700528E+00 -0.128921E-06 + 7379 0.701080E+00 0.727148E+00 0.265947E+00 + 7380 0.640736E+00 0.741428E+00 0.500000E+00 + 7381 0.561103E+00 0.489840E+00 0.206691E+00 + 7382 0.502960E+00 0.521481E+00 0.404942E+00 + 7383 0.505142E+00 0.473324E+00 0.279514E+00 + 7384 0.696999E+00 0.823440E+00 0.453830E+00 + 7385 0.661601E+00 0.923013E+00 0.500000E+00 + 7386 0.730543E+00 0.937488E+00 0.428637E+00 + 7387 0.466192E+00 0.502802E+00 0.457847E+00 + 7388 0.429117E+00 0.426083E+00 0.448929E+00 + 7389 0.326705E+00 0.395405E+00 0.500000E+00 + 7390 0.328795E+00 0.373509E+00 0.349104E+00 + 7391 0.348603E+00 0.357651E+00 0.422577E+00 + 7392 0.235722E+00 0.312016E+00 0.379435E+00 + 7393 0.274293E+00 0.280343E+00 0.228458E+00 + 7394 0.314547E+00 0.345979E+00 0.284459E+00 + 7395 0.621863E+00 0.628271E+00 0.500000E+00 + 7396 0.118357E+00 0.270796E+00 0.500000E+00 + 7397 0.834481E-01 0.212572E+00 0.231040E+00 + 7398 0.109860E+00 0.234804E+00 0.824449E-01 + 7399 0.510920E-01 0.237882E+00 -0.128921E-06 + 7400 0.283871E-01 0.178741E+00 0.329464E-01 + 7401 0.382915E-01 0.137206E+00 0.199201E+00 + 7402 0.688936E-01 0.202868E+00 0.446773E+00 + 7403 0.123208E+00 0.187020E+00 0.396107E+00 + 7404 0.251932E-01 0.146862E+00 0.373992E+00 + 7405 -0.119804E-01 0.999445E-01 0.423147E+00 + 7406 0.486149E+00 0.512578E+00 0.121263E+00 + 7407 0.349245E+00 0.382456E+00 0.895387E-01 + 7408 0.187261E+00 0.260352E+00 0.110186E+00 + 7409 0.233230E+00 0.293427E+00 -0.128921E-06 + 7410 0.724303E+00 0.770619E+00 0.888504E-01 + 7411 0.754561E+00 0.951100E+00 0.513600E-01 + 7412 0.681230E+00 0.686455E+00 0.184412E+00 + 7413 0.432479E+00 0.471134E+00 0.255181E+00 + 7414 0.441330E+00 0.426012E+00 0.145879E+00 + 7415 0.620176E+00 0.582006E+00 0.899678E-01 + 7416 0.700441E+00 0.703568E+00 0.351233E+00 + 7417 0.531634E+00 0.485237E+00 0.184146E+00 + 7418 0.603283E+00 0.549524E+00 0.259034E+00 + 7419 0.540977E+00 0.476022E+00 0.340491E+00 + 7420 0.402545E+00 0.468153E+00 0.333256E+00 + 7421 0.560155E+00 0.574077E+00 0.458746E+00 + 7422 0.400678E+00 0.407804E+00 0.412177E+00 + 7423 0.293919E+00 0.361322E+00 0.500000E+00 + 7424 0.305251E+00 0.323275E+00 0.414977E+00 + 7425 0.370934E+00 0.405217E+00 0.303168E+00 + 7426 0.191194E+00 0.251393E+00 0.313613E+00 + 7427 0.209426E+00 0.329882E+00 0.415534E+00 + 7428 0.641905E+00 0.652564E+00 0.453992E+00 + 7429 0.141539E+00 0.281142E+00 0.464275E+00 + 7430 0.695186E-01 0.166306E+00 0.144977E+00 + 7431 0.113987E+00 0.221636E+00 0.340894E-01 + 7432 0.228000E+00 0.255088E+00 0.142641E+00 + 7433 0.655078E+00 0.654438E+00 0.150494E+00 + 7434 0.484243E+00 0.501367E+00 0.574706E-01 + 7435 0.604673E+00 0.553849E+00 0.374060E-01 + 7436 0.477296E+00 0.441453E+00 0.337152E+00 + 7437 0.492734E+00 0.478768E+00 0.236176E+00 + 7438 0.272595E+00 0.314472E+00 0.376428E+00 + 7439 0.198858E+00 0.303483E+00 0.341567E+00 + 7440 0.177420E+00 0.247558E+00 0.250698E+00 + 7441 0.342301E+00 0.365918E+00 0.264907E+00 + 7442 0.182822E+00 0.278812E+00 0.420528E+00 + 7443 0.451953E+00 0.456633E+00 0.311505E+00 + 7444 0.289019E-01 0.202308E+00 0.500000E+00 + 7445 0.484409E-01 0.158535E+00 0.442585E+00 + 7446 0.930752E-01 0.211205E+00 0.466556E+00 + 7447 0.135668E+00 0.188134E+00 0.231303E+00 + 7448 0.289876E-01 0.996760E-01 0.231863E+00 + 7449 0.105707E+00 0.190372E+00 0.115344E+00 + 7450 0.815339E-01 0.145773E+00 0.172831E+00 + 7451 0.937696E-01 0.235477E+00 -0.128921E-06 + 7452 0.205156E+00 0.259792E+00 -0.128921E-06 + 7453 0.270699E+00 0.290524E+00 0.103903E+00 + 7454 0.305924E+00 0.337750E+00 0.173947E+00 + 7455 0.192726E+00 0.223675E+00 0.819305E-01 + 7456 0.288021E+00 0.335276E+00 0.372397E-01 + 7457 0.787471E-02 0.167399E+00 -0.128921E-06 + 7458 0.471975E-01 0.145947E+00 0.434519E-01 + 7459 0.437033E-01 0.992637E-01 0.127062E+00 + 7460 -0.310226E-01 0.996291E-01 -0.128921E-06 + 7461 0.352421E+00 0.343808E+00 0.321888E+00 + 7462 0.237861E+00 0.318864E+00 0.463217E+00 + 7463 -0.120707E-01 0.133177E+00 0.500000E+00 + 7464 0.124883E+00 0.165729E+00 0.432359E+00 + 7465 0.161932E+00 0.266022E+00 0.500000E+00 + 7466 0.175757E+00 0.242367E+00 0.425254E+00 + 7467 0.146216E+00 0.186799E+00 0.369178E+00 + 7468 0.104166E+00 0.141386E+00 0.306300E+00 + 7469 0.215763E+00 0.230158E+00 0.270090E+00 + 7470 0.393286E-01 0.994038E-01 0.355501E+00 + 7471 0.408333E+00 0.415041E+00 -0.128921E-06 + 7472 0.399978E+00 0.406502E+00 0.983656E-01 + 7473 0.362650E+00 0.349734E+00 0.454290E-01 + 7474 0.435752E+00 0.497316E+00 -0.128921E-06 + 7475 0.407419E+00 0.437243E+00 0.238042E+00 + 7476 0.371262E+00 0.353874E+00 0.237880E+00 + 7477 0.401306E+00 0.359382E+00 0.183705E+00 + 7478 0.267287E+00 0.250989E+00 0.187810E+00 + 7479 0.481608E+00 0.448261E+00 0.112536E+00 + 7480 0.499381E+00 0.432019E+00 0.193597E+00 + 7481 0.345665E+00 0.322817E+00 0.122094E+00 + 7482 0.271623E+00 0.259967E+00 0.351406E-01 + 7483 0.143561E+00 0.182730E+00 0.322854E-01 + 7484 0.192496E+00 0.196256E+00 0.158172E+00 + 7485 0.765037E+00 0.100000E+01 0.122055E+00 + 7486 0.754896E+00 0.892859E+00 -0.128921E-06 + 7487 0.754172E+00 0.824290E+00 0.115707E+00 + 7488 0.692890E+00 0.668672E+00 0.437759E-01 + 7489 0.750467E+00 0.732644E+00 0.134430E+00 + 7490 0.778397E+00 0.730631E+00 -0.128921E-06 + 7491 0.765205E+00 0.909671E+00 0.288794E+00 + 7492 0.729169E+00 0.775836E+00 0.260042E+00 + 7493 0.730000E+00 0.100000E+01 0.500000E+00 + 7494 0.800259E+00 0.910159E+00 0.415677E+00 + 7495 0.693899E+00 0.675196E+00 0.244075E+00 + 7496 0.736348E+00 0.732368E+00 0.333386E+00 + 7497 0.709273E+00 0.624549E+00 0.115740E+00 + 7498 0.635385E+00 0.571937E+00 0.331265E+00 + 7499 0.684773E+00 0.591692E+00 0.257306E+00 + 7500 0.652282E+00 0.551677E+00 0.152188E+00 + 7501 0.618377E+00 0.520688E+00 0.233096E+00 + 7502 0.566325E+00 0.516548E+00 -0.128921E-06 + 7503 0.701465E+00 0.670504E+00 0.442846E+00 + 7504 0.622596E+00 0.599099E+00 0.441549E+00 + 7505 0.569483E+00 0.602957E+00 0.500000E+00 + 7506 0.567165E+00 0.537626E+00 0.410505E+00 + 7507 0.743567E+00 0.667578E+00 0.365832E+00 + 7508 0.577754E+00 0.472509E+00 0.303730E+00 + 7509 0.481393E+00 0.435475E+00 0.288051E+00 + 7510 0.459633E+00 0.379040E+00 0.141839E+00 + 7511 0.635922E+00 0.598777E+00 0.429738E-01 + 7512 0.516589E+00 0.485725E+00 0.426732E-01 + 7513 0.580184E+00 0.484369E+00 0.936154E-01 + 7514 0.640965E+00 0.519506E+00 0.399574E-01 + 7515 0.759387E+00 0.794322E+00 0.434427E+00 + 7516 0.690911E+00 0.757475E+00 0.500000E+00 + 7517 0.592762E+00 0.451019E+00 0.200870E+00 + 7518 0.494324E+00 0.434106E+00 0.395453E+00 + 7519 0.705226E+00 0.876919E+00 0.500000E+00 + 7520 0.399800E+00 0.383294E+00 0.377803E+00 + 7521 0.411565E+00 0.392361E+00 0.303701E+00 + 7522 0.566322E+00 0.516548E+00 0.500000E+00 + 7523 0.485139E+00 0.480575E+00 0.500000E+00 + 7524 0.408335E+00 0.415041E+00 0.500000E+00 + 7525 0.365514E+00 0.356400E+00 0.462137E+00 + 7526 0.486046E+00 0.398919E+00 0.458242E+00 + 7527 0.307358E+00 0.317208E+00 0.500000E+00 + 7528 0.317947E+00 0.298173E+00 0.380697E+00 + 7529 0.271624E+00 0.259966E+00 0.464859E+00 + 7530 0.358366E+00 0.277607E+00 0.463765E+00 + 7531 0.246454E+00 0.274966E+00 0.388111E+00 + 7532 0.301750E+00 0.262161E+00 0.254574E+00 + 7533 0.222428E+00 0.211048E+00 0.353980E+00 + 7534 0.283882E-01 0.178741E+00 0.467053E+00 + 7535 0.937711E-01 0.235477E+00 0.500000E+00 + 7536 0.342148E-01 0.995489E-01 0.294974E+00 + 7537 0.901495E-01 0.153117E+00 0.228314E+00 + 7538 0.141527E+00 0.189816E+00 0.168446E+00 + 7539 0.116504E+00 0.195923E+00 0.719520E-01 + 7540 0.704765E-01 0.200703E+00 -0.128921E-06 + 7541 0.201326E+00 0.235385E+00 0.344854E-01 + 7542 0.248104E+00 0.311350E+00 0.121927E+00 + 7543 0.293917E+00 0.361322E+00 -0.128921E-06 + 7544 0.773827E-02 0.144506E+00 0.320503E-01 + 7545 0.652515E-01 0.144119E+00 0.107242E+00 + 7546 -0.310219E-01 0.996291E-01 0.500000E+00 + 7547 0.256799E-01 0.997458E-01 0.420213E+00 + 7548 0.125522E+00 0.216109E+00 0.422951E+00 + 7549 0.901757E-01 0.154102E+00 0.446528E+00 + 7550 0.158897E+00 0.241384E+00 0.465356E+00 + 7551 0.139364E+00 0.138729E+00 0.342397E+00 + 7552 0.183333E+00 0.225973E+00 0.378555E+00 + 7553 0.167592E+00 0.155653E+00 0.272805E+00 + 7554 0.373077E+00 0.382456E+00 -0.128921E-06 + 7555 0.417043E+00 0.442076E+00 0.403195E-01 + 7556 0.326149E+00 0.299081E+00 0.362396E-01 + 7557 0.404000E+00 0.398494E+00 0.149788E+00 + 7558 0.335082E+00 0.343876E+00 0.207270E+00 + 7559 0.403487E+00 0.433094E+00 0.288900E+00 + 7560 0.410894E+00 0.388711E+00 0.227718E+00 + 7561 0.239435E+00 0.221646E+00 0.182601E+00 + 7562 0.501077E+00 0.466241E+00 0.820003E-01 + 7563 0.505260E+00 0.441069E+00 0.150215E+00 + 7564 0.136266E+00 0.231666E+00 -0.128921E-06 + 7565 0.390269E+00 0.364536E+00 0.905010E-01 + 7566 0.309850E+00 0.279406E+00 0.117847E+00 + 7567 0.258950E+00 0.263603E+00 0.712187E-01 + 7568 0.247907E+00 0.252147E+00 -0.128921E-06 + 7569 0.264529E+00 0.243769E+00 0.271829E+00 + 7570 0.212627E+00 0.185039E+00 0.984595E-01 + 7571 0.746805E+00 0.832161E+00 -0.128921E-06 + 7572 0.796971E+00 0.940000E+00 0.435707E-01 + 7573 0.814415E+00 0.806433E+00 0.577223E-01 + 7574 0.784184E+00 0.924910E+00 0.215215E+00 + 7575 0.713444E+00 0.695885E+00 0.931117E-01 + 7576 0.751839E+00 0.767053E+00 0.187263E+00 + 7577 0.730612E+00 0.715721E+00 -0.128921E-06 + 7578 0.765283E+00 0.100000E+01 0.373793E+00 + 7579 0.712664E+00 0.940394E+00 0.500000E+00 + 7580 0.761077E+00 0.812250E+00 0.310654E+00 + 7581 0.730166E+00 0.694795E+00 0.304535E+00 + 7582 0.674596E+00 0.619764E+00 0.201004E+00 + 7583 0.651217E+00 0.594891E+00 0.298425E+00 + 7584 0.651343E+00 0.516193E+00 0.178394E+00 + 7585 0.485138E+00 0.480575E+00 -0.128921E-06 + 7586 0.638671E+00 0.630610E+00 0.421056E+00 + 7587 0.720691E+00 0.710412E+00 0.407949E+00 + 7588 0.607582E+00 0.572683E+00 0.467519E+00 + 7589 0.580580E+00 0.500225E+00 0.352866E+00 + 7590 0.543991E+00 0.449251E+00 0.237389E+00 + 7591 0.462741E+00 0.393459E+00 0.989210E-01 + 7592 0.483613E+00 0.390879E+00 0.192260E+00 + 7593 0.674157E+00 0.645302E+00 -0.128921E-06 + 7594 0.619524E+00 0.576064E+00 -0.128921E-06 + 7595 0.663726E+00 0.582676E+00 0.986147E-01 + 7596 0.570901E+00 0.486744E+00 0.460363E-01 + 7597 0.682633E+00 0.700530E+00 0.500000E+00 + 7598 0.698395E+00 0.816171E+00 0.500000E+00 + 7599 0.620701E+00 0.507038E+00 0.273218E+00 + 7600 0.532024E+00 0.441226E+00 0.350921E+00 + 7601 0.537672E+00 0.503148E+00 0.454363E+00 + 7602 0.454936E+00 0.417988E+00 0.360068E+00 + 7603 0.217560E+00 0.335867E+00 0.500000E+00 + 7604 0.387307E+00 0.380912E+00 0.345427E+00 + 7605 0.399918E+00 0.388558E+00 0.461286E+00 + 7606 0.493298E+00 0.431792E+00 0.500000E+00 + 7607 0.529388E+00 0.415872E+00 0.432474E+00 + 7608 0.339406E+00 0.349849E+00 0.500000E+00 + 7609 0.269028E+00 0.284645E+00 0.416921E+00 + 7610 0.358680E+00 0.303084E+00 0.420201E+00 + 7611 0.319890E+00 0.274382E+00 0.500000E+00 + 7612 0.249470E+00 0.292199E+00 0.348563E+00 + 7613 0.331532E+00 0.309106E+00 0.302746E+00 + 7614 0.389232E+00 0.337112E+00 0.272183E+00 + 7615 0.666372E+00 0.591999E+00 0.500000E+00 + 7616 0.795947E+00 0.847999E+00 0.500000E+00 + 7617 0.810928E+00 0.850125E+00 0.400902E+00 + 7618 0.787579E-02 0.167399E+00 0.500000E+00 + 7619 0.704776E-01 0.200703E+00 0.500000E+00 + 7620 0.645679E-01 0.983940E-01 0.252707E+00 + 7621 0.106498E+00 0.181603E+00 0.182871E+00 + 7622 0.896372E-01 0.164293E+00 0.796027E-01 + 7623 0.136200E+00 0.204186E+00 0.989772E-01 + 7624 0.178490E+00 0.226464E+00 -0.128921E-06 + 7625 0.278960E+00 0.312706E+00 0.152406E+00 + 7626 0.483859E-01 0.166516E+00 -0.128921E-06 + 7627 0.263333E-01 0.997328E-01 0.651102E-01 + 7628 -0.120715E-01 0.133177E+00 -0.128921E-06 + 7629 0.810962E-01 0.974666E-01 0.129430E+00 + 7630 0.747115E-02 0.999784E-01 0.500000E+00 + 7631 0.136267E+00 0.231666E+00 0.500000E+00 + 7632 0.159989E+00 0.203154E+00 0.447926E+00 + 7633 0.193029E+00 0.277224E+00 0.454011E+00 + 7634 0.105583E+00 0.144279E+00 0.386408E+00 + 7635 0.182597E+00 0.190307E+00 0.310173E+00 + 7636 0.137144E+00 0.137875E+00 0.262518E+00 + 7637 0.678241E-01 0.982277E-01 0.322756E+00 + 7638 0.339404E+00 0.349849E+00 -0.128921E-06 + 7639 0.406301E+00 0.380214E+00 0.583937E-01 + 7640 0.445325E+00 0.447757E+00 -0.128921E-06 + 7641 0.335346E+00 0.320000E+00 0.261336E+00 + 7642 0.368443E+00 0.351003E+00 0.137969E+00 + 7643 0.424382E+00 0.388845E+00 0.259340E+00 + 7644 0.432665E+00 0.389413E+00 0.184256E+00 + 7645 0.207886E+00 0.220896E+00 0.211776E+00 + 7646 0.480576E+00 0.425980E+00 0.624444E-01 + 7647 0.518321E+00 0.477631E+00 0.119177E+00 + 7648 0.486543E+00 0.411526E+00 0.148144E+00 + 7649 0.300831E+00 0.319331E+00 0.806319E-01 + 7650 0.243308E+00 0.228022E+00 0.342766E-01 + 7651 0.275778E+00 0.257328E+00 0.109643E+00 + 7652 0.199792E+00 0.219615E+00 0.127711E+00 + 7653 0.276885E+00 0.284611E+00 -0.128921E-06 + 7654 0.111923E+00 0.197764E+00 -0.128921E-06 + 7655 0.235713E+00 0.264414E+00 0.325336E+00 + 7656 0.795951E+00 0.847995E+00 -0.128921E-06 + 7657 0.835319E+00 0.929712E+00 0.119767E+00 + 7658 0.720861E+00 0.708696E+00 0.194461E+00 + 7659 0.768225E+00 0.764032E+00 0.451496E-01 + 7660 0.740507E+00 0.683511E+00 0.436848E-01 + 7661 0.767979E+00 0.951644E+00 -0.128921E-06 + 7662 0.781996E+00 0.824956E+00 0.247389E+00 + 7663 0.815539E+00 0.800978E+00 0.130099E+00 + 7664 0.800213E+00 0.100000E+01 0.246168E+00 + 7665 0.677487E+00 0.643187E+00 0.731011E-01 + 7666 0.653459E+00 0.611767E+00 0.152987E+00 + 7667 0.674409E+00 0.643114E+00 0.263612E+00 + 7668 0.646172E+00 0.545423E+00 0.240760E+00 + 7669 0.696899E+00 0.659738E+00 0.386637E+00 + 7670 0.700164E+00 0.738131E+00 0.456163E+00 + 7671 0.585603E+00 0.577126E+00 0.416568E+00 + 7672 0.591536E+00 0.534329E+00 0.309294E+00 + 7673 0.544537E+00 0.470216E+00 0.402417E+00 + 7674 0.481316E+00 0.442163E+00 0.252360E+00 + 7675 0.666376E+00 0.591997E+00 -0.128921E-06 + 7676 0.646515E+00 0.534914E+00 0.796308E-01 + 7677 0.543219E+00 0.465467E+00 -0.128921E-06 + 7678 0.614173E+00 0.527005E+00 -0.128921E-06 + 7679 0.781042E+00 0.803356E+00 0.377883E+00 + 7680 0.766295E+00 0.703932E+00 0.343841E+00 + 7681 0.625491E+00 0.469883E+00 0.203845E+00 + 7682 0.554100E+00 0.425444E+00 0.185639E+00 + 7683 0.525814E+00 0.443743E+00 0.295797E+00 + 7684 0.504334E+00 0.409686E+00 0.365564E+00 + 7685 0.765094E+00 0.910376E+00 0.457931E+00 + 7686 0.746801E+00 0.832164E+00 0.500000E+00 + 7687 0.800000E+00 0.100000E+01 0.500000E+00 + 7688 0.426602E+00 0.362418E+00 0.331106E+00 + 7689 0.521410E+00 0.511133E+00 0.500000E+00 + 7690 0.580316E+00 0.558479E+00 0.500000E+00 + 7691 0.440028E+00 0.387909E+00 0.411982E+00 + 7692 0.373079E+00 0.382456E+00 0.500000E+00 + 7693 0.454011E+00 0.399796E+00 0.500000E+00 + 7694 0.385276E+00 0.339916E+00 0.434264E+00 + 7695 0.343052E+00 0.330991E+00 0.374128E+00 + 7696 0.262791E+00 0.327298E+00 0.500000E+00 + 7697 0.319891E+00 0.273092E+00 0.438311E+00 + 7698 0.351205E+00 0.305652E+00 0.500000E+00 + 7699 0.301229E+00 0.215987E+00 0.224530E+00 + 7700 0.315578E+00 0.287908E+00 0.330830E+00 + 7701 0.674153E+00 0.645305E+00 0.500000E+00 + 7702 0.165555E+00 0.180224E+00 0.197774E+00 + 7703 0.904058E-01 0.187611E+00 0.331739E-01 + 7704 0.747043E-02 0.999784E-01 -0.128921E-06 + 7705 0.571126E-01 0.987432E-01 0.188359E+00 + 7706 0.113951E+00 0.137825E+00 0.145114E+00 + 7707 0.274126E-01 0.132942E+00 0.500000E+00 + 7708 0.109944E+00 0.174362E+00 0.467157E+00 + 7709 0.673805E-01 0.982511E-01 0.407888E+00 + 7710 0.158520E+00 0.188494E+00 0.401060E+00 + 7711 0.998475E-01 0.961598E-01 0.279910E+00 + 7712 0.173024E+00 0.135884E+00 0.324463E+00 + 7713 0.438166E+00 0.428664E+00 0.883478E-01 + 7714 0.343577E+00 0.323378E+00 0.178282E+00 + 7715 0.389076E+00 0.376119E+00 0.274032E+00 + 7716 0.275729E+00 0.279498E+00 0.140721E+00 + 7717 0.474587E+00 0.453375E+00 0.409358E-01 + 7718 0.359631E+00 0.324638E+00 0.790749E-01 + 7719 0.236089E+00 0.227273E+00 0.986676E-01 + 7720 0.307356E+00 0.317208E+00 -0.128921E-06 + 7721 0.306934E+00 0.267449E+00 0.740115E-01 + 7722 0.175512E+00 0.206529E+00 0.386639E-01 + 7723 0.243785E+00 0.228336E+00 0.241930E+00 + 7724 0.175117E+00 0.162919E+00 0.118339E+00 + 7725 0.816371E+00 0.868700E+00 0.659882E-01 + 7726 0.787346E+00 0.788436E+00 -0.128921E-06 + 7727 0.760049E+00 0.730919E+00 0.758206E-01 + 7728 0.800000E+00 0.100000E+01 -0.128921E-06 + 7729 0.795078E+00 0.785937E+00 0.185199E+00 + 7730 0.800330E+00 0.909710E+00 0.331066E+00 + 7731 0.759707E+00 0.762069E+00 0.304399E+00 + 7732 0.732662E+00 0.667615E+00 0.144051E+00 + 7733 0.733761E+00 0.659289E+00 0.271819E+00 + 7734 0.671750E+00 0.582080E+00 0.200028E+00 + 7735 0.628927E+00 0.582424E+00 0.390349E+00 + 7736 0.702875E+00 0.616431E+00 0.345476E+00 + 7737 0.650379E+00 0.544411E+00 0.291407E+00 + 7738 0.438320E+00 0.420381E+00 0.264809E+00 + 7739 0.425004E+00 0.364467E+00 0.138903E+00 + 7740 0.659119E+00 0.565603E+00 0.511976E-01 + 7741 0.603185E+00 0.508087E+00 0.670582E-01 + 7742 0.543761E+00 0.462624E+00 0.896662E-01 + 7743 0.568574E+00 0.469511E+00 0.153415E+00 + 7744 0.721874E+00 0.660187E+00 -0.128921E-06 + 7745 0.590623E+00 0.468873E+00 0.235807E+00 + 7746 0.515240E+00 0.445878E+00 0.452836E+00 + 7747 0.514037E+00 0.414433E+00 0.263197E+00 + 7748 0.574809E+00 0.435036E+00 0.348109E+00 + 7749 0.482498E+00 0.385345E+00 0.319685E+00 + 7750 0.738928E+00 0.773033E+00 0.500000E+00 + 7751 0.835088E+00 0.952952E+00 0.434559E+00 + 7752 0.584264E+00 0.532977E+00 0.461251E+00 + 7753 0.444821E+00 0.373795E+00 0.461943E+00 + 7754 0.505508E+00 0.398069E+00 0.403415E+00 + 7755 0.377840E+00 0.337665E+00 0.389082E+00 + 7756 0.230792E+00 0.285123E+00 0.421334E+00 + 7757 0.276887E+00 0.284610E+00 0.500000E+00 + 7758 0.377201E+00 0.322845E+00 0.465875E+00 + 7759 0.344919E+00 0.296010E+00 0.346912E+00 + 7760 0.280140E+00 0.266603E+00 0.348092E+00 + 7761 0.236977E+00 0.224721E+00 0.303318E+00 + 7762 0.189003E+00 0.300778E+00 0.500000E+00 + 7763 0.684462E+00 0.614568E+00 0.457497E+00 + 7764 0.619520E+00 0.576065E+00 0.500000E+00 + 7765 0.754892E+00 0.892863E+00 0.500000E+00 + 7766 0.826257E+00 0.838612E+00 0.453105E+00 + 7767 0.689872E-01 0.159371E+00 0.469389E+00 + 7768 0.133784E+00 0.207644E+00 0.466270E+00 + 7769 0.142485E+00 0.156752E+00 0.389678E+00 + 7770 0.176286E+00 0.186290E+00 0.251673E+00 + 7771 0.101923E+00 0.959986E-01 0.357280E+00 + 7772 0.386715E+00 0.328415E+00 0.215091E+00 + 7773 0.326630E+00 0.301002E+00 0.153411E+00 + 7774 0.153159E+00 0.193501E+00 -0.128921E-06 + 7775 0.170894E+00 0.173716E+00 0.724135E-01 + 7776 0.257957E+00 0.238519E+00 0.153171E+00 + 7777 0.807434E+00 0.853558E+00 0.170206E+00 + 7778 0.767853E+00 0.782434E+00 0.992533E-01 + 7779 0.708331E+00 0.615219E+00 0.180242E+00 + 7780 0.727122E+00 0.618991E+00 0.283176E+00 + 7781 0.682517E+00 0.610802E+00 0.377497E+00 + 7782 0.615897E+00 0.521991E+00 0.369337E+00 + 7783 0.464549E+00 0.391311E+00 0.226164E+00 + 7784 0.626230E+00 0.499427E+00 0.130377E+00 + 7785 0.658714E+00 0.540640E+00 -0.128921E-06 + 7786 0.745235E+00 0.761421E+00 0.388051E+00 + 7787 0.757695E+00 0.698782E+00 0.259455E+00 + 7788 0.509874E+00 0.403255E+00 0.307467E+00 + 7789 0.435127E+00 0.417828E+00 0.299970E+00 + 7790 0.767977E+00 0.951647E+00 0.500000E+00 + 7791 0.411672E+00 0.356402E+00 0.419641E+00 + 7792 0.233232E+00 0.293427E+00 0.500000E+00 + 7793 0.211667E+00 0.255286E+00 0.381046E+00 + 7794 0.404794E+00 0.345426E+00 0.304749E+00 + 7795 0.300970E+00 0.265591E+00 0.302389E+00 + 7796 0.801868E+00 0.836249E+00 0.346464E+00 + 7797 0.187586E+00 0.174687E+00 0.357806E+00 + 7798 0.721675E+00 0.652041E+00 0.214116E+00 + 7799 0.766832E+00 0.743884E+00 0.258774E+00 + 7800 0.228766E+00 0.268455E+00 0.464616E+00 + 7801 0.334193E+00 0.297350E+00 0.205527E+00 + 7802 0.304682E+00 0.259866E+00 0.173714E+00 + 7803 0.218899E+00 0.241579E+00 0.420222E+00 + 7804 0.483869E-01 0.166516E+00 0.500000E+00 + 7805 0.658318E-01 0.128703E+00 0.456310E+00 + 7806 0.111924E+00 0.197764E+00 0.500000E+00 + 7807 0.136353E+00 0.138393E+00 0.202485E+00 + 7808 0.124585E+00 0.139908E+00 0.860161E-01 + 7809 0.643778E-01 0.984033E-01 0.649457E-01 + 7810 0.229917E+00 0.158779E+00 0.203517E+00 + 7811 0.888167E-01 0.164366E+00 -0.128921E-06 + 7812 0.220334E+00 0.219899E+00 -0.128921E-06 + 7813 0.274115E-01 0.132942E+00 -0.128921E-06 + 7814 0.371482E+00 0.309029E+00 0.307938E+00 + 7815 0.130439E+00 0.132875E+00 0.425672E+00 + 7816 0.178491E+00 0.226464E+00 0.500000E+00 + 7817 0.201092E+00 0.191534E+00 0.414245E+00 + 7818 0.134012E+00 0.930786E-01 0.314748E+00 + 7819 0.226424E+00 0.170298E+00 0.335912E+00 + 7820 0.205470E+00 0.130954E+00 0.277425E+00 + 7821 0.262222E+00 0.190912E+00 0.278284E+00 + 7822 0.418337E+00 0.368178E+00 -0.128921E-06 + 7823 0.351204E+00 0.305653E+00 -0.128921E-06 + 7824 0.425464E+00 0.350800E+00 0.781285E-01 + 7825 0.336662E+00 0.252077E+00 0.450982E-01 + 7826 0.493298E+00 0.431792E+00 -0.128921E-06 + 7827 0.368643E+00 0.276372E+00 0.233900E+00 + 7828 0.418157E+00 0.351919E+00 0.249552E+00 + 7829 0.397938E+00 0.295894E+00 0.158858E+00 + 7830 0.468985E+00 0.389271E+00 0.267967E+00 + 7831 0.282116E+00 0.217967E+00 0.170688E+00 + 7832 0.514362E+00 0.424627E+00 0.106368E+00 + 7833 0.498598E+00 0.367594E+00 0.361640E-01 + 7834 0.489776E+00 0.355421E+00 0.136837E+00 + 7835 0.538297E+00 0.401895E+00 0.227565E+00 + 7836 0.392383E+00 0.278254E+00 0.848940E-01 + 7837 0.348313E+00 0.227605E+00 0.148029E+00 + 7838 0.290075E+00 0.243142E+00 -0.128921E-06 + 7839 0.264370E+00 0.230637E+00 0.701675E-01 + 7840 0.190682E+00 0.164886E+00 0.325997E-01 + 7841 0.261172E+00 0.239552E+00 0.375371E+00 + 7842 0.204361E+00 0.135541E+00 0.931718E-01 + 7843 0.835068E+00 0.100000E+01 0.121975E+00 + 7844 0.805221E+00 0.908111E+00 -0.128921E-06 + 7845 0.836707E+00 0.803821E+00 -0.128921E-06 + 7846 0.847525E+00 0.837042E+00 0.129753E+00 + 7847 0.807488E+00 0.721698E+00 0.445711E-01 + 7848 0.835177E+00 0.890883E+00 0.236511E+00 + 7849 0.717494E+00 0.634357E+00 0.563546E-01 + 7850 0.817560E+00 0.738798E+00 0.169941E+00 + 7851 0.769034E+00 0.674625E+00 -0.128921E-06 + 7852 0.812403E+00 0.757196E+00 0.264141E+00 + 7853 0.835493E+00 0.100000E+01 0.373237E+00 + 7854 0.870447E+00 0.909737E+00 0.415200E+00 + 7855 0.769823E+00 0.675123E+00 0.293945E+00 + 7856 0.748682E+00 0.589979E+00 0.136398E+00 + 7857 0.703164E+00 0.603526E+00 0.223919E+00 + 7858 0.681962E+00 0.568826E+00 0.377185E+00 + 7859 0.636905E+00 0.515981E+00 0.315431E+00 + 7860 0.715693E+00 0.554930E+00 0.258043E+00 + 7861 0.686827E+00 0.492361E+00 0.252048E+00 + 7862 0.697416E+00 0.531054E+00 0.182900E+00 + 7863 0.603159E+00 0.478218E+00 -0.128921E-06 + 7864 0.721870E+00 0.660190E+00 0.500000E+00 + 7865 0.736543E+00 0.662622E+00 0.422852E+00 + 7866 0.794330E+00 0.749738E+00 0.398848E+00 + 7867 0.648201E+00 0.569568E+00 0.458355E+00 + 7868 0.608173E+00 0.480268E+00 0.411566E+00 + 7869 0.587487E+00 0.427755E+00 0.313215E+00 + 7870 0.547488E+00 0.397325E+00 0.376767E+00 + 7871 0.703648E+00 0.554318E+00 -0.128921E-06 + 7872 0.709307E+00 0.539955E+00 0.783254E-01 + 7873 0.680965E+00 0.483752E+00 0.106776E+00 + 7874 0.600307E+00 0.448574E+00 0.758011E-01 + 7875 0.627539E+00 0.443500E+00 0.165774E+00 + 7876 0.702331E+00 0.475512E+00 0.392777E-01 + 7877 0.787342E+00 0.788439E+00 0.500000E+00 + 7878 0.543217E+00 0.465467E+00 0.500000E+00 + 7879 0.467784E+00 0.372074E+00 0.370744E+00 + 7880 0.805218E+00 0.908115E+00 0.500000E+00 + 7881 0.911177E+00 0.942490E+00 0.500000E+00 + 7882 0.418338E+00 0.368177E+00 0.500000E+00 + 7883 0.498235E+00 0.384395E+00 0.500000E+00 + 7884 0.479131E+00 0.333649E+00 0.463325E+00 + 7885 0.593255E+00 0.424752E+00 0.446953E+00 + 7886 0.402406E+00 0.314595E+00 0.403516E+00 + 7887 0.323941E+00 0.259228E+00 0.379420E+00 + 7888 0.317034E+00 0.222464E+00 0.468700E+00 + 7889 0.362210E+00 0.262788E+00 0.500000E+00 + 7890 0.245372E+00 0.208743E+00 0.456372E+00 + 7891 0.411613E+00 0.273831E+00 0.464264E+00 + 7892 0.341937E+00 0.234626E+00 0.321723E+00 + 7893 0.345945E+00 0.201523E+00 0.250511E+00 + 7894 0.875565E+00 0.816651E+00 0.289450E+00 + 7895 0.888178E-01 0.164366E+00 0.500000E+00 + 7896 0.169670E+00 0.133501E+00 0.218376E+00 + 7897 0.978513E-01 0.963118E-01 0.200364E+00 + 7898 0.142002E+00 0.151590E+00 0.117565E+00 + 7899 0.108034E+00 0.151399E+00 0.322242E-01 + 7900 0.220760E+00 0.150517E+00 0.157905E+00 + 7901 0.223633E+00 0.197827E+00 0.432247E-01 + 7902 0.459692E-01 0.991856E-01 -0.128921E-06 + 7903 0.390380E+00 0.322880E+00 0.353983E+00 + 7904 0.118432E+00 0.945963E-01 0.128069E+00 + 7905 0.459699E-01 0.991856E-01 0.500000E+00 + 7906 0.107051E+00 0.955856E-01 0.432008E+00 + 7907 0.180046E+00 0.149693E+00 0.425469E+00 + 7908 0.153160E+00 0.193501E+00 0.500000E+00 + 7909 0.205157E+00 0.259792E+00 0.500000E+00 + 7910 0.204532E+00 0.199295E+00 0.449260E+00 + 7911 0.167705E+00 0.891442E-01 0.353731E+00 + 7912 0.209885E+00 0.177017E+00 0.288678E+00 + 7913 0.243530E+00 0.170920E+00 0.374438E+00 + 7914 0.454009E+00 0.399796E+00 -0.128921E-06 + 7915 0.384055E+00 0.336894E+00 -0.128921E-06 + 7916 0.362208E+00 0.262788E+00 -0.128921E-06 + 7917 0.342620E+00 0.291551E+00 0.783780E-01 + 7918 0.404050E+00 0.301024E+00 0.268704E+00 + 7919 0.399920E+00 0.320925E+00 0.105654E+00 + 7920 0.362544E+00 0.267746E+00 0.168295E+00 + 7921 0.442406E+00 0.342008E+00 0.180408E+00 + 7922 0.448119E+00 0.354204E+00 0.296552E+00 + 7923 0.300498E+00 0.232446E+00 0.129520E+00 + 7924 0.262768E+00 0.182296E+00 0.231617E+00 + 7925 0.522025E+00 0.430292E+00 0.574713E-01 + 7926 0.564051E+00 0.433528E+00 0.133911E+00 + 7927 0.503812E+00 0.383650E+00 0.238612E+00 + 7928 0.261683E+00 0.212018E+00 -0.128921E-06 + 7929 0.318118E+00 0.226805E+00 0.317951E-01 + 7930 0.169122E+00 0.156303E+00 -0.128921E-06 + 7931 0.279872E+00 0.215367E+00 0.314218E+00 + 7932 0.205055E+00 0.133210E+00 0.460356E-01 + 7933 0.817714E+00 0.960244E+00 -0.128921E-06 + 7934 0.888476E+00 0.916279E+00 0.492738E-01 + 7935 0.845942E+00 0.773410E+00 0.998340E-01 + 7936 0.827063E+00 0.745486E+00 -0.128921E-06 + 7937 0.837598E+00 0.828084E+00 0.206914E+00 + 7938 0.754287E+00 0.661230E+00 0.931960E-01 + 7939 0.764618E+00 0.704499E+00 0.214655E+00 + 7940 0.870371E+00 0.100000E+01 0.245763E+00 + 7941 0.835165E+00 0.910086E+00 0.457746E+00 + 7942 0.890018E+00 0.939084E+00 0.372779E+00 + 7943 0.888501E+00 0.887991E+00 0.299853E+00 + 7944 0.805225E+00 0.761378E+00 0.342672E+00 + 7945 0.694296E+00 0.584237E+00 0.417296E-01 + 7946 0.703688E+00 0.584828E+00 0.150582E+00 + 7947 0.710707E+00 0.559652E+00 0.213429E+00 + 7948 0.780794E+00 0.617982E+00 0.257737E+00 + 7949 0.805179E+00 0.637198E+00 0.175200E+00 + 7950 0.664520E+00 0.536403E+00 0.356375E+00 + 7951 0.730133E+00 0.568436E+00 0.318164E+00 + 7952 0.683310E+00 0.520284E+00 0.285041E+00 + 7953 0.693498E+00 0.478551E+00 0.164278E+00 + 7954 0.640368E+00 0.472642E+00 0.255309E+00 + 7955 0.712800E+00 0.605637E+00 0.415621E+00 + 7956 0.730608E+00 0.715724E+00 0.500000E+00 + 7957 0.791446E+00 0.680262E+00 0.409713E+00 + 7958 0.603488E+00 0.523933E+00 0.436200E+00 + 7959 0.612887E+00 0.455016E+00 0.368900E+00 + 7960 0.569147E+00 0.427847E+00 0.259070E+00 + 7961 0.580001E+00 0.457806E+00 0.453429E+00 + 7962 0.483397E+00 0.337115E+00 0.794126E-01 + 7963 0.699030E+00 0.505206E+00 0.608985E-01 + 7964 0.631299E+00 0.470536E+00 0.403919E-01 + 7965 0.644668E+00 0.441878E+00 0.111392E+00 + 7966 0.759305E+00 0.620370E+00 -0.128921E-06 + 7967 0.797599E+00 0.754855E+00 0.454674E+00 + 7968 0.627039E+00 0.406249E+00 0.218639E+00 + 7969 0.545869E+00 0.386763E+00 0.341038E+00 + 7970 0.870000E+00 0.100000E+01 0.500000E+00 + 7971 0.467966E+00 0.365504E+00 0.416224E+00 + 7972 0.405031E+00 0.347887E+00 0.466313E+00 + 7973 0.542208E+00 0.412097E+00 0.500000E+00 + 7974 0.462114E+00 0.353413E+00 0.500000E+00 + 7975 0.545205E+00 0.384104E+00 0.418344E+00 + 7976 0.391137E+00 0.286514E+00 0.432362E+00 + 7977 0.287657E+00 0.229483E+00 0.418614E+00 + 7978 0.290077E+00 0.243142E+00 0.500000E+00 + 7979 0.394273E+00 0.292734E+00 0.500000E+00 + 7980 0.349420E+00 0.236274E+00 0.365316E+00 + 7981 0.352931E+00 0.236482E+00 0.253146E+00 + 7982 0.353402E+00 0.186603E+00 0.214809E+00 + 7983 0.712860E+00 0.606400E+00 0.500000E+00 + 7984 0.658710E+00 0.540642E+00 0.500000E+00 + 7985 0.836704E+00 0.803825E+00 0.500000E+00 + 7986 0.131929E+00 0.932924E-01 0.237011E+00 + 7987 0.178841E+00 0.139734E+00 0.157476E+00 + 7988 0.102365E+00 0.959636E-01 0.648794E-01 + 7989 0.211633E+00 0.181767E+00 0.239960E+00 + 7990 0.194094E+00 0.187932E+00 -0.128921E-06 + 7991 0.668603E-01 0.131505E+00 -0.128921E-06 + 7992 0.668611E-01 0.131505E+00 0.500000E+00 + 7993 0.126431E+00 0.136206E+00 0.461419E+00 + 7994 0.201328E+00 0.235385E+00 0.465514E+00 + 7995 0.194096E+00 0.187932E+00 0.500000E+00 + 7996 0.135697E+00 0.929033E-01 0.392520E+00 + 7997 0.229754E+00 0.213416E+00 0.407577E+00 + 7998 0.208178E+00 0.132981E+00 0.365075E+00 + 7999 0.455653E+00 0.382509E+00 0.370144E-01 + 8000 0.392052E+00 0.344711E+00 0.568514E-01 + 8001 0.319888E+00 0.274383E+00 -0.128921E-06 + 8002 0.352953E+00 0.269603E+00 0.284159E+00 + 8003 0.438330E+00 0.363286E+00 0.215265E+00 + 8004 0.433543E+00 0.282094E+00 0.210920E+00 + 8005 0.266758E+00 0.187167E+00 0.183990E+00 + 8006 0.521181E+00 0.408332E+00 0.164760E+00 + 8007 0.379649E+00 0.259688E+00 0.117036E+00 + 8008 0.276641E+00 0.208209E+00 0.330169E-01 + 8009 0.290315E+00 0.203858E+00 0.110804E+00 + 8010 0.129088E+00 0.160957E+00 -0.128921E-06 + 8011 0.306855E+00 0.213048E+00 0.271929E+00 + 8012 0.163412E+00 0.135845E+00 0.876818E-01 + 8013 0.213534E+00 0.164210E+00 0.697790E-01 + 8014 0.870000E+00 0.100000E+01 -0.128921E-06 + 8015 0.846120E+00 0.864007E+00 -0.128921E-06 + 8016 0.864873E+00 0.803554E+00 0.589081E-01 + 8017 0.876332E+00 0.918110E+00 0.159947E+00 + 8018 0.801200E+00 0.711318E+00 0.130108E+00 + 8019 0.833210E+00 0.749675E+00 0.218827E+00 + 8020 0.798979E+00 0.683774E+00 0.540665E-01 + 8021 0.831541E+00 0.840968E+00 0.263306E+00 + 8022 0.869738E+00 0.937560E+00 0.318057E+00 + 8023 0.789183E+00 0.714773E+00 0.293048E+00 + 8024 0.725337E+00 0.573452E+00 0.888752E-01 + 8025 0.732281E+00 0.567777E+00 0.183465E+00 + 8026 0.729125E+00 0.590387E+00 0.253658E+00 + 8027 0.770282E+00 0.664074E+00 0.236166E+00 + 8028 0.691001E+00 0.562346E+00 0.324351E+00 + 8029 0.685209E+00 0.525977E+00 0.234875E+00 + 8030 0.731344E+00 0.628988E+00 0.457425E+00 + 8031 0.677624E+00 0.570350E+00 0.430487E+00 + 8032 0.614169E+00 0.527006E+00 0.500000E+00 + 8033 0.818474E+00 0.663373E+00 0.351024E+00 + 8034 0.747735E+00 0.592174E+00 0.359550E+00 + 8035 0.651780E+00 0.493630E+00 0.342300E+00 + 8036 0.607842E+00 0.447104E+00 0.263688E+00 + 8037 0.585953E+00 0.421751E+00 0.398243E+00 + 8038 0.449037E+00 0.325241E+00 0.120637E+00 + 8039 0.712863E+00 0.606397E+00 -0.128921E-06 + 8040 0.673174E+00 0.529602E+00 0.524029E-01 + 8041 0.663325E+00 0.469610E+00 0.796437E-01 + 8042 0.559686E+00 0.435764E+00 0.457746E-01 + 8043 0.619269E+00 0.431914E+00 0.133473E+00 + 8044 0.682090E+00 0.450419E+00 0.138313E+00 + 8045 0.650008E+00 0.490874E+00 -0.128921E-06 + 8046 0.837462E+00 0.777812E+00 0.437422E+00 + 8047 0.553196E+00 0.396164E+00 0.298602E+00 + 8048 0.543296E+00 0.407854E+00 0.463164E+00 + 8049 0.508783E+00 0.373335E+00 0.356876E+00 + 8050 0.817712E+00 0.960247E+00 0.500000E+00 + 8051 0.778394E+00 0.730635E+00 0.500000E+00 + 8052 0.905282E+00 0.909630E+00 0.457454E+00 + 8053 0.940000E+00 0.100000E+01 0.500000E+00 + 8054 0.431640E+00 0.343195E+00 0.380552E+00 + 8055 0.384057E+00 0.336893E+00 0.500000E+00 + 8056 0.422184E+00 0.310698E+00 0.449435E+00 + 8057 0.360604E+00 0.289509E+00 0.388736E+00 + 8058 0.300375E+00 0.234326E+00 0.385011E+00 + 8059 0.331618E+00 0.232822E+00 0.500000E+00 + 8060 0.261685E+00 0.212018E+00 0.500000E+00 + 8061 0.412081E+00 0.281695E+00 0.322433E+00 + 8062 0.345868E+00 0.243744E+00 0.211326E+00 + 8063 0.259597E+00 0.186618E+00 0.323911E+00 + 8064 0.703645E+00 0.554321E+00 0.500000E+00 + 8065 0.846118E+00 0.864012E+00 0.500000E+00 + 8066 0.202772E+00 0.128904E+00 0.198604E+00 + 8067 0.132446E+00 0.932399E-01 0.177121E+00 + 8068 0.106198E+00 0.128872E+00 0.500000E+00 + 8069 0.155202E+00 0.158174E+00 0.467400E+00 + 8070 0.174136E+00 0.134777E+00 0.381697E+00 + 8071 0.165585E+00 0.894181E-01 0.269120E+00 + 8072 0.230496E+00 0.127720E+00 0.327756E+00 + 8073 0.234419E+00 0.166385E+00 0.264376E+00 + 8074 0.420878E+00 0.351552E+00 0.363739E-01 + 8075 0.366335E+00 0.301621E+00 0.362069E-01 + 8076 0.435648E+00 0.318850E+00 0.204378E+00 + 8077 0.420672E+00 0.273618E+00 0.243435E+00 + 8078 0.229640E+00 0.184721E+00 0.137329E+00 + 8079 0.512466E+00 0.381438E+00 0.862515E-01 + 8080 0.498235E+00 0.384395E+00 -0.128921E-06 + 8081 0.337546E+00 0.232706E+00 0.100735E+00 + 8082 0.234625E+00 0.181090E+00 -0.128921E-06 + 8083 0.165571E+00 0.137652E+00 0.446748E-01 + 8084 0.856647E+00 0.926275E+00 -0.128921E-06 + 8085 0.864189E+00 0.751849E+00 0.434508E-01 + 8086 0.876960E+00 0.854447E+00 0.476167E-01 + 8087 0.817003E+00 0.688975E+00 -0.128921E-06 + 8088 0.778302E+00 0.643078E+00 0.430681E-01 + 8089 0.824169E+00 0.688250E+00 0.100920E+00 + 8090 0.860377E+00 0.755592E+00 0.165425E+00 + 8091 0.892715E+00 0.842370E+00 0.360693E+00 + 8092 0.753507E+00 0.608776E+00 0.208704E+00 + 8093 0.802952E+00 0.679339E+00 0.200615E+00 + 8094 0.688641E+00 0.524570E+00 0.123100E+00 + 8095 0.658554E+00 0.463858E+00 0.222731E+00 + 8096 0.759344E+00 0.706996E+00 0.455963E+00 + 8097 0.655907E+00 0.541298E+00 0.408205E+00 + 8098 0.579609E+00 0.500183E+00 0.459468E+00 + 8099 0.774566E+00 0.636709E+00 0.376488E+00 + 8100 0.780644E+00 0.559350E+00 0.283437E+00 + 8101 0.620701E+00 0.459083E+00 0.318099E+00 + 8102 0.689846E+00 0.511430E+00 0.326022E+00 + 8103 0.529385E+00 0.354159E+00 0.187740E+00 + 8104 0.585329E+00 0.412021E+00 0.168973E+00 + 8105 0.593631E+00 0.429730E+00 -0.128921E-06 + 8106 0.694163E+00 0.503886E+00 -0.128921E-06 + 8107 0.852329E+00 0.706249E+00 0.382310E+00 + 8108 0.511144E+00 0.367122E+00 0.303945E+00 + 8109 0.576464E+00 0.374741E+00 0.342608E+00 + 8110 0.905845E+00 0.100000E+01 0.372362E+00 + 8111 0.856645E+00 0.926279E+00 0.500000E+00 + 8112 0.444240E+00 0.323354E+00 0.330912E+00 + 8113 0.506717E+00 0.371216E+00 0.466726E+00 + 8114 0.427721E+00 0.322794E+00 0.500000E+00 + 8115 0.463739E+00 0.313435E+00 0.413304E+00 + 8116 0.250121E+00 0.252207E+00 0.418065E+00 + 8117 0.361669E+00 0.252668E+00 0.422203E+00 + 8118 0.247908E+00 0.252147E+00 0.500000E+00 + 8119 0.285132E+00 0.208765E+00 0.464630E+00 + 8120 0.381785E+00 0.273139E+00 0.339180E+00 + 8121 0.311999E+00 0.248259E+00 0.345750E+00 + 8122 0.310503E+00 0.174570E+00 0.236206E+00 + 8123 0.332402E+00 0.234938E+00 0.288510E+00 + 8124 0.285821E+00 0.186176E+00 0.378076E+00 + 8125 0.721923E+00 0.576180E+00 0.458553E+00 + 8126 0.168114E+00 0.125646E+00 0.126443E+00 + 8127 0.129089E+00 0.160957E+00 0.500000E+00 + 8128 0.200690E+00 0.174859E+00 0.468063E+00 + 8129 0.844017E-01 0.972560E-01 0.500000E+00 + 8130 0.205286E+00 0.160273E+00 0.398184E+00 + 8131 0.199318E+00 0.846294E-01 0.306290E+00 + 8132 0.435706E+00 0.308254E+00 0.245191E+00 + 8133 0.555031E+00 0.376419E+00 0.124796E+00 + 8134 0.245644E+00 0.175537E+00 0.940909E-01 + 8135 0.305348E+00 0.208364E+00 0.688754E-01 + 8136 0.865918E+00 0.874348E+00 0.980092E-01 + 8137 0.844038E+00 0.791187E+00 0.342078E+00 + 8138 0.771209E+00 0.651272E+00 0.140637E+00 + 8139 0.704264E+00 0.470504E+00 0.210884E+00 + 8140 0.774624E+00 0.606421E+00 0.327528E+00 + 8141 0.653555E+00 0.498872E+00 0.385159E+00 + 8142 0.664395E+00 0.486734E+00 0.290178E+00 + 8143 0.503050E+00 0.328381E+00 0.197370E+00 + 8144 0.542209E+00 0.412097E+00 -0.128921E-06 + 8145 0.798590E+00 0.692173E+00 0.244736E+00 + 8146 0.831514E+00 0.701046E+00 0.327957E+00 + 8147 0.595474E+00 0.403280E+00 0.201602E+00 + 8148 0.544243E+00 0.369476E+00 0.254313E+00 + 8149 0.603335E+00 0.387941E+00 0.358767E+00 + 8150 0.482046E+00 0.343250E+00 0.329757E+00 + 8151 0.603156E+00 0.478219E+00 0.500000E+00 + 8152 0.539560E+00 0.352753E+00 0.393956E+00 + 8153 0.351762E+00 0.221203E+00 0.421158E+00 + 8154 0.318499E+00 0.209911E+00 0.188781E+00 + 8155 0.878606E+00 0.842778E+00 0.457185E+00 + 8156 0.462109E+00 0.353471E+00 0.240724E+00 + 8157 0.204231E+00 0.121345E+00 0.139087E+00 + 8158 0.756180E+00 0.615004E+00 0.896183E-01 + 8159 0.558530E+00 0.412733E+00 0.852252E-01 + 8160 0.547219E+00 0.385845E+00 0.174816E+00 + 8161 0.506692E+00 0.348209E+00 0.424671E+00 + 8162 0.379508E+00 0.244652E+00 0.465215E+00 + 8163 0.431103E+00 0.321310E+00 0.292689E+00 + 8164 0.162880E+00 0.897626E-01 0.194023E+00 + 8165 0.237368E+00 0.124360E+00 0.230905E+00 + 8166 0.140161E+00 0.924274E-01 0.653946E-01 + 8167 0.844010E-01 0.972560E-01 -0.128921E-06 + 8168 0.269647E+00 0.158245E+00 0.154487E+00 + 8169 0.230523E+00 0.158289E+00 0.324172E-01 + 8170 0.411785E+00 0.267365E+00 0.283498E+00 + 8171 0.437115E+00 0.293499E+00 0.367213E+00 + 8172 0.137515E+00 0.927114E-01 0.452447E+00 + 8173 0.208534E+00 0.130418E+00 0.424200E+00 + 8174 0.169123E+00 0.156303E+00 0.500000E+00 + 8175 0.220336E+00 0.219899E+00 0.500000E+00 + 8176 0.233001E+00 0.789299E-01 0.345398E+00 + 8177 0.267856E+00 0.167986E+00 0.431006E+00 + 8178 0.296674E+00 0.147853E+00 0.325296E+00 + 8179 0.462113E+00 0.353413E+00 -0.128921E-06 + 8180 0.394271E+00 0.292734E+00 -0.128921E-06 + 8181 0.444782E+00 0.303183E+00 0.734989E-01 + 8182 0.391967E+00 0.240797E+00 0.339644E-01 + 8183 0.331617E+00 0.232822E+00 -0.128921E-06 + 8184 0.392098E+00 0.236233E+00 0.220205E+00 + 8185 0.467185E+00 0.290339E+00 0.156317E+00 + 8186 0.477744E+00 0.254967E+00 0.228967E+00 + 8187 0.484654E+00 0.323519E+00 0.257104E+00 + 8188 0.323865E+00 0.192805E+00 0.110386E+00 + 8189 0.556860E+00 0.387075E+00 0.402281E-01 + 8190 0.540745E+00 0.324343E+00 0.110310E+00 + 8191 0.599290E+00 0.388018E+00 0.104574E+00 + 8192 0.567611E+00 0.384035E+00 0.220648E+00 + 8193 0.426326E+00 0.222505E+00 0.122070E+00 + 8194 0.274652E+00 0.173026E+00 -0.128921E-06 + 8195 0.319738E+00 0.186387E+00 0.331440E-01 + 8196 0.241728E+00 0.118845E+00 0.880476E-01 + 8197 0.184233E+00 0.120063E+00 -0.128921E-06 + 8198 0.905119E+00 0.100000E+01 0.121849E+00 + 8199 0.911178E+00 0.942486E+00 -0.128921E-06 + 8200 0.910411E+00 0.841202E+00 0.691825E-01 + 8201 0.876794E+00 0.760365E+00 -0.128921E-06 + 8202 0.896853E+00 0.824603E+00 0.194190E+00 + 8203 0.892943E+00 0.724346E+00 0.139135E+00 + 8204 0.841206E+00 0.666990E+00 0.448739E-01 + 8205 0.857585E+00 0.759314E+00 0.288229E+00 + 8206 0.740479E+00 0.598195E+00 0.418625E-01 + 8207 0.976035E+00 0.910152E+00 0.286813E+00 + 8208 0.940755E+00 0.909089E+00 0.414471E+00 + 8209 0.897599E+00 0.880081E+00 0.500000E+00 + 8210 0.917864E+00 0.809795E+00 0.452985E+00 + 8211 0.818666E+00 0.629507E+00 0.244145E+00 + 8212 0.749396E+00 0.516626E+00 0.115337E+00 + 8213 0.790496E+00 0.588481E+00 0.135070E+00 + 8214 0.733891E+00 0.526242E+00 0.233588E+00 + 8215 0.746674E+00 0.550029E+00 0.399175E+00 + 8216 0.686076E+00 0.494989E+00 0.368338E+00 + 8217 0.759139E+00 0.505128E+00 0.317698E+00 + 8218 0.694309E+00 0.441819E+00 0.252982E+00 + 8219 0.679746E+00 0.415668E+00 0.184007E+00 + 8220 0.752027E+00 0.453566E+00 0.181196E+00 + 8221 0.640730E+00 0.442515E+00 -0.128921E-06 + 8222 0.769030E+00 0.674629E+00 0.500000E+00 + 8223 0.768122E+00 0.589806E+00 0.458027E+00 + 8224 0.836698E+00 0.712601E+00 0.455207E+00 + 8225 0.658941E+00 0.523035E+00 0.460433E+00 + 8226 0.823040E+00 0.624759E+00 0.373248E+00 + 8227 0.620120E+00 0.446711E+00 0.409289E+00 + 8228 0.829636E+00 0.538925E+00 0.274907E+00 + 8229 0.645199E+00 0.408544E+00 0.328940E+00 + 8230 0.596494E+00 0.369345E+00 0.416723E+00 + 8231 0.593629E+00 0.429731E+00 0.500000E+00 + 8232 0.556612E+00 0.297933E+00 0.192879E+00 + 8233 0.738957E+00 0.516914E+00 -0.128921E-06 + 8234 0.729734E+00 0.453750E+00 0.905474E-01 + 8235 0.717699E+00 0.419871E+00 -0.128921E-06 + 8236 0.895301E+00 0.707465E+00 0.387176E+00 + 8237 0.643697E+00 0.368675E+00 0.263397E+00 + 8238 0.537335E+00 0.323197E+00 0.335709E+00 + 8239 0.541064E+00 0.366025E+00 0.500000E+00 + 8240 0.961743E+00 0.951945E+00 0.500000E+00 + 8241 0.470843E+00 0.308505E+00 0.500000E+00 + 8242 0.506934E+00 0.287106E+00 0.443278E+00 + 8243 0.428946E+00 0.268597E+00 0.431120E+00 + 8244 0.332637E+00 0.196889E+00 0.383448E+00 + 8245 0.336404E+00 0.195495E+00 0.444873E+00 + 8246 0.302458E+00 0.202874E+00 0.500000E+00 + 8247 0.372507E+00 0.221226E+00 0.500000E+00 + 8248 0.360011E+00 0.161488E+00 0.248721E+00 + 8249 0.357062E+00 0.177792E+00 0.179804E+00 + 8250 0.738954E+00 0.516917E+00 0.500000E+00 + 8251 0.196954E+00 0.849948E-01 0.222554E+00 + 8252 0.155004E+00 0.907328E-01 0.129620E+00 + 8253 0.145347E+00 0.125054E+00 -0.128921E-06 + 8254 0.244464E+00 0.122233E+00 0.186270E+00 + 8255 0.246064E+00 0.138307E+00 0.119691E+00 + 8256 0.279725E+00 0.178408E+00 0.438932E-01 + 8257 0.208829E+00 0.150423E+00 -0.128921E-06 + 8258 0.402587E+00 0.284510E+00 0.366720E+00 + 8259 0.122694E+00 0.942000E-01 0.500000E+00 + 8260 0.181838E+00 0.117552E+00 0.468384E+00 + 8261 0.244538E+00 0.179742E+00 0.450264E+00 + 8262 0.201077E+00 0.843543E-01 0.397411E+00 + 8263 0.264677E+00 0.139824E+00 0.344869E+00 + 8264 0.279344E+00 0.142839E+00 0.259264E+00 + 8265 0.427720E+00 0.322794E+00 -0.128921E-06 + 8266 0.385416E+00 0.270315E+00 0.435858E-01 + 8267 0.348919E+00 0.215516E+00 0.339504E-01 + 8268 0.386105E+00 0.244929E+00 0.269575E+00 + 8269 0.449728E+00 0.289635E+00 0.291647E+00 + 8270 0.429022E+00 0.277029E+00 0.118578E+00 + 8271 0.380792E+00 0.222037E+00 0.163966E+00 + 8272 0.483295E+00 0.296788E+00 0.205273E+00 + 8273 0.442934E+00 0.243774E+00 0.201361E+00 + 8274 0.516015E+00 0.349140E+00 0.273170E+00 + 8275 0.326487E+00 0.181976E+00 0.151074E+00 + 8276 0.533545E+00 0.338268E+00 0.640777E-01 + 8277 0.504435E+00 0.339031E+00 -0.128921E-06 + 8278 0.578815E+00 0.332274E+00 0.120111E+00 + 8279 0.533376E+00 0.302460E+00 0.143325E+00 + 8280 0.324224E+00 0.198500E+00 0.343450E+00 + 8281 0.216078E+00 0.819078E-01 0.694766E-01 + 8282 0.940000E+00 0.100000E+01 -0.128921E-06 + 8283 0.897601E+00 0.880077E+00 -0.128921E-06 + 8284 0.919574E+00 0.823753E+00 0.130839E+00 + 8285 0.876743E+00 0.707874E+00 0.665523E-01 + 8286 0.927680E+00 0.775330E+00 -0.128921E-06 + 8287 0.905374E+00 0.911639E+00 0.204252E+00 + 8288 0.897861E+00 0.770553E+00 0.225763E+00 + 8289 0.817116E+00 0.638282E+00 0.939646E-01 + 8290 0.833938E+00 0.690348E+00 0.277341E+00 + 8291 0.806568E+00 0.634237E+00 -0.128921E-06 + 8292 0.956978E+00 0.893560E+00 0.359317E+00 + 8293 0.888548E+00 0.760320E+00 0.381211E+00 + 8294 0.741584E+00 0.538119E+00 0.417818E-01 + 8295 0.799143E+00 0.554387E+00 0.113920E+00 + 8296 0.726828E+00 0.544732E+00 0.139289E+00 + 8297 0.807601E+00 0.587946E+00 0.181173E+00 + 8298 0.831558E+00 0.592470E+00 0.278110E+00 + 8299 0.727137E+00 0.511549E+00 0.412778E+00 + 8300 0.723667E+00 0.541927E+00 0.291680E+00 + 8301 0.778016E+00 0.537692E+00 0.345750E+00 + 8302 0.751193E+00 0.475590E+00 0.143630E+00 + 8303 0.638354E+00 0.419195E+00 0.276595E+00 + 8304 0.706129E+00 0.413871E+00 0.205777E+00 + 8305 0.771851E+00 0.503335E+00 0.227281E+00 + 8306 0.759302E+00 0.620373E+00 0.500000E+00 + 8307 0.757430E+00 0.614935E+00 0.417895E+00 + 8308 0.824687E+00 0.667979E+00 0.460093E+00 + 8309 0.648453E+00 0.488379E+00 0.435091E+00 + 8310 0.876896E+00 0.662501E+00 0.349018E+00 + 8311 0.624399E+00 0.416857E+00 0.382678E+00 + 8312 0.701280E+00 0.459421E+00 0.323161E+00 + 8313 0.591409E+00 0.348186E+00 0.361364E+00 + 8314 0.477692E+00 0.304579E+00 0.633851E-01 + 8315 0.583741E+00 0.345494E+00 0.206925E+00 + 8316 0.675248E+00 0.411856E+00 0.871911E-01 + 8317 0.604249E+00 0.402841E+00 0.390019E-01 + 8318 0.684411E+00 0.455036E+00 -0.128921E-06 + 8319 0.630097E+00 0.381600E+00 0.176613E+00 + 8320 0.754630E+00 0.459921E+00 0.392111E-01 + 8321 0.827060E+00 0.745490E+00 0.500000E+00 + 8322 0.887156E+00 0.819262E+00 0.500000E+00 + 8323 0.580069E+00 0.353725E+00 0.298965E+00 + 8324 0.486810E+00 0.337499E+00 0.367622E+00 + 8325 0.587304E+00 0.383104E+00 0.500000E+00 + 8326 0.548810E+00 0.357099E+00 0.436972E+00 + 8327 0.991493E+00 0.955833E+00 0.443928E+00 + 8328 0.640727E+00 0.442517E+00 0.500000E+00 + 8329 0.504435E+00 0.339030E+00 0.500000E+00 + 8330 0.448577E+00 0.289494E+00 0.463322E+00 + 8331 0.459131E+00 0.271136E+00 0.379747E+00 + 8332 0.388296E+00 0.223733E+00 0.423628E+00 + 8333 0.305787E+00 0.202947E+00 0.425284E+00 + 8334 0.342637E+00 0.192500E+00 0.500000E+00 + 8335 0.403808E+00 0.249943E+00 0.500000E+00 + 8336 0.420980E+00 0.235027E+00 0.334511E+00 + 8337 0.368440E+00 0.128158E+00 0.229340E+00 + 8338 0.694160E+00 0.503889E+00 0.500000E+00 + 8339 0.195459E+00 0.852237E-01 0.142012E+00 + 8340 0.122693E+00 0.942000E-01 -0.128921E-06 + 8341 0.281635E+00 0.146948E+00 0.208666E+00 + 8342 0.246878E+00 0.115868E+00 0.148618E+00 + 8343 0.241754E+00 0.140608E+00 0.585330E-01 + 8344 0.145348E+00 0.125054E+00 0.500000E+00 + 8345 0.167206E+00 0.892090E-01 0.435144E+00 + 8346 0.234627E+00 0.181090E+00 0.500000E+00 + 8347 0.243436E+00 0.127346E+00 0.406449E+00 + 8348 0.239366E+00 0.125139E+00 0.287187E+00 + 8349 0.325433E+00 0.182360E+00 0.273880E+00 + 8350 0.453558E+00 0.328238E+00 0.370504E-01 + 8351 0.372505E+00 0.221226E+00 -0.128921E-06 + 8352 0.364890E+00 0.226390E+00 0.758882E-01 + 8353 0.428493E+00 0.243228E+00 0.163209E+00 + 8354 0.360698E+00 0.210015E+00 0.191270E+00 + 8355 0.455177E+00 0.271112E+00 0.256588E+00 + 8356 0.492230E+00 0.315144E+00 0.314551E+00 + 8357 0.573991E+00 0.356651E+00 0.799955E-01 + 8358 0.541065E+00 0.366025E+00 -0.128921E-06 + 8359 0.550198E+00 0.336025E+00 0.156204E+00 + 8360 0.485066E+00 0.290083E+00 0.103700E+00 + 8361 0.540134E+00 0.328664E+00 0.240697E+00 + 8362 0.302457E+00 0.202874E+00 -0.128921E-06 + 8363 0.296699E+00 0.172902E+00 0.776853E-01 + 8364 0.248115E+00 0.143355E+00 -0.128921E-06 + 8365 0.198562E+00 0.847467E-01 -0.128921E-06 + 8366 0.940107E+00 0.912660E+00 0.811709E-01 + 8367 0.887159E+00 0.819257E+00 -0.128921E-06 + 8368 0.922440E+00 0.762630E+00 0.802601E-01 + 8369 0.866035E+00 0.703330E+00 -0.128921E-06 + 8370 0.913496E+00 0.847074E+00 0.236665E+00 + 8371 0.852995E+00 0.708369E+00 0.188450E+00 + 8372 0.795803E+00 0.581220E+00 -0.128921E-06 + 8373 0.875117E+00 0.651919E+00 0.927913E-01 + 8374 0.940633E+00 0.100000E+01 0.245142E+00 + 8375 0.923439E+00 0.864908E+00 0.445514E+00 + 8376 0.903986E+00 0.782290E+00 0.317894E+00 + 8377 0.832370E+00 0.630095E+00 0.285417E+00 + 8378 0.777552E+00 0.544675E+00 0.778909E-01 + 8379 0.779769E+00 0.556525E+00 0.162598E+00 + 8380 0.806651E+00 0.569581E+00 0.244078E+00 + 8381 0.728067E+00 0.533228E+00 0.339230E+00 + 8382 0.716824E+00 0.486508E+00 0.275224E+00 + 8383 0.716475E+00 0.484693E+00 0.134498E+00 + 8384 0.666189E+00 0.403665E+00 0.227038E+00 + 8385 0.778299E+00 0.643081E+00 0.456932E+00 + 8386 0.817001E+00 0.688979E+00 0.500000E+00 + 8387 0.713426E+00 0.538914E+00 0.459860E+00 + 8388 0.863566E+00 0.723177E+00 0.423003E+00 + 8389 0.631296E+00 0.470537E+00 0.459608E+00 + 8390 0.802744E+00 0.581386E+00 0.385665E+00 + 8391 0.651627E+00 0.448096E+00 0.350631E+00 + 8392 0.598385E+00 0.398336E+00 0.300764E+00 + 8393 0.622818E+00 0.389253E+00 0.418738E+00 + 8394 0.521636E+00 0.267217E+00 0.191952E+00 + 8395 0.736273E+00 0.493001E+00 0.346837E-01 + 8396 0.683097E+00 0.437860E+00 0.374096E-01 + 8397 0.638900E+00 0.399227E+00 0.932442E-01 + 8398 0.631809E+00 0.395689E+00 -0.128921E-06 + 8399 0.563853E+00 0.346164E+00 0.465166E+00 + 8400 0.577119E+00 0.322614E+00 0.313094E+00 + 8401 0.101000E+01 0.100000E+01 0.500000E+00 + 8402 0.436757E+00 0.278818E+00 0.500000E+00 + 8403 0.478339E+00 0.280066E+00 0.463337E+00 + 8404 0.554061E+00 0.323858E+00 0.373868E+00 + 8405 0.427314E+00 0.272477E+00 0.392685E+00 + 8406 0.365685E+00 0.203430E+00 0.383079E+00 + 8407 0.365769E+00 0.198221E+00 0.466505E+00 + 8408 0.297079E+00 0.179895E+00 0.467026E+00 + 8409 0.412693E+00 0.208492E+00 0.500000E+00 + 8410 0.384158E+00 0.150368E+00 0.208251E+00 + 8411 0.315719E+00 0.165100E+00 0.381643E+00 + 8412 0.106197E+00 0.128872E+00 -0.128921E-06 + 8413 0.228613E+00 0.797240E-01 0.180866E+00 + 8414 0.178191E+00 0.877358E-01 0.683257E-01 + 8415 0.208830E+00 0.150423E+00 0.500000E+00 + 8416 0.230210E+00 0.794367E-01 0.258236E+00 + 8417 0.283728E+00 0.124975E+00 0.374794E+00 + 8418 0.419582E+00 0.298116E+00 0.363343E-01 + 8419 0.403806E+00 0.249944E+00 -0.128921E-06 + 8420 0.371183E+00 0.216090E+00 0.296719E+00 + 8421 0.478016E+00 0.256523E+00 0.190571E+00 + 8422 0.424363E+00 0.220289E+00 0.253431E+00 + 8423 0.323295E+00 0.152009E+00 0.184274E+00 + 8424 0.496598E+00 0.314267E+00 0.367037E-01 + 8425 0.594680E+00 0.370473E+00 0.156442E+00 + 8426 0.366478E+00 0.201958E+00 0.107164E+00 + 8427 0.269890E+00 0.150511E+00 0.321994E-01 + 8428 0.305398E+00 0.156606E+00 0.105526E+00 + 8429 0.342635E+00 0.192501E+00 -0.128921E-06 + 8430 0.222772E+00 0.113921E+00 -0.128921E-06 + 8431 0.949895E+00 0.895768E+00 -0.128921E-06 + 8432 0.937050E+00 0.872575E+00 0.149026E+00 + 8433 0.948748E+00 0.800193E+00 0.472931E-01 + 8434 0.916213E+00 0.717750E+00 -0.128921E-06 + 8435 0.833162E+00 0.672723E+00 0.159489E+00 + 8436 0.910035E+00 0.719090E+00 0.268381E+00 + 8437 0.854883E+00 0.648090E+00 -0.128921E-06 + 8438 0.797606E+00 0.584344E+00 0.721619E-01 + 8439 0.938905E+00 0.754356E+00 0.156467E+00 + 8440 0.976419E+00 0.100000E+01 0.371051E+00 + 8441 0.944094E+00 0.847245E+00 0.296691E+00 + 8442 0.749267E+00 0.567817E+00 -0.128921E-06 + 8443 0.737337E+00 0.514265E+00 0.679636E-01 + 8444 0.767820E+00 0.560834E+00 0.212190E+00 + 8445 0.723728E+00 0.437162E+00 0.167797E+00 + 8446 0.752535E+00 0.436493E+00 0.244680E+00 + 8447 0.795838E+00 0.614647E+00 0.401888E+00 + 8448 0.689431E+00 0.488032E+00 0.425838E+00 + 8449 0.650005E+00 0.490875E+00 0.500000E+00 + 8450 0.846253E+00 0.594015E+00 0.349675E+00 + 8451 0.807362E+00 0.503087E+00 0.274133E+00 + 8452 0.682099E+00 0.433441E+00 0.311027E+00 + 8453 0.592304E+00 0.394994E+00 0.265762E+00 + 8454 0.528978E+00 0.294305E+00 0.240465E+00 + 8455 0.630716E+00 0.438516E+00 0.603172E-01 + 8456 0.589698E+00 0.381840E+00 0.624343E-01 + 8457 0.663356E+00 0.402808E+00 0.128855E+00 + 8458 0.728417E+00 0.467614E+00 -0.128921E-06 + 8459 0.727185E+00 0.409484E+00 0.457404E-01 + 8460 0.876791E+00 0.760369E+00 0.500000E+00 + 8461 0.585498E+00 0.393694E+00 0.456688E+00 + 8462 0.540922E+00 0.304035E+00 0.302192E+00 + 8463 0.627559E+00 0.371221E+00 0.379376E+00 + 8464 0.949894E+00 0.895772E+00 0.500000E+00 + 8465 0.476331E+00 0.302388E+00 0.365474E+00 + 8466 0.532386E+00 0.330256E+00 0.463873E+00 + 8467 0.576398E+00 0.343576E+00 0.422984E+00 + 8468 0.478184E+00 0.262476E+00 0.428554E+00 + 8469 0.396814E+00 0.248333E+00 0.384858E+00 + 8470 0.348331E+00 0.173637E+00 0.424201E+00 + 8471 0.274653E+00 0.173025E+00 0.500000E+00 + 8472 0.420574E+00 0.231546E+00 0.465235E+00 + 8473 0.445457E+00 0.261311E+00 0.316581E+00 + 8474 0.749264E+00 0.567820E+00 0.500000E+00 + 8475 0.226573E+00 0.135899E+00 0.468185E+00 + 8476 0.263272E+00 0.730334E-01 0.295718E+00 + 8477 0.555865E+00 0.342421E+00 0.362828E-01 + 8478 0.503274E+00 0.283747E+00 0.152796E+00 + 8479 0.453246E+00 0.259317E+00 0.723692E-01 + 8480 0.395687E+00 0.213402E+00 0.738395E-01 + 8481 0.380388E+00 0.179190E+00 0.151833E+00 + 8482 0.273851E+00 0.151582E+00 0.926171E-01 + 8483 0.160772E+00 0.900272E-01 -0.128921E-06 + 8484 0.334476E+00 0.187921E+00 0.310082E+00 + 8485 0.230457E+00 0.793921E-01 0.122204E+00 + 8486 0.243924E+00 0.121316E+00 0.314498E-01 + 8487 0.938480E+00 0.942030E+00 0.137581E+00 + 8488 0.833687E+00 0.611363E+00 0.423654E-01 + 8489 0.897250E+00 0.710274E+00 0.189164E+00 + 8490 0.950205E+00 0.810716E+00 0.368239E+00 + 8491 0.866887E+00 0.729378E+00 0.341970E+00 + 8492 0.758325E+00 0.495322E+00 0.174265E+00 + 8493 0.841876E+00 0.645547E+00 0.207600E+00 + 8494 0.715143E+00 0.506314E+00 0.988422E-01 + 8495 0.855105E+00 0.673795E+00 0.413726E+00 + 8496 0.814920E+00 0.537240E+00 0.325290E+00 + 8497 0.771195E+00 0.509361E+00 0.277390E+00 + 8498 0.663327E+00 0.446648E+00 0.406567E+00 + 8499 0.722968E+00 0.490449E+00 0.375189E+00 + 8500 0.524328E+00 0.298043E+00 0.759095E-01 + 8501 0.709920E+00 0.426088E+00 0.134888E+00 + 8502 0.610987E+00 0.366454E+00 0.216416E+00 + 8503 0.556593E+00 0.338886E+00 0.279675E+00 + 8504 0.623766E+00 0.354691E+00 0.313351E+00 + 8505 0.459363E+00 0.275585E+00 0.343636E+00 + 8506 0.514517E+00 0.295265E+00 0.500000E+00 + 8507 0.509240E+00 0.319925E+00 0.389064E+00 + 8508 0.459676E+00 0.247771E+00 0.463469E+00 + 8509 0.414787E+00 0.193782E+00 0.467814E+00 + 8510 0.328342E+00 0.145559E+00 0.251511E+00 + 8511 0.381685E+00 0.197106E+00 0.232875E+00 + 8512 0.307454E+00 0.155040E+00 0.413442E+00 + 8513 0.793484E+00 0.564252E+00 0.450084E+00 + 8514 0.938758E+00 0.834790E+00 0.500000E+00 + 8515 0.956690E+00 0.782027E+00 0.246963E+00 + 8516 0.411618E+00 0.249062E+00 0.667410E-01 + 8517 0.342626E+00 0.191599E+00 0.666442E-01 + 8518 0.851110E+00 0.614184E+00 0.143318E+00 + 8519 0.587306E+00 0.383103E+00 -0.128921E-06 + 8520 0.873298E+00 0.693034E+00 0.315210E+00 + 8521 0.578547E+00 0.324910E+00 0.238528E+00 + 8522 0.541249E+00 0.317161E+00 0.421170E+00 + 8523 0.631452E+00 0.412348E+00 0.459851E+00 + 8524 0.432106E+00 0.259097E+00 0.360821E+00 + 8525 0.375291E+00 0.204414E+00 0.349989E+00 + 8526 0.380999E+00 0.182179E+00 0.276919E+00 + 8527 0.410612E+00 0.191701E+00 0.189357E+00 + 8528 0.507527E+00 0.286913E+00 0.394264E+00 + 8529 0.260893E+00 0.735230E-01 0.213289E+00 + 8530 0.300647E+00 0.108813E+00 0.149093E+00 + 8531 0.314123E+00 0.163785E+00 -0.128921E-06 + 8532 0.286398E+00 0.107622E+00 0.753328E-01 + 8533 0.428995E+00 0.221146E+00 0.289059E+00 + 8534 0.160773E+00 0.900272E-01 0.500000E+00 + 8535 0.222772E+00 0.113920E+00 0.500000E+00 + 8536 0.269891E+00 0.150510E+00 0.467800E+00 + 8537 0.267010E+00 0.722551E-01 0.384896E+00 + 8538 0.304145E+00 0.110539E+00 0.276915E+00 + 8539 0.355298E+00 0.148078E+00 0.344178E+00 + 8540 0.470842E+00 0.308506E+00 -0.128921E-06 + 8541 0.428594E+00 0.254988E+00 0.353414E-01 + 8542 0.485076E+00 0.263273E+00 0.794274E-01 + 8543 0.412691E+00 0.208493E+00 -0.128921E-06 + 8544 0.482566E+00 0.279338E+00 0.284549E+00 + 8545 0.458937E+00 0.236138E+00 0.138825E+00 + 8546 0.495969E+00 0.227827E+00 0.198474E+00 + 8547 0.426992E+00 0.169741E+00 0.234487E+00 + 8548 0.522500E+00 0.292484E+00 0.347601E+00 + 8549 0.349123E+00 0.148972E+00 0.151606E+00 + 8550 0.544913E+00 0.308841E+00 0.324474E-01 + 8551 0.622247E+00 0.327934E+00 0.941075E-01 + 8552 0.571778E+00 0.298640E+00 0.131500E+00 + 8553 0.606915E+00 0.331967E+00 0.358480E-01 + 8554 0.641795E+00 0.342497E+00 0.174771E+00 + 8555 0.526480E+00 0.255647E+00 0.156960E+00 + 8556 0.582935E+00 0.311525E+00 0.274663E+00 + 8557 0.418385E+00 0.161694E+00 0.148008E+00 + 8558 0.392684E+00 0.168145E+00 0.728452E-01 + 8559 0.260885E+00 0.106671E+00 -0.128921E-06 + 8560 0.975202E+00 0.100000E+01 0.121663E+00 + 8561 0.938760E+00 0.834786E+00 -0.128921E-06 + 8562 0.953567E+00 0.847643E+00 0.925857E-01 + 8563 0.100274E+01 0.915552E+00 -0.128921E-06 + 8564 0.996682E+00 0.854359E+00 0.215008E+00 + 8565 0.896616E+00 0.665328E+00 0.161060E+00 + 8566 0.886953E+00 0.647310E+00 0.490103E-01 + 8567 0.946294E+00 0.708681E+00 0.453980E-01 + 8568 0.943168E+00 0.726422E+00 0.203660E+00 + 8569 0.804060E+00 0.551295E+00 0.414852E-01 + 8570 0.874170E+00 0.671838E+00 0.272224E+00 + 8571 0.967305E+00 0.743812E+00 0.312451E+00 + 8572 0.843397E+00 0.594595E+00 -0.128921E-06 + 8573 0.848226E+00 0.564729E+00 0.103033E+00 + 8574 0.951181E+00 0.632003E+00 0.965620E-01 + 8575 0.102257E+01 0.918336E+00 0.376648E+00 + 8576 0.987674E+00 0.844804E+00 0.459357E+00 + 8577 0.927678E+00 0.775335E+00 0.500000E+00 + 8578 0.954159E+00 0.732660E+00 0.405281E+00 + 8579 0.103016E+01 0.820768E+00 0.377214E+00 + 8580 0.861645E+00 0.575902E+00 0.201564E+00 + 8581 0.768524E+00 0.485584E+00 0.903502E-01 + 8582 0.804793E+00 0.519542E+00 0.191166E+00 + 8583 0.870066E+00 0.564331E+00 0.288656E+00 + 8584 0.765730E+00 0.508983E+00 0.459763E+00 + 8585 0.753663E+00 0.504595E+00 0.362310E+00 + 8586 0.699102E+00 0.436992E+00 0.376126E+00 + 8587 0.750290E+00 0.453033E+00 0.286878E+00 + 8588 0.820501E+00 0.545736E+00 0.387124E+00 + 8589 0.813642E+00 0.476024E+00 0.295418E+00 + 8590 0.707358E+00 0.381677E+00 0.245341E+00 + 8591 0.695160E+00 0.388305E+00 0.146630E+00 + 8592 0.800177E+00 0.435776E+00 0.164986E+00 + 8593 0.679009E+00 0.367206E+00 0.312563E+00 + 8594 0.674523E+00 0.407733E+00 -0.128921E-06 + 8595 0.806565E+00 0.634240E+00 0.500000E+00 + 8596 0.875088E+00 0.671141E+00 0.455691E+00 + 8597 0.874438E+00 0.610090E+00 0.379122E+00 + 8598 0.676391E+00 0.441873E+00 0.463420E+00 + 8599 0.922859E+00 0.665049E+00 0.332721E+00 + 8600 0.656332E+00 0.352491E+00 0.419941E+00 + 8601 0.585734E+00 0.315316E+00 0.409754E+00 + 8602 0.597636E+00 0.357398E+00 0.463282E+00 + 8603 0.573420E+00 0.259957E+00 0.638887E-01 + 8604 0.773479E+00 0.480151E+00 -0.128921E-06 + 8605 0.745812E+00 0.424849E+00 0.706045E-01 + 8606 0.750343E+00 0.385366E+00 -0.128921E-06 + 8607 0.544214E+00 0.322605E+00 0.500000E+00 + 8608 0.548026E+00 0.251887E+00 0.292343E+00 + 8609 0.105948E+01 0.933609E+00 0.500000E+00 + 8610 0.474253E+00 0.216552E+00 0.368419E+00 + 8611 0.545646E+00 0.291440E+00 0.446745E+00 + 8612 0.480882E+00 0.264636E+00 0.500000E+00 + 8613 0.512675E+00 0.241341E+00 0.425537E+00 + 8614 0.444505E+00 0.218556E+00 0.419549E+00 + 8615 0.422892E+00 0.199386E+00 0.377312E+00 + 8616 0.395422E+00 0.160239E+00 0.445133E+00 + 8617 0.353023E+00 0.153390E+00 0.500000E+00 + 8618 0.452856E+00 0.194950E+00 0.500000E+00 + 8619 0.366629E+00 0.920828E-01 0.269809E+00 + 8620 0.330411E+00 0.102534E+00 0.406160E+00 + 8621 0.831613E+00 0.542794E+00 0.500000E+00 + 8622 0.302314E+00 0.109631E+00 0.222959E+00 + 8623 0.277453E+00 0.122275E+00 0.124631E+00 + 8624 0.326857E+00 0.148372E+00 0.450370E-01 + 8625 0.184234E+00 0.120062E+00 0.500000E+00 + 8626 0.235506E+00 0.784698E-01 0.438378E+00 + 8627 0.248116E+00 0.143355E+00 0.500000E+00 + 8628 0.296319E+00 0.657726E-01 0.332204E+00 + 8629 0.299485E+00 0.130430E+00 0.442239E+00 + 8630 0.326916E+00 0.145899E+00 0.286500E+00 + 8631 0.436756E+00 0.278818E+00 -0.128921E-06 + 8632 0.428025E+00 0.224300E+00 0.449218E-01 + 8633 0.382162E+00 0.180937E+00 -0.128921E-06 + 8634 0.385876E+00 0.178070E+00 0.316553E+00 + 8635 0.461218E+00 0.251505E+00 0.108182E+00 + 8636 0.456749E+00 0.199901E+00 0.164724E+00 + 8637 0.496950E+00 0.291747E+00 0.254753E+00 + 8638 0.481775E+00 0.215527E+00 0.248779E+00 + 8639 0.508484E+00 0.264518E+00 0.308204E+00 + 8640 0.358191E+00 0.164905E+00 0.106117E+00 + 8641 0.572277E+00 0.301722E+00 0.781325E-01 + 8642 0.620847E+00 0.349273E+00 0.639233E-01 + 8643 0.514517E+00 0.295265E+00 -0.128921E-06 + 8644 0.582313E+00 0.338634E+00 -0.128921E-06 + 8645 0.634516E+00 0.312186E+00 0.134039E+00 + 8646 0.557759E+00 0.265834E+00 0.164260E+00 + 8647 0.256247E+00 0.744666E-01 0.728084E-01 + 8648 0.961744E+00 0.951942E+00 -0.128921E-06 + 8649 0.100521E+01 0.890958E+00 0.114939E+00 + 8650 0.991569E+00 0.850821E+00 -0.128921E-06 + 8651 0.970412E+00 0.762743E+00 0.197409E+00 + 8652 0.935587E+00 0.685068E+00 0.106567E+00 + 8653 0.904354E+00 0.661992E+00 -0.128921E-06 + 8654 0.967388E+00 0.753414E+00 0.472704E-01 + 8655 0.861148E+00 0.610715E+00 0.912332E-01 + 8656 0.102647E+01 0.925053E+00 0.214448E+00 + 8657 0.913185E+00 0.672849E+00 0.215766E+00 + 8658 0.922911E+00 0.743575E+00 0.343193E+00 + 8659 0.784763E+00 0.529875E+00 -0.128921E-06 + 8660 0.847205E+00 0.560428E+00 0.399714E-01 + 8661 0.988785E+00 0.852456E+00 0.403350E+00 + 8662 0.104733E+01 0.100000E+01 0.369226E+00 + 8663 0.957817E+00 0.810215E+00 0.309980E+00 + 8664 0.979801E+00 0.790467E+00 0.500000E+00 + 8665 0.925720E+00 0.732940E+00 0.459807E+00 + 8666 0.874260E+00 0.603166E+00 0.251850E+00 + 8667 0.809204E+00 0.524053E+00 0.761129E-01 + 8668 0.789524E+00 0.520210E+00 0.147613E+00 + 8669 0.843727E+00 0.544253E+00 0.192897E+00 + 8670 0.805915E+00 0.473654E+00 0.200164E+00 + 8671 0.799507E+00 0.519359E+00 0.401655E+00 + 8672 0.733913E+00 0.474311E+00 0.420359E+00 + 8673 0.784484E+00 0.475426E+00 0.274004E+00 + 8674 0.726869E+00 0.425361E+00 0.278886E+00 + 8675 0.686252E+00 0.362240E+00 0.200596E+00 + 8676 0.765895E+00 0.444058E+00 0.131072E+00 + 8677 0.759609E+00 0.379770E+00 0.197192E+00 + 8678 0.795800E+00 0.581223E+00 0.500000E+00 + 8679 0.854881E+00 0.648094E+00 0.500000E+00 + 8680 0.843484E+00 0.592377E+00 0.420670E+00 + 8681 0.932192E+00 0.658950E+00 0.391590E+00 + 8682 0.684408E+00 0.455038E+00 0.500000E+00 + 8683 0.881018E+00 0.537865E+00 0.324654E+00 + 8684 0.853541E+00 0.469721E+00 0.265341E+00 + 8685 0.664262E+00 0.396870E+00 0.397617E+00 + 8686 0.728123E+00 0.404837E+00 0.355188E+00 + 8687 0.611762E+00 0.322641E+00 0.252704E+00 + 8688 0.630242E+00 0.336282E+00 0.428618E+00 + 8689 0.631806E+00 0.395691E+00 0.500000E+00 + 8690 0.592533E+00 0.315236E+00 0.367958E+00 + 8691 0.529087E+00 0.244825E+00 0.803983E-01 + 8692 0.574232E+00 0.271028E+00 0.276134E+00 + 8693 0.710443E+00 0.376110E+00 0.787358E-01 + 8694 0.664579E+00 0.361948E+00 -0.128921E-06 + 8695 0.761993E+00 0.431997E+00 -0.128921E-06 + 8696 0.775922E+00 0.377956E+00 0.378197E-01 + 8697 0.826951E+00 0.464260E+00 0.400150E-01 + 8698 0.683416E+00 0.351866E+00 0.276559E+00 + 8699 0.582311E+00 0.338635E+00 0.500000E+00 + 8700 0.100273E+01 0.915555E+00 0.500000E+00 + 8701 0.442441E+00 0.212278E+00 0.353451E+00 + 8702 0.445223E+00 0.236202E+00 0.500000E+00 + 8703 0.500167E+00 0.245319E+00 0.460387E+00 + 8704 0.549508E+00 0.285459E+00 0.500000E+00 + 8705 0.694445E+00 0.406399E+00 0.454218E+00 + 8706 0.481876E+00 0.230055E+00 0.404581E+00 + 8707 0.418759E+00 0.197588E+00 0.415579E+00 + 8708 0.348245E+00 0.150524E+00 0.471573E+00 + 8709 0.351372E+00 0.130451E+00 0.394031E+00 + 8710 0.420970E+00 0.168346E+00 0.500000E+00 + 8711 0.428968E+00 0.122552E+00 0.214480E+00 + 8712 0.773476E+00 0.480153E+00 0.500000E+00 + 8713 0.293104E+00 0.665164E-01 0.248907E+00 + 8714 0.291641E+00 0.668519E-01 0.172740E+00 + 8715 0.328591E+00 0.126946E+00 0.127387E+00 + 8716 0.198563E+00 0.847464E-01 0.500000E+00 + 8717 0.260886E+00 0.106671E+00 0.500000E+00 + 8718 0.274800E+00 0.113080E+00 0.420017E+00 + 8719 0.318247E+00 0.153510E+00 0.461561E+00 + 8720 0.337468E+00 0.102084E+00 0.312881E+00 + 8721 0.462827E+00 0.283987E+00 0.368693E-01 + 8722 0.405274E+00 0.185926E+00 0.331868E-01 + 8723 0.493100E+00 0.243913E+00 0.122733E+00 + 8724 0.516548E+00 0.253262E+00 0.243919E+00 + 8725 0.458075E+00 0.200687E+00 0.206239E+00 + 8726 0.521294E+00 0.316172E+00 0.269912E+00 + 8727 0.447303E+00 0.172427E+00 0.269614E+00 + 8728 0.586008E+00 0.336248E+00 0.595072E-01 + 8729 0.544215E+00 0.322605E+00 -0.128921E-06 + 8730 0.636049E+00 0.353845E+00 0.119752E+00 + 8731 0.604501E+00 0.293265E+00 0.113589E+00 + 8732 0.414958E+00 0.191952E+00 0.110042E+00 + 8733 0.359039E+00 0.147016E+00 0.647815E-01 + 8734 0.286902E+00 0.135152E+00 -0.128921E-06 + 8735 0.289751E+00 0.672832E-01 0.104432E+00 + 8736 0.353022E+00 0.153390E+00 -0.128921E-06 + 8737 0.235994E+00 0.783794E-01 -0.128921E-06 + 8738 0.101000E+01 0.100000E+01 -0.128921E-06 + 8739 0.981400E+00 0.887380E+00 0.495186E-01 + 8740 0.985970E+00 0.796884E+00 0.113680E+00 + 8741 0.989529E+00 0.896234E+00 0.171953E+00 + 8742 0.956551E+00 0.700262E+00 0.142985E+00 + 8743 0.933833E+00 0.653158E+00 0.442738E-01 + 8744 0.979802E+00 0.790462E+00 -0.128921E-06 + 8745 0.996111E+00 0.740378E+00 0.254648E+00 + 8746 0.831616E+00 0.542791E+00 -0.128921E-06 + 8747 0.871719E+00 0.586105E+00 0.425083E-01 + 8748 0.921911E+00 0.601743E+00 0.131554E+00 + 8749 0.101105E+01 0.100000E+01 0.244246E+00 + 8750 0.102183E+01 0.878586E+00 0.299224E+00 + 8751 0.965345E+00 0.796622E+00 0.406739E+00 + 8752 0.101531E+01 0.796647E+00 0.337581E+00 + 8753 0.887879E+00 0.630195E+00 0.287132E+00 + 8754 0.792615E+00 0.500885E+00 0.404376E-01 + 8755 0.825039E+00 0.549330E+00 0.154449E+00 + 8756 0.798672E+00 0.479940E+00 0.135818E+00 + 8757 0.838570E+00 0.510464E+00 0.240822E+00 + 8758 0.773201E+00 0.479631E+00 0.420355E+00 + 8759 0.703990E+00 0.489327E+00 0.460873E+00 + 8760 0.760779E+00 0.457514E+00 0.337666E+00 + 8761 0.684822E+00 0.394517E+00 0.268164E+00 + 8762 0.772936E+00 0.435673E+00 0.211207E+00 + 8763 0.723394E+00 0.349704E+00 0.196348E+00 + 8764 0.655760E+00 0.335595E+00 0.226879E+00 + 8765 0.776387E+00 0.390821E+00 0.295559E+00 + 8766 0.656970E+00 0.388457E+00 0.373322E-01 + 8767 0.843466E+00 0.614010E+00 0.456516E+00 + 8768 0.866032E+00 0.703334E+00 0.500000E+00 + 8769 0.924621E+00 0.682185E+00 0.425638E+00 + 8770 0.860424E+00 0.570664E+00 0.379232E+00 + 8771 0.693542E+00 0.429354E+00 0.423100E+00 + 8772 0.836426E+00 0.473875E+00 0.349950E+00 + 8773 0.686919E+00 0.399993E+00 0.351710E+00 + 8774 0.639892E+00 0.369366E+00 0.463302E+00 + 8775 0.649526E+00 0.322989E+00 0.387157E+00 + 8776 0.566917E+00 0.279306E+00 0.295235E-01 + 8777 0.622140E+00 0.274609E+00 0.179035E+00 + 8778 0.541294E+00 0.224203E+00 0.183228E+00 + 8779 0.735270E+00 0.390481E+00 0.107228E+00 + 8780 0.623295E+00 0.350456E+00 -0.128921E-06 + 8781 0.788120E+00 0.424362E+00 0.387917E-01 + 8782 0.566020E+00 0.279058E+00 0.327251E+00 + 8783 0.559206E+00 0.310079E+00 0.473440E+00 + 8784 0.105677E+01 0.871329E+00 0.438792E+00 + 8785 0.991568E+00 0.850825E+00 0.500000E+00 + 8786 0.108000E+01 0.100000E+01 0.500000E+00 + 8787 0.499624E+00 0.247900E+00 0.353011E+00 + 8788 0.551006E+00 0.263674E+00 0.467741E+00 + 8789 0.443023E+00 0.241978E+00 0.389025E+00 + 8790 0.485185E+00 0.224045E+00 0.443323E+00 + 8791 0.376105E+00 0.162192E+00 0.390888E+00 + 8792 0.382163E+00 0.180937E+00 0.500000E+00 + 8793 0.455221E+00 0.161174E+00 0.440692E+00 + 8794 0.429641E+00 0.169830E+00 0.342786E+00 + 8795 0.396902E+00 0.824143E-01 0.232399E+00 + 8796 0.426773E+00 0.116450E+00 0.179440E+00 + 8797 0.784760E+00 0.529878E+00 0.500000E+00 + 8798 0.259540E+00 0.737995E-01 0.142740E+00 + 8799 0.282103E+00 0.113397E+00 0.468764E+00 + 8800 0.325053E+00 0.587612E-01 0.284918E+00 + 8801 0.313490E+00 0.110250E+00 0.374803E+00 + 8802 0.361825E+00 0.147027E+00 0.281379E+00 + 8803 0.359273E+00 0.175609E+00 0.328718E-01 + 8804 0.445221E+00 0.236203E+00 -0.128921E-06 + 8805 0.503944E+00 0.228953E+00 0.165723E+00 + 8806 0.469823E+00 0.243618E+00 0.269797E+00 + 8807 0.527747E+00 0.278196E+00 0.276556E+00 + 8808 0.328376E+00 0.148782E+00 0.828175E-01 + 8809 0.333613E+00 0.101318E+00 0.183030E+00 + 8810 0.536049E+00 0.269383E+00 0.113997E+00 + 8811 0.520177E+00 0.266301E+00 0.363768E-01 + 8812 0.581290E+00 0.298308E+00 0.491568E-01 + 8813 0.616117E+00 0.318375E+00 0.162015E+00 + 8814 0.467216E+00 0.221833E+00 0.797212E-01 + 8815 0.282102E+00 0.113397E+00 0.312356E-01 + 8816 0.102407E+01 0.949719E+00 0.613208E-01 + 8817 0.958587E+00 0.815615E+00 0.160306E+00 + 8818 0.979428E+00 0.732622E+00 0.102204E+00 + 8819 0.967629E+00 0.732296E+00 -0.128921E-06 + 8820 0.100156E+01 0.815703E+00 0.482100E-01 + 8821 0.969410E+00 0.695784E+00 0.231681E+00 + 8822 0.892134E+00 0.607999E+00 -0.128921E-06 + 8823 0.834086E+00 0.549579E+00 0.734222E-01 + 8824 0.931702E+00 0.649949E+00 0.139971E+00 + 8825 0.105192E+01 0.934741E+00 0.285030E+00 + 8826 0.995126E+00 0.842986E+00 0.346292E+00 + 8827 0.977063E+00 0.766095E+00 0.453999E+00 + 8828 0.996457E+00 0.746576E+00 0.344882E+00 + 8829 0.882132E+00 0.536379E+00 0.244363E+00 + 8830 0.882157E+00 0.582016E+00 0.127748E+00 + 8831 0.798308E+00 0.476706E+00 0.362072E+00 + 8832 0.663284E+00 0.373037E+00 0.166284E+00 + 8833 0.753485E+00 0.400321E+00 0.163694E+00 + 8834 0.788491E+00 0.382894E+00 0.238378E+00 + 8835 0.817482E+00 0.471466E+00 0.258269E+00 + 8836 0.893929E+00 0.626989E+00 0.446907E+00 + 8837 0.725540E+00 0.443082E+00 0.451640E+00 + 8838 0.906905E+00 0.598112E+00 0.324500E+00 + 8839 0.866342E+00 0.521965E+00 0.364273E+00 + 8840 0.659028E+00 0.357307E+00 0.365223E+00 + 8841 0.667962E+00 0.396604E+00 0.436087E+00 + 8842 0.729568E+00 0.440410E+00 0.358827E+00 + 8843 0.710147E+00 0.385071E+00 0.308150E+00 + 8844 0.581705E+00 0.274725E+00 0.221392E+00 + 8845 0.789430E+00 0.448508E+00 0.871141E-01 + 8846 0.680420E+00 0.356248E+00 0.820936E-01 + 8847 0.624797E+00 0.365896E+00 0.321500E-01 + 8848 0.706864E+00 0.373643E+00 -0.128921E-06 + 8849 0.747116E+00 0.374693E+00 0.570034E-01 + 8850 0.807379E+00 0.444061E+00 -0.128921E-06 + 8851 0.916211E+00 0.717754E+00 0.500000E+00 + 8852 0.645824E+00 0.314609E+00 0.287629E+00 + 8853 0.623293E+00 0.350457E+00 0.500000E+00 + 8854 0.580452E+00 0.299965E+00 0.435362E+00 + 8855 0.108728E+01 0.949665E+00 0.423073E+00 + 8856 0.674520E+00 0.407735E+00 0.500000E+00 + 8857 0.539330E+00 0.260376E+00 0.424433E+00 + 8858 0.531107E+00 0.249482E+00 0.500000E+00 + 8859 0.346395E+00 0.138315E+00 0.435971E+00 + 8860 0.314124E+00 0.163785E+00 0.500000E+00 + 8861 0.456877E+00 0.182503E+00 0.466484E+00 + 8862 0.437041E+00 0.170654E+00 0.308690E+00 + 8863 0.396856E+00 0.171411E+00 0.360546E+00 + 8864 0.444478E+00 0.155346E+00 0.186824E+00 + 8865 0.839352E+00 0.513511E+00 0.458951E+00 + 8866 0.102146E+01 0.787455E+00 0.226703E+00 + 8867 0.480881E+00 0.264637E+00 -0.128921E-06 + 8868 0.452063E+00 0.180031E+00 0.118433E+00 + 8869 0.377470E+00 0.130681E+00 0.153960E+00 + 8870 0.326890E+00 0.107371E+00 0.949474E-01 + 8871 0.955040E+00 0.675996E+00 -0.128921E-06 + 8872 0.932158E+00 0.684774E+00 0.286698E+00 + 8873 0.912279E+00 0.597834E+00 0.626748E-01 + 8874 0.101439E+01 0.792541E+00 0.281715E+00 + 8875 0.819173E+00 0.496440E+00 0.953934E-01 + 8876 0.895814E+00 0.594344E+00 0.196980E+00 + 8877 0.806380E+00 0.414581E+00 0.273627E+00 + 8878 0.754394E+00 0.369011E+00 0.271888E+00 + 8879 0.845781E+00 0.505863E+00 0.301262E+00 + 8880 0.756329E+00 0.419868E+00 0.330116E+00 + 8881 0.770874E+00 0.455243E+00 0.387263E+00 + 8882 0.639210E+00 0.315911E+00 0.331687E+00 + 8883 0.624600E+00 0.308739E+00 0.201341E+00 + 8884 0.558489E+00 0.226057E+00 0.211765E+00 + 8885 0.691938E+00 0.352103E+00 0.134601E+00 + 8886 0.713798E+00 0.347578E+00 0.368009E-01 + 8887 0.585484E+00 0.319222E+00 0.467084E+00 + 8888 0.567266E+00 0.289688E+00 0.386041E+00 + 8889 0.382737E+00 0.141957E+00 0.420729E+00 + 8890 0.286903E+00 0.135151E+00 0.500000E+00 + 8891 0.488511E+00 0.221838E+00 0.500000E+00 + 8892 0.413500E+00 0.146605E+00 0.468022E+00 + 8893 0.469192E+00 0.204332E+00 0.307433E+00 + 8894 0.413207E+00 0.127790E+00 0.264849E+00 + 8895 0.335023E+00 0.101341E+00 0.258924E+00 + 8896 0.827931E+00 0.572597E+00 0.459848E+00 + 8897 0.728414E+00 0.467617E+00 0.500000E+00 + 8898 0.471538E+00 0.240893E+00 0.363667E-01 + 8899 0.428538E+00 0.185556E+00 0.749094E-01 + 8900 0.379512E+00 0.131684E+00 0.102661E+00 + 8901 0.831726E+00 0.516568E+00 0.126110E+00 + 8902 0.928660E+00 0.637648E+00 0.231399E+00 + 8903 0.874425E+00 0.520013E+00 0.279480E+00 + 8904 0.956997E+00 0.684658E+00 0.361277E+00 + 8905 0.609296E+00 0.293920E+00 0.316536E+00 + 8906 0.532283E+00 0.243723E+00 0.384785E+00 + 8907 0.494172E+00 0.237801E+00 0.294377E+00 + 8908 0.365632E+00 0.929058E-01 0.195647E+00 + 8909 0.850666E+00 0.538013E+00 0.409061E+00 + 8910 0.323315E+00 0.592048E-01 0.207971E+00 + 8911 0.322131E+00 0.595054E-01 0.133187E+00 + 8912 0.347003E+00 0.131569E+00 0.317040E-01 + 8913 0.318450E+00 0.604324E-01 0.616470E-01 + 8914 0.235996E+00 0.783791E-01 0.500000E+00 + 8915 0.300699E+00 0.647462E-01 0.415640E+00 + 8916 0.298520E+00 0.983674E-01 0.500000E+00 + 8917 0.356888E+00 0.501648E-01 0.320279E+00 + 8918 0.341208E+00 0.110118E+00 0.468878E+00 + 8919 0.382770E+00 0.133972E+00 0.319858E+00 + 8920 0.506086E+00 0.204311E+00 0.706193E-01 + 8921 0.452855E+00 0.194951E+00 -0.128921E-06 + 8922 0.413499E+00 0.146606E+00 0.319776E-01 + 8923 0.541614E+00 0.229804E+00 0.121979E+00 + 8924 0.470605E+00 0.173257E+00 0.147818E+00 + 8925 0.579373E+00 0.236228E+00 0.271709E+00 + 8926 0.522921E+00 0.204841E+00 0.240013E+00 + 8927 0.490773E+00 0.187629E+00 0.287280E+00 + 8928 0.464977E+00 0.135411E+00 0.245161E+00 + 8929 0.543493E+00 0.246319E+00 0.337375E+00 + 8930 0.578834E+00 0.296379E+00 -0.128921E-06 + 8931 0.602864E+00 0.265369E+00 0.765902E-01 + 8932 0.656913E+00 0.318018E+00 0.588174E-01 + 8933 0.531107E+00 0.249482E+00 -0.128921E-06 + 8934 0.687870E+00 0.317645E+00 0.146309E+00 + 8935 0.649707E+00 0.254831E+00 0.133552E+00 + 8936 0.408522E+00 0.116446E+00 0.124788E+00 + 8937 0.298518E+00 0.983677E-01 -0.128921E-06 + 8938 0.106118E+01 0.927534E+00 0.130222E+00 + 8939 0.105948E+01 0.933606E+00 -0.128921E-06 + 8940 0.105593E+01 0.831474E+00 0.492497E-01 + 8941 0.103064E+01 0.821006E+00 0.185001E+00 + 8942 0.103358E+01 0.750995E+00 0.762968E-01 + 8943 0.100014E+01 0.688234E+00 0.162110E+00 + 8944 0.934590E+00 0.620504E+00 0.177298E+00 + 8945 0.971603E+00 0.612795E+00 0.438943E-01 + 8946 0.100705E+01 0.690156E+00 -0.128921E-06 + 8947 0.883054E+00 0.559225E+00 0.854570E-01 + 8948 0.110749E+01 0.877702E+00 0.256259E+00 + 8949 0.828449E+00 0.522752E+00 0.401690E-01 + 8950 0.974212E+00 0.685022E+00 0.298168E+00 + 8951 0.105107E+01 0.731725E+00 0.294501E+00 + 8952 0.879625E+00 0.555721E+00 -0.128921E-06 + 8953 0.950677E+00 0.577685E+00 0.116620E+00 + 8954 0.112314E+01 0.897638E+00 0.362829E+00 + 8955 0.104517E+01 0.840102E+00 0.328113E+00 + 8956 0.103084E+01 0.796390E+00 0.422655E+00 + 8957 0.104603E+01 0.867215E+00 0.500000E+00 + 8958 0.967627E+00 0.732300E+00 0.500000E+00 + 8959 0.994544E+00 0.703033E+00 0.415167E+00 + 8960 0.912514E+00 0.559777E+00 0.272256E+00 + 8961 0.853568E+00 0.455588E+00 0.800675E-01 + 8962 0.850643E+00 0.509235E+00 0.175802E+00 + 8963 0.795261E+00 0.422026E+00 0.124973E+00 + 8964 0.825578E+00 0.429845E+00 0.215334E+00 + 8965 0.800151E+00 0.472283E+00 0.460207E+00 + 8966 0.847760E+00 0.481155E+00 0.406427E+00 + 8967 0.756325E+00 0.435178E+00 0.421496E+00 + 8968 0.706687E+00 0.369871E+00 0.390000E+00 + 8969 0.798783E+00 0.433227E+00 0.338010E+00 + 8970 0.769496E+00 0.339324E+00 0.227948E+00 + 8971 0.710449E+00 0.337662E+00 0.298619E+00 + 8972 0.757816E+00 0.358636E+00 0.162641E+00 + 8973 0.720952E+00 0.290855E+00 0.217976E+00 + 8974 0.633489E+00 0.296277E+00 0.249820E+00 + 8975 0.814162E+00 0.369050E+00 0.278429E+00 + 8976 0.843394E+00 0.594598E+00 0.500000E+00 + 8977 0.904351E+00 0.661996E+00 0.500000E+00 + 8978 0.881315E+00 0.592535E+00 0.422060E+00 + 8979 0.964197E+00 0.598854E+00 0.358896E+00 + 8980 0.717696E+00 0.419873E+00 0.500000E+00 + 8981 0.880927E+00 0.490895E+00 0.318628E+00 + 8982 0.671699E+00 0.336159E+00 0.463863E+00 + 8983 0.632157E+00 0.294030E+00 0.457073E+00 + 8984 0.606131E+00 0.280204E+00 0.387846E+00 + 8985 0.673008E+00 0.285717E+00 0.412235E+00 + 8986 0.690191E+00 0.269885E+00 0.335370E+00 + 8987 0.601039E+00 0.225482E+00 0.199150E+00 + 8988 0.750796E+00 0.351969E+00 0.824276E-01 + 8989 0.695936E+00 0.328885E+00 -0.128921E-06 + 8990 0.794986E+00 0.397030E+00 -0.128921E-06 + 8991 0.807947E+00 0.344023E+00 0.375223E-01 + 8992 0.751225E+00 0.289420E+00 0.359538E-01 + 8993 0.853871E+00 0.456089E+00 -0.128921E-06 + 8994 0.578832E+00 0.296379E+00 0.500000E+00 + 8995 0.572154E+00 0.259660E+00 0.430635E+00 + 8996 0.112136E+01 0.811869E+00 0.450950E+00 + 8997 0.111970E+01 0.944869E+00 0.500000E+00 + 8998 0.498791E+00 0.203946E+00 0.394764E+00 + 8999 0.563444E+00 0.216161E+00 0.500000E+00 + 9000 0.507433E+00 0.181676E+00 0.467130E+00 + 9001 0.420505E+00 0.169067E+00 0.401343E+00 + 9002 0.391193E+00 0.141903E+00 0.500000E+00 + 9003 0.404073E+00 0.849354E-01 0.377088E+00 + 9004 0.460187E+00 0.154804E+00 0.500000E+00 + 9005 0.458224E+00 0.109164E+00 0.455781E+00 + 9006 0.476927E+00 0.148366E+00 0.403904E+00 + 9007 0.427338E+00 0.702391E-01 0.288716E+00 + 9008 0.427375E+00 0.719030E-01 0.219612E+00 + 9009 0.866844E+00 0.505106E+00 0.500000E+00 + 9010 0.354376E+00 0.508772E-01 0.244276E+00 + 9011 0.353693E+00 0.510698E-01 0.169790E+00 + 9012 0.325159E+00 0.125850E+00 -0.128921E-06 + 9013 0.341852E+00 0.119089E+00 0.669797E-01 + 9014 0.288857E+00 0.674866E-01 0.487338E-01 + 9015 0.273014E+00 0.709814E-01 0.500000E+00 + 9016 0.329074E+00 0.577259E-01 0.366844E+00 + 9017 0.338766E+00 0.855686E-01 0.456402E+00 + 9018 0.325160E+00 0.125849E+00 0.500000E+00 + 9019 0.398227E+00 0.816173E-01 0.303727E+00 + 9020 0.402189E+00 0.136500E+00 0.384518E+00 + 9021 0.515835E+00 0.225160E+00 0.376328E-01 + 9022 0.453833E+00 0.180524E+00 0.322217E-01 + 9023 0.387267E+00 0.156339E+00 0.314621E-01 + 9024 0.508571E+00 0.201657E+00 0.125034E+00 + 9025 0.479154E+00 0.171923E+00 0.206022E+00 + 9026 0.533201E+00 0.204645E+00 0.271840E+00 + 9027 0.474445E+00 0.130826E+00 0.279305E+00 + 9028 0.549509E+00 0.285459E+00 -0.128921E-06 + 9029 0.571276E+00 0.259591E+00 0.107463E+00 + 9030 0.621683E+00 0.308549E+00 0.683912E-01 + 9031 0.675621E+00 0.311963E+00 0.101122E+00 + 9032 0.671701E+00 0.336157E+00 0.361367E-01 + 9033 0.615138E+00 0.306811E+00 -0.128921E-06 + 9034 0.592525E+00 0.248320E+00 0.319290E-01 + 9035 0.646302E+00 0.299574E+00 0.172612E+00 + 9036 0.613246E+00 0.272215E+00 0.263102E+00 + 9037 0.459660E+00 0.141299E+00 0.141789E+00 + 9038 0.396902E+00 0.853793E-01 0.104202E+00 + 9039 0.104533E+01 0.100000E+01 0.121407E+00 + 9040 0.104356E+01 0.867642E+00 0.940556E-01 + 9041 0.103332E+01 0.805826E+00 -0.128921E-06 + 9042 0.105323E+01 0.746918E+00 0.168309E+00 + 9043 0.106624E+01 0.850797E+00 0.227258E+00 + 9044 0.968535E+00 0.653564E+00 0.170207E+00 + 9045 0.999471E+00 0.698742E+00 0.511919E-01 + 9046 0.942105E+00 0.621487E+00 -0.128921E-06 + 9047 0.112788E+01 0.927243E+00 0.170044E+00 + 9048 0.101774E+01 0.695744E+00 0.308136E+00 + 9049 0.955287E+00 0.619347E+00 0.290035E+00 + 9050 0.819602E+00 0.492630E+00 -0.128921E-06 + 9051 0.876071E+00 0.535956E+00 0.407699E-01 + 9052 0.882525E+00 0.547020E+00 0.145350E+00 + 9053 0.102382E+01 0.609379E+00 0.935880E-01 + 9054 0.106800E+01 0.878223E+00 0.361852E+00 + 9055 0.111870E+01 0.100000E+01 0.366970E+00 + 9056 0.103332E+01 0.805830E+00 0.500000E+00 + 9057 0.103286E+01 0.737057E+00 0.430142E+00 + 9058 0.107193E+01 0.791720E+00 0.343983E+00 + 9059 0.955038E+00 0.676000E+00 0.500000E+00 + 9060 0.825615E+00 0.454422E+00 0.125054E+00 + 9061 0.868394E+00 0.483741E+00 0.219390E+00 + 9062 0.946864E+00 0.543581E+00 0.215167E+00 + 9063 0.815388E+00 0.485593E+00 0.418172E+00 + 9064 0.754627E+00 0.459923E+00 0.460789E+00 + 9065 0.819600E+00 0.492633E+00 0.500000E+00 + 9066 0.729127E+00 0.410895E+00 0.413727E+00 + 9067 0.853326E+00 0.432384E+00 0.312522E+00 + 9068 0.702009E+00 0.341424E+00 0.236218E+00 + 9069 0.732496E+00 0.345790E+00 0.130107E+00 + 9070 0.787778E+00 0.397602E+00 0.844764E-01 + 9071 0.787503E+00 0.384832E+00 0.170108E+00 + 9072 0.701291E+00 0.303629E+00 0.327332E+00 + 9073 0.750274E+00 0.293923E+00 0.200571E+00 + 9074 0.809309E+00 0.339522E+00 0.255349E+00 + 9075 0.764757E+00 0.379122E+00 0.337203E+00 + 9076 0.892132E+00 0.608003E+00 0.500000E+00 + 9077 0.938066E+00 0.608481E+00 0.412010E+00 + 9078 0.920380E+00 0.517734E+00 0.299847E+00 + 9079 0.891345E+00 0.506130E+00 0.409339E+00 + 9080 0.691910E+00 0.334655E+00 0.391748E+00 + 9081 0.703893E+00 0.356114E+00 0.464039E+00 + 9082 0.791330E+00 0.412552E+00 0.415845E+00 + 9083 0.656188E+00 0.309402E+00 0.440747E+00 + 9084 0.605282E+00 0.267292E+00 0.428856E+00 + 9085 0.630948E+00 0.261145E+00 0.355780E+00 + 9086 0.605687E+00 0.237085E+00 0.155661E+00 + 9087 0.662768E+00 0.229503E+00 0.212484E+00 + 9088 0.594802E+00 0.193546E+00 0.227109E+00 + 9089 0.738593E+00 0.340208E+00 -0.128921E-06 + 9090 0.860733E+00 0.428284E+00 0.396524E-01 + 9091 0.827413E+00 0.362619E+00 -0.128921E-06 + 9092 0.731033E+00 0.304259E+00 0.653618E-01 + 9093 0.615136E+00 0.306812E+00 0.500000E+00 + 9094 0.112737E+01 0.908726E+00 0.450024E+00 + 9095 0.483591E+00 0.183632E+00 0.347139E+00 + 9096 0.540812E+00 0.223268E+00 0.465063E+00 + 9097 0.486770E+00 0.178315E+00 0.431916E+00 + 9098 0.571237E+00 0.219074E+00 0.363807E+00 + 9099 0.493508E+00 0.180947E+00 0.500000E+00 + 9100 0.428337E+00 0.129566E+00 0.500000E+00 + 9101 0.485803E+00 0.108033E+00 0.432111E+00 + 9102 0.470850E+00 0.984408E-01 0.216575E+00 + 9103 0.371668E+00 0.880753E-01 0.130104E+00 + 9104 0.314905E+00 0.102533E+00 0.368426E-01 + 9105 0.309364E+00 0.990423E-01 0.472668E+00 + 9106 0.384916E+00 0.417865E-01 0.278802E+00 + 9107 0.359428E+00 0.865108E-01 0.405880E+00 + 9108 0.472145E+00 0.186406E+00 0.720197E-01 + 9109 0.420969E+00 0.168347E+00 -0.128921E-06 + 9110 0.488510E+00 0.221838E+00 -0.128921E-06 + 9111 0.517506E+00 0.186423E+00 0.158551E+00 + 9112 0.492769E+00 0.164746E+00 0.258716E+00 + 9113 0.525530E+00 0.204534E+00 0.311463E+00 + 9114 0.638550E+00 0.283451E+00 0.102793E+00 + 9115 0.555653E+00 0.240575E+00 0.348752E-01 + 9116 0.654587E+00 0.317640E+00 -0.128921E-06 + 9117 0.692870E+00 0.323991E+00 0.196158E+00 + 9118 0.574599E+00 0.231833E+00 0.168605E+00 + 9119 0.429047E+00 0.140814E+00 0.107247E+00 + 9120 0.388199E+00 0.124227E+00 0.310459E-01 + 9121 0.273013E+00 0.709818E-01 -0.128921E-06 + 9122 0.108000E+01 0.100000E+01 -0.128921E-06 + 9123 0.104603E+01 0.867211E+00 -0.128921E-06 + 9124 0.107265E+01 0.851160E+00 0.169679E+00 + 9125 0.102450E+01 0.730213E+00 0.210565E+00 + 9126 0.979252E+00 0.658131E+00 0.104815E+00 + 9127 0.993351E+00 0.635104E+00 -0.128921E-06 + 9128 0.102036E+01 0.747021E+00 -0.128921E-06 + 9129 0.108170E+01 0.100000E+01 0.243070E+00 + 9130 0.976056E+00 0.643863E+00 0.212385E+00 + 9131 0.928839E+00 0.568711E+00 -0.128921E-06 + 9132 0.866846E+00 0.505103E+00 -0.128921E-06 + 9133 0.842097E+00 0.501228E+00 0.676057E-01 + 9134 0.974898E+00 0.585354E+00 0.881657E-01 + 9135 0.932301E+00 0.546681E+00 0.152460E+00 + 9136 0.907253E+00 0.524835E+00 0.563172E-01 + 9137 0.109982E+01 0.842974E+00 0.315637E+00 + 9138 0.106544E+01 0.796397E+00 0.451806E+00 + 9139 0.976570E+00 0.699487E+00 0.454290E+00 + 9140 0.103933E+01 0.734312E+00 0.368519E+00 + 9141 0.867290E+00 0.479499E+00 0.124934E+00 + 9142 0.905113E+00 0.496216E+00 0.239439E+00 + 9143 0.792300E+00 0.449951E+00 0.418275E+00 + 9144 0.767239E+00 0.406247E+00 0.373113E+00 + 9145 0.828540E+00 0.387440E+00 0.167924E+00 + 9146 0.704867E+00 0.344402E+00 0.350631E+00 + 9147 0.776242E+00 0.343847E+00 0.319957E+00 + 9148 0.857510E+00 0.410886E+00 0.259419E+00 + 9149 0.871717E+00 0.586109E+00 0.457491E+00 + 9150 0.910301E+00 0.559724E+00 0.379009E+00 + 9151 0.942102E+00 0.621491E+00 0.500000E+00 + 9152 0.984879E+00 0.640691E+00 0.397023E+00 + 9153 0.754057E+00 0.403349E+00 0.461033E+00 + 9154 0.691775E+00 0.368173E+00 0.420970E+00 + 9155 0.888775E+00 0.470324E+00 0.370577E+00 + 9156 0.620519E+00 0.270268E+00 0.230582E+00 + 9157 0.633029E+00 0.294825E+00 0.415242E+00 + 9158 0.631005E+00 0.324970E+00 0.464724E+00 + 9159 0.587735E+00 0.265286E+00 0.351362E+00 + 9160 0.651940E+00 0.266757E+00 0.301545E+00 + 9161 0.606970E+00 0.264751E+00 -0.128921E-06 + 9162 0.643116E+00 0.211407E+00 0.171689E+00 + 9163 0.577490E+00 0.190068E+00 0.274739E+00 + 9164 0.723112E+00 0.331620E+00 0.963949E-01 + 9165 0.824753E+00 0.425260E+00 0.911105E-01 + 9166 0.782436E+00 0.351473E+00 -0.128921E-06 + 9167 0.840712E+00 0.408620E+00 -0.128921E-06 + 9168 0.796464E+00 0.361311E+00 0.807187E-01 + 9169 0.726763E+00 0.296467E+00 -0.128921E-06 + 9170 0.586069E+00 0.272404E+00 0.467931E+00 + 9171 0.110252E+01 0.882978E+00 0.500000E+00 + 9172 0.115000E+01 0.100000E+01 0.500000E+00 + 9173 0.504154E+00 0.174367E+00 0.374726E+00 + 9174 0.541701E+00 0.223195E+00 0.408823E+00 + 9175 0.527886E+00 0.204159E+00 0.500000E+00 + 9176 0.419862E+00 0.129721E+00 0.427462E+00 + 9177 0.362830E+00 0.115466E+00 0.500000E+00 + 9178 0.475828E+00 0.136699E+00 0.465458E+00 + 9179 0.446102E+00 0.104087E+00 0.319581E+00 + 9180 0.474957E+00 0.116409E+00 0.185988E+00 + 9181 0.384178E+00 0.420173E-01 0.207707E+00 + 9182 0.427765E+00 0.732498E-01 0.145648E+00 + 9183 0.874088E+00 0.476438E+00 0.459338E+00 + 9184 0.807377E+00 0.444063E+00 0.500000E+00 + 9185 0.370542E+00 0.918985E-01 0.346123E+00 + 9186 0.479822E+00 0.196063E+00 0.364139E-01 + 9187 0.391192E+00 0.141904E+00 -0.128921E-06 + 9188 0.538508E+00 0.181612E+00 0.207782E+00 + 9189 0.597154E+00 0.261970E+00 0.128249E+00 + 9190 0.622216E+00 0.282112E+00 0.338075E-01 + 9191 0.682708E+00 0.277250E+00 0.115749E+00 + 9192 0.470007E+00 0.129068E+00 0.112062E+00 + 9193 0.393093E+00 0.113245E+00 0.567488E-01 + 9194 0.396971E+00 0.839119E-01 0.158210E+00 + 9195 0.352045E+00 0.515332E-01 0.906454E-01 + 9196 0.109390E+01 0.920482E+00 0.518251E-01 + 9197 0.104580E+01 0.784701E+00 0.107912E+00 + 9198 0.100974E+01 0.641238E+00 0.452983E-01 + 9199 0.100629E+01 0.674913E+00 0.218184E+00 + 9200 0.107182E+01 0.738159E+00 0.235310E+00 + 9201 0.867513E+00 0.512560E+00 0.959496E-01 + 9202 0.964678E+00 0.615355E+00 0.140367E+00 + 9203 0.945673E+00 0.572452E+00 0.429014E-01 + 9204 0.112680E+01 0.937814E+00 0.285775E+00 + 9205 0.102036E+01 0.747025E+00 0.500000E+00 + 9206 0.100764E+01 0.685068E+00 0.354990E+00 + 9207 0.108307E+01 0.816436E+00 0.387801E+00 + 9208 0.951447E+00 0.602312E+00 0.238559E+00 + 9209 0.901769E+00 0.538431E+00 0.206850E+00 + 9210 0.849469E+00 0.458125E+00 0.164237E+00 + 9211 0.814569E+00 0.454606E+00 0.391919E+00 + 9212 0.778841E+00 0.370125E+00 0.126089E+00 + 9213 0.737985E+00 0.320373E+00 0.169524E+00 + 9214 0.721013E+00 0.312298E+00 0.246363E+00 + 9215 0.824989E+00 0.348388E+00 0.221348E+00 + 9216 0.807357E+00 0.393438E+00 0.334995E+00 + 9217 0.951749E+00 0.648851E+00 0.440337E+00 + 9218 0.761991E+00 0.432000E+00 0.500000E+00 + 9219 0.945552E+00 0.545509E+00 0.326205E+00 + 9220 0.886959E+00 0.430613E+00 0.323716E+00 + 9221 0.901292E+00 0.478514E+00 0.274678E+00 + 9222 0.757655E+00 0.360331E+00 0.380161E+00 + 9223 0.694499E+00 0.325735E+00 0.427355E+00 + 9224 0.664577E+00 0.361949E+00 0.500000E+00 + 9225 0.656448E+00 0.276497E+00 0.370367E+00 + 9226 0.572406E+00 0.256080E+00 -0.128921E-06 + 9227 0.538978E+00 0.191108E+00 0.697952E-01 + 9228 0.617589E+00 0.219955E+00 0.241963E+00 + 9229 0.597393E+00 0.259843E+00 0.307512E+00 + 9230 0.699484E+00 0.316526E+00 0.622277E-01 + 9231 0.829165E+00 0.385290E+00 0.500676E-01 + 9232 0.763611E+00 0.332999E+00 0.368650E-01 + 9233 0.108844E+01 0.821387E+00 0.500000E+00 + 9234 0.117196E+01 0.943999E+00 0.443113E+00 + 9235 0.531173E+00 0.205137E+00 0.354812E+00 + 9236 0.458696E+00 0.191521E+00 0.398706E+00 + 9237 0.572404E+00 0.256081E+00 0.500000E+00 + 9238 0.587889E+00 0.239468E+00 0.392435E+00 + 9239 0.529647E+00 0.179408E+00 0.430338E+00 + 9240 0.373401E+00 0.105492E+00 0.449652E+00 + 9241 0.458747E+00 0.102001E+00 0.411707E+00 + 9242 0.478129E+00 0.152256E+00 0.326812E+00 + 9243 0.444402E+00 0.926876E-01 0.253028E+00 + 9244 0.457623E+00 0.619461E-01 0.160451E+00 + 9245 0.879623E+00 0.555725E+00 0.500000E+00 + 9246 0.494422E+00 0.165615E+00 0.867149E-01 + 9247 0.363545E+00 0.104005E+00 0.381487E-01 + 9248 0.426808E+00 0.102538E+00 0.750595E-01 + 9249 0.104088E+01 0.699104E+00 0.111250E+00 + 9250 0.106342E+01 0.785794E+00 0.485070E-01 + 9251 0.105454E+01 0.692587E+00 0.224611E+00 + 9252 0.992604E+00 0.637409E+00 0.270093E+00 + 9253 0.963984E+00 0.577744E+00 0.182628E+00 + 9254 0.920524E+00 0.538266E+00 0.997040E-01 + 9255 0.109328E+01 0.791696E+00 0.291082E+00 + 9256 0.107908E+01 0.772993E+00 0.398644E+00 + 9257 0.900204E+00 0.516203E+00 0.175691E+00 + 9258 0.861169E+00 0.430495E+00 0.128918E+00 + 9259 0.785117E+00 0.340458E+00 0.171362E+00 + 9260 0.676332E+00 0.306762E+00 0.258195E+00 + 9261 0.841847E+00 0.397491E+00 0.228197E+00 + 9262 0.866244E+00 0.392860E+00 0.312193E+00 + 9263 0.758628E+00 0.317562E+00 0.283458E+00 + 9264 0.921024E+00 0.599403E+00 0.456815E+00 + 9265 0.918594E+00 0.512215E+00 0.352783E+00 + 9266 0.695617E+00 0.298819E+00 0.381985E+00 + 9267 0.587052E+00 0.230416E+00 0.729877E-01 + 9268 0.676264E+00 0.250520E+00 0.175173E+00 + 9269 0.584349E+00 0.188547E+00 0.173063E+00 + 9270 0.556682E+00 0.174578E+00 0.234682E+00 + 9271 0.687499E+00 0.300854E+00 0.361536E-01 + 9272 0.874090E+00 0.476435E+00 0.406619E-01 + 9273 0.584296E+00 0.228677E+00 0.317866E+00 + 9274 0.654585E+00 0.317641E+00 0.500000E+00 + 9275 0.112435E+01 0.849269E+00 0.384059E+00 + 9276 0.706861E+00 0.373645E+00 0.500000E+00 + 9277 0.582773E+00 0.227017E+00 0.461166E+00 + 9278 0.737211E+00 0.371181E+00 0.417569E+00 + 9279 0.398728E+00 0.110122E+00 0.412524E+00 + 9280 0.442265E+00 0.150472E+00 0.386514E+00 + 9281 0.413891E+00 0.322382E-01 0.243618E+00 + 9282 0.499950E+00 0.152066E+00 0.182727E+00 + 9283 0.462729E+00 0.106148E+00 0.146647E+00 + 9284 0.887262E+00 0.526147E+00 0.458287E+00 + 9285 0.843416E+00 0.446877E+00 0.435539E+00 + 9286 0.439519E+00 0.153250E+00 0.696473E-01 + 9287 0.354675E+00 0.872783E-01 0.883953E-01 + 9288 0.362828E+00 0.115466E+00 -0.128921E-06 + 9289 0.109260E+01 0.783914E+00 0.236626E+00 + 9290 0.900592E+00 0.512829E+00 0.128372E+00 + 9291 0.671120E+00 0.286467E+00 0.214862E+00 + 9292 0.981929E+00 0.657784E+00 0.334501E+00 + 9293 0.852017E+00 0.421314E+00 0.372543E+00 + 9294 0.900637E+00 0.438233E+00 0.285763E+00 + 9295 0.684505E+00 0.288183E+00 0.296012E+00 + 9296 0.558365E+00 0.185051E+00 0.147863E+00 + 9297 0.420845E+00 0.108640E+00 0.469410E+00 + 9298 0.412211E+00 0.116044E+00 0.347232E+00 + 9299 0.916914E+00 0.547243E+00 0.443028E+00 + 9300 0.795662E+00 0.434682E+00 0.464292E+00 + 9301 0.875343E+00 0.433168E+00 0.223270E+00 + 9302 0.464767E+00 0.140631E+00 0.361109E+00 + 9303 0.383926E+00 0.420965E-01 0.131663E+00 + 9304 0.335632E+00 0.890394E-01 -0.128921E-06 + 9305 0.382828E+00 0.424388E-01 0.515083E-01 + 9306 0.309571E+00 0.626219E-01 0.500000E+00 + 9307 0.362749E+00 0.484786E-01 0.412224E+00 + 9308 0.414567E+00 0.320046E-01 0.310634E+00 + 9309 0.372096E+00 0.786973E-01 0.500000E+00 + 9310 0.450507E+00 0.105964E+00 0.381655E+00 + 9311 0.535606E+00 0.183785E+00 0.277796E-01 + 9312 0.460186E+00 0.154804E+00 -0.128921E-06 + 9313 0.420844E+00 0.108641E+00 0.305894E-01 + 9314 0.537442E+00 0.167422E+00 0.112592E+00 + 9315 0.592771E+00 0.216068E+00 0.123696E+00 + 9316 0.509569E+00 0.134619E+00 0.230482E+00 + 9317 0.628603E+00 0.221157E+00 0.284026E+00 + 9318 0.569068E+00 0.178659E+00 0.309423E+00 + 9319 0.592367E+00 0.144171E+00 0.195892E+00 + 9320 0.472517E+00 0.836603E-01 0.286036E+00 + 9321 0.647658E+00 0.275358E+00 0.580211E-01 + 9322 0.712820E+00 0.297676E+00 0.938029E-01 + 9323 0.684908E+00 0.285551E+00 -0.128921E-06 + 9324 0.634458E+00 0.233312E+00 -0.128921E-06 + 9325 0.702442E+00 0.282373E+00 0.171442E+00 + 9326 0.676466E+00 0.213145E+00 0.124660E+00 + 9327 0.497453E+00 0.100750E+00 0.140775E+00 + 9328 0.456355E+00 0.932392E-01 0.903757E-01 + 9329 0.508560E+00 0.130471E+00 0.710462E-01 + 9330 0.109074E+01 0.848109E+00 0.122795E+00 + 9331 0.111553E+01 0.100000E+01 0.121097E+00 + 9332 0.110252E+01 0.882974E+00 -0.128921E-06 + 9333 0.107457E+01 0.761969E+00 -0.128921E-06 + 9334 0.107745E+01 0.713807E+00 0.188222E+00 + 9335 0.103585E+01 0.645330E+00 0.133665E+00 + 9336 0.106881E+01 0.672063E+00 0.461141E-01 + 9337 0.100888E+01 0.573174E+00 0.436042E-01 + 9338 0.111214E+01 0.687302E+00 0.115291E+00 + 9339 0.120873E+01 0.917217E+00 0.155466E+00 + 9340 0.117010E+01 0.807945E+00 0.269452E+00 + 9341 0.997517E+00 0.610590E+00 0.229866E+00 + 9342 0.106843E+01 0.692769E+00 0.370794E+00 + 9343 0.110891E+01 0.715547E+00 0.263948E+00 + 9344 0.915323E+00 0.517608E+00 -0.128921E-06 + 9345 0.904655E+00 0.482403E+00 0.907260E-01 + 9346 0.110493E+01 0.604642E+00 0.973435E-01 + 9347 0.991891E+00 0.560719E+00 0.141762E+00 + 9348 0.120317E+01 0.901246E+00 0.392514E+00 + 9349 0.107457E+01 0.761973E+00 0.500000E+00 + 9350 0.100705E+01 0.690160E+00 0.500000E+00 + 9351 0.114388E+01 0.769480E+00 0.401816E+00 + 9352 0.955426E+00 0.508157E+00 0.250174E+00 + 9353 0.873652E+00 0.392640E+00 0.838604E-01 + 9354 0.881724E+00 0.478604E+00 0.184352E+00 + 9355 0.853869E+00 0.456092E+00 0.500000E+00 + 9356 0.887241E+00 0.449047E+00 0.416065E+00 + 9357 0.777443E+00 0.382208E+00 0.412167E+00 + 9358 0.736056E+00 0.329888E+00 0.349475E+00 + 9359 0.719623E+00 0.347268E+00 0.432820E+00 + 9360 0.765804E+00 0.284965E+00 0.255248E+00 + 9361 0.766059E+00 0.336297E+00 0.133755E+00 + 9362 0.914447E+00 0.420881E+00 0.169310E+00 + 9363 0.845750E+00 0.319967E+00 0.165106E+00 + 9364 0.729467E+00 0.251200E+00 0.332530E+00 + 9365 0.717163E+00 0.239386E+00 0.243008E+00 + 9366 0.878141E+00 0.353618E+00 0.265918E+00 + 9367 0.800958E+00 0.326472E+00 0.351331E+00 + 9368 0.855756E+00 0.378833E+00 0.372637E+00 + 9369 0.928837E+00 0.568715E+00 0.500000E+00 + 9370 0.971600E+00 0.612799E+00 0.456105E+00 + 9371 0.946254E+00 0.542370E+00 0.391559E+00 + 9372 0.750341E+00 0.385368E+00 0.500000E+00 + 9373 0.927270E+00 0.446532E+00 0.343077E+00 + 9374 0.695934E+00 0.328887E+00 0.500000E+00 + 9375 0.705827E+00 0.271848E+00 0.419668E+00 + 9376 0.651540E+00 0.266332E+00 0.444118E+00 + 9377 0.606969E+00 0.264751E+00 0.500000E+00 + 9378 0.584450E+00 0.216365E+00 0.418174E+00 + 9379 0.625313E+00 0.190830E+00 0.663904E-01 + 9380 0.627234E+00 0.202917E+00 0.206724E+00 + 9381 0.769804E+00 0.307317E+00 -0.128921E-06 + 9382 0.832313E+00 0.335578E+00 0.876674E-01 + 9383 0.873531E+00 0.373608E+00 -0.128921E-06 + 9384 0.738787E+00 0.247142E+00 0.351017E-01 + 9385 0.115988E+01 0.898332E+00 0.500000E+00 + 9386 0.118789E+01 0.792443E+00 0.500000E+00 + 9387 0.122000E+01 0.100000E+01 0.500000E+00 + 9388 0.552245E+00 0.166684E+00 0.388627E+00 + 9389 0.509770E+00 0.119839E+00 0.344210E+00 + 9390 0.549967E+00 0.163587E+00 0.469458E+00 + 9391 0.618969E+00 0.216883E+00 0.467809E+00 + 9392 0.588622E+00 0.184875E+00 0.500000E+00 + 9393 0.621709E+00 0.183860E+00 0.369241E+00 + 9394 0.436885E+00 0.828910E-01 0.446326E+00 + 9395 0.502623E+00 0.138792E+00 0.500000E+00 + 9396 0.434635E+00 0.922373E-01 0.500000E+00 + 9397 0.503701E+00 0.836041E-01 0.423082E+00 + 9398 0.486482E+00 0.500561E-01 0.197730E+00 + 9399 0.413833E+00 0.322584E-01 0.171614E+00 + 9400 0.309570E+00 0.626219E-01 -0.128921E-06 + 9401 0.329857E+00 0.575225E-01 0.435978E+00 + 9402 0.335633E+00 0.890387E-01 0.500000E+00 + 9403 0.388702E+00 0.405917E-01 0.349824E+00 + 9404 0.393011E+00 0.834436E-01 0.469800E+00 + 9405 0.442965E+00 0.218245E-01 0.278198E+00 + 9406 0.501356E+00 0.161100E+00 0.375983E-01 + 9407 0.527887E+00 0.204159E+00 -0.128921E-06 + 9408 0.428336E+00 0.129567E+00 -0.128921E-06 + 9409 0.509247E+00 0.142022E+00 0.129810E+00 + 9410 0.571449E+00 0.192430E+00 0.116304E+00 + 9411 0.516331E+00 0.156124E+00 0.297852E+00 + 9412 0.553879E+00 0.130515E+00 0.197620E+00 + 9413 0.497210E+00 0.951619E-01 0.250606E+00 + 9414 0.637271E+00 0.233651E+00 0.538184E-01 + 9415 0.679003E+00 0.285229E+00 0.694244E-01 + 9416 0.568795E+00 0.192852E+00 0.310366E-01 + 9417 0.731482E+00 0.289860E+00 0.124915E+00 + 9418 0.633280E+00 0.206418E+00 0.136635E+00 + 9419 0.671889E+00 0.265856E+00 0.248169E+00 + 9420 0.429790E+00 0.689024E-01 0.943771E-01 + 9421 0.454400E+00 0.110785E+00 0.591349E-01 + 9422 0.393010E+00 0.834443E-01 0.302003E-01 + 9423 0.115727E+01 0.893514E+00 0.135634E+00 + 9424 0.111970E+01 0.944866E+00 -0.128921E-06 + 9425 0.108844E+01 0.821383E+00 -0.128921E-06 + 9426 0.110262E+01 0.760870E+00 0.175044E+00 + 9427 0.106416E+01 0.713176E+00 0.505453E-01 + 9428 0.105224E+01 0.663039E+00 0.196723E+00 + 9429 0.101177E+01 0.604948E+00 0.154622E+00 + 9430 0.979353E+00 0.581795E+00 -0.128921E-06 + 9431 0.105387E+01 0.617369E+00 0.450161E-01 + 9432 0.115265E+01 0.100000E+01 0.241764E+00 + 9433 0.106587E+01 0.670628E+00 0.300673E+00 + 9434 0.114257E+01 0.758000E+00 0.309342E+00 + 9435 0.965023E+00 0.563720E+00 0.266900E+00 + 9436 0.901553E+00 0.468113E+00 -0.128921E-06 + 9437 0.963751E+00 0.529971E+00 0.729668E-01 + 9438 0.974639E+00 0.533431E+00 0.170738E+00 + 9439 0.123406E+01 0.908147E+00 0.323933E+00 + 9440 0.109258E+01 0.759823E+00 0.454073E+00 + 9441 0.104507E+01 0.667179E+00 0.404149E+00 + 9442 0.106042E+01 0.704514E+00 0.500000E+00 + 9443 0.993348E+00 0.635107E+00 0.500000E+00 + 9444 0.907337E+00 0.439662E+00 0.662179E-01 + 9445 0.895248E+00 0.452729E+00 0.153858E+00 + 9446 0.829561E+00 0.374870E+00 0.104022E+00 + 9447 0.934667E+00 0.461689E+00 0.248023E+00 + 9448 0.819573E+00 0.402478E+00 0.387251E+00 + 9449 0.736455E+00 0.310354E+00 0.391579E+00 + 9450 0.806535E+00 0.304765E+00 0.227495E+00 + 9451 0.728087E+00 0.288134E+00 0.304367E+00 + 9452 0.874176E+00 0.358621E+00 0.196770E+00 + 9453 0.743632E+00 0.244262E+00 0.199842E+00 + 9454 0.849687E+00 0.305578E+00 0.301698E+00 + 9455 0.877482E+00 0.374415E+00 0.344317E+00 + 9456 0.969889E+00 0.549319E+00 0.456454E+00 + 9457 0.100112E+01 0.546724E+00 0.358239E+00 + 9458 0.821035E+00 0.389425E+00 0.461568E+00 + 9459 0.925714E+00 0.445833E+00 0.387491E+00 + 9460 0.917753E+00 0.473015E+00 0.458501E+00 + 9461 0.876063E+00 0.383183E+00 0.416719E+00 + 9462 0.702534E+00 0.303636E+00 0.464169E+00 + 9463 0.644538E+00 0.274774E+00 0.500000E+00 + 9464 0.640204E+00 0.258093E+00 0.400713E+00 + 9465 0.631716E+00 0.229251E+00 0.339332E+00 + 9466 0.696695E+00 0.224995E+00 0.371590E+00 + 9467 0.656930E+00 0.172339E+00 0.204942E+00 + 9468 0.593229E+00 0.141160E+00 0.266123E+00 + 9469 0.802034E+00 0.317035E+00 0.935657E-01 + 9470 0.813990E+00 0.317976E+00 -0.128921E-06 + 9471 0.900201E+00 0.365475E+00 0.390908E-01 + 9472 0.714852E+00 0.254084E+00 -0.128921E-06 + 9473 0.806372E+00 0.249531E+00 0.363073E-01 + 9474 0.118690E+01 0.905591E+00 0.454911E+00 + 9475 0.114523E+01 0.837087E+00 0.500000E+00 + 9476 0.117321E+01 0.953846E+00 0.500000E+00 + 9477 0.530020E+00 0.115990E+00 0.369708E+00 + 9478 0.568794E+00 0.192853E+00 0.468963E+00 + 9479 0.590409E+00 0.176571E+00 0.387705E+00 + 9480 0.506756E+00 0.147028E+00 0.450366E+00 + 9481 0.524613E+00 0.169672E+00 0.500000E+00 + 9482 0.432405E+00 0.688304E-01 0.402520E+00 + 9483 0.464672E+00 0.116502E+00 0.500000E+00 + 9484 0.450995E+00 0.763156E-01 0.472318E+00 + 9485 0.476182E+00 0.846834E-01 0.348774E+00 + 9486 0.511523E+00 0.482964E-01 0.154341E+00 + 9487 0.345600E+00 0.533191E-01 -0.128921E-06 + 9488 0.381003E+00 0.430048E-01 0.500000E+00 + 9489 0.418603E+00 0.704177E-01 0.342814E+00 + 9490 0.493508E+00 0.180948E+00 -0.128921E-06 + 9491 0.451064E+00 0.133625E+00 0.318091E-01 + 9492 0.399564E+00 0.104117E+00 -0.128921E-06 + 9493 0.559935E+00 0.144726E+00 0.166806E+00 + 9494 0.546316E+00 0.159843E+00 0.264967E+00 + 9495 0.508071E+00 0.111572E+00 0.304272E+00 + 9496 0.536388E+00 0.167870E+00 0.337196E+00 + 9497 0.630869E+00 0.225682E+00 0.103169E+00 + 9498 0.563445E+00 0.216161E+00 -0.128921E-06 + 9499 0.644539E+00 0.274773E+00 -0.128921E-06 + 9500 0.603692E+00 0.200736E+00 0.317072E-01 + 9501 0.705182E+00 0.248072E+00 0.869215E-01 + 9502 0.472508E+00 0.697380E-01 0.108257E+00 + 9503 0.536030E+00 0.146923E+00 0.703856E-01 + 9504 0.402632E+00 0.700328E-01 0.664425E-01 + 9505 0.115000E+01 0.100000E+01 -0.128921E-06 + 9506 0.110816E+01 0.785466E+00 0.548207E-01 + 9507 0.115988E+01 0.898328E+00 -0.128921E-06 + 9508 0.116555E+01 0.830990E+00 0.192822E+00 + 9509 0.101521E+01 0.647680E+00 0.179449E+00 + 9510 0.108856E+01 0.682557E+00 0.150967E+00 + 9511 0.102418E+01 0.659703E+00 0.789338E-01 + 9512 0.103118E+01 0.594988E+00 -0.128921E-06 + 9513 0.106042E+01 0.704510E+00 -0.128921E-06 + 9514 0.110817E+01 0.707460E+00 0.348651E+00 + 9515 0.112496E+01 0.708656E+00 0.221758E+00 + 9516 0.996445E+00 0.602554E+00 0.298256E+00 + 9517 0.965041E+00 0.530162E+00 -0.128921E-06 + 9518 0.107187E+01 0.560328E+00 0.126631E+00 + 9519 0.966123E+00 0.530770E+00 0.123799E+00 + 9520 0.100288E+01 0.564244E+00 0.198545E+00 + 9521 0.918395E+00 0.472222E+00 0.410849E-01 + 9522 0.119348E+01 0.833258E+00 0.348273E+00 + 9523 0.119071E+01 0.100000E+01 0.364734E+00 + 9524 0.104304E+01 0.702461E+00 0.454960E+00 + 9525 0.899849E+00 0.448678E+00 0.106319E+00 + 9526 0.885385E+00 0.413892E+00 0.188431E+00 + 9527 0.952184E+00 0.477794E+00 0.194340E+00 + 9528 0.849868E+00 0.412225E+00 0.422091E+00 + 9529 0.798765E+00 0.354497E+00 0.375151E+00 + 9530 0.864434E+00 0.357018E+00 0.112033E+00 + 9531 0.755416E+00 0.284434E+00 0.356556E+00 + 9532 0.789685E+00 0.285025E+00 0.127014E+00 + 9533 0.705451E+00 0.243687E+00 0.209260E+00 + 9534 0.747412E+00 0.253901E+00 0.256338E+00 + 9535 0.850179E+00 0.322470E+00 0.246823E+00 + 9536 0.791566E+00 0.307815E+00 0.307613E+00 + 9537 0.896737E+00 0.373150E+00 0.300164E+00 + 9538 0.992504E+00 0.580299E+00 0.409781E+00 + 9539 0.979351E+00 0.581799E+00 0.500000E+00 + 9540 0.794984E+00 0.397032E+00 0.500000E+00 + 9541 0.973718E+00 0.489176E+00 0.357962E+00 + 9542 0.911728E+00 0.412430E+00 0.376632E+00 + 9543 0.738591E+00 0.340210E+00 0.500000E+00 + 9544 0.728467E+00 0.296662E+00 0.421750E+00 + 9545 0.681501E+00 0.269949E+00 0.466274E+00 + 9546 0.614415E+00 0.252405E+00 0.466629E+00 + 9547 0.679658E+00 0.236284E+00 0.329928E+00 + 9548 0.616900E+00 0.217479E+00 0.386942E+00 + 9549 0.666695E+00 0.167658E+00 0.145283E+00 + 9550 0.623966E+00 0.181397E+00 0.243599E+00 + 9551 0.617178E+00 0.185822E+00 0.325708E+00 + 9552 0.580913E+00 0.121737E+00 0.218158E+00 + 9553 0.876338E+00 0.331868E+00 0.389026E-01 + 9554 0.811115E+00 0.306010E+00 0.441146E-01 + 9555 0.757107E+00 0.264476E+00 -0.128921E-06 + 9556 0.113039E+01 0.777133E+00 0.500000E+00 + 9557 0.125251E+01 0.907563E+00 0.446724E+00 + 9558 0.505291E+00 0.131520E+00 0.400603E+00 + 9559 0.570342E+00 0.185485E+00 0.428866E+00 + 9560 0.554314E+00 0.177522E+00 0.500000E+00 + 9561 0.516557E+00 0.144981E+00 0.474066E+00 + 9562 0.399565E+00 0.104116E+00 0.500000E+00 + 9563 0.482138E+00 0.644060E-01 0.468028E+00 + 9564 0.457241E+00 0.609263E-01 0.232673E+00 + 9565 0.523650E+00 0.882359E-01 0.171904E+00 + 9566 0.471618E+00 0.109997E-01 0.173770E+00 + 9567 0.915320E+00 0.517612E+00 0.500000E+00 + 9568 0.901629E+00 0.441847E+00 0.451109E+00 + 9569 0.345601E+00 0.533188E-01 0.500000E+00 + 9570 0.401345E+00 0.364869E-01 0.422420E+00 + 9571 0.533162E+00 0.116273E+00 0.270250E+00 + 9572 0.659820E+00 0.247568E+00 0.890063E-01 + 9573 0.598200E+00 0.224130E+00 -0.128921E-06 + 9574 0.729234E+00 0.235567E+00 0.142723E+00 + 9575 0.477436E+00 0.124072E+00 0.762626E-01 + 9576 0.372095E+00 0.786977E-01 -0.128921E-06 + 9577 0.414035E+00 0.321889E-01 0.919493E-01 + 9578 0.442845E+00 0.734381E-01 0.625920E-01 + 9579 0.113058E+01 0.856463E+00 0.511793E-01 + 9580 0.109024E+01 0.749259E+00 0.113956E+00 + 9581 0.104599E+01 0.648877E+00 -0.128921E-06 + 9582 0.108276E+01 0.654379E+00 0.958808E-01 + 9583 0.119610E+01 0.909761E+00 0.273344E+00 + 9584 0.118580E+01 0.100000E+01 0.120796E+00 + 9585 0.103908E+01 0.641197E+00 0.252308E+00 + 9586 0.110986E+01 0.643010E+00 0.192550E+00 + 9587 0.105986E+01 0.565325E+00 0.672936E-01 + 9588 0.948341E+00 0.500073E+00 0.139735E+00 + 9589 0.943624E+00 0.509293E+00 0.418006E-01 + 9590 0.112120E+01 0.800106E+00 0.334495E+00 + 9591 0.108004E+01 0.711885E+00 0.407013E+00 + 9592 0.115775E+01 0.774203E+00 0.198259E+00 + 9593 0.101546E+01 0.658049E+00 0.454670E+00 + 9594 0.103376E+01 0.617508E+00 0.355106E+00 + 9595 0.910545E+00 0.449020E+00 0.196310E+00 + 9596 0.999930E+00 0.512965E+00 0.220904E+00 + 9597 0.922132E+00 0.409641E+00 0.103500E+00 + 9598 0.804449E+00 0.344168E+00 0.119717E+00 + 9599 0.759361E+00 0.288869E+00 0.321950E+00 + 9600 0.782578E+00 0.285561E+00 0.193921E+00 + 9601 0.713185E+00 0.274734E+00 0.253235E+00 + 9602 0.807479E+00 0.294003E+00 0.265570E+00 + 9603 0.838500E+00 0.338076E+00 0.327343E+00 + 9604 0.899756E+00 0.388693E+00 0.239641E+00 + 9605 0.757122E+00 0.359018E+00 0.462576E+00 + 9606 0.941035E+00 0.483504E+00 0.298648E+00 + 9607 0.948920E+00 0.474310E+00 0.415881E+00 + 9608 0.938634E+00 0.393417E+00 0.342395E+00 + 9609 0.827025E+00 0.362140E+00 0.423764E+00 + 9610 0.629219E+00 0.230730E+00 0.433316E+00 + 9611 0.674498E+00 0.250369E+00 0.383659E+00 + 9612 0.585433E+00 0.170620E+00 0.666524E-01 + 9613 0.636260E+00 0.161040E+00 0.161815E+00 + 9614 0.702385E+00 0.201233E+00 0.212052E+00 + 9615 0.572958E+00 0.147392E+00 0.115909E+00 + 9616 0.634066E+00 0.162138E+00 0.294850E+00 + 9617 0.769143E+00 0.310320E+00 0.825734E-01 + 9618 0.860140E+00 0.347616E+00 0.658824E-01 + 9619 0.887616E+00 0.420144E+00 -0.128921E-06 + 9620 0.859386E+00 0.328392E+00 -0.128921E-06 + 9621 0.691169E+00 0.261072E+00 0.349087E-01 + 9622 0.800557E+00 0.274594E+00 -0.128921E-06 + 9623 0.684905E+00 0.285553E+00 0.500000E+00 + 9624 0.119179E+01 0.848547E+00 0.439616E+00 + 9625 0.126425E+01 0.100000E+01 0.362819E+00 + 9626 0.121685E+01 0.917791E+00 0.500000E+00 + 9627 0.557799E+00 0.135641E+00 0.364795E+00 + 9628 0.598199E+00 0.224130E+00 0.500000E+00 + 9629 0.456575E+00 0.567395E-01 0.362491E+00 + 9630 0.500538E+00 0.103831E+00 0.468592E+00 + 9631 0.442938E+00 0.218342E-01 0.208958E+00 + 9632 0.511508E+00 0.485290E-01 0.224824E+00 + 9633 0.901551E+00 0.468117E+00 0.500000E+00 + 9634 0.871080E+00 0.414914E+00 0.461716E+00 + 9635 0.965039E+00 0.530165E+00 0.500000E+00 + 9636 0.497577E+00 0.110304E+00 0.969435E-01 + 9637 0.118332E+01 0.923320E+00 0.469540E-01 + 9638 0.110956E+01 0.646100E+00 0.244626E+00 + 9639 0.106791E+01 0.623310E+00 0.152241E+00 + 9640 0.101155E+01 0.548739E+00 0.984786E-01 + 9641 0.116517E+01 0.744037E+00 0.241879E+00 + 9642 0.933971E+00 0.459403E+00 0.143755E+00 + 9643 0.885204E+00 0.368928E+00 0.139987E+00 + 9644 0.754918E+00 0.256516E+00 0.170361E+00 + 9645 0.768568E+00 0.317997E+00 0.373593E+00 + 9646 0.831129E+00 0.356164E+00 0.385198E+00 + 9647 0.103039E+01 0.594876E+00 0.423200E+00 + 9648 0.999710E+00 0.514855E+00 0.302406E+00 + 9649 0.935756E+00 0.427932E+00 0.295011E+00 + 9650 0.921068E+00 0.410726E+00 0.205158E+00 + 9651 0.745051E+00 0.314666E+00 0.463538E+00 + 9652 0.679759E+00 0.240300E+00 0.429982E+00 + 9653 0.728937E+00 0.252597E+00 0.372006E+00 + 9654 0.701494E+00 0.231123E+00 0.292066E+00 + 9655 0.626614E+00 0.195118E+00 0.992616E-01 + 9656 0.557807E+00 0.155307E+00 0.305675E-01 + 9657 0.691585E+00 0.217120E+00 0.181239E+00 + 9658 0.622752E+00 0.166587E+00 0.211065E+00 + 9659 0.574118E+00 0.116327E+00 0.249915E+00 + 9660 0.914774E+00 0.412017E+00 0.399178E-01 + 9661 0.780908E+00 0.296880E+00 0.514226E-01 + 9662 0.835949E+00 0.304251E+00 0.660491E-01 + 9663 0.115805E+01 0.750612E+00 0.450935E+00 + 9664 0.597503E+00 0.199051E+00 0.454705E+00 + 9665 0.561441E+00 0.133187E+00 0.428362E+00 + 9666 0.598311E+00 0.168437E+00 0.350541E+00 + 9667 0.416788E+00 0.312342E-01 0.367924E+00 + 9668 0.416437E+00 0.670978E-01 0.467050E+00 + 9669 0.468379E+00 0.802349E-01 0.500000E+00 + 9670 0.475239E+00 0.547343E-01 0.409681E+00 + 9671 0.456871E+00 0.593217E-01 0.321853E+00 + 9672 0.471604E+00 0.110051E-01 0.244496E+00 + 9673 0.552187E+00 0.122464E+00 0.138605E+00 + 9674 0.443018E+00 0.218047E-01 0.135061E+00 + 9675 0.840710E+00 0.408622E+00 0.500000E+00 + 9676 0.972105E+00 0.500772E+00 0.457872E+00 + 9677 0.769688E+00 0.338346E+00 0.417412E+00 + 9678 0.681113E+00 0.208944E+00 0.260588E+00 + 9679 0.610637E+00 0.151264E+00 0.143067E+00 + 9680 0.764621E+00 0.261300E+00 0.843147E-01 + 9681 0.536118E+00 0.130125E+00 0.409350E+00 + 9682 0.501658E+00 0.836297E-01 0.368914E+00 + 9683 0.536403E+00 0.864114E-01 0.231111E+00 + 9684 0.522962E+00 0.107710E+00 0.427606E+00 + 9685 0.381002E+00 0.430055E-01 -0.128921E-06 + 9686 0.447691E+00 0.762345E-01 0.295253E-01 + 9687 0.442817E+00 0.218792E-01 0.343389E+00 + 9688 0.407371E+00 0.675175E-01 0.500000E+00 + 9689 0.490486E+00 0.463463E-01 0.275169E+00 + 9690 0.438609E+00 0.234280E-01 0.416865E+00 + 9691 0.524614E+00 0.169672E+00 -0.128921E-06 + 9692 0.590505E+00 0.149009E+00 0.884321E-01 + 9693 0.535909E+00 0.840458E-01 0.109554E+00 + 9694 0.602187E+00 0.108162E+00 0.143693E+00 + 9695 0.663207E+00 0.202388E+00 0.329083E+00 + 9696 0.568763E+00 0.130095E+00 0.329804E+00 + 9697 0.613960E+00 0.116636E+00 0.216336E+00 + 9698 0.671573E+00 0.236275E+00 0.410870E-01 + 9699 0.588623E+00 0.184874E+00 -0.128921E-06 + 9700 0.780113E+00 0.230375E+00 0.125731E+00 + 9701 0.726801E+00 0.187549E+00 0.102660E+00 + 9702 0.664658E+00 0.164377E+00 0.982230E-01 + 9703 0.471709E+00 0.109651E-01 0.974533E-01 + 9704 0.489416E+00 0.976438E-01 0.662950E-01 + 9705 0.113477E+01 0.807137E+00 0.109402E+00 + 9706 0.119485E+01 0.871135E+00 0.600209E-01 + 9707 0.117321E+01 0.953844E+00 -0.128921E-06 + 9708 0.113039E+01 0.777129E+00 -0.128921E-06 + 9709 0.125609E+01 0.100000E+01 0.120413E+00 + 9710 0.115033E+01 0.702505E+00 0.142825E+00 + 9711 0.123065E+01 0.836700E+00 0.178301E+00 + 9712 0.111081E+01 0.698180E+00 0.458973E-01 + 9713 0.105070E+01 0.611752E+00 0.223070E+00 + 9714 0.103802E+01 0.555940E+00 0.160274E+00 + 9715 0.101611E+01 0.542738E+00 -0.128921E-06 + 9716 0.109186E+01 0.577072E+00 0.449113E-01 + 9717 0.129686E+01 0.929578E+00 0.294645E+00 + 9718 0.121691E+01 0.761248E+00 0.289406E+00 + 9719 0.102489E+01 0.542892E+00 0.272783E+00 + 9720 0.113253E+01 0.671157E+00 0.367358E+00 + 9721 0.111205E+01 0.604337E+00 0.284040E+00 + 9722 0.113671E+01 0.591683E+00 0.191298E+00 + 9723 0.119489E+01 0.665485E+00 0.251529E+00 + 9724 0.950509E+00 0.480111E+00 -0.128921E-06 + 9725 0.953148E+00 0.454951E+00 0.893116E-01 + 9726 0.112164E+01 0.507736E+00 0.130941E+00 + 9727 0.101837E+01 0.469875E+00 0.154211E+00 + 9728 0.122085E+01 0.770247E+00 0.437889E+00 + 9729 0.111535E+01 0.719062E+00 0.500000E+00 + 9730 0.107682E+01 0.639977E+00 0.454507E+00 + 9731 0.984557E+00 0.459948E+00 0.276254E+00 + 9732 0.900193E+00 0.358997E+00 0.851557E-01 + 9733 0.950187E+00 0.421929E+00 0.180445E+00 + 9734 0.887615E+00 0.420147E+00 0.500000E+00 + 9735 0.930375E+00 0.425242E+00 0.433118E+00 + 9736 0.807945E+00 0.344025E+00 0.462477E+00 + 9737 0.791837E+00 0.290290E+00 0.386916E+00 + 9738 0.799026E+00 0.246831E+00 0.226298E+00 + 9739 0.751068E+00 0.232912E+00 0.284366E+00 + 9740 0.893971E+00 0.323066E+00 0.164423E+00 + 9741 0.837002E+00 0.287705E+00 0.111880E+00 + 9742 0.736549E+00 0.219866E+00 0.361380E+00 + 9743 0.907927E+00 0.332061E+00 0.277704E+00 + 9744 0.865710E+00 0.274744E+00 0.277005E+00 + 9745 0.825647E+00 0.292824E+00 0.340206E+00 + 9746 0.889224E+00 0.335435E+00 0.382040E+00 + 9747 0.103638E+01 0.539779E+00 0.462448E+00 + 9748 0.103944E+01 0.503943E+00 0.366376E+00 + 9749 0.997393E+00 0.463767E+00 0.430618E+00 + 9750 0.950507E+00 0.480114E+00 0.500000E+00 + 9751 0.953916E+00 0.374776E+00 0.371204E+00 + 9752 0.896733E+00 0.346340E+00 0.465738E+00 + 9753 0.726761E+00 0.296469E+00 0.500000E+00 + 9754 0.781622E+00 0.257163E+00 0.464134E+00 + 9755 0.673745E+00 0.243583E+00 0.500000E+00 + 9756 0.664518E+00 0.221646E+00 0.403464E+00 + 9757 0.606881E+00 0.184476E+00 0.418275E+00 + 9758 0.603897E+00 0.116713E+00 0.287038E-01 + 9759 0.704557E+00 0.127192E+00 0.158523E+00 + 9760 0.692277E+00 0.163653E+00 0.239699E+00 + 9761 0.574982E+00 0.766558E-01 0.252195E+00 + 9762 0.845303E+00 0.284377E+00 -0.128921E-06 + 9763 0.920938E+00 0.384359E+00 -0.128921E-06 + 9764 0.918918E+00 0.283561E+00 0.395178E-01 + 9765 0.792926E+00 0.207888E+00 0.356586E-01 + 9766 0.744400E+00 0.222866E+00 -0.128921E-06 + 9767 0.120343E+01 0.853234E+00 0.500000E+00 + 9768 0.127733E+01 0.935373E+00 0.500000E+00 + 9769 0.544617E+00 0.799782E-01 0.394663E+00 + 9770 0.541529E+00 0.141309E+00 0.500000E+00 + 9771 0.589015E+00 0.115725E+00 0.469408E+00 + 9772 0.624252E+00 0.193204E+00 0.500000E+00 + 9773 0.668185E+00 0.179693E+00 0.466783E+00 + 9774 0.657588E+00 0.140034E+00 0.386817E+00 + 9775 0.494822E+00 0.102469E+00 0.500000E+00 + 9776 0.527804E+00 0.823967E-01 0.466202E+00 + 9777 0.471094E+00 0.449815E-01 0.500000E+00 + 9778 0.500000E+00 -0.128921E-06 0.400002E+00 + 9779 0.500000E+00 -0.128921E-06 0.210002E+00 + 9780 0.566169E+00 0.382812E-01 0.162319E+00 + 9781 0.443420E+00 0.216564E-01 0.545204E-01 + 9782 0.407370E+00 0.675179E-01 -0.128921E-06 + 9783 0.471571E+00 0.110180E-01 0.312513E+00 + 9784 0.415679E+00 0.316194E-01 0.500000E+00 + 9785 0.554316E+00 0.177522E+00 -0.128921E-06 + 9786 0.535636E+00 0.129543E+00 0.320194E-01 + 9787 0.464671E+00 0.116503E+00 -0.128921E-06 + 9788 0.543901E+00 0.118260E+00 0.944239E-01 + 9789 0.595443E+00 0.117780E+00 0.175631E+00 + 9790 0.653298E+00 0.172448E+00 0.264701E+00 + 9791 0.568000E+00 0.132507E+00 0.293887E+00 + 9792 0.529331E+00 0.727040E-01 0.282391E+00 + 9793 0.649876E+00 0.201686E+00 0.311798E-01 + 9794 0.673747E+00 0.243581E+00 -0.128921E-06 + 9795 0.714573E+00 0.223053E+00 0.529375E-01 + 9796 0.699870E+00 0.157447E+00 0.951248E-01 + 9797 0.721559E+00 0.182575E+00 0.147866E+00 + 9798 0.631407E+00 0.152545E+00 0.107123E+00 + 9799 0.510669E+00 0.499884E-01 0.120911E+00 + 9800 0.118793E+01 0.856653E+00 0.116294E+00 + 9801 0.114524E+01 0.837083E+00 -0.128921E-06 + 9802 0.122000E+01 0.100000E+01 -0.128921E-06 + 9803 0.113921E+01 0.743303E+00 0.481744E-01 + 9804 0.112454E+01 0.637069E+00 0.134020E+00 + 9805 0.105934E+01 0.575871E+00 0.195849E+00 + 9806 0.110789E+01 0.630835E+00 0.459042E-01 + 9807 0.102312E+01 0.512855E+00 0.430112E-01 + 9808 0.122399E+01 0.100000E+01 0.240613E+00 + 9809 0.125729E+01 0.853984E+00 0.284113E+00 + 9810 0.106451E+01 0.588302E+00 0.286210E+00 + 9811 0.112469E+01 0.640865E+00 0.407053E+00 + 9812 0.114679E+01 0.655608E+00 0.286239E+00 + 9813 0.116306E+01 0.720832E+00 0.379682E+00 + 9814 0.121415E+01 0.694095E+00 0.183384E+00 + 9815 0.935768E+00 0.431547E+00 -0.128921E-06 + 9816 0.110856E+01 0.545574E+00 0.834479E-01 + 9817 0.101278E+01 0.509370E+00 0.136661E+00 + 9818 0.127728E+01 0.836930E+00 0.426357E+00 + 9819 0.104599E+01 0.648880E+00 0.500000E+00 + 9820 0.101942E+01 0.580022E+00 0.461859E+00 + 9821 0.102097E+01 0.491032E+00 0.280504E+00 + 9822 0.978290E+00 0.441132E+00 0.216509E+00 + 9823 0.955560E+00 0.404438E+00 0.812187E-01 + 9824 0.908377E+00 0.385948E+00 0.179095E+00 + 9825 0.964809E+00 0.392797E+00 0.261071E+00 + 9826 0.853442E+00 0.354875E+00 0.461762E+00 + 9827 0.754501E+00 0.272073E+00 0.415610E+00 + 9828 0.820999E+00 0.308502E+00 0.375178E+00 + 9829 0.802597E+00 0.245364E+00 0.286631E+00 + 9830 0.857267E+00 0.289981E+00 0.230254E+00 + 9831 0.931375E+00 0.330275E+00 0.131541E+00 + 9832 0.719684E+00 0.194771E+00 0.337559E+00 + 9833 0.814185E+00 0.235306E+00 0.171379E+00 + 9834 0.799196E+00 0.270009E+00 0.844472E-01 + 9835 0.734566E+00 0.204564E+00 0.228942E+00 + 9836 0.906563E+00 0.328883E+00 0.315653E+00 + 9837 0.866242E+00 0.276812E+00 0.359235E+00 + 9838 0.903112E+00 0.367966E+00 0.370282E+00 + 9839 0.101370E+01 0.512482E+00 0.407341E+00 + 9840 0.782434E+00 0.351475E+00 0.500000E+00 + 9841 0.959710E+00 0.455505E+00 0.325800E+00 + 9842 0.966344E+00 0.444168E+00 0.404876E+00 + 9843 0.935766E+00 0.431551E+00 0.500000E+00 + 9844 0.757106E+00 0.264479E+00 0.500000E+00 + 9845 0.737928E+00 0.216823E+00 0.418177E+00 + 9846 0.656918E+00 0.226595E+00 0.466459E+00 + 9847 0.655794E+00 0.198514E+00 0.372229E+00 + 9848 0.656611E+00 0.105067E+00 0.151585E+00 + 9849 0.609220E+00 0.824046E-01 0.247813E+00 + 9850 0.653982E+00 0.129227E+00 0.323827E+00 + 9851 0.906133E+00 0.338459E+00 -0.128921E-06 + 9852 0.887445E+00 0.296340E+00 0.835796E-01 + 9853 0.787207E+00 0.232412E+00 -0.128921E-06 + 9854 0.856950E+00 0.233366E+00 0.369276E-01 + 9855 0.117187E+01 0.733725E+00 0.500000E+00 + 9856 0.129000E+01 0.100000E+01 0.500000E+00 + 9857 0.608391E+00 0.144565E+00 0.406807E+00 + 9858 0.575245E+00 0.902832E-01 0.360124E+00 + 9859 0.544146E+00 0.119144E+00 0.469001E+00 + 9860 0.629680E+00 0.170340E+00 0.467835E+00 + 9861 0.471167E+00 0.111732E-01 0.375226E+00 + 9862 0.506941E+00 0.680017E-01 0.500000E+00 + 9863 0.508898E+00 0.513622E-01 0.419908E+00 + 9864 0.535317E+00 0.434436E-01 0.198284E+00 + 9865 0.100077E+01 0.492036E+00 0.500000E+00 + 9866 0.415678E+00 0.316198E-01 -0.128921E-06 + 9867 0.500000E+00 -0.128921E-06 0.280002E+00 + 9868 0.450621E+00 0.497130E-01 0.451501E+00 + 9869 0.487372E+00 0.119255E+00 0.308940E-01 + 9870 0.434633E+00 0.922380E-01 -0.128921E-06 + 9871 0.612184E+00 0.142813E+00 0.332957E+00 + 9872 0.575770E+00 0.786825E-01 0.191144E+00 + 9873 0.648569E+00 0.124112E+00 0.179727E+00 + 9874 0.560365E+00 0.868474E-01 0.288069E+00 + 9875 0.677672E+00 0.200255E+00 0.722969E-01 + 9876 0.621236E+00 0.167510E+00 0.323333E-01 + 9877 0.662552E+00 0.202889E+00 -0.128921E-06 + 9878 0.759851E+00 0.217541E+00 0.784914E-01 + 9879 0.697995E+00 0.158921E+00 0.135235E+00 + 9880 0.740415E+00 0.191429E+00 0.180989E+00 + 9881 0.489918E+00 0.581172E-01 0.734553E-01 + 9882 0.559484E+00 0.119862E+00 0.506699E-01 + 9883 0.123597E+01 0.914482E+00 0.103971E+00 + 9884 0.116385E+01 0.796294E+00 0.544639E-01 + 9885 0.111535E+01 0.719058E+00 -0.128921E-06 + 9886 0.106856E+01 0.555283E+00 -0.128921E-06 + 9887 0.114286E+01 0.629206E+00 0.802471E-01 + 9888 0.124432E+01 0.772297E+00 0.236028E+00 + 9889 0.105634E+01 0.569907E+00 0.237773E+00 + 9890 0.111216E+01 0.614535E+00 0.348067E+00 + 9891 0.117310E+01 0.692461E+00 0.337840E+00 + 9892 0.109992E+01 0.578158E+00 0.149421E+00 + 9893 0.115052E+01 0.608487E+00 0.235762E+00 + 9894 0.100077E+01 0.492033E+00 -0.128921E-06 + 9895 0.105618E+01 0.507996E+00 0.991745E-01 + 9896 0.983657E+00 0.463365E+00 0.133385E+00 + 9897 0.963616E+00 0.423036E+00 0.408372E-01 + 9898 0.124411E+01 0.826982E+00 0.365671E+00 + 9899 0.111696E+01 0.697692E+00 0.427048E+00 + 9900 0.103118E+01 0.594992E+00 0.500000E+00 + 9901 0.102920E+01 0.474525E+00 0.199862E+00 + 9902 0.957069E+00 0.408431E+00 0.222554E+00 + 9903 0.775860E+00 0.307338E+00 0.437476E+00 + 9904 0.840500E+00 0.283994E+00 0.171324E+00 + 9905 0.948806E+00 0.390501E+00 0.125609E+00 + 9906 0.891845E+00 0.326097E+00 0.121172E+00 + 9907 0.910647E+00 0.319456E+00 0.217988E+00 + 9908 0.758872E+00 0.239946E+00 0.318497E+00 + 9909 0.774208E+00 0.239153E+00 0.383392E+00 + 9910 0.732715E+00 0.189473E+00 0.262228E+00 + 9911 0.847634E+00 0.257637E+00 0.246937E+00 + 9912 0.866763E+00 0.319708E+00 0.338579E+00 + 9913 0.846269E+00 0.257150E+00 0.333713E+00 + 9914 0.938791E+00 0.363312E+00 0.278573E+00 + 9915 0.859418E+00 0.328893E+00 0.435186E+00 + 9916 0.104297E+01 0.546759E+00 0.393319E+00 + 9917 0.873529E+00 0.373610E+00 0.500000E+00 + 9918 0.994708E+00 0.460240E+00 0.374857E+00 + 9919 0.105537E+01 0.498613E+00 0.301646E+00 + 9920 0.957188E+00 0.451475E+00 0.458806E+00 + 9921 0.929318E+00 0.376030E+00 0.413661E+00 + 9922 0.717048E+00 0.276794E+00 0.459903E+00 + 9923 0.634456E+00 0.233313E+00 0.500000E+00 + 9924 0.637908E+00 0.188711E+00 0.427235E+00 + 9925 0.717938E+00 0.169594E+00 0.373037E+00 + 9926 0.541530E+00 0.141309E+00 -0.128921E-06 + 9927 0.652914E+00 0.117124E+00 0.119142E+00 + 9928 0.673927E+00 0.131862E+00 0.274459E+00 + 9929 0.933190E+00 0.329836E+00 0.392939E-01 + 9930 0.872543E+00 0.276691E+00 0.374806E-01 + 9931 0.831351E+00 0.241587E+00 -0.128921E-06 + 9932 0.126335E+01 0.869524E+00 0.500000E+00 + 9933 0.123003E+01 0.748332E+00 0.500000E+00 + 9934 0.129570E+01 0.100000E+01 0.238007E+00 + 9935 0.133270E+01 0.951515E+00 0.427334E+00 + 9936 0.590842E+00 0.961660E-01 0.399721E+00 + 9937 0.577575E+00 0.147090E+00 0.500000E+00 + 9938 0.526673E+00 0.105602E+00 0.500000E+00 + 9939 0.485379E+00 0.476862E-01 0.356024E+00 + 9940 0.521990E+00 0.476365E-01 0.469548E+00 + 9941 0.500000E+00 -0.128921E-06 0.140001E+00 + 9942 0.563332E+00 0.375788E-01 0.112630E+00 + 9943 0.102986E+01 0.483171E+00 0.457340E+00 + 9944 0.502624E+00 0.138792E+00 -0.128921E-06 + 9945 0.503936E+00 0.536107E-01 0.307740E+00 + 9946 0.624253E+00 0.193204E+00 -0.128921E-06 + 9947 0.757434E+00 0.178502E+00 0.115716E+00 + 9948 0.473364E+00 0.748878E-01 0.504283E-01 + 9949 0.527441E+00 0.848947E-01 0.671406E-01 + 9950 0.115136E+01 0.731454E+00 0.964000E-01 + 9951 0.121685E+01 0.917788E+00 -0.128921E-06 + 9952 0.110002E+01 0.662802E+00 -0.128921E-06 + 9953 0.125859E+01 0.913530E+00 0.199677E+00 + 9954 0.121523E+01 0.732508E+00 0.366586E+00 + 9955 0.109418E+01 0.593939E+00 0.226131E+00 + 9956 0.118148E+01 0.637611E+00 0.180314E+00 + 9957 0.105063E+01 0.570684E+00 0.351558E+00 + 9958 0.108631E+01 0.512036E+00 0.429666E-01 + 9959 0.115317E+01 0.597250E+00 0.602401E-01 + 9960 0.107515E+01 0.530739E+00 0.177634E+00 + 9961 0.987119E+00 0.498414E+00 0.911234E-01 + 9962 0.130086E+01 0.897258E+00 0.405871E+00 + 9963 0.110002E+01 0.662805E+00 0.500000E+00 + 9964 0.122846E+01 0.703845E+00 0.254410E+00 + 9965 0.963232E+00 0.430180E+00 0.137495E+00 + 9966 0.104351E+01 0.454537E+00 0.237318E+00 + 9967 0.815372E+00 0.319905E+00 0.414173E+00 + 9968 0.935720E+00 0.361021E+00 0.182889E+00 + 9969 0.890315E+00 0.284931E+00 0.131234E+00 + 9970 0.740604E+00 0.191347E+00 0.301856E+00 + 9971 0.792499E+00 0.241243E+00 0.354861E+00 + 9972 0.786407E+00 0.223842E+00 0.196210E+00 + 9973 0.910587E+00 0.296773E+00 0.264776E+00 + 9974 0.835855E+00 0.270146E+00 0.301699E+00 + 9975 0.910424E+00 0.359943E+00 0.334128E+00 + 9976 0.101611E+01 0.542741E+00 0.500000E+00 + 9977 0.107419E+01 0.574068E+00 0.455018E+00 + 9978 0.827411E+00 0.362621E+00 0.500000E+00 + 9979 0.101188E+01 0.466911E+00 0.324848E+00 + 9980 0.951828E+00 0.412671E+00 0.388734E+00 + 9981 0.909888E+00 0.333166E+00 0.410757E+00 + 9982 0.976411E+00 0.387734E+00 0.311055E+00 + 9983 0.769802E+00 0.307319E+00 0.500000E+00 + 9984 0.743713E+00 0.246180E+00 0.433182E+00 + 9985 0.714850E+00 0.254086E+00 0.500000E+00 + 9986 0.678540E+00 0.198370E+00 0.442681E+00 + 9987 0.692200E+00 0.156113E+00 0.349302E+00 + 9988 0.625712E+00 0.138696E+00 0.703039E-01 + 9989 0.564235E+00 0.110523E+00 -0.128921E-06 + 9990 0.704680E+00 0.169126E+00 0.177716E+00 + 9991 0.695239E+00 0.125218E+00 0.116814E+00 + 9992 0.646124E+00 0.129642E+00 0.248901E+00 + 9993 0.610860E+00 0.834184E-01 0.207178E+00 + 9994 0.948362E+00 0.375783E+00 0.400420E-01 + 9995 0.891446E+00 0.293826E+00 -0.128921E-06 + 9996 0.844613E+00 0.252851E+00 0.829853E-01 + 9997 0.750046E+00 0.198793E+00 0.348461E-01 + 9998 0.124696E+01 0.807804E+00 0.500000E+00 + 9999 0.620715E+00 0.112030E+00 0.362309E+00 + 10000 0.596990E+00 0.157893E+00 0.463342E+00 + 10001 0.662551E+00 0.202890E+00 0.500000E+00 + 10002 0.561979E+00 0.882726E-01 0.430394E+00 + 10003 0.440062E+00 0.562301E-01 0.500000E+00 + 10004 0.471335E+00 0.111088E-01 0.436950E+00 + 10005 0.520776E+00 0.324319E-01 0.397153E+00 + 10006 0.565943E+00 0.384547E-01 0.258068E+00 + 10007 0.560372E+00 0.766457E-01 0.135116E+00 + 10008 0.541484E+00 -0.128921E-06 0.174823E+00 + 10009 0.534877E+00 0.739712E-01 0.329798E+00 + 10010 0.527805E+00 0.823970E-01 0.337985E-01 + 10011 0.127733E+01 0.935371E+00 -0.128921E-06 + 10012 0.120343E+01 0.853231E+00 -0.128921E-06 + 10013 0.117760E+01 0.786974E+00 0.119767E+00 + 10014 0.108445E+01 0.608243E+00 -0.128921E-06 + 10015 0.116968E+01 0.687732E+00 0.904171E-01 + 10016 0.115190E+01 0.567671E+00 0.107028E+00 + 10017 0.103337E+01 0.535714E+00 0.202732E+00 + 10018 0.978857E+00 0.471633E+00 0.416738E-01 + 10019 0.107615E+01 0.598763E+00 0.408447E+00 + 10020 0.100450E+01 0.436673E+00 0.179608E+00 + 10021 0.794640E+00 0.282945E+00 0.352707E+00 + 10022 0.831061E+00 0.254273E+00 0.124303E+00 + 10023 0.774139E+00 0.197788E+00 0.246439E+00 + 10024 0.881443E+00 0.255601E+00 0.316096E+00 + 10025 0.852692E+00 0.316074E+00 0.386930E+00 + 10026 0.949158E+00 0.337838E+00 0.234224E+00 + 10027 0.903772E+00 0.379832E+00 0.461710E+00 + 10028 0.990251E+00 0.396691E+00 0.368157E+00 + 10029 0.697475E+00 0.226746E+00 0.467699E+00 + 10030 0.693232E+00 0.169338E+00 0.284486E+00 + 10031 0.687233E+00 0.180479E+00 0.414064E+00 + 10032 0.669930E+00 0.154294E+00 0.413693E-01 + 10033 0.591232E+00 0.115357E+00 0.700426E-01 + 10034 0.577575E+00 0.147090E+00 -0.128921E-06 + 10035 0.706648E+00 0.145737E+00 0.210433E+00 + 10036 0.624654E+00 0.113096E+00 0.300621E+00 + 10037 0.638187E+00 0.140973E+00 0.359928E+00 + 10038 0.702834E+00 0.212934E+00 -0.128921E-06 + 10039 0.119518E+01 0.700682E+00 0.442178E+00 + 10040 0.134833E+01 0.100000E+01 0.354794E+00 + 10041 0.133278E+01 0.899517E+00 0.451598E+00 + 10042 0.605452E+00 0.110485E+00 0.444433E+00 + 10043 0.613562E+00 0.154446E+00 0.500000E+00 + 10044 0.497197E+00 0.321756E-01 0.500000E+00 + 10045 0.530094E+00 0.413718E-01 0.441431E+00 + 10046 0.594541E+00 0.421109E-01 0.222334E+00 + 10047 0.534647E+00 0.429842E-01 0.269158E+00 + 10048 0.562917E+00 -0.128921E-06 0.138504E+00 + 10049 0.125914E+01 0.829425E+00 0.130620E+00 + 10050 0.120891E+01 0.734273E+00 0.136240E+00 + 10051 0.106059E+01 0.495838E+00 0.239398E+00 + 10052 0.965732E+00 0.346148E+00 0.321307E+00 + 10053 0.606722E+00 0.116200E+00 0.100761E+00 + 10054 0.598751E+00 0.107011E+00 0.281259E+00 + 10055 0.818050E+00 0.229790E+00 0.810524E-01 + 10056 0.113600E+01 0.670460E+00 0.454628E+00 + 10057 0.537083E+00 0.406028E-01 0.342732E+00 + 10058 0.541445E+00 -0.128921E-06 0.245235E+00 + 10059 0.490047E+00 0.835688E-01 0.301157E-01 + 10060 0.440062E+00 0.562304E-01 -0.128921E-06 + 10061 0.501003E+00 0.268624E-01 0.383251E-01 + 10062 0.500000E+00 -0.128921E-06 0.350003E+00 + 10063 0.443920E+00 0.214710E-01 0.500000E+00 + 10064 0.562495E+00 -0.128921E-06 0.282237E+00 + 10065 0.526673E+00 0.105602E+00 -0.128921E-06 + 10066 0.576348E+00 0.775968E-01 0.693287E-01 + 10067 0.639646E+00 0.720355E-01 0.158642E+00 + 10068 0.582833E+00 0.732865E-01 0.330181E+00 + 10069 0.639042E+00 0.949258E-01 0.235449E+00 + 10070 0.701513E+00 0.194684E+00 0.482132E-01 + 10071 0.651225E+00 0.163369E+00 -0.128921E-06 + 10072 0.803952E+00 0.186634E+00 0.874320E-01 + 10073 0.726106E+00 0.136016E+00 0.127417E+00 + 10074 0.653153E+00 0.123032E+00 0.860481E-01 + 10075 0.760478E+00 0.150040E+00 0.224236E+00 + 10076 0.539740E+00 -0.128921E-06 0.103124E+00 + 10077 0.129054E+01 0.914031E+00 0.796830E-01 + 10078 0.118789E+01 0.792439E+00 -0.128921E-06 + 10079 0.118014E+01 0.700364E+00 0.479587E-01 + 10080 0.125147E+01 0.774137E+00 0.103069E+00 + 10081 0.119523E+01 0.673668E+00 0.128351E+00 + 10082 0.131912E+01 0.821460E+00 0.195164E+00 + 10083 0.108921E+01 0.548059E+00 0.216766E+00 + 10084 0.113920E+01 0.621461E+00 -0.128921E-06 + 10085 0.105249E+01 0.503794E+00 -0.128921E-06 + 10086 0.112972E+01 0.536509E+00 0.451867E-01 + 10087 0.135655E+01 0.927978E+00 0.218097E+00 + 10088 0.132894E+01 0.816991E+00 0.361473E+00 + 10089 0.127593E+01 0.689909E+00 0.211834E+00 + 10090 0.123191E+01 0.673765E+00 0.353877E+00 + 10091 0.115637E+01 0.585661E+00 0.397152E+00 + 10092 0.118581E+01 0.608711E+00 0.285142E+00 + 10093 0.985292E+00 0.442756E+00 -0.128921E-06 + 10094 0.100592E+01 0.446011E+00 0.867883E-01 + 10095 0.107700E+01 0.478769E+00 0.815680E-01 + 10096 0.122016E+01 0.606418E+00 0.464676E-01 + 10097 0.120604E+01 0.517285E+00 0.132920E+00 + 10098 0.107732E+01 0.429271E+00 0.157378E+00 + 10099 0.128492E+01 0.742285E+00 0.451030E+00 + 10100 0.130779E+01 0.822986E+00 0.500000E+00 + 10101 0.137871E+01 0.904227E+00 0.422180E+00 + 10102 0.115565E+01 0.676762E+00 0.500000E+00 + 10103 0.108445E+01 0.608246E+00 0.500000E+00 + 10104 0.101464E+01 0.392250E+00 0.263353E+00 + 10105 0.108911E+01 0.478368E+00 0.280229E+00 + 10106 0.959686E+00 0.348632E+00 0.859175E-01 + 10107 0.985151E+00 0.395540E+00 0.160746E+00 + 10108 0.920937E+00 0.384362E+00 0.500000E+00 + 10109 0.969498E+00 0.393566E+00 0.430054E+00 + 10110 0.813988E+00 0.317979E+00 0.500000E+00 + 10111 0.835398E+00 0.264985E+00 0.384665E+00 + 10112 0.825397E+00 0.275054E+00 0.450547E+00 + 10113 0.841998E+00 0.234525E+00 0.202954E+00 + 10114 0.871923E+00 0.215242E+00 0.293610E+00 + 10115 0.790576E+00 0.211187E+00 0.291787E+00 + 10116 0.886430E+00 0.270992E+00 0.241115E+00 + 10117 0.943591E+00 0.303405E+00 0.178438E+00 + 10118 0.869932E+00 0.239670E+00 0.110721E+00 + 10119 0.755136E+00 0.183641E+00 0.386007E+00 + 10120 0.707953E+00 0.140508E+00 0.314291E+00 + 10121 0.840743E+00 0.176940E+00 0.242460E+00 + 10122 0.963831E+00 0.317067E+00 0.290802E+00 + 10123 0.900954E+00 0.302867E+00 0.369000E+00 + 10124 0.914889E+00 0.233062E+00 0.366496E+00 + 10125 0.912217E+00 0.311718E+00 0.461128E+00 + 10126 0.105248E+01 0.503797E+00 0.500000E+00 + 10127 0.105769E+01 0.514685E+00 0.411065E+00 + 10128 0.105289E+01 0.412001E+00 0.363473E+00 + 10129 0.985290E+00 0.442760E+00 0.500000E+00 + 10130 0.994188E+00 0.338462E+00 0.380622E+00 + 10131 0.738785E+00 0.247144E+00 0.464898E+00 + 10132 0.787206E+00 0.232414E+00 0.500000E+00 + 10133 0.744744E+00 0.174130E+00 0.458021E+00 + 10134 0.702832E+00 0.212935E+00 0.500000E+00 + 10135 0.634289E+00 0.147778E+00 0.435415E+00 + 10136 0.698248E+00 0.133389E+00 0.402065E+00 + 10137 0.700956E+00 0.126231E+00 0.334288E-01 + 10138 0.601815E+00 0.117009E+00 -0.128921E-06 + 10139 0.632073E+00 0.823225E-01 0.308069E-01 + 10140 0.620101E+00 0.413772E-01 0.263479E+00 + 10141 0.876916E+00 0.250373E+00 -0.128921E-06 + 10142 0.954359E+00 0.348188E+00 -0.128921E-06 + 10143 0.937583E+00 0.259952E+00 0.822375E-01 + 10144 0.817579E+00 0.199940E+00 -0.128921E-06 + 10145 0.760672E+00 0.150668E+00 -0.128921E-06 + 10146 0.868404E+00 0.182942E+00 0.369776E-01 + 10147 0.134257E+01 0.946124E+00 0.500000E+00 + 10148 0.635328E+00 0.865853E-01 0.408634E+00 + 10149 0.552380E+00 0.331411E-01 0.376385E+00 + 10150 0.564235E+00 0.110523E+00 0.500000E+00 + 10151 0.591016E+00 0.710848E-01 0.469794E+00 + 10152 0.651224E+00 0.163370E+00 0.500000E+00 + 10153 0.534634E+00 0.323916E-01 0.500000E+00 + 10154 0.500000E+00 -0.128921E-06 0.450001E+00 + 10155 0.564468E+00 -0.128921E-06 0.210027E+00 + 10156 0.618426E+00 -0.128921E-06 0.132180E+00 + 10157 0.105965E+01 0.427888E+00 0.457501E+00 + 10158 0.468379E+00 0.802356E-01 -0.128921E-06 + 10159 0.443920E+00 0.214714E-01 -0.128921E-06 + 10160 0.500000E+00 -0.128921E-06 0.700004E-01 + 10161 0.538771E+00 -0.128921E-06 0.324046E+00 + 10162 0.472000E+00 0.108528E-01 0.500000E+00 + 10163 0.596972E+00 0.523961E-01 0.129247E+00 + 10164 0.669653E+00 0.100397E+00 0.196977E+00 + 10165 0.611912E+00 0.673966E-01 0.288149E+00 + 10166 0.690780E+00 0.172816E+00 -0.128921E-06 + 10167 0.613563E+00 0.154445E+00 -0.128921E-06 + 10168 0.661164E+00 0.118032E+00 0.323552E-01 + 10169 0.833894E+00 0.208345E+00 0.130973E+00 + 10170 0.757366E+00 0.166672E+00 0.623468E-01 + 10171 0.753084E+00 0.128081E+00 0.159238E+00 + 10172 0.575704E+00 0.777264E-01 0.326594E-01 + 10173 0.534634E+00 0.323916E-01 -0.128921E-06 + 10174 0.126335E+01 0.869521E+00 -0.128921E-06 + 10175 0.130547E+01 0.904984E+00 0.175804E+00 + 10176 0.129000E+01 0.100000E+01 -0.128921E-06 + 10177 0.117187E+01 0.733722E+00 -0.128921E-06 + 10178 0.124197E+01 0.786220E+00 0.488900E-01 + 10179 0.127219E+01 0.738892E+00 0.172529E+00 + 10180 0.116350E+01 0.644220E+00 0.469324E-01 + 10181 0.119149E+01 0.594490E+00 0.150990E+00 + 10182 0.102566E+01 0.480439E+00 0.600353E-01 + 10183 0.112255E+01 0.567690E+00 -0.128921E-06 + 10184 0.123772E+01 0.697142E+00 0.115493E+00 + 10185 0.131394E+01 0.798185E+00 0.280883E+00 + 10186 0.135951E+01 0.100000E+01 0.221295E+00 + 10187 0.108807E+01 0.543877E+00 0.292192E+00 + 10188 0.117295E+01 0.641543E+00 0.362765E+00 + 10189 0.110380E+01 0.545321E+00 0.393959E+00 + 10190 0.124103E+01 0.649748E+00 0.278602E+00 + 10191 0.123080E+01 0.703172E+00 0.403980E+00 + 10192 0.969788E+00 0.394803E+00 -0.128921E-06 + 10193 0.981736E+00 0.399988E+00 0.114227E+00 + 10194 0.111300E+01 0.447978E+00 0.543782E-01 + 10195 0.115709E+01 0.531452E+00 0.922704E-01 + 10196 0.106822E+01 0.465669E+00 0.138074E+00 + 10197 0.115449E+01 0.447450E+00 0.153941E+00 + 10198 0.132296E+01 0.806610E+00 0.449433E+00 + 10199 0.141930E+01 0.880368E+00 0.368828E+00 + 10200 0.113920E+01 0.621464E+00 0.500000E+00 + 10201 0.106856E+01 0.555286E+00 0.500000E+00 + 10202 0.100505E+01 0.417202E+00 0.320244E+00 + 10203 0.101068E+01 0.413188E+00 0.229935E+00 + 10204 0.939474E+00 0.302591E+00 0.790083E-01 + 10205 0.986733E+00 0.352267E+00 0.274424E+00 + 10206 0.109601E+01 0.418441E+00 0.281454E+00 + 10207 0.948360E+00 0.375786E+00 0.459958E+00 + 10208 0.859385E+00 0.328394E+00 0.500000E+00 + 10209 0.835712E+00 0.283658E+00 0.417893E+00 + 10210 0.823575E+00 0.203552E+00 0.203427E+00 + 10211 0.825964E+00 0.184080E+00 0.294159E+00 + 10212 0.894070E+00 0.237705E+00 0.220940E+00 + 10213 0.996011E+00 0.310919E+00 0.165072E+00 + 10214 0.886224E+00 0.260341E+00 0.876321E-01 + 10215 0.779148E+00 0.207440E+00 0.342103E+00 + 10216 0.708245E+00 0.135832E+00 0.277466E+00 + 10217 0.793166E+00 0.231327E+00 0.416477E+00 + 10218 0.933626E+00 0.265478E+00 0.313494E+00 + 10219 0.869815E+00 0.242555E+00 0.353028E+00 + 10220 0.103766E+01 0.465283E+00 0.401612E+00 + 10221 0.101394E+01 0.433796E+00 0.458154E+00 + 10222 0.101738E+01 0.368599E+00 0.394711E+00 + 10223 0.946092E+00 0.300083E+00 0.422301E+00 + 10224 0.800555E+00 0.274596E+00 0.500000E+00 + 10225 0.744399E+00 0.222868E+00 0.500000E+00 + 10226 0.738183E+00 0.158018E+00 0.420104E+00 + 10227 0.716831E+00 0.116953E+00 0.361213E+00 + 10228 0.627163E+00 0.875519E-01 -0.128921E-06 + 10229 0.665982E+00 0.848378E-01 0.104188E+00 + 10230 0.939076E+00 0.302862E+00 -0.128921E-06 + 10231 0.996788E+00 0.342780E+00 0.391981E-01 + 10232 0.944552E+00 0.232684E+00 0.371580E-01 + 10233 0.773991E+00 0.191311E+00 -0.128921E-06 + 10234 0.823244E+00 0.175178E+00 0.361190E-01 + 10235 0.132548E+01 0.884846E+00 0.500000E+00 + 10236 0.121289E+01 0.690614E+00 0.500000E+00 + 10237 0.136000E+01 0.100000E+01 0.500000E+00 + 10238 0.651558E+00 0.123220E+00 0.442618E+00 + 10239 0.590228E+00 0.625754E-01 0.389271E+00 + 10240 0.563413E+00 0.829442E-01 0.472064E+00 + 10241 0.601815E+00 0.117010E+00 0.500000E+00 + 10242 0.690779E+00 0.172818E+00 0.500000E+00 + 10243 0.559575E+00 -0.128921E-06 0.456710E+00 + 10244 0.625266E+00 -0.128921E-06 0.210243E+00 + 10245 0.616339E+00 -0.128921E-06 0.289243E+00 + 10246 0.108900E+01 0.464324E+00 0.500000E+00 + 10247 0.491744E+00 0.483868E-01 0.293773E-01 + 10248 0.494822E+00 0.102469E+00 -0.128921E-06 + 10249 0.531927E+00 0.416699E-01 0.778376E-01 + 10250 0.629543E+00 0.713854E-01 0.898487E-01 + 10251 0.623394E+00 0.418096E-01 0.183810E+00 + 10252 0.562180E+00 0.381638E-01 0.309787E+00 + 10253 0.639362E+00 0.125092E+00 -0.128921E-06 + 10254 0.797274E+00 0.188666E+00 0.135914E+00 + 10255 0.723303E+00 0.142295E+00 0.734593E-01 + 10256 0.549800E+00 0.735864E-01 -0.128921E-06 + 10257 0.122589E+01 0.833158E+00 0.876001E-01 + 10258 0.132553E+01 0.100000E+01 0.118636E+00 + 10259 0.132548E+01 0.884843E+00 -0.128921E-06 + 10260 0.115565E+01 0.676759E+00 -0.128921E-06 + 10261 0.118726E+01 0.627837E+00 0.995824E-01 + 10262 0.110579E+01 0.515297E+00 -0.128921E-06 + 10263 0.123825E+01 0.714378E+00 0.490045E-01 + 10264 0.133943E+01 0.866248E+00 0.237414E+00 + 10265 0.134058E+01 0.757236E+00 0.125679E+00 + 10266 0.129384E+01 0.701564E+00 0.264699E+00 + 10267 0.117684E+01 0.673740E+00 0.390537E+00 + 10268 0.110332E+01 0.540836E+00 0.352829E+00 + 10269 0.111540E+01 0.599135E+00 0.454570E+00 + 10270 0.119628E+01 0.608446E+00 0.329717E+00 + 10271 0.114793E+01 0.565550E+00 0.281444E+00 + 10272 0.127574E+01 0.691796E+00 0.387910E+00 + 10273 0.114579E+01 0.542419E+00 0.174561E+00 + 10274 0.121640E+01 0.603181E+00 0.217217E+00 + 10275 0.103633E+01 0.453676E+00 -0.128921E-06 + 10276 0.113435E+01 0.477809E+00 0.747496E-01 + 10277 0.102999E+01 0.468987E+00 0.105553E+00 + 10278 0.117412E+01 0.561638E+00 0.451802E-01 + 10279 0.994236E+00 0.403566E+00 0.539113E-01 + 10280 0.139379E+01 0.843633E+00 0.420837E+00 + 10281 0.103428E+01 0.448522E+00 0.286288E+00 + 10282 0.103451E+01 0.399662E+00 0.195673E+00 + 10283 0.986300E+00 0.370296E+00 0.228417E+00 + 10284 0.112877E+01 0.455359E+00 0.230947E+00 + 10285 0.971696E+00 0.404306E+00 0.464508E+00 + 10286 0.825689E+00 0.306864E+00 0.462469E+00 + 10287 0.800381E+00 0.263230E+00 0.430642E+00 + 10288 0.840072E+00 0.214395E+00 0.243957E+00 + 10289 0.813458E+00 0.210634E+00 0.325424E+00 + 10290 0.900000E+00 0.268404E+00 0.186136E+00 + 10291 0.998768E+00 0.351430E+00 0.129510E+00 + 10292 0.752181E+00 0.155818E+00 0.345176E+00 + 10293 0.815263E+00 0.152880E+00 0.227360E+00 + 10294 0.962226E+00 0.263300E+00 0.259195E+00 + 10295 0.938060E+00 0.317155E+00 0.363767E+00 + 10296 0.885980E+00 0.298885E+00 0.411312E+00 + 10297 0.909935E+00 0.207473E+00 0.337802E+00 + 10298 0.108636E+01 0.510815E+00 0.457192E+00 + 10299 0.906130E+00 0.338462E+00 0.500000E+00 + 10300 0.103384E+01 0.424676E+00 0.415060E+00 + 10301 0.102513E+01 0.365758E+00 0.349269E+00 + 10302 0.768532E+00 0.215532E+00 0.464821E+00 + 10303 0.683637E+00 0.136122E+00 0.446325E+00 + 10304 0.661654E+00 0.115836E+00 0.352688E+00 + 10305 0.698156E+00 0.690677E-01 0.141641E+00 + 10306 0.652587E+00 0.828427E-01 0.269355E+00 + 10307 0.966637E+00 0.293702E+00 0.395898E-01 + 10308 0.903316E+00 0.241684E+00 0.378902E-01 + 10309 0.803817E+00 0.158903E+00 -0.128921E-06 + 10310 0.731747E+00 0.182203E+00 -0.128921E-06 + 10311 0.869969E+00 0.190787E+00 0.823974E-01 + 10312 0.128981E+01 0.762783E+00 0.500000E+00 + 10313 0.119564E+01 0.634444E+00 0.500000E+00 + 10314 0.143474E+01 0.100000E+01 0.249400E+00 + 10315 0.137399E+01 0.954093E+00 0.453479E+00 + 10316 0.576555E+00 0.442230E-01 0.430144E+00 + 10317 0.617685E+00 0.131995E+00 0.467811E+00 + 10318 0.589147E+00 0.797089E-01 0.500000E+00 + 10319 0.675966E+00 0.882596E-01 0.412692E+00 + 10320 0.535000E+00 -0.128921E-06 0.500000E+00 + 10321 0.531623E+00 -0.128921E-06 0.373876E+00 + 10322 0.593888E+00 -0.128921E-06 0.246733E+00 + 10323 0.587340E+00 -0.128921E-06 0.962628E-01 + 10324 0.103633E+01 0.453679E+00 0.500000E+00 + 10325 0.471093E+00 0.449819E-01 -0.128921E-06 + 10326 0.704929E+00 0.102491E+00 0.663317E-01 + 10327 0.768413E+00 0.160365E+00 0.150753E+00 + 10328 0.564520E+00 0.316349E-01 0.348684E-01 + 10329 0.120507E+01 0.764527E+00 0.643175E-01 + 10330 0.134257E+01 0.946122E+00 -0.128921E-06 + 10331 0.124696E+01 0.807801E+00 -0.128921E-06 + 10332 0.122749E+01 0.665381E+00 0.629473E-01 + 10333 0.133533E+01 0.857213E+00 0.125168E+00 + 10334 0.139497E+01 0.900221E+00 0.298770E+00 + 10335 0.132638E+01 0.712096E+00 0.215513E+00 + 10336 0.128790E+01 0.740314E+00 0.354661E+00 + 10337 0.113858E+01 0.579030E+00 0.325657E+00 + 10338 0.117515E+01 0.644008E+00 0.431300E+00 + 10339 0.112447E+01 0.537467E+00 0.235466E+00 + 10340 0.124365E+01 0.650761E+00 0.159924E+00 + 10341 0.101394E+01 0.433792E+00 0.418459E-01 + 10342 0.114339E+01 0.474640E+00 -0.128921E-06 + 10343 0.121311E+01 0.582573E+00 0.973684E-01 + 10344 0.117824E+01 0.579785E+00 -0.128921E-06 + 10345 0.118641E+01 0.475202E+00 0.973352E-01 + 10346 0.102955E+01 0.425887E+00 0.128599E+00 + 10347 0.124700E+01 0.716542E+00 0.455362E+00 + 10348 0.989131E+00 0.363602E+00 0.190565E+00 + 10349 0.105087E+01 0.395052E+00 0.248286E+00 + 10350 0.850685E+00 0.207337E+00 0.325770E+00 + 10351 0.870598E+00 0.235422E+00 0.165103E+00 + 10352 0.961318E+00 0.305708E+00 0.130311E+00 + 10353 0.938629E+00 0.267499E+00 0.221213E+00 + 10354 0.790712E+00 0.163570E+00 0.304735E+00 + 10355 0.926282E+00 0.268533E+00 0.380599E+00 + 10356 0.871221E+00 0.276194E+00 0.462376E+00 + 10357 0.105222E+01 0.454825E+00 0.335369E+00 + 10358 0.112255E+01 0.567694E+00 0.500000E+00 + 10359 0.113310E+01 0.496337E+00 0.320181E+00 + 10360 0.969786E+00 0.394806E+00 0.500000E+00 + 10361 0.928440E+00 0.338731E+00 0.448478E+00 + 10362 0.100673E+01 0.328013E+00 0.322582E+00 + 10363 0.812045E+00 0.224649E+00 0.463978E+00 + 10364 0.775822E+00 0.168022E+00 0.436573E+00 + 10365 0.708453E+00 0.189319E+00 0.465950E+00 + 10366 0.739596E+00 0.128414E+00 0.386932E+00 + 10367 0.625082E+00 0.109162E+00 0.588703E-01 + 10368 0.678386E+00 0.133581E+00 -0.128921E-06 + 10369 0.713797E+00 0.165734E+00 0.339202E-01 + 10370 0.589147E+00 0.797086E-01 -0.128921E-06 + 10371 0.719273E+00 0.100030E+00 0.133268E+00 + 10372 0.705331E+00 0.957340E-01 0.247675E+00 + 10373 0.654114E+00 0.459024E-01 0.224997E+00 + 10374 0.645059E+00 0.713040E-01 0.324627E+00 + 10375 0.100416E+01 0.357543E+00 -0.128921E-06 + 10376 0.923972E+00 0.258779E+00 -0.128921E-06 + 10377 0.873476E+00 0.225704E+00 0.757979E-01 + 10378 0.792175E+00 0.144358E+00 0.413178E-01 + 10379 0.862583E+00 0.208138E+00 -0.128921E-06 + 10380 0.137087E+01 0.837905E+00 0.500000E+00 + 10381 0.580807E+00 0.340642E-01 0.350033E+00 + 10382 0.607694E+00 0.647369E-01 0.427300E+00 + 10383 0.627163E+00 0.875526E-01 0.500000E+00 + 10384 0.656324E+00 0.140681E+00 0.467513E+00 + 10385 0.551770E+00 0.578962E-01 0.456950E+00 + 10386 0.500000E+00 -0.128921E-06 0.500000E+00 + 10387 0.530706E+00 -0.128921E-06 0.417582E+00 + 10388 0.594106E+00 -0.128921E-06 0.173631E+00 + 10389 0.611411E+00 0.369884E-01 0.811151E-01 + 10390 0.109316E+01 0.476481E+00 0.432918E+00 + 10391 0.472000E+00 0.108532E-01 -0.128921E-06 + 10392 0.790773E+00 0.154796E+00 0.188903E+00 + 10393 0.783858E+00 0.154266E+00 0.114589E+00 + 10394 0.506941E+00 0.680021E-01 -0.128921E-06 + 10395 0.130786E+01 0.829702E+00 0.549150E-01 + 10396 0.127821E+01 0.766223E+00 0.403908E+00 + 10397 0.118893E+01 0.567817E+00 0.213737E+00 + 10398 0.127381E+01 0.693326E+00 0.151539E+00 + 10399 0.108900E+01 0.464321E+00 -0.128921E-06 + 10400 0.119564E+01 0.634441E+00 -0.128921E-06 + 10401 0.111272E+01 0.463518E+00 0.137954E+00 + 10402 0.109191E+01 0.419068E+00 0.224325E+00 + 10403 0.911001E+00 0.257374E+00 0.124320E+00 + 10404 0.755039E+00 0.144885E+00 0.273376E+00 + 10405 0.819279E+00 0.206193E+00 0.367074E+00 + 10406 0.903030E+00 0.222609E+00 0.273954E+00 + 10407 0.868576E+00 0.242736E+00 0.413584E+00 + 10408 0.990585E+00 0.306052E+00 0.223069E+00 + 10409 0.109774E+01 0.462197E+00 0.331402E+00 + 10410 0.115387E+01 0.558008E+00 0.454317E+00 + 10411 0.963693E+00 0.342564E+00 0.414830E+00 + 10412 0.102630E+01 0.360354E+00 0.282751E+00 + 10413 0.974243E+00 0.298782E+00 0.351760E+00 + 10414 0.708418E+00 0.152775E+00 0.467081E+00 + 10415 0.620264E+00 0.796330E-01 0.629131E-01 + 10416 0.725755E+00 0.931229E-01 0.186550E+00 + 10417 0.714887E+00 0.767108E-01 0.105141E+00 + 10418 0.691853E+00 0.897241E-01 0.298756E+00 + 10419 0.755205E+00 0.136391E+00 0.335753E-01 + 10420 0.127184E+01 0.704199E+00 0.500000E+00 + 10421 0.122672E+01 0.664589E+00 0.440123E+00 + 10422 0.142778E+01 0.100000E+01 0.411746E+00 + 10423 0.138969E+01 0.898827E+00 0.500000E+00 + 10424 0.626130E+00 0.759746E-01 0.375203E+00 + 10425 0.644089E+00 0.102690E+00 0.467992E+00 + 10426 0.549799E+00 0.735864E-01 0.500000E+00 + 10427 0.563277E+00 -0.128921E-06 0.400362E+00 + 10428 0.609192E+00 0.387971E-01 0.317931E+00 + 10429 0.556042E+00 -0.128921E-06 0.603888E-01 + 10430 0.754196E+00 0.120469E+00 0.730486E-01 + 10431 0.106586E+01 0.444242E+00 0.429475E-01 + 10432 0.115678E+01 0.512638E+00 0.202074E+00 + 10433 0.127712E+01 0.711864E+00 0.101441E+00 + 10434 0.845646E+00 0.173063E+00 0.169857E+00 + 10435 0.792195E+00 0.160991E+00 0.253261E+00 + 10436 0.852556E+00 0.223768E+00 0.378620E+00 + 10437 0.109568E+01 0.478728E+00 0.377037E+00 + 10438 0.679401E+00 0.842687E-01 0.226661E+00 + 10439 0.639361E+00 0.125092E+00 0.500000E+00 + 10440 0.685417E+00 0.938774E-01 0.362781E+00 + 10441 0.562241E+00 -0.128921E-06 0.354916E+00 + 10442 0.586712E+00 0.405830E-01 0.534941E-01 + 10443 0.111016E+01 0.474161E+00 0.189552E+00 + 10444 0.497197E+00 0.321760E-01 -0.128921E-06 + 10445 0.532363E+00 -0.128921E-06 0.281159E-01 + 10446 0.585273E+00 -0.128921E-06 0.323080E+00 + 10447 0.643795E+00 0.381534E-01 0.140163E+00 + 10448 0.666547E+00 0.446824E-01 0.889091E-01 + 10449 0.616751E+00 0.353069E-01 0.367777E+00 + 10450 0.706734E+00 0.484631E-01 0.175329E+00 + 10451 0.668405E+00 0.423420E-01 0.281046E+00 + 10452 0.718863E+00 0.142182E+00 -0.128921E-06 + 10453 0.688430E+00 0.881106E-01 0.324244E-01 + 10454 0.841161E+00 0.164745E+00 0.709091E-01 + 10455 0.895053E+00 0.194366E+00 0.131819E+00 + 10456 0.809336E+00 0.131578E+00 0.142275E+00 + 10457 0.768463E+00 0.705674E-01 0.710556E-01 + 10458 0.781362E+00 0.102628E+00 0.263623E+00 + 10459 0.578283E+00 0.397795E-01 -0.128921E-06 + 10460 0.136201E+01 0.873856E+00 0.525862E-01 + 10461 0.130779E+01 0.822982E+00 -0.128921E-06 + 10462 0.123003E+01 0.748328E+00 -0.128921E-06 + 10463 0.136000E+01 0.100000E+01 -0.128921E-06 + 10464 0.123639E+01 0.619747E+00 0.106787E+00 + 10465 0.133408E+01 0.687101E+00 0.137726E+00 + 10466 0.137558E+01 0.777462E+00 0.217471E+00 + 10467 0.122268E+01 0.527390E+00 0.206712E+00 + 10468 0.116082E+01 0.526538E+00 -0.128921E-06 + 10469 0.129749E+01 0.675033E+00 0.485200E-01 + 10470 0.141750E+01 0.914701E+00 0.196340E+00 + 10471 0.138656E+01 0.766067E+00 0.513406E-01 + 10472 0.135958E+01 0.741676E+00 0.448839E+00 + 10473 0.140788E+01 0.766124E+00 0.341709E+00 + 10474 0.150000E+01 0.942562E+00 0.333941E+00 + 10475 0.135704E+01 0.671145E+00 0.275243E+00 + 10476 0.122569E+01 0.610543E+00 0.395014E+00 + 10477 0.115558E+01 0.534025E+00 0.344128E+00 + 10478 0.127111E+01 0.576252E+00 0.277288E+00 + 10479 0.135274E+01 0.668267E+00 0.393082E+00 + 10480 0.102020E+01 0.404944E+00 -0.128921E-06 + 10481 0.102744E+01 0.407988E+00 0.802547E-01 + 10482 0.113803E+01 0.425627E+00 0.963629E-01 + 10483 0.112601E+01 0.424176E+00 -0.128921E-06 + 10484 0.122242E+01 0.510503E+00 0.645014E-01 + 10485 0.123572E+01 0.591520E+00 -0.128921E-06 + 10486 0.124581E+01 0.415163E+00 0.130368E+00 + 10487 0.113704E+01 0.412771E+00 0.216089E+00 + 10488 0.109026E+01 0.374414E+00 0.144162E+00 + 10489 0.125381E+01 0.647159E+00 0.500000E+00 + 10490 0.143990E+01 0.847973E+00 0.452490E+00 + 10491 0.117824E+01 0.579787E+00 0.500000E+00 + 10492 0.110579E+01 0.515301E+00 0.500000E+00 + 10493 0.102131E+01 0.335436E+00 0.231274E+00 + 10494 0.106651E+01 0.387874E+00 0.307738E+00 + 10495 0.102348E+01 0.327665E+00 0.879025E-01 + 10496 0.954358E+00 0.348191E+00 0.500000E+00 + 10497 0.102632E+01 0.386610E+00 0.448082E+00 + 10498 0.845302E+00 0.284379E+00 0.500000E+00 + 10499 0.834946E+00 0.247480E+00 0.430609E+00 + 10500 0.862125E+00 0.170866E+00 0.276277E+00 + 10501 0.938044E+00 0.206655E+00 0.238603E+00 + 10502 0.968241E+00 0.275877E+00 0.159373E+00 + 10503 0.810884E+00 0.167048E+00 0.375436E+00 + 10504 0.727136E+00 0.109679E+00 0.323722E+00 + 10505 0.784246E+00 0.981143E-01 0.348757E+00 + 10506 0.798462E+00 0.183387E+00 0.464424E+00 + 10507 0.890825E+00 0.130138E+00 0.219925E+00 + 10508 0.995925E+00 0.262900E+00 0.302049E+00 + 10509 0.922589E+00 0.257621E+00 0.434903E+00 + 10510 0.921994E+00 0.176330E+00 0.381146E+00 + 10511 0.923971E+00 0.258782E+00 0.500000E+00 + 10512 0.109117E+01 0.436319E+00 0.425572E+00 + 10513 0.115256E+01 0.429087E+00 0.339763E+00 + 10514 0.118787E+01 0.494999E+00 0.458945E+00 + 10515 0.102183E+01 0.302846E+00 0.427305E+00 + 10516 0.731746E+00 0.182205E+00 0.500000E+00 + 10517 0.765707E+00 0.126005E+00 0.464811E+00 + 10518 0.721297E+00 0.756830E-01 0.435293E+00 + 10519 0.678385E+00 0.133582E+00 0.500000E+00 + 10520 0.909061E+00 0.215899E+00 -0.128921E-06 + 10521 0.988268E+00 0.311499E+00 -0.128921E-06 + 10522 0.994500E+00 0.229043E+00 0.955576E-01 + 10523 0.945576E+00 0.167654E+00 0.400963E-01 + 10524 0.789568E+00 0.117279E+00 -0.128921E-06 + 10525 0.141148E+01 0.953157E+00 0.500000E+00 + 10526 0.150000E+01 0.100000E+01 0.500000E+00 + 10527 0.637618E+00 0.532061E-01 0.455668E+00 + 10528 0.606812E+00 -0.128921E-06 0.433361E+00 + 10529 0.578282E+00 0.397795E-01 0.500000E+00 + 10530 0.500000E+00 -0.128921E-06 -0.128921E-06 + 10531 0.640662E+00 0.439476E-01 0.108278E+00 + 10532 0.672088E+00 0.580736E-01 0.167392E+00 + 10533 0.652128E+00 0.354548E-01 0.471736E-01 + 10534 0.665743E+00 0.954244E-01 -0.128921E-06 + 10535 0.807054E+00 0.132209E+00 0.982122E-01 + 10536 0.728553E+00 0.947134E-01 0.338032E-01 + 10537 0.791432E+00 0.102220E+00 0.182825E+00 + 10538 0.571225E+00 -0.128921E-06 -0.128921E-06 + 10539 0.136169E+01 0.935010E+00 0.648175E-01 + 10540 0.121289E+01 0.690611E+00 -0.128921E-06 + 10541 0.129129E+01 0.741629E+00 0.467930E-01 + 10542 0.137087E+01 0.837901E+00 -0.128921E-06 + 10543 0.126951E+01 0.651409E+00 0.113209E+00 + 10544 0.138782E+01 0.834332E+00 0.137889E+00 + 10545 0.116793E+01 0.495272E+00 0.455989E-01 + 10546 0.139709E+01 0.824992E+00 0.294255E+00 + 10547 0.137852E+01 0.671533E+00 0.924317E-01 + 10548 0.139934E+01 0.772461E+00 0.407895E+00 + 10549 0.150000E+01 0.945990E+00 0.218712E+00 + 10550 0.128797E+01 0.627335E+00 0.207442E+00 + 10551 0.130909E+01 0.681294E+00 0.317005E+00 + 10552 0.114028E+01 0.508795E+00 0.270346E+00 + 10553 0.120320E+01 0.601918E+00 0.452814E+00 + 10554 0.119826E+01 0.565506E+00 0.337701E+00 + 10555 0.112850E+01 0.511981E+00 0.416662E+00 + 10556 0.127984E+01 0.670283E+00 0.450726E+00 + 10557 0.107225E+01 0.414728E+00 -0.128921E-06 + 10558 0.101294E+01 0.365020E+00 0.842057E-01 + 10559 0.107460E+01 0.423302E+00 0.941957E-01 + 10560 0.125226E+01 0.576606E+00 0.485930E-01 + 10561 0.124145E+01 0.491633E+00 0.126487E+00 + 10562 0.118365E+01 0.400937E+00 0.116384E+00 + 10563 0.108969E+01 0.360794E+00 0.184775E+00 + 10564 0.133258E+01 0.717489E+00 0.500000E+00 + 10565 0.145347E+01 0.936893E+00 0.443939E+00 + 10566 0.993881E+00 0.283810E+00 0.800916E-01 + 10567 0.103111E+01 0.297011E+00 0.271893E+00 + 10568 0.110814E+01 0.404954E+00 0.321445E+00 + 10569 0.986361E+00 0.371511E+00 0.456171E+00 + 10570 0.891445E+00 0.293829E+00 0.500000E+00 + 10571 0.831349E+00 0.241589E+00 0.500000E+00 + 10572 0.897161E+00 0.194776E+00 0.208912E+00 + 10573 0.867369E+00 0.166915E+00 0.338923E+00 + 10574 0.828600E+00 0.138366E+00 0.260093E+00 + 10575 0.104371E+01 0.317970E+00 0.127473E+00 + 10576 0.918929E+00 0.221517E+00 0.884443E-01 + 10577 0.992196E+00 0.223192E+00 0.208240E+00 + 10578 0.778867E+00 0.114072E+00 0.385487E+00 + 10579 0.816742E+00 0.179139E+00 0.432993E+00 + 10580 0.767596E+00 0.117547E+00 0.319155E+00 + 10581 0.867231E+00 0.121773E+00 0.138286E+00 + 10582 0.936378E+00 0.172583E+00 0.270030E+00 + 10583 0.972403E+00 0.232851E+00 0.357088E+00 + 10584 0.888899E+00 0.198123E+00 0.447687E+00 + 10585 0.945203E+00 0.276131E+00 0.460824E+00 + 10586 0.116081E+01 0.526542E+00 0.500000E+00 + 10587 0.104910E+01 0.352422E+00 0.412850E+00 + 10588 0.773990E+00 0.191313E+00 0.500000E+00 + 10589 0.718862E+00 0.142183E+00 0.500000E+00 + 10590 0.707413E+00 0.115187E+00 0.439741E+00 + 10591 0.731476E+00 0.447947E-01 0.100416E+00 + 10592 0.718501E+00 0.503344E-01 0.209178E+00 + 10593 0.650077E+00 -0.128921E-06 0.254462E+00 + 10594 0.649760E+00 0.418387E-01 0.341497E+00 + 10595 0.972566E+00 0.266744E+00 -0.128921E-06 + 10596 0.103908E+01 0.319715E+00 -0.128921E-06 + 10597 0.941733E+00 0.180796E+00 -0.128921E-06 + 10598 0.848337E+00 0.166690E+00 -0.128921E-06 + 10599 0.144060E+01 0.853297E+00 0.500000E+00 + 10600 0.675753E+00 0.473345E-01 0.409217E+00 + 10601 0.594905E+00 -0.128921E-06 0.372103E+00 + 10602 0.610426E+00 0.348619E-01 0.453519E+00 + 10603 0.655378E+00 0.556958E-01 0.500000E+00 + 10604 0.571226E+00 -0.128921E-06 0.500000E+00 + 10605 0.107225E+01 0.414732E+00 0.500000E+00 + 10606 0.648336E+00 0.756229E-01 0.552847E-01 + 10607 0.650811E+00 -0.128921E-06 0.167558E+00 + 10608 0.849703E+00 0.163155E+00 0.114542E+00 + 10609 0.772626E+00 0.952667E-01 0.124085E+00 + 10610 0.723371E+00 0.592620E-01 0.535754E-01 + 10611 0.748123E+00 0.928360E-01 0.231952E+00 + 10612 0.861350E+00 0.108260E+00 0.183931E+00 + 10613 0.778230E+00 0.983519E-01 0.373520E-01 + 10614 0.616926E+00 0.458318E-01 -0.128921E-06 + 10615 0.535000E+00 -0.128921E-06 -0.128921E-06 + 10616 0.141332E+01 0.927194E+00 0.127269E+00 + 10617 0.128981E+01 0.762779E+00 -0.128921E-06 + 10618 0.138969E+01 0.898824E+00 -0.128921E-06 + 10619 0.125843E+01 0.579266E+00 0.164587E+00 + 10620 0.128157E+01 0.627119E+00 0.600670E-01 + 10621 0.141906E+01 0.853161E+00 0.215644E+00 + 10622 0.141442E+01 0.765339E+00 0.111205E+00 + 10623 0.138155E+01 0.728704E+00 0.290742E+00 + 10624 0.131852E+01 0.625483E+00 0.278165E+00 + 10625 0.128534E+01 0.629784E+00 0.392944E+00 + 10626 0.120547E+01 0.543501E+00 0.399845E+00 + 10627 0.123906E+01 0.550687E+00 0.298837E+00 + 10628 0.133910E+01 0.683720E+00 0.450562E+00 + 10629 0.102665E+01 0.376341E+00 0.417109E-01 + 10630 0.105061E+01 0.386681E+00 0.137762E+00 + 10631 0.112321E+01 0.408250E+00 0.425429E-01 + 10632 0.119957E+01 0.484638E+00 -0.128921E-06 + 10633 0.119501E+01 0.461782E+00 0.173219E+00 + 10634 0.124009E+01 0.439031E+00 0.809873E-01 + 10635 0.113342E+01 0.398670E+00 0.145297E+00 + 10636 0.135133E+01 0.776934E+00 0.500000E+00 + 10637 0.150000E+01 0.814974E+00 0.370068E+00 + 10638 0.104037E+01 0.366377E+00 0.217512E+00 + 10639 0.113719E+01 0.442240E+00 0.273465E+00 + 10640 0.997192E+00 0.298776E+00 0.119414E+00 + 10641 0.975913E+00 0.323481E+00 0.460093E+00 + 10642 0.102020E+01 0.404948E+00 0.500000E+00 + 10643 0.856949E+00 0.233368E+00 0.463072E+00 + 10644 0.899904E+00 0.193463E+00 0.249826E+00 + 10645 0.810812E+00 0.113402E+00 0.288039E+00 + 10646 0.938460E+00 0.245131E+00 0.173134E+00 + 10647 0.865882E+00 0.163324E+00 0.409843E+00 + 10648 0.101333E+01 0.287335E+00 0.326874E+00 + 10649 0.962198E+00 0.208804E+00 0.298015E+00 + 10650 0.968695E+00 0.269172E+00 0.410807E+00 + 10651 0.931587E+00 0.202866E+00 0.406237E+00 + 10652 0.919641E+00 0.143783E+00 0.355053E+00 + 10653 0.106940E+01 0.285487E+00 0.220082E+00 + 10654 0.112449E+01 0.502565E+00 0.461132E+00 + 10655 0.108829E+01 0.415585E+00 0.378178E+00 + 10656 0.121763E+01 0.537400E+00 0.500000E+00 + 10657 0.817578E+00 0.199942E+00 0.500000E+00 + 10658 0.800234E+00 0.143848E+00 0.463152E+00 + 10659 0.755519E+00 0.787823E-01 0.415909E+00 + 10660 0.733034E+00 0.779305E-01 0.344793E+00 + 10661 0.688430E+00 0.881113E-01 0.467575E+00 + 10662 0.705617E+00 0.102929E+00 -0.128921E-06 + 10663 0.760689E+00 0.440963E-01 0.173643E+00 + 10664 0.677442E+00 0.475775E-01 0.247465E+00 + 10665 0.656744E+00 0.416789E-01 0.373683E+00 + 10666 0.101670E+01 0.301822E+00 0.406428E-01 + 10667 0.915029E+00 0.190231E+00 0.378830E-01 + 10668 0.957064E+00 0.223226E+00 -0.128921E-06 + 10669 0.979024E+00 0.194234E+00 0.831332E-01 + 10670 0.833659E+00 0.124598E+00 -0.128921E-06 + 10671 0.143000E+01 0.100000E+01 0.500000E+00 + 10672 0.150000E+01 0.100000E+01 0.260000E+00 + 10673 0.144893E+01 0.910855E+00 0.500000E+00 + 10674 0.616926E+00 0.458322E-01 0.500000E+00 + 10675 0.659888E+00 -0.128921E-06 0.311032E+00 + 10676 0.641413E+00 -0.128921E-06 0.719016E-01 + 10677 0.112601E+01 0.424179E+00 0.500000E+00 + 10678 0.108529E+01 0.356398E+00 0.457475E+00 + 10679 0.690651E+00 0.670837E-01 0.707366E-01 + 10680 0.757365E+00 0.832171E-01 0.163157E+00 + 10681 0.796313E+00 0.988685E-01 0.878233E-01 + 10682 0.601265E+00 -0.128921E-06 0.422509E-01 + 10683 0.139430E+01 0.100000E+01 0.118401E+00 + 10684 0.141148E+01 0.953156E+00 -0.128921E-06 + 10685 0.127184E+01 0.704197E+00 -0.128921E-06 + 10686 0.135133E+01 0.776931E+00 -0.128921E-06 + 10687 0.141982E+01 0.826467E+00 0.710426E-01 + 10688 0.140980E+01 0.766428E+00 0.170105E+00 + 10689 0.132345E+01 0.678388E+00 0.938882E-01 + 10690 0.136552E+01 0.720241E+00 0.367427E+00 + 10691 0.150000E+01 0.878249E+00 0.247842E+00 + 10692 0.140405E+01 0.653743E+00 0.218997E+00 + 10693 0.126831E+01 0.597317E+00 0.347481E+00 + 10694 0.116919E+01 0.502764E+00 0.367103E+00 + 10695 0.121008E+01 0.540327E+00 0.262537E+00 + 10696 0.107885E+01 0.385466E+00 0.428309E-01 + 10697 0.115406E+01 0.432007E+00 0.600871E-01 + 10698 0.121763E+01 0.537397E+00 -0.128921E-06 + 10699 0.128571E+01 0.581880E+00 0.104614E+00 + 10700 0.120846E+01 0.384452E+00 0.184962E+00 + 10701 0.141353E+01 0.790667E+00 0.500000E+00 + 10702 0.150000E+01 0.883567E+00 0.402474E+00 + 10703 0.104854E+01 0.338592E+00 0.180628E+00 + 10704 0.109784E+01 0.385588E+00 0.252404E+00 + 10705 0.908620E+00 0.161292E+00 0.296297E+00 + 10706 0.829661E+00 0.165462E+00 0.333476E+00 + 10707 0.976554E+00 0.265720E+00 0.111822E+00 + 10708 0.742099E+00 0.976477E-01 0.275169E+00 + 10709 0.849191E+00 0.212066E+00 0.421530E+00 + 10710 0.908171E+00 0.158904E+00 0.155845E+00 + 10711 0.832434E+00 0.115988E+00 0.229771E+00 + 10712 0.102031E+01 0.253918E+00 0.272377E+00 + 10713 0.939922E+00 0.241191E+00 0.402964E+00 + 10714 0.903315E+00 0.241687E+00 0.462110E+00 + 10715 0.939075E+00 0.302865E+00 0.500000E+00 + 10716 0.123344E+01 0.524131E+00 0.453419E+00 + 10717 0.107593E+01 0.402120E+00 0.418044E+00 + 10718 0.100415E+01 0.357546E+00 0.500000E+00 + 10719 0.104991E+01 0.301854E+00 0.362757E+00 + 10720 0.994527E+00 0.284169E+00 0.459789E+00 + 10721 0.760671E+00 0.150669E+00 0.500000E+00 + 10722 0.826444E+00 0.130948E+00 0.418871E+00 + 10723 0.734560E+00 0.739741E-01 0.381206E+00 + 10724 0.705617E+00 0.102930E+00 0.500000E+00 + 10725 0.655378E+00 0.556951E-01 -0.128921E-06 + 10726 0.697809E+00 -0.128921E-06 0.141691E+00 + 10727 0.695253E+00 0.420230E-01 0.332338E+00 + 10728 0.100065E+01 0.257024E+00 0.399127E-01 + 10729 0.746882E+00 0.110064E+00 -0.128921E-06 + 10730 0.877298E+00 0.137680E+00 0.832304E-01 + 10731 0.894292E+00 0.173998E+00 -0.128921E-06 + 10732 0.131387E+01 0.659491E+00 0.500000E+00 + 10733 0.625449E+00 0.325237E-01 0.403989E+00 + 10734 0.625963E+00 -0.128921E-06 0.341470E+00 + 10735 0.683840E+00 0.541752E-01 0.451887E+00 + 10736 0.608719E+00 -0.128921E-06 0.500000E+00 + 10737 0.114339E+01 0.474643E+00 0.500000E+00 + 10738 0.125381E+01 0.647156E+00 -0.128921E-06 + 10739 0.136783E+01 0.706514E+00 0.510266E-01 + 10740 0.140938E+01 0.695970E+00 0.166706E+00 + 10741 0.119087E+01 0.526924E+00 0.307287E+00 + 10742 0.126814E+01 0.548421E+00 0.226800E+00 + 10743 0.131493E+01 0.624439E+00 0.145137E+00 + 10744 0.118154E+01 0.433258E+00 -0.128921E-06 + 10745 0.126580E+01 0.530931E+00 0.102265E+00 + 10746 0.106489E+01 0.332597E+00 0.260426E+00 + 10747 0.101400E+01 0.277886E+00 0.171575E+00 + 10748 0.950021E+00 0.192557E+00 0.124765E+00 + 10749 0.809950E+00 0.131385E+00 0.346643E+00 + 10750 0.877351E+00 0.135521E+00 0.271076E+00 + 10751 0.983847E+00 0.180301E+00 0.253878E+00 + 10752 0.893624E+00 0.207227E+00 0.395999E+00 + 10753 0.973260E+00 0.196484E+00 0.381180E+00 + 10754 0.876915E+00 0.250376E+00 0.500000E+00 + 10755 0.113022E+01 0.466458E+00 0.398316E+00 + 10756 0.109241E+01 0.357203E+00 0.360680E+00 + 10757 0.103294E+01 0.347935E+00 0.458597E+00 + 10758 0.100166E+01 0.290053E+00 0.376619E+00 + 10759 0.840936E+00 0.192135E+00 0.464066E+00 + 10760 0.784823E+00 0.120192E+00 0.426670E+00 + 10761 0.728553E+00 0.947144E-01 0.466197E+00 + 10762 0.679188E+00 0.497335E-01 0.329568E-01 + 10763 0.761412E+00 0.510220E-01 0.125984E+00 + 10764 0.662146E+00 -0.128921E-06 0.120753E+00 + 10765 0.783662E+00 0.584272E-01 0.214584E+00 + 10766 0.721110E+00 0.459953E-01 0.277202E+00 + 10767 0.686999E+00 -0.128921E-06 0.210286E+00 + 10768 0.106497E+01 0.337323E+00 0.431228E-01 + 10769 0.986103E+00 0.209696E+00 0.400225E-01 + 10770 0.829189E+00 0.107894E+00 0.373013E-01 + 10771 0.123572E+01 0.591523E+00 0.500000E+00 + 10772 0.150000E+01 0.100000E+01 0.140000E+00 + 10773 0.150000E+01 0.100000E+01 0.380000E+00 + 10774 0.665743E+00 0.954251E-01 0.500000E+00 + 10775 0.701215E+00 0.527604E-01 0.388451E+00 + 10776 0.113277E+01 0.394219E+00 0.455996E+00 + 10777 0.126958E+01 0.514016E+00 0.157812E+00 + 10778 0.120667E+01 0.453288E+00 0.460341E-01 + 10779 0.119066E+01 0.473666E+00 0.252193E+00 + 10780 0.962588E+00 0.174207E+00 0.349746E+00 + 10781 0.105989E+01 0.323756E+00 0.312995E+00 + 10782 0.759814E+00 0.481891E-01 0.241804E+00 + 10783 0.105559E+01 0.366536E+00 -0.128921E-06 + 10784 0.916256E+00 0.165367E+00 0.903160E-01 + 10785 0.125659E+01 0.593775E+00 0.451110E+00 + 10786 0.114517E+01 0.467422E+00 0.457725E+00 + 10787 0.117190E+01 0.473454E+00 0.301650E+00 + 10788 0.887763E+00 0.123149E+00 0.447760E-01 + 10789 0.696081E+00 -0.128921E-06 0.740727E-01 + 10790 0.647524E+00 -0.128921E-06 -0.128921E-06 + 10791 0.629383E+00 -0.128921E-06 0.389757E+00 + 10792 0.735394E+00 -0.128921E-06 0.174010E+00 + 10793 0.695250E+00 -0.128921E-06 0.277646E+00 + 10794 0.693930E+00 0.659785E-01 -0.128921E-06 + 10795 0.833497E+00 0.914564E-01 0.100603E+00 + 10796 0.954554E+00 0.194401E+00 0.186171E+00 + 10797 0.748772E+00 0.599323E-01 0.288845E-01 + 10798 0.795531E+00 0.505140E-01 0.161300E+00 + 10799 0.829234E+00 0.767839E-01 0.230513E+00 + 10800 0.821583E+00 0.852371E-01 0.313575E+00 + 10801 0.909469E+00 0.728570E-01 0.182547E+00 + 10802 0.817699E+00 0.800340E-01 -0.128921E-06 + 10803 0.144738E+01 0.876463E+00 0.577788E-01 + 10804 0.143000E+01 0.100000E+01 -0.128921E-06 + 10805 0.133259E+01 0.717485E+00 -0.128921E-06 + 10806 0.141353E+01 0.790664E+00 -0.128921E-06 + 10807 0.142611E+01 0.618356E+00 0.118651E+00 + 10808 0.142318E+01 0.773631E+00 0.258528E+00 + 10809 0.123531E+01 0.491917E+00 0.288969E+00 + 10810 0.129509E+01 0.602954E+00 -0.128921E-06 + 10811 0.150000E+01 0.786046E+00 0.984123E-01 + 10812 0.144418E+01 0.778778E+00 0.454336E+00 + 10813 0.137607E+01 0.671455E+00 0.500000E+00 + 10814 0.136257E+01 0.648873E+00 0.331114E+00 + 10815 0.131711E+01 0.565402E+00 0.244847E+00 + 10816 0.129005E+01 0.579455E+00 0.402527E+00 + 10817 0.120505E+01 0.523146E+00 0.354082E+00 + 10818 0.119498E+01 0.471702E+00 0.425559E+00 + 10819 0.129509E+01 0.602957E+00 0.500000E+00 + 10820 0.110871E+01 0.375134E+00 -0.128921E-06 + 10821 0.108627E+01 0.356498E+00 0.849199E-01 + 10822 0.118927E+01 0.396354E+00 0.526344E-01 + 10823 0.125760E+01 0.494235E+00 -0.128921E-06 + 10824 0.130687E+01 0.452734E+00 0.109993E+00 + 10825 0.121572E+01 0.432349E+00 0.244497E+00 + 10826 0.116573E+01 0.350494E+00 0.141847E+00 + 10827 0.128419E+01 0.355028E+00 0.165239E+00 + 10828 0.110108E+01 0.348197E+00 0.232536E+00 + 10829 0.150000E+01 0.893333E+00 0.500000E+00 + 10830 0.102840E+01 0.246565E+00 0.807713E-01 + 10831 0.108752E+01 0.281183E+00 0.154155E+00 + 10832 0.106611E+01 0.271276E+00 0.307361E+00 + 10833 0.113137E+01 0.372278E+00 0.331985E+00 + 10834 0.988267E+00 0.311502E+00 0.500000E+00 + 10835 0.105559E+01 0.366540E+00 0.500000E+00 + 10836 0.862582E+00 0.208140E+00 0.500000E+00 + 10837 0.857687E+00 0.130737E+00 0.382749E+00 + 10838 0.977888E+00 0.129280E+00 0.282019E+00 + 10839 0.103759E+01 0.211875E+00 0.208650E+00 + 10840 0.100707E+01 0.158766E+00 0.903566E-01 + 10841 0.769907E+00 0.517668E-01 0.385982E+00 + 10842 0.844931E+00 0.151957E+00 0.461851E+00 + 10843 0.906818E+00 0.175485E+00 0.419010E+00 + 10844 0.923206E+00 0.106961E+00 0.723890E-01 + 10845 0.101859E+01 0.173719E+00 0.368404E+00 + 10846 0.100399E+01 0.256909E+00 0.409657E+00 + 10847 0.934620E+00 0.971894E-01 0.384794E+00 + 10848 0.957063E+00 0.223229E+00 0.500000E+00 + 10849 0.111163E+01 0.376630E+00 0.406805E+00 + 10850 0.119957E+01 0.484642E+00 0.500000E+00 + 10851 0.107776E+01 0.295575E+00 0.458505E+00 + 10852 0.746882E+00 0.110066E+00 0.500000E+00 + 10853 0.754740E+00 0.601616E-01 0.465249E+00 + 10854 0.693930E+00 0.659796E-01 0.500000E+00 + 10855 0.773309E+00 -0.128921E-06 0.276702E+00 + 10856 0.102275E+01 0.274254E+00 -0.128921E-06 + 10857 0.926230E+00 0.138469E+00 -0.128921E-06 + 10858 0.990706E+00 0.187064E+00 -0.128921E-06 + 10859 0.705312E+00 -0.128921E-06 0.422018E+00 + 10860 0.647525E+00 -0.128921E-06 0.500000E+00 + 10861 0.116358E+01 0.383340E+00 0.500000E+00 + 10862 0.687688E+00 -0.128921E-06 -0.128921E-06 + 10863 0.814586E+00 0.835134E-01 0.149184E+00 + 10864 0.733159E+00 0.711474E-01 -0.128921E-06 + 10865 0.796901E+00 0.633782E-01 0.373276E-01 + 10866 0.744776E+00 -0.128921E-06 0.866537E-01 + 10867 0.801077E+00 0.521714E-01 0.270513E+00 + 10868 0.869435E+00 0.797489E-01 0.232353E+00 + 10869 0.608719E+00 -0.128921E-06 -0.128921E-06 + 10870 0.144060E+01 0.853295E+00 -0.128921E-06 + 10871 0.145347E+01 0.936892E+00 0.560612E-01 + 10872 0.150000E+01 0.853354E+00 0.114716E+00 + 10873 0.132592E+01 0.578548E+00 0.183651E+00 + 10874 0.126287E+01 0.465274E+00 0.221442E+00 + 10875 0.131387E+01 0.659488E+00 -0.128921E-06 + 10876 0.131025E+01 0.536460E+00 0.485891E-01 + 10877 0.139483E+01 0.730604E+00 -0.128921E-06 + 10878 0.150000E+01 0.714174E+00 0.187125E+00 + 10879 0.142427E+01 0.698135E+00 0.439381E+00 + 10880 0.141478E+01 0.597472E+00 0.322296E+00 + 10881 0.123936E+01 0.555773E+00 0.363831E+00 + 10882 0.132182E+01 0.625484E+00 0.450235E+00 + 10883 0.121002E+01 0.461183E+00 0.354530E+00 + 10884 0.108247E+01 0.328827E+00 0.137541E+00 + 10885 0.111534E+01 0.345839E+00 0.432064E-01 + 10886 0.123890E+01 0.441968E+00 -0.128921E-06 + 10887 0.119568E+01 0.361982E+00 0.893803E-01 + 10888 0.130537E+01 0.418076E+00 0.477431E-01 + 10889 0.130538E+01 0.412507E+00 0.154038E+00 + 10890 0.114114E+01 0.337570E+00 0.195224E+00 + 10891 0.126293E+01 0.371967E+00 0.239401E+00 + 10892 0.116581E+01 0.371954E+00 0.281978E+00 + 10893 0.146492E+01 0.800310E+00 0.500000E+00 + 10894 0.150000E+01 0.946667E+00 0.500000E+00 + 10895 0.109229E+01 0.300621E+00 0.261221E+00 + 10896 0.114547E+01 0.398193E+00 0.372295E+00 + 10897 0.930970E+00 0.139189E+00 0.196791E+00 + 10898 0.870734E+00 0.130736E+00 0.314175E+00 + 10899 0.893241E+00 0.149533E+00 0.381114E+00 + 10900 0.956936E+00 0.922909E-01 0.338163E+00 + 10901 0.100103E+01 0.214719E+00 0.160160E+00 + 10902 0.945927E+00 0.131646E+00 0.125271E+00 + 10903 0.102104E+01 0.175254E+00 0.267569E+00 + 10904 0.809055E+00 0.558679E-01 0.405521E+00 + 10905 0.895081E+00 0.149984E+00 0.449939E+00 + 10906 0.803816E+00 0.158905E+00 0.500000E+00 + 10907 0.102784E+01 0.250074E+00 0.361368E+00 + 10908 0.973036E+00 0.224127E+00 0.450851E+00 + 10909 0.909060E+00 0.215902E+00 0.500000E+00 + 10910 0.111826E+01 0.246299E+00 0.189869E+00 + 10911 0.126488E+01 0.462159E+00 0.452713E+00 + 10912 0.118154E+01 0.433261E+00 0.500000E+00 + 10913 0.127632E+01 0.547859E+00 0.500000E+00 + 10914 0.110024E+01 0.312512E+00 0.410989E+00 + 10915 0.103908E+01 0.319719E+00 0.500000E+00 + 10916 0.731110E+00 0.456904E-01 0.407984E+00 + 10917 0.707420E+00 0.548351E-01 0.474006E+00 + 10918 0.774452E+00 0.747046E-01 0.500000E+00 + 10919 0.733112E+00 -0.128921E-06 0.243238E+00 + 10920 0.663428E+00 -0.128921E-06 0.371989E+00 + 10921 0.100663E+01 0.230073E+00 -0.128921E-06 + 10922 0.107458E+01 0.281291E+00 -0.128921E-06 + 10923 0.102217E+01 0.191542E+00 0.798223E-01 + 10924 0.974748E+00 0.144579E+00 -0.128921E-06 + 10925 0.879195E+00 0.131716E+00 -0.128921E-06 + 10926 0.877899E+00 0.812782E-01 0.593635E-01 + 10927 0.688256E+00 0.275276E-01 0.500000E+00 + 10928 0.110871E+01 0.375137E+00 0.500000E+00 + 10929 0.117036E+01 0.353331E+00 0.455597E+00 + 10930 0.705283E+00 0.274056E-01 0.404344E-01 + 10931 0.819899E+00 0.426775E-01 0.100571E+00 + 10932 0.837298E+00 0.636731E-01 0.182295E+00 + 10933 0.761512E+00 0.526891E-01 0.315096E+00 + 10934 0.774452E+00 0.747031E-01 -0.128921E-06 + 10935 0.150000E+01 0.919863E+00 0.122468E+00 + 10936 0.145393E+01 0.100000E+01 0.105235E+00 + 10937 0.144893E+01 0.910854E+00 -0.128921E-06 + 10938 0.134712E+01 0.596603E+00 0.480062E-01 + 10939 0.150000E+01 0.799065E+00 0.224778E+00 + 10940 0.144264E+01 0.753108E+00 0.493663E-01 + 10941 0.139482E+01 0.730606E+00 0.500000E+00 + 10942 0.141934E+01 0.681091E+00 0.346863E+00 + 10943 0.139042E+01 0.556076E+00 0.254923E+00 + 10944 0.132443E+01 0.603031E+00 0.364195E+00 + 10945 0.126474E+01 0.524303E+00 0.331485E+00 + 10946 0.115679E+01 0.433468E+00 0.396454E+00 + 10947 0.139349E+01 0.654929E+00 0.451796E+00 + 10948 0.128775E+01 0.507637E+00 0.204831E+00 + 10949 0.113509E+01 0.369840E+00 0.948948E-01 + 10950 0.116359E+01 0.383337E+00 -0.128921E-06 + 10951 0.127632E+01 0.547856E+00 -0.128921E-06 + 10952 0.124986E+01 0.409576E+00 0.477445E-01 + 10953 0.121238E+01 0.365096E+00 0.143930E+00 + 10954 0.120719E+01 0.359382E+00 0.236685E+00 + 10955 0.120526E+01 0.418869E+00 0.304159E+00 + 10956 0.110790E+01 0.312289E+00 0.178593E+00 + 10957 0.150000E+01 0.840000E+00 0.500000E+00 + 10958 0.112901E+01 0.351224E+00 0.289919E+00 + 10959 0.105399E+01 0.305338E+00 0.833834E-01 + 10960 0.106617E+01 0.242463E+00 0.250278E+00 + 10961 0.887675E+00 0.106274E+00 0.350400E+00 + 10962 0.850968E+00 0.824464E-01 0.272640E+00 + 10963 0.966375E+00 0.150809E+00 0.219820E+00 + 10964 0.103736E+01 0.229839E+00 0.125792E+00 + 10965 0.995346E+00 0.168275E+00 0.159157E+00 + 10966 0.848420E+00 0.965540E-01 0.415216E+00 + 10967 0.909492E+00 0.672360E-01 0.114868E+00 + 10968 0.101326E+01 0.192260E+00 0.311313E+00 + 10969 0.101589E+01 0.213987E+00 0.403926E+00 + 10970 0.935952E+00 0.206643E+00 0.461760E+00 + 10971 0.926003E+00 0.139072E+00 0.401136E+00 + 10972 0.972565E+00 0.266747E+00 0.500000E+00 + 10973 0.125759E+01 0.494238E+00 0.500000E+00 + 10974 0.114233E+01 0.341541E+00 0.375721E+00 + 10975 0.110871E+01 0.262429E+00 0.367014E+00 + 10976 0.848336E+00 0.166693E+00 0.500000E+00 + 10977 0.793907E+00 0.906738E-01 0.463434E+00 + 10978 0.710279E+00 0.389893E-01 0.447372E+00 + 10979 0.733159E+00 0.711485E-01 0.500000E+00 + 10980 0.773020E+00 -0.128921E-06 0.205472E+00 + 10981 0.699015E+00 -0.128921E-06 0.342604E+00 + 10982 0.109156E+01 0.327514E+00 -0.128921E-06 + 10983 0.103524E+01 0.219754E+00 0.402680E-01 + 10984 0.949488E+00 0.110838E+00 0.432927E-01 + 10985 0.862571E+00 0.862609E-01 -0.128921E-06 + 10986 0.131628E+01 0.567806E+00 0.454561E+00 + 10987 0.114575E+01 0.334874E+00 0.500000E+00 + 10988 0.688256E+00 0.275273E-01 -0.128921E-06 + 10989 0.794561E+00 -0.128921E-06 0.756931E-01 + 10990 0.874254E+00 0.488835E-01 0.132805E+00 + 10991 0.150000E+01 0.946667E+00 -0.128921E-06 + 10992 0.145324E+01 0.833286E+00 0.388950E-01 + 10993 0.141261E+01 0.659723E+00 0.521416E-01 + 10994 0.150000E+01 0.727120E+00 0.779103E-01 + 10995 0.150000E+01 0.732408E+00 0.353618E+00 + 10996 0.132880E+01 0.567439E+00 0.323301E+00 + 10997 0.142309E+01 0.530130E+00 0.179703E+00 + 10998 0.124060E+01 0.508600E+00 0.379136E+00 + 10999 0.138193E+01 0.622879E+00 0.382532E+00 + 11000 0.117036E+01 0.353327E+00 0.444034E-01 + 11001 0.129109E+01 0.482653E+00 0.478075E-01 + 11002 0.126865E+01 0.426640E+00 0.187533E+00 + 11003 0.127046E+01 0.387306E+00 0.913394E-01 + 11004 0.121764E+01 0.311948E+00 0.174264E+00 + 11005 0.115798E+01 0.345497E+00 0.237060E+00 + 11006 0.124797E+01 0.448647E+00 0.304126E+00 + 11007 0.145411E+01 0.745358E+00 0.500000E+00 + 11008 0.104321E+01 0.273882E+00 0.129065E+00 + 11009 0.903488E+00 0.113437E+00 0.289365E+00 + 11010 0.838177E+00 0.106155E+00 0.363867E+00 + 11011 0.107315E+01 0.229340E+00 0.180128E+00 + 11012 0.100603E+01 0.201219E+00 0.122950E+00 + 11013 0.962552E+00 0.143101E+00 0.168781E+00 + 11014 0.889991E+00 0.123911E+00 0.408325E+00 + 11015 0.107726E+01 0.230518E+00 0.313981E+00 + 11016 0.103090E+01 0.121264E+00 0.251115E+00 + 11017 0.894292E+00 0.174000E+00 0.500000E+00 + 11018 0.949493E+00 0.153865E+00 0.448257E+00 + 11019 0.101218E+01 0.131426E+00 0.360601E+00 + 11020 0.117644E+01 0.379494E+00 0.351819E+00 + 11021 0.120192E+01 0.432949E+00 0.453572E+00 + 11022 0.110986E+01 0.299770E+00 0.349595E+00 + 11023 0.102907E+01 0.246917E+00 0.459449E+00 + 11024 0.789568E+00 0.117281E+00 0.500000E+00 + 11025 0.837976E+00 0.969662E-01 0.462023E+00 + 11026 0.768492E+00 0.443731E-01 0.421449E+00 + 11027 0.731147E+00 0.363188E-01 0.371342E+00 + 11028 0.813694E+00 -0.128921E-06 0.228407E+00 + 11029 0.105172E+01 0.263986E+00 0.409841E-01 + 11030 0.101891E+01 0.176583E+00 0.397450E-01 + 11031 0.991526E+00 0.121741E+00 0.719138E-01 + 11032 0.909283E+00 0.932374E-01 -0.128921E-06 + 11033 0.135650E+01 0.614004E+00 0.500000E+00 + 11034 0.658518E+00 -0.128921E-06 0.433643E+00 + 11035 0.111160E+01 0.315548E+00 0.456535E+00 + 11036 0.720876E+00 0.397820E-01 -0.128921E-06 + 11037 0.849656E+00 0.623058E-01 0.800390E-01 + 11038 0.144134E+01 0.688502E+00 0.975620E-01 + 11039 0.137608E+01 0.671452E+00 -0.128921E-06 + 11040 0.150000E+01 0.599134E+00 0.180856E+00 + 11041 0.127051E+01 0.521535E+00 0.419551E+00 + 11042 0.128998E+01 0.521638E+00 0.265159E+00 + 11043 0.134696E+01 0.521332E+00 0.114821E+00 + 11044 0.122026E+01 0.391126E+00 -0.128921E-06 + 11045 0.150000E+01 0.770000E+00 0.500000E+00 + 11046 0.101399E+01 0.171397E+00 0.216416E+00 + 11047 0.804006E+00 0.475620E-01 0.345391E+00 + 11048 0.872386E+00 0.119933E+00 0.457193E+00 + 11049 0.958037E+00 0.916652E-01 0.171014E+00 + 11050 0.998276E+00 0.169526E+00 0.416300E+00 + 11051 0.112213E+01 0.289429E+00 0.231500E+00 + 11052 0.102275E+01 0.274257E+00 0.500000E+00 + 11053 0.106452E+01 0.260979E+00 0.409804E+00 + 11054 0.110561E+01 0.297639E+00 0.303714E+00 + 11055 0.773653E+00 -0.128921E-06 0.141445E+00 + 11056 0.734967E+00 -0.128921E-06 0.310721E+00 + 11057 0.109808E+01 0.298884E+00 0.424169E-01 + 11058 0.100232E+01 0.133412E+00 0.400934E-01 + 11059 0.150000E+01 0.100000E+01 -0.128921E-06 + 11060 0.690205E+00 0.301859E-01 0.468194E+00 + 11061 0.115796E+01 0.377924E+00 0.421324E+00 + 11062 0.109155E+01 0.327518E+00 0.500000E+00 + 11063 0.150000E+01 0.647921E+00 0.289009E+00 + 11064 0.135256E+01 0.470236E+00 0.189464E+00 + 11065 0.960521E+00 0.124005E+00 0.244826E+00 + 11066 0.105547E+01 0.192417E+00 0.252664E+00 + 11067 0.975940E+00 0.114113E+00 0.409617E+00 + 11068 0.100663E+01 0.230077E+00 0.500000E+00 + 11069 0.833659E+00 0.124600E+00 0.500000E+00 + 11070 0.828071E+00 0.446129E-01 0.418272E-01 + 11071 0.734906E+00 -0.128921E-06 0.371345E+00 + 11072 0.114268E+01 0.333189E+00 0.426211E+00 + 11073 0.914152E+00 0.629088E-01 0.239544E+00 + 11074 0.729257E+00 -0.128921E-06 -0.128921E-06 + 11075 0.834080E+00 0.464698E-01 0.140082E+00 + 11076 0.798550E+00 0.353972E-01 -0.128921E-06 + 11077 0.878258E+00 0.448357E-01 0.201760E+00 + 11078 0.816230E+00 -0.128921E-06 0.306429E+00 + 11079 0.961217E+00 0.622025E-01 0.113608E+00 + 11080 0.886354E+00 -0.128921E-06 0.810830E-01 + 11081 0.150000E+01 0.893333E+00 -0.128921E-06 + 11082 0.146492E+01 0.800308E+00 -0.128921E-06 + 11083 0.143676E+01 0.553685E+00 0.998171E-01 + 11084 0.150000E+01 0.661301E+00 0.921952E-01 + 11085 0.138764E+01 0.494264E+00 0.245340E+00 + 11086 0.130538E+01 0.408620E+00 0.261633E+00 + 11087 0.133691E+01 0.558065E+00 -0.128921E-06 + 11088 0.142096E+01 0.624357E+00 -0.128921E-06 + 11089 0.150000E+01 0.700000E+00 0.500000E+00 + 11090 0.142472E+01 0.591248E+00 0.453588E+00 + 11091 0.138409E+01 0.559445E+00 0.371803E+00 + 11092 0.150000E+01 0.548776E+00 0.291453E+00 + 11093 0.132199E+01 0.479926E+00 0.371909E+00 + 11094 0.131753E+01 0.503462E+00 0.500000E+00 + 11095 0.123283E+01 0.401283E+00 0.402522E+00 + 11096 0.139999E+01 0.437851E+00 0.104806E+00 + 11097 0.114576E+01 0.334870E+00 -0.128921E-06 + 11098 0.112595E+01 0.317358E+00 0.916804E-01 + 11099 0.122718E+01 0.360370E+00 0.456475E-01 + 11100 0.129814E+01 0.450266E+00 -0.128921E-06 + 11101 0.131678E+01 0.386834E+00 0.101171E+00 + 11102 0.126808E+01 0.287158E+00 0.110557E+00 + 11103 0.129140E+01 0.291556E+00 0.193411E+00 + 11104 0.120177E+01 0.327236E+00 0.280617E+00 + 11105 0.107580E+01 0.194464E+00 0.763645E-01 + 11106 0.110601E+01 0.181265E+00 0.285414E+00 + 11107 0.882439E+00 0.700332E-01 0.383838E+00 + 11108 0.916699E+00 0.543239E-01 0.294628E+00 + 11109 0.980531E+00 0.529325E-01 0.236419E+00 + 11110 0.101228E+01 0.609151E-01 0.388805E+00 + 11111 0.104017E+01 0.198452E+00 0.158803E+00 + 11112 0.103664E+01 0.113108E+00 0.760780E-01 + 11113 0.105726E+01 0.135711E+00 0.220840E+00 + 11114 0.796780E+00 -0.128921E-06 0.430557E+00 + 11115 0.863999E+00 0.551306E-01 0.449917E+00 + 11116 0.879194E+00 0.131718E+00 0.500000E+00 + 11117 0.941732E+00 0.180799E+00 0.500000E+00 + 11118 0.106134E+01 0.207534E+00 0.372258E+00 + 11119 0.101891E+01 0.176587E+00 0.460255E+00 + 11120 0.958360E+00 0.923150E-01 0.463557E+00 + 11121 0.108637E+01 0.121440E+00 0.377304E+00 + 11122 0.116925E+01 0.245755E+00 0.198318E+00 + 11123 0.123890E+01 0.441971E+00 0.500000E+00 + 11124 0.133479E+01 0.401414E+00 0.449413E+00 + 11125 0.113146E+01 0.281143E+00 0.432931E+00 + 11126 0.107458E+01 0.281294E+00 0.500000E+00 + 11127 0.115638E+01 0.215298E+00 0.406295E+00 + 11128 0.817699E+00 0.800354E-01 0.500000E+00 + 11129 0.740380E+00 0.289972E-01 0.461713E+00 + 11130 0.105781E+01 0.236415E+00 -0.128921E-06 + 11131 0.113026E+01 0.238240E+00 0.430771E-01 + 11132 0.957683E+00 0.100141E+00 -0.128921E-06 + 11133 0.102476E+01 0.149910E+00 -0.128921E-06 + 11134 0.687688E+00 -0.128921E-06 0.500000E+00 + 11135 0.120173E+01 0.341777E+00 0.500000E+00 + 11136 0.756608E+00 0.346312E-01 -0.128921E-06 + 11137 0.811211E+00 -0.128921E-06 0.148775E+00 + 11138 0.816812E+00 -0.128921E-06 -0.128921E-06 + 11139 0.852338E+00 0.441438E-01 0.248674E+00 + 11140 0.776260E+00 -0.128921E-06 0.357865E+00 + 11141 0.906506E+00 -0.128921E-06 0.179287E+00 + 11142 0.910857E+00 0.599028E-01 0.551058E-01 + 11143 0.150000E+01 0.840000E+00 -0.128921E-06 + 11144 0.145411E+01 0.745357E+00 -0.128921E-06 + 11145 0.142472E+01 0.591246E+00 0.464111E-01 + 11146 0.132929E+01 0.458091E+00 0.237303E+00 + 11147 0.131753E+01 0.503460E+00 -0.128921E-06 + 11148 0.144080E+01 0.683362E+00 0.500000E+00 + 11149 0.150000E+01 0.662946E+00 0.397963E+00 + 11150 0.141073E+01 0.504931E+00 0.351084E+00 + 11151 0.150000E+01 0.491784E+00 0.205575E+00 + 11152 0.137395E+01 0.596027E+00 0.437226E+00 + 11153 0.124860E+01 0.444040E+00 0.364917E+00 + 11154 0.132501E+01 0.470718E+00 0.451431E+00 + 11155 0.135000E+01 0.423650E+00 0.123595E+00 + 11156 0.107791E+01 0.262238E+00 0.914150E-01 + 11157 0.115286E+01 0.293456E+00 0.158977E+00 + 11158 0.116568E+01 0.309355E+00 0.431344E-01 + 11159 0.127879E+01 0.398492E+00 -0.128921E-06 + 11160 0.123632E+01 0.360424E+00 0.289262E+00 + 11161 0.125313E+01 0.345296E+00 0.948527E-01 + 11162 0.128761E+01 0.264104E+00 0.151885E+00 + 11163 0.130274E+01 0.341427E+00 0.221299E+00 + 11164 0.117413E+01 0.309002E+00 0.334334E+00 + 11165 0.110572E+01 0.214059E+00 0.240270E+00 + 11166 0.911027E+00 0.771601E-01 0.359573E+00 + 11167 0.963365E+00 0.581104E-01 0.285136E+00 + 11168 0.104826E+01 0.129192E+00 0.297060E+00 + 11169 0.859767E+00 0.379784E-01 0.389968E+00 + 11170 0.103337E+01 0.157644E+00 0.181898E+00 + 11171 0.106192E+01 0.192273E+00 0.113338E+00 + 11172 0.805436E+00 0.318052E-01 0.464500E+00 + 11173 0.926230E+00 0.138472E+00 0.500000E+00 + 11174 0.862571E+00 0.862627E-01 0.500000E+00 + 11175 0.103288E+01 0.509046E-01 0.171720E+00 + 11176 0.111127E+01 0.193236E+00 0.353132E+00 + 11177 0.105217E+01 0.168798E+00 0.411990E+00 + 11178 0.990706E+00 0.187067E+00 0.500000E+00 + 11179 0.100325E+01 0.129342E+00 0.460216E+00 + 11180 0.953895E+00 0.616387E-01 0.416001E+00 + 11181 0.116726E+01 0.192458E+00 0.176463E+00 + 11182 0.125793E+01 0.408241E+00 0.457279E+00 + 11183 0.112810E+01 0.287851E+00 0.500000E+00 + 11184 0.105781E+01 0.236418E+00 0.500000E+00 + 11185 0.720876E+00 0.397828E-01 0.500000E+00 + 11186 0.104126E+01 0.192775E+00 -0.128921E-06 + 11187 0.111066E+01 0.242226E+00 -0.128921E-06 + 11188 0.100745E+01 0.105747E+00 -0.128921E-06 + 11189 0.120851E+01 0.311714E+00 0.455189E+00 + 11190 0.772282E+00 -0.128921E-06 -0.128921E-06 + 11191 0.839502E+00 -0.128921E-06 0.767123E-01 + 11192 0.858399E+00 0.596738E-01 0.309438E+00 + 11193 0.961818E+00 -0.128921E-06 0.171104E+00 + 11194 0.842495E+00 0.387089E-01 -0.128921E-06 + 11195 0.150000E+01 0.594632E+00 0.829021E-01 + 11196 0.135650E+01 0.614001E+00 -0.128921E-06 + 11197 0.140709E+01 0.536606E+00 0.496910E-01 + 11198 0.144080E+01 0.683360E+00 -0.128921E-06 + 11199 0.150000E+01 0.770000E+00 -0.128921E-06 + 11200 0.150000E+01 0.630000E+00 0.500000E+00 + 11201 0.142966E+01 0.599009E+00 0.391510E+00 + 11202 0.143393E+01 0.453091E+00 0.263143E+00 + 11203 0.135007E+01 0.542525E+00 0.419990E+00 + 11204 0.127371E+01 0.430762E+00 0.414586E+00 + 11205 0.122372E+01 0.385125E+00 0.329796E+00 + 11206 0.118136E+01 0.319451E+00 0.111553E+00 + 11207 0.120173E+01 0.341773E+00 -0.128921E-06 + 11208 0.135938E+01 0.458420E+00 -0.128921E-06 + 11209 0.133448E+01 0.384459E+00 0.201370E+00 + 11210 0.128588E+01 0.366964E+00 0.469637E-01 + 11211 0.132739E+01 0.296289E+00 0.152889E+00 + 11212 0.120347E+01 0.301639E+00 0.237620E+00 + 11213 0.108730E+01 0.225518E+00 0.413531E-01 + 11214 0.111576E+01 0.229937E+00 0.126145E+00 + 11215 0.100363E+01 0.702953E-01 0.310849E+00 + 11216 0.999233E+00 0.887622E-01 0.187763E+00 + 11217 0.107907E+01 0.185753E+00 0.195854E+00 + 11218 0.819530E+00 -0.128921E-06 0.371879E+00 + 11219 0.913741E+00 0.546162E-01 0.410965E+00 + 11220 0.909283E+00 0.932395E-01 0.500000E+00 + 11221 0.960602E+00 0.614861E-01 0.565732E-01 + 11222 0.105320E+01 0.183318E+00 0.330004E+00 + 11223 0.114361E+01 0.246869E+00 0.322935E+00 + 11224 0.104403E+01 0.225839E+00 0.430872E+00 + 11225 0.108297E+01 0.109675E+00 0.257707E+00 + 11226 0.974748E+00 0.144583E+00 0.500000E+00 + 11227 0.105324E+01 0.138189E+00 0.459013E+00 + 11228 0.101181E+01 0.612334E-01 0.444301E+00 + 11229 0.129814E+01 0.450269E+00 0.500000E+00 + 11230 0.122026E+01 0.391129E+00 0.500000E+00 + 11231 0.118245E+01 0.308361E+00 0.407812E+00 + 11232 0.113332E+01 0.234915E+00 0.441315E+00 + 11233 0.842495E+00 0.387096E-01 0.500000E+00 + 11234 0.753113E+00 -0.128921E-06 0.430589E+00 + 11235 0.756608E+00 0.346319E-01 0.500000E+00 + 11236 0.857656E+00 -0.128921E-06 0.251241E+00 + 11237 0.112810E+01 0.287847E+00 -0.128921E-06 + 11238 0.105962E+01 0.102703E+00 0.361543E-01 + 11239 0.118337E+01 0.293909E+00 0.500000E+00 + 11240 0.855410E+00 -0.128921E-06 0.158982E+00 + 11241 0.139877E+01 0.568677E+00 -0.128921E-06 + 11242 0.138754E+01 0.480066E+00 0.502829E-01 + 11243 0.150000E+01 0.700000E+00 -0.128921E-06 + 11244 0.142096E+01 0.624359E+00 0.500000E+00 + 11245 0.150000E+01 0.595720E+00 0.386426E+00 + 11246 0.133639E+01 0.453325E+00 0.298885E+00 + 11247 0.150000E+01 0.528800E+00 0.101472E+00 + 11248 0.133690E+01 0.558067E+00 0.500000E+00 + 11249 0.120473E+01 0.309086E+00 0.446528E-01 + 11250 0.125954E+01 0.348210E+00 -0.128921E-06 + 11251 0.142302E+01 0.406420E+00 0.182380E+00 + 11252 0.136062E+01 0.377334E+00 0.477924E-01 + 11253 0.131225E+01 0.327533E+00 0.103969E+00 + 11254 0.121719E+01 0.239359E+00 0.164064E+00 + 11255 0.127873E+01 0.290404E+00 0.251231E+00 + 11256 0.113481E+01 0.269954E+00 0.268376E+00 + 11257 0.972507E+00 0.467081E-01 0.369768E+00 + 11258 0.111417E+01 0.167306E+00 0.154719E+00 + 11259 0.100721E+01 0.107206E+00 0.133343E+00 + 11260 0.105096E+01 0.164982E+00 0.527924E-01 + 11261 0.841244E+00 -0.128921E-06 0.427352E+00 + 11262 0.933434E+00 0.108596E+00 0.442685E+00 + 11263 0.935615E+00 -0.128921E-06 0.842341E-01 + 11264 0.939398E+00 -0.128921E-06 0.262124E+00 + 11265 0.106501E+01 0.611290E-01 0.228929E+00 + 11266 0.104750E+01 0.112448E+00 0.426231E+00 + 11267 0.108553E+01 0.125683E+00 0.330363E+00 + 11268 0.121941E+01 0.369682E+00 0.375545E+00 + 11269 0.108787E+01 0.242154E+00 0.459045E+00 + 11270 0.116939E+01 0.258991E+00 0.392268E+00 + 11271 0.104126E+01 0.192779E+00 0.500000E+00 + 11272 0.798550E+00 0.353980E-01 0.500000E+00 + 11273 0.888458E+00 0.433558E-01 -0.128921E-06 + 11274 0.729258E+00 -0.128921E-06 0.500000E+00 + 11275 0.115241E+01 0.305544E+00 0.456411E+00 + 11276 0.137950E+01 0.513162E+00 -0.128921E-06 + 11277 0.150000E+01 0.630000E+00 -0.128921E-06 + 11278 0.150000E+01 0.526441E+00 0.395925E+00 + 11279 0.143698E+01 0.480312E+00 0.143604E+00 + 11280 0.134735E+01 0.424768E+00 0.438893E-01 + 11281 0.137784E+01 0.339518E+00 0.164004E+00 + 11282 0.122226E+01 0.288507E+00 0.132360E+00 + 11283 0.127918E+01 0.344390E+00 0.274358E+00 + 11284 0.105746E+01 0.151796E+00 0.135889E+00 + 11285 0.862414E+00 -0.128921E-06 0.344664E+00 + 11286 0.111066E+01 0.153842E+00 0.240361E+00 + 11287 0.106514E+01 0.596623E-01 0.282779E+00 + 11288 0.122718E+01 0.360373E+00 0.454352E+00 + 11289 0.108497E+01 0.221469E+00 0.409722E+00 + 11290 0.101173E+01 0.626737E-01 0.576107E-01 + 11291 0.936828E+00 0.501090E-01 -0.128921E-06 + 11292 0.862901E+00 -0.128921E-06 -0.128921E-06 + 11293 0.139877E+01 0.568679E+00 0.500000E+00 + 11294 0.139852E+01 0.417844E+00 0.234429E+00 + 11295 0.133919E+01 0.405471E+00 -0.128921E-06 + 11296 0.130297E+01 0.382513E+00 0.351839E+00 + 11297 0.115338E+01 0.255342E+00 0.137898E+00 + 11298 0.896552E+00 -0.128921E-06 0.277222E+00 + 11299 0.107198E+01 0.831285E-01 0.354793E+00 + 11300 0.115037E+01 0.210140E+00 0.222646E+00 + 11301 0.116100E+01 0.271166E+00 0.962488E-01 + 11302 0.914147E+00 -0.128921E-06 0.344538E+00 + 11303 0.103692E+01 0.651466E-01 0.117153E+00 + 11304 0.988214E+00 -0.128921E-06 0.255286E+00 + 11305 0.910603E+00 -0.128921E-06 -0.128921E-06 + 11306 0.150000E+01 0.560000E+00 -0.128921E-06 + 11307 0.143913E+01 0.452738E+00 0.578580E-01 + 11308 0.136424E+01 0.381711E+00 0.290326E+00 + 11309 0.145443E+01 0.580705E+00 0.500000E+00 + 11310 0.139151E+01 0.465305E+00 0.413019E+00 + 11311 0.150000E+01 0.449475E+00 0.343131E+00 + 11312 0.150000E+01 0.490000E+00 0.500000E+00 + 11313 0.143916E+01 0.345461E+00 0.217274E+00 + 11314 0.127050E+01 0.386544E+00 0.423635E+00 + 11315 0.124952E+01 0.318494E+00 0.336124E+00 + 11316 0.137746E+01 0.342424E+00 0.772645E-01 + 11317 0.118337E+01 0.293906E+00 -0.128921E-06 + 11318 0.112742E+01 0.223313E+00 0.815456E-01 + 11319 0.122633E+01 0.267686E+00 0.862195E-01 + 11320 0.131931E+01 0.354190E+00 -0.128921E-06 + 11321 0.130978E+01 0.276662E+00 0.539567E-01 + 11322 0.134197E+01 0.244106E+00 0.180332E+00 + 11323 0.123921E+01 0.245264E+00 0.234483E+00 + 11324 0.121611E+01 0.177120E+00 0.160720E+00 + 11325 0.115742E+01 0.196378E+00 0.268289E+00 + 11326 0.108779E+01 0.141654E+00 0.757972E-01 + 11327 0.109344E+01 0.197913E+00 -0.128921E-06 + 11328 0.106490E+01 -0.128921E-06 0.335673E+00 + 11329 0.986259E+00 -0.128921E-06 0.416535E+00 + 11330 0.107951E+01 0.457055E-01 0.446226E+00 + 11331 0.112236E+01 0.967718E-01 0.178256E+00 + 11332 0.816813E+00 -0.128921E-06 0.500000E+00 + 11333 0.888458E+00 0.433568E-01 0.500000E+00 + 11334 0.957683E+00 0.100144E+00 0.500000E+00 + 11335 0.986674E+00 0.556771E-01 -0.128921E-06 + 11336 0.110013E+01 0.162879E+00 0.404121E+00 + 11337 0.102476E+01 0.149913E+00 0.500000E+00 + 11338 0.113425E+01 0.799353E-01 0.320050E+00 + 11339 0.140057E+01 0.412536E+00 0.500000E+00 + 11340 0.131931E+01 0.354194E+00 0.500000E+00 + 11341 0.116522E+01 0.247498E+00 0.500000E+00 + 11342 0.109344E+01 0.197917E+00 0.500000E+00 + 11343 0.122570E+01 0.225254E+00 0.394691E+00 + 11344 0.105862E+01 0.110132E+00 -0.128921E-06 + 11345 0.106396E+01 -0.128921E-06 -0.128921E-06 + 11346 0.124044E+01 0.299455E+00 0.500000E+00 + 11347 0.986217E+00 -0.128921E-06 0.854855E-01 + 11348 0.144299E+01 0.527979E+00 -0.128921E-06 + 11349 0.138218E+01 0.354720E+00 0.245854E+00 + 11350 0.140057E+01 0.412533E+00 -0.128921E-06 + 11351 0.150000E+01 0.560000E+00 0.500000E+00 + 11352 0.141021E+01 0.399310E+00 0.348809E+00 + 11353 0.150000E+01 0.420000E+00 0.500000E+00 + 11354 0.150000E+01 0.407278E+00 0.194086E+00 + 11355 0.137950E+01 0.513164E+00 0.500000E+00 + 11356 0.131944E+01 0.423358E+00 0.390908E+00 + 11357 0.125046E+01 0.335822E+00 0.387434E+00 + 11358 0.124941E+01 0.310504E+00 0.454492E-01 + 11359 0.116522E+01 0.247494E+00 -0.128921E-06 + 11360 0.138440E+01 0.290709E+00 0.791959E-01 + 11361 0.124619E+01 0.244887E+00 0.126312E+00 + 11362 0.132029E+01 0.245620E+00 0.248122E+00 + 11363 0.120496E+01 0.242879E+00 0.271914E+00 + 11364 0.109977E+01 0.170287E+00 0.414427E-01 + 11365 0.116009E+01 0.177333E+00 0.118364E+00 + 11366 0.115406E+01 0.122652E+00 0.308946E+00 + 11367 0.962484E+00 -0.128921E-06 0.337998E+00 + 11368 0.103862E+01 -0.128921E-06 0.253532E+00 + 11369 0.103809E+01 -0.128921E-06 0.416367E+00 + 11370 0.887850E+00 -0.128921E-06 0.422399E+00 + 11371 0.107555E+01 0.929774E-01 0.191206E+00 + 11372 0.106445E+01 0.638268E-01 0.582619E-01 + 11373 0.772282E+00 -0.128921E-06 0.500000E+00 + 11374 0.936828E+00 0.501108E-01 0.500000E+00 + 11375 0.114027E+01 0.146779E+00 0.405736E+00 + 11376 0.108503E+01 0.187576E+00 0.460255E+00 + 11377 0.111984E+01 -0.128921E-06 0.173159E+00 + 11378 0.112271E+01 -0.128921E-06 0.341366E+00 + 11379 0.103463E+01 0.918118E-01 0.456434E+00 + 11380 0.127879E+01 0.398495E+00 0.500000E+00 + 11381 0.138103E+01 0.360102E+00 0.500000E+00 + 11382 0.119393E+01 0.265029E+00 0.440513E+00 + 11383 0.111066E+01 0.242230E+00 0.500000E+00 + 11384 0.101251E+01 -0.128921E-06 0.171349E+00 + 11385 0.145443E+01 0.580704E+00 -0.128921E-06 + 11386 0.142372E+01 0.468617E+00 -0.128921E-06 + 11387 0.140709E+01 0.399788E+00 0.449041E-01 + 11388 0.143716E+01 0.532126E+00 0.425977E+00 + 11389 0.137121E+01 0.437471E+00 0.339809E+00 + 11390 0.143609E+01 0.369671E+00 0.295173E+00 + 11391 0.150000E+01 0.452485E+00 0.104634E+00 + 11392 0.135938E+01 0.458422E+00 0.500000E+00 + 11393 0.119004E+01 0.264534E+00 0.439829E-01 + 11394 0.124044E+01 0.299451E+00 -0.128921E-06 + 11395 0.132665E+01 0.322513E+00 0.478359E-01 + 11396 0.129651E+01 0.244297E+00 0.103652E+00 + 11397 0.143204E+01 0.293654E+00 0.112433E+00 + 11398 0.120269E+01 0.207271E+00 0.202736E+00 + 11399 0.125767E+01 0.252066E+00 0.325407E+00 + 11400 0.129283E+01 0.319785E+00 0.404184E+00 + 11401 0.111678E+01 0.176949E+00 0.865953E-01 + 11402 0.118557E+01 0.183366E+00 0.343641E+00 + 11403 0.101251E+01 -0.128921E-06 0.333513E+00 + 11404 0.110995E+01 0.440704E-01 0.380179E+00 + 11405 0.936423E+00 -0.128921E-06 0.419398E+00 + 11406 0.117129E+01 0.132436E+00 0.157606E+00 + 11407 0.107633E+01 0.154513E+00 -0.128921E-06 + 11408 0.862902E+00 -0.128921E-06 0.500000E+00 + 11409 0.959974E+00 -0.128921E-06 -0.128921E-06 + 11410 0.108229E+01 0.630391E-01 0.144493E+00 + 11411 0.109962E+01 0.130878E+00 0.457417E+00 + 11412 0.112254E+01 0.618382E-01 0.257416E+00 + 11413 0.986674E+00 0.556796E-01 0.500000E+00 + 11414 0.106396E+01 -0.128921E-06 0.500000E+00 + 11415 0.125954E+01 0.348213E+00 0.500000E+00 + 11416 0.114730E+01 0.202461E+00 0.500000E+00 + 11417 0.114730E+01 0.202457E+00 -0.128921E-06 + 11418 0.103783E+01 0.595464E-01 -0.128921E-06 + 11419 0.111908E+01 0.635618E-01 0.569630E-01 + 11420 0.122155E+01 0.252205E+00 0.500000E+00 + 11421 0.143825E+01 0.450636E+00 0.442839E+00 + 11422 0.150000E+01 0.354755E+00 0.270106E+00 + 11423 0.143534E+01 0.372991E+00 0.125879E+00 + 11424 0.150000E+01 0.490000E+00 -0.128921E-06 + 11425 0.122155E+01 0.252201E+00 -0.128921E-06 + 11426 0.129944E+01 0.304464E+00 -0.128921E-06 + 11427 0.138103E+01 0.360099E+00 -0.128921E-06 + 11428 0.138577E+01 0.280853E+00 0.194731E+00 + 11429 0.128281E+01 0.198943E+00 0.163995E+00 + 11430 0.120543E+01 0.204154E+00 0.100940E+00 + 11431 0.133015E+01 0.297442E+00 0.339750E+00 + 11432 0.120632E+01 0.252375E+00 0.347632E+00 + 11433 0.115396E+01 0.135438E+00 0.242564E+00 + 11434 0.107096E+01 0.119607E+00 0.108434E+00 + 11435 0.946459E+00 0.404099E-01 0.459231E+00 + 11436 0.101107E+01 -0.128921E-06 -0.128921E-06 + 11437 0.106451E+01 -0.128921E-06 0.174122E+00 + 11438 0.112405E+01 0.105550E+00 0.356394E+00 + 11439 0.100745E+01 0.105751E+00 0.500000E+00 + 11440 0.108681E+01 0.953189E-01 0.455244E+00 + 11441 0.107633E+01 0.154517E+00 0.500000E+00 + 11442 0.133919E+01 0.405474E+00 0.500000E+00 + 11443 0.131914E+01 0.339955E+00 0.454538E+00 + 11444 0.114933E+01 0.171241E+00 0.446107E+00 + 11445 0.109047E+01 0.622374E-01 -0.128921E-06 + 11446 0.112985E+01 0.142477E+00 0.585200E-01 + 11447 0.144298E+01 0.527981E+00 0.500000E+00 + 11448 0.125384E+01 0.239409E+00 0.455090E+00 + 11449 0.138132E+01 0.405198E+00 0.423890E+00 + 11450 0.124883E+01 0.237953E+00 0.608208E-01 + 11451 0.135061E+01 0.232927E+00 0.125323E+00 + 11452 0.136862E+01 0.319938E+00 0.307788E+00 + 11453 0.121977E+01 0.275891E+00 0.393405E+00 + 11454 0.114281E+01 0.126365E+00 0.982003E-01 + 11455 0.109189E+01 -0.128921E-06 0.259131E+00 + 11456 0.105862E+01 0.110136E+00 0.500000E+00 + 11457 0.110052E+01 0.106846E+00 0.412179E+00 + 11458 0.101107E+01 -0.128921E-06 0.500000E+00 + 11459 0.120160E+01 0.129834E+00 0.239003E+00 + 11460 0.120352E+01 0.193726E+00 0.457357E+00 + 11461 0.117180E+01 0.218780E+00 0.431894E-01 + 11462 0.103791E+01 -0.128921E-06 0.873470E-01 + 11463 0.111134E+01 0.113576E+00 -0.128921E-06 + 11464 0.133075E+01 0.365997E+00 0.391922E+00 + 11465 0.103783E+01 0.595489E-01 0.500000E+00 + 11466 0.126647E+01 0.317379E+00 0.453890E+00 + 11467 0.119155E+01 0.164463E+00 0.405562E+00 + 11468 0.115376E+01 0.174190E+00 0.425555E-01 + 11469 0.111946E+01 0.647282E-01 0.114683E+00 + 11470 0.146125E+01 0.417827E+00 -0.128921E-06 + 11471 0.142372E+01 0.468619E+00 0.500000E+00 + 11472 0.150000E+01 0.375310E+00 0.388140E+00 + 11473 0.150000E+01 0.277728E+00 0.242766E+00 + 11474 0.141286E+01 0.338645E+00 0.453119E+00 + 11475 0.130078E+01 0.246584E+00 0.395277E+00 + 11476 0.143235E+01 0.312684E+00 -0.128921E-06 + 11477 0.127971E+01 0.256324E+00 -0.128921E-06 + 11478 0.122227E+01 0.189803E+00 0.455082E-01 + 11479 0.134672E+01 0.228420E+00 0.472182E-01 + 11480 0.134294E+01 0.183229E+00 0.135668E+00 + 11481 0.139613E+01 0.159116E+00 0.257673E+00 + 11482 0.122963E+01 0.173454E+00 0.236643E+00 + 11483 0.121960E+01 0.793795E-01 0.165142E+00 + 11484 0.112954E+01 0.158434E+00 -0.128921E-06 + 11485 0.117657E+01 0.108294E+00 0.372509E+00 + 11486 0.118968E+01 0.732840E-01 0.271852E+00 + 11487 0.109322E+01 -0.128921E-06 0.419172E+00 + 11488 0.959975E+00 -0.128921E-06 0.500000E+00 + 11489 0.109047E+01 0.622403E-01 0.500000E+00 + 11490 0.112954E+01 0.158438E+00 0.500000E+00 + 11491 0.129944E+01 0.304468E+00 0.500000E+00 + 11492 0.120289E+01 0.206394E+00 0.500000E+00 + 11493 0.125318E+01 0.123319E+00 0.455610E+00 + 11494 0.111870E+01 -0.128921E-06 -0.128921E-06 + 11495 0.131952E+01 0.212263E+00 0.500000E+00 + 11496 0.109148E+01 -0.128921E-06 0.874392E-01 + 11497 0.150000E+01 0.420000E+00 -0.128921E-06 + 11498 0.143636E+01 0.369385E+00 -0.128921E-06 + 11499 0.142902E+01 0.312471E+00 0.391979E+00 + 11500 0.146125E+01 0.417829E+00 0.500000E+00 + 11501 0.150000E+01 0.326106E+00 0.129678E+00 + 11502 0.136120E+01 0.308886E+00 -0.128921E-06 + 11503 0.120289E+01 0.206390E+00 -0.128921E-06 + 11504 0.128650E+01 0.226091E+00 0.456871E-01 + 11505 0.141325E+01 0.210548E+00 0.803353E-01 + 11506 0.133786E+01 0.162262E+00 0.189609E+00 + 11507 0.125565E+01 0.113029E+00 0.117992E+00 + 11508 0.135876E+01 0.201889E+00 0.334409E+00 + 11509 0.122418E+01 0.168918E+00 0.312820E+00 + 11510 0.130632E+01 0.273509E+00 0.453421E+00 + 11511 0.118750E+01 0.668947E-01 0.390630E+00 + 11512 0.111870E+01 -0.128921E-06 0.500000E+00 + 11513 0.910604E+00 -0.128921E-06 0.500000E+00 + 11514 0.118656E+01 0.701340E-01 0.213725E+00 + 11515 0.112983E+01 0.108045E+00 0.457219E+00 + 11516 0.143235E+01 0.312686E+00 0.500000E+00 + 11517 0.118443E+01 0.161683E+00 0.500000E+00 + 11518 0.126027E+01 0.209695E+00 0.500000E+00 + 11519 0.116569E+01 0.116232E+00 -0.128921E-06 + 11520 0.117361E+01 0.431714E-01 0.532475E-01 + 11521 0.150000E+01 0.388919E+00 0.925112E-01 + 11522 0.144982E+01 0.401086E+00 0.449642E+00 + 11523 0.141180E+01 0.238965E+00 0.274321E+00 + 11524 0.126027E+01 0.209691E+00 -0.128921E-06 + 11525 0.133983E+01 0.259727E+00 -0.128921E-06 + 11526 0.144022E+01 0.265371E+00 0.551537E-01 + 11527 0.131579E+01 0.199443E+00 0.725953E-01 + 11528 0.126698E+01 0.143464E+00 0.192848E+00 + 11529 0.129211E+01 0.179535E+00 0.311033E+00 + 11530 0.119036E+01 0.134739E+00 0.101838E+00 + 11531 0.136379E+01 0.297871E+00 0.420522E+00 + 11532 0.122685E+01 0.830864E-01 0.311727E+00 + 11533 0.115488E+01 -0.128921E-06 0.420133E+00 + 11534 0.114642E+01 0.949744E-01 0.411138E+00 + 11535 0.118151E+01 -0.128921E-06 0.157908E+00 + 11536 0.111134E+01 0.113580E+00 0.500000E+00 + 11537 0.127971E+01 0.256328E+00 0.500000E+00 + 11538 0.127840E+01 0.185644E+00 0.425887E+00 + 11539 0.118443E+01 0.161679E+00 -0.128921E-06 + 11540 0.114473E+01 0.641267E-01 -0.128921E-06 + 11541 0.145624E+01 0.344023E+00 0.541702E-01 + 11542 0.150000E+01 0.350000E+00 0.500000E+00 + 11543 0.140189E+01 0.261459E+00 -0.128921E-06 + 11544 0.126065E+01 0.188433E+00 0.103853E+00 + 11545 0.142227E+01 0.211472E+00 0.154829E+00 + 11546 0.129788E+01 0.197498E+00 0.261647E+00 + 11547 0.127638E+01 0.174802E+00 0.352299E+00 + 11548 0.139681E+01 0.234843E+00 0.383016E+00 + 11549 0.113254E+01 0.580322E-01 0.457097E+00 + 11550 0.117582E+01 0.600814E-01 0.104533E+00 + 11551 0.119062E+01 0.132027E+00 0.456102E+00 + 11552 0.115317E+01 -0.128921E-06 0.254021E+00 + 11553 0.125462E+01 0.821015E-01 0.238920E+00 + 11554 0.136120E+01 0.308890E+00 0.500000E+00 + 11555 0.150000E+01 0.308479E+00 0.370073E+00 + 11556 0.150000E+01 0.245944E+00 0.119845E+00 + 11557 0.122906E+01 0.136437E+00 0.378237E+00 + 11558 0.119606E+01 0.999262E-01 0.471545E-01 + 11559 0.119086E+01 -0.128921E-06 0.332289E+00 + 11560 0.114705E+01 -0.128921E-06 0.834504E-01 + 11561 0.126969E+01 0.144972E+00 0.278611E+00 + 11562 0.143636E+01 0.369387E+00 0.500000E+00 + 11563 0.116569E+01 0.116236E+00 0.500000E+00 + 11564 0.124107E+01 0.164244E+00 0.500000E+00 + 11565 0.150000E+01 0.350000E+00 -0.128921E-06 + 11566 0.150000E+01 0.226394E+00 0.356717E+00 + 11567 0.134672E+01 0.228423E+00 0.452782E+00 + 11568 0.145672E+01 0.257118E+00 -0.128921E-06 + 11569 0.131952E+01 0.212258E+00 -0.128921E-06 + 11570 0.124107E+01 0.164240E+00 -0.128921E-06 + 11571 0.141772E+01 0.119534E+00 0.144773E+00 + 11572 0.142299E+01 0.162757E+00 -0.128921E-06 + 11573 0.132576E+01 0.141974E+00 0.811442E-01 + 11574 0.132945E+01 0.790991E-01 0.256299E+00 + 11575 0.140100E+01 0.128126E+00 0.353893E+00 + 11576 0.122839E+01 0.687167E-01 0.601710E-01 + 11577 0.122501E+01 -0.128921E-06 0.229245E+00 + 11578 0.131072E+01 0.103521E+00 0.391516E+00 + 11579 0.121677E+01 -0.128921E-06 0.419468E+00 + 11580 0.114473E+01 0.641296E-01 0.500000E+00 + 11581 0.122175E+01 0.118163E+00 0.500000E+00 + 11582 0.117536E+01 -0.128921E-06 -0.128921E-06 + 11583 0.145672E+01 0.257120E+00 0.500000E+00 + 11584 0.129950E+01 0.166075E+00 0.500000E+00 + 11585 0.150000E+01 0.280000E+00 -0.128921E-06 + 11586 0.143032E+01 0.277089E+00 0.452674E+00 + 11587 0.150000E+01 0.212772E+00 0.223480E+00 + 11588 0.142587E+01 0.194883E+00 0.361415E+00 + 11589 0.127338E+01 0.149891E+00 0.454589E-01 + 11590 0.138082E+01 0.213273E+00 -0.128921E-06 + 11591 0.138482E+01 0.129276E+00 0.102312E+00 + 11592 0.139874E+01 0.830648E-01 0.200417E+00 + 11593 0.134517E+01 0.118523E+00 0.324285E+00 + 11594 0.125227E+01 -0.128921E-06 0.108273E+00 + 11595 0.133983E+01 0.259731E+00 0.500000E+00 + 11596 0.124779E+01 0.829468E-01 0.396625E+00 + 11597 0.118234E+01 0.634200E-01 0.446533E+00 + 11598 0.120073E+01 0.653877E-01 -0.128921E-06 + 11599 0.131592E+01 -0.128921E-06 0.322248E+00 + 11600 0.133844E+01 0.144498E+00 0.450656E+00 + 11601 0.125852E+01 0.660908E-01 0.500000E+00 + 11602 0.150000E+01 0.280000E+00 0.500000E+00 + 11603 0.150000E+01 0.144312E+00 0.262759E+00 + 11604 0.133622E+01 0.147677E+00 0.409289E+00 + 11605 0.122175E+01 0.118158E+00 -0.128921E-06 + 11606 0.129950E+01 0.166071E+00 -0.128921E-06 + 11607 0.144376E+01 0.209668E+00 -0.128921E-06 + 11608 0.131691E+01 0.675539E-01 0.132968E+00 + 11609 0.128445E+01 0.670438E-01 0.354094E+00 + 11610 0.145558E+01 0.170811E+00 0.440290E+00 + 11611 0.140189E+01 0.261462E+00 0.500000E+00 + 11612 0.123217E+01 0.670589E-01 0.441841E+00 + 11613 0.117536E+01 -0.128921E-06 0.500000E+00 + 11614 0.119891E+01 -0.128921E-06 0.722400E-01 + 11615 0.127955E+01 0.119368E+00 0.500000E+00 + 11616 0.135984E+01 0.166708E+00 0.500000E+00 + 11617 0.135660E+01 0.154548E+00 0.452054E-01 + 11618 0.150000E+01 0.210000E+00 -0.128921E-06 + 11619 0.140457E+01 0.850178E-01 0.294930E+00 + 11620 0.128811E+01 0.747586E-01 0.661686E-01 + 11621 0.130166E+01 -0.128921E-06 0.205817E+00 + 11622 0.141585E+01 0.195237E+00 0.451357E+00 + 11623 0.120073E+01 0.653910E-01 0.500000E+00 + 11624 0.128533E+01 0.839000E-01 0.450807E+00 + 11625 0.123399E+01 -0.128921E-06 -0.128921E-06 + 11626 0.145890E+01 0.138971E+00 0.515202E-01 + 11627 0.125674E+01 -0.128921E-06 0.326189E+00 + 11628 0.138082E+01 0.213278E+00 0.500000E+00 + 11629 0.150000E+01 0.175699E+00 0.121161E+00 + 11630 0.150000E+01 0.159132E+00 0.401460E+00 + 11631 0.144376E+01 0.209671E+00 0.500000E+00 + 11632 0.140505E+01 0.141919E+00 0.444824E+00 + 11633 0.150000E+01 0.105117E+00 0.121367E+00 + 11634 0.137403E+01 0.648751E-01 0.357189E+00 + 11635 0.135984E+01 0.166703E+00 -0.128921E-06 + 11636 0.127955E+01 0.119363E+00 -0.128921E-06 + 11637 0.134821E+01 0.728347E-01 0.677998E-01 + 11638 0.145372E+01 0.114156E+00 -0.128921E-06 + 11639 0.137078E+01 -0.128921E-06 0.240831E+00 + 11640 0.150000E+01 -0.128921E-06 0.380000E+00 + 11641 0.129469E+01 -0.128921E-06 -0.128921E-06 + 11642 0.128069E+01 -0.128921E-06 0.413846E+00 + 11643 0.133884E+01 0.119769E+00 0.500000E+00 + 11644 0.150000E+01 0.210000E+00 0.500000E+00 + 11645 0.150000E+01 0.559442E-01 0.239146E+00 + 11646 0.140731E+01 0.963207E-01 0.436525E+00 + 11647 0.133884E+01 0.119765E+00 -0.128921E-06 + 11648 0.125852E+01 0.660872E-01 -0.128921E-06 + 11649 0.150000E+01 0.140000E+00 -0.128921E-06 + 11650 0.143366E+01 0.845664E-01 0.433021E-01 + 11651 0.131738E+01 -0.128921E-06 0.902321E-01 + 11652 0.145129E+01 -0.128921E-06 0.397396E+00 + 11653 0.142299E+01 0.162761E+00 0.500000E+00 + 11654 0.123400E+01 -0.128921E-06 0.500000E+00 + 11655 0.131791E+01 0.662413E-01 0.500000E+00 + 11656 0.150000E+01 0.809347E-01 0.397460E+00 + 11657 0.133026E+01 0.634304E-01 0.442759E+00 + 11658 0.139879E+01 0.118690E+00 -0.128921E-06 + 11659 0.144349E+01 -0.128921E-06 0.129907E+00 + 11660 0.150000E+01 0.700001E-01 -0.128921E-06 + 11661 0.131791E+01 0.662381E-01 -0.128921E-06 + 11662 0.139879E+01 0.118695E+00 0.500000E+00 + 11663 0.136976E+01 -0.128921E-06 0.113167E+00 + 11664 0.142749E+01 -0.128921E-06 0.278929E+00 + 11665 0.145208E+01 0.475966E-01 0.420945E+00 + 11666 0.150000E+01 0.140000E+00 0.500000E+00 + 11667 0.129469E+01 -0.128921E-06 0.500000E+00 + 11668 0.136631E+01 -0.128921E-06 0.390985E+00 + 11669 0.145372E+01 0.114159E+00 0.500000E+00 + 11670 0.150000E+01 -0.128921E-06 0.140000E+00 + 11671 0.150000E+01 -0.128921E-06 0.500000E+00 + 11672 0.137637E+01 0.657902E-01 0.500000E+00 + 11673 0.137637E+01 0.657870E-01 -0.128921E-06 + 11674 0.145250E+01 -0.128921E-06 -0.128921E-06 + 11675 0.150000E+01 0.449261E-01 0.104137E+00 + 11676 0.150000E+01 -0.128921E-06 0.260000E+00 + 11677 0.150000E+01 0.700001E-01 0.500000E+00 + 11678 0.137529E+01 0.559018E-01 0.420831E+00 + 11679 0.135750E+01 -0.128921E-06 -0.128921E-06 + 11680 0.143344E+01 0.649061E-01 -0.128921E-06 + 11681 0.143344E+01 0.649086E-01 0.500000E+00 + 11682 0.135750E+01 -0.128921E-06 0.500000E+00 + 11683 0.140500E+01 -0.128921E-06 -0.128921E-06 + 11684 0.150000E+01 -0.128921E-06 -0.128921E-06 + 11685 0.145250E+01 -0.128921E-06 0.500000E+00 + 11686 0.140500E+01 -0.128921E-06 0.500000E+00 diff --git a/tests/regression/meshconv/exo_output/sphere_tetra.1.ugrid b/tests/regression/meshconv/exo_output/sphere_tetra.1.ugrid new file mode 100644 index 00000000000..2316063b034 --- /dev/null +++ b/tests/regression/meshconv/exo_output/sphere_tetra.1.ugrid @@ -0,0 +1,56451 @@ + 8066 864 0 46656 0 0 0 + -5.000000000000000E-01 -2.969235740054541E-17 1.045336987937818E-17 + -4.786055337932063E-01 7.234767277272987E-02 1.253098450517358E-01 + -4.786055337932063E-01 1.446953455454599E-01 4.770620852345838E-17 + -4.162692503868762E-01 1.384917968530519E-01 2.398748285809938E-01 + -4.366477049775875E-01 2.109599163427836E-01 1.217977644887272E-01 + -4.162692503868762E-01 2.769835937061041E-01 9.669653409863197E-17 + -3.190798404876359E-01 1.924760085013094E-01 3.333782259623275E-01 + -3.561258603430955E-01 2.656063660725219E-01 2.294071269525850E-01 + -3.561258603430956E-01 3.314755827864014E-01 1.153182969493810E-01 + -3.190798404876359E-01 3.849520170026192E-01 1.234617585181608E-16 + -1.989864132040603E-01 2.293493009364660E-01 3.972446419023639E-01 + -2.448340646511175E-01 3.036255748007758E-01 3.128382826850175E-01 + -2.596414971816653E-01 3.700536713855808E-01 2.136505867890745E-01 + -2.448340646511175E-01 4.227386874819105E-01 1.065283196736157E-01 + -1.989864132040603E-01 4.586986018729324E-01 1.295002286982596E-16 + -7.787681488973740E-02 2.469489834473050E-01 4.277281862082183E-01 + -1.173738918900409E-01 3.196848985031533E-01 3.660941616191298E-01 + -1.348953381607067E-01 3.875438561025917E-01 2.856799036327937E-01 + -1.348953381607067E-01 4.411779819479854E-01 1.927828726490288E-01 + -1.173738918900410E-01 4.768892933909090E-01 9.380816250041607E-02 + -7.787681488973744E-02 4.938979668946103E-01 1.225511812429942E-16 + 2.330000650164429E-17 2.499999999999999E-01 4.330127018922194E-01 + 1.254951253676206E-17 3.045034579260507E-01 3.965824556269199E-01 + 5.862892845508207E-18 3.744688844351491E-01 3.313201693074163E-01 + 4.210033117148070E-18 4.330127018922193E-01 2.500000000000001E-01 + -5.278765780617578E-18 4.741661256239582E-01 1.586394821939504E-01 + -2.022916926890829E-17 4.957022102311529E-01 6.541650229070614E-02 + -3.359090540681535E-17 5.000000000000000E-01 1.122237906801258E-16 + -4.786055337932063E-01 7.234767277272998E-02 -1.253098450517358E-01 + -4.366477049775875E-01 2.109599163427837E-01 -1.217977644887270E-01 + -4.162692503868762E-01 1.384917968530522E-01 -2.398748285809937E-01 + -3.561258603430955E-01 3.314755827864014E-01 -1.153182969493808E-01 + -3.561258603430956E-01 2.656063660725221E-01 -2.294071269525849E-01 + -3.190798404876359E-01 1.924760085013097E-01 -3.333782259623274E-01 + -2.448340646511175E-01 4.227386874819106E-01 -1.065283196736154E-01 + -2.596414971816653E-01 3.700536713855809E-01 -2.136505867890743E-01 + -2.448340646511175E-01 3.036255748007760E-01 -3.128382826850173E-01 + -1.989864132040603E-01 2.293493009364663E-01 -3.972446419023637E-01 + -1.173738918900410E-01 4.768892933909091E-01 -9.380816250041583E-02 + -1.348953381607067E-01 4.411779819479855E-01 -1.927828726490285E-01 + -1.348953381607067E-01 3.875438561025919E-01 -2.856799036327934E-01 + -1.173738918900410E-01 3.196848985031536E-01 -3.660941616191296E-01 + -7.787681488973744E-02 2.469489834473053E-01 -4.277281862082181E-01 + -3.445593760962994E-17 4.957022102311529E-01 -6.541650229070592E-02 + -3.591958204746386E-18 4.741661256239583E-01 -1.586394821939502E-01 + -1.617159292286382E-17 4.330127018922194E-01 -2.499999999999999E-01 + -3.887860567053401E-17 3.744688844351493E-01 -3.313201693074160E-01 + -6.670187895108965E-17 3.045034579260509E-01 -3.965824556269197E-01 + -6.133300927282091E-17 2.500000000000002E-01 -4.330127018922192E-01 + -4.786055337932063E-01 -7.234767277272995E-02 -1.253098450517358E-01 + -4.366477049775875E-01 6.987489203467203E-17 -2.435955289774542E-01 + -4.162692503868762E-01 -1.384917968530520E-01 -2.398748285809938E-01 + -3.561258603430956E-01 6.586921671387944E-02 -3.447254239019658E-01 + -3.561258603430956E-01 -6.586921671387923E-02 -3.447254239019658E-01 + -3.190798404876359E-01 -1.924760085013095E-01 -3.333782259623275E-01 + -2.448340646511175E-01 1.191131126811347E-01 -4.193666023586329E-01 + -2.596414971816654E-01 1.407618803495726E-16 -4.273011735781488E-01 + -2.448340646511175E-01 -1.191131126811344E-01 -4.193666023586330E-01 + -1.989864132040603E-01 -2.293493009364661E-01 -3.972446419023639E-01 + -1.173738918900410E-01 1.572043948877557E-01 -4.599023241195456E-01 + -1.348953381607068E-01 5.363412584539382E-02 -4.784627762818222E-01 + -1.348953381607068E-01 -5.363412584539348E-02 -4.784627762818222E-01 + -1.173738918900410E-01 -1.572043948877554E-01 -4.599023241195457E-01 + -7.787681488973743E-02 -2.469489834473050E-01 -4.277281862082183E-01 + -5.108974315120979E-17 1.911987523051022E-01 -4.619989579176258E-01 + -4.035958443258592E-17 9.969724118880922E-02 -4.899596515013663E-01 + -5.402800118654518E-17 1.941900154862695E-16 -5.000000000000000E-01 + -6.014332720463656E-17 -9.969724118880888E-02 -4.899596515013664E-01 + -2.736276870182319E-17 -1.911987523051019E-01 -4.619989579176259E-01 + -3.530089555973540E-17 -2.499999999999999E-01 -4.330127018922194E-01 + -4.786055337932063E-01 -1.446953455454600E-01 -3.694897759678444E-17 + -4.366477049775875E-01 -2.109599163427837E-01 -1.217977644887272E-01 + -4.162692503868762E-01 -2.769835937061042E-01 -9.535102453065522E-17 + -3.561258603430955E-01 -2.656063660725220E-01 -2.294071269525850E-01 + -3.561258603430955E-01 -3.314755827864014E-01 -1.153182969493810E-01 + -3.190798404876359E-01 -3.849520170026192E-01 -1.620165779662872E-16 + -2.448340646511175E-01 -3.036255748007758E-01 -3.128382826850175E-01 + -2.596414971816653E-01 -3.700536713855808E-01 -2.136505867890746E-01 + -2.448340646511175E-01 -4.227386874819105E-01 -1.065283196736157E-01 + -1.989864132040603E-01 -4.586986018729324E-01 -1.933183086777747E-16 + -1.173738918900410E-01 -3.196848985031533E-01 -3.660941616191298E-01 + -1.348953381607067E-01 -3.875438561025917E-01 -2.856799036327937E-01 + -1.348953381607067E-01 -4.411779819479854E-01 -1.927828726490288E-01 + -1.173738918900410E-01 -4.768892933909090E-01 -9.380816250041614E-02 + -7.787681488973737E-02 -4.938979668946103E-01 -2.067346668774362E-16 + -3.576939068085248E-17 -3.045034579260507E-01 -3.965824556269199E-01 + -3.653984716892835E-17 -3.744688844351491E-01 -3.313201693074163E-01 + -3.066645583829087E-17 -4.330127018922192E-01 -2.500000000000002E-01 + -2.120945389460958E-17 -4.741661256239582E-01 -1.586394821939505E-01 + -1.434358502316356E-18 -4.957022102311529E-01 -6.541650229070624E-02 + 2.469250098856655E-17 -5.000000000000000E-01 -2.019188109208656E-16 + -4.786055337932063E-01 -7.234767277273008E-02 1.253098450517358E-01 + -4.366477049775875E-01 -2.109599163427838E-01 1.217977644887270E-01 + -4.162692503868762E-01 -1.384917968530523E-01 2.398748285809937E-01 + -3.561258603430955E-01 -3.314755827864015E-01 1.153182969493807E-01 + -3.561258603430955E-01 -2.656063660725222E-01 2.294071269525848E-01 + -3.190798404876358E-01 -1.924760085013099E-01 3.333782259623273E-01 + -2.448340646511175E-01 -4.227386874819106E-01 1.065283196736153E-01 + -2.596414971816653E-01 -3.700536713855809E-01 2.136505867890742E-01 + -2.448340646511175E-01 -3.036255748007762E-01 3.128382826850172E-01 + -1.989864132040602E-01 -2.293493009364665E-01 3.972446419023636E-01 + -1.173738918900410E-01 -4.768892933909091E-01 9.380816250041572E-02 + -1.348953381607067E-01 -4.411779819479856E-01 1.927828726490284E-01 + -1.348953381607067E-01 -3.875438561025920E-01 2.856799036327933E-01 + -1.173738918900409E-01 -3.196848985031537E-01 3.660941616191295E-01 + -7.787681488973734E-02 -2.469489834473055E-01 4.277281862082180E-01 + 3.859808446621289E-18 -4.957022102311529E-01 6.541650229070578E-02 + -3.863352962395692E-18 -4.741661256239583E-01 1.586394821939500E-01 + 1.060349125334555E-18 -4.330127018922195E-01 2.499999999999998E-01 + -1.387772207168787E-17 -3.744688844351494E-01 3.313201693074159E-01 + 2.499950223993749E-17 -3.045034579260511E-01 3.965824556269196E-01 + 1.964073388054854E-17 -2.500000000000004E-01 4.330127018922191E-01 + -4.366477049775875E-01 -1.780199073883097E-16 2.435955289774542E-01 + -3.561258603430956E-01 -6.586921671387960E-02 3.447254239019658E-01 + -3.561258603430956E-01 6.586921671387910E-02 3.447254239019658E-01 + -2.448340646511174E-01 -1.191131126811349E-01 4.193666023586329E-01 + -2.596414971816653E-01 -3.397683926530845E-16 4.273011735781488E-01 + -2.448340646511175E-01 1.191131126811343E-01 4.193666023586330E-01 + -1.173738918900409E-01 -1.572043948877560E-01 4.599023241195455E-01 + -1.348953381607066E-01 -5.363412584539408E-02 4.784627762818222E-01 + -1.348953381607067E-01 5.363412584539326E-02 4.784627762818223E-01 + -1.173738918900409E-01 1.572043948877552E-01 4.599023241195457E-01 + 1.727501577342806E-17 -1.911987523051025E-01 4.619989579176257E-01 + 1.956176793348278E-17 -9.969724118880949E-02 4.899596515013663E-01 + 2.152292189050348E-17 -4.524492867895988E-16 5.000000000000000E-01 + 2.546781038387962E-17 9.969724118880864E-02 4.899596515013665E-01 + 3.554490612265599E-17 1.911987523051018E-01 4.619989579176260E-01 + 5.000000000000000E-01 -2.828675548202934E-17 -5.182477837450955E-17 + 4.786055337932064E-01 7.234767277272988E-02 1.253098450517358E-01 + 4.786055337932063E-01 1.446953455454599E-01 -8.314393826688560E-18 + 4.162692503868762E-01 1.384917968530519E-01 2.398748285809937E-01 + 4.366477049775875E-01 2.109599163427836E-01 1.217977644887271E-01 + 4.162692503868762E-01 2.769835937061041E-01 3.791675943386707E-17 + 3.190798404876359E-01 1.924760085013094E-01 3.333782259623275E-01 + 3.561258603430956E-01 2.656063660725220E-01 2.294071269525850E-01 + 3.561258603430956E-01 3.314755827864014E-01 1.153182969493809E-01 + 3.190798404876359E-01 3.849520170026192E-01 8.383146931175243E-17 + 1.989864132040604E-01 2.293493009364660E-01 3.972446419023639E-01 + 2.448340646511175E-01 3.036255748007758E-01 3.128382826850175E-01 + 2.596414971816653E-01 3.700536713855808E-01 2.136505867890745E-01 + 2.448340646511175E-01 4.227386874819105E-01 1.065283196736156E-01 + 1.989864132040603E-01 4.586986018729324E-01 1.024865026265663E-16 + 7.787681488973745E-02 2.469489834473050E-01 4.277281862082183E-01 + 1.173738918900410E-01 3.196848985031533E-01 3.660941616191298E-01 + 1.348953381607067E-01 3.875438561025917E-01 2.856799036327937E-01 + 1.348953381607067E-01 4.411779819479854E-01 1.927828726490288E-01 + 1.173738918900410E-01 4.768892933909090E-01 9.380816250041606E-02 + 7.787681488973740E-02 4.938979668946103E-01 1.081168786730951E-16 + 4.786055337932063E-01 7.234767277272999E-02 -1.253098450517358E-01 + 4.366477049775875E-01 2.109599163427837E-01 -1.217977644887271E-01 + 4.162692503868762E-01 1.384917968530521E-01 -2.398748285809937E-01 + 3.561258603430955E-01 3.314755827864014E-01 -1.153182969493808E-01 + 3.561258603430956E-01 2.656063660725221E-01 -2.294071269525849E-01 + 3.190798404876359E-01 1.924760085013097E-01 -3.333782259623274E-01 + 2.448340646511175E-01 4.227386874819105E-01 -1.065283196736154E-01 + 2.596414971816653E-01 3.700536713855809E-01 -2.136505867890743E-01 + 2.448340646511175E-01 3.036255748007761E-01 -3.128382826850173E-01 + 1.989864132040603E-01 2.293493009364663E-01 -3.972446419023637E-01 + 1.173738918900410E-01 4.768892933909091E-01 -9.380816250041585E-02 + 1.348953381607067E-01 4.411779819479855E-01 -1.927828726490285E-01 + 1.348953381607067E-01 3.875438561025919E-01 -2.856799036327934E-01 + 1.173738918900409E-01 3.196848985031536E-01 -3.660941616191296E-01 + 7.787681488973734E-02 2.469489834473053E-01 -4.277281862082182E-01 + 4.786055337932063E-01 -7.234767277272995E-02 -1.253098450517359E-01 + 4.366477049775875E-01 7.271953111263906E-17 -2.435955289774542E-01 + 4.162692503868762E-01 -1.384917968530520E-01 -2.398748285809938E-01 + 3.561258603430955E-01 6.586921671387944E-02 -3.447254239019658E-01 + 3.561258603430955E-01 -6.586921671387923E-02 -3.447254239019658E-01 + 3.190798404876359E-01 -1.924760085013095E-01 -3.333782259623275E-01 + 2.448340646511175E-01 1.191131126811347E-01 -4.193666023586329E-01 + 2.596414971816654E-01 1.414715477187796E-16 -4.273011735781488E-01 + 2.448340646511175E-01 -1.191131126811344E-01 -4.193666023586330E-01 + 1.989864132040603E-01 -2.293493009364661E-01 -3.972446419023639E-01 + 1.173738918900409E-01 1.572043948877557E-01 -4.599023241195456E-01 + 1.348953381607067E-01 5.363412584539383E-02 -4.784627762818222E-01 + 1.348953381607067E-01 -5.363412584539349E-02 -4.784627762818223E-01 + 1.173738918900410E-01 -1.572043948877554E-01 -4.599023241195457E-01 + 7.787681488973737E-02 -2.469489834473050E-01 -4.277281862082183E-01 + 4.786055337932063E-01 -1.446953455454600E-01 -9.649190705149623E-17 + 4.366477049775875E-01 -2.109599163427837E-01 -1.217977644887272E-01 + 4.162692503868762E-01 -2.769835937061042E-01 -1.556213889627415E-16 + 3.561258603430955E-01 -2.656063660725220E-01 -2.294071269525851E-01 + 3.561258603430955E-01 -3.314755827864013E-01 -1.153182969493810E-01 + 3.190798404876359E-01 -3.849520170026192E-01 -1.959692429408858E-16 + 2.448340646511175E-01 -3.036255748007758E-01 -3.128382826850175E-01 + 2.596414971816653E-01 -3.700536713855807E-01 -2.136505867890746E-01 + 2.448340646511175E-01 -4.227386874819105E-01 -1.065283196736158E-01 + 1.989864132040603E-01 -4.586986018729324E-01 -2.210397530795761E-16 + 1.173738918900409E-01 -3.196848985031533E-01 -3.660941616191298E-01 + 1.348953381607066E-01 -3.875438561025917E-01 -2.856799036327937E-01 + 1.348953381607066E-01 -4.411779819479854E-01 -1.927828726490289E-01 + 1.173738918900409E-01 -4.768892933909090E-01 -9.380816250041615E-02 + 7.787681488973738E-02 -4.938979668946103E-01 -2.182686374548672E-16 + 4.786055337932063E-01 -7.234767277273006E-02 1.253098450517358E-01 + 4.366477049775875E-01 -2.109599163427838E-01 1.217977644887270E-01 + 4.162692503868762E-01 -1.384917968530523E-01 2.398748285809937E-01 + 3.561258603430955E-01 -3.314755827864015E-01 1.153182969493807E-01 + 3.561258603430955E-01 -2.656063660725222E-01 2.294071269525848E-01 + 3.190798404876358E-01 -1.924760085013099E-01 3.333782259623273E-01 + 2.448340646511175E-01 -4.227386874819106E-01 1.065283196736153E-01 + 2.596414971816653E-01 -3.700536713855809E-01 2.136505867890741E-01 + 2.448340646511175E-01 -3.036255748007761E-01 3.128382826850172E-01 + 1.989864132040602E-01 -2.293493009364665E-01 3.972446419023636E-01 + 1.173738918900410E-01 -4.768892933909091E-01 9.380816250041571E-02 + 1.348953381607067E-01 -4.411779819479856E-01 1.927828726490284E-01 + 1.348953381607067E-01 -3.875438561025920E-01 2.856799036327933E-01 + 1.173738918900409E-01 -3.196848985031537E-01 3.660941616191294E-01 + 7.787681488973741E-02 -2.469489834473055E-01 4.277281862082181E-01 + 4.366477049775875E-01 -1.765975878493262E-16 2.435955289774542E-01 + 3.561258603430956E-01 -6.586921671387960E-02 3.447254239019658E-01 + 3.561258603430956E-01 6.586921671387910E-02 3.447254239019658E-01 + 2.448340646511175E-01 -1.191131126811349E-01 4.193666023586328E-01 + 2.596414971816653E-01 -3.369297231762566E-16 4.273011735781488E-01 + 2.448340646511175E-01 1.191131126811343E-01 4.193666023586330E-01 + 1.173738918900409E-01 -1.572043948877560E-01 4.599023241195455E-01 + 1.348953381607067E-01 -5.363412584539407E-02 4.784627762818222E-01 + 1.348953381607067E-01 5.363412584539326E-02 4.784627762818223E-01 + 1.173738918900410E-01 1.572043948877552E-01 4.599023241195457E-01 + -5.000169333392598E-01 -2.969336298206798E-17 1.045372390029533E-17 + -5.000498888635925E-01 -2.969532003648160E-17 1.045441289286617E-17 + -5.001140266315415E-01 -2.969912883953923E-17 1.045575380448938E-17 + -5.002388510232261E-01 -2.970654150043963E-17 1.045836347556188E-17 + -5.004817832183692E-01 -2.972096795956421E-17 1.046344239574476E-17 + -5.009545758403930E-01 -2.974904461458315E-17 1.047332694805327E-17 + -5.018747209175344E-01 -2.980368716756482E-17 1.049256418172136E-17 + -5.036654996301195E-01 -2.991003205068355E-17 1.053000352623090E-17 + -5.071506982983675E-01 -3.011699957962260E-17 1.060286766779553E-17 + -5.139335630218502E-01 -3.051979806676101E-17 1.074467525538823E-17 + -5.271343180537565E-01 -3.130372113948983E-17 1.102066000545939E-17 + -5.528255179400078E-01 -3.282938571763267E-17 1.155777923557143E-17 + -6.028255179400077E-01 -3.579862145768721E-17 1.260311622350925E-17 + -6.633491502554029E-01 -3.939280010146304E-17 1.386846805358187E-17 + -7.427364381518395E-01 -4.410719155202502E-17 1.552819742178615E-17 + -8.468666966715123E-01 -5.029093725637965E-17 1.770522163766897E-17 + -9.834516717561765E-01 -5.840199704789653E-17 2.056076816672026E-17 + -1.162606661709014E+00 -6.904106503143809E-17 2.430631491814686E-17 + -1.397599642489704E+00 -8.299605617535755E-17 2.921925201246316E-17 + -1.705833876047643E+00 -1.013004582271286E-16 3.566342491819873E-17 + -2.110136772335931E+00 -1.253098704164636E-16 4.411608035460943E-17 + -2.640450456381580E+00 -1.568023972986302E-16 5.520321053745915E-17 + -3.336049241519975E+00 -1.981103327700591E-16 6.974591331485466E-17 + -4.248448231858611E+00 -2.522928865961222E-16 8.882120156201658E-17 + -5.445218461129980E+00 -3.233627453438385E-16 1.138417652964203E-16 + -7.014991111950934E+00 -4.165832465153932E-16 1.466605935875471E-16 + -9.074021421190594E+00 -5.388581741963922E-16 1.897082044182123E-16 + -1.177479838539006E+01 -6.992430439567335E-16 2.461726455551746E-16 + -1.531733788935882E+01 -9.096157420715162E-16 3.202355970497633E-16 + -1.996399561175946E+01 -1.185556185694564E-15 4.173820608000090E-16 + -2.605889673141002E+01 -1.547500150425861E-15 5.448065723638960E-16 + -3.405342137204256E+01 -2.022252716180118E-15 7.119460185205657E-16 + -4.453963320304693E+01 -2.644973415108137E-15 9.311785203265661E-16 + -5.829412687310398E+01 -3.461780098937884E-15 1.218740139999911E-15 + -7.633554155826955E+01 -4.533164364624653E-15 1.595927301702472E-15 + -1.000000000000000E+02 -5.938471480109082E-15 2.090673975875636E-15 + -4.786217425729569E-01 7.235012294810529E-02 1.253140888799735E-01 + -4.786532879655863E-01 7.235489145908625E-02 1.253223481832690E-01 + -4.787146813469174E-01 7.236417189558214E-02 1.253384223707963E-01 + -4.788341646361426E-01 7.238223340406943E-02 1.253697058211576E-01 + -4.790667020220067E-01 7.241738456198979E-02 1.254305894126206E-01 + -4.795192643524810E-01 7.248579545380486E-02 1.255490805530354E-01 + -4.804000374041059E-01 7.261893616369378E-02 1.257796870271188E-01 + -4.821141906073905E-01 7.287805350830673E-02 1.262284914331108E-01 + -4.854502613453749E-01 7.338234553390345E-02 1.271019508432961E-01 + -4.919428945286341E-01 7.436379448885591E-02 1.288018702983091E-01 + -5.045788033456718E-01 7.627388229965855E-02 1.321102394335373E-01 + -5.291707042163662E-01 7.999127934467715E-02 1.385489599874160E-01 + -5.770312575956869E-01 8.722604662195013E-02 1.510799444925895E-01 + -6.349651482985138E-01 9.598353451349259E-02 1.662483584674103E-01 + -7.109555388986518E-01 1.074705055675844E-01 1.861443759581704E-01 + -8.106301748243169E-01 1.225376693058265E-01 2.122414690787652E-01 + -9.413708246413719E-01 1.423008794720200E-01 2.464723532072741E-01 + -1.112859963837561E+00 1.682237726494392E-01 2.913721212697450E-01 + -1.337797845845958E+00 2.022261632042587E-01 3.502659892894924E-01 + -1.632843065616633E+00 2.468262221378647E-01 4.275155573830643E-01 + -2.019846272601023E+00 3.053269694213286E-01 5.288418239587710E-01 + -2.527468400262042E+00 3.820608911817996E-01 6.617488751119219E-01 + -3.193303255996177E+00 4.827107977584016E-01 8.360796270796579E-01 + -4.066661667602988E+00 6.147306849407792E-01 1.064744779289047E+00 + -5.212223376419471E+00 7.878977668037190E-01 1.364678963274098E+00 + -6.714827131379749E+00 1.015036562942069E+00 1.758094898555751E+00 + -8.685753731879824E+00 1.312968665026077E+00 2.274128436571050E+00 + -1.127096733309399E+01 1.703758521102136E+00 2.950996322377315E+00 + -1.466192535365497E+01 2.216347498737337E+00 3.838826475041273E+00 + -1.910975755282273E+01 2.888697243511577E+00 5.003370393446224E+00 + -2.494386436039706E+01 3.770601067084823E+00 6.530872623264349E+00 + -3.259631182650281E+01 4.927371572432841E+00 8.534457911224244E+00 + -4.263382984819577E+01 6.444677616782906E+00 1.116250907066992E+01 + -5.579978341822164E+01 8.434888831174650E+00 1.460965601178978E+01 + -7.306922522977817E+01 1.104539756317361E+01 1.913118976921420E+01 + -9.572110675864127E+01 1.446953455454597E+01 2.506196901034717E+01 + -4.786217425729569E-01 1.447002458962107E-01 4.770782417428583E-17 + -4.786532879655863E-01 1.447097829181726E-01 4.771096854051746E-17 + -4.787146813469174E-01 1.447283437911644E-01 4.771708807998147E-17 + -4.788341646361426E-01 1.447644668081390E-01 4.772899787689850E-17 + -4.790667020220067E-01 1.448347691239797E-01 4.775217662481563E-17 + -4.795192643524810E-01 1.449715909076099E-01 4.779728691164486E-17 + -4.804000374041059E-01 1.452378723273877E-01 4.788508017748874E-17 + -4.821141906073905E-01 1.457561070166136E-01 4.805594270285265E-17 + -4.854502613453749E-01 1.467646910678070E-01 4.838847393167889E-17 + -4.919428945286341E-01 1.487275889777120E-01 4.903564344944865E-17 + -5.045788033456718E-01 1.525477645993173E-01 5.029515939388708E-17 + -5.291707042163662E-01 1.599825586893545E-01 5.274641887186978E-17 + -5.770312575956869E-01 1.744520932439004E-01 5.751703972421562E-17 + -6.349651482985138E-01 1.919670690269853E-01 6.329174577188635E-17 + -7.109555388986518E-01 2.149410111351690E-01 7.086627879288482E-17 + -8.106301748243169E-01 2.450753386116532E-01 8.080159844596709E-17 + -9.413708246413719E-01 2.846017589440403E-01 9.383350105108781E-17 + -1.112859963837561E+00 3.364475452988788E-01 1.109271116685042E-16 + -1.337797845845958E+00 4.044523264085177E-01 1.333483599538494E-16 + -1.632843065616633E+00 4.936524442757299E-01 1.627577331942163E-16 + -2.019846272601023E+00 6.106539388426578E-01 2.013332497481507E-16 + -2.527468400262042E+00 7.641217823635998E-01 2.519317601360011E-16 + -3.193303255996177E+00 9.654215955168042E-01 3.183005215209543E-16 + -4.066661667602988E+00 1.229461369881560E+00 4.053547145003300E-16 + -5.212223376419471E+00 1.575795533607439E+00 5.195414547249040E-16 + -6.714827131379749E+00 2.030073125884140E+00 6.693172575538769E-16 + -8.685753731879824E+00 2.625937330052156E+00 8.657743161312933E-16 + -1.127096733309399E+01 3.407517042204276E+00 1.123461974190199E-15 + -1.466192535365497E+01 4.432694997474680E+00 1.461464230748044E-15 + -1.910975755282273E+01 5.777394487023161E+00 1.904813075232010E-15 + -2.494386436039706E+01 7.541202134169655E+00 2.486342322719829E-15 + -3.259631182650281E+01 9.854743144865694E+00 3.249119241823713E-15 + -4.263382984819577E+01 1.288935523356583E+01 4.249634058285814E-15 + -5.579978341822164E+01 1.686977766234932E+01 5.561983544602475E-15 + -7.306922522977817E+01 2.209079512634725E+01 7.283358526659862E-15 + -9.572110675864127E+01 2.893906910909197E+01 9.541241704691678E-15 + -4.162833480437567E-01 1.384964871102135E-01 2.398829523446982E-01 + -4.163107847865768E-01 1.385056152497757E-01 2.398987627461984E-01 + -4.163641819477480E-01 1.385233803592344E-01 2.399295328183831E-01 + -4.164681030596610E-01 1.385579546678254E-01 2.399894172774992E-01 + -4.166703534651952E-01 1.386252429002631E-01 2.401059639148327E-01 + -4.170639715259118E-01 1.387561986997889E-01 2.403327860131574E-01 + -4.178300277289294E-01 1.390110637899865E-01 2.407742252984552E-01 + -4.193209199535226E-01 1.395070801133307E-01 2.416333507718709E-01 + -4.222224820276844E-01 1.404724229652418E-01 2.433053736381043E-01 + -4.278694780555239E-01 1.423511652119744E-01 2.465594506637713E-01 + -4.388596148588688E-01 1.460075577803457E-01 2.528925083646077E-01 + -4.602485278952471E-01 1.531235986514614E-01 2.652178527021168E-01 + -5.018754529339348E-01 1.669727783367666E-01 2.892053355602162E-01 + -5.522637070431757E-01 1.837368315196317E-01 3.182415274137252E-01 + -6.183566806889694E-01 2.057258078157678E-01 3.563275515650607E-01 + -7.050491300021210E-01 2.345681810340924E-01 4.062840073900628E-01 + -8.187613803873277E-01 2.723999782793013E-01 4.718106023604091E-01 + -9.679148071288001E-01 3.220229712268193E-01 5.577601473691425E-01 + -1.163555511040310E+00 3.871121715391641E-01 6.704979493341517E-01 + -1.420172377733784E+00 4.724879972532888E-01 8.183732172091613E-01 + -1.756770104868121E+00 5.844732664130049E-01 1.012337393093066E+00 + -2.198276664323291E+00 7.313614564114921E-01 1.266755201202277E+00 + -2.777389434042454E+00 9.240309076967248E-01 1.600468479894717E+00 + -3.536996721566467E+00 1.176750458934541E+00 2.038191582704621E+00 + -4.533354014014713E+00 1.508236177878603E+00 2.612341689899234E+00 + -5.840250183284829E+00 1.943037448004547E+00 3.365439580952851E+00 + -7.554472189986932E+00 2.513355062607538E+00 4.353258665896719E+00 + -9.802972994685843E+00 3.261425971950168E+00 5.648955488542406E+00 + -1.275227352225179E+01 4.242651294605275E+00 7.348487601054217E+00 + -1.662079497606799E+01 5.529699249278023E+00 9.577720050325025E+00 + -2.169503481658613E+01 7.217886864682190E+00 1.250174677291359E+01 + -2.835078437529717E+01 9.432239029616589E+00 1.633711722843012E+01 + -3.708095945187753E+01 1.233674766693164E+01 2.136787375928244E+01 + -4.853210499084891E+01 1.614651675327190E+01 2.796658738192904E+01 + -6.355227732467421E+01 2.114369262831114E+01 3.662194989185447E+01 + -8.325385007737525E+01 2.769835937061038E+01 4.797496571619875E+01 + -4.366624927850383E-01 2.109670608544509E-01 1.218018893744615E-01 + -4.366912726931707E-01 2.109809654437634E-01 1.218099171928440E-01 + -4.367472839115252E-01 2.110080264400853E-01 1.218255408663550E-01 + -4.368562924798338E-01 2.110606923265399E-01 1.218559475300767E-01 + -4.370684440507827E-01 2.111631902376687E-01 1.219151247266582E-01 + -4.374813316774567E-01 2.113626708216479E-01 1.220302948955168E-01 + -4.382848901498171E-01 2.117508982786418E-01 1.222544381223190E-01 + -4.398487689797631E-01 2.125064633334326E-01 1.226906638100928E-01 + -4.428923769795259E-01 2.139769377724158E-01 1.235396426232761E-01 + -4.488158216088903E-01 2.168387629216765E-01 1.251919181435754E-01 + -4.603439803861968E-01 2.224084232760615E-01 1.284075630484744E-01 + -4.827799873231008E-01 2.332480500335601E-01 1.346658244748313E-01 + -5.264447578208595E-01 2.543440416678384E-01 1.468456009237041E-01 + -5.792997681157088E-01 2.798801624878727E-01 1.615888871532097E-01 + -6.486283222444570E-01 3.133752337144983E-01 1.809272755424276E-01 + -7.395647990471329E-01 3.573098549666234E-01 2.062929409490864E-01 + -8.588438308574121E-01 4.149377648017074E-01 2.395644302052076E-01 + -1.015299061253791E+00 4.905268081873932E-01 2.832057847517196E-01 + -1.220517352741252E+00 5.896750073206645E-01 3.404490242109804E-01 + -1.489696894098452E+00 7.197251435713945E-01 4.155335053834870E-01 + -1.842772757658597E+00 8.903085539276390E-01 5.140198832719493E-01 + -2.305893263772081E+00 1.114058414771046E+00 6.432019256610317E-01 + -2.913356490003838E+00 1.407545337812921E+00 8.126466796828937E-01 + -3.710150340314305E+00 1.792504567159079E+00 1.034902994372929E+00 + -4.755284288307994E+00 2.297445662056323E+00 1.326430871436758E+00 + -6.126159538943101E+00 2.959763876245080E+00 1.708820470687829E+00 + -7.924301256960680E+00 3.828509599813989E+00 2.210391048047675E+00 + -1.028287738310875E+01 4.968020964670062E+00 2.868288241291967E+00 + -1.337656087150955E+01 6.462688639466574E+00 3.731235025684767E+00 + -1.743446573211479E+01 8.423205688248951E+00 4.863140071550124E+00 + -2.275711490403628E+01 1.099476534888699E+01 6.347830733856680E+00 + -2.973869657747423E+01 1.436781384766332E+01 8.295261192614856E+00 + -3.889625723730799E+01 1.879215458890609E+01 1.084965551055801E+01 + -5.090799342562633E+01 2.459544825685126E+01 1.420018867193260E+01 + -6.666347805927931E+01 3.220747892222725E+01 1.859499662566712E+01 + -8.732954099551750E+01 4.219198326855673E+01 2.435955289774543E+01 + -4.162833480437567E-01 2.769929742204273E-01 9.669980888906624E-17 + -4.163107847865768E-01 2.770112304995516E-01 9.670618225903099E-17 + -4.163641819477480E-01 2.770467607184692E-01 9.671858605876197E-17 + -4.164681030596610E-01 2.771159093356511E-01 9.674272623085570E-17 + -4.166703534651952E-01 2.772504858005264E-01 9.678970763343833E-17 + -4.170639715259118E-01 2.775123973995782E-01 9.688114244923254E-17 + -4.178300277289294E-01 2.780221275799734E-01 9.705909212888751E-17 + -4.193209199535226E-01 2.790141602266618E-01 9.740541631857669E-17 + -4.222224820276844E-01 2.809448459304839E-01 9.807942958230619E-17 + -4.278694780555239E-01 2.847023304239491E-01 9.939118860234752E-17 + -4.388596148588688E-01 2.920151155606918E-01 1.019441231204883E-16 + -4.602485278952471E-01 3.062471973029232E-01 1.069126230921597E-16 + -5.018754529339348E-01 3.339455566735335E-01 1.165822765020229E-16 + -5.522637070431757E-01 3.674736630392637E-01 1.282871274539402E-16 + -6.183566806889694E-01 4.114516156315359E-01 1.436400786360916E-16 + -7.050491300021210E-01 4.691363620681852E-01 1.637781488233854E-16 + -8.187613803873277E-01 5.447999565586031E-01 1.901927362246555E-16 + -9.679148071288001E-01 6.440459424536392E-01 2.248400694144848E-16 + -1.163555511040310E+00 7.742243430783289E-01 2.702860829724830E-16 + -1.420172377733784E+00 9.449759945065784E-01 3.298964471236850E-16 + -1.756770104868121E+00 1.168946532826011E+00 4.080858247179171E-16 + -2.198276664323291E+00 1.462722912822985E+00 5.106448151824997E-16 + -2.777389434042454E+00 1.848061815393451E+00 6.451687984747033E-16 + -3.536996721566467E+00 2.353500917869084E+00 8.216204386363779E-16 + -4.533354014014713E+00 3.016472355757208E+00 1.053067505202311E-15 + -5.840250183284829E+00 3.886074896009098E+00 1.356650654516727E-15 + -7.554472189986932E+00 5.026710125215082E+00 1.754852843531746E-15 + -9.802972994685843E+00 6.522851943900344E+00 2.277164387154774E-15 + -1.275227352225179E+01 8.485302589210558E+00 2.962266971037306E-15 + -1.662079497606799E+01 1.105939849855606E+01 3.860898364834876E-15 + -2.169503481658613E+01 1.443577372936439E+01 5.039609992723036E-15 + -2.835078437529717E+01 1.886447805923320E+01 6.585695641753593E-15 + -3.708095945187753E+01 2.467349533386331E+01 8.613656321517975E-15 + -4.853210499084891E+01 3.229303350654385E+01 1.127368005387016E-14 + -6.355227732467421E+01 4.228738525662233E+01 1.476276459445350E-14 + -8.325385007737525E+01 5.539671874122084E+01 1.933930681972639E-14 + -3.190906466620158E-01 1.924825270244121E-01 3.333895163755316E-01 + -3.191116775489103E-01 1.924952133199753E-01 3.334114896840070E-01 + -3.191526076864430E-01 1.925199032831133E-01 3.334542539545990E-01 + -3.192322655804184E-01 1.925679546844634E-01 3.335374814231122E-01 + -3.193872951125696E-01 1.926614719229787E-01 3.336994580316042E-01 + -3.196890123014077E-01 1.928434743964507E-01 3.340146955627609E-01 + -3.202762117902872E-01 1.931976860998313E-01 3.346282082296516E-01 + -3.214190145622078E-01 1.938870499772463E-01 3.358222214902370E-01 + -3.236431278324724E-01 1.952286842342432E-01 3.381460001885305E-01 + -3.279716786205086E-01 1.978397616906038E-01 3.426685190054448E-01 + -3.363958682403027E-01 2.029214189660936E-01 3.514702075932452E-01 + -3.527909561635846E-01 2.128112981815234E-01 3.685999808750891E-01 + -3.846989402123482E-01 2.320588990316544E-01 4.019378034713219E-01 + -4.233226821022055E-01 2.553575933677906E-01 4.422923258115271E-01 + -4.739844484196876E-01 2.859178899678915E-01 4.952243122172764E-01 + -5.404361809764745E-01 3.260030430160437E-01 5.646538339258504E-01 + -6.275992051025193E-01 3.785817046671376E-01 6.557227472995186E-01 + -7.419286963359504E-01 4.475477794055664E-01 7.751754927450700E-01 + -8.918917419823833E-01 5.380088013385504E-01 9.318585788376011E-01 + -1.088594402135376E+00 6.566641912559357E-01 1.137375742766408E+00 + -1.346604209448087E+00 8.123014066621126E-01 1.406947307398449E+00 + -1.685029020875480E+00 1.016446728979575E+00 1.760537377779818E+00 + -2.128932119686185E+00 1.284218884343171E+00 2.224332355721795E+00 + -2.711188368282849E+00 1.635448715985182E+00 2.832680269259622E+00 + -3.474918875995368E+00 2.096147829631882E+00 3.630634541097655E+00 + -4.476684490046975E+00 2.700434977800956E+00 4.677290584087395E+00 + -5.790674615309771E+00 3.493062848412289E+00 6.050162327481355E+00 + -7.514201581168667E+00 4.532732388255084E+00 7.850922793570834E+00 + -9.774907460863670E+00 5.896440115619316E+00 1.021293386403997E+01 + -1.274021707059214E+01 7.685180378178237E+00 1.331112288033612E+01 + -1.662973722468417E+01 1.003142485761924E+01 1.737493752570593E+01 + -2.173152051889918E+01 1.310893324300787E+01 2.270533840991831E+01 + -2.842339811561205E+01 1.714562163806973E+01 2.969708780448913E+01 + -3.720096140807205E+01 2.244044171920795E+01 3.886798520195650E+01 + -4.871426484789990E+01 2.938552069184310E+01 5.089721484513886E+01 + -6.381596809752718E+01 3.849520170026189E+01 6.667564519246551E+01 + -3.561379211431202E-01 2.656153612779344E-01 2.294148962100036E-01 + -3.561613937720323E-01 2.656328676720545E-01 2.294300166743124E-01 + -3.562070760076149E-01 2.656669384710004E-01 2.294594439964610E-01 + -3.562959823953758E-01 2.657332467771455E-01 2.295167152066009E-01 + -3.564690112693766E-01 2.658622954522535E-01 2.296281759604651E-01 + -3.568057586279407E-01 2.661134489127367E-01 2.298450999545908E-01 + -3.574611335424156E-01 2.666022416931348E-01 2.302672756316439E-01 + -3.587366187618226E-01 2.675535261457144E-01 2.310889104305679E-01 + -3.612189575102154E-01 2.694049080523426E-01 2.326879692572514E-01 + -3.660500645806977E-01 2.730080521538742E-01 2.358000442746959E-01 + -3.754523250665298E-01 2.800204613007505E-01 2.418567388456448E-01 + -3.937509263920051E-01 2.936679537844105E-01 2.536442275533838E-01 + -4.293635124263147E-01 3.202285903916626E-01 2.765849402486423E-01 + -4.724715736851332E-01 3.523795144732658E-01 3.043540454530612E-01 + -5.290153060899803E-01 3.945510525743171E-01 3.407780647188197E-01 + -6.031822618961151E-01 4.498663717015222E-01 3.885545115904758E-01 + -7.004651454200478E-01 5.224220494862094E-01 4.512216450286023E-01 + -8.280685952834739E-01 6.175914611764743E-01 5.334205080772019E-01 + -9.954427501936970E-01 7.424227245318922E-01 6.412386372270459E-01 + -1.214983113419729E+00 9.061606738808389E-01 7.826608971249639E-01 + -1.502948546979472E+00 1.120931520032294E+00 9.681608288371739E-01 + -1.880665380944419E+00 1.402640901028087E+00 1.211476306118280E+00 + -2.376106812566465E+00 1.772151832158228E+00 1.530626943738896E+00 + -3.025964563387502E+00 2.256829792622394E+00 1.949248605754948E+00 + -3.878366218452042E+00 2.892569375863489E+00 2.498343845594010E+00 + -4.996439490085390E+00 3.726452594552656E+00 3.218577913181167E+00 + -6.462987370786357E+00 4.820235710693310E+00 4.163290368283094E+00 + -8.386620410727057E+00 6.254922820760107E+00 5.402445336076543E+00 + -1.090980026802761E+01 8.136764909395101E+00 7.027812955519561E+00 + -1.421939022624725E+01 1.060512865345441E+01 9.159765751575506E+00 + -1.856049403613055E+01 1.384281772937787E+01 1.195619326141376E+01 + -2.425460796748923E+01 1.808961100592916E+01 1.562419511973208E+01 + -3.172343038760199E+01 2.366002024252867E+01 2.043541857726591E+01 + -4.152009217126745E+01 3.096658240427139E+01 2.674617632833653E+01 + -5.437012082438974E+01 4.055041159093992E+01 3.502383454650455E+01 + -7.122517206861912E+01 5.312127321450440E+01 4.588142539051700E+01 + -3.561379211431203E-01 3.314868087634006E-01 1.153222023970712E-01 + -3.561613937720323E-01 3.315086566666691E-01 1.153298031469534E-01 + -3.562070760076149E-01 3.315511768746880E-01 1.153445956632934E-01 + -3.562959823953759E-01 3.316339293506472E-01 1.153733847358270E-01 + -3.564690112693766E-01 3.317949815325725E-01 1.154294137898632E-01 + -3.568057586279408E-01 3.321084199524174E-01 1.155384570698272E-01 + -3.574611335424157E-01 3.327184312038043E-01 1.157506761963118E-01 + -3.587366187618226E-01 3.339056300385956E-01 1.161636952990089E-01 + -3.612189575102154E-01 3.362161465579633E-01 1.169675096489141E-01 + -3.660500645806977E-01 3.407128546323189E-01 1.185318864656142E-01 + -3.754523250665299E-01 3.494643105671622E-01 1.215764636430650E-01 + -3.937509263920052E-01 3.664963214767163E-01 1.275017944780023E-01 + -4.293635124263147E-01 3.996438797553564E-01 1.390336241729404E-01 + -4.724715736851333E-01 4.397680923435474E-01 1.529925885805442E-01 + -5.290153060899803E-01 4.923979873861538E-01 1.713022022598387E-01 + -6.031822618961151E-01 5.614312636431681E-01 1.953184504066136E-01 + -7.004651454200478E-01 6.519804320752784E-01 2.268199438378878E-01 + -8.280685952834739E-01 7.707514414826961E-01 2.681396405005773E-01 + -9.954427501936970E-01 9.265403119926814E-01 3.223376211779527E-01 + -1.214983113419729E+00 1.130884556399357E+00 3.934277149287514E-01 + -1.502948546979472E+00 1.398917632738137E+00 4.866747578320865E-01 + -1.880665380944419E+00 1.750489707695407E+00 6.089844996182792E-01 + -2.376106812566465E+00 2.211637733073932E+00 7.694150341427154E-01 + -3.025964563387502E+00 2.816513707186379E+00 9.798476295510878E-01 + -3.878366218452042E+00 3.609913925604664E+00 1.255866638909677E+00 + -4.996439490085390E+00 4.650596534150724E+00 1.617913656290452E+00 + -6.462987370786357E+00 6.015633077610884E+00 2.092801393547802E+00 + -8.386620410727057E+00 7.806116313979097E+00 2.715699393451006E+00 + -1.090980026802761E+01 1.015464700722289E+01 3.532738638398171E+00 + -1.421939022624725E+01 1.323515416030626E+01 4.604427948506033E+00 + -1.856049403613055E+01 1.727577596162957E+01 6.010135182891988E+00 + -2.425460796748923E+01 2.257575539033741E+01 7.853965115847201E+00 + -3.172343038760199E+01 2.952760174614507E+01 1.027246929545095E+01 + -4.152009217126745E+01 3.864615935657313E+01 1.344475886631499E+01 + -5.437012082438974E+01 5.060673625068593E+01 1.760576929841668E+01 + -7.122517206861912E+01 6.629511655728028E+01 2.306365938987620E+01 + -3.190906466620158E-01 3.849650540488245E-01 1.234659397578460E-16 + -3.191116775489103E-01 3.849904266399510E-01 1.234740772518200E-16 + -3.191526076864430E-01 3.850398065662270E-01 1.234899143750568E-16 + -3.192322655804184E-01 3.851359093689272E-01 1.235207364528635E-16 + -3.193872951125696E-01 3.853229438459577E-01 1.235807221248896E-16 + -3.196890123014077E-01 3.856869487929017E-01 1.236974657419485E-16 + -3.202762117902872E-01 3.863953721996629E-01 1.239246712005799E-16 + -3.214190145622078E-01 3.877740999544929E-01 1.243668565785252E-16 + -3.236431278324724E-01 3.904573684684867E-01 1.252274340912593E-16 + -3.279716786205086E-01 3.956795233812079E-01 1.269022829043633E-16 + -3.363958682403027E-01 4.058428379321875E-01 1.301618597643765E-16 + -3.527909561635846E-01 4.256225963630472E-01 1.365056211971728E-16 + -3.846989402123482E-01 4.641177980633091E-01 1.488517970489889E-16 + -4.233226821022055E-01 5.107151867355817E-01 1.637965052041194E-16 + -4.739844484196876E-01 5.718357799357835E-01 1.833990935394826E-16 + -5.404361809764745E-01 6.520060860320879E-01 2.091113032030616E-16 + -6.275992051025193E-01 7.571634093342758E-01 2.428373456252853E-16 + -7.419286963359504E-01 8.950955588111338E-01 2.870749258390469E-16 + -8.918917419823833E-01 1.076017602677102E+00 3.451002191322635E-16 + -1.088594402135376E+00 1.313328382511873E+00 4.212105001533850E-16 + -1.346604209448087E+00 1.624602813324227E+00 5.210423932528601E-16 + -1.685029020875480E+00 2.032893457959152E+00 6.519893132499004E-16 + -2.128932119686185E+00 2.568437768686345E+00 8.237490117224656E-16 + -2.711188368282849E+00 3.270897431970368E+00 1.049041779357271E-15 + -3.474918875995368E+00 4.192295659263769E+00 1.344552493453322E-15 + -4.476684490046975E+00 5.400869955601918E+00 1.732166277341462E-15 + -5.790674615309771E+00 6.986125696824585E+00 2.240589282983304E-15 + -7.514201581168667E+00 9.065464776510177E+00 2.907474629714116E-15 + -9.774907460863670E+00 1.179288023123864E+01 3.782210943274189E-15 + -1.274021707059214E+01 1.537036075635649E+01 4.929580010553339E-15 + -1.662973722468417E+01 2.006284971523849E+01 6.434554431006069E-15 + -2.173152051889918E+01 2.621786648601577E+01 8.408590572304593E-15 + -2.842339811561205E+01 3.429124327613948E+01 1.099788287800408E-14 + -3.720096140807205E+01 4.488088343841593E+01 1.439419083006839E-14 + -4.871426484789990E+01 5.877104138368625E+01 1.884904039644022E-14 + -6.381596809752718E+01 7.699040340052385E+01 2.469235170363217E-14 + -1.989931522129460E-01 2.293570682355095E-01 3.972580952589448E-01 + -1.990062676161105E-01 2.293721848884449E-01 3.972842780698693E-01 + -1.990317927049007E-01 2.294016047929303E-01 3.973352348391919E-01 + -1.990814694208640E-01 2.294588615668757E-01 3.974344064807427E-01 + -1.991781498331907E-01 2.295702942251378E-01 3.976274135064751E-01 + -1.993663084492824E-01 2.297871635398359E-01 3.980030421781349E-01 + -1.997325011863378E-01 2.302092328002409E-01 3.987340875814694E-01 + -2.004451824520568E-01 2.310306604919675E-01 4.001568420782839E-01 + -2.018321968166533E-01 2.326293162483423E-01 4.029257950721374E-01 + -2.045315926618017E-01 2.357406068136971E-01 4.083147084084416E-01 + -2.097851344525706E-01 2.417957746904996E-01 4.188025668194225E-01 + -2.200095338851180E-01 2.535802921587610E-01 4.392139498171344E-01 + -2.399081752055240E-01 2.765152222524077E-01 4.789384140073707E-01 + -2.639949362225677E-01 3.042773277757508E-01 5.270237912988898E-01 + -2.955889195675878E-01 3.406921657403303E-01 5.900961408029295E-01 + -3.370299328652703E-01 3.884565697359711E-01 6.728265153166254E-01 + -3.913870414445969E-01 4.511079068441559E-01 7.813418143501270E-01 + -4.626858591612462E-01 5.332860502540819E-01 9.236785340078004E-01 + -5.562066799086064E-01 6.410770019881370E-01 1.110377939007388E+00 + -6.788755290334004E-01 7.824636139705388E-01 1.355266734470935E+00 + -8.397770953942395E-01 9.679167872311533E-01 1.676481052983194E+00 + -1.050827531116790E+00 1.211170932656976E+00 2.097809592012468E+00 + -1.327656945684372E+00 1.530241122864468E+00 2.650455372632511E+00 + -1.690766950681354E+00 1.948757264083075E+00 3.375346593010810E+00 + -2.167048981385575E+00 2.497714095013001E+00 4.326167715343440E+00 + -2.791775840050958E+00 3.217766615202938E+00 5.573335264430430E+00 + -3.611213951879052E+00 4.162240939265161E+00 7.209212780150474E+00 + -4.686049793819458E+00 5.401083556714079E+00 9.354951136153616E+00 + -6.095884252876328E+00 7.026041474264180E+00 1.216946080951171E+01 + -7.945127760011230E+00 9.157456874911416E+00 1.586118057546750E+01 + -1.037073278527658E+01 1.195317949704889E+01 2.070351420087931E+01 + -1.355233635229848E+01 1.562025677234574E+01 2.705507835697470E+01 + -1.772556371299756E+01 2.043026747817085E+01 3.538626128441403E+01 + -2.319947843468277E+01 2.673943449409612E+01 4.631405910943433E+01 + -3.037947122933909E+01 3.501500618599135E+01 6.064776974147562E+01 + -3.979728264081206E+01 4.586986018729321E+01 7.944892838047279E+01 + -2.448423563676756E-01 3.036358575905079E-01 3.128488774785658E-01 + -2.448584936376258E-01 3.036558698705446E-01 3.128694969778403E-01 + -2.448898998584750E-01 3.036948176038645E-01 3.129096264762011E-01 + -2.449510223848425E-01 3.037706173592132E-01 3.129877261728647E-01 + -2.450699785383855E-01 3.039181382139892E-01 3.131397231543396E-01 + -2.453014900171598E-01 3.042052420772362E-01 3.134355384182198E-01 + -2.457520557357702E-01 3.047640012331305E-01 3.140112516297277E-01 + -2.466289429979561E-01 3.058514536650298E-01 3.151316999039557E-01 + -2.483355337100837E-01 3.079678445629132E-01 3.173123070363373E-01 + -2.516568863905416E-01 3.120867469638400E-01 3.215561865398956E-01 + -2.581208754123923E-01 3.201029206325735E-01 3.298155896085500E-01 + -2.707010372002226E-01 3.357039312981428E-01 3.458899713136147E-01 + -2.951844436653344E-01 3.660664887782204E-01 3.771737995821164E-01 + -3.248209374797903E-01 4.028195340798058E-01 4.150420179729317E-01 + -3.636943622344164E-01 4.510275559186663E-01 4.647127835980164E-01 + -4.146836311275027E-01 5.142607751130444E-01 5.298646460996991E-01 + -4.815649403680026E-01 5.972021582515060E-01 6.153226641918237E-01 + -5.692914291533694E-01 7.059942318572213E-01 7.274157429744185E-01 + -6.843600024514056E-01 8.486939895845903E-01 8.744453440753469E-01 + -8.352924829846301E-01 1.035869582259202E+00 1.067300280657344E+00 + -1.033266725881591E+00 1.281382980817502E+00 1.320263128176157E+00 + -1.292944435491601E+00 1.603416575103656E+00 1.652067972578569E+00 + -1.633556991355226E+00 2.025819737040389E+00 2.087287831339529E+00 + -2.080329698131594E+00 2.579875072818821E+00 2.658154497861694E+00 + -2.666349937503512E+00 3.306615170352773E+00 3.406945584449314E+00 + -3.435017574860820E+00 4.259861417176872E+00 4.389115545026784E+00 + -4.443259094562806E+00 5.510209939527093E+00 5.677402556904656E+00 + -5.765743498284928E+00 7.150259855854609E+00 7.367215411695489E+00 + -7.500412190172579E+00 9.301471042148549E+00 9.583699361226332E+00 + -9.775732384608283E+00 1.212315928588126E+01 1.249100420542811E+01 + -1.276021121414967E+01 1.582429499749685E+01 1.630444100424106E+01 + -1.667487513958882E+01 2.067897927603889E+01 2.130642772315814E+01 + -2.180963887034370E+01 2.704674346538169E+01 2.786740472532358E+01 + -2.854477605525997E+01 3.539917555871111E+01 3.647326908320877E+01 + -3.737908183411086E+01 4.635484536671622E+01 4.776135945783967E+01 + -4.896681293022350E+01 6.072511496015517E+01 6.256765653700351E+01 + -2.596502903767807E-01 3.700662038743046E-01 2.136578224248128E-01 + -2.596674036201370E-01 3.700905944998480E-01 2.136719043590361E-01 + -2.597007092723293E-01 3.701380633328560E-01 2.136993105025513E-01 + -2.597655284562129E-01 3.702304467816988E-01 2.137526481116093E-01 + -2.598916790139341E-01 3.704102426831197E-01 2.138564533236939E-01 + -2.601371921824114E-01 3.707601599742876E-01 2.140584781659438E-01 + -2.606150078733181E-01 3.714411661022946E-01 2.144516572372684E-01 + -2.615449288054314E-01 3.727665345767571E-01 2.152168590827748E-01 + -2.633547332058303E-01 3.753459557021437E-01 2.167060885638702E-01 + -2.668769595098018E-01 3.803660036890169E-01 2.196044146204362E-01 + -2.737318871106269E-01 3.901359794182541E-01 2.252451127376874E-01 + -2.870728903163463E-01 4.091502250986702E-01 2.362229925997134E-01 + -3.130370400345128E-01 4.461555922372283E-01 2.575880512786208E-01 + -3.444659330529965E-01 4.909495769250342E-01 2.834498703962016E-01 + -3.856904016262419E-01 5.497046916198751E-01 3.173721516815353E-01 + -4.397634740741653E-01 6.267722605549442E-01 3.618671333519876E-01 + -5.106897289211707E-01 7.278598035273204E-01 4.202300534988069E-01 + -6.037218685590129E-01 8.604537270855095E-01 4.967831909580360E-01 + -7.257497272731739E-01 1.034373757660980E+00 5.971959674282521E-01 + -8.858105230404270E-01 1.262500177210653E+00 7.289048171645210E-01 + -1.095758141654776E+00 1.561727719457262E+00 9.016639192295510E-01 + -1.371141019457850E+00 1.954216770991472E+00 1.128267578786809E+00 + -1.732353639480011E+00 2.469034539495098E+00 1.425497756015980E+00 + -2.206146919237137E+00 3.144307731781717E+00 1.815366915359197E+00 + -2.827609347458063E+00 4.030046166075383E+00 2.326748238830244E+00 + -3.642765590046031E+00 5.191846431429322E+00 2.997513934776920E+00 + -4.711985014512857E+00 6.715749882285970E+00 3.877340002348006E+00 + -6.114452563589863E+00 8.714614744677203E+00 5.031385168723269E+00 + -7.954033084861150E+00 1.133647424362139E+01 6.545116456216075E+00 + -1.036696342073085E+01 1.477549974331443E+01 8.530638754213838E+00 + -1.353194192449140E+01 1.928638081543198E+01 1.113499715548329E+01 + -1.768336261839050E+01 2.520318720392910E+01 1.455106691662501E+01 + -2.312867409752263E+01 3.296410957790926E+01 1.903183753840225E+01 + -3.027114875646134E+01 4.314391133921795E+01 2.490914882559085E+01 + -3.963974859672469E+01 5.649649482168846E+01 3.261826649357215E+01 + -5.192829943633307E+01 7.401073427711617E+01 4.273011735781490E+01 + -2.448423563676756E-01 4.227530042371372E-01 1.065319274339713E-01 + -2.448584936376258E-01 4.227808673873406E-01 1.065389488272336E-01 + -2.448898998584750E-01 4.228350944190221E-01 1.065526138045280E-01 + -2.449510223848425E-01 4.229406306180351E-01 1.065792084699289E-01 + -2.450699785383855E-01 4.231460242926789E-01 1.066309667870153E-01 + -2.453014900171598E-01 4.235457597576498E-01 1.067316983941719E-01 + -2.457520557357702E-01 4.243237216020572E-01 1.069277414120195E-01 + -2.466289429979561E-01 4.258377844871147E-01 1.073092787063374E-01 + -2.483355337100837E-01 4.287844411083724E-01 1.080518234220518E-01 + -2.516568863905416E-01 4.345191997695174E-01 1.094969577851839E-01 + -2.581208754123923E-01 4.456801394814339E-01 1.123094662891279E-01 + -2.707010372002226E-01 4.674014677209324E-01 1.177831469976906E-01 + -2.951844436653344E-01 5.096753364691234E-01 1.284359789650522E-01 + -3.248209374797902E-01 5.608466982424193E-01 1.413309406672577E-01 + -3.636943622344163E-01 6.279668540185956E-01 1.582449294333637E-01 + -4.146836311275026E-01 7.160066316461126E-01 1.804305723679236E-01 + -4.815649403680025E-01 8.314861378401934E-01 2.095309081447875E-01 + -5.692914291533693E-01 9.829576284571886E-01 2.477010682264261E-01 + -6.843600024514055E-01 1.181638876982570E+00 2.977678829817483E-01 + -8.352924829846300E-01 1.442243947645122E+00 3.634392329153726E-01 + -1.033266725881591E+00 1.784072899089213E+00 4.495786492769073E-01 + -1.292944435491601E+00 2.232441120583522E+00 5.625655005995228E-01 + -1.633556991355226E+00 2.820554155470355E+00 7.107674400951262E-01 + -2.080329698131594E+00 3.591966858741506E+00 9.051601027204830E-01 + -2.666349937503512E+00 4.603809010620713E+00 1.160139945839856E+00 + -3.435017574860819E+00 5.931016270726812E+00 1.494590431362964E+00 + -4.443259094562805E+00 7.671879811553704E+00 1.933280509363656E+00 + -5.765743498284928E+00 9.955325629607827E+00 2.508698972982413E+00 + -7.500412190172578E+00 1.295046263012897E+01 3.263460534452805E+00 + -9.775732384608283E+00 1.687910660361963E+01 4.253461812984345E+00 + -1.276021121414967E+01 2.203220760292584E+01 5.552020962690770E+00 + -1.667487513958882E+01 2.879139731017142E+01 7.255307515802572E+00 + -2.180963887034370E+01 3.765725216236356E+01 9.489464567999541E+00 + -2.854477605525997E+01 4.928636536447990E+01 1.241995076526466E+01 + -3.737908183411086E+01 6.453997329312742E+01 1.626379394715583E+01 + -4.896681293022349E+01 8.454773749638211E+01 2.130566393472314E+01 + -1.989931522129461E-01 4.587141364710194E-01 1.295046144408731E-16 + -1.990062676161105E-01 4.587443697768902E-01 1.295131499367490E-16 + -1.990317927049007E-01 4.588032095858611E-01 1.295297616479842E-16 + -1.990814694208640E-01 4.589177231337518E-01 1.295620912225247E-16 + -1.991781498331907E-01 4.591405884502759E-01 1.296250107721831E-16 + -1.993663084492824E-01 4.595743270796722E-01 1.297474642775410E-16 + -1.997325011863379E-01 4.604184656004822E-01 1.299857822733918E-16 + -2.004451824520569E-01 4.620613209839354E-01 1.304495947790472E-16 + -2.018321968166533E-01 4.652586324966849E-01 1.313522628282412E-16 + -2.045315926618017E-01 4.714812136273945E-01 1.331090278940820E-16 + -2.097851344525707E-01 4.835915493809995E-01 1.365280294853251E-16 + -2.200095338851180E-01 5.071605843175224E-01 1.431820620069296E-16 + -2.399081752055241E-01 5.530304445048156E-01 1.561320848767555E-16 + -2.639949362225678E-01 6.085546555515020E-01 1.718077333297416E-16 + -2.955889195675878E-01 6.813843314806609E-01 1.923690772063878E-16 + -3.370299328652703E-01 7.769131394719427E-01 2.193388617918009E-16 + -3.913870414445969E-01 9.022158136883124E-01 2.547144328122211E-16 + -4.626858591612462E-01 1.066572100508165E+00 3.011156571548749E-16 + -5.562066799086064E-01 1.282154003976275E+00 3.619789466620448E-16 + -6.788755290334004E-01 1.564927227941078E+00 4.418117541388167E-16 + -8.397770953942395E-01 1.935833574462308E+00 5.465263892042207E-16 + -1.050827531116790E+00 2.422341865313954E+00 6.838778759356770E-16 + -1.327656945684372E+00 3.060482245728938E+00 8.640382794509843E-16 + -1.690766950681355E+00 3.897514528166154E+00 1.100350035276813E-15 + -2.167048981385576E+00 4.995428190026005E+00 1.410314072056635E-15 + -2.791775840050959E+00 6.435533230405882E+00 1.816885906627808E-15 + -3.611213951879053E+00 8.324481878530330E+00 2.350175698514176E-15 + -4.686049793819459E+00 1.080216711342817E+01 3.049678167567821E-15 + -6.095884252876329E+00 1.405208294852837E+01 3.967197519440968E-15 + -7.945127760011231E+00 1.831491374982285E+01 5.170683994907801E-15 + -1.037073278527658E+01 2.390635899409781E+01 6.749266172683851E-15 + -1.355233635229848E+01 3.124051354469152E+01 8.819851711275421E-15 + -1.772556371299756E+01 4.086053495634173E+01 1.153578537186234E-14 + -2.319947843468277E+01 5.347886898819227E+01 1.509820552366465E-14 + -3.037947122933909E+01 7.003001237198275E+01 1.977094017920281E-14 + -3.979728264081206E+01 9.173972037458648E+01 2.590004573965191E-14 + -7.787945231879138E-02 2.469573467891381E-01 4.277426719411944E-01 + -7.788458526132749E-02 2.469736234556040E-01 4.277708639544911E-01 + -7.789457495149149E-02 2.470053009687951E-01 4.278257310167956E-01 + -7.791401680358137E-02 2.470669514820670E-01 4.279325128380952E-01 + -7.795185437476521E-02 2.471869351993414E-01 4.281403307324955E-01 + -7.802549354177836E-02 2.474204465141217E-01 4.285447841938372E-01 + -7.816880947746684E-02 2.478749042969699E-01 4.293319281636254E-01 + -7.844772976208378E-02 2.487593662622739E-01 4.308638612248941E-01 + -7.899056210516599E-02 2.504806987987453E-01 4.338452966347841E-01 + -8.004701790615158E-02 2.538307418953947E-01 4.396477414857261E-01 + -8.210308341820065E-02 2.603505679671270E-01 4.509404114984786E-01 + -8.610458105387431E-02 2.730393993580295E-01 4.729181121561967E-01 + -9.389226254284805E-02 2.977342977027599E-01 5.156909307770184E-01 + -1.033190379634092E-01 3.276267966524105E-01 5.674662577230126E-01 + -1.156838962116273E-01 3.668360167417377E-01 6.353786190428776E-01 + -1.319025619459414E-01 4.182657397168141E-01 7.244575122549026E-01 + -1.531761675887170E-01 4.857247812194808E-01 8.412999995674189E-01 + -1.810802075669769E-01 5.742090665162117E-01 9.945592773727767E-01 + -2.176812172962676E-01 6.902716219582984E-01 1.195585520254751E+00 + -2.656898179952111E-01 8.425078832398831E-01 1.459266459548787E+00 + -3.286614616224664E-01 1.042192261726271E+00 1.805129948565024E+00 + -4.112597428343018E-01 1.304113112092807E+00 2.258790168961511E+00 + -5.196017784897998E-01 1.647667937847021E+00 2.853844582353283E+00 + -6.617112330421704E-01 2.098299944171969E+00 3.634362112824792E+00 + -8.481125402632004E-01 2.689382327249094E+00 4.658146831773265E+00 + -1.092610328557112E+00 3.464689847976326E+00 6.001018849163092E+00 + -1.413311773047143E+00 4.481640731484173E+00 7.762429448200745E+00 + -1.833967588446001E+00 5.815548983138087E+00 1.007282631270070E+01 + -2.385730974826316E+00 7.565202041792098E+00 1.310331430590774E+01 + -3.109464781433042E+00 9.860176843740913E+00 1.707832726497341E+01 + -4.058767753965602E+00 1.287043611516000E+01 2.229224926702655E+01 + -5.303943985105571E+00 1.681891558145728E+01 2.913121631529588E+01 + -6.937209540420974E+00 2.199803428521654E+01 3.810171304863720E+01 + -9.079521855311171E+00 2.879135074452250E+01 4.986808230804905E+01 + -1.188953767888243E+01 3.770196877742833E+01 6.530172546788143E+01 + -1.557536297794748E+01 4.938979668946099E+01 8.554563724164367E+01 + -1.173778669539042E-01 3.196957251688385E-01 3.661065600124092E-01 + -1.173856031902046E-01 3.197167959357413E-01 3.661306896625118E-01 + -1.174006593890872E-01 3.197578036874153E-01 3.661776505872826E-01 + -1.174299616383968E-01 3.198376126333881E-01 3.662690455493293E-01 + -1.174869894328155E-01 3.199929361416831E-01 3.664469176659518E-01 + -1.175979764530232E-01 3.202952254644525E-01 3.667930909031108E-01 + -1.178139784706383E-01 3.208835384356407E-01 3.674668103842789E-01 + -1.182343598046582E-01 3.220285082575894E-01 3.687779976471373E-01 + -1.190525024680627E-01 3.242568390226338E-01 3.713298194161940E-01 + -1.206447649295803E-01 3.285935978640083E-01 3.762961537648328E-01 + -1.237436129175441E-01 3.370337619290882E-01 3.859615924571233E-01 + -1.297745651534927E-01 3.534599391852091E-01 4.047723890238165E-01 + -1.415119543424967E-01 3.854284290355244E-01 4.413818051857295E-01 + -1.557197428948563E-01 4.241254115431030E-01 4.856965020470276E-01 + -1.743557327888562E-01 4.748832456903289E-01 5.438229472583526E-01 + -1.988000802007963E-01 5.414609879422663E-01 6.200659066422383E-01 + -2.308631003995790E-01 6.287892957362595E-01 7.200718305290180E-01 + -2.729193372441505E-01 7.433355852950725E-01 8.512470222223537E-01 + -3.280834186862928E-01 8.935829997147289E-01 1.023306138792927E+00 + -4.004407218991712E-01 1.090658659055063E+00 1.248991645426345E+00 + -4.953499307787150E-01 1.349157719783967E+00 1.545017505140038E+00 + -6.198398928166817E-01 1.688224272301901E+00 1.933306992251726E+00 + -7.831301660280373E-01 2.132969126353670E+00 2.442616300388778E+00 + -9.973138069332165E-01 2.716329483595243E+00 3.110664187249105E+00 + -1.278252965948651E+00 3.481508222147669E+00 3.986925374720776E+00 + -1.646753616767454E+00 4.485173443249114E+00 5.136294579790649E+00 + -2.130106418597481E+00 5.801655234097509E+00 6.643892529409590E+00 + -2.764107825427603E+00 7.528450453457031E+00 8.621369886267315E+00 + -3.595711122937661E+00 9.793443216996360E+00 1.121517594568350E+01 + -4.686503725255813E+00 1.276437582172544E+01 1.461740447211013E+01 + -6.117268255452521E+00 1.666127151336993E+01 1.908001990321006E+01 + -7.993965197216265E+00 2.177272911001308E+01 2.493351749492175E+01 + -1.045558018479301E+01 2.847729623976747E+01 3.261139935258604E+01 + -1.368441709085607E+01 3.727150406551638E+01 4.268227900985637E+01 + -1.791959920445611E+01 4.880663971047729E+01 5.589199217703386E+01 + -2.347477837800819E+01 6.393697970063067E+01 7.321883232382595E+01 + -1.348999066177579E-01 3.875569809257786E-01 2.856895786622495E-01 + -1.349087977109562E-01 3.875825243477381E-01 2.857084081242806E-01 + -1.349261014827489E-01 3.876322367435636E-01 2.857450538670143E-01 + -1.349597779398029E-01 3.877289865957418E-01 2.858163735073893E-01 + -1.350253187810308E-01 3.879172803550963E-01 2.859551751995849E-01 + -1.351528738222864E-01 3.882837361068481E-01 2.862253099009809E-01 + -1.354011203849621E-01 3.889969292495865E-01 2.867510438149128E-01 + -1.358842557849725E-01 3.903849398249898E-01 2.877742227949907E-01 + -1.368245298907936E-01 3.930862744873427E-01 2.897655252343632E-01 + -1.386544835519387E-01 3.983435895880643E-01 2.936409815154808E-01 + -1.422159241799499E-01 4.085753326051256E-01 3.011833623662710E-01 + -1.491471703727703E-01 4.284882659487661E-01 3.158622813817012E-01 + -1.626367041888409E-01 4.672426515590253E-01 3.444302717449805E-01 + -1.789654158846399E-01 5.141537752647126E-01 3.790110426397180E-01 + -2.003833659775423E-01 5.756858866185359E-01 4.243697481515637E-01 + -2.284767388490885E-01 6.563959704658834E-01 4.838655925898797E-01 + -2.653260916525234E-01 7.622613063258578E-01 5.619047576296285E-01 + -3.136604375582556E-01 9.011221376185455E-01 6.642667181597502E-01 + -3.770593527738627E-01 1.083262309476127E+00 7.985322623673708E-01 + -4.602180751108716E-01 1.322170876387868E+00 9.746449146456913E-01 + -5.692952269391950E-01 1.635541083309887E+00 1.205647339545886E+00 + -7.123689144203710E-01 2.046580703427932E+00 1.508647263852512E+00 + -9.000349811112121E-01 2.585730774413555E+00 1.906084451663362E+00 + -1.146191721789647E+00 3.292920020453448E+00 2.427392562932561E+00 + -1.469069171346103E+00 4.220521919494666E+00 3.111178970470243E+00 + -1.892579196481946E+00 5.437233412101746E+00 4.008083969694094E+00 + -2.448086376178003E+00 7.033162503851445E+00 5.184531130335269E+00 + -3.176730819942671E+00 9.126501542209272E+00 6.727646536067615E+00 + -4.132474948613727E+00 1.187228038173691E+01 8.751711224285936E+00 + -5.386099878174313E+00 1.547384768519296E+01 1.140662468498592E+01 + -7.030447373356976E+00 2.019793065013972E+01 1.488900621401227E+01 + -9.187295583021433E+00 2.639438846401557E+01 1.945675627186407E+01 + -1.201637776495771E+01 3.452212240180767E+01 2.544815624257285E+01 + -1.572721191466100E+01 4.518306143307287E+01 3.330692109493239E+01 + -2.059461738436690E+01 5.916674026634286E+01 4.361506031224713E+01 + -2.697906763214133E+01 7.750877122051835E+01 5.713598072655874E+01 + -1.348999066177579E-01 4.411929231808699E-01 1.927894015646009E-01 + -1.349087977109562E-01 4.412220016843082E-01 1.928021080859019E-01 + -1.349261014827489E-01 4.412785940263689E-01 1.928268374122029E-01 + -1.349597779398029E-01 4.413887335728115E-01 1.928749654218141E-01 + -1.350253187810308E-01 4.416030862440184E-01 1.929686317546914E-01 + -1.351528738222864E-01 4.420202576337471E-01 1.931509243943734E-01 + -1.354011203849621E-01 4.428321531302123E-01 1.935057008168238E-01 + -1.358842557849725E-01 4.444122574072797E-01 1.941961637458056E-01 + -1.368245298907936E-01 4.474874432375706E-01 1.955399369678404E-01 + -1.386544835519387E-01 4.534723443786352E-01 1.981551772602059E-01 + -1.422159241799499E-01 4.651201093089675E-01 2.032449362125799E-01 + -1.491471703727703E-01 4.877888927482447E-01 2.131505828443238E-01 + -1.626367041888409E-01 5.319066909430432E-01 2.324288701092266E-01 + -1.789654158846399E-01 5.853100788731791E-01 2.557647095110576E-01 + -2.003833659775423E-01 6.553579258061264E-01 2.863737283360386E-01 + -2.284767388490885E-01 7.472378804329889E-01 3.265227890702557E-01 + -2.653260916525234E-01 8.677544477775250E-01 3.791852767852909E-01 + -3.136604375582556E-01 1.025832921624134E+00 4.482613040103229E-01 + -3.770593527738627E-01 1.233180379689667E+00 5.388665477848416E-01 + -4.602180751108716E-01 1.505152693946418E+00 6.577111097729841E-01 + -5.692952269391950E-01 1.861891765706803E+00 8.135964573065410E-01 + -7.123689144203710E-01 2.329817207560125E+00 1.018067248137360E+00 + -9.000349811112121E-01 2.943582944105780E+00 1.286266312157669E+00 + -1.146191721789647E+00 3.748643634683738E+00 1.638056108876780E+00 + -1.469069171346103E+00 4.804620983894479E+00 2.099489714276323E+00 + -1.892579196481946E+00 6.189719244307135E+00 2.704740276338612E+00 + -2.448086376178003E+00 8.006516917507314E+00 3.498631832111891E+00 + -3.176730819942671E+00 1.038956357902157E+01 4.539958915197285E+00 + -4.132474948613727E+00 1.351534443768548E+01 5.905840799292811E+00 + -5.386099878174313E+00 1.761535059122895E+01 7.697432847175188E+00 + -7.030447373356976E+00 2.299322294350885E+01 1.004741793989122E+01 + -9.187295583021433E+00 3.004723943868427E+01 1.312983279126039E+01 + -1.201637776495771E+01 3.929981098644745E+01 1.717295687123490E+01 + -1.572721191466100E+01 5.143617050659168E+01 2.247621847432787E+01 + -2.059461738436690E+01 6.735512035116787E+01 2.943236997364505E+01 + -2.697906763214133E+01 8.823559638959708E+01 3.855657452980576E+01 + -1.173778669539042E-01 4.769054440472977E-01 9.381133947129798E-02 + -1.173856031902046E-01 4.769368763207223E-01 9.381752246566176E-02 + -1.174006593890872E-01 4.769980495503960E-01 9.382955575797811E-02 + -1.174299616383969E-01 4.771171043822928E-01 9.385297485161644E-02 + -1.174869894328155E-01 4.773488079080603E-01 9.389855289729358E-02 + -1.175979764530232E-01 4.777997473869350E-01 9.398725651152519E-02 + -1.178139784706383E-01 4.786773620582451E-01 9.415989074936605E-02 + -1.182343598046582E-01 4.803853684479735E-01 9.449587007031099E-02 + -1.190525024680627E-01 4.837094763084290E-01 9.514975023634546E-02 + -1.206447649295804E-01 4.901788274387247E-01 9.642232638874310E-02 + -1.237436129175441E-01 5.027694249175092E-01 9.889900353506559E-02 + -1.297745651534927E-01 5.272731412377470E-01 1.037190920425858E-01 + -1.415119543424968E-01 5.749620705768379E-01 1.130999082926274E-01 + -1.557197428948564E-01 6.326882150735179E-01 1.244551297633435E-01 + -1.743557327888562E-01 7.084061103318227E-01 1.393494809702560E-01 + -1.988000802007964E-01 8.077233211439415E-01 1.588860173951036E-01 + -2.308631003995790E-01 9.379951456558224E-01 1.845115884708185E-01 + -2.729193372441506E-01 1.108869338787951E+00 2.181239892913310E-01 + -3.280834186862928E-01 1.333000611900604E+00 2.622125087463951E-01 + -4.004407218991713E-01 1.626987823581272E+00 3.200422828859839E-01 + -4.953499307787151E-01 2.012603268634911E+00 3.958961064747850E-01 + -6.198398928166818E-01 2.518405104755030E+00 4.953916109730821E-01 + -7.831301660280374E-01 3.181852331011478E+00 6.258972987157913E-01 + -9.973138069332166E-01 4.052078950597820E+00 7.970782442175959E-01 + -1.278252965948651E+00 5.193532768574818E+00 1.021611876503894E+00 + -1.646753616767454E+00 6.690748309043576E+00 1.316126852337735E+00 + -2.130106418597481E+00 8.654607327531108E+00 1.702434552022607E+00 + -2.764107825427604E+00 1.123055056365817E+01 2.209144400692616E+00 + -3.595711122937661E+00 1.460934888537225E+01 2.873782643597505E+00 + -4.686503725255815E+00 1.904123152110236E+01 3.745571489011050E+00 + -6.117268255452522E+00 2.485441769757758E+01 4.889074438323344E+00 + -7.993965197216268E+00 3.247942411131251E+01 6.388977771527419E+00 + -1.045558018479302E+01 4.248094841218264E+01 8.356362298440706E+00 + -1.368441709085608E+01 5.559968994670913E+01 1.093692985306402E+01 + -1.791959920445612E+01 7.280720494867109E+01 1.432179377411083E+01 + -2.347477837800819E+01 9.537785867818181E+01 1.876163250008321E+01 + -7.787945231879143E-02 4.939146935782766E-01 1.225553316444515E-16 + -7.788458526132754E-02 4.939472469112083E-01 1.225634091213224E-16 + -7.789457495149153E-02 4.940106019375906E-01 1.225791294397713E-16 + -7.791401680358141E-02 4.941339029641343E-01 1.226097241930691E-16 + -7.795185437476525E-02 4.943738703986832E-01 1.226692674480226E-16 + -7.802549354177840E-02 4.948408930282438E-01 1.227851500366466E-16 + -7.816880947746688E-02 4.957498085939402E-01 1.230106797688837E-16 + -7.844772976208382E-02 4.975187325245480E-01 1.234496038620280E-16 + -7.899056210516603E-02 5.009613975974910E-01 1.243038342893486E-16 + -8.004701790615162E-02 5.076614837907897E-01 1.259663304574971E-16 + -8.210308341820069E-02 5.207011359342543E-01 1.292018667024161E-16 + -8.610458105387435E-02 5.460787987160592E-01 1.354988404896360E-16 + -9.389226254284809E-02 5.954685954055202E-01 1.477539586139354E-16 + -1.033190379634092E-01 6.552535933048215E-01 1.625884438806721E-16 + -1.156838962116274E-01 7.336720334834759E-01 1.820464556954440E-16 + -1.319025619459415E-01 8.365314794336289E-01 2.075690280648925E-16 + -1.531761675887171E-01 9.714495624389623E-01 2.410463281382336E-16 + -1.810802075669770E-01 1.148418133032424E+00 2.849576394268277E-16 + -2.176812172962677E-01 1.380543243916598E+00 3.425549741837992E-16 + -2.656898179952113E-01 1.685015766479768E+00 4.181039130279081E-16 + -3.286614616224667E-01 2.084384523452543E+00 5.171995080680949E-16 + -4.112597428343021E-01 2.608226224185617E+00 6.471806448863315E-16 + -5.196017784898002E-01 3.295335875694045E+00 8.176735504661356E-16 + -6.617112330421707E-01 4.196599888343941E+00 1.041304698527966E-15 + -8.481125402632008E-01 5.378764654498192E+00 1.334635909075276E-15 + -1.092610328557112E+00 6.929379695952656E+00 1.719390894357384E-15 + -1.413311773047144E+00 8.963281462968354E+00 2.224064087582280E-15 + -1.833967588446002E+00 1.163109796627618E+01 2.886030902055306E-15 + -2.385730974826317E+00 1.513040408358421E+01 3.754315703677990E-15 + -3.109464781433044E+00 1.972035368748184E+01 4.893222489102149E-15 + -4.058767753965603E+00 2.574087223032003E+01 6.387097152646996E-15 + -5.303943985105573E+00 3.363783116291458E+01 8.346574029018477E-15 + -6.937209540420977E+00 4.399606857043311E+01 1.091676932232617E-14 + -9.079521855311175E+00 5.758270148904505E+01 1.428802821565573E-14 + -1.188953767888243E+01 7.540393755485673E+01 1.871002157757921E-14 + -1.557536297794749E+01 9.877959337892206E+01 2.451023624859884E-14 + 2.330079559547398E-17 2.500084666696297E-01 4.330273665941893E-01 + 2.330233132333641E-17 2.500249444317961E-01 4.330559069154564E-01 + 2.330532014415684E-17 2.500570133157706E-01 4.331114518518422E-01 + 2.331113696243247E-17 2.501194255116129E-01 4.332195529460530E-01 + 2.332245760588506E-17 2.502408916091844E-01 4.334299383984441E-01 + 2.334448974821922E-17 2.504772879201964E-01 4.338393888198386E-01 + 2.338736852077892E-17 2.509373604587670E-01 4.346362578318102E-01 + 2.347081883207140E-17 2.518327498150596E-01 4.361871176894653E-01 + 2.363322913533080E-17 2.535753491491836E-01 4.392053882734037E-01 + 2.394931071964464E-17 2.569667815109249E-01 4.450795214343731E-01 + 2.456446607578470E-17 2.635671590268781E-01 4.565117106411392E-01 + 2.576167632455409E-17 2.764127589700037E-01 4.787609423963367E-01 + 2.809167697471852E-17 3.014127589700037E-01 5.220622125855586E-01 + 3.091207902762220E-17 3.316745751277013E-01 5.744772156999997E-01 + 3.461152767589196E-17 3.713682190759196E-01 6.432286237558628E-01 + 3.946399907694451E-17 4.234333483357560E-01 7.334080729365403E-01 + 4.582886069194371E-17 4.917258358780880E-01 8.516941311351243E-01 + 5.417748555334999E-17 5.813033308545070E-01 1.006846903649028E+00 + 6.512816151341166E-17 6.987998212448516E-01 1.210356794716133E+00 + 7.949188080527034E-17 8.529169380238214E-01 1.477295471293335E+00 + 9.833240102957178E-17 1.055068386167965E+00 1.827432050302617E+00 + 1.230450256019209E-16 1.320225228190789E+00 2.286697172660664E+00 + 1.554599380344419E-16 1.668024620759987E+00 2.889103391432108E+00 + 1.979777428484097E-16 2.124224115929304E+00 3.679264095452639E+00 + 2.537472510944041E-16 2.722609230564988E+00 4.715697516494572E+00 + 3.268986770348673E-16 3.507495555975465E+00 6.075160510271558E+00 + 4.228495162196007E-16 4.537010710595294E+00 7.858333065235232E+00 + 5.487057578702782E-16 5.887399192695027E+00 1.019727452618779E+01 + 7.137881448198859E-16 7.658668944679407E+00 1.326520373053466E+01 + 9.303224551055869E-16 9.981997805879725E+00 1.728932736082475E+01 + 1.214344926535061E-15 1.302944836570500E+01 2.256766656399635E+01 + 1.586889878743648E-15 1.702671068602127E+01 2.949112799396479E+01 + 2.075547486423690E-15 2.226981660152345E+01 3.857245382907951E+01 + 2.716507070301999E-15 2.914706343655197E+01 5.048419476354118E+01 + 3.557237229228436E-15 3.816777077913476E+01 6.610851820110420E+01 + 4.660001300328857E-15 4.999999999999997E+01 8.660254037844388E+01 + 1.254993754706872E-17 3.045137704467683E-01 3.965958865574511E-01 + 1.255076469860026E-17 3.045338405890025E-01 3.966220257229838E-01 + 1.255237449404617E-17 3.045729009332507E-01 3.966728975500070E-01 + 1.255550746458285E-17 3.046489198510536E-01 3.967719038775598E-01 + 1.256160482583991E-17 3.047968672379789E-01 3.969645891705613E-01 + 1.257347145971466E-17 3.050848012145553E-01 3.973395916886502E-01 + 1.259656620407711E-17 3.056451759301216E-01 3.980694184771017E-01 + 1.264151300388542E-17 3.067357725508467E-01 3.994898013157445E-01 + 1.272898809264599E-17 3.088582826429282E-01 4.022541386081474E-01 + 1.289923138441101E-17 3.129890941688185E-01 4.076340689045955E-01 + 1.323055746594627E-17 3.210284452777188E-01 4.181044445979611E-01 + 1.387538153606021E-17 3.366745636849846E-01 4.384818028757442E-01 + 1.513033278973642E-17 3.671249094775896E-01 4.781400484384362E-01 + 1.664941695476128E-17 4.039842201301550E-01 5.261452698926367E-01 + 1.864196048419302E-17 4.523316274898267E-01 5.891124810516969E-01 + 2.125552845369083E-17 5.157476750777746E-01 6.717049483092925E-01 + 2.468367816800749E-17 5.989288695058221E-01 7.800393579509282E-01 + 2.918029375288073E-17 7.080354973965142E-01 9.221388096575535E-01 + 3.507838846959743E-17 8.511478478686539E-01 1.108526996403744E+00 + 4.281476722618664E-17 1.038864627807811E+00 1.353007574909123E+00 + 5.296237575742479E-17 1.285087887746413E+00 1.673686445763293E+00 + 6.627273221011948E-17 1.608052588901220E+00 2.094312651906057E+00 + 8.373158355942098E-17 2.031677059708822E+00 2.646037200588631E+00 + 1.066319086949885E-16 2.587334354841526E+00 3.369720064788668E+00 + 1.366696746867178E-16 3.316175701153695E+00 4.318956217479931E+00 + 1.760694378094054E-16 4.272178101819141E+00 5.564044802757038E+00 + 2.277490911681577E-16 5.526141800095185E+00 7.197195395254079E+00 + 2.955359599105965E-16 7.170933649466704E+00 9.339356916379765E+00 + 3.844502477446582E-16 9.328364707062953E+00 1.214917494765837E+01 + 5.010768264272763E-16 1.215821139560251E+01 1.583474080767324E+01 + 6.540529024500358E-16 1.587004832890442E+01 2.066900251334180E+01 + 8.547076768561783E-16 2.073876912399967E+01 2.700997894044575E+01 + 1.117901370528842E-15 2.712494465017146E+01 3.532727421677329E+01 + 1.463125752027233E-15 3.550152641928015E+01 4.623685596792560E+01 + 1.915947671572050E-15 4.648887273430165E+01 6.054667304557867E+01 + 2.509902507352412E-15 6.090069158521013E+01 7.931649112538398E+01 + 5.863091402215400E-18 3.744815664524739E-01 3.313313900210772E-01 + 5.863477831631061E-18 3.745062480893396E-01 3.313532276808803E-01 + 5.864229897352730E-18 3.745542832861676E-01 3.313957279531520E-01 + 5.865693561418635E-18 3.746477689875764E-01 3.314784416303252E-01 + 5.868542132276332E-18 3.748297100837937E-01 3.316394183023754E-01 + 5.874085997238476E-18 3.751838023352705E-01 3.319527097655278E-01 + 5.884875421217679E-18 3.758729337363817E-01 3.325624350110195E-01 + 5.905873708621486E-18 3.772141155499256E-01 3.337490772235111E-01 + 5.946740401295978E-18 3.798243124645930E-01 3.360585104491789E-01 + 6.026274819414693E-18 3.849042560371472E-01 3.405531102263261E-01 + 6.181064043878432E-18 3.947908000581465E-01 3.493004630106399E-01 + 6.482313547889679E-18 4.140319099805563E-01 3.663244884026868E-01 + 7.068602832440500E-18 4.514787984240712E-01 3.994565053334284E-01 + 7.778289974212699E-18 4.968072325742896E-01 4.395619055451015E-01 + 8.709168298677337E-18 5.562633708481109E-01 4.921671248785095E-01 + 9.930177394029155E-18 6.342504543357220E-01 5.611680346440355E-01 + 1.153174354048474E-17 7.365441008368357E-01 6.516747487838359E-01 + 1.363247655814792E-17 8.707200392940949E-01 7.703900719907214E-01 + 1.638795388967543E-17 1.046715158020165E+00 9.261059003473463E-01 + 2.000224245501053E-17 1.277563417190495E+00 1.130354337244863E+00 + 2.474301157114422E-17 1.580361126284445E+00 1.398261745344291E+00 + 3.096135617927689E-17 1.977533073614981E+00 1.749668984512379E+00 + 3.911779846074108E-17 2.498493275785421E+00 2.210600799036551E+00 + 4.981639348615169E-17 3.181823339929152E+00 2.815193174946376E+00 + 6.384946471597634E-17 4.078129765290046E+00 3.608221404914907E+00 + 8.225628240312159E-17 5.253791792029505E+00 4.648416085803207E+00 + 1.064000305405731E-16 6.795877357867775E+00 6.012812627135979E+00 + 1.380687624220100E-16 8.818591231651622E+00 7.802456389216254E+00 + 1.796078214475073E-16 1.147173286388888E+01 1.014988596568254E+01 + 2.340935340798836E-16 1.495179033120755E+01 1.322894881228132E+01 + 3.055610384168420E-16 1.951649197724372E+01 1.726767615403049E+01 + 3.993031210544492E-16 2.550389342477768E+01 2.256517066896386E+01 + 5.222621936954072E-16 3.335741351739142E+01 2.951375762744745E+01 + 6.835444387589381E-16 4.365867331858460E+01 3.862803997044963E+01 + 8.950942009199461E-16 5.717057018015633E+01 5.058300910651836E+01 + 1.172578569101642E-15 7.489377688702983E+01 6.626403386148326E+01 + 4.210175696986205E-18 4.330273665941892E-01 2.500084666696300E-01 + 4.210453184683873E-18 4.330559069154563E-01 2.500249444317963E-01 + 4.210993228938123E-18 4.331114518518421E-01 2.500570133157708E-01 + 4.212044258583763E-18 4.332195529460529E-01 2.501194255116131E-01 + 4.214089763757311E-18 4.334299383984440E-01 2.502408916091847E-01 + 4.218070708949838E-18 4.338393888198385E-01 2.504772879201966E-01 + 4.225818391444529E-18 4.346362578318101E-01 2.509373604587673E-01 + 4.240896866815463E-18 4.361871176894652E-01 2.518327498150599E-01 + 4.270242470441792E-18 4.392053882734036E-01 2.535753491491838E-01 + 4.327354640671789E-18 4.450795214343730E-01 2.569667815109252E-01 + 4.438505872383157E-18 4.565117106411391E-01 2.635671590268784E-01 + 4.654827477063934E-18 4.787609423963365E-01 2.764127589700040E-01 + 5.075830788778741E-18 5.220622125855584E-01 3.014127589700040E-01 + 5.585443781614555E-18 5.744772156999994E-01 3.316745751277016E-01 + 6.253890003863688E-18 6.432286237558624E-01 3.713682190759199E-01 + 7.130673677593712E-18 7.334080729365400E-01 4.234333483357563E-01 + 8.280728214416273E-18 8.516941311351238E-01 4.917258358780885E-01 + 9.789225096023828E-18 1.006846903649027E+00 5.813033308545075E-01 + 1.176788155879191E-17 1.210356794716133E+00 6.987998212448523E-01 + 1.436323422102727E-17 1.477295471293334E+00 8.529169380238222E-01 + 1.776749138649241E-17 1.827432050302617E+00 1.055068386167966E+00 + 2.223276773111037E-17 2.286697172660663E+00 1.320225228190790E+00 + 2.808975557447159E-17 2.889103391432107E+00 1.668024620759988E+00 + 3.577221550522783E-17 3.679264095452638E+00 2.124224115929306E+00 + 4.584910010292653E-17 4.715697516494570E+00 2.722609230564991E+00 + 5.906668979562559E-17 6.075160510271555E+00 3.507495555975469E+00 + 7.640386137784678E-17 7.858333065235229E+00 4.537010710595299E+00 + 9.914458230046755E-17 1.019727452618778E+01 5.887399192695034E+00 + 1.289729995614951E-16 1.326520373053465E+01 7.658668944679415E+00 + 1.680981653522121E-16 1.728932736082475E+01 9.981997805879736E+00 + 2.194176364711555E-16 2.256766656399634E+01 1.302944836570502E+01 + 2.867320634569940E-16 2.949112799396478E+01 1.702671068602129E+01 + 3.750266616209106E-16 3.857245382907950E+01 2.226981660152348E+01 + 4.908404093419980E-16 5.048419476354117E+01 2.914706343655201E+01 + 6.427503159514952E-16 6.610851820110418E+01 3.816777077913480E+01 + 8.420066234296140E-16 8.660254037844385E+01 5.000000000000003E+01 + -5.278944554881250E-18 4.741821840556996E-01 1.586448547862944E-01 + -5.279292483869509E-18 4.742134368422811E-01 1.586553108809255E-01 + -5.279969620378898E-18 4.742742607561501E-01 1.586756604455185E-01 + -5.281287457833720E-18 4.743926357525270E-01 1.587152645992425E-01 + -5.283852222151184E-18 4.746230161880478E-01 1.587923418745340E-01 + -5.288843745180119E-18 4.750713806796650E-01 1.589423490280200E-01 + -5.298558205872954E-18 4.759439839321451E-01 1.592342917051820E-01 + -5.317464408650259E-18 4.776422371401378E-01 1.598024681205589E-01 + -5.354259503587462E-18 4.809473634392436E-01 1.609082483447067E-01 + -5.425869811981220E-18 4.873797728123742E-01 1.630603086397566E-01 + -5.565237199862704E-18 4.998984745499541E-01 1.672486305254182E-01 + -5.836472853507802E-18 5.242622679753429E-01 1.753999078192105E-01 + -6.364349431569560E-18 5.716788805377387E-01 1.912638560386055E-01 + -7.003329589939937E-18 6.290753930250986E-01 2.104667314206282E-01 + -7.841463387467429E-18 7.043609184763929E-01 2.356546479099738E-01 + -8.940821878268450E-18 8.031110009613817E-01 2.686929884945399E-01 + -1.038282206351531E-17 9.326389378700619E-01 3.120285279403495E-01 + -1.227425652429516E-17 1.102537392814334E+00 3.688706376175107E-01 + -1.475520233555602E-17 1.325388815305544E+00 4.434289671980337E-01 + -1.800939498459709E-17 1.617697279927221E+00 5.412252056101952E-01 + -2.227783557245947E-17 2.001110755750346E+00 6.695020098435719E-01 + -2.787663902912630E-17 2.504024325608932E+00 8.377593863183078E-01 + -3.522044515718174E-17 3.163683087484542E+00 1.058458248496500E+00 + -4.485312629412098E-17 4.028940476028707E+00 1.347943255259708E+00 + -5.748806576120009E-17 5.163876281780109E+00 1.727653274213199E+00 + -7.406099006620608E-17 6.652542313680554E+00 2.225709115190121E+00 + -9.579926754154357E-17 8.605187162229495E+00 2.878996119348979E+00 + -1.243128055809363E-16 1.116642106080729E+01 3.735895837592885E+00 + -1.617132782010089E-16 1.452592552374066E+01 4.859869102715322E+00 + -2.107705137595107E-16 1.893250090240338E+01 6.334155852743638E+00 + -2.751176246928289E-16 2.471249220233504E+01 8.267939768033024E+00 + -3.595200709033791E-16 3.229395775244303E+01 1.080443426678647E+01 + -4.702285832670051E-16 4.223837062520195E+01 1.413148869687969E+01 + -6.154420842974417E-16 5.528220057210237E+01 1.849550020419533E+01 + -8.059148892454086E-16 7.239145597618266E+01 2.421966157159733E+01 + -1.055753156123515E-15 9.483322512479165E+01 3.172789643879008E+01 + -2.022985436368063E-17 4.957189980185481E-01 6.541871773035909E-02 + -2.023118768944078E-17 4.957516702710502E-01 6.542302940062510E-02 + -2.023378259696952E-17 4.958152567377134E-01 6.543142073751300E-02 + -2.023883278446607E-17 4.959390081914110E-01 6.544775188772214E-02 + -2.024866141745891E-17 4.961798522435485E-01 6.547953543672227E-02 + -2.026778982141893E-17 4.966485809389848E-01 6.554139231600557E-02 + -2.030501736245382E-17 4.975608168359294E-01 6.566177766109878E-02 + -2.037746929385390E-17 4.993362027676561E-01 6.589607062060672E-02 + -2.051847464144542E-17 5.027914441335465E-01 6.635204963393673E-02 + -2.079289807868431E-17 5.095160062038052E-01 6.723947220537926E-02 + -2.132697869471996E-17 5.226032930958772E-01 6.896656664894676E-02 + -2.236640195716062E-17 5.480736622300872E-01 7.232782352136664E-02 + -2.438931888405145E-17 5.976438832532025E-01 7.886947375043726E-02 + -2.683800448980604E-17 6.576472798731205E-01 8.678796241444107E-02 + -3.004988225911919E-17 7.363521880221615E-01 9.717443981550147E-02 + -3.426281951033847E-17 8.395873866224477E-01 1.107981144054695E-01 + -3.978882067149306E-17 9.749983346901178E-01 1.286679370764734E-01 + -4.703713390574410E-17 1.152613383677241E+00 1.521073226977560E-01 + -5.654455947617986E-17 1.385586463600830E+00 1.828521604288356E-01 + -6.901520444641141E-17 1.691171245287983E+00 2.231793713200697E-01 + -8.537262789626270E-17 2.091998923873904E+00 2.760755340024335E-01 + -1.068282384566183E-16 2.617754254468411E+00 3.454580666567635E-01 + -1.349710095922414E-16 3.307373964922825E+00 4.364653456995999E-01 + -1.718851568249240E-16 4.211930357169893E+00 5.558372469826507E-01 + -2.203044919127654E-16 5.398413652747216E+00 7.124142918718095E-01 + -2.838148852470853E-16 6.954693197891942E+00 9.177923642884431E-01 + -3.671198305579285E-16 8.996024948338007E+00 1.187181486170462E+00 + -4.763887792906472E-16 1.167358716932813E+01 1.540532251100944E+00 + -6.197140418258041E-16 1.518567649322510E+01 2.004013338253523E+00 + -8.077100930280488E-16 1.979239349958840E+01 2.611949529336621E+00 + -1.054299665881388E-15 2.583490541189062E+01 3.409363755447117E+00 + -1.377744850241016E-15 3.376071248010854E+01 4.455311434381207E+00 + -1.801999558479048E-15 4.415678924327040E+01 5.827254034908662E+00 + -2.358483519798472E-15 5.779305506898577E+01 7.626795768258243E+00 + -3.088409182832036E-15 7.567939333925247E+01 9.987208258417668E+00 + -4.045833853781658E-15 9.914044204623056E+01 1.308330045814123E+01 + -3.359204301920994E-17 5.000169333392598E-01 1.122275913271670E-16 + -3.359425703101092E-17 5.000498888635925E-01 1.122349881148960E-16 + -3.359856592240328E-17 5.001140266315415E-01 1.122493836817860E-16 + -3.360695185107036E-17 5.002388510232261E-01 1.122774002145943E-16 + -3.362327247584501E-17 5.004817832183692E-01 1.123319257582287E-16 + -3.365503554033189E-17 5.009545758403930E-01 1.124380429187269E-16 + -3.371685255282549E-17 5.018747209175344E-01 1.126445672557919E-16 + -3.383716030950346E-17 5.036654996301195E-01 1.130465032065830E-16 + -3.407130226708161E-17 5.071506982983675E-01 1.138287476182313E-16 + -3.452698740170908E-17 5.139335630218502E-01 1.153511452001107E-16 + -3.541383802885969E-17 5.271343180537565E-01 1.183140227391513E-16 + -3.713981935919299E-17 5.528255179400078E-01 1.240803504158631E-16 + -4.049890989987452E-17 6.028255179400077E-01 1.353027294838757E-16 + -4.456499711584115E-17 6.633491502554029E-01 1.488871123722033E-16 + -4.989837887230679E-17 7.427364381518395E-01 1.667053971313085E-16 + -5.689403820014990E-17 8.468666966715123E-01 1.900771818024668E-16 + -6.607006415627227E-17 9.834516717561765E-01 2.207333491103700E-16 + -7.810602079760175E-17 1.162606661709014E+00 2.609442532939046E-16 + -9.389327477494117E-17 1.397599642489704E+00 3.136878594667665E-16 + -1.146010087401151E-16 1.705833876047643E+00 3.828702876812770E-16 + -1.417628094299578E-16 2.110136772335931E+00 4.736150948901277E-16 + -1.773902430233921E-16 2.640450456381580E+00 5.926427186364183E-16 + -2.241218290087512E-16 3.336049241519975E+00 7.487681835578605E-16 + -2.854184453642291E-16 4.248448231858611E+00 9.535539301749031E-16 + -3.658196364945236E-16 5.445218461129980E+00 1.222166113578816E-15 + -4.712798057423885E-16 7.014991111950934E+00 1.574497788341050E-15 + -6.096091904372588E-16 9.074021421190594E+00 2.036642161197342E-15 + -7.910522774959193E-16 1.177479838539006E+01 2.642825018605396E-15 + -1.029046496251362E-15 1.531733788935882E+01 3.437939442144330E-15 + -1.341217376273378E-15 1.996399561175946E+01 4.480870529346089E-15 + -1.750683870221527E-15 2.605889673141002E+01 5.848856344281546E-15 + -2.287770512173412E-15 3.405342137204256E+01 7.643208063996454E-15 + -2.992253211555603E-15 4.453963320304693E+01 9.996812947096641E-15 + -3.916305003134657E-15 5.829412687310398E+01 1.308397578417584E-14 + -5.128359911323709E-15 7.633554155826955E+01 1.713332767457858E-14 + -6.718181081363070E-15 1.000000000000000E+02 2.244475813602517E-14 + -4.786217425729569E-01 7.235012294810540E-02 -1.253140888799734E-01 + -4.786532879655863E-01 7.235489145908636E-02 -1.253223481832689E-01 + -4.787146813469174E-01 7.236417189558225E-02 -1.253384223707962E-01 + -4.788341646361426E-01 7.238223340406955E-02 -1.253697058211576E-01 + -4.790667020220067E-01 7.241738456198990E-02 -1.254305894126205E-01 + -4.795192643524810E-01 7.248579545380497E-02 -1.255490805530353E-01 + -4.804000374041059E-01 7.261893616369389E-02 -1.257796870271187E-01 + -4.821141906073905E-01 7.287805350830684E-02 -1.262284914331107E-01 + -4.854502613453749E-01 7.338234553390356E-02 -1.271019508432960E-01 + -4.919428945286341E-01 7.436379448885602E-02 -1.288018702983091E-01 + -5.045788033456718E-01 7.627388229965867E-02 -1.321102394335373E-01 + -5.291707042163662E-01 7.999127934467727E-02 -1.385489599874159E-01 + -5.770312575956869E-01 8.722604662195027E-02 -1.510799444925894E-01 + -6.349651482985138E-01 9.598353451349274E-02 -1.662483584674102E-01 + -7.109555388986518E-01 1.074705055675846E-01 -1.861443759581703E-01 + -8.106301748243169E-01 1.225376693058267E-01 -2.122414690787650E-01 + -9.413708246413719E-01 1.423008794720202E-01 -2.464723532072740E-01 + -1.112859963837561E+00 1.682237726494395E-01 -2.913721212697448E-01 + -1.337797845845958E+00 2.022261632042590E-01 -3.502659892894922E-01 + -1.632843065616633E+00 2.468262221378651E-01 -4.275155573830641E-01 + -2.019846272601024E+00 3.053269694213291E-01 -5.288418239587708E-01 + -2.527468400262043E+00 3.820608911818002E-01 -6.617488751119217E-01 + -3.193303255996178E+00 4.827107977584025E-01 -8.360796270796576E-01 + -4.066661667602989E+00 6.147306849407802E-01 -1.064744779289047E+00 + -5.212223376419471E+00 7.878977668037203E-01 -1.364678963274098E+00 + -6.714827131379749E+00 1.015036562942071E+00 -1.758094898555751E+00 + -8.685753731879826E+00 1.312968665026079E+00 -2.274128436571049E+00 + -1.127096733309399E+01 1.703758521102139E+00 -2.950996322377315E+00 + -1.466192535365497E+01 2.216347498737342E+00 -3.838826475041271E+00 + -1.910975755282273E+01 2.888697243511583E+00 -5.003370393446223E+00 + -2.494386436039706E+01 3.770601067084830E+00 -6.530872623264346E+00 + -3.259631182650282E+01 4.927371572432850E+00 -8.534457911224241E+00 + -4.263382984819578E+01 6.444677616782919E+00 -1.116250907066991E+01 + -5.579978341822165E+01 8.434888831174668E+00 -1.460965601178977E+01 + -7.306922522977817E+01 1.104539756317364E+01 -1.913118976921419E+01 + -9.572110675864127E+01 1.446953455454600E+01 -2.506196901034716E+01 + -4.366624927850382E-01 2.109670608544510E-01 -1.218018893744613E-01 + -4.366912726931706E-01 2.109809654437635E-01 -1.218099171928439E-01 + -4.367472839115252E-01 2.110080264400854E-01 -1.218255408663548E-01 + -4.368562924798338E-01 2.110606923265400E-01 -1.218559475300765E-01 + -4.370684440507826E-01 2.111631902376687E-01 -1.219151247266581E-01 + -4.374813316774566E-01 2.113626708216480E-01 -1.220302948955166E-01 + -4.382848901498170E-01 2.117508982786419E-01 -1.222544381223189E-01 + -4.398487689797630E-01 2.125064633334327E-01 -1.226906638100926E-01 + -4.428923769795259E-01 2.139769377724159E-01 -1.235396426232760E-01 + -4.488158216088903E-01 2.168387629216766E-01 -1.251919181435753E-01 + -4.603439803861967E-01 2.224084232760616E-01 -1.284075630484743E-01 + -4.827799873231008E-01 2.332480500335602E-01 -1.346658244748311E-01 + -5.264447578208595E-01 2.543440416678386E-01 -1.468456009237038E-01 + -5.792997681157088E-01 2.798801624878729E-01 -1.615888871532095E-01 + -6.486283222444570E-01 3.133752337144984E-01 -1.809272755424274E-01 + -7.395647990471329E-01 3.573098549666237E-01 -2.062929409490861E-01 + -8.588438308574121E-01 4.149377648017076E-01 -2.395644302052073E-01 + -1.015299061253791E+00 4.905268081873935E-01 -2.832057847517193E-01 + -1.220517352741252E+00 5.896750073206647E-01 -3.404490242109801E-01 + -1.489696894098452E+00 7.197251435713947E-01 -4.155335053834865E-01 + -1.842772757658596E+00 8.903085539276393E-01 -5.140198832719486E-01 + -2.305893263772081E+00 1.114058414771046E+00 -6.432019256610308E-01 + -2.913356490003837E+00 1.407545337812922E+00 -8.126466796828926E-01 + -3.710150340314304E+00 1.792504567159080E+00 -1.034902994372928E+00 + -4.755284288307993E+00 2.297445662056324E+00 -1.326430871436756E+00 + -6.126159538943099E+00 2.959763876245081E+00 -1.708820470687826E+00 + -7.924301256960678E+00 3.828509599813990E+00 -2.210391048047672E+00 + -1.028287738310875E+01 4.968020964670064E+00 -2.868288241291963E+00 + -1.337656087150955E+01 6.462688639466577E+00 -3.731235025684762E+00 + -1.743446573211479E+01 8.423205688248954E+00 -4.863140071550117E+00 + -2.275711490403628E+01 1.099476534888699E+01 -6.347830733856670E+00 + -2.973869657747422E+01 1.436781384766332E+01 -8.295261192614845E+00 + -3.889625723730799E+01 1.879215458890610E+01 -1.084965551055799E+01 + -5.090799342562633E+01 2.459544825685127E+01 -1.420018867193258E+01 + -6.666347805927931E+01 3.220747892222727E+01 -1.859499662566710E+01 + -8.732954099551750E+01 4.219198326855674E+01 -2.435955289774540E+01 + -4.162833480437567E-01 1.384964871102138E-01 -2.398829523446981E-01 + -4.163107847865768E-01 1.385056152497759E-01 -2.398987627461983E-01 + -4.163641819477480E-01 1.385233803592347E-01 -2.399295328183830E-01 + -4.164681030596610E-01 1.385579546678256E-01 -2.399894172774991E-01 + -4.166703534651952E-01 1.386252429002633E-01 -2.401059639148327E-01 + -4.170639715259118E-01 1.387561986997892E-01 -2.403327860131573E-01 + -4.178300277289294E-01 1.390110637899868E-01 -2.407742252984551E-01 + -4.193209199535226E-01 1.395070801133310E-01 -2.416333507718708E-01 + -4.222224820276844E-01 1.404724229652420E-01 -2.433053736381042E-01 + -4.278694780555239E-01 1.423511652119746E-01 -2.465594506637712E-01 + -4.388596148588688E-01 1.460075577803460E-01 -2.528925083646076E-01 + -4.602485278952471E-01 1.531235986514617E-01 -2.652178527021167E-01 + -5.018754529339348E-01 1.669727783367669E-01 -2.892053355602161E-01 + -5.522637070431757E-01 1.837368315196320E-01 -3.182415274137251E-01 + -6.183566806889694E-01 2.057258078157681E-01 -3.563275515650606E-01 + -7.050491300021210E-01 2.345681810340927E-01 -4.062840073900628E-01 + -8.187613803873277E-01 2.723999782793018E-01 -4.718106023604091E-01 + -9.679148071288001E-01 3.220229712268199E-01 -5.577601473691424E-01 + -1.163555511040310E+00 3.871121715391648E-01 -6.704979493341516E-01 + -1.420172377733784E+00 4.724879972532896E-01 -8.183732172091611E-01 + -1.756770104868121E+00 5.844732664130059E-01 -1.012337393093066E+00 + -2.198276664323291E+00 7.313614564114933E-01 -1.266755201202276E+00 + -2.777389434042454E+00 9.240309076967264E-01 -1.600468479894716E+00 + -3.536996721566467E+00 1.176750458934543E+00 -2.038191582704620E+00 + -4.533354014014713E+00 1.508236177878605E+00 -2.612341689899233E+00 + -5.840250183284829E+00 1.943037448004551E+00 -3.365439580952850E+00 + -7.554472189986932E+00 2.513355062607543E+00 -4.353258665896718E+00 + -9.802972994685843E+00 3.261425971950174E+00 -5.648955488542406E+00 + -1.275227352225179E+01 4.242651294605282E+00 -7.348487601054216E+00 + -1.662079497606799E+01 5.529699249278032E+00 -9.577720050325023E+00 + -2.169503481658613E+01 7.217886864682201E+00 -1.250174677291359E+01 + -2.835078437529717E+01 9.432239029616605E+00 -1.633711722843011E+01 + -3.708095945187753E+01 1.233674766693166E+01 -2.136787375928243E+01 + -4.853210499084891E+01 1.614651675327193E+01 -2.796658738192903E+01 + -6.355227732467421E+01 2.114369262831118E+01 -3.662194989185446E+01 + -8.325385007737525E+01 2.769835937061043E+01 -4.797496571619874E+01 + -3.561379211431202E-01 3.314868087634007E-01 -1.153222023970710E-01 + -3.561613937720323E-01 3.315086566666691E-01 -1.153298031469532E-01 + -3.562070760076149E-01 3.315511768746881E-01 -1.153445956632932E-01 + -3.562959823953758E-01 3.316339293506473E-01 -1.153733847358268E-01 + -3.564690112693766E-01 3.317949815325726E-01 -1.154294137898630E-01 + -3.568057586279407E-01 3.321084199524175E-01 -1.155384570698270E-01 + -3.574611335424156E-01 3.327184312038044E-01 -1.157506761963116E-01 + -3.587366187618226E-01 3.339056300385956E-01 -1.161636952990086E-01 + -3.612189575102154E-01 3.362161465579634E-01 -1.169675096489139E-01 + -3.660500645806977E-01 3.407128546323190E-01 -1.185318864656140E-01 + -3.754523250665298E-01 3.494643105671623E-01 -1.215764636430648E-01 + -3.937509263920051E-01 3.664963214767164E-01 -1.275017944780020E-01 + -4.293635124263147E-01 3.996438797553565E-01 -1.390336241729401E-01 + -4.724715736851332E-01 4.397680923435475E-01 -1.529925885805438E-01 + -5.290153060899803E-01 4.923979873861539E-01 -1.713022022598384E-01 + -6.031822618961151E-01 5.614312636431682E-01 -1.953184504066132E-01 + -7.004651454200478E-01 6.519804320752787E-01 -2.268199438378874E-01 + -8.280685952834739E-01 7.707514414826964E-01 -2.681396405005768E-01 + -9.954427501936969E-01 9.265403119926817E-01 -3.223376211779521E-01 + -1.214983113419729E+00 1.130884556399357E+00 -3.934277149287507E-01 + -1.502948546979472E+00 1.398917632738137E+00 -4.866747578320855E-01 + -1.880665380944419E+00 1.750489707695408E+00 -6.089844996182781E-01 + -2.376106812566465E+00 2.211637733073932E+00 -7.694150341427139E-01 + -3.025964563387502E+00 2.816513707186380E+00 -9.798476295510860E-01 + -3.878366218452042E+00 3.609913925604664E+00 -1.255866638909674E+00 + -4.996439490085390E+00 4.650596534150724E+00 -1.617913656290449E+00 + -6.462987370786357E+00 6.015633077610885E+00 -2.092801393547798E+00 + -8.386620410727055E+00 7.806116313979098E+00 -2.715699393451001E+00 + -1.090980026802761E+01 1.015464700722289E+01 -3.532738638398164E+00 + -1.421939022624724E+01 1.323515416030626E+01 -4.604427948506024E+00 + -1.856049403613054E+01 1.727577596162957E+01 -6.010135182891976E+00 + -2.425460796748922E+01 2.257575539033741E+01 -7.853965115847186E+00 + -3.172343038760198E+01 2.952760174614507E+01 -1.027246929545093E+01 + -4.152009217126744E+01 3.864615935657314E+01 -1.344475886631496E+01 + -5.437012082438973E+01 5.060673625068593E+01 -1.760576929841665E+01 + -7.122517206861910E+01 6.629511655728029E+01 -2.306365938987615E+01 + -3.561379211431203E-01 2.656153612779347E-01 -2.294148962100035E-01 + -3.561613937720323E-01 2.656328676720547E-01 -2.294300166743122E-01 + -3.562070760076149E-01 2.656669384710006E-01 -2.294594439964609E-01 + -3.562959823953759E-01 2.657332467771457E-01 -2.295167152066008E-01 + -3.564690112693766E-01 2.658622954522537E-01 -2.296281759604649E-01 + -3.568057586279408E-01 2.661134489127370E-01 -2.298450999545907E-01 + -3.574611335424157E-01 2.666022416931351E-01 -2.302672756316438E-01 + -3.587366187618226E-01 2.675535261457146E-01 -2.310889104305678E-01 + -3.612189575102154E-01 2.694049080523429E-01 -2.326879692572513E-01 + -3.660500645806977E-01 2.730080521538744E-01 -2.358000442746957E-01 + -3.754523250665299E-01 2.800204613007508E-01 -2.418567388456447E-01 + -3.937509263920052E-01 2.936679537844107E-01 -2.536442275533836E-01 + -4.293635124263147E-01 3.202285903916630E-01 -2.765849402486421E-01 + -4.724715736851333E-01 3.523795144732661E-01 -3.043540454530610E-01 + -5.290153060899803E-01 3.945510525743174E-01 -3.407780647188195E-01 + -6.031822618961151E-01 4.498663717015225E-01 -3.885545115904756E-01 + -7.004651454200478E-01 5.224220494862098E-01 -4.512216450286021E-01 + -8.280685952834739E-01 6.175914611764749E-01 -5.334205080772016E-01 + -9.954427501936970E-01 7.424227245318928E-01 -6.412386372270455E-01 + -1.214983113419729E+00 9.061606738808397E-01 -7.826608971249635E-01 + -1.502948546979472E+00 1.120931520032295E+00 -9.681608288371734E-01 + -1.880665380944419E+00 1.402640901028088E+00 -1.211476306118280E+00 + -2.376106812566465E+00 1.772151832158229E+00 -1.530626943738895E+00 + -3.025964563387502E+00 2.256829792622396E+00 -1.949248605754947E+00 + -3.878366218452042E+00 2.892569375863491E+00 -2.498343845594008E+00 + -4.996439490085390E+00 3.726452594552658E+00 -3.218577913181165E+00 + -6.462987370786357E+00 4.820235710693313E+00 -4.163290368283090E+00 + -8.386620410727057E+00 6.254922820760111E+00 -5.402445336076538E+00 + -1.090980026802761E+01 8.136764909395106E+00 -7.027812955519556E+00 + -1.421939022624725E+01 1.060512865345442E+01 -9.159765751575501E+00 + -1.856049403613055E+01 1.384281772937788E+01 -1.195619326141375E+01 + -2.425460796748923E+01 1.808961100592917E+01 -1.562419511973207E+01 + -3.172343038760199E+01 2.366002024252869E+01 -2.043541857726590E+01 + -4.152009217126745E+01 3.096658240427141E+01 -2.674617632833651E+01 + -5.437012082438974E+01 4.055041159093994E+01 -3.502383454650453E+01 + -7.122517206861912E+01 5.312127321450443E+01 -4.588142539051698E+01 + -3.190906466620158E-01 1.924825270244123E-01 -3.333895163755314E-01 + -3.191116775489103E-01 1.924952133199756E-01 -3.334114896840068E-01 + -3.191526076864430E-01 1.925199032831136E-01 -3.334542539545988E-01 + -3.192322655804184E-01 1.925679546844637E-01 -3.335374814231121E-01 + -3.193872951125696E-01 1.926614719229789E-01 -3.336994580316040E-01 + -3.196890123014077E-01 1.928434743964509E-01 -3.340146955627607E-01 + -3.202762117902872E-01 1.931976860998315E-01 -3.346282082296514E-01 + -3.214190145622078E-01 1.938870499772465E-01 -3.358222214902368E-01 + -3.236431278324724E-01 1.952286842342434E-01 -3.381460001885304E-01 + -3.279716786205086E-01 1.978397616906040E-01 -3.426685190054446E-01 + -3.363958682403027E-01 2.029214189660938E-01 -3.514702075932450E-01 + -3.527909561635846E-01 2.128112981815237E-01 -3.685999808750889E-01 + -3.846989402123482E-01 2.320588990316547E-01 -4.019378034713217E-01 + -4.233226821022055E-01 2.553575933677910E-01 -4.422923258115269E-01 + -4.739844484196876E-01 2.859178899678919E-01 -4.952243122172761E-01 + -5.404361809764745E-01 3.260030430160441E-01 -5.646538339258502E-01 + -6.275992051025193E-01 3.785817046671381E-01 -6.557227472995183E-01 + -7.419286963359504E-01 4.475477794055671E-01 -7.751754927450697E-01 + -8.918917419823833E-01 5.380088013385513E-01 -9.318585788376008E-01 + -1.088594402135376E+00 6.566641912559367E-01 -1.137375742766408E+00 + -1.346604209448087E+00 8.123014066621138E-01 -1.406947307398448E+00 + -1.685029020875480E+00 1.016446728979576E+00 -1.760537377779817E+00 + -2.128932119686185E+00 1.284218884343173E+00 -2.224332355721794E+00 + -2.711188368282849E+00 1.635448715985184E+00 -2.832680269259620E+00 + -3.474918875995368E+00 2.096147829631885E+00 -3.630634541097653E+00 + -4.476684490046975E+00 2.700434977800960E+00 -4.677290584087393E+00 + -5.790674615309771E+00 3.493062848412294E+00 -6.050162327481353E+00 + -7.514201581168667E+00 4.532732388255091E+00 -7.850922793570830E+00 + -9.774907460863670E+00 5.896440115619324E+00 -1.021293386403997E+01 + -1.274021707059214E+01 7.685180378178247E+00 -1.331112288033611E+01 + -1.662973722468417E+01 1.003142485761925E+01 -1.737493752570592E+01 + -2.173152051889918E+01 1.310893324300789E+01 -2.270533840991830E+01 + -2.842339811561205E+01 1.714562163806975E+01 -2.969708780448911E+01 + -3.720096140807205E+01 2.244044171920798E+01 -3.886798520195648E+01 + -4.871426484789990E+01 2.938552069184314E+01 -5.089721484513883E+01 + -6.381596809752718E+01 3.849520170026194E+01 -6.667564519246547E+01 + -2.448423563676757E-01 4.227530042371373E-01 -1.065319274339710E-01 + -2.448584936376258E-01 4.227808673873407E-01 -1.065389488272333E-01 + -2.448898998584750E-01 4.228350944190222E-01 -1.065526138045277E-01 + -2.449510223848425E-01 4.229406306180351E-01 -1.065792084699286E-01 + -2.450699785383855E-01 4.231460242926789E-01 -1.066309667870150E-01 + -2.453014900171598E-01 4.235457597576499E-01 -1.067316983941716E-01 + -2.457520557357703E-01 4.243237216020572E-01 -1.069277414120192E-01 + -2.466289429979561E-01 4.258377844871148E-01 -1.073092787063372E-01 + -2.483355337100837E-01 4.287844411083725E-01 -1.080518234220515E-01 + -2.516568863905417E-01 4.345191997695174E-01 -1.094969577851837E-01 + -2.581208754123923E-01 4.456801394814340E-01 -1.123094662891277E-01 + -2.707010372002227E-01 4.674014677209324E-01 -1.177831469976903E-01 + -2.951844436653345E-01 5.096753364691234E-01 -1.284359789650519E-01 + -3.248209374797904E-01 5.608466982424193E-01 -1.413309406672574E-01 + -3.636943622344165E-01 6.279668540185956E-01 -1.582449294333633E-01 + -4.146836311275027E-01 7.160066316461127E-01 -1.804305723679231E-01 + -4.815649403680027E-01 8.314861378401935E-01 -2.095309081447869E-01 + -5.692914291533695E-01 9.829576284571887E-01 -2.477010682264255E-01 + -6.843600024514057E-01 1.181638876982570E+00 -2.977678829817476E-01 + -8.352924829846302E-01 1.442243947645122E+00 -3.634392329153717E-01 + -1.033266725881592E+00 1.784072899089213E+00 -4.495786492769062E-01 + -1.292944435491601E+00 2.232441120583522E+00 -5.625655005995214E-01 + -1.633556991355226E+00 2.820554155470355E+00 -7.107674400951244E-01 + -2.080329698131594E+00 3.591966858741506E+00 -9.051601027204808E-01 + -2.666349937503512E+00 4.603809010620713E+00 -1.160139945839854E+00 + -3.435017574860820E+00 5.931016270726812E+00 -1.494590431362960E+00 + -4.443259094562806E+00 7.671879811553705E+00 -1.933280509363652E+00 + -5.765743498284928E+00 9.955325629607829E+00 -2.508698972982407E+00 + -7.500412190172579E+00 1.295046263012897E+01 -3.263460534452797E+00 + -9.775732384608283E+00 1.687910660361963E+01 -4.253461812984335E+00 + -1.276021121414967E+01 2.203220760292584E+01 -5.552020962690756E+00 + -1.667487513958882E+01 2.879139731017142E+01 -7.255307515802554E+00 + -2.180963887034370E+01 3.765725216236356E+01 -9.489464567999516E+00 + -2.854477605525997E+01 4.928636536447990E+01 -1.241995076526463E+01 + -3.737908183411086E+01 6.453997329312742E+01 -1.626379394715579E+01 + -4.896681293022350E+01 8.454773749638211E+01 -2.130566393472308E+01 + -2.596502903767807E-01 3.700662038743047E-01 -2.136578224248126E-01 + -2.596674036201370E-01 3.700905944998482E-01 -2.136719043590358E-01 + -2.597007092723294E-01 3.701380633328561E-01 -2.136993105025511E-01 + -2.597655284562129E-01 3.702304467816989E-01 -2.137526481116091E-01 + -2.598916790139341E-01 3.704102426831198E-01 -2.138564533236937E-01 + -2.601371921824115E-01 3.707601599742877E-01 -2.140584781659435E-01 + -2.606150078733181E-01 3.714411661022947E-01 -2.144516572372682E-01 + -2.615449288054315E-01 3.727665345767572E-01 -2.152168590827745E-01 + -2.633547332058304E-01 3.753459557021439E-01 -2.167060885638699E-01 + -2.668769595098019E-01 3.803660036890170E-01 -2.196044146204360E-01 + -2.737318871106270E-01 3.901359794182542E-01 -2.252451127376872E-01 + -2.870728903163464E-01 4.091502250986703E-01 -2.362229925997131E-01 + -3.130370400345129E-01 4.461555922372284E-01 -2.575880512786206E-01 + -3.444659330529966E-01 4.909495769250343E-01 -2.834498703962013E-01 + -3.856904016262421E-01 5.497046916198753E-01 -3.173721516815350E-01 + -4.397634740741655E-01 6.267722605549445E-01 -3.618671333519872E-01 + -5.106897289211709E-01 7.278598035273207E-01 -4.202300534988065E-01 + -6.037218685590131E-01 8.604537270855098E-01 -4.967831909580356E-01 + -7.257497272731741E-01 1.034373757660981E+00 -5.971959674282515E-01 + -8.858105230404273E-01 1.262500177210653E+00 -7.289048171645203E-01 + -1.095758141654776E+00 1.561727719457262E+00 -9.016639192295500E-01 + -1.371141019457850E+00 1.954216770991473E+00 -1.128267578786807E+00 + -1.732353639480011E+00 2.469034539495099E+00 -1.425497756015978E+00 + -2.206146919237138E+00 3.144307731781718E+00 -1.815366915359195E+00 + -2.827609347458064E+00 4.030046166075385E+00 -2.326748238830241E+00 + -3.642765590046033E+00 5.191846431429324E+00 -2.997513934776916E+00 + -4.711985014512858E+00 6.715749882285972E+00 -3.877340002348000E+00 + -6.114452563589864E+00 8.714614744677206E+00 -5.031385168723262E+00 + -7.954033084861151E+00 1.133647424362140E+01 -6.545116456216066E+00 + -1.036696342073085E+01 1.477549974331443E+01 -8.530638754213825E+00 + -1.353194192449141E+01 1.928638081543198E+01 -1.113499715548328E+01 + -1.768336261839050E+01 2.520318720392911E+01 -1.455106691662499E+01 + -2.312867409752264E+01 3.296410957790928E+01 -1.903183753840223E+01 + -3.027114875646135E+01 4.314391133921797E+01 -2.490914882559082E+01 + -3.963974859672469E+01 5.649649482168848E+01 -3.261826649357211E+01 + -5.192829943633308E+01 7.401073427711619E+01 -4.273011735781486E+01 + -2.448423563676757E-01 3.036358575905081E-01 -3.128488774785656E-01 + -2.448584936376258E-01 3.036558698705448E-01 -3.128694969778401E-01 + -2.448898998584750E-01 3.036948176038647E-01 -3.129096264762009E-01 + -2.449510223848425E-01 3.037706173592135E-01 -3.129877261728645E-01 + -2.450699785383855E-01 3.039181382139894E-01 -3.131397231543394E-01 + -2.453014900171598E-01 3.042052420772364E-01 -3.134355384182195E-01 + -2.457520557357703E-01 3.047640012331307E-01 -3.140112516297275E-01 + -2.466289429979561E-01 3.058514536650300E-01 -3.151316999039555E-01 + -2.483355337100837E-01 3.079678445629134E-01 -3.173123070363371E-01 + -2.516568863905417E-01 3.120867469638402E-01 -3.215561865398954E-01 + -2.581208754123923E-01 3.201029206325737E-01 -3.298155896085497E-01 + -2.707010372002227E-01 3.357039312981430E-01 -3.458899713136144E-01 + -2.951844436653345E-01 3.660664887782206E-01 -3.771737995821162E-01 + -3.248209374797904E-01 4.028195340798060E-01 -4.150420179729314E-01 + -3.636943622344165E-01 4.510275559186665E-01 -4.647127835980160E-01 + -4.146836311275027E-01 5.142607751130446E-01 -5.298646460996986E-01 + -4.815649403680027E-01 5.972021582515064E-01 -6.153226641918231E-01 + -5.692914291533695E-01 7.059942318572217E-01 -7.274157429744178E-01 + -6.843600024514057E-01 8.486939895845907E-01 -8.744453440753461E-01 + -8.352924829846302E-01 1.035869582259203E+00 -1.067300280657343E+00 + -1.033266725881592E+00 1.281382980817503E+00 -1.320263128176156E+00 + -1.292944435491601E+00 1.603416575103657E+00 -1.652067972578567E+00 + -1.633556991355226E+00 2.025819737040391E+00 -2.087287831339527E+00 + -2.080329698131594E+00 2.579875072818823E+00 -2.658154497861692E+00 + -2.666349937503512E+00 3.306615170352774E+00 -3.406945584449311E+00 + -3.435017574860820E+00 4.259861417176874E+00 -4.389115545026780E+00 + -4.443259094562806E+00 5.510209939527097E+00 -5.677402556904651E+00 + -5.765743498284928E+00 7.150259855854613E+00 -7.367215411695483E+00 + -7.500412190172579E+00 9.301471042148556E+00 -9.583699361226323E+00 + -9.775732384608283E+00 1.212315928588127E+01 -1.249100420542810E+01 + -1.276021121414967E+01 1.582429499749686E+01 -1.630444100424104E+01 + -1.667487513958882E+01 2.067897927603891E+01 -2.130642772315812E+01 + -2.180963887034370E+01 2.704674346538170E+01 -2.786740472532355E+01 + -2.854477605525997E+01 3.539917555871112E+01 -3.647326908320873E+01 + -3.737908183411086E+01 4.635484536671623E+01 -4.776135945783963E+01 + -4.896681293022350E+01 6.072511496015520E+01 -6.256765653700346E+01 + -1.989931522129460E-01 2.293570682355098E-01 -3.972580952589447E-01 + -1.990062676161105E-01 2.293721848884452E-01 -3.972842780698692E-01 + -1.990317927049007E-01 2.294016047929306E-01 -3.973352348391918E-01 + -1.990814694208640E-01 2.294588615668760E-01 -3.974344064807426E-01 + -1.991781498331907E-01 2.295702942251381E-01 -3.976274135064750E-01 + -1.993663084492824E-01 2.297871635398362E-01 -3.980030421781348E-01 + -1.997325011863378E-01 2.302092328002412E-01 -3.987340875814692E-01 + -2.004451824520568E-01 2.310306604919678E-01 -4.001568420782837E-01 + -2.018321968166533E-01 2.326293162483426E-01 -4.029257950721373E-01 + -2.045315926618017E-01 2.357406068136974E-01 -4.083147084084415E-01 + -2.097851344525706E-01 2.417957746904999E-01 -4.188025668194224E-01 + -2.200095338851180E-01 2.535802921587613E-01 -4.392139498171341E-01 + -2.399081752055240E-01 2.765152222524079E-01 -4.789384140073705E-01 + -2.639949362225677E-01 3.042773277757512E-01 -5.270237912988894E-01 + -2.955889195675878E-01 3.406921657403307E-01 -5.900961408029292E-01 + -3.370299328652703E-01 3.884565697359716E-01 -6.728265153166251E-01 + -3.913870414445969E-01 4.511079068441564E-01 -7.813418143501265E-01 + -4.626858591612462E-01 5.332860502540825E-01 -9.236785340077999E-01 + -5.562066799086064E-01 6.410770019881377E-01 -1.110377939007388E+00 + -6.788755290334004E-01 7.824636139705395E-01 -1.355266734470935E+00 + -8.397770953942395E-01 9.679167872311543E-01 -1.676481052983193E+00 + -1.050827531116790E+00 1.211170932656978E+00 -2.097809592012467E+00 + -1.327656945684372E+00 1.530241122864470E+00 -2.650455372632509E+00 + -1.690766950681354E+00 1.948757264083078E+00 -3.375346593010809E+00 + -2.167048981385575E+00 2.497714095013004E+00 -4.326167715343439E+00 + -2.791775840050958E+00 3.217766615202943E+00 -5.573335264430427E+00 + -3.611213951879052E+00 4.162240939265167E+00 -7.209212780150471E+00 + -4.686049793819458E+00 5.401083556714086E+00 -9.354951136153613E+00 + -6.095884252876328E+00 7.026041474264190E+00 -1.216946080951171E+01 + -7.945127760011230E+00 9.157456874911428E+00 -1.586118057546750E+01 + -1.037073278527658E+01 1.195317949704891E+01 -2.070351420087930E+01 + -1.355233635229848E+01 1.562025677234577E+01 -2.705507835697469E+01 + -1.772556371299756E+01 2.043026747817088E+01 -3.538626128441401E+01 + -2.319947843468277E+01 2.673943449409615E+01 -4.631405910943430E+01 + -3.037947122933909E+01 3.501500618599140E+01 -6.064776974147559E+01 + -3.979728264081206E+01 4.586986018729327E+01 -7.944892838047275E+01 + -1.173778669539042E-01 4.769054440472977E-01 -9.381133947129774E-02 + -1.173856031902046E-01 4.769368763207224E-01 -9.381752246566152E-02 + -1.174006593890873E-01 4.769980495503961E-01 -9.382955575797787E-02 + -1.174299616383969E-01 4.771171043822929E-01 -9.385297485161620E-02 + -1.174869894328156E-01 4.773488079080603E-01 -9.389855289729335E-02 + -1.175979764530232E-01 4.777997473869350E-01 -9.398725651152495E-02 + -1.178139784706383E-01 4.786773620582452E-01 -9.415989074936582E-02 + -1.182343598046582E-01 4.803853684479736E-01 -9.449587007031075E-02 + -1.190525024680627E-01 4.837094763084290E-01 -9.514975023634523E-02 + -1.206447649295804E-01 4.901788274387247E-01 -9.642232638874285E-02 + -1.237436129175442E-01 5.027694249175092E-01 -9.889900353506534E-02 + -1.297745651534928E-01 5.272731412377470E-01 -1.037190920425856E-01 + -1.415119543424969E-01 5.749620705768379E-01 -1.130999082926272E-01 + -1.557197428948564E-01 6.326882150735179E-01 -1.244551297633432E-01 + -1.743557327888563E-01 7.084061103318227E-01 -1.393494809702556E-01 + -1.988000802007965E-01 8.077233211439415E-01 -1.588860173951032E-01 + -2.308631003995791E-01 9.379951456558224E-01 -1.845115884708180E-01 + -2.729193372441507E-01 1.108869338787951E+00 -2.181239892913304E-01 + -3.280834186862929E-01 1.333000611900604E+00 -2.622125087463945E-01 + -4.004407218991715E-01 1.626987823581273E+00 -3.200422828859831E-01 + -4.953499307787153E-01 2.012603268634912E+00 -3.958961064747840E-01 + -6.198398928166821E-01 2.518405104755030E+00 -4.953916109730809E-01 + -7.831301660280378E-01 3.181852331011478E+00 -6.258972987157897E-01 + -9.973138069332170E-01 4.052078950597821E+00 -7.970782442175939E-01 + -1.278252965948651E+00 5.193532768574819E+00 -1.021611876503891E+00 + -1.646753616767455E+00 6.690748309043578E+00 -1.316126852337732E+00 + -2.130106418597482E+00 8.654607327531110E+00 -1.702434552022603E+00 + -2.764107825427605E+00 1.123055056365817E+01 -2.209144400692610E+00 + -3.595711122937663E+00 1.460934888537226E+01 -2.873782643597498E+00 + -4.686503725255816E+00 1.904123152110236E+01 -3.745571489011041E+00 + -6.117268255452524E+00 2.485441769757758E+01 -4.889074438323332E+00 + -7.993965197216269E+00 3.247942411131251E+01 -6.388977771527404E+00 + -1.045558018479302E+01 4.248094841218264E+01 -8.356362298440686E+00 + -1.368441709085608E+01 5.559968994670913E+01 -1.093692985306399E+01 + -1.791959920445613E+01 7.280720494867109E+01 -1.432179377411079E+01 + -2.347477837800820E+01 9.537785867818181E+01 -1.876163250008317E+01 + -1.348999066177580E-01 4.411929231808700E-01 -1.927894015646006E-01 + -1.349087977109562E-01 4.412220016843083E-01 -1.928021080859016E-01 + -1.349261014827489E-01 4.412785940263690E-01 -1.928268374122026E-01 + -1.349597779398029E-01 4.413887335728116E-01 -1.928749654218138E-01 + -1.350253187810308E-01 4.416030862440185E-01 -1.929686317546911E-01 + -1.351528738222864E-01 4.420202576337471E-01 -1.931509243943731E-01 + -1.354011203849622E-01 4.428321531302123E-01 -1.935057008168235E-01 + -1.358842557849725E-01 4.444122574072797E-01 -1.941961637458053E-01 + -1.368245298907936E-01 4.474874432375706E-01 -1.955399369678401E-01 + -1.386544835519387E-01 4.534723443786353E-01 -1.981551772602057E-01 + -1.422159241799500E-01 4.651201093089675E-01 -2.032449362125797E-01 + -1.491471703727703E-01 4.877888927482448E-01 -2.131505828443235E-01 + -1.626367041888410E-01 5.319066909430433E-01 -2.324288701092263E-01 + -1.789654158846400E-01 5.853100788731792E-01 -2.557647095110572E-01 + -2.003833659775424E-01 6.553579258061265E-01 -2.863737283360382E-01 + -2.284767388490885E-01 7.472378804329890E-01 -3.265227890702552E-01 + -2.653260916525235E-01 8.677544477775251E-01 -3.791852767852903E-01 + -3.136604375582557E-01 1.025832921624134E+00 -4.482613040103223E-01 + -3.770593527738628E-01 1.233180379689667E+00 -5.388665477848408E-01 + -4.602180751108719E-01 1.505152693946419E+00 -6.577111097729832E-01 + -5.692952269391952E-01 1.861891765706804E+00 -8.135964573065398E-01 + -7.123689144203712E-01 2.329817207560126E+00 -1.018067248137359E+00 + -9.000349811112124E-01 2.943582944105781E+00 -1.286266312157667E+00 + -1.146191721789648E+00 3.748643634683739E+00 -1.638056108876778E+00 + -1.469069171346103E+00 4.804620983894480E+00 -2.099489714276320E+00 + -1.892579196481947E+00 6.189719244307136E+00 -2.704740276338608E+00 + -2.448086376178003E+00 8.006516917507316E+00 -3.498631832111887E+00 + -3.176730819942672E+00 1.038956357902157E+01 -4.539958915197278E+00 + -4.132474948613729E+00 1.351534443768548E+01 -5.905840799292803E+00 + -5.386099878174316E+00 1.761535059122896E+01 -7.697432847175177E+00 + -7.030447373356980E+00 2.299322294350885E+01 -1.004741793989121E+01 + -9.187295583021438E+00 3.004723943868427E+01 -1.312983279126037E+01 + -1.201637776495771E+01 3.929981098644747E+01 -1.717295687123488E+01 + -1.572721191466101E+01 5.143617050659169E+01 -2.247621847432784E+01 + -2.059461738436691E+01 6.735512035116788E+01 -2.943236997364501E+01 + -2.697906763214135E+01 8.823559638959711E+01 -3.855657452980572E+01 + -1.348999066177580E-01 3.875569809257787E-01 -2.856895786622493E-01 + -1.349087977109562E-01 3.875825243477383E-01 -2.857084081242803E-01 + -1.349261014827489E-01 3.876322367435638E-01 -2.857450538670141E-01 + -1.349597779398029E-01 3.877289865957420E-01 -2.858163735073890E-01 + -1.350253187810309E-01 3.879172803550964E-01 -2.859551751995846E-01 + -1.351528738222864E-01 3.882837361068483E-01 -2.862253099009807E-01 + -1.354011203849622E-01 3.889969292495867E-01 -2.867510438149126E-01 + -1.358842557849725E-01 3.903849398249900E-01 -2.877742227949905E-01 + -1.368245298907936E-01 3.930862744873429E-01 -2.897655252343629E-01 + -1.386544835519387E-01 3.983435895880644E-01 -2.936409815154806E-01 + -1.422159241799500E-01 4.085753326051257E-01 -3.011833623662708E-01 + -1.491471703727703E-01 4.284882659487663E-01 -3.158622813817010E-01 + -1.626367041888410E-01 4.672426515590254E-01 -3.444302717449803E-01 + -1.789654158846400E-01 5.141537752647128E-01 -3.790110426397177E-01 + -2.003833659775424E-01 5.756858866185363E-01 -4.243697481515635E-01 + -2.284767388490885E-01 6.563959704658837E-01 -4.838655925898794E-01 + -2.653260916525235E-01 7.622613063258582E-01 -5.619047576296282E-01 + -3.136604375582557E-01 9.011221376185461E-01 -6.642667181597499E-01 + -3.770593527738628E-01 1.083262309476127E+00 -7.985322623673704E-01 + -4.602180751108719E-01 1.322170876387869E+00 -9.746449146456907E-01 + -5.692952269391952E-01 1.635541083309888E+00 -1.205647339545885E+00 + -7.123689144203712E-01 2.046580703427932E+00 -1.508647263852510E+00 + -9.000349811112124E-01 2.585730774413556E+00 -1.906084451663360E+00 + -1.146191721789648E+00 3.292920020453449E+00 -2.427392562932559E+00 + -1.469069171346103E+00 4.220521919494668E+00 -3.111178970470241E+00 + -1.892579196481947E+00 5.437233412101747E+00 -4.008083969694090E+00 + -2.448086376178003E+00 7.033162503851447E+00 -5.184531130335264E+00 + -3.176730819942672E+00 9.126501542209274E+00 -6.727646536067609E+00 + -4.132474948613729E+00 1.187228038173691E+01 -8.751711224285929E+00 + -5.386099878174316E+00 1.547384768519297E+01 -1.140662468498591E+01 + -7.030447373356980E+00 2.019793065013973E+01 -1.488900621401226E+01 + -9.187295583021438E+00 2.639438846401558E+01 -1.945675627186405E+01 + -1.201637776495771E+01 3.452212240180769E+01 -2.544815624257282E+01 + -1.572721191466101E+01 4.518306143307289E+01 -3.330692109493236E+01 + -2.059461738436691E+01 5.916674026634288E+01 -4.361506031224710E+01 + -2.697906763214135E+01 7.750877122051838E+01 -5.713598072655869E+01 + -1.173778669539042E-01 3.196957251688387E-01 -3.661065600124090E-01 + -1.173856031902046E-01 3.197167959357415E-01 -3.661306896625116E-01 + -1.174006593890873E-01 3.197578036874155E-01 -3.661776505872824E-01 + -1.174299616383969E-01 3.198376126333883E-01 -3.662690455493292E-01 + -1.174869894328156E-01 3.199929361416833E-01 -3.664469176659516E-01 + -1.175979764530232E-01 3.202952254644527E-01 -3.667930909031106E-01 + -1.178139784706383E-01 3.208835384356409E-01 -3.674668103842787E-01 + -1.182343598046582E-01 3.220285082575897E-01 -3.687779976471371E-01 + -1.190525024680627E-01 3.242568390226340E-01 -3.713298194161939E-01 + -1.206447649295804E-01 3.285935978640085E-01 -3.762961537648327E-01 + -1.237436129175442E-01 3.370337619290884E-01 -3.859615924571231E-01 + -1.297745651534928E-01 3.534599391852093E-01 -4.047723890238163E-01 + -1.415119543424969E-01 3.854284290355247E-01 -4.413818051857293E-01 + -1.557197428948564E-01 4.241254115431032E-01 -4.856965020470274E-01 + -1.743557327888563E-01 4.748832456903292E-01 -5.438229472583523E-01 + -1.988000802007965E-01 5.414609879422667E-01 -6.200659066422379E-01 + -2.308631003995791E-01 6.287892957362600E-01 -7.200718305290177E-01 + -2.729193372441507E-01 7.433355852950729E-01 -8.512470222223533E-01 + -3.280834186862929E-01 8.935829997147293E-01 -1.023306138792927E+00 + -4.004407218991715E-01 1.090658659055064E+00 -1.248991645426345E+00 + -4.953499307787153E-01 1.349157719783968E+00 -1.545017505140038E+00 + -6.198398928166821E-01 1.688224272301902E+00 -1.933306992251725E+00 + -7.831301660280378E-01 2.132969126353671E+00 -2.442616300388777E+00 + -9.973138069332170E-01 2.716329483595245E+00 -3.110664187249104E+00 + -1.278252965948651E+00 3.481508222147672E+00 -3.986925374720774E+00 + -1.646753616767455E+00 4.485173443249118E+00 -5.136294579790646E+00 + -2.130106418597482E+00 5.801655234097513E+00 -6.643892529409587E+00 + -2.764107825427605E+00 7.528450453457038E+00 -8.621369886267312E+00 + -3.595711122937663E+00 9.793443216996369E+00 -1.121517594568349E+01 + -4.686503725255816E+00 1.276437582172546E+01 -1.461740447211013E+01 + -6.117268255452524E+00 1.666127151336994E+01 -1.908001990321006E+01 + -7.993965197216269E+00 2.177272911001309E+01 -2.493351749492174E+01 + -1.045558018479302E+01 2.847729623976749E+01 -3.261139935258603E+01 + -1.368441709085608E+01 3.727150406551641E+01 -4.268227900985636E+01 + -1.791959920445613E+01 4.880663971047733E+01 -5.589199217703384E+01 + -2.347477837800820E+01 6.393697970063072E+01 -7.321883232382592E+01 + -7.787945231879143E-02 2.469573467891384E-01 -4.277426719411941E-01 + -7.788458526132754E-02 2.469736234556043E-01 -4.277708639544909E-01 + -7.789457495149153E-02 2.470053009687954E-01 -4.278257310167954E-01 + -7.791401680358141E-02 2.470669514820673E-01 -4.279325128380950E-01 + -7.795185437476525E-02 2.471869351993417E-01 -4.281403307324953E-01 + -7.802549354177840E-02 2.474204465141220E-01 -4.285447841938370E-01 + -7.816880947746688E-02 2.478749042969702E-01 -4.293319281636252E-01 + -7.844772976208382E-02 2.487593662622741E-01 -4.308638612248938E-01 + -7.899056210516603E-02 2.504806987987456E-01 -4.338452966347838E-01 + -8.004701790615162E-02 2.538307418953950E-01 -4.396477414857258E-01 + -8.210308341820069E-02 2.603505679671272E-01 -4.509404114984784E-01 + -8.610458105387435E-02 2.730393993580297E-01 -4.729181121561964E-01 + -9.389226254284809E-02 2.977342977027603E-01 -5.156909307770182E-01 + -1.033190379634092E-01 3.276267966524109E-01 -5.674662577230124E-01 + -1.156838962116274E-01 3.668360167417381E-01 -6.353786190428774E-01 + -1.319025619459415E-01 4.182657397168146E-01 -7.244575122549023E-01 + -1.531761675887171E-01 4.857247812194814E-01 -8.412999995674185E-01 + -1.810802075669770E-01 5.742090665162124E-01 -9.945592773727764E-01 + -2.176812172962677E-01 6.902716219582992E-01 -1.195585520254750E+00 + -2.656898179952113E-01 8.425078832398841E-01 -1.459266459548786E+00 + -3.286614616224667E-01 1.042192261726272E+00 -1.805129948565023E+00 + -4.112597428343021E-01 1.304113112092809E+00 -2.258790168961510E+00 + -5.196017784898002E-01 1.647667937847023E+00 -2.853844582353282E+00 + -6.617112330421707E-01 2.098299944171971E+00 -3.634362112824790E+00 + -8.481125402632008E-01 2.689382327249097E+00 -4.658146831773262E+00 + -1.092610328557112E+00 3.464689847976330E+00 -6.001018849163088E+00 + -1.413311773047144E+00 4.481640731484179E+00 -7.762429448200741E+00 + -1.833967588446002E+00 5.815548983138094E+00 -1.007282631270069E+01 + -2.385730974826317E+00 7.565202041792108E+00 -1.310331430590773E+01 + -3.109464781433044E+00 9.860176843740923E+00 -1.707832726497340E+01 + -4.058767753965603E+00 1.287043611516002E+01 -2.229224926702654E+01 + -5.303943985105573E+00 1.681891558145730E+01 -2.913121631529587E+01 + -6.937209540420977E+00 2.199803428521657E+01 -3.810171304863718E+01 + -9.079521855311175E+00 2.879135074452254E+01 -4.986808230804903E+01 + -1.188953767888243E+01 3.770196877742838E+01 -6.530172546788138E+01 + -1.557536297794749E+01 4.938979668946105E+01 -8.554563724164362E+01 + -3.445710451779206E-17 4.957189980185481E-01 -6.541871773035887E-02 + -3.445937554477266E-17 4.957516702710502E-01 -6.542302940062487E-02 + -3.446379539863440E-17 4.958152567377134E-01 -6.543142073751278E-02 + -3.447239728153849E-17 4.959390081914110E-01 -6.544775188772192E-02 + -3.448913819465694E-17 4.961798522435485E-01 -6.547953543672205E-02 + -3.452171922083043E-17 4.966485809389848E-01 -6.554139231600535E-02 + -3.458512814357001E-17 4.975608168359294E-01 -6.566177766109856E-02 + -3.470853406275698E-17 4.993362027676561E-01 -6.589607062060650E-02 + -3.494870563849761E-17 5.027914441335465E-01 -6.635204963393651E-02 + -3.541612556595138E-17 5.095160062038052E-01 -6.723947220537903E-02 + -3.632581434951012E-17 5.226032930958772E-01 -6.896656664894651E-02 + -3.809624311030453E-17 5.480736622300872E-01 -7.232782352136638E-02 + -4.154183687126752E-17 5.976438832532025E-01 -7.886947375043697E-02 + -4.571263386920241E-17 6.576472798731205E-01 -8.678796241444076E-02 + -5.118336074671711E-17 7.363521880221616E-01 -9.717443981550111E-02 + -5.835917212837408E-17 8.395873866224478E-01 -1.107981144054691E-01 + -6.777149888823418E-17 9.749983346901179E-01 -1.286679370764729E-01 + -8.011740520077191E-17 1.152613383677241E+00 -1.521073226977554E-01 + -9.631121216973272E-17 1.385586463600831E+00 -1.828521604288350E-01 + -1.175522112109817E-16 1.691171245287983E+00 -2.231793713200688E-01 + -1.454134819507855E-16 2.091998923873904E+00 -2.760755340024325E-01 + -1.819583923728053E-16 2.617754254468411E+00 -3.454580666567623E-01 + -2.298934090569311E-16 3.307373964922826E+00 -4.364653456995984E-01 + -2.927685344293259E-16 4.211930357169894E+00 -5.558372469826488E-01 + -3.752402151349996E-16 5.398413652747217E+00 -7.124142918718072E-01 + -4.834161921709800E-16 6.954693197891942E+00 -9.177923642884400E-01 + -6.253078319139775E-16 8.996024948338009E+00 -1.187181486170458E+00 + -8.114234370659428E-16 1.167358716932813E+01 -1.540532251100939E+00 + -1.055546477322737E-15 1.518567649322510E+01 -2.004013338253516E+00 + -1.375756374475420E-15 1.979239349958841E+01 -2.611949529336612E+00 + -1.795767439906507E-15 2.583490541189062E+01 -3.409363755447105E+00 + -2.346685124379075E-15 3.376071248010855E+01 -4.455311434381192E+00 + -3.069309645599975E-15 4.415678924327041E+01 -5.827254034908642E+00 + -4.017157597095047E-15 5.779305506898578E+01 -7.626795768258217E+00 + -5.260425314658100E-15 7.567939333925248E+01 -9.987208258417636E+00 + -6.891187521925990E-15 9.914044204623058E+01 -1.308330045814119E+01 + -3.592079852440162E-18 4.741821840556996E-01 -1.586448547862941E-01 + -3.592316602172199E-18 4.742134368422811E-01 -1.586553108809252E-01 + -3.592777362535836E-18 4.742742607561502E-01 -1.586756604455182E-01 + -3.593674090531563E-18 4.743926357525271E-01 -1.587152645992423E-01 + -3.595419295114647E-18 4.746230161880478E-01 -1.587923418745338E-01 + -3.598815797790290E-18 4.750713806796650E-01 -1.589423490280197E-01 + -3.605426043109080E-18 4.759439839321452E-01 -1.592342917051817E-01 + -3.618290847688190E-18 4.776422371401378E-01 -1.598024681205586E-01 + -3.643328223591359E-18 4.809473634392437E-01 -1.609082483447065E-01 + -3.692055756781757E-18 4.873797728123742E-01 -1.630603086397563E-01 + -3.786888877473163E-18 4.998984745499542E-01 -1.672486305254179E-01 + -3.971452309915562E-18 5.242622679753430E-01 -1.753999078192102E-01 + -4.330648130390200E-18 5.716788805377389E-01 -1.912638560386052E-01 + -4.765444845742874E-18 6.290753930250987E-01 -2.104667314206279E-01 + -5.335756485967212E-18 7.043609184763930E-01 -2.356546479099734E-01 + -6.083819558871414E-18 8.031110009613818E-01 -2.686929884945395E-01 + -7.065034602672296E-18 9.326389378700620E-01 -3.120285279403490E-01 + -8.352069074837002E-18 1.102537392814335E+00 -3.688706376175101E-01 + -1.004023900558302E-17 1.325388815305544E+00 -4.434289671980330E-01 + -1.225456797400733E-17 1.617697279927221E+00 -5.412252056101943E-01 + -1.515904618505821E-17 2.001110755750346E+00 -6.695020098435708E-01 + -1.896877536205231E-17 2.504024325608932E+00 -8.377593863183065E-01 + -2.396589888903126E-17 3.163683087484542E+00 -1.058458248496498E+00 + -3.052049696772963E-17 4.028940476028707E+00 -1.347943255259707E+00 + -3.911799425618464E-17 5.163876281780109E+00 -1.727653274213196E+00 + -5.039510976159026E-17 6.652542313680554E+00 -2.225709115190118E+00 + -6.518701138778003E-17 8.605187162229495E+00 -2.878996119348975E+00 + -8.458916733927266E-17 1.116642106080729E+01 -3.735895837592880E+00 + -1.100384750131102E-16 1.452592552374066E+01 -4.859869102715315E+00 + -1.434196756743605E-16 1.893250090240338E+01 -6.334155852743629E+00 + -1.872049358420540E-16 2.471249220233504E+01 -8.267939768033012E+00 + -2.446369325939884E-16 3.229395775244303E+01 -1.080443426678645E+01 + -3.199690018401579E-16 4.223837062520195E+01 -1.413148869687967E+01 + -4.187801346207453E-16 5.528220057210238E+01 -1.849550020419530E+01 + -5.483881496279701E-16 7.239145597618267E+01 -2.421966157159729E+01 + -7.183916409492772E-16 9.483322512479167E+01 -3.172789643879003E+01 + -1.617214060100248E-17 4.330273665941893E-01 -2.500084666696298E-01 + -1.617320648765062E-17 4.330559069154564E-01 -2.500249444317961E-01 + -1.617528090739912E-17 4.331114518518422E-01 -2.500570133157706E-01 + -1.617931812589746E-17 4.332195529460530E-01 -2.501194255116129E-01 + -1.618717532703288E-17 4.334299383984441E-01 -2.502408916091845E-01 + -1.620246694667349E-17 4.338393888198386E-01 -2.504772879201964E-01 + -1.623222736990850E-17 4.346362578318102E-01 -2.509373604587671E-01 + -1.629014685861821E-17 4.361871176894653E-01 -2.518327498150597E-01 + -1.640286928685464E-17 4.392053882734037E-01 -2.535753491491836E-01 + -1.662224874117267E-17 4.450795214343731E-01 -2.569667815109250E-01 + -1.704920321447354E-17 4.565117106411392E-01 -2.635671590268782E-01 + -1.788013846699430E-17 4.787609423963367E-01 -2.764127589700038E-01 + -1.949729775928068E-17 5.220622125855586E-01 -3.014127589700037E-01 + -2.145482484731599E-17 5.744772156999997E-01 -3.316745751277013E-01 + -2.402246265353873E-17 6.432286237558628E-01 -3.713682190759197E-01 + -2.739036695700417E-17 7.334080729365403E-01 -4.234333483357560E-01 + -3.180796018990154E-17 8.516941311351243E-01 -4.917258358780882E-01 + -3.760240332513565E-17 1.006846903649028E+00 -5.813033308545071E-01 + -4.520282497496699E-17 1.210356794716133E+00 -6.987998212448518E-01 + -5.517210207494685E-17 1.477295471293335E+00 -8.529169380238216E-01 + -6.824854578756488E-17 1.827432050302617E+00 -1.055068386167965E+00 + -8.540057982718579E-17 2.286697172660664E+00 -1.320225228190790E+00 + -1.078984606089793E-16 2.889103391432108E+00 -1.668024620759987E+00 + -1.374083507189560E-16 3.679264095452639E+00 -2.124224115929305E+00 + -1.761157126589140E-16 4.715697516494572E+00 -2.722609230564989E+00 + -2.268871612399567E-16 6.075160510271558E+00 -3.507495555975465E+00 + -2.934827611936810E-16 7.858333065235232E+00 -4.537010710595295E+00 + -3.808344924746445E-16 1.019727452618779E+01 -5.887399192695028E+00 + -4.954115060173379E-16 1.326520373053466E+01 -7.658668944679408E+00 + -6.456992202944273E-16 1.728932736082475E+01 -9.981997805879725E+00 + -8.428277399186187E-16 2.256766656399635E+01 -1.302944836570500E+01 + -1.101396136118846E-15 2.949112799396479E+01 -1.702671068602127E+01 + -1.440553634186688E-15 3.857245382907951E+01 -2.226981660152345E+01 + -1.885417779171228E-15 5.048419476354118E+01 -2.914706343655197E+01 + -2.468934607253378E-15 6.610851820110420E+01 -3.816777077913476E+01 + -3.234318584572764E-15 8.660254037844388E+01 -4.999999999999997E+01 + -3.887992235977354E-17 3.744815664524740E-01 -3.313313900210770E-01 + -3.888248488944393E-17 3.745062480893397E-01 -3.313532276808800E-01 + -3.888747206342129E-17 3.745542832861677E-01 -3.313957279531518E-01 + -3.889717806002602E-17 3.746477689875765E-01 -3.314784416303250E-01 + -3.891606779006532E-17 3.748297100837938E-01 -3.316394183023751E-01 + -3.895283082589652E-17 3.751838023352706E-01 -3.319527097655275E-01 + -3.902437874112424E-17 3.758729337363818E-01 -3.325624350110192E-01 + -3.916362469994380E-17 3.772141155499257E-01 -3.337490772235109E-01 + -3.943462402935637E-17 3.798243124645931E-01 -3.360585104491787E-01 + -3.996204067515810E-17 3.849042560371473E-01 -3.405531102263259E-01 + -4.098849457403570E-17 3.947908000581466E-01 -3.493004630106397E-01 + -4.298617063319656E-17 4.140319099805564E-01 -3.663244884026866E-01 + -4.687403120024996E-17 4.514787984240713E-01 -3.994565053334281E-01 + -5.158018006932723E-17 4.968072325742897E-01 -4.395619055451012E-01 + -5.775311419208467E-17 5.562633708481111E-01 -4.921671248785092E-01 + -6.584999271079892E-17 6.342504543357221E-01 -5.611680346440351E-01 + -7.647045948447167E-17 7.365441008368359E-01 -6.516747487838355E-01 + -9.040105190104142E-17 8.707200392940950E-01 -7.703900719907208E-01 + -1.086734507712730E-16 1.046715158020165E+00 -9.261059003473456E-01 + -1.326408852125899E-16 1.277563417190495E+00 -1.130354337244862E+00 + -1.640783509650841E-16 1.580361126284445E+00 -1.398261745344290E+00 + -2.053140641724821E-16 1.977533073614982E+00 -1.749668984512378E+00 + -2.594018859170784E-16 2.498493275785422E+00 -2.210600799036550E+00 + -3.303474870362168E-16 3.181823339929153E+00 -2.815193174946375E+00 + -4.234050026803691E-16 4.078129765290048E+00 -3.608221404914905E+00 + -5.454661464476826E-16 5.253791792029507E+00 -4.648416085803204E+00 + -7.055706013608954E-16 6.795877357867779E+00 -6.012812627135974E+00 + -9.155754865512415E-16 8.818591231651627E+00 -7.802456389216247E+00 + -1.191033479445423E-15 1.147173286388889E+01 -1.014988596568253E+01 + -1.552344625995735E-15 1.495179033120756E+01 -1.322894881228131E+01 + -2.026267140459315E-15 1.951649197724373E+01 -1.726767615403047E+01 + -2.647899082512356E-15 2.550389342477769E+01 -2.256517066896384E+01 + -3.463277672022970E-15 3.335741351739144E+01 -2.951375762744743E+01 + -4.532788743214979E-15 4.365867331858461E+01 -3.862803997044961E+01 + -5.935638837781247E-15 5.717057018015635E+01 -5.058300910651833E+01 + -7.775721134106803E-15 7.489377688702986E+01 -6.626403386148321E+01 + -6.670413792218074E-17 3.045137704467685E-01 -3.965958865574509E-01 + -6.670853431297036E-17 3.045338405890027E-01 -3.966220257229836E-01 + -6.671709053223821E-17 3.045729009332509E-01 -3.966728975500068E-01 + -6.673374257516679E-17 3.046489198510539E-01 -3.967719038775597E-01 + -6.676615064291432E-17 3.047968672379792E-01 -3.969645891705611E-01 + -6.682922295540071E-17 3.050848012145555E-01 -3.973395916886501E-01 + -6.695197376650655E-17 3.056451759301219E-01 -3.980694184771015E-01 + -6.719087037633664E-17 3.067357725508469E-01 -3.994898013157444E-01 + -6.765580897571659E-17 3.088582826429284E-01 -4.022541386081472E-01 + -6.856066861917132E-17 3.129890941688187E-01 -4.076340689045953E-01 + -7.032169894757372E-17 3.210284452777191E-01 -4.181044445979609E-01 + -7.374900155741567E-17 3.366745636849848E-01 -4.384818028757440E-01 + -8.041918945252463E-17 3.671249094775899E-01 -4.781400484384360E-01 + -8.849326944528812E-17 4.039842201301553E-01 -5.261452698926364E-01 + -9.908383198033497E-17 4.523316274898271E-01 -5.891124810516967E-01 + -1.129751997781847E-16 5.157476750777750E-01 -6.717049483092923E-01 + -1.311961487274545E-16 5.989288695058226E-01 -7.800393579509279E-01 + -1.550960976340902E-16 7.080354973965147E-01 -9.221388096575531E-01 + -1.864450443508688E-16 8.511478478686546E-01 -1.108526996403744E+00 + -2.275646494215960E-16 1.038864627807812E+00 -1.353007574909122E+00 + -2.815001751171886E-16 1.285087887746414E+00 -1.673686445763292E+00 + -3.522460134358272E-16 1.608052588901220E+00 -2.094312651906056E+00 + -4.450415053654796E-16 2.031677059708823E+00 -2.646037200588630E+00 + -5.667589593828078E-16 2.587334354841528E+00 -3.369720064788667E+00 + -7.264126053130612E-16 3.316175701153697E+00 -4.318956217479929E+00 + -9.358261759846419E-16 4.272178101819144E+00 -5.564044802757035E+00 + -1.210508556871699E-15 5.526141800095189E+00 -7.197195395254075E+00 + -1.570802353151548E-15 7.170933649466710E+00 -9.339356916379760E+00 + -2.043390435497903E-15 9.328364707062960E+00 -1.214917494765836E+01 + -2.663272037351329E-15 1.215821139560252E+01 -1.583474080767323E+01 + -3.476354750754914E-15 1.587004832890443E+01 -2.066900251334179E+01 + -4.542854380456864E-15 2.073876912399969E+01 -2.700997894044573E+01 + -5.941754444871140E-15 2.712494465017148E+01 -3.532727421677328E+01 + -7.776655588498489E-15 3.550152641928018E+01 -4.623685596792558E+01 + -1.018344810537114E-14 4.648887273430168E+01 -6.054667304557864E+01 + -1.334037579021793E-14 6.090069158521017E+01 -7.931649112538395E+01 + -6.133508641812858E-17 2.500084666696301E-01 -4.330273665941891E-01 + -6.133912894108755E-17 2.500249444317964E-01 -4.330559069154563E-01 + -6.134699646572025E-17 2.500570133157709E-01 -4.331114518518421E-01 + -6.136230817686557E-17 2.501194255116132E-01 -4.332195529460529E-01 + -6.139210770202034E-17 2.502408916091848E-01 -4.334299383984440E-01 + -6.145010329056175E-17 2.504772879201967E-01 -4.338393888198384E-01 + -6.156297382365905E-17 2.509373604587674E-01 -4.346362578318100E-01 + -6.178264151842816E-17 2.518327498150599E-01 -4.361871176894651E-01 + -6.221015696290271E-17 2.535753491491839E-01 -4.392053882734036E-01 + -6.304218397286604E-17 2.569667815109253E-01 -4.450795214343730E-01 + -6.466146803442633E-17 2.635671590268784E-01 -4.565117106411390E-01 + -6.781290523613301E-17 2.764127589700041E-01 -4.787609423963365E-01 + -7.394620616341510E-17 3.014127589700041E-01 -5.220622125855584E-01 + -8.137039916746498E-17 3.316745751277017E-01 -5.744772156999994E-01 + -9.110852169685748E-17 3.713682190759201E-01 -6.432286237558624E-01 + -1.038817659195941E-16 4.234333483357565E-01 -7.334080729365400E-01 + -1.206361010063856E-16 4.917258358780887E-01 -8.516941311351238E-01 + -1.426123303264847E-16 5.813033308545077E-01 -1.006846903649027E+00 + -1.714379836650244E-16 6.987998212448525E-01 -1.210356794716133E+00 + -2.092478498750443E-16 8.529169380238224E-01 -1.477295471293334E+00 + -2.588420764492001E-16 1.055068386167966E+00 -1.827432050302617E+00 + -3.238935446513513E-16 1.320225228190791E+00 -2.286697172660663E+00 + -4.092198781294636E-16 1.668024620759989E+00 -2.889103391432106E+00 + -5.211402295993676E-16 2.124224115929307E+00 -3.679264095452638E+00 + -6.679432687380413E-16 2.722609230564992E+00 -4.715697516494570E+00 + -8.605010298360858E-16 3.507495555975470E+00 -6.075160510271555E+00 + -1.113074079935317E-15 4.537010710595300E+00 -7.858333065235229E+00 + -1.444367637113451E-15 5.887399192695035E+00 -1.019727452618778E+01 + -1.878916853605952E-15 7.658668944679417E+00 -1.326520373053465E+01 + -2.448903855957198E-15 9.981997805879738E+00 -1.728932736082475E+01 + -3.196541109734106E-15 1.302944836570502E+01 -2.256766656399634E+01 + -4.177197617565528E-15 1.702671068602129E+01 -2.949112799396478E+01 + -5.463499472501039E-15 2.226981660152348E+01 -3.857245382907949E+01 + -7.150708448118171E-15 2.914706343655201E+01 -5.048419476354116E+01 + -9.363776956478306E-15 3.816777077913480E+01 -6.610851820110418E+01 + -1.226660185456418E-14 5.000000000000003E+01 -8.660254037844385E+01 + -4.786217425729569E-01 -7.235012294810537E-02 -1.253140888799735E-01 + -4.786532879655863E-01 -7.235489145908633E-02 -1.253223481832690E-01 + -4.787146813469174E-01 -7.236417189558222E-02 -1.253384223707963E-01 + -4.788341646361426E-01 -7.238223340406952E-02 -1.253697058211576E-01 + -4.790667020220067E-01 -7.241738456198987E-02 -1.254305894126206E-01 + -4.795192643524810E-01 -7.248579545380494E-02 -1.255490805530354E-01 + -4.804000374041059E-01 -7.261893616369386E-02 -1.257796870271188E-01 + -4.821141906073905E-01 -7.287805350830681E-02 -1.262284914331108E-01 + -4.854502613453749E-01 -7.338234553390353E-02 -1.271019508432961E-01 + -4.919428945286341E-01 -7.436379448885599E-02 -1.288018702983091E-01 + -5.045788033456718E-01 -7.627388229965865E-02 -1.321102394335373E-01 + -5.291707042163662E-01 -7.999127934467724E-02 -1.385489599874160E-01 + -5.770312575956869E-01 -8.722604662195024E-02 -1.510799444925895E-01 + -6.349651482985138E-01 -9.598353451349272E-02 -1.662483584674103E-01 + -7.109555388986518E-01 -1.074705055675845E-01 -1.861443759581704E-01 + -8.106301748243169E-01 -1.225376693058266E-01 -2.122414690787652E-01 + -9.413708246413719E-01 -1.423008794720202E-01 -2.464723532072741E-01 + -1.112859963837561E+00 -1.682237726494394E-01 -2.913721212697450E-01 + -1.337797845845958E+00 -2.022261632042589E-01 -3.502659892894924E-01 + -1.632843065616633E+00 -2.468262221378650E-01 -4.275155573830643E-01 + -2.019846272601023E+00 -3.053269694213290E-01 -5.288418239587710E-01 + -2.527468400262042E+00 -3.820608911818000E-01 -6.617488751119219E-01 + -3.193303255996177E+00 -4.827107977584022E-01 -8.360796270796579E-01 + -4.066661667602988E+00 -6.147306849407799E-01 -1.064744779289047E+00 + -5.212223376419471E+00 -7.878977668037199E-01 -1.364678963274098E+00 + -6.714827131379749E+00 -1.015036562942070E+00 -1.758094898555751E+00 + -8.685753731879824E+00 -1.312968665026078E+00 -2.274128436571050E+00 + -1.127096733309399E+01 -1.703758521102138E+00 -2.950996322377315E+00 + -1.466192535365497E+01 -2.216347498737341E+00 -3.838826475041273E+00 + -1.910975755282273E+01 -2.888697243511581E+00 -5.003370393446224E+00 + -2.494386436039706E+01 -3.770601067084828E+00 -6.530872623264349E+00 + -3.259631182650281E+01 -4.927371572432848E+00 -8.534457911224244E+00 + -4.263382984819577E+01 -6.444677616782915E+00 -1.116250907066992E+01 + -5.579978341822164E+01 -8.434888831174662E+00 -1.460965601178978E+01 + -7.306922522977817E+01 -1.104539756317363E+01 -1.913118976921420E+01 + -9.572110675864127E+01 -1.446953455454599E+01 -2.506196901034717E+01 + -4.366624927850382E-01 6.987725846517715E-17 -2.436037787489229E-01 + -4.366912726931706E-01 6.988186399258653E-17 -2.436198343856880E-01 + -4.367472839115252E-01 6.989082723180810E-17 -2.436510817327099E-01 + -4.368562924798338E-01 6.990827141359261E-17 -2.437118950601533E-01 + -4.370684440507826E-01 6.994222113540736E-17 -2.438302494533164E-01 + -4.374813316774566E-01 7.000829380224476E-17 -2.440605897910334E-01 + -4.382848901498170E-01 7.013688387808773E-17 -2.445088762446379E-01 + -4.398487689797630E-01 7.038714481648748E-17 -2.453813276201854E-01 + -4.428923769795259E-01 7.087420057781389E-17 -2.470792852465521E-01 + -4.488158216088903E-01 7.182210445829219E-17 -2.503838362871508E-01 + -4.603439803861967E-01 7.366690712355339E-17 -2.568151260969488E-01 + -4.827799873231008E-01 7.725724676013935E-17 -2.693316489496625E-01 + -5.264447578208595E-01 8.424473596360655E-17 -2.936912018474080E-01 + -5.792997681157088E-01 9.270290051077540E-17 -3.231777743064193E-01 + -6.486283222444570E-01 1.037972568521533E-16 -3.618545510848551E-01 + -7.395647990471329E-01 1.183494379953625E-16 -4.125858818981726E-01 + -8.588438308574121E-01 1.374371587705611E-16 -4.791288604104150E-01 + -1.015299061253791E+00 1.624740299314157E-16 -5.664115695034392E-01 + -1.220517352741252E+00 1.953142482533286E-16 -6.808980484219607E-01 + -1.489696894098452E+00 2.383899158358304E-16 -8.310670107669736E-01 + -1.842772757658596E+00 2.948911582907290E-16 -1.028039766543898E+00 + -2.305893263772081E+00 3.690023811251268E-16 -1.286403851322063E+00 + -2.913356490003837E+00 4.662121611471155E-16 -1.625293359365787E+00 + -3.710150340314304E+00 5.937197230320275E-16 -2.069805988745857E+00 + -4.755284288307993E+00 7.609681041533207E-16 -2.652861742873514E+00 + -6.126159538943099E+00 9.803434931435108E-16 -3.417640941375655E+00 + -7.924301256960678E+00 1.268092534251988E-15 -4.420782096095348E+00 + -1.028287738310875E+01 1.645525531818322E-15 -5.736576482583932E+00 + -1.337656087150955E+01 2.140594662555078E-15 -7.462470051369530E+00 + -1.743446573211479E+01 2.789964075904717E-15 -9.726280143100242E+00 + -2.275711490403628E+01 3.641725191299885E-15 -1.269566146771335E+01 + -2.973869657747422E+01 4.758958283565333E-15 -1.659052238522970E+01 + -3.889625723730799E+01 6.224404122653595E-15 -2.169931102111600E+01 + -5.090799342562633E+01 8.146591643027229E-15 -2.840037734386519E+01 + -6.666347805927931E+01 1.066787544958461E-14 -3.718999325133422E+01 + -8.732954099551750E+01 1.397497840693441E-14 -4.871910579549084E+01 + -4.162833480437567E-01 -1.384964871102136E-01 -2.398829523446983E-01 + -4.163107847865768E-01 -1.385056152497757E-01 -2.398987627461985E-01 + -4.163641819477480E-01 -1.385233803592345E-01 -2.399295328183831E-01 + -4.164681030596610E-01 -1.385579546678255E-01 -2.399894172774992E-01 + -4.166703534651952E-01 -1.386252429002631E-01 -2.401059639148328E-01 + -4.170639715259118E-01 -1.387561986997890E-01 -2.403327860131574E-01 + -4.178300277289294E-01 -1.390110637899866E-01 -2.407742252984552E-01 + -4.193209199535226E-01 -1.395070801133308E-01 -2.416333507718709E-01 + -4.222224820276844E-01 -1.404724229652418E-01 -2.433053736381043E-01 + -4.278694780555239E-01 -1.423511652119745E-01 -2.465594506637713E-01 + -4.388596148588688E-01 -1.460075577803458E-01 -2.528925083646077E-01 + -4.602485278952471E-01 -1.531235986514615E-01 -2.652178527021168E-01 + -5.018754529339348E-01 -1.669727783367667E-01 -2.892053355602162E-01 + -5.522637070431757E-01 -1.837368315196317E-01 -3.182415274137252E-01 + -6.183566806889694E-01 -2.057258078157678E-01 -3.563275515650607E-01 + -7.050491300021210E-01 -2.345681810340924E-01 -4.062840073900629E-01 + -8.187613803873277E-01 -2.723999782793014E-01 -4.718106023604092E-01 + -9.679148071288001E-01 -3.220229712268194E-01 -5.577601473691425E-01 + -1.163555511040310E+00 -3.871121715391642E-01 -6.704979493341517E-01 + -1.420172377733784E+00 -4.724879972532889E-01 -8.183732172091613E-01 + -1.756770104868121E+00 -5.844732664130050E-01 -1.012337393093066E+00 + -2.198276664323291E+00 -7.313614564114923E-01 -1.266755201202277E+00 + -2.777389434042454E+00 -9.240309076967250E-01 -1.600468479894717E+00 + -3.536996721566467E+00 -1.176750458934541E+00 -2.038191582704621E+00 + -4.533354014014713E+00 -1.508236177878603E+00 -2.612341689899234E+00 + -5.840250183284829E+00 -1.943037448004548E+00 -3.365439580952851E+00 + -7.554472189986932E+00 -2.513355062607539E+00 -4.353258665896719E+00 + -9.802972994685843E+00 -3.261425971950170E+00 -5.648955488542407E+00 + -1.275227352225179E+01 -4.242651294605277E+00 -7.348487601054218E+00 + -1.662079497606799E+01 -5.529699249278026E+00 -9.577720050325027E+00 + -2.169503481658613E+01 -7.217886864682193E+00 -1.250174677291360E+01 + -2.835078437529717E+01 -9.432239029616595E+00 -1.633711722843012E+01 + -3.708095945187753E+01 -1.233674766693165E+01 -2.136787375928244E+01 + -4.853210499084891E+01 -1.614651675327191E+01 -2.796658738192904E+01 + -6.355227732467421E+01 -2.114369262831115E+01 -3.662194989185447E+01 + -8.325385007737525E+01 -2.769835937061040E+01 -4.797496571619875E+01 + -3.561379211431203E-01 6.587144748546622E-02 -3.447370986070745E-01 + -3.561613937720323E-01 6.587578899461460E-02 -3.447598198212655E-01 + -3.562070760076149E-01 6.588423840368775E-02 -3.448040396597542E-01 + -3.562959823953759E-01 6.590068257350185E-02 -3.448900999424278E-01 + -3.564690112693766E-01 6.593268608031917E-02 -3.450575897503281E-01 + -3.568057586279408E-01 6.599497103968079E-02 -3.453835570244178E-01 + -3.574611335424157E-01 6.611618951066965E-02 -3.460179518279555E-01 + -3.587366187618226E-01 6.635210389288139E-02 -3.472526057295766E-01 + -3.612189575102154E-01 6.681123850562089E-02 -3.496554789061653E-01 + -3.660500645806977E-01 6.770480247844492E-02 -3.543319307403099E-01 + -3.754523250665299E-01 6.944384926641185E-02 -3.634332024887097E-01 + -3.937509263920052E-01 7.282836769230600E-02 -3.811460220313859E-01 + -4.293635124263147E-01 7.941528936369394E-02 -4.156185644215824E-01 + -4.724715736851333E-01 8.738857787028179E-02 -4.573466340336050E-01 + -5.290153060899803E-01 9.784693481183684E-02 -5.120802669786580E-01 + -6.031822618961151E-01 1.115648919416461E-01 -5.838729619970889E-01 + -7.004651454200478E-01 1.295583825890692E-01 -6.780415888664896E-01 + -8.280685952834739E-01 1.531599803062220E-01 -8.015601485777786E-01 + -9.954427501936970E-01 1.841175874607894E-01 -9.635762584049978E-01 + -1.214983113419729E+00 2.247238825185184E-01 -1.176088612053714E+00 + -1.502948546979472E+00 2.779861127058430E-01 -1.454835586669259E+00 + -1.880665380944419E+00 3.478488066673203E-01 -1.820460805736558E+00 + -2.376106812566465E+00 4.394859009157047E-01 -2.300041977881610E+00 + -3.025964563387502E+00 5.596839145639856E-01 -2.929096235306034E+00 + -3.878366218452042E+00 7.173445497411756E-01 -3.754210484503684E+00 + -4.996439490085390E+00 9.241439395980684E-01 -4.836491569471616E+00 + -6.462987370786357E+00 1.195397366917575E+00 -6.256091761830890E+00 + -8.386620410727057E+00 1.551193493218991E+00 -8.118144729527542E+00 + -1.090980026802761E+01 2.017882097827786E+00 -1.056055159391772E+01 + -1.421939022624725E+01 2.630025506851844E+00 -1.376419370008153E+01 + -1.856049403613055E+01 3.432958232251702E+00 -1.796632844430573E+01 + -2.425460796748923E+01 4.486144384408250E+00 -2.347816023557926E+01 + -3.172343038760199E+01 5.867581503616397E+00 -3.070788787271684E+01 + -4.152009217126745E+01 7.679576952301740E+00 -4.019093519465149E+01 + -5.437012082438974E+01 1.005632465974601E+01 -5.262960384492119E+01 + -7.122517206861912E+01 1.317384334277589E+01 -6.894508478039316E+01 + -3.561379211431203E-01 -6.587144748546601E-02 -3.447370986070746E-01 + -3.561613937720323E-01 -6.587578899461440E-02 -3.447598198212656E-01 + -3.562070760076149E-01 -6.588423840368754E-02 -3.448040396597543E-01 + -3.562959823953759E-01 -6.590068257350164E-02 -3.448900999424278E-01 + -3.564690112693766E-01 -6.593268608031896E-02 -3.450575897503281E-01 + -3.568057586279408E-01 -6.599497103968058E-02 -3.453835570244179E-01 + -3.574611335424157E-01 -6.611618951066944E-02 -3.460179518279556E-01 + -3.587366187618226E-01 -6.635210389288118E-02 -3.472526057295766E-01 + -3.612189575102154E-01 -6.681123850562068E-02 -3.496554789061653E-01 + -3.660500645806977E-01 -6.770480247844471E-02 -3.543319307403099E-01 + -3.754523250665299E-01 -6.944384926641164E-02 -3.634332024887098E-01 + -3.937509263920052E-01 -7.282836769230579E-02 -3.811460220313859E-01 + -4.293635124263147E-01 -7.941528936369371E-02 -4.156185644215825E-01 + -4.724715736851333E-01 -8.738857787028154E-02 -4.573466340336051E-01 + -5.290153060899803E-01 -9.784693481183655E-02 -5.120802669786582E-01 + -6.031822618961151E-01 -1.115648919416457E-01 -5.838729619970890E-01 + -7.004651454200478E-01 -1.295583825890688E-01 -6.780415888664897E-01 + -8.280685952834739E-01 -1.531599803062215E-01 -8.015601485777787E-01 + -9.954427501936970E-01 -1.841175874607889E-01 -9.635762584049981E-01 + -1.214983113419729E+00 -2.247238825185177E-01 -1.176088612053715E+00 + -1.502948546979472E+00 -2.779861127058422E-01 -1.454835586669259E+00 + -1.880665380944419E+00 -3.478488066673192E-01 -1.820460805736559E+00 + -2.376106812566465E+00 -4.394859009157033E-01 -2.300041977881610E+00 + -3.025964563387502E+00 -5.596839145639838E-01 -2.929096235306034E+00 + -3.878366218452042E+00 -7.173445497411732E-01 -3.754210484503685E+00 + -4.996439490085390E+00 -9.241439395980654E-01 -4.836491569471617E+00 + -6.462987370786357E+00 -1.195397366917571E+00 -6.256091761830891E+00 + -8.386620410727057E+00 -1.551193493218987E+00 -8.118144729527543E+00 + -1.090980026802761E+01 -2.017882097827780E+00 -1.056055159391773E+01 + -1.421939022624725E+01 -2.630025506851836E+00 -1.376419370008153E+01 + -1.856049403613055E+01 -3.432958232251691E+00 -1.796632844430574E+01 + -2.425460796748923E+01 -4.486144384408235E+00 -2.347816023557927E+01 + -3.172343038760199E+01 -5.867581503616377E+00 -3.070788787271685E+01 + -4.152009217126745E+01 -7.679576952301714E+00 -4.019093519465149E+01 + -5.437012082438974E+01 -1.005632465974598E+01 -5.262960384492120E+01 + -7.122517206861912E+01 -1.317384334277584E+01 -6.894508478039316E+01 + -3.190906466620158E-01 -1.924825270244121E-01 -3.333895163755315E-01 + -3.191116775489103E-01 -1.924952133199754E-01 -3.334114896840069E-01 + -3.191526076864430E-01 -1.925199032831134E-01 -3.334542539545989E-01 + -3.192322655804184E-01 -1.925679546844635E-01 -3.335374814231122E-01 + -3.193872951125696E-01 -1.926614719229787E-01 -3.336994580316041E-01 + -3.196890123014077E-01 -1.928434743964507E-01 -3.340146955627608E-01 + -3.202762117902872E-01 -1.931976860998313E-01 -3.346282082296515E-01 + -3.214190145622078E-01 -1.938870499772463E-01 -3.358222214902369E-01 + -3.236431278324724E-01 -1.952286842342432E-01 -3.381460001885305E-01 + -3.279716786205086E-01 -1.978397616906038E-01 -3.426685190054448E-01 + -3.363958682403027E-01 -2.029214189660936E-01 -3.514702075932451E-01 + -3.527909561635846E-01 -2.128112981815235E-01 -3.685999808750891E-01 + -3.846989402123482E-01 -2.320588990316544E-01 -4.019378034713218E-01 + -4.233226821022055E-01 -2.553575933677907E-01 -4.422923258115271E-01 + -4.739844484196876E-01 -2.859178899678916E-01 -4.952243122172763E-01 + -5.404361809764745E-01 -3.260030430160438E-01 -5.646538339258503E-01 + -6.275992051025193E-01 -3.785817046671378E-01 -6.557227472995185E-01 + -7.419286963359504E-01 -4.475477794055667E-01 -7.751754927450699E-01 + -8.918917419823833E-01 -5.380088013385508E-01 -9.318585788376010E-01 + -1.088594402135376E+00 -6.566641912559360E-01 -1.137375742766408E+00 + -1.346604209448087E+00 -8.123014066621130E-01 -1.406947307398449E+00 + -1.685029020875480E+00 -1.016446728979575E+00 -1.760537377779818E+00 + -2.128932119686185E+00 -1.284218884343172E+00 -2.224332355721795E+00 + -2.711188368282849E+00 -1.635448715985183E+00 -2.832680269259621E+00 + -3.474918875995368E+00 -2.096147829631883E+00 -3.630634541097655E+00 + -4.476684490046975E+00 -2.700434977800958E+00 -4.677290584087395E+00 + -5.790674615309771E+00 -3.493062848412291E+00 -6.050162327481355E+00 + -7.514201581168667E+00 -4.532732388255086E+00 -7.850922793570834E+00 + -9.774907460863670E+00 -5.896440115619319E+00 -1.021293386403997E+01 + -1.274021707059214E+01 -7.685180378178240E+00 -1.331112288033612E+01 + -1.662973722468417E+01 -1.003142485761924E+01 -1.737493752570593E+01 + -2.173152051889918E+01 -1.310893324300788E+01 -2.270533840991831E+01 + -2.842339811561205E+01 -1.714562163806973E+01 -2.969708780448912E+01 + -3.720096140807205E+01 -2.244044171920795E+01 -3.886798520195649E+01 + -4.871426484789990E+01 -2.938552069184311E+01 -5.089721484513885E+01 + -6.381596809752718E+01 -3.849520170026190E+01 -6.667564519246550E+01 + -2.448423563676757E-01 1.191171466466294E-01 -4.193808049125368E-01 + -2.448584936376259E-01 1.191249975167960E-01 -4.194084458050735E-01 + -2.448898998584750E-01 1.191402768151576E-01 -4.194622402807288E-01 + -2.449510223848425E-01 1.191700132588218E-01 -4.195669346427933E-01 + -2.450699785383856E-01 1.192278860786897E-01 -4.197706899413547E-01 + -2.453014900171598E-01 1.193405176804135E-01 -4.201672368123914E-01 + -2.457520557357703E-01 1.195597203689266E-01 -4.209389930417470E-01 + -2.466289429979561E-01 1.199863308220848E-01 -4.224409786102929E-01 + -2.483355337100837E-01 1.208165965454592E-01 -4.253641304583889E-01 + -2.516568863905417E-01 1.224324528056774E-01 -4.310531443250794E-01 + -2.581208754123923E-01 1.255772188488604E-01 -4.421250558976777E-01 + -2.707010372002227E-01 1.316975364227896E-01 -4.636731183113050E-01 + -2.951844436653345E-01 1.436088476909030E-01 -5.056097785471683E-01 + -3.248209374797904E-01 1.580271641626135E-01 -5.563729586401891E-01 + -3.636943622344165E-01 1.769392980999294E-01 -6.229577130313797E-01 + -4.146836311275027E-01 2.017458565330683E-01 -7.102952184676222E-01 + -4.815649403680027E-01 2.342839795886875E-01 -8.248535723366106E-01 + -5.692914291533695E-01 2.769633965999674E-01 -9.751168112008439E-01 + -6.843600024514057E-01 3.329448873979794E-01 -1.172213227057094E+00 + -8.352924829846302E-01 4.063743653859195E-01 -1.430739513572715E+00 + -1.033266725881592E+00 5.026899182717114E-01 -1.769841777453063E+00 + -1.292944435491601E+00 6.290245454798655E-01 -2.214633473178090E+00 + -1.633556991355226E+00 7.947344184299657E-01 -2.798055271434653E+00 + -2.080329698131594E+00 1.012091785922685E+00 -3.563314600582175E+00 + -2.666349937503512E+00 1.297193840267941E+00 -4.567085530289168E+00 + -3.435017574860820E+00 1.671154853549941E+00 -5.883705976389744E+00 + -4.443259094562806E+00 2.161669872026611E+00 -7.610683066268306E+00 + -5.765743498284928E+00 2.805065773753220E+00 -9.875914384677895E+00 + -7.500412190172580E+00 3.648991587980424E+00 -1.284715989567913E+01 + -9.775732384608284E+00 4.755947317738368E+00 -1.674446601841245E+01 + -1.276021121414967E+01 6.207912605428989E+00 -2.185646196693181E+01 + -1.667487513958883E+01 8.112418034132533E+00 -2.856173523896069E+01 + -2.180963887034370E+01 1.061050869698188E+01 -3.735686929332309E+01 + -2.854477605525997E+01 1.388718980576880E+01 -4.889321984847339E+01 + -3.737908183411087E+01 1.818512792641121E+01 -6.402515340499545E+01 + -4.896681293022350E+01 2.382262253622694E+01 -8.387332047172659E+01 + -2.596502903767808E-01 1.407666474869222E-16 -4.273156448496254E-01 + -2.596674036201371E-01 1.407759252500682E-16 -4.273438087180719E-01 + -2.597007092723294E-01 1.407939815557040E-16 -4.273986210051024E-01 + -2.597655284562130E-01 1.408291225878780E-16 -4.275052962232184E-01 + -2.598916790139342E-01 1.408975137730496E-16 -4.277129066473875E-01 + -2.601371921824115E-01 1.410306161300326E-16 -4.281169563318872E-01 + -2.606150078733182E-01 1.412896588325382E-16 -4.289033144745366E-01 + -2.615449288054315E-01 1.417938055902851E-16 -4.304337181655493E-01 + -2.633547332058304E-01 1.427749718261539E-16 -4.334121771277401E-01 + -2.668769595098019E-01 1.446845094114224E-16 -4.392088292408721E-01 + -2.737318871106270E-01 1.484008356120728E-16 -4.504902254753745E-01 + -2.870728903163464E-01 1.556335188209237E-16 -4.724459851994264E-01 + -3.130370400345129E-01 1.697097068558810E-16 -5.151761025572413E-01 + -3.444659330529966E-01 1.867485474364833E-16 -5.668997407924028E-01 + -3.856904016262421E-01 2.090979552767939E-16 -6.347443033630703E-01 + -4.397634740741655E-01 2.384130972578264E-16 -7.237342667039747E-01 + -5.106897289211709E-01 2.768650130986601E-16 -8.404601069976132E-01 + -6.037218685590131E-01 3.273013996182006E-16 -9.935663819160714E-01 + -7.257497272731741E-01 3.934575073054823E-16 -1.194391934856503E+00 + -8.858105230404273E-01 4.802327679129321E-16 -1.457809634329041E+00 + -1.095758141654776E+00 5.940536397375673E-16 -1.803327838459101E+00 + -1.371141019457850E+00 7.433495424203167E-16 -2.256535157573615E+00 + -1.732353639480011E+00 9.391771283502344E-16 -2.850995512031957E+00 + -2.206146919237138E+00 1.196039123368470E-15 -3.630733830718391E+00 + -2.827609347458064E+00 1.532958379005724E-15 -4.653496477660483E+00 + -3.642765590046033E+00 1.974886679107505E-15 -5.995027869553834E+00 + -4.711985014512858E+00 2.554552635158178E-15 -7.754680004696004E+00 + -6.114452563589864E+00 3.314885522929234E-15 -1.006277033744653E+01 + -7.954033084861151E+00 4.312194566511804E-15 -1.309023291243214E+01 + -1.036696342073085E+01 5.620339123203757E-15 -1.706127750842766E+01 + -1.353194192449141E+01 7.336198607497212E-15 -2.226999431096657E+01 + -1.768336261839050E+01 9.586847249330067E-15 -2.910213383325000E+01 + -2.312867409752264E+01 1.253896503948229E-14 -3.806367507680446E+01 + -3.027114875646135E+01 1.641118182398934E-14 -4.981829765118167E+01 + -3.963974859672469E+01 2.149026873448993E-14 -6.523653298714426E+01 + -5.192829943633308E+01 2.815237606991452E-14 -8.546023471562975E+01 + -2.448423563676757E-01 -1.191171466466291E-01 -4.193808049125369E-01 + -2.448584936376259E-01 -1.191249975167957E-01 -4.194084458050736E-01 + -2.448898998584751E-01 -1.191402768151573E-01 -4.194622402807288E-01 + -2.449510223848425E-01 -1.191700132588215E-01 -4.195669346427933E-01 + -2.450699785383856E-01 -1.192278860786894E-01 -4.197706899413547E-01 + -2.453014900171599E-01 -1.193405176804132E-01 -4.201672368123914E-01 + -2.457520557357703E-01 -1.195597203689263E-01 -4.209389930417470E-01 + -2.466289429979562E-01 -1.199863308220846E-01 -4.224409786102930E-01 + -2.483355337100838E-01 -1.208165965454589E-01 -4.253641304583890E-01 + -2.516568863905417E-01 -1.224324528056771E-01 -4.310531443250794E-01 + -2.581208754123924E-01 -1.255772188488601E-01 -4.421250558976778E-01 + -2.707010372002228E-01 -1.316975364227893E-01 -4.636731183113051E-01 + -2.951844436653345E-01 -1.436088476909027E-01 -5.056097785471684E-01 + -3.248209374797904E-01 -1.580271641626131E-01 -5.563729586401892E-01 + -3.636943622344165E-01 -1.769392980999289E-01 -6.229577130313797E-01 + -4.146836311275028E-01 -2.017458565330678E-01 -7.102952184676222E-01 + -4.815649403680027E-01 -2.342839795886869E-01 -8.248535723366106E-01 + -5.692914291533696E-01 -2.769633965999667E-01 -9.751168112008439E-01 + -6.843600024514058E-01 -3.329448873979786E-01 -1.172213227057094E+00 + -8.352924829846303E-01 -4.063743653859185E-01 -1.430739513572715E+00 + -1.033266725881592E+00 -5.026899182717102E-01 -1.769841777453063E+00 + -1.292944435491601E+00 -6.290245454798640E-01 -2.214633473178090E+00 + -1.633556991355226E+00 -7.947344184299637E-01 -2.798055271434653E+00 + -2.080329698131594E+00 -1.012091785922682E+00 -3.563314600582175E+00 + -2.666349937503512E+00 -1.297193840267937E+00 -4.567085530289168E+00 + -3.435017574860820E+00 -1.671154853549936E+00 -5.883705976389744E+00 + -4.443259094562807E+00 -2.161669872026605E+00 -7.610683066268307E+00 + -5.765743498284930E+00 -2.805065773753213E+00 -9.875914384677895E+00 + -7.500412190172582E+00 -3.648991587980415E+00 -1.284715989567913E+01 + -9.775732384608286E+00 -4.755947317738356E+00 -1.674446601841245E+01 + -1.276021121414967E+01 -6.207912605428975E+00 -2.185646196693181E+01 + -1.667487513958883E+01 -8.112418034132514E+00 -2.856173523896069E+01 + -2.180963887034370E+01 -1.061050869698185E+01 -3.735686929332309E+01 + -2.854477605525998E+01 -1.388718980576876E+01 -4.889321984847339E+01 + -3.737908183411088E+01 -1.818512792641116E+01 -6.402515340499545E+01 + -4.896681293022351E+01 -2.382262253622689E+01 -8.387332047172659E+01 + -1.989931522129461E-01 -2.293570682355096E-01 -3.972580952589448E-01 + -1.990062676161105E-01 -2.293721848884450E-01 -3.972842780698693E-01 + -1.990317927049007E-01 -2.294016047929304E-01 -3.973352348391919E-01 + -1.990814694208640E-01 -2.294588615668758E-01 -3.974344064807427E-01 + -1.991781498331907E-01 -2.295702942251378E-01 -3.976274135064751E-01 + -1.993663084492824E-01 -2.297871635398360E-01 -3.980030421781349E-01 + -1.997325011863379E-01 -2.302092328002410E-01 -3.987340875814693E-01 + -2.004451824520569E-01 -2.310306604919676E-01 -4.001568420782838E-01 + -2.018321968166533E-01 -2.326293162483423E-01 -4.029257950721374E-01 + -2.045315926618017E-01 -2.357406068136971E-01 -4.083147084084416E-01 + -2.097851344525707E-01 -2.417957746904996E-01 -4.188025668194225E-01 + -2.200095338851180E-01 -2.535802921587611E-01 -4.392139498171343E-01 + -2.399081752055241E-01 -2.765152222524077E-01 -4.789384140073707E-01 + -2.639949362225678E-01 -3.042773277757509E-01 -5.270237912988897E-01 + -2.955889195675878E-01 -3.406921657403303E-01 -5.900961408029294E-01 + -3.370299328652703E-01 -3.884565697359712E-01 -6.728265153166253E-01 + -3.913870414445969E-01 -4.511079068441560E-01 -7.813418143501268E-01 + -4.626858591612462E-01 -5.332860502540819E-01 -9.236785340078002E-01 + -5.562066799086064E-01 -6.410770019881370E-01 -1.110377939007388E+00 + -6.788755290334004E-01 -7.824636139705388E-01 -1.355266734470935E+00 + -8.397770953942395E-01 -9.679167872311534E-01 -1.676481052983193E+00 + -1.050827531116790E+00 -1.211170932656976E+00 -2.097809592012468E+00 + -1.327656945684372E+00 -1.530241122864468E+00 -2.650455372632510E+00 + -1.690766950681355E+00 -1.948757264083075E+00 -3.375346593010809E+00 + -2.167048981385576E+00 -2.497714095013001E+00 -4.326167715343439E+00 + -2.791775840050959E+00 -3.217766615202939E+00 -5.573335264430427E+00 + -3.611213951879053E+00 -4.162240939265162E+00 -7.209212780150471E+00 + -4.686049793819459E+00 -5.401083556714081E+00 -9.354951136153613E+00 + -6.095884252876329E+00 -7.026041474264183E+00 -1.216946080951171E+01 + -7.945127760011231E+00 -9.157456874911418E+00 -1.586118057546750E+01 + -1.037073278527658E+01 -1.195317949704890E+01 -2.070351420087930E+01 + -1.355233635229848E+01 -1.562025677234575E+01 -2.705507835697470E+01 + -1.772556371299756E+01 -2.043026747817085E+01 -3.538626128441402E+01 + -2.319947843468277E+01 -2.673943449409612E+01 -4.631405910943431E+01 + -3.037947122933909E+01 -3.501500618599135E+01 -6.064776974147560E+01 + -3.979728264081206E+01 -4.586986018729321E+01 -7.944892838047276E+01 + -1.173778669539042E-01 1.572097188784592E-01 -4.599178994837069E-01 + -1.173856031902046E-01 1.572200803849811E-01 -4.599482121281732E-01 + -1.174006593890872E-01 1.572402458629808E-01 -4.600072063452604E-01 + -1.174299616383969E-01 1.572794917489048E-01 -4.601220204009455E-01 + -1.174869894328156E-01 1.573558717663773E-01 -4.603454705632450E-01 + -1.175979764530232E-01 1.575045219224826E-01 -4.607803474146356E-01 + -1.178139784706383E-01 1.577938236226045E-01 -4.616267011336446E-01 + -1.182343598046582E-01 1.583568601903841E-01 -4.632738677174479E-01 + -1.190525024680627E-01 1.594526372857952E-01 -4.664795696525391E-01 + -1.206447649295804E-01 1.615852295747164E-01 -4.727184801535755E-01 + -1.237436129175442E-01 1.657356629884210E-01 -4.848605959921885E-01 + -1.297745651534927E-01 1.738132020525380E-01 -5.084914810664020E-01 + -1.415119543424968E-01 1.895336415413136E-01 -5.544817134783565E-01 + -1.557197428948564E-01 2.085628035304150E-01 -6.101516318103707E-01 + -1.743557327888562E-01 2.335228646414938E-01 -6.831724282286080E-01 + -1.988000802007964E-01 2.662623332016752E-01 -7.789519240373413E-01 + -2.308631003995791E-01 3.092058499195629E-01 -9.045834189998359E-01 + -2.729193372441506E-01 3.655337534928786E-01 -1.069371011513684E+00 + -3.280834186862929E-01 4.394176121858752E-01 -1.285518647539321E+00 + -4.004407218991713E-01 5.363291645262093E-01 -1.569033928312328E+00 + -4.953499307787152E-01 6.634455488509439E-01 -1.940913611614822E+00 + -6.198398928166819E-01 8.301808324531293E-01 -2.428698603224807E+00 + -7.831301660280376E-01 1.048883204657808E+00 -3.068513599104568E+00 + -9.973138069332169E-01 1.335749467002577E+00 -3.907742431466699E+00 + -1.278252965948651E+00 1.712024546427150E+00 -5.008537251224666E+00 + -1.646753616767455E+00 2.205574865794462E+00 -6.452421432128379E+00 + -2.130106418597482E+00 2.852952093433601E+00 -8.346327081432191E+00 + -2.764107825427605E+00 3.702100110201135E+00 -1.083051428695992E+01 + -3.595711122937662E+00 4.815905668375894E+00 -1.408895858928100E+01 + -4.686503725255815E+00 6.276855699376913E+00 -1.836297596112117E+01 + -6.117268255452523E+00 8.193146184207654E+00 -2.396909434153339E+01 + -7.993965197216268E+00 1.070669500129944E+01 -3.132249526644915E+01 + -1.045558018479302E+01 1.400365217241517E+01 -4.096776165102672E+01 + -1.368441709085608E+01 1.832818588119274E+01 -5.361920886292036E+01 + -1.791959920445612E+01 2.400056523819379E+01 -7.021378595114464E+01 + -2.347477837800820E+01 3.144087897755114E+01 -9.198046482390910E+01 + -1.348999066177580E-01 5.363594225509150E-02 -4.784789802268500E-01 + -1.349087977109563E-01 5.363947733657022E-02 -4.785105162101821E-01 + -1.349261014827490E-01 5.364635728280546E-02 -4.785718912792169E-01 + -1.349597779398030E-01 5.365974697706983E-02 -4.786913389292031E-01 + -1.350253187810309E-01 5.368580588892224E-02 -4.789238069542759E-01 + -1.351528738222864E-01 5.373652152689903E-02 -4.793762342953540E-01 + -1.354011203849622E-01 5.383522388062587E-02 -4.802567446317362E-01 + -1.358842557849725E-01 5.402731758228996E-02 -4.819703865407959E-01 + -1.368245298907937E-01 5.440116875022798E-02 -4.853054622022032E-01 + -1.386544835519387E-01 5.512875479057110E-02 -4.917961587756864E-01 + -1.422159241799500E-01 5.654477670384205E-02 -5.044282985788506E-01 + -1.491471703727704E-01 5.930062679947878E-02 -5.290128642260246E-01 + -1.626367041888411E-01 6.466403938401817E-02 -5.768591418542067E-01 + -1.789654158846401E-01 7.115630360846667E-02 -6.347757521507751E-01 + -2.003833659775425E-01 7.967203918759067E-02 -7.107434764876018E-01 + -2.284767388490887E-01 9.084190996710570E-02 -8.103883816601348E-01 + -2.653260916525237E-01 1.054931414516674E-01 -9.410900344149188E-01 + -3.136604375582559E-01 1.247107840055890E-01 -1.112528022170072E+00 + -3.770593527738630E-01 1.499180702135404E-01 -1.337398810152211E+00 + -4.602180751108721E-01 1.829818175585505E-01 -1.632356024418674E+00 + -5.692952269391955E-01 2.263506823969169E-01 -2.019243796852426E+00 + -7.123689144203716E-01 2.832365041321945E-01 -2.526714511989870E+00 + -9.000349811112129E-01 3.578521696922260E-01 -3.192350763821029E+00 + -1.146191721789648E+00 4.557236142302913E-01 -4.065448671809340E+00 + -1.469069171346104E+00 5.840990643998142E-01 -5.210668684746564E+00 + -1.892579196481948E+00 7.524858322053912E-01 -6.712824246032701E+00 + -2.448086376178005E+00 9.733544136558714E-01 -8.683162962447154E+00 + -3.176730819942673E+00 1.263062036812301E+00 -1.126760545126489E+01 + -4.132474948613730E+00 1.643064055948581E+00 -1.465755202357874E+01 + -5.386099878174317E+00 2.141502906035994E+00 -1.910405753216109E+01 + -7.030447373356981E+00 2.795292293369133E+00 -2.493642415390347E+01 + -9.187295583021440E+00 3.652850974668708E+00 -3.258658906312444E+01 + -1.201637776495772E+01 4.777688584639800E+00 -4.262111311380772E+01 + -1.572721191466101E+01 6.253109073518827E+00 -5.578313956926021E+01 + -2.059461738436691E+01 8.188380084825040E+00 -7.304743028589212E+01 + -2.697906763214135E+01 1.072682516907877E+01 -9.569255525636443E+01 + -1.348999066177580E-01 -5.363594225509116E-02 -4.784789802268501E-01 + -1.349087977109563E-01 -5.363947733656988E-02 -4.785105162101822E-01 + -1.349261014827490E-01 -5.364635728280512E-02 -4.785718912792170E-01 + -1.349597779398030E-01 -5.365974697706949E-02 -4.786913389292031E-01 + -1.350253187810309E-01 -5.368580588892190E-02 -4.789238069542760E-01 + -1.351528738222864E-01 -5.373652152689869E-02 -4.793762342953541E-01 + -1.354011203849622E-01 -5.383522388062553E-02 -4.802567446317363E-01 + -1.358842557849725E-01 -5.402731758228962E-02 -4.819703865407960E-01 + -1.368245298907937E-01 -5.440116875022764E-02 -4.853054622022033E-01 + -1.386544835519387E-01 -5.512875479057075E-02 -4.917961587756865E-01 + -1.422159241799500E-01 -5.654477670384169E-02 -5.044282985788507E-01 + -1.491471703727704E-01 -5.930062679947840E-02 -5.290128642260247E-01 + -1.626367041888411E-01 -6.466403938401775E-02 -5.768591418542068E-01 + -1.789654158846401E-01 -7.115630360846621E-02 -6.347757521507752E-01 + -2.003833659775425E-01 -7.967203918759015E-02 -7.107434764876019E-01 + -2.284767388490887E-01 -9.084190996710512E-02 -8.103883816601349E-01 + -2.653260916525236E-01 -1.054931414516667E-01 -9.410900344149189E-01 + -3.136604375582558E-01 -1.247107840055882E-01 -1.112528022170073E+00 + -3.770593527738630E-01 -1.499180702135394E-01 -1.337398810152212E+00 + -4.602180751108721E-01 -1.829818175585493E-01 -1.632356024418675E+00 + -5.692952269391955E-01 -2.263506823969155E-01 -2.019243796852426E+00 + -7.123689144203715E-01 -2.832365041321926E-01 -2.526714511989871E+00 + -9.000349811112127E-01 -3.578521696922237E-01 -3.192350763821030E+00 + -1.146191721789648E+00 -4.557236142302884E-01 -4.065448671809341E+00 + -1.469069171346104E+00 -5.840990643998104E-01 -5.210668684746564E+00 + -1.892579196481947E+00 -7.524858322053863E-01 -6.712824246032703E+00 + -2.448086376178004E+00 -9.733544136558651E-01 -8.683162962447156E+00 + -3.176730819942673E+00 -1.263062036812293E+00 -1.126760545126489E+01 + -4.132474948613730E+00 -1.643064055948570E+00 -1.465755202357874E+01 + -5.386099878174317E+00 -2.141502906035980E+00 -1.910405753216110E+01 + -7.030447373356981E+00 -2.795292293369116E+00 -2.493642415390348E+01 + -9.187295583021438E+00 -3.652850974668685E+00 -3.258658906312444E+01 + -1.201637776495771E+01 -4.777688584639770E+00 -4.262111311380772E+01 + -1.572721191466101E+01 -6.253109073518787E+00 -5.578313956926022E+01 + -2.059461738436691E+01 -8.188380084824987E+00 -7.304743028589213E+01 + -2.697906763214135E+01 -1.072682516907870E+01 -9.569255525636444E+01 + -1.173778669539042E-01 -1.572097188784589E-01 -4.599178994837070E-01 + -1.173856031902046E-01 -1.572200803849808E-01 -4.599482121281733E-01 + -1.174006593890873E-01 -1.572402458629805E-01 -4.600072063452605E-01 + -1.174299616383969E-01 -1.572794917489045E-01 -4.601220204009456E-01 + -1.174869894328156E-01 -1.573558717663770E-01 -4.603454705632452E-01 + -1.175979764530232E-01 -1.575045219224823E-01 -4.607803474146357E-01 + -1.178139784706383E-01 -1.577938236226042E-01 -4.616267011336447E-01 + -1.182343598046582E-01 -1.583568601903838E-01 -4.632738677174481E-01 + -1.190525024680627E-01 -1.594526372857949E-01 -4.664795696525392E-01 + -1.206447649295804E-01 -1.615852295747161E-01 -4.727184801535756E-01 + -1.237436129175442E-01 -1.657356629884207E-01 -4.848605959921886E-01 + -1.297745651534928E-01 -1.738132020525377E-01 -5.084914810664021E-01 + -1.415119543424969E-01 -1.895336415413132E-01 -5.544817134783566E-01 + -1.557197428948564E-01 -2.085628035304146E-01 -6.101516318103708E-01 + -1.743557327888563E-01 -2.335228646414934E-01 -6.831724282286082E-01 + -1.988000802007965E-01 -2.662623332016748E-01 -7.789519240373415E-01 + -2.308631003995791E-01 -3.092058499195623E-01 -9.045834189998362E-01 + -2.729193372441507E-01 -3.655337534928779E-01 -1.069371011513684E+00 + -3.280834186862929E-01 -4.394176121858743E-01 -1.285518647539322E+00 + -4.004407218991715E-01 -5.363291645262083E-01 -1.569033928312328E+00 + -4.953499307787153E-01 -6.634455488509425E-01 -1.940913611614823E+00 + -6.198398928166821E-01 -8.301808324531277E-01 -2.428698603224808E+00 + -7.831301660280378E-01 -1.048883204657806E+00 -3.068513599104568E+00 + -9.973138069332170E-01 -1.335749467002575E+00 -3.907742431466700E+00 + -1.278252965948651E+00 -1.712024546427146E+00 -5.008537251224668E+00 + -1.646753616767455E+00 -2.205574865794458E+00 -6.452421432128382E+00 + -2.130106418597482E+00 -2.852952093433595E+00 -8.346327081432195E+00 + -2.764107825427605E+00 -3.702100110201128E+00 -1.083051428695993E+01 + -3.595711122937663E+00 -4.815905668375884E+00 -1.408895858928100E+01 + -4.686503725255816E+00 -6.276855699376901E+00 -1.836297596112118E+01 + -6.117268255452524E+00 -8.193146184207638E+00 -2.396909434153340E+01 + -7.993965197216269E+00 -1.070669500129942E+01 -3.132249526644916E+01 + -1.045558018479302E+01 -1.400365217241514E+01 -4.096776165102673E+01 + -1.368441709085608E+01 -1.832818588119271E+01 -5.361920886292037E+01 + -1.791959920445613E+01 -2.400056523819374E+01 -7.021378595114467E+01 + -2.347477837800820E+01 -3.144087897755108E+01 -9.198046482390914E+01 + -7.787945231879141E-02 -2.469573467891381E-01 -4.277426719411943E-01 + -7.788458526132752E-02 -2.469736234556040E-01 -4.277708639544910E-01 + -7.789457495149152E-02 -2.470053009687951E-01 -4.278257310167956E-01 + -7.791401680358140E-02 -2.470669514820670E-01 -4.279325128380951E-01 + -7.795185437476523E-02 -2.471869351993415E-01 -4.281403307324955E-01 + -7.802549354177839E-02 -2.474204465141218E-01 -4.285447841938372E-01 + -7.816880947746686E-02 -2.478749042969700E-01 -4.293319281636254E-01 + -7.844772976208381E-02 -2.487593662622739E-01 -4.308638612248940E-01 + -7.899056210516602E-02 -2.504806987987453E-01 -4.338452966347840E-01 + -8.004701790615161E-02 -2.538307418953947E-01 -4.396477414857260E-01 + -8.210308341820068E-02 -2.603505679671270E-01 -4.509404114984786E-01 + -8.610458105387434E-02 -2.730393993580295E-01 -4.729181121561966E-01 + -9.389226254284808E-02 -2.977342977027599E-01 -5.156909307770184E-01 + -1.033190379634092E-01 -3.276267966524105E-01 -5.674662577230126E-01 + -1.156838962116274E-01 -3.668360167417377E-01 -6.353786190428776E-01 + -1.319025619459415E-01 -4.182657397168141E-01 -7.244575122549026E-01 + -1.531761675887171E-01 -4.857247812194808E-01 -8.412999995674189E-01 + -1.810802075669769E-01 -5.742090665162117E-01 -9.945592773727767E-01 + -2.176812172962677E-01 -6.902716219582984E-01 -1.195585520254751E+00 + -2.656898179952112E-01 -8.425078832398831E-01 -1.459266459548787E+00 + -3.286614616224666E-01 -1.042192261726271E+00 -1.805129948565024E+00 + -4.112597428343020E-01 -1.304113112092807E+00 -2.258790168961511E+00 + -5.196017784898000E-01 -1.647667937847021E+00 -2.853844582353283E+00 + -6.617112330421706E-01 -2.098299944171969E+00 -3.634362112824792E+00 + -8.481125402632006E-01 -2.689382327249094E+00 -4.658146831773264E+00 + -1.092610328557112E+00 -3.464689847976326E+00 -6.001018849163090E+00 + -1.413311773047144E+00 -4.481640731484173E+00 -7.762429448200743E+00 + -1.833967588446002E+00 -5.815548983138088E+00 -1.007282631270070E+01 + -2.385730974826317E+00 -7.565202041792100E+00 -1.310331430590774E+01 + -3.109464781433044E+00 -9.860176843740915E+00 -1.707832726497341E+01 + -4.058767753965602E+00 -1.287043611516001E+01 -2.229224926702655E+01 + -5.303943985105573E+00 -1.681891558145728E+01 -2.913121631529588E+01 + -6.937209540420976E+00 -2.199803428521654E+01 -3.810171304863719E+01 + -9.079521855311173E+00 -2.879135074452250E+01 -4.986808230804905E+01 + -1.188953767888243E+01 -3.770196877742834E+01 -6.530172546788141E+01 + -1.557536297794748E+01 -4.938979668946100E+01 -8.554563724164366E+01 + -5.109147339111674E-17 1.912052275717799E-01 -4.620146042878099E-01 + -5.109484076966388E-17 1.912178296820478E-01 -4.620450551236086E-01 + -5.110139433384549E-17 1.912423558044628E-01 -4.621043182875197E-01 + -5.111414882606583E-17 1.912900883403574E-01 -4.622196557652817E-01 + -5.113897151297187E-17 1.913829850055697E-01 -4.624441246072832E-01 + -5.118728122021783E-17 1.915637797244297E-01 -4.628809840046555E-01 + -5.128130117152384E-17 1.919156409058079E-01 -4.637311961382002E-01 + -5.146428202045709E-17 1.926004302168095E-01 -4.653858719363509E-01 + -5.182039783004054E-17 1.939331614906183E-01 -4.686061882420839E-01 + -5.251346746314482E-17 1.965269120349868E-01 -4.748735411099744E-01 + -5.386231383110908E-17 2.015748478181583E-01 -4.870710112469075E-01 + -5.648742743797901E-17 2.113990985451027E-01 -5.108096263971105E-01 + -6.159640175309999E-17 2.305189737756130E-01 -5.570095221888730E-01 + -6.778067541224359E-17 2.536630597429656E-01 -6.129332323070772E-01 + -7.589242770844378E-17 2.840205605323349E-01 -6.862869208671978E-01 + -8.653240403252209E-17 3.238397115446732E-01 -7.825030627147613E-01 + -1.004885866233019E-16 3.760694651842958E-01 -9.087072950274009E-01 + -1.187945514651980E-16 4.445778862807273E-01 -1.074246132355309E+00 + -1.428060135260432E-16 5.344386157321767E-01 -1.291379156832579E+00 + -1.743012291718135E-16 6.523066174801717E-01 -1.576186946229191E+00 + -2.156126914251311E-16 8.069110361274912E-01 -1.949761979765725E+00 + -2.697998712400592E-16 1.009701665567192E+00 -2.439770718562819E+00 + -3.408757977780876E-16 1.275696905214004E+00 -3.082502546288229E+00 + -4.341042579137357E-16 1.624596002328368E+00 -3.925557311771316E+00 + -5.563896251627130E-16 2.082237951593522E+00 -5.031370509351738E+00 + -7.167881882351856E-16 2.682515096072800E+00 -6.481837167045477E+00 + -9.271788475144062E-16 3.469883148242824E+00 -8.384376881424537E+00 + -1.203142850333716E-15 4.502653519861424E+00 -1.087988916748070E+01 + -1.565117717055272E-15 5.857311786162150E+00 -1.415318828591188E+01 + -2.039910816153341E-15 7.634182103985890E+00 -1.844669033700985E+01 + -2.662684681623276E-15 9.964857082986203E+00 -2.407836626878890E+01 + -3.479561102635145E-15 1.302194335610888E+01 -3.146529037482694E+01 + -4.551036840785526E-15 1.703184459309895E+01 -4.115452825168193E+01 + -5.956463938341838E-15 2.229152864970563E+01 -5.386365173618381E+01 + -7.799926423040984E-15 2.919052060495084E+01 -7.053388130399630E+01 + -1.021794863024196E-14 3.823975046102045E+01 -9.239979158352516E+01 + -4.036095127765708E-17 9.970061760322585E-02 -4.899762448073712E-01 + -4.036361142019073E-17 9.970718875294166E-02 -4.900085385618054E-01 + -4.036878856751244E-17 9.971997746998269E-02 -4.900713883986701E-01 + -4.037886428866332E-17 9.974486676495074E-02 -4.901937062295674E-01 + -4.039847357354587E-17 9.979330610425417E-02 -4.904317601769090E-01 + -4.043663700104121E-17 9.988757834439456E-02 -4.908950587935474E-01 + -4.051091034690344E-17 1.000710501957635E-01 -4.917967267162011E-01 + -4.065546051620475E-17 1.004281215902122E-01 -4.935515453440696E-01 + -4.093678285603573E-17 1.011230509746507E-01 -4.969667587938852E-01 + -4.148429005904015E-17 1.024755167752270E-01 -5.036134188660824E-01 + -4.254984403360836E-17 1.051076744918077E-01 -5.165490935360577E-01 + -4.462361633557556E-17 1.102303579947866E-01 -5.417243962218968E-01 + -4.865957477883415E-17 1.202000821136676E-01 -5.907203613720334E-01 + -5.354499207603411E-17 1.322681604508091E-01 -6.500286369657291E-01 + -5.995306797349459E-17 1.480975476282820E-01 -7.278217727884826E-01 + -6.835837589491805E-17 1.688605466256598E-01 -8.298610231385747E-01 + -7.938340156322236E-17 1.960948370332263E-01 -9.637032767241845E-01 + -9.384464345026366E-17 2.318173535202399E-01 -1.139260709608231E+00 + -1.128130815480302E-16 2.786736572853791E-01 -1.369534867545379E+00 + -1.376934926966204E-16 3.401338627367265E-01 -1.671579542855056E+00 + -1.703284864547927E-16 4.207496294659016E-01 -2.067763755187861E+00 + -2.131349662687848E-16 5.264912519939516E-01 -2.587428370830685E+00 + -2.692831220687794E-16 6.651898116991222E-01 -3.269059047533049E+00 + -3.429312102423361E-16 8.471171360995562E-01 -4.163136430206082E+00 + -4.395335084717021E-16 1.085746516490065E+00 -5.335874679128103E+00 + -5.662442521532471E-16 1.398750521651051E+00 -6.874125200993324E+00 + -7.324474673832702E-16 1.809309804361720E+00 -8.891808746484953E+00 + -9.504519392236533E-16 2.347829829155669E+00 -1.153835222680913E+01 + -1.236402783656050E-15 3.054192659851786E+00 -1.500975506839785E+01 + -1.611477133009162E-15 3.980710571195825E+00 -1.956310466502495E+01 + -2.103452485702760E-15 5.196000225091314E+00 -2.553561592206350E+01 + -2.748763870166756E-15 6.790064327665356E+00 -3.336960493575031E+01 + -3.595202173709560E-15 8.880957107810531E+00 -4.364524632432712E+01 + -4.705453470917833E-15 1.162352725351779E+01 -5.712354017464493E+01 + -6.161741469456304E-15 1.522088579602634E+01 -7.480267067811565E+01 + -8.071916886517186E-15 1.993944823776185E+01 -9.799193030027328E+01 + -5.402983093549242E-17 1.941965920570957E-16 -5.000169333392598E-01 + -5.403339197770791E-17 1.942093913246567E-16 -5.000498888635925E-01 + -5.404032244851361E-17 1.942343011529593E-16 -5.001140266315415E-01 + -5.405381047327769E-17 1.942827804540678E-16 -5.002388510232261E-01 + -5.408006075513258E-17 1.943771304675418E-16 -5.004817832183692E-01 + -5.413114883581996E-17 1.945607536807269E-16 -5.009545758403930E-01 + -5.423057603445914E-17 1.949181196542863E-16 -5.018747209175344E-01 + -5.442408042327591E-17 1.956136223461451E-16 -5.036654996301195E-01 + -5.480067705884281E-17 1.969672039128647E-16 -5.071506982983675E-01 + -5.553360630549982E-17 1.996015331242535E-16 -5.139335630218502E-01 + -5.696002712255407E-17 2.047284427724061E-16 -5.271343180537565E-01 + -5.973611547843037E-17 2.147063917799501E-16 -5.528255179400078E-01 + -6.513891559708488E-17 2.341253933285770E-16 -6.028255179400077E-01 + -7.167885735418527E-17 2.576315635218008E-16 -6.633491502554029E-01 + -8.025713032351585E-17 2.884640008538447E-16 -7.427364381518395E-01 + -9.150902978522812E-17 3.289061138828936E-16 -8.468666966715123E-01 + -1.062678561771051E-16 3.819529907366590E-16 -9.834516717561765E-01 + -1.256266281965999E-16 4.515332112834271E-16 -1.162606661709014E+00 + -1.510190302854977E-16 5.427997924373605E-16 -1.397599642489704E+00 + -1.843255893583021E-16 6.625118136133900E-16 -1.705833876047643E+00 + -2.280129440790766E-16 8.195349849961223E-16 -2.110136772335931E+00 + -2.853165207807955E-16 1.025498230030933E-15 -2.640450456381580E+00 + -3.604801447584287E-16 1.295654907747443E-15 -3.336049241519975E+00 + -4.590703322236656E-16 1.650012455874476E-15 -4.248448231858611E+00 + -5.883885389578565E-16 2.114814114585903E-15 -5.445218461129980E+00 + -7.580118962401778E-16 2.724482465331589E-15 -7.014991111950934E+00 + -9.805024802216435E-16 3.524168720607485E-15 -9.074021421190594E+00 + -1.272337642274369E-15 4.573096561613194E-15 -1.177479838539006E+01 + -1.655130299321984E-15 5.948948163886025E-15 -1.531733788935882E+01 + -2.157229557200646E-15 7.753617234030772E-15 -1.996399561175946E+01 + -2.815820207049357E-15 1.012075511965522E-14 -2.605889673141002E+01 + -3.679676580589276E-15 1.322566884719481E-14 -3.405342137204256E+01 + -4.812774711085013E-15 1.729830412290489E-14 -4.453963320304693E+01 + -6.299030311737355E-15 2.264027480049324E-14 -5.829412687310398E+01 + -8.248513459771513E-15 2.964719999470627E-14 -7.633554155826955E+01 + -1.080560023730904E-14 3.883800309725390E-14 -1.000000000000000E+02 + -6.014536405936409E-17 -9.970061760322550E-02 -4.899762448073713E-01 + -6.014932816913037E-17 -9.970718875294131E-02 -4.900085385618055E-01 + -6.015704308665823E-17 -9.971997746998235E-02 -4.900713883986703E-01 + -6.017205779512264E-17 -9.974486676495040E-02 -4.901937062295675E-01 + -6.020127929612471E-17 -9.979330610425383E-02 -4.904317601769091E-01 + -6.025814993885733E-17 -9.988757834439421E-02 -4.908950587935475E-01 + -6.036883111175783E-17 -1.000710501957631E-01 -4.917967267162012E-01 + -6.058423789188204E-17 -1.004281215902119E-01 -4.935515453440698E-01 + -6.100346077963725E-17 -1.011230509746504E-01 -4.969667587938854E-01 + -6.181934888453567E-17 -1.024755167752266E-01 -5.036134188660825E-01 + -6.340722354300005E-17 -1.051076744918073E-01 -5.165490935360578E-01 + -6.649753202507711E-17 -1.102303579947863E-01 -5.417243962218969E-01 + -7.251186474554076E-17 -1.202000821136671E-01 -5.907203613720335E-01 + -7.979204998945661E-17 -1.322681604508086E-01 -6.500286369657293E-01 + -8.934128125314476E-17 -1.480975476282815E-01 -7.278217727884828E-01 + -1.018667616732489E-16 -1.688605466256592E-01 -8.298610231385749E-01 + -1.182961113687571E-16 -1.960948370332256E-01 -9.637032767241848E-01 + -1.398460657309109E-16 -2.318173535202391E-01 -1.139260709608231E+00 + -1.681125851986827E-16 -2.786736572853781E-01 -1.369534867545379E+00 + -2.051890499277737E-16 -3.401338627367252E-01 -1.671579542855057E+00 + -2.538212926902712E-16 -4.207496294659000E-01 -2.067763755187862E+00 + -3.176109515315786E-16 -5.264912519939497E-01 -2.587428370830686E+00 + -4.012822022070310E-16 -6.651898116991198E-01 -3.269059047533050E+00 + -5.110316242412643E-16 -8.471171360995533E-01 -4.163136430206084E+00 + -6.549871112169360E-16 -1.085746516490061E+00 -5.335874679128104E+00 + -8.438098115673647E-16 -1.398750521651046E+00 -6.874125200993326E+00 + -1.091483678793094E-15 -1.809309804361714E+00 -8.891808746484955E+00 + -1.416351104122282E-15 -2.347829829155661E+00 -1.153835222680913E+01 + -1.842471329167370E-15 -3.054192659851775E+00 -1.500975506839785E+01 + -2.401402240779956E-15 -3.980710571195811E+00 -1.956310466502495E+01 + -3.134537505418054E-15 -5.196000225091296E+00 -2.553561592206350E+01 + -4.096172128032239E-15 -6.790064327665332E+00 -3.336960493575032E+01 + -5.357523466610694E-15 -8.880957107810501E+00 -4.364524632432713E+01 + -7.012005493275382E-15 -1.162352725351775E+01 -5.712354017464495E+01 + -9.182146906564279E-15 -1.522088579602629E+01 -7.480267067811567E+01 + -1.202866544092732E-14 -1.993944823776178E+01 -9.799193030027331E+01 + -2.736369538791422E-17 -1.912052275717796E-01 -4.620146042878100E-01 + -2.736549889669374E-17 -1.912178296820475E-01 -4.620450551236087E-01 + -2.736900887051262E-17 -1.912423558044625E-01 -4.621043182875199E-01 + -2.737583995242864E-17 -1.912900883403571E-01 -4.622196557652818E-01 + -2.738913454736050E-17 -1.913829850055694E-01 -4.624441246072833E-01 + -2.741500837768123E-17 -1.915637797244294E-01 -4.628809840046556E-01 + -2.746536381151711E-17 -1.919156409058076E-01 -4.637311961382003E-01 + -2.756336513893434E-17 -1.926004302168092E-01 -4.653858719363511E-01 + -2.775409450901268E-17 -1.939331614906180E-01 -4.686061882420840E-01 + -2.812529042614151E-17 -1.965269120349865E-01 -4.748735411099745E-01 + -2.884770883939648E-17 -2.015748478181580E-01 -4.870710112469077E-01 + -3.025367355971607E-17 -2.113990985451024E-01 -5.108096263971106E-01 + -3.298995042989839E-17 -2.305189737756126E-01 -5.570095221888731E-01 + -3.630213873397909E-17 -2.536630597429652E-01 -6.129332323070774E-01 + -4.064665072712958E-17 -2.840205605323344E-01 -6.862869208671980E-01 + -4.634523508459930E-17 -3.238397115446727E-01 -7.825030627147616E-01 + -5.381992124737120E-17 -3.760694651842952E-01 -9.087072950274011E-01 + -6.362427435108513E-17 -4.445778862807266E-01 -1.074246132355309E+00 + -7.648439151039311E-17 -5.344386157321759E-01 -1.291379156832579E+00 + -9.335267558805241E-17 -6.523066174801708E-01 -1.576186946229192E+00 + -1.154783688612797E-16 -8.069110361274900E-01 -1.949761979765726E+00 + -1.445000702131853E-16 -1.009701665567190E+00 -2.439770718562820E+00 + -1.825670875472076E-16 -1.275696905214002E+00 -3.082502546288230E+00 + -2.324986126200338E-16 -1.624596002328366E+00 -3.925557311771318E+00 + -2.979925065655945E-16 -2.082237951593519E+00 -5.031370509351739E+00 + -3.838991584833178E-16 -2.682515096072797E+00 -6.481837167045479E+00 + -4.965806986868544E-16 -3.469883148242819E+00 -8.384376881424538E+00 + -6.443821694600589E-16 -4.502653519861417E+00 -1.087988916748071E+01 + -8.382495475883962E-16 -5.857311786162141E+00 -1.415318828591189E+01 + -1.092540388577575E-15 -7.634182103985879E+00 -1.844669033700985E+01 + -1.426087127772537E-15 -9.964857082986189E+00 -2.407836626878891E+01 + -1.863591785017846E-15 -1.302194335610886E+01 -3.146529037482695E+01 + -2.437455362798035E-15 -1.703184459309893E+01 -4.115452825168195E+01 + -3.190177420606960E-15 -2.229152864970559E+01 -5.386365173618383E+01 + -4.177503534774683E-15 -2.919052060495079E+01 -7.053388130399632E+01 + -5.472553740364638E-15 -3.823975046102039E+01 -9.239979158352519E+01 + -3.530209108381677E-17 -2.500084666696297E-01 -4.330273665941893E-01 + -3.530441780286194E-17 -2.500249444317961E-01 -4.330559069154564E-01 + -3.530894604415754E-17 -2.500570133157706E-01 -4.331114518518422E-01 + -3.531775886978587E-17 -2.501194255116129E-01 -4.332195529460530E-01 + -3.533491031788356E-17 -2.502408916091844E-01 -4.334299383984441E-01 + -3.536829032382651E-17 -2.504772879201964E-01 -4.338393888198386E-01 + -3.543325421436245E-17 -2.509373604587670E-01 -4.346362578318102E-01 + -3.555968639896958E-17 -2.518327498150596E-01 -4.361871176894653E-01 + -3.580574766735508E-17 -2.535753491491836E-01 -4.392053882734037E-01 + -3.628463006575404E-17 -2.569667815109249E-01 -4.450795214343731E-01 + -3.721662701513599E-17 -2.635671590268781E-01 -4.565117106411392E-01 + -3.903047174311366E-17 -2.764127589700037E-01 -4.787609423963367E-01 + -4.256056129908720E-17 -3.014127589700037E-01 -5.220622125855586E-01 + -4.683363814561038E-17 -3.316745751277013E-01 -5.744772156999997E-01 + -5.243852286321589E-17 -3.713682190759196E-01 -6.432286237558628E-01 + -5.979030562443832E-17 -4.234333483357560E-01 -7.334080729365403E-01 + -6.943344950542391E-17 -4.917258358780880E-01 -8.516941311351243E-01 + -8.208211268408506E-17 -5.813033308545070E-01 -1.006846903649028E+00 + -9.867303802770512E-17 -6.987998212448516E-01 -1.210356794716133E+00 + -1.204349270012329E-16 -8.529169380238214E-01 -1.477295471293335E+00 + -1.489794356339757E-16 -1.055068386167965E+00 -1.827432050302617E+00 + -1.864205315827637E-16 -1.320225228190789E+00 -2.286697172660664E+00 + -2.355310517140623E-16 -1.668024620759987E+00 -2.889103391432108E+00 + -2.999480546475667E-16 -2.124224115929304E+00 -3.679264095452639E+00 + -3.844421763925851E-16 -2.722609230564988E+00 -4.715697516494572E+00 + -4.952709371909041E-16 -3.507495555975465E+00 -6.075160510271558E+00 + -6.406421649925019E-16 -4.537010710595294E+00 -7.858333065235232E+00 + -8.313218560791912E-16 -5.887399192695027E+00 -1.019727452618779E+01 + -1.081431490170867E-15 -7.658668944679407E+00 -1.326520373053466E+01 + -1.409493848091473E-15 -9.981997805879725E+00 -1.728932736082475E+01 + -1.839804783834870E-15 -1.302944836570500E+01 -2.256766656399635E+01 + -2.404232542612271E-15 -1.702671068602127E+01 -2.949112799396479E+01 + -3.144577879939365E-15 -2.226981660152345E+01 -3.857245382907951E+01 + -4.115669768986816E-15 -2.914706343655197E+01 -5.048419476354118E+01 + -5.389425960088629E-15 -3.816777077913476E+01 -6.610851820110420E+01 + -7.060179111947080E-15 -4.999999999999997E+01 -8.660254037844388E+01 + -4.786217425729569E-01 -1.447002458962108E-01 -3.695022893593033E-17 + -4.786532879655863E-01 -1.447097829181727E-01 -3.695266428179085E-17 + -4.787146813469174E-01 -1.447283437911645E-01 -3.695740393169296E-17 + -4.788341646361426E-01 -1.447644668081391E-01 -3.696662819899673E-17 + -4.790667020220067E-01 -1.448347691239798E-01 -3.698458039146850E-17 + -4.795192643524810E-01 -1.449715909076100E-01 -3.701951879946666E-17 + -4.804000374041059E-01 -1.452378723273878E-01 -3.708751563914884E-17 + -4.821141906073905E-01 -1.457561070166137E-01 -3.721985052421305E-17 + -4.854502613453749E-01 -1.467646910678072E-01 -3.747739957923992E-17 + -4.919428945286341E-01 -1.487275889777121E-01 -3.797863941265989E-17 + -5.045788033456718E-01 -1.525477645993174E-01 -3.895414821652898E-17 + -5.291707042163662E-01 -1.599825586893546E-01 -4.085267535459219E-17 + -5.770312575956869E-01 -1.744520932439006E-01 -4.454757311427064E-17 + -6.349651482985138E-01 -1.919670690269855E-01 -4.902014578326575E-17 + -7.109555388986518E-01 -2.149410111351691E-01 -5.488670402717558E-17 + -8.106301748243169E-01 -2.450753386116534E-01 -6.258171720555710E-17 + -9.413708246413719E-01 -2.846017589440405E-01 -7.267506757447834E-17 + -1.112859963837561E+00 -3.364475452988791E-01 -8.591425499471744E-17 + -1.337797845845958E+00 -4.044523264085181E-01 -1.032797557592520E-16 + -1.632843065616633E+00 -4.936524442757303E-01 -1.260576353398407E-16 + -2.019846272601023E+00 -6.106539388426584E-01 -1.559347926543827E-16 + -2.527468400262042E+00 -7.641217823636006E-01 -1.951238895165245E-16 + -3.193303255996177E+00 -9.654215955168052E-01 -2.465272173733826E-16 + -4.066661667602988E+00 -1.229461369881561E+00 -3.139516370800846E-16 + -5.212223376419471E+00 -1.575795533607441E+00 -4.023905098597774E-16 + -6.714827131379749E+00 -2.030073125884142E+00 -5.183934988742340E-16 + -8.685753731879824E+00 -2.625937330052158E+00 -6.705516284086267E-16 + -1.127096733309399E+01 -3.407517042204279E+00 -8.701335234968620E-16 + -1.466192535365497E+01 -4.432694997474684E+00 -1.131919949032593E-15 + -1.910975755282273E+01 -5.777394487023165E+00 -1.475298453202406E-15 + -2.494386436039706E+01 -7.541202134169660E+00 -1.925699183051576E-15 + -3.259631182650281E+01 -9.854743144865701E+00 -2.516478206738922E-15 + -4.263382984819577E+01 -1.288935523356584E+01 -3.291387818776754E-15 + -5.579978341822164E+01 -1.686977766234934E+01 -4.307816775716857E-15 + -7.306922522977817E+01 -2.209079512634727E+01 -5.641040429749818E-15 + -9.572110675864127E+01 -2.893906910909200E+01 -7.389795519356887E-15 + -4.366624927850382E-01 -2.109670608544510E-01 -1.218018893744615E-01 + -4.366912726931706E-01 -2.109809654437635E-01 -1.218099171928440E-01 + -4.367472839115252E-01 -2.110080264400854E-01 -1.218255408663550E-01 + -4.368562924798338E-01 -2.110606923265400E-01 -1.218559475300767E-01 + -4.370684440507826E-01 -2.111631902376687E-01 -1.219151247266582E-01 + -4.374813316774566E-01 -2.113626708216480E-01 -1.220302948955168E-01 + -4.382848901498170E-01 -2.117508982786419E-01 -1.222544381223190E-01 + -4.398487689797630E-01 -2.125064633334327E-01 -1.226906638100927E-01 + -4.428923769795259E-01 -2.139769377724159E-01 -1.235396426232761E-01 + -4.488158216088903E-01 -2.168387629216766E-01 -1.251919181435754E-01 + -4.603439803861967E-01 -2.224084232760616E-01 -1.284075630484744E-01 + -4.827799873231008E-01 -2.332480500335602E-01 -1.346658244748313E-01 + -5.264447578208595E-01 -2.543440416678386E-01 -1.468456009237041E-01 + -5.792997681157088E-01 -2.798801624878729E-01 -1.615888871532097E-01 + -6.486283222444570E-01 -3.133752337144984E-01 -1.809272755424276E-01 + -7.395647990471329E-01 -3.573098549666237E-01 -2.062929409490864E-01 + -8.588438308574121E-01 -4.149377648017076E-01 -2.395644302052076E-01 + -1.015299061253791E+00 -4.905268081873935E-01 -2.832057847517196E-01 + -1.220517352741252E+00 -5.896750073206647E-01 -3.404490242109804E-01 + -1.489696894098452E+00 -7.197251435713947E-01 -4.155335053834870E-01 + -1.842772757658596E+00 -8.903085539276393E-01 -5.140198832719493E-01 + -2.305893263772081E+00 -1.114058414771046E+00 -6.432019256610317E-01 + -2.913356490003837E+00 -1.407545337812922E+00 -8.126466796828937E-01 + -3.710150340314304E+00 -1.792504567159080E+00 -1.034902994372929E+00 + -4.755284288307993E+00 -2.297445662056324E+00 -1.326430871436757E+00 + -6.126159538943099E+00 -2.959763876245081E+00 -1.708820470687828E+00 + -7.924301256960678E+00 -3.828509599813990E+00 -2.210391048047675E+00 + -1.028287738310875E+01 -4.968020964670064E+00 -2.868288241291967E+00 + -1.337656087150955E+01 -6.462688639466577E+00 -3.731235025684767E+00 + -1.743446573211479E+01 -8.423205688248954E+00 -4.863140071550124E+00 + -2.275711490403628E+01 -1.099476534888699E+01 -6.347830733856679E+00 + -2.973869657747422E+01 -1.436781384766332E+01 -8.295261192614856E+00 + -3.889625723730799E+01 -1.879215458890610E+01 -1.084965551055801E+01 + -5.090799342562633E+01 -2.459544825685127E+01 -1.420018867193260E+01 + -6.666347805927931E+01 -3.220747892222727E+01 -1.859499662566712E+01 + -8.732954099551750E+01 -4.219198326855674E+01 -2.435955289774543E+01 + -4.162833480437566E-01 -2.769929742204274E-01 -9.535425375314951E-17 + -4.163107847865767E-01 -2.770112304995517E-01 -9.536053843916765E-17 + -4.163641819477479E-01 -2.770467607184692E-01 -9.537276964293773E-17 + -4.164681030596610E-01 -2.771159093356512E-01 -9.539657391020481E-17 + -4.166703534651952E-01 -2.772504858005265E-01 -9.544290157760157E-17 + -4.170639715259117E-01 -2.775123973995782E-01 -9.553306409940257E-17 + -4.178300277289294E-01 -2.780221275799734E-01 -9.570853765104710E-17 + -4.193209199535225E-01 -2.790141602266618E-01 -9.605004282095245E-17 + -4.222224820276844E-01 -2.809448459304839E-01 -9.671467734837309E-17 + -4.278694780555239E-01 -2.847023304239492E-01 -9.800818354964694E-17 + -4.388596148588687E-01 -2.920151155606918E-01 -1.005255945833879E-16 + -4.602485278952471E-01 -3.062471973029233E-01 -1.054249590445397E-16 + -5.018754529339347E-01 -3.339455566735337E-01 -1.149600614976052E-16 + -5.522637070431756E-01 -3.674736630392638E-01 -1.265020421967844E-16 + -6.183566806889693E-01 -4.114516156315361E-01 -1.416413606680551E-16 + -7.050491300021209E-01 -4.691363620681853E-01 -1.614992143370406E-16 + -8.187613803873276E-01 -5.447999565586034E-01 -1.875462489566742E-16 + -9.679148071288000E-01 -6.440459424536394E-01 -2.217114726402388E-16 + -1.163555511040310E+00 -7.742243430783291E-01 -2.665251155901415E-16 + -1.420172377733784E+00 -9.449759945065787E-01 -3.253060155204831E-16 + -1.756770104868121E+00 -1.168946532826011E+00 -4.024074062840820E-16 + -2.198276664323291E+00 -1.462722912822986E+00 -5.035393124768397E-16 + -2.777389434042454E+00 -1.848061815393452E+00 -6.361914261272899E-16 + -3.536996721566467E+00 -2.353500917869085E+00 -8.101877831463386E-16 + -4.533354014014712E+00 -3.016472355757209E+00 -1.038414318123963E-15 + -5.840250183284828E+00 -3.886074896009100E+00 -1.337773179195924E-15 + -7.554472189986930E+00 -5.026710125215083E+00 -1.730434478247271E-15 + -9.802972994685842E+00 -6.522851943900346E+00 -2.245478179377695E-15 + -1.275227352225179E+01 -8.485302589210560E+00 -2.921047721665176E-15 + -1.662079497606799E+01 -1.105939849855606E+01 -3.807174870613540E-15 + -2.169503481658613E+01 -1.443577372936440E+01 -4.969485002956975E-15 + -2.835078437529717E+01 -1.886447805923320E+01 -6.494057233196737E-15 + -3.708095945187753E+01 -2.467349533386332E+01 -8.493799316260226E-15 + -4.853210499084889E+01 -3.229303350654385E+01 -1.111680944294093E-14 + -6.355227732467419E+01 -4.228738525662234E+01 -1.455734419136682E-14 + -8.325385007737523E+01 -5.539671874122084E+01 -1.907020490613104E-14 + -3.561379211431202E-01 -2.656153612779345E-01 -2.294148962100036E-01 + -3.561613937720323E-01 -2.656328676720546E-01 -2.294300166743124E-01 + -3.562070760076149E-01 -2.656669384710004E-01 -2.294594439964610E-01 + -3.562959823953758E-01 -2.657332467771455E-01 -2.295167152066009E-01 + -3.564690112693766E-01 -2.658622954522535E-01 -2.296281759604651E-01 + -3.568057586279407E-01 -2.661134489127368E-01 -2.298450999545908E-01 + -3.574611335424156E-01 -2.666022416931349E-01 -2.302672756316439E-01 + -3.587366187618226E-01 -2.675535261457144E-01 -2.310889104305679E-01 + -3.612189575102154E-01 -2.694049080523427E-01 -2.326879692572514E-01 + -3.660500645806977E-01 -2.730080521538742E-01 -2.358000442746959E-01 + -3.754523250665298E-01 -2.800204613007506E-01 -2.418567388456448E-01 + -3.937509263920051E-01 -2.936679537844105E-01 -2.536442275533838E-01 + -4.293635124263147E-01 -3.202285903916627E-01 -2.765849402486423E-01 + -4.724715736851332E-01 -3.523795144732659E-01 -3.043540454530612E-01 + -5.290153060899803E-01 -3.945510525743172E-01 -3.407780647188197E-01 + -6.031822618961151E-01 -4.498663717015223E-01 -3.885545115904758E-01 + -7.004651454200478E-01 -5.224220494862096E-01 -4.512216450286023E-01 + -8.280685952834739E-01 -6.175914611764746E-01 -5.334205080772019E-01 + -9.954427501936970E-01 -7.424227245318924E-01 -6.412386372270459E-01 + -1.214983113419729E+00 -9.061606738808392E-01 -7.826608971249639E-01 + -1.502948546979472E+00 -1.120931520032295E+00 -9.681608288371739E-01 + -1.880665380944419E+00 -1.402640901028088E+00 -1.211476306118280E+00 + -2.376106812566465E+00 -1.772151832158228E+00 -1.530626943738896E+00 + -3.025964563387502E+00 -2.256829792622395E+00 -1.949248605754948E+00 + -3.878366218452042E+00 -2.892569375863489E+00 -2.498343845594010E+00 + -4.996439490085390E+00 -3.726452594552656E+00 -3.218577913181167E+00 + -6.462987370786357E+00 -4.820235710693311E+00 -4.163290368283094E+00 + -8.386620410727057E+00 -6.254922820760108E+00 -5.402445336076543E+00 + -1.090980026802761E+01 -8.136764909395103E+00 -7.027812955519561E+00 + -1.421939022624725E+01 -1.060512865345441E+01 -9.159765751575506E+00 + -1.856049403613055E+01 -1.384281772937787E+01 -1.195619326141376E+01 + -2.425460796748923E+01 -1.808961100592916E+01 -1.562419511973208E+01 + -3.172343038760199E+01 -2.366002024252868E+01 -2.043541857726591E+01 + -4.152009217126745E+01 -3.096658240427140E+01 -2.674617632833653E+01 + -5.437012082438974E+01 -4.055041159093992E+01 -3.502383454650455E+01 + -7.122517206861912E+01 -5.312127321450441E+01 -4.588142539051700E+01 + -3.561379211431202E-01 -3.314868087634006E-01 -1.153222023970712E-01 + -3.561613937720323E-01 -3.315086566666691E-01 -1.153298031469534E-01 + -3.562070760076149E-01 -3.315511768746880E-01 -1.153445956632934E-01 + -3.562959823953758E-01 -3.316339293506472E-01 -1.153733847358270E-01 + -3.564690112693766E-01 -3.317949815325725E-01 -1.154294137898632E-01 + -3.568057586279407E-01 -3.321084199524174E-01 -1.155384570698272E-01 + -3.574611335424156E-01 -3.327184312038043E-01 -1.157506761963118E-01 + -3.587366187618226E-01 -3.339056300385956E-01 -1.161636952990089E-01 + -3.612189575102154E-01 -3.362161465579633E-01 -1.169675096489141E-01 + -3.660500645806977E-01 -3.407128546323189E-01 -1.185318864656142E-01 + -3.754523250665298E-01 -3.494643105671622E-01 -1.215764636430650E-01 + -3.937509263920051E-01 -3.664963214767163E-01 -1.275017944780023E-01 + -4.293635124263147E-01 -3.996438797553564E-01 -1.390336241729404E-01 + -4.724715736851332E-01 -4.397680923435474E-01 -1.529925885805442E-01 + -5.290153060899803E-01 -4.923979873861538E-01 -1.713022022598387E-01 + -6.031822618961151E-01 -5.614312636431681E-01 -1.953184504066136E-01 + -7.004651454200478E-01 -6.519804320752784E-01 -2.268199438378878E-01 + -8.280685952834739E-01 -7.707514414826961E-01 -2.681396405005773E-01 + -9.954427501936969E-01 -9.265403119926814E-01 -3.223376211779527E-01 + -1.214983113419729E+00 -1.130884556399357E+00 -3.934277149287514E-01 + -1.502948546979472E+00 -1.398917632738137E+00 -4.866747578320865E-01 + -1.880665380944419E+00 -1.750489707695407E+00 -6.089844996182792E-01 + -2.376106812566465E+00 -2.211637733073932E+00 -7.694150341427154E-01 + -3.025964563387502E+00 -2.816513707186379E+00 -9.798476295510878E-01 + -3.878366218452042E+00 -3.609913925604664E+00 -1.255866638909677E+00 + -4.996439490085390E+00 -4.650596534150724E+00 -1.617913656290452E+00 + -6.462987370786357E+00 -6.015633077610884E+00 -2.092801393547802E+00 + -8.386620410727055E+00 -7.806116313979097E+00 -2.715699393451006E+00 + -1.090980026802761E+01 -1.015464700722289E+01 -3.532738638398171E+00 + -1.421939022624724E+01 -1.323515416030626E+01 -4.604427948506033E+00 + -1.856049403613054E+01 -1.727577596162957E+01 -6.010135182891988E+00 + -2.425460796748922E+01 -2.257575539033741E+01 -7.853965115847201E+00 + -3.172343038760198E+01 -2.952760174614507E+01 -1.027246929545095E+01 + -4.152009217126744E+01 -3.864615935657313E+01 -1.344475886631499E+01 + -5.437012082438973E+01 -5.060673625068593E+01 -1.760576929841668E+01 + -7.122517206861910E+01 -6.629511655728028E+01 -2.306365938987620E+01 + -3.190906466620158E-01 -3.849650540488245E-01 -1.620220649296480E-16 + -3.191116775489103E-01 -3.849904266399510E-01 -1.620327436122029E-16 + -3.191526076864430E-01 -3.850398065662270E-01 -1.620535263755659E-16 + -3.192322655804184E-01 -3.851359093689272E-01 -1.620939736171408E-16 + -3.193872951125696E-01 -3.853229438459577E-01 -1.621726917030107E-16 + -3.196890123014077E-01 -3.856869487929017E-01 -1.623258921884267E-16 + -3.202762117902872E-01 -3.863953721996629E-01 -1.626240497016886E-16 + -3.214190145622078E-01 -3.877740999544929E-01 -1.632043213795044E-16 + -3.236431278324724E-01 -3.904573684684867E-01 -1.643336413030288E-16 + -3.279716786205086E-01 -3.956795233812079E-01 -1.665315143656427E-16 + -3.363958682403027E-01 -4.058428379321875E-01 -1.708089966793241E-16 + -3.527909561635846E-01 -4.256225963630472E-01 -1.791337972581607E-16 + -3.846989402123482E-01 -4.641177980633091E-01 -1.953354550547894E-16 + -4.233226821022055E-01 -5.107151867355817E-01 -2.149471186424496E-16 + -4.739844484196876E-01 -5.718357799357835E-01 -2.406712320804599E-16 + -5.404361809764745E-01 -6.520060860320879E-01 -2.744128883766643E-16 + -6.275992051025193E-01 -7.571634093342758E-01 -3.186709489063201E-16 + -7.419286963359504E-01 -8.950955588111338E-01 -3.767231057018068E-16 + -8.918917419823833E-01 -1.076017602677102E+00 -4.528686228861765E-16 + -1.088594402135376E+00 -1.313328382511873E+00 -5.527467343524139E-16 + -1.346604209448087E+00 -1.624602813324227E+00 -6.837542777893880E-16 + -1.685029020875480E+00 -2.032893457959152E+00 -8.555934944649298E-16 + -2.128932119686185E+00 -2.568437768686345E+00 -1.080990564076189E-15 + -2.711188368282849E+00 -3.270897431970368E+00 -1.376638088385311E-15 + -3.474918875995368E+00 -4.192295659263769E+00 -1.764431322702264E-15 + -4.476684490046975E+00 -5.400869955601918E+00 -2.273089708844421E-15 + -5.790674615309771E+00 -6.986125696824585E+00 -2.940283798108172E-15 + -7.514201581168667E+00 -9.065464776510177E+00 -3.815425081287723E-15 + -9.774907460863670E+00 -1.179288023123864E+01 -4.963325336774537E-15 + -1.274021707059214E+01 -1.537036075635649E+01 -6.468996503102484E-15 + -1.662973722468417E+01 -2.006284971523849E+01 -8.443946547999835E-15 + -2.173152051889918E+01 -2.621786648601577E+01 -1.103443759748473E-14 + -2.842339811561205E+01 -3.429124327613948E+01 -1.443231791086257E-14 + -3.720096140807205E+01 -4.488088343841593E+01 -1.888922990302578E-14 + -4.871426484789990E+01 -5.877104138368625E+01 -2.473524644094827E-14 + -6.381596809752718E+01 -7.699040340052385E+01 -3.240331559325744E-14 + -2.448423563676757E-01 -3.036358575905079E-01 -3.128488774785658E-01 + -2.448584936376258E-01 -3.036558698705446E-01 -3.128694969778403E-01 + -2.448898998584750E-01 -3.036948176038645E-01 -3.129096264762011E-01 + -2.449510223848425E-01 -3.037706173592132E-01 -3.129877261728647E-01 + -2.450699785383855E-01 -3.039181382139892E-01 -3.131397231543396E-01 + -2.453014900171598E-01 -3.042052420772362E-01 -3.134355384182198E-01 + -2.457520557357703E-01 -3.047640012331305E-01 -3.140112516297277E-01 + -2.466289429979561E-01 -3.058514536650298E-01 -3.151316999039557E-01 + -2.483355337100837E-01 -3.079678445629132E-01 -3.173123070363373E-01 + -2.516568863905417E-01 -3.120867469638400E-01 -3.215561865398956E-01 + -2.581208754123923E-01 -3.201029206325735E-01 -3.298155896085500E-01 + -2.707010372002227E-01 -3.357039312981428E-01 -3.458899713136147E-01 + -2.951844436653345E-01 -3.660664887782203E-01 -3.771737995821164E-01 + -3.248209374797904E-01 -4.028195340798057E-01 -4.150420179729317E-01 + -3.636943622344165E-01 -4.510275559186662E-01 -4.647127835980164E-01 + -4.146836311275027E-01 -5.142607751130442E-01 -5.298646460996991E-01 + -4.815649403680027E-01 -5.972021582515059E-01 -6.153226641918237E-01 + -5.692914291533695E-01 -7.059942318572212E-01 -7.274157429744185E-01 + -6.843600024514057E-01 -8.486939895845902E-01 -8.744453440753469E-01 + -8.352924829846302E-01 -1.035869582259202E+00 -1.067300280657344E+00 + -1.033266725881592E+00 -1.281382980817502E+00 -1.320263128176157E+00 + -1.292944435491601E+00 -1.603416575103656E+00 -1.652067972578569E+00 + -1.633556991355226E+00 -2.025819737040389E+00 -2.087287831339529E+00 + -2.080329698131594E+00 -2.579875072818821E+00 -2.658154497861694E+00 + -2.666349937503512E+00 -3.306615170352772E+00 -3.406945584449314E+00 + -3.435017574860820E+00 -4.259861417176871E+00 -4.389115545026783E+00 + -4.443259094562806E+00 -5.510209939527092E+00 -5.677402556904655E+00 + -5.765743498284928E+00 -7.150259855854608E+00 -7.367215411695488E+00 + -7.500412190172579E+00 -9.301471042148549E+00 -9.583699361226330E+00 + -9.775732384608283E+00 -1.212315928588126E+01 -1.249100420542811E+01 + -1.276021121414967E+01 -1.582429499749685E+01 -1.630444100424105E+01 + -1.667487513958882E+01 -2.067897927603889E+01 -2.130642772315813E+01 + -2.180963887034370E+01 -2.704674346538168E+01 -2.786740472532357E+01 + -2.854477605525997E+01 -3.539917555871109E+01 -3.647326908320876E+01 + -3.737908183411086E+01 -4.635484536671620E+01 -4.776135945783967E+01 + -4.896681293022350E+01 -6.072511496015515E+01 -6.256765653700350E+01 + -2.596502903767807E-01 -3.700662038743046E-01 -2.136578224248128E-01 + -2.596674036201370E-01 -3.700905944998480E-01 -2.136719043590361E-01 + -2.597007092723294E-01 -3.701380633328560E-01 -2.136993105025514E-01 + -2.597655284562129E-01 -3.702304467816988E-01 -2.137526481116094E-01 + -2.598916790139341E-01 -3.704102426831197E-01 -2.138564533236939E-01 + -2.601371921824115E-01 -3.707601599742876E-01 -2.140584781659438E-01 + -2.606150078733181E-01 -3.714411661022946E-01 -2.144516572372684E-01 + -2.615449288054315E-01 -3.727665345767571E-01 -2.152168590827748E-01 + -2.633547332058304E-01 -3.753459557021437E-01 -2.167060885638702E-01 + -2.668769595098019E-01 -3.803660036890169E-01 -2.196044146204362E-01 + -2.737318871106270E-01 -3.901359794182541E-01 -2.252451127376874E-01 + -2.870728903163464E-01 -4.091502250986702E-01 -2.362229925997134E-01 + -3.130370400345129E-01 -4.461555922372283E-01 -2.575880512786208E-01 + -3.444659330529966E-01 -4.909495769250342E-01 -2.834498703962016E-01 + -3.856904016262420E-01 -5.497046916198751E-01 -3.173721516815353E-01 + -4.397634740741654E-01 -6.267722605549442E-01 -3.618671333519876E-01 + -5.106897289211707E-01 -7.278598035273204E-01 -4.202300534988069E-01 + -6.037218685590129E-01 -8.604537270855095E-01 -4.967831909580360E-01 + -7.257497272731739E-01 -1.034373757660980E+00 -5.971959674282521E-01 + -8.858105230404270E-01 -1.262500177210653E+00 -7.289048171645210E-01 + -1.095758141654776E+00 -1.561727719457262E+00 -9.016639192295510E-01 + -1.371141019457850E+00 -1.954216770991472E+00 -1.128267578786809E+00 + -1.732353639480011E+00 -2.469034539495098E+00 -1.425497756015980E+00 + -2.206146919237137E+00 -3.144307731781717E+00 -1.815366915359197E+00 + -2.827609347458063E+00 -4.030046166075383E+00 -2.326748238830244E+00 + -3.642765590046031E+00 -5.191846431429322E+00 -2.997513934776920E+00 + -4.711985014512857E+00 -6.715749882285969E+00 -3.877340002348006E+00 + -6.114452563589863E+00 -8.714614744677203E+00 -5.031385168723269E+00 + -7.954033084861150E+00 -1.133647424362139E+01 -6.545116456216075E+00 + -1.036696342073085E+01 -1.477549974331443E+01 -8.530638754213838E+00 + -1.353194192449140E+01 -1.928638081543198E+01 -1.113499715548329E+01 + -1.768336261839050E+01 -2.520318720392910E+01 -1.455106691662501E+01 + -2.312867409752263E+01 -3.296410957790926E+01 -1.903183753840225E+01 + -3.027114875646134E+01 -4.314391133921795E+01 -2.490914882559085E+01 + -3.963974859672469E+01 -5.649649482168845E+01 -3.261826649357215E+01 + -5.192829943633307E+01 -7.401073427711616E+01 -4.273011735781490E+01 + -2.448423563676756E-01 -4.227530042371372E-01 -1.065319274339713E-01 + -2.448584936376258E-01 -4.227808673873406E-01 -1.065389488272336E-01 + -2.448898998584750E-01 -4.228350944190221E-01 -1.065526138045280E-01 + -2.449510223848425E-01 -4.229406306180351E-01 -1.065792084699289E-01 + -2.450699785383855E-01 -4.231460242926789E-01 -1.066309667870153E-01 + -2.453014900171598E-01 -4.235457597576498E-01 -1.067316983941719E-01 + -2.457520557357702E-01 -4.243237216020572E-01 -1.069277414120195E-01 + -2.466289429979561E-01 -4.258377844871147E-01 -1.073092787063375E-01 + -2.483355337100837E-01 -4.287844411083724E-01 -1.080518234220518E-01 + -2.516568863905416E-01 -4.345191997695174E-01 -1.094969577851840E-01 + -2.581208754123923E-01 -4.456801394814339E-01 -1.123094662891280E-01 + -2.707010372002226E-01 -4.674014677209324E-01 -1.177831469976906E-01 + -2.951844436653344E-01 -5.096753364691234E-01 -1.284359789650522E-01 + -3.248209374797902E-01 -5.608466982424193E-01 -1.413309406672578E-01 + -3.636943622344163E-01 -6.279668540185956E-01 -1.582449294333637E-01 + -4.146836311275026E-01 -7.160066316461126E-01 -1.804305723679236E-01 + -4.815649403680025E-01 -8.314861378401934E-01 -2.095309081447875E-01 + -5.692914291533693E-01 -9.829576284571886E-01 -2.477010682264262E-01 + -6.843600024514055E-01 -1.181638876982570E+00 -2.977678829817484E-01 + -8.352924829846300E-01 -1.442243947645122E+00 -3.634392329153726E-01 + -1.033266725881591E+00 -1.784072899089213E+00 -4.495786492769074E-01 + -1.292944435491601E+00 -2.232441120583522E+00 -5.625655005995229E-01 + -1.633556991355226E+00 -2.820554155470355E+00 -7.107674400951263E-01 + -2.080329698131594E+00 -3.591966858741506E+00 -9.051601027204832E-01 + -2.666349937503512E+00 -4.603809010620713E+00 -1.160139945839857E+00 + -3.435017574860819E+00 -5.931016270726812E+00 -1.494590431362964E+00 + -4.443259094562805E+00 -7.671879811553704E+00 -1.933280509363657E+00 + -5.765743498284928E+00 -9.955325629607827E+00 -2.508698972982414E+00 + -7.500412190172578E+00 -1.295046263012897E+01 -3.263460534452806E+00 + -9.775732384608283E+00 -1.687910660361963E+01 -4.253461812984347E+00 + -1.276021121414967E+01 -2.203220760292584E+01 -5.552020962690772E+00 + -1.667487513958882E+01 -2.879139731017142E+01 -7.255307515802574E+00 + -2.180963887034370E+01 -3.765725216236356E+01 -9.489464567999544E+00 + -2.854477605525997E+01 -4.928636536447990E+01 -1.241995076526467E+01 + -3.737908183411086E+01 -6.453997329312742E+01 -1.626379394715584E+01 + -4.896681293022349E+01 -8.454773749638211E+01 -2.130566393472315E+01 + -1.989931522129460E-01 -4.587141364710194E-01 -1.933248557267867E-16 + -1.990062676161105E-01 -4.587443697768902E-01 -1.933375975392378E-16 + -1.990317927049006E-01 -4.588032095858611E-01 -1.933623955488824E-16 + -1.990814694208640E-01 -4.589177231337518E-01 -1.934106572294467E-16 + -1.991781498331907E-01 -4.591405884502759E-01 -1.935045837116236E-16 + -1.993663084492824E-01 -4.595743270796722E-01 -1.936873826517136E-16 + -1.997325011863378E-01 -4.604184656004822E-01 -1.940431444318159E-16 + -2.004451824520568E-01 -4.620613209839354E-01 -1.947355250556821E-16 + -2.018321968166533E-01 -4.652586324966849E-01 -1.960830304795856E-16 + -2.045315926618017E-01 -4.714812136273945E-01 -1.987055343522533E-16 + -2.097851344525706E-01 -4.835915493809995E-01 -2.038094296243288E-16 + -2.200095338851180E-01 -5.071605843175224E-01 -2.137425882441542E-16 + -2.399081752055240E-01 -5.530304445048156E-01 -2.330744191119317E-16 + -2.639949362225677E-01 -6.085546555515020E-01 -2.564750715804271E-16 + -2.955889195675878E-01 -6.813843314806609E-01 -2.871691040337366E-16 + -3.370299328652702E-01 -7.769131394719427E-01 -3.274296749521417E-16 + -3.913870414445967E-01 -9.022158136883124E-01 -3.802384277004683E-16 + -4.626858591612461E-01 -1.066572100508165E+00 -4.495063069982010E-16 + -5.562066799086063E-01 -1.282154003976275E+00 -5.403631981895444E-16 + -6.788755290334003E-01 -1.564927227941078E+00 -6.595378396055665E-16 + -8.397770953942394E-01 -1.935833574462308E+00 -8.158561438135216E-16 + -1.050827531116789E+00 -2.422341865313954E+00 -1.020894832750291E-15 + -1.327656945684371E+00 -3.060482245728938E+00 -1.289838794072830E-15 + -1.690766950681354E+00 -3.897514528166154E+00 -1.642605653375979E-15 + -2.167048981385575E+00 -4.995428190026005E+00 -2.105320846573286E-15 + -2.791775840050958E+00 -6.435533230405882E+00 -2.712252434303954E-15 + -3.611213951879051E+00 -8.324481878530330E+00 -3.508348948100927E-15 + -4.686049793819457E+00 -1.080216711342817E+01 -4.552568217770799E-15 + -6.095884252876326E+00 -1.405208294852837E+01 -5.922243708433687E-15 + -7.945127760011228E+00 -1.831491374982285E+01 -7.718811732231711E-15 + -1.037073278527658E+01 -2.390635899409781E+01 -1.007532368424995E-14 + -1.355233635229848E+01 -3.124051354469152E+01 -1.316629964866971E-14 + -1.772556371299756E+01 -4.086053495634173E+01 -1.722065311988298E-14 + -2.319947843468277E+01 -5.347886898819227E+01 -2.253864402591216E-14 + -3.037947122933908E+01 -7.003001237198275E+01 -2.951411557209331E-14 + -3.979728264081206E+01 -9.173972037458648E+01 -3.866366173555495E-14 + -1.173778669539042E-01 -3.196957251688385E-01 -3.661065600124092E-01 + -1.173856031902046E-01 -3.197167959357413E-01 -3.661306896625118E-01 + -1.174006593890872E-01 -3.197578036874153E-01 -3.661776505872826E-01 + -1.174299616383969E-01 -3.198376126333881E-01 -3.662690455493293E-01 + -1.174869894328156E-01 -3.199929361416831E-01 -3.664469176659518E-01 + -1.175979764530232E-01 -3.202952254644525E-01 -3.667930909031108E-01 + -1.178139784706383E-01 -3.208835384356407E-01 -3.674668103842789E-01 + -1.182343598046582E-01 -3.220285082575894E-01 -3.687779976471373E-01 + -1.190525024680627E-01 -3.242568390226338E-01 -3.713298194161940E-01 + -1.206447649295804E-01 -3.285935978640083E-01 -3.762961537648328E-01 + -1.237436129175442E-01 -3.370337619290882E-01 -3.859615924571233E-01 + -1.297745651534927E-01 -3.534599391852091E-01 -4.047723890238165E-01 + -1.415119543424968E-01 -3.854284290355244E-01 -4.413818051857295E-01 + -1.557197428948564E-01 -4.241254115431030E-01 -4.856965020470276E-01 + -1.743557327888562E-01 -4.748832456903289E-01 -5.438229472583526E-01 + -1.988000802007964E-01 -5.414609879422663E-01 -6.200659066422383E-01 + -2.308631003995791E-01 -6.287892957362595E-01 -7.200718305290180E-01 + -2.729193372441506E-01 -7.433355852950725E-01 -8.512470222223537E-01 + -3.280834186862929E-01 -8.935829997147289E-01 -1.023306138792927E+00 + -4.004407218991713E-01 -1.090658659055063E+00 -1.248991645426345E+00 + -4.953499307787151E-01 -1.349157719783967E+00 -1.545017505140038E+00 + -6.198398928166818E-01 -1.688224272301901E+00 -1.933306992251726E+00 + -7.831301660280375E-01 -2.132969126353670E+00 -2.442616300388778E+00 + -9.973138069332168E-01 -2.716329483595243E+00 -3.110664187249105E+00 + -1.278252965948651E+00 -3.481508222147669E+00 -3.986925374720776E+00 + -1.646753616767455E+00 -4.485173443249114E+00 -5.136294579790649E+00 + -2.130106418597482E+00 -5.801655234097509E+00 -6.643892529409590E+00 + -2.764107825427605E+00 -7.528450453457031E+00 -8.621369886267315E+00 + -3.595711122937662E+00 -9.793443216996360E+00 -1.121517594568350E+01 + -4.686503725255815E+00 -1.276437582172544E+01 -1.461740447211013E+01 + -6.117268255452523E+00 -1.666127151336993E+01 -1.908001990321006E+01 + -7.993965197216268E+00 -2.177272911001308E+01 -2.493351749492175E+01 + -1.045558018479302E+01 -2.847729623976747E+01 -3.261139935258604E+01 + -1.368441709085608E+01 -3.727150406551638E+01 -4.268227900985637E+01 + -1.791959920445612E+01 -4.880663971047729E+01 -5.589199217703386E+01 + -2.347477837800820E+01 -6.393697970063067E+01 -7.321883232382595E+01 + -1.348999066177580E-01 -3.875569809257785E-01 -2.856895786622495E-01 + -1.349087977109562E-01 -3.875825243477380E-01 -2.857084081242806E-01 + -1.349261014827489E-01 -3.876322367435636E-01 -2.857450538670143E-01 + -1.349597779398029E-01 -3.877289865957417E-01 -2.858163735073893E-01 + -1.350253187810308E-01 -3.879172803550962E-01 -2.859551751995849E-01 + -1.351528738222864E-01 -3.882837361068481E-01 -2.862253099009809E-01 + -1.354011203849622E-01 -3.889969292495865E-01 -2.867510438149128E-01 + -1.358842557849725E-01 -3.903849398249898E-01 -2.877742227949907E-01 + -1.368245298907936E-01 -3.930862744873427E-01 -2.897655252343632E-01 + -1.386544835519387E-01 -3.983435895880642E-01 -2.936409815154808E-01 + -1.422159241799500E-01 -4.085753326051255E-01 -3.011833623662710E-01 + -1.491471703727703E-01 -4.284882659487660E-01 -3.158622813817012E-01 + -1.626367041888410E-01 -4.672426515590252E-01 -3.444302717449805E-01 + -1.789654158846400E-01 -5.141537752647126E-01 -3.790110426397180E-01 + -2.003833659775424E-01 -5.756858866185359E-01 -4.243697481515638E-01 + -2.284767388490885E-01 -6.563959704658834E-01 -4.838655925898798E-01 + -2.653260916525235E-01 -7.622613063258578E-01 -5.619047576296287E-01 + -3.136604375582557E-01 -9.011221376185455E-01 -6.642667181597504E-01 + -3.770593527738628E-01 -1.083262309476127E+00 -7.985322623673710E-01 + -4.602180751108719E-01 -1.322170876387868E+00 -9.746449146456915E-01 + -5.692952269391952E-01 -1.635541083309887E+00 -1.205647339545886E+00 + -7.123689144203712E-01 -2.046580703427932E+00 -1.508647263852512E+00 + -9.000349811112124E-01 -2.585730774413555E+00 -1.906084451663362E+00 + -1.146191721789648E+00 -3.292920020453448E+00 -2.427392562932562E+00 + -1.469069171346103E+00 -4.220521919494666E+00 -3.111178970470244E+00 + -1.892579196481947E+00 -5.437233412101746E+00 -4.008083969694095E+00 + -2.448086376178003E+00 -7.033162503851445E+00 -5.184531130335269E+00 + -3.176730819942672E+00 -9.126501542209272E+00 -6.727646536067616E+00 + -4.132474948613729E+00 -1.187228038173691E+01 -8.751711224285938E+00 + -5.386099878174316E+00 -1.547384768519296E+01 -1.140662468498592E+01 + -7.030447373356980E+00 -2.019793065013972E+01 -1.488900621401227E+01 + -9.187295583021438E+00 -2.639438846401557E+01 -1.945675627186407E+01 + -1.201637776495771E+01 -3.452212240180767E+01 -2.544815624257285E+01 + -1.572721191466101E+01 -4.518306143307287E+01 -3.330692109493239E+01 + -2.059461738436691E+01 -5.916674026634286E+01 -4.361506031224713E+01 + -2.697906763214135E+01 -7.750877122051835E+01 -5.713598072655874E+01 + -1.348999066177580E-01 -4.411929231808699E-01 -1.927894015646009E-01 + -1.349087977109562E-01 -4.412220016843081E-01 -1.928021080859019E-01 + -1.349261014827489E-01 -4.412785940263689E-01 -1.928268374122029E-01 + -1.349597779398029E-01 -4.413887335728114E-01 -1.928749654218141E-01 + -1.350253187810308E-01 -4.416030862440183E-01 -1.929686317546914E-01 + -1.351528738222864E-01 -4.420202576337470E-01 -1.931509243943735E-01 + -1.354011203849622E-01 -4.428321531302122E-01 -1.935057008168238E-01 + -1.358842557849725E-01 -4.444122574072796E-01 -1.941961637458056E-01 + -1.368245298907936E-01 -4.474874432375705E-01 -1.955399369678404E-01 + -1.386544835519387E-01 -4.534723443786352E-01 -1.981551772602060E-01 + -1.422159241799500E-01 -4.651201093089674E-01 -2.032449362125800E-01 + -1.491471703727703E-01 -4.877888927482447E-01 -2.131505828443238E-01 + -1.626367041888410E-01 -5.319066909430432E-01 -2.324288701092267E-01 + -1.789654158846400E-01 -5.853100788731791E-01 -2.557647095110576E-01 + -2.003833659775424E-01 -6.553579258061264E-01 -2.863737283360387E-01 + -2.284767388490885E-01 -7.472378804329889E-01 -3.265227890702557E-01 + -2.653260916525235E-01 -8.677544477775250E-01 -3.791852767852910E-01 + -3.136604375582557E-01 -1.025832921624134E+00 -4.482613040103229E-01 + -3.770593527738628E-01 -1.233180379689667E+00 -5.388665477848416E-01 + -4.602180751108719E-01 -1.505152693946418E+00 -6.577111097729842E-01 + -5.692952269391952E-01 -1.861891765706803E+00 -8.135964573065411E-01 + -7.123689144203712E-01 -2.329817207560125E+00 -1.018067248137360E+00 + -9.000349811112124E-01 -2.943582944105780E+00 -1.286266312157669E+00 + -1.146191721789648E+00 -3.748643634683738E+00 -1.638056108876781E+00 + -1.469069171346103E+00 -4.804620983894479E+00 -2.099489714276324E+00 + -1.892579196481947E+00 -6.189719244307135E+00 -2.704740276338613E+00 + -2.448086376178003E+00 -8.006516917507314E+00 -3.498631832111892E+00 + -3.176730819942672E+00 -1.038956357902157E+01 -4.539958915197285E+00 + -4.132474948613729E+00 -1.351534443768548E+01 -5.905840799292813E+00 + -5.386099878174316E+00 -1.761535059122895E+01 -7.697432847175190E+00 + -7.030447373356980E+00 -2.299322294350885E+01 -1.004741793989122E+01 + -9.187295583021438E+00 -3.004723943868427E+01 -1.312983279126039E+01 + -1.201637776495771E+01 -3.929981098644745E+01 -1.717295687123490E+01 + -1.572721191466101E+01 -5.143617050659168E+01 -2.247621847432787E+01 + -2.059461738436691E+01 -6.735512035116787E+01 -2.943236997364506E+01 + -2.697906763214135E+01 -8.823559638959708E+01 -3.855657452980577E+01 + -1.173778669539042E-01 -4.769054440472977E-01 -9.381133947129805E-02 + -1.173856031902046E-01 -4.769368763207223E-01 -9.381752246566183E-02 + -1.174006593890872E-01 -4.769980495503960E-01 -9.382955575797818E-02 + -1.174299616383968E-01 -4.771171043822928E-01 -9.385297485161651E-02 + -1.174869894328155E-01 -4.773488079080603E-01 -9.389855289729365E-02 + -1.175979764530232E-01 -4.777997473869350E-01 -9.398725651152526E-02 + -1.178139784706383E-01 -4.786773620582451E-01 -9.415989074936612E-02 + -1.182343598046582E-01 -4.803853684479735E-01 -9.449587007031106E-02 + -1.190525024680627E-01 -4.837094763084290E-01 -9.514975023634553E-02 + -1.206447649295804E-01 -4.901788274387247E-01 -9.642232638874317E-02 + -1.237436129175441E-01 -5.027694249175092E-01 -9.889900353506566E-02 + -1.297745651534927E-01 -5.272731412377470E-01 -1.037190920425859E-01 + -1.415119543424968E-01 -5.749620705768379E-01 -1.130999082926275E-01 + -1.557197428948564E-01 -6.326882150735179E-01 -1.244551297633436E-01 + -1.743557327888562E-01 -7.084061103318227E-01 -1.393494809702561E-01 + -1.988000802007964E-01 -8.077233211439415E-01 -1.588860173951037E-01 + -2.308631003995790E-01 -9.379951456558224E-01 -1.845115884708186E-01 + -2.729193372441506E-01 -1.108869338787951E+00 -2.181239892913311E-01 + -3.280834186862928E-01 -1.333000611900604E+00 -2.622125087463953E-01 + -4.004407218991713E-01 -1.626987823581272E+00 -3.200422828859841E-01 + -4.953499307787151E-01 -2.012603268634911E+00 -3.958961064747852E-01 + -6.198398928166817E-01 -2.518405104755030E+00 -4.953916109730824E-01 + -7.831301660280374E-01 -3.181852331011478E+00 -6.258972987157917E-01 + -9.973138069332166E-01 -4.052078950597820E+00 -7.970782442175964E-01 + -1.278252965948651E+00 -5.193532768574818E+00 -1.021611876503894E+00 + -1.646753616767454E+00 -6.690748309043576E+00 -1.316126852337736E+00 + -2.130106418597481E+00 -8.654607327531108E+00 -1.702434552022609E+00 + -2.764107825427604E+00 -1.123055056365817E+01 -2.209144400692617E+00 + -3.595711122937661E+00 -1.460934888537225E+01 -2.873782643597508E+00 + -4.686503725255814E+00 -1.904123152110236E+01 -3.745571489011053E+00 + -6.117268255452522E+00 -2.485441769757758E+01 -4.889074438323348E+00 + -7.993965197216266E+00 -3.247942411131251E+01 -6.388977771527425E+00 + -1.045558018479302E+01 -4.248094841218264E+01 -8.356362298440713E+00 + -1.368441709085608E+01 -5.559968994670913E+01 -1.093692985306403E+01 + -1.791959920445612E+01 -7.280720494867109E+01 -1.432179377411084E+01 + -2.347477837800819E+01 -9.537785867818181E+01 -1.876163250008323E+01 + -7.787945231879136E-02 -4.939146935782766E-01 -2.067416682939382E-16 + -7.788458526132747E-02 -4.939472469112083E-01 -2.067552943926276E-16 + -7.789457495149146E-02 -4.940106019375906E-01 -2.067818133928100E-16 + -7.791401680358134E-02 -4.941339029641343E-01 -2.068334244508761E-16 + -7.795185437476518E-02 -4.943738703986832E-01 -2.069338694637496E-16 + -7.802549354177833E-02 -4.948408930282438E-01 -2.071293547141820E-16 + -7.816880947746681E-02 -4.957498085939402E-01 -2.075098064861855E-16 + -7.844772976208375E-02 -4.975187325245480E-01 -2.082502385673804E-16 + -7.899056210516596E-02 -5.009613975974910E-01 -2.096912613387443E-16 + -8.004701790615155E-02 -5.076614837907897E-01 -2.124957678969121E-16 + -8.210308341820062E-02 -5.207011359342543E-01 -2.179538752850157E-16 + -8.610458105387428E-02 -5.460787987160592E-01 -2.285763985853472E-16 + -9.389226254284802E-02 -5.954685954055202E-01 -2.492498652730909E-16 + -1.033190379634091E-01 -6.552535933048215E-01 -2.742745312029622E-16 + -1.156838962116273E-01 -7.336720334834759E-01 -3.070987402381081E-16 + -1.319025619459414E-01 -8.365314794336289E-01 -3.501534088519598E-16 + -1.531761675887170E-01 -9.714495624389623E-01 -4.066271075011418E-16 + -1.810802075669768E-01 -1.148418133032424E+00 -4.807022018358026E-16 + -2.176812172962676E-01 -1.380543243916598E+00 -5.778645930362658E-16 + -2.656898179952111E-01 -1.685015766479768E+00 -7.053099962259109E-16 + -3.286614616224664E-01 -2.084384523452543E+00 -8.724768453893945E-16 + -4.112597428343018E-01 -2.608226224185617E+00 -1.091745291012841E-15 + -5.196017784897998E-01 -3.295335875694045E+00 -1.379354057264712E-15 + -6.617112330421703E-01 -4.196599888343941E+00 -1.756603059918646E-15 + -8.481125402632002E-01 -5.378764654498192E+00 -2.251430849273145E-15 + -1.092610328557112E+00 -6.929379695952656E+00 -2.900483701354705E-15 + -1.413311773047143E+00 -8.963281462968354E+00 -3.751829591497116E-15 + -1.833967588446001E+00 -1.163109796627618E+01 -4.868518043505177E-15 + -2.385730974826315E+00 -1.513040408358421E+01 -6.333249492011457E-15 + -3.109464781433042E+00 -1.972035368748184E+01 -8.254499964679383E-15 + -4.058767753965601E+00 -2.574087223032003E+01 -1.077455466992312E-14 + -5.303943985105570E+00 -3.363783116291458E+01 -1.408004544677237E-14 + -6.937209540420972E+00 -4.399606857043311E+01 -1.841577246615021E-14 + -9.079521855311167E+00 -5.758270148904505E+01 -2.410283380004432E-14 + -1.188953767888242E+01 -7.540393755485673E+01 -3.156240550991510E-14 + -1.557536297794747E+01 -9.877959337892206E+01 -4.134693337548725E-14 + -3.577060207130750E-17 -3.045137704467683E-01 -3.965958865574511E-01 + -3.577295966935740E-17 -3.045338405890025E-01 -3.966220257229838E-01 + -3.577754800711573E-17 -3.045729009332507E-01 -3.966728975500070E-01 + -3.578647779198106E-17 -3.046489198510536E-01 -3.967719038775598E-01 + -3.580385686517513E-17 -3.047968672379789E-01 -3.969645891705613E-01 + -3.583767987319151E-17 -3.050848012145553E-01 -3.973395916886502E-01 + -3.590350593068617E-17 -3.056451759301216E-01 -3.980694184771017E-01 + -3.603161605747299E-17 -3.067357725508467E-01 -3.994898013157445E-01 + -3.628094292300289E-17 -3.088582826429282E-01 -4.022541386081474E-01 + -3.676618079946214E-17 -3.129890941688185E-01 -4.076340689045955E-01 + -3.771054672749912E-17 -3.210284452777188E-01 -4.181044445979611E-01 + -3.954846385908150E-17 -3.366745636849846E-01 -4.384818028757442E-01 + -4.312540292716675E-17 -3.671249094775896E-01 -4.781400484384362E-01 + -4.745518982659403E-17 -4.039842201301550E-01 -5.261452698926367E-01 + -5.313445965831594E-17 -4.523316274898267E-01 -5.891124810516969E-01 + -6.058381145569262E-17 -5.157476750777746E-01 -6.717049483092925E-01 + -7.035493412556833E-17 -5.989288695058221E-01 -7.800393579509282E-01 + -8.317146378166285E-17 -7.080354973965142E-01 -9.221388096575535E-01 + -9.998257525526792E-17 -8.511478478686539E-01 -1.108526996403744E+00 + -1.220332766979621E-16 -1.038864627807811E+00 -1.353007574909123E+00 + -1.509566131994339E-16 -1.285087887746413E+00 -1.673686445763293E+00 + -1.888946078954959E-16 -1.608052588901220E+00 -2.094312651906057E+00 + -2.386568973009792E-16 -2.031677059708822E+00 -2.646037200588631E+00 + -3.039288091854552E-16 -2.587334354841526E+00 -3.369720064788668E+00 + -3.895442929574972E-16 -3.316175701153695E+00 -4.318956217479931E+00 + -5.018439154121615E-16 -4.272178101819141E+00 -5.564044802757038E+00 + -6.491444345219812E-16 -5.526141800095185E+00 -7.197195395254079E+00 + -8.423547272705762E-16 -7.170933649466704E+00 -9.339356916379765E+00 + -1.095783686310200E-15 -9.328364707062953E+00 -1.214917494765837E+01 + -1.428199917175697E-15 -1.215821139560251E+01 -1.583474080767324E+01 + -1.864221715795589E-15 -1.587004832890442E+01 -2.066900251334180E+01 + -2.436140266152563E-15 -2.073876912399967E+01 -2.700997894044575E+01 + -3.186311081643308E-15 -2.712494465017146E+01 -3.532727421677329E+01 + -4.170290797046475E-15 -3.550152641928015E+01 -4.623685596792560E+01 + -5.460951617664387E-15 -4.648887273430165E+01 -6.054667304557867E+01 + -7.153878136170496E-15 -6.090069158521013E+01 -7.931649112538398E+01 + -3.654108465218557E-17 -3.744815664524738E-01 -3.313313900210772E-01 + -3.654349303183055E-17 -3.745062480893395E-01 -3.313532276808803E-01 + -3.654818020030777E-17 -3.745542832861675E-01 -3.313957279531520E-01 + -3.655730232869799E-17 -3.746477689875763E-01 -3.314784416303252E-01 + -3.657505573926387E-17 -3.748297100837936E-01 -3.316394183023754E-01 + -3.660960727956656E-17 -3.751838023352704E-01 -3.319527097655278E-01 + -3.667685120055054E-17 -3.758729337363816E-01 -3.325624350110195E-01 + -3.680772076149300E-17 -3.772141155499256E-01 -3.337490772235111E-01 + -3.706241801487526E-17 -3.798243124645929E-01 -3.360585104491789E-01 + -3.755810769560242E-17 -3.849042560371472E-01 -3.405531102263261E-01 + -3.852281483836305E-17 -3.947908000581464E-01 -3.493004630106399E-01 + -4.040031987322307E-17 -4.140319099805563E-01 -3.663244884026868E-01 + -4.405430459011590E-17 -4.514787984240712E-01 -3.994565053334284E-01 + -4.847735313994180E-17 -4.968072325742895E-01 -4.395619055451015E-01 + -5.427895187372483E-17 -5.562633708481108E-01 -4.921671248785095E-01 + -6.188875933766450E-17 -6.342504543357219E-01 -5.611680346440355E-01 + -7.187034756799554E-17 -7.365441008368356E-01 -6.516747487838359E-01 + -8.496293947285073E-17 -8.707200392940948E-01 -7.703900719907214E-01 + -1.021361546798453E-16 -1.046715158020165E+00 -9.261059003473463E-01 + -1.246618182527231E-16 -1.277563417190495E+00 -1.130354337244863E+00 + -1.542081503333813E-16 -1.580361126284445E+00 -1.398261745344291E+00 + -1.929633122666201E-16 -1.977533073614981E+00 -1.749668984512379E+00 + -2.437974588663184E-16 -2.498493275785421E+00 -2.210600799036551E+00 + -3.104752981944350E-16 -3.181823339929152E+00 -2.815193174946376E+00 + -3.979349007422334E-16 -4.078129765290046E+00 -3.608221404914907E+00 + -5.126534062441557E-16 -5.253791792029505E+00 -4.648416085803207E+00 + -6.631267118757726E-16 -6.795877357867775E+00 -6.012812627135979E+00 + -8.604986668941942E-16 -8.818591231651622E+00 -7.802456389216254E+00 + -1.119386371024014E-15 -1.147173286388888E+01 -1.014988596568254E+01 + -1.458962697069694E-15 -1.495179033120755E+01 -1.322894881228132E+01 + -1.904376207913217E-15 -1.951649197724372E+01 -1.726767615403049E+01 + -2.488613625027107E-15 -2.550389342477768E+01 -2.256517066896386E+01 + -3.254942780398923E-15 -3.335741351739141E+01 -2.951375762744745E+01 + -4.260116973578678E-15 -4.365867331858459E+01 -3.862803997044963E+01 + -5.578578044193097E-15 -5.717057018015633E+01 -5.058300910651836E+01 + -7.307969433785670E-15 -7.489377688702982E+01 -6.626403386148326E+01 + -3.066749440929208E-17 -4.330273665941891E-01 -2.500084666696301E-01 + -3.066951566755523E-17 -4.330559069154563E-01 -2.500249444317964E-01 + -3.067344942361197E-17 -4.331114518518421E-01 -2.500570133157709E-01 + -3.068110526700224E-17 -4.332195529460529E-01 -2.501194255116132E-01 + -3.069600500587035E-17 -4.334299383984440E-01 -2.502408916091848E-01 + -3.072500275399828E-17 -4.338393888198384E-01 -2.504772879201967E-01 + -3.078143793074423E-17 -4.346362578318100E-01 -2.509373604587674E-01 + -3.089127160335552E-17 -4.361871176894651E-01 -2.518327498150599E-01 + -3.110502898545051E-17 -4.392053882734036E-01 -2.535753491491839E-01 + -3.152104182845008E-17 -4.450795214343730E-01 -2.569667815109253E-01 + -3.233068257088618E-17 -4.565117106411390E-01 -2.635671590268784E-01 + -3.390639866437503E-17 -4.787609423963365E-01 -2.764127589700041E-01 + -3.697304424820412E-17 -5.220622125855584E-01 -3.014127589700041E-01 + -4.068513484335016E-17 -5.744772156999994E-01 -3.316745751277017E-01 + -4.555418836014568E-17 -6.432286237558624E-01 -3.713682190759201E-01 + -5.194080030879239E-17 -7.334080729365400E-01 -4.234333483357565E-01 + -6.031795452200822E-17 -8.516941311351238E-01 -4.917258358780887E-01 + -7.130605169720452E-17 -1.006846903649027E+00 -5.813033308545077E-01 + -8.571885543204322E-17 -1.210356794716133E+00 -6.987998212448525E-01 + -1.046237584545512E-16 -1.477295471293334E+00 -8.529169380238224E-01 + -1.294208322831869E-16 -1.827432050302617E+00 -1.055068386167966E+00 + -1.619465146276414E-16 -2.286697172660663E+00 -1.320225228190791E+00 + -2.046096134788721E-16 -2.889103391432106E+00 -1.668024620759989E+00 + -2.605697001671140E-16 -3.679264095452638E+00 -2.124224115929307E+00 + -3.339711029361773E-16 -4.715697516494570E+00 -2.722609230564992E+00 + -4.302498302812925E-16 -6.075160510271555E+00 -3.507495555975470E+00 + -5.565361543772933E-16 -7.858333065235229E+00 -4.537010710595300E+00 + -7.221826693806858E-16 -1.019727452618778E+01 -5.887399192695035E+00 + -9.394569318884035E-16 -1.326520373053465E+01 -7.658668944679417E+00 + -1.224449979567708E-15 -1.728932736082475E+01 -9.981997805879738E+00 + -1.598268011616735E-15 -2.256766656399634E+01 -1.302944836570502E+01 + -2.088595485296907E-15 -2.949112799396478E+01 -1.702671068602129E+01 + -2.731745389349824E-15 -3.857245382907949E+01 -2.226981660152348E+01 + -3.575348534771537E-15 -5.048419476354116E+01 -2.914706343655201E+01 + -4.681881028177381E-15 -6.610851820110418E+01 -3.816777077913480E+01 + -6.133291167658174E-15 -8.660254037844385E+01 -5.000000000000003E+01 + -2.121017218836621E-17 -4.741821840556995E-01 -1.586448547862944E-01 + -2.121157012571402E-17 -4.742134368422810E-01 -1.586553108809255E-01 + -2.121429077977846E-17 -4.742742607561501E-01 -1.586756604455185E-01 + -2.121958569413917E-17 -4.743926357525270E-01 -1.587152645992426E-01 + -2.122989061252398E-17 -4.746230161880477E-01 -1.587923418745341E-01 + -2.124994595916103E-17 -4.750713806796649E-01 -1.589423490280200E-01 + -2.128897750834099E-17 -4.759439839321450E-01 -1.592342917051821E-01 + -2.136494038542104E-17 -4.776422371401377E-01 -1.598024681205590E-01 + -2.151277870635656E-17 -4.809473634392435E-01 -1.609082483447068E-01 + -2.180050041960872E-17 -4.873797728123741E-01 -1.630603086397566E-01 + -2.236046203005523E-17 -4.998984745499540E-01 -1.672486305254182E-01 + -2.345025466902451E-17 -5.242622679753428E-01 -1.753999078192106E-01 + -2.557120005848547E-17 -5.716788805377386E-01 -1.912638560386056E-01 + -2.813854643674083E-17 -6.290753930250985E-01 -2.104667314206283E-01 + -3.150606848165597E-17 -7.043609184763928E-01 -2.356546479099738E-01 + -3.592316031586952E-17 -8.031110009613815E-01 -2.686929884945400E-01 + -4.171694577937869E-17 -9.326389378700618E-01 -3.120285279403495E-01 + -4.931650477816661E-17 -1.102537392814334E+00 -3.688706376175108E-01 + -5.928465036101642E-17 -1.325388815305544E+00 -4.434289671980338E-01 + -7.235960989179131E-17 -1.617697279927221E+00 -5.412252056101953E-01 + -8.950969716835842E-17 -2.001110755750346E+00 -6.695020098435720E-01 + -1.120050244312519E-16 -2.504024325608932E+00 -8.377593863183080E-01 + -1.415115651563304E-16 -3.163683087484542E+00 -1.058458248496500E+00 + -1.802145337944816E-16 -4.028940476028707E+00 -1.347943255259709E+00 + -2.309802197948265E-16 -5.163876281780109E+00 -1.727653274213200E+00 + -2.975682611200387E-16 -6.652542313680553E+00 -2.225709115190122E+00 + -3.849100779428832E-16 -8.605187162229493E+00 -2.878996119348980E+00 + -4.994740869465077E-16 -1.116642106080729E+01 -3.735895837592887E+00 + -6.497447435050249E-16 -1.452592552374066E+01 -4.859869102715324E+00 + -8.468508889596007E-16 -1.893250090240337E+01 -6.334155852743641E+00 + -1.105389937538466E-15 -2.471249220233503E+01 -8.267939768033028E+00 + -1.444508941088098E-15 -3.229395775244303E+01 -1.080443426678648E+01 + -1.889322593805692E-15 -4.223837062520194E+01 -1.413148869687970E+01 + -2.472773192483241E-15 -5.528220057210236E+01 -1.849550020419534E+01 + -3.238070298400344E-15 -7.239145597618264E+01 -2.421966157159734E+01 + -4.241890778921917E-15 -9.483322512479162E+01 -3.172789643879009E+01 + -1.434407079274636E-18 -4.957189980185481E-01 -6.541871773035919E-02 + -1.434501619347686E-18 -4.957516702710502E-01 -6.542302940062519E-02 + -1.434685612453240E-18 -4.958152567377134E-01 -6.543142073751310E-02 + -1.435043698308258E-18 -4.959390081914110E-01 -6.544775188772224E-02 + -1.435740602027438E-18 -4.961798522435485E-01 -6.547953543672237E-02 + -1.437096910261903E-18 -4.966485809389848E-01 -6.554139231600567E-02 + -1.439736546091427E-18 -4.975608168359294E-01 -6.566177766109887E-02 + -1.444873783435755E-18 -4.993362027676561E-01 -6.589607062060682E-02 + -1.454871832119881E-18 -5.027914441335465E-01 -6.635204963393684E-02 + -1.474329951492259E-18 -5.095160062038052E-01 -6.723947220537937E-02 + -1.512199181926279E-18 -5.226032930958772E-01 -6.896656664894688E-02 + -1.585899963909386E-18 -5.480736622300872E-01 -7.232782352136677E-02 + -1.729335814141022E-18 -5.976438832532025E-01 -7.886947375043739E-02 + -1.902960987346334E-18 -6.576472798731205E-01 -8.678796241444121E-02 + -2.130700650086514E-18 -7.363521880221615E-01 -9.717443981550163E-02 + -2.429420893398700E-18 -8.395873866224477E-01 -1.107981144054696E-01 + -2.821244534001412E-18 -9.749983346901178E-01 -1.286679370764736E-01 + -3.335189500143921E-18 -1.152613383677241E+00 -1.521073226977562E-01 + -4.009317860078813E-18 -1.385586463600830E+00 -1.828521604288359E-01 + -4.893554647296405E-18 -1.691171245287983E+00 -2.231793713200700E-01 + -6.053385240900872E-18 -2.091998923873904E+00 -2.760755340024338E-01 + -7.574705124112045E-18 -2.617754254468411E+00 -3.454580666567640E-01 + -9.570181187440416E-18 -3.307373964922825E+00 -4.364653456996006E-01 + -1.218759568603458E-17 -4.211930357169893E+00 -5.558372469826515E-01 + -1.562079079338354E-17 -5.398413652747216E+00 -7.124142918718106E-01 + -2.012402429020098E-17 -6.954693197891942E+00 -9.177923642884445E-01 + -2.603079955137095E-17 -8.996024948338007E+00 -1.187181486170464E+00 + -3.377856435429027E-17 -1.167358716932813E+01 -1.540532251100946E+00 + -4.394110766890859E-17 -1.518567649322510E+01 -2.004013338253526E+00 + -5.727105369186721E-17 -1.979239349958840E+01 -2.611949529336624E+00 + -7.475560017536371E-17 -2.583490541189062E+01 -3.409363755447122E+00 + -9.768962895590151E-17 -3.376071248010854E+01 -4.455311434381214E+00 + -1.277716031496845E-16 -4.415678924327040E+01 -5.827254034908670E+00 + -1.672293530310901E-16 -5.779305506898577E+01 -7.626795768258254E+00 + -2.189850661260549E-16 -7.567939333925247E+01 -9.987208258417683E+00 + -2.868717004632712E-16 -9.914044204623056E+01 -1.308330045814125E+01 + 2.469333724155937E-17 -5.000169333392598E-01 -2.019256492403221E-16 + 2.469496475019370E-17 -5.000498888635925E-01 -2.019389579208952E-16 + 2.469813219399066E-17 -5.001140266315415E-01 -2.019648591645739E-16 + 2.470429664682080E-17 -5.002388510232261E-01 -2.020152679500597E-16 + 2.471629385375826E-17 -5.004817832183692E-01 -2.021133731100150E-16 + 2.473964271833167E-17 -5.009545758403930E-01 -2.023043045581174E-16 + 2.478508408478555E-17 -5.018747209175344E-01 -2.026758937578196E-16 + 2.487352169504717E-17 -5.036654996301195E-01 -2.033990775743548E-16 + 2.504563823816930E-17 -5.071506982983675E-01 -2.048065319161860E-16 + 2.538061002594912E-17 -5.139335630218502E-01 -2.075457078753915E-16 + 2.603252933929946E-17 -5.271343180537565E-01 -2.128766693939918E-16 + 2.730128929647690E-17 -5.528255179400078E-01 -2.232517424583160E-16 + 2.977053939533355E-17 -6.028255179400077E-01 -2.434436235504026E-16 + 3.275949909689262E-17 -6.633491502554029E-01 -2.678853432898751E-16 + 3.668004046661738E-17 -7.427364381518395E-01 -2.999449168384369E-16 + 4.182251348949080E-17 -8.468666966715123E-01 -3.419966328007863E-16 + 4.856776275409362E-17 -9.834516717561765E-01 -3.971547843182892E-16 + 5.741533228712779E-17 -1.162606661709014E+00 -4.695043094019225E-16 + 6.902046110759453E-17 -1.397599642489704E+00 -5.644033159098958E-16 + 8.424260934127348E-17 -1.705833876047643E+00 -6.888798957601429E-16 + 1.042091086738312E-16 -2.110136772335931E+00 -8.521526159009290E-16 + 1.303986510089263E-16 -2.640450456381580E+00 -1.066313232896051E-15 + 1.647507983882773E-16 -3.336049241519975E+00 -1.347222192042338E-15 + 2.098096243300851E-16 -4.248448231858611E+00 -1.715683230471489E-15 + 2.689121244688257E-16 -5.445218461129980E+00 -2.198984073751423E-15 + 3.464353499332679E-16 -7.014991111950934E+00 -2.832917327891147E-15 + 4.481205658260454E-16 -9.074021421190594E+00 -3.664431231274535E-15 + 5.814984415428316E-16 -1.177479838539006E+01 -4.755106577621778E-15 + 7.564467619504010E-16 -1.531733788935882E+01 -6.185717306184909E-15 + 9.859219627582171E-16 -1.996399561175946E+01 -8.062212510311698E-15 + 1.286918666602591E-15 -2.605889673141002E+01 -1.052356288383188E-14 + 1.681728281786468E-15 -3.405342137204256E+01 -1.375205270246005E-14 + 2.199589873793255E-15 -4.453963320304693E+01 -1.798677955042148E-14 + 2.878855570883488E-15 -5.829412687310398E+01 -2.354136156377447E-14 + 3.769830870780668E-15 -7.633554155826955E+01 -3.082716356489222E-14 + 4.938500197713309E-15 -1.000000000000000E+02 -4.038376218417312E-14 + -4.786217425729569E-01 -7.235012294810550E-02 1.253140888799735E-01 + -4.786532879655863E-01 -7.235489145908645E-02 1.253223481832689E-01 + -4.787146813469174E-01 -7.236417189558235E-02 1.253384223707962E-01 + -4.788341646361426E-01 -7.238223340406964E-02 1.253697058211576E-01 + -4.790667020220067E-01 -7.241738456199000E-02 1.254305894126205E-01 + -4.795192643524810E-01 -7.248579545380507E-02 1.255490805530353E-01 + -4.804000374041059E-01 -7.261893616369398E-02 1.257796870271188E-01 + -4.821141906073905E-01 -7.287805350830694E-02 1.262284914331107E-01 + -4.854502613453749E-01 -7.338234553390366E-02 1.271019508432961E-01 + -4.919428945286341E-01 -7.436379448885612E-02 1.288018702983091E-01 + -5.045788033456718E-01 -7.627388229965877E-02 1.321102394335373E-01 + -5.291707042163662E-01 -7.999127934467737E-02 1.385489599874159E-01 + -5.770312575956869E-01 -8.722604662195038E-02 1.510799444925895E-01 + -6.349651482985138E-01 -9.598353451349287E-02 1.662483584674103E-01 + -7.109555388986518E-01 -1.074705055675847E-01 1.861443759581703E-01 + -8.106301748243169E-01 -1.225376693058268E-01 2.122414690787651E-01 + -9.413708246413719E-01 -1.423008794720204E-01 2.464723532072740E-01 + -1.112859963837561E+00 -1.682237726494397E-01 2.913721212697448E-01 + -1.337797845845958E+00 -2.022261632042593E-01 3.502659892894923E-01 + -1.632843065616633E+00 -2.468262221378654E-01 4.275155573830642E-01 + -2.019846272601023E+00 -3.053269694213295E-01 5.288418239587708E-01 + -2.527468400262042E+00 -3.820608911818007E-01 6.617488751119217E-01 + -3.193303255996177E+00 -4.827107977584031E-01 8.360796270796576E-01 + -4.066661667602988E+00 -6.147306849407810E-01 1.064744779289047E+00 + -5.212223376419471E+00 -7.878977668037213E-01 1.364678963274098E+00 + -6.714827131379749E+00 -1.015036562942072E+00 1.758094898555751E+00 + -8.685753731879824E+00 -1.312968665026080E+00 2.274128436571049E+00 + -1.127096733309399E+01 -1.703758521102141E+00 2.950996322377315E+00 + -1.466192535365497E+01 -2.216347498737344E+00 3.838826475041271E+00 + -1.910975755282273E+01 -2.888697243511586E+00 5.003370393446223E+00 + -2.494386436039706E+01 -3.770601067084835E+00 6.530872623264346E+00 + -3.259631182650281E+01 -4.927371572432856E+00 8.534457911224241E+00 + -4.263382984819577E+01 -6.444677616782926E+00 1.116250907066991E+01 + -5.579978341822164E+01 -8.434888831174677E+00 1.460965601178977E+01 + -7.306922522977817E+01 -1.104539756317365E+01 1.913118976921419E+01 + -9.572110675864127E+01 -1.446953455454602E+01 2.506196901034716E+01 + -4.366624927850382E-01 -2.109670608544511E-01 1.218018893744613E-01 + -4.366912726931706E-01 -2.109809654437636E-01 1.218099171928439E-01 + -4.367472839115252E-01 -2.110080264400855E-01 1.218255408663549E-01 + -4.368562924798338E-01 -2.110606923265401E-01 1.218559475300765E-01 + -4.370684440507826E-01 -2.111631902376689E-01 1.219151247266581E-01 + -4.374813316774566E-01 -2.113626708216481E-01 1.220302948955166E-01 + -4.382848901498170E-01 -2.117508982786420E-01 1.222544381223189E-01 + -4.398487689797630E-01 -2.125064633334328E-01 1.226906638100926E-01 + -4.428923769795259E-01 -2.139769377724160E-01 1.235396426232760E-01 + -4.488158216088903E-01 -2.168387629216767E-01 1.251919181435753E-01 + -4.603439803861967E-01 -2.224084232760617E-01 1.284075630484743E-01 + -4.827799873231008E-01 -2.332480500335603E-01 1.346658244748312E-01 + -5.264447578208595E-01 -2.543440416678387E-01 1.468456009237039E-01 + -5.792997681157088E-01 -2.798801624878731E-01 1.615888871532095E-01 + -6.486283222444570E-01 -3.133752337144986E-01 1.809272755424274E-01 + -7.395647990471329E-01 -3.573098549666238E-01 2.062929409490861E-01 + -8.588438308574121E-01 -4.149377648017078E-01 2.395644302052073E-01 + -1.015299061253791E+00 -4.905268081873937E-01 2.832057847517193E-01 + -1.220517352741252E+00 -5.896750073206650E-01 3.404490242109801E-01 + -1.489696894098452E+00 -7.197251435713952E-01 4.155335053834865E-01 + -1.842772757658596E+00 -8.903085539276399E-01 5.140198832719486E-01 + -2.305893263772081E+00 -1.114058414771047E+00 6.432019256610308E-01 + -2.913356490003837E+00 -1.407545337812923E+00 8.126466796828926E-01 + -3.710150340314304E+00 -1.792504567159081E+00 1.034902994372928E+00 + -4.755284288307993E+00 -2.297445662056325E+00 1.326430871436756E+00 + -6.126159538943099E+00 -2.959763876245082E+00 1.708820470687826E+00 + -7.924301256960678E+00 -3.828509599813992E+00 2.210391048047672E+00 + -1.028287738310875E+01 -4.968020964670067E+00 2.868288241291964E+00 + -1.337656087150955E+01 -6.462688639466580E+00 3.731235025684762E+00 + -1.743446573211479E+01 -8.423205688248958E+00 4.863140071550117E+00 + -2.275711490403628E+01 -1.099476534888700E+01 6.347830733856672E+00 + -2.973869657747422E+01 -1.436781384766333E+01 8.295261192614847E+00 + -3.889625723730799E+01 -1.879215458890611E+01 1.084965551055799E+01 + -5.090799342562633E+01 -2.459544825685128E+01 1.420018867193258E+01 + -6.666347805927931E+01 -3.220747892222728E+01 1.859499662566710E+01 + -8.732954099551750E+01 -4.219198326855676E+01 2.435955289774541E+01 + -4.162833480437566E-01 -1.384964871102139E-01 2.398829523446981E-01 + -4.163107847865767E-01 -1.385056152497760E-01 2.398987627461983E-01 + -4.163641819477479E-01 -1.385233803592348E-01 2.399295328183830E-01 + -4.164681030596610E-01 -1.385579546678258E-01 2.399894172774991E-01 + -4.166703534651952E-01 -1.386252429002634E-01 2.401059639148327E-01 + -4.170639715259117E-01 -1.387561986997893E-01 2.403327860131573E-01 + -4.178300277289294E-01 -1.390110637899869E-01 2.407742252984551E-01 + -4.193209199535225E-01 -1.395070801133311E-01 2.416333507718708E-01 + -4.222224820276844E-01 -1.404724229652421E-01 2.433053736381042E-01 + -4.278694780555239E-01 -1.423511652119747E-01 2.465594506637712E-01 + -4.388596148588687E-01 -1.460075577803461E-01 2.528925083646076E-01 + -4.602485278952471E-01 -1.531235986514618E-01 2.652178527021167E-01 + -5.018754529339347E-01 -1.669727783367670E-01 2.892053355602161E-01 + -5.522637070431756E-01 -1.837368315196321E-01 3.182415274137251E-01 + -6.183566806889693E-01 -2.057258078157683E-01 3.563275515650606E-01 + -7.050491300021209E-01 -2.345681810340929E-01 4.062840073900628E-01 + -8.187613803873276E-01 -2.723999782793020E-01 4.718106023604091E-01 + -9.679148071288000E-01 -3.220229712268201E-01 5.577601473691424E-01 + -1.163555511040310E+00 -3.871121715391650E-01 6.704979493341516E-01 + -1.420172377733784E+00 -4.724879972532899E-01 8.183732172091611E-01 + -1.756770104868121E+00 -5.844732664130062E-01 1.012337393093066E+00 + -2.198276664323291E+00 -7.313614564114937E-01 1.266755201202276E+00 + -2.777389434042454E+00 -9.240309076967269E-01 1.600468479894716E+00 + -3.536996721566467E+00 -1.176750458934544E+00 2.038191582704620E+00 + -4.533354014014712E+00 -1.508236177878606E+00 2.612341689899233E+00 + -5.840250183284828E+00 -1.943037448004552E+00 3.365439580952850E+00 + -7.554472189986930E+00 -2.513355062607545E+00 4.353258665896718E+00 + -9.802972994685842E+00 -3.261425971950176E+00 5.648955488542406E+00 + -1.275227352225179E+01 -4.242651294605285E+00 7.348487601054216E+00 + -1.662079497606799E+01 -5.529699249278035E+00 9.577720050325023E+00 + -2.169503481658613E+01 -7.217886864682207E+00 1.250174677291359E+01 + -2.835078437529717E+01 -9.432239029616612E+00 1.633711722843011E+01 + -3.708095945187753E+01 -1.233674766693167E+01 2.136787375928243E+01 + -4.853210499084889E+01 -1.614651675327195E+01 2.796658738192903E+01 + -6.355227732467419E+01 -2.114369262831119E+01 3.662194989185446E+01 + -8.325385007737523E+01 -2.769835937061045E+01 4.797496571619874E+01 + -3.561379211431202E-01 -3.314868087634008E-01 1.153222023970709E-01 + -3.561613937720322E-01 -3.315086566666692E-01 1.153298031469532E-01 + -3.562070760076148E-01 -3.315511768746882E-01 1.153445956632932E-01 + -3.562959823953757E-01 -3.316339293506473E-01 1.153733847358268E-01 + -3.564690112693765E-01 -3.317949815325726E-01 1.154294137898629E-01 + -3.568057586279407E-01 -3.321084199524175E-01 1.155384570698270E-01 + -3.574611335424155E-01 -3.327184312038045E-01 1.157506761963116E-01 + -3.587366187618225E-01 -3.339056300385957E-01 1.161636952990086E-01 + -3.612189575102153E-01 -3.362161465579634E-01 1.169675096489138E-01 + -3.660500645806976E-01 -3.407128546323190E-01 1.185318864656140E-01 + -3.754523250665298E-01 -3.494643105671624E-01 1.215764636430648E-01 + -3.937509263920050E-01 -3.664963214767165E-01 1.275017944780020E-01 + -4.293635124263146E-01 -3.996438797553566E-01 1.390336241729400E-01 + -4.724715736851332E-01 -4.397680923435476E-01 1.529925885805438E-01 + -5.290153060899802E-01 -4.923979873861540E-01 1.713022022598383E-01 + -6.031822618961149E-01 -5.614312636431683E-01 1.953184504066131E-01 + -7.004651454200476E-01 -6.519804320752788E-01 2.268199438378873E-01 + -8.280685952834737E-01 -7.707514414826966E-01 2.681396405005767E-01 + -9.954427501936967E-01 -9.265403119926819E-01 3.223376211779520E-01 + -1.214983113419728E+00 -1.130884556399358E+00 3.934277149287505E-01 + -1.502948546979472E+00 -1.398917632738138E+00 4.866747578320854E-01 + -1.880665380944418E+00 -1.750489707695408E+00 6.089844996182778E-01 + -2.376106812566464E+00 -2.211637733073933E+00 7.694150341427137E-01 + -3.025964563387501E+00 -2.816513707186381E+00 9.798476295510857E-01 + -3.878366218452041E+00 -3.609913925604666E+00 1.255866638909674E+00 + -4.996439490085389E+00 -4.650596534150726E+00 1.617913656290449E+00 + -6.462987370786356E+00 -6.015633077610887E+00 2.092801393547798E+00 + -8.386620410727055E+00 -7.806116313979101E+00 2.715699393451000E+00 + -1.090980026802761E+01 -1.015464700722289E+01 3.532738638398163E+00 + -1.421939022624724E+01 -1.323515416030626E+01 4.604427948506023E+00 + -1.856049403613054E+01 -1.727577596162958E+01 6.010135182891974E+00 + -2.425460796748922E+01 -2.257575539033741E+01 7.853965115847184E+00 + -3.172343038760198E+01 -2.952760174614508E+01 1.027246929545093E+01 + -4.152009217126744E+01 -3.864615935657315E+01 1.344475886631496E+01 + -5.437012082438973E+01 -5.060673625068596E+01 1.760576929841664E+01 + -7.122517206861910E+01 -6.629511655728031E+01 2.306365938987614E+01 + -3.561379211431202E-01 -2.656153612779347E-01 2.294148962100034E-01 + -3.561613937720322E-01 -2.656328676720548E-01 2.294300166743121E-01 + -3.562070760076148E-01 -2.656669384710006E-01 2.294594439964608E-01 + -3.562959823953757E-01 -2.657332467771458E-01 2.295167152066007E-01 + -3.564690112693765E-01 -2.658622954522538E-01 2.296281759604649E-01 + -3.568057586279407E-01 -2.661134489127370E-01 2.298450999545906E-01 + -3.574611335424155E-01 -2.666022416931351E-01 2.302672756316437E-01 + -3.587366187618225E-01 -2.675535261457146E-01 2.310889104305677E-01 + -3.612189575102153E-01 -2.694049080523429E-01 2.326879692572512E-01 + -3.660500645806976E-01 -2.730080521538745E-01 2.358000442746956E-01 + -3.754523250665298E-01 -2.800204613007509E-01 2.418567388456446E-01 + -3.937509263920050E-01 -2.936679537844108E-01 2.536442275533836E-01 + -4.293635124263146E-01 -3.202285903916630E-01 2.765849402486421E-01 + -4.724715736851332E-01 -3.523795144732662E-01 3.043540454530609E-01 + -5.290153060899802E-01 -3.945510525743176E-01 3.407780647188194E-01 + -6.031822618961149E-01 -4.498663717015227E-01 3.885545115904755E-01 + -7.004651454200476E-01 -5.224220494862101E-01 4.512216450286019E-01 + -8.280685952834737E-01 -6.175914611764751E-01 5.334205080772014E-01 + -9.954427501936967E-01 -7.424227245318931E-01 6.412386372270453E-01 + -1.214983113419728E+00 -9.061606738808400E-01 7.826608971249632E-01 + -1.502948546979472E+00 -1.120931520032296E+00 9.681608288371730E-01 + -1.880665380944418E+00 -1.402640901028089E+00 1.211476306118279E+00 + -2.376106812566464E+00 -1.772151832158229E+00 1.530626943738895E+00 + -3.025964563387501E+00 -2.256829792622396E+00 1.949248605754946E+00 + -3.878366218452041E+00 -2.892569375863491E+00 2.498343845594008E+00 + -4.996439490085389E+00 -3.726452594552659E+00 3.218577913181164E+00 + -6.462987370786356E+00 -4.820235710693314E+00 4.163290368283089E+00 + -8.386620410727055E+00 -6.254922820760113E+00 5.402445336076537E+00 + -1.090980026802761E+01 -8.136764909395110E+00 7.027812955519554E+00 + -1.421939022624724E+01 -1.060512865345442E+01 9.159765751575499E+00 + -1.856049403613054E+01 -1.384281772937788E+01 1.195619326141375E+01 + -2.425460796748922E+01 -1.808961100592918E+01 1.562419511973207E+01 + -3.172343038760198E+01 -2.366002024252870E+01 2.043541857726590E+01 + -4.152009217126744E+01 -3.096658240427143E+01 2.674617632833651E+01 + -5.437012082438973E+01 -4.055041159093996E+01 3.502383454650452E+01 + -7.122517206861910E+01 -5.312127321450446E+01 4.588142539051697E+01 + -3.190906466620157E-01 -1.924825270244125E-01 3.333895163755314E-01 + -3.191116775489102E-01 -1.924952133199757E-01 3.334114896840067E-01 + -3.191526076864430E-01 -1.925199032831137E-01 3.334542539545988E-01 + -3.192322655804183E-01 -1.925679546844639E-01 3.335374814231120E-01 + -3.193872951125695E-01 -1.926614719229791E-01 3.336994580316039E-01 + -3.196890123014077E-01 -1.928434743964511E-01 3.340146955627606E-01 + -3.202762117902871E-01 -1.931976860998317E-01 3.346282082296513E-01 + -3.214190145622078E-01 -1.938870499772467E-01 3.358222214902368E-01 + -3.236431278324723E-01 -1.952286842342436E-01 3.381460001885303E-01 + -3.279716786205086E-01 -1.978397616906042E-01 3.426685190054446E-01 + -3.363958682403026E-01 -2.029214189660940E-01 3.514702075932449E-01 + -3.527909561635846E-01 -2.128112981815239E-01 3.685999808750889E-01 + -3.846989402123482E-01 -2.320588990316549E-01 4.019378034713216E-01 + -4.233226821022054E-01 -2.553575933677912E-01 4.422923258115269E-01 + -4.739844484196875E-01 -2.859178899678921E-01 4.952243122172761E-01 + -5.404361809764744E-01 -3.260030430160444E-01 5.646538339258501E-01 + -6.275992051025192E-01 -3.785817046671385E-01 6.557227472995182E-01 + -7.419286963359503E-01 -4.475477794055675E-01 7.751754927450696E-01 + -8.918917419823832E-01 -5.380088013385518E-01 9.318585788376006E-01 + -1.088594402135375E+00 -6.566641912559372E-01 1.137375742766408E+00 + -1.346604209448087E+00 -8.123014066621145E-01 1.406947307398448E+00 + -1.685029020875480E+00 -1.016446728979577E+00 1.760537377779817E+00 + -2.128932119686184E+00 -1.284218884343174E+00 2.224332355721794E+00 + -2.711188368282848E+00 -1.635448715985186E+00 2.832680269259620E+00 + -3.474918875995368E+00 -2.096147829631887E+00 3.630634541097653E+00 + -4.476684490046974E+00 -2.700434977800962E+00 4.677290584087392E+00 + -5.790674615309770E+00 -3.493062848412297E+00 6.050162327481352E+00 + -7.514201581168665E+00 -4.532732388255094E+00 7.850922793570829E+00 + -9.774907460863666E+00 -5.896440115619328E+00 1.021293386403997E+01 + -1.274021707059214E+01 -7.685180378178253E+00 1.331112288033611E+01 + -1.662973722468416E+01 -1.003142485761926E+01 1.737493752570592E+01 + -2.173152051889917E+01 -1.310893324300790E+01 2.270533840991830E+01 + -2.842339811561204E+01 -1.714562163806976E+01 2.969708780448911E+01 + -3.720096140807205E+01 -2.244044171920799E+01 3.886798520195647E+01 + -4.871426484789988E+01 -2.938552069184316E+01 5.089721484513883E+01 + -6.381596809752716E+01 -3.849520170026197E+01 6.667564519246545E+01 + -2.448423563676756E-01 -4.227530042371373E-01 1.065319274339710E-01 + -2.448584936376258E-01 -4.227808673873407E-01 1.065389488272332E-01 + -2.448898998584750E-01 -4.228350944190222E-01 1.065526138045276E-01 + -2.449510223848425E-01 -4.229406306180351E-01 1.065792084699285E-01 + -2.450699785383855E-01 -4.231460242926789E-01 1.066309667870150E-01 + -2.453014900171598E-01 -4.235457597576499E-01 1.067316983941715E-01 + -2.457520557357702E-01 -4.243237216020572E-01 1.069277414120191E-01 + -2.466289429979561E-01 -4.258377844871148E-01 1.073092787063371E-01 + -2.483355337100837E-01 -4.287844411083725E-01 1.080518234220515E-01 + -2.516568863905416E-01 -4.345191997695174E-01 1.094969577851836E-01 + -2.581208754123923E-01 -4.456801394814340E-01 1.123094662891276E-01 + -2.707010372002226E-01 -4.674014677209324E-01 1.177831469976902E-01 + -2.951844436653344E-01 -5.096753364691234E-01 1.284359789650517E-01 + -3.248209374797902E-01 -5.608466982424193E-01 1.413309406672573E-01 + -3.636943622344163E-01 -6.279668540185956E-01 1.582449294333632E-01 + -4.146836311275026E-01 -7.160066316461127E-01 1.804305723679230E-01 + -4.815649403680025E-01 -8.314861378401935E-01 2.095309081447868E-01 + -5.692914291533693E-01 -9.829576284571887E-01 2.477010682264253E-01 + -6.843600024514055E-01 -1.181638876982570E+00 2.977678829817474E-01 + -8.352924829846300E-01 -1.442243947645122E+00 3.634392329153714E-01 + -1.033266725881591E+00 -1.784072899089213E+00 4.495786492769059E-01 + -1.292944435491601E+00 -2.232441120583522E+00 5.625655005995209E-01 + -1.633556991355226E+00 -2.820554155470355E+00 7.107674400951238E-01 + -2.080329698131594E+00 -3.591966858741506E+00 9.051601027204800E-01 + -2.666349937503512E+00 -4.603809010620713E+00 1.160139945839853E+00 + -3.435017574860819E+00 -5.931016270726812E+00 1.494590431362959E+00 + -4.443259094562805E+00 -7.671879811553705E+00 1.933280509363650E+00 + -5.765743498284928E+00 -9.955325629607829E+00 2.508698972982405E+00 + -7.500412190172578E+00 -1.295046263012897E+01 3.263460534452795E+00 + -9.775732384608283E+00 -1.687910660361963E+01 4.253461812984332E+00 + -1.276021121414967E+01 -2.203220760292584E+01 5.552020962690753E+00 + -1.667487513958882E+01 -2.879139731017142E+01 7.255307515802549E+00 + -2.180963887034370E+01 -3.765725216236356E+01 9.489464567999510E+00 + -2.854477605525997E+01 -4.928636536447990E+01 1.241995076526463E+01 + -3.737908183411086E+01 -6.453997329312742E+01 1.626379394715578E+01 + -4.896681293022349E+01 -8.454773749638211E+01 2.130566393472307E+01 + -2.596502903767807E-01 -3.700662038743047E-01 2.136578224248125E-01 + -2.596674036201370E-01 -3.700905944998482E-01 2.136719043590357E-01 + -2.597007092723294E-01 -3.701380633328562E-01 2.136993105025510E-01 + -2.597655284562129E-01 -3.702304467816989E-01 2.137526481116090E-01 + -2.598916790139341E-01 -3.704102426831199E-01 2.138564533236936E-01 + -2.601371921824115E-01 -3.707601599742877E-01 2.140584781659434E-01 + -2.606150078733181E-01 -3.714411661022948E-01 2.144516572372681E-01 + -2.615449288054315E-01 -3.727665345767573E-01 2.152168590827745E-01 + -2.633547332058304E-01 -3.753459557021439E-01 2.167060885638698E-01 + -2.668769595098019E-01 -3.803660036890170E-01 2.196044146204359E-01 + -2.737318871106270E-01 -3.901359794182542E-01 2.252451127376871E-01 + -2.870728903163464E-01 -4.091502250986704E-01 2.362229925997130E-01 + -3.130370400345129E-01 -4.461555922372284E-01 2.575880512786204E-01 + -3.444659330529966E-01 -4.909495769250344E-01 2.834498703962011E-01 + -3.856904016262420E-01 -5.497046916198753E-01 3.173721516815349E-01 + -4.397634740741654E-01 -6.267722605549445E-01 3.618671333519870E-01 + -5.106897289211707E-01 -7.278598035273207E-01 4.202300534988062E-01 + -6.037218685590129E-01 -8.604537270855098E-01 4.967831909580352E-01 + -7.257497272731739E-01 -1.034373757660981E+00 5.971959674282511E-01 + -8.858105230404270E-01 -1.262500177210653E+00 7.289048171645198E-01 + -1.095758141654776E+00 -1.561727719457262E+00 9.016639192295495E-01 + -1.371141019457850E+00 -1.954216770991473E+00 1.128267578786807E+00 + -1.732353639480011E+00 -2.469034539495099E+00 1.425497756015977E+00 + -2.206146919237137E+00 -3.144307731781718E+00 1.815366915359194E+00 + -2.827609347458063E+00 -4.030046166075385E+00 2.326748238830240E+00 + -3.642765590046031E+00 -5.191846431429324E+00 2.997513934776914E+00 + -4.711985014512857E+00 -6.715749882285972E+00 3.877340002347998E+00 + -6.114452563589863E+00 -8.714614744677206E+00 5.031385168723260E+00 + -7.954033084861150E+00 -1.133647424362140E+01 6.545116456216063E+00 + -1.036696342073085E+01 -1.477549974331443E+01 8.530638754213822E+00 + -1.353194192449140E+01 -1.928638081543198E+01 1.113499715548327E+01 + -1.768336261839050E+01 -2.520318720392911E+01 1.455106691662498E+01 + -2.312867409752263E+01 -3.296410957790928E+01 1.903183753840221E+01 + -3.027114875646134E+01 -4.314391133921797E+01 2.490914882559081E+01 + -3.963974859672469E+01 -5.649649482168848E+01 3.261826649357209E+01 + -5.192829943633307E+01 -7.401073427711619E+01 4.273011735781483E+01 + -2.448423563676756E-01 -3.036358575905083E-01 3.128488774785655E-01 + -2.448584936376258E-01 -3.036558698705450E-01 3.128694969778399E-01 + -2.448898998584750E-01 -3.036948176038649E-01 3.129096264762007E-01 + -2.449510223848425E-01 -3.037706173592136E-01 3.129877261728644E-01 + -2.450699785383855E-01 -3.039181382139896E-01 3.131397231543393E-01 + -2.453014900171598E-01 -3.042052420772366E-01 3.134355384182194E-01 + -2.457520557357702E-01 -3.047640012331309E-01 3.140112516297274E-01 + -2.466289429979561E-01 -3.058514536650302E-01 3.151316999039554E-01 + -2.483355337100837E-01 -3.079678445629136E-01 3.173123070363370E-01 + -2.516568863905416E-01 -3.120867469638404E-01 3.215561865398953E-01 + -2.581208754123923E-01 -3.201029206325740E-01 3.298155896085496E-01 + -2.707010372002226E-01 -3.357039312981432E-01 3.458899713136143E-01 + -2.951844436653344E-01 -3.660664887782208E-01 3.771737995821160E-01 + -3.248209374797902E-01 -4.028195340798063E-01 4.150420179729313E-01 + -3.636943622344163E-01 -4.510275559186668E-01 4.647127835980159E-01 + -4.146836311275026E-01 -5.142607751130449E-01 5.298646460996985E-01 + -4.815649403680025E-01 -5.972021582515067E-01 6.153226641918230E-01 + -5.692914291533693E-01 -7.059942318572221E-01 7.274157429744177E-01 + -6.843600024514055E-01 -8.486939895845913E-01 8.744453440753459E-01 + -8.352924829846300E-01 -1.035869582259203E+00 1.067300280657343E+00 + -1.033266725881591E+00 -1.281382980817503E+00 1.320263128176156E+00 + -1.292944435491601E+00 -1.603416575103658E+00 1.652067972578567E+00 + -1.633556991355226E+00 -2.025819737040392E+00 2.087287831339526E+00 + -2.080329698131594E+00 -2.579875072818824E+00 2.658154497861692E+00 + -2.666349937503512E+00 -3.306615170352776E+00 3.406945584449310E+00 + -3.435017574860819E+00 -4.259861417176877E+00 4.389115545026779E+00 + -4.443259094562805E+00 -5.510209939527100E+00 5.677402556904648E+00 + -5.765743498284928E+00 -7.150259855854618E+00 7.367215411695480E+00 + -7.500412190172578E+00 -9.301471042148561E+00 9.583699361226319E+00 + -9.775732384608283E+00 -1.212315928588128E+01 1.249100420542810E+01 + -1.276021121414967E+01 -1.582429499749687E+01 1.630444100424103E+01 + -1.667487513958882E+01 -2.067897927603892E+01 2.130642772315811E+01 + -2.180963887034370E+01 -2.704674346538172E+01 2.786740472532355E+01 + -2.854477605525997E+01 -3.539917555871114E+01 3.647326908320873E+01 + -3.737908183411086E+01 -4.635484536671626E+01 4.776135945783962E+01 + -4.896681293022349E+01 -6.072511496015524E+01 6.256765653700344E+01 + -1.989931522129459E-01 -2.293570682355100E-01 3.972580952589446E-01 + -1.990062676161104E-01 -2.293721848884454E-01 3.972842780698690E-01 + -1.990317927049006E-01 -2.294016047929308E-01 3.973352348391916E-01 + -1.990814694208639E-01 -2.294588615668762E-01 3.974344064807425E-01 + -1.991781498331906E-01 -2.295702942251382E-01 3.976274135064748E-01 + -1.993663084492823E-01 -2.297871635398364E-01 3.980030421781346E-01 + -1.997325011863378E-01 -2.302092328002414E-01 3.987340875814691E-01 + -2.004451824520568E-01 -2.310306604919680E-01 4.001568420782836E-01 + -2.018321968166532E-01 -2.326293162483427E-01 4.029257950721372E-01 + -2.045315926618016E-01 -2.357406068136975E-01 4.083147084084414E-01 + -2.097851344525705E-01 -2.417957746905000E-01 4.188025668194222E-01 + -2.200095338851179E-01 -2.535802921587615E-01 4.392139498171340E-01 + -2.399081752055239E-01 -2.765152222524082E-01 4.789384140073704E-01 + -2.639949362225676E-01 -3.042773277757514E-01 5.270237912988893E-01 + -2.955889195675876E-01 -3.406921657403309E-01 5.900961408029290E-01 + -3.370299328652701E-01 -3.884565697359719E-01 6.728265153166250E-01 + -3.913870414445966E-01 -4.511079068441567E-01 7.813418143501264E-01 + -4.626858591612459E-01 -5.332860502540828E-01 9.236785340077998E-01 + -5.562066799086061E-01 -6.410770019881381E-01 1.110377939007388E+00 + -6.788755290334000E-01 -7.824636139705401E-01 1.355266734470934E+00 + -8.397770953942389E-01 -9.679167872311550E-01 1.676481052983193E+00 + -1.050827531116789E+00 -1.211170932656979E+00 2.097809592012467E+00 + -1.327656945684371E+00 -1.530241122864471E+00 2.650455372632509E+00 + -1.690766950681353E+00 -1.948757264083079E+00 3.375346593010808E+00 + -2.167048981385574E+00 -2.497714095013006E+00 4.326167715343437E+00 + -2.791775840050957E+00 -3.217766615202945E+00 5.573335264430424E+00 + -3.611213951879050E+00 -4.162240939265169E+00 7.209212780150468E+00 + -4.686049793819456E+00 -5.401083556714090E+00 9.354951136153609E+00 + -6.095884252876325E+00 -7.026041474264194E+00 1.216946080951170E+01 + -7.945127760011227E+00 -9.157456874911434E+00 1.586118057546749E+01 + -1.037073278527658E+01 -1.195317949704892E+01 2.070351420087929E+01 + -1.355233635229847E+01 -1.562025677234578E+01 2.705507835697469E+01 + -1.772556371299755E+01 -2.043026747817089E+01 3.538626128441400E+01 + -2.319947843468276E+01 -2.673943449409617E+01 4.631405910943429E+01 + -3.037947122933907E+01 -3.501500618599142E+01 6.064776974147557E+01 + -3.979728264081204E+01 -4.586986018729330E+01 7.944892838047272E+01 + -1.173778669539042E-01 -4.769054440472978E-01 9.381133947129763E-02 + -1.173856031902046E-01 -4.769368763207225E-01 9.381752246566141E-02 + -1.174006593890872E-01 -4.769980495503962E-01 9.382955575797776E-02 + -1.174299616383969E-01 -4.771171043822929E-01 9.385297485161609E-02 + -1.174869894328155E-01 -4.773488079080604E-01 9.389855289729324E-02 + -1.175979764530232E-01 -4.777997473869351E-01 9.398725651152484E-02 + -1.178139784706383E-01 -4.786773620582452E-01 9.415989074936570E-02 + -1.182343598046582E-01 -4.803853684479736E-01 9.449587007031064E-02 + -1.190525024680627E-01 -4.837094763084291E-01 9.514975023634512E-02 + -1.206447649295804E-01 -4.901788274387248E-01 9.642232638874274E-02 + -1.237436129175441E-01 -5.027694249175093E-01 9.889900353506523E-02 + -1.297745651534927E-01 -5.272731412377472E-01 1.037190920425855E-01 + -1.415119543424968E-01 -5.749620705768380E-01 1.130999082926270E-01 + -1.557197428948564E-01 -6.326882150735180E-01 1.244551297633430E-01 + -1.743557327888562E-01 -7.084061103318228E-01 1.393494809702555E-01 + -1.988000802007964E-01 -8.077233211439416E-01 1.588860173951030E-01 + -2.308631003995790E-01 -9.379951456558225E-01 1.845115884708178E-01 + -2.729193372441506E-01 -1.108869338787951E+00 2.181239892913302E-01 + -3.280834186862928E-01 -1.333000611900604E+00 2.622125087463941E-01 + -4.004407218991713E-01 -1.626987823581273E+00 3.200422828859827E-01 + -4.953499307787151E-01 -2.012603268634912E+00 3.958961064747835E-01 + -6.198398928166818E-01 -2.518405104755030E+00 4.953916109730802E-01 + -7.831301660280374E-01 -3.181852331011479E+00 6.258972987157889E-01 + -9.973138069332166E-01 -4.052078950597821E+00 7.970782442175930E-01 + -1.278252965948651E+00 -5.193532768574819E+00 1.021611876503890E+00 + -1.646753616767454E+00 -6.690748309043578E+00 1.316126852337731E+00 + -2.130106418597481E+00 -8.654607327531110E+00 1.702434552022601E+00 + -2.764107825427604E+00 -1.123055056365817E+01 2.209144400692607E+00 + -3.595711122937661E+00 -1.460934888537226E+01 2.873782643597495E+00 + -4.686503725255815E+00 -1.904123152110236E+01 3.745571489011036E+00 + -6.117268255452522E+00 -2.485441769757759E+01 4.889074438323326E+00 + -7.993965197216268E+00 -3.247942411131252E+01 6.388977771527396E+00 + -1.045558018479302E+01 -4.248094841218265E+01 8.356362298440676E+00 + -1.368441709085608E+01 -5.559968994670913E+01 1.093692985306398E+01 + -1.791959920445612E+01 -7.280720494867109E+01 1.432179377411078E+01 + -2.347477837800819E+01 -9.537785867818182E+01 1.876163250008315E+01 + -1.348999066177580E-01 -4.411929231808701E-01 1.927894015646005E-01 + -1.349087977109562E-01 -4.412220016843084E-01 1.928021080859015E-01 + -1.349261014827489E-01 -4.412785940263691E-01 1.928268374122025E-01 + -1.349597779398029E-01 -4.413887335728117E-01 1.928749654218138E-01 + -1.350253187810309E-01 -4.416030862440186E-01 1.929686317546910E-01 + -1.351528738222864E-01 -4.420202576337472E-01 1.931509243943731E-01 + -1.354011203849622E-01 -4.428321531302125E-01 1.935057008168234E-01 + -1.358842557849725E-01 -4.444122574072799E-01 1.941961637458052E-01 + -1.368245298907936E-01 -4.474874432375707E-01 1.955399369678400E-01 + -1.386544835519387E-01 -4.534723443786354E-01 1.981551772602056E-01 + -1.422159241799500E-01 -4.651201093089676E-01 2.032449362125796E-01 + -1.491471703727703E-01 -4.877888927482449E-01 2.131505828443234E-01 + -1.626367041888410E-01 -5.319066909430434E-01 2.324288701092262E-01 + -1.789654158846400E-01 -5.853100788731793E-01 2.557647095110571E-01 + -2.003833659775424E-01 -6.553579258061266E-01 2.863737283360381E-01 + -2.284767388490885E-01 -7.472378804329891E-01 3.265227890702551E-01 + -2.653260916525235E-01 -8.677544477775253E-01 3.791852767852902E-01 + -3.136604375582557E-01 -1.025832921624135E+00 4.482613040103221E-01 + -3.770593527738628E-01 -1.233180379689667E+00 5.388665477848406E-01 + -4.602180751108719E-01 -1.505152693946419E+00 6.577111097729829E-01 + -5.692952269391952E-01 -1.861891765706804E+00 8.135964573065394E-01 + -7.123689144203712E-01 -2.329817207560126E+00 1.018067248137358E+00 + -9.000349811112124E-01 -2.943582944105781E+00 1.286266312157667E+00 + -1.146191721789648E+00 -3.748643634683739E+00 1.638056108876777E+00 + -1.469069171346103E+00 -4.804620983894480E+00 2.099489714276319E+00 + -1.892579196481947E+00 -6.189719244307136E+00 2.704740276338607E+00 + -2.448086376178003E+00 -8.006516917507316E+00 3.498631832111885E+00 + -3.176730819942672E+00 -1.038956357902157E+01 4.539958915197277E+00 + -4.132474948613729E+00 -1.351534443768548E+01 5.905840799292800E+00 + -5.386099878174316E+00 -1.761535059122896E+01 7.697432847175174E+00 + -7.030447373356980E+00 -2.299322294350886E+01 1.004741793989120E+01 + -9.187295583021438E+00 -3.004723943868428E+01 1.312983279126037E+01 + -1.201637776495771E+01 -3.929981098644747E+01 1.717295687123487E+01 + -1.572721191466101E+01 -5.143617050659170E+01 2.247621847432782E+01 + -2.059461738436691E+01 -6.735512035116790E+01 2.943236997364500E+01 + -2.697906763214135E+01 -8.823559638959712E+01 3.855657452980569E+01 + -1.348999066177580E-01 -3.875569809257788E-01 2.856895786622491E-01 + -1.349087977109562E-01 -3.875825243477383E-01 2.857084081242802E-01 + -1.349261014827489E-01 -3.876322367435638E-01 2.857450538670140E-01 + -1.349597779398029E-01 -3.877289865957420E-01 2.858163735073889E-01 + -1.350253187810308E-01 -3.879172803550965E-01 2.859551751995845E-01 + -1.351528738222864E-01 -3.882837361068484E-01 2.862253099009806E-01 + -1.354011203849622E-01 -3.889969292495867E-01 2.867510438149125E-01 + -1.358842557849725E-01 -3.903849398249901E-01 2.877742227949904E-01 + -1.368245298907936E-01 -3.930862744873430E-01 2.897655252343628E-01 + -1.386544835519387E-01 -3.983435895880645E-01 2.936409815154805E-01 + -1.422159241799500E-01 -4.085753326051258E-01 3.011833623662707E-01 + -1.491471703727703E-01 -4.284882659487663E-01 3.158622813817009E-01 + -1.626367041888410E-01 -4.672426515590255E-01 3.444302717449802E-01 + -1.789654158846400E-01 -5.141537752647128E-01 3.790110426397176E-01 + -2.003833659775424E-01 -5.756858866185363E-01 4.243697481515634E-01 + -2.284767388490885E-01 -6.563959704658837E-01 4.838655925898793E-01 + -2.653260916525235E-01 -7.622613063258582E-01 5.619047576296280E-01 + -3.136604375582557E-01 -9.011221376185461E-01 6.642667181597496E-01 + -3.770593527738628E-01 -1.083262309476127E+00 7.985322623673701E-01 + -4.602180751108719E-01 -1.322170876387869E+00 9.746449146456904E-01 + -5.692952269391952E-01 -1.635541083309888E+00 1.205647339545885E+00 + -7.123689144203712E-01 -2.046580703427933E+00 1.508647263852510E+00 + -9.000349811112124E-01 -2.585730774413557E+00 1.906084451663360E+00 + -1.146191721789648E+00 -3.292920020453450E+00 2.427392562932559E+00 + -1.469069171346103E+00 -4.220521919494669E+00 3.111178970470240E+00 + -1.892579196481947E+00 -5.437233412101749E+00 4.008083969694090E+00 + -2.448086376178003E+00 -7.033162503851449E+00 5.184531130335263E+00 + -3.176730819942672E+00 -9.126501542209278E+00 6.727646536067608E+00 + -4.132474948613729E+00 -1.187228038173691E+01 8.751711224285927E+00 + -5.386099878174316E+00 -1.547384768519297E+01 1.140662468498591E+01 + -7.030447373356980E+00 -2.019793065013974E+01 1.488900621401226E+01 + -9.187295583021438E+00 -2.639438846401558E+01 1.945675627186405E+01 + -1.201637776495771E+01 -3.452212240180769E+01 2.544815624257282E+01 + -1.572721191466101E+01 -4.518306143307291E+01 3.330692109493236E+01 + -2.059461738436691E+01 -5.916674026634290E+01 4.361506031224708E+01 + -2.697906763214135E+01 -7.750877122051841E+01 5.713598072655868E+01 + -1.173778669539041E-01 -3.196957251688389E-01 3.661065600124089E-01 + -1.173856031902046E-01 -3.197167959357417E-01 3.661306896625115E-01 + -1.174006593890872E-01 -3.197578036874157E-01 3.661776505872823E-01 + -1.174299616383968E-01 -3.198376126333885E-01 3.662690455493290E-01 + -1.174869894328155E-01 -3.199929361416834E-01 3.664469176659515E-01 + -1.175979764530232E-01 -3.202952254644529E-01 3.667930909031105E-01 + -1.178139784706382E-01 -3.208835384356411E-01 3.674668103842786E-01 + -1.182343598046581E-01 -3.220285082575899E-01 3.687779976471370E-01 + -1.190525024680626E-01 -3.242568390226342E-01 3.713298194161938E-01 + -1.206447649295803E-01 -3.285935978640087E-01 3.762961537648326E-01 + -1.237436129175441E-01 -3.370337619290886E-01 3.859615924571230E-01 + -1.297745651534926E-01 -3.534599391852095E-01 4.047723890238162E-01 + -1.415119543424967E-01 -3.854284290355249E-01 4.413818051857292E-01 + -1.557197428948563E-01 -4.241254115431035E-01 4.856965020470273E-01 + -1.743557327888561E-01 -4.748832456903295E-01 5.438229472583522E-01 + -1.988000802007963E-01 -5.414609879422669E-01 6.200659066422378E-01 + -2.308631003995789E-01 -6.287892957362603E-01 7.200718305290176E-01 + -2.729193372441505E-01 -7.433355852950734E-01 8.512470222223532E-01 + -3.280834186862926E-01 -8.935829997147299E-01 1.023306138792927E+00 + -4.004407218991711E-01 -1.090658659055064E+00 1.248991645426344E+00 + -4.953499307787149E-01 -1.349157719783969E+00 1.545017505140037E+00 + -6.198398928166816E-01 -1.688224272301903E+00 1.933306992251725E+00 + -7.831301660280372E-01 -2.132969126353673E+00 2.442616300388777E+00 + -9.973138069332164E-01 -2.716329483595246E+00 3.110664187249103E+00 + -1.278252965948651E+00 -3.481508222147673E+00 3.986925374720774E+00 + -1.646753616767454E+00 -4.485173443249120E+00 5.136294579790645E+00 + -2.130106418597481E+00 -5.801655234097515E+00 6.643892529409586E+00 + -2.764107825427603E+00 -7.528450453457040E+00 8.621369886267310E+00 + -3.595711122937661E+00 -9.793443216996373E+00 1.121517594568349E+01 + -4.686503725255813E+00 -1.276437582172546E+01 1.461740447211012E+01 + -6.117268255452520E+00 -1.666127151336995E+01 1.908001990321005E+01 + -7.993965197216264E+00 -2.177272911001310E+01 2.493351749492174E+01 + -1.045558018479301E+01 -2.847729623976750E+01 3.261139935258602E+01 + -1.368441709085607E+01 -3.727150406551642E+01 4.268227900985634E+01 + -1.791959920445611E+01 -4.880663971047735E+01 5.589199217703383E+01 + -2.347477837800818E+01 -6.393697970063074E+01 7.321883232382591E+01 + -7.787945231879133E-02 -2.469573467891386E-01 4.277426719411940E-01 + -7.788458526132744E-02 -2.469736234556045E-01 4.277708639544908E-01 + -7.789457495149144E-02 -2.470053009687956E-01 4.278257310167953E-01 + -7.791401680358132E-02 -2.470669514820675E-01 4.279325128380949E-01 + -7.795185437476515E-02 -2.471869351993420E-01 4.281403307324952E-01 + -7.802549354177830E-02 -2.474204465141223E-01 4.285447841938369E-01 + -7.816880947746678E-02 -2.478749042969705E-01 4.293319281636251E-01 + -7.844772976208372E-02 -2.487593662622744E-01 4.308638612248937E-01 + -7.899056210516593E-02 -2.504806987987458E-01 4.338452966347837E-01 + -8.004701790615153E-02 -2.538307418953952E-01 4.396477414857257E-01 + -8.210308341820059E-02 -2.603505679671275E-01 4.509404114984782E-01 + -8.610458105387424E-02 -2.730393993580300E-01 4.729181121561962E-01 + -9.389226254284797E-02 -2.977342977027606E-01 5.156909307770180E-01 + -1.033190379634091E-01 -3.276267966524112E-01 5.674662577230122E-01 + -1.156838962116273E-01 -3.668360167417385E-01 6.353786190428772E-01 + -1.319025619459414E-01 -4.182657397168151E-01 7.244575122549021E-01 + -1.531761675887169E-01 -4.857247812194819E-01 8.412999995674183E-01 + -1.810802075669768E-01 -5.742090665162130E-01 9.945592773727761E-01 + -2.176812172962675E-01 -6.902716219582998E-01 1.195585520254750E+00 + -2.656898179952109E-01 -8.425078832398849E-01 1.459266459548785E+00 + -3.286614616224662E-01 -1.042192261726273E+00 1.805129948565023E+00 + -4.112597428343015E-01 -1.304113112092810E+00 2.258790168961510E+00 + -5.196017784897995E-01 -1.647667937847025E+00 2.853844582353281E+00 + -6.617112330421699E-01 -2.098299944171973E+00 3.634362112824789E+00 + -8.481125402631997E-01 -2.689382327249100E+00 4.658146831773260E+00 + -1.092610328557111E+00 -3.464689847976333E+00 6.001018849163087E+00 + -1.413311773047142E+00 -4.481640731484182E+00 7.762429448200738E+00 + -1.833967588446000E+00 -5.815548983138099E+00 1.007282631270069E+01 + -2.385730974826314E+00 -7.565202041792114E+00 1.310331430590773E+01 + -3.109464781433041E+00 -9.860176843740934E+00 1.707832726497340E+01 + -4.058767753965599E+00 -1.287043611516003E+01 2.229224926702653E+01 + -5.303943985105567E+00 -1.681891558145731E+01 2.913121631529586E+01 + -6.937209540420969E+00 -2.199803428521659E+01 3.810171304863717E+01 + -9.079521855311164E+00 -2.879135074452257E+01 4.986808230804901E+01 + -1.188953767888242E+01 -3.770196877742842E+01 6.530172546788137E+01 + -1.557536297794747E+01 -4.938979668946110E+01 8.554563724164360E+01 + 3.859939165513097E-18 -4.957189980185482E-01 6.541871773035873E-02 + 3.860193569535462E-18 -4.957516702710503E-01 6.542302940062474E-02 + 3.860688688532415E-18 -4.958152567377134E-01 6.543142073751264E-02 + 3.861652285015153E-18 -4.959390081914110E-01 6.544775188772178E-02 + 3.863527628492693E-18 -4.961798522435485E-01 6.547953543672191E-02 + 3.867177406404668E-18 -4.966485809389849E-01 6.554139231600521E-02 + 3.874280573886402E-18 -4.975608168359295E-01 6.566177766109840E-02 + 3.888104699488134E-18 -4.993362027676561E-01 6.589607062060635E-02 + 3.915009098003847E-18 -5.027914441335465E-01 6.635204963393636E-02 + 3.967370215107824E-18 -5.095160062038052E-01 6.723947220537888E-02 + 4.069274986655685E-18 -5.226032930958772E-01 6.896656664894636E-02 + 4.267601207305261E-18 -5.480736622300872E-01 7.232782352136623E-02 + 4.653582051967390E-18 -5.976438832532025E-01 7.886947375043681E-02 + 5.120801306429717E-18 -6.576472798731205E-01 8.678796241444058E-02 + 5.733640755183761E-18 -7.363521880221616E-01 9.717443981550092E-02 + 6.537486457949944E-18 -8.395873866224478E-01 1.107981144054688E-01 + 7.591870138976634E-18 -9.749983346901179E-01 1.286679370764727E-01 + 8.974878025925266E-18 -1.152613383677241E+00 1.521073226977551E-01 + 1.078893381015330E-17 -1.385586463600831E+00 1.828521604288346E-01 + 1.316838400660285E-17 -1.691171245287983E+00 2.231793713200684E-01 + 1.628944747477682E-17 -2.091998923873904E+00 2.760755340024319E-01 + 2.038326594885332E-17 -2.617754254468411E+00 3.454580666567615E-01 + 2.575302208152669E-17 -3.307373964922826E+00 4.364653456995975E-01 + 3.279639274072229E-17 -4.211930357169894E+00 5.558372469826476E-01 + 4.203500041993534E-17 -5.398413652747217E+00 7.124142918718055E-01 + 5.415304389376296E-17 -6.954693197891942E+00 9.177923642884379E-01 + 7.004796905266793E-17 -8.996024948338009E+00 1.187181486170455E+00 + 9.089693253038255E-17 -1.167358716932813E+01 1.540532251100935E+00 + 1.182439803301990E-16 -1.518567649322510E+01 2.004013338253512E+00 + 1.541143977811590E-16 -1.979239349958841E+01 2.611949529336606E+00 + 2.011646994270566E-16 -2.583490541189062E+01 3.409363755447098E+00 + 2.628793668963276E-16 -3.376071248010855E+01 4.455311434381183E+00 + 3.438289048930691E-16 -4.415678924327041E+01 5.827254034908629E+00 + 4.500083265864396E-16 -5.779305506898578E+01 7.626795768258201E+00 + 5.892811361680385E-16 -7.567939333925248E+01 9.987208258417613E+00 + 7.719616893242578E-16 -9.914044204623058E+01 1.308330045814116E+01 + -3.863483801328477E-18 -4.741821840556997E-01 1.586448547862939E-01 + -3.863738438973593E-18 -4.742134368422812E-01 1.586553108809251E-01 + -3.864234012645207E-18 -4.742742607561503E-01 1.586756604455181E-01 + -3.865198494011995E-18 -4.743926357525272E-01 1.587152645992421E-01 + -3.867075559643530E-18 -4.746230161880479E-01 1.587923418745336E-01 + -3.870728689197318E-18 -4.750713806796651E-01 1.589423490280195E-01 + -3.877838379616534E-18 -4.759439839321452E-01 1.592342917051816E-01 + -3.891675200105055E-18 -4.776422371401379E-01 1.598024681205585E-01 + -3.918604305304082E-18 -4.809473634392437E-01 1.609082483447063E-01 + -3.971013506350076E-18 -4.873797728123743E-01 1.630603086397562E-01 + -4.073011858466825E-18 -4.998984745499542E-01 1.672486305254177E-01 + -4.271520204842922E-18 -5.242622679753430E-01 1.753999078192101E-01 + -4.657855501082491E-18 -5.716788805377389E-01 1.912638560386050E-01 + -5.125503809483750E-18 -6.290753930250987E-01 2.104667314206277E-01 + -5.738906037226267E-18 -7.043609184763930E-01 2.356546479099731E-01 + -6.543489922680281E-18 -8.031110009613818E-01 2.686929884945392E-01 + -7.598841858904440E-18 -9.326389378700620E-01 3.120285279403486E-01 + -8.983119781228973E-18 -1.102537392814335E+00 3.688706376175097E-01 + -1.079884143811151E-17 -1.325388815305544E+00 4.434289671980325E-01 + -1.318047671676718E-17 -1.617697279927221E+00 5.412252056101937E-01 + -1.630440630092820E-17 -2.001110755750346E+00 6.695020098435701E-01 + -2.040198418544167E-17 -2.504024325608932E+00 8.377593863183057E-01 + -2.577667143984819E-17 -3.163683087484542E+00 1.058458248496497E+00 + -3.282651012427141E-17 -4.028940476028707E+00 1.347943255259705E+00 + -4.207360174539644E-17 -5.163876281780109E+00 1.727653274213194E+00 + -5.420277338707018E-17 -6.652542313680554E+00 2.225709115190115E+00 + -7.011229507679730E-17 -8.605187162229495E+00 2.878996119348972E+00 + -9.098040444761741E-17 -1.116642106080729E+01 3.735895837592876E+00 + -1.183525654217404E-16 -1.452592552374066E+01 4.859869102715309E+00 + -1.542559231758910E-16 -1.893250090240338E+01 6.334155852743621E+00 + -2.013494317681126E-16 -2.471249220233504E+01 8.267939768033001E+00 + -2.631207726747788E-16 -3.229395775244303E+01 1.080443426678644E+01 + -3.441446477580177E-16 -4.223837062520195E+01 1.413148869687965E+01 + -4.504215754909531E-16 -5.528220057210238E+01 1.849550020419528E+01 + -5.898222812304403E-16 -7.239145597618267E+01 2.421966157159726E+01 + -7.726705924791384E-16 -9.483322512479167E+01 3.172789643879000E+01 + 1.060385035837501E-18 -4.330273665941894E-01 2.500084666696296E-01 + 1.060454924560304E-18 -4.330559069154565E-01 2.500249444317960E-01 + 1.060590941412595E-18 -4.331114518518424E-01 2.500570133157705E-01 + 1.060855656281681E-18 -4.332195529460531E-01 2.501194255116128E-01 + 1.061370842162952E-18 -4.334299383984442E-01 2.502408916091843E-01 + 1.062373492649407E-18 -4.338393888198387E-01 2.504772879201962E-01 + 1.064324842704863E-18 -4.346362578318103E-01 2.509373604587669E-01 + 1.068122543987977E-18 -4.361871176894654E-01 2.518327498150595E-01 + 1.075513598706965E-18 -4.392053882734038E-01 2.535753491491834E-01 + 1.089898008060580E-18 -4.450795214343732E-01 2.569667815109248E-01 + 1.117892826164255E-18 -4.565117106411393E-01 2.635671590268779E-01 + 1.172376108820619E-18 -4.787609423963368E-01 2.764127589700035E-01 + 1.278411021354074E-18 -5.220622125855587E-01 3.014127589700035E-01 + 1.406763382529473E-18 -5.744772156999998E-01 3.316745751277010E-01 + 1.575119865096812E-18 -6.432286237558629E-01 3.713682190759193E-01 + 1.795948722181204E-18 -7.334080729365404E-01 4.234333483357556E-01 + 2.085604239910935E-18 -8.516941311351244E-01 4.917258358780877E-01 + 2.465537913702561E-18 -1.006846903649028E+00 5.813033308545066E-01 + 2.963887116963689E-18 -1.210356794716133E+00 6.987998212448512E-01 + 3.617558916866346E-18 -1.477295471293335E+00 8.529169380238208E-01 + 4.474963361765372E-18 -1.827432050302618E+00 1.055068386167964E+00 + 5.599598663826871E-18 -2.286697172660664E+00 1.320225228190789E+00 + 7.074753790637423E-18 -2.889103391432108E+00 1.668024620759986E+00 + 9.009676733360832E-18 -3.679264095452640E+00 2.124224115929303E+00 + 1.154766526502949E-17 -4.715697516494573E+00 2.722609230564987E+00 + 1.487667937957370E-17 -6.075160510271559E+00 3.507495555975463E+00 + 1.924326135445293E-17 -7.858333065235233E+00 4.537010710595292E+00 + 2.497079433787817E-17 -1.019727452618779E+01 5.887399192695025E+00 + 3.248345166687094E-17 -1.326520373053466E+01 7.658668944679404E+00 + 4.233761057022409E-17 -1.728932736082476E+01 9.981997805879720E+00 + 5.526305671266822E-17 -2.256766656399636E+01 1.302944836570499E+01 + 7.221703113298874E-17 -2.949112799396480E+01 1.702671068602126E+01 + 9.445512221914543E-17 -3.857245382907952E+01 2.226981660152344E+01 + 1.236242528840748E-16 -5.048419476354120E+01 2.914706343655196E+01 + 1.618846494465014E-16 -6.610851820110422E+01 3.816777077913473E+01 + 2.120698250669110E-16 -8.660254037844390E+01 4.999999999999994E+01 + -1.387819206403986E-17 -3.744815664524741E-01 3.313313900210769E-01 + -1.387910675925469E-17 -3.745062480893398E-01 3.313532276808799E-01 + -1.388088693149047E-17 -3.745542832861678E-01 3.313957279531516E-01 + -1.388435148792161E-17 -3.746477689875766E-01 3.314784416303249E-01 + -1.389109417889453E-17 -3.748297100837939E-01 3.316394183023750E-01 + -1.390421674810651E-17 -3.751838023352707E-01 3.319527097655274E-01 + -1.392975578339891E-17 -3.758729337363819E-01 3.325624350110191E-01 + -1.397945964192922E-17 -3.772141155499258E-01 3.337490772235108E-01 + -1.407619287889434E-17 -3.798243124645932E-01 3.360585104491786E-01 + -1.426445430185904E-17 -3.849042560371475E-01 3.405531102263258E-01 + -1.463084712079750E-17 -3.947908000581467E-01 3.493004630106396E-01 + -1.534391778421665E-17 -4.140319099805566E-01 3.663244884026864E-01 + -1.673168999138543E-17 -4.514787984240715E-01 3.994565053334280E-01 + -1.841155028746960E-17 -4.968072325742898E-01 4.395619055451011E-01 + -2.061497972237323E-17 -5.562633708481112E-01 4.921671248785090E-01 + -2.350516129635129E-17 -6.342504543357222E-01 5.611680346440349E-01 + -2.729613794313805E-17 -7.365441008368361E-01 6.516747487838351E-01 + -3.226866425978109E-17 -8.707200392940954E-01 7.703900719907205E-01 + -3.879099881192488E-17 -1.046715158020166E+00 9.261059003473452E-01 + -4.734617686451851E-17 -1.277563417190496E+00 1.130354337244861E+00 + -5.856778331945312E-17 -1.580361126284445E+00 1.398261745344290E+00 + -7.328687515544995E-17 -1.977533073614982E+00 1.749668984512377E+00 + -9.259352838255870E-17 -2.498493275785422E+00 2.210600799036549E+00 + -1.179175675953751E-16 -3.181823339929154E+00 2.815193174946374E+00 + -1.511344568463716E-16 -4.078129765290049E+00 3.608221404914904E+00 + -1.947041939740314E-16 -5.253791792029508E+00 4.648416085803203E+00 + -2.518534947116505E-16 -6.795877357867781E+00 6.012812627135973E+00 + -3.268147588852048E-16 -8.818591231651629E+00 7.802456389216246E+00 + -4.251395162133117E-16 -1.147173286388889E+01 1.014988596568253E+01 + -5.541095650807882E-16 -1.495179033120757E+01 1.322894881228131E+01 + -7.232762526666474E-16 -1.951649197724374E+01 1.726767615403047E+01 + -9.451678347825650E-16 -2.550389342477770E+01 2.256517066896383E+01 + -1.236217301533613E-15 -3.335741351739144E+01 2.951375762744742E+01 + -1.617979382313296E-15 -4.365867331858463E+01 3.862803997044959E+01 + -2.118726859874888E-15 -5.717057018015637E+01 5.058300910651830E+01 + -2.775544414337574E-15 -7.489377688702987E+01 6.626403386148318E+01 + 2.500034889004300E-17 -3.045137704467688E-01 3.965958865574508E-01 + 2.500199663345175E-17 -3.045338405890029E-01 3.966220257229834E-01 + 2.500520345799876E-17 -3.045729009332511E-01 3.966728975500067E-01 + 2.501144455331779E-17 -3.046489198510541E-01 3.967719038775595E-01 + 2.502359092123106E-17 -3.047968672379794E-01 3.969645891705609E-01 + 2.504723008165768E-17 -3.050848012145557E-01 3.973395916886499E-01 + 2.509323641949180E-17 -3.056451759301221E-01 3.980694184771014E-01 + 2.518277357236481E-17 -3.067357725508471E-01 3.994898013157442E-01 + 2.535703003619180E-17 -3.088582826429286E-01 4.022541386081471E-01 + 2.569616651988760E-17 -3.129890941688189E-01 4.076340689045951E-01 + 2.635619112986561E-17 -3.210284452777193E-01 4.181044445979607E-01 + 2.764072554807165E-17 -3.366745636849850E-01 4.384818028757438E-01 + 3.014067577206540E-17 -3.671249094775901E-01 4.781400484384357E-01 + 3.316679713534115E-17 -4.039842201301555E-01 5.261452698926361E-01 + 3.713608249852021E-17 -4.523316274898273E-01 5.891124810516963E-01 + 4.234249176073587E-17 -5.157476750777753E-01 6.717049483092918E-01 + 4.917160454187761E-17 -5.989288695058229E-01 7.800393579509274E-01 + 5.812917568712151E-17 -7.080354973965151E-01 9.221388096575526E-01 + 6.987859078591438E-17 -8.511478478686550E-01 1.108526996403743E+00 + 8.528999561042864E-17 -1.038864627807812E+00 1.353007574909121E+00 + 1.055047379331732E-16 -1.285087887746415E+00 1.673686445763291E+00 + 1.320198941975106E-16 -1.608052588901222E+00 2.094312651906055E+00 + 1.667991409718408E-16 -2.031677059708825E+00 2.646037200588628E+00 + 2.124181821772157E-16 -2.587334354841529E+00 3.369720064788665E+00 + 2.722555022319358E-16 -3.316175701153699E+00 4.318956217479927E+00 + 3.507425720327179E-16 -4.272178101819147E+00 5.564044802757032E+00 + 4.536920376885900E-16 -5.526141800095193E+00 7.197195395254072E+00 + 5.887281972207424E-16 -7.170933649466714E+00 9.339356916379757E+00 + 7.658516457498106E-16 -9.328364707062965E+00 1.214917494765836E+01 + 9.981799060285658E-16 -1.215821139560253E+01 1.583474080767323E+01 + 1.302918894414369E-15 -1.587004832890444E+01 2.066900251334178E+01 + 1.702637167735826E-15 -2.073876912399970E+01 2.700997894044572E+01 + 2.226937320051132E-15 -2.712494465017149E+01 3.532727421677326E+01 + 2.914648310678727E-15 -3.550152641928020E+01 4.623685596792556E+01 + 3.816701084345602E-15 -4.648887273430172E+01 6.054667304557862E+01 + 4.999900447987499E-15 -6.090069158521022E+01 7.931649112538392E+01 + 1.964139904696876E-17 -2.500084666696303E-01 4.330273665941890E-01 + 1.964269358833538E-17 -2.500249444317966E-01 4.330559069154561E-01 + 1.964521301399934E-17 -2.500570133157711E-01 4.331114518518420E-01 + 1.965011629931710E-17 -2.501194255116134E-01 4.332195529460527E-01 + 1.965965903250875E-17 -2.502408916091850E-01 4.334299383984438E-01 + 1.967823102064846E-17 -2.504772879201969E-01 4.338393888198383E-01 + 1.971437566983172E-17 -2.509373604587676E-01 4.346362578318099E-01 + 1.978472008609739E-17 -2.518327498150602E-01 4.361871176894650E-01 + 1.992162380522519E-17 -2.535753491491842E-01 4.392053882734034E-01 + 2.018806468718856E-17 -2.569667815109256E-01 4.450795214343728E-01 + 2.070660972039653E-17 -2.635671590268787E-01 4.565117106411389E-01 + 2.171579776047221E-17 -2.764127589700043E-01 4.787609423963363E-01 + 2.367987114852706E-17 -3.014127589700044E-01 5.220622125855582E-01 + 2.605732826010875E-17 -3.316745751277020E-01 5.744772156999992E-01 + 2.917577745025356E-17 -3.713682190759204E-01 6.432286237558622E-01 + 3.326616684324879E-17 -4.234333483357569E-01 7.334080729365398E-01 + 3.863142513868728E-17 -4.917258358780891E-01 8.516941311351236E-01 + 4.566889610075935E-17 -5.813033308545082E-01 1.006846903649027E+00 + 5.489976529938010E-17 -6.987998212448532E-01 1.210356794716132E+00 + 6.700765840775278E-17 -8.529169380238233E-01 1.477295471293334E+00 + 8.288926959401931E-17 -1.055068386167967E+00 1.827432050302616E+00 + 1.037207694771271E-16 -1.320225228190792E+00 2.286697172660662E+00 + 1.310449107301993E-16 -1.668024620759990E+00 2.889103391432106E+00 + 1.668852822544439E-16 -2.124224115929309E+00 3.679264095452637E+00 + 2.138961734330080E-16 -2.722609230564994E+00 4.715697516494568E+00 + 2.755591472084832E-16 -3.507495555975473E+00 6.075160510271553E+00 + 3.564408799200026E-16 -4.537010710595304E+00 7.858333065235226E+00 + 4.625313631691176E-16 -5.887399192695040E+00 1.019727452618778E+01 + 6.016875144866794E-16 -7.658668944679423E+00 1.326520373053465E+01 + 7.842150500060129E-16 -9.981997805879747E+00 1.728932736082474E+01 + 1.023631711844641E-15 -1.302944836570503E+01 2.256766656399634E+01 + 1.337668373780944E-15 -1.702671068602131E+01 2.949112799396478E+01 + 1.749582165756577E-15 -2.226981660152350E+01 3.857245382907949E+01 + 2.289878865427137E-15 -2.914706343655204E+01 5.048419476354115E+01 + 2.998572114747051E-15 -3.816777077913484E+01 6.610851820110416E+01 + 3.928146776109708E-15 -5.000000000000009E+01 8.660254037844383E+01 + -4.366624927850382E-01 -1.780259363312833E-16 2.436037787489228E-01 + -4.366912726931706E-01 -1.780376698100626E-16 2.436198343856879E-01 + -4.367472839115252E-01 -1.780605054090834E-16 2.436510817327098E-01 + -4.368562924798338E-01 -1.781049478623783E-16 2.437118950601532E-01 + -4.370684440507826E-01 -1.781914413961404E-16 2.438302494533163E-01 + -4.374813316774566E-01 -1.783597743937135E-16 2.440605897910333E-01 + -4.382848901498170E-01 -1.786873826765465E-16 2.445088762446379E-01 + -4.398487689797630E-01 -1.793249711976812E-16 2.453813276201853E-01 + -4.428923769795259E-01 -1.805658406859840E-16 2.470792852465521E-01 + -4.488158216088903E-01 -1.829808105857876E-16 2.503838362871507E-01 + -4.603439803861967E-01 -1.876808049622591E-16 2.568151260969487E-01 + -4.827799873231008E-01 -1.968278950111491E-16 2.693316489496625E-01 + -5.264447578208595E-01 -2.146298857499800E-16 2.936912018474079E-01 + -5.792997681157088E-01 -2.361787085891616E-16 3.231777743064191E-01 + -6.486283222444570E-01 -2.644437438674271E-16 3.618545510848550E-01 + -7.395647990471329E-01 -3.015182618234128E-16 4.125858818981725E-01 + -8.588438308574121E-01 -3.501479510538259E-16 4.791288604104149E-01 + -1.015299061253791E+00 -4.139342604929415E-16 5.664115695034390E-01 + -1.220517352741252E+00 -4.976011178439038E-16 6.808980484219604E-01 + -1.489696894098452E+00 -6.073447772676859E-16 8.310670107669733E-01 + -1.842772757658596E+00 -7.512927055758186E-16 1.028039766543898E+00 + -2.305893263772081E+00 -9.401054914169382E-16 1.286403851322062E+00 + -2.913356490003837E+00 -1.187766354036454E-15 1.625293359365786E+00 + -3.710150340314304E+00 -1.512616721558997E-15 2.069805988745856E+00 + -4.755284288307993E+00 -1.938714572318947E-15 2.652861742873513E+00 + -6.126159538943099E+00 -2.497616136158643E-15 3.417640941375654E+00 + -7.924301256960678E+00 -3.230712906079776E-15 4.420782096095346E+00 + -1.028287738310875E+01 -4.192297036166316E-15 5.736576482583930E+00 + -1.337656087150955E+01 -5.453582144998211E-15 7.462470051369527E+00 + -1.743446573211479E+01 -7.107977299812083E-15 9.726280143100238E+00 + -2.275711490403628E+01 -9.278004765534278E-15 1.269566146771335E+01 + -2.973869657747422E+01 -1.212437383781221E-14 1.659052238522970E+01 + -3.889625723730799E+01 -1.585788275583140E-14 2.169931102111599E+01 + -5.090799342562633E+01 -2.075503013446470E-14 2.840037734386518E+01 + -6.666347805927931E+01 -2.717849207727924E-14 3.718999325133422E+01 + -8.732954099551750E+01 -3.560398147766195E-14 4.871910579549083E+01 + -3.561379211431203E-01 -6.587144748546639E-02 3.447370986070745E-01 + -3.561613937720323E-01 -6.587578899461477E-02 3.447598198212655E-01 + -3.562070760076149E-01 -6.588423840368791E-02 3.448040396597542E-01 + -3.562959823953759E-01 -6.590068257350201E-02 3.448900999424278E-01 + -3.564690112693766E-01 -6.593268608031934E-02 3.450575897503281E-01 + -3.568057586279408E-01 -6.599497103968095E-02 3.453835570244178E-01 + -3.574611335424157E-01 -6.611618951066982E-02 3.460179518279555E-01 + -3.587366187618226E-01 -6.635210389288156E-02 3.472526057295766E-01 + -3.612189575102154E-01 -6.681123850562105E-02 3.496554789061653E-01 + -3.660500645806977E-01 -6.770480247844508E-02 3.543319307403099E-01 + -3.754523250665299E-01 -6.944384926641202E-02 3.634332024887097E-01 + -3.937509263920052E-01 -7.282836769230618E-02 3.811460220313859E-01 + -4.293635124263147E-01 -7.941528936369413E-02 4.156185644215824E-01 + -4.724715736851333E-01 -8.738857787028199E-02 4.573466340336050E-01 + -5.290153060899803E-01 -9.784693481183707E-02 5.120802669786580E-01 + -6.031822618961151E-01 -1.115648919416463E-01 5.838729619970889E-01 + -7.004651454200478E-01 -1.295583825890695E-01 6.780415888664896E-01 + -8.280685952834739E-01 -1.531599803062223E-01 8.015601485777786E-01 + -9.954427501936970E-01 -1.841175874607899E-01 9.635762584049978E-01 + -1.214983113419729E+00 -2.247238825185189E-01 1.176088612053714E+00 + -1.502948546979472E+00 -2.779861127058437E-01 1.454835586669259E+00 + -1.880665380944419E+00 -3.478488066673212E-01 1.820460805736558E+00 + -2.376106812566465E+00 -4.394859009157058E-01 2.300041977881610E+00 + -3.025964563387502E+00 -5.596839145639869E-01 2.929096235306034E+00 + -3.878366218452042E+00 -7.173445497411772E-01 3.754210484503684E+00 + -4.996439490085390E+00 -9.241439395980706E-01 4.836491569471616E+00 + -6.462987370786357E+00 -1.195397366917578E+00 6.256091761830890E+00 + -8.386620410727057E+00 -1.551193493218995E+00 8.118144729527542E+00 + -1.090980026802761E+01 -2.017882097827791E+00 1.056055159391772E+01 + -1.421939022624725E+01 -2.630025506851851E+00 1.376419370008153E+01 + -1.856049403613055E+01 -3.432958232251710E+00 1.796632844430573E+01 + -2.425460796748923E+01 -4.486144384408261E+00 2.347816023557926E+01 + -3.172343038760199E+01 -5.867581503616411E+00 3.070788787271684E+01 + -4.152009217126745E+01 -7.679576952301758E+00 4.019093519465149E+01 + -5.437012082438974E+01 -1.005632465974604E+01 5.262960384492119E+01 + -7.122517206861912E+01 -1.317384334277592E+01 6.894508478039316E+01 + -3.561379211431203E-01 6.587144748546589E-02 3.447370986070746E-01 + -3.561613937720323E-01 6.587578899461427E-02 3.447598198212656E-01 + -3.562070760076149E-01 6.588423840368741E-02 3.448040396597543E-01 + -3.562959823953759E-01 6.590068257350151E-02 3.448900999424278E-01 + -3.564690112693766E-01 6.593268608031884E-02 3.450575897503281E-01 + -3.568057586279408E-01 6.599497103968045E-02 3.453835570244179E-01 + -3.574611335424157E-01 6.611618951066932E-02 3.460179518279556E-01 + -3.587366187618226E-01 6.635210389288106E-02 3.472526057295766E-01 + -3.612189575102154E-01 6.681123850562055E-02 3.496554789061653E-01 + -3.660500645806977E-01 6.770480247844458E-02 3.543319307403099E-01 + -3.754523250665299E-01 6.944384926641151E-02 3.634332024887098E-01 + -3.937509263920052E-01 7.282836769230563E-02 3.811460220313859E-01 + -4.293635124263147E-01 7.941528936369355E-02 4.156185644215825E-01 + -4.724715736851333E-01 8.738857787028136E-02 4.573466340336051E-01 + -5.290153060899803E-01 9.784693481183636E-02 5.120802669786582E-01 + -6.031822618961151E-01 1.115648919416455E-01 5.838729619970890E-01 + -7.004651454200478E-01 1.295583825890686E-01 6.780415888664897E-01 + -8.280685952834739E-01 1.531599803062212E-01 8.015601485777787E-01 + -9.954427501936970E-01 1.841175874607885E-01 9.635762584049981E-01 + -1.214983113419729E+00 2.247238825185173E-01 1.176088612053715E+00 + -1.502948546979472E+00 2.779861127058417E-01 1.454835586669259E+00 + -1.880665380944419E+00 3.478488066673186E-01 1.820460805736559E+00 + -2.376106812566465E+00 4.394859009157026E-01 2.300041977881610E+00 + -3.025964563387502E+00 5.596839145639827E-01 2.929096235306034E+00 + -3.878366218452042E+00 7.173445497411719E-01 3.754210484503685E+00 + -4.996439490085390E+00 9.241439395980637E-01 4.836491569471617E+00 + -6.462987370786357E+00 1.195397366917569E+00 6.256091761830891E+00 + -8.386620410727057E+00 1.551193493218983E+00 8.118144729527543E+00 + -1.090980026802761E+01 2.017882097827776E+00 1.056055159391773E+01 + -1.421939022624725E+01 2.630025506851831E+00 1.376419370008153E+01 + -1.856049403613055E+01 3.432958232251685E+00 1.796632844430574E+01 + -2.425460796748923E+01 4.486144384408227E+00 2.347816023557927E+01 + -3.172343038760199E+01 5.867581503616367E+00 3.070788787271685E+01 + -4.152009217126745E+01 7.679576952301701E+00 4.019093519465149E+01 + -5.437012082438974E+01 1.005632465974596E+01 5.262960384492120E+01 + -7.122517206861912E+01 1.317384334277582E+01 6.894508478039316E+01 + -2.448423563676756E-01 -1.191171466466295E-01 4.193808049125368E-01 + -2.448584936376258E-01 -1.191249975167962E-01 4.194084458050735E-01 + -2.448898998584750E-01 -1.191402768151578E-01 4.194622402807287E-01 + -2.449510223848424E-01 -1.191700132588220E-01 4.195669346427932E-01 + -2.450699785383855E-01 -1.192278860786899E-01 4.197706899413546E-01 + -2.453014900171598E-01 -1.193405176804137E-01 4.201672368123913E-01 + -2.457520557357702E-01 -1.195597203689268E-01 4.209389930417469E-01 + -2.466289429979560E-01 -1.199863308220850E-01 4.224409786102929E-01 + -2.483355337100837E-01 -1.208165965454594E-01 4.253641304583889E-01 + -2.516568863905416E-01 -1.224324528056776E-01 4.310531443250793E-01 + -2.581208754123922E-01 -1.255772188488606E-01 4.421250558976776E-01 + -2.707010372002226E-01 -1.316975364227898E-01 4.636731183113049E-01 + -2.951844436653343E-01 -1.436088476909033E-01 5.056097785471682E-01 + -3.248209374797901E-01 -1.580271641626138E-01 5.563729586401890E-01 + -3.636943622344162E-01 -1.769392980999297E-01 6.229577130313795E-01 + -4.146836311275025E-01 -2.017458565330687E-01 7.102952184676219E-01 + -4.815649403680023E-01 -2.342839795886879E-01 8.248535723366103E-01 + -5.692914291533692E-01 -2.769633965999679E-01 9.751168112008436E-01 + -6.843600024514054E-01 -3.329448873979799E-01 1.172213227057094E+00 + -8.352924829846298E-01 -4.063743653859202E-01 1.430739513572715E+00 + -1.033266725881591E+00 -5.026899182717122E-01 1.769841777453063E+00 + -1.292944435491600E+00 -6.290245454798665E-01 2.214633473178090E+00 + -1.633556991355225E+00 -7.947344184299669E-01 2.798055271434653E+00 + -2.080329698131593E+00 -1.012091785922686E+00 3.563314600582174E+00 + -2.666349937503511E+00 -1.297193840267943E+00 4.567085530289166E+00 + -3.435017574860818E+00 -1.671154853549943E+00 5.883705976389742E+00 + -4.443259094562804E+00 -2.161669872026614E+00 7.610683066268304E+00 + -5.765743498284927E+00 -2.805065773753224E+00 9.875914384677893E+00 + -7.500412190172577E+00 -3.648991587980429E+00 1.284715989567913E+01 + -9.775732384608281E+00 -4.755947317738375E+00 1.674446601841244E+01 + -1.276021121414967E+01 -6.207912605428999E+00 2.185646196693180E+01 + -1.667487513958882E+01 -8.112418034132546E+00 2.856173523896068E+01 + -2.180963887034370E+01 -1.061050869698189E+01 3.735686929332309E+01 + -2.854477605525997E+01 -1.388718980576882E+01 4.889321984847339E+01 + -3.737908183411086E+01 -1.818512792641124E+01 6.402515340499545E+01 + -4.896681293022349E+01 -2.382262253622698E+01 8.387332047172657E+01 + -2.596502903767807E-01 -3.397798994800096E-16 4.273156448496254E-01 + -2.596674036201370E-01 -3.398022939710726E-16 4.273438087180719E-01 + -2.597007092723294E-01 -3.398458779437214E-16 4.273986210051024E-01 + -2.597655284562129E-01 -3.399307007095745E-16 4.275052962232184E-01 + -2.598916790139341E-01 -3.400957820725095E-16 4.277129066473875E-01 + -2.601371921824115E-01 -3.404170620509960E-16 4.281169563318872E-01 + -2.606150078733181E-01 -3.410423344787319E-16 4.289033144745366E-01 + -2.615449288054315E-01 -3.422592344882767E-16 4.304337181655493E-01 + -2.633547332058304E-01 -3.446275551874513E-16 4.334121771277401E-01 + -2.668769595098019E-01 -3.492367612768134E-16 4.392088292408721E-01 + -2.737318871106270E-01 -3.582071599148092E-16 4.504902254753745E-01 + -2.870728903163464E-01 -3.756652752961705E-16 4.724459851994264E-01 + -3.130370400345129E-01 -4.096421145614790E-16 5.151761025572413E-01 + -3.444659330529966E-01 -4.507701491001352E-16 5.668997407924028E-01 + -3.856904016262420E-01 -5.047167315114552E-16 6.347443033630703E-01 + -4.397634740741654E-01 -5.754770726390138E-16 7.237342667039747E-01 + -5.106897289211707E-01 -6.682915875291698E-16 8.404601069976132E-01 + -6.037218685590129E-01 -7.900339934732802E-16 9.935663819160714E-01 + -7.257497272731739E-01 -9.497203682025042E-16 1.194391934856503E+00 + -8.858105230404270E-01 -1.159176868395777E-15 1.457809634329041E+00 + -1.095758141654776E+00 -1.433915558829494E-15 1.803327838459101E+00 + -1.371141019457850E+00 -1.794283214889745E-15 2.256535157573615E+00 + -1.732353639480011E+00 -2.266968177205567E-15 2.850995512031957E+00 + -2.206146919237137E+00 -2.886976854016878E-15 3.630733830718391E+00 + -2.827609347458063E+00 -3.700226248366071E-15 4.653496477660483E+00 + -3.642765590046031E+00 -4.766944509166485E-15 5.995027869553834E+00 + -4.711985014512857E+00 -6.166131346355170E-15 7.754680004696004E+00 + -6.114452563589863E+00 -8.001408642436231E-15 1.006277033744653E+01 + -7.954033084861150E+00 -1.040869454878327E-14 1.309023291243214E+01 + -1.036696342073085E+01 -1.356626939988149E-14 1.706127750842766E+01 + -1.353194192449140E+01 -1.770797891348779E-14 2.226999431096657E+01 + -1.768336261839050E+01 -2.314055248783419E-14 2.910213383325000E+01 + -2.312867409752263E+01 -3.026631916551441E-14 3.806367507680446E+01 + -3.027114875646134E+01 -3.961300357757903E-14 4.981829765118167E+01 + -3.963974859672469E+01 -5.187280851511195E-14 6.523653298714426E+01 + -5.192829943633307E+01 -6.795367853061688E-14 8.546023471562975E+01 + -2.448423563676757E-01 1.191171466466289E-01 4.193808049125369E-01 + -2.448584936376258E-01 1.191249975167955E-01 4.194084458050736E-01 + -2.448898998584750E-01 1.191402768151572E-01 4.194622402807289E-01 + -2.449510223848425E-01 1.191700132588213E-01 4.195669346427934E-01 + -2.450699785383855E-01 1.192278860786893E-01 4.197706899413548E-01 + -2.453014900171598E-01 1.193405176804131E-01 4.201672368123915E-01 + -2.457520557357703E-01 1.195597203689262E-01 4.209389930417471E-01 + -2.466289429979561E-01 1.199863308220844E-01 4.224409786102931E-01 + -2.483355337100837E-01 1.208165965454587E-01 4.253641304583891E-01 + -2.516568863905417E-01 1.224324528056769E-01 4.310531443250795E-01 + -2.581208754123923E-01 1.255772188488599E-01 4.421250558976778E-01 + -2.707010372002227E-01 1.316975364227891E-01 4.636731183113051E-01 + -2.951844436653345E-01 1.436088476909025E-01 5.056097785471685E-01 + -3.248209374797904E-01 1.580271641626129E-01 5.563729586401893E-01 + -3.636943622344165E-01 1.769392980999288E-01 6.229577130313799E-01 + -4.146836311275027E-01 2.017458565330676E-01 7.102952184676224E-01 + -4.815649403680027E-01 2.342839795886867E-01 8.248535723366108E-01 + -5.692914291533695E-01 2.769633965999664E-01 9.751168112008443E-01 + -6.843600024514057E-01 3.329448873979782E-01 1.172213227057095E+00 + -8.352924829846302E-01 4.063743653859180E-01 1.430739513572716E+00 + -1.033266725881592E+00 5.026899182717095E-01 1.769841777453064E+00 + -1.292944435491601E+00 6.290245454798632E-01 2.214633473178091E+00 + -1.633556991355226E+00 7.947344184299627E-01 2.798055271434654E+00 + -2.080329698131594E+00 1.012091785922681E+00 3.563314600582176E+00 + -2.666349937503512E+00 1.297193840267936E+00 4.567085530289168E+00 + -3.435017574860820E+00 1.671154853549934E+00 5.883705976389744E+00 + -4.443259094562806E+00 2.161669872026603E+00 7.610683066268307E+00 + -5.765743498284928E+00 2.805065773753209E+00 9.875914384677897E+00 + -7.500412190172579E+00 3.648991587980411E+00 1.284715989567913E+01 + -9.775732384608283E+00 4.755947317738351E+00 1.674446601841245E+01 + -1.276021121414967E+01 6.207912605428968E+00 2.185646196693181E+01 + -1.667487513958882E+01 8.112418034132505E+00 2.856173523896069E+01 + -2.180963887034370E+01 1.061050869698184E+01 3.735686929332310E+01 + -2.854477605525997E+01 1.388718980576875E+01 4.889321984847341E+01 + -3.737908183411086E+01 1.818512792641114E+01 6.402515340499548E+01 + -4.896681293022350E+01 2.382262253622686E+01 8.387332047172661E+01 + -1.173778669539041E-01 -1.572097188784595E-01 4.599178994837068E-01 + -1.173856031902045E-01 -1.572200803849814E-01 4.599482121281732E-01 + -1.174006593890872E-01 -1.572402458629811E-01 4.600072063452603E-01 + -1.174299616383968E-01 -1.572794917489051E-01 4.601220204009454E-01 + -1.174869894328155E-01 -1.573558717663776E-01 4.603454705632450E-01 + -1.175979764530231E-01 -1.575045219224829E-01 4.607803474146356E-01 + -1.178139784706382E-01 -1.577938236226048E-01 4.616267011336445E-01 + -1.182343598046581E-01 -1.583568601903844E-01 4.632738677174479E-01 + -1.190525024680626E-01 -1.594526372857955E-01 4.664795696525391E-01 + -1.206447649295803E-01 -1.615852295747167E-01 4.727184801535755E-01 + -1.237436129175441E-01 -1.657356629884214E-01 4.848605959921884E-01 + -1.297745651534926E-01 -1.738132020525384E-01 5.084914810664019E-01 + -1.415119543424967E-01 -1.895336415413140E-01 5.544817134783564E-01 + -1.557197428948562E-01 -2.085628035304155E-01 6.101516318103706E-01 + -1.743557327888561E-01 -2.335228646414942E-01 6.831724282286080E-01 + -1.988000802007962E-01 -2.662623332016757E-01 7.789519240373413E-01 + -2.308631003995789E-01 -3.092058499195635E-01 9.045834189998359E-01 + -2.729193372441504E-01 -3.655337534928793E-01 1.069371011513684E+00 + -3.280834186862926E-01 -4.394176121858760E-01 1.285518647539321E+00 + -4.004407218991711E-01 -5.363291645262103E-01 1.569033928312328E+00 + -4.953499307787148E-01 -6.634455488509451E-01 1.940913611614822E+00 + -6.198398928166815E-01 -8.301808324531308E-01 2.428698603224807E+00 + -7.831301660280371E-01 -1.048883204657810E+00 3.068513599104567E+00 + -9.973138069332161E-01 -1.335749467002580E+00 3.907742431466698E+00 + -1.278252965948650E+00 -1.712024546427153E+00 5.008537251224666E+00 + -1.646753616767453E+00 -2.205574865794466E+00 6.452421432128379E+00 + -2.130106418597480E+00 -2.852952093433606E+00 8.346327081432191E+00 + -2.764107825427602E+00 -3.702100110201142E+00 1.083051428695992E+01 + -3.595711122937660E+00 -4.815905668375903E+00 1.408895858928099E+01 + -4.686503725255812E+00 -6.276855699376925E+00 1.836297596112117E+01 + -6.117268255452519E+00 -8.193146184207668E+00 2.396909434153339E+01 + -7.993965197216263E+00 -1.070669500129945E+01 3.132249526644915E+01 + -1.045558018479301E+01 -1.400365217241519E+01 4.096776165102672E+01 + -1.368441709085607E+01 -1.832818588119277E+01 5.361920886292036E+01 + -1.791959920445611E+01 -2.400056523819383E+01 7.021378595114464E+01 + -2.347477837800818E+01 -3.144087897755120E+01 9.198046482390910E+01 + -1.348999066177579E-01 -5.363594225509176E-02 4.784789802268500E-01 + -1.349087977109562E-01 -5.363947733657048E-02 4.785105162101821E-01 + -1.349261014827489E-01 -5.364635728280572E-02 4.785718912792169E-01 + -1.349597779398028E-01 -5.365974697707009E-02 4.786913389292031E-01 + -1.350253187810308E-01 -5.368580588892249E-02 4.789238069542759E-01 + -1.351528738222863E-01 -5.373652152689929E-02 4.793762342953540E-01 + -1.354011203849621E-01 -5.383522388062613E-02 4.802567446317362E-01 + -1.358842557849724E-01 -5.402731758229021E-02 4.819703865407959E-01 + -1.368245298907936E-01 -5.440116875022824E-02 4.853054622022032E-01 + -1.386544835519386E-01 -5.512875479057136E-02 4.917961587756864E-01 + -1.422159241799499E-01 -5.654477670384232E-02 5.044282985788506E-01 + -1.491471703727702E-01 -5.930062679947906E-02 5.290128642260246E-01 + -1.626367041888409E-01 -6.466403938401846E-02 5.768591418542067E-01 + -1.789654158846399E-01 -7.115630360846699E-02 6.347757521507751E-01 + -2.003833659775423E-01 -7.967203918759103E-02 7.107434764876018E-01 + -2.284767388490884E-01 -9.084190996710612E-02 8.103883816601348E-01 + -2.653260916525234E-01 -1.054931414516679E-01 9.410900344149188E-01 + -3.136604375582555E-01 -1.247107840055896E-01 1.112528022170072E+00 + -3.770593527738626E-01 -1.499180702135411E-01 1.337398810152211E+00 + -4.602180751108716E-01 -1.829818175585514E-01 1.632356024418674E+00 + -5.692952269391950E-01 -2.263506823969180E-01 2.019243796852426E+00 + -7.123689144203710E-01 -2.832365041321958E-01 2.526714511989870E+00 + -9.000349811112121E-01 -3.578521696922277E-01 3.192350763821029E+00 + -1.146191721789647E+00 -4.557236142302935E-01 4.065448671809340E+00 + -1.469069171346103E+00 -5.840990643998170E-01 5.210668684746564E+00 + -1.892579196481946E+00 -7.524858322053948E-01 6.712824246032701E+00 + -2.448086376178003E+00 -9.733544136558760E-01 8.683162962447154E+00 + -3.176730819942671E+00 -1.263062036812307E+00 1.126760545126489E+01 + -4.132474948613727E+00 -1.643064055948588E+00 1.465755202357874E+01 + -5.386099878174313E+00 -2.141502906036004E+00 1.910405753216109E+01 + -7.030447373356976E+00 -2.795292293369147E+00 2.493642415390347E+01 + -9.187295583021433E+00 -3.652850974668726E+00 3.258658906312444E+01 + -1.201637776495771E+01 -4.777688584639823E+00 4.262111311380772E+01 + -1.572721191466100E+01 -6.253109073518856E+00 5.578313956926021E+01 + -2.059461738436690E+01 -8.188380084825079E+00 7.304743028589212E+01 + -2.697906763214133E+01 -1.072682516907882E+01 9.569255525636443E+01 + -1.348999066177579E-01 5.363594225509094E-02 4.784789802268501E-01 + -1.349087977109562E-01 5.363947733656966E-02 4.785105162101823E-01 + -1.349261014827489E-01 5.364635728280490E-02 4.785718912792170E-01 + -1.349597779398029E-01 5.365974697706927E-02 4.786913389292032E-01 + -1.350253187810308E-01 5.368580588892168E-02 4.789238069542761E-01 + -1.351528738222864E-01 5.373652152689846E-02 4.793762342953541E-01 + -1.354011203849621E-01 5.383522388062530E-02 4.802567446317363E-01 + -1.358842557849725E-01 5.402731758228938E-02 4.819703865407960E-01 + -1.368245298907936E-01 5.440116875022740E-02 4.853054622022033E-01 + -1.386544835519387E-01 5.512875479057051E-02 4.917961587756866E-01 + -1.422159241799499E-01 5.654477670384146E-02 5.044282985788507E-01 + -1.491471703727703E-01 5.930062679947815E-02 5.290128642260247E-01 + -1.626367041888409E-01 6.466403938401748E-02 5.768591418542068E-01 + -1.789654158846399E-01 7.115630360846591E-02 6.347757521507752E-01 + -2.003833659775423E-01 7.967203918758980E-02 7.107434764876019E-01 + -2.284767388490885E-01 9.084190996710473E-02 8.103883816601349E-01 + -2.653260916525234E-01 1.054931414516663E-01 9.410900344149189E-01 + -3.136604375582556E-01 1.247107840055877E-01 1.112528022170073E+00 + -3.770593527738627E-01 1.499180702135388E-01 1.337398810152212E+00 + -4.602180751108716E-01 1.829818175585486E-01 1.632356024418675E+00 + -5.692952269391950E-01 2.263506823969146E-01 2.019243796852426E+00 + -7.123689144203710E-01 2.832365041321915E-01 2.526714511989871E+00 + -9.000349811112121E-01 3.578521696922222E-01 3.192350763821030E+00 + -1.146191721789647E+00 4.557236142302865E-01 4.065448671809341E+00 + -1.469069171346103E+00 5.840990643998080E-01 5.210668684746565E+00 + -1.892579196481946E+00 7.524858322053832E-01 6.712824246032704E+00 + -2.448086376178003E+00 9.733544136558611E-01 8.683162962447156E+00 + -3.176730819942671E+00 1.263062036812288E+00 1.126760545126490E+01 + -4.132474948613727E+00 1.643064055948563E+00 1.465755202357874E+01 + -5.386099878174313E+00 2.141502906035972E+00 1.910405753216110E+01 + -7.030447373356976E+00 2.795292293369104E+00 2.493642415390348E+01 + -9.187295583021433E+00 3.652850974668670E+00 3.258658906312445E+01 + -1.201637776495771E+01 4.777688584639750E+00 4.262111311380773E+01 + -1.572721191466100E+01 6.253109073518761E+00 5.578313956926023E+01 + -2.059461738436690E+01 8.188380084824953E+00 7.304743028589215E+01 + -2.697906763214133E+01 1.072682516907865E+01 9.569255525636446E+01 + -1.173778669539042E-01 1.572097188784587E-01 4.599178994837070E-01 + -1.173856031902046E-01 1.572200803849806E-01 4.599482121281734E-01 + -1.174006593890872E-01 1.572402458629804E-01 4.600072063452605E-01 + -1.174299616383968E-01 1.572794917489044E-01 4.601220204009456E-01 + -1.174869894328155E-01 1.573558717663768E-01 4.603454705632452E-01 + -1.175979764530232E-01 1.575045219224821E-01 4.607803474146358E-01 + -1.178139784706383E-01 1.577938236226040E-01 4.616267011336447E-01 + -1.182343598046582E-01 1.583568601903836E-01 4.632738677174481E-01 + -1.190525024680627E-01 1.594526372857947E-01 4.664795696525393E-01 + -1.206447649295803E-01 1.615852295747159E-01 4.727184801535757E-01 + -1.237436129175441E-01 1.657356629884206E-01 4.848605959921887E-01 + -1.297745651534927E-01 1.738132020525375E-01 5.084914810664022E-01 + -1.415119543424967E-01 1.895336415413131E-01 5.544817134783567E-01 + -1.557197428948563E-01 2.085628035304144E-01 6.101516318103709E-01 + -1.743557327888562E-01 2.335228646414931E-01 6.831724282286084E-01 + -1.988000802007963E-01 2.662623332016745E-01 7.789519240373416E-01 + -2.308631003995790E-01 3.092058499195620E-01 9.045834189998363E-01 + -2.729193372441505E-01 3.655337534928775E-01 1.069371011513684E+00 + -3.280834186862928E-01 4.394176121858739E-01 1.285518647539322E+00 + -4.004407218991712E-01 5.363291645262077E-01 1.569033928312328E+00 + -4.953499307787150E-01 6.634455488509419E-01 1.940913611614823E+00 + -6.198398928166817E-01 8.301808324531268E-01 2.428698603224808E+00 + -7.831301660280373E-01 1.048883204657805E+00 3.068513599104568E+00 + -9.973138069332165E-01 1.335749467002573E+00 3.907742431466700E+00 + -1.278252965948651E+00 1.712024546427144E+00 5.008537251224668E+00 + -1.646753616767454E+00 2.205574865794456E+00 6.452421432128382E+00 + -2.130106418597481E+00 2.852952093433592E+00 8.346327081432195E+00 + -2.764107825427603E+00 3.702100110201124E+00 1.083051428695993E+01 + -3.595711122937661E+00 4.815905668375880E+00 1.408895858928100E+01 + -4.686503725255813E+00 6.276855699376894E+00 1.836297596112118E+01 + -6.117268255452521E+00 8.193146184207629E+00 2.396909434153340E+01 + -7.993965197216265E+00 1.070669500129940E+01 3.132249526644917E+01 + -1.045558018479301E+01 1.400365217241513E+01 4.096776165102674E+01 + -1.368441709085607E+01 1.832818588119269E+01 5.361920886292039E+01 + -1.791959920445611E+01 2.400056523819372E+01 7.021378595114469E+01 + -2.347477837800819E+01 3.144087897755105E+01 9.198046482390916E+01 + 1.727560082083368E-17 -1.912052275717801E-01 4.620146042878098E-01 + 1.727673943523902E-17 -1.912178296820481E-01 4.620450551236085E-01 + 1.727895539714500E-17 -1.912423558044630E-01 4.621043182875196E-01 + 1.728326808381552E-17 -1.912900883403577E-01 4.622196557652816E-01 + 1.729166139882146E-17 -1.913829850055699E-01 4.624441246072831E-01 + 1.730799639882750E-17 -1.915637797244299E-01 4.628809840046554E-01 + 1.733978744027042E-17 -1.919156409058081E-01 4.637311961382001E-01 + 1.740165890128367E-17 -1.926004302168098E-01 4.653858719363508E-01 + 1.752207262521870E-17 -1.939331614906186E-01 4.686061882420838E-01 + 1.775642081539309E-17 -1.965269120349870E-01 4.748735411099743E-01 + 1.821250731818777E-17 -2.015748478181586E-01 4.870710112469074E-01 + 1.910013908473434E-17 -2.113990985451030E-01 5.108096263971104E-01 + 2.082764066207714E-17 -2.305189737756133E-01 5.570095221888729E-01 + 2.291873406790437E-17 -2.536630597429659E-01 6.129332323070771E-01 + 2.566156736914560E-17 -2.840205605323353E-01 6.862869208671977E-01 + 2.925927108598258E-17 -3.238397115446737E-01 7.825030627147612E-01 + 3.397828628398429E-17 -3.760694651842963E-01 9.087072950274008E-01 + 4.016809683863153E-17 -4.445778862807279E-01 1.074246132355309E+00 + 4.828711173789411E-17 -5.344386157321773E-01 1.291379156832579E+00 + 5.893661423114194E-17 -6.523066174801726E-01 1.576186946229191E+00 + 7.290529205238757E-17 -8.069110361274923E-01 1.949761979765725E+00 + 9.122764656589423E-17 -1.009701665567193E+00 2.439770718562818E+00 + 1.152606065363806E-16 -1.275696905214005E+00 3.082502546288228E+00 + 1.467840204359001E-16 -1.624596002328370E+00 3.925557311771316E+00 + 1.881324696115642E-16 -2.082237951593525E+00 5.031370509351737E+00 + 2.423681642188201E-16 -2.682515096072804E+00 6.481837167045476E+00 + 3.135077263589833E-16 -3.469883148242829E+00 8.384376881424535E+00 + 4.068196556730972E-16 -4.502653519861430E+00 1.087988916748070E+01 + 5.292145072912019E-16 -5.857311786162158E+00 1.415318828591188E+01 + 6.897566781875865E-16 -7.634182103985900E+00 1.844669033700985E+01 + 9.003357041464818E-16 -9.964857082986216E+00 2.407836626878890E+01 + 1.176546782682455E-15 -1.302194335610890E+01 3.146529037482693E+01 + 1.538845732250672E-15 -1.703184459309897E+01 4.115452825168192E+01 + 2.014063922462176E-15 -2.229152864970565E+01 5.386365173618380E+01 + 2.637395368984559E-15 -2.919052060495088E+01 7.053388130399628E+01 + 3.455003154685612E-15 -3.823975046102050E+01 9.239979158352513E+01 + 1.956243042558866E-17 -9.970061760322611E-02 4.899762448073712E-01 + 1.956371976222690E-17 -9.970718875294192E-02 4.900085385618054E-01 + 1.956622905849168E-17 -9.971997746998296E-02 4.900713883986701E-01 + 1.957111263005682E-17 -9.974486676495101E-02 4.901937062295674E-01 + 1.958061699650675E-17 -9.979330610425444E-02 4.904317601769090E-01 + 1.959911431561213E-17 -9.988757834439482E-02 4.908950587935474E-01 + 1.963511364454048E-17 -1.000710501957637E-01 4.917967267162011E-01 + 1.970517523973210E-17 -1.004281215902125E-01 4.935515453440696E-01 + 1.984152853483280E-17 -1.011230509746510E-01 4.969667587938852E-01 + 2.010689818612276E-17 -1.024755167752272E-01 5.036134188660824E-01 + 2.062335839908457E-17 -1.051076744918079E-01 5.165490935360577E-01 + 2.162848897929970E-17 -1.102303579947869E-01 5.417243962218968E-01 + 2.358466577264797E-17 -1.202000821136679E-01 5.907203613720334E-01 + 2.595256427233837E-17 -1.322681604508094E-01 6.500286369657291E-01 + 2.905847567773573E-17 -1.480975476282824E-01 7.278217727884826E-01 + 3.313241958176655E-17 -1.688605466256602E-01 8.298610231385747E-01 + 3.847610675338001E-17 -1.960948370332269E-01 9.637032767241845E-01 + 4.548528342854572E-17 -2.318173535202405E-01 1.139260709608231E+00 + 5.467903974060417E-17 -2.786736572853798E-01 1.369534867545379E+00 + 6.673825283263486E-17 -3.401338627367274E-01 1.671579542855056E+00 + 8.255601169668774E-17 -4.207496294659026E-01 2.067763755187861E+00 + 1.033037581351903E-16 -5.264912519939530E-01 2.587428370830685E+00 + 1.305180421545700E-16 -6.651898116991238E-01 3.269059047533049E+00 + 1.662143167780668E-16 -8.471171360995584E-01 4.163136430206082E+00 + 2.130361997674818E-16 -1.085746516490067E+00 5.335874679128103E+00 + 2.744512563748570E-16 -1.398750521651055E+00 6.874125200993324E+00 + 3.550078025295640E-16 -1.809309804361725E+00 8.891808746484951E+00 + 4.606717469570962E-16 -2.347829829155675E+00 1.153835222680913E+01 + 5.992684183007604E-16 -3.054192659851793E+00 1.500975506839785E+01 + 7.810620983646144E-16 -3.980710571195834E+00 1.956310466502494E+01 + 1.019516180924871E-15 -5.196000225091327E+00 2.553561592206349E+01 + 1.332290252441999E-15 -6.790064327665372E+00 3.336960493575030E+01 + 1.742547937120897E-15 -8.880957107810552E+00 4.364524632432711E+01 + 2.280672363553325E-15 -1.162352725351782E+01 5.712354017464492E+01 + 2.986516298079199E-15 -1.522088579602638E+01 7.480267067811563E+01 + 3.912353586696556E-15 -1.993944823776189E+01 9.799193030027327E+01 + 2.152365080037995E-17 -4.524646097441409E-16 5.000169333392598E-01 + 2.152506939873209E-17 -4.524944311511011E-16 5.000498888635925E-01 + 2.152783026307169E-17 -4.525524693258307E-16 5.001140266315415E-01 + 2.153320343433620E-17 -4.526654227398140E-16 5.002388510232261E-01 + 2.154366065565771E-17 -4.528852517366754E-16 5.004817832183692E-01 + 2.156401241300616E-17 -4.533130811059435E-16 5.009545758403930E-01 + 2.160362083425265E-17 -4.541457190737347E-16 5.018747209175344E-01 + 2.168070641496094E-17 -4.557661921763489E-16 5.036654996301195E-01 + 2.183072973238011E-17 -4.589199434798866E-16 5.071506982983675E-01 + 2.212270386765486E-17 -4.650577480929468E-16 5.139335630218502E-01 + 2.269094150654964E-17 -4.770030924914872E-16 5.271343180537565E-01 + 2.379684088339983E-17 -5.002510226220940E-16 5.528255179400078E-01 + 2.594913307245018E-17 -5.454959513010538E-16 6.028255179400077E-01 + 2.855442389415779E-17 -6.002636998510868E-16 6.633491502554029E-01 + 3.197171668714562E-17 -6.721011434288934E-16 7.427364381518395E-01 + 3.645409152825932E-17 -7.663284658297784E-16 8.468666966715123E-01 + 4.233350702858651E-17 -8.899240149562412E-16 9.834516717561765E-01 + 5.004538473868424E-17 -1.052041109814160E-15 1.162606661709014E+00 + 6.016085587900298E-17 -1.264685922923730E-15 1.397599642489704E+00 + 7.342905854469646E-17 -1.543606641198586E-15 1.705833876047643E+00 + 9.083261785853075E-17 -1.909459755343796E-15 2.110136772335931E+00 + 1.136604178568900E-16 -2.389339851586233E-15 2.640450456381580E+00 + 1.436030544962156E-16 -3.018786200041390E-15 3.336049241519975E+00 + 1.828780389002810E-16 -3.844414744933921E-15 4.248448231858611E+00 + 2.343940232312563E-16 -4.927370418303633E-15 5.445218461129980E+00 + 3.019662115301922E-16 -6.347855450875150E-15 7.014991111950934E+00 + 3.905989085620811E-16 -8.211069040662453E-15 9.074021421190594E+00 + 5.068561318503536E-16 -1.065499826312211E-14 1.177479838539006E+01 + 6.593477339262388E-16 -1.386063720711140E-14 1.531733788935882E+01 + 8.593670363485063E-16 -1.806539115202250E-14 1.996399561175946E+01 + 1.121727197805669E-15 -2.358065848130054E-14 2.605889673141002E+01 + 1.465858256589748E-15 -3.081489242505267E-14 3.405342137204256E+01 + 1.917246092921709E-15 -4.030385055317783E-14 4.453963320304693E+01 + 2.509319878729834E-15 -5.275027225551656E-14 5.829412687310398E+01 + 3.285927796855836E-15 -6.907592266947367E-14 7.633554155826955E+01 + 4.304584378100696E-15 -9.048985735791976E-14 1.000000000000000E+02 + 2.546867289402649E-17 9.970061760322527E-02 4.899762448073714E-01 + 2.547035150411610E-17 9.970718875294107E-02 4.900085385618056E-01 + 2.547361840114124E-17 9.971997746998211E-02 4.900713883986703E-01 + 2.547997640901865E-17 9.974486676495016E-02 4.901937062295676E-01 + 2.549235031118274E-17 9.979330610425359E-02 4.904317601769092E-01 + 2.551643229687994E-17 9.988757834439398E-02 4.908950587935476E-01 + 2.556330045758053E-17 1.000710501957629E-01 4.917967267162013E-01 + 2.565451488296374E-17 1.004281215902117E-01 4.935515453440698E-01 + 2.583203564062992E-17 1.011230509746501E-01 4.969667587938854E-01 + 2.617752506590425E-17 1.024755167752264E-01 5.036134188660825E-01 + 2.684991371805752E-17 1.051076744918071E-01 5.165490935360578E-01 + 2.815851093253230E-17 1.102303579947860E-01 5.417243962218969E-01 + 3.070529197092027E-17 1.202000821136669E-01 5.907203613720335E-01 + 3.378810075402454E-17 1.322681604508083E-01 6.500286369657293E-01 + 3.783174154409836E-17 1.480975476282812E-01 7.278217727884828E-01 + 4.313568090250514E-17 1.688605466256588E-01 8.298610231385749E-01 + 5.009272139599144E-17 1.960948370332252E-01 9.637032767241848E-01 + 5.921809202288090E-17 2.318173535202386E-01 1.139260709608231E+00 + 7.118760537501144E-17 2.786736572853775E-01 1.369534867545379E+00 + 8.688770740315958E-17 3.401338627367244E-01 1.671579542855057E+00 + 1.074811264038065E-16 4.207496294658990E-01 2.067763755187862E+00 + 1.344929831023090E-16 5.264912519939484E-01 2.587428370830686E+00 + 1.699237390286323E-16 6.651898116991182E-01 3.269059047533050E+00 + 2.163973479894075E-16 8.471171360995511E-01 4.163136430206084E+00 + 2.773555825337182E-16 1.085746516490058E+00 5.335874679128104E+00 + 3.573129269675345E-16 1.398750521651043E+00 6.874125200993326E+00 + 4.621909139482878E-16 1.809309804361710E+00 8.891808746484955E+00 + 5.997566651750520E-16 2.347829829155655E+00 1.153835222680913E+01 + 7.801981139040108E-16 3.054192659851767E+00 1.500975506839785E+01 + 1.016878509489790E-15 3.980710571195801E+00 1.956310466502495E+01 + 1.327326081537301E-15 5.196000225091283E+00 2.553561592206350E+01 + 1.734532156851067E-15 6.790064327665315E+00 3.336960493575032E+01 + 2.268653865965496E-15 8.880957107810477E+00 4.364524632432713E+01 + 2.969247539396068E-15 1.162352725351772E+01 5.712354017464495E+01 + 3.888198195913543E-15 1.522088579602625E+01 7.480267067811567E+01 + 5.093562076775924E-15 1.993944823776173E+01 9.799193030027331E+01 + 3.554610991056465E-17 1.912052275717794E-01 4.620146042878101E-01 + 3.554845271260191E-17 1.912178296820474E-01 4.620450551236088E-01 + 3.555301225448323E-17 1.912423558044623E-01 4.621043182875199E-01 + 3.556188599705172E-17 1.912900883403570E-01 4.622196557652818E-01 + 3.557915600119279E-17 1.913829850055692E-01 4.624441246072834E-01 + 3.561276673992343E-17 1.915637797244292E-01 4.628809840046557E-01 + 3.567817968069586E-17 1.919156409058075E-01 4.637311961382004E-01 + 3.580548580314643E-17 1.926004302168091E-01 4.653858719363511E-01 + 3.605324792210979E-17 1.939331614906179E-01 4.686061882420841E-01 + 3.653544050178753E-17 1.965269120349863E-01 4.748735411099746E-01 + 3.747387969850211E-17 2.015748478181579E-01 4.870710112469077E-01 + 3.930026227477248E-17 2.113990985451023E-01 5.108096263971107E-01 + 4.285475288703808E-17 2.305189737756125E-01 5.570095221888732E-01 + 4.715736654474382E-17 2.536630597429650E-01 6.129332323070775E-01 + 5.280099393596604E-17 2.840205605323343E-01 6.862869208671981E-01 + 6.020359446318537E-17 3.238397115446725E-01 7.825030627147617E-01 + 6.991339469748478E-17 3.760694651842950E-01 9.087072950274013E-01 + 8.264948929604278E-17 4.445778862807263E-01 1.074246132355309E+00 + 9.935509617870820E-17 5.344386157321754E-01 1.291379156832580E+00 + 1.212674099699198E-16 6.523066174801703E-01 1.576186946229192E+00 + 1.500092269572900E-16 8.069110361274894E-01 1.949761979765726E+00 + 1.877091271872149E-16 1.009701665567190E+00 2.439770718562820E+00 + 2.371591142207705E-16 1.275696905214001E+00 3.082502546288231E+00 + 3.020213871367563E-16 1.624596002328365E+00 3.925557311771319E+00 + 3.870995580364370E-16 2.082237951593517E+00 5.031370509351740E+00 + 4.986944010511242E-16 2.682515096072794E+00 6.481837167045480E+00 + 6.450704791423783E-16 3.469883148242816E+00 8.384376881424540E+00 + 8.370682064437821E-16 4.502653519861413E+00 1.087988916748071E+01 + 1.088906674652522E-15 5.857311786162136E+00 1.415318828591189E+01 + 1.419236699706213E-15 7.634182103985871E+00 1.844669033700986E+01 + 1.852522075955912E-15 9.964857082986178E+00 2.407836626878892E+01 + 2.420851331649000E-15 1.302194335610885E+01 3.146529037482695E+01 + 3.166314161879670E-15 1.703184459309891E+01 4.115452825168195E+01 + 4.144118534413358E-15 2.229152864970557E+01 5.386365173618383E+01 + 5.426679317021593E-15 2.919052060495076E+01 7.053388130399632E+01 + 7.108981224531199E-15 3.823975046102035E+01 9.239979158352519E+01 + 5.000169333392598E-01 -2.828771346048361E-17 -5.182653350761810E-17 + 5.000498888635925E-01 -2.828957787020078E-17 -5.182994933310762E-17 + 5.001140266315415E-01 -2.829320636891905E-17 -5.183659718432640E-17 + 5.002388510232261E-01 -2.830026812301059E-17 -5.184953517719597E-17 + 5.004817832183692E-01 -2.831401165021605E-17 -5.187471499154263E-17 + 5.009545758403930E-01 -2.834075918880183E-17 -5.192371973724960E-17 + 5.018747209175344E-01 -2.839281502641201E-17 -5.201909236664009E-17 + 5.036654996301195E-01 -2.849412566554265E-17 -5.220470578643511E-17 + 5.071506982983675E-01 -2.869129559061269E-17 -5.256594508358129E-17 + 5.139335630218502E-01 -2.907502606241438E-17 -5.326898600565884E-17 + 5.271343180537565E-01 -2.982183912194578E-17 -5.463723841346831E-17 + 5.528255179400078E-01 -3.127528050039044E-17 -5.730011989402870E-17 + 6.028255179400077E-01 -3.410395604859338E-17 -6.248259773147965E-17 + 6.633491502554029E-01 -3.752799042497304E-17 -6.875584539381097E-17 + 7.427364381518395E-01 -4.201920802718899E-17 -7.698430259578340E-17 + 8.468666966715123E-01 -4.791022234924196E-17 -8.777735773550825E-17 + 9.834516717561765E-01 -5.563731393471990E-17 -1.019343298616095E-16 + 1.162606661709014E+00 -6.577274072308260E-17 -1.205036651595961E-16 + 1.397599642489704E+00 -7.906711869775576E-17 -1.448605834566454E-16 + 1.705833876047643E+00 -9.650501148944408E-17 -1.768089251397994E-16 + 2.110136772335931E+00 -1.193778458254102E-16 -2.187147411324251E-16 + 2.640450456381580E+00 -1.493795528441571E-16 -2.736815194216959E-16 + 3.336049241519975E+00 -1.887320183417700E-16 -3.457800251764468E-16 + 4.248448231858611E+00 -2.403496326252889E-16 -4.403497761032989E-16 + 5.445218461129980E+00 -3.080551263124317E-16 -5.643944798976982E-16 + 7.014991111950934E+00 -3.968626765847304E-16 -7.271007193520228E-16 + 9.074021421190594E+00 -5.133492503598294E-16 -9.405182982375093E-16 + 1.177479838539006E+01 -6.661416855554452E-16 -1.220452633454746E-15 + 1.531733788935882E+01 -8.665555830238329E-16 -1.587635282806998E-15 + 1.996399561175946E+01 -1.129433324628293E-15 -2.069259296098231E-15 + 2.605889673141002E+01 -1.474243279945698E-15 -2.700993095579111E-15 + 3.405342137204256E+01 -1.926521607354960E-15 -3.529622030999785E-15 + 4.453963320304693E+01 -2.519763427347728E-15 -4.616513239259708E-15 + 5.829412687310398E+01 -3.297903425795776E-15 -6.042160411468311E-15 + 7.633554155826955E+01 -4.318569597294120E-15 -7.912145046710966E-15 + 1.000000000000000E+02 -5.657351096405869E-15 -1.036495567490191E-14 + 4.786217425729570E-01 7.235012294810531E-02 1.253140888799735E-01 + 4.786532879655864E-01 7.235489145908626E-02 1.253223481832689E-01 + 4.787146813469174E-01 7.236417189558216E-02 1.253384223707962E-01 + 4.788341646361426E-01 7.238223340406945E-02 1.253697058211576E-01 + 4.790667020220067E-01 7.241738456198980E-02 1.254305894126205E-01 + 4.795192643524811E-01 7.248579545380487E-02 1.255490805530353E-01 + 4.804000374041060E-01 7.261893616369379E-02 1.257796870271188E-01 + 4.821141906073906E-01 7.287805350830674E-02 1.262284914331107E-01 + 4.854502613453749E-01 7.338234553390346E-02 1.271019508432961E-01 + 4.919428945286342E-01 7.436379448885592E-02 1.288018702983091E-01 + 5.045788033456718E-01 7.627388229965856E-02 1.321102394335373E-01 + 5.291707042163662E-01 7.999127934467716E-02 1.385489599874159E-01 + 5.770312575956869E-01 8.722604662195015E-02 1.510799444925895E-01 + 6.349651482985138E-01 9.598353451349260E-02 1.662483584674103E-01 + 7.109555388986518E-01 1.074705055675844E-01 1.861443759581703E-01 + 8.106301748243169E-01 1.225376693058265E-01 2.122414690787651E-01 + 9.413708246413719E-01 1.423008794720200E-01 2.464723532072740E-01 + 1.112859963837561E+00 1.682237726494393E-01 2.913721212697448E-01 + 1.337797845845958E+00 2.022261632042587E-01 3.502659892894923E-01 + 1.632843065616633E+00 2.468262221378647E-01 4.275155573830642E-01 + 2.019846272601024E+00 3.053269694213287E-01 5.288418239587708E-01 + 2.527468400262043E+00 3.820608911817996E-01 6.617488751119217E-01 + 3.193303255996178E+00 4.827107977584018E-01 8.360796270796576E-01 + 4.066661667602989E+00 6.147306849407793E-01 1.064744779289047E+00 + 5.212223376419471E+00 7.878977668037191E-01 1.364678963274098E+00 + 6.714827131379749E+00 1.015036562942069E+00 1.758094898555751E+00 + 8.685753731879826E+00 1.312968665026077E+00 2.274128436571049E+00 + 1.127096733309399E+01 1.703758521102137E+00 2.950996322377315E+00 + 1.466192535365497E+01 2.216347498737338E+00 3.838826475041271E+00 + 1.910975755282273E+01 2.888697243511578E+00 5.003370393446223E+00 + 2.494386436039706E+01 3.770601067084824E+00 6.530872623264346E+00 + 3.259631182650282E+01 4.927371572432842E+00 8.534457911224241E+00 + 4.263382984819578E+01 6.444677616782907E+00 1.116250907066991E+01 + 5.579978341822165E+01 8.434888831174652E+00 1.460965601178977E+01 + 7.306922522977817E+01 1.104539756317362E+01 1.913118976921419E+01 + 9.572110675864127E+01 1.446953455454597E+01 2.506196901034716E+01 + 4.786217425729569E-01 1.447002458962107E-01 -8.314675407591373E-18 + 4.786532879655863E-01 1.447097829181726E-01 -8.315223418007507E-18 + 4.787146813469174E-01 1.447283437911644E-01 -8.316289951331291E-18 + 4.788341646361426E-01 1.447644668081390E-01 -8.318365629634575E-18 + 4.790667020220067E-01 1.448347691239797E-01 -8.322405297521780E-18 + 4.795192643524810E-01 1.449715909076099E-01 -8.330267265637496E-18 + 4.804000374041059E-01 1.452378723273877E-01 -8.345568162735580E-18 + 4.821141906073905E-01 1.457561070166136E-01 -8.375346641681346E-18 + 4.854502613453749E-01 1.467646910678070E-01 -8.433301270265474E-18 + 4.919428945286341E-01 1.487275889777120E-01 -8.546092087433852E-18 + 5.045788033456718E-01 1.525477645993173E-01 -8.765604639723671E-18 + 5.291707042163662E-01 1.599825586893545E-01 -9.192818147192609E-18 + 5.770312575956869E-01 1.744520932439004E-01 -1.002425752986147E-17 + 6.349651482985138E-01 1.919670690269853E-01 -1.103069215964525E-17 + 7.109555388986518E-01 2.149410111351690E-01 -1.235080651245261E-17 + 8.106301748243169E-01 2.450753386116532E-01 -1.408236646966751E-17 + 9.413708246413719E-01 2.846017589440403E-01 -1.635360901699220E-17 + 1.112859963837561E+00 3.364475452988788E-01 -1.933273930196085E-17 + 1.337797845845958E+00 4.044523264085177E-01 -2.324038767939707E-17 + 1.632843065616633E+00 4.936524442757299E-01 -2.836594929673349E-17 + 2.019846272601023E+00 6.106539388426578E-01 -3.508901630675678E-17 + 2.527468400262042E+00 7.641217823635998E-01 -4.390748994843201E-17 + 3.193303255996177E+00 9.654215955168042E-01 -5.547445443844547E-17 + 4.066661667602988E+00 1.229461369881560E+00 -7.064654350394233E-17 + 5.212223376419471E+00 1.575795533607439E+00 -9.054738151637937E-17 + 6.714827131379749E+00 2.030073125884140E+00 -1.166507975909599E-16 + 8.685753731879824E+00 2.625937330052156E+00 -1.508899753751737E-16 + 1.127096733309399E+01 3.407517042204276E+00 -1.958006220119791E-16 + 1.466192535365497E+01 4.432694997474680E+00 -2.547087591771756E-16 + 1.910975755282273E+01 5.777394487023161E+00 -3.319770437409007E-16 + 2.494386436039706E+01 7.541202134169655E+00 -4.333278602279003E-16 + 3.259631182650281E+01 9.854743144865694E+00 -5.662671128666698E-16 + 4.263382984819577E+01 1.288935523356583E+01 -7.406401026927723E-16 + 5.579978341822164E+01 1.686977766234932E+01 -9.693606572118708E-16 + 7.306922522977817E+01 2.209079512634725E+01 -1.269367510978009E-15 + 9.572110675864127E+01 2.893906910909197E+01 -1.662878765337712E-15 + 4.162833480437567E-01 1.384964871102135E-01 2.398829523446982E-01 + 4.163107847865768E-01 1.385056152497756E-01 2.398987627461984E-01 + 4.163641819477480E-01 1.385233803592344E-01 2.399295328183830E-01 + 4.164681030596610E-01 1.385579546678254E-01 2.399894172774991E-01 + 4.166703534651952E-01 1.386252429002630E-01 2.401059639148327E-01 + 4.170639715259118E-01 1.387561986997889E-01 2.403327860131573E-01 + 4.178300277289294E-01 1.390110637899865E-01 2.407742252984552E-01 + 4.193209199535226E-01 1.395070801133307E-01 2.416333507718708E-01 + 4.222224820276844E-01 1.404724229652418E-01 2.433053736381042E-01 + 4.278694780555239E-01 1.423511652119744E-01 2.465594506637712E-01 + 4.388596148588688E-01 1.460075577803457E-01 2.528925083646076E-01 + 4.602485278952471E-01 1.531235986514614E-01 2.652178527021167E-01 + 5.018754529339348E-01 1.669727783367666E-01 2.892053355602161E-01 + 5.522637070431757E-01 1.837368315196316E-01 3.182415274137251E-01 + 6.183566806889694E-01 2.057258078157677E-01 3.563275515650606E-01 + 7.050491300021210E-01 2.345681810340923E-01 4.062840073900628E-01 + 8.187613803873277E-01 2.723999782793013E-01 4.718106023604091E-01 + 9.679148071288002E-01 3.220229712268193E-01 5.577601473691424E-01 + 1.163555511040311E+00 3.871121715391640E-01 6.704979493341516E-01 + 1.420172377733784E+00 4.724879972532887E-01 8.183732172091611E-01 + 1.756770104868121E+00 5.844732664130048E-01 1.012337393093066E+00 + 2.198276664323291E+00 7.313614564114920E-01 1.266755201202276E+00 + 2.777389434042455E+00 9.240309076967247E-01 1.600468479894717E+00 + 3.536996721566468E+00 1.176750458934541E+00 2.038191582704621E+00 + 4.533354014014714E+00 1.508236177878602E+00 2.612341689899233E+00 + 5.840250183284830E+00 1.943037448004547E+00 3.365439580952850E+00 + 7.554472189986932E+00 2.513355062607538E+00 4.353258665896718E+00 + 9.802972994685845E+00 3.261425971950168E+00 5.648955488542406E+00 + 1.275227352225179E+01 4.242651294605275E+00 7.348487601054217E+00 + 1.662079497606800E+01 5.529699249278023E+00 9.577720050325023E+00 + 2.169503481658614E+01 7.217886864682190E+00 1.250174677291359E+01 + 2.835078437529717E+01 9.432239029616589E+00 1.633711722843011E+01 + 3.708095945187754E+01 1.233674766693164E+01 2.136787375928244E+01 + 4.853210499084891E+01 1.614651675327190E+01 2.796658738192904E+01 + 6.355227732467422E+01 2.114369262831114E+01 3.662194989185447E+01 + 8.325385007737526E+01 2.769835937061038E+01 4.797496571619875E+01 + 4.366624927850382E-01 2.109670608544509E-01 1.218018893744614E-01 + 4.366912726931706E-01 2.109809654437634E-01 1.218099171928440E-01 + 4.367472839115252E-01 2.110080264400853E-01 1.218255408663549E-01 + 4.368562924798338E-01 2.110606923265399E-01 1.218559475300766E-01 + 4.370684440507826E-01 2.111631902376687E-01 1.219151247266582E-01 + 4.374813316774566E-01 2.113626708216479E-01 1.220302948955167E-01 + 4.382848901498170E-01 2.117508982786418E-01 1.222544381223190E-01 + 4.398487689797630E-01 2.125064633334326E-01 1.226906638100927E-01 + 4.428923769795259E-01 2.139769377724158E-01 1.235396426232761E-01 + 4.488158216088903E-01 2.168387629216765E-01 1.251919181435754E-01 + 4.603439803861967E-01 2.224084232760615E-01 1.284075630484744E-01 + 4.827799873231008E-01 2.332480500335601E-01 1.346658244748313E-01 + 5.264447578208595E-01 2.543440416678384E-01 1.468456009237040E-01 + 5.792997681157088E-01 2.798801624878727E-01 1.615888871532096E-01 + 6.486283222444570E-01 3.133752337144983E-01 1.809272755424276E-01 + 7.395647990471329E-01 3.573098549666234E-01 2.062929409490863E-01 + 8.588438308574121E-01 4.149377648017074E-01 2.395644302052075E-01 + 1.015299061253791E+00 4.905268081873932E-01 2.832057847517196E-01 + 1.220517352741252E+00 5.896750073206645E-01 3.404490242109803E-01 + 1.489696894098452E+00 7.197251435713945E-01 4.155335053834868E-01 + 1.842772757658596E+00 8.903085539276390E-01 5.140198832719490E-01 + 2.305893263772081E+00 1.114058414771046E+00 6.432019256610314E-01 + 2.913356490003837E+00 1.407545337812921E+00 8.126466796828933E-01 + 3.710150340314304E+00 1.792504567159079E+00 1.034902994372928E+00 + 4.755284288307993E+00 2.297445662056323E+00 1.326430871436757E+00 + 6.126159538943099E+00 2.959763876245080E+00 1.708820470687828E+00 + 7.924301256960678E+00 3.828509599813989E+00 2.210391048047674E+00 + 1.028287738310875E+01 4.968020964670062E+00 2.868288241291966E+00 + 1.337656087150955E+01 6.462688639466574E+00 3.731235025684765E+00 + 1.743446573211479E+01 8.423205688248951E+00 4.863140071550121E+00 + 2.275711490403628E+01 1.099476534888699E+01 6.347830733856676E+00 + 2.973869657747422E+01 1.436781384766332E+01 8.295261192614852E+00 + 3.889625723730799E+01 1.879215458890609E+01 1.084965551055800E+01 + 5.090799342562633E+01 2.459544825685126E+01 1.420018867193259E+01 + 6.666347805927931E+01 3.220747892222725E+01 1.859499662566711E+01 + 8.732954099551750E+01 4.219198326855673E+01 2.435955289774542E+01 + 4.162833480437567E-01 2.769929742204273E-01 3.791804354856933E-17 + 4.163107847865768E-01 2.770112304995516E-01 3.792054268194561E-17 + 4.163641819477480E-01 2.770467607184692E-01 3.792540647458150E-17 + 4.164681030596610E-01 2.771159093356511E-01 3.793487234744346E-17 + 4.166703534651952E-01 2.772504858005264E-01 3.795329475064743E-17 + 4.170639715259118E-01 2.775123973995782E-01 3.798914827887020E-17 + 4.178300277289294E-01 2.780221275799734E-01 3.805892611793865E-17 + 4.193209199535226E-01 2.790141602266618E-01 3.819472716922741E-17 + 4.222224820276844E-01 2.809448459304839E-01 3.845902204819379E-17 + 4.278694780555239E-01 2.847023304239491E-01 3.897339054817931E-17 + 4.388596148588688E-01 2.920151155606918E-01 3.997445025395972E-17 + 4.602485278952471E-01 3.062471973029232E-01 4.192270434526848E-17 + 5.018754529339348E-01 3.339455566735335E-01 4.571438028865518E-17 + 5.522637070431757E-01 3.674736630392637E-01 5.030410030178851E-17 + 6.183566806889694E-01 4.114516156315359E-01 5.632431769634118E-17 + 7.050491300021210E-01 4.691363620681852E-01 6.422088162049481E-17 + 8.187613803873277E-01 5.447999565586031E-01 7.457860090562669E-17 + 9.679148071288001E-01 6.440459424536392E-01 8.816455421646395E-17 + 1.163555511040310E+00 7.742243430783289E-01 1.059848988582814E-16 + 1.420172377733784E+00 9.449759945065784E-01 1.293593854244790E-16 + 1.756770104868121E+00 1.168946532826011E+00 1.600190967384364E-16 + 2.198276664323291E+00 1.462722912822985E+00 2.002346495033298E-16 + 2.777389434042454E+00 1.848061815393451E+00 2.529843531004952E-16 + 3.536996721566467E+00 2.353500917869084E+00 3.221747791492417E-16 + 4.533354014014713E+00 3.016472355757208E+00 4.129300769110346E-16 + 5.840250183284829E+00 3.886074896009098E+00 5.319714608451185E-16 + 7.554472189986932E+00 5.026710125215082E+00 6.881149746500807E-16 + 9.802972994685843E+00 6.522851943900344E+00 8.929243955222428E-16 + 1.275227352225179E+01 8.485302589210558E+00 1.161567631836152E-15 + 1.662079497606799E+01 1.105939849855606E+01 1.513940037899723E-15 + 2.169503481658613E+01 1.443577372936439E+01 1.976137836953717E-15 + 2.835078437529717E+01 1.886447805923320E+01 2.582390772127690E-15 + 3.708095945187753E+01 2.467349533386331E+01 3.377597114865217E-15 + 4.853210499084891E+01 3.229303350654385E+01 4.420648770109619E-15 + 6.355227732467421E+01 4.228738525662233E+01 5.788792731037738E-15 + 8.325385007737525E+01 5.539671874122084E+01 7.583351886773415E-15 + 3.190906466620158E-01 1.924825270244120E-01 3.333895163755315E-01 + 3.191116775489103E-01 1.924952133199753E-01 3.334114896840069E-01 + 3.191526076864431E-01 1.925199032831133E-01 3.334542539545989E-01 + 3.192322655804185E-01 1.925679546844634E-01 3.335374814231122E-01 + 3.193872951125696E-01 1.926614719229786E-01 3.336994580316041E-01 + 3.196890123014078E-01 1.928434743964506E-01 3.340146955627608E-01 + 3.202762117902873E-01 1.931976860998312E-01 3.346282082296515E-01 + 3.214190145622079E-01 1.938870499772462E-01 3.358222214902369E-01 + 3.236431278324725E-01 1.952286842342431E-01 3.381460001885305E-01 + 3.279716786205087E-01 1.978397616906037E-01 3.426685190054448E-01 + 3.363958682403027E-01 2.029214189660935E-01 3.514702075932451E-01 + 3.527909561635847E-01 2.128112981815234E-01 3.685999808750891E-01 + 3.846989402123483E-01 2.320588990316543E-01 4.019378034713218E-01 + 4.233226821022055E-01 2.553575933677906E-01 4.422923258115271E-01 + 4.739844484196876E-01 2.859178899678915E-01 4.952243122172763E-01 + 5.404361809764746E-01 3.260030430160436E-01 5.646538339258503E-01 + 6.275992051025194E-01 3.785817046671375E-01 6.557227472995185E-01 + 7.419286963359506E-01 4.475477794055664E-01 7.751754927450699E-01 + 8.918917419823835E-01 5.380088013385504E-01 9.318585788376010E-01 + 1.088594402135376E+00 6.566641912559357E-01 1.137375742766408E+00 + 1.346604209448088E+00 8.123014066621126E-01 1.406947307398449E+00 + 1.685029020875480E+00 1.016446728979575E+00 1.760537377779818E+00 + 2.128932119686185E+00 1.284218884343171E+00 2.224332355721795E+00 + 2.711188368282849E+00 1.635448715985182E+00 2.832680269259621E+00 + 3.474918875995369E+00 2.096147829631882E+00 3.630634541097655E+00 + 4.476684490046976E+00 2.700434977800956E+00 4.677290584087395E+00 + 5.790674615309772E+00 3.493062848412289E+00 6.050162327481355E+00 + 7.514201581168668E+00 4.532732388255084E+00 7.850922793570834E+00 + 9.774907460863670E+00 5.896440115619316E+00 1.021293386403997E+01 + 1.274021707059214E+01 7.685180378178236E+00 1.331112288033612E+01 + 1.662973722468417E+01 1.003142485761924E+01 1.737493752570593E+01 + 2.173152051889918E+01 1.310893324300787E+01 2.270533840991831E+01 + 2.842339811561205E+01 1.714562163806973E+01 2.969708780448912E+01 + 3.720096140807206E+01 2.244044171920795E+01 3.886798520195649E+01 + 4.871426484789990E+01 2.938552069184310E+01 5.089721484513885E+01 + 6.381596809752719E+01 3.849520170026189E+01 6.667564519246550E+01 + 3.561379211431203E-01 2.656153612779346E-01 2.294148962100036E-01 + 3.561613937720323E-01 2.656328676720546E-01 2.294300166743124E-01 + 3.562070760076149E-01 2.656669384710005E-01 2.294594439964610E-01 + 3.562959823953759E-01 2.657332467771456E-01 2.295167152066009E-01 + 3.564690112693766E-01 2.658622954522536E-01 2.296281759604651E-01 + 3.568057586279408E-01 2.661134489127369E-01 2.298450999545908E-01 + 3.574611335424157E-01 2.666022416931350E-01 2.302672756316439E-01 + 3.587366187618226E-01 2.675535261457145E-01 2.310889104305679E-01 + 3.612189575102154E-01 2.694049080523427E-01 2.326879692572514E-01 + 3.660500645806977E-01 2.730080521538743E-01 2.358000442746959E-01 + 3.754523250665299E-01 2.800204613007506E-01 2.418567388456448E-01 + 3.937509263920052E-01 2.936679537844106E-01 2.536442275533838E-01 + 4.293635124263147E-01 3.202285903916628E-01 2.765849402486423E-01 + 4.724715736851333E-01 3.523795144732659E-01 3.043540454530612E-01 + 5.290153060899803E-01 3.945510525743172E-01 3.407780647188197E-01 + 6.031822618961151E-01 4.498663717015223E-01 3.885545115904758E-01 + 7.004651454200478E-01 5.224220494862096E-01 4.512216450286022E-01 + 8.280685952834739E-01 6.175914611764746E-01 5.334205080772019E-01 + 9.954427501936970E-01 7.424227245318924E-01 6.412386372270459E-01 + 1.214983113419729E+00 9.061606738808392E-01 7.826608971249639E-01 + 1.502948546979472E+00 1.120931520032295E+00 9.681608288371739E-01 + 1.880665380944419E+00 1.402640901028088E+00 1.211476306118280E+00 + 2.376106812566465E+00 1.772151832158228E+00 1.530626943738896E+00 + 3.025964563387502E+00 2.256829792622395E+00 1.949248605754948E+00 + 3.878366218452042E+00 2.892569375863489E+00 2.498343845594010E+00 + 4.996439490085390E+00 3.726452594552656E+00 3.218577913181167E+00 + 6.462987370786357E+00 4.820235710693311E+00 4.163290368283093E+00 + 8.386620410727057E+00 6.254922820760108E+00 5.402445336076542E+00 + 1.090980026802761E+01 8.136764909395103E+00 7.027812955519560E+00 + 1.421939022624725E+01 1.060512865345441E+01 9.159765751575506E+00 + 1.856049403613055E+01 1.384281772937787E+01 1.195619326141376E+01 + 2.425460796748923E+01 1.808961100592916E+01 1.562419511973208E+01 + 3.172343038760199E+01 2.366002024252868E+01 2.043541857726591E+01 + 4.152009217126745E+01 3.096658240427140E+01 2.674617632833653E+01 + 5.437012082438974E+01 4.055041159093992E+01 3.502383454650455E+01 + 7.122517206861912E+01 5.312127321450441E+01 4.588142539051700E+01 + 3.561379211431203E-01 3.314868087634006E-01 1.153222023970711E-01 + 3.561613937720323E-01 3.315086566666691E-01 1.153298031469534E-01 + 3.562070760076149E-01 3.315511768746880E-01 1.153445956632934E-01 + 3.562959823953759E-01 3.316339293506472E-01 1.153733847358270E-01 + 3.564690112693766E-01 3.317949815325725E-01 1.154294137898632E-01 + 3.568057586279408E-01 3.321084199524174E-01 1.155384570698272E-01 + 3.574611335424157E-01 3.327184312038043E-01 1.157506761963118E-01 + 3.587366187618226E-01 3.339056300385956E-01 1.161636952990088E-01 + 3.612189575102154E-01 3.362161465579633E-01 1.169675096489140E-01 + 3.660500645806977E-01 3.407128546323189E-01 1.185318864656142E-01 + 3.754523250665299E-01 3.494643105671622E-01 1.215764636430650E-01 + 3.937509263920052E-01 3.664963214767163E-01 1.275017944780022E-01 + 4.293635124263147E-01 3.996438797553564E-01 1.390336241729403E-01 + 4.724715736851333E-01 4.397680923435474E-01 1.529925885805441E-01 + 5.290153060899803E-01 4.923979873861538E-01 1.713022022598387E-01 + 6.031822618961151E-01 5.614312636431681E-01 1.953184504066135E-01 + 7.004651454200478E-01 6.519804320752784E-01 2.268199438378877E-01 + 8.280685952834739E-01 7.707514414826961E-01 2.681396405005772E-01 + 9.954427501936970E-01 9.265403119926814E-01 3.223376211779526E-01 + 1.214983113419729E+00 1.130884556399357E+00 3.934277149287513E-01 + 1.502948546979472E+00 1.398917632738137E+00 4.866747578320863E-01 + 1.880665380944419E+00 1.750489707695407E+00 6.089844996182789E-01 + 2.376106812566465E+00 2.211637733073932E+00 7.694150341427151E-01 + 3.025964563387502E+00 2.816513707186379E+00 9.798476295510874E-01 + 3.878366218452042E+00 3.609913925604664E+00 1.255866638909676E+00 + 4.996439490085390E+00 4.650596534150724E+00 1.617913656290451E+00 + 6.462987370786357E+00 6.015633077610884E+00 2.092801393547801E+00 + 8.386620410727057E+00 7.806116313979097E+00 2.715699393451005E+00 + 1.090980026802761E+01 1.015464700722289E+01 3.532738638398170E+00 + 1.421939022624725E+01 1.323515416030626E+01 4.604427948506031E+00 + 1.856049403613055E+01 1.727577596162957E+01 6.010135182891985E+00 + 2.425460796748923E+01 2.257575539033741E+01 7.853965115847197E+00 + 3.172343038760199E+01 2.952760174614507E+01 1.027246929545094E+01 + 4.152009217126745E+01 3.864615935657313E+01 1.344475886631498E+01 + 5.437012082438974E+01 5.060673625068593E+01 1.760576929841667E+01 + 7.122517206861912E+01 6.629511655728028E+01 2.306365938987619E+01 + 3.190906466620158E-01 3.849650540488245E-01 8.383430840517343E-17 + 3.191116775489103E-01 3.849904266399510E-01 8.383983382522693E-17 + 3.191526076864430E-01 3.850398065662270E-01 8.385058735187801E-17 + 3.192322655804184E-01 3.851359093689272E-01 8.387151577619973E-17 + 3.193872951125696E-01 3.853229438459577E-01 8.391224650192369E-17 + 3.196890123014077E-01 3.856869487929017E-01 8.399151630229170E-17 + 3.202762117902872E-01 3.863953721996629E-01 8.414579052988517E-17 + 3.214190145622078E-01 3.877740999544929E-01 8.444603775126161E-17 + 3.236431278324724E-01 3.904573684684867E-01 8.503037640166680E-17 + 3.279716786205086E-01 3.956795233812079E-01 8.616761143349164E-17 + 3.363958682403027E-01 4.058428379321875E-01 8.838088881419006E-17 + 3.527909561635846E-01 4.256225963630472E-01 9.268835088388279E-17 + 3.846989402123482E-01 4.641177980633091E-01 1.010714978150580E-16 + 4.233226821022055E-01 5.107151867355817E-01 1.112190678652257E-16 + 4.739844484196876E-01 5.718357799357835E-01 1.245293738432925E-16 + 5.404361809764745E-01 6.520060860320879E-01 1.419881589863260E-16 + 6.275992051025193E-01 7.571634093342758E-01 1.648883972808391E-16 + 7.419286963359504E-01 8.950955588111338E-01 1.949260493653963E-16 + 8.918917419823833E-01 1.076017602677102E+00 2.343256630789835E-16 + 1.088594402135376E+00 1.313328382511873E+00 2.860051204616714E-16 + 1.346604209448087E+00 1.624602813324227E+00 3.537917321473598E-16 + 1.685029020875480E+00 2.032893457959152E+00 4.427056828067102E-16 + 2.128932119686185E+00 2.568437768686345E+00 5.593318192259535E-16 + 2.711188368282849E+00 3.270897431970368E+00 7.123073151432481E-16 + 3.474918875995368E+00 4.192295659263769E+00 9.129613286400114E-16 + 4.476684490046975E+00 5.400869955601918E+00 1.176154024247461E-15 + 5.790674615309771E+00 6.986125696824585E+00 1.521377096609447E-15 + 7.514201581168667E+00 9.065464776510177E+00 1.974197298993798E-15 + 9.774907460863670E+00 1.179288023123864E+01 2.568149882419054E-15 + 1.274021707059214E+01 1.537036075635649E+01 3.347222170934347E-15 + 1.662973722468417E+01 2.006284971523849E+01 4.369111203274649E-15 + 2.173152051889918E+01 2.621786648601577E+01 5.709496697421120E-15 + 2.842339811561205E+01 3.429124327613948E+01 7.467645788035877E-15 + 3.720096140807205E+01 4.488088343841593E+01 9.773764616036040E-15 + 4.871426484789990E+01 5.877104138368625E+01 1.279864121907615E-14 + 6.381596809752718E+01 7.699040340052385E+01 1.676629386235049E-14 + 1.989931522129461E-01 2.293570682355095E-01 3.972580952589448E-01 + 1.990062676161105E-01 2.293721848884449E-01 3.972842780698693E-01 + 1.990317927049007E-01 2.294016047929303E-01 3.973352348391919E-01 + 1.990814694208641E-01 2.294588615668757E-01 3.974344064807427E-01 + 1.991781498331907E-01 2.295702942251377E-01 3.976274135064751E-01 + 1.993663084492824E-01 2.297871635398359E-01 3.980030421781349E-01 + 1.997325011863379E-01 2.302092328002409E-01 3.987340875814693E-01 + 2.004451824520569E-01 2.310306604919675E-01 4.001568420782838E-01 + 2.018321968166533E-01 2.326293162483422E-01 4.029257950721374E-01 + 2.045315926618017E-01 2.357406068136970E-01 4.083147084084416E-01 + 2.097851344525707E-01 2.417957746904995E-01 4.188025668194225E-01 + 2.200095338851181E-01 2.535802921587610E-01 4.392139498171343E-01 + 2.399081752055241E-01 2.765152222524076E-01 4.789384140073707E-01 + 2.639949362225678E-01 3.042773277757508E-01 5.270237912988897E-01 + 2.955889195675879E-01 3.406921657403302E-01 5.900961408029294E-01 + 3.370299328652704E-01 3.884565697359711E-01 6.728265153166253E-01 + 3.913870414445970E-01 4.511079068441559E-01 7.813418143501268E-01 + 4.626858591612464E-01 5.332860502540818E-01 9.236785340078002E-01 + 5.562066799086065E-01 6.410770019881369E-01 1.110377939007388E+00 + 6.788755290334005E-01 7.824636139705385E-01 1.355266734470935E+00 + 8.397770953942396E-01 9.679167872311530E-01 1.676481052983193E+00 + 1.050827531116790E+00 1.211170932656976E+00 2.097809592012468E+00 + 1.327656945684372E+00 1.530241122864468E+00 2.650455372632510E+00 + 1.690766950681355E+00 1.948757264083075E+00 3.375346593010809E+00 + 2.167048981385576E+00 2.497714095013000E+00 4.326167715343439E+00 + 2.791775840050959E+00 3.217766615202938E+00 5.573335264430427E+00 + 3.611213951879053E+00 4.162240939265160E+00 7.209212780150471E+00 + 4.686049793819459E+00 5.401083556714078E+00 9.354951136153613E+00 + 6.095884252876329E+00 7.026041474264179E+00 1.216946080951171E+01 + 7.945127760011231E+00 9.157456874911414E+00 1.586118057546750E+01 + 1.037073278527658E+01 1.195317949704889E+01 2.070351420087930E+01 + 1.355233635229848E+01 1.562025677234574E+01 2.705507835697470E+01 + 1.772556371299756E+01 2.043026747817084E+01 3.538626128441402E+01 + 2.319947843468277E+01 2.673943449409611E+01 4.631405910943431E+01 + 3.037947122933909E+01 3.501500618599134E+01 6.064776974147560E+01 + 3.979728264081207E+01 4.586986018729320E+01 7.944892838047276E+01 + 2.448423563676757E-01 3.036358575905079E-01 3.128488774785658E-01 + 2.448584936376258E-01 3.036558698705446E-01 3.128694969778403E-01 + 2.448898998584750E-01 3.036948176038645E-01 3.129096264762011E-01 + 2.449510223848425E-01 3.037706173592132E-01 3.129877261728647E-01 + 2.450699785383855E-01 3.039181382139892E-01 3.131397231543396E-01 + 2.453014900171598E-01 3.042052420772362E-01 3.134355384182198E-01 + 2.457520557357703E-01 3.047640012331305E-01 3.140112516297277E-01 + 2.466289429979561E-01 3.058514536650298E-01 3.151316999039557E-01 + 2.483355337100837E-01 3.079678445629132E-01 3.173123070363373E-01 + 2.516568863905417E-01 3.120867469638400E-01 3.215561865398956E-01 + 2.581208754123923E-01 3.201029206325735E-01 3.298155896085500E-01 + 2.707010372002227E-01 3.357039312981428E-01 3.458899713136147E-01 + 2.951844436653345E-01 3.660664887782203E-01 3.771737995821164E-01 + 3.248209374797904E-01 4.028195340798057E-01 4.150420179729317E-01 + 3.636943622344165E-01 4.510275559186662E-01 4.647127835980164E-01 + 4.146836311275027E-01 5.142607751130442E-01 5.298646460996991E-01 + 4.815649403680027E-01 5.972021582515059E-01 6.153226641918237E-01 + 5.692914291533695E-01 7.059942318572212E-01 7.274157429744185E-01 + 6.843600024514057E-01 8.486939895845902E-01 8.744453440753469E-01 + 8.352924829846302E-01 1.035869582259202E+00 1.067300280657344E+00 + 1.033266725881592E+00 1.281382980817502E+00 1.320263128176157E+00 + 1.292944435491601E+00 1.603416575103656E+00 1.652067972578569E+00 + 1.633556991355226E+00 2.025819737040389E+00 2.087287831339529E+00 + 2.080329698131594E+00 2.579875072818821E+00 2.658154497861694E+00 + 2.666349937503512E+00 3.306615170352772E+00 3.406945584449314E+00 + 3.435017574860820E+00 4.259861417176871E+00 4.389115545026783E+00 + 4.443259094562806E+00 5.510209939527092E+00 5.677402556904655E+00 + 5.765743498284928E+00 7.150259855854608E+00 7.367215411695488E+00 + 7.500412190172579E+00 9.301471042148549E+00 9.583699361226330E+00 + 9.775732384608283E+00 1.212315928588126E+01 1.249100420542811E+01 + 1.276021121414967E+01 1.582429499749685E+01 1.630444100424105E+01 + 1.667487513958882E+01 2.067897927603889E+01 2.130642772315813E+01 + 2.180963887034370E+01 2.704674346538168E+01 2.786740472532357E+01 + 2.854477605525997E+01 3.539917555871109E+01 3.647326908320876E+01 + 3.737908183411086E+01 4.635484536671620E+01 4.776135945783967E+01 + 4.896681293022350E+01 6.072511496015515E+01 6.256765653700350E+01 + 2.596502903767807E-01 3.700662038743046E-01 2.136578224248128E-01 + 2.596674036201370E-01 3.700905944998480E-01 2.136719043590360E-01 + 2.597007092723294E-01 3.701380633328560E-01 2.136993105025513E-01 + 2.597655284562129E-01 3.702304467816988E-01 2.137526481116093E-01 + 2.598916790139341E-01 3.704102426831197E-01 2.138564533236939E-01 + 2.601371921824115E-01 3.707601599742876E-01 2.140584781659437E-01 + 2.606150078733181E-01 3.714411661022946E-01 2.144516572372684E-01 + 2.615449288054315E-01 3.727665345767571E-01 2.152168590827748E-01 + 2.633547332058304E-01 3.753459557021437E-01 2.167060885638701E-01 + 2.668769595098019E-01 3.803660036890169E-01 2.196044146204362E-01 + 2.737318871106270E-01 3.901359794182541E-01 2.252451127376874E-01 + 2.870728903163464E-01 4.091502250986702E-01 2.362229925997133E-01 + 3.130370400345129E-01 4.461555922372283E-01 2.575880512786208E-01 + 3.444659330529966E-01 4.909495769250342E-01 2.834498703962015E-01 + 3.856904016262420E-01 5.497046916198751E-01 3.173721516815353E-01 + 4.397634740741654E-01 6.267722605549442E-01 3.618671333519874E-01 + 5.106897289211707E-01 7.278598035273204E-01 4.202300534988067E-01 + 6.037218685590129E-01 8.604537270855095E-01 4.967831909580359E-01 + 7.257497272731739E-01 1.034373757660980E+00 5.971959674282519E-01 + 8.858105230404270E-01 1.262500177210653E+00 7.289048171645207E-01 + 1.095758141654776E+00 1.561727719457262E+00 9.016639192295506E-01 + 1.371141019457850E+00 1.954216770991472E+00 1.128267578786808E+00 + 1.732353639480011E+00 2.469034539495098E+00 1.425497756015979E+00 + 2.206146919237137E+00 3.144307731781717E+00 1.815366915359196E+00 + 2.827609347458063E+00 4.030046166075383E+00 2.326748238830243E+00 + 3.642765590046031E+00 5.191846431429322E+00 2.997513934776919E+00 + 4.711985014512857E+00 6.715749882285969E+00 3.877340002348004E+00 + 6.114452563589863E+00 8.714614744677203E+00 5.031385168723268E+00 + 7.954033084861150E+00 1.133647424362139E+01 6.545116456216073E+00 + 1.036696342073085E+01 1.477549974331443E+01 8.530638754213834E+00 + 1.353194192449140E+01 1.928638081543198E+01 1.113499715548329E+01 + 1.768336261839050E+01 2.520318720392910E+01 1.455106691662501E+01 + 2.312867409752263E+01 3.296410957790926E+01 1.903183753840224E+01 + 3.027114875646134E+01 4.314391133921795E+01 2.490914882559085E+01 + 3.963974859672469E+01 5.649649482168845E+01 3.261826649357215E+01 + 5.192829943633307E+01 7.401073427711616E+01 4.273011735781490E+01 + 2.448423563676756E-01 4.227530042371372E-01 1.065319274339713E-01 + 2.448584936376258E-01 4.227808673873406E-01 1.065389488272335E-01 + 2.448898998584750E-01 4.228350944190221E-01 1.065526138045279E-01 + 2.449510223848425E-01 4.229406306180351E-01 1.065792084699288E-01 + 2.450699785383855E-01 4.231460242926789E-01 1.066309667870153E-01 + 2.453014900171598E-01 4.235457597576498E-01 1.067316983941718E-01 + 2.457520557357702E-01 4.243237216020572E-01 1.069277414120195E-01 + 2.466289429979561E-01 4.258377844871147E-01 1.073092787063374E-01 + 2.483355337100837E-01 4.287844411083724E-01 1.080518234220518E-01 + 2.516568863905416E-01 4.345191997695174E-01 1.094969577851839E-01 + 2.581208754123923E-01 4.456801394814339E-01 1.123094662891279E-01 + 2.707010372002226E-01 4.674014677209324E-01 1.177831469976905E-01 + 2.951844436653344E-01 5.096753364691234E-01 1.284359789650521E-01 + 3.248209374797902E-01 5.608466982424193E-01 1.413309406672577E-01 + 3.636943622344163E-01 6.279668540185956E-01 1.582449294333636E-01 + 4.146836311275026E-01 7.160066316461126E-01 1.804305723679235E-01 + 4.815649403680025E-01 8.314861378401934E-01 2.095309081447874E-01 + 5.692914291533693E-01 9.829576284571886E-01 2.477010682264260E-01 + 6.843600024514055E-01 1.181638876982570E+00 2.977678829817482E-01 + 8.352924829846300E-01 1.442243947645122E+00 3.634392329153724E-01 + 1.033266725881591E+00 1.784072899089213E+00 4.495786492769072E-01 + 1.292944435491601E+00 2.232441120583522E+00 5.625655005995226E-01 + 1.633556991355226E+00 2.820554155470355E+00 7.107674400951258E-01 + 2.080329698131594E+00 3.591966858741506E+00 9.051601027204825E-01 + 2.666349937503512E+00 4.603809010620713E+00 1.160139945839856E+00 + 3.435017574860819E+00 5.931016270726812E+00 1.494590431362963E+00 + 4.443259094562805E+00 7.671879811553704E+00 1.933280509363655E+00 + 5.765743498284928E+00 9.955325629607827E+00 2.508698972982411E+00 + 7.500412190172578E+00 1.295046263012897E+01 3.263460534452804E+00 + 9.775732384608283E+00 1.687910660361963E+01 4.253461812984344E+00 + 1.276021121414967E+01 2.203220760292584E+01 5.552020962690768E+00 + 1.667487513958882E+01 2.879139731017142E+01 7.255307515802569E+00 + 2.180963887034370E+01 3.765725216236356E+01 9.489464567999537E+00 + 2.854477605525997E+01 4.928636536447990E+01 1.241995076526466E+01 + 3.737908183411086E+01 6.453997329312742E+01 1.626379394715582E+01 + 4.896681293022349E+01 8.454773749638211E+01 2.130566393472313E+01 + 1.989931522129460E-01 4.587141364710194E-01 1.024899735040034E-16 + 1.990062676161105E-01 4.587443697768902E-01 1.024967284968655E-16 + 1.990317927049007E-01 4.588032095858611E-01 1.025098750079123E-16 + 1.990814694208640E-01 4.589177231337518E-01 1.025354606386047E-16 + 1.991781498331907E-01 4.591405884502759E-01 1.025852551807160E-16 + 1.993663084492824E-01 4.595743270796722E-01 1.026821649053137E-16 + 1.997325011863378E-01 4.604184656004822E-01 1.028707698070442E-16 + 2.004451824520568E-01 4.620613209839354E-01 1.032378311015061E-16 + 2.018321968166533E-01 4.652586324966849E-01 1.039522027464411E-16 + 2.045315926618017E-01 4.714812136273945E-01 1.053425069130389E-16 + 2.097851344525706E-01 4.835915493809995E-01 1.080483053435391E-16 + 2.200095338851180E-01 5.071605843175224E-01 1.133143077927830E-16 + 2.399081752055240E-01 5.530304445048156E-01 1.235629580554396E-16 + 2.639949362225677E-01 6.085546555515020E-01 1.359686688599617E-16 + 2.955889195675878E-01 6.813843314806609E-01 1.522409198389900E-16 + 3.370299328652703E-01 7.769131394719427E-01 1.735848118655529E-16 + 3.913870414445969E-01 9.022158136883124E-01 2.015810446810808E-16 + 4.626858591612462E-01 1.066572100508165E+00 2.383029813778088E-16 + 5.562066799086064E-01 1.282154003976275E+00 2.864701988618183E-16 + 6.788755290334004E-01 1.564927227941078E+00 3.496498960360852E-16 + 8.397770953942395E-01 1.935833574462308E+00 4.325210757208411E-16 + 1.050827531116790E+00 2.422341865313954E+00 5.412210652665380E-16 + 1.327656945684372E+00 3.060482245728938E+00 6.838000387067829E-16 + 1.690766950681354E+00 3.897514528166154E+00 8.708172017464171E-16 + 2.167048981385575E+00 4.995428190026005E+00 1.116122792237650E-15 + 2.791775840050958E+00 6.435533230405882E+00 1.437883810040597E-15 + 3.611213951879052E+00 8.324481878530330E+00 1.859929440432737E-15 + 4.686049793819458E+00 1.080216711342817E+01 2.413515811303135E-15 + 6.095884252876328E+00 1.405208294852837E+01 3.139640779659553E-15 + 7.945127760011230E+00 1.831491374982285E+01 4.092080177402689E-15 + 1.037073278527658E+01 2.390635899409781E+01 5.341370376618146E-15 + 1.355233635229848E+01 3.124051354469152E+01 6.980032117778818E-15 + 1.772556371299756E+01 4.086053495634173E+01 9.129422470500738E-15 + 2.319947843468277E+01 5.347886898819227E+01 1.194872237378752E-14 + 3.037947122933909E+01 7.003001237198275E+01 1.564672536082391E-14 + 3.979728264081206E+01 9.173972037458648E+01 2.049730052531326E-14 + 7.787945231879144E-02 2.469573467891381E-01 4.277426719411944E-01 + 7.788458526132755E-02 2.469736234556040E-01 4.277708639544911E-01 + 7.789457495149155E-02 2.470053009687951E-01 4.278257310167956E-01 + 7.791401680358143E-02 2.470669514820670E-01 4.279325128380952E-01 + 7.795185437476526E-02 2.471869351993414E-01 4.281403307324955E-01 + 7.802549354177842E-02 2.474204465141217E-01 4.285447841938372E-01 + 7.816880947746689E-02 2.478749042969699E-01 4.293319281636254E-01 + 7.844772976208383E-02 2.487593662622739E-01 4.308638612248941E-01 + 7.899056210516604E-02 2.504806987987453E-01 4.338452966347841E-01 + 8.004701790615164E-02 2.538307418953947E-01 4.396477414857261E-01 + 8.210308341820070E-02 2.603505679671270E-01 4.509404114984786E-01 + 8.610458105387436E-02 2.730393993580295E-01 4.729181121561967E-01 + 9.389226254284810E-02 2.977342977027599E-01 5.156909307770184E-01 + 1.033190379634092E-01 3.276267966524105E-01 5.674662577230126E-01 + 1.156838962116274E-01 3.668360167417377E-01 6.353786190428776E-01 + 1.319025619459415E-01 4.182657397168141E-01 7.244575122549026E-01 + 1.531761675887171E-01 4.857247812194808E-01 8.412999995674189E-01 + 1.810802075669770E-01 5.742090665162117E-01 9.945592773727767E-01 + 2.176812172962678E-01 6.902716219582984E-01 1.195585520254751E+00 + 2.656898179952113E-01 8.425078832398831E-01 1.459266459548787E+00 + 3.286614616224667E-01 1.042192261726271E+00 1.805129948565024E+00 + 4.112597428343021E-01 1.304113112092807E+00 2.258790168961511E+00 + 5.196017784898002E-01 1.647667937847021E+00 2.853844582353283E+00 + 6.617112330421708E-01 2.098299944171969E+00 3.634362112824792E+00 + 8.481125402632009E-01 2.689382327249094E+00 4.658146831773265E+00 + 1.092610328557113E+00 3.464689847976326E+00 6.001018849163092E+00 + 1.413311773047144E+00 4.481640731484173E+00 7.762429448200745E+00 + 1.833967588446002E+00 5.815548983138087E+00 1.007282631270070E+01 + 2.385730974826318E+00 7.565202041792098E+00 1.310331430590774E+01 + 3.109464781433045E+00 9.860176843740913E+00 1.707832726497341E+01 + 4.058767753965604E+00 1.287043611516000E+01 2.229224926702655E+01 + 5.303943985105574E+00 1.681891558145728E+01 2.913121631529588E+01 + 6.937209540420978E+00 2.199803428521654E+01 3.810171304863720E+01 + 9.079521855311176E+00 2.879135074452250E+01 4.986808230804905E+01 + 1.188953767888244E+01 3.770196877742833E+01 6.530172546788143E+01 + 1.557536297794749E+01 4.938979668946099E+01 8.554563724164367E+01 + 1.173778669539042E-01 3.196957251688385E-01 3.661065600124092E-01 + 1.173856031902046E-01 3.197167959357413E-01 3.661306896625118E-01 + 1.174006593890872E-01 3.197578036874153E-01 3.661776505872826E-01 + 1.174299616383969E-01 3.198376126333881E-01 3.662690455493293E-01 + 1.174869894328155E-01 3.199929361416831E-01 3.664469176659518E-01 + 1.175979764530232E-01 3.202952254644525E-01 3.667930909031108E-01 + 1.178139784706383E-01 3.208835384356407E-01 3.674668103842789E-01 + 1.182343598046582E-01 3.220285082575894E-01 3.687779976471373E-01 + 1.190525024680627E-01 3.242568390226338E-01 3.713298194161940E-01 + 1.206447649295804E-01 3.285935978640083E-01 3.762961537648328E-01 + 1.237436129175441E-01 3.370337619290882E-01 3.859615924571233E-01 + 1.297745651534927E-01 3.534599391852091E-01 4.047723890238165E-01 + 1.415119543424968E-01 3.854284290355244E-01 4.413818051857295E-01 + 1.557197428948564E-01 4.241254115431030E-01 4.856965020470276E-01 + 1.743557327888562E-01 4.748832456903289E-01 5.438229472583526E-01 + 1.988000802007964E-01 5.414609879422663E-01 6.200659066422383E-01 + 2.308631003995790E-01 6.287892957362595E-01 7.200718305290180E-01 + 2.729193372441506E-01 7.433355852950725E-01 8.512470222223537E-01 + 3.280834186862928E-01 8.935829997147289E-01 1.023306138792927E+00 + 4.004407218991713E-01 1.090658659055063E+00 1.248991645426345E+00 + 4.953499307787151E-01 1.349157719783967E+00 1.545017505140038E+00 + 6.198398928166818E-01 1.688224272301901E+00 1.933306992251726E+00 + 7.831301660280374E-01 2.132969126353670E+00 2.442616300388778E+00 + 9.973138069332166E-01 2.716329483595243E+00 3.110664187249105E+00 + 1.278252965948651E+00 3.481508222147669E+00 3.986925374720776E+00 + 1.646753616767454E+00 4.485173443249114E+00 5.136294579790649E+00 + 2.130106418597481E+00 5.801655234097509E+00 6.643892529409590E+00 + 2.764107825427604E+00 7.528450453457031E+00 8.621369886267315E+00 + 3.595711122937661E+00 9.793443216996360E+00 1.121517594568350E+01 + 4.686503725255815E+00 1.276437582172544E+01 1.461740447211013E+01 + 6.117268255452522E+00 1.666127151336993E+01 1.908001990321006E+01 + 7.993965197216268E+00 2.177272911001308E+01 2.493351749492175E+01 + 1.045558018479302E+01 2.847729623976747E+01 3.261139935258604E+01 + 1.368441709085608E+01 3.727150406551638E+01 4.268227900985637E+01 + 1.791959920445612E+01 4.880663971047729E+01 5.589199217703386E+01 + 2.347477837800819E+01 6.393697970063067E+01 7.321883232382595E+01 + 1.348999066177580E-01 3.875569809257786E-01 2.856895786622495E-01 + 1.349087977109562E-01 3.875825243477381E-01 2.857084081242806E-01 + 1.349261014827489E-01 3.876322367435636E-01 2.857450538670143E-01 + 1.349597779398029E-01 3.877289865957418E-01 2.858163735073893E-01 + 1.350253187810308E-01 3.879172803550963E-01 2.859551751995849E-01 + 1.351528738222864E-01 3.882837361068481E-01 2.862253099009809E-01 + 1.354011203849622E-01 3.889969292495865E-01 2.867510438149128E-01 + 1.358842557849725E-01 3.903849398249898E-01 2.877742227949907E-01 + 1.368245298907936E-01 3.930862744873427E-01 2.897655252343632E-01 + 1.386544835519387E-01 3.983435895880643E-01 2.936409815154808E-01 + 1.422159241799500E-01 4.085753326051256E-01 3.011833623662710E-01 + 1.491471703727703E-01 4.284882659487661E-01 3.158622813817012E-01 + 1.626367041888410E-01 4.672426515590253E-01 3.444302717449805E-01 + 1.789654158846400E-01 5.141537752647126E-01 3.790110426397180E-01 + 2.003833659775424E-01 5.756858866185359E-01 4.243697481515637E-01 + 2.284767388490885E-01 6.563959704658834E-01 4.838655925898797E-01 + 2.653260916525235E-01 7.622613063258578E-01 5.619047576296285E-01 + 3.136604375582556E-01 9.011221376185455E-01 6.642667181597502E-01 + 3.770593527738627E-01 1.083262309476127E+00 7.985322623673708E-01 + 4.602180751108718E-01 1.322170876387868E+00 9.746449146456913E-01 + 5.692952269391951E-01 1.635541083309887E+00 1.205647339545886E+00 + 7.123689144203711E-01 2.046580703427932E+00 1.508647263852512E+00 + 9.000349811112123E-01 2.585730774413555E+00 1.906084451663362E+00 + 1.146191721789648E+00 3.292920020453448E+00 2.427392562932561E+00 + 1.469069171346103E+00 4.220521919494666E+00 3.111178970470243E+00 + 1.892579196481946E+00 5.437233412101746E+00 4.008083969694094E+00 + 2.448086376178003E+00 7.033162503851445E+00 5.184531130335269E+00 + 3.176730819942671E+00 9.126501542209272E+00 6.727646536067615E+00 + 4.132474948613727E+00 1.187228038173691E+01 8.751711224285936E+00 + 5.386099878174313E+00 1.547384768519296E+01 1.140662468498592E+01 + 7.030447373356976E+00 2.019793065013972E+01 1.488900621401227E+01 + 9.187295583021434E+00 2.639438846401557E+01 1.945675627186407E+01 + 1.201637776495771E+01 3.452212240180767E+01 2.544815624257285E+01 + 1.572721191466100E+01 4.518306143307287E+01 3.330692109493239E+01 + 2.059461738436690E+01 5.916674026634286E+01 4.361506031224713E+01 + 2.697906763214134E+01 7.750877122051835E+01 5.713598072655874E+01 + 1.348999066177579E-01 4.411929231808699E-01 1.927894015646008E-01 + 1.349087977109562E-01 4.412220016843082E-01 1.928021080859019E-01 + 1.349261014827489E-01 4.412785940263689E-01 1.928268374122029E-01 + 1.349597779398029E-01 4.413887335728115E-01 1.928749654218141E-01 + 1.350253187810308E-01 4.416030862440184E-01 1.929686317546914E-01 + 1.351528738222864E-01 4.420202576337471E-01 1.931509243943734E-01 + 1.354011203849621E-01 4.428321531302123E-01 1.935057008168238E-01 + 1.358842557849725E-01 4.444122574072797E-01 1.941961637458055E-01 + 1.368245298907936E-01 4.474874432375706E-01 1.955399369678404E-01 + 1.386544835519387E-01 4.534723443786352E-01 1.981551772602059E-01 + 1.422159241799499E-01 4.651201093089675E-01 2.032449362125799E-01 + 1.491471703727703E-01 4.877888927482447E-01 2.131505828443237E-01 + 1.626367041888409E-01 5.319066909430432E-01 2.324288701092266E-01 + 1.789654158846399E-01 5.853100788731791E-01 2.557647095110576E-01 + 2.003833659775423E-01 6.553579258061264E-01 2.863737283360386E-01 + 2.284767388490885E-01 7.472378804329889E-01 3.265227890702557E-01 + 2.653260916525234E-01 8.677544477775250E-01 3.791852767852908E-01 + 3.136604375582556E-01 1.025832921624134E+00 4.482613040103228E-01 + 3.770593527738627E-01 1.233180379689667E+00 5.388665477848414E-01 + 4.602180751108716E-01 1.505152693946418E+00 6.577111097729840E-01 + 5.692952269391950E-01 1.861891765706803E+00 8.135964573065408E-01 + 7.123689144203710E-01 2.329817207560125E+00 1.018067248137360E+00 + 9.000349811112121E-01 2.943582944105780E+00 1.286266312157669E+00 + 1.146191721789647E+00 3.748643634683738E+00 1.638056108876780E+00 + 1.469069171346103E+00 4.804620983894479E+00 2.099489714276323E+00 + 1.892579196481946E+00 6.189719244307135E+00 2.704740276338611E+00 + 2.448086376178003E+00 8.006516917507314E+00 3.498631832111891E+00 + 3.176730819942671E+00 1.038956357902157E+01 4.539958915197284E+00 + 4.132474948613727E+00 1.351534443768548E+01 5.905840799292810E+00 + 5.386099878174313E+00 1.761535059122895E+01 7.697432847175187E+00 + 7.030447373356976E+00 2.299322294350885E+01 1.004741793989122E+01 + 9.187295583021433E+00 3.004723943868427E+01 1.312983279126039E+01 + 1.201637776495771E+01 3.929981098644745E+01 1.717295687123490E+01 + 1.572721191466100E+01 5.143617050659168E+01 2.247621847432786E+01 + 2.059461738436690E+01 6.735512035116787E+01 2.943236997364504E+01 + 2.697906763214133E+01 8.823559638959708E+01 3.855657452980575E+01 + 1.173778669539042E-01 4.769054440472977E-01 9.381133947129797E-02 + 1.173856031902046E-01 4.769368763207223E-01 9.381752246566175E-02 + 1.174006593890872E-01 4.769980495503960E-01 9.382955575797809E-02 + 1.174299616383968E-01 4.771171043822928E-01 9.385297485161642E-02 + 1.174869894328155E-01 4.773488079080603E-01 9.389855289729357E-02 + 1.175979764530232E-01 4.777997473869350E-01 9.398725651152517E-02 + 1.178139784706383E-01 4.786773620582451E-01 9.415989074936604E-02 + 1.182343598046582E-01 4.803853684479735E-01 9.449587007031097E-02 + 1.190525024680627E-01 4.837094763084290E-01 9.514975023634545E-02 + 1.206447649295804E-01 4.901788274387247E-01 9.642232638874308E-02 + 1.237436129175441E-01 5.027694249175092E-01 9.889900353506557E-02 + 1.297745651534927E-01 5.272731412377470E-01 1.037190920425858E-01 + 1.415119543424968E-01 5.749620705768379E-01 1.130999082926274E-01 + 1.557197428948564E-01 6.326882150735179E-01 1.244551297633435E-01 + 1.743557327888562E-01 7.084061103318227E-01 1.393494809702560E-01 + 1.988000802007964E-01 8.077233211439415E-01 1.588860173951036E-01 + 2.308631003995790E-01 9.379951456558224E-01 1.845115884708185E-01 + 2.729193372441506E-01 1.108869338787951E+00 2.181239892913310E-01 + 3.280834186862928E-01 1.333000611900604E+00 2.622125087463951E-01 + 4.004407218991713E-01 1.626987823581273E+00 3.200422828859839E-01 + 4.953499307787151E-01 2.012603268634912E+00 3.958961064747850E-01 + 6.198398928166818E-01 2.518405104755030E+00 4.953916109730821E-01 + 7.831301660280374E-01 3.181852331011478E+00 6.258972987157913E-01 + 9.973138069332166E-01 4.052078950597821E+00 7.970782442175959E-01 + 1.278252965948651E+00 5.193532768574819E+00 1.021611876503894E+00 + 1.646753616767454E+00 6.690748309043578E+00 1.316126852337735E+00 + 2.130106418597481E+00 8.654607327531110E+00 1.702434552022607E+00 + 2.764107825427604E+00 1.123055056365817E+01 2.209144400692616E+00 + 3.595711122937661E+00 1.460934888537226E+01 2.873782643597505E+00 + 4.686503725255815E+00 1.904123152110236E+01 3.745571489011050E+00 + 6.117268255452522E+00 2.485441769757758E+01 4.889074438323344E+00 + 7.993965197216268E+00 3.247942411131251E+01 6.388977771527419E+00 + 1.045558018479302E+01 4.248094841218264E+01 8.356362298440706E+00 + 1.368441709085608E+01 5.559968994670913E+01 1.093692985306402E+01 + 1.791959920445612E+01 7.280720494867109E+01 1.432179377411083E+01 + 2.347477837800819E+01 9.537785867818181E+01 1.876163250008321E+01 + 7.787945231879138E-02 4.939146935782766E-01 1.081205402326676E-16 + 7.788458526132749E-02 4.939472469112083E-01 1.081276663295194E-16 + 7.789457495149149E-02 4.940106019375906E-01 1.081415350800708E-16 + 7.791401680358137E-02 4.941339029641343E-01 1.081685263272932E-16 + 7.795185437476521E-02 4.943738703986832E-01 1.082210564686294E-16 + 7.802549354177836E-02 4.948408930282438E-01 1.083232901937351E-16 + 7.816880947746684E-02 4.957498085939402E-01 1.085222566210690E-16 + 7.844772976208378E-02 4.975187325245480E-01 1.089094834306669E-16 + 7.899056210516599E-02 5.009613975974910E-01 1.096631010338001E-16 + 8.004701790615158E-02 5.076614837907897E-01 1.111297853585297E-16 + 8.210308341820065E-02 5.207011359342543E-01 1.139842342188854E-16 + 8.610458105387431E-02 5.460787987160592E-01 1.195395389010215E-16 + 9.389226254284805E-02 5.954685954055202E-01 1.303512267683310E-16 + 1.033190379634092E-01 6.552535933048215E-01 1.434384791921282E-16 + 1.156838962116273E-01 7.336720334834759E-01 1.606046907394984E-16 + 1.319025619459414E-01 8.365314794336289E-01 1.831211677926374E-16 + 1.531761675887170E-01 9.714495624389623E-01 2.126554501522301E-16 + 1.810802075669769E-01 1.148418133032424E+00 2.513948067770512E-16 + 2.176812172962676E-01 1.380543243916598E+00 3.022082219612407E-16 + 2.656898179952111E-01 1.685015766479768E+00 3.688588684261972E-16 + 3.286614616224665E-01 2.084384523452543E+00 4.562828027965607E-16 + 4.112597428343019E-01 2.608226224185617E+00 5.709545232698517E-16 + 5.196017784897999E-01 3.295335875694045E+00 7.213664621857722E-16 + 6.617112330421705E-01 4.196599888343941E+00 9.186579240655659E-16 + 8.481125402632005E-01 5.378764654498192E+00 1.177440047420976E-15 + 1.092610328557112E+00 6.929379695952656E+00 1.516877885887279E-15 + 1.413311773047144E+00 8.963281462968354E+00 1.962109746143859E-15 + 1.833967588446002E+00 1.163109796627618E+01 2.546108896866747E-15 + 2.385730974826316E+00 1.513040408358421E+01 3.312125524357221E-15 + 3.109464781433043E+00 1.972035368748184E+01 4.316889782773601E-15 + 4.058767753965602E+00 2.574087223032003E+01 5.634813152529142E-15 + 5.303943985105572E+00 3.363783116291458E+01 7.363499253769817E-15 + 6.937209540420975E+00 4.399606857043311E+01 9.630972238315964E-15 + 9.079521855311171E+00 5.758270148904505E+01 1.260515808498679E-14 + 1.188953767888243E+01 7.540393755485673E+01 1.650632097020087E-14 + 1.557536297794748E+01 9.877959337892206E+01 2.162337573461902E-14 + 4.786217425729569E-01 7.235012294810542E-02 -1.253140888799735E-01 + 4.786532879655863E-01 7.235489145908637E-02 -1.253223481832690E-01 + 4.787146813469174E-01 7.236417189558227E-02 -1.253384223707963E-01 + 4.788341646361426E-01 7.238223340406956E-02 -1.253697058211576E-01 + 4.790667020220067E-01 7.241738456198991E-02 -1.254305894126206E-01 + 4.795192643524810E-01 7.248579545380499E-02 -1.255490805530354E-01 + 4.804000374041059E-01 7.261893616369390E-02 -1.257796870271188E-01 + 4.821141906073905E-01 7.287805350830685E-02 -1.262284914331108E-01 + 4.854502613453749E-01 7.338234553390358E-02 -1.271019508432961E-01 + 4.919428945286341E-01 7.436379448885604E-02 -1.288018702983091E-01 + 5.045788033456718E-01 7.627388229965869E-02 -1.321102394335373E-01 + 5.291707042163662E-01 7.999127934467729E-02 -1.385489599874160E-01 + 5.770312575956869E-01 8.722604662195028E-02 -1.510799444925895E-01 + 6.349651482985138E-01 9.598353451349276E-02 -1.662483584674103E-01 + 7.109555388986518E-01 1.074705055675846E-01 -1.861443759581704E-01 + 8.106301748243169E-01 1.225376693058267E-01 -2.122414690787652E-01 + 9.413708246413719E-01 1.423008794720202E-01 -2.464723532072741E-01 + 1.112859963837561E+00 1.682237726494396E-01 -2.913721212697450E-01 + 1.337797845845958E+00 2.022261632042590E-01 -3.502659892894924E-01 + 1.632843065616633E+00 2.468262221378651E-01 -4.275155573830643E-01 + 2.019846272601023E+00 3.053269694213292E-01 -5.288418239587710E-01 + 2.527468400262042E+00 3.820608911818003E-01 -6.617488751119219E-01 + 3.193303255996177E+00 4.827107977584026E-01 -8.360796270796579E-01 + 4.066661667602988E+00 6.147306849407803E-01 -1.064744779289047E+00 + 5.212223376419471E+00 7.878977668037204E-01 -1.364678963274098E+00 + 6.714827131379749E+00 1.015036562942071E+00 -1.758094898555751E+00 + 8.685753731879824E+00 1.312968665026079E+00 -2.274128436571050E+00 + 1.127096733309399E+01 1.703758521102139E+00 -2.950996322377315E+00 + 1.466192535365497E+01 2.216347498737342E+00 -3.838826475041273E+00 + 1.910975755282273E+01 2.888697243511583E+00 -5.003370393446224E+00 + 2.494386436039706E+01 3.770601067084830E+00 -6.530872623264349E+00 + 3.259631182650281E+01 4.927371572432850E+00 -8.534457911224244E+00 + 4.263382984819577E+01 6.444677616782919E+00 -1.116250907066992E+01 + 5.579978341822164E+01 8.434888831174668E+00 -1.460965601178978E+01 + 7.306922522977817E+01 1.104539756317364E+01 -1.913118976921420E+01 + 9.572110675864127E+01 1.446953455454600E+01 -2.506196901034717E+01 + 4.366624927850383E-01 2.109670608544510E-01 -1.218018893744614E-01 + 4.366912726931707E-01 2.109809654437635E-01 -1.218099171928440E-01 + 4.367472839115252E-01 2.110080264400854E-01 -1.218255408663549E-01 + 4.368562924798338E-01 2.110606923265400E-01 -1.218559475300766E-01 + 4.370684440507827E-01 2.111631902376687E-01 -1.219151247266582E-01 + 4.374813316774567E-01 2.113626708216480E-01 -1.220302948955167E-01 + 4.382848901498171E-01 2.117508982786419E-01 -1.222544381223189E-01 + 4.398487689797631E-01 2.125064633334327E-01 -1.226906638100927E-01 + 4.428923769795259E-01 2.139769377724159E-01 -1.235396426232760E-01 + 4.488158216088903E-01 2.168387629216766E-01 -1.251919181435754E-01 + 4.603439803861968E-01 2.224084232760616E-01 -1.284075630484744E-01 + 4.827799873231008E-01 2.332480500335602E-01 -1.346658244748312E-01 + 5.264447578208595E-01 2.543440416678386E-01 -1.468456009237039E-01 + 5.792997681157088E-01 2.798801624878729E-01 -1.615888871532096E-01 + 6.486283222444570E-01 3.133752337144984E-01 -1.809272755424275E-01 + 7.395647990471329E-01 3.573098549666237E-01 -2.062929409490862E-01 + 8.588438308574121E-01 4.149377648017076E-01 -2.395644302052074E-01 + 1.015299061253791E+00 4.905268081873935E-01 -2.832057847517195E-01 + 1.220517352741252E+00 5.896750073206647E-01 -3.404490242109802E-01 + 1.489696894098452E+00 7.197251435713947E-01 -4.155335053834867E-01 + 1.842772757658597E+00 8.903085539276393E-01 -5.140198832719488E-01 + 2.305893263772081E+00 1.114058414771046E+00 -6.432019256610312E-01 + 2.913356490003838E+00 1.407545337812922E+00 -8.126466796828931E-01 + 3.710150340314305E+00 1.792504567159080E+00 -1.034902994372928E+00 + 4.755284288307994E+00 2.297445662056324E+00 -1.326430871436756E+00 + 6.126159538943101E+00 2.959763876245081E+00 -1.708820470687827E+00 + 7.924301256960680E+00 3.828509599813990E+00 -2.210391048047673E+00 + 1.028287738310875E+01 4.968020964670064E+00 -2.868288241291965E+00 + 1.337656087150955E+01 6.462688639466577E+00 -3.731235025684764E+00 + 1.743446573211479E+01 8.423205688248954E+00 -4.863140071550119E+00 + 2.275711490403628E+01 1.099476534888699E+01 -6.347830733856673E+00 + 2.973869657747423E+01 1.436781384766332E+01 -8.295261192614849E+00 + 3.889625723730799E+01 1.879215458890610E+01 -1.084965551055800E+01 + 5.090799342562633E+01 2.459544825685127E+01 -1.420018867193259E+01 + 6.666347805927931E+01 3.220747892222727E+01 -1.859499662566711E+01 + 8.732954099551750E+01 4.219198326855674E+01 -2.435955289774542E+01 + 4.162833480437567E-01 1.384964871102137E-01 -2.398829523446982E-01 + 4.163107847865768E-01 1.385056152497759E-01 -2.398987627461984E-01 + 4.163641819477480E-01 1.385233803592346E-01 -2.399295328183830E-01 + 4.164681030596610E-01 1.385579546678256E-01 -2.399894172774991E-01 + 4.166703534651952E-01 1.386252429002633E-01 -2.401059639148327E-01 + 4.170639715259118E-01 1.387561986997891E-01 -2.403327860131573E-01 + 4.178300277289294E-01 1.390110637899867E-01 -2.407742252984552E-01 + 4.193209199535226E-01 1.395070801133309E-01 -2.416333507718708E-01 + 4.222224820276844E-01 1.404724229652420E-01 -2.433053736381042E-01 + 4.278694780555239E-01 1.423511652119746E-01 -2.465594506637712E-01 + 4.388596148588688E-01 1.460075577803459E-01 -2.528925083646076E-01 + 4.602485278952471E-01 1.531235986514617E-01 -2.652178527021167E-01 + 5.018754529339348E-01 1.669727783367669E-01 -2.892053355602161E-01 + 5.522637070431757E-01 1.837368315196319E-01 -3.182415274137251E-01 + 6.183566806889694E-01 2.057258078157681E-01 -3.563275515650606E-01 + 7.050491300021210E-01 2.345681810340927E-01 -4.062840073900628E-01 + 8.187613803873277E-01 2.723999782793017E-01 -4.718106023604091E-01 + 9.679148071288001E-01 3.220229712268198E-01 -5.577601473691424E-01 + 1.163555511040310E+00 3.871121715391646E-01 -6.704979493341516E-01 + 1.420172377733784E+00 4.724879972532894E-01 -8.183732172091611E-01 + 1.756770104868121E+00 5.844732664130057E-01 -1.012337393093066E+00 + 2.198276664323291E+00 7.313614564114931E-01 -1.266755201202276E+00 + 2.777389434042454E+00 9.240309076967260E-01 -1.600468479894716E+00 + 3.536996721566467E+00 1.176750458934543E+00 -2.038191582704620E+00 + 4.533354014014713E+00 1.508236177878605E+00 -2.612341689899233E+00 + 5.840250183284829E+00 1.943037448004550E+00 -3.365439580952850E+00 + 7.554472189986932E+00 2.513355062607542E+00 -4.353258665896718E+00 + 9.802972994685843E+00 3.261425971950173E+00 -5.648955488542406E+00 + 1.275227352225179E+01 4.242651294605281E+00 -7.348487601054216E+00 + 1.662079497606799E+01 5.529699249278031E+00 -9.577720050325023E+00 + 2.169503481658613E+01 7.217886864682200E+00 -1.250174677291359E+01 + 2.835078437529717E+01 9.432239029616603E+00 -1.633711722843011E+01 + 3.708095945187753E+01 1.233674766693166E+01 -2.136787375928244E+01 + 4.853210499084891E+01 1.614651675327193E+01 -2.796658738192903E+01 + 6.355227732467421E+01 2.114369262831117E+01 -3.662194989185446E+01 + 8.325385007737525E+01 2.769835937061043E+01 -4.797496571619875E+01 + 3.561379211431202E-01 3.314868087634006E-01 -1.153222023970710E-01 + 3.561613937720323E-01 3.315086566666691E-01 -1.153298031469532E-01 + 3.562070760076149E-01 3.315511768746880E-01 -1.153445956632932E-01 + 3.562959823953758E-01 3.316339293506472E-01 -1.153733847358269E-01 + 3.564690112693766E-01 3.317949815325725E-01 -1.154294137898630E-01 + 3.568057586279407E-01 3.321084199524174E-01 -1.155384570698270E-01 + 3.574611335424156E-01 3.327184312038043E-01 -1.157506761963116E-01 + 3.587366187618226E-01 3.339056300385956E-01 -1.161636952990087E-01 + 3.612189575102154E-01 3.362161465579633E-01 -1.169675096489139E-01 + 3.660500645806977E-01 3.407128546323189E-01 -1.185318864656140E-01 + 3.754523250665298E-01 3.494643105671622E-01 -1.215764636430648E-01 + 3.937509263920051E-01 3.664963214767163E-01 -1.275017944780021E-01 + 4.293635124263147E-01 3.996438797553564E-01 -1.390336241729401E-01 + 4.724715736851332E-01 4.397680923435474E-01 -1.529925885805439E-01 + 5.290153060899803E-01 4.923979873861538E-01 -1.713022022598384E-01 + 6.031822618961151E-01 5.614312636431681E-01 -1.953184504066132E-01 + 7.004651454200478E-01 6.519804320752784E-01 -2.268199438378874E-01 + 8.280685952834739E-01 7.707514414826961E-01 -2.681396405005768E-01 + 9.954427501936970E-01 9.265403119926815E-01 -3.223376211779522E-01 + 1.214983113419729E+00 1.130884556399357E+00 -3.934277149287507E-01 + 1.502948546979472E+00 1.398917632738137E+00 -4.866747578320856E-01 + 1.880665380944419E+00 1.750489707695408E+00 -6.089844996182782E-01 + 2.376106812566465E+00 2.211637733073932E+00 -7.694150341427142E-01 + 3.025964563387502E+00 2.816513707186380E+00 -9.798476295510863E-01 + 3.878366218452042E+00 3.609913925604664E+00 -1.255866638909675E+00 + 4.996439490085390E+00 4.650596534150724E+00 -1.617913656290450E+00 + 6.462987370786357E+00 6.015633077610885E+00 -2.092801393547798E+00 + 8.386620410727057E+00 7.806116313979098E+00 -2.715699393451001E+00 + 1.090980026802761E+01 1.015464700722289E+01 -3.532738638398165E+00 + 1.421939022624725E+01 1.323515416030626E+01 -4.604427948506025E+00 + 1.856049403613055E+01 1.727577596162957E+01 -6.010135182891977E+00 + 2.425460796748923E+01 2.257575539033741E+01 -7.853965115847187E+00 + 3.172343038760199E+01 2.952760174614507E+01 -1.027246929545093E+01 + 4.152009217126745E+01 3.864615935657314E+01 -1.344475886631497E+01 + 5.437012082438974E+01 5.060673625068593E+01 -1.760576929841665E+01 + 7.122517206861912E+01 6.629511655728029E+01 -2.306365938987616E+01 + 3.561379211431203E-01 2.656153612779347E-01 -2.294148962100035E-01 + 3.561613937720323E-01 2.656328676720547E-01 -2.294300166743122E-01 + 3.562070760076149E-01 2.656669384710006E-01 -2.294594439964609E-01 + 3.562959823953759E-01 2.657332467771457E-01 -2.295167152066008E-01 + 3.564690112693766E-01 2.658622954522537E-01 -2.296281759604649E-01 + 3.568057586279408E-01 2.661134489127370E-01 -2.298450999545907E-01 + 3.574611335424157E-01 2.666022416931351E-01 -2.302672756316438E-01 + 3.587366187618226E-01 2.675535261457146E-01 -2.310889104305678E-01 + 3.612189575102154E-01 2.694049080523429E-01 -2.326879692572513E-01 + 3.660500645806977E-01 2.730080521538744E-01 -2.358000442746957E-01 + 3.754523250665299E-01 2.800204613007508E-01 -2.418567388456447E-01 + 3.937509263920052E-01 2.936679537844107E-01 -2.536442275533836E-01 + 4.293635124263147E-01 3.202285903916630E-01 -2.765849402486421E-01 + 4.724715736851333E-01 3.523795144732661E-01 -3.043540454530610E-01 + 5.290153060899803E-01 3.945510525743174E-01 -3.407780647188195E-01 + 6.031822618961151E-01 4.498663717015225E-01 -3.885545115904756E-01 + 7.004651454200478E-01 5.224220494862098E-01 -4.512216450286021E-01 + 8.280685952834739E-01 6.175914611764749E-01 -5.334205080772016E-01 + 9.954427501936970E-01 7.424227245318928E-01 -6.412386372270455E-01 + 1.214983113419729E+00 9.061606738808397E-01 -7.826608971249635E-01 + 1.502948546979472E+00 1.120931520032295E+00 -9.681608288371734E-01 + 1.880665380944419E+00 1.402640901028088E+00 -1.211476306118280E+00 + 2.376106812566465E+00 1.772151832158229E+00 -1.530626943738895E+00 + 3.025964563387502E+00 2.256829792622396E+00 -1.949248605754947E+00 + 3.878366218452042E+00 2.892569375863491E+00 -2.498343845594008E+00 + 4.996439490085390E+00 3.726452594552658E+00 -3.218577913181165E+00 + 6.462987370786357E+00 4.820235710693313E+00 -4.163290368283090E+00 + 8.386620410727057E+00 6.254922820760111E+00 -5.402445336076538E+00 + 1.090980026802761E+01 8.136764909395106E+00 -7.027812955519556E+00 + 1.421939022624725E+01 1.060512865345442E+01 -9.159765751575501E+00 + 1.856049403613055E+01 1.384281772937788E+01 -1.195619326141375E+01 + 2.425460796748923E+01 1.808961100592917E+01 -1.562419511973207E+01 + 3.172343038760199E+01 2.366002024252869E+01 -2.043541857726590E+01 + 4.152009217126745E+01 3.096658240427141E+01 -2.674617632833651E+01 + 5.437012082438974E+01 4.055041159093994E+01 -3.502383454650453E+01 + 7.122517206861912E+01 5.312127321450443E+01 -4.588142539051698E+01 + 3.190906466620158E-01 1.924825270244123E-01 -3.333895163755314E-01 + 3.191116775489103E-01 1.924952133199756E-01 -3.334114896840068E-01 + 3.191526076864430E-01 1.925199032831136E-01 -3.334542539545988E-01 + 3.192322655804184E-01 1.925679546844637E-01 -3.335374814231121E-01 + 3.193872951125696E-01 1.926614719229789E-01 -3.336994580316040E-01 + 3.196890123014077E-01 1.928434743964509E-01 -3.340146955627607E-01 + 3.202762117902872E-01 1.931976860998315E-01 -3.346282082296514E-01 + 3.214190145622078E-01 1.938870499772465E-01 -3.358222214902368E-01 + 3.236431278324724E-01 1.952286842342434E-01 -3.381460001885304E-01 + 3.279716786205086E-01 1.978397616906040E-01 -3.426685190054446E-01 + 3.363958682403027E-01 2.029214189660938E-01 -3.514702075932450E-01 + 3.527909561635846E-01 2.128112981815237E-01 -3.685999808750889E-01 + 3.846989402123482E-01 2.320588990316547E-01 -4.019378034713217E-01 + 4.233226821022055E-01 2.553575933677910E-01 -4.422923258115269E-01 + 4.739844484196876E-01 2.859178899678919E-01 -4.952243122172761E-01 + 5.404361809764745E-01 3.260030430160441E-01 -5.646538339258502E-01 + 6.275992051025193E-01 3.785817046671381E-01 -6.557227472995183E-01 + 7.419286963359504E-01 4.475477794055671E-01 -7.751754927450697E-01 + 8.918917419823833E-01 5.380088013385513E-01 -9.318585788376008E-01 + 1.088594402135376E+00 6.566641912559367E-01 -1.137375742766408E+00 + 1.346604209448087E+00 8.123014066621138E-01 -1.406947307398448E+00 + 1.685029020875480E+00 1.016446728979576E+00 -1.760537377779817E+00 + 2.128932119686185E+00 1.284218884343173E+00 -2.224332355721794E+00 + 2.711188368282849E+00 1.635448715985184E+00 -2.832680269259620E+00 + 3.474918875995368E+00 2.096147829631885E+00 -3.630634541097653E+00 + 4.476684490046975E+00 2.700434977800960E+00 -4.677290584087393E+00 + 5.790674615309771E+00 3.493062848412294E+00 -6.050162327481353E+00 + 7.514201581168667E+00 4.532732388255091E+00 -7.850922793570830E+00 + 9.774907460863670E+00 5.896440115619324E+00 -1.021293386403997E+01 + 1.274021707059214E+01 7.685180378178247E+00 -1.331112288033611E+01 + 1.662973722468417E+01 1.003142485761925E+01 -1.737493752570592E+01 + 2.173152051889918E+01 1.310893324300789E+01 -2.270533840991830E+01 + 2.842339811561205E+01 1.714562163806975E+01 -2.969708780448911E+01 + 3.720096140807205E+01 2.244044171920798E+01 -3.886798520195648E+01 + 4.871426484789990E+01 2.938552069184314E+01 -5.089721484513883E+01 + 6.381596809752718E+01 3.849520170026194E+01 -6.667564519246547E+01 + 2.448423563676756E-01 4.227530042371372E-01 -1.065319274339711E-01 + 2.448584936376258E-01 4.227808673873406E-01 -1.065389488272333E-01 + 2.448898998584750E-01 4.228350944190221E-01 -1.065526138045277E-01 + 2.449510223848425E-01 4.229406306180351E-01 -1.065792084699286E-01 + 2.450699785383855E-01 4.231460242926789E-01 -1.066309667870151E-01 + 2.453014900171598E-01 4.235457597576498E-01 -1.067316983941716E-01 + 2.457520557357702E-01 4.243237216020572E-01 -1.069277414120192E-01 + 2.466289429979561E-01 4.258377844871147E-01 -1.073092787063372E-01 + 2.483355337100837E-01 4.287844411083724E-01 -1.080518234220516E-01 + 2.516568863905416E-01 4.345191997695174E-01 -1.094969577851837E-01 + 2.581208754123923E-01 4.456801394814339E-01 -1.123094662891277E-01 + 2.707010372002226E-01 4.674014677209324E-01 -1.177831469976903E-01 + 2.951844436653344E-01 5.096753364691234E-01 -1.284359789650519E-01 + 3.248209374797903E-01 5.608466982424193E-01 -1.413309406672574E-01 + 3.636943622344164E-01 6.279668540185956E-01 -1.582449294333633E-01 + 4.146836311275027E-01 7.160066316461127E-01 -1.804305723679231E-01 + 4.815649403680026E-01 8.314861378401935E-01 -2.095309081447870E-01 + 5.692914291533694E-01 9.829576284571887E-01 -2.477010682264255E-01 + 6.843600024514056E-01 1.181638876982570E+00 -2.977678829817477E-01 + 8.352924829846301E-01 1.442243947645122E+00 -3.634392329153717E-01 + 1.033266725881591E+00 1.784072899089213E+00 -4.495786492769063E-01 + 1.292944435491601E+00 2.232441120583522E+00 -5.625655005995215E-01 + 1.633556991355226E+00 2.820554155470355E+00 -7.107674400951245E-01 + 2.080329698131594E+00 3.591966858741506E+00 -9.051601027204809E-01 + 2.666349937503512E+00 4.603809010620713E+00 -1.160139945839854E+00 + 3.435017574860820E+00 5.931016270726812E+00 -1.494590431362961E+00 + 4.443259094562806E+00 7.671879811553705E+00 -1.933280509363652E+00 + 5.765743498284928E+00 9.955325629607829E+00 -2.508698972982407E+00 + 7.500412190172579E+00 1.295046263012897E+01 -3.263460534452798E+00 + 9.775732384608283E+00 1.687910660361963E+01 -4.253461812984336E+00 + 1.276021121414967E+01 2.203220760292584E+01 -5.552020962690758E+00 + 1.667487513958882E+01 2.879139731017142E+01 -7.255307515802556E+00 + 2.180963887034370E+01 3.765725216236356E+01 -9.489464567999519E+00 + 2.854477605525997E+01 4.928636536447990E+01 -1.241995076526464E+01 + 3.737908183411086E+01 6.453997329312742E+01 -1.626379394715579E+01 + 4.896681293022350E+01 8.454773749638211E+01 -2.130566393472309E+01 + 2.596502903767807E-01 3.700662038743047E-01 -2.136578224248126E-01 + 2.596674036201370E-01 3.700905944998482E-01 -2.136719043590359E-01 + 2.597007092723294E-01 3.701380633328561E-01 -2.136993105025511E-01 + 2.597655284562129E-01 3.702304467816989E-01 -2.137526481116091E-01 + 2.598916790139341E-01 3.704102426831198E-01 -2.138564533236937E-01 + 2.601371921824115E-01 3.707601599742877E-01 -2.140584781659435E-01 + 2.606150078733181E-01 3.714411661022947E-01 -2.144516572372682E-01 + 2.615449288054315E-01 3.727665345767572E-01 -2.152168590827746E-01 + 2.633547332058304E-01 3.753459557021439E-01 -2.167060885638699E-01 + 2.668769595098019E-01 3.803660036890170E-01 -2.196044146204360E-01 + 2.737318871106270E-01 3.901359794182542E-01 -2.252451127376872E-01 + 2.870728903163464E-01 4.091502250986703E-01 -2.362229925997131E-01 + 3.130370400345129E-01 4.461555922372284E-01 -2.575880512786206E-01 + 3.444659330529966E-01 4.909495769250343E-01 -2.834498703962013E-01 + 3.856904016262420E-01 5.497046916198753E-01 -3.173721516815350E-01 + 4.397634740741654E-01 6.267722605549444E-01 -3.618671333519872E-01 + 5.106897289211707E-01 7.278598035273206E-01 -4.202300534988065E-01 + 6.037218685590129E-01 8.604537270855097E-01 -4.967831909580356E-01 + 7.257497272731739E-01 1.034373757660980E+00 -5.971959674282515E-01 + 8.858105230404270E-01 1.262500177210653E+00 -7.289048171645203E-01 + 1.095758141654776E+00 1.561727719457262E+00 -9.016639192295500E-01 + 1.371141019457850E+00 1.954216770991473E+00 -1.128267578786807E+00 + 1.732353639480011E+00 2.469034539495099E+00 -1.425497756015978E+00 + 2.206146919237137E+00 3.144307731781717E+00 -1.815366915359195E+00 + 2.827609347458063E+00 4.030046166075384E+00 -2.326748238830241E+00 + 3.642765590046031E+00 5.191846431429323E+00 -2.997513934776916E+00 + 4.711985014512857E+00 6.715749882285971E+00 -3.877340002348000E+00 + 6.114452563589863E+00 8.714614744677204E+00 -5.031385168723262E+00 + 7.954033084861150E+00 1.133647424362139E+01 -6.545116456216066E+00 + 1.036696342073085E+01 1.477549974331443E+01 -8.530638754213825E+00 + 1.353194192449140E+01 1.928638081543198E+01 -1.113499715548328E+01 + 1.768336261839050E+01 2.520318720392910E+01 -1.455106691662499E+01 + 2.312867409752263E+01 3.296410957790927E+01 -1.903183753840223E+01 + 3.027114875646134E+01 4.314391133921796E+01 -2.490914882559082E+01 + 3.963974859672469E+01 5.649649482168847E+01 -3.261826649357211E+01 + 5.192829943633307E+01 7.401073427711617E+01 -4.273011735781486E+01 + 2.448423563676757E-01 3.036358575905082E-01 -3.128488774785656E-01 + 2.448584936376258E-01 3.036558698705449E-01 -3.128694969778401E-01 + 2.448898998584750E-01 3.036948176038647E-01 -3.129096264762009E-01 + 2.449510223848425E-01 3.037706173592135E-01 -3.129877261728645E-01 + 2.450699785383855E-01 3.039181382139894E-01 -3.131397231543394E-01 + 2.453014900171598E-01 3.042052420772365E-01 -3.134355384182195E-01 + 2.457520557357703E-01 3.047640012331308E-01 -3.140112516297275E-01 + 2.466289429979561E-01 3.058514536650301E-01 -3.151316999039555E-01 + 2.483355337100837E-01 3.079678445629135E-01 -3.173123070363371E-01 + 2.516568863905417E-01 3.120867469638403E-01 -3.215561865398954E-01 + 2.581208754123923E-01 3.201029206325738E-01 -3.298155896085497E-01 + 2.707010372002227E-01 3.357039312981431E-01 -3.458899713136144E-01 + 2.951844436653345E-01 3.660664887782207E-01 -3.771737995821162E-01 + 3.248209374797904E-01 4.028195340798061E-01 -4.150420179729314E-01 + 3.636943622344165E-01 4.510275559186666E-01 -4.647127835980160E-01 + 4.146836311275027E-01 5.142607751130447E-01 -5.298646460996986E-01 + 4.815649403680027E-01 5.972021582515065E-01 -6.153226641918231E-01 + 5.692914291533695E-01 7.059942318572219E-01 -7.274157429744178E-01 + 6.843600024514057E-01 8.486939895845910E-01 -8.744453440753461E-01 + 8.352924829846302E-01 1.035869582259203E+00 -1.067300280657343E+00 + 1.033266725881592E+00 1.281382980817503E+00 -1.320263128176156E+00 + 1.292944435491601E+00 1.603416575103658E+00 -1.652067972578567E+00 + 1.633556991355226E+00 2.025819737040391E+00 -2.087287831339527E+00 + 2.080329698131594E+00 2.579875072818823E+00 -2.658154497861692E+00 + 2.666349937503512E+00 3.306615170352775E+00 -3.406945584449311E+00 + 3.435017574860820E+00 4.259861417176875E+00 -4.389115545026780E+00 + 4.443259094562806E+00 5.510209939527098E+00 -5.677402556904651E+00 + 5.765743498284928E+00 7.150259855854615E+00 -7.367215411695483E+00 + 7.500412190172579E+00 9.301471042148558E+00 -9.583699361226323E+00 + 9.775732384608283E+00 1.212315928588128E+01 -1.249100420542810E+01 + 1.276021121414967E+01 1.582429499749686E+01 -1.630444100424104E+01 + 1.667487513958882E+01 2.067897927603891E+01 -2.130642772315812E+01 + 2.180963887034370E+01 2.704674346538171E+01 -2.786740472532355E+01 + 2.854477605525997E+01 3.539917555871113E+01 -3.647326908320873E+01 + 3.737908183411086E+01 4.635484536671625E+01 -4.776135945783963E+01 + 4.896681293022350E+01 6.072511496015522E+01 -6.256765653700346E+01 + 1.989931522129460E-01 2.293570682355098E-01 -3.972580952589447E-01 + 1.990062676161105E-01 2.293721848884452E-01 -3.972842780698692E-01 + 1.990317927049006E-01 2.294016047929306E-01 -3.973352348391918E-01 + 1.990814694208640E-01 2.294588615668760E-01 -3.974344064807426E-01 + 1.991781498331907E-01 2.295702942251381E-01 -3.976274135064750E-01 + 1.993663084492824E-01 2.297871635398362E-01 -3.980030421781348E-01 + 1.997325011863378E-01 2.302092328002412E-01 -3.987340875814692E-01 + 2.004451824520568E-01 2.310306604919678E-01 -4.001568420782837E-01 + 2.018321968166533E-01 2.326293162483426E-01 -4.029257950721373E-01 + 2.045315926618017E-01 2.357406068136974E-01 -4.083147084084415E-01 + 2.097851344525706E-01 2.417957746904999E-01 -4.188025668194224E-01 + 2.200095338851180E-01 2.535802921587613E-01 -4.392139498171341E-01 + 2.399081752055240E-01 2.765152222524079E-01 -4.789384140073705E-01 + 2.639949362225677E-01 3.042773277757512E-01 -5.270237912988894E-01 + 2.955889195675878E-01 3.406921657403307E-01 -5.900961408029292E-01 + 3.370299328652702E-01 3.884565697359716E-01 -6.728265153166251E-01 + 3.913870414445967E-01 4.511079068441564E-01 -7.813418143501265E-01 + 4.626858591612461E-01 5.332860502540825E-01 -9.236785340077999E-01 + 5.562066799086063E-01 6.410770019881377E-01 -1.110377939007388E+00 + 6.788755290334003E-01 7.824636139705395E-01 -1.355266734470935E+00 + 8.397770953942394E-01 9.679167872311543E-01 -1.676481052983193E+00 + 1.050827531116789E+00 1.211170932656978E+00 -2.097809592012467E+00 + 1.327656945684371E+00 1.530241122864470E+00 -2.650455372632509E+00 + 1.690766950681354E+00 1.948757264083078E+00 -3.375346593010809E+00 + 2.167048981385575E+00 2.497714095013004E+00 -4.326167715343439E+00 + 2.791775840050958E+00 3.217766615202943E+00 -5.573335264430427E+00 + 3.611213951879051E+00 4.162240939265167E+00 -7.209212780150471E+00 + 4.686049793819457E+00 5.401083556714086E+00 -9.354951136153613E+00 + 6.095884252876326E+00 7.026041474264190E+00 -1.216946080951171E+01 + 7.945127760011228E+00 9.157456874911428E+00 -1.586118057546750E+01 + 1.037073278527658E+01 1.195317949704891E+01 -2.070351420087930E+01 + 1.355233635229848E+01 1.562025677234577E+01 -2.705507835697469E+01 + 1.772556371299756E+01 2.043026747817088E+01 -3.538626128441401E+01 + 2.319947843468277E+01 2.673943449409615E+01 -4.631405910943430E+01 + 3.037947122933908E+01 3.501500618599140E+01 -6.064776974147559E+01 + 3.979728264081206E+01 4.586986018729327E+01 -7.944892838047275E+01 + 1.173778669539042E-01 4.769054440472977E-01 -9.381133947129776E-02 + 1.173856031902046E-01 4.769368763207224E-01 -9.381752246566154E-02 + 1.174006593890872E-01 4.769980495503961E-01 -9.382955575797788E-02 + 1.174299616383969E-01 4.771171043822929E-01 -9.385297485161621E-02 + 1.174869894328155E-01 4.773488079080603E-01 -9.389855289729336E-02 + 1.175979764530232E-01 4.777997473869350E-01 -9.398725651152497E-02 + 1.178139784706383E-01 4.786773620582452E-01 -9.415989074936583E-02 + 1.182343598046582E-01 4.803853684479736E-01 -9.449587007031077E-02 + 1.190525024680627E-01 4.837094763084290E-01 -9.514975023634524E-02 + 1.206447649295804E-01 4.901788274387247E-01 -9.642232638874287E-02 + 1.237436129175441E-01 5.027694249175092E-01 -9.889900353506537E-02 + 1.297745651534927E-01 5.272731412377470E-01 -1.037190920425856E-01 + 1.415119543424968E-01 5.749620705768379E-01 -1.130999082926272E-01 + 1.557197428948564E-01 6.326882150735179E-01 -1.244551297633432E-01 + 1.743557327888562E-01 7.084061103318227E-01 -1.393494809702557E-01 + 1.988000802007964E-01 8.077233211439415E-01 -1.588860173951032E-01 + 2.308631003995790E-01 9.379951456558224E-01 -1.845115884708181E-01 + 2.729193372441506E-01 1.108869338787951E+00 -2.181239892913304E-01 + 3.280834186862928E-01 1.333000611900604E+00 -2.622125087463945E-01 + 4.004407218991713E-01 1.626987823581273E+00 -3.200422828859831E-01 + 4.953499307787151E-01 2.012603268634912E+00 -3.958961064747840E-01 + 6.198398928166818E-01 2.518405104755030E+00 -4.953916109730809E-01 + 7.831301660280374E-01 3.181852331011478E+00 -6.258972987157897E-01 + 9.973138069332166E-01 4.052078950597821E+00 -7.970782442175939E-01 + 1.278252965948651E+00 5.193532768574819E+00 -1.021611876503891E+00 + 1.646753616767454E+00 6.690748309043578E+00 -1.316126852337732E+00 + 2.130106418597481E+00 8.654607327531110E+00 -1.702434552022603E+00 + 2.764107825427604E+00 1.123055056365817E+01 -2.209144400692610E+00 + 3.595711122937661E+00 1.460934888537226E+01 -2.873782643597498E+00 + 4.686503725255815E+00 1.904123152110236E+01 -3.745571489011041E+00 + 6.117268255452522E+00 2.485441769757758E+01 -4.889074438323332E+00 + 7.993965197216268E+00 3.247942411131251E+01 -6.388977771527404E+00 + 1.045558018479302E+01 4.248094841218264E+01 -8.356362298440686E+00 + 1.368441709085608E+01 5.559968994670913E+01 -1.093692985306399E+01 + 1.791959920445612E+01 7.280720494867109E+01 -1.432179377411079E+01 + 2.347477837800819E+01 9.537785867818181E+01 -1.876163250008317E+01 + 1.348999066177579E-01 4.411929231808700E-01 -1.927894015646006E-01 + 1.349087977109562E-01 4.412220016843083E-01 -1.928021080859016E-01 + 1.349261014827489E-01 4.412785940263690E-01 -1.928268374122026E-01 + 1.349597779398029E-01 4.413887335728116E-01 -1.928749654218139E-01 + 1.350253187810308E-01 4.416030862440185E-01 -1.929686317546911E-01 + 1.351528738222864E-01 4.420202576337471E-01 -1.931509243943732E-01 + 1.354011203849621E-01 4.428321531302123E-01 -1.935057008168235E-01 + 1.358842557849725E-01 4.444122574072797E-01 -1.941961637458053E-01 + 1.368245298907936E-01 4.474874432375706E-01 -1.955399369678401E-01 + 1.386544835519387E-01 4.534723443786353E-01 -1.981551772602057E-01 + 1.422159241799499E-01 4.651201093089675E-01 -2.032449362125797E-01 + 1.491471703727703E-01 4.877888927482448E-01 -2.131505828443235E-01 + 1.626367041888409E-01 5.319066909430433E-01 -2.324288701092264E-01 + 1.789654158846399E-01 5.853100788731792E-01 -2.557647095110573E-01 + 2.003833659775423E-01 6.553579258061265E-01 -2.863737283360383E-01 + 2.284767388490885E-01 7.472378804329890E-01 -3.265227890702553E-01 + 2.653260916525234E-01 8.677544477775251E-01 -3.791852767852905E-01 + 3.136604375582556E-01 1.025832921624134E+00 -4.482613040103224E-01 + 3.770593527738627E-01 1.233180379689667E+00 -5.388665477848409E-01 + 4.602180751108717E-01 1.505152693946419E+00 -6.577111097729833E-01 + 5.692952269391951E-01 1.861891765706804E+00 -8.135964573065400E-01 + 7.123689144203711E-01 2.329817207560126E+00 -1.018067248137359E+00 + 9.000349811112123E-01 2.943582944105781E+00 -1.286266312157667E+00 + 1.146191721789648E+00 3.748643634683739E+00 -1.638056108876778E+00 + 1.469069171346103E+00 4.804620983894480E+00 -2.099489714276320E+00 + 1.892579196481946E+00 6.189719244307136E+00 -2.704740276338608E+00 + 2.448086376178003E+00 8.006516917507316E+00 -3.498631832111887E+00 + 3.176730819942671E+00 1.038956357902157E+01 -4.539958915197278E+00 + 4.132474948613727E+00 1.351534443768548E+01 -5.905840799292804E+00 + 5.386099878174313E+00 1.761535059122896E+01 -7.697432847175179E+00 + 7.030447373356976E+00 2.299322294350885E+01 -1.004741793989121E+01 + 9.187295583021434E+00 3.004723943868427E+01 -1.312983279126038E+01 + 1.201637776495771E+01 3.929981098644747E+01 -1.717295687123488E+01 + 1.572721191466100E+01 5.143617050659169E+01 -2.247621847432784E+01 + 2.059461738436690E+01 6.735512035116788E+01 -2.943236997364502E+01 + 2.697906763214134E+01 8.823559638959711E+01 -3.855657452980572E+01 + 1.348999066177579E-01 3.875569809257787E-01 -2.856895786622493E-01 + 1.349087977109562E-01 3.875825243477383E-01 -2.857084081242803E-01 + 1.349261014827489E-01 3.876322367435638E-01 -2.857450538670141E-01 + 1.349597779398029E-01 3.877289865957420E-01 -2.858163735073890E-01 + 1.350253187810308E-01 3.879172803550964E-01 -2.859551751995846E-01 + 1.351528738222864E-01 3.882837361068483E-01 -2.862253099009807E-01 + 1.354011203849621E-01 3.889969292495867E-01 -2.867510438149126E-01 + 1.358842557849725E-01 3.903849398249900E-01 -2.877742227949905E-01 + 1.368245298907936E-01 3.930862744873429E-01 -2.897655252343629E-01 + 1.386544835519387E-01 3.983435895880644E-01 -2.936409815154806E-01 + 1.422159241799499E-01 4.085753326051257E-01 -3.011833623662708E-01 + 1.491471703727703E-01 4.284882659487663E-01 -3.158622813817010E-01 + 1.626367041888409E-01 4.672426515590254E-01 -3.444302717449803E-01 + 1.789654158846399E-01 5.141537752647128E-01 -3.790110426397177E-01 + 2.003833659775423E-01 5.756858866185363E-01 -4.243697481515635E-01 + 2.284767388490885E-01 6.563959704658837E-01 -4.838655925898794E-01 + 2.653260916525234E-01 7.622613063258582E-01 -5.619047576296282E-01 + 3.136604375582556E-01 9.011221376185461E-01 -6.642667181597499E-01 + 3.770593527738627E-01 1.083262309476127E+00 -7.985322623673704E-01 + 4.602180751108716E-01 1.322170876387869E+00 -9.746449146456907E-01 + 5.692952269391950E-01 1.635541083309888E+00 -1.205647339545885E+00 + 7.123689144203710E-01 2.046580703427932E+00 -1.508647263852510E+00 + 9.000349811112121E-01 2.585730774413556E+00 -1.906084451663360E+00 + 1.146191721789647E+00 3.292920020453449E+00 -2.427392562932559E+00 + 1.469069171346103E+00 4.220521919494668E+00 -3.111178970470241E+00 + 1.892579196481946E+00 5.437233412101747E+00 -4.008083969694090E+00 + 2.448086376178003E+00 7.033162503851447E+00 -5.184531130335264E+00 + 3.176730819942671E+00 9.126501542209274E+00 -6.727646536067609E+00 + 4.132474948613727E+00 1.187228038173691E+01 -8.751711224285929E+00 + 5.386099878174313E+00 1.547384768519297E+01 -1.140662468498591E+01 + 7.030447373356976E+00 2.019793065013973E+01 -1.488900621401226E+01 + 9.187295583021433E+00 2.639438846401558E+01 -1.945675627186405E+01 + 1.201637776495771E+01 3.452212240180769E+01 -2.544815624257282E+01 + 1.572721191466100E+01 4.518306143307289E+01 -3.330692109493236E+01 + 2.059461738436690E+01 5.916674026634288E+01 -4.361506031224710E+01 + 2.697906763214133E+01 7.750877122051838E+01 -5.713598072655869E+01 + 1.173778669539041E-01 3.196957251688388E-01 -3.661065600124090E-01 + 1.173856031902045E-01 3.197167959357416E-01 -3.661306896625116E-01 + 1.174006593890872E-01 3.197578036874156E-01 -3.661776505872824E-01 + 1.174299616383968E-01 3.198376126333884E-01 -3.662690455493292E-01 + 1.174869894328155E-01 3.199929361416833E-01 -3.664469176659516E-01 + 1.175979764530231E-01 3.202952254644528E-01 -3.667930909031106E-01 + 1.178139784706382E-01 3.208835384356410E-01 -3.674668103842787E-01 + 1.182343598046581E-01 3.220285082575897E-01 -3.687779976471371E-01 + 1.190525024680626E-01 3.242568390226341E-01 -3.713298194161939E-01 + 1.206447649295803E-01 3.285935978640085E-01 -3.762961537648327E-01 + 1.237436129175441E-01 3.370337619290885E-01 -3.859615924571231E-01 + 1.297745651534926E-01 3.534599391852093E-01 -4.047723890238163E-01 + 1.415119543424967E-01 3.854284290355247E-01 -4.413818051857293E-01 + 1.557197428948562E-01 4.241254115431033E-01 -4.856965020470274E-01 + 1.743557327888561E-01 4.748832456903293E-01 -5.438229472583523E-01 + 1.988000802007962E-01 5.414609879422667E-01 -6.200659066422379E-01 + 2.308631003995789E-01 6.287892957362601E-01 -7.200718305290177E-01 + 2.729193372441504E-01 7.433355852950732E-01 -8.512470222223533E-01 + 3.280834186862926E-01 8.935829997147295E-01 -1.023306138792927E+00 + 4.004407218991711E-01 1.090658659055064E+00 -1.248991645426345E+00 + 4.953499307787148E-01 1.349157719783969E+00 -1.545017505140038E+00 + 6.198398928166815E-01 1.688224272301902E+00 -1.933306992251725E+00 + 7.831301660280371E-01 2.132969126353672E+00 -2.442616300388777E+00 + 9.973138069332161E-01 2.716329483595246E+00 -3.110664187249104E+00 + 1.278252965948650E+00 3.481508222147673E+00 -3.986925374720774E+00 + 1.646753616767453E+00 4.485173443249119E+00 -5.136294579790646E+00 + 2.130106418597480E+00 5.801655234097514E+00 -6.643892529409587E+00 + 2.764107825427602E+00 7.528450453457038E+00 -8.621369886267312E+00 + 3.595711122937660E+00 9.793443216996369E+00 -1.121517594568349E+01 + 4.686503725255812E+00 1.276437582172546E+01 -1.461740447211013E+01 + 6.117268255452519E+00 1.666127151336995E+01 -1.908001990321006E+01 + 7.993965197216263E+00 2.177272911001310E+01 -2.493351749492174E+01 + 1.045558018479301E+01 2.847729623976750E+01 -3.261139935258603E+01 + 1.368441709085607E+01 3.727150406551642E+01 -4.268227900985636E+01 + 1.791959920445611E+01 4.880663971047734E+01 -5.589199217703384E+01 + 2.347477837800818E+01 6.393697970063073E+01 -7.321883232382592E+01 + 7.787945231879133E-02 2.469573467891384E-01 -4.277426719411942E-01 + 7.788458526132744E-02 2.469736234556043E-01 -4.277708639544909E-01 + 7.789457495149144E-02 2.470053009687954E-01 -4.278257310167954E-01 + 7.791401680358132E-02 2.470669514820673E-01 -4.279325128380950E-01 + 7.795185437476515E-02 2.471869351993417E-01 -4.281403307324954E-01 + 7.802549354177830E-02 2.474204465141220E-01 -4.285447841938371E-01 + 7.816880947746678E-02 2.478749042969702E-01 -4.293319281636253E-01 + 7.844772976208372E-02 2.487593662622742E-01 -4.308638612248939E-01 + 7.899056210516593E-02 2.504806987987456E-01 -4.338452966347839E-01 + 8.004701790615153E-02 2.538307418953950E-01 -4.396477414857259E-01 + 8.210308341820059E-02 2.603505679671272E-01 -4.509404114984785E-01 + 8.610458105387424E-02 2.730393993580298E-01 -4.729181121561965E-01 + 9.389226254284797E-02 2.977342977027603E-01 -5.156909307770183E-01 + 1.033190379634091E-01 3.276267966524110E-01 -5.674662577230125E-01 + 1.156838962116273E-01 3.668360167417382E-01 -6.353786190428775E-01 + 1.319025619459414E-01 4.182657397168147E-01 -7.244575122549024E-01 + 1.531761675887169E-01 4.857247812194814E-01 -8.412999995674186E-01 + 1.810802075669768E-01 5.742090665162125E-01 -9.945592773727765E-01 + 2.176812172962675E-01 6.902716219582993E-01 -1.195585520254750E+00 + 2.656898179952109E-01 8.425078832398842E-01 -1.459266459548786E+00 + 3.286614616224662E-01 1.042192261726272E+00 -1.805129948565023E+00 + 4.112597428343015E-01 1.304113112092809E+00 -2.258790168961510E+00 + 5.196017784897995E-01 1.647667937847023E+00 -2.853844582353282E+00 + 6.617112330421699E-01 2.098299944171971E+00 -3.634362112824790E+00 + 8.481125402631997E-01 2.689382327249097E+00 -4.658146831773262E+00 + 1.092610328557111E+00 3.464689847976330E+00 -6.001018849163088E+00 + 1.413311773047142E+00 4.481640731484179E+00 -7.762429448200741E+00 + 1.833967588446000E+00 5.815548983138094E+00 -1.007282631270069E+01 + 2.385730974826314E+00 7.565202041792108E+00 -1.310331430590773E+01 + 3.109464781433041E+00 9.860176843740925E+00 -1.707832726497340E+01 + 4.058767753965599E+00 1.287043611516002E+01 -2.229224926702654E+01 + 5.303943985105567E+00 1.681891558145730E+01 -2.913121631529587E+01 + 6.937209540420969E+00 2.199803428521657E+01 -3.810171304863718E+01 + 9.079521855311164E+00 2.879135074452254E+01 -4.986808230804903E+01 + 1.188953767888242E+01 3.770196877742838E+01 -6.530172546788138E+01 + 1.557536297794747E+01 4.938979668946106E+01 -8.554563724164362E+01 + 4.786217425729569E-01 -7.235012294810537E-02 -1.253140888799736E-01 + 4.786532879655863E-01 -7.235489145908633E-02 -1.253223481832690E-01 + 4.787146813469174E-01 -7.236417189558222E-02 -1.253384223707963E-01 + 4.788341646361426E-01 -7.238223340406952E-02 -1.253697058211577E-01 + 4.790667020220067E-01 -7.241738456198987E-02 -1.254305894126206E-01 + 4.795192643524810E-01 -7.248579545380494E-02 -1.255490805530354E-01 + 4.804000374041059E-01 -7.261893616369386E-02 -1.257796870271188E-01 + 4.821141906073905E-01 -7.287805350830681E-02 -1.262284914331108E-01 + 4.854502613453749E-01 -7.338234553390353E-02 -1.271019508432961E-01 + 4.919428945286341E-01 -7.436379448885599E-02 -1.288018702983092E-01 + 5.045788033456718E-01 -7.627388229965865E-02 -1.321102394335374E-01 + 5.291707042163662E-01 -7.999127934467724E-02 -1.385489599874160E-01 + 5.770312575956869E-01 -8.722604662195024E-02 -1.510799444925896E-01 + 6.349651482985138E-01 -9.598353451349272E-02 -1.662483584674104E-01 + 7.109555388986518E-01 -1.074705055675845E-01 -1.861443759581704E-01 + 8.106301748243169E-01 -1.225376693058266E-01 -2.122414690787652E-01 + 9.413708246413719E-01 -1.423008794720202E-01 -2.464723532072742E-01 + 1.112859963837561E+00 -1.682237726494394E-01 -2.913721212697450E-01 + 1.337797845845958E+00 -2.022261632042589E-01 -3.502659892894925E-01 + 1.632843065616633E+00 -2.468262221378650E-01 -4.275155573830645E-01 + 2.019846272601023E+00 -3.053269694213290E-01 -5.288418239587711E-01 + 2.527468400262042E+00 -3.820608911818000E-01 -6.617488751119220E-01 + 3.193303255996177E+00 -4.827107977584022E-01 -8.360796270796580E-01 + 4.066661667602988E+00 -6.147306849407799E-01 -1.064744779289047E+00 + 5.212223376419471E+00 -7.878977668037199E-01 -1.364678963274099E+00 + 6.714827131379749E+00 -1.015036562942070E+00 -1.758094898555752E+00 + 8.685753731879824E+00 -1.312968665026078E+00 -2.274128436571051E+00 + 1.127096733309399E+01 -1.703758521102138E+00 -2.950996322377316E+00 + 1.466192535365497E+01 -2.216347498737341E+00 -3.838826475041274E+00 + 1.910975755282273E+01 -2.888697243511581E+00 -5.003370393446225E+00 + 2.494386436039706E+01 -3.770601067084828E+00 -6.530872623264350E+00 + 3.259631182650281E+01 -4.927371572432848E+00 -8.534457911224246E+00 + 4.263382984819577E+01 -6.444677616782915E+00 -1.116250907066992E+01 + 5.579978341822164E+01 -8.434888831174662E+00 -1.460965601178978E+01 + 7.306922522977817E+01 -1.104539756317363E+01 -1.913118976921420E+01 + 9.572110675864127E+01 -1.446953455454599E+01 -2.506196901034717E+01 + 4.366624927850382E-01 7.272199388162134E-17 -2.436037787489229E-01 + 4.366912726931706E-01 7.272678690217543E-17 -2.436198343856880E-01 + 4.367472839115252E-01 7.273611503899915E-17 -2.436510817327099E-01 + 4.368562924798338E-01 7.275426938146859E-17 -2.437118950601533E-01 + 4.370684440507826E-01 7.278960121211454E-17 -2.438302494533164E-01 + 4.374813316774566E-01 7.285836372768871E-17 -2.440605897910334E-01 + 4.382848901498170E-01 7.299218876481935E-17 -2.445088762446379E-01 + 4.398487689797630E-01 7.325263794143071E-17 -2.453813276201854E-01 + 4.428923769795259E-01 7.375952196740949E-17 -2.470792852465522E-01 + 4.488158216088903E-01 7.474601545199374E-17 -2.503838362871508E-01 + 4.603439803861967E-01 7.666592088449980E-17 -2.568151260969488E-01 + 4.827799873231008E-01 8.040242490339835E-17 -2.693316489496625E-01 + 5.264447578208595E-01 8.767437801466226E-17 -2.936912018474080E-01 + 5.792997681157088E-01 9.647687834108087E-17 -3.231777743064193E-01 + 6.486283222444570E-01 1.080228910453468E-16 -3.618545510848551E-01 + 7.395647990471329E-01 1.231674981937238E-16 -4.125858818981726E-01 + 8.588438308574121E-01 1.430322888841003E-16 -4.791288604104150E-01 + 1.015299061253791E+00 1.690884226158202E-16 -5.664115695034392E-01 + 1.220517352741252E+00 2.032655813700865E-16 -6.808980484219608E-01 + 1.489696894098452E+00 2.480948792444806E-16 -8.310670107669738E-01 + 1.842772757658596E+00 3.068963133356130E-16 -1.028039766543898E+00 + 2.305893263772081E+00 3.840246382284446E-16 -1.286403851322063E+00 + 2.913356490003837E+00 4.851918732240155E-16 -1.625293359365787E+00 + 3.710150340314304E+00 6.178903267541574E-16 -2.069805988745857E+00 + 4.755284288307993E+00 7.919474665985163E-16 -2.652861742873514E+00 + 6.126159538943099E+00 1.020253728840805E-15 -3.417640941375656E+00 + 7.924301256960678E+00 1.319717166110045E-15 -4.420782096095348E+00 + 1.028287738310875E+01 1.712515635062850E-15 -5.736576482583932E+00 + 1.337656087150955E+01 2.227739258416068E-15 -7.462470051369530E+00 + 1.743446573211479E+01 2.903544800043864E-15 -9.726280143100242E+00 + 2.275711490403628E+01 3.789981503241638E-15 -1.269566146771335E+01 + 2.973869657747422E+01 4.952697669912114E-15 -1.659052238522970E+01 + 3.889625723730799E+01 6.477802484909006E-15 -2.169931102111600E+01 + 5.090799342562633E+01 8.478243145665629E-15 -2.840037734386519E+01 + 6.666347805927931E+01 1.110216957869347E-14 -3.718999325133422E+01 + 8.732954099551750E+01 1.454390622252781E-14 -4.871910579549084E+01 + 4.162833480437566E-01 -1.384964871102136E-01 -2.398829523446983E-01 + 4.163107847865767E-01 -1.385056152497757E-01 -2.398987627461985E-01 + 4.163641819477479E-01 -1.385233803592345E-01 -2.399295328183831E-01 + 4.164681030596610E-01 -1.385579546678255E-01 -2.399894172774993E-01 + 4.166703534651952E-01 -1.386252429002631E-01 -2.401059639148328E-01 + 4.170639715259117E-01 -1.387561986997890E-01 -2.403327860131574E-01 + 4.178300277289294E-01 -1.390110637899866E-01 -2.407742252984553E-01 + 4.193209199535225E-01 -1.395070801133308E-01 -2.416333507718710E-01 + 4.222224820276844E-01 -1.404724229652418E-01 -2.433053736381043E-01 + 4.278694780555239E-01 -1.423511652119745E-01 -2.465594506637714E-01 + 4.388596148588687E-01 -1.460075577803458E-01 -2.528925083646077E-01 + 4.602485278952471E-01 -1.531235986514615E-01 -2.652178527021168E-01 + 5.018754529339347E-01 -1.669727783367667E-01 -2.892053355602162E-01 + 5.522637070431756E-01 -1.837368315196317E-01 -3.182415274137252E-01 + 6.183566806889693E-01 -2.057258078157678E-01 -3.563275515650607E-01 + 7.050491300021209E-01 -2.345681810340924E-01 -4.062840073900629E-01 + 8.187613803873276E-01 -2.723999782793014E-01 -4.718106023604092E-01 + 9.679148071288000E-01 -3.220229712268194E-01 -5.577601473691425E-01 + 1.163555511040310E+00 -3.871121715391642E-01 -6.704979493341517E-01 + 1.420172377733784E+00 -4.724879972532889E-01 -8.183732172091613E-01 + 1.756770104868121E+00 -5.844732664130050E-01 -1.012337393093066E+00 + 2.198276664323291E+00 -7.313614564114923E-01 -1.266755201202277E+00 + 2.777389434042454E+00 -9.240309076967250E-01 -1.600468479894717E+00 + 3.536996721566467E+00 -1.176750458934541E+00 -2.038191582704621E+00 + 4.533354014014712E+00 -1.508236177878603E+00 -2.612341689899234E+00 + 5.840250183284828E+00 -1.943037448004548E+00 -3.365439580952851E+00 + 7.554472189986930E+00 -2.513355062607539E+00 -4.353258665896719E+00 + 9.802972994685842E+00 -3.261425971950170E+00 -5.648955488542408E+00 + 1.275227352225179E+01 -4.242651294605277E+00 -7.348487601054219E+00 + 1.662079497606799E+01 -5.529699249278026E+00 -9.577720050325027E+00 + 2.169503481658613E+01 -7.217886864682193E+00 -1.250174677291360E+01 + 2.835078437529717E+01 -9.432239029616595E+00 -1.633711722843012E+01 + 3.708095945187753E+01 -1.233674766693165E+01 -2.136787375928245E+01 + 4.853210499084889E+01 -1.614651675327191E+01 -2.796658738192905E+01 + 6.355227732467419E+01 -2.114369262831115E+01 -3.662194989185448E+01 + 8.325385007737523E+01 -2.769835937061040E+01 -4.797496571619877E+01 + 3.561379211431202E-01 6.587144748546622E-02 -3.447370986070746E-01 + 3.561613937720323E-01 6.587578899461460E-02 -3.447598198212656E-01 + 3.562070760076149E-01 6.588423840368775E-02 -3.448040396597543E-01 + 3.562959823953758E-01 6.590068257350185E-02 -3.448900999424278E-01 + 3.564690112693766E-01 6.593268608031917E-02 -3.450575897503281E-01 + 3.568057586279407E-01 6.599497103968079E-02 -3.453835570244179E-01 + 3.574611335424156E-01 6.611618951066965E-02 -3.460179518279556E-01 + 3.587366187618226E-01 6.635210389288139E-02 -3.472526057295766E-01 + 3.612189575102154E-01 6.681123850562089E-02 -3.496554789061653E-01 + 3.660500645806977E-01 6.770480247844492E-02 -3.543319307403099E-01 + 3.754523250665298E-01 6.944384926641185E-02 -3.634332024887098E-01 + 3.937509263920051E-01 7.282836769230600E-02 -3.811460220313859E-01 + 4.293635124263147E-01 7.941528936369394E-02 -4.156185644215825E-01 + 4.724715736851332E-01 8.738857787028179E-02 -4.573466340336051E-01 + 5.290153060899803E-01 9.784693481183684E-02 -5.120802669786582E-01 + 6.031822618961151E-01 1.115648919416461E-01 -5.838729619970890E-01 + 7.004651454200478E-01 1.295583825890692E-01 -6.780415888664897E-01 + 8.280685952834739E-01 1.531599803062220E-01 -8.015601485777787E-01 + 9.954427501936969E-01 1.841175874607894E-01 -9.635762584049981E-01 + 1.214983113419729E+00 2.247238825185184E-01 -1.176088612053715E+00 + 1.502948546979472E+00 2.779861127058430E-01 -1.454835586669259E+00 + 1.880665380944419E+00 3.478488066673203E-01 -1.820460805736559E+00 + 2.376106812566465E+00 4.394859009157047E-01 -2.300041977881610E+00 + 3.025964563387502E+00 5.596839145639856E-01 -2.929096235306034E+00 + 3.878366218452042E+00 7.173445497411756E-01 -3.754210484503685E+00 + 4.996439490085390E+00 9.241439395980684E-01 -4.836491569471617E+00 + 6.462987370786357E+00 1.195397366917575E+00 -6.256091761830891E+00 + 8.386620410727055E+00 1.551193493218991E+00 -8.118144729527543E+00 + 1.090980026802761E+01 2.017882097827786E+00 -1.056055159391773E+01 + 1.421939022624724E+01 2.630025506851844E+00 -1.376419370008153E+01 + 1.856049403613054E+01 3.432958232251702E+00 -1.796632844430574E+01 + 2.425460796748922E+01 4.486144384408250E+00 -2.347816023557927E+01 + 3.172343038760198E+01 5.867581503616397E+00 -3.070788787271685E+01 + 4.152009217126744E+01 7.679576952301740E+00 -4.019093519465149E+01 + 5.437012082438973E+01 1.005632465974601E+01 -5.262960384492120E+01 + 7.122517206861910E+01 1.317384334277589E+01 -6.894508478039316E+01 + 3.561379211431202E-01 -6.587144748546601E-02 -3.447370986070746E-01 + 3.561613937720322E-01 -6.587578899461440E-02 -3.447598198212656E-01 + 3.562070760076148E-01 -6.588423840368754E-02 -3.448040396597543E-01 + 3.562959823953757E-01 -6.590068257350164E-02 -3.448900999424278E-01 + 3.564690112693765E-01 -6.593268608031896E-02 -3.450575897503281E-01 + 3.568057586279407E-01 -6.599497103968058E-02 -3.453835570244179E-01 + 3.574611335424155E-01 -6.611618951066944E-02 -3.460179518279556E-01 + 3.587366187618225E-01 -6.635210389288118E-02 -3.472526057295766E-01 + 3.612189575102153E-01 -6.681123850562068E-02 -3.496554789061653E-01 + 3.660500645806976E-01 -6.770480247844471E-02 -3.543319307403099E-01 + 3.754523250665298E-01 -6.944384926641164E-02 -3.634332024887098E-01 + 3.937509263920050E-01 -7.282836769230579E-02 -3.811460220313859E-01 + 4.293635124263146E-01 -7.941528936369371E-02 -4.156185644215825E-01 + 4.724715736851332E-01 -8.738857787028154E-02 -4.573466340336051E-01 + 5.290153060899802E-01 -9.784693481183655E-02 -5.120802669786583E-01 + 6.031822618961149E-01 -1.115648919416457E-01 -5.838729619970893E-01 + 7.004651454200476E-01 -1.295583825890688E-01 -6.780415888664899E-01 + 8.280685952834737E-01 -1.531599803062215E-01 -8.015601485777789E-01 + 9.954427501936967E-01 -1.841175874607889E-01 -9.635762584049983E-01 + 1.214983113419728E+00 -2.247238825185177E-01 -1.176088612053715E+00 + 1.502948546979472E+00 -2.779861127058422E-01 -1.454835586669260E+00 + 1.880665380944418E+00 -3.478488066673193E-01 -1.820460805736559E+00 + 2.376106812566464E+00 -4.394859009157034E-01 -2.300041977881610E+00 + 3.025964563387501E+00 -5.596839145639838E-01 -2.929096235306034E+00 + 3.878366218452041E+00 -7.173445497411732E-01 -3.754210484503685E+00 + 4.996439490085389E+00 -9.241439395980654E-01 -4.836491569471617E+00 + 6.462987370786356E+00 -1.195397366917571E+00 -6.256091761830892E+00 + 8.386620410727055E+00 -1.551193493218987E+00 -8.118144729527545E+00 + 1.090980026802761E+01 -2.017882097827780E+00 -1.056055159391773E+01 + 1.421939022624724E+01 -2.630025506851836E+00 -1.376419370008153E+01 + 1.856049403613054E+01 -3.432958232251691E+00 -1.796632844430574E+01 + 2.425460796748922E+01 -4.486144384408236E+00 -2.347816023557927E+01 + 3.172343038760198E+01 -5.867581503616378E+00 -3.070788787271685E+01 + 4.152009217126744E+01 -7.679576952301716E+00 -4.019093519465150E+01 + 5.437012082438973E+01 -1.005632465974598E+01 -5.262960384492121E+01 + 7.122517206861910E+01 -1.317384334277585E+01 -6.894508478039317E+01 + 3.190906466620158E-01 -1.924825270244121E-01 -3.333895163755315E-01 + 3.191116775489103E-01 -1.924952133199754E-01 -3.334114896840069E-01 + 3.191526076864430E-01 -1.925199032831134E-01 -3.334542539545989E-01 + 3.192322655804184E-01 -1.925679546844635E-01 -3.335374814231122E-01 + 3.193872951125696E-01 -1.926614719229787E-01 -3.336994580316041E-01 + 3.196890123014077E-01 -1.928434743964507E-01 -3.340146955627608E-01 + 3.202762117902872E-01 -1.931976860998313E-01 -3.346282082296515E-01 + 3.214190145622078E-01 -1.938870499772463E-01 -3.358222214902369E-01 + 3.236431278324724E-01 -1.952286842342432E-01 -3.381460001885305E-01 + 3.279716786205086E-01 -1.978397616906038E-01 -3.426685190054448E-01 + 3.363958682403027E-01 -2.029214189660936E-01 -3.514702075932451E-01 + 3.527909561635846E-01 -2.128112981815235E-01 -3.685999808750891E-01 + 3.846989402123482E-01 -2.320588990316544E-01 -4.019378034713218E-01 + 4.233226821022055E-01 -2.553575933677907E-01 -4.422923258115271E-01 + 4.739844484196876E-01 -2.859178899678916E-01 -4.952243122172763E-01 + 5.404361809764745E-01 -3.260030430160438E-01 -5.646538339258503E-01 + 6.275992051025193E-01 -3.785817046671378E-01 -6.557227472995185E-01 + 7.419286963359504E-01 -4.475477794055667E-01 -7.751754927450699E-01 + 8.918917419823833E-01 -5.380088013385508E-01 -9.318585788376010E-01 + 1.088594402135376E+00 -6.566641912559360E-01 -1.137375742766408E+00 + 1.346604209448087E+00 -8.123014066621130E-01 -1.406947307398449E+00 + 1.685029020875480E+00 -1.016446728979575E+00 -1.760537377779818E+00 + 2.128932119686185E+00 -1.284218884343172E+00 -2.224332355721795E+00 + 2.711188368282849E+00 -1.635448715985183E+00 -2.832680269259621E+00 + 3.474918875995368E+00 -2.096147829631883E+00 -3.630634541097655E+00 + 4.476684490046975E+00 -2.700434977800958E+00 -4.677290584087395E+00 + 5.790674615309771E+00 -3.493062848412291E+00 -6.050162327481355E+00 + 7.514201581168667E+00 -4.532732388255086E+00 -7.850922793570834E+00 + 9.774907460863670E+00 -5.896440115619319E+00 -1.021293386403997E+01 + 1.274021707059214E+01 -7.685180378178240E+00 -1.331112288033612E+01 + 1.662973722468417E+01 -1.003142485761924E+01 -1.737493752570593E+01 + 2.173152051889918E+01 -1.310893324300788E+01 -2.270533840991831E+01 + 2.842339811561205E+01 -1.714562163806973E+01 -2.969708780448912E+01 + 3.720096140807205E+01 -2.244044171920795E+01 -3.886798520195649E+01 + 4.871426484789990E+01 -2.938552069184311E+01 -5.089721484513885E+01 + 6.381596809752718E+01 -3.849520170026190E+01 -6.667564519246550E+01 + 2.448423563676757E-01 1.191171466466294E-01 -4.193808049125368E-01 + 2.448584936376258E-01 1.191249975167960E-01 -4.194084458050735E-01 + 2.448898998584750E-01 1.191402768151576E-01 -4.194622402807288E-01 + 2.449510223848425E-01 1.191700132588218E-01 -4.195669346427933E-01 + 2.450699785383855E-01 1.192278860786897E-01 -4.197706899413547E-01 + 2.453014900171598E-01 1.193405176804135E-01 -4.201672368123914E-01 + 2.457520557357703E-01 1.195597203689266E-01 -4.209389930417470E-01 + 2.466289429979561E-01 1.199863308220848E-01 -4.224409786102929E-01 + 2.483355337100837E-01 1.208165965454592E-01 -4.253641304583889E-01 + 2.516568863905417E-01 1.224324528056774E-01 -4.310531443250794E-01 + 2.581208754123923E-01 1.255772188488604E-01 -4.421250558976777E-01 + 2.707010372002227E-01 1.316975364227896E-01 -4.636731183113050E-01 + 2.951844436653345E-01 1.436088476909030E-01 -5.056097785471683E-01 + 3.248209374797904E-01 1.580271641626135E-01 -5.563729586401891E-01 + 3.636943622344165E-01 1.769392980999294E-01 -6.229577130313797E-01 + 4.146836311275027E-01 2.017458565330683E-01 -7.102952184676222E-01 + 4.815649403680027E-01 2.342839795886875E-01 -8.248535723366106E-01 + 5.692914291533695E-01 2.769633965999674E-01 -9.751168112008439E-01 + 6.843600024514057E-01 3.329448873979794E-01 -1.172213227057094E+00 + 8.352924829846302E-01 4.063743653859195E-01 -1.430739513572715E+00 + 1.033266725881592E+00 5.026899182717114E-01 -1.769841777453063E+00 + 1.292944435491601E+00 6.290245454798655E-01 -2.214633473178090E+00 + 1.633556991355226E+00 7.947344184299657E-01 -2.798055271434653E+00 + 2.080329698131594E+00 1.012091785922685E+00 -3.563314600582175E+00 + 2.666349937503512E+00 1.297193840267941E+00 -4.567085530289168E+00 + 3.435017574860820E+00 1.671154853549941E+00 -5.883705976389744E+00 + 4.443259094562806E+00 2.161669872026611E+00 -7.610683066268306E+00 + 5.765743498284928E+00 2.805065773753220E+00 -9.875914384677895E+00 + 7.500412190172579E+00 3.648991587980424E+00 -1.284715989567913E+01 + 9.775732384608283E+00 4.755947317738368E+00 -1.674446601841245E+01 + 1.276021121414967E+01 6.207912605428989E+00 -2.185646196693181E+01 + 1.667487513958882E+01 8.112418034132533E+00 -2.856173523896069E+01 + 2.180963887034370E+01 1.061050869698188E+01 -3.735686929332309E+01 + 2.854477605525997E+01 1.388718980576880E+01 -4.889321984847339E+01 + 3.737908183411086E+01 1.818512792641121E+01 -6.402515340499545E+01 + 4.896681293022350E+01 2.382262253622694E+01 -8.387332047172659E+01 + 2.596502903767808E-01 1.414763388902058E-16 -4.273156448496254E-01 + 2.596674036201371E-01 1.414856634282723E-16 -4.273438087180719E-01 + 2.597007092723294E-01 1.415038107668702E-16 -4.273986210051024E-01 + 2.597655284562130E-01 1.415391289666396E-16 -4.275052962232184E-01 + 2.598916790139342E-01 1.416078649539148E-16 -4.277129066473875E-01 + 2.601371921824115E-01 1.417416383618903E-16 -4.281169563318872E-01 + 2.606150078733182E-01 1.420019870582683E-16 -4.289033144745366E-01 + 2.615449288054315E-01 1.425086755304508E-16 -4.304337181655493E-01 + 2.633547332058304E-01 1.434947884298597E-16 -4.334121771277401E-01 + 2.668769595098019E-01 1.454139531706562E-16 -4.392088292408721E-01 + 2.737318871106270E-01 1.491490156614967E-16 -4.504902254753745E-01 + 2.870728903163464E-01 1.564181632828177E-16 -4.724459851994264E-01 + 3.130370400345129E-01 1.705653180546956E-16 -5.151761025572413E-01 + 3.444659330529966E-01 1.876900619291382E-16 -5.668997407924028E-01 + 3.856904016262421E-01 2.101521469049487E-16 -6.347443033630703E-01 + 4.397634740741655E-01 2.396150845792181E-16 -7.237342667039747E-01 + 5.106897289211709E-01 2.782608602199349E-16 -8.404601069976132E-01 + 6.037218685590131E-01 3.289515276402757E-16 -9.935663819160714E-01 + 7.257497272731741E-01 3.954411690284628E-16 -1.194391934856503E+00 + 8.858105230404273E-01 4.826539171911699E-16 -1.457809634329041E+00 + 1.095758141654776E+00 5.970486301613483E-16 -1.803327838459101E+00 + 1.371141019457850E+00 7.470972254781200E-16 -2.256535157573615E+00 + 1.732353639480011E+00 9.439120989277830E-16 -2.850995512031957E+00 + 2.206146919237138E+00 1.202069093528300E-15 -3.630733830718391E+00 + 2.827609347458064E+00 1.540686966725859E-15 -4.653496477660483E+00 + 3.642765590046033E+00 1.984843299682362E-15 -5.995027869553834E+00 + 4.711985014512858E+00 2.567431708978386E-15 -7.754680004696004E+00 + 6.114452563589864E+00 3.331597903315438E-15 -1.006277033744653E+01 + 7.954033084861151E+00 4.333934996278194E-15 -1.309023291243214E+01 + 1.036696342073085E+01 5.648674715693069E-15 -1.706127750842766E+01 + 1.353194192449141E+01 7.373184904872841E-15 -2.226999431096657E+01 + 1.768336261839050E+01 9.635180453245253E-15 -2.910213383325000E+01 + 2.312867409752264E+01 1.260218168812358E-14 -3.806367507680446E+01 + 3.027114875646135E+01 1.649392070330584E-14 -4.981829765118167E+01 + 3.963974859672469E+01 2.159861442039922E-14 -6.523653298714426E+01 + 5.192829943633308E+01 2.829430954375591E-14 -8.546023471562975E+01 + 2.448423563676757E-01 -1.191171466466291E-01 -4.193808049125369E-01 + 2.448584936376258E-01 -1.191249975167957E-01 -4.194084458050736E-01 + 2.448898998584750E-01 -1.191402768151573E-01 -4.194622402807288E-01 + 2.449510223848425E-01 -1.191700132588215E-01 -4.195669346427933E-01 + 2.450699785383855E-01 -1.192278860786894E-01 -4.197706899413547E-01 + 2.453014900171598E-01 -1.193405176804132E-01 -4.201672368123914E-01 + 2.457520557357703E-01 -1.195597203689263E-01 -4.209389930417470E-01 + 2.466289429979561E-01 -1.199863308220846E-01 -4.224409786102930E-01 + 2.483355337100837E-01 -1.208165965454589E-01 -4.253641304583890E-01 + 2.516568863905417E-01 -1.224324528056771E-01 -4.310531443250794E-01 + 2.581208754123923E-01 -1.255772188488601E-01 -4.421250558976778E-01 + 2.707010372002227E-01 -1.316975364227893E-01 -4.636731183113051E-01 + 2.951844436653345E-01 -1.436088476909027E-01 -5.056097785471684E-01 + 3.248209374797904E-01 -1.580271641626131E-01 -5.563729586401892E-01 + 3.636943622344165E-01 -1.769392980999289E-01 -6.229577130313797E-01 + 4.146836311275027E-01 -2.017458565330678E-01 -7.102952184676222E-01 + 4.815649403680027E-01 -2.342839795886869E-01 -8.248535723366106E-01 + 5.692914291533695E-01 -2.769633965999667E-01 -9.751168112008439E-01 + 6.843600024514057E-01 -3.329448873979786E-01 -1.172213227057094E+00 + 8.352924829846302E-01 -4.063743653859185E-01 -1.430739513572715E+00 + 1.033266725881592E+00 -5.026899182717102E-01 -1.769841777453063E+00 + 1.292944435491601E+00 -6.290245454798640E-01 -2.214633473178090E+00 + 1.633556991355226E+00 -7.947344184299637E-01 -2.798055271434653E+00 + 2.080329698131594E+00 -1.012091785922682E+00 -3.563314600582175E+00 + 2.666349937503512E+00 -1.297193840267937E+00 -4.567085530289168E+00 + 3.435017574860820E+00 -1.671154853549936E+00 -5.883705976389744E+00 + 4.443259094562806E+00 -2.161669872026605E+00 -7.610683066268307E+00 + 5.765743498284928E+00 -2.805065773753213E+00 -9.875914384677895E+00 + 7.500412190172579E+00 -3.648991587980415E+00 -1.284715989567913E+01 + 9.775732384608283E+00 -4.755947317738356E+00 -1.674446601841245E+01 + 1.276021121414967E+01 -6.207912605428975E+00 -2.185646196693181E+01 + 1.667487513958882E+01 -8.112418034132514E+00 -2.856173523896069E+01 + 2.180963887034370E+01 -1.061050869698185E+01 -3.735686929332309E+01 + 2.854477605525997E+01 -1.388718980576876E+01 -4.889321984847339E+01 + 3.737908183411086E+01 -1.818512792641116E+01 -6.402515340499545E+01 + 4.896681293022350E+01 -2.382262253622689E+01 -8.387332047172659E+01 + 1.989931522129460E-01 -2.293570682355096E-01 -3.972580952589448E-01 + 1.990062676161105E-01 -2.293721848884450E-01 -3.972842780698693E-01 + 1.990317927049007E-01 -2.294016047929304E-01 -3.973352348391919E-01 + 1.990814694208640E-01 -2.294588615668758E-01 -3.974344064807427E-01 + 1.991781498331907E-01 -2.295702942251379E-01 -3.976274135064751E-01 + 1.993663084492824E-01 -2.297871635398360E-01 -3.980030421781349E-01 + 1.997325011863378E-01 -2.302092328002410E-01 -3.987340875814693E-01 + 2.004451824520568E-01 -2.310306604919676E-01 -4.001568420782838E-01 + 2.018321968166533E-01 -2.326293162483423E-01 -4.029257950721374E-01 + 2.045315926618017E-01 -2.357406068136972E-01 -4.083147084084416E-01 + 2.097851344525706E-01 -2.417957746904996E-01 -4.188025668194225E-01 + 2.200095338851180E-01 -2.535802921587611E-01 -4.392139498171343E-01 + 2.399081752055240E-01 -2.765152222524077E-01 -4.789384140073707E-01 + 2.639949362225677E-01 -3.042773277757509E-01 -5.270237912988897E-01 + 2.955889195675878E-01 -3.406921657403303E-01 -5.900961408029294E-01 + 3.370299328652703E-01 -3.884565697359712E-01 -6.728265153166253E-01 + 3.913870414445969E-01 -4.511079068441560E-01 -7.813418143501268E-01 + 4.626858591612462E-01 -5.332860502540819E-01 -9.236785340078002E-01 + 5.562066799086064E-01 -6.410770019881370E-01 -1.110377939007388E+00 + 6.788755290334004E-01 -7.824636139705388E-01 -1.355266734470935E+00 + 8.397770953942395E-01 -9.679167872311534E-01 -1.676481052983193E+00 + 1.050827531116790E+00 -1.211170932656977E+00 -2.097809592012468E+00 + 1.327656945684372E+00 -1.530241122864469E+00 -2.650455372632510E+00 + 1.690766950681354E+00 -1.948757264083076E+00 -3.375346593010809E+00 + 2.167048981385575E+00 -2.497714095013001E+00 -4.326167715343439E+00 + 2.791775840050958E+00 -3.217766615202939E+00 -5.573335264430427E+00 + 3.611213951879052E+00 -4.162240939265162E+00 -7.209212780150471E+00 + 4.686049793819458E+00 -5.401083556714081E+00 -9.354951136153613E+00 + 6.095884252876328E+00 -7.026041474264183E+00 -1.216946080951171E+01 + 7.945127760011230E+00 -9.157456874911420E+00 -1.586118057546750E+01 + 1.037073278527658E+01 -1.195317949704890E+01 -2.070351420087930E+01 + 1.355233635229848E+01 -1.562025677234575E+01 -2.705507835697470E+01 + 1.772556371299756E+01 -2.043026747817085E+01 -3.538626128441402E+01 + 2.319947843468277E+01 -2.673943449409612E+01 -4.631405910943431E+01 + 3.037947122933909E+01 -3.501500618599135E+01 -6.064776974147560E+01 + 3.979728264081206E+01 -4.586986018729321E+01 -7.944892838047276E+01 + 1.173778669539042E-01 1.572097188784592E-01 -4.599178994837069E-01 + 1.173856031902046E-01 1.572200803849811E-01 -4.599482121281732E-01 + 1.174006593890872E-01 1.572402458629808E-01 -4.600072063452604E-01 + 1.174299616383968E-01 1.572794917489048E-01 -4.601220204009455E-01 + 1.174869894328155E-01 1.573558717663773E-01 -4.603454705632450E-01 + 1.175979764530232E-01 1.575045219224826E-01 -4.607803474146356E-01 + 1.178139784706383E-01 1.577938236226045E-01 -4.616267011336446E-01 + 1.182343598046582E-01 1.583568601903841E-01 -4.632738677174479E-01 + 1.190525024680627E-01 1.594526372857952E-01 -4.664795696525391E-01 + 1.206447649295803E-01 1.615852295747164E-01 -4.727184801535755E-01 + 1.237436129175441E-01 1.657356629884210E-01 -4.848605959921885E-01 + 1.297745651534927E-01 1.738132020525380E-01 -5.084914810664020E-01 + 1.415119543424967E-01 1.895336415413136E-01 -5.544817134783565E-01 + 1.557197428948563E-01 2.085628035304150E-01 -6.101516318103707E-01 + 1.743557327888562E-01 2.335228646414938E-01 -6.831724282286080E-01 + 1.988000802007963E-01 2.662623332016752E-01 -7.789519240373413E-01 + 2.308631003995790E-01 3.092058499195629E-01 -9.045834189998359E-01 + 2.729193372441505E-01 3.655337534928786E-01 -1.069371011513684E+00 + 3.280834186862928E-01 4.394176121858752E-01 -1.285518647539321E+00 + 4.004407218991712E-01 5.363291645262093E-01 -1.569033928312328E+00 + 4.953499307787150E-01 6.634455488509439E-01 -1.940913611614822E+00 + 6.198398928166817E-01 8.301808324531293E-01 -2.428698603224807E+00 + 7.831301660280373E-01 1.048883204657808E+00 -3.068513599104568E+00 + 9.973138069332165E-01 1.335749467002577E+00 -3.907742431466699E+00 + 1.278252965948651E+00 1.712024546427150E+00 -5.008537251224666E+00 + 1.646753616767454E+00 2.205574865794462E+00 -6.452421432128379E+00 + 2.130106418597481E+00 2.852952093433601E+00 -8.346327081432191E+00 + 2.764107825427603E+00 3.702100110201135E+00 -1.083051428695992E+01 + 3.595711122937661E+00 4.815905668375894E+00 -1.408895858928100E+01 + 4.686503725255813E+00 6.276855699376913E+00 -1.836297596112117E+01 + 6.117268255452521E+00 8.193146184207654E+00 -2.396909434153339E+01 + 7.993965197216265E+00 1.070669500129944E+01 -3.132249526644915E+01 + 1.045558018479301E+01 1.400365217241517E+01 -4.096776165102672E+01 + 1.368441709085607E+01 1.832818588119274E+01 -5.361920886292036E+01 + 1.791959920445611E+01 2.400056523819379E+01 -7.021378595114464E+01 + 2.347477837800819E+01 3.144087897755114E+01 -9.198046482390910E+01 + 1.348999066177580E-01 5.363594225509151E-02 -4.784789802268501E-01 + 1.349087977109562E-01 5.363947733657023E-02 -4.785105162101822E-01 + 1.349261014827489E-01 5.364635728280547E-02 -4.785718912792170E-01 + 1.349597779398029E-01 5.365974697706984E-02 -4.786913389292031E-01 + 1.350253187810308E-01 5.368580588892224E-02 -4.789238069542760E-01 + 1.351528738222864E-01 5.373652152689904E-02 -4.793762342953541E-01 + 1.354011203849622E-01 5.383522388062588E-02 -4.802567446317363E-01 + 1.358842557849725E-01 5.402731758228996E-02 -4.819703865407960E-01 + 1.368245298907936E-01 5.440116875022798E-02 -4.853054622022033E-01 + 1.386544835519387E-01 5.512875479057110E-02 -4.917961587756865E-01 + 1.422159241799500E-01 5.654477670384206E-02 -5.044282985788507E-01 + 1.491471703727703E-01 5.930062679947878E-02 -5.290128642260247E-01 + 1.626367041888410E-01 6.466403938401817E-02 -5.768591418542068E-01 + 1.789654158846400E-01 7.115630360846667E-02 -6.347757521507752E-01 + 2.003833659775424E-01 7.967203918759067E-02 -7.107434764876019E-01 + 2.284767388490885E-01 9.084190996710570E-02 -8.103883816601349E-01 + 2.653260916525235E-01 1.054931414516674E-01 -9.410900344149189E-01 + 3.136604375582556E-01 1.247107840055890E-01 -1.112528022170073E+00 + 3.770593527738627E-01 1.499180702135404E-01 -1.337398810152212E+00 + 4.602180751108718E-01 1.829818175585505E-01 -1.632356024418675E+00 + 5.692952269391951E-01 2.263506823969169E-01 -2.019243796852426E+00 + 7.123689144203711E-01 2.832365041321945E-01 -2.526714511989871E+00 + 9.000349811112123E-01 3.578521696922260E-01 -3.192350763821030E+00 + 1.146191721789648E+00 4.557236142302913E-01 -4.065448671809341E+00 + 1.469069171346103E+00 5.840990643998142E-01 -5.210668684746564E+00 + 1.892579196481946E+00 7.524858322053912E-01 -6.712824246032703E+00 + 2.448086376178003E+00 9.733544136558714E-01 -8.683162962447156E+00 + 3.176730819942671E+00 1.263062036812301E+00 -1.126760545126489E+01 + 4.132474948613727E+00 1.643064055948581E+00 -1.465755202357874E+01 + 5.386099878174313E+00 2.141502906035994E+00 -1.910405753216110E+01 + 7.030447373356976E+00 2.795292293369133E+00 -2.493642415390348E+01 + 9.187295583021434E+00 3.652850974668708E+00 -3.258658906312444E+01 + 1.201637776495771E+01 4.777688584639800E+00 -4.262111311380772E+01 + 1.572721191466100E+01 6.253109073518827E+00 -5.578313956926022E+01 + 2.059461738436690E+01 8.188380084825040E+00 -7.304743028589213E+01 + 2.697906763214134E+01 1.072682516907877E+01 -9.569255525636444E+01 + 1.348999066177580E-01 -5.363594225509117E-02 -4.784789802268501E-01 + 1.349087977109562E-01 -5.363947733656989E-02 -4.785105162101823E-01 + 1.349261014827489E-01 -5.364635728280513E-02 -4.785718912792170E-01 + 1.349597779398029E-01 -5.365974697706950E-02 -4.786913389292032E-01 + 1.350253187810308E-01 -5.368580588892190E-02 -4.789238069542761E-01 + 1.351528738222864E-01 -5.373652152689870E-02 -4.793762342953541E-01 + 1.354011203849622E-01 -5.383522388062554E-02 -4.802567446317363E-01 + 1.358842557849725E-01 -5.402731758228962E-02 -4.819703865407960E-01 + 1.368245298907936E-01 -5.440116875022764E-02 -4.853054622022033E-01 + 1.386544835519387E-01 -5.512875479057076E-02 -4.917961587756866E-01 + 1.422159241799500E-01 -5.654477670384170E-02 -5.044282985788507E-01 + 1.491471703727703E-01 -5.930062679947841E-02 -5.290128642260247E-01 + 1.626367041888410E-01 -6.466403938401775E-02 -5.768591418542068E-01 + 1.789654158846400E-01 -7.115630360846621E-02 -6.347757521507752E-01 + 2.003833659775424E-01 -7.967203918759015E-02 -7.107434764876019E-01 + 2.284767388490885E-01 -9.084190996710512E-02 -8.103883816601349E-01 + 2.653260916525235E-01 -1.054931414516668E-01 -9.410900344149189E-01 + 3.136604375582556E-01 -1.247107840055882E-01 -1.112528022170073E+00 + 3.770593527738627E-01 -1.499180702135395E-01 -1.337398810152212E+00 + 4.602180751108718E-01 -1.829818175585493E-01 -1.632356024418675E+00 + 5.692952269391951E-01 -2.263506823969155E-01 -2.019243796852426E+00 + 7.123689144203711E-01 -2.832365041321926E-01 -2.526714511989871E+00 + 9.000349811112123E-01 -3.578521696922237E-01 -3.192350763821030E+00 + 1.146191721789648E+00 -4.557236142302884E-01 -4.065448671809341E+00 + 1.469069171346103E+00 -5.840990643998104E-01 -5.210668684746565E+00 + 1.892579196481946E+00 -7.524858322053863E-01 -6.712824246032704E+00 + 2.448086376178003E+00 -9.733544136558651E-01 -8.683162962447156E+00 + 3.176730819942671E+00 -1.263062036812293E+00 -1.126760545126490E+01 + 4.132474948613727E+00 -1.643064055948570E+00 -1.465755202357874E+01 + 5.386099878174313E+00 -2.141502906035980E+00 -1.910405753216110E+01 + 7.030447373356976E+00 -2.795292293369116E+00 -2.493642415390348E+01 + 9.187295583021434E+00 -3.652850974668685E+00 -3.258658906312445E+01 + 1.201637776495771E+01 -4.777688584639770E+00 -4.262111311380773E+01 + 1.572721191466100E+01 -6.253109073518787E+00 -5.578313956926023E+01 + 2.059461738436690E+01 -8.188380084824988E+00 -7.304743028589215E+01 + 2.697906763214134E+01 -1.072682516907870E+01 -9.569255525636446E+01 + 1.173778669539042E-01 -1.572097188784589E-01 -4.599178994837070E-01 + 1.173856031902046E-01 -1.572200803849808E-01 -4.599482121281733E-01 + 1.174006593890872E-01 -1.572402458629805E-01 -4.600072063452605E-01 + 1.174299616383968E-01 -1.572794917489045E-01 -4.601220204009456E-01 + 1.174869894328155E-01 -1.573558717663770E-01 -4.603454705632452E-01 + 1.175979764530232E-01 -1.575045219224823E-01 -4.607803474146357E-01 + 1.178139784706383E-01 -1.577938236226042E-01 -4.616267011336447E-01 + 1.182343598046582E-01 -1.583568601903838E-01 -4.632738677174481E-01 + 1.190525024680627E-01 -1.594526372857949E-01 -4.664795696525392E-01 + 1.206447649295804E-01 -1.615852295747161E-01 -4.727184801535756E-01 + 1.237436129175441E-01 -1.657356629884207E-01 -4.848605959921886E-01 + 1.297745651534927E-01 -1.738132020525377E-01 -5.084914810664021E-01 + 1.415119543424968E-01 -1.895336415413132E-01 -5.544817134783566E-01 + 1.557197428948564E-01 -2.085628035304146E-01 -6.101516318103708E-01 + 1.743557327888562E-01 -2.335228646414934E-01 -6.831724282286082E-01 + 1.988000802007964E-01 -2.662623332016748E-01 -7.789519240373415E-01 + 2.308631003995790E-01 -3.092058499195623E-01 -9.045834189998362E-01 + 2.729193372441506E-01 -3.655337534928779E-01 -1.069371011513684E+00 + 3.280834186862928E-01 -4.394176121858743E-01 -1.285518647539322E+00 + 4.004407218991713E-01 -5.363291645262083E-01 -1.569033928312328E+00 + 4.953499307787151E-01 -6.634455488509425E-01 -1.940913611614823E+00 + 6.198398928166817E-01 -8.301808324531277E-01 -2.428698603224808E+00 + 7.831301660280374E-01 -1.048883204657806E+00 -3.068513599104568E+00 + 9.973138069332166E-01 -1.335749467002575E+00 -3.907742431466700E+00 + 1.278252965948651E+00 -1.712024546427146E+00 -5.008537251224668E+00 + 1.646753616767454E+00 -2.205574865794458E+00 -6.452421432128382E+00 + 2.130106418597481E+00 -2.852952093433595E+00 -8.346327081432195E+00 + 2.764107825427604E+00 -3.702100110201128E+00 -1.083051428695993E+01 + 3.595711122937661E+00 -4.815905668375884E+00 -1.408895858928100E+01 + 4.686503725255814E+00 -6.276855699376901E+00 -1.836297596112118E+01 + 6.117268255452522E+00 -8.193146184207638E+00 -2.396909434153340E+01 + 7.993965197216266E+00 -1.070669500129942E+01 -3.132249526644916E+01 + 1.045558018479302E+01 -1.400365217241514E+01 -4.096776165102673E+01 + 1.368441709085608E+01 -1.832818588119271E+01 -5.361920886292037E+01 + 1.791959920445612E+01 -2.400056523819374E+01 -7.021378595114467E+01 + 2.347477837800819E+01 -3.144087897755108E+01 -9.198046482390914E+01 + 7.787945231879136E-02 -2.469573467891381E-01 -4.277426719411943E-01 + 7.788458526132747E-02 -2.469736234556040E-01 -4.277708639544910E-01 + 7.789457495149146E-02 -2.470053009687951E-01 -4.278257310167956E-01 + 7.791401680358134E-02 -2.470669514820670E-01 -4.279325128380951E-01 + 7.795185437476518E-02 -2.471869351993415E-01 -4.281403307324955E-01 + 7.802549354177833E-02 -2.474204465141218E-01 -4.285447841938372E-01 + 7.816880947746681E-02 -2.478749042969700E-01 -4.293319281636254E-01 + 7.844772976208375E-02 -2.487593662622739E-01 -4.308638612248940E-01 + 7.899056210516596E-02 -2.504806987987453E-01 -4.338452966347840E-01 + 8.004701790615155E-02 -2.538307418953947E-01 -4.396477414857260E-01 + 8.210308341820062E-02 -2.603505679671270E-01 -4.509404114984786E-01 + 8.610458105387428E-02 -2.730393993580295E-01 -4.729181121561966E-01 + 9.389226254284802E-02 -2.977342977027599E-01 -5.156909307770184E-01 + 1.033190379634091E-01 -3.276267966524105E-01 -5.674662577230126E-01 + 1.156838962116273E-01 -3.668360167417377E-01 -6.353786190428776E-01 + 1.319025619459414E-01 -4.182657397168141E-01 -7.244575122549026E-01 + 1.531761675887170E-01 -4.857247812194808E-01 -8.412999995674189E-01 + 1.810802075669768E-01 -5.742090665162117E-01 -9.945592773727767E-01 + 2.176812172962676E-01 -6.902716219582984E-01 -1.195585520254751E+00 + 2.656898179952111E-01 -8.425078832398831E-01 -1.459266459548787E+00 + 3.286614616224664E-01 -1.042192261726271E+00 -1.805129948565024E+00 + 4.112597428343018E-01 -1.304113112092807E+00 -2.258790168961511E+00 + 5.196017784897997E-01 -1.647667937847021E+00 -2.853844582353283E+00 + 6.617112330421702E-01 -2.098299944171969E+00 -3.634362112824792E+00 + 8.481125402632000E-01 -2.689382327249094E+00 -4.658146831773264E+00 + 1.092610328557112E+00 -3.464689847976326E+00 -6.001018849163090E+00 + 1.413311773047143E+00 -4.481640731484173E+00 -7.762429448200743E+00 + 1.833967588446001E+00 -5.815548983138088E+00 -1.007282631270070E+01 + 2.385730974826315E+00 -7.565202041792100E+00 -1.310331430590774E+01 + 3.109464781433042E+00 -9.860176843740915E+00 -1.707832726497341E+01 + 4.058767753965601E+00 -1.287043611516001E+01 -2.229224926702655E+01 + 5.303943985105570E+00 -1.681891558145728E+01 -2.913121631529588E+01 + 6.937209540420972E+00 -2.199803428521654E+01 -3.810171304863719E+01 + 9.079521855311167E+00 -2.879135074452250E+01 -4.986808230804905E+01 + 1.188953767888242E+01 -3.770196877742834E+01 -6.530172546788141E+01 + 1.557536297794747E+01 -4.938979668946100E+01 -8.554563724164366E+01 + 4.786217425729569E-01 -1.447002458962108E-01 -9.649517491189207E-17 + 4.786532879655863E-01 -1.447097829181727E-01 -9.650153479467356E-17 + 4.787146813469174E-01 -1.447283437911645E-01 -9.651391234576040E-17 + 4.788341646361426E-01 -1.447644668081391E-01 -9.653800143296077E-17 + 4.790667020220067E-01 -1.448347691239798E-01 -9.658488341454791E-17 + 4.795192643524810E-01 -1.449715909076100E-01 -9.667612473802581E-17 + 4.804000374041059E-01 -1.452378723273878E-01 -9.685369784454064E-17 + 4.821141906073905E-01 -1.457561070166137E-01 -9.719928915070976E-17 + 4.854502613453749E-01 -1.467646910678072E-01 -9.787187608261493E-17 + 4.919428945286341E-01 -1.487275889777121E-01 -9.918085918749728E-17 + 5.045788033456718E-01 -1.525477645993174E-01 -1.017283912425938E-16 + 5.291707042163662E-01 -1.599825586893546E-01 -1.066863769855249E-16 + 5.770312575956869E-01 -1.744520932439006E-01 -1.163355676906746E-16 + 6.349651482985138E-01 -1.919670690269855E-01 -1.280156490982666E-16 + 7.109555388986518E-01 -2.149410111351691E-01 -1.433361107078133E-16 + 8.106301748243169E-01 -2.450753386116534E-01 -1.634315651604704E-16 + 9.413708246413719E-01 -2.846017589440405E-01 -1.897902546014711E-16 + 1.112859963837561E+00 -3.364475452988791E-01 -2.243642678781531E-16 + 1.337797845845958E+00 -4.044523264085181E-01 -2.697141095966417E-16 + 1.632843065616633E+00 -4.936524442757303E-01 -3.291983276257655E-16 + 2.019846272601023E+00 -6.106539388426584E-01 -4.072222426043658E-16 + 2.527468400262042E+00 -7.641217823636006E-01 -5.095642000225044E-16 + 3.193303255996177E+00 -9.654215955168052E-01 -6.438035066639198E-16 + 4.066661667602988E+00 -1.229461369881561E+00 -8.198817438031892E-16 + 5.212223376419471E+00 -1.575795533607441E+00 -1.050839027252891E-15 + 6.714827131379749E+00 -2.030073125884142E+00 -1.353779740682883E-15 + 8.685753731879824E+00 -2.625937330052158E+00 -1.751139263113617E-15 + 1.127096733309399E+01 -3.407517042204279E+00 -2.272345502706332E-15 + 1.466192535365497E+01 -4.432694997474684E+00 -2.955998287792746E-15 + 1.910975755282273E+01 -5.777394487023165E+00 -3.852728017892745E-15 + 2.494386436039706E+01 -7.541202134169660E+00 -5.028945282543508E-15 + 3.259631182650281E+01 -9.854743144865701E+00 -6.571759139633131E-15 + 4.263382984819577E+01 -1.288935523356584E+01 -8.595428294272279E-15 + 5.579978341822164E+01 -1.686977766234934E+01 -1.124982294377536E-14 + 7.306922522977817E+01 -2.209079512634727E+01 -1.473152396153235E-14 + 9.572110675864127E+01 -2.893906910909200E+01 -1.929838141029925E-14 + 4.366624927850382E-01 -2.109670608544510E-01 -1.218018893744615E-01 + 4.366912726931706E-01 -2.109809654437635E-01 -1.218099171928441E-01 + 4.367472839115252E-01 -2.110080264400853E-01 -1.218255408663551E-01 + 4.368562924798338E-01 -2.110606923265400E-01 -1.218559475300767E-01 + 4.370684440507826E-01 -2.111631902376687E-01 -1.219151247266583E-01 + 4.374813316774566E-01 -2.113626708216479E-01 -1.220302948955168E-01 + 4.382848901498170E-01 -2.117508982786419E-01 -1.222544381223191E-01 + 4.398487689797630E-01 -2.125064633334327E-01 -1.226906638100928E-01 + 4.428923769795259E-01 -2.139769377724158E-01 -1.235396426232762E-01 + 4.488158216088903E-01 -2.168387629216765E-01 -1.251919181435755E-01 + 4.603439803861967E-01 -2.224084232760616E-01 -1.284075630484745E-01 + 4.827799873231008E-01 -2.332480500335602E-01 -1.346658244748314E-01 + 5.264447578208595E-01 -2.543440416678385E-01 -1.468456009237041E-01 + 5.792997681157088E-01 -2.798801624878728E-01 -1.615888871532097E-01 + 6.486283222444570E-01 -3.133752337144984E-01 -1.809272755424277E-01 + 7.395647990471329E-01 -3.573098549666236E-01 -2.062929409490865E-01 + 8.588438308574121E-01 -4.149377648017075E-01 -2.395644302052077E-01 + 1.015299061253791E+00 -4.905268081873934E-01 -2.832057847517198E-01 + 1.220517352741252E+00 -5.896750073206647E-01 -3.404490242109806E-01 + 1.489696894098452E+00 -7.197251435713947E-01 -4.155335053834871E-01 + 1.842772757658596E+00 -8.903085539276393E-01 -5.140198832719494E-01 + 2.305893263772081E+00 -1.114058414771046E+00 -6.432019256610318E-01 + 2.913356490003837E+00 -1.407545337812922E+00 -8.126466796828938E-01 + 3.710150340314304E+00 -1.792504567159080E+00 -1.034902994372929E+00 + 4.755284288307993E+00 -2.297445662056324E+00 -1.326430871436758E+00 + 6.126159538943099E+00 -2.959763876245080E+00 -1.708820470687829E+00 + 7.924301256960678E+00 -3.828509599813990E+00 -2.210391048047675E+00 + 1.028287738310875E+01 -4.968020964670064E+00 -2.868288241291968E+00 + 1.337656087150955E+01 -6.462688639466577E+00 -3.731235025684768E+00 + 1.743446573211479E+01 -8.423205688248954E+00 -4.863140071550125E+00 + 2.275711490403628E+01 -1.099476534888699E+01 -6.347830733856681E+00 + 2.973869657747422E+01 -1.436781384766332E+01 -8.295261192614859E+00 + 3.889625723730799E+01 -1.879215458890610E+01 -1.084965551055801E+01 + 5.090799342562633E+01 -2.459544825685127E+01 -1.420018867193261E+01 + 6.666347805927931E+01 -3.220747892222727E+01 -1.859499662566713E+01 + 8.732954099551750E+01 -4.219198326855674E+01 -2.435955289774544E+01 + 4.162833480437566E-01 -2.769929742204274E-01 -1.556266593422923E-16 + 4.163107847865767E-01 -2.770112304995517E-01 -1.556369165112336E-16 + 4.163641819477479E-01 -2.770467607184692E-01 -1.556568789282999E-16 + 4.164681030596610E-01 -2.771159093356512E-01 -1.556957296187207E-16 + 4.166703534651952E-01 -2.772504858005265E-01 -1.557713405099846E-16 + 4.170639715259117E-01 -2.775123973995782E-01 -1.559184937990460E-16 + 4.178300277289294E-01 -2.780221275799734E-01 -1.562048823089499E-16 + 4.193209199535225E-01 -2.790141602266618E-01 -1.567622492501047E-16 + 4.222224820276844E-01 -2.809448459304839E-01 -1.578469921652324E-16 + 4.278694780555239E-01 -2.847023304239492E-01 -1.599581098240619E-16 + 4.388596148588687E-01 -2.920151155606918E-01 -1.640667494909062E-16 + 4.602485278952471E-01 -3.062471973029233E-01 -1.720629499117419E-16 + 5.018754529339347E-01 -3.339455566735337E-01 -1.876250888080160E-16 + 5.522637070431756E-01 -3.674736630392638E-01 -2.064626322600002E-16 + 6.183566806889693E-01 -4.114516156315361E-01 -2.311713522768572E-16 + 7.050491300021209E-01 -4.691363620681853E-01 -2.635811432046188E-16 + 8.187613803873276E-01 -5.447999565586034E-01 -3.060922302728526E-16 + 9.679148071288000E-01 -6.440459424536394E-01 -3.618529270249859E-16 + 1.163555511040310E+00 -7.742243430783291E-01 -4.349927951561573E-16 + 1.420172377733784E+00 -9.449759945065787E-01 -5.309284742604626E-16 + 1.756770104868121E+00 -1.168946532826011E+00 -6.567648308245478E-16 + 2.198276664323291E+00 -1.462722912822986E+00 -8.218211350188125E-16 + 2.777389434042454E+00 -1.848061815393452E+00 -1.038321233226878E-15 + 3.536996721566467E+00 -2.353500917869085E+00 -1.322298829556281E-15 + 4.533354014014712E+00 -3.016472355757209E+00 -1.694784920253219E-15 + 5.840250183284828E+00 -3.886074896009100E+00 -2.183365320806182E-15 + 7.554472189986930E+00 -5.026710125215083E+00 -2.824223634086700E-15 + 9.802972994685842E+00 -6.522851943900346E+00 -3.664820958981295E-15 + 1.275227352225179E+01 -8.485302589210560E+00 -4.767410795107295E-15 + 1.662079497606799E+01 -1.105939849855606E+01 -6.213649452696168E-15 + 2.169503481658613E+01 -1.443577372936440E+01 -8.110643408357343E-15 + 2.835078437529717E+01 -1.886447805923320E+01 -1.059888146570154E-14 + 3.708095945187753E+01 -2.467349533386332E+01 -1.386263916589840E-14 + 4.853210499084889E+01 -3.229303350654385E+01 -1.814362598472543E-14 + 6.355227732467419E+01 -4.228738525662234E+01 -2.375888600904197E-14 + 8.325385007737523E+01 -5.539671874122084E+01 -3.112427779254830E-14 + 3.561379211431202E-01 -2.656153612779345E-01 -2.294148962100036E-01 + 3.561613937720322E-01 -2.656328676720546E-01 -2.294300166743124E-01 + 3.562070760076148E-01 -2.656669384710004E-01 -2.294594439964610E-01 + 3.562959823953757E-01 -2.657332467771455E-01 -2.295167152066010E-01 + 3.564690112693765E-01 -2.658622954522535E-01 -2.296281759604651E-01 + 3.568057586279407E-01 -2.661134489127368E-01 -2.298450999545908E-01 + 3.574611335424155E-01 -2.666022416931349E-01 -2.302672756316440E-01 + 3.587366187618225E-01 -2.675535261457144E-01 -2.310889104305680E-01 + 3.612189575102153E-01 -2.694049080523427E-01 -2.326879692572514E-01 + 3.660500645806976E-01 -2.730080521538742E-01 -2.358000442746959E-01 + 3.754523250665298E-01 -2.800204613007506E-01 -2.418567388456449E-01 + 3.937509263920050E-01 -2.936679537844105E-01 -2.536442275533838E-01 + 4.293635124263146E-01 -3.202285903916627E-01 -2.765849402486423E-01 + 4.724715736851332E-01 -3.523795144732659E-01 -3.043540454530612E-01 + 5.290153060899802E-01 -3.945510525743172E-01 -3.407780647188197E-01 + 6.031822618961149E-01 -4.498663717015223E-01 -3.885545115904758E-01 + 7.004651454200476E-01 -5.224220494862096E-01 -4.512216450286023E-01 + 8.280685952834737E-01 -6.175914611764746E-01 -5.334205080772019E-01 + 9.954427501936967E-01 -7.424227245318924E-01 -6.412386372270459E-01 + 1.214983113419728E+00 -9.061606738808392E-01 -7.826608971249639E-01 + 1.502948546979472E+00 -1.120931520032295E+00 -9.681608288371739E-01 + 1.880665380944418E+00 -1.402640901028088E+00 -1.211476306118280E+00 + 2.376106812566464E+00 -1.772151832158228E+00 -1.530626943738896E+00 + 3.025964563387501E+00 -2.256829792622395E+00 -1.949248605754948E+00 + 3.878366218452041E+00 -2.892569375863489E+00 -2.498343845594011E+00 + 4.996439490085389E+00 -3.726452594552656E+00 -3.218577913181168E+00 + 6.462987370786356E+00 -4.820235710693311E+00 -4.163290368283094E+00 + 8.386620410727055E+00 -6.254922820760108E+00 -5.402445336076543E+00 + 1.090980026802761E+01 -8.136764909395103E+00 -7.027812955519561E+00 + 1.421939022624724E+01 -1.060512865345441E+01 -9.159765751575508E+00 + 1.856049403613054E+01 -1.384281772937787E+01 -1.195619326141376E+01 + 2.425460796748922E+01 -1.808961100592916E+01 -1.562419511973208E+01 + 3.172343038760198E+01 -2.366002024252868E+01 -2.043541857726592E+01 + 4.152009217126744E+01 -3.096658240427140E+01 -2.674617632833653E+01 + 5.437012082438973E+01 -4.055041159093992E+01 -3.502383454650455E+01 + 7.122517206861910E+01 -5.312127321450441E+01 -4.588142539051701E+01 + 3.561379211431202E-01 -3.314868087634006E-01 -1.153222023970712E-01 + 3.561613937720323E-01 -3.315086566666690E-01 -1.153298031469535E-01 + 3.562070760076149E-01 -3.315511768746880E-01 -1.153445956632935E-01 + 3.562959823953758E-01 -3.316339293506472E-01 -1.153733847358271E-01 + 3.564690112693766E-01 -3.317949815325725E-01 -1.154294137898633E-01 + 3.568057586279407E-01 -3.321084199524174E-01 -1.155384570698273E-01 + 3.574611335424156E-01 -3.327184312038043E-01 -1.157506761963119E-01 + 3.587366187618226E-01 -3.339056300385955E-01 -1.161636952990089E-01 + 3.612189575102154E-01 -3.362161465579633E-01 -1.169675096489141E-01 + 3.660500645806977E-01 -3.407128546323189E-01 -1.185318864656143E-01 + 3.754523250665298E-01 -3.494643105671622E-01 -1.215764636430651E-01 + 3.937509263920051E-01 -3.664963214767162E-01 -1.275017944780023E-01 + 4.293635124263147E-01 -3.996438797553564E-01 -1.390336241729404E-01 + 4.724715736851332E-01 -4.397680923435474E-01 -1.529925885805442E-01 + 5.290153060899803E-01 -4.923979873861537E-01 -1.713022022598388E-01 + 6.031822618961151E-01 -5.614312636431680E-01 -1.953184504066136E-01 + 7.004651454200478E-01 -6.519804320752783E-01 -2.268199438378879E-01 + 8.280685952834739E-01 -7.707514414826960E-01 -2.681396405005774E-01 + 9.954427501936969E-01 -9.265403119926813E-01 -3.223376211779528E-01 + 1.214983113419729E+00 -1.130884556399357E+00 -3.934277149287515E-01 + 1.502948546979472E+00 -1.398917632738137E+00 -4.866747578320866E-01 + 1.880665380944419E+00 -1.750489707695407E+00 -6.089844996182794E-01 + 2.376106812566465E+00 -2.211637733073932E+00 -7.694150341427156E-01 + 3.025964563387502E+00 -2.816513707186379E+00 -9.798476295510881E-01 + 3.878366218452042E+00 -3.609913925604663E+00 -1.255866638909677E+00 + 4.996439490085390E+00 -4.650596534150722E+00 -1.617913656290453E+00 + 6.462987370786357E+00 -6.015633077610882E+00 -2.092801393547802E+00 + 8.386620410727055E+00 -7.806116313979095E+00 -2.715699393451007E+00 + 1.090980026802761E+01 -1.015464700722288E+01 -3.532738638398172E+00 + 1.421939022624724E+01 -1.323515416030625E+01 -4.604427948506034E+00 + 1.856049403613054E+01 -1.727577596162957E+01 -6.010135182891989E+00 + 2.425460796748922E+01 -2.257575539033740E+01 -7.853965115847203E+00 + 3.172343038760198E+01 -2.952760174614506E+01 -1.027246929545095E+01 + 4.152009217126744E+01 -3.864615935657312E+01 -1.344475886631499E+01 + 5.437012082438973E+01 -5.060673625068591E+01 -1.760576929841669E+01 + 7.122517206861910E+01 -6.629511655728027E+01 -2.306365938987620E+01 + 3.190906466620158E-01 -3.849650540488245E-01 -1.959758797682362E-16 + 3.191116775489103E-01 -3.849904266399510E-01 -1.959887963065446E-16 + 3.191526076864430E-01 -3.850398065662270E-01 -1.960139343662024E-16 + 3.192322655804184E-01 -3.851359093689272E-01 -1.960628578492803E-16 + 3.193872951125696E-01 -3.853229438459577E-01 -1.961580723260167E-16 + 3.196890123014077E-01 -3.856869487929017E-01 -1.963433779504287E-16 + 3.202762117902872E-01 -3.863953721996629E-01 -1.967040182187551E-16 + 3.214190145622078E-01 -3.877740999544929E-01 -1.974058933159150E-16 + 3.236431278324724E-01 -3.904573684684867E-01 -1.987718768049453E-16 + 3.279716786205086E-01 -3.956795233812079E-01 -2.014303425346080E-16 + 3.363958682403027E-01 -4.058428379321875E-01 -2.066042264743096E-16 + 3.527909561635846E-01 -4.256225963630472E-01 -2.166735964582128E-16 + 3.846989402123482E-01 -4.641177980633091E-01 -2.362705207523014E-16 + 4.233226821022055E-01 -5.107151867355817E-01 -2.599920615620625E-16 + 4.739844484196876E-01 -5.718357799357835E-01 -2.911069949784521E-16 + 5.404361809764745E-01 -6.520060860320879E-01 -3.319196508371301E-16 + 6.275992051025193E-01 -7.571634093342758E-01 -3.854525591660129E-16 + 7.419286963359504E-01 -8.950955588111338E-01 -4.556702946662922E-16 + 8.918917419823833E-01 -1.076017602677102E+00 -5.477730877463199E-16 + 1.088594402135376E+00 -1.313328382511873E+00 -6.685819465439472E-16 + 1.346604209448087E+00 -1.624602813324227E+00 -8.270438115527935E-16 + 1.685029020875480E+00 -2.032893457959152E+00 -1.034894153920029E-15 + 2.128932119686185E+00 -2.568437768686345E+00 -1.307526088548372E-15 + 2.711188368282849E+00 -3.270897431970368E+00 -1.665130367341754E-15 + 3.474918875995368E+00 -4.192295659263769E+00 -2.134190678950755E-15 + 4.476684490046975E+00 -5.400869955601918E+00 -2.749444994892135E-15 + 5.790674615309771E+00 -6.986125696824585E+00 -3.556458216680203E-15 + 7.514201581168667E+00 -9.065464776510177E+00 -4.614996650732910E-15 + 9.774907460863670E+00 -1.179288023123864E+01 -6.003454220094789E-15 + 1.274021707059214E+01 -1.537036075635649E+01 -7.824658212223336E-15 + 1.662973722468417E+01 -2.006284971523849E+01 -1.021348452865829E-14 + 2.173152051889918E+01 -2.621786648601577E+01 -1.334684641165232E-14 + 2.842339811561205E+01 -3.429124327613948E+01 -1.745679639933169E-14 + 3.720096140807205E+01 -4.488088343841593E+01 -2.284771182244427E-14 + 4.871426484789990E+01 -5.877104138368625E+01 -2.991883657731322E-14 + 6.381596809752718E+01 -7.699040340052385E+01 -3.919384858817716E-14 + 2.448423563676756E-01 -3.036358575905079E-01 -3.128488774785658E-01 + 2.448584936376258E-01 -3.036558698705446E-01 -3.128694969778403E-01 + 2.448898998584750E-01 -3.036948176038645E-01 -3.129096264762011E-01 + 2.449510223848425E-01 -3.037706173592132E-01 -3.129877261728647E-01 + 2.450699785383855E-01 -3.039181382139892E-01 -3.131397231543396E-01 + 2.453014900171598E-01 -3.042052420772362E-01 -3.134355384182198E-01 + 2.457520557357702E-01 -3.047640012331305E-01 -3.140112516297277E-01 + 2.466289429979561E-01 -3.058514536650298E-01 -3.151316999039557E-01 + 2.483355337100837E-01 -3.079678445629132E-01 -3.173123070363373E-01 + 2.516568863905416E-01 -3.120867469638400E-01 -3.215561865398956E-01 + 2.581208754123923E-01 -3.201029206325735E-01 -3.298155896085500E-01 + 2.707010372002226E-01 -3.357039312981428E-01 -3.458899713136147E-01 + 2.951844436653344E-01 -3.660664887782204E-01 -3.771737995821164E-01 + 3.248209374797903E-01 -4.028195340798058E-01 -4.150420179729317E-01 + 3.636943622344164E-01 -4.510275559186663E-01 -4.647127835980164E-01 + 4.146836311275027E-01 -5.142607751130444E-01 -5.298646460996991E-01 + 4.815649403680026E-01 -5.972021582515060E-01 -6.153226641918237E-01 + 5.692914291533694E-01 -7.059942318572213E-01 -7.274157429744185E-01 + 6.843600024514056E-01 -8.486939895845903E-01 -8.744453440753469E-01 + 8.352924829846301E-01 -1.035869582259202E+00 -1.067300280657344E+00 + 1.033266725881591E+00 -1.281382980817502E+00 -1.320263128176157E+00 + 1.292944435491601E+00 -1.603416575103656E+00 -1.652067972578569E+00 + 1.633556991355226E+00 -2.025819737040389E+00 -2.087287831339529E+00 + 2.080329698131594E+00 -2.579875072818821E+00 -2.658154497861694E+00 + 2.666349937503512E+00 -3.306615170352773E+00 -3.406945584449314E+00 + 3.435017574860820E+00 -4.259861417176872E+00 -4.389115545026784E+00 + 4.443259094562806E+00 -5.510209939527093E+00 -5.677402556904656E+00 + 5.765743498284928E+00 -7.150259855854609E+00 -7.367215411695489E+00 + 7.500412190172579E+00 -9.301471042148549E+00 -9.583699361226332E+00 + 9.775732384608283E+00 -1.212315928588126E+01 -1.249100420542811E+01 + 1.276021121414967E+01 -1.582429499749685E+01 -1.630444100424106E+01 + 1.667487513958882E+01 -2.067897927603889E+01 -2.130642772315814E+01 + 2.180963887034370E+01 -2.704674346538169E+01 -2.786740472532358E+01 + 2.854477605525997E+01 -3.539917555871111E+01 -3.647326908320877E+01 + 3.737908183411086E+01 -4.635484536671622E+01 -4.776135945783967E+01 + 4.896681293022350E+01 -6.072511496015517E+01 -6.256765653700351E+01 + 2.596502903767807E-01 -3.700662038743045E-01 -2.136578224248129E-01 + 2.596674036201370E-01 -3.700905944998480E-01 -2.136719043590361E-01 + 2.597007092723293E-01 -3.701380633328560E-01 -2.136993105025514E-01 + 2.597655284562129E-01 -3.702304467816987E-01 -2.137526481116094E-01 + 2.598916790139341E-01 -3.704102426831197E-01 -2.138564533236940E-01 + 2.601371921824114E-01 -3.707601599742875E-01 -2.140584781659438E-01 + 2.606150078733181E-01 -3.714411661022946E-01 -2.144516572372685E-01 + 2.615449288054314E-01 -3.727665345767571E-01 -2.152168590827749E-01 + 2.633547332058303E-01 -3.753459557021437E-01 -2.167060885638702E-01 + 2.668769595098018E-01 -3.803660036890168E-01 -2.196044146204363E-01 + 2.737318871106269E-01 -3.901359794182540E-01 -2.252451127376875E-01 + 2.870728903163463E-01 -4.091502250986702E-01 -2.362229925997134E-01 + 3.130370400345128E-01 -4.461555922372282E-01 -2.575880512786209E-01 + 3.444659330529965E-01 -4.909495769250342E-01 -2.834498703962016E-01 + 3.856904016262419E-01 -5.497046916198751E-01 -3.173721516815354E-01 + 4.397634740741653E-01 -6.267722605549442E-01 -3.618671333519877E-01 + 5.106897289211707E-01 -7.278598035273204E-01 -4.202300534988070E-01 + 6.037218685590129E-01 -8.604537270855095E-01 -4.967831909580362E-01 + 7.257497272731739E-01 -1.034373757660980E+00 -5.971959674282522E-01 + 8.858105230404270E-01 -1.262500177210653E+00 -7.289048171645212E-01 + 1.095758141654776E+00 -1.561727719457262E+00 -9.016639192295511E-01 + 1.371141019457850E+00 -1.954216770991472E+00 -1.128267578786809E+00 + 1.732353639480011E+00 -2.469034539495098E+00 -1.425497756015980E+00 + 2.206146919237137E+00 -3.144307731781717E+00 -1.815366915359198E+00 + 2.827609347458063E+00 -4.030046166075383E+00 -2.326748238830245E+00 + 3.642765590046031E+00 -5.191846431429322E+00 -2.997513934776920E+00 + 4.711985014512857E+00 -6.715749882285969E+00 -3.877340002348006E+00 + 6.114452563589863E+00 -8.714614744677203E+00 -5.031385168723270E+00 + 7.954033084861150E+00 -1.133647424362139E+01 -6.545116456216077E+00 + 1.036696342073085E+01 -1.477549974331443E+01 -8.530638754213840E+00 + 1.353194192449140E+01 -1.928638081543198E+01 -1.113499715548330E+01 + 1.768336261839050E+01 -2.520318720392910E+01 -1.455106691662501E+01 + 2.312867409752263E+01 -3.296410957790926E+01 -1.903183753840225E+01 + 3.027114875646134E+01 -4.314391133921795E+01 -2.490914882559086E+01 + 3.963974859672469E+01 -5.649649482168845E+01 -3.261826649357216E+01 + 5.192829943633307E+01 -7.401073427711616E+01 -4.273011735781493E+01 + 2.448423563676756E-01 -4.227530042371372E-01 -1.065319274339714E-01 + 2.448584936376258E-01 -4.227808673873406E-01 -1.065389488272336E-01 + 2.448898998584750E-01 -4.228350944190221E-01 -1.065526138045281E-01 + 2.449510223848425E-01 -4.229406306180350E-01 -1.065792084699289E-01 + 2.450699785383855E-01 -4.231460242926788E-01 -1.066309667870154E-01 + 2.453014900171598E-01 -4.235457597576497E-01 -1.067316983941719E-01 + 2.457520557357702E-01 -4.243237216020571E-01 -1.069277414120196E-01 + 2.466289429979561E-01 -4.258377844871147E-01 -1.073092787063375E-01 + 2.483355337100837E-01 -4.287844411083724E-01 -1.080518234220519E-01 + 2.516568863905416E-01 -4.345191997695173E-01 -1.094969577851840E-01 + 2.581208754123923E-01 -4.456801394814339E-01 -1.123094662891280E-01 + 2.707010372002226E-01 -4.674014677209323E-01 -1.177831469976907E-01 + 2.951844436653344E-01 -5.096753364691233E-01 -1.284359789650522E-01 + 3.248209374797902E-01 -5.608466982424192E-01 -1.413309406672578E-01 + 3.636943622344163E-01 -6.279668540185955E-01 -1.582449294333638E-01 + 4.146836311275026E-01 -7.160066316461124E-01 -1.804305723679237E-01 + 4.815649403680025E-01 -8.314861378401933E-01 -2.095309081447876E-01 + 5.692914291533693E-01 -9.829576284571885E-01 -2.477010682264263E-01 + 6.843600024514055E-01 -1.181638876982569E+00 -2.977678829817486E-01 + 8.352924829846300E-01 -1.442243947645121E+00 -3.634392329153728E-01 + 1.033266725881591E+00 -1.784072899089213E+00 -4.495786492769077E-01 + 1.292944435491601E+00 -2.232441120583521E+00 -5.625655005995231E-01 + 1.633556991355226E+00 -2.820554155470354E+00 -7.107674400951266E-01 + 2.080329698131594E+00 -3.591966858741505E+00 -9.051601027204835E-01 + 2.666349937503512E+00 -4.603809010620711E+00 -1.160139945839857E+00 + 3.435017574860819E+00 -5.931016270726810E+00 -1.494590431362965E+00 + 4.443259094562805E+00 -7.671879811553702E+00 -1.933280509363657E+00 + 5.765743498284928E+00 -9.955325629607826E+00 -2.508698972982415E+00 + 7.500412190172578E+00 -1.295046263012897E+01 -3.263460534452808E+00 + 9.775732384608283E+00 -1.687910660361963E+01 -4.253461812984349E+00 + 1.276021121414967E+01 -2.203220760292583E+01 -5.552020962690775E+00 + 1.667487513958882E+01 -2.879139731017142E+01 -7.255307515802578E+00 + 2.180963887034370E+01 -3.765725216236356E+01 -9.489464567999548E+00 + 2.854477605525997E+01 -4.928636536447989E+01 -1.241995076526467E+01 + 3.737908183411086E+01 -6.453997329312740E+01 -1.626379394715584E+01 + 4.896681293022349E+01 -8.454773749638210E+01 -2.130566393472315E+01 + 1.989931522129460E-01 -4.587141364710194E-01 -2.210472389618336E-16 + 1.990062676161105E-01 -4.587443697768902E-01 -2.210618079237559E-16 + 1.990317927049006E-01 -4.588032095858611E-01 -2.210901619165369E-16 + 1.990814694208640E-01 -4.589177231337518E-01 -2.211453442219694E-16 + 1.991781498331907E-01 -4.591405884502759E-01 -2.212527395668285E-16 + 1.993663084492824E-01 -4.595743270796722E-01 -2.214617514956884E-16 + 1.997325011863378E-01 -4.604184656004822E-01 -2.218685287769859E-16 + 2.004451824520568E-01 -4.620613209839354E-01 -2.226601953458858E-16 + 2.018321968166533E-01 -4.652586324966849E-01 -2.242009302520114E-16 + 2.045315926618017E-01 -4.714812136273945E-01 -2.271994957393130E-16 + 2.097851344525706E-01 -4.835915493809995E-01 -2.330352790047461E-16 + 2.200095338851180E-01 -5.071605843175224E-01 -2.443928319630960E-16 + 2.399081752055240E-01 -5.530304445048156E-01 -2.664968072710537E-16 + 2.639949362225677E-01 -6.085546555515020E-01 -2.932530647560016E-16 + 2.955889195675878E-01 -6.813843314806609E-01 -3.283485577845728E-16 + 3.370299328652702E-01 -7.769131394719427E-01 -3.743824110471746E-16 + 3.913870414445967E-01 -9.022158136883124E-01 -4.347638293813630E-16 + 4.626858591612461E-01 -1.066572100508165E+00 -5.139645788656615E-16 + 5.562066799086063E-01 -1.282154003976275E+00 -6.178501597600559E-16 + 6.788755290334003E-01 -1.564927227941078E+00 -7.541141975126946E-16 + 8.397770953942394E-01 -1.935833574462308E+00 -9.328482222425356E-16 + 1.050827531116789E+00 -2.422341865313954E+00 -1.167289033794877E-15 + 1.327656945684371E+00 -3.060482245728938E+00 -1.474799001213765E-15 + 1.690766950681354E+00 -3.897514528166154E+00 -1.878151896282778E-15 + 2.167048981385575E+00 -4.995428190026005E+00 -2.407219488225040E-15 + 2.791775840050958E+00 -6.435533230405882E+00 -3.101183806482110E-15 + 3.611213951879051E+00 -8.324481878530330E+00 -4.011438908757505E-15 + 4.686049793819457E+00 -1.080216711342817E+01 -5.205397055336820E-15 + 6.095884252876326E+00 -1.405208294852837E+01 -6.771481169800618E-15 + 7.945127760011228E+00 -1.831491374982285E+01 -8.825673321010103E-15 + 1.037073278527658E+01 -2.390635899409781E+01 -1.152010419807408E-14 + 1.355233635229848E+01 -3.124051354469152E+01 -1.505431970318209E-14 + 1.772556371299756E+01 -4.086053495634173E+01 -1.969005905091276E-14 + 2.319947843468277E+01 -5.347886898819227E+01 -2.577063882004077E-14 + 3.037947122933908E+01 -7.003001237198275E+01 -3.374637851447124E-14 + 3.979728264081206E+01 -9.173972037458648E+01 -4.420795061591522E-14 + 1.173778669539041E-01 -3.196957251688385E-01 -3.661065600124092E-01 + 1.173856031902046E-01 -3.197167959357413E-01 -3.661306896625118E-01 + 1.174006593890872E-01 -3.197578036874153E-01 -3.661776505872826E-01 + 1.174299616383968E-01 -3.198376126333881E-01 -3.662690455493293E-01 + 1.174869894328155E-01 -3.199929361416831E-01 -3.664469176659518E-01 + 1.175979764530232E-01 -3.202952254644525E-01 -3.667930909031108E-01 + 1.178139784706382E-01 -3.208835384356407E-01 -3.674668103842789E-01 + 1.182343598046581E-01 -3.220285082575894E-01 -3.687779976471373E-01 + 1.190525024680626E-01 -3.242568390226338E-01 -3.713298194161940E-01 + 1.206447649295803E-01 -3.285935978640083E-01 -3.762961537648328E-01 + 1.237436129175441E-01 -3.370337619290882E-01 -3.859615924571233E-01 + 1.297745651534926E-01 -3.534599391852091E-01 -4.047723890238165E-01 + 1.415119543424967E-01 -3.854284290355244E-01 -4.413818051857295E-01 + 1.557197428948563E-01 -4.241254115431030E-01 -4.856965020470276E-01 + 1.743557327888561E-01 -4.748832456903289E-01 -5.438229472583526E-01 + 1.988000802007963E-01 -5.414609879422663E-01 -6.200659066422383E-01 + 2.308631003995789E-01 -6.287892957362595E-01 -7.200718305290180E-01 + 2.729193372441505E-01 -7.433355852950725E-01 -8.512470222223537E-01 + 3.280834186862926E-01 -8.935829997147289E-01 -1.023306138792927E+00 + 4.004407218991711E-01 -1.090658659055063E+00 -1.248991645426345E+00 + 4.953499307787149E-01 -1.349157719783967E+00 -1.545017505140038E+00 + 6.198398928166816E-01 -1.688224272301901E+00 -1.933306992251726E+00 + 7.831301660280372E-01 -2.132969126353670E+00 -2.442616300388778E+00 + 9.973138069332164E-01 -2.716329483595243E+00 -3.110664187249105E+00 + 1.278252965948651E+00 -3.481508222147669E+00 -3.986925374720776E+00 + 1.646753616767454E+00 -4.485173443249114E+00 -5.136294579790649E+00 + 2.130106418597481E+00 -5.801655234097509E+00 -6.643892529409590E+00 + 2.764107825427603E+00 -7.528450453457031E+00 -8.621369886267315E+00 + 3.595711122937661E+00 -9.793443216996360E+00 -1.121517594568350E+01 + 4.686503725255813E+00 -1.276437582172544E+01 -1.461740447211013E+01 + 6.117268255452520E+00 -1.666127151336993E+01 -1.908001990321006E+01 + 7.993965197216264E+00 -2.177272911001308E+01 -2.493351749492175E+01 + 1.045558018479301E+01 -2.847729623976747E+01 -3.261139935258604E+01 + 1.368441709085607E+01 -3.727150406551638E+01 -4.268227900985637E+01 + 1.791959920445611E+01 -4.880663971047729E+01 -5.589199217703386E+01 + 2.347477837800818E+01 -6.393697970063067E+01 -7.321883232382595E+01 + 1.348999066177579E-01 -3.875569809257785E-01 -2.856895786622495E-01 + 1.349087977109562E-01 -3.875825243477380E-01 -2.857084081242806E-01 + 1.349261014827489E-01 -3.876322367435636E-01 -2.857450538670143E-01 + 1.349597779398028E-01 -3.877289865957417E-01 -2.858163735073893E-01 + 1.350253187810308E-01 -3.879172803550962E-01 -2.859551751995849E-01 + 1.351528738222863E-01 -3.882837361068481E-01 -2.862253099009809E-01 + 1.354011203849621E-01 -3.889969292495865E-01 -2.867510438149128E-01 + 1.358842557849724E-01 -3.903849398249898E-01 -2.877742227949907E-01 + 1.368245298907936E-01 -3.930862744873427E-01 -2.897655252343632E-01 + 1.386544835519386E-01 -3.983435895880642E-01 -2.936409815154808E-01 + 1.422159241799499E-01 -4.085753326051255E-01 -3.011833623662710E-01 + 1.491471703727702E-01 -4.284882659487660E-01 -3.158622813817012E-01 + 1.626367041888409E-01 -4.672426515590252E-01 -3.444302717449805E-01 + 1.789654158846399E-01 -5.141537752647126E-01 -3.790110426397180E-01 + 2.003833659775423E-01 -5.756858866185359E-01 -4.243697481515638E-01 + 2.284767388490884E-01 -6.563959704658834E-01 -4.838655925898798E-01 + 2.653260916525234E-01 -7.622613063258578E-01 -5.619047576296287E-01 + 3.136604375582555E-01 -9.011221376185455E-01 -6.642667181597504E-01 + 3.770593527738626E-01 -1.083262309476127E+00 -7.985322623673710E-01 + 4.602180751108716E-01 -1.322170876387868E+00 -9.746449146456915E-01 + 5.692952269391950E-01 -1.635541083309887E+00 -1.205647339545886E+00 + 7.123689144203710E-01 -2.046580703427932E+00 -1.508647263852512E+00 + 9.000349811112121E-01 -2.585730774413555E+00 -1.906084451663362E+00 + 1.146191721789647E+00 -3.292920020453448E+00 -2.427392562932562E+00 + 1.469069171346103E+00 -4.220521919494666E+00 -3.111178970470244E+00 + 1.892579196481946E+00 -5.437233412101746E+00 -4.008083969694095E+00 + 2.448086376178003E+00 -7.033162503851445E+00 -5.184531130335269E+00 + 3.176730819942671E+00 -9.126501542209272E+00 -6.727646536067616E+00 + 4.132474948613727E+00 -1.187228038173691E+01 -8.751711224285938E+00 + 5.386099878174313E+00 -1.547384768519296E+01 -1.140662468498592E+01 + 7.030447373356976E+00 -2.019793065013972E+01 -1.488900621401227E+01 + 9.187295583021433E+00 -2.639438846401557E+01 -1.945675627186407E+01 + 1.201637776495771E+01 -3.452212240180767E+01 -2.544815624257285E+01 + 1.572721191466100E+01 -4.518306143307287E+01 -3.330692109493239E+01 + 2.059461738436690E+01 -5.916674026634286E+01 -4.361506031224713E+01 + 2.697906763214133E+01 -7.750877122051835E+01 -5.713598072655874E+01 + 1.348999066177579E-01 -4.411929231808699E-01 -1.927894015646009E-01 + 1.349087977109562E-01 -4.412220016843081E-01 -1.928021080859020E-01 + 1.349261014827489E-01 -4.412785940263689E-01 -1.928268374122029E-01 + 1.349597779398028E-01 -4.413887335728114E-01 -1.928749654218142E-01 + 1.350253187810308E-01 -4.416030862440183E-01 -1.929686317546914E-01 + 1.351528738222863E-01 -4.420202576337470E-01 -1.931509243943735E-01 + 1.354011203849621E-01 -4.428321531302122E-01 -1.935057008168238E-01 + 1.358842557849724E-01 -4.444122574072796E-01 -1.941961637458056E-01 + 1.368245298907936E-01 -4.474874432375705E-01 -1.955399369678404E-01 + 1.386544835519386E-01 -4.534723443786352E-01 -1.981551772602060E-01 + 1.422159241799499E-01 -4.651201093089674E-01 -2.032449362125800E-01 + 1.491471703727702E-01 -4.877888927482447E-01 -2.131505828443238E-01 + 1.626367041888409E-01 -5.319066909430432E-01 -2.324288701092267E-01 + 1.789654158846399E-01 -5.853100788731791E-01 -2.557647095110577E-01 + 2.003833659775423E-01 -6.553579258061264E-01 -2.863737283360387E-01 + 2.284767388490884E-01 -7.472378804329889E-01 -3.265227890702558E-01 + 2.653260916525234E-01 -8.677544477775250E-01 -3.791852767852910E-01 + 3.136604375582555E-01 -1.025832921624134E+00 -4.482613040103230E-01 + 3.770593527738626E-01 -1.233180379689667E+00 -5.388665477848418E-01 + 4.602180751108716E-01 -1.505152693946418E+00 -6.577111097729844E-01 + 5.692952269391950E-01 -1.861891765706803E+00 -8.135964573065413E-01 + 7.123689144203710E-01 -2.329817207560125E+00 -1.018067248137361E+00 + 9.000349811112121E-01 -2.943582944105780E+00 -1.286266312157670E+00 + 1.146191721789647E+00 -3.748643634683738E+00 -1.638056108876781E+00 + 1.469069171346103E+00 -4.804620983894479E+00 -2.099489714276324E+00 + 1.892579196481946E+00 -6.189719244307135E+00 -2.704740276338613E+00 + 2.448086376178003E+00 -8.006516917507314E+00 -3.498631832111893E+00 + 3.176730819942671E+00 -1.038956357902157E+01 -4.539958915197286E+00 + 4.132474948613727E+00 -1.351534443768548E+01 -5.905840799292814E+00 + 5.386099878174313E+00 -1.761535059122895E+01 -7.697432847175191E+00 + 7.030447373356976E+00 -2.299322294350885E+01 -1.004741793989122E+01 + 9.187295583021433E+00 -3.004723943868427E+01 -1.312983279126040E+01 + 1.201637776495771E+01 -3.929981098644745E+01 -1.717295687123491E+01 + 1.572721191466100E+01 -5.143617050659168E+01 -2.247621847432787E+01 + 2.059461738436690E+01 -6.735512035116787E+01 -2.943236997364506E+01 + 2.697906763214133E+01 -8.823559638959708E+01 -3.855657452980577E+01 + 1.173778669539041E-01 -4.769054440472977E-01 -9.381133947129806E-02 + 1.173856031902046E-01 -4.769368763207223E-01 -9.381752246566184E-02 + 1.174006593890872E-01 -4.769980495503960E-01 -9.382955575797819E-02 + 1.174299616383968E-01 -4.771171043822928E-01 -9.385297485161652E-02 + 1.174869894328155E-01 -4.773488079080603E-01 -9.389855289729367E-02 + 1.175979764530232E-01 -4.777997473869350E-01 -9.398725651152527E-02 + 1.178139784706382E-01 -4.786773620582451E-01 -9.415989074936613E-02 + 1.182343598046581E-01 -4.803853684479735E-01 -9.449587007031107E-02 + 1.190525024680626E-01 -4.837094763084290E-01 -9.514975023634555E-02 + 1.206447649295803E-01 -4.901788274387247E-01 -9.642232638874318E-02 + 1.237436129175441E-01 -5.027694249175092E-01 -9.889900353506567E-02 + 1.297745651534926E-01 -5.272731412377470E-01 -1.037190920425859E-01 + 1.415119543424967E-01 -5.749620705768379E-01 -1.130999082926275E-01 + 1.557197428948563E-01 -6.326882150735179E-01 -1.244551297633436E-01 + 1.743557327888561E-01 -7.084061103318227E-01 -1.393494809702561E-01 + 1.988000802007963E-01 -8.077233211439415E-01 -1.588860173951037E-01 + 2.308631003995789E-01 -9.379951456558224E-01 -1.845115884708186E-01 + 2.729193372441505E-01 -1.108869338787951E+00 -2.181239892913311E-01 + 3.280834186862926E-01 -1.333000611900604E+00 -2.622125087463953E-01 + 4.004407218991711E-01 -1.626987823581272E+00 -3.200422828859841E-01 + 4.953499307787149E-01 -2.012603268634911E+00 -3.958961064747853E-01 + 6.198398928166816E-01 -2.518405104755030E+00 -4.953916109730825E-01 + 7.831301660280372E-01 -3.181852331011478E+00 -6.258972987157918E-01 + 9.973138069332164E-01 -4.052078950597820E+00 -7.970782442175965E-01 + 1.278252965948651E+00 -5.193532768574818E+00 -1.021611876503894E+00 + 1.646753616767454E+00 -6.690748309043576E+00 -1.316126852337737E+00 + 2.130106418597481E+00 -8.654607327531108E+00 -1.702434552022609E+00 + 2.764107825427603E+00 -1.123055056365817E+01 -2.209144400692618E+00 + 3.595711122937661E+00 -1.460934888537225E+01 -2.873782643597508E+00 + 4.686503725255813E+00 -1.904123152110236E+01 -3.745571489011053E+00 + 6.117268255452520E+00 -2.485441769757758E+01 -4.889074438323348E+00 + 7.993965197216264E+00 -3.247942411131251E+01 -6.388977771527426E+00 + 1.045558018479301E+01 -4.248094841218264E+01 -8.356362298440715E+00 + 1.368441709085607E+01 -5.559968994670913E+01 -1.093692985306403E+01 + 1.791959920445611E+01 -7.280720494867109E+01 -1.432179377411084E+01 + 2.347477837800818E+01 -9.537785867818181E+01 -1.876163250008323E+01 + 7.787945231879137E-02 -4.939146935782766E-01 -2.182760294886428E-16 + 7.788458526132748E-02 -4.939472469112083E-01 -2.182904158034282E-16 + 7.789457495149148E-02 -4.940106019375906E-01 -2.183184143298674E-16 + 7.791401680358136E-02 -4.941339029641343E-01 -2.183729048296557E-16 + 7.795185437476519E-02 -4.943738703986832E-01 -2.184789537881113E-16 + 7.802549354177835E-02 -4.948408930282438E-01 -2.186853453909270E-16 + 7.816880947746682E-02 -4.957498085939402E-01 -2.190870230154239E-16 + 7.844772976208376E-02 -4.975187325245480E-01 -2.198687646745822E-16 + 7.899056210516597E-02 -5.009613975974910E-01 -2.213901838037382E-16 + 8.004701790615157E-02 -5.076614837907897E-01 -2.243511570862087E-16 + 8.210308341820063E-02 -5.207011359342543E-01 -2.301137787145880E-16 + 8.610458105387429E-02 -5.460787987160592E-01 -2.413289451020934E-16 + 9.389226254284803E-02 -5.954685954055202E-01 -2.631558088475801E-16 + 1.033190379634091E-01 -6.552535933048215E-01 -2.895766303661815E-16 + 1.156838962116273E-01 -7.336720334834759E-01 -3.242321406869665E-16 + 1.319025619459414E-01 -8.365314794336289E-01 -3.696888799767906E-16 + 1.531761675887170E-01 -9.714495624389623E-01 -4.293133127938640E-16 + 1.810802075669769E-01 -1.148418133032424E+00 -5.075211438943567E-16 + 2.176812172962676E-01 -1.380543243916598E+00 -6.101043393472745E-16 + 2.656898179952111E-01 -1.685015766479768E+00 -7.446600716985481E-16 + 3.286614616224664E-01 -2.084384523452543E+00 -9.211533562823502E-16 + 4.112597428343018E-01 -2.608226224185617E+00 -1.152655046762980E-15 + 5.196017784897998E-01 -3.295335875694045E+00 -1.456309844857817E-15 + 6.617112330421704E-01 -4.196599888343941E+00 -1.854606013730638E-15 + 8.481125402632004E-01 -5.378764654498192E+00 -2.377040828309860E-15 + 1.092610328557112E+00 -6.929379695952656E+00 -3.062305103527069E-15 + 1.413311773047143E+00 -8.963281462968354E+00 -3.961148583679098E-15 + 1.833967588446001E+00 -1.163109796627618E+01 -5.140138399769719E-15 + 2.385730974826316E+00 -1.513040408358421E+01 -6.686588941092325E-15 + 3.109464781433042E+00 -1.972035368748184E+01 -8.715028240667372E-15 + 4.058767753965602E+00 -2.574087223032003E+01 -1.137567976628391E-14 + 5.303943985105571E+00 -3.363783116291458E+01 -1.486558776710437E-14 + 6.937209540420974E+00 -4.399606857043311E+01 -1.944321010393723E-14 + 9.079521855311171E+00 -5.758270148904505E+01 -2.544755928842714E-14 + 1.188953767888243E+01 -7.540393755485673E+01 -3.332330929060578E-14 + 1.557536297794748E+01 -9.877959337892206E+01 -4.365372749097345E-14 + 4.786217425729569E-01 -7.235012294810549E-02 1.253140888799734E-01 + 4.786532879655863E-01 -7.235489145908644E-02 1.253223481832689E-01 + 4.787146813469174E-01 -7.236417189558234E-02 1.253384223707962E-01 + 4.788341646361426E-01 -7.238223340406963E-02 1.253697058211576E-01 + 4.790667020220067E-01 -7.241738456198998E-02 1.254305894126205E-01 + 4.795192643524810E-01 -7.248579545380505E-02 1.255490805530353E-01 + 4.804000374041059E-01 -7.261893616369397E-02 1.257796870271187E-01 + 4.821141906073905E-01 -7.287805350830692E-02 1.262284914331107E-01 + 4.854502613453749E-01 -7.338234553390365E-02 1.271019508432960E-01 + 4.919428945286341E-01 -7.436379448885611E-02 1.288018702983091E-01 + 5.045788033456718E-01 -7.627388229965876E-02 1.321102394335373E-01 + 5.291707042163662E-01 -7.999127934467735E-02 1.385489599874159E-01 + 5.770312575956869E-01 -8.722604662195035E-02 1.510799444925894E-01 + 6.349651482985138E-01 -9.598353451349284E-02 1.662483584674102E-01 + 7.109555388986518E-01 -1.074705055675847E-01 1.861443759581703E-01 + 8.106301748243169E-01 -1.225376693058268E-01 2.122414690787650E-01 + 9.413708246413719E-01 -1.423008794720204E-01 2.464723532072740E-01 + 1.112859963837561E+00 -1.682237726494397E-01 2.913721212697448E-01 + 1.337797845845958E+00 -2.022261632042592E-01 3.502659892894922E-01 + 1.632843065616633E+00 -2.468262221378653E-01 4.275155573830641E-01 + 2.019846272601023E+00 -3.053269694213294E-01 5.288418239587708E-01 + 2.527468400262042E+00 -3.820608911818006E-01 6.617488751119216E-01 + 3.193303255996177E+00 -4.827107977584030E-01 8.360796270796574E-01 + 4.066661667602988E+00 -6.147306849407809E-01 1.064744779289047E+00 + 5.212223376419471E+00 -7.878977668037211E-01 1.364678963274098E+00 + 6.714827131379749E+00 -1.015036562942072E+00 1.758094898555750E+00 + 8.685753731879824E+00 -1.312968665026080E+00 2.274128436571049E+00 + 1.127096733309399E+01 -1.703758521102141E+00 2.950996322377314E+00 + 1.466192535365497E+01 -2.216347498737344E+00 3.838826475041271E+00 + 1.910975755282273E+01 -2.888697243511585E+00 5.003370393446222E+00 + 2.494386436039706E+01 -3.770601067084834E+00 6.530872623264345E+00 + 3.259631182650281E+01 -4.927371572432855E+00 8.534457911224241E+00 + 4.263382984819577E+01 -6.444677616782924E+00 1.116250907066991E+01 + 5.579978341822164E+01 -8.434888831174675E+00 1.460965601178977E+01 + 7.306922522977817E+01 -1.104539756317365E+01 1.913118976921419E+01 + 9.572110675864127E+01 -1.446953455454601E+01 2.506196901034715E+01 + 4.366624927850382E-01 -2.109670608544511E-01 1.218018893744613E-01 + 4.366912726931706E-01 -2.109809654437636E-01 1.218099171928438E-01 + 4.367472839115252E-01 -2.110080264400855E-01 1.218255408663548E-01 + 4.368562924798338E-01 -2.110606923265401E-01 1.218559475300765E-01 + 4.370684440507826E-01 -2.111631902376689E-01 1.219151247266580E-01 + 4.374813316774566E-01 -2.113626708216481E-01 1.220302948955166E-01 + 4.382848901498170E-01 -2.117508982786420E-01 1.222544381223188E-01 + 4.398487689797630E-01 -2.125064633334328E-01 1.226906638100926E-01 + 4.428923769795259E-01 -2.139769377724160E-01 1.235396426232759E-01 + 4.488158216088903E-01 -2.168387629216767E-01 1.251919181435752E-01 + 4.603439803861967E-01 -2.224084232760617E-01 1.284075630484743E-01 + 4.827799873231008E-01 -2.332480500335603E-01 1.346658244748311E-01 + 5.264447578208595E-01 -2.543440416678387E-01 1.468456009237038E-01 + 5.792997681157088E-01 -2.798801624878731E-01 1.615888871532094E-01 + 6.486283222444570E-01 -3.133752337144986E-01 1.809272755424273E-01 + 7.395647990471329E-01 -3.573098549666238E-01 2.062929409490860E-01 + 8.588438308574121E-01 -4.149377648017078E-01 2.395644302052072E-01 + 1.015299061253791E+00 -4.905268081873937E-01 2.832057847517192E-01 + 1.220517352741252E+00 -5.896750073206650E-01 3.404490242109799E-01 + 1.489696894098452E+00 -7.197251435713952E-01 4.155335053834863E-01 + 1.842772757658596E+00 -8.903085539276399E-01 5.140198832719484E-01 + 2.305893263772081E+00 -1.114058414771047E+00 6.432019256610306E-01 + 2.913356490003837E+00 -1.407545337812923E+00 8.126466796828923E-01 + 3.710150340314304E+00 -1.792504567159081E+00 1.034902994372927E+00 + 4.755284288307993E+00 -2.297445662056325E+00 1.326430871436755E+00 + 6.126159538943099E+00 -2.959763876245082E+00 1.708820470687826E+00 + 7.924301256960678E+00 -3.828509599813992E+00 2.210391048047671E+00 + 1.028287738310875E+01 -4.968020964670067E+00 2.868288241291963E+00 + 1.337656087150955E+01 -6.462688639466580E+00 3.731235025684761E+00 + 1.743446573211479E+01 -8.423205688248958E+00 4.863140071550116E+00 + 2.275711490403628E+01 -1.099476534888700E+01 6.347830733856669E+00 + 2.973869657747422E+01 -1.436781384766333E+01 8.295261192614843E+00 + 3.889625723730799E+01 -1.879215458890611E+01 1.084965551055799E+01 + 5.090799342562633E+01 -2.459544825685128E+01 1.420018867193258E+01 + 6.666347805927931E+01 -3.220747892222728E+01 1.859499662566709E+01 + 8.732954099551750E+01 -4.219198326855676E+01 2.435955289774539E+01 + 4.162833480437567E-01 -1.384964871102139E-01 2.398829523446981E-01 + 4.163107847865768E-01 -1.385056152497760E-01 2.398987627461983E-01 + 4.163641819477480E-01 -1.385233803592348E-01 2.399295328183830E-01 + 4.164681030596610E-01 -1.385579546678258E-01 2.399894172774991E-01 + 4.166703534651952E-01 -1.386252429002634E-01 2.401059639148326E-01 + 4.170639715259118E-01 -1.387561986997893E-01 2.403327860131572E-01 + 4.178300277289294E-01 -1.390110637899869E-01 2.407742252984551E-01 + 4.193209199535226E-01 -1.395070801133311E-01 2.416333507718708E-01 + 4.222224820276844E-01 -1.404724229652421E-01 2.433053736381042E-01 + 4.278694780555239E-01 -1.423511652119747E-01 2.465594506637712E-01 + 4.388596148588688E-01 -1.460075577803461E-01 2.528925083646076E-01 + 4.602485278952471E-01 -1.531235986514618E-01 2.652178527021167E-01 + 5.018754529339348E-01 -1.669727783367670E-01 2.892053355602160E-01 + 5.522637070431757E-01 -1.837368315196321E-01 3.182415274137251E-01 + 6.183566806889694E-01 -2.057258078157683E-01 3.563275515650606E-01 + 7.050491300021210E-01 -2.345681810340929E-01 4.062840073900627E-01 + 8.187613803873277E-01 -2.723999782793020E-01 4.718106023604089E-01 + 9.679148071288001E-01 -3.220229712268201E-01 5.577601473691423E-01 + 1.163555511040310E+00 -3.871121715391650E-01 6.704979493341515E-01 + 1.420172377733784E+00 -4.724879972532899E-01 8.183732172091610E-01 + 1.756770104868121E+00 -5.844732664130062E-01 1.012337393093065E+00 + 2.198276664323291E+00 -7.313614564114937E-01 1.266755201202276E+00 + 2.777389434042454E+00 -9.240309076967269E-01 1.600468479894716E+00 + 3.536996721566467E+00 -1.176750458934544E+00 2.038191582704620E+00 + 4.533354014014713E+00 -1.508236177878606E+00 2.612341689899232E+00 + 5.840250183284829E+00 -1.943037448004552E+00 3.365439580952849E+00 + 7.554472189986932E+00 -2.513355062607545E+00 4.353258665896716E+00 + 9.802972994685843E+00 -3.261425971950176E+00 5.648955488542404E+00 + 1.275227352225179E+01 -4.242651294605285E+00 7.348487601054214E+00 + 1.662079497606799E+01 -5.529699249278035E+00 9.577720050325020E+00 + 2.169503481658613E+01 -7.217886864682207E+00 1.250174677291359E+01 + 2.835078437529717E+01 -9.432239029616612E+00 1.633711722843011E+01 + 3.708095945187753E+01 -1.233674766693167E+01 2.136787375928242E+01 + 4.853210499084891E+01 -1.614651675327195E+01 2.796658738192902E+01 + 6.355227732467421E+01 -2.114369262831119E+01 3.662194989185445E+01 + 8.325385007737525E+01 -2.769835937061045E+01 4.797496571619872E+01 + 3.561379211431202E-01 -3.314868087634008E-01 1.153222023970709E-01 + 3.561613937720323E-01 -3.315086566666692E-01 1.153298031469531E-01 + 3.562070760076149E-01 -3.315511768746882E-01 1.153445956632931E-01 + 3.562959823953758E-01 -3.316339293506473E-01 1.153733847358267E-01 + 3.564690112693766E-01 -3.317949815325726E-01 1.154294137898629E-01 + 3.568057586279407E-01 -3.321084199524175E-01 1.155384570698269E-01 + 3.574611335424156E-01 -3.327184312038045E-01 1.157506761963115E-01 + 3.587366187618226E-01 -3.339056300385957E-01 1.161636952990086E-01 + 3.612189575102154E-01 -3.362161465579634E-01 1.169675096489138E-01 + 3.660500645806977E-01 -3.407128546323190E-01 1.185318864656139E-01 + 3.754523250665298E-01 -3.494643105671624E-01 1.215764636430647E-01 + 3.937509263920051E-01 -3.664963214767165E-01 1.275017944780019E-01 + 4.293635124263147E-01 -3.996438797553566E-01 1.390336241729400E-01 + 4.724715736851332E-01 -4.397680923435476E-01 1.529925885805437E-01 + 5.290153060899803E-01 -4.923979873861539E-01 1.713022022598382E-01 + 6.031822618961151E-01 -5.614312636431682E-01 1.953184504066130E-01 + 7.004651454200478E-01 -6.519804320752787E-01 2.268199438378872E-01 + 8.280685952834739E-01 -7.707514414826964E-01 2.681396405005765E-01 + 9.954427501936969E-01 -9.265403119926817E-01 3.223376211779518E-01 + 1.214983113419729E+00 -1.130884556399357E+00 3.934277149287503E-01 + 1.502948546979472E+00 -1.398917632738138E+00 4.866747578320851E-01 + 1.880665380944419E+00 -1.750489707695408E+00 6.089844996182775E-01 + 2.376106812566465E+00 -2.211637733073933E+00 7.694150341427133E-01 + 3.025964563387502E+00 -2.816513707186380E+00 9.798476295510852E-01 + 3.878366218452042E+00 -3.609913925604665E+00 1.255866638909673E+00 + 4.996439490085390E+00 -4.650596534150725E+00 1.617913656290448E+00 + 6.462987370786357E+00 -6.015633077610886E+00 2.092801393547796E+00 + 8.386620410727055E+00 -7.806116313979100E+00 2.715699393450998E+00 + 1.090980026802761E+01 -1.015464700722289E+01 3.532738638398160E+00 + 1.421939022624724E+01 -1.323515416030626E+01 4.604427948506020E+00 + 1.856049403613054E+01 -1.727577596162958E+01 6.010135182891970E+00 + 2.425460796748922E+01 -2.257575539033741E+01 7.853965115847178E+00 + 3.172343038760198E+01 -2.952760174614507E+01 1.027246929545092E+01 + 4.152009217126744E+01 -3.864615935657314E+01 1.344475886631495E+01 + 5.437012082438973E+01 -5.060673625068594E+01 1.760576929841663E+01 + 7.122517206861910E+01 -6.629511655728029E+01 2.306365938987613E+01 + 3.561379211431202E-01 -2.656153612779348E-01 2.294148962100034E-01 + 3.561613937720322E-01 -2.656328676720549E-01 2.294300166743121E-01 + 3.562070760076148E-01 -2.656669384710007E-01 2.294594439964608E-01 + 3.562959823953757E-01 -2.657332467771458E-01 2.295167152066007E-01 + 3.564690112693765E-01 -2.658622954522538E-01 2.296281759604648E-01 + 3.568057586279407E-01 -2.661134489127371E-01 2.298450999545905E-01 + 3.574611335424155E-01 -2.666022416931352E-01 2.302672756316437E-01 + 3.587366187618225E-01 -2.675535261457147E-01 2.310889104305677E-01 + 3.612189575102153E-01 -2.694049080523430E-01 2.326879692572512E-01 + 3.660500645806976E-01 -2.730080521538745E-01 2.358000442746956E-01 + 3.754523250665298E-01 -2.800204613007509E-01 2.418567388456446E-01 + 3.937509263920050E-01 -2.936679537844109E-01 2.536442275533835E-01 + 4.293635124263146E-01 -3.202285903916631E-01 2.765849402486420E-01 + 4.724715736851332E-01 -3.523795144732663E-01 3.043540454530608E-01 + 5.290153060899802E-01 -3.945510525743176E-01 3.407780647188193E-01 + 6.031822618961149E-01 -4.498663717015228E-01 3.885545115904754E-01 + 7.004651454200476E-01 -5.224220494862101E-01 4.512216450286018E-01 + 8.280685952834737E-01 -6.175914611764751E-01 5.334205080772013E-01 + 9.954427501936967E-01 -7.424227245318931E-01 6.412386372270452E-01 + 1.214983113419728E+00 -9.061606738808400E-01 7.826608971249631E-01 + 1.502948546979472E+00 -1.120931520032296E+00 9.681608288371729E-01 + 1.880665380944418E+00 -1.402640901028089E+00 1.211476306118279E+00 + 2.376106812566464E+00 -1.772151832158229E+00 1.530626943738894E+00 + 3.025964563387501E+00 -2.256829792622396E+00 1.949248605754946E+00 + 3.878366218452041E+00 -2.892569375863491E+00 2.498343845594007E+00 + 4.996439490085389E+00 -3.726452594552659E+00 3.218577913181164E+00 + 6.462987370786356E+00 -4.820235710693314E+00 4.163290368283088E+00 + 8.386620410727055E+00 -6.254922820760113E+00 5.402445336076536E+00 + 1.090980026802761E+01 -8.136764909395110E+00 7.027812955519552E+00 + 1.421939022624724E+01 -1.060512865345442E+01 9.159765751575495E+00 + 1.856049403613054E+01 -1.384281772937788E+01 1.195619326141375E+01 + 2.425460796748922E+01 -1.808961100592918E+01 1.562419511973206E+01 + 3.172343038760198E+01 -2.366002024252870E+01 2.043541857726589E+01 + 4.152009217126744E+01 -3.096658240427143E+01 2.674617632833650E+01 + 5.437012082438973E+01 -4.055041159093996E+01 3.502383454650451E+01 + 7.122517206861909E+01 -5.312127321450446E+01 4.588142539051695E+01 + 3.190906466620157E-01 -1.924825270244125E-01 3.333895163755314E-01 + 3.191116775489102E-01 -1.924952133199758E-01 3.334114896840067E-01 + 3.191526076864430E-01 -1.925199032831138E-01 3.334542539545988E-01 + 3.192322655804183E-01 -1.925679546844639E-01 3.335374814231120E-01 + 3.193872951125695E-01 -1.926614719229791E-01 3.336994580316039E-01 + 3.196890123014077E-01 -1.928434743964511E-01 3.340146955627606E-01 + 3.202762117902871E-01 -1.931976860998317E-01 3.346282082296513E-01 + 3.214190145622078E-01 -1.938870499772467E-01 3.358222214902368E-01 + 3.236431278324723E-01 -1.952286842342436E-01 3.381460001885303E-01 + 3.279716786205086E-01 -1.978397616906042E-01 3.426685190054446E-01 + 3.363958682403026E-01 -2.029214189660941E-01 3.514702075932449E-01 + 3.527909561635846E-01 -2.128112981815239E-01 3.685999808750889E-01 + 3.846989402123482E-01 -2.320588990316549E-01 4.019378034713216E-01 + 4.233226821022054E-01 -2.553575933677912E-01 4.422923258115269E-01 + 4.739844484196875E-01 -2.859178899678922E-01 4.952243122172761E-01 + 5.404361809764744E-01 -3.260030430160444E-01 5.646538339258501E-01 + 6.275992051025192E-01 -3.785817046671385E-01 6.557227472995182E-01 + 7.419286963359503E-01 -4.475477794055676E-01 7.751754927450696E-01 + 8.918917419823832E-01 -5.380088013385518E-01 9.318585788376006E-01 + 1.088594402135375E+00 -6.566641912559372E-01 1.137375742766408E+00 + 1.346604209448087E+00 -8.123014066621145E-01 1.406947307398448E+00 + 1.685029020875480E+00 -1.016446728979577E+00 1.760537377779817E+00 + 2.128932119686184E+00 -1.284218884343174E+00 2.224332355721794E+00 + 2.711188368282848E+00 -1.635448715985186E+00 2.832680269259620E+00 + 3.474918875995368E+00 -2.096147829631887E+00 3.630634541097653E+00 + 4.476684490046974E+00 -2.700434977800963E+00 4.677290584087392E+00 + 5.790674615309770E+00 -3.493062848412298E+00 6.050162327481352E+00 + 7.514201581168665E+00 -4.532732388255095E+00 7.850922793570829E+00 + 9.774907460863666E+00 -5.896440115619329E+00 1.021293386403997E+01 + 1.274021707059214E+01 -7.685180378178254E+00 1.331112288033611E+01 + 1.662973722468416E+01 -1.003142485761926E+01 1.737493752570592E+01 + 2.173152051889917E+01 -1.310893324300790E+01 2.270533840991830E+01 + 2.842339811561204E+01 -1.714562163806977E+01 2.969708780448911E+01 + 3.720096140807205E+01 -2.244044171920800E+01 3.886798520195647E+01 + 4.871426484789988E+01 -2.938552069184317E+01 5.089721484513883E+01 + 6.381596809752716E+01 -3.849520170026197E+01 6.667564519246545E+01 + 2.448423563676756E-01 -4.227530042371373E-01 1.065319274339709E-01 + 2.448584936376258E-01 -4.227808673873407E-01 1.065389488272332E-01 + 2.448898998584750E-01 -4.228350944190222E-01 1.065526138045276E-01 + 2.449510223848425E-01 -4.229406306180351E-01 1.065792084699285E-01 + 2.450699785383855E-01 -4.231460242926789E-01 1.066309667870149E-01 + 2.453014900171598E-01 -4.235457597576499E-01 1.067316983941715E-01 + 2.457520557357702E-01 -4.243237216020572E-01 1.069277414120191E-01 + 2.466289429979561E-01 -4.258377844871148E-01 1.073092787063371E-01 + 2.483355337100837E-01 -4.287844411083725E-01 1.080518234220514E-01 + 2.516568863905416E-01 -4.345191997695174E-01 1.094969577851835E-01 + 2.581208754123923E-01 -4.456801394814340E-01 1.123094662891275E-01 + 2.707010372002226E-01 -4.674014677209324E-01 1.177831469976902E-01 + 2.951844436653344E-01 -5.096753364691234E-01 1.284359789650517E-01 + 3.248209374797903E-01 -5.608466982424193E-01 1.413309406672573E-01 + 3.636943622344164E-01 -6.279668540185956E-01 1.582449294333631E-01 + 4.146836311275027E-01 -7.160066316461127E-01 1.804305723679229E-01 + 4.815649403680026E-01 -8.314861378401935E-01 2.095309081447867E-01 + 5.692914291533694E-01 -9.829576284571888E-01 2.477010682264252E-01 + 6.843600024514056E-01 -1.181638876982570E+00 2.977678829817473E-01 + 8.352924829846301E-01 -1.442243947645122E+00 3.634392329153713E-01 + 1.033266725881591E+00 -1.784072899089213E+00 4.495786492769057E-01 + 1.292944435491601E+00 -2.232441120583522E+00 5.625655005995208E-01 + 1.633556991355226E+00 -2.820554155470355E+00 7.107674400951236E-01 + 2.080329698131594E+00 -3.591966858741506E+00 9.051601027204798E-01 + 2.666349937503512E+00 -4.603809010620713E+00 1.160139945839852E+00 + 3.435017574860820E+00 -5.931016270726813E+00 1.494590431362958E+00 + 4.443259094562806E+00 -7.671879811553706E+00 1.933280509363649E+00 + 5.765743498284928E+00 -9.955325629607831E+00 2.508698972982404E+00 + 7.500412190172579E+00 -1.295046263012898E+01 3.263460534452793E+00 + 9.775732384608283E+00 -1.687910660361964E+01 4.253461812984330E+00 + 1.276021121414967E+01 -2.203220760292584E+01 5.552020962690751E+00 + 1.667487513958882E+01 -2.879139731017143E+01 7.255307515802547E+00 + 2.180963887034370E+01 -3.765725216236358E+01 9.489464567999507E+00 + 2.854477605525997E+01 -4.928636536447991E+01 1.241995076526462E+01 + 3.737908183411086E+01 -6.453997329312743E+01 1.626379394715577E+01 + 4.896681293022350E+01 -8.454773749638213E+01 2.130566393472306E+01 + 2.596502903767807E-01 -3.700662038743047E-01 2.136578224248124E-01 + 2.596674036201370E-01 -3.700905944998482E-01 2.136719043590357E-01 + 2.597007092723294E-01 -3.701380633328562E-01 2.136993105025509E-01 + 2.597655284562129E-01 -3.702304467816989E-01 2.137526481116089E-01 + 2.598916790139341E-01 -3.704102426831199E-01 2.138564533236935E-01 + 2.601371921824115E-01 -3.707601599742877E-01 2.140584781659434E-01 + 2.606150078733181E-01 -3.714411661022948E-01 2.144516572372680E-01 + 2.615449288054315E-01 -3.727665345767573E-01 2.152168590827744E-01 + 2.633547332058304E-01 -3.753459557021439E-01 2.167060885638698E-01 + 2.668769595098019E-01 -3.803660036890170E-01 2.196044146204358E-01 + 2.737318871106270E-01 -3.901359794182542E-01 2.252451127376870E-01 + 2.870728903163464E-01 -4.091502250986704E-01 2.362229925997129E-01 + 3.130370400345129E-01 -4.461555922372284E-01 2.575880512786203E-01 + 3.444659330529966E-01 -4.909495769250344E-01 2.834498703962011E-01 + 3.856904016262421E-01 -5.497046916198753E-01 3.173721516815348E-01 + 4.397634740741655E-01 -6.267722605549445E-01 3.618671333519869E-01 + 5.106897289211709E-01 -7.278598035273207E-01 4.202300534988061E-01 + 6.037218685590131E-01 -8.604537270855098E-01 4.967831909580351E-01 + 7.257497272731741E-01 -1.034373757660981E+00 5.971959674282510E-01 + 8.858105230404273E-01 -1.262500177210653E+00 7.289048171645197E-01 + 1.095758141654776E+00 -1.561727719457262E+00 9.016639192295494E-01 + 1.371141019457850E+00 -1.954216770991473E+00 1.128267578786807E+00 + 1.732353639480011E+00 -2.469034539495099E+00 1.425497756015977E+00 + 2.206146919237138E+00 -3.144307731781718E+00 1.815366915359194E+00 + 2.827609347458064E+00 -4.030046166075385E+00 2.326748238830239E+00 + 3.642765590046033E+00 -5.191846431429324E+00 2.997513934776914E+00 + 4.711985014512858E+00 -6.715749882285973E+00 3.877340002347998E+00 + 6.114452563589864E+00 -8.714614744677206E+00 5.031385168723260E+00 + 7.954033084861151E+00 -1.133647424362140E+01 6.545116456216062E+00 + 1.036696342073085E+01 -1.477549974331443E+01 8.530638754213822E+00 + 1.353194192449141E+01 -1.928638081543198E+01 1.113499715548327E+01 + 1.768336261839050E+01 -2.520318720392911E+01 1.455106691662498E+01 + 2.312867409752264E+01 -3.296410957790928E+01 1.903183753840221E+01 + 3.027114875646135E+01 -4.314391133921797E+01 2.490914882559081E+01 + 3.963974859672469E+01 -5.649649482168848E+01 3.261826649357209E+01 + 5.192829943633308E+01 -7.401073427711620E+01 4.273011735781483E+01 + 2.448423563676756E-01 -3.036358575905082E-01 3.128488774785655E-01 + 2.448584936376258E-01 -3.036558698705449E-01 3.128694969778399E-01 + 2.448898998584750E-01 -3.036948176038648E-01 3.129096264762007E-01 + 2.449510223848425E-01 -3.037706173592136E-01 3.129877261728644E-01 + 2.450699785383855E-01 -3.039181382139895E-01 3.131397231543393E-01 + 2.453014900171598E-01 -3.042052420772365E-01 3.134355384182194E-01 + 2.457520557357702E-01 -3.047640012331309E-01 3.140112516297274E-01 + 2.466289429979561E-01 -3.058514536650301E-01 3.151316999039554E-01 + 2.483355337100837E-01 -3.079678445629135E-01 3.173123070363370E-01 + 2.516568863905416E-01 -3.120867469638403E-01 3.215561865398953E-01 + 2.581208754123923E-01 -3.201029206325739E-01 3.298155896085496E-01 + 2.707010372002226E-01 -3.357039312981432E-01 3.458899713136143E-01 + 2.951844436653344E-01 -3.660664887782208E-01 3.771737995821160E-01 + 3.248209374797902E-01 -4.028195340798062E-01 4.150420179729313E-01 + 3.636943622344163E-01 -4.510275559186668E-01 4.647127835980159E-01 + 4.146836311275026E-01 -5.142607751130449E-01 5.298646460996985E-01 + 4.815649403680025E-01 -5.972021582515067E-01 6.153226641918230E-01 + 5.692914291533693E-01 -7.059942318572221E-01 7.274157429744177E-01 + 6.843600024514055E-01 -8.486939895845912E-01 8.744453440753459E-01 + 8.352924829846300E-01 -1.035869582259203E+00 1.067300280657343E+00 + 1.033266725881591E+00 -1.281382980817503E+00 1.320263128176156E+00 + 1.292944435491601E+00 -1.603416575103658E+00 1.652067972578567E+00 + 1.633556991355226E+00 -2.025819737040392E+00 2.087287831339526E+00 + 2.080329698131594E+00 -2.579875072818824E+00 2.658154497861692E+00 + 2.666349937503512E+00 -3.306615170352776E+00 3.406945584449310E+00 + 3.435017574860819E+00 -4.259861417176876E+00 4.389115545026779E+00 + 4.443259094562805E+00 -5.510209939527099E+00 5.677402556904648E+00 + 5.765743498284928E+00 -7.150259855854617E+00 7.367215411695480E+00 + 7.500412190172578E+00 -9.301471042148560E+00 9.583699361226319E+00 + 9.775732384608283E+00 -1.212315928588128E+01 1.249100420542810E+01 + 1.276021121414967E+01 -1.582429499749686E+01 1.630444100424103E+01 + 1.667487513958882E+01 -2.067897927603891E+01 2.130642772315811E+01 + 2.180963887034370E+01 -2.704674346538171E+01 2.786740472532355E+01 + 2.854477605525997E+01 -3.539917555871114E+01 3.647326908320873E+01 + 3.737908183411086E+01 -4.635484536671625E+01 4.776135945783962E+01 + 4.896681293022349E+01 -6.072511496015522E+01 6.256765653700344E+01 + 1.989931522129460E-01 -2.293570682355100E-01 3.972580952589446E-01 + 1.990062676161104E-01 -2.293721848884454E-01 3.972842780698690E-01 + 1.990317927049006E-01 -2.294016047929308E-01 3.973352348391916E-01 + 1.990814694208640E-01 -2.294588615668762E-01 3.974344064807425E-01 + 1.991781498331906E-01 -2.295702942251382E-01 3.976274135064748E-01 + 1.993663084492823E-01 -2.297871635398364E-01 3.980030421781346E-01 + 1.997325011863378E-01 -2.302092328002414E-01 3.987340875814691E-01 + 2.004451824520568E-01 -2.310306604919680E-01 4.001568420782836E-01 + 2.018321968166532E-01 -2.326293162483427E-01 4.029257950721372E-01 + 2.045315926618016E-01 -2.357406068136975E-01 4.083147084084414E-01 + 2.097851344525706E-01 -2.417957746905000E-01 4.188025668194222E-01 + 2.200095338851180E-01 -2.535802921587615E-01 4.392139498171340E-01 + 2.399081752055240E-01 -2.765152222524082E-01 4.789384140073704E-01 + 2.639949362225676E-01 -3.042773277757514E-01 5.270237912988893E-01 + 2.955889195675877E-01 -3.406921657403309E-01 5.900961408029290E-01 + 3.370299328652701E-01 -3.884565697359719E-01 6.728265153166250E-01 + 3.913870414445967E-01 -4.511079068441567E-01 7.813418143501264E-01 + 4.626858591612460E-01 -5.332860502540828E-01 9.236785340077998E-01 + 5.562066799086062E-01 -6.410770019881381E-01 1.110377939007388E+00 + 6.788755290334002E-01 -7.824636139705401E-01 1.355266734470934E+00 + 8.397770953942392E-01 -9.679167872311550E-01 1.676481052983193E+00 + 1.050827531116789E+00 -1.211170932656979E+00 2.097809592012467E+00 + 1.327656945684371E+00 -1.530241122864471E+00 2.650455372632509E+00 + 1.690766950681354E+00 -1.948757264083079E+00 3.375346593010808E+00 + 2.167048981385575E+00 -2.497714095013006E+00 4.326167715343437E+00 + 2.791775840050958E+00 -3.217766615202945E+00 5.573335264430424E+00 + 3.611213951879051E+00 -4.162240939265169E+00 7.209212780150468E+00 + 4.686049793819457E+00 -5.401083556714090E+00 9.354951136153609E+00 + 6.095884252876326E+00 -7.026041474264194E+00 1.216946080951170E+01 + 7.945127760011228E+00 -9.157456874911434E+00 1.586118057546749E+01 + 1.037073278527658E+01 -1.195317949704892E+01 2.070351420087929E+01 + 1.355233635229847E+01 -1.562025677234578E+01 2.705507835697469E+01 + 1.772556371299755E+01 -2.043026747817089E+01 3.538626128441400E+01 + 2.319947843468276E+01 -2.673943449409617E+01 4.631405910943429E+01 + 3.037947122933907E+01 -3.501500618599142E+01 6.064776974147557E+01 + 3.979728264081204E+01 -4.586986018729330E+01 7.944892838047272E+01 + 1.173778669539042E-01 -4.769054440472978E-01 9.381133947129762E-02 + 1.173856031902046E-01 -4.769368763207225E-01 9.381752246566140E-02 + 1.174006593890872E-01 -4.769980495503962E-01 9.382955575797775E-02 + 1.174299616383968E-01 -4.771171043822929E-01 9.385297485161608E-02 + 1.174869894328155E-01 -4.773488079080604E-01 9.389855289729322E-02 + 1.175979764530232E-01 -4.777997473869351E-01 9.398725651152483E-02 + 1.178139784706383E-01 -4.786773620582452E-01 9.415989074936569E-02 + 1.182343598046582E-01 -4.803853684479736E-01 9.449587007031063E-02 + 1.190525024680627E-01 -4.837094763084291E-01 9.514975023634510E-02 + 1.206447649295804E-01 -4.901788274387248E-01 9.642232638874272E-02 + 1.237436129175441E-01 -5.027694249175093E-01 9.889900353506521E-02 + 1.297745651534927E-01 -5.272731412377472E-01 1.037190920425854E-01 + 1.415119543424968E-01 -5.749620705768380E-01 1.130999082926270E-01 + 1.557197428948564E-01 -6.326882150735180E-01 1.244551297633430E-01 + 1.743557327888562E-01 -7.084061103318228E-01 1.393494809702555E-01 + 1.988000802007964E-01 -8.077233211439416E-01 1.588860173951030E-01 + 2.308631003995790E-01 -9.379951456558225E-01 1.845115884708178E-01 + 2.729193372441506E-01 -1.108869338787951E+00 2.181239892913301E-01 + 3.280834186862928E-01 -1.333000611900604E+00 2.622125087463941E-01 + 4.004407218991713E-01 -1.626987823581273E+00 3.200422828859827E-01 + 4.953499307787151E-01 -2.012603268634912E+00 3.958961064747835E-01 + 6.198398928166817E-01 -2.518405104755030E+00 4.953916109730802E-01 + 7.831301660280374E-01 -3.181852331011479E+00 6.258972987157888E-01 + 9.973138069332166E-01 -4.052078950597821E+00 7.970782442175928E-01 + 1.278252965948651E+00 -5.193532768574819E+00 1.021611876503890E+00 + 1.646753616767454E+00 -6.690748309043578E+00 1.316126852337730E+00 + 2.130106418597481E+00 -8.654607327531110E+00 1.702434552022601E+00 + 2.764107825427604E+00 -1.123055056365817E+01 2.209144400692607E+00 + 3.595711122937661E+00 -1.460934888537226E+01 2.873782643597494E+00 + 4.686503725255814E+00 -1.904123152110236E+01 3.745571489011036E+00 + 6.117268255452522E+00 -2.485441769757759E+01 4.889074438323325E+00 + 7.993965197216266E+00 -3.247942411131252E+01 6.388977771527395E+00 + 1.045558018479302E+01 -4.248094841218265E+01 8.356362298440674E+00 + 1.368441709085608E+01 -5.559968994670913E+01 1.093692985306398E+01 + 1.791959920445612E+01 -7.280720494867109E+01 1.432179377411077E+01 + 2.347477837800819E+01 -9.537785867818182E+01 1.876163250008314E+01 + 1.348999066177580E-01 -4.411929231808701E-01 1.927894015646005E-01 + 1.349087977109562E-01 -4.412220016843084E-01 1.928021080859015E-01 + 1.349261014827489E-01 -4.412785940263691E-01 1.928268374122025E-01 + 1.349597779398029E-01 -4.413887335728117E-01 1.928749654218137E-01 + 1.350253187810309E-01 -4.416030862440186E-01 1.929686317546910E-01 + 1.351528738222864E-01 -4.420202576337472E-01 1.931509243943730E-01 + 1.354011203849622E-01 -4.428321531302125E-01 1.935057008168234E-01 + 1.358842557849725E-01 -4.444122574072799E-01 1.941961637458052E-01 + 1.368245298907936E-01 -4.474874432375707E-01 1.955399369678400E-01 + 1.386544835519387E-01 -4.534723443786354E-01 1.981551772602055E-01 + 1.422159241799500E-01 -4.651201093089676E-01 2.032449362125796E-01 + 1.491471703727703E-01 -4.877888927482449E-01 2.131505828443233E-01 + 1.626367041888410E-01 -5.319066909430434E-01 2.324288701092262E-01 + 1.789654158846400E-01 -5.853100788731793E-01 2.557647095110571E-01 + 2.003833659775424E-01 -6.553579258061266E-01 2.863737283360381E-01 + 2.284767388490885E-01 -7.472378804329891E-01 3.265227890702550E-01 + 2.653260916525235E-01 -8.677544477775253E-01 3.791852767852901E-01 + 3.136604375582557E-01 -1.025832921624135E+00 4.482613040103220E-01 + 3.770593527738628E-01 -1.233180379689667E+00 5.388665477848404E-01 + 4.602180751108719E-01 -1.505152693946419E+00 6.577111097729827E-01 + 5.692952269391952E-01 -1.861891765706804E+00 8.135964573065393E-01 + 7.123689144203712E-01 -2.329817207560126E+00 1.018067248137358E+00 + 9.000349811112124E-01 -2.943582944105781E+00 1.286266312157667E+00 + 1.146191721789648E+00 -3.748643634683739E+00 1.638056108876777E+00 + 1.469069171346103E+00 -4.804620983894480E+00 2.099489714276319E+00 + 1.892579196481947E+00 -6.189719244307136E+00 2.704740276338606E+00 + 2.448086376178003E+00 -8.006516917507316E+00 3.498631832111884E+00 + 3.176730819942672E+00 -1.038956357902157E+01 4.539958915197275E+00 + 4.132474948613729E+00 -1.351534443768548E+01 5.905840799292799E+00 + 5.386099878174316E+00 -1.761535059122896E+01 7.697432847175172E+00 + 7.030447373356980E+00 -2.299322294350886E+01 1.004741793989120E+01 + 9.187295583021438E+00 -3.004723943868428E+01 1.312983279126036E+01 + 1.201637776495771E+01 -3.929981098644747E+01 1.717295687123487E+01 + 1.572721191466101E+01 -5.143617050659170E+01 2.247621847432782E+01 + 2.059461738436691E+01 -6.735512035116790E+01 2.943236997364499E+01 + 2.697906763214135E+01 -8.823559638959712E+01 3.855657452980569E+01 + 1.348999066177580E-01 -3.875569809257788E-01 2.856895786622491E-01 + 1.349087977109562E-01 -3.875825243477383E-01 2.857084081242802E-01 + 1.349261014827489E-01 -3.876322367435638E-01 2.857450538670140E-01 + 1.349597779398029E-01 -3.877289865957420E-01 2.858163735073889E-01 + 1.350253187810308E-01 -3.879172803550965E-01 2.859551751995845E-01 + 1.351528738222864E-01 -3.882837361068484E-01 2.862253099009806E-01 + 1.354011203849622E-01 -3.889969292495867E-01 2.867510438149125E-01 + 1.358842557849725E-01 -3.903849398249901E-01 2.877742227949904E-01 + 1.368245298907936E-01 -3.930862744873430E-01 2.897655252343628E-01 + 1.386544835519387E-01 -3.983435895880645E-01 2.936409815154805E-01 + 1.422159241799500E-01 -4.085753326051258E-01 3.011833623662707E-01 + 1.491471703727703E-01 -4.284882659487663E-01 3.158622813817009E-01 + 1.626367041888410E-01 -4.672426515590255E-01 3.444302717449802E-01 + 1.789654158846400E-01 -5.141537752647128E-01 3.790110426397176E-01 + 2.003833659775424E-01 -5.756858866185363E-01 4.243697481515634E-01 + 2.284767388490885E-01 -6.563959704658837E-01 4.838655925898793E-01 + 2.653260916525235E-01 -7.622613063258582E-01 5.619047576296280E-01 + 3.136604375582557E-01 -9.011221376185461E-01 6.642667181597496E-01 + 3.770593527738628E-01 -1.083262309476127E+00 7.985322623673701E-01 + 4.602180751108719E-01 -1.322170876387869E+00 9.746449146456904E-01 + 5.692952269391952E-01 -1.635541083309888E+00 1.205647339545885E+00 + 7.123689144203712E-01 -2.046580703427933E+00 1.508647263852510E+00 + 9.000349811112124E-01 -2.585730774413557E+00 1.906084451663360E+00 + 1.146191721789648E+00 -3.292920020453450E+00 2.427392562932559E+00 + 1.469069171346103E+00 -4.220521919494669E+00 3.111178970470240E+00 + 1.892579196481947E+00 -5.437233412101749E+00 4.008083969694090E+00 + 2.448086376178003E+00 -7.033162503851449E+00 5.184531130335263E+00 + 3.176730819942672E+00 -9.126501542209278E+00 6.727646536067608E+00 + 4.132474948613729E+00 -1.187228038173691E+01 8.751711224285927E+00 + 5.386099878174316E+00 -1.547384768519297E+01 1.140662468498591E+01 + 7.030447373356980E+00 -2.019793065013974E+01 1.488900621401226E+01 + 9.187295583021438E+00 -2.639438846401558E+01 1.945675627186405E+01 + 1.201637776495771E+01 -3.452212240180769E+01 2.544815624257282E+01 + 1.572721191466101E+01 -4.518306143307291E+01 3.330692109493236E+01 + 2.059461738436691E+01 -5.916674026634290E+01 4.361506031224708E+01 + 2.697906763214135E+01 -7.750877122051841E+01 5.713598072655868E+01 + 1.173778669539042E-01 -3.196957251688389E-01 3.661065600124089E-01 + 1.173856031902046E-01 -3.197167959357417E-01 3.661306896625114E-01 + 1.174006593890872E-01 -3.197578036874157E-01 3.661776505872822E-01 + 1.174299616383968E-01 -3.198376126333885E-01 3.662690455493290E-01 + 1.174869894328155E-01 -3.199929361416834E-01 3.664469176659514E-01 + 1.175979764530232E-01 -3.202952254644529E-01 3.667930909031105E-01 + 1.178139784706383E-01 -3.208835384356411E-01 3.674668103842785E-01 + 1.182343598046582E-01 -3.220285082575899E-01 3.687779976471370E-01 + 1.190525024680627E-01 -3.242568390226342E-01 3.713298194161937E-01 + 1.206447649295803E-01 -3.285935978640087E-01 3.762961537648325E-01 + 1.237436129175441E-01 -3.370337619290886E-01 3.859615924571230E-01 + 1.297745651534927E-01 -3.534599391852095E-01 4.047723890238162E-01 + 1.415119543424967E-01 -3.854284290355249E-01 4.413818051857291E-01 + 1.557197428948563E-01 -4.241254115431035E-01 4.856965020470272E-01 + 1.743557327888562E-01 -4.748832456903295E-01 5.438229472583521E-01 + 1.988000802007963E-01 -5.414609879422669E-01 6.200659066422377E-01 + 2.308631003995790E-01 -6.287892957362603E-01 7.200718305290175E-01 + 2.729193372441505E-01 -7.433355852950734E-01 8.512470222223530E-01 + 3.280834186862928E-01 -8.935829997147299E-01 1.023306138792926E+00 + 4.004407218991712E-01 -1.090658659055064E+00 1.248991645426344E+00 + 4.953499307787150E-01 -1.349157719783969E+00 1.545017505140037E+00 + 6.198398928166817E-01 -1.688224272301903E+00 1.933306992251725E+00 + 7.831301660280373E-01 -2.132969126353673E+00 2.442616300388776E+00 + 9.973138069332165E-01 -2.716329483595246E+00 3.110664187249102E+00 + 1.278252965948651E+00 -3.481508222147673E+00 3.986925374720772E+00 + 1.646753616767454E+00 -4.485173443249120E+00 5.136294579790643E+00 + 2.130106418597481E+00 -5.801655234097515E+00 6.643892529409584E+00 + 2.764107825427603E+00 -7.528450453457040E+00 8.621369886267308E+00 + 3.595711122937661E+00 -9.793443216996373E+00 1.121517594568349E+01 + 4.686503725255813E+00 -1.276437582172546E+01 1.461740447211012E+01 + 6.117268255452521E+00 -1.666127151336995E+01 1.908001990321005E+01 + 7.993965197216265E+00 -2.177272911001310E+01 2.493351749492173E+01 + 1.045558018479301E+01 -2.847729623976750E+01 3.261139935258601E+01 + 1.368441709085607E+01 -3.727150406551642E+01 4.268227900985634E+01 + 1.791959920445611E+01 -4.880663971047735E+01 5.589199217703381E+01 + 2.347477837800819E+01 -6.393697970063074E+01 7.321883232382589E+01 + 7.787945231879140E-02 -2.469573467891386E-01 4.277426719411941E-01 + 7.788458526132751E-02 -2.469736234556045E-01 4.277708639544908E-01 + 7.789457495149150E-02 -2.470053009687956E-01 4.278257310167953E-01 + 7.791401680358138E-02 -2.470669514820675E-01 4.279325128380949E-01 + 7.795185437476522E-02 -2.471869351993420E-01 4.281403307324952E-01 + 7.802549354177837E-02 -2.474204465141223E-01 4.285447841938370E-01 + 7.816880947746685E-02 -2.478749042969705E-01 4.293319281636251E-01 + 7.844772976208379E-02 -2.487593662622744E-01 4.308638612248938E-01 + 7.899056210516600E-02 -2.504806987987458E-01 4.338452966347838E-01 + 8.004701790615160E-02 -2.538307418953952E-01 4.396477414857258E-01 + 8.210308341820066E-02 -2.603505679671275E-01 4.509404114984783E-01 + 8.610458105387432E-02 -2.730393993580300E-01 4.729181121561963E-01 + 9.389226254284806E-02 -2.977342977027606E-01 5.156909307770181E-01 + 1.033190379634092E-01 -3.276267966524112E-01 5.674662577230123E-01 + 1.156838962116274E-01 -3.668360167417385E-01 6.353786190428773E-01 + 1.319025619459415E-01 -4.182657397168151E-01 7.244575122549022E-01 + 1.531761675887170E-01 -4.857247812194819E-01 8.412999995674184E-01 + 1.810802075669769E-01 -5.742090665162130E-01 9.945592773727763E-01 + 2.176812172962677E-01 -6.902716219582998E-01 1.195585520254750E+00 + 2.656898179952112E-01 -8.425078832398849E-01 1.459266459548786E+00 + 3.286614616224665E-01 -1.042192261726273E+00 1.805129948565023E+00 + 4.112597428343019E-01 -1.304113112092810E+00 2.258790168961510E+00 + 5.196017784897999E-01 -1.647667937847025E+00 2.853844582353282E+00 + 6.617112330421705E-01 -2.098299944171973E+00 3.634362112824790E+00 + 8.481125402632005E-01 -2.689382327249100E+00 4.658146831773262E+00 + 1.092610328557112E+00 -3.464689847976333E+00 6.001018849163088E+00 + 1.413311773047144E+00 -4.481640731484182E+00 7.762429448200741E+00 + 1.833967588446002E+00 -5.815548983138099E+00 1.007282631270069E+01 + 2.385730974826316E+00 -7.565202041792114E+00 1.310331430590773E+01 + 3.109464781433043E+00 -9.860176843740934E+00 1.707832726497340E+01 + 4.058767753965602E+00 -1.287043611516003E+01 2.229224926702654E+01 + 5.303943985105572E+00 -1.681891558145731E+01 2.913121631529587E+01 + 6.937209540420975E+00 -2.199803428521659E+01 3.810171304863718E+01 + 9.079521855311171E+00 -2.879135074452257E+01 4.986808230804903E+01 + 1.188953767888243E+01 -3.770196877742842E+01 6.530172546788138E+01 + 1.557536297794748E+01 -4.938979668946110E+01 8.554563724164362E+01 + 4.366624927850383E-01 -1.766035686230613E-16 2.436037787489228E-01 + 4.366912726931707E-01 -1.766152083552682E-16 2.436198343856879E-01 + 4.367472839115252E-01 -1.766378615054878E-16 2.436510817327098E-01 + 4.368562924798338E-01 -1.766819488784403E-16 2.437118950601532E-01 + 4.370684440507827E-01 -1.767677513577868E-16 2.438302494533163E-01 + 4.374813316774567E-01 -1.769347394309915E-16 2.440605897910333E-01 + 4.382848901498171E-01 -1.772597302331807E-16 2.445088762446379E-01 + 4.398487689797631E-01 -1.778922246352096E-16 2.453813276201853E-01 + 4.428923769795259E-01 -1.791231799911861E-16 2.470792852465521E-01 + 4.488158216088903E-01 -1.815188550889368E-16 2.503838362871507E-01 + 4.603439803861968E-01 -1.861812980817858E-16 2.568151260969487E-01 + 4.827799873231008E-01 -1.952553059395195E-16 2.693316489496625E-01 + 5.264447578208595E-01 -2.129150647244522E-16 2.936912018474079E-01 + 5.792997681157088E-01 -2.342917196740088E-16 3.231777743064191E-01 + 6.486283222444570E-01 -2.623309267708303E-16 3.618545510848550E-01 + 7.395647990471329E-01 -2.991092317242322E-16 4.125858818981725E-01 + 8.588438308574121E-01 -3.473503859970563E-16 4.791288604104149E-01 + 1.015299061253791E+00 -4.106270641507392E-16 5.664115695034390E-01 + 1.220517352741252E+00 -4.936254512855249E-16 6.808980484219604E-01 + 1.489696894098452E+00 -6.024922955633609E-16 8.310670107669733E-01 + 1.842772757658597E+00 -7.452901280533767E-16 1.028039766543898E+00 + 2.305893263772081E+00 -9.325943628652793E-16 1.286403851322062E+00 + 2.913356490003838E+00 -1.178276497998004E-15 1.625293359365786E+00 + 3.710150340314305E+00 -1.500531419697932E-15 2.069805988745856E+00 + 4.755284288307994E+00 -1.923224891096349E-15 2.652861742873513E+00 + 6.126159538943101E+00 -2.477661018309996E-15 3.417640941375654E+00 + 7.924301256960680E+00 -3.204900590150748E-15 4.420782096095346E+00 + 1.028287738310875E+01 -4.158801984544052E-15 5.736576482583930E+00 + 1.337656087150955E+01 -5.410009847067716E-15 7.462470051369527E+00 + 1.743446573211479E+01 -7.051186937742510E-15 9.726280143100238E+00 + 2.275711490403628E+01 -9.203876609563402E-15 1.269566146771335E+01 + 2.973869657747423E+01 -1.202750414463882E-14 1.659052238522970E+01 + 3.889625723730799E+01 -1.573118357470370E-14 2.169931102111599E+01 + 5.090799342562633E+01 -2.058920438314550E-14 2.840037734386518E+01 + 6.666347805927931E+01 -2.696134501272480E-14 3.718999325133422E+01 + 8.732954099551750E+01 -3.531951756986525E-14 4.871910579549083E+01 + 3.561379211431203E-01 -6.587144748546639E-02 3.447370986070745E-01 + 3.561613937720323E-01 -6.587578899461477E-02 3.447598198212655E-01 + 3.562070760076149E-01 -6.588423840368791E-02 3.448040396597542E-01 + 3.562959823953759E-01 -6.590068257350201E-02 3.448900999424278E-01 + 3.564690112693766E-01 -6.593268608031934E-02 3.450575897503281E-01 + 3.568057586279408E-01 -6.599497103968095E-02 3.453835570244178E-01 + 3.574611335424157E-01 -6.611618951066982E-02 3.460179518279555E-01 + 3.587366187618226E-01 -6.635210389288156E-02 3.472526057295766E-01 + 3.612189575102154E-01 -6.681123850562105E-02 3.496554789061653E-01 + 3.660500645806977E-01 -6.770480247844508E-02 3.543319307403099E-01 + 3.754523250665299E-01 -6.944384926641202E-02 3.634332024887097E-01 + 3.937509263920052E-01 -7.282836769230618E-02 3.811460220313859E-01 + 4.293635124263147E-01 -7.941528936369413E-02 4.156185644215824E-01 + 4.724715736851333E-01 -8.738857787028199E-02 4.573466340336050E-01 + 5.290153060899803E-01 -9.784693481183707E-02 5.120802669786580E-01 + 6.031822618961151E-01 -1.115648919416463E-01 5.838729619970889E-01 + 7.004651454200478E-01 -1.295583825890695E-01 6.780415888664896E-01 + 8.280685952834739E-01 -1.531599803062223E-01 8.015601485777786E-01 + 9.954427501936970E-01 -1.841175874607899E-01 9.635762584049978E-01 + 1.214983113419729E+00 -2.247238825185189E-01 1.176088612053714E+00 + 1.502948546979472E+00 -2.779861127058437E-01 1.454835586669259E+00 + 1.880665380944419E+00 -3.478488066673212E-01 1.820460805736558E+00 + 2.376106812566465E+00 -4.394859009157058E-01 2.300041977881610E+00 + 3.025964563387502E+00 -5.596839145639869E-01 2.929096235306034E+00 + 3.878366218452042E+00 -7.173445497411772E-01 3.754210484503684E+00 + 4.996439490085390E+00 -9.241439395980706E-01 4.836491569471616E+00 + 6.462987370786357E+00 -1.195397366917578E+00 6.256091761830890E+00 + 8.386620410727057E+00 -1.551193493218995E+00 8.118144729527542E+00 + 1.090980026802761E+01 -2.017882097827791E+00 1.056055159391772E+01 + 1.421939022624725E+01 -2.630025506851851E+00 1.376419370008153E+01 + 1.856049403613055E+01 -3.432958232251710E+00 1.796632844430573E+01 + 2.425460796748923E+01 -4.486144384408261E+00 2.347816023557926E+01 + 3.172343038760199E+01 -5.867581503616411E+00 3.070788787271684E+01 + 4.152009217126745E+01 -7.679576952301758E+00 4.019093519465149E+01 + 5.437012082438974E+01 -1.005632465974604E+01 5.262960384492119E+01 + 7.122517206861912E+01 -1.317384334277592E+01 6.894508478039316E+01 + 3.561379211431203E-01 6.587144748546589E-02 3.447370986070746E-01 + 3.561613937720323E-01 6.587578899461427E-02 3.447598198212656E-01 + 3.562070760076149E-01 6.588423840368741E-02 3.448040396597543E-01 + 3.562959823953759E-01 6.590068257350151E-02 3.448900999424278E-01 + 3.564690112693766E-01 6.593268608031884E-02 3.450575897503281E-01 + 3.568057586279408E-01 6.599497103968045E-02 3.453835570244179E-01 + 3.574611335424157E-01 6.611618951066932E-02 3.460179518279556E-01 + 3.587366187618226E-01 6.635210389288106E-02 3.472526057295766E-01 + 3.612189575102154E-01 6.681123850562055E-02 3.496554789061653E-01 + 3.660500645806977E-01 6.770480247844458E-02 3.543319307403099E-01 + 3.754523250665299E-01 6.944384926641151E-02 3.634332024887098E-01 + 3.937509263920052E-01 7.282836769230563E-02 3.811460220313859E-01 + 4.293635124263147E-01 7.941528936369355E-02 4.156185644215825E-01 + 4.724715736851333E-01 8.738857787028136E-02 4.573466340336051E-01 + 5.290153060899803E-01 9.784693481183636E-02 5.120802669786582E-01 + 6.031822618961151E-01 1.115648919416455E-01 5.838729619970890E-01 + 7.004651454200478E-01 1.295583825890686E-01 6.780415888664897E-01 + 8.280685952834739E-01 1.531599803062212E-01 8.015601485777787E-01 + 9.954427501936970E-01 1.841175874607885E-01 9.635762584049981E-01 + 1.214983113419729E+00 2.247238825185173E-01 1.176088612053715E+00 + 1.502948546979472E+00 2.779861127058417E-01 1.454835586669259E+00 + 1.880665380944419E+00 3.478488066673186E-01 1.820460805736559E+00 + 2.376106812566465E+00 4.394859009157026E-01 2.300041977881610E+00 + 3.025964563387502E+00 5.596839145639827E-01 2.929096235306034E+00 + 3.878366218452042E+00 7.173445497411719E-01 3.754210484503685E+00 + 4.996439490085390E+00 9.241439395980637E-01 4.836491569471617E+00 + 6.462987370786357E+00 1.195397366917569E+00 6.256091761830891E+00 + 8.386620410727057E+00 1.551193493218983E+00 8.118144729527543E+00 + 1.090980026802761E+01 2.017882097827776E+00 1.056055159391773E+01 + 1.421939022624725E+01 2.630025506851831E+00 1.376419370008153E+01 + 1.856049403613055E+01 3.432958232251685E+00 1.796632844430574E+01 + 2.425460796748923E+01 4.486144384408227E+00 2.347816023557927E+01 + 3.172343038760199E+01 5.867581503616367E+00 3.070788787271685E+01 + 4.152009217126745E+01 7.679576952301701E+00 4.019093519465149E+01 + 5.437012082438974E+01 1.005632465974596E+01 5.262960384492120E+01 + 7.122517206861912E+01 1.317384334277582E+01 6.894508478039316E+01 + 2.448423563676756E-01 -1.191171466466295E-01 4.193808049125367E-01 + 2.448584936376258E-01 -1.191249975167962E-01 4.194084458050734E-01 + 2.448898998584750E-01 -1.191402768151578E-01 4.194622402807286E-01 + 2.449510223848425E-01 -1.191700132588220E-01 4.195669346427932E-01 + 2.450699785383855E-01 -1.192278860786899E-01 4.197706899413546E-01 + 2.453014900171598E-01 -1.193405176804137E-01 4.201672368123913E-01 + 2.457520557357702E-01 -1.195597203689268E-01 4.209389930417469E-01 + 2.466289429979561E-01 -1.199863308220850E-01 4.224409786102928E-01 + 2.483355337100837E-01 -1.208165965454594E-01 4.253641304583888E-01 + 2.516568863905416E-01 -1.224324528056776E-01 4.310531443250792E-01 + 2.581208754123923E-01 -1.255772188488606E-01 4.421250558976775E-01 + 2.707010372002226E-01 -1.316975364227898E-01 4.636731183113049E-01 + 2.951844436653344E-01 -1.436088476909033E-01 5.056097785471682E-01 + 3.248209374797903E-01 -1.580271641626138E-01 5.563729586401890E-01 + 3.636943622344164E-01 -1.769392980999297E-01 6.229577130313795E-01 + 4.146836311275027E-01 -2.017458565330687E-01 7.102952184676219E-01 + 4.815649403680026E-01 -2.342839795886879E-01 8.248535723366103E-01 + 5.692914291533694E-01 -2.769633965999679E-01 9.751168112008436E-01 + 6.843600024514056E-01 -3.329448873979799E-01 1.172213227057094E+00 + 8.352924829846301E-01 -4.063743653859202E-01 1.430739513572715E+00 + 1.033266725881591E+00 -5.026899182717122E-01 1.769841777453063E+00 + 1.292944435491601E+00 -6.290245454798665E-01 2.214633473178090E+00 + 1.633556991355226E+00 -7.947344184299669E-01 2.798055271434653E+00 + 2.080329698131594E+00 -1.012091785922686E+00 3.563314600582174E+00 + 2.666349937503512E+00 -1.297193840267943E+00 4.567085530289166E+00 + 3.435017574860820E+00 -1.671154853549943E+00 5.883705976389742E+00 + 4.443259094562806E+00 -2.161669872026614E+00 7.610683066268304E+00 + 5.765743498284928E+00 -2.805065773753224E+00 9.875914384677893E+00 + 7.500412190172579E+00 -3.648991587980430E+00 1.284715989567913E+01 + 9.775732384608283E+00 -4.755947317738376E+00 1.674446601841244E+01 + 1.276021121414967E+01 -6.207912605429000E+00 2.185646196693180E+01 + 1.667487513958882E+01 -8.112418034132547E+00 2.856173523896068E+01 + 2.180963887034370E+01 -1.061050869698190E+01 3.735686929332309E+01 + 2.854477605525997E+01 -1.388718980576882E+01 4.889321984847339E+01 + 3.737908183411086E+01 -1.818512792641124E+01 6.402515340499545E+01 + 4.896681293022350E+01 -2.382262253622699E+01 8.387332047172657E+01 + 2.596502903767807E-01 -3.369411338668750E-16 4.273156448496254E-01 + 2.596674036201370E-01 -3.369633412582561E-16 4.273438087180719E-01 + 2.597007092723294E-01 -3.370065610990565E-16 4.273986210051024E-01 + 2.597655284562129E-01 -3.370906751945284E-16 4.275052962232184E-01 + 2.598916790139341E-01 -3.372543773490487E-16 4.277129066473875E-01 + 2.601371921824115E-01 -3.375729731235652E-16 4.281169563318872E-01 + 2.606150078733181E-01 -3.381930215758117E-16 4.289033144745366E-01 + 2.615449288054315E-01 -3.393997547276141E-16 4.304337181655493E-01 + 2.633547332058304E-01 -3.417482887726282E-16 4.334121771277401E-01 + 2.668769595098019E-01 -3.463189862398783E-16 4.392088292408721E-01 + 2.737318871106270E-01 -3.552144397171138E-16 4.504902254753745E-01 + 2.870728903163464E-01 -3.725266974485948E-16 4.724459851994264E-01 + 3.130370400345129E-01 -4.062196697662205E-16 5.151761025572413E-01 + 3.444659330529966E-01 -4.470040911295157E-16 5.668997407924028E-01 + 3.856904016262420E-01 -5.004999649988361E-16 6.347443033630703E-01 + 4.397634740741654E-01 -5.706691233534468E-16 7.237342667039747E-01 + 5.106897289211707E-01 -6.627081990440705E-16 8.404601069976132E-01 + 6.037218685590129E-01 -7.834334813849800E-16 9.935663819160714E-01 + 7.257497272731739E-01 -9.417857213105822E-16 1.194391934856503E+00 + 8.858105230404270E-01 -1.149492271282827E-15 1.457809634329041E+00 + 1.095758141654776E+00 -1.421935597134370E-15 1.803327838459101E+00 + 1.371141019457850E+00 -1.779292482658532E-15 2.256535157573615E+00 + 1.732353639480011E+00 -2.248028294895372E-15 2.850995512031957E+00 + 2.206146919237137E+00 -2.862856973377558E-15 3.630733830718391E+00 + 2.827609347458063E+00 -3.669311897485532E-15 4.653496477660483E+00 + 3.642765590046031E+00 -4.727118026867057E-15 5.995027869553834E+00 + 4.711985014512857E+00 -6.114615051074338E-15 7.754680004696004E+00 + 6.114452563589863E+00 -7.934559120891413E-15 1.006277033744653E+01 + 7.954033084861150E+00 -1.032173282971771E-14 1.309023291243214E+01 + 1.036696342073085E+01 -1.345292702992423E-14 1.706127750842766E+01 + 1.353194192449140E+01 -1.756003372398527E-14 2.226999431096657E+01 + 1.768336261839050E+01 -2.294721967217343E-14 2.910213383325000E+01 + 2.312867409752263E+01 -3.001345257094921E-14 3.806367507680446E+01 + 3.027114875646134E+01 -3.928204806031301E-14 4.981829765118167E+01 + 3.963974859672469E+01 -5.143942577147478E-14 6.523653298714426E+01 + 5.192829943633307E+01 -6.738594463525131E-14 8.546023471562975E+01 + 2.448423563676757E-01 1.191171466466289E-01 4.193808049125369E-01 + 2.448584936376258E-01 1.191249975167955E-01 4.194084458050736E-01 + 2.448898998584750E-01 1.191402768151572E-01 4.194622402807288E-01 + 2.449510223848425E-01 1.191700132588213E-01 4.195669346427933E-01 + 2.450699785383855E-01 1.192278860786893E-01 4.197706899413547E-01 + 2.453014900171598E-01 1.193405176804131E-01 4.201672368123914E-01 + 2.457520557357703E-01 1.195597203689262E-01 4.209389930417470E-01 + 2.466289429979561E-01 1.199863308220844E-01 4.224409786102930E-01 + 2.483355337100837E-01 1.208165965454587E-01 4.253641304583890E-01 + 2.516568863905417E-01 1.224324528056769E-01 4.310531443250794E-01 + 2.581208754123923E-01 1.255772188488599E-01 4.421250558976778E-01 + 2.707010372002227E-01 1.316975364227891E-01 4.636731183113051E-01 + 2.951844436653345E-01 1.436088476909025E-01 5.056097785471684E-01 + 3.248209374797904E-01 1.580271641626129E-01 5.563729586401892E-01 + 3.636943622344165E-01 1.769392980999288E-01 6.229577130313798E-01 + 4.146836311275027E-01 2.017458565330676E-01 7.102952184676223E-01 + 4.815649403680027E-01 2.342839795886867E-01 8.248535723366107E-01 + 5.692914291533695E-01 2.769633965999664E-01 9.751168112008441E-01 + 6.843600024514057E-01 3.329448873979782E-01 1.172213227057095E+00 + 8.352924829846302E-01 4.063743653859180E-01 1.430739513572716E+00 + 1.033266725881592E+00 5.026899182717095E-01 1.769841777453063E+00 + 1.292944435491601E+00 6.290245454798632E-01 2.214633473178091E+00 + 1.633556991355226E+00 7.947344184299627E-01 2.798055271434654E+00 + 2.080329698131594E+00 1.012091785922681E+00 3.563314600582176E+00 + 2.666349937503512E+00 1.297193840267936E+00 4.567085530289168E+00 + 3.435017574860820E+00 1.671154853549934E+00 5.883705976389744E+00 + 4.443259094562806E+00 2.161669872026603E+00 7.610683066268307E+00 + 5.765743498284928E+00 2.805065773753209E+00 9.875914384677897E+00 + 7.500412190172580E+00 3.648991587980411E+00 1.284715989567913E+01 + 9.775732384608284E+00 4.755947317738351E+00 1.674446601841245E+01 + 1.276021121414967E+01 6.207912605428968E+00 2.185646196693181E+01 + 1.667487513958883E+01 8.112418034132505E+00 2.856173523896069E+01 + 2.180963887034370E+01 1.061050869698184E+01 3.735686929332310E+01 + 2.854477605525997E+01 1.388718980576875E+01 4.889321984847341E+01 + 3.737908183411087E+01 1.818512792641114E+01 6.402515340499548E+01 + 4.896681293022350E+01 2.382262253622686E+01 8.387332047172661E+01 + 1.173778669539042E-01 -1.572097188784595E-01 4.599178994837068E-01 + 1.173856031902046E-01 -1.572200803849814E-01 4.599482121281732E-01 + 1.174006593890872E-01 -1.572402458629811E-01 4.600072063452603E-01 + 1.174299616383968E-01 -1.572794917489051E-01 4.601220204009454E-01 + 1.174869894328155E-01 -1.573558717663776E-01 4.603454705632450E-01 + 1.175979764530232E-01 -1.575045219224829E-01 4.607803474146356E-01 + 1.178139784706383E-01 -1.577938236226048E-01 4.616267011336445E-01 + 1.182343598046582E-01 -1.583568601903844E-01 4.632738677174479E-01 + 1.190525024680627E-01 -1.594526372857955E-01 4.664795696525391E-01 + 1.206447649295803E-01 -1.615852295747167E-01 4.727184801535755E-01 + 1.237436129175441E-01 -1.657356629884214E-01 4.848605959921884E-01 + 1.297745651534927E-01 -1.738132020525384E-01 5.084914810664019E-01 + 1.415119543424967E-01 -1.895336415413140E-01 5.544817134783564E-01 + 1.557197428948563E-01 -2.085628035304155E-01 6.101516318103706E-01 + 1.743557327888562E-01 -2.335228646414942E-01 6.831724282286080E-01 + 1.988000802007963E-01 -2.662623332016757E-01 7.789519240373413E-01 + 2.308631003995790E-01 -3.092058499195635E-01 9.045834189998359E-01 + 2.729193372441505E-01 -3.655337534928793E-01 1.069371011513684E+00 + 3.280834186862928E-01 -4.394176121858760E-01 1.285518647539321E+00 + 4.004407218991712E-01 -5.363291645262103E-01 1.569033928312328E+00 + 4.953499307787150E-01 -6.634455488509451E-01 1.940913611614822E+00 + 6.198398928166817E-01 -8.301808324531308E-01 2.428698603224807E+00 + 7.831301660280373E-01 -1.048883204657810E+00 3.068513599104567E+00 + 9.973138069332165E-01 -1.335749467002580E+00 3.907742431466698E+00 + 1.278252965948651E+00 -1.712024546427153E+00 5.008537251224666E+00 + 1.646753616767454E+00 -2.205574865794466E+00 6.452421432128379E+00 + 2.130106418597481E+00 -2.852952093433606E+00 8.346327081432191E+00 + 2.764107825427603E+00 -3.702100110201142E+00 1.083051428695992E+01 + 3.595711122937661E+00 -4.815905668375903E+00 1.408895858928099E+01 + 4.686503725255813E+00 -6.276855699376925E+00 1.836297596112117E+01 + 6.117268255452521E+00 -8.193146184207668E+00 2.396909434153339E+01 + 7.993965197216265E+00 -1.070669500129945E+01 3.132249526644915E+01 + 1.045558018479301E+01 -1.400365217241519E+01 4.096776165102672E+01 + 1.368441709085607E+01 -1.832818588119277E+01 5.361920886292036E+01 + 1.791959920445611E+01 -2.400056523819383E+01 7.021378595114464E+01 + 2.347477837800819E+01 -3.144087897755120E+01 9.198046482390910E+01 + 1.348999066177579E-01 -5.363594225509175E-02 4.784789802268500E-01 + 1.349087977109562E-01 -5.363947733657047E-02 4.785105162101821E-01 + 1.349261014827489E-01 -5.364635728280571E-02 4.785718912792169E-01 + 1.349597779398029E-01 -5.365974697707008E-02 4.786913389292031E-01 + 1.350253187810308E-01 -5.368580588892249E-02 4.789238069542759E-01 + 1.351528738222864E-01 -5.373652152689928E-02 4.793762342953540E-01 + 1.354011203849621E-01 -5.383522388062612E-02 4.802567446317362E-01 + 1.358842557849725E-01 -5.402731758229021E-02 4.819703865407959E-01 + 1.368245298907936E-01 -5.440116875022823E-02 4.853054622022032E-01 + 1.386544835519387E-01 -5.512875479057135E-02 4.917961587756864E-01 + 1.422159241799499E-01 -5.654477670384232E-02 5.044282985788506E-01 + 1.491471703727703E-01 -5.930062679947905E-02 5.290128642260246E-01 + 1.626367041888409E-01 -6.466403938401846E-02 5.768591418542067E-01 + 1.789654158846399E-01 -7.115630360846699E-02 6.347757521507751E-01 + 2.003833659775423E-01 -7.967203918759103E-02 7.107434764876018E-01 + 2.284767388490885E-01 -9.084190996710612E-02 8.103883816601348E-01 + 2.653260916525234E-01 -1.054931414516679E-01 9.410900344149188E-01 + 3.136604375582556E-01 -1.247107840055895E-01 1.112528022170072E+00 + 3.770593527738627E-01 -1.499180702135411E-01 1.337398810152211E+00 + 4.602180751108717E-01 -1.829818175585513E-01 1.632356024418674E+00 + 5.692952269391951E-01 -2.263506823969180E-01 2.019243796852426E+00 + 7.123689144203711E-01 -2.832365041321958E-01 2.526714511989870E+00 + 9.000349811112123E-01 -3.578521696922276E-01 3.192350763821029E+00 + 1.146191721789648E+00 -4.557236142302934E-01 4.065448671809340E+00 + 1.469069171346103E+00 -5.840990643998168E-01 5.210668684746564E+00 + 1.892579196481946E+00 -7.524858322053947E-01 6.712824246032701E+00 + 2.448086376178003E+00 -9.733544136558758E-01 8.683162962447154E+00 + 3.176730819942671E+00 -1.263062036812307E+00 1.126760545126489E+01 + 4.132474948613727E+00 -1.643064055948588E+00 1.465755202357874E+01 + 5.386099878174313E+00 -2.141502906036004E+00 1.910405753216109E+01 + 7.030447373356976E+00 -2.795292293369146E+00 2.493642415390347E+01 + 9.187295583021434E+00 -3.652850974668725E+00 3.258658906312444E+01 + 1.201637776495771E+01 -4.777688584639822E+00 4.262111311380772E+01 + 1.572721191466100E+01 -6.253109073518855E+00 5.578313956926021E+01 + 2.059461738436690E+01 -8.188380084825077E+00 7.304743028589212E+01 + 2.697906763214134E+01 -1.072682516907881E+01 9.569255525636443E+01 + 1.348999066177579E-01 5.363594225509094E-02 4.784789802268501E-01 + 1.349087977109562E-01 5.363947733656966E-02 4.785105162101823E-01 + 1.349261014827489E-01 5.364635728280490E-02 4.785718912792170E-01 + 1.349597779398029E-01 5.365974697706927E-02 4.786913389292032E-01 + 1.350253187810308E-01 5.368580588892168E-02 4.789238069542761E-01 + 1.351528738222864E-01 5.373652152689846E-02 4.793762342953541E-01 + 1.354011203849621E-01 5.383522388062530E-02 4.802567446317363E-01 + 1.358842557849725E-01 5.402731758228938E-02 4.819703865407960E-01 + 1.368245298907936E-01 5.440116875022740E-02 4.853054622022033E-01 + 1.386544835519387E-01 5.512875479057051E-02 4.917961587756866E-01 + 1.422159241799499E-01 5.654477670384146E-02 5.044282985788507E-01 + 1.491471703727703E-01 5.930062679947815E-02 5.290128642260247E-01 + 1.626367041888409E-01 6.466403938401748E-02 5.768591418542068E-01 + 1.789654158846399E-01 7.115630360846591E-02 6.347757521507752E-01 + 2.003833659775423E-01 7.967203918758980E-02 7.107434764876019E-01 + 2.284767388490885E-01 9.084190996710473E-02 8.103883816601349E-01 + 2.653260916525234E-01 1.054931414516663E-01 9.410900344149189E-01 + 3.136604375582556E-01 1.247107840055877E-01 1.112528022170073E+00 + 3.770593527738627E-01 1.499180702135388E-01 1.337398810152212E+00 + 4.602180751108716E-01 1.829818175585486E-01 1.632356024418675E+00 + 5.692952269391950E-01 2.263506823969146E-01 2.019243796852426E+00 + 7.123689144203710E-01 2.832365041321915E-01 2.526714511989871E+00 + 9.000349811112121E-01 3.578521696922222E-01 3.192350763821030E+00 + 1.146191721789647E+00 4.557236142302865E-01 4.065448671809341E+00 + 1.469069171346103E+00 5.840990643998080E-01 5.210668684746565E+00 + 1.892579196481946E+00 7.524858322053832E-01 6.712824246032704E+00 + 2.448086376178003E+00 9.733544136558611E-01 8.683162962447156E+00 + 3.176730819942671E+00 1.263062036812288E+00 1.126760545126490E+01 + 4.132474948613727E+00 1.643064055948563E+00 1.465755202357874E+01 + 5.386099878174313E+00 2.141502906035972E+00 1.910405753216110E+01 + 7.030447373356976E+00 2.795292293369104E+00 2.493642415390348E+01 + 9.187295583021433E+00 3.652850974668670E+00 3.258658906312445E+01 + 1.201637776495771E+01 4.777688584639750E+00 4.262111311380773E+01 + 1.572721191466100E+01 6.253109073518761E+00 5.578313956926023E+01 + 2.059461738436690E+01 8.188380084824953E+00 7.304743028589215E+01 + 2.697906763214133E+01 1.072682516907865E+01 9.569255525636446E+01 + 1.173778669539042E-01 1.572097188784587E-01 4.599178994837070E-01 + 1.173856031902046E-01 1.572200803849806E-01 4.599482121281734E-01 + 1.174006593890872E-01 1.572402458629804E-01 4.600072063452605E-01 + 1.174299616383969E-01 1.572794917489044E-01 4.601220204009456E-01 + 1.174869894328156E-01 1.573558717663768E-01 4.603454705632452E-01 + 1.175979764530232E-01 1.575045219224821E-01 4.607803474146358E-01 + 1.178139784706383E-01 1.577938236226040E-01 4.616267011336447E-01 + 1.182343598046582E-01 1.583568601903836E-01 4.632738677174481E-01 + 1.190525024680627E-01 1.594526372857947E-01 4.664795696525393E-01 + 1.206447649295804E-01 1.615852295747159E-01 4.727184801535757E-01 + 1.237436129175442E-01 1.657356629884206E-01 4.848605959921887E-01 + 1.297745651534927E-01 1.738132020525375E-01 5.084914810664022E-01 + 1.415119543424968E-01 1.895336415413131E-01 5.544817134783567E-01 + 1.557197428948564E-01 2.085628035304144E-01 6.101516318103709E-01 + 1.743557327888562E-01 2.335228646414931E-01 6.831724282286084E-01 + 1.988000802007964E-01 2.662623332016745E-01 7.789519240373416E-01 + 2.308631003995791E-01 3.092058499195620E-01 9.045834189998363E-01 + 2.729193372441506E-01 3.655337534928775E-01 1.069371011513684E+00 + 3.280834186862929E-01 4.394176121858739E-01 1.285518647539322E+00 + 4.004407218991713E-01 5.363291645262077E-01 1.569033928312328E+00 + 4.953499307787152E-01 6.634455488509419E-01 1.940913611614823E+00 + 6.198398928166819E-01 8.301808324531268E-01 2.428698603224808E+00 + 7.831301660280376E-01 1.048883204657805E+00 3.068513599104568E+00 + 9.973138069332169E-01 1.335749467002573E+00 3.907742431466700E+00 + 1.278252965948651E+00 1.712024546427144E+00 5.008537251224668E+00 + 1.646753616767455E+00 2.205574865794456E+00 6.452421432128382E+00 + 2.130106418597482E+00 2.852952093433592E+00 8.346327081432195E+00 + 2.764107825427605E+00 3.702100110201124E+00 1.083051428695993E+01 + 3.595711122937662E+00 4.815905668375880E+00 1.408895858928100E+01 + 4.686503725255815E+00 6.276855699376894E+00 1.836297596112118E+01 + 6.117268255452523E+00 8.193146184207629E+00 2.396909434153340E+01 + 7.993965197216268E+00 1.070669500129940E+01 3.132249526644917E+01 + 1.045558018479302E+01 1.400365217241513E+01 4.096776165102674E+01 + 1.368441709085608E+01 1.832818588119269E+01 5.361920886292039E+01 + 1.791959920445612E+01 2.400056523819372E+01 7.021378595114469E+01 + 2.347477837800820E+01 3.144087897755105E+01 9.198046482390916E+01 + 1 2 3 + 2 4 5 + 3 5 6 + 5 3 2 + 4 7 8 + 5 8 9 + 6 9 10 + 8 5 4 + 9 6 5 + 7 11 12 + 8 12 13 + 9 13 14 + 10 14 15 + 12 8 7 + 13 9 8 + 14 10 9 + 11 16 17 + 12 17 18 + 13 18 19 + 14 19 20 + 15 20 21 + 17 12 11 + 18 13 12 + 19 14 13 + 20 15 14 + 16 22 23 + 17 23 24 + 18 24 25 + 19 25 26 + 20 26 27 + 21 27 28 + 23 17 16 + 24 18 17 + 25 19 18 + 26 20 19 + 27 21 20 + 1 3 29 + 3 6 30 + 29 30 31 + 30 29 3 + 6 10 32 + 30 32 33 + 31 33 34 + 32 30 6 + 33 31 30 + 10 15 35 + 32 35 36 + 33 36 37 + 34 37 38 + 35 32 10 + 36 33 32 + 37 34 33 + 15 21 39 + 35 39 40 + 36 40 41 + 37 41 42 + 38 42 43 + 39 35 15 + 40 36 35 + 41 37 36 + 42 38 37 + 21 28 44 + 39 44 45 + 40 45 46 + 41 46 47 + 42 47 48 + 43 48 49 + 44 39 21 + 45 40 39 + 46 41 40 + 47 42 41 + 48 43 42 + 1 29 50 + 29 31 51 + 50 51 52 + 51 50 29 + 31 34 53 + 51 53 54 + 52 54 55 + 53 51 31 + 54 52 51 + 34 38 56 + 53 56 57 + 54 57 58 + 55 58 59 + 56 53 34 + 57 54 53 + 58 55 54 + 38 43 60 + 56 60 61 + 57 61 62 + 58 62 63 + 59 63 64 + 60 56 38 + 61 57 56 + 62 58 57 + 63 59 58 + 43 49 65 + 60 65 66 + 61 66 67 + 62 67 68 + 63 68 69 + 64 69 70 + 65 60 43 + 66 61 60 + 67 62 61 + 68 63 62 + 69 64 63 + 1 50 71 + 50 52 72 + 71 72 73 + 72 71 50 + 52 55 74 + 72 74 75 + 73 75 76 + 74 72 52 + 75 73 72 + 55 59 77 + 74 77 78 + 75 78 79 + 76 79 80 + 77 74 55 + 78 75 74 + 79 76 75 + 59 64 81 + 77 81 82 + 78 82 83 + 79 83 84 + 80 84 85 + 81 77 59 + 82 78 77 + 83 79 78 + 84 80 79 + 64 70 86 + 81 86 87 + 82 87 88 + 83 88 89 + 84 89 90 + 85 90 91 + 86 81 64 + 87 82 81 + 88 83 82 + 89 84 83 + 90 85 84 + 1 71 92 + 71 73 93 + 92 93 94 + 93 92 71 + 73 76 95 + 93 95 96 + 94 96 97 + 95 93 73 + 96 94 93 + 76 80 98 + 95 98 99 + 96 99 100 + 97 100 101 + 98 95 76 + 99 96 95 + 100 97 96 + 80 85 102 + 98 102 103 + 99 103 104 + 100 104 105 + 101 105 106 + 102 98 80 + 103 99 98 + 104 100 99 + 105 101 100 + 85 91 107 + 102 107 108 + 103 108 109 + 104 109 110 + 105 110 111 + 106 111 112 + 107 102 85 + 108 103 102 + 109 104 103 + 110 105 104 + 111 106 105 + 1 92 2 + 92 94 113 + 2 113 4 + 113 2 92 + 94 97 114 + 113 114 115 + 4 115 7 + 114 113 94 + 115 4 113 + 97 101 116 + 114 116 117 + 115 117 118 + 7 118 11 + 116 114 97 + 117 115 114 + 118 7 115 + 101 106 119 + 116 119 120 + 117 120 121 + 118 121 122 + 11 122 16 + 119 116 101 + 120 117 116 + 121 118 117 + 122 11 118 + 106 112 123 + 119 123 124 + 120 124 125 + 121 125 126 + 122 126 127 + 16 127 22 + 123 119 106 + 124 120 119 + 125 121 120 + 126 122 121 + 127 16 122 + 128 130 129 + 129 132 131 + 130 133 132 + 132 129 130 + 131 135 134 + 132 136 135 + 133 137 136 + 135 131 132 + 136 132 133 + 134 139 138 + 135 140 139 + 136 141 140 + 137 142 141 + 139 134 135 + 140 135 136 + 141 136 137 + 138 144 143 + 139 145 144 + 140 146 145 + 141 147 146 + 142 148 147 + 144 138 139 + 145 139 140 + 146 140 141 + 147 141 142 + 143 23 22 + 144 24 23 + 145 25 24 + 146 26 25 + 147 27 26 + 148 28 27 + 23 143 144 + 24 144 145 + 25 145 146 + 26 146 147 + 27 147 148 + 128 149 130 + 130 150 133 + 149 151 150 + 150 130 149 + 133 152 137 + 150 153 152 + 151 154 153 + 152 133 150 + 153 150 151 + 137 155 142 + 152 156 155 + 153 157 156 + 154 158 157 + 155 137 152 + 156 152 153 + 157 153 154 + 142 159 148 + 155 160 159 + 156 161 160 + 157 162 161 + 158 163 162 + 159 142 155 + 160 155 156 + 161 156 157 + 162 157 158 + 148 44 28 + 159 45 44 + 160 46 45 + 161 47 46 + 162 48 47 + 163 49 48 + 44 148 159 + 45 159 160 + 46 160 161 + 47 161 162 + 48 162 163 + 128 164 149 + 149 165 151 + 164 166 165 + 165 149 164 + 151 167 154 + 165 168 167 + 166 169 168 + 167 151 165 + 168 165 166 + 154 170 158 + 167 171 170 + 168 172 171 + 169 173 172 + 170 154 167 + 171 167 168 + 172 168 169 + 158 174 163 + 170 175 174 + 171 176 175 + 172 177 176 + 173 178 177 + 174 158 170 + 175 170 171 + 176 171 172 + 177 172 173 + 163 65 49 + 174 66 65 + 175 67 66 + 176 68 67 + 177 69 68 + 178 70 69 + 65 163 174 + 66 174 175 + 67 175 176 + 68 176 177 + 69 177 178 + 128 179 164 + 164 180 166 + 179 181 180 + 180 164 179 + 166 182 169 + 180 183 182 + 181 184 183 + 182 166 180 + 183 180 181 + 169 185 173 + 182 186 185 + 183 187 186 + 184 188 187 + 185 169 182 + 186 182 183 + 187 183 184 + 173 189 178 + 185 190 189 + 186 191 190 + 187 192 191 + 188 193 192 + 189 173 185 + 190 185 186 + 191 186 187 + 192 187 188 + 178 86 70 + 189 87 86 + 190 88 87 + 191 89 88 + 192 90 89 + 193 91 90 + 86 178 189 + 87 189 190 + 88 190 191 + 89 191 192 + 90 192 193 + 128 194 179 + 179 195 181 + 194 196 195 + 195 179 194 + 181 197 184 + 195 198 197 + 196 199 198 + 197 181 195 + 198 195 196 + 184 200 188 + 197 201 200 + 198 202 201 + 199 203 202 + 200 184 197 + 201 197 198 + 202 198 199 + 188 204 193 + 200 205 204 + 201 206 205 + 202 207 206 + 203 208 207 + 204 188 200 + 205 200 201 + 206 201 202 + 207 202 203 + 193 107 91 + 204 108 107 + 205 109 108 + 206 110 109 + 207 111 110 + 208 112 111 + 107 193 204 + 108 204 205 + 109 205 206 + 110 206 207 + 111 207 208 + 128 129 194 + 194 209 196 + 129 131 209 + 209 194 129 + 196 210 199 + 209 211 210 + 131 134 211 + 210 196 209 + 211 209 131 + 199 212 203 + 210 213 212 + 211 214 213 + 134 138 214 + 212 199 210 + 213 210 211 + 214 211 134 + 203 215 208 + 212 216 215 + 213 217 216 + 214 218 217 + 138 143 218 + 215 203 212 + 216 212 213 + 217 213 214 + 218 214 138 + 208 123 112 + 215 124 123 + 216 125 124 + 217 126 125 + 218 127 126 + 143 22 127 + 123 208 215 + 124 215 216 + 125 216 217 + 126 217 218 + 127 218 143 + 326 290 254 + 398 362 290 + 434 398 326 + 290 326 398 + 506 470 362 + 542 506 398 + 578 542 434 + 362 398 506 + 398 434 542 + 650 614 470 + 686 650 506 + 722 686 542 + 758 722 578 + 470 506 650 + 506 542 686 + 542 578 722 + 830 794 614 + 866 830 650 + 902 866 686 + 938 902 722 + 974 938 758 + 614 650 830 + 650 686 866 + 686 722 902 + 722 758 938 + 1046 1010 794 + 1082 1046 830 + 1118 1082 866 + 1154 1118 902 + 1190 1154 938 + 1226 1190 974 + 794 830 1046 + 830 866 1082 + 866 902 1118 + 902 938 1154 + 938 974 1190 + 1262 326 254 + 1298 434 326 + 1334 1298 1262 + 326 1262 1298 + 1370 578 434 + 1406 1370 1298 + 1442 1406 1334 + 434 1298 1370 + 1298 1334 1406 + 1478 758 578 + 1514 1478 1370 + 1550 1514 1406 + 1586 1550 1442 + 578 1370 1478 + 1370 1406 1514 + 1406 1442 1550 + 1622 974 758 + 1658 1622 1478 + 1694 1658 1514 + 1730 1694 1550 + 1766 1730 1586 + 758 1478 1622 + 1478 1514 1658 + 1514 1550 1694 + 1550 1586 1730 + 1802 1226 974 + 1838 1802 1622 + 1874 1838 1658 + 1910 1874 1694 + 1946 1910 1730 + 1982 1946 1766 + 974 1622 1802 + 1622 1658 1838 + 1658 1694 1874 + 1694 1730 1910 + 1730 1766 1946 + 2018 1262 254 + 2054 1334 1262 + 2090 2054 2018 + 1262 2018 2054 + 2126 1442 1334 + 2162 2126 2054 + 2198 2162 2090 + 1334 2054 2126 + 2054 2090 2162 + 2234 1586 1442 + 2270 2234 2126 + 2306 2270 2162 + 2342 2306 2198 + 1442 2126 2234 + 2126 2162 2270 + 2162 2198 2306 + 2378 1766 1586 + 2414 2378 2234 + 2450 2414 2270 + 2486 2450 2306 + 2522 2486 2342 + 1586 2234 2378 + 2234 2270 2414 + 2270 2306 2450 + 2306 2342 2486 + 2558 1982 1766 + 2594 2558 2378 + 2630 2594 2414 + 2666 2630 2450 + 2702 2666 2486 + 2738 2702 2522 + 1766 2378 2558 + 2378 2414 2594 + 2414 2450 2630 + 2450 2486 2666 + 2486 2522 2702 + 2774 2018 254 + 2810 2090 2018 + 2846 2810 2774 + 2018 2774 2810 + 2882 2198 2090 + 2918 2882 2810 + 2954 2918 2846 + 2090 2810 2882 + 2810 2846 2918 + 2990 2342 2198 + 3026 2990 2882 + 3062 3026 2918 + 3098 3062 2954 + 2198 2882 2990 + 2882 2918 3026 + 2918 2954 3062 + 3134 2522 2342 + 3170 3134 2990 + 3206 3170 3026 + 3242 3206 3062 + 3278 3242 3098 + 2342 2990 3134 + 2990 3026 3170 + 3026 3062 3206 + 3062 3098 3242 + 3314 2738 2522 + 3350 3314 3134 + 3386 3350 3170 + 3422 3386 3206 + 3458 3422 3242 + 3494 3458 3278 + 2522 3134 3314 + 3134 3170 3350 + 3170 3206 3386 + 3206 3242 3422 + 3242 3278 3458 + 3530 2774 254 + 3566 2846 2774 + 3602 3566 3530 + 2774 3530 3566 + 3638 2954 2846 + 3674 3638 3566 + 3710 3674 3602 + 2846 3566 3638 + 3566 3602 3674 + 3746 3098 2954 + 3782 3746 3638 + 3818 3782 3674 + 3854 3818 3710 + 2954 3638 3746 + 3638 3674 3782 + 3674 3710 3818 + 3890 3278 3098 + 3926 3890 3746 + 3962 3926 3782 + 3998 3962 3818 + 4034 3998 3854 + 3098 3746 3890 + 3746 3782 3926 + 3782 3818 3962 + 3818 3854 3998 + 4070 3494 3278 + 4106 4070 3890 + 4142 4106 3926 + 4178 4142 3962 + 4214 4178 3998 + 4250 4214 4034 + 3278 3890 4070 + 3890 3926 4106 + 3926 3962 4142 + 3962 3998 4178 + 3998 4034 4214 + 290 3530 254 + 4286 3602 3530 + 362 4286 290 + 3530 290 4286 + 4322 3710 3602 + 4358 4322 4286 + 470 4358 362 + 3602 4286 4322 + 4286 362 4358 + 4394 3854 3710 + 4430 4394 4322 + 4466 4430 4358 + 614 4466 470 + 3710 4322 4394 + 4322 4358 4430 + 4358 470 4466 + 4502 4034 3854 + 4538 4502 4394 + 4574 4538 4430 + 4610 4574 4466 + 794 4610 614 + 3854 4394 4502 + 4394 4430 4538 + 4430 4466 4574 + 4466 614 4610 + 4646 4250 4034 + 4682 4646 4502 + 4718 4682 4538 + 4754 4718 4574 + 4790 4754 4610 + 1010 4790 794 + 4034 4502 4646 + 4502 4538 4682 + 4538 4574 4718 + 4574 4610 4754 + 4610 794 4790 + 4862 4898 4826 + 4934 4970 4862 + 4970 5006 4898 + 4898 4862 4970 + 5042 5078 4934 + 5078 5114 4970 + 5114 5150 5006 + 4970 4934 5078 + 5006 4970 5114 + 5186 5222 5042 + 5222 5258 5078 + 5258 5294 5114 + 5294 5330 5150 + 5078 5042 5222 + 5114 5078 5258 + 5150 5114 5294 + 5366 5402 5186 + 5402 5438 5222 + 5438 5474 5258 + 5474 5510 5294 + 5510 5546 5330 + 5222 5186 5402 + 5258 5222 5438 + 5294 5258 5474 + 5330 5294 5510 + 1010 1046 5366 + 1046 1082 5402 + 1082 1118 5438 + 1118 1154 5474 + 1154 1190 5510 + 1190 1226 5546 + 5402 5366 1046 + 5438 5402 1082 + 5474 5438 1118 + 5510 5474 1154 + 5546 5510 1190 + 4898 5582 4826 + 5006 5618 4898 + 5618 5654 5582 + 5582 4898 5618 + 5150 5690 5006 + 5690 5726 5618 + 5726 5762 5654 + 5618 5006 5690 + 5654 5618 5726 + 5330 5798 5150 + 5798 5834 5690 + 5834 5870 5726 + 5870 5906 5762 + 5690 5150 5798 + 5726 5690 5834 + 5762 5726 5870 + 5546 5942 5330 + 5942 5978 5798 + 5978 6014 5834 + 6014 6050 5870 + 6050 6086 5906 + 5798 5330 5942 + 5834 5798 5978 + 5870 5834 6014 + 5906 5870 6050 + 1226 1802 5546 + 1802 1838 5942 + 1838 1874 5978 + 1874 1910 6014 + 1910 1946 6050 + 1946 1982 6086 + 5942 5546 1802 + 5978 5942 1838 + 6014 5978 1874 + 6050 6014 1910 + 6086 6050 1946 + 5582 6122 4826 + 5654 6158 5582 + 6158 6194 6122 + 6122 5582 6158 + 5762 6230 5654 + 6230 6266 6158 + 6266 6302 6194 + 6158 5654 6230 + 6194 6158 6266 + 5906 6338 5762 + 6338 6374 6230 + 6374 6410 6266 + 6410 6446 6302 + 6230 5762 6338 + 6266 6230 6374 + 6302 6266 6410 + 6086 6482 5906 + 6482 6518 6338 + 6518 6554 6374 + 6554 6590 6410 + 6590 6626 6446 + 6338 5906 6482 + 6374 6338 6518 + 6410 6374 6554 + 6446 6410 6590 + 1982 2558 6086 + 2558 2594 6482 + 2594 2630 6518 + 2630 2666 6554 + 2666 2702 6590 + 2702 2738 6626 + 6482 6086 2558 + 6518 6482 2594 + 6554 6518 2630 + 6590 6554 2666 + 6626 6590 2702 + 6122 6662 4826 + 6194 6698 6122 + 6698 6734 6662 + 6662 6122 6698 + 6302 6770 6194 + 6770 6806 6698 + 6806 6842 6734 + 6698 6194 6770 + 6734 6698 6806 + 6446 6878 6302 + 6878 6914 6770 + 6914 6950 6806 + 6950 6986 6842 + 6770 6302 6878 + 6806 6770 6914 + 6842 6806 6950 + 6626 7022 6446 + 7022 7058 6878 + 7058 7094 6914 + 7094 7130 6950 + 7130 7166 6986 + 6878 6446 7022 + 6914 6878 7058 + 6950 6914 7094 + 6986 6950 7130 + 2738 3314 6626 + 3314 3350 7022 + 3350 3386 7058 + 3386 3422 7094 + 3422 3458 7130 + 3458 3494 7166 + 7022 6626 3314 + 7058 7022 3350 + 7094 7058 3386 + 7130 7094 3422 + 7166 7130 3458 + 6662 7202 4826 + 6734 7238 6662 + 7238 7274 7202 + 7202 6662 7238 + 6842 7310 6734 + 7310 7346 7238 + 7346 7382 7274 + 7238 6734 7310 + 7274 7238 7346 + 6986 7418 6842 + 7418 7454 7310 + 7454 7490 7346 + 7490 7526 7382 + 7310 6842 7418 + 7346 7310 7454 + 7382 7346 7490 + 7166 7562 6986 + 7562 7598 7418 + 7598 7634 7454 + 7634 7670 7490 + 7670 7706 7526 + 7418 6986 7562 + 7454 7418 7598 + 7490 7454 7634 + 7526 7490 7670 + 3494 4070 7166 + 4070 4106 7562 + 4106 4142 7598 + 4142 4178 7634 + 4178 4214 7670 + 4214 4250 7706 + 7562 7166 4070 + 7598 7562 4106 + 7634 7598 4142 + 7670 7634 4178 + 7706 7670 4214 + 7202 4862 4826 + 7274 7742 7202 + 7742 4934 4862 + 4862 7202 7742 + 7382 7778 7274 + 7778 7814 7742 + 7814 5042 4934 + 7742 7274 7778 + 4934 7742 7814 + 7526 7850 7382 + 7850 7886 7778 + 7886 7922 7814 + 7922 5186 5042 + 7778 7382 7850 + 7814 7778 7886 + 5042 7814 7922 + 7706 7958 7526 + 7958 7994 7850 + 7994 8030 7886 + 8030 8066 7922 + 8066 5366 5186 + 7850 7526 7958 + 7886 7850 7994 + 7922 7886 8030 + 5186 7922 8066 + 4250 4646 7706 + 4646 4682 7958 + 4682 4718 7994 + 4718 4754 8030 + 4754 4790 8066 + 4790 1010 5366 + 7958 7706 4646 + 7994 7958 4682 + 8030 7994 4718 + 8066 8030 4754 + 5366 8066 4790 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 1 2 3 219 + 255 291 2 219 + 291 3 2 219 + 219 255 291 220 + 256 292 255 220 + 292 291 255 220 + 220 256 292 221 + 257 293 256 221 + 293 292 256 221 + 221 257 293 222 + 258 294 257 222 + 294 293 257 222 + 222 258 294 223 + 259 295 258 223 + 295 294 258 223 + 223 259 295 224 + 260 296 259 224 + 296 295 259 224 + 224 260 296 225 + 261 297 260 225 + 297 296 260 225 + 225 261 297 226 + 262 298 261 226 + 298 297 261 226 + 226 262 298 227 + 263 299 262 227 + 299 298 262 227 + 227 263 299 228 + 264 300 263 228 + 300 299 263 228 + 228 264 300 229 + 265 301 264 229 + 301 300 264 229 + 229 265 301 230 + 266 302 265 230 + 302 301 265 230 + 230 266 302 231 + 267 303 266 231 + 303 302 266 231 + 231 267 303 232 + 268 304 267 232 + 304 303 267 232 + 232 268 304 233 + 269 305 268 233 + 305 304 268 233 + 233 269 305 234 + 270 306 269 234 + 306 305 269 234 + 234 270 306 235 + 271 307 270 235 + 307 306 270 235 + 235 271 307 236 + 272 308 271 236 + 308 307 271 236 + 236 272 308 237 + 273 309 272 237 + 309 308 272 237 + 237 273 309 238 + 274 310 273 238 + 310 309 273 238 + 238 274 310 239 + 275 311 274 239 + 311 310 274 239 + 239 275 311 240 + 276 312 275 240 + 312 311 275 240 + 240 276 312 241 + 277 313 276 241 + 313 312 276 241 + 241 277 313 242 + 278 314 277 242 + 314 313 277 242 + 242 278 314 243 + 279 315 278 243 + 315 314 278 243 + 243 279 315 244 + 280 316 279 244 + 316 315 279 244 + 244 280 316 245 + 281 317 280 245 + 317 316 280 245 + 245 281 317 246 + 282 318 281 246 + 318 317 281 246 + 246 282 318 247 + 283 319 282 247 + 319 318 282 247 + 247 283 319 248 + 284 320 283 248 + 320 319 283 248 + 248 284 320 249 + 285 321 284 249 + 321 320 284 249 + 249 285 321 250 + 286 322 285 250 + 322 321 285 250 + 250 286 322 251 + 287 323 286 251 + 323 322 286 251 + 251 287 323 252 + 288 324 287 252 + 324 323 287 252 + 252 288 324 253 + 289 325 288 253 + 325 324 288 253 + 253 289 325 254 + 290 326 289 254 + 326 325 289 254 + 2 4 5 255 + 327 363 4 255 + 363 5 4 255 + 255 327 363 256 + 328 364 327 256 + 364 363 327 256 + 256 328 364 257 + 329 365 328 257 + 365 364 328 257 + 257 329 365 258 + 330 366 329 258 + 366 365 329 258 + 258 330 366 259 + 331 367 330 259 + 367 366 330 259 + 259 331 367 260 + 332 368 331 260 + 368 367 331 260 + 260 332 368 261 + 333 369 332 261 + 369 368 332 261 + 261 333 369 262 + 334 370 333 262 + 370 369 333 262 + 262 334 370 263 + 335 371 334 263 + 371 370 334 263 + 263 335 371 264 + 336 372 335 264 + 372 371 335 264 + 264 336 372 265 + 337 373 336 265 + 373 372 336 265 + 265 337 373 266 + 338 374 337 266 + 374 373 337 266 + 266 338 374 267 + 339 375 338 267 + 375 374 338 267 + 267 339 375 268 + 340 376 339 268 + 376 375 339 268 + 268 340 376 269 + 341 377 340 269 + 377 376 340 269 + 269 341 377 270 + 342 378 341 270 + 378 377 341 270 + 270 342 378 271 + 343 379 342 271 + 379 378 342 271 + 271 343 379 272 + 344 380 343 272 + 380 379 343 272 + 272 344 380 273 + 345 381 344 273 + 381 380 344 273 + 273 345 381 274 + 346 382 345 274 + 382 381 345 274 + 274 346 382 275 + 347 383 346 275 + 383 382 346 275 + 275 347 383 276 + 348 384 347 276 + 384 383 347 276 + 276 348 384 277 + 349 385 348 277 + 385 384 348 277 + 277 349 385 278 + 350 386 349 278 + 386 385 349 278 + 278 350 386 279 + 351 387 350 279 + 387 386 350 279 + 279 351 387 280 + 352 388 351 280 + 388 387 351 280 + 280 352 388 281 + 353 389 352 281 + 389 388 352 281 + 281 353 389 282 + 354 390 353 282 + 390 389 353 282 + 282 354 390 283 + 355 391 354 283 + 391 390 354 283 + 283 355 391 284 + 356 392 355 284 + 392 391 355 284 + 284 356 392 285 + 357 393 356 285 + 393 392 356 285 + 285 357 393 286 + 358 394 357 286 + 394 393 357 286 + 286 358 394 287 + 359 395 358 287 + 395 394 358 287 + 287 359 395 288 + 360 396 359 288 + 396 395 359 288 + 288 360 396 289 + 361 397 360 289 + 397 396 360 289 + 289 361 397 290 + 362 398 361 290 + 398 397 361 290 + 3 5 6 291 + 363 399 5 291 + 399 6 5 291 + 291 363 399 292 + 364 400 363 292 + 400 399 363 292 + 292 364 400 293 + 365 401 364 293 + 401 400 364 293 + 293 365 401 294 + 366 402 365 294 + 402 401 365 294 + 294 366 402 295 + 367 403 366 295 + 403 402 366 295 + 295 367 403 296 + 368 404 367 296 + 404 403 367 296 + 296 368 404 297 + 369 405 368 297 + 405 404 368 297 + 297 369 405 298 + 370 406 369 298 + 406 405 369 298 + 298 370 406 299 + 371 407 370 299 + 407 406 370 299 + 299 371 407 300 + 372 408 371 300 + 408 407 371 300 + 300 372 408 301 + 373 409 372 301 + 409 408 372 301 + 301 373 409 302 + 374 410 373 302 + 410 409 373 302 + 302 374 410 303 + 375 411 374 303 + 411 410 374 303 + 303 375 411 304 + 376 412 375 304 + 412 411 375 304 + 304 376 412 305 + 377 413 376 305 + 413 412 376 305 + 305 377 413 306 + 378 414 377 306 + 414 413 377 306 + 306 378 414 307 + 379 415 378 307 + 415 414 378 307 + 307 379 415 308 + 380 416 379 308 + 416 415 379 308 + 308 380 416 309 + 381 417 380 309 + 417 416 380 309 + 309 381 417 310 + 382 418 381 310 + 418 417 381 310 + 310 382 418 311 + 383 419 382 311 + 419 418 382 311 + 311 383 419 312 + 384 420 383 312 + 420 419 383 312 + 312 384 420 313 + 385 421 384 313 + 421 420 384 313 + 313 385 421 314 + 386 422 385 314 + 422 421 385 314 + 314 386 422 315 + 387 423 386 315 + 423 422 386 315 + 315 387 423 316 + 388 424 387 316 + 424 423 387 316 + 316 388 424 317 + 389 425 388 317 + 425 424 388 317 + 317 389 425 318 + 390 426 389 318 + 426 425 389 318 + 318 390 426 319 + 391 427 390 319 + 427 426 390 319 + 319 391 427 320 + 392 428 391 320 + 428 427 391 320 + 320 392 428 321 + 393 429 392 321 + 429 428 392 321 + 321 393 429 322 + 394 430 393 322 + 430 429 393 322 + 322 394 430 323 + 395 431 394 323 + 431 430 394 323 + 323 395 431 324 + 396 432 395 324 + 432 431 395 324 + 324 396 432 325 + 397 433 396 325 + 433 432 396 325 + 325 397 433 326 + 398 434 397 326 + 434 433 397 326 + 363 255 291 5 + 291 255 2 5 + 291 2 3 5 + 364 256 292 363 + 292 256 255 363 + 292 255 291 363 + 365 257 293 364 + 293 257 256 364 + 293 256 292 364 + 366 258 294 365 + 294 258 257 365 + 294 257 293 365 + 367 259 295 366 + 295 259 258 366 + 295 258 294 366 + 368 260 296 367 + 296 260 259 367 + 296 259 295 367 + 369 261 297 368 + 297 261 260 368 + 297 260 296 368 + 370 262 298 369 + 298 262 261 369 + 298 261 297 369 + 371 263 299 370 + 299 263 262 370 + 299 262 298 370 + 372 264 300 371 + 300 264 263 371 + 300 263 299 371 + 373 265 301 372 + 301 265 264 372 + 301 264 300 372 + 374 266 302 373 + 302 266 265 373 + 302 265 301 373 + 375 267 303 374 + 303 267 266 374 + 303 266 302 374 + 376 268 304 375 + 304 268 267 375 + 304 267 303 375 + 377 269 305 376 + 305 269 268 376 + 305 268 304 376 + 378 270 306 377 + 306 270 269 377 + 306 269 305 377 + 379 271 307 378 + 307 271 270 378 + 307 270 306 378 + 380 272 308 379 + 308 272 271 379 + 308 271 307 379 + 381 273 309 380 + 309 273 272 380 + 309 272 308 380 + 382 274 310 381 + 310 274 273 381 + 310 273 309 381 + 383 275 311 382 + 311 275 274 382 + 311 274 310 382 + 384 276 312 383 + 312 276 275 383 + 312 275 311 383 + 385 277 313 384 + 313 277 276 384 + 313 276 312 384 + 386 278 314 385 + 314 278 277 385 + 314 277 313 385 + 387 279 315 386 + 315 279 278 386 + 315 278 314 386 + 388 280 316 387 + 316 280 279 387 + 316 279 315 387 + 389 281 317 388 + 317 281 280 388 + 317 280 316 388 + 390 282 318 389 + 318 282 281 389 + 318 281 317 389 + 391 283 319 390 + 319 283 282 390 + 319 282 318 390 + 392 284 320 391 + 320 284 283 391 + 320 283 319 391 + 393 285 321 392 + 321 285 284 392 + 321 284 320 392 + 394 286 322 393 + 322 286 285 393 + 322 285 321 393 + 395 287 323 394 + 323 287 286 394 + 323 286 322 394 + 396 288 324 395 + 324 288 287 395 + 324 287 323 395 + 397 289 325 396 + 325 289 288 396 + 325 288 324 396 + 398 290 326 397 + 326 290 289 397 + 326 289 325 397 + 4 7 8 327 + 435 471 7 327 + 471 8 7 327 + 327 435 471 328 + 436 472 435 328 + 472 471 435 328 + 328 436 472 329 + 437 473 436 329 + 473 472 436 329 + 329 437 473 330 + 438 474 437 330 + 474 473 437 330 + 330 438 474 331 + 439 475 438 331 + 475 474 438 331 + 331 439 475 332 + 440 476 439 332 + 476 475 439 332 + 332 440 476 333 + 441 477 440 333 + 477 476 440 333 + 333 441 477 334 + 442 478 441 334 + 478 477 441 334 + 334 442 478 335 + 443 479 442 335 + 479 478 442 335 + 335 443 479 336 + 444 480 443 336 + 480 479 443 336 + 336 444 480 337 + 445 481 444 337 + 481 480 444 337 + 337 445 481 338 + 446 482 445 338 + 482 481 445 338 + 338 446 482 339 + 447 483 446 339 + 483 482 446 339 + 339 447 483 340 + 448 484 447 340 + 484 483 447 340 + 340 448 484 341 + 449 485 448 341 + 485 484 448 341 + 341 449 485 342 + 450 486 449 342 + 486 485 449 342 + 342 450 486 343 + 451 487 450 343 + 487 486 450 343 + 343 451 487 344 + 452 488 451 344 + 488 487 451 344 + 344 452 488 345 + 453 489 452 345 + 489 488 452 345 + 345 453 489 346 + 454 490 453 346 + 490 489 453 346 + 346 454 490 347 + 455 491 454 347 + 491 490 454 347 + 347 455 491 348 + 456 492 455 348 + 492 491 455 348 + 348 456 492 349 + 457 493 456 349 + 493 492 456 349 + 349 457 493 350 + 458 494 457 350 + 494 493 457 350 + 350 458 494 351 + 459 495 458 351 + 495 494 458 351 + 351 459 495 352 + 460 496 459 352 + 496 495 459 352 + 352 460 496 353 + 461 497 460 353 + 497 496 460 353 + 353 461 497 354 + 462 498 461 354 + 498 497 461 354 + 354 462 498 355 + 463 499 462 355 + 499 498 462 355 + 355 463 499 356 + 464 500 463 356 + 500 499 463 356 + 356 464 500 357 + 465 501 464 357 + 501 500 464 357 + 357 465 501 358 + 466 502 465 358 + 502 501 465 358 + 358 466 502 359 + 467 503 466 359 + 503 502 466 359 + 359 467 503 360 + 468 504 467 360 + 504 503 467 360 + 360 468 504 361 + 469 505 468 361 + 505 504 468 361 + 361 469 505 362 + 470 506 469 362 + 506 505 469 362 + 5 8 9 363 + 471 507 8 363 + 507 9 8 363 + 363 471 507 364 + 472 508 471 364 + 508 507 471 364 + 364 472 508 365 + 473 509 472 365 + 509 508 472 365 + 365 473 509 366 + 474 510 473 366 + 510 509 473 366 + 366 474 510 367 + 475 511 474 367 + 511 510 474 367 + 367 475 511 368 + 476 512 475 368 + 512 511 475 368 + 368 476 512 369 + 477 513 476 369 + 513 512 476 369 + 369 477 513 370 + 478 514 477 370 + 514 513 477 370 + 370 478 514 371 + 479 515 478 371 + 515 514 478 371 + 371 479 515 372 + 480 516 479 372 + 516 515 479 372 + 372 480 516 373 + 481 517 480 373 + 517 516 480 373 + 373 481 517 374 + 482 518 481 374 + 518 517 481 374 + 374 482 518 375 + 483 519 482 375 + 519 518 482 375 + 375 483 519 376 + 484 520 483 376 + 520 519 483 376 + 376 484 520 377 + 485 521 484 377 + 521 520 484 377 + 377 485 521 378 + 486 522 485 378 + 522 521 485 378 + 378 486 522 379 + 487 523 486 379 + 523 522 486 379 + 379 487 523 380 + 488 524 487 380 + 524 523 487 380 + 380 488 524 381 + 489 525 488 381 + 525 524 488 381 + 381 489 525 382 + 490 526 489 382 + 526 525 489 382 + 382 490 526 383 + 491 527 490 383 + 527 526 490 383 + 383 491 527 384 + 492 528 491 384 + 528 527 491 384 + 384 492 528 385 + 493 529 492 385 + 529 528 492 385 + 385 493 529 386 + 494 530 493 386 + 530 529 493 386 + 386 494 530 387 + 495 531 494 387 + 531 530 494 387 + 387 495 531 388 + 496 532 495 388 + 532 531 495 388 + 388 496 532 389 + 497 533 496 389 + 533 532 496 389 + 389 497 533 390 + 498 534 497 390 + 534 533 497 390 + 390 498 534 391 + 499 535 498 391 + 535 534 498 391 + 391 499 535 392 + 500 536 499 392 + 536 535 499 392 + 392 500 536 393 + 501 537 500 393 + 537 536 500 393 + 393 501 537 394 + 502 538 501 394 + 538 537 501 394 + 394 502 538 395 + 503 539 502 395 + 539 538 502 395 + 395 503 539 396 + 504 540 503 396 + 540 539 503 396 + 396 504 540 397 + 505 541 504 397 + 541 540 504 397 + 397 505 541 398 + 506 542 505 398 + 542 541 505 398 + 6 9 10 399 + 507 543 9 399 + 543 10 9 399 + 399 507 543 400 + 508 544 507 400 + 544 543 507 400 + 400 508 544 401 + 509 545 508 401 + 545 544 508 401 + 401 509 545 402 + 510 546 509 402 + 546 545 509 402 + 402 510 546 403 + 511 547 510 403 + 547 546 510 403 + 403 511 547 404 + 512 548 511 404 + 548 547 511 404 + 404 512 548 405 + 513 549 512 405 + 549 548 512 405 + 405 513 549 406 + 514 550 513 406 + 550 549 513 406 + 406 514 550 407 + 515 551 514 407 + 551 550 514 407 + 407 515 551 408 + 516 552 515 408 + 552 551 515 408 + 408 516 552 409 + 517 553 516 409 + 553 552 516 409 + 409 517 553 410 + 518 554 517 410 + 554 553 517 410 + 410 518 554 411 + 519 555 518 411 + 555 554 518 411 + 411 519 555 412 + 520 556 519 412 + 556 555 519 412 + 412 520 556 413 + 521 557 520 413 + 557 556 520 413 + 413 521 557 414 + 522 558 521 414 + 558 557 521 414 + 414 522 558 415 + 523 559 522 415 + 559 558 522 415 + 415 523 559 416 + 524 560 523 416 + 560 559 523 416 + 416 524 560 417 + 525 561 524 417 + 561 560 524 417 + 417 525 561 418 + 526 562 525 418 + 562 561 525 418 + 418 526 562 419 + 527 563 526 419 + 563 562 526 419 + 419 527 563 420 + 528 564 527 420 + 564 563 527 420 + 420 528 564 421 + 529 565 528 421 + 565 564 528 421 + 421 529 565 422 + 530 566 529 422 + 566 565 529 422 + 422 530 566 423 + 531 567 530 423 + 567 566 530 423 + 423 531 567 424 + 532 568 531 424 + 568 567 531 424 + 424 532 568 425 + 533 569 532 425 + 569 568 532 425 + 425 533 569 426 + 534 570 533 426 + 570 569 533 426 + 426 534 570 427 + 535 571 534 427 + 571 570 534 427 + 427 535 571 428 + 536 572 535 428 + 572 571 535 428 + 428 536 572 429 + 537 573 536 429 + 573 572 536 429 + 429 537 573 430 + 538 574 537 430 + 574 573 537 430 + 430 538 574 431 + 539 575 538 431 + 575 574 538 431 + 431 539 575 432 + 540 576 539 432 + 576 575 539 432 + 432 540 576 433 + 541 577 540 433 + 577 576 540 433 + 433 541 577 434 + 542 578 541 434 + 578 577 541 434 + 471 327 363 8 + 363 327 4 8 + 363 4 5 8 + 472 328 364 471 + 364 328 327 471 + 364 327 363 471 + 473 329 365 472 + 365 329 328 472 + 365 328 364 472 + 474 330 366 473 + 366 330 329 473 + 366 329 365 473 + 475 331 367 474 + 367 331 330 474 + 367 330 366 474 + 476 332 368 475 + 368 332 331 475 + 368 331 367 475 + 477 333 369 476 + 369 333 332 476 + 369 332 368 476 + 478 334 370 477 + 370 334 333 477 + 370 333 369 477 + 479 335 371 478 + 371 335 334 478 + 371 334 370 478 + 480 336 372 479 + 372 336 335 479 + 372 335 371 479 + 481 337 373 480 + 373 337 336 480 + 373 336 372 480 + 482 338 374 481 + 374 338 337 481 + 374 337 373 481 + 483 339 375 482 + 375 339 338 482 + 375 338 374 482 + 484 340 376 483 + 376 340 339 483 + 376 339 375 483 + 485 341 377 484 + 377 341 340 484 + 377 340 376 484 + 486 342 378 485 + 378 342 341 485 + 378 341 377 485 + 487 343 379 486 + 379 343 342 486 + 379 342 378 486 + 488 344 380 487 + 380 344 343 487 + 380 343 379 487 + 489 345 381 488 + 381 345 344 488 + 381 344 380 488 + 490 346 382 489 + 382 346 345 489 + 382 345 381 489 + 491 347 383 490 + 383 347 346 490 + 383 346 382 490 + 492 348 384 491 + 384 348 347 491 + 384 347 383 491 + 493 349 385 492 + 385 349 348 492 + 385 348 384 492 + 494 350 386 493 + 386 350 349 493 + 386 349 385 493 + 495 351 387 494 + 387 351 350 494 + 387 350 386 494 + 496 352 388 495 + 388 352 351 495 + 388 351 387 495 + 497 353 389 496 + 389 353 352 496 + 389 352 388 496 + 498 354 390 497 + 390 354 353 497 + 390 353 389 497 + 499 355 391 498 + 391 355 354 498 + 391 354 390 498 + 500 356 392 499 + 392 356 355 499 + 392 355 391 499 + 501 357 393 500 + 393 357 356 500 + 393 356 392 500 + 502 358 394 501 + 394 358 357 501 + 394 357 393 501 + 503 359 395 502 + 395 359 358 502 + 395 358 394 502 + 504 360 396 503 + 396 360 359 503 + 396 359 395 503 + 505 361 397 504 + 397 361 360 504 + 397 360 396 504 + 506 362 398 505 + 398 362 361 505 + 398 361 397 505 + 507 363 399 9 + 399 363 5 9 + 399 5 6 9 + 508 364 400 507 + 400 364 363 507 + 400 363 399 507 + 509 365 401 508 + 401 365 364 508 + 401 364 400 508 + 510 366 402 509 + 402 366 365 509 + 402 365 401 509 + 511 367 403 510 + 403 367 366 510 + 403 366 402 510 + 512 368 404 511 + 404 368 367 511 + 404 367 403 511 + 513 369 405 512 + 405 369 368 512 + 405 368 404 512 + 514 370 406 513 + 406 370 369 513 + 406 369 405 513 + 515 371 407 514 + 407 371 370 514 + 407 370 406 514 + 516 372 408 515 + 408 372 371 515 + 408 371 407 515 + 517 373 409 516 + 409 373 372 516 + 409 372 408 516 + 518 374 410 517 + 410 374 373 517 + 410 373 409 517 + 519 375 411 518 + 411 375 374 518 + 411 374 410 518 + 520 376 412 519 + 412 376 375 519 + 412 375 411 519 + 521 377 413 520 + 413 377 376 520 + 413 376 412 520 + 522 378 414 521 + 414 378 377 521 + 414 377 413 521 + 523 379 415 522 + 415 379 378 522 + 415 378 414 522 + 524 380 416 523 + 416 380 379 523 + 416 379 415 523 + 525 381 417 524 + 417 381 380 524 + 417 380 416 524 + 526 382 418 525 + 418 382 381 525 + 418 381 417 525 + 527 383 419 526 + 419 383 382 526 + 419 382 418 526 + 528 384 420 527 + 420 384 383 527 + 420 383 419 527 + 529 385 421 528 + 421 385 384 528 + 421 384 420 528 + 530 386 422 529 + 422 386 385 529 + 422 385 421 529 + 531 387 423 530 + 423 387 386 530 + 423 386 422 530 + 532 388 424 531 + 424 388 387 531 + 424 387 423 531 + 533 389 425 532 + 425 389 388 532 + 425 388 424 532 + 534 390 426 533 + 426 390 389 533 + 426 389 425 533 + 535 391 427 534 + 427 391 390 534 + 427 390 426 534 + 536 392 428 535 + 428 392 391 535 + 428 391 427 535 + 537 393 429 536 + 429 393 392 536 + 429 392 428 536 + 538 394 430 537 + 430 394 393 537 + 430 393 429 537 + 539 395 431 538 + 431 395 394 538 + 431 394 430 538 + 540 396 432 539 + 432 396 395 539 + 432 395 431 539 + 541 397 433 540 + 433 397 396 540 + 433 396 432 540 + 542 398 434 541 + 434 398 397 541 + 434 397 433 541 + 7 11 12 435 + 579 615 11 435 + 615 12 11 435 + 435 579 615 436 + 580 616 579 436 + 616 615 579 436 + 436 580 616 437 + 581 617 580 437 + 617 616 580 437 + 437 581 617 438 + 582 618 581 438 + 618 617 581 438 + 438 582 618 439 + 583 619 582 439 + 619 618 582 439 + 439 583 619 440 + 584 620 583 440 + 620 619 583 440 + 440 584 620 441 + 585 621 584 441 + 621 620 584 441 + 441 585 621 442 + 586 622 585 442 + 622 621 585 442 + 442 586 622 443 + 587 623 586 443 + 623 622 586 443 + 443 587 623 444 + 588 624 587 444 + 624 623 587 444 + 444 588 624 445 + 589 625 588 445 + 625 624 588 445 + 445 589 625 446 + 590 626 589 446 + 626 625 589 446 + 446 590 626 447 + 591 627 590 447 + 627 626 590 447 + 447 591 627 448 + 592 628 591 448 + 628 627 591 448 + 448 592 628 449 + 593 629 592 449 + 629 628 592 449 + 449 593 629 450 + 594 630 593 450 + 630 629 593 450 + 450 594 630 451 + 595 631 594 451 + 631 630 594 451 + 451 595 631 452 + 596 632 595 452 + 632 631 595 452 + 452 596 632 453 + 597 633 596 453 + 633 632 596 453 + 453 597 633 454 + 598 634 597 454 + 634 633 597 454 + 454 598 634 455 + 599 635 598 455 + 635 634 598 455 + 455 599 635 456 + 600 636 599 456 + 636 635 599 456 + 456 600 636 457 + 601 637 600 457 + 637 636 600 457 + 457 601 637 458 + 602 638 601 458 + 638 637 601 458 + 458 602 638 459 + 603 639 602 459 + 639 638 602 459 + 459 603 639 460 + 604 640 603 460 + 640 639 603 460 + 460 604 640 461 + 605 641 604 461 + 641 640 604 461 + 461 605 641 462 + 606 642 605 462 + 642 641 605 462 + 462 606 642 463 + 607 643 606 463 + 643 642 606 463 + 463 607 643 464 + 608 644 607 464 + 644 643 607 464 + 464 608 644 465 + 609 645 608 465 + 645 644 608 465 + 465 609 645 466 + 610 646 609 466 + 646 645 609 466 + 466 610 646 467 + 611 647 610 467 + 647 646 610 467 + 467 611 647 468 + 612 648 611 468 + 648 647 611 468 + 468 612 648 469 + 613 649 612 469 + 649 648 612 469 + 469 613 649 470 + 614 650 613 470 + 650 649 613 470 + 8 12 13 471 + 615 651 12 471 + 651 13 12 471 + 471 615 651 472 + 616 652 615 472 + 652 651 615 472 + 472 616 652 473 + 617 653 616 473 + 653 652 616 473 + 473 617 653 474 + 618 654 617 474 + 654 653 617 474 + 474 618 654 475 + 619 655 618 475 + 655 654 618 475 + 475 619 655 476 + 620 656 619 476 + 656 655 619 476 + 476 620 656 477 + 621 657 620 477 + 657 656 620 477 + 477 621 657 478 + 622 658 621 478 + 658 657 621 478 + 478 622 658 479 + 623 659 622 479 + 659 658 622 479 + 479 623 659 480 + 624 660 623 480 + 660 659 623 480 + 480 624 660 481 + 625 661 624 481 + 661 660 624 481 + 481 625 661 482 + 626 662 625 482 + 662 661 625 482 + 482 626 662 483 + 627 663 626 483 + 663 662 626 483 + 483 627 663 484 + 628 664 627 484 + 664 663 627 484 + 484 628 664 485 + 629 665 628 485 + 665 664 628 485 + 485 629 665 486 + 630 666 629 486 + 666 665 629 486 + 486 630 666 487 + 631 667 630 487 + 667 666 630 487 + 487 631 667 488 + 632 668 631 488 + 668 667 631 488 + 488 632 668 489 + 633 669 632 489 + 669 668 632 489 + 489 633 669 490 + 634 670 633 490 + 670 669 633 490 + 490 634 670 491 + 635 671 634 491 + 671 670 634 491 + 491 635 671 492 + 636 672 635 492 + 672 671 635 492 + 492 636 672 493 + 637 673 636 493 + 673 672 636 493 + 493 637 673 494 + 638 674 637 494 + 674 673 637 494 + 494 638 674 495 + 639 675 638 495 + 675 674 638 495 + 495 639 675 496 + 640 676 639 496 + 676 675 639 496 + 496 640 676 497 + 641 677 640 497 + 677 676 640 497 + 497 641 677 498 + 642 678 641 498 + 678 677 641 498 + 498 642 678 499 + 643 679 642 499 + 679 678 642 499 + 499 643 679 500 + 644 680 643 500 + 680 679 643 500 + 500 644 680 501 + 645 681 644 501 + 681 680 644 501 + 501 645 681 502 + 646 682 645 502 + 682 681 645 502 + 502 646 682 503 + 647 683 646 503 + 683 682 646 503 + 503 647 683 504 + 648 684 647 504 + 684 683 647 504 + 504 648 684 505 + 649 685 648 505 + 685 684 648 505 + 505 649 685 506 + 650 686 649 506 + 686 685 649 506 + 9 13 14 507 + 651 687 13 507 + 687 14 13 507 + 507 651 687 508 + 652 688 651 508 + 688 687 651 508 + 508 652 688 509 + 653 689 652 509 + 689 688 652 509 + 509 653 689 510 + 654 690 653 510 + 690 689 653 510 + 510 654 690 511 + 655 691 654 511 + 691 690 654 511 + 511 655 691 512 + 656 692 655 512 + 692 691 655 512 + 512 656 692 513 + 657 693 656 513 + 693 692 656 513 + 513 657 693 514 + 658 694 657 514 + 694 693 657 514 + 514 658 694 515 + 659 695 658 515 + 695 694 658 515 + 515 659 695 516 + 660 696 659 516 + 696 695 659 516 + 516 660 696 517 + 661 697 660 517 + 697 696 660 517 + 517 661 697 518 + 662 698 661 518 + 698 697 661 518 + 518 662 698 519 + 663 699 662 519 + 699 698 662 519 + 519 663 699 520 + 664 700 663 520 + 700 699 663 520 + 520 664 700 521 + 665 701 664 521 + 701 700 664 521 + 521 665 701 522 + 666 702 665 522 + 702 701 665 522 + 522 666 702 523 + 667 703 666 523 + 703 702 666 523 + 523 667 703 524 + 668 704 667 524 + 704 703 667 524 + 524 668 704 525 + 669 705 668 525 + 705 704 668 525 + 525 669 705 526 + 670 706 669 526 + 706 705 669 526 + 526 670 706 527 + 671 707 670 527 + 707 706 670 527 + 527 671 707 528 + 672 708 671 528 + 708 707 671 528 + 528 672 708 529 + 673 709 672 529 + 709 708 672 529 + 529 673 709 530 + 674 710 673 530 + 710 709 673 530 + 530 674 710 531 + 675 711 674 531 + 711 710 674 531 + 531 675 711 532 + 676 712 675 532 + 712 711 675 532 + 532 676 712 533 + 677 713 676 533 + 713 712 676 533 + 533 677 713 534 + 678 714 677 534 + 714 713 677 534 + 534 678 714 535 + 679 715 678 535 + 715 714 678 535 + 535 679 715 536 + 680 716 679 536 + 716 715 679 536 + 536 680 716 537 + 681 717 680 537 + 717 716 680 537 + 537 681 717 538 + 682 718 681 538 + 718 717 681 538 + 538 682 718 539 + 683 719 682 539 + 719 718 682 539 + 539 683 719 540 + 684 720 683 540 + 720 719 683 540 + 540 684 720 541 + 685 721 684 541 + 721 720 684 541 + 541 685 721 542 + 686 722 685 542 + 722 721 685 542 + 10 14 15 543 + 687 723 14 543 + 723 15 14 543 + 543 687 723 544 + 688 724 687 544 + 724 723 687 544 + 544 688 724 545 + 689 725 688 545 + 725 724 688 545 + 545 689 725 546 + 690 726 689 546 + 726 725 689 546 + 546 690 726 547 + 691 727 690 547 + 727 726 690 547 + 547 691 727 548 + 692 728 691 548 + 728 727 691 548 + 548 692 728 549 + 693 729 692 549 + 729 728 692 549 + 549 693 729 550 + 694 730 693 550 + 730 729 693 550 + 550 694 730 551 + 695 731 694 551 + 731 730 694 551 + 551 695 731 552 + 696 732 695 552 + 732 731 695 552 + 552 696 732 553 + 697 733 696 553 + 733 732 696 553 + 553 697 733 554 + 698 734 697 554 + 734 733 697 554 + 554 698 734 555 + 699 735 698 555 + 735 734 698 555 + 555 699 735 556 + 700 736 699 556 + 736 735 699 556 + 556 700 736 557 + 701 737 700 557 + 737 736 700 557 + 557 701 737 558 + 702 738 701 558 + 738 737 701 558 + 558 702 738 559 + 703 739 702 559 + 739 738 702 559 + 559 703 739 560 + 704 740 703 560 + 740 739 703 560 + 560 704 740 561 + 705 741 704 561 + 741 740 704 561 + 561 705 741 562 + 706 742 705 562 + 742 741 705 562 + 562 706 742 563 + 707 743 706 563 + 743 742 706 563 + 563 707 743 564 + 708 744 707 564 + 744 743 707 564 + 564 708 744 565 + 709 745 708 565 + 745 744 708 565 + 565 709 745 566 + 710 746 709 566 + 746 745 709 566 + 566 710 746 567 + 711 747 710 567 + 747 746 710 567 + 567 711 747 568 + 712 748 711 568 + 748 747 711 568 + 568 712 748 569 + 713 749 712 569 + 749 748 712 569 + 569 713 749 570 + 714 750 713 570 + 750 749 713 570 + 570 714 750 571 + 715 751 714 571 + 751 750 714 571 + 571 715 751 572 + 716 752 715 572 + 752 751 715 572 + 572 716 752 573 + 717 753 716 573 + 753 752 716 573 + 573 717 753 574 + 718 754 717 574 + 754 753 717 574 + 574 718 754 575 + 719 755 718 575 + 755 754 718 575 + 575 719 755 576 + 720 756 719 576 + 756 755 719 576 + 576 720 756 577 + 721 757 720 577 + 757 756 720 577 + 577 721 757 578 + 722 758 721 578 + 758 757 721 578 + 615 435 471 12 + 471 435 7 12 + 471 7 8 12 + 616 436 472 615 + 472 436 435 615 + 472 435 471 615 + 617 437 473 616 + 473 437 436 616 + 473 436 472 616 + 618 438 474 617 + 474 438 437 617 + 474 437 473 617 + 619 439 475 618 + 475 439 438 618 + 475 438 474 618 + 620 440 476 619 + 476 440 439 619 + 476 439 475 619 + 621 441 477 620 + 477 441 440 620 + 477 440 476 620 + 622 442 478 621 + 478 442 441 621 + 478 441 477 621 + 623 443 479 622 + 479 443 442 622 + 479 442 478 622 + 624 444 480 623 + 480 444 443 623 + 480 443 479 623 + 625 445 481 624 + 481 445 444 624 + 481 444 480 624 + 626 446 482 625 + 482 446 445 625 + 482 445 481 625 + 627 447 483 626 + 483 447 446 626 + 483 446 482 626 + 628 448 484 627 + 484 448 447 627 + 484 447 483 627 + 629 449 485 628 + 485 449 448 628 + 485 448 484 628 + 630 450 486 629 + 486 450 449 629 + 486 449 485 629 + 631 451 487 630 + 487 451 450 630 + 487 450 486 630 + 632 452 488 631 + 488 452 451 631 + 488 451 487 631 + 633 453 489 632 + 489 453 452 632 + 489 452 488 632 + 634 454 490 633 + 490 454 453 633 + 490 453 489 633 + 635 455 491 634 + 491 455 454 634 + 491 454 490 634 + 636 456 492 635 + 492 456 455 635 + 492 455 491 635 + 637 457 493 636 + 493 457 456 636 + 493 456 492 636 + 638 458 494 637 + 494 458 457 637 + 494 457 493 637 + 639 459 495 638 + 495 459 458 638 + 495 458 494 638 + 640 460 496 639 + 496 460 459 639 + 496 459 495 639 + 641 461 497 640 + 497 461 460 640 + 497 460 496 640 + 642 462 498 641 + 498 462 461 641 + 498 461 497 641 + 643 463 499 642 + 499 463 462 642 + 499 462 498 642 + 644 464 500 643 + 500 464 463 643 + 500 463 499 643 + 645 465 501 644 + 501 465 464 644 + 501 464 500 644 + 646 466 502 645 + 502 466 465 645 + 502 465 501 645 + 647 467 503 646 + 503 467 466 646 + 503 466 502 646 + 648 468 504 647 + 504 468 467 647 + 504 467 503 647 + 649 469 505 648 + 505 469 468 648 + 505 468 504 648 + 650 470 506 649 + 506 470 469 649 + 506 469 505 649 + 651 471 507 13 + 507 471 8 13 + 507 8 9 13 + 652 472 508 651 + 508 472 471 651 + 508 471 507 651 + 653 473 509 652 + 509 473 472 652 + 509 472 508 652 + 654 474 510 653 + 510 474 473 653 + 510 473 509 653 + 655 475 511 654 + 511 475 474 654 + 511 474 510 654 + 656 476 512 655 + 512 476 475 655 + 512 475 511 655 + 657 477 513 656 + 513 477 476 656 + 513 476 512 656 + 658 478 514 657 + 514 478 477 657 + 514 477 513 657 + 659 479 515 658 + 515 479 478 658 + 515 478 514 658 + 660 480 516 659 + 516 480 479 659 + 516 479 515 659 + 661 481 517 660 + 517 481 480 660 + 517 480 516 660 + 662 482 518 661 + 518 482 481 661 + 518 481 517 661 + 663 483 519 662 + 519 483 482 662 + 519 482 518 662 + 664 484 520 663 + 520 484 483 663 + 520 483 519 663 + 665 485 521 664 + 521 485 484 664 + 521 484 520 664 + 666 486 522 665 + 522 486 485 665 + 522 485 521 665 + 667 487 523 666 + 523 487 486 666 + 523 486 522 666 + 668 488 524 667 + 524 488 487 667 + 524 487 523 667 + 669 489 525 668 + 525 489 488 668 + 525 488 524 668 + 670 490 526 669 + 526 490 489 669 + 526 489 525 669 + 671 491 527 670 + 527 491 490 670 + 527 490 526 670 + 672 492 528 671 + 528 492 491 671 + 528 491 527 671 + 673 493 529 672 + 529 493 492 672 + 529 492 528 672 + 674 494 530 673 + 530 494 493 673 + 530 493 529 673 + 675 495 531 674 + 531 495 494 674 + 531 494 530 674 + 676 496 532 675 + 532 496 495 675 + 532 495 531 675 + 677 497 533 676 + 533 497 496 676 + 533 496 532 676 + 678 498 534 677 + 534 498 497 677 + 534 497 533 677 + 679 499 535 678 + 535 499 498 678 + 535 498 534 678 + 680 500 536 679 + 536 500 499 679 + 536 499 535 679 + 681 501 537 680 + 537 501 500 680 + 537 500 536 680 + 682 502 538 681 + 538 502 501 681 + 538 501 537 681 + 683 503 539 682 + 539 503 502 682 + 539 502 538 682 + 684 504 540 683 + 540 504 503 683 + 540 503 539 683 + 685 505 541 684 + 541 505 504 684 + 541 504 540 684 + 686 506 542 685 + 542 506 505 685 + 542 505 541 685 + 687 507 543 14 + 543 507 9 14 + 543 9 10 14 + 688 508 544 687 + 544 508 507 687 + 544 507 543 687 + 689 509 545 688 + 545 509 508 688 + 545 508 544 688 + 690 510 546 689 + 546 510 509 689 + 546 509 545 689 + 691 511 547 690 + 547 511 510 690 + 547 510 546 690 + 692 512 548 691 + 548 512 511 691 + 548 511 547 691 + 693 513 549 692 + 549 513 512 692 + 549 512 548 692 + 694 514 550 693 + 550 514 513 693 + 550 513 549 693 + 695 515 551 694 + 551 515 514 694 + 551 514 550 694 + 696 516 552 695 + 552 516 515 695 + 552 515 551 695 + 697 517 553 696 + 553 517 516 696 + 553 516 552 696 + 698 518 554 697 + 554 518 517 697 + 554 517 553 697 + 699 519 555 698 + 555 519 518 698 + 555 518 554 698 + 700 520 556 699 + 556 520 519 699 + 556 519 555 699 + 701 521 557 700 + 557 521 520 700 + 557 520 556 700 + 702 522 558 701 + 558 522 521 701 + 558 521 557 701 + 703 523 559 702 + 559 523 522 702 + 559 522 558 702 + 704 524 560 703 + 560 524 523 703 + 560 523 559 703 + 705 525 561 704 + 561 525 524 704 + 561 524 560 704 + 706 526 562 705 + 562 526 525 705 + 562 525 561 705 + 707 527 563 706 + 563 527 526 706 + 563 526 562 706 + 708 528 564 707 + 564 528 527 707 + 564 527 563 707 + 709 529 565 708 + 565 529 528 708 + 565 528 564 708 + 710 530 566 709 + 566 530 529 709 + 566 529 565 709 + 711 531 567 710 + 567 531 530 710 + 567 530 566 710 + 712 532 568 711 + 568 532 531 711 + 568 531 567 711 + 713 533 569 712 + 569 533 532 712 + 569 532 568 712 + 714 534 570 713 + 570 534 533 713 + 570 533 569 713 + 715 535 571 714 + 571 535 534 714 + 571 534 570 714 + 716 536 572 715 + 572 536 535 715 + 572 535 571 715 + 717 537 573 716 + 573 537 536 716 + 573 536 572 716 + 718 538 574 717 + 574 538 537 717 + 574 537 573 717 + 719 539 575 718 + 575 539 538 718 + 575 538 574 718 + 720 540 576 719 + 576 540 539 719 + 576 539 575 719 + 721 541 577 720 + 577 541 540 720 + 577 540 576 720 + 722 542 578 721 + 578 542 541 721 + 578 541 577 721 + 11 16 17 579 + 759 795 16 579 + 795 17 16 579 + 579 759 795 580 + 760 796 759 580 + 796 795 759 580 + 580 760 796 581 + 761 797 760 581 + 797 796 760 581 + 581 761 797 582 + 762 798 761 582 + 798 797 761 582 + 582 762 798 583 + 763 799 762 583 + 799 798 762 583 + 583 763 799 584 + 764 800 763 584 + 800 799 763 584 + 584 764 800 585 + 765 801 764 585 + 801 800 764 585 + 585 765 801 586 + 766 802 765 586 + 802 801 765 586 + 586 766 802 587 + 767 803 766 587 + 803 802 766 587 + 587 767 803 588 + 768 804 767 588 + 804 803 767 588 + 588 768 804 589 + 769 805 768 589 + 805 804 768 589 + 589 769 805 590 + 770 806 769 590 + 806 805 769 590 + 590 770 806 591 + 771 807 770 591 + 807 806 770 591 + 591 771 807 592 + 772 808 771 592 + 808 807 771 592 + 592 772 808 593 + 773 809 772 593 + 809 808 772 593 + 593 773 809 594 + 774 810 773 594 + 810 809 773 594 + 594 774 810 595 + 775 811 774 595 + 811 810 774 595 + 595 775 811 596 + 776 812 775 596 + 812 811 775 596 + 596 776 812 597 + 777 813 776 597 + 813 812 776 597 + 597 777 813 598 + 778 814 777 598 + 814 813 777 598 + 598 778 814 599 + 779 815 778 599 + 815 814 778 599 + 599 779 815 600 + 780 816 779 600 + 816 815 779 600 + 600 780 816 601 + 781 817 780 601 + 817 816 780 601 + 601 781 817 602 + 782 818 781 602 + 818 817 781 602 + 602 782 818 603 + 783 819 782 603 + 819 818 782 603 + 603 783 819 604 + 784 820 783 604 + 820 819 783 604 + 604 784 820 605 + 785 821 784 605 + 821 820 784 605 + 605 785 821 606 + 786 822 785 606 + 822 821 785 606 + 606 786 822 607 + 787 823 786 607 + 823 822 786 607 + 607 787 823 608 + 788 824 787 608 + 824 823 787 608 + 608 788 824 609 + 789 825 788 609 + 825 824 788 609 + 609 789 825 610 + 790 826 789 610 + 826 825 789 610 + 610 790 826 611 + 791 827 790 611 + 827 826 790 611 + 611 791 827 612 + 792 828 791 612 + 828 827 791 612 + 612 792 828 613 + 793 829 792 613 + 829 828 792 613 + 613 793 829 614 + 794 830 793 614 + 830 829 793 614 + 12 17 18 615 + 795 831 17 615 + 831 18 17 615 + 615 795 831 616 + 796 832 795 616 + 832 831 795 616 + 616 796 832 617 + 797 833 796 617 + 833 832 796 617 + 617 797 833 618 + 798 834 797 618 + 834 833 797 618 + 618 798 834 619 + 799 835 798 619 + 835 834 798 619 + 619 799 835 620 + 800 836 799 620 + 836 835 799 620 + 620 800 836 621 + 801 837 800 621 + 837 836 800 621 + 621 801 837 622 + 802 838 801 622 + 838 837 801 622 + 622 802 838 623 + 803 839 802 623 + 839 838 802 623 + 623 803 839 624 + 804 840 803 624 + 840 839 803 624 + 624 804 840 625 + 805 841 804 625 + 841 840 804 625 + 625 805 841 626 + 806 842 805 626 + 842 841 805 626 + 626 806 842 627 + 807 843 806 627 + 843 842 806 627 + 627 807 843 628 + 808 844 807 628 + 844 843 807 628 + 628 808 844 629 + 809 845 808 629 + 845 844 808 629 + 629 809 845 630 + 810 846 809 630 + 846 845 809 630 + 630 810 846 631 + 811 847 810 631 + 847 846 810 631 + 631 811 847 632 + 812 848 811 632 + 848 847 811 632 + 632 812 848 633 + 813 849 812 633 + 849 848 812 633 + 633 813 849 634 + 814 850 813 634 + 850 849 813 634 + 634 814 850 635 + 815 851 814 635 + 851 850 814 635 + 635 815 851 636 + 816 852 815 636 + 852 851 815 636 + 636 816 852 637 + 817 853 816 637 + 853 852 816 637 + 637 817 853 638 + 818 854 817 638 + 854 853 817 638 + 638 818 854 639 + 819 855 818 639 + 855 854 818 639 + 639 819 855 640 + 820 856 819 640 + 856 855 819 640 + 640 820 856 641 + 821 857 820 641 + 857 856 820 641 + 641 821 857 642 + 822 858 821 642 + 858 857 821 642 + 642 822 858 643 + 823 859 822 643 + 859 858 822 643 + 643 823 859 644 + 824 860 823 644 + 860 859 823 644 + 644 824 860 645 + 825 861 824 645 + 861 860 824 645 + 645 825 861 646 + 826 862 825 646 + 862 861 825 646 + 646 826 862 647 + 827 863 826 647 + 863 862 826 647 + 647 827 863 648 + 828 864 827 648 + 864 863 827 648 + 648 828 864 649 + 829 865 828 649 + 865 864 828 649 + 649 829 865 650 + 830 866 829 650 + 866 865 829 650 + 13 18 19 651 + 831 867 18 651 + 867 19 18 651 + 651 831 867 652 + 832 868 831 652 + 868 867 831 652 + 652 832 868 653 + 833 869 832 653 + 869 868 832 653 + 653 833 869 654 + 834 870 833 654 + 870 869 833 654 + 654 834 870 655 + 835 871 834 655 + 871 870 834 655 + 655 835 871 656 + 836 872 835 656 + 872 871 835 656 + 656 836 872 657 + 837 873 836 657 + 873 872 836 657 + 657 837 873 658 + 838 874 837 658 + 874 873 837 658 + 658 838 874 659 + 839 875 838 659 + 875 874 838 659 + 659 839 875 660 + 840 876 839 660 + 876 875 839 660 + 660 840 876 661 + 841 877 840 661 + 877 876 840 661 + 661 841 877 662 + 842 878 841 662 + 878 877 841 662 + 662 842 878 663 + 843 879 842 663 + 879 878 842 663 + 663 843 879 664 + 844 880 843 664 + 880 879 843 664 + 664 844 880 665 + 845 881 844 665 + 881 880 844 665 + 665 845 881 666 + 846 882 845 666 + 882 881 845 666 + 666 846 882 667 + 847 883 846 667 + 883 882 846 667 + 667 847 883 668 + 848 884 847 668 + 884 883 847 668 + 668 848 884 669 + 849 885 848 669 + 885 884 848 669 + 669 849 885 670 + 850 886 849 670 + 886 885 849 670 + 670 850 886 671 + 851 887 850 671 + 887 886 850 671 + 671 851 887 672 + 852 888 851 672 + 888 887 851 672 + 672 852 888 673 + 853 889 852 673 + 889 888 852 673 + 673 853 889 674 + 854 890 853 674 + 890 889 853 674 + 674 854 890 675 + 855 891 854 675 + 891 890 854 675 + 675 855 891 676 + 856 892 855 676 + 892 891 855 676 + 676 856 892 677 + 857 893 856 677 + 893 892 856 677 + 677 857 893 678 + 858 894 857 678 + 894 893 857 678 + 678 858 894 679 + 859 895 858 679 + 895 894 858 679 + 679 859 895 680 + 860 896 859 680 + 896 895 859 680 + 680 860 896 681 + 861 897 860 681 + 897 896 860 681 + 681 861 897 682 + 862 898 861 682 + 898 897 861 682 + 682 862 898 683 + 863 899 862 683 + 899 898 862 683 + 683 863 899 684 + 864 900 863 684 + 900 899 863 684 + 684 864 900 685 + 865 901 864 685 + 901 900 864 685 + 685 865 901 686 + 866 902 865 686 + 902 901 865 686 + 14 19 20 687 + 867 903 19 687 + 903 20 19 687 + 687 867 903 688 + 868 904 867 688 + 904 903 867 688 + 688 868 904 689 + 869 905 868 689 + 905 904 868 689 + 689 869 905 690 + 870 906 869 690 + 906 905 869 690 + 690 870 906 691 + 871 907 870 691 + 907 906 870 691 + 691 871 907 692 + 872 908 871 692 + 908 907 871 692 + 692 872 908 693 + 873 909 872 693 + 909 908 872 693 + 693 873 909 694 + 874 910 873 694 + 910 909 873 694 + 694 874 910 695 + 875 911 874 695 + 911 910 874 695 + 695 875 911 696 + 876 912 875 696 + 912 911 875 696 + 696 876 912 697 + 877 913 876 697 + 913 912 876 697 + 697 877 913 698 + 878 914 877 698 + 914 913 877 698 + 698 878 914 699 + 879 915 878 699 + 915 914 878 699 + 699 879 915 700 + 880 916 879 700 + 916 915 879 700 + 700 880 916 701 + 881 917 880 701 + 917 916 880 701 + 701 881 917 702 + 882 918 881 702 + 918 917 881 702 + 702 882 918 703 + 883 919 882 703 + 919 918 882 703 + 703 883 919 704 + 884 920 883 704 + 920 919 883 704 + 704 884 920 705 + 885 921 884 705 + 921 920 884 705 + 705 885 921 706 + 886 922 885 706 + 922 921 885 706 + 706 886 922 707 + 887 923 886 707 + 923 922 886 707 + 707 887 923 708 + 888 924 887 708 + 924 923 887 708 + 708 888 924 709 + 889 925 888 709 + 925 924 888 709 + 709 889 925 710 + 890 926 889 710 + 926 925 889 710 + 710 890 926 711 + 891 927 890 711 + 927 926 890 711 + 711 891 927 712 + 892 928 891 712 + 928 927 891 712 + 712 892 928 713 + 893 929 892 713 + 929 928 892 713 + 713 893 929 714 + 894 930 893 714 + 930 929 893 714 + 714 894 930 715 + 895 931 894 715 + 931 930 894 715 + 715 895 931 716 + 896 932 895 716 + 932 931 895 716 + 716 896 932 717 + 897 933 896 717 + 933 932 896 717 + 717 897 933 718 + 898 934 897 718 + 934 933 897 718 + 718 898 934 719 + 899 935 898 719 + 935 934 898 719 + 719 899 935 720 + 900 936 899 720 + 936 935 899 720 + 720 900 936 721 + 901 937 900 721 + 937 936 900 721 + 721 901 937 722 + 902 938 901 722 + 938 937 901 722 + 15 20 21 723 + 903 939 20 723 + 939 21 20 723 + 723 903 939 724 + 904 940 903 724 + 940 939 903 724 + 724 904 940 725 + 905 941 904 725 + 941 940 904 725 + 725 905 941 726 + 906 942 905 726 + 942 941 905 726 + 726 906 942 727 + 907 943 906 727 + 943 942 906 727 + 727 907 943 728 + 908 944 907 728 + 944 943 907 728 + 728 908 944 729 + 909 945 908 729 + 945 944 908 729 + 729 909 945 730 + 910 946 909 730 + 946 945 909 730 + 730 910 946 731 + 911 947 910 731 + 947 946 910 731 + 731 911 947 732 + 912 948 911 732 + 948 947 911 732 + 732 912 948 733 + 913 949 912 733 + 949 948 912 733 + 733 913 949 734 + 914 950 913 734 + 950 949 913 734 + 734 914 950 735 + 915 951 914 735 + 951 950 914 735 + 735 915 951 736 + 916 952 915 736 + 952 951 915 736 + 736 916 952 737 + 917 953 916 737 + 953 952 916 737 + 737 917 953 738 + 918 954 917 738 + 954 953 917 738 + 738 918 954 739 + 919 955 918 739 + 955 954 918 739 + 739 919 955 740 + 920 956 919 740 + 956 955 919 740 + 740 920 956 741 + 921 957 920 741 + 957 956 920 741 + 741 921 957 742 + 922 958 921 742 + 958 957 921 742 + 742 922 958 743 + 923 959 922 743 + 959 958 922 743 + 743 923 959 744 + 924 960 923 744 + 960 959 923 744 + 744 924 960 745 + 925 961 924 745 + 961 960 924 745 + 745 925 961 746 + 926 962 925 746 + 962 961 925 746 + 746 926 962 747 + 927 963 926 747 + 963 962 926 747 + 747 927 963 748 + 928 964 927 748 + 964 963 927 748 + 748 928 964 749 + 929 965 928 749 + 965 964 928 749 + 749 929 965 750 + 930 966 929 750 + 966 965 929 750 + 750 930 966 751 + 931 967 930 751 + 967 966 930 751 + 751 931 967 752 + 932 968 931 752 + 968 967 931 752 + 752 932 968 753 + 933 969 932 753 + 969 968 932 753 + 753 933 969 754 + 934 970 933 754 + 970 969 933 754 + 754 934 970 755 + 935 971 934 755 + 971 970 934 755 + 755 935 971 756 + 936 972 935 756 + 972 971 935 756 + 756 936 972 757 + 937 973 936 757 + 973 972 936 757 + 757 937 973 758 + 938 974 937 758 + 974 973 937 758 + 795 579 615 17 + 615 579 11 17 + 615 11 12 17 + 796 580 616 795 + 616 580 579 795 + 616 579 615 795 + 797 581 617 796 + 617 581 580 796 + 617 580 616 796 + 798 582 618 797 + 618 582 581 797 + 618 581 617 797 + 799 583 619 798 + 619 583 582 798 + 619 582 618 798 + 800 584 620 799 + 620 584 583 799 + 620 583 619 799 + 801 585 621 800 + 621 585 584 800 + 621 584 620 800 + 802 586 622 801 + 622 586 585 801 + 622 585 621 801 + 803 587 623 802 + 623 587 586 802 + 623 586 622 802 + 804 588 624 803 + 624 588 587 803 + 624 587 623 803 + 805 589 625 804 + 625 589 588 804 + 625 588 624 804 + 806 590 626 805 + 626 590 589 805 + 626 589 625 805 + 807 591 627 806 + 627 591 590 806 + 627 590 626 806 + 808 592 628 807 + 628 592 591 807 + 628 591 627 807 + 809 593 629 808 + 629 593 592 808 + 629 592 628 808 + 810 594 630 809 + 630 594 593 809 + 630 593 629 809 + 811 595 631 810 + 631 595 594 810 + 631 594 630 810 + 812 596 632 811 + 632 596 595 811 + 632 595 631 811 + 813 597 633 812 + 633 597 596 812 + 633 596 632 812 + 814 598 634 813 + 634 598 597 813 + 634 597 633 813 + 815 599 635 814 + 635 599 598 814 + 635 598 634 814 + 816 600 636 815 + 636 600 599 815 + 636 599 635 815 + 817 601 637 816 + 637 601 600 816 + 637 600 636 816 + 818 602 638 817 + 638 602 601 817 + 638 601 637 817 + 819 603 639 818 + 639 603 602 818 + 639 602 638 818 + 820 604 640 819 + 640 604 603 819 + 640 603 639 819 + 821 605 641 820 + 641 605 604 820 + 641 604 640 820 + 822 606 642 821 + 642 606 605 821 + 642 605 641 821 + 823 607 643 822 + 643 607 606 822 + 643 606 642 822 + 824 608 644 823 + 644 608 607 823 + 644 607 643 823 + 825 609 645 824 + 645 609 608 824 + 645 608 644 824 + 826 610 646 825 + 646 610 609 825 + 646 609 645 825 + 827 611 647 826 + 647 611 610 826 + 647 610 646 826 + 828 612 648 827 + 648 612 611 827 + 648 611 647 827 + 829 613 649 828 + 649 613 612 828 + 649 612 648 828 + 830 614 650 829 + 650 614 613 829 + 650 613 649 829 + 831 615 651 18 + 651 615 12 18 + 651 12 13 18 + 832 616 652 831 + 652 616 615 831 + 652 615 651 831 + 833 617 653 832 + 653 617 616 832 + 653 616 652 832 + 834 618 654 833 + 654 618 617 833 + 654 617 653 833 + 835 619 655 834 + 655 619 618 834 + 655 618 654 834 + 836 620 656 835 + 656 620 619 835 + 656 619 655 835 + 837 621 657 836 + 657 621 620 836 + 657 620 656 836 + 838 622 658 837 + 658 622 621 837 + 658 621 657 837 + 839 623 659 838 + 659 623 622 838 + 659 622 658 838 + 840 624 660 839 + 660 624 623 839 + 660 623 659 839 + 841 625 661 840 + 661 625 624 840 + 661 624 660 840 + 842 626 662 841 + 662 626 625 841 + 662 625 661 841 + 843 627 663 842 + 663 627 626 842 + 663 626 662 842 + 844 628 664 843 + 664 628 627 843 + 664 627 663 843 + 845 629 665 844 + 665 629 628 844 + 665 628 664 844 + 846 630 666 845 + 666 630 629 845 + 666 629 665 845 + 847 631 667 846 + 667 631 630 846 + 667 630 666 846 + 848 632 668 847 + 668 632 631 847 + 668 631 667 847 + 849 633 669 848 + 669 633 632 848 + 669 632 668 848 + 850 634 670 849 + 670 634 633 849 + 670 633 669 849 + 851 635 671 850 + 671 635 634 850 + 671 634 670 850 + 852 636 672 851 + 672 636 635 851 + 672 635 671 851 + 853 637 673 852 + 673 637 636 852 + 673 636 672 852 + 854 638 674 853 + 674 638 637 853 + 674 637 673 853 + 855 639 675 854 + 675 639 638 854 + 675 638 674 854 + 856 640 676 855 + 676 640 639 855 + 676 639 675 855 + 857 641 677 856 + 677 641 640 856 + 677 640 676 856 + 858 642 678 857 + 678 642 641 857 + 678 641 677 857 + 859 643 679 858 + 679 643 642 858 + 679 642 678 858 + 860 644 680 859 + 680 644 643 859 + 680 643 679 859 + 861 645 681 860 + 681 645 644 860 + 681 644 680 860 + 862 646 682 861 + 682 646 645 861 + 682 645 681 861 + 863 647 683 862 + 683 647 646 862 + 683 646 682 862 + 864 648 684 863 + 684 648 647 863 + 684 647 683 863 + 865 649 685 864 + 685 649 648 864 + 685 648 684 864 + 866 650 686 865 + 686 650 649 865 + 686 649 685 865 + 867 651 687 19 + 687 651 13 19 + 687 13 14 19 + 868 652 688 867 + 688 652 651 867 + 688 651 687 867 + 869 653 689 868 + 689 653 652 868 + 689 652 688 868 + 870 654 690 869 + 690 654 653 869 + 690 653 689 869 + 871 655 691 870 + 691 655 654 870 + 691 654 690 870 + 872 656 692 871 + 692 656 655 871 + 692 655 691 871 + 873 657 693 872 + 693 657 656 872 + 693 656 692 872 + 874 658 694 873 + 694 658 657 873 + 694 657 693 873 + 875 659 695 874 + 695 659 658 874 + 695 658 694 874 + 876 660 696 875 + 696 660 659 875 + 696 659 695 875 + 877 661 697 876 + 697 661 660 876 + 697 660 696 876 + 878 662 698 877 + 698 662 661 877 + 698 661 697 877 + 879 663 699 878 + 699 663 662 878 + 699 662 698 878 + 880 664 700 879 + 700 664 663 879 + 700 663 699 879 + 881 665 701 880 + 701 665 664 880 + 701 664 700 880 + 882 666 702 881 + 702 666 665 881 + 702 665 701 881 + 883 667 703 882 + 703 667 666 882 + 703 666 702 882 + 884 668 704 883 + 704 668 667 883 + 704 667 703 883 + 885 669 705 884 + 705 669 668 884 + 705 668 704 884 + 886 670 706 885 + 706 670 669 885 + 706 669 705 885 + 887 671 707 886 + 707 671 670 886 + 707 670 706 886 + 888 672 708 887 + 708 672 671 887 + 708 671 707 887 + 889 673 709 888 + 709 673 672 888 + 709 672 708 888 + 890 674 710 889 + 710 674 673 889 + 710 673 709 889 + 891 675 711 890 + 711 675 674 890 + 711 674 710 890 + 892 676 712 891 + 712 676 675 891 + 712 675 711 891 + 893 677 713 892 + 713 677 676 892 + 713 676 712 892 + 894 678 714 893 + 714 678 677 893 + 714 677 713 893 + 895 679 715 894 + 715 679 678 894 + 715 678 714 894 + 896 680 716 895 + 716 680 679 895 + 716 679 715 895 + 897 681 717 896 + 717 681 680 896 + 717 680 716 896 + 898 682 718 897 + 718 682 681 897 + 718 681 717 897 + 899 683 719 898 + 719 683 682 898 + 719 682 718 898 + 900 684 720 899 + 720 684 683 899 + 720 683 719 899 + 901 685 721 900 + 721 685 684 900 + 721 684 720 900 + 902 686 722 901 + 722 686 685 901 + 722 685 721 901 + 903 687 723 20 + 723 687 14 20 + 723 14 15 20 + 904 688 724 903 + 724 688 687 903 + 724 687 723 903 + 905 689 725 904 + 725 689 688 904 + 725 688 724 904 + 906 690 726 905 + 726 690 689 905 + 726 689 725 905 + 907 691 727 906 + 727 691 690 906 + 727 690 726 906 + 908 692 728 907 + 728 692 691 907 + 728 691 727 907 + 909 693 729 908 + 729 693 692 908 + 729 692 728 908 + 910 694 730 909 + 730 694 693 909 + 730 693 729 909 + 911 695 731 910 + 731 695 694 910 + 731 694 730 910 + 912 696 732 911 + 732 696 695 911 + 732 695 731 911 + 913 697 733 912 + 733 697 696 912 + 733 696 732 912 + 914 698 734 913 + 734 698 697 913 + 734 697 733 913 + 915 699 735 914 + 735 699 698 914 + 735 698 734 914 + 916 700 736 915 + 736 700 699 915 + 736 699 735 915 + 917 701 737 916 + 737 701 700 916 + 737 700 736 916 + 918 702 738 917 + 738 702 701 917 + 738 701 737 917 + 919 703 739 918 + 739 703 702 918 + 739 702 738 918 + 920 704 740 919 + 740 704 703 919 + 740 703 739 919 + 921 705 741 920 + 741 705 704 920 + 741 704 740 920 + 922 706 742 921 + 742 706 705 921 + 742 705 741 921 + 923 707 743 922 + 743 707 706 922 + 743 706 742 922 + 924 708 744 923 + 744 708 707 923 + 744 707 743 923 + 925 709 745 924 + 745 709 708 924 + 745 708 744 924 + 926 710 746 925 + 746 710 709 925 + 746 709 745 925 + 927 711 747 926 + 747 711 710 926 + 747 710 746 926 + 928 712 748 927 + 748 712 711 927 + 748 711 747 927 + 929 713 749 928 + 749 713 712 928 + 749 712 748 928 + 930 714 750 929 + 750 714 713 929 + 750 713 749 929 + 931 715 751 930 + 751 715 714 930 + 751 714 750 930 + 932 716 752 931 + 752 716 715 931 + 752 715 751 931 + 933 717 753 932 + 753 717 716 932 + 753 716 752 932 + 934 718 754 933 + 754 718 717 933 + 754 717 753 933 + 935 719 755 934 + 755 719 718 934 + 755 718 754 934 + 936 720 756 935 + 756 720 719 935 + 756 719 755 935 + 937 721 757 936 + 757 721 720 936 + 757 720 756 936 + 938 722 758 937 + 758 722 721 937 + 758 721 757 937 + 16 22 23 759 + 975 1011 22 759 + 1011 23 22 759 + 759 975 1011 760 + 976 1012 975 760 + 1012 1011 975 760 + 760 976 1012 761 + 977 1013 976 761 + 1013 1012 976 761 + 761 977 1013 762 + 978 1014 977 762 + 1014 1013 977 762 + 762 978 1014 763 + 979 1015 978 763 + 1015 1014 978 763 + 763 979 1015 764 + 980 1016 979 764 + 1016 1015 979 764 + 764 980 1016 765 + 981 1017 980 765 + 1017 1016 980 765 + 765 981 1017 766 + 982 1018 981 766 + 1018 1017 981 766 + 766 982 1018 767 + 983 1019 982 767 + 1019 1018 982 767 + 767 983 1019 768 + 984 1020 983 768 + 1020 1019 983 768 + 768 984 1020 769 + 985 1021 984 769 + 1021 1020 984 769 + 769 985 1021 770 + 986 1022 985 770 + 1022 1021 985 770 + 770 986 1022 771 + 987 1023 986 771 + 1023 1022 986 771 + 771 987 1023 772 + 988 1024 987 772 + 1024 1023 987 772 + 772 988 1024 773 + 989 1025 988 773 + 1025 1024 988 773 + 773 989 1025 774 + 990 1026 989 774 + 1026 1025 989 774 + 774 990 1026 775 + 991 1027 990 775 + 1027 1026 990 775 + 775 991 1027 776 + 992 1028 991 776 + 1028 1027 991 776 + 776 992 1028 777 + 993 1029 992 777 + 1029 1028 992 777 + 777 993 1029 778 + 994 1030 993 778 + 1030 1029 993 778 + 778 994 1030 779 + 995 1031 994 779 + 1031 1030 994 779 + 779 995 1031 780 + 996 1032 995 780 + 1032 1031 995 780 + 780 996 1032 781 + 997 1033 996 781 + 1033 1032 996 781 + 781 997 1033 782 + 998 1034 997 782 + 1034 1033 997 782 + 782 998 1034 783 + 999 1035 998 783 + 1035 1034 998 783 + 783 999 1035 784 + 1000 1036 999 784 + 1036 1035 999 784 + 784 1000 1036 785 + 1001 1037 1000 785 + 1037 1036 1000 785 + 785 1001 1037 786 + 1002 1038 1001 786 + 1038 1037 1001 786 + 786 1002 1038 787 + 1003 1039 1002 787 + 1039 1038 1002 787 + 787 1003 1039 788 + 1004 1040 1003 788 + 1040 1039 1003 788 + 788 1004 1040 789 + 1005 1041 1004 789 + 1041 1040 1004 789 + 789 1005 1041 790 + 1006 1042 1005 790 + 1042 1041 1005 790 + 790 1006 1042 791 + 1007 1043 1006 791 + 1043 1042 1006 791 + 791 1007 1043 792 + 1008 1044 1007 792 + 1044 1043 1007 792 + 792 1008 1044 793 + 1009 1045 1008 793 + 1045 1044 1008 793 + 793 1009 1045 794 + 1010 1046 1009 794 + 1046 1045 1009 794 + 17 23 24 795 + 1011 1047 23 795 + 1047 24 23 795 + 795 1011 1047 796 + 1012 1048 1011 796 + 1048 1047 1011 796 + 796 1012 1048 797 + 1013 1049 1012 797 + 1049 1048 1012 797 + 797 1013 1049 798 + 1014 1050 1013 798 + 1050 1049 1013 798 + 798 1014 1050 799 + 1015 1051 1014 799 + 1051 1050 1014 799 + 799 1015 1051 800 + 1016 1052 1015 800 + 1052 1051 1015 800 + 800 1016 1052 801 + 1017 1053 1016 801 + 1053 1052 1016 801 + 801 1017 1053 802 + 1018 1054 1017 802 + 1054 1053 1017 802 + 802 1018 1054 803 + 1019 1055 1018 803 + 1055 1054 1018 803 + 803 1019 1055 804 + 1020 1056 1019 804 + 1056 1055 1019 804 + 804 1020 1056 805 + 1021 1057 1020 805 + 1057 1056 1020 805 + 805 1021 1057 806 + 1022 1058 1021 806 + 1058 1057 1021 806 + 806 1022 1058 807 + 1023 1059 1022 807 + 1059 1058 1022 807 + 807 1023 1059 808 + 1024 1060 1023 808 + 1060 1059 1023 808 + 808 1024 1060 809 + 1025 1061 1024 809 + 1061 1060 1024 809 + 809 1025 1061 810 + 1026 1062 1025 810 + 1062 1061 1025 810 + 810 1026 1062 811 + 1027 1063 1026 811 + 1063 1062 1026 811 + 811 1027 1063 812 + 1028 1064 1027 812 + 1064 1063 1027 812 + 812 1028 1064 813 + 1029 1065 1028 813 + 1065 1064 1028 813 + 813 1029 1065 814 + 1030 1066 1029 814 + 1066 1065 1029 814 + 814 1030 1066 815 + 1031 1067 1030 815 + 1067 1066 1030 815 + 815 1031 1067 816 + 1032 1068 1031 816 + 1068 1067 1031 816 + 816 1032 1068 817 + 1033 1069 1032 817 + 1069 1068 1032 817 + 817 1033 1069 818 + 1034 1070 1033 818 + 1070 1069 1033 818 + 818 1034 1070 819 + 1035 1071 1034 819 + 1071 1070 1034 819 + 819 1035 1071 820 + 1036 1072 1035 820 + 1072 1071 1035 820 + 820 1036 1072 821 + 1037 1073 1036 821 + 1073 1072 1036 821 + 821 1037 1073 822 + 1038 1074 1037 822 + 1074 1073 1037 822 + 822 1038 1074 823 + 1039 1075 1038 823 + 1075 1074 1038 823 + 823 1039 1075 824 + 1040 1076 1039 824 + 1076 1075 1039 824 + 824 1040 1076 825 + 1041 1077 1040 825 + 1077 1076 1040 825 + 825 1041 1077 826 + 1042 1078 1041 826 + 1078 1077 1041 826 + 826 1042 1078 827 + 1043 1079 1042 827 + 1079 1078 1042 827 + 827 1043 1079 828 + 1044 1080 1043 828 + 1080 1079 1043 828 + 828 1044 1080 829 + 1045 1081 1044 829 + 1081 1080 1044 829 + 829 1045 1081 830 + 1046 1082 1045 830 + 1082 1081 1045 830 + 18 24 25 831 + 1047 1083 24 831 + 1083 25 24 831 + 831 1047 1083 832 + 1048 1084 1047 832 + 1084 1083 1047 832 + 832 1048 1084 833 + 1049 1085 1048 833 + 1085 1084 1048 833 + 833 1049 1085 834 + 1050 1086 1049 834 + 1086 1085 1049 834 + 834 1050 1086 835 + 1051 1087 1050 835 + 1087 1086 1050 835 + 835 1051 1087 836 + 1052 1088 1051 836 + 1088 1087 1051 836 + 836 1052 1088 837 + 1053 1089 1052 837 + 1089 1088 1052 837 + 837 1053 1089 838 + 1054 1090 1053 838 + 1090 1089 1053 838 + 838 1054 1090 839 + 1055 1091 1054 839 + 1091 1090 1054 839 + 839 1055 1091 840 + 1056 1092 1055 840 + 1092 1091 1055 840 + 840 1056 1092 841 + 1057 1093 1056 841 + 1093 1092 1056 841 + 841 1057 1093 842 + 1058 1094 1057 842 + 1094 1093 1057 842 + 842 1058 1094 843 + 1059 1095 1058 843 + 1095 1094 1058 843 + 843 1059 1095 844 + 1060 1096 1059 844 + 1096 1095 1059 844 + 844 1060 1096 845 + 1061 1097 1060 845 + 1097 1096 1060 845 + 845 1061 1097 846 + 1062 1098 1061 846 + 1098 1097 1061 846 + 846 1062 1098 847 + 1063 1099 1062 847 + 1099 1098 1062 847 + 847 1063 1099 848 + 1064 1100 1063 848 + 1100 1099 1063 848 + 848 1064 1100 849 + 1065 1101 1064 849 + 1101 1100 1064 849 + 849 1065 1101 850 + 1066 1102 1065 850 + 1102 1101 1065 850 + 850 1066 1102 851 + 1067 1103 1066 851 + 1103 1102 1066 851 + 851 1067 1103 852 + 1068 1104 1067 852 + 1104 1103 1067 852 + 852 1068 1104 853 + 1069 1105 1068 853 + 1105 1104 1068 853 + 853 1069 1105 854 + 1070 1106 1069 854 + 1106 1105 1069 854 + 854 1070 1106 855 + 1071 1107 1070 855 + 1107 1106 1070 855 + 855 1071 1107 856 + 1072 1108 1071 856 + 1108 1107 1071 856 + 856 1072 1108 857 + 1073 1109 1072 857 + 1109 1108 1072 857 + 857 1073 1109 858 + 1074 1110 1073 858 + 1110 1109 1073 858 + 858 1074 1110 859 + 1075 1111 1074 859 + 1111 1110 1074 859 + 859 1075 1111 860 + 1076 1112 1075 860 + 1112 1111 1075 860 + 860 1076 1112 861 + 1077 1113 1076 861 + 1113 1112 1076 861 + 861 1077 1113 862 + 1078 1114 1077 862 + 1114 1113 1077 862 + 862 1078 1114 863 + 1079 1115 1078 863 + 1115 1114 1078 863 + 863 1079 1115 864 + 1080 1116 1079 864 + 1116 1115 1079 864 + 864 1080 1116 865 + 1081 1117 1080 865 + 1117 1116 1080 865 + 865 1081 1117 866 + 1082 1118 1081 866 + 1118 1117 1081 866 + 19 25 26 867 + 1083 1119 25 867 + 1119 26 25 867 + 867 1083 1119 868 + 1084 1120 1083 868 + 1120 1119 1083 868 + 868 1084 1120 869 + 1085 1121 1084 869 + 1121 1120 1084 869 + 869 1085 1121 870 + 1086 1122 1085 870 + 1122 1121 1085 870 + 870 1086 1122 871 + 1087 1123 1086 871 + 1123 1122 1086 871 + 871 1087 1123 872 + 1088 1124 1087 872 + 1124 1123 1087 872 + 872 1088 1124 873 + 1089 1125 1088 873 + 1125 1124 1088 873 + 873 1089 1125 874 + 1090 1126 1089 874 + 1126 1125 1089 874 + 874 1090 1126 875 + 1091 1127 1090 875 + 1127 1126 1090 875 + 875 1091 1127 876 + 1092 1128 1091 876 + 1128 1127 1091 876 + 876 1092 1128 877 + 1093 1129 1092 877 + 1129 1128 1092 877 + 877 1093 1129 878 + 1094 1130 1093 878 + 1130 1129 1093 878 + 878 1094 1130 879 + 1095 1131 1094 879 + 1131 1130 1094 879 + 879 1095 1131 880 + 1096 1132 1095 880 + 1132 1131 1095 880 + 880 1096 1132 881 + 1097 1133 1096 881 + 1133 1132 1096 881 + 881 1097 1133 882 + 1098 1134 1097 882 + 1134 1133 1097 882 + 882 1098 1134 883 + 1099 1135 1098 883 + 1135 1134 1098 883 + 883 1099 1135 884 + 1100 1136 1099 884 + 1136 1135 1099 884 + 884 1100 1136 885 + 1101 1137 1100 885 + 1137 1136 1100 885 + 885 1101 1137 886 + 1102 1138 1101 886 + 1138 1137 1101 886 + 886 1102 1138 887 + 1103 1139 1102 887 + 1139 1138 1102 887 + 887 1103 1139 888 + 1104 1140 1103 888 + 1140 1139 1103 888 + 888 1104 1140 889 + 1105 1141 1104 889 + 1141 1140 1104 889 + 889 1105 1141 890 + 1106 1142 1105 890 + 1142 1141 1105 890 + 890 1106 1142 891 + 1107 1143 1106 891 + 1143 1142 1106 891 + 891 1107 1143 892 + 1108 1144 1107 892 + 1144 1143 1107 892 + 892 1108 1144 893 + 1109 1145 1108 893 + 1145 1144 1108 893 + 893 1109 1145 894 + 1110 1146 1109 894 + 1146 1145 1109 894 + 894 1110 1146 895 + 1111 1147 1110 895 + 1147 1146 1110 895 + 895 1111 1147 896 + 1112 1148 1111 896 + 1148 1147 1111 896 + 896 1112 1148 897 + 1113 1149 1112 897 + 1149 1148 1112 897 + 897 1113 1149 898 + 1114 1150 1113 898 + 1150 1149 1113 898 + 898 1114 1150 899 + 1115 1151 1114 899 + 1151 1150 1114 899 + 899 1115 1151 900 + 1116 1152 1115 900 + 1152 1151 1115 900 + 900 1116 1152 901 + 1117 1153 1116 901 + 1153 1152 1116 901 + 901 1117 1153 902 + 1118 1154 1117 902 + 1154 1153 1117 902 + 20 26 27 903 + 1119 1155 26 903 + 1155 27 26 903 + 903 1119 1155 904 + 1120 1156 1119 904 + 1156 1155 1119 904 + 904 1120 1156 905 + 1121 1157 1120 905 + 1157 1156 1120 905 + 905 1121 1157 906 + 1122 1158 1121 906 + 1158 1157 1121 906 + 906 1122 1158 907 + 1123 1159 1122 907 + 1159 1158 1122 907 + 907 1123 1159 908 + 1124 1160 1123 908 + 1160 1159 1123 908 + 908 1124 1160 909 + 1125 1161 1124 909 + 1161 1160 1124 909 + 909 1125 1161 910 + 1126 1162 1125 910 + 1162 1161 1125 910 + 910 1126 1162 911 + 1127 1163 1126 911 + 1163 1162 1126 911 + 911 1127 1163 912 + 1128 1164 1127 912 + 1164 1163 1127 912 + 912 1128 1164 913 + 1129 1165 1128 913 + 1165 1164 1128 913 + 913 1129 1165 914 + 1130 1166 1129 914 + 1166 1165 1129 914 + 914 1130 1166 915 + 1131 1167 1130 915 + 1167 1166 1130 915 + 915 1131 1167 916 + 1132 1168 1131 916 + 1168 1167 1131 916 + 916 1132 1168 917 + 1133 1169 1132 917 + 1169 1168 1132 917 + 917 1133 1169 918 + 1134 1170 1133 918 + 1170 1169 1133 918 + 918 1134 1170 919 + 1135 1171 1134 919 + 1171 1170 1134 919 + 919 1135 1171 920 + 1136 1172 1135 920 + 1172 1171 1135 920 + 920 1136 1172 921 + 1137 1173 1136 921 + 1173 1172 1136 921 + 921 1137 1173 922 + 1138 1174 1137 922 + 1174 1173 1137 922 + 922 1138 1174 923 + 1139 1175 1138 923 + 1175 1174 1138 923 + 923 1139 1175 924 + 1140 1176 1139 924 + 1176 1175 1139 924 + 924 1140 1176 925 + 1141 1177 1140 925 + 1177 1176 1140 925 + 925 1141 1177 926 + 1142 1178 1141 926 + 1178 1177 1141 926 + 926 1142 1178 927 + 1143 1179 1142 927 + 1179 1178 1142 927 + 927 1143 1179 928 + 1144 1180 1143 928 + 1180 1179 1143 928 + 928 1144 1180 929 + 1145 1181 1144 929 + 1181 1180 1144 929 + 929 1145 1181 930 + 1146 1182 1145 930 + 1182 1181 1145 930 + 930 1146 1182 931 + 1147 1183 1146 931 + 1183 1182 1146 931 + 931 1147 1183 932 + 1148 1184 1147 932 + 1184 1183 1147 932 + 932 1148 1184 933 + 1149 1185 1148 933 + 1185 1184 1148 933 + 933 1149 1185 934 + 1150 1186 1149 934 + 1186 1185 1149 934 + 934 1150 1186 935 + 1151 1187 1150 935 + 1187 1186 1150 935 + 935 1151 1187 936 + 1152 1188 1151 936 + 1188 1187 1151 936 + 936 1152 1188 937 + 1153 1189 1152 937 + 1189 1188 1152 937 + 937 1153 1189 938 + 1154 1190 1153 938 + 1190 1189 1153 938 + 21 27 28 939 + 1155 1191 27 939 + 1191 28 27 939 + 939 1155 1191 940 + 1156 1192 1155 940 + 1192 1191 1155 940 + 940 1156 1192 941 + 1157 1193 1156 941 + 1193 1192 1156 941 + 941 1157 1193 942 + 1158 1194 1157 942 + 1194 1193 1157 942 + 942 1158 1194 943 + 1159 1195 1158 943 + 1195 1194 1158 943 + 943 1159 1195 944 + 1160 1196 1159 944 + 1196 1195 1159 944 + 944 1160 1196 945 + 1161 1197 1160 945 + 1197 1196 1160 945 + 945 1161 1197 946 + 1162 1198 1161 946 + 1198 1197 1161 946 + 946 1162 1198 947 + 1163 1199 1162 947 + 1199 1198 1162 947 + 947 1163 1199 948 + 1164 1200 1163 948 + 1200 1199 1163 948 + 948 1164 1200 949 + 1165 1201 1164 949 + 1201 1200 1164 949 + 949 1165 1201 950 + 1166 1202 1165 950 + 1202 1201 1165 950 + 950 1166 1202 951 + 1167 1203 1166 951 + 1203 1202 1166 951 + 951 1167 1203 952 + 1168 1204 1167 952 + 1204 1203 1167 952 + 952 1168 1204 953 + 1169 1205 1168 953 + 1205 1204 1168 953 + 953 1169 1205 954 + 1170 1206 1169 954 + 1206 1205 1169 954 + 954 1170 1206 955 + 1171 1207 1170 955 + 1207 1206 1170 955 + 955 1171 1207 956 + 1172 1208 1171 956 + 1208 1207 1171 956 + 956 1172 1208 957 + 1173 1209 1172 957 + 1209 1208 1172 957 + 957 1173 1209 958 + 1174 1210 1173 958 + 1210 1209 1173 958 + 958 1174 1210 959 + 1175 1211 1174 959 + 1211 1210 1174 959 + 959 1175 1211 960 + 1176 1212 1175 960 + 1212 1211 1175 960 + 960 1176 1212 961 + 1177 1213 1176 961 + 1213 1212 1176 961 + 961 1177 1213 962 + 1178 1214 1177 962 + 1214 1213 1177 962 + 962 1178 1214 963 + 1179 1215 1178 963 + 1215 1214 1178 963 + 963 1179 1215 964 + 1180 1216 1179 964 + 1216 1215 1179 964 + 964 1180 1216 965 + 1181 1217 1180 965 + 1217 1216 1180 965 + 965 1181 1217 966 + 1182 1218 1181 966 + 1218 1217 1181 966 + 966 1182 1218 967 + 1183 1219 1182 967 + 1219 1218 1182 967 + 967 1183 1219 968 + 1184 1220 1183 968 + 1220 1219 1183 968 + 968 1184 1220 969 + 1185 1221 1184 969 + 1221 1220 1184 969 + 969 1185 1221 970 + 1186 1222 1185 970 + 1222 1221 1185 970 + 970 1186 1222 971 + 1187 1223 1186 971 + 1223 1222 1186 971 + 971 1187 1223 972 + 1188 1224 1187 972 + 1224 1223 1187 972 + 972 1188 1224 973 + 1189 1225 1188 973 + 1225 1224 1188 973 + 973 1189 1225 974 + 1190 1226 1189 974 + 1226 1225 1189 974 + 1011 759 795 23 + 795 759 16 23 + 795 16 17 23 + 1012 760 796 1011 + 796 760 759 1011 + 796 759 795 1011 + 1013 761 797 1012 + 797 761 760 1012 + 797 760 796 1012 + 1014 762 798 1013 + 798 762 761 1013 + 798 761 797 1013 + 1015 763 799 1014 + 799 763 762 1014 + 799 762 798 1014 + 1016 764 800 1015 + 800 764 763 1015 + 800 763 799 1015 + 1017 765 801 1016 + 801 765 764 1016 + 801 764 800 1016 + 1018 766 802 1017 + 802 766 765 1017 + 802 765 801 1017 + 1019 767 803 1018 + 803 767 766 1018 + 803 766 802 1018 + 1020 768 804 1019 + 804 768 767 1019 + 804 767 803 1019 + 1021 769 805 1020 + 805 769 768 1020 + 805 768 804 1020 + 1022 770 806 1021 + 806 770 769 1021 + 806 769 805 1021 + 1023 771 807 1022 + 807 771 770 1022 + 807 770 806 1022 + 1024 772 808 1023 + 808 772 771 1023 + 808 771 807 1023 + 1025 773 809 1024 + 809 773 772 1024 + 809 772 808 1024 + 1026 774 810 1025 + 810 774 773 1025 + 810 773 809 1025 + 1027 775 811 1026 + 811 775 774 1026 + 811 774 810 1026 + 1028 776 812 1027 + 812 776 775 1027 + 812 775 811 1027 + 1029 777 813 1028 + 813 777 776 1028 + 813 776 812 1028 + 1030 778 814 1029 + 814 778 777 1029 + 814 777 813 1029 + 1031 779 815 1030 + 815 779 778 1030 + 815 778 814 1030 + 1032 780 816 1031 + 816 780 779 1031 + 816 779 815 1031 + 1033 781 817 1032 + 817 781 780 1032 + 817 780 816 1032 + 1034 782 818 1033 + 818 782 781 1033 + 818 781 817 1033 + 1035 783 819 1034 + 819 783 782 1034 + 819 782 818 1034 + 1036 784 820 1035 + 820 784 783 1035 + 820 783 819 1035 + 1037 785 821 1036 + 821 785 784 1036 + 821 784 820 1036 + 1038 786 822 1037 + 822 786 785 1037 + 822 785 821 1037 + 1039 787 823 1038 + 823 787 786 1038 + 823 786 822 1038 + 1040 788 824 1039 + 824 788 787 1039 + 824 787 823 1039 + 1041 789 825 1040 + 825 789 788 1040 + 825 788 824 1040 + 1042 790 826 1041 + 826 790 789 1041 + 826 789 825 1041 + 1043 791 827 1042 + 827 791 790 1042 + 827 790 826 1042 + 1044 792 828 1043 + 828 792 791 1043 + 828 791 827 1043 + 1045 793 829 1044 + 829 793 792 1044 + 829 792 828 1044 + 1046 794 830 1045 + 830 794 793 1045 + 830 793 829 1045 + 1047 795 831 24 + 831 795 17 24 + 831 17 18 24 + 1048 796 832 1047 + 832 796 795 1047 + 832 795 831 1047 + 1049 797 833 1048 + 833 797 796 1048 + 833 796 832 1048 + 1050 798 834 1049 + 834 798 797 1049 + 834 797 833 1049 + 1051 799 835 1050 + 835 799 798 1050 + 835 798 834 1050 + 1052 800 836 1051 + 836 800 799 1051 + 836 799 835 1051 + 1053 801 837 1052 + 837 801 800 1052 + 837 800 836 1052 + 1054 802 838 1053 + 838 802 801 1053 + 838 801 837 1053 + 1055 803 839 1054 + 839 803 802 1054 + 839 802 838 1054 + 1056 804 840 1055 + 840 804 803 1055 + 840 803 839 1055 + 1057 805 841 1056 + 841 805 804 1056 + 841 804 840 1056 + 1058 806 842 1057 + 842 806 805 1057 + 842 805 841 1057 + 1059 807 843 1058 + 843 807 806 1058 + 843 806 842 1058 + 1060 808 844 1059 + 844 808 807 1059 + 844 807 843 1059 + 1061 809 845 1060 + 845 809 808 1060 + 845 808 844 1060 + 1062 810 846 1061 + 846 810 809 1061 + 846 809 845 1061 + 1063 811 847 1062 + 847 811 810 1062 + 847 810 846 1062 + 1064 812 848 1063 + 848 812 811 1063 + 848 811 847 1063 + 1065 813 849 1064 + 849 813 812 1064 + 849 812 848 1064 + 1066 814 850 1065 + 850 814 813 1065 + 850 813 849 1065 + 1067 815 851 1066 + 851 815 814 1066 + 851 814 850 1066 + 1068 816 852 1067 + 852 816 815 1067 + 852 815 851 1067 + 1069 817 853 1068 + 853 817 816 1068 + 853 816 852 1068 + 1070 818 854 1069 + 854 818 817 1069 + 854 817 853 1069 + 1071 819 855 1070 + 855 819 818 1070 + 855 818 854 1070 + 1072 820 856 1071 + 856 820 819 1071 + 856 819 855 1071 + 1073 821 857 1072 + 857 821 820 1072 + 857 820 856 1072 + 1074 822 858 1073 + 858 822 821 1073 + 858 821 857 1073 + 1075 823 859 1074 + 859 823 822 1074 + 859 822 858 1074 + 1076 824 860 1075 + 860 824 823 1075 + 860 823 859 1075 + 1077 825 861 1076 + 861 825 824 1076 + 861 824 860 1076 + 1078 826 862 1077 + 862 826 825 1077 + 862 825 861 1077 + 1079 827 863 1078 + 863 827 826 1078 + 863 826 862 1078 + 1080 828 864 1079 + 864 828 827 1079 + 864 827 863 1079 + 1081 829 865 1080 + 865 829 828 1080 + 865 828 864 1080 + 1082 830 866 1081 + 866 830 829 1081 + 866 829 865 1081 + 1083 831 867 25 + 867 831 18 25 + 867 18 19 25 + 1084 832 868 1083 + 868 832 831 1083 + 868 831 867 1083 + 1085 833 869 1084 + 869 833 832 1084 + 869 832 868 1084 + 1086 834 870 1085 + 870 834 833 1085 + 870 833 869 1085 + 1087 835 871 1086 + 871 835 834 1086 + 871 834 870 1086 + 1088 836 872 1087 + 872 836 835 1087 + 872 835 871 1087 + 1089 837 873 1088 + 873 837 836 1088 + 873 836 872 1088 + 1090 838 874 1089 + 874 838 837 1089 + 874 837 873 1089 + 1091 839 875 1090 + 875 839 838 1090 + 875 838 874 1090 + 1092 840 876 1091 + 876 840 839 1091 + 876 839 875 1091 + 1093 841 877 1092 + 877 841 840 1092 + 877 840 876 1092 + 1094 842 878 1093 + 878 842 841 1093 + 878 841 877 1093 + 1095 843 879 1094 + 879 843 842 1094 + 879 842 878 1094 + 1096 844 880 1095 + 880 844 843 1095 + 880 843 879 1095 + 1097 845 881 1096 + 881 845 844 1096 + 881 844 880 1096 + 1098 846 882 1097 + 882 846 845 1097 + 882 845 881 1097 + 1099 847 883 1098 + 883 847 846 1098 + 883 846 882 1098 + 1100 848 884 1099 + 884 848 847 1099 + 884 847 883 1099 + 1101 849 885 1100 + 885 849 848 1100 + 885 848 884 1100 + 1102 850 886 1101 + 886 850 849 1101 + 886 849 885 1101 + 1103 851 887 1102 + 887 851 850 1102 + 887 850 886 1102 + 1104 852 888 1103 + 888 852 851 1103 + 888 851 887 1103 + 1105 853 889 1104 + 889 853 852 1104 + 889 852 888 1104 + 1106 854 890 1105 + 890 854 853 1105 + 890 853 889 1105 + 1107 855 891 1106 + 891 855 854 1106 + 891 854 890 1106 + 1108 856 892 1107 + 892 856 855 1107 + 892 855 891 1107 + 1109 857 893 1108 + 893 857 856 1108 + 893 856 892 1108 + 1110 858 894 1109 + 894 858 857 1109 + 894 857 893 1109 + 1111 859 895 1110 + 895 859 858 1110 + 895 858 894 1110 + 1112 860 896 1111 + 896 860 859 1111 + 896 859 895 1111 + 1113 861 897 1112 + 897 861 860 1112 + 897 860 896 1112 + 1114 862 898 1113 + 898 862 861 1113 + 898 861 897 1113 + 1115 863 899 1114 + 899 863 862 1114 + 899 862 898 1114 + 1116 864 900 1115 + 900 864 863 1115 + 900 863 899 1115 + 1117 865 901 1116 + 901 865 864 1116 + 901 864 900 1116 + 1118 866 902 1117 + 902 866 865 1117 + 902 865 901 1117 + 1119 867 903 26 + 903 867 19 26 + 903 19 20 26 + 1120 868 904 1119 + 904 868 867 1119 + 904 867 903 1119 + 1121 869 905 1120 + 905 869 868 1120 + 905 868 904 1120 + 1122 870 906 1121 + 906 870 869 1121 + 906 869 905 1121 + 1123 871 907 1122 + 907 871 870 1122 + 907 870 906 1122 + 1124 872 908 1123 + 908 872 871 1123 + 908 871 907 1123 + 1125 873 909 1124 + 909 873 872 1124 + 909 872 908 1124 + 1126 874 910 1125 + 910 874 873 1125 + 910 873 909 1125 + 1127 875 911 1126 + 911 875 874 1126 + 911 874 910 1126 + 1128 876 912 1127 + 912 876 875 1127 + 912 875 911 1127 + 1129 877 913 1128 + 913 877 876 1128 + 913 876 912 1128 + 1130 878 914 1129 + 914 878 877 1129 + 914 877 913 1129 + 1131 879 915 1130 + 915 879 878 1130 + 915 878 914 1130 + 1132 880 916 1131 + 916 880 879 1131 + 916 879 915 1131 + 1133 881 917 1132 + 917 881 880 1132 + 917 880 916 1132 + 1134 882 918 1133 + 918 882 881 1133 + 918 881 917 1133 + 1135 883 919 1134 + 919 883 882 1134 + 919 882 918 1134 + 1136 884 920 1135 + 920 884 883 1135 + 920 883 919 1135 + 1137 885 921 1136 + 921 885 884 1136 + 921 884 920 1136 + 1138 886 922 1137 + 922 886 885 1137 + 922 885 921 1137 + 1139 887 923 1138 + 923 887 886 1138 + 923 886 922 1138 + 1140 888 924 1139 + 924 888 887 1139 + 924 887 923 1139 + 1141 889 925 1140 + 925 889 888 1140 + 925 888 924 1140 + 1142 890 926 1141 + 926 890 889 1141 + 926 889 925 1141 + 1143 891 927 1142 + 927 891 890 1142 + 927 890 926 1142 + 1144 892 928 1143 + 928 892 891 1143 + 928 891 927 1143 + 1145 893 929 1144 + 929 893 892 1144 + 929 892 928 1144 + 1146 894 930 1145 + 930 894 893 1145 + 930 893 929 1145 + 1147 895 931 1146 + 931 895 894 1146 + 931 894 930 1146 + 1148 896 932 1147 + 932 896 895 1147 + 932 895 931 1147 + 1149 897 933 1148 + 933 897 896 1148 + 933 896 932 1148 + 1150 898 934 1149 + 934 898 897 1149 + 934 897 933 1149 + 1151 899 935 1150 + 935 899 898 1150 + 935 898 934 1150 + 1152 900 936 1151 + 936 900 899 1151 + 936 899 935 1151 + 1153 901 937 1152 + 937 901 900 1152 + 937 900 936 1152 + 1154 902 938 1153 + 938 902 901 1153 + 938 901 937 1153 + 1155 903 939 27 + 939 903 20 27 + 939 20 21 27 + 1156 904 940 1155 + 940 904 903 1155 + 940 903 939 1155 + 1157 905 941 1156 + 941 905 904 1156 + 941 904 940 1156 + 1158 906 942 1157 + 942 906 905 1157 + 942 905 941 1157 + 1159 907 943 1158 + 943 907 906 1158 + 943 906 942 1158 + 1160 908 944 1159 + 944 908 907 1159 + 944 907 943 1159 + 1161 909 945 1160 + 945 909 908 1160 + 945 908 944 1160 + 1162 910 946 1161 + 946 910 909 1161 + 946 909 945 1161 + 1163 911 947 1162 + 947 911 910 1162 + 947 910 946 1162 + 1164 912 948 1163 + 948 912 911 1163 + 948 911 947 1163 + 1165 913 949 1164 + 949 913 912 1164 + 949 912 948 1164 + 1166 914 950 1165 + 950 914 913 1165 + 950 913 949 1165 + 1167 915 951 1166 + 951 915 914 1166 + 951 914 950 1166 + 1168 916 952 1167 + 952 916 915 1167 + 952 915 951 1167 + 1169 917 953 1168 + 953 917 916 1168 + 953 916 952 1168 + 1170 918 954 1169 + 954 918 917 1169 + 954 917 953 1169 + 1171 919 955 1170 + 955 919 918 1170 + 955 918 954 1170 + 1172 920 956 1171 + 956 920 919 1171 + 956 919 955 1171 + 1173 921 957 1172 + 957 921 920 1172 + 957 920 956 1172 + 1174 922 958 1173 + 958 922 921 1173 + 958 921 957 1173 + 1175 923 959 1174 + 959 923 922 1174 + 959 922 958 1174 + 1176 924 960 1175 + 960 924 923 1175 + 960 923 959 1175 + 1177 925 961 1176 + 961 925 924 1176 + 961 924 960 1176 + 1178 926 962 1177 + 962 926 925 1177 + 962 925 961 1177 + 1179 927 963 1178 + 963 927 926 1178 + 963 926 962 1178 + 1180 928 964 1179 + 964 928 927 1179 + 964 927 963 1179 + 1181 929 965 1180 + 965 929 928 1180 + 965 928 964 1180 + 1182 930 966 1181 + 966 930 929 1181 + 966 929 965 1181 + 1183 931 967 1182 + 967 931 930 1182 + 967 930 966 1182 + 1184 932 968 1183 + 968 932 931 1183 + 968 931 967 1183 + 1185 933 969 1184 + 969 933 932 1184 + 969 932 968 1184 + 1186 934 970 1185 + 970 934 933 1185 + 970 933 969 1185 + 1187 935 971 1186 + 971 935 934 1186 + 971 934 970 1186 + 1188 936 972 1187 + 972 936 935 1187 + 972 935 971 1187 + 1189 937 973 1188 + 973 937 936 1188 + 973 936 972 1188 + 1190 938 974 1189 + 974 938 937 1189 + 974 937 973 1189 + 1 3 29 219 + 291 1227 3 219 + 1227 29 3 219 + 219 291 1227 220 + 292 1228 291 220 + 1228 1227 291 220 + 220 292 1228 221 + 293 1229 292 221 + 1229 1228 292 221 + 221 293 1229 222 + 294 1230 293 222 + 1230 1229 293 222 + 222 294 1230 223 + 295 1231 294 223 + 1231 1230 294 223 + 223 295 1231 224 + 296 1232 295 224 + 1232 1231 295 224 + 224 296 1232 225 + 297 1233 296 225 + 1233 1232 296 225 + 225 297 1233 226 + 298 1234 297 226 + 1234 1233 297 226 + 226 298 1234 227 + 299 1235 298 227 + 1235 1234 298 227 + 227 299 1235 228 + 300 1236 299 228 + 1236 1235 299 228 + 228 300 1236 229 + 301 1237 300 229 + 1237 1236 300 229 + 229 301 1237 230 + 302 1238 301 230 + 1238 1237 301 230 + 230 302 1238 231 + 303 1239 302 231 + 1239 1238 302 231 + 231 303 1239 232 + 304 1240 303 232 + 1240 1239 303 232 + 232 304 1240 233 + 305 1241 304 233 + 1241 1240 304 233 + 233 305 1241 234 + 306 1242 305 234 + 1242 1241 305 234 + 234 306 1242 235 + 307 1243 306 235 + 1243 1242 306 235 + 235 307 1243 236 + 308 1244 307 236 + 1244 1243 307 236 + 236 308 1244 237 + 309 1245 308 237 + 1245 1244 308 237 + 237 309 1245 238 + 310 1246 309 238 + 1246 1245 309 238 + 238 310 1246 239 + 311 1247 310 239 + 1247 1246 310 239 + 239 311 1247 240 + 312 1248 311 240 + 1248 1247 311 240 + 240 312 1248 241 + 313 1249 312 241 + 1249 1248 312 241 + 241 313 1249 242 + 314 1250 313 242 + 1250 1249 313 242 + 242 314 1250 243 + 315 1251 314 243 + 1251 1250 314 243 + 243 315 1251 244 + 316 1252 315 244 + 1252 1251 315 244 + 244 316 1252 245 + 317 1253 316 245 + 1253 1252 316 245 + 245 317 1253 246 + 318 1254 317 246 + 1254 1253 317 246 + 246 318 1254 247 + 319 1255 318 247 + 1255 1254 318 247 + 247 319 1255 248 + 320 1256 319 248 + 1256 1255 319 248 + 248 320 1256 249 + 321 1257 320 249 + 1257 1256 320 249 + 249 321 1257 250 + 322 1258 321 250 + 1258 1257 321 250 + 250 322 1258 251 + 323 1259 322 251 + 1259 1258 322 251 + 251 323 1259 252 + 324 1260 323 252 + 1260 1259 323 252 + 252 324 1260 253 + 325 1261 324 253 + 1261 1260 324 253 + 253 325 1261 254 + 326 1262 325 254 + 1262 1261 325 254 + 3 6 30 291 + 399 1263 6 291 + 1263 30 6 291 + 291 399 1263 292 + 400 1264 399 292 + 1264 1263 399 292 + 292 400 1264 293 + 401 1265 400 293 + 1265 1264 400 293 + 293 401 1265 294 + 402 1266 401 294 + 1266 1265 401 294 + 294 402 1266 295 + 403 1267 402 295 + 1267 1266 402 295 + 295 403 1267 296 + 404 1268 403 296 + 1268 1267 403 296 + 296 404 1268 297 + 405 1269 404 297 + 1269 1268 404 297 + 297 405 1269 298 + 406 1270 405 298 + 1270 1269 405 298 + 298 406 1270 299 + 407 1271 406 299 + 1271 1270 406 299 + 299 407 1271 300 + 408 1272 407 300 + 1272 1271 407 300 + 300 408 1272 301 + 409 1273 408 301 + 1273 1272 408 301 + 301 409 1273 302 + 410 1274 409 302 + 1274 1273 409 302 + 302 410 1274 303 + 411 1275 410 303 + 1275 1274 410 303 + 303 411 1275 304 + 412 1276 411 304 + 1276 1275 411 304 + 304 412 1276 305 + 413 1277 412 305 + 1277 1276 412 305 + 305 413 1277 306 + 414 1278 413 306 + 1278 1277 413 306 + 306 414 1278 307 + 415 1279 414 307 + 1279 1278 414 307 + 307 415 1279 308 + 416 1280 415 308 + 1280 1279 415 308 + 308 416 1280 309 + 417 1281 416 309 + 1281 1280 416 309 + 309 417 1281 310 + 418 1282 417 310 + 1282 1281 417 310 + 310 418 1282 311 + 419 1283 418 311 + 1283 1282 418 311 + 311 419 1283 312 + 420 1284 419 312 + 1284 1283 419 312 + 312 420 1284 313 + 421 1285 420 313 + 1285 1284 420 313 + 313 421 1285 314 + 422 1286 421 314 + 1286 1285 421 314 + 314 422 1286 315 + 423 1287 422 315 + 1287 1286 422 315 + 315 423 1287 316 + 424 1288 423 316 + 1288 1287 423 316 + 316 424 1288 317 + 425 1289 424 317 + 1289 1288 424 317 + 317 425 1289 318 + 426 1290 425 318 + 1290 1289 425 318 + 318 426 1290 319 + 427 1291 426 319 + 1291 1290 426 319 + 319 427 1291 320 + 428 1292 427 320 + 1292 1291 427 320 + 320 428 1292 321 + 429 1293 428 321 + 1293 1292 428 321 + 321 429 1293 322 + 430 1294 429 322 + 1294 1293 429 322 + 322 430 1294 323 + 431 1295 430 323 + 1295 1294 430 323 + 323 431 1295 324 + 432 1296 431 324 + 1296 1295 431 324 + 324 432 1296 325 + 433 1297 432 325 + 1297 1296 432 325 + 325 433 1297 326 + 434 1298 433 326 + 1298 1297 433 326 + 29 30 31 1227 + 1263 1299 30 1227 + 1299 31 30 1227 + 1227 1263 1299 1228 + 1264 1300 1263 1228 + 1300 1299 1263 1228 + 1228 1264 1300 1229 + 1265 1301 1264 1229 + 1301 1300 1264 1229 + 1229 1265 1301 1230 + 1266 1302 1265 1230 + 1302 1301 1265 1230 + 1230 1266 1302 1231 + 1267 1303 1266 1231 + 1303 1302 1266 1231 + 1231 1267 1303 1232 + 1268 1304 1267 1232 + 1304 1303 1267 1232 + 1232 1268 1304 1233 + 1269 1305 1268 1233 + 1305 1304 1268 1233 + 1233 1269 1305 1234 + 1270 1306 1269 1234 + 1306 1305 1269 1234 + 1234 1270 1306 1235 + 1271 1307 1270 1235 + 1307 1306 1270 1235 + 1235 1271 1307 1236 + 1272 1308 1271 1236 + 1308 1307 1271 1236 + 1236 1272 1308 1237 + 1273 1309 1272 1237 + 1309 1308 1272 1237 + 1237 1273 1309 1238 + 1274 1310 1273 1238 + 1310 1309 1273 1238 + 1238 1274 1310 1239 + 1275 1311 1274 1239 + 1311 1310 1274 1239 + 1239 1275 1311 1240 + 1276 1312 1275 1240 + 1312 1311 1275 1240 + 1240 1276 1312 1241 + 1277 1313 1276 1241 + 1313 1312 1276 1241 + 1241 1277 1313 1242 + 1278 1314 1277 1242 + 1314 1313 1277 1242 + 1242 1278 1314 1243 + 1279 1315 1278 1243 + 1315 1314 1278 1243 + 1243 1279 1315 1244 + 1280 1316 1279 1244 + 1316 1315 1279 1244 + 1244 1280 1316 1245 + 1281 1317 1280 1245 + 1317 1316 1280 1245 + 1245 1281 1317 1246 + 1282 1318 1281 1246 + 1318 1317 1281 1246 + 1246 1282 1318 1247 + 1283 1319 1282 1247 + 1319 1318 1282 1247 + 1247 1283 1319 1248 + 1284 1320 1283 1248 + 1320 1319 1283 1248 + 1248 1284 1320 1249 + 1285 1321 1284 1249 + 1321 1320 1284 1249 + 1249 1285 1321 1250 + 1286 1322 1285 1250 + 1322 1321 1285 1250 + 1250 1286 1322 1251 + 1287 1323 1286 1251 + 1323 1322 1286 1251 + 1251 1287 1323 1252 + 1288 1324 1287 1252 + 1324 1323 1287 1252 + 1252 1288 1324 1253 + 1289 1325 1288 1253 + 1325 1324 1288 1253 + 1253 1289 1325 1254 + 1290 1326 1289 1254 + 1326 1325 1289 1254 + 1254 1290 1326 1255 + 1291 1327 1290 1255 + 1327 1326 1290 1255 + 1255 1291 1327 1256 + 1292 1328 1291 1256 + 1328 1327 1291 1256 + 1256 1292 1328 1257 + 1293 1329 1292 1257 + 1329 1328 1292 1257 + 1257 1293 1329 1258 + 1294 1330 1293 1258 + 1330 1329 1293 1258 + 1258 1294 1330 1259 + 1295 1331 1294 1259 + 1331 1330 1294 1259 + 1259 1295 1331 1260 + 1296 1332 1295 1260 + 1332 1331 1295 1260 + 1260 1296 1332 1261 + 1297 1333 1296 1261 + 1333 1332 1296 1261 + 1261 1297 1333 1262 + 1298 1334 1297 1262 + 1334 1333 1297 1262 + 1263 291 1227 30 + 1227 291 3 30 + 1227 3 29 30 + 1264 292 1228 1263 + 1228 292 291 1263 + 1228 291 1227 1263 + 1265 293 1229 1264 + 1229 293 292 1264 + 1229 292 1228 1264 + 1266 294 1230 1265 + 1230 294 293 1265 + 1230 293 1229 1265 + 1267 295 1231 1266 + 1231 295 294 1266 + 1231 294 1230 1266 + 1268 296 1232 1267 + 1232 296 295 1267 + 1232 295 1231 1267 + 1269 297 1233 1268 + 1233 297 296 1268 + 1233 296 1232 1268 + 1270 298 1234 1269 + 1234 298 297 1269 + 1234 297 1233 1269 + 1271 299 1235 1270 + 1235 299 298 1270 + 1235 298 1234 1270 + 1272 300 1236 1271 + 1236 300 299 1271 + 1236 299 1235 1271 + 1273 301 1237 1272 + 1237 301 300 1272 + 1237 300 1236 1272 + 1274 302 1238 1273 + 1238 302 301 1273 + 1238 301 1237 1273 + 1275 303 1239 1274 + 1239 303 302 1274 + 1239 302 1238 1274 + 1276 304 1240 1275 + 1240 304 303 1275 + 1240 303 1239 1275 + 1277 305 1241 1276 + 1241 305 304 1276 + 1241 304 1240 1276 + 1278 306 1242 1277 + 1242 306 305 1277 + 1242 305 1241 1277 + 1279 307 1243 1278 + 1243 307 306 1278 + 1243 306 1242 1278 + 1280 308 1244 1279 + 1244 308 307 1279 + 1244 307 1243 1279 + 1281 309 1245 1280 + 1245 309 308 1280 + 1245 308 1244 1280 + 1282 310 1246 1281 + 1246 310 309 1281 + 1246 309 1245 1281 + 1283 311 1247 1282 + 1247 311 310 1282 + 1247 310 1246 1282 + 1284 312 1248 1283 + 1248 312 311 1283 + 1248 311 1247 1283 + 1285 313 1249 1284 + 1249 313 312 1284 + 1249 312 1248 1284 + 1286 314 1250 1285 + 1250 314 313 1285 + 1250 313 1249 1285 + 1287 315 1251 1286 + 1251 315 314 1286 + 1251 314 1250 1286 + 1288 316 1252 1287 + 1252 316 315 1287 + 1252 315 1251 1287 + 1289 317 1253 1288 + 1253 317 316 1288 + 1253 316 1252 1288 + 1290 318 1254 1289 + 1254 318 317 1289 + 1254 317 1253 1289 + 1291 319 1255 1290 + 1255 319 318 1290 + 1255 318 1254 1290 + 1292 320 1256 1291 + 1256 320 319 1291 + 1256 319 1255 1291 + 1293 321 1257 1292 + 1257 321 320 1292 + 1257 320 1256 1292 + 1294 322 1258 1293 + 1258 322 321 1293 + 1258 321 1257 1293 + 1295 323 1259 1294 + 1259 323 322 1294 + 1259 322 1258 1294 + 1296 324 1260 1295 + 1260 324 323 1295 + 1260 323 1259 1295 + 1297 325 1261 1296 + 1261 325 324 1296 + 1261 324 1260 1296 + 1298 326 1262 1297 + 1262 326 325 1297 + 1262 325 1261 1297 + 6 10 32 399 + 543 1335 10 399 + 1335 32 10 399 + 399 543 1335 400 + 544 1336 543 400 + 1336 1335 543 400 + 400 544 1336 401 + 545 1337 544 401 + 1337 1336 544 401 + 401 545 1337 402 + 546 1338 545 402 + 1338 1337 545 402 + 402 546 1338 403 + 547 1339 546 403 + 1339 1338 546 403 + 403 547 1339 404 + 548 1340 547 404 + 1340 1339 547 404 + 404 548 1340 405 + 549 1341 548 405 + 1341 1340 548 405 + 405 549 1341 406 + 550 1342 549 406 + 1342 1341 549 406 + 406 550 1342 407 + 551 1343 550 407 + 1343 1342 550 407 + 407 551 1343 408 + 552 1344 551 408 + 1344 1343 551 408 + 408 552 1344 409 + 553 1345 552 409 + 1345 1344 552 409 + 409 553 1345 410 + 554 1346 553 410 + 1346 1345 553 410 + 410 554 1346 411 + 555 1347 554 411 + 1347 1346 554 411 + 411 555 1347 412 + 556 1348 555 412 + 1348 1347 555 412 + 412 556 1348 413 + 557 1349 556 413 + 1349 1348 556 413 + 413 557 1349 414 + 558 1350 557 414 + 1350 1349 557 414 + 414 558 1350 415 + 559 1351 558 415 + 1351 1350 558 415 + 415 559 1351 416 + 560 1352 559 416 + 1352 1351 559 416 + 416 560 1352 417 + 561 1353 560 417 + 1353 1352 560 417 + 417 561 1353 418 + 562 1354 561 418 + 1354 1353 561 418 + 418 562 1354 419 + 563 1355 562 419 + 1355 1354 562 419 + 419 563 1355 420 + 564 1356 563 420 + 1356 1355 563 420 + 420 564 1356 421 + 565 1357 564 421 + 1357 1356 564 421 + 421 565 1357 422 + 566 1358 565 422 + 1358 1357 565 422 + 422 566 1358 423 + 567 1359 566 423 + 1359 1358 566 423 + 423 567 1359 424 + 568 1360 567 424 + 1360 1359 567 424 + 424 568 1360 425 + 569 1361 568 425 + 1361 1360 568 425 + 425 569 1361 426 + 570 1362 569 426 + 1362 1361 569 426 + 426 570 1362 427 + 571 1363 570 427 + 1363 1362 570 427 + 427 571 1363 428 + 572 1364 571 428 + 1364 1363 571 428 + 428 572 1364 429 + 573 1365 572 429 + 1365 1364 572 429 + 429 573 1365 430 + 574 1366 573 430 + 1366 1365 573 430 + 430 574 1366 431 + 575 1367 574 431 + 1367 1366 574 431 + 431 575 1367 432 + 576 1368 575 432 + 1368 1367 575 432 + 432 576 1368 433 + 577 1369 576 433 + 1369 1368 576 433 + 433 577 1369 434 + 578 1370 577 434 + 1370 1369 577 434 + 30 32 33 1263 + 1335 1371 32 1263 + 1371 33 32 1263 + 1263 1335 1371 1264 + 1336 1372 1335 1264 + 1372 1371 1335 1264 + 1264 1336 1372 1265 + 1337 1373 1336 1265 + 1373 1372 1336 1265 + 1265 1337 1373 1266 + 1338 1374 1337 1266 + 1374 1373 1337 1266 + 1266 1338 1374 1267 + 1339 1375 1338 1267 + 1375 1374 1338 1267 + 1267 1339 1375 1268 + 1340 1376 1339 1268 + 1376 1375 1339 1268 + 1268 1340 1376 1269 + 1341 1377 1340 1269 + 1377 1376 1340 1269 + 1269 1341 1377 1270 + 1342 1378 1341 1270 + 1378 1377 1341 1270 + 1270 1342 1378 1271 + 1343 1379 1342 1271 + 1379 1378 1342 1271 + 1271 1343 1379 1272 + 1344 1380 1343 1272 + 1380 1379 1343 1272 + 1272 1344 1380 1273 + 1345 1381 1344 1273 + 1381 1380 1344 1273 + 1273 1345 1381 1274 + 1346 1382 1345 1274 + 1382 1381 1345 1274 + 1274 1346 1382 1275 + 1347 1383 1346 1275 + 1383 1382 1346 1275 + 1275 1347 1383 1276 + 1348 1384 1347 1276 + 1384 1383 1347 1276 + 1276 1348 1384 1277 + 1349 1385 1348 1277 + 1385 1384 1348 1277 + 1277 1349 1385 1278 + 1350 1386 1349 1278 + 1386 1385 1349 1278 + 1278 1350 1386 1279 + 1351 1387 1350 1279 + 1387 1386 1350 1279 + 1279 1351 1387 1280 + 1352 1388 1351 1280 + 1388 1387 1351 1280 + 1280 1352 1388 1281 + 1353 1389 1352 1281 + 1389 1388 1352 1281 + 1281 1353 1389 1282 + 1354 1390 1353 1282 + 1390 1389 1353 1282 + 1282 1354 1390 1283 + 1355 1391 1354 1283 + 1391 1390 1354 1283 + 1283 1355 1391 1284 + 1356 1392 1355 1284 + 1392 1391 1355 1284 + 1284 1356 1392 1285 + 1357 1393 1356 1285 + 1393 1392 1356 1285 + 1285 1357 1393 1286 + 1358 1394 1357 1286 + 1394 1393 1357 1286 + 1286 1358 1394 1287 + 1359 1395 1358 1287 + 1395 1394 1358 1287 + 1287 1359 1395 1288 + 1360 1396 1359 1288 + 1396 1395 1359 1288 + 1288 1360 1396 1289 + 1361 1397 1360 1289 + 1397 1396 1360 1289 + 1289 1361 1397 1290 + 1362 1398 1361 1290 + 1398 1397 1361 1290 + 1290 1362 1398 1291 + 1363 1399 1362 1291 + 1399 1398 1362 1291 + 1291 1363 1399 1292 + 1364 1400 1363 1292 + 1400 1399 1363 1292 + 1292 1364 1400 1293 + 1365 1401 1364 1293 + 1401 1400 1364 1293 + 1293 1365 1401 1294 + 1366 1402 1365 1294 + 1402 1401 1365 1294 + 1294 1366 1402 1295 + 1367 1403 1366 1295 + 1403 1402 1366 1295 + 1295 1367 1403 1296 + 1368 1404 1367 1296 + 1404 1403 1367 1296 + 1296 1368 1404 1297 + 1369 1405 1368 1297 + 1405 1404 1368 1297 + 1297 1369 1405 1298 + 1370 1406 1369 1298 + 1406 1405 1369 1298 + 31 33 34 1299 + 1371 1407 33 1299 + 1407 34 33 1299 + 1299 1371 1407 1300 + 1372 1408 1371 1300 + 1408 1407 1371 1300 + 1300 1372 1408 1301 + 1373 1409 1372 1301 + 1409 1408 1372 1301 + 1301 1373 1409 1302 + 1374 1410 1373 1302 + 1410 1409 1373 1302 + 1302 1374 1410 1303 + 1375 1411 1374 1303 + 1411 1410 1374 1303 + 1303 1375 1411 1304 + 1376 1412 1375 1304 + 1412 1411 1375 1304 + 1304 1376 1412 1305 + 1377 1413 1376 1305 + 1413 1412 1376 1305 + 1305 1377 1413 1306 + 1378 1414 1377 1306 + 1414 1413 1377 1306 + 1306 1378 1414 1307 + 1379 1415 1378 1307 + 1415 1414 1378 1307 + 1307 1379 1415 1308 + 1380 1416 1379 1308 + 1416 1415 1379 1308 + 1308 1380 1416 1309 + 1381 1417 1380 1309 + 1417 1416 1380 1309 + 1309 1381 1417 1310 + 1382 1418 1381 1310 + 1418 1417 1381 1310 + 1310 1382 1418 1311 + 1383 1419 1382 1311 + 1419 1418 1382 1311 + 1311 1383 1419 1312 + 1384 1420 1383 1312 + 1420 1419 1383 1312 + 1312 1384 1420 1313 + 1385 1421 1384 1313 + 1421 1420 1384 1313 + 1313 1385 1421 1314 + 1386 1422 1385 1314 + 1422 1421 1385 1314 + 1314 1386 1422 1315 + 1387 1423 1386 1315 + 1423 1422 1386 1315 + 1315 1387 1423 1316 + 1388 1424 1387 1316 + 1424 1423 1387 1316 + 1316 1388 1424 1317 + 1389 1425 1388 1317 + 1425 1424 1388 1317 + 1317 1389 1425 1318 + 1390 1426 1389 1318 + 1426 1425 1389 1318 + 1318 1390 1426 1319 + 1391 1427 1390 1319 + 1427 1426 1390 1319 + 1319 1391 1427 1320 + 1392 1428 1391 1320 + 1428 1427 1391 1320 + 1320 1392 1428 1321 + 1393 1429 1392 1321 + 1429 1428 1392 1321 + 1321 1393 1429 1322 + 1394 1430 1393 1322 + 1430 1429 1393 1322 + 1322 1394 1430 1323 + 1395 1431 1394 1323 + 1431 1430 1394 1323 + 1323 1395 1431 1324 + 1396 1432 1395 1324 + 1432 1431 1395 1324 + 1324 1396 1432 1325 + 1397 1433 1396 1325 + 1433 1432 1396 1325 + 1325 1397 1433 1326 + 1398 1434 1397 1326 + 1434 1433 1397 1326 + 1326 1398 1434 1327 + 1399 1435 1398 1327 + 1435 1434 1398 1327 + 1327 1399 1435 1328 + 1400 1436 1399 1328 + 1436 1435 1399 1328 + 1328 1400 1436 1329 + 1401 1437 1400 1329 + 1437 1436 1400 1329 + 1329 1401 1437 1330 + 1402 1438 1401 1330 + 1438 1437 1401 1330 + 1330 1402 1438 1331 + 1403 1439 1402 1331 + 1439 1438 1402 1331 + 1331 1403 1439 1332 + 1404 1440 1403 1332 + 1440 1439 1403 1332 + 1332 1404 1440 1333 + 1405 1441 1404 1333 + 1441 1440 1404 1333 + 1333 1405 1441 1334 + 1406 1442 1405 1334 + 1442 1441 1405 1334 + 1335 399 1263 32 + 1263 399 6 32 + 1263 6 30 32 + 1336 400 1264 1335 + 1264 400 399 1335 + 1264 399 1263 1335 + 1337 401 1265 1336 + 1265 401 400 1336 + 1265 400 1264 1336 + 1338 402 1266 1337 + 1266 402 401 1337 + 1266 401 1265 1337 + 1339 403 1267 1338 + 1267 403 402 1338 + 1267 402 1266 1338 + 1340 404 1268 1339 + 1268 404 403 1339 + 1268 403 1267 1339 + 1341 405 1269 1340 + 1269 405 404 1340 + 1269 404 1268 1340 + 1342 406 1270 1341 + 1270 406 405 1341 + 1270 405 1269 1341 + 1343 407 1271 1342 + 1271 407 406 1342 + 1271 406 1270 1342 + 1344 408 1272 1343 + 1272 408 407 1343 + 1272 407 1271 1343 + 1345 409 1273 1344 + 1273 409 408 1344 + 1273 408 1272 1344 + 1346 410 1274 1345 + 1274 410 409 1345 + 1274 409 1273 1345 + 1347 411 1275 1346 + 1275 411 410 1346 + 1275 410 1274 1346 + 1348 412 1276 1347 + 1276 412 411 1347 + 1276 411 1275 1347 + 1349 413 1277 1348 + 1277 413 412 1348 + 1277 412 1276 1348 + 1350 414 1278 1349 + 1278 414 413 1349 + 1278 413 1277 1349 + 1351 415 1279 1350 + 1279 415 414 1350 + 1279 414 1278 1350 + 1352 416 1280 1351 + 1280 416 415 1351 + 1280 415 1279 1351 + 1353 417 1281 1352 + 1281 417 416 1352 + 1281 416 1280 1352 + 1354 418 1282 1353 + 1282 418 417 1353 + 1282 417 1281 1353 + 1355 419 1283 1354 + 1283 419 418 1354 + 1283 418 1282 1354 + 1356 420 1284 1355 + 1284 420 419 1355 + 1284 419 1283 1355 + 1357 421 1285 1356 + 1285 421 420 1356 + 1285 420 1284 1356 + 1358 422 1286 1357 + 1286 422 421 1357 + 1286 421 1285 1357 + 1359 423 1287 1358 + 1287 423 422 1358 + 1287 422 1286 1358 + 1360 424 1288 1359 + 1288 424 423 1359 + 1288 423 1287 1359 + 1361 425 1289 1360 + 1289 425 424 1360 + 1289 424 1288 1360 + 1362 426 1290 1361 + 1290 426 425 1361 + 1290 425 1289 1361 + 1363 427 1291 1362 + 1291 427 426 1362 + 1291 426 1290 1362 + 1364 428 1292 1363 + 1292 428 427 1363 + 1292 427 1291 1363 + 1365 429 1293 1364 + 1293 429 428 1364 + 1293 428 1292 1364 + 1366 430 1294 1365 + 1294 430 429 1365 + 1294 429 1293 1365 + 1367 431 1295 1366 + 1295 431 430 1366 + 1295 430 1294 1366 + 1368 432 1296 1367 + 1296 432 431 1367 + 1296 431 1295 1367 + 1369 433 1297 1368 + 1297 433 432 1368 + 1297 432 1296 1368 + 1370 434 1298 1369 + 1298 434 433 1369 + 1298 433 1297 1369 + 1371 1263 1299 33 + 1299 1263 30 33 + 1299 30 31 33 + 1372 1264 1300 1371 + 1300 1264 1263 1371 + 1300 1263 1299 1371 + 1373 1265 1301 1372 + 1301 1265 1264 1372 + 1301 1264 1300 1372 + 1374 1266 1302 1373 + 1302 1266 1265 1373 + 1302 1265 1301 1373 + 1375 1267 1303 1374 + 1303 1267 1266 1374 + 1303 1266 1302 1374 + 1376 1268 1304 1375 + 1304 1268 1267 1375 + 1304 1267 1303 1375 + 1377 1269 1305 1376 + 1305 1269 1268 1376 + 1305 1268 1304 1376 + 1378 1270 1306 1377 + 1306 1270 1269 1377 + 1306 1269 1305 1377 + 1379 1271 1307 1378 + 1307 1271 1270 1378 + 1307 1270 1306 1378 + 1380 1272 1308 1379 + 1308 1272 1271 1379 + 1308 1271 1307 1379 + 1381 1273 1309 1380 + 1309 1273 1272 1380 + 1309 1272 1308 1380 + 1382 1274 1310 1381 + 1310 1274 1273 1381 + 1310 1273 1309 1381 + 1383 1275 1311 1382 + 1311 1275 1274 1382 + 1311 1274 1310 1382 + 1384 1276 1312 1383 + 1312 1276 1275 1383 + 1312 1275 1311 1383 + 1385 1277 1313 1384 + 1313 1277 1276 1384 + 1313 1276 1312 1384 + 1386 1278 1314 1385 + 1314 1278 1277 1385 + 1314 1277 1313 1385 + 1387 1279 1315 1386 + 1315 1279 1278 1386 + 1315 1278 1314 1386 + 1388 1280 1316 1387 + 1316 1280 1279 1387 + 1316 1279 1315 1387 + 1389 1281 1317 1388 + 1317 1281 1280 1388 + 1317 1280 1316 1388 + 1390 1282 1318 1389 + 1318 1282 1281 1389 + 1318 1281 1317 1389 + 1391 1283 1319 1390 + 1319 1283 1282 1390 + 1319 1282 1318 1390 + 1392 1284 1320 1391 + 1320 1284 1283 1391 + 1320 1283 1319 1391 + 1393 1285 1321 1392 + 1321 1285 1284 1392 + 1321 1284 1320 1392 + 1394 1286 1322 1393 + 1322 1286 1285 1393 + 1322 1285 1321 1393 + 1395 1287 1323 1394 + 1323 1287 1286 1394 + 1323 1286 1322 1394 + 1396 1288 1324 1395 + 1324 1288 1287 1395 + 1324 1287 1323 1395 + 1397 1289 1325 1396 + 1325 1289 1288 1396 + 1325 1288 1324 1396 + 1398 1290 1326 1397 + 1326 1290 1289 1397 + 1326 1289 1325 1397 + 1399 1291 1327 1398 + 1327 1291 1290 1398 + 1327 1290 1326 1398 + 1400 1292 1328 1399 + 1328 1292 1291 1399 + 1328 1291 1327 1399 + 1401 1293 1329 1400 + 1329 1293 1292 1400 + 1329 1292 1328 1400 + 1402 1294 1330 1401 + 1330 1294 1293 1401 + 1330 1293 1329 1401 + 1403 1295 1331 1402 + 1331 1295 1294 1402 + 1331 1294 1330 1402 + 1404 1296 1332 1403 + 1332 1296 1295 1403 + 1332 1295 1331 1403 + 1405 1297 1333 1404 + 1333 1297 1296 1404 + 1333 1296 1332 1404 + 1406 1298 1334 1405 + 1334 1298 1297 1405 + 1334 1297 1333 1405 + 10 15 35 543 + 723 1443 15 543 + 1443 35 15 543 + 543 723 1443 544 + 724 1444 723 544 + 1444 1443 723 544 + 544 724 1444 545 + 725 1445 724 545 + 1445 1444 724 545 + 545 725 1445 546 + 726 1446 725 546 + 1446 1445 725 546 + 546 726 1446 547 + 727 1447 726 547 + 1447 1446 726 547 + 547 727 1447 548 + 728 1448 727 548 + 1448 1447 727 548 + 548 728 1448 549 + 729 1449 728 549 + 1449 1448 728 549 + 549 729 1449 550 + 730 1450 729 550 + 1450 1449 729 550 + 550 730 1450 551 + 731 1451 730 551 + 1451 1450 730 551 + 551 731 1451 552 + 732 1452 731 552 + 1452 1451 731 552 + 552 732 1452 553 + 733 1453 732 553 + 1453 1452 732 553 + 553 733 1453 554 + 734 1454 733 554 + 1454 1453 733 554 + 554 734 1454 555 + 735 1455 734 555 + 1455 1454 734 555 + 555 735 1455 556 + 736 1456 735 556 + 1456 1455 735 556 + 556 736 1456 557 + 737 1457 736 557 + 1457 1456 736 557 + 557 737 1457 558 + 738 1458 737 558 + 1458 1457 737 558 + 558 738 1458 559 + 739 1459 738 559 + 1459 1458 738 559 + 559 739 1459 560 + 740 1460 739 560 + 1460 1459 739 560 + 560 740 1460 561 + 741 1461 740 561 + 1461 1460 740 561 + 561 741 1461 562 + 742 1462 741 562 + 1462 1461 741 562 + 562 742 1462 563 + 743 1463 742 563 + 1463 1462 742 563 + 563 743 1463 564 + 744 1464 743 564 + 1464 1463 743 564 + 564 744 1464 565 + 745 1465 744 565 + 1465 1464 744 565 + 565 745 1465 566 + 746 1466 745 566 + 1466 1465 745 566 + 566 746 1466 567 + 747 1467 746 567 + 1467 1466 746 567 + 567 747 1467 568 + 748 1468 747 568 + 1468 1467 747 568 + 568 748 1468 569 + 749 1469 748 569 + 1469 1468 748 569 + 569 749 1469 570 + 750 1470 749 570 + 1470 1469 749 570 + 570 750 1470 571 + 751 1471 750 571 + 1471 1470 750 571 + 571 751 1471 572 + 752 1472 751 572 + 1472 1471 751 572 + 572 752 1472 573 + 753 1473 752 573 + 1473 1472 752 573 + 573 753 1473 574 + 754 1474 753 574 + 1474 1473 753 574 + 574 754 1474 575 + 755 1475 754 575 + 1475 1474 754 575 + 575 755 1475 576 + 756 1476 755 576 + 1476 1475 755 576 + 576 756 1476 577 + 757 1477 756 577 + 1477 1476 756 577 + 577 757 1477 578 + 758 1478 757 578 + 1478 1477 757 578 + 32 35 36 1335 + 1443 1479 35 1335 + 1479 36 35 1335 + 1335 1443 1479 1336 + 1444 1480 1443 1336 + 1480 1479 1443 1336 + 1336 1444 1480 1337 + 1445 1481 1444 1337 + 1481 1480 1444 1337 + 1337 1445 1481 1338 + 1446 1482 1445 1338 + 1482 1481 1445 1338 + 1338 1446 1482 1339 + 1447 1483 1446 1339 + 1483 1482 1446 1339 + 1339 1447 1483 1340 + 1448 1484 1447 1340 + 1484 1483 1447 1340 + 1340 1448 1484 1341 + 1449 1485 1448 1341 + 1485 1484 1448 1341 + 1341 1449 1485 1342 + 1450 1486 1449 1342 + 1486 1485 1449 1342 + 1342 1450 1486 1343 + 1451 1487 1450 1343 + 1487 1486 1450 1343 + 1343 1451 1487 1344 + 1452 1488 1451 1344 + 1488 1487 1451 1344 + 1344 1452 1488 1345 + 1453 1489 1452 1345 + 1489 1488 1452 1345 + 1345 1453 1489 1346 + 1454 1490 1453 1346 + 1490 1489 1453 1346 + 1346 1454 1490 1347 + 1455 1491 1454 1347 + 1491 1490 1454 1347 + 1347 1455 1491 1348 + 1456 1492 1455 1348 + 1492 1491 1455 1348 + 1348 1456 1492 1349 + 1457 1493 1456 1349 + 1493 1492 1456 1349 + 1349 1457 1493 1350 + 1458 1494 1457 1350 + 1494 1493 1457 1350 + 1350 1458 1494 1351 + 1459 1495 1458 1351 + 1495 1494 1458 1351 + 1351 1459 1495 1352 + 1460 1496 1459 1352 + 1496 1495 1459 1352 + 1352 1460 1496 1353 + 1461 1497 1460 1353 + 1497 1496 1460 1353 + 1353 1461 1497 1354 + 1462 1498 1461 1354 + 1498 1497 1461 1354 + 1354 1462 1498 1355 + 1463 1499 1462 1355 + 1499 1498 1462 1355 + 1355 1463 1499 1356 + 1464 1500 1463 1356 + 1500 1499 1463 1356 + 1356 1464 1500 1357 + 1465 1501 1464 1357 + 1501 1500 1464 1357 + 1357 1465 1501 1358 + 1466 1502 1465 1358 + 1502 1501 1465 1358 + 1358 1466 1502 1359 + 1467 1503 1466 1359 + 1503 1502 1466 1359 + 1359 1467 1503 1360 + 1468 1504 1467 1360 + 1504 1503 1467 1360 + 1360 1468 1504 1361 + 1469 1505 1468 1361 + 1505 1504 1468 1361 + 1361 1469 1505 1362 + 1470 1506 1469 1362 + 1506 1505 1469 1362 + 1362 1470 1506 1363 + 1471 1507 1470 1363 + 1507 1506 1470 1363 + 1363 1471 1507 1364 + 1472 1508 1471 1364 + 1508 1507 1471 1364 + 1364 1472 1508 1365 + 1473 1509 1472 1365 + 1509 1508 1472 1365 + 1365 1473 1509 1366 + 1474 1510 1473 1366 + 1510 1509 1473 1366 + 1366 1474 1510 1367 + 1475 1511 1474 1367 + 1511 1510 1474 1367 + 1367 1475 1511 1368 + 1476 1512 1475 1368 + 1512 1511 1475 1368 + 1368 1476 1512 1369 + 1477 1513 1476 1369 + 1513 1512 1476 1369 + 1369 1477 1513 1370 + 1478 1514 1477 1370 + 1514 1513 1477 1370 + 33 36 37 1371 + 1479 1515 36 1371 + 1515 37 36 1371 + 1371 1479 1515 1372 + 1480 1516 1479 1372 + 1516 1515 1479 1372 + 1372 1480 1516 1373 + 1481 1517 1480 1373 + 1517 1516 1480 1373 + 1373 1481 1517 1374 + 1482 1518 1481 1374 + 1518 1517 1481 1374 + 1374 1482 1518 1375 + 1483 1519 1482 1375 + 1519 1518 1482 1375 + 1375 1483 1519 1376 + 1484 1520 1483 1376 + 1520 1519 1483 1376 + 1376 1484 1520 1377 + 1485 1521 1484 1377 + 1521 1520 1484 1377 + 1377 1485 1521 1378 + 1486 1522 1485 1378 + 1522 1521 1485 1378 + 1378 1486 1522 1379 + 1487 1523 1486 1379 + 1523 1522 1486 1379 + 1379 1487 1523 1380 + 1488 1524 1487 1380 + 1524 1523 1487 1380 + 1380 1488 1524 1381 + 1489 1525 1488 1381 + 1525 1524 1488 1381 + 1381 1489 1525 1382 + 1490 1526 1489 1382 + 1526 1525 1489 1382 + 1382 1490 1526 1383 + 1491 1527 1490 1383 + 1527 1526 1490 1383 + 1383 1491 1527 1384 + 1492 1528 1491 1384 + 1528 1527 1491 1384 + 1384 1492 1528 1385 + 1493 1529 1492 1385 + 1529 1528 1492 1385 + 1385 1493 1529 1386 + 1494 1530 1493 1386 + 1530 1529 1493 1386 + 1386 1494 1530 1387 + 1495 1531 1494 1387 + 1531 1530 1494 1387 + 1387 1495 1531 1388 + 1496 1532 1495 1388 + 1532 1531 1495 1388 + 1388 1496 1532 1389 + 1497 1533 1496 1389 + 1533 1532 1496 1389 + 1389 1497 1533 1390 + 1498 1534 1497 1390 + 1534 1533 1497 1390 + 1390 1498 1534 1391 + 1499 1535 1498 1391 + 1535 1534 1498 1391 + 1391 1499 1535 1392 + 1500 1536 1499 1392 + 1536 1535 1499 1392 + 1392 1500 1536 1393 + 1501 1537 1500 1393 + 1537 1536 1500 1393 + 1393 1501 1537 1394 + 1502 1538 1501 1394 + 1538 1537 1501 1394 + 1394 1502 1538 1395 + 1503 1539 1502 1395 + 1539 1538 1502 1395 + 1395 1503 1539 1396 + 1504 1540 1503 1396 + 1540 1539 1503 1396 + 1396 1504 1540 1397 + 1505 1541 1504 1397 + 1541 1540 1504 1397 + 1397 1505 1541 1398 + 1506 1542 1505 1398 + 1542 1541 1505 1398 + 1398 1506 1542 1399 + 1507 1543 1506 1399 + 1543 1542 1506 1399 + 1399 1507 1543 1400 + 1508 1544 1507 1400 + 1544 1543 1507 1400 + 1400 1508 1544 1401 + 1509 1545 1508 1401 + 1545 1544 1508 1401 + 1401 1509 1545 1402 + 1510 1546 1509 1402 + 1546 1545 1509 1402 + 1402 1510 1546 1403 + 1511 1547 1510 1403 + 1547 1546 1510 1403 + 1403 1511 1547 1404 + 1512 1548 1511 1404 + 1548 1547 1511 1404 + 1404 1512 1548 1405 + 1513 1549 1512 1405 + 1549 1548 1512 1405 + 1405 1513 1549 1406 + 1514 1550 1513 1406 + 1550 1549 1513 1406 + 34 37 38 1407 + 1515 1551 37 1407 + 1551 38 37 1407 + 1407 1515 1551 1408 + 1516 1552 1515 1408 + 1552 1551 1515 1408 + 1408 1516 1552 1409 + 1517 1553 1516 1409 + 1553 1552 1516 1409 + 1409 1517 1553 1410 + 1518 1554 1517 1410 + 1554 1553 1517 1410 + 1410 1518 1554 1411 + 1519 1555 1518 1411 + 1555 1554 1518 1411 + 1411 1519 1555 1412 + 1520 1556 1519 1412 + 1556 1555 1519 1412 + 1412 1520 1556 1413 + 1521 1557 1520 1413 + 1557 1556 1520 1413 + 1413 1521 1557 1414 + 1522 1558 1521 1414 + 1558 1557 1521 1414 + 1414 1522 1558 1415 + 1523 1559 1522 1415 + 1559 1558 1522 1415 + 1415 1523 1559 1416 + 1524 1560 1523 1416 + 1560 1559 1523 1416 + 1416 1524 1560 1417 + 1525 1561 1524 1417 + 1561 1560 1524 1417 + 1417 1525 1561 1418 + 1526 1562 1525 1418 + 1562 1561 1525 1418 + 1418 1526 1562 1419 + 1527 1563 1526 1419 + 1563 1562 1526 1419 + 1419 1527 1563 1420 + 1528 1564 1527 1420 + 1564 1563 1527 1420 + 1420 1528 1564 1421 + 1529 1565 1528 1421 + 1565 1564 1528 1421 + 1421 1529 1565 1422 + 1530 1566 1529 1422 + 1566 1565 1529 1422 + 1422 1530 1566 1423 + 1531 1567 1530 1423 + 1567 1566 1530 1423 + 1423 1531 1567 1424 + 1532 1568 1531 1424 + 1568 1567 1531 1424 + 1424 1532 1568 1425 + 1533 1569 1532 1425 + 1569 1568 1532 1425 + 1425 1533 1569 1426 + 1534 1570 1533 1426 + 1570 1569 1533 1426 + 1426 1534 1570 1427 + 1535 1571 1534 1427 + 1571 1570 1534 1427 + 1427 1535 1571 1428 + 1536 1572 1535 1428 + 1572 1571 1535 1428 + 1428 1536 1572 1429 + 1537 1573 1536 1429 + 1573 1572 1536 1429 + 1429 1537 1573 1430 + 1538 1574 1537 1430 + 1574 1573 1537 1430 + 1430 1538 1574 1431 + 1539 1575 1538 1431 + 1575 1574 1538 1431 + 1431 1539 1575 1432 + 1540 1576 1539 1432 + 1576 1575 1539 1432 + 1432 1540 1576 1433 + 1541 1577 1540 1433 + 1577 1576 1540 1433 + 1433 1541 1577 1434 + 1542 1578 1541 1434 + 1578 1577 1541 1434 + 1434 1542 1578 1435 + 1543 1579 1542 1435 + 1579 1578 1542 1435 + 1435 1543 1579 1436 + 1544 1580 1543 1436 + 1580 1579 1543 1436 + 1436 1544 1580 1437 + 1545 1581 1544 1437 + 1581 1580 1544 1437 + 1437 1545 1581 1438 + 1546 1582 1545 1438 + 1582 1581 1545 1438 + 1438 1546 1582 1439 + 1547 1583 1546 1439 + 1583 1582 1546 1439 + 1439 1547 1583 1440 + 1548 1584 1547 1440 + 1584 1583 1547 1440 + 1440 1548 1584 1441 + 1549 1585 1548 1441 + 1585 1584 1548 1441 + 1441 1549 1585 1442 + 1550 1586 1549 1442 + 1586 1585 1549 1442 + 1443 543 1335 35 + 1335 543 10 35 + 1335 10 32 35 + 1444 544 1336 1443 + 1336 544 543 1443 + 1336 543 1335 1443 + 1445 545 1337 1444 + 1337 545 544 1444 + 1337 544 1336 1444 + 1446 546 1338 1445 + 1338 546 545 1445 + 1338 545 1337 1445 + 1447 547 1339 1446 + 1339 547 546 1446 + 1339 546 1338 1446 + 1448 548 1340 1447 + 1340 548 547 1447 + 1340 547 1339 1447 + 1449 549 1341 1448 + 1341 549 548 1448 + 1341 548 1340 1448 + 1450 550 1342 1449 + 1342 550 549 1449 + 1342 549 1341 1449 + 1451 551 1343 1450 + 1343 551 550 1450 + 1343 550 1342 1450 + 1452 552 1344 1451 + 1344 552 551 1451 + 1344 551 1343 1451 + 1453 553 1345 1452 + 1345 553 552 1452 + 1345 552 1344 1452 + 1454 554 1346 1453 + 1346 554 553 1453 + 1346 553 1345 1453 + 1455 555 1347 1454 + 1347 555 554 1454 + 1347 554 1346 1454 + 1456 556 1348 1455 + 1348 556 555 1455 + 1348 555 1347 1455 + 1457 557 1349 1456 + 1349 557 556 1456 + 1349 556 1348 1456 + 1458 558 1350 1457 + 1350 558 557 1457 + 1350 557 1349 1457 + 1459 559 1351 1458 + 1351 559 558 1458 + 1351 558 1350 1458 + 1460 560 1352 1459 + 1352 560 559 1459 + 1352 559 1351 1459 + 1461 561 1353 1460 + 1353 561 560 1460 + 1353 560 1352 1460 + 1462 562 1354 1461 + 1354 562 561 1461 + 1354 561 1353 1461 + 1463 563 1355 1462 + 1355 563 562 1462 + 1355 562 1354 1462 + 1464 564 1356 1463 + 1356 564 563 1463 + 1356 563 1355 1463 + 1465 565 1357 1464 + 1357 565 564 1464 + 1357 564 1356 1464 + 1466 566 1358 1465 + 1358 566 565 1465 + 1358 565 1357 1465 + 1467 567 1359 1466 + 1359 567 566 1466 + 1359 566 1358 1466 + 1468 568 1360 1467 + 1360 568 567 1467 + 1360 567 1359 1467 + 1469 569 1361 1468 + 1361 569 568 1468 + 1361 568 1360 1468 + 1470 570 1362 1469 + 1362 570 569 1469 + 1362 569 1361 1469 + 1471 571 1363 1470 + 1363 571 570 1470 + 1363 570 1362 1470 + 1472 572 1364 1471 + 1364 572 571 1471 + 1364 571 1363 1471 + 1473 573 1365 1472 + 1365 573 572 1472 + 1365 572 1364 1472 + 1474 574 1366 1473 + 1366 574 573 1473 + 1366 573 1365 1473 + 1475 575 1367 1474 + 1367 575 574 1474 + 1367 574 1366 1474 + 1476 576 1368 1475 + 1368 576 575 1475 + 1368 575 1367 1475 + 1477 577 1369 1476 + 1369 577 576 1476 + 1369 576 1368 1476 + 1478 578 1370 1477 + 1370 578 577 1477 + 1370 577 1369 1477 + 1479 1335 1371 36 + 1371 1335 32 36 + 1371 32 33 36 + 1480 1336 1372 1479 + 1372 1336 1335 1479 + 1372 1335 1371 1479 + 1481 1337 1373 1480 + 1373 1337 1336 1480 + 1373 1336 1372 1480 + 1482 1338 1374 1481 + 1374 1338 1337 1481 + 1374 1337 1373 1481 + 1483 1339 1375 1482 + 1375 1339 1338 1482 + 1375 1338 1374 1482 + 1484 1340 1376 1483 + 1376 1340 1339 1483 + 1376 1339 1375 1483 + 1485 1341 1377 1484 + 1377 1341 1340 1484 + 1377 1340 1376 1484 + 1486 1342 1378 1485 + 1378 1342 1341 1485 + 1378 1341 1377 1485 + 1487 1343 1379 1486 + 1379 1343 1342 1486 + 1379 1342 1378 1486 + 1488 1344 1380 1487 + 1380 1344 1343 1487 + 1380 1343 1379 1487 + 1489 1345 1381 1488 + 1381 1345 1344 1488 + 1381 1344 1380 1488 + 1490 1346 1382 1489 + 1382 1346 1345 1489 + 1382 1345 1381 1489 + 1491 1347 1383 1490 + 1383 1347 1346 1490 + 1383 1346 1382 1490 + 1492 1348 1384 1491 + 1384 1348 1347 1491 + 1384 1347 1383 1491 + 1493 1349 1385 1492 + 1385 1349 1348 1492 + 1385 1348 1384 1492 + 1494 1350 1386 1493 + 1386 1350 1349 1493 + 1386 1349 1385 1493 + 1495 1351 1387 1494 + 1387 1351 1350 1494 + 1387 1350 1386 1494 + 1496 1352 1388 1495 + 1388 1352 1351 1495 + 1388 1351 1387 1495 + 1497 1353 1389 1496 + 1389 1353 1352 1496 + 1389 1352 1388 1496 + 1498 1354 1390 1497 + 1390 1354 1353 1497 + 1390 1353 1389 1497 + 1499 1355 1391 1498 + 1391 1355 1354 1498 + 1391 1354 1390 1498 + 1500 1356 1392 1499 + 1392 1356 1355 1499 + 1392 1355 1391 1499 + 1501 1357 1393 1500 + 1393 1357 1356 1500 + 1393 1356 1392 1500 + 1502 1358 1394 1501 + 1394 1358 1357 1501 + 1394 1357 1393 1501 + 1503 1359 1395 1502 + 1395 1359 1358 1502 + 1395 1358 1394 1502 + 1504 1360 1396 1503 + 1396 1360 1359 1503 + 1396 1359 1395 1503 + 1505 1361 1397 1504 + 1397 1361 1360 1504 + 1397 1360 1396 1504 + 1506 1362 1398 1505 + 1398 1362 1361 1505 + 1398 1361 1397 1505 + 1507 1363 1399 1506 + 1399 1363 1362 1506 + 1399 1362 1398 1506 + 1508 1364 1400 1507 + 1400 1364 1363 1507 + 1400 1363 1399 1507 + 1509 1365 1401 1508 + 1401 1365 1364 1508 + 1401 1364 1400 1508 + 1510 1366 1402 1509 + 1402 1366 1365 1509 + 1402 1365 1401 1509 + 1511 1367 1403 1510 + 1403 1367 1366 1510 + 1403 1366 1402 1510 + 1512 1368 1404 1511 + 1404 1368 1367 1511 + 1404 1367 1403 1511 + 1513 1369 1405 1512 + 1405 1369 1368 1512 + 1405 1368 1404 1512 + 1514 1370 1406 1513 + 1406 1370 1369 1513 + 1406 1369 1405 1513 + 1515 1371 1407 37 + 1407 1371 33 37 + 1407 33 34 37 + 1516 1372 1408 1515 + 1408 1372 1371 1515 + 1408 1371 1407 1515 + 1517 1373 1409 1516 + 1409 1373 1372 1516 + 1409 1372 1408 1516 + 1518 1374 1410 1517 + 1410 1374 1373 1517 + 1410 1373 1409 1517 + 1519 1375 1411 1518 + 1411 1375 1374 1518 + 1411 1374 1410 1518 + 1520 1376 1412 1519 + 1412 1376 1375 1519 + 1412 1375 1411 1519 + 1521 1377 1413 1520 + 1413 1377 1376 1520 + 1413 1376 1412 1520 + 1522 1378 1414 1521 + 1414 1378 1377 1521 + 1414 1377 1413 1521 + 1523 1379 1415 1522 + 1415 1379 1378 1522 + 1415 1378 1414 1522 + 1524 1380 1416 1523 + 1416 1380 1379 1523 + 1416 1379 1415 1523 + 1525 1381 1417 1524 + 1417 1381 1380 1524 + 1417 1380 1416 1524 + 1526 1382 1418 1525 + 1418 1382 1381 1525 + 1418 1381 1417 1525 + 1527 1383 1419 1526 + 1419 1383 1382 1526 + 1419 1382 1418 1526 + 1528 1384 1420 1527 + 1420 1384 1383 1527 + 1420 1383 1419 1527 + 1529 1385 1421 1528 + 1421 1385 1384 1528 + 1421 1384 1420 1528 + 1530 1386 1422 1529 + 1422 1386 1385 1529 + 1422 1385 1421 1529 + 1531 1387 1423 1530 + 1423 1387 1386 1530 + 1423 1386 1422 1530 + 1532 1388 1424 1531 + 1424 1388 1387 1531 + 1424 1387 1423 1531 + 1533 1389 1425 1532 + 1425 1389 1388 1532 + 1425 1388 1424 1532 + 1534 1390 1426 1533 + 1426 1390 1389 1533 + 1426 1389 1425 1533 + 1535 1391 1427 1534 + 1427 1391 1390 1534 + 1427 1390 1426 1534 + 1536 1392 1428 1535 + 1428 1392 1391 1535 + 1428 1391 1427 1535 + 1537 1393 1429 1536 + 1429 1393 1392 1536 + 1429 1392 1428 1536 + 1538 1394 1430 1537 + 1430 1394 1393 1537 + 1430 1393 1429 1537 + 1539 1395 1431 1538 + 1431 1395 1394 1538 + 1431 1394 1430 1538 + 1540 1396 1432 1539 + 1432 1396 1395 1539 + 1432 1395 1431 1539 + 1541 1397 1433 1540 + 1433 1397 1396 1540 + 1433 1396 1432 1540 + 1542 1398 1434 1541 + 1434 1398 1397 1541 + 1434 1397 1433 1541 + 1543 1399 1435 1542 + 1435 1399 1398 1542 + 1435 1398 1434 1542 + 1544 1400 1436 1543 + 1436 1400 1399 1543 + 1436 1399 1435 1543 + 1545 1401 1437 1544 + 1437 1401 1400 1544 + 1437 1400 1436 1544 + 1546 1402 1438 1545 + 1438 1402 1401 1545 + 1438 1401 1437 1545 + 1547 1403 1439 1546 + 1439 1403 1402 1546 + 1439 1402 1438 1546 + 1548 1404 1440 1547 + 1440 1404 1403 1547 + 1440 1403 1439 1547 + 1549 1405 1441 1548 + 1441 1405 1404 1548 + 1441 1404 1440 1548 + 1550 1406 1442 1549 + 1442 1406 1405 1549 + 1442 1405 1441 1549 + 15 21 39 723 + 939 1587 21 723 + 1587 39 21 723 + 723 939 1587 724 + 940 1588 939 724 + 1588 1587 939 724 + 724 940 1588 725 + 941 1589 940 725 + 1589 1588 940 725 + 725 941 1589 726 + 942 1590 941 726 + 1590 1589 941 726 + 726 942 1590 727 + 943 1591 942 727 + 1591 1590 942 727 + 727 943 1591 728 + 944 1592 943 728 + 1592 1591 943 728 + 728 944 1592 729 + 945 1593 944 729 + 1593 1592 944 729 + 729 945 1593 730 + 946 1594 945 730 + 1594 1593 945 730 + 730 946 1594 731 + 947 1595 946 731 + 1595 1594 946 731 + 731 947 1595 732 + 948 1596 947 732 + 1596 1595 947 732 + 732 948 1596 733 + 949 1597 948 733 + 1597 1596 948 733 + 733 949 1597 734 + 950 1598 949 734 + 1598 1597 949 734 + 734 950 1598 735 + 951 1599 950 735 + 1599 1598 950 735 + 735 951 1599 736 + 952 1600 951 736 + 1600 1599 951 736 + 736 952 1600 737 + 953 1601 952 737 + 1601 1600 952 737 + 737 953 1601 738 + 954 1602 953 738 + 1602 1601 953 738 + 738 954 1602 739 + 955 1603 954 739 + 1603 1602 954 739 + 739 955 1603 740 + 956 1604 955 740 + 1604 1603 955 740 + 740 956 1604 741 + 957 1605 956 741 + 1605 1604 956 741 + 741 957 1605 742 + 958 1606 957 742 + 1606 1605 957 742 + 742 958 1606 743 + 959 1607 958 743 + 1607 1606 958 743 + 743 959 1607 744 + 960 1608 959 744 + 1608 1607 959 744 + 744 960 1608 745 + 961 1609 960 745 + 1609 1608 960 745 + 745 961 1609 746 + 962 1610 961 746 + 1610 1609 961 746 + 746 962 1610 747 + 963 1611 962 747 + 1611 1610 962 747 + 747 963 1611 748 + 964 1612 963 748 + 1612 1611 963 748 + 748 964 1612 749 + 965 1613 964 749 + 1613 1612 964 749 + 749 965 1613 750 + 966 1614 965 750 + 1614 1613 965 750 + 750 966 1614 751 + 967 1615 966 751 + 1615 1614 966 751 + 751 967 1615 752 + 968 1616 967 752 + 1616 1615 967 752 + 752 968 1616 753 + 969 1617 968 753 + 1617 1616 968 753 + 753 969 1617 754 + 970 1618 969 754 + 1618 1617 969 754 + 754 970 1618 755 + 971 1619 970 755 + 1619 1618 970 755 + 755 971 1619 756 + 972 1620 971 756 + 1620 1619 971 756 + 756 972 1620 757 + 973 1621 972 757 + 1621 1620 972 757 + 757 973 1621 758 + 974 1622 973 758 + 1622 1621 973 758 + 35 39 40 1443 + 1587 1623 39 1443 + 1623 40 39 1443 + 1443 1587 1623 1444 + 1588 1624 1587 1444 + 1624 1623 1587 1444 + 1444 1588 1624 1445 + 1589 1625 1588 1445 + 1625 1624 1588 1445 + 1445 1589 1625 1446 + 1590 1626 1589 1446 + 1626 1625 1589 1446 + 1446 1590 1626 1447 + 1591 1627 1590 1447 + 1627 1626 1590 1447 + 1447 1591 1627 1448 + 1592 1628 1591 1448 + 1628 1627 1591 1448 + 1448 1592 1628 1449 + 1593 1629 1592 1449 + 1629 1628 1592 1449 + 1449 1593 1629 1450 + 1594 1630 1593 1450 + 1630 1629 1593 1450 + 1450 1594 1630 1451 + 1595 1631 1594 1451 + 1631 1630 1594 1451 + 1451 1595 1631 1452 + 1596 1632 1595 1452 + 1632 1631 1595 1452 + 1452 1596 1632 1453 + 1597 1633 1596 1453 + 1633 1632 1596 1453 + 1453 1597 1633 1454 + 1598 1634 1597 1454 + 1634 1633 1597 1454 + 1454 1598 1634 1455 + 1599 1635 1598 1455 + 1635 1634 1598 1455 + 1455 1599 1635 1456 + 1600 1636 1599 1456 + 1636 1635 1599 1456 + 1456 1600 1636 1457 + 1601 1637 1600 1457 + 1637 1636 1600 1457 + 1457 1601 1637 1458 + 1602 1638 1601 1458 + 1638 1637 1601 1458 + 1458 1602 1638 1459 + 1603 1639 1602 1459 + 1639 1638 1602 1459 + 1459 1603 1639 1460 + 1604 1640 1603 1460 + 1640 1639 1603 1460 + 1460 1604 1640 1461 + 1605 1641 1604 1461 + 1641 1640 1604 1461 + 1461 1605 1641 1462 + 1606 1642 1605 1462 + 1642 1641 1605 1462 + 1462 1606 1642 1463 + 1607 1643 1606 1463 + 1643 1642 1606 1463 + 1463 1607 1643 1464 + 1608 1644 1607 1464 + 1644 1643 1607 1464 + 1464 1608 1644 1465 + 1609 1645 1608 1465 + 1645 1644 1608 1465 + 1465 1609 1645 1466 + 1610 1646 1609 1466 + 1646 1645 1609 1466 + 1466 1610 1646 1467 + 1611 1647 1610 1467 + 1647 1646 1610 1467 + 1467 1611 1647 1468 + 1612 1648 1611 1468 + 1648 1647 1611 1468 + 1468 1612 1648 1469 + 1613 1649 1612 1469 + 1649 1648 1612 1469 + 1469 1613 1649 1470 + 1614 1650 1613 1470 + 1650 1649 1613 1470 + 1470 1614 1650 1471 + 1615 1651 1614 1471 + 1651 1650 1614 1471 + 1471 1615 1651 1472 + 1616 1652 1615 1472 + 1652 1651 1615 1472 + 1472 1616 1652 1473 + 1617 1653 1616 1473 + 1653 1652 1616 1473 + 1473 1617 1653 1474 + 1618 1654 1617 1474 + 1654 1653 1617 1474 + 1474 1618 1654 1475 + 1619 1655 1618 1475 + 1655 1654 1618 1475 + 1475 1619 1655 1476 + 1620 1656 1619 1476 + 1656 1655 1619 1476 + 1476 1620 1656 1477 + 1621 1657 1620 1477 + 1657 1656 1620 1477 + 1477 1621 1657 1478 + 1622 1658 1621 1478 + 1658 1657 1621 1478 + 36 40 41 1479 + 1623 1659 40 1479 + 1659 41 40 1479 + 1479 1623 1659 1480 + 1624 1660 1623 1480 + 1660 1659 1623 1480 + 1480 1624 1660 1481 + 1625 1661 1624 1481 + 1661 1660 1624 1481 + 1481 1625 1661 1482 + 1626 1662 1625 1482 + 1662 1661 1625 1482 + 1482 1626 1662 1483 + 1627 1663 1626 1483 + 1663 1662 1626 1483 + 1483 1627 1663 1484 + 1628 1664 1627 1484 + 1664 1663 1627 1484 + 1484 1628 1664 1485 + 1629 1665 1628 1485 + 1665 1664 1628 1485 + 1485 1629 1665 1486 + 1630 1666 1629 1486 + 1666 1665 1629 1486 + 1486 1630 1666 1487 + 1631 1667 1630 1487 + 1667 1666 1630 1487 + 1487 1631 1667 1488 + 1632 1668 1631 1488 + 1668 1667 1631 1488 + 1488 1632 1668 1489 + 1633 1669 1632 1489 + 1669 1668 1632 1489 + 1489 1633 1669 1490 + 1634 1670 1633 1490 + 1670 1669 1633 1490 + 1490 1634 1670 1491 + 1635 1671 1634 1491 + 1671 1670 1634 1491 + 1491 1635 1671 1492 + 1636 1672 1635 1492 + 1672 1671 1635 1492 + 1492 1636 1672 1493 + 1637 1673 1636 1493 + 1673 1672 1636 1493 + 1493 1637 1673 1494 + 1638 1674 1637 1494 + 1674 1673 1637 1494 + 1494 1638 1674 1495 + 1639 1675 1638 1495 + 1675 1674 1638 1495 + 1495 1639 1675 1496 + 1640 1676 1639 1496 + 1676 1675 1639 1496 + 1496 1640 1676 1497 + 1641 1677 1640 1497 + 1677 1676 1640 1497 + 1497 1641 1677 1498 + 1642 1678 1641 1498 + 1678 1677 1641 1498 + 1498 1642 1678 1499 + 1643 1679 1642 1499 + 1679 1678 1642 1499 + 1499 1643 1679 1500 + 1644 1680 1643 1500 + 1680 1679 1643 1500 + 1500 1644 1680 1501 + 1645 1681 1644 1501 + 1681 1680 1644 1501 + 1501 1645 1681 1502 + 1646 1682 1645 1502 + 1682 1681 1645 1502 + 1502 1646 1682 1503 + 1647 1683 1646 1503 + 1683 1682 1646 1503 + 1503 1647 1683 1504 + 1648 1684 1647 1504 + 1684 1683 1647 1504 + 1504 1648 1684 1505 + 1649 1685 1648 1505 + 1685 1684 1648 1505 + 1505 1649 1685 1506 + 1650 1686 1649 1506 + 1686 1685 1649 1506 + 1506 1650 1686 1507 + 1651 1687 1650 1507 + 1687 1686 1650 1507 + 1507 1651 1687 1508 + 1652 1688 1651 1508 + 1688 1687 1651 1508 + 1508 1652 1688 1509 + 1653 1689 1652 1509 + 1689 1688 1652 1509 + 1509 1653 1689 1510 + 1654 1690 1653 1510 + 1690 1689 1653 1510 + 1510 1654 1690 1511 + 1655 1691 1654 1511 + 1691 1690 1654 1511 + 1511 1655 1691 1512 + 1656 1692 1655 1512 + 1692 1691 1655 1512 + 1512 1656 1692 1513 + 1657 1693 1656 1513 + 1693 1692 1656 1513 + 1513 1657 1693 1514 + 1658 1694 1657 1514 + 1694 1693 1657 1514 + 37 41 42 1515 + 1659 1695 41 1515 + 1695 42 41 1515 + 1515 1659 1695 1516 + 1660 1696 1659 1516 + 1696 1695 1659 1516 + 1516 1660 1696 1517 + 1661 1697 1660 1517 + 1697 1696 1660 1517 + 1517 1661 1697 1518 + 1662 1698 1661 1518 + 1698 1697 1661 1518 + 1518 1662 1698 1519 + 1663 1699 1662 1519 + 1699 1698 1662 1519 + 1519 1663 1699 1520 + 1664 1700 1663 1520 + 1700 1699 1663 1520 + 1520 1664 1700 1521 + 1665 1701 1664 1521 + 1701 1700 1664 1521 + 1521 1665 1701 1522 + 1666 1702 1665 1522 + 1702 1701 1665 1522 + 1522 1666 1702 1523 + 1667 1703 1666 1523 + 1703 1702 1666 1523 + 1523 1667 1703 1524 + 1668 1704 1667 1524 + 1704 1703 1667 1524 + 1524 1668 1704 1525 + 1669 1705 1668 1525 + 1705 1704 1668 1525 + 1525 1669 1705 1526 + 1670 1706 1669 1526 + 1706 1705 1669 1526 + 1526 1670 1706 1527 + 1671 1707 1670 1527 + 1707 1706 1670 1527 + 1527 1671 1707 1528 + 1672 1708 1671 1528 + 1708 1707 1671 1528 + 1528 1672 1708 1529 + 1673 1709 1672 1529 + 1709 1708 1672 1529 + 1529 1673 1709 1530 + 1674 1710 1673 1530 + 1710 1709 1673 1530 + 1530 1674 1710 1531 + 1675 1711 1674 1531 + 1711 1710 1674 1531 + 1531 1675 1711 1532 + 1676 1712 1675 1532 + 1712 1711 1675 1532 + 1532 1676 1712 1533 + 1677 1713 1676 1533 + 1713 1712 1676 1533 + 1533 1677 1713 1534 + 1678 1714 1677 1534 + 1714 1713 1677 1534 + 1534 1678 1714 1535 + 1679 1715 1678 1535 + 1715 1714 1678 1535 + 1535 1679 1715 1536 + 1680 1716 1679 1536 + 1716 1715 1679 1536 + 1536 1680 1716 1537 + 1681 1717 1680 1537 + 1717 1716 1680 1537 + 1537 1681 1717 1538 + 1682 1718 1681 1538 + 1718 1717 1681 1538 + 1538 1682 1718 1539 + 1683 1719 1682 1539 + 1719 1718 1682 1539 + 1539 1683 1719 1540 + 1684 1720 1683 1540 + 1720 1719 1683 1540 + 1540 1684 1720 1541 + 1685 1721 1684 1541 + 1721 1720 1684 1541 + 1541 1685 1721 1542 + 1686 1722 1685 1542 + 1722 1721 1685 1542 + 1542 1686 1722 1543 + 1687 1723 1686 1543 + 1723 1722 1686 1543 + 1543 1687 1723 1544 + 1688 1724 1687 1544 + 1724 1723 1687 1544 + 1544 1688 1724 1545 + 1689 1725 1688 1545 + 1725 1724 1688 1545 + 1545 1689 1725 1546 + 1690 1726 1689 1546 + 1726 1725 1689 1546 + 1546 1690 1726 1547 + 1691 1727 1690 1547 + 1727 1726 1690 1547 + 1547 1691 1727 1548 + 1692 1728 1691 1548 + 1728 1727 1691 1548 + 1548 1692 1728 1549 + 1693 1729 1692 1549 + 1729 1728 1692 1549 + 1549 1693 1729 1550 + 1694 1730 1693 1550 + 1730 1729 1693 1550 + 38 42 43 1551 + 1695 1731 42 1551 + 1731 43 42 1551 + 1551 1695 1731 1552 + 1696 1732 1695 1552 + 1732 1731 1695 1552 + 1552 1696 1732 1553 + 1697 1733 1696 1553 + 1733 1732 1696 1553 + 1553 1697 1733 1554 + 1698 1734 1697 1554 + 1734 1733 1697 1554 + 1554 1698 1734 1555 + 1699 1735 1698 1555 + 1735 1734 1698 1555 + 1555 1699 1735 1556 + 1700 1736 1699 1556 + 1736 1735 1699 1556 + 1556 1700 1736 1557 + 1701 1737 1700 1557 + 1737 1736 1700 1557 + 1557 1701 1737 1558 + 1702 1738 1701 1558 + 1738 1737 1701 1558 + 1558 1702 1738 1559 + 1703 1739 1702 1559 + 1739 1738 1702 1559 + 1559 1703 1739 1560 + 1704 1740 1703 1560 + 1740 1739 1703 1560 + 1560 1704 1740 1561 + 1705 1741 1704 1561 + 1741 1740 1704 1561 + 1561 1705 1741 1562 + 1706 1742 1705 1562 + 1742 1741 1705 1562 + 1562 1706 1742 1563 + 1707 1743 1706 1563 + 1743 1742 1706 1563 + 1563 1707 1743 1564 + 1708 1744 1707 1564 + 1744 1743 1707 1564 + 1564 1708 1744 1565 + 1709 1745 1708 1565 + 1745 1744 1708 1565 + 1565 1709 1745 1566 + 1710 1746 1709 1566 + 1746 1745 1709 1566 + 1566 1710 1746 1567 + 1711 1747 1710 1567 + 1747 1746 1710 1567 + 1567 1711 1747 1568 + 1712 1748 1711 1568 + 1748 1747 1711 1568 + 1568 1712 1748 1569 + 1713 1749 1712 1569 + 1749 1748 1712 1569 + 1569 1713 1749 1570 + 1714 1750 1713 1570 + 1750 1749 1713 1570 + 1570 1714 1750 1571 + 1715 1751 1714 1571 + 1751 1750 1714 1571 + 1571 1715 1751 1572 + 1716 1752 1715 1572 + 1752 1751 1715 1572 + 1572 1716 1752 1573 + 1717 1753 1716 1573 + 1753 1752 1716 1573 + 1573 1717 1753 1574 + 1718 1754 1717 1574 + 1754 1753 1717 1574 + 1574 1718 1754 1575 + 1719 1755 1718 1575 + 1755 1754 1718 1575 + 1575 1719 1755 1576 + 1720 1756 1719 1576 + 1756 1755 1719 1576 + 1576 1720 1756 1577 + 1721 1757 1720 1577 + 1757 1756 1720 1577 + 1577 1721 1757 1578 + 1722 1758 1721 1578 + 1758 1757 1721 1578 + 1578 1722 1758 1579 + 1723 1759 1722 1579 + 1759 1758 1722 1579 + 1579 1723 1759 1580 + 1724 1760 1723 1580 + 1760 1759 1723 1580 + 1580 1724 1760 1581 + 1725 1761 1724 1581 + 1761 1760 1724 1581 + 1581 1725 1761 1582 + 1726 1762 1725 1582 + 1762 1761 1725 1582 + 1582 1726 1762 1583 + 1727 1763 1726 1583 + 1763 1762 1726 1583 + 1583 1727 1763 1584 + 1728 1764 1727 1584 + 1764 1763 1727 1584 + 1584 1728 1764 1585 + 1729 1765 1728 1585 + 1765 1764 1728 1585 + 1585 1729 1765 1586 + 1730 1766 1729 1586 + 1766 1765 1729 1586 + 1587 723 1443 39 + 1443 723 15 39 + 1443 15 35 39 + 1588 724 1444 1587 + 1444 724 723 1587 + 1444 723 1443 1587 + 1589 725 1445 1588 + 1445 725 724 1588 + 1445 724 1444 1588 + 1590 726 1446 1589 + 1446 726 725 1589 + 1446 725 1445 1589 + 1591 727 1447 1590 + 1447 727 726 1590 + 1447 726 1446 1590 + 1592 728 1448 1591 + 1448 728 727 1591 + 1448 727 1447 1591 + 1593 729 1449 1592 + 1449 729 728 1592 + 1449 728 1448 1592 + 1594 730 1450 1593 + 1450 730 729 1593 + 1450 729 1449 1593 + 1595 731 1451 1594 + 1451 731 730 1594 + 1451 730 1450 1594 + 1596 732 1452 1595 + 1452 732 731 1595 + 1452 731 1451 1595 + 1597 733 1453 1596 + 1453 733 732 1596 + 1453 732 1452 1596 + 1598 734 1454 1597 + 1454 734 733 1597 + 1454 733 1453 1597 + 1599 735 1455 1598 + 1455 735 734 1598 + 1455 734 1454 1598 + 1600 736 1456 1599 + 1456 736 735 1599 + 1456 735 1455 1599 + 1601 737 1457 1600 + 1457 737 736 1600 + 1457 736 1456 1600 + 1602 738 1458 1601 + 1458 738 737 1601 + 1458 737 1457 1601 + 1603 739 1459 1602 + 1459 739 738 1602 + 1459 738 1458 1602 + 1604 740 1460 1603 + 1460 740 739 1603 + 1460 739 1459 1603 + 1605 741 1461 1604 + 1461 741 740 1604 + 1461 740 1460 1604 + 1606 742 1462 1605 + 1462 742 741 1605 + 1462 741 1461 1605 + 1607 743 1463 1606 + 1463 743 742 1606 + 1463 742 1462 1606 + 1608 744 1464 1607 + 1464 744 743 1607 + 1464 743 1463 1607 + 1609 745 1465 1608 + 1465 745 744 1608 + 1465 744 1464 1608 + 1610 746 1466 1609 + 1466 746 745 1609 + 1466 745 1465 1609 + 1611 747 1467 1610 + 1467 747 746 1610 + 1467 746 1466 1610 + 1612 748 1468 1611 + 1468 748 747 1611 + 1468 747 1467 1611 + 1613 749 1469 1612 + 1469 749 748 1612 + 1469 748 1468 1612 + 1614 750 1470 1613 + 1470 750 749 1613 + 1470 749 1469 1613 + 1615 751 1471 1614 + 1471 751 750 1614 + 1471 750 1470 1614 + 1616 752 1472 1615 + 1472 752 751 1615 + 1472 751 1471 1615 + 1617 753 1473 1616 + 1473 753 752 1616 + 1473 752 1472 1616 + 1618 754 1474 1617 + 1474 754 753 1617 + 1474 753 1473 1617 + 1619 755 1475 1618 + 1475 755 754 1618 + 1475 754 1474 1618 + 1620 756 1476 1619 + 1476 756 755 1619 + 1476 755 1475 1619 + 1621 757 1477 1620 + 1477 757 756 1620 + 1477 756 1476 1620 + 1622 758 1478 1621 + 1478 758 757 1621 + 1478 757 1477 1621 + 1623 1443 1479 40 + 1479 1443 35 40 + 1479 35 36 40 + 1624 1444 1480 1623 + 1480 1444 1443 1623 + 1480 1443 1479 1623 + 1625 1445 1481 1624 + 1481 1445 1444 1624 + 1481 1444 1480 1624 + 1626 1446 1482 1625 + 1482 1446 1445 1625 + 1482 1445 1481 1625 + 1627 1447 1483 1626 + 1483 1447 1446 1626 + 1483 1446 1482 1626 + 1628 1448 1484 1627 + 1484 1448 1447 1627 + 1484 1447 1483 1627 + 1629 1449 1485 1628 + 1485 1449 1448 1628 + 1485 1448 1484 1628 + 1630 1450 1486 1629 + 1486 1450 1449 1629 + 1486 1449 1485 1629 + 1631 1451 1487 1630 + 1487 1451 1450 1630 + 1487 1450 1486 1630 + 1632 1452 1488 1631 + 1488 1452 1451 1631 + 1488 1451 1487 1631 + 1633 1453 1489 1632 + 1489 1453 1452 1632 + 1489 1452 1488 1632 + 1634 1454 1490 1633 + 1490 1454 1453 1633 + 1490 1453 1489 1633 + 1635 1455 1491 1634 + 1491 1455 1454 1634 + 1491 1454 1490 1634 + 1636 1456 1492 1635 + 1492 1456 1455 1635 + 1492 1455 1491 1635 + 1637 1457 1493 1636 + 1493 1457 1456 1636 + 1493 1456 1492 1636 + 1638 1458 1494 1637 + 1494 1458 1457 1637 + 1494 1457 1493 1637 + 1639 1459 1495 1638 + 1495 1459 1458 1638 + 1495 1458 1494 1638 + 1640 1460 1496 1639 + 1496 1460 1459 1639 + 1496 1459 1495 1639 + 1641 1461 1497 1640 + 1497 1461 1460 1640 + 1497 1460 1496 1640 + 1642 1462 1498 1641 + 1498 1462 1461 1641 + 1498 1461 1497 1641 + 1643 1463 1499 1642 + 1499 1463 1462 1642 + 1499 1462 1498 1642 + 1644 1464 1500 1643 + 1500 1464 1463 1643 + 1500 1463 1499 1643 + 1645 1465 1501 1644 + 1501 1465 1464 1644 + 1501 1464 1500 1644 + 1646 1466 1502 1645 + 1502 1466 1465 1645 + 1502 1465 1501 1645 + 1647 1467 1503 1646 + 1503 1467 1466 1646 + 1503 1466 1502 1646 + 1648 1468 1504 1647 + 1504 1468 1467 1647 + 1504 1467 1503 1647 + 1649 1469 1505 1648 + 1505 1469 1468 1648 + 1505 1468 1504 1648 + 1650 1470 1506 1649 + 1506 1470 1469 1649 + 1506 1469 1505 1649 + 1651 1471 1507 1650 + 1507 1471 1470 1650 + 1507 1470 1506 1650 + 1652 1472 1508 1651 + 1508 1472 1471 1651 + 1508 1471 1507 1651 + 1653 1473 1509 1652 + 1509 1473 1472 1652 + 1509 1472 1508 1652 + 1654 1474 1510 1653 + 1510 1474 1473 1653 + 1510 1473 1509 1653 + 1655 1475 1511 1654 + 1511 1475 1474 1654 + 1511 1474 1510 1654 + 1656 1476 1512 1655 + 1512 1476 1475 1655 + 1512 1475 1511 1655 + 1657 1477 1513 1656 + 1513 1477 1476 1656 + 1513 1476 1512 1656 + 1658 1478 1514 1657 + 1514 1478 1477 1657 + 1514 1477 1513 1657 + 1659 1479 1515 41 + 1515 1479 36 41 + 1515 36 37 41 + 1660 1480 1516 1659 + 1516 1480 1479 1659 + 1516 1479 1515 1659 + 1661 1481 1517 1660 + 1517 1481 1480 1660 + 1517 1480 1516 1660 + 1662 1482 1518 1661 + 1518 1482 1481 1661 + 1518 1481 1517 1661 + 1663 1483 1519 1662 + 1519 1483 1482 1662 + 1519 1482 1518 1662 + 1664 1484 1520 1663 + 1520 1484 1483 1663 + 1520 1483 1519 1663 + 1665 1485 1521 1664 + 1521 1485 1484 1664 + 1521 1484 1520 1664 + 1666 1486 1522 1665 + 1522 1486 1485 1665 + 1522 1485 1521 1665 + 1667 1487 1523 1666 + 1523 1487 1486 1666 + 1523 1486 1522 1666 + 1668 1488 1524 1667 + 1524 1488 1487 1667 + 1524 1487 1523 1667 + 1669 1489 1525 1668 + 1525 1489 1488 1668 + 1525 1488 1524 1668 + 1670 1490 1526 1669 + 1526 1490 1489 1669 + 1526 1489 1525 1669 + 1671 1491 1527 1670 + 1527 1491 1490 1670 + 1527 1490 1526 1670 + 1672 1492 1528 1671 + 1528 1492 1491 1671 + 1528 1491 1527 1671 + 1673 1493 1529 1672 + 1529 1493 1492 1672 + 1529 1492 1528 1672 + 1674 1494 1530 1673 + 1530 1494 1493 1673 + 1530 1493 1529 1673 + 1675 1495 1531 1674 + 1531 1495 1494 1674 + 1531 1494 1530 1674 + 1676 1496 1532 1675 + 1532 1496 1495 1675 + 1532 1495 1531 1675 + 1677 1497 1533 1676 + 1533 1497 1496 1676 + 1533 1496 1532 1676 + 1678 1498 1534 1677 + 1534 1498 1497 1677 + 1534 1497 1533 1677 + 1679 1499 1535 1678 + 1535 1499 1498 1678 + 1535 1498 1534 1678 + 1680 1500 1536 1679 + 1536 1500 1499 1679 + 1536 1499 1535 1679 + 1681 1501 1537 1680 + 1537 1501 1500 1680 + 1537 1500 1536 1680 + 1682 1502 1538 1681 + 1538 1502 1501 1681 + 1538 1501 1537 1681 + 1683 1503 1539 1682 + 1539 1503 1502 1682 + 1539 1502 1538 1682 + 1684 1504 1540 1683 + 1540 1504 1503 1683 + 1540 1503 1539 1683 + 1685 1505 1541 1684 + 1541 1505 1504 1684 + 1541 1504 1540 1684 + 1686 1506 1542 1685 + 1542 1506 1505 1685 + 1542 1505 1541 1685 + 1687 1507 1543 1686 + 1543 1507 1506 1686 + 1543 1506 1542 1686 + 1688 1508 1544 1687 + 1544 1508 1507 1687 + 1544 1507 1543 1687 + 1689 1509 1545 1688 + 1545 1509 1508 1688 + 1545 1508 1544 1688 + 1690 1510 1546 1689 + 1546 1510 1509 1689 + 1546 1509 1545 1689 + 1691 1511 1547 1690 + 1547 1511 1510 1690 + 1547 1510 1546 1690 + 1692 1512 1548 1691 + 1548 1512 1511 1691 + 1548 1511 1547 1691 + 1693 1513 1549 1692 + 1549 1513 1512 1692 + 1549 1512 1548 1692 + 1694 1514 1550 1693 + 1550 1514 1513 1693 + 1550 1513 1549 1693 + 1695 1515 1551 42 + 1551 1515 37 42 + 1551 37 38 42 + 1696 1516 1552 1695 + 1552 1516 1515 1695 + 1552 1515 1551 1695 + 1697 1517 1553 1696 + 1553 1517 1516 1696 + 1553 1516 1552 1696 + 1698 1518 1554 1697 + 1554 1518 1517 1697 + 1554 1517 1553 1697 + 1699 1519 1555 1698 + 1555 1519 1518 1698 + 1555 1518 1554 1698 + 1700 1520 1556 1699 + 1556 1520 1519 1699 + 1556 1519 1555 1699 + 1701 1521 1557 1700 + 1557 1521 1520 1700 + 1557 1520 1556 1700 + 1702 1522 1558 1701 + 1558 1522 1521 1701 + 1558 1521 1557 1701 + 1703 1523 1559 1702 + 1559 1523 1522 1702 + 1559 1522 1558 1702 + 1704 1524 1560 1703 + 1560 1524 1523 1703 + 1560 1523 1559 1703 + 1705 1525 1561 1704 + 1561 1525 1524 1704 + 1561 1524 1560 1704 + 1706 1526 1562 1705 + 1562 1526 1525 1705 + 1562 1525 1561 1705 + 1707 1527 1563 1706 + 1563 1527 1526 1706 + 1563 1526 1562 1706 + 1708 1528 1564 1707 + 1564 1528 1527 1707 + 1564 1527 1563 1707 + 1709 1529 1565 1708 + 1565 1529 1528 1708 + 1565 1528 1564 1708 + 1710 1530 1566 1709 + 1566 1530 1529 1709 + 1566 1529 1565 1709 + 1711 1531 1567 1710 + 1567 1531 1530 1710 + 1567 1530 1566 1710 + 1712 1532 1568 1711 + 1568 1532 1531 1711 + 1568 1531 1567 1711 + 1713 1533 1569 1712 + 1569 1533 1532 1712 + 1569 1532 1568 1712 + 1714 1534 1570 1713 + 1570 1534 1533 1713 + 1570 1533 1569 1713 + 1715 1535 1571 1714 + 1571 1535 1534 1714 + 1571 1534 1570 1714 + 1716 1536 1572 1715 + 1572 1536 1535 1715 + 1572 1535 1571 1715 + 1717 1537 1573 1716 + 1573 1537 1536 1716 + 1573 1536 1572 1716 + 1718 1538 1574 1717 + 1574 1538 1537 1717 + 1574 1537 1573 1717 + 1719 1539 1575 1718 + 1575 1539 1538 1718 + 1575 1538 1574 1718 + 1720 1540 1576 1719 + 1576 1540 1539 1719 + 1576 1539 1575 1719 + 1721 1541 1577 1720 + 1577 1541 1540 1720 + 1577 1540 1576 1720 + 1722 1542 1578 1721 + 1578 1542 1541 1721 + 1578 1541 1577 1721 + 1723 1543 1579 1722 + 1579 1543 1542 1722 + 1579 1542 1578 1722 + 1724 1544 1580 1723 + 1580 1544 1543 1723 + 1580 1543 1579 1723 + 1725 1545 1581 1724 + 1581 1545 1544 1724 + 1581 1544 1580 1724 + 1726 1546 1582 1725 + 1582 1546 1545 1725 + 1582 1545 1581 1725 + 1727 1547 1583 1726 + 1583 1547 1546 1726 + 1583 1546 1582 1726 + 1728 1548 1584 1727 + 1584 1548 1547 1727 + 1584 1547 1583 1727 + 1729 1549 1585 1728 + 1585 1549 1548 1728 + 1585 1548 1584 1728 + 1730 1550 1586 1729 + 1586 1550 1549 1729 + 1586 1549 1585 1729 + 21 28 44 939 + 1191 1767 28 939 + 1767 44 28 939 + 939 1191 1767 940 + 1192 1768 1191 940 + 1768 1767 1191 940 + 940 1192 1768 941 + 1193 1769 1192 941 + 1769 1768 1192 941 + 941 1193 1769 942 + 1194 1770 1193 942 + 1770 1769 1193 942 + 942 1194 1770 943 + 1195 1771 1194 943 + 1771 1770 1194 943 + 943 1195 1771 944 + 1196 1772 1195 944 + 1772 1771 1195 944 + 944 1196 1772 945 + 1197 1773 1196 945 + 1773 1772 1196 945 + 945 1197 1773 946 + 1198 1774 1197 946 + 1774 1773 1197 946 + 946 1198 1774 947 + 1199 1775 1198 947 + 1775 1774 1198 947 + 947 1199 1775 948 + 1200 1776 1199 948 + 1776 1775 1199 948 + 948 1200 1776 949 + 1201 1777 1200 949 + 1777 1776 1200 949 + 949 1201 1777 950 + 1202 1778 1201 950 + 1778 1777 1201 950 + 950 1202 1778 951 + 1203 1779 1202 951 + 1779 1778 1202 951 + 951 1203 1779 952 + 1204 1780 1203 952 + 1780 1779 1203 952 + 952 1204 1780 953 + 1205 1781 1204 953 + 1781 1780 1204 953 + 953 1205 1781 954 + 1206 1782 1205 954 + 1782 1781 1205 954 + 954 1206 1782 955 + 1207 1783 1206 955 + 1783 1782 1206 955 + 955 1207 1783 956 + 1208 1784 1207 956 + 1784 1783 1207 956 + 956 1208 1784 957 + 1209 1785 1208 957 + 1785 1784 1208 957 + 957 1209 1785 958 + 1210 1786 1209 958 + 1786 1785 1209 958 + 958 1210 1786 959 + 1211 1787 1210 959 + 1787 1786 1210 959 + 959 1211 1787 960 + 1212 1788 1211 960 + 1788 1787 1211 960 + 960 1212 1788 961 + 1213 1789 1212 961 + 1789 1788 1212 961 + 961 1213 1789 962 + 1214 1790 1213 962 + 1790 1789 1213 962 + 962 1214 1790 963 + 1215 1791 1214 963 + 1791 1790 1214 963 + 963 1215 1791 964 + 1216 1792 1215 964 + 1792 1791 1215 964 + 964 1216 1792 965 + 1217 1793 1216 965 + 1793 1792 1216 965 + 965 1217 1793 966 + 1218 1794 1217 966 + 1794 1793 1217 966 + 966 1218 1794 967 + 1219 1795 1218 967 + 1795 1794 1218 967 + 967 1219 1795 968 + 1220 1796 1219 968 + 1796 1795 1219 968 + 968 1220 1796 969 + 1221 1797 1220 969 + 1797 1796 1220 969 + 969 1221 1797 970 + 1222 1798 1221 970 + 1798 1797 1221 970 + 970 1222 1798 971 + 1223 1799 1222 971 + 1799 1798 1222 971 + 971 1223 1799 972 + 1224 1800 1223 972 + 1800 1799 1223 972 + 972 1224 1800 973 + 1225 1801 1224 973 + 1801 1800 1224 973 + 973 1225 1801 974 + 1226 1802 1225 974 + 1802 1801 1225 974 + 39 44 45 1587 + 1767 1803 44 1587 + 1803 45 44 1587 + 1587 1767 1803 1588 + 1768 1804 1767 1588 + 1804 1803 1767 1588 + 1588 1768 1804 1589 + 1769 1805 1768 1589 + 1805 1804 1768 1589 + 1589 1769 1805 1590 + 1770 1806 1769 1590 + 1806 1805 1769 1590 + 1590 1770 1806 1591 + 1771 1807 1770 1591 + 1807 1806 1770 1591 + 1591 1771 1807 1592 + 1772 1808 1771 1592 + 1808 1807 1771 1592 + 1592 1772 1808 1593 + 1773 1809 1772 1593 + 1809 1808 1772 1593 + 1593 1773 1809 1594 + 1774 1810 1773 1594 + 1810 1809 1773 1594 + 1594 1774 1810 1595 + 1775 1811 1774 1595 + 1811 1810 1774 1595 + 1595 1775 1811 1596 + 1776 1812 1775 1596 + 1812 1811 1775 1596 + 1596 1776 1812 1597 + 1777 1813 1776 1597 + 1813 1812 1776 1597 + 1597 1777 1813 1598 + 1778 1814 1777 1598 + 1814 1813 1777 1598 + 1598 1778 1814 1599 + 1779 1815 1778 1599 + 1815 1814 1778 1599 + 1599 1779 1815 1600 + 1780 1816 1779 1600 + 1816 1815 1779 1600 + 1600 1780 1816 1601 + 1781 1817 1780 1601 + 1817 1816 1780 1601 + 1601 1781 1817 1602 + 1782 1818 1781 1602 + 1818 1817 1781 1602 + 1602 1782 1818 1603 + 1783 1819 1782 1603 + 1819 1818 1782 1603 + 1603 1783 1819 1604 + 1784 1820 1783 1604 + 1820 1819 1783 1604 + 1604 1784 1820 1605 + 1785 1821 1784 1605 + 1821 1820 1784 1605 + 1605 1785 1821 1606 + 1786 1822 1785 1606 + 1822 1821 1785 1606 + 1606 1786 1822 1607 + 1787 1823 1786 1607 + 1823 1822 1786 1607 + 1607 1787 1823 1608 + 1788 1824 1787 1608 + 1824 1823 1787 1608 + 1608 1788 1824 1609 + 1789 1825 1788 1609 + 1825 1824 1788 1609 + 1609 1789 1825 1610 + 1790 1826 1789 1610 + 1826 1825 1789 1610 + 1610 1790 1826 1611 + 1791 1827 1790 1611 + 1827 1826 1790 1611 + 1611 1791 1827 1612 + 1792 1828 1791 1612 + 1828 1827 1791 1612 + 1612 1792 1828 1613 + 1793 1829 1792 1613 + 1829 1828 1792 1613 + 1613 1793 1829 1614 + 1794 1830 1793 1614 + 1830 1829 1793 1614 + 1614 1794 1830 1615 + 1795 1831 1794 1615 + 1831 1830 1794 1615 + 1615 1795 1831 1616 + 1796 1832 1795 1616 + 1832 1831 1795 1616 + 1616 1796 1832 1617 + 1797 1833 1796 1617 + 1833 1832 1796 1617 + 1617 1797 1833 1618 + 1798 1834 1797 1618 + 1834 1833 1797 1618 + 1618 1798 1834 1619 + 1799 1835 1798 1619 + 1835 1834 1798 1619 + 1619 1799 1835 1620 + 1800 1836 1799 1620 + 1836 1835 1799 1620 + 1620 1800 1836 1621 + 1801 1837 1800 1621 + 1837 1836 1800 1621 + 1621 1801 1837 1622 + 1802 1838 1801 1622 + 1838 1837 1801 1622 + 40 45 46 1623 + 1803 1839 45 1623 + 1839 46 45 1623 + 1623 1803 1839 1624 + 1804 1840 1803 1624 + 1840 1839 1803 1624 + 1624 1804 1840 1625 + 1805 1841 1804 1625 + 1841 1840 1804 1625 + 1625 1805 1841 1626 + 1806 1842 1805 1626 + 1842 1841 1805 1626 + 1626 1806 1842 1627 + 1807 1843 1806 1627 + 1843 1842 1806 1627 + 1627 1807 1843 1628 + 1808 1844 1807 1628 + 1844 1843 1807 1628 + 1628 1808 1844 1629 + 1809 1845 1808 1629 + 1845 1844 1808 1629 + 1629 1809 1845 1630 + 1810 1846 1809 1630 + 1846 1845 1809 1630 + 1630 1810 1846 1631 + 1811 1847 1810 1631 + 1847 1846 1810 1631 + 1631 1811 1847 1632 + 1812 1848 1811 1632 + 1848 1847 1811 1632 + 1632 1812 1848 1633 + 1813 1849 1812 1633 + 1849 1848 1812 1633 + 1633 1813 1849 1634 + 1814 1850 1813 1634 + 1850 1849 1813 1634 + 1634 1814 1850 1635 + 1815 1851 1814 1635 + 1851 1850 1814 1635 + 1635 1815 1851 1636 + 1816 1852 1815 1636 + 1852 1851 1815 1636 + 1636 1816 1852 1637 + 1817 1853 1816 1637 + 1853 1852 1816 1637 + 1637 1817 1853 1638 + 1818 1854 1817 1638 + 1854 1853 1817 1638 + 1638 1818 1854 1639 + 1819 1855 1818 1639 + 1855 1854 1818 1639 + 1639 1819 1855 1640 + 1820 1856 1819 1640 + 1856 1855 1819 1640 + 1640 1820 1856 1641 + 1821 1857 1820 1641 + 1857 1856 1820 1641 + 1641 1821 1857 1642 + 1822 1858 1821 1642 + 1858 1857 1821 1642 + 1642 1822 1858 1643 + 1823 1859 1822 1643 + 1859 1858 1822 1643 + 1643 1823 1859 1644 + 1824 1860 1823 1644 + 1860 1859 1823 1644 + 1644 1824 1860 1645 + 1825 1861 1824 1645 + 1861 1860 1824 1645 + 1645 1825 1861 1646 + 1826 1862 1825 1646 + 1862 1861 1825 1646 + 1646 1826 1862 1647 + 1827 1863 1826 1647 + 1863 1862 1826 1647 + 1647 1827 1863 1648 + 1828 1864 1827 1648 + 1864 1863 1827 1648 + 1648 1828 1864 1649 + 1829 1865 1828 1649 + 1865 1864 1828 1649 + 1649 1829 1865 1650 + 1830 1866 1829 1650 + 1866 1865 1829 1650 + 1650 1830 1866 1651 + 1831 1867 1830 1651 + 1867 1866 1830 1651 + 1651 1831 1867 1652 + 1832 1868 1831 1652 + 1868 1867 1831 1652 + 1652 1832 1868 1653 + 1833 1869 1832 1653 + 1869 1868 1832 1653 + 1653 1833 1869 1654 + 1834 1870 1833 1654 + 1870 1869 1833 1654 + 1654 1834 1870 1655 + 1835 1871 1834 1655 + 1871 1870 1834 1655 + 1655 1835 1871 1656 + 1836 1872 1835 1656 + 1872 1871 1835 1656 + 1656 1836 1872 1657 + 1837 1873 1836 1657 + 1873 1872 1836 1657 + 1657 1837 1873 1658 + 1838 1874 1837 1658 + 1874 1873 1837 1658 + 41 46 47 1659 + 1839 1875 46 1659 + 1875 47 46 1659 + 1659 1839 1875 1660 + 1840 1876 1839 1660 + 1876 1875 1839 1660 + 1660 1840 1876 1661 + 1841 1877 1840 1661 + 1877 1876 1840 1661 + 1661 1841 1877 1662 + 1842 1878 1841 1662 + 1878 1877 1841 1662 + 1662 1842 1878 1663 + 1843 1879 1842 1663 + 1879 1878 1842 1663 + 1663 1843 1879 1664 + 1844 1880 1843 1664 + 1880 1879 1843 1664 + 1664 1844 1880 1665 + 1845 1881 1844 1665 + 1881 1880 1844 1665 + 1665 1845 1881 1666 + 1846 1882 1845 1666 + 1882 1881 1845 1666 + 1666 1846 1882 1667 + 1847 1883 1846 1667 + 1883 1882 1846 1667 + 1667 1847 1883 1668 + 1848 1884 1847 1668 + 1884 1883 1847 1668 + 1668 1848 1884 1669 + 1849 1885 1848 1669 + 1885 1884 1848 1669 + 1669 1849 1885 1670 + 1850 1886 1849 1670 + 1886 1885 1849 1670 + 1670 1850 1886 1671 + 1851 1887 1850 1671 + 1887 1886 1850 1671 + 1671 1851 1887 1672 + 1852 1888 1851 1672 + 1888 1887 1851 1672 + 1672 1852 1888 1673 + 1853 1889 1852 1673 + 1889 1888 1852 1673 + 1673 1853 1889 1674 + 1854 1890 1853 1674 + 1890 1889 1853 1674 + 1674 1854 1890 1675 + 1855 1891 1854 1675 + 1891 1890 1854 1675 + 1675 1855 1891 1676 + 1856 1892 1855 1676 + 1892 1891 1855 1676 + 1676 1856 1892 1677 + 1857 1893 1856 1677 + 1893 1892 1856 1677 + 1677 1857 1893 1678 + 1858 1894 1857 1678 + 1894 1893 1857 1678 + 1678 1858 1894 1679 + 1859 1895 1858 1679 + 1895 1894 1858 1679 + 1679 1859 1895 1680 + 1860 1896 1859 1680 + 1896 1895 1859 1680 + 1680 1860 1896 1681 + 1861 1897 1860 1681 + 1897 1896 1860 1681 + 1681 1861 1897 1682 + 1862 1898 1861 1682 + 1898 1897 1861 1682 + 1682 1862 1898 1683 + 1863 1899 1862 1683 + 1899 1898 1862 1683 + 1683 1863 1899 1684 + 1864 1900 1863 1684 + 1900 1899 1863 1684 + 1684 1864 1900 1685 + 1865 1901 1864 1685 + 1901 1900 1864 1685 + 1685 1865 1901 1686 + 1866 1902 1865 1686 + 1902 1901 1865 1686 + 1686 1866 1902 1687 + 1867 1903 1866 1687 + 1903 1902 1866 1687 + 1687 1867 1903 1688 + 1868 1904 1867 1688 + 1904 1903 1867 1688 + 1688 1868 1904 1689 + 1869 1905 1868 1689 + 1905 1904 1868 1689 + 1689 1869 1905 1690 + 1870 1906 1869 1690 + 1906 1905 1869 1690 + 1690 1870 1906 1691 + 1871 1907 1870 1691 + 1907 1906 1870 1691 + 1691 1871 1907 1692 + 1872 1908 1871 1692 + 1908 1907 1871 1692 + 1692 1872 1908 1693 + 1873 1909 1872 1693 + 1909 1908 1872 1693 + 1693 1873 1909 1694 + 1874 1910 1873 1694 + 1910 1909 1873 1694 + 42 47 48 1695 + 1875 1911 47 1695 + 1911 48 47 1695 + 1695 1875 1911 1696 + 1876 1912 1875 1696 + 1912 1911 1875 1696 + 1696 1876 1912 1697 + 1877 1913 1876 1697 + 1913 1912 1876 1697 + 1697 1877 1913 1698 + 1878 1914 1877 1698 + 1914 1913 1877 1698 + 1698 1878 1914 1699 + 1879 1915 1878 1699 + 1915 1914 1878 1699 + 1699 1879 1915 1700 + 1880 1916 1879 1700 + 1916 1915 1879 1700 + 1700 1880 1916 1701 + 1881 1917 1880 1701 + 1917 1916 1880 1701 + 1701 1881 1917 1702 + 1882 1918 1881 1702 + 1918 1917 1881 1702 + 1702 1882 1918 1703 + 1883 1919 1882 1703 + 1919 1918 1882 1703 + 1703 1883 1919 1704 + 1884 1920 1883 1704 + 1920 1919 1883 1704 + 1704 1884 1920 1705 + 1885 1921 1884 1705 + 1921 1920 1884 1705 + 1705 1885 1921 1706 + 1886 1922 1885 1706 + 1922 1921 1885 1706 + 1706 1886 1922 1707 + 1887 1923 1886 1707 + 1923 1922 1886 1707 + 1707 1887 1923 1708 + 1888 1924 1887 1708 + 1924 1923 1887 1708 + 1708 1888 1924 1709 + 1889 1925 1888 1709 + 1925 1924 1888 1709 + 1709 1889 1925 1710 + 1890 1926 1889 1710 + 1926 1925 1889 1710 + 1710 1890 1926 1711 + 1891 1927 1890 1711 + 1927 1926 1890 1711 + 1711 1891 1927 1712 + 1892 1928 1891 1712 + 1928 1927 1891 1712 + 1712 1892 1928 1713 + 1893 1929 1892 1713 + 1929 1928 1892 1713 + 1713 1893 1929 1714 + 1894 1930 1893 1714 + 1930 1929 1893 1714 + 1714 1894 1930 1715 + 1895 1931 1894 1715 + 1931 1930 1894 1715 + 1715 1895 1931 1716 + 1896 1932 1895 1716 + 1932 1931 1895 1716 + 1716 1896 1932 1717 + 1897 1933 1896 1717 + 1933 1932 1896 1717 + 1717 1897 1933 1718 + 1898 1934 1897 1718 + 1934 1933 1897 1718 + 1718 1898 1934 1719 + 1899 1935 1898 1719 + 1935 1934 1898 1719 + 1719 1899 1935 1720 + 1900 1936 1899 1720 + 1936 1935 1899 1720 + 1720 1900 1936 1721 + 1901 1937 1900 1721 + 1937 1936 1900 1721 + 1721 1901 1937 1722 + 1902 1938 1901 1722 + 1938 1937 1901 1722 + 1722 1902 1938 1723 + 1903 1939 1902 1723 + 1939 1938 1902 1723 + 1723 1903 1939 1724 + 1904 1940 1903 1724 + 1940 1939 1903 1724 + 1724 1904 1940 1725 + 1905 1941 1904 1725 + 1941 1940 1904 1725 + 1725 1905 1941 1726 + 1906 1942 1905 1726 + 1942 1941 1905 1726 + 1726 1906 1942 1727 + 1907 1943 1906 1727 + 1943 1942 1906 1727 + 1727 1907 1943 1728 + 1908 1944 1907 1728 + 1944 1943 1907 1728 + 1728 1908 1944 1729 + 1909 1945 1908 1729 + 1945 1944 1908 1729 + 1729 1909 1945 1730 + 1910 1946 1909 1730 + 1946 1945 1909 1730 + 43 48 49 1731 + 1911 1947 48 1731 + 1947 49 48 1731 + 1731 1911 1947 1732 + 1912 1948 1911 1732 + 1948 1947 1911 1732 + 1732 1912 1948 1733 + 1913 1949 1912 1733 + 1949 1948 1912 1733 + 1733 1913 1949 1734 + 1914 1950 1913 1734 + 1950 1949 1913 1734 + 1734 1914 1950 1735 + 1915 1951 1914 1735 + 1951 1950 1914 1735 + 1735 1915 1951 1736 + 1916 1952 1915 1736 + 1952 1951 1915 1736 + 1736 1916 1952 1737 + 1917 1953 1916 1737 + 1953 1952 1916 1737 + 1737 1917 1953 1738 + 1918 1954 1917 1738 + 1954 1953 1917 1738 + 1738 1918 1954 1739 + 1919 1955 1918 1739 + 1955 1954 1918 1739 + 1739 1919 1955 1740 + 1920 1956 1919 1740 + 1956 1955 1919 1740 + 1740 1920 1956 1741 + 1921 1957 1920 1741 + 1957 1956 1920 1741 + 1741 1921 1957 1742 + 1922 1958 1921 1742 + 1958 1957 1921 1742 + 1742 1922 1958 1743 + 1923 1959 1922 1743 + 1959 1958 1922 1743 + 1743 1923 1959 1744 + 1924 1960 1923 1744 + 1960 1959 1923 1744 + 1744 1924 1960 1745 + 1925 1961 1924 1745 + 1961 1960 1924 1745 + 1745 1925 1961 1746 + 1926 1962 1925 1746 + 1962 1961 1925 1746 + 1746 1926 1962 1747 + 1927 1963 1926 1747 + 1963 1962 1926 1747 + 1747 1927 1963 1748 + 1928 1964 1927 1748 + 1964 1963 1927 1748 + 1748 1928 1964 1749 + 1929 1965 1928 1749 + 1965 1964 1928 1749 + 1749 1929 1965 1750 + 1930 1966 1929 1750 + 1966 1965 1929 1750 + 1750 1930 1966 1751 + 1931 1967 1930 1751 + 1967 1966 1930 1751 + 1751 1931 1967 1752 + 1932 1968 1931 1752 + 1968 1967 1931 1752 + 1752 1932 1968 1753 + 1933 1969 1932 1753 + 1969 1968 1932 1753 + 1753 1933 1969 1754 + 1934 1970 1933 1754 + 1970 1969 1933 1754 + 1754 1934 1970 1755 + 1935 1971 1934 1755 + 1971 1970 1934 1755 + 1755 1935 1971 1756 + 1936 1972 1935 1756 + 1972 1971 1935 1756 + 1756 1936 1972 1757 + 1937 1973 1936 1757 + 1973 1972 1936 1757 + 1757 1937 1973 1758 + 1938 1974 1937 1758 + 1974 1973 1937 1758 + 1758 1938 1974 1759 + 1939 1975 1938 1759 + 1975 1974 1938 1759 + 1759 1939 1975 1760 + 1940 1976 1939 1760 + 1976 1975 1939 1760 + 1760 1940 1976 1761 + 1941 1977 1940 1761 + 1977 1976 1940 1761 + 1761 1941 1977 1762 + 1942 1978 1941 1762 + 1978 1977 1941 1762 + 1762 1942 1978 1763 + 1943 1979 1942 1763 + 1979 1978 1942 1763 + 1763 1943 1979 1764 + 1944 1980 1943 1764 + 1980 1979 1943 1764 + 1764 1944 1980 1765 + 1945 1981 1944 1765 + 1981 1980 1944 1765 + 1765 1945 1981 1766 + 1946 1982 1945 1766 + 1982 1981 1945 1766 + 1767 939 1587 44 + 1587 939 21 44 + 1587 21 39 44 + 1768 940 1588 1767 + 1588 940 939 1767 + 1588 939 1587 1767 + 1769 941 1589 1768 + 1589 941 940 1768 + 1589 940 1588 1768 + 1770 942 1590 1769 + 1590 942 941 1769 + 1590 941 1589 1769 + 1771 943 1591 1770 + 1591 943 942 1770 + 1591 942 1590 1770 + 1772 944 1592 1771 + 1592 944 943 1771 + 1592 943 1591 1771 + 1773 945 1593 1772 + 1593 945 944 1772 + 1593 944 1592 1772 + 1774 946 1594 1773 + 1594 946 945 1773 + 1594 945 1593 1773 + 1775 947 1595 1774 + 1595 947 946 1774 + 1595 946 1594 1774 + 1776 948 1596 1775 + 1596 948 947 1775 + 1596 947 1595 1775 + 1777 949 1597 1776 + 1597 949 948 1776 + 1597 948 1596 1776 + 1778 950 1598 1777 + 1598 950 949 1777 + 1598 949 1597 1777 + 1779 951 1599 1778 + 1599 951 950 1778 + 1599 950 1598 1778 + 1780 952 1600 1779 + 1600 952 951 1779 + 1600 951 1599 1779 + 1781 953 1601 1780 + 1601 953 952 1780 + 1601 952 1600 1780 + 1782 954 1602 1781 + 1602 954 953 1781 + 1602 953 1601 1781 + 1783 955 1603 1782 + 1603 955 954 1782 + 1603 954 1602 1782 + 1784 956 1604 1783 + 1604 956 955 1783 + 1604 955 1603 1783 + 1785 957 1605 1784 + 1605 957 956 1784 + 1605 956 1604 1784 + 1786 958 1606 1785 + 1606 958 957 1785 + 1606 957 1605 1785 + 1787 959 1607 1786 + 1607 959 958 1786 + 1607 958 1606 1786 + 1788 960 1608 1787 + 1608 960 959 1787 + 1608 959 1607 1787 + 1789 961 1609 1788 + 1609 961 960 1788 + 1609 960 1608 1788 + 1790 962 1610 1789 + 1610 962 961 1789 + 1610 961 1609 1789 + 1791 963 1611 1790 + 1611 963 962 1790 + 1611 962 1610 1790 + 1792 964 1612 1791 + 1612 964 963 1791 + 1612 963 1611 1791 + 1793 965 1613 1792 + 1613 965 964 1792 + 1613 964 1612 1792 + 1794 966 1614 1793 + 1614 966 965 1793 + 1614 965 1613 1793 + 1795 967 1615 1794 + 1615 967 966 1794 + 1615 966 1614 1794 + 1796 968 1616 1795 + 1616 968 967 1795 + 1616 967 1615 1795 + 1797 969 1617 1796 + 1617 969 968 1796 + 1617 968 1616 1796 + 1798 970 1618 1797 + 1618 970 969 1797 + 1618 969 1617 1797 + 1799 971 1619 1798 + 1619 971 970 1798 + 1619 970 1618 1798 + 1800 972 1620 1799 + 1620 972 971 1799 + 1620 971 1619 1799 + 1801 973 1621 1800 + 1621 973 972 1800 + 1621 972 1620 1800 + 1802 974 1622 1801 + 1622 974 973 1801 + 1622 973 1621 1801 + 1803 1587 1623 45 + 1623 1587 39 45 + 1623 39 40 45 + 1804 1588 1624 1803 + 1624 1588 1587 1803 + 1624 1587 1623 1803 + 1805 1589 1625 1804 + 1625 1589 1588 1804 + 1625 1588 1624 1804 + 1806 1590 1626 1805 + 1626 1590 1589 1805 + 1626 1589 1625 1805 + 1807 1591 1627 1806 + 1627 1591 1590 1806 + 1627 1590 1626 1806 + 1808 1592 1628 1807 + 1628 1592 1591 1807 + 1628 1591 1627 1807 + 1809 1593 1629 1808 + 1629 1593 1592 1808 + 1629 1592 1628 1808 + 1810 1594 1630 1809 + 1630 1594 1593 1809 + 1630 1593 1629 1809 + 1811 1595 1631 1810 + 1631 1595 1594 1810 + 1631 1594 1630 1810 + 1812 1596 1632 1811 + 1632 1596 1595 1811 + 1632 1595 1631 1811 + 1813 1597 1633 1812 + 1633 1597 1596 1812 + 1633 1596 1632 1812 + 1814 1598 1634 1813 + 1634 1598 1597 1813 + 1634 1597 1633 1813 + 1815 1599 1635 1814 + 1635 1599 1598 1814 + 1635 1598 1634 1814 + 1816 1600 1636 1815 + 1636 1600 1599 1815 + 1636 1599 1635 1815 + 1817 1601 1637 1816 + 1637 1601 1600 1816 + 1637 1600 1636 1816 + 1818 1602 1638 1817 + 1638 1602 1601 1817 + 1638 1601 1637 1817 + 1819 1603 1639 1818 + 1639 1603 1602 1818 + 1639 1602 1638 1818 + 1820 1604 1640 1819 + 1640 1604 1603 1819 + 1640 1603 1639 1819 + 1821 1605 1641 1820 + 1641 1605 1604 1820 + 1641 1604 1640 1820 + 1822 1606 1642 1821 + 1642 1606 1605 1821 + 1642 1605 1641 1821 + 1823 1607 1643 1822 + 1643 1607 1606 1822 + 1643 1606 1642 1822 + 1824 1608 1644 1823 + 1644 1608 1607 1823 + 1644 1607 1643 1823 + 1825 1609 1645 1824 + 1645 1609 1608 1824 + 1645 1608 1644 1824 + 1826 1610 1646 1825 + 1646 1610 1609 1825 + 1646 1609 1645 1825 + 1827 1611 1647 1826 + 1647 1611 1610 1826 + 1647 1610 1646 1826 + 1828 1612 1648 1827 + 1648 1612 1611 1827 + 1648 1611 1647 1827 + 1829 1613 1649 1828 + 1649 1613 1612 1828 + 1649 1612 1648 1828 + 1830 1614 1650 1829 + 1650 1614 1613 1829 + 1650 1613 1649 1829 + 1831 1615 1651 1830 + 1651 1615 1614 1830 + 1651 1614 1650 1830 + 1832 1616 1652 1831 + 1652 1616 1615 1831 + 1652 1615 1651 1831 + 1833 1617 1653 1832 + 1653 1617 1616 1832 + 1653 1616 1652 1832 + 1834 1618 1654 1833 + 1654 1618 1617 1833 + 1654 1617 1653 1833 + 1835 1619 1655 1834 + 1655 1619 1618 1834 + 1655 1618 1654 1834 + 1836 1620 1656 1835 + 1656 1620 1619 1835 + 1656 1619 1655 1835 + 1837 1621 1657 1836 + 1657 1621 1620 1836 + 1657 1620 1656 1836 + 1838 1622 1658 1837 + 1658 1622 1621 1837 + 1658 1621 1657 1837 + 1839 1623 1659 46 + 1659 1623 40 46 + 1659 40 41 46 + 1840 1624 1660 1839 + 1660 1624 1623 1839 + 1660 1623 1659 1839 + 1841 1625 1661 1840 + 1661 1625 1624 1840 + 1661 1624 1660 1840 + 1842 1626 1662 1841 + 1662 1626 1625 1841 + 1662 1625 1661 1841 + 1843 1627 1663 1842 + 1663 1627 1626 1842 + 1663 1626 1662 1842 + 1844 1628 1664 1843 + 1664 1628 1627 1843 + 1664 1627 1663 1843 + 1845 1629 1665 1844 + 1665 1629 1628 1844 + 1665 1628 1664 1844 + 1846 1630 1666 1845 + 1666 1630 1629 1845 + 1666 1629 1665 1845 + 1847 1631 1667 1846 + 1667 1631 1630 1846 + 1667 1630 1666 1846 + 1848 1632 1668 1847 + 1668 1632 1631 1847 + 1668 1631 1667 1847 + 1849 1633 1669 1848 + 1669 1633 1632 1848 + 1669 1632 1668 1848 + 1850 1634 1670 1849 + 1670 1634 1633 1849 + 1670 1633 1669 1849 + 1851 1635 1671 1850 + 1671 1635 1634 1850 + 1671 1634 1670 1850 + 1852 1636 1672 1851 + 1672 1636 1635 1851 + 1672 1635 1671 1851 + 1853 1637 1673 1852 + 1673 1637 1636 1852 + 1673 1636 1672 1852 + 1854 1638 1674 1853 + 1674 1638 1637 1853 + 1674 1637 1673 1853 + 1855 1639 1675 1854 + 1675 1639 1638 1854 + 1675 1638 1674 1854 + 1856 1640 1676 1855 + 1676 1640 1639 1855 + 1676 1639 1675 1855 + 1857 1641 1677 1856 + 1677 1641 1640 1856 + 1677 1640 1676 1856 + 1858 1642 1678 1857 + 1678 1642 1641 1857 + 1678 1641 1677 1857 + 1859 1643 1679 1858 + 1679 1643 1642 1858 + 1679 1642 1678 1858 + 1860 1644 1680 1859 + 1680 1644 1643 1859 + 1680 1643 1679 1859 + 1861 1645 1681 1860 + 1681 1645 1644 1860 + 1681 1644 1680 1860 + 1862 1646 1682 1861 + 1682 1646 1645 1861 + 1682 1645 1681 1861 + 1863 1647 1683 1862 + 1683 1647 1646 1862 + 1683 1646 1682 1862 + 1864 1648 1684 1863 + 1684 1648 1647 1863 + 1684 1647 1683 1863 + 1865 1649 1685 1864 + 1685 1649 1648 1864 + 1685 1648 1684 1864 + 1866 1650 1686 1865 + 1686 1650 1649 1865 + 1686 1649 1685 1865 + 1867 1651 1687 1866 + 1687 1651 1650 1866 + 1687 1650 1686 1866 + 1868 1652 1688 1867 + 1688 1652 1651 1867 + 1688 1651 1687 1867 + 1869 1653 1689 1868 + 1689 1653 1652 1868 + 1689 1652 1688 1868 + 1870 1654 1690 1869 + 1690 1654 1653 1869 + 1690 1653 1689 1869 + 1871 1655 1691 1870 + 1691 1655 1654 1870 + 1691 1654 1690 1870 + 1872 1656 1692 1871 + 1692 1656 1655 1871 + 1692 1655 1691 1871 + 1873 1657 1693 1872 + 1693 1657 1656 1872 + 1693 1656 1692 1872 + 1874 1658 1694 1873 + 1694 1658 1657 1873 + 1694 1657 1693 1873 + 1875 1659 1695 47 + 1695 1659 41 47 + 1695 41 42 47 + 1876 1660 1696 1875 + 1696 1660 1659 1875 + 1696 1659 1695 1875 + 1877 1661 1697 1876 + 1697 1661 1660 1876 + 1697 1660 1696 1876 + 1878 1662 1698 1877 + 1698 1662 1661 1877 + 1698 1661 1697 1877 + 1879 1663 1699 1878 + 1699 1663 1662 1878 + 1699 1662 1698 1878 + 1880 1664 1700 1879 + 1700 1664 1663 1879 + 1700 1663 1699 1879 + 1881 1665 1701 1880 + 1701 1665 1664 1880 + 1701 1664 1700 1880 + 1882 1666 1702 1881 + 1702 1666 1665 1881 + 1702 1665 1701 1881 + 1883 1667 1703 1882 + 1703 1667 1666 1882 + 1703 1666 1702 1882 + 1884 1668 1704 1883 + 1704 1668 1667 1883 + 1704 1667 1703 1883 + 1885 1669 1705 1884 + 1705 1669 1668 1884 + 1705 1668 1704 1884 + 1886 1670 1706 1885 + 1706 1670 1669 1885 + 1706 1669 1705 1885 + 1887 1671 1707 1886 + 1707 1671 1670 1886 + 1707 1670 1706 1886 + 1888 1672 1708 1887 + 1708 1672 1671 1887 + 1708 1671 1707 1887 + 1889 1673 1709 1888 + 1709 1673 1672 1888 + 1709 1672 1708 1888 + 1890 1674 1710 1889 + 1710 1674 1673 1889 + 1710 1673 1709 1889 + 1891 1675 1711 1890 + 1711 1675 1674 1890 + 1711 1674 1710 1890 + 1892 1676 1712 1891 + 1712 1676 1675 1891 + 1712 1675 1711 1891 + 1893 1677 1713 1892 + 1713 1677 1676 1892 + 1713 1676 1712 1892 + 1894 1678 1714 1893 + 1714 1678 1677 1893 + 1714 1677 1713 1893 + 1895 1679 1715 1894 + 1715 1679 1678 1894 + 1715 1678 1714 1894 + 1896 1680 1716 1895 + 1716 1680 1679 1895 + 1716 1679 1715 1895 + 1897 1681 1717 1896 + 1717 1681 1680 1896 + 1717 1680 1716 1896 + 1898 1682 1718 1897 + 1718 1682 1681 1897 + 1718 1681 1717 1897 + 1899 1683 1719 1898 + 1719 1683 1682 1898 + 1719 1682 1718 1898 + 1900 1684 1720 1899 + 1720 1684 1683 1899 + 1720 1683 1719 1899 + 1901 1685 1721 1900 + 1721 1685 1684 1900 + 1721 1684 1720 1900 + 1902 1686 1722 1901 + 1722 1686 1685 1901 + 1722 1685 1721 1901 + 1903 1687 1723 1902 + 1723 1687 1686 1902 + 1723 1686 1722 1902 + 1904 1688 1724 1903 + 1724 1688 1687 1903 + 1724 1687 1723 1903 + 1905 1689 1725 1904 + 1725 1689 1688 1904 + 1725 1688 1724 1904 + 1906 1690 1726 1905 + 1726 1690 1689 1905 + 1726 1689 1725 1905 + 1907 1691 1727 1906 + 1727 1691 1690 1906 + 1727 1690 1726 1906 + 1908 1692 1728 1907 + 1728 1692 1691 1907 + 1728 1691 1727 1907 + 1909 1693 1729 1908 + 1729 1693 1692 1908 + 1729 1692 1728 1908 + 1910 1694 1730 1909 + 1730 1694 1693 1909 + 1730 1693 1729 1909 + 1911 1695 1731 48 + 1731 1695 42 48 + 1731 42 43 48 + 1912 1696 1732 1911 + 1732 1696 1695 1911 + 1732 1695 1731 1911 + 1913 1697 1733 1912 + 1733 1697 1696 1912 + 1733 1696 1732 1912 + 1914 1698 1734 1913 + 1734 1698 1697 1913 + 1734 1697 1733 1913 + 1915 1699 1735 1914 + 1735 1699 1698 1914 + 1735 1698 1734 1914 + 1916 1700 1736 1915 + 1736 1700 1699 1915 + 1736 1699 1735 1915 + 1917 1701 1737 1916 + 1737 1701 1700 1916 + 1737 1700 1736 1916 + 1918 1702 1738 1917 + 1738 1702 1701 1917 + 1738 1701 1737 1917 + 1919 1703 1739 1918 + 1739 1703 1702 1918 + 1739 1702 1738 1918 + 1920 1704 1740 1919 + 1740 1704 1703 1919 + 1740 1703 1739 1919 + 1921 1705 1741 1920 + 1741 1705 1704 1920 + 1741 1704 1740 1920 + 1922 1706 1742 1921 + 1742 1706 1705 1921 + 1742 1705 1741 1921 + 1923 1707 1743 1922 + 1743 1707 1706 1922 + 1743 1706 1742 1922 + 1924 1708 1744 1923 + 1744 1708 1707 1923 + 1744 1707 1743 1923 + 1925 1709 1745 1924 + 1745 1709 1708 1924 + 1745 1708 1744 1924 + 1926 1710 1746 1925 + 1746 1710 1709 1925 + 1746 1709 1745 1925 + 1927 1711 1747 1926 + 1747 1711 1710 1926 + 1747 1710 1746 1926 + 1928 1712 1748 1927 + 1748 1712 1711 1927 + 1748 1711 1747 1927 + 1929 1713 1749 1928 + 1749 1713 1712 1928 + 1749 1712 1748 1928 + 1930 1714 1750 1929 + 1750 1714 1713 1929 + 1750 1713 1749 1929 + 1931 1715 1751 1930 + 1751 1715 1714 1930 + 1751 1714 1750 1930 + 1932 1716 1752 1931 + 1752 1716 1715 1931 + 1752 1715 1751 1931 + 1933 1717 1753 1932 + 1753 1717 1716 1932 + 1753 1716 1752 1932 + 1934 1718 1754 1933 + 1754 1718 1717 1933 + 1754 1717 1753 1933 + 1935 1719 1755 1934 + 1755 1719 1718 1934 + 1755 1718 1754 1934 + 1936 1720 1756 1935 + 1756 1720 1719 1935 + 1756 1719 1755 1935 + 1937 1721 1757 1936 + 1757 1721 1720 1936 + 1757 1720 1756 1936 + 1938 1722 1758 1937 + 1758 1722 1721 1937 + 1758 1721 1757 1937 + 1939 1723 1759 1938 + 1759 1723 1722 1938 + 1759 1722 1758 1938 + 1940 1724 1760 1939 + 1760 1724 1723 1939 + 1760 1723 1759 1939 + 1941 1725 1761 1940 + 1761 1725 1724 1940 + 1761 1724 1760 1940 + 1942 1726 1762 1941 + 1762 1726 1725 1941 + 1762 1725 1761 1941 + 1943 1727 1763 1942 + 1763 1727 1726 1942 + 1763 1726 1762 1942 + 1944 1728 1764 1943 + 1764 1728 1727 1943 + 1764 1727 1763 1943 + 1945 1729 1765 1944 + 1765 1729 1728 1944 + 1765 1728 1764 1944 + 1946 1730 1766 1945 + 1766 1730 1729 1945 + 1766 1729 1765 1945 + 1 29 50 219 + 1227 1983 29 219 + 1983 50 29 219 + 219 1227 1983 220 + 1228 1984 1227 220 + 1984 1983 1227 220 + 220 1228 1984 221 + 1229 1985 1228 221 + 1985 1984 1228 221 + 221 1229 1985 222 + 1230 1986 1229 222 + 1986 1985 1229 222 + 222 1230 1986 223 + 1231 1987 1230 223 + 1987 1986 1230 223 + 223 1231 1987 224 + 1232 1988 1231 224 + 1988 1987 1231 224 + 224 1232 1988 225 + 1233 1989 1232 225 + 1989 1988 1232 225 + 225 1233 1989 226 + 1234 1990 1233 226 + 1990 1989 1233 226 + 226 1234 1990 227 + 1235 1991 1234 227 + 1991 1990 1234 227 + 227 1235 1991 228 + 1236 1992 1235 228 + 1992 1991 1235 228 + 228 1236 1992 229 + 1237 1993 1236 229 + 1993 1992 1236 229 + 229 1237 1993 230 + 1238 1994 1237 230 + 1994 1993 1237 230 + 230 1238 1994 231 + 1239 1995 1238 231 + 1995 1994 1238 231 + 231 1239 1995 232 + 1240 1996 1239 232 + 1996 1995 1239 232 + 232 1240 1996 233 + 1241 1997 1240 233 + 1997 1996 1240 233 + 233 1241 1997 234 + 1242 1998 1241 234 + 1998 1997 1241 234 + 234 1242 1998 235 + 1243 1999 1242 235 + 1999 1998 1242 235 + 235 1243 1999 236 + 1244 2000 1243 236 + 2000 1999 1243 236 + 236 1244 2000 237 + 1245 2001 1244 237 + 2001 2000 1244 237 + 237 1245 2001 238 + 1246 2002 1245 238 + 2002 2001 1245 238 + 238 1246 2002 239 + 1247 2003 1246 239 + 2003 2002 1246 239 + 239 1247 2003 240 + 1248 2004 1247 240 + 2004 2003 1247 240 + 240 1248 2004 241 + 1249 2005 1248 241 + 2005 2004 1248 241 + 241 1249 2005 242 + 1250 2006 1249 242 + 2006 2005 1249 242 + 242 1250 2006 243 + 1251 2007 1250 243 + 2007 2006 1250 243 + 243 1251 2007 244 + 1252 2008 1251 244 + 2008 2007 1251 244 + 244 1252 2008 245 + 1253 2009 1252 245 + 2009 2008 1252 245 + 245 1253 2009 246 + 1254 2010 1253 246 + 2010 2009 1253 246 + 246 1254 2010 247 + 1255 2011 1254 247 + 2011 2010 1254 247 + 247 1255 2011 248 + 1256 2012 1255 248 + 2012 2011 1255 248 + 248 1256 2012 249 + 1257 2013 1256 249 + 2013 2012 1256 249 + 249 1257 2013 250 + 1258 2014 1257 250 + 2014 2013 1257 250 + 250 1258 2014 251 + 1259 2015 1258 251 + 2015 2014 1258 251 + 251 1259 2015 252 + 1260 2016 1259 252 + 2016 2015 1259 252 + 252 1260 2016 253 + 1261 2017 1260 253 + 2017 2016 1260 253 + 253 1261 2017 254 + 1262 2018 1261 254 + 2018 2017 1261 254 + 29 31 51 1227 + 1299 2019 31 1227 + 2019 51 31 1227 + 1227 1299 2019 1228 + 1300 2020 1299 1228 + 2020 2019 1299 1228 + 1228 1300 2020 1229 + 1301 2021 1300 1229 + 2021 2020 1300 1229 + 1229 1301 2021 1230 + 1302 2022 1301 1230 + 2022 2021 1301 1230 + 1230 1302 2022 1231 + 1303 2023 1302 1231 + 2023 2022 1302 1231 + 1231 1303 2023 1232 + 1304 2024 1303 1232 + 2024 2023 1303 1232 + 1232 1304 2024 1233 + 1305 2025 1304 1233 + 2025 2024 1304 1233 + 1233 1305 2025 1234 + 1306 2026 1305 1234 + 2026 2025 1305 1234 + 1234 1306 2026 1235 + 1307 2027 1306 1235 + 2027 2026 1306 1235 + 1235 1307 2027 1236 + 1308 2028 1307 1236 + 2028 2027 1307 1236 + 1236 1308 2028 1237 + 1309 2029 1308 1237 + 2029 2028 1308 1237 + 1237 1309 2029 1238 + 1310 2030 1309 1238 + 2030 2029 1309 1238 + 1238 1310 2030 1239 + 1311 2031 1310 1239 + 2031 2030 1310 1239 + 1239 1311 2031 1240 + 1312 2032 1311 1240 + 2032 2031 1311 1240 + 1240 1312 2032 1241 + 1313 2033 1312 1241 + 2033 2032 1312 1241 + 1241 1313 2033 1242 + 1314 2034 1313 1242 + 2034 2033 1313 1242 + 1242 1314 2034 1243 + 1315 2035 1314 1243 + 2035 2034 1314 1243 + 1243 1315 2035 1244 + 1316 2036 1315 1244 + 2036 2035 1315 1244 + 1244 1316 2036 1245 + 1317 2037 1316 1245 + 2037 2036 1316 1245 + 1245 1317 2037 1246 + 1318 2038 1317 1246 + 2038 2037 1317 1246 + 1246 1318 2038 1247 + 1319 2039 1318 1247 + 2039 2038 1318 1247 + 1247 1319 2039 1248 + 1320 2040 1319 1248 + 2040 2039 1319 1248 + 1248 1320 2040 1249 + 1321 2041 1320 1249 + 2041 2040 1320 1249 + 1249 1321 2041 1250 + 1322 2042 1321 1250 + 2042 2041 1321 1250 + 1250 1322 2042 1251 + 1323 2043 1322 1251 + 2043 2042 1322 1251 + 1251 1323 2043 1252 + 1324 2044 1323 1252 + 2044 2043 1323 1252 + 1252 1324 2044 1253 + 1325 2045 1324 1253 + 2045 2044 1324 1253 + 1253 1325 2045 1254 + 1326 2046 1325 1254 + 2046 2045 1325 1254 + 1254 1326 2046 1255 + 1327 2047 1326 1255 + 2047 2046 1326 1255 + 1255 1327 2047 1256 + 1328 2048 1327 1256 + 2048 2047 1327 1256 + 1256 1328 2048 1257 + 1329 2049 1328 1257 + 2049 2048 1328 1257 + 1257 1329 2049 1258 + 1330 2050 1329 1258 + 2050 2049 1329 1258 + 1258 1330 2050 1259 + 1331 2051 1330 1259 + 2051 2050 1330 1259 + 1259 1331 2051 1260 + 1332 2052 1331 1260 + 2052 2051 1331 1260 + 1260 1332 2052 1261 + 1333 2053 1332 1261 + 2053 2052 1332 1261 + 1261 1333 2053 1262 + 1334 2054 1333 1262 + 2054 2053 1333 1262 + 50 51 52 1983 + 2019 2055 51 1983 + 2055 52 51 1983 + 1983 2019 2055 1984 + 2020 2056 2019 1984 + 2056 2055 2019 1984 + 1984 2020 2056 1985 + 2021 2057 2020 1985 + 2057 2056 2020 1985 + 1985 2021 2057 1986 + 2022 2058 2021 1986 + 2058 2057 2021 1986 + 1986 2022 2058 1987 + 2023 2059 2022 1987 + 2059 2058 2022 1987 + 1987 2023 2059 1988 + 2024 2060 2023 1988 + 2060 2059 2023 1988 + 1988 2024 2060 1989 + 2025 2061 2024 1989 + 2061 2060 2024 1989 + 1989 2025 2061 1990 + 2026 2062 2025 1990 + 2062 2061 2025 1990 + 1990 2026 2062 1991 + 2027 2063 2026 1991 + 2063 2062 2026 1991 + 1991 2027 2063 1992 + 2028 2064 2027 1992 + 2064 2063 2027 1992 + 1992 2028 2064 1993 + 2029 2065 2028 1993 + 2065 2064 2028 1993 + 1993 2029 2065 1994 + 2030 2066 2029 1994 + 2066 2065 2029 1994 + 1994 2030 2066 1995 + 2031 2067 2030 1995 + 2067 2066 2030 1995 + 1995 2031 2067 1996 + 2032 2068 2031 1996 + 2068 2067 2031 1996 + 1996 2032 2068 1997 + 2033 2069 2032 1997 + 2069 2068 2032 1997 + 1997 2033 2069 1998 + 2034 2070 2033 1998 + 2070 2069 2033 1998 + 1998 2034 2070 1999 + 2035 2071 2034 1999 + 2071 2070 2034 1999 + 1999 2035 2071 2000 + 2036 2072 2035 2000 + 2072 2071 2035 2000 + 2000 2036 2072 2001 + 2037 2073 2036 2001 + 2073 2072 2036 2001 + 2001 2037 2073 2002 + 2038 2074 2037 2002 + 2074 2073 2037 2002 + 2002 2038 2074 2003 + 2039 2075 2038 2003 + 2075 2074 2038 2003 + 2003 2039 2075 2004 + 2040 2076 2039 2004 + 2076 2075 2039 2004 + 2004 2040 2076 2005 + 2041 2077 2040 2005 + 2077 2076 2040 2005 + 2005 2041 2077 2006 + 2042 2078 2041 2006 + 2078 2077 2041 2006 + 2006 2042 2078 2007 + 2043 2079 2042 2007 + 2079 2078 2042 2007 + 2007 2043 2079 2008 + 2044 2080 2043 2008 + 2080 2079 2043 2008 + 2008 2044 2080 2009 + 2045 2081 2044 2009 + 2081 2080 2044 2009 + 2009 2045 2081 2010 + 2046 2082 2045 2010 + 2082 2081 2045 2010 + 2010 2046 2082 2011 + 2047 2083 2046 2011 + 2083 2082 2046 2011 + 2011 2047 2083 2012 + 2048 2084 2047 2012 + 2084 2083 2047 2012 + 2012 2048 2084 2013 + 2049 2085 2048 2013 + 2085 2084 2048 2013 + 2013 2049 2085 2014 + 2050 2086 2049 2014 + 2086 2085 2049 2014 + 2014 2050 2086 2015 + 2051 2087 2050 2015 + 2087 2086 2050 2015 + 2015 2051 2087 2016 + 2052 2088 2051 2016 + 2088 2087 2051 2016 + 2016 2052 2088 2017 + 2053 2089 2052 2017 + 2089 2088 2052 2017 + 2017 2053 2089 2018 + 2054 2090 2053 2018 + 2090 2089 2053 2018 + 2019 1227 1983 51 + 1983 1227 29 51 + 1983 29 50 51 + 2020 1228 1984 2019 + 1984 1228 1227 2019 + 1984 1227 1983 2019 + 2021 1229 1985 2020 + 1985 1229 1228 2020 + 1985 1228 1984 2020 + 2022 1230 1986 2021 + 1986 1230 1229 2021 + 1986 1229 1985 2021 + 2023 1231 1987 2022 + 1987 1231 1230 2022 + 1987 1230 1986 2022 + 2024 1232 1988 2023 + 1988 1232 1231 2023 + 1988 1231 1987 2023 + 2025 1233 1989 2024 + 1989 1233 1232 2024 + 1989 1232 1988 2024 + 2026 1234 1990 2025 + 1990 1234 1233 2025 + 1990 1233 1989 2025 + 2027 1235 1991 2026 + 1991 1235 1234 2026 + 1991 1234 1990 2026 + 2028 1236 1992 2027 + 1992 1236 1235 2027 + 1992 1235 1991 2027 + 2029 1237 1993 2028 + 1993 1237 1236 2028 + 1993 1236 1992 2028 + 2030 1238 1994 2029 + 1994 1238 1237 2029 + 1994 1237 1993 2029 + 2031 1239 1995 2030 + 1995 1239 1238 2030 + 1995 1238 1994 2030 + 2032 1240 1996 2031 + 1996 1240 1239 2031 + 1996 1239 1995 2031 + 2033 1241 1997 2032 + 1997 1241 1240 2032 + 1997 1240 1996 2032 + 2034 1242 1998 2033 + 1998 1242 1241 2033 + 1998 1241 1997 2033 + 2035 1243 1999 2034 + 1999 1243 1242 2034 + 1999 1242 1998 2034 + 2036 1244 2000 2035 + 2000 1244 1243 2035 + 2000 1243 1999 2035 + 2037 1245 2001 2036 + 2001 1245 1244 2036 + 2001 1244 2000 2036 + 2038 1246 2002 2037 + 2002 1246 1245 2037 + 2002 1245 2001 2037 + 2039 1247 2003 2038 + 2003 1247 1246 2038 + 2003 1246 2002 2038 + 2040 1248 2004 2039 + 2004 1248 1247 2039 + 2004 1247 2003 2039 + 2041 1249 2005 2040 + 2005 1249 1248 2040 + 2005 1248 2004 2040 + 2042 1250 2006 2041 + 2006 1250 1249 2041 + 2006 1249 2005 2041 + 2043 1251 2007 2042 + 2007 1251 1250 2042 + 2007 1250 2006 2042 + 2044 1252 2008 2043 + 2008 1252 1251 2043 + 2008 1251 2007 2043 + 2045 1253 2009 2044 + 2009 1253 1252 2044 + 2009 1252 2008 2044 + 2046 1254 2010 2045 + 2010 1254 1253 2045 + 2010 1253 2009 2045 + 2047 1255 2011 2046 + 2011 1255 1254 2046 + 2011 1254 2010 2046 + 2048 1256 2012 2047 + 2012 1256 1255 2047 + 2012 1255 2011 2047 + 2049 1257 2013 2048 + 2013 1257 1256 2048 + 2013 1256 2012 2048 + 2050 1258 2014 2049 + 2014 1258 1257 2049 + 2014 1257 2013 2049 + 2051 1259 2015 2050 + 2015 1259 1258 2050 + 2015 1258 2014 2050 + 2052 1260 2016 2051 + 2016 1260 1259 2051 + 2016 1259 2015 2051 + 2053 1261 2017 2052 + 2017 1261 1260 2052 + 2017 1260 2016 2052 + 2054 1262 2018 2053 + 2018 1262 1261 2053 + 2018 1261 2017 2053 + 31 34 53 1299 + 1407 2091 34 1299 + 2091 53 34 1299 + 1299 1407 2091 1300 + 1408 2092 1407 1300 + 2092 2091 1407 1300 + 1300 1408 2092 1301 + 1409 2093 1408 1301 + 2093 2092 1408 1301 + 1301 1409 2093 1302 + 1410 2094 1409 1302 + 2094 2093 1409 1302 + 1302 1410 2094 1303 + 1411 2095 1410 1303 + 2095 2094 1410 1303 + 1303 1411 2095 1304 + 1412 2096 1411 1304 + 2096 2095 1411 1304 + 1304 1412 2096 1305 + 1413 2097 1412 1305 + 2097 2096 1412 1305 + 1305 1413 2097 1306 + 1414 2098 1413 1306 + 2098 2097 1413 1306 + 1306 1414 2098 1307 + 1415 2099 1414 1307 + 2099 2098 1414 1307 + 1307 1415 2099 1308 + 1416 2100 1415 1308 + 2100 2099 1415 1308 + 1308 1416 2100 1309 + 1417 2101 1416 1309 + 2101 2100 1416 1309 + 1309 1417 2101 1310 + 1418 2102 1417 1310 + 2102 2101 1417 1310 + 1310 1418 2102 1311 + 1419 2103 1418 1311 + 2103 2102 1418 1311 + 1311 1419 2103 1312 + 1420 2104 1419 1312 + 2104 2103 1419 1312 + 1312 1420 2104 1313 + 1421 2105 1420 1313 + 2105 2104 1420 1313 + 1313 1421 2105 1314 + 1422 2106 1421 1314 + 2106 2105 1421 1314 + 1314 1422 2106 1315 + 1423 2107 1422 1315 + 2107 2106 1422 1315 + 1315 1423 2107 1316 + 1424 2108 1423 1316 + 2108 2107 1423 1316 + 1316 1424 2108 1317 + 1425 2109 1424 1317 + 2109 2108 1424 1317 + 1317 1425 2109 1318 + 1426 2110 1425 1318 + 2110 2109 1425 1318 + 1318 1426 2110 1319 + 1427 2111 1426 1319 + 2111 2110 1426 1319 + 1319 1427 2111 1320 + 1428 2112 1427 1320 + 2112 2111 1427 1320 + 1320 1428 2112 1321 + 1429 2113 1428 1321 + 2113 2112 1428 1321 + 1321 1429 2113 1322 + 1430 2114 1429 1322 + 2114 2113 1429 1322 + 1322 1430 2114 1323 + 1431 2115 1430 1323 + 2115 2114 1430 1323 + 1323 1431 2115 1324 + 1432 2116 1431 1324 + 2116 2115 1431 1324 + 1324 1432 2116 1325 + 1433 2117 1432 1325 + 2117 2116 1432 1325 + 1325 1433 2117 1326 + 1434 2118 1433 1326 + 2118 2117 1433 1326 + 1326 1434 2118 1327 + 1435 2119 1434 1327 + 2119 2118 1434 1327 + 1327 1435 2119 1328 + 1436 2120 1435 1328 + 2120 2119 1435 1328 + 1328 1436 2120 1329 + 1437 2121 1436 1329 + 2121 2120 1436 1329 + 1329 1437 2121 1330 + 1438 2122 1437 1330 + 2122 2121 1437 1330 + 1330 1438 2122 1331 + 1439 2123 1438 1331 + 2123 2122 1438 1331 + 1331 1439 2123 1332 + 1440 2124 1439 1332 + 2124 2123 1439 1332 + 1332 1440 2124 1333 + 1441 2125 1440 1333 + 2125 2124 1440 1333 + 1333 1441 2125 1334 + 1442 2126 1441 1334 + 2126 2125 1441 1334 + 51 53 54 2019 + 2091 2127 53 2019 + 2127 54 53 2019 + 2019 2091 2127 2020 + 2092 2128 2091 2020 + 2128 2127 2091 2020 + 2020 2092 2128 2021 + 2093 2129 2092 2021 + 2129 2128 2092 2021 + 2021 2093 2129 2022 + 2094 2130 2093 2022 + 2130 2129 2093 2022 + 2022 2094 2130 2023 + 2095 2131 2094 2023 + 2131 2130 2094 2023 + 2023 2095 2131 2024 + 2096 2132 2095 2024 + 2132 2131 2095 2024 + 2024 2096 2132 2025 + 2097 2133 2096 2025 + 2133 2132 2096 2025 + 2025 2097 2133 2026 + 2098 2134 2097 2026 + 2134 2133 2097 2026 + 2026 2098 2134 2027 + 2099 2135 2098 2027 + 2135 2134 2098 2027 + 2027 2099 2135 2028 + 2100 2136 2099 2028 + 2136 2135 2099 2028 + 2028 2100 2136 2029 + 2101 2137 2100 2029 + 2137 2136 2100 2029 + 2029 2101 2137 2030 + 2102 2138 2101 2030 + 2138 2137 2101 2030 + 2030 2102 2138 2031 + 2103 2139 2102 2031 + 2139 2138 2102 2031 + 2031 2103 2139 2032 + 2104 2140 2103 2032 + 2140 2139 2103 2032 + 2032 2104 2140 2033 + 2105 2141 2104 2033 + 2141 2140 2104 2033 + 2033 2105 2141 2034 + 2106 2142 2105 2034 + 2142 2141 2105 2034 + 2034 2106 2142 2035 + 2107 2143 2106 2035 + 2143 2142 2106 2035 + 2035 2107 2143 2036 + 2108 2144 2107 2036 + 2144 2143 2107 2036 + 2036 2108 2144 2037 + 2109 2145 2108 2037 + 2145 2144 2108 2037 + 2037 2109 2145 2038 + 2110 2146 2109 2038 + 2146 2145 2109 2038 + 2038 2110 2146 2039 + 2111 2147 2110 2039 + 2147 2146 2110 2039 + 2039 2111 2147 2040 + 2112 2148 2111 2040 + 2148 2147 2111 2040 + 2040 2112 2148 2041 + 2113 2149 2112 2041 + 2149 2148 2112 2041 + 2041 2113 2149 2042 + 2114 2150 2113 2042 + 2150 2149 2113 2042 + 2042 2114 2150 2043 + 2115 2151 2114 2043 + 2151 2150 2114 2043 + 2043 2115 2151 2044 + 2116 2152 2115 2044 + 2152 2151 2115 2044 + 2044 2116 2152 2045 + 2117 2153 2116 2045 + 2153 2152 2116 2045 + 2045 2117 2153 2046 + 2118 2154 2117 2046 + 2154 2153 2117 2046 + 2046 2118 2154 2047 + 2119 2155 2118 2047 + 2155 2154 2118 2047 + 2047 2119 2155 2048 + 2120 2156 2119 2048 + 2156 2155 2119 2048 + 2048 2120 2156 2049 + 2121 2157 2120 2049 + 2157 2156 2120 2049 + 2049 2121 2157 2050 + 2122 2158 2121 2050 + 2158 2157 2121 2050 + 2050 2122 2158 2051 + 2123 2159 2122 2051 + 2159 2158 2122 2051 + 2051 2123 2159 2052 + 2124 2160 2123 2052 + 2160 2159 2123 2052 + 2052 2124 2160 2053 + 2125 2161 2124 2053 + 2161 2160 2124 2053 + 2053 2125 2161 2054 + 2126 2162 2125 2054 + 2162 2161 2125 2054 + 52 54 55 2055 + 2127 2163 54 2055 + 2163 55 54 2055 + 2055 2127 2163 2056 + 2128 2164 2127 2056 + 2164 2163 2127 2056 + 2056 2128 2164 2057 + 2129 2165 2128 2057 + 2165 2164 2128 2057 + 2057 2129 2165 2058 + 2130 2166 2129 2058 + 2166 2165 2129 2058 + 2058 2130 2166 2059 + 2131 2167 2130 2059 + 2167 2166 2130 2059 + 2059 2131 2167 2060 + 2132 2168 2131 2060 + 2168 2167 2131 2060 + 2060 2132 2168 2061 + 2133 2169 2132 2061 + 2169 2168 2132 2061 + 2061 2133 2169 2062 + 2134 2170 2133 2062 + 2170 2169 2133 2062 + 2062 2134 2170 2063 + 2135 2171 2134 2063 + 2171 2170 2134 2063 + 2063 2135 2171 2064 + 2136 2172 2135 2064 + 2172 2171 2135 2064 + 2064 2136 2172 2065 + 2137 2173 2136 2065 + 2173 2172 2136 2065 + 2065 2137 2173 2066 + 2138 2174 2137 2066 + 2174 2173 2137 2066 + 2066 2138 2174 2067 + 2139 2175 2138 2067 + 2175 2174 2138 2067 + 2067 2139 2175 2068 + 2140 2176 2139 2068 + 2176 2175 2139 2068 + 2068 2140 2176 2069 + 2141 2177 2140 2069 + 2177 2176 2140 2069 + 2069 2141 2177 2070 + 2142 2178 2141 2070 + 2178 2177 2141 2070 + 2070 2142 2178 2071 + 2143 2179 2142 2071 + 2179 2178 2142 2071 + 2071 2143 2179 2072 + 2144 2180 2143 2072 + 2180 2179 2143 2072 + 2072 2144 2180 2073 + 2145 2181 2144 2073 + 2181 2180 2144 2073 + 2073 2145 2181 2074 + 2146 2182 2145 2074 + 2182 2181 2145 2074 + 2074 2146 2182 2075 + 2147 2183 2146 2075 + 2183 2182 2146 2075 + 2075 2147 2183 2076 + 2148 2184 2147 2076 + 2184 2183 2147 2076 + 2076 2148 2184 2077 + 2149 2185 2148 2077 + 2185 2184 2148 2077 + 2077 2149 2185 2078 + 2150 2186 2149 2078 + 2186 2185 2149 2078 + 2078 2150 2186 2079 + 2151 2187 2150 2079 + 2187 2186 2150 2079 + 2079 2151 2187 2080 + 2152 2188 2151 2080 + 2188 2187 2151 2080 + 2080 2152 2188 2081 + 2153 2189 2152 2081 + 2189 2188 2152 2081 + 2081 2153 2189 2082 + 2154 2190 2153 2082 + 2190 2189 2153 2082 + 2082 2154 2190 2083 + 2155 2191 2154 2083 + 2191 2190 2154 2083 + 2083 2155 2191 2084 + 2156 2192 2155 2084 + 2192 2191 2155 2084 + 2084 2156 2192 2085 + 2157 2193 2156 2085 + 2193 2192 2156 2085 + 2085 2157 2193 2086 + 2158 2194 2157 2086 + 2194 2193 2157 2086 + 2086 2158 2194 2087 + 2159 2195 2158 2087 + 2195 2194 2158 2087 + 2087 2159 2195 2088 + 2160 2196 2159 2088 + 2196 2195 2159 2088 + 2088 2160 2196 2089 + 2161 2197 2160 2089 + 2197 2196 2160 2089 + 2089 2161 2197 2090 + 2162 2198 2161 2090 + 2198 2197 2161 2090 + 2091 1299 2019 53 + 2019 1299 31 53 + 2019 31 51 53 + 2092 1300 2020 2091 + 2020 1300 1299 2091 + 2020 1299 2019 2091 + 2093 1301 2021 2092 + 2021 1301 1300 2092 + 2021 1300 2020 2092 + 2094 1302 2022 2093 + 2022 1302 1301 2093 + 2022 1301 2021 2093 + 2095 1303 2023 2094 + 2023 1303 1302 2094 + 2023 1302 2022 2094 + 2096 1304 2024 2095 + 2024 1304 1303 2095 + 2024 1303 2023 2095 + 2097 1305 2025 2096 + 2025 1305 1304 2096 + 2025 1304 2024 2096 + 2098 1306 2026 2097 + 2026 1306 1305 2097 + 2026 1305 2025 2097 + 2099 1307 2027 2098 + 2027 1307 1306 2098 + 2027 1306 2026 2098 + 2100 1308 2028 2099 + 2028 1308 1307 2099 + 2028 1307 2027 2099 + 2101 1309 2029 2100 + 2029 1309 1308 2100 + 2029 1308 2028 2100 + 2102 1310 2030 2101 + 2030 1310 1309 2101 + 2030 1309 2029 2101 + 2103 1311 2031 2102 + 2031 1311 1310 2102 + 2031 1310 2030 2102 + 2104 1312 2032 2103 + 2032 1312 1311 2103 + 2032 1311 2031 2103 + 2105 1313 2033 2104 + 2033 1313 1312 2104 + 2033 1312 2032 2104 + 2106 1314 2034 2105 + 2034 1314 1313 2105 + 2034 1313 2033 2105 + 2107 1315 2035 2106 + 2035 1315 1314 2106 + 2035 1314 2034 2106 + 2108 1316 2036 2107 + 2036 1316 1315 2107 + 2036 1315 2035 2107 + 2109 1317 2037 2108 + 2037 1317 1316 2108 + 2037 1316 2036 2108 + 2110 1318 2038 2109 + 2038 1318 1317 2109 + 2038 1317 2037 2109 + 2111 1319 2039 2110 + 2039 1319 1318 2110 + 2039 1318 2038 2110 + 2112 1320 2040 2111 + 2040 1320 1319 2111 + 2040 1319 2039 2111 + 2113 1321 2041 2112 + 2041 1321 1320 2112 + 2041 1320 2040 2112 + 2114 1322 2042 2113 + 2042 1322 1321 2113 + 2042 1321 2041 2113 + 2115 1323 2043 2114 + 2043 1323 1322 2114 + 2043 1322 2042 2114 + 2116 1324 2044 2115 + 2044 1324 1323 2115 + 2044 1323 2043 2115 + 2117 1325 2045 2116 + 2045 1325 1324 2116 + 2045 1324 2044 2116 + 2118 1326 2046 2117 + 2046 1326 1325 2117 + 2046 1325 2045 2117 + 2119 1327 2047 2118 + 2047 1327 1326 2118 + 2047 1326 2046 2118 + 2120 1328 2048 2119 + 2048 1328 1327 2119 + 2048 1327 2047 2119 + 2121 1329 2049 2120 + 2049 1329 1328 2120 + 2049 1328 2048 2120 + 2122 1330 2050 2121 + 2050 1330 1329 2121 + 2050 1329 2049 2121 + 2123 1331 2051 2122 + 2051 1331 1330 2122 + 2051 1330 2050 2122 + 2124 1332 2052 2123 + 2052 1332 1331 2123 + 2052 1331 2051 2123 + 2125 1333 2053 2124 + 2053 1333 1332 2124 + 2053 1332 2052 2124 + 2126 1334 2054 2125 + 2054 1334 1333 2125 + 2054 1333 2053 2125 + 2127 2019 2055 54 + 2055 2019 51 54 + 2055 51 52 54 + 2128 2020 2056 2127 + 2056 2020 2019 2127 + 2056 2019 2055 2127 + 2129 2021 2057 2128 + 2057 2021 2020 2128 + 2057 2020 2056 2128 + 2130 2022 2058 2129 + 2058 2022 2021 2129 + 2058 2021 2057 2129 + 2131 2023 2059 2130 + 2059 2023 2022 2130 + 2059 2022 2058 2130 + 2132 2024 2060 2131 + 2060 2024 2023 2131 + 2060 2023 2059 2131 + 2133 2025 2061 2132 + 2061 2025 2024 2132 + 2061 2024 2060 2132 + 2134 2026 2062 2133 + 2062 2026 2025 2133 + 2062 2025 2061 2133 + 2135 2027 2063 2134 + 2063 2027 2026 2134 + 2063 2026 2062 2134 + 2136 2028 2064 2135 + 2064 2028 2027 2135 + 2064 2027 2063 2135 + 2137 2029 2065 2136 + 2065 2029 2028 2136 + 2065 2028 2064 2136 + 2138 2030 2066 2137 + 2066 2030 2029 2137 + 2066 2029 2065 2137 + 2139 2031 2067 2138 + 2067 2031 2030 2138 + 2067 2030 2066 2138 + 2140 2032 2068 2139 + 2068 2032 2031 2139 + 2068 2031 2067 2139 + 2141 2033 2069 2140 + 2069 2033 2032 2140 + 2069 2032 2068 2140 + 2142 2034 2070 2141 + 2070 2034 2033 2141 + 2070 2033 2069 2141 + 2143 2035 2071 2142 + 2071 2035 2034 2142 + 2071 2034 2070 2142 + 2144 2036 2072 2143 + 2072 2036 2035 2143 + 2072 2035 2071 2143 + 2145 2037 2073 2144 + 2073 2037 2036 2144 + 2073 2036 2072 2144 + 2146 2038 2074 2145 + 2074 2038 2037 2145 + 2074 2037 2073 2145 + 2147 2039 2075 2146 + 2075 2039 2038 2146 + 2075 2038 2074 2146 + 2148 2040 2076 2147 + 2076 2040 2039 2147 + 2076 2039 2075 2147 + 2149 2041 2077 2148 + 2077 2041 2040 2148 + 2077 2040 2076 2148 + 2150 2042 2078 2149 + 2078 2042 2041 2149 + 2078 2041 2077 2149 + 2151 2043 2079 2150 + 2079 2043 2042 2150 + 2079 2042 2078 2150 + 2152 2044 2080 2151 + 2080 2044 2043 2151 + 2080 2043 2079 2151 + 2153 2045 2081 2152 + 2081 2045 2044 2152 + 2081 2044 2080 2152 + 2154 2046 2082 2153 + 2082 2046 2045 2153 + 2082 2045 2081 2153 + 2155 2047 2083 2154 + 2083 2047 2046 2154 + 2083 2046 2082 2154 + 2156 2048 2084 2155 + 2084 2048 2047 2155 + 2084 2047 2083 2155 + 2157 2049 2085 2156 + 2085 2049 2048 2156 + 2085 2048 2084 2156 + 2158 2050 2086 2157 + 2086 2050 2049 2157 + 2086 2049 2085 2157 + 2159 2051 2087 2158 + 2087 2051 2050 2158 + 2087 2050 2086 2158 + 2160 2052 2088 2159 + 2088 2052 2051 2159 + 2088 2051 2087 2159 + 2161 2053 2089 2160 + 2089 2053 2052 2160 + 2089 2052 2088 2160 + 2162 2054 2090 2161 + 2090 2054 2053 2161 + 2090 2053 2089 2161 + 34 38 56 1407 + 1551 2199 38 1407 + 2199 56 38 1407 + 1407 1551 2199 1408 + 1552 2200 1551 1408 + 2200 2199 1551 1408 + 1408 1552 2200 1409 + 1553 2201 1552 1409 + 2201 2200 1552 1409 + 1409 1553 2201 1410 + 1554 2202 1553 1410 + 2202 2201 1553 1410 + 1410 1554 2202 1411 + 1555 2203 1554 1411 + 2203 2202 1554 1411 + 1411 1555 2203 1412 + 1556 2204 1555 1412 + 2204 2203 1555 1412 + 1412 1556 2204 1413 + 1557 2205 1556 1413 + 2205 2204 1556 1413 + 1413 1557 2205 1414 + 1558 2206 1557 1414 + 2206 2205 1557 1414 + 1414 1558 2206 1415 + 1559 2207 1558 1415 + 2207 2206 1558 1415 + 1415 1559 2207 1416 + 1560 2208 1559 1416 + 2208 2207 1559 1416 + 1416 1560 2208 1417 + 1561 2209 1560 1417 + 2209 2208 1560 1417 + 1417 1561 2209 1418 + 1562 2210 1561 1418 + 2210 2209 1561 1418 + 1418 1562 2210 1419 + 1563 2211 1562 1419 + 2211 2210 1562 1419 + 1419 1563 2211 1420 + 1564 2212 1563 1420 + 2212 2211 1563 1420 + 1420 1564 2212 1421 + 1565 2213 1564 1421 + 2213 2212 1564 1421 + 1421 1565 2213 1422 + 1566 2214 1565 1422 + 2214 2213 1565 1422 + 1422 1566 2214 1423 + 1567 2215 1566 1423 + 2215 2214 1566 1423 + 1423 1567 2215 1424 + 1568 2216 1567 1424 + 2216 2215 1567 1424 + 1424 1568 2216 1425 + 1569 2217 1568 1425 + 2217 2216 1568 1425 + 1425 1569 2217 1426 + 1570 2218 1569 1426 + 2218 2217 1569 1426 + 1426 1570 2218 1427 + 1571 2219 1570 1427 + 2219 2218 1570 1427 + 1427 1571 2219 1428 + 1572 2220 1571 1428 + 2220 2219 1571 1428 + 1428 1572 2220 1429 + 1573 2221 1572 1429 + 2221 2220 1572 1429 + 1429 1573 2221 1430 + 1574 2222 1573 1430 + 2222 2221 1573 1430 + 1430 1574 2222 1431 + 1575 2223 1574 1431 + 2223 2222 1574 1431 + 1431 1575 2223 1432 + 1576 2224 1575 1432 + 2224 2223 1575 1432 + 1432 1576 2224 1433 + 1577 2225 1576 1433 + 2225 2224 1576 1433 + 1433 1577 2225 1434 + 1578 2226 1577 1434 + 2226 2225 1577 1434 + 1434 1578 2226 1435 + 1579 2227 1578 1435 + 2227 2226 1578 1435 + 1435 1579 2227 1436 + 1580 2228 1579 1436 + 2228 2227 1579 1436 + 1436 1580 2228 1437 + 1581 2229 1580 1437 + 2229 2228 1580 1437 + 1437 1581 2229 1438 + 1582 2230 1581 1438 + 2230 2229 1581 1438 + 1438 1582 2230 1439 + 1583 2231 1582 1439 + 2231 2230 1582 1439 + 1439 1583 2231 1440 + 1584 2232 1583 1440 + 2232 2231 1583 1440 + 1440 1584 2232 1441 + 1585 2233 1584 1441 + 2233 2232 1584 1441 + 1441 1585 2233 1442 + 1586 2234 1585 1442 + 2234 2233 1585 1442 + 53 56 57 2091 + 2199 2235 56 2091 + 2235 57 56 2091 + 2091 2199 2235 2092 + 2200 2236 2199 2092 + 2236 2235 2199 2092 + 2092 2200 2236 2093 + 2201 2237 2200 2093 + 2237 2236 2200 2093 + 2093 2201 2237 2094 + 2202 2238 2201 2094 + 2238 2237 2201 2094 + 2094 2202 2238 2095 + 2203 2239 2202 2095 + 2239 2238 2202 2095 + 2095 2203 2239 2096 + 2204 2240 2203 2096 + 2240 2239 2203 2096 + 2096 2204 2240 2097 + 2205 2241 2204 2097 + 2241 2240 2204 2097 + 2097 2205 2241 2098 + 2206 2242 2205 2098 + 2242 2241 2205 2098 + 2098 2206 2242 2099 + 2207 2243 2206 2099 + 2243 2242 2206 2099 + 2099 2207 2243 2100 + 2208 2244 2207 2100 + 2244 2243 2207 2100 + 2100 2208 2244 2101 + 2209 2245 2208 2101 + 2245 2244 2208 2101 + 2101 2209 2245 2102 + 2210 2246 2209 2102 + 2246 2245 2209 2102 + 2102 2210 2246 2103 + 2211 2247 2210 2103 + 2247 2246 2210 2103 + 2103 2211 2247 2104 + 2212 2248 2211 2104 + 2248 2247 2211 2104 + 2104 2212 2248 2105 + 2213 2249 2212 2105 + 2249 2248 2212 2105 + 2105 2213 2249 2106 + 2214 2250 2213 2106 + 2250 2249 2213 2106 + 2106 2214 2250 2107 + 2215 2251 2214 2107 + 2251 2250 2214 2107 + 2107 2215 2251 2108 + 2216 2252 2215 2108 + 2252 2251 2215 2108 + 2108 2216 2252 2109 + 2217 2253 2216 2109 + 2253 2252 2216 2109 + 2109 2217 2253 2110 + 2218 2254 2217 2110 + 2254 2253 2217 2110 + 2110 2218 2254 2111 + 2219 2255 2218 2111 + 2255 2254 2218 2111 + 2111 2219 2255 2112 + 2220 2256 2219 2112 + 2256 2255 2219 2112 + 2112 2220 2256 2113 + 2221 2257 2220 2113 + 2257 2256 2220 2113 + 2113 2221 2257 2114 + 2222 2258 2221 2114 + 2258 2257 2221 2114 + 2114 2222 2258 2115 + 2223 2259 2222 2115 + 2259 2258 2222 2115 + 2115 2223 2259 2116 + 2224 2260 2223 2116 + 2260 2259 2223 2116 + 2116 2224 2260 2117 + 2225 2261 2224 2117 + 2261 2260 2224 2117 + 2117 2225 2261 2118 + 2226 2262 2225 2118 + 2262 2261 2225 2118 + 2118 2226 2262 2119 + 2227 2263 2226 2119 + 2263 2262 2226 2119 + 2119 2227 2263 2120 + 2228 2264 2227 2120 + 2264 2263 2227 2120 + 2120 2228 2264 2121 + 2229 2265 2228 2121 + 2265 2264 2228 2121 + 2121 2229 2265 2122 + 2230 2266 2229 2122 + 2266 2265 2229 2122 + 2122 2230 2266 2123 + 2231 2267 2230 2123 + 2267 2266 2230 2123 + 2123 2231 2267 2124 + 2232 2268 2231 2124 + 2268 2267 2231 2124 + 2124 2232 2268 2125 + 2233 2269 2232 2125 + 2269 2268 2232 2125 + 2125 2233 2269 2126 + 2234 2270 2233 2126 + 2270 2269 2233 2126 + 54 57 58 2127 + 2235 2271 57 2127 + 2271 58 57 2127 + 2127 2235 2271 2128 + 2236 2272 2235 2128 + 2272 2271 2235 2128 + 2128 2236 2272 2129 + 2237 2273 2236 2129 + 2273 2272 2236 2129 + 2129 2237 2273 2130 + 2238 2274 2237 2130 + 2274 2273 2237 2130 + 2130 2238 2274 2131 + 2239 2275 2238 2131 + 2275 2274 2238 2131 + 2131 2239 2275 2132 + 2240 2276 2239 2132 + 2276 2275 2239 2132 + 2132 2240 2276 2133 + 2241 2277 2240 2133 + 2277 2276 2240 2133 + 2133 2241 2277 2134 + 2242 2278 2241 2134 + 2278 2277 2241 2134 + 2134 2242 2278 2135 + 2243 2279 2242 2135 + 2279 2278 2242 2135 + 2135 2243 2279 2136 + 2244 2280 2243 2136 + 2280 2279 2243 2136 + 2136 2244 2280 2137 + 2245 2281 2244 2137 + 2281 2280 2244 2137 + 2137 2245 2281 2138 + 2246 2282 2245 2138 + 2282 2281 2245 2138 + 2138 2246 2282 2139 + 2247 2283 2246 2139 + 2283 2282 2246 2139 + 2139 2247 2283 2140 + 2248 2284 2247 2140 + 2284 2283 2247 2140 + 2140 2248 2284 2141 + 2249 2285 2248 2141 + 2285 2284 2248 2141 + 2141 2249 2285 2142 + 2250 2286 2249 2142 + 2286 2285 2249 2142 + 2142 2250 2286 2143 + 2251 2287 2250 2143 + 2287 2286 2250 2143 + 2143 2251 2287 2144 + 2252 2288 2251 2144 + 2288 2287 2251 2144 + 2144 2252 2288 2145 + 2253 2289 2252 2145 + 2289 2288 2252 2145 + 2145 2253 2289 2146 + 2254 2290 2253 2146 + 2290 2289 2253 2146 + 2146 2254 2290 2147 + 2255 2291 2254 2147 + 2291 2290 2254 2147 + 2147 2255 2291 2148 + 2256 2292 2255 2148 + 2292 2291 2255 2148 + 2148 2256 2292 2149 + 2257 2293 2256 2149 + 2293 2292 2256 2149 + 2149 2257 2293 2150 + 2258 2294 2257 2150 + 2294 2293 2257 2150 + 2150 2258 2294 2151 + 2259 2295 2258 2151 + 2295 2294 2258 2151 + 2151 2259 2295 2152 + 2260 2296 2259 2152 + 2296 2295 2259 2152 + 2152 2260 2296 2153 + 2261 2297 2260 2153 + 2297 2296 2260 2153 + 2153 2261 2297 2154 + 2262 2298 2261 2154 + 2298 2297 2261 2154 + 2154 2262 2298 2155 + 2263 2299 2262 2155 + 2299 2298 2262 2155 + 2155 2263 2299 2156 + 2264 2300 2263 2156 + 2300 2299 2263 2156 + 2156 2264 2300 2157 + 2265 2301 2264 2157 + 2301 2300 2264 2157 + 2157 2265 2301 2158 + 2266 2302 2265 2158 + 2302 2301 2265 2158 + 2158 2266 2302 2159 + 2267 2303 2266 2159 + 2303 2302 2266 2159 + 2159 2267 2303 2160 + 2268 2304 2267 2160 + 2304 2303 2267 2160 + 2160 2268 2304 2161 + 2269 2305 2268 2161 + 2305 2304 2268 2161 + 2161 2269 2305 2162 + 2270 2306 2269 2162 + 2306 2305 2269 2162 + 55 58 59 2163 + 2271 2307 58 2163 + 2307 59 58 2163 + 2163 2271 2307 2164 + 2272 2308 2271 2164 + 2308 2307 2271 2164 + 2164 2272 2308 2165 + 2273 2309 2272 2165 + 2309 2308 2272 2165 + 2165 2273 2309 2166 + 2274 2310 2273 2166 + 2310 2309 2273 2166 + 2166 2274 2310 2167 + 2275 2311 2274 2167 + 2311 2310 2274 2167 + 2167 2275 2311 2168 + 2276 2312 2275 2168 + 2312 2311 2275 2168 + 2168 2276 2312 2169 + 2277 2313 2276 2169 + 2313 2312 2276 2169 + 2169 2277 2313 2170 + 2278 2314 2277 2170 + 2314 2313 2277 2170 + 2170 2278 2314 2171 + 2279 2315 2278 2171 + 2315 2314 2278 2171 + 2171 2279 2315 2172 + 2280 2316 2279 2172 + 2316 2315 2279 2172 + 2172 2280 2316 2173 + 2281 2317 2280 2173 + 2317 2316 2280 2173 + 2173 2281 2317 2174 + 2282 2318 2281 2174 + 2318 2317 2281 2174 + 2174 2282 2318 2175 + 2283 2319 2282 2175 + 2319 2318 2282 2175 + 2175 2283 2319 2176 + 2284 2320 2283 2176 + 2320 2319 2283 2176 + 2176 2284 2320 2177 + 2285 2321 2284 2177 + 2321 2320 2284 2177 + 2177 2285 2321 2178 + 2286 2322 2285 2178 + 2322 2321 2285 2178 + 2178 2286 2322 2179 + 2287 2323 2286 2179 + 2323 2322 2286 2179 + 2179 2287 2323 2180 + 2288 2324 2287 2180 + 2324 2323 2287 2180 + 2180 2288 2324 2181 + 2289 2325 2288 2181 + 2325 2324 2288 2181 + 2181 2289 2325 2182 + 2290 2326 2289 2182 + 2326 2325 2289 2182 + 2182 2290 2326 2183 + 2291 2327 2290 2183 + 2327 2326 2290 2183 + 2183 2291 2327 2184 + 2292 2328 2291 2184 + 2328 2327 2291 2184 + 2184 2292 2328 2185 + 2293 2329 2292 2185 + 2329 2328 2292 2185 + 2185 2293 2329 2186 + 2294 2330 2293 2186 + 2330 2329 2293 2186 + 2186 2294 2330 2187 + 2295 2331 2294 2187 + 2331 2330 2294 2187 + 2187 2295 2331 2188 + 2296 2332 2295 2188 + 2332 2331 2295 2188 + 2188 2296 2332 2189 + 2297 2333 2296 2189 + 2333 2332 2296 2189 + 2189 2297 2333 2190 + 2298 2334 2297 2190 + 2334 2333 2297 2190 + 2190 2298 2334 2191 + 2299 2335 2298 2191 + 2335 2334 2298 2191 + 2191 2299 2335 2192 + 2300 2336 2299 2192 + 2336 2335 2299 2192 + 2192 2300 2336 2193 + 2301 2337 2300 2193 + 2337 2336 2300 2193 + 2193 2301 2337 2194 + 2302 2338 2301 2194 + 2338 2337 2301 2194 + 2194 2302 2338 2195 + 2303 2339 2302 2195 + 2339 2338 2302 2195 + 2195 2303 2339 2196 + 2304 2340 2303 2196 + 2340 2339 2303 2196 + 2196 2304 2340 2197 + 2305 2341 2304 2197 + 2341 2340 2304 2197 + 2197 2305 2341 2198 + 2306 2342 2305 2198 + 2342 2341 2305 2198 + 2199 1407 2091 56 + 2091 1407 34 56 + 2091 34 53 56 + 2200 1408 2092 2199 + 2092 1408 1407 2199 + 2092 1407 2091 2199 + 2201 1409 2093 2200 + 2093 1409 1408 2200 + 2093 1408 2092 2200 + 2202 1410 2094 2201 + 2094 1410 1409 2201 + 2094 1409 2093 2201 + 2203 1411 2095 2202 + 2095 1411 1410 2202 + 2095 1410 2094 2202 + 2204 1412 2096 2203 + 2096 1412 1411 2203 + 2096 1411 2095 2203 + 2205 1413 2097 2204 + 2097 1413 1412 2204 + 2097 1412 2096 2204 + 2206 1414 2098 2205 + 2098 1414 1413 2205 + 2098 1413 2097 2205 + 2207 1415 2099 2206 + 2099 1415 1414 2206 + 2099 1414 2098 2206 + 2208 1416 2100 2207 + 2100 1416 1415 2207 + 2100 1415 2099 2207 + 2209 1417 2101 2208 + 2101 1417 1416 2208 + 2101 1416 2100 2208 + 2210 1418 2102 2209 + 2102 1418 1417 2209 + 2102 1417 2101 2209 + 2211 1419 2103 2210 + 2103 1419 1418 2210 + 2103 1418 2102 2210 + 2212 1420 2104 2211 + 2104 1420 1419 2211 + 2104 1419 2103 2211 + 2213 1421 2105 2212 + 2105 1421 1420 2212 + 2105 1420 2104 2212 + 2214 1422 2106 2213 + 2106 1422 1421 2213 + 2106 1421 2105 2213 + 2215 1423 2107 2214 + 2107 1423 1422 2214 + 2107 1422 2106 2214 + 2216 1424 2108 2215 + 2108 1424 1423 2215 + 2108 1423 2107 2215 + 2217 1425 2109 2216 + 2109 1425 1424 2216 + 2109 1424 2108 2216 + 2218 1426 2110 2217 + 2110 1426 1425 2217 + 2110 1425 2109 2217 + 2219 1427 2111 2218 + 2111 1427 1426 2218 + 2111 1426 2110 2218 + 2220 1428 2112 2219 + 2112 1428 1427 2219 + 2112 1427 2111 2219 + 2221 1429 2113 2220 + 2113 1429 1428 2220 + 2113 1428 2112 2220 + 2222 1430 2114 2221 + 2114 1430 1429 2221 + 2114 1429 2113 2221 + 2223 1431 2115 2222 + 2115 1431 1430 2222 + 2115 1430 2114 2222 + 2224 1432 2116 2223 + 2116 1432 1431 2223 + 2116 1431 2115 2223 + 2225 1433 2117 2224 + 2117 1433 1432 2224 + 2117 1432 2116 2224 + 2226 1434 2118 2225 + 2118 1434 1433 2225 + 2118 1433 2117 2225 + 2227 1435 2119 2226 + 2119 1435 1434 2226 + 2119 1434 2118 2226 + 2228 1436 2120 2227 + 2120 1436 1435 2227 + 2120 1435 2119 2227 + 2229 1437 2121 2228 + 2121 1437 1436 2228 + 2121 1436 2120 2228 + 2230 1438 2122 2229 + 2122 1438 1437 2229 + 2122 1437 2121 2229 + 2231 1439 2123 2230 + 2123 1439 1438 2230 + 2123 1438 2122 2230 + 2232 1440 2124 2231 + 2124 1440 1439 2231 + 2124 1439 2123 2231 + 2233 1441 2125 2232 + 2125 1441 1440 2232 + 2125 1440 2124 2232 + 2234 1442 2126 2233 + 2126 1442 1441 2233 + 2126 1441 2125 2233 + 2235 2091 2127 57 + 2127 2091 53 57 + 2127 53 54 57 + 2236 2092 2128 2235 + 2128 2092 2091 2235 + 2128 2091 2127 2235 + 2237 2093 2129 2236 + 2129 2093 2092 2236 + 2129 2092 2128 2236 + 2238 2094 2130 2237 + 2130 2094 2093 2237 + 2130 2093 2129 2237 + 2239 2095 2131 2238 + 2131 2095 2094 2238 + 2131 2094 2130 2238 + 2240 2096 2132 2239 + 2132 2096 2095 2239 + 2132 2095 2131 2239 + 2241 2097 2133 2240 + 2133 2097 2096 2240 + 2133 2096 2132 2240 + 2242 2098 2134 2241 + 2134 2098 2097 2241 + 2134 2097 2133 2241 + 2243 2099 2135 2242 + 2135 2099 2098 2242 + 2135 2098 2134 2242 + 2244 2100 2136 2243 + 2136 2100 2099 2243 + 2136 2099 2135 2243 + 2245 2101 2137 2244 + 2137 2101 2100 2244 + 2137 2100 2136 2244 + 2246 2102 2138 2245 + 2138 2102 2101 2245 + 2138 2101 2137 2245 + 2247 2103 2139 2246 + 2139 2103 2102 2246 + 2139 2102 2138 2246 + 2248 2104 2140 2247 + 2140 2104 2103 2247 + 2140 2103 2139 2247 + 2249 2105 2141 2248 + 2141 2105 2104 2248 + 2141 2104 2140 2248 + 2250 2106 2142 2249 + 2142 2106 2105 2249 + 2142 2105 2141 2249 + 2251 2107 2143 2250 + 2143 2107 2106 2250 + 2143 2106 2142 2250 + 2252 2108 2144 2251 + 2144 2108 2107 2251 + 2144 2107 2143 2251 + 2253 2109 2145 2252 + 2145 2109 2108 2252 + 2145 2108 2144 2252 + 2254 2110 2146 2253 + 2146 2110 2109 2253 + 2146 2109 2145 2253 + 2255 2111 2147 2254 + 2147 2111 2110 2254 + 2147 2110 2146 2254 + 2256 2112 2148 2255 + 2148 2112 2111 2255 + 2148 2111 2147 2255 + 2257 2113 2149 2256 + 2149 2113 2112 2256 + 2149 2112 2148 2256 + 2258 2114 2150 2257 + 2150 2114 2113 2257 + 2150 2113 2149 2257 + 2259 2115 2151 2258 + 2151 2115 2114 2258 + 2151 2114 2150 2258 + 2260 2116 2152 2259 + 2152 2116 2115 2259 + 2152 2115 2151 2259 + 2261 2117 2153 2260 + 2153 2117 2116 2260 + 2153 2116 2152 2260 + 2262 2118 2154 2261 + 2154 2118 2117 2261 + 2154 2117 2153 2261 + 2263 2119 2155 2262 + 2155 2119 2118 2262 + 2155 2118 2154 2262 + 2264 2120 2156 2263 + 2156 2120 2119 2263 + 2156 2119 2155 2263 + 2265 2121 2157 2264 + 2157 2121 2120 2264 + 2157 2120 2156 2264 + 2266 2122 2158 2265 + 2158 2122 2121 2265 + 2158 2121 2157 2265 + 2267 2123 2159 2266 + 2159 2123 2122 2266 + 2159 2122 2158 2266 + 2268 2124 2160 2267 + 2160 2124 2123 2267 + 2160 2123 2159 2267 + 2269 2125 2161 2268 + 2161 2125 2124 2268 + 2161 2124 2160 2268 + 2270 2126 2162 2269 + 2162 2126 2125 2269 + 2162 2125 2161 2269 + 2271 2127 2163 58 + 2163 2127 54 58 + 2163 54 55 58 + 2272 2128 2164 2271 + 2164 2128 2127 2271 + 2164 2127 2163 2271 + 2273 2129 2165 2272 + 2165 2129 2128 2272 + 2165 2128 2164 2272 + 2274 2130 2166 2273 + 2166 2130 2129 2273 + 2166 2129 2165 2273 + 2275 2131 2167 2274 + 2167 2131 2130 2274 + 2167 2130 2166 2274 + 2276 2132 2168 2275 + 2168 2132 2131 2275 + 2168 2131 2167 2275 + 2277 2133 2169 2276 + 2169 2133 2132 2276 + 2169 2132 2168 2276 + 2278 2134 2170 2277 + 2170 2134 2133 2277 + 2170 2133 2169 2277 + 2279 2135 2171 2278 + 2171 2135 2134 2278 + 2171 2134 2170 2278 + 2280 2136 2172 2279 + 2172 2136 2135 2279 + 2172 2135 2171 2279 + 2281 2137 2173 2280 + 2173 2137 2136 2280 + 2173 2136 2172 2280 + 2282 2138 2174 2281 + 2174 2138 2137 2281 + 2174 2137 2173 2281 + 2283 2139 2175 2282 + 2175 2139 2138 2282 + 2175 2138 2174 2282 + 2284 2140 2176 2283 + 2176 2140 2139 2283 + 2176 2139 2175 2283 + 2285 2141 2177 2284 + 2177 2141 2140 2284 + 2177 2140 2176 2284 + 2286 2142 2178 2285 + 2178 2142 2141 2285 + 2178 2141 2177 2285 + 2287 2143 2179 2286 + 2179 2143 2142 2286 + 2179 2142 2178 2286 + 2288 2144 2180 2287 + 2180 2144 2143 2287 + 2180 2143 2179 2287 + 2289 2145 2181 2288 + 2181 2145 2144 2288 + 2181 2144 2180 2288 + 2290 2146 2182 2289 + 2182 2146 2145 2289 + 2182 2145 2181 2289 + 2291 2147 2183 2290 + 2183 2147 2146 2290 + 2183 2146 2182 2290 + 2292 2148 2184 2291 + 2184 2148 2147 2291 + 2184 2147 2183 2291 + 2293 2149 2185 2292 + 2185 2149 2148 2292 + 2185 2148 2184 2292 + 2294 2150 2186 2293 + 2186 2150 2149 2293 + 2186 2149 2185 2293 + 2295 2151 2187 2294 + 2187 2151 2150 2294 + 2187 2150 2186 2294 + 2296 2152 2188 2295 + 2188 2152 2151 2295 + 2188 2151 2187 2295 + 2297 2153 2189 2296 + 2189 2153 2152 2296 + 2189 2152 2188 2296 + 2298 2154 2190 2297 + 2190 2154 2153 2297 + 2190 2153 2189 2297 + 2299 2155 2191 2298 + 2191 2155 2154 2298 + 2191 2154 2190 2298 + 2300 2156 2192 2299 + 2192 2156 2155 2299 + 2192 2155 2191 2299 + 2301 2157 2193 2300 + 2193 2157 2156 2300 + 2193 2156 2192 2300 + 2302 2158 2194 2301 + 2194 2158 2157 2301 + 2194 2157 2193 2301 + 2303 2159 2195 2302 + 2195 2159 2158 2302 + 2195 2158 2194 2302 + 2304 2160 2196 2303 + 2196 2160 2159 2303 + 2196 2159 2195 2303 + 2305 2161 2197 2304 + 2197 2161 2160 2304 + 2197 2160 2196 2304 + 2306 2162 2198 2305 + 2198 2162 2161 2305 + 2198 2161 2197 2305 + 38 43 60 1551 + 1731 2343 43 1551 + 2343 60 43 1551 + 1551 1731 2343 1552 + 1732 2344 1731 1552 + 2344 2343 1731 1552 + 1552 1732 2344 1553 + 1733 2345 1732 1553 + 2345 2344 1732 1553 + 1553 1733 2345 1554 + 1734 2346 1733 1554 + 2346 2345 1733 1554 + 1554 1734 2346 1555 + 1735 2347 1734 1555 + 2347 2346 1734 1555 + 1555 1735 2347 1556 + 1736 2348 1735 1556 + 2348 2347 1735 1556 + 1556 1736 2348 1557 + 1737 2349 1736 1557 + 2349 2348 1736 1557 + 1557 1737 2349 1558 + 1738 2350 1737 1558 + 2350 2349 1737 1558 + 1558 1738 2350 1559 + 1739 2351 1738 1559 + 2351 2350 1738 1559 + 1559 1739 2351 1560 + 1740 2352 1739 1560 + 2352 2351 1739 1560 + 1560 1740 2352 1561 + 1741 2353 1740 1561 + 2353 2352 1740 1561 + 1561 1741 2353 1562 + 1742 2354 1741 1562 + 2354 2353 1741 1562 + 1562 1742 2354 1563 + 1743 2355 1742 1563 + 2355 2354 1742 1563 + 1563 1743 2355 1564 + 1744 2356 1743 1564 + 2356 2355 1743 1564 + 1564 1744 2356 1565 + 1745 2357 1744 1565 + 2357 2356 1744 1565 + 1565 1745 2357 1566 + 1746 2358 1745 1566 + 2358 2357 1745 1566 + 1566 1746 2358 1567 + 1747 2359 1746 1567 + 2359 2358 1746 1567 + 1567 1747 2359 1568 + 1748 2360 1747 1568 + 2360 2359 1747 1568 + 1568 1748 2360 1569 + 1749 2361 1748 1569 + 2361 2360 1748 1569 + 1569 1749 2361 1570 + 1750 2362 1749 1570 + 2362 2361 1749 1570 + 1570 1750 2362 1571 + 1751 2363 1750 1571 + 2363 2362 1750 1571 + 1571 1751 2363 1572 + 1752 2364 1751 1572 + 2364 2363 1751 1572 + 1572 1752 2364 1573 + 1753 2365 1752 1573 + 2365 2364 1752 1573 + 1573 1753 2365 1574 + 1754 2366 1753 1574 + 2366 2365 1753 1574 + 1574 1754 2366 1575 + 1755 2367 1754 1575 + 2367 2366 1754 1575 + 1575 1755 2367 1576 + 1756 2368 1755 1576 + 2368 2367 1755 1576 + 1576 1756 2368 1577 + 1757 2369 1756 1577 + 2369 2368 1756 1577 + 1577 1757 2369 1578 + 1758 2370 1757 1578 + 2370 2369 1757 1578 + 1578 1758 2370 1579 + 1759 2371 1758 1579 + 2371 2370 1758 1579 + 1579 1759 2371 1580 + 1760 2372 1759 1580 + 2372 2371 1759 1580 + 1580 1760 2372 1581 + 1761 2373 1760 1581 + 2373 2372 1760 1581 + 1581 1761 2373 1582 + 1762 2374 1761 1582 + 2374 2373 1761 1582 + 1582 1762 2374 1583 + 1763 2375 1762 1583 + 2375 2374 1762 1583 + 1583 1763 2375 1584 + 1764 2376 1763 1584 + 2376 2375 1763 1584 + 1584 1764 2376 1585 + 1765 2377 1764 1585 + 2377 2376 1764 1585 + 1585 1765 2377 1586 + 1766 2378 1765 1586 + 2378 2377 1765 1586 + 56 60 61 2199 + 2343 2379 60 2199 + 2379 61 60 2199 + 2199 2343 2379 2200 + 2344 2380 2343 2200 + 2380 2379 2343 2200 + 2200 2344 2380 2201 + 2345 2381 2344 2201 + 2381 2380 2344 2201 + 2201 2345 2381 2202 + 2346 2382 2345 2202 + 2382 2381 2345 2202 + 2202 2346 2382 2203 + 2347 2383 2346 2203 + 2383 2382 2346 2203 + 2203 2347 2383 2204 + 2348 2384 2347 2204 + 2384 2383 2347 2204 + 2204 2348 2384 2205 + 2349 2385 2348 2205 + 2385 2384 2348 2205 + 2205 2349 2385 2206 + 2350 2386 2349 2206 + 2386 2385 2349 2206 + 2206 2350 2386 2207 + 2351 2387 2350 2207 + 2387 2386 2350 2207 + 2207 2351 2387 2208 + 2352 2388 2351 2208 + 2388 2387 2351 2208 + 2208 2352 2388 2209 + 2353 2389 2352 2209 + 2389 2388 2352 2209 + 2209 2353 2389 2210 + 2354 2390 2353 2210 + 2390 2389 2353 2210 + 2210 2354 2390 2211 + 2355 2391 2354 2211 + 2391 2390 2354 2211 + 2211 2355 2391 2212 + 2356 2392 2355 2212 + 2392 2391 2355 2212 + 2212 2356 2392 2213 + 2357 2393 2356 2213 + 2393 2392 2356 2213 + 2213 2357 2393 2214 + 2358 2394 2357 2214 + 2394 2393 2357 2214 + 2214 2358 2394 2215 + 2359 2395 2358 2215 + 2395 2394 2358 2215 + 2215 2359 2395 2216 + 2360 2396 2359 2216 + 2396 2395 2359 2216 + 2216 2360 2396 2217 + 2361 2397 2360 2217 + 2397 2396 2360 2217 + 2217 2361 2397 2218 + 2362 2398 2361 2218 + 2398 2397 2361 2218 + 2218 2362 2398 2219 + 2363 2399 2362 2219 + 2399 2398 2362 2219 + 2219 2363 2399 2220 + 2364 2400 2363 2220 + 2400 2399 2363 2220 + 2220 2364 2400 2221 + 2365 2401 2364 2221 + 2401 2400 2364 2221 + 2221 2365 2401 2222 + 2366 2402 2365 2222 + 2402 2401 2365 2222 + 2222 2366 2402 2223 + 2367 2403 2366 2223 + 2403 2402 2366 2223 + 2223 2367 2403 2224 + 2368 2404 2367 2224 + 2404 2403 2367 2224 + 2224 2368 2404 2225 + 2369 2405 2368 2225 + 2405 2404 2368 2225 + 2225 2369 2405 2226 + 2370 2406 2369 2226 + 2406 2405 2369 2226 + 2226 2370 2406 2227 + 2371 2407 2370 2227 + 2407 2406 2370 2227 + 2227 2371 2407 2228 + 2372 2408 2371 2228 + 2408 2407 2371 2228 + 2228 2372 2408 2229 + 2373 2409 2372 2229 + 2409 2408 2372 2229 + 2229 2373 2409 2230 + 2374 2410 2373 2230 + 2410 2409 2373 2230 + 2230 2374 2410 2231 + 2375 2411 2374 2231 + 2411 2410 2374 2231 + 2231 2375 2411 2232 + 2376 2412 2375 2232 + 2412 2411 2375 2232 + 2232 2376 2412 2233 + 2377 2413 2376 2233 + 2413 2412 2376 2233 + 2233 2377 2413 2234 + 2378 2414 2377 2234 + 2414 2413 2377 2234 + 57 61 62 2235 + 2379 2415 61 2235 + 2415 62 61 2235 + 2235 2379 2415 2236 + 2380 2416 2379 2236 + 2416 2415 2379 2236 + 2236 2380 2416 2237 + 2381 2417 2380 2237 + 2417 2416 2380 2237 + 2237 2381 2417 2238 + 2382 2418 2381 2238 + 2418 2417 2381 2238 + 2238 2382 2418 2239 + 2383 2419 2382 2239 + 2419 2418 2382 2239 + 2239 2383 2419 2240 + 2384 2420 2383 2240 + 2420 2419 2383 2240 + 2240 2384 2420 2241 + 2385 2421 2384 2241 + 2421 2420 2384 2241 + 2241 2385 2421 2242 + 2386 2422 2385 2242 + 2422 2421 2385 2242 + 2242 2386 2422 2243 + 2387 2423 2386 2243 + 2423 2422 2386 2243 + 2243 2387 2423 2244 + 2388 2424 2387 2244 + 2424 2423 2387 2244 + 2244 2388 2424 2245 + 2389 2425 2388 2245 + 2425 2424 2388 2245 + 2245 2389 2425 2246 + 2390 2426 2389 2246 + 2426 2425 2389 2246 + 2246 2390 2426 2247 + 2391 2427 2390 2247 + 2427 2426 2390 2247 + 2247 2391 2427 2248 + 2392 2428 2391 2248 + 2428 2427 2391 2248 + 2248 2392 2428 2249 + 2393 2429 2392 2249 + 2429 2428 2392 2249 + 2249 2393 2429 2250 + 2394 2430 2393 2250 + 2430 2429 2393 2250 + 2250 2394 2430 2251 + 2395 2431 2394 2251 + 2431 2430 2394 2251 + 2251 2395 2431 2252 + 2396 2432 2395 2252 + 2432 2431 2395 2252 + 2252 2396 2432 2253 + 2397 2433 2396 2253 + 2433 2432 2396 2253 + 2253 2397 2433 2254 + 2398 2434 2397 2254 + 2434 2433 2397 2254 + 2254 2398 2434 2255 + 2399 2435 2398 2255 + 2435 2434 2398 2255 + 2255 2399 2435 2256 + 2400 2436 2399 2256 + 2436 2435 2399 2256 + 2256 2400 2436 2257 + 2401 2437 2400 2257 + 2437 2436 2400 2257 + 2257 2401 2437 2258 + 2402 2438 2401 2258 + 2438 2437 2401 2258 + 2258 2402 2438 2259 + 2403 2439 2402 2259 + 2439 2438 2402 2259 + 2259 2403 2439 2260 + 2404 2440 2403 2260 + 2440 2439 2403 2260 + 2260 2404 2440 2261 + 2405 2441 2404 2261 + 2441 2440 2404 2261 + 2261 2405 2441 2262 + 2406 2442 2405 2262 + 2442 2441 2405 2262 + 2262 2406 2442 2263 + 2407 2443 2406 2263 + 2443 2442 2406 2263 + 2263 2407 2443 2264 + 2408 2444 2407 2264 + 2444 2443 2407 2264 + 2264 2408 2444 2265 + 2409 2445 2408 2265 + 2445 2444 2408 2265 + 2265 2409 2445 2266 + 2410 2446 2409 2266 + 2446 2445 2409 2266 + 2266 2410 2446 2267 + 2411 2447 2410 2267 + 2447 2446 2410 2267 + 2267 2411 2447 2268 + 2412 2448 2411 2268 + 2448 2447 2411 2268 + 2268 2412 2448 2269 + 2413 2449 2412 2269 + 2449 2448 2412 2269 + 2269 2413 2449 2270 + 2414 2450 2413 2270 + 2450 2449 2413 2270 + 58 62 63 2271 + 2415 2451 62 2271 + 2451 63 62 2271 + 2271 2415 2451 2272 + 2416 2452 2415 2272 + 2452 2451 2415 2272 + 2272 2416 2452 2273 + 2417 2453 2416 2273 + 2453 2452 2416 2273 + 2273 2417 2453 2274 + 2418 2454 2417 2274 + 2454 2453 2417 2274 + 2274 2418 2454 2275 + 2419 2455 2418 2275 + 2455 2454 2418 2275 + 2275 2419 2455 2276 + 2420 2456 2419 2276 + 2456 2455 2419 2276 + 2276 2420 2456 2277 + 2421 2457 2420 2277 + 2457 2456 2420 2277 + 2277 2421 2457 2278 + 2422 2458 2421 2278 + 2458 2457 2421 2278 + 2278 2422 2458 2279 + 2423 2459 2422 2279 + 2459 2458 2422 2279 + 2279 2423 2459 2280 + 2424 2460 2423 2280 + 2460 2459 2423 2280 + 2280 2424 2460 2281 + 2425 2461 2424 2281 + 2461 2460 2424 2281 + 2281 2425 2461 2282 + 2426 2462 2425 2282 + 2462 2461 2425 2282 + 2282 2426 2462 2283 + 2427 2463 2426 2283 + 2463 2462 2426 2283 + 2283 2427 2463 2284 + 2428 2464 2427 2284 + 2464 2463 2427 2284 + 2284 2428 2464 2285 + 2429 2465 2428 2285 + 2465 2464 2428 2285 + 2285 2429 2465 2286 + 2430 2466 2429 2286 + 2466 2465 2429 2286 + 2286 2430 2466 2287 + 2431 2467 2430 2287 + 2467 2466 2430 2287 + 2287 2431 2467 2288 + 2432 2468 2431 2288 + 2468 2467 2431 2288 + 2288 2432 2468 2289 + 2433 2469 2432 2289 + 2469 2468 2432 2289 + 2289 2433 2469 2290 + 2434 2470 2433 2290 + 2470 2469 2433 2290 + 2290 2434 2470 2291 + 2435 2471 2434 2291 + 2471 2470 2434 2291 + 2291 2435 2471 2292 + 2436 2472 2435 2292 + 2472 2471 2435 2292 + 2292 2436 2472 2293 + 2437 2473 2436 2293 + 2473 2472 2436 2293 + 2293 2437 2473 2294 + 2438 2474 2437 2294 + 2474 2473 2437 2294 + 2294 2438 2474 2295 + 2439 2475 2438 2295 + 2475 2474 2438 2295 + 2295 2439 2475 2296 + 2440 2476 2439 2296 + 2476 2475 2439 2296 + 2296 2440 2476 2297 + 2441 2477 2440 2297 + 2477 2476 2440 2297 + 2297 2441 2477 2298 + 2442 2478 2441 2298 + 2478 2477 2441 2298 + 2298 2442 2478 2299 + 2443 2479 2442 2299 + 2479 2478 2442 2299 + 2299 2443 2479 2300 + 2444 2480 2443 2300 + 2480 2479 2443 2300 + 2300 2444 2480 2301 + 2445 2481 2444 2301 + 2481 2480 2444 2301 + 2301 2445 2481 2302 + 2446 2482 2445 2302 + 2482 2481 2445 2302 + 2302 2446 2482 2303 + 2447 2483 2446 2303 + 2483 2482 2446 2303 + 2303 2447 2483 2304 + 2448 2484 2447 2304 + 2484 2483 2447 2304 + 2304 2448 2484 2305 + 2449 2485 2448 2305 + 2485 2484 2448 2305 + 2305 2449 2485 2306 + 2450 2486 2449 2306 + 2486 2485 2449 2306 + 59 63 64 2307 + 2451 2487 63 2307 + 2487 64 63 2307 + 2307 2451 2487 2308 + 2452 2488 2451 2308 + 2488 2487 2451 2308 + 2308 2452 2488 2309 + 2453 2489 2452 2309 + 2489 2488 2452 2309 + 2309 2453 2489 2310 + 2454 2490 2453 2310 + 2490 2489 2453 2310 + 2310 2454 2490 2311 + 2455 2491 2454 2311 + 2491 2490 2454 2311 + 2311 2455 2491 2312 + 2456 2492 2455 2312 + 2492 2491 2455 2312 + 2312 2456 2492 2313 + 2457 2493 2456 2313 + 2493 2492 2456 2313 + 2313 2457 2493 2314 + 2458 2494 2457 2314 + 2494 2493 2457 2314 + 2314 2458 2494 2315 + 2459 2495 2458 2315 + 2495 2494 2458 2315 + 2315 2459 2495 2316 + 2460 2496 2459 2316 + 2496 2495 2459 2316 + 2316 2460 2496 2317 + 2461 2497 2460 2317 + 2497 2496 2460 2317 + 2317 2461 2497 2318 + 2462 2498 2461 2318 + 2498 2497 2461 2318 + 2318 2462 2498 2319 + 2463 2499 2462 2319 + 2499 2498 2462 2319 + 2319 2463 2499 2320 + 2464 2500 2463 2320 + 2500 2499 2463 2320 + 2320 2464 2500 2321 + 2465 2501 2464 2321 + 2501 2500 2464 2321 + 2321 2465 2501 2322 + 2466 2502 2465 2322 + 2502 2501 2465 2322 + 2322 2466 2502 2323 + 2467 2503 2466 2323 + 2503 2502 2466 2323 + 2323 2467 2503 2324 + 2468 2504 2467 2324 + 2504 2503 2467 2324 + 2324 2468 2504 2325 + 2469 2505 2468 2325 + 2505 2504 2468 2325 + 2325 2469 2505 2326 + 2470 2506 2469 2326 + 2506 2505 2469 2326 + 2326 2470 2506 2327 + 2471 2507 2470 2327 + 2507 2506 2470 2327 + 2327 2471 2507 2328 + 2472 2508 2471 2328 + 2508 2507 2471 2328 + 2328 2472 2508 2329 + 2473 2509 2472 2329 + 2509 2508 2472 2329 + 2329 2473 2509 2330 + 2474 2510 2473 2330 + 2510 2509 2473 2330 + 2330 2474 2510 2331 + 2475 2511 2474 2331 + 2511 2510 2474 2331 + 2331 2475 2511 2332 + 2476 2512 2475 2332 + 2512 2511 2475 2332 + 2332 2476 2512 2333 + 2477 2513 2476 2333 + 2513 2512 2476 2333 + 2333 2477 2513 2334 + 2478 2514 2477 2334 + 2514 2513 2477 2334 + 2334 2478 2514 2335 + 2479 2515 2478 2335 + 2515 2514 2478 2335 + 2335 2479 2515 2336 + 2480 2516 2479 2336 + 2516 2515 2479 2336 + 2336 2480 2516 2337 + 2481 2517 2480 2337 + 2517 2516 2480 2337 + 2337 2481 2517 2338 + 2482 2518 2481 2338 + 2518 2517 2481 2338 + 2338 2482 2518 2339 + 2483 2519 2482 2339 + 2519 2518 2482 2339 + 2339 2483 2519 2340 + 2484 2520 2483 2340 + 2520 2519 2483 2340 + 2340 2484 2520 2341 + 2485 2521 2484 2341 + 2521 2520 2484 2341 + 2341 2485 2521 2342 + 2486 2522 2485 2342 + 2522 2521 2485 2342 + 2343 1551 2199 60 + 2199 1551 38 60 + 2199 38 56 60 + 2344 1552 2200 2343 + 2200 1552 1551 2343 + 2200 1551 2199 2343 + 2345 1553 2201 2344 + 2201 1553 1552 2344 + 2201 1552 2200 2344 + 2346 1554 2202 2345 + 2202 1554 1553 2345 + 2202 1553 2201 2345 + 2347 1555 2203 2346 + 2203 1555 1554 2346 + 2203 1554 2202 2346 + 2348 1556 2204 2347 + 2204 1556 1555 2347 + 2204 1555 2203 2347 + 2349 1557 2205 2348 + 2205 1557 1556 2348 + 2205 1556 2204 2348 + 2350 1558 2206 2349 + 2206 1558 1557 2349 + 2206 1557 2205 2349 + 2351 1559 2207 2350 + 2207 1559 1558 2350 + 2207 1558 2206 2350 + 2352 1560 2208 2351 + 2208 1560 1559 2351 + 2208 1559 2207 2351 + 2353 1561 2209 2352 + 2209 1561 1560 2352 + 2209 1560 2208 2352 + 2354 1562 2210 2353 + 2210 1562 1561 2353 + 2210 1561 2209 2353 + 2355 1563 2211 2354 + 2211 1563 1562 2354 + 2211 1562 2210 2354 + 2356 1564 2212 2355 + 2212 1564 1563 2355 + 2212 1563 2211 2355 + 2357 1565 2213 2356 + 2213 1565 1564 2356 + 2213 1564 2212 2356 + 2358 1566 2214 2357 + 2214 1566 1565 2357 + 2214 1565 2213 2357 + 2359 1567 2215 2358 + 2215 1567 1566 2358 + 2215 1566 2214 2358 + 2360 1568 2216 2359 + 2216 1568 1567 2359 + 2216 1567 2215 2359 + 2361 1569 2217 2360 + 2217 1569 1568 2360 + 2217 1568 2216 2360 + 2362 1570 2218 2361 + 2218 1570 1569 2361 + 2218 1569 2217 2361 + 2363 1571 2219 2362 + 2219 1571 1570 2362 + 2219 1570 2218 2362 + 2364 1572 2220 2363 + 2220 1572 1571 2363 + 2220 1571 2219 2363 + 2365 1573 2221 2364 + 2221 1573 1572 2364 + 2221 1572 2220 2364 + 2366 1574 2222 2365 + 2222 1574 1573 2365 + 2222 1573 2221 2365 + 2367 1575 2223 2366 + 2223 1575 1574 2366 + 2223 1574 2222 2366 + 2368 1576 2224 2367 + 2224 1576 1575 2367 + 2224 1575 2223 2367 + 2369 1577 2225 2368 + 2225 1577 1576 2368 + 2225 1576 2224 2368 + 2370 1578 2226 2369 + 2226 1578 1577 2369 + 2226 1577 2225 2369 + 2371 1579 2227 2370 + 2227 1579 1578 2370 + 2227 1578 2226 2370 + 2372 1580 2228 2371 + 2228 1580 1579 2371 + 2228 1579 2227 2371 + 2373 1581 2229 2372 + 2229 1581 1580 2372 + 2229 1580 2228 2372 + 2374 1582 2230 2373 + 2230 1582 1581 2373 + 2230 1581 2229 2373 + 2375 1583 2231 2374 + 2231 1583 1582 2374 + 2231 1582 2230 2374 + 2376 1584 2232 2375 + 2232 1584 1583 2375 + 2232 1583 2231 2375 + 2377 1585 2233 2376 + 2233 1585 1584 2376 + 2233 1584 2232 2376 + 2378 1586 2234 2377 + 2234 1586 1585 2377 + 2234 1585 2233 2377 + 2379 2199 2235 61 + 2235 2199 56 61 + 2235 56 57 61 + 2380 2200 2236 2379 + 2236 2200 2199 2379 + 2236 2199 2235 2379 + 2381 2201 2237 2380 + 2237 2201 2200 2380 + 2237 2200 2236 2380 + 2382 2202 2238 2381 + 2238 2202 2201 2381 + 2238 2201 2237 2381 + 2383 2203 2239 2382 + 2239 2203 2202 2382 + 2239 2202 2238 2382 + 2384 2204 2240 2383 + 2240 2204 2203 2383 + 2240 2203 2239 2383 + 2385 2205 2241 2384 + 2241 2205 2204 2384 + 2241 2204 2240 2384 + 2386 2206 2242 2385 + 2242 2206 2205 2385 + 2242 2205 2241 2385 + 2387 2207 2243 2386 + 2243 2207 2206 2386 + 2243 2206 2242 2386 + 2388 2208 2244 2387 + 2244 2208 2207 2387 + 2244 2207 2243 2387 + 2389 2209 2245 2388 + 2245 2209 2208 2388 + 2245 2208 2244 2388 + 2390 2210 2246 2389 + 2246 2210 2209 2389 + 2246 2209 2245 2389 + 2391 2211 2247 2390 + 2247 2211 2210 2390 + 2247 2210 2246 2390 + 2392 2212 2248 2391 + 2248 2212 2211 2391 + 2248 2211 2247 2391 + 2393 2213 2249 2392 + 2249 2213 2212 2392 + 2249 2212 2248 2392 + 2394 2214 2250 2393 + 2250 2214 2213 2393 + 2250 2213 2249 2393 + 2395 2215 2251 2394 + 2251 2215 2214 2394 + 2251 2214 2250 2394 + 2396 2216 2252 2395 + 2252 2216 2215 2395 + 2252 2215 2251 2395 + 2397 2217 2253 2396 + 2253 2217 2216 2396 + 2253 2216 2252 2396 + 2398 2218 2254 2397 + 2254 2218 2217 2397 + 2254 2217 2253 2397 + 2399 2219 2255 2398 + 2255 2219 2218 2398 + 2255 2218 2254 2398 + 2400 2220 2256 2399 + 2256 2220 2219 2399 + 2256 2219 2255 2399 + 2401 2221 2257 2400 + 2257 2221 2220 2400 + 2257 2220 2256 2400 + 2402 2222 2258 2401 + 2258 2222 2221 2401 + 2258 2221 2257 2401 + 2403 2223 2259 2402 + 2259 2223 2222 2402 + 2259 2222 2258 2402 + 2404 2224 2260 2403 + 2260 2224 2223 2403 + 2260 2223 2259 2403 + 2405 2225 2261 2404 + 2261 2225 2224 2404 + 2261 2224 2260 2404 + 2406 2226 2262 2405 + 2262 2226 2225 2405 + 2262 2225 2261 2405 + 2407 2227 2263 2406 + 2263 2227 2226 2406 + 2263 2226 2262 2406 + 2408 2228 2264 2407 + 2264 2228 2227 2407 + 2264 2227 2263 2407 + 2409 2229 2265 2408 + 2265 2229 2228 2408 + 2265 2228 2264 2408 + 2410 2230 2266 2409 + 2266 2230 2229 2409 + 2266 2229 2265 2409 + 2411 2231 2267 2410 + 2267 2231 2230 2410 + 2267 2230 2266 2410 + 2412 2232 2268 2411 + 2268 2232 2231 2411 + 2268 2231 2267 2411 + 2413 2233 2269 2412 + 2269 2233 2232 2412 + 2269 2232 2268 2412 + 2414 2234 2270 2413 + 2270 2234 2233 2413 + 2270 2233 2269 2413 + 2415 2235 2271 62 + 2271 2235 57 62 + 2271 57 58 62 + 2416 2236 2272 2415 + 2272 2236 2235 2415 + 2272 2235 2271 2415 + 2417 2237 2273 2416 + 2273 2237 2236 2416 + 2273 2236 2272 2416 + 2418 2238 2274 2417 + 2274 2238 2237 2417 + 2274 2237 2273 2417 + 2419 2239 2275 2418 + 2275 2239 2238 2418 + 2275 2238 2274 2418 + 2420 2240 2276 2419 + 2276 2240 2239 2419 + 2276 2239 2275 2419 + 2421 2241 2277 2420 + 2277 2241 2240 2420 + 2277 2240 2276 2420 + 2422 2242 2278 2421 + 2278 2242 2241 2421 + 2278 2241 2277 2421 + 2423 2243 2279 2422 + 2279 2243 2242 2422 + 2279 2242 2278 2422 + 2424 2244 2280 2423 + 2280 2244 2243 2423 + 2280 2243 2279 2423 + 2425 2245 2281 2424 + 2281 2245 2244 2424 + 2281 2244 2280 2424 + 2426 2246 2282 2425 + 2282 2246 2245 2425 + 2282 2245 2281 2425 + 2427 2247 2283 2426 + 2283 2247 2246 2426 + 2283 2246 2282 2426 + 2428 2248 2284 2427 + 2284 2248 2247 2427 + 2284 2247 2283 2427 + 2429 2249 2285 2428 + 2285 2249 2248 2428 + 2285 2248 2284 2428 + 2430 2250 2286 2429 + 2286 2250 2249 2429 + 2286 2249 2285 2429 + 2431 2251 2287 2430 + 2287 2251 2250 2430 + 2287 2250 2286 2430 + 2432 2252 2288 2431 + 2288 2252 2251 2431 + 2288 2251 2287 2431 + 2433 2253 2289 2432 + 2289 2253 2252 2432 + 2289 2252 2288 2432 + 2434 2254 2290 2433 + 2290 2254 2253 2433 + 2290 2253 2289 2433 + 2435 2255 2291 2434 + 2291 2255 2254 2434 + 2291 2254 2290 2434 + 2436 2256 2292 2435 + 2292 2256 2255 2435 + 2292 2255 2291 2435 + 2437 2257 2293 2436 + 2293 2257 2256 2436 + 2293 2256 2292 2436 + 2438 2258 2294 2437 + 2294 2258 2257 2437 + 2294 2257 2293 2437 + 2439 2259 2295 2438 + 2295 2259 2258 2438 + 2295 2258 2294 2438 + 2440 2260 2296 2439 + 2296 2260 2259 2439 + 2296 2259 2295 2439 + 2441 2261 2297 2440 + 2297 2261 2260 2440 + 2297 2260 2296 2440 + 2442 2262 2298 2441 + 2298 2262 2261 2441 + 2298 2261 2297 2441 + 2443 2263 2299 2442 + 2299 2263 2262 2442 + 2299 2262 2298 2442 + 2444 2264 2300 2443 + 2300 2264 2263 2443 + 2300 2263 2299 2443 + 2445 2265 2301 2444 + 2301 2265 2264 2444 + 2301 2264 2300 2444 + 2446 2266 2302 2445 + 2302 2266 2265 2445 + 2302 2265 2301 2445 + 2447 2267 2303 2446 + 2303 2267 2266 2446 + 2303 2266 2302 2446 + 2448 2268 2304 2447 + 2304 2268 2267 2447 + 2304 2267 2303 2447 + 2449 2269 2305 2448 + 2305 2269 2268 2448 + 2305 2268 2304 2448 + 2450 2270 2306 2449 + 2306 2270 2269 2449 + 2306 2269 2305 2449 + 2451 2271 2307 63 + 2307 2271 58 63 + 2307 58 59 63 + 2452 2272 2308 2451 + 2308 2272 2271 2451 + 2308 2271 2307 2451 + 2453 2273 2309 2452 + 2309 2273 2272 2452 + 2309 2272 2308 2452 + 2454 2274 2310 2453 + 2310 2274 2273 2453 + 2310 2273 2309 2453 + 2455 2275 2311 2454 + 2311 2275 2274 2454 + 2311 2274 2310 2454 + 2456 2276 2312 2455 + 2312 2276 2275 2455 + 2312 2275 2311 2455 + 2457 2277 2313 2456 + 2313 2277 2276 2456 + 2313 2276 2312 2456 + 2458 2278 2314 2457 + 2314 2278 2277 2457 + 2314 2277 2313 2457 + 2459 2279 2315 2458 + 2315 2279 2278 2458 + 2315 2278 2314 2458 + 2460 2280 2316 2459 + 2316 2280 2279 2459 + 2316 2279 2315 2459 + 2461 2281 2317 2460 + 2317 2281 2280 2460 + 2317 2280 2316 2460 + 2462 2282 2318 2461 + 2318 2282 2281 2461 + 2318 2281 2317 2461 + 2463 2283 2319 2462 + 2319 2283 2282 2462 + 2319 2282 2318 2462 + 2464 2284 2320 2463 + 2320 2284 2283 2463 + 2320 2283 2319 2463 + 2465 2285 2321 2464 + 2321 2285 2284 2464 + 2321 2284 2320 2464 + 2466 2286 2322 2465 + 2322 2286 2285 2465 + 2322 2285 2321 2465 + 2467 2287 2323 2466 + 2323 2287 2286 2466 + 2323 2286 2322 2466 + 2468 2288 2324 2467 + 2324 2288 2287 2467 + 2324 2287 2323 2467 + 2469 2289 2325 2468 + 2325 2289 2288 2468 + 2325 2288 2324 2468 + 2470 2290 2326 2469 + 2326 2290 2289 2469 + 2326 2289 2325 2469 + 2471 2291 2327 2470 + 2327 2291 2290 2470 + 2327 2290 2326 2470 + 2472 2292 2328 2471 + 2328 2292 2291 2471 + 2328 2291 2327 2471 + 2473 2293 2329 2472 + 2329 2293 2292 2472 + 2329 2292 2328 2472 + 2474 2294 2330 2473 + 2330 2294 2293 2473 + 2330 2293 2329 2473 + 2475 2295 2331 2474 + 2331 2295 2294 2474 + 2331 2294 2330 2474 + 2476 2296 2332 2475 + 2332 2296 2295 2475 + 2332 2295 2331 2475 + 2477 2297 2333 2476 + 2333 2297 2296 2476 + 2333 2296 2332 2476 + 2478 2298 2334 2477 + 2334 2298 2297 2477 + 2334 2297 2333 2477 + 2479 2299 2335 2478 + 2335 2299 2298 2478 + 2335 2298 2334 2478 + 2480 2300 2336 2479 + 2336 2300 2299 2479 + 2336 2299 2335 2479 + 2481 2301 2337 2480 + 2337 2301 2300 2480 + 2337 2300 2336 2480 + 2482 2302 2338 2481 + 2338 2302 2301 2481 + 2338 2301 2337 2481 + 2483 2303 2339 2482 + 2339 2303 2302 2482 + 2339 2302 2338 2482 + 2484 2304 2340 2483 + 2340 2304 2303 2483 + 2340 2303 2339 2483 + 2485 2305 2341 2484 + 2341 2305 2304 2484 + 2341 2304 2340 2484 + 2486 2306 2342 2485 + 2342 2306 2305 2485 + 2342 2305 2341 2485 + 43 49 65 1731 + 1947 2523 49 1731 + 2523 65 49 1731 + 1731 1947 2523 1732 + 1948 2524 1947 1732 + 2524 2523 1947 1732 + 1732 1948 2524 1733 + 1949 2525 1948 1733 + 2525 2524 1948 1733 + 1733 1949 2525 1734 + 1950 2526 1949 1734 + 2526 2525 1949 1734 + 1734 1950 2526 1735 + 1951 2527 1950 1735 + 2527 2526 1950 1735 + 1735 1951 2527 1736 + 1952 2528 1951 1736 + 2528 2527 1951 1736 + 1736 1952 2528 1737 + 1953 2529 1952 1737 + 2529 2528 1952 1737 + 1737 1953 2529 1738 + 1954 2530 1953 1738 + 2530 2529 1953 1738 + 1738 1954 2530 1739 + 1955 2531 1954 1739 + 2531 2530 1954 1739 + 1739 1955 2531 1740 + 1956 2532 1955 1740 + 2532 2531 1955 1740 + 1740 1956 2532 1741 + 1957 2533 1956 1741 + 2533 2532 1956 1741 + 1741 1957 2533 1742 + 1958 2534 1957 1742 + 2534 2533 1957 1742 + 1742 1958 2534 1743 + 1959 2535 1958 1743 + 2535 2534 1958 1743 + 1743 1959 2535 1744 + 1960 2536 1959 1744 + 2536 2535 1959 1744 + 1744 1960 2536 1745 + 1961 2537 1960 1745 + 2537 2536 1960 1745 + 1745 1961 2537 1746 + 1962 2538 1961 1746 + 2538 2537 1961 1746 + 1746 1962 2538 1747 + 1963 2539 1962 1747 + 2539 2538 1962 1747 + 1747 1963 2539 1748 + 1964 2540 1963 1748 + 2540 2539 1963 1748 + 1748 1964 2540 1749 + 1965 2541 1964 1749 + 2541 2540 1964 1749 + 1749 1965 2541 1750 + 1966 2542 1965 1750 + 2542 2541 1965 1750 + 1750 1966 2542 1751 + 1967 2543 1966 1751 + 2543 2542 1966 1751 + 1751 1967 2543 1752 + 1968 2544 1967 1752 + 2544 2543 1967 1752 + 1752 1968 2544 1753 + 1969 2545 1968 1753 + 2545 2544 1968 1753 + 1753 1969 2545 1754 + 1970 2546 1969 1754 + 2546 2545 1969 1754 + 1754 1970 2546 1755 + 1971 2547 1970 1755 + 2547 2546 1970 1755 + 1755 1971 2547 1756 + 1972 2548 1971 1756 + 2548 2547 1971 1756 + 1756 1972 2548 1757 + 1973 2549 1972 1757 + 2549 2548 1972 1757 + 1757 1973 2549 1758 + 1974 2550 1973 1758 + 2550 2549 1973 1758 + 1758 1974 2550 1759 + 1975 2551 1974 1759 + 2551 2550 1974 1759 + 1759 1975 2551 1760 + 1976 2552 1975 1760 + 2552 2551 1975 1760 + 1760 1976 2552 1761 + 1977 2553 1976 1761 + 2553 2552 1976 1761 + 1761 1977 2553 1762 + 1978 2554 1977 1762 + 2554 2553 1977 1762 + 1762 1978 2554 1763 + 1979 2555 1978 1763 + 2555 2554 1978 1763 + 1763 1979 2555 1764 + 1980 2556 1979 1764 + 2556 2555 1979 1764 + 1764 1980 2556 1765 + 1981 2557 1980 1765 + 2557 2556 1980 1765 + 1765 1981 2557 1766 + 1982 2558 1981 1766 + 2558 2557 1981 1766 + 60 65 66 2343 + 2523 2559 65 2343 + 2559 66 65 2343 + 2343 2523 2559 2344 + 2524 2560 2523 2344 + 2560 2559 2523 2344 + 2344 2524 2560 2345 + 2525 2561 2524 2345 + 2561 2560 2524 2345 + 2345 2525 2561 2346 + 2526 2562 2525 2346 + 2562 2561 2525 2346 + 2346 2526 2562 2347 + 2527 2563 2526 2347 + 2563 2562 2526 2347 + 2347 2527 2563 2348 + 2528 2564 2527 2348 + 2564 2563 2527 2348 + 2348 2528 2564 2349 + 2529 2565 2528 2349 + 2565 2564 2528 2349 + 2349 2529 2565 2350 + 2530 2566 2529 2350 + 2566 2565 2529 2350 + 2350 2530 2566 2351 + 2531 2567 2530 2351 + 2567 2566 2530 2351 + 2351 2531 2567 2352 + 2532 2568 2531 2352 + 2568 2567 2531 2352 + 2352 2532 2568 2353 + 2533 2569 2532 2353 + 2569 2568 2532 2353 + 2353 2533 2569 2354 + 2534 2570 2533 2354 + 2570 2569 2533 2354 + 2354 2534 2570 2355 + 2535 2571 2534 2355 + 2571 2570 2534 2355 + 2355 2535 2571 2356 + 2536 2572 2535 2356 + 2572 2571 2535 2356 + 2356 2536 2572 2357 + 2537 2573 2536 2357 + 2573 2572 2536 2357 + 2357 2537 2573 2358 + 2538 2574 2537 2358 + 2574 2573 2537 2358 + 2358 2538 2574 2359 + 2539 2575 2538 2359 + 2575 2574 2538 2359 + 2359 2539 2575 2360 + 2540 2576 2539 2360 + 2576 2575 2539 2360 + 2360 2540 2576 2361 + 2541 2577 2540 2361 + 2577 2576 2540 2361 + 2361 2541 2577 2362 + 2542 2578 2541 2362 + 2578 2577 2541 2362 + 2362 2542 2578 2363 + 2543 2579 2542 2363 + 2579 2578 2542 2363 + 2363 2543 2579 2364 + 2544 2580 2543 2364 + 2580 2579 2543 2364 + 2364 2544 2580 2365 + 2545 2581 2544 2365 + 2581 2580 2544 2365 + 2365 2545 2581 2366 + 2546 2582 2545 2366 + 2582 2581 2545 2366 + 2366 2546 2582 2367 + 2547 2583 2546 2367 + 2583 2582 2546 2367 + 2367 2547 2583 2368 + 2548 2584 2547 2368 + 2584 2583 2547 2368 + 2368 2548 2584 2369 + 2549 2585 2548 2369 + 2585 2584 2548 2369 + 2369 2549 2585 2370 + 2550 2586 2549 2370 + 2586 2585 2549 2370 + 2370 2550 2586 2371 + 2551 2587 2550 2371 + 2587 2586 2550 2371 + 2371 2551 2587 2372 + 2552 2588 2551 2372 + 2588 2587 2551 2372 + 2372 2552 2588 2373 + 2553 2589 2552 2373 + 2589 2588 2552 2373 + 2373 2553 2589 2374 + 2554 2590 2553 2374 + 2590 2589 2553 2374 + 2374 2554 2590 2375 + 2555 2591 2554 2375 + 2591 2590 2554 2375 + 2375 2555 2591 2376 + 2556 2592 2555 2376 + 2592 2591 2555 2376 + 2376 2556 2592 2377 + 2557 2593 2556 2377 + 2593 2592 2556 2377 + 2377 2557 2593 2378 + 2558 2594 2557 2378 + 2594 2593 2557 2378 + 61 66 67 2379 + 2559 2595 66 2379 + 2595 67 66 2379 + 2379 2559 2595 2380 + 2560 2596 2559 2380 + 2596 2595 2559 2380 + 2380 2560 2596 2381 + 2561 2597 2560 2381 + 2597 2596 2560 2381 + 2381 2561 2597 2382 + 2562 2598 2561 2382 + 2598 2597 2561 2382 + 2382 2562 2598 2383 + 2563 2599 2562 2383 + 2599 2598 2562 2383 + 2383 2563 2599 2384 + 2564 2600 2563 2384 + 2600 2599 2563 2384 + 2384 2564 2600 2385 + 2565 2601 2564 2385 + 2601 2600 2564 2385 + 2385 2565 2601 2386 + 2566 2602 2565 2386 + 2602 2601 2565 2386 + 2386 2566 2602 2387 + 2567 2603 2566 2387 + 2603 2602 2566 2387 + 2387 2567 2603 2388 + 2568 2604 2567 2388 + 2604 2603 2567 2388 + 2388 2568 2604 2389 + 2569 2605 2568 2389 + 2605 2604 2568 2389 + 2389 2569 2605 2390 + 2570 2606 2569 2390 + 2606 2605 2569 2390 + 2390 2570 2606 2391 + 2571 2607 2570 2391 + 2607 2606 2570 2391 + 2391 2571 2607 2392 + 2572 2608 2571 2392 + 2608 2607 2571 2392 + 2392 2572 2608 2393 + 2573 2609 2572 2393 + 2609 2608 2572 2393 + 2393 2573 2609 2394 + 2574 2610 2573 2394 + 2610 2609 2573 2394 + 2394 2574 2610 2395 + 2575 2611 2574 2395 + 2611 2610 2574 2395 + 2395 2575 2611 2396 + 2576 2612 2575 2396 + 2612 2611 2575 2396 + 2396 2576 2612 2397 + 2577 2613 2576 2397 + 2613 2612 2576 2397 + 2397 2577 2613 2398 + 2578 2614 2577 2398 + 2614 2613 2577 2398 + 2398 2578 2614 2399 + 2579 2615 2578 2399 + 2615 2614 2578 2399 + 2399 2579 2615 2400 + 2580 2616 2579 2400 + 2616 2615 2579 2400 + 2400 2580 2616 2401 + 2581 2617 2580 2401 + 2617 2616 2580 2401 + 2401 2581 2617 2402 + 2582 2618 2581 2402 + 2618 2617 2581 2402 + 2402 2582 2618 2403 + 2583 2619 2582 2403 + 2619 2618 2582 2403 + 2403 2583 2619 2404 + 2584 2620 2583 2404 + 2620 2619 2583 2404 + 2404 2584 2620 2405 + 2585 2621 2584 2405 + 2621 2620 2584 2405 + 2405 2585 2621 2406 + 2586 2622 2585 2406 + 2622 2621 2585 2406 + 2406 2586 2622 2407 + 2587 2623 2586 2407 + 2623 2622 2586 2407 + 2407 2587 2623 2408 + 2588 2624 2587 2408 + 2624 2623 2587 2408 + 2408 2588 2624 2409 + 2589 2625 2588 2409 + 2625 2624 2588 2409 + 2409 2589 2625 2410 + 2590 2626 2589 2410 + 2626 2625 2589 2410 + 2410 2590 2626 2411 + 2591 2627 2590 2411 + 2627 2626 2590 2411 + 2411 2591 2627 2412 + 2592 2628 2591 2412 + 2628 2627 2591 2412 + 2412 2592 2628 2413 + 2593 2629 2592 2413 + 2629 2628 2592 2413 + 2413 2593 2629 2414 + 2594 2630 2593 2414 + 2630 2629 2593 2414 + 62 67 68 2415 + 2595 2631 67 2415 + 2631 68 67 2415 + 2415 2595 2631 2416 + 2596 2632 2595 2416 + 2632 2631 2595 2416 + 2416 2596 2632 2417 + 2597 2633 2596 2417 + 2633 2632 2596 2417 + 2417 2597 2633 2418 + 2598 2634 2597 2418 + 2634 2633 2597 2418 + 2418 2598 2634 2419 + 2599 2635 2598 2419 + 2635 2634 2598 2419 + 2419 2599 2635 2420 + 2600 2636 2599 2420 + 2636 2635 2599 2420 + 2420 2600 2636 2421 + 2601 2637 2600 2421 + 2637 2636 2600 2421 + 2421 2601 2637 2422 + 2602 2638 2601 2422 + 2638 2637 2601 2422 + 2422 2602 2638 2423 + 2603 2639 2602 2423 + 2639 2638 2602 2423 + 2423 2603 2639 2424 + 2604 2640 2603 2424 + 2640 2639 2603 2424 + 2424 2604 2640 2425 + 2605 2641 2604 2425 + 2641 2640 2604 2425 + 2425 2605 2641 2426 + 2606 2642 2605 2426 + 2642 2641 2605 2426 + 2426 2606 2642 2427 + 2607 2643 2606 2427 + 2643 2642 2606 2427 + 2427 2607 2643 2428 + 2608 2644 2607 2428 + 2644 2643 2607 2428 + 2428 2608 2644 2429 + 2609 2645 2608 2429 + 2645 2644 2608 2429 + 2429 2609 2645 2430 + 2610 2646 2609 2430 + 2646 2645 2609 2430 + 2430 2610 2646 2431 + 2611 2647 2610 2431 + 2647 2646 2610 2431 + 2431 2611 2647 2432 + 2612 2648 2611 2432 + 2648 2647 2611 2432 + 2432 2612 2648 2433 + 2613 2649 2612 2433 + 2649 2648 2612 2433 + 2433 2613 2649 2434 + 2614 2650 2613 2434 + 2650 2649 2613 2434 + 2434 2614 2650 2435 + 2615 2651 2614 2435 + 2651 2650 2614 2435 + 2435 2615 2651 2436 + 2616 2652 2615 2436 + 2652 2651 2615 2436 + 2436 2616 2652 2437 + 2617 2653 2616 2437 + 2653 2652 2616 2437 + 2437 2617 2653 2438 + 2618 2654 2617 2438 + 2654 2653 2617 2438 + 2438 2618 2654 2439 + 2619 2655 2618 2439 + 2655 2654 2618 2439 + 2439 2619 2655 2440 + 2620 2656 2619 2440 + 2656 2655 2619 2440 + 2440 2620 2656 2441 + 2621 2657 2620 2441 + 2657 2656 2620 2441 + 2441 2621 2657 2442 + 2622 2658 2621 2442 + 2658 2657 2621 2442 + 2442 2622 2658 2443 + 2623 2659 2622 2443 + 2659 2658 2622 2443 + 2443 2623 2659 2444 + 2624 2660 2623 2444 + 2660 2659 2623 2444 + 2444 2624 2660 2445 + 2625 2661 2624 2445 + 2661 2660 2624 2445 + 2445 2625 2661 2446 + 2626 2662 2625 2446 + 2662 2661 2625 2446 + 2446 2626 2662 2447 + 2627 2663 2626 2447 + 2663 2662 2626 2447 + 2447 2627 2663 2448 + 2628 2664 2627 2448 + 2664 2663 2627 2448 + 2448 2628 2664 2449 + 2629 2665 2628 2449 + 2665 2664 2628 2449 + 2449 2629 2665 2450 + 2630 2666 2629 2450 + 2666 2665 2629 2450 + 63 68 69 2451 + 2631 2667 68 2451 + 2667 69 68 2451 + 2451 2631 2667 2452 + 2632 2668 2631 2452 + 2668 2667 2631 2452 + 2452 2632 2668 2453 + 2633 2669 2632 2453 + 2669 2668 2632 2453 + 2453 2633 2669 2454 + 2634 2670 2633 2454 + 2670 2669 2633 2454 + 2454 2634 2670 2455 + 2635 2671 2634 2455 + 2671 2670 2634 2455 + 2455 2635 2671 2456 + 2636 2672 2635 2456 + 2672 2671 2635 2456 + 2456 2636 2672 2457 + 2637 2673 2636 2457 + 2673 2672 2636 2457 + 2457 2637 2673 2458 + 2638 2674 2637 2458 + 2674 2673 2637 2458 + 2458 2638 2674 2459 + 2639 2675 2638 2459 + 2675 2674 2638 2459 + 2459 2639 2675 2460 + 2640 2676 2639 2460 + 2676 2675 2639 2460 + 2460 2640 2676 2461 + 2641 2677 2640 2461 + 2677 2676 2640 2461 + 2461 2641 2677 2462 + 2642 2678 2641 2462 + 2678 2677 2641 2462 + 2462 2642 2678 2463 + 2643 2679 2642 2463 + 2679 2678 2642 2463 + 2463 2643 2679 2464 + 2644 2680 2643 2464 + 2680 2679 2643 2464 + 2464 2644 2680 2465 + 2645 2681 2644 2465 + 2681 2680 2644 2465 + 2465 2645 2681 2466 + 2646 2682 2645 2466 + 2682 2681 2645 2466 + 2466 2646 2682 2467 + 2647 2683 2646 2467 + 2683 2682 2646 2467 + 2467 2647 2683 2468 + 2648 2684 2647 2468 + 2684 2683 2647 2468 + 2468 2648 2684 2469 + 2649 2685 2648 2469 + 2685 2684 2648 2469 + 2469 2649 2685 2470 + 2650 2686 2649 2470 + 2686 2685 2649 2470 + 2470 2650 2686 2471 + 2651 2687 2650 2471 + 2687 2686 2650 2471 + 2471 2651 2687 2472 + 2652 2688 2651 2472 + 2688 2687 2651 2472 + 2472 2652 2688 2473 + 2653 2689 2652 2473 + 2689 2688 2652 2473 + 2473 2653 2689 2474 + 2654 2690 2653 2474 + 2690 2689 2653 2474 + 2474 2654 2690 2475 + 2655 2691 2654 2475 + 2691 2690 2654 2475 + 2475 2655 2691 2476 + 2656 2692 2655 2476 + 2692 2691 2655 2476 + 2476 2656 2692 2477 + 2657 2693 2656 2477 + 2693 2692 2656 2477 + 2477 2657 2693 2478 + 2658 2694 2657 2478 + 2694 2693 2657 2478 + 2478 2658 2694 2479 + 2659 2695 2658 2479 + 2695 2694 2658 2479 + 2479 2659 2695 2480 + 2660 2696 2659 2480 + 2696 2695 2659 2480 + 2480 2660 2696 2481 + 2661 2697 2660 2481 + 2697 2696 2660 2481 + 2481 2661 2697 2482 + 2662 2698 2661 2482 + 2698 2697 2661 2482 + 2482 2662 2698 2483 + 2663 2699 2662 2483 + 2699 2698 2662 2483 + 2483 2663 2699 2484 + 2664 2700 2663 2484 + 2700 2699 2663 2484 + 2484 2664 2700 2485 + 2665 2701 2664 2485 + 2701 2700 2664 2485 + 2485 2665 2701 2486 + 2666 2702 2665 2486 + 2702 2701 2665 2486 + 64 69 70 2487 + 2667 2703 69 2487 + 2703 70 69 2487 + 2487 2667 2703 2488 + 2668 2704 2667 2488 + 2704 2703 2667 2488 + 2488 2668 2704 2489 + 2669 2705 2668 2489 + 2705 2704 2668 2489 + 2489 2669 2705 2490 + 2670 2706 2669 2490 + 2706 2705 2669 2490 + 2490 2670 2706 2491 + 2671 2707 2670 2491 + 2707 2706 2670 2491 + 2491 2671 2707 2492 + 2672 2708 2671 2492 + 2708 2707 2671 2492 + 2492 2672 2708 2493 + 2673 2709 2672 2493 + 2709 2708 2672 2493 + 2493 2673 2709 2494 + 2674 2710 2673 2494 + 2710 2709 2673 2494 + 2494 2674 2710 2495 + 2675 2711 2674 2495 + 2711 2710 2674 2495 + 2495 2675 2711 2496 + 2676 2712 2675 2496 + 2712 2711 2675 2496 + 2496 2676 2712 2497 + 2677 2713 2676 2497 + 2713 2712 2676 2497 + 2497 2677 2713 2498 + 2678 2714 2677 2498 + 2714 2713 2677 2498 + 2498 2678 2714 2499 + 2679 2715 2678 2499 + 2715 2714 2678 2499 + 2499 2679 2715 2500 + 2680 2716 2679 2500 + 2716 2715 2679 2500 + 2500 2680 2716 2501 + 2681 2717 2680 2501 + 2717 2716 2680 2501 + 2501 2681 2717 2502 + 2682 2718 2681 2502 + 2718 2717 2681 2502 + 2502 2682 2718 2503 + 2683 2719 2682 2503 + 2719 2718 2682 2503 + 2503 2683 2719 2504 + 2684 2720 2683 2504 + 2720 2719 2683 2504 + 2504 2684 2720 2505 + 2685 2721 2684 2505 + 2721 2720 2684 2505 + 2505 2685 2721 2506 + 2686 2722 2685 2506 + 2722 2721 2685 2506 + 2506 2686 2722 2507 + 2687 2723 2686 2507 + 2723 2722 2686 2507 + 2507 2687 2723 2508 + 2688 2724 2687 2508 + 2724 2723 2687 2508 + 2508 2688 2724 2509 + 2689 2725 2688 2509 + 2725 2724 2688 2509 + 2509 2689 2725 2510 + 2690 2726 2689 2510 + 2726 2725 2689 2510 + 2510 2690 2726 2511 + 2691 2727 2690 2511 + 2727 2726 2690 2511 + 2511 2691 2727 2512 + 2692 2728 2691 2512 + 2728 2727 2691 2512 + 2512 2692 2728 2513 + 2693 2729 2692 2513 + 2729 2728 2692 2513 + 2513 2693 2729 2514 + 2694 2730 2693 2514 + 2730 2729 2693 2514 + 2514 2694 2730 2515 + 2695 2731 2694 2515 + 2731 2730 2694 2515 + 2515 2695 2731 2516 + 2696 2732 2695 2516 + 2732 2731 2695 2516 + 2516 2696 2732 2517 + 2697 2733 2696 2517 + 2733 2732 2696 2517 + 2517 2697 2733 2518 + 2698 2734 2697 2518 + 2734 2733 2697 2518 + 2518 2698 2734 2519 + 2699 2735 2698 2519 + 2735 2734 2698 2519 + 2519 2699 2735 2520 + 2700 2736 2699 2520 + 2736 2735 2699 2520 + 2520 2700 2736 2521 + 2701 2737 2700 2521 + 2737 2736 2700 2521 + 2521 2701 2737 2522 + 2702 2738 2701 2522 + 2738 2737 2701 2522 + 2523 1731 2343 65 + 2343 1731 43 65 + 2343 43 60 65 + 2524 1732 2344 2523 + 2344 1732 1731 2523 + 2344 1731 2343 2523 + 2525 1733 2345 2524 + 2345 1733 1732 2524 + 2345 1732 2344 2524 + 2526 1734 2346 2525 + 2346 1734 1733 2525 + 2346 1733 2345 2525 + 2527 1735 2347 2526 + 2347 1735 1734 2526 + 2347 1734 2346 2526 + 2528 1736 2348 2527 + 2348 1736 1735 2527 + 2348 1735 2347 2527 + 2529 1737 2349 2528 + 2349 1737 1736 2528 + 2349 1736 2348 2528 + 2530 1738 2350 2529 + 2350 1738 1737 2529 + 2350 1737 2349 2529 + 2531 1739 2351 2530 + 2351 1739 1738 2530 + 2351 1738 2350 2530 + 2532 1740 2352 2531 + 2352 1740 1739 2531 + 2352 1739 2351 2531 + 2533 1741 2353 2532 + 2353 1741 1740 2532 + 2353 1740 2352 2532 + 2534 1742 2354 2533 + 2354 1742 1741 2533 + 2354 1741 2353 2533 + 2535 1743 2355 2534 + 2355 1743 1742 2534 + 2355 1742 2354 2534 + 2536 1744 2356 2535 + 2356 1744 1743 2535 + 2356 1743 2355 2535 + 2537 1745 2357 2536 + 2357 1745 1744 2536 + 2357 1744 2356 2536 + 2538 1746 2358 2537 + 2358 1746 1745 2537 + 2358 1745 2357 2537 + 2539 1747 2359 2538 + 2359 1747 1746 2538 + 2359 1746 2358 2538 + 2540 1748 2360 2539 + 2360 1748 1747 2539 + 2360 1747 2359 2539 + 2541 1749 2361 2540 + 2361 1749 1748 2540 + 2361 1748 2360 2540 + 2542 1750 2362 2541 + 2362 1750 1749 2541 + 2362 1749 2361 2541 + 2543 1751 2363 2542 + 2363 1751 1750 2542 + 2363 1750 2362 2542 + 2544 1752 2364 2543 + 2364 1752 1751 2543 + 2364 1751 2363 2543 + 2545 1753 2365 2544 + 2365 1753 1752 2544 + 2365 1752 2364 2544 + 2546 1754 2366 2545 + 2366 1754 1753 2545 + 2366 1753 2365 2545 + 2547 1755 2367 2546 + 2367 1755 1754 2546 + 2367 1754 2366 2546 + 2548 1756 2368 2547 + 2368 1756 1755 2547 + 2368 1755 2367 2547 + 2549 1757 2369 2548 + 2369 1757 1756 2548 + 2369 1756 2368 2548 + 2550 1758 2370 2549 + 2370 1758 1757 2549 + 2370 1757 2369 2549 + 2551 1759 2371 2550 + 2371 1759 1758 2550 + 2371 1758 2370 2550 + 2552 1760 2372 2551 + 2372 1760 1759 2551 + 2372 1759 2371 2551 + 2553 1761 2373 2552 + 2373 1761 1760 2552 + 2373 1760 2372 2552 + 2554 1762 2374 2553 + 2374 1762 1761 2553 + 2374 1761 2373 2553 + 2555 1763 2375 2554 + 2375 1763 1762 2554 + 2375 1762 2374 2554 + 2556 1764 2376 2555 + 2376 1764 1763 2555 + 2376 1763 2375 2555 + 2557 1765 2377 2556 + 2377 1765 1764 2556 + 2377 1764 2376 2556 + 2558 1766 2378 2557 + 2378 1766 1765 2557 + 2378 1765 2377 2557 + 2559 2343 2379 66 + 2379 2343 60 66 + 2379 60 61 66 + 2560 2344 2380 2559 + 2380 2344 2343 2559 + 2380 2343 2379 2559 + 2561 2345 2381 2560 + 2381 2345 2344 2560 + 2381 2344 2380 2560 + 2562 2346 2382 2561 + 2382 2346 2345 2561 + 2382 2345 2381 2561 + 2563 2347 2383 2562 + 2383 2347 2346 2562 + 2383 2346 2382 2562 + 2564 2348 2384 2563 + 2384 2348 2347 2563 + 2384 2347 2383 2563 + 2565 2349 2385 2564 + 2385 2349 2348 2564 + 2385 2348 2384 2564 + 2566 2350 2386 2565 + 2386 2350 2349 2565 + 2386 2349 2385 2565 + 2567 2351 2387 2566 + 2387 2351 2350 2566 + 2387 2350 2386 2566 + 2568 2352 2388 2567 + 2388 2352 2351 2567 + 2388 2351 2387 2567 + 2569 2353 2389 2568 + 2389 2353 2352 2568 + 2389 2352 2388 2568 + 2570 2354 2390 2569 + 2390 2354 2353 2569 + 2390 2353 2389 2569 + 2571 2355 2391 2570 + 2391 2355 2354 2570 + 2391 2354 2390 2570 + 2572 2356 2392 2571 + 2392 2356 2355 2571 + 2392 2355 2391 2571 + 2573 2357 2393 2572 + 2393 2357 2356 2572 + 2393 2356 2392 2572 + 2574 2358 2394 2573 + 2394 2358 2357 2573 + 2394 2357 2393 2573 + 2575 2359 2395 2574 + 2395 2359 2358 2574 + 2395 2358 2394 2574 + 2576 2360 2396 2575 + 2396 2360 2359 2575 + 2396 2359 2395 2575 + 2577 2361 2397 2576 + 2397 2361 2360 2576 + 2397 2360 2396 2576 + 2578 2362 2398 2577 + 2398 2362 2361 2577 + 2398 2361 2397 2577 + 2579 2363 2399 2578 + 2399 2363 2362 2578 + 2399 2362 2398 2578 + 2580 2364 2400 2579 + 2400 2364 2363 2579 + 2400 2363 2399 2579 + 2581 2365 2401 2580 + 2401 2365 2364 2580 + 2401 2364 2400 2580 + 2582 2366 2402 2581 + 2402 2366 2365 2581 + 2402 2365 2401 2581 + 2583 2367 2403 2582 + 2403 2367 2366 2582 + 2403 2366 2402 2582 + 2584 2368 2404 2583 + 2404 2368 2367 2583 + 2404 2367 2403 2583 + 2585 2369 2405 2584 + 2405 2369 2368 2584 + 2405 2368 2404 2584 + 2586 2370 2406 2585 + 2406 2370 2369 2585 + 2406 2369 2405 2585 + 2587 2371 2407 2586 + 2407 2371 2370 2586 + 2407 2370 2406 2586 + 2588 2372 2408 2587 + 2408 2372 2371 2587 + 2408 2371 2407 2587 + 2589 2373 2409 2588 + 2409 2373 2372 2588 + 2409 2372 2408 2588 + 2590 2374 2410 2589 + 2410 2374 2373 2589 + 2410 2373 2409 2589 + 2591 2375 2411 2590 + 2411 2375 2374 2590 + 2411 2374 2410 2590 + 2592 2376 2412 2591 + 2412 2376 2375 2591 + 2412 2375 2411 2591 + 2593 2377 2413 2592 + 2413 2377 2376 2592 + 2413 2376 2412 2592 + 2594 2378 2414 2593 + 2414 2378 2377 2593 + 2414 2377 2413 2593 + 2595 2379 2415 67 + 2415 2379 61 67 + 2415 61 62 67 + 2596 2380 2416 2595 + 2416 2380 2379 2595 + 2416 2379 2415 2595 + 2597 2381 2417 2596 + 2417 2381 2380 2596 + 2417 2380 2416 2596 + 2598 2382 2418 2597 + 2418 2382 2381 2597 + 2418 2381 2417 2597 + 2599 2383 2419 2598 + 2419 2383 2382 2598 + 2419 2382 2418 2598 + 2600 2384 2420 2599 + 2420 2384 2383 2599 + 2420 2383 2419 2599 + 2601 2385 2421 2600 + 2421 2385 2384 2600 + 2421 2384 2420 2600 + 2602 2386 2422 2601 + 2422 2386 2385 2601 + 2422 2385 2421 2601 + 2603 2387 2423 2602 + 2423 2387 2386 2602 + 2423 2386 2422 2602 + 2604 2388 2424 2603 + 2424 2388 2387 2603 + 2424 2387 2423 2603 + 2605 2389 2425 2604 + 2425 2389 2388 2604 + 2425 2388 2424 2604 + 2606 2390 2426 2605 + 2426 2390 2389 2605 + 2426 2389 2425 2605 + 2607 2391 2427 2606 + 2427 2391 2390 2606 + 2427 2390 2426 2606 + 2608 2392 2428 2607 + 2428 2392 2391 2607 + 2428 2391 2427 2607 + 2609 2393 2429 2608 + 2429 2393 2392 2608 + 2429 2392 2428 2608 + 2610 2394 2430 2609 + 2430 2394 2393 2609 + 2430 2393 2429 2609 + 2611 2395 2431 2610 + 2431 2395 2394 2610 + 2431 2394 2430 2610 + 2612 2396 2432 2611 + 2432 2396 2395 2611 + 2432 2395 2431 2611 + 2613 2397 2433 2612 + 2433 2397 2396 2612 + 2433 2396 2432 2612 + 2614 2398 2434 2613 + 2434 2398 2397 2613 + 2434 2397 2433 2613 + 2615 2399 2435 2614 + 2435 2399 2398 2614 + 2435 2398 2434 2614 + 2616 2400 2436 2615 + 2436 2400 2399 2615 + 2436 2399 2435 2615 + 2617 2401 2437 2616 + 2437 2401 2400 2616 + 2437 2400 2436 2616 + 2618 2402 2438 2617 + 2438 2402 2401 2617 + 2438 2401 2437 2617 + 2619 2403 2439 2618 + 2439 2403 2402 2618 + 2439 2402 2438 2618 + 2620 2404 2440 2619 + 2440 2404 2403 2619 + 2440 2403 2439 2619 + 2621 2405 2441 2620 + 2441 2405 2404 2620 + 2441 2404 2440 2620 + 2622 2406 2442 2621 + 2442 2406 2405 2621 + 2442 2405 2441 2621 + 2623 2407 2443 2622 + 2443 2407 2406 2622 + 2443 2406 2442 2622 + 2624 2408 2444 2623 + 2444 2408 2407 2623 + 2444 2407 2443 2623 + 2625 2409 2445 2624 + 2445 2409 2408 2624 + 2445 2408 2444 2624 + 2626 2410 2446 2625 + 2446 2410 2409 2625 + 2446 2409 2445 2625 + 2627 2411 2447 2626 + 2447 2411 2410 2626 + 2447 2410 2446 2626 + 2628 2412 2448 2627 + 2448 2412 2411 2627 + 2448 2411 2447 2627 + 2629 2413 2449 2628 + 2449 2413 2412 2628 + 2449 2412 2448 2628 + 2630 2414 2450 2629 + 2450 2414 2413 2629 + 2450 2413 2449 2629 + 2631 2415 2451 68 + 2451 2415 62 68 + 2451 62 63 68 + 2632 2416 2452 2631 + 2452 2416 2415 2631 + 2452 2415 2451 2631 + 2633 2417 2453 2632 + 2453 2417 2416 2632 + 2453 2416 2452 2632 + 2634 2418 2454 2633 + 2454 2418 2417 2633 + 2454 2417 2453 2633 + 2635 2419 2455 2634 + 2455 2419 2418 2634 + 2455 2418 2454 2634 + 2636 2420 2456 2635 + 2456 2420 2419 2635 + 2456 2419 2455 2635 + 2637 2421 2457 2636 + 2457 2421 2420 2636 + 2457 2420 2456 2636 + 2638 2422 2458 2637 + 2458 2422 2421 2637 + 2458 2421 2457 2637 + 2639 2423 2459 2638 + 2459 2423 2422 2638 + 2459 2422 2458 2638 + 2640 2424 2460 2639 + 2460 2424 2423 2639 + 2460 2423 2459 2639 + 2641 2425 2461 2640 + 2461 2425 2424 2640 + 2461 2424 2460 2640 + 2642 2426 2462 2641 + 2462 2426 2425 2641 + 2462 2425 2461 2641 + 2643 2427 2463 2642 + 2463 2427 2426 2642 + 2463 2426 2462 2642 + 2644 2428 2464 2643 + 2464 2428 2427 2643 + 2464 2427 2463 2643 + 2645 2429 2465 2644 + 2465 2429 2428 2644 + 2465 2428 2464 2644 + 2646 2430 2466 2645 + 2466 2430 2429 2645 + 2466 2429 2465 2645 + 2647 2431 2467 2646 + 2467 2431 2430 2646 + 2467 2430 2466 2646 + 2648 2432 2468 2647 + 2468 2432 2431 2647 + 2468 2431 2467 2647 + 2649 2433 2469 2648 + 2469 2433 2432 2648 + 2469 2432 2468 2648 + 2650 2434 2470 2649 + 2470 2434 2433 2649 + 2470 2433 2469 2649 + 2651 2435 2471 2650 + 2471 2435 2434 2650 + 2471 2434 2470 2650 + 2652 2436 2472 2651 + 2472 2436 2435 2651 + 2472 2435 2471 2651 + 2653 2437 2473 2652 + 2473 2437 2436 2652 + 2473 2436 2472 2652 + 2654 2438 2474 2653 + 2474 2438 2437 2653 + 2474 2437 2473 2653 + 2655 2439 2475 2654 + 2475 2439 2438 2654 + 2475 2438 2474 2654 + 2656 2440 2476 2655 + 2476 2440 2439 2655 + 2476 2439 2475 2655 + 2657 2441 2477 2656 + 2477 2441 2440 2656 + 2477 2440 2476 2656 + 2658 2442 2478 2657 + 2478 2442 2441 2657 + 2478 2441 2477 2657 + 2659 2443 2479 2658 + 2479 2443 2442 2658 + 2479 2442 2478 2658 + 2660 2444 2480 2659 + 2480 2444 2443 2659 + 2480 2443 2479 2659 + 2661 2445 2481 2660 + 2481 2445 2444 2660 + 2481 2444 2480 2660 + 2662 2446 2482 2661 + 2482 2446 2445 2661 + 2482 2445 2481 2661 + 2663 2447 2483 2662 + 2483 2447 2446 2662 + 2483 2446 2482 2662 + 2664 2448 2484 2663 + 2484 2448 2447 2663 + 2484 2447 2483 2663 + 2665 2449 2485 2664 + 2485 2449 2448 2664 + 2485 2448 2484 2664 + 2666 2450 2486 2665 + 2486 2450 2449 2665 + 2486 2449 2485 2665 + 2667 2451 2487 69 + 2487 2451 63 69 + 2487 63 64 69 + 2668 2452 2488 2667 + 2488 2452 2451 2667 + 2488 2451 2487 2667 + 2669 2453 2489 2668 + 2489 2453 2452 2668 + 2489 2452 2488 2668 + 2670 2454 2490 2669 + 2490 2454 2453 2669 + 2490 2453 2489 2669 + 2671 2455 2491 2670 + 2491 2455 2454 2670 + 2491 2454 2490 2670 + 2672 2456 2492 2671 + 2492 2456 2455 2671 + 2492 2455 2491 2671 + 2673 2457 2493 2672 + 2493 2457 2456 2672 + 2493 2456 2492 2672 + 2674 2458 2494 2673 + 2494 2458 2457 2673 + 2494 2457 2493 2673 + 2675 2459 2495 2674 + 2495 2459 2458 2674 + 2495 2458 2494 2674 + 2676 2460 2496 2675 + 2496 2460 2459 2675 + 2496 2459 2495 2675 + 2677 2461 2497 2676 + 2497 2461 2460 2676 + 2497 2460 2496 2676 + 2678 2462 2498 2677 + 2498 2462 2461 2677 + 2498 2461 2497 2677 + 2679 2463 2499 2678 + 2499 2463 2462 2678 + 2499 2462 2498 2678 + 2680 2464 2500 2679 + 2500 2464 2463 2679 + 2500 2463 2499 2679 + 2681 2465 2501 2680 + 2501 2465 2464 2680 + 2501 2464 2500 2680 + 2682 2466 2502 2681 + 2502 2466 2465 2681 + 2502 2465 2501 2681 + 2683 2467 2503 2682 + 2503 2467 2466 2682 + 2503 2466 2502 2682 + 2684 2468 2504 2683 + 2504 2468 2467 2683 + 2504 2467 2503 2683 + 2685 2469 2505 2684 + 2505 2469 2468 2684 + 2505 2468 2504 2684 + 2686 2470 2506 2685 + 2506 2470 2469 2685 + 2506 2469 2505 2685 + 2687 2471 2507 2686 + 2507 2471 2470 2686 + 2507 2470 2506 2686 + 2688 2472 2508 2687 + 2508 2472 2471 2687 + 2508 2471 2507 2687 + 2689 2473 2509 2688 + 2509 2473 2472 2688 + 2509 2472 2508 2688 + 2690 2474 2510 2689 + 2510 2474 2473 2689 + 2510 2473 2509 2689 + 2691 2475 2511 2690 + 2511 2475 2474 2690 + 2511 2474 2510 2690 + 2692 2476 2512 2691 + 2512 2476 2475 2691 + 2512 2475 2511 2691 + 2693 2477 2513 2692 + 2513 2477 2476 2692 + 2513 2476 2512 2692 + 2694 2478 2514 2693 + 2514 2478 2477 2693 + 2514 2477 2513 2693 + 2695 2479 2515 2694 + 2515 2479 2478 2694 + 2515 2478 2514 2694 + 2696 2480 2516 2695 + 2516 2480 2479 2695 + 2516 2479 2515 2695 + 2697 2481 2517 2696 + 2517 2481 2480 2696 + 2517 2480 2516 2696 + 2698 2482 2518 2697 + 2518 2482 2481 2697 + 2518 2481 2517 2697 + 2699 2483 2519 2698 + 2519 2483 2482 2698 + 2519 2482 2518 2698 + 2700 2484 2520 2699 + 2520 2484 2483 2699 + 2520 2483 2519 2699 + 2701 2485 2521 2700 + 2521 2485 2484 2700 + 2521 2484 2520 2700 + 2702 2486 2522 2701 + 2522 2486 2485 2701 + 2522 2485 2521 2701 + 1 50 71 219 + 1983 2739 50 219 + 2739 71 50 219 + 219 1983 2739 220 + 1984 2740 1983 220 + 2740 2739 1983 220 + 220 1984 2740 221 + 1985 2741 1984 221 + 2741 2740 1984 221 + 221 1985 2741 222 + 1986 2742 1985 222 + 2742 2741 1985 222 + 222 1986 2742 223 + 1987 2743 1986 223 + 2743 2742 1986 223 + 223 1987 2743 224 + 1988 2744 1987 224 + 2744 2743 1987 224 + 224 1988 2744 225 + 1989 2745 1988 225 + 2745 2744 1988 225 + 225 1989 2745 226 + 1990 2746 1989 226 + 2746 2745 1989 226 + 226 1990 2746 227 + 1991 2747 1990 227 + 2747 2746 1990 227 + 227 1991 2747 228 + 1992 2748 1991 228 + 2748 2747 1991 228 + 228 1992 2748 229 + 1993 2749 1992 229 + 2749 2748 1992 229 + 229 1993 2749 230 + 1994 2750 1993 230 + 2750 2749 1993 230 + 230 1994 2750 231 + 1995 2751 1994 231 + 2751 2750 1994 231 + 231 1995 2751 232 + 1996 2752 1995 232 + 2752 2751 1995 232 + 232 1996 2752 233 + 1997 2753 1996 233 + 2753 2752 1996 233 + 233 1997 2753 234 + 1998 2754 1997 234 + 2754 2753 1997 234 + 234 1998 2754 235 + 1999 2755 1998 235 + 2755 2754 1998 235 + 235 1999 2755 236 + 2000 2756 1999 236 + 2756 2755 1999 236 + 236 2000 2756 237 + 2001 2757 2000 237 + 2757 2756 2000 237 + 237 2001 2757 238 + 2002 2758 2001 238 + 2758 2757 2001 238 + 238 2002 2758 239 + 2003 2759 2002 239 + 2759 2758 2002 239 + 239 2003 2759 240 + 2004 2760 2003 240 + 2760 2759 2003 240 + 240 2004 2760 241 + 2005 2761 2004 241 + 2761 2760 2004 241 + 241 2005 2761 242 + 2006 2762 2005 242 + 2762 2761 2005 242 + 242 2006 2762 243 + 2007 2763 2006 243 + 2763 2762 2006 243 + 243 2007 2763 244 + 2008 2764 2007 244 + 2764 2763 2007 244 + 244 2008 2764 245 + 2009 2765 2008 245 + 2765 2764 2008 245 + 245 2009 2765 246 + 2010 2766 2009 246 + 2766 2765 2009 246 + 246 2010 2766 247 + 2011 2767 2010 247 + 2767 2766 2010 247 + 247 2011 2767 248 + 2012 2768 2011 248 + 2768 2767 2011 248 + 248 2012 2768 249 + 2013 2769 2012 249 + 2769 2768 2012 249 + 249 2013 2769 250 + 2014 2770 2013 250 + 2770 2769 2013 250 + 250 2014 2770 251 + 2015 2771 2014 251 + 2771 2770 2014 251 + 251 2015 2771 252 + 2016 2772 2015 252 + 2772 2771 2015 252 + 252 2016 2772 253 + 2017 2773 2016 253 + 2773 2772 2016 253 + 253 2017 2773 254 + 2018 2774 2017 254 + 2774 2773 2017 254 + 50 52 72 1983 + 2055 2775 52 1983 + 2775 72 52 1983 + 1983 2055 2775 1984 + 2056 2776 2055 1984 + 2776 2775 2055 1984 + 1984 2056 2776 1985 + 2057 2777 2056 1985 + 2777 2776 2056 1985 + 1985 2057 2777 1986 + 2058 2778 2057 1986 + 2778 2777 2057 1986 + 1986 2058 2778 1987 + 2059 2779 2058 1987 + 2779 2778 2058 1987 + 1987 2059 2779 1988 + 2060 2780 2059 1988 + 2780 2779 2059 1988 + 1988 2060 2780 1989 + 2061 2781 2060 1989 + 2781 2780 2060 1989 + 1989 2061 2781 1990 + 2062 2782 2061 1990 + 2782 2781 2061 1990 + 1990 2062 2782 1991 + 2063 2783 2062 1991 + 2783 2782 2062 1991 + 1991 2063 2783 1992 + 2064 2784 2063 1992 + 2784 2783 2063 1992 + 1992 2064 2784 1993 + 2065 2785 2064 1993 + 2785 2784 2064 1993 + 1993 2065 2785 1994 + 2066 2786 2065 1994 + 2786 2785 2065 1994 + 1994 2066 2786 1995 + 2067 2787 2066 1995 + 2787 2786 2066 1995 + 1995 2067 2787 1996 + 2068 2788 2067 1996 + 2788 2787 2067 1996 + 1996 2068 2788 1997 + 2069 2789 2068 1997 + 2789 2788 2068 1997 + 1997 2069 2789 1998 + 2070 2790 2069 1998 + 2790 2789 2069 1998 + 1998 2070 2790 1999 + 2071 2791 2070 1999 + 2791 2790 2070 1999 + 1999 2071 2791 2000 + 2072 2792 2071 2000 + 2792 2791 2071 2000 + 2000 2072 2792 2001 + 2073 2793 2072 2001 + 2793 2792 2072 2001 + 2001 2073 2793 2002 + 2074 2794 2073 2002 + 2794 2793 2073 2002 + 2002 2074 2794 2003 + 2075 2795 2074 2003 + 2795 2794 2074 2003 + 2003 2075 2795 2004 + 2076 2796 2075 2004 + 2796 2795 2075 2004 + 2004 2076 2796 2005 + 2077 2797 2076 2005 + 2797 2796 2076 2005 + 2005 2077 2797 2006 + 2078 2798 2077 2006 + 2798 2797 2077 2006 + 2006 2078 2798 2007 + 2079 2799 2078 2007 + 2799 2798 2078 2007 + 2007 2079 2799 2008 + 2080 2800 2079 2008 + 2800 2799 2079 2008 + 2008 2080 2800 2009 + 2081 2801 2080 2009 + 2801 2800 2080 2009 + 2009 2081 2801 2010 + 2082 2802 2081 2010 + 2802 2801 2081 2010 + 2010 2082 2802 2011 + 2083 2803 2082 2011 + 2803 2802 2082 2011 + 2011 2083 2803 2012 + 2084 2804 2083 2012 + 2804 2803 2083 2012 + 2012 2084 2804 2013 + 2085 2805 2084 2013 + 2805 2804 2084 2013 + 2013 2085 2805 2014 + 2086 2806 2085 2014 + 2806 2805 2085 2014 + 2014 2086 2806 2015 + 2087 2807 2086 2015 + 2807 2806 2086 2015 + 2015 2087 2807 2016 + 2088 2808 2087 2016 + 2808 2807 2087 2016 + 2016 2088 2808 2017 + 2089 2809 2088 2017 + 2809 2808 2088 2017 + 2017 2089 2809 2018 + 2090 2810 2089 2018 + 2810 2809 2089 2018 + 71 72 73 2739 + 2775 2811 72 2739 + 2811 73 72 2739 + 2739 2775 2811 2740 + 2776 2812 2775 2740 + 2812 2811 2775 2740 + 2740 2776 2812 2741 + 2777 2813 2776 2741 + 2813 2812 2776 2741 + 2741 2777 2813 2742 + 2778 2814 2777 2742 + 2814 2813 2777 2742 + 2742 2778 2814 2743 + 2779 2815 2778 2743 + 2815 2814 2778 2743 + 2743 2779 2815 2744 + 2780 2816 2779 2744 + 2816 2815 2779 2744 + 2744 2780 2816 2745 + 2781 2817 2780 2745 + 2817 2816 2780 2745 + 2745 2781 2817 2746 + 2782 2818 2781 2746 + 2818 2817 2781 2746 + 2746 2782 2818 2747 + 2783 2819 2782 2747 + 2819 2818 2782 2747 + 2747 2783 2819 2748 + 2784 2820 2783 2748 + 2820 2819 2783 2748 + 2748 2784 2820 2749 + 2785 2821 2784 2749 + 2821 2820 2784 2749 + 2749 2785 2821 2750 + 2786 2822 2785 2750 + 2822 2821 2785 2750 + 2750 2786 2822 2751 + 2787 2823 2786 2751 + 2823 2822 2786 2751 + 2751 2787 2823 2752 + 2788 2824 2787 2752 + 2824 2823 2787 2752 + 2752 2788 2824 2753 + 2789 2825 2788 2753 + 2825 2824 2788 2753 + 2753 2789 2825 2754 + 2790 2826 2789 2754 + 2826 2825 2789 2754 + 2754 2790 2826 2755 + 2791 2827 2790 2755 + 2827 2826 2790 2755 + 2755 2791 2827 2756 + 2792 2828 2791 2756 + 2828 2827 2791 2756 + 2756 2792 2828 2757 + 2793 2829 2792 2757 + 2829 2828 2792 2757 + 2757 2793 2829 2758 + 2794 2830 2793 2758 + 2830 2829 2793 2758 + 2758 2794 2830 2759 + 2795 2831 2794 2759 + 2831 2830 2794 2759 + 2759 2795 2831 2760 + 2796 2832 2795 2760 + 2832 2831 2795 2760 + 2760 2796 2832 2761 + 2797 2833 2796 2761 + 2833 2832 2796 2761 + 2761 2797 2833 2762 + 2798 2834 2797 2762 + 2834 2833 2797 2762 + 2762 2798 2834 2763 + 2799 2835 2798 2763 + 2835 2834 2798 2763 + 2763 2799 2835 2764 + 2800 2836 2799 2764 + 2836 2835 2799 2764 + 2764 2800 2836 2765 + 2801 2837 2800 2765 + 2837 2836 2800 2765 + 2765 2801 2837 2766 + 2802 2838 2801 2766 + 2838 2837 2801 2766 + 2766 2802 2838 2767 + 2803 2839 2802 2767 + 2839 2838 2802 2767 + 2767 2803 2839 2768 + 2804 2840 2803 2768 + 2840 2839 2803 2768 + 2768 2804 2840 2769 + 2805 2841 2804 2769 + 2841 2840 2804 2769 + 2769 2805 2841 2770 + 2806 2842 2805 2770 + 2842 2841 2805 2770 + 2770 2806 2842 2771 + 2807 2843 2806 2771 + 2843 2842 2806 2771 + 2771 2807 2843 2772 + 2808 2844 2807 2772 + 2844 2843 2807 2772 + 2772 2808 2844 2773 + 2809 2845 2808 2773 + 2845 2844 2808 2773 + 2773 2809 2845 2774 + 2810 2846 2809 2774 + 2846 2845 2809 2774 + 2775 1983 2739 72 + 2739 1983 50 72 + 2739 50 71 72 + 2776 1984 2740 2775 + 2740 1984 1983 2775 + 2740 1983 2739 2775 + 2777 1985 2741 2776 + 2741 1985 1984 2776 + 2741 1984 2740 2776 + 2778 1986 2742 2777 + 2742 1986 1985 2777 + 2742 1985 2741 2777 + 2779 1987 2743 2778 + 2743 1987 1986 2778 + 2743 1986 2742 2778 + 2780 1988 2744 2779 + 2744 1988 1987 2779 + 2744 1987 2743 2779 + 2781 1989 2745 2780 + 2745 1989 1988 2780 + 2745 1988 2744 2780 + 2782 1990 2746 2781 + 2746 1990 1989 2781 + 2746 1989 2745 2781 + 2783 1991 2747 2782 + 2747 1991 1990 2782 + 2747 1990 2746 2782 + 2784 1992 2748 2783 + 2748 1992 1991 2783 + 2748 1991 2747 2783 + 2785 1993 2749 2784 + 2749 1993 1992 2784 + 2749 1992 2748 2784 + 2786 1994 2750 2785 + 2750 1994 1993 2785 + 2750 1993 2749 2785 + 2787 1995 2751 2786 + 2751 1995 1994 2786 + 2751 1994 2750 2786 + 2788 1996 2752 2787 + 2752 1996 1995 2787 + 2752 1995 2751 2787 + 2789 1997 2753 2788 + 2753 1997 1996 2788 + 2753 1996 2752 2788 + 2790 1998 2754 2789 + 2754 1998 1997 2789 + 2754 1997 2753 2789 + 2791 1999 2755 2790 + 2755 1999 1998 2790 + 2755 1998 2754 2790 + 2792 2000 2756 2791 + 2756 2000 1999 2791 + 2756 1999 2755 2791 + 2793 2001 2757 2792 + 2757 2001 2000 2792 + 2757 2000 2756 2792 + 2794 2002 2758 2793 + 2758 2002 2001 2793 + 2758 2001 2757 2793 + 2795 2003 2759 2794 + 2759 2003 2002 2794 + 2759 2002 2758 2794 + 2796 2004 2760 2795 + 2760 2004 2003 2795 + 2760 2003 2759 2795 + 2797 2005 2761 2796 + 2761 2005 2004 2796 + 2761 2004 2760 2796 + 2798 2006 2762 2797 + 2762 2006 2005 2797 + 2762 2005 2761 2797 + 2799 2007 2763 2798 + 2763 2007 2006 2798 + 2763 2006 2762 2798 + 2800 2008 2764 2799 + 2764 2008 2007 2799 + 2764 2007 2763 2799 + 2801 2009 2765 2800 + 2765 2009 2008 2800 + 2765 2008 2764 2800 + 2802 2010 2766 2801 + 2766 2010 2009 2801 + 2766 2009 2765 2801 + 2803 2011 2767 2802 + 2767 2011 2010 2802 + 2767 2010 2766 2802 + 2804 2012 2768 2803 + 2768 2012 2011 2803 + 2768 2011 2767 2803 + 2805 2013 2769 2804 + 2769 2013 2012 2804 + 2769 2012 2768 2804 + 2806 2014 2770 2805 + 2770 2014 2013 2805 + 2770 2013 2769 2805 + 2807 2015 2771 2806 + 2771 2015 2014 2806 + 2771 2014 2770 2806 + 2808 2016 2772 2807 + 2772 2016 2015 2807 + 2772 2015 2771 2807 + 2809 2017 2773 2808 + 2773 2017 2016 2808 + 2773 2016 2772 2808 + 2810 2018 2774 2809 + 2774 2018 2017 2809 + 2774 2017 2773 2809 + 52 55 74 2055 + 2163 2847 55 2055 + 2847 74 55 2055 + 2055 2163 2847 2056 + 2164 2848 2163 2056 + 2848 2847 2163 2056 + 2056 2164 2848 2057 + 2165 2849 2164 2057 + 2849 2848 2164 2057 + 2057 2165 2849 2058 + 2166 2850 2165 2058 + 2850 2849 2165 2058 + 2058 2166 2850 2059 + 2167 2851 2166 2059 + 2851 2850 2166 2059 + 2059 2167 2851 2060 + 2168 2852 2167 2060 + 2852 2851 2167 2060 + 2060 2168 2852 2061 + 2169 2853 2168 2061 + 2853 2852 2168 2061 + 2061 2169 2853 2062 + 2170 2854 2169 2062 + 2854 2853 2169 2062 + 2062 2170 2854 2063 + 2171 2855 2170 2063 + 2855 2854 2170 2063 + 2063 2171 2855 2064 + 2172 2856 2171 2064 + 2856 2855 2171 2064 + 2064 2172 2856 2065 + 2173 2857 2172 2065 + 2857 2856 2172 2065 + 2065 2173 2857 2066 + 2174 2858 2173 2066 + 2858 2857 2173 2066 + 2066 2174 2858 2067 + 2175 2859 2174 2067 + 2859 2858 2174 2067 + 2067 2175 2859 2068 + 2176 2860 2175 2068 + 2860 2859 2175 2068 + 2068 2176 2860 2069 + 2177 2861 2176 2069 + 2861 2860 2176 2069 + 2069 2177 2861 2070 + 2178 2862 2177 2070 + 2862 2861 2177 2070 + 2070 2178 2862 2071 + 2179 2863 2178 2071 + 2863 2862 2178 2071 + 2071 2179 2863 2072 + 2180 2864 2179 2072 + 2864 2863 2179 2072 + 2072 2180 2864 2073 + 2181 2865 2180 2073 + 2865 2864 2180 2073 + 2073 2181 2865 2074 + 2182 2866 2181 2074 + 2866 2865 2181 2074 + 2074 2182 2866 2075 + 2183 2867 2182 2075 + 2867 2866 2182 2075 + 2075 2183 2867 2076 + 2184 2868 2183 2076 + 2868 2867 2183 2076 + 2076 2184 2868 2077 + 2185 2869 2184 2077 + 2869 2868 2184 2077 + 2077 2185 2869 2078 + 2186 2870 2185 2078 + 2870 2869 2185 2078 + 2078 2186 2870 2079 + 2187 2871 2186 2079 + 2871 2870 2186 2079 + 2079 2187 2871 2080 + 2188 2872 2187 2080 + 2872 2871 2187 2080 + 2080 2188 2872 2081 + 2189 2873 2188 2081 + 2873 2872 2188 2081 + 2081 2189 2873 2082 + 2190 2874 2189 2082 + 2874 2873 2189 2082 + 2082 2190 2874 2083 + 2191 2875 2190 2083 + 2875 2874 2190 2083 + 2083 2191 2875 2084 + 2192 2876 2191 2084 + 2876 2875 2191 2084 + 2084 2192 2876 2085 + 2193 2877 2192 2085 + 2877 2876 2192 2085 + 2085 2193 2877 2086 + 2194 2878 2193 2086 + 2878 2877 2193 2086 + 2086 2194 2878 2087 + 2195 2879 2194 2087 + 2879 2878 2194 2087 + 2087 2195 2879 2088 + 2196 2880 2195 2088 + 2880 2879 2195 2088 + 2088 2196 2880 2089 + 2197 2881 2196 2089 + 2881 2880 2196 2089 + 2089 2197 2881 2090 + 2198 2882 2197 2090 + 2882 2881 2197 2090 + 72 74 75 2775 + 2847 2883 74 2775 + 2883 75 74 2775 + 2775 2847 2883 2776 + 2848 2884 2847 2776 + 2884 2883 2847 2776 + 2776 2848 2884 2777 + 2849 2885 2848 2777 + 2885 2884 2848 2777 + 2777 2849 2885 2778 + 2850 2886 2849 2778 + 2886 2885 2849 2778 + 2778 2850 2886 2779 + 2851 2887 2850 2779 + 2887 2886 2850 2779 + 2779 2851 2887 2780 + 2852 2888 2851 2780 + 2888 2887 2851 2780 + 2780 2852 2888 2781 + 2853 2889 2852 2781 + 2889 2888 2852 2781 + 2781 2853 2889 2782 + 2854 2890 2853 2782 + 2890 2889 2853 2782 + 2782 2854 2890 2783 + 2855 2891 2854 2783 + 2891 2890 2854 2783 + 2783 2855 2891 2784 + 2856 2892 2855 2784 + 2892 2891 2855 2784 + 2784 2856 2892 2785 + 2857 2893 2856 2785 + 2893 2892 2856 2785 + 2785 2857 2893 2786 + 2858 2894 2857 2786 + 2894 2893 2857 2786 + 2786 2858 2894 2787 + 2859 2895 2858 2787 + 2895 2894 2858 2787 + 2787 2859 2895 2788 + 2860 2896 2859 2788 + 2896 2895 2859 2788 + 2788 2860 2896 2789 + 2861 2897 2860 2789 + 2897 2896 2860 2789 + 2789 2861 2897 2790 + 2862 2898 2861 2790 + 2898 2897 2861 2790 + 2790 2862 2898 2791 + 2863 2899 2862 2791 + 2899 2898 2862 2791 + 2791 2863 2899 2792 + 2864 2900 2863 2792 + 2900 2899 2863 2792 + 2792 2864 2900 2793 + 2865 2901 2864 2793 + 2901 2900 2864 2793 + 2793 2865 2901 2794 + 2866 2902 2865 2794 + 2902 2901 2865 2794 + 2794 2866 2902 2795 + 2867 2903 2866 2795 + 2903 2902 2866 2795 + 2795 2867 2903 2796 + 2868 2904 2867 2796 + 2904 2903 2867 2796 + 2796 2868 2904 2797 + 2869 2905 2868 2797 + 2905 2904 2868 2797 + 2797 2869 2905 2798 + 2870 2906 2869 2798 + 2906 2905 2869 2798 + 2798 2870 2906 2799 + 2871 2907 2870 2799 + 2907 2906 2870 2799 + 2799 2871 2907 2800 + 2872 2908 2871 2800 + 2908 2907 2871 2800 + 2800 2872 2908 2801 + 2873 2909 2872 2801 + 2909 2908 2872 2801 + 2801 2873 2909 2802 + 2874 2910 2873 2802 + 2910 2909 2873 2802 + 2802 2874 2910 2803 + 2875 2911 2874 2803 + 2911 2910 2874 2803 + 2803 2875 2911 2804 + 2876 2912 2875 2804 + 2912 2911 2875 2804 + 2804 2876 2912 2805 + 2877 2913 2876 2805 + 2913 2912 2876 2805 + 2805 2877 2913 2806 + 2878 2914 2877 2806 + 2914 2913 2877 2806 + 2806 2878 2914 2807 + 2879 2915 2878 2807 + 2915 2914 2878 2807 + 2807 2879 2915 2808 + 2880 2916 2879 2808 + 2916 2915 2879 2808 + 2808 2880 2916 2809 + 2881 2917 2880 2809 + 2917 2916 2880 2809 + 2809 2881 2917 2810 + 2882 2918 2881 2810 + 2918 2917 2881 2810 + 73 75 76 2811 + 2883 2919 75 2811 + 2919 76 75 2811 + 2811 2883 2919 2812 + 2884 2920 2883 2812 + 2920 2919 2883 2812 + 2812 2884 2920 2813 + 2885 2921 2884 2813 + 2921 2920 2884 2813 + 2813 2885 2921 2814 + 2886 2922 2885 2814 + 2922 2921 2885 2814 + 2814 2886 2922 2815 + 2887 2923 2886 2815 + 2923 2922 2886 2815 + 2815 2887 2923 2816 + 2888 2924 2887 2816 + 2924 2923 2887 2816 + 2816 2888 2924 2817 + 2889 2925 2888 2817 + 2925 2924 2888 2817 + 2817 2889 2925 2818 + 2890 2926 2889 2818 + 2926 2925 2889 2818 + 2818 2890 2926 2819 + 2891 2927 2890 2819 + 2927 2926 2890 2819 + 2819 2891 2927 2820 + 2892 2928 2891 2820 + 2928 2927 2891 2820 + 2820 2892 2928 2821 + 2893 2929 2892 2821 + 2929 2928 2892 2821 + 2821 2893 2929 2822 + 2894 2930 2893 2822 + 2930 2929 2893 2822 + 2822 2894 2930 2823 + 2895 2931 2894 2823 + 2931 2930 2894 2823 + 2823 2895 2931 2824 + 2896 2932 2895 2824 + 2932 2931 2895 2824 + 2824 2896 2932 2825 + 2897 2933 2896 2825 + 2933 2932 2896 2825 + 2825 2897 2933 2826 + 2898 2934 2897 2826 + 2934 2933 2897 2826 + 2826 2898 2934 2827 + 2899 2935 2898 2827 + 2935 2934 2898 2827 + 2827 2899 2935 2828 + 2900 2936 2899 2828 + 2936 2935 2899 2828 + 2828 2900 2936 2829 + 2901 2937 2900 2829 + 2937 2936 2900 2829 + 2829 2901 2937 2830 + 2902 2938 2901 2830 + 2938 2937 2901 2830 + 2830 2902 2938 2831 + 2903 2939 2902 2831 + 2939 2938 2902 2831 + 2831 2903 2939 2832 + 2904 2940 2903 2832 + 2940 2939 2903 2832 + 2832 2904 2940 2833 + 2905 2941 2904 2833 + 2941 2940 2904 2833 + 2833 2905 2941 2834 + 2906 2942 2905 2834 + 2942 2941 2905 2834 + 2834 2906 2942 2835 + 2907 2943 2906 2835 + 2943 2942 2906 2835 + 2835 2907 2943 2836 + 2908 2944 2907 2836 + 2944 2943 2907 2836 + 2836 2908 2944 2837 + 2909 2945 2908 2837 + 2945 2944 2908 2837 + 2837 2909 2945 2838 + 2910 2946 2909 2838 + 2946 2945 2909 2838 + 2838 2910 2946 2839 + 2911 2947 2910 2839 + 2947 2946 2910 2839 + 2839 2911 2947 2840 + 2912 2948 2911 2840 + 2948 2947 2911 2840 + 2840 2912 2948 2841 + 2913 2949 2912 2841 + 2949 2948 2912 2841 + 2841 2913 2949 2842 + 2914 2950 2913 2842 + 2950 2949 2913 2842 + 2842 2914 2950 2843 + 2915 2951 2914 2843 + 2951 2950 2914 2843 + 2843 2915 2951 2844 + 2916 2952 2915 2844 + 2952 2951 2915 2844 + 2844 2916 2952 2845 + 2917 2953 2916 2845 + 2953 2952 2916 2845 + 2845 2917 2953 2846 + 2918 2954 2917 2846 + 2954 2953 2917 2846 + 2847 2055 2775 74 + 2775 2055 52 74 + 2775 52 72 74 + 2848 2056 2776 2847 + 2776 2056 2055 2847 + 2776 2055 2775 2847 + 2849 2057 2777 2848 + 2777 2057 2056 2848 + 2777 2056 2776 2848 + 2850 2058 2778 2849 + 2778 2058 2057 2849 + 2778 2057 2777 2849 + 2851 2059 2779 2850 + 2779 2059 2058 2850 + 2779 2058 2778 2850 + 2852 2060 2780 2851 + 2780 2060 2059 2851 + 2780 2059 2779 2851 + 2853 2061 2781 2852 + 2781 2061 2060 2852 + 2781 2060 2780 2852 + 2854 2062 2782 2853 + 2782 2062 2061 2853 + 2782 2061 2781 2853 + 2855 2063 2783 2854 + 2783 2063 2062 2854 + 2783 2062 2782 2854 + 2856 2064 2784 2855 + 2784 2064 2063 2855 + 2784 2063 2783 2855 + 2857 2065 2785 2856 + 2785 2065 2064 2856 + 2785 2064 2784 2856 + 2858 2066 2786 2857 + 2786 2066 2065 2857 + 2786 2065 2785 2857 + 2859 2067 2787 2858 + 2787 2067 2066 2858 + 2787 2066 2786 2858 + 2860 2068 2788 2859 + 2788 2068 2067 2859 + 2788 2067 2787 2859 + 2861 2069 2789 2860 + 2789 2069 2068 2860 + 2789 2068 2788 2860 + 2862 2070 2790 2861 + 2790 2070 2069 2861 + 2790 2069 2789 2861 + 2863 2071 2791 2862 + 2791 2071 2070 2862 + 2791 2070 2790 2862 + 2864 2072 2792 2863 + 2792 2072 2071 2863 + 2792 2071 2791 2863 + 2865 2073 2793 2864 + 2793 2073 2072 2864 + 2793 2072 2792 2864 + 2866 2074 2794 2865 + 2794 2074 2073 2865 + 2794 2073 2793 2865 + 2867 2075 2795 2866 + 2795 2075 2074 2866 + 2795 2074 2794 2866 + 2868 2076 2796 2867 + 2796 2076 2075 2867 + 2796 2075 2795 2867 + 2869 2077 2797 2868 + 2797 2077 2076 2868 + 2797 2076 2796 2868 + 2870 2078 2798 2869 + 2798 2078 2077 2869 + 2798 2077 2797 2869 + 2871 2079 2799 2870 + 2799 2079 2078 2870 + 2799 2078 2798 2870 + 2872 2080 2800 2871 + 2800 2080 2079 2871 + 2800 2079 2799 2871 + 2873 2081 2801 2872 + 2801 2081 2080 2872 + 2801 2080 2800 2872 + 2874 2082 2802 2873 + 2802 2082 2081 2873 + 2802 2081 2801 2873 + 2875 2083 2803 2874 + 2803 2083 2082 2874 + 2803 2082 2802 2874 + 2876 2084 2804 2875 + 2804 2084 2083 2875 + 2804 2083 2803 2875 + 2877 2085 2805 2876 + 2805 2085 2084 2876 + 2805 2084 2804 2876 + 2878 2086 2806 2877 + 2806 2086 2085 2877 + 2806 2085 2805 2877 + 2879 2087 2807 2878 + 2807 2087 2086 2878 + 2807 2086 2806 2878 + 2880 2088 2808 2879 + 2808 2088 2087 2879 + 2808 2087 2807 2879 + 2881 2089 2809 2880 + 2809 2089 2088 2880 + 2809 2088 2808 2880 + 2882 2090 2810 2881 + 2810 2090 2089 2881 + 2810 2089 2809 2881 + 2883 2775 2811 75 + 2811 2775 72 75 + 2811 72 73 75 + 2884 2776 2812 2883 + 2812 2776 2775 2883 + 2812 2775 2811 2883 + 2885 2777 2813 2884 + 2813 2777 2776 2884 + 2813 2776 2812 2884 + 2886 2778 2814 2885 + 2814 2778 2777 2885 + 2814 2777 2813 2885 + 2887 2779 2815 2886 + 2815 2779 2778 2886 + 2815 2778 2814 2886 + 2888 2780 2816 2887 + 2816 2780 2779 2887 + 2816 2779 2815 2887 + 2889 2781 2817 2888 + 2817 2781 2780 2888 + 2817 2780 2816 2888 + 2890 2782 2818 2889 + 2818 2782 2781 2889 + 2818 2781 2817 2889 + 2891 2783 2819 2890 + 2819 2783 2782 2890 + 2819 2782 2818 2890 + 2892 2784 2820 2891 + 2820 2784 2783 2891 + 2820 2783 2819 2891 + 2893 2785 2821 2892 + 2821 2785 2784 2892 + 2821 2784 2820 2892 + 2894 2786 2822 2893 + 2822 2786 2785 2893 + 2822 2785 2821 2893 + 2895 2787 2823 2894 + 2823 2787 2786 2894 + 2823 2786 2822 2894 + 2896 2788 2824 2895 + 2824 2788 2787 2895 + 2824 2787 2823 2895 + 2897 2789 2825 2896 + 2825 2789 2788 2896 + 2825 2788 2824 2896 + 2898 2790 2826 2897 + 2826 2790 2789 2897 + 2826 2789 2825 2897 + 2899 2791 2827 2898 + 2827 2791 2790 2898 + 2827 2790 2826 2898 + 2900 2792 2828 2899 + 2828 2792 2791 2899 + 2828 2791 2827 2899 + 2901 2793 2829 2900 + 2829 2793 2792 2900 + 2829 2792 2828 2900 + 2902 2794 2830 2901 + 2830 2794 2793 2901 + 2830 2793 2829 2901 + 2903 2795 2831 2902 + 2831 2795 2794 2902 + 2831 2794 2830 2902 + 2904 2796 2832 2903 + 2832 2796 2795 2903 + 2832 2795 2831 2903 + 2905 2797 2833 2904 + 2833 2797 2796 2904 + 2833 2796 2832 2904 + 2906 2798 2834 2905 + 2834 2798 2797 2905 + 2834 2797 2833 2905 + 2907 2799 2835 2906 + 2835 2799 2798 2906 + 2835 2798 2834 2906 + 2908 2800 2836 2907 + 2836 2800 2799 2907 + 2836 2799 2835 2907 + 2909 2801 2837 2908 + 2837 2801 2800 2908 + 2837 2800 2836 2908 + 2910 2802 2838 2909 + 2838 2802 2801 2909 + 2838 2801 2837 2909 + 2911 2803 2839 2910 + 2839 2803 2802 2910 + 2839 2802 2838 2910 + 2912 2804 2840 2911 + 2840 2804 2803 2911 + 2840 2803 2839 2911 + 2913 2805 2841 2912 + 2841 2805 2804 2912 + 2841 2804 2840 2912 + 2914 2806 2842 2913 + 2842 2806 2805 2913 + 2842 2805 2841 2913 + 2915 2807 2843 2914 + 2843 2807 2806 2914 + 2843 2806 2842 2914 + 2916 2808 2844 2915 + 2844 2808 2807 2915 + 2844 2807 2843 2915 + 2917 2809 2845 2916 + 2845 2809 2808 2916 + 2845 2808 2844 2916 + 2918 2810 2846 2917 + 2846 2810 2809 2917 + 2846 2809 2845 2917 + 55 59 77 2163 + 2307 2955 59 2163 + 2955 77 59 2163 + 2163 2307 2955 2164 + 2308 2956 2307 2164 + 2956 2955 2307 2164 + 2164 2308 2956 2165 + 2309 2957 2308 2165 + 2957 2956 2308 2165 + 2165 2309 2957 2166 + 2310 2958 2309 2166 + 2958 2957 2309 2166 + 2166 2310 2958 2167 + 2311 2959 2310 2167 + 2959 2958 2310 2167 + 2167 2311 2959 2168 + 2312 2960 2311 2168 + 2960 2959 2311 2168 + 2168 2312 2960 2169 + 2313 2961 2312 2169 + 2961 2960 2312 2169 + 2169 2313 2961 2170 + 2314 2962 2313 2170 + 2962 2961 2313 2170 + 2170 2314 2962 2171 + 2315 2963 2314 2171 + 2963 2962 2314 2171 + 2171 2315 2963 2172 + 2316 2964 2315 2172 + 2964 2963 2315 2172 + 2172 2316 2964 2173 + 2317 2965 2316 2173 + 2965 2964 2316 2173 + 2173 2317 2965 2174 + 2318 2966 2317 2174 + 2966 2965 2317 2174 + 2174 2318 2966 2175 + 2319 2967 2318 2175 + 2967 2966 2318 2175 + 2175 2319 2967 2176 + 2320 2968 2319 2176 + 2968 2967 2319 2176 + 2176 2320 2968 2177 + 2321 2969 2320 2177 + 2969 2968 2320 2177 + 2177 2321 2969 2178 + 2322 2970 2321 2178 + 2970 2969 2321 2178 + 2178 2322 2970 2179 + 2323 2971 2322 2179 + 2971 2970 2322 2179 + 2179 2323 2971 2180 + 2324 2972 2323 2180 + 2972 2971 2323 2180 + 2180 2324 2972 2181 + 2325 2973 2324 2181 + 2973 2972 2324 2181 + 2181 2325 2973 2182 + 2326 2974 2325 2182 + 2974 2973 2325 2182 + 2182 2326 2974 2183 + 2327 2975 2326 2183 + 2975 2974 2326 2183 + 2183 2327 2975 2184 + 2328 2976 2327 2184 + 2976 2975 2327 2184 + 2184 2328 2976 2185 + 2329 2977 2328 2185 + 2977 2976 2328 2185 + 2185 2329 2977 2186 + 2330 2978 2329 2186 + 2978 2977 2329 2186 + 2186 2330 2978 2187 + 2331 2979 2330 2187 + 2979 2978 2330 2187 + 2187 2331 2979 2188 + 2332 2980 2331 2188 + 2980 2979 2331 2188 + 2188 2332 2980 2189 + 2333 2981 2332 2189 + 2981 2980 2332 2189 + 2189 2333 2981 2190 + 2334 2982 2333 2190 + 2982 2981 2333 2190 + 2190 2334 2982 2191 + 2335 2983 2334 2191 + 2983 2982 2334 2191 + 2191 2335 2983 2192 + 2336 2984 2335 2192 + 2984 2983 2335 2192 + 2192 2336 2984 2193 + 2337 2985 2336 2193 + 2985 2984 2336 2193 + 2193 2337 2985 2194 + 2338 2986 2337 2194 + 2986 2985 2337 2194 + 2194 2338 2986 2195 + 2339 2987 2338 2195 + 2987 2986 2338 2195 + 2195 2339 2987 2196 + 2340 2988 2339 2196 + 2988 2987 2339 2196 + 2196 2340 2988 2197 + 2341 2989 2340 2197 + 2989 2988 2340 2197 + 2197 2341 2989 2198 + 2342 2990 2341 2198 + 2990 2989 2341 2198 + 74 77 78 2847 + 2955 2991 77 2847 + 2991 78 77 2847 + 2847 2955 2991 2848 + 2956 2992 2955 2848 + 2992 2991 2955 2848 + 2848 2956 2992 2849 + 2957 2993 2956 2849 + 2993 2992 2956 2849 + 2849 2957 2993 2850 + 2958 2994 2957 2850 + 2994 2993 2957 2850 + 2850 2958 2994 2851 + 2959 2995 2958 2851 + 2995 2994 2958 2851 + 2851 2959 2995 2852 + 2960 2996 2959 2852 + 2996 2995 2959 2852 + 2852 2960 2996 2853 + 2961 2997 2960 2853 + 2997 2996 2960 2853 + 2853 2961 2997 2854 + 2962 2998 2961 2854 + 2998 2997 2961 2854 + 2854 2962 2998 2855 + 2963 2999 2962 2855 + 2999 2998 2962 2855 + 2855 2963 2999 2856 + 2964 3000 2963 2856 + 3000 2999 2963 2856 + 2856 2964 3000 2857 + 2965 3001 2964 2857 + 3001 3000 2964 2857 + 2857 2965 3001 2858 + 2966 3002 2965 2858 + 3002 3001 2965 2858 + 2858 2966 3002 2859 + 2967 3003 2966 2859 + 3003 3002 2966 2859 + 2859 2967 3003 2860 + 2968 3004 2967 2860 + 3004 3003 2967 2860 + 2860 2968 3004 2861 + 2969 3005 2968 2861 + 3005 3004 2968 2861 + 2861 2969 3005 2862 + 2970 3006 2969 2862 + 3006 3005 2969 2862 + 2862 2970 3006 2863 + 2971 3007 2970 2863 + 3007 3006 2970 2863 + 2863 2971 3007 2864 + 2972 3008 2971 2864 + 3008 3007 2971 2864 + 2864 2972 3008 2865 + 2973 3009 2972 2865 + 3009 3008 2972 2865 + 2865 2973 3009 2866 + 2974 3010 2973 2866 + 3010 3009 2973 2866 + 2866 2974 3010 2867 + 2975 3011 2974 2867 + 3011 3010 2974 2867 + 2867 2975 3011 2868 + 2976 3012 2975 2868 + 3012 3011 2975 2868 + 2868 2976 3012 2869 + 2977 3013 2976 2869 + 3013 3012 2976 2869 + 2869 2977 3013 2870 + 2978 3014 2977 2870 + 3014 3013 2977 2870 + 2870 2978 3014 2871 + 2979 3015 2978 2871 + 3015 3014 2978 2871 + 2871 2979 3015 2872 + 2980 3016 2979 2872 + 3016 3015 2979 2872 + 2872 2980 3016 2873 + 2981 3017 2980 2873 + 3017 3016 2980 2873 + 2873 2981 3017 2874 + 2982 3018 2981 2874 + 3018 3017 2981 2874 + 2874 2982 3018 2875 + 2983 3019 2982 2875 + 3019 3018 2982 2875 + 2875 2983 3019 2876 + 2984 3020 2983 2876 + 3020 3019 2983 2876 + 2876 2984 3020 2877 + 2985 3021 2984 2877 + 3021 3020 2984 2877 + 2877 2985 3021 2878 + 2986 3022 2985 2878 + 3022 3021 2985 2878 + 2878 2986 3022 2879 + 2987 3023 2986 2879 + 3023 3022 2986 2879 + 2879 2987 3023 2880 + 2988 3024 2987 2880 + 3024 3023 2987 2880 + 2880 2988 3024 2881 + 2989 3025 2988 2881 + 3025 3024 2988 2881 + 2881 2989 3025 2882 + 2990 3026 2989 2882 + 3026 3025 2989 2882 + 75 78 79 2883 + 2991 3027 78 2883 + 3027 79 78 2883 + 2883 2991 3027 2884 + 2992 3028 2991 2884 + 3028 3027 2991 2884 + 2884 2992 3028 2885 + 2993 3029 2992 2885 + 3029 3028 2992 2885 + 2885 2993 3029 2886 + 2994 3030 2993 2886 + 3030 3029 2993 2886 + 2886 2994 3030 2887 + 2995 3031 2994 2887 + 3031 3030 2994 2887 + 2887 2995 3031 2888 + 2996 3032 2995 2888 + 3032 3031 2995 2888 + 2888 2996 3032 2889 + 2997 3033 2996 2889 + 3033 3032 2996 2889 + 2889 2997 3033 2890 + 2998 3034 2997 2890 + 3034 3033 2997 2890 + 2890 2998 3034 2891 + 2999 3035 2998 2891 + 3035 3034 2998 2891 + 2891 2999 3035 2892 + 3000 3036 2999 2892 + 3036 3035 2999 2892 + 2892 3000 3036 2893 + 3001 3037 3000 2893 + 3037 3036 3000 2893 + 2893 3001 3037 2894 + 3002 3038 3001 2894 + 3038 3037 3001 2894 + 2894 3002 3038 2895 + 3003 3039 3002 2895 + 3039 3038 3002 2895 + 2895 3003 3039 2896 + 3004 3040 3003 2896 + 3040 3039 3003 2896 + 2896 3004 3040 2897 + 3005 3041 3004 2897 + 3041 3040 3004 2897 + 2897 3005 3041 2898 + 3006 3042 3005 2898 + 3042 3041 3005 2898 + 2898 3006 3042 2899 + 3007 3043 3006 2899 + 3043 3042 3006 2899 + 2899 3007 3043 2900 + 3008 3044 3007 2900 + 3044 3043 3007 2900 + 2900 3008 3044 2901 + 3009 3045 3008 2901 + 3045 3044 3008 2901 + 2901 3009 3045 2902 + 3010 3046 3009 2902 + 3046 3045 3009 2902 + 2902 3010 3046 2903 + 3011 3047 3010 2903 + 3047 3046 3010 2903 + 2903 3011 3047 2904 + 3012 3048 3011 2904 + 3048 3047 3011 2904 + 2904 3012 3048 2905 + 3013 3049 3012 2905 + 3049 3048 3012 2905 + 2905 3013 3049 2906 + 3014 3050 3013 2906 + 3050 3049 3013 2906 + 2906 3014 3050 2907 + 3015 3051 3014 2907 + 3051 3050 3014 2907 + 2907 3015 3051 2908 + 3016 3052 3015 2908 + 3052 3051 3015 2908 + 2908 3016 3052 2909 + 3017 3053 3016 2909 + 3053 3052 3016 2909 + 2909 3017 3053 2910 + 3018 3054 3017 2910 + 3054 3053 3017 2910 + 2910 3018 3054 2911 + 3019 3055 3018 2911 + 3055 3054 3018 2911 + 2911 3019 3055 2912 + 3020 3056 3019 2912 + 3056 3055 3019 2912 + 2912 3020 3056 2913 + 3021 3057 3020 2913 + 3057 3056 3020 2913 + 2913 3021 3057 2914 + 3022 3058 3021 2914 + 3058 3057 3021 2914 + 2914 3022 3058 2915 + 3023 3059 3022 2915 + 3059 3058 3022 2915 + 2915 3023 3059 2916 + 3024 3060 3023 2916 + 3060 3059 3023 2916 + 2916 3024 3060 2917 + 3025 3061 3024 2917 + 3061 3060 3024 2917 + 2917 3025 3061 2918 + 3026 3062 3025 2918 + 3062 3061 3025 2918 + 76 79 80 2919 + 3027 3063 79 2919 + 3063 80 79 2919 + 2919 3027 3063 2920 + 3028 3064 3027 2920 + 3064 3063 3027 2920 + 2920 3028 3064 2921 + 3029 3065 3028 2921 + 3065 3064 3028 2921 + 2921 3029 3065 2922 + 3030 3066 3029 2922 + 3066 3065 3029 2922 + 2922 3030 3066 2923 + 3031 3067 3030 2923 + 3067 3066 3030 2923 + 2923 3031 3067 2924 + 3032 3068 3031 2924 + 3068 3067 3031 2924 + 2924 3032 3068 2925 + 3033 3069 3032 2925 + 3069 3068 3032 2925 + 2925 3033 3069 2926 + 3034 3070 3033 2926 + 3070 3069 3033 2926 + 2926 3034 3070 2927 + 3035 3071 3034 2927 + 3071 3070 3034 2927 + 2927 3035 3071 2928 + 3036 3072 3035 2928 + 3072 3071 3035 2928 + 2928 3036 3072 2929 + 3037 3073 3036 2929 + 3073 3072 3036 2929 + 2929 3037 3073 2930 + 3038 3074 3037 2930 + 3074 3073 3037 2930 + 2930 3038 3074 2931 + 3039 3075 3038 2931 + 3075 3074 3038 2931 + 2931 3039 3075 2932 + 3040 3076 3039 2932 + 3076 3075 3039 2932 + 2932 3040 3076 2933 + 3041 3077 3040 2933 + 3077 3076 3040 2933 + 2933 3041 3077 2934 + 3042 3078 3041 2934 + 3078 3077 3041 2934 + 2934 3042 3078 2935 + 3043 3079 3042 2935 + 3079 3078 3042 2935 + 2935 3043 3079 2936 + 3044 3080 3043 2936 + 3080 3079 3043 2936 + 2936 3044 3080 2937 + 3045 3081 3044 2937 + 3081 3080 3044 2937 + 2937 3045 3081 2938 + 3046 3082 3045 2938 + 3082 3081 3045 2938 + 2938 3046 3082 2939 + 3047 3083 3046 2939 + 3083 3082 3046 2939 + 2939 3047 3083 2940 + 3048 3084 3047 2940 + 3084 3083 3047 2940 + 2940 3048 3084 2941 + 3049 3085 3048 2941 + 3085 3084 3048 2941 + 2941 3049 3085 2942 + 3050 3086 3049 2942 + 3086 3085 3049 2942 + 2942 3050 3086 2943 + 3051 3087 3050 2943 + 3087 3086 3050 2943 + 2943 3051 3087 2944 + 3052 3088 3051 2944 + 3088 3087 3051 2944 + 2944 3052 3088 2945 + 3053 3089 3052 2945 + 3089 3088 3052 2945 + 2945 3053 3089 2946 + 3054 3090 3053 2946 + 3090 3089 3053 2946 + 2946 3054 3090 2947 + 3055 3091 3054 2947 + 3091 3090 3054 2947 + 2947 3055 3091 2948 + 3056 3092 3055 2948 + 3092 3091 3055 2948 + 2948 3056 3092 2949 + 3057 3093 3056 2949 + 3093 3092 3056 2949 + 2949 3057 3093 2950 + 3058 3094 3057 2950 + 3094 3093 3057 2950 + 2950 3058 3094 2951 + 3059 3095 3058 2951 + 3095 3094 3058 2951 + 2951 3059 3095 2952 + 3060 3096 3059 2952 + 3096 3095 3059 2952 + 2952 3060 3096 2953 + 3061 3097 3060 2953 + 3097 3096 3060 2953 + 2953 3061 3097 2954 + 3062 3098 3061 2954 + 3098 3097 3061 2954 + 2955 2163 2847 77 + 2847 2163 55 77 + 2847 55 74 77 + 2956 2164 2848 2955 + 2848 2164 2163 2955 + 2848 2163 2847 2955 + 2957 2165 2849 2956 + 2849 2165 2164 2956 + 2849 2164 2848 2956 + 2958 2166 2850 2957 + 2850 2166 2165 2957 + 2850 2165 2849 2957 + 2959 2167 2851 2958 + 2851 2167 2166 2958 + 2851 2166 2850 2958 + 2960 2168 2852 2959 + 2852 2168 2167 2959 + 2852 2167 2851 2959 + 2961 2169 2853 2960 + 2853 2169 2168 2960 + 2853 2168 2852 2960 + 2962 2170 2854 2961 + 2854 2170 2169 2961 + 2854 2169 2853 2961 + 2963 2171 2855 2962 + 2855 2171 2170 2962 + 2855 2170 2854 2962 + 2964 2172 2856 2963 + 2856 2172 2171 2963 + 2856 2171 2855 2963 + 2965 2173 2857 2964 + 2857 2173 2172 2964 + 2857 2172 2856 2964 + 2966 2174 2858 2965 + 2858 2174 2173 2965 + 2858 2173 2857 2965 + 2967 2175 2859 2966 + 2859 2175 2174 2966 + 2859 2174 2858 2966 + 2968 2176 2860 2967 + 2860 2176 2175 2967 + 2860 2175 2859 2967 + 2969 2177 2861 2968 + 2861 2177 2176 2968 + 2861 2176 2860 2968 + 2970 2178 2862 2969 + 2862 2178 2177 2969 + 2862 2177 2861 2969 + 2971 2179 2863 2970 + 2863 2179 2178 2970 + 2863 2178 2862 2970 + 2972 2180 2864 2971 + 2864 2180 2179 2971 + 2864 2179 2863 2971 + 2973 2181 2865 2972 + 2865 2181 2180 2972 + 2865 2180 2864 2972 + 2974 2182 2866 2973 + 2866 2182 2181 2973 + 2866 2181 2865 2973 + 2975 2183 2867 2974 + 2867 2183 2182 2974 + 2867 2182 2866 2974 + 2976 2184 2868 2975 + 2868 2184 2183 2975 + 2868 2183 2867 2975 + 2977 2185 2869 2976 + 2869 2185 2184 2976 + 2869 2184 2868 2976 + 2978 2186 2870 2977 + 2870 2186 2185 2977 + 2870 2185 2869 2977 + 2979 2187 2871 2978 + 2871 2187 2186 2978 + 2871 2186 2870 2978 + 2980 2188 2872 2979 + 2872 2188 2187 2979 + 2872 2187 2871 2979 + 2981 2189 2873 2980 + 2873 2189 2188 2980 + 2873 2188 2872 2980 + 2982 2190 2874 2981 + 2874 2190 2189 2981 + 2874 2189 2873 2981 + 2983 2191 2875 2982 + 2875 2191 2190 2982 + 2875 2190 2874 2982 + 2984 2192 2876 2983 + 2876 2192 2191 2983 + 2876 2191 2875 2983 + 2985 2193 2877 2984 + 2877 2193 2192 2984 + 2877 2192 2876 2984 + 2986 2194 2878 2985 + 2878 2194 2193 2985 + 2878 2193 2877 2985 + 2987 2195 2879 2986 + 2879 2195 2194 2986 + 2879 2194 2878 2986 + 2988 2196 2880 2987 + 2880 2196 2195 2987 + 2880 2195 2879 2987 + 2989 2197 2881 2988 + 2881 2197 2196 2988 + 2881 2196 2880 2988 + 2990 2198 2882 2989 + 2882 2198 2197 2989 + 2882 2197 2881 2989 + 2991 2847 2883 78 + 2883 2847 74 78 + 2883 74 75 78 + 2992 2848 2884 2991 + 2884 2848 2847 2991 + 2884 2847 2883 2991 + 2993 2849 2885 2992 + 2885 2849 2848 2992 + 2885 2848 2884 2992 + 2994 2850 2886 2993 + 2886 2850 2849 2993 + 2886 2849 2885 2993 + 2995 2851 2887 2994 + 2887 2851 2850 2994 + 2887 2850 2886 2994 + 2996 2852 2888 2995 + 2888 2852 2851 2995 + 2888 2851 2887 2995 + 2997 2853 2889 2996 + 2889 2853 2852 2996 + 2889 2852 2888 2996 + 2998 2854 2890 2997 + 2890 2854 2853 2997 + 2890 2853 2889 2997 + 2999 2855 2891 2998 + 2891 2855 2854 2998 + 2891 2854 2890 2998 + 3000 2856 2892 2999 + 2892 2856 2855 2999 + 2892 2855 2891 2999 + 3001 2857 2893 3000 + 2893 2857 2856 3000 + 2893 2856 2892 3000 + 3002 2858 2894 3001 + 2894 2858 2857 3001 + 2894 2857 2893 3001 + 3003 2859 2895 3002 + 2895 2859 2858 3002 + 2895 2858 2894 3002 + 3004 2860 2896 3003 + 2896 2860 2859 3003 + 2896 2859 2895 3003 + 3005 2861 2897 3004 + 2897 2861 2860 3004 + 2897 2860 2896 3004 + 3006 2862 2898 3005 + 2898 2862 2861 3005 + 2898 2861 2897 3005 + 3007 2863 2899 3006 + 2899 2863 2862 3006 + 2899 2862 2898 3006 + 3008 2864 2900 3007 + 2900 2864 2863 3007 + 2900 2863 2899 3007 + 3009 2865 2901 3008 + 2901 2865 2864 3008 + 2901 2864 2900 3008 + 3010 2866 2902 3009 + 2902 2866 2865 3009 + 2902 2865 2901 3009 + 3011 2867 2903 3010 + 2903 2867 2866 3010 + 2903 2866 2902 3010 + 3012 2868 2904 3011 + 2904 2868 2867 3011 + 2904 2867 2903 3011 + 3013 2869 2905 3012 + 2905 2869 2868 3012 + 2905 2868 2904 3012 + 3014 2870 2906 3013 + 2906 2870 2869 3013 + 2906 2869 2905 3013 + 3015 2871 2907 3014 + 2907 2871 2870 3014 + 2907 2870 2906 3014 + 3016 2872 2908 3015 + 2908 2872 2871 3015 + 2908 2871 2907 3015 + 3017 2873 2909 3016 + 2909 2873 2872 3016 + 2909 2872 2908 3016 + 3018 2874 2910 3017 + 2910 2874 2873 3017 + 2910 2873 2909 3017 + 3019 2875 2911 3018 + 2911 2875 2874 3018 + 2911 2874 2910 3018 + 3020 2876 2912 3019 + 2912 2876 2875 3019 + 2912 2875 2911 3019 + 3021 2877 2913 3020 + 2913 2877 2876 3020 + 2913 2876 2912 3020 + 3022 2878 2914 3021 + 2914 2878 2877 3021 + 2914 2877 2913 3021 + 3023 2879 2915 3022 + 2915 2879 2878 3022 + 2915 2878 2914 3022 + 3024 2880 2916 3023 + 2916 2880 2879 3023 + 2916 2879 2915 3023 + 3025 2881 2917 3024 + 2917 2881 2880 3024 + 2917 2880 2916 3024 + 3026 2882 2918 3025 + 2918 2882 2881 3025 + 2918 2881 2917 3025 + 3027 2883 2919 79 + 2919 2883 75 79 + 2919 75 76 79 + 3028 2884 2920 3027 + 2920 2884 2883 3027 + 2920 2883 2919 3027 + 3029 2885 2921 3028 + 2921 2885 2884 3028 + 2921 2884 2920 3028 + 3030 2886 2922 3029 + 2922 2886 2885 3029 + 2922 2885 2921 3029 + 3031 2887 2923 3030 + 2923 2887 2886 3030 + 2923 2886 2922 3030 + 3032 2888 2924 3031 + 2924 2888 2887 3031 + 2924 2887 2923 3031 + 3033 2889 2925 3032 + 2925 2889 2888 3032 + 2925 2888 2924 3032 + 3034 2890 2926 3033 + 2926 2890 2889 3033 + 2926 2889 2925 3033 + 3035 2891 2927 3034 + 2927 2891 2890 3034 + 2927 2890 2926 3034 + 3036 2892 2928 3035 + 2928 2892 2891 3035 + 2928 2891 2927 3035 + 3037 2893 2929 3036 + 2929 2893 2892 3036 + 2929 2892 2928 3036 + 3038 2894 2930 3037 + 2930 2894 2893 3037 + 2930 2893 2929 3037 + 3039 2895 2931 3038 + 2931 2895 2894 3038 + 2931 2894 2930 3038 + 3040 2896 2932 3039 + 2932 2896 2895 3039 + 2932 2895 2931 3039 + 3041 2897 2933 3040 + 2933 2897 2896 3040 + 2933 2896 2932 3040 + 3042 2898 2934 3041 + 2934 2898 2897 3041 + 2934 2897 2933 3041 + 3043 2899 2935 3042 + 2935 2899 2898 3042 + 2935 2898 2934 3042 + 3044 2900 2936 3043 + 2936 2900 2899 3043 + 2936 2899 2935 3043 + 3045 2901 2937 3044 + 2937 2901 2900 3044 + 2937 2900 2936 3044 + 3046 2902 2938 3045 + 2938 2902 2901 3045 + 2938 2901 2937 3045 + 3047 2903 2939 3046 + 2939 2903 2902 3046 + 2939 2902 2938 3046 + 3048 2904 2940 3047 + 2940 2904 2903 3047 + 2940 2903 2939 3047 + 3049 2905 2941 3048 + 2941 2905 2904 3048 + 2941 2904 2940 3048 + 3050 2906 2942 3049 + 2942 2906 2905 3049 + 2942 2905 2941 3049 + 3051 2907 2943 3050 + 2943 2907 2906 3050 + 2943 2906 2942 3050 + 3052 2908 2944 3051 + 2944 2908 2907 3051 + 2944 2907 2943 3051 + 3053 2909 2945 3052 + 2945 2909 2908 3052 + 2945 2908 2944 3052 + 3054 2910 2946 3053 + 2946 2910 2909 3053 + 2946 2909 2945 3053 + 3055 2911 2947 3054 + 2947 2911 2910 3054 + 2947 2910 2946 3054 + 3056 2912 2948 3055 + 2948 2912 2911 3055 + 2948 2911 2947 3055 + 3057 2913 2949 3056 + 2949 2913 2912 3056 + 2949 2912 2948 3056 + 3058 2914 2950 3057 + 2950 2914 2913 3057 + 2950 2913 2949 3057 + 3059 2915 2951 3058 + 2951 2915 2914 3058 + 2951 2914 2950 3058 + 3060 2916 2952 3059 + 2952 2916 2915 3059 + 2952 2915 2951 3059 + 3061 2917 2953 3060 + 2953 2917 2916 3060 + 2953 2916 2952 3060 + 3062 2918 2954 3061 + 2954 2918 2917 3061 + 2954 2917 2953 3061 + 59 64 81 2307 + 2487 3099 64 2307 + 3099 81 64 2307 + 2307 2487 3099 2308 + 2488 3100 2487 2308 + 3100 3099 2487 2308 + 2308 2488 3100 2309 + 2489 3101 2488 2309 + 3101 3100 2488 2309 + 2309 2489 3101 2310 + 2490 3102 2489 2310 + 3102 3101 2489 2310 + 2310 2490 3102 2311 + 2491 3103 2490 2311 + 3103 3102 2490 2311 + 2311 2491 3103 2312 + 2492 3104 2491 2312 + 3104 3103 2491 2312 + 2312 2492 3104 2313 + 2493 3105 2492 2313 + 3105 3104 2492 2313 + 2313 2493 3105 2314 + 2494 3106 2493 2314 + 3106 3105 2493 2314 + 2314 2494 3106 2315 + 2495 3107 2494 2315 + 3107 3106 2494 2315 + 2315 2495 3107 2316 + 2496 3108 2495 2316 + 3108 3107 2495 2316 + 2316 2496 3108 2317 + 2497 3109 2496 2317 + 3109 3108 2496 2317 + 2317 2497 3109 2318 + 2498 3110 2497 2318 + 3110 3109 2497 2318 + 2318 2498 3110 2319 + 2499 3111 2498 2319 + 3111 3110 2498 2319 + 2319 2499 3111 2320 + 2500 3112 2499 2320 + 3112 3111 2499 2320 + 2320 2500 3112 2321 + 2501 3113 2500 2321 + 3113 3112 2500 2321 + 2321 2501 3113 2322 + 2502 3114 2501 2322 + 3114 3113 2501 2322 + 2322 2502 3114 2323 + 2503 3115 2502 2323 + 3115 3114 2502 2323 + 2323 2503 3115 2324 + 2504 3116 2503 2324 + 3116 3115 2503 2324 + 2324 2504 3116 2325 + 2505 3117 2504 2325 + 3117 3116 2504 2325 + 2325 2505 3117 2326 + 2506 3118 2505 2326 + 3118 3117 2505 2326 + 2326 2506 3118 2327 + 2507 3119 2506 2327 + 3119 3118 2506 2327 + 2327 2507 3119 2328 + 2508 3120 2507 2328 + 3120 3119 2507 2328 + 2328 2508 3120 2329 + 2509 3121 2508 2329 + 3121 3120 2508 2329 + 2329 2509 3121 2330 + 2510 3122 2509 2330 + 3122 3121 2509 2330 + 2330 2510 3122 2331 + 2511 3123 2510 2331 + 3123 3122 2510 2331 + 2331 2511 3123 2332 + 2512 3124 2511 2332 + 3124 3123 2511 2332 + 2332 2512 3124 2333 + 2513 3125 2512 2333 + 3125 3124 2512 2333 + 2333 2513 3125 2334 + 2514 3126 2513 2334 + 3126 3125 2513 2334 + 2334 2514 3126 2335 + 2515 3127 2514 2335 + 3127 3126 2514 2335 + 2335 2515 3127 2336 + 2516 3128 2515 2336 + 3128 3127 2515 2336 + 2336 2516 3128 2337 + 2517 3129 2516 2337 + 3129 3128 2516 2337 + 2337 2517 3129 2338 + 2518 3130 2517 2338 + 3130 3129 2517 2338 + 2338 2518 3130 2339 + 2519 3131 2518 2339 + 3131 3130 2518 2339 + 2339 2519 3131 2340 + 2520 3132 2519 2340 + 3132 3131 2519 2340 + 2340 2520 3132 2341 + 2521 3133 2520 2341 + 3133 3132 2520 2341 + 2341 2521 3133 2342 + 2522 3134 2521 2342 + 3134 3133 2521 2342 + 77 81 82 2955 + 3099 3135 81 2955 + 3135 82 81 2955 + 2955 3099 3135 2956 + 3100 3136 3099 2956 + 3136 3135 3099 2956 + 2956 3100 3136 2957 + 3101 3137 3100 2957 + 3137 3136 3100 2957 + 2957 3101 3137 2958 + 3102 3138 3101 2958 + 3138 3137 3101 2958 + 2958 3102 3138 2959 + 3103 3139 3102 2959 + 3139 3138 3102 2959 + 2959 3103 3139 2960 + 3104 3140 3103 2960 + 3140 3139 3103 2960 + 2960 3104 3140 2961 + 3105 3141 3104 2961 + 3141 3140 3104 2961 + 2961 3105 3141 2962 + 3106 3142 3105 2962 + 3142 3141 3105 2962 + 2962 3106 3142 2963 + 3107 3143 3106 2963 + 3143 3142 3106 2963 + 2963 3107 3143 2964 + 3108 3144 3107 2964 + 3144 3143 3107 2964 + 2964 3108 3144 2965 + 3109 3145 3108 2965 + 3145 3144 3108 2965 + 2965 3109 3145 2966 + 3110 3146 3109 2966 + 3146 3145 3109 2966 + 2966 3110 3146 2967 + 3111 3147 3110 2967 + 3147 3146 3110 2967 + 2967 3111 3147 2968 + 3112 3148 3111 2968 + 3148 3147 3111 2968 + 2968 3112 3148 2969 + 3113 3149 3112 2969 + 3149 3148 3112 2969 + 2969 3113 3149 2970 + 3114 3150 3113 2970 + 3150 3149 3113 2970 + 2970 3114 3150 2971 + 3115 3151 3114 2971 + 3151 3150 3114 2971 + 2971 3115 3151 2972 + 3116 3152 3115 2972 + 3152 3151 3115 2972 + 2972 3116 3152 2973 + 3117 3153 3116 2973 + 3153 3152 3116 2973 + 2973 3117 3153 2974 + 3118 3154 3117 2974 + 3154 3153 3117 2974 + 2974 3118 3154 2975 + 3119 3155 3118 2975 + 3155 3154 3118 2975 + 2975 3119 3155 2976 + 3120 3156 3119 2976 + 3156 3155 3119 2976 + 2976 3120 3156 2977 + 3121 3157 3120 2977 + 3157 3156 3120 2977 + 2977 3121 3157 2978 + 3122 3158 3121 2978 + 3158 3157 3121 2978 + 2978 3122 3158 2979 + 3123 3159 3122 2979 + 3159 3158 3122 2979 + 2979 3123 3159 2980 + 3124 3160 3123 2980 + 3160 3159 3123 2980 + 2980 3124 3160 2981 + 3125 3161 3124 2981 + 3161 3160 3124 2981 + 2981 3125 3161 2982 + 3126 3162 3125 2982 + 3162 3161 3125 2982 + 2982 3126 3162 2983 + 3127 3163 3126 2983 + 3163 3162 3126 2983 + 2983 3127 3163 2984 + 3128 3164 3127 2984 + 3164 3163 3127 2984 + 2984 3128 3164 2985 + 3129 3165 3128 2985 + 3165 3164 3128 2985 + 2985 3129 3165 2986 + 3130 3166 3129 2986 + 3166 3165 3129 2986 + 2986 3130 3166 2987 + 3131 3167 3130 2987 + 3167 3166 3130 2987 + 2987 3131 3167 2988 + 3132 3168 3131 2988 + 3168 3167 3131 2988 + 2988 3132 3168 2989 + 3133 3169 3132 2989 + 3169 3168 3132 2989 + 2989 3133 3169 2990 + 3134 3170 3133 2990 + 3170 3169 3133 2990 + 78 82 83 2991 + 3135 3171 82 2991 + 3171 83 82 2991 + 2991 3135 3171 2992 + 3136 3172 3135 2992 + 3172 3171 3135 2992 + 2992 3136 3172 2993 + 3137 3173 3136 2993 + 3173 3172 3136 2993 + 2993 3137 3173 2994 + 3138 3174 3137 2994 + 3174 3173 3137 2994 + 2994 3138 3174 2995 + 3139 3175 3138 2995 + 3175 3174 3138 2995 + 2995 3139 3175 2996 + 3140 3176 3139 2996 + 3176 3175 3139 2996 + 2996 3140 3176 2997 + 3141 3177 3140 2997 + 3177 3176 3140 2997 + 2997 3141 3177 2998 + 3142 3178 3141 2998 + 3178 3177 3141 2998 + 2998 3142 3178 2999 + 3143 3179 3142 2999 + 3179 3178 3142 2999 + 2999 3143 3179 3000 + 3144 3180 3143 3000 + 3180 3179 3143 3000 + 3000 3144 3180 3001 + 3145 3181 3144 3001 + 3181 3180 3144 3001 + 3001 3145 3181 3002 + 3146 3182 3145 3002 + 3182 3181 3145 3002 + 3002 3146 3182 3003 + 3147 3183 3146 3003 + 3183 3182 3146 3003 + 3003 3147 3183 3004 + 3148 3184 3147 3004 + 3184 3183 3147 3004 + 3004 3148 3184 3005 + 3149 3185 3148 3005 + 3185 3184 3148 3005 + 3005 3149 3185 3006 + 3150 3186 3149 3006 + 3186 3185 3149 3006 + 3006 3150 3186 3007 + 3151 3187 3150 3007 + 3187 3186 3150 3007 + 3007 3151 3187 3008 + 3152 3188 3151 3008 + 3188 3187 3151 3008 + 3008 3152 3188 3009 + 3153 3189 3152 3009 + 3189 3188 3152 3009 + 3009 3153 3189 3010 + 3154 3190 3153 3010 + 3190 3189 3153 3010 + 3010 3154 3190 3011 + 3155 3191 3154 3011 + 3191 3190 3154 3011 + 3011 3155 3191 3012 + 3156 3192 3155 3012 + 3192 3191 3155 3012 + 3012 3156 3192 3013 + 3157 3193 3156 3013 + 3193 3192 3156 3013 + 3013 3157 3193 3014 + 3158 3194 3157 3014 + 3194 3193 3157 3014 + 3014 3158 3194 3015 + 3159 3195 3158 3015 + 3195 3194 3158 3015 + 3015 3159 3195 3016 + 3160 3196 3159 3016 + 3196 3195 3159 3016 + 3016 3160 3196 3017 + 3161 3197 3160 3017 + 3197 3196 3160 3017 + 3017 3161 3197 3018 + 3162 3198 3161 3018 + 3198 3197 3161 3018 + 3018 3162 3198 3019 + 3163 3199 3162 3019 + 3199 3198 3162 3019 + 3019 3163 3199 3020 + 3164 3200 3163 3020 + 3200 3199 3163 3020 + 3020 3164 3200 3021 + 3165 3201 3164 3021 + 3201 3200 3164 3021 + 3021 3165 3201 3022 + 3166 3202 3165 3022 + 3202 3201 3165 3022 + 3022 3166 3202 3023 + 3167 3203 3166 3023 + 3203 3202 3166 3023 + 3023 3167 3203 3024 + 3168 3204 3167 3024 + 3204 3203 3167 3024 + 3024 3168 3204 3025 + 3169 3205 3168 3025 + 3205 3204 3168 3025 + 3025 3169 3205 3026 + 3170 3206 3169 3026 + 3206 3205 3169 3026 + 79 83 84 3027 + 3171 3207 83 3027 + 3207 84 83 3027 + 3027 3171 3207 3028 + 3172 3208 3171 3028 + 3208 3207 3171 3028 + 3028 3172 3208 3029 + 3173 3209 3172 3029 + 3209 3208 3172 3029 + 3029 3173 3209 3030 + 3174 3210 3173 3030 + 3210 3209 3173 3030 + 3030 3174 3210 3031 + 3175 3211 3174 3031 + 3211 3210 3174 3031 + 3031 3175 3211 3032 + 3176 3212 3175 3032 + 3212 3211 3175 3032 + 3032 3176 3212 3033 + 3177 3213 3176 3033 + 3213 3212 3176 3033 + 3033 3177 3213 3034 + 3178 3214 3177 3034 + 3214 3213 3177 3034 + 3034 3178 3214 3035 + 3179 3215 3178 3035 + 3215 3214 3178 3035 + 3035 3179 3215 3036 + 3180 3216 3179 3036 + 3216 3215 3179 3036 + 3036 3180 3216 3037 + 3181 3217 3180 3037 + 3217 3216 3180 3037 + 3037 3181 3217 3038 + 3182 3218 3181 3038 + 3218 3217 3181 3038 + 3038 3182 3218 3039 + 3183 3219 3182 3039 + 3219 3218 3182 3039 + 3039 3183 3219 3040 + 3184 3220 3183 3040 + 3220 3219 3183 3040 + 3040 3184 3220 3041 + 3185 3221 3184 3041 + 3221 3220 3184 3041 + 3041 3185 3221 3042 + 3186 3222 3185 3042 + 3222 3221 3185 3042 + 3042 3186 3222 3043 + 3187 3223 3186 3043 + 3223 3222 3186 3043 + 3043 3187 3223 3044 + 3188 3224 3187 3044 + 3224 3223 3187 3044 + 3044 3188 3224 3045 + 3189 3225 3188 3045 + 3225 3224 3188 3045 + 3045 3189 3225 3046 + 3190 3226 3189 3046 + 3226 3225 3189 3046 + 3046 3190 3226 3047 + 3191 3227 3190 3047 + 3227 3226 3190 3047 + 3047 3191 3227 3048 + 3192 3228 3191 3048 + 3228 3227 3191 3048 + 3048 3192 3228 3049 + 3193 3229 3192 3049 + 3229 3228 3192 3049 + 3049 3193 3229 3050 + 3194 3230 3193 3050 + 3230 3229 3193 3050 + 3050 3194 3230 3051 + 3195 3231 3194 3051 + 3231 3230 3194 3051 + 3051 3195 3231 3052 + 3196 3232 3195 3052 + 3232 3231 3195 3052 + 3052 3196 3232 3053 + 3197 3233 3196 3053 + 3233 3232 3196 3053 + 3053 3197 3233 3054 + 3198 3234 3197 3054 + 3234 3233 3197 3054 + 3054 3198 3234 3055 + 3199 3235 3198 3055 + 3235 3234 3198 3055 + 3055 3199 3235 3056 + 3200 3236 3199 3056 + 3236 3235 3199 3056 + 3056 3200 3236 3057 + 3201 3237 3200 3057 + 3237 3236 3200 3057 + 3057 3201 3237 3058 + 3202 3238 3201 3058 + 3238 3237 3201 3058 + 3058 3202 3238 3059 + 3203 3239 3202 3059 + 3239 3238 3202 3059 + 3059 3203 3239 3060 + 3204 3240 3203 3060 + 3240 3239 3203 3060 + 3060 3204 3240 3061 + 3205 3241 3204 3061 + 3241 3240 3204 3061 + 3061 3205 3241 3062 + 3206 3242 3205 3062 + 3242 3241 3205 3062 + 80 84 85 3063 + 3207 3243 84 3063 + 3243 85 84 3063 + 3063 3207 3243 3064 + 3208 3244 3207 3064 + 3244 3243 3207 3064 + 3064 3208 3244 3065 + 3209 3245 3208 3065 + 3245 3244 3208 3065 + 3065 3209 3245 3066 + 3210 3246 3209 3066 + 3246 3245 3209 3066 + 3066 3210 3246 3067 + 3211 3247 3210 3067 + 3247 3246 3210 3067 + 3067 3211 3247 3068 + 3212 3248 3211 3068 + 3248 3247 3211 3068 + 3068 3212 3248 3069 + 3213 3249 3212 3069 + 3249 3248 3212 3069 + 3069 3213 3249 3070 + 3214 3250 3213 3070 + 3250 3249 3213 3070 + 3070 3214 3250 3071 + 3215 3251 3214 3071 + 3251 3250 3214 3071 + 3071 3215 3251 3072 + 3216 3252 3215 3072 + 3252 3251 3215 3072 + 3072 3216 3252 3073 + 3217 3253 3216 3073 + 3253 3252 3216 3073 + 3073 3217 3253 3074 + 3218 3254 3217 3074 + 3254 3253 3217 3074 + 3074 3218 3254 3075 + 3219 3255 3218 3075 + 3255 3254 3218 3075 + 3075 3219 3255 3076 + 3220 3256 3219 3076 + 3256 3255 3219 3076 + 3076 3220 3256 3077 + 3221 3257 3220 3077 + 3257 3256 3220 3077 + 3077 3221 3257 3078 + 3222 3258 3221 3078 + 3258 3257 3221 3078 + 3078 3222 3258 3079 + 3223 3259 3222 3079 + 3259 3258 3222 3079 + 3079 3223 3259 3080 + 3224 3260 3223 3080 + 3260 3259 3223 3080 + 3080 3224 3260 3081 + 3225 3261 3224 3081 + 3261 3260 3224 3081 + 3081 3225 3261 3082 + 3226 3262 3225 3082 + 3262 3261 3225 3082 + 3082 3226 3262 3083 + 3227 3263 3226 3083 + 3263 3262 3226 3083 + 3083 3227 3263 3084 + 3228 3264 3227 3084 + 3264 3263 3227 3084 + 3084 3228 3264 3085 + 3229 3265 3228 3085 + 3265 3264 3228 3085 + 3085 3229 3265 3086 + 3230 3266 3229 3086 + 3266 3265 3229 3086 + 3086 3230 3266 3087 + 3231 3267 3230 3087 + 3267 3266 3230 3087 + 3087 3231 3267 3088 + 3232 3268 3231 3088 + 3268 3267 3231 3088 + 3088 3232 3268 3089 + 3233 3269 3232 3089 + 3269 3268 3232 3089 + 3089 3233 3269 3090 + 3234 3270 3233 3090 + 3270 3269 3233 3090 + 3090 3234 3270 3091 + 3235 3271 3234 3091 + 3271 3270 3234 3091 + 3091 3235 3271 3092 + 3236 3272 3235 3092 + 3272 3271 3235 3092 + 3092 3236 3272 3093 + 3237 3273 3236 3093 + 3273 3272 3236 3093 + 3093 3237 3273 3094 + 3238 3274 3237 3094 + 3274 3273 3237 3094 + 3094 3238 3274 3095 + 3239 3275 3238 3095 + 3275 3274 3238 3095 + 3095 3239 3275 3096 + 3240 3276 3239 3096 + 3276 3275 3239 3096 + 3096 3240 3276 3097 + 3241 3277 3240 3097 + 3277 3276 3240 3097 + 3097 3241 3277 3098 + 3242 3278 3241 3098 + 3278 3277 3241 3098 + 3099 2307 2955 81 + 2955 2307 59 81 + 2955 59 77 81 + 3100 2308 2956 3099 + 2956 2308 2307 3099 + 2956 2307 2955 3099 + 3101 2309 2957 3100 + 2957 2309 2308 3100 + 2957 2308 2956 3100 + 3102 2310 2958 3101 + 2958 2310 2309 3101 + 2958 2309 2957 3101 + 3103 2311 2959 3102 + 2959 2311 2310 3102 + 2959 2310 2958 3102 + 3104 2312 2960 3103 + 2960 2312 2311 3103 + 2960 2311 2959 3103 + 3105 2313 2961 3104 + 2961 2313 2312 3104 + 2961 2312 2960 3104 + 3106 2314 2962 3105 + 2962 2314 2313 3105 + 2962 2313 2961 3105 + 3107 2315 2963 3106 + 2963 2315 2314 3106 + 2963 2314 2962 3106 + 3108 2316 2964 3107 + 2964 2316 2315 3107 + 2964 2315 2963 3107 + 3109 2317 2965 3108 + 2965 2317 2316 3108 + 2965 2316 2964 3108 + 3110 2318 2966 3109 + 2966 2318 2317 3109 + 2966 2317 2965 3109 + 3111 2319 2967 3110 + 2967 2319 2318 3110 + 2967 2318 2966 3110 + 3112 2320 2968 3111 + 2968 2320 2319 3111 + 2968 2319 2967 3111 + 3113 2321 2969 3112 + 2969 2321 2320 3112 + 2969 2320 2968 3112 + 3114 2322 2970 3113 + 2970 2322 2321 3113 + 2970 2321 2969 3113 + 3115 2323 2971 3114 + 2971 2323 2322 3114 + 2971 2322 2970 3114 + 3116 2324 2972 3115 + 2972 2324 2323 3115 + 2972 2323 2971 3115 + 3117 2325 2973 3116 + 2973 2325 2324 3116 + 2973 2324 2972 3116 + 3118 2326 2974 3117 + 2974 2326 2325 3117 + 2974 2325 2973 3117 + 3119 2327 2975 3118 + 2975 2327 2326 3118 + 2975 2326 2974 3118 + 3120 2328 2976 3119 + 2976 2328 2327 3119 + 2976 2327 2975 3119 + 3121 2329 2977 3120 + 2977 2329 2328 3120 + 2977 2328 2976 3120 + 3122 2330 2978 3121 + 2978 2330 2329 3121 + 2978 2329 2977 3121 + 3123 2331 2979 3122 + 2979 2331 2330 3122 + 2979 2330 2978 3122 + 3124 2332 2980 3123 + 2980 2332 2331 3123 + 2980 2331 2979 3123 + 3125 2333 2981 3124 + 2981 2333 2332 3124 + 2981 2332 2980 3124 + 3126 2334 2982 3125 + 2982 2334 2333 3125 + 2982 2333 2981 3125 + 3127 2335 2983 3126 + 2983 2335 2334 3126 + 2983 2334 2982 3126 + 3128 2336 2984 3127 + 2984 2336 2335 3127 + 2984 2335 2983 3127 + 3129 2337 2985 3128 + 2985 2337 2336 3128 + 2985 2336 2984 3128 + 3130 2338 2986 3129 + 2986 2338 2337 3129 + 2986 2337 2985 3129 + 3131 2339 2987 3130 + 2987 2339 2338 3130 + 2987 2338 2986 3130 + 3132 2340 2988 3131 + 2988 2340 2339 3131 + 2988 2339 2987 3131 + 3133 2341 2989 3132 + 2989 2341 2340 3132 + 2989 2340 2988 3132 + 3134 2342 2990 3133 + 2990 2342 2341 3133 + 2990 2341 2989 3133 + 3135 2955 2991 82 + 2991 2955 77 82 + 2991 77 78 82 + 3136 2956 2992 3135 + 2992 2956 2955 3135 + 2992 2955 2991 3135 + 3137 2957 2993 3136 + 2993 2957 2956 3136 + 2993 2956 2992 3136 + 3138 2958 2994 3137 + 2994 2958 2957 3137 + 2994 2957 2993 3137 + 3139 2959 2995 3138 + 2995 2959 2958 3138 + 2995 2958 2994 3138 + 3140 2960 2996 3139 + 2996 2960 2959 3139 + 2996 2959 2995 3139 + 3141 2961 2997 3140 + 2997 2961 2960 3140 + 2997 2960 2996 3140 + 3142 2962 2998 3141 + 2998 2962 2961 3141 + 2998 2961 2997 3141 + 3143 2963 2999 3142 + 2999 2963 2962 3142 + 2999 2962 2998 3142 + 3144 2964 3000 3143 + 3000 2964 2963 3143 + 3000 2963 2999 3143 + 3145 2965 3001 3144 + 3001 2965 2964 3144 + 3001 2964 3000 3144 + 3146 2966 3002 3145 + 3002 2966 2965 3145 + 3002 2965 3001 3145 + 3147 2967 3003 3146 + 3003 2967 2966 3146 + 3003 2966 3002 3146 + 3148 2968 3004 3147 + 3004 2968 2967 3147 + 3004 2967 3003 3147 + 3149 2969 3005 3148 + 3005 2969 2968 3148 + 3005 2968 3004 3148 + 3150 2970 3006 3149 + 3006 2970 2969 3149 + 3006 2969 3005 3149 + 3151 2971 3007 3150 + 3007 2971 2970 3150 + 3007 2970 3006 3150 + 3152 2972 3008 3151 + 3008 2972 2971 3151 + 3008 2971 3007 3151 + 3153 2973 3009 3152 + 3009 2973 2972 3152 + 3009 2972 3008 3152 + 3154 2974 3010 3153 + 3010 2974 2973 3153 + 3010 2973 3009 3153 + 3155 2975 3011 3154 + 3011 2975 2974 3154 + 3011 2974 3010 3154 + 3156 2976 3012 3155 + 3012 2976 2975 3155 + 3012 2975 3011 3155 + 3157 2977 3013 3156 + 3013 2977 2976 3156 + 3013 2976 3012 3156 + 3158 2978 3014 3157 + 3014 2978 2977 3157 + 3014 2977 3013 3157 + 3159 2979 3015 3158 + 3015 2979 2978 3158 + 3015 2978 3014 3158 + 3160 2980 3016 3159 + 3016 2980 2979 3159 + 3016 2979 3015 3159 + 3161 2981 3017 3160 + 3017 2981 2980 3160 + 3017 2980 3016 3160 + 3162 2982 3018 3161 + 3018 2982 2981 3161 + 3018 2981 3017 3161 + 3163 2983 3019 3162 + 3019 2983 2982 3162 + 3019 2982 3018 3162 + 3164 2984 3020 3163 + 3020 2984 2983 3163 + 3020 2983 3019 3163 + 3165 2985 3021 3164 + 3021 2985 2984 3164 + 3021 2984 3020 3164 + 3166 2986 3022 3165 + 3022 2986 2985 3165 + 3022 2985 3021 3165 + 3167 2987 3023 3166 + 3023 2987 2986 3166 + 3023 2986 3022 3166 + 3168 2988 3024 3167 + 3024 2988 2987 3167 + 3024 2987 3023 3167 + 3169 2989 3025 3168 + 3025 2989 2988 3168 + 3025 2988 3024 3168 + 3170 2990 3026 3169 + 3026 2990 2989 3169 + 3026 2989 3025 3169 + 3171 2991 3027 83 + 3027 2991 78 83 + 3027 78 79 83 + 3172 2992 3028 3171 + 3028 2992 2991 3171 + 3028 2991 3027 3171 + 3173 2993 3029 3172 + 3029 2993 2992 3172 + 3029 2992 3028 3172 + 3174 2994 3030 3173 + 3030 2994 2993 3173 + 3030 2993 3029 3173 + 3175 2995 3031 3174 + 3031 2995 2994 3174 + 3031 2994 3030 3174 + 3176 2996 3032 3175 + 3032 2996 2995 3175 + 3032 2995 3031 3175 + 3177 2997 3033 3176 + 3033 2997 2996 3176 + 3033 2996 3032 3176 + 3178 2998 3034 3177 + 3034 2998 2997 3177 + 3034 2997 3033 3177 + 3179 2999 3035 3178 + 3035 2999 2998 3178 + 3035 2998 3034 3178 + 3180 3000 3036 3179 + 3036 3000 2999 3179 + 3036 2999 3035 3179 + 3181 3001 3037 3180 + 3037 3001 3000 3180 + 3037 3000 3036 3180 + 3182 3002 3038 3181 + 3038 3002 3001 3181 + 3038 3001 3037 3181 + 3183 3003 3039 3182 + 3039 3003 3002 3182 + 3039 3002 3038 3182 + 3184 3004 3040 3183 + 3040 3004 3003 3183 + 3040 3003 3039 3183 + 3185 3005 3041 3184 + 3041 3005 3004 3184 + 3041 3004 3040 3184 + 3186 3006 3042 3185 + 3042 3006 3005 3185 + 3042 3005 3041 3185 + 3187 3007 3043 3186 + 3043 3007 3006 3186 + 3043 3006 3042 3186 + 3188 3008 3044 3187 + 3044 3008 3007 3187 + 3044 3007 3043 3187 + 3189 3009 3045 3188 + 3045 3009 3008 3188 + 3045 3008 3044 3188 + 3190 3010 3046 3189 + 3046 3010 3009 3189 + 3046 3009 3045 3189 + 3191 3011 3047 3190 + 3047 3011 3010 3190 + 3047 3010 3046 3190 + 3192 3012 3048 3191 + 3048 3012 3011 3191 + 3048 3011 3047 3191 + 3193 3013 3049 3192 + 3049 3013 3012 3192 + 3049 3012 3048 3192 + 3194 3014 3050 3193 + 3050 3014 3013 3193 + 3050 3013 3049 3193 + 3195 3015 3051 3194 + 3051 3015 3014 3194 + 3051 3014 3050 3194 + 3196 3016 3052 3195 + 3052 3016 3015 3195 + 3052 3015 3051 3195 + 3197 3017 3053 3196 + 3053 3017 3016 3196 + 3053 3016 3052 3196 + 3198 3018 3054 3197 + 3054 3018 3017 3197 + 3054 3017 3053 3197 + 3199 3019 3055 3198 + 3055 3019 3018 3198 + 3055 3018 3054 3198 + 3200 3020 3056 3199 + 3056 3020 3019 3199 + 3056 3019 3055 3199 + 3201 3021 3057 3200 + 3057 3021 3020 3200 + 3057 3020 3056 3200 + 3202 3022 3058 3201 + 3058 3022 3021 3201 + 3058 3021 3057 3201 + 3203 3023 3059 3202 + 3059 3023 3022 3202 + 3059 3022 3058 3202 + 3204 3024 3060 3203 + 3060 3024 3023 3203 + 3060 3023 3059 3203 + 3205 3025 3061 3204 + 3061 3025 3024 3204 + 3061 3024 3060 3204 + 3206 3026 3062 3205 + 3062 3026 3025 3205 + 3062 3025 3061 3205 + 3207 3027 3063 84 + 3063 3027 79 84 + 3063 79 80 84 + 3208 3028 3064 3207 + 3064 3028 3027 3207 + 3064 3027 3063 3207 + 3209 3029 3065 3208 + 3065 3029 3028 3208 + 3065 3028 3064 3208 + 3210 3030 3066 3209 + 3066 3030 3029 3209 + 3066 3029 3065 3209 + 3211 3031 3067 3210 + 3067 3031 3030 3210 + 3067 3030 3066 3210 + 3212 3032 3068 3211 + 3068 3032 3031 3211 + 3068 3031 3067 3211 + 3213 3033 3069 3212 + 3069 3033 3032 3212 + 3069 3032 3068 3212 + 3214 3034 3070 3213 + 3070 3034 3033 3213 + 3070 3033 3069 3213 + 3215 3035 3071 3214 + 3071 3035 3034 3214 + 3071 3034 3070 3214 + 3216 3036 3072 3215 + 3072 3036 3035 3215 + 3072 3035 3071 3215 + 3217 3037 3073 3216 + 3073 3037 3036 3216 + 3073 3036 3072 3216 + 3218 3038 3074 3217 + 3074 3038 3037 3217 + 3074 3037 3073 3217 + 3219 3039 3075 3218 + 3075 3039 3038 3218 + 3075 3038 3074 3218 + 3220 3040 3076 3219 + 3076 3040 3039 3219 + 3076 3039 3075 3219 + 3221 3041 3077 3220 + 3077 3041 3040 3220 + 3077 3040 3076 3220 + 3222 3042 3078 3221 + 3078 3042 3041 3221 + 3078 3041 3077 3221 + 3223 3043 3079 3222 + 3079 3043 3042 3222 + 3079 3042 3078 3222 + 3224 3044 3080 3223 + 3080 3044 3043 3223 + 3080 3043 3079 3223 + 3225 3045 3081 3224 + 3081 3045 3044 3224 + 3081 3044 3080 3224 + 3226 3046 3082 3225 + 3082 3046 3045 3225 + 3082 3045 3081 3225 + 3227 3047 3083 3226 + 3083 3047 3046 3226 + 3083 3046 3082 3226 + 3228 3048 3084 3227 + 3084 3048 3047 3227 + 3084 3047 3083 3227 + 3229 3049 3085 3228 + 3085 3049 3048 3228 + 3085 3048 3084 3228 + 3230 3050 3086 3229 + 3086 3050 3049 3229 + 3086 3049 3085 3229 + 3231 3051 3087 3230 + 3087 3051 3050 3230 + 3087 3050 3086 3230 + 3232 3052 3088 3231 + 3088 3052 3051 3231 + 3088 3051 3087 3231 + 3233 3053 3089 3232 + 3089 3053 3052 3232 + 3089 3052 3088 3232 + 3234 3054 3090 3233 + 3090 3054 3053 3233 + 3090 3053 3089 3233 + 3235 3055 3091 3234 + 3091 3055 3054 3234 + 3091 3054 3090 3234 + 3236 3056 3092 3235 + 3092 3056 3055 3235 + 3092 3055 3091 3235 + 3237 3057 3093 3236 + 3093 3057 3056 3236 + 3093 3056 3092 3236 + 3238 3058 3094 3237 + 3094 3058 3057 3237 + 3094 3057 3093 3237 + 3239 3059 3095 3238 + 3095 3059 3058 3238 + 3095 3058 3094 3238 + 3240 3060 3096 3239 + 3096 3060 3059 3239 + 3096 3059 3095 3239 + 3241 3061 3097 3240 + 3097 3061 3060 3240 + 3097 3060 3096 3240 + 3242 3062 3098 3241 + 3098 3062 3061 3241 + 3098 3061 3097 3241 + 64 70 86 2487 + 2703 3279 70 2487 + 3279 86 70 2487 + 2487 2703 3279 2488 + 2704 3280 2703 2488 + 3280 3279 2703 2488 + 2488 2704 3280 2489 + 2705 3281 2704 2489 + 3281 3280 2704 2489 + 2489 2705 3281 2490 + 2706 3282 2705 2490 + 3282 3281 2705 2490 + 2490 2706 3282 2491 + 2707 3283 2706 2491 + 3283 3282 2706 2491 + 2491 2707 3283 2492 + 2708 3284 2707 2492 + 3284 3283 2707 2492 + 2492 2708 3284 2493 + 2709 3285 2708 2493 + 3285 3284 2708 2493 + 2493 2709 3285 2494 + 2710 3286 2709 2494 + 3286 3285 2709 2494 + 2494 2710 3286 2495 + 2711 3287 2710 2495 + 3287 3286 2710 2495 + 2495 2711 3287 2496 + 2712 3288 2711 2496 + 3288 3287 2711 2496 + 2496 2712 3288 2497 + 2713 3289 2712 2497 + 3289 3288 2712 2497 + 2497 2713 3289 2498 + 2714 3290 2713 2498 + 3290 3289 2713 2498 + 2498 2714 3290 2499 + 2715 3291 2714 2499 + 3291 3290 2714 2499 + 2499 2715 3291 2500 + 2716 3292 2715 2500 + 3292 3291 2715 2500 + 2500 2716 3292 2501 + 2717 3293 2716 2501 + 3293 3292 2716 2501 + 2501 2717 3293 2502 + 2718 3294 2717 2502 + 3294 3293 2717 2502 + 2502 2718 3294 2503 + 2719 3295 2718 2503 + 3295 3294 2718 2503 + 2503 2719 3295 2504 + 2720 3296 2719 2504 + 3296 3295 2719 2504 + 2504 2720 3296 2505 + 2721 3297 2720 2505 + 3297 3296 2720 2505 + 2505 2721 3297 2506 + 2722 3298 2721 2506 + 3298 3297 2721 2506 + 2506 2722 3298 2507 + 2723 3299 2722 2507 + 3299 3298 2722 2507 + 2507 2723 3299 2508 + 2724 3300 2723 2508 + 3300 3299 2723 2508 + 2508 2724 3300 2509 + 2725 3301 2724 2509 + 3301 3300 2724 2509 + 2509 2725 3301 2510 + 2726 3302 2725 2510 + 3302 3301 2725 2510 + 2510 2726 3302 2511 + 2727 3303 2726 2511 + 3303 3302 2726 2511 + 2511 2727 3303 2512 + 2728 3304 2727 2512 + 3304 3303 2727 2512 + 2512 2728 3304 2513 + 2729 3305 2728 2513 + 3305 3304 2728 2513 + 2513 2729 3305 2514 + 2730 3306 2729 2514 + 3306 3305 2729 2514 + 2514 2730 3306 2515 + 2731 3307 2730 2515 + 3307 3306 2730 2515 + 2515 2731 3307 2516 + 2732 3308 2731 2516 + 3308 3307 2731 2516 + 2516 2732 3308 2517 + 2733 3309 2732 2517 + 3309 3308 2732 2517 + 2517 2733 3309 2518 + 2734 3310 2733 2518 + 3310 3309 2733 2518 + 2518 2734 3310 2519 + 2735 3311 2734 2519 + 3311 3310 2734 2519 + 2519 2735 3311 2520 + 2736 3312 2735 2520 + 3312 3311 2735 2520 + 2520 2736 3312 2521 + 2737 3313 2736 2521 + 3313 3312 2736 2521 + 2521 2737 3313 2522 + 2738 3314 2737 2522 + 3314 3313 2737 2522 + 81 86 87 3099 + 3279 3315 86 3099 + 3315 87 86 3099 + 3099 3279 3315 3100 + 3280 3316 3279 3100 + 3316 3315 3279 3100 + 3100 3280 3316 3101 + 3281 3317 3280 3101 + 3317 3316 3280 3101 + 3101 3281 3317 3102 + 3282 3318 3281 3102 + 3318 3317 3281 3102 + 3102 3282 3318 3103 + 3283 3319 3282 3103 + 3319 3318 3282 3103 + 3103 3283 3319 3104 + 3284 3320 3283 3104 + 3320 3319 3283 3104 + 3104 3284 3320 3105 + 3285 3321 3284 3105 + 3321 3320 3284 3105 + 3105 3285 3321 3106 + 3286 3322 3285 3106 + 3322 3321 3285 3106 + 3106 3286 3322 3107 + 3287 3323 3286 3107 + 3323 3322 3286 3107 + 3107 3287 3323 3108 + 3288 3324 3287 3108 + 3324 3323 3287 3108 + 3108 3288 3324 3109 + 3289 3325 3288 3109 + 3325 3324 3288 3109 + 3109 3289 3325 3110 + 3290 3326 3289 3110 + 3326 3325 3289 3110 + 3110 3290 3326 3111 + 3291 3327 3290 3111 + 3327 3326 3290 3111 + 3111 3291 3327 3112 + 3292 3328 3291 3112 + 3328 3327 3291 3112 + 3112 3292 3328 3113 + 3293 3329 3292 3113 + 3329 3328 3292 3113 + 3113 3293 3329 3114 + 3294 3330 3293 3114 + 3330 3329 3293 3114 + 3114 3294 3330 3115 + 3295 3331 3294 3115 + 3331 3330 3294 3115 + 3115 3295 3331 3116 + 3296 3332 3295 3116 + 3332 3331 3295 3116 + 3116 3296 3332 3117 + 3297 3333 3296 3117 + 3333 3332 3296 3117 + 3117 3297 3333 3118 + 3298 3334 3297 3118 + 3334 3333 3297 3118 + 3118 3298 3334 3119 + 3299 3335 3298 3119 + 3335 3334 3298 3119 + 3119 3299 3335 3120 + 3300 3336 3299 3120 + 3336 3335 3299 3120 + 3120 3300 3336 3121 + 3301 3337 3300 3121 + 3337 3336 3300 3121 + 3121 3301 3337 3122 + 3302 3338 3301 3122 + 3338 3337 3301 3122 + 3122 3302 3338 3123 + 3303 3339 3302 3123 + 3339 3338 3302 3123 + 3123 3303 3339 3124 + 3304 3340 3303 3124 + 3340 3339 3303 3124 + 3124 3304 3340 3125 + 3305 3341 3304 3125 + 3341 3340 3304 3125 + 3125 3305 3341 3126 + 3306 3342 3305 3126 + 3342 3341 3305 3126 + 3126 3306 3342 3127 + 3307 3343 3306 3127 + 3343 3342 3306 3127 + 3127 3307 3343 3128 + 3308 3344 3307 3128 + 3344 3343 3307 3128 + 3128 3308 3344 3129 + 3309 3345 3308 3129 + 3345 3344 3308 3129 + 3129 3309 3345 3130 + 3310 3346 3309 3130 + 3346 3345 3309 3130 + 3130 3310 3346 3131 + 3311 3347 3310 3131 + 3347 3346 3310 3131 + 3131 3311 3347 3132 + 3312 3348 3311 3132 + 3348 3347 3311 3132 + 3132 3312 3348 3133 + 3313 3349 3312 3133 + 3349 3348 3312 3133 + 3133 3313 3349 3134 + 3314 3350 3313 3134 + 3350 3349 3313 3134 + 82 87 88 3135 + 3315 3351 87 3135 + 3351 88 87 3135 + 3135 3315 3351 3136 + 3316 3352 3315 3136 + 3352 3351 3315 3136 + 3136 3316 3352 3137 + 3317 3353 3316 3137 + 3353 3352 3316 3137 + 3137 3317 3353 3138 + 3318 3354 3317 3138 + 3354 3353 3317 3138 + 3138 3318 3354 3139 + 3319 3355 3318 3139 + 3355 3354 3318 3139 + 3139 3319 3355 3140 + 3320 3356 3319 3140 + 3356 3355 3319 3140 + 3140 3320 3356 3141 + 3321 3357 3320 3141 + 3357 3356 3320 3141 + 3141 3321 3357 3142 + 3322 3358 3321 3142 + 3358 3357 3321 3142 + 3142 3322 3358 3143 + 3323 3359 3322 3143 + 3359 3358 3322 3143 + 3143 3323 3359 3144 + 3324 3360 3323 3144 + 3360 3359 3323 3144 + 3144 3324 3360 3145 + 3325 3361 3324 3145 + 3361 3360 3324 3145 + 3145 3325 3361 3146 + 3326 3362 3325 3146 + 3362 3361 3325 3146 + 3146 3326 3362 3147 + 3327 3363 3326 3147 + 3363 3362 3326 3147 + 3147 3327 3363 3148 + 3328 3364 3327 3148 + 3364 3363 3327 3148 + 3148 3328 3364 3149 + 3329 3365 3328 3149 + 3365 3364 3328 3149 + 3149 3329 3365 3150 + 3330 3366 3329 3150 + 3366 3365 3329 3150 + 3150 3330 3366 3151 + 3331 3367 3330 3151 + 3367 3366 3330 3151 + 3151 3331 3367 3152 + 3332 3368 3331 3152 + 3368 3367 3331 3152 + 3152 3332 3368 3153 + 3333 3369 3332 3153 + 3369 3368 3332 3153 + 3153 3333 3369 3154 + 3334 3370 3333 3154 + 3370 3369 3333 3154 + 3154 3334 3370 3155 + 3335 3371 3334 3155 + 3371 3370 3334 3155 + 3155 3335 3371 3156 + 3336 3372 3335 3156 + 3372 3371 3335 3156 + 3156 3336 3372 3157 + 3337 3373 3336 3157 + 3373 3372 3336 3157 + 3157 3337 3373 3158 + 3338 3374 3337 3158 + 3374 3373 3337 3158 + 3158 3338 3374 3159 + 3339 3375 3338 3159 + 3375 3374 3338 3159 + 3159 3339 3375 3160 + 3340 3376 3339 3160 + 3376 3375 3339 3160 + 3160 3340 3376 3161 + 3341 3377 3340 3161 + 3377 3376 3340 3161 + 3161 3341 3377 3162 + 3342 3378 3341 3162 + 3378 3377 3341 3162 + 3162 3342 3378 3163 + 3343 3379 3342 3163 + 3379 3378 3342 3163 + 3163 3343 3379 3164 + 3344 3380 3343 3164 + 3380 3379 3343 3164 + 3164 3344 3380 3165 + 3345 3381 3344 3165 + 3381 3380 3344 3165 + 3165 3345 3381 3166 + 3346 3382 3345 3166 + 3382 3381 3345 3166 + 3166 3346 3382 3167 + 3347 3383 3346 3167 + 3383 3382 3346 3167 + 3167 3347 3383 3168 + 3348 3384 3347 3168 + 3384 3383 3347 3168 + 3168 3348 3384 3169 + 3349 3385 3348 3169 + 3385 3384 3348 3169 + 3169 3349 3385 3170 + 3350 3386 3349 3170 + 3386 3385 3349 3170 + 83 88 89 3171 + 3351 3387 88 3171 + 3387 89 88 3171 + 3171 3351 3387 3172 + 3352 3388 3351 3172 + 3388 3387 3351 3172 + 3172 3352 3388 3173 + 3353 3389 3352 3173 + 3389 3388 3352 3173 + 3173 3353 3389 3174 + 3354 3390 3353 3174 + 3390 3389 3353 3174 + 3174 3354 3390 3175 + 3355 3391 3354 3175 + 3391 3390 3354 3175 + 3175 3355 3391 3176 + 3356 3392 3355 3176 + 3392 3391 3355 3176 + 3176 3356 3392 3177 + 3357 3393 3356 3177 + 3393 3392 3356 3177 + 3177 3357 3393 3178 + 3358 3394 3357 3178 + 3394 3393 3357 3178 + 3178 3358 3394 3179 + 3359 3395 3358 3179 + 3395 3394 3358 3179 + 3179 3359 3395 3180 + 3360 3396 3359 3180 + 3396 3395 3359 3180 + 3180 3360 3396 3181 + 3361 3397 3360 3181 + 3397 3396 3360 3181 + 3181 3361 3397 3182 + 3362 3398 3361 3182 + 3398 3397 3361 3182 + 3182 3362 3398 3183 + 3363 3399 3362 3183 + 3399 3398 3362 3183 + 3183 3363 3399 3184 + 3364 3400 3363 3184 + 3400 3399 3363 3184 + 3184 3364 3400 3185 + 3365 3401 3364 3185 + 3401 3400 3364 3185 + 3185 3365 3401 3186 + 3366 3402 3365 3186 + 3402 3401 3365 3186 + 3186 3366 3402 3187 + 3367 3403 3366 3187 + 3403 3402 3366 3187 + 3187 3367 3403 3188 + 3368 3404 3367 3188 + 3404 3403 3367 3188 + 3188 3368 3404 3189 + 3369 3405 3368 3189 + 3405 3404 3368 3189 + 3189 3369 3405 3190 + 3370 3406 3369 3190 + 3406 3405 3369 3190 + 3190 3370 3406 3191 + 3371 3407 3370 3191 + 3407 3406 3370 3191 + 3191 3371 3407 3192 + 3372 3408 3371 3192 + 3408 3407 3371 3192 + 3192 3372 3408 3193 + 3373 3409 3372 3193 + 3409 3408 3372 3193 + 3193 3373 3409 3194 + 3374 3410 3373 3194 + 3410 3409 3373 3194 + 3194 3374 3410 3195 + 3375 3411 3374 3195 + 3411 3410 3374 3195 + 3195 3375 3411 3196 + 3376 3412 3375 3196 + 3412 3411 3375 3196 + 3196 3376 3412 3197 + 3377 3413 3376 3197 + 3413 3412 3376 3197 + 3197 3377 3413 3198 + 3378 3414 3377 3198 + 3414 3413 3377 3198 + 3198 3378 3414 3199 + 3379 3415 3378 3199 + 3415 3414 3378 3199 + 3199 3379 3415 3200 + 3380 3416 3379 3200 + 3416 3415 3379 3200 + 3200 3380 3416 3201 + 3381 3417 3380 3201 + 3417 3416 3380 3201 + 3201 3381 3417 3202 + 3382 3418 3381 3202 + 3418 3417 3381 3202 + 3202 3382 3418 3203 + 3383 3419 3382 3203 + 3419 3418 3382 3203 + 3203 3383 3419 3204 + 3384 3420 3383 3204 + 3420 3419 3383 3204 + 3204 3384 3420 3205 + 3385 3421 3384 3205 + 3421 3420 3384 3205 + 3205 3385 3421 3206 + 3386 3422 3385 3206 + 3422 3421 3385 3206 + 84 89 90 3207 + 3387 3423 89 3207 + 3423 90 89 3207 + 3207 3387 3423 3208 + 3388 3424 3387 3208 + 3424 3423 3387 3208 + 3208 3388 3424 3209 + 3389 3425 3388 3209 + 3425 3424 3388 3209 + 3209 3389 3425 3210 + 3390 3426 3389 3210 + 3426 3425 3389 3210 + 3210 3390 3426 3211 + 3391 3427 3390 3211 + 3427 3426 3390 3211 + 3211 3391 3427 3212 + 3392 3428 3391 3212 + 3428 3427 3391 3212 + 3212 3392 3428 3213 + 3393 3429 3392 3213 + 3429 3428 3392 3213 + 3213 3393 3429 3214 + 3394 3430 3393 3214 + 3430 3429 3393 3214 + 3214 3394 3430 3215 + 3395 3431 3394 3215 + 3431 3430 3394 3215 + 3215 3395 3431 3216 + 3396 3432 3395 3216 + 3432 3431 3395 3216 + 3216 3396 3432 3217 + 3397 3433 3396 3217 + 3433 3432 3396 3217 + 3217 3397 3433 3218 + 3398 3434 3397 3218 + 3434 3433 3397 3218 + 3218 3398 3434 3219 + 3399 3435 3398 3219 + 3435 3434 3398 3219 + 3219 3399 3435 3220 + 3400 3436 3399 3220 + 3436 3435 3399 3220 + 3220 3400 3436 3221 + 3401 3437 3400 3221 + 3437 3436 3400 3221 + 3221 3401 3437 3222 + 3402 3438 3401 3222 + 3438 3437 3401 3222 + 3222 3402 3438 3223 + 3403 3439 3402 3223 + 3439 3438 3402 3223 + 3223 3403 3439 3224 + 3404 3440 3403 3224 + 3440 3439 3403 3224 + 3224 3404 3440 3225 + 3405 3441 3404 3225 + 3441 3440 3404 3225 + 3225 3405 3441 3226 + 3406 3442 3405 3226 + 3442 3441 3405 3226 + 3226 3406 3442 3227 + 3407 3443 3406 3227 + 3443 3442 3406 3227 + 3227 3407 3443 3228 + 3408 3444 3407 3228 + 3444 3443 3407 3228 + 3228 3408 3444 3229 + 3409 3445 3408 3229 + 3445 3444 3408 3229 + 3229 3409 3445 3230 + 3410 3446 3409 3230 + 3446 3445 3409 3230 + 3230 3410 3446 3231 + 3411 3447 3410 3231 + 3447 3446 3410 3231 + 3231 3411 3447 3232 + 3412 3448 3411 3232 + 3448 3447 3411 3232 + 3232 3412 3448 3233 + 3413 3449 3412 3233 + 3449 3448 3412 3233 + 3233 3413 3449 3234 + 3414 3450 3413 3234 + 3450 3449 3413 3234 + 3234 3414 3450 3235 + 3415 3451 3414 3235 + 3451 3450 3414 3235 + 3235 3415 3451 3236 + 3416 3452 3415 3236 + 3452 3451 3415 3236 + 3236 3416 3452 3237 + 3417 3453 3416 3237 + 3453 3452 3416 3237 + 3237 3417 3453 3238 + 3418 3454 3417 3238 + 3454 3453 3417 3238 + 3238 3418 3454 3239 + 3419 3455 3418 3239 + 3455 3454 3418 3239 + 3239 3419 3455 3240 + 3420 3456 3419 3240 + 3456 3455 3419 3240 + 3240 3420 3456 3241 + 3421 3457 3420 3241 + 3457 3456 3420 3241 + 3241 3421 3457 3242 + 3422 3458 3421 3242 + 3458 3457 3421 3242 + 85 90 91 3243 + 3423 3459 90 3243 + 3459 91 90 3243 + 3243 3423 3459 3244 + 3424 3460 3423 3244 + 3460 3459 3423 3244 + 3244 3424 3460 3245 + 3425 3461 3424 3245 + 3461 3460 3424 3245 + 3245 3425 3461 3246 + 3426 3462 3425 3246 + 3462 3461 3425 3246 + 3246 3426 3462 3247 + 3427 3463 3426 3247 + 3463 3462 3426 3247 + 3247 3427 3463 3248 + 3428 3464 3427 3248 + 3464 3463 3427 3248 + 3248 3428 3464 3249 + 3429 3465 3428 3249 + 3465 3464 3428 3249 + 3249 3429 3465 3250 + 3430 3466 3429 3250 + 3466 3465 3429 3250 + 3250 3430 3466 3251 + 3431 3467 3430 3251 + 3467 3466 3430 3251 + 3251 3431 3467 3252 + 3432 3468 3431 3252 + 3468 3467 3431 3252 + 3252 3432 3468 3253 + 3433 3469 3432 3253 + 3469 3468 3432 3253 + 3253 3433 3469 3254 + 3434 3470 3433 3254 + 3470 3469 3433 3254 + 3254 3434 3470 3255 + 3435 3471 3434 3255 + 3471 3470 3434 3255 + 3255 3435 3471 3256 + 3436 3472 3435 3256 + 3472 3471 3435 3256 + 3256 3436 3472 3257 + 3437 3473 3436 3257 + 3473 3472 3436 3257 + 3257 3437 3473 3258 + 3438 3474 3437 3258 + 3474 3473 3437 3258 + 3258 3438 3474 3259 + 3439 3475 3438 3259 + 3475 3474 3438 3259 + 3259 3439 3475 3260 + 3440 3476 3439 3260 + 3476 3475 3439 3260 + 3260 3440 3476 3261 + 3441 3477 3440 3261 + 3477 3476 3440 3261 + 3261 3441 3477 3262 + 3442 3478 3441 3262 + 3478 3477 3441 3262 + 3262 3442 3478 3263 + 3443 3479 3442 3263 + 3479 3478 3442 3263 + 3263 3443 3479 3264 + 3444 3480 3443 3264 + 3480 3479 3443 3264 + 3264 3444 3480 3265 + 3445 3481 3444 3265 + 3481 3480 3444 3265 + 3265 3445 3481 3266 + 3446 3482 3445 3266 + 3482 3481 3445 3266 + 3266 3446 3482 3267 + 3447 3483 3446 3267 + 3483 3482 3446 3267 + 3267 3447 3483 3268 + 3448 3484 3447 3268 + 3484 3483 3447 3268 + 3268 3448 3484 3269 + 3449 3485 3448 3269 + 3485 3484 3448 3269 + 3269 3449 3485 3270 + 3450 3486 3449 3270 + 3486 3485 3449 3270 + 3270 3450 3486 3271 + 3451 3487 3450 3271 + 3487 3486 3450 3271 + 3271 3451 3487 3272 + 3452 3488 3451 3272 + 3488 3487 3451 3272 + 3272 3452 3488 3273 + 3453 3489 3452 3273 + 3489 3488 3452 3273 + 3273 3453 3489 3274 + 3454 3490 3453 3274 + 3490 3489 3453 3274 + 3274 3454 3490 3275 + 3455 3491 3454 3275 + 3491 3490 3454 3275 + 3275 3455 3491 3276 + 3456 3492 3455 3276 + 3492 3491 3455 3276 + 3276 3456 3492 3277 + 3457 3493 3456 3277 + 3493 3492 3456 3277 + 3277 3457 3493 3278 + 3458 3494 3457 3278 + 3494 3493 3457 3278 + 3279 2487 3099 86 + 3099 2487 64 86 + 3099 64 81 86 + 3280 2488 3100 3279 + 3100 2488 2487 3279 + 3100 2487 3099 3279 + 3281 2489 3101 3280 + 3101 2489 2488 3280 + 3101 2488 3100 3280 + 3282 2490 3102 3281 + 3102 2490 2489 3281 + 3102 2489 3101 3281 + 3283 2491 3103 3282 + 3103 2491 2490 3282 + 3103 2490 3102 3282 + 3284 2492 3104 3283 + 3104 2492 2491 3283 + 3104 2491 3103 3283 + 3285 2493 3105 3284 + 3105 2493 2492 3284 + 3105 2492 3104 3284 + 3286 2494 3106 3285 + 3106 2494 2493 3285 + 3106 2493 3105 3285 + 3287 2495 3107 3286 + 3107 2495 2494 3286 + 3107 2494 3106 3286 + 3288 2496 3108 3287 + 3108 2496 2495 3287 + 3108 2495 3107 3287 + 3289 2497 3109 3288 + 3109 2497 2496 3288 + 3109 2496 3108 3288 + 3290 2498 3110 3289 + 3110 2498 2497 3289 + 3110 2497 3109 3289 + 3291 2499 3111 3290 + 3111 2499 2498 3290 + 3111 2498 3110 3290 + 3292 2500 3112 3291 + 3112 2500 2499 3291 + 3112 2499 3111 3291 + 3293 2501 3113 3292 + 3113 2501 2500 3292 + 3113 2500 3112 3292 + 3294 2502 3114 3293 + 3114 2502 2501 3293 + 3114 2501 3113 3293 + 3295 2503 3115 3294 + 3115 2503 2502 3294 + 3115 2502 3114 3294 + 3296 2504 3116 3295 + 3116 2504 2503 3295 + 3116 2503 3115 3295 + 3297 2505 3117 3296 + 3117 2505 2504 3296 + 3117 2504 3116 3296 + 3298 2506 3118 3297 + 3118 2506 2505 3297 + 3118 2505 3117 3297 + 3299 2507 3119 3298 + 3119 2507 2506 3298 + 3119 2506 3118 3298 + 3300 2508 3120 3299 + 3120 2508 2507 3299 + 3120 2507 3119 3299 + 3301 2509 3121 3300 + 3121 2509 2508 3300 + 3121 2508 3120 3300 + 3302 2510 3122 3301 + 3122 2510 2509 3301 + 3122 2509 3121 3301 + 3303 2511 3123 3302 + 3123 2511 2510 3302 + 3123 2510 3122 3302 + 3304 2512 3124 3303 + 3124 2512 2511 3303 + 3124 2511 3123 3303 + 3305 2513 3125 3304 + 3125 2513 2512 3304 + 3125 2512 3124 3304 + 3306 2514 3126 3305 + 3126 2514 2513 3305 + 3126 2513 3125 3305 + 3307 2515 3127 3306 + 3127 2515 2514 3306 + 3127 2514 3126 3306 + 3308 2516 3128 3307 + 3128 2516 2515 3307 + 3128 2515 3127 3307 + 3309 2517 3129 3308 + 3129 2517 2516 3308 + 3129 2516 3128 3308 + 3310 2518 3130 3309 + 3130 2518 2517 3309 + 3130 2517 3129 3309 + 3311 2519 3131 3310 + 3131 2519 2518 3310 + 3131 2518 3130 3310 + 3312 2520 3132 3311 + 3132 2520 2519 3311 + 3132 2519 3131 3311 + 3313 2521 3133 3312 + 3133 2521 2520 3312 + 3133 2520 3132 3312 + 3314 2522 3134 3313 + 3134 2522 2521 3313 + 3134 2521 3133 3313 + 3315 3099 3135 87 + 3135 3099 81 87 + 3135 81 82 87 + 3316 3100 3136 3315 + 3136 3100 3099 3315 + 3136 3099 3135 3315 + 3317 3101 3137 3316 + 3137 3101 3100 3316 + 3137 3100 3136 3316 + 3318 3102 3138 3317 + 3138 3102 3101 3317 + 3138 3101 3137 3317 + 3319 3103 3139 3318 + 3139 3103 3102 3318 + 3139 3102 3138 3318 + 3320 3104 3140 3319 + 3140 3104 3103 3319 + 3140 3103 3139 3319 + 3321 3105 3141 3320 + 3141 3105 3104 3320 + 3141 3104 3140 3320 + 3322 3106 3142 3321 + 3142 3106 3105 3321 + 3142 3105 3141 3321 + 3323 3107 3143 3322 + 3143 3107 3106 3322 + 3143 3106 3142 3322 + 3324 3108 3144 3323 + 3144 3108 3107 3323 + 3144 3107 3143 3323 + 3325 3109 3145 3324 + 3145 3109 3108 3324 + 3145 3108 3144 3324 + 3326 3110 3146 3325 + 3146 3110 3109 3325 + 3146 3109 3145 3325 + 3327 3111 3147 3326 + 3147 3111 3110 3326 + 3147 3110 3146 3326 + 3328 3112 3148 3327 + 3148 3112 3111 3327 + 3148 3111 3147 3327 + 3329 3113 3149 3328 + 3149 3113 3112 3328 + 3149 3112 3148 3328 + 3330 3114 3150 3329 + 3150 3114 3113 3329 + 3150 3113 3149 3329 + 3331 3115 3151 3330 + 3151 3115 3114 3330 + 3151 3114 3150 3330 + 3332 3116 3152 3331 + 3152 3116 3115 3331 + 3152 3115 3151 3331 + 3333 3117 3153 3332 + 3153 3117 3116 3332 + 3153 3116 3152 3332 + 3334 3118 3154 3333 + 3154 3118 3117 3333 + 3154 3117 3153 3333 + 3335 3119 3155 3334 + 3155 3119 3118 3334 + 3155 3118 3154 3334 + 3336 3120 3156 3335 + 3156 3120 3119 3335 + 3156 3119 3155 3335 + 3337 3121 3157 3336 + 3157 3121 3120 3336 + 3157 3120 3156 3336 + 3338 3122 3158 3337 + 3158 3122 3121 3337 + 3158 3121 3157 3337 + 3339 3123 3159 3338 + 3159 3123 3122 3338 + 3159 3122 3158 3338 + 3340 3124 3160 3339 + 3160 3124 3123 3339 + 3160 3123 3159 3339 + 3341 3125 3161 3340 + 3161 3125 3124 3340 + 3161 3124 3160 3340 + 3342 3126 3162 3341 + 3162 3126 3125 3341 + 3162 3125 3161 3341 + 3343 3127 3163 3342 + 3163 3127 3126 3342 + 3163 3126 3162 3342 + 3344 3128 3164 3343 + 3164 3128 3127 3343 + 3164 3127 3163 3343 + 3345 3129 3165 3344 + 3165 3129 3128 3344 + 3165 3128 3164 3344 + 3346 3130 3166 3345 + 3166 3130 3129 3345 + 3166 3129 3165 3345 + 3347 3131 3167 3346 + 3167 3131 3130 3346 + 3167 3130 3166 3346 + 3348 3132 3168 3347 + 3168 3132 3131 3347 + 3168 3131 3167 3347 + 3349 3133 3169 3348 + 3169 3133 3132 3348 + 3169 3132 3168 3348 + 3350 3134 3170 3349 + 3170 3134 3133 3349 + 3170 3133 3169 3349 + 3351 3135 3171 88 + 3171 3135 82 88 + 3171 82 83 88 + 3352 3136 3172 3351 + 3172 3136 3135 3351 + 3172 3135 3171 3351 + 3353 3137 3173 3352 + 3173 3137 3136 3352 + 3173 3136 3172 3352 + 3354 3138 3174 3353 + 3174 3138 3137 3353 + 3174 3137 3173 3353 + 3355 3139 3175 3354 + 3175 3139 3138 3354 + 3175 3138 3174 3354 + 3356 3140 3176 3355 + 3176 3140 3139 3355 + 3176 3139 3175 3355 + 3357 3141 3177 3356 + 3177 3141 3140 3356 + 3177 3140 3176 3356 + 3358 3142 3178 3357 + 3178 3142 3141 3357 + 3178 3141 3177 3357 + 3359 3143 3179 3358 + 3179 3143 3142 3358 + 3179 3142 3178 3358 + 3360 3144 3180 3359 + 3180 3144 3143 3359 + 3180 3143 3179 3359 + 3361 3145 3181 3360 + 3181 3145 3144 3360 + 3181 3144 3180 3360 + 3362 3146 3182 3361 + 3182 3146 3145 3361 + 3182 3145 3181 3361 + 3363 3147 3183 3362 + 3183 3147 3146 3362 + 3183 3146 3182 3362 + 3364 3148 3184 3363 + 3184 3148 3147 3363 + 3184 3147 3183 3363 + 3365 3149 3185 3364 + 3185 3149 3148 3364 + 3185 3148 3184 3364 + 3366 3150 3186 3365 + 3186 3150 3149 3365 + 3186 3149 3185 3365 + 3367 3151 3187 3366 + 3187 3151 3150 3366 + 3187 3150 3186 3366 + 3368 3152 3188 3367 + 3188 3152 3151 3367 + 3188 3151 3187 3367 + 3369 3153 3189 3368 + 3189 3153 3152 3368 + 3189 3152 3188 3368 + 3370 3154 3190 3369 + 3190 3154 3153 3369 + 3190 3153 3189 3369 + 3371 3155 3191 3370 + 3191 3155 3154 3370 + 3191 3154 3190 3370 + 3372 3156 3192 3371 + 3192 3156 3155 3371 + 3192 3155 3191 3371 + 3373 3157 3193 3372 + 3193 3157 3156 3372 + 3193 3156 3192 3372 + 3374 3158 3194 3373 + 3194 3158 3157 3373 + 3194 3157 3193 3373 + 3375 3159 3195 3374 + 3195 3159 3158 3374 + 3195 3158 3194 3374 + 3376 3160 3196 3375 + 3196 3160 3159 3375 + 3196 3159 3195 3375 + 3377 3161 3197 3376 + 3197 3161 3160 3376 + 3197 3160 3196 3376 + 3378 3162 3198 3377 + 3198 3162 3161 3377 + 3198 3161 3197 3377 + 3379 3163 3199 3378 + 3199 3163 3162 3378 + 3199 3162 3198 3378 + 3380 3164 3200 3379 + 3200 3164 3163 3379 + 3200 3163 3199 3379 + 3381 3165 3201 3380 + 3201 3165 3164 3380 + 3201 3164 3200 3380 + 3382 3166 3202 3381 + 3202 3166 3165 3381 + 3202 3165 3201 3381 + 3383 3167 3203 3382 + 3203 3167 3166 3382 + 3203 3166 3202 3382 + 3384 3168 3204 3383 + 3204 3168 3167 3383 + 3204 3167 3203 3383 + 3385 3169 3205 3384 + 3205 3169 3168 3384 + 3205 3168 3204 3384 + 3386 3170 3206 3385 + 3206 3170 3169 3385 + 3206 3169 3205 3385 + 3387 3171 3207 89 + 3207 3171 83 89 + 3207 83 84 89 + 3388 3172 3208 3387 + 3208 3172 3171 3387 + 3208 3171 3207 3387 + 3389 3173 3209 3388 + 3209 3173 3172 3388 + 3209 3172 3208 3388 + 3390 3174 3210 3389 + 3210 3174 3173 3389 + 3210 3173 3209 3389 + 3391 3175 3211 3390 + 3211 3175 3174 3390 + 3211 3174 3210 3390 + 3392 3176 3212 3391 + 3212 3176 3175 3391 + 3212 3175 3211 3391 + 3393 3177 3213 3392 + 3213 3177 3176 3392 + 3213 3176 3212 3392 + 3394 3178 3214 3393 + 3214 3178 3177 3393 + 3214 3177 3213 3393 + 3395 3179 3215 3394 + 3215 3179 3178 3394 + 3215 3178 3214 3394 + 3396 3180 3216 3395 + 3216 3180 3179 3395 + 3216 3179 3215 3395 + 3397 3181 3217 3396 + 3217 3181 3180 3396 + 3217 3180 3216 3396 + 3398 3182 3218 3397 + 3218 3182 3181 3397 + 3218 3181 3217 3397 + 3399 3183 3219 3398 + 3219 3183 3182 3398 + 3219 3182 3218 3398 + 3400 3184 3220 3399 + 3220 3184 3183 3399 + 3220 3183 3219 3399 + 3401 3185 3221 3400 + 3221 3185 3184 3400 + 3221 3184 3220 3400 + 3402 3186 3222 3401 + 3222 3186 3185 3401 + 3222 3185 3221 3401 + 3403 3187 3223 3402 + 3223 3187 3186 3402 + 3223 3186 3222 3402 + 3404 3188 3224 3403 + 3224 3188 3187 3403 + 3224 3187 3223 3403 + 3405 3189 3225 3404 + 3225 3189 3188 3404 + 3225 3188 3224 3404 + 3406 3190 3226 3405 + 3226 3190 3189 3405 + 3226 3189 3225 3405 + 3407 3191 3227 3406 + 3227 3191 3190 3406 + 3227 3190 3226 3406 + 3408 3192 3228 3407 + 3228 3192 3191 3407 + 3228 3191 3227 3407 + 3409 3193 3229 3408 + 3229 3193 3192 3408 + 3229 3192 3228 3408 + 3410 3194 3230 3409 + 3230 3194 3193 3409 + 3230 3193 3229 3409 + 3411 3195 3231 3410 + 3231 3195 3194 3410 + 3231 3194 3230 3410 + 3412 3196 3232 3411 + 3232 3196 3195 3411 + 3232 3195 3231 3411 + 3413 3197 3233 3412 + 3233 3197 3196 3412 + 3233 3196 3232 3412 + 3414 3198 3234 3413 + 3234 3198 3197 3413 + 3234 3197 3233 3413 + 3415 3199 3235 3414 + 3235 3199 3198 3414 + 3235 3198 3234 3414 + 3416 3200 3236 3415 + 3236 3200 3199 3415 + 3236 3199 3235 3415 + 3417 3201 3237 3416 + 3237 3201 3200 3416 + 3237 3200 3236 3416 + 3418 3202 3238 3417 + 3238 3202 3201 3417 + 3238 3201 3237 3417 + 3419 3203 3239 3418 + 3239 3203 3202 3418 + 3239 3202 3238 3418 + 3420 3204 3240 3419 + 3240 3204 3203 3419 + 3240 3203 3239 3419 + 3421 3205 3241 3420 + 3241 3205 3204 3420 + 3241 3204 3240 3420 + 3422 3206 3242 3421 + 3242 3206 3205 3421 + 3242 3205 3241 3421 + 3423 3207 3243 90 + 3243 3207 84 90 + 3243 84 85 90 + 3424 3208 3244 3423 + 3244 3208 3207 3423 + 3244 3207 3243 3423 + 3425 3209 3245 3424 + 3245 3209 3208 3424 + 3245 3208 3244 3424 + 3426 3210 3246 3425 + 3246 3210 3209 3425 + 3246 3209 3245 3425 + 3427 3211 3247 3426 + 3247 3211 3210 3426 + 3247 3210 3246 3426 + 3428 3212 3248 3427 + 3248 3212 3211 3427 + 3248 3211 3247 3427 + 3429 3213 3249 3428 + 3249 3213 3212 3428 + 3249 3212 3248 3428 + 3430 3214 3250 3429 + 3250 3214 3213 3429 + 3250 3213 3249 3429 + 3431 3215 3251 3430 + 3251 3215 3214 3430 + 3251 3214 3250 3430 + 3432 3216 3252 3431 + 3252 3216 3215 3431 + 3252 3215 3251 3431 + 3433 3217 3253 3432 + 3253 3217 3216 3432 + 3253 3216 3252 3432 + 3434 3218 3254 3433 + 3254 3218 3217 3433 + 3254 3217 3253 3433 + 3435 3219 3255 3434 + 3255 3219 3218 3434 + 3255 3218 3254 3434 + 3436 3220 3256 3435 + 3256 3220 3219 3435 + 3256 3219 3255 3435 + 3437 3221 3257 3436 + 3257 3221 3220 3436 + 3257 3220 3256 3436 + 3438 3222 3258 3437 + 3258 3222 3221 3437 + 3258 3221 3257 3437 + 3439 3223 3259 3438 + 3259 3223 3222 3438 + 3259 3222 3258 3438 + 3440 3224 3260 3439 + 3260 3224 3223 3439 + 3260 3223 3259 3439 + 3441 3225 3261 3440 + 3261 3225 3224 3440 + 3261 3224 3260 3440 + 3442 3226 3262 3441 + 3262 3226 3225 3441 + 3262 3225 3261 3441 + 3443 3227 3263 3442 + 3263 3227 3226 3442 + 3263 3226 3262 3442 + 3444 3228 3264 3443 + 3264 3228 3227 3443 + 3264 3227 3263 3443 + 3445 3229 3265 3444 + 3265 3229 3228 3444 + 3265 3228 3264 3444 + 3446 3230 3266 3445 + 3266 3230 3229 3445 + 3266 3229 3265 3445 + 3447 3231 3267 3446 + 3267 3231 3230 3446 + 3267 3230 3266 3446 + 3448 3232 3268 3447 + 3268 3232 3231 3447 + 3268 3231 3267 3447 + 3449 3233 3269 3448 + 3269 3233 3232 3448 + 3269 3232 3268 3448 + 3450 3234 3270 3449 + 3270 3234 3233 3449 + 3270 3233 3269 3449 + 3451 3235 3271 3450 + 3271 3235 3234 3450 + 3271 3234 3270 3450 + 3452 3236 3272 3451 + 3272 3236 3235 3451 + 3272 3235 3271 3451 + 3453 3237 3273 3452 + 3273 3237 3236 3452 + 3273 3236 3272 3452 + 3454 3238 3274 3453 + 3274 3238 3237 3453 + 3274 3237 3273 3453 + 3455 3239 3275 3454 + 3275 3239 3238 3454 + 3275 3238 3274 3454 + 3456 3240 3276 3455 + 3276 3240 3239 3455 + 3276 3239 3275 3455 + 3457 3241 3277 3456 + 3277 3241 3240 3456 + 3277 3240 3276 3456 + 3458 3242 3278 3457 + 3278 3242 3241 3457 + 3278 3241 3277 3457 + 1 71 92 219 + 2739 3495 71 219 + 3495 92 71 219 + 219 2739 3495 220 + 2740 3496 2739 220 + 3496 3495 2739 220 + 220 2740 3496 221 + 2741 3497 2740 221 + 3497 3496 2740 221 + 221 2741 3497 222 + 2742 3498 2741 222 + 3498 3497 2741 222 + 222 2742 3498 223 + 2743 3499 2742 223 + 3499 3498 2742 223 + 223 2743 3499 224 + 2744 3500 2743 224 + 3500 3499 2743 224 + 224 2744 3500 225 + 2745 3501 2744 225 + 3501 3500 2744 225 + 225 2745 3501 226 + 2746 3502 2745 226 + 3502 3501 2745 226 + 226 2746 3502 227 + 2747 3503 2746 227 + 3503 3502 2746 227 + 227 2747 3503 228 + 2748 3504 2747 228 + 3504 3503 2747 228 + 228 2748 3504 229 + 2749 3505 2748 229 + 3505 3504 2748 229 + 229 2749 3505 230 + 2750 3506 2749 230 + 3506 3505 2749 230 + 230 2750 3506 231 + 2751 3507 2750 231 + 3507 3506 2750 231 + 231 2751 3507 232 + 2752 3508 2751 232 + 3508 3507 2751 232 + 232 2752 3508 233 + 2753 3509 2752 233 + 3509 3508 2752 233 + 233 2753 3509 234 + 2754 3510 2753 234 + 3510 3509 2753 234 + 234 2754 3510 235 + 2755 3511 2754 235 + 3511 3510 2754 235 + 235 2755 3511 236 + 2756 3512 2755 236 + 3512 3511 2755 236 + 236 2756 3512 237 + 2757 3513 2756 237 + 3513 3512 2756 237 + 237 2757 3513 238 + 2758 3514 2757 238 + 3514 3513 2757 238 + 238 2758 3514 239 + 2759 3515 2758 239 + 3515 3514 2758 239 + 239 2759 3515 240 + 2760 3516 2759 240 + 3516 3515 2759 240 + 240 2760 3516 241 + 2761 3517 2760 241 + 3517 3516 2760 241 + 241 2761 3517 242 + 2762 3518 2761 242 + 3518 3517 2761 242 + 242 2762 3518 243 + 2763 3519 2762 243 + 3519 3518 2762 243 + 243 2763 3519 244 + 2764 3520 2763 244 + 3520 3519 2763 244 + 244 2764 3520 245 + 2765 3521 2764 245 + 3521 3520 2764 245 + 245 2765 3521 246 + 2766 3522 2765 246 + 3522 3521 2765 246 + 246 2766 3522 247 + 2767 3523 2766 247 + 3523 3522 2766 247 + 247 2767 3523 248 + 2768 3524 2767 248 + 3524 3523 2767 248 + 248 2768 3524 249 + 2769 3525 2768 249 + 3525 3524 2768 249 + 249 2769 3525 250 + 2770 3526 2769 250 + 3526 3525 2769 250 + 250 2770 3526 251 + 2771 3527 2770 251 + 3527 3526 2770 251 + 251 2771 3527 252 + 2772 3528 2771 252 + 3528 3527 2771 252 + 252 2772 3528 253 + 2773 3529 2772 253 + 3529 3528 2772 253 + 253 2773 3529 254 + 2774 3530 2773 254 + 3530 3529 2773 254 + 71 73 93 2739 + 2811 3531 73 2739 + 3531 93 73 2739 + 2739 2811 3531 2740 + 2812 3532 2811 2740 + 3532 3531 2811 2740 + 2740 2812 3532 2741 + 2813 3533 2812 2741 + 3533 3532 2812 2741 + 2741 2813 3533 2742 + 2814 3534 2813 2742 + 3534 3533 2813 2742 + 2742 2814 3534 2743 + 2815 3535 2814 2743 + 3535 3534 2814 2743 + 2743 2815 3535 2744 + 2816 3536 2815 2744 + 3536 3535 2815 2744 + 2744 2816 3536 2745 + 2817 3537 2816 2745 + 3537 3536 2816 2745 + 2745 2817 3537 2746 + 2818 3538 2817 2746 + 3538 3537 2817 2746 + 2746 2818 3538 2747 + 2819 3539 2818 2747 + 3539 3538 2818 2747 + 2747 2819 3539 2748 + 2820 3540 2819 2748 + 3540 3539 2819 2748 + 2748 2820 3540 2749 + 2821 3541 2820 2749 + 3541 3540 2820 2749 + 2749 2821 3541 2750 + 2822 3542 2821 2750 + 3542 3541 2821 2750 + 2750 2822 3542 2751 + 2823 3543 2822 2751 + 3543 3542 2822 2751 + 2751 2823 3543 2752 + 2824 3544 2823 2752 + 3544 3543 2823 2752 + 2752 2824 3544 2753 + 2825 3545 2824 2753 + 3545 3544 2824 2753 + 2753 2825 3545 2754 + 2826 3546 2825 2754 + 3546 3545 2825 2754 + 2754 2826 3546 2755 + 2827 3547 2826 2755 + 3547 3546 2826 2755 + 2755 2827 3547 2756 + 2828 3548 2827 2756 + 3548 3547 2827 2756 + 2756 2828 3548 2757 + 2829 3549 2828 2757 + 3549 3548 2828 2757 + 2757 2829 3549 2758 + 2830 3550 2829 2758 + 3550 3549 2829 2758 + 2758 2830 3550 2759 + 2831 3551 2830 2759 + 3551 3550 2830 2759 + 2759 2831 3551 2760 + 2832 3552 2831 2760 + 3552 3551 2831 2760 + 2760 2832 3552 2761 + 2833 3553 2832 2761 + 3553 3552 2832 2761 + 2761 2833 3553 2762 + 2834 3554 2833 2762 + 3554 3553 2833 2762 + 2762 2834 3554 2763 + 2835 3555 2834 2763 + 3555 3554 2834 2763 + 2763 2835 3555 2764 + 2836 3556 2835 2764 + 3556 3555 2835 2764 + 2764 2836 3556 2765 + 2837 3557 2836 2765 + 3557 3556 2836 2765 + 2765 2837 3557 2766 + 2838 3558 2837 2766 + 3558 3557 2837 2766 + 2766 2838 3558 2767 + 2839 3559 2838 2767 + 3559 3558 2838 2767 + 2767 2839 3559 2768 + 2840 3560 2839 2768 + 3560 3559 2839 2768 + 2768 2840 3560 2769 + 2841 3561 2840 2769 + 3561 3560 2840 2769 + 2769 2841 3561 2770 + 2842 3562 2841 2770 + 3562 3561 2841 2770 + 2770 2842 3562 2771 + 2843 3563 2842 2771 + 3563 3562 2842 2771 + 2771 2843 3563 2772 + 2844 3564 2843 2772 + 3564 3563 2843 2772 + 2772 2844 3564 2773 + 2845 3565 2844 2773 + 3565 3564 2844 2773 + 2773 2845 3565 2774 + 2846 3566 2845 2774 + 3566 3565 2845 2774 + 92 93 94 3495 + 3531 3567 93 3495 + 3567 94 93 3495 + 3495 3531 3567 3496 + 3532 3568 3531 3496 + 3568 3567 3531 3496 + 3496 3532 3568 3497 + 3533 3569 3532 3497 + 3569 3568 3532 3497 + 3497 3533 3569 3498 + 3534 3570 3533 3498 + 3570 3569 3533 3498 + 3498 3534 3570 3499 + 3535 3571 3534 3499 + 3571 3570 3534 3499 + 3499 3535 3571 3500 + 3536 3572 3535 3500 + 3572 3571 3535 3500 + 3500 3536 3572 3501 + 3537 3573 3536 3501 + 3573 3572 3536 3501 + 3501 3537 3573 3502 + 3538 3574 3537 3502 + 3574 3573 3537 3502 + 3502 3538 3574 3503 + 3539 3575 3538 3503 + 3575 3574 3538 3503 + 3503 3539 3575 3504 + 3540 3576 3539 3504 + 3576 3575 3539 3504 + 3504 3540 3576 3505 + 3541 3577 3540 3505 + 3577 3576 3540 3505 + 3505 3541 3577 3506 + 3542 3578 3541 3506 + 3578 3577 3541 3506 + 3506 3542 3578 3507 + 3543 3579 3542 3507 + 3579 3578 3542 3507 + 3507 3543 3579 3508 + 3544 3580 3543 3508 + 3580 3579 3543 3508 + 3508 3544 3580 3509 + 3545 3581 3544 3509 + 3581 3580 3544 3509 + 3509 3545 3581 3510 + 3546 3582 3545 3510 + 3582 3581 3545 3510 + 3510 3546 3582 3511 + 3547 3583 3546 3511 + 3583 3582 3546 3511 + 3511 3547 3583 3512 + 3548 3584 3547 3512 + 3584 3583 3547 3512 + 3512 3548 3584 3513 + 3549 3585 3548 3513 + 3585 3584 3548 3513 + 3513 3549 3585 3514 + 3550 3586 3549 3514 + 3586 3585 3549 3514 + 3514 3550 3586 3515 + 3551 3587 3550 3515 + 3587 3586 3550 3515 + 3515 3551 3587 3516 + 3552 3588 3551 3516 + 3588 3587 3551 3516 + 3516 3552 3588 3517 + 3553 3589 3552 3517 + 3589 3588 3552 3517 + 3517 3553 3589 3518 + 3554 3590 3553 3518 + 3590 3589 3553 3518 + 3518 3554 3590 3519 + 3555 3591 3554 3519 + 3591 3590 3554 3519 + 3519 3555 3591 3520 + 3556 3592 3555 3520 + 3592 3591 3555 3520 + 3520 3556 3592 3521 + 3557 3593 3556 3521 + 3593 3592 3556 3521 + 3521 3557 3593 3522 + 3558 3594 3557 3522 + 3594 3593 3557 3522 + 3522 3558 3594 3523 + 3559 3595 3558 3523 + 3595 3594 3558 3523 + 3523 3559 3595 3524 + 3560 3596 3559 3524 + 3596 3595 3559 3524 + 3524 3560 3596 3525 + 3561 3597 3560 3525 + 3597 3596 3560 3525 + 3525 3561 3597 3526 + 3562 3598 3561 3526 + 3598 3597 3561 3526 + 3526 3562 3598 3527 + 3563 3599 3562 3527 + 3599 3598 3562 3527 + 3527 3563 3599 3528 + 3564 3600 3563 3528 + 3600 3599 3563 3528 + 3528 3564 3600 3529 + 3565 3601 3564 3529 + 3601 3600 3564 3529 + 3529 3565 3601 3530 + 3566 3602 3565 3530 + 3602 3601 3565 3530 + 3531 2739 3495 93 + 3495 2739 71 93 + 3495 71 92 93 + 3532 2740 3496 3531 + 3496 2740 2739 3531 + 3496 2739 3495 3531 + 3533 2741 3497 3532 + 3497 2741 2740 3532 + 3497 2740 3496 3532 + 3534 2742 3498 3533 + 3498 2742 2741 3533 + 3498 2741 3497 3533 + 3535 2743 3499 3534 + 3499 2743 2742 3534 + 3499 2742 3498 3534 + 3536 2744 3500 3535 + 3500 2744 2743 3535 + 3500 2743 3499 3535 + 3537 2745 3501 3536 + 3501 2745 2744 3536 + 3501 2744 3500 3536 + 3538 2746 3502 3537 + 3502 2746 2745 3537 + 3502 2745 3501 3537 + 3539 2747 3503 3538 + 3503 2747 2746 3538 + 3503 2746 3502 3538 + 3540 2748 3504 3539 + 3504 2748 2747 3539 + 3504 2747 3503 3539 + 3541 2749 3505 3540 + 3505 2749 2748 3540 + 3505 2748 3504 3540 + 3542 2750 3506 3541 + 3506 2750 2749 3541 + 3506 2749 3505 3541 + 3543 2751 3507 3542 + 3507 2751 2750 3542 + 3507 2750 3506 3542 + 3544 2752 3508 3543 + 3508 2752 2751 3543 + 3508 2751 3507 3543 + 3545 2753 3509 3544 + 3509 2753 2752 3544 + 3509 2752 3508 3544 + 3546 2754 3510 3545 + 3510 2754 2753 3545 + 3510 2753 3509 3545 + 3547 2755 3511 3546 + 3511 2755 2754 3546 + 3511 2754 3510 3546 + 3548 2756 3512 3547 + 3512 2756 2755 3547 + 3512 2755 3511 3547 + 3549 2757 3513 3548 + 3513 2757 2756 3548 + 3513 2756 3512 3548 + 3550 2758 3514 3549 + 3514 2758 2757 3549 + 3514 2757 3513 3549 + 3551 2759 3515 3550 + 3515 2759 2758 3550 + 3515 2758 3514 3550 + 3552 2760 3516 3551 + 3516 2760 2759 3551 + 3516 2759 3515 3551 + 3553 2761 3517 3552 + 3517 2761 2760 3552 + 3517 2760 3516 3552 + 3554 2762 3518 3553 + 3518 2762 2761 3553 + 3518 2761 3517 3553 + 3555 2763 3519 3554 + 3519 2763 2762 3554 + 3519 2762 3518 3554 + 3556 2764 3520 3555 + 3520 2764 2763 3555 + 3520 2763 3519 3555 + 3557 2765 3521 3556 + 3521 2765 2764 3556 + 3521 2764 3520 3556 + 3558 2766 3522 3557 + 3522 2766 2765 3557 + 3522 2765 3521 3557 + 3559 2767 3523 3558 + 3523 2767 2766 3558 + 3523 2766 3522 3558 + 3560 2768 3524 3559 + 3524 2768 2767 3559 + 3524 2767 3523 3559 + 3561 2769 3525 3560 + 3525 2769 2768 3560 + 3525 2768 3524 3560 + 3562 2770 3526 3561 + 3526 2770 2769 3561 + 3526 2769 3525 3561 + 3563 2771 3527 3562 + 3527 2771 2770 3562 + 3527 2770 3526 3562 + 3564 2772 3528 3563 + 3528 2772 2771 3563 + 3528 2771 3527 3563 + 3565 2773 3529 3564 + 3529 2773 2772 3564 + 3529 2772 3528 3564 + 3566 2774 3530 3565 + 3530 2774 2773 3565 + 3530 2773 3529 3565 + 73 76 95 2811 + 2919 3603 76 2811 + 3603 95 76 2811 + 2811 2919 3603 2812 + 2920 3604 2919 2812 + 3604 3603 2919 2812 + 2812 2920 3604 2813 + 2921 3605 2920 2813 + 3605 3604 2920 2813 + 2813 2921 3605 2814 + 2922 3606 2921 2814 + 3606 3605 2921 2814 + 2814 2922 3606 2815 + 2923 3607 2922 2815 + 3607 3606 2922 2815 + 2815 2923 3607 2816 + 2924 3608 2923 2816 + 3608 3607 2923 2816 + 2816 2924 3608 2817 + 2925 3609 2924 2817 + 3609 3608 2924 2817 + 2817 2925 3609 2818 + 2926 3610 2925 2818 + 3610 3609 2925 2818 + 2818 2926 3610 2819 + 2927 3611 2926 2819 + 3611 3610 2926 2819 + 2819 2927 3611 2820 + 2928 3612 2927 2820 + 3612 3611 2927 2820 + 2820 2928 3612 2821 + 2929 3613 2928 2821 + 3613 3612 2928 2821 + 2821 2929 3613 2822 + 2930 3614 2929 2822 + 3614 3613 2929 2822 + 2822 2930 3614 2823 + 2931 3615 2930 2823 + 3615 3614 2930 2823 + 2823 2931 3615 2824 + 2932 3616 2931 2824 + 3616 3615 2931 2824 + 2824 2932 3616 2825 + 2933 3617 2932 2825 + 3617 3616 2932 2825 + 2825 2933 3617 2826 + 2934 3618 2933 2826 + 3618 3617 2933 2826 + 2826 2934 3618 2827 + 2935 3619 2934 2827 + 3619 3618 2934 2827 + 2827 2935 3619 2828 + 2936 3620 2935 2828 + 3620 3619 2935 2828 + 2828 2936 3620 2829 + 2937 3621 2936 2829 + 3621 3620 2936 2829 + 2829 2937 3621 2830 + 2938 3622 2937 2830 + 3622 3621 2937 2830 + 2830 2938 3622 2831 + 2939 3623 2938 2831 + 3623 3622 2938 2831 + 2831 2939 3623 2832 + 2940 3624 2939 2832 + 3624 3623 2939 2832 + 2832 2940 3624 2833 + 2941 3625 2940 2833 + 3625 3624 2940 2833 + 2833 2941 3625 2834 + 2942 3626 2941 2834 + 3626 3625 2941 2834 + 2834 2942 3626 2835 + 2943 3627 2942 2835 + 3627 3626 2942 2835 + 2835 2943 3627 2836 + 2944 3628 2943 2836 + 3628 3627 2943 2836 + 2836 2944 3628 2837 + 2945 3629 2944 2837 + 3629 3628 2944 2837 + 2837 2945 3629 2838 + 2946 3630 2945 2838 + 3630 3629 2945 2838 + 2838 2946 3630 2839 + 2947 3631 2946 2839 + 3631 3630 2946 2839 + 2839 2947 3631 2840 + 2948 3632 2947 2840 + 3632 3631 2947 2840 + 2840 2948 3632 2841 + 2949 3633 2948 2841 + 3633 3632 2948 2841 + 2841 2949 3633 2842 + 2950 3634 2949 2842 + 3634 3633 2949 2842 + 2842 2950 3634 2843 + 2951 3635 2950 2843 + 3635 3634 2950 2843 + 2843 2951 3635 2844 + 2952 3636 2951 2844 + 3636 3635 2951 2844 + 2844 2952 3636 2845 + 2953 3637 2952 2845 + 3637 3636 2952 2845 + 2845 2953 3637 2846 + 2954 3638 2953 2846 + 3638 3637 2953 2846 + 93 95 96 3531 + 3603 3639 95 3531 + 3639 96 95 3531 + 3531 3603 3639 3532 + 3604 3640 3603 3532 + 3640 3639 3603 3532 + 3532 3604 3640 3533 + 3605 3641 3604 3533 + 3641 3640 3604 3533 + 3533 3605 3641 3534 + 3606 3642 3605 3534 + 3642 3641 3605 3534 + 3534 3606 3642 3535 + 3607 3643 3606 3535 + 3643 3642 3606 3535 + 3535 3607 3643 3536 + 3608 3644 3607 3536 + 3644 3643 3607 3536 + 3536 3608 3644 3537 + 3609 3645 3608 3537 + 3645 3644 3608 3537 + 3537 3609 3645 3538 + 3610 3646 3609 3538 + 3646 3645 3609 3538 + 3538 3610 3646 3539 + 3611 3647 3610 3539 + 3647 3646 3610 3539 + 3539 3611 3647 3540 + 3612 3648 3611 3540 + 3648 3647 3611 3540 + 3540 3612 3648 3541 + 3613 3649 3612 3541 + 3649 3648 3612 3541 + 3541 3613 3649 3542 + 3614 3650 3613 3542 + 3650 3649 3613 3542 + 3542 3614 3650 3543 + 3615 3651 3614 3543 + 3651 3650 3614 3543 + 3543 3615 3651 3544 + 3616 3652 3615 3544 + 3652 3651 3615 3544 + 3544 3616 3652 3545 + 3617 3653 3616 3545 + 3653 3652 3616 3545 + 3545 3617 3653 3546 + 3618 3654 3617 3546 + 3654 3653 3617 3546 + 3546 3618 3654 3547 + 3619 3655 3618 3547 + 3655 3654 3618 3547 + 3547 3619 3655 3548 + 3620 3656 3619 3548 + 3656 3655 3619 3548 + 3548 3620 3656 3549 + 3621 3657 3620 3549 + 3657 3656 3620 3549 + 3549 3621 3657 3550 + 3622 3658 3621 3550 + 3658 3657 3621 3550 + 3550 3622 3658 3551 + 3623 3659 3622 3551 + 3659 3658 3622 3551 + 3551 3623 3659 3552 + 3624 3660 3623 3552 + 3660 3659 3623 3552 + 3552 3624 3660 3553 + 3625 3661 3624 3553 + 3661 3660 3624 3553 + 3553 3625 3661 3554 + 3626 3662 3625 3554 + 3662 3661 3625 3554 + 3554 3626 3662 3555 + 3627 3663 3626 3555 + 3663 3662 3626 3555 + 3555 3627 3663 3556 + 3628 3664 3627 3556 + 3664 3663 3627 3556 + 3556 3628 3664 3557 + 3629 3665 3628 3557 + 3665 3664 3628 3557 + 3557 3629 3665 3558 + 3630 3666 3629 3558 + 3666 3665 3629 3558 + 3558 3630 3666 3559 + 3631 3667 3630 3559 + 3667 3666 3630 3559 + 3559 3631 3667 3560 + 3632 3668 3631 3560 + 3668 3667 3631 3560 + 3560 3632 3668 3561 + 3633 3669 3632 3561 + 3669 3668 3632 3561 + 3561 3633 3669 3562 + 3634 3670 3633 3562 + 3670 3669 3633 3562 + 3562 3634 3670 3563 + 3635 3671 3634 3563 + 3671 3670 3634 3563 + 3563 3635 3671 3564 + 3636 3672 3635 3564 + 3672 3671 3635 3564 + 3564 3636 3672 3565 + 3637 3673 3636 3565 + 3673 3672 3636 3565 + 3565 3637 3673 3566 + 3638 3674 3637 3566 + 3674 3673 3637 3566 + 94 96 97 3567 + 3639 3675 96 3567 + 3675 97 96 3567 + 3567 3639 3675 3568 + 3640 3676 3639 3568 + 3676 3675 3639 3568 + 3568 3640 3676 3569 + 3641 3677 3640 3569 + 3677 3676 3640 3569 + 3569 3641 3677 3570 + 3642 3678 3641 3570 + 3678 3677 3641 3570 + 3570 3642 3678 3571 + 3643 3679 3642 3571 + 3679 3678 3642 3571 + 3571 3643 3679 3572 + 3644 3680 3643 3572 + 3680 3679 3643 3572 + 3572 3644 3680 3573 + 3645 3681 3644 3573 + 3681 3680 3644 3573 + 3573 3645 3681 3574 + 3646 3682 3645 3574 + 3682 3681 3645 3574 + 3574 3646 3682 3575 + 3647 3683 3646 3575 + 3683 3682 3646 3575 + 3575 3647 3683 3576 + 3648 3684 3647 3576 + 3684 3683 3647 3576 + 3576 3648 3684 3577 + 3649 3685 3648 3577 + 3685 3684 3648 3577 + 3577 3649 3685 3578 + 3650 3686 3649 3578 + 3686 3685 3649 3578 + 3578 3650 3686 3579 + 3651 3687 3650 3579 + 3687 3686 3650 3579 + 3579 3651 3687 3580 + 3652 3688 3651 3580 + 3688 3687 3651 3580 + 3580 3652 3688 3581 + 3653 3689 3652 3581 + 3689 3688 3652 3581 + 3581 3653 3689 3582 + 3654 3690 3653 3582 + 3690 3689 3653 3582 + 3582 3654 3690 3583 + 3655 3691 3654 3583 + 3691 3690 3654 3583 + 3583 3655 3691 3584 + 3656 3692 3655 3584 + 3692 3691 3655 3584 + 3584 3656 3692 3585 + 3657 3693 3656 3585 + 3693 3692 3656 3585 + 3585 3657 3693 3586 + 3658 3694 3657 3586 + 3694 3693 3657 3586 + 3586 3658 3694 3587 + 3659 3695 3658 3587 + 3695 3694 3658 3587 + 3587 3659 3695 3588 + 3660 3696 3659 3588 + 3696 3695 3659 3588 + 3588 3660 3696 3589 + 3661 3697 3660 3589 + 3697 3696 3660 3589 + 3589 3661 3697 3590 + 3662 3698 3661 3590 + 3698 3697 3661 3590 + 3590 3662 3698 3591 + 3663 3699 3662 3591 + 3699 3698 3662 3591 + 3591 3663 3699 3592 + 3664 3700 3663 3592 + 3700 3699 3663 3592 + 3592 3664 3700 3593 + 3665 3701 3664 3593 + 3701 3700 3664 3593 + 3593 3665 3701 3594 + 3666 3702 3665 3594 + 3702 3701 3665 3594 + 3594 3666 3702 3595 + 3667 3703 3666 3595 + 3703 3702 3666 3595 + 3595 3667 3703 3596 + 3668 3704 3667 3596 + 3704 3703 3667 3596 + 3596 3668 3704 3597 + 3669 3705 3668 3597 + 3705 3704 3668 3597 + 3597 3669 3705 3598 + 3670 3706 3669 3598 + 3706 3705 3669 3598 + 3598 3670 3706 3599 + 3671 3707 3670 3599 + 3707 3706 3670 3599 + 3599 3671 3707 3600 + 3672 3708 3671 3600 + 3708 3707 3671 3600 + 3600 3672 3708 3601 + 3673 3709 3672 3601 + 3709 3708 3672 3601 + 3601 3673 3709 3602 + 3674 3710 3673 3602 + 3710 3709 3673 3602 + 3603 2811 3531 95 + 3531 2811 73 95 + 3531 73 93 95 + 3604 2812 3532 3603 + 3532 2812 2811 3603 + 3532 2811 3531 3603 + 3605 2813 3533 3604 + 3533 2813 2812 3604 + 3533 2812 3532 3604 + 3606 2814 3534 3605 + 3534 2814 2813 3605 + 3534 2813 3533 3605 + 3607 2815 3535 3606 + 3535 2815 2814 3606 + 3535 2814 3534 3606 + 3608 2816 3536 3607 + 3536 2816 2815 3607 + 3536 2815 3535 3607 + 3609 2817 3537 3608 + 3537 2817 2816 3608 + 3537 2816 3536 3608 + 3610 2818 3538 3609 + 3538 2818 2817 3609 + 3538 2817 3537 3609 + 3611 2819 3539 3610 + 3539 2819 2818 3610 + 3539 2818 3538 3610 + 3612 2820 3540 3611 + 3540 2820 2819 3611 + 3540 2819 3539 3611 + 3613 2821 3541 3612 + 3541 2821 2820 3612 + 3541 2820 3540 3612 + 3614 2822 3542 3613 + 3542 2822 2821 3613 + 3542 2821 3541 3613 + 3615 2823 3543 3614 + 3543 2823 2822 3614 + 3543 2822 3542 3614 + 3616 2824 3544 3615 + 3544 2824 2823 3615 + 3544 2823 3543 3615 + 3617 2825 3545 3616 + 3545 2825 2824 3616 + 3545 2824 3544 3616 + 3618 2826 3546 3617 + 3546 2826 2825 3617 + 3546 2825 3545 3617 + 3619 2827 3547 3618 + 3547 2827 2826 3618 + 3547 2826 3546 3618 + 3620 2828 3548 3619 + 3548 2828 2827 3619 + 3548 2827 3547 3619 + 3621 2829 3549 3620 + 3549 2829 2828 3620 + 3549 2828 3548 3620 + 3622 2830 3550 3621 + 3550 2830 2829 3621 + 3550 2829 3549 3621 + 3623 2831 3551 3622 + 3551 2831 2830 3622 + 3551 2830 3550 3622 + 3624 2832 3552 3623 + 3552 2832 2831 3623 + 3552 2831 3551 3623 + 3625 2833 3553 3624 + 3553 2833 2832 3624 + 3553 2832 3552 3624 + 3626 2834 3554 3625 + 3554 2834 2833 3625 + 3554 2833 3553 3625 + 3627 2835 3555 3626 + 3555 2835 2834 3626 + 3555 2834 3554 3626 + 3628 2836 3556 3627 + 3556 2836 2835 3627 + 3556 2835 3555 3627 + 3629 2837 3557 3628 + 3557 2837 2836 3628 + 3557 2836 3556 3628 + 3630 2838 3558 3629 + 3558 2838 2837 3629 + 3558 2837 3557 3629 + 3631 2839 3559 3630 + 3559 2839 2838 3630 + 3559 2838 3558 3630 + 3632 2840 3560 3631 + 3560 2840 2839 3631 + 3560 2839 3559 3631 + 3633 2841 3561 3632 + 3561 2841 2840 3632 + 3561 2840 3560 3632 + 3634 2842 3562 3633 + 3562 2842 2841 3633 + 3562 2841 3561 3633 + 3635 2843 3563 3634 + 3563 2843 2842 3634 + 3563 2842 3562 3634 + 3636 2844 3564 3635 + 3564 2844 2843 3635 + 3564 2843 3563 3635 + 3637 2845 3565 3636 + 3565 2845 2844 3636 + 3565 2844 3564 3636 + 3638 2846 3566 3637 + 3566 2846 2845 3637 + 3566 2845 3565 3637 + 3639 3531 3567 96 + 3567 3531 93 96 + 3567 93 94 96 + 3640 3532 3568 3639 + 3568 3532 3531 3639 + 3568 3531 3567 3639 + 3641 3533 3569 3640 + 3569 3533 3532 3640 + 3569 3532 3568 3640 + 3642 3534 3570 3641 + 3570 3534 3533 3641 + 3570 3533 3569 3641 + 3643 3535 3571 3642 + 3571 3535 3534 3642 + 3571 3534 3570 3642 + 3644 3536 3572 3643 + 3572 3536 3535 3643 + 3572 3535 3571 3643 + 3645 3537 3573 3644 + 3573 3537 3536 3644 + 3573 3536 3572 3644 + 3646 3538 3574 3645 + 3574 3538 3537 3645 + 3574 3537 3573 3645 + 3647 3539 3575 3646 + 3575 3539 3538 3646 + 3575 3538 3574 3646 + 3648 3540 3576 3647 + 3576 3540 3539 3647 + 3576 3539 3575 3647 + 3649 3541 3577 3648 + 3577 3541 3540 3648 + 3577 3540 3576 3648 + 3650 3542 3578 3649 + 3578 3542 3541 3649 + 3578 3541 3577 3649 + 3651 3543 3579 3650 + 3579 3543 3542 3650 + 3579 3542 3578 3650 + 3652 3544 3580 3651 + 3580 3544 3543 3651 + 3580 3543 3579 3651 + 3653 3545 3581 3652 + 3581 3545 3544 3652 + 3581 3544 3580 3652 + 3654 3546 3582 3653 + 3582 3546 3545 3653 + 3582 3545 3581 3653 + 3655 3547 3583 3654 + 3583 3547 3546 3654 + 3583 3546 3582 3654 + 3656 3548 3584 3655 + 3584 3548 3547 3655 + 3584 3547 3583 3655 + 3657 3549 3585 3656 + 3585 3549 3548 3656 + 3585 3548 3584 3656 + 3658 3550 3586 3657 + 3586 3550 3549 3657 + 3586 3549 3585 3657 + 3659 3551 3587 3658 + 3587 3551 3550 3658 + 3587 3550 3586 3658 + 3660 3552 3588 3659 + 3588 3552 3551 3659 + 3588 3551 3587 3659 + 3661 3553 3589 3660 + 3589 3553 3552 3660 + 3589 3552 3588 3660 + 3662 3554 3590 3661 + 3590 3554 3553 3661 + 3590 3553 3589 3661 + 3663 3555 3591 3662 + 3591 3555 3554 3662 + 3591 3554 3590 3662 + 3664 3556 3592 3663 + 3592 3556 3555 3663 + 3592 3555 3591 3663 + 3665 3557 3593 3664 + 3593 3557 3556 3664 + 3593 3556 3592 3664 + 3666 3558 3594 3665 + 3594 3558 3557 3665 + 3594 3557 3593 3665 + 3667 3559 3595 3666 + 3595 3559 3558 3666 + 3595 3558 3594 3666 + 3668 3560 3596 3667 + 3596 3560 3559 3667 + 3596 3559 3595 3667 + 3669 3561 3597 3668 + 3597 3561 3560 3668 + 3597 3560 3596 3668 + 3670 3562 3598 3669 + 3598 3562 3561 3669 + 3598 3561 3597 3669 + 3671 3563 3599 3670 + 3599 3563 3562 3670 + 3599 3562 3598 3670 + 3672 3564 3600 3671 + 3600 3564 3563 3671 + 3600 3563 3599 3671 + 3673 3565 3601 3672 + 3601 3565 3564 3672 + 3601 3564 3600 3672 + 3674 3566 3602 3673 + 3602 3566 3565 3673 + 3602 3565 3601 3673 + 76 80 98 2919 + 3063 3711 80 2919 + 3711 98 80 2919 + 2919 3063 3711 2920 + 3064 3712 3063 2920 + 3712 3711 3063 2920 + 2920 3064 3712 2921 + 3065 3713 3064 2921 + 3713 3712 3064 2921 + 2921 3065 3713 2922 + 3066 3714 3065 2922 + 3714 3713 3065 2922 + 2922 3066 3714 2923 + 3067 3715 3066 2923 + 3715 3714 3066 2923 + 2923 3067 3715 2924 + 3068 3716 3067 2924 + 3716 3715 3067 2924 + 2924 3068 3716 2925 + 3069 3717 3068 2925 + 3717 3716 3068 2925 + 2925 3069 3717 2926 + 3070 3718 3069 2926 + 3718 3717 3069 2926 + 2926 3070 3718 2927 + 3071 3719 3070 2927 + 3719 3718 3070 2927 + 2927 3071 3719 2928 + 3072 3720 3071 2928 + 3720 3719 3071 2928 + 2928 3072 3720 2929 + 3073 3721 3072 2929 + 3721 3720 3072 2929 + 2929 3073 3721 2930 + 3074 3722 3073 2930 + 3722 3721 3073 2930 + 2930 3074 3722 2931 + 3075 3723 3074 2931 + 3723 3722 3074 2931 + 2931 3075 3723 2932 + 3076 3724 3075 2932 + 3724 3723 3075 2932 + 2932 3076 3724 2933 + 3077 3725 3076 2933 + 3725 3724 3076 2933 + 2933 3077 3725 2934 + 3078 3726 3077 2934 + 3726 3725 3077 2934 + 2934 3078 3726 2935 + 3079 3727 3078 2935 + 3727 3726 3078 2935 + 2935 3079 3727 2936 + 3080 3728 3079 2936 + 3728 3727 3079 2936 + 2936 3080 3728 2937 + 3081 3729 3080 2937 + 3729 3728 3080 2937 + 2937 3081 3729 2938 + 3082 3730 3081 2938 + 3730 3729 3081 2938 + 2938 3082 3730 2939 + 3083 3731 3082 2939 + 3731 3730 3082 2939 + 2939 3083 3731 2940 + 3084 3732 3083 2940 + 3732 3731 3083 2940 + 2940 3084 3732 2941 + 3085 3733 3084 2941 + 3733 3732 3084 2941 + 2941 3085 3733 2942 + 3086 3734 3085 2942 + 3734 3733 3085 2942 + 2942 3086 3734 2943 + 3087 3735 3086 2943 + 3735 3734 3086 2943 + 2943 3087 3735 2944 + 3088 3736 3087 2944 + 3736 3735 3087 2944 + 2944 3088 3736 2945 + 3089 3737 3088 2945 + 3737 3736 3088 2945 + 2945 3089 3737 2946 + 3090 3738 3089 2946 + 3738 3737 3089 2946 + 2946 3090 3738 2947 + 3091 3739 3090 2947 + 3739 3738 3090 2947 + 2947 3091 3739 2948 + 3092 3740 3091 2948 + 3740 3739 3091 2948 + 2948 3092 3740 2949 + 3093 3741 3092 2949 + 3741 3740 3092 2949 + 2949 3093 3741 2950 + 3094 3742 3093 2950 + 3742 3741 3093 2950 + 2950 3094 3742 2951 + 3095 3743 3094 2951 + 3743 3742 3094 2951 + 2951 3095 3743 2952 + 3096 3744 3095 2952 + 3744 3743 3095 2952 + 2952 3096 3744 2953 + 3097 3745 3096 2953 + 3745 3744 3096 2953 + 2953 3097 3745 2954 + 3098 3746 3097 2954 + 3746 3745 3097 2954 + 95 98 99 3603 + 3711 3747 98 3603 + 3747 99 98 3603 + 3603 3711 3747 3604 + 3712 3748 3711 3604 + 3748 3747 3711 3604 + 3604 3712 3748 3605 + 3713 3749 3712 3605 + 3749 3748 3712 3605 + 3605 3713 3749 3606 + 3714 3750 3713 3606 + 3750 3749 3713 3606 + 3606 3714 3750 3607 + 3715 3751 3714 3607 + 3751 3750 3714 3607 + 3607 3715 3751 3608 + 3716 3752 3715 3608 + 3752 3751 3715 3608 + 3608 3716 3752 3609 + 3717 3753 3716 3609 + 3753 3752 3716 3609 + 3609 3717 3753 3610 + 3718 3754 3717 3610 + 3754 3753 3717 3610 + 3610 3718 3754 3611 + 3719 3755 3718 3611 + 3755 3754 3718 3611 + 3611 3719 3755 3612 + 3720 3756 3719 3612 + 3756 3755 3719 3612 + 3612 3720 3756 3613 + 3721 3757 3720 3613 + 3757 3756 3720 3613 + 3613 3721 3757 3614 + 3722 3758 3721 3614 + 3758 3757 3721 3614 + 3614 3722 3758 3615 + 3723 3759 3722 3615 + 3759 3758 3722 3615 + 3615 3723 3759 3616 + 3724 3760 3723 3616 + 3760 3759 3723 3616 + 3616 3724 3760 3617 + 3725 3761 3724 3617 + 3761 3760 3724 3617 + 3617 3725 3761 3618 + 3726 3762 3725 3618 + 3762 3761 3725 3618 + 3618 3726 3762 3619 + 3727 3763 3726 3619 + 3763 3762 3726 3619 + 3619 3727 3763 3620 + 3728 3764 3727 3620 + 3764 3763 3727 3620 + 3620 3728 3764 3621 + 3729 3765 3728 3621 + 3765 3764 3728 3621 + 3621 3729 3765 3622 + 3730 3766 3729 3622 + 3766 3765 3729 3622 + 3622 3730 3766 3623 + 3731 3767 3730 3623 + 3767 3766 3730 3623 + 3623 3731 3767 3624 + 3732 3768 3731 3624 + 3768 3767 3731 3624 + 3624 3732 3768 3625 + 3733 3769 3732 3625 + 3769 3768 3732 3625 + 3625 3733 3769 3626 + 3734 3770 3733 3626 + 3770 3769 3733 3626 + 3626 3734 3770 3627 + 3735 3771 3734 3627 + 3771 3770 3734 3627 + 3627 3735 3771 3628 + 3736 3772 3735 3628 + 3772 3771 3735 3628 + 3628 3736 3772 3629 + 3737 3773 3736 3629 + 3773 3772 3736 3629 + 3629 3737 3773 3630 + 3738 3774 3737 3630 + 3774 3773 3737 3630 + 3630 3738 3774 3631 + 3739 3775 3738 3631 + 3775 3774 3738 3631 + 3631 3739 3775 3632 + 3740 3776 3739 3632 + 3776 3775 3739 3632 + 3632 3740 3776 3633 + 3741 3777 3740 3633 + 3777 3776 3740 3633 + 3633 3741 3777 3634 + 3742 3778 3741 3634 + 3778 3777 3741 3634 + 3634 3742 3778 3635 + 3743 3779 3742 3635 + 3779 3778 3742 3635 + 3635 3743 3779 3636 + 3744 3780 3743 3636 + 3780 3779 3743 3636 + 3636 3744 3780 3637 + 3745 3781 3744 3637 + 3781 3780 3744 3637 + 3637 3745 3781 3638 + 3746 3782 3745 3638 + 3782 3781 3745 3638 + 96 99 100 3639 + 3747 3783 99 3639 + 3783 100 99 3639 + 3639 3747 3783 3640 + 3748 3784 3747 3640 + 3784 3783 3747 3640 + 3640 3748 3784 3641 + 3749 3785 3748 3641 + 3785 3784 3748 3641 + 3641 3749 3785 3642 + 3750 3786 3749 3642 + 3786 3785 3749 3642 + 3642 3750 3786 3643 + 3751 3787 3750 3643 + 3787 3786 3750 3643 + 3643 3751 3787 3644 + 3752 3788 3751 3644 + 3788 3787 3751 3644 + 3644 3752 3788 3645 + 3753 3789 3752 3645 + 3789 3788 3752 3645 + 3645 3753 3789 3646 + 3754 3790 3753 3646 + 3790 3789 3753 3646 + 3646 3754 3790 3647 + 3755 3791 3754 3647 + 3791 3790 3754 3647 + 3647 3755 3791 3648 + 3756 3792 3755 3648 + 3792 3791 3755 3648 + 3648 3756 3792 3649 + 3757 3793 3756 3649 + 3793 3792 3756 3649 + 3649 3757 3793 3650 + 3758 3794 3757 3650 + 3794 3793 3757 3650 + 3650 3758 3794 3651 + 3759 3795 3758 3651 + 3795 3794 3758 3651 + 3651 3759 3795 3652 + 3760 3796 3759 3652 + 3796 3795 3759 3652 + 3652 3760 3796 3653 + 3761 3797 3760 3653 + 3797 3796 3760 3653 + 3653 3761 3797 3654 + 3762 3798 3761 3654 + 3798 3797 3761 3654 + 3654 3762 3798 3655 + 3763 3799 3762 3655 + 3799 3798 3762 3655 + 3655 3763 3799 3656 + 3764 3800 3763 3656 + 3800 3799 3763 3656 + 3656 3764 3800 3657 + 3765 3801 3764 3657 + 3801 3800 3764 3657 + 3657 3765 3801 3658 + 3766 3802 3765 3658 + 3802 3801 3765 3658 + 3658 3766 3802 3659 + 3767 3803 3766 3659 + 3803 3802 3766 3659 + 3659 3767 3803 3660 + 3768 3804 3767 3660 + 3804 3803 3767 3660 + 3660 3768 3804 3661 + 3769 3805 3768 3661 + 3805 3804 3768 3661 + 3661 3769 3805 3662 + 3770 3806 3769 3662 + 3806 3805 3769 3662 + 3662 3770 3806 3663 + 3771 3807 3770 3663 + 3807 3806 3770 3663 + 3663 3771 3807 3664 + 3772 3808 3771 3664 + 3808 3807 3771 3664 + 3664 3772 3808 3665 + 3773 3809 3772 3665 + 3809 3808 3772 3665 + 3665 3773 3809 3666 + 3774 3810 3773 3666 + 3810 3809 3773 3666 + 3666 3774 3810 3667 + 3775 3811 3774 3667 + 3811 3810 3774 3667 + 3667 3775 3811 3668 + 3776 3812 3775 3668 + 3812 3811 3775 3668 + 3668 3776 3812 3669 + 3777 3813 3776 3669 + 3813 3812 3776 3669 + 3669 3777 3813 3670 + 3778 3814 3777 3670 + 3814 3813 3777 3670 + 3670 3778 3814 3671 + 3779 3815 3778 3671 + 3815 3814 3778 3671 + 3671 3779 3815 3672 + 3780 3816 3779 3672 + 3816 3815 3779 3672 + 3672 3780 3816 3673 + 3781 3817 3780 3673 + 3817 3816 3780 3673 + 3673 3781 3817 3674 + 3782 3818 3781 3674 + 3818 3817 3781 3674 + 97 100 101 3675 + 3783 3819 100 3675 + 3819 101 100 3675 + 3675 3783 3819 3676 + 3784 3820 3783 3676 + 3820 3819 3783 3676 + 3676 3784 3820 3677 + 3785 3821 3784 3677 + 3821 3820 3784 3677 + 3677 3785 3821 3678 + 3786 3822 3785 3678 + 3822 3821 3785 3678 + 3678 3786 3822 3679 + 3787 3823 3786 3679 + 3823 3822 3786 3679 + 3679 3787 3823 3680 + 3788 3824 3787 3680 + 3824 3823 3787 3680 + 3680 3788 3824 3681 + 3789 3825 3788 3681 + 3825 3824 3788 3681 + 3681 3789 3825 3682 + 3790 3826 3789 3682 + 3826 3825 3789 3682 + 3682 3790 3826 3683 + 3791 3827 3790 3683 + 3827 3826 3790 3683 + 3683 3791 3827 3684 + 3792 3828 3791 3684 + 3828 3827 3791 3684 + 3684 3792 3828 3685 + 3793 3829 3792 3685 + 3829 3828 3792 3685 + 3685 3793 3829 3686 + 3794 3830 3793 3686 + 3830 3829 3793 3686 + 3686 3794 3830 3687 + 3795 3831 3794 3687 + 3831 3830 3794 3687 + 3687 3795 3831 3688 + 3796 3832 3795 3688 + 3832 3831 3795 3688 + 3688 3796 3832 3689 + 3797 3833 3796 3689 + 3833 3832 3796 3689 + 3689 3797 3833 3690 + 3798 3834 3797 3690 + 3834 3833 3797 3690 + 3690 3798 3834 3691 + 3799 3835 3798 3691 + 3835 3834 3798 3691 + 3691 3799 3835 3692 + 3800 3836 3799 3692 + 3836 3835 3799 3692 + 3692 3800 3836 3693 + 3801 3837 3800 3693 + 3837 3836 3800 3693 + 3693 3801 3837 3694 + 3802 3838 3801 3694 + 3838 3837 3801 3694 + 3694 3802 3838 3695 + 3803 3839 3802 3695 + 3839 3838 3802 3695 + 3695 3803 3839 3696 + 3804 3840 3803 3696 + 3840 3839 3803 3696 + 3696 3804 3840 3697 + 3805 3841 3804 3697 + 3841 3840 3804 3697 + 3697 3805 3841 3698 + 3806 3842 3805 3698 + 3842 3841 3805 3698 + 3698 3806 3842 3699 + 3807 3843 3806 3699 + 3843 3842 3806 3699 + 3699 3807 3843 3700 + 3808 3844 3807 3700 + 3844 3843 3807 3700 + 3700 3808 3844 3701 + 3809 3845 3808 3701 + 3845 3844 3808 3701 + 3701 3809 3845 3702 + 3810 3846 3809 3702 + 3846 3845 3809 3702 + 3702 3810 3846 3703 + 3811 3847 3810 3703 + 3847 3846 3810 3703 + 3703 3811 3847 3704 + 3812 3848 3811 3704 + 3848 3847 3811 3704 + 3704 3812 3848 3705 + 3813 3849 3812 3705 + 3849 3848 3812 3705 + 3705 3813 3849 3706 + 3814 3850 3813 3706 + 3850 3849 3813 3706 + 3706 3814 3850 3707 + 3815 3851 3814 3707 + 3851 3850 3814 3707 + 3707 3815 3851 3708 + 3816 3852 3815 3708 + 3852 3851 3815 3708 + 3708 3816 3852 3709 + 3817 3853 3816 3709 + 3853 3852 3816 3709 + 3709 3817 3853 3710 + 3818 3854 3817 3710 + 3854 3853 3817 3710 + 3711 2919 3603 98 + 3603 2919 76 98 + 3603 76 95 98 + 3712 2920 3604 3711 + 3604 2920 2919 3711 + 3604 2919 3603 3711 + 3713 2921 3605 3712 + 3605 2921 2920 3712 + 3605 2920 3604 3712 + 3714 2922 3606 3713 + 3606 2922 2921 3713 + 3606 2921 3605 3713 + 3715 2923 3607 3714 + 3607 2923 2922 3714 + 3607 2922 3606 3714 + 3716 2924 3608 3715 + 3608 2924 2923 3715 + 3608 2923 3607 3715 + 3717 2925 3609 3716 + 3609 2925 2924 3716 + 3609 2924 3608 3716 + 3718 2926 3610 3717 + 3610 2926 2925 3717 + 3610 2925 3609 3717 + 3719 2927 3611 3718 + 3611 2927 2926 3718 + 3611 2926 3610 3718 + 3720 2928 3612 3719 + 3612 2928 2927 3719 + 3612 2927 3611 3719 + 3721 2929 3613 3720 + 3613 2929 2928 3720 + 3613 2928 3612 3720 + 3722 2930 3614 3721 + 3614 2930 2929 3721 + 3614 2929 3613 3721 + 3723 2931 3615 3722 + 3615 2931 2930 3722 + 3615 2930 3614 3722 + 3724 2932 3616 3723 + 3616 2932 2931 3723 + 3616 2931 3615 3723 + 3725 2933 3617 3724 + 3617 2933 2932 3724 + 3617 2932 3616 3724 + 3726 2934 3618 3725 + 3618 2934 2933 3725 + 3618 2933 3617 3725 + 3727 2935 3619 3726 + 3619 2935 2934 3726 + 3619 2934 3618 3726 + 3728 2936 3620 3727 + 3620 2936 2935 3727 + 3620 2935 3619 3727 + 3729 2937 3621 3728 + 3621 2937 2936 3728 + 3621 2936 3620 3728 + 3730 2938 3622 3729 + 3622 2938 2937 3729 + 3622 2937 3621 3729 + 3731 2939 3623 3730 + 3623 2939 2938 3730 + 3623 2938 3622 3730 + 3732 2940 3624 3731 + 3624 2940 2939 3731 + 3624 2939 3623 3731 + 3733 2941 3625 3732 + 3625 2941 2940 3732 + 3625 2940 3624 3732 + 3734 2942 3626 3733 + 3626 2942 2941 3733 + 3626 2941 3625 3733 + 3735 2943 3627 3734 + 3627 2943 2942 3734 + 3627 2942 3626 3734 + 3736 2944 3628 3735 + 3628 2944 2943 3735 + 3628 2943 3627 3735 + 3737 2945 3629 3736 + 3629 2945 2944 3736 + 3629 2944 3628 3736 + 3738 2946 3630 3737 + 3630 2946 2945 3737 + 3630 2945 3629 3737 + 3739 2947 3631 3738 + 3631 2947 2946 3738 + 3631 2946 3630 3738 + 3740 2948 3632 3739 + 3632 2948 2947 3739 + 3632 2947 3631 3739 + 3741 2949 3633 3740 + 3633 2949 2948 3740 + 3633 2948 3632 3740 + 3742 2950 3634 3741 + 3634 2950 2949 3741 + 3634 2949 3633 3741 + 3743 2951 3635 3742 + 3635 2951 2950 3742 + 3635 2950 3634 3742 + 3744 2952 3636 3743 + 3636 2952 2951 3743 + 3636 2951 3635 3743 + 3745 2953 3637 3744 + 3637 2953 2952 3744 + 3637 2952 3636 3744 + 3746 2954 3638 3745 + 3638 2954 2953 3745 + 3638 2953 3637 3745 + 3747 3603 3639 99 + 3639 3603 95 99 + 3639 95 96 99 + 3748 3604 3640 3747 + 3640 3604 3603 3747 + 3640 3603 3639 3747 + 3749 3605 3641 3748 + 3641 3605 3604 3748 + 3641 3604 3640 3748 + 3750 3606 3642 3749 + 3642 3606 3605 3749 + 3642 3605 3641 3749 + 3751 3607 3643 3750 + 3643 3607 3606 3750 + 3643 3606 3642 3750 + 3752 3608 3644 3751 + 3644 3608 3607 3751 + 3644 3607 3643 3751 + 3753 3609 3645 3752 + 3645 3609 3608 3752 + 3645 3608 3644 3752 + 3754 3610 3646 3753 + 3646 3610 3609 3753 + 3646 3609 3645 3753 + 3755 3611 3647 3754 + 3647 3611 3610 3754 + 3647 3610 3646 3754 + 3756 3612 3648 3755 + 3648 3612 3611 3755 + 3648 3611 3647 3755 + 3757 3613 3649 3756 + 3649 3613 3612 3756 + 3649 3612 3648 3756 + 3758 3614 3650 3757 + 3650 3614 3613 3757 + 3650 3613 3649 3757 + 3759 3615 3651 3758 + 3651 3615 3614 3758 + 3651 3614 3650 3758 + 3760 3616 3652 3759 + 3652 3616 3615 3759 + 3652 3615 3651 3759 + 3761 3617 3653 3760 + 3653 3617 3616 3760 + 3653 3616 3652 3760 + 3762 3618 3654 3761 + 3654 3618 3617 3761 + 3654 3617 3653 3761 + 3763 3619 3655 3762 + 3655 3619 3618 3762 + 3655 3618 3654 3762 + 3764 3620 3656 3763 + 3656 3620 3619 3763 + 3656 3619 3655 3763 + 3765 3621 3657 3764 + 3657 3621 3620 3764 + 3657 3620 3656 3764 + 3766 3622 3658 3765 + 3658 3622 3621 3765 + 3658 3621 3657 3765 + 3767 3623 3659 3766 + 3659 3623 3622 3766 + 3659 3622 3658 3766 + 3768 3624 3660 3767 + 3660 3624 3623 3767 + 3660 3623 3659 3767 + 3769 3625 3661 3768 + 3661 3625 3624 3768 + 3661 3624 3660 3768 + 3770 3626 3662 3769 + 3662 3626 3625 3769 + 3662 3625 3661 3769 + 3771 3627 3663 3770 + 3663 3627 3626 3770 + 3663 3626 3662 3770 + 3772 3628 3664 3771 + 3664 3628 3627 3771 + 3664 3627 3663 3771 + 3773 3629 3665 3772 + 3665 3629 3628 3772 + 3665 3628 3664 3772 + 3774 3630 3666 3773 + 3666 3630 3629 3773 + 3666 3629 3665 3773 + 3775 3631 3667 3774 + 3667 3631 3630 3774 + 3667 3630 3666 3774 + 3776 3632 3668 3775 + 3668 3632 3631 3775 + 3668 3631 3667 3775 + 3777 3633 3669 3776 + 3669 3633 3632 3776 + 3669 3632 3668 3776 + 3778 3634 3670 3777 + 3670 3634 3633 3777 + 3670 3633 3669 3777 + 3779 3635 3671 3778 + 3671 3635 3634 3778 + 3671 3634 3670 3778 + 3780 3636 3672 3779 + 3672 3636 3635 3779 + 3672 3635 3671 3779 + 3781 3637 3673 3780 + 3673 3637 3636 3780 + 3673 3636 3672 3780 + 3782 3638 3674 3781 + 3674 3638 3637 3781 + 3674 3637 3673 3781 + 3783 3639 3675 100 + 3675 3639 96 100 + 3675 96 97 100 + 3784 3640 3676 3783 + 3676 3640 3639 3783 + 3676 3639 3675 3783 + 3785 3641 3677 3784 + 3677 3641 3640 3784 + 3677 3640 3676 3784 + 3786 3642 3678 3785 + 3678 3642 3641 3785 + 3678 3641 3677 3785 + 3787 3643 3679 3786 + 3679 3643 3642 3786 + 3679 3642 3678 3786 + 3788 3644 3680 3787 + 3680 3644 3643 3787 + 3680 3643 3679 3787 + 3789 3645 3681 3788 + 3681 3645 3644 3788 + 3681 3644 3680 3788 + 3790 3646 3682 3789 + 3682 3646 3645 3789 + 3682 3645 3681 3789 + 3791 3647 3683 3790 + 3683 3647 3646 3790 + 3683 3646 3682 3790 + 3792 3648 3684 3791 + 3684 3648 3647 3791 + 3684 3647 3683 3791 + 3793 3649 3685 3792 + 3685 3649 3648 3792 + 3685 3648 3684 3792 + 3794 3650 3686 3793 + 3686 3650 3649 3793 + 3686 3649 3685 3793 + 3795 3651 3687 3794 + 3687 3651 3650 3794 + 3687 3650 3686 3794 + 3796 3652 3688 3795 + 3688 3652 3651 3795 + 3688 3651 3687 3795 + 3797 3653 3689 3796 + 3689 3653 3652 3796 + 3689 3652 3688 3796 + 3798 3654 3690 3797 + 3690 3654 3653 3797 + 3690 3653 3689 3797 + 3799 3655 3691 3798 + 3691 3655 3654 3798 + 3691 3654 3690 3798 + 3800 3656 3692 3799 + 3692 3656 3655 3799 + 3692 3655 3691 3799 + 3801 3657 3693 3800 + 3693 3657 3656 3800 + 3693 3656 3692 3800 + 3802 3658 3694 3801 + 3694 3658 3657 3801 + 3694 3657 3693 3801 + 3803 3659 3695 3802 + 3695 3659 3658 3802 + 3695 3658 3694 3802 + 3804 3660 3696 3803 + 3696 3660 3659 3803 + 3696 3659 3695 3803 + 3805 3661 3697 3804 + 3697 3661 3660 3804 + 3697 3660 3696 3804 + 3806 3662 3698 3805 + 3698 3662 3661 3805 + 3698 3661 3697 3805 + 3807 3663 3699 3806 + 3699 3663 3662 3806 + 3699 3662 3698 3806 + 3808 3664 3700 3807 + 3700 3664 3663 3807 + 3700 3663 3699 3807 + 3809 3665 3701 3808 + 3701 3665 3664 3808 + 3701 3664 3700 3808 + 3810 3666 3702 3809 + 3702 3666 3665 3809 + 3702 3665 3701 3809 + 3811 3667 3703 3810 + 3703 3667 3666 3810 + 3703 3666 3702 3810 + 3812 3668 3704 3811 + 3704 3668 3667 3811 + 3704 3667 3703 3811 + 3813 3669 3705 3812 + 3705 3669 3668 3812 + 3705 3668 3704 3812 + 3814 3670 3706 3813 + 3706 3670 3669 3813 + 3706 3669 3705 3813 + 3815 3671 3707 3814 + 3707 3671 3670 3814 + 3707 3670 3706 3814 + 3816 3672 3708 3815 + 3708 3672 3671 3815 + 3708 3671 3707 3815 + 3817 3673 3709 3816 + 3709 3673 3672 3816 + 3709 3672 3708 3816 + 3818 3674 3710 3817 + 3710 3674 3673 3817 + 3710 3673 3709 3817 + 80 85 102 3063 + 3243 3855 85 3063 + 3855 102 85 3063 + 3063 3243 3855 3064 + 3244 3856 3243 3064 + 3856 3855 3243 3064 + 3064 3244 3856 3065 + 3245 3857 3244 3065 + 3857 3856 3244 3065 + 3065 3245 3857 3066 + 3246 3858 3245 3066 + 3858 3857 3245 3066 + 3066 3246 3858 3067 + 3247 3859 3246 3067 + 3859 3858 3246 3067 + 3067 3247 3859 3068 + 3248 3860 3247 3068 + 3860 3859 3247 3068 + 3068 3248 3860 3069 + 3249 3861 3248 3069 + 3861 3860 3248 3069 + 3069 3249 3861 3070 + 3250 3862 3249 3070 + 3862 3861 3249 3070 + 3070 3250 3862 3071 + 3251 3863 3250 3071 + 3863 3862 3250 3071 + 3071 3251 3863 3072 + 3252 3864 3251 3072 + 3864 3863 3251 3072 + 3072 3252 3864 3073 + 3253 3865 3252 3073 + 3865 3864 3252 3073 + 3073 3253 3865 3074 + 3254 3866 3253 3074 + 3866 3865 3253 3074 + 3074 3254 3866 3075 + 3255 3867 3254 3075 + 3867 3866 3254 3075 + 3075 3255 3867 3076 + 3256 3868 3255 3076 + 3868 3867 3255 3076 + 3076 3256 3868 3077 + 3257 3869 3256 3077 + 3869 3868 3256 3077 + 3077 3257 3869 3078 + 3258 3870 3257 3078 + 3870 3869 3257 3078 + 3078 3258 3870 3079 + 3259 3871 3258 3079 + 3871 3870 3258 3079 + 3079 3259 3871 3080 + 3260 3872 3259 3080 + 3872 3871 3259 3080 + 3080 3260 3872 3081 + 3261 3873 3260 3081 + 3873 3872 3260 3081 + 3081 3261 3873 3082 + 3262 3874 3261 3082 + 3874 3873 3261 3082 + 3082 3262 3874 3083 + 3263 3875 3262 3083 + 3875 3874 3262 3083 + 3083 3263 3875 3084 + 3264 3876 3263 3084 + 3876 3875 3263 3084 + 3084 3264 3876 3085 + 3265 3877 3264 3085 + 3877 3876 3264 3085 + 3085 3265 3877 3086 + 3266 3878 3265 3086 + 3878 3877 3265 3086 + 3086 3266 3878 3087 + 3267 3879 3266 3087 + 3879 3878 3266 3087 + 3087 3267 3879 3088 + 3268 3880 3267 3088 + 3880 3879 3267 3088 + 3088 3268 3880 3089 + 3269 3881 3268 3089 + 3881 3880 3268 3089 + 3089 3269 3881 3090 + 3270 3882 3269 3090 + 3882 3881 3269 3090 + 3090 3270 3882 3091 + 3271 3883 3270 3091 + 3883 3882 3270 3091 + 3091 3271 3883 3092 + 3272 3884 3271 3092 + 3884 3883 3271 3092 + 3092 3272 3884 3093 + 3273 3885 3272 3093 + 3885 3884 3272 3093 + 3093 3273 3885 3094 + 3274 3886 3273 3094 + 3886 3885 3273 3094 + 3094 3274 3886 3095 + 3275 3887 3274 3095 + 3887 3886 3274 3095 + 3095 3275 3887 3096 + 3276 3888 3275 3096 + 3888 3887 3275 3096 + 3096 3276 3888 3097 + 3277 3889 3276 3097 + 3889 3888 3276 3097 + 3097 3277 3889 3098 + 3278 3890 3277 3098 + 3890 3889 3277 3098 + 98 102 103 3711 + 3855 3891 102 3711 + 3891 103 102 3711 + 3711 3855 3891 3712 + 3856 3892 3855 3712 + 3892 3891 3855 3712 + 3712 3856 3892 3713 + 3857 3893 3856 3713 + 3893 3892 3856 3713 + 3713 3857 3893 3714 + 3858 3894 3857 3714 + 3894 3893 3857 3714 + 3714 3858 3894 3715 + 3859 3895 3858 3715 + 3895 3894 3858 3715 + 3715 3859 3895 3716 + 3860 3896 3859 3716 + 3896 3895 3859 3716 + 3716 3860 3896 3717 + 3861 3897 3860 3717 + 3897 3896 3860 3717 + 3717 3861 3897 3718 + 3862 3898 3861 3718 + 3898 3897 3861 3718 + 3718 3862 3898 3719 + 3863 3899 3862 3719 + 3899 3898 3862 3719 + 3719 3863 3899 3720 + 3864 3900 3863 3720 + 3900 3899 3863 3720 + 3720 3864 3900 3721 + 3865 3901 3864 3721 + 3901 3900 3864 3721 + 3721 3865 3901 3722 + 3866 3902 3865 3722 + 3902 3901 3865 3722 + 3722 3866 3902 3723 + 3867 3903 3866 3723 + 3903 3902 3866 3723 + 3723 3867 3903 3724 + 3868 3904 3867 3724 + 3904 3903 3867 3724 + 3724 3868 3904 3725 + 3869 3905 3868 3725 + 3905 3904 3868 3725 + 3725 3869 3905 3726 + 3870 3906 3869 3726 + 3906 3905 3869 3726 + 3726 3870 3906 3727 + 3871 3907 3870 3727 + 3907 3906 3870 3727 + 3727 3871 3907 3728 + 3872 3908 3871 3728 + 3908 3907 3871 3728 + 3728 3872 3908 3729 + 3873 3909 3872 3729 + 3909 3908 3872 3729 + 3729 3873 3909 3730 + 3874 3910 3873 3730 + 3910 3909 3873 3730 + 3730 3874 3910 3731 + 3875 3911 3874 3731 + 3911 3910 3874 3731 + 3731 3875 3911 3732 + 3876 3912 3875 3732 + 3912 3911 3875 3732 + 3732 3876 3912 3733 + 3877 3913 3876 3733 + 3913 3912 3876 3733 + 3733 3877 3913 3734 + 3878 3914 3877 3734 + 3914 3913 3877 3734 + 3734 3878 3914 3735 + 3879 3915 3878 3735 + 3915 3914 3878 3735 + 3735 3879 3915 3736 + 3880 3916 3879 3736 + 3916 3915 3879 3736 + 3736 3880 3916 3737 + 3881 3917 3880 3737 + 3917 3916 3880 3737 + 3737 3881 3917 3738 + 3882 3918 3881 3738 + 3918 3917 3881 3738 + 3738 3882 3918 3739 + 3883 3919 3882 3739 + 3919 3918 3882 3739 + 3739 3883 3919 3740 + 3884 3920 3883 3740 + 3920 3919 3883 3740 + 3740 3884 3920 3741 + 3885 3921 3884 3741 + 3921 3920 3884 3741 + 3741 3885 3921 3742 + 3886 3922 3885 3742 + 3922 3921 3885 3742 + 3742 3886 3922 3743 + 3887 3923 3886 3743 + 3923 3922 3886 3743 + 3743 3887 3923 3744 + 3888 3924 3887 3744 + 3924 3923 3887 3744 + 3744 3888 3924 3745 + 3889 3925 3888 3745 + 3925 3924 3888 3745 + 3745 3889 3925 3746 + 3890 3926 3889 3746 + 3926 3925 3889 3746 + 99 103 104 3747 + 3891 3927 103 3747 + 3927 104 103 3747 + 3747 3891 3927 3748 + 3892 3928 3891 3748 + 3928 3927 3891 3748 + 3748 3892 3928 3749 + 3893 3929 3892 3749 + 3929 3928 3892 3749 + 3749 3893 3929 3750 + 3894 3930 3893 3750 + 3930 3929 3893 3750 + 3750 3894 3930 3751 + 3895 3931 3894 3751 + 3931 3930 3894 3751 + 3751 3895 3931 3752 + 3896 3932 3895 3752 + 3932 3931 3895 3752 + 3752 3896 3932 3753 + 3897 3933 3896 3753 + 3933 3932 3896 3753 + 3753 3897 3933 3754 + 3898 3934 3897 3754 + 3934 3933 3897 3754 + 3754 3898 3934 3755 + 3899 3935 3898 3755 + 3935 3934 3898 3755 + 3755 3899 3935 3756 + 3900 3936 3899 3756 + 3936 3935 3899 3756 + 3756 3900 3936 3757 + 3901 3937 3900 3757 + 3937 3936 3900 3757 + 3757 3901 3937 3758 + 3902 3938 3901 3758 + 3938 3937 3901 3758 + 3758 3902 3938 3759 + 3903 3939 3902 3759 + 3939 3938 3902 3759 + 3759 3903 3939 3760 + 3904 3940 3903 3760 + 3940 3939 3903 3760 + 3760 3904 3940 3761 + 3905 3941 3904 3761 + 3941 3940 3904 3761 + 3761 3905 3941 3762 + 3906 3942 3905 3762 + 3942 3941 3905 3762 + 3762 3906 3942 3763 + 3907 3943 3906 3763 + 3943 3942 3906 3763 + 3763 3907 3943 3764 + 3908 3944 3907 3764 + 3944 3943 3907 3764 + 3764 3908 3944 3765 + 3909 3945 3908 3765 + 3945 3944 3908 3765 + 3765 3909 3945 3766 + 3910 3946 3909 3766 + 3946 3945 3909 3766 + 3766 3910 3946 3767 + 3911 3947 3910 3767 + 3947 3946 3910 3767 + 3767 3911 3947 3768 + 3912 3948 3911 3768 + 3948 3947 3911 3768 + 3768 3912 3948 3769 + 3913 3949 3912 3769 + 3949 3948 3912 3769 + 3769 3913 3949 3770 + 3914 3950 3913 3770 + 3950 3949 3913 3770 + 3770 3914 3950 3771 + 3915 3951 3914 3771 + 3951 3950 3914 3771 + 3771 3915 3951 3772 + 3916 3952 3915 3772 + 3952 3951 3915 3772 + 3772 3916 3952 3773 + 3917 3953 3916 3773 + 3953 3952 3916 3773 + 3773 3917 3953 3774 + 3918 3954 3917 3774 + 3954 3953 3917 3774 + 3774 3918 3954 3775 + 3919 3955 3918 3775 + 3955 3954 3918 3775 + 3775 3919 3955 3776 + 3920 3956 3919 3776 + 3956 3955 3919 3776 + 3776 3920 3956 3777 + 3921 3957 3920 3777 + 3957 3956 3920 3777 + 3777 3921 3957 3778 + 3922 3958 3921 3778 + 3958 3957 3921 3778 + 3778 3922 3958 3779 + 3923 3959 3922 3779 + 3959 3958 3922 3779 + 3779 3923 3959 3780 + 3924 3960 3923 3780 + 3960 3959 3923 3780 + 3780 3924 3960 3781 + 3925 3961 3924 3781 + 3961 3960 3924 3781 + 3781 3925 3961 3782 + 3926 3962 3925 3782 + 3962 3961 3925 3782 + 100 104 105 3783 + 3927 3963 104 3783 + 3963 105 104 3783 + 3783 3927 3963 3784 + 3928 3964 3927 3784 + 3964 3963 3927 3784 + 3784 3928 3964 3785 + 3929 3965 3928 3785 + 3965 3964 3928 3785 + 3785 3929 3965 3786 + 3930 3966 3929 3786 + 3966 3965 3929 3786 + 3786 3930 3966 3787 + 3931 3967 3930 3787 + 3967 3966 3930 3787 + 3787 3931 3967 3788 + 3932 3968 3931 3788 + 3968 3967 3931 3788 + 3788 3932 3968 3789 + 3933 3969 3932 3789 + 3969 3968 3932 3789 + 3789 3933 3969 3790 + 3934 3970 3933 3790 + 3970 3969 3933 3790 + 3790 3934 3970 3791 + 3935 3971 3934 3791 + 3971 3970 3934 3791 + 3791 3935 3971 3792 + 3936 3972 3935 3792 + 3972 3971 3935 3792 + 3792 3936 3972 3793 + 3937 3973 3936 3793 + 3973 3972 3936 3793 + 3793 3937 3973 3794 + 3938 3974 3937 3794 + 3974 3973 3937 3794 + 3794 3938 3974 3795 + 3939 3975 3938 3795 + 3975 3974 3938 3795 + 3795 3939 3975 3796 + 3940 3976 3939 3796 + 3976 3975 3939 3796 + 3796 3940 3976 3797 + 3941 3977 3940 3797 + 3977 3976 3940 3797 + 3797 3941 3977 3798 + 3942 3978 3941 3798 + 3978 3977 3941 3798 + 3798 3942 3978 3799 + 3943 3979 3942 3799 + 3979 3978 3942 3799 + 3799 3943 3979 3800 + 3944 3980 3943 3800 + 3980 3979 3943 3800 + 3800 3944 3980 3801 + 3945 3981 3944 3801 + 3981 3980 3944 3801 + 3801 3945 3981 3802 + 3946 3982 3945 3802 + 3982 3981 3945 3802 + 3802 3946 3982 3803 + 3947 3983 3946 3803 + 3983 3982 3946 3803 + 3803 3947 3983 3804 + 3948 3984 3947 3804 + 3984 3983 3947 3804 + 3804 3948 3984 3805 + 3949 3985 3948 3805 + 3985 3984 3948 3805 + 3805 3949 3985 3806 + 3950 3986 3949 3806 + 3986 3985 3949 3806 + 3806 3950 3986 3807 + 3951 3987 3950 3807 + 3987 3986 3950 3807 + 3807 3951 3987 3808 + 3952 3988 3951 3808 + 3988 3987 3951 3808 + 3808 3952 3988 3809 + 3953 3989 3952 3809 + 3989 3988 3952 3809 + 3809 3953 3989 3810 + 3954 3990 3953 3810 + 3990 3989 3953 3810 + 3810 3954 3990 3811 + 3955 3991 3954 3811 + 3991 3990 3954 3811 + 3811 3955 3991 3812 + 3956 3992 3955 3812 + 3992 3991 3955 3812 + 3812 3956 3992 3813 + 3957 3993 3956 3813 + 3993 3992 3956 3813 + 3813 3957 3993 3814 + 3958 3994 3957 3814 + 3994 3993 3957 3814 + 3814 3958 3994 3815 + 3959 3995 3958 3815 + 3995 3994 3958 3815 + 3815 3959 3995 3816 + 3960 3996 3959 3816 + 3996 3995 3959 3816 + 3816 3960 3996 3817 + 3961 3997 3960 3817 + 3997 3996 3960 3817 + 3817 3961 3997 3818 + 3962 3998 3961 3818 + 3998 3997 3961 3818 + 101 105 106 3819 + 3963 3999 105 3819 + 3999 106 105 3819 + 3819 3963 3999 3820 + 3964 4000 3963 3820 + 4000 3999 3963 3820 + 3820 3964 4000 3821 + 3965 4001 3964 3821 + 4001 4000 3964 3821 + 3821 3965 4001 3822 + 3966 4002 3965 3822 + 4002 4001 3965 3822 + 3822 3966 4002 3823 + 3967 4003 3966 3823 + 4003 4002 3966 3823 + 3823 3967 4003 3824 + 3968 4004 3967 3824 + 4004 4003 3967 3824 + 3824 3968 4004 3825 + 3969 4005 3968 3825 + 4005 4004 3968 3825 + 3825 3969 4005 3826 + 3970 4006 3969 3826 + 4006 4005 3969 3826 + 3826 3970 4006 3827 + 3971 4007 3970 3827 + 4007 4006 3970 3827 + 3827 3971 4007 3828 + 3972 4008 3971 3828 + 4008 4007 3971 3828 + 3828 3972 4008 3829 + 3973 4009 3972 3829 + 4009 4008 3972 3829 + 3829 3973 4009 3830 + 3974 4010 3973 3830 + 4010 4009 3973 3830 + 3830 3974 4010 3831 + 3975 4011 3974 3831 + 4011 4010 3974 3831 + 3831 3975 4011 3832 + 3976 4012 3975 3832 + 4012 4011 3975 3832 + 3832 3976 4012 3833 + 3977 4013 3976 3833 + 4013 4012 3976 3833 + 3833 3977 4013 3834 + 3978 4014 3977 3834 + 4014 4013 3977 3834 + 3834 3978 4014 3835 + 3979 4015 3978 3835 + 4015 4014 3978 3835 + 3835 3979 4015 3836 + 3980 4016 3979 3836 + 4016 4015 3979 3836 + 3836 3980 4016 3837 + 3981 4017 3980 3837 + 4017 4016 3980 3837 + 3837 3981 4017 3838 + 3982 4018 3981 3838 + 4018 4017 3981 3838 + 3838 3982 4018 3839 + 3983 4019 3982 3839 + 4019 4018 3982 3839 + 3839 3983 4019 3840 + 3984 4020 3983 3840 + 4020 4019 3983 3840 + 3840 3984 4020 3841 + 3985 4021 3984 3841 + 4021 4020 3984 3841 + 3841 3985 4021 3842 + 3986 4022 3985 3842 + 4022 4021 3985 3842 + 3842 3986 4022 3843 + 3987 4023 3986 3843 + 4023 4022 3986 3843 + 3843 3987 4023 3844 + 3988 4024 3987 3844 + 4024 4023 3987 3844 + 3844 3988 4024 3845 + 3989 4025 3988 3845 + 4025 4024 3988 3845 + 3845 3989 4025 3846 + 3990 4026 3989 3846 + 4026 4025 3989 3846 + 3846 3990 4026 3847 + 3991 4027 3990 3847 + 4027 4026 3990 3847 + 3847 3991 4027 3848 + 3992 4028 3991 3848 + 4028 4027 3991 3848 + 3848 3992 4028 3849 + 3993 4029 3992 3849 + 4029 4028 3992 3849 + 3849 3993 4029 3850 + 3994 4030 3993 3850 + 4030 4029 3993 3850 + 3850 3994 4030 3851 + 3995 4031 3994 3851 + 4031 4030 3994 3851 + 3851 3995 4031 3852 + 3996 4032 3995 3852 + 4032 4031 3995 3852 + 3852 3996 4032 3853 + 3997 4033 3996 3853 + 4033 4032 3996 3853 + 3853 3997 4033 3854 + 3998 4034 3997 3854 + 4034 4033 3997 3854 + 3855 3063 3711 102 + 3711 3063 80 102 + 3711 80 98 102 + 3856 3064 3712 3855 + 3712 3064 3063 3855 + 3712 3063 3711 3855 + 3857 3065 3713 3856 + 3713 3065 3064 3856 + 3713 3064 3712 3856 + 3858 3066 3714 3857 + 3714 3066 3065 3857 + 3714 3065 3713 3857 + 3859 3067 3715 3858 + 3715 3067 3066 3858 + 3715 3066 3714 3858 + 3860 3068 3716 3859 + 3716 3068 3067 3859 + 3716 3067 3715 3859 + 3861 3069 3717 3860 + 3717 3069 3068 3860 + 3717 3068 3716 3860 + 3862 3070 3718 3861 + 3718 3070 3069 3861 + 3718 3069 3717 3861 + 3863 3071 3719 3862 + 3719 3071 3070 3862 + 3719 3070 3718 3862 + 3864 3072 3720 3863 + 3720 3072 3071 3863 + 3720 3071 3719 3863 + 3865 3073 3721 3864 + 3721 3073 3072 3864 + 3721 3072 3720 3864 + 3866 3074 3722 3865 + 3722 3074 3073 3865 + 3722 3073 3721 3865 + 3867 3075 3723 3866 + 3723 3075 3074 3866 + 3723 3074 3722 3866 + 3868 3076 3724 3867 + 3724 3076 3075 3867 + 3724 3075 3723 3867 + 3869 3077 3725 3868 + 3725 3077 3076 3868 + 3725 3076 3724 3868 + 3870 3078 3726 3869 + 3726 3078 3077 3869 + 3726 3077 3725 3869 + 3871 3079 3727 3870 + 3727 3079 3078 3870 + 3727 3078 3726 3870 + 3872 3080 3728 3871 + 3728 3080 3079 3871 + 3728 3079 3727 3871 + 3873 3081 3729 3872 + 3729 3081 3080 3872 + 3729 3080 3728 3872 + 3874 3082 3730 3873 + 3730 3082 3081 3873 + 3730 3081 3729 3873 + 3875 3083 3731 3874 + 3731 3083 3082 3874 + 3731 3082 3730 3874 + 3876 3084 3732 3875 + 3732 3084 3083 3875 + 3732 3083 3731 3875 + 3877 3085 3733 3876 + 3733 3085 3084 3876 + 3733 3084 3732 3876 + 3878 3086 3734 3877 + 3734 3086 3085 3877 + 3734 3085 3733 3877 + 3879 3087 3735 3878 + 3735 3087 3086 3878 + 3735 3086 3734 3878 + 3880 3088 3736 3879 + 3736 3088 3087 3879 + 3736 3087 3735 3879 + 3881 3089 3737 3880 + 3737 3089 3088 3880 + 3737 3088 3736 3880 + 3882 3090 3738 3881 + 3738 3090 3089 3881 + 3738 3089 3737 3881 + 3883 3091 3739 3882 + 3739 3091 3090 3882 + 3739 3090 3738 3882 + 3884 3092 3740 3883 + 3740 3092 3091 3883 + 3740 3091 3739 3883 + 3885 3093 3741 3884 + 3741 3093 3092 3884 + 3741 3092 3740 3884 + 3886 3094 3742 3885 + 3742 3094 3093 3885 + 3742 3093 3741 3885 + 3887 3095 3743 3886 + 3743 3095 3094 3886 + 3743 3094 3742 3886 + 3888 3096 3744 3887 + 3744 3096 3095 3887 + 3744 3095 3743 3887 + 3889 3097 3745 3888 + 3745 3097 3096 3888 + 3745 3096 3744 3888 + 3890 3098 3746 3889 + 3746 3098 3097 3889 + 3746 3097 3745 3889 + 3891 3711 3747 103 + 3747 3711 98 103 + 3747 98 99 103 + 3892 3712 3748 3891 + 3748 3712 3711 3891 + 3748 3711 3747 3891 + 3893 3713 3749 3892 + 3749 3713 3712 3892 + 3749 3712 3748 3892 + 3894 3714 3750 3893 + 3750 3714 3713 3893 + 3750 3713 3749 3893 + 3895 3715 3751 3894 + 3751 3715 3714 3894 + 3751 3714 3750 3894 + 3896 3716 3752 3895 + 3752 3716 3715 3895 + 3752 3715 3751 3895 + 3897 3717 3753 3896 + 3753 3717 3716 3896 + 3753 3716 3752 3896 + 3898 3718 3754 3897 + 3754 3718 3717 3897 + 3754 3717 3753 3897 + 3899 3719 3755 3898 + 3755 3719 3718 3898 + 3755 3718 3754 3898 + 3900 3720 3756 3899 + 3756 3720 3719 3899 + 3756 3719 3755 3899 + 3901 3721 3757 3900 + 3757 3721 3720 3900 + 3757 3720 3756 3900 + 3902 3722 3758 3901 + 3758 3722 3721 3901 + 3758 3721 3757 3901 + 3903 3723 3759 3902 + 3759 3723 3722 3902 + 3759 3722 3758 3902 + 3904 3724 3760 3903 + 3760 3724 3723 3903 + 3760 3723 3759 3903 + 3905 3725 3761 3904 + 3761 3725 3724 3904 + 3761 3724 3760 3904 + 3906 3726 3762 3905 + 3762 3726 3725 3905 + 3762 3725 3761 3905 + 3907 3727 3763 3906 + 3763 3727 3726 3906 + 3763 3726 3762 3906 + 3908 3728 3764 3907 + 3764 3728 3727 3907 + 3764 3727 3763 3907 + 3909 3729 3765 3908 + 3765 3729 3728 3908 + 3765 3728 3764 3908 + 3910 3730 3766 3909 + 3766 3730 3729 3909 + 3766 3729 3765 3909 + 3911 3731 3767 3910 + 3767 3731 3730 3910 + 3767 3730 3766 3910 + 3912 3732 3768 3911 + 3768 3732 3731 3911 + 3768 3731 3767 3911 + 3913 3733 3769 3912 + 3769 3733 3732 3912 + 3769 3732 3768 3912 + 3914 3734 3770 3913 + 3770 3734 3733 3913 + 3770 3733 3769 3913 + 3915 3735 3771 3914 + 3771 3735 3734 3914 + 3771 3734 3770 3914 + 3916 3736 3772 3915 + 3772 3736 3735 3915 + 3772 3735 3771 3915 + 3917 3737 3773 3916 + 3773 3737 3736 3916 + 3773 3736 3772 3916 + 3918 3738 3774 3917 + 3774 3738 3737 3917 + 3774 3737 3773 3917 + 3919 3739 3775 3918 + 3775 3739 3738 3918 + 3775 3738 3774 3918 + 3920 3740 3776 3919 + 3776 3740 3739 3919 + 3776 3739 3775 3919 + 3921 3741 3777 3920 + 3777 3741 3740 3920 + 3777 3740 3776 3920 + 3922 3742 3778 3921 + 3778 3742 3741 3921 + 3778 3741 3777 3921 + 3923 3743 3779 3922 + 3779 3743 3742 3922 + 3779 3742 3778 3922 + 3924 3744 3780 3923 + 3780 3744 3743 3923 + 3780 3743 3779 3923 + 3925 3745 3781 3924 + 3781 3745 3744 3924 + 3781 3744 3780 3924 + 3926 3746 3782 3925 + 3782 3746 3745 3925 + 3782 3745 3781 3925 + 3927 3747 3783 104 + 3783 3747 99 104 + 3783 99 100 104 + 3928 3748 3784 3927 + 3784 3748 3747 3927 + 3784 3747 3783 3927 + 3929 3749 3785 3928 + 3785 3749 3748 3928 + 3785 3748 3784 3928 + 3930 3750 3786 3929 + 3786 3750 3749 3929 + 3786 3749 3785 3929 + 3931 3751 3787 3930 + 3787 3751 3750 3930 + 3787 3750 3786 3930 + 3932 3752 3788 3931 + 3788 3752 3751 3931 + 3788 3751 3787 3931 + 3933 3753 3789 3932 + 3789 3753 3752 3932 + 3789 3752 3788 3932 + 3934 3754 3790 3933 + 3790 3754 3753 3933 + 3790 3753 3789 3933 + 3935 3755 3791 3934 + 3791 3755 3754 3934 + 3791 3754 3790 3934 + 3936 3756 3792 3935 + 3792 3756 3755 3935 + 3792 3755 3791 3935 + 3937 3757 3793 3936 + 3793 3757 3756 3936 + 3793 3756 3792 3936 + 3938 3758 3794 3937 + 3794 3758 3757 3937 + 3794 3757 3793 3937 + 3939 3759 3795 3938 + 3795 3759 3758 3938 + 3795 3758 3794 3938 + 3940 3760 3796 3939 + 3796 3760 3759 3939 + 3796 3759 3795 3939 + 3941 3761 3797 3940 + 3797 3761 3760 3940 + 3797 3760 3796 3940 + 3942 3762 3798 3941 + 3798 3762 3761 3941 + 3798 3761 3797 3941 + 3943 3763 3799 3942 + 3799 3763 3762 3942 + 3799 3762 3798 3942 + 3944 3764 3800 3943 + 3800 3764 3763 3943 + 3800 3763 3799 3943 + 3945 3765 3801 3944 + 3801 3765 3764 3944 + 3801 3764 3800 3944 + 3946 3766 3802 3945 + 3802 3766 3765 3945 + 3802 3765 3801 3945 + 3947 3767 3803 3946 + 3803 3767 3766 3946 + 3803 3766 3802 3946 + 3948 3768 3804 3947 + 3804 3768 3767 3947 + 3804 3767 3803 3947 + 3949 3769 3805 3948 + 3805 3769 3768 3948 + 3805 3768 3804 3948 + 3950 3770 3806 3949 + 3806 3770 3769 3949 + 3806 3769 3805 3949 + 3951 3771 3807 3950 + 3807 3771 3770 3950 + 3807 3770 3806 3950 + 3952 3772 3808 3951 + 3808 3772 3771 3951 + 3808 3771 3807 3951 + 3953 3773 3809 3952 + 3809 3773 3772 3952 + 3809 3772 3808 3952 + 3954 3774 3810 3953 + 3810 3774 3773 3953 + 3810 3773 3809 3953 + 3955 3775 3811 3954 + 3811 3775 3774 3954 + 3811 3774 3810 3954 + 3956 3776 3812 3955 + 3812 3776 3775 3955 + 3812 3775 3811 3955 + 3957 3777 3813 3956 + 3813 3777 3776 3956 + 3813 3776 3812 3956 + 3958 3778 3814 3957 + 3814 3778 3777 3957 + 3814 3777 3813 3957 + 3959 3779 3815 3958 + 3815 3779 3778 3958 + 3815 3778 3814 3958 + 3960 3780 3816 3959 + 3816 3780 3779 3959 + 3816 3779 3815 3959 + 3961 3781 3817 3960 + 3817 3781 3780 3960 + 3817 3780 3816 3960 + 3962 3782 3818 3961 + 3818 3782 3781 3961 + 3818 3781 3817 3961 + 3963 3783 3819 105 + 3819 3783 100 105 + 3819 100 101 105 + 3964 3784 3820 3963 + 3820 3784 3783 3963 + 3820 3783 3819 3963 + 3965 3785 3821 3964 + 3821 3785 3784 3964 + 3821 3784 3820 3964 + 3966 3786 3822 3965 + 3822 3786 3785 3965 + 3822 3785 3821 3965 + 3967 3787 3823 3966 + 3823 3787 3786 3966 + 3823 3786 3822 3966 + 3968 3788 3824 3967 + 3824 3788 3787 3967 + 3824 3787 3823 3967 + 3969 3789 3825 3968 + 3825 3789 3788 3968 + 3825 3788 3824 3968 + 3970 3790 3826 3969 + 3826 3790 3789 3969 + 3826 3789 3825 3969 + 3971 3791 3827 3970 + 3827 3791 3790 3970 + 3827 3790 3826 3970 + 3972 3792 3828 3971 + 3828 3792 3791 3971 + 3828 3791 3827 3971 + 3973 3793 3829 3972 + 3829 3793 3792 3972 + 3829 3792 3828 3972 + 3974 3794 3830 3973 + 3830 3794 3793 3973 + 3830 3793 3829 3973 + 3975 3795 3831 3974 + 3831 3795 3794 3974 + 3831 3794 3830 3974 + 3976 3796 3832 3975 + 3832 3796 3795 3975 + 3832 3795 3831 3975 + 3977 3797 3833 3976 + 3833 3797 3796 3976 + 3833 3796 3832 3976 + 3978 3798 3834 3977 + 3834 3798 3797 3977 + 3834 3797 3833 3977 + 3979 3799 3835 3978 + 3835 3799 3798 3978 + 3835 3798 3834 3978 + 3980 3800 3836 3979 + 3836 3800 3799 3979 + 3836 3799 3835 3979 + 3981 3801 3837 3980 + 3837 3801 3800 3980 + 3837 3800 3836 3980 + 3982 3802 3838 3981 + 3838 3802 3801 3981 + 3838 3801 3837 3981 + 3983 3803 3839 3982 + 3839 3803 3802 3982 + 3839 3802 3838 3982 + 3984 3804 3840 3983 + 3840 3804 3803 3983 + 3840 3803 3839 3983 + 3985 3805 3841 3984 + 3841 3805 3804 3984 + 3841 3804 3840 3984 + 3986 3806 3842 3985 + 3842 3806 3805 3985 + 3842 3805 3841 3985 + 3987 3807 3843 3986 + 3843 3807 3806 3986 + 3843 3806 3842 3986 + 3988 3808 3844 3987 + 3844 3808 3807 3987 + 3844 3807 3843 3987 + 3989 3809 3845 3988 + 3845 3809 3808 3988 + 3845 3808 3844 3988 + 3990 3810 3846 3989 + 3846 3810 3809 3989 + 3846 3809 3845 3989 + 3991 3811 3847 3990 + 3847 3811 3810 3990 + 3847 3810 3846 3990 + 3992 3812 3848 3991 + 3848 3812 3811 3991 + 3848 3811 3847 3991 + 3993 3813 3849 3992 + 3849 3813 3812 3992 + 3849 3812 3848 3992 + 3994 3814 3850 3993 + 3850 3814 3813 3993 + 3850 3813 3849 3993 + 3995 3815 3851 3994 + 3851 3815 3814 3994 + 3851 3814 3850 3994 + 3996 3816 3852 3995 + 3852 3816 3815 3995 + 3852 3815 3851 3995 + 3997 3817 3853 3996 + 3853 3817 3816 3996 + 3853 3816 3852 3996 + 3998 3818 3854 3997 + 3854 3818 3817 3997 + 3854 3817 3853 3997 + 85 91 107 3243 + 3459 4035 91 3243 + 4035 107 91 3243 + 3243 3459 4035 3244 + 3460 4036 3459 3244 + 4036 4035 3459 3244 + 3244 3460 4036 3245 + 3461 4037 3460 3245 + 4037 4036 3460 3245 + 3245 3461 4037 3246 + 3462 4038 3461 3246 + 4038 4037 3461 3246 + 3246 3462 4038 3247 + 3463 4039 3462 3247 + 4039 4038 3462 3247 + 3247 3463 4039 3248 + 3464 4040 3463 3248 + 4040 4039 3463 3248 + 3248 3464 4040 3249 + 3465 4041 3464 3249 + 4041 4040 3464 3249 + 3249 3465 4041 3250 + 3466 4042 3465 3250 + 4042 4041 3465 3250 + 3250 3466 4042 3251 + 3467 4043 3466 3251 + 4043 4042 3466 3251 + 3251 3467 4043 3252 + 3468 4044 3467 3252 + 4044 4043 3467 3252 + 3252 3468 4044 3253 + 3469 4045 3468 3253 + 4045 4044 3468 3253 + 3253 3469 4045 3254 + 3470 4046 3469 3254 + 4046 4045 3469 3254 + 3254 3470 4046 3255 + 3471 4047 3470 3255 + 4047 4046 3470 3255 + 3255 3471 4047 3256 + 3472 4048 3471 3256 + 4048 4047 3471 3256 + 3256 3472 4048 3257 + 3473 4049 3472 3257 + 4049 4048 3472 3257 + 3257 3473 4049 3258 + 3474 4050 3473 3258 + 4050 4049 3473 3258 + 3258 3474 4050 3259 + 3475 4051 3474 3259 + 4051 4050 3474 3259 + 3259 3475 4051 3260 + 3476 4052 3475 3260 + 4052 4051 3475 3260 + 3260 3476 4052 3261 + 3477 4053 3476 3261 + 4053 4052 3476 3261 + 3261 3477 4053 3262 + 3478 4054 3477 3262 + 4054 4053 3477 3262 + 3262 3478 4054 3263 + 3479 4055 3478 3263 + 4055 4054 3478 3263 + 3263 3479 4055 3264 + 3480 4056 3479 3264 + 4056 4055 3479 3264 + 3264 3480 4056 3265 + 3481 4057 3480 3265 + 4057 4056 3480 3265 + 3265 3481 4057 3266 + 3482 4058 3481 3266 + 4058 4057 3481 3266 + 3266 3482 4058 3267 + 3483 4059 3482 3267 + 4059 4058 3482 3267 + 3267 3483 4059 3268 + 3484 4060 3483 3268 + 4060 4059 3483 3268 + 3268 3484 4060 3269 + 3485 4061 3484 3269 + 4061 4060 3484 3269 + 3269 3485 4061 3270 + 3486 4062 3485 3270 + 4062 4061 3485 3270 + 3270 3486 4062 3271 + 3487 4063 3486 3271 + 4063 4062 3486 3271 + 3271 3487 4063 3272 + 3488 4064 3487 3272 + 4064 4063 3487 3272 + 3272 3488 4064 3273 + 3489 4065 3488 3273 + 4065 4064 3488 3273 + 3273 3489 4065 3274 + 3490 4066 3489 3274 + 4066 4065 3489 3274 + 3274 3490 4066 3275 + 3491 4067 3490 3275 + 4067 4066 3490 3275 + 3275 3491 4067 3276 + 3492 4068 3491 3276 + 4068 4067 3491 3276 + 3276 3492 4068 3277 + 3493 4069 3492 3277 + 4069 4068 3492 3277 + 3277 3493 4069 3278 + 3494 4070 3493 3278 + 4070 4069 3493 3278 + 102 107 108 3855 + 4035 4071 107 3855 + 4071 108 107 3855 + 3855 4035 4071 3856 + 4036 4072 4035 3856 + 4072 4071 4035 3856 + 3856 4036 4072 3857 + 4037 4073 4036 3857 + 4073 4072 4036 3857 + 3857 4037 4073 3858 + 4038 4074 4037 3858 + 4074 4073 4037 3858 + 3858 4038 4074 3859 + 4039 4075 4038 3859 + 4075 4074 4038 3859 + 3859 4039 4075 3860 + 4040 4076 4039 3860 + 4076 4075 4039 3860 + 3860 4040 4076 3861 + 4041 4077 4040 3861 + 4077 4076 4040 3861 + 3861 4041 4077 3862 + 4042 4078 4041 3862 + 4078 4077 4041 3862 + 3862 4042 4078 3863 + 4043 4079 4042 3863 + 4079 4078 4042 3863 + 3863 4043 4079 3864 + 4044 4080 4043 3864 + 4080 4079 4043 3864 + 3864 4044 4080 3865 + 4045 4081 4044 3865 + 4081 4080 4044 3865 + 3865 4045 4081 3866 + 4046 4082 4045 3866 + 4082 4081 4045 3866 + 3866 4046 4082 3867 + 4047 4083 4046 3867 + 4083 4082 4046 3867 + 3867 4047 4083 3868 + 4048 4084 4047 3868 + 4084 4083 4047 3868 + 3868 4048 4084 3869 + 4049 4085 4048 3869 + 4085 4084 4048 3869 + 3869 4049 4085 3870 + 4050 4086 4049 3870 + 4086 4085 4049 3870 + 3870 4050 4086 3871 + 4051 4087 4050 3871 + 4087 4086 4050 3871 + 3871 4051 4087 3872 + 4052 4088 4051 3872 + 4088 4087 4051 3872 + 3872 4052 4088 3873 + 4053 4089 4052 3873 + 4089 4088 4052 3873 + 3873 4053 4089 3874 + 4054 4090 4053 3874 + 4090 4089 4053 3874 + 3874 4054 4090 3875 + 4055 4091 4054 3875 + 4091 4090 4054 3875 + 3875 4055 4091 3876 + 4056 4092 4055 3876 + 4092 4091 4055 3876 + 3876 4056 4092 3877 + 4057 4093 4056 3877 + 4093 4092 4056 3877 + 3877 4057 4093 3878 + 4058 4094 4057 3878 + 4094 4093 4057 3878 + 3878 4058 4094 3879 + 4059 4095 4058 3879 + 4095 4094 4058 3879 + 3879 4059 4095 3880 + 4060 4096 4059 3880 + 4096 4095 4059 3880 + 3880 4060 4096 3881 + 4061 4097 4060 3881 + 4097 4096 4060 3881 + 3881 4061 4097 3882 + 4062 4098 4061 3882 + 4098 4097 4061 3882 + 3882 4062 4098 3883 + 4063 4099 4062 3883 + 4099 4098 4062 3883 + 3883 4063 4099 3884 + 4064 4100 4063 3884 + 4100 4099 4063 3884 + 3884 4064 4100 3885 + 4065 4101 4064 3885 + 4101 4100 4064 3885 + 3885 4065 4101 3886 + 4066 4102 4065 3886 + 4102 4101 4065 3886 + 3886 4066 4102 3887 + 4067 4103 4066 3887 + 4103 4102 4066 3887 + 3887 4067 4103 3888 + 4068 4104 4067 3888 + 4104 4103 4067 3888 + 3888 4068 4104 3889 + 4069 4105 4068 3889 + 4105 4104 4068 3889 + 3889 4069 4105 3890 + 4070 4106 4069 3890 + 4106 4105 4069 3890 + 103 108 109 3891 + 4071 4107 108 3891 + 4107 109 108 3891 + 3891 4071 4107 3892 + 4072 4108 4071 3892 + 4108 4107 4071 3892 + 3892 4072 4108 3893 + 4073 4109 4072 3893 + 4109 4108 4072 3893 + 3893 4073 4109 3894 + 4074 4110 4073 3894 + 4110 4109 4073 3894 + 3894 4074 4110 3895 + 4075 4111 4074 3895 + 4111 4110 4074 3895 + 3895 4075 4111 3896 + 4076 4112 4075 3896 + 4112 4111 4075 3896 + 3896 4076 4112 3897 + 4077 4113 4076 3897 + 4113 4112 4076 3897 + 3897 4077 4113 3898 + 4078 4114 4077 3898 + 4114 4113 4077 3898 + 3898 4078 4114 3899 + 4079 4115 4078 3899 + 4115 4114 4078 3899 + 3899 4079 4115 3900 + 4080 4116 4079 3900 + 4116 4115 4079 3900 + 3900 4080 4116 3901 + 4081 4117 4080 3901 + 4117 4116 4080 3901 + 3901 4081 4117 3902 + 4082 4118 4081 3902 + 4118 4117 4081 3902 + 3902 4082 4118 3903 + 4083 4119 4082 3903 + 4119 4118 4082 3903 + 3903 4083 4119 3904 + 4084 4120 4083 3904 + 4120 4119 4083 3904 + 3904 4084 4120 3905 + 4085 4121 4084 3905 + 4121 4120 4084 3905 + 3905 4085 4121 3906 + 4086 4122 4085 3906 + 4122 4121 4085 3906 + 3906 4086 4122 3907 + 4087 4123 4086 3907 + 4123 4122 4086 3907 + 3907 4087 4123 3908 + 4088 4124 4087 3908 + 4124 4123 4087 3908 + 3908 4088 4124 3909 + 4089 4125 4088 3909 + 4125 4124 4088 3909 + 3909 4089 4125 3910 + 4090 4126 4089 3910 + 4126 4125 4089 3910 + 3910 4090 4126 3911 + 4091 4127 4090 3911 + 4127 4126 4090 3911 + 3911 4091 4127 3912 + 4092 4128 4091 3912 + 4128 4127 4091 3912 + 3912 4092 4128 3913 + 4093 4129 4092 3913 + 4129 4128 4092 3913 + 3913 4093 4129 3914 + 4094 4130 4093 3914 + 4130 4129 4093 3914 + 3914 4094 4130 3915 + 4095 4131 4094 3915 + 4131 4130 4094 3915 + 3915 4095 4131 3916 + 4096 4132 4095 3916 + 4132 4131 4095 3916 + 3916 4096 4132 3917 + 4097 4133 4096 3917 + 4133 4132 4096 3917 + 3917 4097 4133 3918 + 4098 4134 4097 3918 + 4134 4133 4097 3918 + 3918 4098 4134 3919 + 4099 4135 4098 3919 + 4135 4134 4098 3919 + 3919 4099 4135 3920 + 4100 4136 4099 3920 + 4136 4135 4099 3920 + 3920 4100 4136 3921 + 4101 4137 4100 3921 + 4137 4136 4100 3921 + 3921 4101 4137 3922 + 4102 4138 4101 3922 + 4138 4137 4101 3922 + 3922 4102 4138 3923 + 4103 4139 4102 3923 + 4139 4138 4102 3923 + 3923 4103 4139 3924 + 4104 4140 4103 3924 + 4140 4139 4103 3924 + 3924 4104 4140 3925 + 4105 4141 4104 3925 + 4141 4140 4104 3925 + 3925 4105 4141 3926 + 4106 4142 4105 3926 + 4142 4141 4105 3926 + 104 109 110 3927 + 4107 4143 109 3927 + 4143 110 109 3927 + 3927 4107 4143 3928 + 4108 4144 4107 3928 + 4144 4143 4107 3928 + 3928 4108 4144 3929 + 4109 4145 4108 3929 + 4145 4144 4108 3929 + 3929 4109 4145 3930 + 4110 4146 4109 3930 + 4146 4145 4109 3930 + 3930 4110 4146 3931 + 4111 4147 4110 3931 + 4147 4146 4110 3931 + 3931 4111 4147 3932 + 4112 4148 4111 3932 + 4148 4147 4111 3932 + 3932 4112 4148 3933 + 4113 4149 4112 3933 + 4149 4148 4112 3933 + 3933 4113 4149 3934 + 4114 4150 4113 3934 + 4150 4149 4113 3934 + 3934 4114 4150 3935 + 4115 4151 4114 3935 + 4151 4150 4114 3935 + 3935 4115 4151 3936 + 4116 4152 4115 3936 + 4152 4151 4115 3936 + 3936 4116 4152 3937 + 4117 4153 4116 3937 + 4153 4152 4116 3937 + 3937 4117 4153 3938 + 4118 4154 4117 3938 + 4154 4153 4117 3938 + 3938 4118 4154 3939 + 4119 4155 4118 3939 + 4155 4154 4118 3939 + 3939 4119 4155 3940 + 4120 4156 4119 3940 + 4156 4155 4119 3940 + 3940 4120 4156 3941 + 4121 4157 4120 3941 + 4157 4156 4120 3941 + 3941 4121 4157 3942 + 4122 4158 4121 3942 + 4158 4157 4121 3942 + 3942 4122 4158 3943 + 4123 4159 4122 3943 + 4159 4158 4122 3943 + 3943 4123 4159 3944 + 4124 4160 4123 3944 + 4160 4159 4123 3944 + 3944 4124 4160 3945 + 4125 4161 4124 3945 + 4161 4160 4124 3945 + 3945 4125 4161 3946 + 4126 4162 4125 3946 + 4162 4161 4125 3946 + 3946 4126 4162 3947 + 4127 4163 4126 3947 + 4163 4162 4126 3947 + 3947 4127 4163 3948 + 4128 4164 4127 3948 + 4164 4163 4127 3948 + 3948 4128 4164 3949 + 4129 4165 4128 3949 + 4165 4164 4128 3949 + 3949 4129 4165 3950 + 4130 4166 4129 3950 + 4166 4165 4129 3950 + 3950 4130 4166 3951 + 4131 4167 4130 3951 + 4167 4166 4130 3951 + 3951 4131 4167 3952 + 4132 4168 4131 3952 + 4168 4167 4131 3952 + 3952 4132 4168 3953 + 4133 4169 4132 3953 + 4169 4168 4132 3953 + 3953 4133 4169 3954 + 4134 4170 4133 3954 + 4170 4169 4133 3954 + 3954 4134 4170 3955 + 4135 4171 4134 3955 + 4171 4170 4134 3955 + 3955 4135 4171 3956 + 4136 4172 4135 3956 + 4172 4171 4135 3956 + 3956 4136 4172 3957 + 4137 4173 4136 3957 + 4173 4172 4136 3957 + 3957 4137 4173 3958 + 4138 4174 4137 3958 + 4174 4173 4137 3958 + 3958 4138 4174 3959 + 4139 4175 4138 3959 + 4175 4174 4138 3959 + 3959 4139 4175 3960 + 4140 4176 4139 3960 + 4176 4175 4139 3960 + 3960 4140 4176 3961 + 4141 4177 4140 3961 + 4177 4176 4140 3961 + 3961 4141 4177 3962 + 4142 4178 4141 3962 + 4178 4177 4141 3962 + 105 110 111 3963 + 4143 4179 110 3963 + 4179 111 110 3963 + 3963 4143 4179 3964 + 4144 4180 4143 3964 + 4180 4179 4143 3964 + 3964 4144 4180 3965 + 4145 4181 4144 3965 + 4181 4180 4144 3965 + 3965 4145 4181 3966 + 4146 4182 4145 3966 + 4182 4181 4145 3966 + 3966 4146 4182 3967 + 4147 4183 4146 3967 + 4183 4182 4146 3967 + 3967 4147 4183 3968 + 4148 4184 4147 3968 + 4184 4183 4147 3968 + 3968 4148 4184 3969 + 4149 4185 4148 3969 + 4185 4184 4148 3969 + 3969 4149 4185 3970 + 4150 4186 4149 3970 + 4186 4185 4149 3970 + 3970 4150 4186 3971 + 4151 4187 4150 3971 + 4187 4186 4150 3971 + 3971 4151 4187 3972 + 4152 4188 4151 3972 + 4188 4187 4151 3972 + 3972 4152 4188 3973 + 4153 4189 4152 3973 + 4189 4188 4152 3973 + 3973 4153 4189 3974 + 4154 4190 4153 3974 + 4190 4189 4153 3974 + 3974 4154 4190 3975 + 4155 4191 4154 3975 + 4191 4190 4154 3975 + 3975 4155 4191 3976 + 4156 4192 4155 3976 + 4192 4191 4155 3976 + 3976 4156 4192 3977 + 4157 4193 4156 3977 + 4193 4192 4156 3977 + 3977 4157 4193 3978 + 4158 4194 4157 3978 + 4194 4193 4157 3978 + 3978 4158 4194 3979 + 4159 4195 4158 3979 + 4195 4194 4158 3979 + 3979 4159 4195 3980 + 4160 4196 4159 3980 + 4196 4195 4159 3980 + 3980 4160 4196 3981 + 4161 4197 4160 3981 + 4197 4196 4160 3981 + 3981 4161 4197 3982 + 4162 4198 4161 3982 + 4198 4197 4161 3982 + 3982 4162 4198 3983 + 4163 4199 4162 3983 + 4199 4198 4162 3983 + 3983 4163 4199 3984 + 4164 4200 4163 3984 + 4200 4199 4163 3984 + 3984 4164 4200 3985 + 4165 4201 4164 3985 + 4201 4200 4164 3985 + 3985 4165 4201 3986 + 4166 4202 4165 3986 + 4202 4201 4165 3986 + 3986 4166 4202 3987 + 4167 4203 4166 3987 + 4203 4202 4166 3987 + 3987 4167 4203 3988 + 4168 4204 4167 3988 + 4204 4203 4167 3988 + 3988 4168 4204 3989 + 4169 4205 4168 3989 + 4205 4204 4168 3989 + 3989 4169 4205 3990 + 4170 4206 4169 3990 + 4206 4205 4169 3990 + 3990 4170 4206 3991 + 4171 4207 4170 3991 + 4207 4206 4170 3991 + 3991 4171 4207 3992 + 4172 4208 4171 3992 + 4208 4207 4171 3992 + 3992 4172 4208 3993 + 4173 4209 4172 3993 + 4209 4208 4172 3993 + 3993 4173 4209 3994 + 4174 4210 4173 3994 + 4210 4209 4173 3994 + 3994 4174 4210 3995 + 4175 4211 4174 3995 + 4211 4210 4174 3995 + 3995 4175 4211 3996 + 4176 4212 4175 3996 + 4212 4211 4175 3996 + 3996 4176 4212 3997 + 4177 4213 4176 3997 + 4213 4212 4176 3997 + 3997 4177 4213 3998 + 4178 4214 4177 3998 + 4214 4213 4177 3998 + 106 111 112 3999 + 4179 4215 111 3999 + 4215 112 111 3999 + 3999 4179 4215 4000 + 4180 4216 4179 4000 + 4216 4215 4179 4000 + 4000 4180 4216 4001 + 4181 4217 4180 4001 + 4217 4216 4180 4001 + 4001 4181 4217 4002 + 4182 4218 4181 4002 + 4218 4217 4181 4002 + 4002 4182 4218 4003 + 4183 4219 4182 4003 + 4219 4218 4182 4003 + 4003 4183 4219 4004 + 4184 4220 4183 4004 + 4220 4219 4183 4004 + 4004 4184 4220 4005 + 4185 4221 4184 4005 + 4221 4220 4184 4005 + 4005 4185 4221 4006 + 4186 4222 4185 4006 + 4222 4221 4185 4006 + 4006 4186 4222 4007 + 4187 4223 4186 4007 + 4223 4222 4186 4007 + 4007 4187 4223 4008 + 4188 4224 4187 4008 + 4224 4223 4187 4008 + 4008 4188 4224 4009 + 4189 4225 4188 4009 + 4225 4224 4188 4009 + 4009 4189 4225 4010 + 4190 4226 4189 4010 + 4226 4225 4189 4010 + 4010 4190 4226 4011 + 4191 4227 4190 4011 + 4227 4226 4190 4011 + 4011 4191 4227 4012 + 4192 4228 4191 4012 + 4228 4227 4191 4012 + 4012 4192 4228 4013 + 4193 4229 4192 4013 + 4229 4228 4192 4013 + 4013 4193 4229 4014 + 4194 4230 4193 4014 + 4230 4229 4193 4014 + 4014 4194 4230 4015 + 4195 4231 4194 4015 + 4231 4230 4194 4015 + 4015 4195 4231 4016 + 4196 4232 4195 4016 + 4232 4231 4195 4016 + 4016 4196 4232 4017 + 4197 4233 4196 4017 + 4233 4232 4196 4017 + 4017 4197 4233 4018 + 4198 4234 4197 4018 + 4234 4233 4197 4018 + 4018 4198 4234 4019 + 4199 4235 4198 4019 + 4235 4234 4198 4019 + 4019 4199 4235 4020 + 4200 4236 4199 4020 + 4236 4235 4199 4020 + 4020 4200 4236 4021 + 4201 4237 4200 4021 + 4237 4236 4200 4021 + 4021 4201 4237 4022 + 4202 4238 4201 4022 + 4238 4237 4201 4022 + 4022 4202 4238 4023 + 4203 4239 4202 4023 + 4239 4238 4202 4023 + 4023 4203 4239 4024 + 4204 4240 4203 4024 + 4240 4239 4203 4024 + 4024 4204 4240 4025 + 4205 4241 4204 4025 + 4241 4240 4204 4025 + 4025 4205 4241 4026 + 4206 4242 4205 4026 + 4242 4241 4205 4026 + 4026 4206 4242 4027 + 4207 4243 4206 4027 + 4243 4242 4206 4027 + 4027 4207 4243 4028 + 4208 4244 4207 4028 + 4244 4243 4207 4028 + 4028 4208 4244 4029 + 4209 4245 4208 4029 + 4245 4244 4208 4029 + 4029 4209 4245 4030 + 4210 4246 4209 4030 + 4246 4245 4209 4030 + 4030 4210 4246 4031 + 4211 4247 4210 4031 + 4247 4246 4210 4031 + 4031 4211 4247 4032 + 4212 4248 4211 4032 + 4248 4247 4211 4032 + 4032 4212 4248 4033 + 4213 4249 4212 4033 + 4249 4248 4212 4033 + 4033 4213 4249 4034 + 4214 4250 4213 4034 + 4250 4249 4213 4034 + 4035 3243 3855 107 + 3855 3243 85 107 + 3855 85 102 107 + 4036 3244 3856 4035 + 3856 3244 3243 4035 + 3856 3243 3855 4035 + 4037 3245 3857 4036 + 3857 3245 3244 4036 + 3857 3244 3856 4036 + 4038 3246 3858 4037 + 3858 3246 3245 4037 + 3858 3245 3857 4037 + 4039 3247 3859 4038 + 3859 3247 3246 4038 + 3859 3246 3858 4038 + 4040 3248 3860 4039 + 3860 3248 3247 4039 + 3860 3247 3859 4039 + 4041 3249 3861 4040 + 3861 3249 3248 4040 + 3861 3248 3860 4040 + 4042 3250 3862 4041 + 3862 3250 3249 4041 + 3862 3249 3861 4041 + 4043 3251 3863 4042 + 3863 3251 3250 4042 + 3863 3250 3862 4042 + 4044 3252 3864 4043 + 3864 3252 3251 4043 + 3864 3251 3863 4043 + 4045 3253 3865 4044 + 3865 3253 3252 4044 + 3865 3252 3864 4044 + 4046 3254 3866 4045 + 3866 3254 3253 4045 + 3866 3253 3865 4045 + 4047 3255 3867 4046 + 3867 3255 3254 4046 + 3867 3254 3866 4046 + 4048 3256 3868 4047 + 3868 3256 3255 4047 + 3868 3255 3867 4047 + 4049 3257 3869 4048 + 3869 3257 3256 4048 + 3869 3256 3868 4048 + 4050 3258 3870 4049 + 3870 3258 3257 4049 + 3870 3257 3869 4049 + 4051 3259 3871 4050 + 3871 3259 3258 4050 + 3871 3258 3870 4050 + 4052 3260 3872 4051 + 3872 3260 3259 4051 + 3872 3259 3871 4051 + 4053 3261 3873 4052 + 3873 3261 3260 4052 + 3873 3260 3872 4052 + 4054 3262 3874 4053 + 3874 3262 3261 4053 + 3874 3261 3873 4053 + 4055 3263 3875 4054 + 3875 3263 3262 4054 + 3875 3262 3874 4054 + 4056 3264 3876 4055 + 3876 3264 3263 4055 + 3876 3263 3875 4055 + 4057 3265 3877 4056 + 3877 3265 3264 4056 + 3877 3264 3876 4056 + 4058 3266 3878 4057 + 3878 3266 3265 4057 + 3878 3265 3877 4057 + 4059 3267 3879 4058 + 3879 3267 3266 4058 + 3879 3266 3878 4058 + 4060 3268 3880 4059 + 3880 3268 3267 4059 + 3880 3267 3879 4059 + 4061 3269 3881 4060 + 3881 3269 3268 4060 + 3881 3268 3880 4060 + 4062 3270 3882 4061 + 3882 3270 3269 4061 + 3882 3269 3881 4061 + 4063 3271 3883 4062 + 3883 3271 3270 4062 + 3883 3270 3882 4062 + 4064 3272 3884 4063 + 3884 3272 3271 4063 + 3884 3271 3883 4063 + 4065 3273 3885 4064 + 3885 3273 3272 4064 + 3885 3272 3884 4064 + 4066 3274 3886 4065 + 3886 3274 3273 4065 + 3886 3273 3885 4065 + 4067 3275 3887 4066 + 3887 3275 3274 4066 + 3887 3274 3886 4066 + 4068 3276 3888 4067 + 3888 3276 3275 4067 + 3888 3275 3887 4067 + 4069 3277 3889 4068 + 3889 3277 3276 4068 + 3889 3276 3888 4068 + 4070 3278 3890 4069 + 3890 3278 3277 4069 + 3890 3277 3889 4069 + 4071 3855 3891 108 + 3891 3855 102 108 + 3891 102 103 108 + 4072 3856 3892 4071 + 3892 3856 3855 4071 + 3892 3855 3891 4071 + 4073 3857 3893 4072 + 3893 3857 3856 4072 + 3893 3856 3892 4072 + 4074 3858 3894 4073 + 3894 3858 3857 4073 + 3894 3857 3893 4073 + 4075 3859 3895 4074 + 3895 3859 3858 4074 + 3895 3858 3894 4074 + 4076 3860 3896 4075 + 3896 3860 3859 4075 + 3896 3859 3895 4075 + 4077 3861 3897 4076 + 3897 3861 3860 4076 + 3897 3860 3896 4076 + 4078 3862 3898 4077 + 3898 3862 3861 4077 + 3898 3861 3897 4077 + 4079 3863 3899 4078 + 3899 3863 3862 4078 + 3899 3862 3898 4078 + 4080 3864 3900 4079 + 3900 3864 3863 4079 + 3900 3863 3899 4079 + 4081 3865 3901 4080 + 3901 3865 3864 4080 + 3901 3864 3900 4080 + 4082 3866 3902 4081 + 3902 3866 3865 4081 + 3902 3865 3901 4081 + 4083 3867 3903 4082 + 3903 3867 3866 4082 + 3903 3866 3902 4082 + 4084 3868 3904 4083 + 3904 3868 3867 4083 + 3904 3867 3903 4083 + 4085 3869 3905 4084 + 3905 3869 3868 4084 + 3905 3868 3904 4084 + 4086 3870 3906 4085 + 3906 3870 3869 4085 + 3906 3869 3905 4085 + 4087 3871 3907 4086 + 3907 3871 3870 4086 + 3907 3870 3906 4086 + 4088 3872 3908 4087 + 3908 3872 3871 4087 + 3908 3871 3907 4087 + 4089 3873 3909 4088 + 3909 3873 3872 4088 + 3909 3872 3908 4088 + 4090 3874 3910 4089 + 3910 3874 3873 4089 + 3910 3873 3909 4089 + 4091 3875 3911 4090 + 3911 3875 3874 4090 + 3911 3874 3910 4090 + 4092 3876 3912 4091 + 3912 3876 3875 4091 + 3912 3875 3911 4091 + 4093 3877 3913 4092 + 3913 3877 3876 4092 + 3913 3876 3912 4092 + 4094 3878 3914 4093 + 3914 3878 3877 4093 + 3914 3877 3913 4093 + 4095 3879 3915 4094 + 3915 3879 3878 4094 + 3915 3878 3914 4094 + 4096 3880 3916 4095 + 3916 3880 3879 4095 + 3916 3879 3915 4095 + 4097 3881 3917 4096 + 3917 3881 3880 4096 + 3917 3880 3916 4096 + 4098 3882 3918 4097 + 3918 3882 3881 4097 + 3918 3881 3917 4097 + 4099 3883 3919 4098 + 3919 3883 3882 4098 + 3919 3882 3918 4098 + 4100 3884 3920 4099 + 3920 3884 3883 4099 + 3920 3883 3919 4099 + 4101 3885 3921 4100 + 3921 3885 3884 4100 + 3921 3884 3920 4100 + 4102 3886 3922 4101 + 3922 3886 3885 4101 + 3922 3885 3921 4101 + 4103 3887 3923 4102 + 3923 3887 3886 4102 + 3923 3886 3922 4102 + 4104 3888 3924 4103 + 3924 3888 3887 4103 + 3924 3887 3923 4103 + 4105 3889 3925 4104 + 3925 3889 3888 4104 + 3925 3888 3924 4104 + 4106 3890 3926 4105 + 3926 3890 3889 4105 + 3926 3889 3925 4105 + 4107 3891 3927 109 + 3927 3891 103 109 + 3927 103 104 109 + 4108 3892 3928 4107 + 3928 3892 3891 4107 + 3928 3891 3927 4107 + 4109 3893 3929 4108 + 3929 3893 3892 4108 + 3929 3892 3928 4108 + 4110 3894 3930 4109 + 3930 3894 3893 4109 + 3930 3893 3929 4109 + 4111 3895 3931 4110 + 3931 3895 3894 4110 + 3931 3894 3930 4110 + 4112 3896 3932 4111 + 3932 3896 3895 4111 + 3932 3895 3931 4111 + 4113 3897 3933 4112 + 3933 3897 3896 4112 + 3933 3896 3932 4112 + 4114 3898 3934 4113 + 3934 3898 3897 4113 + 3934 3897 3933 4113 + 4115 3899 3935 4114 + 3935 3899 3898 4114 + 3935 3898 3934 4114 + 4116 3900 3936 4115 + 3936 3900 3899 4115 + 3936 3899 3935 4115 + 4117 3901 3937 4116 + 3937 3901 3900 4116 + 3937 3900 3936 4116 + 4118 3902 3938 4117 + 3938 3902 3901 4117 + 3938 3901 3937 4117 + 4119 3903 3939 4118 + 3939 3903 3902 4118 + 3939 3902 3938 4118 + 4120 3904 3940 4119 + 3940 3904 3903 4119 + 3940 3903 3939 4119 + 4121 3905 3941 4120 + 3941 3905 3904 4120 + 3941 3904 3940 4120 + 4122 3906 3942 4121 + 3942 3906 3905 4121 + 3942 3905 3941 4121 + 4123 3907 3943 4122 + 3943 3907 3906 4122 + 3943 3906 3942 4122 + 4124 3908 3944 4123 + 3944 3908 3907 4123 + 3944 3907 3943 4123 + 4125 3909 3945 4124 + 3945 3909 3908 4124 + 3945 3908 3944 4124 + 4126 3910 3946 4125 + 3946 3910 3909 4125 + 3946 3909 3945 4125 + 4127 3911 3947 4126 + 3947 3911 3910 4126 + 3947 3910 3946 4126 + 4128 3912 3948 4127 + 3948 3912 3911 4127 + 3948 3911 3947 4127 + 4129 3913 3949 4128 + 3949 3913 3912 4128 + 3949 3912 3948 4128 + 4130 3914 3950 4129 + 3950 3914 3913 4129 + 3950 3913 3949 4129 + 4131 3915 3951 4130 + 3951 3915 3914 4130 + 3951 3914 3950 4130 + 4132 3916 3952 4131 + 3952 3916 3915 4131 + 3952 3915 3951 4131 + 4133 3917 3953 4132 + 3953 3917 3916 4132 + 3953 3916 3952 4132 + 4134 3918 3954 4133 + 3954 3918 3917 4133 + 3954 3917 3953 4133 + 4135 3919 3955 4134 + 3955 3919 3918 4134 + 3955 3918 3954 4134 + 4136 3920 3956 4135 + 3956 3920 3919 4135 + 3956 3919 3955 4135 + 4137 3921 3957 4136 + 3957 3921 3920 4136 + 3957 3920 3956 4136 + 4138 3922 3958 4137 + 3958 3922 3921 4137 + 3958 3921 3957 4137 + 4139 3923 3959 4138 + 3959 3923 3922 4138 + 3959 3922 3958 4138 + 4140 3924 3960 4139 + 3960 3924 3923 4139 + 3960 3923 3959 4139 + 4141 3925 3961 4140 + 3961 3925 3924 4140 + 3961 3924 3960 4140 + 4142 3926 3962 4141 + 3962 3926 3925 4141 + 3962 3925 3961 4141 + 4143 3927 3963 110 + 3963 3927 104 110 + 3963 104 105 110 + 4144 3928 3964 4143 + 3964 3928 3927 4143 + 3964 3927 3963 4143 + 4145 3929 3965 4144 + 3965 3929 3928 4144 + 3965 3928 3964 4144 + 4146 3930 3966 4145 + 3966 3930 3929 4145 + 3966 3929 3965 4145 + 4147 3931 3967 4146 + 3967 3931 3930 4146 + 3967 3930 3966 4146 + 4148 3932 3968 4147 + 3968 3932 3931 4147 + 3968 3931 3967 4147 + 4149 3933 3969 4148 + 3969 3933 3932 4148 + 3969 3932 3968 4148 + 4150 3934 3970 4149 + 3970 3934 3933 4149 + 3970 3933 3969 4149 + 4151 3935 3971 4150 + 3971 3935 3934 4150 + 3971 3934 3970 4150 + 4152 3936 3972 4151 + 3972 3936 3935 4151 + 3972 3935 3971 4151 + 4153 3937 3973 4152 + 3973 3937 3936 4152 + 3973 3936 3972 4152 + 4154 3938 3974 4153 + 3974 3938 3937 4153 + 3974 3937 3973 4153 + 4155 3939 3975 4154 + 3975 3939 3938 4154 + 3975 3938 3974 4154 + 4156 3940 3976 4155 + 3976 3940 3939 4155 + 3976 3939 3975 4155 + 4157 3941 3977 4156 + 3977 3941 3940 4156 + 3977 3940 3976 4156 + 4158 3942 3978 4157 + 3978 3942 3941 4157 + 3978 3941 3977 4157 + 4159 3943 3979 4158 + 3979 3943 3942 4158 + 3979 3942 3978 4158 + 4160 3944 3980 4159 + 3980 3944 3943 4159 + 3980 3943 3979 4159 + 4161 3945 3981 4160 + 3981 3945 3944 4160 + 3981 3944 3980 4160 + 4162 3946 3982 4161 + 3982 3946 3945 4161 + 3982 3945 3981 4161 + 4163 3947 3983 4162 + 3983 3947 3946 4162 + 3983 3946 3982 4162 + 4164 3948 3984 4163 + 3984 3948 3947 4163 + 3984 3947 3983 4163 + 4165 3949 3985 4164 + 3985 3949 3948 4164 + 3985 3948 3984 4164 + 4166 3950 3986 4165 + 3986 3950 3949 4165 + 3986 3949 3985 4165 + 4167 3951 3987 4166 + 3987 3951 3950 4166 + 3987 3950 3986 4166 + 4168 3952 3988 4167 + 3988 3952 3951 4167 + 3988 3951 3987 4167 + 4169 3953 3989 4168 + 3989 3953 3952 4168 + 3989 3952 3988 4168 + 4170 3954 3990 4169 + 3990 3954 3953 4169 + 3990 3953 3989 4169 + 4171 3955 3991 4170 + 3991 3955 3954 4170 + 3991 3954 3990 4170 + 4172 3956 3992 4171 + 3992 3956 3955 4171 + 3992 3955 3991 4171 + 4173 3957 3993 4172 + 3993 3957 3956 4172 + 3993 3956 3992 4172 + 4174 3958 3994 4173 + 3994 3958 3957 4173 + 3994 3957 3993 4173 + 4175 3959 3995 4174 + 3995 3959 3958 4174 + 3995 3958 3994 4174 + 4176 3960 3996 4175 + 3996 3960 3959 4175 + 3996 3959 3995 4175 + 4177 3961 3997 4176 + 3997 3961 3960 4176 + 3997 3960 3996 4176 + 4178 3962 3998 4177 + 3998 3962 3961 4177 + 3998 3961 3997 4177 + 4179 3963 3999 111 + 3999 3963 105 111 + 3999 105 106 111 + 4180 3964 4000 4179 + 4000 3964 3963 4179 + 4000 3963 3999 4179 + 4181 3965 4001 4180 + 4001 3965 3964 4180 + 4001 3964 4000 4180 + 4182 3966 4002 4181 + 4002 3966 3965 4181 + 4002 3965 4001 4181 + 4183 3967 4003 4182 + 4003 3967 3966 4182 + 4003 3966 4002 4182 + 4184 3968 4004 4183 + 4004 3968 3967 4183 + 4004 3967 4003 4183 + 4185 3969 4005 4184 + 4005 3969 3968 4184 + 4005 3968 4004 4184 + 4186 3970 4006 4185 + 4006 3970 3969 4185 + 4006 3969 4005 4185 + 4187 3971 4007 4186 + 4007 3971 3970 4186 + 4007 3970 4006 4186 + 4188 3972 4008 4187 + 4008 3972 3971 4187 + 4008 3971 4007 4187 + 4189 3973 4009 4188 + 4009 3973 3972 4188 + 4009 3972 4008 4188 + 4190 3974 4010 4189 + 4010 3974 3973 4189 + 4010 3973 4009 4189 + 4191 3975 4011 4190 + 4011 3975 3974 4190 + 4011 3974 4010 4190 + 4192 3976 4012 4191 + 4012 3976 3975 4191 + 4012 3975 4011 4191 + 4193 3977 4013 4192 + 4013 3977 3976 4192 + 4013 3976 4012 4192 + 4194 3978 4014 4193 + 4014 3978 3977 4193 + 4014 3977 4013 4193 + 4195 3979 4015 4194 + 4015 3979 3978 4194 + 4015 3978 4014 4194 + 4196 3980 4016 4195 + 4016 3980 3979 4195 + 4016 3979 4015 4195 + 4197 3981 4017 4196 + 4017 3981 3980 4196 + 4017 3980 4016 4196 + 4198 3982 4018 4197 + 4018 3982 3981 4197 + 4018 3981 4017 4197 + 4199 3983 4019 4198 + 4019 3983 3982 4198 + 4019 3982 4018 4198 + 4200 3984 4020 4199 + 4020 3984 3983 4199 + 4020 3983 4019 4199 + 4201 3985 4021 4200 + 4021 3985 3984 4200 + 4021 3984 4020 4200 + 4202 3986 4022 4201 + 4022 3986 3985 4201 + 4022 3985 4021 4201 + 4203 3987 4023 4202 + 4023 3987 3986 4202 + 4023 3986 4022 4202 + 4204 3988 4024 4203 + 4024 3988 3987 4203 + 4024 3987 4023 4203 + 4205 3989 4025 4204 + 4025 3989 3988 4204 + 4025 3988 4024 4204 + 4206 3990 4026 4205 + 4026 3990 3989 4205 + 4026 3989 4025 4205 + 4207 3991 4027 4206 + 4027 3991 3990 4206 + 4027 3990 4026 4206 + 4208 3992 4028 4207 + 4028 3992 3991 4207 + 4028 3991 4027 4207 + 4209 3993 4029 4208 + 4029 3993 3992 4208 + 4029 3992 4028 4208 + 4210 3994 4030 4209 + 4030 3994 3993 4209 + 4030 3993 4029 4209 + 4211 3995 4031 4210 + 4031 3995 3994 4210 + 4031 3994 4030 4210 + 4212 3996 4032 4211 + 4032 3996 3995 4211 + 4032 3995 4031 4211 + 4213 3997 4033 4212 + 4033 3997 3996 4212 + 4033 3996 4032 4212 + 4214 3998 4034 4213 + 4034 3998 3997 4213 + 4034 3997 4033 4213 + 1 92 2 219 + 3495 255 92 219 + 255 2 92 219 + 219 3495 255 220 + 3496 256 3495 220 + 256 255 3495 220 + 220 3496 256 221 + 3497 257 3496 221 + 257 256 3496 221 + 221 3497 257 222 + 3498 258 3497 222 + 258 257 3497 222 + 222 3498 258 223 + 3499 259 3498 223 + 259 258 3498 223 + 223 3499 259 224 + 3500 260 3499 224 + 260 259 3499 224 + 224 3500 260 225 + 3501 261 3500 225 + 261 260 3500 225 + 225 3501 261 226 + 3502 262 3501 226 + 262 261 3501 226 + 226 3502 262 227 + 3503 263 3502 227 + 263 262 3502 227 + 227 3503 263 228 + 3504 264 3503 228 + 264 263 3503 228 + 228 3504 264 229 + 3505 265 3504 229 + 265 264 3504 229 + 229 3505 265 230 + 3506 266 3505 230 + 266 265 3505 230 + 230 3506 266 231 + 3507 267 3506 231 + 267 266 3506 231 + 231 3507 267 232 + 3508 268 3507 232 + 268 267 3507 232 + 232 3508 268 233 + 3509 269 3508 233 + 269 268 3508 233 + 233 3509 269 234 + 3510 270 3509 234 + 270 269 3509 234 + 234 3510 270 235 + 3511 271 3510 235 + 271 270 3510 235 + 235 3511 271 236 + 3512 272 3511 236 + 272 271 3511 236 + 236 3512 272 237 + 3513 273 3512 237 + 273 272 3512 237 + 237 3513 273 238 + 3514 274 3513 238 + 274 273 3513 238 + 238 3514 274 239 + 3515 275 3514 239 + 275 274 3514 239 + 239 3515 275 240 + 3516 276 3515 240 + 276 275 3515 240 + 240 3516 276 241 + 3517 277 3516 241 + 277 276 3516 241 + 241 3517 277 242 + 3518 278 3517 242 + 278 277 3517 242 + 242 3518 278 243 + 3519 279 3518 243 + 279 278 3518 243 + 243 3519 279 244 + 3520 280 3519 244 + 280 279 3519 244 + 244 3520 280 245 + 3521 281 3520 245 + 281 280 3520 245 + 245 3521 281 246 + 3522 282 3521 246 + 282 281 3521 246 + 246 3522 282 247 + 3523 283 3522 247 + 283 282 3522 247 + 247 3523 283 248 + 3524 284 3523 248 + 284 283 3523 248 + 248 3524 284 249 + 3525 285 3524 249 + 285 284 3524 249 + 249 3525 285 250 + 3526 286 3525 250 + 286 285 3525 250 + 250 3526 286 251 + 3527 287 3526 251 + 287 286 3526 251 + 251 3527 287 252 + 3528 288 3527 252 + 288 287 3527 252 + 252 3528 288 253 + 3529 289 3528 253 + 289 288 3528 253 + 253 3529 289 254 + 3530 290 3529 254 + 290 289 3529 254 + 92 94 113 3495 + 3567 4251 94 3495 + 4251 113 94 3495 + 3495 3567 4251 3496 + 3568 4252 3567 3496 + 4252 4251 3567 3496 + 3496 3568 4252 3497 + 3569 4253 3568 3497 + 4253 4252 3568 3497 + 3497 3569 4253 3498 + 3570 4254 3569 3498 + 4254 4253 3569 3498 + 3498 3570 4254 3499 + 3571 4255 3570 3499 + 4255 4254 3570 3499 + 3499 3571 4255 3500 + 3572 4256 3571 3500 + 4256 4255 3571 3500 + 3500 3572 4256 3501 + 3573 4257 3572 3501 + 4257 4256 3572 3501 + 3501 3573 4257 3502 + 3574 4258 3573 3502 + 4258 4257 3573 3502 + 3502 3574 4258 3503 + 3575 4259 3574 3503 + 4259 4258 3574 3503 + 3503 3575 4259 3504 + 3576 4260 3575 3504 + 4260 4259 3575 3504 + 3504 3576 4260 3505 + 3577 4261 3576 3505 + 4261 4260 3576 3505 + 3505 3577 4261 3506 + 3578 4262 3577 3506 + 4262 4261 3577 3506 + 3506 3578 4262 3507 + 3579 4263 3578 3507 + 4263 4262 3578 3507 + 3507 3579 4263 3508 + 3580 4264 3579 3508 + 4264 4263 3579 3508 + 3508 3580 4264 3509 + 3581 4265 3580 3509 + 4265 4264 3580 3509 + 3509 3581 4265 3510 + 3582 4266 3581 3510 + 4266 4265 3581 3510 + 3510 3582 4266 3511 + 3583 4267 3582 3511 + 4267 4266 3582 3511 + 3511 3583 4267 3512 + 3584 4268 3583 3512 + 4268 4267 3583 3512 + 3512 3584 4268 3513 + 3585 4269 3584 3513 + 4269 4268 3584 3513 + 3513 3585 4269 3514 + 3586 4270 3585 3514 + 4270 4269 3585 3514 + 3514 3586 4270 3515 + 3587 4271 3586 3515 + 4271 4270 3586 3515 + 3515 3587 4271 3516 + 3588 4272 3587 3516 + 4272 4271 3587 3516 + 3516 3588 4272 3517 + 3589 4273 3588 3517 + 4273 4272 3588 3517 + 3517 3589 4273 3518 + 3590 4274 3589 3518 + 4274 4273 3589 3518 + 3518 3590 4274 3519 + 3591 4275 3590 3519 + 4275 4274 3590 3519 + 3519 3591 4275 3520 + 3592 4276 3591 3520 + 4276 4275 3591 3520 + 3520 3592 4276 3521 + 3593 4277 3592 3521 + 4277 4276 3592 3521 + 3521 3593 4277 3522 + 3594 4278 3593 3522 + 4278 4277 3593 3522 + 3522 3594 4278 3523 + 3595 4279 3594 3523 + 4279 4278 3594 3523 + 3523 3595 4279 3524 + 3596 4280 3595 3524 + 4280 4279 3595 3524 + 3524 3596 4280 3525 + 3597 4281 3596 3525 + 4281 4280 3596 3525 + 3525 3597 4281 3526 + 3598 4282 3597 3526 + 4282 4281 3597 3526 + 3526 3598 4282 3527 + 3599 4283 3598 3527 + 4283 4282 3598 3527 + 3527 3599 4283 3528 + 3600 4284 3599 3528 + 4284 4283 3599 3528 + 3528 3600 4284 3529 + 3601 4285 3600 3529 + 4285 4284 3600 3529 + 3529 3601 4285 3530 + 3602 4286 3601 3530 + 4286 4285 3601 3530 + 2 113 4 255 + 4251 327 113 255 + 327 4 113 255 + 255 4251 327 256 + 4252 328 4251 256 + 328 327 4251 256 + 256 4252 328 257 + 4253 329 4252 257 + 329 328 4252 257 + 257 4253 329 258 + 4254 330 4253 258 + 330 329 4253 258 + 258 4254 330 259 + 4255 331 4254 259 + 331 330 4254 259 + 259 4255 331 260 + 4256 332 4255 260 + 332 331 4255 260 + 260 4256 332 261 + 4257 333 4256 261 + 333 332 4256 261 + 261 4257 333 262 + 4258 334 4257 262 + 334 333 4257 262 + 262 4258 334 263 + 4259 335 4258 263 + 335 334 4258 263 + 263 4259 335 264 + 4260 336 4259 264 + 336 335 4259 264 + 264 4260 336 265 + 4261 337 4260 265 + 337 336 4260 265 + 265 4261 337 266 + 4262 338 4261 266 + 338 337 4261 266 + 266 4262 338 267 + 4263 339 4262 267 + 339 338 4262 267 + 267 4263 339 268 + 4264 340 4263 268 + 340 339 4263 268 + 268 4264 340 269 + 4265 341 4264 269 + 341 340 4264 269 + 269 4265 341 270 + 4266 342 4265 270 + 342 341 4265 270 + 270 4266 342 271 + 4267 343 4266 271 + 343 342 4266 271 + 271 4267 343 272 + 4268 344 4267 272 + 344 343 4267 272 + 272 4268 344 273 + 4269 345 4268 273 + 345 344 4268 273 + 273 4269 345 274 + 4270 346 4269 274 + 346 345 4269 274 + 274 4270 346 275 + 4271 347 4270 275 + 347 346 4270 275 + 275 4271 347 276 + 4272 348 4271 276 + 348 347 4271 276 + 276 4272 348 277 + 4273 349 4272 277 + 349 348 4272 277 + 277 4273 349 278 + 4274 350 4273 278 + 350 349 4273 278 + 278 4274 350 279 + 4275 351 4274 279 + 351 350 4274 279 + 279 4275 351 280 + 4276 352 4275 280 + 352 351 4275 280 + 280 4276 352 281 + 4277 353 4276 281 + 353 352 4276 281 + 281 4277 353 282 + 4278 354 4277 282 + 354 353 4277 282 + 282 4278 354 283 + 4279 355 4278 283 + 355 354 4278 283 + 283 4279 355 284 + 4280 356 4279 284 + 356 355 4279 284 + 284 4280 356 285 + 4281 357 4280 285 + 357 356 4280 285 + 285 4281 357 286 + 4282 358 4281 286 + 358 357 4281 286 + 286 4282 358 287 + 4283 359 4282 287 + 359 358 4282 287 + 287 4283 359 288 + 4284 360 4283 288 + 360 359 4283 288 + 288 4284 360 289 + 4285 361 4284 289 + 361 360 4284 289 + 289 4285 361 290 + 4286 362 4285 290 + 362 361 4285 290 + 4251 3495 255 113 + 255 3495 92 113 + 255 92 2 113 + 4252 3496 256 4251 + 256 3496 3495 4251 + 256 3495 255 4251 + 4253 3497 257 4252 + 257 3497 3496 4252 + 257 3496 256 4252 + 4254 3498 258 4253 + 258 3498 3497 4253 + 258 3497 257 4253 + 4255 3499 259 4254 + 259 3499 3498 4254 + 259 3498 258 4254 + 4256 3500 260 4255 + 260 3500 3499 4255 + 260 3499 259 4255 + 4257 3501 261 4256 + 261 3501 3500 4256 + 261 3500 260 4256 + 4258 3502 262 4257 + 262 3502 3501 4257 + 262 3501 261 4257 + 4259 3503 263 4258 + 263 3503 3502 4258 + 263 3502 262 4258 + 4260 3504 264 4259 + 264 3504 3503 4259 + 264 3503 263 4259 + 4261 3505 265 4260 + 265 3505 3504 4260 + 265 3504 264 4260 + 4262 3506 266 4261 + 266 3506 3505 4261 + 266 3505 265 4261 + 4263 3507 267 4262 + 267 3507 3506 4262 + 267 3506 266 4262 + 4264 3508 268 4263 + 268 3508 3507 4263 + 268 3507 267 4263 + 4265 3509 269 4264 + 269 3509 3508 4264 + 269 3508 268 4264 + 4266 3510 270 4265 + 270 3510 3509 4265 + 270 3509 269 4265 + 4267 3511 271 4266 + 271 3511 3510 4266 + 271 3510 270 4266 + 4268 3512 272 4267 + 272 3512 3511 4267 + 272 3511 271 4267 + 4269 3513 273 4268 + 273 3513 3512 4268 + 273 3512 272 4268 + 4270 3514 274 4269 + 274 3514 3513 4269 + 274 3513 273 4269 + 4271 3515 275 4270 + 275 3515 3514 4270 + 275 3514 274 4270 + 4272 3516 276 4271 + 276 3516 3515 4271 + 276 3515 275 4271 + 4273 3517 277 4272 + 277 3517 3516 4272 + 277 3516 276 4272 + 4274 3518 278 4273 + 278 3518 3517 4273 + 278 3517 277 4273 + 4275 3519 279 4274 + 279 3519 3518 4274 + 279 3518 278 4274 + 4276 3520 280 4275 + 280 3520 3519 4275 + 280 3519 279 4275 + 4277 3521 281 4276 + 281 3521 3520 4276 + 281 3520 280 4276 + 4278 3522 282 4277 + 282 3522 3521 4277 + 282 3521 281 4277 + 4279 3523 283 4278 + 283 3523 3522 4278 + 283 3522 282 4278 + 4280 3524 284 4279 + 284 3524 3523 4279 + 284 3523 283 4279 + 4281 3525 285 4280 + 285 3525 3524 4280 + 285 3524 284 4280 + 4282 3526 286 4281 + 286 3526 3525 4281 + 286 3525 285 4281 + 4283 3527 287 4282 + 287 3527 3526 4282 + 287 3526 286 4282 + 4284 3528 288 4283 + 288 3528 3527 4283 + 288 3527 287 4283 + 4285 3529 289 4284 + 289 3529 3528 4284 + 289 3528 288 4284 + 4286 3530 290 4285 + 290 3530 3529 4285 + 290 3529 289 4285 + 94 97 114 3567 + 3675 4287 97 3567 + 4287 114 97 3567 + 3567 3675 4287 3568 + 3676 4288 3675 3568 + 4288 4287 3675 3568 + 3568 3676 4288 3569 + 3677 4289 3676 3569 + 4289 4288 3676 3569 + 3569 3677 4289 3570 + 3678 4290 3677 3570 + 4290 4289 3677 3570 + 3570 3678 4290 3571 + 3679 4291 3678 3571 + 4291 4290 3678 3571 + 3571 3679 4291 3572 + 3680 4292 3679 3572 + 4292 4291 3679 3572 + 3572 3680 4292 3573 + 3681 4293 3680 3573 + 4293 4292 3680 3573 + 3573 3681 4293 3574 + 3682 4294 3681 3574 + 4294 4293 3681 3574 + 3574 3682 4294 3575 + 3683 4295 3682 3575 + 4295 4294 3682 3575 + 3575 3683 4295 3576 + 3684 4296 3683 3576 + 4296 4295 3683 3576 + 3576 3684 4296 3577 + 3685 4297 3684 3577 + 4297 4296 3684 3577 + 3577 3685 4297 3578 + 3686 4298 3685 3578 + 4298 4297 3685 3578 + 3578 3686 4298 3579 + 3687 4299 3686 3579 + 4299 4298 3686 3579 + 3579 3687 4299 3580 + 3688 4300 3687 3580 + 4300 4299 3687 3580 + 3580 3688 4300 3581 + 3689 4301 3688 3581 + 4301 4300 3688 3581 + 3581 3689 4301 3582 + 3690 4302 3689 3582 + 4302 4301 3689 3582 + 3582 3690 4302 3583 + 3691 4303 3690 3583 + 4303 4302 3690 3583 + 3583 3691 4303 3584 + 3692 4304 3691 3584 + 4304 4303 3691 3584 + 3584 3692 4304 3585 + 3693 4305 3692 3585 + 4305 4304 3692 3585 + 3585 3693 4305 3586 + 3694 4306 3693 3586 + 4306 4305 3693 3586 + 3586 3694 4306 3587 + 3695 4307 3694 3587 + 4307 4306 3694 3587 + 3587 3695 4307 3588 + 3696 4308 3695 3588 + 4308 4307 3695 3588 + 3588 3696 4308 3589 + 3697 4309 3696 3589 + 4309 4308 3696 3589 + 3589 3697 4309 3590 + 3698 4310 3697 3590 + 4310 4309 3697 3590 + 3590 3698 4310 3591 + 3699 4311 3698 3591 + 4311 4310 3698 3591 + 3591 3699 4311 3592 + 3700 4312 3699 3592 + 4312 4311 3699 3592 + 3592 3700 4312 3593 + 3701 4313 3700 3593 + 4313 4312 3700 3593 + 3593 3701 4313 3594 + 3702 4314 3701 3594 + 4314 4313 3701 3594 + 3594 3702 4314 3595 + 3703 4315 3702 3595 + 4315 4314 3702 3595 + 3595 3703 4315 3596 + 3704 4316 3703 3596 + 4316 4315 3703 3596 + 3596 3704 4316 3597 + 3705 4317 3704 3597 + 4317 4316 3704 3597 + 3597 3705 4317 3598 + 3706 4318 3705 3598 + 4318 4317 3705 3598 + 3598 3706 4318 3599 + 3707 4319 3706 3599 + 4319 4318 3706 3599 + 3599 3707 4319 3600 + 3708 4320 3707 3600 + 4320 4319 3707 3600 + 3600 3708 4320 3601 + 3709 4321 3708 3601 + 4321 4320 3708 3601 + 3601 3709 4321 3602 + 3710 4322 3709 3602 + 4322 4321 3709 3602 + 113 114 115 4251 + 4287 4323 114 4251 + 4323 115 114 4251 + 4251 4287 4323 4252 + 4288 4324 4287 4252 + 4324 4323 4287 4252 + 4252 4288 4324 4253 + 4289 4325 4288 4253 + 4325 4324 4288 4253 + 4253 4289 4325 4254 + 4290 4326 4289 4254 + 4326 4325 4289 4254 + 4254 4290 4326 4255 + 4291 4327 4290 4255 + 4327 4326 4290 4255 + 4255 4291 4327 4256 + 4292 4328 4291 4256 + 4328 4327 4291 4256 + 4256 4292 4328 4257 + 4293 4329 4292 4257 + 4329 4328 4292 4257 + 4257 4293 4329 4258 + 4294 4330 4293 4258 + 4330 4329 4293 4258 + 4258 4294 4330 4259 + 4295 4331 4294 4259 + 4331 4330 4294 4259 + 4259 4295 4331 4260 + 4296 4332 4295 4260 + 4332 4331 4295 4260 + 4260 4296 4332 4261 + 4297 4333 4296 4261 + 4333 4332 4296 4261 + 4261 4297 4333 4262 + 4298 4334 4297 4262 + 4334 4333 4297 4262 + 4262 4298 4334 4263 + 4299 4335 4298 4263 + 4335 4334 4298 4263 + 4263 4299 4335 4264 + 4300 4336 4299 4264 + 4336 4335 4299 4264 + 4264 4300 4336 4265 + 4301 4337 4300 4265 + 4337 4336 4300 4265 + 4265 4301 4337 4266 + 4302 4338 4301 4266 + 4338 4337 4301 4266 + 4266 4302 4338 4267 + 4303 4339 4302 4267 + 4339 4338 4302 4267 + 4267 4303 4339 4268 + 4304 4340 4303 4268 + 4340 4339 4303 4268 + 4268 4304 4340 4269 + 4305 4341 4304 4269 + 4341 4340 4304 4269 + 4269 4305 4341 4270 + 4306 4342 4305 4270 + 4342 4341 4305 4270 + 4270 4306 4342 4271 + 4307 4343 4306 4271 + 4343 4342 4306 4271 + 4271 4307 4343 4272 + 4308 4344 4307 4272 + 4344 4343 4307 4272 + 4272 4308 4344 4273 + 4309 4345 4308 4273 + 4345 4344 4308 4273 + 4273 4309 4345 4274 + 4310 4346 4309 4274 + 4346 4345 4309 4274 + 4274 4310 4346 4275 + 4311 4347 4310 4275 + 4347 4346 4310 4275 + 4275 4311 4347 4276 + 4312 4348 4311 4276 + 4348 4347 4311 4276 + 4276 4312 4348 4277 + 4313 4349 4312 4277 + 4349 4348 4312 4277 + 4277 4313 4349 4278 + 4314 4350 4313 4278 + 4350 4349 4313 4278 + 4278 4314 4350 4279 + 4315 4351 4314 4279 + 4351 4350 4314 4279 + 4279 4315 4351 4280 + 4316 4352 4315 4280 + 4352 4351 4315 4280 + 4280 4316 4352 4281 + 4317 4353 4316 4281 + 4353 4352 4316 4281 + 4281 4317 4353 4282 + 4318 4354 4317 4282 + 4354 4353 4317 4282 + 4282 4318 4354 4283 + 4319 4355 4318 4283 + 4355 4354 4318 4283 + 4283 4319 4355 4284 + 4320 4356 4319 4284 + 4356 4355 4319 4284 + 4284 4320 4356 4285 + 4321 4357 4320 4285 + 4357 4356 4320 4285 + 4285 4321 4357 4286 + 4322 4358 4321 4286 + 4358 4357 4321 4286 + 4 115 7 327 + 4323 435 115 327 + 435 7 115 327 + 327 4323 435 328 + 4324 436 4323 328 + 436 435 4323 328 + 328 4324 436 329 + 4325 437 4324 329 + 437 436 4324 329 + 329 4325 437 330 + 4326 438 4325 330 + 438 437 4325 330 + 330 4326 438 331 + 4327 439 4326 331 + 439 438 4326 331 + 331 4327 439 332 + 4328 440 4327 332 + 440 439 4327 332 + 332 4328 440 333 + 4329 441 4328 333 + 441 440 4328 333 + 333 4329 441 334 + 4330 442 4329 334 + 442 441 4329 334 + 334 4330 442 335 + 4331 443 4330 335 + 443 442 4330 335 + 335 4331 443 336 + 4332 444 4331 336 + 444 443 4331 336 + 336 4332 444 337 + 4333 445 4332 337 + 445 444 4332 337 + 337 4333 445 338 + 4334 446 4333 338 + 446 445 4333 338 + 338 4334 446 339 + 4335 447 4334 339 + 447 446 4334 339 + 339 4335 447 340 + 4336 448 4335 340 + 448 447 4335 340 + 340 4336 448 341 + 4337 449 4336 341 + 449 448 4336 341 + 341 4337 449 342 + 4338 450 4337 342 + 450 449 4337 342 + 342 4338 450 343 + 4339 451 4338 343 + 451 450 4338 343 + 343 4339 451 344 + 4340 452 4339 344 + 452 451 4339 344 + 344 4340 452 345 + 4341 453 4340 345 + 453 452 4340 345 + 345 4341 453 346 + 4342 454 4341 346 + 454 453 4341 346 + 346 4342 454 347 + 4343 455 4342 347 + 455 454 4342 347 + 347 4343 455 348 + 4344 456 4343 348 + 456 455 4343 348 + 348 4344 456 349 + 4345 457 4344 349 + 457 456 4344 349 + 349 4345 457 350 + 4346 458 4345 350 + 458 457 4345 350 + 350 4346 458 351 + 4347 459 4346 351 + 459 458 4346 351 + 351 4347 459 352 + 4348 460 4347 352 + 460 459 4347 352 + 352 4348 460 353 + 4349 461 4348 353 + 461 460 4348 353 + 353 4349 461 354 + 4350 462 4349 354 + 462 461 4349 354 + 354 4350 462 355 + 4351 463 4350 355 + 463 462 4350 355 + 355 4351 463 356 + 4352 464 4351 356 + 464 463 4351 356 + 356 4352 464 357 + 4353 465 4352 357 + 465 464 4352 357 + 357 4353 465 358 + 4354 466 4353 358 + 466 465 4353 358 + 358 4354 466 359 + 4355 467 4354 359 + 467 466 4354 359 + 359 4355 467 360 + 4356 468 4355 360 + 468 467 4355 360 + 360 4356 468 361 + 4357 469 4356 361 + 469 468 4356 361 + 361 4357 469 362 + 4358 470 4357 362 + 470 469 4357 362 + 4287 3567 4251 114 + 4251 3567 94 114 + 4251 94 113 114 + 4288 3568 4252 4287 + 4252 3568 3567 4287 + 4252 3567 4251 4287 + 4289 3569 4253 4288 + 4253 3569 3568 4288 + 4253 3568 4252 4288 + 4290 3570 4254 4289 + 4254 3570 3569 4289 + 4254 3569 4253 4289 + 4291 3571 4255 4290 + 4255 3571 3570 4290 + 4255 3570 4254 4290 + 4292 3572 4256 4291 + 4256 3572 3571 4291 + 4256 3571 4255 4291 + 4293 3573 4257 4292 + 4257 3573 3572 4292 + 4257 3572 4256 4292 + 4294 3574 4258 4293 + 4258 3574 3573 4293 + 4258 3573 4257 4293 + 4295 3575 4259 4294 + 4259 3575 3574 4294 + 4259 3574 4258 4294 + 4296 3576 4260 4295 + 4260 3576 3575 4295 + 4260 3575 4259 4295 + 4297 3577 4261 4296 + 4261 3577 3576 4296 + 4261 3576 4260 4296 + 4298 3578 4262 4297 + 4262 3578 3577 4297 + 4262 3577 4261 4297 + 4299 3579 4263 4298 + 4263 3579 3578 4298 + 4263 3578 4262 4298 + 4300 3580 4264 4299 + 4264 3580 3579 4299 + 4264 3579 4263 4299 + 4301 3581 4265 4300 + 4265 3581 3580 4300 + 4265 3580 4264 4300 + 4302 3582 4266 4301 + 4266 3582 3581 4301 + 4266 3581 4265 4301 + 4303 3583 4267 4302 + 4267 3583 3582 4302 + 4267 3582 4266 4302 + 4304 3584 4268 4303 + 4268 3584 3583 4303 + 4268 3583 4267 4303 + 4305 3585 4269 4304 + 4269 3585 3584 4304 + 4269 3584 4268 4304 + 4306 3586 4270 4305 + 4270 3586 3585 4305 + 4270 3585 4269 4305 + 4307 3587 4271 4306 + 4271 3587 3586 4306 + 4271 3586 4270 4306 + 4308 3588 4272 4307 + 4272 3588 3587 4307 + 4272 3587 4271 4307 + 4309 3589 4273 4308 + 4273 3589 3588 4308 + 4273 3588 4272 4308 + 4310 3590 4274 4309 + 4274 3590 3589 4309 + 4274 3589 4273 4309 + 4311 3591 4275 4310 + 4275 3591 3590 4310 + 4275 3590 4274 4310 + 4312 3592 4276 4311 + 4276 3592 3591 4311 + 4276 3591 4275 4311 + 4313 3593 4277 4312 + 4277 3593 3592 4312 + 4277 3592 4276 4312 + 4314 3594 4278 4313 + 4278 3594 3593 4313 + 4278 3593 4277 4313 + 4315 3595 4279 4314 + 4279 3595 3594 4314 + 4279 3594 4278 4314 + 4316 3596 4280 4315 + 4280 3596 3595 4315 + 4280 3595 4279 4315 + 4317 3597 4281 4316 + 4281 3597 3596 4316 + 4281 3596 4280 4316 + 4318 3598 4282 4317 + 4282 3598 3597 4317 + 4282 3597 4281 4317 + 4319 3599 4283 4318 + 4283 3599 3598 4318 + 4283 3598 4282 4318 + 4320 3600 4284 4319 + 4284 3600 3599 4319 + 4284 3599 4283 4319 + 4321 3601 4285 4320 + 4285 3601 3600 4320 + 4285 3600 4284 4320 + 4322 3602 4286 4321 + 4286 3602 3601 4321 + 4286 3601 4285 4321 + 4323 4251 327 115 + 327 4251 113 115 + 327 113 4 115 + 4324 4252 328 4323 + 328 4252 4251 4323 + 328 4251 327 4323 + 4325 4253 329 4324 + 329 4253 4252 4324 + 329 4252 328 4324 + 4326 4254 330 4325 + 330 4254 4253 4325 + 330 4253 329 4325 + 4327 4255 331 4326 + 331 4255 4254 4326 + 331 4254 330 4326 + 4328 4256 332 4327 + 332 4256 4255 4327 + 332 4255 331 4327 + 4329 4257 333 4328 + 333 4257 4256 4328 + 333 4256 332 4328 + 4330 4258 334 4329 + 334 4258 4257 4329 + 334 4257 333 4329 + 4331 4259 335 4330 + 335 4259 4258 4330 + 335 4258 334 4330 + 4332 4260 336 4331 + 336 4260 4259 4331 + 336 4259 335 4331 + 4333 4261 337 4332 + 337 4261 4260 4332 + 337 4260 336 4332 + 4334 4262 338 4333 + 338 4262 4261 4333 + 338 4261 337 4333 + 4335 4263 339 4334 + 339 4263 4262 4334 + 339 4262 338 4334 + 4336 4264 340 4335 + 340 4264 4263 4335 + 340 4263 339 4335 + 4337 4265 341 4336 + 341 4265 4264 4336 + 341 4264 340 4336 + 4338 4266 342 4337 + 342 4266 4265 4337 + 342 4265 341 4337 + 4339 4267 343 4338 + 343 4267 4266 4338 + 343 4266 342 4338 + 4340 4268 344 4339 + 344 4268 4267 4339 + 344 4267 343 4339 + 4341 4269 345 4340 + 345 4269 4268 4340 + 345 4268 344 4340 + 4342 4270 346 4341 + 346 4270 4269 4341 + 346 4269 345 4341 + 4343 4271 347 4342 + 347 4271 4270 4342 + 347 4270 346 4342 + 4344 4272 348 4343 + 348 4272 4271 4343 + 348 4271 347 4343 + 4345 4273 349 4344 + 349 4273 4272 4344 + 349 4272 348 4344 + 4346 4274 350 4345 + 350 4274 4273 4345 + 350 4273 349 4345 + 4347 4275 351 4346 + 351 4275 4274 4346 + 351 4274 350 4346 + 4348 4276 352 4347 + 352 4276 4275 4347 + 352 4275 351 4347 + 4349 4277 353 4348 + 353 4277 4276 4348 + 353 4276 352 4348 + 4350 4278 354 4349 + 354 4278 4277 4349 + 354 4277 353 4349 + 4351 4279 355 4350 + 355 4279 4278 4350 + 355 4278 354 4350 + 4352 4280 356 4351 + 356 4280 4279 4351 + 356 4279 355 4351 + 4353 4281 357 4352 + 357 4281 4280 4352 + 357 4280 356 4352 + 4354 4282 358 4353 + 358 4282 4281 4353 + 358 4281 357 4353 + 4355 4283 359 4354 + 359 4283 4282 4354 + 359 4282 358 4354 + 4356 4284 360 4355 + 360 4284 4283 4355 + 360 4283 359 4355 + 4357 4285 361 4356 + 361 4285 4284 4356 + 361 4284 360 4356 + 4358 4286 362 4357 + 362 4286 4285 4357 + 362 4285 361 4357 + 97 101 116 3675 + 3819 4359 101 3675 + 4359 116 101 3675 + 3675 3819 4359 3676 + 3820 4360 3819 3676 + 4360 4359 3819 3676 + 3676 3820 4360 3677 + 3821 4361 3820 3677 + 4361 4360 3820 3677 + 3677 3821 4361 3678 + 3822 4362 3821 3678 + 4362 4361 3821 3678 + 3678 3822 4362 3679 + 3823 4363 3822 3679 + 4363 4362 3822 3679 + 3679 3823 4363 3680 + 3824 4364 3823 3680 + 4364 4363 3823 3680 + 3680 3824 4364 3681 + 3825 4365 3824 3681 + 4365 4364 3824 3681 + 3681 3825 4365 3682 + 3826 4366 3825 3682 + 4366 4365 3825 3682 + 3682 3826 4366 3683 + 3827 4367 3826 3683 + 4367 4366 3826 3683 + 3683 3827 4367 3684 + 3828 4368 3827 3684 + 4368 4367 3827 3684 + 3684 3828 4368 3685 + 3829 4369 3828 3685 + 4369 4368 3828 3685 + 3685 3829 4369 3686 + 3830 4370 3829 3686 + 4370 4369 3829 3686 + 3686 3830 4370 3687 + 3831 4371 3830 3687 + 4371 4370 3830 3687 + 3687 3831 4371 3688 + 3832 4372 3831 3688 + 4372 4371 3831 3688 + 3688 3832 4372 3689 + 3833 4373 3832 3689 + 4373 4372 3832 3689 + 3689 3833 4373 3690 + 3834 4374 3833 3690 + 4374 4373 3833 3690 + 3690 3834 4374 3691 + 3835 4375 3834 3691 + 4375 4374 3834 3691 + 3691 3835 4375 3692 + 3836 4376 3835 3692 + 4376 4375 3835 3692 + 3692 3836 4376 3693 + 3837 4377 3836 3693 + 4377 4376 3836 3693 + 3693 3837 4377 3694 + 3838 4378 3837 3694 + 4378 4377 3837 3694 + 3694 3838 4378 3695 + 3839 4379 3838 3695 + 4379 4378 3838 3695 + 3695 3839 4379 3696 + 3840 4380 3839 3696 + 4380 4379 3839 3696 + 3696 3840 4380 3697 + 3841 4381 3840 3697 + 4381 4380 3840 3697 + 3697 3841 4381 3698 + 3842 4382 3841 3698 + 4382 4381 3841 3698 + 3698 3842 4382 3699 + 3843 4383 3842 3699 + 4383 4382 3842 3699 + 3699 3843 4383 3700 + 3844 4384 3843 3700 + 4384 4383 3843 3700 + 3700 3844 4384 3701 + 3845 4385 3844 3701 + 4385 4384 3844 3701 + 3701 3845 4385 3702 + 3846 4386 3845 3702 + 4386 4385 3845 3702 + 3702 3846 4386 3703 + 3847 4387 3846 3703 + 4387 4386 3846 3703 + 3703 3847 4387 3704 + 3848 4388 3847 3704 + 4388 4387 3847 3704 + 3704 3848 4388 3705 + 3849 4389 3848 3705 + 4389 4388 3848 3705 + 3705 3849 4389 3706 + 3850 4390 3849 3706 + 4390 4389 3849 3706 + 3706 3850 4390 3707 + 3851 4391 3850 3707 + 4391 4390 3850 3707 + 3707 3851 4391 3708 + 3852 4392 3851 3708 + 4392 4391 3851 3708 + 3708 3852 4392 3709 + 3853 4393 3852 3709 + 4393 4392 3852 3709 + 3709 3853 4393 3710 + 3854 4394 3853 3710 + 4394 4393 3853 3710 + 114 116 117 4287 + 4359 4395 116 4287 + 4395 117 116 4287 + 4287 4359 4395 4288 + 4360 4396 4359 4288 + 4396 4395 4359 4288 + 4288 4360 4396 4289 + 4361 4397 4360 4289 + 4397 4396 4360 4289 + 4289 4361 4397 4290 + 4362 4398 4361 4290 + 4398 4397 4361 4290 + 4290 4362 4398 4291 + 4363 4399 4362 4291 + 4399 4398 4362 4291 + 4291 4363 4399 4292 + 4364 4400 4363 4292 + 4400 4399 4363 4292 + 4292 4364 4400 4293 + 4365 4401 4364 4293 + 4401 4400 4364 4293 + 4293 4365 4401 4294 + 4366 4402 4365 4294 + 4402 4401 4365 4294 + 4294 4366 4402 4295 + 4367 4403 4366 4295 + 4403 4402 4366 4295 + 4295 4367 4403 4296 + 4368 4404 4367 4296 + 4404 4403 4367 4296 + 4296 4368 4404 4297 + 4369 4405 4368 4297 + 4405 4404 4368 4297 + 4297 4369 4405 4298 + 4370 4406 4369 4298 + 4406 4405 4369 4298 + 4298 4370 4406 4299 + 4371 4407 4370 4299 + 4407 4406 4370 4299 + 4299 4371 4407 4300 + 4372 4408 4371 4300 + 4408 4407 4371 4300 + 4300 4372 4408 4301 + 4373 4409 4372 4301 + 4409 4408 4372 4301 + 4301 4373 4409 4302 + 4374 4410 4373 4302 + 4410 4409 4373 4302 + 4302 4374 4410 4303 + 4375 4411 4374 4303 + 4411 4410 4374 4303 + 4303 4375 4411 4304 + 4376 4412 4375 4304 + 4412 4411 4375 4304 + 4304 4376 4412 4305 + 4377 4413 4376 4305 + 4413 4412 4376 4305 + 4305 4377 4413 4306 + 4378 4414 4377 4306 + 4414 4413 4377 4306 + 4306 4378 4414 4307 + 4379 4415 4378 4307 + 4415 4414 4378 4307 + 4307 4379 4415 4308 + 4380 4416 4379 4308 + 4416 4415 4379 4308 + 4308 4380 4416 4309 + 4381 4417 4380 4309 + 4417 4416 4380 4309 + 4309 4381 4417 4310 + 4382 4418 4381 4310 + 4418 4417 4381 4310 + 4310 4382 4418 4311 + 4383 4419 4382 4311 + 4419 4418 4382 4311 + 4311 4383 4419 4312 + 4384 4420 4383 4312 + 4420 4419 4383 4312 + 4312 4384 4420 4313 + 4385 4421 4384 4313 + 4421 4420 4384 4313 + 4313 4385 4421 4314 + 4386 4422 4385 4314 + 4422 4421 4385 4314 + 4314 4386 4422 4315 + 4387 4423 4386 4315 + 4423 4422 4386 4315 + 4315 4387 4423 4316 + 4388 4424 4387 4316 + 4424 4423 4387 4316 + 4316 4388 4424 4317 + 4389 4425 4388 4317 + 4425 4424 4388 4317 + 4317 4389 4425 4318 + 4390 4426 4389 4318 + 4426 4425 4389 4318 + 4318 4390 4426 4319 + 4391 4427 4390 4319 + 4427 4426 4390 4319 + 4319 4391 4427 4320 + 4392 4428 4391 4320 + 4428 4427 4391 4320 + 4320 4392 4428 4321 + 4393 4429 4392 4321 + 4429 4428 4392 4321 + 4321 4393 4429 4322 + 4394 4430 4393 4322 + 4430 4429 4393 4322 + 115 117 118 4323 + 4395 4431 117 4323 + 4431 118 117 4323 + 4323 4395 4431 4324 + 4396 4432 4395 4324 + 4432 4431 4395 4324 + 4324 4396 4432 4325 + 4397 4433 4396 4325 + 4433 4432 4396 4325 + 4325 4397 4433 4326 + 4398 4434 4397 4326 + 4434 4433 4397 4326 + 4326 4398 4434 4327 + 4399 4435 4398 4327 + 4435 4434 4398 4327 + 4327 4399 4435 4328 + 4400 4436 4399 4328 + 4436 4435 4399 4328 + 4328 4400 4436 4329 + 4401 4437 4400 4329 + 4437 4436 4400 4329 + 4329 4401 4437 4330 + 4402 4438 4401 4330 + 4438 4437 4401 4330 + 4330 4402 4438 4331 + 4403 4439 4402 4331 + 4439 4438 4402 4331 + 4331 4403 4439 4332 + 4404 4440 4403 4332 + 4440 4439 4403 4332 + 4332 4404 4440 4333 + 4405 4441 4404 4333 + 4441 4440 4404 4333 + 4333 4405 4441 4334 + 4406 4442 4405 4334 + 4442 4441 4405 4334 + 4334 4406 4442 4335 + 4407 4443 4406 4335 + 4443 4442 4406 4335 + 4335 4407 4443 4336 + 4408 4444 4407 4336 + 4444 4443 4407 4336 + 4336 4408 4444 4337 + 4409 4445 4408 4337 + 4445 4444 4408 4337 + 4337 4409 4445 4338 + 4410 4446 4409 4338 + 4446 4445 4409 4338 + 4338 4410 4446 4339 + 4411 4447 4410 4339 + 4447 4446 4410 4339 + 4339 4411 4447 4340 + 4412 4448 4411 4340 + 4448 4447 4411 4340 + 4340 4412 4448 4341 + 4413 4449 4412 4341 + 4449 4448 4412 4341 + 4341 4413 4449 4342 + 4414 4450 4413 4342 + 4450 4449 4413 4342 + 4342 4414 4450 4343 + 4415 4451 4414 4343 + 4451 4450 4414 4343 + 4343 4415 4451 4344 + 4416 4452 4415 4344 + 4452 4451 4415 4344 + 4344 4416 4452 4345 + 4417 4453 4416 4345 + 4453 4452 4416 4345 + 4345 4417 4453 4346 + 4418 4454 4417 4346 + 4454 4453 4417 4346 + 4346 4418 4454 4347 + 4419 4455 4418 4347 + 4455 4454 4418 4347 + 4347 4419 4455 4348 + 4420 4456 4419 4348 + 4456 4455 4419 4348 + 4348 4420 4456 4349 + 4421 4457 4420 4349 + 4457 4456 4420 4349 + 4349 4421 4457 4350 + 4422 4458 4421 4350 + 4458 4457 4421 4350 + 4350 4422 4458 4351 + 4423 4459 4422 4351 + 4459 4458 4422 4351 + 4351 4423 4459 4352 + 4424 4460 4423 4352 + 4460 4459 4423 4352 + 4352 4424 4460 4353 + 4425 4461 4424 4353 + 4461 4460 4424 4353 + 4353 4425 4461 4354 + 4426 4462 4425 4354 + 4462 4461 4425 4354 + 4354 4426 4462 4355 + 4427 4463 4426 4355 + 4463 4462 4426 4355 + 4355 4427 4463 4356 + 4428 4464 4427 4356 + 4464 4463 4427 4356 + 4356 4428 4464 4357 + 4429 4465 4428 4357 + 4465 4464 4428 4357 + 4357 4429 4465 4358 + 4430 4466 4429 4358 + 4466 4465 4429 4358 + 7 118 11 435 + 4431 579 118 435 + 579 11 118 435 + 435 4431 579 436 + 4432 580 4431 436 + 580 579 4431 436 + 436 4432 580 437 + 4433 581 4432 437 + 581 580 4432 437 + 437 4433 581 438 + 4434 582 4433 438 + 582 581 4433 438 + 438 4434 582 439 + 4435 583 4434 439 + 583 582 4434 439 + 439 4435 583 440 + 4436 584 4435 440 + 584 583 4435 440 + 440 4436 584 441 + 4437 585 4436 441 + 585 584 4436 441 + 441 4437 585 442 + 4438 586 4437 442 + 586 585 4437 442 + 442 4438 586 443 + 4439 587 4438 443 + 587 586 4438 443 + 443 4439 587 444 + 4440 588 4439 444 + 588 587 4439 444 + 444 4440 588 445 + 4441 589 4440 445 + 589 588 4440 445 + 445 4441 589 446 + 4442 590 4441 446 + 590 589 4441 446 + 446 4442 590 447 + 4443 591 4442 447 + 591 590 4442 447 + 447 4443 591 448 + 4444 592 4443 448 + 592 591 4443 448 + 448 4444 592 449 + 4445 593 4444 449 + 593 592 4444 449 + 449 4445 593 450 + 4446 594 4445 450 + 594 593 4445 450 + 450 4446 594 451 + 4447 595 4446 451 + 595 594 4446 451 + 451 4447 595 452 + 4448 596 4447 452 + 596 595 4447 452 + 452 4448 596 453 + 4449 597 4448 453 + 597 596 4448 453 + 453 4449 597 454 + 4450 598 4449 454 + 598 597 4449 454 + 454 4450 598 455 + 4451 599 4450 455 + 599 598 4450 455 + 455 4451 599 456 + 4452 600 4451 456 + 600 599 4451 456 + 456 4452 600 457 + 4453 601 4452 457 + 601 600 4452 457 + 457 4453 601 458 + 4454 602 4453 458 + 602 601 4453 458 + 458 4454 602 459 + 4455 603 4454 459 + 603 602 4454 459 + 459 4455 603 460 + 4456 604 4455 460 + 604 603 4455 460 + 460 4456 604 461 + 4457 605 4456 461 + 605 604 4456 461 + 461 4457 605 462 + 4458 606 4457 462 + 606 605 4457 462 + 462 4458 606 463 + 4459 607 4458 463 + 607 606 4458 463 + 463 4459 607 464 + 4460 608 4459 464 + 608 607 4459 464 + 464 4460 608 465 + 4461 609 4460 465 + 609 608 4460 465 + 465 4461 609 466 + 4462 610 4461 466 + 610 609 4461 466 + 466 4462 610 467 + 4463 611 4462 467 + 611 610 4462 467 + 467 4463 611 468 + 4464 612 4463 468 + 612 611 4463 468 + 468 4464 612 469 + 4465 613 4464 469 + 613 612 4464 469 + 469 4465 613 470 + 4466 614 4465 470 + 614 613 4465 470 + 4359 3675 4287 116 + 4287 3675 97 116 + 4287 97 114 116 + 4360 3676 4288 4359 + 4288 3676 3675 4359 + 4288 3675 4287 4359 + 4361 3677 4289 4360 + 4289 3677 3676 4360 + 4289 3676 4288 4360 + 4362 3678 4290 4361 + 4290 3678 3677 4361 + 4290 3677 4289 4361 + 4363 3679 4291 4362 + 4291 3679 3678 4362 + 4291 3678 4290 4362 + 4364 3680 4292 4363 + 4292 3680 3679 4363 + 4292 3679 4291 4363 + 4365 3681 4293 4364 + 4293 3681 3680 4364 + 4293 3680 4292 4364 + 4366 3682 4294 4365 + 4294 3682 3681 4365 + 4294 3681 4293 4365 + 4367 3683 4295 4366 + 4295 3683 3682 4366 + 4295 3682 4294 4366 + 4368 3684 4296 4367 + 4296 3684 3683 4367 + 4296 3683 4295 4367 + 4369 3685 4297 4368 + 4297 3685 3684 4368 + 4297 3684 4296 4368 + 4370 3686 4298 4369 + 4298 3686 3685 4369 + 4298 3685 4297 4369 + 4371 3687 4299 4370 + 4299 3687 3686 4370 + 4299 3686 4298 4370 + 4372 3688 4300 4371 + 4300 3688 3687 4371 + 4300 3687 4299 4371 + 4373 3689 4301 4372 + 4301 3689 3688 4372 + 4301 3688 4300 4372 + 4374 3690 4302 4373 + 4302 3690 3689 4373 + 4302 3689 4301 4373 + 4375 3691 4303 4374 + 4303 3691 3690 4374 + 4303 3690 4302 4374 + 4376 3692 4304 4375 + 4304 3692 3691 4375 + 4304 3691 4303 4375 + 4377 3693 4305 4376 + 4305 3693 3692 4376 + 4305 3692 4304 4376 + 4378 3694 4306 4377 + 4306 3694 3693 4377 + 4306 3693 4305 4377 + 4379 3695 4307 4378 + 4307 3695 3694 4378 + 4307 3694 4306 4378 + 4380 3696 4308 4379 + 4308 3696 3695 4379 + 4308 3695 4307 4379 + 4381 3697 4309 4380 + 4309 3697 3696 4380 + 4309 3696 4308 4380 + 4382 3698 4310 4381 + 4310 3698 3697 4381 + 4310 3697 4309 4381 + 4383 3699 4311 4382 + 4311 3699 3698 4382 + 4311 3698 4310 4382 + 4384 3700 4312 4383 + 4312 3700 3699 4383 + 4312 3699 4311 4383 + 4385 3701 4313 4384 + 4313 3701 3700 4384 + 4313 3700 4312 4384 + 4386 3702 4314 4385 + 4314 3702 3701 4385 + 4314 3701 4313 4385 + 4387 3703 4315 4386 + 4315 3703 3702 4386 + 4315 3702 4314 4386 + 4388 3704 4316 4387 + 4316 3704 3703 4387 + 4316 3703 4315 4387 + 4389 3705 4317 4388 + 4317 3705 3704 4388 + 4317 3704 4316 4388 + 4390 3706 4318 4389 + 4318 3706 3705 4389 + 4318 3705 4317 4389 + 4391 3707 4319 4390 + 4319 3707 3706 4390 + 4319 3706 4318 4390 + 4392 3708 4320 4391 + 4320 3708 3707 4391 + 4320 3707 4319 4391 + 4393 3709 4321 4392 + 4321 3709 3708 4392 + 4321 3708 4320 4392 + 4394 3710 4322 4393 + 4322 3710 3709 4393 + 4322 3709 4321 4393 + 4395 4287 4323 117 + 4323 4287 114 117 + 4323 114 115 117 + 4396 4288 4324 4395 + 4324 4288 4287 4395 + 4324 4287 4323 4395 + 4397 4289 4325 4396 + 4325 4289 4288 4396 + 4325 4288 4324 4396 + 4398 4290 4326 4397 + 4326 4290 4289 4397 + 4326 4289 4325 4397 + 4399 4291 4327 4398 + 4327 4291 4290 4398 + 4327 4290 4326 4398 + 4400 4292 4328 4399 + 4328 4292 4291 4399 + 4328 4291 4327 4399 + 4401 4293 4329 4400 + 4329 4293 4292 4400 + 4329 4292 4328 4400 + 4402 4294 4330 4401 + 4330 4294 4293 4401 + 4330 4293 4329 4401 + 4403 4295 4331 4402 + 4331 4295 4294 4402 + 4331 4294 4330 4402 + 4404 4296 4332 4403 + 4332 4296 4295 4403 + 4332 4295 4331 4403 + 4405 4297 4333 4404 + 4333 4297 4296 4404 + 4333 4296 4332 4404 + 4406 4298 4334 4405 + 4334 4298 4297 4405 + 4334 4297 4333 4405 + 4407 4299 4335 4406 + 4335 4299 4298 4406 + 4335 4298 4334 4406 + 4408 4300 4336 4407 + 4336 4300 4299 4407 + 4336 4299 4335 4407 + 4409 4301 4337 4408 + 4337 4301 4300 4408 + 4337 4300 4336 4408 + 4410 4302 4338 4409 + 4338 4302 4301 4409 + 4338 4301 4337 4409 + 4411 4303 4339 4410 + 4339 4303 4302 4410 + 4339 4302 4338 4410 + 4412 4304 4340 4411 + 4340 4304 4303 4411 + 4340 4303 4339 4411 + 4413 4305 4341 4412 + 4341 4305 4304 4412 + 4341 4304 4340 4412 + 4414 4306 4342 4413 + 4342 4306 4305 4413 + 4342 4305 4341 4413 + 4415 4307 4343 4414 + 4343 4307 4306 4414 + 4343 4306 4342 4414 + 4416 4308 4344 4415 + 4344 4308 4307 4415 + 4344 4307 4343 4415 + 4417 4309 4345 4416 + 4345 4309 4308 4416 + 4345 4308 4344 4416 + 4418 4310 4346 4417 + 4346 4310 4309 4417 + 4346 4309 4345 4417 + 4419 4311 4347 4418 + 4347 4311 4310 4418 + 4347 4310 4346 4418 + 4420 4312 4348 4419 + 4348 4312 4311 4419 + 4348 4311 4347 4419 + 4421 4313 4349 4420 + 4349 4313 4312 4420 + 4349 4312 4348 4420 + 4422 4314 4350 4421 + 4350 4314 4313 4421 + 4350 4313 4349 4421 + 4423 4315 4351 4422 + 4351 4315 4314 4422 + 4351 4314 4350 4422 + 4424 4316 4352 4423 + 4352 4316 4315 4423 + 4352 4315 4351 4423 + 4425 4317 4353 4424 + 4353 4317 4316 4424 + 4353 4316 4352 4424 + 4426 4318 4354 4425 + 4354 4318 4317 4425 + 4354 4317 4353 4425 + 4427 4319 4355 4426 + 4355 4319 4318 4426 + 4355 4318 4354 4426 + 4428 4320 4356 4427 + 4356 4320 4319 4427 + 4356 4319 4355 4427 + 4429 4321 4357 4428 + 4357 4321 4320 4428 + 4357 4320 4356 4428 + 4430 4322 4358 4429 + 4358 4322 4321 4429 + 4358 4321 4357 4429 + 4431 4323 435 118 + 435 4323 115 118 + 435 115 7 118 + 4432 4324 436 4431 + 436 4324 4323 4431 + 436 4323 435 4431 + 4433 4325 437 4432 + 437 4325 4324 4432 + 437 4324 436 4432 + 4434 4326 438 4433 + 438 4326 4325 4433 + 438 4325 437 4433 + 4435 4327 439 4434 + 439 4327 4326 4434 + 439 4326 438 4434 + 4436 4328 440 4435 + 440 4328 4327 4435 + 440 4327 439 4435 + 4437 4329 441 4436 + 441 4329 4328 4436 + 441 4328 440 4436 + 4438 4330 442 4437 + 442 4330 4329 4437 + 442 4329 441 4437 + 4439 4331 443 4438 + 443 4331 4330 4438 + 443 4330 442 4438 + 4440 4332 444 4439 + 444 4332 4331 4439 + 444 4331 443 4439 + 4441 4333 445 4440 + 445 4333 4332 4440 + 445 4332 444 4440 + 4442 4334 446 4441 + 446 4334 4333 4441 + 446 4333 445 4441 + 4443 4335 447 4442 + 447 4335 4334 4442 + 447 4334 446 4442 + 4444 4336 448 4443 + 448 4336 4335 4443 + 448 4335 447 4443 + 4445 4337 449 4444 + 449 4337 4336 4444 + 449 4336 448 4444 + 4446 4338 450 4445 + 450 4338 4337 4445 + 450 4337 449 4445 + 4447 4339 451 4446 + 451 4339 4338 4446 + 451 4338 450 4446 + 4448 4340 452 4447 + 452 4340 4339 4447 + 452 4339 451 4447 + 4449 4341 453 4448 + 453 4341 4340 4448 + 453 4340 452 4448 + 4450 4342 454 4449 + 454 4342 4341 4449 + 454 4341 453 4449 + 4451 4343 455 4450 + 455 4343 4342 4450 + 455 4342 454 4450 + 4452 4344 456 4451 + 456 4344 4343 4451 + 456 4343 455 4451 + 4453 4345 457 4452 + 457 4345 4344 4452 + 457 4344 456 4452 + 4454 4346 458 4453 + 458 4346 4345 4453 + 458 4345 457 4453 + 4455 4347 459 4454 + 459 4347 4346 4454 + 459 4346 458 4454 + 4456 4348 460 4455 + 460 4348 4347 4455 + 460 4347 459 4455 + 4457 4349 461 4456 + 461 4349 4348 4456 + 461 4348 460 4456 + 4458 4350 462 4457 + 462 4350 4349 4457 + 462 4349 461 4457 + 4459 4351 463 4458 + 463 4351 4350 4458 + 463 4350 462 4458 + 4460 4352 464 4459 + 464 4352 4351 4459 + 464 4351 463 4459 + 4461 4353 465 4460 + 465 4353 4352 4460 + 465 4352 464 4460 + 4462 4354 466 4461 + 466 4354 4353 4461 + 466 4353 465 4461 + 4463 4355 467 4462 + 467 4355 4354 4462 + 467 4354 466 4462 + 4464 4356 468 4463 + 468 4356 4355 4463 + 468 4355 467 4463 + 4465 4357 469 4464 + 469 4357 4356 4464 + 469 4356 468 4464 + 4466 4358 470 4465 + 470 4358 4357 4465 + 470 4357 469 4465 + 101 106 119 3819 + 3999 4467 106 3819 + 4467 119 106 3819 + 3819 3999 4467 3820 + 4000 4468 3999 3820 + 4468 4467 3999 3820 + 3820 4000 4468 3821 + 4001 4469 4000 3821 + 4469 4468 4000 3821 + 3821 4001 4469 3822 + 4002 4470 4001 3822 + 4470 4469 4001 3822 + 3822 4002 4470 3823 + 4003 4471 4002 3823 + 4471 4470 4002 3823 + 3823 4003 4471 3824 + 4004 4472 4003 3824 + 4472 4471 4003 3824 + 3824 4004 4472 3825 + 4005 4473 4004 3825 + 4473 4472 4004 3825 + 3825 4005 4473 3826 + 4006 4474 4005 3826 + 4474 4473 4005 3826 + 3826 4006 4474 3827 + 4007 4475 4006 3827 + 4475 4474 4006 3827 + 3827 4007 4475 3828 + 4008 4476 4007 3828 + 4476 4475 4007 3828 + 3828 4008 4476 3829 + 4009 4477 4008 3829 + 4477 4476 4008 3829 + 3829 4009 4477 3830 + 4010 4478 4009 3830 + 4478 4477 4009 3830 + 3830 4010 4478 3831 + 4011 4479 4010 3831 + 4479 4478 4010 3831 + 3831 4011 4479 3832 + 4012 4480 4011 3832 + 4480 4479 4011 3832 + 3832 4012 4480 3833 + 4013 4481 4012 3833 + 4481 4480 4012 3833 + 3833 4013 4481 3834 + 4014 4482 4013 3834 + 4482 4481 4013 3834 + 3834 4014 4482 3835 + 4015 4483 4014 3835 + 4483 4482 4014 3835 + 3835 4015 4483 3836 + 4016 4484 4015 3836 + 4484 4483 4015 3836 + 3836 4016 4484 3837 + 4017 4485 4016 3837 + 4485 4484 4016 3837 + 3837 4017 4485 3838 + 4018 4486 4017 3838 + 4486 4485 4017 3838 + 3838 4018 4486 3839 + 4019 4487 4018 3839 + 4487 4486 4018 3839 + 3839 4019 4487 3840 + 4020 4488 4019 3840 + 4488 4487 4019 3840 + 3840 4020 4488 3841 + 4021 4489 4020 3841 + 4489 4488 4020 3841 + 3841 4021 4489 3842 + 4022 4490 4021 3842 + 4490 4489 4021 3842 + 3842 4022 4490 3843 + 4023 4491 4022 3843 + 4491 4490 4022 3843 + 3843 4023 4491 3844 + 4024 4492 4023 3844 + 4492 4491 4023 3844 + 3844 4024 4492 3845 + 4025 4493 4024 3845 + 4493 4492 4024 3845 + 3845 4025 4493 3846 + 4026 4494 4025 3846 + 4494 4493 4025 3846 + 3846 4026 4494 3847 + 4027 4495 4026 3847 + 4495 4494 4026 3847 + 3847 4027 4495 3848 + 4028 4496 4027 3848 + 4496 4495 4027 3848 + 3848 4028 4496 3849 + 4029 4497 4028 3849 + 4497 4496 4028 3849 + 3849 4029 4497 3850 + 4030 4498 4029 3850 + 4498 4497 4029 3850 + 3850 4030 4498 3851 + 4031 4499 4030 3851 + 4499 4498 4030 3851 + 3851 4031 4499 3852 + 4032 4500 4031 3852 + 4500 4499 4031 3852 + 3852 4032 4500 3853 + 4033 4501 4032 3853 + 4501 4500 4032 3853 + 3853 4033 4501 3854 + 4034 4502 4033 3854 + 4502 4501 4033 3854 + 116 119 120 4359 + 4467 4503 119 4359 + 4503 120 119 4359 + 4359 4467 4503 4360 + 4468 4504 4467 4360 + 4504 4503 4467 4360 + 4360 4468 4504 4361 + 4469 4505 4468 4361 + 4505 4504 4468 4361 + 4361 4469 4505 4362 + 4470 4506 4469 4362 + 4506 4505 4469 4362 + 4362 4470 4506 4363 + 4471 4507 4470 4363 + 4507 4506 4470 4363 + 4363 4471 4507 4364 + 4472 4508 4471 4364 + 4508 4507 4471 4364 + 4364 4472 4508 4365 + 4473 4509 4472 4365 + 4509 4508 4472 4365 + 4365 4473 4509 4366 + 4474 4510 4473 4366 + 4510 4509 4473 4366 + 4366 4474 4510 4367 + 4475 4511 4474 4367 + 4511 4510 4474 4367 + 4367 4475 4511 4368 + 4476 4512 4475 4368 + 4512 4511 4475 4368 + 4368 4476 4512 4369 + 4477 4513 4476 4369 + 4513 4512 4476 4369 + 4369 4477 4513 4370 + 4478 4514 4477 4370 + 4514 4513 4477 4370 + 4370 4478 4514 4371 + 4479 4515 4478 4371 + 4515 4514 4478 4371 + 4371 4479 4515 4372 + 4480 4516 4479 4372 + 4516 4515 4479 4372 + 4372 4480 4516 4373 + 4481 4517 4480 4373 + 4517 4516 4480 4373 + 4373 4481 4517 4374 + 4482 4518 4481 4374 + 4518 4517 4481 4374 + 4374 4482 4518 4375 + 4483 4519 4482 4375 + 4519 4518 4482 4375 + 4375 4483 4519 4376 + 4484 4520 4483 4376 + 4520 4519 4483 4376 + 4376 4484 4520 4377 + 4485 4521 4484 4377 + 4521 4520 4484 4377 + 4377 4485 4521 4378 + 4486 4522 4485 4378 + 4522 4521 4485 4378 + 4378 4486 4522 4379 + 4487 4523 4486 4379 + 4523 4522 4486 4379 + 4379 4487 4523 4380 + 4488 4524 4487 4380 + 4524 4523 4487 4380 + 4380 4488 4524 4381 + 4489 4525 4488 4381 + 4525 4524 4488 4381 + 4381 4489 4525 4382 + 4490 4526 4489 4382 + 4526 4525 4489 4382 + 4382 4490 4526 4383 + 4491 4527 4490 4383 + 4527 4526 4490 4383 + 4383 4491 4527 4384 + 4492 4528 4491 4384 + 4528 4527 4491 4384 + 4384 4492 4528 4385 + 4493 4529 4492 4385 + 4529 4528 4492 4385 + 4385 4493 4529 4386 + 4494 4530 4493 4386 + 4530 4529 4493 4386 + 4386 4494 4530 4387 + 4495 4531 4494 4387 + 4531 4530 4494 4387 + 4387 4495 4531 4388 + 4496 4532 4495 4388 + 4532 4531 4495 4388 + 4388 4496 4532 4389 + 4497 4533 4496 4389 + 4533 4532 4496 4389 + 4389 4497 4533 4390 + 4498 4534 4497 4390 + 4534 4533 4497 4390 + 4390 4498 4534 4391 + 4499 4535 4498 4391 + 4535 4534 4498 4391 + 4391 4499 4535 4392 + 4500 4536 4499 4392 + 4536 4535 4499 4392 + 4392 4500 4536 4393 + 4501 4537 4500 4393 + 4537 4536 4500 4393 + 4393 4501 4537 4394 + 4502 4538 4501 4394 + 4538 4537 4501 4394 + 117 120 121 4395 + 4503 4539 120 4395 + 4539 121 120 4395 + 4395 4503 4539 4396 + 4504 4540 4503 4396 + 4540 4539 4503 4396 + 4396 4504 4540 4397 + 4505 4541 4504 4397 + 4541 4540 4504 4397 + 4397 4505 4541 4398 + 4506 4542 4505 4398 + 4542 4541 4505 4398 + 4398 4506 4542 4399 + 4507 4543 4506 4399 + 4543 4542 4506 4399 + 4399 4507 4543 4400 + 4508 4544 4507 4400 + 4544 4543 4507 4400 + 4400 4508 4544 4401 + 4509 4545 4508 4401 + 4545 4544 4508 4401 + 4401 4509 4545 4402 + 4510 4546 4509 4402 + 4546 4545 4509 4402 + 4402 4510 4546 4403 + 4511 4547 4510 4403 + 4547 4546 4510 4403 + 4403 4511 4547 4404 + 4512 4548 4511 4404 + 4548 4547 4511 4404 + 4404 4512 4548 4405 + 4513 4549 4512 4405 + 4549 4548 4512 4405 + 4405 4513 4549 4406 + 4514 4550 4513 4406 + 4550 4549 4513 4406 + 4406 4514 4550 4407 + 4515 4551 4514 4407 + 4551 4550 4514 4407 + 4407 4515 4551 4408 + 4516 4552 4515 4408 + 4552 4551 4515 4408 + 4408 4516 4552 4409 + 4517 4553 4516 4409 + 4553 4552 4516 4409 + 4409 4517 4553 4410 + 4518 4554 4517 4410 + 4554 4553 4517 4410 + 4410 4518 4554 4411 + 4519 4555 4518 4411 + 4555 4554 4518 4411 + 4411 4519 4555 4412 + 4520 4556 4519 4412 + 4556 4555 4519 4412 + 4412 4520 4556 4413 + 4521 4557 4520 4413 + 4557 4556 4520 4413 + 4413 4521 4557 4414 + 4522 4558 4521 4414 + 4558 4557 4521 4414 + 4414 4522 4558 4415 + 4523 4559 4522 4415 + 4559 4558 4522 4415 + 4415 4523 4559 4416 + 4524 4560 4523 4416 + 4560 4559 4523 4416 + 4416 4524 4560 4417 + 4525 4561 4524 4417 + 4561 4560 4524 4417 + 4417 4525 4561 4418 + 4526 4562 4525 4418 + 4562 4561 4525 4418 + 4418 4526 4562 4419 + 4527 4563 4526 4419 + 4563 4562 4526 4419 + 4419 4527 4563 4420 + 4528 4564 4527 4420 + 4564 4563 4527 4420 + 4420 4528 4564 4421 + 4529 4565 4528 4421 + 4565 4564 4528 4421 + 4421 4529 4565 4422 + 4530 4566 4529 4422 + 4566 4565 4529 4422 + 4422 4530 4566 4423 + 4531 4567 4530 4423 + 4567 4566 4530 4423 + 4423 4531 4567 4424 + 4532 4568 4531 4424 + 4568 4567 4531 4424 + 4424 4532 4568 4425 + 4533 4569 4532 4425 + 4569 4568 4532 4425 + 4425 4533 4569 4426 + 4534 4570 4533 4426 + 4570 4569 4533 4426 + 4426 4534 4570 4427 + 4535 4571 4534 4427 + 4571 4570 4534 4427 + 4427 4535 4571 4428 + 4536 4572 4535 4428 + 4572 4571 4535 4428 + 4428 4536 4572 4429 + 4537 4573 4536 4429 + 4573 4572 4536 4429 + 4429 4537 4573 4430 + 4538 4574 4537 4430 + 4574 4573 4537 4430 + 118 121 122 4431 + 4539 4575 121 4431 + 4575 122 121 4431 + 4431 4539 4575 4432 + 4540 4576 4539 4432 + 4576 4575 4539 4432 + 4432 4540 4576 4433 + 4541 4577 4540 4433 + 4577 4576 4540 4433 + 4433 4541 4577 4434 + 4542 4578 4541 4434 + 4578 4577 4541 4434 + 4434 4542 4578 4435 + 4543 4579 4542 4435 + 4579 4578 4542 4435 + 4435 4543 4579 4436 + 4544 4580 4543 4436 + 4580 4579 4543 4436 + 4436 4544 4580 4437 + 4545 4581 4544 4437 + 4581 4580 4544 4437 + 4437 4545 4581 4438 + 4546 4582 4545 4438 + 4582 4581 4545 4438 + 4438 4546 4582 4439 + 4547 4583 4546 4439 + 4583 4582 4546 4439 + 4439 4547 4583 4440 + 4548 4584 4547 4440 + 4584 4583 4547 4440 + 4440 4548 4584 4441 + 4549 4585 4548 4441 + 4585 4584 4548 4441 + 4441 4549 4585 4442 + 4550 4586 4549 4442 + 4586 4585 4549 4442 + 4442 4550 4586 4443 + 4551 4587 4550 4443 + 4587 4586 4550 4443 + 4443 4551 4587 4444 + 4552 4588 4551 4444 + 4588 4587 4551 4444 + 4444 4552 4588 4445 + 4553 4589 4552 4445 + 4589 4588 4552 4445 + 4445 4553 4589 4446 + 4554 4590 4553 4446 + 4590 4589 4553 4446 + 4446 4554 4590 4447 + 4555 4591 4554 4447 + 4591 4590 4554 4447 + 4447 4555 4591 4448 + 4556 4592 4555 4448 + 4592 4591 4555 4448 + 4448 4556 4592 4449 + 4557 4593 4556 4449 + 4593 4592 4556 4449 + 4449 4557 4593 4450 + 4558 4594 4557 4450 + 4594 4593 4557 4450 + 4450 4558 4594 4451 + 4559 4595 4558 4451 + 4595 4594 4558 4451 + 4451 4559 4595 4452 + 4560 4596 4559 4452 + 4596 4595 4559 4452 + 4452 4560 4596 4453 + 4561 4597 4560 4453 + 4597 4596 4560 4453 + 4453 4561 4597 4454 + 4562 4598 4561 4454 + 4598 4597 4561 4454 + 4454 4562 4598 4455 + 4563 4599 4562 4455 + 4599 4598 4562 4455 + 4455 4563 4599 4456 + 4564 4600 4563 4456 + 4600 4599 4563 4456 + 4456 4564 4600 4457 + 4565 4601 4564 4457 + 4601 4600 4564 4457 + 4457 4565 4601 4458 + 4566 4602 4565 4458 + 4602 4601 4565 4458 + 4458 4566 4602 4459 + 4567 4603 4566 4459 + 4603 4602 4566 4459 + 4459 4567 4603 4460 + 4568 4604 4567 4460 + 4604 4603 4567 4460 + 4460 4568 4604 4461 + 4569 4605 4568 4461 + 4605 4604 4568 4461 + 4461 4569 4605 4462 + 4570 4606 4569 4462 + 4606 4605 4569 4462 + 4462 4570 4606 4463 + 4571 4607 4570 4463 + 4607 4606 4570 4463 + 4463 4571 4607 4464 + 4572 4608 4571 4464 + 4608 4607 4571 4464 + 4464 4572 4608 4465 + 4573 4609 4572 4465 + 4609 4608 4572 4465 + 4465 4573 4609 4466 + 4574 4610 4573 4466 + 4610 4609 4573 4466 + 11 122 16 579 + 4575 759 122 579 + 759 16 122 579 + 579 4575 759 580 + 4576 760 4575 580 + 760 759 4575 580 + 580 4576 760 581 + 4577 761 4576 581 + 761 760 4576 581 + 581 4577 761 582 + 4578 762 4577 582 + 762 761 4577 582 + 582 4578 762 583 + 4579 763 4578 583 + 763 762 4578 583 + 583 4579 763 584 + 4580 764 4579 584 + 764 763 4579 584 + 584 4580 764 585 + 4581 765 4580 585 + 765 764 4580 585 + 585 4581 765 586 + 4582 766 4581 586 + 766 765 4581 586 + 586 4582 766 587 + 4583 767 4582 587 + 767 766 4582 587 + 587 4583 767 588 + 4584 768 4583 588 + 768 767 4583 588 + 588 4584 768 589 + 4585 769 4584 589 + 769 768 4584 589 + 589 4585 769 590 + 4586 770 4585 590 + 770 769 4585 590 + 590 4586 770 591 + 4587 771 4586 591 + 771 770 4586 591 + 591 4587 771 592 + 4588 772 4587 592 + 772 771 4587 592 + 592 4588 772 593 + 4589 773 4588 593 + 773 772 4588 593 + 593 4589 773 594 + 4590 774 4589 594 + 774 773 4589 594 + 594 4590 774 595 + 4591 775 4590 595 + 775 774 4590 595 + 595 4591 775 596 + 4592 776 4591 596 + 776 775 4591 596 + 596 4592 776 597 + 4593 777 4592 597 + 777 776 4592 597 + 597 4593 777 598 + 4594 778 4593 598 + 778 777 4593 598 + 598 4594 778 599 + 4595 779 4594 599 + 779 778 4594 599 + 599 4595 779 600 + 4596 780 4595 600 + 780 779 4595 600 + 600 4596 780 601 + 4597 781 4596 601 + 781 780 4596 601 + 601 4597 781 602 + 4598 782 4597 602 + 782 781 4597 602 + 602 4598 782 603 + 4599 783 4598 603 + 783 782 4598 603 + 603 4599 783 604 + 4600 784 4599 604 + 784 783 4599 604 + 604 4600 784 605 + 4601 785 4600 605 + 785 784 4600 605 + 605 4601 785 606 + 4602 786 4601 606 + 786 785 4601 606 + 606 4602 786 607 + 4603 787 4602 607 + 787 786 4602 607 + 607 4603 787 608 + 4604 788 4603 608 + 788 787 4603 608 + 608 4604 788 609 + 4605 789 4604 609 + 789 788 4604 609 + 609 4605 789 610 + 4606 790 4605 610 + 790 789 4605 610 + 610 4606 790 611 + 4607 791 4606 611 + 791 790 4606 611 + 611 4607 791 612 + 4608 792 4607 612 + 792 791 4607 612 + 612 4608 792 613 + 4609 793 4608 613 + 793 792 4608 613 + 613 4609 793 614 + 4610 794 4609 614 + 794 793 4609 614 + 4467 3819 4359 119 + 4359 3819 101 119 + 4359 101 116 119 + 4468 3820 4360 4467 + 4360 3820 3819 4467 + 4360 3819 4359 4467 + 4469 3821 4361 4468 + 4361 3821 3820 4468 + 4361 3820 4360 4468 + 4470 3822 4362 4469 + 4362 3822 3821 4469 + 4362 3821 4361 4469 + 4471 3823 4363 4470 + 4363 3823 3822 4470 + 4363 3822 4362 4470 + 4472 3824 4364 4471 + 4364 3824 3823 4471 + 4364 3823 4363 4471 + 4473 3825 4365 4472 + 4365 3825 3824 4472 + 4365 3824 4364 4472 + 4474 3826 4366 4473 + 4366 3826 3825 4473 + 4366 3825 4365 4473 + 4475 3827 4367 4474 + 4367 3827 3826 4474 + 4367 3826 4366 4474 + 4476 3828 4368 4475 + 4368 3828 3827 4475 + 4368 3827 4367 4475 + 4477 3829 4369 4476 + 4369 3829 3828 4476 + 4369 3828 4368 4476 + 4478 3830 4370 4477 + 4370 3830 3829 4477 + 4370 3829 4369 4477 + 4479 3831 4371 4478 + 4371 3831 3830 4478 + 4371 3830 4370 4478 + 4480 3832 4372 4479 + 4372 3832 3831 4479 + 4372 3831 4371 4479 + 4481 3833 4373 4480 + 4373 3833 3832 4480 + 4373 3832 4372 4480 + 4482 3834 4374 4481 + 4374 3834 3833 4481 + 4374 3833 4373 4481 + 4483 3835 4375 4482 + 4375 3835 3834 4482 + 4375 3834 4374 4482 + 4484 3836 4376 4483 + 4376 3836 3835 4483 + 4376 3835 4375 4483 + 4485 3837 4377 4484 + 4377 3837 3836 4484 + 4377 3836 4376 4484 + 4486 3838 4378 4485 + 4378 3838 3837 4485 + 4378 3837 4377 4485 + 4487 3839 4379 4486 + 4379 3839 3838 4486 + 4379 3838 4378 4486 + 4488 3840 4380 4487 + 4380 3840 3839 4487 + 4380 3839 4379 4487 + 4489 3841 4381 4488 + 4381 3841 3840 4488 + 4381 3840 4380 4488 + 4490 3842 4382 4489 + 4382 3842 3841 4489 + 4382 3841 4381 4489 + 4491 3843 4383 4490 + 4383 3843 3842 4490 + 4383 3842 4382 4490 + 4492 3844 4384 4491 + 4384 3844 3843 4491 + 4384 3843 4383 4491 + 4493 3845 4385 4492 + 4385 3845 3844 4492 + 4385 3844 4384 4492 + 4494 3846 4386 4493 + 4386 3846 3845 4493 + 4386 3845 4385 4493 + 4495 3847 4387 4494 + 4387 3847 3846 4494 + 4387 3846 4386 4494 + 4496 3848 4388 4495 + 4388 3848 3847 4495 + 4388 3847 4387 4495 + 4497 3849 4389 4496 + 4389 3849 3848 4496 + 4389 3848 4388 4496 + 4498 3850 4390 4497 + 4390 3850 3849 4497 + 4390 3849 4389 4497 + 4499 3851 4391 4498 + 4391 3851 3850 4498 + 4391 3850 4390 4498 + 4500 3852 4392 4499 + 4392 3852 3851 4499 + 4392 3851 4391 4499 + 4501 3853 4393 4500 + 4393 3853 3852 4500 + 4393 3852 4392 4500 + 4502 3854 4394 4501 + 4394 3854 3853 4501 + 4394 3853 4393 4501 + 4503 4359 4395 120 + 4395 4359 116 120 + 4395 116 117 120 + 4504 4360 4396 4503 + 4396 4360 4359 4503 + 4396 4359 4395 4503 + 4505 4361 4397 4504 + 4397 4361 4360 4504 + 4397 4360 4396 4504 + 4506 4362 4398 4505 + 4398 4362 4361 4505 + 4398 4361 4397 4505 + 4507 4363 4399 4506 + 4399 4363 4362 4506 + 4399 4362 4398 4506 + 4508 4364 4400 4507 + 4400 4364 4363 4507 + 4400 4363 4399 4507 + 4509 4365 4401 4508 + 4401 4365 4364 4508 + 4401 4364 4400 4508 + 4510 4366 4402 4509 + 4402 4366 4365 4509 + 4402 4365 4401 4509 + 4511 4367 4403 4510 + 4403 4367 4366 4510 + 4403 4366 4402 4510 + 4512 4368 4404 4511 + 4404 4368 4367 4511 + 4404 4367 4403 4511 + 4513 4369 4405 4512 + 4405 4369 4368 4512 + 4405 4368 4404 4512 + 4514 4370 4406 4513 + 4406 4370 4369 4513 + 4406 4369 4405 4513 + 4515 4371 4407 4514 + 4407 4371 4370 4514 + 4407 4370 4406 4514 + 4516 4372 4408 4515 + 4408 4372 4371 4515 + 4408 4371 4407 4515 + 4517 4373 4409 4516 + 4409 4373 4372 4516 + 4409 4372 4408 4516 + 4518 4374 4410 4517 + 4410 4374 4373 4517 + 4410 4373 4409 4517 + 4519 4375 4411 4518 + 4411 4375 4374 4518 + 4411 4374 4410 4518 + 4520 4376 4412 4519 + 4412 4376 4375 4519 + 4412 4375 4411 4519 + 4521 4377 4413 4520 + 4413 4377 4376 4520 + 4413 4376 4412 4520 + 4522 4378 4414 4521 + 4414 4378 4377 4521 + 4414 4377 4413 4521 + 4523 4379 4415 4522 + 4415 4379 4378 4522 + 4415 4378 4414 4522 + 4524 4380 4416 4523 + 4416 4380 4379 4523 + 4416 4379 4415 4523 + 4525 4381 4417 4524 + 4417 4381 4380 4524 + 4417 4380 4416 4524 + 4526 4382 4418 4525 + 4418 4382 4381 4525 + 4418 4381 4417 4525 + 4527 4383 4419 4526 + 4419 4383 4382 4526 + 4419 4382 4418 4526 + 4528 4384 4420 4527 + 4420 4384 4383 4527 + 4420 4383 4419 4527 + 4529 4385 4421 4528 + 4421 4385 4384 4528 + 4421 4384 4420 4528 + 4530 4386 4422 4529 + 4422 4386 4385 4529 + 4422 4385 4421 4529 + 4531 4387 4423 4530 + 4423 4387 4386 4530 + 4423 4386 4422 4530 + 4532 4388 4424 4531 + 4424 4388 4387 4531 + 4424 4387 4423 4531 + 4533 4389 4425 4532 + 4425 4389 4388 4532 + 4425 4388 4424 4532 + 4534 4390 4426 4533 + 4426 4390 4389 4533 + 4426 4389 4425 4533 + 4535 4391 4427 4534 + 4427 4391 4390 4534 + 4427 4390 4426 4534 + 4536 4392 4428 4535 + 4428 4392 4391 4535 + 4428 4391 4427 4535 + 4537 4393 4429 4536 + 4429 4393 4392 4536 + 4429 4392 4428 4536 + 4538 4394 4430 4537 + 4430 4394 4393 4537 + 4430 4393 4429 4537 + 4539 4395 4431 121 + 4431 4395 117 121 + 4431 117 118 121 + 4540 4396 4432 4539 + 4432 4396 4395 4539 + 4432 4395 4431 4539 + 4541 4397 4433 4540 + 4433 4397 4396 4540 + 4433 4396 4432 4540 + 4542 4398 4434 4541 + 4434 4398 4397 4541 + 4434 4397 4433 4541 + 4543 4399 4435 4542 + 4435 4399 4398 4542 + 4435 4398 4434 4542 + 4544 4400 4436 4543 + 4436 4400 4399 4543 + 4436 4399 4435 4543 + 4545 4401 4437 4544 + 4437 4401 4400 4544 + 4437 4400 4436 4544 + 4546 4402 4438 4545 + 4438 4402 4401 4545 + 4438 4401 4437 4545 + 4547 4403 4439 4546 + 4439 4403 4402 4546 + 4439 4402 4438 4546 + 4548 4404 4440 4547 + 4440 4404 4403 4547 + 4440 4403 4439 4547 + 4549 4405 4441 4548 + 4441 4405 4404 4548 + 4441 4404 4440 4548 + 4550 4406 4442 4549 + 4442 4406 4405 4549 + 4442 4405 4441 4549 + 4551 4407 4443 4550 + 4443 4407 4406 4550 + 4443 4406 4442 4550 + 4552 4408 4444 4551 + 4444 4408 4407 4551 + 4444 4407 4443 4551 + 4553 4409 4445 4552 + 4445 4409 4408 4552 + 4445 4408 4444 4552 + 4554 4410 4446 4553 + 4446 4410 4409 4553 + 4446 4409 4445 4553 + 4555 4411 4447 4554 + 4447 4411 4410 4554 + 4447 4410 4446 4554 + 4556 4412 4448 4555 + 4448 4412 4411 4555 + 4448 4411 4447 4555 + 4557 4413 4449 4556 + 4449 4413 4412 4556 + 4449 4412 4448 4556 + 4558 4414 4450 4557 + 4450 4414 4413 4557 + 4450 4413 4449 4557 + 4559 4415 4451 4558 + 4451 4415 4414 4558 + 4451 4414 4450 4558 + 4560 4416 4452 4559 + 4452 4416 4415 4559 + 4452 4415 4451 4559 + 4561 4417 4453 4560 + 4453 4417 4416 4560 + 4453 4416 4452 4560 + 4562 4418 4454 4561 + 4454 4418 4417 4561 + 4454 4417 4453 4561 + 4563 4419 4455 4562 + 4455 4419 4418 4562 + 4455 4418 4454 4562 + 4564 4420 4456 4563 + 4456 4420 4419 4563 + 4456 4419 4455 4563 + 4565 4421 4457 4564 + 4457 4421 4420 4564 + 4457 4420 4456 4564 + 4566 4422 4458 4565 + 4458 4422 4421 4565 + 4458 4421 4457 4565 + 4567 4423 4459 4566 + 4459 4423 4422 4566 + 4459 4422 4458 4566 + 4568 4424 4460 4567 + 4460 4424 4423 4567 + 4460 4423 4459 4567 + 4569 4425 4461 4568 + 4461 4425 4424 4568 + 4461 4424 4460 4568 + 4570 4426 4462 4569 + 4462 4426 4425 4569 + 4462 4425 4461 4569 + 4571 4427 4463 4570 + 4463 4427 4426 4570 + 4463 4426 4462 4570 + 4572 4428 4464 4571 + 4464 4428 4427 4571 + 4464 4427 4463 4571 + 4573 4429 4465 4572 + 4465 4429 4428 4572 + 4465 4428 4464 4572 + 4574 4430 4466 4573 + 4466 4430 4429 4573 + 4466 4429 4465 4573 + 4575 4431 579 122 + 579 4431 118 122 + 579 118 11 122 + 4576 4432 580 4575 + 580 4432 4431 4575 + 580 4431 579 4575 + 4577 4433 581 4576 + 581 4433 4432 4576 + 581 4432 580 4576 + 4578 4434 582 4577 + 582 4434 4433 4577 + 582 4433 581 4577 + 4579 4435 583 4578 + 583 4435 4434 4578 + 583 4434 582 4578 + 4580 4436 584 4579 + 584 4436 4435 4579 + 584 4435 583 4579 + 4581 4437 585 4580 + 585 4437 4436 4580 + 585 4436 584 4580 + 4582 4438 586 4581 + 586 4438 4437 4581 + 586 4437 585 4581 + 4583 4439 587 4582 + 587 4439 4438 4582 + 587 4438 586 4582 + 4584 4440 588 4583 + 588 4440 4439 4583 + 588 4439 587 4583 + 4585 4441 589 4584 + 589 4441 4440 4584 + 589 4440 588 4584 + 4586 4442 590 4585 + 590 4442 4441 4585 + 590 4441 589 4585 + 4587 4443 591 4586 + 591 4443 4442 4586 + 591 4442 590 4586 + 4588 4444 592 4587 + 592 4444 4443 4587 + 592 4443 591 4587 + 4589 4445 593 4588 + 593 4445 4444 4588 + 593 4444 592 4588 + 4590 4446 594 4589 + 594 4446 4445 4589 + 594 4445 593 4589 + 4591 4447 595 4590 + 595 4447 4446 4590 + 595 4446 594 4590 + 4592 4448 596 4591 + 596 4448 4447 4591 + 596 4447 595 4591 + 4593 4449 597 4592 + 597 4449 4448 4592 + 597 4448 596 4592 + 4594 4450 598 4593 + 598 4450 4449 4593 + 598 4449 597 4593 + 4595 4451 599 4594 + 599 4451 4450 4594 + 599 4450 598 4594 + 4596 4452 600 4595 + 600 4452 4451 4595 + 600 4451 599 4595 + 4597 4453 601 4596 + 601 4453 4452 4596 + 601 4452 600 4596 + 4598 4454 602 4597 + 602 4454 4453 4597 + 602 4453 601 4597 + 4599 4455 603 4598 + 603 4455 4454 4598 + 603 4454 602 4598 + 4600 4456 604 4599 + 604 4456 4455 4599 + 604 4455 603 4599 + 4601 4457 605 4600 + 605 4457 4456 4600 + 605 4456 604 4600 + 4602 4458 606 4601 + 606 4458 4457 4601 + 606 4457 605 4601 + 4603 4459 607 4602 + 607 4459 4458 4602 + 607 4458 606 4602 + 4604 4460 608 4603 + 608 4460 4459 4603 + 608 4459 607 4603 + 4605 4461 609 4604 + 609 4461 4460 4604 + 609 4460 608 4604 + 4606 4462 610 4605 + 610 4462 4461 4605 + 610 4461 609 4605 + 4607 4463 611 4606 + 611 4463 4462 4606 + 611 4462 610 4606 + 4608 4464 612 4607 + 612 4464 4463 4607 + 612 4463 611 4607 + 4609 4465 613 4608 + 613 4465 4464 4608 + 613 4464 612 4608 + 4610 4466 614 4609 + 614 4466 4465 4609 + 614 4465 613 4609 + 106 112 123 3999 + 4215 4611 112 3999 + 4611 123 112 3999 + 3999 4215 4611 4000 + 4216 4612 4215 4000 + 4612 4611 4215 4000 + 4000 4216 4612 4001 + 4217 4613 4216 4001 + 4613 4612 4216 4001 + 4001 4217 4613 4002 + 4218 4614 4217 4002 + 4614 4613 4217 4002 + 4002 4218 4614 4003 + 4219 4615 4218 4003 + 4615 4614 4218 4003 + 4003 4219 4615 4004 + 4220 4616 4219 4004 + 4616 4615 4219 4004 + 4004 4220 4616 4005 + 4221 4617 4220 4005 + 4617 4616 4220 4005 + 4005 4221 4617 4006 + 4222 4618 4221 4006 + 4618 4617 4221 4006 + 4006 4222 4618 4007 + 4223 4619 4222 4007 + 4619 4618 4222 4007 + 4007 4223 4619 4008 + 4224 4620 4223 4008 + 4620 4619 4223 4008 + 4008 4224 4620 4009 + 4225 4621 4224 4009 + 4621 4620 4224 4009 + 4009 4225 4621 4010 + 4226 4622 4225 4010 + 4622 4621 4225 4010 + 4010 4226 4622 4011 + 4227 4623 4226 4011 + 4623 4622 4226 4011 + 4011 4227 4623 4012 + 4228 4624 4227 4012 + 4624 4623 4227 4012 + 4012 4228 4624 4013 + 4229 4625 4228 4013 + 4625 4624 4228 4013 + 4013 4229 4625 4014 + 4230 4626 4229 4014 + 4626 4625 4229 4014 + 4014 4230 4626 4015 + 4231 4627 4230 4015 + 4627 4626 4230 4015 + 4015 4231 4627 4016 + 4232 4628 4231 4016 + 4628 4627 4231 4016 + 4016 4232 4628 4017 + 4233 4629 4232 4017 + 4629 4628 4232 4017 + 4017 4233 4629 4018 + 4234 4630 4233 4018 + 4630 4629 4233 4018 + 4018 4234 4630 4019 + 4235 4631 4234 4019 + 4631 4630 4234 4019 + 4019 4235 4631 4020 + 4236 4632 4235 4020 + 4632 4631 4235 4020 + 4020 4236 4632 4021 + 4237 4633 4236 4021 + 4633 4632 4236 4021 + 4021 4237 4633 4022 + 4238 4634 4237 4022 + 4634 4633 4237 4022 + 4022 4238 4634 4023 + 4239 4635 4238 4023 + 4635 4634 4238 4023 + 4023 4239 4635 4024 + 4240 4636 4239 4024 + 4636 4635 4239 4024 + 4024 4240 4636 4025 + 4241 4637 4240 4025 + 4637 4636 4240 4025 + 4025 4241 4637 4026 + 4242 4638 4241 4026 + 4638 4637 4241 4026 + 4026 4242 4638 4027 + 4243 4639 4242 4027 + 4639 4638 4242 4027 + 4027 4243 4639 4028 + 4244 4640 4243 4028 + 4640 4639 4243 4028 + 4028 4244 4640 4029 + 4245 4641 4244 4029 + 4641 4640 4244 4029 + 4029 4245 4641 4030 + 4246 4642 4245 4030 + 4642 4641 4245 4030 + 4030 4246 4642 4031 + 4247 4643 4246 4031 + 4643 4642 4246 4031 + 4031 4247 4643 4032 + 4248 4644 4247 4032 + 4644 4643 4247 4032 + 4032 4248 4644 4033 + 4249 4645 4248 4033 + 4645 4644 4248 4033 + 4033 4249 4645 4034 + 4250 4646 4249 4034 + 4646 4645 4249 4034 + 119 123 124 4467 + 4611 4647 123 4467 + 4647 124 123 4467 + 4467 4611 4647 4468 + 4612 4648 4611 4468 + 4648 4647 4611 4468 + 4468 4612 4648 4469 + 4613 4649 4612 4469 + 4649 4648 4612 4469 + 4469 4613 4649 4470 + 4614 4650 4613 4470 + 4650 4649 4613 4470 + 4470 4614 4650 4471 + 4615 4651 4614 4471 + 4651 4650 4614 4471 + 4471 4615 4651 4472 + 4616 4652 4615 4472 + 4652 4651 4615 4472 + 4472 4616 4652 4473 + 4617 4653 4616 4473 + 4653 4652 4616 4473 + 4473 4617 4653 4474 + 4618 4654 4617 4474 + 4654 4653 4617 4474 + 4474 4618 4654 4475 + 4619 4655 4618 4475 + 4655 4654 4618 4475 + 4475 4619 4655 4476 + 4620 4656 4619 4476 + 4656 4655 4619 4476 + 4476 4620 4656 4477 + 4621 4657 4620 4477 + 4657 4656 4620 4477 + 4477 4621 4657 4478 + 4622 4658 4621 4478 + 4658 4657 4621 4478 + 4478 4622 4658 4479 + 4623 4659 4622 4479 + 4659 4658 4622 4479 + 4479 4623 4659 4480 + 4624 4660 4623 4480 + 4660 4659 4623 4480 + 4480 4624 4660 4481 + 4625 4661 4624 4481 + 4661 4660 4624 4481 + 4481 4625 4661 4482 + 4626 4662 4625 4482 + 4662 4661 4625 4482 + 4482 4626 4662 4483 + 4627 4663 4626 4483 + 4663 4662 4626 4483 + 4483 4627 4663 4484 + 4628 4664 4627 4484 + 4664 4663 4627 4484 + 4484 4628 4664 4485 + 4629 4665 4628 4485 + 4665 4664 4628 4485 + 4485 4629 4665 4486 + 4630 4666 4629 4486 + 4666 4665 4629 4486 + 4486 4630 4666 4487 + 4631 4667 4630 4487 + 4667 4666 4630 4487 + 4487 4631 4667 4488 + 4632 4668 4631 4488 + 4668 4667 4631 4488 + 4488 4632 4668 4489 + 4633 4669 4632 4489 + 4669 4668 4632 4489 + 4489 4633 4669 4490 + 4634 4670 4633 4490 + 4670 4669 4633 4490 + 4490 4634 4670 4491 + 4635 4671 4634 4491 + 4671 4670 4634 4491 + 4491 4635 4671 4492 + 4636 4672 4635 4492 + 4672 4671 4635 4492 + 4492 4636 4672 4493 + 4637 4673 4636 4493 + 4673 4672 4636 4493 + 4493 4637 4673 4494 + 4638 4674 4637 4494 + 4674 4673 4637 4494 + 4494 4638 4674 4495 + 4639 4675 4638 4495 + 4675 4674 4638 4495 + 4495 4639 4675 4496 + 4640 4676 4639 4496 + 4676 4675 4639 4496 + 4496 4640 4676 4497 + 4641 4677 4640 4497 + 4677 4676 4640 4497 + 4497 4641 4677 4498 + 4642 4678 4641 4498 + 4678 4677 4641 4498 + 4498 4642 4678 4499 + 4643 4679 4642 4499 + 4679 4678 4642 4499 + 4499 4643 4679 4500 + 4644 4680 4643 4500 + 4680 4679 4643 4500 + 4500 4644 4680 4501 + 4645 4681 4644 4501 + 4681 4680 4644 4501 + 4501 4645 4681 4502 + 4646 4682 4645 4502 + 4682 4681 4645 4502 + 120 124 125 4503 + 4647 4683 124 4503 + 4683 125 124 4503 + 4503 4647 4683 4504 + 4648 4684 4647 4504 + 4684 4683 4647 4504 + 4504 4648 4684 4505 + 4649 4685 4648 4505 + 4685 4684 4648 4505 + 4505 4649 4685 4506 + 4650 4686 4649 4506 + 4686 4685 4649 4506 + 4506 4650 4686 4507 + 4651 4687 4650 4507 + 4687 4686 4650 4507 + 4507 4651 4687 4508 + 4652 4688 4651 4508 + 4688 4687 4651 4508 + 4508 4652 4688 4509 + 4653 4689 4652 4509 + 4689 4688 4652 4509 + 4509 4653 4689 4510 + 4654 4690 4653 4510 + 4690 4689 4653 4510 + 4510 4654 4690 4511 + 4655 4691 4654 4511 + 4691 4690 4654 4511 + 4511 4655 4691 4512 + 4656 4692 4655 4512 + 4692 4691 4655 4512 + 4512 4656 4692 4513 + 4657 4693 4656 4513 + 4693 4692 4656 4513 + 4513 4657 4693 4514 + 4658 4694 4657 4514 + 4694 4693 4657 4514 + 4514 4658 4694 4515 + 4659 4695 4658 4515 + 4695 4694 4658 4515 + 4515 4659 4695 4516 + 4660 4696 4659 4516 + 4696 4695 4659 4516 + 4516 4660 4696 4517 + 4661 4697 4660 4517 + 4697 4696 4660 4517 + 4517 4661 4697 4518 + 4662 4698 4661 4518 + 4698 4697 4661 4518 + 4518 4662 4698 4519 + 4663 4699 4662 4519 + 4699 4698 4662 4519 + 4519 4663 4699 4520 + 4664 4700 4663 4520 + 4700 4699 4663 4520 + 4520 4664 4700 4521 + 4665 4701 4664 4521 + 4701 4700 4664 4521 + 4521 4665 4701 4522 + 4666 4702 4665 4522 + 4702 4701 4665 4522 + 4522 4666 4702 4523 + 4667 4703 4666 4523 + 4703 4702 4666 4523 + 4523 4667 4703 4524 + 4668 4704 4667 4524 + 4704 4703 4667 4524 + 4524 4668 4704 4525 + 4669 4705 4668 4525 + 4705 4704 4668 4525 + 4525 4669 4705 4526 + 4670 4706 4669 4526 + 4706 4705 4669 4526 + 4526 4670 4706 4527 + 4671 4707 4670 4527 + 4707 4706 4670 4527 + 4527 4671 4707 4528 + 4672 4708 4671 4528 + 4708 4707 4671 4528 + 4528 4672 4708 4529 + 4673 4709 4672 4529 + 4709 4708 4672 4529 + 4529 4673 4709 4530 + 4674 4710 4673 4530 + 4710 4709 4673 4530 + 4530 4674 4710 4531 + 4675 4711 4674 4531 + 4711 4710 4674 4531 + 4531 4675 4711 4532 + 4676 4712 4675 4532 + 4712 4711 4675 4532 + 4532 4676 4712 4533 + 4677 4713 4676 4533 + 4713 4712 4676 4533 + 4533 4677 4713 4534 + 4678 4714 4677 4534 + 4714 4713 4677 4534 + 4534 4678 4714 4535 + 4679 4715 4678 4535 + 4715 4714 4678 4535 + 4535 4679 4715 4536 + 4680 4716 4679 4536 + 4716 4715 4679 4536 + 4536 4680 4716 4537 + 4681 4717 4680 4537 + 4717 4716 4680 4537 + 4537 4681 4717 4538 + 4682 4718 4681 4538 + 4718 4717 4681 4538 + 121 125 126 4539 + 4683 4719 125 4539 + 4719 126 125 4539 + 4539 4683 4719 4540 + 4684 4720 4683 4540 + 4720 4719 4683 4540 + 4540 4684 4720 4541 + 4685 4721 4684 4541 + 4721 4720 4684 4541 + 4541 4685 4721 4542 + 4686 4722 4685 4542 + 4722 4721 4685 4542 + 4542 4686 4722 4543 + 4687 4723 4686 4543 + 4723 4722 4686 4543 + 4543 4687 4723 4544 + 4688 4724 4687 4544 + 4724 4723 4687 4544 + 4544 4688 4724 4545 + 4689 4725 4688 4545 + 4725 4724 4688 4545 + 4545 4689 4725 4546 + 4690 4726 4689 4546 + 4726 4725 4689 4546 + 4546 4690 4726 4547 + 4691 4727 4690 4547 + 4727 4726 4690 4547 + 4547 4691 4727 4548 + 4692 4728 4691 4548 + 4728 4727 4691 4548 + 4548 4692 4728 4549 + 4693 4729 4692 4549 + 4729 4728 4692 4549 + 4549 4693 4729 4550 + 4694 4730 4693 4550 + 4730 4729 4693 4550 + 4550 4694 4730 4551 + 4695 4731 4694 4551 + 4731 4730 4694 4551 + 4551 4695 4731 4552 + 4696 4732 4695 4552 + 4732 4731 4695 4552 + 4552 4696 4732 4553 + 4697 4733 4696 4553 + 4733 4732 4696 4553 + 4553 4697 4733 4554 + 4698 4734 4697 4554 + 4734 4733 4697 4554 + 4554 4698 4734 4555 + 4699 4735 4698 4555 + 4735 4734 4698 4555 + 4555 4699 4735 4556 + 4700 4736 4699 4556 + 4736 4735 4699 4556 + 4556 4700 4736 4557 + 4701 4737 4700 4557 + 4737 4736 4700 4557 + 4557 4701 4737 4558 + 4702 4738 4701 4558 + 4738 4737 4701 4558 + 4558 4702 4738 4559 + 4703 4739 4702 4559 + 4739 4738 4702 4559 + 4559 4703 4739 4560 + 4704 4740 4703 4560 + 4740 4739 4703 4560 + 4560 4704 4740 4561 + 4705 4741 4704 4561 + 4741 4740 4704 4561 + 4561 4705 4741 4562 + 4706 4742 4705 4562 + 4742 4741 4705 4562 + 4562 4706 4742 4563 + 4707 4743 4706 4563 + 4743 4742 4706 4563 + 4563 4707 4743 4564 + 4708 4744 4707 4564 + 4744 4743 4707 4564 + 4564 4708 4744 4565 + 4709 4745 4708 4565 + 4745 4744 4708 4565 + 4565 4709 4745 4566 + 4710 4746 4709 4566 + 4746 4745 4709 4566 + 4566 4710 4746 4567 + 4711 4747 4710 4567 + 4747 4746 4710 4567 + 4567 4711 4747 4568 + 4712 4748 4711 4568 + 4748 4747 4711 4568 + 4568 4712 4748 4569 + 4713 4749 4712 4569 + 4749 4748 4712 4569 + 4569 4713 4749 4570 + 4714 4750 4713 4570 + 4750 4749 4713 4570 + 4570 4714 4750 4571 + 4715 4751 4714 4571 + 4751 4750 4714 4571 + 4571 4715 4751 4572 + 4716 4752 4715 4572 + 4752 4751 4715 4572 + 4572 4716 4752 4573 + 4717 4753 4716 4573 + 4753 4752 4716 4573 + 4573 4717 4753 4574 + 4718 4754 4717 4574 + 4754 4753 4717 4574 + 122 126 127 4575 + 4719 4755 126 4575 + 4755 127 126 4575 + 4575 4719 4755 4576 + 4720 4756 4719 4576 + 4756 4755 4719 4576 + 4576 4720 4756 4577 + 4721 4757 4720 4577 + 4757 4756 4720 4577 + 4577 4721 4757 4578 + 4722 4758 4721 4578 + 4758 4757 4721 4578 + 4578 4722 4758 4579 + 4723 4759 4722 4579 + 4759 4758 4722 4579 + 4579 4723 4759 4580 + 4724 4760 4723 4580 + 4760 4759 4723 4580 + 4580 4724 4760 4581 + 4725 4761 4724 4581 + 4761 4760 4724 4581 + 4581 4725 4761 4582 + 4726 4762 4725 4582 + 4762 4761 4725 4582 + 4582 4726 4762 4583 + 4727 4763 4726 4583 + 4763 4762 4726 4583 + 4583 4727 4763 4584 + 4728 4764 4727 4584 + 4764 4763 4727 4584 + 4584 4728 4764 4585 + 4729 4765 4728 4585 + 4765 4764 4728 4585 + 4585 4729 4765 4586 + 4730 4766 4729 4586 + 4766 4765 4729 4586 + 4586 4730 4766 4587 + 4731 4767 4730 4587 + 4767 4766 4730 4587 + 4587 4731 4767 4588 + 4732 4768 4731 4588 + 4768 4767 4731 4588 + 4588 4732 4768 4589 + 4733 4769 4732 4589 + 4769 4768 4732 4589 + 4589 4733 4769 4590 + 4734 4770 4733 4590 + 4770 4769 4733 4590 + 4590 4734 4770 4591 + 4735 4771 4734 4591 + 4771 4770 4734 4591 + 4591 4735 4771 4592 + 4736 4772 4735 4592 + 4772 4771 4735 4592 + 4592 4736 4772 4593 + 4737 4773 4736 4593 + 4773 4772 4736 4593 + 4593 4737 4773 4594 + 4738 4774 4737 4594 + 4774 4773 4737 4594 + 4594 4738 4774 4595 + 4739 4775 4738 4595 + 4775 4774 4738 4595 + 4595 4739 4775 4596 + 4740 4776 4739 4596 + 4776 4775 4739 4596 + 4596 4740 4776 4597 + 4741 4777 4740 4597 + 4777 4776 4740 4597 + 4597 4741 4777 4598 + 4742 4778 4741 4598 + 4778 4777 4741 4598 + 4598 4742 4778 4599 + 4743 4779 4742 4599 + 4779 4778 4742 4599 + 4599 4743 4779 4600 + 4744 4780 4743 4600 + 4780 4779 4743 4600 + 4600 4744 4780 4601 + 4745 4781 4744 4601 + 4781 4780 4744 4601 + 4601 4745 4781 4602 + 4746 4782 4745 4602 + 4782 4781 4745 4602 + 4602 4746 4782 4603 + 4747 4783 4746 4603 + 4783 4782 4746 4603 + 4603 4747 4783 4604 + 4748 4784 4747 4604 + 4784 4783 4747 4604 + 4604 4748 4784 4605 + 4749 4785 4748 4605 + 4785 4784 4748 4605 + 4605 4749 4785 4606 + 4750 4786 4749 4606 + 4786 4785 4749 4606 + 4606 4750 4786 4607 + 4751 4787 4750 4607 + 4787 4786 4750 4607 + 4607 4751 4787 4608 + 4752 4788 4751 4608 + 4788 4787 4751 4608 + 4608 4752 4788 4609 + 4753 4789 4752 4609 + 4789 4788 4752 4609 + 4609 4753 4789 4610 + 4754 4790 4753 4610 + 4790 4789 4753 4610 + 16 127 22 759 + 4755 975 127 759 + 975 22 127 759 + 759 4755 975 760 + 4756 976 4755 760 + 976 975 4755 760 + 760 4756 976 761 + 4757 977 4756 761 + 977 976 4756 761 + 761 4757 977 762 + 4758 978 4757 762 + 978 977 4757 762 + 762 4758 978 763 + 4759 979 4758 763 + 979 978 4758 763 + 763 4759 979 764 + 4760 980 4759 764 + 980 979 4759 764 + 764 4760 980 765 + 4761 981 4760 765 + 981 980 4760 765 + 765 4761 981 766 + 4762 982 4761 766 + 982 981 4761 766 + 766 4762 982 767 + 4763 983 4762 767 + 983 982 4762 767 + 767 4763 983 768 + 4764 984 4763 768 + 984 983 4763 768 + 768 4764 984 769 + 4765 985 4764 769 + 985 984 4764 769 + 769 4765 985 770 + 4766 986 4765 770 + 986 985 4765 770 + 770 4766 986 771 + 4767 987 4766 771 + 987 986 4766 771 + 771 4767 987 772 + 4768 988 4767 772 + 988 987 4767 772 + 772 4768 988 773 + 4769 989 4768 773 + 989 988 4768 773 + 773 4769 989 774 + 4770 990 4769 774 + 990 989 4769 774 + 774 4770 990 775 + 4771 991 4770 775 + 991 990 4770 775 + 775 4771 991 776 + 4772 992 4771 776 + 992 991 4771 776 + 776 4772 992 777 + 4773 993 4772 777 + 993 992 4772 777 + 777 4773 993 778 + 4774 994 4773 778 + 994 993 4773 778 + 778 4774 994 779 + 4775 995 4774 779 + 995 994 4774 779 + 779 4775 995 780 + 4776 996 4775 780 + 996 995 4775 780 + 780 4776 996 781 + 4777 997 4776 781 + 997 996 4776 781 + 781 4777 997 782 + 4778 998 4777 782 + 998 997 4777 782 + 782 4778 998 783 + 4779 999 4778 783 + 999 998 4778 783 + 783 4779 999 784 + 4780 1000 4779 784 + 1000 999 4779 784 + 784 4780 1000 785 + 4781 1001 4780 785 + 1001 1000 4780 785 + 785 4781 1001 786 + 4782 1002 4781 786 + 1002 1001 4781 786 + 786 4782 1002 787 + 4783 1003 4782 787 + 1003 1002 4782 787 + 787 4783 1003 788 + 4784 1004 4783 788 + 1004 1003 4783 788 + 788 4784 1004 789 + 4785 1005 4784 789 + 1005 1004 4784 789 + 789 4785 1005 790 + 4786 1006 4785 790 + 1006 1005 4785 790 + 790 4786 1006 791 + 4787 1007 4786 791 + 1007 1006 4786 791 + 791 4787 1007 792 + 4788 1008 4787 792 + 1008 1007 4787 792 + 792 4788 1008 793 + 4789 1009 4788 793 + 1009 1008 4788 793 + 793 4789 1009 794 + 4790 1010 4789 794 + 1010 1009 4789 794 + 4611 3999 4467 123 + 4467 3999 106 123 + 4467 106 119 123 + 4612 4000 4468 4611 + 4468 4000 3999 4611 + 4468 3999 4467 4611 + 4613 4001 4469 4612 + 4469 4001 4000 4612 + 4469 4000 4468 4612 + 4614 4002 4470 4613 + 4470 4002 4001 4613 + 4470 4001 4469 4613 + 4615 4003 4471 4614 + 4471 4003 4002 4614 + 4471 4002 4470 4614 + 4616 4004 4472 4615 + 4472 4004 4003 4615 + 4472 4003 4471 4615 + 4617 4005 4473 4616 + 4473 4005 4004 4616 + 4473 4004 4472 4616 + 4618 4006 4474 4617 + 4474 4006 4005 4617 + 4474 4005 4473 4617 + 4619 4007 4475 4618 + 4475 4007 4006 4618 + 4475 4006 4474 4618 + 4620 4008 4476 4619 + 4476 4008 4007 4619 + 4476 4007 4475 4619 + 4621 4009 4477 4620 + 4477 4009 4008 4620 + 4477 4008 4476 4620 + 4622 4010 4478 4621 + 4478 4010 4009 4621 + 4478 4009 4477 4621 + 4623 4011 4479 4622 + 4479 4011 4010 4622 + 4479 4010 4478 4622 + 4624 4012 4480 4623 + 4480 4012 4011 4623 + 4480 4011 4479 4623 + 4625 4013 4481 4624 + 4481 4013 4012 4624 + 4481 4012 4480 4624 + 4626 4014 4482 4625 + 4482 4014 4013 4625 + 4482 4013 4481 4625 + 4627 4015 4483 4626 + 4483 4015 4014 4626 + 4483 4014 4482 4626 + 4628 4016 4484 4627 + 4484 4016 4015 4627 + 4484 4015 4483 4627 + 4629 4017 4485 4628 + 4485 4017 4016 4628 + 4485 4016 4484 4628 + 4630 4018 4486 4629 + 4486 4018 4017 4629 + 4486 4017 4485 4629 + 4631 4019 4487 4630 + 4487 4019 4018 4630 + 4487 4018 4486 4630 + 4632 4020 4488 4631 + 4488 4020 4019 4631 + 4488 4019 4487 4631 + 4633 4021 4489 4632 + 4489 4021 4020 4632 + 4489 4020 4488 4632 + 4634 4022 4490 4633 + 4490 4022 4021 4633 + 4490 4021 4489 4633 + 4635 4023 4491 4634 + 4491 4023 4022 4634 + 4491 4022 4490 4634 + 4636 4024 4492 4635 + 4492 4024 4023 4635 + 4492 4023 4491 4635 + 4637 4025 4493 4636 + 4493 4025 4024 4636 + 4493 4024 4492 4636 + 4638 4026 4494 4637 + 4494 4026 4025 4637 + 4494 4025 4493 4637 + 4639 4027 4495 4638 + 4495 4027 4026 4638 + 4495 4026 4494 4638 + 4640 4028 4496 4639 + 4496 4028 4027 4639 + 4496 4027 4495 4639 + 4641 4029 4497 4640 + 4497 4029 4028 4640 + 4497 4028 4496 4640 + 4642 4030 4498 4641 + 4498 4030 4029 4641 + 4498 4029 4497 4641 + 4643 4031 4499 4642 + 4499 4031 4030 4642 + 4499 4030 4498 4642 + 4644 4032 4500 4643 + 4500 4032 4031 4643 + 4500 4031 4499 4643 + 4645 4033 4501 4644 + 4501 4033 4032 4644 + 4501 4032 4500 4644 + 4646 4034 4502 4645 + 4502 4034 4033 4645 + 4502 4033 4501 4645 + 4647 4467 4503 124 + 4503 4467 119 124 + 4503 119 120 124 + 4648 4468 4504 4647 + 4504 4468 4467 4647 + 4504 4467 4503 4647 + 4649 4469 4505 4648 + 4505 4469 4468 4648 + 4505 4468 4504 4648 + 4650 4470 4506 4649 + 4506 4470 4469 4649 + 4506 4469 4505 4649 + 4651 4471 4507 4650 + 4507 4471 4470 4650 + 4507 4470 4506 4650 + 4652 4472 4508 4651 + 4508 4472 4471 4651 + 4508 4471 4507 4651 + 4653 4473 4509 4652 + 4509 4473 4472 4652 + 4509 4472 4508 4652 + 4654 4474 4510 4653 + 4510 4474 4473 4653 + 4510 4473 4509 4653 + 4655 4475 4511 4654 + 4511 4475 4474 4654 + 4511 4474 4510 4654 + 4656 4476 4512 4655 + 4512 4476 4475 4655 + 4512 4475 4511 4655 + 4657 4477 4513 4656 + 4513 4477 4476 4656 + 4513 4476 4512 4656 + 4658 4478 4514 4657 + 4514 4478 4477 4657 + 4514 4477 4513 4657 + 4659 4479 4515 4658 + 4515 4479 4478 4658 + 4515 4478 4514 4658 + 4660 4480 4516 4659 + 4516 4480 4479 4659 + 4516 4479 4515 4659 + 4661 4481 4517 4660 + 4517 4481 4480 4660 + 4517 4480 4516 4660 + 4662 4482 4518 4661 + 4518 4482 4481 4661 + 4518 4481 4517 4661 + 4663 4483 4519 4662 + 4519 4483 4482 4662 + 4519 4482 4518 4662 + 4664 4484 4520 4663 + 4520 4484 4483 4663 + 4520 4483 4519 4663 + 4665 4485 4521 4664 + 4521 4485 4484 4664 + 4521 4484 4520 4664 + 4666 4486 4522 4665 + 4522 4486 4485 4665 + 4522 4485 4521 4665 + 4667 4487 4523 4666 + 4523 4487 4486 4666 + 4523 4486 4522 4666 + 4668 4488 4524 4667 + 4524 4488 4487 4667 + 4524 4487 4523 4667 + 4669 4489 4525 4668 + 4525 4489 4488 4668 + 4525 4488 4524 4668 + 4670 4490 4526 4669 + 4526 4490 4489 4669 + 4526 4489 4525 4669 + 4671 4491 4527 4670 + 4527 4491 4490 4670 + 4527 4490 4526 4670 + 4672 4492 4528 4671 + 4528 4492 4491 4671 + 4528 4491 4527 4671 + 4673 4493 4529 4672 + 4529 4493 4492 4672 + 4529 4492 4528 4672 + 4674 4494 4530 4673 + 4530 4494 4493 4673 + 4530 4493 4529 4673 + 4675 4495 4531 4674 + 4531 4495 4494 4674 + 4531 4494 4530 4674 + 4676 4496 4532 4675 + 4532 4496 4495 4675 + 4532 4495 4531 4675 + 4677 4497 4533 4676 + 4533 4497 4496 4676 + 4533 4496 4532 4676 + 4678 4498 4534 4677 + 4534 4498 4497 4677 + 4534 4497 4533 4677 + 4679 4499 4535 4678 + 4535 4499 4498 4678 + 4535 4498 4534 4678 + 4680 4500 4536 4679 + 4536 4500 4499 4679 + 4536 4499 4535 4679 + 4681 4501 4537 4680 + 4537 4501 4500 4680 + 4537 4500 4536 4680 + 4682 4502 4538 4681 + 4538 4502 4501 4681 + 4538 4501 4537 4681 + 4683 4503 4539 125 + 4539 4503 120 125 + 4539 120 121 125 + 4684 4504 4540 4683 + 4540 4504 4503 4683 + 4540 4503 4539 4683 + 4685 4505 4541 4684 + 4541 4505 4504 4684 + 4541 4504 4540 4684 + 4686 4506 4542 4685 + 4542 4506 4505 4685 + 4542 4505 4541 4685 + 4687 4507 4543 4686 + 4543 4507 4506 4686 + 4543 4506 4542 4686 + 4688 4508 4544 4687 + 4544 4508 4507 4687 + 4544 4507 4543 4687 + 4689 4509 4545 4688 + 4545 4509 4508 4688 + 4545 4508 4544 4688 + 4690 4510 4546 4689 + 4546 4510 4509 4689 + 4546 4509 4545 4689 + 4691 4511 4547 4690 + 4547 4511 4510 4690 + 4547 4510 4546 4690 + 4692 4512 4548 4691 + 4548 4512 4511 4691 + 4548 4511 4547 4691 + 4693 4513 4549 4692 + 4549 4513 4512 4692 + 4549 4512 4548 4692 + 4694 4514 4550 4693 + 4550 4514 4513 4693 + 4550 4513 4549 4693 + 4695 4515 4551 4694 + 4551 4515 4514 4694 + 4551 4514 4550 4694 + 4696 4516 4552 4695 + 4552 4516 4515 4695 + 4552 4515 4551 4695 + 4697 4517 4553 4696 + 4553 4517 4516 4696 + 4553 4516 4552 4696 + 4698 4518 4554 4697 + 4554 4518 4517 4697 + 4554 4517 4553 4697 + 4699 4519 4555 4698 + 4555 4519 4518 4698 + 4555 4518 4554 4698 + 4700 4520 4556 4699 + 4556 4520 4519 4699 + 4556 4519 4555 4699 + 4701 4521 4557 4700 + 4557 4521 4520 4700 + 4557 4520 4556 4700 + 4702 4522 4558 4701 + 4558 4522 4521 4701 + 4558 4521 4557 4701 + 4703 4523 4559 4702 + 4559 4523 4522 4702 + 4559 4522 4558 4702 + 4704 4524 4560 4703 + 4560 4524 4523 4703 + 4560 4523 4559 4703 + 4705 4525 4561 4704 + 4561 4525 4524 4704 + 4561 4524 4560 4704 + 4706 4526 4562 4705 + 4562 4526 4525 4705 + 4562 4525 4561 4705 + 4707 4527 4563 4706 + 4563 4527 4526 4706 + 4563 4526 4562 4706 + 4708 4528 4564 4707 + 4564 4528 4527 4707 + 4564 4527 4563 4707 + 4709 4529 4565 4708 + 4565 4529 4528 4708 + 4565 4528 4564 4708 + 4710 4530 4566 4709 + 4566 4530 4529 4709 + 4566 4529 4565 4709 + 4711 4531 4567 4710 + 4567 4531 4530 4710 + 4567 4530 4566 4710 + 4712 4532 4568 4711 + 4568 4532 4531 4711 + 4568 4531 4567 4711 + 4713 4533 4569 4712 + 4569 4533 4532 4712 + 4569 4532 4568 4712 + 4714 4534 4570 4713 + 4570 4534 4533 4713 + 4570 4533 4569 4713 + 4715 4535 4571 4714 + 4571 4535 4534 4714 + 4571 4534 4570 4714 + 4716 4536 4572 4715 + 4572 4536 4535 4715 + 4572 4535 4571 4715 + 4717 4537 4573 4716 + 4573 4537 4536 4716 + 4573 4536 4572 4716 + 4718 4538 4574 4717 + 4574 4538 4537 4717 + 4574 4537 4573 4717 + 4719 4539 4575 126 + 4575 4539 121 126 + 4575 121 122 126 + 4720 4540 4576 4719 + 4576 4540 4539 4719 + 4576 4539 4575 4719 + 4721 4541 4577 4720 + 4577 4541 4540 4720 + 4577 4540 4576 4720 + 4722 4542 4578 4721 + 4578 4542 4541 4721 + 4578 4541 4577 4721 + 4723 4543 4579 4722 + 4579 4543 4542 4722 + 4579 4542 4578 4722 + 4724 4544 4580 4723 + 4580 4544 4543 4723 + 4580 4543 4579 4723 + 4725 4545 4581 4724 + 4581 4545 4544 4724 + 4581 4544 4580 4724 + 4726 4546 4582 4725 + 4582 4546 4545 4725 + 4582 4545 4581 4725 + 4727 4547 4583 4726 + 4583 4547 4546 4726 + 4583 4546 4582 4726 + 4728 4548 4584 4727 + 4584 4548 4547 4727 + 4584 4547 4583 4727 + 4729 4549 4585 4728 + 4585 4549 4548 4728 + 4585 4548 4584 4728 + 4730 4550 4586 4729 + 4586 4550 4549 4729 + 4586 4549 4585 4729 + 4731 4551 4587 4730 + 4587 4551 4550 4730 + 4587 4550 4586 4730 + 4732 4552 4588 4731 + 4588 4552 4551 4731 + 4588 4551 4587 4731 + 4733 4553 4589 4732 + 4589 4553 4552 4732 + 4589 4552 4588 4732 + 4734 4554 4590 4733 + 4590 4554 4553 4733 + 4590 4553 4589 4733 + 4735 4555 4591 4734 + 4591 4555 4554 4734 + 4591 4554 4590 4734 + 4736 4556 4592 4735 + 4592 4556 4555 4735 + 4592 4555 4591 4735 + 4737 4557 4593 4736 + 4593 4557 4556 4736 + 4593 4556 4592 4736 + 4738 4558 4594 4737 + 4594 4558 4557 4737 + 4594 4557 4593 4737 + 4739 4559 4595 4738 + 4595 4559 4558 4738 + 4595 4558 4594 4738 + 4740 4560 4596 4739 + 4596 4560 4559 4739 + 4596 4559 4595 4739 + 4741 4561 4597 4740 + 4597 4561 4560 4740 + 4597 4560 4596 4740 + 4742 4562 4598 4741 + 4598 4562 4561 4741 + 4598 4561 4597 4741 + 4743 4563 4599 4742 + 4599 4563 4562 4742 + 4599 4562 4598 4742 + 4744 4564 4600 4743 + 4600 4564 4563 4743 + 4600 4563 4599 4743 + 4745 4565 4601 4744 + 4601 4565 4564 4744 + 4601 4564 4600 4744 + 4746 4566 4602 4745 + 4602 4566 4565 4745 + 4602 4565 4601 4745 + 4747 4567 4603 4746 + 4603 4567 4566 4746 + 4603 4566 4602 4746 + 4748 4568 4604 4747 + 4604 4568 4567 4747 + 4604 4567 4603 4747 + 4749 4569 4605 4748 + 4605 4569 4568 4748 + 4605 4568 4604 4748 + 4750 4570 4606 4749 + 4606 4570 4569 4749 + 4606 4569 4605 4749 + 4751 4571 4607 4750 + 4607 4571 4570 4750 + 4607 4570 4606 4750 + 4752 4572 4608 4751 + 4608 4572 4571 4751 + 4608 4571 4607 4751 + 4753 4573 4609 4752 + 4609 4573 4572 4752 + 4609 4572 4608 4752 + 4754 4574 4610 4753 + 4610 4574 4573 4753 + 4610 4573 4609 4753 + 4755 4575 759 127 + 759 4575 122 127 + 759 122 16 127 + 4756 4576 760 4755 + 760 4576 4575 4755 + 760 4575 759 4755 + 4757 4577 761 4756 + 761 4577 4576 4756 + 761 4576 760 4756 + 4758 4578 762 4757 + 762 4578 4577 4757 + 762 4577 761 4757 + 4759 4579 763 4758 + 763 4579 4578 4758 + 763 4578 762 4758 + 4760 4580 764 4759 + 764 4580 4579 4759 + 764 4579 763 4759 + 4761 4581 765 4760 + 765 4581 4580 4760 + 765 4580 764 4760 + 4762 4582 766 4761 + 766 4582 4581 4761 + 766 4581 765 4761 + 4763 4583 767 4762 + 767 4583 4582 4762 + 767 4582 766 4762 + 4764 4584 768 4763 + 768 4584 4583 4763 + 768 4583 767 4763 + 4765 4585 769 4764 + 769 4585 4584 4764 + 769 4584 768 4764 + 4766 4586 770 4765 + 770 4586 4585 4765 + 770 4585 769 4765 + 4767 4587 771 4766 + 771 4587 4586 4766 + 771 4586 770 4766 + 4768 4588 772 4767 + 772 4588 4587 4767 + 772 4587 771 4767 + 4769 4589 773 4768 + 773 4589 4588 4768 + 773 4588 772 4768 + 4770 4590 774 4769 + 774 4590 4589 4769 + 774 4589 773 4769 + 4771 4591 775 4770 + 775 4591 4590 4770 + 775 4590 774 4770 + 4772 4592 776 4771 + 776 4592 4591 4771 + 776 4591 775 4771 + 4773 4593 777 4772 + 777 4593 4592 4772 + 777 4592 776 4772 + 4774 4594 778 4773 + 778 4594 4593 4773 + 778 4593 777 4773 + 4775 4595 779 4774 + 779 4595 4594 4774 + 779 4594 778 4774 + 4776 4596 780 4775 + 780 4596 4595 4775 + 780 4595 779 4775 + 4777 4597 781 4776 + 781 4597 4596 4776 + 781 4596 780 4776 + 4778 4598 782 4777 + 782 4598 4597 4777 + 782 4597 781 4777 + 4779 4599 783 4778 + 783 4599 4598 4778 + 783 4598 782 4778 + 4780 4600 784 4779 + 784 4600 4599 4779 + 784 4599 783 4779 + 4781 4601 785 4780 + 785 4601 4600 4780 + 785 4600 784 4780 + 4782 4602 786 4781 + 786 4602 4601 4781 + 786 4601 785 4781 + 4783 4603 787 4782 + 787 4603 4602 4782 + 787 4602 786 4782 + 4784 4604 788 4783 + 788 4604 4603 4783 + 788 4603 787 4783 + 4785 4605 789 4784 + 789 4605 4604 4784 + 789 4604 788 4784 + 4786 4606 790 4785 + 790 4606 4605 4785 + 790 4605 789 4785 + 4787 4607 791 4786 + 791 4607 4606 4786 + 791 4606 790 4786 + 4788 4608 792 4787 + 792 4608 4607 4787 + 792 4607 791 4787 + 4789 4609 793 4788 + 793 4609 4608 4788 + 793 4608 792 4788 + 4790 4610 794 4789 + 794 4610 4609 4789 + 794 4609 793 4789 + 128 130 129 4791 + 4863 4827 129 4791 + 4863 129 130 4791 + 4791 4863 4827 4792 + 4864 4828 4827 4792 + 4864 4827 4863 4792 + 4792 4864 4828 4793 + 4865 4829 4828 4793 + 4865 4828 4864 4793 + 4793 4865 4829 4794 + 4866 4830 4829 4794 + 4866 4829 4865 4794 + 4794 4866 4830 4795 + 4867 4831 4830 4795 + 4867 4830 4866 4795 + 4795 4867 4831 4796 + 4868 4832 4831 4796 + 4868 4831 4867 4796 + 4796 4868 4832 4797 + 4869 4833 4832 4797 + 4869 4832 4868 4797 + 4797 4869 4833 4798 + 4870 4834 4833 4798 + 4870 4833 4869 4798 + 4798 4870 4834 4799 + 4871 4835 4834 4799 + 4871 4834 4870 4799 + 4799 4871 4835 4800 + 4872 4836 4835 4800 + 4872 4835 4871 4800 + 4800 4872 4836 4801 + 4873 4837 4836 4801 + 4873 4836 4872 4801 + 4801 4873 4837 4802 + 4874 4838 4837 4802 + 4874 4837 4873 4802 + 4802 4874 4838 4803 + 4875 4839 4838 4803 + 4875 4838 4874 4803 + 4803 4875 4839 4804 + 4876 4840 4839 4804 + 4876 4839 4875 4804 + 4804 4876 4840 4805 + 4877 4841 4840 4805 + 4877 4840 4876 4805 + 4805 4877 4841 4806 + 4878 4842 4841 4806 + 4878 4841 4877 4806 + 4806 4878 4842 4807 + 4879 4843 4842 4807 + 4879 4842 4878 4807 + 4807 4879 4843 4808 + 4880 4844 4843 4808 + 4880 4843 4879 4808 + 4808 4880 4844 4809 + 4881 4845 4844 4809 + 4881 4844 4880 4809 + 4809 4881 4845 4810 + 4882 4846 4845 4810 + 4882 4845 4881 4810 + 4810 4882 4846 4811 + 4883 4847 4846 4811 + 4883 4846 4882 4811 + 4811 4883 4847 4812 + 4884 4848 4847 4812 + 4884 4847 4883 4812 + 4812 4884 4848 4813 + 4885 4849 4848 4813 + 4885 4848 4884 4813 + 4813 4885 4849 4814 + 4886 4850 4849 4814 + 4886 4849 4885 4814 + 4814 4886 4850 4815 + 4887 4851 4850 4815 + 4887 4850 4886 4815 + 4815 4887 4851 4816 + 4888 4852 4851 4816 + 4888 4851 4887 4816 + 4816 4888 4852 4817 + 4889 4853 4852 4817 + 4889 4852 4888 4817 + 4817 4889 4853 4818 + 4890 4854 4853 4818 + 4890 4853 4889 4818 + 4818 4890 4854 4819 + 4891 4855 4854 4819 + 4891 4854 4890 4819 + 4819 4891 4855 4820 + 4892 4856 4855 4820 + 4892 4855 4891 4820 + 4820 4892 4856 4821 + 4893 4857 4856 4821 + 4893 4856 4892 4821 + 4821 4893 4857 4822 + 4894 4858 4857 4822 + 4894 4857 4893 4822 + 4822 4894 4858 4823 + 4895 4859 4858 4823 + 4895 4858 4894 4823 + 4823 4895 4859 4824 + 4896 4860 4859 4824 + 4896 4859 4895 4824 + 4824 4896 4860 4825 + 4897 4861 4860 4825 + 4897 4860 4896 4825 + 4825 4897 4861 4826 + 4898 4862 4861 4826 + 4898 4861 4897 4826 + 129 132 131 4827 + 4935 4899 131 4827 + 4935 131 132 4827 + 4827 4935 4899 4828 + 4936 4900 4899 4828 + 4936 4899 4935 4828 + 4828 4936 4900 4829 + 4937 4901 4900 4829 + 4937 4900 4936 4829 + 4829 4937 4901 4830 + 4938 4902 4901 4830 + 4938 4901 4937 4830 + 4830 4938 4902 4831 + 4939 4903 4902 4831 + 4939 4902 4938 4831 + 4831 4939 4903 4832 + 4940 4904 4903 4832 + 4940 4903 4939 4832 + 4832 4940 4904 4833 + 4941 4905 4904 4833 + 4941 4904 4940 4833 + 4833 4941 4905 4834 + 4942 4906 4905 4834 + 4942 4905 4941 4834 + 4834 4942 4906 4835 + 4943 4907 4906 4835 + 4943 4906 4942 4835 + 4835 4943 4907 4836 + 4944 4908 4907 4836 + 4944 4907 4943 4836 + 4836 4944 4908 4837 + 4945 4909 4908 4837 + 4945 4908 4944 4837 + 4837 4945 4909 4838 + 4946 4910 4909 4838 + 4946 4909 4945 4838 + 4838 4946 4910 4839 + 4947 4911 4910 4839 + 4947 4910 4946 4839 + 4839 4947 4911 4840 + 4948 4912 4911 4840 + 4948 4911 4947 4840 + 4840 4948 4912 4841 + 4949 4913 4912 4841 + 4949 4912 4948 4841 + 4841 4949 4913 4842 + 4950 4914 4913 4842 + 4950 4913 4949 4842 + 4842 4950 4914 4843 + 4951 4915 4914 4843 + 4951 4914 4950 4843 + 4843 4951 4915 4844 + 4952 4916 4915 4844 + 4952 4915 4951 4844 + 4844 4952 4916 4845 + 4953 4917 4916 4845 + 4953 4916 4952 4845 + 4845 4953 4917 4846 + 4954 4918 4917 4846 + 4954 4917 4953 4846 + 4846 4954 4918 4847 + 4955 4919 4918 4847 + 4955 4918 4954 4847 + 4847 4955 4919 4848 + 4956 4920 4919 4848 + 4956 4919 4955 4848 + 4848 4956 4920 4849 + 4957 4921 4920 4849 + 4957 4920 4956 4849 + 4849 4957 4921 4850 + 4958 4922 4921 4850 + 4958 4921 4957 4850 + 4850 4958 4922 4851 + 4959 4923 4922 4851 + 4959 4922 4958 4851 + 4851 4959 4923 4852 + 4960 4924 4923 4852 + 4960 4923 4959 4852 + 4852 4960 4924 4853 + 4961 4925 4924 4853 + 4961 4924 4960 4853 + 4853 4961 4925 4854 + 4962 4926 4925 4854 + 4962 4925 4961 4854 + 4854 4962 4926 4855 + 4963 4927 4926 4855 + 4963 4926 4962 4855 + 4855 4963 4927 4856 + 4964 4928 4927 4856 + 4964 4927 4963 4856 + 4856 4964 4928 4857 + 4965 4929 4928 4857 + 4965 4928 4964 4857 + 4857 4965 4929 4858 + 4966 4930 4929 4858 + 4966 4929 4965 4858 + 4858 4966 4930 4859 + 4967 4931 4930 4859 + 4967 4930 4966 4859 + 4859 4967 4931 4860 + 4968 4932 4931 4860 + 4968 4931 4967 4860 + 4860 4968 4932 4861 + 4969 4933 4932 4861 + 4969 4932 4968 4861 + 4861 4969 4933 4862 + 4970 4934 4933 4862 + 4970 4933 4969 4862 + 130 133 132 4863 + 4971 4935 132 4863 + 4971 132 133 4863 + 4863 4971 4935 4864 + 4972 4936 4935 4864 + 4972 4935 4971 4864 + 4864 4972 4936 4865 + 4973 4937 4936 4865 + 4973 4936 4972 4865 + 4865 4973 4937 4866 + 4974 4938 4937 4866 + 4974 4937 4973 4866 + 4866 4974 4938 4867 + 4975 4939 4938 4867 + 4975 4938 4974 4867 + 4867 4975 4939 4868 + 4976 4940 4939 4868 + 4976 4939 4975 4868 + 4868 4976 4940 4869 + 4977 4941 4940 4869 + 4977 4940 4976 4869 + 4869 4977 4941 4870 + 4978 4942 4941 4870 + 4978 4941 4977 4870 + 4870 4978 4942 4871 + 4979 4943 4942 4871 + 4979 4942 4978 4871 + 4871 4979 4943 4872 + 4980 4944 4943 4872 + 4980 4943 4979 4872 + 4872 4980 4944 4873 + 4981 4945 4944 4873 + 4981 4944 4980 4873 + 4873 4981 4945 4874 + 4982 4946 4945 4874 + 4982 4945 4981 4874 + 4874 4982 4946 4875 + 4983 4947 4946 4875 + 4983 4946 4982 4875 + 4875 4983 4947 4876 + 4984 4948 4947 4876 + 4984 4947 4983 4876 + 4876 4984 4948 4877 + 4985 4949 4948 4877 + 4985 4948 4984 4877 + 4877 4985 4949 4878 + 4986 4950 4949 4878 + 4986 4949 4985 4878 + 4878 4986 4950 4879 + 4987 4951 4950 4879 + 4987 4950 4986 4879 + 4879 4987 4951 4880 + 4988 4952 4951 4880 + 4988 4951 4987 4880 + 4880 4988 4952 4881 + 4989 4953 4952 4881 + 4989 4952 4988 4881 + 4881 4989 4953 4882 + 4990 4954 4953 4882 + 4990 4953 4989 4882 + 4882 4990 4954 4883 + 4991 4955 4954 4883 + 4991 4954 4990 4883 + 4883 4991 4955 4884 + 4992 4956 4955 4884 + 4992 4955 4991 4884 + 4884 4992 4956 4885 + 4993 4957 4956 4885 + 4993 4956 4992 4885 + 4885 4993 4957 4886 + 4994 4958 4957 4886 + 4994 4957 4993 4886 + 4886 4994 4958 4887 + 4995 4959 4958 4887 + 4995 4958 4994 4887 + 4887 4995 4959 4888 + 4996 4960 4959 4888 + 4996 4959 4995 4888 + 4888 4996 4960 4889 + 4997 4961 4960 4889 + 4997 4960 4996 4889 + 4889 4997 4961 4890 + 4998 4962 4961 4890 + 4998 4961 4997 4890 + 4890 4998 4962 4891 + 4999 4963 4962 4891 + 4999 4962 4998 4891 + 4891 4999 4963 4892 + 5000 4964 4963 4892 + 5000 4963 4999 4892 + 4892 5000 4964 4893 + 5001 4965 4964 4893 + 5001 4964 5000 4893 + 4893 5001 4965 4894 + 5002 4966 4965 4894 + 5002 4965 5001 4894 + 4894 5002 4966 4895 + 5003 4967 4966 4895 + 5003 4966 5002 4895 + 4895 5003 4967 4896 + 5004 4968 4967 4896 + 5004 4967 5003 4896 + 4896 5004 4968 4897 + 5005 4969 4968 4897 + 5005 4968 5004 4897 + 4897 5005 4969 4898 + 5006 4970 4969 4898 + 5006 4969 5005 4898 + 4935 4863 4827 132 + 4827 4863 129 132 + 4863 130 129 132 + 4936 4864 4828 4935 + 4828 4864 4827 4935 + 4864 4863 4827 4935 + 4937 4865 4829 4936 + 4829 4865 4828 4936 + 4865 4864 4828 4936 + 4938 4866 4830 4937 + 4830 4866 4829 4937 + 4866 4865 4829 4937 + 4939 4867 4831 4938 + 4831 4867 4830 4938 + 4867 4866 4830 4938 + 4940 4868 4832 4939 + 4832 4868 4831 4939 + 4868 4867 4831 4939 + 4941 4869 4833 4940 + 4833 4869 4832 4940 + 4869 4868 4832 4940 + 4942 4870 4834 4941 + 4834 4870 4833 4941 + 4870 4869 4833 4941 + 4943 4871 4835 4942 + 4835 4871 4834 4942 + 4871 4870 4834 4942 + 4944 4872 4836 4943 + 4836 4872 4835 4943 + 4872 4871 4835 4943 + 4945 4873 4837 4944 + 4837 4873 4836 4944 + 4873 4872 4836 4944 + 4946 4874 4838 4945 + 4838 4874 4837 4945 + 4874 4873 4837 4945 + 4947 4875 4839 4946 + 4839 4875 4838 4946 + 4875 4874 4838 4946 + 4948 4876 4840 4947 + 4840 4876 4839 4947 + 4876 4875 4839 4947 + 4949 4877 4841 4948 + 4841 4877 4840 4948 + 4877 4876 4840 4948 + 4950 4878 4842 4949 + 4842 4878 4841 4949 + 4878 4877 4841 4949 + 4951 4879 4843 4950 + 4843 4879 4842 4950 + 4879 4878 4842 4950 + 4952 4880 4844 4951 + 4844 4880 4843 4951 + 4880 4879 4843 4951 + 4953 4881 4845 4952 + 4845 4881 4844 4952 + 4881 4880 4844 4952 + 4954 4882 4846 4953 + 4846 4882 4845 4953 + 4882 4881 4845 4953 + 4955 4883 4847 4954 + 4847 4883 4846 4954 + 4883 4882 4846 4954 + 4956 4884 4848 4955 + 4848 4884 4847 4955 + 4884 4883 4847 4955 + 4957 4885 4849 4956 + 4849 4885 4848 4956 + 4885 4884 4848 4956 + 4958 4886 4850 4957 + 4850 4886 4849 4957 + 4886 4885 4849 4957 + 4959 4887 4851 4958 + 4851 4887 4850 4958 + 4887 4886 4850 4958 + 4960 4888 4852 4959 + 4852 4888 4851 4959 + 4888 4887 4851 4959 + 4961 4889 4853 4960 + 4853 4889 4852 4960 + 4889 4888 4852 4960 + 4962 4890 4854 4961 + 4854 4890 4853 4961 + 4890 4889 4853 4961 + 4963 4891 4855 4962 + 4855 4891 4854 4962 + 4891 4890 4854 4962 + 4964 4892 4856 4963 + 4856 4892 4855 4963 + 4892 4891 4855 4963 + 4965 4893 4857 4964 + 4857 4893 4856 4964 + 4893 4892 4856 4964 + 4966 4894 4858 4965 + 4858 4894 4857 4965 + 4894 4893 4857 4965 + 4967 4895 4859 4966 + 4859 4895 4858 4966 + 4895 4894 4858 4966 + 4968 4896 4860 4967 + 4860 4896 4859 4967 + 4896 4895 4859 4967 + 4969 4897 4861 4968 + 4861 4897 4860 4968 + 4897 4896 4860 4968 + 4970 4898 4862 4969 + 4862 4898 4861 4969 + 4898 4897 4861 4969 + 131 135 134 4899 + 5043 5007 134 4899 + 5043 134 135 4899 + 4899 5043 5007 4900 + 5044 5008 5007 4900 + 5044 5007 5043 4900 + 4900 5044 5008 4901 + 5045 5009 5008 4901 + 5045 5008 5044 4901 + 4901 5045 5009 4902 + 5046 5010 5009 4902 + 5046 5009 5045 4902 + 4902 5046 5010 4903 + 5047 5011 5010 4903 + 5047 5010 5046 4903 + 4903 5047 5011 4904 + 5048 5012 5011 4904 + 5048 5011 5047 4904 + 4904 5048 5012 4905 + 5049 5013 5012 4905 + 5049 5012 5048 4905 + 4905 5049 5013 4906 + 5050 5014 5013 4906 + 5050 5013 5049 4906 + 4906 5050 5014 4907 + 5051 5015 5014 4907 + 5051 5014 5050 4907 + 4907 5051 5015 4908 + 5052 5016 5015 4908 + 5052 5015 5051 4908 + 4908 5052 5016 4909 + 5053 5017 5016 4909 + 5053 5016 5052 4909 + 4909 5053 5017 4910 + 5054 5018 5017 4910 + 5054 5017 5053 4910 + 4910 5054 5018 4911 + 5055 5019 5018 4911 + 5055 5018 5054 4911 + 4911 5055 5019 4912 + 5056 5020 5019 4912 + 5056 5019 5055 4912 + 4912 5056 5020 4913 + 5057 5021 5020 4913 + 5057 5020 5056 4913 + 4913 5057 5021 4914 + 5058 5022 5021 4914 + 5058 5021 5057 4914 + 4914 5058 5022 4915 + 5059 5023 5022 4915 + 5059 5022 5058 4915 + 4915 5059 5023 4916 + 5060 5024 5023 4916 + 5060 5023 5059 4916 + 4916 5060 5024 4917 + 5061 5025 5024 4917 + 5061 5024 5060 4917 + 4917 5061 5025 4918 + 5062 5026 5025 4918 + 5062 5025 5061 4918 + 4918 5062 5026 4919 + 5063 5027 5026 4919 + 5063 5026 5062 4919 + 4919 5063 5027 4920 + 5064 5028 5027 4920 + 5064 5027 5063 4920 + 4920 5064 5028 4921 + 5065 5029 5028 4921 + 5065 5028 5064 4921 + 4921 5065 5029 4922 + 5066 5030 5029 4922 + 5066 5029 5065 4922 + 4922 5066 5030 4923 + 5067 5031 5030 4923 + 5067 5030 5066 4923 + 4923 5067 5031 4924 + 5068 5032 5031 4924 + 5068 5031 5067 4924 + 4924 5068 5032 4925 + 5069 5033 5032 4925 + 5069 5032 5068 4925 + 4925 5069 5033 4926 + 5070 5034 5033 4926 + 5070 5033 5069 4926 + 4926 5070 5034 4927 + 5071 5035 5034 4927 + 5071 5034 5070 4927 + 4927 5071 5035 4928 + 5072 5036 5035 4928 + 5072 5035 5071 4928 + 4928 5072 5036 4929 + 5073 5037 5036 4929 + 5073 5036 5072 4929 + 4929 5073 5037 4930 + 5074 5038 5037 4930 + 5074 5037 5073 4930 + 4930 5074 5038 4931 + 5075 5039 5038 4931 + 5075 5038 5074 4931 + 4931 5075 5039 4932 + 5076 5040 5039 4932 + 5076 5039 5075 4932 + 4932 5076 5040 4933 + 5077 5041 5040 4933 + 5077 5040 5076 4933 + 4933 5077 5041 4934 + 5078 5042 5041 4934 + 5078 5041 5077 4934 + 132 136 135 4935 + 5079 5043 135 4935 + 5079 135 136 4935 + 4935 5079 5043 4936 + 5080 5044 5043 4936 + 5080 5043 5079 4936 + 4936 5080 5044 4937 + 5081 5045 5044 4937 + 5081 5044 5080 4937 + 4937 5081 5045 4938 + 5082 5046 5045 4938 + 5082 5045 5081 4938 + 4938 5082 5046 4939 + 5083 5047 5046 4939 + 5083 5046 5082 4939 + 4939 5083 5047 4940 + 5084 5048 5047 4940 + 5084 5047 5083 4940 + 4940 5084 5048 4941 + 5085 5049 5048 4941 + 5085 5048 5084 4941 + 4941 5085 5049 4942 + 5086 5050 5049 4942 + 5086 5049 5085 4942 + 4942 5086 5050 4943 + 5087 5051 5050 4943 + 5087 5050 5086 4943 + 4943 5087 5051 4944 + 5088 5052 5051 4944 + 5088 5051 5087 4944 + 4944 5088 5052 4945 + 5089 5053 5052 4945 + 5089 5052 5088 4945 + 4945 5089 5053 4946 + 5090 5054 5053 4946 + 5090 5053 5089 4946 + 4946 5090 5054 4947 + 5091 5055 5054 4947 + 5091 5054 5090 4947 + 4947 5091 5055 4948 + 5092 5056 5055 4948 + 5092 5055 5091 4948 + 4948 5092 5056 4949 + 5093 5057 5056 4949 + 5093 5056 5092 4949 + 4949 5093 5057 4950 + 5094 5058 5057 4950 + 5094 5057 5093 4950 + 4950 5094 5058 4951 + 5095 5059 5058 4951 + 5095 5058 5094 4951 + 4951 5095 5059 4952 + 5096 5060 5059 4952 + 5096 5059 5095 4952 + 4952 5096 5060 4953 + 5097 5061 5060 4953 + 5097 5060 5096 4953 + 4953 5097 5061 4954 + 5098 5062 5061 4954 + 5098 5061 5097 4954 + 4954 5098 5062 4955 + 5099 5063 5062 4955 + 5099 5062 5098 4955 + 4955 5099 5063 4956 + 5100 5064 5063 4956 + 5100 5063 5099 4956 + 4956 5100 5064 4957 + 5101 5065 5064 4957 + 5101 5064 5100 4957 + 4957 5101 5065 4958 + 5102 5066 5065 4958 + 5102 5065 5101 4958 + 4958 5102 5066 4959 + 5103 5067 5066 4959 + 5103 5066 5102 4959 + 4959 5103 5067 4960 + 5104 5068 5067 4960 + 5104 5067 5103 4960 + 4960 5104 5068 4961 + 5105 5069 5068 4961 + 5105 5068 5104 4961 + 4961 5105 5069 4962 + 5106 5070 5069 4962 + 5106 5069 5105 4962 + 4962 5106 5070 4963 + 5107 5071 5070 4963 + 5107 5070 5106 4963 + 4963 5107 5071 4964 + 5108 5072 5071 4964 + 5108 5071 5107 4964 + 4964 5108 5072 4965 + 5109 5073 5072 4965 + 5109 5072 5108 4965 + 4965 5109 5073 4966 + 5110 5074 5073 4966 + 5110 5073 5109 4966 + 4966 5110 5074 4967 + 5111 5075 5074 4967 + 5111 5074 5110 4967 + 4967 5111 5075 4968 + 5112 5076 5075 4968 + 5112 5075 5111 4968 + 4968 5112 5076 4969 + 5113 5077 5076 4969 + 5113 5076 5112 4969 + 4969 5113 5077 4970 + 5114 5078 5077 4970 + 5114 5077 5113 4970 + 133 137 136 4971 + 5115 5079 136 4971 + 5115 136 137 4971 + 4971 5115 5079 4972 + 5116 5080 5079 4972 + 5116 5079 5115 4972 + 4972 5116 5080 4973 + 5117 5081 5080 4973 + 5117 5080 5116 4973 + 4973 5117 5081 4974 + 5118 5082 5081 4974 + 5118 5081 5117 4974 + 4974 5118 5082 4975 + 5119 5083 5082 4975 + 5119 5082 5118 4975 + 4975 5119 5083 4976 + 5120 5084 5083 4976 + 5120 5083 5119 4976 + 4976 5120 5084 4977 + 5121 5085 5084 4977 + 5121 5084 5120 4977 + 4977 5121 5085 4978 + 5122 5086 5085 4978 + 5122 5085 5121 4978 + 4978 5122 5086 4979 + 5123 5087 5086 4979 + 5123 5086 5122 4979 + 4979 5123 5087 4980 + 5124 5088 5087 4980 + 5124 5087 5123 4980 + 4980 5124 5088 4981 + 5125 5089 5088 4981 + 5125 5088 5124 4981 + 4981 5125 5089 4982 + 5126 5090 5089 4982 + 5126 5089 5125 4982 + 4982 5126 5090 4983 + 5127 5091 5090 4983 + 5127 5090 5126 4983 + 4983 5127 5091 4984 + 5128 5092 5091 4984 + 5128 5091 5127 4984 + 4984 5128 5092 4985 + 5129 5093 5092 4985 + 5129 5092 5128 4985 + 4985 5129 5093 4986 + 5130 5094 5093 4986 + 5130 5093 5129 4986 + 4986 5130 5094 4987 + 5131 5095 5094 4987 + 5131 5094 5130 4987 + 4987 5131 5095 4988 + 5132 5096 5095 4988 + 5132 5095 5131 4988 + 4988 5132 5096 4989 + 5133 5097 5096 4989 + 5133 5096 5132 4989 + 4989 5133 5097 4990 + 5134 5098 5097 4990 + 5134 5097 5133 4990 + 4990 5134 5098 4991 + 5135 5099 5098 4991 + 5135 5098 5134 4991 + 4991 5135 5099 4992 + 5136 5100 5099 4992 + 5136 5099 5135 4992 + 4992 5136 5100 4993 + 5137 5101 5100 4993 + 5137 5100 5136 4993 + 4993 5137 5101 4994 + 5138 5102 5101 4994 + 5138 5101 5137 4994 + 4994 5138 5102 4995 + 5139 5103 5102 4995 + 5139 5102 5138 4995 + 4995 5139 5103 4996 + 5140 5104 5103 4996 + 5140 5103 5139 4996 + 4996 5140 5104 4997 + 5141 5105 5104 4997 + 5141 5104 5140 4997 + 4997 5141 5105 4998 + 5142 5106 5105 4998 + 5142 5105 5141 4998 + 4998 5142 5106 4999 + 5143 5107 5106 4999 + 5143 5106 5142 4999 + 4999 5143 5107 5000 + 5144 5108 5107 5000 + 5144 5107 5143 5000 + 5000 5144 5108 5001 + 5145 5109 5108 5001 + 5145 5108 5144 5001 + 5001 5145 5109 5002 + 5146 5110 5109 5002 + 5146 5109 5145 5002 + 5002 5146 5110 5003 + 5147 5111 5110 5003 + 5147 5110 5146 5003 + 5003 5147 5111 5004 + 5148 5112 5111 5004 + 5148 5111 5147 5004 + 5004 5148 5112 5005 + 5149 5113 5112 5005 + 5149 5112 5148 5005 + 5005 5149 5113 5006 + 5150 5114 5113 5006 + 5150 5113 5149 5006 + 5043 4935 4899 135 + 4899 4935 131 135 + 4935 132 131 135 + 5044 4936 4900 5043 + 4900 4936 4899 5043 + 4936 4935 4899 5043 + 5045 4937 4901 5044 + 4901 4937 4900 5044 + 4937 4936 4900 5044 + 5046 4938 4902 5045 + 4902 4938 4901 5045 + 4938 4937 4901 5045 + 5047 4939 4903 5046 + 4903 4939 4902 5046 + 4939 4938 4902 5046 + 5048 4940 4904 5047 + 4904 4940 4903 5047 + 4940 4939 4903 5047 + 5049 4941 4905 5048 + 4905 4941 4904 5048 + 4941 4940 4904 5048 + 5050 4942 4906 5049 + 4906 4942 4905 5049 + 4942 4941 4905 5049 + 5051 4943 4907 5050 + 4907 4943 4906 5050 + 4943 4942 4906 5050 + 5052 4944 4908 5051 + 4908 4944 4907 5051 + 4944 4943 4907 5051 + 5053 4945 4909 5052 + 4909 4945 4908 5052 + 4945 4944 4908 5052 + 5054 4946 4910 5053 + 4910 4946 4909 5053 + 4946 4945 4909 5053 + 5055 4947 4911 5054 + 4911 4947 4910 5054 + 4947 4946 4910 5054 + 5056 4948 4912 5055 + 4912 4948 4911 5055 + 4948 4947 4911 5055 + 5057 4949 4913 5056 + 4913 4949 4912 5056 + 4949 4948 4912 5056 + 5058 4950 4914 5057 + 4914 4950 4913 5057 + 4950 4949 4913 5057 + 5059 4951 4915 5058 + 4915 4951 4914 5058 + 4951 4950 4914 5058 + 5060 4952 4916 5059 + 4916 4952 4915 5059 + 4952 4951 4915 5059 + 5061 4953 4917 5060 + 4917 4953 4916 5060 + 4953 4952 4916 5060 + 5062 4954 4918 5061 + 4918 4954 4917 5061 + 4954 4953 4917 5061 + 5063 4955 4919 5062 + 4919 4955 4918 5062 + 4955 4954 4918 5062 + 5064 4956 4920 5063 + 4920 4956 4919 5063 + 4956 4955 4919 5063 + 5065 4957 4921 5064 + 4921 4957 4920 5064 + 4957 4956 4920 5064 + 5066 4958 4922 5065 + 4922 4958 4921 5065 + 4958 4957 4921 5065 + 5067 4959 4923 5066 + 4923 4959 4922 5066 + 4959 4958 4922 5066 + 5068 4960 4924 5067 + 4924 4960 4923 5067 + 4960 4959 4923 5067 + 5069 4961 4925 5068 + 4925 4961 4924 5068 + 4961 4960 4924 5068 + 5070 4962 4926 5069 + 4926 4962 4925 5069 + 4962 4961 4925 5069 + 5071 4963 4927 5070 + 4927 4963 4926 5070 + 4963 4962 4926 5070 + 5072 4964 4928 5071 + 4928 4964 4927 5071 + 4964 4963 4927 5071 + 5073 4965 4929 5072 + 4929 4965 4928 5072 + 4965 4964 4928 5072 + 5074 4966 4930 5073 + 4930 4966 4929 5073 + 4966 4965 4929 5073 + 5075 4967 4931 5074 + 4931 4967 4930 5074 + 4967 4966 4930 5074 + 5076 4968 4932 5075 + 4932 4968 4931 5075 + 4968 4967 4931 5075 + 5077 4969 4933 5076 + 4933 4969 4932 5076 + 4969 4968 4932 5076 + 5078 4970 4934 5077 + 4934 4970 4933 5077 + 4970 4969 4933 5077 + 5079 4971 4935 136 + 4935 4971 132 136 + 4971 133 132 136 + 5080 4972 4936 5079 + 4936 4972 4935 5079 + 4972 4971 4935 5079 + 5081 4973 4937 5080 + 4937 4973 4936 5080 + 4973 4972 4936 5080 + 5082 4974 4938 5081 + 4938 4974 4937 5081 + 4974 4973 4937 5081 + 5083 4975 4939 5082 + 4939 4975 4938 5082 + 4975 4974 4938 5082 + 5084 4976 4940 5083 + 4940 4976 4939 5083 + 4976 4975 4939 5083 + 5085 4977 4941 5084 + 4941 4977 4940 5084 + 4977 4976 4940 5084 + 5086 4978 4942 5085 + 4942 4978 4941 5085 + 4978 4977 4941 5085 + 5087 4979 4943 5086 + 4943 4979 4942 5086 + 4979 4978 4942 5086 + 5088 4980 4944 5087 + 4944 4980 4943 5087 + 4980 4979 4943 5087 + 5089 4981 4945 5088 + 4945 4981 4944 5088 + 4981 4980 4944 5088 + 5090 4982 4946 5089 + 4946 4982 4945 5089 + 4982 4981 4945 5089 + 5091 4983 4947 5090 + 4947 4983 4946 5090 + 4983 4982 4946 5090 + 5092 4984 4948 5091 + 4948 4984 4947 5091 + 4984 4983 4947 5091 + 5093 4985 4949 5092 + 4949 4985 4948 5092 + 4985 4984 4948 5092 + 5094 4986 4950 5093 + 4950 4986 4949 5093 + 4986 4985 4949 5093 + 5095 4987 4951 5094 + 4951 4987 4950 5094 + 4987 4986 4950 5094 + 5096 4988 4952 5095 + 4952 4988 4951 5095 + 4988 4987 4951 5095 + 5097 4989 4953 5096 + 4953 4989 4952 5096 + 4989 4988 4952 5096 + 5098 4990 4954 5097 + 4954 4990 4953 5097 + 4990 4989 4953 5097 + 5099 4991 4955 5098 + 4955 4991 4954 5098 + 4991 4990 4954 5098 + 5100 4992 4956 5099 + 4956 4992 4955 5099 + 4992 4991 4955 5099 + 5101 4993 4957 5100 + 4957 4993 4956 5100 + 4993 4992 4956 5100 + 5102 4994 4958 5101 + 4958 4994 4957 5101 + 4994 4993 4957 5101 + 5103 4995 4959 5102 + 4959 4995 4958 5102 + 4995 4994 4958 5102 + 5104 4996 4960 5103 + 4960 4996 4959 5103 + 4996 4995 4959 5103 + 5105 4997 4961 5104 + 4961 4997 4960 5104 + 4997 4996 4960 5104 + 5106 4998 4962 5105 + 4962 4998 4961 5105 + 4998 4997 4961 5105 + 5107 4999 4963 5106 + 4963 4999 4962 5106 + 4999 4998 4962 5106 + 5108 5000 4964 5107 + 4964 5000 4963 5107 + 5000 4999 4963 5107 + 5109 5001 4965 5108 + 4965 5001 4964 5108 + 5001 5000 4964 5108 + 5110 5002 4966 5109 + 4966 5002 4965 5109 + 5002 5001 4965 5109 + 5111 5003 4967 5110 + 4967 5003 4966 5110 + 5003 5002 4966 5110 + 5112 5004 4968 5111 + 4968 5004 4967 5111 + 5004 5003 4967 5111 + 5113 5005 4969 5112 + 4969 5005 4968 5112 + 5005 5004 4968 5112 + 5114 5006 4970 5113 + 4970 5006 4969 5113 + 5006 5005 4969 5113 + 134 139 138 5007 + 5187 5151 138 5007 + 5187 138 139 5007 + 5007 5187 5151 5008 + 5188 5152 5151 5008 + 5188 5151 5187 5008 + 5008 5188 5152 5009 + 5189 5153 5152 5009 + 5189 5152 5188 5009 + 5009 5189 5153 5010 + 5190 5154 5153 5010 + 5190 5153 5189 5010 + 5010 5190 5154 5011 + 5191 5155 5154 5011 + 5191 5154 5190 5011 + 5011 5191 5155 5012 + 5192 5156 5155 5012 + 5192 5155 5191 5012 + 5012 5192 5156 5013 + 5193 5157 5156 5013 + 5193 5156 5192 5013 + 5013 5193 5157 5014 + 5194 5158 5157 5014 + 5194 5157 5193 5014 + 5014 5194 5158 5015 + 5195 5159 5158 5015 + 5195 5158 5194 5015 + 5015 5195 5159 5016 + 5196 5160 5159 5016 + 5196 5159 5195 5016 + 5016 5196 5160 5017 + 5197 5161 5160 5017 + 5197 5160 5196 5017 + 5017 5197 5161 5018 + 5198 5162 5161 5018 + 5198 5161 5197 5018 + 5018 5198 5162 5019 + 5199 5163 5162 5019 + 5199 5162 5198 5019 + 5019 5199 5163 5020 + 5200 5164 5163 5020 + 5200 5163 5199 5020 + 5020 5200 5164 5021 + 5201 5165 5164 5021 + 5201 5164 5200 5021 + 5021 5201 5165 5022 + 5202 5166 5165 5022 + 5202 5165 5201 5022 + 5022 5202 5166 5023 + 5203 5167 5166 5023 + 5203 5166 5202 5023 + 5023 5203 5167 5024 + 5204 5168 5167 5024 + 5204 5167 5203 5024 + 5024 5204 5168 5025 + 5205 5169 5168 5025 + 5205 5168 5204 5025 + 5025 5205 5169 5026 + 5206 5170 5169 5026 + 5206 5169 5205 5026 + 5026 5206 5170 5027 + 5207 5171 5170 5027 + 5207 5170 5206 5027 + 5027 5207 5171 5028 + 5208 5172 5171 5028 + 5208 5171 5207 5028 + 5028 5208 5172 5029 + 5209 5173 5172 5029 + 5209 5172 5208 5029 + 5029 5209 5173 5030 + 5210 5174 5173 5030 + 5210 5173 5209 5030 + 5030 5210 5174 5031 + 5211 5175 5174 5031 + 5211 5174 5210 5031 + 5031 5211 5175 5032 + 5212 5176 5175 5032 + 5212 5175 5211 5032 + 5032 5212 5176 5033 + 5213 5177 5176 5033 + 5213 5176 5212 5033 + 5033 5213 5177 5034 + 5214 5178 5177 5034 + 5214 5177 5213 5034 + 5034 5214 5178 5035 + 5215 5179 5178 5035 + 5215 5178 5214 5035 + 5035 5215 5179 5036 + 5216 5180 5179 5036 + 5216 5179 5215 5036 + 5036 5216 5180 5037 + 5217 5181 5180 5037 + 5217 5180 5216 5037 + 5037 5217 5181 5038 + 5218 5182 5181 5038 + 5218 5181 5217 5038 + 5038 5218 5182 5039 + 5219 5183 5182 5039 + 5219 5182 5218 5039 + 5039 5219 5183 5040 + 5220 5184 5183 5040 + 5220 5183 5219 5040 + 5040 5220 5184 5041 + 5221 5185 5184 5041 + 5221 5184 5220 5041 + 5041 5221 5185 5042 + 5222 5186 5185 5042 + 5222 5185 5221 5042 + 135 140 139 5043 + 5223 5187 139 5043 + 5223 139 140 5043 + 5043 5223 5187 5044 + 5224 5188 5187 5044 + 5224 5187 5223 5044 + 5044 5224 5188 5045 + 5225 5189 5188 5045 + 5225 5188 5224 5045 + 5045 5225 5189 5046 + 5226 5190 5189 5046 + 5226 5189 5225 5046 + 5046 5226 5190 5047 + 5227 5191 5190 5047 + 5227 5190 5226 5047 + 5047 5227 5191 5048 + 5228 5192 5191 5048 + 5228 5191 5227 5048 + 5048 5228 5192 5049 + 5229 5193 5192 5049 + 5229 5192 5228 5049 + 5049 5229 5193 5050 + 5230 5194 5193 5050 + 5230 5193 5229 5050 + 5050 5230 5194 5051 + 5231 5195 5194 5051 + 5231 5194 5230 5051 + 5051 5231 5195 5052 + 5232 5196 5195 5052 + 5232 5195 5231 5052 + 5052 5232 5196 5053 + 5233 5197 5196 5053 + 5233 5196 5232 5053 + 5053 5233 5197 5054 + 5234 5198 5197 5054 + 5234 5197 5233 5054 + 5054 5234 5198 5055 + 5235 5199 5198 5055 + 5235 5198 5234 5055 + 5055 5235 5199 5056 + 5236 5200 5199 5056 + 5236 5199 5235 5056 + 5056 5236 5200 5057 + 5237 5201 5200 5057 + 5237 5200 5236 5057 + 5057 5237 5201 5058 + 5238 5202 5201 5058 + 5238 5201 5237 5058 + 5058 5238 5202 5059 + 5239 5203 5202 5059 + 5239 5202 5238 5059 + 5059 5239 5203 5060 + 5240 5204 5203 5060 + 5240 5203 5239 5060 + 5060 5240 5204 5061 + 5241 5205 5204 5061 + 5241 5204 5240 5061 + 5061 5241 5205 5062 + 5242 5206 5205 5062 + 5242 5205 5241 5062 + 5062 5242 5206 5063 + 5243 5207 5206 5063 + 5243 5206 5242 5063 + 5063 5243 5207 5064 + 5244 5208 5207 5064 + 5244 5207 5243 5064 + 5064 5244 5208 5065 + 5245 5209 5208 5065 + 5245 5208 5244 5065 + 5065 5245 5209 5066 + 5246 5210 5209 5066 + 5246 5209 5245 5066 + 5066 5246 5210 5067 + 5247 5211 5210 5067 + 5247 5210 5246 5067 + 5067 5247 5211 5068 + 5248 5212 5211 5068 + 5248 5211 5247 5068 + 5068 5248 5212 5069 + 5249 5213 5212 5069 + 5249 5212 5248 5069 + 5069 5249 5213 5070 + 5250 5214 5213 5070 + 5250 5213 5249 5070 + 5070 5250 5214 5071 + 5251 5215 5214 5071 + 5251 5214 5250 5071 + 5071 5251 5215 5072 + 5252 5216 5215 5072 + 5252 5215 5251 5072 + 5072 5252 5216 5073 + 5253 5217 5216 5073 + 5253 5216 5252 5073 + 5073 5253 5217 5074 + 5254 5218 5217 5074 + 5254 5217 5253 5074 + 5074 5254 5218 5075 + 5255 5219 5218 5075 + 5255 5218 5254 5075 + 5075 5255 5219 5076 + 5256 5220 5219 5076 + 5256 5219 5255 5076 + 5076 5256 5220 5077 + 5257 5221 5220 5077 + 5257 5220 5256 5077 + 5077 5257 5221 5078 + 5258 5222 5221 5078 + 5258 5221 5257 5078 + 136 141 140 5079 + 5259 5223 140 5079 + 5259 140 141 5079 + 5079 5259 5223 5080 + 5260 5224 5223 5080 + 5260 5223 5259 5080 + 5080 5260 5224 5081 + 5261 5225 5224 5081 + 5261 5224 5260 5081 + 5081 5261 5225 5082 + 5262 5226 5225 5082 + 5262 5225 5261 5082 + 5082 5262 5226 5083 + 5263 5227 5226 5083 + 5263 5226 5262 5083 + 5083 5263 5227 5084 + 5264 5228 5227 5084 + 5264 5227 5263 5084 + 5084 5264 5228 5085 + 5265 5229 5228 5085 + 5265 5228 5264 5085 + 5085 5265 5229 5086 + 5266 5230 5229 5086 + 5266 5229 5265 5086 + 5086 5266 5230 5087 + 5267 5231 5230 5087 + 5267 5230 5266 5087 + 5087 5267 5231 5088 + 5268 5232 5231 5088 + 5268 5231 5267 5088 + 5088 5268 5232 5089 + 5269 5233 5232 5089 + 5269 5232 5268 5089 + 5089 5269 5233 5090 + 5270 5234 5233 5090 + 5270 5233 5269 5090 + 5090 5270 5234 5091 + 5271 5235 5234 5091 + 5271 5234 5270 5091 + 5091 5271 5235 5092 + 5272 5236 5235 5092 + 5272 5235 5271 5092 + 5092 5272 5236 5093 + 5273 5237 5236 5093 + 5273 5236 5272 5093 + 5093 5273 5237 5094 + 5274 5238 5237 5094 + 5274 5237 5273 5094 + 5094 5274 5238 5095 + 5275 5239 5238 5095 + 5275 5238 5274 5095 + 5095 5275 5239 5096 + 5276 5240 5239 5096 + 5276 5239 5275 5096 + 5096 5276 5240 5097 + 5277 5241 5240 5097 + 5277 5240 5276 5097 + 5097 5277 5241 5098 + 5278 5242 5241 5098 + 5278 5241 5277 5098 + 5098 5278 5242 5099 + 5279 5243 5242 5099 + 5279 5242 5278 5099 + 5099 5279 5243 5100 + 5280 5244 5243 5100 + 5280 5243 5279 5100 + 5100 5280 5244 5101 + 5281 5245 5244 5101 + 5281 5244 5280 5101 + 5101 5281 5245 5102 + 5282 5246 5245 5102 + 5282 5245 5281 5102 + 5102 5282 5246 5103 + 5283 5247 5246 5103 + 5283 5246 5282 5103 + 5103 5283 5247 5104 + 5284 5248 5247 5104 + 5284 5247 5283 5104 + 5104 5284 5248 5105 + 5285 5249 5248 5105 + 5285 5248 5284 5105 + 5105 5285 5249 5106 + 5286 5250 5249 5106 + 5286 5249 5285 5106 + 5106 5286 5250 5107 + 5287 5251 5250 5107 + 5287 5250 5286 5107 + 5107 5287 5251 5108 + 5288 5252 5251 5108 + 5288 5251 5287 5108 + 5108 5288 5252 5109 + 5289 5253 5252 5109 + 5289 5252 5288 5109 + 5109 5289 5253 5110 + 5290 5254 5253 5110 + 5290 5253 5289 5110 + 5110 5290 5254 5111 + 5291 5255 5254 5111 + 5291 5254 5290 5111 + 5111 5291 5255 5112 + 5292 5256 5255 5112 + 5292 5255 5291 5112 + 5112 5292 5256 5113 + 5293 5257 5256 5113 + 5293 5256 5292 5113 + 5113 5293 5257 5114 + 5294 5258 5257 5114 + 5294 5257 5293 5114 + 137 142 141 5115 + 5295 5259 141 5115 + 5295 141 142 5115 + 5115 5295 5259 5116 + 5296 5260 5259 5116 + 5296 5259 5295 5116 + 5116 5296 5260 5117 + 5297 5261 5260 5117 + 5297 5260 5296 5117 + 5117 5297 5261 5118 + 5298 5262 5261 5118 + 5298 5261 5297 5118 + 5118 5298 5262 5119 + 5299 5263 5262 5119 + 5299 5262 5298 5119 + 5119 5299 5263 5120 + 5300 5264 5263 5120 + 5300 5263 5299 5120 + 5120 5300 5264 5121 + 5301 5265 5264 5121 + 5301 5264 5300 5121 + 5121 5301 5265 5122 + 5302 5266 5265 5122 + 5302 5265 5301 5122 + 5122 5302 5266 5123 + 5303 5267 5266 5123 + 5303 5266 5302 5123 + 5123 5303 5267 5124 + 5304 5268 5267 5124 + 5304 5267 5303 5124 + 5124 5304 5268 5125 + 5305 5269 5268 5125 + 5305 5268 5304 5125 + 5125 5305 5269 5126 + 5306 5270 5269 5126 + 5306 5269 5305 5126 + 5126 5306 5270 5127 + 5307 5271 5270 5127 + 5307 5270 5306 5127 + 5127 5307 5271 5128 + 5308 5272 5271 5128 + 5308 5271 5307 5128 + 5128 5308 5272 5129 + 5309 5273 5272 5129 + 5309 5272 5308 5129 + 5129 5309 5273 5130 + 5310 5274 5273 5130 + 5310 5273 5309 5130 + 5130 5310 5274 5131 + 5311 5275 5274 5131 + 5311 5274 5310 5131 + 5131 5311 5275 5132 + 5312 5276 5275 5132 + 5312 5275 5311 5132 + 5132 5312 5276 5133 + 5313 5277 5276 5133 + 5313 5276 5312 5133 + 5133 5313 5277 5134 + 5314 5278 5277 5134 + 5314 5277 5313 5134 + 5134 5314 5278 5135 + 5315 5279 5278 5135 + 5315 5278 5314 5135 + 5135 5315 5279 5136 + 5316 5280 5279 5136 + 5316 5279 5315 5136 + 5136 5316 5280 5137 + 5317 5281 5280 5137 + 5317 5280 5316 5137 + 5137 5317 5281 5138 + 5318 5282 5281 5138 + 5318 5281 5317 5138 + 5138 5318 5282 5139 + 5319 5283 5282 5139 + 5319 5282 5318 5139 + 5139 5319 5283 5140 + 5320 5284 5283 5140 + 5320 5283 5319 5140 + 5140 5320 5284 5141 + 5321 5285 5284 5141 + 5321 5284 5320 5141 + 5141 5321 5285 5142 + 5322 5286 5285 5142 + 5322 5285 5321 5142 + 5142 5322 5286 5143 + 5323 5287 5286 5143 + 5323 5286 5322 5143 + 5143 5323 5287 5144 + 5324 5288 5287 5144 + 5324 5287 5323 5144 + 5144 5324 5288 5145 + 5325 5289 5288 5145 + 5325 5288 5324 5145 + 5145 5325 5289 5146 + 5326 5290 5289 5146 + 5326 5289 5325 5146 + 5146 5326 5290 5147 + 5327 5291 5290 5147 + 5327 5290 5326 5147 + 5147 5327 5291 5148 + 5328 5292 5291 5148 + 5328 5291 5327 5148 + 5148 5328 5292 5149 + 5329 5293 5292 5149 + 5329 5292 5328 5149 + 5149 5329 5293 5150 + 5330 5294 5293 5150 + 5330 5293 5329 5150 + 5187 5043 5007 139 + 5007 5043 134 139 + 5043 135 134 139 + 5188 5044 5008 5187 + 5008 5044 5007 5187 + 5044 5043 5007 5187 + 5189 5045 5009 5188 + 5009 5045 5008 5188 + 5045 5044 5008 5188 + 5190 5046 5010 5189 + 5010 5046 5009 5189 + 5046 5045 5009 5189 + 5191 5047 5011 5190 + 5011 5047 5010 5190 + 5047 5046 5010 5190 + 5192 5048 5012 5191 + 5012 5048 5011 5191 + 5048 5047 5011 5191 + 5193 5049 5013 5192 + 5013 5049 5012 5192 + 5049 5048 5012 5192 + 5194 5050 5014 5193 + 5014 5050 5013 5193 + 5050 5049 5013 5193 + 5195 5051 5015 5194 + 5015 5051 5014 5194 + 5051 5050 5014 5194 + 5196 5052 5016 5195 + 5016 5052 5015 5195 + 5052 5051 5015 5195 + 5197 5053 5017 5196 + 5017 5053 5016 5196 + 5053 5052 5016 5196 + 5198 5054 5018 5197 + 5018 5054 5017 5197 + 5054 5053 5017 5197 + 5199 5055 5019 5198 + 5019 5055 5018 5198 + 5055 5054 5018 5198 + 5200 5056 5020 5199 + 5020 5056 5019 5199 + 5056 5055 5019 5199 + 5201 5057 5021 5200 + 5021 5057 5020 5200 + 5057 5056 5020 5200 + 5202 5058 5022 5201 + 5022 5058 5021 5201 + 5058 5057 5021 5201 + 5203 5059 5023 5202 + 5023 5059 5022 5202 + 5059 5058 5022 5202 + 5204 5060 5024 5203 + 5024 5060 5023 5203 + 5060 5059 5023 5203 + 5205 5061 5025 5204 + 5025 5061 5024 5204 + 5061 5060 5024 5204 + 5206 5062 5026 5205 + 5026 5062 5025 5205 + 5062 5061 5025 5205 + 5207 5063 5027 5206 + 5027 5063 5026 5206 + 5063 5062 5026 5206 + 5208 5064 5028 5207 + 5028 5064 5027 5207 + 5064 5063 5027 5207 + 5209 5065 5029 5208 + 5029 5065 5028 5208 + 5065 5064 5028 5208 + 5210 5066 5030 5209 + 5030 5066 5029 5209 + 5066 5065 5029 5209 + 5211 5067 5031 5210 + 5031 5067 5030 5210 + 5067 5066 5030 5210 + 5212 5068 5032 5211 + 5032 5068 5031 5211 + 5068 5067 5031 5211 + 5213 5069 5033 5212 + 5033 5069 5032 5212 + 5069 5068 5032 5212 + 5214 5070 5034 5213 + 5034 5070 5033 5213 + 5070 5069 5033 5213 + 5215 5071 5035 5214 + 5035 5071 5034 5214 + 5071 5070 5034 5214 + 5216 5072 5036 5215 + 5036 5072 5035 5215 + 5072 5071 5035 5215 + 5217 5073 5037 5216 + 5037 5073 5036 5216 + 5073 5072 5036 5216 + 5218 5074 5038 5217 + 5038 5074 5037 5217 + 5074 5073 5037 5217 + 5219 5075 5039 5218 + 5039 5075 5038 5218 + 5075 5074 5038 5218 + 5220 5076 5040 5219 + 5040 5076 5039 5219 + 5076 5075 5039 5219 + 5221 5077 5041 5220 + 5041 5077 5040 5220 + 5077 5076 5040 5220 + 5222 5078 5042 5221 + 5042 5078 5041 5221 + 5078 5077 5041 5221 + 5223 5079 5043 140 + 5043 5079 135 140 + 5079 136 135 140 + 5224 5080 5044 5223 + 5044 5080 5043 5223 + 5080 5079 5043 5223 + 5225 5081 5045 5224 + 5045 5081 5044 5224 + 5081 5080 5044 5224 + 5226 5082 5046 5225 + 5046 5082 5045 5225 + 5082 5081 5045 5225 + 5227 5083 5047 5226 + 5047 5083 5046 5226 + 5083 5082 5046 5226 + 5228 5084 5048 5227 + 5048 5084 5047 5227 + 5084 5083 5047 5227 + 5229 5085 5049 5228 + 5049 5085 5048 5228 + 5085 5084 5048 5228 + 5230 5086 5050 5229 + 5050 5086 5049 5229 + 5086 5085 5049 5229 + 5231 5087 5051 5230 + 5051 5087 5050 5230 + 5087 5086 5050 5230 + 5232 5088 5052 5231 + 5052 5088 5051 5231 + 5088 5087 5051 5231 + 5233 5089 5053 5232 + 5053 5089 5052 5232 + 5089 5088 5052 5232 + 5234 5090 5054 5233 + 5054 5090 5053 5233 + 5090 5089 5053 5233 + 5235 5091 5055 5234 + 5055 5091 5054 5234 + 5091 5090 5054 5234 + 5236 5092 5056 5235 + 5056 5092 5055 5235 + 5092 5091 5055 5235 + 5237 5093 5057 5236 + 5057 5093 5056 5236 + 5093 5092 5056 5236 + 5238 5094 5058 5237 + 5058 5094 5057 5237 + 5094 5093 5057 5237 + 5239 5095 5059 5238 + 5059 5095 5058 5238 + 5095 5094 5058 5238 + 5240 5096 5060 5239 + 5060 5096 5059 5239 + 5096 5095 5059 5239 + 5241 5097 5061 5240 + 5061 5097 5060 5240 + 5097 5096 5060 5240 + 5242 5098 5062 5241 + 5062 5098 5061 5241 + 5098 5097 5061 5241 + 5243 5099 5063 5242 + 5063 5099 5062 5242 + 5099 5098 5062 5242 + 5244 5100 5064 5243 + 5064 5100 5063 5243 + 5100 5099 5063 5243 + 5245 5101 5065 5244 + 5065 5101 5064 5244 + 5101 5100 5064 5244 + 5246 5102 5066 5245 + 5066 5102 5065 5245 + 5102 5101 5065 5245 + 5247 5103 5067 5246 + 5067 5103 5066 5246 + 5103 5102 5066 5246 + 5248 5104 5068 5247 + 5068 5104 5067 5247 + 5104 5103 5067 5247 + 5249 5105 5069 5248 + 5069 5105 5068 5248 + 5105 5104 5068 5248 + 5250 5106 5070 5249 + 5070 5106 5069 5249 + 5106 5105 5069 5249 + 5251 5107 5071 5250 + 5071 5107 5070 5250 + 5107 5106 5070 5250 + 5252 5108 5072 5251 + 5072 5108 5071 5251 + 5108 5107 5071 5251 + 5253 5109 5073 5252 + 5073 5109 5072 5252 + 5109 5108 5072 5252 + 5254 5110 5074 5253 + 5074 5110 5073 5253 + 5110 5109 5073 5253 + 5255 5111 5075 5254 + 5075 5111 5074 5254 + 5111 5110 5074 5254 + 5256 5112 5076 5255 + 5076 5112 5075 5255 + 5112 5111 5075 5255 + 5257 5113 5077 5256 + 5077 5113 5076 5256 + 5113 5112 5076 5256 + 5258 5114 5078 5257 + 5078 5114 5077 5257 + 5114 5113 5077 5257 + 5259 5115 5079 141 + 5079 5115 136 141 + 5115 137 136 141 + 5260 5116 5080 5259 + 5080 5116 5079 5259 + 5116 5115 5079 5259 + 5261 5117 5081 5260 + 5081 5117 5080 5260 + 5117 5116 5080 5260 + 5262 5118 5082 5261 + 5082 5118 5081 5261 + 5118 5117 5081 5261 + 5263 5119 5083 5262 + 5083 5119 5082 5262 + 5119 5118 5082 5262 + 5264 5120 5084 5263 + 5084 5120 5083 5263 + 5120 5119 5083 5263 + 5265 5121 5085 5264 + 5085 5121 5084 5264 + 5121 5120 5084 5264 + 5266 5122 5086 5265 + 5086 5122 5085 5265 + 5122 5121 5085 5265 + 5267 5123 5087 5266 + 5087 5123 5086 5266 + 5123 5122 5086 5266 + 5268 5124 5088 5267 + 5088 5124 5087 5267 + 5124 5123 5087 5267 + 5269 5125 5089 5268 + 5089 5125 5088 5268 + 5125 5124 5088 5268 + 5270 5126 5090 5269 + 5090 5126 5089 5269 + 5126 5125 5089 5269 + 5271 5127 5091 5270 + 5091 5127 5090 5270 + 5127 5126 5090 5270 + 5272 5128 5092 5271 + 5092 5128 5091 5271 + 5128 5127 5091 5271 + 5273 5129 5093 5272 + 5093 5129 5092 5272 + 5129 5128 5092 5272 + 5274 5130 5094 5273 + 5094 5130 5093 5273 + 5130 5129 5093 5273 + 5275 5131 5095 5274 + 5095 5131 5094 5274 + 5131 5130 5094 5274 + 5276 5132 5096 5275 + 5096 5132 5095 5275 + 5132 5131 5095 5275 + 5277 5133 5097 5276 + 5097 5133 5096 5276 + 5133 5132 5096 5276 + 5278 5134 5098 5277 + 5098 5134 5097 5277 + 5134 5133 5097 5277 + 5279 5135 5099 5278 + 5099 5135 5098 5278 + 5135 5134 5098 5278 + 5280 5136 5100 5279 + 5100 5136 5099 5279 + 5136 5135 5099 5279 + 5281 5137 5101 5280 + 5101 5137 5100 5280 + 5137 5136 5100 5280 + 5282 5138 5102 5281 + 5102 5138 5101 5281 + 5138 5137 5101 5281 + 5283 5139 5103 5282 + 5103 5139 5102 5282 + 5139 5138 5102 5282 + 5284 5140 5104 5283 + 5104 5140 5103 5283 + 5140 5139 5103 5283 + 5285 5141 5105 5284 + 5105 5141 5104 5284 + 5141 5140 5104 5284 + 5286 5142 5106 5285 + 5106 5142 5105 5285 + 5142 5141 5105 5285 + 5287 5143 5107 5286 + 5107 5143 5106 5286 + 5143 5142 5106 5286 + 5288 5144 5108 5287 + 5108 5144 5107 5287 + 5144 5143 5107 5287 + 5289 5145 5109 5288 + 5109 5145 5108 5288 + 5145 5144 5108 5288 + 5290 5146 5110 5289 + 5110 5146 5109 5289 + 5146 5145 5109 5289 + 5291 5147 5111 5290 + 5111 5147 5110 5290 + 5147 5146 5110 5290 + 5292 5148 5112 5291 + 5112 5148 5111 5291 + 5148 5147 5111 5291 + 5293 5149 5113 5292 + 5113 5149 5112 5292 + 5149 5148 5112 5292 + 5294 5150 5114 5293 + 5114 5150 5113 5293 + 5150 5149 5113 5293 + 138 144 143 5151 + 5367 5331 143 5151 + 5367 143 144 5151 + 5151 5367 5331 5152 + 5368 5332 5331 5152 + 5368 5331 5367 5152 + 5152 5368 5332 5153 + 5369 5333 5332 5153 + 5369 5332 5368 5153 + 5153 5369 5333 5154 + 5370 5334 5333 5154 + 5370 5333 5369 5154 + 5154 5370 5334 5155 + 5371 5335 5334 5155 + 5371 5334 5370 5155 + 5155 5371 5335 5156 + 5372 5336 5335 5156 + 5372 5335 5371 5156 + 5156 5372 5336 5157 + 5373 5337 5336 5157 + 5373 5336 5372 5157 + 5157 5373 5337 5158 + 5374 5338 5337 5158 + 5374 5337 5373 5158 + 5158 5374 5338 5159 + 5375 5339 5338 5159 + 5375 5338 5374 5159 + 5159 5375 5339 5160 + 5376 5340 5339 5160 + 5376 5339 5375 5160 + 5160 5376 5340 5161 + 5377 5341 5340 5161 + 5377 5340 5376 5161 + 5161 5377 5341 5162 + 5378 5342 5341 5162 + 5378 5341 5377 5162 + 5162 5378 5342 5163 + 5379 5343 5342 5163 + 5379 5342 5378 5163 + 5163 5379 5343 5164 + 5380 5344 5343 5164 + 5380 5343 5379 5164 + 5164 5380 5344 5165 + 5381 5345 5344 5165 + 5381 5344 5380 5165 + 5165 5381 5345 5166 + 5382 5346 5345 5166 + 5382 5345 5381 5166 + 5166 5382 5346 5167 + 5383 5347 5346 5167 + 5383 5346 5382 5167 + 5167 5383 5347 5168 + 5384 5348 5347 5168 + 5384 5347 5383 5168 + 5168 5384 5348 5169 + 5385 5349 5348 5169 + 5385 5348 5384 5169 + 5169 5385 5349 5170 + 5386 5350 5349 5170 + 5386 5349 5385 5170 + 5170 5386 5350 5171 + 5387 5351 5350 5171 + 5387 5350 5386 5171 + 5171 5387 5351 5172 + 5388 5352 5351 5172 + 5388 5351 5387 5172 + 5172 5388 5352 5173 + 5389 5353 5352 5173 + 5389 5352 5388 5173 + 5173 5389 5353 5174 + 5390 5354 5353 5174 + 5390 5353 5389 5174 + 5174 5390 5354 5175 + 5391 5355 5354 5175 + 5391 5354 5390 5175 + 5175 5391 5355 5176 + 5392 5356 5355 5176 + 5392 5355 5391 5176 + 5176 5392 5356 5177 + 5393 5357 5356 5177 + 5393 5356 5392 5177 + 5177 5393 5357 5178 + 5394 5358 5357 5178 + 5394 5357 5393 5178 + 5178 5394 5358 5179 + 5395 5359 5358 5179 + 5395 5358 5394 5179 + 5179 5395 5359 5180 + 5396 5360 5359 5180 + 5396 5359 5395 5180 + 5180 5396 5360 5181 + 5397 5361 5360 5181 + 5397 5360 5396 5181 + 5181 5397 5361 5182 + 5398 5362 5361 5182 + 5398 5361 5397 5182 + 5182 5398 5362 5183 + 5399 5363 5362 5183 + 5399 5362 5398 5183 + 5183 5399 5363 5184 + 5400 5364 5363 5184 + 5400 5363 5399 5184 + 5184 5400 5364 5185 + 5401 5365 5364 5185 + 5401 5364 5400 5185 + 5185 5401 5365 5186 + 5402 5366 5365 5186 + 5402 5365 5401 5186 + 139 145 144 5187 + 5403 5367 144 5187 + 5403 144 145 5187 + 5187 5403 5367 5188 + 5404 5368 5367 5188 + 5404 5367 5403 5188 + 5188 5404 5368 5189 + 5405 5369 5368 5189 + 5405 5368 5404 5189 + 5189 5405 5369 5190 + 5406 5370 5369 5190 + 5406 5369 5405 5190 + 5190 5406 5370 5191 + 5407 5371 5370 5191 + 5407 5370 5406 5191 + 5191 5407 5371 5192 + 5408 5372 5371 5192 + 5408 5371 5407 5192 + 5192 5408 5372 5193 + 5409 5373 5372 5193 + 5409 5372 5408 5193 + 5193 5409 5373 5194 + 5410 5374 5373 5194 + 5410 5373 5409 5194 + 5194 5410 5374 5195 + 5411 5375 5374 5195 + 5411 5374 5410 5195 + 5195 5411 5375 5196 + 5412 5376 5375 5196 + 5412 5375 5411 5196 + 5196 5412 5376 5197 + 5413 5377 5376 5197 + 5413 5376 5412 5197 + 5197 5413 5377 5198 + 5414 5378 5377 5198 + 5414 5377 5413 5198 + 5198 5414 5378 5199 + 5415 5379 5378 5199 + 5415 5378 5414 5199 + 5199 5415 5379 5200 + 5416 5380 5379 5200 + 5416 5379 5415 5200 + 5200 5416 5380 5201 + 5417 5381 5380 5201 + 5417 5380 5416 5201 + 5201 5417 5381 5202 + 5418 5382 5381 5202 + 5418 5381 5417 5202 + 5202 5418 5382 5203 + 5419 5383 5382 5203 + 5419 5382 5418 5203 + 5203 5419 5383 5204 + 5420 5384 5383 5204 + 5420 5383 5419 5204 + 5204 5420 5384 5205 + 5421 5385 5384 5205 + 5421 5384 5420 5205 + 5205 5421 5385 5206 + 5422 5386 5385 5206 + 5422 5385 5421 5206 + 5206 5422 5386 5207 + 5423 5387 5386 5207 + 5423 5386 5422 5207 + 5207 5423 5387 5208 + 5424 5388 5387 5208 + 5424 5387 5423 5208 + 5208 5424 5388 5209 + 5425 5389 5388 5209 + 5425 5388 5424 5209 + 5209 5425 5389 5210 + 5426 5390 5389 5210 + 5426 5389 5425 5210 + 5210 5426 5390 5211 + 5427 5391 5390 5211 + 5427 5390 5426 5211 + 5211 5427 5391 5212 + 5428 5392 5391 5212 + 5428 5391 5427 5212 + 5212 5428 5392 5213 + 5429 5393 5392 5213 + 5429 5392 5428 5213 + 5213 5429 5393 5214 + 5430 5394 5393 5214 + 5430 5393 5429 5214 + 5214 5430 5394 5215 + 5431 5395 5394 5215 + 5431 5394 5430 5215 + 5215 5431 5395 5216 + 5432 5396 5395 5216 + 5432 5395 5431 5216 + 5216 5432 5396 5217 + 5433 5397 5396 5217 + 5433 5396 5432 5217 + 5217 5433 5397 5218 + 5434 5398 5397 5218 + 5434 5397 5433 5218 + 5218 5434 5398 5219 + 5435 5399 5398 5219 + 5435 5398 5434 5219 + 5219 5435 5399 5220 + 5436 5400 5399 5220 + 5436 5399 5435 5220 + 5220 5436 5400 5221 + 5437 5401 5400 5221 + 5437 5400 5436 5221 + 5221 5437 5401 5222 + 5438 5402 5401 5222 + 5438 5401 5437 5222 + 140 146 145 5223 + 5439 5403 145 5223 + 5439 145 146 5223 + 5223 5439 5403 5224 + 5440 5404 5403 5224 + 5440 5403 5439 5224 + 5224 5440 5404 5225 + 5441 5405 5404 5225 + 5441 5404 5440 5225 + 5225 5441 5405 5226 + 5442 5406 5405 5226 + 5442 5405 5441 5226 + 5226 5442 5406 5227 + 5443 5407 5406 5227 + 5443 5406 5442 5227 + 5227 5443 5407 5228 + 5444 5408 5407 5228 + 5444 5407 5443 5228 + 5228 5444 5408 5229 + 5445 5409 5408 5229 + 5445 5408 5444 5229 + 5229 5445 5409 5230 + 5446 5410 5409 5230 + 5446 5409 5445 5230 + 5230 5446 5410 5231 + 5447 5411 5410 5231 + 5447 5410 5446 5231 + 5231 5447 5411 5232 + 5448 5412 5411 5232 + 5448 5411 5447 5232 + 5232 5448 5412 5233 + 5449 5413 5412 5233 + 5449 5412 5448 5233 + 5233 5449 5413 5234 + 5450 5414 5413 5234 + 5450 5413 5449 5234 + 5234 5450 5414 5235 + 5451 5415 5414 5235 + 5451 5414 5450 5235 + 5235 5451 5415 5236 + 5452 5416 5415 5236 + 5452 5415 5451 5236 + 5236 5452 5416 5237 + 5453 5417 5416 5237 + 5453 5416 5452 5237 + 5237 5453 5417 5238 + 5454 5418 5417 5238 + 5454 5417 5453 5238 + 5238 5454 5418 5239 + 5455 5419 5418 5239 + 5455 5418 5454 5239 + 5239 5455 5419 5240 + 5456 5420 5419 5240 + 5456 5419 5455 5240 + 5240 5456 5420 5241 + 5457 5421 5420 5241 + 5457 5420 5456 5241 + 5241 5457 5421 5242 + 5458 5422 5421 5242 + 5458 5421 5457 5242 + 5242 5458 5422 5243 + 5459 5423 5422 5243 + 5459 5422 5458 5243 + 5243 5459 5423 5244 + 5460 5424 5423 5244 + 5460 5423 5459 5244 + 5244 5460 5424 5245 + 5461 5425 5424 5245 + 5461 5424 5460 5245 + 5245 5461 5425 5246 + 5462 5426 5425 5246 + 5462 5425 5461 5246 + 5246 5462 5426 5247 + 5463 5427 5426 5247 + 5463 5426 5462 5247 + 5247 5463 5427 5248 + 5464 5428 5427 5248 + 5464 5427 5463 5248 + 5248 5464 5428 5249 + 5465 5429 5428 5249 + 5465 5428 5464 5249 + 5249 5465 5429 5250 + 5466 5430 5429 5250 + 5466 5429 5465 5250 + 5250 5466 5430 5251 + 5467 5431 5430 5251 + 5467 5430 5466 5251 + 5251 5467 5431 5252 + 5468 5432 5431 5252 + 5468 5431 5467 5252 + 5252 5468 5432 5253 + 5469 5433 5432 5253 + 5469 5432 5468 5253 + 5253 5469 5433 5254 + 5470 5434 5433 5254 + 5470 5433 5469 5254 + 5254 5470 5434 5255 + 5471 5435 5434 5255 + 5471 5434 5470 5255 + 5255 5471 5435 5256 + 5472 5436 5435 5256 + 5472 5435 5471 5256 + 5256 5472 5436 5257 + 5473 5437 5436 5257 + 5473 5436 5472 5257 + 5257 5473 5437 5258 + 5474 5438 5437 5258 + 5474 5437 5473 5258 + 141 147 146 5259 + 5475 5439 146 5259 + 5475 146 147 5259 + 5259 5475 5439 5260 + 5476 5440 5439 5260 + 5476 5439 5475 5260 + 5260 5476 5440 5261 + 5477 5441 5440 5261 + 5477 5440 5476 5261 + 5261 5477 5441 5262 + 5478 5442 5441 5262 + 5478 5441 5477 5262 + 5262 5478 5442 5263 + 5479 5443 5442 5263 + 5479 5442 5478 5263 + 5263 5479 5443 5264 + 5480 5444 5443 5264 + 5480 5443 5479 5264 + 5264 5480 5444 5265 + 5481 5445 5444 5265 + 5481 5444 5480 5265 + 5265 5481 5445 5266 + 5482 5446 5445 5266 + 5482 5445 5481 5266 + 5266 5482 5446 5267 + 5483 5447 5446 5267 + 5483 5446 5482 5267 + 5267 5483 5447 5268 + 5484 5448 5447 5268 + 5484 5447 5483 5268 + 5268 5484 5448 5269 + 5485 5449 5448 5269 + 5485 5448 5484 5269 + 5269 5485 5449 5270 + 5486 5450 5449 5270 + 5486 5449 5485 5270 + 5270 5486 5450 5271 + 5487 5451 5450 5271 + 5487 5450 5486 5271 + 5271 5487 5451 5272 + 5488 5452 5451 5272 + 5488 5451 5487 5272 + 5272 5488 5452 5273 + 5489 5453 5452 5273 + 5489 5452 5488 5273 + 5273 5489 5453 5274 + 5490 5454 5453 5274 + 5490 5453 5489 5274 + 5274 5490 5454 5275 + 5491 5455 5454 5275 + 5491 5454 5490 5275 + 5275 5491 5455 5276 + 5492 5456 5455 5276 + 5492 5455 5491 5276 + 5276 5492 5456 5277 + 5493 5457 5456 5277 + 5493 5456 5492 5277 + 5277 5493 5457 5278 + 5494 5458 5457 5278 + 5494 5457 5493 5278 + 5278 5494 5458 5279 + 5495 5459 5458 5279 + 5495 5458 5494 5279 + 5279 5495 5459 5280 + 5496 5460 5459 5280 + 5496 5459 5495 5280 + 5280 5496 5460 5281 + 5497 5461 5460 5281 + 5497 5460 5496 5281 + 5281 5497 5461 5282 + 5498 5462 5461 5282 + 5498 5461 5497 5282 + 5282 5498 5462 5283 + 5499 5463 5462 5283 + 5499 5462 5498 5283 + 5283 5499 5463 5284 + 5500 5464 5463 5284 + 5500 5463 5499 5284 + 5284 5500 5464 5285 + 5501 5465 5464 5285 + 5501 5464 5500 5285 + 5285 5501 5465 5286 + 5502 5466 5465 5286 + 5502 5465 5501 5286 + 5286 5502 5466 5287 + 5503 5467 5466 5287 + 5503 5466 5502 5287 + 5287 5503 5467 5288 + 5504 5468 5467 5288 + 5504 5467 5503 5288 + 5288 5504 5468 5289 + 5505 5469 5468 5289 + 5505 5468 5504 5289 + 5289 5505 5469 5290 + 5506 5470 5469 5290 + 5506 5469 5505 5290 + 5290 5506 5470 5291 + 5507 5471 5470 5291 + 5507 5470 5506 5291 + 5291 5507 5471 5292 + 5508 5472 5471 5292 + 5508 5471 5507 5292 + 5292 5508 5472 5293 + 5509 5473 5472 5293 + 5509 5472 5508 5293 + 5293 5509 5473 5294 + 5510 5474 5473 5294 + 5510 5473 5509 5294 + 142 148 147 5295 + 5511 5475 147 5295 + 5511 147 148 5295 + 5295 5511 5475 5296 + 5512 5476 5475 5296 + 5512 5475 5511 5296 + 5296 5512 5476 5297 + 5513 5477 5476 5297 + 5513 5476 5512 5297 + 5297 5513 5477 5298 + 5514 5478 5477 5298 + 5514 5477 5513 5298 + 5298 5514 5478 5299 + 5515 5479 5478 5299 + 5515 5478 5514 5299 + 5299 5515 5479 5300 + 5516 5480 5479 5300 + 5516 5479 5515 5300 + 5300 5516 5480 5301 + 5517 5481 5480 5301 + 5517 5480 5516 5301 + 5301 5517 5481 5302 + 5518 5482 5481 5302 + 5518 5481 5517 5302 + 5302 5518 5482 5303 + 5519 5483 5482 5303 + 5519 5482 5518 5303 + 5303 5519 5483 5304 + 5520 5484 5483 5304 + 5520 5483 5519 5304 + 5304 5520 5484 5305 + 5521 5485 5484 5305 + 5521 5484 5520 5305 + 5305 5521 5485 5306 + 5522 5486 5485 5306 + 5522 5485 5521 5306 + 5306 5522 5486 5307 + 5523 5487 5486 5307 + 5523 5486 5522 5307 + 5307 5523 5487 5308 + 5524 5488 5487 5308 + 5524 5487 5523 5308 + 5308 5524 5488 5309 + 5525 5489 5488 5309 + 5525 5488 5524 5309 + 5309 5525 5489 5310 + 5526 5490 5489 5310 + 5526 5489 5525 5310 + 5310 5526 5490 5311 + 5527 5491 5490 5311 + 5527 5490 5526 5311 + 5311 5527 5491 5312 + 5528 5492 5491 5312 + 5528 5491 5527 5312 + 5312 5528 5492 5313 + 5529 5493 5492 5313 + 5529 5492 5528 5313 + 5313 5529 5493 5314 + 5530 5494 5493 5314 + 5530 5493 5529 5314 + 5314 5530 5494 5315 + 5531 5495 5494 5315 + 5531 5494 5530 5315 + 5315 5531 5495 5316 + 5532 5496 5495 5316 + 5532 5495 5531 5316 + 5316 5532 5496 5317 + 5533 5497 5496 5317 + 5533 5496 5532 5317 + 5317 5533 5497 5318 + 5534 5498 5497 5318 + 5534 5497 5533 5318 + 5318 5534 5498 5319 + 5535 5499 5498 5319 + 5535 5498 5534 5319 + 5319 5535 5499 5320 + 5536 5500 5499 5320 + 5536 5499 5535 5320 + 5320 5536 5500 5321 + 5537 5501 5500 5321 + 5537 5500 5536 5321 + 5321 5537 5501 5322 + 5538 5502 5501 5322 + 5538 5501 5537 5322 + 5322 5538 5502 5323 + 5539 5503 5502 5323 + 5539 5502 5538 5323 + 5323 5539 5503 5324 + 5540 5504 5503 5324 + 5540 5503 5539 5324 + 5324 5540 5504 5325 + 5541 5505 5504 5325 + 5541 5504 5540 5325 + 5325 5541 5505 5326 + 5542 5506 5505 5326 + 5542 5505 5541 5326 + 5326 5542 5506 5327 + 5543 5507 5506 5327 + 5543 5506 5542 5327 + 5327 5543 5507 5328 + 5544 5508 5507 5328 + 5544 5507 5543 5328 + 5328 5544 5508 5329 + 5545 5509 5508 5329 + 5545 5508 5544 5329 + 5329 5545 5509 5330 + 5546 5510 5509 5330 + 5546 5509 5545 5330 + 5367 5187 5151 144 + 5151 5187 138 144 + 5187 139 138 144 + 5368 5188 5152 5367 + 5152 5188 5151 5367 + 5188 5187 5151 5367 + 5369 5189 5153 5368 + 5153 5189 5152 5368 + 5189 5188 5152 5368 + 5370 5190 5154 5369 + 5154 5190 5153 5369 + 5190 5189 5153 5369 + 5371 5191 5155 5370 + 5155 5191 5154 5370 + 5191 5190 5154 5370 + 5372 5192 5156 5371 + 5156 5192 5155 5371 + 5192 5191 5155 5371 + 5373 5193 5157 5372 + 5157 5193 5156 5372 + 5193 5192 5156 5372 + 5374 5194 5158 5373 + 5158 5194 5157 5373 + 5194 5193 5157 5373 + 5375 5195 5159 5374 + 5159 5195 5158 5374 + 5195 5194 5158 5374 + 5376 5196 5160 5375 + 5160 5196 5159 5375 + 5196 5195 5159 5375 + 5377 5197 5161 5376 + 5161 5197 5160 5376 + 5197 5196 5160 5376 + 5378 5198 5162 5377 + 5162 5198 5161 5377 + 5198 5197 5161 5377 + 5379 5199 5163 5378 + 5163 5199 5162 5378 + 5199 5198 5162 5378 + 5380 5200 5164 5379 + 5164 5200 5163 5379 + 5200 5199 5163 5379 + 5381 5201 5165 5380 + 5165 5201 5164 5380 + 5201 5200 5164 5380 + 5382 5202 5166 5381 + 5166 5202 5165 5381 + 5202 5201 5165 5381 + 5383 5203 5167 5382 + 5167 5203 5166 5382 + 5203 5202 5166 5382 + 5384 5204 5168 5383 + 5168 5204 5167 5383 + 5204 5203 5167 5383 + 5385 5205 5169 5384 + 5169 5205 5168 5384 + 5205 5204 5168 5384 + 5386 5206 5170 5385 + 5170 5206 5169 5385 + 5206 5205 5169 5385 + 5387 5207 5171 5386 + 5171 5207 5170 5386 + 5207 5206 5170 5386 + 5388 5208 5172 5387 + 5172 5208 5171 5387 + 5208 5207 5171 5387 + 5389 5209 5173 5388 + 5173 5209 5172 5388 + 5209 5208 5172 5388 + 5390 5210 5174 5389 + 5174 5210 5173 5389 + 5210 5209 5173 5389 + 5391 5211 5175 5390 + 5175 5211 5174 5390 + 5211 5210 5174 5390 + 5392 5212 5176 5391 + 5176 5212 5175 5391 + 5212 5211 5175 5391 + 5393 5213 5177 5392 + 5177 5213 5176 5392 + 5213 5212 5176 5392 + 5394 5214 5178 5393 + 5178 5214 5177 5393 + 5214 5213 5177 5393 + 5395 5215 5179 5394 + 5179 5215 5178 5394 + 5215 5214 5178 5394 + 5396 5216 5180 5395 + 5180 5216 5179 5395 + 5216 5215 5179 5395 + 5397 5217 5181 5396 + 5181 5217 5180 5396 + 5217 5216 5180 5396 + 5398 5218 5182 5397 + 5182 5218 5181 5397 + 5218 5217 5181 5397 + 5399 5219 5183 5398 + 5183 5219 5182 5398 + 5219 5218 5182 5398 + 5400 5220 5184 5399 + 5184 5220 5183 5399 + 5220 5219 5183 5399 + 5401 5221 5185 5400 + 5185 5221 5184 5400 + 5221 5220 5184 5400 + 5402 5222 5186 5401 + 5186 5222 5185 5401 + 5222 5221 5185 5401 + 5403 5223 5187 145 + 5187 5223 139 145 + 5223 140 139 145 + 5404 5224 5188 5403 + 5188 5224 5187 5403 + 5224 5223 5187 5403 + 5405 5225 5189 5404 + 5189 5225 5188 5404 + 5225 5224 5188 5404 + 5406 5226 5190 5405 + 5190 5226 5189 5405 + 5226 5225 5189 5405 + 5407 5227 5191 5406 + 5191 5227 5190 5406 + 5227 5226 5190 5406 + 5408 5228 5192 5407 + 5192 5228 5191 5407 + 5228 5227 5191 5407 + 5409 5229 5193 5408 + 5193 5229 5192 5408 + 5229 5228 5192 5408 + 5410 5230 5194 5409 + 5194 5230 5193 5409 + 5230 5229 5193 5409 + 5411 5231 5195 5410 + 5195 5231 5194 5410 + 5231 5230 5194 5410 + 5412 5232 5196 5411 + 5196 5232 5195 5411 + 5232 5231 5195 5411 + 5413 5233 5197 5412 + 5197 5233 5196 5412 + 5233 5232 5196 5412 + 5414 5234 5198 5413 + 5198 5234 5197 5413 + 5234 5233 5197 5413 + 5415 5235 5199 5414 + 5199 5235 5198 5414 + 5235 5234 5198 5414 + 5416 5236 5200 5415 + 5200 5236 5199 5415 + 5236 5235 5199 5415 + 5417 5237 5201 5416 + 5201 5237 5200 5416 + 5237 5236 5200 5416 + 5418 5238 5202 5417 + 5202 5238 5201 5417 + 5238 5237 5201 5417 + 5419 5239 5203 5418 + 5203 5239 5202 5418 + 5239 5238 5202 5418 + 5420 5240 5204 5419 + 5204 5240 5203 5419 + 5240 5239 5203 5419 + 5421 5241 5205 5420 + 5205 5241 5204 5420 + 5241 5240 5204 5420 + 5422 5242 5206 5421 + 5206 5242 5205 5421 + 5242 5241 5205 5421 + 5423 5243 5207 5422 + 5207 5243 5206 5422 + 5243 5242 5206 5422 + 5424 5244 5208 5423 + 5208 5244 5207 5423 + 5244 5243 5207 5423 + 5425 5245 5209 5424 + 5209 5245 5208 5424 + 5245 5244 5208 5424 + 5426 5246 5210 5425 + 5210 5246 5209 5425 + 5246 5245 5209 5425 + 5427 5247 5211 5426 + 5211 5247 5210 5426 + 5247 5246 5210 5426 + 5428 5248 5212 5427 + 5212 5248 5211 5427 + 5248 5247 5211 5427 + 5429 5249 5213 5428 + 5213 5249 5212 5428 + 5249 5248 5212 5428 + 5430 5250 5214 5429 + 5214 5250 5213 5429 + 5250 5249 5213 5429 + 5431 5251 5215 5430 + 5215 5251 5214 5430 + 5251 5250 5214 5430 + 5432 5252 5216 5431 + 5216 5252 5215 5431 + 5252 5251 5215 5431 + 5433 5253 5217 5432 + 5217 5253 5216 5432 + 5253 5252 5216 5432 + 5434 5254 5218 5433 + 5218 5254 5217 5433 + 5254 5253 5217 5433 + 5435 5255 5219 5434 + 5219 5255 5218 5434 + 5255 5254 5218 5434 + 5436 5256 5220 5435 + 5220 5256 5219 5435 + 5256 5255 5219 5435 + 5437 5257 5221 5436 + 5221 5257 5220 5436 + 5257 5256 5220 5436 + 5438 5258 5222 5437 + 5222 5258 5221 5437 + 5258 5257 5221 5437 + 5439 5259 5223 146 + 5223 5259 140 146 + 5259 141 140 146 + 5440 5260 5224 5439 + 5224 5260 5223 5439 + 5260 5259 5223 5439 + 5441 5261 5225 5440 + 5225 5261 5224 5440 + 5261 5260 5224 5440 + 5442 5262 5226 5441 + 5226 5262 5225 5441 + 5262 5261 5225 5441 + 5443 5263 5227 5442 + 5227 5263 5226 5442 + 5263 5262 5226 5442 + 5444 5264 5228 5443 + 5228 5264 5227 5443 + 5264 5263 5227 5443 + 5445 5265 5229 5444 + 5229 5265 5228 5444 + 5265 5264 5228 5444 + 5446 5266 5230 5445 + 5230 5266 5229 5445 + 5266 5265 5229 5445 + 5447 5267 5231 5446 + 5231 5267 5230 5446 + 5267 5266 5230 5446 + 5448 5268 5232 5447 + 5232 5268 5231 5447 + 5268 5267 5231 5447 + 5449 5269 5233 5448 + 5233 5269 5232 5448 + 5269 5268 5232 5448 + 5450 5270 5234 5449 + 5234 5270 5233 5449 + 5270 5269 5233 5449 + 5451 5271 5235 5450 + 5235 5271 5234 5450 + 5271 5270 5234 5450 + 5452 5272 5236 5451 + 5236 5272 5235 5451 + 5272 5271 5235 5451 + 5453 5273 5237 5452 + 5237 5273 5236 5452 + 5273 5272 5236 5452 + 5454 5274 5238 5453 + 5238 5274 5237 5453 + 5274 5273 5237 5453 + 5455 5275 5239 5454 + 5239 5275 5238 5454 + 5275 5274 5238 5454 + 5456 5276 5240 5455 + 5240 5276 5239 5455 + 5276 5275 5239 5455 + 5457 5277 5241 5456 + 5241 5277 5240 5456 + 5277 5276 5240 5456 + 5458 5278 5242 5457 + 5242 5278 5241 5457 + 5278 5277 5241 5457 + 5459 5279 5243 5458 + 5243 5279 5242 5458 + 5279 5278 5242 5458 + 5460 5280 5244 5459 + 5244 5280 5243 5459 + 5280 5279 5243 5459 + 5461 5281 5245 5460 + 5245 5281 5244 5460 + 5281 5280 5244 5460 + 5462 5282 5246 5461 + 5246 5282 5245 5461 + 5282 5281 5245 5461 + 5463 5283 5247 5462 + 5247 5283 5246 5462 + 5283 5282 5246 5462 + 5464 5284 5248 5463 + 5248 5284 5247 5463 + 5284 5283 5247 5463 + 5465 5285 5249 5464 + 5249 5285 5248 5464 + 5285 5284 5248 5464 + 5466 5286 5250 5465 + 5250 5286 5249 5465 + 5286 5285 5249 5465 + 5467 5287 5251 5466 + 5251 5287 5250 5466 + 5287 5286 5250 5466 + 5468 5288 5252 5467 + 5252 5288 5251 5467 + 5288 5287 5251 5467 + 5469 5289 5253 5468 + 5253 5289 5252 5468 + 5289 5288 5252 5468 + 5470 5290 5254 5469 + 5254 5290 5253 5469 + 5290 5289 5253 5469 + 5471 5291 5255 5470 + 5255 5291 5254 5470 + 5291 5290 5254 5470 + 5472 5292 5256 5471 + 5256 5292 5255 5471 + 5292 5291 5255 5471 + 5473 5293 5257 5472 + 5257 5293 5256 5472 + 5293 5292 5256 5472 + 5474 5294 5258 5473 + 5258 5294 5257 5473 + 5294 5293 5257 5473 + 5475 5295 5259 147 + 5259 5295 141 147 + 5295 142 141 147 + 5476 5296 5260 5475 + 5260 5296 5259 5475 + 5296 5295 5259 5475 + 5477 5297 5261 5476 + 5261 5297 5260 5476 + 5297 5296 5260 5476 + 5478 5298 5262 5477 + 5262 5298 5261 5477 + 5298 5297 5261 5477 + 5479 5299 5263 5478 + 5263 5299 5262 5478 + 5299 5298 5262 5478 + 5480 5300 5264 5479 + 5264 5300 5263 5479 + 5300 5299 5263 5479 + 5481 5301 5265 5480 + 5265 5301 5264 5480 + 5301 5300 5264 5480 + 5482 5302 5266 5481 + 5266 5302 5265 5481 + 5302 5301 5265 5481 + 5483 5303 5267 5482 + 5267 5303 5266 5482 + 5303 5302 5266 5482 + 5484 5304 5268 5483 + 5268 5304 5267 5483 + 5304 5303 5267 5483 + 5485 5305 5269 5484 + 5269 5305 5268 5484 + 5305 5304 5268 5484 + 5486 5306 5270 5485 + 5270 5306 5269 5485 + 5306 5305 5269 5485 + 5487 5307 5271 5486 + 5271 5307 5270 5486 + 5307 5306 5270 5486 + 5488 5308 5272 5487 + 5272 5308 5271 5487 + 5308 5307 5271 5487 + 5489 5309 5273 5488 + 5273 5309 5272 5488 + 5309 5308 5272 5488 + 5490 5310 5274 5489 + 5274 5310 5273 5489 + 5310 5309 5273 5489 + 5491 5311 5275 5490 + 5275 5311 5274 5490 + 5311 5310 5274 5490 + 5492 5312 5276 5491 + 5276 5312 5275 5491 + 5312 5311 5275 5491 + 5493 5313 5277 5492 + 5277 5313 5276 5492 + 5313 5312 5276 5492 + 5494 5314 5278 5493 + 5278 5314 5277 5493 + 5314 5313 5277 5493 + 5495 5315 5279 5494 + 5279 5315 5278 5494 + 5315 5314 5278 5494 + 5496 5316 5280 5495 + 5280 5316 5279 5495 + 5316 5315 5279 5495 + 5497 5317 5281 5496 + 5281 5317 5280 5496 + 5317 5316 5280 5496 + 5498 5318 5282 5497 + 5282 5318 5281 5497 + 5318 5317 5281 5497 + 5499 5319 5283 5498 + 5283 5319 5282 5498 + 5319 5318 5282 5498 + 5500 5320 5284 5499 + 5284 5320 5283 5499 + 5320 5319 5283 5499 + 5501 5321 5285 5500 + 5285 5321 5284 5500 + 5321 5320 5284 5500 + 5502 5322 5286 5501 + 5286 5322 5285 5501 + 5322 5321 5285 5501 + 5503 5323 5287 5502 + 5287 5323 5286 5502 + 5323 5322 5286 5502 + 5504 5324 5288 5503 + 5288 5324 5287 5503 + 5324 5323 5287 5503 + 5505 5325 5289 5504 + 5289 5325 5288 5504 + 5325 5324 5288 5504 + 5506 5326 5290 5505 + 5290 5326 5289 5505 + 5326 5325 5289 5505 + 5507 5327 5291 5506 + 5291 5327 5290 5506 + 5327 5326 5290 5506 + 5508 5328 5292 5507 + 5292 5328 5291 5507 + 5328 5327 5291 5507 + 5509 5329 5293 5508 + 5293 5329 5292 5508 + 5329 5328 5292 5508 + 5510 5330 5294 5509 + 5294 5330 5293 5509 + 5330 5329 5293 5509 + 143 23 22 5331 + 1011 975 22 5331 + 1011 22 23 5331 + 5331 1011 975 5332 + 1012 976 975 5332 + 1012 975 1011 5332 + 5332 1012 976 5333 + 1013 977 976 5333 + 1013 976 1012 5333 + 5333 1013 977 5334 + 1014 978 977 5334 + 1014 977 1013 5334 + 5334 1014 978 5335 + 1015 979 978 5335 + 1015 978 1014 5335 + 5335 1015 979 5336 + 1016 980 979 5336 + 1016 979 1015 5336 + 5336 1016 980 5337 + 1017 981 980 5337 + 1017 980 1016 5337 + 5337 1017 981 5338 + 1018 982 981 5338 + 1018 981 1017 5338 + 5338 1018 982 5339 + 1019 983 982 5339 + 1019 982 1018 5339 + 5339 1019 983 5340 + 1020 984 983 5340 + 1020 983 1019 5340 + 5340 1020 984 5341 + 1021 985 984 5341 + 1021 984 1020 5341 + 5341 1021 985 5342 + 1022 986 985 5342 + 1022 985 1021 5342 + 5342 1022 986 5343 + 1023 987 986 5343 + 1023 986 1022 5343 + 5343 1023 987 5344 + 1024 988 987 5344 + 1024 987 1023 5344 + 5344 1024 988 5345 + 1025 989 988 5345 + 1025 988 1024 5345 + 5345 1025 989 5346 + 1026 990 989 5346 + 1026 989 1025 5346 + 5346 1026 990 5347 + 1027 991 990 5347 + 1027 990 1026 5347 + 5347 1027 991 5348 + 1028 992 991 5348 + 1028 991 1027 5348 + 5348 1028 992 5349 + 1029 993 992 5349 + 1029 992 1028 5349 + 5349 1029 993 5350 + 1030 994 993 5350 + 1030 993 1029 5350 + 5350 1030 994 5351 + 1031 995 994 5351 + 1031 994 1030 5351 + 5351 1031 995 5352 + 1032 996 995 5352 + 1032 995 1031 5352 + 5352 1032 996 5353 + 1033 997 996 5353 + 1033 996 1032 5353 + 5353 1033 997 5354 + 1034 998 997 5354 + 1034 997 1033 5354 + 5354 1034 998 5355 + 1035 999 998 5355 + 1035 998 1034 5355 + 5355 1035 999 5356 + 1036 1000 999 5356 + 1036 999 1035 5356 + 5356 1036 1000 5357 + 1037 1001 1000 5357 + 1037 1000 1036 5357 + 5357 1037 1001 5358 + 1038 1002 1001 5358 + 1038 1001 1037 5358 + 5358 1038 1002 5359 + 1039 1003 1002 5359 + 1039 1002 1038 5359 + 5359 1039 1003 5360 + 1040 1004 1003 5360 + 1040 1003 1039 5360 + 5360 1040 1004 5361 + 1041 1005 1004 5361 + 1041 1004 1040 5361 + 5361 1041 1005 5362 + 1042 1006 1005 5362 + 1042 1005 1041 5362 + 5362 1042 1006 5363 + 1043 1007 1006 5363 + 1043 1006 1042 5363 + 5363 1043 1007 5364 + 1044 1008 1007 5364 + 1044 1007 1043 5364 + 5364 1044 1008 5365 + 1045 1009 1008 5365 + 1045 1008 1044 5365 + 5365 1045 1009 5366 + 1046 1010 1009 5366 + 1046 1009 1045 5366 + 144 24 23 5367 + 1047 1011 23 5367 + 1047 23 24 5367 + 5367 1047 1011 5368 + 1048 1012 1011 5368 + 1048 1011 1047 5368 + 5368 1048 1012 5369 + 1049 1013 1012 5369 + 1049 1012 1048 5369 + 5369 1049 1013 5370 + 1050 1014 1013 5370 + 1050 1013 1049 5370 + 5370 1050 1014 5371 + 1051 1015 1014 5371 + 1051 1014 1050 5371 + 5371 1051 1015 5372 + 1052 1016 1015 5372 + 1052 1015 1051 5372 + 5372 1052 1016 5373 + 1053 1017 1016 5373 + 1053 1016 1052 5373 + 5373 1053 1017 5374 + 1054 1018 1017 5374 + 1054 1017 1053 5374 + 5374 1054 1018 5375 + 1055 1019 1018 5375 + 1055 1018 1054 5375 + 5375 1055 1019 5376 + 1056 1020 1019 5376 + 1056 1019 1055 5376 + 5376 1056 1020 5377 + 1057 1021 1020 5377 + 1057 1020 1056 5377 + 5377 1057 1021 5378 + 1058 1022 1021 5378 + 1058 1021 1057 5378 + 5378 1058 1022 5379 + 1059 1023 1022 5379 + 1059 1022 1058 5379 + 5379 1059 1023 5380 + 1060 1024 1023 5380 + 1060 1023 1059 5380 + 5380 1060 1024 5381 + 1061 1025 1024 5381 + 1061 1024 1060 5381 + 5381 1061 1025 5382 + 1062 1026 1025 5382 + 1062 1025 1061 5382 + 5382 1062 1026 5383 + 1063 1027 1026 5383 + 1063 1026 1062 5383 + 5383 1063 1027 5384 + 1064 1028 1027 5384 + 1064 1027 1063 5384 + 5384 1064 1028 5385 + 1065 1029 1028 5385 + 1065 1028 1064 5385 + 5385 1065 1029 5386 + 1066 1030 1029 5386 + 1066 1029 1065 5386 + 5386 1066 1030 5387 + 1067 1031 1030 5387 + 1067 1030 1066 5387 + 5387 1067 1031 5388 + 1068 1032 1031 5388 + 1068 1031 1067 5388 + 5388 1068 1032 5389 + 1069 1033 1032 5389 + 1069 1032 1068 5389 + 5389 1069 1033 5390 + 1070 1034 1033 5390 + 1070 1033 1069 5390 + 5390 1070 1034 5391 + 1071 1035 1034 5391 + 1071 1034 1070 5391 + 5391 1071 1035 5392 + 1072 1036 1035 5392 + 1072 1035 1071 5392 + 5392 1072 1036 5393 + 1073 1037 1036 5393 + 1073 1036 1072 5393 + 5393 1073 1037 5394 + 1074 1038 1037 5394 + 1074 1037 1073 5394 + 5394 1074 1038 5395 + 1075 1039 1038 5395 + 1075 1038 1074 5395 + 5395 1075 1039 5396 + 1076 1040 1039 5396 + 1076 1039 1075 5396 + 5396 1076 1040 5397 + 1077 1041 1040 5397 + 1077 1040 1076 5397 + 5397 1077 1041 5398 + 1078 1042 1041 5398 + 1078 1041 1077 5398 + 5398 1078 1042 5399 + 1079 1043 1042 5399 + 1079 1042 1078 5399 + 5399 1079 1043 5400 + 1080 1044 1043 5400 + 1080 1043 1079 5400 + 5400 1080 1044 5401 + 1081 1045 1044 5401 + 1081 1044 1080 5401 + 5401 1081 1045 5402 + 1082 1046 1045 5402 + 1082 1045 1081 5402 + 145 25 24 5403 + 1083 1047 24 5403 + 1083 24 25 5403 + 5403 1083 1047 5404 + 1084 1048 1047 5404 + 1084 1047 1083 5404 + 5404 1084 1048 5405 + 1085 1049 1048 5405 + 1085 1048 1084 5405 + 5405 1085 1049 5406 + 1086 1050 1049 5406 + 1086 1049 1085 5406 + 5406 1086 1050 5407 + 1087 1051 1050 5407 + 1087 1050 1086 5407 + 5407 1087 1051 5408 + 1088 1052 1051 5408 + 1088 1051 1087 5408 + 5408 1088 1052 5409 + 1089 1053 1052 5409 + 1089 1052 1088 5409 + 5409 1089 1053 5410 + 1090 1054 1053 5410 + 1090 1053 1089 5410 + 5410 1090 1054 5411 + 1091 1055 1054 5411 + 1091 1054 1090 5411 + 5411 1091 1055 5412 + 1092 1056 1055 5412 + 1092 1055 1091 5412 + 5412 1092 1056 5413 + 1093 1057 1056 5413 + 1093 1056 1092 5413 + 5413 1093 1057 5414 + 1094 1058 1057 5414 + 1094 1057 1093 5414 + 5414 1094 1058 5415 + 1095 1059 1058 5415 + 1095 1058 1094 5415 + 5415 1095 1059 5416 + 1096 1060 1059 5416 + 1096 1059 1095 5416 + 5416 1096 1060 5417 + 1097 1061 1060 5417 + 1097 1060 1096 5417 + 5417 1097 1061 5418 + 1098 1062 1061 5418 + 1098 1061 1097 5418 + 5418 1098 1062 5419 + 1099 1063 1062 5419 + 1099 1062 1098 5419 + 5419 1099 1063 5420 + 1100 1064 1063 5420 + 1100 1063 1099 5420 + 5420 1100 1064 5421 + 1101 1065 1064 5421 + 1101 1064 1100 5421 + 5421 1101 1065 5422 + 1102 1066 1065 5422 + 1102 1065 1101 5422 + 5422 1102 1066 5423 + 1103 1067 1066 5423 + 1103 1066 1102 5423 + 5423 1103 1067 5424 + 1104 1068 1067 5424 + 1104 1067 1103 5424 + 5424 1104 1068 5425 + 1105 1069 1068 5425 + 1105 1068 1104 5425 + 5425 1105 1069 5426 + 1106 1070 1069 5426 + 1106 1069 1105 5426 + 5426 1106 1070 5427 + 1107 1071 1070 5427 + 1107 1070 1106 5427 + 5427 1107 1071 5428 + 1108 1072 1071 5428 + 1108 1071 1107 5428 + 5428 1108 1072 5429 + 1109 1073 1072 5429 + 1109 1072 1108 5429 + 5429 1109 1073 5430 + 1110 1074 1073 5430 + 1110 1073 1109 5430 + 5430 1110 1074 5431 + 1111 1075 1074 5431 + 1111 1074 1110 5431 + 5431 1111 1075 5432 + 1112 1076 1075 5432 + 1112 1075 1111 5432 + 5432 1112 1076 5433 + 1113 1077 1076 5433 + 1113 1076 1112 5433 + 5433 1113 1077 5434 + 1114 1078 1077 5434 + 1114 1077 1113 5434 + 5434 1114 1078 5435 + 1115 1079 1078 5435 + 1115 1078 1114 5435 + 5435 1115 1079 5436 + 1116 1080 1079 5436 + 1116 1079 1115 5436 + 5436 1116 1080 5437 + 1117 1081 1080 5437 + 1117 1080 1116 5437 + 5437 1117 1081 5438 + 1118 1082 1081 5438 + 1118 1081 1117 5438 + 146 26 25 5439 + 1119 1083 25 5439 + 1119 25 26 5439 + 5439 1119 1083 5440 + 1120 1084 1083 5440 + 1120 1083 1119 5440 + 5440 1120 1084 5441 + 1121 1085 1084 5441 + 1121 1084 1120 5441 + 5441 1121 1085 5442 + 1122 1086 1085 5442 + 1122 1085 1121 5442 + 5442 1122 1086 5443 + 1123 1087 1086 5443 + 1123 1086 1122 5443 + 5443 1123 1087 5444 + 1124 1088 1087 5444 + 1124 1087 1123 5444 + 5444 1124 1088 5445 + 1125 1089 1088 5445 + 1125 1088 1124 5445 + 5445 1125 1089 5446 + 1126 1090 1089 5446 + 1126 1089 1125 5446 + 5446 1126 1090 5447 + 1127 1091 1090 5447 + 1127 1090 1126 5447 + 5447 1127 1091 5448 + 1128 1092 1091 5448 + 1128 1091 1127 5448 + 5448 1128 1092 5449 + 1129 1093 1092 5449 + 1129 1092 1128 5449 + 5449 1129 1093 5450 + 1130 1094 1093 5450 + 1130 1093 1129 5450 + 5450 1130 1094 5451 + 1131 1095 1094 5451 + 1131 1094 1130 5451 + 5451 1131 1095 5452 + 1132 1096 1095 5452 + 1132 1095 1131 5452 + 5452 1132 1096 5453 + 1133 1097 1096 5453 + 1133 1096 1132 5453 + 5453 1133 1097 5454 + 1134 1098 1097 5454 + 1134 1097 1133 5454 + 5454 1134 1098 5455 + 1135 1099 1098 5455 + 1135 1098 1134 5455 + 5455 1135 1099 5456 + 1136 1100 1099 5456 + 1136 1099 1135 5456 + 5456 1136 1100 5457 + 1137 1101 1100 5457 + 1137 1100 1136 5457 + 5457 1137 1101 5458 + 1138 1102 1101 5458 + 1138 1101 1137 5458 + 5458 1138 1102 5459 + 1139 1103 1102 5459 + 1139 1102 1138 5459 + 5459 1139 1103 5460 + 1140 1104 1103 5460 + 1140 1103 1139 5460 + 5460 1140 1104 5461 + 1141 1105 1104 5461 + 1141 1104 1140 5461 + 5461 1141 1105 5462 + 1142 1106 1105 5462 + 1142 1105 1141 5462 + 5462 1142 1106 5463 + 1143 1107 1106 5463 + 1143 1106 1142 5463 + 5463 1143 1107 5464 + 1144 1108 1107 5464 + 1144 1107 1143 5464 + 5464 1144 1108 5465 + 1145 1109 1108 5465 + 1145 1108 1144 5465 + 5465 1145 1109 5466 + 1146 1110 1109 5466 + 1146 1109 1145 5466 + 5466 1146 1110 5467 + 1147 1111 1110 5467 + 1147 1110 1146 5467 + 5467 1147 1111 5468 + 1148 1112 1111 5468 + 1148 1111 1147 5468 + 5468 1148 1112 5469 + 1149 1113 1112 5469 + 1149 1112 1148 5469 + 5469 1149 1113 5470 + 1150 1114 1113 5470 + 1150 1113 1149 5470 + 5470 1150 1114 5471 + 1151 1115 1114 5471 + 1151 1114 1150 5471 + 5471 1151 1115 5472 + 1152 1116 1115 5472 + 1152 1115 1151 5472 + 5472 1152 1116 5473 + 1153 1117 1116 5473 + 1153 1116 1152 5473 + 5473 1153 1117 5474 + 1154 1118 1117 5474 + 1154 1117 1153 5474 + 147 27 26 5475 + 1155 1119 26 5475 + 1155 26 27 5475 + 5475 1155 1119 5476 + 1156 1120 1119 5476 + 1156 1119 1155 5476 + 5476 1156 1120 5477 + 1157 1121 1120 5477 + 1157 1120 1156 5477 + 5477 1157 1121 5478 + 1158 1122 1121 5478 + 1158 1121 1157 5478 + 5478 1158 1122 5479 + 1159 1123 1122 5479 + 1159 1122 1158 5479 + 5479 1159 1123 5480 + 1160 1124 1123 5480 + 1160 1123 1159 5480 + 5480 1160 1124 5481 + 1161 1125 1124 5481 + 1161 1124 1160 5481 + 5481 1161 1125 5482 + 1162 1126 1125 5482 + 1162 1125 1161 5482 + 5482 1162 1126 5483 + 1163 1127 1126 5483 + 1163 1126 1162 5483 + 5483 1163 1127 5484 + 1164 1128 1127 5484 + 1164 1127 1163 5484 + 5484 1164 1128 5485 + 1165 1129 1128 5485 + 1165 1128 1164 5485 + 5485 1165 1129 5486 + 1166 1130 1129 5486 + 1166 1129 1165 5486 + 5486 1166 1130 5487 + 1167 1131 1130 5487 + 1167 1130 1166 5487 + 5487 1167 1131 5488 + 1168 1132 1131 5488 + 1168 1131 1167 5488 + 5488 1168 1132 5489 + 1169 1133 1132 5489 + 1169 1132 1168 5489 + 5489 1169 1133 5490 + 1170 1134 1133 5490 + 1170 1133 1169 5490 + 5490 1170 1134 5491 + 1171 1135 1134 5491 + 1171 1134 1170 5491 + 5491 1171 1135 5492 + 1172 1136 1135 5492 + 1172 1135 1171 5492 + 5492 1172 1136 5493 + 1173 1137 1136 5493 + 1173 1136 1172 5493 + 5493 1173 1137 5494 + 1174 1138 1137 5494 + 1174 1137 1173 5494 + 5494 1174 1138 5495 + 1175 1139 1138 5495 + 1175 1138 1174 5495 + 5495 1175 1139 5496 + 1176 1140 1139 5496 + 1176 1139 1175 5496 + 5496 1176 1140 5497 + 1177 1141 1140 5497 + 1177 1140 1176 5497 + 5497 1177 1141 5498 + 1178 1142 1141 5498 + 1178 1141 1177 5498 + 5498 1178 1142 5499 + 1179 1143 1142 5499 + 1179 1142 1178 5499 + 5499 1179 1143 5500 + 1180 1144 1143 5500 + 1180 1143 1179 5500 + 5500 1180 1144 5501 + 1181 1145 1144 5501 + 1181 1144 1180 5501 + 5501 1181 1145 5502 + 1182 1146 1145 5502 + 1182 1145 1181 5502 + 5502 1182 1146 5503 + 1183 1147 1146 5503 + 1183 1146 1182 5503 + 5503 1183 1147 5504 + 1184 1148 1147 5504 + 1184 1147 1183 5504 + 5504 1184 1148 5505 + 1185 1149 1148 5505 + 1185 1148 1184 5505 + 5505 1185 1149 5506 + 1186 1150 1149 5506 + 1186 1149 1185 5506 + 5506 1186 1150 5507 + 1187 1151 1150 5507 + 1187 1150 1186 5507 + 5507 1187 1151 5508 + 1188 1152 1151 5508 + 1188 1151 1187 5508 + 5508 1188 1152 5509 + 1189 1153 1152 5509 + 1189 1152 1188 5509 + 5509 1189 1153 5510 + 1190 1154 1153 5510 + 1190 1153 1189 5510 + 148 28 27 5511 + 1191 1155 27 5511 + 1191 27 28 5511 + 5511 1191 1155 5512 + 1192 1156 1155 5512 + 1192 1155 1191 5512 + 5512 1192 1156 5513 + 1193 1157 1156 5513 + 1193 1156 1192 5513 + 5513 1193 1157 5514 + 1194 1158 1157 5514 + 1194 1157 1193 5514 + 5514 1194 1158 5515 + 1195 1159 1158 5515 + 1195 1158 1194 5515 + 5515 1195 1159 5516 + 1196 1160 1159 5516 + 1196 1159 1195 5516 + 5516 1196 1160 5517 + 1197 1161 1160 5517 + 1197 1160 1196 5517 + 5517 1197 1161 5518 + 1198 1162 1161 5518 + 1198 1161 1197 5518 + 5518 1198 1162 5519 + 1199 1163 1162 5519 + 1199 1162 1198 5519 + 5519 1199 1163 5520 + 1200 1164 1163 5520 + 1200 1163 1199 5520 + 5520 1200 1164 5521 + 1201 1165 1164 5521 + 1201 1164 1200 5521 + 5521 1201 1165 5522 + 1202 1166 1165 5522 + 1202 1165 1201 5522 + 5522 1202 1166 5523 + 1203 1167 1166 5523 + 1203 1166 1202 5523 + 5523 1203 1167 5524 + 1204 1168 1167 5524 + 1204 1167 1203 5524 + 5524 1204 1168 5525 + 1205 1169 1168 5525 + 1205 1168 1204 5525 + 5525 1205 1169 5526 + 1206 1170 1169 5526 + 1206 1169 1205 5526 + 5526 1206 1170 5527 + 1207 1171 1170 5527 + 1207 1170 1206 5527 + 5527 1207 1171 5528 + 1208 1172 1171 5528 + 1208 1171 1207 5528 + 5528 1208 1172 5529 + 1209 1173 1172 5529 + 1209 1172 1208 5529 + 5529 1209 1173 5530 + 1210 1174 1173 5530 + 1210 1173 1209 5530 + 5530 1210 1174 5531 + 1211 1175 1174 5531 + 1211 1174 1210 5531 + 5531 1211 1175 5532 + 1212 1176 1175 5532 + 1212 1175 1211 5532 + 5532 1212 1176 5533 + 1213 1177 1176 5533 + 1213 1176 1212 5533 + 5533 1213 1177 5534 + 1214 1178 1177 5534 + 1214 1177 1213 5534 + 5534 1214 1178 5535 + 1215 1179 1178 5535 + 1215 1178 1214 5535 + 5535 1215 1179 5536 + 1216 1180 1179 5536 + 1216 1179 1215 5536 + 5536 1216 1180 5537 + 1217 1181 1180 5537 + 1217 1180 1216 5537 + 5537 1217 1181 5538 + 1218 1182 1181 5538 + 1218 1181 1217 5538 + 5538 1218 1182 5539 + 1219 1183 1182 5539 + 1219 1182 1218 5539 + 5539 1219 1183 5540 + 1220 1184 1183 5540 + 1220 1183 1219 5540 + 5540 1220 1184 5541 + 1221 1185 1184 5541 + 1221 1184 1220 5541 + 5541 1221 1185 5542 + 1222 1186 1185 5542 + 1222 1185 1221 5542 + 5542 1222 1186 5543 + 1223 1187 1186 5543 + 1223 1186 1222 5543 + 5543 1223 1187 5544 + 1224 1188 1187 5544 + 1224 1187 1223 5544 + 5544 1224 1188 5545 + 1225 1189 1188 5545 + 1225 1188 1224 5545 + 5545 1225 1189 5546 + 1226 1190 1189 5546 + 1226 1189 1225 5546 + 1011 5367 5331 23 + 5331 5367 143 23 + 5367 144 143 23 + 1012 5368 5332 1011 + 5332 5368 5331 1011 + 5368 5367 5331 1011 + 1013 5369 5333 1012 + 5333 5369 5332 1012 + 5369 5368 5332 1012 + 1014 5370 5334 1013 + 5334 5370 5333 1013 + 5370 5369 5333 1013 + 1015 5371 5335 1014 + 5335 5371 5334 1014 + 5371 5370 5334 1014 + 1016 5372 5336 1015 + 5336 5372 5335 1015 + 5372 5371 5335 1015 + 1017 5373 5337 1016 + 5337 5373 5336 1016 + 5373 5372 5336 1016 + 1018 5374 5338 1017 + 5338 5374 5337 1017 + 5374 5373 5337 1017 + 1019 5375 5339 1018 + 5339 5375 5338 1018 + 5375 5374 5338 1018 + 1020 5376 5340 1019 + 5340 5376 5339 1019 + 5376 5375 5339 1019 + 1021 5377 5341 1020 + 5341 5377 5340 1020 + 5377 5376 5340 1020 + 1022 5378 5342 1021 + 5342 5378 5341 1021 + 5378 5377 5341 1021 + 1023 5379 5343 1022 + 5343 5379 5342 1022 + 5379 5378 5342 1022 + 1024 5380 5344 1023 + 5344 5380 5343 1023 + 5380 5379 5343 1023 + 1025 5381 5345 1024 + 5345 5381 5344 1024 + 5381 5380 5344 1024 + 1026 5382 5346 1025 + 5346 5382 5345 1025 + 5382 5381 5345 1025 + 1027 5383 5347 1026 + 5347 5383 5346 1026 + 5383 5382 5346 1026 + 1028 5384 5348 1027 + 5348 5384 5347 1027 + 5384 5383 5347 1027 + 1029 5385 5349 1028 + 5349 5385 5348 1028 + 5385 5384 5348 1028 + 1030 5386 5350 1029 + 5350 5386 5349 1029 + 5386 5385 5349 1029 + 1031 5387 5351 1030 + 5351 5387 5350 1030 + 5387 5386 5350 1030 + 1032 5388 5352 1031 + 5352 5388 5351 1031 + 5388 5387 5351 1031 + 1033 5389 5353 1032 + 5353 5389 5352 1032 + 5389 5388 5352 1032 + 1034 5390 5354 1033 + 5354 5390 5353 1033 + 5390 5389 5353 1033 + 1035 5391 5355 1034 + 5355 5391 5354 1034 + 5391 5390 5354 1034 + 1036 5392 5356 1035 + 5356 5392 5355 1035 + 5392 5391 5355 1035 + 1037 5393 5357 1036 + 5357 5393 5356 1036 + 5393 5392 5356 1036 + 1038 5394 5358 1037 + 5358 5394 5357 1037 + 5394 5393 5357 1037 + 1039 5395 5359 1038 + 5359 5395 5358 1038 + 5395 5394 5358 1038 + 1040 5396 5360 1039 + 5360 5396 5359 1039 + 5396 5395 5359 1039 + 1041 5397 5361 1040 + 5361 5397 5360 1040 + 5397 5396 5360 1040 + 1042 5398 5362 1041 + 5362 5398 5361 1041 + 5398 5397 5361 1041 + 1043 5399 5363 1042 + 5363 5399 5362 1042 + 5399 5398 5362 1042 + 1044 5400 5364 1043 + 5364 5400 5363 1043 + 5400 5399 5363 1043 + 1045 5401 5365 1044 + 5365 5401 5364 1044 + 5401 5400 5364 1044 + 1046 5402 5366 1045 + 5366 5402 5365 1045 + 5402 5401 5365 1045 + 1047 5403 5367 24 + 5367 5403 144 24 + 5403 145 144 24 + 1048 5404 5368 1047 + 5368 5404 5367 1047 + 5404 5403 5367 1047 + 1049 5405 5369 1048 + 5369 5405 5368 1048 + 5405 5404 5368 1048 + 1050 5406 5370 1049 + 5370 5406 5369 1049 + 5406 5405 5369 1049 + 1051 5407 5371 1050 + 5371 5407 5370 1050 + 5407 5406 5370 1050 + 1052 5408 5372 1051 + 5372 5408 5371 1051 + 5408 5407 5371 1051 + 1053 5409 5373 1052 + 5373 5409 5372 1052 + 5409 5408 5372 1052 + 1054 5410 5374 1053 + 5374 5410 5373 1053 + 5410 5409 5373 1053 + 1055 5411 5375 1054 + 5375 5411 5374 1054 + 5411 5410 5374 1054 + 1056 5412 5376 1055 + 5376 5412 5375 1055 + 5412 5411 5375 1055 + 1057 5413 5377 1056 + 5377 5413 5376 1056 + 5413 5412 5376 1056 + 1058 5414 5378 1057 + 5378 5414 5377 1057 + 5414 5413 5377 1057 + 1059 5415 5379 1058 + 5379 5415 5378 1058 + 5415 5414 5378 1058 + 1060 5416 5380 1059 + 5380 5416 5379 1059 + 5416 5415 5379 1059 + 1061 5417 5381 1060 + 5381 5417 5380 1060 + 5417 5416 5380 1060 + 1062 5418 5382 1061 + 5382 5418 5381 1061 + 5418 5417 5381 1061 + 1063 5419 5383 1062 + 5383 5419 5382 1062 + 5419 5418 5382 1062 + 1064 5420 5384 1063 + 5384 5420 5383 1063 + 5420 5419 5383 1063 + 1065 5421 5385 1064 + 5385 5421 5384 1064 + 5421 5420 5384 1064 + 1066 5422 5386 1065 + 5386 5422 5385 1065 + 5422 5421 5385 1065 + 1067 5423 5387 1066 + 5387 5423 5386 1066 + 5423 5422 5386 1066 + 1068 5424 5388 1067 + 5388 5424 5387 1067 + 5424 5423 5387 1067 + 1069 5425 5389 1068 + 5389 5425 5388 1068 + 5425 5424 5388 1068 + 1070 5426 5390 1069 + 5390 5426 5389 1069 + 5426 5425 5389 1069 + 1071 5427 5391 1070 + 5391 5427 5390 1070 + 5427 5426 5390 1070 + 1072 5428 5392 1071 + 5392 5428 5391 1071 + 5428 5427 5391 1071 + 1073 5429 5393 1072 + 5393 5429 5392 1072 + 5429 5428 5392 1072 + 1074 5430 5394 1073 + 5394 5430 5393 1073 + 5430 5429 5393 1073 + 1075 5431 5395 1074 + 5395 5431 5394 1074 + 5431 5430 5394 1074 + 1076 5432 5396 1075 + 5396 5432 5395 1075 + 5432 5431 5395 1075 + 1077 5433 5397 1076 + 5397 5433 5396 1076 + 5433 5432 5396 1076 + 1078 5434 5398 1077 + 5398 5434 5397 1077 + 5434 5433 5397 1077 + 1079 5435 5399 1078 + 5399 5435 5398 1078 + 5435 5434 5398 1078 + 1080 5436 5400 1079 + 5400 5436 5399 1079 + 5436 5435 5399 1079 + 1081 5437 5401 1080 + 5401 5437 5400 1080 + 5437 5436 5400 1080 + 1082 5438 5402 1081 + 5402 5438 5401 1081 + 5438 5437 5401 1081 + 1083 5439 5403 25 + 5403 5439 145 25 + 5439 146 145 25 + 1084 5440 5404 1083 + 5404 5440 5403 1083 + 5440 5439 5403 1083 + 1085 5441 5405 1084 + 5405 5441 5404 1084 + 5441 5440 5404 1084 + 1086 5442 5406 1085 + 5406 5442 5405 1085 + 5442 5441 5405 1085 + 1087 5443 5407 1086 + 5407 5443 5406 1086 + 5443 5442 5406 1086 + 1088 5444 5408 1087 + 5408 5444 5407 1087 + 5444 5443 5407 1087 + 1089 5445 5409 1088 + 5409 5445 5408 1088 + 5445 5444 5408 1088 + 1090 5446 5410 1089 + 5410 5446 5409 1089 + 5446 5445 5409 1089 + 1091 5447 5411 1090 + 5411 5447 5410 1090 + 5447 5446 5410 1090 + 1092 5448 5412 1091 + 5412 5448 5411 1091 + 5448 5447 5411 1091 + 1093 5449 5413 1092 + 5413 5449 5412 1092 + 5449 5448 5412 1092 + 1094 5450 5414 1093 + 5414 5450 5413 1093 + 5450 5449 5413 1093 + 1095 5451 5415 1094 + 5415 5451 5414 1094 + 5451 5450 5414 1094 + 1096 5452 5416 1095 + 5416 5452 5415 1095 + 5452 5451 5415 1095 + 1097 5453 5417 1096 + 5417 5453 5416 1096 + 5453 5452 5416 1096 + 1098 5454 5418 1097 + 5418 5454 5417 1097 + 5454 5453 5417 1097 + 1099 5455 5419 1098 + 5419 5455 5418 1098 + 5455 5454 5418 1098 + 1100 5456 5420 1099 + 5420 5456 5419 1099 + 5456 5455 5419 1099 + 1101 5457 5421 1100 + 5421 5457 5420 1100 + 5457 5456 5420 1100 + 1102 5458 5422 1101 + 5422 5458 5421 1101 + 5458 5457 5421 1101 + 1103 5459 5423 1102 + 5423 5459 5422 1102 + 5459 5458 5422 1102 + 1104 5460 5424 1103 + 5424 5460 5423 1103 + 5460 5459 5423 1103 + 1105 5461 5425 1104 + 5425 5461 5424 1104 + 5461 5460 5424 1104 + 1106 5462 5426 1105 + 5426 5462 5425 1105 + 5462 5461 5425 1105 + 1107 5463 5427 1106 + 5427 5463 5426 1106 + 5463 5462 5426 1106 + 1108 5464 5428 1107 + 5428 5464 5427 1107 + 5464 5463 5427 1107 + 1109 5465 5429 1108 + 5429 5465 5428 1108 + 5465 5464 5428 1108 + 1110 5466 5430 1109 + 5430 5466 5429 1109 + 5466 5465 5429 1109 + 1111 5467 5431 1110 + 5431 5467 5430 1110 + 5467 5466 5430 1110 + 1112 5468 5432 1111 + 5432 5468 5431 1111 + 5468 5467 5431 1111 + 1113 5469 5433 1112 + 5433 5469 5432 1112 + 5469 5468 5432 1112 + 1114 5470 5434 1113 + 5434 5470 5433 1113 + 5470 5469 5433 1113 + 1115 5471 5435 1114 + 5435 5471 5434 1114 + 5471 5470 5434 1114 + 1116 5472 5436 1115 + 5436 5472 5435 1115 + 5472 5471 5435 1115 + 1117 5473 5437 1116 + 5437 5473 5436 1116 + 5473 5472 5436 1116 + 1118 5474 5438 1117 + 5438 5474 5437 1117 + 5474 5473 5437 1117 + 1119 5475 5439 26 + 5439 5475 146 26 + 5475 147 146 26 + 1120 5476 5440 1119 + 5440 5476 5439 1119 + 5476 5475 5439 1119 + 1121 5477 5441 1120 + 5441 5477 5440 1120 + 5477 5476 5440 1120 + 1122 5478 5442 1121 + 5442 5478 5441 1121 + 5478 5477 5441 1121 + 1123 5479 5443 1122 + 5443 5479 5442 1122 + 5479 5478 5442 1122 + 1124 5480 5444 1123 + 5444 5480 5443 1123 + 5480 5479 5443 1123 + 1125 5481 5445 1124 + 5445 5481 5444 1124 + 5481 5480 5444 1124 + 1126 5482 5446 1125 + 5446 5482 5445 1125 + 5482 5481 5445 1125 + 1127 5483 5447 1126 + 5447 5483 5446 1126 + 5483 5482 5446 1126 + 1128 5484 5448 1127 + 5448 5484 5447 1127 + 5484 5483 5447 1127 + 1129 5485 5449 1128 + 5449 5485 5448 1128 + 5485 5484 5448 1128 + 1130 5486 5450 1129 + 5450 5486 5449 1129 + 5486 5485 5449 1129 + 1131 5487 5451 1130 + 5451 5487 5450 1130 + 5487 5486 5450 1130 + 1132 5488 5452 1131 + 5452 5488 5451 1131 + 5488 5487 5451 1131 + 1133 5489 5453 1132 + 5453 5489 5452 1132 + 5489 5488 5452 1132 + 1134 5490 5454 1133 + 5454 5490 5453 1133 + 5490 5489 5453 1133 + 1135 5491 5455 1134 + 5455 5491 5454 1134 + 5491 5490 5454 1134 + 1136 5492 5456 1135 + 5456 5492 5455 1135 + 5492 5491 5455 1135 + 1137 5493 5457 1136 + 5457 5493 5456 1136 + 5493 5492 5456 1136 + 1138 5494 5458 1137 + 5458 5494 5457 1137 + 5494 5493 5457 1137 + 1139 5495 5459 1138 + 5459 5495 5458 1138 + 5495 5494 5458 1138 + 1140 5496 5460 1139 + 5460 5496 5459 1139 + 5496 5495 5459 1139 + 1141 5497 5461 1140 + 5461 5497 5460 1140 + 5497 5496 5460 1140 + 1142 5498 5462 1141 + 5462 5498 5461 1141 + 5498 5497 5461 1141 + 1143 5499 5463 1142 + 5463 5499 5462 1142 + 5499 5498 5462 1142 + 1144 5500 5464 1143 + 5464 5500 5463 1143 + 5500 5499 5463 1143 + 1145 5501 5465 1144 + 5465 5501 5464 1144 + 5501 5500 5464 1144 + 1146 5502 5466 1145 + 5466 5502 5465 1145 + 5502 5501 5465 1145 + 1147 5503 5467 1146 + 5467 5503 5466 1146 + 5503 5502 5466 1146 + 1148 5504 5468 1147 + 5468 5504 5467 1147 + 5504 5503 5467 1147 + 1149 5505 5469 1148 + 5469 5505 5468 1148 + 5505 5504 5468 1148 + 1150 5506 5470 1149 + 5470 5506 5469 1149 + 5506 5505 5469 1149 + 1151 5507 5471 1150 + 5471 5507 5470 1150 + 5507 5506 5470 1150 + 1152 5508 5472 1151 + 5472 5508 5471 1151 + 5508 5507 5471 1151 + 1153 5509 5473 1152 + 5473 5509 5472 1152 + 5509 5508 5472 1152 + 1154 5510 5474 1153 + 5474 5510 5473 1153 + 5510 5509 5473 1153 + 1155 5511 5475 27 + 5475 5511 147 27 + 5511 148 147 27 + 1156 5512 5476 1155 + 5476 5512 5475 1155 + 5512 5511 5475 1155 + 1157 5513 5477 1156 + 5477 5513 5476 1156 + 5513 5512 5476 1156 + 1158 5514 5478 1157 + 5478 5514 5477 1157 + 5514 5513 5477 1157 + 1159 5515 5479 1158 + 5479 5515 5478 1158 + 5515 5514 5478 1158 + 1160 5516 5480 1159 + 5480 5516 5479 1159 + 5516 5515 5479 1159 + 1161 5517 5481 1160 + 5481 5517 5480 1160 + 5517 5516 5480 1160 + 1162 5518 5482 1161 + 5482 5518 5481 1161 + 5518 5517 5481 1161 + 1163 5519 5483 1162 + 5483 5519 5482 1162 + 5519 5518 5482 1162 + 1164 5520 5484 1163 + 5484 5520 5483 1163 + 5520 5519 5483 1163 + 1165 5521 5485 1164 + 5485 5521 5484 1164 + 5521 5520 5484 1164 + 1166 5522 5486 1165 + 5486 5522 5485 1165 + 5522 5521 5485 1165 + 1167 5523 5487 1166 + 5487 5523 5486 1166 + 5523 5522 5486 1166 + 1168 5524 5488 1167 + 5488 5524 5487 1167 + 5524 5523 5487 1167 + 1169 5525 5489 1168 + 5489 5525 5488 1168 + 5525 5524 5488 1168 + 1170 5526 5490 1169 + 5490 5526 5489 1169 + 5526 5525 5489 1169 + 1171 5527 5491 1170 + 5491 5527 5490 1170 + 5527 5526 5490 1170 + 1172 5528 5492 1171 + 5492 5528 5491 1171 + 5528 5527 5491 1171 + 1173 5529 5493 1172 + 5493 5529 5492 1172 + 5529 5528 5492 1172 + 1174 5530 5494 1173 + 5494 5530 5493 1173 + 5530 5529 5493 1173 + 1175 5531 5495 1174 + 5495 5531 5494 1174 + 5531 5530 5494 1174 + 1176 5532 5496 1175 + 5496 5532 5495 1175 + 5532 5531 5495 1175 + 1177 5533 5497 1176 + 5497 5533 5496 1176 + 5533 5532 5496 1176 + 1178 5534 5498 1177 + 5498 5534 5497 1177 + 5534 5533 5497 1177 + 1179 5535 5499 1178 + 5499 5535 5498 1178 + 5535 5534 5498 1178 + 1180 5536 5500 1179 + 5500 5536 5499 1179 + 5536 5535 5499 1179 + 1181 5537 5501 1180 + 5501 5537 5500 1180 + 5537 5536 5500 1180 + 1182 5538 5502 1181 + 5502 5538 5501 1181 + 5538 5537 5501 1181 + 1183 5539 5503 1182 + 5503 5539 5502 1182 + 5539 5538 5502 1182 + 1184 5540 5504 1183 + 5504 5540 5503 1183 + 5540 5539 5503 1183 + 1185 5541 5505 1184 + 5505 5541 5504 1184 + 5541 5540 5504 1184 + 1186 5542 5506 1185 + 5506 5542 5505 1185 + 5542 5541 5505 1185 + 1187 5543 5507 1186 + 5507 5543 5506 1186 + 5543 5542 5506 1186 + 1188 5544 5508 1187 + 5508 5544 5507 1187 + 5544 5543 5507 1187 + 1189 5545 5509 1188 + 5509 5545 5508 1188 + 5545 5544 5508 1188 + 1190 5546 5510 1189 + 5510 5546 5509 1189 + 5546 5545 5509 1189 + 128 149 130 4791 + 5547 4863 130 4791 + 5547 130 149 4791 + 4791 5547 4863 4792 + 5548 4864 4863 4792 + 5548 4863 5547 4792 + 4792 5548 4864 4793 + 5549 4865 4864 4793 + 5549 4864 5548 4793 + 4793 5549 4865 4794 + 5550 4866 4865 4794 + 5550 4865 5549 4794 + 4794 5550 4866 4795 + 5551 4867 4866 4795 + 5551 4866 5550 4795 + 4795 5551 4867 4796 + 5552 4868 4867 4796 + 5552 4867 5551 4796 + 4796 5552 4868 4797 + 5553 4869 4868 4797 + 5553 4868 5552 4797 + 4797 5553 4869 4798 + 5554 4870 4869 4798 + 5554 4869 5553 4798 + 4798 5554 4870 4799 + 5555 4871 4870 4799 + 5555 4870 5554 4799 + 4799 5555 4871 4800 + 5556 4872 4871 4800 + 5556 4871 5555 4800 + 4800 5556 4872 4801 + 5557 4873 4872 4801 + 5557 4872 5556 4801 + 4801 5557 4873 4802 + 5558 4874 4873 4802 + 5558 4873 5557 4802 + 4802 5558 4874 4803 + 5559 4875 4874 4803 + 5559 4874 5558 4803 + 4803 5559 4875 4804 + 5560 4876 4875 4804 + 5560 4875 5559 4804 + 4804 5560 4876 4805 + 5561 4877 4876 4805 + 5561 4876 5560 4805 + 4805 5561 4877 4806 + 5562 4878 4877 4806 + 5562 4877 5561 4806 + 4806 5562 4878 4807 + 5563 4879 4878 4807 + 5563 4878 5562 4807 + 4807 5563 4879 4808 + 5564 4880 4879 4808 + 5564 4879 5563 4808 + 4808 5564 4880 4809 + 5565 4881 4880 4809 + 5565 4880 5564 4809 + 4809 5565 4881 4810 + 5566 4882 4881 4810 + 5566 4881 5565 4810 + 4810 5566 4882 4811 + 5567 4883 4882 4811 + 5567 4882 5566 4811 + 4811 5567 4883 4812 + 5568 4884 4883 4812 + 5568 4883 5567 4812 + 4812 5568 4884 4813 + 5569 4885 4884 4813 + 5569 4884 5568 4813 + 4813 5569 4885 4814 + 5570 4886 4885 4814 + 5570 4885 5569 4814 + 4814 5570 4886 4815 + 5571 4887 4886 4815 + 5571 4886 5570 4815 + 4815 5571 4887 4816 + 5572 4888 4887 4816 + 5572 4887 5571 4816 + 4816 5572 4888 4817 + 5573 4889 4888 4817 + 5573 4888 5572 4817 + 4817 5573 4889 4818 + 5574 4890 4889 4818 + 5574 4889 5573 4818 + 4818 5574 4890 4819 + 5575 4891 4890 4819 + 5575 4890 5574 4819 + 4819 5575 4891 4820 + 5576 4892 4891 4820 + 5576 4891 5575 4820 + 4820 5576 4892 4821 + 5577 4893 4892 4821 + 5577 4892 5576 4821 + 4821 5577 4893 4822 + 5578 4894 4893 4822 + 5578 4893 5577 4822 + 4822 5578 4894 4823 + 5579 4895 4894 4823 + 5579 4894 5578 4823 + 4823 5579 4895 4824 + 5580 4896 4895 4824 + 5580 4895 5579 4824 + 4824 5580 4896 4825 + 5581 4897 4896 4825 + 5581 4896 5580 4825 + 4825 5581 4897 4826 + 5582 4898 4897 4826 + 5582 4897 5581 4826 + 130 150 133 4863 + 5583 4971 133 4863 + 5583 133 150 4863 + 4863 5583 4971 4864 + 5584 4972 4971 4864 + 5584 4971 5583 4864 + 4864 5584 4972 4865 + 5585 4973 4972 4865 + 5585 4972 5584 4865 + 4865 5585 4973 4866 + 5586 4974 4973 4866 + 5586 4973 5585 4866 + 4866 5586 4974 4867 + 5587 4975 4974 4867 + 5587 4974 5586 4867 + 4867 5587 4975 4868 + 5588 4976 4975 4868 + 5588 4975 5587 4868 + 4868 5588 4976 4869 + 5589 4977 4976 4869 + 5589 4976 5588 4869 + 4869 5589 4977 4870 + 5590 4978 4977 4870 + 5590 4977 5589 4870 + 4870 5590 4978 4871 + 5591 4979 4978 4871 + 5591 4978 5590 4871 + 4871 5591 4979 4872 + 5592 4980 4979 4872 + 5592 4979 5591 4872 + 4872 5592 4980 4873 + 5593 4981 4980 4873 + 5593 4980 5592 4873 + 4873 5593 4981 4874 + 5594 4982 4981 4874 + 5594 4981 5593 4874 + 4874 5594 4982 4875 + 5595 4983 4982 4875 + 5595 4982 5594 4875 + 4875 5595 4983 4876 + 5596 4984 4983 4876 + 5596 4983 5595 4876 + 4876 5596 4984 4877 + 5597 4985 4984 4877 + 5597 4984 5596 4877 + 4877 5597 4985 4878 + 5598 4986 4985 4878 + 5598 4985 5597 4878 + 4878 5598 4986 4879 + 5599 4987 4986 4879 + 5599 4986 5598 4879 + 4879 5599 4987 4880 + 5600 4988 4987 4880 + 5600 4987 5599 4880 + 4880 5600 4988 4881 + 5601 4989 4988 4881 + 5601 4988 5600 4881 + 4881 5601 4989 4882 + 5602 4990 4989 4882 + 5602 4989 5601 4882 + 4882 5602 4990 4883 + 5603 4991 4990 4883 + 5603 4990 5602 4883 + 4883 5603 4991 4884 + 5604 4992 4991 4884 + 5604 4991 5603 4884 + 4884 5604 4992 4885 + 5605 4993 4992 4885 + 5605 4992 5604 4885 + 4885 5605 4993 4886 + 5606 4994 4993 4886 + 5606 4993 5605 4886 + 4886 5606 4994 4887 + 5607 4995 4994 4887 + 5607 4994 5606 4887 + 4887 5607 4995 4888 + 5608 4996 4995 4888 + 5608 4995 5607 4888 + 4888 5608 4996 4889 + 5609 4997 4996 4889 + 5609 4996 5608 4889 + 4889 5609 4997 4890 + 5610 4998 4997 4890 + 5610 4997 5609 4890 + 4890 5610 4998 4891 + 5611 4999 4998 4891 + 5611 4998 5610 4891 + 4891 5611 4999 4892 + 5612 5000 4999 4892 + 5612 4999 5611 4892 + 4892 5612 5000 4893 + 5613 5001 5000 4893 + 5613 5000 5612 4893 + 4893 5613 5001 4894 + 5614 5002 5001 4894 + 5614 5001 5613 4894 + 4894 5614 5002 4895 + 5615 5003 5002 4895 + 5615 5002 5614 4895 + 4895 5615 5003 4896 + 5616 5004 5003 4896 + 5616 5003 5615 4896 + 4896 5616 5004 4897 + 5617 5005 5004 4897 + 5617 5004 5616 4897 + 4897 5617 5005 4898 + 5618 5006 5005 4898 + 5618 5005 5617 4898 + 149 151 150 5547 + 5619 5583 150 5547 + 5619 150 151 5547 + 5547 5619 5583 5548 + 5620 5584 5583 5548 + 5620 5583 5619 5548 + 5548 5620 5584 5549 + 5621 5585 5584 5549 + 5621 5584 5620 5549 + 5549 5621 5585 5550 + 5622 5586 5585 5550 + 5622 5585 5621 5550 + 5550 5622 5586 5551 + 5623 5587 5586 5551 + 5623 5586 5622 5551 + 5551 5623 5587 5552 + 5624 5588 5587 5552 + 5624 5587 5623 5552 + 5552 5624 5588 5553 + 5625 5589 5588 5553 + 5625 5588 5624 5553 + 5553 5625 5589 5554 + 5626 5590 5589 5554 + 5626 5589 5625 5554 + 5554 5626 5590 5555 + 5627 5591 5590 5555 + 5627 5590 5626 5555 + 5555 5627 5591 5556 + 5628 5592 5591 5556 + 5628 5591 5627 5556 + 5556 5628 5592 5557 + 5629 5593 5592 5557 + 5629 5592 5628 5557 + 5557 5629 5593 5558 + 5630 5594 5593 5558 + 5630 5593 5629 5558 + 5558 5630 5594 5559 + 5631 5595 5594 5559 + 5631 5594 5630 5559 + 5559 5631 5595 5560 + 5632 5596 5595 5560 + 5632 5595 5631 5560 + 5560 5632 5596 5561 + 5633 5597 5596 5561 + 5633 5596 5632 5561 + 5561 5633 5597 5562 + 5634 5598 5597 5562 + 5634 5597 5633 5562 + 5562 5634 5598 5563 + 5635 5599 5598 5563 + 5635 5598 5634 5563 + 5563 5635 5599 5564 + 5636 5600 5599 5564 + 5636 5599 5635 5564 + 5564 5636 5600 5565 + 5637 5601 5600 5565 + 5637 5600 5636 5565 + 5565 5637 5601 5566 + 5638 5602 5601 5566 + 5638 5601 5637 5566 + 5566 5638 5602 5567 + 5639 5603 5602 5567 + 5639 5602 5638 5567 + 5567 5639 5603 5568 + 5640 5604 5603 5568 + 5640 5603 5639 5568 + 5568 5640 5604 5569 + 5641 5605 5604 5569 + 5641 5604 5640 5569 + 5569 5641 5605 5570 + 5642 5606 5605 5570 + 5642 5605 5641 5570 + 5570 5642 5606 5571 + 5643 5607 5606 5571 + 5643 5606 5642 5571 + 5571 5643 5607 5572 + 5644 5608 5607 5572 + 5644 5607 5643 5572 + 5572 5644 5608 5573 + 5645 5609 5608 5573 + 5645 5608 5644 5573 + 5573 5645 5609 5574 + 5646 5610 5609 5574 + 5646 5609 5645 5574 + 5574 5646 5610 5575 + 5647 5611 5610 5575 + 5647 5610 5646 5575 + 5575 5647 5611 5576 + 5648 5612 5611 5576 + 5648 5611 5647 5576 + 5576 5648 5612 5577 + 5649 5613 5612 5577 + 5649 5612 5648 5577 + 5577 5649 5613 5578 + 5650 5614 5613 5578 + 5650 5613 5649 5578 + 5578 5650 5614 5579 + 5651 5615 5614 5579 + 5651 5614 5650 5579 + 5579 5651 5615 5580 + 5652 5616 5615 5580 + 5652 5615 5651 5580 + 5580 5652 5616 5581 + 5653 5617 5616 5581 + 5653 5616 5652 5581 + 5581 5653 5617 5582 + 5654 5618 5617 5582 + 5654 5617 5653 5582 + 5583 5547 4863 150 + 4863 5547 130 150 + 5547 149 130 150 + 5584 5548 4864 5583 + 4864 5548 4863 5583 + 5548 5547 4863 5583 + 5585 5549 4865 5584 + 4865 5549 4864 5584 + 5549 5548 4864 5584 + 5586 5550 4866 5585 + 4866 5550 4865 5585 + 5550 5549 4865 5585 + 5587 5551 4867 5586 + 4867 5551 4866 5586 + 5551 5550 4866 5586 + 5588 5552 4868 5587 + 4868 5552 4867 5587 + 5552 5551 4867 5587 + 5589 5553 4869 5588 + 4869 5553 4868 5588 + 5553 5552 4868 5588 + 5590 5554 4870 5589 + 4870 5554 4869 5589 + 5554 5553 4869 5589 + 5591 5555 4871 5590 + 4871 5555 4870 5590 + 5555 5554 4870 5590 + 5592 5556 4872 5591 + 4872 5556 4871 5591 + 5556 5555 4871 5591 + 5593 5557 4873 5592 + 4873 5557 4872 5592 + 5557 5556 4872 5592 + 5594 5558 4874 5593 + 4874 5558 4873 5593 + 5558 5557 4873 5593 + 5595 5559 4875 5594 + 4875 5559 4874 5594 + 5559 5558 4874 5594 + 5596 5560 4876 5595 + 4876 5560 4875 5595 + 5560 5559 4875 5595 + 5597 5561 4877 5596 + 4877 5561 4876 5596 + 5561 5560 4876 5596 + 5598 5562 4878 5597 + 4878 5562 4877 5597 + 5562 5561 4877 5597 + 5599 5563 4879 5598 + 4879 5563 4878 5598 + 5563 5562 4878 5598 + 5600 5564 4880 5599 + 4880 5564 4879 5599 + 5564 5563 4879 5599 + 5601 5565 4881 5600 + 4881 5565 4880 5600 + 5565 5564 4880 5600 + 5602 5566 4882 5601 + 4882 5566 4881 5601 + 5566 5565 4881 5601 + 5603 5567 4883 5602 + 4883 5567 4882 5602 + 5567 5566 4882 5602 + 5604 5568 4884 5603 + 4884 5568 4883 5603 + 5568 5567 4883 5603 + 5605 5569 4885 5604 + 4885 5569 4884 5604 + 5569 5568 4884 5604 + 5606 5570 4886 5605 + 4886 5570 4885 5605 + 5570 5569 4885 5605 + 5607 5571 4887 5606 + 4887 5571 4886 5606 + 5571 5570 4886 5606 + 5608 5572 4888 5607 + 4888 5572 4887 5607 + 5572 5571 4887 5607 + 5609 5573 4889 5608 + 4889 5573 4888 5608 + 5573 5572 4888 5608 + 5610 5574 4890 5609 + 4890 5574 4889 5609 + 5574 5573 4889 5609 + 5611 5575 4891 5610 + 4891 5575 4890 5610 + 5575 5574 4890 5610 + 5612 5576 4892 5611 + 4892 5576 4891 5611 + 5576 5575 4891 5611 + 5613 5577 4893 5612 + 4893 5577 4892 5612 + 5577 5576 4892 5612 + 5614 5578 4894 5613 + 4894 5578 4893 5613 + 5578 5577 4893 5613 + 5615 5579 4895 5614 + 4895 5579 4894 5614 + 5579 5578 4894 5614 + 5616 5580 4896 5615 + 4896 5580 4895 5615 + 5580 5579 4895 5615 + 5617 5581 4897 5616 + 4897 5581 4896 5616 + 5581 5580 4896 5616 + 5618 5582 4898 5617 + 4898 5582 4897 5617 + 5582 5581 4897 5617 + 133 152 137 4971 + 5655 5115 137 4971 + 5655 137 152 4971 + 4971 5655 5115 4972 + 5656 5116 5115 4972 + 5656 5115 5655 4972 + 4972 5656 5116 4973 + 5657 5117 5116 4973 + 5657 5116 5656 4973 + 4973 5657 5117 4974 + 5658 5118 5117 4974 + 5658 5117 5657 4974 + 4974 5658 5118 4975 + 5659 5119 5118 4975 + 5659 5118 5658 4975 + 4975 5659 5119 4976 + 5660 5120 5119 4976 + 5660 5119 5659 4976 + 4976 5660 5120 4977 + 5661 5121 5120 4977 + 5661 5120 5660 4977 + 4977 5661 5121 4978 + 5662 5122 5121 4978 + 5662 5121 5661 4978 + 4978 5662 5122 4979 + 5663 5123 5122 4979 + 5663 5122 5662 4979 + 4979 5663 5123 4980 + 5664 5124 5123 4980 + 5664 5123 5663 4980 + 4980 5664 5124 4981 + 5665 5125 5124 4981 + 5665 5124 5664 4981 + 4981 5665 5125 4982 + 5666 5126 5125 4982 + 5666 5125 5665 4982 + 4982 5666 5126 4983 + 5667 5127 5126 4983 + 5667 5126 5666 4983 + 4983 5667 5127 4984 + 5668 5128 5127 4984 + 5668 5127 5667 4984 + 4984 5668 5128 4985 + 5669 5129 5128 4985 + 5669 5128 5668 4985 + 4985 5669 5129 4986 + 5670 5130 5129 4986 + 5670 5129 5669 4986 + 4986 5670 5130 4987 + 5671 5131 5130 4987 + 5671 5130 5670 4987 + 4987 5671 5131 4988 + 5672 5132 5131 4988 + 5672 5131 5671 4988 + 4988 5672 5132 4989 + 5673 5133 5132 4989 + 5673 5132 5672 4989 + 4989 5673 5133 4990 + 5674 5134 5133 4990 + 5674 5133 5673 4990 + 4990 5674 5134 4991 + 5675 5135 5134 4991 + 5675 5134 5674 4991 + 4991 5675 5135 4992 + 5676 5136 5135 4992 + 5676 5135 5675 4992 + 4992 5676 5136 4993 + 5677 5137 5136 4993 + 5677 5136 5676 4993 + 4993 5677 5137 4994 + 5678 5138 5137 4994 + 5678 5137 5677 4994 + 4994 5678 5138 4995 + 5679 5139 5138 4995 + 5679 5138 5678 4995 + 4995 5679 5139 4996 + 5680 5140 5139 4996 + 5680 5139 5679 4996 + 4996 5680 5140 4997 + 5681 5141 5140 4997 + 5681 5140 5680 4997 + 4997 5681 5141 4998 + 5682 5142 5141 4998 + 5682 5141 5681 4998 + 4998 5682 5142 4999 + 5683 5143 5142 4999 + 5683 5142 5682 4999 + 4999 5683 5143 5000 + 5684 5144 5143 5000 + 5684 5143 5683 5000 + 5000 5684 5144 5001 + 5685 5145 5144 5001 + 5685 5144 5684 5001 + 5001 5685 5145 5002 + 5686 5146 5145 5002 + 5686 5145 5685 5002 + 5002 5686 5146 5003 + 5687 5147 5146 5003 + 5687 5146 5686 5003 + 5003 5687 5147 5004 + 5688 5148 5147 5004 + 5688 5147 5687 5004 + 5004 5688 5148 5005 + 5689 5149 5148 5005 + 5689 5148 5688 5005 + 5005 5689 5149 5006 + 5690 5150 5149 5006 + 5690 5149 5689 5006 + 150 153 152 5583 + 5691 5655 152 5583 + 5691 152 153 5583 + 5583 5691 5655 5584 + 5692 5656 5655 5584 + 5692 5655 5691 5584 + 5584 5692 5656 5585 + 5693 5657 5656 5585 + 5693 5656 5692 5585 + 5585 5693 5657 5586 + 5694 5658 5657 5586 + 5694 5657 5693 5586 + 5586 5694 5658 5587 + 5695 5659 5658 5587 + 5695 5658 5694 5587 + 5587 5695 5659 5588 + 5696 5660 5659 5588 + 5696 5659 5695 5588 + 5588 5696 5660 5589 + 5697 5661 5660 5589 + 5697 5660 5696 5589 + 5589 5697 5661 5590 + 5698 5662 5661 5590 + 5698 5661 5697 5590 + 5590 5698 5662 5591 + 5699 5663 5662 5591 + 5699 5662 5698 5591 + 5591 5699 5663 5592 + 5700 5664 5663 5592 + 5700 5663 5699 5592 + 5592 5700 5664 5593 + 5701 5665 5664 5593 + 5701 5664 5700 5593 + 5593 5701 5665 5594 + 5702 5666 5665 5594 + 5702 5665 5701 5594 + 5594 5702 5666 5595 + 5703 5667 5666 5595 + 5703 5666 5702 5595 + 5595 5703 5667 5596 + 5704 5668 5667 5596 + 5704 5667 5703 5596 + 5596 5704 5668 5597 + 5705 5669 5668 5597 + 5705 5668 5704 5597 + 5597 5705 5669 5598 + 5706 5670 5669 5598 + 5706 5669 5705 5598 + 5598 5706 5670 5599 + 5707 5671 5670 5599 + 5707 5670 5706 5599 + 5599 5707 5671 5600 + 5708 5672 5671 5600 + 5708 5671 5707 5600 + 5600 5708 5672 5601 + 5709 5673 5672 5601 + 5709 5672 5708 5601 + 5601 5709 5673 5602 + 5710 5674 5673 5602 + 5710 5673 5709 5602 + 5602 5710 5674 5603 + 5711 5675 5674 5603 + 5711 5674 5710 5603 + 5603 5711 5675 5604 + 5712 5676 5675 5604 + 5712 5675 5711 5604 + 5604 5712 5676 5605 + 5713 5677 5676 5605 + 5713 5676 5712 5605 + 5605 5713 5677 5606 + 5714 5678 5677 5606 + 5714 5677 5713 5606 + 5606 5714 5678 5607 + 5715 5679 5678 5607 + 5715 5678 5714 5607 + 5607 5715 5679 5608 + 5716 5680 5679 5608 + 5716 5679 5715 5608 + 5608 5716 5680 5609 + 5717 5681 5680 5609 + 5717 5680 5716 5609 + 5609 5717 5681 5610 + 5718 5682 5681 5610 + 5718 5681 5717 5610 + 5610 5718 5682 5611 + 5719 5683 5682 5611 + 5719 5682 5718 5611 + 5611 5719 5683 5612 + 5720 5684 5683 5612 + 5720 5683 5719 5612 + 5612 5720 5684 5613 + 5721 5685 5684 5613 + 5721 5684 5720 5613 + 5613 5721 5685 5614 + 5722 5686 5685 5614 + 5722 5685 5721 5614 + 5614 5722 5686 5615 + 5723 5687 5686 5615 + 5723 5686 5722 5615 + 5615 5723 5687 5616 + 5724 5688 5687 5616 + 5724 5687 5723 5616 + 5616 5724 5688 5617 + 5725 5689 5688 5617 + 5725 5688 5724 5617 + 5617 5725 5689 5618 + 5726 5690 5689 5618 + 5726 5689 5725 5618 + 151 154 153 5619 + 5727 5691 153 5619 + 5727 153 154 5619 + 5619 5727 5691 5620 + 5728 5692 5691 5620 + 5728 5691 5727 5620 + 5620 5728 5692 5621 + 5729 5693 5692 5621 + 5729 5692 5728 5621 + 5621 5729 5693 5622 + 5730 5694 5693 5622 + 5730 5693 5729 5622 + 5622 5730 5694 5623 + 5731 5695 5694 5623 + 5731 5694 5730 5623 + 5623 5731 5695 5624 + 5732 5696 5695 5624 + 5732 5695 5731 5624 + 5624 5732 5696 5625 + 5733 5697 5696 5625 + 5733 5696 5732 5625 + 5625 5733 5697 5626 + 5734 5698 5697 5626 + 5734 5697 5733 5626 + 5626 5734 5698 5627 + 5735 5699 5698 5627 + 5735 5698 5734 5627 + 5627 5735 5699 5628 + 5736 5700 5699 5628 + 5736 5699 5735 5628 + 5628 5736 5700 5629 + 5737 5701 5700 5629 + 5737 5700 5736 5629 + 5629 5737 5701 5630 + 5738 5702 5701 5630 + 5738 5701 5737 5630 + 5630 5738 5702 5631 + 5739 5703 5702 5631 + 5739 5702 5738 5631 + 5631 5739 5703 5632 + 5740 5704 5703 5632 + 5740 5703 5739 5632 + 5632 5740 5704 5633 + 5741 5705 5704 5633 + 5741 5704 5740 5633 + 5633 5741 5705 5634 + 5742 5706 5705 5634 + 5742 5705 5741 5634 + 5634 5742 5706 5635 + 5743 5707 5706 5635 + 5743 5706 5742 5635 + 5635 5743 5707 5636 + 5744 5708 5707 5636 + 5744 5707 5743 5636 + 5636 5744 5708 5637 + 5745 5709 5708 5637 + 5745 5708 5744 5637 + 5637 5745 5709 5638 + 5746 5710 5709 5638 + 5746 5709 5745 5638 + 5638 5746 5710 5639 + 5747 5711 5710 5639 + 5747 5710 5746 5639 + 5639 5747 5711 5640 + 5748 5712 5711 5640 + 5748 5711 5747 5640 + 5640 5748 5712 5641 + 5749 5713 5712 5641 + 5749 5712 5748 5641 + 5641 5749 5713 5642 + 5750 5714 5713 5642 + 5750 5713 5749 5642 + 5642 5750 5714 5643 + 5751 5715 5714 5643 + 5751 5714 5750 5643 + 5643 5751 5715 5644 + 5752 5716 5715 5644 + 5752 5715 5751 5644 + 5644 5752 5716 5645 + 5753 5717 5716 5645 + 5753 5716 5752 5645 + 5645 5753 5717 5646 + 5754 5718 5717 5646 + 5754 5717 5753 5646 + 5646 5754 5718 5647 + 5755 5719 5718 5647 + 5755 5718 5754 5647 + 5647 5755 5719 5648 + 5756 5720 5719 5648 + 5756 5719 5755 5648 + 5648 5756 5720 5649 + 5757 5721 5720 5649 + 5757 5720 5756 5649 + 5649 5757 5721 5650 + 5758 5722 5721 5650 + 5758 5721 5757 5650 + 5650 5758 5722 5651 + 5759 5723 5722 5651 + 5759 5722 5758 5651 + 5651 5759 5723 5652 + 5760 5724 5723 5652 + 5760 5723 5759 5652 + 5652 5760 5724 5653 + 5761 5725 5724 5653 + 5761 5724 5760 5653 + 5653 5761 5725 5654 + 5762 5726 5725 5654 + 5762 5725 5761 5654 + 5655 5583 4971 152 + 4971 5583 133 152 + 5583 150 133 152 + 5656 5584 4972 5655 + 4972 5584 4971 5655 + 5584 5583 4971 5655 + 5657 5585 4973 5656 + 4973 5585 4972 5656 + 5585 5584 4972 5656 + 5658 5586 4974 5657 + 4974 5586 4973 5657 + 5586 5585 4973 5657 + 5659 5587 4975 5658 + 4975 5587 4974 5658 + 5587 5586 4974 5658 + 5660 5588 4976 5659 + 4976 5588 4975 5659 + 5588 5587 4975 5659 + 5661 5589 4977 5660 + 4977 5589 4976 5660 + 5589 5588 4976 5660 + 5662 5590 4978 5661 + 4978 5590 4977 5661 + 5590 5589 4977 5661 + 5663 5591 4979 5662 + 4979 5591 4978 5662 + 5591 5590 4978 5662 + 5664 5592 4980 5663 + 4980 5592 4979 5663 + 5592 5591 4979 5663 + 5665 5593 4981 5664 + 4981 5593 4980 5664 + 5593 5592 4980 5664 + 5666 5594 4982 5665 + 4982 5594 4981 5665 + 5594 5593 4981 5665 + 5667 5595 4983 5666 + 4983 5595 4982 5666 + 5595 5594 4982 5666 + 5668 5596 4984 5667 + 4984 5596 4983 5667 + 5596 5595 4983 5667 + 5669 5597 4985 5668 + 4985 5597 4984 5668 + 5597 5596 4984 5668 + 5670 5598 4986 5669 + 4986 5598 4985 5669 + 5598 5597 4985 5669 + 5671 5599 4987 5670 + 4987 5599 4986 5670 + 5599 5598 4986 5670 + 5672 5600 4988 5671 + 4988 5600 4987 5671 + 5600 5599 4987 5671 + 5673 5601 4989 5672 + 4989 5601 4988 5672 + 5601 5600 4988 5672 + 5674 5602 4990 5673 + 4990 5602 4989 5673 + 5602 5601 4989 5673 + 5675 5603 4991 5674 + 4991 5603 4990 5674 + 5603 5602 4990 5674 + 5676 5604 4992 5675 + 4992 5604 4991 5675 + 5604 5603 4991 5675 + 5677 5605 4993 5676 + 4993 5605 4992 5676 + 5605 5604 4992 5676 + 5678 5606 4994 5677 + 4994 5606 4993 5677 + 5606 5605 4993 5677 + 5679 5607 4995 5678 + 4995 5607 4994 5678 + 5607 5606 4994 5678 + 5680 5608 4996 5679 + 4996 5608 4995 5679 + 5608 5607 4995 5679 + 5681 5609 4997 5680 + 4997 5609 4996 5680 + 5609 5608 4996 5680 + 5682 5610 4998 5681 + 4998 5610 4997 5681 + 5610 5609 4997 5681 + 5683 5611 4999 5682 + 4999 5611 4998 5682 + 5611 5610 4998 5682 + 5684 5612 5000 5683 + 5000 5612 4999 5683 + 5612 5611 4999 5683 + 5685 5613 5001 5684 + 5001 5613 5000 5684 + 5613 5612 5000 5684 + 5686 5614 5002 5685 + 5002 5614 5001 5685 + 5614 5613 5001 5685 + 5687 5615 5003 5686 + 5003 5615 5002 5686 + 5615 5614 5002 5686 + 5688 5616 5004 5687 + 5004 5616 5003 5687 + 5616 5615 5003 5687 + 5689 5617 5005 5688 + 5005 5617 5004 5688 + 5617 5616 5004 5688 + 5690 5618 5006 5689 + 5006 5618 5005 5689 + 5618 5617 5005 5689 + 5691 5619 5583 153 + 5583 5619 150 153 + 5619 151 150 153 + 5692 5620 5584 5691 + 5584 5620 5583 5691 + 5620 5619 5583 5691 + 5693 5621 5585 5692 + 5585 5621 5584 5692 + 5621 5620 5584 5692 + 5694 5622 5586 5693 + 5586 5622 5585 5693 + 5622 5621 5585 5693 + 5695 5623 5587 5694 + 5587 5623 5586 5694 + 5623 5622 5586 5694 + 5696 5624 5588 5695 + 5588 5624 5587 5695 + 5624 5623 5587 5695 + 5697 5625 5589 5696 + 5589 5625 5588 5696 + 5625 5624 5588 5696 + 5698 5626 5590 5697 + 5590 5626 5589 5697 + 5626 5625 5589 5697 + 5699 5627 5591 5698 + 5591 5627 5590 5698 + 5627 5626 5590 5698 + 5700 5628 5592 5699 + 5592 5628 5591 5699 + 5628 5627 5591 5699 + 5701 5629 5593 5700 + 5593 5629 5592 5700 + 5629 5628 5592 5700 + 5702 5630 5594 5701 + 5594 5630 5593 5701 + 5630 5629 5593 5701 + 5703 5631 5595 5702 + 5595 5631 5594 5702 + 5631 5630 5594 5702 + 5704 5632 5596 5703 + 5596 5632 5595 5703 + 5632 5631 5595 5703 + 5705 5633 5597 5704 + 5597 5633 5596 5704 + 5633 5632 5596 5704 + 5706 5634 5598 5705 + 5598 5634 5597 5705 + 5634 5633 5597 5705 + 5707 5635 5599 5706 + 5599 5635 5598 5706 + 5635 5634 5598 5706 + 5708 5636 5600 5707 + 5600 5636 5599 5707 + 5636 5635 5599 5707 + 5709 5637 5601 5708 + 5601 5637 5600 5708 + 5637 5636 5600 5708 + 5710 5638 5602 5709 + 5602 5638 5601 5709 + 5638 5637 5601 5709 + 5711 5639 5603 5710 + 5603 5639 5602 5710 + 5639 5638 5602 5710 + 5712 5640 5604 5711 + 5604 5640 5603 5711 + 5640 5639 5603 5711 + 5713 5641 5605 5712 + 5605 5641 5604 5712 + 5641 5640 5604 5712 + 5714 5642 5606 5713 + 5606 5642 5605 5713 + 5642 5641 5605 5713 + 5715 5643 5607 5714 + 5607 5643 5606 5714 + 5643 5642 5606 5714 + 5716 5644 5608 5715 + 5608 5644 5607 5715 + 5644 5643 5607 5715 + 5717 5645 5609 5716 + 5609 5645 5608 5716 + 5645 5644 5608 5716 + 5718 5646 5610 5717 + 5610 5646 5609 5717 + 5646 5645 5609 5717 + 5719 5647 5611 5718 + 5611 5647 5610 5718 + 5647 5646 5610 5718 + 5720 5648 5612 5719 + 5612 5648 5611 5719 + 5648 5647 5611 5719 + 5721 5649 5613 5720 + 5613 5649 5612 5720 + 5649 5648 5612 5720 + 5722 5650 5614 5721 + 5614 5650 5613 5721 + 5650 5649 5613 5721 + 5723 5651 5615 5722 + 5615 5651 5614 5722 + 5651 5650 5614 5722 + 5724 5652 5616 5723 + 5616 5652 5615 5723 + 5652 5651 5615 5723 + 5725 5653 5617 5724 + 5617 5653 5616 5724 + 5653 5652 5616 5724 + 5726 5654 5618 5725 + 5618 5654 5617 5725 + 5654 5653 5617 5725 + 137 155 142 5115 + 5763 5295 142 5115 + 5763 142 155 5115 + 5115 5763 5295 5116 + 5764 5296 5295 5116 + 5764 5295 5763 5116 + 5116 5764 5296 5117 + 5765 5297 5296 5117 + 5765 5296 5764 5117 + 5117 5765 5297 5118 + 5766 5298 5297 5118 + 5766 5297 5765 5118 + 5118 5766 5298 5119 + 5767 5299 5298 5119 + 5767 5298 5766 5119 + 5119 5767 5299 5120 + 5768 5300 5299 5120 + 5768 5299 5767 5120 + 5120 5768 5300 5121 + 5769 5301 5300 5121 + 5769 5300 5768 5121 + 5121 5769 5301 5122 + 5770 5302 5301 5122 + 5770 5301 5769 5122 + 5122 5770 5302 5123 + 5771 5303 5302 5123 + 5771 5302 5770 5123 + 5123 5771 5303 5124 + 5772 5304 5303 5124 + 5772 5303 5771 5124 + 5124 5772 5304 5125 + 5773 5305 5304 5125 + 5773 5304 5772 5125 + 5125 5773 5305 5126 + 5774 5306 5305 5126 + 5774 5305 5773 5126 + 5126 5774 5306 5127 + 5775 5307 5306 5127 + 5775 5306 5774 5127 + 5127 5775 5307 5128 + 5776 5308 5307 5128 + 5776 5307 5775 5128 + 5128 5776 5308 5129 + 5777 5309 5308 5129 + 5777 5308 5776 5129 + 5129 5777 5309 5130 + 5778 5310 5309 5130 + 5778 5309 5777 5130 + 5130 5778 5310 5131 + 5779 5311 5310 5131 + 5779 5310 5778 5131 + 5131 5779 5311 5132 + 5780 5312 5311 5132 + 5780 5311 5779 5132 + 5132 5780 5312 5133 + 5781 5313 5312 5133 + 5781 5312 5780 5133 + 5133 5781 5313 5134 + 5782 5314 5313 5134 + 5782 5313 5781 5134 + 5134 5782 5314 5135 + 5783 5315 5314 5135 + 5783 5314 5782 5135 + 5135 5783 5315 5136 + 5784 5316 5315 5136 + 5784 5315 5783 5136 + 5136 5784 5316 5137 + 5785 5317 5316 5137 + 5785 5316 5784 5137 + 5137 5785 5317 5138 + 5786 5318 5317 5138 + 5786 5317 5785 5138 + 5138 5786 5318 5139 + 5787 5319 5318 5139 + 5787 5318 5786 5139 + 5139 5787 5319 5140 + 5788 5320 5319 5140 + 5788 5319 5787 5140 + 5140 5788 5320 5141 + 5789 5321 5320 5141 + 5789 5320 5788 5141 + 5141 5789 5321 5142 + 5790 5322 5321 5142 + 5790 5321 5789 5142 + 5142 5790 5322 5143 + 5791 5323 5322 5143 + 5791 5322 5790 5143 + 5143 5791 5323 5144 + 5792 5324 5323 5144 + 5792 5323 5791 5144 + 5144 5792 5324 5145 + 5793 5325 5324 5145 + 5793 5324 5792 5145 + 5145 5793 5325 5146 + 5794 5326 5325 5146 + 5794 5325 5793 5146 + 5146 5794 5326 5147 + 5795 5327 5326 5147 + 5795 5326 5794 5147 + 5147 5795 5327 5148 + 5796 5328 5327 5148 + 5796 5327 5795 5148 + 5148 5796 5328 5149 + 5797 5329 5328 5149 + 5797 5328 5796 5149 + 5149 5797 5329 5150 + 5798 5330 5329 5150 + 5798 5329 5797 5150 + 152 156 155 5655 + 5799 5763 155 5655 + 5799 155 156 5655 + 5655 5799 5763 5656 + 5800 5764 5763 5656 + 5800 5763 5799 5656 + 5656 5800 5764 5657 + 5801 5765 5764 5657 + 5801 5764 5800 5657 + 5657 5801 5765 5658 + 5802 5766 5765 5658 + 5802 5765 5801 5658 + 5658 5802 5766 5659 + 5803 5767 5766 5659 + 5803 5766 5802 5659 + 5659 5803 5767 5660 + 5804 5768 5767 5660 + 5804 5767 5803 5660 + 5660 5804 5768 5661 + 5805 5769 5768 5661 + 5805 5768 5804 5661 + 5661 5805 5769 5662 + 5806 5770 5769 5662 + 5806 5769 5805 5662 + 5662 5806 5770 5663 + 5807 5771 5770 5663 + 5807 5770 5806 5663 + 5663 5807 5771 5664 + 5808 5772 5771 5664 + 5808 5771 5807 5664 + 5664 5808 5772 5665 + 5809 5773 5772 5665 + 5809 5772 5808 5665 + 5665 5809 5773 5666 + 5810 5774 5773 5666 + 5810 5773 5809 5666 + 5666 5810 5774 5667 + 5811 5775 5774 5667 + 5811 5774 5810 5667 + 5667 5811 5775 5668 + 5812 5776 5775 5668 + 5812 5775 5811 5668 + 5668 5812 5776 5669 + 5813 5777 5776 5669 + 5813 5776 5812 5669 + 5669 5813 5777 5670 + 5814 5778 5777 5670 + 5814 5777 5813 5670 + 5670 5814 5778 5671 + 5815 5779 5778 5671 + 5815 5778 5814 5671 + 5671 5815 5779 5672 + 5816 5780 5779 5672 + 5816 5779 5815 5672 + 5672 5816 5780 5673 + 5817 5781 5780 5673 + 5817 5780 5816 5673 + 5673 5817 5781 5674 + 5818 5782 5781 5674 + 5818 5781 5817 5674 + 5674 5818 5782 5675 + 5819 5783 5782 5675 + 5819 5782 5818 5675 + 5675 5819 5783 5676 + 5820 5784 5783 5676 + 5820 5783 5819 5676 + 5676 5820 5784 5677 + 5821 5785 5784 5677 + 5821 5784 5820 5677 + 5677 5821 5785 5678 + 5822 5786 5785 5678 + 5822 5785 5821 5678 + 5678 5822 5786 5679 + 5823 5787 5786 5679 + 5823 5786 5822 5679 + 5679 5823 5787 5680 + 5824 5788 5787 5680 + 5824 5787 5823 5680 + 5680 5824 5788 5681 + 5825 5789 5788 5681 + 5825 5788 5824 5681 + 5681 5825 5789 5682 + 5826 5790 5789 5682 + 5826 5789 5825 5682 + 5682 5826 5790 5683 + 5827 5791 5790 5683 + 5827 5790 5826 5683 + 5683 5827 5791 5684 + 5828 5792 5791 5684 + 5828 5791 5827 5684 + 5684 5828 5792 5685 + 5829 5793 5792 5685 + 5829 5792 5828 5685 + 5685 5829 5793 5686 + 5830 5794 5793 5686 + 5830 5793 5829 5686 + 5686 5830 5794 5687 + 5831 5795 5794 5687 + 5831 5794 5830 5687 + 5687 5831 5795 5688 + 5832 5796 5795 5688 + 5832 5795 5831 5688 + 5688 5832 5796 5689 + 5833 5797 5796 5689 + 5833 5796 5832 5689 + 5689 5833 5797 5690 + 5834 5798 5797 5690 + 5834 5797 5833 5690 + 153 157 156 5691 + 5835 5799 156 5691 + 5835 156 157 5691 + 5691 5835 5799 5692 + 5836 5800 5799 5692 + 5836 5799 5835 5692 + 5692 5836 5800 5693 + 5837 5801 5800 5693 + 5837 5800 5836 5693 + 5693 5837 5801 5694 + 5838 5802 5801 5694 + 5838 5801 5837 5694 + 5694 5838 5802 5695 + 5839 5803 5802 5695 + 5839 5802 5838 5695 + 5695 5839 5803 5696 + 5840 5804 5803 5696 + 5840 5803 5839 5696 + 5696 5840 5804 5697 + 5841 5805 5804 5697 + 5841 5804 5840 5697 + 5697 5841 5805 5698 + 5842 5806 5805 5698 + 5842 5805 5841 5698 + 5698 5842 5806 5699 + 5843 5807 5806 5699 + 5843 5806 5842 5699 + 5699 5843 5807 5700 + 5844 5808 5807 5700 + 5844 5807 5843 5700 + 5700 5844 5808 5701 + 5845 5809 5808 5701 + 5845 5808 5844 5701 + 5701 5845 5809 5702 + 5846 5810 5809 5702 + 5846 5809 5845 5702 + 5702 5846 5810 5703 + 5847 5811 5810 5703 + 5847 5810 5846 5703 + 5703 5847 5811 5704 + 5848 5812 5811 5704 + 5848 5811 5847 5704 + 5704 5848 5812 5705 + 5849 5813 5812 5705 + 5849 5812 5848 5705 + 5705 5849 5813 5706 + 5850 5814 5813 5706 + 5850 5813 5849 5706 + 5706 5850 5814 5707 + 5851 5815 5814 5707 + 5851 5814 5850 5707 + 5707 5851 5815 5708 + 5852 5816 5815 5708 + 5852 5815 5851 5708 + 5708 5852 5816 5709 + 5853 5817 5816 5709 + 5853 5816 5852 5709 + 5709 5853 5817 5710 + 5854 5818 5817 5710 + 5854 5817 5853 5710 + 5710 5854 5818 5711 + 5855 5819 5818 5711 + 5855 5818 5854 5711 + 5711 5855 5819 5712 + 5856 5820 5819 5712 + 5856 5819 5855 5712 + 5712 5856 5820 5713 + 5857 5821 5820 5713 + 5857 5820 5856 5713 + 5713 5857 5821 5714 + 5858 5822 5821 5714 + 5858 5821 5857 5714 + 5714 5858 5822 5715 + 5859 5823 5822 5715 + 5859 5822 5858 5715 + 5715 5859 5823 5716 + 5860 5824 5823 5716 + 5860 5823 5859 5716 + 5716 5860 5824 5717 + 5861 5825 5824 5717 + 5861 5824 5860 5717 + 5717 5861 5825 5718 + 5862 5826 5825 5718 + 5862 5825 5861 5718 + 5718 5862 5826 5719 + 5863 5827 5826 5719 + 5863 5826 5862 5719 + 5719 5863 5827 5720 + 5864 5828 5827 5720 + 5864 5827 5863 5720 + 5720 5864 5828 5721 + 5865 5829 5828 5721 + 5865 5828 5864 5721 + 5721 5865 5829 5722 + 5866 5830 5829 5722 + 5866 5829 5865 5722 + 5722 5866 5830 5723 + 5867 5831 5830 5723 + 5867 5830 5866 5723 + 5723 5867 5831 5724 + 5868 5832 5831 5724 + 5868 5831 5867 5724 + 5724 5868 5832 5725 + 5869 5833 5832 5725 + 5869 5832 5868 5725 + 5725 5869 5833 5726 + 5870 5834 5833 5726 + 5870 5833 5869 5726 + 154 158 157 5727 + 5871 5835 157 5727 + 5871 157 158 5727 + 5727 5871 5835 5728 + 5872 5836 5835 5728 + 5872 5835 5871 5728 + 5728 5872 5836 5729 + 5873 5837 5836 5729 + 5873 5836 5872 5729 + 5729 5873 5837 5730 + 5874 5838 5837 5730 + 5874 5837 5873 5730 + 5730 5874 5838 5731 + 5875 5839 5838 5731 + 5875 5838 5874 5731 + 5731 5875 5839 5732 + 5876 5840 5839 5732 + 5876 5839 5875 5732 + 5732 5876 5840 5733 + 5877 5841 5840 5733 + 5877 5840 5876 5733 + 5733 5877 5841 5734 + 5878 5842 5841 5734 + 5878 5841 5877 5734 + 5734 5878 5842 5735 + 5879 5843 5842 5735 + 5879 5842 5878 5735 + 5735 5879 5843 5736 + 5880 5844 5843 5736 + 5880 5843 5879 5736 + 5736 5880 5844 5737 + 5881 5845 5844 5737 + 5881 5844 5880 5737 + 5737 5881 5845 5738 + 5882 5846 5845 5738 + 5882 5845 5881 5738 + 5738 5882 5846 5739 + 5883 5847 5846 5739 + 5883 5846 5882 5739 + 5739 5883 5847 5740 + 5884 5848 5847 5740 + 5884 5847 5883 5740 + 5740 5884 5848 5741 + 5885 5849 5848 5741 + 5885 5848 5884 5741 + 5741 5885 5849 5742 + 5886 5850 5849 5742 + 5886 5849 5885 5742 + 5742 5886 5850 5743 + 5887 5851 5850 5743 + 5887 5850 5886 5743 + 5743 5887 5851 5744 + 5888 5852 5851 5744 + 5888 5851 5887 5744 + 5744 5888 5852 5745 + 5889 5853 5852 5745 + 5889 5852 5888 5745 + 5745 5889 5853 5746 + 5890 5854 5853 5746 + 5890 5853 5889 5746 + 5746 5890 5854 5747 + 5891 5855 5854 5747 + 5891 5854 5890 5747 + 5747 5891 5855 5748 + 5892 5856 5855 5748 + 5892 5855 5891 5748 + 5748 5892 5856 5749 + 5893 5857 5856 5749 + 5893 5856 5892 5749 + 5749 5893 5857 5750 + 5894 5858 5857 5750 + 5894 5857 5893 5750 + 5750 5894 5858 5751 + 5895 5859 5858 5751 + 5895 5858 5894 5751 + 5751 5895 5859 5752 + 5896 5860 5859 5752 + 5896 5859 5895 5752 + 5752 5896 5860 5753 + 5897 5861 5860 5753 + 5897 5860 5896 5753 + 5753 5897 5861 5754 + 5898 5862 5861 5754 + 5898 5861 5897 5754 + 5754 5898 5862 5755 + 5899 5863 5862 5755 + 5899 5862 5898 5755 + 5755 5899 5863 5756 + 5900 5864 5863 5756 + 5900 5863 5899 5756 + 5756 5900 5864 5757 + 5901 5865 5864 5757 + 5901 5864 5900 5757 + 5757 5901 5865 5758 + 5902 5866 5865 5758 + 5902 5865 5901 5758 + 5758 5902 5866 5759 + 5903 5867 5866 5759 + 5903 5866 5902 5759 + 5759 5903 5867 5760 + 5904 5868 5867 5760 + 5904 5867 5903 5760 + 5760 5904 5868 5761 + 5905 5869 5868 5761 + 5905 5868 5904 5761 + 5761 5905 5869 5762 + 5906 5870 5869 5762 + 5906 5869 5905 5762 + 5763 5655 5115 155 + 5115 5655 137 155 + 5655 152 137 155 + 5764 5656 5116 5763 + 5116 5656 5115 5763 + 5656 5655 5115 5763 + 5765 5657 5117 5764 + 5117 5657 5116 5764 + 5657 5656 5116 5764 + 5766 5658 5118 5765 + 5118 5658 5117 5765 + 5658 5657 5117 5765 + 5767 5659 5119 5766 + 5119 5659 5118 5766 + 5659 5658 5118 5766 + 5768 5660 5120 5767 + 5120 5660 5119 5767 + 5660 5659 5119 5767 + 5769 5661 5121 5768 + 5121 5661 5120 5768 + 5661 5660 5120 5768 + 5770 5662 5122 5769 + 5122 5662 5121 5769 + 5662 5661 5121 5769 + 5771 5663 5123 5770 + 5123 5663 5122 5770 + 5663 5662 5122 5770 + 5772 5664 5124 5771 + 5124 5664 5123 5771 + 5664 5663 5123 5771 + 5773 5665 5125 5772 + 5125 5665 5124 5772 + 5665 5664 5124 5772 + 5774 5666 5126 5773 + 5126 5666 5125 5773 + 5666 5665 5125 5773 + 5775 5667 5127 5774 + 5127 5667 5126 5774 + 5667 5666 5126 5774 + 5776 5668 5128 5775 + 5128 5668 5127 5775 + 5668 5667 5127 5775 + 5777 5669 5129 5776 + 5129 5669 5128 5776 + 5669 5668 5128 5776 + 5778 5670 5130 5777 + 5130 5670 5129 5777 + 5670 5669 5129 5777 + 5779 5671 5131 5778 + 5131 5671 5130 5778 + 5671 5670 5130 5778 + 5780 5672 5132 5779 + 5132 5672 5131 5779 + 5672 5671 5131 5779 + 5781 5673 5133 5780 + 5133 5673 5132 5780 + 5673 5672 5132 5780 + 5782 5674 5134 5781 + 5134 5674 5133 5781 + 5674 5673 5133 5781 + 5783 5675 5135 5782 + 5135 5675 5134 5782 + 5675 5674 5134 5782 + 5784 5676 5136 5783 + 5136 5676 5135 5783 + 5676 5675 5135 5783 + 5785 5677 5137 5784 + 5137 5677 5136 5784 + 5677 5676 5136 5784 + 5786 5678 5138 5785 + 5138 5678 5137 5785 + 5678 5677 5137 5785 + 5787 5679 5139 5786 + 5139 5679 5138 5786 + 5679 5678 5138 5786 + 5788 5680 5140 5787 + 5140 5680 5139 5787 + 5680 5679 5139 5787 + 5789 5681 5141 5788 + 5141 5681 5140 5788 + 5681 5680 5140 5788 + 5790 5682 5142 5789 + 5142 5682 5141 5789 + 5682 5681 5141 5789 + 5791 5683 5143 5790 + 5143 5683 5142 5790 + 5683 5682 5142 5790 + 5792 5684 5144 5791 + 5144 5684 5143 5791 + 5684 5683 5143 5791 + 5793 5685 5145 5792 + 5145 5685 5144 5792 + 5685 5684 5144 5792 + 5794 5686 5146 5793 + 5146 5686 5145 5793 + 5686 5685 5145 5793 + 5795 5687 5147 5794 + 5147 5687 5146 5794 + 5687 5686 5146 5794 + 5796 5688 5148 5795 + 5148 5688 5147 5795 + 5688 5687 5147 5795 + 5797 5689 5149 5796 + 5149 5689 5148 5796 + 5689 5688 5148 5796 + 5798 5690 5150 5797 + 5150 5690 5149 5797 + 5690 5689 5149 5797 + 5799 5691 5655 156 + 5655 5691 152 156 + 5691 153 152 156 + 5800 5692 5656 5799 + 5656 5692 5655 5799 + 5692 5691 5655 5799 + 5801 5693 5657 5800 + 5657 5693 5656 5800 + 5693 5692 5656 5800 + 5802 5694 5658 5801 + 5658 5694 5657 5801 + 5694 5693 5657 5801 + 5803 5695 5659 5802 + 5659 5695 5658 5802 + 5695 5694 5658 5802 + 5804 5696 5660 5803 + 5660 5696 5659 5803 + 5696 5695 5659 5803 + 5805 5697 5661 5804 + 5661 5697 5660 5804 + 5697 5696 5660 5804 + 5806 5698 5662 5805 + 5662 5698 5661 5805 + 5698 5697 5661 5805 + 5807 5699 5663 5806 + 5663 5699 5662 5806 + 5699 5698 5662 5806 + 5808 5700 5664 5807 + 5664 5700 5663 5807 + 5700 5699 5663 5807 + 5809 5701 5665 5808 + 5665 5701 5664 5808 + 5701 5700 5664 5808 + 5810 5702 5666 5809 + 5666 5702 5665 5809 + 5702 5701 5665 5809 + 5811 5703 5667 5810 + 5667 5703 5666 5810 + 5703 5702 5666 5810 + 5812 5704 5668 5811 + 5668 5704 5667 5811 + 5704 5703 5667 5811 + 5813 5705 5669 5812 + 5669 5705 5668 5812 + 5705 5704 5668 5812 + 5814 5706 5670 5813 + 5670 5706 5669 5813 + 5706 5705 5669 5813 + 5815 5707 5671 5814 + 5671 5707 5670 5814 + 5707 5706 5670 5814 + 5816 5708 5672 5815 + 5672 5708 5671 5815 + 5708 5707 5671 5815 + 5817 5709 5673 5816 + 5673 5709 5672 5816 + 5709 5708 5672 5816 + 5818 5710 5674 5817 + 5674 5710 5673 5817 + 5710 5709 5673 5817 + 5819 5711 5675 5818 + 5675 5711 5674 5818 + 5711 5710 5674 5818 + 5820 5712 5676 5819 + 5676 5712 5675 5819 + 5712 5711 5675 5819 + 5821 5713 5677 5820 + 5677 5713 5676 5820 + 5713 5712 5676 5820 + 5822 5714 5678 5821 + 5678 5714 5677 5821 + 5714 5713 5677 5821 + 5823 5715 5679 5822 + 5679 5715 5678 5822 + 5715 5714 5678 5822 + 5824 5716 5680 5823 + 5680 5716 5679 5823 + 5716 5715 5679 5823 + 5825 5717 5681 5824 + 5681 5717 5680 5824 + 5717 5716 5680 5824 + 5826 5718 5682 5825 + 5682 5718 5681 5825 + 5718 5717 5681 5825 + 5827 5719 5683 5826 + 5683 5719 5682 5826 + 5719 5718 5682 5826 + 5828 5720 5684 5827 + 5684 5720 5683 5827 + 5720 5719 5683 5827 + 5829 5721 5685 5828 + 5685 5721 5684 5828 + 5721 5720 5684 5828 + 5830 5722 5686 5829 + 5686 5722 5685 5829 + 5722 5721 5685 5829 + 5831 5723 5687 5830 + 5687 5723 5686 5830 + 5723 5722 5686 5830 + 5832 5724 5688 5831 + 5688 5724 5687 5831 + 5724 5723 5687 5831 + 5833 5725 5689 5832 + 5689 5725 5688 5832 + 5725 5724 5688 5832 + 5834 5726 5690 5833 + 5690 5726 5689 5833 + 5726 5725 5689 5833 + 5835 5727 5691 157 + 5691 5727 153 157 + 5727 154 153 157 + 5836 5728 5692 5835 + 5692 5728 5691 5835 + 5728 5727 5691 5835 + 5837 5729 5693 5836 + 5693 5729 5692 5836 + 5729 5728 5692 5836 + 5838 5730 5694 5837 + 5694 5730 5693 5837 + 5730 5729 5693 5837 + 5839 5731 5695 5838 + 5695 5731 5694 5838 + 5731 5730 5694 5838 + 5840 5732 5696 5839 + 5696 5732 5695 5839 + 5732 5731 5695 5839 + 5841 5733 5697 5840 + 5697 5733 5696 5840 + 5733 5732 5696 5840 + 5842 5734 5698 5841 + 5698 5734 5697 5841 + 5734 5733 5697 5841 + 5843 5735 5699 5842 + 5699 5735 5698 5842 + 5735 5734 5698 5842 + 5844 5736 5700 5843 + 5700 5736 5699 5843 + 5736 5735 5699 5843 + 5845 5737 5701 5844 + 5701 5737 5700 5844 + 5737 5736 5700 5844 + 5846 5738 5702 5845 + 5702 5738 5701 5845 + 5738 5737 5701 5845 + 5847 5739 5703 5846 + 5703 5739 5702 5846 + 5739 5738 5702 5846 + 5848 5740 5704 5847 + 5704 5740 5703 5847 + 5740 5739 5703 5847 + 5849 5741 5705 5848 + 5705 5741 5704 5848 + 5741 5740 5704 5848 + 5850 5742 5706 5849 + 5706 5742 5705 5849 + 5742 5741 5705 5849 + 5851 5743 5707 5850 + 5707 5743 5706 5850 + 5743 5742 5706 5850 + 5852 5744 5708 5851 + 5708 5744 5707 5851 + 5744 5743 5707 5851 + 5853 5745 5709 5852 + 5709 5745 5708 5852 + 5745 5744 5708 5852 + 5854 5746 5710 5853 + 5710 5746 5709 5853 + 5746 5745 5709 5853 + 5855 5747 5711 5854 + 5711 5747 5710 5854 + 5747 5746 5710 5854 + 5856 5748 5712 5855 + 5712 5748 5711 5855 + 5748 5747 5711 5855 + 5857 5749 5713 5856 + 5713 5749 5712 5856 + 5749 5748 5712 5856 + 5858 5750 5714 5857 + 5714 5750 5713 5857 + 5750 5749 5713 5857 + 5859 5751 5715 5858 + 5715 5751 5714 5858 + 5751 5750 5714 5858 + 5860 5752 5716 5859 + 5716 5752 5715 5859 + 5752 5751 5715 5859 + 5861 5753 5717 5860 + 5717 5753 5716 5860 + 5753 5752 5716 5860 + 5862 5754 5718 5861 + 5718 5754 5717 5861 + 5754 5753 5717 5861 + 5863 5755 5719 5862 + 5719 5755 5718 5862 + 5755 5754 5718 5862 + 5864 5756 5720 5863 + 5720 5756 5719 5863 + 5756 5755 5719 5863 + 5865 5757 5721 5864 + 5721 5757 5720 5864 + 5757 5756 5720 5864 + 5866 5758 5722 5865 + 5722 5758 5721 5865 + 5758 5757 5721 5865 + 5867 5759 5723 5866 + 5723 5759 5722 5866 + 5759 5758 5722 5866 + 5868 5760 5724 5867 + 5724 5760 5723 5867 + 5760 5759 5723 5867 + 5869 5761 5725 5868 + 5725 5761 5724 5868 + 5761 5760 5724 5868 + 5870 5762 5726 5869 + 5726 5762 5725 5869 + 5762 5761 5725 5869 + 142 159 148 5295 + 5907 5511 148 5295 + 5907 148 159 5295 + 5295 5907 5511 5296 + 5908 5512 5511 5296 + 5908 5511 5907 5296 + 5296 5908 5512 5297 + 5909 5513 5512 5297 + 5909 5512 5908 5297 + 5297 5909 5513 5298 + 5910 5514 5513 5298 + 5910 5513 5909 5298 + 5298 5910 5514 5299 + 5911 5515 5514 5299 + 5911 5514 5910 5299 + 5299 5911 5515 5300 + 5912 5516 5515 5300 + 5912 5515 5911 5300 + 5300 5912 5516 5301 + 5913 5517 5516 5301 + 5913 5516 5912 5301 + 5301 5913 5517 5302 + 5914 5518 5517 5302 + 5914 5517 5913 5302 + 5302 5914 5518 5303 + 5915 5519 5518 5303 + 5915 5518 5914 5303 + 5303 5915 5519 5304 + 5916 5520 5519 5304 + 5916 5519 5915 5304 + 5304 5916 5520 5305 + 5917 5521 5520 5305 + 5917 5520 5916 5305 + 5305 5917 5521 5306 + 5918 5522 5521 5306 + 5918 5521 5917 5306 + 5306 5918 5522 5307 + 5919 5523 5522 5307 + 5919 5522 5918 5307 + 5307 5919 5523 5308 + 5920 5524 5523 5308 + 5920 5523 5919 5308 + 5308 5920 5524 5309 + 5921 5525 5524 5309 + 5921 5524 5920 5309 + 5309 5921 5525 5310 + 5922 5526 5525 5310 + 5922 5525 5921 5310 + 5310 5922 5526 5311 + 5923 5527 5526 5311 + 5923 5526 5922 5311 + 5311 5923 5527 5312 + 5924 5528 5527 5312 + 5924 5527 5923 5312 + 5312 5924 5528 5313 + 5925 5529 5528 5313 + 5925 5528 5924 5313 + 5313 5925 5529 5314 + 5926 5530 5529 5314 + 5926 5529 5925 5314 + 5314 5926 5530 5315 + 5927 5531 5530 5315 + 5927 5530 5926 5315 + 5315 5927 5531 5316 + 5928 5532 5531 5316 + 5928 5531 5927 5316 + 5316 5928 5532 5317 + 5929 5533 5532 5317 + 5929 5532 5928 5317 + 5317 5929 5533 5318 + 5930 5534 5533 5318 + 5930 5533 5929 5318 + 5318 5930 5534 5319 + 5931 5535 5534 5319 + 5931 5534 5930 5319 + 5319 5931 5535 5320 + 5932 5536 5535 5320 + 5932 5535 5931 5320 + 5320 5932 5536 5321 + 5933 5537 5536 5321 + 5933 5536 5932 5321 + 5321 5933 5537 5322 + 5934 5538 5537 5322 + 5934 5537 5933 5322 + 5322 5934 5538 5323 + 5935 5539 5538 5323 + 5935 5538 5934 5323 + 5323 5935 5539 5324 + 5936 5540 5539 5324 + 5936 5539 5935 5324 + 5324 5936 5540 5325 + 5937 5541 5540 5325 + 5937 5540 5936 5325 + 5325 5937 5541 5326 + 5938 5542 5541 5326 + 5938 5541 5937 5326 + 5326 5938 5542 5327 + 5939 5543 5542 5327 + 5939 5542 5938 5327 + 5327 5939 5543 5328 + 5940 5544 5543 5328 + 5940 5543 5939 5328 + 5328 5940 5544 5329 + 5941 5545 5544 5329 + 5941 5544 5940 5329 + 5329 5941 5545 5330 + 5942 5546 5545 5330 + 5942 5545 5941 5330 + 155 160 159 5763 + 5943 5907 159 5763 + 5943 159 160 5763 + 5763 5943 5907 5764 + 5944 5908 5907 5764 + 5944 5907 5943 5764 + 5764 5944 5908 5765 + 5945 5909 5908 5765 + 5945 5908 5944 5765 + 5765 5945 5909 5766 + 5946 5910 5909 5766 + 5946 5909 5945 5766 + 5766 5946 5910 5767 + 5947 5911 5910 5767 + 5947 5910 5946 5767 + 5767 5947 5911 5768 + 5948 5912 5911 5768 + 5948 5911 5947 5768 + 5768 5948 5912 5769 + 5949 5913 5912 5769 + 5949 5912 5948 5769 + 5769 5949 5913 5770 + 5950 5914 5913 5770 + 5950 5913 5949 5770 + 5770 5950 5914 5771 + 5951 5915 5914 5771 + 5951 5914 5950 5771 + 5771 5951 5915 5772 + 5952 5916 5915 5772 + 5952 5915 5951 5772 + 5772 5952 5916 5773 + 5953 5917 5916 5773 + 5953 5916 5952 5773 + 5773 5953 5917 5774 + 5954 5918 5917 5774 + 5954 5917 5953 5774 + 5774 5954 5918 5775 + 5955 5919 5918 5775 + 5955 5918 5954 5775 + 5775 5955 5919 5776 + 5956 5920 5919 5776 + 5956 5919 5955 5776 + 5776 5956 5920 5777 + 5957 5921 5920 5777 + 5957 5920 5956 5777 + 5777 5957 5921 5778 + 5958 5922 5921 5778 + 5958 5921 5957 5778 + 5778 5958 5922 5779 + 5959 5923 5922 5779 + 5959 5922 5958 5779 + 5779 5959 5923 5780 + 5960 5924 5923 5780 + 5960 5923 5959 5780 + 5780 5960 5924 5781 + 5961 5925 5924 5781 + 5961 5924 5960 5781 + 5781 5961 5925 5782 + 5962 5926 5925 5782 + 5962 5925 5961 5782 + 5782 5962 5926 5783 + 5963 5927 5926 5783 + 5963 5926 5962 5783 + 5783 5963 5927 5784 + 5964 5928 5927 5784 + 5964 5927 5963 5784 + 5784 5964 5928 5785 + 5965 5929 5928 5785 + 5965 5928 5964 5785 + 5785 5965 5929 5786 + 5966 5930 5929 5786 + 5966 5929 5965 5786 + 5786 5966 5930 5787 + 5967 5931 5930 5787 + 5967 5930 5966 5787 + 5787 5967 5931 5788 + 5968 5932 5931 5788 + 5968 5931 5967 5788 + 5788 5968 5932 5789 + 5969 5933 5932 5789 + 5969 5932 5968 5789 + 5789 5969 5933 5790 + 5970 5934 5933 5790 + 5970 5933 5969 5790 + 5790 5970 5934 5791 + 5971 5935 5934 5791 + 5971 5934 5970 5791 + 5791 5971 5935 5792 + 5972 5936 5935 5792 + 5972 5935 5971 5792 + 5792 5972 5936 5793 + 5973 5937 5936 5793 + 5973 5936 5972 5793 + 5793 5973 5937 5794 + 5974 5938 5937 5794 + 5974 5937 5973 5794 + 5794 5974 5938 5795 + 5975 5939 5938 5795 + 5975 5938 5974 5795 + 5795 5975 5939 5796 + 5976 5940 5939 5796 + 5976 5939 5975 5796 + 5796 5976 5940 5797 + 5977 5941 5940 5797 + 5977 5940 5976 5797 + 5797 5977 5941 5798 + 5978 5942 5941 5798 + 5978 5941 5977 5798 + 156 161 160 5799 + 5979 5943 160 5799 + 5979 160 161 5799 + 5799 5979 5943 5800 + 5980 5944 5943 5800 + 5980 5943 5979 5800 + 5800 5980 5944 5801 + 5981 5945 5944 5801 + 5981 5944 5980 5801 + 5801 5981 5945 5802 + 5982 5946 5945 5802 + 5982 5945 5981 5802 + 5802 5982 5946 5803 + 5983 5947 5946 5803 + 5983 5946 5982 5803 + 5803 5983 5947 5804 + 5984 5948 5947 5804 + 5984 5947 5983 5804 + 5804 5984 5948 5805 + 5985 5949 5948 5805 + 5985 5948 5984 5805 + 5805 5985 5949 5806 + 5986 5950 5949 5806 + 5986 5949 5985 5806 + 5806 5986 5950 5807 + 5987 5951 5950 5807 + 5987 5950 5986 5807 + 5807 5987 5951 5808 + 5988 5952 5951 5808 + 5988 5951 5987 5808 + 5808 5988 5952 5809 + 5989 5953 5952 5809 + 5989 5952 5988 5809 + 5809 5989 5953 5810 + 5990 5954 5953 5810 + 5990 5953 5989 5810 + 5810 5990 5954 5811 + 5991 5955 5954 5811 + 5991 5954 5990 5811 + 5811 5991 5955 5812 + 5992 5956 5955 5812 + 5992 5955 5991 5812 + 5812 5992 5956 5813 + 5993 5957 5956 5813 + 5993 5956 5992 5813 + 5813 5993 5957 5814 + 5994 5958 5957 5814 + 5994 5957 5993 5814 + 5814 5994 5958 5815 + 5995 5959 5958 5815 + 5995 5958 5994 5815 + 5815 5995 5959 5816 + 5996 5960 5959 5816 + 5996 5959 5995 5816 + 5816 5996 5960 5817 + 5997 5961 5960 5817 + 5997 5960 5996 5817 + 5817 5997 5961 5818 + 5998 5962 5961 5818 + 5998 5961 5997 5818 + 5818 5998 5962 5819 + 5999 5963 5962 5819 + 5999 5962 5998 5819 + 5819 5999 5963 5820 + 6000 5964 5963 5820 + 6000 5963 5999 5820 + 5820 6000 5964 5821 + 6001 5965 5964 5821 + 6001 5964 6000 5821 + 5821 6001 5965 5822 + 6002 5966 5965 5822 + 6002 5965 6001 5822 + 5822 6002 5966 5823 + 6003 5967 5966 5823 + 6003 5966 6002 5823 + 5823 6003 5967 5824 + 6004 5968 5967 5824 + 6004 5967 6003 5824 + 5824 6004 5968 5825 + 6005 5969 5968 5825 + 6005 5968 6004 5825 + 5825 6005 5969 5826 + 6006 5970 5969 5826 + 6006 5969 6005 5826 + 5826 6006 5970 5827 + 6007 5971 5970 5827 + 6007 5970 6006 5827 + 5827 6007 5971 5828 + 6008 5972 5971 5828 + 6008 5971 6007 5828 + 5828 6008 5972 5829 + 6009 5973 5972 5829 + 6009 5972 6008 5829 + 5829 6009 5973 5830 + 6010 5974 5973 5830 + 6010 5973 6009 5830 + 5830 6010 5974 5831 + 6011 5975 5974 5831 + 6011 5974 6010 5831 + 5831 6011 5975 5832 + 6012 5976 5975 5832 + 6012 5975 6011 5832 + 5832 6012 5976 5833 + 6013 5977 5976 5833 + 6013 5976 6012 5833 + 5833 6013 5977 5834 + 6014 5978 5977 5834 + 6014 5977 6013 5834 + 157 162 161 5835 + 6015 5979 161 5835 + 6015 161 162 5835 + 5835 6015 5979 5836 + 6016 5980 5979 5836 + 6016 5979 6015 5836 + 5836 6016 5980 5837 + 6017 5981 5980 5837 + 6017 5980 6016 5837 + 5837 6017 5981 5838 + 6018 5982 5981 5838 + 6018 5981 6017 5838 + 5838 6018 5982 5839 + 6019 5983 5982 5839 + 6019 5982 6018 5839 + 5839 6019 5983 5840 + 6020 5984 5983 5840 + 6020 5983 6019 5840 + 5840 6020 5984 5841 + 6021 5985 5984 5841 + 6021 5984 6020 5841 + 5841 6021 5985 5842 + 6022 5986 5985 5842 + 6022 5985 6021 5842 + 5842 6022 5986 5843 + 6023 5987 5986 5843 + 6023 5986 6022 5843 + 5843 6023 5987 5844 + 6024 5988 5987 5844 + 6024 5987 6023 5844 + 5844 6024 5988 5845 + 6025 5989 5988 5845 + 6025 5988 6024 5845 + 5845 6025 5989 5846 + 6026 5990 5989 5846 + 6026 5989 6025 5846 + 5846 6026 5990 5847 + 6027 5991 5990 5847 + 6027 5990 6026 5847 + 5847 6027 5991 5848 + 6028 5992 5991 5848 + 6028 5991 6027 5848 + 5848 6028 5992 5849 + 6029 5993 5992 5849 + 6029 5992 6028 5849 + 5849 6029 5993 5850 + 6030 5994 5993 5850 + 6030 5993 6029 5850 + 5850 6030 5994 5851 + 6031 5995 5994 5851 + 6031 5994 6030 5851 + 5851 6031 5995 5852 + 6032 5996 5995 5852 + 6032 5995 6031 5852 + 5852 6032 5996 5853 + 6033 5997 5996 5853 + 6033 5996 6032 5853 + 5853 6033 5997 5854 + 6034 5998 5997 5854 + 6034 5997 6033 5854 + 5854 6034 5998 5855 + 6035 5999 5998 5855 + 6035 5998 6034 5855 + 5855 6035 5999 5856 + 6036 6000 5999 5856 + 6036 5999 6035 5856 + 5856 6036 6000 5857 + 6037 6001 6000 5857 + 6037 6000 6036 5857 + 5857 6037 6001 5858 + 6038 6002 6001 5858 + 6038 6001 6037 5858 + 5858 6038 6002 5859 + 6039 6003 6002 5859 + 6039 6002 6038 5859 + 5859 6039 6003 5860 + 6040 6004 6003 5860 + 6040 6003 6039 5860 + 5860 6040 6004 5861 + 6041 6005 6004 5861 + 6041 6004 6040 5861 + 5861 6041 6005 5862 + 6042 6006 6005 5862 + 6042 6005 6041 5862 + 5862 6042 6006 5863 + 6043 6007 6006 5863 + 6043 6006 6042 5863 + 5863 6043 6007 5864 + 6044 6008 6007 5864 + 6044 6007 6043 5864 + 5864 6044 6008 5865 + 6045 6009 6008 5865 + 6045 6008 6044 5865 + 5865 6045 6009 5866 + 6046 6010 6009 5866 + 6046 6009 6045 5866 + 5866 6046 6010 5867 + 6047 6011 6010 5867 + 6047 6010 6046 5867 + 5867 6047 6011 5868 + 6048 6012 6011 5868 + 6048 6011 6047 5868 + 5868 6048 6012 5869 + 6049 6013 6012 5869 + 6049 6012 6048 5869 + 5869 6049 6013 5870 + 6050 6014 6013 5870 + 6050 6013 6049 5870 + 158 163 162 5871 + 6051 6015 162 5871 + 6051 162 163 5871 + 5871 6051 6015 5872 + 6052 6016 6015 5872 + 6052 6015 6051 5872 + 5872 6052 6016 5873 + 6053 6017 6016 5873 + 6053 6016 6052 5873 + 5873 6053 6017 5874 + 6054 6018 6017 5874 + 6054 6017 6053 5874 + 5874 6054 6018 5875 + 6055 6019 6018 5875 + 6055 6018 6054 5875 + 5875 6055 6019 5876 + 6056 6020 6019 5876 + 6056 6019 6055 5876 + 5876 6056 6020 5877 + 6057 6021 6020 5877 + 6057 6020 6056 5877 + 5877 6057 6021 5878 + 6058 6022 6021 5878 + 6058 6021 6057 5878 + 5878 6058 6022 5879 + 6059 6023 6022 5879 + 6059 6022 6058 5879 + 5879 6059 6023 5880 + 6060 6024 6023 5880 + 6060 6023 6059 5880 + 5880 6060 6024 5881 + 6061 6025 6024 5881 + 6061 6024 6060 5881 + 5881 6061 6025 5882 + 6062 6026 6025 5882 + 6062 6025 6061 5882 + 5882 6062 6026 5883 + 6063 6027 6026 5883 + 6063 6026 6062 5883 + 5883 6063 6027 5884 + 6064 6028 6027 5884 + 6064 6027 6063 5884 + 5884 6064 6028 5885 + 6065 6029 6028 5885 + 6065 6028 6064 5885 + 5885 6065 6029 5886 + 6066 6030 6029 5886 + 6066 6029 6065 5886 + 5886 6066 6030 5887 + 6067 6031 6030 5887 + 6067 6030 6066 5887 + 5887 6067 6031 5888 + 6068 6032 6031 5888 + 6068 6031 6067 5888 + 5888 6068 6032 5889 + 6069 6033 6032 5889 + 6069 6032 6068 5889 + 5889 6069 6033 5890 + 6070 6034 6033 5890 + 6070 6033 6069 5890 + 5890 6070 6034 5891 + 6071 6035 6034 5891 + 6071 6034 6070 5891 + 5891 6071 6035 5892 + 6072 6036 6035 5892 + 6072 6035 6071 5892 + 5892 6072 6036 5893 + 6073 6037 6036 5893 + 6073 6036 6072 5893 + 5893 6073 6037 5894 + 6074 6038 6037 5894 + 6074 6037 6073 5894 + 5894 6074 6038 5895 + 6075 6039 6038 5895 + 6075 6038 6074 5895 + 5895 6075 6039 5896 + 6076 6040 6039 5896 + 6076 6039 6075 5896 + 5896 6076 6040 5897 + 6077 6041 6040 5897 + 6077 6040 6076 5897 + 5897 6077 6041 5898 + 6078 6042 6041 5898 + 6078 6041 6077 5898 + 5898 6078 6042 5899 + 6079 6043 6042 5899 + 6079 6042 6078 5899 + 5899 6079 6043 5900 + 6080 6044 6043 5900 + 6080 6043 6079 5900 + 5900 6080 6044 5901 + 6081 6045 6044 5901 + 6081 6044 6080 5901 + 5901 6081 6045 5902 + 6082 6046 6045 5902 + 6082 6045 6081 5902 + 5902 6082 6046 5903 + 6083 6047 6046 5903 + 6083 6046 6082 5903 + 5903 6083 6047 5904 + 6084 6048 6047 5904 + 6084 6047 6083 5904 + 5904 6084 6048 5905 + 6085 6049 6048 5905 + 6085 6048 6084 5905 + 5905 6085 6049 5906 + 6086 6050 6049 5906 + 6086 6049 6085 5906 + 5907 5763 5295 159 + 5295 5763 142 159 + 5763 155 142 159 + 5908 5764 5296 5907 + 5296 5764 5295 5907 + 5764 5763 5295 5907 + 5909 5765 5297 5908 + 5297 5765 5296 5908 + 5765 5764 5296 5908 + 5910 5766 5298 5909 + 5298 5766 5297 5909 + 5766 5765 5297 5909 + 5911 5767 5299 5910 + 5299 5767 5298 5910 + 5767 5766 5298 5910 + 5912 5768 5300 5911 + 5300 5768 5299 5911 + 5768 5767 5299 5911 + 5913 5769 5301 5912 + 5301 5769 5300 5912 + 5769 5768 5300 5912 + 5914 5770 5302 5913 + 5302 5770 5301 5913 + 5770 5769 5301 5913 + 5915 5771 5303 5914 + 5303 5771 5302 5914 + 5771 5770 5302 5914 + 5916 5772 5304 5915 + 5304 5772 5303 5915 + 5772 5771 5303 5915 + 5917 5773 5305 5916 + 5305 5773 5304 5916 + 5773 5772 5304 5916 + 5918 5774 5306 5917 + 5306 5774 5305 5917 + 5774 5773 5305 5917 + 5919 5775 5307 5918 + 5307 5775 5306 5918 + 5775 5774 5306 5918 + 5920 5776 5308 5919 + 5308 5776 5307 5919 + 5776 5775 5307 5919 + 5921 5777 5309 5920 + 5309 5777 5308 5920 + 5777 5776 5308 5920 + 5922 5778 5310 5921 + 5310 5778 5309 5921 + 5778 5777 5309 5921 + 5923 5779 5311 5922 + 5311 5779 5310 5922 + 5779 5778 5310 5922 + 5924 5780 5312 5923 + 5312 5780 5311 5923 + 5780 5779 5311 5923 + 5925 5781 5313 5924 + 5313 5781 5312 5924 + 5781 5780 5312 5924 + 5926 5782 5314 5925 + 5314 5782 5313 5925 + 5782 5781 5313 5925 + 5927 5783 5315 5926 + 5315 5783 5314 5926 + 5783 5782 5314 5926 + 5928 5784 5316 5927 + 5316 5784 5315 5927 + 5784 5783 5315 5927 + 5929 5785 5317 5928 + 5317 5785 5316 5928 + 5785 5784 5316 5928 + 5930 5786 5318 5929 + 5318 5786 5317 5929 + 5786 5785 5317 5929 + 5931 5787 5319 5930 + 5319 5787 5318 5930 + 5787 5786 5318 5930 + 5932 5788 5320 5931 + 5320 5788 5319 5931 + 5788 5787 5319 5931 + 5933 5789 5321 5932 + 5321 5789 5320 5932 + 5789 5788 5320 5932 + 5934 5790 5322 5933 + 5322 5790 5321 5933 + 5790 5789 5321 5933 + 5935 5791 5323 5934 + 5323 5791 5322 5934 + 5791 5790 5322 5934 + 5936 5792 5324 5935 + 5324 5792 5323 5935 + 5792 5791 5323 5935 + 5937 5793 5325 5936 + 5325 5793 5324 5936 + 5793 5792 5324 5936 + 5938 5794 5326 5937 + 5326 5794 5325 5937 + 5794 5793 5325 5937 + 5939 5795 5327 5938 + 5327 5795 5326 5938 + 5795 5794 5326 5938 + 5940 5796 5328 5939 + 5328 5796 5327 5939 + 5796 5795 5327 5939 + 5941 5797 5329 5940 + 5329 5797 5328 5940 + 5797 5796 5328 5940 + 5942 5798 5330 5941 + 5330 5798 5329 5941 + 5798 5797 5329 5941 + 5943 5799 5763 160 + 5763 5799 155 160 + 5799 156 155 160 + 5944 5800 5764 5943 + 5764 5800 5763 5943 + 5800 5799 5763 5943 + 5945 5801 5765 5944 + 5765 5801 5764 5944 + 5801 5800 5764 5944 + 5946 5802 5766 5945 + 5766 5802 5765 5945 + 5802 5801 5765 5945 + 5947 5803 5767 5946 + 5767 5803 5766 5946 + 5803 5802 5766 5946 + 5948 5804 5768 5947 + 5768 5804 5767 5947 + 5804 5803 5767 5947 + 5949 5805 5769 5948 + 5769 5805 5768 5948 + 5805 5804 5768 5948 + 5950 5806 5770 5949 + 5770 5806 5769 5949 + 5806 5805 5769 5949 + 5951 5807 5771 5950 + 5771 5807 5770 5950 + 5807 5806 5770 5950 + 5952 5808 5772 5951 + 5772 5808 5771 5951 + 5808 5807 5771 5951 + 5953 5809 5773 5952 + 5773 5809 5772 5952 + 5809 5808 5772 5952 + 5954 5810 5774 5953 + 5774 5810 5773 5953 + 5810 5809 5773 5953 + 5955 5811 5775 5954 + 5775 5811 5774 5954 + 5811 5810 5774 5954 + 5956 5812 5776 5955 + 5776 5812 5775 5955 + 5812 5811 5775 5955 + 5957 5813 5777 5956 + 5777 5813 5776 5956 + 5813 5812 5776 5956 + 5958 5814 5778 5957 + 5778 5814 5777 5957 + 5814 5813 5777 5957 + 5959 5815 5779 5958 + 5779 5815 5778 5958 + 5815 5814 5778 5958 + 5960 5816 5780 5959 + 5780 5816 5779 5959 + 5816 5815 5779 5959 + 5961 5817 5781 5960 + 5781 5817 5780 5960 + 5817 5816 5780 5960 + 5962 5818 5782 5961 + 5782 5818 5781 5961 + 5818 5817 5781 5961 + 5963 5819 5783 5962 + 5783 5819 5782 5962 + 5819 5818 5782 5962 + 5964 5820 5784 5963 + 5784 5820 5783 5963 + 5820 5819 5783 5963 + 5965 5821 5785 5964 + 5785 5821 5784 5964 + 5821 5820 5784 5964 + 5966 5822 5786 5965 + 5786 5822 5785 5965 + 5822 5821 5785 5965 + 5967 5823 5787 5966 + 5787 5823 5786 5966 + 5823 5822 5786 5966 + 5968 5824 5788 5967 + 5788 5824 5787 5967 + 5824 5823 5787 5967 + 5969 5825 5789 5968 + 5789 5825 5788 5968 + 5825 5824 5788 5968 + 5970 5826 5790 5969 + 5790 5826 5789 5969 + 5826 5825 5789 5969 + 5971 5827 5791 5970 + 5791 5827 5790 5970 + 5827 5826 5790 5970 + 5972 5828 5792 5971 + 5792 5828 5791 5971 + 5828 5827 5791 5971 + 5973 5829 5793 5972 + 5793 5829 5792 5972 + 5829 5828 5792 5972 + 5974 5830 5794 5973 + 5794 5830 5793 5973 + 5830 5829 5793 5973 + 5975 5831 5795 5974 + 5795 5831 5794 5974 + 5831 5830 5794 5974 + 5976 5832 5796 5975 + 5796 5832 5795 5975 + 5832 5831 5795 5975 + 5977 5833 5797 5976 + 5797 5833 5796 5976 + 5833 5832 5796 5976 + 5978 5834 5798 5977 + 5798 5834 5797 5977 + 5834 5833 5797 5977 + 5979 5835 5799 161 + 5799 5835 156 161 + 5835 157 156 161 + 5980 5836 5800 5979 + 5800 5836 5799 5979 + 5836 5835 5799 5979 + 5981 5837 5801 5980 + 5801 5837 5800 5980 + 5837 5836 5800 5980 + 5982 5838 5802 5981 + 5802 5838 5801 5981 + 5838 5837 5801 5981 + 5983 5839 5803 5982 + 5803 5839 5802 5982 + 5839 5838 5802 5982 + 5984 5840 5804 5983 + 5804 5840 5803 5983 + 5840 5839 5803 5983 + 5985 5841 5805 5984 + 5805 5841 5804 5984 + 5841 5840 5804 5984 + 5986 5842 5806 5985 + 5806 5842 5805 5985 + 5842 5841 5805 5985 + 5987 5843 5807 5986 + 5807 5843 5806 5986 + 5843 5842 5806 5986 + 5988 5844 5808 5987 + 5808 5844 5807 5987 + 5844 5843 5807 5987 + 5989 5845 5809 5988 + 5809 5845 5808 5988 + 5845 5844 5808 5988 + 5990 5846 5810 5989 + 5810 5846 5809 5989 + 5846 5845 5809 5989 + 5991 5847 5811 5990 + 5811 5847 5810 5990 + 5847 5846 5810 5990 + 5992 5848 5812 5991 + 5812 5848 5811 5991 + 5848 5847 5811 5991 + 5993 5849 5813 5992 + 5813 5849 5812 5992 + 5849 5848 5812 5992 + 5994 5850 5814 5993 + 5814 5850 5813 5993 + 5850 5849 5813 5993 + 5995 5851 5815 5994 + 5815 5851 5814 5994 + 5851 5850 5814 5994 + 5996 5852 5816 5995 + 5816 5852 5815 5995 + 5852 5851 5815 5995 + 5997 5853 5817 5996 + 5817 5853 5816 5996 + 5853 5852 5816 5996 + 5998 5854 5818 5997 + 5818 5854 5817 5997 + 5854 5853 5817 5997 + 5999 5855 5819 5998 + 5819 5855 5818 5998 + 5855 5854 5818 5998 + 6000 5856 5820 5999 + 5820 5856 5819 5999 + 5856 5855 5819 5999 + 6001 5857 5821 6000 + 5821 5857 5820 6000 + 5857 5856 5820 6000 + 6002 5858 5822 6001 + 5822 5858 5821 6001 + 5858 5857 5821 6001 + 6003 5859 5823 6002 + 5823 5859 5822 6002 + 5859 5858 5822 6002 + 6004 5860 5824 6003 + 5824 5860 5823 6003 + 5860 5859 5823 6003 + 6005 5861 5825 6004 + 5825 5861 5824 6004 + 5861 5860 5824 6004 + 6006 5862 5826 6005 + 5826 5862 5825 6005 + 5862 5861 5825 6005 + 6007 5863 5827 6006 + 5827 5863 5826 6006 + 5863 5862 5826 6006 + 6008 5864 5828 6007 + 5828 5864 5827 6007 + 5864 5863 5827 6007 + 6009 5865 5829 6008 + 5829 5865 5828 6008 + 5865 5864 5828 6008 + 6010 5866 5830 6009 + 5830 5866 5829 6009 + 5866 5865 5829 6009 + 6011 5867 5831 6010 + 5831 5867 5830 6010 + 5867 5866 5830 6010 + 6012 5868 5832 6011 + 5832 5868 5831 6011 + 5868 5867 5831 6011 + 6013 5869 5833 6012 + 5833 5869 5832 6012 + 5869 5868 5832 6012 + 6014 5870 5834 6013 + 5834 5870 5833 6013 + 5870 5869 5833 6013 + 6015 5871 5835 162 + 5835 5871 157 162 + 5871 158 157 162 + 6016 5872 5836 6015 + 5836 5872 5835 6015 + 5872 5871 5835 6015 + 6017 5873 5837 6016 + 5837 5873 5836 6016 + 5873 5872 5836 6016 + 6018 5874 5838 6017 + 5838 5874 5837 6017 + 5874 5873 5837 6017 + 6019 5875 5839 6018 + 5839 5875 5838 6018 + 5875 5874 5838 6018 + 6020 5876 5840 6019 + 5840 5876 5839 6019 + 5876 5875 5839 6019 + 6021 5877 5841 6020 + 5841 5877 5840 6020 + 5877 5876 5840 6020 + 6022 5878 5842 6021 + 5842 5878 5841 6021 + 5878 5877 5841 6021 + 6023 5879 5843 6022 + 5843 5879 5842 6022 + 5879 5878 5842 6022 + 6024 5880 5844 6023 + 5844 5880 5843 6023 + 5880 5879 5843 6023 + 6025 5881 5845 6024 + 5845 5881 5844 6024 + 5881 5880 5844 6024 + 6026 5882 5846 6025 + 5846 5882 5845 6025 + 5882 5881 5845 6025 + 6027 5883 5847 6026 + 5847 5883 5846 6026 + 5883 5882 5846 6026 + 6028 5884 5848 6027 + 5848 5884 5847 6027 + 5884 5883 5847 6027 + 6029 5885 5849 6028 + 5849 5885 5848 6028 + 5885 5884 5848 6028 + 6030 5886 5850 6029 + 5850 5886 5849 6029 + 5886 5885 5849 6029 + 6031 5887 5851 6030 + 5851 5887 5850 6030 + 5887 5886 5850 6030 + 6032 5888 5852 6031 + 5852 5888 5851 6031 + 5888 5887 5851 6031 + 6033 5889 5853 6032 + 5853 5889 5852 6032 + 5889 5888 5852 6032 + 6034 5890 5854 6033 + 5854 5890 5853 6033 + 5890 5889 5853 6033 + 6035 5891 5855 6034 + 5855 5891 5854 6034 + 5891 5890 5854 6034 + 6036 5892 5856 6035 + 5856 5892 5855 6035 + 5892 5891 5855 6035 + 6037 5893 5857 6036 + 5857 5893 5856 6036 + 5893 5892 5856 6036 + 6038 5894 5858 6037 + 5858 5894 5857 6037 + 5894 5893 5857 6037 + 6039 5895 5859 6038 + 5859 5895 5858 6038 + 5895 5894 5858 6038 + 6040 5896 5860 6039 + 5860 5896 5859 6039 + 5896 5895 5859 6039 + 6041 5897 5861 6040 + 5861 5897 5860 6040 + 5897 5896 5860 6040 + 6042 5898 5862 6041 + 5862 5898 5861 6041 + 5898 5897 5861 6041 + 6043 5899 5863 6042 + 5863 5899 5862 6042 + 5899 5898 5862 6042 + 6044 5900 5864 6043 + 5864 5900 5863 6043 + 5900 5899 5863 6043 + 6045 5901 5865 6044 + 5865 5901 5864 6044 + 5901 5900 5864 6044 + 6046 5902 5866 6045 + 5866 5902 5865 6045 + 5902 5901 5865 6045 + 6047 5903 5867 6046 + 5867 5903 5866 6046 + 5903 5902 5866 6046 + 6048 5904 5868 6047 + 5868 5904 5867 6047 + 5904 5903 5867 6047 + 6049 5905 5869 6048 + 5869 5905 5868 6048 + 5905 5904 5868 6048 + 6050 5906 5870 6049 + 5870 5906 5869 6049 + 5906 5905 5869 6049 + 148 44 28 5511 + 1767 1191 28 5511 + 1767 28 44 5511 + 5511 1767 1191 5512 + 1768 1192 1191 5512 + 1768 1191 1767 5512 + 5512 1768 1192 5513 + 1769 1193 1192 5513 + 1769 1192 1768 5513 + 5513 1769 1193 5514 + 1770 1194 1193 5514 + 1770 1193 1769 5514 + 5514 1770 1194 5515 + 1771 1195 1194 5515 + 1771 1194 1770 5515 + 5515 1771 1195 5516 + 1772 1196 1195 5516 + 1772 1195 1771 5516 + 5516 1772 1196 5517 + 1773 1197 1196 5517 + 1773 1196 1772 5517 + 5517 1773 1197 5518 + 1774 1198 1197 5518 + 1774 1197 1773 5518 + 5518 1774 1198 5519 + 1775 1199 1198 5519 + 1775 1198 1774 5519 + 5519 1775 1199 5520 + 1776 1200 1199 5520 + 1776 1199 1775 5520 + 5520 1776 1200 5521 + 1777 1201 1200 5521 + 1777 1200 1776 5521 + 5521 1777 1201 5522 + 1778 1202 1201 5522 + 1778 1201 1777 5522 + 5522 1778 1202 5523 + 1779 1203 1202 5523 + 1779 1202 1778 5523 + 5523 1779 1203 5524 + 1780 1204 1203 5524 + 1780 1203 1779 5524 + 5524 1780 1204 5525 + 1781 1205 1204 5525 + 1781 1204 1780 5525 + 5525 1781 1205 5526 + 1782 1206 1205 5526 + 1782 1205 1781 5526 + 5526 1782 1206 5527 + 1783 1207 1206 5527 + 1783 1206 1782 5527 + 5527 1783 1207 5528 + 1784 1208 1207 5528 + 1784 1207 1783 5528 + 5528 1784 1208 5529 + 1785 1209 1208 5529 + 1785 1208 1784 5529 + 5529 1785 1209 5530 + 1786 1210 1209 5530 + 1786 1209 1785 5530 + 5530 1786 1210 5531 + 1787 1211 1210 5531 + 1787 1210 1786 5531 + 5531 1787 1211 5532 + 1788 1212 1211 5532 + 1788 1211 1787 5532 + 5532 1788 1212 5533 + 1789 1213 1212 5533 + 1789 1212 1788 5533 + 5533 1789 1213 5534 + 1790 1214 1213 5534 + 1790 1213 1789 5534 + 5534 1790 1214 5535 + 1791 1215 1214 5535 + 1791 1214 1790 5535 + 5535 1791 1215 5536 + 1792 1216 1215 5536 + 1792 1215 1791 5536 + 5536 1792 1216 5537 + 1793 1217 1216 5537 + 1793 1216 1792 5537 + 5537 1793 1217 5538 + 1794 1218 1217 5538 + 1794 1217 1793 5538 + 5538 1794 1218 5539 + 1795 1219 1218 5539 + 1795 1218 1794 5539 + 5539 1795 1219 5540 + 1796 1220 1219 5540 + 1796 1219 1795 5540 + 5540 1796 1220 5541 + 1797 1221 1220 5541 + 1797 1220 1796 5541 + 5541 1797 1221 5542 + 1798 1222 1221 5542 + 1798 1221 1797 5542 + 5542 1798 1222 5543 + 1799 1223 1222 5543 + 1799 1222 1798 5543 + 5543 1799 1223 5544 + 1800 1224 1223 5544 + 1800 1223 1799 5544 + 5544 1800 1224 5545 + 1801 1225 1224 5545 + 1801 1224 1800 5545 + 5545 1801 1225 5546 + 1802 1226 1225 5546 + 1802 1225 1801 5546 + 159 45 44 5907 + 1803 1767 44 5907 + 1803 44 45 5907 + 5907 1803 1767 5908 + 1804 1768 1767 5908 + 1804 1767 1803 5908 + 5908 1804 1768 5909 + 1805 1769 1768 5909 + 1805 1768 1804 5909 + 5909 1805 1769 5910 + 1806 1770 1769 5910 + 1806 1769 1805 5910 + 5910 1806 1770 5911 + 1807 1771 1770 5911 + 1807 1770 1806 5911 + 5911 1807 1771 5912 + 1808 1772 1771 5912 + 1808 1771 1807 5912 + 5912 1808 1772 5913 + 1809 1773 1772 5913 + 1809 1772 1808 5913 + 5913 1809 1773 5914 + 1810 1774 1773 5914 + 1810 1773 1809 5914 + 5914 1810 1774 5915 + 1811 1775 1774 5915 + 1811 1774 1810 5915 + 5915 1811 1775 5916 + 1812 1776 1775 5916 + 1812 1775 1811 5916 + 5916 1812 1776 5917 + 1813 1777 1776 5917 + 1813 1776 1812 5917 + 5917 1813 1777 5918 + 1814 1778 1777 5918 + 1814 1777 1813 5918 + 5918 1814 1778 5919 + 1815 1779 1778 5919 + 1815 1778 1814 5919 + 5919 1815 1779 5920 + 1816 1780 1779 5920 + 1816 1779 1815 5920 + 5920 1816 1780 5921 + 1817 1781 1780 5921 + 1817 1780 1816 5921 + 5921 1817 1781 5922 + 1818 1782 1781 5922 + 1818 1781 1817 5922 + 5922 1818 1782 5923 + 1819 1783 1782 5923 + 1819 1782 1818 5923 + 5923 1819 1783 5924 + 1820 1784 1783 5924 + 1820 1783 1819 5924 + 5924 1820 1784 5925 + 1821 1785 1784 5925 + 1821 1784 1820 5925 + 5925 1821 1785 5926 + 1822 1786 1785 5926 + 1822 1785 1821 5926 + 5926 1822 1786 5927 + 1823 1787 1786 5927 + 1823 1786 1822 5927 + 5927 1823 1787 5928 + 1824 1788 1787 5928 + 1824 1787 1823 5928 + 5928 1824 1788 5929 + 1825 1789 1788 5929 + 1825 1788 1824 5929 + 5929 1825 1789 5930 + 1826 1790 1789 5930 + 1826 1789 1825 5930 + 5930 1826 1790 5931 + 1827 1791 1790 5931 + 1827 1790 1826 5931 + 5931 1827 1791 5932 + 1828 1792 1791 5932 + 1828 1791 1827 5932 + 5932 1828 1792 5933 + 1829 1793 1792 5933 + 1829 1792 1828 5933 + 5933 1829 1793 5934 + 1830 1794 1793 5934 + 1830 1793 1829 5934 + 5934 1830 1794 5935 + 1831 1795 1794 5935 + 1831 1794 1830 5935 + 5935 1831 1795 5936 + 1832 1796 1795 5936 + 1832 1795 1831 5936 + 5936 1832 1796 5937 + 1833 1797 1796 5937 + 1833 1796 1832 5937 + 5937 1833 1797 5938 + 1834 1798 1797 5938 + 1834 1797 1833 5938 + 5938 1834 1798 5939 + 1835 1799 1798 5939 + 1835 1798 1834 5939 + 5939 1835 1799 5940 + 1836 1800 1799 5940 + 1836 1799 1835 5940 + 5940 1836 1800 5941 + 1837 1801 1800 5941 + 1837 1800 1836 5941 + 5941 1837 1801 5942 + 1838 1802 1801 5942 + 1838 1801 1837 5942 + 160 46 45 5943 + 1839 1803 45 5943 + 1839 45 46 5943 + 5943 1839 1803 5944 + 1840 1804 1803 5944 + 1840 1803 1839 5944 + 5944 1840 1804 5945 + 1841 1805 1804 5945 + 1841 1804 1840 5945 + 5945 1841 1805 5946 + 1842 1806 1805 5946 + 1842 1805 1841 5946 + 5946 1842 1806 5947 + 1843 1807 1806 5947 + 1843 1806 1842 5947 + 5947 1843 1807 5948 + 1844 1808 1807 5948 + 1844 1807 1843 5948 + 5948 1844 1808 5949 + 1845 1809 1808 5949 + 1845 1808 1844 5949 + 5949 1845 1809 5950 + 1846 1810 1809 5950 + 1846 1809 1845 5950 + 5950 1846 1810 5951 + 1847 1811 1810 5951 + 1847 1810 1846 5951 + 5951 1847 1811 5952 + 1848 1812 1811 5952 + 1848 1811 1847 5952 + 5952 1848 1812 5953 + 1849 1813 1812 5953 + 1849 1812 1848 5953 + 5953 1849 1813 5954 + 1850 1814 1813 5954 + 1850 1813 1849 5954 + 5954 1850 1814 5955 + 1851 1815 1814 5955 + 1851 1814 1850 5955 + 5955 1851 1815 5956 + 1852 1816 1815 5956 + 1852 1815 1851 5956 + 5956 1852 1816 5957 + 1853 1817 1816 5957 + 1853 1816 1852 5957 + 5957 1853 1817 5958 + 1854 1818 1817 5958 + 1854 1817 1853 5958 + 5958 1854 1818 5959 + 1855 1819 1818 5959 + 1855 1818 1854 5959 + 5959 1855 1819 5960 + 1856 1820 1819 5960 + 1856 1819 1855 5960 + 5960 1856 1820 5961 + 1857 1821 1820 5961 + 1857 1820 1856 5961 + 5961 1857 1821 5962 + 1858 1822 1821 5962 + 1858 1821 1857 5962 + 5962 1858 1822 5963 + 1859 1823 1822 5963 + 1859 1822 1858 5963 + 5963 1859 1823 5964 + 1860 1824 1823 5964 + 1860 1823 1859 5964 + 5964 1860 1824 5965 + 1861 1825 1824 5965 + 1861 1824 1860 5965 + 5965 1861 1825 5966 + 1862 1826 1825 5966 + 1862 1825 1861 5966 + 5966 1862 1826 5967 + 1863 1827 1826 5967 + 1863 1826 1862 5967 + 5967 1863 1827 5968 + 1864 1828 1827 5968 + 1864 1827 1863 5968 + 5968 1864 1828 5969 + 1865 1829 1828 5969 + 1865 1828 1864 5969 + 5969 1865 1829 5970 + 1866 1830 1829 5970 + 1866 1829 1865 5970 + 5970 1866 1830 5971 + 1867 1831 1830 5971 + 1867 1830 1866 5971 + 5971 1867 1831 5972 + 1868 1832 1831 5972 + 1868 1831 1867 5972 + 5972 1868 1832 5973 + 1869 1833 1832 5973 + 1869 1832 1868 5973 + 5973 1869 1833 5974 + 1870 1834 1833 5974 + 1870 1833 1869 5974 + 5974 1870 1834 5975 + 1871 1835 1834 5975 + 1871 1834 1870 5975 + 5975 1871 1835 5976 + 1872 1836 1835 5976 + 1872 1835 1871 5976 + 5976 1872 1836 5977 + 1873 1837 1836 5977 + 1873 1836 1872 5977 + 5977 1873 1837 5978 + 1874 1838 1837 5978 + 1874 1837 1873 5978 + 161 47 46 5979 + 1875 1839 46 5979 + 1875 46 47 5979 + 5979 1875 1839 5980 + 1876 1840 1839 5980 + 1876 1839 1875 5980 + 5980 1876 1840 5981 + 1877 1841 1840 5981 + 1877 1840 1876 5981 + 5981 1877 1841 5982 + 1878 1842 1841 5982 + 1878 1841 1877 5982 + 5982 1878 1842 5983 + 1879 1843 1842 5983 + 1879 1842 1878 5983 + 5983 1879 1843 5984 + 1880 1844 1843 5984 + 1880 1843 1879 5984 + 5984 1880 1844 5985 + 1881 1845 1844 5985 + 1881 1844 1880 5985 + 5985 1881 1845 5986 + 1882 1846 1845 5986 + 1882 1845 1881 5986 + 5986 1882 1846 5987 + 1883 1847 1846 5987 + 1883 1846 1882 5987 + 5987 1883 1847 5988 + 1884 1848 1847 5988 + 1884 1847 1883 5988 + 5988 1884 1848 5989 + 1885 1849 1848 5989 + 1885 1848 1884 5989 + 5989 1885 1849 5990 + 1886 1850 1849 5990 + 1886 1849 1885 5990 + 5990 1886 1850 5991 + 1887 1851 1850 5991 + 1887 1850 1886 5991 + 5991 1887 1851 5992 + 1888 1852 1851 5992 + 1888 1851 1887 5992 + 5992 1888 1852 5993 + 1889 1853 1852 5993 + 1889 1852 1888 5993 + 5993 1889 1853 5994 + 1890 1854 1853 5994 + 1890 1853 1889 5994 + 5994 1890 1854 5995 + 1891 1855 1854 5995 + 1891 1854 1890 5995 + 5995 1891 1855 5996 + 1892 1856 1855 5996 + 1892 1855 1891 5996 + 5996 1892 1856 5997 + 1893 1857 1856 5997 + 1893 1856 1892 5997 + 5997 1893 1857 5998 + 1894 1858 1857 5998 + 1894 1857 1893 5998 + 5998 1894 1858 5999 + 1895 1859 1858 5999 + 1895 1858 1894 5999 + 5999 1895 1859 6000 + 1896 1860 1859 6000 + 1896 1859 1895 6000 + 6000 1896 1860 6001 + 1897 1861 1860 6001 + 1897 1860 1896 6001 + 6001 1897 1861 6002 + 1898 1862 1861 6002 + 1898 1861 1897 6002 + 6002 1898 1862 6003 + 1899 1863 1862 6003 + 1899 1862 1898 6003 + 6003 1899 1863 6004 + 1900 1864 1863 6004 + 1900 1863 1899 6004 + 6004 1900 1864 6005 + 1901 1865 1864 6005 + 1901 1864 1900 6005 + 6005 1901 1865 6006 + 1902 1866 1865 6006 + 1902 1865 1901 6006 + 6006 1902 1866 6007 + 1903 1867 1866 6007 + 1903 1866 1902 6007 + 6007 1903 1867 6008 + 1904 1868 1867 6008 + 1904 1867 1903 6008 + 6008 1904 1868 6009 + 1905 1869 1868 6009 + 1905 1868 1904 6009 + 6009 1905 1869 6010 + 1906 1870 1869 6010 + 1906 1869 1905 6010 + 6010 1906 1870 6011 + 1907 1871 1870 6011 + 1907 1870 1906 6011 + 6011 1907 1871 6012 + 1908 1872 1871 6012 + 1908 1871 1907 6012 + 6012 1908 1872 6013 + 1909 1873 1872 6013 + 1909 1872 1908 6013 + 6013 1909 1873 6014 + 1910 1874 1873 6014 + 1910 1873 1909 6014 + 162 48 47 6015 + 1911 1875 47 6015 + 1911 47 48 6015 + 6015 1911 1875 6016 + 1912 1876 1875 6016 + 1912 1875 1911 6016 + 6016 1912 1876 6017 + 1913 1877 1876 6017 + 1913 1876 1912 6017 + 6017 1913 1877 6018 + 1914 1878 1877 6018 + 1914 1877 1913 6018 + 6018 1914 1878 6019 + 1915 1879 1878 6019 + 1915 1878 1914 6019 + 6019 1915 1879 6020 + 1916 1880 1879 6020 + 1916 1879 1915 6020 + 6020 1916 1880 6021 + 1917 1881 1880 6021 + 1917 1880 1916 6021 + 6021 1917 1881 6022 + 1918 1882 1881 6022 + 1918 1881 1917 6022 + 6022 1918 1882 6023 + 1919 1883 1882 6023 + 1919 1882 1918 6023 + 6023 1919 1883 6024 + 1920 1884 1883 6024 + 1920 1883 1919 6024 + 6024 1920 1884 6025 + 1921 1885 1884 6025 + 1921 1884 1920 6025 + 6025 1921 1885 6026 + 1922 1886 1885 6026 + 1922 1885 1921 6026 + 6026 1922 1886 6027 + 1923 1887 1886 6027 + 1923 1886 1922 6027 + 6027 1923 1887 6028 + 1924 1888 1887 6028 + 1924 1887 1923 6028 + 6028 1924 1888 6029 + 1925 1889 1888 6029 + 1925 1888 1924 6029 + 6029 1925 1889 6030 + 1926 1890 1889 6030 + 1926 1889 1925 6030 + 6030 1926 1890 6031 + 1927 1891 1890 6031 + 1927 1890 1926 6031 + 6031 1927 1891 6032 + 1928 1892 1891 6032 + 1928 1891 1927 6032 + 6032 1928 1892 6033 + 1929 1893 1892 6033 + 1929 1892 1928 6033 + 6033 1929 1893 6034 + 1930 1894 1893 6034 + 1930 1893 1929 6034 + 6034 1930 1894 6035 + 1931 1895 1894 6035 + 1931 1894 1930 6035 + 6035 1931 1895 6036 + 1932 1896 1895 6036 + 1932 1895 1931 6036 + 6036 1932 1896 6037 + 1933 1897 1896 6037 + 1933 1896 1932 6037 + 6037 1933 1897 6038 + 1934 1898 1897 6038 + 1934 1897 1933 6038 + 6038 1934 1898 6039 + 1935 1899 1898 6039 + 1935 1898 1934 6039 + 6039 1935 1899 6040 + 1936 1900 1899 6040 + 1936 1899 1935 6040 + 6040 1936 1900 6041 + 1937 1901 1900 6041 + 1937 1900 1936 6041 + 6041 1937 1901 6042 + 1938 1902 1901 6042 + 1938 1901 1937 6042 + 6042 1938 1902 6043 + 1939 1903 1902 6043 + 1939 1902 1938 6043 + 6043 1939 1903 6044 + 1940 1904 1903 6044 + 1940 1903 1939 6044 + 6044 1940 1904 6045 + 1941 1905 1904 6045 + 1941 1904 1940 6045 + 6045 1941 1905 6046 + 1942 1906 1905 6046 + 1942 1905 1941 6046 + 6046 1942 1906 6047 + 1943 1907 1906 6047 + 1943 1906 1942 6047 + 6047 1943 1907 6048 + 1944 1908 1907 6048 + 1944 1907 1943 6048 + 6048 1944 1908 6049 + 1945 1909 1908 6049 + 1945 1908 1944 6049 + 6049 1945 1909 6050 + 1946 1910 1909 6050 + 1946 1909 1945 6050 + 163 49 48 6051 + 1947 1911 48 6051 + 1947 48 49 6051 + 6051 1947 1911 6052 + 1948 1912 1911 6052 + 1948 1911 1947 6052 + 6052 1948 1912 6053 + 1949 1913 1912 6053 + 1949 1912 1948 6053 + 6053 1949 1913 6054 + 1950 1914 1913 6054 + 1950 1913 1949 6054 + 6054 1950 1914 6055 + 1951 1915 1914 6055 + 1951 1914 1950 6055 + 6055 1951 1915 6056 + 1952 1916 1915 6056 + 1952 1915 1951 6056 + 6056 1952 1916 6057 + 1953 1917 1916 6057 + 1953 1916 1952 6057 + 6057 1953 1917 6058 + 1954 1918 1917 6058 + 1954 1917 1953 6058 + 6058 1954 1918 6059 + 1955 1919 1918 6059 + 1955 1918 1954 6059 + 6059 1955 1919 6060 + 1956 1920 1919 6060 + 1956 1919 1955 6060 + 6060 1956 1920 6061 + 1957 1921 1920 6061 + 1957 1920 1956 6061 + 6061 1957 1921 6062 + 1958 1922 1921 6062 + 1958 1921 1957 6062 + 6062 1958 1922 6063 + 1959 1923 1922 6063 + 1959 1922 1958 6063 + 6063 1959 1923 6064 + 1960 1924 1923 6064 + 1960 1923 1959 6064 + 6064 1960 1924 6065 + 1961 1925 1924 6065 + 1961 1924 1960 6065 + 6065 1961 1925 6066 + 1962 1926 1925 6066 + 1962 1925 1961 6066 + 6066 1962 1926 6067 + 1963 1927 1926 6067 + 1963 1926 1962 6067 + 6067 1963 1927 6068 + 1964 1928 1927 6068 + 1964 1927 1963 6068 + 6068 1964 1928 6069 + 1965 1929 1928 6069 + 1965 1928 1964 6069 + 6069 1965 1929 6070 + 1966 1930 1929 6070 + 1966 1929 1965 6070 + 6070 1966 1930 6071 + 1967 1931 1930 6071 + 1967 1930 1966 6071 + 6071 1967 1931 6072 + 1968 1932 1931 6072 + 1968 1931 1967 6072 + 6072 1968 1932 6073 + 1969 1933 1932 6073 + 1969 1932 1968 6073 + 6073 1969 1933 6074 + 1970 1934 1933 6074 + 1970 1933 1969 6074 + 6074 1970 1934 6075 + 1971 1935 1934 6075 + 1971 1934 1970 6075 + 6075 1971 1935 6076 + 1972 1936 1935 6076 + 1972 1935 1971 6076 + 6076 1972 1936 6077 + 1973 1937 1936 6077 + 1973 1936 1972 6077 + 6077 1973 1937 6078 + 1974 1938 1937 6078 + 1974 1937 1973 6078 + 6078 1974 1938 6079 + 1975 1939 1938 6079 + 1975 1938 1974 6079 + 6079 1975 1939 6080 + 1976 1940 1939 6080 + 1976 1939 1975 6080 + 6080 1976 1940 6081 + 1977 1941 1940 6081 + 1977 1940 1976 6081 + 6081 1977 1941 6082 + 1978 1942 1941 6082 + 1978 1941 1977 6082 + 6082 1978 1942 6083 + 1979 1943 1942 6083 + 1979 1942 1978 6083 + 6083 1979 1943 6084 + 1980 1944 1943 6084 + 1980 1943 1979 6084 + 6084 1980 1944 6085 + 1981 1945 1944 6085 + 1981 1944 1980 6085 + 6085 1981 1945 6086 + 1982 1946 1945 6086 + 1982 1945 1981 6086 + 1767 5907 5511 44 + 5511 5907 148 44 + 5907 159 148 44 + 1768 5908 5512 1767 + 5512 5908 5511 1767 + 5908 5907 5511 1767 + 1769 5909 5513 1768 + 5513 5909 5512 1768 + 5909 5908 5512 1768 + 1770 5910 5514 1769 + 5514 5910 5513 1769 + 5910 5909 5513 1769 + 1771 5911 5515 1770 + 5515 5911 5514 1770 + 5911 5910 5514 1770 + 1772 5912 5516 1771 + 5516 5912 5515 1771 + 5912 5911 5515 1771 + 1773 5913 5517 1772 + 5517 5913 5516 1772 + 5913 5912 5516 1772 + 1774 5914 5518 1773 + 5518 5914 5517 1773 + 5914 5913 5517 1773 + 1775 5915 5519 1774 + 5519 5915 5518 1774 + 5915 5914 5518 1774 + 1776 5916 5520 1775 + 5520 5916 5519 1775 + 5916 5915 5519 1775 + 1777 5917 5521 1776 + 5521 5917 5520 1776 + 5917 5916 5520 1776 + 1778 5918 5522 1777 + 5522 5918 5521 1777 + 5918 5917 5521 1777 + 1779 5919 5523 1778 + 5523 5919 5522 1778 + 5919 5918 5522 1778 + 1780 5920 5524 1779 + 5524 5920 5523 1779 + 5920 5919 5523 1779 + 1781 5921 5525 1780 + 5525 5921 5524 1780 + 5921 5920 5524 1780 + 1782 5922 5526 1781 + 5526 5922 5525 1781 + 5922 5921 5525 1781 + 1783 5923 5527 1782 + 5527 5923 5526 1782 + 5923 5922 5526 1782 + 1784 5924 5528 1783 + 5528 5924 5527 1783 + 5924 5923 5527 1783 + 1785 5925 5529 1784 + 5529 5925 5528 1784 + 5925 5924 5528 1784 + 1786 5926 5530 1785 + 5530 5926 5529 1785 + 5926 5925 5529 1785 + 1787 5927 5531 1786 + 5531 5927 5530 1786 + 5927 5926 5530 1786 + 1788 5928 5532 1787 + 5532 5928 5531 1787 + 5928 5927 5531 1787 + 1789 5929 5533 1788 + 5533 5929 5532 1788 + 5929 5928 5532 1788 + 1790 5930 5534 1789 + 5534 5930 5533 1789 + 5930 5929 5533 1789 + 1791 5931 5535 1790 + 5535 5931 5534 1790 + 5931 5930 5534 1790 + 1792 5932 5536 1791 + 5536 5932 5535 1791 + 5932 5931 5535 1791 + 1793 5933 5537 1792 + 5537 5933 5536 1792 + 5933 5932 5536 1792 + 1794 5934 5538 1793 + 5538 5934 5537 1793 + 5934 5933 5537 1793 + 1795 5935 5539 1794 + 5539 5935 5538 1794 + 5935 5934 5538 1794 + 1796 5936 5540 1795 + 5540 5936 5539 1795 + 5936 5935 5539 1795 + 1797 5937 5541 1796 + 5541 5937 5540 1796 + 5937 5936 5540 1796 + 1798 5938 5542 1797 + 5542 5938 5541 1797 + 5938 5937 5541 1797 + 1799 5939 5543 1798 + 5543 5939 5542 1798 + 5939 5938 5542 1798 + 1800 5940 5544 1799 + 5544 5940 5543 1799 + 5940 5939 5543 1799 + 1801 5941 5545 1800 + 5545 5941 5544 1800 + 5941 5940 5544 1800 + 1802 5942 5546 1801 + 5546 5942 5545 1801 + 5942 5941 5545 1801 + 1803 5943 5907 45 + 5907 5943 159 45 + 5943 160 159 45 + 1804 5944 5908 1803 + 5908 5944 5907 1803 + 5944 5943 5907 1803 + 1805 5945 5909 1804 + 5909 5945 5908 1804 + 5945 5944 5908 1804 + 1806 5946 5910 1805 + 5910 5946 5909 1805 + 5946 5945 5909 1805 + 1807 5947 5911 1806 + 5911 5947 5910 1806 + 5947 5946 5910 1806 + 1808 5948 5912 1807 + 5912 5948 5911 1807 + 5948 5947 5911 1807 + 1809 5949 5913 1808 + 5913 5949 5912 1808 + 5949 5948 5912 1808 + 1810 5950 5914 1809 + 5914 5950 5913 1809 + 5950 5949 5913 1809 + 1811 5951 5915 1810 + 5915 5951 5914 1810 + 5951 5950 5914 1810 + 1812 5952 5916 1811 + 5916 5952 5915 1811 + 5952 5951 5915 1811 + 1813 5953 5917 1812 + 5917 5953 5916 1812 + 5953 5952 5916 1812 + 1814 5954 5918 1813 + 5918 5954 5917 1813 + 5954 5953 5917 1813 + 1815 5955 5919 1814 + 5919 5955 5918 1814 + 5955 5954 5918 1814 + 1816 5956 5920 1815 + 5920 5956 5919 1815 + 5956 5955 5919 1815 + 1817 5957 5921 1816 + 5921 5957 5920 1816 + 5957 5956 5920 1816 + 1818 5958 5922 1817 + 5922 5958 5921 1817 + 5958 5957 5921 1817 + 1819 5959 5923 1818 + 5923 5959 5922 1818 + 5959 5958 5922 1818 + 1820 5960 5924 1819 + 5924 5960 5923 1819 + 5960 5959 5923 1819 + 1821 5961 5925 1820 + 5925 5961 5924 1820 + 5961 5960 5924 1820 + 1822 5962 5926 1821 + 5926 5962 5925 1821 + 5962 5961 5925 1821 + 1823 5963 5927 1822 + 5927 5963 5926 1822 + 5963 5962 5926 1822 + 1824 5964 5928 1823 + 5928 5964 5927 1823 + 5964 5963 5927 1823 + 1825 5965 5929 1824 + 5929 5965 5928 1824 + 5965 5964 5928 1824 + 1826 5966 5930 1825 + 5930 5966 5929 1825 + 5966 5965 5929 1825 + 1827 5967 5931 1826 + 5931 5967 5930 1826 + 5967 5966 5930 1826 + 1828 5968 5932 1827 + 5932 5968 5931 1827 + 5968 5967 5931 1827 + 1829 5969 5933 1828 + 5933 5969 5932 1828 + 5969 5968 5932 1828 + 1830 5970 5934 1829 + 5934 5970 5933 1829 + 5970 5969 5933 1829 + 1831 5971 5935 1830 + 5935 5971 5934 1830 + 5971 5970 5934 1830 + 1832 5972 5936 1831 + 5936 5972 5935 1831 + 5972 5971 5935 1831 + 1833 5973 5937 1832 + 5937 5973 5936 1832 + 5973 5972 5936 1832 + 1834 5974 5938 1833 + 5938 5974 5937 1833 + 5974 5973 5937 1833 + 1835 5975 5939 1834 + 5939 5975 5938 1834 + 5975 5974 5938 1834 + 1836 5976 5940 1835 + 5940 5976 5939 1835 + 5976 5975 5939 1835 + 1837 5977 5941 1836 + 5941 5977 5940 1836 + 5977 5976 5940 1836 + 1838 5978 5942 1837 + 5942 5978 5941 1837 + 5978 5977 5941 1837 + 1839 5979 5943 46 + 5943 5979 160 46 + 5979 161 160 46 + 1840 5980 5944 1839 + 5944 5980 5943 1839 + 5980 5979 5943 1839 + 1841 5981 5945 1840 + 5945 5981 5944 1840 + 5981 5980 5944 1840 + 1842 5982 5946 1841 + 5946 5982 5945 1841 + 5982 5981 5945 1841 + 1843 5983 5947 1842 + 5947 5983 5946 1842 + 5983 5982 5946 1842 + 1844 5984 5948 1843 + 5948 5984 5947 1843 + 5984 5983 5947 1843 + 1845 5985 5949 1844 + 5949 5985 5948 1844 + 5985 5984 5948 1844 + 1846 5986 5950 1845 + 5950 5986 5949 1845 + 5986 5985 5949 1845 + 1847 5987 5951 1846 + 5951 5987 5950 1846 + 5987 5986 5950 1846 + 1848 5988 5952 1847 + 5952 5988 5951 1847 + 5988 5987 5951 1847 + 1849 5989 5953 1848 + 5953 5989 5952 1848 + 5989 5988 5952 1848 + 1850 5990 5954 1849 + 5954 5990 5953 1849 + 5990 5989 5953 1849 + 1851 5991 5955 1850 + 5955 5991 5954 1850 + 5991 5990 5954 1850 + 1852 5992 5956 1851 + 5956 5992 5955 1851 + 5992 5991 5955 1851 + 1853 5993 5957 1852 + 5957 5993 5956 1852 + 5993 5992 5956 1852 + 1854 5994 5958 1853 + 5958 5994 5957 1853 + 5994 5993 5957 1853 + 1855 5995 5959 1854 + 5959 5995 5958 1854 + 5995 5994 5958 1854 + 1856 5996 5960 1855 + 5960 5996 5959 1855 + 5996 5995 5959 1855 + 1857 5997 5961 1856 + 5961 5997 5960 1856 + 5997 5996 5960 1856 + 1858 5998 5962 1857 + 5962 5998 5961 1857 + 5998 5997 5961 1857 + 1859 5999 5963 1858 + 5963 5999 5962 1858 + 5999 5998 5962 1858 + 1860 6000 5964 1859 + 5964 6000 5963 1859 + 6000 5999 5963 1859 + 1861 6001 5965 1860 + 5965 6001 5964 1860 + 6001 6000 5964 1860 + 1862 6002 5966 1861 + 5966 6002 5965 1861 + 6002 6001 5965 1861 + 1863 6003 5967 1862 + 5967 6003 5966 1862 + 6003 6002 5966 1862 + 1864 6004 5968 1863 + 5968 6004 5967 1863 + 6004 6003 5967 1863 + 1865 6005 5969 1864 + 5969 6005 5968 1864 + 6005 6004 5968 1864 + 1866 6006 5970 1865 + 5970 6006 5969 1865 + 6006 6005 5969 1865 + 1867 6007 5971 1866 + 5971 6007 5970 1866 + 6007 6006 5970 1866 + 1868 6008 5972 1867 + 5972 6008 5971 1867 + 6008 6007 5971 1867 + 1869 6009 5973 1868 + 5973 6009 5972 1868 + 6009 6008 5972 1868 + 1870 6010 5974 1869 + 5974 6010 5973 1869 + 6010 6009 5973 1869 + 1871 6011 5975 1870 + 5975 6011 5974 1870 + 6011 6010 5974 1870 + 1872 6012 5976 1871 + 5976 6012 5975 1871 + 6012 6011 5975 1871 + 1873 6013 5977 1872 + 5977 6013 5976 1872 + 6013 6012 5976 1872 + 1874 6014 5978 1873 + 5978 6014 5977 1873 + 6014 6013 5977 1873 + 1875 6015 5979 47 + 5979 6015 161 47 + 6015 162 161 47 + 1876 6016 5980 1875 + 5980 6016 5979 1875 + 6016 6015 5979 1875 + 1877 6017 5981 1876 + 5981 6017 5980 1876 + 6017 6016 5980 1876 + 1878 6018 5982 1877 + 5982 6018 5981 1877 + 6018 6017 5981 1877 + 1879 6019 5983 1878 + 5983 6019 5982 1878 + 6019 6018 5982 1878 + 1880 6020 5984 1879 + 5984 6020 5983 1879 + 6020 6019 5983 1879 + 1881 6021 5985 1880 + 5985 6021 5984 1880 + 6021 6020 5984 1880 + 1882 6022 5986 1881 + 5986 6022 5985 1881 + 6022 6021 5985 1881 + 1883 6023 5987 1882 + 5987 6023 5986 1882 + 6023 6022 5986 1882 + 1884 6024 5988 1883 + 5988 6024 5987 1883 + 6024 6023 5987 1883 + 1885 6025 5989 1884 + 5989 6025 5988 1884 + 6025 6024 5988 1884 + 1886 6026 5990 1885 + 5990 6026 5989 1885 + 6026 6025 5989 1885 + 1887 6027 5991 1886 + 5991 6027 5990 1886 + 6027 6026 5990 1886 + 1888 6028 5992 1887 + 5992 6028 5991 1887 + 6028 6027 5991 1887 + 1889 6029 5993 1888 + 5993 6029 5992 1888 + 6029 6028 5992 1888 + 1890 6030 5994 1889 + 5994 6030 5993 1889 + 6030 6029 5993 1889 + 1891 6031 5995 1890 + 5995 6031 5994 1890 + 6031 6030 5994 1890 + 1892 6032 5996 1891 + 5996 6032 5995 1891 + 6032 6031 5995 1891 + 1893 6033 5997 1892 + 5997 6033 5996 1892 + 6033 6032 5996 1892 + 1894 6034 5998 1893 + 5998 6034 5997 1893 + 6034 6033 5997 1893 + 1895 6035 5999 1894 + 5999 6035 5998 1894 + 6035 6034 5998 1894 + 1896 6036 6000 1895 + 6000 6036 5999 1895 + 6036 6035 5999 1895 + 1897 6037 6001 1896 + 6001 6037 6000 1896 + 6037 6036 6000 1896 + 1898 6038 6002 1897 + 6002 6038 6001 1897 + 6038 6037 6001 1897 + 1899 6039 6003 1898 + 6003 6039 6002 1898 + 6039 6038 6002 1898 + 1900 6040 6004 1899 + 6004 6040 6003 1899 + 6040 6039 6003 1899 + 1901 6041 6005 1900 + 6005 6041 6004 1900 + 6041 6040 6004 1900 + 1902 6042 6006 1901 + 6006 6042 6005 1901 + 6042 6041 6005 1901 + 1903 6043 6007 1902 + 6007 6043 6006 1902 + 6043 6042 6006 1902 + 1904 6044 6008 1903 + 6008 6044 6007 1903 + 6044 6043 6007 1903 + 1905 6045 6009 1904 + 6009 6045 6008 1904 + 6045 6044 6008 1904 + 1906 6046 6010 1905 + 6010 6046 6009 1905 + 6046 6045 6009 1905 + 1907 6047 6011 1906 + 6011 6047 6010 1906 + 6047 6046 6010 1906 + 1908 6048 6012 1907 + 6012 6048 6011 1907 + 6048 6047 6011 1907 + 1909 6049 6013 1908 + 6013 6049 6012 1908 + 6049 6048 6012 1908 + 1910 6050 6014 1909 + 6014 6050 6013 1909 + 6050 6049 6013 1909 + 1911 6051 6015 48 + 6015 6051 162 48 + 6051 163 162 48 + 1912 6052 6016 1911 + 6016 6052 6015 1911 + 6052 6051 6015 1911 + 1913 6053 6017 1912 + 6017 6053 6016 1912 + 6053 6052 6016 1912 + 1914 6054 6018 1913 + 6018 6054 6017 1913 + 6054 6053 6017 1913 + 1915 6055 6019 1914 + 6019 6055 6018 1914 + 6055 6054 6018 1914 + 1916 6056 6020 1915 + 6020 6056 6019 1915 + 6056 6055 6019 1915 + 1917 6057 6021 1916 + 6021 6057 6020 1916 + 6057 6056 6020 1916 + 1918 6058 6022 1917 + 6022 6058 6021 1917 + 6058 6057 6021 1917 + 1919 6059 6023 1918 + 6023 6059 6022 1918 + 6059 6058 6022 1918 + 1920 6060 6024 1919 + 6024 6060 6023 1919 + 6060 6059 6023 1919 + 1921 6061 6025 1920 + 6025 6061 6024 1920 + 6061 6060 6024 1920 + 1922 6062 6026 1921 + 6026 6062 6025 1921 + 6062 6061 6025 1921 + 1923 6063 6027 1922 + 6027 6063 6026 1922 + 6063 6062 6026 1922 + 1924 6064 6028 1923 + 6028 6064 6027 1923 + 6064 6063 6027 1923 + 1925 6065 6029 1924 + 6029 6065 6028 1924 + 6065 6064 6028 1924 + 1926 6066 6030 1925 + 6030 6066 6029 1925 + 6066 6065 6029 1925 + 1927 6067 6031 1926 + 6031 6067 6030 1926 + 6067 6066 6030 1926 + 1928 6068 6032 1927 + 6032 6068 6031 1927 + 6068 6067 6031 1927 + 1929 6069 6033 1928 + 6033 6069 6032 1928 + 6069 6068 6032 1928 + 1930 6070 6034 1929 + 6034 6070 6033 1929 + 6070 6069 6033 1929 + 1931 6071 6035 1930 + 6035 6071 6034 1930 + 6071 6070 6034 1930 + 1932 6072 6036 1931 + 6036 6072 6035 1931 + 6072 6071 6035 1931 + 1933 6073 6037 1932 + 6037 6073 6036 1932 + 6073 6072 6036 1932 + 1934 6074 6038 1933 + 6038 6074 6037 1933 + 6074 6073 6037 1933 + 1935 6075 6039 1934 + 6039 6075 6038 1934 + 6075 6074 6038 1934 + 1936 6076 6040 1935 + 6040 6076 6039 1935 + 6076 6075 6039 1935 + 1937 6077 6041 1936 + 6041 6077 6040 1936 + 6077 6076 6040 1936 + 1938 6078 6042 1937 + 6042 6078 6041 1937 + 6078 6077 6041 1937 + 1939 6079 6043 1938 + 6043 6079 6042 1938 + 6079 6078 6042 1938 + 1940 6080 6044 1939 + 6044 6080 6043 1939 + 6080 6079 6043 1939 + 1941 6081 6045 1940 + 6045 6081 6044 1940 + 6081 6080 6044 1940 + 1942 6082 6046 1941 + 6046 6082 6045 1941 + 6082 6081 6045 1941 + 1943 6083 6047 1942 + 6047 6083 6046 1942 + 6083 6082 6046 1942 + 1944 6084 6048 1943 + 6048 6084 6047 1943 + 6084 6083 6047 1943 + 1945 6085 6049 1944 + 6049 6085 6048 1944 + 6085 6084 6048 1944 + 1946 6086 6050 1945 + 6050 6086 6049 1945 + 6086 6085 6049 1945 + 128 164 149 4791 + 6087 5547 149 4791 + 6087 149 164 4791 + 4791 6087 5547 4792 + 6088 5548 5547 4792 + 6088 5547 6087 4792 + 4792 6088 5548 4793 + 6089 5549 5548 4793 + 6089 5548 6088 4793 + 4793 6089 5549 4794 + 6090 5550 5549 4794 + 6090 5549 6089 4794 + 4794 6090 5550 4795 + 6091 5551 5550 4795 + 6091 5550 6090 4795 + 4795 6091 5551 4796 + 6092 5552 5551 4796 + 6092 5551 6091 4796 + 4796 6092 5552 4797 + 6093 5553 5552 4797 + 6093 5552 6092 4797 + 4797 6093 5553 4798 + 6094 5554 5553 4798 + 6094 5553 6093 4798 + 4798 6094 5554 4799 + 6095 5555 5554 4799 + 6095 5554 6094 4799 + 4799 6095 5555 4800 + 6096 5556 5555 4800 + 6096 5555 6095 4800 + 4800 6096 5556 4801 + 6097 5557 5556 4801 + 6097 5556 6096 4801 + 4801 6097 5557 4802 + 6098 5558 5557 4802 + 6098 5557 6097 4802 + 4802 6098 5558 4803 + 6099 5559 5558 4803 + 6099 5558 6098 4803 + 4803 6099 5559 4804 + 6100 5560 5559 4804 + 6100 5559 6099 4804 + 4804 6100 5560 4805 + 6101 5561 5560 4805 + 6101 5560 6100 4805 + 4805 6101 5561 4806 + 6102 5562 5561 4806 + 6102 5561 6101 4806 + 4806 6102 5562 4807 + 6103 5563 5562 4807 + 6103 5562 6102 4807 + 4807 6103 5563 4808 + 6104 5564 5563 4808 + 6104 5563 6103 4808 + 4808 6104 5564 4809 + 6105 5565 5564 4809 + 6105 5564 6104 4809 + 4809 6105 5565 4810 + 6106 5566 5565 4810 + 6106 5565 6105 4810 + 4810 6106 5566 4811 + 6107 5567 5566 4811 + 6107 5566 6106 4811 + 4811 6107 5567 4812 + 6108 5568 5567 4812 + 6108 5567 6107 4812 + 4812 6108 5568 4813 + 6109 5569 5568 4813 + 6109 5568 6108 4813 + 4813 6109 5569 4814 + 6110 5570 5569 4814 + 6110 5569 6109 4814 + 4814 6110 5570 4815 + 6111 5571 5570 4815 + 6111 5570 6110 4815 + 4815 6111 5571 4816 + 6112 5572 5571 4816 + 6112 5571 6111 4816 + 4816 6112 5572 4817 + 6113 5573 5572 4817 + 6113 5572 6112 4817 + 4817 6113 5573 4818 + 6114 5574 5573 4818 + 6114 5573 6113 4818 + 4818 6114 5574 4819 + 6115 5575 5574 4819 + 6115 5574 6114 4819 + 4819 6115 5575 4820 + 6116 5576 5575 4820 + 6116 5575 6115 4820 + 4820 6116 5576 4821 + 6117 5577 5576 4821 + 6117 5576 6116 4821 + 4821 6117 5577 4822 + 6118 5578 5577 4822 + 6118 5577 6117 4822 + 4822 6118 5578 4823 + 6119 5579 5578 4823 + 6119 5578 6118 4823 + 4823 6119 5579 4824 + 6120 5580 5579 4824 + 6120 5579 6119 4824 + 4824 6120 5580 4825 + 6121 5581 5580 4825 + 6121 5580 6120 4825 + 4825 6121 5581 4826 + 6122 5582 5581 4826 + 6122 5581 6121 4826 + 149 165 151 5547 + 6123 5619 151 5547 + 6123 151 165 5547 + 5547 6123 5619 5548 + 6124 5620 5619 5548 + 6124 5619 6123 5548 + 5548 6124 5620 5549 + 6125 5621 5620 5549 + 6125 5620 6124 5549 + 5549 6125 5621 5550 + 6126 5622 5621 5550 + 6126 5621 6125 5550 + 5550 6126 5622 5551 + 6127 5623 5622 5551 + 6127 5622 6126 5551 + 5551 6127 5623 5552 + 6128 5624 5623 5552 + 6128 5623 6127 5552 + 5552 6128 5624 5553 + 6129 5625 5624 5553 + 6129 5624 6128 5553 + 5553 6129 5625 5554 + 6130 5626 5625 5554 + 6130 5625 6129 5554 + 5554 6130 5626 5555 + 6131 5627 5626 5555 + 6131 5626 6130 5555 + 5555 6131 5627 5556 + 6132 5628 5627 5556 + 6132 5627 6131 5556 + 5556 6132 5628 5557 + 6133 5629 5628 5557 + 6133 5628 6132 5557 + 5557 6133 5629 5558 + 6134 5630 5629 5558 + 6134 5629 6133 5558 + 5558 6134 5630 5559 + 6135 5631 5630 5559 + 6135 5630 6134 5559 + 5559 6135 5631 5560 + 6136 5632 5631 5560 + 6136 5631 6135 5560 + 5560 6136 5632 5561 + 6137 5633 5632 5561 + 6137 5632 6136 5561 + 5561 6137 5633 5562 + 6138 5634 5633 5562 + 6138 5633 6137 5562 + 5562 6138 5634 5563 + 6139 5635 5634 5563 + 6139 5634 6138 5563 + 5563 6139 5635 5564 + 6140 5636 5635 5564 + 6140 5635 6139 5564 + 5564 6140 5636 5565 + 6141 5637 5636 5565 + 6141 5636 6140 5565 + 5565 6141 5637 5566 + 6142 5638 5637 5566 + 6142 5637 6141 5566 + 5566 6142 5638 5567 + 6143 5639 5638 5567 + 6143 5638 6142 5567 + 5567 6143 5639 5568 + 6144 5640 5639 5568 + 6144 5639 6143 5568 + 5568 6144 5640 5569 + 6145 5641 5640 5569 + 6145 5640 6144 5569 + 5569 6145 5641 5570 + 6146 5642 5641 5570 + 6146 5641 6145 5570 + 5570 6146 5642 5571 + 6147 5643 5642 5571 + 6147 5642 6146 5571 + 5571 6147 5643 5572 + 6148 5644 5643 5572 + 6148 5643 6147 5572 + 5572 6148 5644 5573 + 6149 5645 5644 5573 + 6149 5644 6148 5573 + 5573 6149 5645 5574 + 6150 5646 5645 5574 + 6150 5645 6149 5574 + 5574 6150 5646 5575 + 6151 5647 5646 5575 + 6151 5646 6150 5575 + 5575 6151 5647 5576 + 6152 5648 5647 5576 + 6152 5647 6151 5576 + 5576 6152 5648 5577 + 6153 5649 5648 5577 + 6153 5648 6152 5577 + 5577 6153 5649 5578 + 6154 5650 5649 5578 + 6154 5649 6153 5578 + 5578 6154 5650 5579 + 6155 5651 5650 5579 + 6155 5650 6154 5579 + 5579 6155 5651 5580 + 6156 5652 5651 5580 + 6156 5651 6155 5580 + 5580 6156 5652 5581 + 6157 5653 5652 5581 + 6157 5652 6156 5581 + 5581 6157 5653 5582 + 6158 5654 5653 5582 + 6158 5653 6157 5582 + 164 166 165 6087 + 6159 6123 165 6087 + 6159 165 166 6087 + 6087 6159 6123 6088 + 6160 6124 6123 6088 + 6160 6123 6159 6088 + 6088 6160 6124 6089 + 6161 6125 6124 6089 + 6161 6124 6160 6089 + 6089 6161 6125 6090 + 6162 6126 6125 6090 + 6162 6125 6161 6090 + 6090 6162 6126 6091 + 6163 6127 6126 6091 + 6163 6126 6162 6091 + 6091 6163 6127 6092 + 6164 6128 6127 6092 + 6164 6127 6163 6092 + 6092 6164 6128 6093 + 6165 6129 6128 6093 + 6165 6128 6164 6093 + 6093 6165 6129 6094 + 6166 6130 6129 6094 + 6166 6129 6165 6094 + 6094 6166 6130 6095 + 6167 6131 6130 6095 + 6167 6130 6166 6095 + 6095 6167 6131 6096 + 6168 6132 6131 6096 + 6168 6131 6167 6096 + 6096 6168 6132 6097 + 6169 6133 6132 6097 + 6169 6132 6168 6097 + 6097 6169 6133 6098 + 6170 6134 6133 6098 + 6170 6133 6169 6098 + 6098 6170 6134 6099 + 6171 6135 6134 6099 + 6171 6134 6170 6099 + 6099 6171 6135 6100 + 6172 6136 6135 6100 + 6172 6135 6171 6100 + 6100 6172 6136 6101 + 6173 6137 6136 6101 + 6173 6136 6172 6101 + 6101 6173 6137 6102 + 6174 6138 6137 6102 + 6174 6137 6173 6102 + 6102 6174 6138 6103 + 6175 6139 6138 6103 + 6175 6138 6174 6103 + 6103 6175 6139 6104 + 6176 6140 6139 6104 + 6176 6139 6175 6104 + 6104 6176 6140 6105 + 6177 6141 6140 6105 + 6177 6140 6176 6105 + 6105 6177 6141 6106 + 6178 6142 6141 6106 + 6178 6141 6177 6106 + 6106 6178 6142 6107 + 6179 6143 6142 6107 + 6179 6142 6178 6107 + 6107 6179 6143 6108 + 6180 6144 6143 6108 + 6180 6143 6179 6108 + 6108 6180 6144 6109 + 6181 6145 6144 6109 + 6181 6144 6180 6109 + 6109 6181 6145 6110 + 6182 6146 6145 6110 + 6182 6145 6181 6110 + 6110 6182 6146 6111 + 6183 6147 6146 6111 + 6183 6146 6182 6111 + 6111 6183 6147 6112 + 6184 6148 6147 6112 + 6184 6147 6183 6112 + 6112 6184 6148 6113 + 6185 6149 6148 6113 + 6185 6148 6184 6113 + 6113 6185 6149 6114 + 6186 6150 6149 6114 + 6186 6149 6185 6114 + 6114 6186 6150 6115 + 6187 6151 6150 6115 + 6187 6150 6186 6115 + 6115 6187 6151 6116 + 6188 6152 6151 6116 + 6188 6151 6187 6116 + 6116 6188 6152 6117 + 6189 6153 6152 6117 + 6189 6152 6188 6117 + 6117 6189 6153 6118 + 6190 6154 6153 6118 + 6190 6153 6189 6118 + 6118 6190 6154 6119 + 6191 6155 6154 6119 + 6191 6154 6190 6119 + 6119 6191 6155 6120 + 6192 6156 6155 6120 + 6192 6155 6191 6120 + 6120 6192 6156 6121 + 6193 6157 6156 6121 + 6193 6156 6192 6121 + 6121 6193 6157 6122 + 6194 6158 6157 6122 + 6194 6157 6193 6122 + 6123 6087 5547 165 + 5547 6087 149 165 + 6087 164 149 165 + 6124 6088 5548 6123 + 5548 6088 5547 6123 + 6088 6087 5547 6123 + 6125 6089 5549 6124 + 5549 6089 5548 6124 + 6089 6088 5548 6124 + 6126 6090 5550 6125 + 5550 6090 5549 6125 + 6090 6089 5549 6125 + 6127 6091 5551 6126 + 5551 6091 5550 6126 + 6091 6090 5550 6126 + 6128 6092 5552 6127 + 5552 6092 5551 6127 + 6092 6091 5551 6127 + 6129 6093 5553 6128 + 5553 6093 5552 6128 + 6093 6092 5552 6128 + 6130 6094 5554 6129 + 5554 6094 5553 6129 + 6094 6093 5553 6129 + 6131 6095 5555 6130 + 5555 6095 5554 6130 + 6095 6094 5554 6130 + 6132 6096 5556 6131 + 5556 6096 5555 6131 + 6096 6095 5555 6131 + 6133 6097 5557 6132 + 5557 6097 5556 6132 + 6097 6096 5556 6132 + 6134 6098 5558 6133 + 5558 6098 5557 6133 + 6098 6097 5557 6133 + 6135 6099 5559 6134 + 5559 6099 5558 6134 + 6099 6098 5558 6134 + 6136 6100 5560 6135 + 5560 6100 5559 6135 + 6100 6099 5559 6135 + 6137 6101 5561 6136 + 5561 6101 5560 6136 + 6101 6100 5560 6136 + 6138 6102 5562 6137 + 5562 6102 5561 6137 + 6102 6101 5561 6137 + 6139 6103 5563 6138 + 5563 6103 5562 6138 + 6103 6102 5562 6138 + 6140 6104 5564 6139 + 5564 6104 5563 6139 + 6104 6103 5563 6139 + 6141 6105 5565 6140 + 5565 6105 5564 6140 + 6105 6104 5564 6140 + 6142 6106 5566 6141 + 5566 6106 5565 6141 + 6106 6105 5565 6141 + 6143 6107 5567 6142 + 5567 6107 5566 6142 + 6107 6106 5566 6142 + 6144 6108 5568 6143 + 5568 6108 5567 6143 + 6108 6107 5567 6143 + 6145 6109 5569 6144 + 5569 6109 5568 6144 + 6109 6108 5568 6144 + 6146 6110 5570 6145 + 5570 6110 5569 6145 + 6110 6109 5569 6145 + 6147 6111 5571 6146 + 5571 6111 5570 6146 + 6111 6110 5570 6146 + 6148 6112 5572 6147 + 5572 6112 5571 6147 + 6112 6111 5571 6147 + 6149 6113 5573 6148 + 5573 6113 5572 6148 + 6113 6112 5572 6148 + 6150 6114 5574 6149 + 5574 6114 5573 6149 + 6114 6113 5573 6149 + 6151 6115 5575 6150 + 5575 6115 5574 6150 + 6115 6114 5574 6150 + 6152 6116 5576 6151 + 5576 6116 5575 6151 + 6116 6115 5575 6151 + 6153 6117 5577 6152 + 5577 6117 5576 6152 + 6117 6116 5576 6152 + 6154 6118 5578 6153 + 5578 6118 5577 6153 + 6118 6117 5577 6153 + 6155 6119 5579 6154 + 5579 6119 5578 6154 + 6119 6118 5578 6154 + 6156 6120 5580 6155 + 5580 6120 5579 6155 + 6120 6119 5579 6155 + 6157 6121 5581 6156 + 5581 6121 5580 6156 + 6121 6120 5580 6156 + 6158 6122 5582 6157 + 5582 6122 5581 6157 + 6122 6121 5581 6157 + 151 167 154 5619 + 6195 5727 154 5619 + 6195 154 167 5619 + 5619 6195 5727 5620 + 6196 5728 5727 5620 + 6196 5727 6195 5620 + 5620 6196 5728 5621 + 6197 5729 5728 5621 + 6197 5728 6196 5621 + 5621 6197 5729 5622 + 6198 5730 5729 5622 + 6198 5729 6197 5622 + 5622 6198 5730 5623 + 6199 5731 5730 5623 + 6199 5730 6198 5623 + 5623 6199 5731 5624 + 6200 5732 5731 5624 + 6200 5731 6199 5624 + 5624 6200 5732 5625 + 6201 5733 5732 5625 + 6201 5732 6200 5625 + 5625 6201 5733 5626 + 6202 5734 5733 5626 + 6202 5733 6201 5626 + 5626 6202 5734 5627 + 6203 5735 5734 5627 + 6203 5734 6202 5627 + 5627 6203 5735 5628 + 6204 5736 5735 5628 + 6204 5735 6203 5628 + 5628 6204 5736 5629 + 6205 5737 5736 5629 + 6205 5736 6204 5629 + 5629 6205 5737 5630 + 6206 5738 5737 5630 + 6206 5737 6205 5630 + 5630 6206 5738 5631 + 6207 5739 5738 5631 + 6207 5738 6206 5631 + 5631 6207 5739 5632 + 6208 5740 5739 5632 + 6208 5739 6207 5632 + 5632 6208 5740 5633 + 6209 5741 5740 5633 + 6209 5740 6208 5633 + 5633 6209 5741 5634 + 6210 5742 5741 5634 + 6210 5741 6209 5634 + 5634 6210 5742 5635 + 6211 5743 5742 5635 + 6211 5742 6210 5635 + 5635 6211 5743 5636 + 6212 5744 5743 5636 + 6212 5743 6211 5636 + 5636 6212 5744 5637 + 6213 5745 5744 5637 + 6213 5744 6212 5637 + 5637 6213 5745 5638 + 6214 5746 5745 5638 + 6214 5745 6213 5638 + 5638 6214 5746 5639 + 6215 5747 5746 5639 + 6215 5746 6214 5639 + 5639 6215 5747 5640 + 6216 5748 5747 5640 + 6216 5747 6215 5640 + 5640 6216 5748 5641 + 6217 5749 5748 5641 + 6217 5748 6216 5641 + 5641 6217 5749 5642 + 6218 5750 5749 5642 + 6218 5749 6217 5642 + 5642 6218 5750 5643 + 6219 5751 5750 5643 + 6219 5750 6218 5643 + 5643 6219 5751 5644 + 6220 5752 5751 5644 + 6220 5751 6219 5644 + 5644 6220 5752 5645 + 6221 5753 5752 5645 + 6221 5752 6220 5645 + 5645 6221 5753 5646 + 6222 5754 5753 5646 + 6222 5753 6221 5646 + 5646 6222 5754 5647 + 6223 5755 5754 5647 + 6223 5754 6222 5647 + 5647 6223 5755 5648 + 6224 5756 5755 5648 + 6224 5755 6223 5648 + 5648 6224 5756 5649 + 6225 5757 5756 5649 + 6225 5756 6224 5649 + 5649 6225 5757 5650 + 6226 5758 5757 5650 + 6226 5757 6225 5650 + 5650 6226 5758 5651 + 6227 5759 5758 5651 + 6227 5758 6226 5651 + 5651 6227 5759 5652 + 6228 5760 5759 5652 + 6228 5759 6227 5652 + 5652 6228 5760 5653 + 6229 5761 5760 5653 + 6229 5760 6228 5653 + 5653 6229 5761 5654 + 6230 5762 5761 5654 + 6230 5761 6229 5654 + 165 168 167 6123 + 6231 6195 167 6123 + 6231 167 168 6123 + 6123 6231 6195 6124 + 6232 6196 6195 6124 + 6232 6195 6231 6124 + 6124 6232 6196 6125 + 6233 6197 6196 6125 + 6233 6196 6232 6125 + 6125 6233 6197 6126 + 6234 6198 6197 6126 + 6234 6197 6233 6126 + 6126 6234 6198 6127 + 6235 6199 6198 6127 + 6235 6198 6234 6127 + 6127 6235 6199 6128 + 6236 6200 6199 6128 + 6236 6199 6235 6128 + 6128 6236 6200 6129 + 6237 6201 6200 6129 + 6237 6200 6236 6129 + 6129 6237 6201 6130 + 6238 6202 6201 6130 + 6238 6201 6237 6130 + 6130 6238 6202 6131 + 6239 6203 6202 6131 + 6239 6202 6238 6131 + 6131 6239 6203 6132 + 6240 6204 6203 6132 + 6240 6203 6239 6132 + 6132 6240 6204 6133 + 6241 6205 6204 6133 + 6241 6204 6240 6133 + 6133 6241 6205 6134 + 6242 6206 6205 6134 + 6242 6205 6241 6134 + 6134 6242 6206 6135 + 6243 6207 6206 6135 + 6243 6206 6242 6135 + 6135 6243 6207 6136 + 6244 6208 6207 6136 + 6244 6207 6243 6136 + 6136 6244 6208 6137 + 6245 6209 6208 6137 + 6245 6208 6244 6137 + 6137 6245 6209 6138 + 6246 6210 6209 6138 + 6246 6209 6245 6138 + 6138 6246 6210 6139 + 6247 6211 6210 6139 + 6247 6210 6246 6139 + 6139 6247 6211 6140 + 6248 6212 6211 6140 + 6248 6211 6247 6140 + 6140 6248 6212 6141 + 6249 6213 6212 6141 + 6249 6212 6248 6141 + 6141 6249 6213 6142 + 6250 6214 6213 6142 + 6250 6213 6249 6142 + 6142 6250 6214 6143 + 6251 6215 6214 6143 + 6251 6214 6250 6143 + 6143 6251 6215 6144 + 6252 6216 6215 6144 + 6252 6215 6251 6144 + 6144 6252 6216 6145 + 6253 6217 6216 6145 + 6253 6216 6252 6145 + 6145 6253 6217 6146 + 6254 6218 6217 6146 + 6254 6217 6253 6146 + 6146 6254 6218 6147 + 6255 6219 6218 6147 + 6255 6218 6254 6147 + 6147 6255 6219 6148 + 6256 6220 6219 6148 + 6256 6219 6255 6148 + 6148 6256 6220 6149 + 6257 6221 6220 6149 + 6257 6220 6256 6149 + 6149 6257 6221 6150 + 6258 6222 6221 6150 + 6258 6221 6257 6150 + 6150 6258 6222 6151 + 6259 6223 6222 6151 + 6259 6222 6258 6151 + 6151 6259 6223 6152 + 6260 6224 6223 6152 + 6260 6223 6259 6152 + 6152 6260 6224 6153 + 6261 6225 6224 6153 + 6261 6224 6260 6153 + 6153 6261 6225 6154 + 6262 6226 6225 6154 + 6262 6225 6261 6154 + 6154 6262 6226 6155 + 6263 6227 6226 6155 + 6263 6226 6262 6155 + 6155 6263 6227 6156 + 6264 6228 6227 6156 + 6264 6227 6263 6156 + 6156 6264 6228 6157 + 6265 6229 6228 6157 + 6265 6228 6264 6157 + 6157 6265 6229 6158 + 6266 6230 6229 6158 + 6266 6229 6265 6158 + 166 169 168 6159 + 6267 6231 168 6159 + 6267 168 169 6159 + 6159 6267 6231 6160 + 6268 6232 6231 6160 + 6268 6231 6267 6160 + 6160 6268 6232 6161 + 6269 6233 6232 6161 + 6269 6232 6268 6161 + 6161 6269 6233 6162 + 6270 6234 6233 6162 + 6270 6233 6269 6162 + 6162 6270 6234 6163 + 6271 6235 6234 6163 + 6271 6234 6270 6163 + 6163 6271 6235 6164 + 6272 6236 6235 6164 + 6272 6235 6271 6164 + 6164 6272 6236 6165 + 6273 6237 6236 6165 + 6273 6236 6272 6165 + 6165 6273 6237 6166 + 6274 6238 6237 6166 + 6274 6237 6273 6166 + 6166 6274 6238 6167 + 6275 6239 6238 6167 + 6275 6238 6274 6167 + 6167 6275 6239 6168 + 6276 6240 6239 6168 + 6276 6239 6275 6168 + 6168 6276 6240 6169 + 6277 6241 6240 6169 + 6277 6240 6276 6169 + 6169 6277 6241 6170 + 6278 6242 6241 6170 + 6278 6241 6277 6170 + 6170 6278 6242 6171 + 6279 6243 6242 6171 + 6279 6242 6278 6171 + 6171 6279 6243 6172 + 6280 6244 6243 6172 + 6280 6243 6279 6172 + 6172 6280 6244 6173 + 6281 6245 6244 6173 + 6281 6244 6280 6173 + 6173 6281 6245 6174 + 6282 6246 6245 6174 + 6282 6245 6281 6174 + 6174 6282 6246 6175 + 6283 6247 6246 6175 + 6283 6246 6282 6175 + 6175 6283 6247 6176 + 6284 6248 6247 6176 + 6284 6247 6283 6176 + 6176 6284 6248 6177 + 6285 6249 6248 6177 + 6285 6248 6284 6177 + 6177 6285 6249 6178 + 6286 6250 6249 6178 + 6286 6249 6285 6178 + 6178 6286 6250 6179 + 6287 6251 6250 6179 + 6287 6250 6286 6179 + 6179 6287 6251 6180 + 6288 6252 6251 6180 + 6288 6251 6287 6180 + 6180 6288 6252 6181 + 6289 6253 6252 6181 + 6289 6252 6288 6181 + 6181 6289 6253 6182 + 6290 6254 6253 6182 + 6290 6253 6289 6182 + 6182 6290 6254 6183 + 6291 6255 6254 6183 + 6291 6254 6290 6183 + 6183 6291 6255 6184 + 6292 6256 6255 6184 + 6292 6255 6291 6184 + 6184 6292 6256 6185 + 6293 6257 6256 6185 + 6293 6256 6292 6185 + 6185 6293 6257 6186 + 6294 6258 6257 6186 + 6294 6257 6293 6186 + 6186 6294 6258 6187 + 6295 6259 6258 6187 + 6295 6258 6294 6187 + 6187 6295 6259 6188 + 6296 6260 6259 6188 + 6296 6259 6295 6188 + 6188 6296 6260 6189 + 6297 6261 6260 6189 + 6297 6260 6296 6189 + 6189 6297 6261 6190 + 6298 6262 6261 6190 + 6298 6261 6297 6190 + 6190 6298 6262 6191 + 6299 6263 6262 6191 + 6299 6262 6298 6191 + 6191 6299 6263 6192 + 6300 6264 6263 6192 + 6300 6263 6299 6192 + 6192 6300 6264 6193 + 6301 6265 6264 6193 + 6301 6264 6300 6193 + 6193 6301 6265 6194 + 6302 6266 6265 6194 + 6302 6265 6301 6194 + 6195 6123 5619 167 + 5619 6123 151 167 + 6123 165 151 167 + 6196 6124 5620 6195 + 5620 6124 5619 6195 + 6124 6123 5619 6195 + 6197 6125 5621 6196 + 5621 6125 5620 6196 + 6125 6124 5620 6196 + 6198 6126 5622 6197 + 5622 6126 5621 6197 + 6126 6125 5621 6197 + 6199 6127 5623 6198 + 5623 6127 5622 6198 + 6127 6126 5622 6198 + 6200 6128 5624 6199 + 5624 6128 5623 6199 + 6128 6127 5623 6199 + 6201 6129 5625 6200 + 5625 6129 5624 6200 + 6129 6128 5624 6200 + 6202 6130 5626 6201 + 5626 6130 5625 6201 + 6130 6129 5625 6201 + 6203 6131 5627 6202 + 5627 6131 5626 6202 + 6131 6130 5626 6202 + 6204 6132 5628 6203 + 5628 6132 5627 6203 + 6132 6131 5627 6203 + 6205 6133 5629 6204 + 5629 6133 5628 6204 + 6133 6132 5628 6204 + 6206 6134 5630 6205 + 5630 6134 5629 6205 + 6134 6133 5629 6205 + 6207 6135 5631 6206 + 5631 6135 5630 6206 + 6135 6134 5630 6206 + 6208 6136 5632 6207 + 5632 6136 5631 6207 + 6136 6135 5631 6207 + 6209 6137 5633 6208 + 5633 6137 5632 6208 + 6137 6136 5632 6208 + 6210 6138 5634 6209 + 5634 6138 5633 6209 + 6138 6137 5633 6209 + 6211 6139 5635 6210 + 5635 6139 5634 6210 + 6139 6138 5634 6210 + 6212 6140 5636 6211 + 5636 6140 5635 6211 + 6140 6139 5635 6211 + 6213 6141 5637 6212 + 5637 6141 5636 6212 + 6141 6140 5636 6212 + 6214 6142 5638 6213 + 5638 6142 5637 6213 + 6142 6141 5637 6213 + 6215 6143 5639 6214 + 5639 6143 5638 6214 + 6143 6142 5638 6214 + 6216 6144 5640 6215 + 5640 6144 5639 6215 + 6144 6143 5639 6215 + 6217 6145 5641 6216 + 5641 6145 5640 6216 + 6145 6144 5640 6216 + 6218 6146 5642 6217 + 5642 6146 5641 6217 + 6146 6145 5641 6217 + 6219 6147 5643 6218 + 5643 6147 5642 6218 + 6147 6146 5642 6218 + 6220 6148 5644 6219 + 5644 6148 5643 6219 + 6148 6147 5643 6219 + 6221 6149 5645 6220 + 5645 6149 5644 6220 + 6149 6148 5644 6220 + 6222 6150 5646 6221 + 5646 6150 5645 6221 + 6150 6149 5645 6221 + 6223 6151 5647 6222 + 5647 6151 5646 6222 + 6151 6150 5646 6222 + 6224 6152 5648 6223 + 5648 6152 5647 6223 + 6152 6151 5647 6223 + 6225 6153 5649 6224 + 5649 6153 5648 6224 + 6153 6152 5648 6224 + 6226 6154 5650 6225 + 5650 6154 5649 6225 + 6154 6153 5649 6225 + 6227 6155 5651 6226 + 5651 6155 5650 6226 + 6155 6154 5650 6226 + 6228 6156 5652 6227 + 5652 6156 5651 6227 + 6156 6155 5651 6227 + 6229 6157 5653 6228 + 5653 6157 5652 6228 + 6157 6156 5652 6228 + 6230 6158 5654 6229 + 5654 6158 5653 6229 + 6158 6157 5653 6229 + 6231 6159 6123 168 + 6123 6159 165 168 + 6159 166 165 168 + 6232 6160 6124 6231 + 6124 6160 6123 6231 + 6160 6159 6123 6231 + 6233 6161 6125 6232 + 6125 6161 6124 6232 + 6161 6160 6124 6232 + 6234 6162 6126 6233 + 6126 6162 6125 6233 + 6162 6161 6125 6233 + 6235 6163 6127 6234 + 6127 6163 6126 6234 + 6163 6162 6126 6234 + 6236 6164 6128 6235 + 6128 6164 6127 6235 + 6164 6163 6127 6235 + 6237 6165 6129 6236 + 6129 6165 6128 6236 + 6165 6164 6128 6236 + 6238 6166 6130 6237 + 6130 6166 6129 6237 + 6166 6165 6129 6237 + 6239 6167 6131 6238 + 6131 6167 6130 6238 + 6167 6166 6130 6238 + 6240 6168 6132 6239 + 6132 6168 6131 6239 + 6168 6167 6131 6239 + 6241 6169 6133 6240 + 6133 6169 6132 6240 + 6169 6168 6132 6240 + 6242 6170 6134 6241 + 6134 6170 6133 6241 + 6170 6169 6133 6241 + 6243 6171 6135 6242 + 6135 6171 6134 6242 + 6171 6170 6134 6242 + 6244 6172 6136 6243 + 6136 6172 6135 6243 + 6172 6171 6135 6243 + 6245 6173 6137 6244 + 6137 6173 6136 6244 + 6173 6172 6136 6244 + 6246 6174 6138 6245 + 6138 6174 6137 6245 + 6174 6173 6137 6245 + 6247 6175 6139 6246 + 6139 6175 6138 6246 + 6175 6174 6138 6246 + 6248 6176 6140 6247 + 6140 6176 6139 6247 + 6176 6175 6139 6247 + 6249 6177 6141 6248 + 6141 6177 6140 6248 + 6177 6176 6140 6248 + 6250 6178 6142 6249 + 6142 6178 6141 6249 + 6178 6177 6141 6249 + 6251 6179 6143 6250 + 6143 6179 6142 6250 + 6179 6178 6142 6250 + 6252 6180 6144 6251 + 6144 6180 6143 6251 + 6180 6179 6143 6251 + 6253 6181 6145 6252 + 6145 6181 6144 6252 + 6181 6180 6144 6252 + 6254 6182 6146 6253 + 6146 6182 6145 6253 + 6182 6181 6145 6253 + 6255 6183 6147 6254 + 6147 6183 6146 6254 + 6183 6182 6146 6254 + 6256 6184 6148 6255 + 6148 6184 6147 6255 + 6184 6183 6147 6255 + 6257 6185 6149 6256 + 6149 6185 6148 6256 + 6185 6184 6148 6256 + 6258 6186 6150 6257 + 6150 6186 6149 6257 + 6186 6185 6149 6257 + 6259 6187 6151 6258 + 6151 6187 6150 6258 + 6187 6186 6150 6258 + 6260 6188 6152 6259 + 6152 6188 6151 6259 + 6188 6187 6151 6259 + 6261 6189 6153 6260 + 6153 6189 6152 6260 + 6189 6188 6152 6260 + 6262 6190 6154 6261 + 6154 6190 6153 6261 + 6190 6189 6153 6261 + 6263 6191 6155 6262 + 6155 6191 6154 6262 + 6191 6190 6154 6262 + 6264 6192 6156 6263 + 6156 6192 6155 6263 + 6192 6191 6155 6263 + 6265 6193 6157 6264 + 6157 6193 6156 6264 + 6193 6192 6156 6264 + 6266 6194 6158 6265 + 6158 6194 6157 6265 + 6194 6193 6157 6265 + 154 170 158 5727 + 6303 5871 158 5727 + 6303 158 170 5727 + 5727 6303 5871 5728 + 6304 5872 5871 5728 + 6304 5871 6303 5728 + 5728 6304 5872 5729 + 6305 5873 5872 5729 + 6305 5872 6304 5729 + 5729 6305 5873 5730 + 6306 5874 5873 5730 + 6306 5873 6305 5730 + 5730 6306 5874 5731 + 6307 5875 5874 5731 + 6307 5874 6306 5731 + 5731 6307 5875 5732 + 6308 5876 5875 5732 + 6308 5875 6307 5732 + 5732 6308 5876 5733 + 6309 5877 5876 5733 + 6309 5876 6308 5733 + 5733 6309 5877 5734 + 6310 5878 5877 5734 + 6310 5877 6309 5734 + 5734 6310 5878 5735 + 6311 5879 5878 5735 + 6311 5878 6310 5735 + 5735 6311 5879 5736 + 6312 5880 5879 5736 + 6312 5879 6311 5736 + 5736 6312 5880 5737 + 6313 5881 5880 5737 + 6313 5880 6312 5737 + 5737 6313 5881 5738 + 6314 5882 5881 5738 + 6314 5881 6313 5738 + 5738 6314 5882 5739 + 6315 5883 5882 5739 + 6315 5882 6314 5739 + 5739 6315 5883 5740 + 6316 5884 5883 5740 + 6316 5883 6315 5740 + 5740 6316 5884 5741 + 6317 5885 5884 5741 + 6317 5884 6316 5741 + 5741 6317 5885 5742 + 6318 5886 5885 5742 + 6318 5885 6317 5742 + 5742 6318 5886 5743 + 6319 5887 5886 5743 + 6319 5886 6318 5743 + 5743 6319 5887 5744 + 6320 5888 5887 5744 + 6320 5887 6319 5744 + 5744 6320 5888 5745 + 6321 5889 5888 5745 + 6321 5888 6320 5745 + 5745 6321 5889 5746 + 6322 5890 5889 5746 + 6322 5889 6321 5746 + 5746 6322 5890 5747 + 6323 5891 5890 5747 + 6323 5890 6322 5747 + 5747 6323 5891 5748 + 6324 5892 5891 5748 + 6324 5891 6323 5748 + 5748 6324 5892 5749 + 6325 5893 5892 5749 + 6325 5892 6324 5749 + 5749 6325 5893 5750 + 6326 5894 5893 5750 + 6326 5893 6325 5750 + 5750 6326 5894 5751 + 6327 5895 5894 5751 + 6327 5894 6326 5751 + 5751 6327 5895 5752 + 6328 5896 5895 5752 + 6328 5895 6327 5752 + 5752 6328 5896 5753 + 6329 5897 5896 5753 + 6329 5896 6328 5753 + 5753 6329 5897 5754 + 6330 5898 5897 5754 + 6330 5897 6329 5754 + 5754 6330 5898 5755 + 6331 5899 5898 5755 + 6331 5898 6330 5755 + 5755 6331 5899 5756 + 6332 5900 5899 5756 + 6332 5899 6331 5756 + 5756 6332 5900 5757 + 6333 5901 5900 5757 + 6333 5900 6332 5757 + 5757 6333 5901 5758 + 6334 5902 5901 5758 + 6334 5901 6333 5758 + 5758 6334 5902 5759 + 6335 5903 5902 5759 + 6335 5902 6334 5759 + 5759 6335 5903 5760 + 6336 5904 5903 5760 + 6336 5903 6335 5760 + 5760 6336 5904 5761 + 6337 5905 5904 5761 + 6337 5904 6336 5761 + 5761 6337 5905 5762 + 6338 5906 5905 5762 + 6338 5905 6337 5762 + 167 171 170 6195 + 6339 6303 170 6195 + 6339 170 171 6195 + 6195 6339 6303 6196 + 6340 6304 6303 6196 + 6340 6303 6339 6196 + 6196 6340 6304 6197 + 6341 6305 6304 6197 + 6341 6304 6340 6197 + 6197 6341 6305 6198 + 6342 6306 6305 6198 + 6342 6305 6341 6198 + 6198 6342 6306 6199 + 6343 6307 6306 6199 + 6343 6306 6342 6199 + 6199 6343 6307 6200 + 6344 6308 6307 6200 + 6344 6307 6343 6200 + 6200 6344 6308 6201 + 6345 6309 6308 6201 + 6345 6308 6344 6201 + 6201 6345 6309 6202 + 6346 6310 6309 6202 + 6346 6309 6345 6202 + 6202 6346 6310 6203 + 6347 6311 6310 6203 + 6347 6310 6346 6203 + 6203 6347 6311 6204 + 6348 6312 6311 6204 + 6348 6311 6347 6204 + 6204 6348 6312 6205 + 6349 6313 6312 6205 + 6349 6312 6348 6205 + 6205 6349 6313 6206 + 6350 6314 6313 6206 + 6350 6313 6349 6206 + 6206 6350 6314 6207 + 6351 6315 6314 6207 + 6351 6314 6350 6207 + 6207 6351 6315 6208 + 6352 6316 6315 6208 + 6352 6315 6351 6208 + 6208 6352 6316 6209 + 6353 6317 6316 6209 + 6353 6316 6352 6209 + 6209 6353 6317 6210 + 6354 6318 6317 6210 + 6354 6317 6353 6210 + 6210 6354 6318 6211 + 6355 6319 6318 6211 + 6355 6318 6354 6211 + 6211 6355 6319 6212 + 6356 6320 6319 6212 + 6356 6319 6355 6212 + 6212 6356 6320 6213 + 6357 6321 6320 6213 + 6357 6320 6356 6213 + 6213 6357 6321 6214 + 6358 6322 6321 6214 + 6358 6321 6357 6214 + 6214 6358 6322 6215 + 6359 6323 6322 6215 + 6359 6322 6358 6215 + 6215 6359 6323 6216 + 6360 6324 6323 6216 + 6360 6323 6359 6216 + 6216 6360 6324 6217 + 6361 6325 6324 6217 + 6361 6324 6360 6217 + 6217 6361 6325 6218 + 6362 6326 6325 6218 + 6362 6325 6361 6218 + 6218 6362 6326 6219 + 6363 6327 6326 6219 + 6363 6326 6362 6219 + 6219 6363 6327 6220 + 6364 6328 6327 6220 + 6364 6327 6363 6220 + 6220 6364 6328 6221 + 6365 6329 6328 6221 + 6365 6328 6364 6221 + 6221 6365 6329 6222 + 6366 6330 6329 6222 + 6366 6329 6365 6222 + 6222 6366 6330 6223 + 6367 6331 6330 6223 + 6367 6330 6366 6223 + 6223 6367 6331 6224 + 6368 6332 6331 6224 + 6368 6331 6367 6224 + 6224 6368 6332 6225 + 6369 6333 6332 6225 + 6369 6332 6368 6225 + 6225 6369 6333 6226 + 6370 6334 6333 6226 + 6370 6333 6369 6226 + 6226 6370 6334 6227 + 6371 6335 6334 6227 + 6371 6334 6370 6227 + 6227 6371 6335 6228 + 6372 6336 6335 6228 + 6372 6335 6371 6228 + 6228 6372 6336 6229 + 6373 6337 6336 6229 + 6373 6336 6372 6229 + 6229 6373 6337 6230 + 6374 6338 6337 6230 + 6374 6337 6373 6230 + 168 172 171 6231 + 6375 6339 171 6231 + 6375 171 172 6231 + 6231 6375 6339 6232 + 6376 6340 6339 6232 + 6376 6339 6375 6232 + 6232 6376 6340 6233 + 6377 6341 6340 6233 + 6377 6340 6376 6233 + 6233 6377 6341 6234 + 6378 6342 6341 6234 + 6378 6341 6377 6234 + 6234 6378 6342 6235 + 6379 6343 6342 6235 + 6379 6342 6378 6235 + 6235 6379 6343 6236 + 6380 6344 6343 6236 + 6380 6343 6379 6236 + 6236 6380 6344 6237 + 6381 6345 6344 6237 + 6381 6344 6380 6237 + 6237 6381 6345 6238 + 6382 6346 6345 6238 + 6382 6345 6381 6238 + 6238 6382 6346 6239 + 6383 6347 6346 6239 + 6383 6346 6382 6239 + 6239 6383 6347 6240 + 6384 6348 6347 6240 + 6384 6347 6383 6240 + 6240 6384 6348 6241 + 6385 6349 6348 6241 + 6385 6348 6384 6241 + 6241 6385 6349 6242 + 6386 6350 6349 6242 + 6386 6349 6385 6242 + 6242 6386 6350 6243 + 6387 6351 6350 6243 + 6387 6350 6386 6243 + 6243 6387 6351 6244 + 6388 6352 6351 6244 + 6388 6351 6387 6244 + 6244 6388 6352 6245 + 6389 6353 6352 6245 + 6389 6352 6388 6245 + 6245 6389 6353 6246 + 6390 6354 6353 6246 + 6390 6353 6389 6246 + 6246 6390 6354 6247 + 6391 6355 6354 6247 + 6391 6354 6390 6247 + 6247 6391 6355 6248 + 6392 6356 6355 6248 + 6392 6355 6391 6248 + 6248 6392 6356 6249 + 6393 6357 6356 6249 + 6393 6356 6392 6249 + 6249 6393 6357 6250 + 6394 6358 6357 6250 + 6394 6357 6393 6250 + 6250 6394 6358 6251 + 6395 6359 6358 6251 + 6395 6358 6394 6251 + 6251 6395 6359 6252 + 6396 6360 6359 6252 + 6396 6359 6395 6252 + 6252 6396 6360 6253 + 6397 6361 6360 6253 + 6397 6360 6396 6253 + 6253 6397 6361 6254 + 6398 6362 6361 6254 + 6398 6361 6397 6254 + 6254 6398 6362 6255 + 6399 6363 6362 6255 + 6399 6362 6398 6255 + 6255 6399 6363 6256 + 6400 6364 6363 6256 + 6400 6363 6399 6256 + 6256 6400 6364 6257 + 6401 6365 6364 6257 + 6401 6364 6400 6257 + 6257 6401 6365 6258 + 6402 6366 6365 6258 + 6402 6365 6401 6258 + 6258 6402 6366 6259 + 6403 6367 6366 6259 + 6403 6366 6402 6259 + 6259 6403 6367 6260 + 6404 6368 6367 6260 + 6404 6367 6403 6260 + 6260 6404 6368 6261 + 6405 6369 6368 6261 + 6405 6368 6404 6261 + 6261 6405 6369 6262 + 6406 6370 6369 6262 + 6406 6369 6405 6262 + 6262 6406 6370 6263 + 6407 6371 6370 6263 + 6407 6370 6406 6263 + 6263 6407 6371 6264 + 6408 6372 6371 6264 + 6408 6371 6407 6264 + 6264 6408 6372 6265 + 6409 6373 6372 6265 + 6409 6372 6408 6265 + 6265 6409 6373 6266 + 6410 6374 6373 6266 + 6410 6373 6409 6266 + 169 173 172 6267 + 6411 6375 172 6267 + 6411 172 173 6267 + 6267 6411 6375 6268 + 6412 6376 6375 6268 + 6412 6375 6411 6268 + 6268 6412 6376 6269 + 6413 6377 6376 6269 + 6413 6376 6412 6269 + 6269 6413 6377 6270 + 6414 6378 6377 6270 + 6414 6377 6413 6270 + 6270 6414 6378 6271 + 6415 6379 6378 6271 + 6415 6378 6414 6271 + 6271 6415 6379 6272 + 6416 6380 6379 6272 + 6416 6379 6415 6272 + 6272 6416 6380 6273 + 6417 6381 6380 6273 + 6417 6380 6416 6273 + 6273 6417 6381 6274 + 6418 6382 6381 6274 + 6418 6381 6417 6274 + 6274 6418 6382 6275 + 6419 6383 6382 6275 + 6419 6382 6418 6275 + 6275 6419 6383 6276 + 6420 6384 6383 6276 + 6420 6383 6419 6276 + 6276 6420 6384 6277 + 6421 6385 6384 6277 + 6421 6384 6420 6277 + 6277 6421 6385 6278 + 6422 6386 6385 6278 + 6422 6385 6421 6278 + 6278 6422 6386 6279 + 6423 6387 6386 6279 + 6423 6386 6422 6279 + 6279 6423 6387 6280 + 6424 6388 6387 6280 + 6424 6387 6423 6280 + 6280 6424 6388 6281 + 6425 6389 6388 6281 + 6425 6388 6424 6281 + 6281 6425 6389 6282 + 6426 6390 6389 6282 + 6426 6389 6425 6282 + 6282 6426 6390 6283 + 6427 6391 6390 6283 + 6427 6390 6426 6283 + 6283 6427 6391 6284 + 6428 6392 6391 6284 + 6428 6391 6427 6284 + 6284 6428 6392 6285 + 6429 6393 6392 6285 + 6429 6392 6428 6285 + 6285 6429 6393 6286 + 6430 6394 6393 6286 + 6430 6393 6429 6286 + 6286 6430 6394 6287 + 6431 6395 6394 6287 + 6431 6394 6430 6287 + 6287 6431 6395 6288 + 6432 6396 6395 6288 + 6432 6395 6431 6288 + 6288 6432 6396 6289 + 6433 6397 6396 6289 + 6433 6396 6432 6289 + 6289 6433 6397 6290 + 6434 6398 6397 6290 + 6434 6397 6433 6290 + 6290 6434 6398 6291 + 6435 6399 6398 6291 + 6435 6398 6434 6291 + 6291 6435 6399 6292 + 6436 6400 6399 6292 + 6436 6399 6435 6292 + 6292 6436 6400 6293 + 6437 6401 6400 6293 + 6437 6400 6436 6293 + 6293 6437 6401 6294 + 6438 6402 6401 6294 + 6438 6401 6437 6294 + 6294 6438 6402 6295 + 6439 6403 6402 6295 + 6439 6402 6438 6295 + 6295 6439 6403 6296 + 6440 6404 6403 6296 + 6440 6403 6439 6296 + 6296 6440 6404 6297 + 6441 6405 6404 6297 + 6441 6404 6440 6297 + 6297 6441 6405 6298 + 6442 6406 6405 6298 + 6442 6405 6441 6298 + 6298 6442 6406 6299 + 6443 6407 6406 6299 + 6443 6406 6442 6299 + 6299 6443 6407 6300 + 6444 6408 6407 6300 + 6444 6407 6443 6300 + 6300 6444 6408 6301 + 6445 6409 6408 6301 + 6445 6408 6444 6301 + 6301 6445 6409 6302 + 6446 6410 6409 6302 + 6446 6409 6445 6302 + 6303 6195 5727 170 + 5727 6195 154 170 + 6195 167 154 170 + 6304 6196 5728 6303 + 5728 6196 5727 6303 + 6196 6195 5727 6303 + 6305 6197 5729 6304 + 5729 6197 5728 6304 + 6197 6196 5728 6304 + 6306 6198 5730 6305 + 5730 6198 5729 6305 + 6198 6197 5729 6305 + 6307 6199 5731 6306 + 5731 6199 5730 6306 + 6199 6198 5730 6306 + 6308 6200 5732 6307 + 5732 6200 5731 6307 + 6200 6199 5731 6307 + 6309 6201 5733 6308 + 5733 6201 5732 6308 + 6201 6200 5732 6308 + 6310 6202 5734 6309 + 5734 6202 5733 6309 + 6202 6201 5733 6309 + 6311 6203 5735 6310 + 5735 6203 5734 6310 + 6203 6202 5734 6310 + 6312 6204 5736 6311 + 5736 6204 5735 6311 + 6204 6203 5735 6311 + 6313 6205 5737 6312 + 5737 6205 5736 6312 + 6205 6204 5736 6312 + 6314 6206 5738 6313 + 5738 6206 5737 6313 + 6206 6205 5737 6313 + 6315 6207 5739 6314 + 5739 6207 5738 6314 + 6207 6206 5738 6314 + 6316 6208 5740 6315 + 5740 6208 5739 6315 + 6208 6207 5739 6315 + 6317 6209 5741 6316 + 5741 6209 5740 6316 + 6209 6208 5740 6316 + 6318 6210 5742 6317 + 5742 6210 5741 6317 + 6210 6209 5741 6317 + 6319 6211 5743 6318 + 5743 6211 5742 6318 + 6211 6210 5742 6318 + 6320 6212 5744 6319 + 5744 6212 5743 6319 + 6212 6211 5743 6319 + 6321 6213 5745 6320 + 5745 6213 5744 6320 + 6213 6212 5744 6320 + 6322 6214 5746 6321 + 5746 6214 5745 6321 + 6214 6213 5745 6321 + 6323 6215 5747 6322 + 5747 6215 5746 6322 + 6215 6214 5746 6322 + 6324 6216 5748 6323 + 5748 6216 5747 6323 + 6216 6215 5747 6323 + 6325 6217 5749 6324 + 5749 6217 5748 6324 + 6217 6216 5748 6324 + 6326 6218 5750 6325 + 5750 6218 5749 6325 + 6218 6217 5749 6325 + 6327 6219 5751 6326 + 5751 6219 5750 6326 + 6219 6218 5750 6326 + 6328 6220 5752 6327 + 5752 6220 5751 6327 + 6220 6219 5751 6327 + 6329 6221 5753 6328 + 5753 6221 5752 6328 + 6221 6220 5752 6328 + 6330 6222 5754 6329 + 5754 6222 5753 6329 + 6222 6221 5753 6329 + 6331 6223 5755 6330 + 5755 6223 5754 6330 + 6223 6222 5754 6330 + 6332 6224 5756 6331 + 5756 6224 5755 6331 + 6224 6223 5755 6331 + 6333 6225 5757 6332 + 5757 6225 5756 6332 + 6225 6224 5756 6332 + 6334 6226 5758 6333 + 5758 6226 5757 6333 + 6226 6225 5757 6333 + 6335 6227 5759 6334 + 5759 6227 5758 6334 + 6227 6226 5758 6334 + 6336 6228 5760 6335 + 5760 6228 5759 6335 + 6228 6227 5759 6335 + 6337 6229 5761 6336 + 5761 6229 5760 6336 + 6229 6228 5760 6336 + 6338 6230 5762 6337 + 5762 6230 5761 6337 + 6230 6229 5761 6337 + 6339 6231 6195 171 + 6195 6231 167 171 + 6231 168 167 171 + 6340 6232 6196 6339 + 6196 6232 6195 6339 + 6232 6231 6195 6339 + 6341 6233 6197 6340 + 6197 6233 6196 6340 + 6233 6232 6196 6340 + 6342 6234 6198 6341 + 6198 6234 6197 6341 + 6234 6233 6197 6341 + 6343 6235 6199 6342 + 6199 6235 6198 6342 + 6235 6234 6198 6342 + 6344 6236 6200 6343 + 6200 6236 6199 6343 + 6236 6235 6199 6343 + 6345 6237 6201 6344 + 6201 6237 6200 6344 + 6237 6236 6200 6344 + 6346 6238 6202 6345 + 6202 6238 6201 6345 + 6238 6237 6201 6345 + 6347 6239 6203 6346 + 6203 6239 6202 6346 + 6239 6238 6202 6346 + 6348 6240 6204 6347 + 6204 6240 6203 6347 + 6240 6239 6203 6347 + 6349 6241 6205 6348 + 6205 6241 6204 6348 + 6241 6240 6204 6348 + 6350 6242 6206 6349 + 6206 6242 6205 6349 + 6242 6241 6205 6349 + 6351 6243 6207 6350 + 6207 6243 6206 6350 + 6243 6242 6206 6350 + 6352 6244 6208 6351 + 6208 6244 6207 6351 + 6244 6243 6207 6351 + 6353 6245 6209 6352 + 6209 6245 6208 6352 + 6245 6244 6208 6352 + 6354 6246 6210 6353 + 6210 6246 6209 6353 + 6246 6245 6209 6353 + 6355 6247 6211 6354 + 6211 6247 6210 6354 + 6247 6246 6210 6354 + 6356 6248 6212 6355 + 6212 6248 6211 6355 + 6248 6247 6211 6355 + 6357 6249 6213 6356 + 6213 6249 6212 6356 + 6249 6248 6212 6356 + 6358 6250 6214 6357 + 6214 6250 6213 6357 + 6250 6249 6213 6357 + 6359 6251 6215 6358 + 6215 6251 6214 6358 + 6251 6250 6214 6358 + 6360 6252 6216 6359 + 6216 6252 6215 6359 + 6252 6251 6215 6359 + 6361 6253 6217 6360 + 6217 6253 6216 6360 + 6253 6252 6216 6360 + 6362 6254 6218 6361 + 6218 6254 6217 6361 + 6254 6253 6217 6361 + 6363 6255 6219 6362 + 6219 6255 6218 6362 + 6255 6254 6218 6362 + 6364 6256 6220 6363 + 6220 6256 6219 6363 + 6256 6255 6219 6363 + 6365 6257 6221 6364 + 6221 6257 6220 6364 + 6257 6256 6220 6364 + 6366 6258 6222 6365 + 6222 6258 6221 6365 + 6258 6257 6221 6365 + 6367 6259 6223 6366 + 6223 6259 6222 6366 + 6259 6258 6222 6366 + 6368 6260 6224 6367 + 6224 6260 6223 6367 + 6260 6259 6223 6367 + 6369 6261 6225 6368 + 6225 6261 6224 6368 + 6261 6260 6224 6368 + 6370 6262 6226 6369 + 6226 6262 6225 6369 + 6262 6261 6225 6369 + 6371 6263 6227 6370 + 6227 6263 6226 6370 + 6263 6262 6226 6370 + 6372 6264 6228 6371 + 6228 6264 6227 6371 + 6264 6263 6227 6371 + 6373 6265 6229 6372 + 6229 6265 6228 6372 + 6265 6264 6228 6372 + 6374 6266 6230 6373 + 6230 6266 6229 6373 + 6266 6265 6229 6373 + 6375 6267 6231 172 + 6231 6267 168 172 + 6267 169 168 172 + 6376 6268 6232 6375 + 6232 6268 6231 6375 + 6268 6267 6231 6375 + 6377 6269 6233 6376 + 6233 6269 6232 6376 + 6269 6268 6232 6376 + 6378 6270 6234 6377 + 6234 6270 6233 6377 + 6270 6269 6233 6377 + 6379 6271 6235 6378 + 6235 6271 6234 6378 + 6271 6270 6234 6378 + 6380 6272 6236 6379 + 6236 6272 6235 6379 + 6272 6271 6235 6379 + 6381 6273 6237 6380 + 6237 6273 6236 6380 + 6273 6272 6236 6380 + 6382 6274 6238 6381 + 6238 6274 6237 6381 + 6274 6273 6237 6381 + 6383 6275 6239 6382 + 6239 6275 6238 6382 + 6275 6274 6238 6382 + 6384 6276 6240 6383 + 6240 6276 6239 6383 + 6276 6275 6239 6383 + 6385 6277 6241 6384 + 6241 6277 6240 6384 + 6277 6276 6240 6384 + 6386 6278 6242 6385 + 6242 6278 6241 6385 + 6278 6277 6241 6385 + 6387 6279 6243 6386 + 6243 6279 6242 6386 + 6279 6278 6242 6386 + 6388 6280 6244 6387 + 6244 6280 6243 6387 + 6280 6279 6243 6387 + 6389 6281 6245 6388 + 6245 6281 6244 6388 + 6281 6280 6244 6388 + 6390 6282 6246 6389 + 6246 6282 6245 6389 + 6282 6281 6245 6389 + 6391 6283 6247 6390 + 6247 6283 6246 6390 + 6283 6282 6246 6390 + 6392 6284 6248 6391 + 6248 6284 6247 6391 + 6284 6283 6247 6391 + 6393 6285 6249 6392 + 6249 6285 6248 6392 + 6285 6284 6248 6392 + 6394 6286 6250 6393 + 6250 6286 6249 6393 + 6286 6285 6249 6393 + 6395 6287 6251 6394 + 6251 6287 6250 6394 + 6287 6286 6250 6394 + 6396 6288 6252 6395 + 6252 6288 6251 6395 + 6288 6287 6251 6395 + 6397 6289 6253 6396 + 6253 6289 6252 6396 + 6289 6288 6252 6396 + 6398 6290 6254 6397 + 6254 6290 6253 6397 + 6290 6289 6253 6397 + 6399 6291 6255 6398 + 6255 6291 6254 6398 + 6291 6290 6254 6398 + 6400 6292 6256 6399 + 6256 6292 6255 6399 + 6292 6291 6255 6399 + 6401 6293 6257 6400 + 6257 6293 6256 6400 + 6293 6292 6256 6400 + 6402 6294 6258 6401 + 6258 6294 6257 6401 + 6294 6293 6257 6401 + 6403 6295 6259 6402 + 6259 6295 6258 6402 + 6295 6294 6258 6402 + 6404 6296 6260 6403 + 6260 6296 6259 6403 + 6296 6295 6259 6403 + 6405 6297 6261 6404 + 6261 6297 6260 6404 + 6297 6296 6260 6404 + 6406 6298 6262 6405 + 6262 6298 6261 6405 + 6298 6297 6261 6405 + 6407 6299 6263 6406 + 6263 6299 6262 6406 + 6299 6298 6262 6406 + 6408 6300 6264 6407 + 6264 6300 6263 6407 + 6300 6299 6263 6407 + 6409 6301 6265 6408 + 6265 6301 6264 6408 + 6301 6300 6264 6408 + 6410 6302 6266 6409 + 6266 6302 6265 6409 + 6302 6301 6265 6409 + 158 174 163 5871 + 6447 6051 163 5871 + 6447 163 174 5871 + 5871 6447 6051 5872 + 6448 6052 6051 5872 + 6448 6051 6447 5872 + 5872 6448 6052 5873 + 6449 6053 6052 5873 + 6449 6052 6448 5873 + 5873 6449 6053 5874 + 6450 6054 6053 5874 + 6450 6053 6449 5874 + 5874 6450 6054 5875 + 6451 6055 6054 5875 + 6451 6054 6450 5875 + 5875 6451 6055 5876 + 6452 6056 6055 5876 + 6452 6055 6451 5876 + 5876 6452 6056 5877 + 6453 6057 6056 5877 + 6453 6056 6452 5877 + 5877 6453 6057 5878 + 6454 6058 6057 5878 + 6454 6057 6453 5878 + 5878 6454 6058 5879 + 6455 6059 6058 5879 + 6455 6058 6454 5879 + 5879 6455 6059 5880 + 6456 6060 6059 5880 + 6456 6059 6455 5880 + 5880 6456 6060 5881 + 6457 6061 6060 5881 + 6457 6060 6456 5881 + 5881 6457 6061 5882 + 6458 6062 6061 5882 + 6458 6061 6457 5882 + 5882 6458 6062 5883 + 6459 6063 6062 5883 + 6459 6062 6458 5883 + 5883 6459 6063 5884 + 6460 6064 6063 5884 + 6460 6063 6459 5884 + 5884 6460 6064 5885 + 6461 6065 6064 5885 + 6461 6064 6460 5885 + 5885 6461 6065 5886 + 6462 6066 6065 5886 + 6462 6065 6461 5886 + 5886 6462 6066 5887 + 6463 6067 6066 5887 + 6463 6066 6462 5887 + 5887 6463 6067 5888 + 6464 6068 6067 5888 + 6464 6067 6463 5888 + 5888 6464 6068 5889 + 6465 6069 6068 5889 + 6465 6068 6464 5889 + 5889 6465 6069 5890 + 6466 6070 6069 5890 + 6466 6069 6465 5890 + 5890 6466 6070 5891 + 6467 6071 6070 5891 + 6467 6070 6466 5891 + 5891 6467 6071 5892 + 6468 6072 6071 5892 + 6468 6071 6467 5892 + 5892 6468 6072 5893 + 6469 6073 6072 5893 + 6469 6072 6468 5893 + 5893 6469 6073 5894 + 6470 6074 6073 5894 + 6470 6073 6469 5894 + 5894 6470 6074 5895 + 6471 6075 6074 5895 + 6471 6074 6470 5895 + 5895 6471 6075 5896 + 6472 6076 6075 5896 + 6472 6075 6471 5896 + 5896 6472 6076 5897 + 6473 6077 6076 5897 + 6473 6076 6472 5897 + 5897 6473 6077 5898 + 6474 6078 6077 5898 + 6474 6077 6473 5898 + 5898 6474 6078 5899 + 6475 6079 6078 5899 + 6475 6078 6474 5899 + 5899 6475 6079 5900 + 6476 6080 6079 5900 + 6476 6079 6475 5900 + 5900 6476 6080 5901 + 6477 6081 6080 5901 + 6477 6080 6476 5901 + 5901 6477 6081 5902 + 6478 6082 6081 5902 + 6478 6081 6477 5902 + 5902 6478 6082 5903 + 6479 6083 6082 5903 + 6479 6082 6478 5903 + 5903 6479 6083 5904 + 6480 6084 6083 5904 + 6480 6083 6479 5904 + 5904 6480 6084 5905 + 6481 6085 6084 5905 + 6481 6084 6480 5905 + 5905 6481 6085 5906 + 6482 6086 6085 5906 + 6482 6085 6481 5906 + 170 175 174 6303 + 6483 6447 174 6303 + 6483 174 175 6303 + 6303 6483 6447 6304 + 6484 6448 6447 6304 + 6484 6447 6483 6304 + 6304 6484 6448 6305 + 6485 6449 6448 6305 + 6485 6448 6484 6305 + 6305 6485 6449 6306 + 6486 6450 6449 6306 + 6486 6449 6485 6306 + 6306 6486 6450 6307 + 6487 6451 6450 6307 + 6487 6450 6486 6307 + 6307 6487 6451 6308 + 6488 6452 6451 6308 + 6488 6451 6487 6308 + 6308 6488 6452 6309 + 6489 6453 6452 6309 + 6489 6452 6488 6309 + 6309 6489 6453 6310 + 6490 6454 6453 6310 + 6490 6453 6489 6310 + 6310 6490 6454 6311 + 6491 6455 6454 6311 + 6491 6454 6490 6311 + 6311 6491 6455 6312 + 6492 6456 6455 6312 + 6492 6455 6491 6312 + 6312 6492 6456 6313 + 6493 6457 6456 6313 + 6493 6456 6492 6313 + 6313 6493 6457 6314 + 6494 6458 6457 6314 + 6494 6457 6493 6314 + 6314 6494 6458 6315 + 6495 6459 6458 6315 + 6495 6458 6494 6315 + 6315 6495 6459 6316 + 6496 6460 6459 6316 + 6496 6459 6495 6316 + 6316 6496 6460 6317 + 6497 6461 6460 6317 + 6497 6460 6496 6317 + 6317 6497 6461 6318 + 6498 6462 6461 6318 + 6498 6461 6497 6318 + 6318 6498 6462 6319 + 6499 6463 6462 6319 + 6499 6462 6498 6319 + 6319 6499 6463 6320 + 6500 6464 6463 6320 + 6500 6463 6499 6320 + 6320 6500 6464 6321 + 6501 6465 6464 6321 + 6501 6464 6500 6321 + 6321 6501 6465 6322 + 6502 6466 6465 6322 + 6502 6465 6501 6322 + 6322 6502 6466 6323 + 6503 6467 6466 6323 + 6503 6466 6502 6323 + 6323 6503 6467 6324 + 6504 6468 6467 6324 + 6504 6467 6503 6324 + 6324 6504 6468 6325 + 6505 6469 6468 6325 + 6505 6468 6504 6325 + 6325 6505 6469 6326 + 6506 6470 6469 6326 + 6506 6469 6505 6326 + 6326 6506 6470 6327 + 6507 6471 6470 6327 + 6507 6470 6506 6327 + 6327 6507 6471 6328 + 6508 6472 6471 6328 + 6508 6471 6507 6328 + 6328 6508 6472 6329 + 6509 6473 6472 6329 + 6509 6472 6508 6329 + 6329 6509 6473 6330 + 6510 6474 6473 6330 + 6510 6473 6509 6330 + 6330 6510 6474 6331 + 6511 6475 6474 6331 + 6511 6474 6510 6331 + 6331 6511 6475 6332 + 6512 6476 6475 6332 + 6512 6475 6511 6332 + 6332 6512 6476 6333 + 6513 6477 6476 6333 + 6513 6476 6512 6333 + 6333 6513 6477 6334 + 6514 6478 6477 6334 + 6514 6477 6513 6334 + 6334 6514 6478 6335 + 6515 6479 6478 6335 + 6515 6478 6514 6335 + 6335 6515 6479 6336 + 6516 6480 6479 6336 + 6516 6479 6515 6336 + 6336 6516 6480 6337 + 6517 6481 6480 6337 + 6517 6480 6516 6337 + 6337 6517 6481 6338 + 6518 6482 6481 6338 + 6518 6481 6517 6338 + 171 176 175 6339 + 6519 6483 175 6339 + 6519 175 176 6339 + 6339 6519 6483 6340 + 6520 6484 6483 6340 + 6520 6483 6519 6340 + 6340 6520 6484 6341 + 6521 6485 6484 6341 + 6521 6484 6520 6341 + 6341 6521 6485 6342 + 6522 6486 6485 6342 + 6522 6485 6521 6342 + 6342 6522 6486 6343 + 6523 6487 6486 6343 + 6523 6486 6522 6343 + 6343 6523 6487 6344 + 6524 6488 6487 6344 + 6524 6487 6523 6344 + 6344 6524 6488 6345 + 6525 6489 6488 6345 + 6525 6488 6524 6345 + 6345 6525 6489 6346 + 6526 6490 6489 6346 + 6526 6489 6525 6346 + 6346 6526 6490 6347 + 6527 6491 6490 6347 + 6527 6490 6526 6347 + 6347 6527 6491 6348 + 6528 6492 6491 6348 + 6528 6491 6527 6348 + 6348 6528 6492 6349 + 6529 6493 6492 6349 + 6529 6492 6528 6349 + 6349 6529 6493 6350 + 6530 6494 6493 6350 + 6530 6493 6529 6350 + 6350 6530 6494 6351 + 6531 6495 6494 6351 + 6531 6494 6530 6351 + 6351 6531 6495 6352 + 6532 6496 6495 6352 + 6532 6495 6531 6352 + 6352 6532 6496 6353 + 6533 6497 6496 6353 + 6533 6496 6532 6353 + 6353 6533 6497 6354 + 6534 6498 6497 6354 + 6534 6497 6533 6354 + 6354 6534 6498 6355 + 6535 6499 6498 6355 + 6535 6498 6534 6355 + 6355 6535 6499 6356 + 6536 6500 6499 6356 + 6536 6499 6535 6356 + 6356 6536 6500 6357 + 6537 6501 6500 6357 + 6537 6500 6536 6357 + 6357 6537 6501 6358 + 6538 6502 6501 6358 + 6538 6501 6537 6358 + 6358 6538 6502 6359 + 6539 6503 6502 6359 + 6539 6502 6538 6359 + 6359 6539 6503 6360 + 6540 6504 6503 6360 + 6540 6503 6539 6360 + 6360 6540 6504 6361 + 6541 6505 6504 6361 + 6541 6504 6540 6361 + 6361 6541 6505 6362 + 6542 6506 6505 6362 + 6542 6505 6541 6362 + 6362 6542 6506 6363 + 6543 6507 6506 6363 + 6543 6506 6542 6363 + 6363 6543 6507 6364 + 6544 6508 6507 6364 + 6544 6507 6543 6364 + 6364 6544 6508 6365 + 6545 6509 6508 6365 + 6545 6508 6544 6365 + 6365 6545 6509 6366 + 6546 6510 6509 6366 + 6546 6509 6545 6366 + 6366 6546 6510 6367 + 6547 6511 6510 6367 + 6547 6510 6546 6367 + 6367 6547 6511 6368 + 6548 6512 6511 6368 + 6548 6511 6547 6368 + 6368 6548 6512 6369 + 6549 6513 6512 6369 + 6549 6512 6548 6369 + 6369 6549 6513 6370 + 6550 6514 6513 6370 + 6550 6513 6549 6370 + 6370 6550 6514 6371 + 6551 6515 6514 6371 + 6551 6514 6550 6371 + 6371 6551 6515 6372 + 6552 6516 6515 6372 + 6552 6515 6551 6372 + 6372 6552 6516 6373 + 6553 6517 6516 6373 + 6553 6516 6552 6373 + 6373 6553 6517 6374 + 6554 6518 6517 6374 + 6554 6517 6553 6374 + 172 177 176 6375 + 6555 6519 176 6375 + 6555 176 177 6375 + 6375 6555 6519 6376 + 6556 6520 6519 6376 + 6556 6519 6555 6376 + 6376 6556 6520 6377 + 6557 6521 6520 6377 + 6557 6520 6556 6377 + 6377 6557 6521 6378 + 6558 6522 6521 6378 + 6558 6521 6557 6378 + 6378 6558 6522 6379 + 6559 6523 6522 6379 + 6559 6522 6558 6379 + 6379 6559 6523 6380 + 6560 6524 6523 6380 + 6560 6523 6559 6380 + 6380 6560 6524 6381 + 6561 6525 6524 6381 + 6561 6524 6560 6381 + 6381 6561 6525 6382 + 6562 6526 6525 6382 + 6562 6525 6561 6382 + 6382 6562 6526 6383 + 6563 6527 6526 6383 + 6563 6526 6562 6383 + 6383 6563 6527 6384 + 6564 6528 6527 6384 + 6564 6527 6563 6384 + 6384 6564 6528 6385 + 6565 6529 6528 6385 + 6565 6528 6564 6385 + 6385 6565 6529 6386 + 6566 6530 6529 6386 + 6566 6529 6565 6386 + 6386 6566 6530 6387 + 6567 6531 6530 6387 + 6567 6530 6566 6387 + 6387 6567 6531 6388 + 6568 6532 6531 6388 + 6568 6531 6567 6388 + 6388 6568 6532 6389 + 6569 6533 6532 6389 + 6569 6532 6568 6389 + 6389 6569 6533 6390 + 6570 6534 6533 6390 + 6570 6533 6569 6390 + 6390 6570 6534 6391 + 6571 6535 6534 6391 + 6571 6534 6570 6391 + 6391 6571 6535 6392 + 6572 6536 6535 6392 + 6572 6535 6571 6392 + 6392 6572 6536 6393 + 6573 6537 6536 6393 + 6573 6536 6572 6393 + 6393 6573 6537 6394 + 6574 6538 6537 6394 + 6574 6537 6573 6394 + 6394 6574 6538 6395 + 6575 6539 6538 6395 + 6575 6538 6574 6395 + 6395 6575 6539 6396 + 6576 6540 6539 6396 + 6576 6539 6575 6396 + 6396 6576 6540 6397 + 6577 6541 6540 6397 + 6577 6540 6576 6397 + 6397 6577 6541 6398 + 6578 6542 6541 6398 + 6578 6541 6577 6398 + 6398 6578 6542 6399 + 6579 6543 6542 6399 + 6579 6542 6578 6399 + 6399 6579 6543 6400 + 6580 6544 6543 6400 + 6580 6543 6579 6400 + 6400 6580 6544 6401 + 6581 6545 6544 6401 + 6581 6544 6580 6401 + 6401 6581 6545 6402 + 6582 6546 6545 6402 + 6582 6545 6581 6402 + 6402 6582 6546 6403 + 6583 6547 6546 6403 + 6583 6546 6582 6403 + 6403 6583 6547 6404 + 6584 6548 6547 6404 + 6584 6547 6583 6404 + 6404 6584 6548 6405 + 6585 6549 6548 6405 + 6585 6548 6584 6405 + 6405 6585 6549 6406 + 6586 6550 6549 6406 + 6586 6549 6585 6406 + 6406 6586 6550 6407 + 6587 6551 6550 6407 + 6587 6550 6586 6407 + 6407 6587 6551 6408 + 6588 6552 6551 6408 + 6588 6551 6587 6408 + 6408 6588 6552 6409 + 6589 6553 6552 6409 + 6589 6552 6588 6409 + 6409 6589 6553 6410 + 6590 6554 6553 6410 + 6590 6553 6589 6410 + 173 178 177 6411 + 6591 6555 177 6411 + 6591 177 178 6411 + 6411 6591 6555 6412 + 6592 6556 6555 6412 + 6592 6555 6591 6412 + 6412 6592 6556 6413 + 6593 6557 6556 6413 + 6593 6556 6592 6413 + 6413 6593 6557 6414 + 6594 6558 6557 6414 + 6594 6557 6593 6414 + 6414 6594 6558 6415 + 6595 6559 6558 6415 + 6595 6558 6594 6415 + 6415 6595 6559 6416 + 6596 6560 6559 6416 + 6596 6559 6595 6416 + 6416 6596 6560 6417 + 6597 6561 6560 6417 + 6597 6560 6596 6417 + 6417 6597 6561 6418 + 6598 6562 6561 6418 + 6598 6561 6597 6418 + 6418 6598 6562 6419 + 6599 6563 6562 6419 + 6599 6562 6598 6419 + 6419 6599 6563 6420 + 6600 6564 6563 6420 + 6600 6563 6599 6420 + 6420 6600 6564 6421 + 6601 6565 6564 6421 + 6601 6564 6600 6421 + 6421 6601 6565 6422 + 6602 6566 6565 6422 + 6602 6565 6601 6422 + 6422 6602 6566 6423 + 6603 6567 6566 6423 + 6603 6566 6602 6423 + 6423 6603 6567 6424 + 6604 6568 6567 6424 + 6604 6567 6603 6424 + 6424 6604 6568 6425 + 6605 6569 6568 6425 + 6605 6568 6604 6425 + 6425 6605 6569 6426 + 6606 6570 6569 6426 + 6606 6569 6605 6426 + 6426 6606 6570 6427 + 6607 6571 6570 6427 + 6607 6570 6606 6427 + 6427 6607 6571 6428 + 6608 6572 6571 6428 + 6608 6571 6607 6428 + 6428 6608 6572 6429 + 6609 6573 6572 6429 + 6609 6572 6608 6429 + 6429 6609 6573 6430 + 6610 6574 6573 6430 + 6610 6573 6609 6430 + 6430 6610 6574 6431 + 6611 6575 6574 6431 + 6611 6574 6610 6431 + 6431 6611 6575 6432 + 6612 6576 6575 6432 + 6612 6575 6611 6432 + 6432 6612 6576 6433 + 6613 6577 6576 6433 + 6613 6576 6612 6433 + 6433 6613 6577 6434 + 6614 6578 6577 6434 + 6614 6577 6613 6434 + 6434 6614 6578 6435 + 6615 6579 6578 6435 + 6615 6578 6614 6435 + 6435 6615 6579 6436 + 6616 6580 6579 6436 + 6616 6579 6615 6436 + 6436 6616 6580 6437 + 6617 6581 6580 6437 + 6617 6580 6616 6437 + 6437 6617 6581 6438 + 6618 6582 6581 6438 + 6618 6581 6617 6438 + 6438 6618 6582 6439 + 6619 6583 6582 6439 + 6619 6582 6618 6439 + 6439 6619 6583 6440 + 6620 6584 6583 6440 + 6620 6583 6619 6440 + 6440 6620 6584 6441 + 6621 6585 6584 6441 + 6621 6584 6620 6441 + 6441 6621 6585 6442 + 6622 6586 6585 6442 + 6622 6585 6621 6442 + 6442 6622 6586 6443 + 6623 6587 6586 6443 + 6623 6586 6622 6443 + 6443 6623 6587 6444 + 6624 6588 6587 6444 + 6624 6587 6623 6444 + 6444 6624 6588 6445 + 6625 6589 6588 6445 + 6625 6588 6624 6445 + 6445 6625 6589 6446 + 6626 6590 6589 6446 + 6626 6589 6625 6446 + 6447 6303 5871 174 + 5871 6303 158 174 + 6303 170 158 174 + 6448 6304 5872 6447 + 5872 6304 5871 6447 + 6304 6303 5871 6447 + 6449 6305 5873 6448 + 5873 6305 5872 6448 + 6305 6304 5872 6448 + 6450 6306 5874 6449 + 5874 6306 5873 6449 + 6306 6305 5873 6449 + 6451 6307 5875 6450 + 5875 6307 5874 6450 + 6307 6306 5874 6450 + 6452 6308 5876 6451 + 5876 6308 5875 6451 + 6308 6307 5875 6451 + 6453 6309 5877 6452 + 5877 6309 5876 6452 + 6309 6308 5876 6452 + 6454 6310 5878 6453 + 5878 6310 5877 6453 + 6310 6309 5877 6453 + 6455 6311 5879 6454 + 5879 6311 5878 6454 + 6311 6310 5878 6454 + 6456 6312 5880 6455 + 5880 6312 5879 6455 + 6312 6311 5879 6455 + 6457 6313 5881 6456 + 5881 6313 5880 6456 + 6313 6312 5880 6456 + 6458 6314 5882 6457 + 5882 6314 5881 6457 + 6314 6313 5881 6457 + 6459 6315 5883 6458 + 5883 6315 5882 6458 + 6315 6314 5882 6458 + 6460 6316 5884 6459 + 5884 6316 5883 6459 + 6316 6315 5883 6459 + 6461 6317 5885 6460 + 5885 6317 5884 6460 + 6317 6316 5884 6460 + 6462 6318 5886 6461 + 5886 6318 5885 6461 + 6318 6317 5885 6461 + 6463 6319 5887 6462 + 5887 6319 5886 6462 + 6319 6318 5886 6462 + 6464 6320 5888 6463 + 5888 6320 5887 6463 + 6320 6319 5887 6463 + 6465 6321 5889 6464 + 5889 6321 5888 6464 + 6321 6320 5888 6464 + 6466 6322 5890 6465 + 5890 6322 5889 6465 + 6322 6321 5889 6465 + 6467 6323 5891 6466 + 5891 6323 5890 6466 + 6323 6322 5890 6466 + 6468 6324 5892 6467 + 5892 6324 5891 6467 + 6324 6323 5891 6467 + 6469 6325 5893 6468 + 5893 6325 5892 6468 + 6325 6324 5892 6468 + 6470 6326 5894 6469 + 5894 6326 5893 6469 + 6326 6325 5893 6469 + 6471 6327 5895 6470 + 5895 6327 5894 6470 + 6327 6326 5894 6470 + 6472 6328 5896 6471 + 5896 6328 5895 6471 + 6328 6327 5895 6471 + 6473 6329 5897 6472 + 5897 6329 5896 6472 + 6329 6328 5896 6472 + 6474 6330 5898 6473 + 5898 6330 5897 6473 + 6330 6329 5897 6473 + 6475 6331 5899 6474 + 5899 6331 5898 6474 + 6331 6330 5898 6474 + 6476 6332 5900 6475 + 5900 6332 5899 6475 + 6332 6331 5899 6475 + 6477 6333 5901 6476 + 5901 6333 5900 6476 + 6333 6332 5900 6476 + 6478 6334 5902 6477 + 5902 6334 5901 6477 + 6334 6333 5901 6477 + 6479 6335 5903 6478 + 5903 6335 5902 6478 + 6335 6334 5902 6478 + 6480 6336 5904 6479 + 5904 6336 5903 6479 + 6336 6335 5903 6479 + 6481 6337 5905 6480 + 5905 6337 5904 6480 + 6337 6336 5904 6480 + 6482 6338 5906 6481 + 5906 6338 5905 6481 + 6338 6337 5905 6481 + 6483 6339 6303 175 + 6303 6339 170 175 + 6339 171 170 175 + 6484 6340 6304 6483 + 6304 6340 6303 6483 + 6340 6339 6303 6483 + 6485 6341 6305 6484 + 6305 6341 6304 6484 + 6341 6340 6304 6484 + 6486 6342 6306 6485 + 6306 6342 6305 6485 + 6342 6341 6305 6485 + 6487 6343 6307 6486 + 6307 6343 6306 6486 + 6343 6342 6306 6486 + 6488 6344 6308 6487 + 6308 6344 6307 6487 + 6344 6343 6307 6487 + 6489 6345 6309 6488 + 6309 6345 6308 6488 + 6345 6344 6308 6488 + 6490 6346 6310 6489 + 6310 6346 6309 6489 + 6346 6345 6309 6489 + 6491 6347 6311 6490 + 6311 6347 6310 6490 + 6347 6346 6310 6490 + 6492 6348 6312 6491 + 6312 6348 6311 6491 + 6348 6347 6311 6491 + 6493 6349 6313 6492 + 6313 6349 6312 6492 + 6349 6348 6312 6492 + 6494 6350 6314 6493 + 6314 6350 6313 6493 + 6350 6349 6313 6493 + 6495 6351 6315 6494 + 6315 6351 6314 6494 + 6351 6350 6314 6494 + 6496 6352 6316 6495 + 6316 6352 6315 6495 + 6352 6351 6315 6495 + 6497 6353 6317 6496 + 6317 6353 6316 6496 + 6353 6352 6316 6496 + 6498 6354 6318 6497 + 6318 6354 6317 6497 + 6354 6353 6317 6497 + 6499 6355 6319 6498 + 6319 6355 6318 6498 + 6355 6354 6318 6498 + 6500 6356 6320 6499 + 6320 6356 6319 6499 + 6356 6355 6319 6499 + 6501 6357 6321 6500 + 6321 6357 6320 6500 + 6357 6356 6320 6500 + 6502 6358 6322 6501 + 6322 6358 6321 6501 + 6358 6357 6321 6501 + 6503 6359 6323 6502 + 6323 6359 6322 6502 + 6359 6358 6322 6502 + 6504 6360 6324 6503 + 6324 6360 6323 6503 + 6360 6359 6323 6503 + 6505 6361 6325 6504 + 6325 6361 6324 6504 + 6361 6360 6324 6504 + 6506 6362 6326 6505 + 6326 6362 6325 6505 + 6362 6361 6325 6505 + 6507 6363 6327 6506 + 6327 6363 6326 6506 + 6363 6362 6326 6506 + 6508 6364 6328 6507 + 6328 6364 6327 6507 + 6364 6363 6327 6507 + 6509 6365 6329 6508 + 6329 6365 6328 6508 + 6365 6364 6328 6508 + 6510 6366 6330 6509 + 6330 6366 6329 6509 + 6366 6365 6329 6509 + 6511 6367 6331 6510 + 6331 6367 6330 6510 + 6367 6366 6330 6510 + 6512 6368 6332 6511 + 6332 6368 6331 6511 + 6368 6367 6331 6511 + 6513 6369 6333 6512 + 6333 6369 6332 6512 + 6369 6368 6332 6512 + 6514 6370 6334 6513 + 6334 6370 6333 6513 + 6370 6369 6333 6513 + 6515 6371 6335 6514 + 6335 6371 6334 6514 + 6371 6370 6334 6514 + 6516 6372 6336 6515 + 6336 6372 6335 6515 + 6372 6371 6335 6515 + 6517 6373 6337 6516 + 6337 6373 6336 6516 + 6373 6372 6336 6516 + 6518 6374 6338 6517 + 6338 6374 6337 6517 + 6374 6373 6337 6517 + 6519 6375 6339 176 + 6339 6375 171 176 + 6375 172 171 176 + 6520 6376 6340 6519 + 6340 6376 6339 6519 + 6376 6375 6339 6519 + 6521 6377 6341 6520 + 6341 6377 6340 6520 + 6377 6376 6340 6520 + 6522 6378 6342 6521 + 6342 6378 6341 6521 + 6378 6377 6341 6521 + 6523 6379 6343 6522 + 6343 6379 6342 6522 + 6379 6378 6342 6522 + 6524 6380 6344 6523 + 6344 6380 6343 6523 + 6380 6379 6343 6523 + 6525 6381 6345 6524 + 6345 6381 6344 6524 + 6381 6380 6344 6524 + 6526 6382 6346 6525 + 6346 6382 6345 6525 + 6382 6381 6345 6525 + 6527 6383 6347 6526 + 6347 6383 6346 6526 + 6383 6382 6346 6526 + 6528 6384 6348 6527 + 6348 6384 6347 6527 + 6384 6383 6347 6527 + 6529 6385 6349 6528 + 6349 6385 6348 6528 + 6385 6384 6348 6528 + 6530 6386 6350 6529 + 6350 6386 6349 6529 + 6386 6385 6349 6529 + 6531 6387 6351 6530 + 6351 6387 6350 6530 + 6387 6386 6350 6530 + 6532 6388 6352 6531 + 6352 6388 6351 6531 + 6388 6387 6351 6531 + 6533 6389 6353 6532 + 6353 6389 6352 6532 + 6389 6388 6352 6532 + 6534 6390 6354 6533 + 6354 6390 6353 6533 + 6390 6389 6353 6533 + 6535 6391 6355 6534 + 6355 6391 6354 6534 + 6391 6390 6354 6534 + 6536 6392 6356 6535 + 6356 6392 6355 6535 + 6392 6391 6355 6535 + 6537 6393 6357 6536 + 6357 6393 6356 6536 + 6393 6392 6356 6536 + 6538 6394 6358 6537 + 6358 6394 6357 6537 + 6394 6393 6357 6537 + 6539 6395 6359 6538 + 6359 6395 6358 6538 + 6395 6394 6358 6538 + 6540 6396 6360 6539 + 6360 6396 6359 6539 + 6396 6395 6359 6539 + 6541 6397 6361 6540 + 6361 6397 6360 6540 + 6397 6396 6360 6540 + 6542 6398 6362 6541 + 6362 6398 6361 6541 + 6398 6397 6361 6541 + 6543 6399 6363 6542 + 6363 6399 6362 6542 + 6399 6398 6362 6542 + 6544 6400 6364 6543 + 6364 6400 6363 6543 + 6400 6399 6363 6543 + 6545 6401 6365 6544 + 6365 6401 6364 6544 + 6401 6400 6364 6544 + 6546 6402 6366 6545 + 6366 6402 6365 6545 + 6402 6401 6365 6545 + 6547 6403 6367 6546 + 6367 6403 6366 6546 + 6403 6402 6366 6546 + 6548 6404 6368 6547 + 6368 6404 6367 6547 + 6404 6403 6367 6547 + 6549 6405 6369 6548 + 6369 6405 6368 6548 + 6405 6404 6368 6548 + 6550 6406 6370 6549 + 6370 6406 6369 6549 + 6406 6405 6369 6549 + 6551 6407 6371 6550 + 6371 6407 6370 6550 + 6407 6406 6370 6550 + 6552 6408 6372 6551 + 6372 6408 6371 6551 + 6408 6407 6371 6551 + 6553 6409 6373 6552 + 6373 6409 6372 6552 + 6409 6408 6372 6552 + 6554 6410 6374 6553 + 6374 6410 6373 6553 + 6410 6409 6373 6553 + 6555 6411 6375 177 + 6375 6411 172 177 + 6411 173 172 177 + 6556 6412 6376 6555 + 6376 6412 6375 6555 + 6412 6411 6375 6555 + 6557 6413 6377 6556 + 6377 6413 6376 6556 + 6413 6412 6376 6556 + 6558 6414 6378 6557 + 6378 6414 6377 6557 + 6414 6413 6377 6557 + 6559 6415 6379 6558 + 6379 6415 6378 6558 + 6415 6414 6378 6558 + 6560 6416 6380 6559 + 6380 6416 6379 6559 + 6416 6415 6379 6559 + 6561 6417 6381 6560 + 6381 6417 6380 6560 + 6417 6416 6380 6560 + 6562 6418 6382 6561 + 6382 6418 6381 6561 + 6418 6417 6381 6561 + 6563 6419 6383 6562 + 6383 6419 6382 6562 + 6419 6418 6382 6562 + 6564 6420 6384 6563 + 6384 6420 6383 6563 + 6420 6419 6383 6563 + 6565 6421 6385 6564 + 6385 6421 6384 6564 + 6421 6420 6384 6564 + 6566 6422 6386 6565 + 6386 6422 6385 6565 + 6422 6421 6385 6565 + 6567 6423 6387 6566 + 6387 6423 6386 6566 + 6423 6422 6386 6566 + 6568 6424 6388 6567 + 6388 6424 6387 6567 + 6424 6423 6387 6567 + 6569 6425 6389 6568 + 6389 6425 6388 6568 + 6425 6424 6388 6568 + 6570 6426 6390 6569 + 6390 6426 6389 6569 + 6426 6425 6389 6569 + 6571 6427 6391 6570 + 6391 6427 6390 6570 + 6427 6426 6390 6570 + 6572 6428 6392 6571 + 6392 6428 6391 6571 + 6428 6427 6391 6571 + 6573 6429 6393 6572 + 6393 6429 6392 6572 + 6429 6428 6392 6572 + 6574 6430 6394 6573 + 6394 6430 6393 6573 + 6430 6429 6393 6573 + 6575 6431 6395 6574 + 6395 6431 6394 6574 + 6431 6430 6394 6574 + 6576 6432 6396 6575 + 6396 6432 6395 6575 + 6432 6431 6395 6575 + 6577 6433 6397 6576 + 6397 6433 6396 6576 + 6433 6432 6396 6576 + 6578 6434 6398 6577 + 6398 6434 6397 6577 + 6434 6433 6397 6577 + 6579 6435 6399 6578 + 6399 6435 6398 6578 + 6435 6434 6398 6578 + 6580 6436 6400 6579 + 6400 6436 6399 6579 + 6436 6435 6399 6579 + 6581 6437 6401 6580 + 6401 6437 6400 6580 + 6437 6436 6400 6580 + 6582 6438 6402 6581 + 6402 6438 6401 6581 + 6438 6437 6401 6581 + 6583 6439 6403 6582 + 6403 6439 6402 6582 + 6439 6438 6402 6582 + 6584 6440 6404 6583 + 6404 6440 6403 6583 + 6440 6439 6403 6583 + 6585 6441 6405 6584 + 6405 6441 6404 6584 + 6441 6440 6404 6584 + 6586 6442 6406 6585 + 6406 6442 6405 6585 + 6442 6441 6405 6585 + 6587 6443 6407 6586 + 6407 6443 6406 6586 + 6443 6442 6406 6586 + 6588 6444 6408 6587 + 6408 6444 6407 6587 + 6444 6443 6407 6587 + 6589 6445 6409 6588 + 6409 6445 6408 6588 + 6445 6444 6408 6588 + 6590 6446 6410 6589 + 6410 6446 6409 6589 + 6446 6445 6409 6589 + 163 65 49 6051 + 2523 1947 49 6051 + 2523 49 65 6051 + 6051 2523 1947 6052 + 2524 1948 1947 6052 + 2524 1947 2523 6052 + 6052 2524 1948 6053 + 2525 1949 1948 6053 + 2525 1948 2524 6053 + 6053 2525 1949 6054 + 2526 1950 1949 6054 + 2526 1949 2525 6054 + 6054 2526 1950 6055 + 2527 1951 1950 6055 + 2527 1950 2526 6055 + 6055 2527 1951 6056 + 2528 1952 1951 6056 + 2528 1951 2527 6056 + 6056 2528 1952 6057 + 2529 1953 1952 6057 + 2529 1952 2528 6057 + 6057 2529 1953 6058 + 2530 1954 1953 6058 + 2530 1953 2529 6058 + 6058 2530 1954 6059 + 2531 1955 1954 6059 + 2531 1954 2530 6059 + 6059 2531 1955 6060 + 2532 1956 1955 6060 + 2532 1955 2531 6060 + 6060 2532 1956 6061 + 2533 1957 1956 6061 + 2533 1956 2532 6061 + 6061 2533 1957 6062 + 2534 1958 1957 6062 + 2534 1957 2533 6062 + 6062 2534 1958 6063 + 2535 1959 1958 6063 + 2535 1958 2534 6063 + 6063 2535 1959 6064 + 2536 1960 1959 6064 + 2536 1959 2535 6064 + 6064 2536 1960 6065 + 2537 1961 1960 6065 + 2537 1960 2536 6065 + 6065 2537 1961 6066 + 2538 1962 1961 6066 + 2538 1961 2537 6066 + 6066 2538 1962 6067 + 2539 1963 1962 6067 + 2539 1962 2538 6067 + 6067 2539 1963 6068 + 2540 1964 1963 6068 + 2540 1963 2539 6068 + 6068 2540 1964 6069 + 2541 1965 1964 6069 + 2541 1964 2540 6069 + 6069 2541 1965 6070 + 2542 1966 1965 6070 + 2542 1965 2541 6070 + 6070 2542 1966 6071 + 2543 1967 1966 6071 + 2543 1966 2542 6071 + 6071 2543 1967 6072 + 2544 1968 1967 6072 + 2544 1967 2543 6072 + 6072 2544 1968 6073 + 2545 1969 1968 6073 + 2545 1968 2544 6073 + 6073 2545 1969 6074 + 2546 1970 1969 6074 + 2546 1969 2545 6074 + 6074 2546 1970 6075 + 2547 1971 1970 6075 + 2547 1970 2546 6075 + 6075 2547 1971 6076 + 2548 1972 1971 6076 + 2548 1971 2547 6076 + 6076 2548 1972 6077 + 2549 1973 1972 6077 + 2549 1972 2548 6077 + 6077 2549 1973 6078 + 2550 1974 1973 6078 + 2550 1973 2549 6078 + 6078 2550 1974 6079 + 2551 1975 1974 6079 + 2551 1974 2550 6079 + 6079 2551 1975 6080 + 2552 1976 1975 6080 + 2552 1975 2551 6080 + 6080 2552 1976 6081 + 2553 1977 1976 6081 + 2553 1976 2552 6081 + 6081 2553 1977 6082 + 2554 1978 1977 6082 + 2554 1977 2553 6082 + 6082 2554 1978 6083 + 2555 1979 1978 6083 + 2555 1978 2554 6083 + 6083 2555 1979 6084 + 2556 1980 1979 6084 + 2556 1979 2555 6084 + 6084 2556 1980 6085 + 2557 1981 1980 6085 + 2557 1980 2556 6085 + 6085 2557 1981 6086 + 2558 1982 1981 6086 + 2558 1981 2557 6086 + 174 66 65 6447 + 2559 2523 65 6447 + 2559 65 66 6447 + 6447 2559 2523 6448 + 2560 2524 2523 6448 + 2560 2523 2559 6448 + 6448 2560 2524 6449 + 2561 2525 2524 6449 + 2561 2524 2560 6449 + 6449 2561 2525 6450 + 2562 2526 2525 6450 + 2562 2525 2561 6450 + 6450 2562 2526 6451 + 2563 2527 2526 6451 + 2563 2526 2562 6451 + 6451 2563 2527 6452 + 2564 2528 2527 6452 + 2564 2527 2563 6452 + 6452 2564 2528 6453 + 2565 2529 2528 6453 + 2565 2528 2564 6453 + 6453 2565 2529 6454 + 2566 2530 2529 6454 + 2566 2529 2565 6454 + 6454 2566 2530 6455 + 2567 2531 2530 6455 + 2567 2530 2566 6455 + 6455 2567 2531 6456 + 2568 2532 2531 6456 + 2568 2531 2567 6456 + 6456 2568 2532 6457 + 2569 2533 2532 6457 + 2569 2532 2568 6457 + 6457 2569 2533 6458 + 2570 2534 2533 6458 + 2570 2533 2569 6458 + 6458 2570 2534 6459 + 2571 2535 2534 6459 + 2571 2534 2570 6459 + 6459 2571 2535 6460 + 2572 2536 2535 6460 + 2572 2535 2571 6460 + 6460 2572 2536 6461 + 2573 2537 2536 6461 + 2573 2536 2572 6461 + 6461 2573 2537 6462 + 2574 2538 2537 6462 + 2574 2537 2573 6462 + 6462 2574 2538 6463 + 2575 2539 2538 6463 + 2575 2538 2574 6463 + 6463 2575 2539 6464 + 2576 2540 2539 6464 + 2576 2539 2575 6464 + 6464 2576 2540 6465 + 2577 2541 2540 6465 + 2577 2540 2576 6465 + 6465 2577 2541 6466 + 2578 2542 2541 6466 + 2578 2541 2577 6466 + 6466 2578 2542 6467 + 2579 2543 2542 6467 + 2579 2542 2578 6467 + 6467 2579 2543 6468 + 2580 2544 2543 6468 + 2580 2543 2579 6468 + 6468 2580 2544 6469 + 2581 2545 2544 6469 + 2581 2544 2580 6469 + 6469 2581 2545 6470 + 2582 2546 2545 6470 + 2582 2545 2581 6470 + 6470 2582 2546 6471 + 2583 2547 2546 6471 + 2583 2546 2582 6471 + 6471 2583 2547 6472 + 2584 2548 2547 6472 + 2584 2547 2583 6472 + 6472 2584 2548 6473 + 2585 2549 2548 6473 + 2585 2548 2584 6473 + 6473 2585 2549 6474 + 2586 2550 2549 6474 + 2586 2549 2585 6474 + 6474 2586 2550 6475 + 2587 2551 2550 6475 + 2587 2550 2586 6475 + 6475 2587 2551 6476 + 2588 2552 2551 6476 + 2588 2551 2587 6476 + 6476 2588 2552 6477 + 2589 2553 2552 6477 + 2589 2552 2588 6477 + 6477 2589 2553 6478 + 2590 2554 2553 6478 + 2590 2553 2589 6478 + 6478 2590 2554 6479 + 2591 2555 2554 6479 + 2591 2554 2590 6479 + 6479 2591 2555 6480 + 2592 2556 2555 6480 + 2592 2555 2591 6480 + 6480 2592 2556 6481 + 2593 2557 2556 6481 + 2593 2556 2592 6481 + 6481 2593 2557 6482 + 2594 2558 2557 6482 + 2594 2557 2593 6482 + 175 67 66 6483 + 2595 2559 66 6483 + 2595 66 67 6483 + 6483 2595 2559 6484 + 2596 2560 2559 6484 + 2596 2559 2595 6484 + 6484 2596 2560 6485 + 2597 2561 2560 6485 + 2597 2560 2596 6485 + 6485 2597 2561 6486 + 2598 2562 2561 6486 + 2598 2561 2597 6486 + 6486 2598 2562 6487 + 2599 2563 2562 6487 + 2599 2562 2598 6487 + 6487 2599 2563 6488 + 2600 2564 2563 6488 + 2600 2563 2599 6488 + 6488 2600 2564 6489 + 2601 2565 2564 6489 + 2601 2564 2600 6489 + 6489 2601 2565 6490 + 2602 2566 2565 6490 + 2602 2565 2601 6490 + 6490 2602 2566 6491 + 2603 2567 2566 6491 + 2603 2566 2602 6491 + 6491 2603 2567 6492 + 2604 2568 2567 6492 + 2604 2567 2603 6492 + 6492 2604 2568 6493 + 2605 2569 2568 6493 + 2605 2568 2604 6493 + 6493 2605 2569 6494 + 2606 2570 2569 6494 + 2606 2569 2605 6494 + 6494 2606 2570 6495 + 2607 2571 2570 6495 + 2607 2570 2606 6495 + 6495 2607 2571 6496 + 2608 2572 2571 6496 + 2608 2571 2607 6496 + 6496 2608 2572 6497 + 2609 2573 2572 6497 + 2609 2572 2608 6497 + 6497 2609 2573 6498 + 2610 2574 2573 6498 + 2610 2573 2609 6498 + 6498 2610 2574 6499 + 2611 2575 2574 6499 + 2611 2574 2610 6499 + 6499 2611 2575 6500 + 2612 2576 2575 6500 + 2612 2575 2611 6500 + 6500 2612 2576 6501 + 2613 2577 2576 6501 + 2613 2576 2612 6501 + 6501 2613 2577 6502 + 2614 2578 2577 6502 + 2614 2577 2613 6502 + 6502 2614 2578 6503 + 2615 2579 2578 6503 + 2615 2578 2614 6503 + 6503 2615 2579 6504 + 2616 2580 2579 6504 + 2616 2579 2615 6504 + 6504 2616 2580 6505 + 2617 2581 2580 6505 + 2617 2580 2616 6505 + 6505 2617 2581 6506 + 2618 2582 2581 6506 + 2618 2581 2617 6506 + 6506 2618 2582 6507 + 2619 2583 2582 6507 + 2619 2582 2618 6507 + 6507 2619 2583 6508 + 2620 2584 2583 6508 + 2620 2583 2619 6508 + 6508 2620 2584 6509 + 2621 2585 2584 6509 + 2621 2584 2620 6509 + 6509 2621 2585 6510 + 2622 2586 2585 6510 + 2622 2585 2621 6510 + 6510 2622 2586 6511 + 2623 2587 2586 6511 + 2623 2586 2622 6511 + 6511 2623 2587 6512 + 2624 2588 2587 6512 + 2624 2587 2623 6512 + 6512 2624 2588 6513 + 2625 2589 2588 6513 + 2625 2588 2624 6513 + 6513 2625 2589 6514 + 2626 2590 2589 6514 + 2626 2589 2625 6514 + 6514 2626 2590 6515 + 2627 2591 2590 6515 + 2627 2590 2626 6515 + 6515 2627 2591 6516 + 2628 2592 2591 6516 + 2628 2591 2627 6516 + 6516 2628 2592 6517 + 2629 2593 2592 6517 + 2629 2592 2628 6517 + 6517 2629 2593 6518 + 2630 2594 2593 6518 + 2630 2593 2629 6518 + 176 68 67 6519 + 2631 2595 67 6519 + 2631 67 68 6519 + 6519 2631 2595 6520 + 2632 2596 2595 6520 + 2632 2595 2631 6520 + 6520 2632 2596 6521 + 2633 2597 2596 6521 + 2633 2596 2632 6521 + 6521 2633 2597 6522 + 2634 2598 2597 6522 + 2634 2597 2633 6522 + 6522 2634 2598 6523 + 2635 2599 2598 6523 + 2635 2598 2634 6523 + 6523 2635 2599 6524 + 2636 2600 2599 6524 + 2636 2599 2635 6524 + 6524 2636 2600 6525 + 2637 2601 2600 6525 + 2637 2600 2636 6525 + 6525 2637 2601 6526 + 2638 2602 2601 6526 + 2638 2601 2637 6526 + 6526 2638 2602 6527 + 2639 2603 2602 6527 + 2639 2602 2638 6527 + 6527 2639 2603 6528 + 2640 2604 2603 6528 + 2640 2603 2639 6528 + 6528 2640 2604 6529 + 2641 2605 2604 6529 + 2641 2604 2640 6529 + 6529 2641 2605 6530 + 2642 2606 2605 6530 + 2642 2605 2641 6530 + 6530 2642 2606 6531 + 2643 2607 2606 6531 + 2643 2606 2642 6531 + 6531 2643 2607 6532 + 2644 2608 2607 6532 + 2644 2607 2643 6532 + 6532 2644 2608 6533 + 2645 2609 2608 6533 + 2645 2608 2644 6533 + 6533 2645 2609 6534 + 2646 2610 2609 6534 + 2646 2609 2645 6534 + 6534 2646 2610 6535 + 2647 2611 2610 6535 + 2647 2610 2646 6535 + 6535 2647 2611 6536 + 2648 2612 2611 6536 + 2648 2611 2647 6536 + 6536 2648 2612 6537 + 2649 2613 2612 6537 + 2649 2612 2648 6537 + 6537 2649 2613 6538 + 2650 2614 2613 6538 + 2650 2613 2649 6538 + 6538 2650 2614 6539 + 2651 2615 2614 6539 + 2651 2614 2650 6539 + 6539 2651 2615 6540 + 2652 2616 2615 6540 + 2652 2615 2651 6540 + 6540 2652 2616 6541 + 2653 2617 2616 6541 + 2653 2616 2652 6541 + 6541 2653 2617 6542 + 2654 2618 2617 6542 + 2654 2617 2653 6542 + 6542 2654 2618 6543 + 2655 2619 2618 6543 + 2655 2618 2654 6543 + 6543 2655 2619 6544 + 2656 2620 2619 6544 + 2656 2619 2655 6544 + 6544 2656 2620 6545 + 2657 2621 2620 6545 + 2657 2620 2656 6545 + 6545 2657 2621 6546 + 2658 2622 2621 6546 + 2658 2621 2657 6546 + 6546 2658 2622 6547 + 2659 2623 2622 6547 + 2659 2622 2658 6547 + 6547 2659 2623 6548 + 2660 2624 2623 6548 + 2660 2623 2659 6548 + 6548 2660 2624 6549 + 2661 2625 2624 6549 + 2661 2624 2660 6549 + 6549 2661 2625 6550 + 2662 2626 2625 6550 + 2662 2625 2661 6550 + 6550 2662 2626 6551 + 2663 2627 2626 6551 + 2663 2626 2662 6551 + 6551 2663 2627 6552 + 2664 2628 2627 6552 + 2664 2627 2663 6552 + 6552 2664 2628 6553 + 2665 2629 2628 6553 + 2665 2628 2664 6553 + 6553 2665 2629 6554 + 2666 2630 2629 6554 + 2666 2629 2665 6554 + 177 69 68 6555 + 2667 2631 68 6555 + 2667 68 69 6555 + 6555 2667 2631 6556 + 2668 2632 2631 6556 + 2668 2631 2667 6556 + 6556 2668 2632 6557 + 2669 2633 2632 6557 + 2669 2632 2668 6557 + 6557 2669 2633 6558 + 2670 2634 2633 6558 + 2670 2633 2669 6558 + 6558 2670 2634 6559 + 2671 2635 2634 6559 + 2671 2634 2670 6559 + 6559 2671 2635 6560 + 2672 2636 2635 6560 + 2672 2635 2671 6560 + 6560 2672 2636 6561 + 2673 2637 2636 6561 + 2673 2636 2672 6561 + 6561 2673 2637 6562 + 2674 2638 2637 6562 + 2674 2637 2673 6562 + 6562 2674 2638 6563 + 2675 2639 2638 6563 + 2675 2638 2674 6563 + 6563 2675 2639 6564 + 2676 2640 2639 6564 + 2676 2639 2675 6564 + 6564 2676 2640 6565 + 2677 2641 2640 6565 + 2677 2640 2676 6565 + 6565 2677 2641 6566 + 2678 2642 2641 6566 + 2678 2641 2677 6566 + 6566 2678 2642 6567 + 2679 2643 2642 6567 + 2679 2642 2678 6567 + 6567 2679 2643 6568 + 2680 2644 2643 6568 + 2680 2643 2679 6568 + 6568 2680 2644 6569 + 2681 2645 2644 6569 + 2681 2644 2680 6569 + 6569 2681 2645 6570 + 2682 2646 2645 6570 + 2682 2645 2681 6570 + 6570 2682 2646 6571 + 2683 2647 2646 6571 + 2683 2646 2682 6571 + 6571 2683 2647 6572 + 2684 2648 2647 6572 + 2684 2647 2683 6572 + 6572 2684 2648 6573 + 2685 2649 2648 6573 + 2685 2648 2684 6573 + 6573 2685 2649 6574 + 2686 2650 2649 6574 + 2686 2649 2685 6574 + 6574 2686 2650 6575 + 2687 2651 2650 6575 + 2687 2650 2686 6575 + 6575 2687 2651 6576 + 2688 2652 2651 6576 + 2688 2651 2687 6576 + 6576 2688 2652 6577 + 2689 2653 2652 6577 + 2689 2652 2688 6577 + 6577 2689 2653 6578 + 2690 2654 2653 6578 + 2690 2653 2689 6578 + 6578 2690 2654 6579 + 2691 2655 2654 6579 + 2691 2654 2690 6579 + 6579 2691 2655 6580 + 2692 2656 2655 6580 + 2692 2655 2691 6580 + 6580 2692 2656 6581 + 2693 2657 2656 6581 + 2693 2656 2692 6581 + 6581 2693 2657 6582 + 2694 2658 2657 6582 + 2694 2657 2693 6582 + 6582 2694 2658 6583 + 2695 2659 2658 6583 + 2695 2658 2694 6583 + 6583 2695 2659 6584 + 2696 2660 2659 6584 + 2696 2659 2695 6584 + 6584 2696 2660 6585 + 2697 2661 2660 6585 + 2697 2660 2696 6585 + 6585 2697 2661 6586 + 2698 2662 2661 6586 + 2698 2661 2697 6586 + 6586 2698 2662 6587 + 2699 2663 2662 6587 + 2699 2662 2698 6587 + 6587 2699 2663 6588 + 2700 2664 2663 6588 + 2700 2663 2699 6588 + 6588 2700 2664 6589 + 2701 2665 2664 6589 + 2701 2664 2700 6589 + 6589 2701 2665 6590 + 2702 2666 2665 6590 + 2702 2665 2701 6590 + 178 70 69 6591 + 2703 2667 69 6591 + 2703 69 70 6591 + 6591 2703 2667 6592 + 2704 2668 2667 6592 + 2704 2667 2703 6592 + 6592 2704 2668 6593 + 2705 2669 2668 6593 + 2705 2668 2704 6593 + 6593 2705 2669 6594 + 2706 2670 2669 6594 + 2706 2669 2705 6594 + 6594 2706 2670 6595 + 2707 2671 2670 6595 + 2707 2670 2706 6595 + 6595 2707 2671 6596 + 2708 2672 2671 6596 + 2708 2671 2707 6596 + 6596 2708 2672 6597 + 2709 2673 2672 6597 + 2709 2672 2708 6597 + 6597 2709 2673 6598 + 2710 2674 2673 6598 + 2710 2673 2709 6598 + 6598 2710 2674 6599 + 2711 2675 2674 6599 + 2711 2674 2710 6599 + 6599 2711 2675 6600 + 2712 2676 2675 6600 + 2712 2675 2711 6600 + 6600 2712 2676 6601 + 2713 2677 2676 6601 + 2713 2676 2712 6601 + 6601 2713 2677 6602 + 2714 2678 2677 6602 + 2714 2677 2713 6602 + 6602 2714 2678 6603 + 2715 2679 2678 6603 + 2715 2678 2714 6603 + 6603 2715 2679 6604 + 2716 2680 2679 6604 + 2716 2679 2715 6604 + 6604 2716 2680 6605 + 2717 2681 2680 6605 + 2717 2680 2716 6605 + 6605 2717 2681 6606 + 2718 2682 2681 6606 + 2718 2681 2717 6606 + 6606 2718 2682 6607 + 2719 2683 2682 6607 + 2719 2682 2718 6607 + 6607 2719 2683 6608 + 2720 2684 2683 6608 + 2720 2683 2719 6608 + 6608 2720 2684 6609 + 2721 2685 2684 6609 + 2721 2684 2720 6609 + 6609 2721 2685 6610 + 2722 2686 2685 6610 + 2722 2685 2721 6610 + 6610 2722 2686 6611 + 2723 2687 2686 6611 + 2723 2686 2722 6611 + 6611 2723 2687 6612 + 2724 2688 2687 6612 + 2724 2687 2723 6612 + 6612 2724 2688 6613 + 2725 2689 2688 6613 + 2725 2688 2724 6613 + 6613 2725 2689 6614 + 2726 2690 2689 6614 + 2726 2689 2725 6614 + 6614 2726 2690 6615 + 2727 2691 2690 6615 + 2727 2690 2726 6615 + 6615 2727 2691 6616 + 2728 2692 2691 6616 + 2728 2691 2727 6616 + 6616 2728 2692 6617 + 2729 2693 2692 6617 + 2729 2692 2728 6617 + 6617 2729 2693 6618 + 2730 2694 2693 6618 + 2730 2693 2729 6618 + 6618 2730 2694 6619 + 2731 2695 2694 6619 + 2731 2694 2730 6619 + 6619 2731 2695 6620 + 2732 2696 2695 6620 + 2732 2695 2731 6620 + 6620 2732 2696 6621 + 2733 2697 2696 6621 + 2733 2696 2732 6621 + 6621 2733 2697 6622 + 2734 2698 2697 6622 + 2734 2697 2733 6622 + 6622 2734 2698 6623 + 2735 2699 2698 6623 + 2735 2698 2734 6623 + 6623 2735 2699 6624 + 2736 2700 2699 6624 + 2736 2699 2735 6624 + 6624 2736 2700 6625 + 2737 2701 2700 6625 + 2737 2700 2736 6625 + 6625 2737 2701 6626 + 2738 2702 2701 6626 + 2738 2701 2737 6626 + 2523 6447 6051 65 + 6051 6447 163 65 + 6447 174 163 65 + 2524 6448 6052 2523 + 6052 6448 6051 2523 + 6448 6447 6051 2523 + 2525 6449 6053 2524 + 6053 6449 6052 2524 + 6449 6448 6052 2524 + 2526 6450 6054 2525 + 6054 6450 6053 2525 + 6450 6449 6053 2525 + 2527 6451 6055 2526 + 6055 6451 6054 2526 + 6451 6450 6054 2526 + 2528 6452 6056 2527 + 6056 6452 6055 2527 + 6452 6451 6055 2527 + 2529 6453 6057 2528 + 6057 6453 6056 2528 + 6453 6452 6056 2528 + 2530 6454 6058 2529 + 6058 6454 6057 2529 + 6454 6453 6057 2529 + 2531 6455 6059 2530 + 6059 6455 6058 2530 + 6455 6454 6058 2530 + 2532 6456 6060 2531 + 6060 6456 6059 2531 + 6456 6455 6059 2531 + 2533 6457 6061 2532 + 6061 6457 6060 2532 + 6457 6456 6060 2532 + 2534 6458 6062 2533 + 6062 6458 6061 2533 + 6458 6457 6061 2533 + 2535 6459 6063 2534 + 6063 6459 6062 2534 + 6459 6458 6062 2534 + 2536 6460 6064 2535 + 6064 6460 6063 2535 + 6460 6459 6063 2535 + 2537 6461 6065 2536 + 6065 6461 6064 2536 + 6461 6460 6064 2536 + 2538 6462 6066 2537 + 6066 6462 6065 2537 + 6462 6461 6065 2537 + 2539 6463 6067 2538 + 6067 6463 6066 2538 + 6463 6462 6066 2538 + 2540 6464 6068 2539 + 6068 6464 6067 2539 + 6464 6463 6067 2539 + 2541 6465 6069 2540 + 6069 6465 6068 2540 + 6465 6464 6068 2540 + 2542 6466 6070 2541 + 6070 6466 6069 2541 + 6466 6465 6069 2541 + 2543 6467 6071 2542 + 6071 6467 6070 2542 + 6467 6466 6070 2542 + 2544 6468 6072 2543 + 6072 6468 6071 2543 + 6468 6467 6071 2543 + 2545 6469 6073 2544 + 6073 6469 6072 2544 + 6469 6468 6072 2544 + 2546 6470 6074 2545 + 6074 6470 6073 2545 + 6470 6469 6073 2545 + 2547 6471 6075 2546 + 6075 6471 6074 2546 + 6471 6470 6074 2546 + 2548 6472 6076 2547 + 6076 6472 6075 2547 + 6472 6471 6075 2547 + 2549 6473 6077 2548 + 6077 6473 6076 2548 + 6473 6472 6076 2548 + 2550 6474 6078 2549 + 6078 6474 6077 2549 + 6474 6473 6077 2549 + 2551 6475 6079 2550 + 6079 6475 6078 2550 + 6475 6474 6078 2550 + 2552 6476 6080 2551 + 6080 6476 6079 2551 + 6476 6475 6079 2551 + 2553 6477 6081 2552 + 6081 6477 6080 2552 + 6477 6476 6080 2552 + 2554 6478 6082 2553 + 6082 6478 6081 2553 + 6478 6477 6081 2553 + 2555 6479 6083 2554 + 6083 6479 6082 2554 + 6479 6478 6082 2554 + 2556 6480 6084 2555 + 6084 6480 6083 2555 + 6480 6479 6083 2555 + 2557 6481 6085 2556 + 6085 6481 6084 2556 + 6481 6480 6084 2556 + 2558 6482 6086 2557 + 6086 6482 6085 2557 + 6482 6481 6085 2557 + 2559 6483 6447 66 + 6447 6483 174 66 + 6483 175 174 66 + 2560 6484 6448 2559 + 6448 6484 6447 2559 + 6484 6483 6447 2559 + 2561 6485 6449 2560 + 6449 6485 6448 2560 + 6485 6484 6448 2560 + 2562 6486 6450 2561 + 6450 6486 6449 2561 + 6486 6485 6449 2561 + 2563 6487 6451 2562 + 6451 6487 6450 2562 + 6487 6486 6450 2562 + 2564 6488 6452 2563 + 6452 6488 6451 2563 + 6488 6487 6451 2563 + 2565 6489 6453 2564 + 6453 6489 6452 2564 + 6489 6488 6452 2564 + 2566 6490 6454 2565 + 6454 6490 6453 2565 + 6490 6489 6453 2565 + 2567 6491 6455 2566 + 6455 6491 6454 2566 + 6491 6490 6454 2566 + 2568 6492 6456 2567 + 6456 6492 6455 2567 + 6492 6491 6455 2567 + 2569 6493 6457 2568 + 6457 6493 6456 2568 + 6493 6492 6456 2568 + 2570 6494 6458 2569 + 6458 6494 6457 2569 + 6494 6493 6457 2569 + 2571 6495 6459 2570 + 6459 6495 6458 2570 + 6495 6494 6458 2570 + 2572 6496 6460 2571 + 6460 6496 6459 2571 + 6496 6495 6459 2571 + 2573 6497 6461 2572 + 6461 6497 6460 2572 + 6497 6496 6460 2572 + 2574 6498 6462 2573 + 6462 6498 6461 2573 + 6498 6497 6461 2573 + 2575 6499 6463 2574 + 6463 6499 6462 2574 + 6499 6498 6462 2574 + 2576 6500 6464 2575 + 6464 6500 6463 2575 + 6500 6499 6463 2575 + 2577 6501 6465 2576 + 6465 6501 6464 2576 + 6501 6500 6464 2576 + 2578 6502 6466 2577 + 6466 6502 6465 2577 + 6502 6501 6465 2577 + 2579 6503 6467 2578 + 6467 6503 6466 2578 + 6503 6502 6466 2578 + 2580 6504 6468 2579 + 6468 6504 6467 2579 + 6504 6503 6467 2579 + 2581 6505 6469 2580 + 6469 6505 6468 2580 + 6505 6504 6468 2580 + 2582 6506 6470 2581 + 6470 6506 6469 2581 + 6506 6505 6469 2581 + 2583 6507 6471 2582 + 6471 6507 6470 2582 + 6507 6506 6470 2582 + 2584 6508 6472 2583 + 6472 6508 6471 2583 + 6508 6507 6471 2583 + 2585 6509 6473 2584 + 6473 6509 6472 2584 + 6509 6508 6472 2584 + 2586 6510 6474 2585 + 6474 6510 6473 2585 + 6510 6509 6473 2585 + 2587 6511 6475 2586 + 6475 6511 6474 2586 + 6511 6510 6474 2586 + 2588 6512 6476 2587 + 6476 6512 6475 2587 + 6512 6511 6475 2587 + 2589 6513 6477 2588 + 6477 6513 6476 2588 + 6513 6512 6476 2588 + 2590 6514 6478 2589 + 6478 6514 6477 2589 + 6514 6513 6477 2589 + 2591 6515 6479 2590 + 6479 6515 6478 2590 + 6515 6514 6478 2590 + 2592 6516 6480 2591 + 6480 6516 6479 2591 + 6516 6515 6479 2591 + 2593 6517 6481 2592 + 6481 6517 6480 2592 + 6517 6516 6480 2592 + 2594 6518 6482 2593 + 6482 6518 6481 2593 + 6518 6517 6481 2593 + 2595 6519 6483 67 + 6483 6519 175 67 + 6519 176 175 67 + 2596 6520 6484 2595 + 6484 6520 6483 2595 + 6520 6519 6483 2595 + 2597 6521 6485 2596 + 6485 6521 6484 2596 + 6521 6520 6484 2596 + 2598 6522 6486 2597 + 6486 6522 6485 2597 + 6522 6521 6485 2597 + 2599 6523 6487 2598 + 6487 6523 6486 2598 + 6523 6522 6486 2598 + 2600 6524 6488 2599 + 6488 6524 6487 2599 + 6524 6523 6487 2599 + 2601 6525 6489 2600 + 6489 6525 6488 2600 + 6525 6524 6488 2600 + 2602 6526 6490 2601 + 6490 6526 6489 2601 + 6526 6525 6489 2601 + 2603 6527 6491 2602 + 6491 6527 6490 2602 + 6527 6526 6490 2602 + 2604 6528 6492 2603 + 6492 6528 6491 2603 + 6528 6527 6491 2603 + 2605 6529 6493 2604 + 6493 6529 6492 2604 + 6529 6528 6492 2604 + 2606 6530 6494 2605 + 6494 6530 6493 2605 + 6530 6529 6493 2605 + 2607 6531 6495 2606 + 6495 6531 6494 2606 + 6531 6530 6494 2606 + 2608 6532 6496 2607 + 6496 6532 6495 2607 + 6532 6531 6495 2607 + 2609 6533 6497 2608 + 6497 6533 6496 2608 + 6533 6532 6496 2608 + 2610 6534 6498 2609 + 6498 6534 6497 2609 + 6534 6533 6497 2609 + 2611 6535 6499 2610 + 6499 6535 6498 2610 + 6535 6534 6498 2610 + 2612 6536 6500 2611 + 6500 6536 6499 2611 + 6536 6535 6499 2611 + 2613 6537 6501 2612 + 6501 6537 6500 2612 + 6537 6536 6500 2612 + 2614 6538 6502 2613 + 6502 6538 6501 2613 + 6538 6537 6501 2613 + 2615 6539 6503 2614 + 6503 6539 6502 2614 + 6539 6538 6502 2614 + 2616 6540 6504 2615 + 6504 6540 6503 2615 + 6540 6539 6503 2615 + 2617 6541 6505 2616 + 6505 6541 6504 2616 + 6541 6540 6504 2616 + 2618 6542 6506 2617 + 6506 6542 6505 2617 + 6542 6541 6505 2617 + 2619 6543 6507 2618 + 6507 6543 6506 2618 + 6543 6542 6506 2618 + 2620 6544 6508 2619 + 6508 6544 6507 2619 + 6544 6543 6507 2619 + 2621 6545 6509 2620 + 6509 6545 6508 2620 + 6545 6544 6508 2620 + 2622 6546 6510 2621 + 6510 6546 6509 2621 + 6546 6545 6509 2621 + 2623 6547 6511 2622 + 6511 6547 6510 2622 + 6547 6546 6510 2622 + 2624 6548 6512 2623 + 6512 6548 6511 2623 + 6548 6547 6511 2623 + 2625 6549 6513 2624 + 6513 6549 6512 2624 + 6549 6548 6512 2624 + 2626 6550 6514 2625 + 6514 6550 6513 2625 + 6550 6549 6513 2625 + 2627 6551 6515 2626 + 6515 6551 6514 2626 + 6551 6550 6514 2626 + 2628 6552 6516 2627 + 6516 6552 6515 2627 + 6552 6551 6515 2627 + 2629 6553 6517 2628 + 6517 6553 6516 2628 + 6553 6552 6516 2628 + 2630 6554 6518 2629 + 6518 6554 6517 2629 + 6554 6553 6517 2629 + 2631 6555 6519 68 + 6519 6555 176 68 + 6555 177 176 68 + 2632 6556 6520 2631 + 6520 6556 6519 2631 + 6556 6555 6519 2631 + 2633 6557 6521 2632 + 6521 6557 6520 2632 + 6557 6556 6520 2632 + 2634 6558 6522 2633 + 6522 6558 6521 2633 + 6558 6557 6521 2633 + 2635 6559 6523 2634 + 6523 6559 6522 2634 + 6559 6558 6522 2634 + 2636 6560 6524 2635 + 6524 6560 6523 2635 + 6560 6559 6523 2635 + 2637 6561 6525 2636 + 6525 6561 6524 2636 + 6561 6560 6524 2636 + 2638 6562 6526 2637 + 6526 6562 6525 2637 + 6562 6561 6525 2637 + 2639 6563 6527 2638 + 6527 6563 6526 2638 + 6563 6562 6526 2638 + 2640 6564 6528 2639 + 6528 6564 6527 2639 + 6564 6563 6527 2639 + 2641 6565 6529 2640 + 6529 6565 6528 2640 + 6565 6564 6528 2640 + 2642 6566 6530 2641 + 6530 6566 6529 2641 + 6566 6565 6529 2641 + 2643 6567 6531 2642 + 6531 6567 6530 2642 + 6567 6566 6530 2642 + 2644 6568 6532 2643 + 6532 6568 6531 2643 + 6568 6567 6531 2643 + 2645 6569 6533 2644 + 6533 6569 6532 2644 + 6569 6568 6532 2644 + 2646 6570 6534 2645 + 6534 6570 6533 2645 + 6570 6569 6533 2645 + 2647 6571 6535 2646 + 6535 6571 6534 2646 + 6571 6570 6534 2646 + 2648 6572 6536 2647 + 6536 6572 6535 2647 + 6572 6571 6535 2647 + 2649 6573 6537 2648 + 6537 6573 6536 2648 + 6573 6572 6536 2648 + 2650 6574 6538 2649 + 6538 6574 6537 2649 + 6574 6573 6537 2649 + 2651 6575 6539 2650 + 6539 6575 6538 2650 + 6575 6574 6538 2650 + 2652 6576 6540 2651 + 6540 6576 6539 2651 + 6576 6575 6539 2651 + 2653 6577 6541 2652 + 6541 6577 6540 2652 + 6577 6576 6540 2652 + 2654 6578 6542 2653 + 6542 6578 6541 2653 + 6578 6577 6541 2653 + 2655 6579 6543 2654 + 6543 6579 6542 2654 + 6579 6578 6542 2654 + 2656 6580 6544 2655 + 6544 6580 6543 2655 + 6580 6579 6543 2655 + 2657 6581 6545 2656 + 6545 6581 6544 2656 + 6581 6580 6544 2656 + 2658 6582 6546 2657 + 6546 6582 6545 2657 + 6582 6581 6545 2657 + 2659 6583 6547 2658 + 6547 6583 6546 2658 + 6583 6582 6546 2658 + 2660 6584 6548 2659 + 6548 6584 6547 2659 + 6584 6583 6547 2659 + 2661 6585 6549 2660 + 6549 6585 6548 2660 + 6585 6584 6548 2660 + 2662 6586 6550 2661 + 6550 6586 6549 2661 + 6586 6585 6549 2661 + 2663 6587 6551 2662 + 6551 6587 6550 2662 + 6587 6586 6550 2662 + 2664 6588 6552 2663 + 6552 6588 6551 2663 + 6588 6587 6551 2663 + 2665 6589 6553 2664 + 6553 6589 6552 2664 + 6589 6588 6552 2664 + 2666 6590 6554 2665 + 6554 6590 6553 2665 + 6590 6589 6553 2665 + 2667 6591 6555 69 + 6555 6591 177 69 + 6591 178 177 69 + 2668 6592 6556 2667 + 6556 6592 6555 2667 + 6592 6591 6555 2667 + 2669 6593 6557 2668 + 6557 6593 6556 2668 + 6593 6592 6556 2668 + 2670 6594 6558 2669 + 6558 6594 6557 2669 + 6594 6593 6557 2669 + 2671 6595 6559 2670 + 6559 6595 6558 2670 + 6595 6594 6558 2670 + 2672 6596 6560 2671 + 6560 6596 6559 2671 + 6596 6595 6559 2671 + 2673 6597 6561 2672 + 6561 6597 6560 2672 + 6597 6596 6560 2672 + 2674 6598 6562 2673 + 6562 6598 6561 2673 + 6598 6597 6561 2673 + 2675 6599 6563 2674 + 6563 6599 6562 2674 + 6599 6598 6562 2674 + 2676 6600 6564 2675 + 6564 6600 6563 2675 + 6600 6599 6563 2675 + 2677 6601 6565 2676 + 6565 6601 6564 2676 + 6601 6600 6564 2676 + 2678 6602 6566 2677 + 6566 6602 6565 2677 + 6602 6601 6565 2677 + 2679 6603 6567 2678 + 6567 6603 6566 2678 + 6603 6602 6566 2678 + 2680 6604 6568 2679 + 6568 6604 6567 2679 + 6604 6603 6567 2679 + 2681 6605 6569 2680 + 6569 6605 6568 2680 + 6605 6604 6568 2680 + 2682 6606 6570 2681 + 6570 6606 6569 2681 + 6606 6605 6569 2681 + 2683 6607 6571 2682 + 6571 6607 6570 2682 + 6607 6606 6570 2682 + 2684 6608 6572 2683 + 6572 6608 6571 2683 + 6608 6607 6571 2683 + 2685 6609 6573 2684 + 6573 6609 6572 2684 + 6609 6608 6572 2684 + 2686 6610 6574 2685 + 6574 6610 6573 2685 + 6610 6609 6573 2685 + 2687 6611 6575 2686 + 6575 6611 6574 2686 + 6611 6610 6574 2686 + 2688 6612 6576 2687 + 6576 6612 6575 2687 + 6612 6611 6575 2687 + 2689 6613 6577 2688 + 6577 6613 6576 2688 + 6613 6612 6576 2688 + 2690 6614 6578 2689 + 6578 6614 6577 2689 + 6614 6613 6577 2689 + 2691 6615 6579 2690 + 6579 6615 6578 2690 + 6615 6614 6578 2690 + 2692 6616 6580 2691 + 6580 6616 6579 2691 + 6616 6615 6579 2691 + 2693 6617 6581 2692 + 6581 6617 6580 2692 + 6617 6616 6580 2692 + 2694 6618 6582 2693 + 6582 6618 6581 2693 + 6618 6617 6581 2693 + 2695 6619 6583 2694 + 6583 6619 6582 2694 + 6619 6618 6582 2694 + 2696 6620 6584 2695 + 6584 6620 6583 2695 + 6620 6619 6583 2695 + 2697 6621 6585 2696 + 6585 6621 6584 2696 + 6621 6620 6584 2696 + 2698 6622 6586 2697 + 6586 6622 6585 2697 + 6622 6621 6585 2697 + 2699 6623 6587 2698 + 6587 6623 6586 2698 + 6623 6622 6586 2698 + 2700 6624 6588 2699 + 6588 6624 6587 2699 + 6624 6623 6587 2699 + 2701 6625 6589 2700 + 6589 6625 6588 2700 + 6625 6624 6588 2700 + 2702 6626 6590 2701 + 6590 6626 6589 2701 + 6626 6625 6589 2701 + 128 179 164 4791 + 6627 6087 164 4791 + 6627 164 179 4791 + 4791 6627 6087 4792 + 6628 6088 6087 4792 + 6628 6087 6627 4792 + 4792 6628 6088 4793 + 6629 6089 6088 4793 + 6629 6088 6628 4793 + 4793 6629 6089 4794 + 6630 6090 6089 4794 + 6630 6089 6629 4794 + 4794 6630 6090 4795 + 6631 6091 6090 4795 + 6631 6090 6630 4795 + 4795 6631 6091 4796 + 6632 6092 6091 4796 + 6632 6091 6631 4796 + 4796 6632 6092 4797 + 6633 6093 6092 4797 + 6633 6092 6632 4797 + 4797 6633 6093 4798 + 6634 6094 6093 4798 + 6634 6093 6633 4798 + 4798 6634 6094 4799 + 6635 6095 6094 4799 + 6635 6094 6634 4799 + 4799 6635 6095 4800 + 6636 6096 6095 4800 + 6636 6095 6635 4800 + 4800 6636 6096 4801 + 6637 6097 6096 4801 + 6637 6096 6636 4801 + 4801 6637 6097 4802 + 6638 6098 6097 4802 + 6638 6097 6637 4802 + 4802 6638 6098 4803 + 6639 6099 6098 4803 + 6639 6098 6638 4803 + 4803 6639 6099 4804 + 6640 6100 6099 4804 + 6640 6099 6639 4804 + 4804 6640 6100 4805 + 6641 6101 6100 4805 + 6641 6100 6640 4805 + 4805 6641 6101 4806 + 6642 6102 6101 4806 + 6642 6101 6641 4806 + 4806 6642 6102 4807 + 6643 6103 6102 4807 + 6643 6102 6642 4807 + 4807 6643 6103 4808 + 6644 6104 6103 4808 + 6644 6103 6643 4808 + 4808 6644 6104 4809 + 6645 6105 6104 4809 + 6645 6104 6644 4809 + 4809 6645 6105 4810 + 6646 6106 6105 4810 + 6646 6105 6645 4810 + 4810 6646 6106 4811 + 6647 6107 6106 4811 + 6647 6106 6646 4811 + 4811 6647 6107 4812 + 6648 6108 6107 4812 + 6648 6107 6647 4812 + 4812 6648 6108 4813 + 6649 6109 6108 4813 + 6649 6108 6648 4813 + 4813 6649 6109 4814 + 6650 6110 6109 4814 + 6650 6109 6649 4814 + 4814 6650 6110 4815 + 6651 6111 6110 4815 + 6651 6110 6650 4815 + 4815 6651 6111 4816 + 6652 6112 6111 4816 + 6652 6111 6651 4816 + 4816 6652 6112 4817 + 6653 6113 6112 4817 + 6653 6112 6652 4817 + 4817 6653 6113 4818 + 6654 6114 6113 4818 + 6654 6113 6653 4818 + 4818 6654 6114 4819 + 6655 6115 6114 4819 + 6655 6114 6654 4819 + 4819 6655 6115 4820 + 6656 6116 6115 4820 + 6656 6115 6655 4820 + 4820 6656 6116 4821 + 6657 6117 6116 4821 + 6657 6116 6656 4821 + 4821 6657 6117 4822 + 6658 6118 6117 4822 + 6658 6117 6657 4822 + 4822 6658 6118 4823 + 6659 6119 6118 4823 + 6659 6118 6658 4823 + 4823 6659 6119 4824 + 6660 6120 6119 4824 + 6660 6119 6659 4824 + 4824 6660 6120 4825 + 6661 6121 6120 4825 + 6661 6120 6660 4825 + 4825 6661 6121 4826 + 6662 6122 6121 4826 + 6662 6121 6661 4826 + 164 180 166 6087 + 6663 6159 166 6087 + 6663 166 180 6087 + 6087 6663 6159 6088 + 6664 6160 6159 6088 + 6664 6159 6663 6088 + 6088 6664 6160 6089 + 6665 6161 6160 6089 + 6665 6160 6664 6089 + 6089 6665 6161 6090 + 6666 6162 6161 6090 + 6666 6161 6665 6090 + 6090 6666 6162 6091 + 6667 6163 6162 6091 + 6667 6162 6666 6091 + 6091 6667 6163 6092 + 6668 6164 6163 6092 + 6668 6163 6667 6092 + 6092 6668 6164 6093 + 6669 6165 6164 6093 + 6669 6164 6668 6093 + 6093 6669 6165 6094 + 6670 6166 6165 6094 + 6670 6165 6669 6094 + 6094 6670 6166 6095 + 6671 6167 6166 6095 + 6671 6166 6670 6095 + 6095 6671 6167 6096 + 6672 6168 6167 6096 + 6672 6167 6671 6096 + 6096 6672 6168 6097 + 6673 6169 6168 6097 + 6673 6168 6672 6097 + 6097 6673 6169 6098 + 6674 6170 6169 6098 + 6674 6169 6673 6098 + 6098 6674 6170 6099 + 6675 6171 6170 6099 + 6675 6170 6674 6099 + 6099 6675 6171 6100 + 6676 6172 6171 6100 + 6676 6171 6675 6100 + 6100 6676 6172 6101 + 6677 6173 6172 6101 + 6677 6172 6676 6101 + 6101 6677 6173 6102 + 6678 6174 6173 6102 + 6678 6173 6677 6102 + 6102 6678 6174 6103 + 6679 6175 6174 6103 + 6679 6174 6678 6103 + 6103 6679 6175 6104 + 6680 6176 6175 6104 + 6680 6175 6679 6104 + 6104 6680 6176 6105 + 6681 6177 6176 6105 + 6681 6176 6680 6105 + 6105 6681 6177 6106 + 6682 6178 6177 6106 + 6682 6177 6681 6106 + 6106 6682 6178 6107 + 6683 6179 6178 6107 + 6683 6178 6682 6107 + 6107 6683 6179 6108 + 6684 6180 6179 6108 + 6684 6179 6683 6108 + 6108 6684 6180 6109 + 6685 6181 6180 6109 + 6685 6180 6684 6109 + 6109 6685 6181 6110 + 6686 6182 6181 6110 + 6686 6181 6685 6110 + 6110 6686 6182 6111 + 6687 6183 6182 6111 + 6687 6182 6686 6111 + 6111 6687 6183 6112 + 6688 6184 6183 6112 + 6688 6183 6687 6112 + 6112 6688 6184 6113 + 6689 6185 6184 6113 + 6689 6184 6688 6113 + 6113 6689 6185 6114 + 6690 6186 6185 6114 + 6690 6185 6689 6114 + 6114 6690 6186 6115 + 6691 6187 6186 6115 + 6691 6186 6690 6115 + 6115 6691 6187 6116 + 6692 6188 6187 6116 + 6692 6187 6691 6116 + 6116 6692 6188 6117 + 6693 6189 6188 6117 + 6693 6188 6692 6117 + 6117 6693 6189 6118 + 6694 6190 6189 6118 + 6694 6189 6693 6118 + 6118 6694 6190 6119 + 6695 6191 6190 6119 + 6695 6190 6694 6119 + 6119 6695 6191 6120 + 6696 6192 6191 6120 + 6696 6191 6695 6120 + 6120 6696 6192 6121 + 6697 6193 6192 6121 + 6697 6192 6696 6121 + 6121 6697 6193 6122 + 6698 6194 6193 6122 + 6698 6193 6697 6122 + 179 181 180 6627 + 6699 6663 180 6627 + 6699 180 181 6627 + 6627 6699 6663 6628 + 6700 6664 6663 6628 + 6700 6663 6699 6628 + 6628 6700 6664 6629 + 6701 6665 6664 6629 + 6701 6664 6700 6629 + 6629 6701 6665 6630 + 6702 6666 6665 6630 + 6702 6665 6701 6630 + 6630 6702 6666 6631 + 6703 6667 6666 6631 + 6703 6666 6702 6631 + 6631 6703 6667 6632 + 6704 6668 6667 6632 + 6704 6667 6703 6632 + 6632 6704 6668 6633 + 6705 6669 6668 6633 + 6705 6668 6704 6633 + 6633 6705 6669 6634 + 6706 6670 6669 6634 + 6706 6669 6705 6634 + 6634 6706 6670 6635 + 6707 6671 6670 6635 + 6707 6670 6706 6635 + 6635 6707 6671 6636 + 6708 6672 6671 6636 + 6708 6671 6707 6636 + 6636 6708 6672 6637 + 6709 6673 6672 6637 + 6709 6672 6708 6637 + 6637 6709 6673 6638 + 6710 6674 6673 6638 + 6710 6673 6709 6638 + 6638 6710 6674 6639 + 6711 6675 6674 6639 + 6711 6674 6710 6639 + 6639 6711 6675 6640 + 6712 6676 6675 6640 + 6712 6675 6711 6640 + 6640 6712 6676 6641 + 6713 6677 6676 6641 + 6713 6676 6712 6641 + 6641 6713 6677 6642 + 6714 6678 6677 6642 + 6714 6677 6713 6642 + 6642 6714 6678 6643 + 6715 6679 6678 6643 + 6715 6678 6714 6643 + 6643 6715 6679 6644 + 6716 6680 6679 6644 + 6716 6679 6715 6644 + 6644 6716 6680 6645 + 6717 6681 6680 6645 + 6717 6680 6716 6645 + 6645 6717 6681 6646 + 6718 6682 6681 6646 + 6718 6681 6717 6646 + 6646 6718 6682 6647 + 6719 6683 6682 6647 + 6719 6682 6718 6647 + 6647 6719 6683 6648 + 6720 6684 6683 6648 + 6720 6683 6719 6648 + 6648 6720 6684 6649 + 6721 6685 6684 6649 + 6721 6684 6720 6649 + 6649 6721 6685 6650 + 6722 6686 6685 6650 + 6722 6685 6721 6650 + 6650 6722 6686 6651 + 6723 6687 6686 6651 + 6723 6686 6722 6651 + 6651 6723 6687 6652 + 6724 6688 6687 6652 + 6724 6687 6723 6652 + 6652 6724 6688 6653 + 6725 6689 6688 6653 + 6725 6688 6724 6653 + 6653 6725 6689 6654 + 6726 6690 6689 6654 + 6726 6689 6725 6654 + 6654 6726 6690 6655 + 6727 6691 6690 6655 + 6727 6690 6726 6655 + 6655 6727 6691 6656 + 6728 6692 6691 6656 + 6728 6691 6727 6656 + 6656 6728 6692 6657 + 6729 6693 6692 6657 + 6729 6692 6728 6657 + 6657 6729 6693 6658 + 6730 6694 6693 6658 + 6730 6693 6729 6658 + 6658 6730 6694 6659 + 6731 6695 6694 6659 + 6731 6694 6730 6659 + 6659 6731 6695 6660 + 6732 6696 6695 6660 + 6732 6695 6731 6660 + 6660 6732 6696 6661 + 6733 6697 6696 6661 + 6733 6696 6732 6661 + 6661 6733 6697 6662 + 6734 6698 6697 6662 + 6734 6697 6733 6662 + 6663 6627 6087 180 + 6087 6627 164 180 + 6627 179 164 180 + 6664 6628 6088 6663 + 6088 6628 6087 6663 + 6628 6627 6087 6663 + 6665 6629 6089 6664 + 6089 6629 6088 6664 + 6629 6628 6088 6664 + 6666 6630 6090 6665 + 6090 6630 6089 6665 + 6630 6629 6089 6665 + 6667 6631 6091 6666 + 6091 6631 6090 6666 + 6631 6630 6090 6666 + 6668 6632 6092 6667 + 6092 6632 6091 6667 + 6632 6631 6091 6667 + 6669 6633 6093 6668 + 6093 6633 6092 6668 + 6633 6632 6092 6668 + 6670 6634 6094 6669 + 6094 6634 6093 6669 + 6634 6633 6093 6669 + 6671 6635 6095 6670 + 6095 6635 6094 6670 + 6635 6634 6094 6670 + 6672 6636 6096 6671 + 6096 6636 6095 6671 + 6636 6635 6095 6671 + 6673 6637 6097 6672 + 6097 6637 6096 6672 + 6637 6636 6096 6672 + 6674 6638 6098 6673 + 6098 6638 6097 6673 + 6638 6637 6097 6673 + 6675 6639 6099 6674 + 6099 6639 6098 6674 + 6639 6638 6098 6674 + 6676 6640 6100 6675 + 6100 6640 6099 6675 + 6640 6639 6099 6675 + 6677 6641 6101 6676 + 6101 6641 6100 6676 + 6641 6640 6100 6676 + 6678 6642 6102 6677 + 6102 6642 6101 6677 + 6642 6641 6101 6677 + 6679 6643 6103 6678 + 6103 6643 6102 6678 + 6643 6642 6102 6678 + 6680 6644 6104 6679 + 6104 6644 6103 6679 + 6644 6643 6103 6679 + 6681 6645 6105 6680 + 6105 6645 6104 6680 + 6645 6644 6104 6680 + 6682 6646 6106 6681 + 6106 6646 6105 6681 + 6646 6645 6105 6681 + 6683 6647 6107 6682 + 6107 6647 6106 6682 + 6647 6646 6106 6682 + 6684 6648 6108 6683 + 6108 6648 6107 6683 + 6648 6647 6107 6683 + 6685 6649 6109 6684 + 6109 6649 6108 6684 + 6649 6648 6108 6684 + 6686 6650 6110 6685 + 6110 6650 6109 6685 + 6650 6649 6109 6685 + 6687 6651 6111 6686 + 6111 6651 6110 6686 + 6651 6650 6110 6686 + 6688 6652 6112 6687 + 6112 6652 6111 6687 + 6652 6651 6111 6687 + 6689 6653 6113 6688 + 6113 6653 6112 6688 + 6653 6652 6112 6688 + 6690 6654 6114 6689 + 6114 6654 6113 6689 + 6654 6653 6113 6689 + 6691 6655 6115 6690 + 6115 6655 6114 6690 + 6655 6654 6114 6690 + 6692 6656 6116 6691 + 6116 6656 6115 6691 + 6656 6655 6115 6691 + 6693 6657 6117 6692 + 6117 6657 6116 6692 + 6657 6656 6116 6692 + 6694 6658 6118 6693 + 6118 6658 6117 6693 + 6658 6657 6117 6693 + 6695 6659 6119 6694 + 6119 6659 6118 6694 + 6659 6658 6118 6694 + 6696 6660 6120 6695 + 6120 6660 6119 6695 + 6660 6659 6119 6695 + 6697 6661 6121 6696 + 6121 6661 6120 6696 + 6661 6660 6120 6696 + 6698 6662 6122 6697 + 6122 6662 6121 6697 + 6662 6661 6121 6697 + 166 182 169 6159 + 6735 6267 169 6159 + 6735 169 182 6159 + 6159 6735 6267 6160 + 6736 6268 6267 6160 + 6736 6267 6735 6160 + 6160 6736 6268 6161 + 6737 6269 6268 6161 + 6737 6268 6736 6161 + 6161 6737 6269 6162 + 6738 6270 6269 6162 + 6738 6269 6737 6162 + 6162 6738 6270 6163 + 6739 6271 6270 6163 + 6739 6270 6738 6163 + 6163 6739 6271 6164 + 6740 6272 6271 6164 + 6740 6271 6739 6164 + 6164 6740 6272 6165 + 6741 6273 6272 6165 + 6741 6272 6740 6165 + 6165 6741 6273 6166 + 6742 6274 6273 6166 + 6742 6273 6741 6166 + 6166 6742 6274 6167 + 6743 6275 6274 6167 + 6743 6274 6742 6167 + 6167 6743 6275 6168 + 6744 6276 6275 6168 + 6744 6275 6743 6168 + 6168 6744 6276 6169 + 6745 6277 6276 6169 + 6745 6276 6744 6169 + 6169 6745 6277 6170 + 6746 6278 6277 6170 + 6746 6277 6745 6170 + 6170 6746 6278 6171 + 6747 6279 6278 6171 + 6747 6278 6746 6171 + 6171 6747 6279 6172 + 6748 6280 6279 6172 + 6748 6279 6747 6172 + 6172 6748 6280 6173 + 6749 6281 6280 6173 + 6749 6280 6748 6173 + 6173 6749 6281 6174 + 6750 6282 6281 6174 + 6750 6281 6749 6174 + 6174 6750 6282 6175 + 6751 6283 6282 6175 + 6751 6282 6750 6175 + 6175 6751 6283 6176 + 6752 6284 6283 6176 + 6752 6283 6751 6176 + 6176 6752 6284 6177 + 6753 6285 6284 6177 + 6753 6284 6752 6177 + 6177 6753 6285 6178 + 6754 6286 6285 6178 + 6754 6285 6753 6178 + 6178 6754 6286 6179 + 6755 6287 6286 6179 + 6755 6286 6754 6179 + 6179 6755 6287 6180 + 6756 6288 6287 6180 + 6756 6287 6755 6180 + 6180 6756 6288 6181 + 6757 6289 6288 6181 + 6757 6288 6756 6181 + 6181 6757 6289 6182 + 6758 6290 6289 6182 + 6758 6289 6757 6182 + 6182 6758 6290 6183 + 6759 6291 6290 6183 + 6759 6290 6758 6183 + 6183 6759 6291 6184 + 6760 6292 6291 6184 + 6760 6291 6759 6184 + 6184 6760 6292 6185 + 6761 6293 6292 6185 + 6761 6292 6760 6185 + 6185 6761 6293 6186 + 6762 6294 6293 6186 + 6762 6293 6761 6186 + 6186 6762 6294 6187 + 6763 6295 6294 6187 + 6763 6294 6762 6187 + 6187 6763 6295 6188 + 6764 6296 6295 6188 + 6764 6295 6763 6188 + 6188 6764 6296 6189 + 6765 6297 6296 6189 + 6765 6296 6764 6189 + 6189 6765 6297 6190 + 6766 6298 6297 6190 + 6766 6297 6765 6190 + 6190 6766 6298 6191 + 6767 6299 6298 6191 + 6767 6298 6766 6191 + 6191 6767 6299 6192 + 6768 6300 6299 6192 + 6768 6299 6767 6192 + 6192 6768 6300 6193 + 6769 6301 6300 6193 + 6769 6300 6768 6193 + 6193 6769 6301 6194 + 6770 6302 6301 6194 + 6770 6301 6769 6194 + 180 183 182 6663 + 6771 6735 182 6663 + 6771 182 183 6663 + 6663 6771 6735 6664 + 6772 6736 6735 6664 + 6772 6735 6771 6664 + 6664 6772 6736 6665 + 6773 6737 6736 6665 + 6773 6736 6772 6665 + 6665 6773 6737 6666 + 6774 6738 6737 6666 + 6774 6737 6773 6666 + 6666 6774 6738 6667 + 6775 6739 6738 6667 + 6775 6738 6774 6667 + 6667 6775 6739 6668 + 6776 6740 6739 6668 + 6776 6739 6775 6668 + 6668 6776 6740 6669 + 6777 6741 6740 6669 + 6777 6740 6776 6669 + 6669 6777 6741 6670 + 6778 6742 6741 6670 + 6778 6741 6777 6670 + 6670 6778 6742 6671 + 6779 6743 6742 6671 + 6779 6742 6778 6671 + 6671 6779 6743 6672 + 6780 6744 6743 6672 + 6780 6743 6779 6672 + 6672 6780 6744 6673 + 6781 6745 6744 6673 + 6781 6744 6780 6673 + 6673 6781 6745 6674 + 6782 6746 6745 6674 + 6782 6745 6781 6674 + 6674 6782 6746 6675 + 6783 6747 6746 6675 + 6783 6746 6782 6675 + 6675 6783 6747 6676 + 6784 6748 6747 6676 + 6784 6747 6783 6676 + 6676 6784 6748 6677 + 6785 6749 6748 6677 + 6785 6748 6784 6677 + 6677 6785 6749 6678 + 6786 6750 6749 6678 + 6786 6749 6785 6678 + 6678 6786 6750 6679 + 6787 6751 6750 6679 + 6787 6750 6786 6679 + 6679 6787 6751 6680 + 6788 6752 6751 6680 + 6788 6751 6787 6680 + 6680 6788 6752 6681 + 6789 6753 6752 6681 + 6789 6752 6788 6681 + 6681 6789 6753 6682 + 6790 6754 6753 6682 + 6790 6753 6789 6682 + 6682 6790 6754 6683 + 6791 6755 6754 6683 + 6791 6754 6790 6683 + 6683 6791 6755 6684 + 6792 6756 6755 6684 + 6792 6755 6791 6684 + 6684 6792 6756 6685 + 6793 6757 6756 6685 + 6793 6756 6792 6685 + 6685 6793 6757 6686 + 6794 6758 6757 6686 + 6794 6757 6793 6686 + 6686 6794 6758 6687 + 6795 6759 6758 6687 + 6795 6758 6794 6687 + 6687 6795 6759 6688 + 6796 6760 6759 6688 + 6796 6759 6795 6688 + 6688 6796 6760 6689 + 6797 6761 6760 6689 + 6797 6760 6796 6689 + 6689 6797 6761 6690 + 6798 6762 6761 6690 + 6798 6761 6797 6690 + 6690 6798 6762 6691 + 6799 6763 6762 6691 + 6799 6762 6798 6691 + 6691 6799 6763 6692 + 6800 6764 6763 6692 + 6800 6763 6799 6692 + 6692 6800 6764 6693 + 6801 6765 6764 6693 + 6801 6764 6800 6693 + 6693 6801 6765 6694 + 6802 6766 6765 6694 + 6802 6765 6801 6694 + 6694 6802 6766 6695 + 6803 6767 6766 6695 + 6803 6766 6802 6695 + 6695 6803 6767 6696 + 6804 6768 6767 6696 + 6804 6767 6803 6696 + 6696 6804 6768 6697 + 6805 6769 6768 6697 + 6805 6768 6804 6697 + 6697 6805 6769 6698 + 6806 6770 6769 6698 + 6806 6769 6805 6698 + 181 184 183 6699 + 6807 6771 183 6699 + 6807 183 184 6699 + 6699 6807 6771 6700 + 6808 6772 6771 6700 + 6808 6771 6807 6700 + 6700 6808 6772 6701 + 6809 6773 6772 6701 + 6809 6772 6808 6701 + 6701 6809 6773 6702 + 6810 6774 6773 6702 + 6810 6773 6809 6702 + 6702 6810 6774 6703 + 6811 6775 6774 6703 + 6811 6774 6810 6703 + 6703 6811 6775 6704 + 6812 6776 6775 6704 + 6812 6775 6811 6704 + 6704 6812 6776 6705 + 6813 6777 6776 6705 + 6813 6776 6812 6705 + 6705 6813 6777 6706 + 6814 6778 6777 6706 + 6814 6777 6813 6706 + 6706 6814 6778 6707 + 6815 6779 6778 6707 + 6815 6778 6814 6707 + 6707 6815 6779 6708 + 6816 6780 6779 6708 + 6816 6779 6815 6708 + 6708 6816 6780 6709 + 6817 6781 6780 6709 + 6817 6780 6816 6709 + 6709 6817 6781 6710 + 6818 6782 6781 6710 + 6818 6781 6817 6710 + 6710 6818 6782 6711 + 6819 6783 6782 6711 + 6819 6782 6818 6711 + 6711 6819 6783 6712 + 6820 6784 6783 6712 + 6820 6783 6819 6712 + 6712 6820 6784 6713 + 6821 6785 6784 6713 + 6821 6784 6820 6713 + 6713 6821 6785 6714 + 6822 6786 6785 6714 + 6822 6785 6821 6714 + 6714 6822 6786 6715 + 6823 6787 6786 6715 + 6823 6786 6822 6715 + 6715 6823 6787 6716 + 6824 6788 6787 6716 + 6824 6787 6823 6716 + 6716 6824 6788 6717 + 6825 6789 6788 6717 + 6825 6788 6824 6717 + 6717 6825 6789 6718 + 6826 6790 6789 6718 + 6826 6789 6825 6718 + 6718 6826 6790 6719 + 6827 6791 6790 6719 + 6827 6790 6826 6719 + 6719 6827 6791 6720 + 6828 6792 6791 6720 + 6828 6791 6827 6720 + 6720 6828 6792 6721 + 6829 6793 6792 6721 + 6829 6792 6828 6721 + 6721 6829 6793 6722 + 6830 6794 6793 6722 + 6830 6793 6829 6722 + 6722 6830 6794 6723 + 6831 6795 6794 6723 + 6831 6794 6830 6723 + 6723 6831 6795 6724 + 6832 6796 6795 6724 + 6832 6795 6831 6724 + 6724 6832 6796 6725 + 6833 6797 6796 6725 + 6833 6796 6832 6725 + 6725 6833 6797 6726 + 6834 6798 6797 6726 + 6834 6797 6833 6726 + 6726 6834 6798 6727 + 6835 6799 6798 6727 + 6835 6798 6834 6727 + 6727 6835 6799 6728 + 6836 6800 6799 6728 + 6836 6799 6835 6728 + 6728 6836 6800 6729 + 6837 6801 6800 6729 + 6837 6800 6836 6729 + 6729 6837 6801 6730 + 6838 6802 6801 6730 + 6838 6801 6837 6730 + 6730 6838 6802 6731 + 6839 6803 6802 6731 + 6839 6802 6838 6731 + 6731 6839 6803 6732 + 6840 6804 6803 6732 + 6840 6803 6839 6732 + 6732 6840 6804 6733 + 6841 6805 6804 6733 + 6841 6804 6840 6733 + 6733 6841 6805 6734 + 6842 6806 6805 6734 + 6842 6805 6841 6734 + 6735 6663 6159 182 + 6159 6663 166 182 + 6663 180 166 182 + 6736 6664 6160 6735 + 6160 6664 6159 6735 + 6664 6663 6159 6735 + 6737 6665 6161 6736 + 6161 6665 6160 6736 + 6665 6664 6160 6736 + 6738 6666 6162 6737 + 6162 6666 6161 6737 + 6666 6665 6161 6737 + 6739 6667 6163 6738 + 6163 6667 6162 6738 + 6667 6666 6162 6738 + 6740 6668 6164 6739 + 6164 6668 6163 6739 + 6668 6667 6163 6739 + 6741 6669 6165 6740 + 6165 6669 6164 6740 + 6669 6668 6164 6740 + 6742 6670 6166 6741 + 6166 6670 6165 6741 + 6670 6669 6165 6741 + 6743 6671 6167 6742 + 6167 6671 6166 6742 + 6671 6670 6166 6742 + 6744 6672 6168 6743 + 6168 6672 6167 6743 + 6672 6671 6167 6743 + 6745 6673 6169 6744 + 6169 6673 6168 6744 + 6673 6672 6168 6744 + 6746 6674 6170 6745 + 6170 6674 6169 6745 + 6674 6673 6169 6745 + 6747 6675 6171 6746 + 6171 6675 6170 6746 + 6675 6674 6170 6746 + 6748 6676 6172 6747 + 6172 6676 6171 6747 + 6676 6675 6171 6747 + 6749 6677 6173 6748 + 6173 6677 6172 6748 + 6677 6676 6172 6748 + 6750 6678 6174 6749 + 6174 6678 6173 6749 + 6678 6677 6173 6749 + 6751 6679 6175 6750 + 6175 6679 6174 6750 + 6679 6678 6174 6750 + 6752 6680 6176 6751 + 6176 6680 6175 6751 + 6680 6679 6175 6751 + 6753 6681 6177 6752 + 6177 6681 6176 6752 + 6681 6680 6176 6752 + 6754 6682 6178 6753 + 6178 6682 6177 6753 + 6682 6681 6177 6753 + 6755 6683 6179 6754 + 6179 6683 6178 6754 + 6683 6682 6178 6754 + 6756 6684 6180 6755 + 6180 6684 6179 6755 + 6684 6683 6179 6755 + 6757 6685 6181 6756 + 6181 6685 6180 6756 + 6685 6684 6180 6756 + 6758 6686 6182 6757 + 6182 6686 6181 6757 + 6686 6685 6181 6757 + 6759 6687 6183 6758 + 6183 6687 6182 6758 + 6687 6686 6182 6758 + 6760 6688 6184 6759 + 6184 6688 6183 6759 + 6688 6687 6183 6759 + 6761 6689 6185 6760 + 6185 6689 6184 6760 + 6689 6688 6184 6760 + 6762 6690 6186 6761 + 6186 6690 6185 6761 + 6690 6689 6185 6761 + 6763 6691 6187 6762 + 6187 6691 6186 6762 + 6691 6690 6186 6762 + 6764 6692 6188 6763 + 6188 6692 6187 6763 + 6692 6691 6187 6763 + 6765 6693 6189 6764 + 6189 6693 6188 6764 + 6693 6692 6188 6764 + 6766 6694 6190 6765 + 6190 6694 6189 6765 + 6694 6693 6189 6765 + 6767 6695 6191 6766 + 6191 6695 6190 6766 + 6695 6694 6190 6766 + 6768 6696 6192 6767 + 6192 6696 6191 6767 + 6696 6695 6191 6767 + 6769 6697 6193 6768 + 6193 6697 6192 6768 + 6697 6696 6192 6768 + 6770 6698 6194 6769 + 6194 6698 6193 6769 + 6698 6697 6193 6769 + 6771 6699 6663 183 + 6663 6699 180 183 + 6699 181 180 183 + 6772 6700 6664 6771 + 6664 6700 6663 6771 + 6700 6699 6663 6771 + 6773 6701 6665 6772 + 6665 6701 6664 6772 + 6701 6700 6664 6772 + 6774 6702 6666 6773 + 6666 6702 6665 6773 + 6702 6701 6665 6773 + 6775 6703 6667 6774 + 6667 6703 6666 6774 + 6703 6702 6666 6774 + 6776 6704 6668 6775 + 6668 6704 6667 6775 + 6704 6703 6667 6775 + 6777 6705 6669 6776 + 6669 6705 6668 6776 + 6705 6704 6668 6776 + 6778 6706 6670 6777 + 6670 6706 6669 6777 + 6706 6705 6669 6777 + 6779 6707 6671 6778 + 6671 6707 6670 6778 + 6707 6706 6670 6778 + 6780 6708 6672 6779 + 6672 6708 6671 6779 + 6708 6707 6671 6779 + 6781 6709 6673 6780 + 6673 6709 6672 6780 + 6709 6708 6672 6780 + 6782 6710 6674 6781 + 6674 6710 6673 6781 + 6710 6709 6673 6781 + 6783 6711 6675 6782 + 6675 6711 6674 6782 + 6711 6710 6674 6782 + 6784 6712 6676 6783 + 6676 6712 6675 6783 + 6712 6711 6675 6783 + 6785 6713 6677 6784 + 6677 6713 6676 6784 + 6713 6712 6676 6784 + 6786 6714 6678 6785 + 6678 6714 6677 6785 + 6714 6713 6677 6785 + 6787 6715 6679 6786 + 6679 6715 6678 6786 + 6715 6714 6678 6786 + 6788 6716 6680 6787 + 6680 6716 6679 6787 + 6716 6715 6679 6787 + 6789 6717 6681 6788 + 6681 6717 6680 6788 + 6717 6716 6680 6788 + 6790 6718 6682 6789 + 6682 6718 6681 6789 + 6718 6717 6681 6789 + 6791 6719 6683 6790 + 6683 6719 6682 6790 + 6719 6718 6682 6790 + 6792 6720 6684 6791 + 6684 6720 6683 6791 + 6720 6719 6683 6791 + 6793 6721 6685 6792 + 6685 6721 6684 6792 + 6721 6720 6684 6792 + 6794 6722 6686 6793 + 6686 6722 6685 6793 + 6722 6721 6685 6793 + 6795 6723 6687 6794 + 6687 6723 6686 6794 + 6723 6722 6686 6794 + 6796 6724 6688 6795 + 6688 6724 6687 6795 + 6724 6723 6687 6795 + 6797 6725 6689 6796 + 6689 6725 6688 6796 + 6725 6724 6688 6796 + 6798 6726 6690 6797 + 6690 6726 6689 6797 + 6726 6725 6689 6797 + 6799 6727 6691 6798 + 6691 6727 6690 6798 + 6727 6726 6690 6798 + 6800 6728 6692 6799 + 6692 6728 6691 6799 + 6728 6727 6691 6799 + 6801 6729 6693 6800 + 6693 6729 6692 6800 + 6729 6728 6692 6800 + 6802 6730 6694 6801 + 6694 6730 6693 6801 + 6730 6729 6693 6801 + 6803 6731 6695 6802 + 6695 6731 6694 6802 + 6731 6730 6694 6802 + 6804 6732 6696 6803 + 6696 6732 6695 6803 + 6732 6731 6695 6803 + 6805 6733 6697 6804 + 6697 6733 6696 6804 + 6733 6732 6696 6804 + 6806 6734 6698 6805 + 6698 6734 6697 6805 + 6734 6733 6697 6805 + 169 185 173 6267 + 6843 6411 173 6267 + 6843 173 185 6267 + 6267 6843 6411 6268 + 6844 6412 6411 6268 + 6844 6411 6843 6268 + 6268 6844 6412 6269 + 6845 6413 6412 6269 + 6845 6412 6844 6269 + 6269 6845 6413 6270 + 6846 6414 6413 6270 + 6846 6413 6845 6270 + 6270 6846 6414 6271 + 6847 6415 6414 6271 + 6847 6414 6846 6271 + 6271 6847 6415 6272 + 6848 6416 6415 6272 + 6848 6415 6847 6272 + 6272 6848 6416 6273 + 6849 6417 6416 6273 + 6849 6416 6848 6273 + 6273 6849 6417 6274 + 6850 6418 6417 6274 + 6850 6417 6849 6274 + 6274 6850 6418 6275 + 6851 6419 6418 6275 + 6851 6418 6850 6275 + 6275 6851 6419 6276 + 6852 6420 6419 6276 + 6852 6419 6851 6276 + 6276 6852 6420 6277 + 6853 6421 6420 6277 + 6853 6420 6852 6277 + 6277 6853 6421 6278 + 6854 6422 6421 6278 + 6854 6421 6853 6278 + 6278 6854 6422 6279 + 6855 6423 6422 6279 + 6855 6422 6854 6279 + 6279 6855 6423 6280 + 6856 6424 6423 6280 + 6856 6423 6855 6280 + 6280 6856 6424 6281 + 6857 6425 6424 6281 + 6857 6424 6856 6281 + 6281 6857 6425 6282 + 6858 6426 6425 6282 + 6858 6425 6857 6282 + 6282 6858 6426 6283 + 6859 6427 6426 6283 + 6859 6426 6858 6283 + 6283 6859 6427 6284 + 6860 6428 6427 6284 + 6860 6427 6859 6284 + 6284 6860 6428 6285 + 6861 6429 6428 6285 + 6861 6428 6860 6285 + 6285 6861 6429 6286 + 6862 6430 6429 6286 + 6862 6429 6861 6286 + 6286 6862 6430 6287 + 6863 6431 6430 6287 + 6863 6430 6862 6287 + 6287 6863 6431 6288 + 6864 6432 6431 6288 + 6864 6431 6863 6288 + 6288 6864 6432 6289 + 6865 6433 6432 6289 + 6865 6432 6864 6289 + 6289 6865 6433 6290 + 6866 6434 6433 6290 + 6866 6433 6865 6290 + 6290 6866 6434 6291 + 6867 6435 6434 6291 + 6867 6434 6866 6291 + 6291 6867 6435 6292 + 6868 6436 6435 6292 + 6868 6435 6867 6292 + 6292 6868 6436 6293 + 6869 6437 6436 6293 + 6869 6436 6868 6293 + 6293 6869 6437 6294 + 6870 6438 6437 6294 + 6870 6437 6869 6294 + 6294 6870 6438 6295 + 6871 6439 6438 6295 + 6871 6438 6870 6295 + 6295 6871 6439 6296 + 6872 6440 6439 6296 + 6872 6439 6871 6296 + 6296 6872 6440 6297 + 6873 6441 6440 6297 + 6873 6440 6872 6297 + 6297 6873 6441 6298 + 6874 6442 6441 6298 + 6874 6441 6873 6298 + 6298 6874 6442 6299 + 6875 6443 6442 6299 + 6875 6442 6874 6299 + 6299 6875 6443 6300 + 6876 6444 6443 6300 + 6876 6443 6875 6300 + 6300 6876 6444 6301 + 6877 6445 6444 6301 + 6877 6444 6876 6301 + 6301 6877 6445 6302 + 6878 6446 6445 6302 + 6878 6445 6877 6302 + 182 186 185 6735 + 6879 6843 185 6735 + 6879 185 186 6735 + 6735 6879 6843 6736 + 6880 6844 6843 6736 + 6880 6843 6879 6736 + 6736 6880 6844 6737 + 6881 6845 6844 6737 + 6881 6844 6880 6737 + 6737 6881 6845 6738 + 6882 6846 6845 6738 + 6882 6845 6881 6738 + 6738 6882 6846 6739 + 6883 6847 6846 6739 + 6883 6846 6882 6739 + 6739 6883 6847 6740 + 6884 6848 6847 6740 + 6884 6847 6883 6740 + 6740 6884 6848 6741 + 6885 6849 6848 6741 + 6885 6848 6884 6741 + 6741 6885 6849 6742 + 6886 6850 6849 6742 + 6886 6849 6885 6742 + 6742 6886 6850 6743 + 6887 6851 6850 6743 + 6887 6850 6886 6743 + 6743 6887 6851 6744 + 6888 6852 6851 6744 + 6888 6851 6887 6744 + 6744 6888 6852 6745 + 6889 6853 6852 6745 + 6889 6852 6888 6745 + 6745 6889 6853 6746 + 6890 6854 6853 6746 + 6890 6853 6889 6746 + 6746 6890 6854 6747 + 6891 6855 6854 6747 + 6891 6854 6890 6747 + 6747 6891 6855 6748 + 6892 6856 6855 6748 + 6892 6855 6891 6748 + 6748 6892 6856 6749 + 6893 6857 6856 6749 + 6893 6856 6892 6749 + 6749 6893 6857 6750 + 6894 6858 6857 6750 + 6894 6857 6893 6750 + 6750 6894 6858 6751 + 6895 6859 6858 6751 + 6895 6858 6894 6751 + 6751 6895 6859 6752 + 6896 6860 6859 6752 + 6896 6859 6895 6752 + 6752 6896 6860 6753 + 6897 6861 6860 6753 + 6897 6860 6896 6753 + 6753 6897 6861 6754 + 6898 6862 6861 6754 + 6898 6861 6897 6754 + 6754 6898 6862 6755 + 6899 6863 6862 6755 + 6899 6862 6898 6755 + 6755 6899 6863 6756 + 6900 6864 6863 6756 + 6900 6863 6899 6756 + 6756 6900 6864 6757 + 6901 6865 6864 6757 + 6901 6864 6900 6757 + 6757 6901 6865 6758 + 6902 6866 6865 6758 + 6902 6865 6901 6758 + 6758 6902 6866 6759 + 6903 6867 6866 6759 + 6903 6866 6902 6759 + 6759 6903 6867 6760 + 6904 6868 6867 6760 + 6904 6867 6903 6760 + 6760 6904 6868 6761 + 6905 6869 6868 6761 + 6905 6868 6904 6761 + 6761 6905 6869 6762 + 6906 6870 6869 6762 + 6906 6869 6905 6762 + 6762 6906 6870 6763 + 6907 6871 6870 6763 + 6907 6870 6906 6763 + 6763 6907 6871 6764 + 6908 6872 6871 6764 + 6908 6871 6907 6764 + 6764 6908 6872 6765 + 6909 6873 6872 6765 + 6909 6872 6908 6765 + 6765 6909 6873 6766 + 6910 6874 6873 6766 + 6910 6873 6909 6766 + 6766 6910 6874 6767 + 6911 6875 6874 6767 + 6911 6874 6910 6767 + 6767 6911 6875 6768 + 6912 6876 6875 6768 + 6912 6875 6911 6768 + 6768 6912 6876 6769 + 6913 6877 6876 6769 + 6913 6876 6912 6769 + 6769 6913 6877 6770 + 6914 6878 6877 6770 + 6914 6877 6913 6770 + 183 187 186 6771 + 6915 6879 186 6771 + 6915 186 187 6771 + 6771 6915 6879 6772 + 6916 6880 6879 6772 + 6916 6879 6915 6772 + 6772 6916 6880 6773 + 6917 6881 6880 6773 + 6917 6880 6916 6773 + 6773 6917 6881 6774 + 6918 6882 6881 6774 + 6918 6881 6917 6774 + 6774 6918 6882 6775 + 6919 6883 6882 6775 + 6919 6882 6918 6775 + 6775 6919 6883 6776 + 6920 6884 6883 6776 + 6920 6883 6919 6776 + 6776 6920 6884 6777 + 6921 6885 6884 6777 + 6921 6884 6920 6777 + 6777 6921 6885 6778 + 6922 6886 6885 6778 + 6922 6885 6921 6778 + 6778 6922 6886 6779 + 6923 6887 6886 6779 + 6923 6886 6922 6779 + 6779 6923 6887 6780 + 6924 6888 6887 6780 + 6924 6887 6923 6780 + 6780 6924 6888 6781 + 6925 6889 6888 6781 + 6925 6888 6924 6781 + 6781 6925 6889 6782 + 6926 6890 6889 6782 + 6926 6889 6925 6782 + 6782 6926 6890 6783 + 6927 6891 6890 6783 + 6927 6890 6926 6783 + 6783 6927 6891 6784 + 6928 6892 6891 6784 + 6928 6891 6927 6784 + 6784 6928 6892 6785 + 6929 6893 6892 6785 + 6929 6892 6928 6785 + 6785 6929 6893 6786 + 6930 6894 6893 6786 + 6930 6893 6929 6786 + 6786 6930 6894 6787 + 6931 6895 6894 6787 + 6931 6894 6930 6787 + 6787 6931 6895 6788 + 6932 6896 6895 6788 + 6932 6895 6931 6788 + 6788 6932 6896 6789 + 6933 6897 6896 6789 + 6933 6896 6932 6789 + 6789 6933 6897 6790 + 6934 6898 6897 6790 + 6934 6897 6933 6790 + 6790 6934 6898 6791 + 6935 6899 6898 6791 + 6935 6898 6934 6791 + 6791 6935 6899 6792 + 6936 6900 6899 6792 + 6936 6899 6935 6792 + 6792 6936 6900 6793 + 6937 6901 6900 6793 + 6937 6900 6936 6793 + 6793 6937 6901 6794 + 6938 6902 6901 6794 + 6938 6901 6937 6794 + 6794 6938 6902 6795 + 6939 6903 6902 6795 + 6939 6902 6938 6795 + 6795 6939 6903 6796 + 6940 6904 6903 6796 + 6940 6903 6939 6796 + 6796 6940 6904 6797 + 6941 6905 6904 6797 + 6941 6904 6940 6797 + 6797 6941 6905 6798 + 6942 6906 6905 6798 + 6942 6905 6941 6798 + 6798 6942 6906 6799 + 6943 6907 6906 6799 + 6943 6906 6942 6799 + 6799 6943 6907 6800 + 6944 6908 6907 6800 + 6944 6907 6943 6800 + 6800 6944 6908 6801 + 6945 6909 6908 6801 + 6945 6908 6944 6801 + 6801 6945 6909 6802 + 6946 6910 6909 6802 + 6946 6909 6945 6802 + 6802 6946 6910 6803 + 6947 6911 6910 6803 + 6947 6910 6946 6803 + 6803 6947 6911 6804 + 6948 6912 6911 6804 + 6948 6911 6947 6804 + 6804 6948 6912 6805 + 6949 6913 6912 6805 + 6949 6912 6948 6805 + 6805 6949 6913 6806 + 6950 6914 6913 6806 + 6950 6913 6949 6806 + 184 188 187 6807 + 6951 6915 187 6807 + 6951 187 188 6807 + 6807 6951 6915 6808 + 6952 6916 6915 6808 + 6952 6915 6951 6808 + 6808 6952 6916 6809 + 6953 6917 6916 6809 + 6953 6916 6952 6809 + 6809 6953 6917 6810 + 6954 6918 6917 6810 + 6954 6917 6953 6810 + 6810 6954 6918 6811 + 6955 6919 6918 6811 + 6955 6918 6954 6811 + 6811 6955 6919 6812 + 6956 6920 6919 6812 + 6956 6919 6955 6812 + 6812 6956 6920 6813 + 6957 6921 6920 6813 + 6957 6920 6956 6813 + 6813 6957 6921 6814 + 6958 6922 6921 6814 + 6958 6921 6957 6814 + 6814 6958 6922 6815 + 6959 6923 6922 6815 + 6959 6922 6958 6815 + 6815 6959 6923 6816 + 6960 6924 6923 6816 + 6960 6923 6959 6816 + 6816 6960 6924 6817 + 6961 6925 6924 6817 + 6961 6924 6960 6817 + 6817 6961 6925 6818 + 6962 6926 6925 6818 + 6962 6925 6961 6818 + 6818 6962 6926 6819 + 6963 6927 6926 6819 + 6963 6926 6962 6819 + 6819 6963 6927 6820 + 6964 6928 6927 6820 + 6964 6927 6963 6820 + 6820 6964 6928 6821 + 6965 6929 6928 6821 + 6965 6928 6964 6821 + 6821 6965 6929 6822 + 6966 6930 6929 6822 + 6966 6929 6965 6822 + 6822 6966 6930 6823 + 6967 6931 6930 6823 + 6967 6930 6966 6823 + 6823 6967 6931 6824 + 6968 6932 6931 6824 + 6968 6931 6967 6824 + 6824 6968 6932 6825 + 6969 6933 6932 6825 + 6969 6932 6968 6825 + 6825 6969 6933 6826 + 6970 6934 6933 6826 + 6970 6933 6969 6826 + 6826 6970 6934 6827 + 6971 6935 6934 6827 + 6971 6934 6970 6827 + 6827 6971 6935 6828 + 6972 6936 6935 6828 + 6972 6935 6971 6828 + 6828 6972 6936 6829 + 6973 6937 6936 6829 + 6973 6936 6972 6829 + 6829 6973 6937 6830 + 6974 6938 6937 6830 + 6974 6937 6973 6830 + 6830 6974 6938 6831 + 6975 6939 6938 6831 + 6975 6938 6974 6831 + 6831 6975 6939 6832 + 6976 6940 6939 6832 + 6976 6939 6975 6832 + 6832 6976 6940 6833 + 6977 6941 6940 6833 + 6977 6940 6976 6833 + 6833 6977 6941 6834 + 6978 6942 6941 6834 + 6978 6941 6977 6834 + 6834 6978 6942 6835 + 6979 6943 6942 6835 + 6979 6942 6978 6835 + 6835 6979 6943 6836 + 6980 6944 6943 6836 + 6980 6943 6979 6836 + 6836 6980 6944 6837 + 6981 6945 6944 6837 + 6981 6944 6980 6837 + 6837 6981 6945 6838 + 6982 6946 6945 6838 + 6982 6945 6981 6838 + 6838 6982 6946 6839 + 6983 6947 6946 6839 + 6983 6946 6982 6839 + 6839 6983 6947 6840 + 6984 6948 6947 6840 + 6984 6947 6983 6840 + 6840 6984 6948 6841 + 6985 6949 6948 6841 + 6985 6948 6984 6841 + 6841 6985 6949 6842 + 6986 6950 6949 6842 + 6986 6949 6985 6842 + 6843 6735 6267 185 + 6267 6735 169 185 + 6735 182 169 185 + 6844 6736 6268 6843 + 6268 6736 6267 6843 + 6736 6735 6267 6843 + 6845 6737 6269 6844 + 6269 6737 6268 6844 + 6737 6736 6268 6844 + 6846 6738 6270 6845 + 6270 6738 6269 6845 + 6738 6737 6269 6845 + 6847 6739 6271 6846 + 6271 6739 6270 6846 + 6739 6738 6270 6846 + 6848 6740 6272 6847 + 6272 6740 6271 6847 + 6740 6739 6271 6847 + 6849 6741 6273 6848 + 6273 6741 6272 6848 + 6741 6740 6272 6848 + 6850 6742 6274 6849 + 6274 6742 6273 6849 + 6742 6741 6273 6849 + 6851 6743 6275 6850 + 6275 6743 6274 6850 + 6743 6742 6274 6850 + 6852 6744 6276 6851 + 6276 6744 6275 6851 + 6744 6743 6275 6851 + 6853 6745 6277 6852 + 6277 6745 6276 6852 + 6745 6744 6276 6852 + 6854 6746 6278 6853 + 6278 6746 6277 6853 + 6746 6745 6277 6853 + 6855 6747 6279 6854 + 6279 6747 6278 6854 + 6747 6746 6278 6854 + 6856 6748 6280 6855 + 6280 6748 6279 6855 + 6748 6747 6279 6855 + 6857 6749 6281 6856 + 6281 6749 6280 6856 + 6749 6748 6280 6856 + 6858 6750 6282 6857 + 6282 6750 6281 6857 + 6750 6749 6281 6857 + 6859 6751 6283 6858 + 6283 6751 6282 6858 + 6751 6750 6282 6858 + 6860 6752 6284 6859 + 6284 6752 6283 6859 + 6752 6751 6283 6859 + 6861 6753 6285 6860 + 6285 6753 6284 6860 + 6753 6752 6284 6860 + 6862 6754 6286 6861 + 6286 6754 6285 6861 + 6754 6753 6285 6861 + 6863 6755 6287 6862 + 6287 6755 6286 6862 + 6755 6754 6286 6862 + 6864 6756 6288 6863 + 6288 6756 6287 6863 + 6756 6755 6287 6863 + 6865 6757 6289 6864 + 6289 6757 6288 6864 + 6757 6756 6288 6864 + 6866 6758 6290 6865 + 6290 6758 6289 6865 + 6758 6757 6289 6865 + 6867 6759 6291 6866 + 6291 6759 6290 6866 + 6759 6758 6290 6866 + 6868 6760 6292 6867 + 6292 6760 6291 6867 + 6760 6759 6291 6867 + 6869 6761 6293 6868 + 6293 6761 6292 6868 + 6761 6760 6292 6868 + 6870 6762 6294 6869 + 6294 6762 6293 6869 + 6762 6761 6293 6869 + 6871 6763 6295 6870 + 6295 6763 6294 6870 + 6763 6762 6294 6870 + 6872 6764 6296 6871 + 6296 6764 6295 6871 + 6764 6763 6295 6871 + 6873 6765 6297 6872 + 6297 6765 6296 6872 + 6765 6764 6296 6872 + 6874 6766 6298 6873 + 6298 6766 6297 6873 + 6766 6765 6297 6873 + 6875 6767 6299 6874 + 6299 6767 6298 6874 + 6767 6766 6298 6874 + 6876 6768 6300 6875 + 6300 6768 6299 6875 + 6768 6767 6299 6875 + 6877 6769 6301 6876 + 6301 6769 6300 6876 + 6769 6768 6300 6876 + 6878 6770 6302 6877 + 6302 6770 6301 6877 + 6770 6769 6301 6877 + 6879 6771 6735 186 + 6735 6771 182 186 + 6771 183 182 186 + 6880 6772 6736 6879 + 6736 6772 6735 6879 + 6772 6771 6735 6879 + 6881 6773 6737 6880 + 6737 6773 6736 6880 + 6773 6772 6736 6880 + 6882 6774 6738 6881 + 6738 6774 6737 6881 + 6774 6773 6737 6881 + 6883 6775 6739 6882 + 6739 6775 6738 6882 + 6775 6774 6738 6882 + 6884 6776 6740 6883 + 6740 6776 6739 6883 + 6776 6775 6739 6883 + 6885 6777 6741 6884 + 6741 6777 6740 6884 + 6777 6776 6740 6884 + 6886 6778 6742 6885 + 6742 6778 6741 6885 + 6778 6777 6741 6885 + 6887 6779 6743 6886 + 6743 6779 6742 6886 + 6779 6778 6742 6886 + 6888 6780 6744 6887 + 6744 6780 6743 6887 + 6780 6779 6743 6887 + 6889 6781 6745 6888 + 6745 6781 6744 6888 + 6781 6780 6744 6888 + 6890 6782 6746 6889 + 6746 6782 6745 6889 + 6782 6781 6745 6889 + 6891 6783 6747 6890 + 6747 6783 6746 6890 + 6783 6782 6746 6890 + 6892 6784 6748 6891 + 6748 6784 6747 6891 + 6784 6783 6747 6891 + 6893 6785 6749 6892 + 6749 6785 6748 6892 + 6785 6784 6748 6892 + 6894 6786 6750 6893 + 6750 6786 6749 6893 + 6786 6785 6749 6893 + 6895 6787 6751 6894 + 6751 6787 6750 6894 + 6787 6786 6750 6894 + 6896 6788 6752 6895 + 6752 6788 6751 6895 + 6788 6787 6751 6895 + 6897 6789 6753 6896 + 6753 6789 6752 6896 + 6789 6788 6752 6896 + 6898 6790 6754 6897 + 6754 6790 6753 6897 + 6790 6789 6753 6897 + 6899 6791 6755 6898 + 6755 6791 6754 6898 + 6791 6790 6754 6898 + 6900 6792 6756 6899 + 6756 6792 6755 6899 + 6792 6791 6755 6899 + 6901 6793 6757 6900 + 6757 6793 6756 6900 + 6793 6792 6756 6900 + 6902 6794 6758 6901 + 6758 6794 6757 6901 + 6794 6793 6757 6901 + 6903 6795 6759 6902 + 6759 6795 6758 6902 + 6795 6794 6758 6902 + 6904 6796 6760 6903 + 6760 6796 6759 6903 + 6796 6795 6759 6903 + 6905 6797 6761 6904 + 6761 6797 6760 6904 + 6797 6796 6760 6904 + 6906 6798 6762 6905 + 6762 6798 6761 6905 + 6798 6797 6761 6905 + 6907 6799 6763 6906 + 6763 6799 6762 6906 + 6799 6798 6762 6906 + 6908 6800 6764 6907 + 6764 6800 6763 6907 + 6800 6799 6763 6907 + 6909 6801 6765 6908 + 6765 6801 6764 6908 + 6801 6800 6764 6908 + 6910 6802 6766 6909 + 6766 6802 6765 6909 + 6802 6801 6765 6909 + 6911 6803 6767 6910 + 6767 6803 6766 6910 + 6803 6802 6766 6910 + 6912 6804 6768 6911 + 6768 6804 6767 6911 + 6804 6803 6767 6911 + 6913 6805 6769 6912 + 6769 6805 6768 6912 + 6805 6804 6768 6912 + 6914 6806 6770 6913 + 6770 6806 6769 6913 + 6806 6805 6769 6913 + 6915 6807 6771 187 + 6771 6807 183 187 + 6807 184 183 187 + 6916 6808 6772 6915 + 6772 6808 6771 6915 + 6808 6807 6771 6915 + 6917 6809 6773 6916 + 6773 6809 6772 6916 + 6809 6808 6772 6916 + 6918 6810 6774 6917 + 6774 6810 6773 6917 + 6810 6809 6773 6917 + 6919 6811 6775 6918 + 6775 6811 6774 6918 + 6811 6810 6774 6918 + 6920 6812 6776 6919 + 6776 6812 6775 6919 + 6812 6811 6775 6919 + 6921 6813 6777 6920 + 6777 6813 6776 6920 + 6813 6812 6776 6920 + 6922 6814 6778 6921 + 6778 6814 6777 6921 + 6814 6813 6777 6921 + 6923 6815 6779 6922 + 6779 6815 6778 6922 + 6815 6814 6778 6922 + 6924 6816 6780 6923 + 6780 6816 6779 6923 + 6816 6815 6779 6923 + 6925 6817 6781 6924 + 6781 6817 6780 6924 + 6817 6816 6780 6924 + 6926 6818 6782 6925 + 6782 6818 6781 6925 + 6818 6817 6781 6925 + 6927 6819 6783 6926 + 6783 6819 6782 6926 + 6819 6818 6782 6926 + 6928 6820 6784 6927 + 6784 6820 6783 6927 + 6820 6819 6783 6927 + 6929 6821 6785 6928 + 6785 6821 6784 6928 + 6821 6820 6784 6928 + 6930 6822 6786 6929 + 6786 6822 6785 6929 + 6822 6821 6785 6929 + 6931 6823 6787 6930 + 6787 6823 6786 6930 + 6823 6822 6786 6930 + 6932 6824 6788 6931 + 6788 6824 6787 6931 + 6824 6823 6787 6931 + 6933 6825 6789 6932 + 6789 6825 6788 6932 + 6825 6824 6788 6932 + 6934 6826 6790 6933 + 6790 6826 6789 6933 + 6826 6825 6789 6933 + 6935 6827 6791 6934 + 6791 6827 6790 6934 + 6827 6826 6790 6934 + 6936 6828 6792 6935 + 6792 6828 6791 6935 + 6828 6827 6791 6935 + 6937 6829 6793 6936 + 6793 6829 6792 6936 + 6829 6828 6792 6936 + 6938 6830 6794 6937 + 6794 6830 6793 6937 + 6830 6829 6793 6937 + 6939 6831 6795 6938 + 6795 6831 6794 6938 + 6831 6830 6794 6938 + 6940 6832 6796 6939 + 6796 6832 6795 6939 + 6832 6831 6795 6939 + 6941 6833 6797 6940 + 6797 6833 6796 6940 + 6833 6832 6796 6940 + 6942 6834 6798 6941 + 6798 6834 6797 6941 + 6834 6833 6797 6941 + 6943 6835 6799 6942 + 6799 6835 6798 6942 + 6835 6834 6798 6942 + 6944 6836 6800 6943 + 6800 6836 6799 6943 + 6836 6835 6799 6943 + 6945 6837 6801 6944 + 6801 6837 6800 6944 + 6837 6836 6800 6944 + 6946 6838 6802 6945 + 6802 6838 6801 6945 + 6838 6837 6801 6945 + 6947 6839 6803 6946 + 6803 6839 6802 6946 + 6839 6838 6802 6946 + 6948 6840 6804 6947 + 6804 6840 6803 6947 + 6840 6839 6803 6947 + 6949 6841 6805 6948 + 6805 6841 6804 6948 + 6841 6840 6804 6948 + 6950 6842 6806 6949 + 6806 6842 6805 6949 + 6842 6841 6805 6949 + 173 189 178 6411 + 6987 6591 178 6411 + 6987 178 189 6411 + 6411 6987 6591 6412 + 6988 6592 6591 6412 + 6988 6591 6987 6412 + 6412 6988 6592 6413 + 6989 6593 6592 6413 + 6989 6592 6988 6413 + 6413 6989 6593 6414 + 6990 6594 6593 6414 + 6990 6593 6989 6414 + 6414 6990 6594 6415 + 6991 6595 6594 6415 + 6991 6594 6990 6415 + 6415 6991 6595 6416 + 6992 6596 6595 6416 + 6992 6595 6991 6416 + 6416 6992 6596 6417 + 6993 6597 6596 6417 + 6993 6596 6992 6417 + 6417 6993 6597 6418 + 6994 6598 6597 6418 + 6994 6597 6993 6418 + 6418 6994 6598 6419 + 6995 6599 6598 6419 + 6995 6598 6994 6419 + 6419 6995 6599 6420 + 6996 6600 6599 6420 + 6996 6599 6995 6420 + 6420 6996 6600 6421 + 6997 6601 6600 6421 + 6997 6600 6996 6421 + 6421 6997 6601 6422 + 6998 6602 6601 6422 + 6998 6601 6997 6422 + 6422 6998 6602 6423 + 6999 6603 6602 6423 + 6999 6602 6998 6423 + 6423 6999 6603 6424 + 7000 6604 6603 6424 + 7000 6603 6999 6424 + 6424 7000 6604 6425 + 7001 6605 6604 6425 + 7001 6604 7000 6425 + 6425 7001 6605 6426 + 7002 6606 6605 6426 + 7002 6605 7001 6426 + 6426 7002 6606 6427 + 7003 6607 6606 6427 + 7003 6606 7002 6427 + 6427 7003 6607 6428 + 7004 6608 6607 6428 + 7004 6607 7003 6428 + 6428 7004 6608 6429 + 7005 6609 6608 6429 + 7005 6608 7004 6429 + 6429 7005 6609 6430 + 7006 6610 6609 6430 + 7006 6609 7005 6430 + 6430 7006 6610 6431 + 7007 6611 6610 6431 + 7007 6610 7006 6431 + 6431 7007 6611 6432 + 7008 6612 6611 6432 + 7008 6611 7007 6432 + 6432 7008 6612 6433 + 7009 6613 6612 6433 + 7009 6612 7008 6433 + 6433 7009 6613 6434 + 7010 6614 6613 6434 + 7010 6613 7009 6434 + 6434 7010 6614 6435 + 7011 6615 6614 6435 + 7011 6614 7010 6435 + 6435 7011 6615 6436 + 7012 6616 6615 6436 + 7012 6615 7011 6436 + 6436 7012 6616 6437 + 7013 6617 6616 6437 + 7013 6616 7012 6437 + 6437 7013 6617 6438 + 7014 6618 6617 6438 + 7014 6617 7013 6438 + 6438 7014 6618 6439 + 7015 6619 6618 6439 + 7015 6618 7014 6439 + 6439 7015 6619 6440 + 7016 6620 6619 6440 + 7016 6619 7015 6440 + 6440 7016 6620 6441 + 7017 6621 6620 6441 + 7017 6620 7016 6441 + 6441 7017 6621 6442 + 7018 6622 6621 6442 + 7018 6621 7017 6442 + 6442 7018 6622 6443 + 7019 6623 6622 6443 + 7019 6622 7018 6443 + 6443 7019 6623 6444 + 7020 6624 6623 6444 + 7020 6623 7019 6444 + 6444 7020 6624 6445 + 7021 6625 6624 6445 + 7021 6624 7020 6445 + 6445 7021 6625 6446 + 7022 6626 6625 6446 + 7022 6625 7021 6446 + 185 190 189 6843 + 7023 6987 189 6843 + 7023 189 190 6843 + 6843 7023 6987 6844 + 7024 6988 6987 6844 + 7024 6987 7023 6844 + 6844 7024 6988 6845 + 7025 6989 6988 6845 + 7025 6988 7024 6845 + 6845 7025 6989 6846 + 7026 6990 6989 6846 + 7026 6989 7025 6846 + 6846 7026 6990 6847 + 7027 6991 6990 6847 + 7027 6990 7026 6847 + 6847 7027 6991 6848 + 7028 6992 6991 6848 + 7028 6991 7027 6848 + 6848 7028 6992 6849 + 7029 6993 6992 6849 + 7029 6992 7028 6849 + 6849 7029 6993 6850 + 7030 6994 6993 6850 + 7030 6993 7029 6850 + 6850 7030 6994 6851 + 7031 6995 6994 6851 + 7031 6994 7030 6851 + 6851 7031 6995 6852 + 7032 6996 6995 6852 + 7032 6995 7031 6852 + 6852 7032 6996 6853 + 7033 6997 6996 6853 + 7033 6996 7032 6853 + 6853 7033 6997 6854 + 7034 6998 6997 6854 + 7034 6997 7033 6854 + 6854 7034 6998 6855 + 7035 6999 6998 6855 + 7035 6998 7034 6855 + 6855 7035 6999 6856 + 7036 7000 6999 6856 + 7036 6999 7035 6856 + 6856 7036 7000 6857 + 7037 7001 7000 6857 + 7037 7000 7036 6857 + 6857 7037 7001 6858 + 7038 7002 7001 6858 + 7038 7001 7037 6858 + 6858 7038 7002 6859 + 7039 7003 7002 6859 + 7039 7002 7038 6859 + 6859 7039 7003 6860 + 7040 7004 7003 6860 + 7040 7003 7039 6860 + 6860 7040 7004 6861 + 7041 7005 7004 6861 + 7041 7004 7040 6861 + 6861 7041 7005 6862 + 7042 7006 7005 6862 + 7042 7005 7041 6862 + 6862 7042 7006 6863 + 7043 7007 7006 6863 + 7043 7006 7042 6863 + 6863 7043 7007 6864 + 7044 7008 7007 6864 + 7044 7007 7043 6864 + 6864 7044 7008 6865 + 7045 7009 7008 6865 + 7045 7008 7044 6865 + 6865 7045 7009 6866 + 7046 7010 7009 6866 + 7046 7009 7045 6866 + 6866 7046 7010 6867 + 7047 7011 7010 6867 + 7047 7010 7046 6867 + 6867 7047 7011 6868 + 7048 7012 7011 6868 + 7048 7011 7047 6868 + 6868 7048 7012 6869 + 7049 7013 7012 6869 + 7049 7012 7048 6869 + 6869 7049 7013 6870 + 7050 7014 7013 6870 + 7050 7013 7049 6870 + 6870 7050 7014 6871 + 7051 7015 7014 6871 + 7051 7014 7050 6871 + 6871 7051 7015 6872 + 7052 7016 7015 6872 + 7052 7015 7051 6872 + 6872 7052 7016 6873 + 7053 7017 7016 6873 + 7053 7016 7052 6873 + 6873 7053 7017 6874 + 7054 7018 7017 6874 + 7054 7017 7053 6874 + 6874 7054 7018 6875 + 7055 7019 7018 6875 + 7055 7018 7054 6875 + 6875 7055 7019 6876 + 7056 7020 7019 6876 + 7056 7019 7055 6876 + 6876 7056 7020 6877 + 7057 7021 7020 6877 + 7057 7020 7056 6877 + 6877 7057 7021 6878 + 7058 7022 7021 6878 + 7058 7021 7057 6878 + 186 191 190 6879 + 7059 7023 190 6879 + 7059 190 191 6879 + 6879 7059 7023 6880 + 7060 7024 7023 6880 + 7060 7023 7059 6880 + 6880 7060 7024 6881 + 7061 7025 7024 6881 + 7061 7024 7060 6881 + 6881 7061 7025 6882 + 7062 7026 7025 6882 + 7062 7025 7061 6882 + 6882 7062 7026 6883 + 7063 7027 7026 6883 + 7063 7026 7062 6883 + 6883 7063 7027 6884 + 7064 7028 7027 6884 + 7064 7027 7063 6884 + 6884 7064 7028 6885 + 7065 7029 7028 6885 + 7065 7028 7064 6885 + 6885 7065 7029 6886 + 7066 7030 7029 6886 + 7066 7029 7065 6886 + 6886 7066 7030 6887 + 7067 7031 7030 6887 + 7067 7030 7066 6887 + 6887 7067 7031 6888 + 7068 7032 7031 6888 + 7068 7031 7067 6888 + 6888 7068 7032 6889 + 7069 7033 7032 6889 + 7069 7032 7068 6889 + 6889 7069 7033 6890 + 7070 7034 7033 6890 + 7070 7033 7069 6890 + 6890 7070 7034 6891 + 7071 7035 7034 6891 + 7071 7034 7070 6891 + 6891 7071 7035 6892 + 7072 7036 7035 6892 + 7072 7035 7071 6892 + 6892 7072 7036 6893 + 7073 7037 7036 6893 + 7073 7036 7072 6893 + 6893 7073 7037 6894 + 7074 7038 7037 6894 + 7074 7037 7073 6894 + 6894 7074 7038 6895 + 7075 7039 7038 6895 + 7075 7038 7074 6895 + 6895 7075 7039 6896 + 7076 7040 7039 6896 + 7076 7039 7075 6896 + 6896 7076 7040 6897 + 7077 7041 7040 6897 + 7077 7040 7076 6897 + 6897 7077 7041 6898 + 7078 7042 7041 6898 + 7078 7041 7077 6898 + 6898 7078 7042 6899 + 7079 7043 7042 6899 + 7079 7042 7078 6899 + 6899 7079 7043 6900 + 7080 7044 7043 6900 + 7080 7043 7079 6900 + 6900 7080 7044 6901 + 7081 7045 7044 6901 + 7081 7044 7080 6901 + 6901 7081 7045 6902 + 7082 7046 7045 6902 + 7082 7045 7081 6902 + 6902 7082 7046 6903 + 7083 7047 7046 6903 + 7083 7046 7082 6903 + 6903 7083 7047 6904 + 7084 7048 7047 6904 + 7084 7047 7083 6904 + 6904 7084 7048 6905 + 7085 7049 7048 6905 + 7085 7048 7084 6905 + 6905 7085 7049 6906 + 7086 7050 7049 6906 + 7086 7049 7085 6906 + 6906 7086 7050 6907 + 7087 7051 7050 6907 + 7087 7050 7086 6907 + 6907 7087 7051 6908 + 7088 7052 7051 6908 + 7088 7051 7087 6908 + 6908 7088 7052 6909 + 7089 7053 7052 6909 + 7089 7052 7088 6909 + 6909 7089 7053 6910 + 7090 7054 7053 6910 + 7090 7053 7089 6910 + 6910 7090 7054 6911 + 7091 7055 7054 6911 + 7091 7054 7090 6911 + 6911 7091 7055 6912 + 7092 7056 7055 6912 + 7092 7055 7091 6912 + 6912 7092 7056 6913 + 7093 7057 7056 6913 + 7093 7056 7092 6913 + 6913 7093 7057 6914 + 7094 7058 7057 6914 + 7094 7057 7093 6914 + 187 192 191 6915 + 7095 7059 191 6915 + 7095 191 192 6915 + 6915 7095 7059 6916 + 7096 7060 7059 6916 + 7096 7059 7095 6916 + 6916 7096 7060 6917 + 7097 7061 7060 6917 + 7097 7060 7096 6917 + 6917 7097 7061 6918 + 7098 7062 7061 6918 + 7098 7061 7097 6918 + 6918 7098 7062 6919 + 7099 7063 7062 6919 + 7099 7062 7098 6919 + 6919 7099 7063 6920 + 7100 7064 7063 6920 + 7100 7063 7099 6920 + 6920 7100 7064 6921 + 7101 7065 7064 6921 + 7101 7064 7100 6921 + 6921 7101 7065 6922 + 7102 7066 7065 6922 + 7102 7065 7101 6922 + 6922 7102 7066 6923 + 7103 7067 7066 6923 + 7103 7066 7102 6923 + 6923 7103 7067 6924 + 7104 7068 7067 6924 + 7104 7067 7103 6924 + 6924 7104 7068 6925 + 7105 7069 7068 6925 + 7105 7068 7104 6925 + 6925 7105 7069 6926 + 7106 7070 7069 6926 + 7106 7069 7105 6926 + 6926 7106 7070 6927 + 7107 7071 7070 6927 + 7107 7070 7106 6927 + 6927 7107 7071 6928 + 7108 7072 7071 6928 + 7108 7071 7107 6928 + 6928 7108 7072 6929 + 7109 7073 7072 6929 + 7109 7072 7108 6929 + 6929 7109 7073 6930 + 7110 7074 7073 6930 + 7110 7073 7109 6930 + 6930 7110 7074 6931 + 7111 7075 7074 6931 + 7111 7074 7110 6931 + 6931 7111 7075 6932 + 7112 7076 7075 6932 + 7112 7075 7111 6932 + 6932 7112 7076 6933 + 7113 7077 7076 6933 + 7113 7076 7112 6933 + 6933 7113 7077 6934 + 7114 7078 7077 6934 + 7114 7077 7113 6934 + 6934 7114 7078 6935 + 7115 7079 7078 6935 + 7115 7078 7114 6935 + 6935 7115 7079 6936 + 7116 7080 7079 6936 + 7116 7079 7115 6936 + 6936 7116 7080 6937 + 7117 7081 7080 6937 + 7117 7080 7116 6937 + 6937 7117 7081 6938 + 7118 7082 7081 6938 + 7118 7081 7117 6938 + 6938 7118 7082 6939 + 7119 7083 7082 6939 + 7119 7082 7118 6939 + 6939 7119 7083 6940 + 7120 7084 7083 6940 + 7120 7083 7119 6940 + 6940 7120 7084 6941 + 7121 7085 7084 6941 + 7121 7084 7120 6941 + 6941 7121 7085 6942 + 7122 7086 7085 6942 + 7122 7085 7121 6942 + 6942 7122 7086 6943 + 7123 7087 7086 6943 + 7123 7086 7122 6943 + 6943 7123 7087 6944 + 7124 7088 7087 6944 + 7124 7087 7123 6944 + 6944 7124 7088 6945 + 7125 7089 7088 6945 + 7125 7088 7124 6945 + 6945 7125 7089 6946 + 7126 7090 7089 6946 + 7126 7089 7125 6946 + 6946 7126 7090 6947 + 7127 7091 7090 6947 + 7127 7090 7126 6947 + 6947 7127 7091 6948 + 7128 7092 7091 6948 + 7128 7091 7127 6948 + 6948 7128 7092 6949 + 7129 7093 7092 6949 + 7129 7092 7128 6949 + 6949 7129 7093 6950 + 7130 7094 7093 6950 + 7130 7093 7129 6950 + 188 193 192 6951 + 7131 7095 192 6951 + 7131 192 193 6951 + 6951 7131 7095 6952 + 7132 7096 7095 6952 + 7132 7095 7131 6952 + 6952 7132 7096 6953 + 7133 7097 7096 6953 + 7133 7096 7132 6953 + 6953 7133 7097 6954 + 7134 7098 7097 6954 + 7134 7097 7133 6954 + 6954 7134 7098 6955 + 7135 7099 7098 6955 + 7135 7098 7134 6955 + 6955 7135 7099 6956 + 7136 7100 7099 6956 + 7136 7099 7135 6956 + 6956 7136 7100 6957 + 7137 7101 7100 6957 + 7137 7100 7136 6957 + 6957 7137 7101 6958 + 7138 7102 7101 6958 + 7138 7101 7137 6958 + 6958 7138 7102 6959 + 7139 7103 7102 6959 + 7139 7102 7138 6959 + 6959 7139 7103 6960 + 7140 7104 7103 6960 + 7140 7103 7139 6960 + 6960 7140 7104 6961 + 7141 7105 7104 6961 + 7141 7104 7140 6961 + 6961 7141 7105 6962 + 7142 7106 7105 6962 + 7142 7105 7141 6962 + 6962 7142 7106 6963 + 7143 7107 7106 6963 + 7143 7106 7142 6963 + 6963 7143 7107 6964 + 7144 7108 7107 6964 + 7144 7107 7143 6964 + 6964 7144 7108 6965 + 7145 7109 7108 6965 + 7145 7108 7144 6965 + 6965 7145 7109 6966 + 7146 7110 7109 6966 + 7146 7109 7145 6966 + 6966 7146 7110 6967 + 7147 7111 7110 6967 + 7147 7110 7146 6967 + 6967 7147 7111 6968 + 7148 7112 7111 6968 + 7148 7111 7147 6968 + 6968 7148 7112 6969 + 7149 7113 7112 6969 + 7149 7112 7148 6969 + 6969 7149 7113 6970 + 7150 7114 7113 6970 + 7150 7113 7149 6970 + 6970 7150 7114 6971 + 7151 7115 7114 6971 + 7151 7114 7150 6971 + 6971 7151 7115 6972 + 7152 7116 7115 6972 + 7152 7115 7151 6972 + 6972 7152 7116 6973 + 7153 7117 7116 6973 + 7153 7116 7152 6973 + 6973 7153 7117 6974 + 7154 7118 7117 6974 + 7154 7117 7153 6974 + 6974 7154 7118 6975 + 7155 7119 7118 6975 + 7155 7118 7154 6975 + 6975 7155 7119 6976 + 7156 7120 7119 6976 + 7156 7119 7155 6976 + 6976 7156 7120 6977 + 7157 7121 7120 6977 + 7157 7120 7156 6977 + 6977 7157 7121 6978 + 7158 7122 7121 6978 + 7158 7121 7157 6978 + 6978 7158 7122 6979 + 7159 7123 7122 6979 + 7159 7122 7158 6979 + 6979 7159 7123 6980 + 7160 7124 7123 6980 + 7160 7123 7159 6980 + 6980 7160 7124 6981 + 7161 7125 7124 6981 + 7161 7124 7160 6981 + 6981 7161 7125 6982 + 7162 7126 7125 6982 + 7162 7125 7161 6982 + 6982 7162 7126 6983 + 7163 7127 7126 6983 + 7163 7126 7162 6983 + 6983 7163 7127 6984 + 7164 7128 7127 6984 + 7164 7127 7163 6984 + 6984 7164 7128 6985 + 7165 7129 7128 6985 + 7165 7128 7164 6985 + 6985 7165 7129 6986 + 7166 7130 7129 6986 + 7166 7129 7165 6986 + 6987 6843 6411 189 + 6411 6843 173 189 + 6843 185 173 189 + 6988 6844 6412 6987 + 6412 6844 6411 6987 + 6844 6843 6411 6987 + 6989 6845 6413 6988 + 6413 6845 6412 6988 + 6845 6844 6412 6988 + 6990 6846 6414 6989 + 6414 6846 6413 6989 + 6846 6845 6413 6989 + 6991 6847 6415 6990 + 6415 6847 6414 6990 + 6847 6846 6414 6990 + 6992 6848 6416 6991 + 6416 6848 6415 6991 + 6848 6847 6415 6991 + 6993 6849 6417 6992 + 6417 6849 6416 6992 + 6849 6848 6416 6992 + 6994 6850 6418 6993 + 6418 6850 6417 6993 + 6850 6849 6417 6993 + 6995 6851 6419 6994 + 6419 6851 6418 6994 + 6851 6850 6418 6994 + 6996 6852 6420 6995 + 6420 6852 6419 6995 + 6852 6851 6419 6995 + 6997 6853 6421 6996 + 6421 6853 6420 6996 + 6853 6852 6420 6996 + 6998 6854 6422 6997 + 6422 6854 6421 6997 + 6854 6853 6421 6997 + 6999 6855 6423 6998 + 6423 6855 6422 6998 + 6855 6854 6422 6998 + 7000 6856 6424 6999 + 6424 6856 6423 6999 + 6856 6855 6423 6999 + 7001 6857 6425 7000 + 6425 6857 6424 7000 + 6857 6856 6424 7000 + 7002 6858 6426 7001 + 6426 6858 6425 7001 + 6858 6857 6425 7001 + 7003 6859 6427 7002 + 6427 6859 6426 7002 + 6859 6858 6426 7002 + 7004 6860 6428 7003 + 6428 6860 6427 7003 + 6860 6859 6427 7003 + 7005 6861 6429 7004 + 6429 6861 6428 7004 + 6861 6860 6428 7004 + 7006 6862 6430 7005 + 6430 6862 6429 7005 + 6862 6861 6429 7005 + 7007 6863 6431 7006 + 6431 6863 6430 7006 + 6863 6862 6430 7006 + 7008 6864 6432 7007 + 6432 6864 6431 7007 + 6864 6863 6431 7007 + 7009 6865 6433 7008 + 6433 6865 6432 7008 + 6865 6864 6432 7008 + 7010 6866 6434 7009 + 6434 6866 6433 7009 + 6866 6865 6433 7009 + 7011 6867 6435 7010 + 6435 6867 6434 7010 + 6867 6866 6434 7010 + 7012 6868 6436 7011 + 6436 6868 6435 7011 + 6868 6867 6435 7011 + 7013 6869 6437 7012 + 6437 6869 6436 7012 + 6869 6868 6436 7012 + 7014 6870 6438 7013 + 6438 6870 6437 7013 + 6870 6869 6437 7013 + 7015 6871 6439 7014 + 6439 6871 6438 7014 + 6871 6870 6438 7014 + 7016 6872 6440 7015 + 6440 6872 6439 7015 + 6872 6871 6439 7015 + 7017 6873 6441 7016 + 6441 6873 6440 7016 + 6873 6872 6440 7016 + 7018 6874 6442 7017 + 6442 6874 6441 7017 + 6874 6873 6441 7017 + 7019 6875 6443 7018 + 6443 6875 6442 7018 + 6875 6874 6442 7018 + 7020 6876 6444 7019 + 6444 6876 6443 7019 + 6876 6875 6443 7019 + 7021 6877 6445 7020 + 6445 6877 6444 7020 + 6877 6876 6444 7020 + 7022 6878 6446 7021 + 6446 6878 6445 7021 + 6878 6877 6445 7021 + 7023 6879 6843 190 + 6843 6879 185 190 + 6879 186 185 190 + 7024 6880 6844 7023 + 6844 6880 6843 7023 + 6880 6879 6843 7023 + 7025 6881 6845 7024 + 6845 6881 6844 7024 + 6881 6880 6844 7024 + 7026 6882 6846 7025 + 6846 6882 6845 7025 + 6882 6881 6845 7025 + 7027 6883 6847 7026 + 6847 6883 6846 7026 + 6883 6882 6846 7026 + 7028 6884 6848 7027 + 6848 6884 6847 7027 + 6884 6883 6847 7027 + 7029 6885 6849 7028 + 6849 6885 6848 7028 + 6885 6884 6848 7028 + 7030 6886 6850 7029 + 6850 6886 6849 7029 + 6886 6885 6849 7029 + 7031 6887 6851 7030 + 6851 6887 6850 7030 + 6887 6886 6850 7030 + 7032 6888 6852 7031 + 6852 6888 6851 7031 + 6888 6887 6851 7031 + 7033 6889 6853 7032 + 6853 6889 6852 7032 + 6889 6888 6852 7032 + 7034 6890 6854 7033 + 6854 6890 6853 7033 + 6890 6889 6853 7033 + 7035 6891 6855 7034 + 6855 6891 6854 7034 + 6891 6890 6854 7034 + 7036 6892 6856 7035 + 6856 6892 6855 7035 + 6892 6891 6855 7035 + 7037 6893 6857 7036 + 6857 6893 6856 7036 + 6893 6892 6856 7036 + 7038 6894 6858 7037 + 6858 6894 6857 7037 + 6894 6893 6857 7037 + 7039 6895 6859 7038 + 6859 6895 6858 7038 + 6895 6894 6858 7038 + 7040 6896 6860 7039 + 6860 6896 6859 7039 + 6896 6895 6859 7039 + 7041 6897 6861 7040 + 6861 6897 6860 7040 + 6897 6896 6860 7040 + 7042 6898 6862 7041 + 6862 6898 6861 7041 + 6898 6897 6861 7041 + 7043 6899 6863 7042 + 6863 6899 6862 7042 + 6899 6898 6862 7042 + 7044 6900 6864 7043 + 6864 6900 6863 7043 + 6900 6899 6863 7043 + 7045 6901 6865 7044 + 6865 6901 6864 7044 + 6901 6900 6864 7044 + 7046 6902 6866 7045 + 6866 6902 6865 7045 + 6902 6901 6865 7045 + 7047 6903 6867 7046 + 6867 6903 6866 7046 + 6903 6902 6866 7046 + 7048 6904 6868 7047 + 6868 6904 6867 7047 + 6904 6903 6867 7047 + 7049 6905 6869 7048 + 6869 6905 6868 7048 + 6905 6904 6868 7048 + 7050 6906 6870 7049 + 6870 6906 6869 7049 + 6906 6905 6869 7049 + 7051 6907 6871 7050 + 6871 6907 6870 7050 + 6907 6906 6870 7050 + 7052 6908 6872 7051 + 6872 6908 6871 7051 + 6908 6907 6871 7051 + 7053 6909 6873 7052 + 6873 6909 6872 7052 + 6909 6908 6872 7052 + 7054 6910 6874 7053 + 6874 6910 6873 7053 + 6910 6909 6873 7053 + 7055 6911 6875 7054 + 6875 6911 6874 7054 + 6911 6910 6874 7054 + 7056 6912 6876 7055 + 6876 6912 6875 7055 + 6912 6911 6875 7055 + 7057 6913 6877 7056 + 6877 6913 6876 7056 + 6913 6912 6876 7056 + 7058 6914 6878 7057 + 6878 6914 6877 7057 + 6914 6913 6877 7057 + 7059 6915 6879 191 + 6879 6915 186 191 + 6915 187 186 191 + 7060 6916 6880 7059 + 6880 6916 6879 7059 + 6916 6915 6879 7059 + 7061 6917 6881 7060 + 6881 6917 6880 7060 + 6917 6916 6880 7060 + 7062 6918 6882 7061 + 6882 6918 6881 7061 + 6918 6917 6881 7061 + 7063 6919 6883 7062 + 6883 6919 6882 7062 + 6919 6918 6882 7062 + 7064 6920 6884 7063 + 6884 6920 6883 7063 + 6920 6919 6883 7063 + 7065 6921 6885 7064 + 6885 6921 6884 7064 + 6921 6920 6884 7064 + 7066 6922 6886 7065 + 6886 6922 6885 7065 + 6922 6921 6885 7065 + 7067 6923 6887 7066 + 6887 6923 6886 7066 + 6923 6922 6886 7066 + 7068 6924 6888 7067 + 6888 6924 6887 7067 + 6924 6923 6887 7067 + 7069 6925 6889 7068 + 6889 6925 6888 7068 + 6925 6924 6888 7068 + 7070 6926 6890 7069 + 6890 6926 6889 7069 + 6926 6925 6889 7069 + 7071 6927 6891 7070 + 6891 6927 6890 7070 + 6927 6926 6890 7070 + 7072 6928 6892 7071 + 6892 6928 6891 7071 + 6928 6927 6891 7071 + 7073 6929 6893 7072 + 6893 6929 6892 7072 + 6929 6928 6892 7072 + 7074 6930 6894 7073 + 6894 6930 6893 7073 + 6930 6929 6893 7073 + 7075 6931 6895 7074 + 6895 6931 6894 7074 + 6931 6930 6894 7074 + 7076 6932 6896 7075 + 6896 6932 6895 7075 + 6932 6931 6895 7075 + 7077 6933 6897 7076 + 6897 6933 6896 7076 + 6933 6932 6896 7076 + 7078 6934 6898 7077 + 6898 6934 6897 7077 + 6934 6933 6897 7077 + 7079 6935 6899 7078 + 6899 6935 6898 7078 + 6935 6934 6898 7078 + 7080 6936 6900 7079 + 6900 6936 6899 7079 + 6936 6935 6899 7079 + 7081 6937 6901 7080 + 6901 6937 6900 7080 + 6937 6936 6900 7080 + 7082 6938 6902 7081 + 6902 6938 6901 7081 + 6938 6937 6901 7081 + 7083 6939 6903 7082 + 6903 6939 6902 7082 + 6939 6938 6902 7082 + 7084 6940 6904 7083 + 6904 6940 6903 7083 + 6940 6939 6903 7083 + 7085 6941 6905 7084 + 6905 6941 6904 7084 + 6941 6940 6904 7084 + 7086 6942 6906 7085 + 6906 6942 6905 7085 + 6942 6941 6905 7085 + 7087 6943 6907 7086 + 6907 6943 6906 7086 + 6943 6942 6906 7086 + 7088 6944 6908 7087 + 6908 6944 6907 7087 + 6944 6943 6907 7087 + 7089 6945 6909 7088 + 6909 6945 6908 7088 + 6945 6944 6908 7088 + 7090 6946 6910 7089 + 6910 6946 6909 7089 + 6946 6945 6909 7089 + 7091 6947 6911 7090 + 6911 6947 6910 7090 + 6947 6946 6910 7090 + 7092 6948 6912 7091 + 6912 6948 6911 7091 + 6948 6947 6911 7091 + 7093 6949 6913 7092 + 6913 6949 6912 7092 + 6949 6948 6912 7092 + 7094 6950 6914 7093 + 6914 6950 6913 7093 + 6950 6949 6913 7093 + 7095 6951 6915 192 + 6915 6951 187 192 + 6951 188 187 192 + 7096 6952 6916 7095 + 6916 6952 6915 7095 + 6952 6951 6915 7095 + 7097 6953 6917 7096 + 6917 6953 6916 7096 + 6953 6952 6916 7096 + 7098 6954 6918 7097 + 6918 6954 6917 7097 + 6954 6953 6917 7097 + 7099 6955 6919 7098 + 6919 6955 6918 7098 + 6955 6954 6918 7098 + 7100 6956 6920 7099 + 6920 6956 6919 7099 + 6956 6955 6919 7099 + 7101 6957 6921 7100 + 6921 6957 6920 7100 + 6957 6956 6920 7100 + 7102 6958 6922 7101 + 6922 6958 6921 7101 + 6958 6957 6921 7101 + 7103 6959 6923 7102 + 6923 6959 6922 7102 + 6959 6958 6922 7102 + 7104 6960 6924 7103 + 6924 6960 6923 7103 + 6960 6959 6923 7103 + 7105 6961 6925 7104 + 6925 6961 6924 7104 + 6961 6960 6924 7104 + 7106 6962 6926 7105 + 6926 6962 6925 7105 + 6962 6961 6925 7105 + 7107 6963 6927 7106 + 6927 6963 6926 7106 + 6963 6962 6926 7106 + 7108 6964 6928 7107 + 6928 6964 6927 7107 + 6964 6963 6927 7107 + 7109 6965 6929 7108 + 6929 6965 6928 7108 + 6965 6964 6928 7108 + 7110 6966 6930 7109 + 6930 6966 6929 7109 + 6966 6965 6929 7109 + 7111 6967 6931 7110 + 6931 6967 6930 7110 + 6967 6966 6930 7110 + 7112 6968 6932 7111 + 6932 6968 6931 7111 + 6968 6967 6931 7111 + 7113 6969 6933 7112 + 6933 6969 6932 7112 + 6969 6968 6932 7112 + 7114 6970 6934 7113 + 6934 6970 6933 7113 + 6970 6969 6933 7113 + 7115 6971 6935 7114 + 6935 6971 6934 7114 + 6971 6970 6934 7114 + 7116 6972 6936 7115 + 6936 6972 6935 7115 + 6972 6971 6935 7115 + 7117 6973 6937 7116 + 6937 6973 6936 7116 + 6973 6972 6936 7116 + 7118 6974 6938 7117 + 6938 6974 6937 7117 + 6974 6973 6937 7117 + 7119 6975 6939 7118 + 6939 6975 6938 7118 + 6975 6974 6938 7118 + 7120 6976 6940 7119 + 6940 6976 6939 7119 + 6976 6975 6939 7119 + 7121 6977 6941 7120 + 6941 6977 6940 7120 + 6977 6976 6940 7120 + 7122 6978 6942 7121 + 6942 6978 6941 7121 + 6978 6977 6941 7121 + 7123 6979 6943 7122 + 6943 6979 6942 7122 + 6979 6978 6942 7122 + 7124 6980 6944 7123 + 6944 6980 6943 7123 + 6980 6979 6943 7123 + 7125 6981 6945 7124 + 6945 6981 6944 7124 + 6981 6980 6944 7124 + 7126 6982 6946 7125 + 6946 6982 6945 7125 + 6982 6981 6945 7125 + 7127 6983 6947 7126 + 6947 6983 6946 7126 + 6983 6982 6946 7126 + 7128 6984 6948 7127 + 6948 6984 6947 7127 + 6984 6983 6947 7127 + 7129 6985 6949 7128 + 6949 6985 6948 7128 + 6985 6984 6948 7128 + 7130 6986 6950 7129 + 6950 6986 6949 7129 + 6986 6985 6949 7129 + 178 86 70 6591 + 3279 2703 70 6591 + 3279 70 86 6591 + 6591 3279 2703 6592 + 3280 2704 2703 6592 + 3280 2703 3279 6592 + 6592 3280 2704 6593 + 3281 2705 2704 6593 + 3281 2704 3280 6593 + 6593 3281 2705 6594 + 3282 2706 2705 6594 + 3282 2705 3281 6594 + 6594 3282 2706 6595 + 3283 2707 2706 6595 + 3283 2706 3282 6595 + 6595 3283 2707 6596 + 3284 2708 2707 6596 + 3284 2707 3283 6596 + 6596 3284 2708 6597 + 3285 2709 2708 6597 + 3285 2708 3284 6597 + 6597 3285 2709 6598 + 3286 2710 2709 6598 + 3286 2709 3285 6598 + 6598 3286 2710 6599 + 3287 2711 2710 6599 + 3287 2710 3286 6599 + 6599 3287 2711 6600 + 3288 2712 2711 6600 + 3288 2711 3287 6600 + 6600 3288 2712 6601 + 3289 2713 2712 6601 + 3289 2712 3288 6601 + 6601 3289 2713 6602 + 3290 2714 2713 6602 + 3290 2713 3289 6602 + 6602 3290 2714 6603 + 3291 2715 2714 6603 + 3291 2714 3290 6603 + 6603 3291 2715 6604 + 3292 2716 2715 6604 + 3292 2715 3291 6604 + 6604 3292 2716 6605 + 3293 2717 2716 6605 + 3293 2716 3292 6605 + 6605 3293 2717 6606 + 3294 2718 2717 6606 + 3294 2717 3293 6606 + 6606 3294 2718 6607 + 3295 2719 2718 6607 + 3295 2718 3294 6607 + 6607 3295 2719 6608 + 3296 2720 2719 6608 + 3296 2719 3295 6608 + 6608 3296 2720 6609 + 3297 2721 2720 6609 + 3297 2720 3296 6609 + 6609 3297 2721 6610 + 3298 2722 2721 6610 + 3298 2721 3297 6610 + 6610 3298 2722 6611 + 3299 2723 2722 6611 + 3299 2722 3298 6611 + 6611 3299 2723 6612 + 3300 2724 2723 6612 + 3300 2723 3299 6612 + 6612 3300 2724 6613 + 3301 2725 2724 6613 + 3301 2724 3300 6613 + 6613 3301 2725 6614 + 3302 2726 2725 6614 + 3302 2725 3301 6614 + 6614 3302 2726 6615 + 3303 2727 2726 6615 + 3303 2726 3302 6615 + 6615 3303 2727 6616 + 3304 2728 2727 6616 + 3304 2727 3303 6616 + 6616 3304 2728 6617 + 3305 2729 2728 6617 + 3305 2728 3304 6617 + 6617 3305 2729 6618 + 3306 2730 2729 6618 + 3306 2729 3305 6618 + 6618 3306 2730 6619 + 3307 2731 2730 6619 + 3307 2730 3306 6619 + 6619 3307 2731 6620 + 3308 2732 2731 6620 + 3308 2731 3307 6620 + 6620 3308 2732 6621 + 3309 2733 2732 6621 + 3309 2732 3308 6621 + 6621 3309 2733 6622 + 3310 2734 2733 6622 + 3310 2733 3309 6622 + 6622 3310 2734 6623 + 3311 2735 2734 6623 + 3311 2734 3310 6623 + 6623 3311 2735 6624 + 3312 2736 2735 6624 + 3312 2735 3311 6624 + 6624 3312 2736 6625 + 3313 2737 2736 6625 + 3313 2736 3312 6625 + 6625 3313 2737 6626 + 3314 2738 2737 6626 + 3314 2737 3313 6626 + 189 87 86 6987 + 3315 3279 86 6987 + 3315 86 87 6987 + 6987 3315 3279 6988 + 3316 3280 3279 6988 + 3316 3279 3315 6988 + 6988 3316 3280 6989 + 3317 3281 3280 6989 + 3317 3280 3316 6989 + 6989 3317 3281 6990 + 3318 3282 3281 6990 + 3318 3281 3317 6990 + 6990 3318 3282 6991 + 3319 3283 3282 6991 + 3319 3282 3318 6991 + 6991 3319 3283 6992 + 3320 3284 3283 6992 + 3320 3283 3319 6992 + 6992 3320 3284 6993 + 3321 3285 3284 6993 + 3321 3284 3320 6993 + 6993 3321 3285 6994 + 3322 3286 3285 6994 + 3322 3285 3321 6994 + 6994 3322 3286 6995 + 3323 3287 3286 6995 + 3323 3286 3322 6995 + 6995 3323 3287 6996 + 3324 3288 3287 6996 + 3324 3287 3323 6996 + 6996 3324 3288 6997 + 3325 3289 3288 6997 + 3325 3288 3324 6997 + 6997 3325 3289 6998 + 3326 3290 3289 6998 + 3326 3289 3325 6998 + 6998 3326 3290 6999 + 3327 3291 3290 6999 + 3327 3290 3326 6999 + 6999 3327 3291 7000 + 3328 3292 3291 7000 + 3328 3291 3327 7000 + 7000 3328 3292 7001 + 3329 3293 3292 7001 + 3329 3292 3328 7001 + 7001 3329 3293 7002 + 3330 3294 3293 7002 + 3330 3293 3329 7002 + 7002 3330 3294 7003 + 3331 3295 3294 7003 + 3331 3294 3330 7003 + 7003 3331 3295 7004 + 3332 3296 3295 7004 + 3332 3295 3331 7004 + 7004 3332 3296 7005 + 3333 3297 3296 7005 + 3333 3296 3332 7005 + 7005 3333 3297 7006 + 3334 3298 3297 7006 + 3334 3297 3333 7006 + 7006 3334 3298 7007 + 3335 3299 3298 7007 + 3335 3298 3334 7007 + 7007 3335 3299 7008 + 3336 3300 3299 7008 + 3336 3299 3335 7008 + 7008 3336 3300 7009 + 3337 3301 3300 7009 + 3337 3300 3336 7009 + 7009 3337 3301 7010 + 3338 3302 3301 7010 + 3338 3301 3337 7010 + 7010 3338 3302 7011 + 3339 3303 3302 7011 + 3339 3302 3338 7011 + 7011 3339 3303 7012 + 3340 3304 3303 7012 + 3340 3303 3339 7012 + 7012 3340 3304 7013 + 3341 3305 3304 7013 + 3341 3304 3340 7013 + 7013 3341 3305 7014 + 3342 3306 3305 7014 + 3342 3305 3341 7014 + 7014 3342 3306 7015 + 3343 3307 3306 7015 + 3343 3306 3342 7015 + 7015 3343 3307 7016 + 3344 3308 3307 7016 + 3344 3307 3343 7016 + 7016 3344 3308 7017 + 3345 3309 3308 7017 + 3345 3308 3344 7017 + 7017 3345 3309 7018 + 3346 3310 3309 7018 + 3346 3309 3345 7018 + 7018 3346 3310 7019 + 3347 3311 3310 7019 + 3347 3310 3346 7019 + 7019 3347 3311 7020 + 3348 3312 3311 7020 + 3348 3311 3347 7020 + 7020 3348 3312 7021 + 3349 3313 3312 7021 + 3349 3312 3348 7021 + 7021 3349 3313 7022 + 3350 3314 3313 7022 + 3350 3313 3349 7022 + 190 88 87 7023 + 3351 3315 87 7023 + 3351 87 88 7023 + 7023 3351 3315 7024 + 3352 3316 3315 7024 + 3352 3315 3351 7024 + 7024 3352 3316 7025 + 3353 3317 3316 7025 + 3353 3316 3352 7025 + 7025 3353 3317 7026 + 3354 3318 3317 7026 + 3354 3317 3353 7026 + 7026 3354 3318 7027 + 3355 3319 3318 7027 + 3355 3318 3354 7027 + 7027 3355 3319 7028 + 3356 3320 3319 7028 + 3356 3319 3355 7028 + 7028 3356 3320 7029 + 3357 3321 3320 7029 + 3357 3320 3356 7029 + 7029 3357 3321 7030 + 3358 3322 3321 7030 + 3358 3321 3357 7030 + 7030 3358 3322 7031 + 3359 3323 3322 7031 + 3359 3322 3358 7031 + 7031 3359 3323 7032 + 3360 3324 3323 7032 + 3360 3323 3359 7032 + 7032 3360 3324 7033 + 3361 3325 3324 7033 + 3361 3324 3360 7033 + 7033 3361 3325 7034 + 3362 3326 3325 7034 + 3362 3325 3361 7034 + 7034 3362 3326 7035 + 3363 3327 3326 7035 + 3363 3326 3362 7035 + 7035 3363 3327 7036 + 3364 3328 3327 7036 + 3364 3327 3363 7036 + 7036 3364 3328 7037 + 3365 3329 3328 7037 + 3365 3328 3364 7037 + 7037 3365 3329 7038 + 3366 3330 3329 7038 + 3366 3329 3365 7038 + 7038 3366 3330 7039 + 3367 3331 3330 7039 + 3367 3330 3366 7039 + 7039 3367 3331 7040 + 3368 3332 3331 7040 + 3368 3331 3367 7040 + 7040 3368 3332 7041 + 3369 3333 3332 7041 + 3369 3332 3368 7041 + 7041 3369 3333 7042 + 3370 3334 3333 7042 + 3370 3333 3369 7042 + 7042 3370 3334 7043 + 3371 3335 3334 7043 + 3371 3334 3370 7043 + 7043 3371 3335 7044 + 3372 3336 3335 7044 + 3372 3335 3371 7044 + 7044 3372 3336 7045 + 3373 3337 3336 7045 + 3373 3336 3372 7045 + 7045 3373 3337 7046 + 3374 3338 3337 7046 + 3374 3337 3373 7046 + 7046 3374 3338 7047 + 3375 3339 3338 7047 + 3375 3338 3374 7047 + 7047 3375 3339 7048 + 3376 3340 3339 7048 + 3376 3339 3375 7048 + 7048 3376 3340 7049 + 3377 3341 3340 7049 + 3377 3340 3376 7049 + 7049 3377 3341 7050 + 3378 3342 3341 7050 + 3378 3341 3377 7050 + 7050 3378 3342 7051 + 3379 3343 3342 7051 + 3379 3342 3378 7051 + 7051 3379 3343 7052 + 3380 3344 3343 7052 + 3380 3343 3379 7052 + 7052 3380 3344 7053 + 3381 3345 3344 7053 + 3381 3344 3380 7053 + 7053 3381 3345 7054 + 3382 3346 3345 7054 + 3382 3345 3381 7054 + 7054 3382 3346 7055 + 3383 3347 3346 7055 + 3383 3346 3382 7055 + 7055 3383 3347 7056 + 3384 3348 3347 7056 + 3384 3347 3383 7056 + 7056 3384 3348 7057 + 3385 3349 3348 7057 + 3385 3348 3384 7057 + 7057 3385 3349 7058 + 3386 3350 3349 7058 + 3386 3349 3385 7058 + 191 89 88 7059 + 3387 3351 88 7059 + 3387 88 89 7059 + 7059 3387 3351 7060 + 3388 3352 3351 7060 + 3388 3351 3387 7060 + 7060 3388 3352 7061 + 3389 3353 3352 7061 + 3389 3352 3388 7061 + 7061 3389 3353 7062 + 3390 3354 3353 7062 + 3390 3353 3389 7062 + 7062 3390 3354 7063 + 3391 3355 3354 7063 + 3391 3354 3390 7063 + 7063 3391 3355 7064 + 3392 3356 3355 7064 + 3392 3355 3391 7064 + 7064 3392 3356 7065 + 3393 3357 3356 7065 + 3393 3356 3392 7065 + 7065 3393 3357 7066 + 3394 3358 3357 7066 + 3394 3357 3393 7066 + 7066 3394 3358 7067 + 3395 3359 3358 7067 + 3395 3358 3394 7067 + 7067 3395 3359 7068 + 3396 3360 3359 7068 + 3396 3359 3395 7068 + 7068 3396 3360 7069 + 3397 3361 3360 7069 + 3397 3360 3396 7069 + 7069 3397 3361 7070 + 3398 3362 3361 7070 + 3398 3361 3397 7070 + 7070 3398 3362 7071 + 3399 3363 3362 7071 + 3399 3362 3398 7071 + 7071 3399 3363 7072 + 3400 3364 3363 7072 + 3400 3363 3399 7072 + 7072 3400 3364 7073 + 3401 3365 3364 7073 + 3401 3364 3400 7073 + 7073 3401 3365 7074 + 3402 3366 3365 7074 + 3402 3365 3401 7074 + 7074 3402 3366 7075 + 3403 3367 3366 7075 + 3403 3366 3402 7075 + 7075 3403 3367 7076 + 3404 3368 3367 7076 + 3404 3367 3403 7076 + 7076 3404 3368 7077 + 3405 3369 3368 7077 + 3405 3368 3404 7077 + 7077 3405 3369 7078 + 3406 3370 3369 7078 + 3406 3369 3405 7078 + 7078 3406 3370 7079 + 3407 3371 3370 7079 + 3407 3370 3406 7079 + 7079 3407 3371 7080 + 3408 3372 3371 7080 + 3408 3371 3407 7080 + 7080 3408 3372 7081 + 3409 3373 3372 7081 + 3409 3372 3408 7081 + 7081 3409 3373 7082 + 3410 3374 3373 7082 + 3410 3373 3409 7082 + 7082 3410 3374 7083 + 3411 3375 3374 7083 + 3411 3374 3410 7083 + 7083 3411 3375 7084 + 3412 3376 3375 7084 + 3412 3375 3411 7084 + 7084 3412 3376 7085 + 3413 3377 3376 7085 + 3413 3376 3412 7085 + 7085 3413 3377 7086 + 3414 3378 3377 7086 + 3414 3377 3413 7086 + 7086 3414 3378 7087 + 3415 3379 3378 7087 + 3415 3378 3414 7087 + 7087 3415 3379 7088 + 3416 3380 3379 7088 + 3416 3379 3415 7088 + 7088 3416 3380 7089 + 3417 3381 3380 7089 + 3417 3380 3416 7089 + 7089 3417 3381 7090 + 3418 3382 3381 7090 + 3418 3381 3417 7090 + 7090 3418 3382 7091 + 3419 3383 3382 7091 + 3419 3382 3418 7091 + 7091 3419 3383 7092 + 3420 3384 3383 7092 + 3420 3383 3419 7092 + 7092 3420 3384 7093 + 3421 3385 3384 7093 + 3421 3384 3420 7093 + 7093 3421 3385 7094 + 3422 3386 3385 7094 + 3422 3385 3421 7094 + 192 90 89 7095 + 3423 3387 89 7095 + 3423 89 90 7095 + 7095 3423 3387 7096 + 3424 3388 3387 7096 + 3424 3387 3423 7096 + 7096 3424 3388 7097 + 3425 3389 3388 7097 + 3425 3388 3424 7097 + 7097 3425 3389 7098 + 3426 3390 3389 7098 + 3426 3389 3425 7098 + 7098 3426 3390 7099 + 3427 3391 3390 7099 + 3427 3390 3426 7099 + 7099 3427 3391 7100 + 3428 3392 3391 7100 + 3428 3391 3427 7100 + 7100 3428 3392 7101 + 3429 3393 3392 7101 + 3429 3392 3428 7101 + 7101 3429 3393 7102 + 3430 3394 3393 7102 + 3430 3393 3429 7102 + 7102 3430 3394 7103 + 3431 3395 3394 7103 + 3431 3394 3430 7103 + 7103 3431 3395 7104 + 3432 3396 3395 7104 + 3432 3395 3431 7104 + 7104 3432 3396 7105 + 3433 3397 3396 7105 + 3433 3396 3432 7105 + 7105 3433 3397 7106 + 3434 3398 3397 7106 + 3434 3397 3433 7106 + 7106 3434 3398 7107 + 3435 3399 3398 7107 + 3435 3398 3434 7107 + 7107 3435 3399 7108 + 3436 3400 3399 7108 + 3436 3399 3435 7108 + 7108 3436 3400 7109 + 3437 3401 3400 7109 + 3437 3400 3436 7109 + 7109 3437 3401 7110 + 3438 3402 3401 7110 + 3438 3401 3437 7110 + 7110 3438 3402 7111 + 3439 3403 3402 7111 + 3439 3402 3438 7111 + 7111 3439 3403 7112 + 3440 3404 3403 7112 + 3440 3403 3439 7112 + 7112 3440 3404 7113 + 3441 3405 3404 7113 + 3441 3404 3440 7113 + 7113 3441 3405 7114 + 3442 3406 3405 7114 + 3442 3405 3441 7114 + 7114 3442 3406 7115 + 3443 3407 3406 7115 + 3443 3406 3442 7115 + 7115 3443 3407 7116 + 3444 3408 3407 7116 + 3444 3407 3443 7116 + 7116 3444 3408 7117 + 3445 3409 3408 7117 + 3445 3408 3444 7117 + 7117 3445 3409 7118 + 3446 3410 3409 7118 + 3446 3409 3445 7118 + 7118 3446 3410 7119 + 3447 3411 3410 7119 + 3447 3410 3446 7119 + 7119 3447 3411 7120 + 3448 3412 3411 7120 + 3448 3411 3447 7120 + 7120 3448 3412 7121 + 3449 3413 3412 7121 + 3449 3412 3448 7121 + 7121 3449 3413 7122 + 3450 3414 3413 7122 + 3450 3413 3449 7122 + 7122 3450 3414 7123 + 3451 3415 3414 7123 + 3451 3414 3450 7123 + 7123 3451 3415 7124 + 3452 3416 3415 7124 + 3452 3415 3451 7124 + 7124 3452 3416 7125 + 3453 3417 3416 7125 + 3453 3416 3452 7125 + 7125 3453 3417 7126 + 3454 3418 3417 7126 + 3454 3417 3453 7126 + 7126 3454 3418 7127 + 3455 3419 3418 7127 + 3455 3418 3454 7127 + 7127 3455 3419 7128 + 3456 3420 3419 7128 + 3456 3419 3455 7128 + 7128 3456 3420 7129 + 3457 3421 3420 7129 + 3457 3420 3456 7129 + 7129 3457 3421 7130 + 3458 3422 3421 7130 + 3458 3421 3457 7130 + 193 91 90 7131 + 3459 3423 90 7131 + 3459 90 91 7131 + 7131 3459 3423 7132 + 3460 3424 3423 7132 + 3460 3423 3459 7132 + 7132 3460 3424 7133 + 3461 3425 3424 7133 + 3461 3424 3460 7133 + 7133 3461 3425 7134 + 3462 3426 3425 7134 + 3462 3425 3461 7134 + 7134 3462 3426 7135 + 3463 3427 3426 7135 + 3463 3426 3462 7135 + 7135 3463 3427 7136 + 3464 3428 3427 7136 + 3464 3427 3463 7136 + 7136 3464 3428 7137 + 3465 3429 3428 7137 + 3465 3428 3464 7137 + 7137 3465 3429 7138 + 3466 3430 3429 7138 + 3466 3429 3465 7138 + 7138 3466 3430 7139 + 3467 3431 3430 7139 + 3467 3430 3466 7139 + 7139 3467 3431 7140 + 3468 3432 3431 7140 + 3468 3431 3467 7140 + 7140 3468 3432 7141 + 3469 3433 3432 7141 + 3469 3432 3468 7141 + 7141 3469 3433 7142 + 3470 3434 3433 7142 + 3470 3433 3469 7142 + 7142 3470 3434 7143 + 3471 3435 3434 7143 + 3471 3434 3470 7143 + 7143 3471 3435 7144 + 3472 3436 3435 7144 + 3472 3435 3471 7144 + 7144 3472 3436 7145 + 3473 3437 3436 7145 + 3473 3436 3472 7145 + 7145 3473 3437 7146 + 3474 3438 3437 7146 + 3474 3437 3473 7146 + 7146 3474 3438 7147 + 3475 3439 3438 7147 + 3475 3438 3474 7147 + 7147 3475 3439 7148 + 3476 3440 3439 7148 + 3476 3439 3475 7148 + 7148 3476 3440 7149 + 3477 3441 3440 7149 + 3477 3440 3476 7149 + 7149 3477 3441 7150 + 3478 3442 3441 7150 + 3478 3441 3477 7150 + 7150 3478 3442 7151 + 3479 3443 3442 7151 + 3479 3442 3478 7151 + 7151 3479 3443 7152 + 3480 3444 3443 7152 + 3480 3443 3479 7152 + 7152 3480 3444 7153 + 3481 3445 3444 7153 + 3481 3444 3480 7153 + 7153 3481 3445 7154 + 3482 3446 3445 7154 + 3482 3445 3481 7154 + 7154 3482 3446 7155 + 3483 3447 3446 7155 + 3483 3446 3482 7155 + 7155 3483 3447 7156 + 3484 3448 3447 7156 + 3484 3447 3483 7156 + 7156 3484 3448 7157 + 3485 3449 3448 7157 + 3485 3448 3484 7157 + 7157 3485 3449 7158 + 3486 3450 3449 7158 + 3486 3449 3485 7158 + 7158 3486 3450 7159 + 3487 3451 3450 7159 + 3487 3450 3486 7159 + 7159 3487 3451 7160 + 3488 3452 3451 7160 + 3488 3451 3487 7160 + 7160 3488 3452 7161 + 3489 3453 3452 7161 + 3489 3452 3488 7161 + 7161 3489 3453 7162 + 3490 3454 3453 7162 + 3490 3453 3489 7162 + 7162 3490 3454 7163 + 3491 3455 3454 7163 + 3491 3454 3490 7163 + 7163 3491 3455 7164 + 3492 3456 3455 7164 + 3492 3455 3491 7164 + 7164 3492 3456 7165 + 3493 3457 3456 7165 + 3493 3456 3492 7165 + 7165 3493 3457 7166 + 3494 3458 3457 7166 + 3494 3457 3493 7166 + 3279 6987 6591 86 + 6591 6987 178 86 + 6987 189 178 86 + 3280 6988 6592 3279 + 6592 6988 6591 3279 + 6988 6987 6591 3279 + 3281 6989 6593 3280 + 6593 6989 6592 3280 + 6989 6988 6592 3280 + 3282 6990 6594 3281 + 6594 6990 6593 3281 + 6990 6989 6593 3281 + 3283 6991 6595 3282 + 6595 6991 6594 3282 + 6991 6990 6594 3282 + 3284 6992 6596 3283 + 6596 6992 6595 3283 + 6992 6991 6595 3283 + 3285 6993 6597 3284 + 6597 6993 6596 3284 + 6993 6992 6596 3284 + 3286 6994 6598 3285 + 6598 6994 6597 3285 + 6994 6993 6597 3285 + 3287 6995 6599 3286 + 6599 6995 6598 3286 + 6995 6994 6598 3286 + 3288 6996 6600 3287 + 6600 6996 6599 3287 + 6996 6995 6599 3287 + 3289 6997 6601 3288 + 6601 6997 6600 3288 + 6997 6996 6600 3288 + 3290 6998 6602 3289 + 6602 6998 6601 3289 + 6998 6997 6601 3289 + 3291 6999 6603 3290 + 6603 6999 6602 3290 + 6999 6998 6602 3290 + 3292 7000 6604 3291 + 6604 7000 6603 3291 + 7000 6999 6603 3291 + 3293 7001 6605 3292 + 6605 7001 6604 3292 + 7001 7000 6604 3292 + 3294 7002 6606 3293 + 6606 7002 6605 3293 + 7002 7001 6605 3293 + 3295 7003 6607 3294 + 6607 7003 6606 3294 + 7003 7002 6606 3294 + 3296 7004 6608 3295 + 6608 7004 6607 3295 + 7004 7003 6607 3295 + 3297 7005 6609 3296 + 6609 7005 6608 3296 + 7005 7004 6608 3296 + 3298 7006 6610 3297 + 6610 7006 6609 3297 + 7006 7005 6609 3297 + 3299 7007 6611 3298 + 6611 7007 6610 3298 + 7007 7006 6610 3298 + 3300 7008 6612 3299 + 6612 7008 6611 3299 + 7008 7007 6611 3299 + 3301 7009 6613 3300 + 6613 7009 6612 3300 + 7009 7008 6612 3300 + 3302 7010 6614 3301 + 6614 7010 6613 3301 + 7010 7009 6613 3301 + 3303 7011 6615 3302 + 6615 7011 6614 3302 + 7011 7010 6614 3302 + 3304 7012 6616 3303 + 6616 7012 6615 3303 + 7012 7011 6615 3303 + 3305 7013 6617 3304 + 6617 7013 6616 3304 + 7013 7012 6616 3304 + 3306 7014 6618 3305 + 6618 7014 6617 3305 + 7014 7013 6617 3305 + 3307 7015 6619 3306 + 6619 7015 6618 3306 + 7015 7014 6618 3306 + 3308 7016 6620 3307 + 6620 7016 6619 3307 + 7016 7015 6619 3307 + 3309 7017 6621 3308 + 6621 7017 6620 3308 + 7017 7016 6620 3308 + 3310 7018 6622 3309 + 6622 7018 6621 3309 + 7018 7017 6621 3309 + 3311 7019 6623 3310 + 6623 7019 6622 3310 + 7019 7018 6622 3310 + 3312 7020 6624 3311 + 6624 7020 6623 3311 + 7020 7019 6623 3311 + 3313 7021 6625 3312 + 6625 7021 6624 3312 + 7021 7020 6624 3312 + 3314 7022 6626 3313 + 6626 7022 6625 3313 + 7022 7021 6625 3313 + 3315 7023 6987 87 + 6987 7023 189 87 + 7023 190 189 87 + 3316 7024 6988 3315 + 6988 7024 6987 3315 + 7024 7023 6987 3315 + 3317 7025 6989 3316 + 6989 7025 6988 3316 + 7025 7024 6988 3316 + 3318 7026 6990 3317 + 6990 7026 6989 3317 + 7026 7025 6989 3317 + 3319 7027 6991 3318 + 6991 7027 6990 3318 + 7027 7026 6990 3318 + 3320 7028 6992 3319 + 6992 7028 6991 3319 + 7028 7027 6991 3319 + 3321 7029 6993 3320 + 6993 7029 6992 3320 + 7029 7028 6992 3320 + 3322 7030 6994 3321 + 6994 7030 6993 3321 + 7030 7029 6993 3321 + 3323 7031 6995 3322 + 6995 7031 6994 3322 + 7031 7030 6994 3322 + 3324 7032 6996 3323 + 6996 7032 6995 3323 + 7032 7031 6995 3323 + 3325 7033 6997 3324 + 6997 7033 6996 3324 + 7033 7032 6996 3324 + 3326 7034 6998 3325 + 6998 7034 6997 3325 + 7034 7033 6997 3325 + 3327 7035 6999 3326 + 6999 7035 6998 3326 + 7035 7034 6998 3326 + 3328 7036 7000 3327 + 7000 7036 6999 3327 + 7036 7035 6999 3327 + 3329 7037 7001 3328 + 7001 7037 7000 3328 + 7037 7036 7000 3328 + 3330 7038 7002 3329 + 7002 7038 7001 3329 + 7038 7037 7001 3329 + 3331 7039 7003 3330 + 7003 7039 7002 3330 + 7039 7038 7002 3330 + 3332 7040 7004 3331 + 7004 7040 7003 3331 + 7040 7039 7003 3331 + 3333 7041 7005 3332 + 7005 7041 7004 3332 + 7041 7040 7004 3332 + 3334 7042 7006 3333 + 7006 7042 7005 3333 + 7042 7041 7005 3333 + 3335 7043 7007 3334 + 7007 7043 7006 3334 + 7043 7042 7006 3334 + 3336 7044 7008 3335 + 7008 7044 7007 3335 + 7044 7043 7007 3335 + 3337 7045 7009 3336 + 7009 7045 7008 3336 + 7045 7044 7008 3336 + 3338 7046 7010 3337 + 7010 7046 7009 3337 + 7046 7045 7009 3337 + 3339 7047 7011 3338 + 7011 7047 7010 3338 + 7047 7046 7010 3338 + 3340 7048 7012 3339 + 7012 7048 7011 3339 + 7048 7047 7011 3339 + 3341 7049 7013 3340 + 7013 7049 7012 3340 + 7049 7048 7012 3340 + 3342 7050 7014 3341 + 7014 7050 7013 3341 + 7050 7049 7013 3341 + 3343 7051 7015 3342 + 7015 7051 7014 3342 + 7051 7050 7014 3342 + 3344 7052 7016 3343 + 7016 7052 7015 3343 + 7052 7051 7015 3343 + 3345 7053 7017 3344 + 7017 7053 7016 3344 + 7053 7052 7016 3344 + 3346 7054 7018 3345 + 7018 7054 7017 3345 + 7054 7053 7017 3345 + 3347 7055 7019 3346 + 7019 7055 7018 3346 + 7055 7054 7018 3346 + 3348 7056 7020 3347 + 7020 7056 7019 3347 + 7056 7055 7019 3347 + 3349 7057 7021 3348 + 7021 7057 7020 3348 + 7057 7056 7020 3348 + 3350 7058 7022 3349 + 7022 7058 7021 3349 + 7058 7057 7021 3349 + 3351 7059 7023 88 + 7023 7059 190 88 + 7059 191 190 88 + 3352 7060 7024 3351 + 7024 7060 7023 3351 + 7060 7059 7023 3351 + 3353 7061 7025 3352 + 7025 7061 7024 3352 + 7061 7060 7024 3352 + 3354 7062 7026 3353 + 7026 7062 7025 3353 + 7062 7061 7025 3353 + 3355 7063 7027 3354 + 7027 7063 7026 3354 + 7063 7062 7026 3354 + 3356 7064 7028 3355 + 7028 7064 7027 3355 + 7064 7063 7027 3355 + 3357 7065 7029 3356 + 7029 7065 7028 3356 + 7065 7064 7028 3356 + 3358 7066 7030 3357 + 7030 7066 7029 3357 + 7066 7065 7029 3357 + 3359 7067 7031 3358 + 7031 7067 7030 3358 + 7067 7066 7030 3358 + 3360 7068 7032 3359 + 7032 7068 7031 3359 + 7068 7067 7031 3359 + 3361 7069 7033 3360 + 7033 7069 7032 3360 + 7069 7068 7032 3360 + 3362 7070 7034 3361 + 7034 7070 7033 3361 + 7070 7069 7033 3361 + 3363 7071 7035 3362 + 7035 7071 7034 3362 + 7071 7070 7034 3362 + 3364 7072 7036 3363 + 7036 7072 7035 3363 + 7072 7071 7035 3363 + 3365 7073 7037 3364 + 7037 7073 7036 3364 + 7073 7072 7036 3364 + 3366 7074 7038 3365 + 7038 7074 7037 3365 + 7074 7073 7037 3365 + 3367 7075 7039 3366 + 7039 7075 7038 3366 + 7075 7074 7038 3366 + 3368 7076 7040 3367 + 7040 7076 7039 3367 + 7076 7075 7039 3367 + 3369 7077 7041 3368 + 7041 7077 7040 3368 + 7077 7076 7040 3368 + 3370 7078 7042 3369 + 7042 7078 7041 3369 + 7078 7077 7041 3369 + 3371 7079 7043 3370 + 7043 7079 7042 3370 + 7079 7078 7042 3370 + 3372 7080 7044 3371 + 7044 7080 7043 3371 + 7080 7079 7043 3371 + 3373 7081 7045 3372 + 7045 7081 7044 3372 + 7081 7080 7044 3372 + 3374 7082 7046 3373 + 7046 7082 7045 3373 + 7082 7081 7045 3373 + 3375 7083 7047 3374 + 7047 7083 7046 3374 + 7083 7082 7046 3374 + 3376 7084 7048 3375 + 7048 7084 7047 3375 + 7084 7083 7047 3375 + 3377 7085 7049 3376 + 7049 7085 7048 3376 + 7085 7084 7048 3376 + 3378 7086 7050 3377 + 7050 7086 7049 3377 + 7086 7085 7049 3377 + 3379 7087 7051 3378 + 7051 7087 7050 3378 + 7087 7086 7050 3378 + 3380 7088 7052 3379 + 7052 7088 7051 3379 + 7088 7087 7051 3379 + 3381 7089 7053 3380 + 7053 7089 7052 3380 + 7089 7088 7052 3380 + 3382 7090 7054 3381 + 7054 7090 7053 3381 + 7090 7089 7053 3381 + 3383 7091 7055 3382 + 7055 7091 7054 3382 + 7091 7090 7054 3382 + 3384 7092 7056 3383 + 7056 7092 7055 3383 + 7092 7091 7055 3383 + 3385 7093 7057 3384 + 7057 7093 7056 3384 + 7093 7092 7056 3384 + 3386 7094 7058 3385 + 7058 7094 7057 3385 + 7094 7093 7057 3385 + 3387 7095 7059 89 + 7059 7095 191 89 + 7095 192 191 89 + 3388 7096 7060 3387 + 7060 7096 7059 3387 + 7096 7095 7059 3387 + 3389 7097 7061 3388 + 7061 7097 7060 3388 + 7097 7096 7060 3388 + 3390 7098 7062 3389 + 7062 7098 7061 3389 + 7098 7097 7061 3389 + 3391 7099 7063 3390 + 7063 7099 7062 3390 + 7099 7098 7062 3390 + 3392 7100 7064 3391 + 7064 7100 7063 3391 + 7100 7099 7063 3391 + 3393 7101 7065 3392 + 7065 7101 7064 3392 + 7101 7100 7064 3392 + 3394 7102 7066 3393 + 7066 7102 7065 3393 + 7102 7101 7065 3393 + 3395 7103 7067 3394 + 7067 7103 7066 3394 + 7103 7102 7066 3394 + 3396 7104 7068 3395 + 7068 7104 7067 3395 + 7104 7103 7067 3395 + 3397 7105 7069 3396 + 7069 7105 7068 3396 + 7105 7104 7068 3396 + 3398 7106 7070 3397 + 7070 7106 7069 3397 + 7106 7105 7069 3397 + 3399 7107 7071 3398 + 7071 7107 7070 3398 + 7107 7106 7070 3398 + 3400 7108 7072 3399 + 7072 7108 7071 3399 + 7108 7107 7071 3399 + 3401 7109 7073 3400 + 7073 7109 7072 3400 + 7109 7108 7072 3400 + 3402 7110 7074 3401 + 7074 7110 7073 3401 + 7110 7109 7073 3401 + 3403 7111 7075 3402 + 7075 7111 7074 3402 + 7111 7110 7074 3402 + 3404 7112 7076 3403 + 7076 7112 7075 3403 + 7112 7111 7075 3403 + 3405 7113 7077 3404 + 7077 7113 7076 3404 + 7113 7112 7076 3404 + 3406 7114 7078 3405 + 7078 7114 7077 3405 + 7114 7113 7077 3405 + 3407 7115 7079 3406 + 7079 7115 7078 3406 + 7115 7114 7078 3406 + 3408 7116 7080 3407 + 7080 7116 7079 3407 + 7116 7115 7079 3407 + 3409 7117 7081 3408 + 7081 7117 7080 3408 + 7117 7116 7080 3408 + 3410 7118 7082 3409 + 7082 7118 7081 3409 + 7118 7117 7081 3409 + 3411 7119 7083 3410 + 7083 7119 7082 3410 + 7119 7118 7082 3410 + 3412 7120 7084 3411 + 7084 7120 7083 3411 + 7120 7119 7083 3411 + 3413 7121 7085 3412 + 7085 7121 7084 3412 + 7121 7120 7084 3412 + 3414 7122 7086 3413 + 7086 7122 7085 3413 + 7122 7121 7085 3413 + 3415 7123 7087 3414 + 7087 7123 7086 3414 + 7123 7122 7086 3414 + 3416 7124 7088 3415 + 7088 7124 7087 3415 + 7124 7123 7087 3415 + 3417 7125 7089 3416 + 7089 7125 7088 3416 + 7125 7124 7088 3416 + 3418 7126 7090 3417 + 7090 7126 7089 3417 + 7126 7125 7089 3417 + 3419 7127 7091 3418 + 7091 7127 7090 3418 + 7127 7126 7090 3418 + 3420 7128 7092 3419 + 7092 7128 7091 3419 + 7128 7127 7091 3419 + 3421 7129 7093 3420 + 7093 7129 7092 3420 + 7129 7128 7092 3420 + 3422 7130 7094 3421 + 7094 7130 7093 3421 + 7130 7129 7093 3421 + 3423 7131 7095 90 + 7095 7131 192 90 + 7131 193 192 90 + 3424 7132 7096 3423 + 7096 7132 7095 3423 + 7132 7131 7095 3423 + 3425 7133 7097 3424 + 7097 7133 7096 3424 + 7133 7132 7096 3424 + 3426 7134 7098 3425 + 7098 7134 7097 3425 + 7134 7133 7097 3425 + 3427 7135 7099 3426 + 7099 7135 7098 3426 + 7135 7134 7098 3426 + 3428 7136 7100 3427 + 7100 7136 7099 3427 + 7136 7135 7099 3427 + 3429 7137 7101 3428 + 7101 7137 7100 3428 + 7137 7136 7100 3428 + 3430 7138 7102 3429 + 7102 7138 7101 3429 + 7138 7137 7101 3429 + 3431 7139 7103 3430 + 7103 7139 7102 3430 + 7139 7138 7102 3430 + 3432 7140 7104 3431 + 7104 7140 7103 3431 + 7140 7139 7103 3431 + 3433 7141 7105 3432 + 7105 7141 7104 3432 + 7141 7140 7104 3432 + 3434 7142 7106 3433 + 7106 7142 7105 3433 + 7142 7141 7105 3433 + 3435 7143 7107 3434 + 7107 7143 7106 3434 + 7143 7142 7106 3434 + 3436 7144 7108 3435 + 7108 7144 7107 3435 + 7144 7143 7107 3435 + 3437 7145 7109 3436 + 7109 7145 7108 3436 + 7145 7144 7108 3436 + 3438 7146 7110 3437 + 7110 7146 7109 3437 + 7146 7145 7109 3437 + 3439 7147 7111 3438 + 7111 7147 7110 3438 + 7147 7146 7110 3438 + 3440 7148 7112 3439 + 7112 7148 7111 3439 + 7148 7147 7111 3439 + 3441 7149 7113 3440 + 7113 7149 7112 3440 + 7149 7148 7112 3440 + 3442 7150 7114 3441 + 7114 7150 7113 3441 + 7150 7149 7113 3441 + 3443 7151 7115 3442 + 7115 7151 7114 3442 + 7151 7150 7114 3442 + 3444 7152 7116 3443 + 7116 7152 7115 3443 + 7152 7151 7115 3443 + 3445 7153 7117 3444 + 7117 7153 7116 3444 + 7153 7152 7116 3444 + 3446 7154 7118 3445 + 7118 7154 7117 3445 + 7154 7153 7117 3445 + 3447 7155 7119 3446 + 7119 7155 7118 3446 + 7155 7154 7118 3446 + 3448 7156 7120 3447 + 7120 7156 7119 3447 + 7156 7155 7119 3447 + 3449 7157 7121 3448 + 7121 7157 7120 3448 + 7157 7156 7120 3448 + 3450 7158 7122 3449 + 7122 7158 7121 3449 + 7158 7157 7121 3449 + 3451 7159 7123 3450 + 7123 7159 7122 3450 + 7159 7158 7122 3450 + 3452 7160 7124 3451 + 7124 7160 7123 3451 + 7160 7159 7123 3451 + 3453 7161 7125 3452 + 7125 7161 7124 3452 + 7161 7160 7124 3452 + 3454 7162 7126 3453 + 7126 7162 7125 3453 + 7162 7161 7125 3453 + 3455 7163 7127 3454 + 7127 7163 7126 3454 + 7163 7162 7126 3454 + 3456 7164 7128 3455 + 7128 7164 7127 3455 + 7164 7163 7127 3455 + 3457 7165 7129 3456 + 7129 7165 7128 3456 + 7165 7164 7128 3456 + 3458 7166 7130 3457 + 7130 7166 7129 3457 + 7166 7165 7129 3457 + 128 194 179 4791 + 7167 6627 179 4791 + 7167 179 194 4791 + 4791 7167 6627 4792 + 7168 6628 6627 4792 + 7168 6627 7167 4792 + 4792 7168 6628 4793 + 7169 6629 6628 4793 + 7169 6628 7168 4793 + 4793 7169 6629 4794 + 7170 6630 6629 4794 + 7170 6629 7169 4794 + 4794 7170 6630 4795 + 7171 6631 6630 4795 + 7171 6630 7170 4795 + 4795 7171 6631 4796 + 7172 6632 6631 4796 + 7172 6631 7171 4796 + 4796 7172 6632 4797 + 7173 6633 6632 4797 + 7173 6632 7172 4797 + 4797 7173 6633 4798 + 7174 6634 6633 4798 + 7174 6633 7173 4798 + 4798 7174 6634 4799 + 7175 6635 6634 4799 + 7175 6634 7174 4799 + 4799 7175 6635 4800 + 7176 6636 6635 4800 + 7176 6635 7175 4800 + 4800 7176 6636 4801 + 7177 6637 6636 4801 + 7177 6636 7176 4801 + 4801 7177 6637 4802 + 7178 6638 6637 4802 + 7178 6637 7177 4802 + 4802 7178 6638 4803 + 7179 6639 6638 4803 + 7179 6638 7178 4803 + 4803 7179 6639 4804 + 7180 6640 6639 4804 + 7180 6639 7179 4804 + 4804 7180 6640 4805 + 7181 6641 6640 4805 + 7181 6640 7180 4805 + 4805 7181 6641 4806 + 7182 6642 6641 4806 + 7182 6641 7181 4806 + 4806 7182 6642 4807 + 7183 6643 6642 4807 + 7183 6642 7182 4807 + 4807 7183 6643 4808 + 7184 6644 6643 4808 + 7184 6643 7183 4808 + 4808 7184 6644 4809 + 7185 6645 6644 4809 + 7185 6644 7184 4809 + 4809 7185 6645 4810 + 7186 6646 6645 4810 + 7186 6645 7185 4810 + 4810 7186 6646 4811 + 7187 6647 6646 4811 + 7187 6646 7186 4811 + 4811 7187 6647 4812 + 7188 6648 6647 4812 + 7188 6647 7187 4812 + 4812 7188 6648 4813 + 7189 6649 6648 4813 + 7189 6648 7188 4813 + 4813 7189 6649 4814 + 7190 6650 6649 4814 + 7190 6649 7189 4814 + 4814 7190 6650 4815 + 7191 6651 6650 4815 + 7191 6650 7190 4815 + 4815 7191 6651 4816 + 7192 6652 6651 4816 + 7192 6651 7191 4816 + 4816 7192 6652 4817 + 7193 6653 6652 4817 + 7193 6652 7192 4817 + 4817 7193 6653 4818 + 7194 6654 6653 4818 + 7194 6653 7193 4818 + 4818 7194 6654 4819 + 7195 6655 6654 4819 + 7195 6654 7194 4819 + 4819 7195 6655 4820 + 7196 6656 6655 4820 + 7196 6655 7195 4820 + 4820 7196 6656 4821 + 7197 6657 6656 4821 + 7197 6656 7196 4821 + 4821 7197 6657 4822 + 7198 6658 6657 4822 + 7198 6657 7197 4822 + 4822 7198 6658 4823 + 7199 6659 6658 4823 + 7199 6658 7198 4823 + 4823 7199 6659 4824 + 7200 6660 6659 4824 + 7200 6659 7199 4824 + 4824 7200 6660 4825 + 7201 6661 6660 4825 + 7201 6660 7200 4825 + 4825 7201 6661 4826 + 7202 6662 6661 4826 + 7202 6661 7201 4826 + 179 195 181 6627 + 7203 6699 181 6627 + 7203 181 195 6627 + 6627 7203 6699 6628 + 7204 6700 6699 6628 + 7204 6699 7203 6628 + 6628 7204 6700 6629 + 7205 6701 6700 6629 + 7205 6700 7204 6629 + 6629 7205 6701 6630 + 7206 6702 6701 6630 + 7206 6701 7205 6630 + 6630 7206 6702 6631 + 7207 6703 6702 6631 + 7207 6702 7206 6631 + 6631 7207 6703 6632 + 7208 6704 6703 6632 + 7208 6703 7207 6632 + 6632 7208 6704 6633 + 7209 6705 6704 6633 + 7209 6704 7208 6633 + 6633 7209 6705 6634 + 7210 6706 6705 6634 + 7210 6705 7209 6634 + 6634 7210 6706 6635 + 7211 6707 6706 6635 + 7211 6706 7210 6635 + 6635 7211 6707 6636 + 7212 6708 6707 6636 + 7212 6707 7211 6636 + 6636 7212 6708 6637 + 7213 6709 6708 6637 + 7213 6708 7212 6637 + 6637 7213 6709 6638 + 7214 6710 6709 6638 + 7214 6709 7213 6638 + 6638 7214 6710 6639 + 7215 6711 6710 6639 + 7215 6710 7214 6639 + 6639 7215 6711 6640 + 7216 6712 6711 6640 + 7216 6711 7215 6640 + 6640 7216 6712 6641 + 7217 6713 6712 6641 + 7217 6712 7216 6641 + 6641 7217 6713 6642 + 7218 6714 6713 6642 + 7218 6713 7217 6642 + 6642 7218 6714 6643 + 7219 6715 6714 6643 + 7219 6714 7218 6643 + 6643 7219 6715 6644 + 7220 6716 6715 6644 + 7220 6715 7219 6644 + 6644 7220 6716 6645 + 7221 6717 6716 6645 + 7221 6716 7220 6645 + 6645 7221 6717 6646 + 7222 6718 6717 6646 + 7222 6717 7221 6646 + 6646 7222 6718 6647 + 7223 6719 6718 6647 + 7223 6718 7222 6647 + 6647 7223 6719 6648 + 7224 6720 6719 6648 + 7224 6719 7223 6648 + 6648 7224 6720 6649 + 7225 6721 6720 6649 + 7225 6720 7224 6649 + 6649 7225 6721 6650 + 7226 6722 6721 6650 + 7226 6721 7225 6650 + 6650 7226 6722 6651 + 7227 6723 6722 6651 + 7227 6722 7226 6651 + 6651 7227 6723 6652 + 7228 6724 6723 6652 + 7228 6723 7227 6652 + 6652 7228 6724 6653 + 7229 6725 6724 6653 + 7229 6724 7228 6653 + 6653 7229 6725 6654 + 7230 6726 6725 6654 + 7230 6725 7229 6654 + 6654 7230 6726 6655 + 7231 6727 6726 6655 + 7231 6726 7230 6655 + 6655 7231 6727 6656 + 7232 6728 6727 6656 + 7232 6727 7231 6656 + 6656 7232 6728 6657 + 7233 6729 6728 6657 + 7233 6728 7232 6657 + 6657 7233 6729 6658 + 7234 6730 6729 6658 + 7234 6729 7233 6658 + 6658 7234 6730 6659 + 7235 6731 6730 6659 + 7235 6730 7234 6659 + 6659 7235 6731 6660 + 7236 6732 6731 6660 + 7236 6731 7235 6660 + 6660 7236 6732 6661 + 7237 6733 6732 6661 + 7237 6732 7236 6661 + 6661 7237 6733 6662 + 7238 6734 6733 6662 + 7238 6733 7237 6662 + 194 196 195 7167 + 7239 7203 195 7167 + 7239 195 196 7167 + 7167 7239 7203 7168 + 7240 7204 7203 7168 + 7240 7203 7239 7168 + 7168 7240 7204 7169 + 7241 7205 7204 7169 + 7241 7204 7240 7169 + 7169 7241 7205 7170 + 7242 7206 7205 7170 + 7242 7205 7241 7170 + 7170 7242 7206 7171 + 7243 7207 7206 7171 + 7243 7206 7242 7171 + 7171 7243 7207 7172 + 7244 7208 7207 7172 + 7244 7207 7243 7172 + 7172 7244 7208 7173 + 7245 7209 7208 7173 + 7245 7208 7244 7173 + 7173 7245 7209 7174 + 7246 7210 7209 7174 + 7246 7209 7245 7174 + 7174 7246 7210 7175 + 7247 7211 7210 7175 + 7247 7210 7246 7175 + 7175 7247 7211 7176 + 7248 7212 7211 7176 + 7248 7211 7247 7176 + 7176 7248 7212 7177 + 7249 7213 7212 7177 + 7249 7212 7248 7177 + 7177 7249 7213 7178 + 7250 7214 7213 7178 + 7250 7213 7249 7178 + 7178 7250 7214 7179 + 7251 7215 7214 7179 + 7251 7214 7250 7179 + 7179 7251 7215 7180 + 7252 7216 7215 7180 + 7252 7215 7251 7180 + 7180 7252 7216 7181 + 7253 7217 7216 7181 + 7253 7216 7252 7181 + 7181 7253 7217 7182 + 7254 7218 7217 7182 + 7254 7217 7253 7182 + 7182 7254 7218 7183 + 7255 7219 7218 7183 + 7255 7218 7254 7183 + 7183 7255 7219 7184 + 7256 7220 7219 7184 + 7256 7219 7255 7184 + 7184 7256 7220 7185 + 7257 7221 7220 7185 + 7257 7220 7256 7185 + 7185 7257 7221 7186 + 7258 7222 7221 7186 + 7258 7221 7257 7186 + 7186 7258 7222 7187 + 7259 7223 7222 7187 + 7259 7222 7258 7187 + 7187 7259 7223 7188 + 7260 7224 7223 7188 + 7260 7223 7259 7188 + 7188 7260 7224 7189 + 7261 7225 7224 7189 + 7261 7224 7260 7189 + 7189 7261 7225 7190 + 7262 7226 7225 7190 + 7262 7225 7261 7190 + 7190 7262 7226 7191 + 7263 7227 7226 7191 + 7263 7226 7262 7191 + 7191 7263 7227 7192 + 7264 7228 7227 7192 + 7264 7227 7263 7192 + 7192 7264 7228 7193 + 7265 7229 7228 7193 + 7265 7228 7264 7193 + 7193 7265 7229 7194 + 7266 7230 7229 7194 + 7266 7229 7265 7194 + 7194 7266 7230 7195 + 7267 7231 7230 7195 + 7267 7230 7266 7195 + 7195 7267 7231 7196 + 7268 7232 7231 7196 + 7268 7231 7267 7196 + 7196 7268 7232 7197 + 7269 7233 7232 7197 + 7269 7232 7268 7197 + 7197 7269 7233 7198 + 7270 7234 7233 7198 + 7270 7233 7269 7198 + 7198 7270 7234 7199 + 7271 7235 7234 7199 + 7271 7234 7270 7199 + 7199 7271 7235 7200 + 7272 7236 7235 7200 + 7272 7235 7271 7200 + 7200 7272 7236 7201 + 7273 7237 7236 7201 + 7273 7236 7272 7201 + 7201 7273 7237 7202 + 7274 7238 7237 7202 + 7274 7237 7273 7202 + 7203 7167 6627 195 + 6627 7167 179 195 + 7167 194 179 195 + 7204 7168 6628 7203 + 6628 7168 6627 7203 + 7168 7167 6627 7203 + 7205 7169 6629 7204 + 6629 7169 6628 7204 + 7169 7168 6628 7204 + 7206 7170 6630 7205 + 6630 7170 6629 7205 + 7170 7169 6629 7205 + 7207 7171 6631 7206 + 6631 7171 6630 7206 + 7171 7170 6630 7206 + 7208 7172 6632 7207 + 6632 7172 6631 7207 + 7172 7171 6631 7207 + 7209 7173 6633 7208 + 6633 7173 6632 7208 + 7173 7172 6632 7208 + 7210 7174 6634 7209 + 6634 7174 6633 7209 + 7174 7173 6633 7209 + 7211 7175 6635 7210 + 6635 7175 6634 7210 + 7175 7174 6634 7210 + 7212 7176 6636 7211 + 6636 7176 6635 7211 + 7176 7175 6635 7211 + 7213 7177 6637 7212 + 6637 7177 6636 7212 + 7177 7176 6636 7212 + 7214 7178 6638 7213 + 6638 7178 6637 7213 + 7178 7177 6637 7213 + 7215 7179 6639 7214 + 6639 7179 6638 7214 + 7179 7178 6638 7214 + 7216 7180 6640 7215 + 6640 7180 6639 7215 + 7180 7179 6639 7215 + 7217 7181 6641 7216 + 6641 7181 6640 7216 + 7181 7180 6640 7216 + 7218 7182 6642 7217 + 6642 7182 6641 7217 + 7182 7181 6641 7217 + 7219 7183 6643 7218 + 6643 7183 6642 7218 + 7183 7182 6642 7218 + 7220 7184 6644 7219 + 6644 7184 6643 7219 + 7184 7183 6643 7219 + 7221 7185 6645 7220 + 6645 7185 6644 7220 + 7185 7184 6644 7220 + 7222 7186 6646 7221 + 6646 7186 6645 7221 + 7186 7185 6645 7221 + 7223 7187 6647 7222 + 6647 7187 6646 7222 + 7187 7186 6646 7222 + 7224 7188 6648 7223 + 6648 7188 6647 7223 + 7188 7187 6647 7223 + 7225 7189 6649 7224 + 6649 7189 6648 7224 + 7189 7188 6648 7224 + 7226 7190 6650 7225 + 6650 7190 6649 7225 + 7190 7189 6649 7225 + 7227 7191 6651 7226 + 6651 7191 6650 7226 + 7191 7190 6650 7226 + 7228 7192 6652 7227 + 6652 7192 6651 7227 + 7192 7191 6651 7227 + 7229 7193 6653 7228 + 6653 7193 6652 7228 + 7193 7192 6652 7228 + 7230 7194 6654 7229 + 6654 7194 6653 7229 + 7194 7193 6653 7229 + 7231 7195 6655 7230 + 6655 7195 6654 7230 + 7195 7194 6654 7230 + 7232 7196 6656 7231 + 6656 7196 6655 7231 + 7196 7195 6655 7231 + 7233 7197 6657 7232 + 6657 7197 6656 7232 + 7197 7196 6656 7232 + 7234 7198 6658 7233 + 6658 7198 6657 7233 + 7198 7197 6657 7233 + 7235 7199 6659 7234 + 6659 7199 6658 7234 + 7199 7198 6658 7234 + 7236 7200 6660 7235 + 6660 7200 6659 7235 + 7200 7199 6659 7235 + 7237 7201 6661 7236 + 6661 7201 6660 7236 + 7201 7200 6660 7236 + 7238 7202 6662 7237 + 6662 7202 6661 7237 + 7202 7201 6661 7237 + 181 197 184 6699 + 7275 6807 184 6699 + 7275 184 197 6699 + 6699 7275 6807 6700 + 7276 6808 6807 6700 + 7276 6807 7275 6700 + 6700 7276 6808 6701 + 7277 6809 6808 6701 + 7277 6808 7276 6701 + 6701 7277 6809 6702 + 7278 6810 6809 6702 + 7278 6809 7277 6702 + 6702 7278 6810 6703 + 7279 6811 6810 6703 + 7279 6810 7278 6703 + 6703 7279 6811 6704 + 7280 6812 6811 6704 + 7280 6811 7279 6704 + 6704 7280 6812 6705 + 7281 6813 6812 6705 + 7281 6812 7280 6705 + 6705 7281 6813 6706 + 7282 6814 6813 6706 + 7282 6813 7281 6706 + 6706 7282 6814 6707 + 7283 6815 6814 6707 + 7283 6814 7282 6707 + 6707 7283 6815 6708 + 7284 6816 6815 6708 + 7284 6815 7283 6708 + 6708 7284 6816 6709 + 7285 6817 6816 6709 + 7285 6816 7284 6709 + 6709 7285 6817 6710 + 7286 6818 6817 6710 + 7286 6817 7285 6710 + 6710 7286 6818 6711 + 7287 6819 6818 6711 + 7287 6818 7286 6711 + 6711 7287 6819 6712 + 7288 6820 6819 6712 + 7288 6819 7287 6712 + 6712 7288 6820 6713 + 7289 6821 6820 6713 + 7289 6820 7288 6713 + 6713 7289 6821 6714 + 7290 6822 6821 6714 + 7290 6821 7289 6714 + 6714 7290 6822 6715 + 7291 6823 6822 6715 + 7291 6822 7290 6715 + 6715 7291 6823 6716 + 7292 6824 6823 6716 + 7292 6823 7291 6716 + 6716 7292 6824 6717 + 7293 6825 6824 6717 + 7293 6824 7292 6717 + 6717 7293 6825 6718 + 7294 6826 6825 6718 + 7294 6825 7293 6718 + 6718 7294 6826 6719 + 7295 6827 6826 6719 + 7295 6826 7294 6719 + 6719 7295 6827 6720 + 7296 6828 6827 6720 + 7296 6827 7295 6720 + 6720 7296 6828 6721 + 7297 6829 6828 6721 + 7297 6828 7296 6721 + 6721 7297 6829 6722 + 7298 6830 6829 6722 + 7298 6829 7297 6722 + 6722 7298 6830 6723 + 7299 6831 6830 6723 + 7299 6830 7298 6723 + 6723 7299 6831 6724 + 7300 6832 6831 6724 + 7300 6831 7299 6724 + 6724 7300 6832 6725 + 7301 6833 6832 6725 + 7301 6832 7300 6725 + 6725 7301 6833 6726 + 7302 6834 6833 6726 + 7302 6833 7301 6726 + 6726 7302 6834 6727 + 7303 6835 6834 6727 + 7303 6834 7302 6727 + 6727 7303 6835 6728 + 7304 6836 6835 6728 + 7304 6835 7303 6728 + 6728 7304 6836 6729 + 7305 6837 6836 6729 + 7305 6836 7304 6729 + 6729 7305 6837 6730 + 7306 6838 6837 6730 + 7306 6837 7305 6730 + 6730 7306 6838 6731 + 7307 6839 6838 6731 + 7307 6838 7306 6731 + 6731 7307 6839 6732 + 7308 6840 6839 6732 + 7308 6839 7307 6732 + 6732 7308 6840 6733 + 7309 6841 6840 6733 + 7309 6840 7308 6733 + 6733 7309 6841 6734 + 7310 6842 6841 6734 + 7310 6841 7309 6734 + 195 198 197 7203 + 7311 7275 197 7203 + 7311 197 198 7203 + 7203 7311 7275 7204 + 7312 7276 7275 7204 + 7312 7275 7311 7204 + 7204 7312 7276 7205 + 7313 7277 7276 7205 + 7313 7276 7312 7205 + 7205 7313 7277 7206 + 7314 7278 7277 7206 + 7314 7277 7313 7206 + 7206 7314 7278 7207 + 7315 7279 7278 7207 + 7315 7278 7314 7207 + 7207 7315 7279 7208 + 7316 7280 7279 7208 + 7316 7279 7315 7208 + 7208 7316 7280 7209 + 7317 7281 7280 7209 + 7317 7280 7316 7209 + 7209 7317 7281 7210 + 7318 7282 7281 7210 + 7318 7281 7317 7210 + 7210 7318 7282 7211 + 7319 7283 7282 7211 + 7319 7282 7318 7211 + 7211 7319 7283 7212 + 7320 7284 7283 7212 + 7320 7283 7319 7212 + 7212 7320 7284 7213 + 7321 7285 7284 7213 + 7321 7284 7320 7213 + 7213 7321 7285 7214 + 7322 7286 7285 7214 + 7322 7285 7321 7214 + 7214 7322 7286 7215 + 7323 7287 7286 7215 + 7323 7286 7322 7215 + 7215 7323 7287 7216 + 7324 7288 7287 7216 + 7324 7287 7323 7216 + 7216 7324 7288 7217 + 7325 7289 7288 7217 + 7325 7288 7324 7217 + 7217 7325 7289 7218 + 7326 7290 7289 7218 + 7326 7289 7325 7218 + 7218 7326 7290 7219 + 7327 7291 7290 7219 + 7327 7290 7326 7219 + 7219 7327 7291 7220 + 7328 7292 7291 7220 + 7328 7291 7327 7220 + 7220 7328 7292 7221 + 7329 7293 7292 7221 + 7329 7292 7328 7221 + 7221 7329 7293 7222 + 7330 7294 7293 7222 + 7330 7293 7329 7222 + 7222 7330 7294 7223 + 7331 7295 7294 7223 + 7331 7294 7330 7223 + 7223 7331 7295 7224 + 7332 7296 7295 7224 + 7332 7295 7331 7224 + 7224 7332 7296 7225 + 7333 7297 7296 7225 + 7333 7296 7332 7225 + 7225 7333 7297 7226 + 7334 7298 7297 7226 + 7334 7297 7333 7226 + 7226 7334 7298 7227 + 7335 7299 7298 7227 + 7335 7298 7334 7227 + 7227 7335 7299 7228 + 7336 7300 7299 7228 + 7336 7299 7335 7228 + 7228 7336 7300 7229 + 7337 7301 7300 7229 + 7337 7300 7336 7229 + 7229 7337 7301 7230 + 7338 7302 7301 7230 + 7338 7301 7337 7230 + 7230 7338 7302 7231 + 7339 7303 7302 7231 + 7339 7302 7338 7231 + 7231 7339 7303 7232 + 7340 7304 7303 7232 + 7340 7303 7339 7232 + 7232 7340 7304 7233 + 7341 7305 7304 7233 + 7341 7304 7340 7233 + 7233 7341 7305 7234 + 7342 7306 7305 7234 + 7342 7305 7341 7234 + 7234 7342 7306 7235 + 7343 7307 7306 7235 + 7343 7306 7342 7235 + 7235 7343 7307 7236 + 7344 7308 7307 7236 + 7344 7307 7343 7236 + 7236 7344 7308 7237 + 7345 7309 7308 7237 + 7345 7308 7344 7237 + 7237 7345 7309 7238 + 7346 7310 7309 7238 + 7346 7309 7345 7238 + 196 199 198 7239 + 7347 7311 198 7239 + 7347 198 199 7239 + 7239 7347 7311 7240 + 7348 7312 7311 7240 + 7348 7311 7347 7240 + 7240 7348 7312 7241 + 7349 7313 7312 7241 + 7349 7312 7348 7241 + 7241 7349 7313 7242 + 7350 7314 7313 7242 + 7350 7313 7349 7242 + 7242 7350 7314 7243 + 7351 7315 7314 7243 + 7351 7314 7350 7243 + 7243 7351 7315 7244 + 7352 7316 7315 7244 + 7352 7315 7351 7244 + 7244 7352 7316 7245 + 7353 7317 7316 7245 + 7353 7316 7352 7245 + 7245 7353 7317 7246 + 7354 7318 7317 7246 + 7354 7317 7353 7246 + 7246 7354 7318 7247 + 7355 7319 7318 7247 + 7355 7318 7354 7247 + 7247 7355 7319 7248 + 7356 7320 7319 7248 + 7356 7319 7355 7248 + 7248 7356 7320 7249 + 7357 7321 7320 7249 + 7357 7320 7356 7249 + 7249 7357 7321 7250 + 7358 7322 7321 7250 + 7358 7321 7357 7250 + 7250 7358 7322 7251 + 7359 7323 7322 7251 + 7359 7322 7358 7251 + 7251 7359 7323 7252 + 7360 7324 7323 7252 + 7360 7323 7359 7252 + 7252 7360 7324 7253 + 7361 7325 7324 7253 + 7361 7324 7360 7253 + 7253 7361 7325 7254 + 7362 7326 7325 7254 + 7362 7325 7361 7254 + 7254 7362 7326 7255 + 7363 7327 7326 7255 + 7363 7326 7362 7255 + 7255 7363 7327 7256 + 7364 7328 7327 7256 + 7364 7327 7363 7256 + 7256 7364 7328 7257 + 7365 7329 7328 7257 + 7365 7328 7364 7257 + 7257 7365 7329 7258 + 7366 7330 7329 7258 + 7366 7329 7365 7258 + 7258 7366 7330 7259 + 7367 7331 7330 7259 + 7367 7330 7366 7259 + 7259 7367 7331 7260 + 7368 7332 7331 7260 + 7368 7331 7367 7260 + 7260 7368 7332 7261 + 7369 7333 7332 7261 + 7369 7332 7368 7261 + 7261 7369 7333 7262 + 7370 7334 7333 7262 + 7370 7333 7369 7262 + 7262 7370 7334 7263 + 7371 7335 7334 7263 + 7371 7334 7370 7263 + 7263 7371 7335 7264 + 7372 7336 7335 7264 + 7372 7335 7371 7264 + 7264 7372 7336 7265 + 7373 7337 7336 7265 + 7373 7336 7372 7265 + 7265 7373 7337 7266 + 7374 7338 7337 7266 + 7374 7337 7373 7266 + 7266 7374 7338 7267 + 7375 7339 7338 7267 + 7375 7338 7374 7267 + 7267 7375 7339 7268 + 7376 7340 7339 7268 + 7376 7339 7375 7268 + 7268 7376 7340 7269 + 7377 7341 7340 7269 + 7377 7340 7376 7269 + 7269 7377 7341 7270 + 7378 7342 7341 7270 + 7378 7341 7377 7270 + 7270 7378 7342 7271 + 7379 7343 7342 7271 + 7379 7342 7378 7271 + 7271 7379 7343 7272 + 7380 7344 7343 7272 + 7380 7343 7379 7272 + 7272 7380 7344 7273 + 7381 7345 7344 7273 + 7381 7344 7380 7273 + 7273 7381 7345 7274 + 7382 7346 7345 7274 + 7382 7345 7381 7274 + 7275 7203 6699 197 + 6699 7203 181 197 + 7203 195 181 197 + 7276 7204 6700 7275 + 6700 7204 6699 7275 + 7204 7203 6699 7275 + 7277 7205 6701 7276 + 6701 7205 6700 7276 + 7205 7204 6700 7276 + 7278 7206 6702 7277 + 6702 7206 6701 7277 + 7206 7205 6701 7277 + 7279 7207 6703 7278 + 6703 7207 6702 7278 + 7207 7206 6702 7278 + 7280 7208 6704 7279 + 6704 7208 6703 7279 + 7208 7207 6703 7279 + 7281 7209 6705 7280 + 6705 7209 6704 7280 + 7209 7208 6704 7280 + 7282 7210 6706 7281 + 6706 7210 6705 7281 + 7210 7209 6705 7281 + 7283 7211 6707 7282 + 6707 7211 6706 7282 + 7211 7210 6706 7282 + 7284 7212 6708 7283 + 6708 7212 6707 7283 + 7212 7211 6707 7283 + 7285 7213 6709 7284 + 6709 7213 6708 7284 + 7213 7212 6708 7284 + 7286 7214 6710 7285 + 6710 7214 6709 7285 + 7214 7213 6709 7285 + 7287 7215 6711 7286 + 6711 7215 6710 7286 + 7215 7214 6710 7286 + 7288 7216 6712 7287 + 6712 7216 6711 7287 + 7216 7215 6711 7287 + 7289 7217 6713 7288 + 6713 7217 6712 7288 + 7217 7216 6712 7288 + 7290 7218 6714 7289 + 6714 7218 6713 7289 + 7218 7217 6713 7289 + 7291 7219 6715 7290 + 6715 7219 6714 7290 + 7219 7218 6714 7290 + 7292 7220 6716 7291 + 6716 7220 6715 7291 + 7220 7219 6715 7291 + 7293 7221 6717 7292 + 6717 7221 6716 7292 + 7221 7220 6716 7292 + 7294 7222 6718 7293 + 6718 7222 6717 7293 + 7222 7221 6717 7293 + 7295 7223 6719 7294 + 6719 7223 6718 7294 + 7223 7222 6718 7294 + 7296 7224 6720 7295 + 6720 7224 6719 7295 + 7224 7223 6719 7295 + 7297 7225 6721 7296 + 6721 7225 6720 7296 + 7225 7224 6720 7296 + 7298 7226 6722 7297 + 6722 7226 6721 7297 + 7226 7225 6721 7297 + 7299 7227 6723 7298 + 6723 7227 6722 7298 + 7227 7226 6722 7298 + 7300 7228 6724 7299 + 6724 7228 6723 7299 + 7228 7227 6723 7299 + 7301 7229 6725 7300 + 6725 7229 6724 7300 + 7229 7228 6724 7300 + 7302 7230 6726 7301 + 6726 7230 6725 7301 + 7230 7229 6725 7301 + 7303 7231 6727 7302 + 6727 7231 6726 7302 + 7231 7230 6726 7302 + 7304 7232 6728 7303 + 6728 7232 6727 7303 + 7232 7231 6727 7303 + 7305 7233 6729 7304 + 6729 7233 6728 7304 + 7233 7232 6728 7304 + 7306 7234 6730 7305 + 6730 7234 6729 7305 + 7234 7233 6729 7305 + 7307 7235 6731 7306 + 6731 7235 6730 7306 + 7235 7234 6730 7306 + 7308 7236 6732 7307 + 6732 7236 6731 7307 + 7236 7235 6731 7307 + 7309 7237 6733 7308 + 6733 7237 6732 7308 + 7237 7236 6732 7308 + 7310 7238 6734 7309 + 6734 7238 6733 7309 + 7238 7237 6733 7309 + 7311 7239 7203 198 + 7203 7239 195 198 + 7239 196 195 198 + 7312 7240 7204 7311 + 7204 7240 7203 7311 + 7240 7239 7203 7311 + 7313 7241 7205 7312 + 7205 7241 7204 7312 + 7241 7240 7204 7312 + 7314 7242 7206 7313 + 7206 7242 7205 7313 + 7242 7241 7205 7313 + 7315 7243 7207 7314 + 7207 7243 7206 7314 + 7243 7242 7206 7314 + 7316 7244 7208 7315 + 7208 7244 7207 7315 + 7244 7243 7207 7315 + 7317 7245 7209 7316 + 7209 7245 7208 7316 + 7245 7244 7208 7316 + 7318 7246 7210 7317 + 7210 7246 7209 7317 + 7246 7245 7209 7317 + 7319 7247 7211 7318 + 7211 7247 7210 7318 + 7247 7246 7210 7318 + 7320 7248 7212 7319 + 7212 7248 7211 7319 + 7248 7247 7211 7319 + 7321 7249 7213 7320 + 7213 7249 7212 7320 + 7249 7248 7212 7320 + 7322 7250 7214 7321 + 7214 7250 7213 7321 + 7250 7249 7213 7321 + 7323 7251 7215 7322 + 7215 7251 7214 7322 + 7251 7250 7214 7322 + 7324 7252 7216 7323 + 7216 7252 7215 7323 + 7252 7251 7215 7323 + 7325 7253 7217 7324 + 7217 7253 7216 7324 + 7253 7252 7216 7324 + 7326 7254 7218 7325 + 7218 7254 7217 7325 + 7254 7253 7217 7325 + 7327 7255 7219 7326 + 7219 7255 7218 7326 + 7255 7254 7218 7326 + 7328 7256 7220 7327 + 7220 7256 7219 7327 + 7256 7255 7219 7327 + 7329 7257 7221 7328 + 7221 7257 7220 7328 + 7257 7256 7220 7328 + 7330 7258 7222 7329 + 7222 7258 7221 7329 + 7258 7257 7221 7329 + 7331 7259 7223 7330 + 7223 7259 7222 7330 + 7259 7258 7222 7330 + 7332 7260 7224 7331 + 7224 7260 7223 7331 + 7260 7259 7223 7331 + 7333 7261 7225 7332 + 7225 7261 7224 7332 + 7261 7260 7224 7332 + 7334 7262 7226 7333 + 7226 7262 7225 7333 + 7262 7261 7225 7333 + 7335 7263 7227 7334 + 7227 7263 7226 7334 + 7263 7262 7226 7334 + 7336 7264 7228 7335 + 7228 7264 7227 7335 + 7264 7263 7227 7335 + 7337 7265 7229 7336 + 7229 7265 7228 7336 + 7265 7264 7228 7336 + 7338 7266 7230 7337 + 7230 7266 7229 7337 + 7266 7265 7229 7337 + 7339 7267 7231 7338 + 7231 7267 7230 7338 + 7267 7266 7230 7338 + 7340 7268 7232 7339 + 7232 7268 7231 7339 + 7268 7267 7231 7339 + 7341 7269 7233 7340 + 7233 7269 7232 7340 + 7269 7268 7232 7340 + 7342 7270 7234 7341 + 7234 7270 7233 7341 + 7270 7269 7233 7341 + 7343 7271 7235 7342 + 7235 7271 7234 7342 + 7271 7270 7234 7342 + 7344 7272 7236 7343 + 7236 7272 7235 7343 + 7272 7271 7235 7343 + 7345 7273 7237 7344 + 7237 7273 7236 7344 + 7273 7272 7236 7344 + 7346 7274 7238 7345 + 7238 7274 7237 7345 + 7274 7273 7237 7345 + 184 200 188 6807 + 7383 6951 188 6807 + 7383 188 200 6807 + 6807 7383 6951 6808 + 7384 6952 6951 6808 + 7384 6951 7383 6808 + 6808 7384 6952 6809 + 7385 6953 6952 6809 + 7385 6952 7384 6809 + 6809 7385 6953 6810 + 7386 6954 6953 6810 + 7386 6953 7385 6810 + 6810 7386 6954 6811 + 7387 6955 6954 6811 + 7387 6954 7386 6811 + 6811 7387 6955 6812 + 7388 6956 6955 6812 + 7388 6955 7387 6812 + 6812 7388 6956 6813 + 7389 6957 6956 6813 + 7389 6956 7388 6813 + 6813 7389 6957 6814 + 7390 6958 6957 6814 + 7390 6957 7389 6814 + 6814 7390 6958 6815 + 7391 6959 6958 6815 + 7391 6958 7390 6815 + 6815 7391 6959 6816 + 7392 6960 6959 6816 + 7392 6959 7391 6816 + 6816 7392 6960 6817 + 7393 6961 6960 6817 + 7393 6960 7392 6817 + 6817 7393 6961 6818 + 7394 6962 6961 6818 + 7394 6961 7393 6818 + 6818 7394 6962 6819 + 7395 6963 6962 6819 + 7395 6962 7394 6819 + 6819 7395 6963 6820 + 7396 6964 6963 6820 + 7396 6963 7395 6820 + 6820 7396 6964 6821 + 7397 6965 6964 6821 + 7397 6964 7396 6821 + 6821 7397 6965 6822 + 7398 6966 6965 6822 + 7398 6965 7397 6822 + 6822 7398 6966 6823 + 7399 6967 6966 6823 + 7399 6966 7398 6823 + 6823 7399 6967 6824 + 7400 6968 6967 6824 + 7400 6967 7399 6824 + 6824 7400 6968 6825 + 7401 6969 6968 6825 + 7401 6968 7400 6825 + 6825 7401 6969 6826 + 7402 6970 6969 6826 + 7402 6969 7401 6826 + 6826 7402 6970 6827 + 7403 6971 6970 6827 + 7403 6970 7402 6827 + 6827 7403 6971 6828 + 7404 6972 6971 6828 + 7404 6971 7403 6828 + 6828 7404 6972 6829 + 7405 6973 6972 6829 + 7405 6972 7404 6829 + 6829 7405 6973 6830 + 7406 6974 6973 6830 + 7406 6973 7405 6830 + 6830 7406 6974 6831 + 7407 6975 6974 6831 + 7407 6974 7406 6831 + 6831 7407 6975 6832 + 7408 6976 6975 6832 + 7408 6975 7407 6832 + 6832 7408 6976 6833 + 7409 6977 6976 6833 + 7409 6976 7408 6833 + 6833 7409 6977 6834 + 7410 6978 6977 6834 + 7410 6977 7409 6834 + 6834 7410 6978 6835 + 7411 6979 6978 6835 + 7411 6978 7410 6835 + 6835 7411 6979 6836 + 7412 6980 6979 6836 + 7412 6979 7411 6836 + 6836 7412 6980 6837 + 7413 6981 6980 6837 + 7413 6980 7412 6837 + 6837 7413 6981 6838 + 7414 6982 6981 6838 + 7414 6981 7413 6838 + 6838 7414 6982 6839 + 7415 6983 6982 6839 + 7415 6982 7414 6839 + 6839 7415 6983 6840 + 7416 6984 6983 6840 + 7416 6983 7415 6840 + 6840 7416 6984 6841 + 7417 6985 6984 6841 + 7417 6984 7416 6841 + 6841 7417 6985 6842 + 7418 6986 6985 6842 + 7418 6985 7417 6842 + 197 201 200 7275 + 7419 7383 200 7275 + 7419 200 201 7275 + 7275 7419 7383 7276 + 7420 7384 7383 7276 + 7420 7383 7419 7276 + 7276 7420 7384 7277 + 7421 7385 7384 7277 + 7421 7384 7420 7277 + 7277 7421 7385 7278 + 7422 7386 7385 7278 + 7422 7385 7421 7278 + 7278 7422 7386 7279 + 7423 7387 7386 7279 + 7423 7386 7422 7279 + 7279 7423 7387 7280 + 7424 7388 7387 7280 + 7424 7387 7423 7280 + 7280 7424 7388 7281 + 7425 7389 7388 7281 + 7425 7388 7424 7281 + 7281 7425 7389 7282 + 7426 7390 7389 7282 + 7426 7389 7425 7282 + 7282 7426 7390 7283 + 7427 7391 7390 7283 + 7427 7390 7426 7283 + 7283 7427 7391 7284 + 7428 7392 7391 7284 + 7428 7391 7427 7284 + 7284 7428 7392 7285 + 7429 7393 7392 7285 + 7429 7392 7428 7285 + 7285 7429 7393 7286 + 7430 7394 7393 7286 + 7430 7393 7429 7286 + 7286 7430 7394 7287 + 7431 7395 7394 7287 + 7431 7394 7430 7287 + 7287 7431 7395 7288 + 7432 7396 7395 7288 + 7432 7395 7431 7288 + 7288 7432 7396 7289 + 7433 7397 7396 7289 + 7433 7396 7432 7289 + 7289 7433 7397 7290 + 7434 7398 7397 7290 + 7434 7397 7433 7290 + 7290 7434 7398 7291 + 7435 7399 7398 7291 + 7435 7398 7434 7291 + 7291 7435 7399 7292 + 7436 7400 7399 7292 + 7436 7399 7435 7292 + 7292 7436 7400 7293 + 7437 7401 7400 7293 + 7437 7400 7436 7293 + 7293 7437 7401 7294 + 7438 7402 7401 7294 + 7438 7401 7437 7294 + 7294 7438 7402 7295 + 7439 7403 7402 7295 + 7439 7402 7438 7295 + 7295 7439 7403 7296 + 7440 7404 7403 7296 + 7440 7403 7439 7296 + 7296 7440 7404 7297 + 7441 7405 7404 7297 + 7441 7404 7440 7297 + 7297 7441 7405 7298 + 7442 7406 7405 7298 + 7442 7405 7441 7298 + 7298 7442 7406 7299 + 7443 7407 7406 7299 + 7443 7406 7442 7299 + 7299 7443 7407 7300 + 7444 7408 7407 7300 + 7444 7407 7443 7300 + 7300 7444 7408 7301 + 7445 7409 7408 7301 + 7445 7408 7444 7301 + 7301 7445 7409 7302 + 7446 7410 7409 7302 + 7446 7409 7445 7302 + 7302 7446 7410 7303 + 7447 7411 7410 7303 + 7447 7410 7446 7303 + 7303 7447 7411 7304 + 7448 7412 7411 7304 + 7448 7411 7447 7304 + 7304 7448 7412 7305 + 7449 7413 7412 7305 + 7449 7412 7448 7305 + 7305 7449 7413 7306 + 7450 7414 7413 7306 + 7450 7413 7449 7306 + 7306 7450 7414 7307 + 7451 7415 7414 7307 + 7451 7414 7450 7307 + 7307 7451 7415 7308 + 7452 7416 7415 7308 + 7452 7415 7451 7308 + 7308 7452 7416 7309 + 7453 7417 7416 7309 + 7453 7416 7452 7309 + 7309 7453 7417 7310 + 7454 7418 7417 7310 + 7454 7417 7453 7310 + 198 202 201 7311 + 7455 7419 201 7311 + 7455 201 202 7311 + 7311 7455 7419 7312 + 7456 7420 7419 7312 + 7456 7419 7455 7312 + 7312 7456 7420 7313 + 7457 7421 7420 7313 + 7457 7420 7456 7313 + 7313 7457 7421 7314 + 7458 7422 7421 7314 + 7458 7421 7457 7314 + 7314 7458 7422 7315 + 7459 7423 7422 7315 + 7459 7422 7458 7315 + 7315 7459 7423 7316 + 7460 7424 7423 7316 + 7460 7423 7459 7316 + 7316 7460 7424 7317 + 7461 7425 7424 7317 + 7461 7424 7460 7317 + 7317 7461 7425 7318 + 7462 7426 7425 7318 + 7462 7425 7461 7318 + 7318 7462 7426 7319 + 7463 7427 7426 7319 + 7463 7426 7462 7319 + 7319 7463 7427 7320 + 7464 7428 7427 7320 + 7464 7427 7463 7320 + 7320 7464 7428 7321 + 7465 7429 7428 7321 + 7465 7428 7464 7321 + 7321 7465 7429 7322 + 7466 7430 7429 7322 + 7466 7429 7465 7322 + 7322 7466 7430 7323 + 7467 7431 7430 7323 + 7467 7430 7466 7323 + 7323 7467 7431 7324 + 7468 7432 7431 7324 + 7468 7431 7467 7324 + 7324 7468 7432 7325 + 7469 7433 7432 7325 + 7469 7432 7468 7325 + 7325 7469 7433 7326 + 7470 7434 7433 7326 + 7470 7433 7469 7326 + 7326 7470 7434 7327 + 7471 7435 7434 7327 + 7471 7434 7470 7327 + 7327 7471 7435 7328 + 7472 7436 7435 7328 + 7472 7435 7471 7328 + 7328 7472 7436 7329 + 7473 7437 7436 7329 + 7473 7436 7472 7329 + 7329 7473 7437 7330 + 7474 7438 7437 7330 + 7474 7437 7473 7330 + 7330 7474 7438 7331 + 7475 7439 7438 7331 + 7475 7438 7474 7331 + 7331 7475 7439 7332 + 7476 7440 7439 7332 + 7476 7439 7475 7332 + 7332 7476 7440 7333 + 7477 7441 7440 7333 + 7477 7440 7476 7333 + 7333 7477 7441 7334 + 7478 7442 7441 7334 + 7478 7441 7477 7334 + 7334 7478 7442 7335 + 7479 7443 7442 7335 + 7479 7442 7478 7335 + 7335 7479 7443 7336 + 7480 7444 7443 7336 + 7480 7443 7479 7336 + 7336 7480 7444 7337 + 7481 7445 7444 7337 + 7481 7444 7480 7337 + 7337 7481 7445 7338 + 7482 7446 7445 7338 + 7482 7445 7481 7338 + 7338 7482 7446 7339 + 7483 7447 7446 7339 + 7483 7446 7482 7339 + 7339 7483 7447 7340 + 7484 7448 7447 7340 + 7484 7447 7483 7340 + 7340 7484 7448 7341 + 7485 7449 7448 7341 + 7485 7448 7484 7341 + 7341 7485 7449 7342 + 7486 7450 7449 7342 + 7486 7449 7485 7342 + 7342 7486 7450 7343 + 7487 7451 7450 7343 + 7487 7450 7486 7343 + 7343 7487 7451 7344 + 7488 7452 7451 7344 + 7488 7451 7487 7344 + 7344 7488 7452 7345 + 7489 7453 7452 7345 + 7489 7452 7488 7345 + 7345 7489 7453 7346 + 7490 7454 7453 7346 + 7490 7453 7489 7346 + 199 203 202 7347 + 7491 7455 202 7347 + 7491 202 203 7347 + 7347 7491 7455 7348 + 7492 7456 7455 7348 + 7492 7455 7491 7348 + 7348 7492 7456 7349 + 7493 7457 7456 7349 + 7493 7456 7492 7349 + 7349 7493 7457 7350 + 7494 7458 7457 7350 + 7494 7457 7493 7350 + 7350 7494 7458 7351 + 7495 7459 7458 7351 + 7495 7458 7494 7351 + 7351 7495 7459 7352 + 7496 7460 7459 7352 + 7496 7459 7495 7352 + 7352 7496 7460 7353 + 7497 7461 7460 7353 + 7497 7460 7496 7353 + 7353 7497 7461 7354 + 7498 7462 7461 7354 + 7498 7461 7497 7354 + 7354 7498 7462 7355 + 7499 7463 7462 7355 + 7499 7462 7498 7355 + 7355 7499 7463 7356 + 7500 7464 7463 7356 + 7500 7463 7499 7356 + 7356 7500 7464 7357 + 7501 7465 7464 7357 + 7501 7464 7500 7357 + 7357 7501 7465 7358 + 7502 7466 7465 7358 + 7502 7465 7501 7358 + 7358 7502 7466 7359 + 7503 7467 7466 7359 + 7503 7466 7502 7359 + 7359 7503 7467 7360 + 7504 7468 7467 7360 + 7504 7467 7503 7360 + 7360 7504 7468 7361 + 7505 7469 7468 7361 + 7505 7468 7504 7361 + 7361 7505 7469 7362 + 7506 7470 7469 7362 + 7506 7469 7505 7362 + 7362 7506 7470 7363 + 7507 7471 7470 7363 + 7507 7470 7506 7363 + 7363 7507 7471 7364 + 7508 7472 7471 7364 + 7508 7471 7507 7364 + 7364 7508 7472 7365 + 7509 7473 7472 7365 + 7509 7472 7508 7365 + 7365 7509 7473 7366 + 7510 7474 7473 7366 + 7510 7473 7509 7366 + 7366 7510 7474 7367 + 7511 7475 7474 7367 + 7511 7474 7510 7367 + 7367 7511 7475 7368 + 7512 7476 7475 7368 + 7512 7475 7511 7368 + 7368 7512 7476 7369 + 7513 7477 7476 7369 + 7513 7476 7512 7369 + 7369 7513 7477 7370 + 7514 7478 7477 7370 + 7514 7477 7513 7370 + 7370 7514 7478 7371 + 7515 7479 7478 7371 + 7515 7478 7514 7371 + 7371 7515 7479 7372 + 7516 7480 7479 7372 + 7516 7479 7515 7372 + 7372 7516 7480 7373 + 7517 7481 7480 7373 + 7517 7480 7516 7373 + 7373 7517 7481 7374 + 7518 7482 7481 7374 + 7518 7481 7517 7374 + 7374 7518 7482 7375 + 7519 7483 7482 7375 + 7519 7482 7518 7375 + 7375 7519 7483 7376 + 7520 7484 7483 7376 + 7520 7483 7519 7376 + 7376 7520 7484 7377 + 7521 7485 7484 7377 + 7521 7484 7520 7377 + 7377 7521 7485 7378 + 7522 7486 7485 7378 + 7522 7485 7521 7378 + 7378 7522 7486 7379 + 7523 7487 7486 7379 + 7523 7486 7522 7379 + 7379 7523 7487 7380 + 7524 7488 7487 7380 + 7524 7487 7523 7380 + 7380 7524 7488 7381 + 7525 7489 7488 7381 + 7525 7488 7524 7381 + 7381 7525 7489 7382 + 7526 7490 7489 7382 + 7526 7489 7525 7382 + 7383 7275 6807 200 + 6807 7275 184 200 + 7275 197 184 200 + 7384 7276 6808 7383 + 6808 7276 6807 7383 + 7276 7275 6807 7383 + 7385 7277 6809 7384 + 6809 7277 6808 7384 + 7277 7276 6808 7384 + 7386 7278 6810 7385 + 6810 7278 6809 7385 + 7278 7277 6809 7385 + 7387 7279 6811 7386 + 6811 7279 6810 7386 + 7279 7278 6810 7386 + 7388 7280 6812 7387 + 6812 7280 6811 7387 + 7280 7279 6811 7387 + 7389 7281 6813 7388 + 6813 7281 6812 7388 + 7281 7280 6812 7388 + 7390 7282 6814 7389 + 6814 7282 6813 7389 + 7282 7281 6813 7389 + 7391 7283 6815 7390 + 6815 7283 6814 7390 + 7283 7282 6814 7390 + 7392 7284 6816 7391 + 6816 7284 6815 7391 + 7284 7283 6815 7391 + 7393 7285 6817 7392 + 6817 7285 6816 7392 + 7285 7284 6816 7392 + 7394 7286 6818 7393 + 6818 7286 6817 7393 + 7286 7285 6817 7393 + 7395 7287 6819 7394 + 6819 7287 6818 7394 + 7287 7286 6818 7394 + 7396 7288 6820 7395 + 6820 7288 6819 7395 + 7288 7287 6819 7395 + 7397 7289 6821 7396 + 6821 7289 6820 7396 + 7289 7288 6820 7396 + 7398 7290 6822 7397 + 6822 7290 6821 7397 + 7290 7289 6821 7397 + 7399 7291 6823 7398 + 6823 7291 6822 7398 + 7291 7290 6822 7398 + 7400 7292 6824 7399 + 6824 7292 6823 7399 + 7292 7291 6823 7399 + 7401 7293 6825 7400 + 6825 7293 6824 7400 + 7293 7292 6824 7400 + 7402 7294 6826 7401 + 6826 7294 6825 7401 + 7294 7293 6825 7401 + 7403 7295 6827 7402 + 6827 7295 6826 7402 + 7295 7294 6826 7402 + 7404 7296 6828 7403 + 6828 7296 6827 7403 + 7296 7295 6827 7403 + 7405 7297 6829 7404 + 6829 7297 6828 7404 + 7297 7296 6828 7404 + 7406 7298 6830 7405 + 6830 7298 6829 7405 + 7298 7297 6829 7405 + 7407 7299 6831 7406 + 6831 7299 6830 7406 + 7299 7298 6830 7406 + 7408 7300 6832 7407 + 6832 7300 6831 7407 + 7300 7299 6831 7407 + 7409 7301 6833 7408 + 6833 7301 6832 7408 + 7301 7300 6832 7408 + 7410 7302 6834 7409 + 6834 7302 6833 7409 + 7302 7301 6833 7409 + 7411 7303 6835 7410 + 6835 7303 6834 7410 + 7303 7302 6834 7410 + 7412 7304 6836 7411 + 6836 7304 6835 7411 + 7304 7303 6835 7411 + 7413 7305 6837 7412 + 6837 7305 6836 7412 + 7305 7304 6836 7412 + 7414 7306 6838 7413 + 6838 7306 6837 7413 + 7306 7305 6837 7413 + 7415 7307 6839 7414 + 6839 7307 6838 7414 + 7307 7306 6838 7414 + 7416 7308 6840 7415 + 6840 7308 6839 7415 + 7308 7307 6839 7415 + 7417 7309 6841 7416 + 6841 7309 6840 7416 + 7309 7308 6840 7416 + 7418 7310 6842 7417 + 6842 7310 6841 7417 + 7310 7309 6841 7417 + 7419 7311 7275 201 + 7275 7311 197 201 + 7311 198 197 201 + 7420 7312 7276 7419 + 7276 7312 7275 7419 + 7312 7311 7275 7419 + 7421 7313 7277 7420 + 7277 7313 7276 7420 + 7313 7312 7276 7420 + 7422 7314 7278 7421 + 7278 7314 7277 7421 + 7314 7313 7277 7421 + 7423 7315 7279 7422 + 7279 7315 7278 7422 + 7315 7314 7278 7422 + 7424 7316 7280 7423 + 7280 7316 7279 7423 + 7316 7315 7279 7423 + 7425 7317 7281 7424 + 7281 7317 7280 7424 + 7317 7316 7280 7424 + 7426 7318 7282 7425 + 7282 7318 7281 7425 + 7318 7317 7281 7425 + 7427 7319 7283 7426 + 7283 7319 7282 7426 + 7319 7318 7282 7426 + 7428 7320 7284 7427 + 7284 7320 7283 7427 + 7320 7319 7283 7427 + 7429 7321 7285 7428 + 7285 7321 7284 7428 + 7321 7320 7284 7428 + 7430 7322 7286 7429 + 7286 7322 7285 7429 + 7322 7321 7285 7429 + 7431 7323 7287 7430 + 7287 7323 7286 7430 + 7323 7322 7286 7430 + 7432 7324 7288 7431 + 7288 7324 7287 7431 + 7324 7323 7287 7431 + 7433 7325 7289 7432 + 7289 7325 7288 7432 + 7325 7324 7288 7432 + 7434 7326 7290 7433 + 7290 7326 7289 7433 + 7326 7325 7289 7433 + 7435 7327 7291 7434 + 7291 7327 7290 7434 + 7327 7326 7290 7434 + 7436 7328 7292 7435 + 7292 7328 7291 7435 + 7328 7327 7291 7435 + 7437 7329 7293 7436 + 7293 7329 7292 7436 + 7329 7328 7292 7436 + 7438 7330 7294 7437 + 7294 7330 7293 7437 + 7330 7329 7293 7437 + 7439 7331 7295 7438 + 7295 7331 7294 7438 + 7331 7330 7294 7438 + 7440 7332 7296 7439 + 7296 7332 7295 7439 + 7332 7331 7295 7439 + 7441 7333 7297 7440 + 7297 7333 7296 7440 + 7333 7332 7296 7440 + 7442 7334 7298 7441 + 7298 7334 7297 7441 + 7334 7333 7297 7441 + 7443 7335 7299 7442 + 7299 7335 7298 7442 + 7335 7334 7298 7442 + 7444 7336 7300 7443 + 7300 7336 7299 7443 + 7336 7335 7299 7443 + 7445 7337 7301 7444 + 7301 7337 7300 7444 + 7337 7336 7300 7444 + 7446 7338 7302 7445 + 7302 7338 7301 7445 + 7338 7337 7301 7445 + 7447 7339 7303 7446 + 7303 7339 7302 7446 + 7339 7338 7302 7446 + 7448 7340 7304 7447 + 7304 7340 7303 7447 + 7340 7339 7303 7447 + 7449 7341 7305 7448 + 7305 7341 7304 7448 + 7341 7340 7304 7448 + 7450 7342 7306 7449 + 7306 7342 7305 7449 + 7342 7341 7305 7449 + 7451 7343 7307 7450 + 7307 7343 7306 7450 + 7343 7342 7306 7450 + 7452 7344 7308 7451 + 7308 7344 7307 7451 + 7344 7343 7307 7451 + 7453 7345 7309 7452 + 7309 7345 7308 7452 + 7345 7344 7308 7452 + 7454 7346 7310 7453 + 7310 7346 7309 7453 + 7346 7345 7309 7453 + 7455 7347 7311 202 + 7311 7347 198 202 + 7347 199 198 202 + 7456 7348 7312 7455 + 7312 7348 7311 7455 + 7348 7347 7311 7455 + 7457 7349 7313 7456 + 7313 7349 7312 7456 + 7349 7348 7312 7456 + 7458 7350 7314 7457 + 7314 7350 7313 7457 + 7350 7349 7313 7457 + 7459 7351 7315 7458 + 7315 7351 7314 7458 + 7351 7350 7314 7458 + 7460 7352 7316 7459 + 7316 7352 7315 7459 + 7352 7351 7315 7459 + 7461 7353 7317 7460 + 7317 7353 7316 7460 + 7353 7352 7316 7460 + 7462 7354 7318 7461 + 7318 7354 7317 7461 + 7354 7353 7317 7461 + 7463 7355 7319 7462 + 7319 7355 7318 7462 + 7355 7354 7318 7462 + 7464 7356 7320 7463 + 7320 7356 7319 7463 + 7356 7355 7319 7463 + 7465 7357 7321 7464 + 7321 7357 7320 7464 + 7357 7356 7320 7464 + 7466 7358 7322 7465 + 7322 7358 7321 7465 + 7358 7357 7321 7465 + 7467 7359 7323 7466 + 7323 7359 7322 7466 + 7359 7358 7322 7466 + 7468 7360 7324 7467 + 7324 7360 7323 7467 + 7360 7359 7323 7467 + 7469 7361 7325 7468 + 7325 7361 7324 7468 + 7361 7360 7324 7468 + 7470 7362 7326 7469 + 7326 7362 7325 7469 + 7362 7361 7325 7469 + 7471 7363 7327 7470 + 7327 7363 7326 7470 + 7363 7362 7326 7470 + 7472 7364 7328 7471 + 7328 7364 7327 7471 + 7364 7363 7327 7471 + 7473 7365 7329 7472 + 7329 7365 7328 7472 + 7365 7364 7328 7472 + 7474 7366 7330 7473 + 7330 7366 7329 7473 + 7366 7365 7329 7473 + 7475 7367 7331 7474 + 7331 7367 7330 7474 + 7367 7366 7330 7474 + 7476 7368 7332 7475 + 7332 7368 7331 7475 + 7368 7367 7331 7475 + 7477 7369 7333 7476 + 7333 7369 7332 7476 + 7369 7368 7332 7476 + 7478 7370 7334 7477 + 7334 7370 7333 7477 + 7370 7369 7333 7477 + 7479 7371 7335 7478 + 7335 7371 7334 7478 + 7371 7370 7334 7478 + 7480 7372 7336 7479 + 7336 7372 7335 7479 + 7372 7371 7335 7479 + 7481 7373 7337 7480 + 7337 7373 7336 7480 + 7373 7372 7336 7480 + 7482 7374 7338 7481 + 7338 7374 7337 7481 + 7374 7373 7337 7481 + 7483 7375 7339 7482 + 7339 7375 7338 7482 + 7375 7374 7338 7482 + 7484 7376 7340 7483 + 7340 7376 7339 7483 + 7376 7375 7339 7483 + 7485 7377 7341 7484 + 7341 7377 7340 7484 + 7377 7376 7340 7484 + 7486 7378 7342 7485 + 7342 7378 7341 7485 + 7378 7377 7341 7485 + 7487 7379 7343 7486 + 7343 7379 7342 7486 + 7379 7378 7342 7486 + 7488 7380 7344 7487 + 7344 7380 7343 7487 + 7380 7379 7343 7487 + 7489 7381 7345 7488 + 7345 7381 7344 7488 + 7381 7380 7344 7488 + 7490 7382 7346 7489 + 7346 7382 7345 7489 + 7382 7381 7345 7489 + 188 204 193 6951 + 7527 7131 193 6951 + 7527 193 204 6951 + 6951 7527 7131 6952 + 7528 7132 7131 6952 + 7528 7131 7527 6952 + 6952 7528 7132 6953 + 7529 7133 7132 6953 + 7529 7132 7528 6953 + 6953 7529 7133 6954 + 7530 7134 7133 6954 + 7530 7133 7529 6954 + 6954 7530 7134 6955 + 7531 7135 7134 6955 + 7531 7134 7530 6955 + 6955 7531 7135 6956 + 7532 7136 7135 6956 + 7532 7135 7531 6956 + 6956 7532 7136 6957 + 7533 7137 7136 6957 + 7533 7136 7532 6957 + 6957 7533 7137 6958 + 7534 7138 7137 6958 + 7534 7137 7533 6958 + 6958 7534 7138 6959 + 7535 7139 7138 6959 + 7535 7138 7534 6959 + 6959 7535 7139 6960 + 7536 7140 7139 6960 + 7536 7139 7535 6960 + 6960 7536 7140 6961 + 7537 7141 7140 6961 + 7537 7140 7536 6961 + 6961 7537 7141 6962 + 7538 7142 7141 6962 + 7538 7141 7537 6962 + 6962 7538 7142 6963 + 7539 7143 7142 6963 + 7539 7142 7538 6963 + 6963 7539 7143 6964 + 7540 7144 7143 6964 + 7540 7143 7539 6964 + 6964 7540 7144 6965 + 7541 7145 7144 6965 + 7541 7144 7540 6965 + 6965 7541 7145 6966 + 7542 7146 7145 6966 + 7542 7145 7541 6966 + 6966 7542 7146 6967 + 7543 7147 7146 6967 + 7543 7146 7542 6967 + 6967 7543 7147 6968 + 7544 7148 7147 6968 + 7544 7147 7543 6968 + 6968 7544 7148 6969 + 7545 7149 7148 6969 + 7545 7148 7544 6969 + 6969 7545 7149 6970 + 7546 7150 7149 6970 + 7546 7149 7545 6970 + 6970 7546 7150 6971 + 7547 7151 7150 6971 + 7547 7150 7546 6971 + 6971 7547 7151 6972 + 7548 7152 7151 6972 + 7548 7151 7547 6972 + 6972 7548 7152 6973 + 7549 7153 7152 6973 + 7549 7152 7548 6973 + 6973 7549 7153 6974 + 7550 7154 7153 6974 + 7550 7153 7549 6974 + 6974 7550 7154 6975 + 7551 7155 7154 6975 + 7551 7154 7550 6975 + 6975 7551 7155 6976 + 7552 7156 7155 6976 + 7552 7155 7551 6976 + 6976 7552 7156 6977 + 7553 7157 7156 6977 + 7553 7156 7552 6977 + 6977 7553 7157 6978 + 7554 7158 7157 6978 + 7554 7157 7553 6978 + 6978 7554 7158 6979 + 7555 7159 7158 6979 + 7555 7158 7554 6979 + 6979 7555 7159 6980 + 7556 7160 7159 6980 + 7556 7159 7555 6980 + 6980 7556 7160 6981 + 7557 7161 7160 6981 + 7557 7160 7556 6981 + 6981 7557 7161 6982 + 7558 7162 7161 6982 + 7558 7161 7557 6982 + 6982 7558 7162 6983 + 7559 7163 7162 6983 + 7559 7162 7558 6983 + 6983 7559 7163 6984 + 7560 7164 7163 6984 + 7560 7163 7559 6984 + 6984 7560 7164 6985 + 7561 7165 7164 6985 + 7561 7164 7560 6985 + 6985 7561 7165 6986 + 7562 7166 7165 6986 + 7562 7165 7561 6986 + 200 205 204 7383 + 7563 7527 204 7383 + 7563 204 205 7383 + 7383 7563 7527 7384 + 7564 7528 7527 7384 + 7564 7527 7563 7384 + 7384 7564 7528 7385 + 7565 7529 7528 7385 + 7565 7528 7564 7385 + 7385 7565 7529 7386 + 7566 7530 7529 7386 + 7566 7529 7565 7386 + 7386 7566 7530 7387 + 7567 7531 7530 7387 + 7567 7530 7566 7387 + 7387 7567 7531 7388 + 7568 7532 7531 7388 + 7568 7531 7567 7388 + 7388 7568 7532 7389 + 7569 7533 7532 7389 + 7569 7532 7568 7389 + 7389 7569 7533 7390 + 7570 7534 7533 7390 + 7570 7533 7569 7390 + 7390 7570 7534 7391 + 7571 7535 7534 7391 + 7571 7534 7570 7391 + 7391 7571 7535 7392 + 7572 7536 7535 7392 + 7572 7535 7571 7392 + 7392 7572 7536 7393 + 7573 7537 7536 7393 + 7573 7536 7572 7393 + 7393 7573 7537 7394 + 7574 7538 7537 7394 + 7574 7537 7573 7394 + 7394 7574 7538 7395 + 7575 7539 7538 7395 + 7575 7538 7574 7395 + 7395 7575 7539 7396 + 7576 7540 7539 7396 + 7576 7539 7575 7396 + 7396 7576 7540 7397 + 7577 7541 7540 7397 + 7577 7540 7576 7397 + 7397 7577 7541 7398 + 7578 7542 7541 7398 + 7578 7541 7577 7398 + 7398 7578 7542 7399 + 7579 7543 7542 7399 + 7579 7542 7578 7399 + 7399 7579 7543 7400 + 7580 7544 7543 7400 + 7580 7543 7579 7400 + 7400 7580 7544 7401 + 7581 7545 7544 7401 + 7581 7544 7580 7401 + 7401 7581 7545 7402 + 7582 7546 7545 7402 + 7582 7545 7581 7402 + 7402 7582 7546 7403 + 7583 7547 7546 7403 + 7583 7546 7582 7403 + 7403 7583 7547 7404 + 7584 7548 7547 7404 + 7584 7547 7583 7404 + 7404 7584 7548 7405 + 7585 7549 7548 7405 + 7585 7548 7584 7405 + 7405 7585 7549 7406 + 7586 7550 7549 7406 + 7586 7549 7585 7406 + 7406 7586 7550 7407 + 7587 7551 7550 7407 + 7587 7550 7586 7407 + 7407 7587 7551 7408 + 7588 7552 7551 7408 + 7588 7551 7587 7408 + 7408 7588 7552 7409 + 7589 7553 7552 7409 + 7589 7552 7588 7409 + 7409 7589 7553 7410 + 7590 7554 7553 7410 + 7590 7553 7589 7410 + 7410 7590 7554 7411 + 7591 7555 7554 7411 + 7591 7554 7590 7411 + 7411 7591 7555 7412 + 7592 7556 7555 7412 + 7592 7555 7591 7412 + 7412 7592 7556 7413 + 7593 7557 7556 7413 + 7593 7556 7592 7413 + 7413 7593 7557 7414 + 7594 7558 7557 7414 + 7594 7557 7593 7414 + 7414 7594 7558 7415 + 7595 7559 7558 7415 + 7595 7558 7594 7415 + 7415 7595 7559 7416 + 7596 7560 7559 7416 + 7596 7559 7595 7416 + 7416 7596 7560 7417 + 7597 7561 7560 7417 + 7597 7560 7596 7417 + 7417 7597 7561 7418 + 7598 7562 7561 7418 + 7598 7561 7597 7418 + 201 206 205 7419 + 7599 7563 205 7419 + 7599 205 206 7419 + 7419 7599 7563 7420 + 7600 7564 7563 7420 + 7600 7563 7599 7420 + 7420 7600 7564 7421 + 7601 7565 7564 7421 + 7601 7564 7600 7421 + 7421 7601 7565 7422 + 7602 7566 7565 7422 + 7602 7565 7601 7422 + 7422 7602 7566 7423 + 7603 7567 7566 7423 + 7603 7566 7602 7423 + 7423 7603 7567 7424 + 7604 7568 7567 7424 + 7604 7567 7603 7424 + 7424 7604 7568 7425 + 7605 7569 7568 7425 + 7605 7568 7604 7425 + 7425 7605 7569 7426 + 7606 7570 7569 7426 + 7606 7569 7605 7426 + 7426 7606 7570 7427 + 7607 7571 7570 7427 + 7607 7570 7606 7427 + 7427 7607 7571 7428 + 7608 7572 7571 7428 + 7608 7571 7607 7428 + 7428 7608 7572 7429 + 7609 7573 7572 7429 + 7609 7572 7608 7429 + 7429 7609 7573 7430 + 7610 7574 7573 7430 + 7610 7573 7609 7430 + 7430 7610 7574 7431 + 7611 7575 7574 7431 + 7611 7574 7610 7431 + 7431 7611 7575 7432 + 7612 7576 7575 7432 + 7612 7575 7611 7432 + 7432 7612 7576 7433 + 7613 7577 7576 7433 + 7613 7576 7612 7433 + 7433 7613 7577 7434 + 7614 7578 7577 7434 + 7614 7577 7613 7434 + 7434 7614 7578 7435 + 7615 7579 7578 7435 + 7615 7578 7614 7435 + 7435 7615 7579 7436 + 7616 7580 7579 7436 + 7616 7579 7615 7436 + 7436 7616 7580 7437 + 7617 7581 7580 7437 + 7617 7580 7616 7437 + 7437 7617 7581 7438 + 7618 7582 7581 7438 + 7618 7581 7617 7438 + 7438 7618 7582 7439 + 7619 7583 7582 7439 + 7619 7582 7618 7439 + 7439 7619 7583 7440 + 7620 7584 7583 7440 + 7620 7583 7619 7440 + 7440 7620 7584 7441 + 7621 7585 7584 7441 + 7621 7584 7620 7441 + 7441 7621 7585 7442 + 7622 7586 7585 7442 + 7622 7585 7621 7442 + 7442 7622 7586 7443 + 7623 7587 7586 7443 + 7623 7586 7622 7443 + 7443 7623 7587 7444 + 7624 7588 7587 7444 + 7624 7587 7623 7444 + 7444 7624 7588 7445 + 7625 7589 7588 7445 + 7625 7588 7624 7445 + 7445 7625 7589 7446 + 7626 7590 7589 7446 + 7626 7589 7625 7446 + 7446 7626 7590 7447 + 7627 7591 7590 7447 + 7627 7590 7626 7447 + 7447 7627 7591 7448 + 7628 7592 7591 7448 + 7628 7591 7627 7448 + 7448 7628 7592 7449 + 7629 7593 7592 7449 + 7629 7592 7628 7449 + 7449 7629 7593 7450 + 7630 7594 7593 7450 + 7630 7593 7629 7450 + 7450 7630 7594 7451 + 7631 7595 7594 7451 + 7631 7594 7630 7451 + 7451 7631 7595 7452 + 7632 7596 7595 7452 + 7632 7595 7631 7452 + 7452 7632 7596 7453 + 7633 7597 7596 7453 + 7633 7596 7632 7453 + 7453 7633 7597 7454 + 7634 7598 7597 7454 + 7634 7597 7633 7454 + 202 207 206 7455 + 7635 7599 206 7455 + 7635 206 207 7455 + 7455 7635 7599 7456 + 7636 7600 7599 7456 + 7636 7599 7635 7456 + 7456 7636 7600 7457 + 7637 7601 7600 7457 + 7637 7600 7636 7457 + 7457 7637 7601 7458 + 7638 7602 7601 7458 + 7638 7601 7637 7458 + 7458 7638 7602 7459 + 7639 7603 7602 7459 + 7639 7602 7638 7459 + 7459 7639 7603 7460 + 7640 7604 7603 7460 + 7640 7603 7639 7460 + 7460 7640 7604 7461 + 7641 7605 7604 7461 + 7641 7604 7640 7461 + 7461 7641 7605 7462 + 7642 7606 7605 7462 + 7642 7605 7641 7462 + 7462 7642 7606 7463 + 7643 7607 7606 7463 + 7643 7606 7642 7463 + 7463 7643 7607 7464 + 7644 7608 7607 7464 + 7644 7607 7643 7464 + 7464 7644 7608 7465 + 7645 7609 7608 7465 + 7645 7608 7644 7465 + 7465 7645 7609 7466 + 7646 7610 7609 7466 + 7646 7609 7645 7466 + 7466 7646 7610 7467 + 7647 7611 7610 7467 + 7647 7610 7646 7467 + 7467 7647 7611 7468 + 7648 7612 7611 7468 + 7648 7611 7647 7468 + 7468 7648 7612 7469 + 7649 7613 7612 7469 + 7649 7612 7648 7469 + 7469 7649 7613 7470 + 7650 7614 7613 7470 + 7650 7613 7649 7470 + 7470 7650 7614 7471 + 7651 7615 7614 7471 + 7651 7614 7650 7471 + 7471 7651 7615 7472 + 7652 7616 7615 7472 + 7652 7615 7651 7472 + 7472 7652 7616 7473 + 7653 7617 7616 7473 + 7653 7616 7652 7473 + 7473 7653 7617 7474 + 7654 7618 7617 7474 + 7654 7617 7653 7474 + 7474 7654 7618 7475 + 7655 7619 7618 7475 + 7655 7618 7654 7475 + 7475 7655 7619 7476 + 7656 7620 7619 7476 + 7656 7619 7655 7476 + 7476 7656 7620 7477 + 7657 7621 7620 7477 + 7657 7620 7656 7477 + 7477 7657 7621 7478 + 7658 7622 7621 7478 + 7658 7621 7657 7478 + 7478 7658 7622 7479 + 7659 7623 7622 7479 + 7659 7622 7658 7479 + 7479 7659 7623 7480 + 7660 7624 7623 7480 + 7660 7623 7659 7480 + 7480 7660 7624 7481 + 7661 7625 7624 7481 + 7661 7624 7660 7481 + 7481 7661 7625 7482 + 7662 7626 7625 7482 + 7662 7625 7661 7482 + 7482 7662 7626 7483 + 7663 7627 7626 7483 + 7663 7626 7662 7483 + 7483 7663 7627 7484 + 7664 7628 7627 7484 + 7664 7627 7663 7484 + 7484 7664 7628 7485 + 7665 7629 7628 7485 + 7665 7628 7664 7485 + 7485 7665 7629 7486 + 7666 7630 7629 7486 + 7666 7629 7665 7486 + 7486 7666 7630 7487 + 7667 7631 7630 7487 + 7667 7630 7666 7487 + 7487 7667 7631 7488 + 7668 7632 7631 7488 + 7668 7631 7667 7488 + 7488 7668 7632 7489 + 7669 7633 7632 7489 + 7669 7632 7668 7489 + 7489 7669 7633 7490 + 7670 7634 7633 7490 + 7670 7633 7669 7490 + 203 208 207 7491 + 7671 7635 207 7491 + 7671 207 208 7491 + 7491 7671 7635 7492 + 7672 7636 7635 7492 + 7672 7635 7671 7492 + 7492 7672 7636 7493 + 7673 7637 7636 7493 + 7673 7636 7672 7493 + 7493 7673 7637 7494 + 7674 7638 7637 7494 + 7674 7637 7673 7494 + 7494 7674 7638 7495 + 7675 7639 7638 7495 + 7675 7638 7674 7495 + 7495 7675 7639 7496 + 7676 7640 7639 7496 + 7676 7639 7675 7496 + 7496 7676 7640 7497 + 7677 7641 7640 7497 + 7677 7640 7676 7497 + 7497 7677 7641 7498 + 7678 7642 7641 7498 + 7678 7641 7677 7498 + 7498 7678 7642 7499 + 7679 7643 7642 7499 + 7679 7642 7678 7499 + 7499 7679 7643 7500 + 7680 7644 7643 7500 + 7680 7643 7679 7500 + 7500 7680 7644 7501 + 7681 7645 7644 7501 + 7681 7644 7680 7501 + 7501 7681 7645 7502 + 7682 7646 7645 7502 + 7682 7645 7681 7502 + 7502 7682 7646 7503 + 7683 7647 7646 7503 + 7683 7646 7682 7503 + 7503 7683 7647 7504 + 7684 7648 7647 7504 + 7684 7647 7683 7504 + 7504 7684 7648 7505 + 7685 7649 7648 7505 + 7685 7648 7684 7505 + 7505 7685 7649 7506 + 7686 7650 7649 7506 + 7686 7649 7685 7506 + 7506 7686 7650 7507 + 7687 7651 7650 7507 + 7687 7650 7686 7507 + 7507 7687 7651 7508 + 7688 7652 7651 7508 + 7688 7651 7687 7508 + 7508 7688 7652 7509 + 7689 7653 7652 7509 + 7689 7652 7688 7509 + 7509 7689 7653 7510 + 7690 7654 7653 7510 + 7690 7653 7689 7510 + 7510 7690 7654 7511 + 7691 7655 7654 7511 + 7691 7654 7690 7511 + 7511 7691 7655 7512 + 7692 7656 7655 7512 + 7692 7655 7691 7512 + 7512 7692 7656 7513 + 7693 7657 7656 7513 + 7693 7656 7692 7513 + 7513 7693 7657 7514 + 7694 7658 7657 7514 + 7694 7657 7693 7514 + 7514 7694 7658 7515 + 7695 7659 7658 7515 + 7695 7658 7694 7515 + 7515 7695 7659 7516 + 7696 7660 7659 7516 + 7696 7659 7695 7516 + 7516 7696 7660 7517 + 7697 7661 7660 7517 + 7697 7660 7696 7517 + 7517 7697 7661 7518 + 7698 7662 7661 7518 + 7698 7661 7697 7518 + 7518 7698 7662 7519 + 7699 7663 7662 7519 + 7699 7662 7698 7519 + 7519 7699 7663 7520 + 7700 7664 7663 7520 + 7700 7663 7699 7520 + 7520 7700 7664 7521 + 7701 7665 7664 7521 + 7701 7664 7700 7521 + 7521 7701 7665 7522 + 7702 7666 7665 7522 + 7702 7665 7701 7522 + 7522 7702 7666 7523 + 7703 7667 7666 7523 + 7703 7666 7702 7523 + 7523 7703 7667 7524 + 7704 7668 7667 7524 + 7704 7667 7703 7524 + 7524 7704 7668 7525 + 7705 7669 7668 7525 + 7705 7668 7704 7525 + 7525 7705 7669 7526 + 7706 7670 7669 7526 + 7706 7669 7705 7526 + 7527 7383 6951 204 + 6951 7383 188 204 + 7383 200 188 204 + 7528 7384 6952 7527 + 6952 7384 6951 7527 + 7384 7383 6951 7527 + 7529 7385 6953 7528 + 6953 7385 6952 7528 + 7385 7384 6952 7528 + 7530 7386 6954 7529 + 6954 7386 6953 7529 + 7386 7385 6953 7529 + 7531 7387 6955 7530 + 6955 7387 6954 7530 + 7387 7386 6954 7530 + 7532 7388 6956 7531 + 6956 7388 6955 7531 + 7388 7387 6955 7531 + 7533 7389 6957 7532 + 6957 7389 6956 7532 + 7389 7388 6956 7532 + 7534 7390 6958 7533 + 6958 7390 6957 7533 + 7390 7389 6957 7533 + 7535 7391 6959 7534 + 6959 7391 6958 7534 + 7391 7390 6958 7534 + 7536 7392 6960 7535 + 6960 7392 6959 7535 + 7392 7391 6959 7535 + 7537 7393 6961 7536 + 6961 7393 6960 7536 + 7393 7392 6960 7536 + 7538 7394 6962 7537 + 6962 7394 6961 7537 + 7394 7393 6961 7537 + 7539 7395 6963 7538 + 6963 7395 6962 7538 + 7395 7394 6962 7538 + 7540 7396 6964 7539 + 6964 7396 6963 7539 + 7396 7395 6963 7539 + 7541 7397 6965 7540 + 6965 7397 6964 7540 + 7397 7396 6964 7540 + 7542 7398 6966 7541 + 6966 7398 6965 7541 + 7398 7397 6965 7541 + 7543 7399 6967 7542 + 6967 7399 6966 7542 + 7399 7398 6966 7542 + 7544 7400 6968 7543 + 6968 7400 6967 7543 + 7400 7399 6967 7543 + 7545 7401 6969 7544 + 6969 7401 6968 7544 + 7401 7400 6968 7544 + 7546 7402 6970 7545 + 6970 7402 6969 7545 + 7402 7401 6969 7545 + 7547 7403 6971 7546 + 6971 7403 6970 7546 + 7403 7402 6970 7546 + 7548 7404 6972 7547 + 6972 7404 6971 7547 + 7404 7403 6971 7547 + 7549 7405 6973 7548 + 6973 7405 6972 7548 + 7405 7404 6972 7548 + 7550 7406 6974 7549 + 6974 7406 6973 7549 + 7406 7405 6973 7549 + 7551 7407 6975 7550 + 6975 7407 6974 7550 + 7407 7406 6974 7550 + 7552 7408 6976 7551 + 6976 7408 6975 7551 + 7408 7407 6975 7551 + 7553 7409 6977 7552 + 6977 7409 6976 7552 + 7409 7408 6976 7552 + 7554 7410 6978 7553 + 6978 7410 6977 7553 + 7410 7409 6977 7553 + 7555 7411 6979 7554 + 6979 7411 6978 7554 + 7411 7410 6978 7554 + 7556 7412 6980 7555 + 6980 7412 6979 7555 + 7412 7411 6979 7555 + 7557 7413 6981 7556 + 6981 7413 6980 7556 + 7413 7412 6980 7556 + 7558 7414 6982 7557 + 6982 7414 6981 7557 + 7414 7413 6981 7557 + 7559 7415 6983 7558 + 6983 7415 6982 7558 + 7415 7414 6982 7558 + 7560 7416 6984 7559 + 6984 7416 6983 7559 + 7416 7415 6983 7559 + 7561 7417 6985 7560 + 6985 7417 6984 7560 + 7417 7416 6984 7560 + 7562 7418 6986 7561 + 6986 7418 6985 7561 + 7418 7417 6985 7561 + 7563 7419 7383 205 + 7383 7419 200 205 + 7419 201 200 205 + 7564 7420 7384 7563 + 7384 7420 7383 7563 + 7420 7419 7383 7563 + 7565 7421 7385 7564 + 7385 7421 7384 7564 + 7421 7420 7384 7564 + 7566 7422 7386 7565 + 7386 7422 7385 7565 + 7422 7421 7385 7565 + 7567 7423 7387 7566 + 7387 7423 7386 7566 + 7423 7422 7386 7566 + 7568 7424 7388 7567 + 7388 7424 7387 7567 + 7424 7423 7387 7567 + 7569 7425 7389 7568 + 7389 7425 7388 7568 + 7425 7424 7388 7568 + 7570 7426 7390 7569 + 7390 7426 7389 7569 + 7426 7425 7389 7569 + 7571 7427 7391 7570 + 7391 7427 7390 7570 + 7427 7426 7390 7570 + 7572 7428 7392 7571 + 7392 7428 7391 7571 + 7428 7427 7391 7571 + 7573 7429 7393 7572 + 7393 7429 7392 7572 + 7429 7428 7392 7572 + 7574 7430 7394 7573 + 7394 7430 7393 7573 + 7430 7429 7393 7573 + 7575 7431 7395 7574 + 7395 7431 7394 7574 + 7431 7430 7394 7574 + 7576 7432 7396 7575 + 7396 7432 7395 7575 + 7432 7431 7395 7575 + 7577 7433 7397 7576 + 7397 7433 7396 7576 + 7433 7432 7396 7576 + 7578 7434 7398 7577 + 7398 7434 7397 7577 + 7434 7433 7397 7577 + 7579 7435 7399 7578 + 7399 7435 7398 7578 + 7435 7434 7398 7578 + 7580 7436 7400 7579 + 7400 7436 7399 7579 + 7436 7435 7399 7579 + 7581 7437 7401 7580 + 7401 7437 7400 7580 + 7437 7436 7400 7580 + 7582 7438 7402 7581 + 7402 7438 7401 7581 + 7438 7437 7401 7581 + 7583 7439 7403 7582 + 7403 7439 7402 7582 + 7439 7438 7402 7582 + 7584 7440 7404 7583 + 7404 7440 7403 7583 + 7440 7439 7403 7583 + 7585 7441 7405 7584 + 7405 7441 7404 7584 + 7441 7440 7404 7584 + 7586 7442 7406 7585 + 7406 7442 7405 7585 + 7442 7441 7405 7585 + 7587 7443 7407 7586 + 7407 7443 7406 7586 + 7443 7442 7406 7586 + 7588 7444 7408 7587 + 7408 7444 7407 7587 + 7444 7443 7407 7587 + 7589 7445 7409 7588 + 7409 7445 7408 7588 + 7445 7444 7408 7588 + 7590 7446 7410 7589 + 7410 7446 7409 7589 + 7446 7445 7409 7589 + 7591 7447 7411 7590 + 7411 7447 7410 7590 + 7447 7446 7410 7590 + 7592 7448 7412 7591 + 7412 7448 7411 7591 + 7448 7447 7411 7591 + 7593 7449 7413 7592 + 7413 7449 7412 7592 + 7449 7448 7412 7592 + 7594 7450 7414 7593 + 7414 7450 7413 7593 + 7450 7449 7413 7593 + 7595 7451 7415 7594 + 7415 7451 7414 7594 + 7451 7450 7414 7594 + 7596 7452 7416 7595 + 7416 7452 7415 7595 + 7452 7451 7415 7595 + 7597 7453 7417 7596 + 7417 7453 7416 7596 + 7453 7452 7416 7596 + 7598 7454 7418 7597 + 7418 7454 7417 7597 + 7454 7453 7417 7597 + 7599 7455 7419 206 + 7419 7455 201 206 + 7455 202 201 206 + 7600 7456 7420 7599 + 7420 7456 7419 7599 + 7456 7455 7419 7599 + 7601 7457 7421 7600 + 7421 7457 7420 7600 + 7457 7456 7420 7600 + 7602 7458 7422 7601 + 7422 7458 7421 7601 + 7458 7457 7421 7601 + 7603 7459 7423 7602 + 7423 7459 7422 7602 + 7459 7458 7422 7602 + 7604 7460 7424 7603 + 7424 7460 7423 7603 + 7460 7459 7423 7603 + 7605 7461 7425 7604 + 7425 7461 7424 7604 + 7461 7460 7424 7604 + 7606 7462 7426 7605 + 7426 7462 7425 7605 + 7462 7461 7425 7605 + 7607 7463 7427 7606 + 7427 7463 7426 7606 + 7463 7462 7426 7606 + 7608 7464 7428 7607 + 7428 7464 7427 7607 + 7464 7463 7427 7607 + 7609 7465 7429 7608 + 7429 7465 7428 7608 + 7465 7464 7428 7608 + 7610 7466 7430 7609 + 7430 7466 7429 7609 + 7466 7465 7429 7609 + 7611 7467 7431 7610 + 7431 7467 7430 7610 + 7467 7466 7430 7610 + 7612 7468 7432 7611 + 7432 7468 7431 7611 + 7468 7467 7431 7611 + 7613 7469 7433 7612 + 7433 7469 7432 7612 + 7469 7468 7432 7612 + 7614 7470 7434 7613 + 7434 7470 7433 7613 + 7470 7469 7433 7613 + 7615 7471 7435 7614 + 7435 7471 7434 7614 + 7471 7470 7434 7614 + 7616 7472 7436 7615 + 7436 7472 7435 7615 + 7472 7471 7435 7615 + 7617 7473 7437 7616 + 7437 7473 7436 7616 + 7473 7472 7436 7616 + 7618 7474 7438 7617 + 7438 7474 7437 7617 + 7474 7473 7437 7617 + 7619 7475 7439 7618 + 7439 7475 7438 7618 + 7475 7474 7438 7618 + 7620 7476 7440 7619 + 7440 7476 7439 7619 + 7476 7475 7439 7619 + 7621 7477 7441 7620 + 7441 7477 7440 7620 + 7477 7476 7440 7620 + 7622 7478 7442 7621 + 7442 7478 7441 7621 + 7478 7477 7441 7621 + 7623 7479 7443 7622 + 7443 7479 7442 7622 + 7479 7478 7442 7622 + 7624 7480 7444 7623 + 7444 7480 7443 7623 + 7480 7479 7443 7623 + 7625 7481 7445 7624 + 7445 7481 7444 7624 + 7481 7480 7444 7624 + 7626 7482 7446 7625 + 7446 7482 7445 7625 + 7482 7481 7445 7625 + 7627 7483 7447 7626 + 7447 7483 7446 7626 + 7483 7482 7446 7626 + 7628 7484 7448 7627 + 7448 7484 7447 7627 + 7484 7483 7447 7627 + 7629 7485 7449 7628 + 7449 7485 7448 7628 + 7485 7484 7448 7628 + 7630 7486 7450 7629 + 7450 7486 7449 7629 + 7486 7485 7449 7629 + 7631 7487 7451 7630 + 7451 7487 7450 7630 + 7487 7486 7450 7630 + 7632 7488 7452 7631 + 7452 7488 7451 7631 + 7488 7487 7451 7631 + 7633 7489 7453 7632 + 7453 7489 7452 7632 + 7489 7488 7452 7632 + 7634 7490 7454 7633 + 7454 7490 7453 7633 + 7490 7489 7453 7633 + 7635 7491 7455 207 + 7455 7491 202 207 + 7491 203 202 207 + 7636 7492 7456 7635 + 7456 7492 7455 7635 + 7492 7491 7455 7635 + 7637 7493 7457 7636 + 7457 7493 7456 7636 + 7493 7492 7456 7636 + 7638 7494 7458 7637 + 7458 7494 7457 7637 + 7494 7493 7457 7637 + 7639 7495 7459 7638 + 7459 7495 7458 7638 + 7495 7494 7458 7638 + 7640 7496 7460 7639 + 7460 7496 7459 7639 + 7496 7495 7459 7639 + 7641 7497 7461 7640 + 7461 7497 7460 7640 + 7497 7496 7460 7640 + 7642 7498 7462 7641 + 7462 7498 7461 7641 + 7498 7497 7461 7641 + 7643 7499 7463 7642 + 7463 7499 7462 7642 + 7499 7498 7462 7642 + 7644 7500 7464 7643 + 7464 7500 7463 7643 + 7500 7499 7463 7643 + 7645 7501 7465 7644 + 7465 7501 7464 7644 + 7501 7500 7464 7644 + 7646 7502 7466 7645 + 7466 7502 7465 7645 + 7502 7501 7465 7645 + 7647 7503 7467 7646 + 7467 7503 7466 7646 + 7503 7502 7466 7646 + 7648 7504 7468 7647 + 7468 7504 7467 7647 + 7504 7503 7467 7647 + 7649 7505 7469 7648 + 7469 7505 7468 7648 + 7505 7504 7468 7648 + 7650 7506 7470 7649 + 7470 7506 7469 7649 + 7506 7505 7469 7649 + 7651 7507 7471 7650 + 7471 7507 7470 7650 + 7507 7506 7470 7650 + 7652 7508 7472 7651 + 7472 7508 7471 7651 + 7508 7507 7471 7651 + 7653 7509 7473 7652 + 7473 7509 7472 7652 + 7509 7508 7472 7652 + 7654 7510 7474 7653 + 7474 7510 7473 7653 + 7510 7509 7473 7653 + 7655 7511 7475 7654 + 7475 7511 7474 7654 + 7511 7510 7474 7654 + 7656 7512 7476 7655 + 7476 7512 7475 7655 + 7512 7511 7475 7655 + 7657 7513 7477 7656 + 7477 7513 7476 7656 + 7513 7512 7476 7656 + 7658 7514 7478 7657 + 7478 7514 7477 7657 + 7514 7513 7477 7657 + 7659 7515 7479 7658 + 7479 7515 7478 7658 + 7515 7514 7478 7658 + 7660 7516 7480 7659 + 7480 7516 7479 7659 + 7516 7515 7479 7659 + 7661 7517 7481 7660 + 7481 7517 7480 7660 + 7517 7516 7480 7660 + 7662 7518 7482 7661 + 7482 7518 7481 7661 + 7518 7517 7481 7661 + 7663 7519 7483 7662 + 7483 7519 7482 7662 + 7519 7518 7482 7662 + 7664 7520 7484 7663 + 7484 7520 7483 7663 + 7520 7519 7483 7663 + 7665 7521 7485 7664 + 7485 7521 7484 7664 + 7521 7520 7484 7664 + 7666 7522 7486 7665 + 7486 7522 7485 7665 + 7522 7521 7485 7665 + 7667 7523 7487 7666 + 7487 7523 7486 7666 + 7523 7522 7486 7666 + 7668 7524 7488 7667 + 7488 7524 7487 7667 + 7524 7523 7487 7667 + 7669 7525 7489 7668 + 7489 7525 7488 7668 + 7525 7524 7488 7668 + 7670 7526 7490 7669 + 7490 7526 7489 7669 + 7526 7525 7489 7669 + 193 107 91 7131 + 4035 3459 91 7131 + 4035 91 107 7131 + 7131 4035 3459 7132 + 4036 3460 3459 7132 + 4036 3459 4035 7132 + 7132 4036 3460 7133 + 4037 3461 3460 7133 + 4037 3460 4036 7133 + 7133 4037 3461 7134 + 4038 3462 3461 7134 + 4038 3461 4037 7134 + 7134 4038 3462 7135 + 4039 3463 3462 7135 + 4039 3462 4038 7135 + 7135 4039 3463 7136 + 4040 3464 3463 7136 + 4040 3463 4039 7136 + 7136 4040 3464 7137 + 4041 3465 3464 7137 + 4041 3464 4040 7137 + 7137 4041 3465 7138 + 4042 3466 3465 7138 + 4042 3465 4041 7138 + 7138 4042 3466 7139 + 4043 3467 3466 7139 + 4043 3466 4042 7139 + 7139 4043 3467 7140 + 4044 3468 3467 7140 + 4044 3467 4043 7140 + 7140 4044 3468 7141 + 4045 3469 3468 7141 + 4045 3468 4044 7141 + 7141 4045 3469 7142 + 4046 3470 3469 7142 + 4046 3469 4045 7142 + 7142 4046 3470 7143 + 4047 3471 3470 7143 + 4047 3470 4046 7143 + 7143 4047 3471 7144 + 4048 3472 3471 7144 + 4048 3471 4047 7144 + 7144 4048 3472 7145 + 4049 3473 3472 7145 + 4049 3472 4048 7145 + 7145 4049 3473 7146 + 4050 3474 3473 7146 + 4050 3473 4049 7146 + 7146 4050 3474 7147 + 4051 3475 3474 7147 + 4051 3474 4050 7147 + 7147 4051 3475 7148 + 4052 3476 3475 7148 + 4052 3475 4051 7148 + 7148 4052 3476 7149 + 4053 3477 3476 7149 + 4053 3476 4052 7149 + 7149 4053 3477 7150 + 4054 3478 3477 7150 + 4054 3477 4053 7150 + 7150 4054 3478 7151 + 4055 3479 3478 7151 + 4055 3478 4054 7151 + 7151 4055 3479 7152 + 4056 3480 3479 7152 + 4056 3479 4055 7152 + 7152 4056 3480 7153 + 4057 3481 3480 7153 + 4057 3480 4056 7153 + 7153 4057 3481 7154 + 4058 3482 3481 7154 + 4058 3481 4057 7154 + 7154 4058 3482 7155 + 4059 3483 3482 7155 + 4059 3482 4058 7155 + 7155 4059 3483 7156 + 4060 3484 3483 7156 + 4060 3483 4059 7156 + 7156 4060 3484 7157 + 4061 3485 3484 7157 + 4061 3484 4060 7157 + 7157 4061 3485 7158 + 4062 3486 3485 7158 + 4062 3485 4061 7158 + 7158 4062 3486 7159 + 4063 3487 3486 7159 + 4063 3486 4062 7159 + 7159 4063 3487 7160 + 4064 3488 3487 7160 + 4064 3487 4063 7160 + 7160 4064 3488 7161 + 4065 3489 3488 7161 + 4065 3488 4064 7161 + 7161 4065 3489 7162 + 4066 3490 3489 7162 + 4066 3489 4065 7162 + 7162 4066 3490 7163 + 4067 3491 3490 7163 + 4067 3490 4066 7163 + 7163 4067 3491 7164 + 4068 3492 3491 7164 + 4068 3491 4067 7164 + 7164 4068 3492 7165 + 4069 3493 3492 7165 + 4069 3492 4068 7165 + 7165 4069 3493 7166 + 4070 3494 3493 7166 + 4070 3493 4069 7166 + 204 108 107 7527 + 4071 4035 107 7527 + 4071 107 108 7527 + 7527 4071 4035 7528 + 4072 4036 4035 7528 + 4072 4035 4071 7528 + 7528 4072 4036 7529 + 4073 4037 4036 7529 + 4073 4036 4072 7529 + 7529 4073 4037 7530 + 4074 4038 4037 7530 + 4074 4037 4073 7530 + 7530 4074 4038 7531 + 4075 4039 4038 7531 + 4075 4038 4074 7531 + 7531 4075 4039 7532 + 4076 4040 4039 7532 + 4076 4039 4075 7532 + 7532 4076 4040 7533 + 4077 4041 4040 7533 + 4077 4040 4076 7533 + 7533 4077 4041 7534 + 4078 4042 4041 7534 + 4078 4041 4077 7534 + 7534 4078 4042 7535 + 4079 4043 4042 7535 + 4079 4042 4078 7535 + 7535 4079 4043 7536 + 4080 4044 4043 7536 + 4080 4043 4079 7536 + 7536 4080 4044 7537 + 4081 4045 4044 7537 + 4081 4044 4080 7537 + 7537 4081 4045 7538 + 4082 4046 4045 7538 + 4082 4045 4081 7538 + 7538 4082 4046 7539 + 4083 4047 4046 7539 + 4083 4046 4082 7539 + 7539 4083 4047 7540 + 4084 4048 4047 7540 + 4084 4047 4083 7540 + 7540 4084 4048 7541 + 4085 4049 4048 7541 + 4085 4048 4084 7541 + 7541 4085 4049 7542 + 4086 4050 4049 7542 + 4086 4049 4085 7542 + 7542 4086 4050 7543 + 4087 4051 4050 7543 + 4087 4050 4086 7543 + 7543 4087 4051 7544 + 4088 4052 4051 7544 + 4088 4051 4087 7544 + 7544 4088 4052 7545 + 4089 4053 4052 7545 + 4089 4052 4088 7545 + 7545 4089 4053 7546 + 4090 4054 4053 7546 + 4090 4053 4089 7546 + 7546 4090 4054 7547 + 4091 4055 4054 7547 + 4091 4054 4090 7547 + 7547 4091 4055 7548 + 4092 4056 4055 7548 + 4092 4055 4091 7548 + 7548 4092 4056 7549 + 4093 4057 4056 7549 + 4093 4056 4092 7549 + 7549 4093 4057 7550 + 4094 4058 4057 7550 + 4094 4057 4093 7550 + 7550 4094 4058 7551 + 4095 4059 4058 7551 + 4095 4058 4094 7551 + 7551 4095 4059 7552 + 4096 4060 4059 7552 + 4096 4059 4095 7552 + 7552 4096 4060 7553 + 4097 4061 4060 7553 + 4097 4060 4096 7553 + 7553 4097 4061 7554 + 4098 4062 4061 7554 + 4098 4061 4097 7554 + 7554 4098 4062 7555 + 4099 4063 4062 7555 + 4099 4062 4098 7555 + 7555 4099 4063 7556 + 4100 4064 4063 7556 + 4100 4063 4099 7556 + 7556 4100 4064 7557 + 4101 4065 4064 7557 + 4101 4064 4100 7557 + 7557 4101 4065 7558 + 4102 4066 4065 7558 + 4102 4065 4101 7558 + 7558 4102 4066 7559 + 4103 4067 4066 7559 + 4103 4066 4102 7559 + 7559 4103 4067 7560 + 4104 4068 4067 7560 + 4104 4067 4103 7560 + 7560 4104 4068 7561 + 4105 4069 4068 7561 + 4105 4068 4104 7561 + 7561 4105 4069 7562 + 4106 4070 4069 7562 + 4106 4069 4105 7562 + 205 109 108 7563 + 4107 4071 108 7563 + 4107 108 109 7563 + 7563 4107 4071 7564 + 4108 4072 4071 7564 + 4108 4071 4107 7564 + 7564 4108 4072 7565 + 4109 4073 4072 7565 + 4109 4072 4108 7565 + 7565 4109 4073 7566 + 4110 4074 4073 7566 + 4110 4073 4109 7566 + 7566 4110 4074 7567 + 4111 4075 4074 7567 + 4111 4074 4110 7567 + 7567 4111 4075 7568 + 4112 4076 4075 7568 + 4112 4075 4111 7568 + 7568 4112 4076 7569 + 4113 4077 4076 7569 + 4113 4076 4112 7569 + 7569 4113 4077 7570 + 4114 4078 4077 7570 + 4114 4077 4113 7570 + 7570 4114 4078 7571 + 4115 4079 4078 7571 + 4115 4078 4114 7571 + 7571 4115 4079 7572 + 4116 4080 4079 7572 + 4116 4079 4115 7572 + 7572 4116 4080 7573 + 4117 4081 4080 7573 + 4117 4080 4116 7573 + 7573 4117 4081 7574 + 4118 4082 4081 7574 + 4118 4081 4117 7574 + 7574 4118 4082 7575 + 4119 4083 4082 7575 + 4119 4082 4118 7575 + 7575 4119 4083 7576 + 4120 4084 4083 7576 + 4120 4083 4119 7576 + 7576 4120 4084 7577 + 4121 4085 4084 7577 + 4121 4084 4120 7577 + 7577 4121 4085 7578 + 4122 4086 4085 7578 + 4122 4085 4121 7578 + 7578 4122 4086 7579 + 4123 4087 4086 7579 + 4123 4086 4122 7579 + 7579 4123 4087 7580 + 4124 4088 4087 7580 + 4124 4087 4123 7580 + 7580 4124 4088 7581 + 4125 4089 4088 7581 + 4125 4088 4124 7581 + 7581 4125 4089 7582 + 4126 4090 4089 7582 + 4126 4089 4125 7582 + 7582 4126 4090 7583 + 4127 4091 4090 7583 + 4127 4090 4126 7583 + 7583 4127 4091 7584 + 4128 4092 4091 7584 + 4128 4091 4127 7584 + 7584 4128 4092 7585 + 4129 4093 4092 7585 + 4129 4092 4128 7585 + 7585 4129 4093 7586 + 4130 4094 4093 7586 + 4130 4093 4129 7586 + 7586 4130 4094 7587 + 4131 4095 4094 7587 + 4131 4094 4130 7587 + 7587 4131 4095 7588 + 4132 4096 4095 7588 + 4132 4095 4131 7588 + 7588 4132 4096 7589 + 4133 4097 4096 7589 + 4133 4096 4132 7589 + 7589 4133 4097 7590 + 4134 4098 4097 7590 + 4134 4097 4133 7590 + 7590 4134 4098 7591 + 4135 4099 4098 7591 + 4135 4098 4134 7591 + 7591 4135 4099 7592 + 4136 4100 4099 7592 + 4136 4099 4135 7592 + 7592 4136 4100 7593 + 4137 4101 4100 7593 + 4137 4100 4136 7593 + 7593 4137 4101 7594 + 4138 4102 4101 7594 + 4138 4101 4137 7594 + 7594 4138 4102 7595 + 4139 4103 4102 7595 + 4139 4102 4138 7595 + 7595 4139 4103 7596 + 4140 4104 4103 7596 + 4140 4103 4139 7596 + 7596 4140 4104 7597 + 4141 4105 4104 7597 + 4141 4104 4140 7597 + 7597 4141 4105 7598 + 4142 4106 4105 7598 + 4142 4105 4141 7598 + 206 110 109 7599 + 4143 4107 109 7599 + 4143 109 110 7599 + 7599 4143 4107 7600 + 4144 4108 4107 7600 + 4144 4107 4143 7600 + 7600 4144 4108 7601 + 4145 4109 4108 7601 + 4145 4108 4144 7601 + 7601 4145 4109 7602 + 4146 4110 4109 7602 + 4146 4109 4145 7602 + 7602 4146 4110 7603 + 4147 4111 4110 7603 + 4147 4110 4146 7603 + 7603 4147 4111 7604 + 4148 4112 4111 7604 + 4148 4111 4147 7604 + 7604 4148 4112 7605 + 4149 4113 4112 7605 + 4149 4112 4148 7605 + 7605 4149 4113 7606 + 4150 4114 4113 7606 + 4150 4113 4149 7606 + 7606 4150 4114 7607 + 4151 4115 4114 7607 + 4151 4114 4150 7607 + 7607 4151 4115 7608 + 4152 4116 4115 7608 + 4152 4115 4151 7608 + 7608 4152 4116 7609 + 4153 4117 4116 7609 + 4153 4116 4152 7609 + 7609 4153 4117 7610 + 4154 4118 4117 7610 + 4154 4117 4153 7610 + 7610 4154 4118 7611 + 4155 4119 4118 7611 + 4155 4118 4154 7611 + 7611 4155 4119 7612 + 4156 4120 4119 7612 + 4156 4119 4155 7612 + 7612 4156 4120 7613 + 4157 4121 4120 7613 + 4157 4120 4156 7613 + 7613 4157 4121 7614 + 4158 4122 4121 7614 + 4158 4121 4157 7614 + 7614 4158 4122 7615 + 4159 4123 4122 7615 + 4159 4122 4158 7615 + 7615 4159 4123 7616 + 4160 4124 4123 7616 + 4160 4123 4159 7616 + 7616 4160 4124 7617 + 4161 4125 4124 7617 + 4161 4124 4160 7617 + 7617 4161 4125 7618 + 4162 4126 4125 7618 + 4162 4125 4161 7618 + 7618 4162 4126 7619 + 4163 4127 4126 7619 + 4163 4126 4162 7619 + 7619 4163 4127 7620 + 4164 4128 4127 7620 + 4164 4127 4163 7620 + 7620 4164 4128 7621 + 4165 4129 4128 7621 + 4165 4128 4164 7621 + 7621 4165 4129 7622 + 4166 4130 4129 7622 + 4166 4129 4165 7622 + 7622 4166 4130 7623 + 4167 4131 4130 7623 + 4167 4130 4166 7623 + 7623 4167 4131 7624 + 4168 4132 4131 7624 + 4168 4131 4167 7624 + 7624 4168 4132 7625 + 4169 4133 4132 7625 + 4169 4132 4168 7625 + 7625 4169 4133 7626 + 4170 4134 4133 7626 + 4170 4133 4169 7626 + 7626 4170 4134 7627 + 4171 4135 4134 7627 + 4171 4134 4170 7627 + 7627 4171 4135 7628 + 4172 4136 4135 7628 + 4172 4135 4171 7628 + 7628 4172 4136 7629 + 4173 4137 4136 7629 + 4173 4136 4172 7629 + 7629 4173 4137 7630 + 4174 4138 4137 7630 + 4174 4137 4173 7630 + 7630 4174 4138 7631 + 4175 4139 4138 7631 + 4175 4138 4174 7631 + 7631 4175 4139 7632 + 4176 4140 4139 7632 + 4176 4139 4175 7632 + 7632 4176 4140 7633 + 4177 4141 4140 7633 + 4177 4140 4176 7633 + 7633 4177 4141 7634 + 4178 4142 4141 7634 + 4178 4141 4177 7634 + 207 111 110 7635 + 4179 4143 110 7635 + 4179 110 111 7635 + 7635 4179 4143 7636 + 4180 4144 4143 7636 + 4180 4143 4179 7636 + 7636 4180 4144 7637 + 4181 4145 4144 7637 + 4181 4144 4180 7637 + 7637 4181 4145 7638 + 4182 4146 4145 7638 + 4182 4145 4181 7638 + 7638 4182 4146 7639 + 4183 4147 4146 7639 + 4183 4146 4182 7639 + 7639 4183 4147 7640 + 4184 4148 4147 7640 + 4184 4147 4183 7640 + 7640 4184 4148 7641 + 4185 4149 4148 7641 + 4185 4148 4184 7641 + 7641 4185 4149 7642 + 4186 4150 4149 7642 + 4186 4149 4185 7642 + 7642 4186 4150 7643 + 4187 4151 4150 7643 + 4187 4150 4186 7643 + 7643 4187 4151 7644 + 4188 4152 4151 7644 + 4188 4151 4187 7644 + 7644 4188 4152 7645 + 4189 4153 4152 7645 + 4189 4152 4188 7645 + 7645 4189 4153 7646 + 4190 4154 4153 7646 + 4190 4153 4189 7646 + 7646 4190 4154 7647 + 4191 4155 4154 7647 + 4191 4154 4190 7647 + 7647 4191 4155 7648 + 4192 4156 4155 7648 + 4192 4155 4191 7648 + 7648 4192 4156 7649 + 4193 4157 4156 7649 + 4193 4156 4192 7649 + 7649 4193 4157 7650 + 4194 4158 4157 7650 + 4194 4157 4193 7650 + 7650 4194 4158 7651 + 4195 4159 4158 7651 + 4195 4158 4194 7651 + 7651 4195 4159 7652 + 4196 4160 4159 7652 + 4196 4159 4195 7652 + 7652 4196 4160 7653 + 4197 4161 4160 7653 + 4197 4160 4196 7653 + 7653 4197 4161 7654 + 4198 4162 4161 7654 + 4198 4161 4197 7654 + 7654 4198 4162 7655 + 4199 4163 4162 7655 + 4199 4162 4198 7655 + 7655 4199 4163 7656 + 4200 4164 4163 7656 + 4200 4163 4199 7656 + 7656 4200 4164 7657 + 4201 4165 4164 7657 + 4201 4164 4200 7657 + 7657 4201 4165 7658 + 4202 4166 4165 7658 + 4202 4165 4201 7658 + 7658 4202 4166 7659 + 4203 4167 4166 7659 + 4203 4166 4202 7659 + 7659 4203 4167 7660 + 4204 4168 4167 7660 + 4204 4167 4203 7660 + 7660 4204 4168 7661 + 4205 4169 4168 7661 + 4205 4168 4204 7661 + 7661 4205 4169 7662 + 4206 4170 4169 7662 + 4206 4169 4205 7662 + 7662 4206 4170 7663 + 4207 4171 4170 7663 + 4207 4170 4206 7663 + 7663 4207 4171 7664 + 4208 4172 4171 7664 + 4208 4171 4207 7664 + 7664 4208 4172 7665 + 4209 4173 4172 7665 + 4209 4172 4208 7665 + 7665 4209 4173 7666 + 4210 4174 4173 7666 + 4210 4173 4209 7666 + 7666 4210 4174 7667 + 4211 4175 4174 7667 + 4211 4174 4210 7667 + 7667 4211 4175 7668 + 4212 4176 4175 7668 + 4212 4175 4211 7668 + 7668 4212 4176 7669 + 4213 4177 4176 7669 + 4213 4176 4212 7669 + 7669 4213 4177 7670 + 4214 4178 4177 7670 + 4214 4177 4213 7670 + 208 112 111 7671 + 4215 4179 111 7671 + 4215 111 112 7671 + 7671 4215 4179 7672 + 4216 4180 4179 7672 + 4216 4179 4215 7672 + 7672 4216 4180 7673 + 4217 4181 4180 7673 + 4217 4180 4216 7673 + 7673 4217 4181 7674 + 4218 4182 4181 7674 + 4218 4181 4217 7674 + 7674 4218 4182 7675 + 4219 4183 4182 7675 + 4219 4182 4218 7675 + 7675 4219 4183 7676 + 4220 4184 4183 7676 + 4220 4183 4219 7676 + 7676 4220 4184 7677 + 4221 4185 4184 7677 + 4221 4184 4220 7677 + 7677 4221 4185 7678 + 4222 4186 4185 7678 + 4222 4185 4221 7678 + 7678 4222 4186 7679 + 4223 4187 4186 7679 + 4223 4186 4222 7679 + 7679 4223 4187 7680 + 4224 4188 4187 7680 + 4224 4187 4223 7680 + 7680 4224 4188 7681 + 4225 4189 4188 7681 + 4225 4188 4224 7681 + 7681 4225 4189 7682 + 4226 4190 4189 7682 + 4226 4189 4225 7682 + 7682 4226 4190 7683 + 4227 4191 4190 7683 + 4227 4190 4226 7683 + 7683 4227 4191 7684 + 4228 4192 4191 7684 + 4228 4191 4227 7684 + 7684 4228 4192 7685 + 4229 4193 4192 7685 + 4229 4192 4228 7685 + 7685 4229 4193 7686 + 4230 4194 4193 7686 + 4230 4193 4229 7686 + 7686 4230 4194 7687 + 4231 4195 4194 7687 + 4231 4194 4230 7687 + 7687 4231 4195 7688 + 4232 4196 4195 7688 + 4232 4195 4231 7688 + 7688 4232 4196 7689 + 4233 4197 4196 7689 + 4233 4196 4232 7689 + 7689 4233 4197 7690 + 4234 4198 4197 7690 + 4234 4197 4233 7690 + 7690 4234 4198 7691 + 4235 4199 4198 7691 + 4235 4198 4234 7691 + 7691 4235 4199 7692 + 4236 4200 4199 7692 + 4236 4199 4235 7692 + 7692 4236 4200 7693 + 4237 4201 4200 7693 + 4237 4200 4236 7693 + 7693 4237 4201 7694 + 4238 4202 4201 7694 + 4238 4201 4237 7694 + 7694 4238 4202 7695 + 4239 4203 4202 7695 + 4239 4202 4238 7695 + 7695 4239 4203 7696 + 4240 4204 4203 7696 + 4240 4203 4239 7696 + 7696 4240 4204 7697 + 4241 4205 4204 7697 + 4241 4204 4240 7697 + 7697 4241 4205 7698 + 4242 4206 4205 7698 + 4242 4205 4241 7698 + 7698 4242 4206 7699 + 4243 4207 4206 7699 + 4243 4206 4242 7699 + 7699 4243 4207 7700 + 4244 4208 4207 7700 + 4244 4207 4243 7700 + 7700 4244 4208 7701 + 4245 4209 4208 7701 + 4245 4208 4244 7701 + 7701 4245 4209 7702 + 4246 4210 4209 7702 + 4246 4209 4245 7702 + 7702 4246 4210 7703 + 4247 4211 4210 7703 + 4247 4210 4246 7703 + 7703 4247 4211 7704 + 4248 4212 4211 7704 + 4248 4211 4247 7704 + 7704 4248 4212 7705 + 4249 4213 4212 7705 + 4249 4212 4248 7705 + 7705 4249 4213 7706 + 4250 4214 4213 7706 + 4250 4213 4249 7706 + 4035 7527 7131 107 + 7131 7527 193 107 + 7527 204 193 107 + 4036 7528 7132 4035 + 7132 7528 7131 4035 + 7528 7527 7131 4035 + 4037 7529 7133 4036 + 7133 7529 7132 4036 + 7529 7528 7132 4036 + 4038 7530 7134 4037 + 7134 7530 7133 4037 + 7530 7529 7133 4037 + 4039 7531 7135 4038 + 7135 7531 7134 4038 + 7531 7530 7134 4038 + 4040 7532 7136 4039 + 7136 7532 7135 4039 + 7532 7531 7135 4039 + 4041 7533 7137 4040 + 7137 7533 7136 4040 + 7533 7532 7136 4040 + 4042 7534 7138 4041 + 7138 7534 7137 4041 + 7534 7533 7137 4041 + 4043 7535 7139 4042 + 7139 7535 7138 4042 + 7535 7534 7138 4042 + 4044 7536 7140 4043 + 7140 7536 7139 4043 + 7536 7535 7139 4043 + 4045 7537 7141 4044 + 7141 7537 7140 4044 + 7537 7536 7140 4044 + 4046 7538 7142 4045 + 7142 7538 7141 4045 + 7538 7537 7141 4045 + 4047 7539 7143 4046 + 7143 7539 7142 4046 + 7539 7538 7142 4046 + 4048 7540 7144 4047 + 7144 7540 7143 4047 + 7540 7539 7143 4047 + 4049 7541 7145 4048 + 7145 7541 7144 4048 + 7541 7540 7144 4048 + 4050 7542 7146 4049 + 7146 7542 7145 4049 + 7542 7541 7145 4049 + 4051 7543 7147 4050 + 7147 7543 7146 4050 + 7543 7542 7146 4050 + 4052 7544 7148 4051 + 7148 7544 7147 4051 + 7544 7543 7147 4051 + 4053 7545 7149 4052 + 7149 7545 7148 4052 + 7545 7544 7148 4052 + 4054 7546 7150 4053 + 7150 7546 7149 4053 + 7546 7545 7149 4053 + 4055 7547 7151 4054 + 7151 7547 7150 4054 + 7547 7546 7150 4054 + 4056 7548 7152 4055 + 7152 7548 7151 4055 + 7548 7547 7151 4055 + 4057 7549 7153 4056 + 7153 7549 7152 4056 + 7549 7548 7152 4056 + 4058 7550 7154 4057 + 7154 7550 7153 4057 + 7550 7549 7153 4057 + 4059 7551 7155 4058 + 7155 7551 7154 4058 + 7551 7550 7154 4058 + 4060 7552 7156 4059 + 7156 7552 7155 4059 + 7552 7551 7155 4059 + 4061 7553 7157 4060 + 7157 7553 7156 4060 + 7553 7552 7156 4060 + 4062 7554 7158 4061 + 7158 7554 7157 4061 + 7554 7553 7157 4061 + 4063 7555 7159 4062 + 7159 7555 7158 4062 + 7555 7554 7158 4062 + 4064 7556 7160 4063 + 7160 7556 7159 4063 + 7556 7555 7159 4063 + 4065 7557 7161 4064 + 7161 7557 7160 4064 + 7557 7556 7160 4064 + 4066 7558 7162 4065 + 7162 7558 7161 4065 + 7558 7557 7161 4065 + 4067 7559 7163 4066 + 7163 7559 7162 4066 + 7559 7558 7162 4066 + 4068 7560 7164 4067 + 7164 7560 7163 4067 + 7560 7559 7163 4067 + 4069 7561 7165 4068 + 7165 7561 7164 4068 + 7561 7560 7164 4068 + 4070 7562 7166 4069 + 7166 7562 7165 4069 + 7562 7561 7165 4069 + 4071 7563 7527 108 + 7527 7563 204 108 + 7563 205 204 108 + 4072 7564 7528 4071 + 7528 7564 7527 4071 + 7564 7563 7527 4071 + 4073 7565 7529 4072 + 7529 7565 7528 4072 + 7565 7564 7528 4072 + 4074 7566 7530 4073 + 7530 7566 7529 4073 + 7566 7565 7529 4073 + 4075 7567 7531 4074 + 7531 7567 7530 4074 + 7567 7566 7530 4074 + 4076 7568 7532 4075 + 7532 7568 7531 4075 + 7568 7567 7531 4075 + 4077 7569 7533 4076 + 7533 7569 7532 4076 + 7569 7568 7532 4076 + 4078 7570 7534 4077 + 7534 7570 7533 4077 + 7570 7569 7533 4077 + 4079 7571 7535 4078 + 7535 7571 7534 4078 + 7571 7570 7534 4078 + 4080 7572 7536 4079 + 7536 7572 7535 4079 + 7572 7571 7535 4079 + 4081 7573 7537 4080 + 7537 7573 7536 4080 + 7573 7572 7536 4080 + 4082 7574 7538 4081 + 7538 7574 7537 4081 + 7574 7573 7537 4081 + 4083 7575 7539 4082 + 7539 7575 7538 4082 + 7575 7574 7538 4082 + 4084 7576 7540 4083 + 7540 7576 7539 4083 + 7576 7575 7539 4083 + 4085 7577 7541 4084 + 7541 7577 7540 4084 + 7577 7576 7540 4084 + 4086 7578 7542 4085 + 7542 7578 7541 4085 + 7578 7577 7541 4085 + 4087 7579 7543 4086 + 7543 7579 7542 4086 + 7579 7578 7542 4086 + 4088 7580 7544 4087 + 7544 7580 7543 4087 + 7580 7579 7543 4087 + 4089 7581 7545 4088 + 7545 7581 7544 4088 + 7581 7580 7544 4088 + 4090 7582 7546 4089 + 7546 7582 7545 4089 + 7582 7581 7545 4089 + 4091 7583 7547 4090 + 7547 7583 7546 4090 + 7583 7582 7546 4090 + 4092 7584 7548 4091 + 7548 7584 7547 4091 + 7584 7583 7547 4091 + 4093 7585 7549 4092 + 7549 7585 7548 4092 + 7585 7584 7548 4092 + 4094 7586 7550 4093 + 7550 7586 7549 4093 + 7586 7585 7549 4093 + 4095 7587 7551 4094 + 7551 7587 7550 4094 + 7587 7586 7550 4094 + 4096 7588 7552 4095 + 7552 7588 7551 4095 + 7588 7587 7551 4095 + 4097 7589 7553 4096 + 7553 7589 7552 4096 + 7589 7588 7552 4096 + 4098 7590 7554 4097 + 7554 7590 7553 4097 + 7590 7589 7553 4097 + 4099 7591 7555 4098 + 7555 7591 7554 4098 + 7591 7590 7554 4098 + 4100 7592 7556 4099 + 7556 7592 7555 4099 + 7592 7591 7555 4099 + 4101 7593 7557 4100 + 7557 7593 7556 4100 + 7593 7592 7556 4100 + 4102 7594 7558 4101 + 7558 7594 7557 4101 + 7594 7593 7557 4101 + 4103 7595 7559 4102 + 7559 7595 7558 4102 + 7595 7594 7558 4102 + 4104 7596 7560 4103 + 7560 7596 7559 4103 + 7596 7595 7559 4103 + 4105 7597 7561 4104 + 7561 7597 7560 4104 + 7597 7596 7560 4104 + 4106 7598 7562 4105 + 7562 7598 7561 4105 + 7598 7597 7561 4105 + 4107 7599 7563 109 + 7563 7599 205 109 + 7599 206 205 109 + 4108 7600 7564 4107 + 7564 7600 7563 4107 + 7600 7599 7563 4107 + 4109 7601 7565 4108 + 7565 7601 7564 4108 + 7601 7600 7564 4108 + 4110 7602 7566 4109 + 7566 7602 7565 4109 + 7602 7601 7565 4109 + 4111 7603 7567 4110 + 7567 7603 7566 4110 + 7603 7602 7566 4110 + 4112 7604 7568 4111 + 7568 7604 7567 4111 + 7604 7603 7567 4111 + 4113 7605 7569 4112 + 7569 7605 7568 4112 + 7605 7604 7568 4112 + 4114 7606 7570 4113 + 7570 7606 7569 4113 + 7606 7605 7569 4113 + 4115 7607 7571 4114 + 7571 7607 7570 4114 + 7607 7606 7570 4114 + 4116 7608 7572 4115 + 7572 7608 7571 4115 + 7608 7607 7571 4115 + 4117 7609 7573 4116 + 7573 7609 7572 4116 + 7609 7608 7572 4116 + 4118 7610 7574 4117 + 7574 7610 7573 4117 + 7610 7609 7573 4117 + 4119 7611 7575 4118 + 7575 7611 7574 4118 + 7611 7610 7574 4118 + 4120 7612 7576 4119 + 7576 7612 7575 4119 + 7612 7611 7575 4119 + 4121 7613 7577 4120 + 7577 7613 7576 4120 + 7613 7612 7576 4120 + 4122 7614 7578 4121 + 7578 7614 7577 4121 + 7614 7613 7577 4121 + 4123 7615 7579 4122 + 7579 7615 7578 4122 + 7615 7614 7578 4122 + 4124 7616 7580 4123 + 7580 7616 7579 4123 + 7616 7615 7579 4123 + 4125 7617 7581 4124 + 7581 7617 7580 4124 + 7617 7616 7580 4124 + 4126 7618 7582 4125 + 7582 7618 7581 4125 + 7618 7617 7581 4125 + 4127 7619 7583 4126 + 7583 7619 7582 4126 + 7619 7618 7582 4126 + 4128 7620 7584 4127 + 7584 7620 7583 4127 + 7620 7619 7583 4127 + 4129 7621 7585 4128 + 7585 7621 7584 4128 + 7621 7620 7584 4128 + 4130 7622 7586 4129 + 7586 7622 7585 4129 + 7622 7621 7585 4129 + 4131 7623 7587 4130 + 7587 7623 7586 4130 + 7623 7622 7586 4130 + 4132 7624 7588 4131 + 7588 7624 7587 4131 + 7624 7623 7587 4131 + 4133 7625 7589 4132 + 7589 7625 7588 4132 + 7625 7624 7588 4132 + 4134 7626 7590 4133 + 7590 7626 7589 4133 + 7626 7625 7589 4133 + 4135 7627 7591 4134 + 7591 7627 7590 4134 + 7627 7626 7590 4134 + 4136 7628 7592 4135 + 7592 7628 7591 4135 + 7628 7627 7591 4135 + 4137 7629 7593 4136 + 7593 7629 7592 4136 + 7629 7628 7592 4136 + 4138 7630 7594 4137 + 7594 7630 7593 4137 + 7630 7629 7593 4137 + 4139 7631 7595 4138 + 7595 7631 7594 4138 + 7631 7630 7594 4138 + 4140 7632 7596 4139 + 7596 7632 7595 4139 + 7632 7631 7595 4139 + 4141 7633 7597 4140 + 7597 7633 7596 4140 + 7633 7632 7596 4140 + 4142 7634 7598 4141 + 7598 7634 7597 4141 + 7634 7633 7597 4141 + 4143 7635 7599 110 + 7599 7635 206 110 + 7635 207 206 110 + 4144 7636 7600 4143 + 7600 7636 7599 4143 + 7636 7635 7599 4143 + 4145 7637 7601 4144 + 7601 7637 7600 4144 + 7637 7636 7600 4144 + 4146 7638 7602 4145 + 7602 7638 7601 4145 + 7638 7637 7601 4145 + 4147 7639 7603 4146 + 7603 7639 7602 4146 + 7639 7638 7602 4146 + 4148 7640 7604 4147 + 7604 7640 7603 4147 + 7640 7639 7603 4147 + 4149 7641 7605 4148 + 7605 7641 7604 4148 + 7641 7640 7604 4148 + 4150 7642 7606 4149 + 7606 7642 7605 4149 + 7642 7641 7605 4149 + 4151 7643 7607 4150 + 7607 7643 7606 4150 + 7643 7642 7606 4150 + 4152 7644 7608 4151 + 7608 7644 7607 4151 + 7644 7643 7607 4151 + 4153 7645 7609 4152 + 7609 7645 7608 4152 + 7645 7644 7608 4152 + 4154 7646 7610 4153 + 7610 7646 7609 4153 + 7646 7645 7609 4153 + 4155 7647 7611 4154 + 7611 7647 7610 4154 + 7647 7646 7610 4154 + 4156 7648 7612 4155 + 7612 7648 7611 4155 + 7648 7647 7611 4155 + 4157 7649 7613 4156 + 7613 7649 7612 4156 + 7649 7648 7612 4156 + 4158 7650 7614 4157 + 7614 7650 7613 4157 + 7650 7649 7613 4157 + 4159 7651 7615 4158 + 7615 7651 7614 4158 + 7651 7650 7614 4158 + 4160 7652 7616 4159 + 7616 7652 7615 4159 + 7652 7651 7615 4159 + 4161 7653 7617 4160 + 7617 7653 7616 4160 + 7653 7652 7616 4160 + 4162 7654 7618 4161 + 7618 7654 7617 4161 + 7654 7653 7617 4161 + 4163 7655 7619 4162 + 7619 7655 7618 4162 + 7655 7654 7618 4162 + 4164 7656 7620 4163 + 7620 7656 7619 4163 + 7656 7655 7619 4163 + 4165 7657 7621 4164 + 7621 7657 7620 4164 + 7657 7656 7620 4164 + 4166 7658 7622 4165 + 7622 7658 7621 4165 + 7658 7657 7621 4165 + 4167 7659 7623 4166 + 7623 7659 7622 4166 + 7659 7658 7622 4166 + 4168 7660 7624 4167 + 7624 7660 7623 4167 + 7660 7659 7623 4167 + 4169 7661 7625 4168 + 7625 7661 7624 4168 + 7661 7660 7624 4168 + 4170 7662 7626 4169 + 7626 7662 7625 4169 + 7662 7661 7625 4169 + 4171 7663 7627 4170 + 7627 7663 7626 4170 + 7663 7662 7626 4170 + 4172 7664 7628 4171 + 7628 7664 7627 4171 + 7664 7663 7627 4171 + 4173 7665 7629 4172 + 7629 7665 7628 4172 + 7665 7664 7628 4172 + 4174 7666 7630 4173 + 7630 7666 7629 4173 + 7666 7665 7629 4173 + 4175 7667 7631 4174 + 7631 7667 7630 4174 + 7667 7666 7630 4174 + 4176 7668 7632 4175 + 7632 7668 7631 4175 + 7668 7667 7631 4175 + 4177 7669 7633 4176 + 7633 7669 7632 4176 + 7669 7668 7632 4176 + 4178 7670 7634 4177 + 7634 7670 7633 4177 + 7670 7669 7633 4177 + 4179 7671 7635 111 + 7635 7671 207 111 + 7671 208 207 111 + 4180 7672 7636 4179 + 7636 7672 7635 4179 + 7672 7671 7635 4179 + 4181 7673 7637 4180 + 7637 7673 7636 4180 + 7673 7672 7636 4180 + 4182 7674 7638 4181 + 7638 7674 7637 4181 + 7674 7673 7637 4181 + 4183 7675 7639 4182 + 7639 7675 7638 4182 + 7675 7674 7638 4182 + 4184 7676 7640 4183 + 7640 7676 7639 4183 + 7676 7675 7639 4183 + 4185 7677 7641 4184 + 7641 7677 7640 4184 + 7677 7676 7640 4184 + 4186 7678 7642 4185 + 7642 7678 7641 4185 + 7678 7677 7641 4185 + 4187 7679 7643 4186 + 7643 7679 7642 4186 + 7679 7678 7642 4186 + 4188 7680 7644 4187 + 7644 7680 7643 4187 + 7680 7679 7643 4187 + 4189 7681 7645 4188 + 7645 7681 7644 4188 + 7681 7680 7644 4188 + 4190 7682 7646 4189 + 7646 7682 7645 4189 + 7682 7681 7645 4189 + 4191 7683 7647 4190 + 7647 7683 7646 4190 + 7683 7682 7646 4190 + 4192 7684 7648 4191 + 7648 7684 7647 4191 + 7684 7683 7647 4191 + 4193 7685 7649 4192 + 7649 7685 7648 4192 + 7685 7684 7648 4192 + 4194 7686 7650 4193 + 7650 7686 7649 4193 + 7686 7685 7649 4193 + 4195 7687 7651 4194 + 7651 7687 7650 4194 + 7687 7686 7650 4194 + 4196 7688 7652 4195 + 7652 7688 7651 4195 + 7688 7687 7651 4195 + 4197 7689 7653 4196 + 7653 7689 7652 4196 + 7689 7688 7652 4196 + 4198 7690 7654 4197 + 7654 7690 7653 4197 + 7690 7689 7653 4197 + 4199 7691 7655 4198 + 7655 7691 7654 4198 + 7691 7690 7654 4198 + 4200 7692 7656 4199 + 7656 7692 7655 4199 + 7692 7691 7655 4199 + 4201 7693 7657 4200 + 7657 7693 7656 4200 + 7693 7692 7656 4200 + 4202 7694 7658 4201 + 7658 7694 7657 4201 + 7694 7693 7657 4201 + 4203 7695 7659 4202 + 7659 7695 7658 4202 + 7695 7694 7658 4202 + 4204 7696 7660 4203 + 7660 7696 7659 4203 + 7696 7695 7659 4203 + 4205 7697 7661 4204 + 7661 7697 7660 4204 + 7697 7696 7660 4204 + 4206 7698 7662 4205 + 7662 7698 7661 4205 + 7698 7697 7661 4205 + 4207 7699 7663 4206 + 7663 7699 7662 4206 + 7699 7698 7662 4206 + 4208 7700 7664 4207 + 7664 7700 7663 4207 + 7700 7699 7663 4207 + 4209 7701 7665 4208 + 7665 7701 7664 4208 + 7701 7700 7664 4208 + 4210 7702 7666 4209 + 7666 7702 7665 4209 + 7702 7701 7665 4209 + 4211 7703 7667 4210 + 7667 7703 7666 4210 + 7703 7702 7666 4210 + 4212 7704 7668 4211 + 7668 7704 7667 4211 + 7704 7703 7667 4211 + 4213 7705 7669 4212 + 7669 7705 7668 4212 + 7705 7704 7668 4212 + 4214 7706 7670 4213 + 7670 7706 7669 4213 + 7706 7705 7669 4213 + 128 129 194 4791 + 4827 7167 194 4791 + 4827 194 129 4791 + 4791 4827 7167 4792 + 4828 7168 7167 4792 + 4828 7167 4827 4792 + 4792 4828 7168 4793 + 4829 7169 7168 4793 + 4829 7168 4828 4793 + 4793 4829 7169 4794 + 4830 7170 7169 4794 + 4830 7169 4829 4794 + 4794 4830 7170 4795 + 4831 7171 7170 4795 + 4831 7170 4830 4795 + 4795 4831 7171 4796 + 4832 7172 7171 4796 + 4832 7171 4831 4796 + 4796 4832 7172 4797 + 4833 7173 7172 4797 + 4833 7172 4832 4797 + 4797 4833 7173 4798 + 4834 7174 7173 4798 + 4834 7173 4833 4798 + 4798 4834 7174 4799 + 4835 7175 7174 4799 + 4835 7174 4834 4799 + 4799 4835 7175 4800 + 4836 7176 7175 4800 + 4836 7175 4835 4800 + 4800 4836 7176 4801 + 4837 7177 7176 4801 + 4837 7176 4836 4801 + 4801 4837 7177 4802 + 4838 7178 7177 4802 + 4838 7177 4837 4802 + 4802 4838 7178 4803 + 4839 7179 7178 4803 + 4839 7178 4838 4803 + 4803 4839 7179 4804 + 4840 7180 7179 4804 + 4840 7179 4839 4804 + 4804 4840 7180 4805 + 4841 7181 7180 4805 + 4841 7180 4840 4805 + 4805 4841 7181 4806 + 4842 7182 7181 4806 + 4842 7181 4841 4806 + 4806 4842 7182 4807 + 4843 7183 7182 4807 + 4843 7182 4842 4807 + 4807 4843 7183 4808 + 4844 7184 7183 4808 + 4844 7183 4843 4808 + 4808 4844 7184 4809 + 4845 7185 7184 4809 + 4845 7184 4844 4809 + 4809 4845 7185 4810 + 4846 7186 7185 4810 + 4846 7185 4845 4810 + 4810 4846 7186 4811 + 4847 7187 7186 4811 + 4847 7186 4846 4811 + 4811 4847 7187 4812 + 4848 7188 7187 4812 + 4848 7187 4847 4812 + 4812 4848 7188 4813 + 4849 7189 7188 4813 + 4849 7188 4848 4813 + 4813 4849 7189 4814 + 4850 7190 7189 4814 + 4850 7189 4849 4814 + 4814 4850 7190 4815 + 4851 7191 7190 4815 + 4851 7190 4850 4815 + 4815 4851 7191 4816 + 4852 7192 7191 4816 + 4852 7191 4851 4816 + 4816 4852 7192 4817 + 4853 7193 7192 4817 + 4853 7192 4852 4817 + 4817 4853 7193 4818 + 4854 7194 7193 4818 + 4854 7193 4853 4818 + 4818 4854 7194 4819 + 4855 7195 7194 4819 + 4855 7194 4854 4819 + 4819 4855 7195 4820 + 4856 7196 7195 4820 + 4856 7195 4855 4820 + 4820 4856 7196 4821 + 4857 7197 7196 4821 + 4857 7196 4856 4821 + 4821 4857 7197 4822 + 4858 7198 7197 4822 + 4858 7197 4857 4822 + 4822 4858 7198 4823 + 4859 7199 7198 4823 + 4859 7198 4858 4823 + 4823 4859 7199 4824 + 4860 7200 7199 4824 + 4860 7199 4859 4824 + 4824 4860 7200 4825 + 4861 7201 7200 4825 + 4861 7200 4860 4825 + 4825 4861 7201 4826 + 4862 7202 7201 4826 + 4862 7201 4861 4826 + 194 209 196 7167 + 7707 7239 196 7167 + 7707 196 209 7167 + 7167 7707 7239 7168 + 7708 7240 7239 7168 + 7708 7239 7707 7168 + 7168 7708 7240 7169 + 7709 7241 7240 7169 + 7709 7240 7708 7169 + 7169 7709 7241 7170 + 7710 7242 7241 7170 + 7710 7241 7709 7170 + 7170 7710 7242 7171 + 7711 7243 7242 7171 + 7711 7242 7710 7171 + 7171 7711 7243 7172 + 7712 7244 7243 7172 + 7712 7243 7711 7172 + 7172 7712 7244 7173 + 7713 7245 7244 7173 + 7713 7244 7712 7173 + 7173 7713 7245 7174 + 7714 7246 7245 7174 + 7714 7245 7713 7174 + 7174 7714 7246 7175 + 7715 7247 7246 7175 + 7715 7246 7714 7175 + 7175 7715 7247 7176 + 7716 7248 7247 7176 + 7716 7247 7715 7176 + 7176 7716 7248 7177 + 7717 7249 7248 7177 + 7717 7248 7716 7177 + 7177 7717 7249 7178 + 7718 7250 7249 7178 + 7718 7249 7717 7178 + 7178 7718 7250 7179 + 7719 7251 7250 7179 + 7719 7250 7718 7179 + 7179 7719 7251 7180 + 7720 7252 7251 7180 + 7720 7251 7719 7180 + 7180 7720 7252 7181 + 7721 7253 7252 7181 + 7721 7252 7720 7181 + 7181 7721 7253 7182 + 7722 7254 7253 7182 + 7722 7253 7721 7182 + 7182 7722 7254 7183 + 7723 7255 7254 7183 + 7723 7254 7722 7183 + 7183 7723 7255 7184 + 7724 7256 7255 7184 + 7724 7255 7723 7184 + 7184 7724 7256 7185 + 7725 7257 7256 7185 + 7725 7256 7724 7185 + 7185 7725 7257 7186 + 7726 7258 7257 7186 + 7726 7257 7725 7186 + 7186 7726 7258 7187 + 7727 7259 7258 7187 + 7727 7258 7726 7187 + 7187 7727 7259 7188 + 7728 7260 7259 7188 + 7728 7259 7727 7188 + 7188 7728 7260 7189 + 7729 7261 7260 7189 + 7729 7260 7728 7189 + 7189 7729 7261 7190 + 7730 7262 7261 7190 + 7730 7261 7729 7190 + 7190 7730 7262 7191 + 7731 7263 7262 7191 + 7731 7262 7730 7191 + 7191 7731 7263 7192 + 7732 7264 7263 7192 + 7732 7263 7731 7192 + 7192 7732 7264 7193 + 7733 7265 7264 7193 + 7733 7264 7732 7193 + 7193 7733 7265 7194 + 7734 7266 7265 7194 + 7734 7265 7733 7194 + 7194 7734 7266 7195 + 7735 7267 7266 7195 + 7735 7266 7734 7195 + 7195 7735 7267 7196 + 7736 7268 7267 7196 + 7736 7267 7735 7196 + 7196 7736 7268 7197 + 7737 7269 7268 7197 + 7737 7268 7736 7197 + 7197 7737 7269 7198 + 7738 7270 7269 7198 + 7738 7269 7737 7198 + 7198 7738 7270 7199 + 7739 7271 7270 7199 + 7739 7270 7738 7199 + 7199 7739 7271 7200 + 7740 7272 7271 7200 + 7740 7271 7739 7200 + 7200 7740 7272 7201 + 7741 7273 7272 7201 + 7741 7272 7740 7201 + 7201 7741 7273 7202 + 7742 7274 7273 7202 + 7742 7273 7741 7202 + 129 131 209 4827 + 4899 7707 209 4827 + 4899 209 131 4827 + 4827 4899 7707 4828 + 4900 7708 7707 4828 + 4900 7707 4899 4828 + 4828 4900 7708 4829 + 4901 7709 7708 4829 + 4901 7708 4900 4829 + 4829 4901 7709 4830 + 4902 7710 7709 4830 + 4902 7709 4901 4830 + 4830 4902 7710 4831 + 4903 7711 7710 4831 + 4903 7710 4902 4831 + 4831 4903 7711 4832 + 4904 7712 7711 4832 + 4904 7711 4903 4832 + 4832 4904 7712 4833 + 4905 7713 7712 4833 + 4905 7712 4904 4833 + 4833 4905 7713 4834 + 4906 7714 7713 4834 + 4906 7713 4905 4834 + 4834 4906 7714 4835 + 4907 7715 7714 4835 + 4907 7714 4906 4835 + 4835 4907 7715 4836 + 4908 7716 7715 4836 + 4908 7715 4907 4836 + 4836 4908 7716 4837 + 4909 7717 7716 4837 + 4909 7716 4908 4837 + 4837 4909 7717 4838 + 4910 7718 7717 4838 + 4910 7717 4909 4838 + 4838 4910 7718 4839 + 4911 7719 7718 4839 + 4911 7718 4910 4839 + 4839 4911 7719 4840 + 4912 7720 7719 4840 + 4912 7719 4911 4840 + 4840 4912 7720 4841 + 4913 7721 7720 4841 + 4913 7720 4912 4841 + 4841 4913 7721 4842 + 4914 7722 7721 4842 + 4914 7721 4913 4842 + 4842 4914 7722 4843 + 4915 7723 7722 4843 + 4915 7722 4914 4843 + 4843 4915 7723 4844 + 4916 7724 7723 4844 + 4916 7723 4915 4844 + 4844 4916 7724 4845 + 4917 7725 7724 4845 + 4917 7724 4916 4845 + 4845 4917 7725 4846 + 4918 7726 7725 4846 + 4918 7725 4917 4846 + 4846 4918 7726 4847 + 4919 7727 7726 4847 + 4919 7726 4918 4847 + 4847 4919 7727 4848 + 4920 7728 7727 4848 + 4920 7727 4919 4848 + 4848 4920 7728 4849 + 4921 7729 7728 4849 + 4921 7728 4920 4849 + 4849 4921 7729 4850 + 4922 7730 7729 4850 + 4922 7729 4921 4850 + 4850 4922 7730 4851 + 4923 7731 7730 4851 + 4923 7730 4922 4851 + 4851 4923 7731 4852 + 4924 7732 7731 4852 + 4924 7731 4923 4852 + 4852 4924 7732 4853 + 4925 7733 7732 4853 + 4925 7732 4924 4853 + 4853 4925 7733 4854 + 4926 7734 7733 4854 + 4926 7733 4925 4854 + 4854 4926 7734 4855 + 4927 7735 7734 4855 + 4927 7734 4926 4855 + 4855 4927 7735 4856 + 4928 7736 7735 4856 + 4928 7735 4927 4856 + 4856 4928 7736 4857 + 4929 7737 7736 4857 + 4929 7736 4928 4857 + 4857 4929 7737 4858 + 4930 7738 7737 4858 + 4930 7737 4929 4858 + 4858 4930 7738 4859 + 4931 7739 7738 4859 + 4931 7738 4930 4859 + 4859 4931 7739 4860 + 4932 7740 7739 4860 + 4932 7739 4931 4860 + 4860 4932 7740 4861 + 4933 7741 7740 4861 + 4933 7740 4932 4861 + 4861 4933 7741 4862 + 4934 7742 7741 4862 + 4934 7741 4933 4862 + 7707 4827 7167 209 + 7167 4827 194 209 + 4827 129 194 209 + 7708 4828 7168 7707 + 7168 4828 7167 7707 + 4828 4827 7167 7707 + 7709 4829 7169 7708 + 7169 4829 7168 7708 + 4829 4828 7168 7708 + 7710 4830 7170 7709 + 7170 4830 7169 7709 + 4830 4829 7169 7709 + 7711 4831 7171 7710 + 7171 4831 7170 7710 + 4831 4830 7170 7710 + 7712 4832 7172 7711 + 7172 4832 7171 7711 + 4832 4831 7171 7711 + 7713 4833 7173 7712 + 7173 4833 7172 7712 + 4833 4832 7172 7712 + 7714 4834 7174 7713 + 7174 4834 7173 7713 + 4834 4833 7173 7713 + 7715 4835 7175 7714 + 7175 4835 7174 7714 + 4835 4834 7174 7714 + 7716 4836 7176 7715 + 7176 4836 7175 7715 + 4836 4835 7175 7715 + 7717 4837 7177 7716 + 7177 4837 7176 7716 + 4837 4836 7176 7716 + 7718 4838 7178 7717 + 7178 4838 7177 7717 + 4838 4837 7177 7717 + 7719 4839 7179 7718 + 7179 4839 7178 7718 + 4839 4838 7178 7718 + 7720 4840 7180 7719 + 7180 4840 7179 7719 + 4840 4839 7179 7719 + 7721 4841 7181 7720 + 7181 4841 7180 7720 + 4841 4840 7180 7720 + 7722 4842 7182 7721 + 7182 4842 7181 7721 + 4842 4841 7181 7721 + 7723 4843 7183 7722 + 7183 4843 7182 7722 + 4843 4842 7182 7722 + 7724 4844 7184 7723 + 7184 4844 7183 7723 + 4844 4843 7183 7723 + 7725 4845 7185 7724 + 7185 4845 7184 7724 + 4845 4844 7184 7724 + 7726 4846 7186 7725 + 7186 4846 7185 7725 + 4846 4845 7185 7725 + 7727 4847 7187 7726 + 7187 4847 7186 7726 + 4847 4846 7186 7726 + 7728 4848 7188 7727 + 7188 4848 7187 7727 + 4848 4847 7187 7727 + 7729 4849 7189 7728 + 7189 4849 7188 7728 + 4849 4848 7188 7728 + 7730 4850 7190 7729 + 7190 4850 7189 7729 + 4850 4849 7189 7729 + 7731 4851 7191 7730 + 7191 4851 7190 7730 + 4851 4850 7190 7730 + 7732 4852 7192 7731 + 7192 4852 7191 7731 + 4852 4851 7191 7731 + 7733 4853 7193 7732 + 7193 4853 7192 7732 + 4853 4852 7192 7732 + 7734 4854 7194 7733 + 7194 4854 7193 7733 + 4854 4853 7193 7733 + 7735 4855 7195 7734 + 7195 4855 7194 7734 + 4855 4854 7194 7734 + 7736 4856 7196 7735 + 7196 4856 7195 7735 + 4856 4855 7195 7735 + 7737 4857 7197 7736 + 7197 4857 7196 7736 + 4857 4856 7196 7736 + 7738 4858 7198 7737 + 7198 4858 7197 7737 + 4858 4857 7197 7737 + 7739 4859 7199 7738 + 7199 4859 7198 7738 + 4859 4858 7198 7738 + 7740 4860 7200 7739 + 7200 4860 7199 7739 + 4860 4859 7199 7739 + 7741 4861 7201 7740 + 7201 4861 7200 7740 + 4861 4860 7200 7740 + 7742 4862 7202 7741 + 7202 4862 7201 7741 + 4862 4861 7201 7741 + 196 210 199 7239 + 7743 7347 199 7239 + 7743 199 210 7239 + 7239 7743 7347 7240 + 7744 7348 7347 7240 + 7744 7347 7743 7240 + 7240 7744 7348 7241 + 7745 7349 7348 7241 + 7745 7348 7744 7241 + 7241 7745 7349 7242 + 7746 7350 7349 7242 + 7746 7349 7745 7242 + 7242 7746 7350 7243 + 7747 7351 7350 7243 + 7747 7350 7746 7243 + 7243 7747 7351 7244 + 7748 7352 7351 7244 + 7748 7351 7747 7244 + 7244 7748 7352 7245 + 7749 7353 7352 7245 + 7749 7352 7748 7245 + 7245 7749 7353 7246 + 7750 7354 7353 7246 + 7750 7353 7749 7246 + 7246 7750 7354 7247 + 7751 7355 7354 7247 + 7751 7354 7750 7247 + 7247 7751 7355 7248 + 7752 7356 7355 7248 + 7752 7355 7751 7248 + 7248 7752 7356 7249 + 7753 7357 7356 7249 + 7753 7356 7752 7249 + 7249 7753 7357 7250 + 7754 7358 7357 7250 + 7754 7357 7753 7250 + 7250 7754 7358 7251 + 7755 7359 7358 7251 + 7755 7358 7754 7251 + 7251 7755 7359 7252 + 7756 7360 7359 7252 + 7756 7359 7755 7252 + 7252 7756 7360 7253 + 7757 7361 7360 7253 + 7757 7360 7756 7253 + 7253 7757 7361 7254 + 7758 7362 7361 7254 + 7758 7361 7757 7254 + 7254 7758 7362 7255 + 7759 7363 7362 7255 + 7759 7362 7758 7255 + 7255 7759 7363 7256 + 7760 7364 7363 7256 + 7760 7363 7759 7256 + 7256 7760 7364 7257 + 7761 7365 7364 7257 + 7761 7364 7760 7257 + 7257 7761 7365 7258 + 7762 7366 7365 7258 + 7762 7365 7761 7258 + 7258 7762 7366 7259 + 7763 7367 7366 7259 + 7763 7366 7762 7259 + 7259 7763 7367 7260 + 7764 7368 7367 7260 + 7764 7367 7763 7260 + 7260 7764 7368 7261 + 7765 7369 7368 7261 + 7765 7368 7764 7261 + 7261 7765 7369 7262 + 7766 7370 7369 7262 + 7766 7369 7765 7262 + 7262 7766 7370 7263 + 7767 7371 7370 7263 + 7767 7370 7766 7263 + 7263 7767 7371 7264 + 7768 7372 7371 7264 + 7768 7371 7767 7264 + 7264 7768 7372 7265 + 7769 7373 7372 7265 + 7769 7372 7768 7265 + 7265 7769 7373 7266 + 7770 7374 7373 7266 + 7770 7373 7769 7266 + 7266 7770 7374 7267 + 7771 7375 7374 7267 + 7771 7374 7770 7267 + 7267 7771 7375 7268 + 7772 7376 7375 7268 + 7772 7375 7771 7268 + 7268 7772 7376 7269 + 7773 7377 7376 7269 + 7773 7376 7772 7269 + 7269 7773 7377 7270 + 7774 7378 7377 7270 + 7774 7377 7773 7270 + 7270 7774 7378 7271 + 7775 7379 7378 7271 + 7775 7378 7774 7271 + 7271 7775 7379 7272 + 7776 7380 7379 7272 + 7776 7379 7775 7272 + 7272 7776 7380 7273 + 7777 7381 7380 7273 + 7777 7380 7776 7273 + 7273 7777 7381 7274 + 7778 7382 7381 7274 + 7778 7381 7777 7274 + 209 211 210 7707 + 7779 7743 210 7707 + 7779 210 211 7707 + 7707 7779 7743 7708 + 7780 7744 7743 7708 + 7780 7743 7779 7708 + 7708 7780 7744 7709 + 7781 7745 7744 7709 + 7781 7744 7780 7709 + 7709 7781 7745 7710 + 7782 7746 7745 7710 + 7782 7745 7781 7710 + 7710 7782 7746 7711 + 7783 7747 7746 7711 + 7783 7746 7782 7711 + 7711 7783 7747 7712 + 7784 7748 7747 7712 + 7784 7747 7783 7712 + 7712 7784 7748 7713 + 7785 7749 7748 7713 + 7785 7748 7784 7713 + 7713 7785 7749 7714 + 7786 7750 7749 7714 + 7786 7749 7785 7714 + 7714 7786 7750 7715 + 7787 7751 7750 7715 + 7787 7750 7786 7715 + 7715 7787 7751 7716 + 7788 7752 7751 7716 + 7788 7751 7787 7716 + 7716 7788 7752 7717 + 7789 7753 7752 7717 + 7789 7752 7788 7717 + 7717 7789 7753 7718 + 7790 7754 7753 7718 + 7790 7753 7789 7718 + 7718 7790 7754 7719 + 7791 7755 7754 7719 + 7791 7754 7790 7719 + 7719 7791 7755 7720 + 7792 7756 7755 7720 + 7792 7755 7791 7720 + 7720 7792 7756 7721 + 7793 7757 7756 7721 + 7793 7756 7792 7721 + 7721 7793 7757 7722 + 7794 7758 7757 7722 + 7794 7757 7793 7722 + 7722 7794 7758 7723 + 7795 7759 7758 7723 + 7795 7758 7794 7723 + 7723 7795 7759 7724 + 7796 7760 7759 7724 + 7796 7759 7795 7724 + 7724 7796 7760 7725 + 7797 7761 7760 7725 + 7797 7760 7796 7725 + 7725 7797 7761 7726 + 7798 7762 7761 7726 + 7798 7761 7797 7726 + 7726 7798 7762 7727 + 7799 7763 7762 7727 + 7799 7762 7798 7727 + 7727 7799 7763 7728 + 7800 7764 7763 7728 + 7800 7763 7799 7728 + 7728 7800 7764 7729 + 7801 7765 7764 7729 + 7801 7764 7800 7729 + 7729 7801 7765 7730 + 7802 7766 7765 7730 + 7802 7765 7801 7730 + 7730 7802 7766 7731 + 7803 7767 7766 7731 + 7803 7766 7802 7731 + 7731 7803 7767 7732 + 7804 7768 7767 7732 + 7804 7767 7803 7732 + 7732 7804 7768 7733 + 7805 7769 7768 7733 + 7805 7768 7804 7733 + 7733 7805 7769 7734 + 7806 7770 7769 7734 + 7806 7769 7805 7734 + 7734 7806 7770 7735 + 7807 7771 7770 7735 + 7807 7770 7806 7735 + 7735 7807 7771 7736 + 7808 7772 7771 7736 + 7808 7771 7807 7736 + 7736 7808 7772 7737 + 7809 7773 7772 7737 + 7809 7772 7808 7737 + 7737 7809 7773 7738 + 7810 7774 7773 7738 + 7810 7773 7809 7738 + 7738 7810 7774 7739 + 7811 7775 7774 7739 + 7811 7774 7810 7739 + 7739 7811 7775 7740 + 7812 7776 7775 7740 + 7812 7775 7811 7740 + 7740 7812 7776 7741 + 7813 7777 7776 7741 + 7813 7776 7812 7741 + 7741 7813 7777 7742 + 7814 7778 7777 7742 + 7814 7777 7813 7742 + 131 134 211 4899 + 5007 7779 211 4899 + 5007 211 134 4899 + 4899 5007 7779 4900 + 5008 7780 7779 4900 + 5008 7779 5007 4900 + 4900 5008 7780 4901 + 5009 7781 7780 4901 + 5009 7780 5008 4901 + 4901 5009 7781 4902 + 5010 7782 7781 4902 + 5010 7781 5009 4902 + 4902 5010 7782 4903 + 5011 7783 7782 4903 + 5011 7782 5010 4903 + 4903 5011 7783 4904 + 5012 7784 7783 4904 + 5012 7783 5011 4904 + 4904 5012 7784 4905 + 5013 7785 7784 4905 + 5013 7784 5012 4905 + 4905 5013 7785 4906 + 5014 7786 7785 4906 + 5014 7785 5013 4906 + 4906 5014 7786 4907 + 5015 7787 7786 4907 + 5015 7786 5014 4907 + 4907 5015 7787 4908 + 5016 7788 7787 4908 + 5016 7787 5015 4908 + 4908 5016 7788 4909 + 5017 7789 7788 4909 + 5017 7788 5016 4909 + 4909 5017 7789 4910 + 5018 7790 7789 4910 + 5018 7789 5017 4910 + 4910 5018 7790 4911 + 5019 7791 7790 4911 + 5019 7790 5018 4911 + 4911 5019 7791 4912 + 5020 7792 7791 4912 + 5020 7791 5019 4912 + 4912 5020 7792 4913 + 5021 7793 7792 4913 + 5021 7792 5020 4913 + 4913 5021 7793 4914 + 5022 7794 7793 4914 + 5022 7793 5021 4914 + 4914 5022 7794 4915 + 5023 7795 7794 4915 + 5023 7794 5022 4915 + 4915 5023 7795 4916 + 5024 7796 7795 4916 + 5024 7795 5023 4916 + 4916 5024 7796 4917 + 5025 7797 7796 4917 + 5025 7796 5024 4917 + 4917 5025 7797 4918 + 5026 7798 7797 4918 + 5026 7797 5025 4918 + 4918 5026 7798 4919 + 5027 7799 7798 4919 + 5027 7798 5026 4919 + 4919 5027 7799 4920 + 5028 7800 7799 4920 + 5028 7799 5027 4920 + 4920 5028 7800 4921 + 5029 7801 7800 4921 + 5029 7800 5028 4921 + 4921 5029 7801 4922 + 5030 7802 7801 4922 + 5030 7801 5029 4922 + 4922 5030 7802 4923 + 5031 7803 7802 4923 + 5031 7802 5030 4923 + 4923 5031 7803 4924 + 5032 7804 7803 4924 + 5032 7803 5031 4924 + 4924 5032 7804 4925 + 5033 7805 7804 4925 + 5033 7804 5032 4925 + 4925 5033 7805 4926 + 5034 7806 7805 4926 + 5034 7805 5033 4926 + 4926 5034 7806 4927 + 5035 7807 7806 4927 + 5035 7806 5034 4927 + 4927 5035 7807 4928 + 5036 7808 7807 4928 + 5036 7807 5035 4928 + 4928 5036 7808 4929 + 5037 7809 7808 4929 + 5037 7808 5036 4929 + 4929 5037 7809 4930 + 5038 7810 7809 4930 + 5038 7809 5037 4930 + 4930 5038 7810 4931 + 5039 7811 7810 4931 + 5039 7810 5038 4931 + 4931 5039 7811 4932 + 5040 7812 7811 4932 + 5040 7811 5039 4932 + 4932 5040 7812 4933 + 5041 7813 7812 4933 + 5041 7812 5040 4933 + 4933 5041 7813 4934 + 5042 7814 7813 4934 + 5042 7813 5041 4934 + 7743 7707 7239 210 + 7239 7707 196 210 + 7707 209 196 210 + 7744 7708 7240 7743 + 7240 7708 7239 7743 + 7708 7707 7239 7743 + 7745 7709 7241 7744 + 7241 7709 7240 7744 + 7709 7708 7240 7744 + 7746 7710 7242 7745 + 7242 7710 7241 7745 + 7710 7709 7241 7745 + 7747 7711 7243 7746 + 7243 7711 7242 7746 + 7711 7710 7242 7746 + 7748 7712 7244 7747 + 7244 7712 7243 7747 + 7712 7711 7243 7747 + 7749 7713 7245 7748 + 7245 7713 7244 7748 + 7713 7712 7244 7748 + 7750 7714 7246 7749 + 7246 7714 7245 7749 + 7714 7713 7245 7749 + 7751 7715 7247 7750 + 7247 7715 7246 7750 + 7715 7714 7246 7750 + 7752 7716 7248 7751 + 7248 7716 7247 7751 + 7716 7715 7247 7751 + 7753 7717 7249 7752 + 7249 7717 7248 7752 + 7717 7716 7248 7752 + 7754 7718 7250 7753 + 7250 7718 7249 7753 + 7718 7717 7249 7753 + 7755 7719 7251 7754 + 7251 7719 7250 7754 + 7719 7718 7250 7754 + 7756 7720 7252 7755 + 7252 7720 7251 7755 + 7720 7719 7251 7755 + 7757 7721 7253 7756 + 7253 7721 7252 7756 + 7721 7720 7252 7756 + 7758 7722 7254 7757 + 7254 7722 7253 7757 + 7722 7721 7253 7757 + 7759 7723 7255 7758 + 7255 7723 7254 7758 + 7723 7722 7254 7758 + 7760 7724 7256 7759 + 7256 7724 7255 7759 + 7724 7723 7255 7759 + 7761 7725 7257 7760 + 7257 7725 7256 7760 + 7725 7724 7256 7760 + 7762 7726 7258 7761 + 7258 7726 7257 7761 + 7726 7725 7257 7761 + 7763 7727 7259 7762 + 7259 7727 7258 7762 + 7727 7726 7258 7762 + 7764 7728 7260 7763 + 7260 7728 7259 7763 + 7728 7727 7259 7763 + 7765 7729 7261 7764 + 7261 7729 7260 7764 + 7729 7728 7260 7764 + 7766 7730 7262 7765 + 7262 7730 7261 7765 + 7730 7729 7261 7765 + 7767 7731 7263 7766 + 7263 7731 7262 7766 + 7731 7730 7262 7766 + 7768 7732 7264 7767 + 7264 7732 7263 7767 + 7732 7731 7263 7767 + 7769 7733 7265 7768 + 7265 7733 7264 7768 + 7733 7732 7264 7768 + 7770 7734 7266 7769 + 7266 7734 7265 7769 + 7734 7733 7265 7769 + 7771 7735 7267 7770 + 7267 7735 7266 7770 + 7735 7734 7266 7770 + 7772 7736 7268 7771 + 7268 7736 7267 7771 + 7736 7735 7267 7771 + 7773 7737 7269 7772 + 7269 7737 7268 7772 + 7737 7736 7268 7772 + 7774 7738 7270 7773 + 7270 7738 7269 7773 + 7738 7737 7269 7773 + 7775 7739 7271 7774 + 7271 7739 7270 7774 + 7739 7738 7270 7774 + 7776 7740 7272 7775 + 7272 7740 7271 7775 + 7740 7739 7271 7775 + 7777 7741 7273 7776 + 7273 7741 7272 7776 + 7741 7740 7272 7776 + 7778 7742 7274 7777 + 7274 7742 7273 7777 + 7742 7741 7273 7777 + 7779 4899 7707 211 + 7707 4899 209 211 + 4899 131 209 211 + 7780 4900 7708 7779 + 7708 4900 7707 7779 + 4900 4899 7707 7779 + 7781 4901 7709 7780 + 7709 4901 7708 7780 + 4901 4900 7708 7780 + 7782 4902 7710 7781 + 7710 4902 7709 7781 + 4902 4901 7709 7781 + 7783 4903 7711 7782 + 7711 4903 7710 7782 + 4903 4902 7710 7782 + 7784 4904 7712 7783 + 7712 4904 7711 7783 + 4904 4903 7711 7783 + 7785 4905 7713 7784 + 7713 4905 7712 7784 + 4905 4904 7712 7784 + 7786 4906 7714 7785 + 7714 4906 7713 7785 + 4906 4905 7713 7785 + 7787 4907 7715 7786 + 7715 4907 7714 7786 + 4907 4906 7714 7786 + 7788 4908 7716 7787 + 7716 4908 7715 7787 + 4908 4907 7715 7787 + 7789 4909 7717 7788 + 7717 4909 7716 7788 + 4909 4908 7716 7788 + 7790 4910 7718 7789 + 7718 4910 7717 7789 + 4910 4909 7717 7789 + 7791 4911 7719 7790 + 7719 4911 7718 7790 + 4911 4910 7718 7790 + 7792 4912 7720 7791 + 7720 4912 7719 7791 + 4912 4911 7719 7791 + 7793 4913 7721 7792 + 7721 4913 7720 7792 + 4913 4912 7720 7792 + 7794 4914 7722 7793 + 7722 4914 7721 7793 + 4914 4913 7721 7793 + 7795 4915 7723 7794 + 7723 4915 7722 7794 + 4915 4914 7722 7794 + 7796 4916 7724 7795 + 7724 4916 7723 7795 + 4916 4915 7723 7795 + 7797 4917 7725 7796 + 7725 4917 7724 7796 + 4917 4916 7724 7796 + 7798 4918 7726 7797 + 7726 4918 7725 7797 + 4918 4917 7725 7797 + 7799 4919 7727 7798 + 7727 4919 7726 7798 + 4919 4918 7726 7798 + 7800 4920 7728 7799 + 7728 4920 7727 7799 + 4920 4919 7727 7799 + 7801 4921 7729 7800 + 7729 4921 7728 7800 + 4921 4920 7728 7800 + 7802 4922 7730 7801 + 7730 4922 7729 7801 + 4922 4921 7729 7801 + 7803 4923 7731 7802 + 7731 4923 7730 7802 + 4923 4922 7730 7802 + 7804 4924 7732 7803 + 7732 4924 7731 7803 + 4924 4923 7731 7803 + 7805 4925 7733 7804 + 7733 4925 7732 7804 + 4925 4924 7732 7804 + 7806 4926 7734 7805 + 7734 4926 7733 7805 + 4926 4925 7733 7805 + 7807 4927 7735 7806 + 7735 4927 7734 7806 + 4927 4926 7734 7806 + 7808 4928 7736 7807 + 7736 4928 7735 7807 + 4928 4927 7735 7807 + 7809 4929 7737 7808 + 7737 4929 7736 7808 + 4929 4928 7736 7808 + 7810 4930 7738 7809 + 7738 4930 7737 7809 + 4930 4929 7737 7809 + 7811 4931 7739 7810 + 7739 4931 7738 7810 + 4931 4930 7738 7810 + 7812 4932 7740 7811 + 7740 4932 7739 7811 + 4932 4931 7739 7811 + 7813 4933 7741 7812 + 7741 4933 7740 7812 + 4933 4932 7740 7812 + 7814 4934 7742 7813 + 7742 4934 7741 7813 + 4934 4933 7741 7813 + 199 212 203 7347 + 7815 7491 203 7347 + 7815 203 212 7347 + 7347 7815 7491 7348 + 7816 7492 7491 7348 + 7816 7491 7815 7348 + 7348 7816 7492 7349 + 7817 7493 7492 7349 + 7817 7492 7816 7349 + 7349 7817 7493 7350 + 7818 7494 7493 7350 + 7818 7493 7817 7350 + 7350 7818 7494 7351 + 7819 7495 7494 7351 + 7819 7494 7818 7351 + 7351 7819 7495 7352 + 7820 7496 7495 7352 + 7820 7495 7819 7352 + 7352 7820 7496 7353 + 7821 7497 7496 7353 + 7821 7496 7820 7353 + 7353 7821 7497 7354 + 7822 7498 7497 7354 + 7822 7497 7821 7354 + 7354 7822 7498 7355 + 7823 7499 7498 7355 + 7823 7498 7822 7355 + 7355 7823 7499 7356 + 7824 7500 7499 7356 + 7824 7499 7823 7356 + 7356 7824 7500 7357 + 7825 7501 7500 7357 + 7825 7500 7824 7357 + 7357 7825 7501 7358 + 7826 7502 7501 7358 + 7826 7501 7825 7358 + 7358 7826 7502 7359 + 7827 7503 7502 7359 + 7827 7502 7826 7359 + 7359 7827 7503 7360 + 7828 7504 7503 7360 + 7828 7503 7827 7360 + 7360 7828 7504 7361 + 7829 7505 7504 7361 + 7829 7504 7828 7361 + 7361 7829 7505 7362 + 7830 7506 7505 7362 + 7830 7505 7829 7362 + 7362 7830 7506 7363 + 7831 7507 7506 7363 + 7831 7506 7830 7363 + 7363 7831 7507 7364 + 7832 7508 7507 7364 + 7832 7507 7831 7364 + 7364 7832 7508 7365 + 7833 7509 7508 7365 + 7833 7508 7832 7365 + 7365 7833 7509 7366 + 7834 7510 7509 7366 + 7834 7509 7833 7366 + 7366 7834 7510 7367 + 7835 7511 7510 7367 + 7835 7510 7834 7367 + 7367 7835 7511 7368 + 7836 7512 7511 7368 + 7836 7511 7835 7368 + 7368 7836 7512 7369 + 7837 7513 7512 7369 + 7837 7512 7836 7369 + 7369 7837 7513 7370 + 7838 7514 7513 7370 + 7838 7513 7837 7370 + 7370 7838 7514 7371 + 7839 7515 7514 7371 + 7839 7514 7838 7371 + 7371 7839 7515 7372 + 7840 7516 7515 7372 + 7840 7515 7839 7372 + 7372 7840 7516 7373 + 7841 7517 7516 7373 + 7841 7516 7840 7373 + 7373 7841 7517 7374 + 7842 7518 7517 7374 + 7842 7517 7841 7374 + 7374 7842 7518 7375 + 7843 7519 7518 7375 + 7843 7518 7842 7375 + 7375 7843 7519 7376 + 7844 7520 7519 7376 + 7844 7519 7843 7376 + 7376 7844 7520 7377 + 7845 7521 7520 7377 + 7845 7520 7844 7377 + 7377 7845 7521 7378 + 7846 7522 7521 7378 + 7846 7521 7845 7378 + 7378 7846 7522 7379 + 7847 7523 7522 7379 + 7847 7522 7846 7379 + 7379 7847 7523 7380 + 7848 7524 7523 7380 + 7848 7523 7847 7380 + 7380 7848 7524 7381 + 7849 7525 7524 7381 + 7849 7524 7848 7381 + 7381 7849 7525 7382 + 7850 7526 7525 7382 + 7850 7525 7849 7382 + 210 213 212 7743 + 7851 7815 212 7743 + 7851 212 213 7743 + 7743 7851 7815 7744 + 7852 7816 7815 7744 + 7852 7815 7851 7744 + 7744 7852 7816 7745 + 7853 7817 7816 7745 + 7853 7816 7852 7745 + 7745 7853 7817 7746 + 7854 7818 7817 7746 + 7854 7817 7853 7746 + 7746 7854 7818 7747 + 7855 7819 7818 7747 + 7855 7818 7854 7747 + 7747 7855 7819 7748 + 7856 7820 7819 7748 + 7856 7819 7855 7748 + 7748 7856 7820 7749 + 7857 7821 7820 7749 + 7857 7820 7856 7749 + 7749 7857 7821 7750 + 7858 7822 7821 7750 + 7858 7821 7857 7750 + 7750 7858 7822 7751 + 7859 7823 7822 7751 + 7859 7822 7858 7751 + 7751 7859 7823 7752 + 7860 7824 7823 7752 + 7860 7823 7859 7752 + 7752 7860 7824 7753 + 7861 7825 7824 7753 + 7861 7824 7860 7753 + 7753 7861 7825 7754 + 7862 7826 7825 7754 + 7862 7825 7861 7754 + 7754 7862 7826 7755 + 7863 7827 7826 7755 + 7863 7826 7862 7755 + 7755 7863 7827 7756 + 7864 7828 7827 7756 + 7864 7827 7863 7756 + 7756 7864 7828 7757 + 7865 7829 7828 7757 + 7865 7828 7864 7757 + 7757 7865 7829 7758 + 7866 7830 7829 7758 + 7866 7829 7865 7758 + 7758 7866 7830 7759 + 7867 7831 7830 7759 + 7867 7830 7866 7759 + 7759 7867 7831 7760 + 7868 7832 7831 7760 + 7868 7831 7867 7760 + 7760 7868 7832 7761 + 7869 7833 7832 7761 + 7869 7832 7868 7761 + 7761 7869 7833 7762 + 7870 7834 7833 7762 + 7870 7833 7869 7762 + 7762 7870 7834 7763 + 7871 7835 7834 7763 + 7871 7834 7870 7763 + 7763 7871 7835 7764 + 7872 7836 7835 7764 + 7872 7835 7871 7764 + 7764 7872 7836 7765 + 7873 7837 7836 7765 + 7873 7836 7872 7765 + 7765 7873 7837 7766 + 7874 7838 7837 7766 + 7874 7837 7873 7766 + 7766 7874 7838 7767 + 7875 7839 7838 7767 + 7875 7838 7874 7767 + 7767 7875 7839 7768 + 7876 7840 7839 7768 + 7876 7839 7875 7768 + 7768 7876 7840 7769 + 7877 7841 7840 7769 + 7877 7840 7876 7769 + 7769 7877 7841 7770 + 7878 7842 7841 7770 + 7878 7841 7877 7770 + 7770 7878 7842 7771 + 7879 7843 7842 7771 + 7879 7842 7878 7771 + 7771 7879 7843 7772 + 7880 7844 7843 7772 + 7880 7843 7879 7772 + 7772 7880 7844 7773 + 7881 7845 7844 7773 + 7881 7844 7880 7773 + 7773 7881 7845 7774 + 7882 7846 7845 7774 + 7882 7845 7881 7774 + 7774 7882 7846 7775 + 7883 7847 7846 7775 + 7883 7846 7882 7775 + 7775 7883 7847 7776 + 7884 7848 7847 7776 + 7884 7847 7883 7776 + 7776 7884 7848 7777 + 7885 7849 7848 7777 + 7885 7848 7884 7777 + 7777 7885 7849 7778 + 7886 7850 7849 7778 + 7886 7849 7885 7778 + 211 214 213 7779 + 7887 7851 213 7779 + 7887 213 214 7779 + 7779 7887 7851 7780 + 7888 7852 7851 7780 + 7888 7851 7887 7780 + 7780 7888 7852 7781 + 7889 7853 7852 7781 + 7889 7852 7888 7781 + 7781 7889 7853 7782 + 7890 7854 7853 7782 + 7890 7853 7889 7782 + 7782 7890 7854 7783 + 7891 7855 7854 7783 + 7891 7854 7890 7783 + 7783 7891 7855 7784 + 7892 7856 7855 7784 + 7892 7855 7891 7784 + 7784 7892 7856 7785 + 7893 7857 7856 7785 + 7893 7856 7892 7785 + 7785 7893 7857 7786 + 7894 7858 7857 7786 + 7894 7857 7893 7786 + 7786 7894 7858 7787 + 7895 7859 7858 7787 + 7895 7858 7894 7787 + 7787 7895 7859 7788 + 7896 7860 7859 7788 + 7896 7859 7895 7788 + 7788 7896 7860 7789 + 7897 7861 7860 7789 + 7897 7860 7896 7789 + 7789 7897 7861 7790 + 7898 7862 7861 7790 + 7898 7861 7897 7790 + 7790 7898 7862 7791 + 7899 7863 7862 7791 + 7899 7862 7898 7791 + 7791 7899 7863 7792 + 7900 7864 7863 7792 + 7900 7863 7899 7792 + 7792 7900 7864 7793 + 7901 7865 7864 7793 + 7901 7864 7900 7793 + 7793 7901 7865 7794 + 7902 7866 7865 7794 + 7902 7865 7901 7794 + 7794 7902 7866 7795 + 7903 7867 7866 7795 + 7903 7866 7902 7795 + 7795 7903 7867 7796 + 7904 7868 7867 7796 + 7904 7867 7903 7796 + 7796 7904 7868 7797 + 7905 7869 7868 7797 + 7905 7868 7904 7797 + 7797 7905 7869 7798 + 7906 7870 7869 7798 + 7906 7869 7905 7798 + 7798 7906 7870 7799 + 7907 7871 7870 7799 + 7907 7870 7906 7799 + 7799 7907 7871 7800 + 7908 7872 7871 7800 + 7908 7871 7907 7800 + 7800 7908 7872 7801 + 7909 7873 7872 7801 + 7909 7872 7908 7801 + 7801 7909 7873 7802 + 7910 7874 7873 7802 + 7910 7873 7909 7802 + 7802 7910 7874 7803 + 7911 7875 7874 7803 + 7911 7874 7910 7803 + 7803 7911 7875 7804 + 7912 7876 7875 7804 + 7912 7875 7911 7804 + 7804 7912 7876 7805 + 7913 7877 7876 7805 + 7913 7876 7912 7805 + 7805 7913 7877 7806 + 7914 7878 7877 7806 + 7914 7877 7913 7806 + 7806 7914 7878 7807 + 7915 7879 7878 7807 + 7915 7878 7914 7807 + 7807 7915 7879 7808 + 7916 7880 7879 7808 + 7916 7879 7915 7808 + 7808 7916 7880 7809 + 7917 7881 7880 7809 + 7917 7880 7916 7809 + 7809 7917 7881 7810 + 7918 7882 7881 7810 + 7918 7881 7917 7810 + 7810 7918 7882 7811 + 7919 7883 7882 7811 + 7919 7882 7918 7811 + 7811 7919 7883 7812 + 7920 7884 7883 7812 + 7920 7883 7919 7812 + 7812 7920 7884 7813 + 7921 7885 7884 7813 + 7921 7884 7920 7813 + 7813 7921 7885 7814 + 7922 7886 7885 7814 + 7922 7885 7921 7814 + 134 138 214 5007 + 5151 7887 214 5007 + 5151 214 138 5007 + 5007 5151 7887 5008 + 5152 7888 7887 5008 + 5152 7887 5151 5008 + 5008 5152 7888 5009 + 5153 7889 7888 5009 + 5153 7888 5152 5009 + 5009 5153 7889 5010 + 5154 7890 7889 5010 + 5154 7889 5153 5010 + 5010 5154 7890 5011 + 5155 7891 7890 5011 + 5155 7890 5154 5011 + 5011 5155 7891 5012 + 5156 7892 7891 5012 + 5156 7891 5155 5012 + 5012 5156 7892 5013 + 5157 7893 7892 5013 + 5157 7892 5156 5013 + 5013 5157 7893 5014 + 5158 7894 7893 5014 + 5158 7893 5157 5014 + 5014 5158 7894 5015 + 5159 7895 7894 5015 + 5159 7894 5158 5015 + 5015 5159 7895 5016 + 5160 7896 7895 5016 + 5160 7895 5159 5016 + 5016 5160 7896 5017 + 5161 7897 7896 5017 + 5161 7896 5160 5017 + 5017 5161 7897 5018 + 5162 7898 7897 5018 + 5162 7897 5161 5018 + 5018 5162 7898 5019 + 5163 7899 7898 5019 + 5163 7898 5162 5019 + 5019 5163 7899 5020 + 5164 7900 7899 5020 + 5164 7899 5163 5020 + 5020 5164 7900 5021 + 5165 7901 7900 5021 + 5165 7900 5164 5021 + 5021 5165 7901 5022 + 5166 7902 7901 5022 + 5166 7901 5165 5022 + 5022 5166 7902 5023 + 5167 7903 7902 5023 + 5167 7902 5166 5023 + 5023 5167 7903 5024 + 5168 7904 7903 5024 + 5168 7903 5167 5024 + 5024 5168 7904 5025 + 5169 7905 7904 5025 + 5169 7904 5168 5025 + 5025 5169 7905 5026 + 5170 7906 7905 5026 + 5170 7905 5169 5026 + 5026 5170 7906 5027 + 5171 7907 7906 5027 + 5171 7906 5170 5027 + 5027 5171 7907 5028 + 5172 7908 7907 5028 + 5172 7907 5171 5028 + 5028 5172 7908 5029 + 5173 7909 7908 5029 + 5173 7908 5172 5029 + 5029 5173 7909 5030 + 5174 7910 7909 5030 + 5174 7909 5173 5030 + 5030 5174 7910 5031 + 5175 7911 7910 5031 + 5175 7910 5174 5031 + 5031 5175 7911 5032 + 5176 7912 7911 5032 + 5176 7911 5175 5032 + 5032 5176 7912 5033 + 5177 7913 7912 5033 + 5177 7912 5176 5033 + 5033 5177 7913 5034 + 5178 7914 7913 5034 + 5178 7913 5177 5034 + 5034 5178 7914 5035 + 5179 7915 7914 5035 + 5179 7914 5178 5035 + 5035 5179 7915 5036 + 5180 7916 7915 5036 + 5180 7915 5179 5036 + 5036 5180 7916 5037 + 5181 7917 7916 5037 + 5181 7916 5180 5037 + 5037 5181 7917 5038 + 5182 7918 7917 5038 + 5182 7917 5181 5038 + 5038 5182 7918 5039 + 5183 7919 7918 5039 + 5183 7918 5182 5039 + 5039 5183 7919 5040 + 5184 7920 7919 5040 + 5184 7919 5183 5040 + 5040 5184 7920 5041 + 5185 7921 7920 5041 + 5185 7920 5184 5041 + 5041 5185 7921 5042 + 5186 7922 7921 5042 + 5186 7921 5185 5042 + 7815 7743 7347 212 + 7347 7743 199 212 + 7743 210 199 212 + 7816 7744 7348 7815 + 7348 7744 7347 7815 + 7744 7743 7347 7815 + 7817 7745 7349 7816 + 7349 7745 7348 7816 + 7745 7744 7348 7816 + 7818 7746 7350 7817 + 7350 7746 7349 7817 + 7746 7745 7349 7817 + 7819 7747 7351 7818 + 7351 7747 7350 7818 + 7747 7746 7350 7818 + 7820 7748 7352 7819 + 7352 7748 7351 7819 + 7748 7747 7351 7819 + 7821 7749 7353 7820 + 7353 7749 7352 7820 + 7749 7748 7352 7820 + 7822 7750 7354 7821 + 7354 7750 7353 7821 + 7750 7749 7353 7821 + 7823 7751 7355 7822 + 7355 7751 7354 7822 + 7751 7750 7354 7822 + 7824 7752 7356 7823 + 7356 7752 7355 7823 + 7752 7751 7355 7823 + 7825 7753 7357 7824 + 7357 7753 7356 7824 + 7753 7752 7356 7824 + 7826 7754 7358 7825 + 7358 7754 7357 7825 + 7754 7753 7357 7825 + 7827 7755 7359 7826 + 7359 7755 7358 7826 + 7755 7754 7358 7826 + 7828 7756 7360 7827 + 7360 7756 7359 7827 + 7756 7755 7359 7827 + 7829 7757 7361 7828 + 7361 7757 7360 7828 + 7757 7756 7360 7828 + 7830 7758 7362 7829 + 7362 7758 7361 7829 + 7758 7757 7361 7829 + 7831 7759 7363 7830 + 7363 7759 7362 7830 + 7759 7758 7362 7830 + 7832 7760 7364 7831 + 7364 7760 7363 7831 + 7760 7759 7363 7831 + 7833 7761 7365 7832 + 7365 7761 7364 7832 + 7761 7760 7364 7832 + 7834 7762 7366 7833 + 7366 7762 7365 7833 + 7762 7761 7365 7833 + 7835 7763 7367 7834 + 7367 7763 7366 7834 + 7763 7762 7366 7834 + 7836 7764 7368 7835 + 7368 7764 7367 7835 + 7764 7763 7367 7835 + 7837 7765 7369 7836 + 7369 7765 7368 7836 + 7765 7764 7368 7836 + 7838 7766 7370 7837 + 7370 7766 7369 7837 + 7766 7765 7369 7837 + 7839 7767 7371 7838 + 7371 7767 7370 7838 + 7767 7766 7370 7838 + 7840 7768 7372 7839 + 7372 7768 7371 7839 + 7768 7767 7371 7839 + 7841 7769 7373 7840 + 7373 7769 7372 7840 + 7769 7768 7372 7840 + 7842 7770 7374 7841 + 7374 7770 7373 7841 + 7770 7769 7373 7841 + 7843 7771 7375 7842 + 7375 7771 7374 7842 + 7771 7770 7374 7842 + 7844 7772 7376 7843 + 7376 7772 7375 7843 + 7772 7771 7375 7843 + 7845 7773 7377 7844 + 7377 7773 7376 7844 + 7773 7772 7376 7844 + 7846 7774 7378 7845 + 7378 7774 7377 7845 + 7774 7773 7377 7845 + 7847 7775 7379 7846 + 7379 7775 7378 7846 + 7775 7774 7378 7846 + 7848 7776 7380 7847 + 7380 7776 7379 7847 + 7776 7775 7379 7847 + 7849 7777 7381 7848 + 7381 7777 7380 7848 + 7777 7776 7380 7848 + 7850 7778 7382 7849 + 7382 7778 7381 7849 + 7778 7777 7381 7849 + 7851 7779 7743 213 + 7743 7779 210 213 + 7779 211 210 213 + 7852 7780 7744 7851 + 7744 7780 7743 7851 + 7780 7779 7743 7851 + 7853 7781 7745 7852 + 7745 7781 7744 7852 + 7781 7780 7744 7852 + 7854 7782 7746 7853 + 7746 7782 7745 7853 + 7782 7781 7745 7853 + 7855 7783 7747 7854 + 7747 7783 7746 7854 + 7783 7782 7746 7854 + 7856 7784 7748 7855 + 7748 7784 7747 7855 + 7784 7783 7747 7855 + 7857 7785 7749 7856 + 7749 7785 7748 7856 + 7785 7784 7748 7856 + 7858 7786 7750 7857 + 7750 7786 7749 7857 + 7786 7785 7749 7857 + 7859 7787 7751 7858 + 7751 7787 7750 7858 + 7787 7786 7750 7858 + 7860 7788 7752 7859 + 7752 7788 7751 7859 + 7788 7787 7751 7859 + 7861 7789 7753 7860 + 7753 7789 7752 7860 + 7789 7788 7752 7860 + 7862 7790 7754 7861 + 7754 7790 7753 7861 + 7790 7789 7753 7861 + 7863 7791 7755 7862 + 7755 7791 7754 7862 + 7791 7790 7754 7862 + 7864 7792 7756 7863 + 7756 7792 7755 7863 + 7792 7791 7755 7863 + 7865 7793 7757 7864 + 7757 7793 7756 7864 + 7793 7792 7756 7864 + 7866 7794 7758 7865 + 7758 7794 7757 7865 + 7794 7793 7757 7865 + 7867 7795 7759 7866 + 7759 7795 7758 7866 + 7795 7794 7758 7866 + 7868 7796 7760 7867 + 7760 7796 7759 7867 + 7796 7795 7759 7867 + 7869 7797 7761 7868 + 7761 7797 7760 7868 + 7797 7796 7760 7868 + 7870 7798 7762 7869 + 7762 7798 7761 7869 + 7798 7797 7761 7869 + 7871 7799 7763 7870 + 7763 7799 7762 7870 + 7799 7798 7762 7870 + 7872 7800 7764 7871 + 7764 7800 7763 7871 + 7800 7799 7763 7871 + 7873 7801 7765 7872 + 7765 7801 7764 7872 + 7801 7800 7764 7872 + 7874 7802 7766 7873 + 7766 7802 7765 7873 + 7802 7801 7765 7873 + 7875 7803 7767 7874 + 7767 7803 7766 7874 + 7803 7802 7766 7874 + 7876 7804 7768 7875 + 7768 7804 7767 7875 + 7804 7803 7767 7875 + 7877 7805 7769 7876 + 7769 7805 7768 7876 + 7805 7804 7768 7876 + 7878 7806 7770 7877 + 7770 7806 7769 7877 + 7806 7805 7769 7877 + 7879 7807 7771 7878 + 7771 7807 7770 7878 + 7807 7806 7770 7878 + 7880 7808 7772 7879 + 7772 7808 7771 7879 + 7808 7807 7771 7879 + 7881 7809 7773 7880 + 7773 7809 7772 7880 + 7809 7808 7772 7880 + 7882 7810 7774 7881 + 7774 7810 7773 7881 + 7810 7809 7773 7881 + 7883 7811 7775 7882 + 7775 7811 7774 7882 + 7811 7810 7774 7882 + 7884 7812 7776 7883 + 7776 7812 7775 7883 + 7812 7811 7775 7883 + 7885 7813 7777 7884 + 7777 7813 7776 7884 + 7813 7812 7776 7884 + 7886 7814 7778 7885 + 7778 7814 7777 7885 + 7814 7813 7777 7885 + 7887 5007 7779 214 + 7779 5007 211 214 + 5007 134 211 214 + 7888 5008 7780 7887 + 7780 5008 7779 7887 + 5008 5007 7779 7887 + 7889 5009 7781 7888 + 7781 5009 7780 7888 + 5009 5008 7780 7888 + 7890 5010 7782 7889 + 7782 5010 7781 7889 + 5010 5009 7781 7889 + 7891 5011 7783 7890 + 7783 5011 7782 7890 + 5011 5010 7782 7890 + 7892 5012 7784 7891 + 7784 5012 7783 7891 + 5012 5011 7783 7891 + 7893 5013 7785 7892 + 7785 5013 7784 7892 + 5013 5012 7784 7892 + 7894 5014 7786 7893 + 7786 5014 7785 7893 + 5014 5013 7785 7893 + 7895 5015 7787 7894 + 7787 5015 7786 7894 + 5015 5014 7786 7894 + 7896 5016 7788 7895 + 7788 5016 7787 7895 + 5016 5015 7787 7895 + 7897 5017 7789 7896 + 7789 5017 7788 7896 + 5017 5016 7788 7896 + 7898 5018 7790 7897 + 7790 5018 7789 7897 + 5018 5017 7789 7897 + 7899 5019 7791 7898 + 7791 5019 7790 7898 + 5019 5018 7790 7898 + 7900 5020 7792 7899 + 7792 5020 7791 7899 + 5020 5019 7791 7899 + 7901 5021 7793 7900 + 7793 5021 7792 7900 + 5021 5020 7792 7900 + 7902 5022 7794 7901 + 7794 5022 7793 7901 + 5022 5021 7793 7901 + 7903 5023 7795 7902 + 7795 5023 7794 7902 + 5023 5022 7794 7902 + 7904 5024 7796 7903 + 7796 5024 7795 7903 + 5024 5023 7795 7903 + 7905 5025 7797 7904 + 7797 5025 7796 7904 + 5025 5024 7796 7904 + 7906 5026 7798 7905 + 7798 5026 7797 7905 + 5026 5025 7797 7905 + 7907 5027 7799 7906 + 7799 5027 7798 7906 + 5027 5026 7798 7906 + 7908 5028 7800 7907 + 7800 5028 7799 7907 + 5028 5027 7799 7907 + 7909 5029 7801 7908 + 7801 5029 7800 7908 + 5029 5028 7800 7908 + 7910 5030 7802 7909 + 7802 5030 7801 7909 + 5030 5029 7801 7909 + 7911 5031 7803 7910 + 7803 5031 7802 7910 + 5031 5030 7802 7910 + 7912 5032 7804 7911 + 7804 5032 7803 7911 + 5032 5031 7803 7911 + 7913 5033 7805 7912 + 7805 5033 7804 7912 + 5033 5032 7804 7912 + 7914 5034 7806 7913 + 7806 5034 7805 7913 + 5034 5033 7805 7913 + 7915 5035 7807 7914 + 7807 5035 7806 7914 + 5035 5034 7806 7914 + 7916 5036 7808 7915 + 7808 5036 7807 7915 + 5036 5035 7807 7915 + 7917 5037 7809 7916 + 7809 5037 7808 7916 + 5037 5036 7808 7916 + 7918 5038 7810 7917 + 7810 5038 7809 7917 + 5038 5037 7809 7917 + 7919 5039 7811 7918 + 7811 5039 7810 7918 + 5039 5038 7810 7918 + 7920 5040 7812 7919 + 7812 5040 7811 7919 + 5040 5039 7811 7919 + 7921 5041 7813 7920 + 7813 5041 7812 7920 + 5041 5040 7812 7920 + 7922 5042 7814 7921 + 7814 5042 7813 7921 + 5042 5041 7813 7921 + 203 215 208 7491 + 7923 7671 208 7491 + 7923 208 215 7491 + 7491 7923 7671 7492 + 7924 7672 7671 7492 + 7924 7671 7923 7492 + 7492 7924 7672 7493 + 7925 7673 7672 7493 + 7925 7672 7924 7493 + 7493 7925 7673 7494 + 7926 7674 7673 7494 + 7926 7673 7925 7494 + 7494 7926 7674 7495 + 7927 7675 7674 7495 + 7927 7674 7926 7495 + 7495 7927 7675 7496 + 7928 7676 7675 7496 + 7928 7675 7927 7496 + 7496 7928 7676 7497 + 7929 7677 7676 7497 + 7929 7676 7928 7497 + 7497 7929 7677 7498 + 7930 7678 7677 7498 + 7930 7677 7929 7498 + 7498 7930 7678 7499 + 7931 7679 7678 7499 + 7931 7678 7930 7499 + 7499 7931 7679 7500 + 7932 7680 7679 7500 + 7932 7679 7931 7500 + 7500 7932 7680 7501 + 7933 7681 7680 7501 + 7933 7680 7932 7501 + 7501 7933 7681 7502 + 7934 7682 7681 7502 + 7934 7681 7933 7502 + 7502 7934 7682 7503 + 7935 7683 7682 7503 + 7935 7682 7934 7503 + 7503 7935 7683 7504 + 7936 7684 7683 7504 + 7936 7683 7935 7504 + 7504 7936 7684 7505 + 7937 7685 7684 7505 + 7937 7684 7936 7505 + 7505 7937 7685 7506 + 7938 7686 7685 7506 + 7938 7685 7937 7506 + 7506 7938 7686 7507 + 7939 7687 7686 7507 + 7939 7686 7938 7507 + 7507 7939 7687 7508 + 7940 7688 7687 7508 + 7940 7687 7939 7508 + 7508 7940 7688 7509 + 7941 7689 7688 7509 + 7941 7688 7940 7509 + 7509 7941 7689 7510 + 7942 7690 7689 7510 + 7942 7689 7941 7510 + 7510 7942 7690 7511 + 7943 7691 7690 7511 + 7943 7690 7942 7511 + 7511 7943 7691 7512 + 7944 7692 7691 7512 + 7944 7691 7943 7512 + 7512 7944 7692 7513 + 7945 7693 7692 7513 + 7945 7692 7944 7513 + 7513 7945 7693 7514 + 7946 7694 7693 7514 + 7946 7693 7945 7514 + 7514 7946 7694 7515 + 7947 7695 7694 7515 + 7947 7694 7946 7515 + 7515 7947 7695 7516 + 7948 7696 7695 7516 + 7948 7695 7947 7516 + 7516 7948 7696 7517 + 7949 7697 7696 7517 + 7949 7696 7948 7517 + 7517 7949 7697 7518 + 7950 7698 7697 7518 + 7950 7697 7949 7518 + 7518 7950 7698 7519 + 7951 7699 7698 7519 + 7951 7698 7950 7519 + 7519 7951 7699 7520 + 7952 7700 7699 7520 + 7952 7699 7951 7520 + 7520 7952 7700 7521 + 7953 7701 7700 7521 + 7953 7700 7952 7521 + 7521 7953 7701 7522 + 7954 7702 7701 7522 + 7954 7701 7953 7522 + 7522 7954 7702 7523 + 7955 7703 7702 7523 + 7955 7702 7954 7523 + 7523 7955 7703 7524 + 7956 7704 7703 7524 + 7956 7703 7955 7524 + 7524 7956 7704 7525 + 7957 7705 7704 7525 + 7957 7704 7956 7525 + 7525 7957 7705 7526 + 7958 7706 7705 7526 + 7958 7705 7957 7526 + 212 216 215 7815 + 7959 7923 215 7815 + 7959 215 216 7815 + 7815 7959 7923 7816 + 7960 7924 7923 7816 + 7960 7923 7959 7816 + 7816 7960 7924 7817 + 7961 7925 7924 7817 + 7961 7924 7960 7817 + 7817 7961 7925 7818 + 7962 7926 7925 7818 + 7962 7925 7961 7818 + 7818 7962 7926 7819 + 7963 7927 7926 7819 + 7963 7926 7962 7819 + 7819 7963 7927 7820 + 7964 7928 7927 7820 + 7964 7927 7963 7820 + 7820 7964 7928 7821 + 7965 7929 7928 7821 + 7965 7928 7964 7821 + 7821 7965 7929 7822 + 7966 7930 7929 7822 + 7966 7929 7965 7822 + 7822 7966 7930 7823 + 7967 7931 7930 7823 + 7967 7930 7966 7823 + 7823 7967 7931 7824 + 7968 7932 7931 7824 + 7968 7931 7967 7824 + 7824 7968 7932 7825 + 7969 7933 7932 7825 + 7969 7932 7968 7825 + 7825 7969 7933 7826 + 7970 7934 7933 7826 + 7970 7933 7969 7826 + 7826 7970 7934 7827 + 7971 7935 7934 7827 + 7971 7934 7970 7827 + 7827 7971 7935 7828 + 7972 7936 7935 7828 + 7972 7935 7971 7828 + 7828 7972 7936 7829 + 7973 7937 7936 7829 + 7973 7936 7972 7829 + 7829 7973 7937 7830 + 7974 7938 7937 7830 + 7974 7937 7973 7830 + 7830 7974 7938 7831 + 7975 7939 7938 7831 + 7975 7938 7974 7831 + 7831 7975 7939 7832 + 7976 7940 7939 7832 + 7976 7939 7975 7832 + 7832 7976 7940 7833 + 7977 7941 7940 7833 + 7977 7940 7976 7833 + 7833 7977 7941 7834 + 7978 7942 7941 7834 + 7978 7941 7977 7834 + 7834 7978 7942 7835 + 7979 7943 7942 7835 + 7979 7942 7978 7835 + 7835 7979 7943 7836 + 7980 7944 7943 7836 + 7980 7943 7979 7836 + 7836 7980 7944 7837 + 7981 7945 7944 7837 + 7981 7944 7980 7837 + 7837 7981 7945 7838 + 7982 7946 7945 7838 + 7982 7945 7981 7838 + 7838 7982 7946 7839 + 7983 7947 7946 7839 + 7983 7946 7982 7839 + 7839 7983 7947 7840 + 7984 7948 7947 7840 + 7984 7947 7983 7840 + 7840 7984 7948 7841 + 7985 7949 7948 7841 + 7985 7948 7984 7841 + 7841 7985 7949 7842 + 7986 7950 7949 7842 + 7986 7949 7985 7842 + 7842 7986 7950 7843 + 7987 7951 7950 7843 + 7987 7950 7986 7843 + 7843 7987 7951 7844 + 7988 7952 7951 7844 + 7988 7951 7987 7844 + 7844 7988 7952 7845 + 7989 7953 7952 7845 + 7989 7952 7988 7845 + 7845 7989 7953 7846 + 7990 7954 7953 7846 + 7990 7953 7989 7846 + 7846 7990 7954 7847 + 7991 7955 7954 7847 + 7991 7954 7990 7847 + 7847 7991 7955 7848 + 7992 7956 7955 7848 + 7992 7955 7991 7848 + 7848 7992 7956 7849 + 7993 7957 7956 7849 + 7993 7956 7992 7849 + 7849 7993 7957 7850 + 7994 7958 7957 7850 + 7994 7957 7993 7850 + 213 217 216 7851 + 7995 7959 216 7851 + 7995 216 217 7851 + 7851 7995 7959 7852 + 7996 7960 7959 7852 + 7996 7959 7995 7852 + 7852 7996 7960 7853 + 7997 7961 7960 7853 + 7997 7960 7996 7853 + 7853 7997 7961 7854 + 7998 7962 7961 7854 + 7998 7961 7997 7854 + 7854 7998 7962 7855 + 7999 7963 7962 7855 + 7999 7962 7998 7855 + 7855 7999 7963 7856 + 8000 7964 7963 7856 + 8000 7963 7999 7856 + 7856 8000 7964 7857 + 8001 7965 7964 7857 + 8001 7964 8000 7857 + 7857 8001 7965 7858 + 8002 7966 7965 7858 + 8002 7965 8001 7858 + 7858 8002 7966 7859 + 8003 7967 7966 7859 + 8003 7966 8002 7859 + 7859 8003 7967 7860 + 8004 7968 7967 7860 + 8004 7967 8003 7860 + 7860 8004 7968 7861 + 8005 7969 7968 7861 + 8005 7968 8004 7861 + 7861 8005 7969 7862 + 8006 7970 7969 7862 + 8006 7969 8005 7862 + 7862 8006 7970 7863 + 8007 7971 7970 7863 + 8007 7970 8006 7863 + 7863 8007 7971 7864 + 8008 7972 7971 7864 + 8008 7971 8007 7864 + 7864 8008 7972 7865 + 8009 7973 7972 7865 + 8009 7972 8008 7865 + 7865 8009 7973 7866 + 8010 7974 7973 7866 + 8010 7973 8009 7866 + 7866 8010 7974 7867 + 8011 7975 7974 7867 + 8011 7974 8010 7867 + 7867 8011 7975 7868 + 8012 7976 7975 7868 + 8012 7975 8011 7868 + 7868 8012 7976 7869 + 8013 7977 7976 7869 + 8013 7976 8012 7869 + 7869 8013 7977 7870 + 8014 7978 7977 7870 + 8014 7977 8013 7870 + 7870 8014 7978 7871 + 8015 7979 7978 7871 + 8015 7978 8014 7871 + 7871 8015 7979 7872 + 8016 7980 7979 7872 + 8016 7979 8015 7872 + 7872 8016 7980 7873 + 8017 7981 7980 7873 + 8017 7980 8016 7873 + 7873 8017 7981 7874 + 8018 7982 7981 7874 + 8018 7981 8017 7874 + 7874 8018 7982 7875 + 8019 7983 7982 7875 + 8019 7982 8018 7875 + 7875 8019 7983 7876 + 8020 7984 7983 7876 + 8020 7983 8019 7876 + 7876 8020 7984 7877 + 8021 7985 7984 7877 + 8021 7984 8020 7877 + 7877 8021 7985 7878 + 8022 7986 7985 7878 + 8022 7985 8021 7878 + 7878 8022 7986 7879 + 8023 7987 7986 7879 + 8023 7986 8022 7879 + 7879 8023 7987 7880 + 8024 7988 7987 7880 + 8024 7987 8023 7880 + 7880 8024 7988 7881 + 8025 7989 7988 7881 + 8025 7988 8024 7881 + 7881 8025 7989 7882 + 8026 7990 7989 7882 + 8026 7989 8025 7882 + 7882 8026 7990 7883 + 8027 7991 7990 7883 + 8027 7990 8026 7883 + 7883 8027 7991 7884 + 8028 7992 7991 7884 + 8028 7991 8027 7884 + 7884 8028 7992 7885 + 8029 7993 7992 7885 + 8029 7992 8028 7885 + 7885 8029 7993 7886 + 8030 7994 7993 7886 + 8030 7993 8029 7886 + 214 218 217 7887 + 8031 7995 217 7887 + 8031 217 218 7887 + 7887 8031 7995 7888 + 8032 7996 7995 7888 + 8032 7995 8031 7888 + 7888 8032 7996 7889 + 8033 7997 7996 7889 + 8033 7996 8032 7889 + 7889 8033 7997 7890 + 8034 7998 7997 7890 + 8034 7997 8033 7890 + 7890 8034 7998 7891 + 8035 7999 7998 7891 + 8035 7998 8034 7891 + 7891 8035 7999 7892 + 8036 8000 7999 7892 + 8036 7999 8035 7892 + 7892 8036 8000 7893 + 8037 8001 8000 7893 + 8037 8000 8036 7893 + 7893 8037 8001 7894 + 8038 8002 8001 7894 + 8038 8001 8037 7894 + 7894 8038 8002 7895 + 8039 8003 8002 7895 + 8039 8002 8038 7895 + 7895 8039 8003 7896 + 8040 8004 8003 7896 + 8040 8003 8039 7896 + 7896 8040 8004 7897 + 8041 8005 8004 7897 + 8041 8004 8040 7897 + 7897 8041 8005 7898 + 8042 8006 8005 7898 + 8042 8005 8041 7898 + 7898 8042 8006 7899 + 8043 8007 8006 7899 + 8043 8006 8042 7899 + 7899 8043 8007 7900 + 8044 8008 8007 7900 + 8044 8007 8043 7900 + 7900 8044 8008 7901 + 8045 8009 8008 7901 + 8045 8008 8044 7901 + 7901 8045 8009 7902 + 8046 8010 8009 7902 + 8046 8009 8045 7902 + 7902 8046 8010 7903 + 8047 8011 8010 7903 + 8047 8010 8046 7903 + 7903 8047 8011 7904 + 8048 8012 8011 7904 + 8048 8011 8047 7904 + 7904 8048 8012 7905 + 8049 8013 8012 7905 + 8049 8012 8048 7905 + 7905 8049 8013 7906 + 8050 8014 8013 7906 + 8050 8013 8049 7906 + 7906 8050 8014 7907 + 8051 8015 8014 7907 + 8051 8014 8050 7907 + 7907 8051 8015 7908 + 8052 8016 8015 7908 + 8052 8015 8051 7908 + 7908 8052 8016 7909 + 8053 8017 8016 7909 + 8053 8016 8052 7909 + 7909 8053 8017 7910 + 8054 8018 8017 7910 + 8054 8017 8053 7910 + 7910 8054 8018 7911 + 8055 8019 8018 7911 + 8055 8018 8054 7911 + 7911 8055 8019 7912 + 8056 8020 8019 7912 + 8056 8019 8055 7912 + 7912 8056 8020 7913 + 8057 8021 8020 7913 + 8057 8020 8056 7913 + 7913 8057 8021 7914 + 8058 8022 8021 7914 + 8058 8021 8057 7914 + 7914 8058 8022 7915 + 8059 8023 8022 7915 + 8059 8022 8058 7915 + 7915 8059 8023 7916 + 8060 8024 8023 7916 + 8060 8023 8059 7916 + 7916 8060 8024 7917 + 8061 8025 8024 7917 + 8061 8024 8060 7917 + 7917 8061 8025 7918 + 8062 8026 8025 7918 + 8062 8025 8061 7918 + 7918 8062 8026 7919 + 8063 8027 8026 7919 + 8063 8026 8062 7919 + 7919 8063 8027 7920 + 8064 8028 8027 7920 + 8064 8027 8063 7920 + 7920 8064 8028 7921 + 8065 8029 8028 7921 + 8065 8028 8064 7921 + 7921 8065 8029 7922 + 8066 8030 8029 7922 + 8066 8029 8065 7922 + 138 143 218 5151 + 5331 8031 218 5151 + 5331 218 143 5151 + 5151 5331 8031 5152 + 5332 8032 8031 5152 + 5332 8031 5331 5152 + 5152 5332 8032 5153 + 5333 8033 8032 5153 + 5333 8032 5332 5153 + 5153 5333 8033 5154 + 5334 8034 8033 5154 + 5334 8033 5333 5154 + 5154 5334 8034 5155 + 5335 8035 8034 5155 + 5335 8034 5334 5155 + 5155 5335 8035 5156 + 5336 8036 8035 5156 + 5336 8035 5335 5156 + 5156 5336 8036 5157 + 5337 8037 8036 5157 + 5337 8036 5336 5157 + 5157 5337 8037 5158 + 5338 8038 8037 5158 + 5338 8037 5337 5158 + 5158 5338 8038 5159 + 5339 8039 8038 5159 + 5339 8038 5338 5159 + 5159 5339 8039 5160 + 5340 8040 8039 5160 + 5340 8039 5339 5160 + 5160 5340 8040 5161 + 5341 8041 8040 5161 + 5341 8040 5340 5161 + 5161 5341 8041 5162 + 5342 8042 8041 5162 + 5342 8041 5341 5162 + 5162 5342 8042 5163 + 5343 8043 8042 5163 + 5343 8042 5342 5163 + 5163 5343 8043 5164 + 5344 8044 8043 5164 + 5344 8043 5343 5164 + 5164 5344 8044 5165 + 5345 8045 8044 5165 + 5345 8044 5344 5165 + 5165 5345 8045 5166 + 5346 8046 8045 5166 + 5346 8045 5345 5166 + 5166 5346 8046 5167 + 5347 8047 8046 5167 + 5347 8046 5346 5167 + 5167 5347 8047 5168 + 5348 8048 8047 5168 + 5348 8047 5347 5168 + 5168 5348 8048 5169 + 5349 8049 8048 5169 + 5349 8048 5348 5169 + 5169 5349 8049 5170 + 5350 8050 8049 5170 + 5350 8049 5349 5170 + 5170 5350 8050 5171 + 5351 8051 8050 5171 + 5351 8050 5350 5171 + 5171 5351 8051 5172 + 5352 8052 8051 5172 + 5352 8051 5351 5172 + 5172 5352 8052 5173 + 5353 8053 8052 5173 + 5353 8052 5352 5173 + 5173 5353 8053 5174 + 5354 8054 8053 5174 + 5354 8053 5353 5174 + 5174 5354 8054 5175 + 5355 8055 8054 5175 + 5355 8054 5354 5175 + 5175 5355 8055 5176 + 5356 8056 8055 5176 + 5356 8055 5355 5176 + 5176 5356 8056 5177 + 5357 8057 8056 5177 + 5357 8056 5356 5177 + 5177 5357 8057 5178 + 5358 8058 8057 5178 + 5358 8057 5357 5178 + 5178 5358 8058 5179 + 5359 8059 8058 5179 + 5359 8058 5358 5179 + 5179 5359 8059 5180 + 5360 8060 8059 5180 + 5360 8059 5359 5180 + 5180 5360 8060 5181 + 5361 8061 8060 5181 + 5361 8060 5360 5181 + 5181 5361 8061 5182 + 5362 8062 8061 5182 + 5362 8061 5361 5182 + 5182 5362 8062 5183 + 5363 8063 8062 5183 + 5363 8062 5362 5183 + 5183 5363 8063 5184 + 5364 8064 8063 5184 + 5364 8063 5363 5184 + 5184 5364 8064 5185 + 5365 8065 8064 5185 + 5365 8064 5364 5185 + 5185 5365 8065 5186 + 5366 8066 8065 5186 + 5366 8065 5365 5186 + 7923 7815 7491 215 + 7491 7815 203 215 + 7815 212 203 215 + 7924 7816 7492 7923 + 7492 7816 7491 7923 + 7816 7815 7491 7923 + 7925 7817 7493 7924 + 7493 7817 7492 7924 + 7817 7816 7492 7924 + 7926 7818 7494 7925 + 7494 7818 7493 7925 + 7818 7817 7493 7925 + 7927 7819 7495 7926 + 7495 7819 7494 7926 + 7819 7818 7494 7926 + 7928 7820 7496 7927 + 7496 7820 7495 7927 + 7820 7819 7495 7927 + 7929 7821 7497 7928 + 7497 7821 7496 7928 + 7821 7820 7496 7928 + 7930 7822 7498 7929 + 7498 7822 7497 7929 + 7822 7821 7497 7929 + 7931 7823 7499 7930 + 7499 7823 7498 7930 + 7823 7822 7498 7930 + 7932 7824 7500 7931 + 7500 7824 7499 7931 + 7824 7823 7499 7931 + 7933 7825 7501 7932 + 7501 7825 7500 7932 + 7825 7824 7500 7932 + 7934 7826 7502 7933 + 7502 7826 7501 7933 + 7826 7825 7501 7933 + 7935 7827 7503 7934 + 7503 7827 7502 7934 + 7827 7826 7502 7934 + 7936 7828 7504 7935 + 7504 7828 7503 7935 + 7828 7827 7503 7935 + 7937 7829 7505 7936 + 7505 7829 7504 7936 + 7829 7828 7504 7936 + 7938 7830 7506 7937 + 7506 7830 7505 7937 + 7830 7829 7505 7937 + 7939 7831 7507 7938 + 7507 7831 7506 7938 + 7831 7830 7506 7938 + 7940 7832 7508 7939 + 7508 7832 7507 7939 + 7832 7831 7507 7939 + 7941 7833 7509 7940 + 7509 7833 7508 7940 + 7833 7832 7508 7940 + 7942 7834 7510 7941 + 7510 7834 7509 7941 + 7834 7833 7509 7941 + 7943 7835 7511 7942 + 7511 7835 7510 7942 + 7835 7834 7510 7942 + 7944 7836 7512 7943 + 7512 7836 7511 7943 + 7836 7835 7511 7943 + 7945 7837 7513 7944 + 7513 7837 7512 7944 + 7837 7836 7512 7944 + 7946 7838 7514 7945 + 7514 7838 7513 7945 + 7838 7837 7513 7945 + 7947 7839 7515 7946 + 7515 7839 7514 7946 + 7839 7838 7514 7946 + 7948 7840 7516 7947 + 7516 7840 7515 7947 + 7840 7839 7515 7947 + 7949 7841 7517 7948 + 7517 7841 7516 7948 + 7841 7840 7516 7948 + 7950 7842 7518 7949 + 7518 7842 7517 7949 + 7842 7841 7517 7949 + 7951 7843 7519 7950 + 7519 7843 7518 7950 + 7843 7842 7518 7950 + 7952 7844 7520 7951 + 7520 7844 7519 7951 + 7844 7843 7519 7951 + 7953 7845 7521 7952 + 7521 7845 7520 7952 + 7845 7844 7520 7952 + 7954 7846 7522 7953 + 7522 7846 7521 7953 + 7846 7845 7521 7953 + 7955 7847 7523 7954 + 7523 7847 7522 7954 + 7847 7846 7522 7954 + 7956 7848 7524 7955 + 7524 7848 7523 7955 + 7848 7847 7523 7955 + 7957 7849 7525 7956 + 7525 7849 7524 7956 + 7849 7848 7524 7956 + 7958 7850 7526 7957 + 7526 7850 7525 7957 + 7850 7849 7525 7957 + 7959 7851 7815 216 + 7815 7851 212 216 + 7851 213 212 216 + 7960 7852 7816 7959 + 7816 7852 7815 7959 + 7852 7851 7815 7959 + 7961 7853 7817 7960 + 7817 7853 7816 7960 + 7853 7852 7816 7960 + 7962 7854 7818 7961 + 7818 7854 7817 7961 + 7854 7853 7817 7961 + 7963 7855 7819 7962 + 7819 7855 7818 7962 + 7855 7854 7818 7962 + 7964 7856 7820 7963 + 7820 7856 7819 7963 + 7856 7855 7819 7963 + 7965 7857 7821 7964 + 7821 7857 7820 7964 + 7857 7856 7820 7964 + 7966 7858 7822 7965 + 7822 7858 7821 7965 + 7858 7857 7821 7965 + 7967 7859 7823 7966 + 7823 7859 7822 7966 + 7859 7858 7822 7966 + 7968 7860 7824 7967 + 7824 7860 7823 7967 + 7860 7859 7823 7967 + 7969 7861 7825 7968 + 7825 7861 7824 7968 + 7861 7860 7824 7968 + 7970 7862 7826 7969 + 7826 7862 7825 7969 + 7862 7861 7825 7969 + 7971 7863 7827 7970 + 7827 7863 7826 7970 + 7863 7862 7826 7970 + 7972 7864 7828 7971 + 7828 7864 7827 7971 + 7864 7863 7827 7971 + 7973 7865 7829 7972 + 7829 7865 7828 7972 + 7865 7864 7828 7972 + 7974 7866 7830 7973 + 7830 7866 7829 7973 + 7866 7865 7829 7973 + 7975 7867 7831 7974 + 7831 7867 7830 7974 + 7867 7866 7830 7974 + 7976 7868 7832 7975 + 7832 7868 7831 7975 + 7868 7867 7831 7975 + 7977 7869 7833 7976 + 7833 7869 7832 7976 + 7869 7868 7832 7976 + 7978 7870 7834 7977 + 7834 7870 7833 7977 + 7870 7869 7833 7977 + 7979 7871 7835 7978 + 7835 7871 7834 7978 + 7871 7870 7834 7978 + 7980 7872 7836 7979 + 7836 7872 7835 7979 + 7872 7871 7835 7979 + 7981 7873 7837 7980 + 7837 7873 7836 7980 + 7873 7872 7836 7980 + 7982 7874 7838 7981 + 7838 7874 7837 7981 + 7874 7873 7837 7981 + 7983 7875 7839 7982 + 7839 7875 7838 7982 + 7875 7874 7838 7982 + 7984 7876 7840 7983 + 7840 7876 7839 7983 + 7876 7875 7839 7983 + 7985 7877 7841 7984 + 7841 7877 7840 7984 + 7877 7876 7840 7984 + 7986 7878 7842 7985 + 7842 7878 7841 7985 + 7878 7877 7841 7985 + 7987 7879 7843 7986 + 7843 7879 7842 7986 + 7879 7878 7842 7986 + 7988 7880 7844 7987 + 7844 7880 7843 7987 + 7880 7879 7843 7987 + 7989 7881 7845 7988 + 7845 7881 7844 7988 + 7881 7880 7844 7988 + 7990 7882 7846 7989 + 7846 7882 7845 7989 + 7882 7881 7845 7989 + 7991 7883 7847 7990 + 7847 7883 7846 7990 + 7883 7882 7846 7990 + 7992 7884 7848 7991 + 7848 7884 7847 7991 + 7884 7883 7847 7991 + 7993 7885 7849 7992 + 7849 7885 7848 7992 + 7885 7884 7848 7992 + 7994 7886 7850 7993 + 7850 7886 7849 7993 + 7886 7885 7849 7993 + 7995 7887 7851 217 + 7851 7887 213 217 + 7887 214 213 217 + 7996 7888 7852 7995 + 7852 7888 7851 7995 + 7888 7887 7851 7995 + 7997 7889 7853 7996 + 7853 7889 7852 7996 + 7889 7888 7852 7996 + 7998 7890 7854 7997 + 7854 7890 7853 7997 + 7890 7889 7853 7997 + 7999 7891 7855 7998 + 7855 7891 7854 7998 + 7891 7890 7854 7998 + 8000 7892 7856 7999 + 7856 7892 7855 7999 + 7892 7891 7855 7999 + 8001 7893 7857 8000 + 7857 7893 7856 8000 + 7893 7892 7856 8000 + 8002 7894 7858 8001 + 7858 7894 7857 8001 + 7894 7893 7857 8001 + 8003 7895 7859 8002 + 7859 7895 7858 8002 + 7895 7894 7858 8002 + 8004 7896 7860 8003 + 7860 7896 7859 8003 + 7896 7895 7859 8003 + 8005 7897 7861 8004 + 7861 7897 7860 8004 + 7897 7896 7860 8004 + 8006 7898 7862 8005 + 7862 7898 7861 8005 + 7898 7897 7861 8005 + 8007 7899 7863 8006 + 7863 7899 7862 8006 + 7899 7898 7862 8006 + 8008 7900 7864 8007 + 7864 7900 7863 8007 + 7900 7899 7863 8007 + 8009 7901 7865 8008 + 7865 7901 7864 8008 + 7901 7900 7864 8008 + 8010 7902 7866 8009 + 7866 7902 7865 8009 + 7902 7901 7865 8009 + 8011 7903 7867 8010 + 7867 7903 7866 8010 + 7903 7902 7866 8010 + 8012 7904 7868 8011 + 7868 7904 7867 8011 + 7904 7903 7867 8011 + 8013 7905 7869 8012 + 7869 7905 7868 8012 + 7905 7904 7868 8012 + 8014 7906 7870 8013 + 7870 7906 7869 8013 + 7906 7905 7869 8013 + 8015 7907 7871 8014 + 7871 7907 7870 8014 + 7907 7906 7870 8014 + 8016 7908 7872 8015 + 7872 7908 7871 8015 + 7908 7907 7871 8015 + 8017 7909 7873 8016 + 7873 7909 7872 8016 + 7909 7908 7872 8016 + 8018 7910 7874 8017 + 7874 7910 7873 8017 + 7910 7909 7873 8017 + 8019 7911 7875 8018 + 7875 7911 7874 8018 + 7911 7910 7874 8018 + 8020 7912 7876 8019 + 7876 7912 7875 8019 + 7912 7911 7875 8019 + 8021 7913 7877 8020 + 7877 7913 7876 8020 + 7913 7912 7876 8020 + 8022 7914 7878 8021 + 7878 7914 7877 8021 + 7914 7913 7877 8021 + 8023 7915 7879 8022 + 7879 7915 7878 8022 + 7915 7914 7878 8022 + 8024 7916 7880 8023 + 7880 7916 7879 8023 + 7916 7915 7879 8023 + 8025 7917 7881 8024 + 7881 7917 7880 8024 + 7917 7916 7880 8024 + 8026 7918 7882 8025 + 7882 7918 7881 8025 + 7918 7917 7881 8025 + 8027 7919 7883 8026 + 7883 7919 7882 8026 + 7919 7918 7882 8026 + 8028 7920 7884 8027 + 7884 7920 7883 8027 + 7920 7919 7883 8027 + 8029 7921 7885 8028 + 7885 7921 7884 8028 + 7921 7920 7884 8028 + 8030 7922 7886 8029 + 7886 7922 7885 8029 + 7922 7921 7885 8029 + 8031 5151 7887 218 + 7887 5151 214 218 + 5151 138 214 218 + 8032 5152 7888 8031 + 7888 5152 7887 8031 + 5152 5151 7887 8031 + 8033 5153 7889 8032 + 7889 5153 7888 8032 + 5153 5152 7888 8032 + 8034 5154 7890 8033 + 7890 5154 7889 8033 + 5154 5153 7889 8033 + 8035 5155 7891 8034 + 7891 5155 7890 8034 + 5155 5154 7890 8034 + 8036 5156 7892 8035 + 7892 5156 7891 8035 + 5156 5155 7891 8035 + 8037 5157 7893 8036 + 7893 5157 7892 8036 + 5157 5156 7892 8036 + 8038 5158 7894 8037 + 7894 5158 7893 8037 + 5158 5157 7893 8037 + 8039 5159 7895 8038 + 7895 5159 7894 8038 + 5159 5158 7894 8038 + 8040 5160 7896 8039 + 7896 5160 7895 8039 + 5160 5159 7895 8039 + 8041 5161 7897 8040 + 7897 5161 7896 8040 + 5161 5160 7896 8040 + 8042 5162 7898 8041 + 7898 5162 7897 8041 + 5162 5161 7897 8041 + 8043 5163 7899 8042 + 7899 5163 7898 8042 + 5163 5162 7898 8042 + 8044 5164 7900 8043 + 7900 5164 7899 8043 + 5164 5163 7899 8043 + 8045 5165 7901 8044 + 7901 5165 7900 8044 + 5165 5164 7900 8044 + 8046 5166 7902 8045 + 7902 5166 7901 8045 + 5166 5165 7901 8045 + 8047 5167 7903 8046 + 7903 5167 7902 8046 + 5167 5166 7902 8046 + 8048 5168 7904 8047 + 7904 5168 7903 8047 + 5168 5167 7903 8047 + 8049 5169 7905 8048 + 7905 5169 7904 8048 + 5169 5168 7904 8048 + 8050 5170 7906 8049 + 7906 5170 7905 8049 + 5170 5169 7905 8049 + 8051 5171 7907 8050 + 7907 5171 7906 8050 + 5171 5170 7906 8050 + 8052 5172 7908 8051 + 7908 5172 7907 8051 + 5172 5171 7907 8051 + 8053 5173 7909 8052 + 7909 5173 7908 8052 + 5173 5172 7908 8052 + 8054 5174 7910 8053 + 7910 5174 7909 8053 + 5174 5173 7909 8053 + 8055 5175 7911 8054 + 7911 5175 7910 8054 + 5175 5174 7910 8054 + 8056 5176 7912 8055 + 7912 5176 7911 8055 + 5176 5175 7911 8055 + 8057 5177 7913 8056 + 7913 5177 7912 8056 + 5177 5176 7912 8056 + 8058 5178 7914 8057 + 7914 5178 7913 8057 + 5178 5177 7913 8057 + 8059 5179 7915 8058 + 7915 5179 7914 8058 + 5179 5178 7914 8058 + 8060 5180 7916 8059 + 7916 5180 7915 8059 + 5180 5179 7915 8059 + 8061 5181 7917 8060 + 7917 5181 7916 8060 + 5181 5180 7916 8060 + 8062 5182 7918 8061 + 7918 5182 7917 8061 + 5182 5181 7917 8061 + 8063 5183 7919 8062 + 7919 5183 7918 8062 + 5183 5182 7918 8062 + 8064 5184 7920 8063 + 7920 5184 7919 8063 + 5184 5183 7919 8063 + 8065 5185 7921 8064 + 7921 5185 7920 8064 + 5185 5184 7920 8064 + 8066 5186 7922 8065 + 7922 5186 7921 8065 + 5186 5185 7921 8065 + 208 123 112 7671 + 4611 4215 112 7671 + 4611 112 123 7671 + 7671 4611 4215 7672 + 4612 4216 4215 7672 + 4612 4215 4611 7672 + 7672 4612 4216 7673 + 4613 4217 4216 7673 + 4613 4216 4612 7673 + 7673 4613 4217 7674 + 4614 4218 4217 7674 + 4614 4217 4613 7674 + 7674 4614 4218 7675 + 4615 4219 4218 7675 + 4615 4218 4614 7675 + 7675 4615 4219 7676 + 4616 4220 4219 7676 + 4616 4219 4615 7676 + 7676 4616 4220 7677 + 4617 4221 4220 7677 + 4617 4220 4616 7677 + 7677 4617 4221 7678 + 4618 4222 4221 7678 + 4618 4221 4617 7678 + 7678 4618 4222 7679 + 4619 4223 4222 7679 + 4619 4222 4618 7679 + 7679 4619 4223 7680 + 4620 4224 4223 7680 + 4620 4223 4619 7680 + 7680 4620 4224 7681 + 4621 4225 4224 7681 + 4621 4224 4620 7681 + 7681 4621 4225 7682 + 4622 4226 4225 7682 + 4622 4225 4621 7682 + 7682 4622 4226 7683 + 4623 4227 4226 7683 + 4623 4226 4622 7683 + 7683 4623 4227 7684 + 4624 4228 4227 7684 + 4624 4227 4623 7684 + 7684 4624 4228 7685 + 4625 4229 4228 7685 + 4625 4228 4624 7685 + 7685 4625 4229 7686 + 4626 4230 4229 7686 + 4626 4229 4625 7686 + 7686 4626 4230 7687 + 4627 4231 4230 7687 + 4627 4230 4626 7687 + 7687 4627 4231 7688 + 4628 4232 4231 7688 + 4628 4231 4627 7688 + 7688 4628 4232 7689 + 4629 4233 4232 7689 + 4629 4232 4628 7689 + 7689 4629 4233 7690 + 4630 4234 4233 7690 + 4630 4233 4629 7690 + 7690 4630 4234 7691 + 4631 4235 4234 7691 + 4631 4234 4630 7691 + 7691 4631 4235 7692 + 4632 4236 4235 7692 + 4632 4235 4631 7692 + 7692 4632 4236 7693 + 4633 4237 4236 7693 + 4633 4236 4632 7693 + 7693 4633 4237 7694 + 4634 4238 4237 7694 + 4634 4237 4633 7694 + 7694 4634 4238 7695 + 4635 4239 4238 7695 + 4635 4238 4634 7695 + 7695 4635 4239 7696 + 4636 4240 4239 7696 + 4636 4239 4635 7696 + 7696 4636 4240 7697 + 4637 4241 4240 7697 + 4637 4240 4636 7697 + 7697 4637 4241 7698 + 4638 4242 4241 7698 + 4638 4241 4637 7698 + 7698 4638 4242 7699 + 4639 4243 4242 7699 + 4639 4242 4638 7699 + 7699 4639 4243 7700 + 4640 4244 4243 7700 + 4640 4243 4639 7700 + 7700 4640 4244 7701 + 4641 4245 4244 7701 + 4641 4244 4640 7701 + 7701 4641 4245 7702 + 4642 4246 4245 7702 + 4642 4245 4641 7702 + 7702 4642 4246 7703 + 4643 4247 4246 7703 + 4643 4246 4642 7703 + 7703 4643 4247 7704 + 4644 4248 4247 7704 + 4644 4247 4643 7704 + 7704 4644 4248 7705 + 4645 4249 4248 7705 + 4645 4248 4644 7705 + 7705 4645 4249 7706 + 4646 4250 4249 7706 + 4646 4249 4645 7706 + 215 124 123 7923 + 4647 4611 123 7923 + 4647 123 124 7923 + 7923 4647 4611 7924 + 4648 4612 4611 7924 + 4648 4611 4647 7924 + 7924 4648 4612 7925 + 4649 4613 4612 7925 + 4649 4612 4648 7925 + 7925 4649 4613 7926 + 4650 4614 4613 7926 + 4650 4613 4649 7926 + 7926 4650 4614 7927 + 4651 4615 4614 7927 + 4651 4614 4650 7927 + 7927 4651 4615 7928 + 4652 4616 4615 7928 + 4652 4615 4651 7928 + 7928 4652 4616 7929 + 4653 4617 4616 7929 + 4653 4616 4652 7929 + 7929 4653 4617 7930 + 4654 4618 4617 7930 + 4654 4617 4653 7930 + 7930 4654 4618 7931 + 4655 4619 4618 7931 + 4655 4618 4654 7931 + 7931 4655 4619 7932 + 4656 4620 4619 7932 + 4656 4619 4655 7932 + 7932 4656 4620 7933 + 4657 4621 4620 7933 + 4657 4620 4656 7933 + 7933 4657 4621 7934 + 4658 4622 4621 7934 + 4658 4621 4657 7934 + 7934 4658 4622 7935 + 4659 4623 4622 7935 + 4659 4622 4658 7935 + 7935 4659 4623 7936 + 4660 4624 4623 7936 + 4660 4623 4659 7936 + 7936 4660 4624 7937 + 4661 4625 4624 7937 + 4661 4624 4660 7937 + 7937 4661 4625 7938 + 4662 4626 4625 7938 + 4662 4625 4661 7938 + 7938 4662 4626 7939 + 4663 4627 4626 7939 + 4663 4626 4662 7939 + 7939 4663 4627 7940 + 4664 4628 4627 7940 + 4664 4627 4663 7940 + 7940 4664 4628 7941 + 4665 4629 4628 7941 + 4665 4628 4664 7941 + 7941 4665 4629 7942 + 4666 4630 4629 7942 + 4666 4629 4665 7942 + 7942 4666 4630 7943 + 4667 4631 4630 7943 + 4667 4630 4666 7943 + 7943 4667 4631 7944 + 4668 4632 4631 7944 + 4668 4631 4667 7944 + 7944 4668 4632 7945 + 4669 4633 4632 7945 + 4669 4632 4668 7945 + 7945 4669 4633 7946 + 4670 4634 4633 7946 + 4670 4633 4669 7946 + 7946 4670 4634 7947 + 4671 4635 4634 7947 + 4671 4634 4670 7947 + 7947 4671 4635 7948 + 4672 4636 4635 7948 + 4672 4635 4671 7948 + 7948 4672 4636 7949 + 4673 4637 4636 7949 + 4673 4636 4672 7949 + 7949 4673 4637 7950 + 4674 4638 4637 7950 + 4674 4637 4673 7950 + 7950 4674 4638 7951 + 4675 4639 4638 7951 + 4675 4638 4674 7951 + 7951 4675 4639 7952 + 4676 4640 4639 7952 + 4676 4639 4675 7952 + 7952 4676 4640 7953 + 4677 4641 4640 7953 + 4677 4640 4676 7953 + 7953 4677 4641 7954 + 4678 4642 4641 7954 + 4678 4641 4677 7954 + 7954 4678 4642 7955 + 4679 4643 4642 7955 + 4679 4642 4678 7955 + 7955 4679 4643 7956 + 4680 4644 4643 7956 + 4680 4643 4679 7956 + 7956 4680 4644 7957 + 4681 4645 4644 7957 + 4681 4644 4680 7957 + 7957 4681 4645 7958 + 4682 4646 4645 7958 + 4682 4645 4681 7958 + 216 125 124 7959 + 4683 4647 124 7959 + 4683 124 125 7959 + 7959 4683 4647 7960 + 4684 4648 4647 7960 + 4684 4647 4683 7960 + 7960 4684 4648 7961 + 4685 4649 4648 7961 + 4685 4648 4684 7961 + 7961 4685 4649 7962 + 4686 4650 4649 7962 + 4686 4649 4685 7962 + 7962 4686 4650 7963 + 4687 4651 4650 7963 + 4687 4650 4686 7963 + 7963 4687 4651 7964 + 4688 4652 4651 7964 + 4688 4651 4687 7964 + 7964 4688 4652 7965 + 4689 4653 4652 7965 + 4689 4652 4688 7965 + 7965 4689 4653 7966 + 4690 4654 4653 7966 + 4690 4653 4689 7966 + 7966 4690 4654 7967 + 4691 4655 4654 7967 + 4691 4654 4690 7967 + 7967 4691 4655 7968 + 4692 4656 4655 7968 + 4692 4655 4691 7968 + 7968 4692 4656 7969 + 4693 4657 4656 7969 + 4693 4656 4692 7969 + 7969 4693 4657 7970 + 4694 4658 4657 7970 + 4694 4657 4693 7970 + 7970 4694 4658 7971 + 4695 4659 4658 7971 + 4695 4658 4694 7971 + 7971 4695 4659 7972 + 4696 4660 4659 7972 + 4696 4659 4695 7972 + 7972 4696 4660 7973 + 4697 4661 4660 7973 + 4697 4660 4696 7973 + 7973 4697 4661 7974 + 4698 4662 4661 7974 + 4698 4661 4697 7974 + 7974 4698 4662 7975 + 4699 4663 4662 7975 + 4699 4662 4698 7975 + 7975 4699 4663 7976 + 4700 4664 4663 7976 + 4700 4663 4699 7976 + 7976 4700 4664 7977 + 4701 4665 4664 7977 + 4701 4664 4700 7977 + 7977 4701 4665 7978 + 4702 4666 4665 7978 + 4702 4665 4701 7978 + 7978 4702 4666 7979 + 4703 4667 4666 7979 + 4703 4666 4702 7979 + 7979 4703 4667 7980 + 4704 4668 4667 7980 + 4704 4667 4703 7980 + 7980 4704 4668 7981 + 4705 4669 4668 7981 + 4705 4668 4704 7981 + 7981 4705 4669 7982 + 4706 4670 4669 7982 + 4706 4669 4705 7982 + 7982 4706 4670 7983 + 4707 4671 4670 7983 + 4707 4670 4706 7983 + 7983 4707 4671 7984 + 4708 4672 4671 7984 + 4708 4671 4707 7984 + 7984 4708 4672 7985 + 4709 4673 4672 7985 + 4709 4672 4708 7985 + 7985 4709 4673 7986 + 4710 4674 4673 7986 + 4710 4673 4709 7986 + 7986 4710 4674 7987 + 4711 4675 4674 7987 + 4711 4674 4710 7987 + 7987 4711 4675 7988 + 4712 4676 4675 7988 + 4712 4675 4711 7988 + 7988 4712 4676 7989 + 4713 4677 4676 7989 + 4713 4676 4712 7989 + 7989 4713 4677 7990 + 4714 4678 4677 7990 + 4714 4677 4713 7990 + 7990 4714 4678 7991 + 4715 4679 4678 7991 + 4715 4678 4714 7991 + 7991 4715 4679 7992 + 4716 4680 4679 7992 + 4716 4679 4715 7992 + 7992 4716 4680 7993 + 4717 4681 4680 7993 + 4717 4680 4716 7993 + 7993 4717 4681 7994 + 4718 4682 4681 7994 + 4718 4681 4717 7994 + 217 126 125 7995 + 4719 4683 125 7995 + 4719 125 126 7995 + 7995 4719 4683 7996 + 4720 4684 4683 7996 + 4720 4683 4719 7996 + 7996 4720 4684 7997 + 4721 4685 4684 7997 + 4721 4684 4720 7997 + 7997 4721 4685 7998 + 4722 4686 4685 7998 + 4722 4685 4721 7998 + 7998 4722 4686 7999 + 4723 4687 4686 7999 + 4723 4686 4722 7999 + 7999 4723 4687 8000 + 4724 4688 4687 8000 + 4724 4687 4723 8000 + 8000 4724 4688 8001 + 4725 4689 4688 8001 + 4725 4688 4724 8001 + 8001 4725 4689 8002 + 4726 4690 4689 8002 + 4726 4689 4725 8002 + 8002 4726 4690 8003 + 4727 4691 4690 8003 + 4727 4690 4726 8003 + 8003 4727 4691 8004 + 4728 4692 4691 8004 + 4728 4691 4727 8004 + 8004 4728 4692 8005 + 4729 4693 4692 8005 + 4729 4692 4728 8005 + 8005 4729 4693 8006 + 4730 4694 4693 8006 + 4730 4693 4729 8006 + 8006 4730 4694 8007 + 4731 4695 4694 8007 + 4731 4694 4730 8007 + 8007 4731 4695 8008 + 4732 4696 4695 8008 + 4732 4695 4731 8008 + 8008 4732 4696 8009 + 4733 4697 4696 8009 + 4733 4696 4732 8009 + 8009 4733 4697 8010 + 4734 4698 4697 8010 + 4734 4697 4733 8010 + 8010 4734 4698 8011 + 4735 4699 4698 8011 + 4735 4698 4734 8011 + 8011 4735 4699 8012 + 4736 4700 4699 8012 + 4736 4699 4735 8012 + 8012 4736 4700 8013 + 4737 4701 4700 8013 + 4737 4700 4736 8013 + 8013 4737 4701 8014 + 4738 4702 4701 8014 + 4738 4701 4737 8014 + 8014 4738 4702 8015 + 4739 4703 4702 8015 + 4739 4702 4738 8015 + 8015 4739 4703 8016 + 4740 4704 4703 8016 + 4740 4703 4739 8016 + 8016 4740 4704 8017 + 4741 4705 4704 8017 + 4741 4704 4740 8017 + 8017 4741 4705 8018 + 4742 4706 4705 8018 + 4742 4705 4741 8018 + 8018 4742 4706 8019 + 4743 4707 4706 8019 + 4743 4706 4742 8019 + 8019 4743 4707 8020 + 4744 4708 4707 8020 + 4744 4707 4743 8020 + 8020 4744 4708 8021 + 4745 4709 4708 8021 + 4745 4708 4744 8021 + 8021 4745 4709 8022 + 4746 4710 4709 8022 + 4746 4709 4745 8022 + 8022 4746 4710 8023 + 4747 4711 4710 8023 + 4747 4710 4746 8023 + 8023 4747 4711 8024 + 4748 4712 4711 8024 + 4748 4711 4747 8024 + 8024 4748 4712 8025 + 4749 4713 4712 8025 + 4749 4712 4748 8025 + 8025 4749 4713 8026 + 4750 4714 4713 8026 + 4750 4713 4749 8026 + 8026 4750 4714 8027 + 4751 4715 4714 8027 + 4751 4714 4750 8027 + 8027 4751 4715 8028 + 4752 4716 4715 8028 + 4752 4715 4751 8028 + 8028 4752 4716 8029 + 4753 4717 4716 8029 + 4753 4716 4752 8029 + 8029 4753 4717 8030 + 4754 4718 4717 8030 + 4754 4717 4753 8030 + 218 127 126 8031 + 4755 4719 126 8031 + 4755 126 127 8031 + 8031 4755 4719 8032 + 4756 4720 4719 8032 + 4756 4719 4755 8032 + 8032 4756 4720 8033 + 4757 4721 4720 8033 + 4757 4720 4756 8033 + 8033 4757 4721 8034 + 4758 4722 4721 8034 + 4758 4721 4757 8034 + 8034 4758 4722 8035 + 4759 4723 4722 8035 + 4759 4722 4758 8035 + 8035 4759 4723 8036 + 4760 4724 4723 8036 + 4760 4723 4759 8036 + 8036 4760 4724 8037 + 4761 4725 4724 8037 + 4761 4724 4760 8037 + 8037 4761 4725 8038 + 4762 4726 4725 8038 + 4762 4725 4761 8038 + 8038 4762 4726 8039 + 4763 4727 4726 8039 + 4763 4726 4762 8039 + 8039 4763 4727 8040 + 4764 4728 4727 8040 + 4764 4727 4763 8040 + 8040 4764 4728 8041 + 4765 4729 4728 8041 + 4765 4728 4764 8041 + 8041 4765 4729 8042 + 4766 4730 4729 8042 + 4766 4729 4765 8042 + 8042 4766 4730 8043 + 4767 4731 4730 8043 + 4767 4730 4766 8043 + 8043 4767 4731 8044 + 4768 4732 4731 8044 + 4768 4731 4767 8044 + 8044 4768 4732 8045 + 4769 4733 4732 8045 + 4769 4732 4768 8045 + 8045 4769 4733 8046 + 4770 4734 4733 8046 + 4770 4733 4769 8046 + 8046 4770 4734 8047 + 4771 4735 4734 8047 + 4771 4734 4770 8047 + 8047 4771 4735 8048 + 4772 4736 4735 8048 + 4772 4735 4771 8048 + 8048 4772 4736 8049 + 4773 4737 4736 8049 + 4773 4736 4772 8049 + 8049 4773 4737 8050 + 4774 4738 4737 8050 + 4774 4737 4773 8050 + 8050 4774 4738 8051 + 4775 4739 4738 8051 + 4775 4738 4774 8051 + 8051 4775 4739 8052 + 4776 4740 4739 8052 + 4776 4739 4775 8052 + 8052 4776 4740 8053 + 4777 4741 4740 8053 + 4777 4740 4776 8053 + 8053 4777 4741 8054 + 4778 4742 4741 8054 + 4778 4741 4777 8054 + 8054 4778 4742 8055 + 4779 4743 4742 8055 + 4779 4742 4778 8055 + 8055 4779 4743 8056 + 4780 4744 4743 8056 + 4780 4743 4779 8056 + 8056 4780 4744 8057 + 4781 4745 4744 8057 + 4781 4744 4780 8057 + 8057 4781 4745 8058 + 4782 4746 4745 8058 + 4782 4745 4781 8058 + 8058 4782 4746 8059 + 4783 4747 4746 8059 + 4783 4746 4782 8059 + 8059 4783 4747 8060 + 4784 4748 4747 8060 + 4784 4747 4783 8060 + 8060 4784 4748 8061 + 4785 4749 4748 8061 + 4785 4748 4784 8061 + 8061 4785 4749 8062 + 4786 4750 4749 8062 + 4786 4749 4785 8062 + 8062 4786 4750 8063 + 4787 4751 4750 8063 + 4787 4750 4786 8063 + 8063 4787 4751 8064 + 4788 4752 4751 8064 + 4788 4751 4787 8064 + 8064 4788 4752 8065 + 4789 4753 4752 8065 + 4789 4752 4788 8065 + 8065 4789 4753 8066 + 4790 4754 4753 8066 + 4790 4753 4789 8066 + 143 22 127 5331 + 975 4755 127 5331 + 975 127 22 5331 + 5331 975 4755 5332 + 976 4756 4755 5332 + 976 4755 975 5332 + 5332 976 4756 5333 + 977 4757 4756 5333 + 977 4756 976 5333 + 5333 977 4757 5334 + 978 4758 4757 5334 + 978 4757 977 5334 + 5334 978 4758 5335 + 979 4759 4758 5335 + 979 4758 978 5335 + 5335 979 4759 5336 + 980 4760 4759 5336 + 980 4759 979 5336 + 5336 980 4760 5337 + 981 4761 4760 5337 + 981 4760 980 5337 + 5337 981 4761 5338 + 982 4762 4761 5338 + 982 4761 981 5338 + 5338 982 4762 5339 + 983 4763 4762 5339 + 983 4762 982 5339 + 5339 983 4763 5340 + 984 4764 4763 5340 + 984 4763 983 5340 + 5340 984 4764 5341 + 985 4765 4764 5341 + 985 4764 984 5341 + 5341 985 4765 5342 + 986 4766 4765 5342 + 986 4765 985 5342 + 5342 986 4766 5343 + 987 4767 4766 5343 + 987 4766 986 5343 + 5343 987 4767 5344 + 988 4768 4767 5344 + 988 4767 987 5344 + 5344 988 4768 5345 + 989 4769 4768 5345 + 989 4768 988 5345 + 5345 989 4769 5346 + 990 4770 4769 5346 + 990 4769 989 5346 + 5346 990 4770 5347 + 991 4771 4770 5347 + 991 4770 990 5347 + 5347 991 4771 5348 + 992 4772 4771 5348 + 992 4771 991 5348 + 5348 992 4772 5349 + 993 4773 4772 5349 + 993 4772 992 5349 + 5349 993 4773 5350 + 994 4774 4773 5350 + 994 4773 993 5350 + 5350 994 4774 5351 + 995 4775 4774 5351 + 995 4774 994 5351 + 5351 995 4775 5352 + 996 4776 4775 5352 + 996 4775 995 5352 + 5352 996 4776 5353 + 997 4777 4776 5353 + 997 4776 996 5353 + 5353 997 4777 5354 + 998 4778 4777 5354 + 998 4777 997 5354 + 5354 998 4778 5355 + 999 4779 4778 5355 + 999 4778 998 5355 + 5355 999 4779 5356 + 1000 4780 4779 5356 + 1000 4779 999 5356 + 5356 1000 4780 5357 + 1001 4781 4780 5357 + 1001 4780 1000 5357 + 5357 1001 4781 5358 + 1002 4782 4781 5358 + 1002 4781 1001 5358 + 5358 1002 4782 5359 + 1003 4783 4782 5359 + 1003 4782 1002 5359 + 5359 1003 4783 5360 + 1004 4784 4783 5360 + 1004 4783 1003 5360 + 5360 1004 4784 5361 + 1005 4785 4784 5361 + 1005 4784 1004 5361 + 5361 1005 4785 5362 + 1006 4786 4785 5362 + 1006 4785 1005 5362 + 5362 1006 4786 5363 + 1007 4787 4786 5363 + 1007 4786 1006 5363 + 5363 1007 4787 5364 + 1008 4788 4787 5364 + 1008 4787 1007 5364 + 5364 1008 4788 5365 + 1009 4789 4788 5365 + 1009 4788 1008 5365 + 5365 1009 4789 5366 + 1010 4790 4789 5366 + 1010 4789 1009 5366 + 4611 7923 7671 123 + 7671 7923 208 123 + 7923 215 208 123 + 4612 7924 7672 4611 + 7672 7924 7671 4611 + 7924 7923 7671 4611 + 4613 7925 7673 4612 + 7673 7925 7672 4612 + 7925 7924 7672 4612 + 4614 7926 7674 4613 + 7674 7926 7673 4613 + 7926 7925 7673 4613 + 4615 7927 7675 4614 + 7675 7927 7674 4614 + 7927 7926 7674 4614 + 4616 7928 7676 4615 + 7676 7928 7675 4615 + 7928 7927 7675 4615 + 4617 7929 7677 4616 + 7677 7929 7676 4616 + 7929 7928 7676 4616 + 4618 7930 7678 4617 + 7678 7930 7677 4617 + 7930 7929 7677 4617 + 4619 7931 7679 4618 + 7679 7931 7678 4618 + 7931 7930 7678 4618 + 4620 7932 7680 4619 + 7680 7932 7679 4619 + 7932 7931 7679 4619 + 4621 7933 7681 4620 + 7681 7933 7680 4620 + 7933 7932 7680 4620 + 4622 7934 7682 4621 + 7682 7934 7681 4621 + 7934 7933 7681 4621 + 4623 7935 7683 4622 + 7683 7935 7682 4622 + 7935 7934 7682 4622 + 4624 7936 7684 4623 + 7684 7936 7683 4623 + 7936 7935 7683 4623 + 4625 7937 7685 4624 + 7685 7937 7684 4624 + 7937 7936 7684 4624 + 4626 7938 7686 4625 + 7686 7938 7685 4625 + 7938 7937 7685 4625 + 4627 7939 7687 4626 + 7687 7939 7686 4626 + 7939 7938 7686 4626 + 4628 7940 7688 4627 + 7688 7940 7687 4627 + 7940 7939 7687 4627 + 4629 7941 7689 4628 + 7689 7941 7688 4628 + 7941 7940 7688 4628 + 4630 7942 7690 4629 + 7690 7942 7689 4629 + 7942 7941 7689 4629 + 4631 7943 7691 4630 + 7691 7943 7690 4630 + 7943 7942 7690 4630 + 4632 7944 7692 4631 + 7692 7944 7691 4631 + 7944 7943 7691 4631 + 4633 7945 7693 4632 + 7693 7945 7692 4632 + 7945 7944 7692 4632 + 4634 7946 7694 4633 + 7694 7946 7693 4633 + 7946 7945 7693 4633 + 4635 7947 7695 4634 + 7695 7947 7694 4634 + 7947 7946 7694 4634 + 4636 7948 7696 4635 + 7696 7948 7695 4635 + 7948 7947 7695 4635 + 4637 7949 7697 4636 + 7697 7949 7696 4636 + 7949 7948 7696 4636 + 4638 7950 7698 4637 + 7698 7950 7697 4637 + 7950 7949 7697 4637 + 4639 7951 7699 4638 + 7699 7951 7698 4638 + 7951 7950 7698 4638 + 4640 7952 7700 4639 + 7700 7952 7699 4639 + 7952 7951 7699 4639 + 4641 7953 7701 4640 + 7701 7953 7700 4640 + 7953 7952 7700 4640 + 4642 7954 7702 4641 + 7702 7954 7701 4641 + 7954 7953 7701 4641 + 4643 7955 7703 4642 + 7703 7955 7702 4642 + 7955 7954 7702 4642 + 4644 7956 7704 4643 + 7704 7956 7703 4643 + 7956 7955 7703 4643 + 4645 7957 7705 4644 + 7705 7957 7704 4644 + 7957 7956 7704 4644 + 4646 7958 7706 4645 + 7706 7958 7705 4645 + 7958 7957 7705 4645 + 4647 7959 7923 124 + 7923 7959 215 124 + 7959 216 215 124 + 4648 7960 7924 4647 + 7924 7960 7923 4647 + 7960 7959 7923 4647 + 4649 7961 7925 4648 + 7925 7961 7924 4648 + 7961 7960 7924 4648 + 4650 7962 7926 4649 + 7926 7962 7925 4649 + 7962 7961 7925 4649 + 4651 7963 7927 4650 + 7927 7963 7926 4650 + 7963 7962 7926 4650 + 4652 7964 7928 4651 + 7928 7964 7927 4651 + 7964 7963 7927 4651 + 4653 7965 7929 4652 + 7929 7965 7928 4652 + 7965 7964 7928 4652 + 4654 7966 7930 4653 + 7930 7966 7929 4653 + 7966 7965 7929 4653 + 4655 7967 7931 4654 + 7931 7967 7930 4654 + 7967 7966 7930 4654 + 4656 7968 7932 4655 + 7932 7968 7931 4655 + 7968 7967 7931 4655 + 4657 7969 7933 4656 + 7933 7969 7932 4656 + 7969 7968 7932 4656 + 4658 7970 7934 4657 + 7934 7970 7933 4657 + 7970 7969 7933 4657 + 4659 7971 7935 4658 + 7935 7971 7934 4658 + 7971 7970 7934 4658 + 4660 7972 7936 4659 + 7936 7972 7935 4659 + 7972 7971 7935 4659 + 4661 7973 7937 4660 + 7937 7973 7936 4660 + 7973 7972 7936 4660 + 4662 7974 7938 4661 + 7938 7974 7937 4661 + 7974 7973 7937 4661 + 4663 7975 7939 4662 + 7939 7975 7938 4662 + 7975 7974 7938 4662 + 4664 7976 7940 4663 + 7940 7976 7939 4663 + 7976 7975 7939 4663 + 4665 7977 7941 4664 + 7941 7977 7940 4664 + 7977 7976 7940 4664 + 4666 7978 7942 4665 + 7942 7978 7941 4665 + 7978 7977 7941 4665 + 4667 7979 7943 4666 + 7943 7979 7942 4666 + 7979 7978 7942 4666 + 4668 7980 7944 4667 + 7944 7980 7943 4667 + 7980 7979 7943 4667 + 4669 7981 7945 4668 + 7945 7981 7944 4668 + 7981 7980 7944 4668 + 4670 7982 7946 4669 + 7946 7982 7945 4669 + 7982 7981 7945 4669 + 4671 7983 7947 4670 + 7947 7983 7946 4670 + 7983 7982 7946 4670 + 4672 7984 7948 4671 + 7948 7984 7947 4671 + 7984 7983 7947 4671 + 4673 7985 7949 4672 + 7949 7985 7948 4672 + 7985 7984 7948 4672 + 4674 7986 7950 4673 + 7950 7986 7949 4673 + 7986 7985 7949 4673 + 4675 7987 7951 4674 + 7951 7987 7950 4674 + 7987 7986 7950 4674 + 4676 7988 7952 4675 + 7952 7988 7951 4675 + 7988 7987 7951 4675 + 4677 7989 7953 4676 + 7953 7989 7952 4676 + 7989 7988 7952 4676 + 4678 7990 7954 4677 + 7954 7990 7953 4677 + 7990 7989 7953 4677 + 4679 7991 7955 4678 + 7955 7991 7954 4678 + 7991 7990 7954 4678 + 4680 7992 7956 4679 + 7956 7992 7955 4679 + 7992 7991 7955 4679 + 4681 7993 7957 4680 + 7957 7993 7956 4680 + 7993 7992 7956 4680 + 4682 7994 7958 4681 + 7958 7994 7957 4681 + 7994 7993 7957 4681 + 4683 7995 7959 125 + 7959 7995 216 125 + 7995 217 216 125 + 4684 7996 7960 4683 + 7960 7996 7959 4683 + 7996 7995 7959 4683 + 4685 7997 7961 4684 + 7961 7997 7960 4684 + 7997 7996 7960 4684 + 4686 7998 7962 4685 + 7962 7998 7961 4685 + 7998 7997 7961 4685 + 4687 7999 7963 4686 + 7963 7999 7962 4686 + 7999 7998 7962 4686 + 4688 8000 7964 4687 + 7964 8000 7963 4687 + 8000 7999 7963 4687 + 4689 8001 7965 4688 + 7965 8001 7964 4688 + 8001 8000 7964 4688 + 4690 8002 7966 4689 + 7966 8002 7965 4689 + 8002 8001 7965 4689 + 4691 8003 7967 4690 + 7967 8003 7966 4690 + 8003 8002 7966 4690 + 4692 8004 7968 4691 + 7968 8004 7967 4691 + 8004 8003 7967 4691 + 4693 8005 7969 4692 + 7969 8005 7968 4692 + 8005 8004 7968 4692 + 4694 8006 7970 4693 + 7970 8006 7969 4693 + 8006 8005 7969 4693 + 4695 8007 7971 4694 + 7971 8007 7970 4694 + 8007 8006 7970 4694 + 4696 8008 7972 4695 + 7972 8008 7971 4695 + 8008 8007 7971 4695 + 4697 8009 7973 4696 + 7973 8009 7972 4696 + 8009 8008 7972 4696 + 4698 8010 7974 4697 + 7974 8010 7973 4697 + 8010 8009 7973 4697 + 4699 8011 7975 4698 + 7975 8011 7974 4698 + 8011 8010 7974 4698 + 4700 8012 7976 4699 + 7976 8012 7975 4699 + 8012 8011 7975 4699 + 4701 8013 7977 4700 + 7977 8013 7976 4700 + 8013 8012 7976 4700 + 4702 8014 7978 4701 + 7978 8014 7977 4701 + 8014 8013 7977 4701 + 4703 8015 7979 4702 + 7979 8015 7978 4702 + 8015 8014 7978 4702 + 4704 8016 7980 4703 + 7980 8016 7979 4703 + 8016 8015 7979 4703 + 4705 8017 7981 4704 + 7981 8017 7980 4704 + 8017 8016 7980 4704 + 4706 8018 7982 4705 + 7982 8018 7981 4705 + 8018 8017 7981 4705 + 4707 8019 7983 4706 + 7983 8019 7982 4706 + 8019 8018 7982 4706 + 4708 8020 7984 4707 + 7984 8020 7983 4707 + 8020 8019 7983 4707 + 4709 8021 7985 4708 + 7985 8021 7984 4708 + 8021 8020 7984 4708 + 4710 8022 7986 4709 + 7986 8022 7985 4709 + 8022 8021 7985 4709 + 4711 8023 7987 4710 + 7987 8023 7986 4710 + 8023 8022 7986 4710 + 4712 8024 7988 4711 + 7988 8024 7987 4711 + 8024 8023 7987 4711 + 4713 8025 7989 4712 + 7989 8025 7988 4712 + 8025 8024 7988 4712 + 4714 8026 7990 4713 + 7990 8026 7989 4713 + 8026 8025 7989 4713 + 4715 8027 7991 4714 + 7991 8027 7990 4714 + 8027 8026 7990 4714 + 4716 8028 7992 4715 + 7992 8028 7991 4715 + 8028 8027 7991 4715 + 4717 8029 7993 4716 + 7993 8029 7992 4716 + 8029 8028 7992 4716 + 4718 8030 7994 4717 + 7994 8030 7993 4717 + 8030 8029 7993 4717 + 4719 8031 7995 126 + 7995 8031 217 126 + 8031 218 217 126 + 4720 8032 7996 4719 + 7996 8032 7995 4719 + 8032 8031 7995 4719 + 4721 8033 7997 4720 + 7997 8033 7996 4720 + 8033 8032 7996 4720 + 4722 8034 7998 4721 + 7998 8034 7997 4721 + 8034 8033 7997 4721 + 4723 8035 7999 4722 + 7999 8035 7998 4722 + 8035 8034 7998 4722 + 4724 8036 8000 4723 + 8000 8036 7999 4723 + 8036 8035 7999 4723 + 4725 8037 8001 4724 + 8001 8037 8000 4724 + 8037 8036 8000 4724 + 4726 8038 8002 4725 + 8002 8038 8001 4725 + 8038 8037 8001 4725 + 4727 8039 8003 4726 + 8003 8039 8002 4726 + 8039 8038 8002 4726 + 4728 8040 8004 4727 + 8004 8040 8003 4727 + 8040 8039 8003 4727 + 4729 8041 8005 4728 + 8005 8041 8004 4728 + 8041 8040 8004 4728 + 4730 8042 8006 4729 + 8006 8042 8005 4729 + 8042 8041 8005 4729 + 4731 8043 8007 4730 + 8007 8043 8006 4730 + 8043 8042 8006 4730 + 4732 8044 8008 4731 + 8008 8044 8007 4731 + 8044 8043 8007 4731 + 4733 8045 8009 4732 + 8009 8045 8008 4732 + 8045 8044 8008 4732 + 4734 8046 8010 4733 + 8010 8046 8009 4733 + 8046 8045 8009 4733 + 4735 8047 8011 4734 + 8011 8047 8010 4734 + 8047 8046 8010 4734 + 4736 8048 8012 4735 + 8012 8048 8011 4735 + 8048 8047 8011 4735 + 4737 8049 8013 4736 + 8013 8049 8012 4736 + 8049 8048 8012 4736 + 4738 8050 8014 4737 + 8014 8050 8013 4737 + 8050 8049 8013 4737 + 4739 8051 8015 4738 + 8015 8051 8014 4738 + 8051 8050 8014 4738 + 4740 8052 8016 4739 + 8016 8052 8015 4739 + 8052 8051 8015 4739 + 4741 8053 8017 4740 + 8017 8053 8016 4740 + 8053 8052 8016 4740 + 4742 8054 8018 4741 + 8018 8054 8017 4741 + 8054 8053 8017 4741 + 4743 8055 8019 4742 + 8019 8055 8018 4742 + 8055 8054 8018 4742 + 4744 8056 8020 4743 + 8020 8056 8019 4743 + 8056 8055 8019 4743 + 4745 8057 8021 4744 + 8021 8057 8020 4744 + 8057 8056 8020 4744 + 4746 8058 8022 4745 + 8022 8058 8021 4745 + 8058 8057 8021 4745 + 4747 8059 8023 4746 + 8023 8059 8022 4746 + 8059 8058 8022 4746 + 4748 8060 8024 4747 + 8024 8060 8023 4747 + 8060 8059 8023 4747 + 4749 8061 8025 4748 + 8025 8061 8024 4748 + 8061 8060 8024 4748 + 4750 8062 8026 4749 + 8026 8062 8025 4749 + 8062 8061 8025 4749 + 4751 8063 8027 4750 + 8027 8063 8026 4750 + 8063 8062 8026 4750 + 4752 8064 8028 4751 + 8028 8064 8027 4751 + 8064 8063 8027 4751 + 4753 8065 8029 4752 + 8029 8065 8028 4752 + 8065 8064 8028 4752 + 4754 8066 8030 4753 + 8030 8066 8029 4753 + 8066 8065 8029 4753 + 4755 5331 8031 127 + 8031 5331 218 127 + 5331 143 218 127 + 4756 5332 8032 4755 + 8032 5332 8031 4755 + 5332 5331 8031 4755 + 4757 5333 8033 4756 + 8033 5333 8032 4756 + 5333 5332 8032 4756 + 4758 5334 8034 4757 + 8034 5334 8033 4757 + 5334 5333 8033 4757 + 4759 5335 8035 4758 + 8035 5335 8034 4758 + 5335 5334 8034 4758 + 4760 5336 8036 4759 + 8036 5336 8035 4759 + 5336 5335 8035 4759 + 4761 5337 8037 4760 + 8037 5337 8036 4760 + 5337 5336 8036 4760 + 4762 5338 8038 4761 + 8038 5338 8037 4761 + 5338 5337 8037 4761 + 4763 5339 8039 4762 + 8039 5339 8038 4762 + 5339 5338 8038 4762 + 4764 5340 8040 4763 + 8040 5340 8039 4763 + 5340 5339 8039 4763 + 4765 5341 8041 4764 + 8041 5341 8040 4764 + 5341 5340 8040 4764 + 4766 5342 8042 4765 + 8042 5342 8041 4765 + 5342 5341 8041 4765 + 4767 5343 8043 4766 + 8043 5343 8042 4766 + 5343 5342 8042 4766 + 4768 5344 8044 4767 + 8044 5344 8043 4767 + 5344 5343 8043 4767 + 4769 5345 8045 4768 + 8045 5345 8044 4768 + 5345 5344 8044 4768 + 4770 5346 8046 4769 + 8046 5346 8045 4769 + 5346 5345 8045 4769 + 4771 5347 8047 4770 + 8047 5347 8046 4770 + 5347 5346 8046 4770 + 4772 5348 8048 4771 + 8048 5348 8047 4771 + 5348 5347 8047 4771 + 4773 5349 8049 4772 + 8049 5349 8048 4772 + 5349 5348 8048 4772 + 4774 5350 8050 4773 + 8050 5350 8049 4773 + 5350 5349 8049 4773 + 4775 5351 8051 4774 + 8051 5351 8050 4774 + 5351 5350 8050 4774 + 4776 5352 8052 4775 + 8052 5352 8051 4775 + 5352 5351 8051 4775 + 4777 5353 8053 4776 + 8053 5353 8052 4776 + 5353 5352 8052 4776 + 4778 5354 8054 4777 + 8054 5354 8053 4777 + 5354 5353 8053 4777 + 4779 5355 8055 4778 + 8055 5355 8054 4778 + 5355 5354 8054 4778 + 4780 5356 8056 4779 + 8056 5356 8055 4779 + 5356 5355 8055 4779 + 4781 5357 8057 4780 + 8057 5357 8056 4780 + 5357 5356 8056 4780 + 4782 5358 8058 4781 + 8058 5358 8057 4781 + 5358 5357 8057 4781 + 4783 5359 8059 4782 + 8059 5359 8058 4782 + 5359 5358 8058 4782 + 4784 5360 8060 4783 + 8060 5360 8059 4783 + 5360 5359 8059 4783 + 4785 5361 8061 4784 + 8061 5361 8060 4784 + 5361 5360 8060 4784 + 4786 5362 8062 4785 + 8062 5362 8061 4785 + 5362 5361 8061 4785 + 4787 5363 8063 4786 + 8063 5363 8062 4786 + 5363 5362 8062 4786 + 4788 5364 8064 4787 + 8064 5364 8063 4787 + 5364 5363 8063 4787 + 4789 5365 8065 4788 + 8065 5365 8064 4788 + 5365 5364 8064 4788 + 4790 5366 8066 4789 + 8066 5366 8065 4789 + 5366 5365 8065 4789 diff --git a/tests/regression/meshconv/exo_output/sphere_tetra.exo.std b/tests/regression/meshconv/exo_output/sphere_tetra.exo.std new file mode 100644 index 00000000000..a3bdfd92cf0 Binary files /dev/null and b/tests/regression/meshconv/exo_output/sphere_tetra.exo.std differ diff --git a/tests/unit/Base/MigratedTypes.hpp b/tests/unit/Base/MigratedTypes.hpp index 9c0f3869144..7b16d80f262 100644 --- a/tests/unit/Base/MigratedTypes.hpp +++ b/tests/unit/Base/MigratedTypes.hpp @@ -3,7 +3,7 @@ \file tests/unit/Base/MigratedTypes.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Type definitions for unit tests of Charm++ migrated data in Base \details Type definitions for unit tests of Charm++ migrated data in Base. diff --git a/tests/unit/Base/TestContainerUtil.cpp b/tests/unit/Base/TestContainerUtil.cpp index 8b04a7ef0fb..010b8f4e29b 100644 --- a/tests/unit/Base/TestContainerUtil.cpp +++ b/tests/unit/Base/TestContainerUtil.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestContainerUtil.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/ContainerUtil.hpp \details Unit tests for Base/ContainerUtil.hpp @@ -27,6 +27,11 @@ namespace tut { +#if defined(STRICT_GNUC) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-attribute=noreturn" +#endif + //! All tests in group inherited from this base struct ContainerUtil_common { // cppcheck-suppress unusedStructMember @@ -111,16 +116,18 @@ void ContainerUtil_object::test< 3 >() { ensure_equals( "ref_find incorrect", two, "two" ); // test if cref_find throws in DEBUG when cannot find key + // skipped in RELEASE mode, would yield segmentation fault + #ifdef NDEBUG + skip( "in RELEASE mode, would yield segmentation fault" ); + #else try { auto three = tk::ref_find(u,3); - #ifndef NDEBUG fail( "should throw exception in DEBUG mode" ); - #endif } catch ( tk::Exception& ) { // exception thrown in DEBUG mode, test ok - // Assert skipped in RELEASE mode, test ok } + #endif } //! Test vector extents @@ -358,6 +365,10 @@ void ContainerUtil_object::test< 11 >() { ensure( "erase_if on map incorrect", b == correct_result ); } +#if defined(STRICT_GNUC) + #pragma GCC diagnostic pop +#endif + } // tut:: #endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestData.cpp b/tests/unit/Base/TestData.cpp index a77f57ad830..58e9c578596 100644 --- a/tests/unit/Base/TestData.cpp +++ b/tests/unit/Base/TestData.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestData.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Data.hpp \details Unit tests for Base/Data.hpp @@ -1886,6 +1886,154 @@ void Data_object::test< 41 >() { std::vector< tk::real >{ 3.0, 4.0 }, r[0] ); } +//! Test that tk::Data's extract() returns correct array of three reals +template<> template<> +void Data_object::test< 42 >() { + set_test_name( "extract() array of three reals for A,B,C" ); + + tk::Data< tk::UnkEqComp > pp( 8, 2 ); + tk::Data< tk::EqCompUnk > pe( 8, 2 ); + + pp( 0, 0, 0 ) = 0.1; + pp( 1, 0, 0 ) = 0.2; + pp( 2, 0, 0 ) = 0.3; + pp( 3, 0, 0 ) = 0.4; + pp( 4, 0, 0 ) = 0.5; + pp( 5, 0, 0 ) = 0.6; + pp( 6, 0, 0 ) = 0.7; + pp( 7, 0, 0 ) = 0.8; + + pp( 0, 1, 0 ) = 1.1; + pp( 1, 1, 0 ) = 1.2; + pp( 2, 1, 0 ) = 1.3; + pp( 3, 1, 0 ) = 1.4; + pp( 4, 1, 0 ) = 1.5; + pp( 5, 1, 0 ) = 1.6; + pp( 6, 1, 0 ) = 1.7; + pp( 7, 1, 0 ) = 1.8; + + pe( 0, 0, 0 ) = 0.1; + pe( 1, 0, 0 ) = 0.2; + pe( 2, 0, 0 ) = 0.3; + pe( 3, 0, 0 ) = 0.4; + pe( 4, 0, 0 ) = 0.5; + pe( 5, 0, 0 ) = 0.6; + pe( 6, 0, 0 ) = 0.7; + pe( 7, 0, 0 ) = 0.8; + + pe( 0, 1, 0 ) = 1.1; + pe( 1, 1, 0 ) = 1.2; + pe( 2, 1, 0 ) = 1.3; + pe( 3, 1, 0 ) = 1.4; + pe( 4, 1, 0 ) = 1.5; + pe( 5, 1, 0 ) = 1.6; + pe( 6, 1, 0 ) = 1.7; + pe( 7, 1, 0 ) = 1.8; + + using unittest::veceq; + + // Test all template specializations + veceq( "::extract() array of three reals at 0,0:3,2,1 incorrect", + std::array< tk::real, 3 >{{ 0.4, 0.3, 0.2 }}, + pp.extract( 0, 0, 3, 2, 1 ) ); + veceq( "::extract() array of three reals at 0,0:1,3,5 incorrect", + std::array< tk::real, 3 >{{ 0.2, 0.4, 0.6 }}, + pp.extract( 0, 0, 1, 3, 5 ) ); + veceq( "::extract() array of three reals at 0,1:3,1,0 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.2, 1.1 }}, + pp.extract( 0, 1, 3, 1, 0 ) ); + veceq( "::extract() array of three reals at 0,1:3,5,7 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.6, 1.8 }}, + pp.extract( 0, 1, 3, 5, 7 ) ); + + veceq( "::extract() array of three reals at 0,0:3,2,1 incorrect", + std::array< tk::real, 3 >{{ 0.4, 0.3, 0.2 }}, + pe.extract( 0, 0, 3, 2, 1 ) ); + veceq( "::extract() array of three reals at 0,0:1,3,5 incorrect", + std::array< tk::real, 3 >{{ 0.2, 0.4, 0.6 }}, + pe.extract( 0, 0, 1, 3, 5 ) ); + veceq( "::extract() array of three reals at 0,1:3,1,0 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.2, 1.1 }}, + pe.extract( 0, 1, 3, 1, 0 ) ); + veceq( "::extract() array of three reals 0,1:3,5,7 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.6, 1.8 }}, + pe.extract( 0, 1, 3, 5, 7 ) ); +} + +//! Test that tk::Data's extract() returns correct array of three reals +template<> template<> +void Data_object::test< 43 >() { + set_test_name( "extract() array of three reals for N[3]" ); + + tk::Data< tk::UnkEqComp > pp( 8, 2 ); + tk::Data< tk::EqCompUnk > pe( 8, 2 ); + + pp( 0, 0, 0 ) = 0.1; + pp( 1, 0, 0 ) = 0.2; + pp( 2, 0, 0 ) = 0.3; + pp( 3, 0, 0 ) = 0.4; + pp( 4, 0, 0 ) = 0.5; + pp( 5, 0, 0 ) = 0.6; + pp( 6, 0, 0 ) = 0.7; + pp( 7, 0, 0 ) = 0.8; + + pp( 0, 1, 0 ) = 1.1; + pp( 1, 1, 0 ) = 1.2; + pp( 2, 1, 0 ) = 1.3; + pp( 3, 1, 0 ) = 1.4; + pp( 4, 1, 0 ) = 1.5; + pp( 5, 1, 0 ) = 1.6; + pp( 6, 1, 0 ) = 1.7; + pp( 7, 1, 0 ) = 1.8; + + pe( 0, 0, 0 ) = 0.1; + pe( 1, 0, 0 ) = 0.2; + pe( 2, 0, 0 ) = 0.3; + pe( 3, 0, 0 ) = 0.4; + pe( 4, 0, 0 ) = 0.5; + pe( 5, 0, 0 ) = 0.6; + pe( 6, 0, 0 ) = 0.7; + pe( 7, 0, 0 ) = 0.8; + + pe( 0, 1, 0 ) = 1.1; + pe( 1, 1, 0 ) = 1.2; + pe( 2, 1, 0 ) = 1.3; + pe( 3, 1, 0 ) = 1.4; + pe( 4, 1, 0 ) = 1.5; + pe( 5, 1, 0 ) = 1.6; + pe( 6, 1, 0 ) = 1.7; + pe( 7, 1, 0 ) = 1.8; + + using unittest::veceq; + + // Test all template specializations + veceq( "::extract() array of three reals at 0,0:3,2,1 incorrect", + std::array< tk::real, 3 >{{ 0.4, 0.3, 0.2 }}, + pp.extract( 0, 0, std::array{{3,2,1}} ) ); + veceq( "::extract() array of three reals at 0,0:1,3,5 incorrect", + std::array< tk::real, 3 >{{ 0.2, 0.4, 0.6 }}, + pp.extract( 0, 0, std::array{{1,3,5}} ) ); + veceq( "::extract() array of three reals at 0,1:3,1,0 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.2, 1.1 }}, + pp.extract( 0, 1, std::array{{3,1,0}} ) ); + veceq( "::extract() array of three reals at 0,1:3,5,7 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.6, 1.8 }}, + pp.extract( 0, 1, std::array{{3,5,7}} ) ); + + veceq( "::extract() array of three reals at 0,0:3,2,1 incorrect", + std::array< tk::real, 3 >{{ 0.4, 0.3, 0.2 }}, + pe.extract( 0, 0, std::array{{3,2,1}} ) ); + veceq( "::extract() array of three reals at 0,0:1,3,5 incorrect", + std::array< tk::real, 3 >{{ 0.2, 0.4, 0.6 }}, + pe.extract( 0, 0, std::array{{1,3,5}} ) ); + veceq( "::extract() array of three reals at 0,1:3,1,0 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.2, 1.1 }}, + pe.extract( 0, 1, std::array{{3,1,0}} ) ); + veceq( "::extract() array of three reals 0,1:3,5,7 incorrect", + std::array< tk::real, 3 >{{ 1.4, 1.6, 1.8 }}, + pe.extract( 0, 1, std::array{{3,5,7}} ) ); +} + } // tut:: #endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestException.cpp b/tests/unit/Base/TestException.cpp index 690560ea307..cdc5931c6c4 100644 --- a/tests/unit/Base/TestException.cpp +++ b/tests/unit/Base/TestException.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestException.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Exception.hpp \details Unit tests for Base/Exception.hpp diff --git a/tests/unit/Base/TestExceptionMPI.cpp b/tests/unit/Base/TestExceptionMPI.cpp index 1a7745f8611..0a6b9770824 100644 --- a/tests/unit/Base/TestExceptionMPI.cpp +++ b/tests/unit/Base/TestExceptionMPI.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestExceptionMPI.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/TestExceptionMPI.hpp \details Unit tests for Base/TestExceptionMPI.hpp diff --git a/tests/unit/Base/TestFactory.cpp b/tests/unit/Base/TestFactory.cpp index e6854930040..816a40a323c 100644 --- a/tests/unit/Base/TestFactory.cpp +++ b/tests/unit/Base/TestFactory.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestFactory.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Factory.hpp \details Unit tests for Base/Factory.hpp diff --git a/tests/unit/Base/TestFlip_map.cpp b/tests/unit/Base/TestFlip_map.cpp index cc56b12cda4..cc5dd62b3b7 100644 --- a/tests/unit/Base/TestFlip_map.cpp +++ b/tests/unit/Base/TestFlip_map.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestFlip_map.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Flip_map.hpp \details Unit tests for Base/Flip_map.hpp diff --git a/tests/unit/Base/TestHas.cpp b/tests/unit/Base/TestHas.cpp index 77c4087bc85..39cf0bca8f7 100644 --- a/tests/unit/Base/TestHas.cpp +++ b/tests/unit/Base/TestHas.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestHas.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Has.hpp \details Unit tests for Base/Has.hpp diff --git a/tests/unit/Base/TestPUPUtil.cpp b/tests/unit/Base/TestPUPUtil.cpp index e7de660600d..9d5916c8c2e 100644 --- a/tests/unit/Base/TestPUPUtil.cpp +++ b/tests/unit/Base/TestPUPUtil.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestPUPUtil.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/PUPUtil.hpp \details Unit tests for Base/PUPUtil.hpp diff --git a/tests/unit/Base/TestPrint.cpp b/tests/unit/Base/TestPrint.cpp index 6678a6b5136..0957c48a4f2 100644 --- a/tests/unit/Base/TestPrint.cpp +++ b/tests/unit/Base/TestPrint.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestPrint.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Print.pp \details Unit tests for Base/Print.pp @@ -23,7 +23,9 @@ namespace tut { //! All tests in group inherited from this base struct Print_common { - Print_common() : verb(), quiet(), prd(), prv( verb ), prq( verb, quiet ) {} + Print_common() : verb(), quiet(), prd(), + prv( "", verb ), + prq( "", verb, std::ios_base::out, quiet ) {} std::stringstream verb; std::stringstream quiet; tk::Print prd; //!< for testing default-constructed object @@ -102,7 +104,7 @@ void Print_object::test< 5 >() { // std::cout and thus we would see no screen output after the reset call // below. std::stringstream v, q; - tk::Print pr( v, q ); + tk::Print pr( "", v, std::ios_base::out, q ); // Reset quiet stream in new printer to saved one, has "blah" pr.reset< tk::QUIET >( p ); // Write to new quiet stream, now should have "blah blah" diff --git a/tests/unit/Base/TestStrConvUtil.cpp b/tests/unit/Base/TestPrintUtil.cpp similarity index 82% rename from tests/unit/Base/TestStrConvUtil.cpp rename to tests/unit/Base/TestPrintUtil.cpp index 8e8fe6967d8..cad93d0ad2b 100644 --- a/tests/unit/Base/TestStrConvUtil.cpp +++ b/tests/unit/Base/TestPrintUtil.cpp @@ -1,39 +1,39 @@ // ***************************************************************************** /*! - \file tests/unit/Base/TestStrConvUtil.cpp + \file tests/unit/Base/TestPrintUtil.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Unit tests for Base/StrConvUtil.hpp - \details Unit tests for Base/StrConvUtil.hpp + \brief Unit tests for Base/PrintUtil.hpp + \details Unit tests for Base/PrintUtil.hpp */ // ***************************************************************************** #include "NoWarning/tut.hpp" #include "TUTConfig.hpp" -#include "StrConvUtil.hpp" +#include "PrintUtil.hpp" #ifndef DOXYGEN_GENERATING_OUTPUT namespace tut { //! All tests in group inherited from this base -struct StrConvUtil_common {}; +struct PrintUtil_common {}; //! Test group shortcuts -using StrConvUtil_group = test_group< StrConvUtil_common, MAX_TESTS_IN_GROUP >; -using StrConvUtil_object = StrConvUtil_group::object; +using PrintUtil_group = test_group< PrintUtil_common, MAX_TESTS_IN_GROUP >; +using PrintUtil_object = PrintUtil_group::object; //! Define test group -static StrConvUtil_group StrConvUtil( "Base/StrConvUtil" ); +static PrintUtil_group PrintUtil( "Base/PrintUtil" ); //! Test definitions for group //! Test tk::operator<< used for writing enum class value to output stream template<> template<> -void StrConvUtil_object::test< 1 >() { +void PrintUtil_object::test< 1 >() { set_test_name( "tk::operator<<( enum class )" ); enum class Enum { FIRST=3, SECOND, THIRD }; @@ -51,7 +51,7 @@ void StrConvUtil_object::test< 1 >() { //! Test tk::operator<< used for writing non-enum-class to output stream template<> template<> -void StrConvUtil_object::test< 2 >() { +void PrintUtil_object::test< 2 >() { set_test_name( "tk::operator<<( non-enum-class )" ); using tk::operator<<; @@ -62,7 +62,7 @@ void StrConvUtil_object::test< 2 >() { //! Test tk::operator<< used for concatenating to std::basic_string for lvalues template<> template<> -void StrConvUtil_object::test< 3 >() { +void PrintUtil_object::test< 3 >() { set_test_name( "tk::operator<<( std::basic_string& )" ); using tk::operator<<; @@ -82,7 +82,7 @@ void StrConvUtil_object::test< 3 >() { //! Test tk::operator<< used for concatenating to std::basic_string for rvalues template<> template<> -void StrConvUtil_object::test< 4 >() { +void PrintUtil_object::test< 4 >() { set_test_name( "tk::operator<<( std::basic_string&& )" ); using tk::operator<<; diff --git a/tests/unit/Base/TestProcessControl.cpp b/tests/unit/Base/TestProcessControl.cpp index 8b99b62745e..df5dfb4331b 100644 --- a/tests/unit/Base/TestProcessControl.cpp +++ b/tests/unit/Base/TestProcessControl.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestProcessControl.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/ProcessControl.hpp \details Unit tests for Base/ProcessControl.hpp diff --git a/tests/unit/Base/TestReader.cpp b/tests/unit/Base/TestReader.cpp index 63cb75733cd..f7ac8e7e382 100644 --- a/tests/unit/Base/TestReader.cpp +++ b/tests/unit/Base/TestReader.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Reader.hpp \details Unit tests for Base/Reader.hpp diff --git a/tests/unit/Base/TestTaggedTuple.cpp b/tests/unit/Base/TestTaggedTuple.cpp index f592585e4e5..647c51f0ec5 100644 --- a/tests/unit/Base/TestTaggedTuple.cpp +++ b/tests/unit/Base/TestTaggedTuple.cpp @@ -3,10 +3,10 @@ \file tests/unit/Base/TestTaggedTuple.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. - \brief Unit tests for tk::tuple::TaggedTuple - \details Unit tests for tk::tuple::TaggedTuple + \brief Unit tests for tk::TaggedTuple + \details Unit tests for tk::TaggedTuple */ // ***************************************************************************** diff --git a/tests/unit/Base/TestTaggedTupleDeepPrint.cpp b/tests/unit/Base/TestTaggedTupleDeepPrint.cpp new file mode 100644 index 00000000000..ab2e387a851 --- /dev/null +++ b/tests/unit/Base/TestTaggedTupleDeepPrint.cpp @@ -0,0 +1,101 @@ +// ***************************************************************************** +/*! + \file tests/unit/Base/TestTaggedTupleDeepPrint.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Unit tests for tk::TaggedTupleDeepPrint + \details Unit tests for tk::TaggedTupleDeepPrint +*/ +// ***************************************************************************** + +#include + +#include "NoWarning/tut.hpp" + +#include "TUTConfig.hpp" +#include "TaggedTupleDeepPrint.hpp" + +#ifndef DOXYGEN_GENERATING_OUTPUT + +namespace tut { + +//! All tests in group inherited from this base +struct TaggedTupleDeepPrint_common { + // Tags + struct nam { static std::string name() { return "name"; } }; + struct age { static std::string name() { return "age"; } }; + struct email { static std::string name() {return "email"; } }; + struct tag1 { static std::string name() { return "tag1"; } }; + struct tag2 { static std::string name() { return "tag2"; } }; + struct tag3 { static std::string name() { return "tag3"; } }; + + // Define a tk::TaggedTuple by inheriting from TaggedTuple (optionally) + // defining type ignore + struct Cmd : public tk::TaggedTuple< brigand::list< + nam, std::string, + age, int, + email, std::string, + tag1, tk::TaggedTuple< brigand::list < + tag2, std::string, + tag3, std::string > > > > + { + // ignore these tags when printing to a stream + using ignore = brigand::set< email >; + }; + + // Constructor + TaggedTupleDeepPrint_common() { + cmd.get< nam >() = "Bob"; + cmd.get< age >() = 32; + cmd.get< email >() = "bob@google.com"; + auto& t1 = cmd.get< tag1 >(); + t1.get< tag2 >() = "string2"; + t1.get< tag3 >() = "string3"; + } + + Cmd cmd; +}; + +//! Test group shortcuts +using TaggedTupleDeepPrint_group = + test_group< TaggedTupleDeepPrint_common, MAX_TESTS_IN_GROUP >; +using TaggedTupleDeepPrint_object = TaggedTupleDeepPrint_group::object; + +//! Define test group +static TaggedTupleDeepPrint_group + TaggedTupleDeepPrint( "Base/TaggedTupleDeepPrint" ); + +//! Test definitions for group + +//! Test print() of TaggedTuple with depth/indentation +template<> template<> +void TaggedTupleDeepPrint_object::test< 1 >() { + set_test_name( "print()" ); + + std::stringstream s; + tk::print( s, "cmd", cmd ); + ensure_equals( "print()", s.str(), +R"(# vim: filetype=sh: +# +# Contents of a tagged tuple. +# +# A string in single quotes denotes the name/tag of a (nested) +# tagged tuple. The contents of tuples are enclosed within braces. +# Vectors are enclosed within square brackets. Keys of associative +# containers are in paretheses. + +'cmd' { + name : Bob + age : 32 + 'tag1' { + tag2 : string2 + tag3 : string3 + } +})" ); +} + +} // tut:: + +#endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestTaggedTuplePrint.cpp b/tests/unit/Base/TestTaggedTuplePrint.cpp new file mode 100644 index 00000000000..c919182f102 --- /dev/null +++ b/tests/unit/Base/TestTaggedTuplePrint.cpp @@ -0,0 +1,103 @@ +// ***************************************************************************** +/*! + \file tests/unit/Base/TestTaggedTuplePrint.cpp + \copyright 2012-2015 J. Bakosi, + 2016-2018 Los Alamos National Security, LLC., + 2019 Triad National Security, LLC. + All rights reserved. See the LICENSE file for details. + \brief Unit tests for tk::TaggedTuplePrint + \details Unit tests for tk::TaggedTuplePrint +*/ +// ***************************************************************************** + +#include + +#include "NoWarning/tut.hpp" + +#include "TUTConfig.hpp" +#include "TaggedTuplePrint.hpp" + +#ifndef DOXYGEN_GENERATING_OUTPUT + +namespace tut { + +//! All tests in group inherited from this base +struct TaggedTuplePrint_common { + // Tags + struct nam { static std::string name() { return "name"; } }; + struct age { static std::string name() { return "age"; } }; + struct email { static std::string name() {return "email"; } }; + struct tag1 { static std::string name() { return "tag1"; } }; + struct tag2 { static std::string name() { return "tag2"; } }; + struct tag3 { static std::string name() { return "tag3"; } }; + + using MemberList = brigand::list< + nam, std::string, + age, int, + email, std::string, + tag1, tk::TaggedTuple< brigand::list < + tag2, std::string, + tag3, std::string > > >; + + // Define a tagged tuple: odd template arguments are tags, even ones are types + using record = tk::TaggedTuple< MemberList >; + + // Constructor + TaggedTuplePrint_common() { + tup.get< nam >() = "Bob"; + tup.get< age >() = 32; + tup.get< email >() = "bob@google.com"; + auto& t1 = tup.get< tag1 >(); + t1.get< tag2 >() = "string2"; + t1.get< tag3 >() = "string3"; + } + + record tup; +}; + +//! Test group shortcuts +using TaggedTuplePrint_group = + test_group< TaggedTuplePrint_common, MAX_TESTS_IN_GROUP >; +using TaggedTuplePrint_object = TaggedTuplePrint_group::object; + +//! Define test group +static TaggedTuplePrint_group TaggedTuplePrint( "Base/TaggedTuplePrint" ); + +//! Test definitions for group + +//! Test operator<< of TaggedTuple +template<> template<> +void TaggedTuplePrint_object::test< 1 >() { + set_test_name( "operator<<" ); + + std::stringstream s; + s << tup; + ensure_equals( "operator<<(TaggedTuple)", s.str(), "name: 'Bob' age: '32' " + "email: 'bob@google.com' tag1: { tag2: 'string2' tag3: 'string3' } " ); +} + +//! Test print() with empty ignore list +template<> template<> +void TaggedTuplePrint_object::test< 2 >() { + set_test_name( "print() with empty ignore list" ); + + std::stringstream s; + tk::print( s, tup ); + ensure_equals( "print()", s.str(), "name: 'Bob' age: '32' " + "email: 'bob@google.com' tag1: { tag2: 'string2' tag3: 'string3' } " ); +} + +//! Test print() with non-empty ignore list +template<> template<> +void TaggedTuplePrint_object::test< 3 >() { + set_test_name( "print() with non-empty ignore list" ); + + std::stringstream s; + tk::print< MemberList, brigand::set< email > >( s, tup ); + ensure_equals( "print()", s.str(), "name: 'Bob' age: '32' " + "tag1: { tag2: 'string2' tag3: 'string3' } " ); +} + +} // tut:: + +#endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestTimer.cpp b/tests/unit/Base/TestTimer.cpp index feb2bc4c828..b0fd241e886 100644 --- a/tests/unit/Base/TestTimer.cpp +++ b/tests/unit/Base/TestTimer.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestTimer.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for tk::Timer \details Unit tests for tk::Timer @@ -30,6 +30,11 @@ extern CProxy_TUTSuite g_suiteProxy; namespace tut { +#if defined(STRICT_GNUC) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-attribute=noreturn" +#endif + //! All tests in group inherited from this base struct Timer_common { // cppcheck-suppress unusedStructMember @@ -224,6 +229,9 @@ template<> template<> void Timer_object::test< 8 >() { set_test_name( "query throws with non-existent key" ); + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield segmentation fault" ); + #else try { std::map< std::string, tk::Timer > timer; timer[ "some timer" ];// start timing, assign to label @@ -233,8 +241,13 @@ void Timer_object::test< 8 >() { catch ( tk::Exception& ) { // exception thrown, test ok } + #endif } +#if defined(STRICT_GNUC) + #pragma GCC diagnostic pop +#endif + } // tut:: #endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestVector.cpp b/tests/unit/Base/TestVector.cpp index baae14990bf..61019abb9e6 100644 --- a/tests/unit/Base/TestVector.cpp +++ b/tests/unit/Base/TestVector.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestVector.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Vector.hpp \details Unit tests for Base/Vector.hpp @@ -100,6 +100,34 @@ void Vector_object::test< 4 >() { precision ); } +//! Test vector length +template<> template<> +void Vector_object::test< 5 >() { + set_test_name( "length" ); + + std::array< tk::real, 3 > v1{{ -1.0, 3.0, 3.0 }}, v2{{ 0.0, 4.0, 0.0 }}; + tk::real correct_result_1 = 4.358898943540674; + tk::real correct_result_2 = 4.0; + + const auto result_1 = tk::length( v1 ); + const auto result_2 = tk::length( v2 ); + ensure_equals( "length incorrect", result_1, correct_result_1, precision ); + ensure_equals( "length incorrect", result_2, correct_result_2, precision ); +} + +//! Test normalizing a vector +template<> template<> +void Vector_object::test< 6 >() { + set_test_name( "unit" ); + + std::array< tk::real, 3 > v1{{ -1.0, 3.0, 3.0 }}, v2{{ 0.0, 4.0, 0.0 }}; + + tk::unit( v1 ); + tk::unit( v2 ); + ensure_equals( "unit incorrect", tk::length(v1), 1.0, precision ); + ensure_equals( "unit incorrect", tk::length(v2), 1.0, precision ); +} + } // tut:: #endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Base/TestWriter.cpp b/tests/unit/Base/TestWriter.cpp index 908dcc072cc..f42cb99f4e9 100644 --- a/tests/unit/Base/TestWriter.cpp +++ b/tests/unit/Base/TestWriter.cpp @@ -3,7 +3,7 @@ \file tests/unit/Base/TestWriter.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Base/Writer.hpp \details Unit tests for Base/Writer.hpp diff --git a/tests/unit/Control/Options/TestMKLBetaMethod.cpp b/tests/unit/Control/Options/TestMKLBetaMethod.cpp index f0369d11696..a987f874af3 100644 --- a/tests/unit/Control/Options/TestMKLBetaMethod.cpp +++ b/tests/unit/Control/Options/TestMKLBetaMethod.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/Options/TestMKLBetaMethod.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Options/MKLBetaMethod \details Unit tests for Control/Options/MKLBetaMethod diff --git a/tests/unit/Control/Options/TestMKLGammaMethod.cpp b/tests/unit/Control/Options/TestMKLGammaMethod.cpp index fc1e9161547..f027b399562 100644 --- a/tests/unit/Control/Options/TestMKLGammaMethod.cpp +++ b/tests/unit/Control/Options/TestMKLGammaMethod.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/Options/TestMKLGammaMethod.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Options/MKLGammaMethod \details Unit tests for Control/Options/MKLGammaMethod diff --git a/tests/unit/Control/Options/TestMKLGaussianMethod.cpp b/tests/unit/Control/Options/TestMKLGaussianMethod.cpp index 4a7e5eed409..e9b17f6d7f9 100644 --- a/tests/unit/Control/Options/TestMKLGaussianMethod.cpp +++ b/tests/unit/Control/Options/TestMKLGaussianMethod.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/Options/TestMKLGaussianMethod.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Options/MKLGaussianMethod \details Unit tests for Control/Options/MKLGaussianMethod diff --git a/tests/unit/Control/Options/TestMKLUniformMethod.cpp b/tests/unit/Control/Options/TestMKLUniformMethod.cpp index 72750d71107..5c8f7918eee 100644 --- a/tests/unit/Control/Options/TestMKLUniformMethod.cpp +++ b/tests/unit/Control/Options/TestMKLUniformMethod.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/Options/TestMKLUniformMethod.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Options/MKLUniformMethod \details Unit tests for Control/Options/MKLUniformMethod diff --git a/tests/unit/Control/Options/TestRNG.cpp b/tests/unit/Control/Options/TestRNG.cpp index cd53e051e5e..8da0623c087 100644 --- a/tests/unit/Control/Options/TestRNG.cpp +++ b/tests/unit/Control/Options/TestRNG.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/Options/TestRNG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Options/RNG \details Unit tests for Control/Options/RNG diff --git a/tests/unit/Control/TestControl.cpp b/tests/unit/Control/TestControl.cpp index 340a75b3db1..fb948d595f6 100644 --- a/tests/unit/Control/TestControl.cpp +++ b/tests/unit/Control/TestControl.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/TestControl.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Control \details Unit tests for Control/Control diff --git a/tests/unit/Control/TestFileParser.cpp b/tests/unit/Control/TestFileParser.cpp index d9b5f0228c5..d8fcd3e5c49 100644 --- a/tests/unit/Control/TestFileParser.cpp +++ b/tests/unit/Control/TestFileParser.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/TestFileParser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/FileParser \details Unit tests for Control/FileParser diff --git a/tests/unit/Control/TestStringParser.cpp b/tests/unit/Control/TestStringParser.cpp index 22676c7084d..b91de41e476 100644 --- a/tests/unit/Control/TestStringParser.cpp +++ b/tests/unit/Control/TestStringParser.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/TestStringParser.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/StringParser \details Unit tests for Control/StringParser diff --git a/tests/unit/Control/TestSystemComponents.cpp b/tests/unit/Control/TestSystemComponents.cpp index ec5d4b5f485..e2f666eba00 100644 --- a/tests/unit/Control/TestSystemComponents.cpp +++ b/tests/unit/Control/TestSystemComponents.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/TestSystemComponents.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/SystemComponents \details Unit tests for Control/SystemComponents diff --git a/tests/unit/Control/TestToggle.cpp b/tests/unit/Control/TestToggle.cpp index 1e0b9c768c2..c56f099a777 100644 --- a/tests/unit/Control/TestToggle.cpp +++ b/tests/unit/Control/TestToggle.cpp @@ -3,7 +3,7 @@ \file tests/unit/Control/TestToggle.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Control/Toggle \details Unit tests for Control/Toggle diff --git a/tests/unit/IO/TestExodusIIMeshReader.cpp b/tests/unit/IO/TestExodusIIMeshReader.cpp index afb60434021..949ef17939f 100644 --- a/tests/unit/IO/TestExodusIIMeshReader.cpp +++ b/tests/unit/IO/TestExodusIIMeshReader.cpp @@ -3,7 +3,7 @@ \file tests/unit/IO/TestExodusIIMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for the ExodusII unstructured-mesh reader \details Unit tests for the ExodusII unstructured-mesh reader diff --git a/tests/unit/IO/TestMesh.cpp b/tests/unit/IO/TestMesh.cpp index 0fb862b8649..d246159191b 100644 --- a/tests/unit/IO/TestMesh.cpp +++ b/tests/unit/IO/TestMesh.cpp @@ -3,7 +3,7 @@ \file tests/unit/IO/TestMesh.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for unstructured-mesh reader and writers in IO \details Unit tests for unstructured-mesh reader and writers in IO diff --git a/tests/unit/IO/TestMeshReader.cpp b/tests/unit/IO/TestMeshReader.cpp index b44e05f1800..b1743eb701d 100644 --- a/tests/unit/IO/TestMeshReader.cpp +++ b/tests/unit/IO/TestMeshReader.cpp @@ -3,7 +3,7 @@ \file tests/unit/IO/TestMeshReader.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for MeshReader polymorphic interface \details Unit tests for MeshReader polymorphic interface diff --git a/tests/unit/Inciter/AMR/TestError.cpp b/tests/unit/Inciter/AMR/TestError.cpp index 84bde571177..989932074ac 100644 --- a/tests/unit/Inciter/AMR/TestError.cpp +++ b/tests/unit/Inciter/AMR/TestError.cpp @@ -3,7 +3,7 @@ \file tests/unit/Inciter/AMR/TestError.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for AMR error indicators in Inciter/AMR/Error.h \details Unit tests for AMR error indicators in Inciter/AMR/Error.h. All diff --git a/tests/unit/Inciter/TestScheme.cpp b/tests/unit/Inciter/TestScheme.cpp index bcc6de3c97d..0d1d7551f81 100644 --- a/tests/unit/Inciter/TestScheme.cpp +++ b/tests/unit/Inciter/TestScheme.cpp @@ -3,7 +3,7 @@ \file tests/unit/Inciter/TestScheme.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Inciter/Scheme.hpp \details Unit tests for Inciter/Scheme.hpp diff --git a/tests/unit/LoadBalance/TestLinearMap.cpp b/tests/unit/LoadBalance/TestLinearMap.cpp index 14488d44bf6..5a5deab1877 100644 --- a/tests/unit/LoadBalance/TestLinearMap.cpp +++ b/tests/unit/LoadBalance/TestLinearMap.cpp @@ -3,7 +3,7 @@ \file tests/unit/LoadBalance/TestLinearMap.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for LoadBalance/LinearMap \details Unit tests for LoadBalance/LinearMap diff --git a/tests/unit/LoadBalance/TestLoadDistributor.cpp b/tests/unit/LoadBalance/TestLoadDistributor.cpp index db9e64fd27f..6258d11a28f 100644 --- a/tests/unit/LoadBalance/TestLoadDistributor.cpp +++ b/tests/unit/LoadBalance/TestLoadDistributor.cpp @@ -3,7 +3,7 @@ \file tests/unit/LoadBalance/TestLoadDistributor.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for LoadBalance/LoadDistributor \details Unit tests for LoadBalance/LoadDistributor diff --git a/tests/unit/LoadBalance/TestUnsMeshMap.cpp b/tests/unit/LoadBalance/TestUnsMeshMap.cpp index 4cd4dc45d1d..5b80805afc9 100644 --- a/tests/unit/LoadBalance/TestUnsMeshMap.cpp +++ b/tests/unit/LoadBalance/TestUnsMeshMap.cpp @@ -3,7 +3,7 @@ \file tests/unit/LoadBalance/TestUnsMeshMap.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for LoadBalance/UnsMeshMap \details Unit tests for LoadBalance/UnsMeshMap diff --git a/tests/unit/Mesh/TestAround.cpp b/tests/unit/Mesh/TestAround.cpp index f253a44d376..90dbc61bc47 100644 --- a/tests/unit/Mesh/TestAround.cpp +++ b/tests/unit/Mesh/TestAround.cpp @@ -3,7 +3,7 @@ \file tests/unit/Mesh/TestAround.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Mesh/Around \details Unit tests for Mesh/Around. @@ -774,185 +774,6 @@ void Around_object::test< 10 >() { } } -//! Iterate via Around on elements surrounding edges for tetrahedron-only mesh -template<> template<> -void Around_object::test< 11 >() { - set_test_name( "Esued for tetrahedra" ); - - // Shift node IDs to start from zero - tk::shiftToZero( inpoel ); - - // Generate edges surrounding points - auto esup = tk::genEsup( inpoel, 4 ); - auto esued = tk::genEsued( inpoel, 4, esup ); - - // Generate correct solution for elements surrounding edges - std::set< std::vector< std::size_t > > correct_esued { - { 4, 9, 23 }, - { 4 }, - { 4, 14, 23 }, - { 9 }, - { 9, 14, 23 }, - { 14 }, - { 11 }, - { 11, 15, 17 }, - { 11, 14, 17 }, - { 14, 15, 17 }, - { 15 }, - { 8 }, - { 8, 10, 20 }, - { 8, 11, 20 }, - { 10 }, - { 10, 11, 20 }, - { 9, 12, 22 }, - { 9, 10, 22 }, - { 10, 12, 22 }, - { 12 }, - { 4, 6, 18 }, - { 4, 13, 18 }, - { 6 }, - { 6, 13, 18 }, - { 13 }, - { 5 }, - { 5, 13, 16 }, - { 5, 15, 16 }, - { 13, 15, 16 }, - { 5, 7, 21 }, - { 5, 8, 21 }, - { 7 }, - { 7, 8, 21 }, - { 6, 12, 19 }, - { 6, 7, 19 }, - { 7, 12, 19 }, - { 0, 2, 11, 17, 20 }, - { 0, 2, 9, 22, 23 }, - { 0, 14, 17, 23 }, - { 2, 10, 20, 22 }, - { 1, 3, 6, 18, 19 }, - { 1, 7, 19, 21 }, - { 1, 3, 5, 16, 21 }, - { 3, 13, 16, 18 }, - { 0, 3, 15, 16, 17 }, - { 0, 3, 4, 18, 23 }, - { 0, 1, 2, 3 }, - { 1, 2, 8, 20, 21 }, - { 1, 2, 12, 19, 22 } - }; - - // find out number of edges in mesh - auto nedge = tk::genInpoed(inpoel,4,esup).size()/2; - - // this is more of a test on this test - ensure_equals( "number of edges in esued incorrect", - nedge, correct_esued.size() ); - - // Test generated derived data structure, elements surrounding edges - for (std::size_t e=0; e elements; - // Iterate through all elements surrounding edges e - // cppcheck-suppress useStlAlgorithm - for (auto i : tk::Around(esued,e)) elements.push_back(i); - // store element list as string to output it in case test fails - std::stringstream ss; - for (auto i : elements) ss << i << " "; - // attempt to find element list in correct esued - auto it = correct_esued.find( elements ); - // test if element list can be found among the correct ones - ensure( "element list { " + ss.str() + "} surrounding edge '" + - std::to_string(e) + "' generated into esued but not in correct " - "esued", - it != correct_esued.end() ); - // remove element list just tested from correct esued, this ensures that the - // generated esued does not contain edges whose element lists would be - // exactly the same, as later tests in this loop would fail in that case - correct_esued.erase( elements ); - } -} - -//!Iterate via Around on elements surrounding edges for triangle-only mesh -template<> template<> -void Around_object::test< 12 >() { - set_test_name( "Esued for triangles" ); - - // Shift node IDs to start from zero - tk::shiftToZero( triinpoel ); - - // Generate edges surrounding points - auto esup = tk::genEsup( triinpoel, 3 ); - auto esued = tk::genEsued( triinpoel, 3, esup ); - - // Generate correct solution for elements surrounding edges - std::set< std::vector< std::size_t > > correct_esued { - { 0, 1 }, - { 0, 8 }, - { 1, 20 }, - { 8, 9 }, - { 9, 21 }, - { 20, 21 }, - { 0, 2 }, - { 2, 12 }, - { 8, 10 }, - { 10, 13 }, - { 12, 13 }, - { 2, 3 }, - { 3, 16 }, - { 12, 14 }, - { 14, 17 }, - { 16, 17 }, - { 1, 3 }, - { 16, 18 }, - { 18, 22 }, - { 20, 22 }, - { 4, 11 }, - { 4, 5 }, - { 5, 23 }, - { 9, 11 }, - { 21, 23 }, - { 4, 6 }, - { 6, 15 }, - { 10, 11 }, - { 13, 15 }, - { 6, 7 }, - { 7, 19 }, - { 14, 15 }, - { 17, 19 }, - { 5, 7 }, - { 18, 19 }, - { 22, 23 } - }; - - // find out number of edges in mesh - auto nedge = tk::genInpoed(triinpoel,3,esup).size()/2; - - // this is more of a test on this test - ensure_equals( "number of edges in esued incorrect", - nedge, correct_esued.size() ); - - // Test generated derived data structure, elements surrounding edges - for (std::size_t e=0; e elements; - // Iterate through all elements surrounding edges e - // cppcheck-suppress useStlAlgorithm - for (auto i : tk::Around(esued,e)) elements.push_back(i); - // store element list as string to output it in case test fails - std::stringstream ss; - for (auto i : elements) ss << i << " "; - // attempt to find element list in correct esued - auto it = correct_esued.find( elements ); - // test if element list can be found among the correct ones - ensure( "element list { " + ss.str() + "} surrounding edge '" + - std::to_string(e) + "' generated into esued but not in correct " - "esued", - it != correct_esued.end() ); - // remove element list just tested from correct esued, this ensures that the - // generated esued does not contain edges whose element lists would be - // exactly the same, as later tests in this loop would fail in that case - correct_esued.erase( elements ); - } -} - } // tut:: #endif // DOXYGEN_GENERATING_OUTPUT diff --git a/tests/unit/Mesh/TestDerivedData.cpp b/tests/unit/Mesh/TestDerivedData.cpp index 6cf61148ae1..80da72a2a4c 100644 --- a/tests/unit/Mesh/TestDerivedData.cpp +++ b/tests/unit/Mesh/TestDerivedData.cpp @@ -3,7 +3,7 @@ \file tests/unit/Mesh/TestDerivedData.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Mesh/DerivedData \details Unit tests for Mesh/DerivedData. All unit tests start from simple @@ -2228,9 +2228,6 @@ void DerivedData_object::test< 56 >() { auto esup = tk::genEsup( inpoel, 4 ); auto esued = tk::genEsued( inpoel, 4, esup ); - auto& esued1 = esued.first; - auto& esued2 = esued.second; - // Generate correct solution for elements surrounding edges std::set< std::vector< std::size_t > > correct_esued { { 4, 9, 23 }, @@ -2284,18 +2281,12 @@ void DerivedData_object::test< 56 >() { { 1, 2, 12, 19, 22 } }; - // find out number of edges in mesh - auto nedge = tk::genInpoed(inpoel,4,esup).size()/2; - // this is more of a test on this test ensure_equals( "number of edges in esued incorrect", - nedge, correct_esued.size() ); + esued.size(), correct_esued.size() ); // Test generated derived data structure, elements surrounding edges - for (std::size_t e=0; e elements; - for (auto i=esued2[e]+1; i<=esued2[e+1]; ++i) elements.push_back(esued1[i]); + for (const auto& [edge,elements] : esued) { // store element list as string to output it in case test fails std::stringstream ss; for (auto i : elements) ss << i << " "; @@ -2303,14 +2294,27 @@ void DerivedData_object::test< 56 >() { auto it = correct_esued.find( elements ); // test if element list can be found among the correct ones ensure( "element list { " + ss.str() + "} surrounding edge '" + - std::to_string(e) + "' generated into esued but not in correct " - "esued", + std::to_string(edge[0]) + '-' + std::to_string(edge[1]) + + "' generated into esued but not in correct esued", it != correct_esued.end() ); // remove element list just tested from correct esued, this ensures that the // generated esued does not contain edges whose element lists would be // exactly the same, as later tests in this loop would fail in that case correct_esued.erase( elements ); } + + // Test if both nodes of edges exist in surrounding elements + for (const auto& [edge,elements] : esued) { + for (auto e : elements) { + std::unordered_set< std::size_t > N; + N.insert( inpoel[e*4+0] ); + N.insert( inpoel[e*4+1] ); + N.insert( inpoel[e*4+2] ); + N.insert( inpoel[e*4+3] ); + ensure( "edge not in surrounding tetrahedron element nodes", + N.find(edge[0]) != end(N) && N.find(edge[1]) != end(N) ); + } + } } //! Generate and test elements surrounding edges for triangle-only mesh @@ -2351,9 +2355,6 @@ void DerivedData_object::test< 57 >() { auto esup = tk::genEsup( inpoel, 3 ); auto esued = tk::genEsued( inpoel, 3, esup ); - auto& esued1 = esued.first; - auto& esued2 = esued.second; - // Generate correct solution for elements surrounding edges std::set< std::vector< std::size_t > > correct_esued { { 0, 1 }, @@ -2394,33 +2395,39 @@ void DerivedData_object::test< 57 >() { { 22, 23 } }; - // find out number of edges in mesh - auto nedge = tk::genInpoed(inpoel,3,esup).size()/2; - // this is more of a test on this test ensure_equals( "number of edges in esued incorrect", - nedge, correct_esued.size() ); + esued.size(), correct_esued.size() ); // Test generated derived data structure, elements surrounding edges - for (std::size_t e=0; e elements; - for (auto i=esued2[e]+1; i<=esued2[e+1]; ++i) elements.push_back(esued1[i]); + for (const auto& [edge,elements] : esued) { // store element list as string to output it in case test fails std::stringstream ss; for (auto i : elements) ss << i << " "; // attempt to find element list in correct esued auto it = correct_esued.find( elements ); // test if element list can be found among the correct ones - ensure( "element list { " + ss.str() + "} surrounding edge '" + - std::to_string(e) + "' generated into esued but not in correct " - "esued", + ensure( "element list { " + ss.str() + "} surrounding edge '" + + std::to_string(edge[0]) + '-' + std::to_string(edge[1]) + + "' generated into esued but not in correct esued", it != correct_esued.end() ); // remove element list just tested from correct esued, this ensures that the // generated esued does not contain edges whose element lists would be // exactly the same, as later tests in this loop would fail in that case correct_esued.erase( elements ); } + + // Test if both nodes of edges exist in surrounding elements + for (const auto& [edge,elements] : esued) { + for (auto e : elements) { + std::unordered_set< std::size_t > N; + N.insert( inpoel[e*3+0] ); + N.insert( inpoel[e*3+1] ); + N.insert( inpoel[e*3+2] ); + ensure( "edge not in surrounding triangle element nodes", + N.find(edge[0]) != end(N) && N.find(edge[1]) != end(N) ); + } + } } //! Generate and test face-data structures for tet-only mesh diff --git a/tests/unit/Mesh/TestDerivedData_MPISingle.cpp b/tests/unit/Mesh/TestDerivedData_MPISingle.cpp index a9a73273194..7a18c55bdc5 100644 --- a/tests/unit/Mesh/TestDerivedData_MPISingle.cpp +++ b/tests/unit/Mesh/TestDerivedData_MPISingle.cpp @@ -3,7 +3,7 @@ \file tests/unit/Mesh/TestDerivedData_MPISingle.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Mesh/DerivedData that require to be invoked from a single thread diff --git a/tests/unit/Mesh/TestGradients.cpp b/tests/unit/Mesh/TestGradients.cpp index dab5db7ea72..b75d3334738 100644 --- a/tests/unit/Mesh/TestGradients.cpp +++ b/tests/unit/Mesh/TestGradients.cpp @@ -3,7 +3,7 @@ \file tests/unit/Mesh/TestGradients.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for Mesh/Gradients \details Unit tests for Mesh/Gradients. All unit tests start from simple @@ -226,15 +226,12 @@ void Gradients_object::test< 2 >() { // Generate elements surrounding edges auto esued = tk::genEsued( inpoel, 4, esup ); - // find out number of edges in mesh - auto nedge = tk::genInpoed(inpoel,4,esup).size()/2; - // generate a constant scalar field tk::Fields uc( npoin, 1 ); uc.fill( 1.2 ); // test gradients - for (std::size_t e=0; e() { tk::Fields ux( npoin, 1 ); for (std::size_t p=0; p() { tk::Fields uy( npoin, 1 ); for (std::size_t p=0; p() { tk::Fields uz( npoin, 1 ); for (std::size_t p=0; p() { u3(p,2,0) = -0.5*coord[2][p]; } // test gradients - for (std::size_t e=0; e template<> void Reorder_object::test< 14 >() { set_test_name( "in-place remap vector of reals" ); + // feed good data, test correct result + std::vector< tk::real > a2{ 1.1, 2.2, 3.3, 4.4 }; + std::vector< std::size_t > r2{ 3, 1, 0, 2 }; + tk::remap( a2, r2 ); + + ensure( "in-place remap of real vector incorrect", + a2 == std::vector< tk::real >{ 3.3, 2.2, 4.4, 1.1 } ); + ensure( "map after in-place remap of ulong vector modified", + r2 == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield segmentation fault" ); + #else // feed empty data std::vector< tk::real > ae{}; std::vector< std::size_t > r1{ 3, 1, 0, 2 }; @@ -532,19 +545,6 @@ void Reorder_object::test< 14 >() { ensure( "in-place remap of real vector modified if map is empty", a1 == std::vector< tk::real >{ 1.1, 2.2, 3.3 } ); - // feed good data, test correct result - std::vector< tk::real > a2{ 1.1, 2.2, 3.3, 4.4 }; - std::vector< std::size_t > r2{ 3, 1, 0, 2 }; - tk::remap( a2, r2 ); - - ensure( "in-place remap of real vector incorrect", - a2 == std::vector< tk::real >{ 3.3, 2.2, 4.4, 1.1 } ); - ensure( "map after in-place remap of ulong vector modified", - r2 == std::vector< std::size_t >{ 3, 1, 0, 2 } ); - - #ifdef NDEBUG // exception only thrown in DEBUG mode - skip( "in RELEASE mode, would yield segmentation fault" ); - #else // feed unequal-size data and map try { std::vector< tk::real > a{ 1.1, 2.2, 3.3 }; @@ -574,6 +574,19 @@ template<> template<> void Reorder_object::test< 15 >() { set_test_name( "in-place remap vector of unsigned longs using a vector" ); + // feed good data, test correct result + std::vector< std::size_t > a{ 0, 1, 2, 3 }; + const std::vector< std::size_t > r{ 3, 1, 0, 2 }; + tk::remap( a, r ); + + ensure( "map after remap of ulong vector modified", + r == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + ensure( "remap of ulong vector incorrect", + a == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield segmentation fault" ); + #else // feed empty data std::vector< std::size_t > ae{}; const std::vector< std::size_t > r1{3,1,0,2}; @@ -594,19 +607,6 @@ void Reorder_object::test< 15 >() { // source map intact ensure( "map not empty after remap with empty map", re.empty() ); - // feed good data, test correct result - std::vector< std::size_t > a{ 0, 1, 2, 3 }; - const std::vector< std::size_t > r{ 3, 1, 0, 2 }; - tk::remap( a, r ); - - ensure( "map after remap of ulong vector modified", - r == std::vector< std::size_t >{ 3, 1, 0, 2 } ); - ensure( "remap of ulong vector incorrect", - a == std::vector< std::size_t >{ 3, 1, 0, 2 } ); - - #ifdef NDEBUG // exception only thrown in DEBUG mode - skip( "in RELEASE mode, would yield segmentation fault" ); - #else // feed bad map try { std::vector< std::size_t > a2{ 1, 2, 4 }; // 4 will index out of map @@ -625,6 +625,21 @@ template<> template<> void Reorder_object::test< 16 >() { set_test_name( "remap vector of unsigned longs using a vector" ); + // feed good data, test correct result + const std::vector< std::size_t > a{ 0, 1, 2, 3 }; + const std::vector< std::size_t > r{ 3, 1, 0, 2 }; + auto b = tk::remap( a, r ); + + ensure( "src data after remap of ulong vector modified", + a == std::vector< std::size_t >{ 0, 1, 2, 3 } ); + ensure( "map after remap of ulong vector modified", + r == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + ensure( "remap of ulong vector incorrect", + b == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield segmentation fault" ); + #else // feed empty data const std::vector< std::size_t > ae{}; const std::vector< std::size_t > r1{3,1,0,2}; @@ -650,21 +665,6 @@ void Reorder_object::test< 16 >() { // source map intact ensure( "map not empty after remap with empty map", re.empty() ); - // feed good data, test correct result - const std::vector< std::size_t > a{ 0, 1, 2, 3 }; - const std::vector< std::size_t > r{ 3, 1, 0, 2 }; - auto b = tk::remap( a, r ); - - ensure( "src data after remap of ulong vector modified", - a == std::vector< std::size_t >{ 0, 1, 2, 3 } ); - ensure( "map after remap of ulong vector modified", - r == std::vector< std::size_t >{ 3, 1, 0, 2 } ); - ensure( "remap of ulong vector incorrect", - b == std::vector< std::size_t >{ 3, 1, 0, 2 } ); - - #ifdef NDEBUG // exception only thrown in DEBUG mode - skip( "in RELEASE mode, would yield segmentation fault" ); - #else // feed bad map try { const std::vector< std::size_t > a2{ 1, 2, 4 }; // 4 will index out of map @@ -683,6 +683,23 @@ template<> template<> void Reorder_object::test< 17 >() { set_test_name( "remap vector of unsigned longs using a hash-map" ); + // feed good data, test correct result + const std::vector< std::size_t > a{ 0, 1, 2, 3 }; + const std::unordered_map< std::size_t, std::size_t > + r{{0,3},{1,1},{2,0},{3,2}}; + auto b = tk::remap( a, r ); + + ensure( "src data after remap of ulong vector modified", + a == std::vector< std::size_t >{ 0, 1, 2, 3 } ); + ensure( "map after remap of ulong vector modified", + r == std::unordered_map< std::size_t, std::size_t > + {{0,3},{1,1},{2,0},{3,2}} ); + ensure( "remap of ulong vector incorrect", + b == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield invalid read" ); + #else // feed empty data const std::vector< std::size_t > ae{}; const std::unordered_map< std::size_t, std::size_t > @@ -713,20 +730,7 @@ void Reorder_object::test< 17 >() { catch ( tk::Exception& ) { // exception thrown, test ok } - - // feed good data, test correct result - const std::vector< std::size_t > a{ 0, 1, 2, 3 }; - const std::unordered_map< std::size_t, std::size_t > - r{{0,3},{1,1},{2,0},{3,2}}; - auto b = tk::remap( a, r ); - - ensure( "src data after remap of ulong vector modified", - a == std::vector< std::size_t >{ 0, 1, 2, 3 } ); - ensure( "map after remap of ulong vector modified", - r == std::unordered_map< std::size_t, std::size_t > - {{0,3},{1,1},{2,0},{3,2}} ); - ensure( "remap of ulong vector incorrect", - b == std::vector< std::size_t >{ 3, 1, 0, 2 } ); + #endif } //! Out-of-place remap map of vectors of unsigned longs using a hash-map @@ -734,6 +738,25 @@ template<> template<> void Reorder_object::test< 18 >() { set_test_name( "remap map of vectors of ulongs using a hash-map" ); + // feed good data, test correct result + std::map< int, std::vector< std::size_t > > a{ + {1,{0,1,2,3}}, {32,{1,2,3,0}}, {42,{2,0,1}}, {12,{3,1,2,0}} }; + std::unordered_map< std::size_t, std::size_t > r{{0,3},{1,1},{2,0},{3,2}}; + auto b = tk::remap( a, r ); + + ensure( "src data after remap of map of ulong vectors modified", + a == std::map< int, std::vector< std::size_t > >{ + {1,{0,1,2,3}}, {32,{1,2,3,0}}, {42,{2,0,1}}, {12,{3,1,2,0}} } ); + ensure( "map after remap of map of ulong vectors modified", + r == std::unordered_map< std::size_t, std::size_t > + {{0,3},{1,1},{2,0},{3,2}} ); + ensure( "remap of map of ulong vectors incorrect", + b == std::map< int, std::vector< std::size_t > >{ + {1,{3,1,0,2}}, {32,{1,0,2,3}}, {42,{0,3,1}}, {12,{2,1,0,3}} } ); + + #ifdef NDEBUG // exception only thrown in DEBUG mode + skip( "in RELEASE mode, would yield invalid read" ); + #else // feed empty data std::map< int, std::vector< std::size_t > > ae{}; std::unordered_map< std::size_t, std::size_t > r1{{0,3}, {1,1}, {2,0}, {3,2}}; @@ -770,22 +793,7 @@ void Reorder_object::test< 18 >() { catch ( tk::Exception& ) { // exception thrown, test ok } - - // feed good data, test correct result - std::map< int, std::vector< std::size_t > > a{ - {1,{0,1,2,3}}, {32,{1,2,3,0}}, {42,{2,0,1}}, {12,{3,1,2,0}} }; - std::unordered_map< std::size_t, std::size_t > r{{0,3},{1,1},{2,0},{3,2}}; - auto b = tk::remap( a, r ); - - ensure( "src data after remap of map of ulong vectors modified", - a == std::map< int, std::vector< std::size_t > >{ - {1,{0,1,2,3}}, {32,{1,2,3,0}}, {42,{2,0,1}}, {12,{3,1,2,0}} } ); - ensure( "map after remap of map of ulong vectors modified", - r == std::unordered_map< std::size_t, std::size_t > - {{0,3},{1,1},{2,0},{3,2}} ); - ensure( "remap of map of ulong vectors incorrect", - b == std::map< int, std::vector< std::size_t > >{ - {1,{3,1,0,2}}, {32,{1,0,2,3}}, {42,{0,3,1}}, {12,{2,1,0,3}} } ); + #endif } #if defined(STRICT_GNUC) diff --git a/tests/unit/RNG/TestMKLRNG.cpp b/tests/unit/RNG/TestMKLRNG.cpp index f9a74ee40fd..04f2edc8d84 100644 --- a/tests/unit/RNG/TestMKLRNG.cpp +++ b/tests/unit/RNG/TestMKLRNG.cpp @@ -3,7 +3,7 @@ \file tests/unit/RNG/TestMKLRNG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for RNG/MKLRNG.hpp \details Unit tests for RNG/MKLRNG.hpp diff --git a/tests/unit/RNG/TestRNG.cpp b/tests/unit/RNG/TestRNG.cpp index 08227d6f012..463053d06fe 100644 --- a/tests/unit/RNG/TestRNG.cpp +++ b/tests/unit/RNG/TestRNG.cpp @@ -3,7 +3,7 @@ \file tests/unit/RNG/TestRNG.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for RNG/RNG.hpp \details Unit tests for RNG/RNG.hpp diff --git a/tests/unit/RNG/TestRNG.hpp b/tests/unit/RNG/TestRNG.hpp index 345245d8a82..c99734f033e 100644 --- a/tests/unit/RNG/TestRNG.hpp +++ b/tests/unit/RNG/TestRNG.hpp @@ -3,7 +3,7 @@ \file tests/unit/RNG/TestRNG.hpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Reused test code for unit testing random number generators \details Reused test code for unit testing random number generators diff --git a/tests/unit/RNG/TestRNGSSE.cpp b/tests/unit/RNG/TestRNGSSE.cpp index e1cbc3c2941..e185cadeb74 100644 --- a/tests/unit/RNG/TestRNGSSE.cpp +++ b/tests/unit/RNG/TestRNGSSE.cpp @@ -3,7 +3,7 @@ \file tests/unit/RNG/TestRNGSSE.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for RNG/RNGSSE.hpp \details Unit tests for RNG/RNGSSE.hpp diff --git a/tests/unit/RNG/TestRandom123.cpp b/tests/unit/RNG/TestRandom123.cpp index fc044558ad3..fd7db91338d 100644 --- a/tests/unit/RNG/TestRandom123.cpp +++ b/tests/unit/RNG/TestRandom123.cpp @@ -3,7 +3,7 @@ \file tests/unit/RNG/TestRandom123.cpp \copyright 2012-2015 J. Bakosi, 2016-2018 Los Alamos National Security, LLC., - 2019 Triad National Security, LLC. + 2019-2020 Triad National Security, LLC. All rights reserved. See the LICENSE file for details. \brief Unit tests for RNG/Random123.hpp \details Unit tests for RNG/Random123.hpp diff --git a/tools/docker/Dockerfile.quinoa-build-alpine b/tools/docker/Dockerfile.quinoa-build-alpine index baa8e9f37a9..af1e9bf3d0b 100644 --- a/tools/docker/Dockerfile.quinoa-build-alpine +++ b/tools/docker/Dockerfile.quinoa-build-alpine @@ -4,7 +4,7 @@ # \file tools/docker/Dockerfile.quinoa-build-alpine # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Dockerfile for a static build of Quinoa # \details Dockerfile for a static build of Quinoa, i.e., all executables @@ -20,7 +20,7 @@ FROM alpine:latest # Install system-wide prerequisites -RUN apk update && apk add patch libtool autoconf automake gfortran gcc g++ make boost-dev bash m4 file git cmake perl grep zlib-dev libexecinfo-dev libexecinfo-static ninja graphviz binutils-dev flex bison vim +RUN apk update && apk add patch libtool autoconf automake gfortran gcc g++ make boost-dev bash m4 file git cmake perl grep zlib-dev libexecinfo-dev libexecinfo-static ninja graphviz binutils-dev flex bison vim lua5.3-dev # Install OpenMPI ADD http://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.1.tar.gz /openmpi/ diff --git a/tools/docker/Dockerfile.quinoa-build-azure b/tools/docker/Dockerfile.quinoa-build-azure index f87379dba8c..fdfa15ba3d5 100644 --- a/tools/docker/Dockerfile.quinoa-build-azure +++ b/tools/docker/Dockerfile.quinoa-build-azure @@ -4,7 +4,7 @@ # \file tools/docker/Dockerfile.quinoa-build-azure # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Dockerfile for continuous integration with Microsoft Azure # \details Dockerfile for continuous integration with Microsoft Azure @@ -45,7 +45,7 @@ RUN cmake \ RUN if [ "${DOC}" ]; then \ ninja doc; \ else \ - ninja && if [ "${SMP}" ]; then mpirun -n 1 ${RUNNER_ARGS} Main/unittest -v -q +ppn 2; else mpirun -n 2 ${RUNNER_ARGS} Main/unittest -v -q; fi && ctest -j2 --output-on-failure -LE extreme; \ + ninja && if [ "${SMP}" ]; then mpirun -n 1 ${RUNNER_ARGS} Main/unittest -v -q +ppn 2; else mpirun -n 2 ${RUNNER_ARGS} Main/unittest -v -q; fi && ctest -j2 --output-on-failure -LE stringent; \ fi USER root diff --git a/tools/docker/Dockerfile.quinoa-build-debian b/tools/docker/Dockerfile.quinoa-build-debian index afb6f15da8b..ba1ded17913 100644 --- a/tools/docker/Dockerfile.quinoa-build-debian +++ b/tools/docker/Dockerfile.quinoa-build-debian @@ -4,7 +4,7 @@ # \file tools/docker/Dockerfile.quinoa-build-debian # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Dockerfile for a simple dynamic build of Quinoa on Debian # \details Dockerfile for a simple dynamic build of Quinoa on Debian Linux @@ -24,7 +24,7 @@ FROM debian:stable # Install system-wide prerequisites #RUN sed -i 's/stable main/stable main contrib non-free/g' /etc/apt/sources.list -RUN apt-get update -y && apt-get install -y m4 autoconf git cmake gfortran gcc g++ openmpi-bin libopenmpi-dev gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev zlib1g-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-cpp-dev tao-pegtl-dev binutils-dev libx11-dev libxpm-dev libxft-dev libxext-dev ninja-build flex bison libdw-dev libdwarf-dev vim +RUN apt-get update -y && apt-get install -y m4 autoconf git cmake gfortran gcc g++ openmpi-bin libopenmpi-dev gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev zlib1g-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-cpp-dev tao-pegtl-dev binutils-dev libx11-dev libxpm-dev libxft-dev libxext-dev ninja-build flex bison libdw-dev libdwarf-dev vim liblua5.3-dev # Setup user RUN adduser --gecos "" --disabled-password quinoa diff --git a/tools/docker/Dockerfile.quinoa-build-debian-executable-only b/tools/docker/Dockerfile.quinoa-build-debian-executable-only index ea9341edf4b..1076833f9c6 100644 --- a/tools/docker/Dockerfile.quinoa-build-debian-executable-only +++ b/tools/docker/Dockerfile.quinoa-build-debian-executable-only @@ -4,7 +4,7 @@ # \file tools/docker/Dockerfile.quinoa-build-debian-executabl-only # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \brief Dockerfile for a testing a single executable of Quinoa on Debian # \details Dockerfile for a building and testing a single executable of @@ -25,7 +25,7 @@ FROM debian:stable # Install system-wide prerequisites #RUN sed -i 's/stable main/stable main contrib non-free/g' /etc/apt/sources.list -RUN apt-get update -y && apt-get install -y m4 autoconf git cmake gfortran gcc g++ openmpi-bin libopenmpi-dev gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev zlib1g-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-cpp-dev tao-pegtl-dev binutils-dev libx11-dev libxpm-dev libxft-dev libxext-dev ninja-build flex bison libdw-dev libdwarf-dev vim wget +RUN apt-get update -y && apt-get install -y m4 autoconf git cmake gfortran gcc g++ openmpi-bin libopenmpi-dev gmsh libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev zlib1g-dev libhdf5-dev libhdf5-openmpi-dev libnetcdf-mpi-dev libbackward-cpp-dev tao-pegtl-dev binutils-dev libx11-dev libxpm-dev libxft-dev libxext-dev ninja-build flex bison libdw-dev libdwarf-dev vim wget liblua5.3-dev # Setup user RUN adduser --gecos "" --disabled-password quinoa diff --git a/tools/extract_cmd_keywords.sh b/tools/extract_cmd_keywords.sh index 18a9bfccc6d..2404705eabf 100755 --- a/tools/extract_cmd_keywords.sh +++ b/tools/extract_cmd_keywords.sh @@ -7,7 +7,7 @@ # \brief Generate documentation pages for command line keywords # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \details This script runs an executable and extracts the help for each of # the executable's command line keyword, describing their documentation, diff --git a/tools/extract_ctr_keywords.sh b/tools/extract_ctr_keywords.sh index 717bee34941..3f8018174c8 100755 --- a/tools/extract_ctr_keywords.sh +++ b/tools/extract_ctr_keywords.sh @@ -7,7 +7,7 @@ # \brief Generate documentation pages for control file keywords # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \details This script runs an executable and extracts the help for each of # the executable's control file keyword, describing their documentation, diff --git a/tools/recent_mods.sh b/tools/recent_mods.sh index 4a8aa416df3..794922d8978 100755 --- a/tools/recent_mods.sh +++ b/tools/recent_mods.sh @@ -5,7 +5,7 @@ # \brief Generate a list of recently modified doc pages # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. # \details This script runs git and queries recently modified documentation # pages and replaces this list in mainpage.dox, which then doxygen incorporates diff --git a/tools/update_copyright.sh b/tools/update_copyright.sh index 465acf56fee..98e54314859 100755 --- a/tools/update_copyright.sh +++ b/tools/update_copyright.sh @@ -5,13 +5,13 @@ # \brief Switch copyright year in all files # \copyright 2012-2015 J. Bakosi, # 2016-2018 Los Alamos National Security, LLC., -# 2019 Triad National Security, LLC. +# 2019-2020 Triad National Security, LLC. # All rights reserved. See the LICENSE file for details. ################################################################################ # Suggested argument directories: # -# quinoa: doc tests tools src +# quinoa: doc tests tools src cmake # quinoa-tpl: docker # quinoa-cmake: .