From 8a087e3af253bf640add0eccadef2ad0c1f9d100 Mon Sep 17 00:00:00 2001 From: DennisGlaeser <dennis.glaeser@iws.uni-stuttgart.de> Date: Fri, 13 Jan 2017 15:41:43 +0100 Subject: [PATCH] [mixeddimension] Implement mixeddimension framework and first embedded test --- dumux/CMakeLists.txt | 1 + dumux/implicit/cellcentered/localjacobian.hh | 55 +- dumux/implicit/localjacobian.hh | 18 +- dumux/implicit/properties.hh | 4 + dumux/implicit/propertydefaults.hh | 3 +- dumux/mixeddimension/CMakeLists.txt | 13 + dumux/mixeddimension/assembler.hh | 462 + dumux/mixeddimension/bulklocaljacobian.hh | 319 + dumux/mixeddimension/embedded/CMakeLists.txt | 1 + .../cellcentered/bboxtreecouplingmanager.hh | 604 + .../bboxtreecouplingmanagersimple.hh | 498 + .../embedded/cellcentered/pointsourcedata.hh | 259 + dumux/mixeddimension/embedded/start.hh | 203 + dumux/mixeddimension/glue/CMakeLists.txt | 3 + dumux/mixeddimension/glue/glue.hh | 268 + .../mixeddimension/integrationpointsource.hh | 185 + .../linearsolveracceptsmultitypematrix.hh | 80 + dumux/mixeddimension/lowdimlocaljacobian.hh | 319 + dumux/mixeddimension/model.hh | 551 + dumux/mixeddimension/newtoncontroller.hh | 766 + dumux/mixeddimension/problem.hh | 583 + dumux/mixeddimension/properties.hh | 200 + .../mixeddimension/subproblemlocaljacobian.hh | 340 + dumux/mixeddimension/subproblemproperties.hh | 38 + test/CMakeLists.txt | 1 + test/mixeddimension/CMakeLists.txt | 1 + .../embedded/1p_1p/1d3dtestproblem.hh | 256 + .../embedded/1p_1p/CMakeLists.txt | 3 + .../embedded/1p_1p/bloodflowproblem.hh | 359 + .../embedded/1p_1p/bloodflowspatialparams.hh | 98 + .../embedded/1p_1p/convergencetest.py | 53 + .../embedded/1p_1p/grids/cylinder.geo | 41 + .../embedded/1p_1p/grids/cylinder.msh | 18890 ++++++++++++++++ test/mixeddimension/embedded/1p_1p/plot.py | 61 + .../embedded/1p_1p/test_1p_1p.cc | 45 + .../embedded/1p_1p/test_1p_1p.input | 52 + .../embedded/1p_1p/tissueproblem.hh | 359 + .../embedded/1p_1p/tissuespatialparams.hh | 102 + test/mixeddimension/embedded/CMakeLists.txt | 1 + 39 files changed, 26055 insertions(+), 40 deletions(-) create mode 100644 dumux/mixeddimension/CMakeLists.txt create mode 100644 dumux/mixeddimension/assembler.hh create mode 100644 dumux/mixeddimension/bulklocaljacobian.hh create mode 100644 dumux/mixeddimension/embedded/CMakeLists.txt create mode 100644 dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh create mode 100644 dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh create mode 100644 dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh create mode 100644 dumux/mixeddimension/embedded/start.hh create mode 100644 dumux/mixeddimension/glue/CMakeLists.txt create mode 100644 dumux/mixeddimension/glue/glue.hh create mode 100644 dumux/mixeddimension/integrationpointsource.hh create mode 100644 dumux/mixeddimension/linearsolveracceptsmultitypematrix.hh create mode 100644 dumux/mixeddimension/lowdimlocaljacobian.hh create mode 100644 dumux/mixeddimension/model.hh create mode 100644 dumux/mixeddimension/newtoncontroller.hh create mode 100644 dumux/mixeddimension/problem.hh create mode 100644 dumux/mixeddimension/properties.hh create mode 100644 dumux/mixeddimension/subproblemlocaljacobian.hh create mode 100644 dumux/mixeddimension/subproblemproperties.hh create mode 100644 test/mixeddimension/CMakeLists.txt create mode 100644 test/mixeddimension/embedded/1p_1p/1d3dtestproblem.hh create mode 100644 test/mixeddimension/embedded/1p_1p/CMakeLists.txt create mode 100644 test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh create mode 100644 test/mixeddimension/embedded/1p_1p/bloodflowspatialparams.hh create mode 100755 test/mixeddimension/embedded/1p_1p/convergencetest.py create mode 100644 test/mixeddimension/embedded/1p_1p/grids/cylinder.geo create mode 100644 test/mixeddimension/embedded/1p_1p/grids/cylinder.msh create mode 100644 test/mixeddimension/embedded/1p_1p/plot.py create mode 100644 test/mixeddimension/embedded/1p_1p/test_1p_1p.cc create mode 100644 test/mixeddimension/embedded/1p_1p/test_1p_1p.input create mode 100644 test/mixeddimension/embedded/1p_1p/tissueproblem.hh create mode 100644 test/mixeddimension/embedded/1p_1p/tissuespatialparams.hh create mode 100644 test/mixeddimension/embedded/CMakeLists.txt diff --git a/dumux/CMakeLists.txt b/dumux/CMakeLists.txt index a97251962f..a8e7f0f33e 100644 --- a/dumux/CMakeLists.txt +++ b/dumux/CMakeLists.txt @@ -6,6 +6,7 @@ add_subdirectory("implicit") add_subdirectory("io") add_subdirectory("linear") add_subdirectory("material") +add_subdirectory("mixeddimension") add_subdirectory("multidomain") add_subdirectory("nonlinear") add_subdirectory("parallel") diff --git a/dumux/implicit/cellcentered/localjacobian.hh b/dumux/implicit/cellcentered/localjacobian.hh index ea4b5fae11..56828a566f 100644 --- a/dumux/implicit/cellcentered/localjacobian.hh +++ b/dumux/implicit/cellcentered/localjacobian.hh @@ -144,9 +144,6 @@ public: ElementBoundaryTypes elemBcTypes; elemBcTypes.update(this->problem_(), element, fvGeometry); - // The actual solution in the element - auto curElemSol = this->model_().elementSolution(element, this->model_().curSol()); - // calculate the local residual if (isGhost) { @@ -173,7 +170,6 @@ public: fvGeometry, prevElemVolVars, curElemVolVars, - curElemSol, elemFluxVarsCache, elemBcTypes, matrix, @@ -201,7 +197,6 @@ protected: const FVElementGeometry& fvGeometry, const ElementVolumeVariables& prevElemVolVars, ElementVolumeVariables& curElemVolVars, - ElementSolution& curElemSol, ElementFluxVariablesCache& elemFluxVarsCache, const ElementBoundaryTypes& elemBcTypes, JacobianMatrix& matrix, @@ -239,9 +234,13 @@ protected: } auto&& scv = fvGeometry.scv(globalI_); + auto& curSol = this->model_().curSol(); auto& curVolVars = getCurVolVars(curElemVolVars, scv); - // save a copy of the original vol vars - VolumeVariables origVolVars(curVolVars); + + // save a copy of the original privars and vol vars in order + // to restore the original solution after deflection + auto origPriVars = curSol[globalI_]; + auto origVolVars = curVolVars; // derivatives in the neighbors with repect to the current elements Dune::BlockVector<PrimaryVariables> neighborDeriv(numNeighbors); @@ -264,11 +263,11 @@ protected: // calculate f(x + \epsilon) // deflect primary variables - curElemSol[0][pvIdx] += eps; + curSol[globalI_][pvIdx] += eps; delta += eps; // update the volume variables and the flux var cache - curVolVars.update(curElemSol, this->problem_(), element, scv); + curVolVars.update(this->model_().elementSolution(element, curSol), this->problem_(), element, scv); elemFluxVarsCache.update(element, fvGeometry, curElemVolVars); if (!isGhost) @@ -315,11 +314,11 @@ protected: // need to calculate f(x - \epsilon) // deflect the primary variables - curElemSol[0][pvIdx] -= delta + eps; + curSol[globalI_][pvIdx] -= delta + eps; delta += eps; // update the volume variables and the flux var cache - curVolVars.update(curElemSol, this->problem_(), element, scv); + curVolVars.update(this->model_().elementSolution(element, curSol), this->problem_(), element, scv); elemFluxVarsCache.update(element, fvGeometry, curElemVolVars); if (!isGhost) @@ -370,7 +369,7 @@ protected: curVolVars = origVolVars; // restore the current element solution - curElemSol[0][pvIdx] = this->model_().curSol()[globalI_][pvIdx]; + curSol[globalI_] = origPriVars; // update the global jacobian matrix with the current partial derivatives this->updateGlobalJacobian_(matrix, globalI_, globalI_, pvIdx, partialDeriv); @@ -390,16 +389,20 @@ protected: { // get the elements and calculate the flux into the element in the undeflected state auto&& scv = fvGeometry.scv(globalI_); - const auto source = this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + auto source = this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + const auto& curVolVarsI = curElemVolVars[scv]; + source *= -scv.volume()*curVolVarsI.extrusionFactor(); for (auto globalJ : additionalDofDependencies) { auto&& scvJ = fvGeometry.scv(globalJ); auto& curVolVarsJ = getCurVolVars(curElemVolVars, scvJ); const auto& elementJ = fvGeometry.globalFvGeometry().element(globalJ); - auto curElemSolJ = this->model_().elementSolution(elementJ, this->model_().curSol()); + auto& curSol = this->model_().curSol(); - // save a copy of the original vol vars + // save a copy of the original privars and volvars + // to restore original solution after deflection + auto origPriVars = curSol[globalJ]; auto origVolVarsJ = curVolVarsJ; // derivatives with repect to the additional DOF we depend on @@ -416,14 +419,16 @@ protected: // calculate f(x + \epsilon) // deflect primary variables - curElemSolJ[0][pvIdx] += eps; + curSol[globalJ][pvIdx] += eps; delta += eps; // update the volume variables and the flux var cache - curVolVarsJ.update(curElemSolJ, this->problem_(), elementJ, scvJ); + curVolVarsJ.update(this->model_().elementSolution(elementJ, curSol), this->problem_(), elementJ, scvJ); // calculate the source with the deflected primary variables - partialDeriv = this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + auto deflSource = this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + deflSource *= -scv.volume()*curVolVarsI.extrusionFactor(); + partialDeriv = std::move(deflSource); } else { @@ -439,14 +444,16 @@ protected: // need to calculate f(x - \epsilon) // deflect the primary variables - curElemSolJ[0][pvIdx] -= delta + eps; + curSol[globalJ][pvIdx] -= delta + eps; delta += eps; // update the volume variables and the flux var cache - curVolVarsJ.update(curElemSolJ, this->problem_(), elementJ, scvJ); + curVolVarsJ.update(this->model_().elementSolution(elementJ, curSol), this->problem_(), elementJ, scvJ); // calculate the source with the deflected primary variables and subtract - partialDeriv -= this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + auto deflSource = this->localResidual().computeSource(element, fvGeometry, curElemVolVars, scv); + deflSource *= -scv.volume()*curVolVarsI.extrusionFactor(); + partialDeriv -= std::move(deflSource); } else { @@ -460,12 +467,10 @@ protected: // deflections between the two function evaluation partialDeriv /= delta; - // restore the original state of the scv's volume variables + // restore the original state of the dofs privars and the volume variables + curSol[globalJ] = origPriVars; curVolVarsJ = origVolVarsJ; - // restore the current element solution - curElemSolJ[0][pvIdx] = this->model_().curSol()[globalJ][pvIdx]; - // update the global jacobian matrix with the current partial derivatives this->updateGlobalJacobian_(matrix, globalI_, globalJ, pvIdx, partialDeriv); } diff --git a/dumux/implicit/localjacobian.hh b/dumux/implicit/localjacobian.hh index e28c0e92b1..31235e13bf 100644 --- a/dumux/implicit/localjacobian.hh +++ b/dumux/implicit/localjacobian.hh @@ -91,12 +91,8 @@ class ImplicitLocalJacobian public: // copying a local jacobian is not a good idea ImplicitLocalJacobian(const ImplicitLocalJacobian &) = delete; - - ImplicitLocalJacobian() - { - Valgrind::SetUndefined(problemPtr_); - } - + // default constructor + ImplicitLocalJacobian() = default; /*! * \brief Initialize the local Jacobian object. @@ -157,19 +153,13 @@ protected: * \brief Returns a reference to the problem. */ const Problem &problem_() const - { - Valgrind::CheckDefined(problemPtr_); - return *problemPtr_; - } + { return *problemPtr_; } /*! * \brief Returns a reference to the problem. */ Problem &problem_() - { - Valgrind::CheckDefined(problemPtr_); - return *problemPtr_; - } + { return *problemPtr_; } /*! * \brief Returns a reference to the grid view. diff --git a/dumux/implicit/properties.hh b/dumux/implicit/properties.hh index 33b8e1b6e1..a4aff8cbeb 100644 --- a/dumux/implicit/properties.hh +++ b/dumux/implicit/properties.hh @@ -100,6 +100,10 @@ NEW_PROP_TAG(HeatConductionType); //! The type for the calculation of the heat c NEW_PROP_TAG(SolutionDependentHeatConduction); //!< specifies if the parameters for the heat conduction fluxes depend on the solution NEW_PROP_TAG(EvaluatePermeabilityAtScvfIP); //!< if the permeability has to be evaluated at the scvf integration point (for evaluating analytical fields) +// specify if we evaluate the permeability in the volume (for discontinuous fields) +// or at the scvf center for analytical permeability fields (e.g. convergence studies) +NEW_PROP_TAG(EvaluatePermeabilityAtScvfCenter); + // vtk output NEW_PROP_TAG(VtkAddVelocity); //!< specifies if an element velocity it reconstructed for the output NEW_PROP_TAG(VtkAddProcessRank); //!< specifies if the process rank should be added the output diff --git a/dumux/implicit/propertydefaults.hh b/dumux/implicit/propertydefaults.hh index 7c166b62cb..318406d45b 100644 --- a/dumux/implicit/propertydefaults.hh +++ b/dumux/implicit/propertydefaults.hh @@ -158,7 +158,8 @@ SET_BOOL_PROP(ImplicitBase, SolutionDependentAdvection, true); SET_BOOL_PROP(ImplicitBase, SolutionDependentMolecularDiffusion, true); SET_BOOL_PROP(ImplicitBase, SolutionDependentHeatConduction, true); -//! by default we consider discontinous (at scvfs) permeability fields +//! specify if we evaluate the permeability in the volume (for discontinuous fields, default) +//! or at the scvf center for analytical permeability fields (e.g. convergence studies) SET_BOOL_PROP(ImplicitBase, EvaluatePermeabilityAtScvfIP, false); //! by default, boundary conditions are not constant over time diff --git a/dumux/mixeddimension/CMakeLists.txt b/dumux/mixeddimension/CMakeLists.txt new file mode 100644 index 0000000000..a592084f9a --- /dev/null +++ b/dumux/mixeddimension/CMakeLists.txt @@ -0,0 +1,13 @@ +add_subdirectory("embedded") +add_subdirectory("glue") + +install(FILES +assembler.hh +bulklocaljacobian.hh +lowdimlocaljacobian.hh +newtoncontroller.hh +problem.hh +model.hh +properties.hh +subproblemproperties.hh +DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/mixeddimension) diff --git a/dumux/mixeddimension/assembler.hh b/dumux/mixeddimension/assembler.hh new file mode 100644 index 0000000000..8c25ab1cbf --- /dev/null +++ b/dumux/mixeddimension/assembler.hh @@ -0,0 +1,462 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief An assembler for the global Jacobian matrix for models of mixed dimension. + * We assume a bulk domain and a lower dimensional domain on separate grids. + */ +#ifndef DUMUX_MIXEDDIMENSION_ASSEMBLER_HH +#define DUMUX_MIXEDDIMENSION_ASSEMBLER_HH + +#include <dune/istl/matrixindexset.hh> + +#include <dumux/common/exceptions.hh> +#include <dumux/mixeddimension/properties.hh> + +namespace Dumux { + +/*! + * \ingroup MixedDimension + * \brief An assembler for the global Jacobian matrix for models of mixed dimension. + * We assume a bulk domain and a lower dimensional domain on separate grids. + */ +template<class TypeTag> +class MixedDimensionAssembler +{ + using Implementation = typename GET_PROP_TYPE(TypeTag, JacobianAssembler); + + using Model = typename GET_PROP_TYPE(TypeTag, Model); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + + using BulkElement = typename BulkGridView::template Codim<0>::Entity; + using LowDimElement = typename LowDimGridView::template Codim<0>::Entity; + + using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using SubProblemBlockIndices = typename GET_PROP(TypeTag, SubProblemBlockIndices); + using BulkMatrixBlock = typename GET_PROP(TypeTag, JacobianMatrix)::MatrixBlockBulk; + using BulkCouplingMatrixBlock = typename GET_PROP(TypeTag, JacobianMatrix)::MatrixBlockBulkCoupling; + using LowDimMatrixBlock = typename GET_PROP(TypeTag, JacobianMatrix)::MatrixBlockLowDim; + using LowDimCouplingMatrixBlock = typename GET_PROP(TypeTag, JacobianMatrix)::MatrixBlockLowDimCoupling; + + typename SubProblemBlockIndices::BulkIdx bulkIdx; + typename SubProblemBlockIndices::LowDimIdx lowDimIdx; + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld + }; + + enum { + bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox), + lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) + }; + +public: + // copying the jacobian assembler is not a good idea + MixedDimensionAssembler(const MixedDimensionAssembler &) = delete; + + MixedDimensionAssembler() : problemPtr_(nullptr) {} + + /*! + * \brief Initialize the jacobian assembler. + * + * At this point we can assume that all objects in the problem and + * the model have been allocated :. We can not assume that they are + * fully initialized, though. + * + * \param problem The problem object + */ + void init(Problem& problem) + { + // save problem pointer + problemPtr_ = &problem; + + // initialize the multitype matrix + asImp_().createMatrix_(); + + // initialize the jacobian matrix with zeros + *matrix_ = 0.0; + + // allocate the residual vector (right-hand-side) + residual_[bulkIdx].resize(problem.model().bulkNumDofs()); + residual_[lowDimIdx].resize(problem.model().lowDimNumDofs()); + } + + /*! + * \brief Assemble the global Jacobian of the residual and the residual for the current solution. + * + * The current state of affairs (esp. the previous and the current + * solutions) is represented by the model object. + */ + void assemble() + { + bool succeeded; + try + { + asImp_().assemble_(); + succeeded = true; + } + catch (Dumux::NumericalProblem &e) + { + std::cout << " caught an exception while assembling:" << e.what() << std::endl; + succeeded = false; + } + + if (!succeeded) + DUNE_THROW(NumericalProblem, "A process did not succeed in linearizing the system"); + } + + /*! + * \brief Return constant reference to global Jacobian matrix. + */ + const JacobianMatrix& matrix() const + { return *matrix_; } + + JacobianMatrix& matrix() + { return *matrix_; } + + /*! + * \brief Return constant reference to global residual vector. + */ + const SolutionVector& residual() const + { return residual_; } + + SolutionVector& residual() + { return residual_; } + +protected: + // reset the global linear system of equations. + void resetSystem_() + { + // reset the right hand side. + residual_ = 0.0; + + // reset the matrix + *matrix_ = 0.0; + } + + // linearize the whole system + void assemble_() + { + resetSystem_(); + + // assemble the elements of the bulk problem + for (const auto& element : elements(problem_().bulkGridView())) + problem_().model().bulkLocalJacobian().assemble(element, + (*matrix_)[bulkIdx][bulkIdx], + (*matrix_)[bulkIdx][lowDimIdx], + residual_[bulkIdx]); + + // assemble the elements of the lowdim problem + for (const auto& element : elements(problem_().lowDimGridView())) + problem_().model().lowDimLocalJacobian().assemble(element, + (*matrix_)[lowDimIdx][lowDimIdx], + (*matrix_)[lowDimIdx][bulkIdx], + residual_[lowDimIdx]); + } + + void buildBulkMatrixBlocksCC_(BulkMatrixBlock& m, BulkCouplingMatrixBlock& cm) + { + // get occupation pattern of the matrix + Dune::MatrixIndexSet bulkPattern, bulkCouplingPattern; + bulkPattern.resize(m.N(), m.M()); + bulkCouplingPattern.resize(cm.N(), cm.M()); + + const auto& assemblyMap = this->problem_().bulkProblem().model().localJacobian().assemblyMap(); + for (const auto& element : elements(problem_().bulkGridView())) + { + const auto globalI = problem_().model().bulkElementMapper().index(element); + + bulkPattern.add(globalI, globalI); + for (const auto& dataJ : assemblyMap[globalI]) + bulkPattern.add(dataJ.globalJ, globalI); + + // reserve index for additional user defined DOF dependencies + const auto& additionalDofDependencies = problem_().bulkProblem().getAdditionalDofDependencies(globalI); + for (auto globalJ : additionalDofDependencies) + bulkPattern.add(globalI, globalJ); + + const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + for (auto globalJ : couplingStencil) + bulkCouplingPattern.add(globalI, globalJ); + } + + // export occupation patterns to matrices + bulkPattern.exportIdx(m); + bulkCouplingPattern.exportIdx(cm); + } + + void buildLowDimMatrixBlocksCC_(LowDimMatrixBlock& m, LowDimCouplingMatrixBlock& cm) + { + // get occupation pattern of the matrix + Dune::MatrixIndexSet lowDimPattern, lowDimCouplingPattern; + lowDimPattern.resize(m.N(), m.M()); + lowDimCouplingPattern.resize(cm.N(), cm.M()); + + const auto& assemblyMap = this->problem_().lowDimProblem().model().localJacobian().assemblyMap(); + for (const auto& element : elements(problem_().lowDimGridView())) + { + const auto globalI = problem_().model().lowDimElementMapper().index(element); + + lowDimPattern.add(globalI, globalI); + for (const auto& dataJ : assemblyMap[globalI]) + lowDimPattern.add(dataJ.globalJ, globalI); + + // reserve index for additional user defined DOF dependencies + const auto& additionalDofDependencies = problem_().lowDimProblem().getAdditionalDofDependencies(globalI); + for (auto globalJ : additionalDofDependencies) + lowDimPattern.add(globalI, globalJ); + + const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + for (auto globalJ : couplingStencil) + lowDimCouplingPattern.add(globalI, globalJ); + } + + // export occupation patterns to matrices + lowDimPattern.exportIdx(m); + lowDimCouplingPattern.exportIdx(cm); + } + + // void buildBulkMatrixBlocksBox_(BulkMatrixBlock& m, BulkCouplingMatrixBlock& cm) + // { + // // get occupation pattern of the matrix + // Dune::MatrixIndexSet bulkPattern, bulkCouplingPattern; + // bulkPattern.resize(m.N(), m.M()); + // bulkCouplingPattern.resize(cm.N(), cm.M()); + + // for (const auto& element : elements(problem_().bulkGridView())) + // { + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // for (unsigned int scvIdx = 0; scvIdx < element.subEntities(bulkDim); ++scvIdx) + // { + // auto globalI = problem_().model().bulkVertexMapper().subIndex(element, scvIdx, bulkDim); + + // for (auto&& globalJ : stencil) + // bulkPattern.add(globalI, globalJ); + + // for (auto&& globalJ : couplingStencil) + // bulkCouplingPattern.add(globalI, globalJ); + // } + // } + + // // export occupation patterns to matrices + // bulkPattern.exportIdx(m); + // bulkCouplingPattern.exportIdx(cm); + // } + + // void buildLowDimMatrixBlocksBox_(LowDimMatrixBlock& m, LowDimCouplingMatrixBlock& cm) + // { + // // get occupation pattern of the matrix + // Dune::MatrixIndexSet lowDimPattern, lowDimCouplingPattern; + // lowDimPattern.resize(m.N(), m.M()); + // lowDimCouplingPattern.resize(cm.N(), cm.M()); + + // for (const auto& element : elements(problem_().lowDimGridView())) + // { + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // for (unsigned int scvIdx = 0; scvIdx < element.subEntities(lowDimDim); ++scvIdx) + // { + // auto globalI = problem_().model().lowDimVertexMapper().subIndex(element, scvIdx, lowDimDim); + + // for (auto&& globalJ : stencil) + // lowDimPattern.add(globalI, globalJ); + + // for (auto&& globalJ : couplingStencil) + // lowDimCouplingPattern.add(globalI, globalJ); + // } + // } + + // // export occupation patterns to matrices + // lowDimPattern.exportIdx(m); + // lowDimCouplingPattern.exportIdx(cm); + // } + + // Construct the multitype matrix for the global jacobian + void createMatrix_() + { + // create the multitype matrix + matrix_ = std::make_shared<JacobianMatrix>(); + + // get sub matrix sizes + const auto bulkSize = problem_().model().bulkNumDofs(); + const auto lowDimSize = problem_().model().lowDimNumDofs(); + + // allocate the sub matrices + auto A11 = BulkMatrixBlock(bulkSize, bulkSize, BulkMatrixBlock::random); + auto A12 = BulkCouplingMatrixBlock(bulkSize, lowDimSize, BulkCouplingMatrixBlock::random); + auto A22 = LowDimMatrixBlock(lowDimSize, lowDimSize, LowDimMatrixBlock::random); + auto A21 = LowDimCouplingMatrixBlock(lowDimSize, bulkSize, LowDimCouplingMatrixBlock::random); + + // cell-centered + if (!bulkIsBox) + buildBulkMatrixBlocksCC_(A11, A12); + else{ + // buildBulkMatrixBlocksBox_(A11, A12); + } + + if (!lowDimIsBox) + buildLowDimMatrixBlocksCC_(A22, A21); + else{ + // buildLowDimMatrixBlocksBox_(A22, A21); + } + + (*matrix_)[bulkIdx][bulkIdx] = A11; + (*matrix_)[bulkIdx][lowDimIdx] = A12; + (*matrix_)[lowDimIdx][bulkIdx] = A21; + (*matrix_)[lowDimIdx][lowDimIdx] = A22; + } + + // assemble a bulk element + // void assembleElement_(const BulkElement &element) + // { + // problem_().model().bulkLocalJacobian().assemble(element); + + // if (!bulkIsBox) + // { + // int globalI = problem_().model().bulkElementMapper().index(element); + + // // update the right hand side + // residual_[bulkIdx][globalI] = problem_().model().bulkLocalJacobian().residual(0); + // for (int j = 0; j < residual_[bulkIdx][globalI].dimension; ++j) + // assert(std::isfinite(residual_[bulkIdx][globalI][j])); + + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // int j = 0; + // for (auto&& globalJ : stencil) + // (*matrix_)[bulkIdx][bulkIdx][globalI][globalJ] = problem_().model().bulkLocalJacobian().mat(bulkIdx, 0, j++); + + // j = 0; + // for (auto&& globalJ : couplingStencil) + // (*matrix_)[bulkIdx][lowDimIdx][globalI][globalJ] = problem_().model().bulkLocalJacobian().mat(lowDimIdx, 0, j++); + // } + // else + // { + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // for (unsigned int scvIdx = 0; scvIdx < element.subEntities(bulkDim); ++scvIdx) + // { + // auto globalI = problem_().model().bulkVertexMapper().subIndex(element, scvIdx, bulkDim); + + // // update the right hand side + // residual_[bulkIdx][globalI] += problem_().model().bulkLocalJacobian().residual(scvIdx); + // for (int j = 0; j < residual_[bulkIdx][globalI].dimension; ++j) + // assert(std::isfinite(residual_[bulkIdx][globalI][j])); + + // int j = 0; + // for (auto&& globalJ : stencil) + // (*matrix_)[bulkIdx][bulkIdx][globalI][globalJ] += problem_().model().bulkLocalJacobian().mat(bulkIdx, scvIdx, j++); + + // j = 0; + // for (auto&& globalJ : couplingStencil) + // (*matrix_)[bulkIdx][lowDimIdx][globalI][globalJ] += problem_().model().bulkLocalJacobian().mat(lowDimIdx, scvIdx, j++); + // } + // } + // } + + // // assemble a bulk element + // void assembleElement_(const LowDimElement &element) + // { + // problem_().model().lowDimLocalJacobian().assemble(element); + + // if (!lowDimIsBox) + // { + // int globalI = problem_().model().lowDimElementMapper().index(element); + + // // update the right hand side + // residual_[lowDimIdx][globalI] = problem_().model().lowDimLocalJacobian().residual(0); + // for (int j = 0; j < residual_[lowDimIdx][globalI].dimension; ++j) + // assert(std::isfinite(residual_[lowDimIdx][globalI][j])); + + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // int j = 0; + // for (auto&& globalJ : stencil) + // (*matrix_)[lowDimIdx][lowDimIdx][globalI][globalJ] = problem_().model().lowDimLocalJacobian().mat(lowDimIdx, 0, j++); + + // j = 0; + // for (auto&& globalJ : couplingStencil) + // (*matrix_)[lowDimIdx][bulkIdx][globalI][globalJ] = problem_().model().lowDimLocalJacobian().mat(bulkIdx, 0, j++); + // } + // else + // { + // const auto& stencil = problem_().couplingManager().stencil(element); + // const auto& couplingStencil = problem_().couplingManager().couplingStencil(element); + + // for (unsigned int scvIdx = 0; scvIdx < element.subEntities(lowDimDim); ++scvIdx) + // { + // auto globalI = problem_().model().lowDimVertexMapper().subIndex(element, scvIdx, lowDimDim); + + // // update the right hand side + // residual_[lowDimIdx][globalI] += problem_().model().lowDimLocalJacobian().residual(scvIdx); + // for (int j = 0; j < residual_[lowDimIdx][globalI].dimension; ++j) + // assert(std::isfinite(residual_[lowDimIdx][globalI][j])); + + // int j = 0; + // for (auto&& globalJ : stencil) + // (*matrix_)[lowDimIdx][lowDimIdx][globalI][globalJ] += problem_().model().lowDimLocalJacobian().mat(lowDimIdx, scvIdx, j++); + + // j = 0; + // for (auto&& globalJ : couplingStencil) + // (*matrix_)[lowDimIdx][bulkIdx][globalI][globalJ] += problem_().model().lowDimLocalJacobian().mat(bulkIdx, scvIdx, j++); + // } + // } + // } + + Problem &problem_() + { return *problemPtr_; } + const Problem &problem_() const + { return *problemPtr_; } + + // the multidimension problem + Problem *problemPtr_; + + // the jacobian matrix + std::shared_ptr<JacobianMatrix> matrix_; + // the right-hand side + SolutionVector residual_; + +private: + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } +}; + +} // namespace Dumux + +#endif diff --git a/dumux/mixeddimension/bulklocaljacobian.hh b/dumux/mixeddimension/bulklocaljacobian.hh new file mode 100644 index 0000000000..939132fa39 --- /dev/null +++ b/dumux/mixeddimension/bulklocaljacobian.hh @@ -0,0 +1,319 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Caculates the Jacobian of the local residual for fully-implicit models + */ +#ifndef DUMUX_BULK_LOCAL_JACOBIAN_HH +#define DUMUX_BULK_LOCAL_JACOBIAN_HH + +#include <dune/common/indices.hh> +#include <dune/istl/matrix.hh> + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/mixeddimension/properties.hh> + +namespace Dumux +{ +/*! + * \ingroup MixedDimension + * \brief Calculates the Jacobian of the local residual for the bulk domain + * + * The default behavior is to use numeric differentiation, i.e. + * forward or backward differences (2nd order), or central + * differences (3rd order). The method used is determined by the + * "NumericDifferenceMethod" property: + * + * - if the value of this property is smaller than 0, backward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x) - f(x - \epsilon)}{\epsilon} + * \f] + * + * - if the value of this property is 0, central + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x - \epsilon)}{2 \epsilon} + * \f] + * + * - if the value of this property is larger than 0, forward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x)}{\epsilon} + * \f] + * + * Here, \f$ f \f$ is the residual function for all equations, \f$x\f$ + * is the value of a sub-control volume's primary variable at the + * evaluation point and \f$\epsilon\f$ is a small value larger than 0. + */ +template<class TypeTag> +class BulkLocalJacobian : public GET_PROP_TYPE(TypeTag, BulkLocalJacobianBase) +{ + using ParentType = typename GET_PROP_TYPE(TypeTag, BulkLocalJacobianBase); + using Implementation = typename GET_PROP_TYPE(TypeTag, BulkLocalJacobian); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GlobalProblem = typename GET_PROP_TYPE(TypeTag, Problem); + using SubProblemBlockIndices = typename GET_PROP(TypeTag, SubProblemBlockIndices); + + // obtain the type tag of the bulk sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + + // types of the bulk sub problem + using Problem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); + using FVElementGeometry = typename GET_PROP_TYPE(BulkProblemTypeTag, FVElementGeometry); + using ElementSolutionVector = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementSolutionVector); + using PrimaryVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, PrimaryVariables); + using VolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables); + using ElementVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementVolumeVariables); + using ElementFluxVariablesCache = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementFluxVariablesCache); + using ElementBoundaryTypes = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementBoundaryTypes); + using LocalResidual = typename GET_PROP_TYPE(BulkProblemTypeTag, LocalResidual); + using GridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using IndexType = typename GridView::IndexSet::IndexType: + using Element = typename GridView::template Codim<0>::Entity; + + enum { dim = GridView::dimension }; + enum { isBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox) }; + + // matrix and solution types + using SolutionVector = typename GET_PROP_TYPE(BulkProblemTypeTag, SolutionVector); + using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix)::MatrixBlockBulk; + using JacobianMatrixCoupling = typename GET_PROP_TYPE(TypeTag, JacobianMatrix)::MatrixBlockBulkCoupling; + +public: + + // copying a local jacobian is not a good idea + BulkLocalJacobian(const BulkLocalJacobian &) = delete; + + BulkLocalJacobian() + { numericDifferenceMethod_ = GET_PARAM_FROM_GROUP(TypeTag, int, Implicit, NumericDifferenceMethod); } + + /*! + * \brief Initialize the local Jacobian object. + * + * At this point we can assume that everything has been allocated, + * although some objects may not yet be completely initialized. + * + * \param problem The problem which we want to simulate. + */ + void init(GlobalProblem &globalProblem) + { + globalProblemPtr_ = &globalProblem; + ParentType::init(globalProblem.bulkProblem()); + } + + /*! + * \brief Assemble an element's local Jacobian matrix of the + * defect. + * + * \param element The DUNE Codim<0> entity which we look at. + */ + void assemble(const Element &element, + JacobianMatrix& matrix, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const bool isGhost = (element.partitionType() == Dune::GhostEntity); + + // prepare the volvars/fvGeometries in case caching is disabled + auto fvGeometry = localView(this->model_().globalFvGeometry()); + fvGeometry.bind(element); + + auto curElemVolVars = localView(this->model_().curGlobalVolVars()); + curElemVolVars.bind(element, fvGeometry, this->model_().curSol()); + + auto prevElemVolVars = localView(this->model_().prevGlobalVolVars()); + prevElemVolVars.bindElement(element, fvGeometry, this->model_().prevSol()); + + auto elemFluxVarsCache = localView(this->model_().globalFluxVarsCache()); + elemFluxVarsCache.bind(element, fvGeometry, curElemVolVars); + + // set the actual dof index + globalI_ = this->problem_().elementMapper().index(element); + + // check for boundaries on the element + ElementBoundaryTypes elemBcTypes; + elemBcTypes.update(this->problem_(), element, fvGeometry); + + // The actual solution in the element + auto curElemSol = this->model_().elementSolution(element, this->model_().curSol()); + + // Evaluate the undeflected element local residual + this->localResidual().eval(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache); + this->residual_ = this->localResidual().residual(); + + // calculate derivatives of all dofs in stencil with respect to the dofs in the element + this->evalPartialDerivatives_(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + curElemSol, + elemFluxVarsCache, + elemBcTypes, + matrix, + residual, + isGhost); + + // compute derivatives with respect to additional user defined DOF dependencies + const auto& additionalDofDepedencies = this->problem_().getAdditionalDofDependencies(globalI_); + if (!additionalDofDepedencies.empty() && !isGhost) + { + this->evalAdditionalDerivatives_(additionalDofDepedencies, + element, + fvGeometry, + curElemVolVars, + matrix, + residual); + } + + evalPartialDerivativeCoupling_(element, + fvGeometry, + curElemVolVars, + elemFluxVarsCache, + elemBcTypes, + couplingMatrix, + residual) + } + +protected: + + /*! + * \brief Returns a reference to the problem. + */ + const GlobalProblem &globalProblem_() const + { return *globalProblemPtr_; } + + GlobalProblem &globalProblem_() + { return *globalProblemPtr_; } + + void evalPartialDerivativeCoupling_(const Element& element, + const FVElementGeometry& fvGeometry, + ElementVolumeVariables& curElemVolVars, + ElementFluxVariablesCache& elemFluxVarsCache, + const ElementBoundaryTypes& elemBcTypes, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const auto& couplingStencil = globalProblem_().couplingManager().couplingStencil(element); + const auto numDofsCoupling = couplingStencil.size(); + + for (auto globalJ : couplingStencil) + { + const auto lowDimElement = globalProblem_().lowDimProblem().model().globalFvGeometry().element(globalJ); + const auto& lowDimSolution = globalProblem_().lowDimProblem().model().curSol(); + auto curElemSolLowDim = globalProblem_().lowDimProblem().model().elementSolution(lowDimElement, lowDimSolution); + const auto lowDimResidual = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + // derivatives in the neighbors with repect to the current elements + PrimaryVariables partialDeriv; + for (int pvIdx = 0; pvIdx < numEq; pvIdx++) + { + const Scalar eps = numericEpsilon(curElemSolLowDim[0][pvIdx]); + Scalar delta = 0; + + if (numericDifferenceMethod_ >= 0) + { + // we are not using backward differences, i.e. we need to + // calculate f(x + \epsilon) + + // deflect primary variables + curElemSolLowDim[0][pvIdx] += eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + } + else + { + // we are using backward differences, i.e. we don't need + // to calculate f(x + \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv = lowDimResidual; + } + + + if (numericDifferenceMethod_ <= 0) + { + // we are not using forward differences, i.e. we + // need to calculate f(x - \epsilon) + + // deflect the primary variables + curElemSolLowDim[0][pvIdx] -= 2*eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv -= globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + } + else + { + // we are using forward differences, i.e. we don't need to + // calculate f(x - \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv -= lowDimResidual; + } + + // divide difference in residuals by the magnitude of the + // deflections between the two function evaluation + partialDeriv /= delta; + + // restore the original state of the element solution vector + curElemSolLowDim[0][pvIdx] = lowDimSolution[globalJ][pvIdx]; + + // update the global jacobian matrix (coupling block) + this->updateGlobalJacobian_(couplingMatrix, globalI_, globalJ, pvIdx, partialDeriv); + } + } + } + + // The global index of the current element + IndexType globalI_; + // The problem we would like to solve + GlobalProblem *globalProblemPtr_; + // The type of the numeric difference method (forward, center, backward) + int numericDifferenceMethod_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/embedded/CMakeLists.txt b/dumux/mixeddimension/embedded/CMakeLists.txt new file mode 100644 index 0000000000..d0b0e83c72 --- /dev/null +++ b/dumux/mixeddimension/embedded/CMakeLists.txt @@ -0,0 +1 @@ +#add_subdirectory("cellcentered") diff --git a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh new file mode 100644 index 0000000000..fcb221eccd --- /dev/null +++ b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh @@ -0,0 +1,604 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \ingroup CCModel + * \brief Coupling manager for low-dimensional domains embedded in the bulk + * domain. Point sources on each integration point are computed by an AABB tree. + * Both domain are assumed to be discretized using a cc finite volume scheme. + */ + +#ifndef DUMUX_CC_BBOXTREE_EMBEDDEDCOUPLINGMANAGER_HH +#define DUMUX_CC_BBOXTREE_EMBEDDEDCOUPLINGMANAGER_HH + +#include <iostream> +#include <fstream> +#include <string> +#include <utility> + +#include <dune/common/timer.hh> +#include <dune/geometry/quadraturerules.hh> +#include <dune/geometry/referenceelements.hh> + +#include <dumux/mixeddimension/glue/glue.hh> +#include <dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh> + +namespace Dumux +{ + +namespace Properties +{ +// Property forward declarations +NEW_PROP_TAG(BulkProblemTypeTag); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(GridView); +} // namespace Properties + +/*! + * \ingroup EmbeddedCoupling + * \ingroup CCModel + * \brief Manages the coupling between bulk elements and lower dimensional elements + * Point sources on each integration point are computed by an AABB tree. + * Both domain are assumed to be discretized using a cc finite volume scheme. + */ +template<class TypeTag> +class CCBBoxTreeEmbeddedCouplingManager +{ + using Implementation = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using PointSourceData = Dumux::PointSourceDataCircleAverage<TypeTag>; + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); + using BulkPointSource = typename GET_PROP_TYPE(BulkProblemTypeTag, PointSource); + using BulkPrimaryVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, PrimaryVariables); + using BulkElementSolutionVector = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementSolutionVector); + using BulkVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables); + using BulkElementVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementVolumeVariables); + using BulkFVElementGeometry = typename GET_PROP_TYPE(BulkProblemTypeTag, FVElementGeometry); + using BulkElementBoundaryTypes = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementBoundaryTypes); + using BulkElementFluxVariablesCache = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementFluxVariablesCache); + using BulkElement = typename BulkGridView::template Codim<0>::Entity; + + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + using LowDimPointSource = typename GET_PROP_TYPE(LowDimProblemTypeTag, PointSource); + using LowDimPrimaryVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables); + using LowDimVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables); + using LowDimElementVolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementVolumeVariables); + using LowDimFVElementGeometry = typename GET_PROP_TYPE(LowDimProblemTypeTag, FVElementGeometry); + using LowDimElementBoundaryTypes = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementBoundaryTypes); + using LowDimElementFluxVariablesCache = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementFluxVariablesCache); + using LowDimElement = typename LowDimGridView::template Codim<0>::Entity; + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld + }; + + using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; +public: + + /*! + * \brief Constructor + */ + CCBBoxTreeEmbeddedCouplingManager(BulkProblem& bulkProblem, LowDimProblem& lowDimProblem) + : bulkProblem_(bulkProblem), lowDimProblem_(lowDimProblem) + { + // Check if we are using the cellcentered method in both domains + static_assert(lowDimDim == 1, "The bounding box coupling manager only works with one-dimensional low-dim grids"); + } + + /*! + * \brief Methods to be accessed by the coupled problem + */ + // \{ + + /*! + * \brief Called by the coupled problem before + * initializing the subproblems / models + */ + void preInit() + { + asImp_().computePointSourceData(); + } + + /*! + * \brief Called by the coupled problem after + * initializing the subproblems / models + */ + void postInit() + {} + + /*! + * \brief The bulk coupling stencil, i.e. which low-dimensional dofs + * the given bulk element dof depends on. + */ + const std::vector<unsigned int>& couplingStencil(const BulkElement& element) const + { + const unsigned int eIdx = bulkProblem().elementMapper().index(element); + if (bulkCouplingStencils_.count(eIdx)) + return bulkCouplingStencils_.at(eIdx); + else + return emptyStencil_; + } + + /*! + * \brief The low dim coupling stencil, i.e. which bulk dofs + * the given low dimensional element dof depends on. + */ + const std::vector<unsigned int>& couplingStencil(const LowDimElement& element) const + { + const unsigned int eIdx = lowDimProblem().elementMapper().index(element); + if (lowDimCouplingStencils_.count(eIdx)) + return lowDimCouplingStencils_.at(eIdx); + else + return emptyStencil_; + } + + //! evaluate coupling residual for the derivative bulk DOF with respect to low dim DOF + //! we only need to evaluate the part of the residual that will be influence by the low dim DOF + BulkPrimaryVariables evalCouplingResidual(const BulkElement& element, + const BulkFVElementGeometry& fvGeometry, + const BulkElementVolumeVariables& curElemVolVars, + const BulkElementBoundaryTypes& elemBcTypes, + const BulkElementFluxVariablesCache& elemFluxVarsCache, + const LowDimElement& lowDimElement) + { + const auto bulkElementIdx = bulkProblem().elementMapper().index(element); + auto&& scv = fvGeometry.scv(bulkElementIdx); + auto couplingSource = bulkProblem().scvPointSources(element, fvGeometry, curElemVolVars, scv); + couplingSource *= -scv.volume()*curElemVolVars[scv].extrusionFactor(); + return couplingSource; + } + + //! evaluate coupling residual for the derivative low dim DOF with respect to bulk DOF + //! we only need to evaluate the part of the residual that will be influence by the bulk DOF + LowDimPrimaryVariables evalCouplingResidual(const LowDimElement& element, + const LowDimFVElementGeometry& fvGeometry, + const LowDimElementVolumeVariables& curElemVolVars, + const LowDimElementBoundaryTypes& elemBcTypes, + const LowDimElementFluxVariablesCache& elemFluxVarsCache, + const BulkElement& bulkElement) + { + const auto lowDimElementIdx = lowDimProblem().elementMapper().index(element); + auto&& scv = fvGeometry.scv(lowDimElementIdx); + auto couplingSource = lowDimProblem().scvPointSources(element, fvGeometry, curElemVolVars, scv); + couplingSource *= -scv.volume()*curElemVolVars[scv].extrusionFactor(); + return couplingSource; + } + + // \} + + /* \brief Compute integration point point sources and associated data + * + * This method uses grid glue to intersect the given grids. Over each intersection + * we later need to integrate a source term. This method places point sources + * at each quadrature point and provides the point source with the necessary + * information to compute integrals (quadrature weight and integration element) + * \param order The order of the quadrature rule for integration of sources over an intersection + * \param verbose If the point source computation is verbose + */ + void computePointSourceData(unsigned int order = 1, bool verbose = false) + { + // Initialize the bulk bounding box tree + const auto& bulkTree = this->bulkProblem().boundingBoxTree(); + + // initilize the maps + // do some logging and profiling + Dune::Timer watch; + std::cout << "Initializing the point sources..." << std::endl; + + // clear all internal members like pointsource vectors and stencils + // initializes the point source id counter + clear(); + + // iterate over all lowdim elements + for (const auto& lowDimElement : elements(this->lowDimGridView())) + { + // get the Gaussian quadrature rule for the low dim element + auto lowDimGeometry = lowDimElement.geometry(); + const auto& quad = Dune::QuadratureRules<Scalar, lowDimDim>::rule(lowDimGeometry.type(), order); + + const unsigned int lowDimElementIdx = this->lowDimProblem().elementMapper().index(lowDimElement); + + // apply the Gaussian quadrature rule and define point sources at each quadrature point + // note that the approximation is not optimal if + // (a) the one-dimensional elements are too large, + // (b) whenever a one-dimensional element is split between two or more elements, + // (c) when gradients of important quantities in the three-dimensional domain are large. + + // iterate over all quadrature points + for (auto&& qp : quad) + { + // global position of the quadrature point + const auto globalPos = lowDimGeometry.global(qp.position()); + + auto bulkElementIndices = bulkTree.computeEntityCollisions(globalPos); + + // do not add a point source if the qp is outside of the 3d grid + // this is equivalent to having a source of zero for that qp + if (bulkElementIndices.empty()) + continue; + + ////////////////////////////////////////////////////////// + // get circle average connectivity and interpolation data + ////////////////////////////////////////////////////////// + + auto numIp = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, int, MixedDimension, NumCircleSegments); + const auto radius = this->lowDimProblem().spatialParams().radius(lowDimElementIdx); + const auto normal = lowDimGeometry.corner(1)-lowDimGeometry.corner(0); + auto length = 2*M_PI*radius/numIp; + + auto circlePoints = this->getCirclePoints_(globalPos, normal, radius, numIp); + std::vector<Scalar> circleIpWeight; + std::vector<unsigned int> circleStencil; + for (const auto& p : circlePoints) + { + auto bulkElementIndices = bulkTree.computeEntityCollisions(p); + if (bulkElementIndices.empty()) + continue; + + for (auto bulkElementIdx : bulkElementIndices) + { + circleStencil.push_back(bulkElementIdx); + circleIpWeight.push_back(length); + } + } + + // export low dim circle stencil + lowDimCircleStencils_[lowDimElementIdx].insert(lowDimCircleStencils_[lowDimElementIdx].end(), + circleStencil.begin(), + circleStencil.end()); + + for (auto bulkElementIdx : bulkElementIndices) + { + const auto id = idCounter_++; + const auto ie = lowDimGeometry.integrationElement(qp.position()); + const auto qpweight = qp.weight(); + + this->bulkPointSources().emplace_back(globalPos, id, qpweight, ie, std::vector<unsigned int>({bulkElementIdx})); + this->bulkPointSources().back().setEmbeddings(bulkElementIndices.size()); + this->lowDimPointSources().emplace_back(globalPos, id, qpweight, ie, std::vector<unsigned int>({lowDimElementIdx})); + this->lowDimPointSources().back().setEmbeddings(bulkElementIndices.size()); + + // pre compute additional data used for the evaluation of + // the actual solution dependent source term + PointSourceData psData; + psData.addLowDimInterpolation(lowDimElementIdx); + psData.addBulkInterpolation(bulkElementIdx); + // add data needed to compute integral over the circle + psData.addCircleInterpolation(circleIpWeight, circleStencil); + + // publish point source data in the global vector + pointSourceData_.push_back(psData); + + // compute the coupling stencils + bulkCouplingStencils_[bulkElementIdx].push_back(lowDimElementIdx); + + // export bulk circle stencil + bulkCircleStencils_[bulkElementIdx].insert(bulkCircleStencils_[bulkElementIdx].end(), + circleStencil.begin(), + circleStencil.end()); + } + } + } + + // make the circle stencils unique + for (auto&& stencil : bulkCircleStencils_) + { + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + stencil.second.erase(std::remove_if(stencil.second.begin(), stencil.second.end(), + [&](auto i){ return i == stencil.first; }), + stencil.second.end()); + } + + for (auto&& stencil : lowDimCircleStencils_) + { + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + } + + // coupling stencils + for (auto&& stencil : bulkCouplingStencils_) + { + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + } + + // the low dim coupling stencil + for (auto&& stencil : lowDimCouplingStencils_) + { + // add the circle stencil to the coupling stencil + stencil.second.insert(stencil.second.end(), + lowDimCircleStencils_.at(stencil.first).begin(), + lowDimCircleStencils_.at(stencil.first).end()); + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + } + + std::cout << "took " << watch.elapsed() << " seconds." << std::endl; + } + + /*! + * \brief Methods to be accessed by the subproblems + */ + // \{ + + //! Return a reference to the bulk problem + Scalar radius(unsigned int id) const + { + const auto& data = pointSourceData_[id]; + return lowDimProblem().spatialParams().radius(data.lowDimElementIdx()); + } + + //! The volume the lower dimensional domain occupies in the bulk domain element + // For one-dimensional low dim domain we assume radial tubes + Scalar lowDimVolume(const BulkElement& element) const + { + auto eIdx = bulkProblem().elementMapper().index(element); + return lowDimVolumeInBulkElement_[eIdx]; + } + + //! The volume fraction the lower dimensional domain occupies in the bulk domain element + // For one-dimensional low dim domain we assume radial tubes + Scalar lowDimVolumeFraction(const BulkElement& element) const + { + auto totalVolume = element.geometry().volume(); + return asImp_().lowDimVolume(element) / totalVolume; + } + + //! Return a reference to the pointSource data + const PointSourceData& pointSourceData(unsigned int id) const + { + return pointSourceData_[id]; + } + + //! Return a reference to the bulk problem + const BulkProblem& bulkProblem() const + { + return bulkProblem_; + } + + //! Return a reference to the low dimensional problem + const LowDimProblem& lowDimProblem() const + { + return lowDimProblem_; + } + + //! Return a reference to the bulk problem + BulkProblem& bulkProblem() + { + return bulkProblem_; + } + + //! Return a reference to the low dimensional problem + LowDimProblem& lowDimProblem() + { + return lowDimProblem_; + } + + //! Return a reference to the bulk problem + const BulkGridView& bulkGridView() const + { + return bulkProblem().gridView(); + } + + //! Return a reference to the low dimensional problem + const LowDimGridView& lowDimGridView() const + { + return lowDimProblem().gridView(); + } + + //! Return a reference to the point sources + const std::vector<BulkPointSource>& bulkPointSources() const + { + return bulkPointSources_; + } + + //! Return a reference to the low dimensional problem + const std::vector<LowDimPointSource>& lowDimPointSources() const + { + return lowDimPointSources_; + } + + //! Return data for a bulk point source with the identifier id + BulkPrimaryVariables bulkPriVars(unsigned int id) const + { + auto& data = pointSourceData_[id]; + return data.interpolateBulk(bulkProblem().model().curSol()); + } + + //! Return data for a low dim point source with the identifier id + LowDimPrimaryVariables lowDimPriVars(unsigned int id) const + { + auto& data = pointSourceData_[id]; + return data.interpolateLowDim(lowDimProblem().model().curSol()); + } + + //! Compute bulk volume variables for the identifier id + BulkVolumeVariables bulkVolVars(unsigned int id) const + { + // use circle interpolated data and construct volVar object for the interpolated privars + auto& data = pointSourceData_[id]; + auto bulkPriVars = data.interpolateBulk(bulkProblem().model().curSol()); + + const auto element = bulkProblem().model().globalFvGeometry().element(data.bulkElementIdx()); + auto fvGeometry = localView(bulkProblem().model().globalFvGeometry()); + fvGeometry.bindElement(element); + + BulkVolumeVariables volVars; + volVars.update(BulkElementSolutionVector({bulkPriVars}), + bulkProblem(), + element, + fvGeometry.scv(data.bulkElementIdx())); + + return volVars; + } + + //! Compute lowDim volume variables for the identifier id + LowDimVolumeVariables lowDimVolVars(unsigned int id) const + { + const auto& data = pointSourceData_[id]; + const auto element = lowDimProblem().model().globalFvGeometry().element(data.lowDimElementIdx()); + auto fvGeometry = localView(lowDimProblem().model().globalFvGeometry()); + fvGeometry.bindElement(element); + + const auto& curSol = lowDimProblem().model().curSol(); + LowDimVolumeVariables volVars; + volVars.update(lowDimProblem().model().elementSolution(element, curSol), + lowDimProblem(), + element, + fvGeometry.scv(data.lowDimElementIdx())); + + return volVars; + } + // \} + + //! Clear all internal data members + void clear() + { + bulkPointSources_.clear(); + lowDimPointSources_.clear(); + pointSourceData_.clear(); + bulkCouplingStencils_.clear(); + lowDimCouplingStencils_.clear(); + idCounter_ = 0; + } + + const std::vector<unsigned int>& getAdditionalDofDependencies(unsigned int bulkElementIdx) const + { return bulkCircleStencils_.count(bulkElementIdx) ? bulkCircleStencils_.at(bulkElementIdx) : emptyStencil_; } + +protected: + //! Return reference to point source data vector member + std::vector<PointSourceData>& pointSourceData() + { return pointSourceData_; } + + //! Return reference to bulk point sources + std::vector<BulkPointSource>& bulkPointSources() + { return bulkPointSources_; } + + //! Return reference to low dim point sources + std::vector<LowDimPointSource>& lowDimPointSources() + { return lowDimPointSources_; } + + //! Return reference to bulk coupling stencil member + std::unordered_map<unsigned int, std::vector<unsigned int> >& bulkCouplingStencils() + { return bulkCouplingStencils_; } + + //! Return reference to low dim coupling stencil member + std::unordered_map<unsigned int, std::vector<unsigned int> >& lowDimCouplingStencils() + { return lowDimCouplingStencils_; } + + //! Return a reference to an empty stencil + std::vector<unsigned int>& emptyStencil() + { return emptyStencil_; } + +private: + //! Returns the implementation of the problem (i.e. static polymorphism) + Implementation &asImp_() + { return *static_cast<Implementation *>(this); } + + //! Returns the implementation of the problem (i.e. static polymorphism) + const Implementation &asImp_() const + { return *static_cast<const Implementation *>(this); } + + std::vector<GlobalPosition> getCirclePoints_(const GlobalPosition& center, + const GlobalPosition& normal, + const Scalar radius, + const unsigned int numIp = 20) + { + const Scalar eps = 1.5e-7; + static_assert(dimWorld == 3, "Only implemented for world dimension 3"); + + std::vector<GlobalPosition> points(numIp); + + // make sure n is a unit vector + auto n = normal; + n /= n.two_norm(); + + // caculate a vector u perpendicular to n + GlobalPosition u; + if (std::abs(n[0]) < eps && std::abs(n[1]) < eps) + if (std::abs(n[2]) < eps) + DUNE_THROW(Dune::MathError, "The normal vector has to be non-zero!"); + else + u = {0, 1, 0}; + else + u = {-n[1], n[0], 0}; + + u *= radius/u.two_norm(); + + // the circle parameterization is p(t) = r*cos(t)*u + r*sin(t)*(n x u) + c + auto tangent = crossProduct(u, n); + tangent *= radius/tangent.two_norm(); + + // the parameter with an offset + Scalar t = 0 + 0.1; + // insert the vertices + for (unsigned int i = 0; i < numIp; ++i) + { + points[i] = GlobalPosition({u[0]*std::cos(t) + tangent[0]*std::sin(t) + center[0], + u[1]*std::cos(t) + tangent[1]*std::sin(t) + center[1], + u[2]*std::cos(t) + tangent[2]*std::sin(t) + center[2]}); + + t += 2*M_PI/numIp; + + // periodic t + if(t > 2*M_PI) + t -= 2*M_PI; + } + + return points; + } + + BulkProblem& bulkProblem_; + LowDimProblem& lowDimProblem_; + + std::vector<BulkPointSource> bulkPointSources_; + std::vector<LowDimPointSource> lowDimPointSources_; + + mutable std::vector<PointSourceData> pointSourceData_; + + std::unordered_map<unsigned int, std::vector<unsigned int> > bulkCouplingStencils_; + std::unordered_map<unsigned int, std::vector<unsigned int> > lowDimCouplingStencils_; + std::vector<unsigned int> emptyStencil_; + + // circle stencils + std::unordered_map<unsigned int, std::vector<unsigned int> > bulkCircleStencils_; + std::unordered_map<unsigned int, std::vector<unsigned int> > lowDimCircleStencils_; + + //! vector for the volume fraction of the lowdim domain in the bulk domain cells + std::vector<Scalar> lowDimVolumeInBulkElement_; + + //! id generator for point sources + unsigned int idCounter_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh new file mode 100644 index 0000000000..2fe54b415e --- /dev/null +++ b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh @@ -0,0 +1,498 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \ingroup CCModel + * \brief Coupling manager for low-dimensional domains embedded in the bulk + * domain. Point sources on each integration point are computed by an AABB tree. + * Both domain are assumed to be discretized using a cc finite volume scheme. + */ + +#ifndef DUMUX_CC_BBOXTREE_EMBEDDEDCOUPLINGMANAGER_SIMPLE_HH +#define DUMUX_CC_BBOXTREE_EMBEDDEDCOUPLINGMANAGER_SIMPLE_HH + +#include <iostream> +#include <fstream> +#include <string> +#include <utility> + +#include <dune/common/timer.hh> +#include <dune/geometry/quadraturerules.hh> +#include <dune/geometry/referenceelements.hh> + +#include <dumux/mixeddimension/glue/glue.hh> +#include <dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh> + +namespace Dumux +{ + +namespace Properties +{ +// Property forward declarations +NEW_PROP_TAG(BulkProblemTypeTag); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(GridView); +} // namespace Properties + +/*! + * \ingroup EmbeddedCoupling + * \ingroup CCModel + * \brief Manages the coupling between bulk elements and lower dimensional elements + * Point sources on each integration point are computed by an AABB tree. + * Both domain are assumed to be discretized using a cc finite volume scheme. + */ +template<class TypeTag> +class CCBBoxTreeEmbeddedCouplingManagerSimple +{ + using Implementation = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using PointSourceData = Dumux::PointSourceData<TypeTag>; + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); + using BulkPointSource = typename GET_PROP_TYPE(BulkProblemTypeTag, PointSource); + using BulkPrimaryVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, PrimaryVariables); + using BulkElementSolutionVector = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementSolutionVector); + using BulkVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables); + using BulkElementVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementVolumeVariables); + using BulkFVElementGeometry = typename GET_PROP_TYPE(BulkProblemTypeTag, FVElementGeometry); + using BulkElementBoundaryTypes = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementBoundaryTypes); + using BulkElementFluxVariablesCache = typename GET_PROP_TYPE(BulkProblemTypeTag, ElementFluxVariablesCache); + using BulkElement = typename BulkGridView::template Codim<0>::Entity; + + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + using LowDimPointSource = typename GET_PROP_TYPE(LowDimProblemTypeTag, PointSource); + using LowDimPrimaryVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables); + using LowDimVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables); + using LowDimElementVolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementVolumeVariables); + using LowDimFVElementGeometry = typename GET_PROP_TYPE(LowDimProblemTypeTag, FVElementGeometry); + using LowDimElementBoundaryTypes = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementBoundaryTypes); + using LowDimElementFluxVariablesCache = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementFluxVariablesCache); + using LowDimElement = typename LowDimGridView::template Codim<0>::Entity; + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld + }; + +public: + + /*! + * \brief Constructor + */ + CCBBoxTreeEmbeddedCouplingManagerSimple(BulkProblem& bulkProblem, LowDimProblem& lowDimProblem) + : bulkProblem_(bulkProblem), lowDimProblem_(lowDimProblem) + { + // Check if we are using the cellcentered method in both domains + static_assert(lowDimDim == 1, "The bounding box coupling manager only works with one-dimensional low-dim grids"); + } + + /*! + * \brief Methods to be accessed by the coupled problem + */ + // \{ + + /*! + * \brief Called by the coupled problem before + * initializing the subproblems / models + */ + void preInit() + { + asImp_().computePointSourceData(); + } + + /*! + * \brief Called by the coupled problem after + * initializing the subproblems / models + */ + void postInit() + {} + + /*! + * \brief The bulk coupling stencil, i.e. which low-dimensional dofs + * the given bulk element dof depends on. + */ + const std::vector<unsigned int>& couplingStencil(const BulkElement& element) const + { + const unsigned int eIdx = bulkProblem().elementMapper().index(element); + if (bulkCouplingStencils_.count(eIdx)) + return bulkCouplingStencils_.at(eIdx); + else + return emptyStencil_; + } + + /*! + * \brief The low dim coupling stencil, i.e. which bulk dofs + * the given low dimensional element dof depends on. + */ + const std::vector<unsigned int>& couplingStencil(const LowDimElement& element) const + { + const unsigned int eIdx = lowDimProblem().elementMapper().index(element); + if (lowDimCouplingStencils_.count(eIdx)) + return lowDimCouplingStencils_.at(eIdx); + else + return emptyStencil_; + } + + //! evaluate coupling residual for the derivative bulk DOF with respect to low dim DOF + //! we only need to evaluate the part of the residual that will be influence by the low dim DOF + BulkPrimaryVariables evalCouplingResidual(const BulkElement& element, + const BulkFVElementGeometry& fvGeometry, + const BulkElementVolumeVariables& curElemVolVars, + const BulkElementBoundaryTypes& elemBcTypes, + const BulkElementFluxVariablesCache& elemFluxVarsCache, + const LowDimElement& lowDimElement) + { + const auto bulkElementIdx = bulkProblem().elementMapper().index(element); + auto&& scv = fvGeometry.scv(bulkElementIdx); + auto couplingSource = bulkProblem().scvPointSources(element, fvGeometry, curElemVolVars, scv); + couplingSource *= -scv.volume()*curElemVolVars[scv].extrusionFactor(); + return couplingSource; + } + + //! evaluate coupling residual for the derivative low dim DOF with respect to bulk DOF + //! we only need to evaluate the part of the residual that will be influence by the bulk DOF + LowDimPrimaryVariables evalCouplingResidual(const LowDimElement& element, + const LowDimFVElementGeometry& fvGeometry, + const LowDimElementVolumeVariables& curElemVolVars, + const LowDimElementBoundaryTypes& elemBcTypes, + const LowDimElementFluxVariablesCache& elemFluxVarsCache, + const BulkElement& bulkElement) + { + const auto lowDimElementIdx = lowDimProblem().elementMapper().index(element); + auto&& scv = fvGeometry.scv(lowDimElementIdx); + auto couplingSource = lowDimProblem().scvPointSources(element, fvGeometry, curElemVolVars, scv); + couplingSource *= -scv.volume()*curElemVolVars[scv].extrusionFactor(); + return couplingSource; + } + + // \} + + /* \brief Compute integration point point sources and associated data + * + * This method uses grid glue to intersect the given grids. Over each intersection + * we later need to integrate a source term. This method places point sources + * at each quadrature point and provides the point source with the necessary + * information to compute integrals (quadrature weight and integration element) + * \param order The order of the quadrature rule for integration of sources over an intersection + * \param verbose If the point source computation is verbose + */ + void computePointSourceData(unsigned int order = 1, bool verbose = false) + { + // initilize the maps + // do some logging and profiling + Dune::Timer watch; + std::cout << "Initializing the point sources..." << std::endl; + + // clear all internal members like pointsource vectors and stencils + // initializes the point source id counter + clear(); + + // a vector for the volumes the low-dim domain occupies in the bulk domain if it were full-dimensional + lowDimVolumeInBulkElement_.resize(this->bulkGridView().size(0)); + + // intersect the bounding box trees + Dumux::CCMultiDimensionGlue<TypeTag> glue(bulkProblem(), lowDimProblem()); + glue.build(); + + for (const auto& is : intersections(glue)) + { + // all inside elements are identical... + const auto& inside = is.inside(0); + // get the intersection geometry for integrating over it + const auto intersectionGeometry = is.geometry(); + + // get the Gaussian quadrature rule for the local intersection + const auto& quad = Dune::QuadratureRules<Scalar, lowDimDim>::rule(intersectionGeometry.type(), order); + const unsigned int lowDimElementIdx = lowDimProblem().elementMapper().index(inside); + + // compute the volume the low-dim domain occupies in the bulk domain if it were full-dimensional + const auto radius = lowDimProblem().spatialParams().radius(lowDimElementIdx); + for (unsigned int outsideIdx = 0; outsideIdx < is.neighbor(0); ++outsideIdx) + { + const auto& outside = is.outside(outsideIdx); + const unsigned int bulkElementIdx = bulkProblem().elementMapper().index(outside); + lowDimVolumeInBulkElement_[bulkElementIdx] += intersectionGeometry.volume()*M_PI*radius*radius; + } + + // iterate over all quadrature points + for (auto&& qp : quad) + { + // compute the coupling stencils + for (unsigned int outsideIdx = 0; outsideIdx < is.neighbor(0); ++outsideIdx) + { + const auto& outside = is.outside(outsideIdx); + const unsigned int bulkElementIdx = bulkProblem().elementMapper().index(outside); + + // each quadrature point will be a point source for the sub problem + const auto globalPos = intersectionGeometry.global(qp.position()); + const auto id = idCounter_++; + const auto qpweight = qp.weight(); + const auto ie = intersectionGeometry.integrationElement(qp.position()); + bulkPointSources_.emplace_back(globalPos, id, qpweight, ie, std::vector<unsigned int>({bulkElementIdx})); + bulkPointSources_.back().setEmbeddings(is.neighbor(0)); + lowDimPointSources_.emplace_back(globalPos, id, qpweight, ie, std::vector<unsigned int>({lowDimElementIdx})); + lowDimPointSources_.back().setEmbeddings(is.neighbor(0)); + + // pre compute additional data used for the evaluation of + // the actual solution dependent source term + PointSourceData psData; + psData.addLowDimInterpolation(lowDimElementIdx); + psData.addBulkInterpolation(bulkElementIdx); + + // publish point source data in the global vector + pointSourceData_.push_back(psData); + + // compute the coupling stencils + bulkCouplingStencils_[bulkElementIdx].push_back(lowDimElementIdx); + // add this bulk element to the low dim coupling stencil + lowDimCouplingStencils_[lowDimElementIdx].push_back(bulkElementIdx); + } + } + } + + // coupling stencils + for (auto&& stencil : bulkCouplingStencils_) + { + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + } + // the low dim coupling stencil + for (auto&& stencil : lowDimCouplingStencils_) + { + std::sort(stencil.second.begin(), stencil.second.end()); + stencil.second.erase(std::unique(stencil.second.begin(), stencil.second.end()), stencil.second.end()); + } + + std::cout << "took " << watch.elapsed() << " seconds." << std::endl; + } + + /*! + * \brief Methods to be accessed by the subproblems + */ + // \{ + + //! Return a reference to the bulk problem + Scalar radius(unsigned int id) const + { + const auto& data = pointSourceData_[id]; + return lowDimProblem().spatialParams().radius(data.lowDimElementIdx()); + } + + //! The volume the lower dimensional domain occupies in the bulk domain element + // For one-dimensional low dim domain we assume radial tubes + Scalar lowDimVolume(const BulkElement& element) const + { + auto eIdx = bulkProblem().elementMapper().index(element); + return lowDimVolumeInBulkElement_[eIdx]; + } + + //! The volume fraction the lower dimensional domain occupies in the bulk domain element + // For one-dimensional low dim domain we assume radial tubes + Scalar lowDimVolumeFraction(const BulkElement& element) const + { + auto totalVolume = element.geometry().volume(); + return asImp_().lowDimVolume(element) / totalVolume; + } + + //! Return a reference to the pointSource data + const PointSourceData& pointSourceData(unsigned int id) const + { + return pointSourceData_[id]; + } + + //! Return a reference to the bulk problem + const BulkProblem& bulkProblem() const + { + return bulkProblem_; + } + + //! Return a reference to the low dimensional problem + const LowDimProblem& lowDimProblem() const + { + return lowDimProblem_; + } + + //! Return a reference to the bulk problem + BulkProblem& bulkProblem() + { + return bulkProblem_; + } + + //! Return a reference to the low dimensional problem + LowDimProblem& lowDimProblem() + { + return lowDimProblem_; + } + + //! Return a reference to the bulk problem + const BulkGridView& bulkGridView() const + { + return bulkProblem().gridView(); + } + + //! Return a reference to the low dimensional problem + const LowDimGridView& lowDimGridView() const + { + return lowDimProblem().gridView(); + } + + //! Return a reference to the point sources + const std::vector<BulkPointSource>& bulkPointSources() const + { + return bulkPointSources_; + } + + //! Return a reference to the low dimensional problem + const std::vector<LowDimPointSource>& lowDimPointSources() const + { + return lowDimPointSources_; + } + + //! Return data for a bulk point source with the identifier id + BulkPrimaryVariables bulkPriVars(unsigned int id) const + { + auto& data = pointSourceData_[id]; + return data.interpolateBulk(bulkProblem().model().curSol()); + } + + //! Return data for a low dim point source with the identifier id + LowDimPrimaryVariables lowDimPriVars(unsigned int id) const + { + auto& data = pointSourceData_[id]; + return data.interpolateLowDim(lowDimProblem().model().curSol()); + } + + //! Compute bulk volume variables for the identifier id + BulkVolumeVariables bulkVolVars(unsigned int id) const + { + // use circle interpolated data and construct volVar object for the interpolated privars + auto& data = pointSourceData_[id]; + auto bulkPriVars = data.interpolateBulk(bulkProblem().model().curSol()); + + const auto element = bulkProblem().model().globalFvGeometry().element(data.bulkElementIdx()); + auto fvGeometry = localView(bulkProblem().model().globalFvGeometry()); + fvGeometry.bindElement(element); + + BulkVolumeVariables volVars; + volVars.update(BulkElementSolutionVector({bulkPriVars}), + bulkProblem(), + element, + fvGeometry.scv(data.bulkElementIdx())); + + return volVars; + } + + //! Compute lowDim volume variables for the identifier id + LowDimVolumeVariables lowDimVolVars(unsigned int id) const + { + const auto& data = pointSourceData_[id]; + const auto element = lowDimProblem().model().globalFvGeometry().element(data.lowDimElementIdx()); + auto fvGeometry = localView(lowDimProblem().model().globalFvGeometry()); + fvGeometry.bindElement(element); + + const auto& curSol = lowDimProblem().model().curSol(); + LowDimVolumeVariables volVars; + volVars.update(lowDimProblem().model().elementSolution(element, curSol), + lowDimProblem(), + element, + fvGeometry.scv(data.lowDimElementIdx())); + + return volVars; + } + // \} + + //! Clear all internal data members + void clear() + { + bulkPointSources_.clear(); + lowDimPointSources_.clear(); + pointSourceData_.clear(); + bulkCouplingStencils_.clear(); + lowDimCouplingStencils_.clear(); + idCounter_ = 0; + } + + const std::vector<unsigned int>& getAdditionalDofDependencies(unsigned int bulkElementIdx) const + { return emptyStencil_; } + +protected: + //! Return reference to point source data vector member + std::vector<PointSourceData>& pointSourceData() + { return pointSourceData_; } + + //! Return reference to bulk point sources + std::vector<BulkPointSource>& bulkPointSources() + { return bulkPointSources_; } + + //! Return reference to low dim point sources + std::vector<LowDimPointSource>& lowDimPointSources() + { return lowDimPointSources_; } + + //! Return reference to bulk coupling stencil member + std::unordered_map<unsigned int, std::vector<unsigned int> >& bulkCouplingStencils() + { return bulkCouplingStencils_; } + + //! Return reference to low dim coupling stencil member + std::unordered_map<unsigned int, std::vector<unsigned int> >& lowDimCouplingStencils() + { return lowDimCouplingStencils_; } + + //! Return a reference to an empty stencil + std::vector<unsigned int>& emptyStencil() + { return emptyStencil_; } + +private: + //! Returns the implementation of the problem (i.e. static polymorphism) + Implementation &asImp_() + { return *static_cast<Implementation *>(this); } + + //! Returns the implementation of the problem (i.e. static polymorphism) + const Implementation &asImp_() const + { return *static_cast<const Implementation *>(this); } + + BulkProblem& bulkProblem_; + LowDimProblem& lowDimProblem_; + + std::vector<BulkPointSource> bulkPointSources_; + std::vector<LowDimPointSource> lowDimPointSources_; + + mutable std::vector<PointSourceData> pointSourceData_; + + std::unordered_map<unsigned int, std::vector<unsigned int> > bulkCouplingStencils_; + std::unordered_map<unsigned int, std::vector<unsigned int> > lowDimCouplingStencils_; + std::vector<unsigned int> emptyStencil_; + + //! vector for the volume fraction of the lowdim domain in the bulk domain cells + std::vector<Scalar> lowDimVolumeInBulkElement_; + + //! id generator for point sources + unsigned int idCounter_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh b/dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh new file mode 100644 index 0000000000..5c92be4746 --- /dev/null +++ b/dumux/mixeddimension/embedded/cellcentered/pointsourcedata.hh @@ -0,0 +1,259 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \brief Data associated with a point source + */ + +#ifndef DUMUX_POINTSOURCEDATA_HH +#define DUMUX_POINTSOURCEDATA_HH + +namespace Dumux +{ + +namespace Properties +{ +// Property forward declarations +NEW_PROP_TAG(BulkProblemTypeTag); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(Scalar); +NEW_PROP_TAG(PrimaryVariables); +} // namespace Properties + + +/*! + * \ingroup EmbeddedCoupling + * \brief A point source data class used for integration in multidimension models + * \note The point source and related data are connected via an identifier (id) + */ +template<class TypeTag> +class PointSourceData +{ + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename std::vector<Dune::FieldVector<Scalar, 1> > ShapeValues; + + // obtain the type tags of the sub problems + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, PrimaryVariables) BulkPrimaryVariables; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables) LowDimPrimaryVariables; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, SolutionVector) BulkSolutionVector; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, SolutionVector) LowDimSolutionVector; + + enum { + bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox), + lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) + }; + +public: + void addBulkInterpolation(const ShapeValues& shapeValues, + const std::vector<unsigned int>& cornerIndices, + unsigned int eIdx) + { + bulkElementIdx_ = eIdx; + bulkCornerIndices_ = cornerIndices; + bulkShapeValues_ = shapeValues; + } + + void addLowDimInterpolation(const ShapeValues& shapeValues, + const std::vector<unsigned int>& cornerIndices, + unsigned int eIdx) + { + lowDimElementIdx_ = eIdx; + lowDimCornerIndices_ = cornerIndices; + lowDimShapeValues_ = shapeValues; + } + + void addBulkInterpolation(unsigned int eIdx) + { + bulkElementIdx_ = eIdx; + } + + void addLowDimInterpolation(unsigned int eIdx) + { + lowDimElementIdx_ = eIdx; + } + + BulkPrimaryVariables interpolateBulk(const BulkSolutionVector& sol) + { + BulkPrimaryVariables bulkPriVars(0.0); + if (bulkIsBox) + { + for (unsigned int i = 0; i < bulkCornerIndices_.size(); ++i) + for (unsigned int priVarIdx = 0; priVarIdx < bulkPriVars_.size(); ++priVarIdx) + bulkPriVars_[priVarIdx] += sol[bulkCornerIndices_[i]][priVarIdx]*bulkShapeValues_[i]; + } + else + { + bulkPriVars = sol[bulkElementIdx()]; + } + return bulkPriVars; + } + + LowDimPrimaryVariables interpolateLowDim(const LowDimSolutionVector& sol) + { + LowDimPrimaryVariables lowDimPriVars(0.0); + if (lowDimIsBox) + { + for (unsigned int i = 0; i < lowDimCornerIndices_.size(); ++i) + for (unsigned int priVarIdx = 0; priVarIdx < lowDimPriVars_.size(); ++priVarIdx) + lowDimPriVars_[priVarIdx] += sol[lowDimCornerIndices_[i]][priVarIdx]*lowDimShapeValues_[i]; + } + else + { + lowDimPriVars = sol[lowDimElementIdx()]; + } + return lowDimPriVars; + } + + unsigned int lowDimElementIdx() const + { return lowDimElementIdx_; } + + unsigned int bulkElementIdx() const + { return bulkElementIdx_; } + +private: + ShapeValues bulkShapeValues_, lowDimShapeValues_; + std::vector<unsigned int> bulkCornerIndices_, lowDimCornerIndices_; + BulkPrimaryVariables bulkPriVars_; + LowDimPrimaryVariables lowDimPriVars_; + unsigned int lowDimElementIdx_; + unsigned int bulkElementIdx_; +}; + +/*! + * \ingroup EmbeddedCoupling + * \brief A point source data class used for integration in multidimension models + * \note The point source and related data are connected via an identifier (id) + * When explicitly computing the circle average, i.e. the pressure for + * the source term is computed as an integral over the circle describing + * the surface of the one-dimensional tube. This exact determination of the bulk pressure + * is necessary for convergence studies. + */ +template<class TypeTag> +class PointSourceDataCircleAverage : public PointSourceData<TypeTag> +{ + using ParentType = PointSourceData<TypeTag>; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename std::vector<Dune::FieldVector<Scalar, 1> > ShapeValues; + + // obtain the type tags of the sub problems + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, PrimaryVariables) BulkPrimaryVariables; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables) LowDimPrimaryVariables; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, SolutionVector) BulkSolutionVector; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, SolutionVector) LowDimSolutionVector; + + enum { + bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox), + lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) + }; + +public: + PointSourceDataCircleAverage() : enableBulkCircleInterpolation_(false) {} + + BulkPrimaryVariables interpolateBulk(const BulkSolutionVector& sol) + { + // bulk interpolation on the circle is only enabled for source in the + // lower dimensional domain if we use a circle distributed bulk sources + // (see coupling manager circle sources) + BulkPrimaryVariables bulkPriVars(0.0); + if (enableBulkCircleInterpolation_) + { + // compute the average of the bulk pressure over the circle around the integration point + // this computes $\bar{p} = \frac{1}{2\pi R} int_0^2*\pi p R \text{d}\theta. + if (bulkIsBox) + { + assert(circleCornerIndices_.size() == circleShapeValues_.size()); + + Scalar weightSum = 0.0; + for (unsigned int j = 0; j < circleStencil_.size(); ++j) + { + BulkPrimaryVariables priVars = 0.0; + for (unsigned int i = 0; i < circleCornerIndices_[j].size(); ++i) + for (unsigned int priVarIdx = 0; priVarIdx < priVars.size(); ++priVarIdx) + priVars[priVarIdx] += sol[circleCornerIndices_[j][i]][priVarIdx]*circleShapeValues_[j][i]; + // multiply with weight and add + priVars *= circleIpWeight_[j]; + weightSum += circleIpWeight_[j]; + bulkPriVars += priVars; + } + bulkPriVars /= weightSum; + } + else + { + Scalar weightSum = 0.0; + for (unsigned int j = 0; j < circleStencil_.size(); ++j) + { + bulkPriVars += sol[circleStencil_[j]]*circleIpWeight_[j]; + weightSum += circleIpWeight_[j]; + } + bulkPriVars /= weightSum; + } + return bulkPriVars; + } + else + { + return ParentType::interpolateBulk(sol); + } + } + + void addCircleInterpolation(const std::vector<std::vector<unsigned int> >& circleCornerIndices, + const std::vector<ShapeValues>& circleShapeValues, + const std::vector<Scalar>& circleIpWeight, + const std::vector<unsigned int>& circleStencil) + { + circleCornerIndices_ = circleCornerIndices; + circleShapeValues_ = circleShapeValues; + circleIpWeight_ = circleIpWeight; + circleStencil_ = circleStencil; + enableBulkCircleInterpolation_ = true; + + } + + void addCircleInterpolation(const std::vector<Scalar>& circleIpWeight, + const std::vector<unsigned int>& circleStencil) + { + circleIpWeight_ = circleIpWeight; + circleStencil_ = circleStencil; + enableBulkCircleInterpolation_ = true; + } + + const std::vector<unsigned int>& circleStencil() + { + return circleStencil_; + } + +private: + std::vector<std::vector<unsigned int> > circleCornerIndices_; + std::vector<ShapeValues> circleShapeValues_; + std::vector<Scalar> circleIpWeight_; + std::vector<unsigned int> circleStencil_; + bool enableBulkCircleInterpolation_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/embedded/start.hh b/dumux/mixeddimension/embedded/start.hh new file mode 100644 index 0000000000..5e49a74b98 --- /dev/null +++ b/dumux/mixeddimension/embedded/start.hh @@ -0,0 +1,203 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \brief Provides a starting algorithm (a default main function) for multidimension problems + */ +#ifndef DUMUX_START_EMBEDDED_MIXEDDIMENSION_HH +#define DUMUX_START_EMBEDDED_MIXEDDIMENSION_HH + +#include <ctime> +#include <iostream> + +#include <dune/common/parallel/mpihelper.hh> +#include <dune/grid/io/file/dgfparser/dgfexception.hh> + +#include <dumux/common/propertysystem.hh> +#include <dumux/common/parameters.hh> +#include <dumux/common/valgrind.hh> +#include <dumux/common/dumuxmessage.hh> +#include <dumux/common/defaultusagemessage.hh> +#include <dumux/common/parameterparser.hh> + +namespace Dumux +{ +// forward declaration of property tags +namespace Properties +{ +NEW_PROP_TAG(Scalar); +NEW_PROP_TAG(GridCreator); +NEW_PROP_TAG(Problem); +NEW_PROP_TAG(TimeManager); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(BulkProblemTypeTag); +} + +template <class TypeTag> +int start_(int argc, + char **argv, + void (*usage)(const char *, const std::string &)) +{ + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using ParameterTree = typename GET_PROP(TypeTag, ParameterTree); + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + using BulkGridCreator = typename GET_PROP_TYPE(BulkProblemTypeTag, GridCreator); + using LowDimGridCreator = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridCreator); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + + // initialize MPI, finalize is done automatically on exit + const auto& mpiHelper = Dune::MPIHelper::instance(argc, argv); + + // print dumux start message + if (mpiHelper.rank() == 0) + DumuxMessage::print(/*firstCall=*/true); + + //////////////////////////////////////////////////////////// + // parse the command line arguments and input file + //////////////////////////////////////////////////////////// + + // if the user just wanted to see the help / usage message show usage and stop program + if(!ParameterParser::parseCommandLineArguments(argc, argv, ParameterTree::tree(), usage)) + { + usage(argv[0], defaultUsageMessage(argv[0])); + return 0; + } + + // parse the input file into the parameter tree + // check first if the user provided an input file through the command line, if not use the default + const auto parameterFileName = ParameterTree::tree().hasKey("ParameterFile") ? GET_RUNTIME_PARAM(TypeTag, std::string, ParameterFile) : ""; + ParameterParser::parseInputFile(argc, argv, ParameterTree::tree(), parameterFileName, usage); + + //////////////////////////////////////////////////////////// + // check for some user debugging parameters + //////////////////////////////////////////////////////////// + + bool printProps = false; // per default don't print all properties + if (ParameterTree::tree().hasKey("PrintProperties") || ParameterTree::tree().hasKey("TimeManager.PrintProperties")) + printProps = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, bool, TimeManager, PrintProperties); + + if (printProps && mpiHelper.rank() == 0) + Properties::print<TypeTag>(); + + bool printParams = true; // per default print all properties + if (ParameterTree::tree().hasKey("PrintParameters") || ParameterTree::tree().hasKey("TimeManager.PrintParameters")) + printParams = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, bool, TimeManager, PrintParameters); + + ////////////////////////////////////////////////////////////////////// + // try to create a grid (from the given grid file or the input file) + ///////////////////////////////////////////////////////////////////// + + try { BulkGridCreator::makeGrid(); } + catch (...) { + std::string usageMessage = "\n\t -> Creation of the bulk grid failed! <- \n\n"; + usageMessage += defaultUsageMessage(argv[0]); + usage(argv[0], usageMessage); + throw; + } + BulkGridCreator::loadBalance(); + + try { LowDimGridCreator::makeGrid(); } + catch (...) { + std::string usageMessage = "\n\t -> Creation of the low dim grid failed! <- \n\n"; + usageMessage += defaultUsageMessage(argv[0]); + usage(argv[0], usageMessage); + throw; + } + LowDimGridCreator::loadBalance(); + + + ////////////////////////////////////////////////////////////////////// + // run the simulation + ///////////////////////////////////////////////////////////////////// + + // read the initial time step and the end time (mandatory parameters) + auto tEnd = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, TEnd); + auto dt = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, DtInitial); + + // check if we are about to restart a previously interrupted simulation + bool restart = false; + Scalar restartTime = 0; + if (ParameterTree::tree().hasKey("Restart") || ParameterTree::tree().hasKey("TimeManager.Restart")) + { + restart = true; + restartTime = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, Restart); + } + + // instantiate and run the concrete problem + TimeManager timeManager; + Problem problem(timeManager, BulkGridCreator::grid().leafGridView(), LowDimGridCreator::grid().leafGridView()); + timeManager.init(problem, restartTime, dt, tEnd, restart); + timeManager.run(); + + // print dumux end message and maybe the parameters for debugging + if (mpiHelper.rank() == 0) + { + DumuxMessage::print(/*firstCall=*/false); + + if (printParams) + Parameters::print<TypeTag>(); + } + + return 0; +} + +/*! + * \ingroup Start + * + * \brief Provides a main function with error handling + * + * \tparam TypeTag The type tag of the problem which needs to be solved + * + * \param argc The number of command line arguments of the program + * \param argv The contents of the command line arguments of the program + * \param usage Callback function for printing the usage message + */ +template <class TypeTag> +int start(int argc, + char **argv, + void (*usage)(const char *, const std::string &)) +{ + try { + return start_<TypeTag>(argc, argv, usage); + } + catch (ParameterException &e) { + Parameters::print<TypeTag>(); + std::cerr << std::endl << e << ". Abort!" << std::endl; + return 1; + } + catch (Dune::DGFException & e) { + std::cerr << "DGF exception thrown (" << e << + "). Most likely, the DGF file name is wrong " + "or the DGF file is corrupted, " + "e.g. missing hash at end of file or wrong number (dimensions) of entries." + << std::endl; + return 2; + } + catch (Dune::Exception &e) { + std::cerr << "Dune reported error: " << e << std::endl; + return 3; + } +} + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/glue/CMakeLists.txt b/dumux/mixeddimension/glue/CMakeLists.txt new file mode 100644 index 0000000000..726d4493a6 --- /dev/null +++ b/dumux/mixeddimension/glue/CMakeLists.txt @@ -0,0 +1,3 @@ +install(FILES +glue.hh +DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/mixeddimension/glue) diff --git a/dumux/mixeddimension/glue/glue.hh b/dumux/mixeddimension/glue/glue.hh new file mode 100644 index 0000000000..090b66c888 --- /dev/null +++ b/dumux/mixeddimension/glue/glue.hh @@ -0,0 +1,268 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \brief A class glueing two grids of different dimension geometrically + * Intersections are computed using axis-aligned bounding box trees + */ + +#ifndef DUMUX_MULTIDIMENSION_GLUE_HH +#define DUMUX_MULTIDIMENSION_GLUE_HH + +#include <iostream> +#include <fstream> +#include <string> +#include <utility> + +#include <dune/common/timer.hh> +#include <dune/common/iteratorrange.hh> +#include <dune/geometry/affinegeometry.hh> + +#include <dumux/common/geometrycollision.hh> +#include <dumux/common/boundingboxtree.hh> + +namespace Dumux +{ + +namespace Properties +{ +// Property forward declarations +NEW_PROP_TAG(BulkProblemTypeTag); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(GridView); +} // namespace Properties + +// forward declaration +template<class TypeTag> +class CCMultiDimensionGlue; + +//! Range generator to iterate with range-based for loops over all intersections +//! as follows: for (const auto& is : intersections(glue)) { ... } +template<typename TypeTag> +Dune::IteratorRange<typename CCMultiDimensionGlue<TypeTag>::Intersections::const_iterator> +intersections(const CCMultiDimensionGlue<TypeTag>& glue) +{ return {glue.ibegin(), glue.iend()}; } + +namespace Glue +{ + +template<class TypeTag> +class Intersection +{ + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld, + dimIs = LowDimGridView::dimension, + }; + + using BulkElement = typename BulkGridView::template Codim<0>::Entity; + using LowDimElement = typename LowDimGridView::template Codim<0>::Entity; + + using LowDimTree = Dumux::BoundingBoxTree<LowDimGridView>; + using BulkTree = Dumux::BoundingBoxTree<BulkGridView>; + + using Geometry = Dune::AffineGeometry<Scalar, dimIs, dimWorld>; + using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; + +public: + Intersection(const BulkTree& bulkTree, const LowDimTree& lowDimTree) + : bulkTree_(bulkTree), lowDimTree_(lowDimTree) {} + + //! set the intersection geometry corners + void setCorners(const std::vector<GlobalPosition>& corners) + { + corners_ = corners; + assert(corners.size() == dimIs + 1); + type_.makeSimplex(dimIs); + } + + //! add a pair of neighbor elements + void addNeighbors(unsigned int bulk, unsigned int lowDim) + { + neighbors_[0].push_back(bulk); + neighbors_[1].push_back(lowDim); + } + + //! get the intersection geometry + Geometry geometry() const + { return Geometry(type_, corners_); } + + //! get the number of neigbors + std::size_t neighbor(unsigned int side) const + { return neighbors_[side].size(); } + + //! get the inside neighbor + LowDimElement inside(unsigned int n) const + { return lowDimTree_.entity(neighbors_[1][n]); } + + //! get the outside neighbor + BulkElement outside(unsigned int n) const + { return bulkTree_.entity(neighbors_[0][n]); } + +private: + std::array<std::vector<unsigned int>, 2> neighbors_; + std::vector<GlobalPosition> corners_; + Dune::GeometryType type_; + + const BulkTree& bulkTree_; + const LowDimTree& lowDimTree_; +}; +} + +/*! + * \ingroup EmbeddedCoupling + * \ingroup CCModel + * \brief Manages the coupling between bulk elements and lower dimensional elements + * Point sources on each integration point are computed by an AABB tree. + * Both domain are assumed to be discretized using a cc finite volume scheme. + */ +template<class TypeTag> +class CCMultiDimensionGlue +{ + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + + using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); + using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld + }; + + enum { + bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox), + lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) + }; + + using BulkElement = typename BulkGridView::template Codim<0>::Entity; + using LowDimElement = typename LowDimGridView::template Codim<0>::Entity; + + using LowDimTree = Dumux::BoundingBoxTree<LowDimGridView>; + using BulkTree = Dumux::BoundingBoxTree<BulkGridView>; + + using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; + +public: + // export intersection container type + using Intersections = std::vector<Dumux::Glue::Intersection<TypeTag>>; + + /*! + * \brief Constructor + */ + CCMultiDimensionGlue(BulkProblem& bulkProblem, LowDimProblem& lowDimProblem) + : bulkProblem_(bulkProblem), lowDimProblem_(lowDimProblem) + { + // Check if we are using the cellcentered method in both domains + static_assert(!bulkIsBox && !lowDimIsBox, "Using the cell-centered glue for problems using box discretization!"); + } + + void build() + { + // Initialize the bulk and the lowdim bounding box tree + const auto& bulkTree = bulkProblem().boundingBoxTree(); + const auto& lowDimTree = lowDimProblem().boundingBoxTree(); + + // compute raw intersections + Dune::Timer timer; + auto rawIntersections = bulkTree.computeEntityCollisions(lowDimTree); + std::cout << "Computed tree intersections in " << timer.elapsed() << std::endl; + + // create a map to check whether intersection geometries were already inserted + std::vector<std::vector<std::vector<GlobalPosition>>> intersectionMap; + std::vector<std::vector<unsigned int>> intersectionIndex; + intersectionMap.resize(lowDimProblem().gridView().size(0)); + intersectionIndex.resize(lowDimProblem().gridView().size(0)); + + for (const auto& rawIntersection : rawIntersections) + { + bool add = true; + for (int i = 0; i < intersectionMap[rawIntersection.second()].size(); ++i) + { + if (rawIntersection.cornersMatch(intersectionMap[rawIntersection.second()][i])) + { + add = false; + // only add the pair of neighbors using the insertionIndex + auto idx = intersectionIndex[rawIntersection.second()][i]; + intersections_[idx].addNeighbors(rawIntersection.first(), rawIntersection.second()); + break; + } + } + if(add) + { + // add to the map + intersectionMap[rawIntersection.second()].push_back(rawIntersection.corners()); + intersectionIndex[rawIntersection.second()].push_back(intersections_.size()); + // add new intersection and add the neighbors + intersections_.emplace_back(bulkTree, lowDimTree); + intersections_.back().setCorners(rawIntersection.corners()); + intersections_.back().addNeighbors(rawIntersection.first(), rawIntersection.second()); + } + } + } + + //! Return a reference to the bulk problem + BulkProblem& bulkProblem() + { + return bulkProblem_; + } + + //! Return a reference to the low dimensional problem + LowDimProblem& lowDimProblem() + { + return lowDimProblem_; + } + + //! Return begin iterator to intersection container + typename Intersections::const_iterator ibegin() const + { return intersections_.begin(); } + + //! Return end iterator to intersection container + typename Intersections::const_iterator iend() const + { return intersections_.end(); } + +private: + BulkProblem& bulkProblem_; + LowDimProblem& lowDimProblem_; + + Intersections intersections_; +}; + +} // namespace Dumux + +#endif diff --git a/dumux/mixeddimension/integrationpointsource.hh b/dumux/mixeddimension/integrationpointsource.hh new file mode 100644 index 0000000000..33ae6fc55f --- /dev/null +++ b/dumux/mixeddimension/integrationpointsource.hh @@ -0,0 +1,185 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup EmbeddedCoupling + * \brief An integration point source class, + * i.e. sources located at a single point in space + * associated with a quadrature point + */ + +#ifndef DUMUX_INTEGRATION_POINTSOURCE_HH +#define DUMUX_INTEGRATION_POINTSOURCE_HH + +#include <dumux/common/pointsource.hh> + +namespace Dumux +{ + +/*! + * \ingroup EmbeddedCoupling + * \brief An integration point source class with an identifier to attach data + * and a quadrature weight and integration element + */ +template<class TypeTag, typename IdType> +class IntegrationPointSource : public Dumux::IdPointSource<TypeTag, IdType> +{ + typedef typename Dumux::IdPointSource<TypeTag, IdType> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + + static const int dimworld = GridView::dimensionworld; + typedef typename Dune::FieldVector<Scalar, dimworld> GlobalPosition; + +public: + //! Constructor for integration point sources + IntegrationPointSource(GlobalPosition pos, PrimaryVariables values, IdType id, + Scalar qpweight, Scalar integrationElement, + const std::vector<unsigned int>& elementIndices) + : ParentType(pos, values, id), + qpweight_(qpweight), integrationElement_(integrationElement), + elementIndices_(elementIndices) {} + + //! Constructor for integration point sources, when there is no + // value known at the time of initialization + IntegrationPointSource(GlobalPosition pos, IdType id, + Scalar qpweight, Scalar integrationElement, + const std::vector<unsigned int>& elementIndices) + : ParentType(pos, id), + qpweight_(qpweight), integrationElement_(integrationElement), + elementIndices_(elementIndices) {} + + + Scalar quadratureWeight() const + { + return qpweight_; + } + + Scalar integrationElement() const + { + return integrationElement_; + } + + const std::vector<unsigned int>& elementIndices() const + { + return elementIndices_; + } + + //! Convenience = operator overload modifying only the values + IntegrationPointSource& operator= (const PrimaryVariables& values) + { + ParentType::operator=(values); + return *this; + } + + //! Convenience = operator overload modifying only the values + IntegrationPointSource& operator= (Scalar s) + { + ParentType::operator=(s); + return *this; + } + +private: + Scalar qpweight_; + Scalar integrationElement_; + std::vector<unsigned int> elementIndices_; +}; + +/*! + * \ingroup EmbeddedCoupling + * \brief A helper class calculating a DOF-index to point source map + */ +template<class TypeTag> +class IntegrationPointSourceHelper +{ + typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, PointSource) PointSource; + + static const int dim = GridView::dimension; + static const int dimworld = GridView::dimensionworld; + + typedef Dumux::BoundingBoxTree<GridView> BoundingBoxTree; + + enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) }; + enum { dofCodim = isBox ? dim : 0 }; + +public: + //! calculate a DOF index to point source map from given vector of point sources + static void computePointSourceMap(const Problem& problem, + const BoundingBoxTree& boundingBoxTree, + std::vector<PointSource>& sources, + std::map<std::pair<unsigned int, unsigned int>, std::vector<PointSource> >& pointSourceMap) + { + for (auto&& source : sources) + { + // compute in which elements the point source falls + std::vector<unsigned int> entities = source.elementIndices(); + // split the source values equally among all concerned entities + source.setEmbeddings(source.embeddings()*entities.size()); + // loop over all concernes elements + for (unsigned int eIdx : entities) + { + if(isBox) + { + // check in which subcontrolvolume(s) we are + const auto element = boundingBoxTree.entity(eIdx); + auto fvGeometry = localView(problem.model().globalFvGeometry()); + fvGeometry.bindElement(element); + const auto globalPos = source.position(); + // loop over all sub control volumes and check if the point source is inside + std::vector<unsigned int> scvIndices; + for (auto&& scv : scvs(fvGeometry)) + { + if (BoundingBoxTreeHelper<dimworld>::pointInGeometry(scv.geometry(), globalPos)) + scvIndices.push_back(scv.index()); + } + // for all scvs that where tested positiv add the point sources + // to the element/scv to point source map + for (auto scvIdx : scvIndices) + { + const auto key = std::make_pair(eIdx, scvIdx); + if (pointSourceMap.count(key)) + pointSourceMap.at(key).push_back(source); + else + pointSourceMap.insert({key, {source}}); + // split equally on the number of matched scvs + auto& s = pointSourceMap.at(key).back(); + s.setEmbeddings(scvIndices.size()*s.embeddings()); + } + } + else + { + // add the pointsource to the DOF map + const auto key = std::make_pair(eIdx, /*scvIdx=*/ 0); + if (pointSourceMap.count(key)) + pointSourceMap.at(key).push_back(source); + else + pointSourceMap.insert({key, {source}}); + } + } + } + } +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/linearsolveracceptsmultitypematrix.hh b/dumux/mixeddimension/linearsolveracceptsmultitypematrix.hh new file mode 100644 index 0000000000..1a9fb40f30 --- /dev/null +++ b/dumux/mixeddimension/linearsolveracceptsmultitypematrix.hh @@ -0,0 +1,80 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \brief Dumux mixeddimension iterative solver backend + */ +#ifndef DUMUX_LINEAR_SOLVER_ACCEPTS_MULTITYPEMATRIX_HH +#define DUMUX_LINEAR_SOLVER_ACCEPTS_MULTITYPEMATRIX_HH + +#include <dumux/linear/seqsolverbackend.hh> + +namespace Dumux { + +//! The default +template<typename TypeTag, typename LinearSolver> +struct LinearSolverAcceptsMultiTypeMatrixImpl +{ static constexpr bool value = true; }; + +//! Convenience typedef +template <typename TypeTag> +using LinearSolverAcceptsMultiTypeMatrix = LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, typename GET_PROP_TYPE(TypeTag, LinearSolver)>; + +//! Solvers that don't accept multi-type matrices +//! Those are all with ILU preconditioner that doesn't support the additional block level +//! And the direct solvers that have BCRS Matrix hardcoded +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnBiCGSTABBackend<TypeTag>> +{ static constexpr bool value = false; }; + +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnCGBackend<TypeTag>> +{ static constexpr bool value = false; }; + +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0BiCGSTABBackend<TypeTag>> +{ static constexpr bool value = false; }; + +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0CGBackend<TypeTag>> +{ static constexpr bool value = false; }; + +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0RestartedGMResBackend<TypeTag>> +{ static constexpr bool value = false; }; + +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnRestartedGMResBackend<TypeTag>> +{ static constexpr bool value = false; }; + +#if HAVE_SUPERLU +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, SuperLUBackend<TypeTag>> +{ static constexpr bool value = false; }; +#endif // HAVE_SUPERLU + +#if HAVE_UMFPACK +template<typename TypeTag> +struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, UMFPackBackend<TypeTag>> +{ static constexpr bool value = false; }; +#endif // HAVE_UMFPACK + +} // end namespace Dumux + +#endif \ No newline at end of file diff --git a/dumux/mixeddimension/lowdimlocaljacobian.hh b/dumux/mixeddimension/lowdimlocaljacobian.hh new file mode 100644 index 0000000000..5d35086592 --- /dev/null +++ b/dumux/mixeddimension/lowdimlocaljacobian.hh @@ -0,0 +1,319 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Caculates the Jacobian of the local residual for fully-implicit models + */ +#ifndef DUMUX_LOWDIM_LOCAL_JACOBIAN_HH +#define DUMUX_LOWDIM_LOCAL_JACOBIAN_HH + +#include <dune/common/indices.hh> +#include <dune/istl/matrix.hh> + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/mixeddimension/properties.hh> + +namespace Dumux +{ +/*! + * \ingroup MixedDimension + * \brief Calculates the Jacobian of the local residual for the low dim domain + * + * The default behavior is to use numeric differentiation, i.e. + * forward or backward differences (2nd order), or central + * differences (3rd order). The method used is determined by the + * "NumericDifferenceMethod" property: + * + * - if the value of this property is smaller than 0, backward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x) - f(x - \epsilon)}{\epsilon} + * \f] + * + * - if the value of this property is 0, central + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x - \epsilon)}{2 \epsilon} + * \f] + * + * - if the value of this property is larger than 0, forward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x)}{\epsilon} + * \f] + * + * Here, \f$ f \f$ is the residual function for all equations, \f$x\f$ + * is the value of a sub-control volume's primary variable at the + * evaluation point and \f$\epsilon\f$ is a small value larger than 0. + */ +template<class TypeTag> +class LowDimLocalJacobian : public GET_PROP_TYPE(TypeTag, LowDimLocalJacobianBase) +{ + using ParentType = typename GET_PROP_TYPE(TypeTag, LowDimLocalJacobianBase); + using Implementation = typename GET_PROP_TYPE(TypeTag, LowDimLocalJacobian); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GlobalProblem = typename GET_PROP_TYPE(TypeTag, Problem); + using SubProblemBlockIndices = typename GET_PROP(TypeTag, SubProblemBlockIndices); + + // obtain the type tag of the lowdim sub problem + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + // types of the lowdim sub problem + using Problem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + using FVElementGeometry = typename GET_PROP_TYPE(LowDimProblemTypeTag, FVElementGeometry); + using ElementSolutionVector = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementSolutionVector); + using PrimaryVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables); + using VolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, VolumeVariables); + using ElementVolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementVolumeVariables); + using ElementFluxVariablesCache = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementFluxVariablesCache); + using ElementBoundaryTypes = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementBoundaryTypes); + using LocalResidual = typename GET_PROP_TYPE(LowDimProblemTypeTag, LocalResidual); + using GridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + using IndexType = typename GridView::IndexSet::IndexType: + using Element = typename GridView::template Codim<0>::Entity; + + enum { dim = GridView::dimension }; + enum { isBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) }; + + // matrix and solution types + using SolutionVector = typename GET_PROP_TYPE(LowDimProblemTypeTag, SolutionVector); + using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix)::MatrixBlockLowDim; + using JacobianMatrixCoupling = typename GET_PROP_TYPE(TypeTag, JacobianMatrix)::MatrixBlockLowDimCoupling; + +public: + + // copying a local jacobian is not a good idea + LowDimLocalJacobian(const LowDimLocalJacobian &) = delete; + + LowDimLocalJacobian() + { numericDifferenceMethod_ = GET_PARAM_FROM_GROUP(TypeTag, int, Implicit, NumericDifferenceMethod); } + + /*! + * \brief Initialize the local Jacobian object. + * + * At this point we can assume that everything has been allocated, + * although some objects may not yet be completely initialized. + * + * \param problem The problem which we want to simulate. + */ + void init(GlobalProblem &globalProblem) + { + globalProblemPtr_ = &globalProblem; + ParentType::init(globalProblem.lowDimProblem()); + } + + /*! + * \brief Assemble an element's local Jacobian matrix of the + * defect. + * + * \param element The DUNE Codim<0> entity which we look at. + */ + void assemble(const Element &element, + JacobianMatrix& matrix, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const bool isGhost = (element.partitionType() == Dune::GhostEntity); + + // prepare the volvars/fvGeometries in case caching is disabled + auto fvGeometry = localView(this->model_().globalFvGeometry()); + fvGeometry.bind(element); + + auto curElemVolVars = localView(this->model_().curGlobalVolVars()); + curElemVolVars.bind(element, fvGeometry, this->model_().curSol()); + + auto prevElemVolVars = localView(this->model_().prevGlobalVolVars()); + prevElemVolVars.bindElement(element, fvGeometry, this->model_().prevSol()); + + auto elemFluxVarsCache = localView(this->model_().globalFluxVarsCache()); + elemFluxVarsCache.bind(element, fvGeometry, curElemVolVars); + + // set the actual dof index + globalI_ = this->problem_().elementMapper().index(element); + + // check for boundaries on the element + ElementBoundaryTypes elemBcTypes; + elemBcTypes.update(this->problem_(), element, fvGeometry); + + // The actual solution in the element + auto curElemSol = this->model_().elementSolution(element, this->model_().curSol()); + + // Evaluate the undeflected element local residual + this->localResidual().eval(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache); + this->residual_ = this->localResidual().residual(); + + // calculate derivatives of all dofs in stencil with respect to the dofs in the element + this->evalPartialDerivatives_(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + curElemSol, + elemFluxVarsCache, + elemBcTypes, + matrix, + residual, + isGhost); + + // compute derivatives with respect to additional user defined DOF dependencies + const auto& additionalDofDepedencies = this->problem_().getAdditionalDofDependencies(globalI_); + if (!additionalDofDepedencies.empty() && !isGhost) + { + this->evalAdditionalDerivatives_(additionalDofDepedencies, + element, + fvGeometry, + curElemVolVars, + matrix, + residual); + } + + evalPartialDerivativeCoupling_(element, + fvGeometry, + curElemVolVars, + elemFluxVarsCache, + elemBcTypes, + couplingMatrix, + residual) + } + +protected: + + /*! + * \brief Returns a reference to the problem. + */ + const GlobalProblem &globalProblem_() const + { return *globalProblemPtr_; } + + GlobalProblem &globalProblem_() + { return *globalProblemPtr_; } + + void evalPartialDerivativeCoupling_(const Element& element, + const FVElementGeometry& fvGeometry, + ElementVolumeVariables& curElemVolVars, + ElementFluxVariablesCache& elemFluxVarsCache, + const ElementBoundaryTypes& elemBcTypes, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const auto& couplingStencil = globalProblem_().couplingManager().couplingStencil(element); + const auto numDofsCoupling = couplingStencil.size(); + + for (auto globalJ : couplingStencil) + { + const auto lowDimElement = globalProblem_().lowDimProblem().model().globalFvGeometry().element(globalJ); + const auto& lowDimSolution = globalProblem_().lowDimProblem().model().curSol(); + auto curElemSolLowDim = globalProblem_().lowDimProblem().model().elementSolution(lowDimElement, lowDimSolution); + const auto lowDimResidual = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + // derivatives in the neighbors with repect to the current elements + PrimaryVariables partialDeriv; + for (int pvIdx = 0; pvIdx < numEq; pvIdx++) + { + const Scalar eps = numericEpsilon(curElemSolLowDim[0][pvIdx]); + Scalar delta = 0; + + if (numericDifferenceMethod_ >= 0) + { + // we are not using backward differences, i.e. we need to + // calculate f(x + \epsilon) + + // deflect primary variables + curElemSolLowDim[0][pvIdx] += eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + } + else + { + // we are using backward differences, i.e. we don't need + // to calculate f(x + \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv = lowDimResidual; + } + + + if (numericDifferenceMethod_ <= 0) + { + // we are not using forward differences, i.e. we + // need to calculate f(x - \epsilon) + + // deflect the primary variables + curElemSolLowDim[0][pvIdx] -= 2*eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv -= globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + lowDimElement, + curElemSolLowDim); + } + else + { + // we are using forward differences, i.e. we don't need to + // calculate f(x - \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv -= lowDimResidual; + } + + // divide difference in residuals by the magnitude of the + // deflections between the two function evaluation + partialDeriv /= delta; + + // restore the original state of the element solution vector + curElemSolLowDim[0][pvIdx] = lowDimSolution[globalJ][pvIdx]; + + // update the global jacobian matrix (coupling block) + this->updateGlobalJacobian_(couplingMatrix, globalI_, globalJ, pvIdx, partialDeriv); + } + } + } + + // The global index of the current element + IndexType globalI_; + // The problem we would like to solve + GlobalProblem *globalProblemPtr_; + // The type of the numeric difference method (forward, center, backward) + int numericDifferenceMethod_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/model.hh b/dumux/mixeddimension/model.hh new file mode 100644 index 0000000000..a5e41326c2 --- /dev/null +++ b/dumux/mixeddimension/model.hh @@ -0,0 +1,551 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Base class for the coupled models of mixed dimension + */ +#ifndef DUMUX_MIXEDDIMENSION_MODEL_HH +#define DUMUX_MIXEDDIMENSION_MODEL_HH + +#include <dune/geometry/type.hh> +#include <dune/istl/bvector.hh> + +#include <dumux/mixeddimension/properties.hh> +#include <dumux/mixeddimension/assembler.hh> +#include <dumux/mixeddimension/subproblemlocaljacobian.hh> +#include <dumux/mixeddimension/newtoncontroller.hh> +#include <dumux/implicit/adaptive/gridadaptproperties.hh> +#include <dumux/common/valgrind.hh> + +namespace Dumux +{ + +/*! + * \ingroup MixedDimension + * \brief The base class for implicit models of mixed dimension. + */ +template<class TypeTag> +class MixedDimensionModel +{ + typedef typename GET_PROP_TYPE(TypeTag, Model) Implementation; + typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector; + typedef typename GET_PROP_TYPE(TypeTag, JacobianAssembler) JacobianAssembler; + typedef typename GET_PROP_TYPE(TypeTag, BulkLocalJacobian) BulkLocalJacobian; + typedef typename GET_PROP_TYPE(TypeTag, LowDimLocalJacobian) LowDimLocalJacobian; + typedef typename GET_PROP_TYPE(TypeTag, NewtonMethod) NewtonMethod; + typedef typename GET_PROP_TYPE(TypeTag, NewtonController) NewtonController; + typedef typename GET_PROP(TypeTag, SubProblemBlockIndices) SubProblemBlockIndices; + + // obtain the type tags of the sub problems + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, GridView) BulkGridView; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView) LowDimGridView; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, LocalResidual) BulkLocalResidual; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, LocalResidual) LowDimLocalResidual; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, VertexMapper) BulkVertexMapper; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, VertexMapper) LowDimVertexMapper; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, ElementMapper) BulkElementMapper; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementMapper) LowDimElementMapper; + + enum { + bulkDim = BulkGridView::dimension, + lowDimDim = LowDimGridView::dimension, + dimWorld = BulkGridView::dimensionworld + }; + + enum { + bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox), + lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox), + bulkDofCodim = bulkIsBox ? bulkDim : 0, + lowDimDofCodim = lowDimIsBox ? lowDimDim : 0 + }; + + typename SubProblemBlockIndices::BulkIdx bulkIdx; + typename SubProblemBlockIndices::LowDimIdx lowDimIdx; + + typedef typename BulkGridView::template Codim<0>::Entity BulkElement; + typedef typename LowDimGridView::template Codim<0>::Entity LowDimElement; + + typedef typename Dune::ReferenceElements<Scalar, bulkDim> BulkReferenceElements; + typedef typename Dune::ReferenceElements<Scalar, lowDimDim> LowDimReferenceElements; + +public: + // copying a model is not a good idea + MixedDimensionModel(const MixedDimensionModel&) = delete; + + /*! + * \brief The constructor. + */ + MixedDimensionModel() + : problemPtr_(nullptr) {} + + /*! + * \brief Apply the initial conditions to the model. + * + * \param problem The object representing the problem which needs to + * be simulated. + */ + void init(Problem &problem) + { + problemPtr_ = &problem; + + // resize the current and previous solution + const unsigned int bulkNumDofs = asImp_().bulkNumDofs(); + const unsigned int lowDimNumDofs = asImp_().lowDimNumDofs(); + uCur_[bulkIdx].resize(bulkNumDofs); + uCur_[lowDimIdx].resize(lowDimNumDofs); + uPrev_[bulkIdx].resize(bulkNumDofs); + uPrev_[lowDimIdx].resize(lowDimNumDofs); + + // initialize local jocabian and jacobian assembler + bulkLocalJacobian_.init(problem_()); + lowDimLocalJacobian_.init(problem_()); + jacAsm_ = std::make_shared<JacobianAssembler>(); + jacAsm_->init(problem_()); + + // set the model to the state of the initial solution + // defined by the problem + asImp_().copySubProblemSolutions_(); + + // also set the solution of the "previous" time step to the + // initial solution. + uPrev_ = uCur_; + } + + /*! + * \brief Compute the global residual for an arbitrary solution + * vector. + * + * \param residual Stores the result + * \param u The solution for which the residual ought to be calculated + */ + Scalar globalResidual(SolutionVector &residual, + const SolutionVector &u) + { + SolutionVector tmp(curSol()); + curSol() = u; + Scalar res = globalResidual(residual); + curSol() = tmp; + return res; + } + + /*! + * \brief Compute the global residual for the current solution + * vector. + * + * \param residual Stores the result + */ + Scalar globalResidual(SolutionVector &residual) + { + residual = 0; + + for (const auto& element : elements(bulkGridView_())) + { + bulkLocalResidual().eval(element); + + if (bulkIsBox) + { + for (int i = 0; i < element.subEntities(bulkDim); ++i) + { + const unsigned int dofIdxGlobal = problem_().bulkProblem().model().dofMapper().subIndex(element, i, bulkDim); + residual[bulkIdx][dofIdxGlobal] += bulkLocalResidual().residual(i); + } + } + else + { + const unsigned int dofIdxGlobal = problem_().bulkProblem().model().dofMapper().index(element); + residual[bulkIdx][dofIdxGlobal] = bulkLocalResidual().residual(0); + } + } + + for (const auto& element : elements(lowDimGridView_())) + { + lowDimLocalResidual().eval(element); + + if (lowDimIsBox) + { + for (int i = 0; i < element.subEntities(lowDimDim); ++i) + { + const unsigned int dofIdxGlobal = problem_().lowDimProblem().model().dofMapper().subIndex(element, i, lowDimDim); + residual[lowDimIdx][dofIdxGlobal] += lowDimLocalResidual().residual(i); + } + } + else + { + const unsigned int dofIdxGlobal = problem_().lowDimProblem().model().dofMapper().index(element); + residual[lowDimIdx][dofIdxGlobal] = lowDimLocalResidual().residual(0); + } + } + + // calculate the square norm of the residual + return residual.two_norm(); + } + + void adaptVariableSize() + { + uCur_[bulkIdx].resize(asImp_().bulkNumDofs()); + uCur_[lowDimIdx].resize(asImp_().lowDimNumDofs()); + } + + /*! + * \brief Reference to the current solution as a block vector. + */ + const SolutionVector &curSol() const + { return uCur_; } + + /*! + * \brief Reference to the current solution as a block vector. + */ + SolutionVector &curSol() + { return uCur_; } + + /*! + * \brief Reference to the previous solution as a block vector. + */ + const SolutionVector &prevSol() const + { return uPrev_; } + + /*! + * \brief Reference to the previous solution as a block vector. + */ + SolutionVector &prevSol() + { return uPrev_; } + + /*! + * \brief Returns the operator assembler for the global jacobian of + * the problem. + */ + JacobianAssembler &jacobianAssembler() + { return *jacAsm_; } + + /*! + * \copydoc jacobianAssembler() + */ + const JacobianAssembler &jacobianAssembler() const + { return *jacAsm_; } + + /*! + * \brief Returns the local jacobian which calculates the local + * stiffness matrix for an arbitrary bulk element. + * + * The local stiffness matrices of the element are used by + * the jacobian assembler to produce a global linerization of the + * problem. + */ + BulkLocalJacobian &bulkLocalJacobian() + { return bulkLocalJacobian_; } + /*! + * \copydoc bulkLocalJacobian() + */ + const BulkLocalJacobian &bulkLocalJacobian() const + { return bulkLocalJacobian_; } + + /*! + * \brief Returns the local jacobian which calculates the local + * stiffness matrix for an arbitrary low dimensional element. + * + * The local stiffness matrices of the element are used by + * the jacobian assembler to produce a global linerization of the + * problem. + */ + LowDimLocalJacobian &lowDimLocalJacobian() + { return lowDimLocalJacobian_; } + /*! + * \copydoc lowDimLocalJacobian() + */ + const LowDimLocalJacobian &lowDimLocalJacobian() const + { return lowDimLocalJacobian_; } + + /*! + * \brief Returns the bulk local residual function. + */ + BulkLocalResidual& bulkLocalResidual() + { return bulkLocalJacobian().localResidual(); } + /*! + * \copydoc bulkLocalResidual() + */ + const BulkLocalResidual& bulkLocalResidual() const + { return bulkLocalJacobian().localResidual(); } + + /*! + * \brief Returns the low dim local residual function. + */ + LowDimLocalResidual& lowDimLocalResidual() + { return lowDimLocalJacobian().localResidual(); } + /*! + * \copydoc lowDimLocalResidual() + */ + const LowDimLocalResidual& lowDimLocalResidual() const + { return lowDimLocalJacobian().localResidual(); } + + /*! + * \brief Returns the maximum relative shift between two vectors of + * primary variables. + * + * \param priVars1 The first vector of primary variables + * \param priVars2 The second vector of primary variables + */ + template <class PrimaryVariableVector> + Scalar relativeShiftAtDof(const PrimaryVariableVector &priVars1, + const PrimaryVariableVector &priVars2) + { + Scalar result = 0.0; + for (int j = 0; j < priVars1.size(); ++j) + { + Scalar eqErr = std::abs(priVars1[j] - priVars2[j]); + eqErr /= std::max<Scalar>(1.0, std::abs(priVars1[j] + priVars2[j])/2); + + result = std::max(result, eqErr); + } + return result; + } + + /*! + * \brief Try to progress the model to the next timestep. + * + * \param solver The non-linear solver + * \param controller The controller which specifies the behaviour + * of the non-linear solver + */ + bool update(NewtonMethod &solver, + NewtonController &controller) + { + asImp_().updateBegin(); + bool converged = solver.execute(controller); + + if (converged) + asImp_().updateSuccessful(); + else + asImp_().updateFailed(); + + return converged; + } + + /*! + * \brief Check the plausibility of the current solution + * + * This has to be done by the actual model, it knows + * best, what (ranges of) variables to check. + * This is primarily a hook + * which the actual model can overload. + */ + void checkPlausibility() const + { } + + /*! + * \brief Called by the update() method before it tries to + * apply the newton method. This is primarily a hook + * which the actual model can overload. + */ + void updateBegin() + { + if((GET_PROP_VALUE(BulkProblemTypeTag, AdaptiveGrid) && problem_().bulkProblem().gridAdapt().wasAdapted()) || + (GET_PROP_VALUE(LowDimProblemTypeTag, AdaptiveGrid) && problem_().lowDimProblem().gridAdapt().wasAdapted())) + { + uPrev_ = uCur_; + jacAsm_->init(problem_()); + + if (GET_PROP_VALUE(BulkProblemTypeTag, AdaptiveGrid) && problem_().bulkProblem().gridAdapt().wasAdapted()) + problem_().bulkProblem().model().updateBegin(); + + if (GET_PROP_VALUE(LowDimProblemTypeTag, AdaptiveGrid) && problem_().lowDimProblem().gridAdapt().wasAdapted()) + problem_().lowDimProblem().model().updateBegin(); + } + } + + + /*! + * \brief Called by the update() method if it was + * successful. This is primarily a hook which the actual + * model can overload. + */ + void updateSuccessful() + {} + + void newtonEndStep() + { + problem_().bulkProblem().model().newtonEndStep(); + problem_().lowDimProblem().model().newtonEndStep(); + } + + /*! + * \brief Called by the update() method if it was + * unsuccessful. This is primarily a hook which the actual + * model can overload. + */ + void updateFailed() + { + // Reset the current solution to the one of the + // previous time step so that we can start the next + // update at a physically meaningful solution. + uCur_ = uPrev_; + + // call the respective methods in the sub problems + problem_().lowDimProblem().model().updateFailed(); + problem_().bulkProblem().model().updateFailed(); + } + + /*! + * \brief Called by the problem if a time integration was + * successful, post processing of the solution is done and + * the result has been written to disk. + * + * This should prepare the model for the next time integration. + */ + void advanceTimeLevel() + { + // make the current solution the previous one. + uPrev_ = uCur_; + + // call the respective methods in the sub problems + problem_().lowDimProblem().model().advanceTimeLevel(); + problem_().bulkProblem().model().advanceTimeLevel(); + } + + /*! + * \brief Returns the number of global degrees of freedoms (DOFs) of the bulk problem + */ + std::size_t bulkNumDofs() const + { return problem_().bulkProblem().model().numDofs(); } + + /*! + * \brief Returns the number of global degrees of freedoms (DOFs) of the low dim problem + */ + std::size_t lowDimNumDofs() const + { return problem_().lowDimProblem().model().numDofs(); } + + /*! + * \brief Returns the number of global degrees of freedoms (DOFs) + */ + std::size_t numDofs() const + { return asImp_().bulkNumDofs() + asImp_().lowDimNumDofs(); } + + /*! + * \brief Mapper for the entities of the subproblems + */ + const BulkVertexMapper& bulkVertexMapper() const + { + return problem_().bulkProblem().vertexMapper(); + } + + const BulkElementMapper& bulkElementMapper() const + { + return problem_().bulkProblem().elementMapper(); + } + + const LowDimVertexMapper& lowDimVertexMapper() const + { + return problem_().lowDimProblem().vertexMapper(); + } + + const LowDimElementMapper& lowDimElementMapper() const + { + return problem_().lowDimProblem().elementMapper(); + } + + /*! + * \brief Resets the Jacobian matrix assembler, so that the + * boundary types can be altered. + */ + void resetJacobianAssembler () + { + jacAsm_.template reset<JacobianAssembler>(0); + jacAsm_ = std::make_shared<JacobianAssembler>(); + jacAsm_->init(problem_()); + } + + /*! + * \brief Copies the global solution vector to the sub problems + */ + void copySolutionToSubProblems() + { + problem_().bulkProblem().model().curSol() = uCur_[bulkIdx]; + problem_().lowDimProblem().model().curSol() = uCur_[lowDimIdx]; + } + +protected: + /*! + * \brief A reference to the problem on which the model is applied. + */ + Problem &problem_() + { return *problemPtr_; } + /*! + * \copydoc problem_() + */ + const Problem &problem_() const + { return *problemPtr_; } + + /*! + * \brief Reference to the grid view of the spatial domain. + */ + const BulkGridView &bulkGridView_() const + { return problem_().bulkProblem().gridView(); } + + /*! + * \brief Reference to the grid view of the spatial domain. + */ + const LowDimGridView &lowDimGridView_() const + { return problem_().lowDimProblem().gridView(); } + + /*! + * \brief Copies the solution vectors of the sub problems + */ + void copySubProblemSolutions_() + { + uCur_[bulkIdx] = problem_().bulkProblem().model().curSol(); + uCur_[lowDimIdx] = problem_().lowDimProblem().model().curSol(); + } + + // the problem we want to solve. defines the constitutive + // relations, matxerial laws, etc. + Problem *problemPtr_; + + // calculates the local jacobian matrix for a given bulk/lowdim element + BulkLocalJacobian bulkLocalJacobian_; + LowDimLocalJacobian lowDimLocalJacobian_; + + // Linearizes the problem at the current time step using the + // local jacobian + std::shared_ptr<JacobianAssembler> jacAsm_; + + // cur is the current iterative solution, prev the converged + // solution of the previous time step + SolutionVector uCur_; + SolutionVector uPrev_; + +private: + + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } + +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/newtoncontroller.hh b/dumux/mixeddimension/newtoncontroller.hh new file mode 100644 index 0000000000..213049ad75 --- /dev/null +++ b/dumux/mixeddimension/newtoncontroller.hh @@ -0,0 +1,766 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/**************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Reference implementation of a controller class for the Newton solver. + * + * Usually this controller should be sufficient. + */ +#ifndef DUMUX_MIXEDDIMENSION_NEWTON_CONTROLLER_HH +#define DUMUX_MIXEDDIMENSION_NEWTON_CONTROLLER_HH + +#include <dumux/common/propertysystem.hh> +#include <dumux/common/exceptions.hh> +#include <dumux/common/math.hh> +#include <dumux/linear/seqsolverbackend.hh> +#include "linearsolveracceptsmultitypematrix.hh" + +namespace Dumux +{ +template <class TypeTag> +class MixedDimensionNewtonController; + +namespace Properties +{ +//! Specifies the implementation of the Newton controller +NEW_PROP_TAG(NewtonController); + +//! Specifies the type of the actual Newton method +NEW_PROP_TAG(NewtonMethod); + +//! Specifies the type of a solution +NEW_PROP_TAG(SolutionVector); + +//! Specifies the type of a global Jacobian matrix +NEW_PROP_TAG(JacobianMatrix); + +//! specifies the type of the time manager +NEW_PROP_TAG(TimeManager); + +/*! + * \brief Specifies whether the update should be done using the line search + * method instead of the plain Newton method. + * + * Whether this property has any effect depends on whether the line + * search method is implemented for the actual model's Newton + * controller's update() method. By default line search is not used. + */ +NEW_PROP_TAG(NewtonUseLineSearch); + +//! indicate whether the shift criterion should be used +NEW_PROP_TAG(NewtonEnableShiftCriterion); + +//! the value for the maximum relative shift below which convergence is declared +NEW_PROP_TAG(NewtonMaxRelativeShift); + +//! indicate whether the residual criterion should be used +NEW_PROP_TAG(NewtonEnableResidualCriterion); + +//! the value for the residual reduction below which convergence is declared +NEW_PROP_TAG(NewtonResidualReduction); + +//! indicate whether both of the criteria should be satisfied to declare convergence +NEW_PROP_TAG(NewtonSatisfyResidualAndShiftCriterion); + +/*! + * \brief The number of iterations at which the Newton method + * should aim at. + * + * This is used to control the time-step size. The heuristic used + * is to scale the last time-step size by the deviation of the + * number of iterations used from the target steps. + */ +NEW_PROP_TAG(NewtonTargetSteps); + +//! Number of maximum iterations for the Newton method. +NEW_PROP_TAG(NewtonMaxSteps); + +} // end namespace Properties + +/*! + * \ingroup MixedDimension + * \brief A reference implementation of a Newton controller specific + * for the coupled problems of mixed dimension. + * + * If you want to specialize only some methods but are happy with the + * defaults of the reference controller, derive your controller from + * this class and simply overload the required methods. + */ +template <class TypeTag> +class MixedDimensionNewtonController +{ + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Implementation = typename GET_PROP_TYPE(TypeTag, NewtonController); + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Model = typename GET_PROP_TYPE(TypeTag, Model); + using NewtonMethod = typename GET_PROP_TYPE(TypeTag, NewtonMethod); + using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using LinearSolver = typename GET_PROP_TYPE(TypeTag, LinearSolver); + using SubProblemBlockIndices = typename GET_PROP(TypeTag, SubProblemBlockIndices); + + typename SubProblemBlockIndices::BulkIdx bulkIdx; + typename SubProblemBlockIndices::LowDimIdx lowDimIdx; + + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + enum { + numEqBulk = GET_PROP_VALUE(BulkProblemTypeTag, NumEq), + numEqLowDim = GET_PROP_VALUE(LowDimProblemTypeTag, NumEq) + }; + +public: + /*! + * \brief Constructor + */ + MixedDimensionNewtonController(const Problem &problem) + : endIterMsgStream_(std::ostringstream::out), linearSolver_(problem) + { + useLineSearch_ = GET_PARAM_FROM_GROUP(TypeTag, bool, Newton, UseLineSearch); + enableShiftCriterion_ = GET_PARAM_FROM_GROUP(TypeTag, bool, Newton, EnableShiftCriterion); + enableResidualCriterion_ = GET_PARAM_FROM_GROUP(TypeTag, bool, Newton, EnableResidualCriterion); + satisfyResidualAndShiftCriterion_ = GET_PARAM_FROM_GROUP(TypeTag, bool, Newton, SatisfyResidualAndShiftCriterion); + if (!enableShiftCriterion_ && !enableResidualCriterion_) + { + DUNE_THROW(Dune::NotImplemented, + "at least one of NewtonEnableShiftCriterion or " + << "NewtonEnableResidualCriterion has to be set to true"); + } + + setMaxRelativeShift(GET_PARAM_FROM_GROUP(TypeTag, Scalar, Newton, MaxRelativeShift)); + setResidualReduction(GET_PARAM_FROM_GROUP(TypeTag, Scalar, Newton, ResidualReduction)); + setTargetSteps(GET_PARAM_FROM_GROUP(TypeTag, int, Newton, TargetSteps)); + setMaxSteps(GET_PARAM_FROM_GROUP(TypeTag, int, Newton, MaxSteps)); + + verbose_ = true; + numSteps_ = 0; + } + + /*! + * \brief Set the maximum acceptable difference of any primary variable + * between two iterations for declaring convergence. + * + * \param tolerance The maximum relative shift between two Newton + * iterations at which the scheme is considered finished + */ + void setMaxRelativeShift(Scalar tolerance) + { shiftTolerance_ = tolerance; } + + /*! + * \brief Set the maximum acceptable residual norm reduction. + * + * \param tolerance The maximum reduction of the residual norm + * at which the scheme is considered finished + */ + void setResidualReduction(Scalar tolerance) + { reductionTolerance_ = tolerance; } + + /*! + * \brief Set the number of iterations at which the Newton method + * should aim at. + * + * This is used to control the time-step size. The heuristic used + * is to scale the last time-step size by the deviation of the + * number of iterations used from the target steps. + * + * \param targetSteps Number of iterations which are considered "optimal" + */ + void setTargetSteps(int targetSteps) + { targetSteps_ = targetSteps; } + + /*! + * \brief Set the number of iterations after which the Newton + * method gives up. + * + * \param maxSteps Number of iterations after we give up + */ + void setMaxSteps(int maxSteps) + { maxSteps_ = maxSteps; } + + /*! + * \brief Returns true if another iteration should be done. + * + * \param uCurrentIter The solution of the current Newton iteration + */ + bool newtonProceed(const SolutionVector &uCurrentIter) + { + if (numSteps_ < 2) + return true; // we always do at least two iterations + else if (asImp_().newtonConverged()) { + return false; // we are below the desired tolerance + } + else if (numSteps_ >= maxSteps_) { + // We have exceeded the allowed number of steps. If the + // maximum relative shift was reduced by a factor of at least 4, + // we proceed even if we are above the maximum number of steps. + if (enableShiftCriterion_) + return shift_*4.0 < lastShift_; + else + return reduction_*4.0 < lastReduction_; + } + + return true; + } + + /*! + * \brief Returns true if the error of the solution is below the + * tolerance. + */ + bool newtonConverged() const + { + if (enableShiftCriterion_ && !enableResidualCriterion_) + { + return shift_ <= shiftTolerance_; + } + else if (!enableShiftCriterion_ && enableResidualCriterion_) + { + return reduction_ <= reductionTolerance_; + } + else if (satisfyResidualAndShiftCriterion_) + { + return shift_ <= shiftTolerance_ + && reduction_ <= reductionTolerance_; + } + else + { + return shift_ <= shiftTolerance_ + || reduction_ <= reductionTolerance_; + } + + return false; + } + + /*! + * \brief Called before the Newton method is applied to an + * non-linear system of equations. + * + * \param method The object where the NewtonMethod is executed + * \param u The initial solution + */ + void newtonBegin(NewtonMethod &method, const SolutionVector &u) + { + method_ = &method; + numSteps_ = 0; + } + + /*! + * \brief Indicates the beginning of a Newton iteration. + */ + void newtonBeginStep() + { + lastShift_ = shift_; + if (numSteps_ == 0) + { + lastReduction_ = 1.0; + } + else + { + lastReduction_ = reduction_; + } + } + + /*! + * \brief Returns the number of steps done since newtonBegin() was + * called. + */ + int newtonNumSteps() + { return numSteps_; } + + /*! + * \brief Update the maximum relative shift of the solution compared to + * the previous iteration. + * + * \param uLastIter The current iterative solution + * \param deltaU The difference between the current and the next solution + */ + void newtonUpdateShift(const SolutionVector &uLastIter, + const SolutionVector &deltaU) + { + shift_ = 0; + + for (std::size_t i = 0; i < uLastIter[bulkIdx].size(); ++i) + { + auto uNewI = uLastIter[bulkIdx][i]; + uNewI -= deltaU[bulkIdx][i]; + + const Scalar shiftAtDof = model_().relativeShiftAtDof(uLastIter[bulkIdx][i], + uNewI); + shift_ = std::max(shift_, shiftAtDof); + } + + for (std::size_t i = 0; i < uLastIter[lowDimIdx].size(); ++i) + { + auto uNewI = uLastIter[lowDimIdx][i]; + uNewI -= deltaU[lowDimIdx][i]; + + const Scalar shiftAtDof = model_().relativeShiftAtDof(uLastIter[lowDimIdx][i], + uNewI); + shift_ = std::max(shift_, shiftAtDof); + } + } + + /*! + * \brief Solve the linear system of equations \f$\mathbf{A}x - b = 0\f$. + * + * Throws Dumux::NumericalProblem if the linear solver didn't + * converge. + * + * If the linear solver doesn't accept multitype matrices we copy the matrix + * into a 1x1 block BCRS matrix for solving. + * + * \param A The matrix of the linear system of equations + * \param x The vector which solves the linear system + * \param b The right hand side of the linear system + */ + template<typename T = TypeTag> + typename std::enable_if<!LinearSolverAcceptsMultiTypeMatrix<T>::value, void>::type + newtonSolveLinear(JacobianMatrix &A, + SolutionVector &x, + SolutionVector &b) + { + try + { + if (numSteps_ == 0) + initialResidual_ = b.two_norm(); + + // copy the matrix and the vector to types the IterativeSolverBackend can handle + using MatrixBlock = typename Dune::FieldMatrix<Scalar, 1, 1>; + using SparseMatrix = typename Dune::BCRSMatrix<MatrixBlock>; + + // get the new matrix sizes + std::size_t numRows = numEqBulk*A[bulkIdx][bulkIdx].N() + numEqLowDim*A[lowDimIdx][bulkIdx].N(); + std::size_t numCols = numEqBulk*A[bulkIdx][bulkIdx].M() + numEqLowDim*A[bulkIdx][lowDimIdx].M(); + + // check matrix sizes + assert(A[bulkIdx][bulkIdx].N() == A[bulkIdx][lowDimIdx].N()); + assert(A[lowDimIdx][bulkIdx].N() == A[lowDimIdx][lowDimIdx].N()); + assert(numRows == numCols); + + // create the bcrs matrix the IterativeSolver backend can handle + auto M = SparseMatrix(numRows, numCols, SparseMatrix::random); + + // set the rowsizes + // A11 and A12 + for (auto row = A[bulkIdx][bulkIdx].begin(); row != A[bulkIdx][bulkIdx].end(); ++row) + for (std::size_t i = 0; i < numEqBulk; ++i) + M.setrowsize(numEqBulk*row.index() + i, row->size()*numEqBulk); + for (auto row = A[bulkIdx][lowDimIdx].begin(); row != A[bulkIdx][lowDimIdx].end(); ++row) + for (std::size_t i = 0; i < numEqBulk; ++i) + M.setrowsize(numEqBulk*row.index() + i, M.getrowsize(numEqBulk*row.index() + i) + row->size()*numEqLowDim); + // A21 and A22 + for (auto row = A[lowDimIdx][bulkIdx].begin(); row != A[lowDimIdx][bulkIdx].end(); ++row) + for (std::size_t i = 0; i < numEqLowDim; ++i) + M.setrowsize(numEqLowDim*row.index() + i + A[bulkIdx][bulkIdx].N()*numEqBulk, row->size()*numEqBulk); + for (auto row = A[lowDimIdx][lowDimIdx].begin(); row != A[lowDimIdx][lowDimIdx].end(); ++row) + for (std::size_t i = 0; i < numEqLowDim; ++i) + M.setrowsize(numEqLowDim*row.index() + i + A[bulkIdx][bulkIdx].N()*numEqBulk, M.getrowsize(numEqLowDim*row.index() + i + A[bulkIdx][bulkIdx].N()*numEqBulk) + row->size()*numEqLowDim); + M.endrowsizes(); + + // set the indices + for (auto row = A[bulkIdx][bulkIdx].begin(); row != A[bulkIdx][bulkIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqBulk; ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + M.addindex(row.index()*numEqBulk + i, col.index()*numEqBulk + j); + + for (auto row = A[bulkIdx][lowDimIdx].begin(); row != A[bulkIdx][lowDimIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqBulk; ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + M.addindex(row.index()*numEqBulk + i, col.index()*numEqLowDim + j + A[bulkIdx][bulkIdx].M()*numEqBulk); + + for (auto row = A[lowDimIdx][bulkIdx].begin(); row != A[lowDimIdx][bulkIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqLowDim; ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + M.addindex(row.index()*numEqLowDim + i + A[bulkIdx][bulkIdx].N()*numEqBulk, col.index()*numEqBulk + j); + + for (auto row = A[lowDimIdx][lowDimIdx].begin(); row != A[lowDimIdx][lowDimIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqLowDim; ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + M.addindex(row.index()*numEqLowDim + i + A[bulkIdx][bulkIdx].N()*numEqBulk, col.index()*numEqLowDim + j + A[bulkIdx][bulkIdx].M()*numEqBulk); + M.endindices(); + + // copy values + for (auto row = A[bulkIdx][bulkIdx].begin(); row != A[bulkIdx][bulkIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqBulk; ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + M[row.index()*numEqBulk + i][col.index()*numEqBulk + j] = A[bulkIdx][bulkIdx][row.index()][col.index()][i][j]; + + for (auto row = A[bulkIdx][lowDimIdx].begin(); row != A[bulkIdx][lowDimIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqBulk; ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + M[row.index()*numEqBulk + i][col.index()*numEqLowDim + j + A[bulkIdx][bulkIdx].M()*numEqBulk] = A[bulkIdx][lowDimIdx][row.index()][col.index()][i][j]; + + for (auto row = A[lowDimIdx][bulkIdx].begin(); row != A[lowDimIdx][bulkIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqLowDim; ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + M[row.index()*numEqLowDim + i + A[bulkIdx][bulkIdx].N()*numEqBulk][col.index()*numEqBulk + j] = A[lowDimIdx][bulkIdx][row.index()][col.index()][i][j]; + + for (auto row = A[lowDimIdx][lowDimIdx].begin(); row != A[lowDimIdx][lowDimIdx].end(); ++row) + for (auto col = row->begin(); col != row->end(); ++col) + for (std::size_t i = 0; i < numEqLowDim; ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + M[row.index()*numEqLowDim + i + A[bulkIdx][bulkIdx].N()*numEqBulk][col.index()*numEqLowDim + j + A[bulkIdx][bulkIdx].M()*numEqBulk] = A[lowDimIdx][lowDimIdx][row.index()][col.index()][i][j]; + + // create the vector the IterativeSolver backend can handle + using VectorBlock = typename Dune::FieldVector<Scalar, 1>; + using BlockVector = typename Dune::BlockVector<VectorBlock>; + + BlockVector y, bTmp; + y.resize(numRows); + bTmp.resize(numCols); + for (std::size_t i = 0; i < b[bulkIdx].N(); ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + bTmp[i*numEqBulk + j] = b[bulkIdx][i][j]; + for (std::size_t i = 0; i < b[lowDimIdx].N(); ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + bTmp[i*numEqLowDim + j + b[bulkIdx].N()*numEqBulk] = b[lowDimIdx][i][j]; + + // solve + bool converged = linearSolver_.solve(M, y, bTmp); + + // copy back the result y into x + for (std::size_t i = 0; i < x[bulkIdx].N(); ++i) + for (std::size_t j = 0; j < numEqBulk; ++j) + x[bulkIdx][i][j] = y[i*numEqBulk + j]; + for (std::size_t i = 0; i < x[lowDimIdx].N(); ++i) + for (std::size_t j = 0; j < numEqLowDim; ++j) + x[lowDimIdx][i][j] = y[i*numEqLowDim + j + x[bulkIdx].N()*numEqBulk]; + + if (!converged) + DUNE_THROW(NumericalProblem, "Linear solver did not converge"); + } + catch (const Dune::Exception &e) + { + Dumux::NumericalProblem p; + p.message(e.what()); + throw p; + } + } + + /*! + * \brief Solve the linear system of equations \f$\mathbf{A}x - b = 0\f$. + * + * Throws Dumux::NumericalProblem if the linear solver didn't + * converge. + * + * \param A The matrix of the linear system of equations + * \param x The vector which solves the linear system + * \param b The right hand side of the linear system + */ + template<typename T = TypeTag> + typename std::enable_if<LinearSolverAcceptsMultiTypeMatrix<T>::value, void>::type + newtonSolveLinear(JacobianMatrix &A, + SolutionVector &x, + SolutionVector &b) + { + try + { + if (numSteps_ == 0) + initialResidual_ = b.two_norm(); + + bool converged = linearSolver_.solve(A, x, b); + + if (!converged) + DUNE_THROW(NumericalProblem, "Linear solver did not converge"); + } + catch (const Dune::Exception &e) + { + Dumux::NumericalProblem p; + p.message(e.what()); + throw p; + } + } + + /*! + * \brief Update the current solution with a delta vector. + * + * The error estimates required for the newtonConverged() and + * newtonProceed() methods should be updated inside this method. + * + * Different update strategies, such as line search and chopped + * updates can be implemented. The default behavior is just to + * subtract deltaU from uLastIter, i.e. + * \f[ u^{k+1} = u^k - \Delta u^k \f] + * + * \param uCurrentIter The solution vector after the current iteration + * \param uLastIter The solution vector after the last iteration + * \param deltaU The delta as calculated from solving the linear + * system of equations. This parameter also stores + * the updated solution. + */ + void newtonUpdate(SolutionVector &uCurrentIter, + const SolutionVector &uLastIter, + const SolutionVector &deltaU) + { + if (enableShiftCriterion_) + newtonUpdateShift(uLastIter, deltaU); + + if (useLineSearch_) + lineSearchUpdate_(uCurrentIter, uLastIter, deltaU); + else + { + for (std::size_t i = 0; i < uLastIter[bulkIdx].size(); ++i) + { + uCurrentIter[bulkIdx][i] = uLastIter[bulkIdx][i]; + uCurrentIter[bulkIdx][i] -= deltaU[bulkIdx][i]; + } + for (std::size_t i = 0; i < uLastIter[lowDimIdx].size(); ++i) + { + uCurrentIter[lowDimIdx][i] = uLastIter[lowDimIdx][i]; + uCurrentIter[lowDimIdx][i] -= deltaU[lowDimIdx][i]; + } + + if (enableResidualCriterion_) + { + SolutionVector tmp(uLastIter); + reduction_ = model_().globalResidual(tmp, uCurrentIter); + reduction_ /= initialResidual_; + } + } + + // copy the global solution to the sub problems + model_().copySolutionToSubProblems(); + } + + /*! + * \brief Indicates that one Newton iteration was finished. + * + * \param uCurrentIter The solution after the current Newton iteration + * \param uLastIter The solution at the beginning of the current Newton iteration + */ + void newtonEndStep(const SolutionVector &uCurrentIter, + const SolutionVector &uLastIter) + { + // Eventuall update the volume variables + this->model_().newtonEndStep(); + + ++numSteps_; + + if (verbose()) + { + std::cout << "\rNewton iteration " << numSteps_ << " done"; + if (enableShiftCriterion_) + std::cout << ", maximum relative shift = " << shift_; + if (enableResidualCriterion_) + std::cout << ", residual reduction = " << reduction_; + std::cout << endIterMsg().str() << "\n"; + } + endIterMsgStream_.str(""); + + // When the newton iteration is done: ask the model to check if it makes sense. + model_().checkPlausibility(); + } + + /*! + * \brief Indicates that we're done solving the non-linear system + * of equations. + */ + void newtonEnd() + {} + + /*! + * \brief Called if the Newton method broke down. + * + * This method is called _after_ newtonEnd() + */ + void newtonFail() + { + numSteps_ = targetSteps_*2; + } + + /*! + * \brief Called when the Newton method was successful. + * + * This method is called _after_ newtonEnd() + */ + void newtonSucceed() + {} + + /*! + * \brief Suggest a new time-step size based on the old time-step + * size. + * + * The default behavior is to suggest the old time-step size + * scaled by the ratio between the target iterations and the + * iterations required to actually solve the last time-step. + */ + Scalar suggestTimeStepSize(Scalar oldTimeStep) const + { + // be aggressive reducing the time-step size but + // conservative when increasing it. the rationale is + // that we want to avoid failing in the next Newton + // iteration which would require another linearization + // of the problem. + if (numSteps_ > targetSteps_) { + Scalar percent = Scalar(numSteps_ - targetSteps_)/targetSteps_; + return oldTimeStep/(1.0 + percent); + } + + Scalar percent = Scalar(targetSteps_ - numSteps_)/targetSteps_; + return oldTimeStep*(1.0 + percent/1.2); + } + + /*! + * \brief Returns a reference to the current Newton method + * which is controlled by this controller. + */ + NewtonMethod &method() + { return *method_; } + + /*! + * \brief Returns a reference to the current Newton method + * which is controlled by this controller. + */ + const NewtonMethod &method() const + { return *method_; } + + std::ostringstream &endIterMsg() + { return endIterMsgStream_; } + + /*! + * \brief Specifies if the Newton method ought to be chatty. + */ + void setVerbose(bool val) + { verbose_ = val; } + + /*! + * \brief Returns true if the Newton method ought to be chatty. + */ + bool verbose() const + { return verbose_; } + +protected: + + /*! + * \brief Returns a reference to the problem. + */ + Problem &problem_() + { return method_->problem(); } + + /*! + * \brief Returns a reference to the problem. + */ + const Problem &problem_() const + { return method_->problem(); } + + /*! + * \brief Returns a reference to the time manager. + */ + TimeManager &timeManager_() + { return problem_().timeManager(); } + + /*! + * \brief Returns a reference to the time manager. + */ + const TimeManager &timeManager_() const + { return problem_().timeManager(); } + + /*! + * \brief Returns a reference to the problem. + */ + Model &model_() + { return problem_().model(); } + + /*! + * \brief Returns a reference to the problem. + */ + const Model &model_() const + { return problem_().model(); } + + // returns the actual implementation for the controller we do + // it this way in order to allow "poor man's virtual methods", + // i.e. methods of subclasses which can be called by the base + // class. + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } + + void lineSearchUpdate_(SolutionVector &uCurrentIter, + const SolutionVector &uLastIter, + const SolutionVector &deltaU) + { + Scalar lambda = 1.0; + SolutionVector tmp(uLastIter); + + while (true) + { + uCurrentIter = deltaU; + uCurrentIter *= -lambda; + uCurrentIter += uLastIter; + + // calculate the residual of the current solution + reduction_ = this->method().model().globalResidual(tmp, uCurrentIter); + reduction_ /= initialResidual_; + + if (reduction_ < lastReduction_ || lambda <= 0.125) + { + this->endIterMsg() << ", residual reduction " << lastReduction_ << "->" << reduction_ << "@lambda=" << lambda; + return; + } + + // try with a smaller update + lambda /= 2.0; + } + } + + std::ostringstream endIterMsgStream_; + + NewtonMethod *method_; + bool verbose_; + + // shift criterion variables + Scalar shift_; + Scalar lastShift_; + Scalar shiftTolerance_; + + // residual criterion variables + Scalar reduction_; + Scalar lastReduction_; + Scalar initialResidual_; + Scalar reductionTolerance_; + + // optimal number of iterations we want to achieve + int targetSteps_; + // maximum number of iterations we do before giving up + int maxSteps_; + // actual number of steps done so far + int numSteps_; + + // the linear solver + LinearSolver linearSolver_; + + bool useLineSearch_; + bool enableShiftCriterion_; + bool enableResidualCriterion_; + bool satisfyResidualAndShiftCriterion_; +}; + +} // namespace Dumux + +#endif diff --git a/dumux/mixeddimension/problem.hh b/dumux/mixeddimension/problem.hh new file mode 100644 index 0000000000..d0e7292231 --- /dev/null +++ b/dumux/mixeddimension/problem.hh @@ -0,0 +1,583 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Base class for problems with which involve two sub problems + * of different dimensions. + */ + +#ifndef DUMUX_MIXEDDIMENSION_PROBLEM_HH +#define DUMUX_MIXEDDIMENSION_PROBLEM_HH + +#include <dune/common/exceptions.hh> +#include <dumux/common/exceptions.hh> +#include <dumux/mixeddimension/properties.hh> +#include <dumux/mixeddimension/model.hh> + +namespace Dumux +{ + +/*! + * \ingroup MixedDimension + * \brief Base class for probems which involve two sub problems of different dimensions + */ +template<class TypeTag> +class MixedDimensionProblem +{ + typedef typename GET_PROP_TYPE(TypeTag, Problem) Implementation; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, CouplingManager) CouplingManager; + typedef typename GET_PROP_TYPE(TypeTag, NewtonMethod) NewtonMethod; + typedef typename GET_PROP_TYPE(TypeTag, NewtonController) NewtonController; + typedef typename GET_PROP_TYPE(TypeTag, Model) Model; + + // obtain the type tags of the sub problems + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + + // obtain types from the sub problem type tags + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, Problem) BulkProblem; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem) LowDimProblem; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, TimeManager) BulkTimeManager; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, TimeManager) LowDimTimeManager; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, GridView) BulkGridView; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView) LowDimGridView; + + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, SolutionVector) BulkSolutionVector; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, SolutionVector) LowDimSolutionVector; + +public: + MixedDimensionProblem(TimeManager &timeManager, + const BulkGridView &bulkGridView, + const LowDimGridView &lowDimGridView) + : timeManager_(timeManager), + bulkGridView_(bulkGridView), + lowDimGridView_(lowDimGridView), + bulkProblem_(bulkTimeManager_, bulkGridView), + lowDimProblem_(lowDimTimeManager_, lowDimGridView), + couplingManager_(std::make_shared<CouplingManager>(bulkProblem_, lowDimProblem_)), + newtonMethod_(asImp_()), + newtonCtl_(asImp_()) + { + // check if we got the right dimensions + static_assert(int(BulkGridView::dimension) > int(LowDimGridView::dimension), "The bulk grid dimension has to be greater than the low-dimensional grid dimension."); + static_assert(int(BulkGridView::dimensionworld) == int(LowDimGridView::dimensionworld), "The subproblems have to live in the same world dimension."); + + // iterative or monolithic + useIterativeSolver_ = GET_PARAM_FROM_GROUP(TypeTag, bool, MixedDimension, UseIterativeSolver); + + // read data from the input file + name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, std::string, Problem, Name); + episodeTime_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, EpisodeTime); + maxTimeStepSize_ = GET_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, MaxTimeStepSize); + + if (useIterativeSolver_) + { + maxIterations_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, int, IterativeAlgorithm, MaxIterations); + tolerance_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, IterativeAlgorithm, Tolerance); + verbose_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, bool, IterativeAlgorithm, Verbose); + } + } + + /*! + * \brief Called by the Dumux::TimeManager in order to + * initialize the problem and the sub-problems. + * + * If you overload this method don't forget to call + * ParentType::init() + */ + void init() + { + Scalar tStart = timeManager().time(); + Scalar tEnd = timeManager().endTime(); + + const bool restart = tStart > 0; + + Scalar dtBulkProblem; + Scalar dtLowDimProblem; + + // get initial time step size for the subproblems + if (useIterativeSolver_) + { + dtBulkProblem = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, DtInitialBulkProblem); + dtLowDimProblem = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, TimeManager, DtInitialLowDimProblem); + } + else + { + dtBulkProblem = timeManager().timeStepSize(); + dtLowDimProblem = timeManager().timeStepSize(); + } + + // start new episode + // episode are used to keep the subproblems in sync. At the end of each episode + // of the coupled problem the subproblem need to arrive at the same time. + // this is relevant if the time step sizes of the subproblems are different. + timeManager().startNextEpisode(episodeTime_); + bulkTimeManager().startNextEpisode(episodeTime_); + lowDimTimeManager().startNextEpisode(episodeTime_); + + // initialize the problem coupler prior to the problems + couplingManager().preInit(); + + // set the coupling manager in the sub problems + bulkProblem().setCouplingManager(couplingManager_); + lowDimProblem().setCouplingManager(couplingManager_); + + // initialize the subproblem time managers (this also initializes the subproblems) + bulkTimeManager().init(bulkProblem(), tStart, dtBulkProblem, tEnd, restart); + lowDimTimeManager().init(lowDimProblem(), tStart, dtLowDimProblem, tEnd, restart); + + // finalize the problem coupler + couplingManager().postInit(); + + if (!useIterativeSolver_) + model().init(asImp_()); + } + + /*! + * \brief This method writes the complete state of the simulation + * to the harddisk. + * + * The file will start with the prefix returned by the name() + * method, has the current time of the simulation clock in it's + * name and uses the extension <tt>.drs</tt>. (Dumux ReStart + * file.) See Dumux::Restart for details. + */ + void serialize() + {} + + /*! + * \brief Called by the time manager before the time integration. + */ + void preTimeStep() + { + if (useIterativeSolver_) + { + previousSolBulk_ = bulkProblem().model().curSol(); + previousSolLowDim_ = lowDimProblem().model().curSol(); + } + else + { + bulkProblem().preTimeStep(); + lowDimProblem().preTimeStep(); + } + } + + /*! + * \brief Called by Dumux::TimeManager in order to do a time + * integration on the model. Algorithms for the time integration are + * implemented here. + */ + void timeIntegration() + { + if (useIterativeSolver_) + asImp_().timeIntegrationIterative(); + else + asImp_().timeIntegrationMonolithic(); + } + + /*! + * \brief Time integration for the iterative solver. + */ + void timeIntegrationIterative() + { + std::cout << std::endl; + std::cout << "Start coupled time integration starting at t = " << timeManager().time() << std::endl; + + Scalar error = 1.0; + Scalar pBulkNorm = 0.0; + Scalar pLowDimNorm = 0.0; + BulkSolutionVector solBulkDiff; + LowDimSolutionVector solLowDimDiff; + int iterations = 0; + + if(verbose_) + std::cout << "Starting iterative algorithm " + << "with tolerance = " << tolerance_ + << " and max iterations = " << maxIterations_ << std::endl; + + // iterative algorithm within each time step + while(error > tolerance_) + { + if(iterations >= maxIterations_) + DUNE_THROW(Dumux::NumericalProblem, "Iterative algorithm didn't converge in " + std::to_string(maxIterations_) + " iterations!"); + + // run the bulk model + if(verbose_) std::cout << "Solving the bulk problem " << bulkProblem().name() << std::endl; + bulkTimeManager().setTime(timeManager().time(), 0); + bulkTimeManager().setEndTime(timeManager().time() + timeManager().timeStepSize()); + bulkTimeManager().setTimeStepSize(bulkTimeManager().previousTimeStepSize()); + bulkTimeManager().run(); // increases the time step index + + // run the low dimensional problem + if(verbose_) std::cout << "Solving the low-dimensional problem " << lowDimProblem().name() << std::endl; + lowDimTimeManager().setTime(timeManager().time(), 0); + lowDimTimeManager().setEndTime(timeManager().time() + timeManager().timeStepSize()); + lowDimTimeManager().setTimeStepSize(lowDimTimeManager().previousTimeStepSize()); + lowDimTimeManager().run(); // increases the time step index + + // get current solution + currentSolBulk_ = bulkProblem().model().curSol(); + currentSolLowDim_ = lowDimProblem().model().curSol(); + + // calculate discrete l2-norm of pressure + solBulkDiff = previousSolBulk_; + solBulkDiff -= currentSolBulk_; + solLowDimDiff = previousSolLowDim_; + solLowDimDiff -= currentSolLowDim_; + + pBulkNorm = solBulkDiff.infinity_norm()/currentSolBulk_.infinity_norm(); + pLowDimNorm = solLowDimDiff.infinity_norm()/currentSolLowDim_.infinity_norm(); + + // calculate the error + error = pBulkNorm + pLowDimNorm; + + // update the previous solution + previousSolBulk_ = currentSolBulk_; + previousSolLowDim_ = currentSolLowDim_; + + iterations++; + + if(verbose_) + { + std::cout << "Iteration " << iterations << " done " + << "with maximum relative shift in bulk domain = " << pBulkNorm + << " and maximum relative shift in lower-dimensional domain = " << pLowDimNorm + << " | total error = " << error << std::endl; + } + + }// end while(error > tolerance_) + + if(verbose_) + { + std::cout << "Iterative algorithm finished with " << iterations << " iterations " + << "and total error = " << error << std::endl; + } + } + + /*! + * \brief Time integration for the monolithic solver. + */ + void timeIntegrationMonolithic() + { + const int maxFails = GET_PARAM_FROM_GROUP(TypeTag, int, Implicit, MaxTimeStepDivisions); + + std::cout << std::endl; + std::cout << "Start coupled time integration starting at t = " << timeManager().time() << std::endl; + + for (int i = 0; i < maxFails; ++i) + { + if (model().update(newtonMethod(), newtonController())) + return; + + const Scalar dt = timeManager().timeStepSize(); + const Scalar nextDt = dt / 2; + timeManager().setTimeStepSize(nextDt); + bulkTimeManager().setTimeStepSize(nextDt); + lowDimTimeManager().setTimeStepSize(nextDt); + + // update failed + std::cout << "Newton solver did not converge with dt="<<dt<<" seconds. Retrying with time step of " + << nextDt << " seconds\n"; + } + + DUNE_THROW(Dune::MathError, + "Newton solver didn't converge after " + << maxFails + << " time-step divisions. dt=" + << timeManager().timeStepSize()); + } + + /*! + * \brief Called by the time manager after the time integration to + * do some post processing on the solution. + */ + void postTimeStep() + { + if (!useIterativeSolver_) + { + bulkProblem().postTimeStep(); + lowDimProblem().postTimeStep(); + } + } + + /*! + * \brief Called by Dumux::TimeManager whenever a solution for a + * timestep has been computed and the simulation time has + * been updated. + */ + Scalar nextTimeStepSize(const Scalar dt) + { + Scalar newDt = newtonCtl_.suggestTimeStepSize(dt); + bulkTimeManager().setTimeStepSize(newDt); + lowDimTimeManager().setTimeStepSize(newDt); + + return newDt; + } + + /*! + * \brief Returns true if the current solution should be written to + * disk (i.e. as a VTK file) + */ + bool shouldWriteOutput() const + { + return (timeManager().episodeWillBeFinished() || timeManager().willBeFinished()); + } + + /*! + * \brief Returns true if the current state of the simulation + * should be written to disk + */ + bool shouldWriteRestartFile() const + { + return false; + } + + /*! + * \brief Returns the user specified maximum time step size + * + * Overload in problem for custom needs. + */ + Scalar maxTimeStepSize() const + { + return maxTimeStepSize_; + } + + /*! + * \brief Called by the time manager after the end of an episode. + */ + void episodeEnd() + { + timeManager().startNextEpisode(episodeTime_); + bulkTimeManager().startNextEpisode(episodeTime_); + lowDimTimeManager().startNextEpisode(episodeTime_); + + if (!useIterativeSolver_) + { + // set the initial time step size of a an episode to the last real time step size before the episode + Scalar nextDt = std::max(timeManager().previousTimeStepSize(), timeManager().timeStepSize()); + bulkTimeManager().setTimeStepSize(nextDt); + lowDimTimeManager().setTimeStepSize(nextDt); + } + } + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + * It could be either overwritten by the problem files, or simply + * declared over the setName() function in the application file. + */ + const std::string name() const + { + return name_; + } + + /*! + * \brief Called by the time manager after everything which can be + * done about the current time step is finished and the + * model should be prepared to do the next time integration. + */ + void advanceTimeLevel() + { + model().advanceTimeLevel(); + + asImp_().bulkProblem().advanceTimeLevel(); + asImp_().lowDimProblem().advanceTimeLevel(); + + if (!useIterativeSolver_) + { + // foward current time to the subproblems for correct output + bulkTimeManager().setTime(timeManager().time() + timeManager().timeStepSize(), timeManager().timeStepIndex()+1); + lowDimTimeManager().setTime(timeManager().time() + timeManager().timeStepSize(), timeManager().timeStepIndex()+1); + } + } + + /*! + * \brief Write the relevant quantities of the current solution into + * an VTK output file. + */ + void writeOutput() + { + // write the current result to disk + if (asImp_().shouldWriteOutput() && !(timeManager().time() < 0)) + { + asImp_().bulkProblem().writeOutput(); + asImp_().lowDimProblem().writeOutput(); + } + } + + /*! + * \brief Load a previously saved state of the whole simulation + * from disk. + * + * \param tRestart The simulation time on which the program was + * written to disk. + */ + void restart(const Scalar tRestart) + { + DUNE_THROW(Dune::NotImplemented, "Restart mixeddimension simulations."); + } + + //! Returns the leafGridView of the bulk problem + const BulkGridView &bulkGridView() const + { return bulkGridView_; } + + //! Returns the leafGridView of the low dimensional problem + const LowDimGridView &lowDimGridView() const + { return lowDimGridView_; } + + //! Returns the time manager of the mixeddimension problem + const TimeManager &timeManager() const + { return timeManager_; } + + //! Returns the time manager of the mixeddimension problem + TimeManager &timeManager() + { return timeManager_; } + + //! Returns a reference to the bulk problem + BulkProblem &bulkProblem() + { return bulkProblem_; } + + //! Returns a const reference to the bulk problem + const BulkProblem &bulkProblem() const + { return bulkProblem_; } + + //! Returns a reference to the low dimensional problem + LowDimProblem &lowDimProblem() + { return lowDimProblem_; } + + //! Returns a const reference to the low dimensional problem + const LowDimProblem &lowDimProblem() const + { return lowDimProblem_; } + + //! Returns a const reference to the bulk time manager + const BulkTimeManager &bulkTimeManager() const + { return bulkTimeManager_; } + + //! Returns a reference to the bulk time manager + BulkTimeManager &bulkTimeManager() + { return bulkTimeManager_; } + + //! Returns a const reference to the low dimensional time manager + const LowDimTimeManager &lowDimTimeManager() const + { return lowDimTimeManager_; } + + //! Returns a reference to the low dimensional time manager + LowDimTimeManager &lowDimTimeManager() + { return lowDimTimeManager_; } + + //! Return reference to the coupling manager + CouplingManager &couplingManager() + { return *couplingManager_; } + + //! Return const reference to the coupling manager + const CouplingManager &couplingManager() const + { return *couplingManager_; } + + /*! + * \brief Returns numerical model used for the problem. + */ + Model &model() + { return model_; } + + /*! + * \copydoc model() + */ + const Model &model() const + { return model_; } + + /*! + * \brief Returns the newton method object + */ + NewtonMethod &newtonMethod() + { return newtonMethod_; } + + /*! + * \copydoc newtonMethod() + */ + const NewtonMethod &newtonMethod() const + { return newtonMethod_; } + + /*! + * \brief Returns the newton contoller object + */ + NewtonController &newtonController() + { return newtonCtl_; } + + /*! + * \copydoc newtonController() + */ + const NewtonController &newtonController() const + { return newtonCtl_; } + +private: + + //! Returns the implementation of the problem (i.e. static polymorphism) + Implementation &asImp_() + { return *static_cast<Implementation *>(this); } + + //! Returns the implementation of the problem (i.e. static polymorphism) + const Implementation &asImp_() const + { return *static_cast<const Implementation *>(this); } + + TimeManager &timeManager_; + + BulkGridView bulkGridView_; + LowDimGridView lowDimGridView_; + + BulkTimeManager bulkTimeManager_; + LowDimTimeManager lowDimTimeManager_; + + Scalar maxTimeStepSize_; + BulkProblem bulkProblem_; + LowDimProblem lowDimProblem_; + + BulkSolutionVector previousSolBulk_; + LowDimSolutionVector previousSolLowDim_; + + BulkSolutionVector currentSolBulk_; + LowDimSolutionVector currentSolLowDim_; + + std::shared_ptr<CouplingManager> couplingManager_; + + Model model_; + + NewtonMethod newtonMethod_; + NewtonController newtonCtl_; + + Scalar episodeTime_; + + bool useIterativeSolver_; + + // for the iterative algorithm + int maxIterations_; + Scalar tolerance_; + bool verbose_; + + std::string name_; +}; + +}//end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/properties.hh b/dumux/mixeddimension/properties.hh new file mode 100644 index 0000000000..f74480c019 --- /dev/null +++ b/dumux/mixeddimension/properties.hh @@ -0,0 +1,200 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Base properties for problems of mixed dimension + * two sub problems + */ + +#ifndef DUMUX_MIXEDDIMENSION_PROPERTIES_HH +#define DUMUX_MIXEDDIMENSION_PROPERTIES_HH + +#include <dune/common/fvector.hh> +#include <dune/common/fmatrix.hh> +#include <dune/common/indices.hh> +#include <dune/istl/bcrsmatrix.hh> +#include <dune/istl/multitypeblockvector.hh> +#include <dune/istl/multitypeblockmatrix.hh> + +#include <dumux/common/basicproperties.hh> +#include <dumux/linear/linearsolverproperties.hh> +#include <dumux/nonlinear/newtonmethod.hh> +#include <dumux/common/timemanager.hh> + +#include <dumux/mixeddimension/subproblemlocaljacobian.hh> + +namespace Dumux +{ + +// forward declarations +template <class TypeTag> class MixedDimensionModel; +// template <class TypeTag> class BulkLocalJacobian; +// template <class TypeTag> class LowDimLocalJacobian; +template <class TypeTag> class MixedDimensionNewtonController; +template <class TypeTag> class MixedDimensionAssembler; + +namespace Properties +{ +// NumericModel provides Scalar, GridCreator, ParameterTree +NEW_TYPE_TAG(MixedDimension, INHERITS_FROM(NewtonMethod, LinearSolverTypeTag, NumericModel)); + +NEW_PROP_TAG(Model); //!< The type of the base class of the model +NEW_PROP_TAG(BulkLocalJacobian); //!< The type of the bulk local jacobian operator +NEW_PROP_TAG(LowDimLocalJacobian); //!< The type of the low dim local jacobian operator + +NEW_PROP_TAG(SolutionVector); //!< Vector containing all primary variable vector of the grid + +NEW_PROP_TAG(JacobianAssembler); //!< Assembles the global jacobian matrix +NEW_PROP_TAG(JacobianMatrix); //!< Type of the global jacobian matrix + +// high level simulation control +NEW_PROP_TAG(TimeManager); //!< Manages the simulation time + +/*! + * \brief Specify which kind of method should be used to numerically + * calculate the partial derivatives of the residual. + * + * -1 means backward differences, 0 means central differences, 1 means + * forward differences. By default we use central differences. + */ +NEW_PROP_TAG(ImplicitNumericDifferenceMethod); + +//! the maximum allowed number of timestep divisions for the +//! Newton solver +NEW_PROP_TAG(ImplicitMaxTimeStepDivisions); + +// property tags that will be set in the problem at hand +NEW_PROP_TAG(BulkProblemTypeTag); +NEW_PROP_TAG(LowDimProblemTypeTag); +NEW_PROP_TAG(Problem); +NEW_PROP_TAG(CouplingManager); +NEW_PROP_TAG(MixedDimensionUseIterativeSolver); +NEW_PROP_TAG(SubProblemBlockIndices); + +// forward declarations +NEW_PROP_TAG(NumEq); + +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// +//! use the plain newton method by default +SET_TYPE_PROP(MixedDimension, NewtonMethod, NewtonMethod<TypeTag>); + +//! set default values +SET_TYPE_PROP(MixedDimension, NewtonController, MixedDimensionNewtonController<TypeTag>); + +//! Set the assembler +SET_TYPE_PROP(MixedDimension, JacobianAssembler, MixedDimensionAssembler<TypeTag>); + +//! Set the BaseModel to MixedDimensionModel +SET_TYPE_PROP(MixedDimension, Model, MixedDimensionModel<TypeTag>); + +//! The local jacobian operators +SET_TYPE_PROP(MixedDimension, BulkLocalJacobian, BulkLocalJacobian<TypeTag>); +SET_TYPE_PROP(MixedDimension, LowDimLocalJacobian, LowDimLocalJacobian<TypeTag>); + +//! use forward differences to calculate the jacobian by default +SET_INT_PROP(MixedDimension, ImplicitNumericDifferenceMethod, +1); + +//! default property value for the time manager +SET_TYPE_PROP(MixedDimension, TimeManager, TimeManager<TypeTag>); + +//! default property is monolithic solver +SET_BOOL_PROP(MixedDimension, MixedDimensionUseIterativeSolver, false); + +//! default property value for the solution vector only used for monolithic solver +SET_PROP(MixedDimension, SolutionVector) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + typedef typename GET_PROP_TYPE(BulkProblemTypeTag, SolutionVector) SolutionVectorBulk; + typedef typename GET_PROP_TYPE(LowDimProblemTypeTag, SolutionVector) SolutionVectorLowDim; +public: + typedef typename Dune::MultiTypeBlockVector<SolutionVectorBulk, SolutionVectorLowDim> type; +}; + +//! Set the type of a global jacobian matrix from the solution types +SET_PROP(MixedDimension, JacobianMatrix) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag) BulkProblemTypeTag; + typedef typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag) LowDimProblemTypeTag; + enum { + numEqBulk = GET_PROP_VALUE(BulkProblemTypeTag, NumEq), + numEqLowDim = GET_PROP_VALUE(LowDimProblemTypeTag, NumEq) + }; + +public: + // the sub-blocks + typedef typename Dune::FieldMatrix<Scalar, numEqBulk, numEqBulk> MatrixLittleBlockBulk; + typedef typename Dune::FieldMatrix<Scalar, numEqBulk, numEqLowDim> MatrixLittleBlockBulkCoupling; + typedef typename Dune::FieldMatrix<Scalar, numEqLowDim, numEqLowDim> MatrixLittleBlockLowDim; + typedef typename Dune::FieldMatrix<Scalar, numEqLowDim, numEqBulk> MatrixLittleBlockLowDimCoupling; + + // the BCRS matrices of the subproblems as big blocks + typedef typename Dune::BCRSMatrix<MatrixLittleBlockBulk> MatrixBlockBulk; + typedef typename Dune::BCRSMatrix<MatrixLittleBlockBulkCoupling> MatrixBlockBulkCoupling; + typedef typename Dune::BCRSMatrix<MatrixLittleBlockLowDim> MatrixBlockLowDim; + typedef typename Dune::BCRSMatrix<MatrixLittleBlockLowDimCoupling> MatrixBlockLowDimCoupling; + + // the row types + typedef typename Dune::MultiTypeBlockVector<MatrixBlockBulk, MatrixBlockBulkCoupling> RowBulk; + typedef typename Dune::MultiTypeBlockVector<MatrixBlockLowDimCoupling, MatrixBlockLowDim> RowLowDim; + + // the jacobian matrix + typedef typename Dune::MultiTypeBlockMatrix<RowBulk, RowLowDim> type; +}; + +//! Definition of the indices of the subproblems in the global solution vector +SET_PROP(MixedDimension, SubProblemBlockIndices) +{ + using BulkIdx = Dune::index_constant<0>; + using LowDimIdx = Dune::index_constant<1>; +}; + +//! set default solver +SET_TYPE_PROP(MixedDimension, LinearSolver, GSBiCGSTABBackend<TypeTag>); + +//! set the block level to 2, suitable for e.g. the Dune::MultiTypeBlockMatrix +SET_INT_PROP(MixedDimension, LinearSolverPreconditionerBlockLevel, 2); + +//! if the deflection of the newton method is large, we do not +//! need to solve the linear approximation accurately. Assuming +//! that the initial value for the delta vector u is quite +//! close to the final value, a reduction of 6 orders of +//! magnitude in the defect should be sufficient... +SET_SCALAR_PROP(MixedDimension, LinearSolverResidualReduction, 1e-6); + +//! set the default number of maximum iterations for the linear solver +SET_INT_PROP(MixedDimension, LinearSolverMaxIterations, 250); + +//! set number of equations of the mathematical model as default +SET_INT_PROP(MixedDimension, LinearSolverBlockSize, 1); + +//! set number of maximum timestep divisions to 10 +SET_INT_PROP(MixedDimension, ImplicitMaxTimeStepDivisions, 10); + +}//end namespace Properties + +}//end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/subproblemlocaljacobian.hh b/dumux/mixeddimension/subproblemlocaljacobian.hh new file mode 100644 index 0000000000..605be0a6a6 --- /dev/null +++ b/dumux/mixeddimension/subproblemlocaljacobian.hh @@ -0,0 +1,340 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Caculates the Jacobian of the local residual for fully-implicit models + */ +#ifndef DUMUX_SUBPROBLEM_LOCAL_JACOBIAN_HH +#define DUMUX_SUBPROBLEM_LOCAL_JACOBIAN_HH + +#include <dune/common/indices.hh> +#include <dune/istl/matrix.hh> + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/mixeddimension/properties.hh> + +namespace Dumux +{ + +namespace Properties +{ + // forward declaration of property tags + NEW_PROP_TAG(BulkProblemTypeTag); + NEW_PROP_TAG(LowDimProblemTypeTag); +} + + +template <class TypeTag, class SubProblemTypeTag> +class SubProblemLocalJacobian; + +template<class TypeTag> +using BulkLocalJacobian = SubProblemLocalJacobian<TypeTag, typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag)>; +template<class TypeTag> +using LowDimLocalJacobian = SubProblemLocalJacobian<TypeTag, typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag)>; + +/*! + * \ingroup MixedDimension + * \brief Calculates the Jacobian of the local residual for one subdomain domain + * + * The default behavior is to use numeric differentiation, i.e. + * forward or backward differences (2nd order), or central + * differences (3rd order). The method used is determined by the + * "NumericDifferenceMethod" property: + * + * - if the value of this property is smaller than 0, backward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x) - f(x - \epsilon)}{\epsilon} + * \f] + * + * - if the value of this property is 0, central + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x - \epsilon)}{2 \epsilon} + * \f] + * + * - if the value of this property is larger than 0, forward + * differences are used, i.e.: + * \f[ + \frac{\partial f(x)}{\partial x} \approx \frac{f(x + \epsilon) - f(x)}{\epsilon} + * \f] + * + * Here, \f$ f \f$ is the residual function for all equations, \f$x\f$ + * is the value of a sub-control volume's primary variable at the + * evaluation point and \f$\epsilon\f$ is a small value larger than 0. + */ +template<class TypeTag, class SubProblemTypeTag> +class SubProblemLocalJacobian : public GET_PROP_TYPE(SubProblemTypeTag, LocalJacobian) +{ + using ParentType = typename GET_PROP_TYPE(SubProblemTypeTag, LocalJacobian); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GlobalProblem = typename GET_PROP_TYPE(TypeTag, Problem); + + // types of the sub problem + using Problem = typename GET_PROP_TYPE(SubProblemTypeTag, Problem); + using FVElementGeometry = typename GET_PROP_TYPE(SubProblemTypeTag, FVElementGeometry); + using ElementSolutionVector = typename GET_PROP_TYPE(SubProblemTypeTag, ElementSolutionVector); + using PrimaryVariables = typename GET_PROP_TYPE(SubProblemTypeTag, PrimaryVariables); + using VolumeVariables = typename GET_PROP_TYPE(SubProblemTypeTag, VolumeVariables); + using ElementVolumeVariables = typename GET_PROP_TYPE(SubProblemTypeTag, ElementVolumeVariables); + using ElementFluxVariablesCache = typename GET_PROP_TYPE(SubProblemTypeTag, ElementFluxVariablesCache); + using ElementBoundaryTypes = typename GET_PROP_TYPE(SubProblemTypeTag, ElementBoundaryTypes); + using LocalResidual = typename GET_PROP_TYPE(SubProblemTypeTag, LocalResidual); + using GridView = typename GET_PROP_TYPE(SubProblemTypeTag, GridView); + using IndexType = typename GridView::IndexSet::IndexType; + using Element = typename GridView::template Codim<0>::Entity; + using SolutionVector = typename GET_PROP_TYPE(SubProblemTypeTag, SolutionVector); + +public: + + // copying a local jacobian is not a good idea + SubProblemLocalJacobian(const SubProblemLocalJacobian &) = delete; + + SubProblemLocalJacobian() + { numericDifferenceMethod_ = GET_PARAM_FROM_GROUP(TypeTag, int, Implicit, NumericDifferenceMethod); } + + /*! + * \brief Initialize the local Jacobian object. + * + * At this point we can assume that everything has been allocated, + * although some objects may not yet be completely initialized. + * + * \param problem The problem which we want to simulate. + */ + void init(GlobalProblem &globalProblem) + { + globalProblemPtr_ = &globalProblem; + ParentType::init(problem_()); + } + + /*! + * \brief Assemble an element's local Jacobian matrix of the + * defect. + * + * \param element The DUNE Codim<0> entity which we look at. + */ + template<class JacobianMatrix, class JacobianMatrixCoupling> + void assemble(const Element &element, + JacobianMatrix& matrix, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const bool isGhost = (element.partitionType() == Dune::GhostEntity); + + // prepare the volvars/fvGeometries in case caching is disabled + auto fvGeometry = localView(this->model_().globalFvGeometry()); + fvGeometry.bind(element); + + auto curElemVolVars = localView(this->model_().curGlobalVolVars()); + curElemVolVars.bind(element, fvGeometry, this->model_().curSol()); + + auto prevElemVolVars = localView(this->model_().prevGlobalVolVars()); + prevElemVolVars.bindElement(element, fvGeometry, this->model_().prevSol()); + + auto elemFluxVarsCache = localView(this->model_().globalFluxVarsCache()); + elemFluxVarsCache.bind(element, fvGeometry, curElemVolVars); + + // set the actual dof index + this->globalI_ = this->problem_().elementMapper().index(element); + + // check for boundaries on the element + ElementBoundaryTypes elemBcTypes; + elemBcTypes.update(this->problem_(), element, fvGeometry); + + // Evaluate the undeflected element local residual + this->localResidual().eval(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache); + this->residual_ = this->localResidual().residual(); + + // set the global residual + residual[this->globalI_] = this->localResidual().residual(0); + + // calculate derivatives of all dofs in stencil with respect to the dofs in the element + this->evalPartialDerivatives_(element, + fvGeometry, + prevElemVolVars, + curElemVolVars, + elemFluxVarsCache, + elemBcTypes, + matrix, + residual, + isGhost); + + // compute derivatives with respect to additional user defined DOF dependencies + const auto& additionalDofDepedencies = this->problem_().getAdditionalDofDependencies(this->globalI_); + if (!additionalDofDepedencies.empty() && !isGhost) + { + this->evalAdditionalDerivatives_(additionalDofDepedencies, + element, + fvGeometry, + curElemVolVars, + matrix, + residual); + } + + evalPartialDerivativeCoupling_(element, + fvGeometry, + curElemVolVars, + elemFluxVarsCache, + elemBcTypes, + couplingMatrix, + residual); + } + +protected: + + /*! + * \brief Returns a reference to the problem. + */ + const GlobalProblem &globalProblem_() const + { return *globalProblemPtr_; } + + GlobalProblem &globalProblem_() + { return *globalProblemPtr_; } + + //! Return this subproblem + template<class T = TypeTag> + // static_assert(std::is_same<typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag), SubProblemTypeTag>::value, "class name: " + className<typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag)>()); + decltype(auto) problem_(typename std::enable_if<std::is_same<typename GET_PROP_TYPE(T, BulkProblemTypeTag), SubProblemTypeTag>::value, void>::type* x = nullptr) + { return globalProblem_().bulkProblem(); } + + template<class T = TypeTag> + decltype(auto) problem_(typename std::enable_if<std::is_same<typename GET_PROP_TYPE(T, LowDimProblemTypeTag), SubProblemTypeTag>::value, void>::type* x = nullptr) + { return globalProblem_().lowDimProblem(); } + + //! Return the other subproblem + template<class T = TypeTag> + decltype(auto) otherProblem_(typename std::enable_if<!std::is_same<typename GET_PROP_TYPE(T, BulkProblemTypeTag), SubProblemTypeTag>::value, void>::type* x = nullptr) + { return globalProblem_().bulkProblem(); } + + template<class T = TypeTag> + decltype(auto) otherProblem_(typename std::enable_if<!std::is_same<typename GET_PROP_TYPE(T, LowDimProblemTypeTag), SubProblemTypeTag>::value, void>::type* x = nullptr) + { return globalProblem_().lowDimProblem(); } + + template<class JacobianMatrixCoupling> + void evalPartialDerivativeCoupling_(const Element& element, + const FVElementGeometry& fvGeometry, + ElementVolumeVariables& curElemVolVars, + ElementFluxVariablesCache& elemFluxVarsCache, + const ElementBoundaryTypes& elemBcTypes, + JacobianMatrixCoupling& couplingMatrix, + SolutionVector& residual) + { + const auto& couplingStencil = globalProblem_().couplingManager().couplingStencil(element); + + for (auto globalJ : couplingStencil) + { + const auto otherElement = otherProblem_().model().globalFvGeometry().element(globalJ); + const auto otherResidual = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + otherElement); + + auto& otherPriVars = otherProblem_().model().curSol()[globalJ]; + auto originalOtherPriVars = otherPriVars; + + // derivatives in the neighbors with repect to the current elements + PrimaryVariables partialDeriv; + for (int pvIdx = 0; pvIdx < partialDeriv.size(); pvIdx++) + { + const Scalar eps = this->numericEpsilon(otherPriVars[pvIdx]); + Scalar delta = 0; + + if (numericDifferenceMethod_ >= 0) + { + // we are not using backward differences, i.e. we need to + // calculate f(x + \epsilon) + + // deflect primary variables + otherPriVars[pvIdx] += eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv = globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + otherElement); + } + else + { + // we are using backward differences, i.e. we don't need + // to calculate f(x + \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv = otherResidual; + } + + + if (numericDifferenceMethod_ <= 0) + { + // we are not using forward differences, i.e. we + // need to calculate f(x - \epsilon) + + // deflect the primary variables + otherPriVars[pvIdx] -= 2*eps; + delta += eps; + + // calculate the residual with the deflected primary variables + partialDeriv -= globalProblem_().couplingManager().evalCouplingResidual(element, + fvGeometry, + curElemVolVars, + elemBcTypes, + elemFluxVarsCache, + otherElement); + } + else + { + // we are using forward differences, i.e. we don't need to + // calculate f(x - \epsilon) and we can recycle the + // (already calculated) residual f(x) + partialDeriv -= otherResidual; + } + + // divide difference in residuals by the magnitude of the + // deflections between the two function evaluation + partialDeriv /= delta; + + // restore the original state of the element solution vector + otherPriVars = originalOtherPriVars; + + // update the global jacobian matrix (coupling block) + this->updateGlobalJacobian_(couplingMatrix, this->globalI_, globalJ, pvIdx, partialDeriv); + } + } + } + + // The problem we would like to solve + GlobalProblem *globalProblemPtr_; + // The type of the numeric difference method (forward, center, backward) + int numericDifferenceMethod_; +}; + +} // end namespace Dumux + +#endif diff --git a/dumux/mixeddimension/subproblemproperties.hh b/dumux/mixeddimension/subproblemproperties.hh new file mode 100644 index 0000000000..9a9e7dde37 --- /dev/null +++ b/dumux/mixeddimension/subproblemproperties.hh @@ -0,0 +1,38 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \ingroup MixedDimension + * \brief Base class for subproblems of coupled problems + */ +#ifndef DUMUX_SUB_PROBLEM_PROPERTIES_HH +#define DUMUX_SUB_PROBLEM_PROPERTIES_HH + +#include <dumux/common/propertysystem.hh> + +namespace Dumux +{ +namespace Properties +{ + //! The type of the coupling manager + NEW_PROP_TAG(GlobalProblemTypeTag); + NEW_PROP_TAG(CouplingManager); +} +} +#endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d3206b905d..fd9350c01f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,6 +3,7 @@ add_subdirectory("freeflow") add_subdirectory("geomechanics") add_subdirectory("io") add_subdirectory("material") +add_subdirectory("mixeddimension") add_subdirectory("multidomain") add_subdirectory("porousmediumflow") add_subdirectory("discretization") diff --git a/test/mixeddimension/CMakeLists.txt b/test/mixeddimension/CMakeLists.txt new file mode 100644 index 0000000000..4137ed5f23 --- /dev/null +++ b/test/mixeddimension/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory("embedded") diff --git a/test/mixeddimension/embedded/1p_1p/1d3dtestproblem.hh b/test/mixeddimension/embedded/1p_1p/1d3dtestproblem.hh new file mode 100644 index 0000000000..752c4b21bd --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/1d3dtestproblem.hh @@ -0,0 +1,256 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief A test problem for the 1d3d coupled problem: + * a one-dimensional network is embedded in a three-dimensional matrix + * Comparison with anaytical solutiom (see D'Angelo 2007 PhD thesis) + */ +#ifndef DUMUX_1D3D_TEST_PROBLEM_HH +#define DUMUX_1D3D_TEST_PROBLEM_HH + +#include "bloodflowproblem.hh" +#include "tissueproblem.hh" + +#include <dumux/mixeddimension/problem.hh> +#include <dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh> +//#include <dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh> +#include <dumux/mixeddimension/integrationpointsource.hh> + +namespace Dumux +{ +template <class TypeTag> +class TestOneDThreeDProblem; + +namespace Properties +{ +NEW_TYPE_TAG(TestOneDThreeDProblem, INHERITS_FROM(MixedDimension)); +NEW_TYPE_TAG(TestOneDThreeDCCProblem, INHERITS_FROM(TestOneDThreeDProblem)); + +// Set the problem property +SET_TYPE_PROP(TestOneDThreeDProblem, Problem, Dumux::TestOneDThreeDProblem<TypeTag>); + +// Set the coupling manager +//SET_TYPE_PROP(TestOneDThreeDCCProblem, CouplingManager, Dumux::CCBBoxTreeEmbeddedCouplingManagerSimple<TypeTag>); +SET_TYPE_PROP(TestOneDThreeDCCProblem, CouplingManager, Dumux::CCBBoxTreeEmbeddedCouplingManager<TypeTag>); +//////////////////////////////////////////////////////////////////////////// +// Set the two sub-problems of the global problem +SET_TYPE_PROP(TestOneDThreeDCCProblem, LowDimProblemTypeTag, TTAG(BloodFlowCCProblem)); +SET_TYPE_PROP(TestOneDThreeDCCProblem, BulkProblemTypeTag, TTAG(TissueCCProblem)); +//////////////////////////////////////////////////////////////////////////// + +// publish this problem in the sub problems +SET_TYPE_PROP(BloodFlowCCProblem, GlobalProblemTypeTag, TTAG(TestOneDThreeDCCProblem)); +SET_TYPE_PROP(TissueCCProblem, GlobalProblemTypeTag, TTAG(TestOneDThreeDCCProblem)); + +// The subproblems inherit the parameter tree from this problem +SET_PROP(BloodFlowCCProblem, ParameterTree) : GET_PROP(TTAG(TestOneDThreeDCCProblem), ParameterTree) {}; +SET_PROP(TissueCCProblem, ParameterTree) : GET_PROP(TTAG(TestOneDThreeDCCProblem), ParameterTree) {}; + +// Set the point source type of the subproblems to an id'ed point source +SET_TYPE_PROP(BloodFlowCCProblem, PointSource, Dumux::IntegrationPointSource<TTAG(BloodFlowCCProblem), unsigned int>); +SET_TYPE_PROP(BloodFlowCCProblem, PointSourceHelper, Dumux::IntegrationPointSourceHelper<TTAG(BloodFlowCCProblem)>); +SET_TYPE_PROP(TissueCCProblem, PointSource, Dumux::IntegrationPointSource<TTAG(TissueCCProblem), unsigned int>); +SET_TYPE_PROP(TissueCCProblem, PointSourceHelper, Dumux::IntegrationPointSourceHelper<TTAG(TissueCCProblem)>); + +SET_TYPE_PROP(TestOneDThreeDProblem, LinearSolver, ILU0BiCGSTABBackend<TypeTag>); + +}//end namespace properties + +template <class TypeTag> +class TestOneDThreeDProblem : public MixedDimensionProblem<TypeTag> +{ + using ParentType = MixedDimensionProblem<TypeTag>; + using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + + // obtain the type tags of the sub problems + using BulkProblemTypeTag = typename GET_PROP_TYPE(TypeTag, BulkProblemTypeTag); + using LowDimProblemTypeTag = typename GET_PROP_TYPE(TypeTag, LowDimProblemTypeTag); + + // obtain types from the sub problem type tags + using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); + using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + + using BulkGridView = typename GET_PROP_TYPE(BulkProblemTypeTag, GridView); + using LowDimGridView = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridView); + + enum { bulkIsBox = GET_PROP_VALUE(BulkProblemTypeTag, ImplicitIsBox) }; + enum { lowDimIsBox = GET_PROP_VALUE(LowDimProblemTypeTag, ImplicitIsBox) }; + +public: + TestOneDThreeDProblem(TimeManager &timeManager, const BulkGridView &bulkGridView, const LowDimGridView &lowDimgridView) + : ParentType(timeManager, bulkGridView, lowDimgridView) + { + order_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, int, Problem, NormIntegrationOrder); + excludeInnerBulk_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, bool, Problem, NormExcludeInnerBulk); + } + + /*! + * \brief Called by Dumux::TimeManager in order to do a time + * integration on the model. Iterative algorithm for one time step. + */ + void timeIntegration() + { + ParentType::timeIntegration(); + + // compute the L2-norm with respect to the analytical solution + // discrete l2-norm for finite volumes + auto norm1D = this->calculateNorm(this->lowDimProblem(), this->lowDimGridView(), order_, lowDimIsBox); + auto norm3D = this->calculateNorm(this->bulkProblem(), this->bulkGridView(), order_, bulkIsBox); + // normalize the norm + norm1D.first /= this->calculateNormExactSolution(this->lowDimProblem(), this->lowDimGridView(), order_, lowDimIsBox); + norm3D.first /= this->calculateNormExactSolution(this->bulkProblem(), this->bulkGridView(), order_, bulkIsBox); + + // ouput result to terminal + std::cout << "hmax_3d: " << norm3D.second << " " + << "hmax_1d: " << norm1D.second << " " + << "L2_3d: " << norm3D.first << " " + << "L2_1d: " << norm1D.first << std::endl; + + // ... and file. + file_.open(this->name() + ".log", std::ios::app); + file_ << norm3D.second << " " << norm1D.second << " " << norm3D.first << " " << norm1D.first << "\n"; + file_.close(); + } + + //! Calculate the L2-Norm of the solution and hmax of the grid + template<class SubProblem, class GridView> + std::pair<Scalar, Scalar> calculateNorm(const SubProblem &sp, const GridView &gv, int order, bool isBox) + { + typename Dune::PQkLocalFiniteElementCache<Scalar, Scalar, GridView::dimension, 1> feCache; + + // calculate the L2-Norm and hmax + const auto& solution = sp.model().curSol(); + Scalar LTwoNorm = 0.0; + Scalar hMax = 0.0; + + // iterate over all elements + for (const auto& element : elements(gv)) + { + const unsigned int eIdx = gv.indexSet().index(element); + const auto geometry = element.geometry(); + const auto center = geometry.center(); + if (int(GridView::dimension) == 3 && excludeInnerBulk_ && + std::sqrt(center[0]*center[0] + center[1]*center[1]) < GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, SpatialParams, Radius) + 0.01) + continue; + hMax = std::max(geometryDiameter(geometry), hMax); + + typedef Dune::QuadratureRule<Scalar, GridView::dimension> Quad; + const Quad &quad = Dune::QuadratureRules<Scalar, GridView::dimension>::rule(geometry.type(), order); + for(auto&& qp : quad) + { + const auto globalPos = geometry.global(qp.position()); + const Scalar pe = sp.exactSolution(globalPos); + Scalar p(0.0); + if(!isBox) + p = solution[eIdx][0]; + else + { + // do interpolation with ansatz functions + std::vector<Dune::FieldVector<Scalar,1> > shapeValues; + const auto& localFiniteElement = feCache.get(geometry.type()); + localFiniteElement.localBasis().evaluateFunction(qp.position(), shapeValues); + for (int vIdx = 0; vIdx < shapeValues.size(); ++vIdx) + p += shapeValues[vIdx]*solution[sp.model().dofMapper().subIndex(element, vIdx, GridView::dimension)][0]; + } + + LTwoNorm += (p - pe)*(p - pe)*qp.weight()*geometry.integrationElement(qp.position()); + } + } + return std::make_pair(std::sqrt(LTwoNorm), hMax); + } + + template<class SubProblem, class GridView> + Scalar calculateNormExactSolution(const SubProblem &sp, const GridView &gv, int order, bool isBox) + { + // calculate the L2-Norm + Scalar LTwoNorm = 0.0; + + // iterate over all elements + for (const auto& element : elements(gv)) + { + const auto geometry = element.geometry(); + const auto center = geometry.center(); + if (int(GridView::dimension) == 3 && excludeInnerBulk_ && + std::sqrt(center[0]*center[0] + center[1]*center[1]) < GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, SpatialParams, Radius)) + continue; + typedef Dune::QuadratureRule<Scalar, GridView::dimension> Quad; + const Quad &quad = Dune::QuadratureRules<Scalar, GridView::dimension>::rule(geometry.type(), order); + for(auto&& qp : quad) + { + const auto globalPos = geometry.global(qp.position()); + const Scalar pe = sp.exactSolution(globalPos); + LTwoNorm += pe*pe*qp.weight()*geometry.integrationElement(qp.position()); + } + } + return std::sqrt(LTwoNorm); + } + + template<class Geometry> + Scalar geometryDiameter(const Geometry& geometry) + { + auto type = geometry.type(); + if(type.isLine()) + { + return (geometry.corner(0)-geometry.corner(1)).two_norm(); + } + else if(type.isHexahedron()) + { + return (geometry.corner(0)-geometry.corner(1)).two_norm(); + } + else if(type.isTetrahedron()) + { + const auto p0 = geometry.corner(0); + const auto p1 = geometry.corner(1); + const auto p2 = geometry.corner(2); + const auto p3 = geometry.corner(3); + + // Compute side length + const auto a = (p1-p2).two_norm(); + const auto b = (p0-p2).two_norm(); + const auto c = (p0-p1).two_norm(); + const auto aa = (p0-p3).two_norm(); + const auto bb = (p1-p3).two_norm(); + const auto cc = (p2-p3).two_norm(); + + // compute some helper variables + const auto la = a*aa; + const auto lb = b*bb; + const auto lc = c*cc; + const auto s = 0.5*(la+lb+lc); + const auto area = std::sqrt(s*(s-la)*(s-lb)*(s-lc)); + return area/(3.0*geometry.volume()); + } + else + { + DUNE_THROW(Dune::NotImplemented, "Diameter for geometry " << type << "."); + } + } + +private: + std::ofstream file_; + int order_; + bool excludeInnerBulk_; +}; + +} //end namespace Dumux + +#endif diff --git a/test/mixeddimension/embedded/1p_1p/CMakeLists.txt b/test/mixeddimension/embedded/1p_1p/CMakeLists.txt new file mode 100644 index 0000000000..6ed85ea447 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/CMakeLists.txt @@ -0,0 +1,3 @@ +dune_add_test(SOURCES test_1p_1p.cc) +dune_symlink_to_source_files(FILES "grids" "test_1p_1p.input") +set(CMAKE_BUILD_TYPE Release) diff --git a/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh new file mode 100644 index 0000000000..e352ca10da --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh @@ -0,0 +1,359 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief A test problem for the one-phase blood flow model: + * Blood is flowing through a 1d network grid. + */ +#ifndef DUMUX_BLOOD_FLOW_PROBLEM_HH +#define DUMUX_BLOOD_FLOW_PROBLEM_HH + +#include <dune/geometry/quadraturerules.hh> +#include <dune/geometry/referenceelements.hh> +#include <dune/localfunctions/lagrange/pqkfactory.hh> + +#include <dumux/implicit/cellcentered/tpfa/properties.hh> +#include <dumux/porousmediumflow/1p/implicit/model.hh> +#include <dumux/porousmediumflow/implicit/problem.hh> +#include <dumux/material/components/constant.hh> +#include <dumux/material/fluidsystems/liquidphase.hh> +#include <dumux/linear/seqsolverbackend.hh> +#include <dumux/mixeddimension/subproblemproperties.hh> +#include "bloodflowspatialparams.hh" + +namespace Dumux +{ +template <class TypeTag> +class BloodFlowProblem; + +namespace Properties +{ +NEW_TYPE_TAG(BloodFlowProblem, INHERITS_FROM(OneP)); +NEW_TYPE_TAG(BloodFlowCCProblem, INHERITS_FROM(CCTpfaModel, BloodFlowProblem)); + +// Set the grid type +SET_TYPE_PROP(BloodFlowProblem, Grid, Dune::FoamGrid<1, 3>); + +// Set the grid parameter group +SET_STRING_PROP(BloodFlowProblem, GridParameterGroup, "VesselGrid"); + +// Set the problem property +SET_TYPE_PROP(BloodFlowProblem, Problem, BloodFlowProblem<TypeTag>); + +SET_PROP(BloodFlowProblem, Fluid) +{ +private: + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); +public: + using type = FluidSystems::LiquidPhase<Scalar, Constant<TypeTag, Scalar>>; +}; + +// Set the spatial parameters +SET_TYPE_PROP(BloodFlowProblem, SpatialParams, BloodFlowSpatialParams<TypeTag>); + +// evaluate analytical permeability field at scvf center +SET_BOOL_PROP(BloodFlowProblem, EvaluatePermeabilityAtScvfCenter, true); + +// disable gravity +SET_BOOL_PROP(BloodFlowProblem, ProblemEnableGravity, false); + +} + +/*! + * \ingroup OneDStokes + * \ingroup ImplicitTestProblems + * \brief Exact solution 1D-3D + */ +template <class TypeTag> +class BloodFlowProblem : public ImplicitPorousMediaProblem<TypeTag> +{ + using ParentType = ImplicitPorousMediaProblem<TypeTag>; + using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables); + using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); + using Indices = typename GET_PROP_TYPE(TypeTag, Indices); + // copy some indices for convenience + enum { + // Grid and world dimension + dim = GridView::dimension, + dimworld = GridView::dimensionworld + }; + enum { + // indices of the primary variables + conti0EqIdx = Indices::conti0EqIdx, + pressureIdx = Indices::pressureIdx + }; + enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) }; + enum { dofCodim = isBox ? dim : 0 }; + + using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry); + using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume); + using ElementSolutionVector = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector); + using Element = typename GridView::template Codim<0>::Entity; + using GlobalPosition = Dune::FieldVector<Scalar, dimworld>; + + using GlobalProblemTypeTag = typename GET_PROP_TYPE(TypeTag, GlobalProblemTypeTag); + using CouplingManager = typename GET_PROP_TYPE(GlobalProblemTypeTag, CouplingManager); + +public: + BloodFlowProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { + //read parameters from input file + name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, std::string, Problem, Name) + "_1d"; + p_in_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, BoundaryConditions1D, PressureInput); + delta_p_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, BoundaryConditions1D, DeltaPressure); + } + + /*! + * \brief Called by the TimeManager in order to + * initialize the problem. + */ + void init() + { + ParentType::init(); + exactPressure_.resize(this->model().numDofs()); + for (const auto& element : elements(this->gridView())) + { + auto fvGeometry = localView(this->model().globalFvGeometry()); + fvGeometry.bindElement(element); + + for (auto&& scv : scvs(fvGeometry)) + exactPressure_[scv.dofIndex()] = exactSolution(scv.dofPosition()); + } + } + + /*! + * \brief Return how much the domain is extruded at a given sub-control volume. + * + * The extrusion factor here makes extrudes the 1d line to a circular tube with + * cross-section area pi*r^2. + */ + Scalar extrusionFactor(const Element &element, + const SubControlVolume &scv, + const ElementSolutionVector& elemSol) const + { + const auto eIdx = this->elementMapper().index(element); + const auto radius = this->spatialParams().radius(eIdx); + return M_PI*radius*radius; + } + + /*! + * \brief Returns true if a restart file should be written to disk. + */ + bool shouldWriteRestartFile() const + { return false; } + + /*! + * \name Problem parameters + */ + // \{ + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string& name() const + { return name_; } + + /*! + * \brief Return the temperature within the domain in [K]. + * + */ + Scalar temperature() const + { return 273.15 + 37.0; } // Body temperature + + // \} + /*! + * \name Boundary conditions + */ + // \{ + + /*! + * \brief Specifies which kind of boundary condition should be + * used for which equation on a given boundary segment. + * + * \param globalPos The global position + */ + BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const + { + BoundaryTypes values; + values.setAllDirichlet(); + return values; + } + + /*! + * \brief Evaluate the boundary conditions for a dirichlet + * control volume. + * + * \param globalPos The global position + * + * For this method, the \a values parameter stores primary variables. + */ + PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const + { + PrimaryVariables values; + if(globalPos[2] > 0.5) + values[pressureIdx] = p_in_; + else + values[pressureIdx] = p_in_-delta_p_; + return values; + } + + + // \} + + /*! + * \name Volume terms + */ + // \{ + + /*! + * \brief Applies a vector of point sources. The point sources + * are possibly solution dependent. + * + * \param pointSources A vector of PointSource s that contain + source values for all phases and space positions. + * + * For this method, the \a values method of the point source + * has to return the absolute mass rate in kg/s. Positive values mean + * that mass is created, negative ones mean that it vanishes. + */ + void addPointSources(std::vector<PointSource>& pointSources) const + { pointSources = this->couplingManager().lowDimPointSources(); } + + /*! + * \brief Evaluate the point sources (added by addPointSources) + * for all phases within a given sub-control-volume. + * + * This is the method for the case where the point source is + * solution dependent and requires some quantities that + * are specific to the fully-implicit method. + * + * \param pointSource A single point source + * \param element The finite element + * \param fvGeometry The finite-volume geometry + * \param elemVolVars All volume variables for the element + * \param scv The sub-control volume within the element + * + * For this method, the \a values() method of the point sources returns + * the absolute rate mass generated or annihilate in kg/s. Positive values mean + * that mass is created, negative ones mean that it vanishes. + */ + void pointSource(PointSource& source, + const Element &element, + const FVElementGeometry& fvGeometry, + const ElementVolumeVariables& elemVolVars, + const SubControlVolume &scv) const + { + // compute source at every integration point + const auto bulkVolVars = this->couplingManager().bulkVolVars(source.id()); + const Scalar pressure1D = this->couplingManager().lowDimPriVars(source.id())[pressureIdx]; + + // calculate the source + const Scalar radius = this->couplingManager().radius(source.id()); + const Scalar beta = 2*M_PI/(2*M_PI + std::log(radius)); + const Scalar sourceValue = beta*(bulkVolVars.pressure() - pressure1D)*bulkVolVars.density(); + + source = sourceValue*source.quadratureWeight()*source.integrationElement(); + } + + /*! + * \brief Evaluate the initial value for a control volume. + * + * For this method, the \a priVars parameter stores primary + * variables. + */ + PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const + { return PrimaryVariables(0.0); } + + // \} + + //! The exact pressure solution + Scalar exactSolution(const GlobalPosition &globalPos) const + { return 1 + globalPos[2]; } + + //! Called after every time step + //! Output the total global exchange term + void postTimeStep() + { + ParentType::postTimeStep(); + + PrimaryVariables source(0.0); + + if (!(this->timeManager().time() < 0.0)) + { + for (const auto& element : elements(this->gridView())) + { + auto fvGeometry = localView(this->model().globalFvGeometry()); + fvGeometry.bindElement(element); + + auto elemVolVars = localView(this->model().curGlobalVolVars()); + elemVolVars.bindElement(element, fvGeometry, this->model().curSol()); + + for (auto&& scv : scvs(fvGeometry)) + { + auto pointSources = this->scvPointSources(element, fvGeometry, elemVolVars, scv); + pointSources *= scv.volume()*elemVolVars[scv].extrusionFactor(); + source += pointSources; + } + } + } + + std::cout << "Global integrated source (1D): " << source << '\n'; + } + + /*! + * \brief Adds additional VTK output data to the VTKWriter. Function is called by the output module on every write. + */ + void addVtkOutputFields(VtkOutputModule<TypeTag>& outputModule) const + { + auto& p = outputModule.createScalarField("exact pressure", dofCodim); + p = exactPressure_; + } + + //! Set the coupling manager + void setCouplingManager(std::shared_ptr<CouplingManager> cm) + { couplingManager_ = cm; } + + //! Get the coupling manager + const CouplingManager& couplingManager() const + { return *couplingManager_; } + +private: + std::vector<Scalar> exactPressure_; + + static constexpr Scalar eps_ = 1.5e-7; + std::string name_; + + Scalar p_in_; + Scalar delta_p_; + + std::shared_ptr<CouplingManager> couplingManager_; +}; + +} //end namespace Dumux + +#endif diff --git a/test/mixeddimension/embedded/1p_1p/bloodflowspatialparams.hh b/test/mixeddimension/embedded/1p_1p/bloodflowspatialparams.hh new file mode 100644 index 0000000000..fa255fe545 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/bloodflowspatialparams.hh @@ -0,0 +1,98 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief The spatial parameters class blood flow problem + */ +#ifndef DUMUX_BlOOD_FLOW_SPATIALPARAMS_HH +#define DUMUX_BlOOD_FLOW_SPATIALPARAMS_HH + +#include <dumux/material/spatialparams/implicit1p.hh> + +namespace Dumux +{ + +/*! + * \ingroup OnePModel + * \ingroup ImplicitTestProblems + * + * \brief Definition of the spatial parameters for the blood flow problem + */ +template<class TypeTag> +class BloodFlowSpatialParams: public ImplicitSpatialParamsOneP<TypeTag> +{ + using ParentType = ImplicitSpatialParamsOneP<TypeTag>; + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Element = typename GridView::template Codim<0>::Entity; + using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume); + using ElementSolutionVector = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector); + enum { + // Grid and world dimension + dim = GridView::dimension, + dimworld = GridView::dimensionworld + }; + using GlobalPosition = Dune::FieldVector<Scalar, dimworld>; + +public: + // export permeability type + using PermeabilityType = Scalar; + + BloodFlowSpatialParams(const Problem& problem, const GridView& gridView) + : ParentType(problem, gridView) {} + + /*! + * \brief Return the intrinsic permeability for the current sub-control volume in [m^2]. + * + * \param ipGlobal The integration point + */ + Scalar permeabilityAtPos(const GlobalPosition& ipGlobal) const + { + return (1 + ipGlobal[2] + 0.5*ipGlobal[2]*ipGlobal[2])/(M_PI*radius(0)*radius(0)); + } + + /*! + * \brief Return the radius of the circular pipe for the current sub-control volume in [m]. + * + * \param the index of the element + */ + Scalar radius(unsigned int eIdxGlobal) const + { + return GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, SpatialParams, Radius); + } + + /*! + * \brief Returns the porosity \f$[-]\f$ + * + * \param element The element + * \param scv The sub control volume + * \param elemSol The element solution vector + * \return the porosity + */ + Scalar porosity(const Element& element, + const SubControlVolume& scv, + const ElementSolutionVector& elemSol) const + { return 1.0; } +}; + +} // end namespace Dumux + +#endif diff --git a/test/mixeddimension/embedded/1p_1p/convergencetest.py b/test/mixeddimension/embedded/1p_1p/convergencetest.py new file mode 100755 index 0000000000..2efe0fdc7b --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/convergencetest.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +from math import * +import subprocess +import sys + +if len(sys.argv) != 2: + sys.err.write('Please provide a single argument <testname> to the script') + +testname = str(sys.argv[1]) + +subprocess.call(['rm', testname + '.log']) +print("Removed old log file ({})!".format(testname + '.log')) +for i in [10, 20, 30, 40, 50, 60]: + subprocess.call(['./' + testname, '-ParameterFile', 'test_1p1dstokes.input', + '-TissueGrid.Cells', 3*(str(i)+" "), + '-VesselGrid.Cells', str(i), + '-Problem.Name', testname]) + +logfile = open(testname + '.log', "r+") + +bulkError = [] +bulkHmax = [] +lowDimError = [] +lowDimHmax = [] +for line in logfile: + line = line.strip("\n") + line = line.split() + bulkHmax.append(float(line[0])) + lowDimHmax.append(float(line[1])) + bulkError.append(float(line[2])) + lowDimError.append(float(line[3])) + +logfile.truncate(0) +for name, hmax, error in (("3D", bulkHmax, bulkError), ("1D", lowDimHmax, lowDimError)): + logfile.write("[" + name + "]\thmax\t\terror\t\trate\n") + logfile.write("-"*50 + "\n") + for i in range(len(error)-1): + if isnan(error[i]) or isinf(error[i]): + continue + if not (error[i] < 1e-12 or error[i] < 1e-12): + rate = (log(error[i])-log(error[i+1]))/(log(hmax[i])-log(hmax[i+1])) + message = "{}\t{:0.4e}\t{:0.4e}\t{:0.4e}\n".format(i, hmax[i], error[i], rate) + logfile.write(message) + else: + logfile.write("error: exact solution!?") + i = len(error)-1 + message = "{}\t{:0.4e}\t{:0.4e}\n\n\n".format(i, hmax[i], error[i]) + logfile.write(message) + +logfile.close() +print("\nComputed the following convergence rates:\n") +subprocess.call(['cat', testname + '.log']) diff --git a/test/mixeddimension/embedded/1p_1p/grids/cylinder.geo b/test/mixeddimension/embedded/1p_1p/grids/cylinder.geo new file mode 100644 index 0000000000..67b3295742 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/grids/cylinder.geo @@ -0,0 +1,41 @@ +size = 0.1; +Point(1) = {0, 0, 0, size}; +Point(2) = {1, 0, 0, size}; +Point(3) = {0, 1, 0, size}; +Point(4) = {0, -1, 0, size}; +Point(5) = {-1, 0, 0, size}; +Point(6) = {-1, 0, 1, size}; +Point(7) = {0, 0, 1, size}; +Point(8) = {0, 1, 1, size}; +Point(13) = {1, 0, 1, size}; +Point(18) = {0, -1, 1, size}; + +Circle(1) = {3, 1, 2}; +Circle(2) = {2, 1, 4}; +Circle(3) = {4, 1, 5}; +Circle(4) = {5, 1, 3}; +Circle(8) = {6, 7, 8}; +Circle(9) = {8, 7, 13}; +Circle(10) = {13, 7, 18}; +Circle(11) = {18, 7, 6}; + +Line(13) = {5, 6}; +Line(14) = {3, 8}; +Line(18) = {2, 13}; +Line(22) = {4, 18}; + +Line Loop(6) = {4, 1, 2, 3}; +Ruled Surface(6) = {6}; +Line Loop(15) = {4, 14, -8, -13}; +Ruled Surface(15) = {15}; +Line Loop(19) = {1, 18, -9, -14}; +Ruled Surface(19) = {19}; +Line Loop(23) = {2, 22, -10, -18}; +Ruled Surface(23) = {23}; +Line Loop(27) = {3, 13, -11, -22}; +Ruled Surface(27) = {27}; +Line Loop(28) = {8, 9, 10, 11}; +Ruled Surface(28) = {28}; +Surface Loop(1) = {6, 28, 15, 19, 23, 27}; + +Volume(1) = {1}; diff --git a/test/mixeddimension/embedded/1p_1p/grids/cylinder.msh b/test/mixeddimension/embedded/1p_1p/grids/cylinder.msh new file mode 100644 index 0000000000..ec41116a09 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/grids/cylinder.msh @@ -0,0 +1,18890 @@ +$MeshFormat +2.2 0 8 +$EndMeshFormat +$Nodes +2839 +1 0 0 0 +2 1 0 0 +3 0 1 0 +4 0 -1 0 +5 -1 0 0 +6 -1 0 1 +7 0 0 1 +8 0 1 1 +9 1 0 1 +10 0 -1 1 +11 0.09801714032917982 0.9951847266722343 0 +12 0.1950903220155996 0.9807852804033356 0 +13 0.2902846772537184 0.9569403357324345 0 +14 0.3826834323641164 0.9238795325116899 0 +15 0.4713967368248421 0.8819212643489727 0 +16 0.5555702330183399 0.8314696123033888 0 +17 0.6343932841623059 0.7730104533638363 0 +18 0.7071067811852056 0.7071067811878894 0 +19 0.7730104533617078 0.6343932841648996 0 +20 0.8314696123017838 0.5555702330207417 0 +21 0.8819212643478248 0.4713967368269896 0 +22 0.9238795325109631 0.382683432365871 0 +23 0.9569403357320482 0.290284677254992 0 +24 0.9807852804031679 0.1950903220164424 0 +25 0.9951847266721896 0.09801714032963502 0 +26 0.9951847266722343 -0.09801714032917982 0 +27 0.9807852804033356 -0.1950903220155996 0 +28 0.9569403357324345 -0.2902846772537184 0 +29 0.9238795325116899 -0.3826834323641164 0 +30 0.8819212643489727 -0.4713967368248421 0 +31 0.8314696123033888 -0.5555702330183399 0 +32 0.7730104533638363 -0.6343932841623059 0 +33 0.7071067811878894 -0.7071067811852056 0 +34 0.6343932841648996 -0.7730104533617078 0 +35 0.5555702330207417 -0.8314696123017838 0 +36 0.4713967368269896 -0.8819212643478248 0 +37 0.382683432365871 -0.9238795325109631 0 +38 0.290284677254992 -0.9569403357320482 0 +39 0.1950903220164424 -0.9807852804031679 0 +40 0.09801714032963502 -0.9951847266721896 0 +41 -0.09801714032917982 -0.9951847266722343 0 +42 -0.1950903220155996 -0.9807852804033356 0 +43 -0.2902846772537184 -0.9569403357324345 0 +44 -0.3826834323641164 -0.9238795325116899 0 +45 -0.4713967368248421 -0.8819212643489727 0 +46 -0.5555702330183399 -0.8314696123033888 0 +47 -0.6343932841623059 -0.7730104533638363 0 +48 -0.7071067811852056 -0.7071067811878894 0 +49 -0.7730104533617078 -0.6343932841648996 0 +50 -0.8314696123017838 -0.5555702330207417 0 +51 -0.8819212643478248 -0.4713967368269896 0 +52 -0.9238795325109631 -0.382683432365871 0 +53 -0.9569403357320482 -0.290284677254992 0 +54 -0.9807852804031679 -0.1950903220164424 0 +55 -0.9951847266721896 -0.09801714032963502 0 +56 -0.9951847266722343 0.09801714032917982 0 +57 -0.9807852804033356 0.1950903220155996 0 +58 -0.9569403357324345 0.2902846772537184 0 +59 -0.9238795325116899 0.3826834323641164 0 +60 -0.8819212643489727 0.4713967368248421 0 +61 -0.8314696123033888 0.5555702330183399 0 +62 -0.7730104533638363 0.6343932841623059 0 +63 -0.7071067811878894 0.7071067811852056 0 +64 -0.6343932841648996 0.7730104533617078 0 +65 -0.5555702330207417 0.8314696123017838 0 +66 -0.4713967368269896 0.8819212643478248 0 +67 -0.382683432365871 0.9238795325109631 0 +68 -0.290284677254992 0.9569403357320482 0 +69 -0.1950903220164424 0.9807852804031679 0 +70 -0.09801714032963502 0.9951847266721896 0 +71 -0.9951847266722343 0.09801714032917982 1 +72 -0.9807852804033356 0.1950903220155996 1 +73 -0.9569403357324345 0.2902846772537184 1 +74 -0.9238795325116899 0.3826834323641164 1 +75 -0.8819212643489727 0.4713967368248421 1 +76 -0.8314696123033888 0.5555702330183399 1 +77 -0.7730104533638363 0.6343932841623059 1 +78 -0.7071067811878894 0.7071067811852056 1 +79 -0.6343932841648996 0.7730104533617078 1 +80 -0.5555702330207417 0.8314696123017838 1 +81 -0.4713967368269896 0.8819212643478248 1 +82 -0.382683432365871 0.9238795325109631 1 +83 -0.290284677254992 0.9569403357320482 1 +84 -0.1950903220164424 0.9807852804031679 1 +85 -0.09801714032963502 0.9951847266721896 1 +86 0.09801714032917982 0.9951847266722343 1 +87 0.1950903220155996 0.9807852804033356 1 +88 0.2902846772537184 0.9569403357324345 1 +89 0.3826834323641164 0.9238795325116899 1 +90 0.4713967368248421 0.8819212643489727 1 +91 0.5555702330183399 0.8314696123033888 1 +92 0.6343932841623059 0.7730104533638363 1 +93 0.7071067811852056 0.7071067811878894 1 +94 0.7730104533617078 0.6343932841648996 1 +95 0.8314696123017838 0.5555702330207417 1 +96 0.8819212643478248 0.4713967368269896 1 +97 0.9238795325109631 0.382683432365871 1 +98 0.9569403357320482 0.290284677254992 1 +99 0.9807852804031679 0.1950903220164424 1 +100 0.9951847266721896 0.09801714032963502 1 +101 0.9951847266722343 -0.09801714032917982 1 +102 0.9807852804033356 -0.1950903220155996 1 +103 0.9569403357324345 -0.2902846772537184 1 +104 0.9238795325116899 -0.3826834323641164 1 +105 0.8819212643489727 -0.4713967368248421 1 +106 0.8314696123033888 -0.5555702330183399 1 +107 0.7730104533638363 -0.6343932841623059 1 +108 0.7071067811878894 -0.7071067811852056 1 +109 0.6343932841648996 -0.7730104533617078 1 +110 0.5555702330207417 -0.8314696123017838 1 +111 0.4713967368269896 -0.8819212643478248 1 +112 0.382683432365871 -0.9238795325109631 1 +113 0.290284677254992 -0.9569403357320482 1 +114 0.1950903220164424 -0.9807852804031679 1 +115 0.09801714032963502 -0.9951847266721896 1 +116 -0.09801714032917982 -0.9951847266722343 1 +117 -0.1950903220155996 -0.9807852804033356 1 +118 -0.2902846772537184 -0.9569403357324345 1 +119 -0.3826834323641164 -0.9238795325116899 1 +120 -0.4713967368248421 -0.8819212643489727 1 +121 -0.5555702330183399 -0.8314696123033888 1 +122 -0.6343932841623059 -0.7730104533638363 1 +123 -0.7071067811852056 -0.7071067811878894 1 +124 -0.7730104533617078 -0.6343932841648996 1 +125 -0.8314696123017838 -0.5555702330207417 1 +126 -0.8819212643478248 -0.4713967368269896 1 +127 -0.9238795325109631 -0.382683432365871 1 +128 -0.9569403357320482 -0.290284677254992 1 +129 -0.9807852804031679 -0.1950903220164424 1 +130 -0.9951847266721896 -0.09801714032963502 1 +131 -1 0 0.09999999999981467 +132 -1 0 0.1999999999995579 +133 -1 0 0.2999999999992664 +134 -1 0 0.3999999999989749 +135 -1 0 0.4999999999986943 +136 -1 0 0.5999999999989468 +137 -1 0 0.69999999999921 +138 -1 0 0.7999999999994734 +139 -1 0 0.8999999999997368 +140 0 1 0.09999999999981467 +141 0 1 0.1999999999995579 +142 0 1 0.2999999999992664 +143 0 1 0.3999999999989749 +144 0 1 0.4999999999986943 +145 0 1 0.5999999999989468 +146 0 1 0.69999999999921 +147 0 1 0.7999999999994734 +148 0 1 0.8999999999997368 +149 1 0 0.09999999999981467 +150 1 0 0.1999999999995579 +151 1 0 0.2999999999992664 +152 1 0 0.3999999999989749 +153 1 0 0.4999999999986943 +154 1 0 0.5999999999989468 +155 1 0 0.69999999999921 +156 1 0 0.7999999999994734 +157 1 0 0.8999999999997368 +158 0 -1 0.09999999999981467 +159 0 -1 0.1999999999995579 +160 0 -1 0.2999999999992664 +161 0 -1 0.3999999999989749 +162 0 -1 0.4999999999986943 +163 0 -1 0.5999999999989468 +164 0 -1 0.69999999999921 +165 0 -1 0.7999999999994734 +166 0 -1 0.8999999999997368 +167 -0.01489013110217191 0.1128433212965915 0 +168 -0.3726643429720469 0.4166466881802571 0 +169 0.2061182405504317 -0.1891162876052249 0 +170 -0.6598737186498631 -0.3996717128888204 0 +171 0.7378927286481207 0.3192420261839005 0 +172 0.01466142831193779 0.8272237684785292 0 +173 0.3370754052642337 -0.7985861994645976 0 +174 -0.9438549346419947 0.06528568960172068 0 +175 0.4481270302873285 0.4799239039177654 0 +176 -0.1015593056650897 -0.5615796140429242 0 +177 -0.5186878134191732 0.05916530219787033 0 +178 0.2812224505085883 -0.570695607754275 0 +179 0.505635729351801 -0.304481706896756 0 +180 0.5848608128902552 -0.09149928215758324 0 +181 -0.4632942574942971 -0.6396960663140423 0 +182 0.09093690424967679 0.4664248753414081 0 +183 0.3851774666564889 0.1782357420389189 0 +184 -0.6864465194284128 0.2879992377262781 0 +185 -0.829728721554193 0.4110876883961008 0 +186 0.5770162976253339 -0.5777543299184758 0 +187 0.3549966728398525 0.7320687778028323 0 +188 -0.2253362591362957 0.1401772970090848 0 +189 -0.8567447594889784 0.3142987707236813 0 +190 -0.1650313402202314 0.7057854899848173 0 +191 0.6965562164092898 0.5900334576675489 0 +192 -0.7188995641138137 -0.5469424391032756 0 +193 0.7873306395356622 -0.2146421250874112 0 +194 -0.7629264515370427 -0.1411589126952345 0 +195 0.7808778258171468 0.4870936042857612 0 +196 0.941996094958654 0.1410646020886507 0 +197 0.5164876560026652 -0.7786392345462142 0 +198 -0.05693705601237799 0.9275805071406972 0 +199 -0.4120866933600256 -0.4428579800533167 0 +200 -0.07880089378248009 -0.1962345195639227 0 +201 0.009707976051640671 -0.377985848275476 0 +202 0.2347580215044217 0.6182624948248754 0 +203 -0.1548740126727162 -0.01178461404483697 0 +204 0.2335012830489741 0.3052734333866139 0 +205 0.1715663146040294 0.1391071331580046 0 +206 0.2921596338728165 0.00712308539140849 0 +207 -0.2072012665731706 -0.3962499157726271 0 +208 -0.1115976678179918 0.2749646942775872 0 +209 -0.1695675931440572 0.4301846075144063 0 +210 -0.2854440235767216 -0.5930104702438146 0 +211 0.3807016502441228 -0.2746908090237499 0 +212 0.2198326236156283 -0.4008989023385866 0 +213 -0.5449020105391725 0.3230319188225924 0 +214 -0.5354693707669813 -0.3343077709132236 0 +215 0.1576449351081017 -0.7250929944385807 0 +216 -0.5713538978404682 -0.1653664283567751 0 +217 -0.4016455857604303 0.595880943735448 0 +218 -0.5582973104720437 0.5041810352506704 0 +219 0.2916633943109935 0.4751790276322141 0 +220 0.08926695141977206 -0.5608758927388681 0 +221 -0.0006976483081858609 -0.7056161424877193 0 +222 -0.4682933916821866 0.2719128130436115 0 +223 -0.6230304938197511 -0.4972019003056534 0 +224 0.05391789747270492 0.2508467300109738 0 +225 0.397529800351628 -0.6908871796223928 0 +226 0.4675821005683946 -0.6088880120915954 0 +227 0.4016121314414871 -0.4408917281306228 0 +228 0.05804112983470416 0.710551179026458 0 +229 -0.464673860942899 -0.03317627958983491 0 +230 0.636272502817646 0.1652686090969194 0 +231 0.5462092387155335 0.7361266815345756 0 +232 -0.2578612453108214 0.5711660198956415 0 +233 -0.3320972090189139 -0.7607243590584523 0 +234 0.4181662018848349 0.5771170907005744 0 +235 0.06879497100348433 -0.02190635644754027 0 +236 -0.09149845583727209 0.6226551862057104 0 +237 0.5059173883983249 -0.01692101301520688 0 +238 -0.1771534081527436 -0.7256058856518911 0 +239 0.5882118862343536 0.2682982982646882 0 +240 0.5659459211274125 -0.4730851303163546 0 +241 -0.6340818797510406 -0.03728002139819003 0 +242 -0.7321942292516518 0.4403268526817276 0 +243 -0.6988544283335589 0.0336554151661721 0 +244 0.1475721856064399 -0.9088812130692627 0 +245 0.5675274922466056 0.3753794074536541 0 +246 0.7057393670739563 0.4799628898320247 0 +247 -0.279210583611184 0.7469701459815805 0 +248 0.4289875031922974 0.3754294336907495 0 +249 0.5476846697730372 -0.2000958105047829 0 +250 0.6578602798042273 -0.240583897164695 0 +251 0.6723305775878805 -0.5052362849299884 0 +252 -0.6249173623216496 -0.6047286288578477 0 +253 -0.8469068112317624 0.1268528539286444 0 +254 -0.09922755125161745 0.8141985023289735 0 +255 -0.6248112406384179 0.1767049427652994 0 +256 -0.2851979659264997 0.2805015802677577 0 +257 0.894184524085083 0.2093289267781813 0 +258 -0.08532932413697283 0.180597156034421 0 +259 -0.05050990896769389 0.7147360573457365 0 +260 -0.898276342342217 -0.2233793481762484 0 +261 -0.2141304837094128 0.8282740014729689 0 +262 0.6878197731274286 0.06760246011238819 0 +263 0.2973997525880571 0.8674467273755989 0 +264 0.7445808447251113 -0.0255975979707363 0 +265 0.6373507889658276 -0.3959843131778853 0 +266 -0.8537259679161119 -0.3163890777418479 0 +267 0.6994317518810673 -0.1233212969462886 0 +268 -0.9440438192477203 -0.03628999848494067 0 +269 0.1345760192328008 0.9291038050906089 0 +270 -0.7088466587304186 -0.4547684762504491 0 +271 0.4300114298105243 -0.805792282622309 0 +272 -0.6282864266425573 -0.6918790728695118 0 +273 0.6905680756513926 -0.6119239369674063 0 +274 0.7246498230917701 -0.3323149353483554 0 +275 -0.9208701520226563 0.1498838859863945 0 +276 0.8250621395557075 -0.386121115212759 0 +277 0.7997732073363528 0.4024865457396409 0 +278 0.5508580984589524 -0.6865701796401495 0 +279 -0.8919067785018355 0.2199105907043973 0 +280 0.8586521267164036 0.1446070764948364 0 +281 0.750437930672717 0.5494393484365377 0 +282 0.9019187386052981 -0.2980229949968392 0 +283 -0.489517165870531 -0.7996353702649328 0 +284 0.8119942787150082 0.06335500116269849 0 +285 0.6321999494912832 -0.6733593701202086 0 +286 -0.8000247472708988 -0.465371417545498 0 +287 0.7826361537006341 -0.4898140255867427 0 +288 -0.2052315233354475 -0.08335160778038875 0 +289 -0.1919565641908406 -0.180520242911961 0 +290 -0.3873880221019035 -0.3511115757959653 0 +291 0.03812166187730062 -0.2035692371431176 0 +292 0.07821324383204481 -0.3014520515347556 0 +293 -0.471965607205798 -0.2949088639215298 0 +294 -0.2780588369049468 -0.3132434743303074 0 +295 -0.04446417448473222 0.3458594592405368 0 +296 -0.158506687037424 -0.2885001489673101 0 +297 0.1988962497868186 0.4637600099526067 0 +298 -0.08197016647682964 0.4368687964577961 0 +299 0.2764896627682549 0.1586516714450626 0 +300 0.1643634425737215 0.5487756437385726 0 +301 0.0009887711868924731 -0.1050285163357862 0 +302 -0.4759956827763721 -0.1977472795328587 0 +303 0.1785501348271464 -0.01151913447748107 0 +304 0.2357949522040577 -0.0882352995721746 0 +305 0.2914128383908219 -0.2402081887258993 0 +306 0.1590683629904295 0.3730262912511938 0 +307 0.193499151418948 -0.2980207750184558 0 +308 -0.09904634410703614 -0.3834985923528689 0 +309 -0.05209290583226375 -0.472367545964878 0 +310 0.3069239889230257 0.2420193591372739 0 +311 0.0558571720051072 0.3416291235146447 0 +312 -0.04729596799041022 -0.0207649684194578 0 +313 0.1189921121260211 -0.3881508820474189 0 +314 0.0689521747575573 0.5845753642124772 0 +315 0.1502816874245865 -0.4796551606873013 0 +316 -0.311189712656628 -0.4167890745557961 0 +317 0.05121882973439718 -0.4741003585644007 0 +318 0.3998128391511796 0.0182258862173772 0 +319 0.3002655675268715 -0.3335321536089929 0 +320 -0.467167832121429 0.3676149390870807 0 +321 -0.2518479984663866 -0.4966179215435935 0 +322 -0.01954666967472093 0.5282357028341735 0 +323 -0.4420561546722742 -0.5424421013009838 0 +324 0.1347613524866945 0.279758732233144 0 +325 -0.3010146528029155 0.499437425778674 0 +326 -0.3932905172194274 -0.704044398463908 0 +327 -0.1207152632938502 -0.1029832573546522 0 +328 0.3404414354353801 0.09002305329016072 0 +329 -0.4085924305662 0.3248696891044284 0 +330 -0.2675136738763451 0.4239230814511841 0 +331 0.3381677355288537 0.3390803995739855 0 +332 -0.03135430994741292 -0.2897556827047398 0 +333 -0.4684423854644831 0.4594855265543136 0 +334 -0.1416780663454387 -0.650497561298596 0 +335 -0.2329290029658952 0.3521166654026555 0 +336 0.2919601509669086 0.7762980475443713 0 +337 -0.3480645188170259 -0.5188775491211935 0 +338 0.1250774351939876 -0.1236670587836791 0 +339 -0.00499978046996577 -0.5599141029934792 0 +340 0.1281930689261892 0.0574485428802127 0 +341 -0.3738510854357225 -0.6160332211708907 0 +342 -0.2261993587752863 -0.6659094991655576 0 +343 -0.0496067415353007 -0.6431181395487076 0 +344 -0.5123231645397268 -0.4759560327440612 0 +345 0.3167058115570347 -0.4220048574037433 0 +346 -0.310371007683696 -0.6849236363680253 0 +347 0.3000969971962698 0.6841467695748745 0 +348 -0.1267423485632745 0.5301746414195229 0 +349 -0.5364806003916698 -0.5741320194152774 0 +350 0.4874619606552645 0.2213744939628277 0 +351 -0.173963059451156 0.2053413073906938 0 +352 -0.1517608384385666 -0.4816284625262366 0 +353 0.3300821826779072 0.6029785234219056 0 +354 0.1852972921635817 -0.5657488879083675 0 +355 0.3728962509741941 -0.5876793227319536 0 +356 -0.3900629087296096 0.5173545158421649 0 +357 -0.193442868509227 -0.5767656057713316 0 +358 0.3419878803943121 -0.5045479849208596 0 +359 0.03964345499374758 -0.6396249766172708 0 +360 0.2188727675700079 -0.6521456305981037 0 +361 0.2318729165784665 0.07358915109128716 0 +362 0.1021058297805448 -0.814680227389906 0 +363 0.249783898267344 -0.4917879358005596 0 +364 0.5034847299315688 -0.1006765021689996 0 +365 0.4662153121881227 0.1058958014249786 0 +366 0.07332618353488179 0.1191250094298667 0 +367 0.460832517356312 -0.237611745794315 0 +368 -0.479917895250232 -0.3811384675540024 0 +369 0.3077305949006116 -0.6735820307749127 0 +370 0.266775987343034 0.403661554251556 0 +371 -0.5078335253404545 -0.1085800469582984 0 +372 -0.201367012049343 0.2788333939787389 0 +373 0.2050343904188623 0.2198272789697197 0 +374 0.1306865074554725 -0.6461565721650109 0 +375 0.3859819990685978 -0.3606134897483774 0 +376 0.4993852676761485 0.3201165285218569 0 +377 0.4860319990196429 0.6531882455250706 0 +378 0.07706904501651238 -0.7228835044980104 0 +379 -0.4361160652578225 0.04427302365264754 0 +380 0.1450409776183777 0.6547036267625423 0 +381 -0.4868410836903728 0.5500612947763699 0 +382 -0.5757305643044726 -0.4081614681944651 0 +383 0.263771840481441 0.5400011675433607 0 +384 0.4110702747610515 0.2760245058272874 0 +385 -0.08803530681824034 0.07379012053319717 0 +386 -0.4817254415443842 0.6266685936133359 0 +387 0.323803517293315 -0.06254169478854399 0 +388 -0.5552389700183259 -0.7512480913213753 0 +389 0.382048199532339 -0.1942653002526116 0 +390 -0.1876783180126735 0.0704523036687483 0 +391 -0.4751778848396058 -0.7282117404797854 0 +392 -0.5499092797379446 -0.2564971695667416 0 +393 0.219851725292466 0.7165641113995326 0 +394 -0.01025709985129425 0.6335980648316029 0 +395 -0.5453399082494779 0.2213350026921679 0 +396 -0.2649712173238684 -0.007308662875572608 0 +397 -0.5556443425464735 -0.02299227648522159 0 +398 0.1095381188945286 0.1971049003022462 0 +399 -0.638458426110373 0.4672835956079769 0 +400 -0.346884240687709 0.6741829574741396 0 +401 -0.09139052853106094 -0.7452180316153449 0 +402 -0.2205225217227749 0.5164229450015527 0 +403 0.3552725826516125 0.5235330398028322 0 +404 -0.2535384179919559 -0.7702946536489805 0 +405 -0.3280145767961103 0.5828514106412327 0 +406 -0.5506017429376822 0.4143813270771181 0 +407 0.4585138244858044 -0.3783286933767109 0 +408 -0.3693922365705392 -0.03136873166693083 0 +409 -0.01787720021117375 0.2616733019160574 0 +410 -0.6162889521955293 0.06522506122651073 0 +411 0.2442281401814541 -0.7536003118590476 0 +412 0.4063464948286463 -0.09511288722220682 0 +413 0.3901978806057825 0.6694096544824485 0 +414 0.4655769107405767 -0.1620170550868065 0 +415 -0.3280581788905707 0.1414339049630858 0 +416 -0.5097433078936839 0.6902413533710781 0 +417 -0.2736531800614983 0.08149532696235445 0 +418 -0.5486503786802042 -0.6671297970631638 0 +419 -0.3299192792955695 0.3372239032621044 0 +420 -0.4558525340747375 0.1434082738701169 0 +421 -0.0001430320703094401 -0.8129307203378724 0 +422 0.1228448074692967 0.8568592734177389 0 +423 -0.6608430807282704 -0.1338581937882606 0 +424 -0.6375480220568117 -0.2366628276984261 0 +425 0.5252567395192239 0.5584306995877726 0 +426 -0.3857985885402326 0.8033442782404672 0 +427 0.4388826257800226 -0.3115651688221367 0 +428 -0.6410647453330565 0.3627267508193242 0 +429 -0.7496157125109288 -0.03779600491662746 0 +430 0.4269685719437261 -0.5221002644877679 0 +431 -0.5551566462594364 0.6177550872289869 0 +432 -0.4117895370221333 -0.7915426373067653 0 +433 0.6993827794551659 0.3994123302359561 0 +434 0.2556963237258529 -0.8888515505178286 0 +435 -0.3188905297627745 -0.8498142328635798 0 +436 0.6387558277118134 0.3503633375331786 0 +437 -0.6242853787726539 0.264883304686998 0 +438 -0.9264803859942226 -0.1287176948808177 0 +439 -0.1877837819603203 0.6000750655148042 0 +440 -0.2646582448657857 0.6448779789481707 0 +441 -0.152133249118561 0.9218986987885697 0 +442 -0.1644059540140628 -0.8126788887116688 0 +443 -0.2711782104860975 0.2113417508539306 0 +444 0.5863255770833402 0.06362010327612649 0 +445 0.1870563659681501 -0.8070574425014467 0 +446 -0.6922911209611479 -0.6385590572185768 0 +447 -0.1374030353756332 0.3565393869093728 0 +448 0.5901521891586549 -0.3086326577494312 0 +449 0.6182140273665455 -0.1662228358156973 0 +450 0.4693924724692355 -0.7139409480108876 0 +451 -0.5652415637379284 0.7295687888279005 0 +452 0.01981020554516885 0.1873099581572978 0 +453 0.5532382149086871 0.4597941468025001 0 +454 0.6333860539061867 0.4305455832304169 0 +455 -0.5884961619158667 -0.09257475964691164 0 +456 0.0200651639619524 0.05348660976204545 0 +457 0.481483175664595 -0.4581084009819107 0 +458 0.3556071521463915 0.4337661665395246 0 +459 0.3765635464195665 0.806863937736678 0 +460 -0.4350596127731527 0.7006073571185951 0 +461 0.5388532869391327 -0.3864492419276446 0 +462 -0.3649205668318742 0.2450053511570122 0 +463 0.6837444684437251 0.2524094462075003 0 +464 0.8572897592671798 0.3041049149239807 0 +465 0.455707508460543 0.7636911176744583 0 +466 0.6473853101215116 -0.0218761336499213 0 +467 0.6204393937082382 0.5302857844852089 0 +468 0.604706038717405 0.6532892821972947 0 +469 -0.3556647096111131 0.06208013088590247 0 +470 -0.2979660072832331 0.8722343282071957 0 +471 0.500999773378926 0.4058512661205096 0 +472 0.5047965351549493 -0.5290773716437192 0 +473 -0.6096015435690453 -0.3297708307052061 0 +474 -0.724363526056054 0.1324843044201993 0 +475 -0.1522800036552821 0.1342498878106648 0 +476 -0.2269619617449617 -0.8957097598845233 0 +477 0.7309898872604753 -0.4247363063277748 0 +478 -0.08710116339252107 -0.8332390086263972 0 +479 0.7525943858244931 -0.5604841538449994 0 +480 -0.2316541976717628 0.9192866843212151 0 +481 -0.7540127198378932 0.3400982776729103 0 +482 -0.04731981910284444 -0.9327380075711851 0 +483 0.6557530129991036 -0.3187264965268145 0 +484 0.0001724796024830111 0.4250189149856317 0 +485 0.1413853047947234 0.7593007597512331 0 +486 -0.7832727442151514 0.2334160887003146 0 +487 0.04843641505981688 0.9374508256956847 0 +488 -0.1368167665626629 -0.924135977114844 0 +489 -0.801393656822481 -0.2301204258059725 0 +490 0.3083867834800733 -0.1452090690529445 0 +491 0.1284393129705075 -0.2236424115536497 0 +492 -0.690009345595062 0.2170391717094603 0 +493 -0.4904967966076433 0.7788346059905684 0 +494 -0.3901940629776298 -0.1392267927930228 0 +495 0.9462307892661517 -0.03288038834450059 0 +496 -0.8612168712247568 0.01819684031637953 0 +497 -0.6347132090670289 0.5654415930449135 0 +498 -0.3757873431037344 -0.2612038230449293 0 +499 -0.5535867630526328 0.1334018274115283 0 +500 -0.7672059278342828 -0.3931896284192145 0 +501 0.2082911918450492 0.9074837107568923 0 +502 0.05022538082042499 -0.9358689564886321 0 +503 0.9192572979358884 -0.1002735754856719 0 +504 -0.7263884933172041 -0.3018752795664544 0 +505 0.794050110332126 0.238168529175106 0 +506 -0.847811282671954 -0.1544913865654889 0 +507 -0.850062300520715 -0.08167029746152871 0 +508 0.2144229239062995 0.8149211727830377 0 +509 0.5569168313794729 0.1643219243286201 0 +510 -0.6949443798658144 0.621123751819485 0 +511 0.740766936601075 0.1568172074017683 0 +512 -0.7203549260756636 -0.2090981075711651 0 +513 -0.2771441373982809 -0.1157961998050268 0 +514 -0.7306148554436583 0.5424321794980251 0 +515 -0.6333629286139567 0.6717401575427867 0 +516 0.8701786782657281 -0.02130556674529047 0 +517 -0.8496514132994603 -0.4065165681033898 0 +518 0.08431947107947543 0.7916518812483164 0 +519 -0.2896115579251017 -0.2111783262434401 0 +520 0.5820949408808411 -0.01668536424104822 0 +521 0.8128969600568244 -0.2934493570940539 0 +522 0.8881783120440532 -0.1696376523132233 0 +523 -0.2298578852206504 -0.2486981283679218 0 +524 0.8257959247814073 -0.1093782778331251 0 +525 -0.8047351142615391 0.4850492181537549 0 +526 0.8745470843692873 -0.2362850874305321 0 +527 0.9384132243254537 0.05632504728984392 0 +528 -0.7803546236343779 0.05476080911931544 0 +529 -0.9392659739630638 0.3431900787540593 0.4853045053070748 +530 -0.7910440875347089 0.6117591450696751 0.5065994974499256 +531 -0.5719988138472379 0.8202544464721621 0.4814977173341509 +532 -0.3321631563691106 0.9432219450113053 0.4827257257651405 +533 -0.976257028239513 0.2166153614427063 0.6475891870252556 +534 -0.9773715327029041 0.21152987274136 0.1550133699861822 +535 -0.9773717333880407 0.2115289454756884 0.8452207110393758 +536 -0.2082237520349928 0.9780812180429956 0.155013369986183 +537 -0.2082223536721352 0.9780815157394789 0.8452207110393767 +538 -0.9170851706846403 0.3986913464201653 0.730188848666249 +539 -0.9169713407336365 0.3989530802903483 0.2704348625956347 +540 -0.3995333704461671 0.9167186514410657 0.7255415625883596 +541 -0.3960002552968459 0.9182504003837041 0.2704348625956443 +542 -0.7743312367591608 0.6327804799288838 0.7186242239054739 +543 -0.7742471635225728 0.6328833461051492 0.2659954095509822 +544 -0.6205150753906394 0.7841945174591245 0.7203380202464894 +545 -0.6236087483806969 0.7817366109778026 0.279346475678474 +546 -0.8200308012207234 0.572319390768213 0.7849661320661909 +547 -0.8197181222872534 0.5727671429070101 0.211724675585628 +548 -0.6938330116902549 0.720135925981221 0.7203701015797966 +549 -0.7087300825895233 0.7054797445941645 0.2713835936847093 +550 -0.5532506283839055 0.8330148511238042 0.2365021314533479 +551 -0.563859583586875 0.8258706738934587 0.7660887336121032 +552 -0.9521096464035445 0.3057568007834298 0.2801068001767859 +553 -0.9590526003515908 0.2832280172561533 0.7104110858525614 +554 -0.3040417217066984 0.95265871720235 0.2798106581209703 +555 -0.302646566865025 0.9531028567603886 0.730951968278685 +556 -0.9783322618841703 0.2070410233663932 0.5102464682932181 +557 -0.9468003853882371 0.3218214259938049 0.1051037793552513 +558 -0.9471415746401231 0.3208158936029014 0.8952277138523819 +559 -0.2484412514299149 0.968646965920989 0.4507211129046973 +560 -0.9632467987882811 0.2686179529073379 0.4583994794810094 +561 -0.3200400970450523 0.9474039984522935 0.8956647033164949 +562 -0.3201027425132446 0.9473828340409697 0.1045226755995171 +563 -0.09599045523053115 0.9953822544654065 0.1518565625972821 +564 -0.9917010042378518 0.1285656182407896 0.193268491832901 +565 -0.09591032412551498 0.9953899787149452 0.8484107219212023 +566 -0.9954278585644667 0.09551637762059594 0.8387307346163252 +567 -0.4799930755812677 0.8772722766587552 0.5200271789959322 +568 -0.1225768780414963 0.9924590213049603 0.3344928251825433 +569 -0.99785299821021 0.06549346503961016 0.3686037582349758 +570 -0.1134139469512339 0.9935478230246108 0.6850853379155327 +571 -0.9829507090551584 0.1838692567232527 0.7403139815082466 +572 -0.9760418753891588 0.2175827600863954 0.2494023512510187 +573 -0.190335338890567 0.9817191343604409 0.7613409421317954 +574 -0.1930648274956744 0.981186002949525 0.2449781568693677 +575 -0.147211115719889 0.9891050942182561 0.07136282521062355 +576 -0.1471976091077919 0.9891071043486392 0.9287207357133048 +577 -0.9901589340385734 0.1399474377886074 0.08763524409677081 +578 -0.989368251606483 0.1454319865543031 0.9274236977940166 +579 -0.9714494031355834 0.2372468274761939 0.9286929813193815 +580 -0.2347678235345355 0.9720514744769729 0.928692981319382 +581 -0.9714494031355836 0.2372468274761939 0.07130701868036859 +582 -0.2347678235345355 0.9720514744769729 0.07130701868036907 +583 -0.4127048754811398 0.9108648010292728 0.8287512276305901 +584 -0.412815605756743 0.9108146219970852 0.1715531066908904 +585 -0.9103476658722549 0.4138443273030781 0.8288225979501729 +586 -0.9102136670476255 0.414138962571399 0.1714606702132057 +587 -0.8608623997098688 0.5088378216738276 0.8552803917457172 +588 -0.860783214044285 0.5089717658373505 0.1453605815360826 +589 -0.5285226454485201 0.8489192030152799 0.8515789592584662 +590 -0.5119929795555076 0.8589896325834634 0.1498838347523728 +591 -0.8034567472531505 0.5953631289334155 0.9054190855904765 +592 -0.8033643991244999 0.5954877347345882 0.0947383726413541 +593 -0.6241718901836503 0.7812870480844855 0.6468292058396435 +594 -0.6022867880200611 0.7982797911612682 0.3888613754502612 +595 -0.6203732305115662 0.784306735190157 0.8782290054956053 +596 -0.7767775795542315 0.6297750327711233 0.6227108425139345 +597 -0.7825327843815513 0.6226093810472636 0.3901404025448285 +598 -0.8410837335028298 0.5409049391870451 0.5835939469904714 +599 -0.4467875343044753 0.8946400947812072 0.3550393821918137 +600 -0.4577522859129598 0.8890797741156077 0.6236300628665049 +601 -0.8982453655404812 0.4394943267950649 0.3455811173650706 +602 -0.8881607685216673 0.459532859825063 0.6444441107963509 +603 -0.9354999055644357 0.3533269402252418 0.3838063280620518 +604 -0.343766908597223 0.9390550103979579 0.3762575963868008 +605 -0.9315110824488644 0.3637129407581547 0.6500608739098623 +606 -0.1594267077119825 0.9872097674091955 0.5015720744903065 +607 -0.9902279080786904 0.139458560375835 0.520404853765381 +608 -0.9406431617634041 0.3393971747492104 0.2058962262494543 +609 -0.9407980328883836 0.3389676405106363 0.794300559631808 +610 -0.337994715850797 0.9411480075189762 0.2043807860672182 +611 -0.3378019589015478 0.9412172100861083 0.7960865110542177 +612 -0.9713692711195613 0.2375747021983868 0.3443106388821362 +613 -0.2366674226153946 0.9715907219979956 0.3507670320593466 +614 -0.4794601168929118 0.8775636708006064 0.2537092784272525 +615 -0.4892241231716311 0.8721581033889146 0.7493404207156225 +616 -0.2335891576040041 0.9723353873277737 0.6601723214871175 +617 -0.9880775455805693 0.1539570197148497 0.4160350555416725 +618 -0.1680495575669629 0.9857785482559194 0.4137323719488888 +619 -0.8709174817609662 0.4914292827692883 0.2617419401432236 +620 -0.8775678210357059 0.4794525205717909 0.7517433084229413 +621 -0.9616557147811302 0.274259523496986 0.2020887668327065 +622 -0.9638125933169048 0.2665807287928786 0.7999914937630218 +623 -0.2692199368894629 0.9630787224216064 0.1989553769690583 +624 -0.2689728786855852 0.9631477511428811 0.801701458053507 +625 -0.9923710297079829 0.1232872231673583 0.3024388953859542 +626 -0.6592289674337952 0.7519422640709673 0.08855713328539629 +627 -0.6638546340676276 0.7478616348141789 0.9361130185885662 +628 -0.08256773356514305 0.9965854551286184 0.2462655089296034 +629 -0.08009532145498227 0.9967872087266285 0.7587593124244638 +630 -0.5816556859568672 0.8134351006651028 0.07963255512519031 +631 -0.5873720385379984 0.8093170505702424 0.9327662573137641 +632 -0.2709036564203072 0.9626064662872925 0.5550280167600687 +633 -0.8370470625428161 0.5471308939261637 0.4227677696172704 +634 -0.8928519438111826 0.4503503152353654 0.451532616094026 +635 -0.4030236676702685 0.9151895559377878 0.4581328622645257 +636 -0.8780377543489088 0.4785913726112548 0.5560411503580756 +637 -0.5452052368522714 0.838302600323331 0.6765540585427813 +638 -0.5355530888787133 0.8445015624570917 0.3268783278459751 +639 -0.6407169877641398 0.7677771431805241 0.8032725700360669 +640 -0.9905458034711798 0.1371824012970861 0.6327129258777549 +641 -0.8264468756654157 0.5630147082473714 0.319564657021652 +642 -0.8980665702352384 0.4398595632993736 0.08090774732524031 +643 -0.8981820869621584 0.4396236329638134 0.9193131124339943 +644 -0.4367659793335928 0.8995751660071366 0.08136404926766995 +645 -0.4369499654229247 0.8994858129603296 0.9187925777178435 +646 -0.9182965549395954 0.3958932143723487 0.5642856417400383 +647 -0.3901820204806273 0.9207377427333233 0.5455350337682113 +648 -0.9980764147957163 0.0619957275022175 0.2279130430791431 +649 -0.5082777045975883 0.8611932274518922 0.4217394740137765 +650 -0.7338743475880671 0.6792852434376802 0.09279949762658779 +651 -0.7304062529379254 0.6830129615674796 0.9196958588270968 +652 -0.9975970715691886 0.06928262983301939 0.5613627352683926 +653 -0.06783673488491912 0.9976964354953632 0.5468889514127163 +654 -0.9979903262038186 0.06336646434507676 0.1431361298346825 +655 -0.5553740206445431 0.8316006837377629 0.5854546527251471 +656 -0.9581766432947076 0.2861774279087822 0.5764151123665553 +657 -0.6799067216544399 0.7332986089234808 0.8703264754542905 +658 -0.5166865487080223 0.8561746377837832 0.05951018826482166 +659 -0.5170140758981195 0.8559768953209038 0.9406275588580146 +660 -0.1446360123998852 0.9894849285952061 0.6008706330982989 +661 -0.7002047403784886 0.7139420995791559 0.6313158256035638 +662 -0.7309960010581641 0.6823817453866806 0.3445208680272688 +663 -0.9973272103516628 0.07306459807711095 0.455597259885667 +664 -0.07119254902843161 0.9974625912598599 0.4311088151075504 +665 -0.7378153617373853 0.6750025866501037 0.8209420210564629 +666 -0.7580184601732105 0.6522330979309737 0.18913565398189 +667 -0.06834012583269218 0.9976620806671825 0.9354262915268488 +668 -0.06835891337518497 0.9976607935376453 0.06464387756154406 +669 -0.997907163028794 0.06466292582171237 0.9336104384398454 +670 -0.9981765704843149 0.06036169427850549 0.06615427478625358 +671 -0.9967540036162204 0.08050749204288717 0.728536502347487 +672 -0.6545605735833732 0.7560095604621714 0.4631460067468154 +673 -0.715975097433559 0.6981258195017612 0.5381112769416089 +674 -0.7264076351120679 0.6872641032753659 0.4335380466697727 +675 -0.6712125326907644 0.7412649566510272 0.3587102283081879 +676 -0.8664292457048364 0.4992998720081436 0.3603898399304167 +677 -0.3436601016845758 0.9390941031175453 0.6401431609581579 +678 -0.6028903872205806 0.7978240288415852 0.1681898142258756 +679 -0.8569646300728165 0.5153752252525928 0.0642013403005354 +680 -0.8570237264818297 0.515276947133479 0.9360025179540374 +681 -0.6389928972891724 0.7692126345907152 0.5577257808651549 +682 -0.06529201612343202 0.9978661997635441 0.6265689844849409 +683 -0.8323524102678153 0.5542467547233438 0.6843470941158939 +684 -0.6831295865724666 0.7302971778319639 0.1815686947471554 +685 -0.9983467643023074 0.05747815417280498 0.6445224326983582 +686 -0.9802781326930307 0.1976228290554131 0.577473709465633 +687 -0.8525628048494924 0.5226247829821757 0.5045741076085684 +688 -0.7375385805460219 0.6753049993937252 0.6732552484006923 +689 0.3381053423938106 0.9411082708406957 0.48686309530787 +690 0.5578774126813952 0.8299233653897884 0.5006686618978221 +691 0.8288849281008572 0.5594191415810121 0.500207042435953 +692 0.7731686146977866 0.6342005150157998 0.5000460094301914 +693 0.7038051791569101 0.7103930389523183 0.5090545604503189 +694 0.9434124383040732 0.3316217291631589 0.4824350679296279 +695 0.214550755462004 0.9767128407729078 0.6468308443228235 +696 0.21152987274136 0.9773715327029041 0.1550133699861822 +697 0.2115289454756884 0.9773717333880407 0.8452207110393758 +698 0.9780812180429956 0.2082237520349928 0.155013369986183 +699 0.9780815157394789 0.2082223536721352 0.8452207110393767 +700 0.3987141415220682 0.9170752604613865 0.730188848666249 +701 0.3989758725627935 0.9169614240047165 0.2704348625956347 +702 0.9156662291153456 0.4019394940257591 0.7266515428182212 +703 0.9151803365955496 0.4030446023814936 0.2773766258591942 +704 0.6422894623907452 0.7664621624723605 0.7437915935065398 +705 0.6422895492414902 0.7664620896920886 0.2562224700968316 +706 0.5765912652789796 0.817032748917683 0.7894097116192326 +707 0.576607552772475 0.8170212543659667 0.2106882331486446 +708 0.7051857567767542 0.709022600795769 0.7911003150658646 +709 0.7051857326013364 0.7090226248403619 0.2089026989132541 +710 0.3057838391552551 0.9521009629821162 0.2801229499435473 +711 0.2832586916997101 0.9590435410222879 0.7103914861025569 +712 0.9526593770533667 0.3040396541773649 0.2798106581209703 +713 0.9528630939798993 0.303400600083543 0.7217747973061267 +714 0.2041034648630271 0.9789493222996313 0.5094787801197229 +715 0.3218296432111831 0.9467975922817733 0.1051037793552513 +716 0.3208241117795892 0.9471387909387079 0.8952277138523819 +717 0.9686554801791342 0.2484080528463825 0.450623328048122 +718 0.264392651299446 0.9644151211687059 0.4580271780099038 +719 0.9474052240010381 0.3200364690711713 0.8956647033164949 +720 0.9473840598296077 0.3200991146204094 0.1045226755995171 +721 0.9953822587169444 0.09599041114378976 0.1518565625972821 +722 0.1285658529987508 0.9917009738034464 0.1932685639300739 +723 0.9953899829629337 0.09591028003843169 0.8484107219212023 +724 0.09551805258918585 0.9954276978412691 0.8387297321767953 +725 0.8825695805397716 0.4701818111176268 0.5010284637957932 +726 0.9924586226138771 0.1225801060505563 0.3344952694480511 +727 0.06549422878991448 0.997852948081637 0.3686042196568833 +728 0.9935527948484828 0.1133703834727953 0.6851014280042834 +729 0.1836501852447154 0.9829916629654505 0.7402212808152396 +730 0.2175917427264787 0.976039872903384 0.2494077945875833 +731 0.9817185258431241 0.1903384774983847 0.7613382933461124 +732 0.9811855411131207 0.193067174606541 0.2449803018370584 +733 0.4703682308669898 0.8824702416461747 0.5010284637957796 +734 0.9891050953049507 0.1472111084184361 0.07136282521062358 +735 0.9891071054352339 0.1471976018063241 0.9287207357133048 +736 0.1399474712733105 0.9901589293058999 0.08763525439636698 +737 0.1454319985037227 0.9893682498499805 0.9274236977940166 +738 0.2372468274761939 0.9714494031355834 0.9286929813193815 +739 0.9720514744769729 0.2347678235345355 0.928692981319382 +740 0.2372468274761939 0.9714494031355836 0.07130701868036859 +741 0.9720514744769729 0.2347678235345355 0.07130701868036907 +742 0.9107150276292214 0.4130352750677674 0.8284643483065787 +743 0.9106648084316474 0.4131459871330603 0.1718399860149018 +744 0.4141389257000954 0.9102136838237331 0.8285146806861833 +745 0.414433517906914 0.9100795895059397 0.1717685874771955 +746 0.5121826756995009 0.858876537526378 0.8635028892787803 +747 0.5122415817462456 0.8588414067393959 0.1366292421419629 +748 0.863382047225182 0.5045507313732223 0.8701189833055687 +749 0.863330258699225 0.5046393409300638 0.1300844628116332 +750 0.6079342330637956 0.7939873854597028 0.8673114275268556 +751 0.6079461041528296 0.7939782959536092 0.1327275432764892 +752 0.7518436864041959 0.6593413920073191 0.6397587303385693 +753 0.7595008632666285 0.6505062941257724 0.3589430136488505 +754 0.7559695442353253 0.6546067889875834 0.8504068554959977 +755 0.7559593471439295 0.6546185648648563 0.1496364099835539 +756 0.6878900256483247 0.7258149300018202 0.8641667207247912 +757 0.6878906583670203 0.7258143303430895 0.1358468490393105 +758 0.7088605072100402 0.7053486948438514 0.3863042485762619 +759 0.628498149982987 0.7778110795482172 0.6369819110393535 +760 0.6357868174084842 0.7718647049901886 0.367703034344145 +761 0.8988853619558075 0.4381838724343663 0.389712874777665 +762 0.9014677528795971 0.4328462666099934 0.6155205300844736 +763 0.4542944621247975 0.8908515822979384 0.3747600196518778 +764 0.4535157552401815 0.8912482593244869 0.6319675611756562 +765 0.348823531782111 0.9371884248511901 0.3830801192165508 +766 0.9392650317621979 0.3431926574225581 0.3753723003803118 +767 0.3630728032082929 0.9317607737882467 0.6474484254462448 +768 0.9407688723551328 0.3390485640843384 0.6462536070988469 +769 0.9871720353390406 0.1596601786438167 0.5016783465833288 +770 0.1382003190968983 0.9904042971441085 0.5200694441078569 +771 0.3394091991259667 0.94063882311367 0.2058962262494543 +772 0.3389796668671718 0.9407936997294472 0.794300559631808 +773 0.9411500637078871 0.3379889903275545 0.2043807860672182 +774 0.9412192651023721 0.3377962329573119 0.7960865110542177 +775 0.2360927673670301 0.9717305208734452 0.344131537198179 +776 0.9715865991953082 0.2366843473153553 0.350779602567673 +777 0.8711474380695429 0.4910215281888076 0.2320050762715046 +778 0.8713902801358597 0.4905904398627717 0.7691427659277738 +779 0.9746161867744557 0.2238823094333697 0.6679523812751348 +780 0.4958309159444523 0.8684190824674948 0.2617330872502885 +781 0.4949659372144667 0.8689123782047328 0.7390555056582565 +782 0.1531265427889614 0.9882065886713671 0.4159542361942153 +783 0.985770948837291 0.1680941296667648 0.4137371267499861 +784 0.2742627788670027 0.9616547863595073 0.2020887668327065 +785 0.2665839751672952 0.9638116953969809 0.799991493763022 +786 0.9630791835323875 0.2692182873554287 0.1989553769690583 +787 0.9631482118305077 0.2689712290333209 0.8017014580535069 +788 0.1229533128716197 0.9924124560150852 0.3024026382457511 +789 0.7364213903365932 0.6765231229268659 0.06873818537969169 +790 0.7364224481514815 0.6765219714529446 0.9312704312360501 +791 0.9965853626461465 0.08256884981304313 0.2462664267762432 +792 0.9967870828273435 0.08009688825762504 0.7587580912893692 +793 0.8077149146747965 0.5895732495728468 0.08025923815508461 +794 0.80772799670595 0.589555326782307 0.9197964338833367 +795 0.7610005977031652 0.6487511774905886 0.2499458384173447 +796 0.7609977955730836 0.6487544644416001 0.7501534395836589 +797 0.6697506479845857 0.7425860687652492 0.4500525850211241 +798 0.6928610895577502 0.7210710856613565 0.594625192253311 +799 0.745271562315587 0.6667610504548718 0.5640344451007628 +800 0.7416378109756854 0.6708005346831452 0.4377342247379005 +801 0.6308114572680596 0.7759361477462865 0.5293712500969264 +802 0.6096825654166106 0.7926456771010743 0.4511841109784971 +803 0.7979249960194321 0.6027567508766611 0.5766877330314233 +804 0.7978672972136939 0.6028331245352357 0.4236635609489023 +805 0.9651748411129382 0.2616056690567208 0.5563653459193444 +806 0.6452498418516237 0.7639716235505443 0.8111559536886566 +807 0.6452553175777475 0.7639669987228771 0.188877558894906 +808 0.404076108578049 0.9147253677888357 0.4607559303594634 +809 0.5488394688405127 0.8359277704699515 0.4081250235324678 +810 0.9152447706418716 0.4028982623600005 0.4566198579151338 +811 0.571360312478101 0.8206993318657736 0.3083908920664721 +812 0.5697678248005942 0.8218057105070513 0.6896042134173657 +813 0.8219431007112379 0.5695696087338191 0.3122918242932954 +814 0.5466568250595858 0.8373567433392852 0.5946703801427451 +815 0.8211673056272303 0.5706875293616593 0.6881524363061742 +816 0.1362033612785504 0.9906808993699356 0.632395075189614 +817 0.6986365656171925 0.7154767286101025 0.6927351969645495 +818 0.6916770744583267 0.7222069126426098 0.3094264056775545 +819 0.4347116758777763 0.9005696857298358 0.07943761641792425 +820 0.4344928990469912 0.9006752581689703 0.9206881695858703 +821 0.9004833121806654 0.4348905661015633 0.07956007053366478 +822 0.9005002323121296 0.4348555295794234 0.9205460758603929 +823 0.3845387214456464 0.9231088623282453 0.5549532633728871 +824 0.9263676444988843 0.3766204816862578 0.5445483494034266 +825 0.8541660678773146 0.5200003158527952 0.4050524416214326 +826 0.06192861001241663 0.9980805815473666 0.2279058060705371 +827 0.06877962922699229 0.9976318772991356 0.5612154380101058 +828 0.9976980878343419 0.06781242903552351 0.5468989232494289 +829 0.8546579018219774 0.5191915550673522 0.5965983418290685 +830 0.0633553240804339 0.9979910334820965 0.1431349373993763 +831 0.6610759710154466 0.7503189725350039 0.0666573911291488 +832 0.6610741169732972 0.750320606053156 0.9333530190466863 +833 0.2825977874114191 0.9592384951356834 0.5748019905614467 +834 0.8576536770996944 0.5142277415283748 0.0573902217991977 +835 0.8576629850772776 0.5142122169185926 0.9426648276412184 +836 0.5121632231684254 0.8588881375556012 0.05573972552785768 +837 0.582050614846911 0.8131525574923397 0.06529231701257641 +838 0.5799032712327417 0.8146853355827421 0.9335085115917 +839 0.5116863082843304 0.8591723470377484 0.94353991409127 +840 0.9894268335915154 0.1450328961617584 0.6010663410969236 +841 0.07292722615963204 0.9973372647628591 0.4555825714750588 +842 0.9974623650720889 0.07119571802289322 0.4311090871027557 +843 0.9976620813734524 0.06834011552222477 0.9354262915268488 +844 0.9976607942441091 0.06835890306473064 0.06464387756154406 +845 0.06466294269528391 0.997907161935411 0.9336104384398454 +846 0.06035947256158727 0.9981767048334113 0.06615403835911161 +847 0.08020212936273061 0.9967786205801584 0.7284319375784661 +848 0.5183131521147537 0.8551909005274017 0.3382522556252766 +849 0.5169404207780519 0.8560213790354834 0.6638244150985059 +850 0.8166336690143664 0.5771563485158373 0.1936052800509082 +851 0.8167230442147786 0.5770298684197769 0.8066831678712415 +852 0.9978618503450922 0.06535845489199768 0.6266133384697585 +853 0.0571189705257036 0.9983673788771763 0.6444084901552684 +854 0.1954444258996562 0.9807147783044537 0.5767152268602928 +855 0.8742523119958985 0.4854718271638698 0.3232877685646184 +856 0.8749521618662024 0.4842093704645323 0.6792131233931421 +857 0.9392659739630638 -0.3431900787540593 0.4853045053070748 +858 0.7910440875347089 -0.6117591450696751 0.5065994974499256 +859 0.5719988138472379 -0.8202544464721621 0.4814977173341509 +860 0.3321631563691106 -0.9432219450113053 0.4827257257651405 +861 0.976257028239513 -0.2166153614427063 0.6475891870252556 +862 0.9773715327029041 -0.21152987274136 0.1550133699861822 +863 0.9773717333880407 -0.2115289454756884 0.8452207110393758 +864 0.2082237520349928 -0.9780812180429956 0.155013369986183 +865 0.2082223536721352 -0.9780815157394789 0.8452207110393767 +866 0.9170851706846403 -0.3986913464201653 0.730188848666249 +867 0.9169713407336365 -0.3989530802903483 0.2704348625956347 +868 0.3995333704461671 -0.9167186514410657 0.7255415625883596 +869 0.3960002552968459 -0.9182504003837041 0.2704348625956443 +870 0.7743312367591608 -0.6327804799288838 0.7186242239054739 +871 0.7742471635225728 -0.6328833461051492 0.2659954095509822 +872 0.6205150753906394 -0.7841945174591245 0.7203380202464894 +873 0.6236087483806969 -0.7817366109778026 0.279346475678474 +874 0.8200308012207234 -0.572319390768213 0.7849661320661909 +875 0.8197181222872534 -0.5727671429070101 0.211724675585628 +876 0.6938330116902549 -0.720135925981221 0.7203701015797966 +877 0.7087300825895233 -0.7054797445941645 0.2713835936847093 +878 0.563859583586875 -0.8258706738934587 0.7660887336121032 +879 0.5532506283839055 -0.8330148511238042 0.2365021314533479 +880 0.9521096464035445 -0.3057568007834298 0.2801068001767859 +881 0.9590526003515908 -0.2832280172561533 0.7104110858525614 +882 0.3040417217066984 -0.95265871720235 0.2798106581209703 +883 0.302646566865025 -0.9531028567603886 0.730951968278685 +884 0.9783322618841703 -0.2070410233663932 0.5102464682932181 +885 0.9468003853882371 -0.3218214259938049 0.1051037793552513 +886 0.9471415746401231 -0.3208158936029014 0.8952277138523819 +887 0.2484412514299149 -0.968646965920989 0.4507211129046973 +888 0.9632467987882811 -0.2686179529073379 0.4583994794810094 +889 0.3200400970450523 -0.9474039984522935 0.8956647033164949 +890 0.3201027425132446 -0.9473828340409697 0.1045226755995171 +891 0.09599045523053115 -0.9953822544654065 0.1518565625972821 +892 0.9917010042378518 -0.1285656182407896 0.193268491832901 +893 0.09591032412551498 -0.9953899787149452 0.8484107219212023 +894 0.9954278585644667 -0.09551637762059594 0.8387307346163252 +895 0.4799930755812677 -0.8772722766587552 0.5200271789959322 +896 0.1225768780414963 -0.9924590213049603 0.3344928251825433 +897 0.99785299821021 -0.06549346503961016 0.3686037582349758 +898 0.1134139469512339 -0.9935478230246108 0.6850853379155327 +899 0.9829507090551584 -0.1838692567232527 0.7403139815082466 +900 0.9760418753891588 -0.2175827600863954 0.2494023512510187 +901 0.190335338890567 -0.9817191343604409 0.7613409421317954 +902 0.1930648274956744 -0.981186002949525 0.2449781568693677 +903 0.147211115719889 -0.9891050942182561 0.07136282521062355 +904 0.1471976091077919 -0.9891071043486392 0.9287207357133048 +905 0.9901589340385734 -0.1399474377886074 0.08763524409677081 +906 0.989368251606483 -0.1454319865543031 0.9274236977940166 +907 0.9714494031355834 -0.2372468274761939 0.9286929813193815 +908 0.2347678235345355 -0.9720514744769729 0.928692981319382 +909 0.9714494031355836 -0.2372468274761939 0.07130701868036859 +910 0.2347678235345355 -0.9720514744769729 0.07130701868036907 +911 0.4127048754811398 -0.9108648010292728 0.8287512276305901 +912 0.412815605756743 -0.9108146219970852 0.1715531066908904 +913 0.9103476658722549 -0.4138443273030781 0.8288225979501729 +914 0.9102136670476255 -0.414138962571399 0.1714606702132057 +915 0.8608623997098688 -0.5088378216738276 0.8552803917457172 +916 0.860783214044285 -0.5089717658373505 0.1453605815360826 +917 0.5285226454485201 -0.8489192030152799 0.8515789592584662 +918 0.5119929795555076 -0.8589896325834634 0.1498838347523728 +919 0.8034567472531505 -0.5953631289334155 0.9054190855904765 +920 0.8033643991244999 -0.5954877347345882 0.0947383726413541 +921 0.6241718901836503 -0.7812870480844855 0.6468292058396435 +922 0.6022867880200611 -0.7982797911612682 0.3888613754502612 +923 0.6203732305115662 -0.784306735190157 0.8782290054956053 +924 0.7767775795542315 -0.6297750327711233 0.6227108425139345 +925 0.7825327843815513 -0.6226093810472636 0.3901404025448285 +926 0.8410837335028298 -0.5409049391870451 0.5835939469904714 +927 0.4467875343044753 -0.8946400947812072 0.3550393821918137 +928 0.4577522859129598 -0.8890797741156077 0.6236300628665049 +929 0.8982453655404812 -0.4394943267950649 0.3455811173650706 +930 0.8881607685216673 -0.459532859825063 0.6444441107963509 +931 0.9354999055644357 -0.3533269402252418 0.3838063280620518 +932 0.343766908597223 -0.9390550103979579 0.3762575963868008 +933 0.9315110824488644 -0.3637129407581547 0.6500608739098623 +934 0.1594267077119825 -0.9872097674091955 0.5015720744903065 +935 0.9902279080786904 -0.139458560375835 0.520404853765381 +936 0.9406431617634041 -0.3393971747492104 0.2058962262494543 +937 0.9407980328883836 -0.3389676405106363 0.794300559631808 +938 0.337994715850797 -0.9411480075189762 0.2043807860672182 +939 0.3378019589015478 -0.9412172100861083 0.7960865110542177 +940 0.9713692711195613 -0.2375747021983868 0.3443106388821362 +941 0.2366674226153946 -0.9715907219979956 0.3507670320593466 +942 0.4794601168929118 -0.8775636708006064 0.2537092784272525 +943 0.4892241231716311 -0.8721581033889146 0.7493404207156225 +944 0.2335891576040041 -0.9723353873277737 0.6601723214871175 +945 0.9880775455805693 -0.1539570197148497 0.4160350555416725 +946 0.1680495575669629 -0.9857785482559194 0.4137323719488888 +947 0.8709174817609662 -0.4914292827692883 0.2617419401432236 +948 0.8775678210357059 -0.4794525205717909 0.7517433084229413 +949 0.9616557147811302 -0.274259523496986 0.2020887668327065 +950 0.9638125933169048 -0.2665807287928786 0.7999914937630218 +951 0.2692199368894629 -0.9630787224216064 0.1989553769690583 +952 0.2689728786855852 -0.9631477511428811 0.801701458053507 +953 0.9923710297079829 -0.1232872231673583 0.3024388953859542 +954 0.6592289674337952 -0.7519422640709673 0.08855713328539629 +955 0.6638546340676276 -0.7478616348141789 0.9361130185885662 +956 0.08256773356514305 -0.9965854551286184 0.2462655089296034 +957 0.08009532145498227 -0.9967872087266285 0.7587593124244638 +958 0.5816556859568672 -0.8134351006651028 0.07963255512519031 +959 0.5873720385379984 -0.8093170505702424 0.9327662573137641 +960 0.2709036564203072 -0.9626064662872925 0.5550280167600687 +961 0.8370470625428161 -0.5471308939261637 0.4227677696172704 +962 0.8928519438111826 -0.4503503152353654 0.451532616094026 +963 0.4030236676702685 -0.9151895559377878 0.4581328622645257 +964 0.8780377543489088 -0.4785913726112548 0.5560411503580756 +965 0.5452052368522714 -0.838302600323331 0.6765540585427813 +966 0.5355530888787133 -0.8445015624570917 0.3268783278459751 +967 0.6407169877641398 -0.7677771431805241 0.8032725700360669 +968 0.9905458034711798 -0.1371824012970861 0.6327129258777549 +969 0.8264468756654157 -0.5630147082473714 0.319564657021652 +970 0.8980665702352384 -0.4398595632993736 0.08090774732524031 +971 0.8981820869621584 -0.4396236329638134 0.9193131124339943 +972 0.4367659793335928 -0.8995751660071366 0.08136404926766995 +973 0.4369499654229247 -0.8994858129603296 0.9187925777178435 +974 0.9182965549395954 -0.3958932143723487 0.5642856417400383 +975 0.3901820204806273 -0.9207377427333233 0.5455350337682113 +976 0.9980764147957163 -0.0619957275022175 0.2279130430791431 +977 0.5082777045975883 -0.8611932274518922 0.4217394740137765 +978 0.7338743475880671 -0.6792852434376802 0.09279949762658779 +979 0.7304062529379254 -0.6830129615674796 0.9196958588270968 +980 0.9975970715691886 -0.06928262983301939 0.5613627352683926 +981 0.06783673488491912 -0.9976964354953632 0.5468889514127163 +982 0.9979903262038186 -0.06336646434507676 0.1431361298346825 +983 0.5553740206445431 -0.8316006837377629 0.5854546527251471 +984 0.9581766432947076 -0.2861774279087822 0.5764151123665553 +985 0.6799067216544399 -0.7332986089234808 0.8703264754542905 +986 0.5166865487080223 -0.8561746377837832 0.05951018826482166 +987 0.5170140758981195 -0.8559768953209038 0.9406275588580146 +988 0.1446360123998852 -0.9894849285952061 0.6008706330982989 +989 0.7002047403784886 -0.7139420995791559 0.6313158256035638 +990 0.7309960010581641 -0.6823817453866806 0.3445208680272688 +991 0.9973272103516628 -0.07306459807711095 0.455597259885667 +992 0.07119254902843161 -0.9974625912598599 0.4311088151075504 +993 0.7378153617373853 -0.6750025866501037 0.8209420210564629 +994 0.7580184601732105 -0.6522330979309737 0.18913565398189 +995 0.06834012583269218 -0.9976620806671825 0.9354262915268488 +996 0.06835891337518497 -0.9976607935376453 0.06464387756154406 +997 0.997907163028794 -0.06466292582171237 0.9336104384398454 +998 0.9981765704843149 -0.06036169427850549 0.06615427478625358 +999 0.9967540036162204 -0.08050749204288717 0.728536502347487 +1000 0.6545605735833732 -0.7560095604621714 0.4631460067468154 +1001 0.715975097433559 -0.6981258195017612 0.5381112769416089 +1002 0.7264076351120679 -0.6872641032753659 0.4335380466697727 +1003 0.6712125326907644 -0.7412649566510272 0.3587102283081879 +1004 0.8664292457048364 -0.4992998720081436 0.3603898399304167 +1005 0.3436601016845758 -0.9390941031175453 0.6401431609581579 +1006 0.6028903872205806 -0.7978240288415852 0.1681898142258756 +1007 0.8569646300728165 -0.5153752252525928 0.0642013403005354 +1008 0.8570237264818297 -0.515276947133479 0.9360025179540374 +1009 0.6389928972891724 -0.7692126345907152 0.5577257808651549 +1010 0.06529201612343202 -0.9978661997635441 0.6265689844849409 +1011 0.8323524102678153 -0.5542467547233438 0.6843470941158939 +1012 0.6831295865724666 -0.7302971778319639 0.1815686947471554 +1013 0.9983467643023074 -0.05747815417280498 0.6445224326983582 +1014 0.9802781326930307 -0.1976228290554131 0.577473709465633 +1015 0.8525628048494924 -0.5226247829821757 0.5045741076085684 +1016 0.7375385805460219 -0.6753049993937252 0.6732552484006923 +1017 -0.3431900787540593 -0.9392659739630638 0.4853045053070748 +1018 -0.6117591450696751 -0.7910440875347089 0.5065994974499256 +1019 -0.8202544464721621 -0.5719988138472379 0.4814977173341509 +1020 -0.9432219450113053 -0.3321631563691106 0.4827257257651405 +1021 -0.2166153614427063 -0.976257028239513 0.6475891870252556 +1022 -0.21152987274136 -0.9773715327029041 0.1550133699861822 +1023 -0.2115289454756884 -0.9773717333880407 0.8452207110393758 +1024 -0.9780812180429956 -0.2082237520349928 0.155013369986183 +1025 -0.9780815157394789 -0.2082223536721352 0.8452207110393767 +1026 -0.3986913464201653 -0.9170851706846403 0.730188848666249 +1027 -0.3989530802903483 -0.9169713407336365 0.2704348625956347 +1028 -0.9167186514410657 -0.3995333704461671 0.7255415625883596 +1029 -0.9182504003837041 -0.3960002552968459 0.2704348625956443 +1030 -0.6327804799288838 -0.7743312367591608 0.7186242239054739 +1031 -0.6328833461051492 -0.7742471635225728 0.2659954095509822 +1032 -0.7841945174591245 -0.6205150753906394 0.7203380202464894 +1033 -0.7817366109778026 -0.6236087483806969 0.279346475678474 +1034 -0.572319390768213 -0.8200308012207234 0.7849661320661909 +1035 -0.5727671429070101 -0.8197181222872534 0.211724675585628 +1036 -0.720135925981221 -0.6938330116902549 0.7203701015797966 +1037 -0.7054797445941645 -0.7087300825895233 0.2713835936847093 +1038 -0.8330148511238042 -0.5532506283839055 0.2365021314533479 +1039 -0.8258706738934587 -0.563859583586875 0.7660887336121032 +1040 -0.3057568007834298 -0.9521096464035445 0.2801068001767859 +1041 -0.2832280172561533 -0.9590526003515908 0.7104110858525614 +1042 -0.95265871720235 -0.3040417217066984 0.2798106581209703 +1043 -0.9531028567603886 -0.302646566865025 0.730951968278685 +1044 -0.2070410233663932 -0.9783322618841703 0.5102464682932181 +1045 -0.3218214259938049 -0.9468003853882371 0.1051037793552513 +1046 -0.3208158936029014 -0.9471415746401231 0.8952277138523819 +1047 -0.968646965920989 -0.2484412514299149 0.4507211129046973 +1048 -0.2686179529073379 -0.9632467987882811 0.4583994794810094 +1049 -0.9474039984522935 -0.3200400970450523 0.8956647033164949 +1050 -0.9473828340409697 -0.3201027425132446 0.1045226755995171 +1051 -0.9953822544654065 -0.09599045523053115 0.1518565625972821 +1052 -0.1285656182407896 -0.9917010042378518 0.193268491832901 +1053 -0.9953899787149452 -0.09591032412551498 0.8484107219212023 +1054 -0.09551637762059594 -0.9954278585644667 0.8387307346163252 +1055 -0.8772722766587552 -0.4799930755812677 0.5200271789959322 +1056 -0.9924590213049603 -0.1225768780414963 0.3344928251825433 +1057 -0.06549346503961016 -0.99785299821021 0.3686037582349758 +1058 -0.9935478230246108 -0.1134139469512339 0.6850853379155327 +1059 -0.1838692567232527 -0.9829507090551584 0.7403139815082466 +1060 -0.2175827600863954 -0.9760418753891588 0.2494023512510187 +1061 -0.9817191343604409 -0.190335338890567 0.7613409421317954 +1062 -0.981186002949525 -0.1930648274956744 0.2449781568693677 +1063 -0.9891050942182561 -0.147211115719889 0.07136282521062355 +1064 -0.9891071043486392 -0.1471976091077919 0.9287207357133048 +1065 -0.1399474377886074 -0.9901589340385734 0.08763524409677081 +1066 -0.1454319865543031 -0.989368251606483 0.9274236977940166 +1067 -0.2372468274761939 -0.9714494031355834 0.9286929813193815 +1068 -0.9720514744769729 -0.2347678235345355 0.928692981319382 +1069 -0.2372468274761939 -0.9714494031355836 0.07130701868036859 +1070 -0.9720514744769729 -0.2347678235345355 0.07130701868036907 +1071 -0.9108648010292728 -0.4127048754811398 0.8287512276305901 +1072 -0.9108146219970852 -0.412815605756743 0.1715531066908904 +1073 -0.4138443273030781 -0.9103476658722549 0.8288225979501729 +1074 -0.414138962571399 -0.9102136670476255 0.1714606702132057 +1075 -0.5088378216738276 -0.8608623997098688 0.8552803917457172 +1076 -0.5089717658373505 -0.860783214044285 0.1453605815360826 +1077 -0.8489192030152799 -0.5285226454485201 0.8515789592584662 +1078 -0.8589896325834634 -0.5119929795555076 0.1498838347523728 +1079 -0.5953631289334155 -0.8034567472531505 0.9054190855904765 +1080 -0.5954877347345882 -0.8033643991244999 0.0947383726413541 +1081 -0.7812870480844855 -0.6241718901836503 0.6468292058396435 +1082 -0.7982797911612682 -0.6022867880200611 0.3888613754502612 +1083 -0.784306735190157 -0.6203732305115662 0.8782290054956053 +1084 -0.6297750327711233 -0.7767775795542315 0.6227108425139345 +1085 -0.6226093810472636 -0.7825327843815513 0.3901404025448285 +1086 -0.5409049391870451 -0.8410837335028298 0.5835939469904714 +1087 -0.8946400947812072 -0.4467875343044753 0.3550393821918137 +1088 -0.8890797741156077 -0.4577522859129598 0.6236300628665049 +1089 -0.4394943267950649 -0.8982453655404812 0.3455811173650706 +1090 -0.459532859825063 -0.8881607685216673 0.6444441107963509 +1091 -0.3533269402252418 -0.9354999055644357 0.3838063280620518 +1092 -0.9390550103979579 -0.343766908597223 0.3762575963868008 +1093 -0.3637129407581547 -0.9315110824488644 0.6500608739098623 +1094 -0.9872097674091955 -0.1594267077119825 0.5015720744903065 +1095 -0.139458560375835 -0.9902279080786904 0.520404853765381 +1096 -0.3393971747492104 -0.9406431617634041 0.2058962262494543 +1097 -0.3389676405106363 -0.9407980328883836 0.794300559631808 +1098 -0.9411480075189762 -0.337994715850797 0.2043807860672182 +1099 -0.9412172100861083 -0.3378019589015478 0.7960865110542177 +1100 -0.2375747021983868 -0.9713692711195613 0.3443106388821362 +1101 -0.9715907219979956 -0.2366674226153946 0.3507670320593466 +1102 -0.8775636708006064 -0.4794601168929118 0.2537092784272525 +1103 -0.8721581033889146 -0.4892241231716311 0.7493404207156225 +1104 -0.9723353873277737 -0.2335891576040041 0.6601723214871175 +1105 -0.1539570197148497 -0.9880775455805693 0.4160350555416725 +1106 -0.9857785482559194 -0.1680495575669629 0.4137323719488888 +1107 -0.4914292827692883 -0.8709174817609662 0.2617419401432236 +1108 -0.4794525205717909 -0.8775678210357059 0.7517433084229413 +1109 -0.274259523496986 -0.9616557147811302 0.2020887668327065 +1110 -0.2665807287928786 -0.9638125933169048 0.7999914937630218 +1111 -0.9630787224216064 -0.2692199368894629 0.1989553769690583 +1112 -0.9631477511428811 -0.2689728786855852 0.801701458053507 +1113 -0.1232872231673583 -0.9923710297079829 0.3024388953859542 +1114 -0.7519422640709673 -0.6592289674337952 0.08855713328539629 +1115 -0.7478616348141789 -0.6638546340676276 0.9361130185885662 +1116 -0.9965854551286184 -0.08256773356514305 0.2462655089296034 +1117 -0.9967872087266285 -0.08009532145498227 0.7587593124244638 +1118 -0.8134351006651028 -0.5816556859568672 0.07963255512519031 +1119 -0.8093170505702424 -0.5873720385379984 0.9327662573137641 +1120 -0.9626064662872925 -0.2709036564203072 0.5550280167600687 +1121 -0.5471308939261637 -0.8370470625428161 0.4227677696172704 +1122 -0.4503503152353654 -0.8928519438111826 0.451532616094026 +1123 -0.9151895559377878 -0.4030236676702685 0.4581328622645257 +1124 -0.4785913726112548 -0.8780377543489088 0.5560411503580756 +1125 -0.838302600323331 -0.5452052368522714 0.6765540585427813 +1126 -0.8445015624570917 -0.5355530888787133 0.3268783278459751 +1127 -0.7677771431805241 -0.6407169877641398 0.8032725700360669 +1128 -0.1371824012970861 -0.9905458034711798 0.6327129258777549 +1129 -0.5630147082473714 -0.8264468756654157 0.319564657021652 +1130 -0.4398595632993736 -0.8980665702352384 0.08090774732524031 +1131 -0.4396236329638134 -0.8981820869621584 0.9193131124339943 +1132 -0.8995751660071366 -0.4367659793335928 0.08136404926766995 +1133 -0.8994858129603296 -0.4369499654229247 0.9187925777178435 +1134 -0.3958932143723487 -0.9182965549395954 0.5642856417400383 +1135 -0.9207377427333233 -0.3901820204806273 0.5455350337682113 +1136 -0.0619957275022175 -0.9980764147957163 0.2279130430791431 +1137 -0.8611932274518922 -0.5082777045975883 0.4217394740137765 +1138 -0.6792852434376802 -0.7338743475880671 0.09279949762658779 +1139 -0.6830129615674796 -0.7304062529379254 0.9196958588270968 +1140 -0.06928262983301939 -0.9975970715691886 0.5613627352683926 +1141 -0.9976964354953632 -0.06783673488491912 0.5468889514127163 +1142 -0.06336646434507676 -0.9979903262038186 0.1431361298346825 +1143 -0.8316006837377629 -0.5553740206445431 0.5854546527251471 +1144 -0.2861774279087822 -0.9581766432947076 0.5764151123665553 +1145 -0.7332986089234808 -0.6799067216544399 0.8703264754542905 +1146 -0.8561746377837832 -0.5166865487080223 0.05951018826482166 +1147 -0.8559768953209038 -0.5170140758981195 0.9406275588580146 +1148 -0.9894849285952061 -0.1446360123998852 0.6008706330982989 +1149 -0.7139420995791559 -0.7002047403784886 0.6313158256035638 +1150 -0.6823817453866806 -0.7309960010581641 0.3445208680272688 +1151 -0.07306459807711095 -0.9973272103516628 0.455597259885667 +1152 -0.9974625912598599 -0.07119254902843161 0.4311088151075504 +1153 -0.6750025866501037 -0.7378153617373853 0.8209420210564629 +1154 -0.6522330979309737 -0.7580184601732105 0.18913565398189 +1155 -0.9976620806671825 -0.06834012583269218 0.9354262915268488 +1156 -0.9976607935376453 -0.06835891337518497 0.06464387756154406 +1157 -0.06466292582171237 -0.997907163028794 0.9336104384398454 +1158 -0.06036169427850549 -0.9981765704843149 0.06615427478625358 +1159 -0.08050749204288717 -0.9967540036162204 0.728536502347487 +1160 -0.7560095604621714 -0.6545605735833732 0.4631460067468154 +1161 -0.6981258195017612 -0.715975097433559 0.5381112769416089 +1162 -0.6872641032753659 -0.7264076351120679 0.4335380466697727 +1163 -0.7412649566510272 -0.6712125326907644 0.3587102283081879 +1164 -0.4992998720081436 -0.8664292457048364 0.3603898399304167 +1165 -0.9390941031175453 -0.3436601016845758 0.6401431609581579 +1166 -0.7978240288415852 -0.6028903872205806 0.1681898142258756 +1167 -0.5153752252525928 -0.8569646300728165 0.0642013403005354 +1168 -0.515276947133479 -0.8570237264818297 0.9360025179540374 +1169 -0.7692126345907152 -0.6389928972891724 0.5577257808651549 +1170 -0.9978661997635441 -0.06529201612343202 0.6265689844849409 +1171 -0.5542467547233438 -0.8323524102678153 0.6843470941158939 +1172 -0.7302971778319639 -0.6831295865724666 0.1815686947471554 +1173 -0.05747815417280498 -0.9983467643023074 0.6445224326983582 +1174 -0.1976228290554131 -0.9802781326930307 0.577473709465633 +1175 -0.5226247829821757 -0.8525628048494924 0.5045741076085684 +1176 -0.6753049993937252 -0.7375385805460219 0.6732552484006923 +1177 0.2897393311351879 0.07794379604700158 1 +1178 -0.08384762777884533 0.1029886532790118 1 +1179 -0.1868618493752617 -0.1697088149075699 1 +1180 -0.3776896737680859 -0.6345383402844322 1 +1181 -0.6855847602544329 -0.5402588614974924 1 +1182 -0.7251054130289099 -0.1282865082520786 1 +1183 0.7428512514317812 0.3874304260244591 1 +1184 -0.6561970558251797 0.3113427097602823 1 +1185 -0.4579004718465931 0.5774211047401429 1 +1186 0.03710089829920105 -0.5139659211104587 1 +1187 0.3982042818340527 -0.5620618205069675 1 +1188 -0.07015072609332348 0.4324483737751407 1 +1189 -0.1642668193499533 -0.680985234222624 1 +1190 0.5381935055408629 0.575935351360501 0.9999999999999998 +1191 0.302844898437953 0.4853636979979016 1 +1192 -0.3870524063999865 0.1536406679776654 1 +1193 0.5290757727936075 0.2875696435572835 1 +1194 0.6172635449615472 0.008523403073678604 1 +1195 0.5868486091732812 -0.192719618002612 1 +1196 -0.4968691152746735 -0.4560775863354037 1 +1197 -0.5156546559655826 -0.202537679800142 1 +1198 -0.2118120223383398 0.8961321817628053 0.9999999999999998 +1199 -0.6354686672731695 0.02085098977047031 1 +1200 -0.7271620789297262 0.5375461616458593 1 +1201 0.7144236417541402 0.6052845283650242 1 +1202 -0.5877009795807298 -0.6706229383561548 1 +1203 0.9012954200594055 0.1579899308036823 1 +1204 0.7835971073404365 -0.1389579662997908 1 +1205 -0.8903960356561698 -0.2802350557305419 1 +1206 -0.6699522790610153 -0.3373685246003992 0.9999999999999998 +1207 -0.7903776319630841 0.4625386637351386 1 +1208 -0.5486218084842825 -0.7502746557815863 1 +1209 0.1403380267529757 -0.1421586656854136 1 +1210 0.7988411761436804 0.4612314396471645 1 +1211 0.8930783280602245 -0.2766666411797676 1 +1212 0.2457072906861 -0.3951928296007075 1 +1213 0.3388143371273323 -0.1595460037569817 1 +1214 0.1098433660505816 0.2596576136565499 1 +1215 -0.1541635214137582 0.673924607512236 0.9999999999999998 +1216 -0.282125784303324 0.5161272698207664 1 +1217 -0.4199275623793364 0.3710827118547174 0.9999999999999998 +1218 0.08249990666715543 0.08182904727205895 1 +1219 0.2821360672299542 0.311064745098424 1 +1220 0.1196722830985447 -0.7705720555181 1 +1221 0.4652421224051141 -0.3399814851821571 1 +1222 -0.09122426231872535 -0.337111468793524 1 +1223 0.02195911386464319 0.6368804143367492 1 +1224 0.3105060326434622 -0.8632557435491723 1 +1225 0.2250816214210191 -0.6142762534206043 1 +1226 0.07615504953458829 -0.3006291037816297 1 +1227 -0.2453486379365794 0.3056912420423805 1 +1228 -0.2858417332118752 -0.01986971418896494 1 +1229 0.4689185337476446 -0.03810069354321177 1 +1230 -0.4400849631740479 -0.04214328356705449 1 +1231 -0.3249826736511917 0.719515267308632 0.9999999999999998 +1232 0.1377581307416433 0.462247708693028 1 +1233 -0.5605309399850325 0.06526447865590657 1 +1234 0.1997432178431347 0.64080914595172 1 +1235 -0.5689299548284804 0.2583476726922759 1 +1236 -0.3667012846014245 -0.3245972273005387 1 +1237 0.5199863078182339 0.04517299155988724 1 +1238 0.461120646449517 0.4114225426169505 1 +1239 0.4586534271317928 0.2229317590466199 1 +1240 -0.3345014255880162 -0.1765559411365862 1 +1241 0.3285410620669998 0.6513327343506894 1 +1242 -0.1414030460391212 -0.4800475532438272 1 +1243 -0.2621101598910728 -0.3223378473339158 1 +1244 0.6752206395617439 0.2127645466824821 1 +1245 -0.07338012151484075 0.2022177440491255 1 +1246 0.6405014791262231 0.442627436186767 1 +1247 -0.2170507143118224 0.1240131335004222 1 +1248 -0.6148045003852537 -0.08395851737442062 1 +1249 0.24255820862573 0.8224895687694701 1 +1250 -0.3235738241790452 -0.862957772908878 1 +1251 0.6170659652700686 0.1128373066619179 1 +1252 -0.4755431102153302 0.7819578469865797 1 +1253 -0.1082153240590707 0.00391918990745016 1 +1254 -0.484855615470777 -0.3662275957768236 1 +1255 -0.1769447713438851 -0.5677032149004312 1 +1256 -0.06965919152208136 -0.7690877482787777 1 +1257 -0.6212198110357178 0.5590264097909334 0.9999999999999996 +1258 -0.03223278583278621 -0.1808566225696097 1 +1259 0.6104363692842232 -0.08748311138230858 1 +1260 0.7099832888995116 -0.05234034366779375 1 +1261 -0.5666300583569353 -0.2897501642032262 1 +1262 -0.407334012781258 -0.8341015350385896 1 +1263 0.8190084090227093 0.2957971557576304 1 +1264 0.7260163732660905 0.5094716074731855 1 +1265 0.5644652580487282 0.7441132630720504 1 +1266 -0.4305940379326485 -0.5462892179184861 1 +1267 -0.3075534950041687 -0.5322266727195423 1 +1268 -0.404225787723734 -0.4353362678197478 1 +1269 0.7375823634558023 0.1209551695033318 1 +1270 -0.2629399692222569 -0.768293094783319 1 +1271 -0.8221852927314433 -0.3941129697927344 1 +1272 0.6782173654264352 -0.165752945592774 1 +1273 -0.2098770146392914 -0.8945044624463515 1 +1274 -0.704419997856483 -0.2400195018817135 1 +1275 0.6351670938812566 0.3195795082868028 1 +1276 0.6338895210384274 0.5496522571583957 1 +1277 -0.6201034653477484 -0.1912058887269904 1 +1278 -0.5750282162443874 -0.3959847189247601 1 +1279 0.7681325376637608 -0.2456807735640208 1 +1280 -0.7182015191654888 0.4181342432029016 1 +1281 -0.7688070982144932 -0.3127033038543355 1 +1282 -0.4821350327708168 -0.679568484097359 1 +1283 -0.7838384999768635 -0.03301137092827572 1 +1284 0.7921478869289384 0.03324684365194161 1 +1285 -0.7310352974199794 -0.3989268711648745 1 +1286 -0.9364094631988048 0.1206615329306272 0.9999999999999996 +1287 -0.5837377553492353 -0.5008722891293291 1 +1288 -0.6996360226301102 -0.02830626441578882 1 +1289 -0.6548114842992234 0.6522253941759271 1 +1290 0.8507591056727636 0.3732318446144911 1 +1291 0.7644032612152132 -0.5451765710572032 1 +1292 -0.5166454208427602 -0.5750577717229809 1 +1293 -0.6596342913134017 -0.4473752865516082 1 +1294 0.3169021764471723 0.8585867598171324 1 +1295 -0.7691604616153226 -0.4851790803747096 1 +1296 0.1672884818060241 -0.251375627271068 1 +1297 0.1954843407249223 0.1748987168222638 1 +1298 0.3785172222944508 -0.6690319645647382 1 +1299 -0.1188870894884175 0.5605742511636167 1 +1300 0.08388103732213939 -0.6734407695917304 1 +1301 0.1409528296701937 -0.4588520743904128 1 +1302 0.3371340753769553 -0.4757053704756283 1 +1303 0.02382873724393619 0.3430274052803972 1 +1304 0.2812552106311015 -0.2740690957705252 1 +1305 0.3286519171212273 -0.0386944757210344 1 +1306 0.2837341302554344 0.2087007472111435 1 +1307 0.4912104695447582 -0.6993004570916344 1 +1308 -0.1864394136454839 0.482377305938041 1 +1309 0.2341561990124306 -0.5160814675504103 1 +1310 -0.02017224663535766 0.5472123314886239 1 +1311 -0.01581198911111908 0.724808931790039 1 +1312 0.1805648838067565 0.06571621799379929 1 +1313 0.3643808482891061 -0.3613181010411468 1 +1314 0.2407268774318451 -0.1864760587950334 1 +1315 0.4446537839890055 -0.4505403239500324 1 +1316 0.05687573149989808 -0.4047654231383883 1 +1317 0.4022361939928636 -0.2613929206768327 1 +1318 -0.4032582009070645 0.2681898085210601 1 +1319 -0.1678167486058268 0.3705648746830997 1 +1320 0.5458938820334904 -0.4861448607661641 1 +1321 0.005061261764652936 0.1370518894791942 1 +1322 0.04589619399172706 0.4510496437307415 1 +1323 -0.09828910880181183 0.7580938297798721 1 +1324 -0.2614456778703278 0.4107235755675123 1 +1325 0.2070590441784775 0.3836564668400582 1 +1326 -0.1859083844054351 0.7893855597746479 1 +1327 -0.4402628373985661 0.4732652653828584 1 +1328 -0.3896208910236426 0.64902770674268 1 +1329 -0.07264310393822274 0.3086832326887924 1 +1330 -0.3058994523754138 0.6213267695937259 1 +1331 0.13742733549762 -0.5795403380755969 1 +1332 0.07516858629885204 0.5482464902311093 1 +1333 0.120118317598501 0.3648936634927235 1 +1334 0.1498502592995082 -0.3546699388268387 1 +1335 -0.4165467373717386 0.04577414876098618 1 +1336 -0.3161722497114678 0.2371489081253449 1 +1337 0.4064315926580289 0.02862285067378889 1 +1338 0.454043234652407 -0.1860270014262071 1 +1339 0.3082516507568707 -0.5970328724503663 1 +1340 -0.3531080193750911 0.4434544641331968 1 +1341 -0.3334771964398274 0.05666144452878905 1 +1342 0.3804909244459719 0.1553879405513502 1 +1343 -0.1549411873289434 0.2622264005089452 1 +1344 -0.4643690881194533 0.6837980166882356 1 +1345 -0.2149424194377239 0.5935680243821336 1 +1346 -0.2289205139897001 0.2060842156019647 1 +1347 -0.372254849454193 0.5487533569626941 1 +1348 0.2665642959148265 -0.6882996565167228 1 +1349 0.09704099533564151 0.1555804140908409 1 +1350 0.4721632260799813 0.7821807992834833 1 +1351 0.01500602965081807 0.2350186801942024 1 +1352 -0.04709472592971037 -0.431149731957735 1 +1353 0.3646365471567796 0.2562161715266956 1 +1354 -0.4775499809493421 0.2089498665234371 1 +1355 -0.4826808193711798 0.107171078571877 1 +1356 -0.1367565119727853 -0.2465475913831901 1 +1357 0.219705380708883 -0.7939756064398715 1 +1358 0.1741880528554439 -0.68370111678044 1 +1359 -0.2639570152518794 0.8016305911706761 1 +1360 -0.5492768104608923 0.5015231546541296 1 +1361 0.2841573755711653 0.4078358956460787 1 +1362 -0.2888496262826039 0.1384648416345654 1 +1363 -0.4900931113036227 0.3066440754051976 1 +1364 -0.5764870991130485 0.3352470531688554 1 +1365 -0.2371742926469025 -0.09595580732289435 1 +1366 0.08496956162472277 -0.2174017510071562 1 +1367 0.5628046274289193 -0.6008527299011868 1 +1368 -0.5649974091796021 0.1624713784566736 1 +1369 -0.5198091270833947 0.3983581575747551 1 +1370 -0.06086724746033154 0.6613923220320002 0.9999999999999999 +1371 0.2645972460202924 0.5565708854344379 1 +1372 0.2381737088852517 -0.08898704803098301 1 +1373 0.1654619266985638 0.5569655326899126 1 +1374 -0.3339105929942835 0.3403405214056002 1 +1375 -0.2414151790302403 0.7042403310275425 0.9999999999999998 +1376 0.5236363325054458 -0.3957323891803582 1 +1377 0.2001718999604586 0.2846353921693596 1 +1378 -0.2973537287270382 -0.2497305945850173 1 +1379 0.1346020442325961 -0.01195199770336261 1 +1380 0.0533752900601189 -0.06945837436083732 1 +1381 -0.0339018885494541 -0.9355188825904608 1 +1382 0.218710189712175 -0.9067403055351748 1 +1383 0.4920179670022333 0.1331909570851415 1 +1384 -0.2075560019448862 -0.3988192925514371 1 +1385 -0.3878655808964822 -0.1091239464544706 1 +1386 0.3698105745245859 0.4401249237072208 1 +1387 0.01485167081678732 -0.2363254532006812 1 +1388 0.5245890723736372 -0.2722172014891703 1 +1389 0.4492691061472249 0.310645211289362 1 +1390 0.603520269179519 -0.6975687385325237 1 +1391 -0.06168037400390453 -0.2461027596535805 1 +1392 0.1114047498665568 0.6326724054365875 1 +1393 0.03608912874801523 -0.159321579326335 1 +1394 -0.4774532850798383 -0.782904803335564 1 +1395 0.5626003870671774 -0.340646582270633 1 +1396 -0.4690530332319679 -0.1242262632900833 1 +1397 -0.312194007889803 -0.1004963253001233 1 +1398 -0.9222335095548163 0.1974113058283598 1 +1399 -0.2522791207951212 0.0542548700526142 1 +1400 -0.4030963138487751 0.743954200548912 1 +1401 -0.1691607464166971 0.06566043580772857 1 +1402 0.1193460939319357 -0.9499352453402704 1 +1403 -0.1538324155783985 0.1577867722421939 1 +1404 -0.2171271198769763 -0.2493674977489563 1 +1405 0.4026013267157277 0.8394914425016136 1 +1406 0.1503067246066855 0.6996162570874258 1 +1407 -0.5460228607739707 -0.1312177430277169 1 +1408 0.2409284996873737 0.9072223934569358 1 +1409 0.005661507366884866 0.02042799413484428 1 +1410 -0.5239619876185739 -0.06305110756054305 1 +1411 0.2237178801649813 0.4799932248016413 1 +1412 -0.5000825455132965 0.0175303156327149 1 +1413 0.4136295321030357 -0.08808116651059752 1 +1414 -0.6568796916635082 0.4809164288838965 1 +1415 0.6226506947183573 -0.4217881961711301 1 +1416 -0.2975228485856651 -0.4166182548813794 1 +1417 -0.08702053301887624 -0.6236759969406293 1 +1418 0.3672107946325331 0.3537064886174076 1 +1419 -0.4247840468868734 -0.189631409609065 1 +1420 0.5130950282881888 -0.09964503783656026 1 +1421 -0.5720638123631638 -0.01063363570216563 1 +1422 -0.4548362322806574 -0.2708151432727706 1 +1423 -0.2977083739020105 0.8851139292215636 1 +1424 -0.5556760386833099 0.7271666005781979 0.9999999999999998 +1425 -0.3632427306968263 -0.02825281686578007 1 +1426 -0.2031153266954588 -0.01789148767040871 1 +1427 0.2404545597202565 0.7225506513469681 1 +1428 0.06259778230631446 0.7561031659657698 1 +1429 -0.4154245460646798 0.8312208130512116 1 +1430 -0.5523446397879744 0.6194761042735737 1 +1431 -0.3485062501944445 0.8238276167462517 1 +1432 0.4626583028483838 0.5129888404091927 1 +1433 -0.1469700882254162 -0.09424166898111733 1 +1434 -0.1683185424939579 -0.3261583556390828 1 +1435 -0.2645560887465901 -0.1739453204802458 1 +1436 0.6747521949736207 -0.6218342179362119 1 +1437 -0.6205715956630742 0.4075292462118147 1 +1438 -0.3762799031558483 -0.2425951741032604 0.9999999999999998 +1439 -0.1313082417458413 -0.3953633459711371 1 +1440 0.5508195279160139 -0.0303167745486399 1 +1441 0.5707907370774351 0.2177387875914229 1 +1442 0.2348914284161124 0.000810270545667291 1 +1443 -0.6556466636262697 0.1164447275998658 1 +1444 0.5488622412837595 0.3797914630148991 1 +1445 -0.09903111014880184 -0.1730941636383408 1 +1446 -0.45092559183586 -0.614827869506994 1 +1447 -0.8879760872878617 0.3024143509600128 1 +1448 0.3580121941624591 0.54512833636333 1 +1449 -0.008696867479190379 -0.3269221880167234 1 +1450 0.6184028234214376 0.6602226578426881 1 +1451 0.4382510340574169 0.6169634532606038 1 +1452 0.6462392254665531 -0.5262798203822959 1 +1453 0.02815411186573752 -0.7305665403968723 1 +1454 0.5492611626992877 0.4800872944328648 1 +1455 -0.2325330667229669 -0.4797091325699736 1 +1456 0.1578506074212944 0.7879376492642725 1 +1457 -0.04171736994433251 -0.09345910847504396 1 +1458 0.6789449829688424 -0.2472656711504801 1 +1459 0.8118140157497508 -0.3603054921251926 1 +1460 -0.8195508810477371 0.2486091381283811 1 +1461 0.629531227992938 -0.3121794568006635 1 +1462 0.2113090107686239 -0.319370994260365 1 +1463 -0.616963375720216 -0.5859684005353663 1 +1464 0.7443859852773173 -0.4513871403505811 1 +1465 0.6996033030969461 -0.376179666856836 1 +1466 -0.7542473451401366 -0.5715109612897482 1 +1467 0.51249892416245 0.6856571258169819 1 +1468 -0.7244212108470494 0.2143263503440802 1 +1469 0.01280131869345816 -0.6220069425344454 1 +1470 0.3511130215621625 0.7721776760014751 1 +1471 0.4624843194036344 -0.612412255398776 1 +1472 -0.3809471762282604 -0.7500086989415082 1 +1473 0.4358922146983504 -0.8138293260753886 1 +1474 0.1371748275373223 -0.8658088596776375 1 +1475 0.4838415568862029 -0.5437004995095347 1 +1476 -0.8187064335658744 0.3766999013648455 1 +1477 -0.7486017683818011 0.3192131869745889 1 +1478 -0.6822611688035686 -0.6433859986600988 1 +1479 0.4215616146121645 0.7042882666300073 1 +1480 -0.002643538877739299 0.962897237672404 1 +1481 0.713335751873068 -0.3107053401424084 1 +1482 -0.2695571722803648 -0.6449498108693597 1 +1483 -0.06378191232584748 -0.6900728545102359 1 +1484 0.8808803952935624 -0.1817164928460623 1 +1485 0.9319262184192126 -0.1092364066217543 1 +1486 -0.1616166624489407 -0.8022910306398039 1 +1487 -0.7760881100559551 0.09867380118735108 1 +1488 0.0796353513669978 0.8881827680804089 1 +1489 -0.06983451008702352 -0.5460190599985321 1 +1490 -0.139798571399375 0.9385113740376905 1 +1491 -0.1201919428480979 0.8544918313022043 1 +1492 -0.9534467231936609 -0.02680334131782712 1 +1493 -0.8200661569510446 -0.1976842463915288 1 +1494 0.8066711810146894 0.2079343221437162 1 +1495 0.1694979088358587 0.9148117961382987 0.9999999999999998 +1496 -0.07911451000517439 0.9306450805454027 1 +1497 -0.3239668772039842 -0.696695726677667 1 +1498 0.550548657687973 -0.7612420741252157 1 +1499 -0.0343006262048253 0.8310137101255415 1 +1500 -0.641562779938361 -0.2649432725960296 1 +1501 0.9643997686992148 0.001806132474239205 1 +1502 -0.9168810631441754 -0.2115661737094375 1 +1503 0.731096244703401 0.2830117313784486 1 +1504 -0.8590498436837828 0.144699298946951 1 +1505 0.8913965958830555 0.3136293969391959 1 +1506 0.06802678154243572 -0.950226917123985 1 +1507 0.864460689126844 -0.0311852262407035 1 +1508 -0.1310705240542894 -0.9406080685833257 1 +1509 -0.7092748416253511 0.03317442791744341 1 +1510 0.4007131213395561 -0.7381851271345401 1 +1511 0.336247066790694 -0.7650876958557478 1 +1512 0.6912308379501809 0.04191735055348339 1 +1513 -0.9663667576267356 0.04223423629661429 1 +1514 0.9556302559079273 0.1034777970560016 1 +1515 -0.8935388521365365 -0.09233037823453862 1 +1516 0.01971094461541648 -0.847703385895251 1 +1517 -0.6357787202496983 0.2130337210736508 1 +1518 -0.7976849700903755 0.1817860122865861 1 +1519 -0.09951235088801881 -0.8676479992679118 1 +1520 0.8068574654874888 -0.06516561265809309 1 +1521 0.8596955490010718 -0.1071134738663725 1 +1522 -0.8914599274203824 0.0364317607117798 1 +1523 -0.8099435282043598 -0.1130116877100516 1 +1524 0.8967666622946819 0.2421844460630574 1 +1525 0.8916348678382225 0.06337007545270483 1 +1526 0.8307412926206452 0.1169060740987489 1 +1527 -0.2589559423442405 0.1014011376387137 0.5008275501990492 +1528 0.4260253875760067 -0.2675148989354469 0.4949763661652533 +1529 -0.1705755425031569 -0.3718642904006512 0.5203358390841492 +1530 0.2353773201402325 0.4283683136154832 0.5006023868675681 +1531 -0.5806281543198079 -0.1291361781280228 0.4053791149571385 +1532 -0.1875376048635322 0.5305509208659949 0.4380856702015229 +1533 0.1436401383132612 0.02983683735221962 0.4163431802764236 +1534 0.08719601315237588 -0.6145804871114879 0.3777941016866144 +1535 0.5537254701234143 0.1417095809938009 0.4752856848849247 +1536 -0.5402282201700361 0.2999893049641546 0.6342279365074988 +1537 -0.3807545332711346 -0.1583280142720361 0.6704589199710429 +1538 0.1174496543455132 -0.2257175394813525 0.652599659839441 +1539 -0.4601017844752675 -0.4825993925857559 0.6465560865363646 +1540 -0.4226913196091631 0.3285565460807247 0.328481047691513 +1541 0.01337237294514992 0.2269533930291818 0.6604064414751063 +1542 0.05143652755276452 0.675759261505764 0.6040471848939094 +1543 -0.4538470686680693 -0.4206198161015839 0.3245479443048969 +1544 -0.06946798516690324 -0.6659817172840372 0.6675432027140461 +1545 -0.05140886468516185 0.2654018100020156 0.3191337722903125 +1546 0.4680108866211538 -0.5018477711945851 0.302622171090444 +1547 -0.6830356291220697 0.0170818561082567 0.6696045510859933 +1548 0.2752674564400409 -0.5336895095204137 0.6568224277042116 +1549 -0.6469860743215284 -0.2687665813040876 0.7092483824224135 +1550 0.08332268535097488 -0.2826957349725049 0.3293899778455987 +1551 0.4988352713847868 0.4602127453120683 0.3176843164322835 +1552 -0.1866185979810028 -0.1302998670308438 0.3066881023555902 +1553 -0.381282833100056 0.5683273091130125 0.6847852776402438 +1554 0.6791441961391212 -0.07253126903419937 0.6795231062384602 +1555 0.3726858485634674 0.5973162884347125 0.705789415113972 +1556 0.2511842451543379 0.04258306582710784 0.6998466818828 +1557 -0.2258006558766422 -0.6448642201954504 0.3191809225903157 +1558 0.2008321860952088 0.6633990281468599 0.3028032062856338 +1559 0.6314960483048577 -0.1154888824496868 0.3107030760373702 +1560 -0.1102322072606163 -0.04623230781405174 0.7089500053457785 +1561 -0.2617516734569045 0.2991934581965778 0.7115310829252965 +1562 -0.6756771078749055 0.1640815046191071 0.3926593672477749 +1563 -0.4172588941854733 0.05548593852492328 0.2770563866131241 +1564 0.3116717255590914 0.2359602710150045 0.2930321499032784 +1565 0.4241088360120989 0.2992497088192009 0.6987107360877789 +1566 0.5519635394469948 -0.4546788710221602 0.6744888605889192 +1567 -0.4040808275019367 0.6017327508021159 0.2782979644816344 +1568 -0.4106345382460115 0.09237991156999711 0.7054898762382981 +1569 0.3447587959500348 -0.1092208981863725 0.2768261271133902 +1570 -0.1810745175962372 -0.2803592118401619 0.7555680026617477 +1571 0.5627876481746205 0.4797768065311441 0.5703312583585344 +1572 0.1191243697774754 0.4570729942861314 0.7363196363774794 +1573 -0.5251327598370729 0.5056507549817203 0.4824467312492489 +1574 -0.1286790327474148 0.5198572171143837 0.7026970683736751 +1575 -0.6398288960081671 -0.3967540971577673 0.4925587275713551 +1576 -0.3158615333060192 -0.6732193285864307 0.7433157493396968 +1577 -0.2023506521595368 -0.3873094034248116 0.2612679282314508 +1578 -0.0687376517845559 0.7215374361819805 0.2763498550938385 +1579 0.01824255490609927 -0.440363717266947 0.7497954872440789 +1580 0.6891088950928312 0.2064351297487015 0.713039378832369 +1581 0.4045817335767466 0.6382285109235861 0.4629328370519065 +1582 0.6816131427403038 0.2655360308309181 0.2707927959500338 +1583 -0.6757003751594159 -0.3125451459208037 0.2522505307556644 +1584 -0.3544898127451639 -0.2360470724149217 0.4437195439540642 +1585 0.1410376695733489 0.4205281204504905 0.266211275439605 +1586 -0.03083125561902936 -0.1204645128691049 0.4922179010327469 +1587 -0.4287597350648392 -0.626311753171657 0.4524736893744096 +1588 -0.2198434914216949 0.4114801586978838 0.2336452804190642 +1589 0.352138780294117 -0.2986374204326763 0.7449824206894993 +1590 -0.02320538643891737 0.03713524447086428 0.2390967852865058 +1591 0.2305569247087205 -0.4627813678204056 0.2449914497399334 +1592 -0.6547970724688391 0.3932924335749481 0.3124997021946133 +1593 0.6622337132567835 -0.3550159850145451 0.2470131835770819 +1594 0.3946910823296325 -0.3169546846548853 0.2134005676586351 +1595 -0.2648913604611006 0.3256789632015641 0.488420416235517 +1596 -0.766306974939312 0.01532147170983561 0.232735949220602 +1597 0.0004482854381711032 0.4033874809199434 0.5037864798213936 +1598 -0.4791850553277257 0.0520016021376572 0.4941704203760687 +1599 0.6876680956227184 -0.2740715556386676 0.5119063505015955 +1600 0.2726162072820609 -0.7061198762048421 0.2427853175806301 +1601 0.08922049132882226 -0.4240143345152219 0.522108945358141 +1602 -0.2381148644052758 0.1822929268538933 0.2219689275742563 +1603 -0.03489456912630613 -0.7602295547384225 0.2321780626169265 +1604 -0.190055574408782 0.729987863325568 0.5857734242773267 +1605 -0.4307664996986479 -0.1746236024177282 0.2297595729768034 +1606 -0.4319191858598856 -0.6240779729770056 0.2248960506424261 +1607 -0.7299146963872406 0.2320188904839818 0.7620827942489179 +1608 0.2727197893259683 0.1964487986842025 0.5223234883300363 +1609 -0.5456216021846346 -0.0936944880617824 0.7897867378700048 +1610 0.7602564222107944 0.01527642800310954 0.4688273503413224 +1611 -0.04349054378566442 0.1198258182109307 0.4801804719701262 +1612 0.4523614981428704 -0.07535601769517453 0.762101856462896 +1613 0.3800482340337037 -0.02769984424784958 0.5044757956565701 +1614 -0.08510946491029409 -0.7656525256751778 0.4586210740272213 +1615 0.3700216317523182 -0.6603338878519337 0.4660258229555145 +1616 -0.2497281969936825 -0.4745781425176533 0.6924067246061426 +1617 -0.7759354027796367 -0.02753228168269914 0.4658721502388175 +1618 -0.593597720659979 0.5093639575186479 0.6919815392364225 +1619 0.4970345771946372 0.08151034851000515 0.2432114169773462 +1620 -0.2210703269572001 0.1104862718013563 0.7915190339829767 +1621 0.7054469243192961 0.3145812322674481 0.495123012643376 +1622 0.2010659946870489 0.7416634754570237 0.7706870508139104 +1623 -0.4542736011264856 -0.3219034470776267 0.7903918873621232 +1624 0.1567762090683479 -0.7327768430814247 0.7541576101985272 +1625 -0.2313157756649291 -0.1000630652750272 0.5395873159050592 +1626 0.5695934960444959 0.5341040479718946 0.7848607997192849 +1627 -0.06768551643339803 0.7150988443953437 0.7856674573001077 +1628 0.6816571178300938 -0.2868369036372647 0.7705522239202488 +1629 0.4167336438379647 0.6538249533767083 0.2269590473416049 +1630 -0.3626304303617218 0.6474980674175507 0.4849898485697547 +1631 -0.05360304158787333 -0.5419917361572266 0.2136311153152262 +1632 -0.6145498839641679 -0.462499139238593 0.7921600920511679 +1633 -0.2761092009709606 -0.07468097774397484 0.8109852491713162 +1634 0.1188158982336489 0.1937938308847273 0.2128472581500006 +1635 0.2183547790767074 -0.1720397547161504 0.4640536959456131 +1636 -0.005330086893333214 -0.2057385181695093 0.8059613895401644 +1637 -0.2835535837222516 0.7317644963580441 0.7878325170777516 +1638 0.2071337666091234 0.2517624357257014 0.775682358235934 +1639 -0.4333832390711411 0.3932574238522109 0.790537281786916 +1640 -0.2293225636455908 -0.6167702775467009 0.5323639583282638 +1641 0.4291779744659044 0.3376585274916576 0.4799818520080394 +1642 0.3020379097817625 0.4445420687342184 0.8075801638550748 +1643 0.7688980632143222 0.05526280314887054 0.2431657619555672 +1644 -0.5597161367712218 0.2057526448825882 0.2150914223696431 +1645 -0.488961961943559 -0.2977221716797162 0.5774937204163904 +1646 -0.7816515980134675 -0.1265553466799168 0.7903511618404185 +1647 0.2994858228329721 -0.4451425431809571 0.4549920774894509 +1648 0.2266390200905402 0.7556225883735477 0.5038299712202728 +1649 0.3303057271740225 0.4647721484928029 0.2010561754329001 +1650 0.009582813567835614 0.5924197894640157 0.4186721605617141 +1651 0.05714713569837214 0.06102757064435255 0.7884295426888065 +1652 -0.7766155642268409 0.1713843688970682 0.5714369855991579 +1653 -0.7047485659070423 0.3630796360980311 0.5163183478445648 +1654 0.4457606368227131 -0.6308074050186382 0.7732185815932774 +1655 -0.2294862134218622 0.6017737974236366 0.1907866263109543 +1656 -0.3481677436040566 -0.4502801476719888 0.4879213779965706 +1657 0.1374753580534533 -0.09677366277510138 0.2496318675510712 +1658 -0.6087936084826955 -0.5088939702818638 0.2107434874342705 +1659 -0.03998074302873958 0.5194483132999294 0.2275911681255203 +1660 -0.7198563384043042 -0.21305472546913 0.5276744835651811 +1661 -0.5026835456322463 -0.6297698251047834 0.8056464701193697 +1662 0.03596612493956298 0.7956733926269637 0.4374840947831541 +1663 -0.5331968545515241 0.2081435732354459 0.8097489253398171 +1664 0.1250096019883979 -0.7687143888939496 0.5355710715554819 +1665 0.4888042169273879 0.2895868543105636 0.2031783051930317 +1666 -0.5555721528132005 -0.1165747459018584 0.5973708167613281 +1667 0.6182491665174048 -0.4792823675237493 0.4642435482671396 +1668 -0.5048588724963391 0.4515433094269067 0.1954265108443692 +1669 0.07056401079108149 0.01097373440364856 0.598340878617692 +1670 -0.5834436649250119 -0.05241381462269533 0.1945437571972099 +1671 -0.4010641739345974 0.2127281578604783 0.5465108800821227 +1672 0.1720449698641732 -0.3221608192654578 0.8108529442669438 +1673 -0.09165857505871219 -0.5258026483004975 0.4141784775371777 +1674 0.09737632495338681 0.7959636576555584 0.1977806089945729 +1675 0.1280958139937026 0.2794630923624374 0.4093791825543732 +1676 0.271514811228705 0.06201672310582214 0.1979840362944283 +1677 -0.7603449043222508 0.244301808520086 0.2206812128752121 +1678 0.1661269854651449 -0.1048167480879268 0.802950296991369 +1679 -0.08182701182079787 0.3448025602198144 0.7984558590153326 +1680 -0.2685991239613601 0.7505546500293951 0.3307451884320752 +1681 -0.302096708702542 -0.7562153281562015 0.1866907582076309 +1682 -0.1782063879563374 0.05231791499391089 0.3406836633955877 +1683 -0.1516623162870995 0.2214481180249445 0.5848266911162344 +1684 -0.3235340022610285 -0.03292807203833541 0.4014844016557412 +1685 0.6939233370705795 0.404673606396999 0.6994417127237379 +1686 -0.4899942053532235 -0.3367277168034402 0.1719345679406837 +1687 0.4572943943111029 -0.6690032294359837 0.1900086618457621 +1688 -0.2142305976404983 -0.7852161999360561 0.6242593814813298 +1689 -0.383737867488972 0.3972273977067129 0.6117358644043633 +1690 0.6599499513377362 0.4515160499760618 0.198013389209425 +1691 -0.06188755831947756 -0.2555161861588499 0.61557561841536 +1692 0.5074862955343781 0.1081305478803053 0.6769897344590908 +1693 0.2082344050130905 0.5728465407080663 0.6178955385500926 +1694 0.1223190953255313 -0.6062599255580166 0.1850280464598402 +1695 -0.03147561592681211 -0.1891690785763942 0.194502032811733 +1696 0.8006742496147707 0.04108176705758548 0.796789046335544 +1697 -0.2662338642110071 -0.009751294844192892 0.1873574152189428 +1698 -0.3134597657396519 -0.3199437715449241 0.620498773541549 +1699 -0.3585037938057019 -0.46412152367399 0.174407060616465 +1700 -0.5843036167992253 0.5696022519271557 0.3168852181725199 +1701 -0.3362039508244464 0.1817032758162619 0.3664077157693337 +1702 -0.357361919873882 0.4680807744042367 0.4243759524994118 +1703 0.5789501638129865 -0.07106008397612242 0.5023063289692703 +1704 -0.5447896080993275 0.2757868369704695 0.4534129673285625 +1705 -0.1235248945910543 -0.5538322305383238 0.81488801420488 +1706 -0.2585888735573415 0.4521891349374837 0.8181702839218711 +1707 -0.157933423090554 -0.7653584566729932 0.8092206087169511 +1708 -0.3858226116910095 -0.4896525626071203 0.8132284251429015 +1709 -0.09063093811355534 -0.2645850447954304 0.3916391354430453 +1710 -0.4610362944921692 -0.6663204537029145 0.629665972379491 +1711 -0.5798986685045233 -0.5643718539202384 0.5349811137768995 +1712 0.2946244229539283 -0.1406506604828218 0.6427223818970162 +1713 0.5751249431725731 0.5873157629465194 0.4237058295718075 +1714 0.5412922309891489 -0.2136737467618647 0.6488575664132837 +1715 -0.7847304445884203 -0.1814430004993352 0.3466340719942225 +1716 0.4998543000258899 -0.1634703608007155 0.1850498610548541 +1717 -0.2645780562350042 0.023348826369604 0.651956202206692 +1718 0.2759879859474652 0.7731625368086883 0.1801851170560789 +1719 -0.3346928779397363 -0.2226696225766985 0.8441054105325125 +1720 -0.2635683777126927 -0.2360436708653244 0.179113697815526 +1721 -0.03088484388925635 -0.8280174301157478 0.6131355729312347 +1722 0.2120215662628065 -0.262864550944664 0.1880375902455657 +1723 -0.800687836993329 -0.1776282045165636 0.1697300538772253 +1724 0.8050900413010056 -0.1392414235696276 0.5609494772538349 +1725 -0.5214639813600935 0.6471153890092247 0.1640165117203445 +1726 -0.0346565928027231 0.8282096980111014 0.5946324896835172 +1727 -0.3600747688400361 0.2096293573108863 0.8231760187722746 +1728 -0.0612707829417953 -0.4980075850623925 0.5953757329153355 +1729 0.7860012520423756 -0.1794944003829563 0.2017698108522246 +1730 -0.6161996584310776 0.3741484550819196 0.8173225388329095 +1731 0.5138721461426536 -0.3475026495318633 0.8212711234935685 +1732 0.06479385560301998 -0.3982473580077916 0.1808705042658334 +1733 0.002953263749912609 0.3540274796351641 0.1728757569974154 +1734 -0.6026313243013465 0.144854025095788 0.5788379811480537 +1735 -0.8087525156040805 0.06283549659563537 0.8074343580139683 +1736 -0.3475089597893744 0.3091920565074288 0.171748094566833 +1737 0.38945017481019 -0.4892520586080409 0.1576619134587404 +1738 0.5247242481170749 -0.2677996305693626 0.3371712064558376 +1739 -0.1794013024304742 0.2108832889321999 0.4071213143591461 +1740 0.5115014063265356 0.6469524484964491 0.6054138478923431 +1741 0.09509183100971029 -0.5801550468274914 0.6539673786130227 +1742 -0.6230807947425946 0.05872615265928433 0.829141116675179 +1743 0.3868936993748097 0.493978349586999 0.5632779356433291 +1744 0.2401690664851714 -0.357894425359968 0.6079437697091533 +1745 -0.8230732724178249 -0.07931624863543339 0.6266381085085286 +1746 -0.3020595891603098 -0.7626736951645612 0.4419181549421772 +1747 0.3360666883982419 0.5010404902851608 0.3743164966688662 +1748 0.324481093967146 -0.725935619006927 0.6479115684961714 +1749 0.5727415103041537 0.3160179707424741 0.8167341550143956 +1750 -0.1457329449501101 0.391885721576966 0.5910913324606768 +1751 0.5133966000819925 -0.6255926081335229 0.5916893816839194 +1752 0.6877186154173641 0.4522095096517577 0.3776749955626148 +1753 0.3124133952385488 0.07463246666870829 0.3727876279091192 +1754 0.1271314481816756 -0.7986198844372681 0.3315597037438246 +1755 0.1797379671827016 -0.5111702917799034 0.8187259438648817 +1756 -0.5137397012939076 -0.2856909561760932 0.4094422804409499 +1757 0.79668098134383 0.1842470798492523 0.3951322415207564 +1758 -0.4338978873279508 0.6515732136698763 0.8301291054233174 +1759 0.1561515234611272 0.3257920349253637 0.6222941646798446 +1760 0.1963242141803096 0.5795559694387474 0.8311849629339441 +1761 0.6076638742440151 -0.5215928466469846 0.1774153176704323 +1762 -0.4200318368722008 -0.0004024549460563132 0.8417764349238583 +1763 -0.7137589888259581 -0.4220594722657054 0.6513243097680457 +1764 0.6140827968321658 0.03945109840820257 0.8151008098517643 +1765 0.5789172625887943 0.5984089266103609 0.2510312938188058 +1766 -0.5192463904151925 0.6423338281134909 0.5979335832730115 +1767 -0.07524588397542591 0.1846706538634821 0.1704830826041691 +1768 0.2798138497922539 -0.2987943704553804 0.3513289581992673 +1769 0.4741364507809542 0.6773728879689566 0.8271291902074291 +1770 -0.571639945563135 0.03366915261351502 0.3500894544650696 +1771 0.8302457144753025 0.02150420560545006 0.6271984978092501 +1772 -0.1486412667370204 -0.1581042251834023 0.8483223959749728 +1773 -0.4122135036147163 -0.1031439314167696 0.5196887595411841 +1774 -0.06555514598074151 0.175581850690024 0.8294424200974082 +1775 -0.5589785740242068 -0.6107059716327323 0.3406129766132961 +1776 0.3279009894641834 0.7585199850181192 0.6487044814130369 +1777 -0.1370167372328479 0.02332464802711059 0.5608646508198587 +1778 0.1217233053151956 0.5710296270325389 0.1720039282563118 +1779 -0.1525355354168692 0.3800314926992214 0.3807730975421261 +1780 0.3679699932400757 0.1509673582939277 0.8079285519084872 +1781 0.806386728970652 -0.1476196472283468 0.797047556034903 +1782 -0.08559690917742993 0.5910500874106382 0.5569233923098893 +1783 -0.2636904170008557 0.5085191009165406 0.5839737063900505 +1784 0.05883551590378742 -0.2611992589500655 0.5002315291067212 +1785 0.575467877595947 0.3104601642108862 0.6119563322627156 +1786 -0.1405353174198741 0.812168683872339 0.4367113303867074 +1787 -0.7738299747870927 -0.2974613239839956 0.8259825343872197 +1788 -0.002242526922659329 0.5539589023784115 0.8231245880194205 +1789 -0.2179669845575453 -0.5622535755749039 0.1691052118530735 +1790 0.5379989534260448 -0.630336511817939 0.4077172872239652 +1791 0.1086069004858522 0.163030211850888 0.5374334202683736 +1792 0.4851573320150915 0.4450302545099519 0.1566884761543443 +1793 0.7989556546867123 -0.1383772804983302 0.3788260141967923 +1794 0.0548686064066877 0.827236064680549 0.7413933667493832 +1795 -0.3055177720446238 -0.4981229053173356 0.3330882535568133 +1796 0.1769587810515039 0.5806820633090871 0.4502372957038098 +1797 0.00788436454070836 -0.8234906999929246 0.7860215215908308 +1798 -0.09333842181712693 -0.3785738128740549 0.8458320987938355 +1799 -0.7326826399406376 0.3906063156287732 0.6872539056381207 +1800 0.6015703881463021 -0.02884688990223785 0.1680247055269669 +1801 0.2405359918876195 0.3251285330890784 0.167960069164899 +1802 0.04764131473372508 0.1407954968201949 0.3481412317006259 +1803 0.6582835203954377 -0.460958956796208 0.8241276271522142 +1804 -0.1003236606953986 0.1117195714679601 0.6879436981675313 +1805 0.359619199790977 -0.471595084913712 0.8086575156030822 +1806 0.05023143849897006 -0.4485421773352093 0.3570527679386166 +1807 -0.2271703504721426 -0.1505387656065419 0.6855745594722706 +1808 0.604791386523739 -0.1376106272891562 0.829419853602414 +1809 -0.3492194303285366 0.735314356559836 0.1698917820734844 +1810 0.7727940898592759 0.3049320081337835 0.8312799230815422 +1811 0.5725275904472352 0.3235572032388059 0.3884899348046464 +1812 0.4050750784823718 -0.4123944334903992 0.5901227636397952 +1813 -0.3482188580021762 0.4912575546189707 0.1717735591716711 +1814 0.1877928103938133 -0.5651493116531431 0.5091014581403361 +1815 -0.8309053164834572 0.09916345270842244 0.3661849051762534 +1816 0.2822330812622726 0.6094540843005447 0.1525343799729009 +1817 0.7187983492192621 -0.4001126954791847 0.6361169196718438 +1818 -0.2848324357203811 0.170529448607215 0.6313915699834518 +1819 -0.1849339743942146 -0.8121508127203738 0.3012375577739506 +1820 -0.2530325700440716 -0.400567397260887 0.8359187581116083 +1821 -0.1842345235238287 0.6054903173979984 0.8356501950781112 +1822 0.331915053891085 0.7634359821674879 0.3634064355224099 +1823 -0.5870687317058056 -0.2171529097092512 0.1464344801629032 +1824 -0.03053627006035877 -0.05613615487754769 0.8428409865875413 +1825 -0.3714799447726297 0.7366760718104371 0.6359557287868771 +1826 0.8039558449256728 0.1885996886821917 0.5726568361932507 +1827 -0.001445338825292797 -0.6337516402441237 0.5182528246749377 +1828 -0.5913247154698418 0.5944268792304028 0.838824300231077 +1829 -0.158204445660851 -0.7056021339752511 0.1536254533396434 +1830 0.04621414647486398 0.5161890192232463 0.6071342638453148 +1831 -0.6666581503985438 0.5035548404410138 0.1831282639766969 +1832 0.7435206435721979 -0.3852709447414152 0.3944882476029096 +1833 -0.0003998136292509211 0.4157143167071906 0.3436487650855608 +1834 -0.2135555971820222 0.2536324707384078 0.8524692623856582 +1835 -0.02810483534071526 -0.09835988443417776 0.330324679312081 +1836 -0.6279170535133959 0.0003280039747361151 0.5172274605396272 +1837 0.04005790518620359 -0.6174220263241886 0.8164104503971387 +1838 -0.4904513069467261 0.1657849585208185 0.3582319928258968 +1839 0.6616285756778354 0.07968846613322079 0.5969599349060676 +1840 -0.5768134633521648 -0.2384100448584009 0.8492825097624882 +1841 -0.7759516906407193 0.2979950667312992 0.3789506805582122 +1842 -0.806167993482036 -0.2392052159207246 0.6701372062062089 +1843 0.2638566743057945 -0.5833734203600671 0.3589981281964149 +1844 0.03341272347385661 -0.103097434363811 0.6964767133705024 +1845 -0.5183169493533077 0.6627224849093477 0.4349772174219652 +1846 -0.7656896649774887 -0.3434474696647679 0.392440366464793 +1847 0.1382510874307913 -0.7750790824987686 0.1624466801716171 +1848 -0.338389120067394 -0.3102780682840136 0.3013272440397201 +1849 0.8062023796483279 0.2056313452111498 0.1684561831511206 +1850 0.1165831524928068 0.04200525729415146 0.1596812354777682 +1851 0.4794815756866081 -0.04244585721961595 0.363186174756348 +1852 0.2196848041589182 -0.03150295060897854 0.5471664863652738 +1853 -0.4951334467428219 -0.4314283859619339 0.5101622648741549 +1854 0.2727724366482091 0.4337882142679872 0.6533491096537772 +1855 0.4783717801223517 0.7103051669154334 0.3526814219435931 +1856 -0.05968538438900177 0.2688241816102016 0.4763212471427867 +1857 0.07865273427543014 0.334620576033205 0.8416187944294141 +1858 0.4523237635254805 0.4575050559900113 0.7056787643635957 +1859 0.383614011996285 0.1733843183455504 0.1619844488672081 +1860 0.1528945964714104 0.8350167496336558 0.617769279175496 +1861 -0.3810453692341917 0.1521144517884436 0.1524725976178496 +1862 0.6367287015019442 0.05142655140704931 0.353963583226904 +1863 -0.675141396012364 -0.4938544061992682 0.3623801675630198 +1864 -0.3952708659698883 -0.7493662382857582 0.314573034557271 +1865 -0.00641772514232208 0.3797716891452446 0.6559702875964847 +1866 -0.4056058717496475 0.2608297054581378 0.6891088424098605 +1867 0.4511688696447874 0.2165642681834125 0.3739682299040198 +1868 -0.6805860272897432 0.5011631703370654 0.4324390846262091 +1869 -0.8466565270229671 0.06802380606178164 0.659508411096542 +1870 -0.5933442776108568 -0.6070374410110589 0.6827553414956054 +1871 -0.2748102527338946 0.3122227085600739 0.3298961001810516 +1872 0.3194209298214664 -0.7445901189862209 0.8244239534389373 +1873 0.2636109147598613 -0.7923202599736067 0.4362643328049295 +1874 -0.4104605918150604 0.3405032743413422 0.4744690190540853 +1875 0.497731678469152 -0.3918062262979392 0.1406749679960977 +1876 -0.5463228586924249 -0.3726200922846346 0.6889810645833149 +1877 0.6401470520902447 0.1368079710937282 0.1676449109544919 +1878 -0.5333102617735804 0.02637233237386779 0.6443866053997293 +1879 -0.1578853667264603 0.3082204050873464 0.1419614660580731 +1880 0.25627663475198 0.3672855549819526 0.3579218521225834 +1881 0.1700024468948066 0.8203364090456934 0.3441347102959313 +1882 -0.4341674543757161 -0.1300941436592158 0.3739877585526686 +1883 -0.3414550328214129 -0.5738035645444385 0.6243810967486659 +1884 -0.186513629274071 0.8144563022143906 0.1961518479863084 +1885 0.3336122019766977 0.2990217375759618 0.8534359276531993 +1886 -0.1181839931301286 -0.4042913210285911 0.7007949174089227 +1887 -0.5112703785083013 -0.2125421650725316 0.7105599843622197 +1888 -0.209001450474068 -0.2340451500234244 0.4774581323235618 +1889 0.8035758444736105 -0.2642566889231577 0.665137625415563 +1890 0.7169724804278209 0.4612359109139338 0.5491900517089714 +1891 -0.2757317080286829 0.5334357128757602 0.3164130711580824 +1892 0.4301138382390157 0.1985943530314085 0.5653657007665609 +1893 -0.1627577742021715 -0.001195750585257546 0.8622654563107478 +1894 0.4072648948638856 -0.7389216246603439 0.3283280205737901 +1895 0.2695858495689847 -0.5836342324276668 0.1516850538496391 +1896 -0.08587138519130103 -0.3389137726465978 0.1569444475996139 +1897 -0.6227885814444443 0.3452701714359619 0.1605569445272338 +1898 0.450434327607055 -0.5053648295996997 0.4644239969554326 +1899 -0.481421048340379 0.4648077925348399 0.3419521979175524 +1900 -0.1436454549948708 -0.04974846789106671 0.4366303736092227 +1901 -0.6883829836102946 -0.1322751384571004 0.6642966055710632 +1902 0.4153395568188203 -0.02791484241195973 0.1550702208969312 +1903 -0.1228020732084685 -0.0657178136667692 0.1822383356872605 +1904 -0.7284153656647405 -0.4235676597195699 0.1533768305375023 +1905 0.009269036339737781 0.6767846712810349 0.1487439585768934 +1906 0.423285827766928 0.5334492600172978 0.8351113226458562 +1907 0.6279503677636153 -0.5794260579909577 0.7279858797976312 +1908 0.3212007199821644 0.6684042613201846 0.8314238027711682 +1909 -0.4567399169128528 -0.16357636225273 0.8685311235584965 +1910 -0.07468177598850173 -0.6623720965978936 0.3445527322581249 +1911 0.5502443257222018 -0.3574562910487877 0.5455581455995123 +1912 -0.1523434405181532 0.8317190298195828 0.7082218540222007 +1913 -0.4298653743364559 -0.7309311751360307 0.133260320587677 +1914 -0.3086163759964929 -0.7944991924058475 0.8429797780370928 +1915 -0.4169706165896858 -0.03881233781539868 0.1504118452791452 +1916 -0.1208909348010609 0.6641297567151327 0.431453207533195 +1917 0.3894506179714239 0.3627694841090023 0.2917703589870371 +1918 0.3403096352977707 -0.1902416860682809 0.1471294841026333 +1919 0.4155294887764775 -0.372280200554244 0.3788324417354608 +1920 0.1943908291432948 0.1554617382001011 0.3343384728747047 +1921 -0.2406767524912235 0.6198909836858413 0.6971289203422656 +1922 0.204415702209442 0.1036610063050462 0.8434114307145313 +1923 0.1056042955190601 0.6018316461020546 0.7183356151760701 +1924 0.07435331390637703 0.6882420111834119 0.8444759389603153 +1925 -0.2549382868201227 -0.3783570936681964 0.4006959435890271 +1926 0.3233022635445528 -0.1576015873871742 0.8323405552906988 +1927 -0.1182994002500232 -0.849898711260532 0.1456914141872615 +1928 -0.357858125110728 0.01954613810997256 0.5506977046702169 +1929 -0.01511855704814912 -0.8532446143249087 0.3531900697639659 +1930 -0.5632762667403025 -0.6407979028855134 0.1494138890025552 +1931 0.6469315171048758 -0.5505720079786326 0.3269710015597609 +1932 0.09401207291875552 -0.1096474274749635 0.4133186831979591 +1933 0.7036063568755009 0.4699219939710699 0.8459200425305979 +1934 -0.2934731114084406 0.789790300788349 0.4820083765378938 +1935 0.03946014249263127 -0.3284741798551196 0.8644617041473633 +1936 0.4563504561876592 0.7346767936990294 0.7001763116719822 +1937 -0.7674548657012984 0.3553242103919801 0.8496144541008477 +1938 0.1356742045159678 0.140238045859411 0.6852200292755464 +1939 0.290429605096002 -0.3846400814489358 0.1380151093066113 +1940 -0.6507254956518073 -0.1636738432018194 0.2743510468864088 +1941 0.190811623188796 -0.3264262730376234 0.4693904305055324 +1942 0.6271254997605362 0.5989427029091482 0.5498764503875908 +1943 0.04502422238161667 -0.3506135963648737 0.6390954924758461 +1944 0.5077242953934304 -0.5072211571852391 0.8486610141192255 +1945 -0.03777458054809463 -0.3856459630839103 0.4574501879993149 +1946 0.8615839434959125 -0.03963956050052901 0.1852905941856055 +1947 -0.004403295663172879 -0.6561483201905337 0.1366540319560461 +1948 -0.4222245888486003 0.7408499474985654 0.3427712102634076 +1949 -0.6770237054379267 0.256256462200578 0.6307326259371607 +1950 -0.1394944136138131 0.5838850968065782 0.311692054138594 +1951 -0.2036914455284332 -0.6111799071307513 0.6751536208178557 +1952 0.6455839757028253 -0.1714511538782559 0.1479812868098924 +1953 0.4793442358729343 0.4874669874599891 0.4556826719475595 +1954 -0.3855780608594809 0.5153046523095202 0.8573513032203289 +1955 -0.03858390135697611 0.8561292636656469 0.2174591218443439 +1956 -0.4003600977475648 0.5231314450472277 0.5480748914947993 +1957 0.7815401134035289 0.3327831735073176 0.3642664999514215 +1958 0.1129826443257993 0.4525861622723021 0.4264320904699229 +1959 -0.3318456998022986 -0.7119802001657813 0.5762490051895788 +1960 -0.8545132267245719 -0.04755777290983507 0.338240457888105 +1961 0.7817887846351753 -0.3271615412923058 0.1497502420223775 +1962 0.09723650301649225 -0.1227523534334505 0.5555858448603935 +1963 -0.3660044343479124 -0.03383993761119039 0.7194958021375333 +1964 -0.5393918258985927 -0.2530595435986563 0.2744412727653065 +1965 -0.5159481199549143 0.07587615678718534 0.1505432019049701 +1966 0.3619321028599701 -0.1523603070208578 0.4207684972690086 +1967 -0.6712642511727395 0.1125655990280512 0.1491803782642384 +1968 -0.6240821087097976 0.1480343602383573 0.7189847823342462 +1969 -0.1540781954895405 0.07195775785137856 0.2043850547210984 +1970 0.007756341929499533 -0.0007317486991873616 0.4307291717870319 +1971 0.148471009875292 -0.4459983482725692 0.6817612562477511 +1972 -0.8624265574827907 0.07162893585749137 0.5186593331352873 +1973 -0.6964640569134519 0.4983596865309592 0.5823276483872792 +1974 0.5233733450119625 0.1672328172090549 0.8213864266180282 +1975 -0.7700628176684935 -0.349548182664521 0.5380510988969706 +1976 -0.6684038460302634 -0.07459254258892489 0.865209817429003 +1977 0.6226887569658188 0.3176970825916136 0.1443841252303541 +1978 -0.3318425490227083 -0.6337698401565606 0.1303006303859131 +1979 -0.4818251315158599 -0.5245014474373024 0.1357980335586472 +1980 0.2534540727594724 -0.05876400101501192 0.3789346697116525 +1981 -0.6541235907462966 -0.2531454839637083 0.4058056769199412 +1982 -0.1499482935980512 0.493632594461422 0.1377101246096814 +1983 0.2447165720457164 -0.07590326124960307 0.1482596096239063 +1984 -0.8329077338406882 0.1970260003520843 0.8592708661354946 +1985 0.0521451482774053 0.6369899431482834 0.2844046699467159 +1986 0.3095941028312735 0.1984158527612064 0.6726460547016013 +1987 -0.1053745315208202 -0.1774316746491195 0.7260511924578481 +1988 -0.1129110823529134 -0.1273212101665311 0.6001190340702387 +1989 -0.3212797913267582 -0.1013123079382443 0.2787012923900717 +1990 -0.8407309942512162 0.1280781056964347 0.1554967625398166 +1991 0.6454540808273547 0.5307950340608535 0.6690405156400144 +1992 -0.2857728797031585 0.03682617525362827 0.8761254971011312 +1993 0.7705053237288289 0.353846468087825 0.1581958014908569 +1994 -0.6269398065768421 -0.5870094471040093 0.8586576997831979 +1995 -0.1493883193483952 0.8182425327899607 0.8574972178579308 +1996 0.3816844596778744 0.3511401810028325 0.134132762010775 +1997 0.1021305835144664 -0.1820819017446901 0.1370485937360733 +1998 0.3299489826315722 0.3158882656869445 0.5864189748282934 +1999 0.6749641871789686 -0.2532530354217665 0.3601165341265737 +2000 0.4844849432713875 -0.03222832368722415 0.6176933160016455 +2001 0.1130719532265823 -0.2161484422951669 0.8686161567104039 +2002 0.01688249666331677 -0.06262851011003087 0.140656174200846 +2003 -0.6888338491996532 -0.04973444765955637 0.3535212188464415 +2004 -0.06078101861232882 -0.3731849320303456 0.2974727898666168 +2005 0.2381854841023914 0.1862299824883865 0.1347973478505014 +2006 -0.2169339704737894 -0.4930174115032767 0.4698600404624669 +2007 -0.1764686937026834 -0.2774317316934663 0.8827156901407857 +2008 0.4503038107896717 0.3895368939398637 0.8543470914581099 +2009 -0.8153689383985999 0.2782169484879964 0.6576373813955125 +2010 -0.5180451789410545 0.4339830042190708 0.6020182969900041 +2011 -0.1353049620719254 0.2421111304854398 0.7213911868126018 +2012 0.1738423958385219 0.44504300238071 0.8652382753153527 +2013 -0.3267663647819106 0.3390410415268076 0.8612438619911481 +2014 0.3268118562047991 0.6367596219995979 0.5794402963846924 +2015 -0.1959032762556433 -0.2562764642148988 0.6091266059239153 +2016 0.3245671343253437 0.0008227223510846593 0.8339114226918899 +2017 0.1699922890187227 0.7006951433005434 0.1282444979885358 +2018 0.4681548870006831 -0.2037328513698946 0.8426401386680222 +2019 -0.3139450585067586 -0.2002504462819368 0.5643568727734561 +2020 -0.4842503498049162 0.3243201543607412 0.1346688136399451 +2021 -0.2694241065154273 -0.5808822056188708 0.8582924895342889 +2022 -0.3747687766595331 -0.3995170086370441 0.7120794638768855 +2023 0.3638545515162389 -0.5865550587113519 0.2573938458692649 +2024 -0.02994398788792463 0.6158810436835728 0.6977766144061381 +2025 -0.5896254975076983 -0.3831143739463101 0.3399469973783634 +2026 -0.6553916055145144 0.1861145905565911 0.8672727607869558 +2027 0.2324666925986604 0.5272288444961796 0.2817573197542323 +2028 0.5234533766816716 0.6956442338327765 0.4818390239230312 +2029 -0.143108586245516 -0.2575682454831338 0.2591869482606644 +2030 0.202147887329574 0.4587049595779576 0.1413751693307268 +2031 -0.08245317675621568 0.1393045167178021 0.3572486292131586 +2032 -0.3682278968164989 0.0809603981577732 0.4380199719467451 +2033 0.5087140640619597 -0.02205638164481489 0.8722754105889063 +2034 0.7924578924016293 0.3310915914814553 0.615097352164342 +2035 0.02815135999219359 -0.861249229023637 0.488266326155156 +2036 -0.1211834908658382 0.4789833240186051 0.8378165973358933 +2037 0.3743591801744934 0.06975800195243348 0.6184895279382057 +2038 -0.2923489700470596 0.08667444134765857 0.2902749190465349 +2039 -0.6240164460985792 -0.2936448147172723 0.5784404905147176 +2040 -0.4289595768860093 -0.5525167045998479 0.3393790830145899 +2041 0.3284691262998812 0.8006642841284161 0.7832152399603012 +2042 -0.4517852707982987 0.2913503370526007 0.8737318726521681 +2043 -0.3390870145429675 -0.7985733630302621 0.6858265923484183 +2044 0.07792179024728964 0.188652146811116 0.858150342976233 +2045 0.4359789366756412 0.7525354218077123 0.5677536106845249 +2046 -0.7664309729408989 0.3944453903292283 0.2114998193594446 +2047 -0.5025123625823872 0.1757556783697116 0.6595909652974712 +2048 0.5605007860104498 -0.213348268790139 0.4692176289232913 +2049 0.02547515626218691 -0.8654102879607724 0.1530665330779941 +2050 -0.2320645277416178 0.4286705880866093 0.6880075025614245 +2051 0.71103308316657 0.1505976893632107 0.8530088479359534 +2052 0.07254739272985253 0.3036583899558979 0.2783049830612591 +2053 -0.7030099614339448 0.4927747923854261 0.8557274977516028 +2054 -0.8037921897671507 -0.3144791401830997 0.1968934136770429 +2055 0.8510626110999524 0.1447269019691394 0.7051069639910444 +2056 -0.7394487133086149 -0.4340441877693673 0.8597410423871857 +2057 0.5706702215828964 -0.6389539755521569 0.8483653811338041 +2058 -0.166466884876485 -0.5193644603884924 0.294925471131503 +2059 -0.5563314366416854 0.2972311155484197 0.3179156611508201 +2060 -0.8437713288196667 -0.1558043665946613 0.477171207579683 +2061 0.5693477694122527 -0.4065578562343366 0.3473326521144449 +2062 -0.3558309402667079 -0.3305608834554186 0.1342985513869139 +2063 -0.5071160786364058 -0.1921420909313377 0.501446101772024 +2064 -0.1981453591112653 -0.8393062738294885 0.4961079696749867 +2065 0.05714617420556981 0.2871164033826997 0.5401061538361155 +2066 0.407585456326406 0.5546926980459161 0.1339591827284597 +2067 -0.3373155936556095 0.4206093086326822 0.2909733991270204 +2068 0.5288454460251998 0.6726297682960756 0.1370778629464023 +2069 -0.5359543756392847 0.6721476480756932 0.7348560644741483 +2070 0.109582435080705 -0.8444023487053159 0.6648125982672333 +2071 -0.412305554623039 0.2142648263478042 0.2641421440127042 +2072 -0.03086858532825973 -0.3195875386158392 0.7477447191122346 +2073 0.8044360297039428 -0.295259036308079 0.2931257091938654 +2074 0.4426463936142723 0.5798626404862972 0.3468733865907183 +2075 -0.531752250770211 -0.4959040106959274 0.4005490619799961 +2076 0.215072692818648 -0.6476431261444666 0.8578943533502577 +2077 -0.4502575498169812 0.1253358155362689 0.8724046672968395 +2078 0.1594017372901529 -0.06814645861295532 0.6624015645543456 +2079 0.1791906203975193 0.703653199814367 0.6418321946996326 +2080 0.1707426408921319 0.03202920843108373 0.2835444251689719 +2081 0.8103502284106343 -0.2884360016704725 0.8457066659819364 +2082 -0.3037754403009207 -0.2449895359393976 0.7227812272517971 +2083 -0.4045618973188356 -0.3534839205219086 0.4234147908898253 +2084 0.03370643984283835 0.2377318496189745 0.1266110309831601 +2085 0.187477677482894 -0.4277894830400209 0.3732457411947996 +2086 0.6246570725778954 -0.3026020538078947 0.12944204208133 +2087 0.1422929777200452 0.8452344597810622 0.8621083526490309 +2088 -0.09581800271979862 0.3756704348650541 0.2615728127648748 +2089 0.6580102170889137 0.2119348249072855 0.4090759701756979 +2090 -0.2497776202802752 0.1004021247381746 0.1243075312393833 +2091 -0.5276279984374959 -0.01813580438970374 0.8897279362260793 +2092 -0.5986646229964204 -0.4023663467805549 0.1312116322188547 +2093 -0.04998243531167414 0.7147355450632643 0.5299638193617967 +2094 -0.01611740590383849 -0.4898887672873047 0.874455225128929 +2095 -0.4288698521298968 -0.7487335459696072 0.7835260162055498 +2096 0.4300412239152108 -0.5332695696788065 0.6667239147861811 +2097 0.4593610085697046 -0.2774091436706051 0.1164473313687073 +2098 -0.446094843380665 -0.004245758888901247 0.3852586196064489 +2099 0.5634350482328946 0.6588912766589122 0.7286210719197235 +2100 0.1093524335962942 0.6924244260953061 0.4835007226944565 +2101 0.3113151794181378 -0.8098133271240759 0.1492343551242979 +2102 0.2261547616118871 -0.2143694257270507 0.7399450068395375 +2103 -0.2695011798837563 -0.1492203953662797 0.4026954363923163 +2104 -0.52046819007892 0.4754830254977376 0.8646264019482364 +2105 0.4767358544441169 -0.334801081827565 0.6848973993766887 +2106 0.4039878646404673 0.7522247350622018 0.128985784642686 +2107 0.7284089487744495 -0.4581888072645059 0.1379528829805284 +2108 -0.3012589334976219 -0.5997730886411534 0.4204638190196012 +2109 0.8617966038789814 0.05154076000074044 0.3626027265360391 +2110 0.4184364894202214 0.1019661860802095 0.4625477133632412 +2111 0.4249707496715782 -0.1584038660477894 0.5871206330256833 +2112 -0.3143870087252855 0.2881098982817215 0.597806579385178 +2113 0.1904591451034299 -0.1953803137487679 0.3307083035107737 +2114 -0.590437848454927 -0.4844182346809008 0.6377645435900637 +2115 0.8749123148238568 -0.04478980193878082 0.4988354464982971 +2116 -0.302006289395057 0.211558699748169 0.4779830889316083 +2117 -0.5530381799961132 -0.3699877899608249 0.8691780001893157 +2118 0.326014923668712 0.2712169152248007 0.4229027385370693 +2119 -0.7075999267503031 -0.50840929885149 0.5418166958216977 +2120 0.0449852893873208 0.8707059098043478 0.3240968452739816 +2121 0.2998220070820717 -0.2454268602671927 0.5505405629559654 +2122 -0.5713290975760634 0.4004285480721118 0.4156788526751678 +2123 0.1720780333727027 -0.4957863845908874 0.1301976564814535 +2124 -0.130005213064852 0.6933699854453785 0.1532813467799198 +2125 0.6491116981490382 -0.5655791039887097 0.5814032293432129 +2126 -0.4278420612182201 -0.5336815755608638 0.5368112300258705 +2127 0.4940549362350651 -0.5610104503562485 0.1262625751447525 +2128 -0.8632263904823065 -0.03258412993320441 0.1359300033844008 +2129 0.817359317282351 -0.2685592368443043 0.4437286830271966 +2130 -0.231143498934721 -0.4292992281458771 0.1324074038811776 +2131 -0.02066779420125272 0.871439116762076 0.8499999999996051 +2132 -0.3777182983292913 0.7852011072999616 0.8718178819436684 +2133 0.3011944427976132 -0.3533675701585708 0.8694816491296433 +2134 0.3572205794700266 -0.4304800124034842 0.2734337790643249 +2135 0.8673958278775882 0.1350824430758515 0.8711602138943128 +2136 0.4663316877890993 0.3940448595226275 0.592085064548579 +2137 0.1404903222984472 -0.8448549667739323 0.8519068284621614 +2138 -0.4281054228584459 -0.7561797242782903 0.4915515253396683 +2139 -0.433793309169308 0.5703248562650641 0.4007157948739776 +2140 -0.1090446786688798 -0.8614404783318387 0.7223870142249312 +2141 -0.6598250830097732 0.234999957279331 0.5021756455246768 +2142 -0.4767228756634362 -0.08063595209186565 0.6868453284547131 +2143 -0.005094497581354419 0.1142870001487638 0.6022805409196011 +2144 0.6446198276377881 0.5727286404950058 0.1306747939987768 +2145 0.2902690785172535 0.6251009134597456 0.3946522666868959 +2146 -0.03937657111813746 -0.7201721939854757 0.8663568680968272 +2147 -0.4726073325593608 -0.06066455103441372 0.27261715086736 +2148 -0.3485981627200821 -0.1173667628696722 0.8910311826860182 +2149 0.5585536321932957 0.2001222511482689 0.2854493449900224 +2150 -0.06552023583333047 0.4872720529002833 0.4300474499438339 +2151 -0.4030908729717043 -0.3947281058127801 0.5825853976342223 +2152 0.6804186525250848 -0.2050497613511079 0.6337366208624945 +2153 0.5159528185478226 0.1781693547799776 0.129350738863068 +2154 -0.2597978663432111 0.6365349432530092 0.4001420343485349 +2155 0.5855119548801235 -0.6444008373211545 0.2421758263137414 +2156 0.03865251251326511 -0.5271898091398926 0.1202821872881676 +2157 -0.2288913240121414 -0.1203480447201896 0.1248960038762526 +2158 0.1986461629978537 -0.668798629920818 0.6081804647064244 +2159 0.003100212235885563 0.09268042891230249 0.1259204092094739 +2160 0.6965096234737141 -0.1403125820880333 0.4734345699260439 +2161 0.1446204120610582 0.8607261559285454 0.4837414622538871 +2162 0.4382935524849751 -0.7451465805670994 0.561004440108812 +2163 0.5784462069780928 0.3682393460436278 0.2629425606446049 +2164 -0.168717008880517 0.2736773688308151 0.2739605406923505 +2165 0.8754001081847939 -0.09151966634231169 0.6780388129930293 +2166 -0.2301814076080373 -0.2613333283312384 0.3536558841395496 +2167 -0.5119994435653263 0.04757516745716822 0.7680478058306511 +2168 -0.1517022806520584 0.07610367848856762 0.4547096944427634 +2169 -0.8195564891933078 0.2906185727695579 0.5223718146680493 +2170 -0.5144703615632579 -0.7138788891709172 0.2730183870821554 +2171 0.635576245219496 0.6036773972000575 0.8778523654792363 +2172 0.02746696505773132 -0.7331814366836649 0.3940453552013738 +2173 -0.7113668655479333 -0.07190679329222817 0.1335562639235685 +2174 0.2616007020749181 0.5375632658865633 0.7290682199201327 +2175 -0.7200725993565874 0.08799673153141857 0.4887345631313922 +2176 0.397861427587146 -0.2275098156516904 0.3144995843976999 +2177 0.7133411803209897 -0.05159969981505366 0.8585219301465822 +2178 -0.5131939601196465 -0.5097371429420083 0.8735660740694992 +2179 -0.8729528003021098 -0.03372038410573563 0.7415880824103332 +2180 -0.6187338568032139 0.6038335396449142 0.5097927732560312 +2181 -0.4176772583368683 -0.2863338223728813 0.6778208325298672 +2182 -0.1354292810457839 -0.7026243217193664 0.5611410673575306 +2183 0.1589700585151907 0.4562335338220426 0.5993665183788323 +2184 0.8474916763452298 -0.06823392732662401 0.8829261447681226 +2185 -0.2597373148840892 0.2496619195761607 0.1139627706363393 +2186 0.8687081746729429 0.09164468733043842 0.5014760961511827 +2187 -0.2658779482459565 -0.427057820612197 0.5784470957490582 +2188 0.05968148309574124 -0.7151322106441117 0.6468566374953603 +2189 0.02696670555560149 -0.649371343131795 0.2633823340260381 +2190 0.1201373661510256 0.3351693606141496 0.1186545784856358 +2191 -0.5555330342626372 -0.6758021520003612 0.4603342036701946 +2192 -0.4540038180092959 0.7390275182057859 0.5276474331628709 +2193 -0.5678494371046306 0.1361280990209974 0.4558787611814688 +2194 -0.3094558019141869 0.6306867773119552 0.8684944250898533 +2195 -0.6478463642713282 -0.1644725353508851 0.7779601935734238 +2196 -0.3418424094899757 0.6129679110103989 0.1259274513382152 +2197 -0.8425480989053364 0.175489570599074 0.7318343723324974 +2198 -0.6108023588398432 0.2765972371433255 0.7367462685669015 +2199 -0.0705877061089495 0.05400192007510454 0.7961190223067058 +2200 -0.2582350196477303 0.3790449128729736 0.1193059551240202 +2201 -0.1706698390301715 0.1132498856446494 0.8950860414847661 +2202 -0.7591507881448514 -0.42337839102773 0.2843846420165516 +2203 0.6438126960021688 0.2078133375394828 0.5535791465680885 +2204 0.6168288236555156 0.4076720055539471 0.4768854602621236 +2205 0.5739697891217915 0.4360889036879847 0.8759765275922213 +2206 -0.4884295273597861 0.5512444467548523 0.7607880847850065 +2207 -0.4542928816252397 0.5453812578394018 0.1240177515399751 +2208 0.261624890239488 -0.40119606724469 0.7442159026075457 +2209 0.7331837238761277 -0.0630136608353149 0.1344798783598035 +2210 -0.2266294319378325 0.6196540164821029 0.5256194846575831 +2211 0.03180174676749169 0.4758692011020362 0.1214094619437233 +2212 -0.04508048130781325 0.8830523630817037 0.480781885161649 +2213 0.2916613304903793 0.5464997579652749 0.4957111352822977 +2214 -0.3203502223202499 -0.07384788842334793 0.6133182873591528 +2215 -0.5380784997946538 0.3929104142623951 0.7198110331437398 +2216 -0.312228301964958 -0.3349511100522805 0.5000315575817653 +2217 0.1888326072221622 0.8524176940674439 0.1228826878392107 +2218 -0.1691177060001753 -0.6713293876680581 0.4320767870410506 +2219 0.1272138086452964 -0.5283284570303273 0.2890461440558724 +2220 -0.3505778254515487 0.4523296977406454 0.7185033767290285 +2221 0.1956946211952566 -0.6754047070053554 0.4310614104724295 +2222 -0.1446697533872223 -0.2247203389117624 0.1176825865635955 +2223 -0.4942937098735983 -0.4573155170753133 0.7629010370908696 +2224 0.3416713788838051 -0.5465299964980086 0.5373652498709482 +2225 -0.7088442868479409 -0.2564314538015007 0.1210172847151226 +2226 -0.04367934952078386 -0.5478622694442657 0.7133683225577869 +2227 0.02852260619191879 -0.5211699853933912 0.4619289503990009 +2228 -0.3128156353188873 -0.5902798806338294 0.2467061616839179 +2229 -0.3621605845813457 -0.6759180858065998 0.8736043641992075 +2230 -0.4228491020508428 0.2306411497258943 0.4311770120814226 +2231 0.2128088682387878 0.09565874999758578 0.5844455953955177 +2232 -0.4201947135982907 -0.5752013897437992 0.7248894431845913 +2233 0.7670461092082307 -0.3964413405813574 0.7664247226701217 +2234 0.2955637069830203 0.3371794459178669 0.7360275629860141 +2235 -0.08306337875262423 0.726640688726247 0.6579836431430559 +2236 -0.8614927143241016 0.186204377540418 0.4575613541717961 +2237 0.372564188050625 0.01900342901468431 0.2700874841987623 +2238 -0.707072371745466 -0.09080107515764435 0.548262696060391 +2239 0.07599492185653708 0.5164261827226531 0.3214080737210531 +2240 -0.06176992243677895 -0.3746645490543384 0.5802921801192368 +2241 0.4518089925317835 -0.7327838687244022 0.8694213303231109 +2242 0.1918970411025933 0.268069179114617 0.2811200514679383 +2243 -0.3873675532231218 -0.1288565776315491 0.7823834800770124 +2244 -0.1834296369906647 -0.5173505803729128 0.5971435019083324 +2245 -0.2084055373590287 0.0008102796845953705 0.752282577917964 +2246 -0.6479151866699771 0.6017136732343189 0.6300404720474444 +2247 -0.05991368491463218 -0.2710246483466783 0.8859288662076903 +2248 0.7400845699771194 -0.4492994231341511 0.5127387006658841 +2249 -0.5245679716761251 -0.06211804064878583 0.4917199057722887 +2250 -0.7397056113704532 0.1264893625038761 0.6806403356675745 +2251 0.3009917913270679 -0.8205713287124525 0.3092661019932553 +2252 -0.4308275358661132 0.1055219969709007 0.5888931269828666 +2253 0.3411886035031085 0.8128593268228195 0.5062763367268764 +2254 0.3079914897618015 -0.623414953184965 0.7576055398802707 +2255 -0.6918149932917412 -0.5311888534625948 0.7156976190808847 +2256 -0.7042730630509243 0.520923756062347 0.3062494358950403 +2257 -0.01106574404122819 0.02586616790915422 0.6911727279321092 +2258 -0.1930393676269077 0.4210243056095462 0.4853758761081264 +2259 0.1518628223552008 -0.85984320316181 0.4455305749828634 +2260 -0.5110010840649366 0.6688223578451187 0.2883260198669096 +2261 0.6093389486430764 -0.3281682461954512 0.6653268224844119 +2262 -0.4377405391314869 -0.2338962561215107 0.1166026313064532 +2263 0.30932925509431 0.5347222638269348 0.8889597075861344 +2264 -0.8529599691625255 -0.04715270728329735 0.8768067807143582 +2265 0.5705275225677714 0.4154091636185963 0.7348201590830821 +2266 0.206356229831661 0.3043119838017404 0.5070062594364583 +2267 0.692311548412869 0.5434689116933111 0.2846347469397439 +2268 -0.1112287696760226 -0.5971837912218924 0.1178218659070199 +2269 -0.1069738191185493 -0.467056791591184 0.121432986183224 +2270 0.05951738160900624 -0.01110519293653066 0.3182576973045928 +2271 0.03715439039233374 0.2032376041808521 0.4499537686765792 +2272 -0.6312156768940697 0.3831515523833683 0.6150693504122872 +2273 -0.6596639282751064 -0.3462807864717022 0.8072270286028785 +2274 -0.1401301289632564 -0.8758094357823268 0.5952974755384872 +2275 -0.2422225931277653 -0.1379849442281665 0.8998652036123262 +2276 -0.008260795301274007 0.4892064382683021 0.716364486364228 +2277 0.06799285948129917 0.8783982649409768 0.1094732129755622 +2278 -0.04489473912737343 -0.882213755989069 0.8853657120315455 +2279 0.5139293429248954 -0.7108036365664978 0.6928797598986596 +2280 0.7395687384930028 -0.4615800649837196 0.281768159596529 +2281 -0.2859541316739108 0.8254181785194916 0.6907814451207113 +2282 -0.7673327022223874 0.01942308866883461 0.5791528110381128 +2283 -0.1519423874496985 0.8680516287908963 0.5539514931784805 +2284 -0.003160735828721187 0.4328678114697446 0.8778472233740576 +2285 0.07876706367311694 -0.2731895598073755 0.7549454615414823 +2286 -0.668928534461666 0.09234975826996279 0.2807294479214926 +2287 0.2445389588061809 -0.8287261160441902 0.7008083784181578 +2288 0.6878763055834252 0.5664017689938763 0.4535001407517111 +2289 -0.3606430399161139 -0.3438416372315969 0.874106787287547 +2290 -0.03634985566169268 -0.0383042948971047 0.5786281650343603 +2291 -0.2628680178891547 -0.3596398007741763 0.7207584167493158 +2292 0.1748083921099408 -0.6447246389686296 0.2926940211097027 +2293 0.1741781246900539 -0.3514373833453682 0.271811731776891 +2294 -0.2724534235454008 0.8444844234944096 0.840340185755751 +2295 -0.1934667943394935 0.1164392511861519 0.591991332602917 +2296 -0.2413847231845873 -0.007483565428977712 0.475157124499027 +2297 -0.6501937163149081 0.2314089449086799 0.1174106113993713 +2298 0.02871906184896342 -0.2885991580420501 0.1200399895727922 +2299 0.7076003968700006 -0.2088792479082664 0.8755662780818965 +2300 -0.0924891428306187 -0.2227926980289624 0.5041817149592234 +2301 0.1034835483877327 -0.7187886754876687 0.8759122139825558 +2302 0.2384567947738816 -0.2394414964015217 0.8831091117757721 +2303 -0.7196243451042592 -0.1942427711482292 0.8806219913646722 +2304 0.5351650499329617 0.2669854041137404 0.4978022881200124 +2305 0.04609212571953434 0.707739102236248 0.7211572895879458 +2306 -0.06708076649580778 0.3037929851162793 0.5888991846335887 +2307 0.8273927108044181 0.2756320917676425 0.4805977988675463 +2308 -0.06173606284472631 0.4755196217829663 0.5759606114053337 +2309 0.0103597557457385 -0.1981888847582778 0.4077772097049084 +2310 0.07881446054181648 0.3148822701007892 0.7189382941379564 +2311 -0.2457734447204658 0.1231549282552542 0.3928551226260663 +2312 -0.1365054661452632 -0.4131700800579434 0.3873765169496516 +2313 -0.5172857299370747 0.2198732152534002 0.5526711743043649 +2314 -0.6529509565799958 0.3081978964937696 0.4024891505487019 +2315 -0.4334706069114553 -0.2424867563426233 0.3307516450705096 +2316 0.7669527278168213 0.4283723966071037 0.2776031195887856 +2317 0.3425050496559507 -0.6869874995454376 0.1382418908549793 +2318 -0.2435937050385879 -0.1806801165553812 0.7925936997363811 +2319 0.5335477827580272 -0.2977232175298803 0.2156118775128731 +2320 0.4279197115967669 -0.1954553257682189 0.7135861056391007 +2321 -0.7632898234817707 0.424886709946585 0.3720072474276619 +2322 0.4553911077758795 0.2622707893550857 0.8768335282161137 +2323 0.1072500876528361 0.1507694958584511 0.1060305222655844 +2324 -0.1784951738045083 0.3727212418215693 0.8744058047094799 +2325 0.2118672776366412 0.3245743167064246 0.87983450483639 +2326 -0.04768583356384522 -0.1530616949176209 0.8938136988610232 +2327 0.598743310049287 -0.6328343824126836 0.1160238864329421 +2328 -0.2607565495322178 0.5290858255970026 0.1071400737032346 +2329 0.2673551423661406 0.6579740718612938 0.7122299127253394 +2330 -0.801512684126794 0.3118041303649108 0.1175785224512145 +2331 0.7437031163808722 -0.0242193730011715 0.3446559654053969 +2332 0.3499907189222872 0.5623141554664739 0.2705052489118191 +2333 -0.1643166816322504 0.1694310739211527 0.1051357566563701 +2334 0.1929091362847992 0.1345376266472419 0.4542977303462201 +2335 -0.1124204594881851 -0.5819558550809335 0.5210516534636667 +2336 -0.5084199959277955 -0.4444603151855853 0.220723194055439 +2337 -0.2789954484863568 0.1522361197310045 0.8826779855850262 +2338 0.8376687423874736 0.08067672834991416 0.1306632168666219 +2339 -0.8500214176095467 -0.2018657388989338 0.8726825278466326 +2340 -0.3213052287034535 0.05927932068564287 0.7693916333919271 +2341 0.4769660769165362 0.539117235549701 0.2303064781193769 +2342 -0.567111067935721 0.2973474428569919 0.8900935853414061 +2343 -0.2630041018526245 0.4163414206366461 0.3803127202711374 +2344 -0.8569820592322305 0.1788519235699778 0.270780100381906 +2345 -0.1265852605636568 0.8325838489058752 0.3095546325130685 +2346 -0.2313091870926866 -0.8372881113148269 0.7371624260604447 +2347 0.5259214717337009 0.5436647930374019 0.6653395865401021 +2348 -0.2661206666099213 0.3925590208190598 0.5831770919026749 +2349 -0.6642360217921183 -0.5719910950865912 0.115899720895081 +2350 -0.8789604088266498 0.05779302487135037 0.2602176143940107 +2351 0.5391675421182213 0.2413473284557956 0.7158312877061487 +2352 0.3892959914022961 0.1388802662588759 0.2989853186986579 +2353 0.1671512167657742 -0.3581344598906235 0.1149439166516288 +2354 0.3513189261162471 0.4285458444201547 0.4689529960618487 +2355 -0.3513967094937555 -0.1450577646384512 0.1370638653018941 +2356 -0.5974540373835732 -0.05977969933486485 0.6906087649328974 +2357 -0.1325482964523836 -0.6287691039728343 0.2436318915036923 +2358 0.1917952515617314 0.6916597395920823 0.8835954421830493 +2359 -0.6330529246143992 0.6075491585915298 0.1193269840081813 +2360 0.06756066988117065 0.7824901657520568 0.5522235731033001 +2361 0.698612506932061 0.04980005306949521 0.717470787539328 +2362 -0.009187454992049676 -0.551415565099331 0.3273578635910566 +2363 0.7232866784927818 0.1353541724390264 0.4863130257853776 +2364 -0.06595677112407859 0.02555828683161531 0.3457751356063658 +2365 0.7956166108275354 -0.333200945626086 0.5548065902094644 +2366 0.1729706741704808 -0.6757872936345291 0.1053058864963726 +2367 -0.7178850837771031 0.512551654040256 0.7285247996640138 +2368 -0.6969513956752189 -0.1366488526729163 0.4369874837445226 +2369 -0.1450926482975545 -0.1632937243396614 0.4104519280590921 +2370 0.4518296353846791 0.05390498012484093 0.7822314163031161 +2371 -0.1767444690998057 0.7157690161410489 0.733573179916196 +2372 0.1145569125389477 0.5927352460418428 0.5493706476292187 +2373 0.3015911955659955 0.07085109470261591 0.498380343503586 +2374 0.584799329962529 -0.2558640549791161 0.8839594110236579 +2375 0.2440983225815901 0.8321692492361912 0.6998417977271842 +2376 0.008676699413781221 0.1922692337419056 0.251057676302273 +2377 0.09986632115107058 0.7199684469891652 0.3630731185764738 +2378 0.4258639543914774 0.7535638312336956 0.4491979144744877 +2379 0.4102887080235374 0.7773757603123107 0.8830553182740463 +2380 -0.6570752876172866 0.2301293649843746 0.2887693992858603 +2381 0.06281449872851401 -0.111305402757612 0.8898672934999707 +2382 0.2497886723203865 -0.804518886331922 0.5690536392090707 +2383 0.3667674744820123 -0.5888428398174127 0.8727292987286249 +2384 -0.6491716578288269 -0.5983654501161236 0.427526243809884 +2385 0.7142563548047179 -0.05405475680806619 0.56148258012593 +2386 -0.4692126262650984 -0.1906598236834432 0.6079369715097067 +2387 -0.165350744629738 -0.4658533171618945 0.8839049523859497 +2388 -0.00203611325756612 -0.1581685604507499 0.601828464627138 +2389 0.363338797295406 -0.5093137697696232 0.3695637020961671 +2390 -0.879368004387524 0.1674245137700446 0.6176118543257719 +2391 -0.5253093697390868 0.1016727486907353 0.2653953239242386 +2392 0.5643590977351451 -0.02945493179778654 0.7185066966101138 +2393 -0.4030534023455305 0.7468482229607525 0.7560330915264203 +2394 -0.05350969781595893 -0.8791981019093912 0.2424317890295014 +2395 -0.5003235123498349 -0.1293684761226814 0.1380242626850928 +2396 -0.2823962769271831 0.192206656460126 0.7425656966328283 +2397 -0.05400756433641702 0.5728012059977002 0.1135092055117841 +2398 -0.1569194240605987 0.3096239321369948 0.5152914790719021 +2399 -0.4265671458098727 0.4263212471274 0.1077230073009017 +2400 -0.4667335898631721 0.7499228336359395 0.2059480009659982 +2401 0.0168043627276571 0.3147937073877183 0.4004989607929321 +2402 0.1362475547994517 -0.3122904480659182 0.5739390142152587 +2403 0.8378694913814254 0.2444287930780201 0.2879931114609292 +2404 0.5268538545457165 0.5519675654331718 0.1220457476485982 +2405 -0.3541752684817162 -0.8095210253914451 0.1005367323805687 +2406 -0.3059303272676707 -0.8291036367684971 0.2858689232245946 +2407 -0.0956344849167523 0.02624763777272202 0.1099892011747551 +2408 -0.8355304288189297 0.2849969981868482 0.7786997175527066 +2409 0.5117954485097618 0.04971787738166206 0.1191445498307176 +2410 -0.8886560771590784 -0.04428306610507191 0.5030357868732783 +2411 0.1641351805311174 -0.3266035949303079 0.6929428052026156 +2412 -0.4019108761728868 -0.376206691813639 0.2330153016286595 +2413 -0.19253856698177 -0.05873531275601131 0.6345540196672956 +2414 -0.7986767759779391 -0.3559955447908391 0.7170917276033694 +2415 -0.3040084074753846 0.554828675608496 0.7756343917376525 +2416 -0.08841285328222195 -0.8842467546987015 0.4886654150639232 +2417 -0.4214742872825706 0.3786380255460943 0.2252825993625888 +2418 0.07323863756976388 -0.3541254550338565 0.4265429516097272 +2419 -0.8857883421615029 0.09425025165115597 0.8942104162820096 +2420 0.12819380706919 -0.4157863220830732 0.8825046044279785 +2421 0.3921512699707084 -0.7862573287597224 0.4475674983668408 +2422 -0.8864723922235244 -0.1726793098687508 0.1012380834523817 +2423 0.4950005518426009 -0.1516580621437496 0.30781427782274 +2424 -0.243075719294489 -0.8567832708911585 0.1415670500428222 +2425 0.05274733996351354 0.884210616931756 0.6423761537645065 +2426 0.7081573077296356 0.1477606077299298 0.3112158416495013 +2427 -0.4452376642109293 0.3108914809167726 0.5764310012484809 +2428 0.5363824956927603 -0.5048027974342516 0.5584307234879031 +2429 0.353206615773795 -0.03573375198971941 0.6896887579106838 +2430 -0.1493219112810019 0.4684994082723853 0.3058920056320914 +2431 0.5067414500914375 0.08280340869937342 0.3712738821688081 +2432 0.4983317632081675 0.5871953798631295 0.5086358837808352 +2433 -0.2935538764577099 0.6455145231532105 0.2809084813828673 +2434 -0.7273353879495315 -0.02002580878198109 0.7753594436821177 +2435 -0.7235391937661055 0.02820105734613464 0.88297879965541 +2436 0.3825114231718587 0.7916464634311919 0.2490553155892782 +2437 -0.1811792491691644 0.1575944289684879 0.3118208342135301 +2438 -0.4893648739236516 0.2008429353134445 0.1108472750580403 +2439 0.6383741463351682 0.04324911171065739 0.4791634957667847 +2440 -0.4503358008766135 -0.02730383339533118 0.5923059509347892 +2441 0.09873909204297887 0.5357428498191477 0.8838105503805405 +2442 -0.5619067762803357 -0.136714929497455 0.8905324465384478 +2443 -0.01837079936018123 0.7035081070241614 0.3835564548408916 +2444 0.4711248322776101 -0.6250476826474877 0.3043215287869512 +2445 0.5897433175557163 0.4241212148437575 0.1084340557758703 +2446 -0.08740700537004643 0.3974161361500688 0.110910604675168 +2447 0.2216517578164336 0.4760164947001516 0.387335777729524 +2448 -0.4528098536314328 -0.419479892280014 0.1034904843971675 +2449 0.05147574463424176 -0.1758573597089193 0.2818534032154556 +2450 -0.1818523648389097 0.6846702278222152 0.2628642813572108 +2451 0.795137646385784 0.3919691114818719 0.4692244713423687 +2452 -0.5143594292978227 0.3698122328540038 0.5087550127193036 +2453 -0.02378845587051304 0.2785799129580526 0.8881610573358315 +2454 -0.1190983291590649 0.403342398136655 0.7043591444077335 +2455 -0.002775935685714513 0.0912922196556962 0.8886578650363737 +2456 -0.1098670533661756 0.8738973901360845 0.1126839544040316 +2457 -0.01872745901214463 0.7915210253315603 0.1148507242076042 +2458 -0.3068583310911465 -0.8320022908886323 0.5558800822071444 +2459 -0.3176019352912839 0.6328680502470627 0.6044803571556786 +2460 0.1996209859809512 -0.1775165547069238 0.5813834226631769 +2461 0.8767218441707958 -0.1603435450373664 0.4672695155537324 +2462 0.6757061787376165 -0.573941814190135 0.8814334124148904 +2463 -0.4875183359680914 0.2986360902817211 0.7582835204172437 +2464 -0.03503736920007293 -0.7698373914386625 0.1123330312666939 +2465 0.3239910735242452 -0.3257625998987519 0.4618755447357054 +2466 0.470886053371064 -0.1270324973939585 0.4756308818135214 +2467 -0.2091331631349347 0.7150639398226148 0.882939014365508 +2468 0.3990299430482901 -0.3997337702822519 0.09914230070784046 +2469 -0.5012188830680787 0.7335156457494176 0.8908085243590651 +2470 0.003848836637312544 -0.216537633662662 0.6959571879569335 +2471 0.1131339565504012 0.3859002936317977 0.5204185849363737 +2472 -0.5888828069896608 0.4488495386717333 0.1090059415425738 +2473 -0.6182660230345787 0.4421785141287889 0.5146362055742719 +2474 -0.2045629512271269 -0.6554492666580279 0.788036609193652 +2475 -0.07369557385925962 0.6364066549149463 0.8801437939171468 +2476 0.1911863115688246 0.2125257812440618 0.6080718297096164 +2477 0.8709048824008795 -0.1437495302845862 0.1195144415317429 +2478 -0.7559330325688134 -0.104108997553393 0.2564912382521813 +2479 0.04853344471661854 -0.4670617003498217 0.6236155582441149 +2480 0.2074549457663429 -0.4481085470601496 0.533855350391638 +2481 -0.5026286269380249 0.5592997903583453 0.2362335032334361 +2482 -0.2599670017132745 -0.01627930629665848 0.3129232932507764 +2483 0.4739010821014409 -0.384807313737397 0.2740106320951823 +2484 -0.04804731393886176 0.7637606242255439 0.892373515514349 +2485 0.2873892026654858 0.7684493056188395 0.8947196027460499 +2486 0.602760514925576 -0.3261898845380847 0.4367597523105626 +2487 0.5084618433985454 0.031533128957732 0.5129687128647857 +2488 -0.8588203985831578 -0.2289370480114645 0.2630802379819829 +2489 0.2968228566192395 -0.4913974444873186 0.09903750671263219 +2490 0.5031158898010433 -0.05260613820143356 0.2365579889137608 +2491 -0.8360669562832218 -0.2768045825616382 0.4661177155800343 +2492 0.2964091490060959 -0.7009294093468018 0.3623566726560092 +2493 0.1296209587705252 -0.003375223467947483 0.872232017301816 +2494 0.1889881507659373 -0.8663738013578975 0.1039594558966887 +2495 0.2111068529131338 -0.854830058110275 0.2276312599948431 +2496 -0.4874281790048631 0.5392023813852088 0.6440456301570453 +2497 -0.04555507823656343 0.8885726552611327 0.7129149470975077 +2498 0.7419952613625633 0.4925290912602127 0.1165335476906518 +2499 0.6783636692149424 -0.3375476393846231 0.8838839216746504 +2500 -0.7089992172148539 0.1221354935867291 0.7900450228341437 +2501 0.5377967611247878 0.7100137323814657 0.2496423803562592 +2502 0.3029480416455027 0.6788133186042661 0.245721224466241 +2503 -0.8782523081640018 -0.1112641676947825 0.2367804314054446 +2504 0.06393872488865035 0.09499034438053879 0.4604847267735397 +2505 -0.6172927195811451 -0.1645512636263438 0.5140214823709259 +2506 0.03973754380982453 0.5104738033013606 0.4928730782999851 +2507 -0.5613050686058438 0.1289968699402654 0.8922713433383548 +2508 0.2147299506440449 0.8569453331627017 0.2394964206150056 +2509 -0.5697293392797402 -0.3906132163732456 0.5817916286969457 +2510 0.3996759559028488 -0.2742151440180576 0.6132878982951655 +2511 0.1834329879367775 -0.6098979520660582 0.7395999174902119 +2512 0.2543166337323283 0.2094003572360646 0.8807876800425103 +2513 0.5200739115614024 0.5828771878317536 0.8794385204502011 +2514 0.4132016332162179 -0.7818911324564904 0.2128760980827269 +2515 0.1904768425396144 0.3722099199832721 0.7747487630979676 +2516 -0.5616276625945364 -0.3084654180516521 0.09928056456642367 +2517 0.2892190805005238 -0.2147118853972362 0.2658532505645884 +2518 -0.4254230269705039 -0.7769822271743112 0.6079404865495407 +2519 -0.03004934973551317 -0.2599616644644586 0.291073801737881 +2520 -0.003007918405555896 0.1447896474729849 0.73853857261023 +2521 -0.006348030483308995 0.2559658825345344 0.7707664329257755 +2522 -0.8669537149986938 -0.1474931120090087 0.7119801948636928 +2523 0.882034528640579 -0.06491639713515401 0.3191452186667358 +2524 -0.3355728541825816 0.2917556603669511 0.4155789458479573 +2525 0.3089270972551666 0.5133032877852798 0.1031662127190415 +2526 -0.1350834257185179 0.6228709002712287 0.6544763974803552 +2527 -0.1772612045493558 0.1657625738449891 0.5008014423832123 +2528 0.07018456905330597 0.09865689055634161 0.2467448365072835 +2529 0.8291350990739219 0.2699307733243039 0.7216009346769817 +2530 -0.3023983196602176 0.8272831562813943 0.2390634322611931 +2531 0.4187906168829776 -0.3948201840526644 0.8896378107866053 +2532 0.575908122455379 0.477424397939877 0.3982378798416173 +2533 -0.2469262469680668 0.6958523014740117 0.1117522019013327 +2534 0.5642808990330335 -0.25200584459265 0.7630866585772939 +2535 -0.5089170328815675 -0.5499041421731367 0.2601674754265469 +2536 -0.2455171633272462 0.8555782262973937 0.390064471335517 +2537 0.007699149380494194 -0.7513592907748177 0.531177985980344 +2538 -0.161329406405158 0.5094496066661864 0.5430628400466672 +2539 0.5087895337153292 0.3464891642073728 0.1086108905307392 +2540 -0.1954024557718877 -0.3634261145269481 0.6339685439325832 +2541 -0.3611021609781164 -0.6431656597728355 0.3345507978864249 +2542 0.5122047492329667 -0.7299480156565565 0.2732436355406324 +2543 -0.2521706656494656 -0.8597987800718969 0.3898145054302403 +2544 -0.7225997069689258 -0.3095035944462682 0.6339320584819538 +2545 0.6332229040224423 -0.237892732098394 0.2479466577674689 +2546 -0.291383578972558 0.540126427916544 0.4798079974297886 +2547 0.4290463710221349 0.4059858949731578 0.3891521132986357 +2548 -0.3208855129477575 -0.5526964820642521 0.5181736873818297 +2549 -0.391085789262177 -0.2718917761379797 0.5390981035287921 +2550 -0.1833653901057402 -0.09872011734577109 0.770101097473574 +2551 -0.4770091512402195 -0.2726330381694806 0.8893528125992531 +2552 -0.3079214537526105 -0.5570934965130572 0.7507926767166527 +2553 0.7230367440601743 -0.4998453196098889 0.7114952541348297 +2554 -0.6053798938047379 -0.1157112879095977 0.1066975445060101 +2555 0.2542938055554272 0.8468148389558936 0.4279732961647983 +2556 -0.2548121797456158 -0.7073133557502298 0.09895427142396829 +2557 0.6697578449041509 0.3558955344423672 0.885212147971733 +2558 0.4616283895483467 -0.434240230050553 0.7535844981314372 +2559 -0.4400233109991064 -0.6233999919192589 0.1073738715572165 +2560 -0.784332062151444 0.436950699525711 0.09982623544229853 +2561 0.0647973811570315 -0.8788987653955854 0.2664274434623258 +2562 0.6017505638686036 -0.6549587986273882 0.5105698499190133 +2563 -0.4366787849908607 -0.5919164037330112 0.889801595651352 +2564 -0.723919441842907 -0.5158006246033562 0.2236742820393364 +2565 -0.6550280610590411 -0.6008017075410099 0.2708231333618534 +2566 0.3096039720847623 -0.1228849012541036 0.5248362932809629 +2567 0.6995431797971856 0.2288366283252796 0.1172022242139224 +2568 0.09769037102288426 -0.2711335493697446 0.2134372795952932 +2569 -0.6182224198868103 0.6422310294407805 0.2307673007388992 +2570 -0.738487631969637 -0.443685725051534 0.4482350855488578 +2571 0.3488660028615877 -0.2943147714982924 0.1058689747729894 +2572 -0.209652096316633 0.3068137972731548 0.6170920471604068 +2573 -0.4417534343667359 0.1833500437556298 0.7563373420671073 +2574 -0.06747346652334006 0.2660486999160939 0.09889790146966962 +2575 -0.3299314252854185 -0.2019454894343535 0.325495477534203 +2576 0.4674453312277652 -0.7564195924191854 0.1106258173068412 +2577 0.223937448304072 0.6452046366045268 0.5314185364857735 +2578 -0.425886090328969 -0.4742718632513516 0.4152795385652336 +2579 -0.4038496012189864 0.4120969109533091 0.8969718158781158 +2580 -0.413655947921548 0.4936258253045973 0.2601975109423696 +2581 -0.4236284995174571 -0.7828023367774503 0.89571028094813 +2582 -0.5191217201886807 -0.7114016520536517 0.8911110651591082 +2583 0.09309850932900822 -0.02838090575816707 0.4966628544298603 +2584 -0.489532532086967 -0.7402321567384103 0.3858708884396322 +2585 0.5921704073774945 0.6678169576811358 0.3425165980632546 +2586 -0.6625650708845405 -0.2846736415869186 0.8959011435727003 +2587 -0.78187821684589 0.4183994959531993 0.5847721000407595 +2588 0.7254306884172818 -0.5041120611329445 0.4061240328569324 +2589 0.8759352613708804 -0.2081717563642994 0.6063775766696515 +2590 0.2438858533707597 -0.05491348082296049 0.2641331914404029 +2591 0.4082566343940906 -0.7724323545733796 0.7347137125648763 +2592 0.6947873039857629 -0.1673738814728995 0.7536218567553555 +2593 -0.1369517376751909 -0.03419698923155866 0.2866842092156138 +2594 -0.5726160298004894 -0.6771512162658998 0.5812416454472507 +2595 -0.7232524833476753 0.05819507227948622 0.3769932933364464 +2596 0.6837981720102936 0.5631209997017397 0.7760329674290461 +2597 0.2511199428469903 0.4013662326634814 0.2504749721750842 +2598 0.3129504488876063 0.5401172640482085 0.6312352774831755 +2599 -0.2005847223363157 0.1457617639280374 0.6936435067783194 +2600 -0.5911552807949726 -0.2099476766374637 0.6380790119445637 +2601 -0.3019635103594555 -0.5290831430141028 0.1020749423188019 +2602 -0.05298472088125201 0.1961310337499131 0.5538402208911405 +2603 -0.5271318183677934 -0.7135540010610876 0.7205482459938517 +2604 -0.5808254041688178 -0.071511511205712 0.3069551962144179 +2605 0.1323764867779196 -0.06468461257421573 0.1052034996118172 +2606 -0.757206125152561 0.03682763656852686 0.1156974484905201 +2607 0.2873200646806097 -0.3433855020725156 0.2454528145635986 +2608 0.474741316406178 0.5919103463341304 0.7535190658790611 +2609 -0.271379887284065 -0.299570463571827 0.8077324773091624 +2610 -0.506087755124234 0.7358344380149723 0.1003460606739997 +2611 0.4863819147505054 0.3078530284784853 0.315606699558305 +2612 0.6107135693530491 -0.4203186846637483 0.1139705660606372 +2613 -0.2425269448086131 -0.6677224510151704 0.2130186183669994 +2614 0.2159424917716579 0.02627157356574542 0.1037228713592421 +2615 0.6147817731196773 0.2215321177440378 0.8845073138141573 +2616 0.5808079342827133 -0.1043244441341208 0.6179179662761088 +2617 -0.5572847926091142 -0.2945673664584039 0.7607807138222233 +2618 -0.5748797505143709 0.4644199408491273 0.281198930411634 +2619 -0.1663359434270382 -0.7153980256170649 0.6996961901295675 +2620 -0.05032210954775818 -0.6059380359757964 0.890124077422078 +2621 -0.2617381683874551 -0.4784335424759031 0.2308586955635772 +2622 -0.579304985576731 -0.3610776396674364 0.2312552398430962 +2623 0.1207871033333984 -0.2190756436367004 0.4160501792447626 +2624 -0.2229280332680169 -0.3041435229215698 0.0983976379149529 +2625 -0.001574460490601066 -0.7095721141418593 0.7544551897391668 +2626 -0.8224696847700474 -0.2615755758774378 0.102799342317159 +2627 -0.1461988127123881 -0.5105403407414539 0.7003007356898977 +2628 0.8714709067845736 0.1296394036919866 0.2460890147559627 +2629 -0.4057995180886253 -0.2313946245966914 0.766895372710205 +2630 -0.457302197296062 0.4317671362800658 0.441601933763106 +2631 0.5643643359090262 0.6918763977921992 0.8974947645493992 +2632 -0.2451512552986652 0.3053120686702104 0.2050032346494221 +2633 0.3660521968366084 -0.02823071951550601 0.3882787246849254 +2634 0.6750170986765336 0.3643344779636927 0.5938155517347027 +2635 0.2711526209055622 0.7280258920243978 0.08814329418311569 +2636 0.3924511465244184 -0.6330202320298146 0.6070850754203231 +2637 0.8658638203928881 -0.1907233714432234 0.2923105397222592 +2638 0.05144298102831747 0.8927894464762809 0.5326909531147999 +2639 0.4391136243117207 0.2583441263236453 0.1073629919119828 +2640 -0.2438770236705515 -0.7032529486956579 0.8945559861363259 +2641 0.4551173852065793 -0.1131695838091858 0.09802637369869205 +2642 -0.4012764373475455 -0.8053799114947462 0.2151298056541475 +2643 0.1994017548560858 0.6915605177827135 0.4133916199934797 +2644 0.7758991588111851 -0.1519862233734701 0.6723406932814285 +2645 0.08077499733770205 0.7536793173743566 0.1004301182673219 +2646 -0.5578658674846135 -0.323075314521216 0.4995548904293887 +2647 0.3245706545382808 0.2558558552111191 0.1111951824655994 +2648 -0.3563088054250421 -0.4708383535787716 0.6374716434980116 +2649 0.2626529141856742 0.829128731585233 0.5873562905557884 +2650 0.5064107328691939 -0.4034896041579354 0.4466218772638458 +2651 -0.3392363803663895 0.132622273246289 0.5545329982415291 +2652 -0.3443519187116847 0.4133589764974957 0.5144472002515382 +2653 0.03411173219002796 0.4372472863440373 0.2399875029932002 +2654 -0.3551031885147138 0.326660627595146 0.7579573658798437 +2655 -0.2525416921561439 0.5364002674060291 0.8930210177317617 +2656 -0.1153289648754076 -0.4662823224759736 0.5042964764777043 +2657 -0.2030220031293484 0.004006105402380739 0.09799513574600545 +2658 -0.2817545139917917 0.8258803121231675 0.1153835019539469 +2659 0.4199526023828158 0.587774625532263 0.6079903992515914 +2660 -0.5085512690698959 -0.3922992259452955 0.411742724460651 +2661 -0.438715185638609 0.6476251646994405 0.09590491489781729 +2662 -0.3472028516994275 0.04707419253986515 0.1356069711559634 +2663 -0.4868821086410061 0.7398528541035844 0.653375322540017 +2664 0.1551780629119699 0.003282214815383953 0.7564590334623713 +2665 0.5397428380028427 0.1990379331263948 0.6066096644246246 +2666 0.242059746163027 0.8670567714858912 0.8990904401732163 +2667 0.4180773219326407 -0.1009221180577344 0.8803530259368274 +2668 0.269307734480321 -0.4698179025328256 0.8918292565408499 +2669 0.3567360255603695 0.06747808526500322 0.1154546903914205 +2670 0.8895149414726439 -0.03348086984380472 0.7790329002360117 +2671 0.3800160740105075 0.2805668516261653 0.2188603827359538 +2672 -0.6260267442400194 0.6417660086209518 0.3974913010447338 +2673 0.1346654760437819 -0.5186963791215512 0.4188234037515086 +2674 0.395859169801976 0.4509204103043477 0.0977916245570512 +2675 -0.3163974503892316 -0.09949426787326979 0.4805183639245167 +2676 -0.06732984938078414 0.2831514876435958 0.2138882566929688 +2677 0.6360397375937603 0.6373459922125055 0.6509452359839447 +2678 -0.466149285480804 0.1552954175238831 0.4887689731407261 +2679 0.3879403129091484 -0.5896116506446959 0.1100505122012602 +2680 0.03289853351017819 -0.4807571255053748 0.25084935499793 +2681 -0.1916399299516419 -0.5696138126881899 0.3934493912855079 +2682 -0.04128784540925555 0.5398064087219996 0.3360576784621332 +2683 0.08719601315237585 -0.6145804871114879 0.08822924147259928 +2684 0.7689185286278424 0.4691737955067349 0.6476871753157515 +2685 0.7184002436389274 0.05717960909467794 0.1178838443889103 +2686 -0.7489255161757468 0.1344264078083676 0.8912988513299557 +2687 -0.05643140163716723 0.9024690955105321 0.3680123634384479 +2688 -0.09663112594287801 0.3824834931056824 0.4696348349023493 +2689 0.5712121540804317 -0.4225163363316933 0.2244009667076065 +2690 0.8004977275089136 0.3822323221999981 0.7459473192437053 +2691 0.2329644090112173 -0.1824890661227578 0.1103298539624747 +2692 0.888002814352288 0.1729781467725739 0.1024249776829458 +2693 0.01314630745688111 0.6163428805938391 0.5232583481660241 +2694 -0.762601581707566 0.2024499426666165 0.112313983702205 +2695 0.4970430305518053 -0.7303881313211116 0.4582060260446065 +2696 -0.213262676897057 -0.8606157053233429 0.8823108250411829 +2697 -0.5778553217386651 0.5259529228660395 0.5792140176582888 +2698 -0.3108702874898938 0.2299402215248105 0.2782818643210345 +2699 0.2511903099790659 0.1609426822520741 0.2407011040120151 +2700 0.1132135061898425 -0.6550521542504291 0.5112605031211084 +2701 0.2255921947553513 0.2291522900216613 0.4093911116842354 +2702 0.6056686042137897 0.471173960068243 0.2921120249538366 +2703 0.0862659078465732 -0.1664070970206582 0.7655371029288686 +2704 0.06570370704115491 -0.06291126836442482 0.7923775081994078 +2705 0.03375465535935168 0.7661527217139852 0.2851679462638912 +2706 -0.3647813601355001 0.6504243836999961 0.36917273853153 +2707 -0.1637698466053739 0.03426317338119761 0.6663861291782547 +2708 0.3598550981535448 -0.4428967583137738 0.6944673783133026 +2709 -0.1269530283720805 -0.8802456643423494 0.3776185637867593 +2710 -0.5002272491683735 -0.5711667199828008 0.6044836791728113 +2711 0.336569448763303 0.398552995582438 0.9025578171220868 +2712 0.01289814877936179 0.3915589569846867 0.7645746598674891 +2713 -0.5098349356779105 -0.7584050777674369 0.08552999955340179 +2714 0.3259504558393205 0.8227408239774477 0.09603226802366287 +2715 0.275134078709776 -0.8524759641953824 0.8419872570267221 +2716 -0.7366977846397879 -0.2239381943976016 0.7535950322636369 +2717 0.3235799890772134 0.7053313424741134 0.4939284545061087 +2718 0.677019497906002 0.3099457186663286 0.7651287048637493 +2719 -0.2354725581861989 -0.7364173626275784 0.5268074671444285 +2720 0.5703512899331553 -0.4193709886639656 0.8949305415798446 +2721 -0.436539255382153 -0.07404403984061328 0.906145319983828 +2722 0.8552620982782887 0.2490459649454856 0.8914741565304435 +2723 -0.596718890325823 0.3109209291248416 0.5438338332484054 +2724 -0.6758573541989417 0.2952463346133908 0.8677629936243426 +2725 -0.6591399771315507 0.6117624329118451 0.7456220881491686 +2726 -0.3520101372331587 -0.4043780007276736 0.3472653224057731 +2727 -0.1189322850543659 0.5940489533096465 0.2026239083315117 +2728 -0.7526732740877145 0.1898561732694159 0.4664618275919712 +2729 0.3760381683884613 0.3914174449231309 0.6578051267997592 +2730 -0.4493054666813369 -0.4099509643614628 0.8588540480616206 +2731 0.6505720138676674 -0.05183643608039683 0.4109950789798921 +2732 0.09829840606935503 0.8970681726540619 0.2344745287434672 +2733 -0.8753923265625 -0.1814579785904429 0.5904155960730999 +2734 0.1208730699810087 -0.8836180328689923 0.5554902197691722 +2735 -0.5374108848419712 -0.1480819408260176 0.2403141269571556 +2736 0.359291187840201 0.7076900465885975 0.7383565120547232 +2737 -0.1302981480587542 0.2125452523678631 0.9074437454001074 +2738 0.2713358983889495 -0.6989448569041355 0.519386211742023 +2739 -0.2707010010566251 -0.06200191656382333 0.704630479587389 +2740 0.09329715773588455 -0.5274349329785376 0.8972346003123833 +2741 -0.06944770046791612 -0.1304193245816994 0.1011386673316015 +2742 0.780501096271072 -0.05281428486677338 0.7320223430605619 +2743 -0.4551687980208692 0.3510887234049764 0.6722130286870545 +2744 0.2910374803442637 0.4055584536279282 0.1065273032633818 +2745 -0.7499614750618664 0.1674292411108543 0.3068815939144517 +2746 -0.1974418940369631 0.3650316758385445 0.7682491045898806 +2747 -0.09465689103362129 -0.2491232162283457 0.7948321804359284 +2748 -0.1101377726291212 -0.4476594943302786 0.2310283604324495 +2749 -0.3360393278131123 0.6512033048820108 0.737907452843138 +2750 0.09666731980259777 0.3720650458885345 0.3573932704762078 +2751 -0.1170273722894151 -0.0805534606246163 0.904614389616281 +2752 -0.6314493885952007 0.01018710391329276 0.1074581898139493 +2753 -0.2142999492316697 0.7131797028817271 0.4666845924544723 +2754 0.6029612443129184 0.1313871964402023 0.7421339185885835 +2755 -0.2247298623239496 -0.5002476574042893 0.7970985048794021 +2756 -0.4838929512217104 0.2910548453100723 0.237694267009467 +2757 -0.4207634318914664 -0.4913933909188922 0.2544175580962655 +2758 0.5575754497189873 -0.1195256871302004 0.3995385414359571 +2759 -0.4715302076764349 0.5974586219738349 0.5098347544785781 +2760 -0.08078210666619394 -0.4623580677785397 0.7816107399142964 +2761 -0.8347376009227776 0.3150460213396254 0.2783572953620059 +2762 0.3986787133964944 0.4684204518826837 0.2825658792773656 +2763 -0.1696839949676694 -0.3713874975817907 0.9122568581291347 +2764 -0.09168267741480797 -0.7724654322067276 0.3475844069825731 +2765 0.2528630910153704 -0.07740471613460324 0.73073294465983 +2766 -0.7692559356576966 0.4529976383412773 0.4796364366343713 +2767 -0.2573152750350499 -0.2330107018864605 0.9131069860070462 +2768 -0.2952135095221115 -0.7227715826003267 0.2879822158139811 +2769 -0.6688247369294467 -0.6007728954488241 0.5970382311145018 +2770 -0.243927859125309 -0.04190881250008165 0.9150244750767835 +2771 0.5503556164472635 -0.5193853460492698 0.3807400289116654 +2772 0.3782750943110922 0.6684918349039901 0.3298828083520987 +2773 0.1874712826062991 0.7514219307277605 0.2399392703626354 +2774 -0.1721266855090343 -0.3198183380564648 0.4288652450831087 +2775 0.7834841570873495 -0.4003053130235198 0.8877450047013137 +2776 0.1914712552681572 0.6007416584143546 0.09637049910266662 +2777 -0.9060680703379456 -0.0173606373763654 0.6433894158103659 +2778 0.6298823514726354 -0.4375438832545945 0.5717941592435022 +2779 -0.1743568638998892 -0.1683409248902435 0.2056710090447126 +2780 0.4022955382948182 0.6253393369554284 0.8947480752918366 +2781 0.086142609978511 -0.5317440909199276 0.7568605048802571 +2782 -0.4567624705470465 0.4616986879502336 0.7119559164933371 +2783 0.4208729547618593 0.1818714967783909 0.7073824202919149 +2784 0.7609336359710546 0.1105250771162853 0.6437686888452088 +2785 -0.6287274254799198 -0.4841134696106401 0.9000175633806914 +2786 -0.4027378585896876 0.7995193313456087 0.4418776448655482 +2787 0.3477642344230998 0.4759346382000128 0.7164476781617185 +2788 0.3685573553516663 -0.2553667984818948 0.8850492109734684 +2789 -0.7421854204898259 -0.2232844341155629 0.2526812285961456 +2790 -0.6912082578375865 0.09035325940902665 0.5945808587675997 +2791 -0.5224257059248865 -0.02548984442540156 0.1058518913299535 +2792 -0.4876412221508531 -0.3401339571603062 0.2731502106225239 +2793 0.6932359580617647 -0.0333970626563528 0.2399442662545579 +2794 0.2846065651182142 -0.2682246219006252 0.6599355443818093 +2795 -0.005352757179196281 -0.4269410375701688 0.09906141895868803 +2796 0.003944034522816595 0.04017580376388349 0.5252831424572694 +2797 -0.4245296739304524 -0.2767210976433927 0.2231246068635061 +2798 -0.2471291110575329 0.2266370248597099 0.5590245740608913 +2799 -0.09414102262281829 -0.1804362106790681 0.3191737138165838 +2800 -0.007854117766265253 -0.5899876788200353 0.6193881340623264 +2801 0.3855049081453676 0.3883864566345009 0.767671343989018 +2802 -0.162342282456459 0.7366293102724563 0.3587075751221185 +2803 0.6928838453856316 -0.5654317936046607 0.1123397827950603 +2804 -0.8574363820090095 -0.2471646317609797 0.769966168978098 +2805 -0.2967424661467359 -0.3787585662497117 0.2102605278071486 +2806 -0.1407532101590606 -0.1249848057491311 0.5034249552323244 +2807 -0.07897942929178468 0.1235359517237296 0.2545207795112631 +2808 -0.2121393431959094 0.3047849527517457 0.406749706212715 +2809 -0.1144759336638732 0.2861263819132565 0.3942107134631006 +2810 -0.2628370492713896 -0.6964350513533664 0.6548344152468893 +2811 -0.0944948333818672 0.5875202933299704 0.7790616367985608 +2812 -0.5923623791511552 0.6818713112844196 0.8968133187913846 +2813 -0.2325235394750925 0.03236338240474376 0.5619798860008405 +2814 -0.1810503883827107 -0.776742010499108 0.4090591539135189 +2815 0.09111999169808251 0.6381896527074973 0.09120953806387988 +2816 0.6625652672911277 0.3546193240360329 0.3329251491633921 +2817 -0.62225264315803 -0.4985905383955416 0.4600418634518151 +2818 -0.8041433008326441 -0.1079708716439496 0.09094470897325618 +2819 -0.1645851301619969 0.5952318516651226 0.10507248608382 +2820 -0.3472795195568447 0.07316236216439009 0.6326048913930064 +2821 0.5536913972332854 -0.2210481014728385 0.1080303460741374 +2822 0.7428438172533491 0.05101893237773437 0.8986758332440437 +2823 -0.583243494484373 0.2134127966735014 0.3768798327528745 +2824 -0.3104491155103756 -0.05068781028035571 0.09310031690363779 +2825 0.02201325749799555 -0.220831389452721 0.903778214386423 +2826 0.5618896323403307 -0.1137154385070451 0.1123696933009117 +2827 -0.5024065362775453 0.3795930695280547 0.2885501261841266 +2828 -0.3860553914860895 -0.6282445028390896 0.5471746798272327 +2829 0.3309325598072628 0.1624290583274472 0.435835521292628 +2830 -0.9009853543488063 0.05962833902407472 0.1044975561001578 +2831 -0.3838900033737878 0.1711799297946658 0.6489523436632283 +2832 0.2416004794829591 -0.5694041074716236 0.254629630415913 +2833 -0.09461699034348303 -0.6529214456387157 0.7746450051945836 +2834 0.5419616828572633 -0.139555986614364 0.7348672354010028 +2835 0.5459504158901097 0.08336987814944558 0.8955499643340876 +2836 0.4585493874620855 -0.2114935187608128 0.4054490234364467 +2837 0.1063101111640002 0.6064938689654608 0.3727289359191031 +2838 0.1531048749679534 -0.04973378848432432 0.3477780718957869 +2839 0.08950791688861059 -0.5396929673732229 0.5517151698033739 +$EndNodes +$Elements +16042 +1 15 2 0 1 1 +2 15 2 0 2 2 +3 15 2 0 3 3 +4 15 2 0 4 4 +5 15 2 0 5 5 +6 15 2 0 6 6 +7 15 2 0 7 7 +8 15 2 0 8 8 +9 15 2 0 13 9 +10 15 2 0 18 10 +11 1 2 0 1 3 11 +12 1 2 0 1 11 12 +13 1 2 0 1 12 13 +14 1 2 0 1 13 14 +15 1 2 0 1 14 15 +16 1 2 0 1 15 16 +17 1 2 0 1 16 17 +18 1 2 0 1 17 18 +19 1 2 0 1 18 19 +20 1 2 0 1 19 20 +21 1 2 0 1 20 21 +22 1 2 0 1 21 22 +23 1 2 0 1 22 23 +24 1 2 0 1 23 24 +25 1 2 0 1 24 25 +26 1 2 0 1 25 2 +27 1 2 0 2 2 26 +28 1 2 0 2 26 27 +29 1 2 0 2 27 28 +30 1 2 0 2 28 29 +31 1 2 0 2 29 30 +32 1 2 0 2 30 31 +33 1 2 0 2 31 32 +34 1 2 0 2 32 33 +35 1 2 0 2 33 34 +36 1 2 0 2 34 35 +37 1 2 0 2 35 36 +38 1 2 0 2 36 37 +39 1 2 0 2 37 38 +40 1 2 0 2 38 39 +41 1 2 0 2 39 40 +42 1 2 0 2 40 4 +43 1 2 0 3 4 41 +44 1 2 0 3 41 42 +45 1 2 0 3 42 43 +46 1 2 0 3 43 44 +47 1 2 0 3 44 45 +48 1 2 0 3 45 46 +49 1 2 0 3 46 47 +50 1 2 0 3 47 48 +51 1 2 0 3 48 49 +52 1 2 0 3 49 50 +53 1 2 0 3 50 51 +54 1 2 0 3 51 52 +55 1 2 0 3 52 53 +56 1 2 0 3 53 54 +57 1 2 0 3 54 55 +58 1 2 0 3 55 5 +59 1 2 0 4 5 56 +60 1 2 0 4 56 57 +61 1 2 0 4 57 58 +62 1 2 0 4 58 59 +63 1 2 0 4 59 60 +64 1 2 0 4 60 61 +65 1 2 0 4 61 62 +66 1 2 0 4 62 63 +67 1 2 0 4 63 64 +68 1 2 0 4 64 65 +69 1 2 0 4 65 66 +70 1 2 0 4 66 67 +71 1 2 0 4 67 68 +72 1 2 0 4 68 69 +73 1 2 0 4 69 70 +74 1 2 0 4 70 3 +75 1 2 0 8 6 71 +76 1 2 0 8 71 72 +77 1 2 0 8 72 73 +78 1 2 0 8 73 74 +79 1 2 0 8 74 75 +80 1 2 0 8 75 76 +81 1 2 0 8 76 77 +82 1 2 0 8 77 78 +83 1 2 0 8 78 79 +84 1 2 0 8 79 80 +85 1 2 0 8 80 81 +86 1 2 0 8 81 82 +87 1 2 0 8 82 83 +88 1 2 0 8 83 84 +89 1 2 0 8 84 85 +90 1 2 0 8 85 8 +91 1 2 0 9 8 86 +92 1 2 0 9 86 87 +93 1 2 0 9 87 88 +94 1 2 0 9 88 89 +95 1 2 0 9 89 90 +96 1 2 0 9 90 91 +97 1 2 0 9 91 92 +98 1 2 0 9 92 93 +99 1 2 0 9 93 94 +100 1 2 0 9 94 95 +101 1 2 0 9 95 96 +102 1 2 0 9 96 97 +103 1 2 0 9 97 98 +104 1 2 0 9 98 99 +105 1 2 0 9 99 100 +106 1 2 0 9 100 9 +107 1 2 0 10 9 101 +108 1 2 0 10 101 102 +109 1 2 0 10 102 103 +110 1 2 0 10 103 104 +111 1 2 0 10 104 105 +112 1 2 0 10 105 106 +113 1 2 0 10 106 107 +114 1 2 0 10 107 108 +115 1 2 0 10 108 109 +116 1 2 0 10 109 110 +117 1 2 0 10 110 111 +118 1 2 0 10 111 112 +119 1 2 0 10 112 113 +120 1 2 0 10 113 114 +121 1 2 0 10 114 115 +122 1 2 0 10 115 10 +123 1 2 0 11 10 116 +124 1 2 0 11 116 117 +125 1 2 0 11 117 118 +126 1 2 0 11 118 119 +127 1 2 0 11 119 120 +128 1 2 0 11 120 121 +129 1 2 0 11 121 122 +130 1 2 0 11 122 123 +131 1 2 0 11 123 124 +132 1 2 0 11 124 125 +133 1 2 0 11 125 126 +134 1 2 0 11 126 127 +135 1 2 0 11 127 128 +136 1 2 0 11 128 129 +137 1 2 0 11 129 130 +138 1 2 0 11 130 6 +139 1 2 0 13 5 131 +140 1 2 0 13 131 132 +141 1 2 0 13 132 133 +142 1 2 0 13 133 134 +143 1 2 0 13 134 135 +144 1 2 0 13 135 136 +145 1 2 0 13 136 137 +146 1 2 0 13 137 138 +147 1 2 0 13 138 139 +148 1 2 0 13 139 6 +149 1 2 0 14 3 140 +150 1 2 0 14 140 141 +151 1 2 0 14 141 142 +152 1 2 0 14 142 143 +153 1 2 0 14 143 144 +154 1 2 0 14 144 145 +155 1 2 0 14 145 146 +156 1 2 0 14 146 147 +157 1 2 0 14 147 148 +158 1 2 0 14 148 8 +159 1 2 0 18 2 149 +160 1 2 0 18 149 150 +161 1 2 0 18 150 151 +162 1 2 0 18 151 152 +163 1 2 0 18 152 153 +164 1 2 0 18 153 154 +165 1 2 0 18 154 155 +166 1 2 0 18 155 156 +167 1 2 0 18 156 157 +168 1 2 0 18 157 9 +169 1 2 0 22 4 158 +170 1 2 0 22 158 159 +171 1 2 0 22 159 160 +172 1 2 0 22 160 161 +173 1 2 0 22 161 162 +174 1 2 0 22 162 163 +175 1 2 0 22 163 164 +176 1 2 0 22 164 165 +177 1 2 0 22 165 166 +178 1 2 0 22 166 10 +179 2 2 0 6 527 25 2 +180 2 2 0 6 26 495 2 +181 2 2 0 6 495 527 2 +182 2 2 0 6 3 11 487 +183 2 2 0 6 198 70 3 +184 2 2 0 6 487 198 3 +185 2 2 0 6 502 40 4 +186 2 2 0 6 41 482 4 +187 2 2 0 6 482 502 4 +188 2 2 0 6 5 268 55 +189 2 2 0 6 174 5 56 +190 2 2 0 6 268 5 174 +191 2 2 0 6 12 269 11 +192 2 2 0 6 487 11 269 +193 2 2 0 6 501 12 13 +194 2 2 0 6 12 501 269 +195 2 2 0 6 14 263 13 +196 2 2 0 6 501 13 263 +197 2 2 0 6 459 14 15 +198 2 2 0 6 263 14 459 +199 2 2 0 6 465 15 16 +200 2 2 0 6 459 15 465 +201 2 2 0 6 16 17 231 +202 2 2 0 6 231 465 16 +203 2 2 0 6 18 468 17 +204 2 2 0 6 468 231 17 +205 2 2 0 6 19 191 18 +206 2 2 0 6 468 18 191 +207 2 2 0 6 20 281 19 +208 2 2 0 6 281 191 19 +209 2 2 0 6 21 195 20 +210 2 2 0 6 195 281 20 +211 2 2 0 6 22 277 21 +212 2 2 0 6 21 277 195 +213 2 2 0 6 23 464 22 +214 2 2 0 6 464 277 22 +215 2 2 0 6 23 24 257 +216 2 2 0 6 257 464 23 +217 2 2 0 6 25 196 24 +218 2 2 0 6 24 196 257 +219 2 2 0 6 25 527 196 +220 2 2 0 6 26 27 503 +221 2 2 0 6 495 26 503 +222 2 2 0 6 28 526 27 +223 2 2 0 6 526 522 27 +224 2 2 0 6 27 522 503 +225 2 2 0 6 29 282 28 +226 2 2 0 6 28 282 526 +227 2 2 0 6 276 29 30 +228 2 2 0 6 276 282 29 +229 2 2 0 6 31 287 30 +230 2 2 0 6 30 287 276 +231 2 2 0 6 32 479 31 +232 2 2 0 6 479 287 31 +233 2 2 0 6 273 32 33 +234 2 2 0 6 479 32 273 +235 2 2 0 6 34 285 33 +236 2 2 0 6 33 285 273 +237 2 2 0 6 35 197 34 +238 2 2 0 6 197 278 34 +239 2 2 0 6 285 34 278 +240 2 2 0 6 36 197 35 +241 2 2 0 6 271 36 37 +242 2 2 0 6 271 197 36 +243 2 2 0 6 38 434 37 +244 2 2 0 6 37 173 271 +245 2 2 0 6 173 37 434 +246 2 2 0 6 434 38 39 +247 2 2 0 6 40 244 39 +248 2 2 0 6 434 39 244 +249 2 2 0 6 502 244 40 +250 2 2 0 6 41 42 488 +251 2 2 0 6 488 482 41 +252 2 2 0 6 476 42 43 +253 2 2 0 6 488 42 476 +254 2 2 0 6 44 435 43 +255 2 2 0 6 435 476 43 +256 2 2 0 6 432 44 45 +257 2 2 0 6 435 44 432 +258 2 2 0 6 46 283 45 +259 2 2 0 6 432 45 283 +260 2 2 0 6 47 388 46 +261 2 2 0 6 388 283 46 +262 2 2 0 6 48 272 47 +263 2 2 0 6 47 272 388 +264 2 2 0 6 49 446 48 +265 2 2 0 6 446 272 48 +266 2 2 0 6 50 192 49 +267 2 2 0 6 446 49 192 +268 2 2 0 6 286 50 51 +269 2 2 0 6 50 286 192 +270 2 2 0 6 51 52 517 +271 2 2 0 6 286 51 517 +272 2 2 0 6 266 52 53 +273 2 2 0 6 517 52 266 +274 2 2 0 6 54 260 53 +275 2 2 0 6 53 260 266 +276 2 2 0 6 438 54 55 +277 2 2 0 6 54 438 260 +278 2 2 0 6 438 55 268 +279 2 2 0 6 275 56 57 +280 2 2 0 6 174 56 275 +281 2 2 0 6 58 279 57 +282 2 2 0 6 279 275 57 +283 2 2 0 6 189 58 59 +284 2 2 0 6 58 189 279 +285 2 2 0 6 185 59 60 +286 2 2 0 6 185 189 59 +287 2 2 0 6 525 60 61 +288 2 2 0 6 185 60 525 +289 2 2 0 6 514 61 62 +290 2 2 0 6 525 61 514 +291 2 2 0 6 63 510 62 +292 2 2 0 6 62 510 514 +293 2 2 0 6 64 515 63 +294 2 2 0 6 515 510 63 +295 2 2 0 6 451 64 65 +296 2 2 0 6 64 451 515 +297 2 2 0 6 66 493 65 +298 2 2 0 6 493 451 65 +299 2 2 0 6 67 426 66 +300 2 2 0 6 493 66 426 +301 2 2 0 6 67 68 470 +302 2 2 0 6 426 67 470 +303 2 2 0 6 69 480 68 +304 2 2 0 6 480 470 68 +305 2 2 0 6 69 70 441 +306 2 2 0 6 69 441 480 +307 2 2 0 6 70 198 441 +308 2 2 0 6 231 377 465 +309 2 2 0 6 465 377 413 +310 2 2 0 6 231 468 377 +311 2 2 0 6 413 377 234 +312 2 2 0 6 425 234 377 +313 2 2 0 6 425 377 468 +314 2 2 0 6 346 404 233 +315 2 2 0 6 346 233 326 +316 2 2 0 6 233 404 435 +317 2 2 0 6 233 432 326 +318 2 2 0 6 432 233 435 +319 2 2 0 6 413 187 465 +320 2 2 0 6 459 465 187 +321 2 2 0 6 299 328 361 +322 2 2 0 6 361 328 206 +323 2 2 0 6 361 340 205 +324 2 2 0 6 303 340 361 +325 2 2 0 6 361 205 299 +326 2 2 0 6 361 206 303 +327 2 2 0 6 193 522 526 +328 2 2 0 6 193 526 521 +329 2 2 0 6 526 282 521 +330 2 2 0 6 185 481 189 +331 2 2 0 6 279 189 486 +332 2 2 0 6 486 189 481 +333 2 2 0 6 239 376 245 +334 2 2 0 6 376 239 350 +335 2 2 0 6 239 463 230 +336 2 2 0 6 230 509 239 +337 2 2 0 6 245 436 239 +338 2 2 0 6 509 350 239 +339 2 2 0 6 463 239 436 +340 2 2 0 6 345 212 319 +341 2 2 0 6 363 212 345 +342 2 2 0 6 212 315 313 +343 2 2 0 6 313 307 212 +344 2 2 0 6 307 319 212 +345 2 2 0 6 212 363 315 +346 2 2 0 6 168 356 325 +347 2 2 0 6 356 168 333 +348 2 2 0 6 405 356 217 +349 2 2 0 6 356 381 217 +350 2 2 0 6 325 356 405 +351 2 2 0 6 356 333 381 +352 2 2 0 6 196 280 257 +353 2 2 0 6 280 505 257 +354 2 2 0 6 505 464 257 +355 2 2 0 6 334 342 357 +356 2 2 0 6 357 176 334 +357 2 2 0 6 357 342 210 +358 2 2 0 6 357 210 321 +359 2 2 0 6 321 352 357 +360 2 2 0 6 357 352 176 +361 2 2 0 6 228 518 485 +362 2 2 0 6 518 228 172 +363 2 2 0 6 518 422 485 +364 2 2 0 6 422 518 172 +365 2 2 0 6 218 406 399 +366 2 2 0 6 399 406 428 +367 2 2 0 6 497 218 399 +368 2 2 0 6 514 497 399 +369 2 2 0 6 242 514 399 +370 2 2 0 6 428 242 399 +371 2 2 0 6 333 168 320 +372 2 2 0 6 168 329 320 +373 2 2 0 6 330 168 325 +374 2 2 0 6 419 168 330 +375 2 2 0 6 168 419 329 +376 2 2 0 6 234 403 353 +377 2 2 0 6 383 353 403 +378 2 2 0 6 353 347 413 +379 2 2 0 6 353 202 347 +380 2 2 0 6 353 413 234 +381 2 2 0 6 383 202 353 +382 2 2 0 6 173 411 369 +383 2 2 0 6 173 434 411 +384 2 2 0 6 173 369 225 +385 2 2 0 6 271 173 225 +386 2 2 0 6 236 439 190 +387 2 2 0 6 259 236 190 +388 2 2 0 6 247 261 190 +389 2 2 0 6 190 440 247 +390 2 2 0 6 190 261 254 +391 2 2 0 6 259 190 254 +392 2 2 0 6 190 439 440 +393 2 2 0 6 214 473 392 +394 2 2 0 6 214 392 293 +395 2 2 0 6 473 214 382 +396 2 2 0 6 368 382 214 +397 2 2 0 6 293 368 214 +398 2 2 0 6 191 281 246 +399 2 2 0 6 246 467 191 +400 2 2 0 6 467 468 191 +401 2 2 0 6 317 201 313 +402 2 2 0 6 201 317 309 +403 2 2 0 6 313 315 317 +404 2 2 0 6 317 315 220 +405 2 2 0 6 339 317 220 +406 2 2 0 6 309 317 339 +407 2 2 0 6 308 332 201 +408 2 2 0 6 332 292 201 +409 2 2 0 6 313 201 292 +410 2 2 0 6 201 309 308 +411 2 2 0 6 376 384 248 +412 2 2 0 6 248 471 376 +413 2 2 0 6 376 350 384 +414 2 2 0 6 471 245 376 +415 2 2 0 6 405 217 400 +416 2 2 0 6 217 460 400 +417 2 2 0 6 386 217 381 +418 2 2 0 6 460 217 386 +419 2 2 0 6 211 389 367 +420 2 2 0 6 305 389 211 +421 2 2 0 6 367 389 414 +422 2 2 0 6 412 389 490 +423 2 2 0 6 305 490 389 +424 2 2 0 6 414 389 412 +425 2 2 0 6 384 331 248 +426 2 2 0 6 458 248 331 +427 2 2 0 6 248 458 175 +428 2 2 0 6 471 248 175 +429 2 2 0 6 445 244 362 +430 2 2 0 6 445 434 244 +431 2 2 0 6 362 244 502 +432 2 2 0 6 360 411 215 +433 2 2 0 6 360 369 411 +434 2 2 0 6 445 215 411 +435 2 2 0 6 411 434 445 +436 2 2 0 6 391 388 418 +437 2 2 0 6 391 283 388 +438 2 2 0 6 272 418 388 +439 2 2 0 6 394 228 314 +440 2 2 0 6 228 394 259 +441 2 2 0 6 394 322 236 +442 2 2 0 6 394 236 259 +443 2 2 0 6 314 322 394 +444 2 2 0 6 520 444 466 +445 2 2 0 6 444 262 466 +446 2 2 0 6 180 520 466 +447 2 2 0 6 264 466 262 +448 2 2 0 6 180 466 267 +449 2 2 0 6 466 264 267 +450 2 2 0 6 174 275 253 +451 2 2 0 6 279 253 275 +452 2 2 0 6 484 322 182 +453 2 2 0 6 484 182 311 +454 2 2 0 6 182 322 314 +455 2 2 0 6 182 314 300 +456 2 2 0 6 311 182 306 +457 2 2 0 6 306 182 297 +458 2 2 0 6 182 300 297 +459 2 2 0 6 200 332 296 +460 2 2 0 6 332 200 291 +461 2 2 0 6 308 296 332 +462 2 2 0 6 291 292 332 +463 2 2 0 6 262 444 230 +464 2 2 0 6 444 509 230 +465 2 2 0 6 444 520 237 +466 2 2 0 6 365 444 237 +467 2 2 0 6 509 444 365 +468 2 2 0 6 310 331 384 +469 2 2 0 6 331 370 458 +470 2 2 0 6 204 370 331 +471 2 2 0 6 204 331 310 +472 2 2 0 6 416 451 493 +473 2 2 0 6 451 416 431 +474 2 2 0 6 515 451 431 +475 2 2 0 6 188 443 351 +476 2 2 0 6 372 351 443 +477 2 2 0 6 415 443 188 +478 2 2 0 6 415 462 443 +479 2 2 0 6 372 443 256 +480 2 2 0 6 256 443 462 +481 2 2 0 6 457 227 407 +482 2 2 0 6 227 457 430 +483 2 2 0 6 407 227 375 +484 2 2 0 6 345 375 227 +485 2 2 0 6 227 358 345 +486 2 2 0 6 430 358 227 +487 2 2 0 6 213 406 320 +488 2 2 0 6 333 320 406 +489 2 2 0 6 213 320 222 +490 2 2 0 6 329 222 320 +491 2 2 0 6 428 406 213 +492 2 2 0 6 333 406 218 +493 2 2 0 6 355 226 225 +494 2 2 0 6 430 226 355 +495 2 2 0 6 225 369 355 +496 2 2 0 6 178 358 355 +497 2 2 0 6 355 358 430 +498 2 2 0 6 369 178 355 +499 2 2 0 6 472 457 240 +500 2 2 0 6 430 457 472 +501 2 2 0 6 226 472 186 +502 2 2 0 6 472 226 430 +503 2 2 0 6 472 240 186 +504 2 2 0 6 183 384 350 +505 2 2 0 6 384 183 310 +506 2 2 0 6 232 402 325 +507 2 2 0 6 405 232 325 +508 2 2 0 6 330 325 402 +509 2 2 0 6 511 262 230 +510 2 2 0 6 511 230 463 +511 2 2 0 6 458 219 403 +512 2 2 0 6 175 458 403 +513 2 2 0 6 403 234 175 +514 2 2 0 6 383 403 219 +515 2 2 0 6 475 188 351 +516 2 2 0 6 258 475 351 +517 2 2 0 6 372 208 351 +518 2 2 0 6 351 208 258 +519 2 2 0 6 475 390 188 +520 2 2 0 6 385 390 475 +521 2 2 0 6 417 188 390 +522 2 2 0 6 390 396 417 +523 2 2 0 6 203 390 385 +524 2 2 0 6 203 396 390 +525 2 2 0 6 338 235 303 +526 2 2 0 6 338 301 235 +527 2 2 0 6 338 304 169 +528 2 2 0 6 491 338 169 +529 2 2 0 6 303 304 338 +530 2 2 0 6 291 301 338 +531 2 2 0 6 291 338 491 +532 2 2 0 6 243 410 241 +533 2 2 0 6 241 410 397 +534 2 2 0 6 241 429 243 +535 2 2 0 6 397 455 241 +536 2 2 0 6 241 455 423 +537 2 2 0 6 241 423 429 +538 2 2 0 6 457 407 461 +539 2 2 0 6 457 461 240 +540 2 2 0 6 255 499 410 +541 2 2 0 6 499 177 410 +542 2 2 0 6 243 474 410 +543 2 2 0 6 474 255 410 +544 2 2 0 6 410 177 397 +545 2 2 0 6 171 277 464 +546 2 2 0 6 171 464 505 +547 2 2 0 6 171 433 277 +548 2 2 0 6 171 463 436 +549 2 2 0 6 505 463 171 +550 2 2 0 6 171 436 433 +551 2 2 0 6 405 400 440 +552 2 2 0 6 247 440 400 +553 2 2 0 6 247 400 426 +554 2 2 0 6 460 426 400 +555 2 2 0 6 193 274 250 +556 2 2 0 6 250 267 193 +557 2 2 0 6 193 524 522 +558 2 2 0 6 524 193 267 +559 2 2 0 6 521 274 193 +560 2 2 0 6 222 395 213 +561 2 2 0 6 437 213 395 +562 2 2 0 6 213 437 428 +563 2 2 0 6 456 385 167 +564 2 2 0 6 167 385 258 +565 2 2 0 6 366 456 167 +566 2 2 0 6 167 452 366 +567 2 2 0 6 258 452 167 +568 2 2 0 6 519 523 294 +569 2 2 0 6 523 519 289 +570 2 2 0 6 523 296 294 +571 2 2 0 6 296 523 289 +572 2 2 0 6 407 375 427 +573 2 2 0 6 179 461 407 +574 2 2 0 6 407 427 179 +575 2 2 0 6 441 198 254 +576 2 2 0 6 261 441 254 +577 2 2 0 6 480 441 261 +578 2 2 0 6 345 319 375 +579 2 2 0 6 345 358 363 +580 2 2 0 6 336 347 393 +581 2 2 0 6 187 347 336 +582 2 2 0 6 393 508 336 +583 2 2 0 6 263 459 336 +584 2 2 0 6 508 263 336 +585 2 2 0 6 459 187 336 +586 2 2 0 6 318 328 365 +587 2 2 0 6 206 328 318 +588 2 2 0 6 387 318 412 +589 2 2 0 6 387 206 318 +590 2 2 0 6 237 412 318 +591 2 2 0 6 365 237 318 +592 2 2 0 6 485 380 228 +593 2 2 0 6 380 314 228 +594 2 2 0 6 259 172 228 +595 2 2 0 6 497 431 218 +596 2 2 0 6 510 497 514 +597 2 2 0 6 497 510 515 +598 2 2 0 6 497 515 431 +599 2 2 0 6 477 274 276 +600 2 2 0 6 287 477 276 +601 2 2 0 6 274 477 265 +602 2 2 0 6 265 477 251 +603 2 2 0 6 477 287 251 +604 2 2 0 6 498 519 294 +605 2 2 0 6 494 519 498 +606 2 2 0 6 289 519 513 +607 2 2 0 6 494 513 519 +608 2 2 0 6 392 473 424 +609 2 2 0 6 302 392 216 +610 2 2 0 6 424 216 392 +611 2 2 0 6 302 293 392 +612 2 2 0 6 483 250 274 +613 2 2 0 6 249 449 250 +614 2 2 0 6 250 448 249 +615 2 2 0 6 250 483 448 +616 2 2 0 6 449 267 250 +617 2 2 0 6 458 370 219 +618 2 2 0 6 292 307 313 +619 2 2 0 6 437 492 184 +620 2 2 0 6 184 492 486 +621 2 2 0 6 474 492 255 +622 2 2 0 6 492 474 486 +623 2 2 0 6 437 255 492 +624 2 2 0 6 499 395 420 +625 2 2 0 6 177 499 420 +626 2 2 0 6 395 499 255 +627 2 2 0 6 374 360 215 +628 2 2 0 6 354 360 374 +629 2 2 0 6 178 360 354 +630 2 2 0 6 369 360 178 +631 2 2 0 6 393 347 202 +632 2 2 0 6 187 413 347 +633 2 2 0 6 245 471 453 +634 2 2 0 6 471 175 453 +635 2 2 0 6 475 258 385 +636 2 2 0 6 247 470 261 +637 2 2 0 6 470 247 426 +638 2 2 0 6 470 480 261 +639 2 2 0 6 498 293 302 +640 2 2 0 6 494 498 302 +641 2 2 0 6 290 498 294 +642 2 2 0 6 498 290 293 +643 2 2 0 6 238 342 334 +644 2 2 0 6 401 238 334 +645 2 2 0 6 238 404 342 +646 2 2 0 6 401 442 238 +647 2 2 0 6 442 404 238 +648 2 2 0 6 322 348 236 +649 2 2 0 6 439 236 348 +650 2 2 0 6 209 402 348 +651 2 2 0 6 348 402 439 +652 2 2 0 6 322 298 348 +653 2 2 0 6 209 348 298 +654 2 2 0 6 500 517 266 +655 2 2 0 6 517 500 286 +656 2 2 0 6 274 521 276 +657 2 2 0 6 521 282 276 +658 2 2 0 6 382 223 170 +659 2 2 0 6 270 170 223 +660 2 2 0 6 192 270 223 +661 2 2 0 6 252 192 223 +662 2 2 0 6 344 349 223 +663 2 2 0 6 223 382 344 +664 2 2 0 6 223 349 252 +665 2 2 0 6 378 362 421 +666 2 2 0 6 378 421 221 +667 2 2 0 6 378 374 215 +668 2 2 0 6 378 215 362 +669 2 2 0 6 359 374 378 +670 2 2 0 6 378 221 359 +671 2 2 0 6 235 456 340 +672 2 2 0 6 235 340 303 +673 2 2 0 6 456 235 312 +674 2 2 0 6 312 235 301 +675 2 2 0 6 170 473 382 +676 2 2 0 6 170 504 473 +677 2 2 0 6 270 500 170 +678 2 2 0 6 504 170 500 +679 2 2 0 6 211 375 319 +680 2 2 0 6 211 427 375 +681 2 2 0 6 427 211 367 +682 2 2 0 6 211 319 305 +683 2 2 0 6 421 478 401 +684 2 2 0 6 401 221 421 +685 2 2 0 6 421 482 478 +686 2 2 0 6 502 421 362 +687 2 2 0 6 421 502 482 +688 2 2 0 6 409 311 224 +689 2 2 0 6 224 452 409 +690 2 2 0 6 398 224 324 +691 2 2 0 6 398 452 224 +692 2 2 0 6 311 324 224 +693 2 2 0 6 439 402 232 +694 2 2 0 6 405 440 232 +695 2 2 0 6 232 440 439 +696 2 2 0 6 512 489 194 +697 2 2 0 6 423 512 194 +698 2 2 0 6 504 489 512 +699 2 2 0 6 504 512 424 +700 2 2 0 6 512 423 424 +701 2 2 0 6 391 418 181 +702 2 2 0 6 391 181 326 +703 2 2 0 6 391 326 432 +704 2 2 0 6 391 432 283 +705 2 2 0 6 215 445 362 +706 2 2 0 6 506 260 438 +707 2 2 0 6 260 489 266 +708 2 2 0 6 489 260 506 +709 2 2 0 6 334 343 401 +710 2 2 0 6 176 343 334 +711 2 2 0 6 218 381 333 +712 2 2 0 6 298 322 484 +713 2 2 0 6 295 484 311 +714 2 2 0 6 484 295 298 +715 2 2 0 6 450 225 226 +716 2 2 0 6 278 450 226 +717 2 2 0 6 278 226 186 +718 2 2 0 6 496 268 174 +719 2 2 0 6 268 507 438 +720 2 2 0 6 268 496 507 +721 2 2 0 6 254 198 172 +722 2 2 0 6 487 172 198 +723 2 2 0 6 330 335 419 +724 2 2 0 6 209 335 330 +725 2 2 0 6 419 335 256 +726 2 2 0 6 372 335 447 +727 2 2 0 6 209 447 335 +728 2 2 0 6 372 256 335 +729 2 2 0 6 481 428 184 +730 2 2 0 6 184 486 481 +731 2 2 0 6 437 184 428 +732 2 2 0 6 281 195 246 +733 2 2 0 6 195 433 246 +734 2 2 0 6 195 277 433 +735 2 2 0 6 330 402 209 +736 2 2 0 6 528 474 243 +737 2 2 0 6 474 528 253 +738 2 2 0 6 429 528 243 +739 2 2 0 6 528 496 253 +740 2 2 0 6 429 496 528 +741 2 2 0 6 196 527 280 +742 2 2 0 6 527 284 280 +743 2 2 0 6 505 280 511 +744 2 2 0 6 280 284 511 +745 2 2 0 6 485 508 393 +746 2 2 0 6 380 485 393 +747 2 2 0 6 485 422 508 +748 2 2 0 6 454 436 245 +749 2 2 0 6 454 245 453 +750 2 2 0 6 408 229 379 +751 2 2 0 6 229 408 494 +752 2 2 0 6 397 229 371 +753 2 2 0 6 229 397 177 +754 2 2 0 6 494 371 229 +755 2 2 0 6 379 229 177 +756 2 2 0 6 525 242 185 +757 2 2 0 6 242 525 514 +758 2 2 0 6 401 343 221 +759 2 2 0 6 343 339 359 +760 2 2 0 6 343 176 339 +761 2 2 0 6 343 359 221 +762 2 2 0 6 386 416 460 +763 2 2 0 6 431 416 386 +764 2 2 0 6 386 381 431 +765 2 2 0 6 393 202 380 +766 2 2 0 6 503 524 516 +767 2 2 0 6 524 264 516 +768 2 2 0 6 284 527 516 +769 2 2 0 6 495 516 527 +770 2 2 0 6 516 495 503 +771 2 2 0 6 516 264 284 +772 2 2 0 6 346 210 342 +773 2 2 0 6 346 342 404 +774 2 2 0 6 414 249 367 +775 2 2 0 6 367 249 179 +776 2 2 0 6 179 427 367 +777 2 2 0 6 409 208 295 +778 2 2 0 6 208 409 258 +779 2 2 0 6 295 311 409 +780 2 2 0 6 452 258 409 +781 2 2 0 6 341 337 210 +782 2 2 0 6 323 337 341 +783 2 2 0 6 337 321 210 +784 2 2 0 6 199 337 323 +785 2 2 0 6 316 321 337 +786 2 2 0 6 337 199 316 +787 2 2 0 6 374 220 354 +788 2 2 0 6 220 374 359 +789 2 2 0 6 354 220 315 +790 2 2 0 6 220 359 339 +791 2 2 0 6 503 522 524 +792 2 2 0 6 264 524 267 +793 2 2 0 6 252 446 192 +794 2 2 0 6 270 192 286 +795 2 2 0 6 496 174 253 +796 2 2 0 6 188 417 415 +797 2 2 0 6 415 417 469 +798 2 2 0 6 469 417 396 +799 2 2 0 6 346 341 210 +800 2 2 0 6 326 341 346 +801 2 2 0 6 341 181 323 +802 2 2 0 6 181 341 326 +803 2 2 0 6 234 425 175 +804 2 2 0 6 478 442 401 +805 2 2 0 6 265 483 274 +806 2 2 0 6 218 431 381 +807 2 2 0 6 324 373 398 +808 2 2 0 6 398 373 205 +809 2 2 0 6 398 205 366 +810 2 2 0 6 398 366 452 +811 2 2 0 6 271 225 450 +812 2 2 0 6 169 490 305 +813 2 2 0 6 490 169 304 +814 2 2 0 6 307 169 305 +815 2 2 0 6 491 169 307 +816 2 2 0 6 365 328 183 +817 2 2 0 6 183 328 299 +818 2 2 0 6 365 183 350 +819 2 2 0 6 310 183 299 +820 2 2 0 6 307 305 319 +821 2 2 0 6 204 373 324 +822 2 2 0 6 310 373 204 +823 2 2 0 6 205 373 299 +824 2 2 0 6 310 299 373 +825 2 2 0 6 462 329 419 +826 2 2 0 6 462 222 329 +827 2 2 0 6 253 486 474 +828 2 2 0 6 387 412 490 +829 2 2 0 6 490 304 387 +830 2 2 0 6 354 315 363 +831 2 2 0 6 300 314 380 +832 2 2 0 6 481 185 242 +833 2 2 0 6 428 481 242 +834 2 2 0 6 454 467 246 +835 2 2 0 6 454 246 433 +836 2 2 0 6 350 509 365 +837 2 2 0 6 240 461 265 +838 2 2 0 6 251 240 265 +839 2 2 0 6 251 186 240 +840 2 2 0 6 469 420 415 +841 2 2 0 6 415 420 462 +842 2 2 0 6 387 304 206 +843 2 2 0 6 408 469 396 +844 2 2 0 6 408 379 469 +845 2 2 0 6 513 408 396 +846 2 2 0 6 494 408 513 +847 2 2 0 6 204 324 306 +848 2 2 0 6 306 370 204 +849 2 2 0 6 207 352 321 +850 2 2 0 6 352 309 176 +851 2 2 0 6 308 309 352 +852 2 2 0 6 352 207 308 +853 2 2 0 6 442 476 404 +854 2 2 0 6 476 435 404 +855 2 2 0 6 442 488 476 +856 2 2 0 6 450 278 197 +857 2 2 0 6 186 285 278 +858 2 2 0 6 424 473 504 +859 2 2 0 6 425 468 467 +860 2 2 0 6 454 453 467 +861 2 2 0 6 425 467 453 +862 2 2 0 6 181 418 349 +863 2 2 0 6 418 252 349 +864 2 2 0 6 252 418 272 +865 2 2 0 6 487 422 172 +866 2 2 0 6 501 508 422 +867 2 2 0 6 422 269 501 +868 2 2 0 6 422 487 269 +869 2 2 0 6 344 323 349 +870 2 2 0 6 344 199 323 +871 2 2 0 6 181 349 323 +872 2 2 0 6 412 237 364 +873 2 2 0 6 414 412 364 +874 2 2 0 6 368 344 382 +875 2 2 0 6 368 199 344 +876 2 2 0 6 279 486 253 +877 2 2 0 6 462 419 256 +878 2 2 0 6 354 363 178 +879 2 2 0 6 200 327 301 +880 2 2 0 6 289 327 200 +881 2 2 0 6 200 301 291 +882 2 2 0 6 200 296 289 +883 2 2 0 6 366 340 456 +884 2 2 0 6 366 205 340 +885 2 2 0 6 339 176 309 +886 2 2 0 6 493 460 416 +887 2 2 0 6 271 450 197 +888 2 2 0 6 216 371 302 +889 2 2 0 6 216 455 371 +890 2 2 0 6 455 216 423 +891 2 2 0 6 216 424 423 +892 2 2 0 6 311 306 324 +893 2 2 0 6 520 180 237 +894 2 2 0 6 180 364 237 +895 2 2 0 6 488 442 478 +896 2 2 0 6 478 482 488 +897 2 2 0 6 420 469 379 +898 2 2 0 6 501 263 508 +899 2 2 0 6 222 462 420 +900 2 2 0 6 395 222 420 +901 2 2 0 6 177 420 379 +902 2 2 0 6 312 327 203 +903 2 2 0 6 312 301 327 +904 2 2 0 6 203 327 288 +905 2 2 0 6 289 288 327 +906 2 2 0 6 397 371 455 +907 2 2 0 6 449 249 180 +908 2 2 0 6 249 414 364 +909 2 2 0 6 448 179 249 +910 2 2 0 6 364 180 249 +911 2 2 0 6 172 259 254 +912 2 2 0 6 372 447 208 +913 2 2 0 6 208 447 295 +914 2 2 0 6 298 447 209 +915 2 2 0 6 298 295 447 +916 2 2 0 6 483 265 448 +917 2 2 0 6 219 370 297 +918 2 2 0 6 383 219 297 +919 2 2 0 6 363 358 178 +920 2 2 0 6 383 300 202 +921 2 2 0 6 380 202 300 +922 2 2 0 6 506 438 507 +923 2 2 0 6 207 321 316 +924 2 2 0 6 429 507 496 +925 2 2 0 6 285 186 273 +926 2 2 0 6 273 186 251 +927 2 2 0 6 251 479 273 +928 2 2 0 6 203 385 312 +929 2 2 0 6 312 385 456 +930 2 2 0 6 306 297 370 +931 2 2 0 6 194 506 507 +932 2 2 0 6 194 507 429 +933 2 2 0 6 506 194 489 +934 2 2 0 6 429 423 194 +935 2 2 0 6 396 203 288 +936 2 2 0 6 489 504 266 +937 2 2 0 6 500 266 504 +938 2 2 0 6 511 284 262 +939 2 2 0 6 264 262 284 +940 2 2 0 6 255 437 395 +941 2 2 0 6 494 302 371 +942 2 2 0 6 267 449 180 +943 2 2 0 6 505 511 463 +944 2 2 0 6 297 300 383 +945 2 2 0 6 290 294 316 +946 2 2 0 6 316 294 207 +947 2 2 0 6 316 199 290 +948 2 2 0 6 252 272 446 +949 2 2 0 6 288 513 396 +950 2 2 0 6 289 513 288 +951 2 2 0 6 448 265 461 +952 2 2 0 6 448 461 179 +953 2 2 0 6 426 460 493 +954 2 2 0 6 293 290 368 +955 2 2 0 6 199 368 290 +956 2 2 0 6 308 207 296 +957 2 2 0 6 292 491 307 +958 2 2 0 6 206 304 303 +959 2 2 0 6 433 436 454 +960 2 2 0 6 294 296 207 +961 2 2 0 6 491 292 291 +962 2 2 0 6 270 286 500 +963 2 2 0 6 251 287 479 +964 2 2 0 6 425 453 175 +965 2 2 0 15 3 668 70 +966 2 2 0 15 3 140 668 +967 2 2 0 15 5 56 670 +968 2 2 0 15 5 670 131 +969 2 2 0 15 6 669 71 +970 2 2 0 15 6 139 669 +971 2 2 0 15 8 85 667 +972 2 2 0 15 8 667 148 +973 2 2 0 15 57 577 56 +974 2 2 0 15 577 670 56 +975 2 2 0 15 57 58 581 +976 2 2 0 15 577 57 581 +977 2 2 0 15 59 557 58 +978 2 2 0 15 557 581 58 +979 2 2 0 15 59 60 642 +980 2 2 0 15 557 59 642 +981 2 2 0 15 61 679 60 +982 2 2 0 15 642 60 679 +983 2 2 0 15 62 592 61 +984 2 2 0 15 592 679 61 +985 2 2 0 15 63 650 62 +986 2 2 0 15 592 62 650 +987 2 2 0 15 64 626 63 +988 2 2 0 15 63 626 650 +989 2 2 0 15 64 65 630 +990 2 2 0 15 64 630 626 +991 2 2 0 15 65 66 658 +992 2 2 0 15 65 658 630 +993 2 2 0 15 67 644 66 +994 2 2 0 15 644 658 66 +995 2 2 0 15 67 68 562 +996 2 2 0 15 562 644 67 +997 2 2 0 15 69 582 68 +998 2 2 0 15 562 68 582 +999 2 2 0 15 69 70 575 +1000 2 2 0 15 575 582 69 +1001 2 2 0 15 575 70 668 +1002 2 2 0 15 72 71 578 +1003 2 2 0 15 578 71 669 +1004 2 2 0 15 72 579 73 +1005 2 2 0 15 578 579 72 +1006 2 2 0 15 74 73 558 +1007 2 2 0 15 558 73 579 +1008 2 2 0 15 74 643 75 +1009 2 2 0 15 558 643 74 +1010 2 2 0 15 76 75 680 +1011 2 2 0 15 643 680 75 +1012 2 2 0 15 77 76 591 +1013 2 2 0 15 591 76 680 +1014 2 2 0 15 78 77 651 +1015 2 2 0 15 591 651 77 +1016 2 2 0 15 79 78 627 +1017 2 2 0 15 78 651 627 +1018 2 2 0 15 79 631 80 +1019 2 2 0 15 79 627 631 +1020 2 2 0 15 80 659 81 +1021 2 2 0 15 80 631 659 +1022 2 2 0 15 82 81 645 +1023 2 2 0 15 645 81 659 +1024 2 2 0 15 82 561 83 +1025 2 2 0 15 561 82 645 +1026 2 2 0 15 84 83 580 +1027 2 2 0 15 561 580 83 +1028 2 2 0 15 84 576 85 +1029 2 2 0 15 576 84 580 +1030 2 2 0 15 576 667 85 +1031 2 2 0 15 132 131 654 +1032 2 2 0 15 131 670 654 +1033 2 2 0 15 133 132 648 +1034 2 2 0 15 132 654 648 +1035 2 2 0 15 133 569 134 +1036 2 2 0 15 133 648 625 +1037 2 2 0 15 569 133 625 +1038 2 2 0 15 135 134 663 +1039 2 2 0 15 569 663 134 +1040 2 2 0 15 135 652 136 +1041 2 2 0 15 135 663 652 +1042 2 2 0 15 136 685 137 +1043 2 2 0 15 136 652 685 +1044 2 2 0 15 137 671 138 +1045 2 2 0 15 671 137 685 +1046 2 2 0 15 138 566 139 +1047 2 2 0 15 566 138 671 +1048 2 2 0 15 139 566 669 +1049 2 2 0 15 141 563 140 +1050 2 2 0 15 140 563 668 +1051 2 2 0 15 142 628 141 +1052 2 2 0 15 563 141 628 +1053 2 2 0 15 142 143 568 +1054 2 2 0 15 142 568 628 +1055 2 2 0 15 144 664 143 +1056 2 2 0 15 568 143 664 +1057 2 2 0 15 144 145 653 +1058 2 2 0 15 144 653 664 +1059 2 2 0 15 146 682 145 +1060 2 2 0 15 145 682 653 +1061 2 2 0 15 146 147 629 +1062 2 2 0 15 146 629 570 +1063 2 2 0 15 146 570 682 +1064 2 2 0 15 147 148 565 +1065 2 2 0 15 565 629 147 +1066 2 2 0 15 148 667 565 +1067 2 2 0 15 604 554 613 +1068 2 2 0 15 604 613 559 +1069 2 2 0 15 613 568 618 +1070 2 2 0 15 618 559 613 +1071 2 2 0 15 554 574 613 +1072 2 2 0 15 613 574 568 +1073 2 2 0 15 541 599 614 +1074 2 2 0 15 584 541 614 +1075 2 2 0 15 550 590 614 +1076 2 2 0 15 614 590 584 +1077 2 2 0 15 599 638 614 +1078 2 2 0 15 614 638 550 +1079 2 2 0 15 558 579 535 +1080 2 2 0 15 558 585 643 +1081 2 2 0 15 535 622 558 +1082 2 2 0 15 609 558 622 +1083 2 2 0 15 585 558 609 +1084 2 2 0 15 681 661 673 +1085 2 2 0 15 681 673 672 +1086 2 2 0 15 530 673 596 +1087 2 2 0 15 530 674 673 +1088 2 2 0 15 661 596 673 +1089 2 2 0 15 672 673 674 +1090 2 2 0 15 553 571 533 +1091 2 2 0 15 533 571 640 +1092 2 2 0 15 566 571 535 +1093 2 2 0 15 566 671 571 +1094 2 2 0 15 571 622 535 +1095 2 2 0 15 640 571 671 +1096 2 2 0 15 571 553 622 +1097 2 2 0 15 607 617 556 +1098 2 2 0 15 556 686 607 +1099 2 2 0 15 663 617 607 +1100 2 2 0 15 663 607 652 +1101 2 2 0 15 640 652 607 +1102 2 2 0 15 686 640 607 +1103 2 2 0 15 560 556 617 +1104 2 2 0 15 560 656 556 +1105 2 2 0 15 617 612 560 +1106 2 2 0 15 560 603 529 +1107 2 2 0 15 603 560 612 +1108 2 2 0 15 560 529 656 +1109 2 2 0 15 532 632 647 +1110 2 2 0 15 559 632 532 +1111 2 2 0 15 616 632 660 +1112 2 2 0 15 632 606 660 +1113 2 2 0 15 616 677 632 +1114 2 2 0 15 647 632 677 +1115 2 2 0 15 559 606 632 +1116 2 2 0 15 573 629 565 +1117 2 2 0 15 573 570 629 +1118 2 2 0 15 565 537 573 +1119 2 2 0 15 573 537 624 +1120 2 2 0 15 573 624 555 +1121 2 2 0 15 555 616 573 +1122 2 2 0 15 616 570 573 +1123 2 2 0 15 604 532 635 +1124 2 2 0 15 559 532 604 +1125 2 2 0 15 554 604 541 +1126 2 2 0 15 599 541 604 +1127 2 2 0 15 604 635 599 +1128 2 2 0 15 683 596 542 +1129 2 2 0 15 546 683 542 +1130 2 2 0 15 620 602 683 +1131 2 2 0 15 620 683 546 +1132 2 2 0 15 596 683 598 +1133 2 2 0 15 598 683 602 +1134 2 2 0 15 551 637 615 +1135 2 2 0 15 544 637 551 +1136 2 2 0 15 600 615 637 +1137 2 2 0 15 600 637 655 +1138 2 2 0 15 637 593 655 +1139 2 2 0 15 544 593 637 +1140 2 2 0 15 670 577 654 +1141 2 2 0 15 564 577 534 +1142 2 2 0 15 577 564 654 +1143 2 2 0 15 577 581 534 +1144 2 2 0 15 631 627 595 +1145 2 2 0 15 627 651 657 +1146 2 2 0 15 627 657 595 +1147 2 2 0 15 562 582 536 +1148 2 2 0 15 536 623 562 +1149 2 2 0 15 562 584 644 +1150 2 2 0 15 584 562 610 +1151 2 2 0 15 610 562 623 +1152 2 2 0 15 661 681 593 +1153 2 2 0 15 531 681 672 +1154 2 2 0 15 655 681 531 +1155 2 2 0 15 655 593 681 +1156 2 2 0 15 532 647 635 +1157 2 2 0 15 656 686 556 +1158 2 2 0 15 588 586 642 +1159 2 2 0 15 642 679 588 +1160 2 2 0 15 547 619 588 +1161 2 2 0 15 592 547 588 +1162 2 2 0 15 619 586 588 +1163 2 2 0 15 592 588 679 +1164 2 2 0 15 669 566 578 +1165 2 2 0 15 591 680 587 +1166 2 2 0 15 643 587 680 +1167 2 2 0 15 591 587 546 +1168 2 2 0 15 587 643 585 +1169 2 2 0 15 546 587 620 +1170 2 2 0 15 620 587 585 +1171 2 2 0 15 554 541 610 +1172 2 2 0 15 584 610 541 +1173 2 2 0 15 530 687 633 +1174 2 2 0 15 633 597 530 +1175 2 2 0 15 633 687 634 +1176 2 2 0 15 633 676 641 +1177 2 2 0 15 634 676 633 +1178 2 2 0 15 597 633 641 +1179 2 2 0 15 533 656 553 +1180 2 2 0 15 656 533 686 +1181 2 2 0 15 640 686 533 +1182 2 2 0 15 566 535 578 +1183 2 2 0 15 578 535 579 +1184 2 2 0 15 530 598 687 +1185 2 2 0 15 598 530 596 +1186 2 2 0 15 530 597 674 +1187 2 2 0 15 608 552 621 +1188 2 2 0 15 608 621 557 +1189 2 2 0 15 586 539 608 +1190 2 2 0 15 586 608 557 +1191 2 2 0 15 552 608 539 +1192 2 2 0 15 665 591 546 +1193 2 2 0 15 591 665 651 +1194 2 2 0 15 568 664 618 +1195 2 2 0 15 606 618 664 +1196 2 2 0 15 559 618 606 +1197 2 2 0 15 612 617 625 +1198 2 2 0 15 625 617 569 +1199 2 2 0 15 569 617 663 +1200 2 2 0 15 549 675 662 +1201 2 2 0 15 662 675 674 +1202 2 2 0 15 672 675 594 +1203 2 2 0 15 675 672 674 +1204 2 2 0 15 549 545 675 +1205 2 2 0 15 675 545 594 +1206 2 2 0 15 551 615 589 +1207 2 2 0 15 589 595 551 +1208 2 2 0 15 595 639 551 +1209 2 2 0 15 551 639 544 +1210 2 2 0 15 671 685 640 +1211 2 2 0 15 685 652 640 +1212 2 2 0 15 615 583 589 +1213 2 2 0 15 645 659 589 +1214 2 2 0 15 589 583 645 +1215 2 2 0 15 659 631 589 +1216 2 2 0 15 589 631 595 +1217 2 2 0 15 565 576 537 +1218 2 2 0 15 667 576 565 +1219 2 2 0 15 537 561 624 +1220 2 2 0 15 561 537 580 +1221 2 2 0 15 561 645 583 +1222 2 2 0 15 611 624 561 +1223 2 2 0 15 583 611 561 +1224 2 2 0 15 636 687 598 +1225 2 2 0 15 687 636 634 +1226 2 2 0 15 646 636 602 +1227 2 2 0 15 602 636 598 +1228 2 2 0 15 634 636 646 +1229 2 2 0 15 540 615 600 +1230 2 2 0 15 583 615 540 +1231 2 2 0 15 542 548 665 +1232 2 2 0 15 548 542 688 +1233 2 2 0 15 596 688 542 +1234 2 2 0 15 542 665 546 +1235 2 2 0 15 575 536 582 +1236 2 2 0 15 563 574 536 +1237 2 2 0 15 563 536 575 +1238 2 2 0 15 574 623 536 +1239 2 2 0 15 572 621 552 +1240 2 2 0 15 572 534 621 +1241 2 2 0 15 534 557 621 +1242 2 2 0 15 538 602 620 +1243 2 2 0 15 585 538 620 +1244 2 2 0 15 564 572 625 +1245 2 2 0 15 564 625 648 +1246 2 2 0 15 564 534 572 +1247 2 2 0 15 654 564 648 +1248 2 2 0 15 603 634 529 +1249 2 2 0 15 552 539 603 +1250 2 2 0 15 601 603 539 +1251 2 2 0 15 603 612 552 +1252 2 2 0 15 603 601 634 +1253 2 2 0 15 658 590 630 +1254 2 2 0 15 644 590 658 +1255 2 2 0 15 668 563 575 +1256 2 2 0 15 612 625 572 +1257 2 2 0 15 660 682 570 +1258 2 2 0 15 682 660 653 +1259 2 2 0 15 616 660 570 +1260 2 2 0 15 660 606 653 +1261 2 2 0 15 634 646 529 +1262 2 2 0 15 529 646 656 +1263 2 2 0 15 574 554 623 +1264 2 2 0 15 610 623 554 +1265 2 2 0 15 576 580 537 +1266 2 2 0 15 639 665 548 +1267 2 2 0 15 544 639 548 +1268 2 2 0 15 548 688 661 +1269 2 2 0 15 593 548 661 +1270 2 2 0 15 548 593 544 +1271 2 2 0 15 557 642 586 +1272 2 2 0 15 657 665 639 +1273 2 2 0 15 639 595 657 +1274 2 2 0 15 567 647 600 +1275 2 2 0 15 600 655 567 +1276 2 2 0 15 647 677 600 +1277 2 2 0 15 540 600 677 +1278 2 2 0 15 647 567 635 +1279 2 2 0 15 567 649 635 +1280 2 2 0 15 567 531 649 +1281 2 2 0 15 567 655 531 +1282 2 2 0 15 611 555 624 +1283 2 2 0 15 555 611 540 +1284 2 2 0 15 583 540 611 +1285 2 2 0 15 547 543 641 +1286 2 2 0 15 619 547 641 +1287 2 2 0 15 543 547 666 +1288 2 2 0 15 666 547 592 +1289 2 2 0 15 543 549 662 +1290 2 2 0 15 597 543 662 +1291 2 2 0 15 662 674 597 +1292 2 2 0 15 586 619 539 +1293 2 2 0 15 596 661 688 +1294 2 2 0 15 619 641 676 +1295 2 2 0 15 619 676 601 +1296 2 2 0 15 601 676 634 +1297 2 2 0 15 602 538 605 +1298 2 2 0 15 605 646 602 +1299 2 2 0 15 641 543 597 +1300 2 2 0 15 664 653 606 +1301 2 2 0 15 574 563 628 +1302 2 2 0 15 574 628 568 +1303 2 2 0 15 590 550 678 +1304 2 2 0 15 590 678 630 +1305 2 2 0 15 590 644 584 +1306 2 2 0 15 552 612 572 +1307 2 2 0 15 585 609 538 +1308 2 2 0 15 553 538 609 +1309 2 2 0 15 553 605 538 +1310 2 2 0 15 677 616 555 +1311 2 2 0 15 555 540 677 +1312 2 2 0 15 539 619 601 +1313 2 2 0 15 649 599 635 +1314 2 2 0 15 599 649 638 +1315 2 2 0 15 550 545 678 +1316 2 2 0 15 545 550 638 +1317 2 2 0 15 678 626 630 +1318 2 2 0 15 684 626 678 +1319 2 2 0 15 626 684 650 +1320 2 2 0 15 646 605 656 +1321 2 2 0 15 531 672 594 +1322 2 2 0 15 609 622 553 +1323 2 2 0 15 543 666 549 +1324 2 2 0 15 666 684 549 +1325 2 2 0 15 545 549 684 +1326 2 2 0 15 678 545 684 +1327 2 2 0 15 650 684 666 +1328 2 2 0 15 649 531 594 +1329 2 2 0 15 605 553 656 +1330 2 2 0 15 638 649 594 +1331 2 2 0 15 545 638 594 +1332 2 2 0 15 651 665 657 +1333 2 2 0 15 557 534 581 +1334 2 2 0 15 592 650 666 +1335 2 2 0 19 2 844 25 +1336 2 2 0 19 2 149 844 +1337 2 2 0 19 3 11 846 +1338 2 2 0 19 3 846 140 +1339 2 2 0 19 8 845 86 +1340 2 2 0 19 8 148 845 +1341 2 2 0 19 9 100 843 +1342 2 2 0 19 9 843 157 +1343 2 2 0 19 12 736 11 +1344 2 2 0 19 736 846 11 +1345 2 2 0 19 12 13 740 +1346 2 2 0 19 736 12 740 +1347 2 2 0 19 14 715 13 +1348 2 2 0 19 715 740 13 +1349 2 2 0 19 14 15 819 +1350 2 2 0 19 715 14 819 +1351 2 2 0 19 16 836 15 +1352 2 2 0 19 819 15 836 +1353 2 2 0 19 17 837 16 +1354 2 2 0 19 16 837 836 +1355 2 2 0 19 18 831 17 +1356 2 2 0 19 17 831 837 +1357 2 2 0 19 19 789 18 +1358 2 2 0 19 18 789 831 +1359 2 2 0 19 19 20 793 +1360 2 2 0 19 19 793 789 +1361 2 2 0 19 20 21 834 +1362 2 2 0 19 20 834 793 +1363 2 2 0 19 22 821 21 +1364 2 2 0 19 821 834 21 +1365 2 2 0 19 22 23 720 +1366 2 2 0 19 720 821 22 +1367 2 2 0 19 24 741 23 +1368 2 2 0 19 720 23 741 +1369 2 2 0 19 24 25 734 +1370 2 2 0 19 734 741 24 +1371 2 2 0 19 734 25 844 +1372 2 2 0 19 87 86 737 +1373 2 2 0 19 737 86 845 +1374 2 2 0 19 87 738 88 +1375 2 2 0 19 737 738 87 +1376 2 2 0 19 89 88 716 +1377 2 2 0 19 716 88 738 +1378 2 2 0 19 89 820 90 +1379 2 2 0 19 716 820 89 +1380 2 2 0 19 91 90 839 +1381 2 2 0 19 820 839 90 +1382 2 2 0 19 92 91 838 +1383 2 2 0 19 91 839 838 +1384 2 2 0 19 93 92 832 +1385 2 2 0 19 92 838 832 +1386 2 2 0 19 94 93 790 +1387 2 2 0 19 93 832 790 +1388 2 2 0 19 94 794 95 +1389 2 2 0 19 94 790 794 +1390 2 2 0 19 95 835 96 +1391 2 2 0 19 95 794 835 +1392 2 2 0 19 97 96 822 +1393 2 2 0 19 822 96 835 +1394 2 2 0 19 97 719 98 +1395 2 2 0 19 719 97 822 +1396 2 2 0 19 99 98 739 +1397 2 2 0 19 719 739 98 +1398 2 2 0 19 99 735 100 +1399 2 2 0 19 735 99 739 +1400 2 2 0 19 735 843 100 +1401 2 2 0 19 141 140 830 +1402 2 2 0 19 140 846 830 +1403 2 2 0 19 142 141 826 +1404 2 2 0 19 141 830 826 +1405 2 2 0 19 142 727 143 +1406 2 2 0 19 142 826 788 +1407 2 2 0 19 727 142 788 +1408 2 2 0 19 144 143 841 +1409 2 2 0 19 727 841 143 +1410 2 2 0 19 144 827 145 +1411 2 2 0 19 144 841 827 +1412 2 2 0 19 145 853 146 +1413 2 2 0 19 145 827 853 +1414 2 2 0 19 146 847 147 +1415 2 2 0 19 847 146 853 +1416 2 2 0 19 147 724 148 +1417 2 2 0 19 724 147 847 +1418 2 2 0 19 148 724 845 +1419 2 2 0 19 150 721 149 +1420 2 2 0 19 149 721 844 +1421 2 2 0 19 151 791 150 +1422 2 2 0 19 721 150 791 +1423 2 2 0 19 151 152 726 +1424 2 2 0 19 151 726 791 +1425 2 2 0 19 153 842 152 +1426 2 2 0 19 726 152 842 +1427 2 2 0 19 153 154 828 +1428 2 2 0 19 153 828 842 +1429 2 2 0 19 155 852 154 +1430 2 2 0 19 154 852 828 +1431 2 2 0 19 155 156 792 +1432 2 2 0 19 155 728 852 +1433 2 2 0 19 155 792 728 +1434 2 2 0 19 156 157 723 +1435 2 2 0 19 723 792 156 +1436 2 2 0 19 157 843 723 +1437 2 2 0 19 694 824 810 +1438 2 2 0 19 766 694 810 +1439 2 2 0 19 824 725 810 +1440 2 2 0 19 766 810 761 +1441 2 2 0 19 725 761 810 +1442 2 2 0 19 846 736 830 +1443 2 2 0 19 830 722 826 +1444 2 2 0 19 736 722 830 +1445 2 2 0 19 765 718 775 +1446 2 2 0 19 782 775 718 +1447 2 2 0 19 718 765 689 +1448 2 2 0 19 718 833 714 +1449 2 2 0 19 718 689 833 +1450 2 2 0 19 718 714 782 +1451 2 2 0 19 837 831 751 +1452 2 2 0 19 837 747 836 +1453 2 2 0 19 747 837 751 +1454 2 2 0 19 697 785 716 +1455 2 2 0 19 716 738 697 +1456 2 2 0 19 724 729 697 +1457 2 2 0 19 724 697 737 +1458 2 2 0 19 729 785 697 +1459 2 2 0 19 737 697 738 +1460 2 2 0 19 762 768 702 +1461 2 2 0 19 713 702 768 +1462 2 2 0 19 713 774 702 +1463 2 2 0 19 742 702 774 +1464 2 2 0 19 702 856 762 +1465 2 2 0 19 702 778 856 +1466 2 2 0 19 742 778 702 +1467 2 2 0 19 823 767 833 +1468 2 2 0 19 767 823 764 +1469 2 2 0 19 767 711 833 +1470 2 2 0 19 711 767 700 +1471 2 2 0 19 764 700 767 +1472 2 2 0 19 707 705 811 +1473 2 2 0 19 707 811 780 +1474 2 2 0 19 811 705 760 +1475 2 2 0 19 848 811 809 +1476 2 2 0 19 760 809 811 +1477 2 2 0 19 780 811 848 +1478 2 2 0 19 707 807 705 +1479 2 2 0 19 707 780 747 +1480 2 2 0 19 751 707 747 +1481 2 2 0 19 707 751 807 +1482 2 2 0 19 804 813 825 +1483 2 2 0 19 825 813 855 +1484 2 2 0 19 813 804 753 +1485 2 2 0 19 795 813 753 +1486 2 2 0 19 795 850 813 +1487 2 2 0 19 777 855 813 +1488 2 2 0 19 850 777 813 +1489 2 2 0 19 851 815 778 +1490 2 2 0 19 796 815 851 +1491 2 2 0 19 803 829 815 +1492 2 2 0 19 815 752 803 +1493 2 2 0 19 829 856 815 +1494 2 2 0 19 778 815 856 +1495 2 2 0 19 796 752 815 +1496 2 2 0 19 694 805 824 +1497 2 2 0 19 717 805 694 +1498 2 2 0 19 717 694 766 +1499 2 2 0 19 709 818 705 +1500 2 2 0 19 760 705 818 +1501 2 2 0 19 709 705 807 +1502 2 2 0 19 816 827 770 +1503 2 2 0 19 854 816 770 +1504 2 2 0 19 841 782 770 +1505 2 2 0 19 770 782 714 +1506 2 2 0 19 841 770 827 +1507 2 2 0 19 714 854 770 +1508 2 2 0 19 843 735 723 +1509 2 2 0 19 842 828 769 +1510 2 2 0 19 840 769 828 +1511 2 2 0 19 852 840 828 +1512 2 2 0 19 772 716 785 +1513 2 2 0 19 744 716 772 +1514 2 2 0 19 716 744 820 +1515 2 2 0 19 690 809 802 +1516 2 2 0 19 690 733 809 +1517 2 2 0 19 690 802 801 +1518 2 2 0 19 690 801 814 +1519 2 2 0 19 690 814 733 +1520 2 2 0 19 831 789 757 +1521 2 2 0 19 751 831 757 +1522 2 2 0 19 824 805 768 +1523 2 2 0 19 779 768 805 +1524 2 2 0 19 768 762 824 +1525 2 2 0 19 768 779 713 +1526 2 2 0 19 754 851 794 +1527 2 2 0 19 754 796 851 +1528 2 2 0 19 851 778 748 +1529 2 2 0 19 748 794 851 +1530 2 2 0 19 803 752 799 +1531 2 2 0 19 692 803 799 +1532 2 2 0 19 693 799 798 +1533 2 2 0 19 693 692 799 +1534 2 2 0 19 752 798 799 +1535 2 2 0 19 760 802 809 +1536 2 2 0 19 809 763 848 +1537 2 2 0 19 763 809 733 +1538 2 2 0 19 754 756 708 +1539 2 2 0 19 756 754 790 +1540 2 2 0 19 754 708 796 +1541 2 2 0 19 794 790 754 +1542 2 2 0 19 805 769 840 +1543 2 2 0 19 779 805 840 +1544 2 2 0 19 717 769 805 +1545 2 2 0 19 769 783 842 +1546 2 2 0 19 726 842 783 +1547 2 2 0 19 717 783 769 +1548 2 2 0 19 776 726 783 +1549 2 2 0 19 783 717 776 +1550 2 2 0 19 774 787 719 +1551 2 2 0 19 742 774 719 +1552 2 2 0 19 774 713 787 +1553 2 2 0 19 712 703 773 +1554 2 2 0 19 773 786 712 +1555 2 2 0 19 766 712 776 +1556 2 2 0 19 712 732 776 +1557 2 2 0 19 712 766 703 +1558 2 2 0 19 732 712 786 +1559 2 2 0 19 819 836 747 +1560 2 2 0 19 706 812 704 +1561 2 2 0 19 706 781 812 +1562 2 2 0 19 706 704 806 +1563 2 2 0 19 706 806 750 +1564 2 2 0 19 706 746 781 +1565 2 2 0 19 750 746 706 +1566 2 2 0 19 708 756 806 +1567 2 2 0 19 832 756 790 +1568 2 2 0 19 750 756 832 +1569 2 2 0 19 750 806 756 +1570 2 2 0 19 772 785 711 +1571 2 2 0 19 711 700 772 +1572 2 2 0 19 744 772 700 +1573 2 2 0 19 689 823 833 +1574 2 2 0 19 689 808 823 +1575 2 2 0 19 823 808 733 +1576 2 2 0 19 733 764 823 +1577 2 2 0 19 725 824 762 +1578 2 2 0 19 829 762 856 +1579 2 2 0 19 762 829 725 +1580 2 2 0 19 747 745 819 +1581 2 2 0 19 715 819 745 +1582 2 2 0 19 711 729 695 +1583 2 2 0 19 695 833 711 +1584 2 2 0 19 729 711 785 +1585 2 2 0 19 775 782 788 +1586 2 2 0 19 775 788 730 +1587 2 2 0 19 788 782 727 +1588 2 2 0 19 722 788 826 +1589 2 2 0 19 722 730 788 +1590 2 2 0 19 801 802 797 +1591 2 2 0 19 802 760 797 +1592 2 2 0 19 771 710 784 +1593 2 2 0 19 771 784 715 +1594 2 2 0 19 710 771 701 +1595 2 2 0 19 745 701 771 +1596 2 2 0 19 745 771 715 +1597 2 2 0 19 708 704 817 +1598 2 2 0 19 796 708 817 +1599 2 2 0 19 708 806 704 +1600 2 2 0 19 721 732 698 +1601 2 2 0 19 721 698 734 +1602 2 2 0 19 720 741 698 +1603 2 2 0 19 698 786 720 +1604 2 2 0 19 732 786 698 +1605 2 2 0 19 734 698 741 +1606 2 2 0 19 724 847 729 +1607 2 2 0 19 845 724 737 +1608 2 2 0 19 801 798 759 +1609 2 2 0 19 759 814 801 +1610 2 2 0 19 801 797 693 +1611 2 2 0 19 801 693 798 +1612 2 2 0 19 765 775 710 +1613 2 2 0 19 710 775 730 +1614 2 2 0 19 844 721 734 +1615 2 2 0 19 838 750 832 +1616 2 2 0 19 730 696 784 +1617 2 2 0 19 696 715 784 +1618 2 2 0 19 730 784 710 +1619 2 2 0 19 722 696 730 +1620 2 2 0 19 722 736 696 +1621 2 2 0 19 736 740 696 +1622 2 2 0 19 715 696 740 +1623 2 2 0 19 853 827 816 +1624 2 2 0 19 847 853 816 +1625 2 2 0 19 691 804 825 +1626 2 2 0 19 825 855 761 +1627 2 2 0 19 761 725 825 +1628 2 2 0 19 691 825 725 +1629 2 2 0 19 835 794 748 +1630 2 2 0 19 822 835 748 +1631 2 2 0 19 780 848 763 +1632 2 2 0 19 710 701 765 +1633 2 2 0 19 765 808 689 +1634 2 2 0 19 765 763 808 +1635 2 2 0 19 763 765 701 +1636 2 2 0 19 804 800 753 +1637 2 2 0 19 692 800 804 +1638 2 2 0 19 691 692 804 +1639 2 2 0 19 834 749 793 +1640 2 2 0 19 793 755 789 +1641 2 2 0 19 749 850 793 +1642 2 2 0 19 755 793 850 +1643 2 2 0 19 723 699 731 +1644 2 2 0 19 723 735 699 +1645 2 2 0 19 731 792 723 +1646 2 2 0 19 795 753 818 +1647 2 2 0 19 795 818 709 +1648 2 2 0 19 818 753 758 +1649 2 2 0 19 760 818 758 +1650 2 2 0 19 695 729 816 +1651 2 2 0 19 816 854 695 +1652 2 2 0 19 816 729 847 +1653 2 2 0 19 699 719 787 +1654 2 2 0 19 719 699 739 +1655 2 2 0 19 719 822 742 +1656 2 2 0 19 833 695 854 +1657 2 2 0 19 759 817 704 +1658 2 2 0 19 759 798 817 +1659 2 2 0 19 817 798 752 +1660 2 2 0 19 796 817 752 +1661 2 2 0 19 812 759 704 +1662 2 2 0 19 759 812 814 +1663 2 2 0 19 840 852 728 +1664 2 2 0 19 779 840 728 +1665 2 2 0 19 691 829 803 +1666 2 2 0 19 691 803 692 +1667 2 2 0 19 743 720 773 +1668 2 2 0 19 773 720 786 +1669 2 2 0 19 743 773 703 +1670 2 2 0 19 701 780 763 +1671 2 2 0 19 745 780 701 +1672 2 2 0 19 780 745 747 +1673 2 2 0 19 781 849 812 +1674 2 2 0 19 812 849 814 +1675 2 2 0 19 776 732 726 +1676 2 2 0 19 732 791 726 +1677 2 2 0 19 833 854 714 +1678 2 2 0 19 727 782 841 +1679 2 2 0 19 713 779 731 +1680 2 2 0 19 779 728 731 +1681 2 2 0 19 781 764 849 +1682 2 2 0 19 814 849 764 +1683 2 2 0 19 755 795 709 +1684 2 2 0 19 755 850 795 +1685 2 2 0 19 766 776 717 +1686 2 2 0 19 703 761 855 +1687 2 2 0 19 703 855 777 +1688 2 2 0 19 761 703 766 +1689 2 2 0 19 731 787 713 +1690 2 2 0 19 732 721 791 +1691 2 2 0 19 821 749 834 +1692 2 2 0 19 720 743 821 +1693 2 2 0 19 749 821 743 +1694 2 2 0 19 743 703 777 +1695 2 2 0 19 777 749 743 +1696 2 2 0 19 850 749 777 +1697 2 2 0 19 757 789 755 +1698 2 2 0 19 839 746 838 +1699 2 2 0 19 820 746 839 +1700 2 2 0 19 693 797 800 +1701 2 2 0 19 800 797 758 +1702 2 2 0 19 758 797 760 +1703 2 2 0 19 746 750 838 +1704 2 2 0 19 733 808 763 +1705 2 2 0 19 693 800 692 +1706 2 2 0 19 731 699 787 +1707 2 2 0 19 735 739 699 +1708 2 2 0 19 691 725 829 +1709 2 2 0 19 744 700 781 +1710 2 2 0 19 700 764 781 +1711 2 2 0 19 753 800 758 +1712 2 2 0 19 778 742 748 +1713 2 2 0 19 781 746 744 +1714 2 2 0 19 731 728 792 +1715 2 2 0 19 748 742 822 +1716 2 2 0 19 746 820 744 +1717 2 2 0 19 751 757 807 +1718 2 2 0 19 764 733 814 +1719 2 2 0 19 755 709 757 +1720 2 2 0 19 709 807 757 +1721 2 2 0 23 2 26 998 +1722 2 2 0 23 2 998 149 +1723 2 2 0 23 4 996 40 +1724 2 2 0 23 4 158 996 +1725 2 2 0 23 9 997 101 +1726 2 2 0 23 9 157 997 +1727 2 2 0 23 10 115 995 +1728 2 2 0 23 10 995 166 +1729 2 2 0 23 27 905 26 +1730 2 2 0 23 905 998 26 +1731 2 2 0 23 27 28 909 +1732 2 2 0 23 905 27 909 +1733 2 2 0 23 29 885 28 +1734 2 2 0 23 885 909 28 +1735 2 2 0 23 29 30 970 +1736 2 2 0 23 885 29 970 +1737 2 2 0 23 31 1007 30 +1738 2 2 0 23 970 30 1007 +1739 2 2 0 23 32 920 31 +1740 2 2 0 23 920 1007 31 +1741 2 2 0 23 33 978 32 +1742 2 2 0 23 920 32 978 +1743 2 2 0 23 34 954 33 +1744 2 2 0 23 33 954 978 +1745 2 2 0 23 34 35 958 +1746 2 2 0 23 34 958 954 +1747 2 2 0 23 35 36 986 +1748 2 2 0 23 35 986 958 +1749 2 2 0 23 37 972 36 +1750 2 2 0 23 972 986 36 +1751 2 2 0 23 37 38 890 +1752 2 2 0 23 890 972 37 +1753 2 2 0 23 39 910 38 +1754 2 2 0 23 890 38 910 +1755 2 2 0 23 39 40 903 +1756 2 2 0 23 903 910 39 +1757 2 2 0 23 903 40 996 +1758 2 2 0 23 102 101 906 +1759 2 2 0 23 906 101 997 +1760 2 2 0 23 102 907 103 +1761 2 2 0 23 906 907 102 +1762 2 2 0 23 104 103 886 +1763 2 2 0 23 886 103 907 +1764 2 2 0 23 104 971 105 +1765 2 2 0 23 886 971 104 +1766 2 2 0 23 106 105 1008 +1767 2 2 0 23 971 1008 105 +1768 2 2 0 23 107 106 919 +1769 2 2 0 23 919 106 1008 +1770 2 2 0 23 108 107 979 +1771 2 2 0 23 919 979 107 +1772 2 2 0 23 109 108 955 +1773 2 2 0 23 108 979 955 +1774 2 2 0 23 109 959 110 +1775 2 2 0 23 109 955 959 +1776 2 2 0 23 110 987 111 +1777 2 2 0 23 110 959 987 +1778 2 2 0 23 112 111 973 +1779 2 2 0 23 973 111 987 +1780 2 2 0 23 112 889 113 +1781 2 2 0 23 889 112 973 +1782 2 2 0 23 114 113 908 +1783 2 2 0 23 889 908 113 +1784 2 2 0 23 114 904 115 +1785 2 2 0 23 904 114 908 +1786 2 2 0 23 904 995 115 +1787 2 2 0 23 150 149 982 +1788 2 2 0 23 149 998 982 +1789 2 2 0 23 151 150 976 +1790 2 2 0 23 150 982 976 +1791 2 2 0 23 151 897 152 +1792 2 2 0 23 897 151 953 +1793 2 2 0 23 151 976 953 +1794 2 2 0 23 153 152 991 +1795 2 2 0 23 897 991 152 +1796 2 2 0 23 153 980 154 +1797 2 2 0 23 153 991 980 +1798 2 2 0 23 154 1013 155 +1799 2 2 0 23 154 980 1013 +1800 2 2 0 23 155 999 156 +1801 2 2 0 23 999 155 1013 +1802 2 2 0 23 156 894 157 +1803 2 2 0 23 894 156 999 +1804 2 2 0 23 157 894 997 +1805 2 2 0 23 159 891 158 +1806 2 2 0 23 158 891 996 +1807 2 2 0 23 160 956 159 +1808 2 2 0 23 891 159 956 +1809 2 2 0 23 160 161 896 +1810 2 2 0 23 160 896 956 +1811 2 2 0 23 162 992 161 +1812 2 2 0 23 896 161 992 +1813 2 2 0 23 162 163 981 +1814 2 2 0 23 162 981 992 +1815 2 2 0 23 164 1010 163 +1816 2 2 0 23 163 1010 981 +1817 2 2 0 23 164 165 957 +1818 2 2 0 23 164 898 1010 +1819 2 2 0 23 164 957 898 +1820 2 2 0 23 165 166 893 +1821 2 2 0 23 893 957 165 +1822 2 2 0 23 166 995 893 +1823 2 2 0 23 1003 1000 1002 +1824 2 2 0 23 990 1003 1002 +1825 2 2 0 23 877 873 1003 +1826 2 2 0 23 1003 873 922 +1827 2 2 0 23 1000 1003 922 +1828 2 2 0 23 877 1003 990 +1829 2 2 0 23 989 924 1001 +1830 2 2 0 23 924 989 1016 +1831 2 2 0 23 921 876 989 +1832 2 2 0 23 989 1009 921 +1833 2 2 0 23 876 1016 989 +1834 2 2 0 23 1009 989 1001 +1835 2 2 0 23 868 943 928 +1836 2 2 0 23 911 943 868 +1837 2 2 0 23 878 943 917 +1838 2 2 0 23 878 965 943 +1839 2 2 0 23 943 911 917 +1840 2 2 0 23 928 943 965 +1841 2 2 0 23 924 1011 926 +1842 2 2 0 23 926 858 924 +1843 2 2 0 23 926 1011 930 +1844 2 2 0 23 930 964 926 +1845 2 2 0 23 858 926 1015 +1846 2 2 0 23 964 1015 926 +1847 2 2 0 23 881 933 866 +1848 2 2 0 23 930 866 933 +1849 2 2 0 23 881 866 937 +1850 2 2 0 23 866 930 948 +1851 2 2 0 23 913 937 866 +1852 2 2 0 23 913 866 948 +1853 2 2 0 23 893 904 865 +1854 2 2 0 23 893 865 901 +1855 2 2 0 23 901 865 952 +1856 2 2 0 23 865 889 952 +1857 2 2 0 23 904 908 865 +1858 2 2 0 23 889 865 908 +1859 2 2 0 23 973 987 917 +1860 2 2 0 23 917 911 973 +1861 2 2 0 23 889 973 911 +1862 2 2 0 23 895 977 963 +1863 2 2 0 23 977 927 963 +1864 2 2 0 23 895 859 977 +1865 2 2 0 23 927 977 966 +1866 2 2 0 23 977 859 922 +1867 2 2 0 23 966 977 922 +1868 2 2 0 23 972 918 986 +1869 2 2 0 23 918 972 912 +1870 2 2 0 23 986 918 958 +1871 2 2 0 23 879 918 942 +1872 2 2 0 23 942 918 912 +1873 2 2 0 23 918 879 1006 +1874 2 2 0 23 918 1006 958 +1875 2 2 0 23 894 863 906 +1876 2 2 0 23 997 894 906 +1877 2 2 0 23 894 899 863 +1878 2 2 0 23 894 999 899 +1879 2 2 0 23 955 985 923 +1880 2 2 0 23 959 955 923 +1881 2 2 0 23 967 923 985 +1882 2 2 0 23 917 923 878 +1883 2 2 0 23 923 967 878 +1884 2 2 0 23 917 959 923 +1885 2 2 0 23 900 949 880 +1886 2 2 0 23 880 940 900 +1887 2 2 0 23 892 862 900 +1888 2 2 0 23 900 862 949 +1889 2 2 0 23 892 900 953 +1890 2 2 0 23 940 953 900 +1891 2 2 0 23 969 871 925 +1892 2 2 0 23 875 871 969 +1893 2 2 0 23 961 1004 969 +1894 2 2 0 23 925 961 969 +1895 2 2 0 23 947 969 1004 +1896 2 2 0 23 947 875 969 +1897 2 2 0 23 883 868 1005 +1898 2 2 0 23 883 939 868 +1899 2 2 0 23 1005 944 883 +1900 2 2 0 23 883 944 901 +1901 2 2 0 23 939 883 952 +1902 2 2 0 23 901 952 883 +1903 2 2 0 23 871 875 994 +1904 2 2 0 23 871 994 877 +1905 2 2 0 23 925 871 990 +1906 2 2 0 23 871 877 990 +1907 2 2 0 23 988 1010 898 +1908 2 2 0 23 1010 988 981 +1909 2 2 0 23 938 951 882 +1910 2 2 0 23 938 890 951 +1911 2 2 0 23 882 869 938 +1912 2 2 0 23 912 890 938 +1913 2 2 0 23 912 938 869 +1914 2 2 0 23 890 912 972 +1915 2 2 0 23 920 916 1007 +1916 2 2 0 23 970 1007 916 +1917 2 2 0 23 868 928 1005 +1918 2 2 0 23 911 868 939 +1919 2 2 0 23 902 956 896 +1920 2 2 0 23 941 902 896 +1921 2 2 0 23 941 896 946 +1922 2 2 0 23 896 992 946 +1923 2 2 0 23 867 947 929 +1924 2 2 0 23 929 931 867 +1925 2 2 0 23 880 936 867 +1926 2 2 0 23 880 867 931 +1927 2 2 0 23 914 947 867 +1928 2 2 0 23 914 867 936 +1929 2 2 0 23 955 979 985 +1930 2 2 0 23 887 960 860 +1931 2 2 0 23 887 934 960 +1932 2 2 0 23 944 960 988 +1933 2 2 0 23 944 1005 960 +1934 2 2 0 23 860 960 975 +1935 2 2 0 23 960 934 988 +1936 2 2 0 23 975 960 1005 +1937 2 2 0 23 933 881 984 +1938 2 2 0 23 974 933 984 +1939 2 2 0 23 933 974 930 +1940 2 2 0 23 985 993 967 +1941 2 2 0 23 979 993 985 +1942 2 2 0 23 870 876 993 +1943 2 2 0 23 967 993 876 +1944 2 2 0 23 870 993 874 +1945 2 2 0 23 993 919 874 +1946 2 2 0 23 919 993 979 +1947 2 2 0 23 995 904 893 +1948 2 2 0 23 901 957 893 +1949 2 2 0 23 902 882 951 +1950 2 2 0 23 902 951 864 +1951 2 2 0 23 864 951 890 +1952 2 2 0 23 887 860 932 +1953 2 2 0 23 932 941 887 +1954 2 2 0 23 946 887 941 +1955 2 2 0 23 887 946 934 +1956 2 2 0 23 872 965 878 +1957 2 2 0 23 878 967 872 +1958 2 2 0 23 886 913 971 +1959 2 2 0 23 863 950 886 +1960 2 2 0 23 886 907 863 +1961 2 2 0 23 937 886 950 +1962 2 2 0 23 913 886 937 +1963 2 2 0 23 994 875 920 +1964 2 2 0 23 920 978 994 +1965 2 2 0 23 920 875 916 +1966 2 2 0 23 975 895 963 +1967 2 2 0 23 932 860 963 +1968 2 2 0 23 932 963 927 +1969 2 2 0 23 860 975 963 +1970 2 2 0 23 861 984 881 +1971 2 2 0 23 881 899 861 +1972 2 2 0 23 899 881 950 +1973 2 2 0 23 937 950 881 +1974 2 2 0 23 916 914 970 +1975 2 2 0 23 885 970 914 +1976 2 2 0 23 971 915 1008 +1977 2 2 0 23 915 971 913 +1978 2 2 0 23 919 1008 915 +1979 2 2 0 23 948 915 913 +1980 2 2 0 23 874 915 948 +1981 2 2 0 23 919 915 874 +1982 2 2 0 23 1011 924 870 +1983 2 2 0 23 924 1016 870 +1984 2 2 0 23 858 1001 924 +1985 2 2 0 23 996 891 903 +1986 2 2 0 23 876 921 872 +1987 2 2 0 23 872 921 965 +1988 2 2 0 23 965 921 983 +1989 2 2 0 23 983 921 1009 +1990 2 2 0 23 991 935 980 +1991 2 2 0 23 991 945 935 +1992 2 2 0 23 968 980 935 +1993 2 2 0 23 884 1014 935 +1994 2 2 0 23 935 945 884 +1995 2 2 0 23 1014 968 935 +1996 2 2 0 23 895 975 928 +1997 2 2 0 23 928 983 895 +1998 2 2 0 23 895 983 859 +1999 2 2 0 23 888 984 884 +2000 2 2 0 23 984 1014 884 +2001 2 2 0 23 888 857 984 +2002 2 2 0 23 857 974 984 +2003 2 2 0 23 984 861 1014 +2004 2 2 0 23 897 945 991 +2005 2 2 0 23 953 945 897 +2006 2 2 0 23 987 959 917 +2007 2 2 0 23 1013 980 968 +2008 2 2 0 23 927 869 932 +2009 2 2 0 23 882 932 869 +2010 2 2 0 23 932 882 941 +2011 2 2 0 23 876 870 1016 +2012 2 2 0 23 872 967 876 +2013 2 2 0 23 994 1012 877 +2014 2 2 0 23 978 1012 994 +2015 2 2 0 23 944 988 898 +2016 2 2 0 23 944 898 901 +2017 2 2 0 23 888 884 945 +2018 2 2 0 23 888 931 857 +2019 2 2 0 23 931 888 940 +2020 2 2 0 23 945 940 888 +2021 2 2 0 23 882 902 941 +2022 2 2 0 23 902 891 956 +2023 2 2 0 23 891 902 864 +2024 2 2 0 23 929 1004 962 +2025 2 2 0 23 931 929 962 +2026 2 2 0 23 947 1004 929 +2027 2 2 0 23 906 863 907 +2028 2 2 0 23 962 974 857 +2029 2 2 0 23 931 962 857 +2030 2 2 0 23 962 1004 961 +2031 2 2 0 23 961 1015 962 +2032 2 2 0 23 962 964 974 +2033 2 2 0 23 1015 964 962 +2034 2 2 0 23 874 1011 870 +2035 2 2 0 23 948 930 1011 +2036 2 2 0 23 948 1011 874 +2037 2 2 0 23 892 905 862 +2038 2 2 0 23 905 909 862 +2039 2 2 0 23 905 892 982 +2040 2 2 0 23 998 905 982 +2041 2 2 0 23 1000 1001 1002 +2042 2 2 0 23 858 1002 1001 +2043 2 2 0 23 858 925 1002 +2044 2 2 0 23 990 1002 925 +2045 2 2 0 23 1006 873 1012 +2046 2 2 0 23 873 877 1012 +2047 2 2 0 23 879 873 1006 +2048 2 2 0 23 873 879 966 +2049 2 2 0 23 873 966 922 +2050 2 2 0 23 869 927 942 +2051 2 2 0 23 927 966 942 +2052 2 2 0 23 988 934 981 +2053 2 2 0 23 928 965 983 +2054 2 2 0 23 936 880 949 +2055 2 2 0 23 931 940 880 +2056 2 2 0 23 899 950 863 +2057 2 2 0 23 885 862 909 +2058 2 2 0 23 862 885 949 +2059 2 2 0 23 975 1005 928 +2060 2 2 0 23 1012 954 1006 +2061 2 2 0 23 954 1012 978 +2062 2 2 0 23 939 952 889 +2063 2 2 0 23 892 953 976 +2064 2 2 0 23 982 892 976 +2065 2 2 0 23 961 925 858 +2066 2 2 0 23 858 1015 961 +2067 2 2 0 23 940 945 953 +2068 2 2 0 23 968 899 999 +2069 2 2 0 23 999 1013 968 +2070 2 2 0 23 891 864 903 +2071 2 2 0 23 1009 1001 1000 +2072 2 2 0 23 859 1009 1000 +2073 2 2 0 23 859 1000 922 +2074 2 2 0 23 942 966 879 +2075 2 2 0 23 912 869 942 +2076 2 2 0 23 890 910 864 +2077 2 2 0 23 901 898 957 +2078 2 2 0 23 903 864 910 +2079 2 2 0 23 1006 954 958 +2080 2 2 0 23 875 947 916 +2081 2 2 0 23 947 914 916 +2082 2 2 0 23 861 899 968 +2083 2 2 0 23 968 1014 861 +2084 2 2 0 23 983 1009 859 +2085 2 2 0 23 974 964 930 +2086 2 2 0 23 936 949 885 +2087 2 2 0 23 914 936 885 +2088 2 2 0 23 911 939 889 +2089 2 2 0 23 992 981 934 +2090 2 2 0 23 934 946 992 +2091 2 2 0 27 4 41 1158 +2092 2 2 0 27 4 1158 158 +2093 2 2 0 27 5 1156 55 +2094 2 2 0 27 5 131 1156 +2095 2 2 0 27 6 130 1155 +2096 2 2 0 27 6 1155 139 +2097 2 2 0 27 10 1157 116 +2098 2 2 0 27 10 166 1157 +2099 2 2 0 27 42 1065 41 +2100 2 2 0 27 1065 1158 41 +2101 2 2 0 27 42 43 1069 +2102 2 2 0 27 1065 42 1069 +2103 2 2 0 27 44 1045 43 +2104 2 2 0 27 1045 1069 43 +2105 2 2 0 27 44 45 1130 +2106 2 2 0 27 1045 44 1130 +2107 2 2 0 27 46 1167 45 +2108 2 2 0 27 1130 45 1167 +2109 2 2 0 27 47 1080 46 +2110 2 2 0 27 1080 1167 46 +2111 2 2 0 27 48 1138 47 +2112 2 2 0 27 1080 47 1138 +2113 2 2 0 27 49 1114 48 +2114 2 2 0 27 48 1114 1138 +2115 2 2 0 27 49 50 1118 +2116 2 2 0 27 49 1118 1114 +2117 2 2 0 27 50 51 1146 +2118 2 2 0 27 50 1146 1118 +2119 2 2 0 27 52 1132 51 +2120 2 2 0 27 1132 1146 51 +2121 2 2 0 27 52 53 1050 +2122 2 2 0 27 1050 1132 52 +2123 2 2 0 27 54 1070 53 +2124 2 2 0 27 1050 53 1070 +2125 2 2 0 27 54 55 1063 +2126 2 2 0 27 1063 1070 54 +2127 2 2 0 27 1063 55 1156 +2128 2 2 0 27 117 116 1066 +2129 2 2 0 27 1066 116 1157 +2130 2 2 0 27 117 1067 118 +2131 2 2 0 27 1066 1067 117 +2132 2 2 0 27 119 118 1046 +2133 2 2 0 27 1046 118 1067 +2134 2 2 0 27 119 1131 120 +2135 2 2 0 27 1046 1131 119 +2136 2 2 0 27 121 120 1168 +2137 2 2 0 27 1131 1168 120 +2138 2 2 0 27 122 121 1079 +2139 2 2 0 27 1079 121 1168 +2140 2 2 0 27 123 122 1139 +2141 2 2 0 27 1079 1139 122 +2142 2 2 0 27 124 123 1115 +2143 2 2 0 27 123 1139 1115 +2144 2 2 0 27 124 1119 125 +2145 2 2 0 27 124 1115 1119 +2146 2 2 0 27 125 1147 126 +2147 2 2 0 27 125 1119 1147 +2148 2 2 0 27 127 126 1133 +2149 2 2 0 27 1133 126 1147 +2150 2 2 0 27 127 1049 128 +2151 2 2 0 27 1049 127 1133 +2152 2 2 0 27 129 128 1068 +2153 2 2 0 27 1049 1068 128 +2154 2 2 0 27 129 1064 130 +2155 2 2 0 27 1064 129 1068 +2156 2 2 0 27 1064 1155 130 +2157 2 2 0 27 132 1051 131 +2158 2 2 0 27 131 1051 1156 +2159 2 2 0 27 133 1116 132 +2160 2 2 0 27 1051 132 1116 +2161 2 2 0 27 133 134 1056 +2162 2 2 0 27 133 1056 1116 +2163 2 2 0 27 135 1152 134 +2164 2 2 0 27 1056 134 1152 +2165 2 2 0 27 135 136 1141 +2166 2 2 0 27 135 1141 1152 +2167 2 2 0 27 137 1170 136 +2168 2 2 0 27 136 1170 1141 +2169 2 2 0 27 137 138 1117 +2170 2 2 0 27 137 1058 1170 +2171 2 2 0 27 137 1117 1058 +2172 2 2 0 27 138 139 1053 +2173 2 2 0 27 1053 1117 138 +2174 2 2 0 27 139 1155 1053 +2175 2 2 0 27 159 158 1142 +2176 2 2 0 27 158 1158 1142 +2177 2 2 0 27 160 159 1136 +2178 2 2 0 27 159 1142 1136 +2179 2 2 0 27 160 1057 161 +2180 2 2 0 27 1057 160 1113 +2181 2 2 0 27 160 1136 1113 +2182 2 2 0 27 162 161 1151 +2183 2 2 0 27 1057 1151 161 +2184 2 2 0 27 162 1140 163 +2185 2 2 0 27 162 1151 1140 +2186 2 2 0 27 163 1173 164 +2187 2 2 0 27 163 1140 1173 +2188 2 2 0 27 164 1159 165 +2189 2 2 0 27 1159 164 1173 +2190 2 2 0 27 165 1054 166 +2191 2 2 0 27 1054 165 1159 +2192 2 2 0 27 166 1054 1157 +2193 2 2 0 27 1054 1159 1059 +2194 2 2 0 27 1157 1054 1066 +2195 2 2 0 27 1054 1023 1066 +2196 2 2 0 27 1054 1059 1023 +2197 2 2 0 27 1096 1109 1045 +2198 2 2 0 27 1022 1045 1109 +2199 2 2 0 27 1074 1096 1045 +2200 2 2 0 27 1045 1022 1069 +2201 2 2 0 27 1045 1130 1074 +2202 2 2 0 27 1149 1084 1161 +2203 2 2 0 27 1084 1149 1176 +2204 2 2 0 27 1169 1149 1161 +2205 2 2 0 27 1081 1036 1149 +2206 2 2 0 27 1036 1176 1149 +2207 2 2 0 27 1149 1169 1081 +2208 2 2 0 27 1063 1024 1070 +2209 2 2 0 27 1050 1070 1024 +2210 2 2 0 27 1060 1109 1040 +2211 2 2 0 27 1060 1022 1109 +2212 2 2 0 27 1040 1100 1060 +2213 2 2 0 27 1052 1060 1113 +2214 2 2 0 27 1100 1113 1060 +2215 2 2 0 27 1052 1022 1060 +2216 2 2 0 27 1096 1040 1109 +2217 2 2 0 27 1034 1075 1108 +2218 2 2 0 27 1108 1171 1034 +2219 2 2 0 27 1108 1075 1073 +2220 2 2 0 27 1108 1090 1171 +2221 2 2 0 27 1026 1090 1108 +2222 2 2 0 27 1073 1026 1108 +2223 2 2 0 27 1074 1107 1027 +2224 2 2 0 27 1027 1107 1089 +2225 2 2 0 27 1107 1129 1164 +2226 2 2 0 27 1107 1164 1089 +2227 2 2 0 27 1035 1107 1076 +2228 2 2 0 27 1107 1035 1129 +2229 2 2 0 27 1107 1074 1076 +2230 2 2 0 27 1093 1041 1144 +2231 2 2 0 27 1041 1093 1026 +2232 2 2 0 27 1134 1093 1144 +2233 2 2 0 27 1093 1134 1090 +2234 2 2 0 27 1090 1026 1093 +2235 2 2 0 27 1172 1114 1166 +2236 2 2 0 27 1114 1172 1138 +2237 2 2 0 27 1166 1114 1118 +2238 2 2 0 27 1021 1144 1041 +2239 2 2 0 27 1041 1059 1021 +2240 2 2 0 27 1128 1174 1021 +2241 2 2 0 27 1021 1059 1128 +2242 2 2 0 27 1144 1021 1174 +2243 2 2 0 27 1148 1094 1141 +2244 2 2 0 27 1152 1141 1094 +2245 2 2 0 27 1120 1094 1148 +2246 2 2 0 27 1094 1106 1152 +2247 2 2 0 27 1047 1106 1094 +2248 2 2 0 27 1047 1094 1120 +2249 2 2 0 27 1101 1056 1106 +2250 2 2 0 27 1101 1062 1056 +2251 2 2 0 27 1056 1152 1106 +2252 2 2 0 27 1062 1116 1056 +2253 2 2 0 27 1102 1126 1038 +2254 2 2 0 27 1087 1126 1102 +2255 2 2 0 27 1033 1038 1126 +2256 2 2 0 27 1087 1137 1126 +2257 2 2 0 27 1126 1137 1082 +2258 2 2 0 27 1033 1126 1082 +2259 2 2 0 27 1043 1028 1165 +2260 2 2 0 27 1028 1088 1165 +2261 2 2 0 27 1165 1104 1043 +2262 2 2 0 27 1104 1165 1120 +2263 2 2 0 27 1135 1165 1088 +2264 2 2 0 27 1135 1120 1165 +2265 2 2 0 27 1079 1075 1034 +2266 2 2 0 27 1034 1171 1030 +2267 2 2 0 27 1153 1079 1034 +2268 2 2 0 27 1030 1153 1034 +2269 2 2 0 27 1072 1029 1102 +2270 2 2 0 27 1102 1078 1072 +2271 2 2 0 27 1038 1078 1102 +2272 2 2 0 27 1029 1087 1102 +2273 2 2 0 27 1040 1096 1027 +2274 2 2 0 27 1074 1027 1096 +2275 2 2 0 27 1040 1027 1091 +2276 2 2 0 27 1089 1091 1027 +2277 2 2 0 27 1122 1164 1121 +2278 2 2 0 27 1089 1164 1122 +2279 2 2 0 27 1121 1164 1129 +2280 2 2 0 27 1138 1172 1154 +2281 2 2 0 27 1154 1172 1037 +2282 2 2 0 27 1166 1033 1172 +2283 2 2 0 27 1033 1037 1172 +2284 2 2 0 27 1128 1059 1159 +2285 2 2 0 27 1159 1173 1128 +2286 2 2 0 27 1079 1168 1075 +2287 2 2 0 27 1131 1075 1168 +2288 2 2 0 27 1075 1131 1073 +2289 2 2 0 27 1039 1103 1077 +2290 2 2 0 27 1103 1071 1077 +2291 2 2 0 27 1071 1103 1028 +2292 2 2 0 27 1028 1103 1088 +2293 2 2 0 27 1039 1125 1103 +2294 2 2 0 27 1088 1103 1125 +2295 2 2 0 27 1048 1144 1044 +2296 2 2 0 27 1048 1017 1144 +2297 2 2 0 27 1091 1048 1100 +2298 2 2 0 27 1105 1100 1048 +2299 2 2 0 27 1048 1091 1017 +2300 2 2 0 27 1048 1044 1105 +2301 2 2 0 27 1084 1171 1086 +2302 2 2 0 27 1171 1084 1030 +2303 2 2 0 27 1086 1171 1090 +2304 2 2 0 27 1086 1018 1084 +2305 2 2 0 27 1018 1161 1084 +2306 2 2 0 27 1084 1176 1030 +2307 2 2 0 27 1055 1019 1137 +2308 2 2 0 27 1055 1143 1019 +2309 2 2 0 27 1055 1137 1123 +2310 2 2 0 27 1135 1055 1123 +2311 2 2 0 27 1088 1143 1055 +2312 2 2 0 27 1055 1135 1088 +2313 2 2 0 27 1053 1064 1025 +2314 2 2 0 27 1064 1068 1025 +2315 2 2 0 27 1025 1049 1112 +2316 2 2 0 27 1061 1025 1112 +2317 2 2 0 27 1053 1025 1061 +2318 2 2 0 27 1049 1025 1068 +2319 2 2 0 27 1106 1047 1101 +2320 2 2 0 27 1092 1101 1047 +2321 2 2 0 27 1042 1062 1101 +2322 2 2 0 27 1092 1042 1101 +2323 2 2 0 27 1050 1072 1132 +2324 2 2 0 27 1078 1132 1072 +2325 2 2 0 27 1132 1078 1146 +2326 2 2 0 27 1091 1100 1040 +2327 2 2 0 27 1113 1105 1057 +2328 2 2 0 27 1057 1105 1151 +2329 2 2 0 27 1170 1148 1141 +2330 2 2 0 27 1059 1041 1110 +2331 2 2 0 27 1097 1110 1041 +2332 2 2 0 27 1041 1026 1097 +2333 2 2 0 27 1147 1119 1077 +2334 2 2 0 27 1077 1119 1083 +2335 2 2 0 27 1119 1115 1083 +2336 2 2 0 27 1079 1153 1139 +2337 2 2 0 27 1031 1035 1154 +2338 2 2 0 27 1154 1035 1080 +2339 2 2 0 27 1035 1031 1129 +2340 2 2 0 27 1080 1035 1076 +2341 2 2 0 27 1071 1028 1099 +2342 2 2 0 27 1043 1099 1028 +2343 2 2 0 27 1099 1043 1112 +2344 2 2 0 27 1099 1112 1049 +2345 2 2 0 27 1071 1099 1049 +2346 2 2 0 27 1155 1064 1053 +2347 2 2 0 27 1104 1148 1058 +2348 2 2 0 27 1104 1120 1148 +2349 2 2 0 27 1148 1170 1058 +2350 2 2 0 27 1077 1083 1039 +2351 2 2 0 27 1077 1071 1133 +2352 2 2 0 27 1133 1147 1077 +2353 2 2 0 27 1031 1154 1037 +2354 2 2 0 27 1080 1138 1154 +2355 2 2 0 27 1039 1127 1032 +2356 2 2 0 27 1083 1127 1039 +2357 2 2 0 27 1032 1125 1039 +2358 2 2 0 27 1052 1113 1136 +2359 2 2 0 27 1100 1105 1113 +2360 2 2 0 27 1098 1050 1111 +2361 2 2 0 27 1098 1111 1042 +2362 2 2 0 27 1062 1111 1024 +2363 2 2 0 27 1062 1042 1111 +2364 2 2 0 27 1024 1111 1050 +2365 2 2 0 27 1090 1124 1086 +2366 2 2 0 27 1124 1175 1086 +2367 2 2 0 27 1018 1086 1175 +2368 2 2 0 27 1129 1031 1085 +2369 2 2 0 27 1031 1037 1150 +2370 2 2 0 27 1085 1031 1150 +2371 2 2 0 27 1174 1128 1095 +2372 2 2 0 27 1128 1140 1095 +2373 2 2 0 27 1044 1174 1095 +2374 2 2 0 27 1151 1095 1140 +2375 2 2 0 27 1095 1105 1044 +2376 2 2 0 27 1151 1105 1095 +2377 2 2 0 27 1061 1112 1043 +2378 2 2 0 27 1072 1098 1029 +2379 2 2 0 27 1072 1050 1098 +2380 2 2 0 27 1038 1033 1166 +2381 2 2 0 27 1078 1038 1166 +2382 2 2 0 27 1078 1166 1118 +2383 2 2 0 27 1127 1153 1036 +2384 2 2 0 27 1032 1127 1036 +2385 2 2 0 27 1145 1153 1127 +2386 2 2 0 27 1127 1083 1145 +2387 2 2 0 27 1049 1133 1071 +2388 2 2 0 27 1160 1161 1162 +2389 2 2 0 27 1018 1162 1161 +2390 2 2 0 27 1169 1161 1160 +2391 2 2 0 27 1173 1140 1128 +2392 2 2 0 27 1163 1160 1162 +2393 2 2 0 27 1150 1162 1085 +2394 2 2 0 27 1018 1085 1162 +2395 2 2 0 27 1150 1163 1162 +2396 2 2 0 27 1043 1104 1061 +2397 2 2 0 27 1062 1051 1116 +2398 2 2 0 27 1156 1051 1063 +2399 2 2 0 27 1051 1024 1063 +2400 2 2 0 27 1051 1062 1024 +2401 2 2 0 27 1144 1174 1044 +2402 2 2 0 27 1019 1169 1160 +2403 2 2 0 27 1019 1160 1082 +2404 2 2 0 27 1137 1019 1082 +2405 2 2 0 27 1143 1169 1019 +2406 2 2 0 27 1061 1117 1053 +2407 2 2 0 27 1142 1052 1136 +2408 2 2 0 27 1115 1139 1145 +2409 2 2 0 27 1115 1145 1083 +2410 2 2 0 27 1065 1069 1022 +2411 2 2 0 27 1158 1065 1142 +2412 2 2 0 27 1065 1052 1142 +2413 2 2 0 27 1052 1065 1022 +2414 2 2 0 27 1139 1153 1145 +2415 2 2 0 27 1066 1023 1067 +2416 2 2 0 27 1046 1067 1023 +2417 2 2 0 27 1146 1078 1118 +2418 2 2 0 27 1017 1134 1144 +2419 2 2 0 27 1076 1074 1130 +2420 2 2 0 27 1046 1073 1131 +2421 2 2 0 27 1023 1110 1046 +2422 2 2 0 27 1097 1046 1110 +2423 2 2 0 27 1073 1046 1097 +2424 2 2 0 27 1091 1122 1017 +2425 2 2 0 27 1091 1089 1122 +2426 2 2 0 27 1121 1175 1122 +2427 2 2 0 27 1175 1124 1122 +2428 2 2 0 27 1122 1124 1134 +2429 2 2 0 27 1122 1134 1017 +2430 2 2 0 27 1030 1036 1153 +2431 2 2 0 27 1036 1030 1176 +2432 2 2 0 27 1036 1081 1032 +2433 2 2 0 27 1137 1087 1123 +2434 2 2 0 27 1092 1020 1123 +2435 2 2 0 27 1092 1123 1087 +2436 2 2 0 27 1020 1135 1123 +2437 2 2 0 27 1042 1029 1098 +2438 2 2 0 27 1160 1163 1082 +2439 2 2 0 27 1059 1110 1023 +2440 2 2 0 27 1134 1124 1090 +2441 2 2 0 27 1047 1020 1092 +2442 2 2 0 27 1047 1120 1020 +2443 2 2 0 27 1042 1092 1029 +2444 2 2 0 27 1087 1029 1092 +2445 2 2 0 27 1104 1058 1061 +2446 2 2 0 27 1085 1121 1129 +2447 2 2 0 27 1018 1175 1121 +2448 2 2 0 27 1121 1085 1018 +2449 2 2 0 27 1073 1097 1026 +2450 2 2 0 27 1080 1076 1167 +2451 2 2 0 27 1130 1167 1076 +2452 2 2 0 27 1143 1081 1169 +2453 2 2 0 27 1125 1081 1143 +2454 2 2 0 27 1032 1081 1125 +2455 2 2 0 27 1037 1033 1163 +2456 2 2 0 27 1163 1033 1082 +2457 2 2 0 27 1037 1163 1150 +2458 2 2 0 27 1088 1125 1143 +2459 2 2 0 27 1061 1058 1117 +2460 2 2 0 27 1020 1120 1135 +2461 2 2 0 28 71 1513 6 +2462 2 2 0 28 6 1492 130 +2463 2 2 0 28 1513 1492 6 +2464 2 2 0 28 8 1480 85 +2465 2 2 0 28 86 1480 8 +2466 2 2 0 28 9 1501 100 +2467 2 2 0 28 9 101 1501 +2468 2 2 0 28 115 10 1506 +2469 2 2 0 28 116 1381 10 +2470 2 2 0 28 1506 10 1381 +2471 2 2 0 28 71 72 1286 +2472 2 2 0 28 1513 71 1286 +2473 2 2 0 28 1398 72 73 +2474 2 2 0 28 1286 72 1398 +2475 2 2 0 28 74 1447 73 +2476 2 2 0 28 1398 73 1447 +2477 2 2 0 28 74 75 1476 +2478 2 2 0 28 1476 1447 74 +2479 2 2 0 28 76 1207 75 +2480 2 2 0 28 1207 1476 75 +2481 2 2 0 28 77 1200 76 +2482 2 2 0 28 1200 1207 76 +2483 2 2 0 28 77 78 1289 +2484 2 2 0 28 77 1289 1200 +2485 2 2 0 28 79 1289 78 +2486 2 2 0 28 80 1424 79 +2487 2 2 0 28 79 1424 1289 +2488 2 2 0 28 80 81 1252 +2489 2 2 0 28 80 1252 1424 +2490 2 2 0 28 81 82 1429 +2491 2 2 0 28 81 1429 1252 +2492 2 2 0 28 83 1423 82 +2493 2 2 0 28 82 1423 1431 +2494 2 2 0 28 82 1431 1429 +2495 2 2 0 28 84 1198 83 +2496 2 2 0 28 83 1198 1423 +2497 2 2 0 28 85 1490 84 +2498 2 2 0 28 1490 1198 84 +2499 2 2 0 28 1490 85 1496 +2500 2 2 0 28 85 1480 1496 +2501 2 2 0 28 1495 86 87 +2502 2 2 0 28 86 1495 1488 +2503 2 2 0 28 1480 86 1488 +2504 2 2 0 28 88 1408 87 +2505 2 2 0 28 1408 1495 87 +2506 2 2 0 28 88 89 1294 +2507 2 2 0 28 1294 1408 88 +2508 2 2 0 28 90 1405 89 +2509 2 2 0 28 1294 89 1405 +2510 2 2 0 28 91 1350 90 +2511 2 2 0 28 1350 1405 90 +2512 2 2 0 28 92 1265 91 +2513 2 2 0 28 1265 1350 91 +2514 2 2 0 28 93 1450 92 +2515 2 2 0 28 1450 1265 92 +2516 2 2 0 28 93 94 1201 +2517 2 2 0 28 93 1201 1450 +2518 2 2 0 28 95 1201 94 +2519 2 2 0 28 96 1210 95 +2520 2 2 0 28 1264 1201 95 +2521 2 2 0 28 1264 95 1210 +2522 2 2 0 28 97 1290 96 +2523 2 2 0 28 1290 1210 96 +2524 2 2 0 28 98 1505 97 +2525 2 2 0 28 1505 1290 97 +2526 2 2 0 28 99 1524 98 +2527 2 2 0 28 1524 1505 98 +2528 2 2 0 28 1514 99 100 +2529 2 2 0 28 99 1203 1524 +2530 2 2 0 28 1514 1203 99 +2531 2 2 0 28 1501 1514 100 +2532 2 2 0 28 1485 101 102 +2533 2 2 0 28 1501 101 1485 +2534 2 2 0 28 103 1211 102 +2535 2 2 0 28 1484 1485 102 +2536 2 2 0 28 102 1211 1484 +2537 2 2 0 28 104 1211 103 +2538 2 2 0 28 105 1459 104 +2539 2 2 0 28 1211 104 1459 +2540 2 2 0 28 105 106 1464 +2541 2 2 0 28 1459 105 1464 +2542 2 2 0 28 106 107 1291 +2543 2 2 0 28 106 1291 1464 +2544 2 2 0 28 107 108 1436 +2545 2 2 0 28 107 1436 1291 +2546 2 2 0 28 108 109 1390 +2547 2 2 0 28 1390 1436 108 +2548 2 2 0 28 110 1498 109 +2549 2 2 0 28 1498 1390 109 +2550 2 2 0 28 110 111 1473 +2551 2 2 0 28 1473 1498 110 +2552 2 2 0 28 1473 111 112 +2553 2 2 0 28 112 113 1224 +2554 2 2 0 28 1473 112 1224 +2555 2 2 0 28 113 114 1382 +2556 2 2 0 28 1382 1224 113 +2557 2 2 0 28 114 115 1402 +2558 2 2 0 28 114 1402 1382 +2559 2 2 0 28 1506 1402 115 +2560 2 2 0 28 117 1508 116 +2561 2 2 0 28 1508 1381 116 +2562 2 2 0 28 117 118 1273 +2563 2 2 0 28 1273 1508 117 +2564 2 2 0 28 118 119 1250 +2565 2 2 0 28 1250 1273 118 +2566 2 2 0 28 120 1262 119 +2567 2 2 0 28 1262 1250 119 +2568 2 2 0 28 1394 120 121 +2569 2 2 0 28 120 1394 1262 +2570 2 2 0 28 121 122 1208 +2571 2 2 0 28 121 1208 1394 +2572 2 2 0 28 122 123 1202 +2573 2 2 0 28 1208 122 1202 +2574 2 2 0 28 124 1478 123 +2575 2 2 0 28 123 1478 1202 +2576 2 2 0 28 125 1466 124 +2577 2 2 0 28 124 1466 1478 +2578 2 2 0 28 125 126 1295 +2579 2 2 0 28 125 1295 1466 +2580 2 2 0 28 126 127 1271 +2581 2 2 0 28 1271 1295 126 +2582 2 2 0 28 127 128 1205 +2583 2 2 0 28 1271 127 1205 +2584 2 2 0 28 129 1502 128 +2585 2 2 0 28 1502 1205 128 +2586 2 2 0 28 130 1515 129 +2587 2 2 0 28 1515 1502 129 +2588 2 2 0 28 130 1492 1515 +2589 2 2 0 28 1400 1252 1429 +2590 2 2 0 28 1344 1424 1252 +2591 2 2 0 28 1252 1400 1344 +2592 2 2 0 28 1375 1359 1326 +2593 2 2 0 28 1326 1359 1198 +2594 2 2 0 28 1323 1215 1326 +2595 2 2 0 28 1326 1491 1323 +2596 2 2 0 28 1326 1215 1375 +2597 2 2 0 28 1198 1491 1326 +2598 2 2 0 28 1258 1457 1393 +2599 2 2 0 28 1258 1393 1387 +2600 2 2 0 28 1387 1391 1258 +2601 2 2 0 28 1258 1391 1445 +2602 2 2 0 28 1457 1258 1445 +2603 2 2 0 28 1284 1507 1520 +2604 2 2 0 28 1521 1520 1507 +2605 2 2 0 28 1284 1525 1507 +2606 2 2 0 28 1485 1521 1507 +2607 2 2 0 28 1501 1507 1525 +2608 2 2 0 28 1507 1501 1485 +2609 2 2 0 28 1357 1348 1511 +2610 2 2 0 28 1357 1511 1224 +2611 2 2 0 28 1348 1298 1511 +2612 2 2 0 28 1511 1298 1510 +2613 2 2 0 28 1511 1510 1473 +2614 2 2 0 28 1473 1224 1511 +2615 2 2 0 28 1398 1447 1460 +2616 2 2 0 28 1460 1447 1476 +2617 2 2 0 28 1283 1522 1487 +2618 2 2 0 28 1283 1515 1522 +2619 2 2 0 28 1504 1522 1286 +2620 2 2 0 28 1522 1513 1286 +2621 2 2 0 28 1504 1487 1522 +2622 2 2 0 28 1522 1515 1492 +2623 2 2 0 28 1492 1513 1522 +2624 2 2 0 28 1371 1191 1411 +2625 2 2 0 28 1191 1361 1411 +2626 2 2 0 28 1371 1448 1191 +2627 2 2 0 28 1386 1191 1448 +2628 2 2 0 28 1361 1191 1386 +2629 2 2 0 28 1460 1468 1518 +2630 2 2 0 28 1460 1518 1504 +2631 2 2 0 28 1487 1518 1468 +2632 2 2 0 28 1487 1504 1518 +2633 2 2 0 28 1428 1499 1488 +2634 2 2 0 28 1311 1499 1428 +2635 2 2 0 28 1311 1323 1499 +2636 2 2 0 28 1491 1499 1323 +2637 2 2 0 28 1499 1480 1488 +2638 2 2 0 28 1480 1499 1496 +2639 2 2 0 28 1499 1491 1496 +2640 2 2 0 28 1406 1428 1456 +2641 2 2 0 28 1456 1427 1406 +2642 2 2 0 28 1428 1406 1392 +2643 2 2 0 28 1392 1406 1234 +2644 2 2 0 28 1406 1427 1234 +2645 2 2 0 28 1431 1423 1359 +2646 2 2 0 28 1359 1423 1198 +2647 2 2 0 28 1457 1380 1393 +2648 2 2 0 28 1393 1366 1387 +2649 2 2 0 28 1366 1393 1209 +2650 2 2 0 28 1380 1209 1393 +2651 2 2 0 28 1414 1257 1360 +2652 2 2 0 28 1257 1414 1200 +2653 2 2 0 28 1437 1414 1360 +2654 2 2 0 28 1280 1200 1414 +2655 2 2 0 28 1437 1280 1414 +2656 2 2 0 28 1449 1391 1387 +2657 2 2 0 28 1222 1391 1449 +2658 2 2 0 28 1356 1391 1222 +2659 2 2 0 28 1445 1391 1356 +2660 2 2 0 28 1331 1469 1186 +2661 2 2 0 28 1301 1331 1186 +2662 2 2 0 28 1358 1300 1331 +2663 2 2 0 28 1225 1358 1331 +2664 2 2 0 28 1331 1300 1469 +2665 2 2 0 28 1331 1301 1309 +2666 2 2 0 28 1225 1331 1309 +2667 2 2 0 28 1430 1360 1257 +2668 2 2 0 28 1289 1430 1257 +2669 2 2 0 28 1257 1200 1289 +2670 2 2 0 28 1203 1494 1524 +2671 2 2 0 28 1203 1525 1526 +2672 2 2 0 28 1525 1203 1514 +2673 2 2 0 28 1203 1526 1494 +2674 2 2 0 28 1415 1461 1465 +2675 2 2 0 28 1415 1465 1464 +2676 2 2 0 28 1461 1481 1465 +2677 2 2 0 28 1459 1464 1465 +2678 2 2 0 28 1459 1465 1481 +2679 2 2 0 28 1403 1401 1247 +2680 2 2 0 28 1247 1346 1403 +2681 2 2 0 28 1399 1247 1401 +2682 2 2 0 28 1247 1399 1362 +2683 2 2 0 28 1247 1362 1346 +2684 2 2 0 28 1229 1420 1413 +2685 2 2 0 28 1420 1338 1413 +2686 2 2 0 28 1259 1195 1420 +2687 2 2 0 28 1440 1259 1420 +2688 2 2 0 28 1338 1420 1195 +2689 2 2 0 28 1229 1440 1420 +2690 2 2 0 28 1291 1452 1464 +2691 2 2 0 28 1291 1436 1452 +2692 2 2 0 28 1352 1316 1186 +2693 2 2 0 28 1352 1186 1489 +2694 2 2 0 28 1469 1489 1186 +2695 2 2 0 28 1301 1186 1316 +2696 2 2 0 28 1277 1261 1500 +2697 2 2 0 28 1277 1500 1274 +2698 2 2 0 28 1206 1500 1261 +2699 2 2 0 28 1206 1274 1500 +2700 2 2 0 28 1335 1355 1192 +2701 2 2 0 28 1354 1192 1355 +2702 2 2 0 28 1335 1192 1341 +2703 2 2 0 28 1318 1192 1354 +2704 2 2 0 28 1318 1336 1192 +2705 2 2 0 28 1341 1192 1362 +2706 2 2 0 28 1336 1362 1192 +2707 2 2 0 28 1246 1264 1183 +2708 2 2 0 28 1183 1275 1246 +2709 2 2 0 28 1210 1183 1264 +2710 2 2 0 28 1183 1290 1263 +2711 2 2 0 28 1183 1263 1503 +2712 2 2 0 28 1210 1290 1183 +2713 2 2 0 28 1183 1503 1275 +2714 2 2 0 28 1456 1428 1488 +2715 2 2 0 28 1249 1427 1456 +2716 2 2 0 28 1495 1249 1456 +2717 2 2 0 28 1456 1488 1495 +2718 2 2 0 28 1277 1248 1407 +2719 2 2 0 28 1277 1407 1197 +2720 2 2 0 28 1261 1277 1197 +2721 2 2 0 28 1182 1277 1274 +2722 2 2 0 28 1248 1277 1182 +2723 2 2 0 28 1181 1287 1463 +2724 2 2 0 28 1292 1463 1287 +2725 2 2 0 28 1181 1293 1287 +2726 2 2 0 28 1293 1278 1287 +2727 2 2 0 28 1287 1196 1292 +2728 2 2 0 28 1278 1196 1287 +2729 2 2 0 28 1284 1520 1260 +2730 2 2 0 28 1204 1260 1520 +2731 2 2 0 28 1204 1520 1521 +2732 2 2 0 28 1451 1467 1190 +2733 2 2 0 28 1432 1451 1190 +2734 2 2 0 28 1450 1190 1467 +2735 2 2 0 28 1276 1190 1450 +2736 2 2 0 28 1276 1454 1190 +2737 2 2 0 28 1432 1190 1454 +2738 2 2 0 28 1266 1267 1180 +2739 2 2 0 28 1180 1446 1266 +2740 2 2 0 28 1266 1292 1196 +2741 2 2 0 28 1292 1266 1446 +2742 2 2 0 28 1266 1196 1268 +2743 2 2 0 28 1268 1267 1266 +2744 2 2 0 28 1245 1329 1351 +2745 2 2 0 28 1351 1329 1303 +2746 2 2 0 28 1321 1245 1351 +2747 2 2 0 28 1303 1214 1351 +2748 2 2 0 28 1351 1349 1321 +2749 2 2 0 28 1214 1349 1351 +2750 2 2 0 28 1288 1283 1509 +2751 2 2 0 28 1283 1288 1182 +2752 2 2 0 28 1288 1509 1199 +2753 2 2 0 28 1248 1182 1288 +2754 2 2 0 28 1248 1288 1199 +2755 2 2 0 28 1439 1384 1434 +2756 2 2 0 28 1222 1439 1434 +2757 2 2 0 28 1242 1439 1352 +2758 2 2 0 28 1352 1439 1222 +2759 2 2 0 28 1384 1439 1242 +2760 2 2 0 28 1299 1215 1370 +2761 2 2 0 28 1370 1310 1299 +2762 2 2 0 28 1215 1323 1370 +2763 2 2 0 28 1370 1323 1311 +2764 2 2 0 28 1311 1223 1370 +2765 2 2 0 28 1223 1310 1370 +2766 2 2 0 28 1378 1404 1243 +2767 2 2 0 28 1435 1404 1378 +2768 2 2 0 28 1236 1378 1243 +2769 2 2 0 28 1378 1240 1435 +2770 2 2 0 28 1378 1438 1240 +2771 2 2 0 28 1378 1236 1438 +2772 2 2 0 28 1181 1466 1295 +2773 2 2 0 28 1478 1466 1181 +2774 2 2 0 28 1299 1188 1308 +2775 2 2 0 28 1299 1310 1188 +2776 2 2 0 28 1345 1299 1308 +2777 2 2 0 28 1299 1345 1215 +2778 2 2 0 28 1461 1415 1395 +2779 2 2 0 28 1415 1376 1395 +2780 2 2 0 28 1415 1464 1452 +2781 2 2 0 28 1415 1320 1376 +2782 2 2 0 28 1320 1415 1452 +2783 2 2 0 28 1413 1305 1337 +2784 2 2 0 28 1305 1413 1213 +2785 2 2 0 28 1229 1413 1337 +2786 2 2 0 28 1338 1213 1413 +2787 2 2 0 28 1359 1231 1431 +2788 2 2 0 28 1231 1359 1375 +2789 2 2 0 28 1358 1348 1357 +2790 2 2 0 28 1220 1358 1357 +2791 2 2 0 28 1357 1224 1382 +2792 2 2 0 28 1382 1474 1357 +2793 2 2 0 28 1220 1357 1474 +2794 2 2 0 28 1269 1284 1512 +2795 2 2 0 28 1284 1269 1526 +2796 2 2 0 28 1269 1251 1244 +2797 2 2 0 28 1269 1244 1494 +2798 2 2 0 28 1251 1269 1512 +2799 2 2 0 28 1494 1526 1269 +2800 2 2 0 28 1256 1453 1516 +2801 2 2 0 28 1256 1483 1453 +2802 2 2 0 28 1453 1469 1300 +2803 2 2 0 28 1300 1220 1453 +2804 2 2 0 28 1220 1516 1453 +2805 2 2 0 28 1469 1453 1483 +2806 2 2 0 28 1467 1451 1479 +2807 2 2 0 28 1432 1448 1451 +2808 2 2 0 28 1448 1241 1451 +2809 2 2 0 28 1241 1479 1451 +2810 2 2 0 28 1263 1505 1524 +2811 2 2 0 28 1524 1494 1263 +2812 2 2 0 28 1431 1400 1429 +2813 2 2 0 28 1400 1431 1231 +2814 2 2 0 28 1379 1380 1409 +2815 2 2 0 28 1379 1209 1380 +2816 2 2 0 28 1372 1209 1379 +2817 2 2 0 28 1372 1379 1442 +2818 2 2 0 28 1409 1218 1379 +2819 2 2 0 28 1312 1379 1218 +2820 2 2 0 28 1442 1379 1312 +2821 2 2 0 28 1369 1360 1327 +2822 2 2 0 28 1327 1360 1185 +2823 2 2 0 28 1185 1360 1430 +2824 2 2 0 28 1437 1360 1369 +2825 2 2 0 28 1260 1512 1284 +2826 2 2 0 28 1284 1526 1525 +2827 2 2 0 28 1509 1283 1487 +2828 2 2 0 28 1283 1182 1523 +2829 2 2 0 28 1283 1523 1515 +2830 2 2 0 28 1348 1358 1225 +2831 2 2 0 28 1300 1358 1220 +2832 2 2 0 28 1276 1264 1246 +2833 2 2 0 28 1276 1246 1454 +2834 2 2 0 28 1246 1275 1444 +2835 2 2 0 28 1246 1444 1454 +2836 2 2 0 28 1380 1457 1409 +2837 2 2 0 28 1409 1457 1253 +2838 2 2 0 28 1457 1433 1253 +2839 2 2 0 28 1445 1433 1457 +2840 2 2 0 28 1382 1402 1474 +2841 2 2 0 28 1506 1474 1402 +2842 2 2 0 28 1292 1202 1463 +2843 2 2 0 28 1478 1463 1202 +2844 2 2 0 28 1202 1292 1282 +2845 2 2 0 28 1202 1282 1208 +2846 2 2 0 28 1178 1401 1403 +2847 2 2 0 28 1178 1403 1245 +2848 2 2 0 28 1343 1245 1403 +2849 2 2 0 28 1403 1346 1343 +2850 2 2 0 28 1463 1478 1181 +2851 2 2 0 28 1262 1394 1472 +2852 2 2 0 28 1262 1472 1250 +2853 2 2 0 28 1377 1306 1297 +2854 2 2 0 28 1297 1306 1177 +2855 2 2 0 28 1297 1214 1377 +2856 2 2 0 28 1297 1177 1312 +2857 2 2 0 28 1297 1349 1214 +2858 2 2 0 28 1349 1297 1312 +2859 2 2 0 28 1181 1295 1293 +2860 2 2 0 28 1408 1294 1249 +2861 2 2 0 28 1408 1249 1495 +2862 2 2 0 28 1271 1285 1295 +2863 2 2 0 28 1271 1205 1281 +2864 2 2 0 28 1285 1271 1281 +2865 2 2 0 28 1282 1180 1472 +2866 2 2 0 28 1472 1180 1497 +2867 2 2 0 28 1270 1250 1472 +2868 2 2 0 28 1472 1497 1270 +2869 2 2 0 28 1472 1394 1282 +2870 2 2 0 28 1411 1373 1371 +2871 2 2 0 28 1411 1361 1325 +2872 2 2 0 28 1325 1232 1411 +2873 2 2 0 28 1232 1373 1411 +2874 2 2 0 28 1367 1307 1471 +2875 2 2 0 28 1475 1367 1471 +2876 2 2 0 28 1298 1187 1471 +2877 2 2 0 28 1298 1471 1307 +2878 2 2 0 28 1187 1475 1471 +2879 2 2 0 28 1201 1264 1276 +2880 2 2 0 28 1436 1390 1367 +2881 2 2 0 28 1390 1307 1367 +2882 2 2 0 28 1390 1498 1307 +2883 2 2 0 28 1272 1259 1260 +2884 2 2 0 28 1204 1272 1260 +2885 2 2 0 28 1259 1194 1260 +2886 2 2 0 28 1260 1194 1512 +2887 2 2 0 28 1296 1226 1366 +2888 2 2 0 28 1296 1366 1209 +2889 2 2 0 28 1366 1226 1387 +2890 2 2 0 28 1279 1458 1272 +2891 2 2 0 28 1272 1204 1279 +2892 2 2 0 28 1259 1272 1195 +2893 2 2 0 28 1195 1272 1458 +2894 2 2 0 28 1319 1188 1329 +2895 2 2 0 28 1303 1329 1188 +2896 2 2 0 28 1343 1319 1329 +2897 2 2 0 28 1245 1343 1329 +2898 2 2 0 28 1348 1339 1298 +2899 2 2 0 28 1225 1339 1348 +2900 2 2 0 28 1459 1481 1279 +2901 2 2 0 28 1211 1459 1279 +2902 2 2 0 28 1279 1481 1458 +2903 2 2 0 28 1279 1204 1484 +2904 2 2 0 28 1279 1484 1211 +2905 2 2 0 28 1449 1316 1352 +2906 2 2 0 28 1352 1222 1449 +2907 2 2 0 28 1387 1226 1449 +2908 2 2 0 28 1226 1316 1449 +2909 2 2 0 28 1425 1397 1385 +2910 2 2 0 28 1228 1397 1425 +2911 2 2 0 28 1385 1397 1240 +2912 2 2 0 28 1240 1397 1435 +2913 2 2 0 28 1435 1397 1365 +2914 2 2 0 28 1365 1397 1228 +2915 2 2 0 28 1388 1461 1395 +2916 2 2 0 28 1388 1395 1221 +2917 2 2 0 28 1376 1221 1395 +2918 2 2 0 28 1426 1399 1401 +2919 2 2 0 28 1399 1426 1228 +2920 2 2 0 28 1253 1426 1401 +2921 2 2 0 28 1253 1433 1426 +2922 2 2 0 28 1365 1228 1426 +2923 2 2 0 28 1433 1365 1426 +2924 2 2 0 28 1516 1519 1256 +2925 2 2 0 28 1486 1256 1519 +2926 2 2 0 28 1256 1486 1189 +2927 2 2 0 28 1256 1189 1483 +2928 2 2 0 28 1305 1213 1372 +2929 2 2 0 28 1305 1372 1442 +2930 2 2 0 28 1314 1372 1213 +2931 2 2 0 28 1372 1314 1209 +2932 2 2 0 28 1430 1424 1344 +2933 2 2 0 28 1424 1430 1289 +2934 2 2 0 28 1184 1517 1468 +2935 2 2 0 28 1443 1468 1517 +2936 2 2 0 28 1184 1235 1517 +2937 2 2 0 28 1443 1517 1368 +2938 2 2 0 28 1235 1368 1517 +2939 2 2 0 28 1295 1285 1293 +2940 2 2 0 28 1285 1206 1293 +2941 2 2 0 28 1278 1293 1206 +2942 2 2 0 28 1350 1265 1467 +2943 2 2 0 28 1350 1467 1479 +2944 2 2 0 28 1265 1450 1467 +2945 2 2 0 28 1290 1505 1263 +2946 2 2 0 28 1503 1263 1494 +2947 2 2 0 28 1519 1508 1273 +2948 2 2 0 28 1486 1519 1273 +2949 2 2 0 28 1486 1273 1270 +2950 2 2 0 28 1250 1270 1273 +2951 2 2 0 28 1180 1267 1482 +2952 2 2 0 28 1482 1497 1180 +2953 2 2 0 28 1189 1270 1482 +2954 2 2 0 28 1482 1270 1497 +2955 2 2 0 28 1189 1482 1255 +2956 2 2 0 28 1255 1482 1267 +2957 2 2 0 28 1286 1398 1504 +2958 2 2 0 28 1327 1217 1369 +2959 2 2 0 28 1327 1185 1347 +2960 2 2 0 28 1327 1340 1217 +2961 2 2 0 28 1347 1340 1327 +2962 2 2 0 28 1194 1259 1440 +2963 2 2 0 28 1410 1396 1407 +2964 2 2 0 28 1396 1197 1407 +2965 2 2 0 28 1419 1396 1385 +2966 2 2 0 28 1197 1396 1419 +2967 2 2 0 28 1396 1410 1230 +2968 2 2 0 28 1385 1396 1230 +2969 2 2 0 28 1180 1282 1446 +2970 2 2 0 28 1392 1373 1332 +2971 2 2 0 28 1332 1223 1392 +2972 2 2 0 28 1332 1373 1232 +2973 2 2 0 28 1232 1322 1332 +2974 2 2 0 28 1332 1322 1310 +2975 2 2 0 28 1310 1223 1332 +2976 2 2 0 28 1193 1239 1389 +2977 2 2 0 28 1389 1444 1193 +2978 2 2 0 28 1275 1441 1193 +2979 2 2 0 28 1193 1444 1275 +2980 2 2 0 28 1193 1441 1239 +2981 2 2 0 28 1452 1367 1320 +2982 2 2 0 28 1436 1367 1452 +2983 2 2 0 28 1367 1475 1320 +2984 2 2 0 28 1344 1185 1430 +2985 2 2 0 28 1405 1350 1470 +2986 2 2 0 28 1350 1479 1470 +2987 2 2 0 28 1298 1339 1187 +2988 2 2 0 28 1307 1510 1298 +2989 2 2 0 28 1477 1468 1460 +2990 2 2 0 28 1398 1460 1504 +2991 2 2 0 28 1460 1476 1477 +2992 2 2 0 28 1443 1487 1468 +2993 2 2 0 28 1184 1468 1477 +2994 2 2 0 28 1437 1369 1364 +2995 2 2 0 28 1369 1363 1364 +2996 2 2 0 28 1363 1369 1217 +2997 2 2 0 28 1261 1422 1254 +2998 2 2 0 28 1261 1197 1422 +2999 2 2 0 28 1438 1422 1419 +3000 2 2 0 28 1422 1197 1419 +3001 2 2 0 28 1254 1422 1236 +3002 2 2 0 28 1422 1438 1236 +3003 2 2 0 28 1276 1450 1201 +3004 2 2 0 28 1399 1341 1362 +3005 2 2 0 28 1341 1399 1228 +3006 2 2 0 28 1508 1519 1381 +3007 2 2 0 28 1516 1381 1519 +3008 2 2 0 28 1371 1241 1448 +3009 2 2 0 28 1371 1373 1234 +3010 2 2 0 28 1241 1371 1234 +3011 2 2 0 28 1270 1189 1486 +3012 2 2 0 28 1251 1512 1194 +3013 2 2 0 28 1237 1251 1194 +3014 2 2 0 28 1194 1440 1237 +3015 2 2 0 28 1294 1405 1470 +3016 2 2 0 28 1198 1490 1491 +3017 2 2 0 28 1491 1490 1496 +3018 2 2 0 28 1248 1410 1407 +3019 2 2 0 28 1392 1223 1428 +3020 2 2 0 28 1311 1428 1223 +3021 2 2 0 28 1425 1335 1341 +3022 2 2 0 28 1335 1425 1230 +3023 2 2 0 28 1385 1230 1425 +3024 2 2 0 28 1228 1425 1341 +3025 2 2 0 28 1292 1446 1282 +3026 2 2 0 28 1461 1388 1195 +3027 2 2 0 28 1195 1458 1461 +3028 2 2 0 28 1481 1461 1458 +3029 2 2 0 28 1443 1509 1487 +3030 2 2 0 28 1443 1199 1509 +3031 2 2 0 28 1178 1253 1401 +3032 2 2 0 28 1409 1253 1178 +3033 2 2 0 28 1206 1261 1278 +3034 2 2 0 28 1278 1261 1254 +3035 2 2 0 28 1238 1389 1418 +3036 2 2 0 28 1418 1389 1353 +3037 2 2 0 28 1353 1389 1239 +3038 2 2 0 28 1389 1238 1444 +3039 2 2 0 28 1356 1404 1179 +3040 2 2 0 28 1179 1404 1435 +3041 2 2 0 28 1356 1179 1445 +3042 2 2 0 28 1365 1179 1435 +3043 2 2 0 28 1365 1433 1179 +3044 2 2 0 28 1179 1433 1445 +3045 2 2 0 28 1493 1205 1502 +3046 2 2 0 28 1281 1205 1493 +3047 2 2 0 28 1182 1274 1493 +3048 2 2 0 28 1274 1206 1281 +3049 2 2 0 28 1281 1493 1274 +3050 2 2 0 28 1377 1333 1325 +3051 2 2 0 28 1214 1333 1377 +3052 2 2 0 28 1325 1333 1232 +3053 2 2 0 28 1333 1303 1322 +3054 2 2 0 28 1303 1333 1214 +3055 2 2 0 28 1232 1333 1322 +3056 2 2 0 28 1308 1188 1319 +3057 2 2 0 28 1303 1188 1322 +3058 2 2 0 28 1310 1322 1188 +3059 2 2 0 28 1328 1185 1344 +3060 2 2 0 28 1400 1328 1344 +3061 2 2 0 28 1243 1404 1434 +3062 2 2 0 28 1434 1404 1356 +3063 2 2 0 28 1384 1243 1434 +3064 2 2 0 28 1356 1222 1434 +3065 2 2 0 28 1275 1244 1441 +3066 2 2 0 28 1244 1275 1503 +3067 2 2 0 28 1251 1441 1244 +3068 2 2 0 28 1244 1503 1494 +3069 2 2 0 28 1219 1306 1377 +3070 2 2 0 28 1353 1342 1306 +3071 2 2 0 28 1306 1342 1177 +3072 2 2 0 28 1306 1219 1353 +3073 2 2 0 28 1448 1432 1386 +3074 2 2 0 28 1249 1294 1470 +3075 2 2 0 28 1386 1432 1238 +3076 2 2 0 28 1418 1361 1386 +3077 2 2 0 28 1238 1418 1386 +3078 2 2 0 28 1493 1523 1182 +3079 2 2 0 28 1493 1515 1523 +3080 2 2 0 28 1385 1240 1419 +3081 2 2 0 28 1240 1438 1419 +3082 2 2 0 28 1412 1355 1335 +3083 2 2 0 28 1233 1355 1412 +3084 2 2 0 28 1368 1354 1355 +3085 2 2 0 28 1233 1368 1355 +3086 2 2 0 28 1334 1296 1462 +3087 2 2 0 28 1334 1462 1212 +3088 2 2 0 28 1304 1462 1296 +3089 2 2 0 28 1304 1212 1462 +3090 2 2 0 28 1506 1381 1516 +3091 2 2 0 28 1474 1516 1220 +3092 2 2 0 28 1474 1506 1516 +3093 2 2 0 28 1493 1502 1515 +3094 2 2 0 28 1317 1388 1221 +3095 2 2 0 28 1388 1317 1338 +3096 2 2 0 28 1195 1388 1338 +3097 2 2 0 28 1282 1394 1208 +3098 2 2 0 28 1227 1324 1319 +3099 2 2 0 28 1324 1308 1319 +3100 2 2 0 28 1319 1343 1227 +3101 2 2 0 28 1454 1238 1432 +3102 2 2 0 28 1454 1444 1238 +3103 2 2 0 28 1375 1345 1330 +3104 2 2 0 28 1330 1345 1216 +3105 2 2 0 28 1328 1231 1330 +3106 2 2 0 28 1347 1328 1330 +3107 2 2 0 28 1330 1231 1375 +3108 2 2 0 28 1216 1347 1330 +3109 2 2 0 28 1196 1254 1268 +3110 2 2 0 28 1268 1254 1236 +3111 2 2 0 28 1416 1267 1268 +3112 2 2 0 28 1268 1236 1416 +3113 2 2 0 28 1328 1347 1185 +3114 2 2 0 28 1317 1313 1304 +3115 2 2 0 28 1304 1213 1317 +3116 2 2 0 28 1221 1313 1317 +3117 2 2 0 28 1317 1213 1338 +3118 2 2 0 28 1206 1285 1281 +3119 2 2 0 28 1189 1255 1417 +3120 2 2 0 28 1255 1489 1417 +3121 2 2 0 28 1267 1455 1255 +3122 2 2 0 28 1242 1255 1455 +3123 2 2 0 28 1255 1242 1489 +3124 2 2 0 28 1296 1334 1226 +3125 2 2 0 28 1334 1301 1316 +3126 2 2 0 28 1301 1334 1212 +3127 2 2 0 28 1226 1334 1316 +3128 2 2 0 28 1410 1412 1230 +3129 2 2 0 28 1421 1412 1410 +3130 2 2 0 28 1410 1248 1421 +3131 2 2 0 28 1469 1483 1417 +3132 2 2 0 28 1469 1417 1489 +3133 2 2 0 28 1189 1417 1483 +3134 2 2 0 28 1335 1230 1412 +3135 2 2 0 28 1325 1219 1377 +3136 2 2 0 28 1352 1489 1242 +3137 2 2 0 28 1234 1373 1392 +3138 2 2 0 28 1314 1304 1296 +3139 2 2 0 28 1296 1209 1314 +3140 2 2 0 28 1325 1361 1219 +3141 2 2 0 28 1302 1315 1187 +3142 2 2 0 28 1302 1187 1339 +3143 2 2 0 28 1315 1475 1187 +3144 2 2 0 28 1233 1412 1421 +3145 2 2 0 28 1305 1177 1337 +3146 2 2 0 28 1305 1442 1177 +3147 2 2 0 28 1251 1237 1383 +3148 2 2 0 28 1383 1441 1251 +3149 2 2 0 28 1239 1383 1342 +3150 2 2 0 28 1383 1337 1342 +3151 2 2 0 28 1383 1239 1441 +3152 2 2 0 28 1337 1383 1237 +3153 2 2 0 28 1215 1345 1375 +3154 2 2 0 28 1216 1345 1308 +3155 2 2 0 28 1363 1318 1354 +3156 2 2 0 28 1374 1336 1318 +3157 2 2 0 28 1318 1217 1374 +3158 2 2 0 28 1318 1363 1217 +3159 2 2 0 28 1321 1409 1178 +3160 2 2 0 28 1178 1245 1321 +3161 2 2 0 28 1328 1400 1231 +3162 2 2 0 28 1301 1212 1309 +3163 2 2 0 28 1307 1473 1510 +3164 2 2 0 28 1473 1307 1498 +3165 2 2 0 28 1254 1196 1278 +3166 2 2 0 28 1204 1521 1484 +3167 2 2 0 28 1485 1484 1521 +3168 2 2 0 28 1199 1421 1248 +3169 2 2 0 28 1233 1199 1443 +3170 2 2 0 28 1199 1233 1421 +3171 2 2 0 28 1361 1418 1219 +3172 2 2 0 28 1353 1219 1418 +3173 2 2 0 28 1416 1243 1384 +3174 2 2 0 28 1384 1455 1416 +3175 2 2 0 28 1384 1242 1455 +3176 2 2 0 28 1354 1368 1235 +3177 2 2 0 28 1235 1363 1354 +3178 2 2 0 28 1470 1427 1249 +3179 2 2 0 28 1470 1241 1427 +3180 2 2 0 28 1241 1470 1479 +3181 2 2 0 28 1280 1184 1477 +3182 2 2 0 28 1280 1437 1184 +3183 2 2 0 28 1207 1200 1280 +3184 2 2 0 28 1280 1477 1476 +3185 2 2 0 28 1207 1280 1476 +3186 2 2 0 28 1374 1340 1324 +3187 2 2 0 28 1324 1340 1216 +3188 2 2 0 28 1324 1227 1374 +3189 2 2 0 28 1308 1324 1216 +3190 2 2 0 28 1243 1416 1236 +3191 2 2 0 28 1184 1364 1235 +3192 2 2 0 28 1364 1184 1437 +3193 2 2 0 28 1343 1346 1227 +3194 2 2 0 28 1321 1218 1409 +3195 2 2 0 28 1376 1320 1315 +3196 2 2 0 28 1315 1221 1376 +3197 2 2 0 28 1213 1304 1314 +3198 2 2 0 28 1304 1313 1212 +3199 2 2 0 28 1368 1233 1443 +3200 2 2 0 28 1267 1416 1455 +3201 2 2 0 28 1363 1235 1364 +3202 2 2 0 28 1501 1525 1514 +3203 2 2 0 28 1315 1302 1313 +3204 2 2 0 28 1302 1212 1313 +3205 2 2 0 28 1339 1309 1302 +3206 2 2 0 28 1302 1309 1212 +3207 2 2 0 28 1315 1320 1475 +3208 2 2 0 28 1362 1336 1346 +3209 2 2 0 28 1239 1342 1353 +3210 2 2 0 28 1337 1177 1342 +3211 2 2 0 28 1234 1427 1241 +3212 2 2 0 28 1229 1337 1237 +3213 2 2 0 28 1229 1237 1440 +3214 2 2 0 28 1217 1340 1374 +3215 2 2 0 28 1216 1340 1347 +3216 2 2 0 28 1221 1315 1313 +3217 2 2 0 28 1227 1336 1374 +3218 2 2 0 28 1336 1227 1346 +3219 2 2 0 28 1225 1309 1339 +3220 2 2 0 28 1312 1177 1442 +3221 2 2 0 28 1321 1349 1218 +3222 2 2 0 28 1218 1349 1312 +3223 4 2 0 1 1846 2054 1029 2488 +3224 4 2 0 1 581 279 2330 2694 +3225 4 2 0 1 621 1990 1677 2344 +3226 4 2 0 1 324 2005 2190 2323 +3227 4 2 0 1 1556 1938 1638 1986 +3228 4 2 0 1 1677 1990 621 2330 +3229 4 2 0 1 1667 2562 1931 2588 +3230 4 2 0 1 1641 1953 2136 2204 +3231 4 2 0 1 1737 2127 1875 2689 +3232 4 2 0 1 1566 1907 1944 2096 +3233 4 2 0 1 1662 841 2212 2638 +3234 4 2 0 1 1334 1296 1462 1672 +3235 4 2 0 1 1902 1918 387 2641 +3236 4 2 0 1 1132 500 517 2626 +3237 4 2 0 1 1777 1900 2168 2796 +3238 4 2 0 1 1337 2370 1780 2835 +3239 4 2 0 1 2076 2137 1357 2301 +3240 4 2 0 1 1419 1438 1719 2148 +3241 4 2 0 1 581 2330 1990 2694 +3242 4 2 0 1 1523 2264 1976 2303 +3243 4 2 0 1 1713 1942 797 2028 +3244 4 2 0 1 1357 2137 2076 2715 +3245 4 2 0 1 1691 1886 1570 2540 +3246 4 2 0 1 1546 2127 1737 2689 +3247 4 2 0 1 841 2120 1662 2212 +3248 4 2 0 1 1811 1953 1641 2204 +3249 4 2 0 1 1551 1917 1792 2163 +3250 4 2 0 1 1675 1920 1802 2242 +3251 4 2 0 1 1563 1701 1838 2032 +3252 4 2 0 1 324 373 2005 2323 +3253 4 2 0 1 1672 1935 1334 2001 +3254 4 2 0 1 1675 1802 2052 2242 +3255 4 2 0 1 1570 1886 1691 2072 +3256 4 2 0 1 1802 1634 2052 2242 +3257 4 2 0 1 1615 2023 2389 2444 +3258 4 2 0 1 1419 1240 1438 2148 +3259 4 2 0 1 1471 2057 2241 2383 +3260 4 2 0 1 1824 1844 1636 1987 +3261 4 2 0 1 1549 1763 1876 2273 +3262 4 2 0 1 1715 1960 1106 2060 +3263 4 2 0 1 1802 1920 1634 2242 +3264 4 2 0 1 1636 1987 1772 2326 +3265 4 2 0 1 1731 1803 1566 2261 +3266 4 2 0 1 1638 1556 1922 1938 +3267 4 2 0 1 1540 1704 1874 2630 +3268 4 2 0 1 1747 1953 1581 2213 +3269 4 2 0 1 1563 1989 1684 2098 +3270 4 2 0 1 1665 1859 2149 2352 +3271 4 2 0 1 1419 1719 1438 1909 +3272 4 2 0 1 1641 1953 1811 2547 +3273 4 2 0 1 1773 1928 1684 2098 +3274 4 2 0 1 2474 2620 2146 2833 +3275 4 2 0 1 1194 1259 2033 2177 +3276 4 2 0 1 1615 2023 2444 2492 +3277 4 2 0 1 250 1961 1952 2086 +3278 4 2 0 1 1182 1523 1976 2303 +3279 4 2 0 1 1792 1917 1665 2163 +3280 4 2 0 1 1852 1980 1932 2583 +3281 4 2 0 1 2044 2310 1938 2521 +3282 4 2 0 1 1827 1910 1673 2362 +3283 4 2 0 1 1029 2054 1846 2202 +3284 4 2 0 1 1654 1944 1907 2096 +3285 4 2 0 1 1944 2057 1471 2383 +3286 4 2 0 1 1661 1994 1870 2603 +3287 4 2 0 1 1628 1803 1731 2261 +3288 4 2 0 1 1002 1931 2562 2588 +3289 4 2 0 1 1763 2255 2056 2414 +3290 4 2 0 1 1530 1958 1880 2266 +3291 4 2 0 1 1810 1933 748 2690 +3292 4 2 0 1 1525 2135 157 2184 +3293 4 2 0 1 1880 1958 1675 2266 +3294 4 2 0 1 1770 1836 2193 2595 +3295 4 2 0 1 1615 2389 2023 2492 +3296 4 2 0 1 1579 2285 1672 2411 +3297 4 2 0 1 581 1990 279 2694 +3298 4 2 0 1 1970 2168 1900 2796 +3299 4 2 0 1 387 1918 1902 1983 +3300 4 2 0 1 1662 2120 841 2161 +3301 4 2 0 1 1185 1828 1758 2104 +3302 4 2 0 1 1570 1798 1820 1886 +3303 4 2 0 1 604 1680 1948 2530 +3304 4 2 0 1 1571 1713 1942 2288 +3305 4 2 0 1 1662 2161 841 2638 +3306 4 2 0 1 1533 2231 2504 2583 +3307 4 2 0 1 1721 1797 164 2070 +3308 4 2 0 1 1553 2663 2069 2749 +3309 4 2 0 1 1674 1985 1905 2017 +3310 4 2 0 1 1730 1618 2053 2104 +3311 4 2 0 1 1555 2014 1936 2659 +3312 4 2 0 1 933 1889 930 2233 +3313 4 2 0 1 1780 1885 1353 2322 +3314 4 2 0 1 822 1183 1210 1933 +3315 4 2 0 1 1555 1936 2014 2736 +3316 4 2 0 1 1647 2085 1768 2134 +3317 4 2 0 1 1556 1638 1922 1986 +3318 4 2 0 1 1979 2092 223 2349 +3319 4 2 0 1 1655 1813 1588 1891 +3320 4 2 0 1 1132 2054 1904 2626 +3321 4 2 0 1 1440 1194 1259 2033 +3322 4 2 0 1 1416 1820 1708 2289 +3323 4 2 0 1 1843 2023 2389 2492 +3324 4 2 0 1 709 1765 807 2068 +3325 4 2 0 1 1506 2137 995 2278 +3326 4 2 0 1 1985 2017 1674 2773 +3327 4 2 0 1 1357 2076 1872 2715 +3328 4 2 0 1 949 1961 1729 2477 +3329 4 2 0 1 950 1781 1889 2081 +3330 4 2 0 1 1547 1869 1745 2434 +3331 4 2 0 1 1744 1812 1548 2480 +3332 4 2 0 1 1812 1898 1647 1919 +3333 4 2 0 1 164 1797 1721 2140 +3334 4 2 0 1 2175 2193 1836 2595 +3335 4 2 0 1 1665 2149 1859 2153 +3336 4 2 0 1 1534 1910 1827 2362 +3337 4 2 0 1 1743 1581 1953 2213 +3338 4 2 0 1 1827 1673 2227 2362 +3339 4 2 0 1 1713 1765 1551 2074 +3340 4 2 0 1 604 1948 599 2530 +3341 4 2 0 1 1812 1919 1647 2465 +3342 4 2 0 1 1808 2033 1259 2177 +3343 4 2 0 1 1372 1442 2016 2493 +3344 4 2 0 1 748 1810 822 1933 +3345 4 2 0 1 1540 2122 1704 2630 +3346 4 2 0 1 1637 2281 1921 2749 +3347 4 2 0 1 1531 1964 1882 2315 +3348 4 2 0 1 1726 1794 2360 2425 +3349 4 2 0 1 1684 1563 2032 2038 +3350 4 2 0 1 1579 1971 1672 2420 +3351 4 2 0 1 1541 2011 1865 2306 +3352 4 2 0 1 1691 1570 2015 2540 +3353 4 2 0 1 1729 1952 193 1961 +3354 4 2 0 1 1539 2223 1870 2232 +3355 4 2 0 1 1658 2202 2025 2622 +3356 4 2 0 1 989 1907 1751 2279 +3357 4 2 0 1 1825 1934 647 2281 +3358 4 2 0 1 157 1525 843 2135 +3359 4 2 0 1 457 1737 2127 2468 +3360 4 2 0 1 413 1816 2066 2106 +3361 4 2 0 1 2135 2529 1810 2722 +3362 4 2 0 1 1531 1756 1964 2315 +3363 4 2 0 1 1938 2044 1638 2310 +3364 4 2 0 1 1547 1968 1742 2167 +3365 4 2 0 1 1619 1862 1800 1877 +3366 4 2 0 1 1575 1981 1660 2039 +3367 4 2 0 1 1579 1935 1672 2285 +3368 4 2 0 1 822 1210 748 1933 +3369 4 2 0 1 1615 2389 1898 2444 +3370 4 2 0 1 1759 1998 2234 2476 +3371 4 2 0 1 1538 1691 1784 1943 +3372 4 2 0 1 2474 2620 1705 2640 +3373 4 2 0 1 1684 2296 2103 2482 +3374 4 2 0 1 1603 1829 1819 2357 +3375 4 2 0 1 1763 2056 1632 2273 +3376 4 2 0 1 1010 163 164 1721 +3377 4 2 0 1 1713 1551 1765 2532 +3378 4 2 0 1 1538 1784 1691 2388 +3379 4 2 0 1 1669 2504 2231 2583 +3380 4 2 0 1 1540 2067 1702 2524 +3381 4 2 0 1 1185 1758 1954 2104 +3382 4 2 0 1 1588 1655 1891 2430 +3383 4 2 0 1 1563 1989 1697 2482 +3384 4 2 0 1 1547 1878 1968 2167 +3385 4 2 0 1 2359 2472 2207 2481 +3386 4 2 0 1 1127 2056 1994 2255 +3387 4 2 0 1 2146 2278 1797 2301 +3388 4 2 0 1 1573 1700 1899 2122 +3389 4 2 0 1 1800 1877 1862 2793 +3390 4 2 0 1 1550 1732 1806 2004 +3391 4 2 0 1 1635 1932 1852 1980 +3392 4 2 0 1 1226 1334 1935 2001 +3393 4 2 0 1 1792 2404 2341 2702 +3394 4 2 0 1 1296 1462 1672 2302 +3395 4 2 0 1 1675 1958 1880 2750 +3396 4 2 0 1 1817 2261 1566 2553 +3397 4 2 0 1 980 2165 1724 2589 +3398 4 2 0 1 1560 1844 1824 1987 +3399 4 2 0 1 1632 2056 1763 2255 +3400 4 2 0 1 1372 1926 1678 2016 +3401 4 2 0 1 1369 2042 2104 2579 +3402 4 2 0 1 1812 1898 1919 2650 +3403 4 2 0 1 1632 1876 1763 2273 +3404 4 2 0 1 1609 1976 1742 2356 +3405 4 2 0 1 907 1484 863 2081 +3406 4 2 0 1 1533 1932 1980 2583 +3407 4 2 0 1 2103 2296 1900 2482 +3408 4 2 0 1 1240 1719 1438 2148 +3409 4 2 0 1 1563 1684 1989 2482 +3410 4 2 0 1 1571 1713 2288 2532 +3411 4 2 0 1 1547 2167 1742 2356 +3412 4 2 0 1 930 1889 1817 2233 +3413 4 2 0 1 1745 1842 1660 1901 +3414 4 2 0 1 742 1810 748 2690 +3415 4 2 0 1 534 1990 581 2330 +3416 4 2 0 1 1142 1158 1927 2049 +3417 4 2 0 1 841 2120 727 2161 +3418 4 2 0 1 2025 2075 1658 2535 +3419 4 2 0 1 935 980 1724 2589 +3420 4 2 0 1 1563 1915 1697 1989 +3421 4 2 0 1 1533 1980 1852 2583 +3422 4 2 0 1 1579 1672 1971 2411 +3423 4 2 0 1 1615 1751 1790 1898 +3424 4 2 0 1 604 1948 1680 2786 +3425 4 2 0 1 1353 1885 1780 2512 +3426 4 2 0 1 1369 2104 2042 2342 +3427 4 2 0 1 1531 1836 1770 2003 +3428 4 2 0 1 1192 2042 1727 2077 +3429 4 2 0 1 1762 2148 1425 2721 +3430 4 2 0 1 2051 2135 1810 2722 +3431 4 2 0 1 1183 822 1810 1933 +3432 4 2 0 1 2127 2155 1546 2444 +3433 4 2 0 1 1539 1876 2022 2151 +3434 4 2 0 1 1783 2220 2050 2415 +3435 4 2 0 1 1324 1706 2013 2579 +3436 4 2 0 1 933 1817 930 1889 +3437 4 2 0 1 1762 1992 1425 2148 +3438 4 2 0 1 1587 2138 1864 2541 +3439 4 2 0 1 1573 1868 1700 2122 +3440 4 2 0 1 1921 2281 1637 2371 +3441 4 2 0 1 1658 2092 1979 2349 +3442 4 2 0 1 2002 2270 1835 2449 +3443 4 2 0 1 324 2005 373 2190 +3444 4 2 0 1 2146 2620 2474 2640 +3445 4 2 0 1 1588 1982 1655 2430 +3446 4 2 0 1 1672 2133 1462 2420 +3447 4 2 0 1 1775 2170 2040 2541 +3448 4 2 0 1 1693 2183 1796 2213 +3449 4 2 0 1 1992 2077 1341 2337 +3450 4 2 0 1 1791 2231 1669 2504 +3451 4 2 0 1 709 807 757 2068 +3452 4 2 0 1 1615 1898 1790 2444 +3453 4 2 0 1 1531 1882 1964 2735 +3454 4 2 0 1 1790 1931 1667 2562 +3455 4 2 0 1 1372 2016 1678 2493 +3456 4 2 0 1 1411 1373 1760 2012 +3457 4 2 0 1 1324 1340 1706 2579 +3458 4 2 0 1 1455 2021 1820 2387 +3459 4 2 0 1 1776 2014 1936 2736 +3460 4 2 0 1 1572 1759 1865 2183 +3461 4 2 0 1 1823 2173 1940 2554 +3462 4 2 0 1 1571 2136 1953 2204 +3463 4 2 0 1 1900 1777 2290 2796 +3464 4 2 0 1 1641 2204 2136 2304 +3465 4 2 0 1 2044 1938 2520 2521 +3466 4 2 0 1 1726 1794 2305 2360 +3467 4 2 0 1 1778 2017 1985 2773 +3468 4 2 0 1 2014 2045 1936 2659 +3469 4 2 0 1 1928 2032 1684 2098 +3470 4 2 0 1 1598 1928 1773 2098 +3471 4 2 0 1 1953 2213 1747 2354 +3472 4 2 0 1 1534 1827 2227 2362 +3473 4 2 0 1 1003 1790 990 1931 +3474 4 2 0 1 1777 1611 2295 2602 +3475 4 2 0 1 157 2184 2135 2670 +3476 4 2 0 1 1889 2165 899 2589 +3477 4 2 0 1 1537 1807 2243 2318 +3478 4 2 0 1 1815 1617 1972 2410 +3479 4 2 0 1 797 1942 1713 2288 +3480 4 2 0 1 1194 2033 1764 2177 +3481 4 2 0 1 1958 2183 1796 2372 +3482 4 2 0 1 2051 1810 2135 2529 +3483 4 2 0 1 2022 2609 2082 2629 +3484 4 2 0 1 1337 1780 1342 2835 +3485 4 2 0 1 1533 2231 2334 2504 +3486 4 2 0 1 1828 2053 1618 2104 +3487 4 2 0 1 1122 1746 1089 1864 +3488 4 2 0 1 2067 2343 1702 2524 +3489 4 2 0 1 491 1997 2353 2691 +3490 4 2 0 1 2165 2589 1889 2644 +3491 4 2 0 1 1257 651 1828 2053 +3492 4 2 0 1 1781 2081 1204 2299 +3493 4 2 0 1 413 347 1816 2635 +3494 4 2 0 1 1531 1770 1836 2249 +3495 4 2 0 1 858 2562 2125 2588 +3496 4 2 0 1 457 2127 1875 2468 +3497 4 2 0 1 1745 1901 1660 2238 +3498 4 2 0 1 1553 2459 1956 2759 +3499 4 2 0 1 1546 1737 1875 2689 +3500 4 2 0 1 2042 2104 1639 2342 +3501 4 2 0 1 1772 1987 1824 2326 +3502 4 2 0 1 499 1967 1965 2438 +3503 4 2 0 1 1575 1975 1660 1981 +3504 4 2 0 1 1539 2114 1870 2223 +3505 4 2 0 1 1574 1706 1821 2415 +3506 4 2 0 1 885 1961 949 2477 +3507 4 2 0 1 1777 2295 2143 2602 +3508 4 2 0 1 2077 2337 1992 2340 +3509 4 2 0 1 1588 1813 1655 2328 +3510 4 2 0 1 1775 2541 2040 2584 +3511 4 2 0 1 1783 2050 1921 2415 +3512 4 2 0 1 1563 1989 2098 2147 +3513 4 2 0 1 1983 2517 1657 2691 +3514 4 2 0 1 1416 1267 1708 1820 +3515 4 2 0 1 413 347 353 1816 +3516 4 2 0 1 499 2297 1967 2438 +3517 4 2 0 1 903 244 996 2494 +3518 4 2 0 1 1541 1865 2011 2521 +3519 4 2 0 1 1812 2224 1548 2480 +3520 4 2 0 1 620 1937 1799 2367 +3521 4 2 0 1 1803 1566 2261 2553 +3522 4 2 0 1 1797 2278 2137 2301 +3523 4 2 0 1 1654 1907 1751 2096 +3524 4 2 0 1 1604 2281 1921 2371 +3525 4 2 0 1 693 1942 797 2288 +3526 4 2 0 1 1547 1878 2167 2356 +3527 4 2 0 1 1834 2013 1727 2337 +3528 4 2 0 1 413 1816 2106 2635 +3529 4 2 0 1 1546 2127 1761 2155 +3530 4 2 0 1 1570 1691 1987 2747 +3531 4 2 0 1 1690 2404 1792 2702 +3532 4 2 0 1 1119 2056 1181 2785 +3533 4 2 0 1 2125 2562 1667 2588 +3534 4 2 0 1 1784 1945 2240 2300 +3535 4 2 0 1 1852 1932 1635 2583 +3536 4 2 0 1 2022 1623 2609 2629 +3537 4 2 0 1 1919 2465 1812 2650 +3538 4 2 0 1 1571 2288 2204 2532 +3539 4 2 0 1 1340 1706 2579 2655 +3540 4 2 0 1 1563 1697 2038 2482 +3541 4 2 0 1 1553 1956 1766 2759 +3542 4 2 0 1 2000 2487 1839 2616 +3543 4 2 0 1 1565 1986 1885 2234 +3544 4 2 0 1 1636 1824 1987 2326 +3545 4 2 0 1 1132 1904 500 2626 +3546 4 2 0 1 708 806 2099 2171 +3547 4 2 0 1 1336 1727 2013 2337 +3548 4 2 0 1 2183 2372 1958 2506 +3549 4 2 0 1 457 1737 430 2127 +3550 4 2 0 1 1743 2213 1953 2354 +3551 4 2 0 1 1661 1870 1632 2223 +3552 4 2 0 1 204 373 2005 2190 +3553 4 2 0 1 1173 164 163 1721 +3554 4 2 0 1 1780 1337 2016 2370 +3555 4 2 0 1 1530 1796 2183 2213 +3556 4 2 0 1 1721 1544 2140 2625 +3557 4 2 0 1 1548 1971 2480 2839 +3558 4 2 0 1 1823 2225 2173 2554 +3559 4 2 0 1 1010 1721 164 2070 +3560 4 2 0 1 1541 1938 2310 2521 +3561 4 2 0 1 1354 1663 2042 2077 +3562 4 2 0 1 1722 1657 2517 2691 +3563 4 2 0 1 1754 1847 1603 2189 +3564 4 2 0 1 2005 1634 2190 2323 +3565 4 2 0 1 1703 1839 2487 2616 +3566 4 2 0 1 1843 2389 1615 2492 +3567 4 2 0 1 1807 2243 2318 2739 +3568 4 2 0 1 710 2508 1822 2555 +3569 4 2 0 1 604 599 1948 2786 +3570 4 2 0 1 1607 1799 1730 2198 +3571 4 2 0 1 1541 1804 1683 2602 +3572 4 2 0 1 1542 2305 2079 2360 +3573 4 2 0 1 2051 2135 2055 2529 +3574 4 2 0 1 1665 2352 1867 2671 +3575 4 2 0 1 1673 2312 2362 2748 +3576 4 2 0 1 1728 2244 1544 2627 +3577 4 2 0 1 1537 2243 1807 2739 +3578 4 2 0 1 1438 1909 1719 2551 +3579 4 2 0 1 1743 1998 1854 2354 +3580 4 2 0 1 1820 2763 2007 2767 +3581 4 2 0 1 1756 1584 1882 2063 +3582 4 2 0 1 980 2115 1724 2165 +3583 4 2 0 1 1060 1927 1819 2394 +3584 4 2 0 1 1570 2072 1691 2747 +3585 4 2 0 1 2025 2336 2075 2535 +3586 4 2 0 1 2056 2273 1763 2414 +3587 4 2 0 1 1658 2025 1863 2075 +3588 4 2 0 1 1103 2056 2255 2414 +3589 4 2 0 1 1869 2179 1745 2434 +3590 4 2 0 1 1531 1882 1756 2315 +3591 4 2 0 1 691 1890 2288 2451 +3592 4 2 0 1 413 1816 353 2066 +3593 4 2 0 1 1660 1975 1575 2039 +3594 4 2 0 1 1735 1869 671 2197 +3595 4 2 0 1 1734 1836 1598 1878 +3596 4 2 0 1 1553 2220 1783 2415 +3597 4 2 0 1 1411 1760 1373 2263 +3598 4 2 0 1 223 270 1904 2092 +3599 4 2 0 1 1549 2039 1876 2544 +3600 4 2 0 1 1746 1864 1122 2138 +3601 4 2 0 1 1817 1889 933 2365 +3602 4 2 0 1 1267 1708 1820 2021 +3603 4 2 0 1 1994 2056 1632 2255 +3604 4 2 0 1 1013 154 980 2165 +3605 4 2 0 1 1563 2032 1838 2098 +3606 4 2 0 1 1657 2270 2002 2449 +3607 4 2 0 1 1940 2173 1823 2225 +3608 4 2 0 1 1618 1730 1799 2215 +3609 4 2 0 1 1559 1729 1793 1999 +3610 4 2 0 1 1335 1992 1762 2077 +3611 4 2 0 1 803 1942 1890 1991 +3612 4 2 0 1 1934 2281 1604 2283 +3613 4 2 0 1 935 1724 980 2115 +3614 4 2 0 1 1699 1978 1606 2559 +3615 4 2 0 1 1544 1721 2140 2619 +3616 4 2 0 1 1673 2312 2004 2362 +3617 4 2 0 1 604 1680 2530 2536 +3618 4 2 0 1 1101 1715 1106 2060 +3619 4 2 0 1 1555 1908 2174 2263 +3620 4 2 0 1 1721 2182 1688 2619 +3621 4 2 0 1 1587 2075 1711 2126 +3622 4 2 0 1 1555 2174 1906 2263 +3623 4 2 0 1 1419 1719 1909 2148 +3624 4 2 0 1 1658 1904 2202 2622 +3625 4 2 0 1 1803 2261 1817 2553 +3626 4 2 0 1 1530 1796 1958 2183 +3627 4 2 0 1 1354 2042 1663 2342 +3628 4 2 0 1 1336 2013 1834 2337 +3629 4 2 0 1 1540 1871 1736 2067 +3630 4 2 0 1 1334 1672 1462 2420 +3631 4 2 0 1 1599 1911 1714 2048 +3632 4 2 0 1 1889 1781 2165 2644 +3633 4 2 0 1 706 1769 781 1936 +3634 4 2 0 1 680 587 1207 1937 +3635 4 2 0 1 1570 1886 1820 2291 +3636 4 2 0 1 164 1721 1173 2140 +3637 4 2 0 1 1541 2520 1938 2521 +3638 4 2 0 1 1580 2034 2203 2634 +3639 4 2 0 1 1763 2039 1876 2509 +3640 4 2 0 1 1553 1766 2459 2759 +3641 4 2 0 1 1670 1596 2003 2286 +3642 4 2 0 1 155 2055 1771 2670 +3643 4 2 0 1 1334 1935 1672 2420 +3644 4 2 0 1 1715 2488 1846 2491 +3645 4 2 0 1 1677 1897 1592 2380 +3646 4 2 0 1 1936 2014 1776 2045 +3647 4 2 0 1 1900 2290 1970 2796 +3648 4 2 0 1 1965 2286 1670 2391 +3649 4 2 0 1 1548 1741 1971 2839 +3650 4 2 0 1 2037 2370 1556 2429 +3651 4 2 0 1 1863 2025 1658 2202 +3652 4 2 0 1 1539 2232 1870 2710 +3653 4 2 0 1 1537 2243 2082 2318 +3654 4 2 0 1 604 1680 2536 2786 +3655 4 2 0 1 1751 1907 989 2125 +3656 4 2 0 1 1820 1886 1798 2760 +3657 4 2 0 1 2022 2151 1876 2181 +3658 4 2 0 1 1324 1706 1340 2655 +3659 4 2 0 1 1665 1867 2611 2671 +3660 4 2 0 1 1550 1806 1732 2293 +3661 4 2 0 1 1544 2244 1728 2335 +3662 4 2 0 1 193 1952 250 1961 +3663 4 2 0 1 1709 2418 2004 2519 +3664 4 2 0 1 691 2288 825 2451 +3665 4 2 0 1 1824 1987 1772 2550 +3666 4 2 0 1 1752 825 2288 2451 +3667 4 2 0 1 1774 1620 1834 2011 +3668 4 2 0 1 1681 1829 1819 2424 +3669 4 2 0 1 346 326 233 2556 +3670 4 2 0 1 1670 2286 2003 2604 +3671 4 2 0 1 1921 2281 1825 2749 +3672 4 2 0 1 1530 1854 1759 1998 +3673 4 2 0 1 2004 2362 2312 2748 +3674 4 2 0 1 1867 1892 1641 2118 +3675 4 2 0 1 1726 2305 1542 2360 +3676 4 2 0 1 1716 1918 1594 2176 +3677 4 2 0 1 729 1860 1794 2425 +3678 4 2 0 1 1549 1876 1763 2544 +3679 4 2 0 1 1784 2240 1691 2300 +3680 4 2 0 1 1859 2352 1665 2671 +3681 4 2 0 1 903 996 2049 2494 +3682 4 2 0 1 1766 1845 681 2192 +3683 4 2 0 1 1537 2082 1807 2318 +3684 4 2 0 1 457 240 1875 2127 +3685 4 2 0 1 1540 1702 1874 2524 +3686 4 2 0 1 2170 2541 1775 2584 +3687 4 2 0 1 1354 1663 2077 2507 +3688 4 2 0 1 1859 1619 2149 2352 +3689 4 2 0 1 1255 1705 2620 2640 +3690 4 2 0 1 1986 2234 1998 2476 +3691 4 2 0 1 204 2005 1801 2190 +3692 4 2 0 1 1550 1768 1941 2293 +3693 4 2 0 1 1550 1941 1768 2623 +3694 4 2 0 1 1516 2278 2146 2301 +3695 4 2 0 1 2117 2586 2273 2785 +3696 4 2 0 1 1611 2527 2295 2602 +3697 4 2 0 1 1536 1949 2047 2198 +3698 4 2 0 1 1587 1746 2138 2541 +3699 4 2 0 1 1683 1804 1541 2011 +3700 4 2 0 1 1587 2040 2541 2584 +3701 4 2 0 1 1876 2039 1763 2544 +3702 4 2 0 1 1867 2089 1811 2304 +3703 4 2 0 1 1951 1544 2244 2627 +3704 4 2 0 1 1707 2474 2146 2833 +3705 4 2 0 1 2025 1658 2336 2535 +3706 4 2 0 1 2069 2663 2393 2749 +3707 4 2 0 1 1528 1812 2465 2650 +3708 4 2 0 1 1850 2005 1634 2699 +3709 4 2 0 1 1777 2143 1611 2602 +3710 4 2 0 1 1736 1871 1540 2698 +3711 4 2 0 1 1611 1777 2295 2527 +3712 4 2 0 1 693 797 1942 2028 +3713 4 2 0 1 1774 1804 1620 2599 +3714 4 2 0 1 858 1002 2562 2588 +3715 4 2 0 1 1558 1778 1985 2773 +3716 4 2 0 1 1571 1942 1890 2288 +3717 4 2 0 1 1354 2342 1663 2507 +3718 4 2 0 1 1945 2004 1709 2418 +3719 4 2 0 1 1953 2204 1811 2532 +3720 4 2 0 1 1780 1922 1638 1986 +3721 4 2 0 1 1761 1931 871 2280 +3722 4 2 0 1 980 154 2115 2165 +3723 4 2 0 1 1010 163 1721 2734 +3724 4 2 0 1 1813 2067 1736 2200 +3725 4 2 0 1 1751 1907 1654 2279 +3726 4 2 0 1 1604 1825 1921 2281 +3727 4 2 0 1 1727 2337 2077 2340 +3728 4 2 0 1 1610 2363 1757 2426 +3729 4 2 0 1 1761 2280 871 2803 +3730 4 2 0 1 1296 1672 1334 2001 +3731 4 2 0 1 1673 1910 1827 2335 +3732 4 2 0 1 1847 2189 1754 2292 +3733 4 2 0 1 1584 1756 1882 2315 +3734 4 2 0 1 1739 1856 1611 2031 +3735 4 2 0 1 1601 1943 1784 2240 +3736 4 2 0 1 1910 2218 1827 2335 +3737 4 2 0 1 413 2066 2068 2106 +3738 4 2 0 1 1566 2096 1944 2558 +3739 4 2 0 1 1548 2480 1814 2839 +3740 4 2 0 1 1854 1998 1530 2354 +3741 4 2 0 1 1742 2356 1976 2434 +3742 4 2 0 1 1689 2010 1956 2630 +3743 4 2 0 1 1553 1766 2069 2663 +3744 4 2 0 1 1574 2050 1706 2415 +3745 4 2 0 1 244 2049 996 2494 +3746 4 2 0 1 1743 1854 1530 2354 +3747 4 2 0 1 950 1781 881 1889 +3748 4 2 0 1 1658 2075 1863 2535 +3749 4 2 0 1 1701 2032 1563 2038 +3750 4 2 0 1 1767 2084 452 2574 +3751 4 2 0 1 936 949 1961 2073 +3752 4 2 0 1 1558 1778 2027 2239 +3753 4 2 0 1 1689 2452 2010 2630 +3754 4 2 0 1 1783 1956 1689 2220 +3755 4 2 0 1 1634 2080 1850 2699 +3756 4 2 0 1 1609 2142 1762 2243 +3757 4 2 0 1 1780 1556 2037 2370 +3758 4 2 0 1 1587 1775 2040 2584 +3759 4 2 0 1 2152 2160 2048 2616 +3760 4 2 0 1 1819 2357 1829 2613 +3761 4 2 0 1 1089 1746 1091 1864 +3762 4 2 0 1 210 357 1789 2556 +3763 4 2 0 1 1803 2233 1817 2261 +3764 4 2 0 1 1835 1903 1590 2002 +3765 4 2 0 1 1730 1799 1607 1937 +3766 4 2 0 1 1785 1892 1565 2136 +3767 4 2 0 1 1865 2306 2011 2454 +3768 4 2 0 1 1665 2163 1917 2611 +3769 4 2 0 1 1419 1909 1438 2551 +3770 4 2 0 1 620 2053 1937 2367 +3771 4 2 0 1 1569 1918 1716 2176 +3772 4 2 0 1 1669 1651 1938 2257 +3773 4 2 0 1 1590 1835 2002 2270 +3774 4 2 0 1 1723 2225 2173 2789 +3775 4 2 0 1 1533 1980 1932 2838 +3776 4 2 0 1 1337 2033 2370 2835 +3777 4 2 0 1 2273 2586 2056 2785 +3778 4 2 0 1 1864 2138 1746 2541 +3779 4 2 0 1 1689 2630 1956 2652 +3780 4 2 0 1 866 1889 933 2233 +3781 4 2 0 1 1571 1685 1991 2265 +3782 4 2 0 1 1579 1672 1935 2420 +3783 4 2 0 1 2341 2404 1765 2702 +3784 4 2 0 1 1946 1729 2523 2793 +3785 4 2 0 1 2118 2266 1998 2354 +3786 4 2 0 1 1673 2058 2312 2748 +3787 4 2 0 1 1496 1490 576 1491 +3788 4 2 0 1 1675 2266 1958 2471 +3789 4 2 0 1 621 1990 534 2330 +3790 4 2 0 1 526 1961 885 2477 +3791 4 2 0 1 1815 1960 1617 2410 +3792 4 2 0 1 1571 1685 2265 2634 +3793 4 2 0 1 1626 1906 1858 2008 +3794 4 2 0 1 1587 2710 1710 2828 +3795 4 2 0 1 1770 1838 1598 2098 +3796 4 2 0 1 134 1815 1972 2410 +3797 4 2 0 1 1714 1911 1528 2048 +3798 4 2 0 1 1905 1985 1778 2017 +3799 4 2 0 1 1952 2086 1961 2545 +3800 4 2 0 1 1802 1675 2271 2334 +3801 4 2 0 1 357 2268 1789 2556 +3802 4 2 0 1 1601 1784 1945 2240 +3803 4 2 0 1 1766 2192 2459 2759 +3804 4 2 0 1 1759 1572 1865 2310 +3805 4 2 0 1 1665 2149 1867 2352 +3806 4 2 0 1 1475 1471 1944 2057 +3807 4 2 0 1 1580 2034 1826 2203 +3808 4 2 0 1 1603 2357 1819 2764 +3809 4 2 0 1 975 1748 2162 2382 +3810 4 2 0 1 1768 1919 1647 2134 +3811 4 2 0 1 729 2087 1794 2375 +3812 4 2 0 1 1966 2113 1980 2517 +3813 4 2 0 1 994 1931 1761 2155 +3814 4 2 0 1 1496 1491 576 1995 +3815 4 2 0 1 677 647 1934 2281 +3816 4 2 0 1 1553 2069 1758 2749 +3817 4 2 0 1 1591 2134 2085 2389 +3818 4 2 0 1 1632 1870 1661 1994 +3819 4 2 0 1 1859 2149 1619 2153 +3820 4 2 0 1 1827 1910 1614 2218 +3821 4 2 0 1 1681 1978 1606 2228 +3822 4 2 0 1 1673 2362 2058 2748 +3823 4 2 0 1 2007 2763 1243 2767 +3824 4 2 0 1 1794 1860 729 2375 +3825 4 2 0 1 1838 2032 1598 2098 +3826 4 2 0 1 1758 1828 1430 2812 +3827 4 2 0 1 822 748 742 1810 +3828 4 2 0 1 1556 1922 1780 1986 +3829 4 2 0 1 1002 1931 1790 2562 +3830 4 2 0 1 1669 1938 1556 2231 +3831 4 2 0 1 1759 2234 1638 2476 +3832 4 2 0 1 2054 2488 1846 2789 +3833 4 2 0 1 2052 2190 1585 2242 +3834 4 2 0 1 1536 1949 1734 2047 +3835 4 2 0 1 1430 1758 1185 1828 +3836 4 2 0 1 1558 2017 1778 2773 +3837 4 2 0 1 1703 2487 2000 2616 +3838 4 2 0 1 1749 1565 2008 2265 +3839 4 2 0 1 1863 2075 1775 2535 +3840 4 2 0 1 1853 2083 1645 2151 +3841 4 2 0 1 1953 2532 1811 2547 +3842 4 2 0 1 1253 1893 1824 2751 +3843 4 2 0 1 1637 1825 2281 2749 +3844 4 2 0 1 1206 2586 2117 2785 +3845 4 2 0 1 1846 2488 1092 2491 +3846 4 2 0 1 1550 1732 2004 2519 +3847 4 2 0 1 1383 1974 1780 2322 +3848 4 2 0 1 1609 1909 1887 2243 +3849 4 2 0 1 1003 1002 990 1790 +3850 4 2 0 1 1342 1780 1383 2835 +3851 4 2 0 1 1611 1856 1739 2527 +3852 4 2 0 1 1548 1812 1744 2708 +3853 4 2 0 1 1540 2059 1704 2122 +3854 4 2 0 1 1592 1841 1677 2380 +3855 4 2 0 1 1092 1846 1029 2488 +3856 4 2 0 1 2008 2265 1565 2801 +3857 4 2 0 1 863 1781 1484 2184 +3858 4 2 0 1 1615 1843 1814 2224 +3859 4 2 0 1 632 2281 1934 2283 +3860 4 2 0 1 1587 1710 2138 2828 +3861 4 2 0 1 781 1936 1769 2379 +3862 4 2 0 1 1530 1998 1759 2266 +3863 4 2 0 1 1860 2305 1794 2360 +3864 4 2 0 1 1553 1783 1921 2415 +3865 4 2 0 1 1599 1714 1911 2261 +3866 4 2 0 1 1622 1794 1860 2079 +3867 4 2 0 1 2127 2327 1687 2576 +3868 4 2 0 1 1693 1796 2183 2372 +3869 4 2 0 1 1917 2163 1551 2611 +3870 4 2 0 1 2040 2170 1606 2541 +3871 4 2 0 1 1670 2003 1596 2478 +3872 4 2 0 1 1774 1620 2011 2599 +3873 4 2 0 1 1730 1937 1607 2724 +3874 4 2 0 1 1839 2392 2000 2616 +3875 4 2 0 1 1802 1920 1675 2334 +3876 4 2 0 1 1328 1954 1758 2194 +3877 4 2 0 1 452 2084 1767 2159 +3878 4 2 0 1 2007 2609 1820 2767 +3879 4 2 0 1 457 430 1737 2468 +3880 4 2 0 1 1544 1951 2244 2335 +3881 4 2 0 1 1598 1836 1770 2249 +3882 4 2 0 1 1830 2183 1865 2471 +3883 4 2 0 1 1887 1909 1840 2629 +3884 4 2 0 1 1713 2028 1855 2074 +3885 4 2 0 1 1713 1581 2028 2074 +3886 4 2 0 1 1569 1966 1980 2517 +3887 4 2 0 1 1836 2238 1666 2356 +3888 4 2 0 1 1771 2115 154 2165 +3889 4 2 0 1 1118 286 1146 1904 +3890 4 2 0 1 1588 1736 2067 2200 +3891 4 2 0 1 1968 2047 1949 2198 +3892 4 2 0 1 1555 1906 1908 2263 +3893 4 2 0 1 1622 1794 2079 2305 +3894 4 2 0 1 1657 2517 1983 2590 +3895 4 2 0 1 1730 1639 2104 2342 +3896 4 2 0 1 2146 2474 1707 2640 +3897 4 2 0 1 1060 1052 1927 2394 +3898 4 2 0 1 1484 1204 1781 2081 +3899 4 2 0 1 792 2055 155 2670 +3900 4 2 0 1 326 2405 233 2556 +3901 4 2 0 1 1653 2009 1949 2587 +3902 4 2 0 1 1546 2023 1737 2127 +3903 4 2 0 1 1645 2151 2083 2549 +3904 4 2 0 1 2076 2137 1872 2715 +3905 4 2 0 1 1569 1902 1716 1918 +3906 4 2 0 1 1206 2056 2586 2785 +3907 4 2 0 1 1411 2012 1760 2263 +3908 4 2 0 1 1958 2266 1530 2471 +3909 4 2 0 1 138 671 1735 2179 +3910 4 2 0 1 1552 2103 1900 2482 +3911 4 2 0 1 442 1829 238 2556 +3912 4 2 0 1 1563 1684 2032 2098 +3913 4 2 0 1 1544 2335 1728 2800 +3914 4 2 0 1 1766 1956 1553 2496 +3915 4 2 0 1 1267 1820 1455 2021 +3916 4 2 0 1 1820 1243 2763 2767 +3917 4 2 0 1 1547 1745 1869 2282 +3918 4 2 0 1 1803 1628 2233 2261 +3919 4 2 0 1 587 680 1207 2053 +3920 4 2 0 1 1626 2008 1858 2265 +3921 4 2 0 1 1532 1916 1782 2150 +3922 4 2 0 1 1629 2066 1816 2106 +3923 4 2 0 1 1328 1758 1400 2132 +3924 4 2 0 1 1613 2037 1852 2429 +3925 4 2 0 1 1756 1531 1964 1981 +3926 4 2 0 1 1558 1816 1778 2017 +3927 4 2 0 1 1575 1846 1981 2025 +3928 4 2 0 1 1701 1871 1739 2698 +3929 4 2 0 1 1525 2135 2184 2822 +3930 4 2 0 1 1558 1985 1778 2239 +3931 4 2 0 1 1647 2085 2134 2389 +3932 4 2 0 1 1689 2050 1561 2348 +3933 4 2 0 1 1535 2089 1867 2304 +3934 4 2 0 1 1318 1354 2042 2077 +3935 4 2 0 1 379 1861 1965 2662 +3936 4 2 0 1 1550 1768 2113 2623 +3937 4 2 0 1 1770 1836 1598 2193 +3938 4 2 0 1 1556 2078 1669 2231 +3939 4 2 0 1 1577 2312 2029 2774 +3940 4 2 0 1 1678 1926 1372 2302 +3941 4 2 0 1 1645 2083 1756 2549 +3942 4 2 0 1 1572 1865 1830 2183 +3943 4 2 0 1 671 1869 1735 2179 +3944 4 2 0 1 1662 2443 2687 2705 +3945 4 2 0 1 2079 2305 1860 2360 +3946 4 2 0 1 647 1934 1825 2192 +3947 4 2 0 1 1561 2050 1689 2220 +3948 4 2 0 1 1819 1829 1603 1927 +3949 4 2 0 1 554 2530 2345 2536 +3950 4 2 0 1 1724 1610 2115 2160 +3951 4 2 0 1 134 1815 663 1972 +3952 4 2 0 1 1639 2042 2342 2463 +3953 4 2 0 1 1802 2052 1545 2401 +3954 4 2 0 1 1610 1757 2109 2426 +3955 4 2 0 1 1886 2240 1943 2479 +3956 4 2 0 1 1690 1765 2404 2702 +3957 4 2 0 1 1140 1721 163 2035 +3958 4 2 0 1 1799 1937 538 2408 +3959 4 2 0 1 1547 2238 1836 2356 +3960 4 2 0 1 1790 1931 1003 2155 +3961 4 2 0 1 2029 2312 2004 2774 +3962 4 2 0 1 1567 1725 2400 2661 +3963 4 2 0 1 1556 1938 1669 2664 +3964 4 2 0 1 1550 1732 2519 2568 +3965 4 2 0 1 1548 1814 1741 2839 +3966 4 2 0 1 1702 2139 1891 2580 +3967 4 2 0 1 1677 1592 1897 2046 +3968 4 2 0 1 1867 1892 2118 2829 +3969 4 2 0 1 193 1952 1729 2209 +3970 4 2 0 1 990 1790 1002 1931 +3971 4 2 0 1 1780 1974 1383 2835 +3972 4 2 0 1 681 1845 1766 2180 +3973 4 2 0 1 1892 2136 1785 2304 +3974 4 2 0 1 1538 2388 1691 2470 +3975 4 2 0 1 1257 1414 2053 2104 +3976 4 2 0 1 1949 1968 1734 2047 +3977 4 2 0 1 1484 1781 863 2081 +3978 4 2 0 1 1553 1825 2663 2749 +3979 4 2 0 1 1925 2006 1795 2312 +3980 4 2 0 1 1740 1942 801 2677 +3981 4 2 0 1 1606 1864 1681 2768 +3982 4 2 0 1 1416 1455 1267 1820 +3983 4 2 0 1 1539 1876 2151 2509 +3984 4 2 0 1 1036 1994 1870 2255 +3985 4 2 0 1 1701 1739 2437 2698 +3986 4 2 0 1 1669 1651 2257 2664 +3987 4 2 0 1 1253 1824 1893 2455 +3988 4 2 0 1 1675 2052 1802 2401 +3989 4 2 0 1 1722 2571 307 2691 +3990 4 2 0 1 1614 1721 2182 2274 +3991 4 2 0 1 1700 1899 2122 2618 +3992 4 2 0 1 1571 1890 2204 2288 +3993 4 2 0 1 1705 2021 2474 2640 +3994 4 2 0 1 581 577 275 1990 +3995 4 2 0 1 2006 2058 1795 2312 +3996 4 2 0 1 2173 2225 1940 2789 +3997 4 2 0 1 1183 822 1290 1810 +3998 4 2 0 1 1668 2207 2472 2481 +3999 4 2 0 1 1752 2288 1890 2451 +4000 4 2 0 1 930 1817 933 2365 +4001 4 2 0 1 278 2327 2127 2576 +4002 4 2 0 1 1768 2134 2085 2607 +4003 4 2 0 1 867 2073 1961 2280 +4004 4 2 0 1 279 581 275 1990 +4005 4 2 0 1 1571 2265 1785 2634 +4006 4 2 0 1 1679 2011 1865 2521 +4007 4 2 0 1 1516 2137 2278 2301 +4008 4 2 0 1 1544 2619 2140 2625 +4009 4 2 0 1 1556 1669 2078 2664 +4010 4 2 0 1 2331 2523 1729 2793 +4011 4 2 0 1 1766 1825 1553 2459 +4012 4 2 0 1 1103 2255 1763 2414 +4013 4 2 0 1 1801 1585 2190 2242 +4014 4 2 0 1 1730 2053 1937 2724 +4015 4 2 0 1 495 998 149 516 +4016 4 2 0 1 1598 2032 1928 2098 +4017 4 2 0 1 968 2165 980 2589 +4018 4 2 0 1 778 1933 2596 2684 +4019 4 2 0 1 1559 1793 1729 2793 +4020 4 2 0 1 1716 1918 1902 2641 +4021 4 2 0 1 1725 2359 2207 2481 +4022 4 2 0 1 1795 2058 2006 2681 +4023 4 2 0 1 1553 1956 1783 2220 +4024 4 2 0 1 1574 1921 2050 2415 +4025 4 2 0 1 899 1889 1781 2165 +4026 4 2 0 1 703 1993 773 2403 +4027 4 2 0 1 1904 2092 170 2225 +4028 4 2 0 1 168 325 1813 2200 +4029 4 2 0 1 1613 2429 1852 2566 +4030 4 2 0 1 1799 2215 2198 2272 +4031 4 2 0 1 1490 576 1491 1995 +4032 4 2 0 1 1691 1943 1538 2470 +4033 4 2 0 1 1684 2311 2296 2482 +4034 4 2 0 1 1699 1606 1979 2559 +4035 4 2 0 1 500 1904 2225 2626 +4036 4 2 0 1 1318 1727 1192 2042 +4037 4 2 0 1 192 270 286 1904 +4038 4 2 0 1 1530 1693 2183 2598 +4039 4 2 0 1 1829 1927 1819 2424 +4040 4 2 0 1 1618 2215 1799 2272 +4041 4 2 0 1 1831 2472 2359 2481 +4042 4 2 0 1 1550 2418 1709 2519 +4043 4 2 0 1 1814 1843 1615 2738 +4044 4 2 0 1 223 1904 270 2349 +4045 4 2 0 1 1588 2067 1813 2200 +4046 4 2 0 1 1647 1812 1744 2480 +4047 4 2 0 1 1729 1961 949 2073 +4048 4 2 0 1 1802 1611 2031 2364 +4049 4 2 0 1 1721 2140 1688 2274 +4050 4 2 0 1 337 2448 1979 2601 +4051 4 2 0 1 1684 2038 2032 2311 +4052 4 2 0 1 1570 1987 1691 2015 +4053 4 2 0 1 1604 1921 1825 2459 +4054 4 2 0 1 1709 2029 2004 2774 +4055 4 2 0 1 1754 941 2251 2259 +4056 4 2 0 1 481 2330 1897 2560 +4057 4 2 0 1 1789 1978 210 2556 +4058 4 2 0 1 1692 2000 1839 2392 +4059 4 2 0 1 1425 2148 1992 2770 +4060 4 2 0 1 1885 1986 1638 2234 +4061 4 2 0 1 1361 1411 1191 2711 +4062 4 2 0 1 1599 1889 1724 2152 +4063 4 2 0 1 1770 2003 1836 2595 +4064 4 2 0 1 1759 1865 2183 2471 +4065 4 2 0 1 1533 1852 2231 2583 +4066 4 2 0 1 1645 1876 2151 2181 +4067 4 2 0 1 1694 2189 1847 2292 +4068 4 2 0 1 1559 1729 1999 2545 +4069 4 2 0 1 1573 1700 1845 2139 +4070 4 2 0 1 1567 1891 1813 2433 +4071 4 2 0 1 1153 1870 1994 2603 +4072 4 2 0 1 1852 1980 1533 2373 +4073 4 2 0 1 1335 1341 1992 2077 +4074 4 2 0 1 1701 1563 1838 2071 +4075 4 2 0 1 1917 2547 2118 2611 +4076 4 2 0 1 1551 1792 1917 2762 +4077 4 2 0 1 1540 2067 1736 2417 +4078 4 2 0 1 1606 1681 2228 2768 +4079 4 2 0 1 1811 2089 1867 2149 +4080 4 2 0 1 1872 2076 1624 2137 +4081 4 2 0 1 1692 1839 2000 2487 +4082 4 2 0 1 1691 2072 1987 2747 +4083 4 2 0 1 1819 1829 1681 2613 +4084 4 2 0 1 1790 2155 1003 2542 +4085 4 2 0 1 1954 2579 1706 2655 +4086 4 2 0 1 807 2068 1765 2501 +4087 4 2 0 1 801 1942 1740 2028 +4088 4 2 0 1 1734 1878 1598 2252 +4089 4 2 0 1 1720 2166 1552 2575 +4090 4 2 0 1 2207 2359 218 2472 +4091 4 2 0 1 1786 1662 2443 2687 +4092 4 2 0 1 709 1765 2068 2144 +4093 4 2 0 1 1647 2224 1812 2480 +4094 4 2 0 1 1576 1710 1959 2043 +4095 4 2 0 1 1572 1923 1693 2183 +4096 4 2 0 1 1689 2452 2630 2652 +4097 4 2 0 1 1622 2041 2375 2666 +4098 4 2 0 1 1560 1987 1824 2550 +4099 4 2 0 1 1579 1886 1943 2479 +4100 4 2 0 1 710 2436 1822 2508 +4101 4 2 0 1 1546 1875 1737 2483 +4102 4 2 0 1 866 933 930 2233 +4103 4 2 0 1 1850 2080 1634 2528 +4104 4 2 0 1 1544 2182 1721 2619 +4105 4 2 0 1 759 1936 1740 2099 +4106 4 2 0 1 1758 1430 2469 2812 +4107 4 2 0 1 1639 2342 1730 2463 +4108 4 2 0 1 1891 1702 2546 2706 +4109 4 2 0 1 1462 2133 1672 2302 +4110 4 2 0 1 612 1841 2236 2344 +4111 4 2 0 1 1563 2038 1684 2482 +4112 4 2 0 1 1677 1841 1592 2761 +4113 4 2 0 1 307 1722 2353 2571 +4114 4 2 0 1 1875 2127 1737 2468 +4115 4 2 0 1 782 841 727 2161 +4116 4 2 0 1 706 806 1769 2099 +4117 4 2 0 1 1660 1715 1981 2491 +4118 4 2 0 1 798 801 1942 2677 +4119 4 2 0 1 1106 1715 1056 1960 +4120 4 2 0 1 1546 2023 2127 2444 +4121 4 2 0 1 1101 2488 1715 2491 +4122 4 2 0 1 1530 1998 2266 2354 +4123 4 2 0 1 1855 2028 1581 2074 +4124 4 2 0 1 998 982 149 1946 +4125 4 2 0 1 1676 2005 1850 2699 +4126 4 2 0 1 1618 1799 1730 2367 +4127 4 2 0 1 1565 1780 1885 1986 +4128 4 2 0 1 1682 2296 2311 2482 +4129 4 2 0 1 1534 2172 2189 2292 +4130 4 2 0 1 1574 1921 1783 2050 +4131 4 2 0 1 1551 1765 2532 2702 +4132 4 2 0 1 1877 2149 1977 2153 +4133 4 2 0 1 1572 1830 1923 2183 +4134 4 2 0 1 1751 1907 1566 2096 +4135 4 2 0 1 1685 2684 1933 2690 +4136 4 2 0 1 223 1979 344 2092 +4137 4 2 0 1 1634 2005 1850 2323 +4138 4 2 0 1 1776 1936 700 2041 +4139 4 2 0 1 1710 1587 2138 2191 +4140 4 2 0 1 442 2424 1829 2556 +4141 4 2 0 1 1610 2109 2331 2426 +4142 4 2 0 1 1706 1574 1821 2036 +4143 4 2 0 1 1865 2011 1679 2454 +4144 4 2 0 1 1578 2682 1950 2727 +4145 4 2 0 1 1221 2018 1731 2788 +4146 4 2 0 1 1808 1420 2033 2667 +4147 4 2 0 1 1551 1713 2074 2532 +4148 4 2 0 1 1579 1971 2420 2781 +4149 4 2 0 1 1635 2402 1784 2623 +4150 4 2 0 1 1762 2077 1992 2340 +4151 4 2 0 1 1965 1967 1670 2286 +4152 4 2 0 1 1193 2008 1749 2322 +4153 4 2 0 1 2058 2312 2006 2681 +4154 4 2 0 1 1685 2596 1933 2684 +4155 4 2 0 1 1693 1923 1830 2183 +4156 4 2 0 1 210 342 357 2556 +4157 4 2 0 1 491 1997 2298 2353 +4158 4 2 0 1 1979 2448 1699 2601 +4159 4 2 0 1 1599 2048 1714 2152 +4160 4 2 0 1 1700 2122 1868 2618 +4161 4 2 0 1 1591 2085 1843 2389 +4162 4 2 0 1 1575 1846 1975 1981 +4163 4 2 0 1 1724 2115 1793 2160 +4164 4 2 0 1 1768 1966 1635 2465 +4165 4 2 0 1 1568 1963 2142 2440 +4166 4 2 0 1 1688 2140 1721 2619 +4167 4 2 0 1 1573 1899 1700 2139 +4168 4 2 0 1 1503 2051 1810 2722 +4169 4 2 0 1 1804 2143 1777 2295 +4170 4 2 0 1 1496 576 667 2131 +4171 4 2 0 1 1690 1993 2445 2498 +4172 4 2 0 1 1876 1887 1645 2600 +4173 4 2 0 1 1791 2334 2231 2504 +4174 4 2 0 1 1615 1790 1751 2695 +4175 4 2 0 1 1860 2360 1794 2425 +4176 4 2 0 1 1528 1911 1714 2510 +4177 4 2 0 1 1819 1927 1060 2424 +4178 4 2 0 1 325 1813 2200 2328 +4179 4 2 0 1 1610 1862 2363 2426 +4180 4 2 0 1 1977 2149 1665 2153 +4181 4 2 0 1 193 521 526 1961 +4182 4 2 0 1 1586 1970 1900 2290 +4183 4 2 0 1 1814 2221 1843 2738 +4184 4 2 0 1 1717 2340 1818 2820 +4185 4 2 0 1 1093 2043 2346 2458 +4186 4 2 0 1 1645 1756 2083 2646 +4187 4 2 0 1 1342 1780 1353 2322 +4188 4 2 0 1 1328 1347 1954 2194 +4189 4 2 0 1 1572 2183 1854 2515 +4190 4 2 0 1 1583 2202 1904 2622 +4191 4 2 0 1 876 2057 1907 2279 +4192 4 2 0 1 457 472 240 2127 +4193 4 2 0 1 1645 2083 1853 2646 +4194 4 2 0 1 1681 1864 1606 2642 +4195 4 2 0 1 728 1771 155 2055 +4196 4 2 0 1 1604 1934 1825 2281 +4197 4 2 0 1 1635 1784 2402 2460 +4198 4 2 0 1 226 2127 1687 2576 +4199 4 2 0 1 1447 1937 1460 1984 +4200 4 2 0 1 1577 2029 2166 2774 +4201 4 2 0 1 957 2070 1797 2137 +4202 4 2 0 1 1578 1985 2682 2727 +4203 4 2 0 1 1561 2220 1689 2654 +4204 4 2 0 1 258 1767 452 2574 +4205 4 2 0 1 1635 1966 1768 2113 +4206 4 2 0 1 1709 1945 1784 2300 +4207 4 2 0 1 1581 1953 1747 2074 +4208 4 2 0 1 1739 1701 2116 2808 +4209 4 2 0 1 1744 1812 1647 2465 +4210 4 2 0 1 1830 1865 1597 2471 +4211 4 2 0 1 1348 1872 1357 2076 +4212 4 2 0 1 1746 1091 1864 2406 +4213 4 2 0 1 1553 2069 1766 2496 +4214 4 2 0 1 1632 1763 1876 2114 +4215 4 2 0 1 1411 2263 1191 2711 +4216 4 2 0 1 1697 1552 1989 2779 +4217 4 2 0 1 342 2268 357 2556 +4218 4 2 0 1 1432 2008 1906 2205 +4219 4 2 0 1 1484 1781 1204 2184 +4220 4 2 0 1 1530 2213 1693 2598 +4221 4 2 0 1 1530 2266 2118 2354 +4222 4 2 0 1 1695 1903 1835 2002 +4223 4 2 0 1 278 2127 226 2576 +4224 4 2 0 1 1929 2035 992 2259 +4225 4 2 0 1 1153 1994 1661 2603 +4226 4 2 0 1 204 324 373 2190 +4227 4 2 0 1 1630 2459 2192 2759 +4228 4 2 0 1 1573 1700 1868 2672 +4229 4 2 0 1 1646 1901 1745 2434 +4230 4 2 0 1 1847 1947 1603 2189 +4231 4 2 0 1 866 937 1889 2081 +4232 4 2 0 1 782 727 2120 2161 +4233 4 2 0 1 1784 2402 1941 2623 +4234 4 2 0 1 1445 2247 1772 2326 +4235 4 2 0 1 1579 1943 2285 2411 +4236 4 2 0 1 614 1948 2400 2530 +4237 4 2 0 1 1318 2013 1727 2042 +4238 4 2 0 1 1530 2183 1693 2213 +4239 4 2 0 1 1005 1748 975 2382 +4240 4 2 0 1 1563 1915 1989 2147 +4241 4 2 0 1 1663 1968 2047 2167 +4242 4 2 0 1 1891 2139 1702 2706 +4243 4 2 0 1 1602 2038 1861 2090 +4244 4 2 0 1 1793 2115 1610 2160 +4245 4 2 0 1 807 1765 709 2501 +4246 4 2 0 1 1896 1732 2298 2519 +4247 4 2 0 1 1545 1856 2031 2271 +4248 4 2 0 1 2099 2171 806 2631 +4249 4 2 0 1 1710 1587 2594 2710 +4250 4 2 0 1 1641 1998 1892 2136 +4251 4 2 0 1 1344 1758 1430 2469 +4252 4 2 0 1 1598 1838 1770 2193 +4253 4 2 0 1 1681 1606 1913 2642 +4254 4 2 0 1 258 2159 1767 2333 +4255 4 2 0 1 558 1937 1447 1984 +4256 4 2 0 1 1710 2043 1576 2095 +4257 4 2 0 1 1730 2198 1799 2215 +4258 4 2 0 1 1952 1961 1729 2545 +4259 4 2 0 1 1340 2579 1954 2655 +4260 4 2 0 1 1802 1970 1611 2364 +4261 4 2 0 1 1685 1571 1991 2634 +4262 4 2 0 1 1860 2079 1794 2305 +4263 4 2 0 1 1606 1978 1699 2228 +4264 4 2 0 1 1088 1975 1763 2119 +4265 4 2 0 1 852 155 728 1771 +4266 4 2 0 1 168 2200 1813 2399 +4267 4 2 0 1 1337 2033 2016 2370 +4268 4 2 0 1 875 871 2280 2803 +4269 4 2 0 1 1818 2340 1717 2599 +4270 4 2 0 1 982 1946 998 2477 +4271 4 2 0 1 677 1934 632 2281 +4272 4 2 0 1 1585 2211 2190 2653 +4273 4 2 0 1 1559 2331 1793 2793 +4274 4 2 0 1 1730 2053 1437 2104 +4275 4 2 0 1 1896 2004 1732 2519 +4276 4 2 0 1 1567 1813 2196 2433 +4277 4 2 0 1 1550 2004 2418 2519 +4278 4 2 0 1 1884 2124 261 2456 +4279 4 2 0 1 1673 2004 1806 2362 +4280 4 2 0 1 1572 1693 1923 2174 +4281 4 2 0 1 491 2353 307 2691 +4282 4 2 0 1 1588 1655 1982 2328 +4283 4 2 0 1 1721 1688 2182 2274 +4284 4 2 0 1 1106 1101 1056 1715 +4285 4 2 0 1 778 1933 2684 2690 +4286 4 2 0 1 1599 2152 1714 2261 +4287 4 2 0 1 1542 1726 2235 2305 +4288 4 2 0 1 1209 2001 1678 2302 +4289 4 2 0 1 1655 2430 1982 2727 +4290 4 2 0 1 1864 2138 1587 2584 +4291 4 2 0 1 2345 2687 2443 2705 +4292 4 2 0 1 1785 2136 2204 2304 +4293 4 2 0 1 1761 1931 1546 2155 +4294 4 2 0 1 1922 2016 1442 2493 +4295 4 2 0 1 1550 1941 2085 2293 +4296 4 2 0 1 783 717 1757 2186 +4297 4 2 0 1 1692 1839 2487 2665 +4298 4 2 0 1 1820 2755 1886 2760 +4299 4 2 0 1 1619 1800 1862 2490 +4300 4 2 0 1 1737 1591 1895 2832 +4301 4 2 0 1 1715 2060 1101 2491 +4302 4 2 0 1 787 2529 2135 2722 +4303 4 2 0 1 1728 2627 1544 2800 +4304 4 2 0 1 1587 1711 2075 2191 +4305 4 2 0 1 802 2028 1855 2585 +4306 4 2 0 1 1728 1601 1945 2240 +4307 4 2 0 1 709 2068 757 2144 +4308 4 2 0 1 1671 1874 2112 2116 +4309 4 2 0 1 1759 2183 1572 2515 +4310 4 2 0 1 1253 1893 2201 2455 +4311 4 2 0 1 1585 2030 2190 2211 +4312 4 2 0 1 1759 1854 2183 2515 +4313 4 2 0 1 926 2248 2125 2553 +4314 4 2 0 1 1840 2617 1887 2629 +4315 4 2 0 1 1946 2523 2331 2793 +4316 4 2 0 1 1826 2055 1771 2186 +4317 4 2 0 1 1641 2136 1892 2304 +4318 4 2 0 1 1862 2490 1800 2793 +4319 4 2 0 1 1199 1421 1976 2091 +4320 4 2 0 1 921 989 1751 2279 +4321 4 2 0 1 194 512 2173 2818 +4322 4 2 0 1 1328 1344 1400 1758 +4323 4 2 0 1 1639 2104 2042 2579 +4324 4 2 0 1 1882 2315 1964 2735 +4325 4 2 0 1 1862 1877 1619 2149 +4326 4 2 0 1 1871 2437 1739 2698 +4327 4 2 0 1 1558 1985 2239 2837 +4328 4 2 0 1 1371 1411 1373 2263 +4329 4 2 0 1 1530 2183 1854 2598 +4330 4 2 0 1 1089 1864 1091 2406 +4331 4 2 0 1 442 1927 1829 2424 +4332 4 2 0 1 1961 2107 914 2280 +4333 4 2 0 1 1577 1720 1848 2166 +4334 4 2 0 1 1730 1280 2053 2724 +4335 4 2 0 1 1587 1746 2108 2828 +4336 4 2 0 1 1663 2167 2047 2573 +4337 4 2 0 1 1615 2444 1894 2492 +4338 4 2 0 1 1744 2121 1812 2465 +4339 4 2 0 1 1257 2053 1828 2104 +4340 4 2 0 1 1563 1701 2038 2071 +4341 4 2 0 1 1774 2011 1804 2599 +4342 4 2 0 1 1669 1938 1651 2664 +4343 4 2 0 1 1595 2112 1874 2116 +4344 4 2 0 1 323 1979 337 2448 +4345 4 2 0 1 1867 2089 1535 2149 +4346 4 2 0 1 1255 2021 1705 2640 +4347 4 2 0 1 1669 2257 1844 2664 +4348 4 2 0 1 1660 1981 1715 2368 +4349 4 2 0 1 428 1897 2472 2560 +4350 4 2 0 1 1728 1945 1601 2227 +4351 4 2 0 1 1766 2192 1825 2459 +4352 4 2 0 1 1553 1825 1766 2663 +4353 4 2 0 1 452 1767 258 2159 +4354 4 2 0 1 1793 2331 1729 2793 +4355 4 2 0 1 1867 2149 1665 2611 +4356 4 2 0 1 385 2159 258 2333 +4357 4 2 0 1 1886 1728 2244 2540 +4358 4 2 0 1 1840 1887 1609 1909 +4359 4 2 0 1 1801 2005 1634 2190 +4360 4 2 0 1 1886 2240 1728 2540 +4361 4 2 0 1 1547 1745 1901 2434 +4362 4 2 0 1 1687 1600 1894 2023 +4363 4 2 0 1 1558 2239 2027 2837 +4364 4 2 0 1 1563 2038 1861 2071 +4365 4 2 0 1 1534 1827 1910 2172 +4366 4 2 0 1 1532 1950 1916 2150 +4367 4 2 0 1 1782 1916 1650 2150 +4368 4 2 0 1 1862 1877 1643 2793 +4369 4 2 0 1 587 1937 620 2053 +4370 4 2 0 1 1806 2004 1732 2680 +4371 4 2 0 1 1567 1891 2139 2580 +4372 4 2 0 1 2087 2375 785 2666 +4373 4 2 0 1 1328 1758 2132 2194 +4374 4 2 0 1 1688 2346 2043 2458 +4375 4 2 0 1 1475 1367 1471 2057 +4376 4 2 0 1 1714 2152 2048 2616 +4377 4 2 0 1 1778 1816 1558 2027 +4378 4 2 0 1 1722 2353 1997 2691 +4379 4 2 0 1 1529 2244 2240 2540 +4380 4 2 0 1 1660 1901 2544 2600 +4381 4 2 0 1 2298 2519 1732 2568 +4382 4 2 0 1 1784 1945 1709 2418 +4383 4 2 0 1 1807 1625 1988 2015 +4384 4 2 0 1 1842 1975 1120 2733 +4385 4 2 0 1 1654 2241 2057 2383 +4386 4 2 0 1 1727 2340 2077 2573 +4387 4 2 0 1 1742 2167 1609 2356 +4388 4 2 0 1 1610 2331 1862 2426 +4389 4 2 0 1 2118 2547 1867 2611 +4390 4 2 0 1 1335 1412 2077 2091 +4391 4 2 0 1 1566 1803 1731 2558 +4392 4 2 0 1 1730 1607 2198 2724 +4393 4 2 0 1 1794 2087 1622 2375 +4394 4 2 0 1 1793 1729 2331 2523 +4395 4 2 0 1 1530 2118 1880 2354 +4396 4 2 0 1 1665 1917 1792 1996 +4397 4 2 0 1 213 2020 2297 2438 +4398 4 2 0 1 1565 1785 2136 2265 +4399 4 2 0 1 1769 2099 806 2631 +4400 4 2 0 1 1618 2104 1730 2215 +4401 4 2 0 1 1870 2223 1661 2232 +4402 4 2 0 1 1724 1889 1599 2365 +4403 4 2 0 1 1529 2015 1691 2300 +4404 4 2 0 1 1623 1887 2617 2629 +4405 4 2 0 1 1720 1552 1989 2575 +4406 4 2 0 1 1643 1877 1862 2426 +4407 4 2 0 1 1704 1540 1874 2230 +4408 4 2 0 1 255 1967 499 2297 +4409 4 2 0 1 1122 2138 1864 2584 +4410 4 2 0 1 2139 2546 1702 2706 +4411 4 2 0 1 433 2445 1993 2498 +4412 4 2 0 1 1768 2113 1966 2517 +4413 4 2 0 1 1811 2204 1641 2304 +4414 4 2 0 1 957 164 1797 2070 +4415 4 2 0 1 1611 2168 1970 2796 +4416 4 2 0 1 2439 2487 1851 2731 +4417 4 2 0 1 1784 1709 2309 2418 +4418 4 2 0 1 1540 1899 1702 2067 +4419 4 2 0 1 1796 1958 2372 2506 +4420 4 2 0 1 1531 1756 1882 2063 +4421 4 2 0 1 2240 2244 1728 2540 +4422 4 2 0 1 1568 2142 1878 2440 +4423 4 2 0 1 293 2262 1686 2448 +4424 4 2 0 1 1490 1198 576 1995 +4425 4 2 0 1 2041 785 2375 2666 +4426 4 2 0 1 1924 2131 1794 2484 +4427 4 2 0 1 154 1771 828 2115 +4428 4 2 0 1 1594 1918 1716 2097 +4429 4 2 0 1 1701 2524 2116 2808 +4430 4 2 0 1 1635 1941 2402 2623 +4431 4 2 0 1 1793 1610 2115 2331 +4432 4 2 0 1 1773 1882 1584 2063 +4433 4 2 0 1 1739 2311 1701 2437 +4434 4 2 0 1 1185 1758 1328 1954 +4435 4 2 0 1 763 848 1855 2436 +4436 4 2 0 1 523 2157 1720 2624 +4437 4 2 0 1 1851 2439 2431 2487 +4438 4 2 0 1 210 1978 1789 2601 +4439 4 2 0 1 1844 1987 1560 1988 +4440 4 2 0 1 1583 2054 1846 2789 +4441 4 2 0 1 706 781 1769 2379 +4442 4 2 0 1 324 2190 2084 2323 +4443 4 2 0 1 1657 1850 2002 2270 +4444 4 2 0 1 1684 1989 1882 2098 +4445 4 2 0 1 1662 2687 2120 2705 +4446 4 2 0 1 1568 2142 1963 2167 +4447 4 2 0 1 2143 2295 1804 2602 +4448 4 2 0 1 2087 2131 1924 2484 +4449 4 2 0 1 1813 1891 1655 2433 +4450 4 2 0 1 1793 1999 1729 2073 +4451 4 2 0 1 1199 1976 1742 2091 +4452 4 2 0 1 613 554 2345 2536 +4453 4 2 0 1 1707 2146 1256 2278 +4454 4 2 0 1 1737 2023 1591 2832 +4455 4 2 0 1 1547 1878 1734 1968 +4456 4 2 0 1 1758 2069 1553 2206 +4457 4 2 0 1 1677 2330 621 2761 +4458 4 2 0 1 573 629 1995 2497 +4459 4 2 0 1 1977 1993 433 2445 +4460 4 2 0 1 1677 1592 2046 2761 +4461 4 2 0 1 1283 1976 1523 2264 +4462 4 2 0 1 1021 1688 1041 2346 +4463 4 2 0 1 1609 1762 2142 2167 +4464 4 2 0 1 1192 1341 2077 2337 +4465 4 2 0 1 768 2034 1826 2529 +4466 4 2 0 1 1615 1751 1898 2636 +4467 4 2 0 1 1547 1734 1878 2790 +4468 4 2 0 1 1653 1949 2009 2169 +4469 4 2 0 1 1207 1937 587 2053 +4470 4 2 0 1 413 2066 377 2068 +4471 4 2 0 1 1739 1871 1701 2808 +4472 4 2 0 1 329 1736 419 2399 +4473 4 2 0 1 1924 2087 1794 2131 +4474 4 2 0 1 1540 2059 1838 2230 +4475 4 2 0 1 1565 1892 1998 2136 +4476 4 2 0 1 2082 2181 2022 2629 +4477 4 2 0 1 419 1736 2200 2399 +4478 4 2 0 1 1342 1353 1780 2512 +4479 4 2 0 1 1673 1806 2004 2312 +4480 4 2 0 1 1571 2136 1785 2265 +4481 4 2 0 1 1557 2357 1819 2613 +4482 4 2 0 1 1341 1425 1762 1992 +4483 4 2 0 1 1710 1883 1576 1959 +4484 4 2 0 1 1873 2251 941 2259 +4485 4 2 0 1 1577 2004 2029 2312 +4486 4 2 0 1 346 1978 326 2556 +4487 4 2 0 1 1861 2391 2071 2438 +4488 4 2 0 1 1757 2307 776 2403 +4489 4 2 0 1 1342 1780 1337 2016 +4490 4 2 0 1 1792 1649 1996 2762 +4491 4 2 0 1 1753 1533 1980 2373 +4492 4 2 0 1 1767 1879 1602 2164 +4493 4 2 0 1 1822 2508 1718 2773 +4494 4 2 0 1 192 1904 1118 2349 +4495 4 2 0 1 787 2055 2135 2529 +4496 4 2 0 1 1567 2400 1809 2661 +4497 4 2 0 1 1693 2174 1572 2183 +4498 4 2 0 1 1496 1995 576 2131 +4499 4 2 0 1 1318 2042 1192 2077 +4500 4 2 0 1 1356 2007 1772 2247 +4501 4 2 0 1 1641 1867 2118 2547 +4502 4 2 0 1 538 1799 620 1937 +4503 4 2 0 1 935 968 980 2589 +4504 4 2 0 1 1569 2237 1983 2590 +4505 4 2 0 1 163 2035 1721 2734 +4506 4 2 0 1 1503 1810 2051 2615 +4507 4 2 0 1 1762 2142 1963 2243 +4508 4 2 0 1 1511 973 1872 2241 +4509 4 2 0 1 792 728 155 2055 +4510 4 2 0 1 1687 2127 2023 2444 +4511 4 2 0 1 1598 2032 1838 2678 +4512 4 2 0 1 634 2169 1841 2766 +4513 4 2 0 1 223 2092 1904 2349 +4514 4 2 0 1 1623 2617 1840 2629 +4515 4 2 0 1 1572 2174 2012 2515 +4516 4 2 0 1 2092 2225 1583 2516 +4517 4 2 0 1 2077 2340 1568 2573 +4518 4 2 0 1 1792 1996 1917 2762 +4519 4 2 0 1 1183 1933 1810 2557 +4520 4 2 0 1 1627 1924 1794 2484 +4521 4 2 0 1 2135 2184 1696 2670 +4522 4 2 0 1 1575 1846 2025 2570 +4523 4 2 0 1 184 1897 481 2330 +4524 4 2 0 1 599 1948 541 2530 +4525 4 2 0 1 193 267 1952 2209 +4526 4 2 0 1 781 2041 1936 2379 +4527 4 2 0 1 1743 1854 1998 2729 +4528 4 2 0 1 1824 2199 1893 2455 +4529 4 2 0 1 1528 2465 1919 2650 +4530 4 2 0 1 1644 2071 2391 2438 +4531 4 2 0 1 1328 1400 1231 2132 +4532 4 2 0 1 1342 1177 1780 2016 +4533 4 2 0 1 1789 2268 357 2269 +4534 4 2 0 1 1556 2370 2016 2429 +4535 4 2 0 1 1820 2609 2289 2767 +4536 4 2 0 1 1713 2288 2267 2585 +4537 4 2 0 1 313 317 2123 2795 +4538 4 2 0 1 1660 1842 1745 2733 +4539 4 2 0 1 1925 1795 2058 2312 +4540 4 2 0 1 928 975 1748 2162 +4541 4 2 0 1 1634 2190 2052 2242 +4542 4 2 0 1 1570 1820 1798 2007 +4543 4 2 0 1 1543 2075 2025 2336 +4544 4 2 0 1 1591 2023 1737 2134 +4545 4 2 0 1 1609 1909 2243 2721 +4546 4 2 0 1 317 2156 2123 2795 +4547 4 2 0 1 1569 1980 2113 2517 +4548 4 2 0 1 1681 1913 1606 1978 +4549 4 2 0 1 1583 2025 2202 2622 +4550 4 2 0 1 261 2124 1884 2533 +4551 4 2 0 1 313 2123 1732 2795 +4552 4 2 0 1 1531 2098 1770 2249 +4553 4 2 0 1 1445 1356 1772 2247 +4554 4 2 0 1 1559 2490 1862 2793 +4555 4 2 0 1 1609 2243 1762 2721 +4556 4 2 0 1 134 1960 1815 2410 +4557 4 2 0 1 1687 2327 1006 2576 +4558 4 2 0 1 1949 2009 1799 2587 +4559 4 2 0 1 387 1983 1902 2669 +4560 4 2 0 1 1638 2234 1986 2476 +4561 4 2 0 1 797 1713 758 2288 +4562 4 2 0 1 1535 2487 1839 2665 +4563 4 2 0 1 1528 1714 2048 2111 +4564 4 2 0 1 1786 2443 2345 2687 +4565 4 2 0 1 1658 2202 1904 2564 +4566 4 2 0 1 1432 2205 1906 2513 +4567 4 2 0 1 1590 2002 1850 2270 +4568 4 2 0 1 1788 2024 1627 2305 +4569 4 2 0 1 1626 2205 2008 2265 +4570 4 2 0 1 1539 1870 2114 2710 +4571 4 2 0 1 1547 1968 1734 2790 +4572 4 2 0 1 1243 1820 2289 2767 +4573 4 2 0 1 1959 2108 1640 2719 +4574 4 2 0 1 773 1993 1849 2403 +4575 4 2 0 1 1624 2137 2076 2301 +4576 4 2 0 1 324 398 373 2323 +4577 4 2 0 1 2431 2439 1851 2731 +4578 4 2 0 1 323 337 199 2448 +4579 4 2 0 1 703 2316 1993 2403 +4580 4 2 0 1 1529 2240 1945 2300 +4581 4 2 0 1 1703 1851 2487 2731 +4582 4 2 0 1 1794 2235 1726 2305 +4583 4 2 0 1 1775 1606 2040 2170 +4584 4 2 0 1 1388 1731 1221 2018 +4585 4 2 0 1 1642 2012 2174 2515 +4586 4 2 0 1 1583 2092 2516 2622 +4587 4 2 0 1 1909 2551 1840 2629 +4588 4 2 0 1 1658 1863 1775 2535 +4589 4 2 0 1 871 994 1761 2803 +4590 4 2 0 1 326 1978 1913 2405 +4591 4 2 0 1 914 867 1961 2280 +4592 4 2 0 1 1437 2053 1414 2104 +4593 4 2 0 1 1189 2620 2146 2640 +4594 4 2 0 1 1602 1879 1767 2333 +4595 4 2 0 1 1834 2396 1727 2654 +4596 4 2 0 1 1694 2366 1947 2683 +4597 4 2 0 1 706 1769 806 2631 +4598 4 2 0 1 1672 2001 1296 2302 +4599 4 2 0 1 2236 2344 1841 2745 +4600 4 2 0 1 1337 1342 1383 2835 +4601 4 2 0 1 1548 1805 1755 2254 +4602 4 2 0 1 1625 2015 1807 2019 +4603 4 2 0 1 1003 1931 990 2155 +4604 4 2 0 1 1437 1280 1730 2724 +4605 4 2 0 1 523 2222 2157 2624 +4606 4 2 0 1 1850 2080 1676 2699 +4607 4 2 0 1 1673 2218 1910 2335 +4608 4 2 0 1 378 1947 1847 2683 +4609 4 2 0 1 531 681 1845 2192 +4610 4 2 0 1 1959 2108 1746 2828 +4611 4 2 0 1 1675 1802 2271 2401 +4612 4 2 0 1 1808 2018 1420 2667 +4613 4 2 0 1 1550 2309 1709 2418 +4614 4 2 0 1 1540 1704 2059 2230 +4615 4 2 0 1 1812 2121 1744 2510 +4616 4 2 0 1 1694 1947 1847 2189 +4617 4 2 0 1 367 414 389 2641 +4618 4 2 0 1 1783 2526 1574 2538 +4619 4 2 0 1 1496 1491 1995 2131 +4620 4 2 0 1 871 1761 994 1931 +4621 4 2 0 1 1892 1998 1641 2118 +4622 4 2 0 1 1460 1984 1937 2724 +4623 4 2 0 1 1736 2438 2071 2756 +4624 4 2 0 1 2191 2594 1587 2710 +4625 4 2 0 1 840 1771 2055 2186 +4626 4 2 0 1 1689 1561 2112 2348 +4627 4 2 0 1 1552 2166 1720 2779 +4628 4 2 0 1 1721 2035 1140 2416 +4629 4 2 0 1 1584 2063 1756 2549 +4630 4 2 0 1 1870 2114 1632 2223 +4631 4 2 0 1 1780 1986 1565 2783 +4632 4 2 0 1 1221 1731 2531 2788 +4633 4 2 0 1 1318 1336 1727 2013 +4634 4 2 0 1 1574 1821 1921 2415 +4635 4 2 0 1 2032 2296 1684 2311 +4636 4 2 0 1 1670 2003 2478 2604 +4637 4 2 0 1 1978 2559 1699 2601 +4638 4 2 0 1 1142 158 1158 2049 +4639 4 2 0 1 2051 2055 1580 2529 +4640 4 2 0 1 2085 2134 1591 2607 +4641 4 2 0 1 998 149 516 1946 +4642 4 2 0 1 1490 1491 1198 1995 +4643 4 2 0 1 995 2137 893 2278 +4644 4 2 0 1 457 227 430 2468 +4645 4 2 0 1 357 352 321 1789 +4646 4 2 0 1 1352 1798 1935 2094 +4647 4 2 0 1 1525 2184 1284 2822 +4648 4 2 0 1 1764 2033 1808 2177 +4649 4 2 0 1 1283 1182 1523 1976 +4650 4 2 0 1 1709 2004 2312 2774 +4651 4 2 0 1 1937 2053 1280 2724 +4652 4 2 0 1 481 1897 428 2560 +4653 4 2 0 1 1563 1697 1915 2662 +4654 4 2 0 1 2084 2190 1634 2323 +4655 4 2 0 1 385 2159 2333 2407 +4656 4 2 0 1 1541 2310 1938 2476 +4657 4 2 0 1 1122 1864 1089 2584 +4658 4 2 0 1 1557 1819 2357 2764 +4659 4 2 0 1 1609 1887 2142 2243 +4660 4 2 0 1 1765 2144 709 2267 +4661 4 2 0 1 490 1918 387 1983 +4662 4 2 0 1 1759 1998 1854 2234 +4663 4 2 0 1 1140 1173 1721 2274 +4664 4 2 0 1 1638 1885 1780 1986 +4665 4 2 0 1 480 2456 582 2658 +4666 4 2 0 1 1814 1843 1647 2224 +4667 4 2 0 1 1602 2185 1861 2698 +4668 4 2 0 1 1655 1950 1891 2430 +4669 4 2 0 1 326 1978 2405 2556 +4670 4 2 0 1 1355 2077 1412 2091 +4671 4 2 0 1 2032 2116 1671 2651 +4672 4 2 0 1 1530 1880 2118 2266 +4673 4 2 0 1 1373 2358 1760 2441 +4674 4 2 0 1 401 2268 1829 2464 +4675 4 2 0 1 1529 2240 2244 2656 +4676 4 2 0 1 1976 2264 1646 2303 +4677 4 2 0 1 512 2225 2173 2818 +4678 4 2 0 1 1736 2067 1813 2417 +4679 4 2 0 1 1582 2316 1690 2816 +4680 4 2 0 1 1708 1820 1616 2022 +4681 4 2 0 1 926 1817 2248 2553 +4682 4 2 0 1 1218 2455 2044 2493 +4683 4 2 0 1 1715 2003 1617 2368 +4684 4 2 0 1 1778 1905 1659 1985 +4685 4 2 0 1 663 1972 1815 2236 +4686 4 2 0 1 1730 2104 1437 2342 +4687 4 2 0 1 1185 1328 1347 1954 +4688 4 2 0 1 1571 1785 2136 2204 +4689 4 2 0 1 1589 1731 2105 2320 +4690 4 2 0 1 192 270 1904 2349 +4691 4 2 0 1 1577 1925 1795 2058 +4692 4 2 0 1 1774 1620 2201 2737 +4693 4 2 0 1 1714 2048 2111 2616 +4694 4 2 0 1 1561 2396 1834 2654 +4695 4 2 0 1 1938 2310 1638 2476 +4696 4 2 0 1 1285 2056 1281 2586 +4697 4 2 0 1 1877 2149 1862 2426 +4698 4 2 0 1 604 599 541 2530 +4699 4 2 0 1 1548 1755 1805 2208 +4700 4 2 0 1 1511 1872 973 2715 +4701 4 2 0 1 1672 1971 1755 2420 +4702 4 2 0 1 1620 1804 1774 2199 +4703 4 2 0 1 769 2186 1826 2307 +4704 4 2 0 1 1547 2250 1869 2434 +4705 4 2 0 1 1568 1878 2142 2167 +4706 4 2 0 1 1799 1937 1730 2053 +4707 4 2 0 1 1523 2264 2303 2339 +4708 4 2 0 1 1848 1925 1584 2083 +4709 4 2 0 1 1731 1803 1628 2499 +4710 4 2 0 1 1762 1568 2077 2340 +4711 4 2 0 1 1659 2682 1985 2727 +4712 4 2 0 1 324 2084 398 2323 +4713 4 2 0 1 1119 1181 1083 2785 +4714 4 2 0 1 1696 2051 2055 2361 +4715 4 2 0 1 1013 155 154 1771 +4716 4 2 0 1 1687 2155 1006 2327 +4717 4 2 0 1 1530 1854 1743 2598 +4718 4 2 0 1 1655 2196 1813 2433 +4719 4 2 0 1 1559 1851 1862 2490 +4720 4 2 0 1 1593 2073 1961 2545 +4721 4 2 0 1 1572 2284 2012 2441 +4722 4 2 0 1 1887 2243 1909 2629 +4723 4 2 0 1 1906 2008 1626 2205 +4724 4 2 0 1 1627 1794 2235 2497 +4725 4 2 0 1 1218 2044 1922 2493 +4726 4 2 0 1 1528 2486 2650 2836 +4727 4 2 0 1 1940 1964 1531 1981 +4728 4 2 0 1 239 1977 2153 2567 +4729 4 2 0 1 1784 1943 1691 2240 +4730 4 2 0 1 1540 1702 1899 2630 +4731 4 2 0 1 1760 1923 1622 2329 +4732 4 2 0 1 1009 2162 1751 2562 +4733 4 2 0 1 2048 2466 2111 2616 +4734 4 2 0 1 1529 1698 2015 2216 +4735 4 2 0 1 1369 1437 2104 2342 +4736 4 2 0 1 1165 1120 1842 1975 +4737 4 2 0 1 1355 2091 1412 2507 +4738 4 2 0 1 1660 1975 1842 2733 +4739 4 2 0 1 1820 2291 1886 2755 +4740 4 2 0 1 1583 1846 2054 2202 +4741 4 2 0 1 1660 1975 1846 1981 +4742 4 2 0 1 1697 1989 2157 2779 +4743 4 2 0 1 1774 1834 1620 2737 +4744 4 2 0 1 1596 2286 1670 2752 +4745 4 2 0 1 1573 1845 1700 2672 +4746 4 2 0 1 1328 2132 1231 2194 +4747 4 2 0 1 1611 2168 1777 2527 +4748 4 2 0 1 168 330 325 2200 +4749 4 2 0 1 1687 2127 226 2679 +4750 4 2 0 1 1660 2491 1975 2733 +4751 4 2 0 1 1728 2240 1886 2479 +4752 4 2 0 1 1837 2188 1741 2511 +4753 4 2 0 1 836 465 837 2106 +4754 4 2 0 1 1545 2031 1856 2809 +4755 4 2 0 1 2100 2377 2161 2643 +4756 4 2 0 1 1719 2289 1438 2551 +4757 4 2 0 1 1754 2259 1929 2561 +4758 4 2 0 1 1541 1759 2310 2476 +4759 4 2 0 1 1594 1716 2176 2319 +4760 4 2 0 1 1342 1383 1780 2322 +4761 4 2 0 1 1834 2201 1620 2737 +4762 4 2 0 1 1173 163 1140 1721 +4763 4 2 0 1 1917 2118 1867 2611 +4764 4 2 0 1 768 1826 779 2529 +4765 4 2 0 1 1737 1895 2023 2832 +4766 4 2 0 1 1574 1782 2024 2308 +4767 4 2 0 1 1809 2400 644 2610 +4768 4 2 0 1 1630 1934 2459 2753 +4769 4 2 0 1 1732 2219 1591 2293 +4770 4 2 0 1 1119 1083 2056 2785 +4771 4 2 0 1 1793 2331 2115 2523 +4772 4 2 0 1 1173 2140 1721 2274 +4773 4 2 0 1 1780 2016 1556 2370 +4774 4 2 0 1 1582 1993 1957 2403 +4775 4 2 0 1 621 2344 1677 2761 +4776 4 2 0 1 218 2207 431 2359 +4777 4 2 0 1 1686 1823 1964 2797 +4778 4 2 0 1 1615 2224 1814 2738 +4779 4 2 0 1 193 1961 526 2477 +4780 4 2 0 1 1738 2650 2486 2836 +4781 4 2 0 1 1565 1892 1785 2665 +4782 4 2 0 1 1165 1975 1842 2414 +4783 4 2 0 1 706 1769 746 2379 +4784 4 2 0 1 1444 1749 1193 2008 +4785 4 2 0 1 1544 2627 2226 2800 +4786 4 2 0 1 1577 2029 1720 2166 +4787 4 2 0 1 1546 1761 2127 2689 +4788 4 2 0 1 1118 2349 1904 2564 +4789 4 2 0 1 876 1907 989 2279 +4790 4 2 0 1 1812 1744 2708 2794 +4791 4 2 0 1 1699 2062 316 2448 +4792 4 2 0 1 1556 1986 1780 2037 +4793 4 2 0 1 1531 1836 2003 2368 +4794 4 2 0 1 1618 1730 2053 2367 +4795 4 2 0 1 1684 1928 1773 2675 +4796 4 2 0 1 1967 2286 1965 2391 +4797 4 2 0 1 812 1936 759 2099 +4798 4 2 0 1 1555 1906 2174 2787 +4799 4 2 0 1 647 1934 2192 2786 +4800 4 2 0 1 1916 2150 1950 2682 +4801 4 2 0 1 1963 2142 1762 2167 +4802 4 2 0 1 1653 1949 1799 2587 +4803 4 2 0 1 1713 2532 1765 2702 +4804 4 2 0 1 1760 2012 1572 2174 +4805 4 2 0 1 1692 2037 1892 2487 +4806 4 2 0 1 1118 192 286 1904 +4807 4 2 0 1 1956 2496 1766 2759 +4808 4 2 0 1 349 1979 223 2349 +4809 4 2 0 1 1703 2487 2439 2731 +4810 4 2 0 1 319 2353 1939 2571 +4811 4 2 0 1 213 2020 1897 2297 +4812 4 2 0 1 1732 2123 1591 2219 +4813 4 2 0 1 1198 580 576 1995 +4814 4 2 0 1 1713 1765 2267 2702 +4815 4 2 0 1 1602 1767 2164 2437 +4816 4 2 0 1 462 1736 329 2020 +4817 4 2 0 1 2022 1623 2289 2609 +4818 4 2 0 1 1088 1055 1975 2119 +4819 4 2 0 1 1527 2296 2032 2311 +4820 4 2 0 1 1599 2048 2152 2160 +4821 4 2 0 1 1598 1836 1734 2193 +4822 4 2 0 1 671 566 1735 2197 +4823 4 2 0 1 535 2197 1984 2419 +4824 4 2 0 1 998 1946 516 2477 +4825 4 2 0 1 323 1979 2559 2601 +4826 4 2 0 1 1529 2015 1698 2540 +4827 4 2 0 1 1641 1892 1867 2304 +4828 4 2 0 1 1728 2226 2627 2800 +4829 4 2 0 1 1690 1993 1977 2445 +4830 4 2 0 1 1882 2098 1989 2147 +4831 4 2 0 1 1611 1970 1802 2504 +4832 4 2 0 1 1994 2056 1083 2785 +4833 4 2 0 1 1902 1983 1569 2237 +4834 4 2 0 1 1687 1894 1600 2514 +4835 4 2 0 1 1642 2174 1906 2787 +4836 4 2 0 1 2011 2454 2306 2572 +4837 4 2 0 1 1809 2196 1567 2661 +4838 4 2 0 1 2195 2356 1887 2600 +4839 4 2 0 1 1987 1988 1844 2388 +4840 4 2 0 1 1152 1106 1960 2060 +4841 4 2 0 1 1550 2085 1941 2418 +4842 4 2 0 1 1818 2396 2340 2599 +4843 4 2 0 1 1600 2292 1754 2492 +4844 4 2 0 1 1645 2151 1876 2509 +4845 4 2 0 1 1861 2185 1736 2698 +4846 4 2 0 1 629 565 1995 2497 +4847 4 2 0 1 1768 2085 1941 2293 +4848 4 2 0 1 1654 2057 1944 2383 +4849 4 2 0 1 825 1752 2316 2451 +4850 4 2 0 1 1669 1844 2078 2664 +4851 4 2 0 1 1774 1834 1679 2011 +4852 4 2 0 1 1083 1994 1127 2056 +4853 4 2 0 1 1737 1895 1591 2489 +4854 4 2 0 1 1540 1874 1702 2630 +4855 4 2 0 1 1902 1918 1569 1983 +4856 4 2 0 1 1962 2460 1784 2623 +4857 4 2 0 1 1688 1021 2274 2346 +4858 4 2 0 1 1571 1743 2136 2347 +4859 4 2 0 1 1695 2002 1835 2449 +4860 4 2 0 1 1820 1798 2387 2760 +4861 4 2 0 1 1676 1983 2237 2590 +4862 4 2 0 1 1783 1921 1574 2526 +4863 4 2 0 1 1722 1657 2113 2517 +4864 4 2 0 1 1988 2015 1625 2806 +4865 4 2 0 1 1125 2119 1763 2255 +4866 4 2 0 1 134 569 663 1815 +4867 4 2 0 1 1557 2357 1910 2764 +4868 4 2 0 1 1808 2177 1554 2392 +4869 4 2 0 1 519 2062 1720 2355 +4870 4 2 0 1 1438 2289 1719 2767 +4871 4 2 0 1 1587 2075 1775 2191 +4872 4 2 0 1 1653 1868 2122 2314 +4873 4 2 0 1 753 2267 2288 2585 +4874 4 2 0 1 1676 1983 1902 2237 +4875 4 2 0 1 1825 1934 1604 2459 +4876 4 2 0 1 1400 1758 1344 2469 +4877 4 2 0 1 1995 2131 1627 2497 +4878 4 2 0 1 1622 2375 2087 2666 +4879 4 2 0 1 352 1789 357 2269 +4880 4 2 0 1 1092 2488 1101 2491 +4881 4 2 0 1 1580 2055 2051 2361 +4882 4 2 0 1 717 1757 2186 2307 +4883 4 2 0 1 1549 1763 2273 2544 +4884 4 2 0 1 1356 1179 1772 2007 +4885 4 2 0 1 1861 2090 2038 2662 +4886 4 2 0 1 1720 1989 1552 2779 +4887 4 2 0 1 1815 2344 2236 2745 +4888 4 2 0 1 1333 2012 1857 2284 +4889 4 2 0 1 1460 1937 1477 2724 +4890 4 2 0 1 1571 2432 1743 2659 +4891 4 2 0 1 2038 2311 1684 2482 +4892 4 2 0 1 1603 2172 1754 2189 +4893 4 2 0 1 218 381 431 2207 +4894 4 2 0 1 1565 1749 2008 2322 +4895 4 2 0 1 1541 2065 1759 2476 +4896 4 2 0 1 1595 2116 1874 2524 +4897 4 2 0 1 1703 2385 1839 2616 +4898 4 2 0 1 1634 1801 2190 2242 +4899 4 2 0 1 1622 1923 1760 1924 +4900 4 2 0 1 1553 1689 1956 2220 +4901 4 2 0 1 226 2576 1687 2679 +4902 4 2 0 1 1812 2465 2121 2510 +4903 4 2 0 1 1633 2318 2243 2739 +4904 4 2 0 1 1666 1878 1836 2356 +4905 4 2 0 1 1371 1373 1760 2263 +4906 4 2 0 1 2267 2288 1713 2532 +4907 4 2 0 1 852 1771 840 2186 +4908 4 2 0 1 1770 1670 2286 2391 +4909 4 2 0 1 1713 2028 1581 2432 +4910 4 2 0 1 1541 1683 2011 2306 +4911 4 2 0 1 1529 2300 1945 2774 +4912 4 2 0 1 401 334 1829 2268 +4913 4 2 0 1 1704 2452 1874 2630 +4914 4 2 0 1 1635 1980 1966 2113 +4915 4 2 0 1 526 521 885 1961 +4916 4 2 0 1 634 1841 2321 2766 +4917 4 2 0 1 1574 1750 2050 2538 +4918 4 2 0 1 1792 2404 1690 2445 +4919 4 2 0 1 1777 2143 1804 2257 +4920 4 2 0 1 1887 2195 1609 2356 +4921 4 2 0 1 2284 2324 1679 2453 +4922 4 2 0 1 184 2297 1897 2330 +4923 4 2 0 1 1755 2420 1971 2781 +4924 4 2 0 1 1809 1948 1567 2433 +4925 4 2 0 1 1582 1977 1877 2149 +4926 4 2 0 1 1373 1760 2012 2441 +4927 4 2 0 1 1957 1993 1582 2316 +4928 4 2 0 1 1241 1908 2263 2358 +4929 4 2 0 1 1917 1996 1649 2762 +4930 4 2 0 1 1670 1967 1965 2752 +4931 4 2 0 1 1565 1885 1780 2322 +4932 4 2 0 1 1257 1200 651 2053 +4933 4 2 0 1 1630 2459 2210 2753 +4934 4 2 0 1 1803 1817 2233 2553 +4935 4 2 0 1 1830 2024 1782 2308 +4936 4 2 0 1 863 907 906 1484 +4937 4 2 0 1 1563 2098 1838 2391 +4938 4 2 0 1 473 2225 2092 2516 +4939 4 2 0 1 1598 1734 2252 2678 +4940 4 2 0 1 1545 2052 1802 2376 +4941 4 2 0 1 1361 2012 1411 2711 +4942 4 2 0 1 1812 2708 2510 2794 +4943 4 2 0 1 1177 1922 1780 2016 +4944 4 2 0 1 1577 1925 2058 2312 +4945 4 2 0 1 1861 2071 2038 2698 +4946 4 2 0 1 644 2400 590 2610 +4947 4 2 0 1 2125 2248 1817 2553 +4948 4 2 0 1 1329 2324 2284 2453 +4949 4 2 0 1 1852 1635 1962 2583 +4950 4 2 0 1 1010 1721 2070 2734 +4951 4 2 0 1 1547 1836 1878 2356 +4952 4 2 0 1 1595 2116 1739 2798 +4953 4 2 0 1 1798 2007 1820 2763 +4954 4 2 0 1 1613 1980 1852 2373 +4955 4 2 0 1 1572 2174 1854 2183 +4956 4 2 0 1 1668 2472 1831 2481 +4957 4 2 0 1 1871 2164 1739 2437 +4958 4 2 0 1 773 720 1849 1993 +4959 4 2 0 1 1888 1625 2015 2806 +4960 4 2 0 1 1634 1802 2052 2376 +4961 4 2 0 1 1886 2291 1616 2755 +4962 4 2 0 1 797 758 800 2288 +4963 4 2 0 1 1751 1898 2224 2428 +4964 4 2 0 1 313 1732 2123 2353 +4965 4 2 0 1 1868 2314 1653 2321 +4966 4 2 0 1 1851 2431 1862 2490 +4967 4 2 0 1 1664 1754 2221 2259 +4968 4 2 0 1 1640 2108 1959 2828 +4969 4 2 0 1 1608 1998 1892 2118 +4970 4 2 0 1 1543 2075 2336 2535 +4971 4 2 0 1 190 2124 254 2456 +4972 4 2 0 1 1936 2379 2041 2736 +4973 4 2 0 1 1533 1920 1753 2080 +4974 4 2 0 1 464 1849 720 1993 +4975 4 2 0 1 1552 1697 1903 2779 +4976 4 2 0 1 1754 1664 2172 2259 +4977 4 2 0 1 1632 2178 1661 2223 +4978 4 2 0 1 1552 1903 1697 2593 +4979 4 2 0 1 1648 1776 2079 2577 +4980 4 2 0 1 1140 163 162 2035 +4981 4 2 0 1 1600 1694 1895 2366 +4982 4 2 0 1 1430 1344 1185 1758 +4983 4 2 0 1 1530 1743 2213 2598 +4984 4 2 0 1 1614 1910 1827 2172 +4985 4 2 0 1 896 1929 2259 2561 +4986 4 2 0 1 1226 1296 1334 2001 +4987 4 2 0 1 1009 1751 983 2279 +4988 4 2 0 1 1529 1691 2240 2300 +4989 4 2 0 1 1003 922 1790 2542 +4990 4 2 0 1 1690 1582 1993 2316 +4991 4 2 0 1 680 1207 643 1937 +4992 4 2 0 1 1975 2491 1120 2733 +4993 4 2 0 1 1661 2563 1994 2582 +4994 4 2 0 1 921 1751 989 2562 +4995 4 2 0 1 1671 2116 2032 2678 +4996 4 2 0 1 1726 2093 1786 2212 +4997 4 2 0 1 1692 2487 1892 2665 +4998 4 2 0 1 2109 2115 1610 2331 +4999 4 2 0 1 1616 2022 1820 2291 +5000 4 2 0 1 1694 1600 1895 2832 +5001 4 2 0 1 305 307 2571 2691 +5002 4 2 0 1 1177 1780 1922 2512 +5003 4 2 0 1 1642 1906 2174 2263 +5004 4 2 0 1 450 278 226 2576 +5005 4 2 0 1 863 1484 906 2184 +5006 4 2 0 1 1565 2136 1858 2265 +5007 4 2 0 1 1829 2268 1947 2464 +5008 4 2 0 1 323 337 1979 2601 +5009 4 2 0 1 1754 2189 2172 2292 +5010 4 2 0 1 1610 1771 2186 2784 +5011 4 2 0 1 1690 1582 1977 1993 +5012 4 2 0 1 1645 1887 1876 2181 +5013 4 2 0 1 1994 2563 1292 2582 +5014 4 2 0 1 1402 904 995 2137 +5015 4 2 0 1 1894 2444 2023 2492 +5016 4 2 0 1 1400 2132 1758 2469 +5017 4 2 0 1 871 1931 994 2155 +5018 4 2 0 1 2034 2451 1890 2684 +5019 4 2 0 1 950 1889 881 2081 +5020 4 2 0 1 792 2135 1696 2670 +5021 4 2 0 1 1541 1791 2065 2476 +5022 4 2 0 1 1677 1990 2330 2694 +5023 4 2 0 1 1746 2108 1959 2719 +5024 4 2 0 1 1913 2170 1930 2713 +5025 4 2 0 1 1632 2056 1994 2785 +5026 4 2 0 1 771 1718 784 2714 +5027 4 2 0 1 2199 2201 1893 2455 +5028 4 2 0 1 1430 1828 1185 2104 +5029 4 2 0 1 213 2297 395 2438 +5030 4 2 0 1 1623 1840 2551 2629 +5031 4 2 0 1 1559 1716 1800 1952 +5032 4 2 0 1 2014 2079 1776 2577 +5033 4 2 0 1 1579 1728 1886 2479 +5034 4 2 0 1 814 1740 759 1936 +5035 4 2 0 1 1736 1861 2071 2438 +5036 4 2 0 1 1754 2172 1664 2221 +5037 4 2 0 1 1679 1834 1774 2737 +5038 4 2 0 1 1806 2293 2219 2680 +5039 4 2 0 1 1954 2104 1758 2206 +5040 4 2 0 1 1629 2068 2066 2106 +5041 4 2 0 1 1766 2069 593 2246 +5042 4 2 0 1 783 776 726 1757 +5043 4 2 0 1 1659 1985 1905 2727 +5044 4 2 0 1 1181 1994 1083 2785 +5045 4 2 0 1 1572 1760 1923 2441 +5046 4 2 0 1 1580 2203 1785 2634 +5047 4 2 0 1 949 1729 2073 2637 +5048 4 2 0 1 1759 1638 2310 2476 +5049 4 2 0 1 1563 2071 1861 2391 +5050 4 2 0 1 1564 1867 1917 2118 +5051 4 2 0 1 1589 2018 1731 2320 +5052 4 2 0 1 1279 1204 2081 2299 +5053 4 2 0 1 1758 2104 1828 2206 +5054 4 2 0 1 878 2241 2057 2279 +5055 4 2 0 1 1529 2015 1888 2216 +5056 4 2 0 1 1600 1847 1754 2292 +5057 4 2 0 1 1852 2429 1712 2566 +5058 4 2 0 1 2054 2225 1904 2626 +5059 4 2 0 1 1667 1931 1790 2771 +5060 4 2 0 1 1561 1689 2112 2654 +5061 4 2 0 1 1605 1720 1989 2575 +5062 4 2 0 1 1834 2011 1620 2396 +5063 4 2 0 1 1857 2012 1572 2284 +5064 4 2 0 1 1700 2256 662 2569 +5065 4 2 0 1 1614 1721 2274 2416 +5066 4 2 0 1 1872 2137 1624 2715 +5067 4 2 0 1 300 1778 2030 2776 +5068 4 2 0 1 1764 1554 2177 2392 +5069 4 2 0 1 1009 983 1751 2162 +5070 4 2 0 1 896 1929 992 2259 +5071 4 2 0 1 1549 2544 1901 2600 +5072 4 2 0 1 1852 2037 1556 2429 +5073 4 2 0 1 1729 1961 2073 2545 +5074 4 2 0 1 1119 1295 1466 1181 +5075 4 2 0 1 1530 1880 1958 2447 +5076 4 2 0 1 1546 1931 1761 2689 +5077 4 2 0 1 2069 2393 1758 2749 +5078 4 2 0 1 199 1699 316 2448 +5079 4 2 0 1 401 238 442 1829 +5080 4 2 0 1 1118 1146 1078 1904 +5081 4 2 0 1 1507 1525 157 2184 +5082 4 2 0 1 193 2209 1729 2477 +5083 4 2 0 1 1005 928 975 1748 +5084 4 2 0 1 1553 1956 1689 2782 +5085 4 2 0 1 747 707 2436 2501 +5086 4 2 0 1 1846 2025 1863 2202 +5087 4 2 0 1 1659 1905 1778 2397 +5088 4 2 0 1 1760 2263 1908 2358 +5089 4 2 0 1 1610 2186 2363 2784 +5090 4 2 0 1 1710 1587 2191 2594 +5091 4 2 0 1 1939 2353 1722 2571 +5092 4 2 0 1 2012 2263 1411 2711 +5093 4 2 0 1 573 1995 1912 2497 +5094 4 2 0 1 1847 2366 2101 2494 +5095 4 2 0 1 293 2448 1686 2516 +5096 4 2 0 1 1757 2109 783 2186 +5097 4 2 0 1 1578 1905 1985 2727 +5098 4 2 0 1 2015 2019 1888 2216 +5099 4 2 0 1 482 1927 1158 2049 +5100 4 2 0 1 909 526 885 2477 +5101 4 2 0 1 975 2382 2162 2421 +5102 4 2 0 1 1416 1708 1268 2289 +5103 4 2 0 1 1602 1861 2038 2698 +5104 4 2 0 1 167 452 258 2159 +5105 4 2 0 1 505 1849 464 1993 +5106 4 2 0 1 1352 1798 1449 1935 +5107 4 2 0 1 1751 2125 989 2562 +5108 4 2 0 1 1580 2034 2634 2718 +5109 4 2 0 1 1966 2121 1635 2465 +5110 4 2 0 1 1318 1192 1354 2077 +5111 4 2 0 1 1257 1360 1414 2104 +5112 4 2 0 1 1154 2170 1930 2565 +5113 4 2 0 1 227 358 430 1737 +5114 4 2 0 1 1697 1563 2038 2662 +5115 4 2 0 1 866 2081 1889 2233 +5116 4 2 0 1 1560 1824 1844 2257 +5117 4 2 0 1 1295 1181 1119 2056 +5118 4 2 0 1 1739 2031 1611 2527 +5119 4 2 0 1 1571 1743 2347 2659 +5120 4 2 0 1 1614 2182 2064 2274 +5121 4 2 0 1 1611 2031 1856 2271 +5122 4 2 0 1 230 239 2153 2567 +5123 4 2 0 1 1743 2136 1998 2354 +5124 4 2 0 1 412 387 1918 2641 +5125 4 2 0 1 519 1720 523 2157 +5126 4 2 0 1 1934 1604 2459 2753 +5127 4 2 0 1 1209 1678 1372 2302 +5128 4 2 0 1 1710 2095 1576 2232 +5129 4 2 0 1 495 503 998 516 +5130 4 2 0 1 1753 2080 1676 2590 +5131 4 2 0 1 1564 1801 2005 2699 +5132 4 2 0 1 1512 1764 1194 2835 +5133 4 2 0 1 629 2131 565 2497 +5134 4 2 0 1 566 1735 2197 2419 +5135 4 2 0 1 1900 2168 1970 2364 +5136 4 2 0 1 1713 2028 797 2585 +5137 4 2 0 1 729 1794 847 2425 +5138 4 2 0 1 1585 1778 2211 2653 +5139 4 2 0 1 352 321 1789 2130 +5140 4 2 0 1 1506 1516 2137 2278 +5141 4 2 0 1 1854 2183 1693 2598 +5142 4 2 0 1 1771 1839 1610 2385 +5143 4 2 0 1 2044 2325 1214 2512 +5144 4 2 0 1 1622 1860 1794 2375 +5145 4 2 0 1 840 2055 1826 2186 +5146 4 2 0 1 1572 1923 1788 2441 +5147 4 2 0 1 1794 1627 2235 2305 +5148 4 2 0 1 1648 2014 1776 2577 +5149 4 2 0 1 1547 2356 1742 2434 +5150 4 2 0 1 1554 2392 1839 2616 +5151 4 2 0 1 1790 1898 1751 2428 +5152 4 2 0 1 1876 1645 2039 2600 +5153 4 2 0 1 428 2472 242 2560 +5154 4 2 0 1 1546 1875 2483 2689 +5155 4 2 0 1 1741 2188 1837 2625 +5156 4 2 0 1 1621 1826 2034 2203 +5157 4 2 0 1 1584 1925 1848 2166 +5158 4 2 0 1 1842 2414 1975 2544 +5159 4 2 0 1 1703 2048 2160 2616 +5160 4 2 0 1 1822 2508 1881 2555 +5161 4 2 0 1 1537 1698 2019 2082 +5162 4 2 0 1 771 784 1718 2508 +5163 4 2 0 1 1641 1867 2547 2611 +5164 4 2 0 1 1873 2382 860 2421 +5165 4 2 0 1 1653 2169 2009 2587 +5166 4 2 0 1 134 1972 663 2410 +5167 4 2 0 1 1544 2182 1951 2335 +5168 4 2 0 1 1615 1898 2224 2636 +5169 4 2 0 1 1993 2316 1957 2403 +5170 4 2 0 1 1895 2123 354 2366 +5171 4 2 0 1 1663 1742 1968 2167 +5172 4 2 0 1 1537 2019 1698 2181 +5173 4 2 0 1 1598 1878 1836 2249 +5174 4 2 0 1 1486 1707 1256 2278 +5175 4 2 0 1 1896 2130 308 2269 +5176 4 2 0 1 1918 2097 389 2641 +5177 4 2 0 1 1595 2798 1739 2808 +5178 4 2 0 1 1471 1475 1944 2383 +5179 4 2 0 1 2005 2647 1564 2699 +5180 4 2 0 1 1875 2127 240 2612 +5181 4 2 0 1 1780 2370 1974 2835 +5182 4 2 0 1 1947 2268 343 2464 +5183 4 2 0 1 1858 1565 2265 2801 +5184 4 2 0 1 1546 2155 1931 2771 +5185 4 2 0 1 1542 1782 2024 2235 +5186 4 2 0 1 1486 1707 1189 2146 +5187 4 2 0 1 671 2197 1869 2390 +5188 4 2 0 1 1584 1773 2063 2549 +5189 4 2 0 1 1378 2289 1438 2767 +5190 4 2 0 1 1462 2133 1212 2420 +5191 4 2 0 1 295 1733 484 2446 +5192 4 2 0 1 852 840 1771 2055 +5193 4 2 0 1 1812 2510 1744 2794 +5194 4 2 0 1 792 2055 1696 2135 +5195 4 2 0 1 708 756 806 2171 +5196 4 2 0 1 1603 1847 1754 2561 +5197 4 2 0 1 1764 2177 1808 2392 +5198 4 2 0 1 418 1930 272 2713 +5199 4 2 0 1 565 2131 1995 2497 +5200 4 2 0 1 1843 2221 1615 2738 +5201 4 2 0 1 1574 2050 1783 2538 +5202 4 2 0 1 1743 1953 1581 2432 +5203 4 2 0 1 1966 2465 2176 2836 +5204 4 2 0 1 1324 2013 1706 2324 +5205 4 2 0 1 2143 2257 1777 2290 +5206 4 2 0 1 157 2135 723 2670 +5207 4 2 0 1 450 2576 226 2679 +5208 4 2 0 1 1713 1571 1942 2432 +5209 4 2 0 1 1587 2075 2126 2578 +5210 4 2 0 1 1732 2219 2293 2680 +5211 4 2 0 1 1550 2113 1768 2293 +5212 4 2 0 1 1571 1953 1713 2532 +5213 4 2 0 1 814 2028 1740 2045 +5214 4 2 0 1 1890 1942 803 2288 +5215 4 2 0 1 1635 2402 1941 2460 +5216 4 2 0 1 706 1769 1936 2099 +5217 4 2 0 1 985 955 979 2057 +5218 4 2 0 1 847 1794 729 2087 +5219 4 2 0 1 1616 1820 1708 2755 +5220 4 2 0 1 1833 2239 2150 2506 +5221 4 2 0 1 498 2262 2062 2355 +5222 4 2 0 1 1531 1770 2098 2604 +5223 4 2 0 1 2116 2230 2032 2678 +5224 4 2 0 1 1659 1733 2088 2446 +5225 4 2 0 1 1159 165 164 1797 +5226 4 2 0 1 1912 1995 1627 2497 +5227 4 2 0 1 1906 2008 1386 2711 +5228 4 2 0 1 1572 1923 1760 2174 +5229 4 2 0 1 2105 2320 1731 2534 +5230 4 2 0 1 1727 2013 1834 2654 +5231 4 2 0 1 1595 1739 2116 2808 +5232 4 2 0 1 1942 1991 752 2677 +5233 4 2 0 1 1768 2176 1966 2465 +5234 4 2 0 1 724 1794 847 2087 +5235 4 2 0 1 1585 1778 2030 2211 +5236 4 2 0 1 329 2020 1736 2399 +5237 4 2 0 1 1854 2174 1572 2515 +5238 4 2 0 1 1006 2155 1687 2542 +5239 4 2 0 1 1657 1722 1997 2691 +5240 4 2 0 1 1516 2146 1453 2301 +5241 4 2 0 1 1621 2203 2034 2634 +5242 4 2 0 1 1348 1872 2076 2383 +5243 4 2 0 1 1807 2019 2015 2082 +5244 4 2 0 1 1610 1839 1771 2784 +5245 4 2 0 1 1827 1614 2182 2218 +5246 4 2 0 1 602 1799 605 2009 +5247 4 2 0 1 1530 1759 1854 2183 +5248 4 2 0 1 1844 1988 1560 2290 +5249 4 2 0 1 1898 1812 2224 2428 +5250 4 2 0 1 1850 2080 2590 2614 +5251 4 2 0 1 1673 1945 1806 2312 +5252 4 2 0 1 1428 2131 2087 2484 +5253 4 2 0 1 1540 2059 2122 2827 +5254 4 2 0 1 1878 2047 1968 2167 +5255 4 2 0 1 1841 2344 612 2761 +5256 4 2 0 1 1782 1916 1604 2093 +5257 4 2 0 1 1871 2524 1701 2808 +5258 4 2 0 1 1533 1802 1920 2080 +5259 4 2 0 1 1428 2087 1924 2484 +5260 4 2 0 1 1582 1690 1977 2163 +5261 4 2 0 1 1801 1564 2005 2647 +5262 4 2 0 1 1747 1880 2597 2762 +5263 4 2 0 1 1314 1209 1372 2302 +5264 4 2 0 1 190 261 2124 2456 +5265 4 2 0 1 1856 2031 1739 2809 +5266 4 2 0 1 266 517 500 2626 +5267 4 2 0 1 1655 1950 2430 2727 +5268 4 2 0 1 462 1736 2020 2438 +5269 4 2 0 1 1586 1835 1900 1970 +5270 4 2 0 1 1638 1938 1922 2044 +5271 4 2 0 1 1838 2059 1704 2230 +5272 4 2 0 1 1056 1715 2488 2503 +5273 4 2 0 1 1225 1339 2076 2668 +5274 4 2 0 1 1686 2262 2062 2448 +5275 4 2 0 1 1630 1934 1825 2459 +5276 4 2 0 1 1725 1567 2207 2661 +5277 4 2 0 1 822 1183 1290 1210 +5278 4 2 0 1 1711 2075 1853 2126 +5279 4 2 0 1 367 389 2097 2641 +5280 4 2 0 1 1656 1795 2108 2578 +5281 4 2 0 1 2076 2254 1755 2383 +5282 4 2 0 1 1584 1756 2083 2549 +5283 4 2 0 1 1684 1882 1773 2098 +5284 4 2 0 1 835 748 1210 1933 +5285 4 2 0 1 1803 1944 1731 2558 +5286 4 2 0 1 1932 1962 1635 2583 +5287 4 2 0 1 1623 2022 2181 2629 +5288 4 2 0 1 1788 2284 1572 2441 +5289 4 2 0 1 1672 1755 1971 2208 +5290 4 2 0 1 1808 2033 2018 2667 +5291 4 2 0 1 1401 1399 1893 2770 +5292 4 2 0 1 1645 1756 2063 2549 +5293 4 2 0 1 165 1797 1159 2140 +5294 4 2 0 1 1533 1753 1980 2080 +5295 4 2 0 1 1437 1730 1280 2053 +5296 4 2 0 1 1600 1754 2251 2492 +5297 4 2 0 1 1009 2162 2562 2695 +5298 4 2 0 1 1846 1981 1715 2491 +5299 4 2 0 1 1445 1356 1179 1772 +5300 4 2 0 1 378 1847 2366 2683 +5301 4 2 0 1 594 1948 1845 2260 +5302 4 2 0 1 1584 2166 1888 2216 +5303 4 2 0 1 1739 2798 2398 2808 +5304 4 2 0 1 1823 1583 2225 2516 +5305 4 2 0 1 1574 2024 2276 2308 +5306 4 2 0 1 1533 2231 1852 2334 +5307 4 2 0 1 1335 2077 1762 2091 +5308 4 2 0 1 1753 1676 2080 2699 +5309 4 2 0 1 1746 1587 2138 2828 +5310 4 2 0 1 1529 1691 2015 2240 +5311 4 2 0 1 1822 1718 2502 2773 +5312 4 2 0 1 1981 1756 2063 2646 +5313 4 2 0 1 1741 2625 2226 2800 +5314 4 2 0 1 1900 2296 1682 2482 +5315 4 2 0 1 1827 2218 2182 2335 +5316 4 2 0 1 1574 2036 1706 2050 +5317 4 2 0 1 1590 1903 1835 2593 +5318 4 2 0 1 672 1845 681 2180 +5319 4 2 0 1 1013 1771 154 2165 +5320 4 2 0 1 1552 1697 2482 2593 +5321 4 2 0 1 1567 1948 1809 2400 +5322 4 2 0 1 1574 2050 2454 2746 +5323 4 2 0 1 1537 1698 2082 2181 +5324 4 2 0 1 1386 1906 1432 2008 +5325 4 2 0 1 1802 2334 2271 2504 +5326 4 2 0 1 1836 2003 1617 2595 +5327 4 2 0 1 1512 1194 1764 2822 +5328 4 2 0 1 1831 2472 1897 2560 +5329 4 2 0 1 1617 2003 1836 2368 +5330 4 2 0 1 1751 2428 2224 2636 +5331 4 2 0 1 368 214 382 2516 +5332 4 2 0 1 1793 2115 1724 2461 +5333 4 2 0 1 1820 2387 2021 2755 +5334 4 2 0 1 462 1861 1736 2438 +5335 4 2 0 1 1617 1715 1960 2003 +5336 4 2 0 1 1609 2195 1976 2356 +5337 4 2 0 1 1919 2650 1738 2836 +5338 4 2 0 1 1780 2037 1986 2783 +5339 4 2 0 1 1528 2650 1919 2836 +5340 4 2 0 1 1089 1122 1091 1746 +5341 4 2 0 1 1657 1722 2113 2568 +5342 4 2 0 1 379 1965 1915 2662 +5343 4 2 0 1 1255 2620 1189 2640 +5344 4 2 0 1 1959 2043 1710 2518 +5345 4 2 0 1 300 1778 182 2030 +5346 4 2 0 1 337 199 2448 2601 +5347 4 2 0 1 1889 2365 1724 2589 +5348 4 2 0 1 1847 1947 378 2464 +5349 4 2 0 1 293 2062 2262 2448 +5350 4 2 0 1 1587 2541 1864 2584 +5351 4 2 0 1 2224 2428 2096 2636 +5352 4 2 0 1 1587 2108 1746 2541 +5353 4 2 0 1 1628 2152 1889 2261 +5354 4 2 0 1 1565 1785 2265 2351 +5355 4 2 0 1 352 2130 1789 2269 +5356 4 2 0 1 1542 2093 1782 2235 +5357 4 2 0 1 1799 2009 602 2587 +5358 4 2 0 1 1816 2027 1778 2030 +5359 4 2 0 1 2196 2207 1567 2661 +5360 4 2 0 1 1815 1960 569 2350 +5361 4 2 0 1 1552 1697 1989 2482 +5362 4 2 0 1 614 541 1948 2530 +5363 4 2 0 1 823 2253 1776 2649 +5364 4 2 0 1 1624 2188 1837 2511 +5365 4 2 0 1 1562 1770 2193 2595 +5366 4 2 0 1 1777 2257 1804 2707 +5367 4 2 0 1 1575 1981 2039 2646 +5368 4 2 0 1 1830 2276 2024 2308 +5369 4 2 0 1 1583 1981 1846 2025 +5370 4 2 0 1 1967 1990 1596 2745 +5371 4 2 0 1 1540 2122 2630 2827 +5372 4 2 0 1 319 307 2353 2571 +5373 4 2 0 1 1837 2188 1624 2625 +5374 4 2 0 1 1646 2339 2264 2522 +5375 4 2 0 1 1577 1848 1720 2805 +5376 4 2 0 1 1041 2346 1688 2458 +5377 4 2 0 1 2173 2478 1723 2789 +5378 4 2 0 1 881 1781 899 1889 +5379 4 2 0 1 1683 2306 1541 2602 +5380 4 2 0 1 1890 1991 1571 2634 +5381 4 2 0 1 1863 2025 1846 2570 +5382 4 2 0 1 1799 2053 1730 2367 +5383 4 2 0 1 1144 1688 1021 2274 +5384 4 2 0 1 1832 2073 929 2280 +5385 4 2 0 1 354 2366 2123 2683 +5386 4 2 0 1 1632 1994 1661 2178 +5387 4 2 0 1 2063 2505 1981 2646 +5388 4 2 0 1 1449 1935 1798 2247 +5389 4 2 0 1 1588 1879 2200 2446 +5390 4 2 0 1 1595 2398 2798 2808 +5391 4 2 0 1 1009 921 1751 2279 +5392 4 2 0 1 2123 2156 1732 2795 +5393 4 2 0 1 1797 2140 165 2278 +5394 4 2 0 1 1676 2590 2080 2614 +5395 4 2 0 1 1227 1834 1336 2013 +5396 4 2 0 1 747 836 837 2106 +5397 4 2 0 1 1675 1791 2334 2701 +5398 4 2 0 1 1583 2516 1823 2622 +5399 4 2 0 1 1917 2597 1880 2762 +5400 4 2 0 1 1732 2293 1806 2680 +5401 4 2 0 1 766 776 2307 2403 +5402 4 2 0 1 2031 2168 1611 2527 +5403 4 2 0 1 1555 1936 2608 2659 +5404 4 2 0 1 759 1740 801 2677 +5405 4 2 0 1 1852 2037 1613 2373 +5406 4 2 0 1 1628 1889 1817 2261 +5407 4 2 0 1 1656 2187 1925 2216 +5408 4 2 0 1 1315 1944 2383 2531 +5409 4 2 0 1 1862 2431 1619 2490 +5410 4 2 0 1 1562 2193 2175 2595 +5411 4 2 0 1 1662 2161 2100 2377 +5412 4 2 0 1 1754 2251 1873 2259 +5413 4 2 0 1 1578 2443 1950 2682 +5414 4 2 0 1 1965 2391 1861 2438 +5415 4 2 0 1 2340 2396 1818 2820 +5416 4 2 0 1 1669 1938 2143 2257 +5417 4 2 0 1 765 710 1822 2555 +5418 4 2 0 1 138 2264 1735 2419 +5419 4 2 0 1 1635 1784 2460 2623 +5420 4 2 0 1 1802 1545 2271 2401 +5421 4 2 0 1 1583 2025 1846 2202 +5422 4 2 0 1 1529 1698 2216 2540 +5423 4 2 0 1 1486 1707 2278 2696 +5424 4 2 0 1 761 825 855 2316 +5425 4 2 0 1 352 357 2268 2269 +5426 4 2 0 1 1335 1341 1425 1762 +5427 4 2 0 1 313 317 315 2123 +5428 4 2 0 1 1401 1893 1399 2201 +5429 4 2 0 1 1563 1965 2147 2391 +5430 4 2 0 1 1686 2262 1823 2797 +5431 4 2 0 1 2266 2334 1791 2701 +5432 4 2 0 1 1810 2051 1580 2529 +5433 4 2 0 1 1575 2025 1981 2646 +5434 4 2 0 1 677 647 632 1934 +5435 4 2 0 1 1649 1996 1917 2597 +5436 4 2 0 1 1546 1898 2389 2444 +5437 4 2 0 1 1677 1990 1967 2745 +5438 4 2 0 1 1635 2113 1941 2623 +5439 4 2 0 1 1800 1952 1716 2826 +5440 4 2 0 1 1707 2346 1576 2474 +5441 4 2 0 1 1675 2266 1791 2701 +5442 4 2 0 1 1889 2152 1817 2261 +5443 4 2 0 1 758 1713 797 2585 +5444 4 2 0 1 1153 1870 1036 1994 +5445 4 2 0 1 1795 2006 1656 2108 +5446 4 2 0 1 1867 1892 1535 2304 +5447 4 2 0 1 1615 1790 1894 2444 +5448 4 2 0 1 608 621 2330 2761 +5449 4 2 0 1 1880 2118 1917 2547 +5450 4 2 0 1 1310 1788 2036 2475 +5451 4 2 0 1 1713 2267 1765 2585 +5452 4 2 0 1 210 1789 357 2601 +5453 4 2 0 1 1706 1954 1639 2579 +5454 4 2 0 1 1566 2125 1751 2428 +5455 4 2 0 1 2096 2224 1812 2428 +5456 4 2 0 1 803 1991 1890 2684 +5457 4 2 0 1 1747 1917 1880 2762 +5458 4 2 0 1 491 2298 292 2353 +5459 4 2 0 1 1635 2460 1962 2623 +5460 4 2 0 1 1531 2098 1882 2604 +5461 4 2 0 1 1761 2107 2280 2803 +5462 4 2 0 1 1753 2080 1920 2699 +5463 4 2 0 1 1880 2354 2118 2547 +5464 4 2 0 1 1694 2292 1600 2832 +5465 4 2 0 1 1772 2007 1179 2767 +5466 4 2 0 1 1671 2032 2651 2678 +5467 4 2 0 1 1558 1816 2017 2502 +5468 4 2 0 1 1779 1871 1588 2164 +5469 4 2 0 1 1698 2019 2015 2216 +5470 4 2 0 1 1862 2089 2149 2431 +5471 4 2 0 1 1354 1235 2342 2507 +5472 4 2 0 1 1671 2230 2116 2678 +5473 4 2 0 1 1127 1039 2056 2255 +5474 4 2 0 1 1757 2403 776 2628 +5475 4 2 0 1 1647 1843 1814 2673 +5476 4 2 0 1 1759 2065 1865 2471 +5477 4 2 0 1 1838 2059 1540 2071 +5478 4 2 0 1 1699 2448 199 2601 +5479 4 2 0 1 1937 1984 558 2408 +5480 4 2 0 1 791 1946 151 2628 +5481 4 2 0 1 1660 1745 2238 2733 +5482 4 2 0 1 1768 1919 1594 2176 +5483 4 2 0 1 1824 1893 1560 2550 +5484 4 2 0 1 1633 1992 1762 2148 +5485 4 2 0 1 1660 2544 2039 2600 +5486 4 2 0 1 239 2153 1977 2539 +5487 4 2 0 1 1571 1858 2136 2265 +5488 4 2 0 1 1402 995 1506 2137 +5489 4 2 0 1 1534 1754 2172 2292 +5490 4 2 0 1 1333 1322 2012 2284 +5491 4 2 0 1 1561 1818 2572 2599 +5492 4 2 0 1 1571 1713 1953 2432 +5493 4 2 0 1 1577 2029 1896 2624 +5494 4 2 0 1 1628 2261 1731 2534 +5495 4 2 0 1 206 1983 387 2669 +5496 4 2 0 1 1553 2206 2069 2496 +5497 4 2 0 1 1886 1691 2072 2240 +5498 4 2 0 1 1503 2557 1810 2615 +5499 4 2 0 1 193 1729 1961 2477 +5500 4 2 0 1 1788 1627 1924 2305 +5501 4 2 0 1 1575 1763 2039 2544 +5502 4 2 0 1 1771 828 2115 2186 +5503 4 2 0 1 580 1995 1198 2294 +5504 4 2 0 1 401 343 2268 2464 +5505 4 2 0 1 780 2436 707 2501 +5506 4 2 0 1 574 2345 554 2530 +5507 4 2 0 1 841 143 2120 2212 +5508 4 2 0 1 812 814 759 1936 +5509 4 2 0 1 768 805 1826 2034 +5510 4 2 0 1 1823 2262 1964 2797 +5511 4 2 0 1 1613 1852 1980 2566 +5512 4 2 0 1 1706 1639 2013 2579 +5513 4 2 0 1 1348 1298 1872 2383 +5514 4 2 0 1 1568 1727 2340 2396 +5515 4 2 0 1 1672 1589 2102 2302 +5516 4 2 0 1 1605 1720 2575 2797 +5517 4 2 0 1 308 2130 1896 2624 +5518 4 2 0 1 401 1829 442 1927 +5519 4 2 0 1 1582 1690 2163 2816 +5520 4 2 0 1 2100 2161 1648 2643 +5521 4 2 0 1 1728 2244 2240 2656 +5522 4 2 0 1 1870 1994 1632 2255 +5523 4 2 0 1 1926 2320 1712 2429 +5524 4 2 0 1 1639 1954 1706 2220 +5525 4 2 0 1 2076 2383 1755 2668 +5526 4 2 0 1 1575 2039 1763 2509 +5527 4 2 0 1 1715 1981 1846 2789 +5528 4 2 0 1 1863 2202 1658 2564 +5529 4 2 0 1 787 2055 731 2135 +5530 4 2 0 1 1625 1888 2015 2019 +5531 4 2 0 1 1662 2093 1786 2443 +5532 4 2 0 1 1290 1810 822 2722 +5533 4 2 0 1 1711 2191 1587 2710 +5534 4 2 0 1 1713 1765 2074 2585 +5535 4 2 0 1 1751 2096 2428 2636 +5536 4 2 0 1 1566 1944 1803 2558 +5537 4 2 0 1 1165 1842 1120 2733 +5538 4 2 0 1 1833 1958 2239 2506 +5539 4 2 0 1 1649 2027 1816 2030 +5540 4 2 0 1 747 2436 2106 2501 +5541 4 2 0 1 1687 1600 2023 2317 +5542 4 2 0 1 1817 2152 1889 2365 +5543 4 2 0 1 1592 2122 1868 2314 +5544 4 2 0 1 1634 2084 2052 2190 +5545 4 2 0 1 1602 1767 2437 2807 +5546 4 2 0 1 1733 1659 2088 2653 +5547 4 2 0 1 1257 651 1289 1828 +5548 4 2 0 1 1721 2140 1797 2625 +5549 4 2 0 1 1545 2031 1802 2271 +5550 4 2 0 1 1546 2444 2155 2771 +5551 4 2 0 1 289 2157 523 2222 +5552 4 2 0 1 1535 1892 1867 2110 +5553 4 2 0 1 2164 2437 1767 2807 +5554 4 2 0 1 1699 2559 1979 2601 +5555 4 2 0 1 1628 1781 1889 2592 +5556 4 2 0 1 1600 2292 1694 2366 +5557 4 2 0 1 1583 2092 1904 2225 +5558 4 2 0 1 1281 2056 1787 2586 +5559 4 2 0 1 1869 2250 1735 2434 +5560 4 2 0 1 1941 2113 1768 2623 +5561 4 2 0 1 1613 2111 2429 2566 +5562 4 2 0 1 602 2009 605 2587 +5563 4 2 0 1 1887 2600 1876 2617 +5564 4 2 0 1 1740 1936 2045 2659 +5565 4 2 0 1 226 2127 278 2327 +5566 4 2 0 1 1926 2102 1712 2320 +5567 4 2 0 1 1775 2170 1930 2535 +5568 4 2 0 1 316 1699 199 2601 +5569 4 2 0 1 1707 2140 2619 2625 +5570 4 2 0 1 1804 2199 1620 2245 +5571 4 2 0 1 1538 1943 1784 2402 +5572 4 2 0 1 1704 2122 2452 2630 +5573 4 2 0 1 1702 1891 2067 2580 +5574 4 2 0 1 1580 2634 1785 2718 +5575 4 2 0 1 1712 2320 2102 2794 +5576 4 2 0 1 1850 1676 2080 2614 +5577 4 2 0 1 1822 2436 1718 2508 +5578 4 2 0 1 466 444 520 1800 +5579 4 2 0 1 1965 1967 1644 2438 +5580 4 2 0 1 1552 1900 2369 2593 +5581 4 2 0 1 1886 1691 2240 2540 +5582 4 2 0 1 1624 1872 1748 2254 +5583 4 2 0 1 915 1803 2462 2775 +5584 4 2 0 1 720 1849 464 2692 +5585 4 2 0 1 1528 2048 2486 2836 +5586 4 2 0 1 1767 2333 2159 2407 +5587 4 2 0 1 514 1831 497 2359 +5588 4 2 0 1 1706 2050 2036 2746 +5589 4 2 0 1 1574 2036 2050 2746 +5590 4 2 0 1 1891 2546 2154 2706 +5591 4 2 0 1 1599 2486 2248 2778 +5592 4 2 0 1 213 1897 437 2297 +5593 4 2 0 1 2164 2437 1871 2698 +5594 4 2 0 1 1665 2149 1977 2163 +5595 4 2 0 1 1556 2037 1852 2231 +5596 4 2 0 1 854 2161 714 2649 +5597 4 2 0 1 401 1829 1927 2464 +5598 4 2 0 1 1588 1891 1813 2067 +5599 4 2 0 1 758 753 2288 2585 +5600 4 2 0 1 1579 1971 1943 2411 +5601 4 2 0 1 808 2253 1822 2378 +5602 4 2 0 1 431 2207 1725 2359 +5603 4 2 0 1 1547 1901 1745 2238 +5604 4 2 0 1 1594 1919 1768 2607 +5605 4 2 0 1 1739 2168 2031 2527 +5606 4 2 0 1 1836 1878 1734 2790 +5607 4 2 0 1 1342 1337 1177 2016 +5608 4 2 0 1 1736 2020 2438 2756 +5609 4 2 0 1 2210 2459 1604 2753 +5610 4 2 0 1 1649 2030 1816 2525 +5611 4 2 0 1 983 1751 2162 2279 +5612 4 2 0 1 2115 2331 2109 2523 +5613 4 2 0 1 778 1933 851 2596 +5614 4 2 0 1 1533 2334 1852 2373 +5615 4 2 0 1 1359 1231 2132 2467 +5616 4 2 0 1 1786 2345 618 2687 +5617 4 2 0 1 1593 1832 1999 2061 +5618 4 2 0 1 138 2179 1735 2264 +5619 4 2 0 1 1917 2597 1996 2671 +5620 4 2 0 1 685 652 1869 2777 +5621 4 2 0 1 1969 2038 1602 2090 +5622 4 2 0 1 1945 2227 1728 2656 +5623 4 2 0 1 1576 1914 1707 2474 +5624 4 2 0 1 213 437 395 2297 +5625 4 2 0 1 1881 2161 2377 2643 +5626 4 2 0 1 1807 1988 1987 2015 +5627 4 2 0 1 1600 2317 2101 2366 +5628 4 2 0 1 634 529 1841 2169 +5629 4 2 0 1 1659 2088 1982 2446 +5630 4 2 0 1 1846 2488 1715 2789 +5631 4 2 0 1 1779 2088 1833 2809 +5632 4 2 0 1 1710 2191 2138 2594 +5633 4 2 0 1 1572 1857 2284 2712 +5634 4 2 0 1 1838 2098 1770 2391 +5635 4 2 0 1 557 534 581 2330 +5636 4 2 0 1 792 1696 2055 2670 +5637 4 2 0 1 2082 2022 2291 2609 +5638 4 2 0 1 1660 1901 1842 2544 +5639 4 2 0 1 1657 1997 1722 2568 +5640 4 2 0 1 1118 1904 1078 2564 +5641 4 2 0 1 784 1718 2508 2714 +5642 4 2 0 1 2061 2280 1832 2588 +5643 4 2 0 1 1685 1991 2265 2596 +5644 4 2 0 1 1871 2343 2067 2524 +5645 4 2 0 1 1754 2251 941 2495 +5646 4 2 0 1 1907 1944 1654 2057 +5647 4 2 0 1 516 2209 1946 2338 +5648 4 2 0 1 176 2268 339 2269 +5649 4 2 0 1 1670 1770 2147 2391 +5650 4 2 0 1 881 1889 937 2081 +5651 4 2 0 1 1838 2032 1701 2230 +5652 4 2 0 1 1713 1581 2074 2432 +5653 4 2 0 1 1967 2297 1644 2438 +5654 4 2 0 1 1336 1192 1727 2337 +5655 4 2 0 1 1627 1794 1924 2305 +5656 4 2 0 1 759 801 798 2677 +5657 4 2 0 1 349 1930 1979 2349 +5658 4 2 0 1 1549 2273 2414 2544 +5659 4 2 0 1 1579 1943 1886 2072 +5660 4 2 0 1 1625 1900 2103 2296 +5661 4 2 0 1 1794 1726 2235 2497 +5662 4 2 0 1 762 1890 2451 2684 +5663 4 2 0 1 1594 1875 1737 2468 +5664 4 2 0 1 1685 2634 2034 2718 +5665 4 2 0 1 1846 1981 1583 2789 +5666 4 2 0 1 138 671 566 1735 +5667 4 2 0 1 779 768 805 1826 +5668 4 2 0 1 1740 2608 1936 2659 +5669 4 2 0 1 1358 2076 1357 2301 +5670 4 2 0 1 2018 1731 2320 2534 +5671 4 2 0 1 682 2283 1726 2497 +5672 4 2 0 1 184 428 481 1897 +5673 4 2 0 1 1553 1689 2220 2782 +5674 4 2 0 1 1546 1931 2689 2771 +5675 4 2 0 1 1539 2114 1853 2710 +5676 4 2 0 1 1743 1998 2136 2729 +5677 4 2 0 1 1733 1585 2052 2190 +5678 4 2 0 1 1883 1576 1959 2810 +5679 4 2 0 1 782 2120 1881 2161 +5680 4 2 0 1 1835 2369 1900 2593 +5681 4 2 0 1 1720 1605 1989 2355 +5682 4 2 0 1 1634 1920 2080 2699 +5683 4 2 0 1 947 914 2107 2280 +5684 4 2 0 1 1752 2288 2267 2532 +5685 4 2 0 1 1666 1836 1878 2249 +5686 4 2 0 1 2158 2224 1548 2636 +5687 4 2 0 1 1850 2590 1983 2614 +5688 4 2 0 1 1537 2019 1807 2082 +5689 4 2 0 1 1936 1769 2379 2736 +5690 4 2 0 1 1749 2008 1444 2205 +5691 4 2 0 1 1584 2083 1925 2216 +5692 4 2 0 1 1922 1938 1651 2044 +5693 4 2 0 1 1850 2005 1676 2614 +5694 4 2 0 1 1780 2370 2037 2783 +5695 4 2 0 1 967 2057 876 2279 +5696 4 2 0 1 1056 1715 1101 2488 +5697 4 2 0 1 804 2267 1752 2288 +5698 4 2 0 1 1540 1871 2067 2524 +5699 4 2 0 1 1324 2324 1706 2655 +5700 4 2 0 1 1009 983 921 2279 +5701 4 2 0 1 2195 2273 1840 2586 +5702 4 2 0 1 1503 1494 2051 2722 +5703 4 2 0 1 1777 2168 1611 2796 +5704 4 2 0 1 1566 1907 1751 2125 +5705 4 2 0 1 1285 1206 2056 2586 +5706 4 2 0 1 367 2097 414 2641 +5707 4 2 0 1 1531 1981 1756 2063 +5708 4 2 0 1 299 2005 1859 2647 +5709 4 2 0 1 1753 2237 2352 2431 +5710 4 2 0 1 1689 1874 2452 2652 +5711 4 2 0 1 1713 2267 2532 2702 +5712 4 2 0 1 1231 2194 2132 2467 +5713 4 2 0 1 1862 2439 2431 2731 +5714 4 2 0 1 1736 2067 1871 2632 +5715 4 2 0 1 1233 1199 1742 2091 +5716 4 2 0 1 1512 2822 1764 2835 +5717 4 2 0 1 1793 2073 1729 2637 +5718 4 2 0 1 1547 1878 1836 2790 +5719 4 2 0 1 1768 1941 1635 2113 +5720 4 2 0 1 852 828 154 1771 +5721 4 2 0 1 1789 2268 1829 2556 +5722 4 2 0 1 1569 2176 1716 2423 +5723 4 2 0 1 672 531 681 1845 +5724 4 2 0 1 1747 2597 1649 2762 +5725 4 2 0 1 1570 1807 1987 2015 +5726 4 2 0 1 1706 2013 1639 2220 +5727 4 2 0 1 875 2280 2107 2803 +5728 4 2 0 1 1600 1847 2292 2366 +5729 4 2 0 1 1734 2047 1878 2252 +5730 4 2 0 1 1159 1797 164 2140 +5731 4 2 0 1 901 2070 957 2137 +5732 4 2 0 1 2043 2095 1710 2518 +5733 4 2 0 1 2176 2465 1919 2836 +5734 4 2 0 1 151 1946 2523 2628 +5735 4 2 0 1 1557 1746 2108 2541 +5736 4 2 0 1 1603 1947 1847 2464 +5737 4 2 0 1 797 2028 802 2585 +5738 4 2 0 1 1753 2237 2431 2633 +5739 4 2 0 1 1820 2387 2755 2760 +5740 4 2 0 1 1042 1092 1029 2488 +5741 4 2 0 1 1687 2155 2127 2444 +5742 4 2 0 1 2077 2091 1355 2507 +5743 4 2 0 1 791 150 151 1946 +5744 4 2 0 1 1225 2076 1309 2668 +5745 4 2 0 1 1588 2200 1982 2446 +5746 4 2 0 1 1669 2231 1852 2583 +5747 4 2 0 1 1772 1179 2275 2767 +5748 4 2 0 1 244 502 996 2049 +5749 4 2 0 1 778 2596 815 2684 +5750 4 2 0 1 385 167 258 2159 +5751 4 2 0 1 1755 2076 1309 2740 +5752 4 2 0 1 1861 2038 1563 2662 +5753 4 2 0 1 190 2124 261 2533 +5754 4 2 0 1 1964 2262 1605 2797 +5755 4 2 0 1 1760 1234 2263 2358 +5756 4 2 0 1 339 2268 2156 2269 +5757 4 2 0 1 991 2461 2115 2523 +5758 4 2 0 1 1657 1850 2080 2590 +5759 4 2 0 1 1946 2477 892 2637 +5760 4 2 0 1 1582 1877 1849 2426 +5761 4 2 0 1 1930 2170 1035 2713 +5762 4 2 0 1 1779 1833 2688 2809 +5763 4 2 0 1 1656 2006 1925 2187 +5764 4 2 0 1 1867 2110 1892 2829 +5765 4 2 0 1 1833 2088 1545 2809 +5766 4 2 0 1 1565 2322 1780 2783 +5767 4 2 0 1 814 1740 1936 2045 +5768 4 2 0 1 1639 2220 2013 2654 +5769 4 2 0 1 1587 2126 1711 2710 +5770 4 2 0 1 1584 1925 2166 2216 +5771 4 2 0 1 618 2345 1786 2536 +5772 4 2 0 1 1683 1804 2295 2602 +5773 4 2 0 1 991 897 2461 2523 +5774 4 2 0 1 1056 1960 1715 2503 +5775 4 2 0 1 1564 2597 1917 2671 +5776 4 2 0 1 1756 1981 1964 2025 +5777 4 2 0 1 1568 2396 2340 2820 +5778 4 2 0 1 540 2281 2294 2393 +5779 4 2 0 1 1659 1982 2088 2430 +5780 4 2 0 1 1388 1731 2018 2374 +5781 4 2 0 1 1576 2095 2229 2232 +5782 4 2 0 1 1816 2502 2106 2635 +5783 4 2 0 1 1670 2147 1770 2604 +5784 4 2 0 1 1670 1770 2286 2604 +5785 4 2 0 1 1890 1942 1571 1991 +5786 4 2 0 1 2195 2273 2586 2716 +5787 4 2 0 1 1782 2024 1830 2693 +5788 4 2 0 1 1438 1719 1240 2767 +5789 4 2 0 1 1623 2022 1876 2181 +5790 4 2 0 1 1583 1964 1981 2025 +5791 4 2 0 1 1696 2184 2135 2822 +5792 4 2 0 1 1589 2102 2320 2794 +5793 4 2 0 1 994 2155 1761 2803 +5794 4 2 0 1 1690 1765 2144 2404 +5795 4 2 0 1 1604 1916 1782 2210 +5796 4 2 0 1 795 1765 709 2267 +5797 4 2 0 1 1143 1088 1763 2119 +5798 4 2 0 1 1868 1653 2122 2473 +5799 4 2 0 1 1571 1953 1743 2432 +5800 4 2 0 1 1724 2365 2129 2589 +5801 4 2 0 1 560 1841 2169 2236 +5802 4 2 0 1 1736 1540 2071 2698 +5803 4 2 0 1 1657 1983 1850 2590 +5804 4 2 0 1 1611 1970 2168 2364 +5805 4 2 0 1 1537 2019 2181 2549 +5806 4 2 0 1 1788 1923 2024 2305 +5807 4 2 0 1 1605 1964 1823 2262 +5808 4 2 0 1 1586 1962 1784 2309 +5809 4 2 0 1 1843 1647 2224 2389 +5810 4 2 0 1 1565 2265 1749 2351 +5811 4 2 0 1 1586 1900 1835 2369 +5812 4 2 0 1 1770 2391 2286 2823 +5813 4 2 0 1 866 937 2081 2233 +5814 4 2 0 1 1233 2091 1742 2507 +5815 4 2 0 1 1533 1753 2334 2373 +5816 4 2 0 1 2224 2636 2158 2738 +5817 4 2 0 1 473 170 2092 2225 +5818 4 2 0 1 760 802 1855 2585 +5819 4 2 0 1 1592 2314 1868 2321 +5820 4 2 0 1 1728 1601 2240 2479 +5821 4 2 0 1 677 1825 647 2281 +5822 4 2 0 1 316 2062 1699 2130 +5823 4 2 0 1 1564 1917 2611 2671 +5824 4 2 0 1 1218 1349 1922 2044 +5825 4 2 0 1 1770 2098 1598 2249 +5826 4 2 0 1 1765 2074 1855 2501 +5827 4 2 0 1 1566 1907 1803 1944 +5828 4 2 0 1 1578 1985 2443 2682 +5829 4 2 0 1 1539 2022 1876 2223 +5830 4 2 0 1 1587 2548 2108 2578 +5831 4 2 0 1 1715 2060 1660 2368 +5832 4 2 0 1 1615 1843 2224 2389 +5833 4 2 0 1 1763 2414 2273 2544 +5834 4 2 0 1 1543 2083 1848 2792 +5835 4 2 0 1 783 1757 726 2109 +5836 4 2 0 1 1725 2207 1567 2481 +5837 4 2 0 1 1629 2074 1765 2501 +5838 4 2 0 1 1554 1839 2385 2616 +5839 4 2 0 1 1976 2356 2195 2434 +5840 4 2 0 1 1563 1965 1915 2147 +5841 4 2 0 1 872 967 876 2279 +5842 4 2 0 1 1305 1926 1372 2016 +5843 4 2 0 1 1748 1624 2254 2511 +5844 4 2 0 1 1634 2080 1920 2528 +5845 4 2 0 1 1599 1832 2248 2486 +5846 4 2 0 1 1937 2053 1799 2367 +5847 4 2 0 1 1670 1596 2173 2478 +5848 4 2 0 1 681 1766 661 2246 +5849 4 2 0 1 1192 2077 1727 2337 +5850 4 2 0 1 1860 2161 854 2649 +5851 4 2 0 1 2393 2663 1825 2749 +5852 4 2 0 1 1930 2170 1775 2565 +5853 4 2 0 1 682 1726 145 2425 +5854 4 2 0 1 1697 2038 1969 2090 +5855 4 2 0 1 1775 2535 1930 2565 +5856 4 2 0 1 1849 1993 505 2567 +5857 4 2 0 1 1091 2406 1746 2543 +5858 4 2 0 1 1335 1412 2091 2721 +5859 4 2 0 1 1576 1883 1710 2232 +5860 4 2 0 1 498 2062 519 2355 +5861 4 2 0 1 1987 1988 1691 2015 +5862 4 2 0 1 1589 2510 2708 2794 +5863 4 2 0 1 1584 1882 1773 2675 +5864 4 2 0 1 538 605 1799 2009 +5865 4 2 0 1 1783 2210 2526 2538 +5866 4 2 0 1 1818 1683 2572 2599 +5867 4 2 0 1 1369 1364 1437 2342 +5868 4 2 0 1 1762 2077 1568 2167 +5869 4 2 0 1 1755 2383 2254 2668 +5870 4 2 0 1 2289 2609 1623 2629 +5871 4 2 0 1 1559 1800 1716 2490 +5872 4 2 0 1 1662 1786 2093 2212 +5873 4 2 0 1 1809 1680 2433 2450 +5874 4 2 0 1 1670 2147 1965 2391 +5875 4 2 0 1 1702 2343 2258 2652 +5876 4 2 0 1 693 1942 801 2028 +5877 4 2 0 1 1858 2136 1743 2347 +5878 4 2 0 1 624 2281 1912 2294 +5879 4 2 0 1 2158 2287 2070 2382 +5880 4 2 0 1 1789 2130 321 2601 +5881 4 2 0 1 1569 1716 1902 2490 +5882 4 2 0 1 1599 2152 1817 2365 +5883 4 2 0 1 1646 1745 2179 2434 +5884 4 2 0 1 357 1789 321 2601 +5885 4 2 0 1 1647 2085 1843 2673 +5886 4 2 0 1 1060 1109 2406 2424 +5887 4 2 0 1 1739 2527 2398 2798 +5888 4 2 0 1 1225 1331 1309 2076 +5889 4 2 0 1 823 1776 767 2649 +5890 4 2 0 1 1829 2268 334 2556 +5891 4 2 0 1 1009 921 989 2562 +5892 4 2 0 1 1399 1992 1893 2770 +5893 4 2 0 1 1748 2158 1624 2511 +5894 4 2 0 1 1529 1925 2187 2216 +5895 4 2 0 1 1669 1938 1791 2143 +5896 4 2 0 1 1535 2149 2089 2431 +5897 4 2 0 1 1618 2069 1766 2246 +5898 4 2 0 1 1144 1041 1021 1688 +5899 4 2 0 1 991 2115 897 2523 +5900 4 2 0 1 1005 1748 2287 2591 +5901 4 2 0 1 1978 2228 1681 2613 +5902 4 2 0 1 1533 1920 1802 2334 +5903 4 2 0 1 1548 1741 1814 2158 +5904 4 2 0 1 1615 1894 1790 2695 +5905 4 2 0 1 1737 1875 1594 2483 +5906 4 2 0 1 1580 2055 2361 2784 +5907 4 2 0 1 1620 2396 2011 2599 +5908 4 2 0 1 729 785 2087 2375 +5909 4 2 0 1 1650 2150 2239 2506 +5910 4 2 0 1 1841 2169 1653 2766 +5911 4 2 0 1 540 2281 611 2294 +5912 4 2 0 1 1475 1944 1367 2057 +5913 4 2 0 1 1468 2686 1984 2724 +5914 4 2 0 1 1525 1507 1284 2184 +5915 4 2 0 1 1599 1817 2152 2261 +5916 4 2 0 1 1533 1802 2080 2270 +5917 4 2 0 1 1666 2238 1901 2356 +5918 4 2 0 1 1687 1600 2317 2514 +5919 4 2 0 1 1214 2044 1857 2325 +5920 4 2 0 1 1537 1773 2386 2440 +5921 4 2 0 1 1736 1861 462 2185 +5922 4 2 0 1 1702 2524 2343 2652 +5923 4 2 0 1 1794 1627 2131 2497 +5924 4 2 0 1 678 2400 2260 2569 +5925 4 2 0 1 1576 2474 2346 2619 +5926 4 2 0 1 1706 2220 2050 2654 +5927 4 2 0 1 1610 2160 1724 2385 +5928 4 2 0 1 1709 2166 2029 2774 +5929 4 2 0 1 795 709 2144 2267 +5930 4 2 0 1 752 1942 803 1991 +5931 4 2 0 1 1093 2043 1041 2346 +5932 4 2 0 1 1259 1808 1420 2033 +5933 4 2 0 1 1310 2036 1788 2284 +5934 4 2 0 1 1844 2664 2257 2704 +5935 4 2 0 1 1577 1720 2029 2624 +5936 4 2 0 1 914 947 867 2280 +5937 4 2 0 1 1742 1976 1609 2091 +5938 4 2 0 1 1484 1279 1204 2081 +5939 4 2 0 1 1734 2313 2252 2678 +5940 4 2 0 1 1837 2226 1741 2625 +5941 4 2 0 1 1663 1742 2167 2507 +5942 4 2 0 1 235 2002 1850 2159 +5943 4 2 0 1 1813 1891 1567 2580 +5944 4 2 0 1 1783 2210 1921 2526 +5945 4 2 0 1 1700 2139 1899 2481 +5946 4 2 0 1 1703 1839 2439 2487 +5947 4 2 0 1 1949 2141 1652 2169 +5948 4 2 0 1 1731 1944 1803 2720 +5949 4 2 0 1 1727 2396 1568 2573 +5950 4 2 0 1 1984 2026 1607 2724 +5951 4 2 0 1 935 1724 2115 2461 +5952 4 2 0 1 1138 272 1930 2713 +5953 4 2 0 1 1852 2231 2037 2373 +5954 4 2 0 1 1572 2284 1788 2712 +5955 4 2 0 1 1801 2597 1564 2671 +5956 4 2 0 1 1598 2098 1773 2249 +5957 4 2 0 1 761 825 2316 2451 +5958 4 2 0 1 1732 1591 2123 2353 +5959 4 2 0 1 182 2030 1778 2211 +5960 4 2 0 1 401 343 334 2268 +5961 4 2 0 1 2143 2257 1938 2520 +5962 4 2 0 1 1772 2275 1893 2550 +5963 4 2 0 1 1670 2478 1940 2604 +5964 4 2 0 1 1994 2178 1292 2563 +5965 4 2 0 1 1570 1798 1886 2072 +5966 4 2 0 1 1650 2150 1916 2682 +5967 4 2 0 1 1276 2171 1933 2205 +5968 4 2 0 1 488 1069 1065 1927 +5969 4 2 0 1 255 2297 499 2438 +5970 4 2 0 1 1724 2461 935 2589 +5971 4 2 0 1 1784 1962 1538 2460 +5972 4 2 0 1 1796 2027 1558 2145 +5973 4 2 0 1 1820 2291 2022 2609 +5974 4 2 0 1 1862 2431 1851 2731 +5975 4 2 0 1 1536 1734 1949 2313 +5976 4 2 0 1 1850 2323 2005 2614 +5977 4 2 0 1 1547 1901 2238 2356 +5978 4 2 0 1 989 1907 1016 2125 +5979 4 2 0 1 2178 2563 1708 2730 +5980 4 2 0 1 1335 1341 1762 1992 +5981 4 2 0 1 2176 2319 1716 2423 +5982 4 2 0 1 1751 2224 1898 2636 +5983 4 2 0 1 1575 1763 2119 2509 +5984 4 2 0 1 325 2200 330 2328 +5985 4 2 0 1 1911 2105 1714 2510 +5986 4 2 0 1 1641 2118 1998 2354 +5987 4 2 0 1 1649 2027 1747 2762 +5988 4 2 0 1 708 2171 2099 2596 +5989 4 2 0 1 1813 2200 1736 2399 +5990 4 2 0 1 1724 1599 2129 2365 +5991 4 2 0 1 1720 2157 1989 2779 +5992 4 2 0 1 1354 1368 1235 2507 +5993 4 2 0 1 500 2225 504 2626 +5994 4 2 0 1 2109 2523 1946 2628 +5995 4 2 0 1 1988 2290 1844 2388 +5996 4 2 0 1 1685 2265 1933 2596 +5997 4 2 0 1 1318 1336 1192 1727 +5998 4 2 0 1 1133 1787 1271 2056 +5999 4 2 0 1 1271 1049 1281 1787 +6000 4 2 0 1 1635 1941 1768 2465 +6001 4 2 0 1 1420 1808 1195 2018 +6002 4 2 0 1 1557 1746 2541 2768 +6003 4 2 0 1 1672 2133 1589 2302 +6004 4 2 0 1 231 837 465 2068 +6005 4 2 0 1 1999 2061 1832 2486 +6006 4 2 0 1 1660 1981 1846 2491 +6007 4 2 0 1 1588 2067 1736 2632 +6008 4 2 0 1 975 860 2382 2421 +6009 4 2 0 1 1205 1281 1049 1787 +6010 4 2 0 1 1649 1747 2027 2597 +6011 4 2 0 1 881 1889 899 2589 +6012 4 2 0 1 1940 2478 2173 2789 +6013 4 2 0 1 1707 1914 1576 2346 +6014 4 2 0 1 1882 2098 1531 2249 +6015 4 2 0 1 1546 1898 2444 2771 +6016 4 2 0 1 1579 1886 1728 2226 +6017 4 2 0 1 1849 1877 1643 2426 +6018 4 2 0 1 497 2359 399 2472 +6019 4 2 0 1 1724 1771 2385 2644 +6020 4 2 0 1 1753 1676 2237 2590 +6021 4 2 0 1 1653 2141 1949 2169 +6022 4 2 0 1 565 573 629 1995 +6023 4 2 0 1 2217 2508 1718 2714 +6024 4 2 0 1 2005 2614 361 2669 +6025 4 2 0 1 1904 2054 1072 2202 +6026 4 2 0 1 1535 1892 2487 2665 +6027 4 2 0 1 2229 2552 2232 2563 +6028 4 2 0 1 1564 1917 1867 2611 +6029 4 2 0 1 1620 1804 2245 2707 +6030 4 2 0 1 1749 2615 2351 2718 +6031 4 2 0 1 1540 2071 1701 2230 +6032 4 2 0 1 1933 2265 1685 2718 +6033 4 2 0 1 1855 2074 1765 2585 +6034 4 2 0 1 899 881 950 1781 +6035 4 2 0 1 1800 2409 1877 2685 +6036 4 2 0 1 1830 2024 1542 2693 +6037 4 2 0 1 1705 2620 2474 2833 +6038 4 2 0 1 1565 1749 2322 2351 +6039 4 2 0 1 155 1771 1013 2165 +6040 4 2 0 1 752 799 803 1942 +6041 4 2 0 1 1359 2132 2294 2467 +6042 4 2 0 1 1545 2437 2164 2807 +6043 4 2 0 1 1533 2334 1802 2504 +6044 4 2 0 1 556 2236 2169 2390 +6045 4 2 0 1 1587 2040 1775 2075 +6046 4 2 0 1 1866 2112 1689 2654 +6047 4 2 0 1 1564 2647 1801 2671 +6048 4 2 0 1 1086 2518 2138 2594 +6049 4 2 0 1 2494 2495 2049 2561 +6050 4 2 0 1 168 1813 325 2399 +6051 4 2 0 1 1533 1753 1920 2334 +6052 4 2 0 1 1777 2290 2257 2707 +6053 4 2 0 1 1878 2249 1598 2440 +6054 4 2 0 1 1674 2705 1985 2773 +6055 4 2 0 1 852 828 1771 2186 +6056 4 2 0 1 325 1813 356 2399 +6057 4 2 0 1 829 1890 725 2684 +6058 4 2 0 1 1009 1751 921 2562 +6059 4 2 0 1 1834 2013 1561 2654 +6060 4 2 0 1 392 2262 1823 2516 +6061 4 2 0 1 1817 2233 1628 2261 +6062 4 2 0 1 1701 1540 2524 2698 +6063 4 2 0 1 871 875 994 2803 +6064 4 2 0 1 1158 1065 1142 1927 +6065 4 2 0 1 1547 2238 1745 2282 +6066 4 2 0 1 1799 538 2009 2408 +6067 4 2 0 1 1931 2280 2061 2588 +6068 4 2 0 1 1715 1660 2060 2491 +6069 4 2 0 1 1642 2174 1854 2515 +6070 4 2 0 1 2013 2220 1706 2654 +6071 4 2 0 1 1636 1844 1824 2704 +6072 4 2 0 1 1544 1721 2182 2537 +6073 4 2 0 1 2264 2339 1053 2522 +6074 4 2 0 1 1628 1889 1781 2081 +6075 4 2 0 1 1563 1861 1965 2391 +6076 4 2 0 1 388 418 272 2713 +6077 4 2 0 1 2401 2688 1833 2809 +6078 4 2 0 1 1777 1900 2290 2806 +6079 4 2 0 1 1809 2450 1884 2530 +6080 4 2 0 1 801 1740 814 2028 +6081 4 2 0 1 2070 2158 1624 2287 +6082 4 2 0 1 1780 1638 1922 2512 +6083 4 2 0 1 787 731 2055 2529 +6084 4 2 0 1 1734 1968 1878 2047 +6085 4 2 0 1 1648 1776 2014 2717 +6086 4 2 0 1 1709 2300 1784 2309 +6087 4 2 0 1 1745 2060 1617 2238 +6088 4 2 0 1 1792 2163 1690 2702 +6089 4 2 0 1 1578 2345 2443 2705 +6090 4 2 0 1 1538 2102 2078 2703 +6091 4 2 0 1 1784 1962 1932 2309 +6092 4 2 0 1 1732 2123 2219 2680 +6093 4 2 0 1 1656 1795 1925 2006 +6094 4 2 0 1 1694 2292 1847 2366 +6095 4 2 0 1 1314 1372 1926 2302 +6096 4 2 0 1 1060 2406 1819 2424 +6097 4 2 0 1 1574 2454 2036 2746 +6098 4 2 0 1 1113 1060 1819 2394 +6099 4 2 0 1 1557 2108 1746 2218 +6100 4 2 0 1 1905 2017 1778 2815 +6101 4 2 0 1 1158 488 1065 1927 +6102 4 2 0 1 1125 1143 2119 2255 +6103 4 2 0 1 1005 928 1748 2591 +6104 4 2 0 1 1700 662 2256 2672 +6105 4 2 0 1 1552 2482 1900 2593 +6106 4 2 0 1 1822 1881 2508 2773 +6107 4 2 0 1 1545 1833 2052 2088 +6108 4 2 0 1 1835 1903 1695 2799 +6109 4 2 0 1 1600 2101 1847 2366 +6110 4 2 0 1 1926 2429 1712 2765 +6111 4 2 0 1 1238 2008 1432 2205 +6112 4 2 0 1 1634 2084 2159 2376 +6113 4 2 0 1 1626 2265 1991 2596 +6114 4 2 0 1 1266 1708 2563 2730 +6115 4 2 0 1 2114 2119 1763 2509 +6116 4 2 0 1 1579 2072 1935 2285 +6117 4 2 0 1 447 2200 1879 2446 +6118 4 2 0 1 1694 1631 2189 2680 +6119 4 2 0 1 1551 2074 1765 2341 +6120 4 2 0 1 805 769 1826 2307 +6121 4 2 0 1 1603 1947 1829 2357 +6122 4 2 0 1 1617 2060 1715 2368 +6123 4 2 0 1 2214 2296 1928 2813 +6124 4 2 0 1 1568 1963 2440 2820 +6125 4 2 0 1 516 1946 149 2338 +6126 4 2 0 1 1552 2369 1835 2593 +6127 4 2 0 1 1788 1924 1223 2441 +6128 4 2 0 1 340 366 2159 2323 +6129 4 2 0 1 512 194 489 2626 +6130 4 2 0 1 1164 1089 1864 2584 +6131 4 2 0 1 2187 2216 1698 2540 +6132 4 2 0 1 1760 2174 1923 2329 +6133 4 2 0 1 1529 1925 2006 2187 +6134 4 2 0 1 1849 1877 1582 2567 +6135 4 2 0 1 1634 2159 2084 2323 +6136 4 2 0 1 1528 1911 1812 2650 +6137 4 2 0 1 1809 1680 2450 2530 +6138 4 2 0 1 1754 2292 2221 2492 +6139 4 2 0 1 1571 1858 2265 2347 +6140 4 2 0 1 1957 2316 1752 2451 +6141 4 2 0 1 1706 2654 2050 2746 +6142 4 2 0 1 2123 1694 2219 2680 +6143 4 2 0 1 1585 2027 1778 2239 +6144 4 2 0 1 1553 2496 1956 2782 +6145 4 2 0 1 1558 2027 1796 2837 +6146 4 2 0 1 1880 1917 1564 2597 +6147 4 2 0 1 1125 1763 1103 2255 +6148 4 2 0 1 1627 1794 2131 2484 +6149 4 2 0 1 885 949 862 2477 +6150 4 2 0 1 1573 1868 2180 2672 +6151 4 2 0 1 1568 2396 2820 2831 +6152 4 2 0 1 1742 1976 1199 2435 +6153 4 2 0 1 2306 2454 1750 2572 +6154 4 2 0 1 1632 2117 1876 2617 +6155 4 2 0 1 1528 1714 2111 2510 +6156 4 2 0 1 1680 1948 1809 2433 +6157 4 2 0 1 1905 1985 1674 2705 +6158 4 2 0 1 2085 2219 1806 2293 +6159 4 2 0 1 1125 1143 1763 2119 +6160 4 2 0 1 706 746 781 2379 +6161 4 2 0 1 1206 2117 1278 2785 +6162 4 2 0 1 1009 983 2162 2695 +6163 4 2 0 1 1558 2502 2017 2773 +6164 4 2 0 1 1737 1594 2134 2483 +6165 4 2 0 1 1610 2363 1839 2784 +6166 4 2 0 1 1553 1758 2206 2415 +6167 4 2 0 1 1967 1596 2286 2745 +6168 4 2 0 1 1545 2164 2676 2807 +6169 4 2 0 1 1468 1984 1460 2724 +6170 4 2 0 1 399 497 514 1831 +6171 4 2 0 1 707 747 2068 2501 +6172 4 2 0 1 1618 2206 2104 2215 +6173 4 2 0 1 165 957 164 1797 +6174 4 2 0 1 1733 2088 2052 2653 +6175 4 2 0 1 574 1884 2345 2530 +6176 4 2 0 1 1618 1766 2069 2496 +6177 4 2 0 1 2037 2110 1892 2487 +6178 4 2 0 1 299 2005 361 2669 +6179 4 2 0 1 764 700 1776 1936 +6180 4 2 0 1 1775 1863 1658 2565 +6181 4 2 0 1 1692 2392 1839 2754 +6182 4 2 0 1 1732 2293 1591 2353 +6183 4 2 0 1 1720 2166 2029 2779 +6184 4 2 0 1 2179 2264 1053 2522 +6185 4 2 0 1 1552 2029 2166 2779 +6186 4 2 0 1 1517 2026 1235 2507 +6187 4 2 0 1 230 2153 1877 2567 +6188 4 2 0 1 2140 2278 1707 2696 +6189 4 2 0 1 1820 2021 1708 2755 +6190 4 2 0 1 2123 2156 1694 2680 +6191 4 2 0 1 852 1771 728 2055 +6192 4 2 0 1 784 2508 2217 2714 +6193 4 2 0 1 1790 2444 1898 2771 +6194 4 2 0 1 1841 2141 1653 2728 +6195 4 2 0 1 1874 2630 2452 2652 +6196 4 2 0 1 1823 1964 1605 2735 +6197 4 2 0 1 1805 1755 2254 2668 +6198 4 2 0 1 1589 2102 1926 2320 +6199 4 2 0 1 1754 1603 1929 2172 +6200 4 2 0 1 681 2180 1766 2246 +6201 4 2 0 1 786 773 720 1849 +6202 4 2 0 1 1563 1965 1861 2662 +6203 4 2 0 1 799 692 803 1942 +6204 4 2 0 1 1606 1699 1979 2757 +6205 4 2 0 1 1956 2496 1689 2782 +6206 4 2 0 1 1675 2065 1791 2266 +6207 4 2 0 1 1862 1535 2089 2431 +6208 4 2 0 1 1712 2429 1852 2765 +6209 4 2 0 1 1888 2166 1925 2216 +6210 4 2 0 1 299 1859 2005 2669 +6211 4 2 0 1 1579 1935 1798 2094 +6212 4 2 0 1 419 2200 168 2399 +6213 4 2 0 1 227 1737 430 2468 +6214 4 2 0 1 1510 1872 1298 2241 +6215 4 2 0 1 2039 1981 2505 2646 +6216 4 2 0 1 524 1946 2209 2477 +6217 4 2 0 1 465 2068 837 2106 +6218 4 2 0 1 2106 2502 1718 2635 +6219 4 2 0 1 1555 1908 1906 2608 +6220 4 2 0 1 457 430 472 2127 +6221 4 2 0 1 1880 1917 1747 2547 +6222 4 2 0 1 1748 1872 1624 2287 +6223 4 2 0 1 1580 2203 1839 2665 +6224 4 2 0 1 574 613 554 2345 +6225 4 2 0 1 1892 2037 1608 2373 +6226 4 2 0 1 1702 2258 2546 2652 +6227 4 2 0 1 612 1841 603 2236 +6228 4 2 0 1 1729 2073 1999 2545 +6229 4 2 0 1 2171 2205 1276 2513 +6230 4 2 0 1 1670 2286 1967 2752 +6231 4 2 0 1 1997 2298 1695 2741 +6232 4 2 0 1 1704 2313 2230 2427 +6233 4 2 0 1 1625 2296 2214 2813 +6234 4 2 0 1 1576 2232 2229 2552 +6235 4 2 0 1 1778 2017 1816 2776 +6236 4 2 0 1 1945 2004 1806 2312 +6237 4 2 0 1 1642 2012 1760 2174 +6238 4 2 0 1 1606 2228 1699 2757 +6239 4 2 0 1 1689 1783 2220 2348 +6240 4 2 0 1 1700 2260 2139 2481 +6241 4 2 0 1 717 2186 769 2307 +6242 4 2 0 1 1559 1729 1952 2793 +6243 4 2 0 1 1982 2088 1588 2446 +6244 4 2 0 1 1150 1775 1085 2170 +6245 4 2 0 1 1582 1977 2149 2163 +6246 4 2 0 1 1927 2049 478 2464 +6247 4 2 0 1 1325 2012 1361 2325 +6248 4 2 0 1 1540 1838 2071 2230 +6249 4 2 0 1 1087 1029 1846 2202 +6250 4 2 0 1 1616 1883 2187 2244 +6251 4 2 0 1 1575 2025 1863 2570 +6252 4 2 0 1 1740 1942 1571 2432 +6253 4 2 0 1 678 1725 2400 2569 +6254 4 2 0 1 1696 2055 2051 2135 +6255 4 2 0 1 1893 1992 1399 2201 +6256 4 2 0 1 399 2472 1831 2560 +6257 4 2 0 1 460 1809 2610 2661 +6258 4 2 0 1 1661 2178 1994 2563 +6259 4 2 0 1 1531 1836 2368 2505 +6260 4 2 0 1 2083 2315 1848 2792 +6261 4 2 0 1 1882 1989 1684 2103 +6262 4 2 0 1 2187 2244 1883 2548 +6263 4 2 0 1 1583 1964 1940 1981 +6264 4 2 0 1 891 2494 2049 2561 +6265 4 2 0 1 1352 1935 1316 2094 +6266 4 2 0 1 587 2053 620 2367 +6267 4 2 0 1 1540 2071 2059 2756 +6268 4 2 0 1 1701 1540 2230 2524 +6269 4 2 0 1 1727 1568 2340 2573 +6270 4 2 0 1 1848 2575 1720 2797 +6271 4 2 0 1 1621 1785 2204 2304 +6272 4 2 0 1 1618 2053 1828 2367 +6273 4 2 0 1 1586 1932 1962 2309 +6274 4 2 0 1 2015 2019 1698 2082 +6275 4 2 0 1 293 368 2448 2516 +6276 4 2 0 1 1607 1949 1799 2198 +6277 4 2 0 1 227 358 1737 2468 +6278 4 2 0 1 1152 2060 1960 2410 +6279 4 2 0 1 356 2196 1813 2328 +6280 4 2 0 1 762 2451 2034 2684 +6281 4 2 0 1 1647 1843 2085 2389 +6282 4 2 0 1 1559 1716 1952 2545 +6283 4 2 0 1 1363 1369 2042 2342 +6284 4 2 0 1 1531 2604 1882 2735 +6285 4 2 0 1 1639 1730 2215 2463 +6286 4 2 0 1 852 154 155 1771 +6287 4 2 0 1 1367 1944 1320 2462 +6288 4 2 0 1 1773 1882 1684 2675 +6289 4 2 0 1 291 2298 1997 2741 +6290 4 2 0 1 490 412 387 1918 +6291 4 2 0 1 1550 2004 1806 2418 +6292 4 2 0 1 2101 2366 411 2494 +6293 4 2 0 1 1528 2465 1966 2836 +6294 4 2 0 1 1564 2611 1867 2671 +6295 4 2 0 1 1626 1933 2265 2596 +6296 4 2 0 1 1704 2230 1874 2427 +6297 4 2 0 1 1913 1035 2170 2713 +6298 4 2 0 1 1682 2038 1969 2482 +6299 4 2 0 1 1879 1588 2088 2446 +6300 4 2 0 1 1538 1962 1784 2388 +6301 4 2 0 1 1189 2146 1707 2640 +6302 4 2 0 1 342 334 2268 2556 +6303 4 2 0 1 1617 1815 1972 2175 +6304 4 2 0 1 2052 2088 1833 2653 +6305 4 2 0 1 710 775 2508 2555 +6306 4 2 0 1 1272 1808 1259 2177 +6307 4 2 0 1 1564 1920 1753 2829 +6308 4 2 0 1 1771 2055 1696 2670 +6309 4 2 0 1 1581 1740 2045 2659 +6310 4 2 0 1 649 1845 594 1948 +6311 4 2 0 1 1954 2206 1758 2415 +6312 4 2 0 1 2258 2343 1702 2546 +6313 4 2 0 1 1886 2072 1943 2240 +6314 4 2 0 1 1756 1981 2025 2646 +6315 4 2 0 1 1858 2265 2008 2801 +6316 4 2 0 1 1699 2726 2412 2757 +6317 4 2 0 1 848 780 811 1855 +6318 4 2 0 1 1669 2078 1852 2231 +6319 4 2 0 1 1439 1798 2387 2763 +6320 4 2 0 1 2134 2389 1591 2832 +6321 4 2 0 1 324 224 398 2084 +6322 4 2 0 1 1609 1742 2091 2167 +6323 4 2 0 1 1984 2686 2026 2724 +6324 4 2 0 1 1869 1972 652 2390 +6325 4 2 0 1 680 643 587 1937 +6326 4 2 0 1 1928 2296 2214 2675 +6327 4 2 0 1 1658 2092 1904 2622 +6328 4 2 0 1 1594 2134 1919 2607 +6329 4 2 0 1 1613 2111 2000 2429 +6330 4 2 0 1 1617 1960 1715 2060 +6331 4 2 0 1 2214 2296 1625 2675 +6332 4 2 0 1 2260 2400 1725 2569 +6333 4 2 0 1 1498 2057 959 2241 +6334 4 2 0 1 1531 1981 2063 2505 +6335 4 2 0 1 311 2084 1733 2574 +6336 4 2 0 1 1709 2309 1550 2519 +6337 4 2 0 1 1680 2154 1934 2706 +6338 4 2 0 1 1790 1667 2428 2562 +6339 4 2 0 1 1245 1774 1321 2455 +6340 4 2 0 1 1388 2018 1221 2788 +6341 4 2 0 1 2022 2232 1539 2648 +6342 4 2 0 1 1983 2590 1676 2614 +6343 4 2 0 1 1760 1924 1923 2441 +6344 4 2 0 1 1950 2443 1916 2682 +6345 4 2 0 1 958 1006 2327 2576 +6346 4 2 0 1 140 2277 1955 2456 +6347 4 2 0 1 1584 2103 1882 2675 +6348 4 2 0 1 1561 2572 2011 2599 +6349 4 2 0 1 1799 1949 1653 2272 +6350 4 2 0 1 1912 1995 1637 2371 +6351 4 2 0 1 915 2233 1803 2775 +6352 4 2 0 1 1656 2108 2548 2578 +6353 4 2 0 1 1638 2044 1857 2310 +6354 4 2 0 1 1660 2238 2060 2733 +6355 4 2 0 1 464 1849 505 2692 +6356 4 2 0 1 1529 1888 2015 2300 +6357 4 2 0 1 1285 1206 1293 2056 +6358 4 2 0 1 1486 1256 1707 2146 +6359 4 2 0 1 503 998 516 2477 +6360 4 2 0 1 2057 2241 1654 2279 +6361 4 2 0 1 2061 2280 1931 2689 +6362 4 2 0 1 1559 1952 1729 2545 +6363 4 2 0 1 1893 2275 1772 2751 +6364 4 2 0 1 1664 2158 2070 2382 +6365 4 2 0 1 1897 2059 1592 2380 +6366 4 2 0 1 1575 2509 2114 2817 +6367 4 2 0 1 2343 2524 1595 2652 +6368 4 2 0 1 344 2092 1979 2448 +6369 4 2 0 1 1629 1765 2074 2341 +6370 4 2 0 1 764 2045 1776 2253 +6371 4 2 0 1 1961 2073 1593 2280 +6372 4 2 0 1 1315 1944 1187 2383 +6373 4 2 0 1 488 1069 1927 2424 +6374 4 2 0 1 2031 2437 1739 2809 +6375 4 2 0 1 661 1766 593 2246 +6376 4 2 0 1 1232 1333 1322 2012 +6377 4 2 0 1 1751 1790 2428 2562 +6378 4 2 0 1 1797 2188 1721 2625 +6379 4 2 0 1 1449 1798 1222 2247 +6380 4 2 0 1 766 2307 1957 2403 +6381 4 2 0 1 1945 2300 1709 2774 +6382 4 2 0 1 1852 2429 1556 2765 +6383 4 2 0 1 1471 2057 1307 2241 +6384 4 2 0 1 1006 2542 1687 2576 +6385 4 2 0 1 1363 1369 1217 2042 +6386 4 2 0 1 1537 2181 2386 2549 +6387 4 2 0 1 1585 2190 1733 2653 +6388 4 2 0 1 1954 2206 1553 2220 +6389 4 2 0 1 1529 2216 2187 2540 +6390 4 2 0 1 1618 1828 2104 2206 +6391 4 2 0 1 1785 1892 2304 2665 +6392 4 2 0 1 1321 1774 1245 2453 +6393 4 2 0 1 1760 2174 1908 2263 +6394 4 2 0 1 1893 2550 2275 2770 +6395 4 2 0 1 1133 1049 1271 1787 +6396 4 2 0 1 230 239 509 2153 +6397 4 2 0 1 1996 2597 1801 2671 +6398 4 2 0 1 2126 2548 1587 2578 +6399 4 2 0 1 351 208 1879 2333 +6400 4 2 0 1 1529 2240 2015 2540 +6401 4 2 0 1 1700 2569 662 2672 +6402 4 2 0 1 1646 2264 2179 2522 +6403 4 2 0 1 773 1849 786 2403 +6404 4 2 0 1 1716 1594 2097 2319 +6405 4 2 0 1 1566 2105 1731 2261 +6406 4 2 0 1 1778 1985 1659 2239 +6407 4 2 0 1 1607 1937 1799 2408 +6408 4 2 0 1 1315 1475 1187 1944 +6409 4 2 0 1 1773 1537 2214 2440 +6410 4 2 0 1 1593 1961 2086 2545 +6411 4 2 0 1 693 797 800 2288 +6412 4 2 0 1 2265 2351 1785 2718 +6413 4 2 0 1 150 2338 1946 2628 +6414 4 2 0 1 1998 2136 1641 2354 +6415 4 2 0 1 1702 1874 2524 2652 +6416 4 2 0 1 1564 2647 2671 2699 +6417 4 2 0 1 939 868 2287 2715 +6418 4 2 0 1 209 2200 1982 2328 +6419 4 2 0 1 1648 2100 2079 2360 +6420 4 2 0 1 770 1860 854 2638 +6421 4 2 0 1 1401 1426 1399 2770 +6422 4 2 0 1 893 1797 165 2278 +6423 4 2 0 1 299 1859 183 2647 +6424 4 2 0 1 1584 2019 1773 2549 +6425 4 2 0 1 1253 2201 1178 2455 +6426 4 2 0 1 379 1861 420 1965 +6427 4 2 0 1 242 1831 514 2560 +6428 4 2 0 1 1093 2346 1041 2458 +6429 4 2 0 1 1784 1538 2402 2460 +6430 4 2 0 1 1631 1694 2156 2680 +6431 4 2 0 1 1844 2257 1824 2704 +6432 4 2 0 1 1588 2088 1982 2430 +6433 4 2 0 1 1630 1934 2154 2706 +6434 4 2 0 1 1893 2550 1824 2751 +6435 4 2 0 1 1825 1934 1630 2192 +6436 4 2 0 1 708 2596 2099 2677 +6437 4 2 0 1 835 1210 1264 1933 +6438 4 2 0 1 1596 1967 2286 2752 +6439 4 2 0 1 2113 2517 1657 2590 +6440 4 2 0 1 626 2359 515 2610 +6441 4 2 0 1 703 1957 2316 2403 +6442 4 2 0 1 1561 1818 1866 2112 +6443 4 2 0 1 1718 2436 771 2508 +6444 4 2 0 1 1550 1806 2293 2418 +6445 4 2 0 1 1132 517 266 2626 +6446 4 2 0 1 1663 1968 1742 2026 +6447 4 2 0 1 1555 1769 2608 2736 +6448 4 2 0 1 308 207 2130 2624 +6449 4 2 0 1 500 1904 504 2225 +6450 4 2 0 1 1915 1965 379 2791 +6451 4 2 0 1 1712 2429 2111 2566 +6452 4 2 0 1 206 2614 1983 2669 +6453 4 2 0 1 1720 1989 2157 2355 +6454 4 2 0 1 1448 1906 1386 2263 +6455 4 2 0 1 1892 1986 1608 2037 +6456 4 2 0 1 1587 2108 2040 2578 +6457 4 2 0 1 1659 1778 2239 2653 +6458 4 2 0 1 1367 2057 1944 2462 +6459 4 2 0 1 1005 2287 1748 2382 +6460 4 2 0 1 1592 2059 1897 2827 +6461 4 2 0 1 1175 1018 1086 2138 +6462 4 2 0 1 1644 2391 1965 2438 +6463 4 2 0 1 2351 2615 1580 2718 +6464 4 2 0 1 1737 1591 1939 2489 +6465 4 2 0 1 1740 1581 2028 2432 +6466 4 2 0 1 1621 1757 2307 2363 +6467 4 2 0 1 1681 2613 2228 2768 +6468 4 2 0 1 149 1946 150 2338 +6469 4 2 0 1 1266 2563 2178 2730 +6470 4 2 0 1 764 1776 823 2253 +6471 4 2 0 1 1763 1975 1088 2414 +6472 4 2 0 1 1625 2103 1900 2806 +6473 4 2 0 1 523 1720 519 2624 +6474 4 2 0 1 1818 2820 2396 2831 +6475 4 2 0 1 1423 580 1198 2294 +6476 4 2 0 1 1694 1631 2156 2189 +6477 4 2 0 1 1541 2065 1865 2310 +6478 4 2 0 1 1660 1842 1975 2544 +6479 4 2 0 1 1561 1866 1818 2396 +6480 4 2 0 1 2161 2555 714 2649 +6481 4 2 0 1 1054 2278 2140 2696 +6482 4 2 0 1 1838 2391 1770 2823 +6483 4 2 0 1 2116 2527 1739 2798 +6484 4 2 0 1 1846 1975 1660 2491 +6485 4 2 0 1 1549 1876 2039 2600 +6486 4 2 0 1 1531 1964 1940 2735 +6487 4 2 0 1 1143 1055 1088 2119 +6488 4 2 0 1 1958 2471 2183 2506 +6489 4 2 0 1 1536 2313 1949 2723 +6490 4 2 0 1 1580 2665 1839 2754 +6491 4 2 0 1 2177 2184 1204 2299 +6492 4 2 0 1 1140 2035 162 2416 +6493 4 2 0 1 386 431 2207 2661 +6494 4 2 0 1 1947 2366 1847 2683 +6495 4 2 0 1 1759 2234 1854 2515 +6496 4 2 0 1 778 851 815 2596 +6497 4 2 0 1 1907 2057 1654 2279 +6498 4 2 0 1 2085 2293 1806 2418 +6499 4 2 0 1 1551 1792 2341 2702 +6500 4 2 0 1 1746 2138 1959 2828 +6501 4 2 0 1 1634 2005 1801 2242 +6502 4 2 0 1 1828 1618 2367 2725 +6503 4 2 0 1 423 2173 512 2225 +6504 4 2 0 1 438 2128 1156 2422 +6505 4 2 0 1 1102 1904 1072 2202 +6506 4 2 0 1 497 1831 399 2359 +6507 4 2 0 1 1585 1733 2052 2653 +6508 4 2 0 1 1195 2018 1808 2374 +6509 4 2 0 1 955 1390 1436 2057 +6510 4 2 0 1 2044 2455 1651 2493 +6511 4 2 0 1 1036 1127 1994 2255 +6512 4 2 0 1 2275 2550 1633 2770 +6513 4 2 0 1 2060 2238 1745 2733 +6514 4 2 0 1 1575 1975 1763 2544 +6515 4 2 0 1 426 1809 644 2610 +6516 4 2 0 1 1537 2386 2142 2440 +6517 4 2 0 1 747 2106 2068 2501 +6518 4 2 0 1 671 1869 640 2390 +6519 4 2 0 1 1702 1899 2139 2580 +6520 4 2 0 1 1841 2728 2236 2745 +6521 4 2 0 1 1851 1619 2431 2490 +6522 4 2 0 1 1781 1204 2184 2299 +6523 4 2 0 1 924 1907 1016 2553 +6524 4 2 0 1 1769 1555 1908 2736 +6525 4 2 0 1 1302 1315 2383 2531 +6526 4 2 0 1 1651 2044 1938 2520 +6527 4 2 0 1 1953 2136 1743 2354 +6528 4 2 0 1 949 2477 1729 2637 +6529 4 2 0 1 1567 2196 1813 2207 +6530 4 2 0 1 368 382 2448 2516 +6531 4 2 0 1 1003 1790 1000 2562 +6532 4 2 0 1 235 1850 456 2159 +6533 4 2 0 1 1672 2420 2208 2668 +6534 4 2 0 1 2015 2240 1691 2540 +6535 4 2 0 1 1206 1293 2056 2785 +6536 4 2 0 1 1906 1386 2263 2711 +6537 4 2 0 1 592 1831 514 2359 +6538 4 2 0 1 306 2190 1801 2744 +6539 4 2 0 1 1537 1807 2019 2214 +6540 4 2 0 1 2038 2071 1701 2698 +6541 4 2 0 1 2125 2248 858 2588 +6542 4 2 0 1 717 776 1757 2307 +6543 4 2 0 1 1609 2142 1887 2356 +6544 4 2 0 1 1545 2088 2052 2676 +6545 4 2 0 1 311 1733 295 2574 +6546 4 2 0 1 190 254 261 2456 +6547 4 2 0 1 950 881 937 2081 +6548 4 2 0 1 1669 1791 1938 2231 +6549 4 2 0 1 1620 2199 1774 2201 +6550 4 2 0 1 1536 2047 1734 2313 +6551 4 2 0 1 1733 2446 1659 2653 +6552 4 2 0 1 1897 2330 2046 2560 +6553 4 2 0 1 1539 2151 1853 2509 +6554 4 2 0 1 1549 1901 2544 2716 +6555 4 2 0 1 413 2068 377 2106 +6556 4 2 0 1 1309 2076 1755 2668 +6557 4 2 0 1 1164 1122 1089 2584 +6558 4 2 0 1 1565 2351 2322 2783 +6559 4 2 0 1 1887 2142 1666 2356 +6560 4 2 0 1 1150 1775 1031 2565 +6561 4 2 0 1 1625 2019 1807 2214 +6562 4 2 0 1 794 754 1933 2171 +6563 4 2 0 1 1567 2139 2260 2481 +6564 4 2 0 1 1865 2065 1759 2310 +6565 4 2 0 1 2005 2323 205 2614 +6566 4 2 0 1 354 2123 1895 2489 +6567 4 2 0 1 1584 2019 1888 2103 +6568 4 2 0 1 1753 2431 2110 2633 +6569 4 2 0 1 1963 2214 2440 2820 +6570 4 2 0 1 1830 1865 1572 2276 +6571 4 2 0 1 1784 1601 1945 2418 +6572 4 2 0 1 1511 1473 973 2241 +6573 4 2 0 1 1773 2019 2386 2549 +6574 4 2 0 1 1853 2646 2083 2660 +6575 4 2 0 1 1233 1412 2091 2507 +6576 4 2 0 1 921 876 989 2279 +6577 4 2 0 1 1592 1841 2321 2761 +6578 4 2 0 1 1016 1907 870 2553 +6579 4 2 0 1 1934 1680 2706 2786 +6580 4 2 0 1 1962 1844 2290 2388 +6581 4 2 0 1 763 1855 848 2378 +6582 4 2 0 1 663 1815 617 2236 +6583 4 2 0 1 1647 2134 1919 2389 +6584 4 2 0 1 1542 1830 1923 2024 +6585 4 2 0 1 1541 1938 1791 2476 +6586 4 2 0 1 1425 1992 1228 2770 +6587 4 2 0 1 1797 2070 1721 2188 +6588 4 2 0 1 290 2062 293 2448 +6589 4 2 0 1 1737 2127 2023 2679 +6590 4 2 0 1 1072 1904 1132 2054 +6591 4 2 0 1 1593 1832 2061 2280 +6592 4 2 0 1 1571 2347 2432 2659 +6593 4 2 0 1 372 351 208 1879 +6594 4 2 0 1 410 1965 499 1967 +6595 4 2 0 1 1839 2392 2361 2754 +6596 4 2 0 1 652 640 685 1869 +6597 4 2 0 1 1868 2122 1592 2618 +6598 4 2 0 1 2027 2145 1796 2447 +6599 4 2 0 1 1772 1824 2550 2751 +6600 4 2 0 1 1771 2361 1839 2385 +6601 4 2 0 1 548 593 2069 2246 +6602 4 2 0 1 504 1904 170 2225 +6603 4 2 0 1 1662 2212 2120 2687 +6604 4 2 0 1 1377 1214 2325 2512 +6605 4 2 0 1 1926 2016 1305 2667 +6606 4 2 0 1 1836 2175 1734 2193 +6607 4 2 0 1 1773 2019 1537 2386 +6608 4 2 0 1 614 2400 584 2530 +6609 4 2 0 1 1209 1678 2381 2493 +6610 4 2 0 1 1961 2086 274 2107 +6611 4 2 0 1 1233 1421 1199 2091 +6612 4 2 0 1 2052 2088 1733 2676 +6613 4 2 0 1 1633 2148 1762 2243 +6614 4 2 0 1 621 534 1990 2344 +6615 4 2 0 1 1573 1956 2010 2630 +6616 4 2 0 1 710 701 1822 2436 +6617 4 2 0 1 1608 2118 1892 2829 +6618 4 2 0 1 1840 2195 1549 2273 +6619 4 2 0 1 1579 1943 2072 2285 +6620 4 2 0 1 929 2073 867 2280 +6621 4 2 0 1 1693 1854 2174 2183 +6622 4 2 0 1 1820 2022 2289 2609 +6623 4 2 0 1 1181 1478 1115 1994 +6624 4 2 0 1 1835 2593 1903 2799 +6625 4 2 0 1 323 2559 337 2601 +6626 4 2 0 1 1867 2149 1535 2431 +6627 4 2 0 1 1746 2138 1122 2458 +6628 4 2 0 1 892 2523 1946 2637 +6629 4 2 0 1 1371 1760 1234 2263 +6630 4 2 0 1 1847 1947 1694 2366 +6631 4 2 0 1 1549 1876 2600 2617 +6632 4 2 0 1 1624 2158 2070 2188 +6633 4 2 0 1 1118 1166 2349 2564 +6634 4 2 0 1 1538 2078 2102 2460 +6635 4 2 0 1 584 590 644 2400 +6636 4 2 0 1 1677 1897 2297 2330 +6637 4 2 0 1 1548 2158 1814 2224 +6638 4 2 0 1 204 1801 2005 2647 +6639 4 2 0 1 1268 2289 1708 2730 +6640 4 2 0 1 1581 1740 2028 2045 +6641 4 2 0 1 1571 1942 1740 2347 +6642 4 2 0 1 725 1890 762 2684 +6643 4 2 0 1 649 1845 1948 2786 +6644 4 2 0 1 1865 2065 1597 2471 +6645 4 2 0 1 618 2212 1786 2687 +6646 4 2 0 1 1532 2150 1782 2538 +6647 4 2 0 1 447 209 2200 2446 +6648 4 2 0 1 2026 2342 1235 2507 +6649 4 2 0 1 1003 990 877 2155 +6650 4 2 0 1 1794 1924 1622 2087 +6651 4 2 0 1 1699 2621 2726 2757 +6652 4 2 0 1 2093 2443 2100 2693 +6653 4 2 0 1 708 2099 817 2677 +6654 4 2 0 1 1606 1930 1913 2170 +6655 4 2 0 1 1825 2459 1921 2749 +6656 4 2 0 1 340 2159 1850 2323 +6657 4 2 0 1 1669 1962 1844 2290 +6658 4 2 0 1 1743 1953 1571 2136 +6659 4 2 0 1 1576 2619 2346 2810 +6660 4 2 0 1 2052 2084 1733 2190 +6661 4 2 0 1 1988 2300 2015 2806 +6662 4 2 0 1 924 1016 1907 2125 +6663 4 2 0 1 1528 1919 2465 2836 +6664 4 2 0 1 1667 2248 2486 2778 +6665 4 2 0 1 1671 2047 1866 2427 +6666 4 2 0 1 1570 2082 2015 2291 +6667 4 2 0 1 1667 2248 1832 2486 +6668 4 2 0 1 2286 2391 2380 2823 +6669 4 2 0 1 1666 1887 2356 2600 +6670 4 2 0 1 1877 2409 444 2685 +6671 4 2 0 1 565 667 576 2131 +6672 4 2 0 1 1861 2090 415 2185 +6673 4 2 0 1 399 1831 242 2560 +6674 4 2 0 1 1731 1589 2531 2788 +6675 4 2 0 1 2157 2657 1903 2741 +6676 4 2 0 1 1957 2307 1757 2403 +6677 4 2 0 1 566 138 1735 2419 +6678 4 2 0 1 1599 1724 2129 2160 +6679 4 2 0 1 1620 1717 2340 2599 +6680 4 2 0 1 1693 1923 2174 2329 +6681 4 2 0 1 1874 2116 1671 2524 +6682 4 2 0 1 1542 2079 1923 2372 +6683 4 2 0 1 1731 2018 1589 2788 +6684 4 2 0 1 1612 2320 1926 2429 +6685 4 2 0 1 1678 2001 1209 2381 +6686 4 2 0 1 584 644 1809 2400 +6687 4 2 0 1 405 2196 356 2328 +6688 4 2 0 1 1572 1788 2276 2712 +6689 4 2 0 1 1788 1924 1923 2305 +6690 4 2 0 1 1933 2557 2265 2718 +6691 4 2 0 1 1581 2045 2014 2659 +6692 4 2 0 1 1813 2196 356 2207 +6693 4 2 0 1 1794 1622 1924 2305 +6694 4 2 0 1 1594 1918 2571 2607 +6695 4 2 0 1 893 2137 1797 2278 +6696 4 2 0 1 1836 1617 2175 2595 +6697 4 2 0 1 1558 1881 1822 2773 +6698 4 2 0 1 962 2129 1832 2365 +6699 4 2 0 1 1563 1915 1965 2662 +6700 4 2 0 1 1517 1235 2026 2342 +6701 4 2 0 1 1592 1897 2618 2827 +6702 4 2 0 1 399 514 242 1831 +6703 4 2 0 1 860 1873 887 2382 +6704 4 2 0 1 1841 1653 2169 2728 +6705 4 2 0 1 1641 1811 1867 2611 +6706 4 2 0 1 1803 2057 1907 2462 +6707 4 2 0 1 225 2576 450 2679 +6708 4 2 0 1 757 831 468 2068 +6709 4 2 0 1 1748 2254 2158 2511 +6710 4 2 0 1 1440 1259 1420 2033 +6711 4 2 0 1 1875 2086 179 2097 +6712 4 2 0 1 2117 2223 1876 2617 +6713 4 2 0 1 1633 1963 1762 2340 +6714 4 2 0 1 2032 2116 1701 2230 +6715 4 2 0 1 1830 1923 1693 2372 +6716 4 2 0 1 1581 2014 1743 2659 +6717 4 2 0 1 1616 2187 1883 2648 +6718 4 2 0 1 761 2316 1957 2451 +6719 4 2 0 1 2000 2370 2037 2429 +6720 4 2 0 1 1324 2013 1340 2579 +6721 4 2 0 1 1567 2139 1891 2706 +6722 4 2 0 1 1888 2103 2019 2675 +6723 4 2 0 1 592 514 1831 2560 +6724 4 2 0 1 1625 1888 2019 2675 +6725 4 2 0 1 1859 2153 2409 2669 +6726 4 2 0 1 308 2130 207 2269 +6727 4 2 0 1 1608 2037 1986 2231 +6728 4 2 0 1 1241 2263 1234 2358 +6729 4 2 0 1 1699 2412 2726 2805 +6730 4 2 0 1 2119 2384 1019 2570 +6731 4 2 0 1 2011 2572 1683 2599 +6732 4 2 0 1 1555 1769 1908 2608 +6733 4 2 0 1 1541 2065 1791 2602 +6734 4 2 0 1 1593 1999 1738 2061 +6735 4 2 0 1 1551 2163 1792 2702 +6736 4 2 0 1 399 2359 1831 2472 +6737 4 2 0 1 1813 1588 2200 2328 +6738 4 2 0 1 1892 2373 1608 2829 +6739 4 2 0 1 915 1803 874 2462 +6740 4 2 0 1 1701 2071 1540 2698 +6741 4 2 0 1 1623 1876 2022 2223 +6742 4 2 0 1 1586 2290 1900 2806 +6743 4 2 0 1 1887 1537 2142 2243 +6744 4 2 0 1 1943 2072 1691 2240 +6745 4 2 0 1 1579 1935 2094 2420 +6746 4 2 0 1 1348 1511 1357 1872 +6747 4 2 0 1 1103 2056 1039 2255 +6748 4 2 0 1 182 1778 300 2211 +6749 4 2 0 1 1421 1248 1976 2091 +6750 4 2 0 1 955 1436 979 2057 +6751 4 2 0 1 1809 1884 2450 2533 +6752 4 2 0 1 2092 2448 382 2516 +6753 4 2 0 1 1601 1784 1943 2402 +6754 4 2 0 1 1969 2038 1697 2482 +6755 4 2 0 1 1641 2136 1953 2354 +6756 4 2 0 1 1578 2124 1955 2457 +6757 4 2 0 1 1632 1876 2117 2223 +6758 4 2 0 1 1165 1088 1975 2414 +6759 4 2 0 1 1734 1968 1949 2790 +6760 4 2 0 1 1819 1927 1603 2394 +6761 4 2 0 1 1622 1924 1760 2358 +6762 4 2 0 1 512 2626 2225 2818 +6763 4 2 0 1 1018 1086 2138 2594 +6764 4 2 0 1 1757 1621 2089 2363 +6765 4 2 0 1 1581 1743 2014 2213 +6766 4 2 0 1 1630 1948 1845 2786 +6767 4 2 0 1 1601 2402 1971 2480 +6768 4 2 0 1 1737 1939 1591 2134 +6769 4 2 0 1 1047 1101 1106 2060 +6770 4 2 0 1 612 2236 1815 2344 +6771 4 2 0 1 1177 1442 1922 2016 +6772 4 2 0 1 1800 444 2409 2685 +6773 4 2 0 1 1603 1910 2357 2764 +6774 4 2 0 1 792 723 2135 2670 +6775 4 2 0 1 1663 2026 1742 2507 +6776 4 2 0 1 922 1790 2542 2695 +6777 4 2 0 1 1807 2015 1570 2082 +6778 4 2 0 1 1873 2259 887 2382 +6779 4 2 0 1 1549 2273 2195 2716 +6780 4 2 0 1 638 1948 594 2260 +6781 4 2 0 1 1650 2239 2150 2682 +6782 4 2 0 1 1646 1745 1901 2522 +6783 4 2 0 1 1803 1944 1907 2057 +6784 4 2 0 1 349 344 223 1979 +6785 4 2 0 1 1361 2325 2012 2711 +6786 4 2 0 1 1796 2027 2447 2837 +6787 4 2 0 1 1065 1927 1069 2424 +6788 4 2 0 1 194 2626 512 2818 +6789 4 2 0 1 1596 1670 2173 2752 +6790 4 2 0 1 1897 2046 1831 2560 +6791 4 2 0 1 1792 1690 2163 2445 +6792 4 2 0 1 816 1860 729 2425 +6793 4 2 0 1 2206 2220 1954 2782 +6794 4 2 0 1 1721 1140 2274 2416 +6795 4 2 0 1 1805 2383 1944 2531 +6796 4 2 0 1 1809 1948 1680 2530 +6797 4 2 0 1 1843 2085 1591 2219 +6798 4 2 0 1 1630 1845 1948 2706 +6799 4 2 0 1 2098 2147 1882 2604 +6800 4 2 0 1 1534 2221 1754 2292 +6801 4 2 0 1 2077 2167 2091 2507 +6802 4 2 0 1 1678 2493 2016 2664 +6803 4 2 0 1 1944 2057 1803 2462 +6804 4 2 0 1 1533 1802 2270 2504 +6805 4 2 0 1 901 2070 2137 2287 +6806 4 2 0 1 1694 2156 1947 2189 +6807 4 2 0 1 1637 1921 1821 2749 +6808 4 2 0 1 1606 2170 1913 2642 +6809 4 2 0 1 1767 2676 2164 2807 +6810 4 2 0 1 1773 2098 1882 2249 +6811 4 2 0 1 885 936 949 1961 +6812 4 2 0 1 1560 1893 1824 2199 +6813 4 2 0 1 1562 1770 2286 2823 +6814 4 2 0 1 602 538 605 1799 +6815 4 2 0 1 1685 2265 1785 2718 +6816 4 2 0 1 2162 2421 2382 2738 +6817 4 2 0 1 1086 2518 2594 2603 +6818 4 2 0 1 1580 2615 2351 2754 +6819 4 2 0 1 1342 1780 1177 2512 +6820 4 2 0 1 1629 2106 1816 2502 +6821 4 2 0 1 1779 1588 2088 2164 +6822 4 2 0 1 212 1939 2123 2489 +6823 4 2 0 1 1826 2034 1580 2529 +6824 4 2 0 1 1710 2594 2518 2603 +6825 4 2 0 1 1645 2063 2039 2600 +6826 4 2 0 1 1108 2095 2043 2518 +6827 4 2 0 1 1047 1101 2060 2491 +6828 4 2 0 1 1368 1517 1235 2507 +6829 4 2 0 1 770 854 1860 2161 +6830 4 2 0 1 1564 1753 1920 2699 +6831 4 2 0 1 2016 2033 1337 2667 +6832 4 2 0 1 995 893 166 2278 +6833 4 2 0 1 1667 1790 2428 2771 +6834 4 2 0 1 626 515 451 2610 +6835 4 2 0 1 1154 1031 2170 2565 +6836 4 2 0 1 1525 1284 2135 2822 +6837 4 2 0 1 1941 2085 1768 2465 +6838 4 2 0 1 1150 2191 1775 2384 +6839 4 2 0 1 710 771 2436 2508 +6840 4 2 0 1 1764 2177 1554 2361 +6841 4 2 0 1 1588 1871 1779 2343 +6842 4 2 0 1 1622 2079 1923 2305 +6843 4 2 0 1 1216 1324 1340 2655 +6844 4 2 0 1 1924 2087 1456 2358 +6845 4 2 0 1 1570 1798 2072 2747 +6846 4 2 0 1 1637 1995 1912 2294 +6847 4 2 0 1 1686 2262 293 2516 +6848 4 2 0 1 2023 2389 2134 2832 +6849 4 2 0 1 141 1955 140 2277 +6850 4 2 0 1 1763 1876 2114 2509 +6851 4 2 0 1 1559 1862 1851 2731 +6852 4 2 0 1 1778 2027 1585 2030 +6853 4 2 0 1 274 1961 250 2086 +6854 4 2 0 1 1918 1722 2571 2607 +6855 4 2 0 1 1584 2019 2103 2675 +6856 4 2 0 1 306 1801 204 2744 +6857 4 2 0 1 1335 1230 1412 2721 +6858 4 2 0 1 1589 1731 2531 2558 +6859 4 2 0 1 1416 1267 1268 1708 +6860 4 2 0 1 1652 1949 1734 2141 +6861 4 2 0 1 1510 1511 1298 1872 +6862 4 2 0 1 1238 1386 1432 2008 +6863 4 2 0 1 150 1946 791 2628 +6864 4 2 0 1 2038 2090 1697 2662 +6865 4 2 0 1 176 339 309 2269 +6866 4 2 0 1 1682 1900 2482 2593 +6867 4 2 0 1 758 2288 1713 2585 +6868 4 2 0 1 1732 2004 1896 2748 +6869 4 2 0 1 1932 1962 1784 2623 +6870 4 2 0 1 2032 2230 1838 2678 +6871 4 2 0 1 935 1014 968 2589 +6872 4 2 0 1 1881 1648 2161 2643 +6873 4 2 0 1 1880 1747 2354 2547 +6874 4 2 0 1 1629 1855 2074 2501 +6875 4 2 0 1 2141 2169 1653 2728 +6876 4 2 0 1 1150 1031 1775 2170 +6877 4 2 0 1 1636 1987 1844 2470 +6878 4 2 0 1 1726 1786 2093 2283 +6879 4 2 0 1 1843 1591 2389 2832 +6880 4 2 0 1 756 806 2171 2631 +6881 4 2 0 1 1734 1949 2313 2723 +6882 4 2 0 1 2152 2385 2160 2616 +6883 4 2 0 1 1638 2234 1759 2515 +6884 4 2 0 1 1987 2072 1691 2470 +6885 4 2 0 1 1970 2270 1802 2504 +6886 4 2 0 1 2199 2245 1804 2707 +6887 4 2 0 1 1831 2481 2359 2569 +6888 4 2 0 1 1572 1788 1923 2276 +6889 4 2 0 1 482 478 1927 2049 +6890 4 2 0 1 535 566 2197 2419 +6891 4 2 0 1 1300 2301 1837 2740 +6892 4 2 0 1 1711 2509 1853 2817 +6893 4 2 0 1 762 1890 725 2451 +6894 4 2 0 1 675 2569 2260 2672 +6895 4 2 0 1 1569 1851 1966 2423 +6896 4 2 0 1 1611 1856 2527 2602 +6897 4 2 0 1 1223 1924 1788 2475 +6898 4 2 0 1 1609 1887 1840 2195 +6899 4 2 0 1 2015 2300 1888 2806 +6900 4 2 0 1 165 893 957 1797 +6901 4 2 0 1 1692 2037 2000 2370 +6902 4 2 0 1 783 769 717 2186 +6903 4 2 0 1 1592 2321 2046 2761 +6904 4 2 0 1 216 392 302 1823 +6905 4 2 0 1 1739 2116 1701 2311 +6906 4 2 0 1 1194 2177 1764 2822 +6907 4 2 0 1 1643 1946 2331 2793 +6908 4 2 0 1 1322 2012 2284 2441 +6909 4 2 0 1 1565 1885 2322 2801 +6910 4 2 0 1 1701 2311 2038 2437 +6911 4 2 0 1 1671 2230 2313 2427 +6912 4 2 0 1 1321 1774 2453 2455 +6913 4 2 0 1 1320 1944 1452 2462 +6914 4 2 0 1 2041 2485 716 2666 +6915 4 2 0 1 1822 1855 763 2378 +6916 4 2 0 1 1539 1708 2022 2223 +6917 4 2 0 1 1965 2147 1670 2791 +6918 4 2 0 1 1795 2726 2621 2757 +6919 4 2 0 1 1729 2523 1793 2637 +6920 4 2 0 1 1968 2250 1949 2790 +6921 4 2 0 1 1791 1938 1541 2143 +6922 4 2 0 1 540 611 583 2294 +6923 4 2 0 1 2075 2191 1711 2384 +6924 4 2 0 1 1575 2039 1975 2544 +6925 4 2 0 1 1864 2541 2170 2584 +6926 4 2 0 1 2041 2379 716 2485 +6927 4 2 0 1 1771 2385 2644 2742 +6928 4 2 0 1 1575 2119 2114 2509 +6929 4 2 0 1 1859 2671 2647 2699 +6930 4 2 0 1 1597 1833 2150 2506 +6931 4 2 0 1 2084 2376 2052 2676 +6932 4 2 0 1 1614 2274 2064 2416 +6933 4 2 0 1 213 1897 2020 2472 +6934 4 2 0 1 1647 1919 1768 2465 +6935 4 2 0 1 274 2107 2086 2612 +6936 4 2 0 1 1602 2090 1861 2185 +6937 4 2 0 1 1676 2237 1859 2352 +6938 4 2 0 1 1923 1924 1788 2441 +6939 4 2 0 1 2298 2353 1732 2795 +6940 4 2 0 1 692 803 1942 2288 +6941 4 2 0 1 1839 2361 1771 2784 +6942 4 2 0 1 1859 1619 2237 2669 +6943 4 2 0 1 1923 2079 1693 2372 +6944 4 2 0 1 1776 1648 2079 2649 +6945 4 2 0 1 1814 2224 2158 2738 +6946 4 2 0 1 1805 2254 2383 2668 +6947 4 2 0 1 1171 2095 1108 2518 +6948 4 2 0 1 1951 2182 1640 2335 +6949 4 2 0 1 1569 2113 1980 2590 +6950 4 2 0 1 1579 1798 1935 2072 +6951 4 2 0 1 274 2086 483 2612 +6952 4 2 0 1 1527 1928 2032 2296 +6953 4 2 0 1 805 1826 2034 2307 +6954 4 2 0 1 1924 2475 1311 2484 +6955 4 2 0 1 1568 1963 1762 2167 +6956 4 2 0 1 1574 2308 1750 2538 +6957 4 2 0 1 1783 2050 1750 2538 +6958 4 2 0 1 1633 1762 1963 2243 +6959 4 2 0 1 1601 1728 2227 2479 +6960 4 2 0 1 1919 2176 1768 2465 +6961 4 2 0 1 1153 1661 1994 2582 +6962 4 2 0 1 1305 1372 1442 2016 +6963 4 2 0 1 1607 2026 1984 2686 +6964 4 2 0 1 1900 1970 1835 2364 +6965 4 2 0 1 779 1826 2055 2529 +6966 4 2 0 1 2000 2320 2111 2834 +6967 4 2 0 1 1661 2229 2095 2232 +6968 4 2 0 1 1554 2361 1771 2385 +6969 4 2 0 1 1082 1019 2384 2570 +6970 4 2 0 1 1369 1217 2042 2579 +6971 4 2 0 1 594 675 2260 2672 +6972 4 2 0 1 1646 2522 1901 2716 +6973 4 2 0 1 2059 2071 1838 2756 +6974 4 2 0 1 1430 1360 1828 2104 +6975 4 2 0 1 884 2461 888 2589 +6976 4 2 0 1 1982 2200 209 2446 +6977 4 2 0 1 1564 1801 2242 2597 +6978 4 2 0 1 1553 2220 2206 2782 +6979 4 2 0 1 854 1860 816 2638 +6980 4 2 0 1 1734 1949 1652 2790 +6981 4 2 0 1 1676 1753 2352 2699 +6982 4 2 0 1 351 1879 372 2333 +6983 4 2 0 1 891 2495 2494 2561 +6984 4 2 0 1 1613 1980 2373 2633 +6985 4 2 0 1 1878 1666 2249 2440 +6986 4 2 0 1 874 1803 915 2233 +6987 4 2 0 1 1551 1811 2532 2547 +6988 4 2 0 1 1724 2165 1771 2644 +6989 4 2 0 1 1698 2181 2019 2549 +6990 4 2 0 1 652 1972 1869 2777 +6991 4 2 0 1 726 1757 776 2628 +6992 4 2 0 1 511 1849 2567 2685 +6993 4 2 0 1 1816 2030 1778 2776 +6994 4 2 0 1 1030 1176 1036 1870 +6995 4 2 0 1 1528 1812 1911 2510 +6996 4 2 0 1 1531 2249 1836 2505 +6997 4 2 0 1 515 2359 451 2610 +6998 4 2 0 1 594 2260 1845 2672 +6999 4 2 0 1 1839 2385 1703 2439 +7000 4 2 0 1 1358 1348 1357 2076 +7001 4 2 0 1 299 183 1859 2669 +7002 4 2 0 1 1660 2039 1981 2505 +7003 4 2 0 1 1603 2189 1947 2357 +7004 4 2 0 1 706 1936 812 2099 +7005 4 2 0 1 2004 2680 2362 2748 +7006 4 2 0 1 1773 2386 2063 2549 +7007 4 2 0 1 1367 1320 1452 2462 +7008 4 2 0 1 1898 2428 1790 2771 +7009 4 2 0 1 754 1933 2171 2596 +7010 4 2 0 1 2050 2220 1783 2348 +7011 4 2 0 1 1970 1802 2270 2364 +7012 4 2 0 1 1118 1078 1166 2564 +7013 4 2 0 1 1617 2060 1745 2410 +7014 4 2 0 1 1775 2191 2075 2384 +7015 4 2 0 1 1736 1813 2399 2417 +7016 4 2 0 1 2195 2356 1901 2434 +7017 4 2 0 1 1782 1574 2024 2526 +7018 4 2 0 1 1468 1460 1477 2724 +7019 4 2 0 1 551 2069 2393 2469 +7020 4 2 0 1 1754 1847 1600 2495 +7021 4 2 0 1 1395 1221 1388 1731 +7022 4 2 0 1 771 2436 1718 2714 +7023 4 2 0 1 1617 1836 2238 2368 +7024 4 2 0 1 202 353 347 1816 +7025 4 2 0 1 1430 1185 1360 2104 +7026 4 2 0 1 1637 1821 2194 2749 +7027 4 2 0 1 1657 2002 1997 2449 +7028 4 2 0 1 306 2030 2190 2744 +7029 4 2 0 1 1454 1276 2205 2513 +7030 4 2 0 1 2108 2218 1640 2719 +7031 4 2 0 1 1923 2079 1622 2329 +7032 4 2 0 1 1733 2084 2052 2676 +7033 4 2 0 1 240 186 1761 2127 +7034 4 2 0 1 1588 1736 2200 2632 +7035 4 2 0 1 1486 1189 1707 2640 +7036 4 2 0 1 1324 1227 2013 2324 +7037 4 2 0 1 1018 2138 2191 2594 +7038 4 2 0 1 147 847 724 1794 +7039 4 2 0 1 1565 2322 2008 2801 +7040 4 2 0 1 1892 2110 2373 2829 +7041 4 2 0 1 2040 2108 1795 2578 +7042 4 2 0 1 1947 2156 1631 2189 +7043 4 2 0 1 1544 2226 2625 2800 +7044 4 2 0 1 903 996 891 2049 +7045 4 2 0 1 1852 2334 2231 2373 +7046 4 2 0 1 1738 2486 2048 2836 +7047 4 2 0 1 1586 2300 1784 2388 +7048 4 2 0 1 1397 1425 1228 2770 +7049 4 2 0 1 888 2461 2129 2589 +7050 4 2 0 1 1923 1924 1622 2305 +7051 4 2 0 1 342 334 357 2268 +7052 4 2 0 1 1320 1452 1944 2720 +7053 4 2 0 1 1621 1957 1757 2089 +7054 4 2 0 1 316 2130 1699 2601 +7055 4 2 0 1 520 1800 444 2409 +7056 4 2 0 1 1708 1539 2022 2232 +7057 4 2 0 1 1616 1708 2552 2755 +7058 4 2 0 1 1720 2062 519 2624 +7059 4 2 0 1 991 897 945 2461 +7060 4 2 0 1 1571 1785 2204 2634 +7061 4 2 0 1 157 843 723 2135 +7062 4 2 0 1 444 1877 509 2153 +7063 4 2 0 1 1667 2061 1832 2588 +7064 4 2 0 1 537 576 580 1995 +7065 4 2 0 1 1691 1784 2300 2388 +7066 4 2 0 1 1339 2383 2076 2668 +7067 4 2 0 1 1877 2153 1977 2567 +7068 4 2 0 1 1144 1041 1688 2458 +7069 4 2 0 1 1754 2035 1929 2259 +7070 4 2 0 1 1294 716 2379 2485 +7071 4 2 0 1 624 555 1912 2281 +7072 4 2 0 1 1834 2013 1227 2324 +7073 4 2 0 1 1545 2437 2031 2809 +7074 4 2 0 1 655 1766 681 2192 +7075 4 2 0 1 1939 2134 1737 2468 +7076 4 2 0 1 1753 1980 2080 2590 +7077 4 2 0 1 845 2087 1488 2131 +7078 4 2 0 1 1954 2220 1553 2415 +7079 4 2 0 1 213 2020 406 2472 +7080 4 2 0 1 804 813 1752 2267 +7081 4 2 0 1 794 1933 1264 2171 +7082 4 2 0 1 1841 1653 2141 2314 +7083 4 2 0 1 360 1895 354 2366 +7084 4 2 0 1 959 2057 923 2241 +7085 4 2 0 1 1664 2070 2158 2188 +7086 4 2 0 1 1768 1966 2176 2517 +7087 4 2 0 1 1547 1742 1968 2500 +7088 4 2 0 1 1217 2013 1374 2042 +7089 4 2 0 1 804 1752 825 2288 +7090 4 2 0 1 780 747 707 2436 +7091 4 2 0 1 1941 2402 2121 2460 +7092 4 2 0 1 653 145 682 1726 +7093 4 2 0 1 647 1825 600 2192 +7094 4 2 0 1 1553 1758 2415 2749 +7095 4 2 0 1 2047 2198 1663 2463 +7096 4 2 0 1 628 1955 574 2456 +7097 4 2 0 1 1198 1995 1359 2294 +7098 4 2 0 1 1972 2175 1815 2236 +7099 4 2 0 1 2046 2321 601 2761 +7100 4 2 0 1 1857 2044 1638 2325 +7101 4 2 0 1 2047 2252 1734 2313 +7102 4 2 0 1 330 2200 209 2328 +7103 4 2 0 1 1684 2032 1928 2296 +7104 4 2 0 1 2222 2298 200 2741 +7105 4 2 0 1 306 204 1801 2190 +7106 4 2 0 1 1316 2094 1935 2420 +7107 4 2 0 1 1677 2046 1897 2330 +7108 4 2 0 1 1335 2091 1762 2721 +7109 4 2 0 1 134 569 1815 1960 +7110 4 2 0 1 1700 1868 2256 2618 +7111 4 2 0 1 2422 2488 1111 2626 +7112 4 2 0 1 1782 1916 1532 2210 +7113 4 2 0 1 1545 2401 1833 2809 +7114 4 2 0 1 1005 2287 868 2591 +7115 4 2 0 1 1569 1983 1918 2517 +7116 4 2 0 1 1647 2085 1941 2465 +7117 4 2 0 1 461 448 179 1875 +7118 4 2 0 1 1597 1958 1833 2506 +7119 4 2 0 1 1397 2148 1425 2770 +7120 4 2 0 1 1733 2446 295 2574 +7121 4 2 0 1 1590 2270 1850 2528 +7122 4 2 0 1 1633 1762 1992 2340 +7123 4 2 0 1 1940 2478 2003 2604 +7124 4 2 0 1 1724 2115 1771 2165 +7125 4 2 0 1 795 818 709 1765 +7126 4 2 0 1 2232 2552 1708 2563 +7127 4 2 0 1 261 2533 1884 2658 +7128 4 2 0 1 1545 2031 2437 2807 +7129 4 2 0 1 1929 2035 1754 2172 +7130 4 2 0 1 1630 1845 2192 2786 +7131 4 2 0 1 1657 2113 2449 2568 +7132 4 2 0 1 456 1850 340 2159 +7133 4 2 0 1 1879 2333 208 2574 +7134 4 2 0 1 1776 2041 700 2375 +7135 4 2 0 1 1589 1672 2102 2208 +7136 4 2 0 1 1598 1773 1928 2440 +7137 4 2 0 1 1302 1315 1187 2383 +7138 4 2 0 1 1082 2384 1863 2570 +7139 4 2 0 1 1608 1791 2266 2334 +7140 4 2 0 1 1452 2462 1944 2720 +7141 4 2 0 1 1786 2093 1916 2443 +7142 4 2 0 1 1782 1542 2024 2693 +7143 4 2 0 1 1569 2423 1716 2490 +7144 4 2 0 1 381 386 431 2207 +7145 4 2 0 1 163 981 2035 2734 +7146 4 2 0 1 1540 1736 2071 2417 +7147 4 2 0 1 1641 1867 1811 2304 +7148 4 2 0 1 1117 2179 1053 2522 +7149 4 2 0 1 780 1855 848 2436 +7150 4 2 0 1 1606 1864 2170 2642 +7151 4 2 0 1 423 194 512 2173 +7152 4 2 0 1 1937 1984 1607 2724 +7153 4 2 0 1 1634 2376 2159 2528 +7154 4 2 0 1 2150 2239 1833 2682 +7155 4 2 0 1 1806 2004 1945 2418 +7156 4 2 0 1 354 1895 178 2489 +7157 4 2 0 1 1775 2170 1031 2565 +7158 4 2 0 1 1302 2383 1805 2531 +7159 4 2 0 1 2344 2350 1596 2745 +7160 4 2 0 1 1736 2185 419 2200 +7161 4 2 0 1 182 2190 2030 2211 +7162 4 2 0 1 1901 1660 2505 2600 +7163 4 2 0 1 147 1794 724 2131 +7164 4 2 0 1 1578 1884 1955 2124 +7165 4 2 0 1 1820 2022 1708 2289 +7166 4 2 0 1 759 2099 1740 2677 +7167 4 2 0 1 747 837 2068 2106 +7168 4 2 0 1 1538 2402 2460 2794 +7169 4 2 0 1 1325 1411 1361 2012 +7170 4 2 0 1 1543 2660 2083 2792 +7171 4 2 0 1 1701 2437 2038 2698 +7172 4 2 0 1 1662 2093 1726 2212 +7173 4 2 0 1 1557 1746 2768 2814 +7174 4 2 0 1 1266 1708 1267 2563 +7175 4 2 0 1 929 1832 931 2073 +7176 4 2 0 1 763 1855 1822 2436 +7177 4 2 0 1 1225 1309 1339 2668 +7178 4 2 0 1 1594 1737 2134 2468 +7179 4 2 0 1 1897 2020 1668 2827 +7180 4 2 0 1 1662 2100 2093 2443 +7181 4 2 0 1 1695 2298 2222 2741 +7182 4 2 0 1 1754 1929 1603 2561 +7183 4 2 0 1 1627 2235 1912 2497 +7184 4 2 0 1 1291 1008 919 2775 +7185 4 2 0 1 1726 2212 1786 2283 +7186 4 2 0 1 1298 2241 1872 2383 +7187 4 2 0 1 1541 1791 2143 2602 +7188 4 2 0 1 1537 2386 2019 2549 +7189 4 2 0 1 1720 1848 2166 2575 +7190 4 2 0 1 423 2173 2225 2554 +7191 4 2 0 1 1738 2319 2176 2423 +7192 4 2 0 1 1171 2095 2518 2603 +7193 4 2 0 1 1224 1511 973 2715 +7194 4 2 0 1 170 1904 270 2092 +7195 4 2 0 1 1915 2147 1965 2791 +7196 4 2 0 1 295 311 484 1733 +7197 4 2 0 1 1559 1999 1793 2160 +7198 4 2 0 1 1902 1983 1676 2669 +7199 4 2 0 1 1699 2726 2621 2805 +7200 4 2 0 1 1528 2486 1911 2650 +7201 4 2 0 1 1756 2315 2083 2792 +7202 4 2 0 1 708 817 2596 2677 +7203 4 2 0 1 1507 1525 1501 157 +7204 4 2 0 1 1548 1971 1755 2208 +7205 4 2 0 1 649 2192 1845 2786 +7206 4 2 0 1 193 524 2209 2477 +7207 4 2 0 1 1906 2608 1908 2780 +7208 4 2 0 1 1232 2012 1322 2441 +7209 4 2 0 1 1612 2000 2111 2429 +7210 4 2 0 1 508 2217 2017 2635 +7211 4 2 0 1 1928 2440 2214 2820 +7212 4 2 0 1 333 2399 2207 2472 +7213 4 2 0 1 958 2327 278 2576 +7214 4 2 0 1 1882 2103 1684 2675 +7215 4 2 0 1 1809 2400 1948 2530 +7216 4 2 0 1 1576 2043 1959 2810 +7217 4 2 0 1 1654 2096 1805 2558 +7218 4 2 0 1 305 307 319 2571 +7219 4 2 0 1 1638 2325 2044 2512 +7220 4 2 0 1 1575 2114 2119 2817 +7221 4 2 0 1 783 717 776 1757 +7222 4 2 0 1 1681 1819 2613 2768 +7223 4 2 0 1 531 1845 649 2192 +7224 4 2 0 1 1532 1891 2343 2546 +7225 4 2 0 1 1564 2701 1920 2829 +7226 4 2 0 1 1072 2054 1132 2626 +7227 4 2 0 1 1785 1621 2204 2634 +7228 4 2 0 1 1882 2063 1773 2249 +7229 4 2 0 1 1765 2501 1855 2585 +7230 4 2 0 1 1503 2051 1244 2615 +7231 4 2 0 1 1975 2119 1055 2570 +7232 4 2 0 1 1544 1721 2188 2625 +7233 4 2 0 1 1671 2313 2047 2427 +7234 4 2 0 1 1800 2409 520 2826 +7235 4 2 0 1 448 1875 461 2086 +7236 4 2 0 1 1541 2143 1804 2602 +7237 4 2 0 1 1211 1484 907 2081 +7238 4 2 0 1 1035 1913 2170 2642 +7239 4 2 0 1 661 681 593 1766 +7240 4 2 0 1 1802 2364 2031 2807 +7241 4 2 0 1 822 1810 742 2722 +7242 4 2 0 1 151 2523 2109 2628 +7243 4 2 0 1 1612 2018 1808 2033 +7244 4 2 0 1 1537 2142 1963 2214 +7245 4 2 0 1 949 862 2477 2637 +7246 4 2 0 1 557 621 534 2330 +7247 4 2 0 1 1647 1768 2085 2465 +7248 4 2 0 1 757 2068 468 2144 +7249 4 2 0 1 1943 1971 1601 2402 +7250 4 2 0 1 1537 2019 1773 2214 +7251 4 2 0 1 1746 2218 2108 2719 +7252 4 2 0 1 1775 2040 1606 2535 +7253 4 2 0 1 1667 2248 2125 2588 +7254 4 2 0 1 1643 1877 1849 2685 +7255 4 2 0 1 2239 2447 2027 2837 +7256 4 2 0 1 1567 1899 2139 2481 +7257 4 2 0 1 583 2294 2132 2393 +7258 4 2 0 1 2013 2042 1217 2579 +7259 4 2 0 1 1730 2104 1639 2215 +7260 4 2 0 1 1567 2207 1813 2580 +7261 4 2 0 1 2142 2214 1537 2440 +7262 4 2 0 1 1594 2517 1918 2607 +7263 4 2 0 1 1708 2021 1267 2563 +7264 4 2 0 1 1602 1969 1767 2807 +7265 4 2 0 1 2275 2751 1893 2770 +7266 4 2 0 1 547 2046 1831 2256 +7267 4 2 0 1 1233 1742 1199 2507 +7268 4 2 0 1 1958 1530 2183 2471 +7269 4 2 0 1 1582 1757 1957 2089 +7270 4 2 0 1 1656 2108 2006 2548 +7271 4 2 0 1 1845 2139 1700 2260 +7272 4 2 0 1 235 456 2002 2159 +7273 4 2 0 1 1657 2080 1850 2270 +7274 4 2 0 1 1831 1700 2481 2569 +7275 4 2 0 1 2042 2077 1663 2573 +7276 4 2 0 1 926 2125 924 2553 +7277 4 2 0 1 1723 2488 2422 2626 +7278 4 2 0 1 1581 2432 1740 2659 +7279 4 2 0 1 1782 2506 2150 2693 +7280 4 2 0 1 1081 2119 1143 2255 +7281 4 2 0 1 325 356 1813 2328 +7282 4 2 0 1 1646 2303 2264 2339 +7283 4 2 0 1 1651 1938 2257 2520 +7284 4 2 0 1 1558 1822 1881 2643 +7285 4 2 0 1 957 1797 893 2137 +7286 4 2 0 1 1876 2181 1887 2617 +7287 4 2 0 1 1071 1787 1133 2056 +7288 4 2 0 1 1777 1900 1625 2296 +7289 4 2 0 1 2003 2286 1770 2604 +7290 4 2 0 1 1329 1188 2284 2324 +7291 4 2 0 1 565 576 1995 2131 +7292 4 2 0 1 926 1817 964 2248 +7293 4 2 0 1 1632 1876 2273 2617 +7294 4 2 0 1 2080 2270 1802 2528 +7295 4 2 0 1 424 2225 1823 2554 +7296 4 2 0 1 606 1786 618 2212 +7297 4 2 0 1 1637 2132 2194 2467 +7298 4 2 0 1 2322 2351 1974 2783 +7299 4 2 0 1 1614 2182 1721 2537 +7300 4 2 0 1 1560 2257 2290 2707 +7301 4 2 0 1 1621 2307 1826 2363 +7302 4 2 0 1 634 529 603 1841 +7303 4 2 0 1 1401 1893 1426 2770 +7304 4 2 0 1 1664 2221 2172 2700 +7305 4 2 0 1 1334 1462 1212 2420 +7306 4 2 0 1 962 1832 2248 2365 +7307 4 2 0 1 1648 2079 1860 2360 +7308 4 2 0 1 1610 1724 2115 2385 +7309 4 2 0 1 1761 240 2127 2612 +7310 4 2 0 1 2168 2311 1739 2437 +7311 4 2 0 1 2267 2316 1690 2498 +7312 4 2 0 1 1840 1623 2551 2617 +7313 4 2 0 1 1936 2041 1776 2736 +7314 4 2 0 1 339 2156 309 2269 +7315 4 2 0 1 1910 2218 1557 2764 +7316 4 2 0 1 1674 2017 1905 2645 +7317 4 2 0 1 2153 2539 350 2639 +7318 4 2 0 1 1730 2342 1437 2724 +7319 4 2 0 1 1138 1930 272 2349 +7320 4 2 0 1 1897 1668 2618 2827 +7321 4 2 0 1 1613 2110 1851 2633 +7322 4 2 0 1 1346 1336 1834 2337 +7323 4 2 0 1 1598 2193 1734 2678 +7324 4 2 0 1 1878 1568 2047 2167 +7325 4 2 0 1 1777 1611 2143 2796 +7326 4 2 0 1 456 340 366 2159 +7327 4 2 0 1 1564 2671 1859 2699 +7328 4 2 0 1 1582 1849 1993 2403 +7329 4 2 0 1 1780 1922 1556 2016 +7330 4 2 0 1 1386 1448 1432 1906 +7331 4 2 0 1 2083 2660 1756 2792 +7332 4 2 0 1 1599 1817 2261 2778 +7333 4 2 0 1 360 178 354 1895 +7334 4 2 0 1 314 300 1778 2211 +7335 4 2 0 1 1563 1770 2098 2391 +7336 4 2 0 1 1585 2239 1778 2653 +7337 4 2 0 1 1331 1309 2076 2740 +7338 4 2 0 1 1559 1800 2490 2793 +7339 4 2 0 1 1734 2175 2141 2193 +7340 4 2 0 1 1881 2508 775 2555 +7341 4 2 0 1 2114 2509 1711 2817 +7342 4 2 0 1 1697 2157 1903 2779 +7343 4 2 0 1 1578 1916 1950 2443 +7344 4 2 0 1 1556 2078 1852 2765 +7345 4 2 0 1 1873 2251 1754 2492 +7346 4 2 0 1 1735 2179 1869 2434 +7347 4 2 0 1 1726 2425 682 2497 +7348 4 2 0 1 1538 1962 1844 2078 +7349 4 2 0 1 1135 1120 1975 2491 +7350 4 2 0 1 1802 1920 2080 2528 +7351 4 2 0 1 1675 2471 1958 2750 +7352 4 2 0 1 1512 1251 2822 2835 +7353 4 2 0 1 1851 2110 1613 2487 +7354 4 2 0 1 1748 2158 1548 2636 +7355 4 2 0 1 485 508 2017 2635 +7356 4 2 0 1 1263 1810 1290 2722 +7357 4 2 0 1 1087 2202 1846 2570 +7358 4 2 0 1 2096 2254 1805 2708 +7359 4 2 0 1 227 358 2468 2489 +7360 4 2 0 1 1732 2680 2004 2748 +7361 4 2 0 1 1771 2115 1724 2385 +7362 4 2 0 1 1877 1977 1582 2567 +7363 4 2 0 1 313 2353 2298 2795 +7364 4 2 0 1 548 661 593 2246 +7365 4 2 0 1 414 2097 367 2821 +7366 4 2 0 1 1747 2074 1953 2547 +7367 4 2 0 1 1578 1905 2457 2705 +7368 4 2 0 1 1564 1917 1880 2118 +7369 4 2 0 1 1784 1962 1586 2388 +7370 4 2 0 1 1561 2013 1834 2746 +7371 4 2 0 1 966 2542 1894 2695 +7372 4 2 0 1 540 1825 2281 2393 +7373 4 2 0 1 559 2283 1934 2536 +7374 4 2 0 1 2236 2728 1815 2745 +7375 4 2 0 1 2140 2274 1021 2346 +7376 4 2 0 1 1586 1835 2309 2369 +7377 4 2 0 1 1757 1957 1621 2307 +7378 4 2 0 1 1209 1372 1678 2493 +7379 4 2 0 1 511 2338 1849 2685 +7380 4 2 0 1 1753 2352 2110 2431 +7381 4 2 0 1 1963 2214 2142 2440 +7382 4 2 0 1 618 613 2345 2536 +7383 4 2 0 1 2345 2443 1786 2802 +7384 4 2 0 1 466 2209 1800 2826 +7385 4 2 0 1 1571 2265 1991 2347 +7386 4 2 0 1 764 823 2045 2253 +7387 4 2 0 1 2138 2518 1710 2594 +7388 4 2 0 1 1699 2228 1978 2601 +7389 4 2 0 1 2205 2265 1933 2557 +7390 4 2 0 1 1650 1782 2150 2693 +7391 4 2 0 1 406 2020 2399 2472 +7392 4 2 0 1 1539 1853 2114 2509 +7393 4 2 0 1 1585 2030 1801 2190 +7394 4 2 0 1 1534 2172 1754 2221 +7395 4 2 0 1 2111 2320 1612 2429 +7396 4 2 0 1 2032 2038 1701 2311 +7397 4 2 0 1 665 1828 651 2053 +7398 4 2 0 1 1205 1787 1049 2339 +7399 4 2 0 1 1697 2157 1989 2355 +7400 4 2 0 1 1746 1557 2218 2814 +7401 4 2 0 1 202 1816 347 2635 +7402 4 2 0 1 1859 2153 183 2639 +7403 4 2 0 1 2023 2134 1591 2832 +7404 4 2 0 1 841 143 727 2120 +7405 4 2 0 1 1662 1881 2161 2377 +7406 4 2 0 1 2064 2182 1688 2274 +7407 4 2 0 1 1894 2444 1790 2542 +7408 4 2 0 1 143 2120 2212 2687 +7409 4 2 0 1 1554 2177 1808 2592 +7410 4 2 0 1 1780 1885 1638 2512 +7411 4 2 0 1 524 516 1946 2477 +7412 4 2 0 1 1409 2381 1824 2493 +7413 4 2 0 1 413 234 377 2066 +7414 4 2 0 1 1564 2242 1880 2597 +7415 4 2 0 1 1538 2411 2402 2794 +7416 4 2 0 1 1612 2320 2000 2834 +7417 4 2 0 1 1542 1923 1830 2372 +7418 4 2 0 1 1194 1764 2033 2835 +7419 4 2 0 1 574 1955 1884 2456 +7420 4 2 0 1 1894 2542 1790 2695 +7421 4 2 0 1 1821 1921 2415 2749 +7422 4 2 0 1 1727 2077 2042 2573 +7423 4 2 0 1 1593 2107 2280 2689 +7424 4 2 0 1 1593 2280 2061 2689 +7425 4 2 0 1 1003 1002 1790 2562 +7426 4 2 0 1 1563 2098 1770 2147 +7427 4 2 0 1 1764 2822 2051 2835 +7428 4 2 0 1 1918 2517 1722 2607 +7429 4 2 0 1 1728 2240 1945 2656 +7430 4 2 0 1 1955 2124 1884 2457 +7431 4 2 0 1 1146 286 1132 1904 +7432 4 2 0 1 2014 2577 1648 2717 +7433 4 2 0 1 1630 1934 2706 2786 +7434 4 2 0 1 653 145 1726 2638 +7435 4 2 0 1 254 2456 2124 2457 +7436 4 2 0 1 168 325 356 2399 +7437 4 2 0 1 524 1946 516 2209 +7438 4 2 0 1 1791 2271 1675 2334 +7439 4 2 0 1 516 264 2209 2338 +7440 4 2 0 1 850 2316 2267 2498 +7441 4 2 0 1 1652 2009 1949 2169 +7442 4 2 0 1 1754 2172 2035 2259 +7443 4 2 0 1 924 1016 870 2553 +7444 4 2 0 1 825 804 813 1752 +7445 4 2 0 1 1597 1865 1830 2308 +7446 4 2 0 1 1838 2193 1598 2678 +7447 4 2 0 1 1657 1997 1983 2691 +7448 4 2 0 1 915 2462 919 2775 +7449 4 2 0 1 1528 2048 1911 2486 +7450 4 2 0 1 1700 1831 2481 2618 +7451 4 2 0 1 2188 2625 1741 2800 +7452 4 2 0 1 2035 2172 1664 2259 +7453 4 2 0 1 1550 2293 1732 2568 +7454 4 2 0 1 1292 1202 1994 2582 +7455 4 2 0 1 926 930 1817 2553 +7456 4 2 0 1 1591 1843 2219 2832 +7457 4 2 0 1 1592 1897 1831 2618 +7458 4 2 0 1 2049 2494 1847 2495 +7459 4 2 0 1 1587 2126 2710 2828 +7460 4 2 0 1 936 1961 867 2073 +7461 4 2 0 1 1548 1971 1744 2480 +7462 4 2 0 1 1602 2185 1879 2333 +7463 4 2 0 1 1644 2297 2020 2438 +7464 4 2 0 1 1799 1949 1607 2009 +7465 4 2 0 1 1116 132 2350 2503 +7466 4 2 0 1 2095 2232 1710 2603 +7467 4 2 0 1 2041 1622 2485 2666 +7468 4 2 0 1 1564 2242 1801 2699 +7469 4 2 0 1 1859 2237 1619 2352 +7470 4 2 0 1 1989 2103 1882 2575 +7471 4 2 0 1 2030 2525 383 2776 +7472 4 2 0 1 1809 2450 2433 2533 +7473 4 2 0 1 1650 1916 2443 2682 +7474 4 2 0 1 1659 1778 2211 2397 +7475 4 2 0 1 1853 2114 1711 2710 +7476 4 2 0 1 1805 2096 1654 2254 +7477 4 2 0 1 976 1946 892 2523 +7478 4 2 0 1 1801 2190 2030 2744 +7479 4 2 0 1 1932 1784 2309 2623 +7480 4 2 0 1 1815 2236 2175 2728 +7481 4 2 0 1 2454 2572 2011 2746 +7482 4 2 0 1 1982 2200 1588 2328 +7483 4 2 0 1 2129 2160 1724 2461 +7484 4 2 0 1 1682 2296 2168 2311 +7485 4 2 0 1 1439 1798 1352 2387 +7486 4 2 0 1 1409 1824 2455 2493 +7487 4 2 0 1 2187 2291 1698 2648 +7488 4 2 0 1 1910 2058 1673 2362 +7489 4 2 0 1 147 847 1794 2497 +7490 4 2 0 1 274 483 265 2612 +7491 4 2 0 1 298 2397 1982 2446 +7492 4 2 0 1 1859 365 2153 2669 +7493 4 2 0 1 353 2066 1816 2525 +7494 4 2 0 1 1707 1797 2140 2625 +7495 4 2 0 1 716 2485 1294 2666 +7496 4 2 0 1 427 407 2097 2468 +7497 4 2 0 1 1590 2364 1802 2807 +7498 4 2 0 1 1590 2270 1802 2364 +7499 4 2 0 1 1677 1967 2380 2745 +7500 4 2 0 1 1618 1799 1973 2272 +7501 4 2 0 1 1247 2201 1399 2337 +7502 4 2 0 1 1881 2120 1662 2161 +7503 4 2 0 1 1663 2047 1968 2198 +7504 4 2 0 1 569 617 663 1815 +7505 4 2 0 1 540 2294 583 2393 +7506 4 2 0 1 1622 1908 1760 2329 +7507 4 2 0 1 431 451 515 2359 +7508 4 2 0 1 1486 1189 1256 2146 +7509 4 2 0 1 1820 2007 1570 2609 +7510 4 2 0 1 1596 2344 1990 2350 +7511 4 2 0 1 1708 2223 1539 2232 +7512 4 2 0 1 1716 2097 1918 2641 +7513 4 2 0 1 1449 1352 1222 1798 +7514 4 2 0 1 1912 1995 573 2294 +7515 4 2 0 1 1652 1949 2009 2250 +7516 4 2 0 1 1599 2261 1911 2778 +7517 4 2 0 1 1553 2206 1954 2415 +7518 4 2 0 1 1357 1872 1511 2715 +7519 4 2 0 1 939 2591 868 2715 +7520 4 2 0 1 1569 1983 2517 2590 +7521 4 2 0 1 1455 1820 1384 2387 +7522 4 2 0 1 1620 1717 2245 2340 +7523 4 2 0 1 302 1823 392 2262 +7524 4 2 0 1 1621 2204 1811 2304 +7525 4 2 0 1 2023 2127 1687 2679 +7526 4 2 0 1 1561 2050 2654 2746 +7527 4 2 0 1 755 2144 850 2267 +7528 4 2 0 1 557 581 279 2330 +7529 4 2 0 1 1085 2170 1775 2584 +7530 4 2 0 1 1373 1392 2358 2441 +7531 4 2 0 1 1765 2267 818 2585 +7532 4 2 0 1 1897 2756 2020 2827 +7533 4 2 0 1 916 947 914 2107 +7534 4 2 0 1 1644 2380 2391 2823 +7535 4 2 0 1 759 814 801 1740 +7536 4 2 0 1 1545 2164 2437 2809 +7537 4 2 0 1 1896 2130 1577 2624 +7538 4 2 0 1 1847 411 2366 2494 +7539 4 2 0 1 1698 2015 2082 2291 +7540 4 2 0 1 1536 2198 2047 2463 +7541 4 2 0 1 2002 2159 312 2407 +7542 4 2 0 1 154 828 153 2115 +7543 4 2 0 1 1720 2355 2262 2797 +7544 4 2 0 1 1745 2410 2733 2777 +7545 4 2 0 1 765 710 701 1822 +7546 4 2 0 1 1395 1376 1221 2720 +7547 4 2 0 1 1566 2553 2125 2778 +7548 4 2 0 1 763 808 1822 2378 +7549 4 2 0 1 1156 438 268 2128 +7550 4 2 0 1 1596 1990 2344 2745 +7551 4 2 0 1 1821 2415 2194 2749 +7552 4 2 0 1 1770 2193 1838 2823 +7553 4 2 0 1 1922 2044 1651 2493 +7554 4 2 0 1 1556 1938 1986 2231 +7555 4 2 0 1 1577 2166 1925 2774 +7556 4 2 0 1 1711 2384 2594 2769 +7557 4 2 0 1 1803 2499 1731 2720 +7558 4 2 0 1 1858 2347 1743 2659 +7559 4 2 0 1 1542 1726 2093 2235 +7560 4 2 0 1 252 272 1930 2349 +7561 4 2 0 1 1683 1818 2572 2798 +7562 4 2 0 1 678 2260 545 2569 +7563 4 2 0 1 1747 1880 2447 2597 +7564 4 2 0 1 1526 1525 1284 2135 +7565 4 2 0 1 1817 1889 1628 2233 +7566 4 2 0 1 1702 2067 1899 2580 +7567 4 2 0 1 1635 1941 2121 2460 +7568 4 2 0 1 1594 2134 1939 2468 +7569 4 2 0 1 626 1725 2359 2610 +7570 4 2 0 1 1732 2748 1896 2795 +7571 4 2 0 1 1893 1633 2550 2770 +7572 4 2 0 1 1654 1805 1944 2558 +7573 4 2 0 1 1527 2032 2116 2311 +7574 4 2 0 1 911 1872 973 2241 +7575 4 2 0 1 1532 2343 1891 2430 +7576 4 2 0 1 1672 2208 2133 2668 +7577 4 2 0 1 1543 1848 2083 2726 +7578 4 2 0 1 1620 2245 1717 2599 +7579 4 2 0 1 560 1841 603 2169 +7580 4 2 0 1 1668 2481 1831 2618 +7581 4 2 0 1 1778 2776 300 2815 +7582 4 2 0 1 724 847 729 2087 +7583 4 2 0 1 703 743 773 1993 +7584 4 2 0 1 655 1766 2192 2663 +7585 4 2 0 1 341 337 2559 2601 +7586 4 2 0 1 225 450 226 2679 +7587 4 2 0 1 1544 2182 1827 2537 +7588 4 2 0 1 1586 1932 1835 1970 +7589 4 2 0 1 1908 2608 1769 2780 +7590 4 2 0 1 1557 2764 2218 2814 +7591 4 2 0 1 1733 2211 2446 2653 +7592 4 2 0 1 1903 2657 2407 2741 +7593 4 2 0 1 765 1822 808 2253 +7594 4 2 0 1 362 2049 244 2494 +7595 4 2 0 1 802 809 1855 2028 +7596 4 2 0 1 399 242 2472 2560 +7597 4 2 0 1 2346 2474 1707 2619 +7598 4 2 0 1 1054 165 2140 2278 +7599 4 2 0 1 1092 1087 1029 1846 +7600 4 2 0 1 1918 2517 1983 2691 +7601 4 2 0 1 1571 2347 1740 2432 +7602 4 2 0 1 1607 2009 1949 2250 +7603 4 2 0 1 1897 2020 1644 2297 +7604 4 2 0 1 794 748 835 1933 +7605 4 2 0 1 2173 2225 1723 2818 +7606 4 2 0 1 829 725 762 2684 +7607 4 2 0 1 1900 2103 1552 2369 +7608 4 2 0 1 1759 2266 1998 2476 +7609 4 2 0 1 2102 2208 1672 2411 +7610 4 2 0 1 1592 2314 1841 2380 +7611 4 2 0 1 1774 2201 2455 2737 +7612 4 2 0 1 1754 2221 1873 2492 +7613 4 2 0 1 1548 2254 1755 2511 +7614 4 2 0 1 276 1961 477 2107 +7615 4 2 0 1 1241 1371 1234 2263 +7616 4 2 0 1 1638 1986 1938 2476 +7617 4 2 0 1 1511 1348 1298 1872 +7618 4 2 0 1 1549 2414 2273 2716 +7619 4 2 0 1 1548 2254 2096 2708 +7620 4 2 0 1 1654 1944 2096 2558 +7621 4 2 0 1 1767 1879 2164 2676 +7622 4 2 0 1 1811 2089 1621 2304 +7623 4 2 0 1 175 471 453 1792 +7624 4 2 0 1 511 1849 2338 2692 +7625 4 2 0 1 1593 2086 1961 2107 +7626 4 2 0 1 794 835 1264 1933 +7627 4 2 0 1 1280 1937 1207 2053 +7628 4 2 0 1 526 885 521 282 +7629 4 2 0 1 1599 1889 2152 2365 +7630 4 2 0 1 678 545 2260 2400 +7631 4 2 0 1 964 2248 1817 2365 +7632 4 2 0 1 729 1860 695 2375 +7633 4 2 0 1 1564 1867 2352 2671 +7634 4 2 0 1 1125 1763 1088 2414 +7635 4 2 0 1 276 885 521 1961 +7636 4 2 0 1 1568 2167 2077 2573 +7637 4 2 0 1 845 724 2087 2131 +7638 4 2 0 1 1625 2296 2103 2675 +7639 4 2 0 1 1676 1859 2237 2669 +7640 4 2 0 1 1395 1731 1388 2374 +7641 4 2 0 1 1744 2208 2708 2794 +7642 4 2 0 1 700 1936 781 2041 +7643 4 2 0 1 1756 1645 2063 2646 +7644 4 2 0 1 1940 2173 1670 2554 +7645 4 2 0 1 1562 2193 1770 2823 +7646 4 2 0 1 469 1861 379 2662 +7647 4 2 0 1 1724 2129 2461 2589 +7648 4 2 0 1 484 1733 2211 2446 +7649 4 2 0 1 1904 2092 1658 2349 +7650 4 2 0 1 1697 1989 1915 2355 +7651 4 2 0 1 2287 2382 944 2734 +7652 4 2 0 1 1126 1863 2202 2570 +7653 4 2 0 1 1892 2110 2037 2373 +7654 4 2 0 1 1560 1987 1807 1988 +7655 4 2 0 1 2111 2616 2000 2834 +7656 4 2 0 1 1234 1760 1373 2358 +7657 4 2 0 1 1615 1751 2162 2695 +7658 4 2 0 1 767 1776 700 2375 +7659 4 2 0 1 1541 1759 2065 2310 +7660 4 2 0 1 1825 2192 1630 2459 +7661 4 2 0 1 1616 1951 1883 2244 +7662 4 2 0 1 1395 1221 1731 2720 +7663 4 2 0 1 965 2279 2162 2591 +7664 4 2 0 1 926 930 964 1817 +7665 4 2 0 1 1003 1000 1002 2562 +7666 4 2 0 1 1704 2059 1838 2823 +7667 4 2 0 1 1739 2437 2164 2809 +7668 4 2 0 1 1604 1786 2093 2753 +7669 4 2 0 1 1623 1876 2223 2617 +7670 4 2 0 1 850 2267 2144 2498 +7671 4 2 0 1 1956 2010 1689 2496 +7672 4 2 0 1 401 334 238 1829 +7673 4 2 0 1 1652 2141 1734 2790 +7674 4 2 0 1 1852 2078 1712 2765 +7675 4 2 0 1 1443 2026 1742 2686 +7676 4 2 0 1 881 866 937 1889 +7677 4 2 0 1 1558 1822 2502 2773 +7678 4 2 0 1 1589 2531 1805 2558 +7679 4 2 0 1 603 1841 560 2236 +7680 4 2 0 1 2345 2120 2687 2705 +7681 4 2 0 1 1548 1744 1971 2208 +7682 4 2 0 1 443 415 2090 2185 +7683 4 2 0 1 1616 1708 2022 2552 +7684 4 2 0 1 1744 1971 2402 2480 +7685 4 2 0 1 1711 2114 1853 2509 +7686 4 2 0 1 2264 2419 1283 2435 +7687 4 2 0 1 1758 2469 2069 2812 +7688 4 2 0 1 1602 2632 2185 2698 +7689 4 2 0 1 659 1429 1252 2132 +7690 4 2 0 1 1776 2079 2014 2329 +7691 4 2 0 1 1185 1344 1328 1758 +7692 4 2 0 1 930 964 1817 2365 +7693 4 2 0 1 1817 1599 2248 2778 +7694 4 2 0 1 1479 1467 1769 2379 +7695 4 2 0 1 1761 2280 2107 2689 +7696 4 2 0 1 1720 2262 2062 2797 +7697 4 2 0 1 1419 1909 1385 2148 +7698 4 2 0 1 1605 2355 1720 2797 +7699 4 2 0 1 1732 2680 2748 2795 +7700 4 2 0 1 1528 2465 1812 2510 +7701 4 2 0 1 1951 1640 2244 2335 +7702 4 2 0 1 1785 2634 1685 2718 +7703 4 2 0 1 900 892 2477 2637 +7704 4 2 0 1 1086 1171 2518 2603 +7705 4 2 0 1 1941 2465 1744 2480 +7706 4 2 0 1 1608 2037 2231 2373 +7707 4 2 0 1 868 2591 2287 2715 +7708 4 2 0 1 414 2641 2097 2821 +7709 4 2 0 1 1548 2158 1748 2254 +7710 4 2 0 1 1703 2466 2048 2616 +7711 4 2 0 1 1599 2152 1724 2160 +7712 4 2 0 1 1967 1990 1677 2694 +7713 4 2 0 1 431 451 2359 2610 +7714 4 2 0 1 1884 1955 574 2345 +7715 4 2 0 1 350 2153 239 2539 +7716 4 2 0 1 2298 2353 1997 2568 +7717 4 2 0 1 1612 2111 2000 2320 +7718 4 2 0 1 312 2002 456 2159 +7719 4 2 0 1 447 335 1879 2200 +7720 4 2 0 1 489 2626 194 2818 +7721 4 2 0 1 1853 2126 2075 2578 +7722 4 2 0 1 289 519 523 2157 +7723 4 2 0 1 1677 2297 1897 2380 +7724 4 2 0 1 1559 2423 1716 2545 +7725 4 2 0 1 823 764 767 1776 +7726 4 2 0 1 1205 1281 1787 2339 +7727 4 2 0 1 157 723 156 2670 +7728 4 2 0 1 1454 2205 1432 2513 +7729 4 2 0 1 1552 1835 2369 2799 +7730 4 2 0 1 1747 2447 2027 2597 +7731 4 2 0 1 1606 2541 1864 2768 +7732 4 2 0 1 1679 2324 1834 2737 +7733 4 2 0 1 1569 1966 1851 2633 +7734 4 2 0 1 1153 1661 2582 2603 +7735 4 2 0 1 1082 1863 1163 2565 +7736 4 2 0 1 377 2068 2066 2404 +7737 4 2 0 1 1187 1944 1475 2383 +7738 4 2 0 1 1521 1484 1204 2184 +7739 4 2 0 1 693 801 797 2028 +7740 4 2 0 1 1754 1600 2251 2495 +7741 4 2 0 1 1609 1762 2091 2721 +7742 4 2 0 1 1567 1725 2260 2400 +7743 4 2 0 1 538 620 585 1937 +7744 4 2 0 1 1597 2401 1958 2471 +7745 4 2 0 1 1842 1901 1745 2522 +7746 4 2 0 1 547 1831 2046 2560 +7747 4 2 0 1 360 369 1895 2366 +7748 4 2 0 1 1925 2166 1888 2774 +7749 4 2 0 1 1760 1572 2012 2441 +7750 4 2 0 1 1904 2202 1102 2564 +7751 4 2 0 1 1877 2153 444 2409 +7752 4 2 0 1 1216 1340 1954 2655 +7753 4 2 0 1 1621 2204 1752 2816 +7754 4 2 0 1 928 2162 1748 2591 +7755 4 2 0 1 2101 2317 411 2366 +7756 4 2 0 1 1625 2103 1888 2675 +7757 4 2 0 1 1831 1897 1592 2046 +7758 4 2 0 1 1771 2165 155 2670 +7759 4 2 0 1 1634 2159 2323 2528 +7760 4 2 0 1 1826 2203 1621 2363 +7761 4 2 0 1 2031 2168 1739 2437 +7762 4 2 0 1 312 2159 456 2407 +7763 4 2 0 1 1781 2184 2177 2299 +7764 4 2 0 1 1940 2225 1823 2789 +7765 4 2 0 1 1644 2059 1897 2380 +7766 4 2 0 1 443 2090 188 2185 +7767 4 2 0 1 1488 2087 1428 2131 +7768 4 2 0 1 2021 2552 2229 2563 +7769 4 2 0 1 1030 1870 1153 2603 +7770 4 2 0 1 1729 1946 2209 2793 +7771 4 2 0 1 1901 2356 2195 2600 +7772 4 2 0 1 1321 2453 2044 2455 +7773 4 2 0 1 1635 2121 1941 2465 +7774 4 2 0 1 2099 2513 2171 2631 +7775 4 2 0 1 1603 2049 1847 2561 +7776 4 2 0 1 1901 2522 1842 2716 +7777 4 2 0 1 482 1158 158 2049 +7778 4 2 0 1 624 1912 573 2294 +7779 4 2 0 1 1792 2445 2163 2539 +7780 4 2 0 1 1887 1537 2243 2629 +7781 4 2 0 1 1806 2362 2004 2680 +7782 4 2 0 1 1445 1772 1179 2751 +7783 4 2 0 1 1541 2011 1804 2520 +7784 4 2 0 1 430 1737 358 2679 +7785 4 2 0 1 1799 683 2367 2587 +7786 4 2 0 1 1533 2270 1970 2504 +7787 4 2 0 1 2190 2211 1733 2653 +7788 4 2 0 1 1097 2043 1914 2346 +7789 4 2 0 1 1335 1762 1425 2721 +7790 4 2 0 1 1685 1991 1890 2634 +7791 4 2 0 1 1606 2228 2541 2768 +7792 4 2 0 1 705 807 709 2501 +7793 4 2 0 1 990 1931 877 2155 +7794 4 2 0 1 396 2090 417 2662 +7795 4 2 0 1 339 1947 2156 2268 +7796 4 2 0 1 1791 1611 2143 2602 +7797 4 2 0 1 1625 1900 1777 2806 +7798 4 2 0 1 1580 2203 1826 2784 +7799 4 2 0 1 1352 1449 1316 1935 +7800 4 2 0 1 1206 1278 1293 2785 +7801 4 2 0 1 1585 2242 1880 2750 +7802 4 2 0 1 585 538 1937 2408 +7803 4 2 0 1 1755 2208 2420 2668 +7804 4 2 0 1 1647 1744 2465 2480 +7805 4 2 0 1 1165 1135 1120 1975 +7806 4 2 0 1 772 785 2041 2666 +7807 4 2 0 1 1566 1911 1812 2105 +7808 4 2 0 1 1958 2447 1880 2750 +7809 4 2 0 1 1875 2127 1761 2689 +7810 4 2 0 1 275 1990 577 2830 +7811 4 2 0 1 1642 2263 2012 2711 +7812 4 2 0 1 1083 1181 1115 1994 +7813 4 2 0 1 1752 2204 1890 2288 +7814 4 2 0 1 1189 1483 2146 2620 +7815 4 2 0 1 1767 1969 1602 2333 +7816 4 2 0 1 825 1752 813 2316 +7817 4 2 0 1 1969 2482 1697 2593 +7818 4 2 0 1 1910 2357 2058 2362 +7819 4 2 0 1 1531 2063 1882 2249 +7820 4 2 0 1 1580 2529 2034 2718 +7821 4 2 0 1 1545 1856 2271 2401 +7822 4 2 0 1 941 887 1873 2259 +7823 4 2 0 1 1919 2134 1768 2607 +7824 4 2 0 1 1560 1988 1807 2413 +7825 4 2 0 1 1897 2059 2756 2827 +7826 4 2 0 1 1125 1103 1763 2414 +7827 4 2 0 1 1584 1773 2019 2675 +7828 4 2 0 1 2063 2505 2039 2600 +7829 4 2 0 1 1581 1743 2432 2659 +7830 4 2 0 1 1544 2188 1721 2537 +7831 4 2 0 1 1842 2544 1901 2716 +7832 4 2 0 1 1567 2196 1809 2433 +7833 4 2 0 1 1987 2388 1844 2470 +7834 4 2 0 1 323 341 337 2559 +7835 4 2 0 1 1694 2123 2366 2683 +7836 4 2 0 1 1862 2149 2089 2426 +7837 4 2 0 1 485 2017 508 2217 +7838 4 2 0 1 2128 2350 132 2503 +7839 4 2 0 1 1144 1688 2274 2458 +7840 4 2 0 1 1607 1799 2009 2408 +7841 4 2 0 1 1714 2616 2111 2834 +7842 4 2 0 1 1553 1921 1783 2459 +7843 4 2 0 1 1682 2482 1969 2593 +7844 4 2 0 1 171 433 1977 1993 +7845 4 2 0 1 628 574 1955 2345 +7846 4 2 0 1 1560 1777 2290 2413 +7847 4 2 0 1 1542 2079 2100 2360 +7848 4 2 0 1 1799 2198 1949 2272 +7849 4 2 0 1 1702 2343 1891 2546 +7850 4 2 0 1 1577 1720 2624 2805 +7851 4 2 0 1 1558 2027 1816 2502 +7852 4 2 0 1 1243 1416 1820 2763 +7853 4 2 0 1 1662 1786 2212 2687 +7854 4 2 0 1 1291 919 2462 2775 +7855 4 2 0 1 1635 1980 1852 2566 +7856 4 2 0 1 681 1766 655 2663 +7857 4 2 0 1 1797 1624 2188 2625 +7858 4 2 0 1 1272 1808 2177 2299 +7859 4 2 0 1 1888 2216 1925 2774 +7860 4 2 0 1 1147 1295 1119 2056 +7861 4 2 0 1 764 1936 1776 2045 +7862 4 2 0 1 1539 1853 2126 2710 +7863 4 2 0 1 1791 2271 1611 2602 +7864 4 2 0 1 298 2211 2397 2446 +7865 4 2 0 1 1874 2112 1595 2652 +7866 4 2 0 1 1753 2237 1676 2352 +7867 4 2 0 1 1833 1659 2088 2430 +7868 4 2 0 1 223 170 270 2092 +7869 4 2 0 1 1931 2280 1761 2689 +7870 4 2 0 1 1081 2119 2255 2769 +7871 4 2 0 1 1689 1874 2427 2452 +7872 4 2 0 1 1643 2109 1946 2628 +7873 4 2 0 1 678 1725 626 2610 +7874 4 2 0 1 171 505 1993 2567 +7875 4 2 0 1 1718 2436 1822 2502 +7876 4 2 0 1 1257 1828 1360 2104 +7877 4 2 0 1 2175 2236 1972 2728 +7878 4 2 0 1 1625 1777 2413 2806 +7879 4 2 0 1 1742 2026 1443 2507 +7880 4 2 0 1 1656 1925 1795 2726 +7881 4 2 0 1 1997 2002 1695 2449 +7882 4 2 0 1 2258 1783 2546 2652 +7883 4 2 0 1 390 475 2333 2407 +7884 4 2 0 1 1583 1940 1823 2789 +7885 4 2 0 1 818 1765 795 2267 +7886 4 2 0 1 1939 1591 2293 2353 +7887 4 2 0 1 1667 1832 2061 2486 +7888 4 2 0 1 1788 1627 2024 2811 +7889 4 2 0 1 1563 2147 1770 2391 +7890 4 2 0 1 363 2123 354 2489 +7891 4 2 0 1 477 2107 274 2612 +7892 4 2 0 1 1604 2093 1786 2283 +7893 4 2 0 1 1443 1742 2435 2686 +7894 4 2 0 1 646 2587 2169 2766 +7895 4 2 0 1 1763 1975 1575 2119 +7896 4 2 0 1 1621 1752 1957 2816 +7897 4 2 0 1 267 2209 466 2826 +7898 4 2 0 1 1866 2047 1671 2831 +7899 4 2 0 1 1736 2185 2632 2698 +7900 4 2 0 1 1006 954 958 2327 +7901 4 2 0 1 1946 1643 2331 2523 +7902 4 2 0 1 212 2123 1939 2353 +7903 4 2 0 1 726 2109 1757 2628 +7904 4 2 0 1 540 600 1825 2393 +7905 4 2 0 1 1850 1983 1657 2605 +7906 4 2 0 1 1637 2294 2281 2393 +7907 4 2 0 1 878 2057 967 2279 +7908 4 2 0 1 1826 2363 2186 2784 +7909 4 2 0 1 1183 1290 1263 1810 +7910 4 2 0 1 2036 2454 2276 2712 +7911 4 2 0 1 337 316 199 2601 +7912 4 2 0 1 1874 2427 2112 2652 +7913 4 2 0 1 1592 2256 1868 2618 +7914 4 2 0 1 826 1955 141 2732 +7915 4 2 0 1 1656 2083 1853 2151 +7916 4 2 0 1 145 2425 1726 2638 +7917 4 2 0 1 1677 1967 2297 2380 +7918 4 2 0 1 1532 2150 1779 2430 +7919 4 2 0 1 1382 908 904 2137 +7920 4 2 0 1 1663 2198 2026 2724 +7921 4 2 0 1 1913 1978 1681 2405 +7922 4 2 0 1 1906 2205 1626 2513 +7923 4 2 0 1 1632 1763 2114 2255 +7924 4 2 0 1 1647 1898 1812 2224 +7925 4 2 0 1 1992 2148 1633 2770 +7926 4 2 0 1 1444 1275 1193 1749 +7927 4 2 0 1 1561 2011 1834 2396 +7928 4 2 0 1 2345 2530 1680 2536 +7929 4 2 0 1 973 1872 911 2715 +7930 4 2 0 1 1820 1384 2387 2763 +7931 4 2 0 1 1953 2074 1713 2532 +7932 4 2 0 1 770 854 816 2638 +7933 4 2 0 1 1617 1815 2175 2595 +7934 4 2 0 1 1751 2096 1566 2428 +7935 4 2 0 1 1986 2231 1938 2476 +7936 4 2 0 1 1572 1923 1830 2276 +7937 4 2 0 1 1506 1516 1474 2137 +7938 4 2 0 1 1623 2223 2117 2617 +7939 4 2 0 1 1794 2087 724 2131 +7940 4 2 0 1 1833 1958 1597 2401 +7941 4 2 0 1 1984 2197 1735 2419 +7942 4 2 0 1 1611 2168 2031 2364 +7943 4 2 0 1 1751 2562 2162 2695 +7944 4 2 0 1 1863 2384 1163 2565 +7945 4 2 0 1 1054 165 1159 2140 +7946 4 2 0 1 368 293 214 2516 +7947 4 2 0 1 1678 2016 1926 2765 +7948 4 2 0 1 1840 1909 1609 2442 +7949 4 2 0 1 1193 1389 2008 2322 +7950 4 2 0 1 1159 164 1173 2140 +7951 4 2 0 1 1471 2241 1298 2383 +7952 4 2 0 1 602 683 1799 2587 +7953 4 2 0 1 1026 1914 2043 2095 +7954 4 2 0 1 2139 2260 1845 2706 +7955 4 2 0 1 1078 1146 1132 1904 +7956 4 2 0 1 240 461 457 1875 +7957 4 2 0 1 1359 1423 1198 2294 +7958 4 2 0 1 1581 2145 1747 2213 +7959 4 2 0 1 1610 2115 1771 2385 +7960 4 2 0 1 1779 2150 1833 2430 +7961 4 2 0 1 1671 2112 1874 2427 +7962 4 2 0 1 1968 2026 1663 2198 +7963 4 2 0 1 2016 2493 1922 2664 +7964 4 2 0 1 896 941 1754 2259 +7965 4 2 0 1 1903 2593 1552 2799 +7966 4 2 0 1 1071 1787 2056 2414 +7967 4 2 0 1 1017 1746 1122 2458 +7968 4 2 0 1 1973 2180 530 2246 +7969 4 2 0 1 1061 1053 2339 2522 +7970 4 2 0 1 1977 2153 1665 2539 +7971 4 2 0 1 926 1011 930 2553 +7972 4 2 0 1 1620 2199 1893 2245 +7973 4 2 0 1 1271 1787 1281 2056 +7974 4 2 0 1 985 2057 979 2462 +7975 4 2 0 1 795 2144 755 2267 +7976 4 2 0 1 1607 1984 1937 2408 +7977 4 2 0 1 930 2233 1817 2553 +7978 4 2 0 1 466 1800 520 2826 +7979 4 2 0 1 1739 2164 1871 2808 +7980 4 2 0 1 1969 2159 1767 2807 +7981 4 2 0 1 1554 2361 1839 2392 +7982 4 2 0 1 1726 2093 1662 2360 +7983 4 2 0 1 1008 915 919 2775 +7984 4 2 0 1 389 2097 1918 2571 +7985 4 2 0 1 240 186 251 1761 +7986 4 2 0 1 484 1733 311 2211 +7987 4 2 0 1 909 885 862 2477 +7988 4 2 0 1 1125 1081 1143 2255 +7989 4 2 0 1 1807 1988 1625 2413 +7990 4 2 0 1 1895 2317 1600 2366 +7991 4 2 0 1 2238 2368 1836 2505 +7992 4 2 0 1 994 2327 2155 2803 +7993 4 2 0 1 1023 1054 2140 2696 +7994 4 2 0 1 1659 2446 2211 2653 +7995 4 2 0 1 240 1761 251 2612 +7996 4 2 0 1 1355 1335 1412 2077 +7997 4 2 0 1 1583 1823 2225 2789 +7998 4 2 0 1 618 1786 559 2536 +7999 4 2 0 1 1743 1858 2659 2787 +8000 4 2 0 1 558 1447 579 1984 +8001 4 2 0 1 1749 2351 2265 2718 +8002 4 2 0 1 2146 2301 1837 2620 +8003 4 2 0 1 1650 1916 1782 2693 +8004 4 2 0 1 1793 1999 2129 2160 +8005 4 2 0 1 1821 2036 1299 2655 +8006 4 2 0 1 1782 2308 2150 2506 +8007 4 2 0 1 1679 2453 2324 2737 +8008 4 2 0 1 238 1829 334 2556 +8009 4 2 0 1 288 2157 327 2657 +8010 4 2 0 1 1551 1953 2074 2547 +8011 4 2 0 1 1569 2517 2113 2590 +8012 4 2 0 1 2286 2380 1967 2745 +8013 4 2 0 1 1894 2023 1600 2492 +8014 4 2 0 1 1791 2266 2065 2476 +8015 4 2 0 1 1119 1466 1083 1181 +8016 4 2 0 1 1757 1610 2186 2363 +8017 4 2 0 1 752 799 1942 2677 +8018 4 2 0 1 2044 2453 1774 2455 +8019 4 2 0 1 1594 1768 2176 2607 +8020 4 2 0 1 297 2030 383 2776 +8021 4 2 0 1 1707 2140 1797 2278 +8022 4 2 0 1 1819 2764 1557 2814 +8023 4 2 0 1 1678 2664 2016 2765 +8024 4 2 0 1 1713 2074 1855 2585 +8025 4 2 0 1 1566 1812 1911 2428 +8026 4 2 0 1 1883 1951 1640 2244 +8027 4 2 0 1 431 2359 1725 2610 +8028 4 2 0 1 327 2657 2157 2741 +8029 4 2 0 1 2105 2510 1812 2708 +8030 4 2 0 1 2324 2453 1329 2737 +8031 4 2 0 1 1350 839 838 2379 +8032 4 2 0 1 908 2137 1382 2715 +8033 4 2 0 1 1758 2393 2069 2469 +8034 4 2 0 1 932 941 1873 2251 +8035 4 2 0 1 1676 2352 1859 2699 +8036 4 2 0 1 1907 2125 1566 2553 +8037 4 2 0 1 1658 1979 1930 2349 +8038 4 2 0 1 1744 2121 2402 2460 +8039 4 2 0 1 1641 2547 1811 2611 +8040 4 2 0 1 1672 1589 2133 2208 +8041 4 2 0 1 1312 1218 1349 1922 +8042 4 2 0 1 1561 2396 1818 2599 +8043 4 2 0 1 1681 2424 2406 2642 +8044 4 2 0 1 1601 2085 1941 2480 +8045 4 2 0 1 1727 2337 2340 2396 +8046 4 2 0 1 1085 1775 1150 2191 +8047 4 2 0 1 1856 2398 1739 2527 +8048 4 2 0 1 1785 2203 1580 2665 +8049 4 2 0 1 1948 2706 1680 2786 +8050 4 2 0 1 1918 1983 490 2691 +8051 4 2 0 1 600 1825 2393 2663 +8052 4 2 0 1 2090 2333 1969 2407 +8053 4 2 0 1 1766 1618 2246 2496 +8054 4 2 0 1 136 2410 1972 2777 +8055 4 2 0 1 1750 2306 1597 2308 +8056 4 2 0 1 1663 2077 2167 2573 +8057 4 2 0 1 1532 1779 2343 2430 +8058 4 2 0 1 1568 2573 2396 2831 +8059 4 2 0 1 1604 2093 1726 2235 +8060 4 2 0 1 1681 2405 1978 2556 +8061 4 2 0 1 1006 879 2542 2576 +8062 4 2 0 1 1558 2145 2027 2332 +8063 4 2 0 1 1113 1052 1060 2394 +8064 4 2 0 1 1378 1438 1240 2767 +8065 4 2 0 1 1973 2367 683 2587 +8066 4 2 0 1 1747 1581 2074 2145 +8067 4 2 0 1 1589 2510 2105 2708 +8068 4 2 0 1 1871 1736 2632 2698 +8069 4 2 0 1 842 2115 153 2186 +8070 4 2 0 1 1755 2208 1672 2420 +8071 4 2 0 1 461 2086 1875 2612 +8072 4 2 0 1 1308 2324 1324 2655 +8073 4 2 0 1 874 1803 2233 2553 +8074 4 2 0 1 1621 1957 2089 2816 +8075 4 2 0 1 1844 1560 2257 2290 +8076 4 2 0 1 873 1003 2155 2542 +8077 4 2 0 1 1138 272 446 2349 +8078 4 2 0 1 1841 1653 2321 2766 +8079 4 2 0 1 2112 2427 1689 2652 +8080 4 2 0 1 1828 2367 2053 2725 +8081 4 2 0 1 1693 2079 1923 2329 +8082 4 2 0 1 2103 2369 1900 2806 +8083 4 2 0 1 1548 1755 1971 2511 +8084 4 2 0 1 2018 2033 1612 2667 +8085 4 2 0 1 1650 2100 2372 2837 +8086 4 2 0 1 1561 2050 2220 2654 +8087 4 2 0 1 1593 2107 1961 2280 +8088 4 2 0 1 1416 1243 1820 2289 +8089 4 2 0 1 1738 1999 1559 2758 +8090 4 2 0 1 695 1860 854 2649 +8091 4 2 0 1 1557 2613 1819 2768 +8092 4 2 0 1 2070 2382 2287 2734 +8093 4 2 0 1 2074 2547 1747 2762 +8094 4 2 0 1 2022 1698 2291 2648 +8095 4 2 0 1 1649 1996 2597 2744 +8096 4 2 0 1 714 2555 718 2649 +8097 4 2 0 1 2209 2338 264 2685 +8098 4 2 0 1 1988 2413 1777 2806 +8099 4 2 0 1 1532 1950 2150 2430 +8100 4 2 0 1 1576 2346 2043 2810 +8101 4 2 0 1 1609 2091 1762 2167 +8102 4 2 0 1 2070 2287 944 2734 +8103 4 2 0 1 1578 2457 1955 2705 +8104 4 2 0 1 1722 1997 2353 2568 +8105 4 2 0 1 1622 2079 1860 2375 +8106 4 2 0 1 1583 1823 1940 1964 +8107 4 2 0 1 815 1991 803 2684 +8108 4 2 0 1 863 1781 950 2081 +8109 4 2 0 1 617 1815 625 2344 +8110 4 2 0 1 188 2185 2090 2333 +8111 4 2 0 1 1577 1795 1925 2726 +8112 4 2 0 1 1593 1738 1999 2545 +8113 4 2 0 1 1233 1355 1412 2507 +8114 4 2 0 1 1560 2199 1824 2257 +8115 4 2 0 1 1577 1925 2312 2774 +8116 4 2 0 1 1080 388 272 2713 +8117 4 2 0 1 1716 2423 2319 2545 +8118 4 2 0 1 1655 2433 2450 2533 +8119 4 2 0 1 1626 2171 2099 2513 +8120 4 2 0 1 1022 1060 1927 2424 +8121 4 2 0 1 444 1800 466 2685 +8122 4 2 0 1 1733 2190 311 2211 +8123 4 2 0 1 584 2400 1809 2530 +8124 4 2 0 1 1218 1922 1312 2493 +8125 4 2 0 1 2062 2130 316 2624 +8126 4 2 0 1 1976 2264 1283 2435 +8127 4 2 0 1 840 1826 769 2186 +8128 4 2 0 1 705 709 1765 2501 +8129 4 2 0 1 1985 2705 2377 2773 +8130 4 2 0 1 1590 2159 1969 2807 +8131 4 2 0 1 1685 1991 2596 2684 +8132 4 2 0 1 1673 2058 1910 2681 +8133 4 2 0 1 1102 1072 2054 2202 +8134 4 2 0 1 1802 1634 1920 2528 +8135 4 2 0 1 1587 2040 2075 2578 +8136 4 2 0 1 1826 2529 1580 2784 +8137 4 2 0 1 1078 1904 1102 2564 +8138 4 2 0 1 1535 1892 2110 2487 +8139 4 2 0 1 290 316 2062 2448 +8140 4 2 0 1 1812 2105 1911 2510 +8141 4 2 0 1 1760 1908 1622 2358 +8142 4 2 0 1 1879 2185 372 2333 +8143 4 2 0 1 1454 1238 1432 2205 +8144 4 2 0 1 601 2046 619 2321 +8145 4 2 0 1 1066 1519 1508 2278 +8146 4 2 0 1 274 193 250 1961 +8147 4 2 0 1 1932 1635 2113 2838 +8148 4 2 0 1 1705 2021 1255 2387 +8149 4 2 0 1 1574 1782 2308 2538 +8150 4 2 0 1 1813 2207 356 2399 +8151 4 2 0 1 1253 1409 1824 2455 +8152 4 2 0 1 1675 1791 2065 2271 +8153 4 2 0 1 1663 2167 2077 2507 +8154 4 2 0 1 1542 2100 2079 2372 +8155 4 2 0 1 418 2559 1930 2713 +8156 4 2 0 1 1342 1239 1383 2322 +8157 4 2 0 1 1108 2043 1090 2518 +8158 4 2 0 1 1275 1193 1749 2615 +8159 4 2 0 1 1694 2123 1895 2366 +8160 4 2 0 1 1823 1605 2395 2735 +8161 4 2 0 1 2021 1708 2552 2563 +8162 4 2 0 1 1593 2061 1738 2319 +8163 4 2 0 1 2406 2424 1096 2642 +8164 4 2 0 1 2076 2301 1331 2740 +8165 4 2 0 1 1102 1078 1072 1904 +8166 4 2 0 1 2208 2411 2102 2794 +8167 4 2 0 1 1227 1346 1336 1834 +8168 4 2 0 1 1903 2779 1695 2799 +8169 4 2 0 1 931 2073 1832 2129 +8170 4 2 0 1 706 750 1769 2631 +8171 4 2 0 1 1806 1945 1673 2227 +8172 4 2 0 1 1605 1989 1915 2147 +8173 4 2 0 1 1762 2091 2077 2167 +8174 4 2 0 1 1071 1049 1133 1787 +8175 4 2 0 1 2039 2063 1645 2646 +8176 4 2 0 1 1682 2311 2168 2437 +8177 4 2 0 1 1374 2013 1217 2579 +8178 4 2 0 1 1769 2379 1467 2631 +8179 4 2 0 1 1818 2651 2813 2820 +8180 4 2 0 1 1199 1742 1443 2507 +8181 4 2 0 1 1573 2180 1845 2672 +8182 4 2 0 1 1528 2121 1966 2465 +8183 4 2 0 1 1568 1878 2252 2440 +8184 4 2 0 1 1564 2352 1753 2699 +8185 4 2 0 1 717 766 776 2307 +8186 4 2 0 1 1572 2310 1759 2515 +8187 4 2 0 1 1650 2150 2506 2693 +8188 4 2 0 1 1958 2471 2401 2750 +8189 4 2 0 1 896 946 941 2259 +8190 4 2 0 1 2116 2230 1671 2524 +8191 4 2 0 1 1057 2416 1929 2709 +8192 4 2 0 1 1777 2143 2290 2796 +8193 4 2 0 1 2140 2346 1023 2696 +8194 4 2 0 1 2000 2037 1692 2487 +8195 4 2 0 1 1604 1782 2093 2526 +8196 4 2 0 1 1668 2472 1897 2618 +8197 4 2 0 1 240 472 186 2127 +8198 4 2 0 1 1728 1579 2226 2479 +8199 4 2 0 1 653 1726 2212 2638 +8200 4 2 0 1 1640 2548 2108 2828 +8201 4 2 0 1 543 662 2256 2569 +8202 4 2 0 1 406 2020 320 2399 +8203 4 2 0 1 1646 2264 1976 2434 +8204 4 2 0 1 1601 2480 2479 2839 +8205 4 2 0 1 1594 2176 1738 2319 +8206 4 2 0 1 582 480 441 2456 +8207 4 2 0 1 2155 2444 1790 2771 +8208 4 2 0 1 1713 2074 1953 2432 +8209 4 2 0 1 333 2207 218 2472 +8210 4 2 0 1 896 1754 941 2495 +8211 4 2 0 1 1463 1287 1994 2785 +8212 4 2 0 1 1837 2301 2076 2740 +8213 4 2 0 1 302 216 1823 2395 +8214 4 2 0 1 2024 2235 1782 2526 +8215 4 2 0 1 1920 1675 2334 2701 +8216 4 2 0 1 1761 2127 1875 2612 +8217 4 2 0 1 306 2030 182 2190 +8218 4 2 0 1 1682 1969 2038 2437 +8219 4 2 0 1 1999 2073 1793 2129 +8220 4 2 0 1 634 1841 603 2321 +8221 4 2 0 1 1632 2114 1870 2255 +8222 4 2 0 1 844 527 149 2338 +8223 4 2 0 1 1880 2242 1675 2750 +8224 4 2 0 1 1601 1971 2479 2480 +8225 4 2 0 1 1512 1194 1251 2835 +8226 4 2 0 1 1550 2293 2085 2418 +8227 4 2 0 1 1549 2273 1876 2617 +8228 4 2 0 1 1743 2659 2598 2787 +8229 4 2 0 1 1443 1742 1199 2435 +8230 4 2 0 1 1857 2310 2044 2521 +8231 4 2 0 1 1711 2384 2191 2594 +8232 4 2 0 1 874 1907 2462 2553 +8233 4 2 0 1 1732 2156 2123 2680 +8234 4 2 0 1 550 638 2260 2400 +8235 4 2 0 1 493 426 658 2610 +8236 4 2 0 1 1559 2731 1851 2758 +8237 4 2 0 1 620 1799 683 2367 +8238 4 2 0 1 1736 2071 1861 2698 +8239 4 2 0 1 1411 1232 1373 2012 +8240 4 2 0 1 485 393 508 2635 +8241 4 2 0 1 1555 2174 1908 2329 +8242 4 2 0 1 1317 1388 1221 2788 +8243 4 2 0 1 1610 1793 2160 2331 +8244 4 2 0 1 2402 1744 2460 2794 +8245 4 2 0 1 537 1995 580 2294 +8246 4 2 0 1 1498 923 959 2057 +8247 4 2 0 1 1290 719 1505 2722 +8248 4 2 0 1 431 386 416 2661 +8249 4 2 0 1 1551 2547 2074 2762 +8250 4 2 0 1 812 849 814 1936 +8251 4 2 0 1 1930 2170 1606 2535 +8252 4 2 0 1 592 1831 547 2560 +8253 4 2 0 1 1833 1958 2401 2750 +8254 4 2 0 1 460 1809 426 2610 +8255 4 2 0 1 876 1016 989 1907 +8256 4 2 0 1 1604 1916 2210 2753 +8257 4 2 0 1 267 1952 2209 2826 +8258 4 2 0 1 1179 1772 2275 2751 +8259 4 2 0 1 1946 2109 1643 2523 +8260 4 2 0 1 1418 2008 2322 2711 +8261 4 2 0 1 640 1869 652 2390 +8262 4 2 0 1 1310 2036 1299 2475 +8263 4 2 0 1 652 136 1972 2777 +8264 4 2 0 1 683 620 602 1799 +8265 4 2 0 1 1129 1164 1864 2584 +8266 4 2 0 1 1663 2342 2198 2724 +8267 4 2 0 1 1823 2554 1940 2735 +8268 4 2 0 1 382 223 344 2092 +8269 4 2 0 1 2083 2646 1756 2660 +8270 4 2 0 1 1002 925 1931 2588 +8271 4 2 0 1 1359 2294 1995 2467 +8272 4 2 0 1 1086 2594 1171 2603 +8273 4 2 0 1 2049 2495 1847 2561 +8274 4 2 0 1 1829 2424 1681 2556 +8275 4 2 0 1 1908 2174 1760 2329 +8276 4 2 0 1 2225 2626 1723 2818 +8277 4 2 0 1 878 967 2057 2241 +8278 4 2 0 1 1540 1899 2067 2417 +8279 4 2 0 1 412 1902 387 2641 +8280 4 2 0 1 314 1778 300 2815 +8281 4 2 0 1 1980 2113 1635 2838 +8282 4 2 0 1 475 385 258 2333 +8283 4 2 0 1 389 412 1918 2641 +8284 4 2 0 1 606 559 618 1786 +8285 4 2 0 1 1631 2748 2680 2795 +8286 4 2 0 1 1664 1721 2188 2537 +8287 4 2 0 1 1711 2594 2191 2710 +8288 4 2 0 1 1193 2322 1749 2615 +8289 4 2 0 1 1359 1198 1326 1995 +8290 4 2 0 1 1753 2237 1980 2590 +8291 4 2 0 1 1185 1954 1327 2104 +8292 4 2 0 1 365 2409 2153 2669 +8293 4 2 0 1 1794 2131 147 2497 +8294 4 2 0 1 1652 2175 2141 2790 +8295 4 2 0 1 2106 2436 1629 2501 +8296 4 2 0 1 2157 2222 1720 2624 +8297 4 2 0 1 1797 2146 1707 2278 +8298 4 2 0 1 820 1405 1294 2379 +8299 4 2 0 1 1726 2093 1604 2283 +8300 4 2 0 1 1271 1205 1281 1049 +8301 4 2 0 1 365 183 1859 2153 +8302 4 2 0 1 1402 1506 1474 2137 +8303 4 2 0 1 1624 2070 1797 2188 +8304 4 2 0 1 1672 2133 2420 2668 +8305 4 2 0 1 1916 2443 2093 2693 +8306 4 2 0 1 1202 1139 1994 2582 +8307 4 2 0 1 2048 2160 1999 2758 +8308 4 2 0 1 362 2049 1847 2464 +8309 4 2 0 1 1616 2291 2187 2648 +8310 4 2 0 1 1719 2148 1240 2767 +8311 4 2 0 1 603 1841 612 2761 +8312 4 2 0 1 1547 1836 2238 2282 +8313 4 2 0 1 1737 2468 358 2489 +8314 4 2 0 1 456 235 340 1850 +8315 4 2 0 1 1796 2372 2100 2837 +8316 4 2 0 1 1890 2204 1752 2451 +8317 4 2 0 1 1710 2232 1870 2603 +8318 4 2 0 1 1584 1882 2103 2575 +8319 4 2 0 1 1625 1888 2103 2806 +8320 4 2 0 1 1683 2011 2306 2572 +8321 4 2 0 1 1580 1785 2351 2718 +8322 4 2 0 1 1738 2048 1999 2758 +8323 4 2 0 1 464 257 741 2692 +8324 4 2 0 1 202 383 353 1816 +8325 4 2 0 1 252 446 272 2349 +8326 4 2 0 1 361 2005 205 2614 +8327 4 2 0 1 1772 1987 1636 2747 +8328 4 2 0 1 417 2090 396 2657 +8329 4 2 0 1 307 2353 1722 2691 +8330 4 2 0 1 471 453 1792 2445 +8331 4 2 0 1 1321 1351 2044 2453 +8332 4 2 0 1 1749 2205 1444 2557 +8333 4 2 0 1 1597 2306 1865 2308 +8334 4 2 0 1 1667 1931 2061 2588 +8335 4 2 0 1 897 945 2461 2523 +8336 4 2 0 1 1246 1276 1933 2205 +8337 4 2 0 1 1245 1774 2455 2737 +8338 4 2 0 1 1826 2186 1757 2307 +8339 4 2 0 1 903 2049 891 2494 +8340 4 2 0 1 1712 2102 2078 2460 +8341 4 2 0 1 1536 1866 2047 2427 +8342 4 2 0 1 940 2073 2129 2637 +8343 4 2 0 1 186 251 1761 2803 +8344 4 2 0 1 1864 1606 2170 2541 +8345 4 2 0 1 1727 2463 2042 2654 +8346 4 2 0 1 2085 2219 1843 2673 +8347 4 2 0 1 1026 1914 1097 2043 +8348 4 2 0 1 1796 2372 1650 2506 +8349 4 2 0 1 2104 2215 2206 2782 +8350 4 2 0 1 1654 2279 2591 2636 +8351 4 2 0 1 1129 1864 2170 2584 +8352 4 2 0 1 1646 2195 1901 2434 +8353 4 2 0 1 1546 1737 2134 2483 +8354 4 2 0 1 1500 1840 1261 2586 +8355 4 2 0 1 1637 1912 2281 2294 +8356 4 2 0 1 1324 1374 1340 2013 +8357 4 2 0 1 1431 1423 1359 2294 +8358 4 2 0 1 1715 1981 1940 2368 +8359 4 2 0 1 1601 1971 1943 2479 +8360 4 2 0 1 253 279 275 1990 +8361 4 2 0 1 325 405 356 2328 +8362 4 2 0 1 1792 2066 1649 2341 +8363 4 2 0 1 1931 2155 1790 2771 +8364 4 2 0 1 1663 2026 2342 2724 +8365 4 2 0 1 1531 2003 1770 2604 +8366 4 2 0 1 1976 2434 2264 2435 +8367 4 2 0 1 2333 2407 2090 2657 +8368 4 2 0 1 222 462 329 2020 +8369 4 2 0 1 1608 2266 1791 2476 +8370 4 2 0 1 2061 2689 1931 2771 +8371 4 2 0 1 926 858 2125 2248 +8372 4 2 0 1 1548 1805 2254 2708 +8373 4 2 0 1 1632 2273 2117 2617 +8374 4 2 0 1 1701 2116 2032 2311 +8375 4 2 0 1 1558 2145 2332 2502 +8376 4 2 0 1 1916 2093 1786 2753 +8377 4 2 0 1 1548 1744 2208 2708 +8378 4 2 0 1 1360 1437 1414 2104 +8379 4 2 0 1 548 2246 2069 2725 +8380 4 2 0 1 1540 2630 1899 2827 +8381 4 2 0 1 2013 2654 1706 2746 +8382 4 2 0 1 436 1977 433 2445 +8383 4 2 0 1 1123 1846 1975 2570 +8384 4 2 0 1 1925 2083 1848 2726 +8385 4 2 0 1 1897 2472 1831 2618 +8386 4 2 0 1 1538 1844 1962 2388 +8387 4 2 0 1 1758 2069 1828 2812 +8388 4 2 0 1 1686 1964 1823 2622 +8389 4 2 0 1 1199 1421 1248 1976 +8390 4 2 0 1 1650 2372 1796 2837 +8391 4 2 0 1 1567 2260 1948 2400 +8392 4 2 0 1 1528 2111 1966 2566 +8393 4 2 0 1 1615 2224 1898 2389 +8394 4 2 0 1 1548 1971 1741 2511 +8395 4 2 0 1 653 1726 682 2283 +8396 4 2 0 1 2010 1689 2496 2782 +8397 4 2 0 1 1720 2062 1848 2797 +8398 4 2 0 1 171 1993 1977 2567 +8399 4 2 0 1 1418 2322 1885 2711 +8400 4 2 0 1 1570 1772 1987 2318 +8401 4 2 0 1 582 2456 536 2658 +8402 4 2 0 1 1578 1950 1916 2802 +8403 4 2 0 1 1468 2026 2686 2724 +8404 4 2 0 1 448 179 1875 2086 +8405 4 2 0 1 1416 1384 1455 1820 +8406 4 2 0 1 1654 1748 2254 2636 +8407 4 2 0 1 1137 2202 1087 2570 +8408 4 2 0 1 1447 1460 579 1984 +8409 4 2 0 1 1888 2019 1584 2216 +8410 4 2 0 1 2479 2480 1971 2839 +8411 4 2 0 1 1560 2290 1777 2707 +8412 4 2 0 1 1725 2207 431 2661 +8413 4 2 0 1 1547 2434 1742 2500 +8414 4 2 0 1 1818 2396 1866 2831 +8415 4 2 0 1 1605 2262 1823 2395 +8416 4 2 0 1 2039 2505 2063 2646 +8417 4 2 0 1 256 419 2185 2200 +8418 4 2 0 1 1150 2384 1775 2565 +8419 4 2 0 1 2051 2822 1251 2835 +8420 4 2 0 1 1601 1941 2085 2418 +8421 4 2 0 1 2014 2079 1693 2329 +8422 4 2 0 1 1511 1510 1473 2241 +8423 4 2 0 1 1738 2176 1594 2483 +8424 4 2 0 1 2195 2586 2303 2716 +8425 4 2 0 1 1569 1918 2176 2517 +8426 4 2 0 1 1694 2189 2219 2680 +8427 4 2 0 1 1871 2524 1540 2698 +8428 4 2 0 1 1705 2387 1255 2620 +8429 4 2 0 1 2295 2527 1683 2602 +8430 4 2 0 1 1932 2449 2270 2838 +8431 4 2 0 1 1882 2604 2147 2735 +8432 4 2 0 1 1538 2078 1844 2703 +8433 4 2 0 1 1594 2176 1918 2517 +8434 4 2 0 1 1585 2242 1801 2597 +8435 4 2 0 1 691 804 825 2288 +8436 4 2 0 1 1608 1986 1892 1998 +8437 4 2 0 1 1686 1823 2516 2622 +8438 4 2 0 1 1818 2651 2295 2813 +8439 4 2 0 1 1428 1924 1456 2358 +8440 4 2 0 1 581 534 577 1990 +8441 4 2 0 1 1649 1792 2341 2762 +8442 4 2 0 1 372 335 2185 2200 +8443 4 2 0 1 1874 1671 2230 2524 +8444 4 2 0 1 1528 2111 2048 2466 +8445 4 2 0 1 1793 2523 2461 2637 +8446 4 2 0 1 1297 2044 1214 2512 +8447 4 2 0 1 1463 1292 1202 1994 +8448 4 2 0 1 1083 1127 1039 2056 +8449 4 2 0 1 778 748 1933 2690 +8450 4 2 0 1 530 1973 1868 2180 +8451 4 2 0 1 1138 1080 272 2713 +8452 4 2 0 1 1268 1708 1266 2730 +8453 4 2 0 1 677 600 647 1825 +8454 4 2 0 1 213 428 437 1897 +8455 4 2 0 1 481 428 242 2560 +8456 4 2 0 1 1911 2428 1812 2650 +8457 4 2 0 1 545 2260 675 2569 +8458 4 2 0 1 795 755 850 2267 +8459 4 2 0 1 1889 2081 1628 2233 +8460 4 2 0 1 1674 2457 1905 2705 +8461 4 2 0 1 1672 2001 2102 2285 +8462 4 2 0 1 1030 1036 1153 1870 +8463 4 2 0 1 531 594 649 1845 +8464 4 2 0 1 1542 2093 1726 2360 +8465 4 2 0 1 1727 2463 1866 2573 +8466 4 2 0 1 1542 1782 2093 2693 +8467 4 2 0 1 2025 2646 1575 2660 +8468 4 2 0 1 1602 2038 1969 2437 +8469 4 2 0 1 1982 2211 1659 2446 +8470 4 2 0 1 1602 2437 1969 2807 +8471 4 2 0 1 382 2092 344 2448 +8472 4 2 0 1 984 2129 2365 2589 +8473 4 2 0 1 772 2041 785 2375 +8474 4 2 0 1 1603 1847 2049 2464 +8475 4 2 0 1 1785 1621 2203 2304 +8476 4 2 0 1 1609 2167 2142 2356 +8477 4 2 0 1 1618 1973 1799 2367 +8478 4 2 0 1 543 2256 1831 2569 +8479 4 2 0 1 1685 2034 2690 2718 +8480 4 2 0 1 1142 2049 1927 2394 +8481 4 2 0 1 612 1815 617 2344 +8482 4 2 0 1 1551 1811 2163 2532 +8483 4 2 0 1 1591 1939 2293 2607 +8484 4 2 0 1 1698 2022 2082 2181 +8485 4 2 0 1 2102 2285 2001 2703 +8486 4 2 0 1 770 2161 1860 2638 +8487 4 2 0 1 1826 1771 2055 2784 +8488 4 2 0 1 612 617 1815 2236 +8489 4 2 0 1 436 171 433 1977 +8490 4 2 0 1 1748 1624 2158 2287 +8491 4 2 0 1 1993 2316 777 2498 +8492 4 2 0 1 816 695 729 1860 +8493 4 2 0 1 1060 1052 1022 1927 +8494 4 2 0 1 1096 2424 2405 2642 +8495 4 2 0 1 1154 1930 1035 2713 +8496 4 2 0 1 1132 500 286 517 +8497 4 2 0 1 1567 1899 2481 2580 +8498 4 2 0 1 874 1907 870 2462 +8499 4 2 0 1 671 571 566 2197 +8500 4 2 0 1 1788 1924 1627 2475 +8501 4 2 0 1 1755 2076 1837 2511 +8502 4 2 0 1 1658 2025 2336 2622 +8503 4 2 0 1 1584 2083 1756 2315 +8504 4 2 0 1 2151 2216 2083 2549 +8505 4 2 0 1 2258 2343 1595 2652 +8506 4 2 0 1 1910 2172 1603 2189 +8507 4 2 0 1 1644 1897 2059 2756 +8508 4 2 0 1 1569 1966 2176 2423 +8509 4 2 0 1 230 509 444 1877 +8510 4 2 0 1 1719 2148 1633 2243 +8511 4 2 0 1 329 462 419 1736 +8512 4 2 0 1 2109 2115 842 2186 +8513 4 2 0 1 1385 1909 1419 2721 +8514 4 2 0 1 224 2084 324 2190 +8515 4 2 0 1 2219 2292 1843 2673 +8516 4 2 0 1 1589 2708 2208 2794 +8517 4 2 0 1 1821 1627 2371 2467 +8518 4 2 0 1 301 1997 2002 2741 +8519 4 2 0 1 1691 2015 1988 2300 +8520 4 2 0 1 1466 1083 1181 1115 +8521 4 2 0 1 1620 1893 2199 2201 +8522 4 2 0 1 749 1993 777 2498 +8523 4 2 0 1 1541 1865 2065 2306 +8524 4 2 0 1 1620 2340 2396 2599 +8525 4 2 0 1 1779 2150 1532 2258 +8526 4 2 0 1 1670 2173 1940 2478 +8527 4 2 0 1 372 1879 335 2200 +8528 4 2 0 1 1824 1651 2455 2493 +8529 4 2 0 1 1113 2394 1819 2709 +8530 4 2 0 1 1552 2779 1903 2799 +8531 4 2 0 1 593 2069 1766 2663 +8532 4 2 0 1 1619 1859 2409 2669 +8533 4 2 0 1 744 716 2041 2379 +8534 4 2 0 1 1749 2265 2557 2718 +8535 4 2 0 1 511 505 1849 2692 +8536 4 2 0 1 1565 1892 1986 1998 +8537 4 2 0 1 179 2097 2086 2821 +8538 4 2 0 1 1010 981 163 2734 +8539 4 2 0 1 1340 2013 1374 2579 +8540 4 2 0 1 444 2153 509 2409 +8541 4 2 0 1 1620 2340 2337 2396 +8542 4 2 0 1 571 2197 671 2390 +8543 4 2 0 1 1570 2291 2015 2540 +8544 4 2 0 1 1838 2071 1563 2391 +8545 4 2 0 1 175 1792 453 2404 +8546 4 2 0 1 1544 1827 2188 2537 +8547 4 2 0 1 1870 2232 1710 2710 +8548 4 2 0 1 1873 2221 1754 2259 +8549 4 2 0 1 849 1936 764 2045 +8550 4 2 0 1 1591 2219 2085 2293 +8551 4 2 0 1 1385 2148 1909 2721 +8552 4 2 0 1 1733 2084 311 2190 +8553 4 2 0 1 1005 868 928 2591 +8554 4 2 0 1 1665 1792 2163 2539 +8555 4 2 0 1 818 705 709 1765 +8556 4 2 0 1 2047 2167 1568 2573 +8557 4 2 0 1 372 2185 1879 2200 +8558 4 2 0 1 1618 2069 2206 2496 +8559 4 2 0 1 779 1826 840 2055 +8560 4 2 0 1 163 981 162 2035 +8561 4 2 0 1 966 922 2542 2695 +8562 4 2 0 1 1689 1956 1783 2652 +8563 4 2 0 1 940 2129 2461 2637 +8564 4 2 0 1 1335 1192 1341 2077 +8565 4 2 0 1 624 555 573 1912 +8566 4 2 0 1 1778 2397 1905 2815 +8567 4 2 0 1 1953 2074 1581 2432 +8568 4 2 0 1 1568 2440 2252 2820 +8569 4 2 0 1 1644 2059 1838 2756 +8570 4 2 0 1 706 750 746 1769 +8571 4 2 0 1 1465 1803 1415 2499 +8572 4 2 0 1 1654 1751 2279 2636 +8573 4 2 0 1 1575 2025 2660 2817 +8574 4 2 0 1 1738 1594 2319 2483 +8575 4 2 0 1 786 1849 720 2692 +8576 4 2 0 1 1516 1220 2137 2301 +8577 4 2 0 1 1833 1659 2430 2682 +8578 4 2 0 1 1682 2168 2031 2437 +8579 4 2 0 1 1869 2179 671 2777 +8580 4 2 0 1 363 354 178 2489 +8581 4 2 0 1 1179 2007 1404 2767 +8582 4 2 0 1 1817 2248 2125 2778 +8583 4 2 0 1 1695 1896 2298 2519 +8584 4 2 0 1 471 2539 1792 2674 +8585 4 2 0 1 261 2456 480 2658 +8586 4 2 0 1 1956 2459 1630 2759 +8587 4 2 0 1 601 2321 1841 2761 +8588 4 2 0 1 1974 2322 1441 2615 +8589 4 2 0 1 2258 2348 1783 2652 +8590 4 2 0 1 782 788 1881 2120 +8591 4 2 0 1 1900 2364 1835 2593 +8592 4 2 0 1 1644 1838 2071 2756 +8593 4 2 0 1 1666 2238 1836 2505 +8594 4 2 0 1 1916 1950 1532 2154 +8595 4 2 0 1 378 362 1847 2464 +8596 4 2 0 1 896 2259 1754 2561 +8597 4 2 0 1 1757 1582 1957 2403 +8598 4 2 0 1 1579 2420 2094 2740 +8599 4 2 0 1 1982 2430 1659 2727 +8600 4 2 0 1 1701 2071 1838 2230 +8601 4 2 0 1 2078 2102 1678 2703 +8602 4 2 0 1 1738 2061 1999 2486 +8603 4 2 0 1 353 1816 383 2525 +8604 4 2 0 1 1748 2162 2382 2738 +8605 4 2 0 1 1760 2012 1642 2263 +8606 4 2 0 1 1635 1852 1962 2460 +8607 4 2 0 1 585 620 587 1937 +8608 4 2 0 1 1671 1874 2230 2427 +8609 4 2 0 1 659 2132 1252 2469 +8610 4 2 0 1 369 2317 1895 2366 +8611 4 2 0 1 2029 2222 1896 2624 +8612 4 2 0 1 1591 2293 2085 2607 +8613 4 2 0 1 315 2123 317 2156 +8614 4 2 0 1 212 2123 363 2489 +8615 4 2 0 1 1654 2096 1751 2636 +8616 4 2 0 1 1882 1605 2315 2735 +8617 4 2 0 1 1318 1374 2013 2042 +8618 4 2 0 1 1489 2387 2094 2620 +8619 4 2 0 1 547 2046 588 2560 +8620 4 2 0 1 1158 482 488 1927 +8621 4 2 0 1 1511 1872 1510 2241 +8622 4 2 0 1 1579 2420 2740 2781 +8623 4 2 0 1 1817 2248 1599 2365 +8624 4 2 0 1 462 256 419 2185 +8625 4 2 0 1 1621 2089 1811 2816 +8626 4 2 0 1 2046 2256 619 2321 +8627 4 2 0 1 1767 2159 1969 2407 +8628 4 2 0 1 852 728 840 2055 +8629 4 2 0 1 1607 2026 1968 2198 +8630 4 2 0 1 1577 1848 1925 2166 +8631 4 2 0 1 1343 2324 1329 2737 +8632 4 2 0 1 1926 2102 1589 2302 +8633 4 2 0 1 1975 2414 1763 2544 +8634 4 2 0 1 555 2281 624 2294 +8635 4 2 0 1 1785 1580 2351 2665 +8636 4 2 0 1 1568 1762 1963 2340 +8637 4 2 0 1 1706 2324 2036 2655 +8638 4 2 0 1 1958 2447 2239 2837 +8639 4 2 0 1 616 1912 2281 2283 +8640 4 2 0 1 2141 2175 1734 2790 +8641 4 2 0 1 558 1476 1447 1937 +8642 4 2 0 1 877 1931 871 2155 +8643 4 2 0 1 1556 1852 2078 2231 +8644 4 2 0 1 1321 1245 1351 2453 +8645 4 2 0 1 1684 2296 1928 2675 +8646 4 2 0 1 1622 1776 2041 2736 +8647 4 2 0 1 1640 1883 2244 2548 +8648 4 2 0 1 2115 2461 1793 2523 +8649 4 2 0 1 1593 2086 2107 2612 +8650 4 2 0 1 2099 1769 2513 2631 +8651 4 2 0 1 1599 2129 1999 2160 +8652 4 2 0 1 1612 1926 2016 2429 +8653 4 2 0 1 1757 1610 2109 2186 +8654 4 2 0 1 1597 2065 1865 2306 +8655 4 2 0 1 1528 1966 2121 2566 +8656 4 2 0 1 1899 2630 2122 2827 +8657 4 2 0 1 1215 2467 1323 2484 +8658 4 2 0 1 652 1972 136 2410 +8659 4 2 0 1 805 717 769 2307 +8660 4 2 0 1 1269 2135 1526 2822 +8661 4 2 0 1 1604 2281 1912 2283 +8662 4 2 0 1 1866 2463 1727 2654 +8663 4 2 0 1 139 2264 138 2419 +8664 4 2 0 1 1644 2380 2286 2391 +8665 4 2 0 1 852 840 828 2186 +8666 4 2 0 1 1463 1994 1287 2178 +8667 4 2 0 1 1291 2462 1464 2775 +8668 4 2 0 1 579 1984 1398 2419 +8669 4 2 0 1 1819 2406 1681 2424 +8670 4 2 0 1 467 2445 246 2498 +8671 4 2 0 1 1644 1967 1965 2391 +8672 4 2 0 1 1534 2292 2219 2673 +8673 4 2 0 1 1682 2364 2593 2807 +8674 4 2 0 1 313 2298 201 2795 +8675 4 2 0 1 1916 1650 2443 2693 +8676 4 2 0 1 1589 2105 1731 2558 +8677 4 2 0 1 1801 2597 1996 2744 +8678 4 2 0 1 1750 1597 2306 2688 +8679 4 2 0 1 2091 2167 1742 2507 +8680 4 2 0 1 1777 2290 1988 2806 +8681 4 2 0 1 1566 1731 2105 2558 +8682 4 2 0 1 1898 1812 2428 2650 +8683 4 2 0 1 1708 2232 2022 2648 +8684 4 2 0 1 1797 2070 1624 2137 +8685 4 2 0 1 1612 2370 2000 2429 +8686 4 2 0 1 220 354 2123 2683 +8687 4 2 0 1 1300 1331 2301 2740 +8688 4 2 0 1 1752 1621 1957 2451 +8689 4 2 0 1 1857 2012 1333 2325 +8690 4 2 0 1 603 1841 529 2169 +8691 4 2 0 1 1801 2242 2005 2699 +8692 4 2 0 1 1724 2160 2152 2385 +8693 4 2 0 1 1582 2149 1811 2163 +8694 4 2 0 1 1638 1759 2310 2515 +8695 4 2 0 1 1102 2054 1029 2202 +8696 4 2 0 1 1145 1115 1139 1994 +8697 4 2 0 1 870 1907 874 2553 +8698 4 2 0 1 1647 1814 2480 2673 +8699 4 2 0 1 1782 1574 2526 2538 +8700 4 2 0 1 1255 1417 1189 2620 +8701 4 2 0 1 1532 1782 2210 2538 +8702 4 2 0 1 1479 1769 1467 2780 +8703 4 2 0 1 1698 2082 2022 2291 +8704 4 2 0 1 1821 1921 1637 2371 +8705 4 2 0 1 563 1955 628 2456 +8706 4 2 0 1 1914 2043 1576 2346 +8707 4 2 0 1 1144 1093 1041 2458 +8708 4 2 0 1 1308 2036 2324 2655 +8709 4 2 0 1 1243 1384 1416 2763 +8710 4 2 0 1 957 898 164 2070 +8711 4 2 0 1 1622 2329 1776 2736 +8712 4 2 0 1 1570 1987 1772 2747 +8713 4 2 0 1 385 2333 475 2407 +8714 4 2 0 1 1851 2431 2237 2633 +8715 4 2 0 1 849 814 1936 2045 +8716 4 2 0 1 822 742 719 2722 +8717 4 2 0 1 1714 2534 2152 2592 +8718 4 2 0 1 1577 1925 1848 2726 +8719 4 2 0 1 1602 2164 1879 2632 +8720 4 2 0 1 2085 2293 1768 2607 +8721 4 2 0 1 1808 2033 1764 2392 +8722 4 2 0 1 1934 2283 1786 2536 +8723 4 2 0 1 1792 1996 1649 2674 +8724 4 2 0 1 430 2127 1737 2679 +8725 4 2 0 1 1559 1999 2160 2758 +8726 4 2 0 1 290 199 316 2448 +8727 4 2 0 1 230 2567 1877 2685 +8728 4 2 0 1 1902 2237 1619 2669 +8729 4 2 0 1 1749 2265 2205 2557 +8730 4 2 0 1 794 754 851 1933 +8731 4 2 0 1 820 1294 716 2379 +8732 4 2 0 1 1560 1893 2199 2245 +8733 4 2 0 1 1589 2208 2102 2794 +8734 4 2 0 1 1760 2358 1924 2441 +8735 4 2 0 1 1798 2094 1352 2387 +8736 4 2 0 1 1121 1175 2138 2191 +8737 4 2 0 1 1866 2654 1689 2743 +8738 4 2 0 1 612 603 560 2236 +8739 4 2 0 1 1905 2397 1659 2727 +8740 4 2 0 1 1650 2372 2100 2693 +8741 4 2 0 1 1654 2591 1748 2636 +8742 4 2 0 1 1773 1666 2386 2440 +8743 4 2 0 1 754 851 1933 2596 +8744 4 2 0 1 1905 2124 259 2397 +8745 4 2 0 1 1555 2014 2329 2736 +8746 4 2 0 1 1300 1837 1469 2740 +8747 4 2 0 1 2121 2460 1744 2794 +8748 4 2 0 1 2409 1902 2641 2826 +8749 4 2 0 1 1469 2301 2146 2620 +8750 4 2 0 1 1618 2069 2246 2725 +8751 4 2 0 1 755 795 709 2144 +8752 4 2 0 1 1371 1373 1234 1760 +8753 4 2 0 1 1859 2647 2005 2699 +8754 4 2 0 1 1703 1851 2731 2758 +8755 4 2 0 1 1318 1217 1374 2042 +8756 4 2 0 1 1559 1999 1738 2545 +8757 4 2 0 1 1764 1974 2615 2754 +8758 4 2 0 1 1281 2303 1787 2339 +8759 4 2 0 1 2118 2354 1641 2547 +8760 4 2 0 1 1741 2226 1837 2781 +8761 4 2 0 1 931 1832 962 2129 +8762 4 2 0 1 1651 1824 2199 2257 +8763 4 2 0 1 1969 2159 1590 2407 +8764 4 2 0 1 1718 2017 1816 2502 +8765 4 2 0 1 1049 1787 1099 2804 +8766 4 2 0 1 298 348 1982 2397 +8767 4 2 0 1 1594 2176 1919 2483 +8768 4 2 0 1 1731 1628 2374 2499 +8769 4 2 0 1 2052 2084 1634 2376 +8770 4 2 0 1 1570 2007 1798 2747 +8771 4 2 0 1 1222 1798 1439 2763 +8772 4 2 0 1 1616 2552 2022 2648 +8773 4 2 0 1 1621 1752 2204 2451 +8774 4 2 0 1 171 505 464 1993 +8775 4 2 0 1 1707 2625 2619 2833 +8776 4 2 0 1 1947 2189 1631 2357 +8777 4 2 0 1 1259 1195 1420 1808 +8778 4 2 0 1 1645 2386 2063 2600 +8779 4 2 0 1 1257 1200 1289 651 +8780 4 2 0 1 1818 2813 2295 2820 +8781 4 2 0 1 1176 2594 1870 2603 +8782 4 2 0 1 1010 164 898 2070 +8783 4 2 0 1 1995 2131 1491 2484 +8784 4 2 0 1 614 541 599 1948 +8785 4 2 0 1 1720 2157 519 2355 +8786 4 2 0 1 198 2277 140 2456 +8787 4 2 0 1 1879 2088 1588 2164 +8788 4 2 0 1 341 2559 1978 2601 +8789 4 2 0 1 539 2046 601 2761 +8790 4 2 0 1 1649 2332 2027 2762 +8791 4 2 0 1 1917 1996 1665 2671 +8792 4 2 0 1 2226 2627 1951 2833 +8793 4 2 0 1 1582 1849 2403 2426 +8794 4 2 0 1 1582 1757 2089 2426 +8795 4 2 0 1 1958 1796 2447 2837 +8796 4 2 0 1 1499 2131 1428 2484 +8797 4 2 0 1 413 353 234 2066 +8798 4 2 0 1 1597 1830 2471 2506 +8799 4 2 0 1 1626 1933 2205 2265 +8800 4 2 0 1 1651 1938 1922 2664 +8801 4 2 0 1 1876 1623 2181 2617 +8802 4 2 0 1 1558 2332 2027 2502 +8803 4 2 0 1 1754 2495 896 2561 +8804 4 2 0 1 863 894 1781 2184 +8805 4 2 0 1 1637 2132 1758 2194 +8806 4 2 0 1 1767 1969 2333 2407 +8807 4 2 0 1 1311 1924 1223 2475 +8808 4 2 0 1 1714 2592 2152 2834 +8809 4 2 0 1 1528 2121 2111 2566 +8810 4 2 0 1 1748 2279 2162 2636 +8811 4 2 0 1 1719 1623 2551 2629 +8812 4 2 0 1 1643 2331 2109 2426 +8813 4 2 0 1 1868 2321 1653 2766 +8814 4 2 0 1 995 904 893 2137 +8815 4 2 0 1 804 753 2267 2288 +8816 4 2 0 1 1900 2168 1682 2296 +8817 4 2 0 1 1837 2076 1755 2740 +8818 4 2 0 1 501 263 740 2217 +8819 4 2 0 1 1883 2187 2548 2648 +8820 4 2 0 1 1588 1871 2067 2632 +8821 4 2 0 1 1689 2220 2050 2348 +8822 4 2 0 1 1933 1685 2690 2718 +8823 4 2 0 1 1611 1802 2031 2271 +8824 4 2 0 1 1816 2017 1718 2635 +8825 4 2 0 1 330 209 402 2328 +8826 4 2 0 1 2407 2657 327 2741 +8827 4 2 0 1 2229 2232 1661 2563 +8828 4 2 0 1 1923 2024 1830 2276 +8829 4 2 0 1 1639 2206 1954 2782 +8830 4 2 0 1 1277 2303 1976 2442 +8831 4 2 0 1 413 187 347 2635 +8832 4 2 0 1 1948 1567 2433 2706 +8833 4 2 0 1 447 209 335 2200 +8834 4 2 0 1 1554 1771 2361 2742 +8835 4 2 0 1 1534 1843 2292 2673 +8836 4 2 0 1 870 1907 993 2462 +8837 4 2 0 1 2534 2592 1714 2834 +8838 4 2 0 1 230 509 1877 2153 +8839 4 2 0 1 252 272 418 1930 +8840 4 2 0 1 1123 1087 1846 2570 +8841 4 2 0 1 1589 2133 1805 2531 +8842 4 2 0 1 1290 822 719 2722 +8843 4 2 0 1 746 1769 750 2631 +8844 4 2 0 1 1548 2254 1748 2636 +8845 4 2 0 1 1540 1899 2417 2827 +8846 4 2 0 1 1082 1863 1126 2570 +8847 4 2 0 1 1956 2139 1702 2630 +8848 4 2 0 1 1560 2290 1988 2413 +8849 4 2 0 1 454 2445 433 2498 +8850 4 2 0 1 671 685 1869 2777 +8851 4 2 0 1 467 2144 2445 2498 +8852 4 2 0 1 276 970 1961 2107 +8853 4 2 0 1 1617 1960 1815 2595 +8854 4 2 0 1 2514 2542 879 2576 +8855 4 2 0 1 2072 2470 1987 2747 +8856 4 2 0 1 1213 1926 1305 2667 +8857 4 2 0 1 855 825 813 2316 +8858 4 2 0 1 540 1825 600 2281 +8859 4 2 0 1 1588 1891 2343 2430 +8860 4 2 0 1 1771 2644 2165 2742 +8861 4 2 0 1 556 2169 656 2390 +8862 4 2 0 1 626 1725 684 2359 +8863 4 2 0 1 1705 2094 1837 2226 +8864 4 2 0 1 706 704 806 2099 +8865 4 2 0 1 1786 2283 1934 2753 +8866 4 2 0 1 2079 2372 2100 2577 +8867 4 2 0 1 1554 2361 2177 2742 +8868 4 2 0 1 1795 2058 1557 2228 +8869 4 2 0 1 1669 1791 2504 2796 +8870 4 2 0 1 1526 1269 1494 2135 +8871 4 2 0 1 1570 2007 1772 2318 +8872 4 2 0 1 1644 2286 1967 2391 +8873 4 2 0 1 418 181 2559 2713 +8874 4 2 0 1 1566 1803 1907 2553 +8875 4 2 0 1 1063 438 1156 2422 +8876 4 2 0 1 186 1761 2127 2327 +8877 4 2 0 1 1947 2268 1829 2357 +8878 4 2 0 1 1891 1532 1950 2154 +8879 4 2 0 1 1795 1577 2621 2726 +8880 4 2 0 1 1604 2093 1916 2753 +8881 4 2 0 1 742 1810 774 2722 +8882 4 2 0 1 1633 1719 2243 2318 +8883 4 2 0 1 1285 1281 1206 2586 +8884 4 2 0 1 1406 1924 1428 2358 +8885 4 2 0 1 2076 2301 1837 2511 +8886 4 2 0 1 1849 1582 1993 2567 +8887 4 2 0 1 1353 1885 1418 2322 +8888 4 2 0 1 1810 1933 2690 2718 +8889 4 2 0 1 1702 2139 1956 2546 +8890 4 2 0 1 1621 1811 2204 2816 +8891 4 2 0 1 1551 2074 1953 2532 +8892 4 2 0 1 1487 1283 2419 2435 +8893 4 2 0 1 1275 1749 1444 2557 +8894 4 2 0 1 1550 2418 1941 2623 +8895 4 2 0 1 1590 1802 2270 2528 +8896 4 2 0 1 647 2192 567 2786 +8897 4 2 0 1 1588 1879 2164 2632 +8898 4 2 0 1 1676 2614 2005 2669 +8899 4 2 0 1 1431 561 1423 2294 +8900 4 2 0 1 1768 2293 2113 2517 +8901 4 2 0 1 1532 2343 2258 2546 +8902 4 2 0 1 2089 2203 1621 2304 +8903 4 2 0 1 1832 1599 2248 2365 +8904 4 2 0 1 958 954 278 2327 +8905 4 2 0 1 1578 1905 2124 2457 +8906 4 2 0 1 1310 1788 1223 2441 +8907 4 2 0 1 2295 2813 1717 2820 +8908 4 2 0 1 1826 2055 2529 2784 +8909 4 2 0 1 1531 1940 1981 2368 +8910 4 2 0 1 1827 2335 2182 2800 +8911 4 2 0 1 690 2028 814 2045 +8912 4 2 0 1 809 848 1855 2378 +8913 4 2 0 1 1099 1787 2414 2804 +8914 4 2 0 1 1561 2011 2572 2746 +8915 4 2 0 1 2032 2252 1928 2651 +8916 4 2 0 1 1574 2050 1750 2454 +8917 4 2 0 1 410 1965 1967 2752 +8918 4 2 0 1 1763 2119 2114 2255 +8919 4 2 0 1 2270 2449 1657 2838 +8920 4 2 0 1 1299 2036 1821 2475 +8921 4 2 0 1 1444 1193 1389 2008 +8922 4 2 0 1 291 200 2298 2741 +8923 4 2 0 1 1601 2085 2480 2673 +8924 4 2 0 1 1613 2466 1851 2487 +8925 4 2 0 1 1126 2202 1863 2564 +8926 4 2 0 1 1126 2202 1137 2570 +8927 4 2 0 1 1436 979 2057 2462 +8928 4 2 0 1 1570 1987 1807 2318 +8929 4 2 0 1 1772 2550 1893 2751 +8930 4 2 0 1 1652 2009 2197 2250 +8931 4 2 0 1 204 2005 373 2647 +8932 4 2 0 1 1675 1880 2266 2701 +8933 4 2 0 1 1648 2079 2100 2577 +8934 4 2 0 1 1348 2076 1339 2383 +8935 4 2 0 1 787 774 2529 2722 +8936 4 2 0 1 1940 2554 1670 2735 +8937 4 2 0 1 1753 2373 1980 2633 +8938 4 2 0 1 237 520 2409 2826 +8939 4 2 0 1 1620 2599 1804 2707 +8940 4 2 0 1 1468 1518 1984 2686 +8941 4 2 0 1 1660 2238 1901 2505 +8942 4 2 0 1 1644 2297 1967 2380 +8943 4 2 0 1 221 359 1947 2683 +8944 4 2 0 1 1649 1816 2027 2332 +8945 4 2 0 1 1317 2018 1388 2788 +8946 4 2 0 1 413 2106 187 2635 +8947 4 2 0 1 377 2066 234 2404 +8948 4 2 0 1 1307 2057 1498 2241 +8949 4 2 0 1 545 594 675 2260 +8950 4 2 0 1 332 200 2222 2298 +8951 4 2 0 1 1289 1828 651 2812 +8952 4 2 0 1 1734 2175 1836 2790 +8953 4 2 0 1 1624 2137 2070 2287 +8954 4 2 0 1 1693 2213 1796 2577 +8955 4 2 0 1 2027 2332 1747 2762 +8956 4 2 0 1 787 2135 699 2722 +8957 4 2 0 1 1616 2244 2540 2627 +8958 4 2 0 1 1787 2303 1281 2586 +8959 4 2 0 1 691 1890 803 2288 +8960 4 2 0 1 485 2017 393 2635 +8961 4 2 0 1 839 746 838 2379 +8962 4 2 0 1 1555 2659 1858 2787 +8963 4 2 0 1 2000 2037 1613 2429 +8964 4 2 0 1 1822 2253 765 2555 +8965 4 2 0 1 2036 1679 2454 2712 +8966 4 2 0 1 1726 2235 1912 2283 +8967 4 2 0 1 914 867 936 1961 +8968 4 2 0 1 332 2222 1896 2298 +8969 4 2 0 1 431 416 451 2610 +8970 4 2 0 1 1530 1958 1796 2447 +8971 4 2 0 1 1951 2226 1544 2627 +8972 4 2 0 1 1789 1557 2058 2228 +8973 4 2 0 1 1583 1981 1940 2789 +8974 4 2 0 1 1639 2104 1954 2206 +8975 4 2 0 1 1948 1845 2260 2706 +8976 4 2 0 1 1729 2477 1946 2637 +8977 4 2 0 1 2319 2423 1738 2545 +8978 4 2 0 1 1785 2265 1685 2634 +8979 4 2 0 1 246 2445 454 2498 +8980 4 2 0 1 2100 2443 1650 2693 +8981 4 2 0 1 1682 2593 1969 2807 +8982 4 2 0 1 1679 2011 1834 2746 +8983 4 2 0 1 1033 1126 1863 2564 +8984 4 2 0 1 1546 1919 1898 2650 +8985 4 2 0 1 1893 2245 1560 2550 +8986 4 2 0 1 1128 2140 1173 2274 +8987 4 2 0 1 746 2379 1769 2631 +8988 4 2 0 1 1004 1832 929 2280 +8989 4 2 0 1 1870 2232 1661 2603 +8990 4 2 0 1 1885 2322 2008 2711 +8991 4 2 0 1 1574 1921 1821 2811 +8992 4 2 0 1 1855 2028 1713 2585 +8993 4 2 0 1 1544 2182 2335 2800 +8994 4 2 0 1 1955 2277 141 2732 +8995 4 2 0 1 1693 2079 2014 2577 +8996 4 2 0 1 1554 2616 2152 2834 +8997 4 2 0 1 560 603 529 2169 +8998 4 2 0 1 1913 1930 1606 2559 +8999 4 2 0 1 1765 1629 2068 2341 +9000 4 2 0 1 1350 2379 838 2631 +9001 4 2 0 1 1554 2152 2592 2834 +9002 4 2 0 1 301 291 1997 2741 +9003 4 2 0 1 1532 1891 1950 2430 +9004 4 2 0 1 1512 2177 1194 2822 +9005 4 2 0 1 1817 2553 1566 2778 +9006 4 2 0 1 1653 2314 2122 2723 +9007 4 2 0 1 1645 1876 2039 2509 +9008 4 2 0 1 1921 2210 1783 2459 +9009 4 2 0 1 1782 2235 2093 2526 +9010 4 2 0 1 1559 1716 2423 2490 +9011 4 2 0 1 1857 2044 1214 2453 +9012 4 2 0 1 1692 1839 2665 2754 +9013 4 2 0 1 2066 2068 1629 2341 +9014 4 2 0 1 1584 1848 2083 2315 +9015 4 2 0 1 1529 2187 2244 2540 +9016 4 2 0 1 2405 2424 1681 2642 +9017 4 2 0 1 648 132 654 2830 +9018 4 2 0 1 1756 2646 2025 2660 +9019 4 2 0 1 1764 2615 1974 2835 +9020 4 2 0 1 1476 1460 1447 1937 +9021 4 2 0 1 1841 1653 2314 2321 +9022 4 2 0 1 462 419 1736 2185 +9023 4 2 0 1 791 151 2109 2628 +9024 4 2 0 1 1619 1877 1800 2409 +9025 4 2 0 1 619 2046 547 2256 +9026 4 2 0 1 1659 2211 1778 2653 +9027 4 2 0 1 1745 2238 1617 2282 +9028 4 2 0 1 488 476 1069 2424 +9029 4 2 0 1 1548 2224 1812 2708 +9030 4 2 0 1 1728 2227 1827 2335 +9031 4 2 0 1 1719 2609 2289 2629 +9032 4 2 0 1 1679 1774 2453 2737 +9033 4 2 0 1 1161 2594 2384 2769 +9034 4 2 0 1 1793 2160 2129 2461 +9035 4 2 0 1 1738 1919 2176 2483 +9036 4 2 0 1 677 600 1825 2281 +9037 4 2 0 1 1652 2197 2009 2390 +9038 4 2 0 1 1951 1705 2627 2755 +9039 4 2 0 1 1743 1530 2213 2354 +9040 4 2 0 1 209 1982 402 2328 +9041 4 2 0 1 1832 1593 1999 2073 +9042 4 2 0 1 1933 2171 1626 2205 +9043 4 2 0 1 543 549 662 2569 +9044 4 2 0 1 1725 2359 2481 2569 +9045 4 2 0 1 1616 2627 1886 2755 +9046 4 2 0 1 1267 1266 1268 1708 +9047 4 2 0 1 1862 2089 1535 2439 +9048 4 2 0 1 2113 2293 1722 2517 +9049 4 2 0 1 1675 2401 2471 2750 +9050 4 2 0 1 1559 2160 1793 2731 +9051 4 2 0 1 2252 2651 2032 2678 +9052 4 2 0 1 193 524 267 2209 +9053 4 2 0 1 1657 2113 1932 2449 +9054 4 2 0 1 1085 1775 2191 2584 +9055 4 2 0 1 2158 2636 1748 2738 +9056 4 2 0 1 1601 2418 2085 2673 +9057 4 2 0 1 409 2084 311 2574 +9058 4 2 0 1 1759 2183 1530 2471 +9059 4 2 0 1 1886 2540 2244 2627 +9060 4 2 0 1 1764 2615 2051 2754 +9061 4 2 0 1 2090 2407 1969 2657 +9062 4 2 0 1 390 2407 2333 2657 +9063 4 2 0 1 2351 2615 1974 2754 +9064 4 2 0 1 1795 2228 2108 2541 +9065 4 2 0 1 1913 1978 326 2559 +9066 4 2 0 1 1680 1934 2154 2753 +9067 4 2 0 1 1555 2347 1858 2659 +9068 4 2 0 1 1111 2488 2054 2626 +9069 4 2 0 1 1003 922 1000 1790 +9070 4 2 0 1 2058 2357 1910 2681 +9071 4 2 0 1 592 547 588 2560 +9072 4 2 0 1 1556 1986 2037 2231 +9073 4 2 0 1 1037 1150 1031 2565 +9074 4 2 0 1 715 784 2217 2714 +9075 4 2 0 1 1537 1963 2243 2739 +9076 4 2 0 1 780 1855 2436 2501 +9077 4 2 0 1 1544 2226 1951 2833 +9078 4 2 0 1 287 1007 970 2107 +9079 4 2 0 1 1111 2054 1098 2626 +9080 4 2 0 1 1610 2331 2160 2731 +9081 4 2 0 1 1630 2154 1934 2753 +9082 4 2 0 1 1972 2410 2282 2777 +9083 4 2 0 1 477 274 265 2612 +9084 4 2 0 1 2529 2690 2034 2718 +9085 4 2 0 1 2082 2243 1719 2318 +9086 4 2 0 1 387 1902 318 2669 +9087 4 2 0 1 1439 1222 1352 1798 +9088 4 2 0 1 997 1507 157 2184 +9089 4 2 0 1 313 1732 2353 2795 +9090 4 2 0 1 1568 1878 2047 2252 +9091 4 2 0 1 1582 2089 1811 2149 +9092 4 2 0 1 567 647 600 2192 +9093 4 2 0 1 1132 286 500 1904 +9094 4 2 0 1 1675 2401 2065 2471 +9095 4 2 0 1 1151 2416 1057 2709 +9096 4 2 0 1 1624 2076 1872 2254 +9097 4 2 0 1 510 592 514 2359 +9098 4 2 0 1 930 948 2233 2553 +9099 4 2 0 1 1666 1901 2238 2505 +9100 4 2 0 1 760 797 802 2585 +9101 4 2 0 1 1560 1777 2413 2707 +9102 4 2 0 1 1585 1880 2447 2750 +9103 4 2 0 1 2089 2363 1862 2426 +9104 4 2 0 1 1409 1253 1824 2751 +9105 4 2 0 1 1082 1163 1863 2384 +9106 4 2 0 1 1356 1404 1179 2007 +9107 4 2 0 1 1729 2209 1952 2793 +9108 4 2 0 1 1564 1867 2118 2829 +9109 4 2 0 1 175 471 1792 2674 +9110 4 2 0 1 1632 2114 1876 2223 +9111 4 2 0 1 660 2283 682 2497 +9112 4 2 0 1 1573 2139 1956 2630 +9113 4 2 0 1 894 1781 2184 2670 +9114 4 2 0 1 1653 2122 2473 2723 +9115 4 2 0 1 2144 2267 1690 2498 +9116 4 2 0 1 1345 1821 2194 2467 +9117 4 2 0 1 2094 2387 1705 2620 +9118 4 2 0 1 2066 2068 2341 2404 +9119 4 2 0 1 1583 1823 1964 2622 +9120 4 2 0 1 301 2002 1997 2605 +9121 4 2 0 1 721 150 791 2628 +9122 4 2 0 1 1669 1844 1962 2078 +9123 4 2 0 1 1939 2123 1591 2353 +9124 4 2 0 1 1719 1633 2148 2318 +9125 4 2 0 1 390 2333 2090 2657 +9126 4 2 0 1 584 1809 644 2658 +9127 4 2 0 1 2461 2523 945 2637 +9128 4 2 0 1 674 2180 1868 2672 +9129 4 2 0 1 1791 2143 1611 2504 +9130 4 2 0 1 1715 1940 1981 2789 +9131 4 2 0 1 1750 1865 2306 2308 +9132 4 2 0 1 1617 2003 1960 2595 +9133 4 2 0 1 1610 2363 1862 2439 +9134 4 2 0 1 1544 2625 2188 2800 +9135 4 2 0 1 626 678 684 1725 +9136 4 2 0 1 693 692 799 1942 +9137 4 2 0 1 1835 2270 1932 2449 +9138 4 2 0 1 255 499 395 2438 +9139 4 2 0 1 607 1972 2236 2390 +9140 4 2 0 1 1815 1596 2350 2745 +9141 4 2 0 1 616 2281 632 2283 +9142 4 2 0 1 899 2165 1781 2670 +9143 4 2 0 1 1569 2237 1851 2490 +9144 4 2 0 1 587 620 546 2367 +9145 4 2 0 1 1664 2221 1873 2259 +9146 4 2 0 1 674 530 1868 2180 +9147 4 2 0 1 1544 2188 1827 2800 +9148 4 2 0 1 1586 1835 1932 2309 +9149 4 2 0 1 1866 2112 1818 2831 +9150 4 2 0 1 1657 2449 1997 2568 +9151 4 2 0 1 1564 1753 2352 2829 +9152 4 2 0 1 1694 2123 2219 2832 +9153 4 2 0 1 1910 2189 1603 2357 +9154 4 2 0 1 744 2041 781 2379 +9155 4 2 0 1 1778 314 2211 2815 +9156 4 2 0 1 2163 2532 1811 2702 +9157 4 2 0 1 1761 251 2612 2803 +9158 4 2 0 1 1551 2532 2163 2702 +9159 4 2 0 1 1619 1862 2149 2431 +9160 4 2 0 1 690 2028 2045 2378 +9161 4 2 0 1 1661 2232 2095 2603 +9162 4 2 0 1 1852 1962 1669 2583 +9163 4 2 0 1 1599 1911 2486 2778 +9164 4 2 0 1 1640 1951 1883 2810 +9165 4 2 0 1 2169 2236 1652 2390 +9166 4 2 0 1 1541 2143 1938 2520 +9167 4 2 0 1 1647 2465 1941 2480 +9168 4 2 0 1 1652 2250 2197 2390 +9169 4 2 0 1 818 2267 753 2585 +9170 4 2 0 1 1863 2025 1575 2817 +9171 4 2 0 1 1596 1960 2003 2595 +9172 4 2 0 1 1687 2023 1894 2444 +9173 4 2 0 1 1613 2566 1980 2633 +9174 4 2 0 1 1567 2481 2207 2580 +9175 4 2 0 1 302 1823 2262 2395 +9176 4 2 0 1 1830 2372 2183 2506 +9177 4 2 0 1 939 911 2591 2715 +9178 4 2 0 1 1791 2065 2271 2602 +9179 4 2 0 1 1442 1312 1922 2493 +9180 4 2 0 1 1708 2022 2552 2648 +9181 4 2 0 1 1862 2363 2089 2439 +9182 4 2 0 1 1915 1989 1605 2355 +9183 4 2 0 1 1642 2234 1885 2325 +9184 4 2 0 1 1687 2576 2317 2679 +9185 4 2 0 1 810 1957 2307 2451 +9186 4 2 0 1 1529 1888 2300 2774 +9187 4 2 0 1 1642 2008 1906 2711 +9188 4 2 0 1 428 1897 213 2472 +9189 4 2 0 1 1811 2547 1551 2611 +9190 4 2 0 1 203 327 2407 2657 +9191 4 2 0 1 1651 2257 2664 2704 +9192 4 2 0 1 1059 1023 2140 2346 +9193 4 2 0 1 507 2128 438 2422 +9194 4 2 0 1 1574 1750 2308 2454 +9195 4 2 0 1 1721 2070 1664 2188 +9196 4 2 0 1 2178 2223 1708 2232 +9197 4 2 0 1 2062 2262 1720 2355 +9198 4 2 0 1 1950 2154 1916 2802 +9199 4 2 0 1 1536 2047 2313 2427 +9200 4 2 0 1 230 511 2567 2685 +9201 4 2 0 1 2035 2537 1721 2734 +9202 4 2 0 1 1711 2119 2114 2817 +9203 4 2 0 1 1932 1980 1635 2838 +9204 4 2 0 1 1310 1188 2036 2284 +9205 4 2 0 1 1669 2143 1791 2796 +9206 4 2 0 1 1800 2685 1877 2793 +9207 4 2 0 1 1213 1372 1305 1926 +9208 4 2 0 1 1604 2093 2235 2526 +9209 4 2 0 1 805 2034 824 2307 +9210 4 2 0 1 500 170 504 1904 +9211 4 2 0 1 1666 1836 2249 2505 +9212 4 2 0 1 1908 2358 1241 2485 +9213 4 2 0 1 1343 1834 1227 2324 +9214 4 2 0 1 2111 2320 1714 2834 +9215 4 2 0 1 1771 1554 2385 2742 +9216 4 2 0 1 872 876 921 2279 +9217 4 2 0 1 1557 2108 1795 2228 +9218 4 2 0 1 2467 2475 1627 2484 +9219 4 2 0 1 991 152 897 2115 +9220 4 2 0 1 1740 2099 1936 2608 +9221 4 2 0 1 1998 2118 1608 2266 +9222 4 2 0 1 1666 1901 2505 2600 +9223 4 2 0 1 1066 1508 1519 2696 +9224 4 2 0 1 149 150 721 2338 +9225 4 2 0 1 1775 1587 2191 2584 +9226 4 2 0 1 1711 2126 1853 2710 +9227 4 2 0 1 1584 2166 1848 2575 +9228 4 2 0 1 2084 2159 452 2323 +9229 4 2 0 1 2159 2528 2376 2807 +9230 4 2 0 1 150 976 151 1946 +9231 4 2 0 1 592 666 1831 2359 +9232 4 2 0 1 1858 1906 1626 2608 +9233 4 2 0 1 1588 1891 2067 2343 +9234 4 2 0 1 1949 2250 1652 2790 +9235 4 2 0 1 1615 2162 1751 2636 +9236 4 2 0 1 949 900 862 2637 +9237 4 2 0 1 1239 1441 1383 2322 +9238 4 2 0 1 765 2253 808 2555 +9239 4 2 0 1 1291 1464 1008 2775 +9240 4 2 0 1 1647 2480 2085 2673 +9241 4 2 0 1 1153 1994 1139 2582 +9242 4 2 0 1 681 593 1766 2663 +9243 4 2 0 1 1241 2379 1479 2780 +9244 4 2 0 1 1178 2455 2201 2737 +9245 4 2 0 1 644 590 658 2610 +9246 4 2 0 1 1558 1985 2377 2773 +9247 4 2 0 1 389 412 490 1918 +9248 4 2 0 1 1596 1815 1960 2595 +9249 4 2 0 1 1535 1839 2203 2665 +9250 4 2 0 1 877 871 994 2155 +9251 4 2 0 1 1363 2042 1354 2342 +9252 4 2 0 1 857 2129 962 2365 +9253 4 2 0 1 2094 2226 1579 2781 +9254 4 2 0 1 440 2328 232 2819 +9255 4 2 0 1 718 2555 689 2649 +9256 4 2 0 1 2079 2329 1776 2375 +9257 4 2 0 1 561 580 1423 2294 +9258 4 2 0 1 1708 2552 2232 2648 +9259 4 2 0 1 1544 1827 2182 2800 +9260 4 2 0 1 1540 2417 2071 2756 +9261 4 2 0 1 1573 2010 2452 2630 +9262 4 2 0 1 1784 2300 1586 2309 +9263 4 2 0 1 1471 1187 1475 2383 +9264 4 2 0 1 1637 2294 2132 2467 +9265 4 2 0 1 816 729 847 2425 +9266 4 2 0 1 570 1912 2283 2497 +9267 4 2 0 1 1691 1988 1987 2388 +9268 4 2 0 1 1057 1929 2394 2709 +9269 4 2 0 1 1277 1840 1500 2586 +9270 4 2 0 1 1651 1824 2257 2704 +9271 4 2 0 1 721 2338 150 2628 +9272 4 2 0 1 689 2555 2253 2649 +9273 4 2 0 1 1549 1887 2195 2617 +9274 4 2 0 1 2111 2466 2000 2616 +9275 4 2 0 1 2051 2615 1810 2718 +9276 4 2 0 1 1960 2060 1617 2410 +9277 4 2 0 1 1579 2740 2094 2781 +9278 4 2 0 1 1948 2260 638 2400 +9279 4 2 0 1 383 2030 297 2525 +9280 4 2 0 1 1635 1962 1932 2623 +9281 4 2 0 1 2033 2392 1808 2834 +9282 4 2 0 1 1661 2223 2178 2232 +9283 4 2 0 1 1583 1904 2054 2225 +9284 4 2 0 1 1532 1779 2258 2343 +9285 4 2 0 1 1683 2398 1856 2527 +9286 4 2 0 1 1850 2270 2080 2528 +9287 4 2 0 1 1257 1430 1360 1828 +9288 4 2 0 1 1076 1913 1035 2642 +9289 4 2 0 1 1867 2352 2149 2431 +9290 4 2 0 1 1843 1615 2221 2492 +9291 4 2 0 1 1848 2062 1720 2805 +9292 4 2 0 1 1272 2177 1204 2299 +9293 4 2 0 1 300 297 383 2776 +9294 4 2 0 1 193 274 521 1961 +9295 4 2 0 1 2543 2768 1746 2814 +9296 4 2 0 1 1035 1930 1154 2170 +9297 4 2 0 1 1897 2297 1644 2380 +9298 4 2 0 1 1571 2204 1953 2532 +9299 4 2 0 1 468 757 789 831 +9300 4 2 0 1 715 771 784 2714 +9301 4 2 0 1 1586 2290 1962 2583 +9302 4 2 0 1 1939 2353 2293 2607 +9303 4 2 0 1 1712 2102 1926 2765 +9304 4 2 0 1 1553 1783 1956 2459 +9305 4 2 0 1 760 802 809 1855 +9306 4 2 0 1 885 276 521 282 +9307 4 2 0 1 2120 2345 1955 2705 +9308 4 2 0 1 152 897 2115 2523 +9309 4 2 0 1 899 1781 894 2670 +9310 4 2 0 1 1575 1853 2509 2817 +9311 4 2 0 1 1586 1970 2290 2583 +9312 4 2 0 1 141 2277 830 2732 +9313 4 2 0 1 1441 1974 1383 2322 +9314 4 2 0 1 1562 2141 2175 2193 +9315 4 2 0 1 1672 2208 1971 2411 +9316 4 2 0 1 928 965 2162 2591 +9317 4 2 0 1 1991 2596 752 2677 +9318 4 2 0 1 960 860 887 2382 +9319 4 2 0 1 1712 2320 2111 2429 +9320 4 2 0 1 1983 1997 1657 2605 +9321 4 2 0 1 1954 2194 1347 2655 +9322 4 2 0 1 1773 1598 2249 2440 +9323 4 2 0 1 1018 2138 1175 2191 +9324 4 2 0 1 1593 2319 1738 2545 +9325 4 2 0 1 1527 2295 2651 2813 +9326 4 2 0 1 1571 2136 1858 2347 +9327 4 2 0 1 1731 2374 1628 2534 +9328 4 2 0 1 255 410 499 1967 +9329 4 2 0 1 731 2055 792 2135 +9330 4 2 0 1 2273 2414 1787 2716 +9331 4 2 0 1 1548 1741 2158 2511 +9332 4 2 0 1 1583 1904 2092 2622 +9333 4 2 0 1 1122 1017 1091 1746 +9334 4 2 0 1 1752 2204 2288 2532 +9335 4 2 0 1 1610 1771 2115 2186 +9336 4 2 0 1 1215 2475 2467 2484 +9337 4 2 0 1 1642 2234 2325 2515 +9338 4 2 0 1 2191 2384 1161 2594 +9339 4 2 0 1 1555 2608 1906 2787 +9340 4 2 0 1 638 649 594 1948 +9341 4 2 0 1 1657 1932 2113 2838 +9342 4 2 0 1 2075 2660 2025 2817 +9343 4 2 0 1 1810 2529 774 2722 +9344 4 2 0 1 1891 2154 1950 2433 +9345 4 2 0 1 1650 2506 1958 2837 +9346 4 2 0 1 960 887 2259 2382 +9347 4 2 0 1 1891 1950 1655 2433 +9348 4 2 0 1 1593 2073 1832 2280 +9349 4 2 0 1 1744 2121 1941 2402 +9350 4 2 0 1 1789 2058 1631 2748 +9351 4 2 0 1 365 1859 183 2669 +9352 4 2 0 1 811 1855 780 2501 +9353 4 2 0 1 720 821 464 1993 +9354 4 2 0 1 1899 1567 2139 2580 +9355 4 2 0 1 1564 2352 1867 2829 +9356 4 2 0 1 133 569 1960 2350 +9357 4 2 0 1 1324 1227 1374 2013 +9358 4 2 0 1 1833 2150 1779 2688 +9359 4 2 0 1 1121 2191 2138 2584 +9360 4 2 0 1 1767 2159 2084 2376 +9361 4 2 0 1 1796 1958 2506 2837 +9362 4 2 0 1 1789 1631 2269 2748 +9363 4 2 0 1 1373 2012 1232 2441 +9364 4 2 0 1 815 752 803 1991 +9365 4 2 0 1 1189 1417 1483 2620 +9366 4 2 0 1 329 419 168 2399 +9367 4 2 0 1 783 2109 842 2186 +9368 4 2 0 1 1333 1214 1857 2325 +9369 4 2 0 1 2091 2442 1609 2721 +9370 4 2 0 1 1428 1456 1924 2087 +9371 4 2 0 1 1690 2404 2144 2445 +9372 4 2 0 1 1585 2027 2239 2447 +9373 4 2 0 1 2017 2502 1718 2773 +9374 4 2 0 1 1664 1721 2537 2734 +9375 4 2 0 1 1751 1790 2562 2695 +9376 4 2 0 1 614 584 541 2530 +9377 4 2 0 1 772 2041 716 2666 +9378 4 2 0 1 1877 2685 1643 2793 +9379 4 2 0 1 1726 2283 1912 2497 +9380 4 2 0 1 861 881 899 2589 +9381 4 2 0 1 603 1841 601 2321 +9382 4 2 0 1 1778 2211 2397 2815 +9383 4 2 0 1 822 1210 835 748 +9384 4 2 0 1 1728 2227 2335 2656 +9385 4 2 0 1 1469 1837 2301 2620 +9386 4 2 0 1 1776 2329 2014 2736 +9387 4 2 0 1 1380 1824 1409 2381 +9388 4 2 0 1 1557 2108 2228 2541 +9389 4 2 0 1 1728 1886 2244 2627 +9390 4 2 0 1 2083 2151 1656 2216 +9391 4 2 0 1 984 888 2129 2589 +9392 4 2 0 1 1243 2289 1378 2767 +9393 4 2 0 1 1630 2706 1948 2786 +9394 4 2 0 1 1123 1975 1846 2491 +9395 4 2 0 1 1567 2260 2139 2706 +9396 4 2 0 1 1840 2195 1887 2617 +9397 4 2 0 1 179 427 407 2097 +9398 4 2 0 1 1245 2453 1774 2737 +9399 4 2 0 1 2621 2726 1577 2805 +9400 4 2 0 1 1561 2654 2013 2746 +9401 4 2 0 1 805 769 840 1826 +9402 4 2 0 1 901 2287 2137 2715 +9403 4 2 0 1 646 2009 2169 2587 +9404 4 2 0 1 1630 1956 2139 2546 +9405 4 2 0 1 1345 2194 1821 2655 +9406 4 2 0 1 938 869 2101 2251 +9407 4 2 0 1 1554 2644 2385 2742 +9408 4 2 0 1 1469 1837 1300 2301 +9409 4 2 0 1 1851 2431 2110 2487 +9410 4 2 0 1 2183 2471 1830 2506 +9411 4 2 0 1 1726 1662 2212 2360 +9412 4 2 0 1 1757 2109 2426 2628 +9413 4 2 0 1 564 648 654 2830 +9414 4 2 0 1 1549 2195 1887 2600 +9415 4 2 0 1 2290 2583 1970 2796 +9416 4 2 0 1 984 1889 933 2589 +9417 4 2 0 1 2409 2490 1902 2826 +9418 4 2 0 1 2276 2284 2036 2712 +9419 4 2 0 1 1264 1933 1276 2171 +9420 4 2 0 1 2379 2485 1908 2780 +9421 4 2 0 1 1612 1808 2018 2834 +9422 4 2 0 1 453 2404 1792 2445 +9423 4 2 0 1 1752 2532 2267 2702 +9424 4 2 0 1 1527 2116 2032 2651 +9425 4 2 0 1 1559 1738 2423 2545 +9426 4 2 0 1 1398 579 1460 1984 +9427 4 2 0 1 1983 2614 1676 2669 +9428 4 2 0 1 1310 2284 1788 2441 +9429 4 2 0 1 559 632 1934 2283 +9430 4 2 0 1 787 731 699 2135 +9431 4 2 0 1 1637 2132 2294 2393 +9432 4 2 0 1 1200 591 651 2053 +9433 4 2 0 1 782 727 788 2120 +9434 4 2 0 1 1659 2211 1982 2397 +9435 4 2 0 1 1548 2158 2254 2511 +9436 4 2 0 1 1827 2227 1728 2800 +9437 4 2 0 1 1775 1658 2535 2565 +9438 4 2 0 1 1779 1833 2088 2430 +9439 4 2 0 1 1624 2301 2076 2511 +9440 4 2 0 1 2051 2615 1764 2835 +9441 4 2 0 1 2162 2279 1748 2591 +9442 4 2 0 1 1818 2295 1717 2820 +9443 4 2 0 1 666 543 1831 2569 +9444 4 2 0 1 1898 1919 1546 2389 +9445 4 2 0 1 1253 1893 1401 2201 +9446 4 2 0 1 858 1001 2125 2562 +9447 4 2 0 1 431 1725 416 2610 +9448 4 2 0 1 1928 2032 1598 2252 +9449 4 2 0 1 1163 2384 1150 2565 +9450 4 2 0 1 1849 1877 2567 2685 +9451 4 2 0 1 1608 2334 2266 2701 +9452 4 2 0 1 1793 2461 2129 2637 +9453 4 2 0 1 949 936 880 2073 +9454 4 2 0 1 1573 2010 1956 2496 +9455 4 2 0 1 1194 2033 1440 2835 +9456 4 2 0 1 428 399 242 2472 +9457 4 2 0 1 1812 2224 2096 2708 +9458 4 2 0 1 678 550 545 2400 +9459 4 2 0 1 394 1905 259 2397 +9460 4 2 0 1 1750 2050 1783 2348 +9461 4 2 0 1 1602 1879 2185 2632 +9462 4 2 0 1 1850 2002 235 2605 +9463 4 2 0 1 2188 2700 1827 2800 +9464 4 2 0 1 1284 1526 2135 2822 +9465 4 2 0 1 1539 1876 2114 2223 +9466 4 2 0 1 861 899 2165 2589 +9467 4 2 0 1 813 1752 2267 2316 +9468 4 2 0 1 1601 2227 1945 2418 +9469 4 2 0 1 1399 2201 1992 2337 +9470 4 2 0 1 1520 1204 2177 2184 +9471 4 2 0 1 1881 788 2508 2732 +9472 4 2 0 1 527 516 149 2338 +9473 4 2 0 1 1988 2290 1777 2413 +9474 4 2 0 1 1548 2208 1805 2708 +9475 4 2 0 1 2168 2295 1777 2527 +9476 4 2 0 1 932 941 887 1873 +9477 4 2 0 1 960 2382 2259 2734 +9478 4 2 0 1 1026 1073 1914 2095 +9479 4 2 0 1 1618 2206 2069 2725 +9480 4 2 0 1 1489 1255 2387 2620 +9481 4 2 0 1 798 801 693 1942 +9482 4 2 0 1 782 2161 1881 2555 +9483 4 2 0 1 1711 2075 2384 2817 +9484 4 2 0 1 2093 2100 1662 2360 +9485 4 2 0 1 746 838 2379 2631 +9486 4 2 0 1 1527 2168 2296 2311 +9487 4 2 0 1 2422 2488 1723 2503 +9488 4 2 0 1 267 449 1952 2826 +9489 4 2 0 1 477 287 276 2107 +9490 4 2 0 1 2150 2308 1782 2538 +9491 4 2 0 1 818 705 1765 2585 +9492 4 2 0 1 1710 2518 2095 2603 +9493 4 2 0 1 1841 2314 2141 2728 +9494 4 2 0 1 1616 2540 1886 2627 +9495 4 2 0 1 467 454 246 2445 +9496 4 2 0 1 1579 1886 2226 2760 +9497 4 2 0 1 1554 1839 2361 2385 +9498 4 2 0 1 2163 2445 1977 2539 +9499 4 2 0 1 477 1961 274 2107 +9500 4 2 0 1 1883 1951 1576 2810 +9501 4 2 0 1 1776 1622 2041 2375 +9502 4 2 0 1 1564 1880 2242 2701 +9503 4 2 0 1 1382 2137 1357 2715 +9504 4 2 0 1 1536 2047 1866 2463 +9505 4 2 0 1 1731 2374 1395 2720 +9506 4 2 0 1 267 466 180 2826 +9507 4 2 0 1 1680 2345 1884 2530 +9508 4 2 0 1 1950 2150 2430 2682 +9509 4 2 0 1 2005 2242 1634 2699 +9510 4 2 0 1 1698 2015 2291 2540 +9511 4 2 0 1 1759 1530 2266 2471 +9512 4 2 0 1 1115 1478 1139 1994 +9513 4 2 0 1 1813 2067 1891 2580 +9514 4 2 0 1 1764 2392 2370 2754 +9515 4 2 0 1 1741 2700 2188 2800 +9516 4 2 0 1 1277 1840 2303 2442 +9517 4 2 0 1 794 1264 1201 2171 +9518 4 2 0 1 2207 2399 1668 2472 +9519 4 2 0 1 923 2057 967 2241 +9520 4 2 0 1 1216 1340 1347 1954 +9521 4 2 0 1 1474 904 1402 2137 +9522 4 2 0 1 1546 1737 2023 2134 +9523 4 2 0 1 290 293 2062 2262 +9524 4 2 0 1 1569 1851 2423 2490 +9525 4 2 0 1 2160 2385 1703 2616 +9526 4 2 0 1 1715 1940 2003 2368 +9527 4 2 0 1 1151 162 2035 2416 +9528 4 2 0 1 2142 2167 1878 2356 +9529 4 2 0 1 579 1398 578 2419 +9530 4 2 0 1 1801 2647 204 2744 +9531 4 2 0 1 175 1792 2404 2674 +9532 4 2 0 1 1881 2161 1648 2555 +9533 4 2 0 1 2490 2641 1902 2826 +9534 4 2 0 1 1811 2702 2532 2816 +9535 4 2 0 1 1656 2548 2126 2578 +9536 4 2 0 1 1745 2733 2522 2777 +9537 4 2 0 1 929 962 931 1832 +9538 4 2 0 1 1737 2489 358 2679 +9539 4 2 0 1 1577 2130 1896 2748 +9540 4 2 0 1 1894 2251 927 2421 +9541 4 2 0 1 1734 2141 1949 2723 +9542 4 2 0 1 1359 1995 1326 2467 +9543 4 2 0 1 757 468 789 2144 +9544 4 2 0 1 1748 1654 2254 2591 +9545 4 2 0 1 1669 1962 1852 2078 +9546 4 2 0 1 1833 2401 1597 2688 +9547 4 2 0 1 705 2501 1765 2585 +9548 4 2 0 1 1585 1880 2242 2597 +9549 4 2 0 1 1652 2169 2141 2728 +9550 4 2 0 1 939 868 883 2287 +9551 4 2 0 1 2277 2456 198 2457 +9552 4 2 0 1 1545 2676 2376 2807 +9553 4 2 0 1 1040 1819 1060 2406 +9554 4 2 0 1 900 892 862 2477 +9555 4 2 0 1 1629 2436 1855 2501 +9556 4 2 0 1 1588 2343 1779 2430 +9557 4 2 0 1 315 220 2123 2156 +9558 4 2 0 1 633 2256 1868 2321 +9559 4 2 0 1 1561 1834 2011 2746 +9560 4 2 0 1 1619 1859 2153 2409 +9561 4 2 0 1 1144 1174 2064 2274 +9562 4 2 0 1 1889 2592 1781 2644 +9563 4 2 0 1 652 136 135 2410 +9564 4 2 0 1 1582 2403 1757 2426 +9565 4 2 0 1 1942 2028 1713 2432 +9566 4 2 0 1 1560 1807 1987 2550 +9567 4 2 0 1 1561 2112 1866 2654 +9568 4 2 0 1 462 2020 222 2438 +9569 4 2 0 1 1924 2358 1392 2441 +9570 4 2 0 1 1343 1834 2324 2737 +9571 4 2 0 1 1547 1901 2356 2434 +9572 4 2 0 1 1602 2038 2437 2698 +9573 4 2 0 1 671 685 640 1869 +9574 4 2 0 1 1741 2188 2158 2511 +9575 4 2 0 1 847 2425 1794 2497 +9576 4 2 0 1 1230 2091 1412 2721 +9577 4 2 0 1 1580 2529 2055 2784 +9578 4 2 0 1 1722 2293 2113 2568 +9579 4 2 0 1 2016 2429 1926 2765 +9580 4 2 0 1 1745 2282 1617 2410 +9581 4 2 0 1 2155 2327 1761 2803 +9582 4 2 0 1 1441 1974 2615 2835 +9583 4 2 0 1 2308 2538 2150 2688 +9584 4 2 0 1 1644 2391 1838 2823 +9585 4 2 0 1 1839 1535 2439 2487 +9586 4 2 0 1 507 268 438 2128 +9587 4 2 0 1 1850 1657 2002 2605 +9588 4 2 0 1 1307 1390 1498 2057 +9589 4 2 0 1 1165 1088 1135 1975 +9590 4 2 0 1 2068 2106 1629 2501 +9591 4 2 0 1 428 213 406 2472 +9592 4 2 0 1 1597 1750 2308 2688 +9593 4 2 0 1 1910 1603 2172 2764 +9594 4 2 0 1 940 2073 931 2129 +9595 4 2 0 1 442 404 2424 2556 +9596 4 2 0 1 1626 2205 2171 2513 +9597 4 2 0 1 1590 2528 2159 2807 +9598 4 2 0 1 423 2225 424 2554 +9599 4 2 0 1 1860 2425 816 2638 +9600 4 2 0 1 1896 2222 1695 2298 +9601 4 2 0 1 1760 1642 2174 2263 +9602 4 2 0 1 1335 1425 1230 2721 +9603 4 2 0 1 1261 2117 1278 2586 +9604 4 2 0 1 1683 1804 2011 2599 +9605 4 2 0 1 1821 2036 1574 2811 +9606 4 2 0 1 1123 1975 1055 2570 +9607 4 2 0 1 1727 2042 2463 2573 +9608 4 2 0 1 706 806 750 2631 +9609 4 2 0 1 1787 2273 2056 2414 +9610 4 2 0 1 1374 1227 1336 2013 +9611 4 2 0 1 1555 1858 2608 2787 +9612 4 2 0 1 431 416 1725 2661 +9613 4 2 0 1 1622 2329 2079 2375 +9614 4 2 0 1 1571 1991 1942 2347 +9615 4 2 0 1 1639 1954 2220 2782 +9616 4 2 0 1 1548 2224 1814 2480 +9617 4 2 0 1 1645 1853 2151 2509 +9618 4 2 0 1 1277 2303 1840 2586 +9619 4 2 0 1 587 546 2053 2367 +9620 4 2 0 1 1578 2443 2345 2802 +9621 4 2 0 1 1569 2176 1966 2517 +9622 4 2 0 1 1585 1801 2030 2597 +9623 4 2 0 1 573 1995 537 2294 +9624 4 2 0 1 339 1947 359 2683 +9625 4 2 0 1 343 1947 339 2268 +9626 4 2 0 1 1585 2239 1958 2447 +9627 4 2 0 1 1745 2282 2410 2777 +9628 4 2 0 1 2067 2417 1899 2580 +9629 4 2 0 1 1171 1108 1090 2518 +9630 4 2 0 1 1776 2375 767 2649 +9631 4 2 0 1 993 1907 876 2057 +9632 4 2 0 1 530 1868 1973 2766 +9633 4 2 0 1 1574 2308 2276 2454 +9634 4 2 0 1 2006 2244 2187 2548 +9635 4 2 0 1 1648 2649 1776 2717 +9636 4 2 0 1 1534 2221 1843 2673 +9637 4 2 0 1 1709 2004 1945 2312 +9638 4 2 0 1 1584 2103 1888 2166 +9639 4 2 0 1 1009 859 983 2695 +9640 4 2 0 1 2058 2357 1631 2362 +9641 4 2 0 1 644 1809 426 2658 +9642 4 2 0 1 1793 1724 2160 2461 +9643 4 2 0 1 1604 1921 2210 2526 +9644 4 2 0 1 1748 2591 2279 2636 +9645 4 2 0 1 692 691 803 2288 +9646 4 2 0 1 1603 1829 1947 2464 +9647 4 2 0 1 1642 1906 2008 2801 +9648 4 2 0 1 2118 2266 1880 2701 +9649 4 2 0 1 1946 2523 1729 2637 +9650 4 2 0 1 634 646 2169 2766 +9651 4 2 0 1 1692 2370 2000 2392 +9652 4 2 0 1 1162 2191 1150 2384 +9653 4 2 0 1 1726 1604 2235 2283 +9654 4 2 0 1 1384 1820 1416 2763 +9655 4 2 0 1 571 535 566 2197 +9656 4 2 0 1 1576 1951 1883 2552 +9657 4 2 0 1 1539 1883 2232 2710 +9658 4 2 0 1 1116 2350 133 2503 +9659 4 2 0 1 1805 2383 1302 2668 +9660 4 2 0 1 497 218 2359 2472 +9661 4 2 0 1 1909 1609 2442 2721 +9662 4 2 0 1 1921 2371 1821 2811 +9663 4 2 0 1 376 350 239 2539 +9664 4 2 0 1 1980 2237 1753 2633 +9665 4 2 0 1 418 349 1930 2559 +9666 4 2 0 1 1735 2434 2250 2500 +9667 4 2 0 1 1865 1679 2521 2712 +9668 4 2 0 1 1967 2286 1644 2380 +9669 4 2 0 1 1679 1774 2011 2521 +9670 4 2 0 1 532 559 632 1934 +9671 4 2 0 1 2071 2417 1736 2756 +9672 4 2 0 1 2396 2573 1866 2831 +9673 4 2 0 1 1546 2689 2061 2771 +9674 4 2 0 1 1921 2526 2371 2811 +9675 4 2 0 1 193 267 250 1952 +9676 4 2 0 1 697 729 785 2087 +9677 4 2 0 1 1624 1837 2301 2511 +9678 4 2 0 1 1850 2002 1590 2159 +9679 4 2 0 1 1958 2239 1650 2837 +9680 4 2 0 1 1772 2007 1570 2747 +9681 4 2 0 1 1539 2126 1883 2710 +9682 4 2 0 1 1656 1795 2578 2726 +9683 4 2 0 1 1623 2022 2289 2730 +9684 4 2 0 1 1882 1989 1605 2147 +9685 4 2 0 1 2148 2275 1240 2767 +9686 4 2 0 1 1644 2071 1838 2391 +9687 4 2 0 1 1934 2283 1604 2753 +9688 4 2 0 1 1431 1359 2132 2294 +9689 4 2 0 1 1477 1937 1280 2724 +9690 4 2 0 1 1380 2381 1409 2493 +9691 4 2 0 1 1137 1126 1087 2202 +9692 4 2 0 1 2317 2576 225 2679 +9693 4 2 0 1 1160 2384 2119 2769 +9694 4 2 0 1 1537 1807 2214 2739 +9695 4 2 0 1 2036 2284 1188 2324 +9696 4 2 0 1 2099 2171 1626 2596 +9697 4 2 0 1 416 2610 1725 2661 +9698 4 2 0 1 1837 2226 2094 2781 +9699 4 2 0 1 2047 2463 1663 2573 +9700 4 2 0 1 571 671 640 2390 +9701 4 2 0 1 939 911 868 2591 +9702 4 2 0 1 1884 2450 1680 2530 +9703 4 2 0 1 1630 2546 2139 2706 +9704 4 2 0 1 1582 2089 1957 2816 +9705 4 2 0 1 1241 2485 2379 2780 +9706 4 2 0 1 1471 1367 1307 2057 +9707 4 2 0 1 1704 1838 2230 2678 +9708 4 2 0 1 1627 2467 1821 2475 +9709 4 2 0 1 2189 2357 1910 2362 +9710 4 2 0 1 1640 2182 1951 2810 +9711 4 2 0 1 1463 1292 1994 2178 +9712 4 2 0 1 1555 1858 2347 2608 +9713 4 2 0 1 2065 2266 1759 2476 +9714 4 2 0 1 1647 1919 1898 2389 +9715 4 2 0 1 401 1927 478 2464 +9716 4 2 0 1 1884 2456 261 2658 +9717 4 2 0 1 1033 1863 1082 2565 +9718 4 2 0 1 510 650 592 2359 +9719 4 2 0 1 646 605 2009 2587 +9720 4 2 0 1 1832 1999 1599 2129 +9721 4 2 0 1 1278 2117 1206 2586 +9722 4 2 0 1 1521 1485 1484 2184 +9723 4 2 0 1 1888 2369 2103 2806 +9724 4 2 0 1 779 805 840 1826 +9725 4 2 0 1 406 2399 333 2472 +9726 4 2 0 1 1113 1819 1060 2709 +9727 4 2 0 1 488 1927 476 2424 +9728 4 2 0 1 202 1816 2635 2776 +9729 4 2 0 1 648 2350 132 2830 +9730 4 2 0 1 1636 2703 1844 2704 +9731 4 2 0 1 1627 2526 2024 2811 +9732 4 2 0 1 1577 2058 1795 2621 +9733 4 2 0 1 1663 2198 2342 2463 +9734 4 2 0 1 471 2445 1792 2539 +9735 4 2 0 1 1621 2034 1826 2307 +9736 4 2 0 1 342 238 334 2556 +9737 4 2 0 1 2384 2570 2119 2817 +9738 4 2 0 1 1693 2183 1830 2372 +9739 4 2 0 1 1533 2080 1980 2838 +9740 4 2 0 1 900 2477 862 2637 +9741 4 2 0 1 1559 2423 1738 2758 +9742 4 2 0 1 663 607 1972 2236 +9743 4 2 0 1 1565 1785 2351 2665 +9744 4 2 0 1 2114 2255 2119 2769 +9745 4 2 0 1 1547 2250 2434 2500 +9746 4 2 0 1 1749 2557 1275 2615 +9747 4 2 0 1 1627 2131 1995 2484 +9748 4 2 0 1 1769 1479 2379 2780 +9749 4 2 0 1 528 474 253 2606 +9750 4 2 0 1 559 1786 2283 2536 +9751 4 2 0 1 411 1847 445 2494 +9752 4 2 0 1 1951 2474 1705 2755 +9753 4 2 0 1 1631 2269 2748 2795 +9754 4 2 0 1 1464 1803 1465 2499 +9755 4 2 0 1 1160 1019 2119 2384 +9756 4 2 0 1 2123 2156 220 2683 +9757 4 2 0 1 1787 2056 2273 2586 +9758 4 2 0 1 532 632 647 1934 +9759 4 2 0 1 1559 1952 1800 2793 +9760 4 2 0 1 491 292 307 2353 +9761 4 2 0 1 1640 1883 1959 2810 +9762 4 2 0 1 1679 2284 2036 2324 +9763 4 2 0 1 1945 2227 1806 2418 +9764 4 2 0 1 1529 2216 1888 2774 +9765 4 2 0 1 409 311 295 2574 +9766 4 2 0 1 1597 2065 2401 2471 +9767 4 2 0 1 1557 2768 1819 2814 +9768 4 2 0 1 1631 2357 2189 2362 +9769 4 2 0 1 1810 2557 1933 2718 +9770 4 2 0 1 1539 2126 1853 2151 +9771 4 2 0 1 1033 2564 1863 2565 +9772 4 2 0 1 1666 2063 1773 2386 +9773 4 2 0 1 2371 2526 1627 2811 +9774 4 2 0 1 1851 1966 2423 2836 +9775 4 2 0 1 1318 1374 1336 2013 +9776 4 2 0 1 1689 2427 2010 2452 +9777 4 2 0 1 686 556 656 2390 +9778 4 2 0 1 539 619 601 2046 +9779 4 2 0 1 1582 2163 1811 2816 +9780 4 2 0 1 2287 2591 1872 2715 +9781 4 2 0 1 673 2180 681 2246 +9782 4 2 0 1 1789 2130 2621 2748 +9783 4 2 0 1 2014 2045 1581 2717 +9784 4 2 0 1 1290 1505 1263 2722 +9785 4 2 0 1 1285 1271 1281 2056 +9786 4 2 0 1 1692 2370 2392 2754 +9787 4 2 0 1 426 644 658 2610 +9788 4 2 0 1 1419 1385 1240 2148 +9789 4 2 0 1 1764 2361 1554 2392 +9790 4 2 0 1 485 2017 2217 2645 +9791 4 2 0 1 1076 1035 1913 2713 +9792 4 2 0 1 1721 1664 2070 2734 +9793 4 2 0 1 1782 2526 2210 2538 +9794 4 2 0 1 752 1991 815 2596 +9795 4 2 0 1 2016 2370 2033 2667 +9796 4 2 0 1 1950 2450 2154 2802 +9797 4 2 0 1 598 1973 683 2587 +9798 4 2 0 1 372 447 335 1879 +9799 4 2 0 1 1982 2397 2211 2446 +9800 4 2 0 1 1033 1082 1163 2565 +9801 4 2 0 1 1695 2519 2298 2568 +9802 4 2 0 1 2142 2386 1666 2440 +9803 4 2 0 1 1903 1969 1697 2593 +9804 4 2 0 1 1125 1143 1088 1763 +9805 4 2 0 1 1287 2178 1994 2785 +9806 4 2 0 1 1591 2219 2123 2832 +9807 4 2 0 1 1226 1935 1334 2420 +9808 4 2 0 1 1396 1385 1419 2721 +9809 4 2 0 1 1259 1194 1260 2177 +9810 4 2 0 1 1418 2008 1389 2322 +9811 4 2 0 1 176 352 357 2268 +9812 4 2 0 1 1812 1566 2096 2428 +9813 4 2 0 1 990 1002 925 1931 +9814 4 2 0 1 2309 2369 1835 2799 +9815 4 2 0 1 1929 2172 1603 2764 +9816 4 2 0 1 1268 1266 2178 2730 +9817 4 2 0 1 1574 2276 2036 2454 +9818 4 2 0 1 597 1868 2256 2672 +9819 4 2 0 1 663 1972 135 2410 +9820 4 2 0 1 2092 2336 1979 2448 +9821 4 2 0 1 516 284 264 2338 +9822 4 2 0 1 1886 2755 2627 2760 +9823 4 2 0 1 1590 1802 2528 2807 +9824 4 2 0 1 1823 2262 1686 2516 +9825 4 2 0 1 1955 1884 2456 2457 +9826 4 2 0 1 421 478 2049 2464 +9827 4 2 0 1 1314 1372 1213 1926 +9828 4 2 0 1 1704 2193 1838 2678 +9829 4 2 0 1 1999 2073 1593 2545 +9830 4 2 0 1 1717 2599 2245 2707 +9831 4 2 0 1 1853 1575 2660 2817 +9832 4 2 0 1 1152 1106 1056 1960 +9833 4 2 0 1 1922 1938 1556 2664 +9834 4 2 0 1 1637 2371 1995 2467 +9835 4 2 0 1 2008 2322 1885 2801 +9836 4 2 0 1 202 383 1816 2776 +9837 4 2 0 1 2402 2411 1744 2794 +9838 4 2 0 1 1980 2566 1966 2633 +9839 4 2 0 1 706 812 704 2099 +9840 4 2 0 1 1906 2608 1858 2787 +9841 4 2 0 1 1072 1050 2054 2626 +9842 4 2 0 1 1631 2058 1789 2357 +9843 4 2 0 1 858 1002 1001 2562 +9844 4 2 0 1 1557 1910 2357 2681 +9845 4 2 0 1 1503 1494 1244 2051 +9846 4 2 0 1 2000 2370 1612 2392 +9847 4 2 0 1 869 1894 942 2514 +9848 4 2 0 1 389 211 2097 2571 +9849 4 2 0 1 1498 1390 923 2057 +9850 4 2 0 1 1503 1183 1263 1810 +9851 4 2 0 1 401 442 478 1927 +9852 4 2 0 1 1406 1428 1456 2358 +9853 4 2 0 1 1566 1812 2096 2558 +9854 4 2 0 1 1539 2114 1876 2509 +9855 4 2 0 1 1774 2201 2199 2455 +9856 4 2 0 1 396 2657 2090 2662 +9857 4 2 0 1 1789 1631 2268 2269 +9858 4 2 0 1 1777 2296 1625 2813 +9859 4 2 0 1 1611 2271 1791 2504 +9860 4 2 0 1 1680 1934 2536 2786 +9861 4 2 0 1 1107 1129 1164 1864 +9862 4 2 0 1 1138 1930 1080 2713 +9863 4 2 0 1 1789 2556 1829 2613 +9864 4 2 0 1 1589 2018 2320 2788 +9865 4 2 0 1 703 743 1993 2316 +9866 4 2 0 1 1995 2371 1627 2467 +9867 4 2 0 1 1445 2326 1772 2751 +9868 4 2 0 1 1707 2146 1797 2625 +9869 4 2 0 1 1789 2058 1557 2357 +9870 4 2 0 1 141 563 140 1955 +9871 4 2 0 1 1174 1144 1021 2274 +9872 4 2 0 1 231 831 837 2068 +9873 4 2 0 1 1872 2241 911 2591 +9874 4 2 0 1 1874 1689 2427 2652 +9875 4 2 0 1 596 1973 530 2246 +9876 4 2 0 1 1223 1788 1310 2475 +9877 4 2 0 1 628 2345 1955 2687 +9878 4 2 0 1 1642 2012 2325 2711 +9879 4 2 0 1 2172 2221 1534 2700 +9880 4 2 0 1 1410 1396 2442 2721 +9881 4 2 0 1 2227 1728 2800 2839 +9882 4 2 0 1 1949 1968 1607 2250 +9883 4 2 0 1 1977 1993 1582 2567 +9884 4 2 0 1 1848 1577 2726 2805 +9885 4 2 0 1 1589 2558 1805 2708 +9886 4 2 0 1 2276 2308 1865 2454 +9887 4 2 0 1 1815 2595 1596 2745 +9888 4 2 0 1 1600 1843 2023 2832 +9889 4 2 0 1 1464 2462 1803 2775 +9890 4 2 0 1 1029 1102 1072 2054 +9891 4 2 0 1 1003 873 922 2542 +9892 4 2 0 1 1071 1099 1787 2414 +9893 4 2 0 1 2058 2362 1631 2748 +9894 4 2 0 1 997 1507 1501 157 +9895 4 2 0 1 511 2338 280 2692 +9896 4 2 0 1 792 156 723 2670 +9897 4 2 0 1 1714 2105 1911 2261 +9898 4 2 0 1 300 182 297 2030 +9899 4 2 0 1 602 620 538 1799 +9900 4 2 0 1 236 259 2124 2397 +9901 4 2 0 1 1724 2152 1889 2644 +9902 4 2 0 1 863 899 950 1781 +9903 4 2 0 1 294 519 2062 2624 +9904 4 2 0 1 205 2323 340 2614 +9905 4 2 0 1 532 559 1934 2536 +9906 4 2 0 1 457 461 407 1875 +9907 4 2 0 1 1256 1189 1483 2146 +9908 4 2 0 1 1775 1606 2170 2535 +9909 4 2 0 1 1720 2222 2029 2624 +9910 4 2 0 1 845 1488 148 2131 +9911 4 2 0 1 1788 2036 2276 2284 +9912 4 2 0 1 1543 2040 2075 2535 +9913 4 2 0 1 1788 2024 1923 2276 +9914 4 2 0 1 1883 1951 1616 2552 +9915 4 2 0 1 2124 2456 1884 2457 +9916 4 2 0 1 1880 1675 2242 2701 +9917 4 2 0 1 1555 2598 2659 2787 +9918 4 2 0 1 369 178 1895 2679 +9919 4 2 0 1 2027 2332 1816 2502 +9920 4 2 0 1 1843 1600 2023 2492 +9921 4 2 0 1 767 764 700 1776 +9922 4 2 0 1 1409 1824 1457 2751 +9923 4 2 0 1 1580 1839 2203 2784 +9924 4 2 0 1 2064 2274 1688 2458 +9925 4 2 0 1 1598 2252 2032 2678 +9926 4 2 0 1 1664 2172 2035 2537 +9927 4 2 0 1 708 806 704 2099 +9928 4 2 0 1 1804 2011 1774 2520 +9929 4 2 0 1 1129 1864 1107 2170 +9930 4 2 0 1 1875 2097 407 2468 +9931 4 2 0 1 494 2355 1915 2395 +9932 4 2 0 1 1874 1704 2427 2452 +9933 4 2 0 1 1566 2105 1812 2558 +9934 4 2 0 1 258 2333 1767 2574 +9935 4 2 0 1 349 1979 1930 2559 +9936 4 2 0 1 1528 1966 2111 2466 +9937 4 2 0 1 1650 2239 1958 2506 +9938 4 2 0 1 1295 1181 2056 2785 +9939 4 2 0 1 1926 2302 1589 2788 +9940 4 2 0 1 1614 1721 2416 2537 +9941 4 2 0 1 1740 2028 1942 2432 +9942 4 2 0 1 1976 2091 1248 2442 +9943 4 2 0 1 1272 1259 1260 2177 +9944 4 2 0 1 1637 2281 1912 2371 +9945 4 2 0 1 639 2069 2469 2812 +9946 4 2 0 1 1506 995 166 2278 +9947 4 2 0 1 2273 1787 2586 2716 +9948 4 2 0 1 1665 1996 1792 2539 +9949 4 2 0 1 1654 2254 2096 2636 +9950 4 2 0 1 457 1875 407 2468 +9951 4 2 0 1 294 2062 316 2624 +9952 4 2 0 1 173 2317 2101 2576 +9953 4 2 0 1 2227 2479 1728 2839 +9954 4 2 0 1 1529 2187 2006 2244 +9955 4 2 0 1 1341 1192 1362 2337 +9956 4 2 0 1 869 927 942 1894 +9957 4 2 0 1 966 1894 977 2695 +9958 4 2 0 1 1577 2004 1896 2029 +9959 4 2 0 1 1545 1802 2031 2376 +9960 4 2 0 1 473 504 170 2225 +9961 4 2 0 1 1691 2388 1987 2470 +9962 4 2 0 1 938 2101 869 2514 +9963 4 2 0 1 1612 2392 2033 2834 +9964 4 2 0 1 1838 2059 1644 2823 +9965 4 2 0 1 815 2596 1991 2684 +9966 4 2 0 1 351 372 2185 2333 +9967 4 2 0 1 1730 2342 2198 2463 +9968 4 2 0 1 1176 1870 1030 2603 +9969 4 2 0 1 1781 1628 2081 2592 +9970 4 2 0 1 1221 1376 2531 2720 +9971 4 2 0 1 1811 2163 2149 2611 +9972 4 2 0 1 2001 2102 1678 2302 +9973 4 2 0 1 1226 2001 1935 2825 +9974 4 2 0 1 830 141 140 2277 +9975 4 2 0 1 300 2030 297 2776 +9976 4 2 0 1 1604 2210 1782 2526 +9977 4 2 0 1 1796 2506 1650 2837 +9978 4 2 0 1 1633 2275 2148 2318 +9979 4 2 0 1 1531 1940 2604 2735 +9980 4 2 0 1 1650 2443 1985 2682 +9981 4 2 0 1 466 520 180 2826 +9982 4 2 0 1 607 2236 556 2390 +9983 4 2 0 1 1800 2209 466 2685 +9984 4 2 0 1 1690 2144 1765 2267 +9985 4 2 0 1 1288 1976 1283 2435 +9986 4 2 0 1 1648 2161 2100 2360 +9987 4 2 0 1 1619 2409 1902 2669 +9988 4 2 0 1 1590 2593 2364 2807 +9989 4 2 0 1 1579 2226 2094 2760 +9990 4 2 0 1 1297 1922 2044 2512 +9991 4 2 0 1 878 2241 2279 2591 +9992 4 2 0 1 1683 2527 1856 2602 +9993 4 2 0 1 1083 1039 1077 2056 +9994 4 2 0 1 530 2180 673 2246 +9995 4 2 0 1 1346 2201 2337 2737 +9996 4 2 0 1 1550 2113 2293 2568 +9997 4 2 0 1 290 293 368 2448 +9998 4 2 0 1 1547 1836 2282 2790 +9999 4 2 0 1 1071 2056 1103 2414 +10000 4 2 0 1 1792 1649 2066 2674 +10001 4 2 0 1 1831 2046 1592 2256 +10002 4 2 0 1 1353 1219 1885 2512 +10003 4 2 0 1 765 763 808 1822 +10004 4 2 0 1 1671 1818 2651 2798 +10005 4 2 0 1 2206 2215 1618 2782 +10006 4 2 0 1 1708 2289 2022 2730 +10007 4 2 0 1 1691 2072 1943 2470 +10008 4 2 0 1 1723 2128 2478 2818 +10009 4 2 0 1 392 293 2262 2516 +10010 4 2 0 1 360 369 178 1895 +10011 4 2 0 1 1577 2624 2130 2805 +10012 4 2 0 1 1629 1765 2068 2501 +10013 4 2 0 1 1819 2768 2543 2814 +10014 4 2 0 1 1580 2051 1810 2718 +10015 4 2 0 1 186 1761 2327 2803 +10016 4 2 0 1 1589 2320 1926 2788 +10017 4 2 0 1 221 378 1947 2464 +10018 4 2 0 1 2104 1639 2215 2782 +10019 4 2 0 1 2110 2431 1851 2633 +10020 4 2 0 1 1545 2052 1833 2401 +10021 4 2 0 1 1378 1236 1438 2289 +10022 4 2 0 1 1661 2178 1708 2232 +10023 4 2 0 1 1998 2266 1608 2476 +10024 4 2 0 1 1840 2117 1261 2586 +10025 4 2 0 1 625 1815 569 2350 +10026 4 2 0 1 1943 2240 1601 2479 +10027 4 2 0 1 471 248 2539 2674 +10028 4 2 0 1 1995 2467 1627 2484 +10029 4 2 0 1 874 2462 1803 2553 +10030 4 2 0 1 1914 2229 1497 2640 +10031 4 2 0 1 1745 1646 2179 2522 +10032 4 2 0 1 1607 2197 2009 2250 +10033 4 2 0 1 1809 2196 1655 2433 +10034 4 2 0 1 1719 2289 1623 2629 +10035 4 2 0 1 1560 2245 2199 2707 +10036 4 2 0 1 1864 2541 1746 2768 +10037 4 2 0 1 445 1847 411 2366 +10038 4 2 0 1 1527 2311 2116 2527 +10039 4 2 0 1 314 182 300 2211 +10040 4 2 0 1 1038 1078 1102 2564 +10041 4 2 0 1 1883 1959 1710 2828 +10042 4 2 0 1 1916 2093 1782 2693 +10043 4 2 0 1 1541 2011 2520 2521 +10044 4 2 0 1 1869 1972 1652 2282 +10045 4 2 0 1 1278 2117 2178 2785 +10046 4 2 0 1 1833 2088 1659 2653 +10047 4 2 0 1 828 153 2115 2186 +10048 4 2 0 1 2195 2303 1840 2442 +10049 4 2 0 1 1552 1989 2103 2482 +10050 4 2 0 1 690 801 814 2028 +10051 4 2 0 1 1696 2177 1764 2361 +10052 4 2 0 1 574 623 1884 2530 +10053 4 2 0 1 1719 1623 2289 2551 +10054 4 2 0 1 1599 1999 2048 2160 +10055 4 2 0 1 618 664 2212 2687 +10056 4 2 0 1 984 2365 1889 2589 +10057 4 2 0 1 1613 2110 2037 2487 +10058 4 2 0 1 863 906 894 2184 +10059 4 2 0 1 2403 2426 1849 2628 +10060 4 2 0 1 1229 1337 2033 2667 +10061 4 2 0 1 1084 1171 1086 2594 +10062 4 2 0 1 1950 2433 2154 2450 +10063 4 2 0 1 1346 2337 1834 2737 +10064 4 2 0 1 1542 2100 2093 2360 +10065 4 2 0 1 1597 2150 1833 2688 +10066 4 2 0 1 1180 2021 2229 2563 +10067 4 2 0 1 984 884 888 2589 +10068 4 2 0 1 1944 2462 1803 2720 +10069 4 2 0 1 1323 2467 1995 2484 +10070 4 2 0 1 2198 2215 1536 2272 +10071 4 2 0 1 1663 2342 2026 2507 +10072 4 2 0 1 1780 2322 1974 2783 +10073 4 2 0 1 810 1957 766 2307 +10074 4 2 0 1 1171 2594 1084 2603 +10075 4 2 0 1 1799 2367 1973 2587 +10076 4 2 0 1 1601 1806 2418 2673 +10077 4 2 0 1 1571 2204 1890 2634 +10078 4 2 0 1 1547 1869 2250 2282 +10079 4 2 0 1 1800 2490 2409 2826 +10080 4 2 0 1 1245 2455 1178 2737 +10081 4 2 0 1 2163 2702 1811 2816 +10082 4 2 0 1 1984 2197 622 2408 +10083 4 2 0 1 1543 1848 2412 2792 +10084 4 2 0 1 1486 2278 1519 2696 +10085 4 2 0 1 1827 2172 1534 2700 +10086 4 2 0 1 1789 2269 2130 2748 +10087 4 2 0 1 1643 2426 2109 2628 +10088 4 2 0 1 1703 2000 2466 2616 +10089 4 2 0 1 639 657 1828 2812 +10090 4 2 0 1 1061 1053 1025 2339 +10091 4 2 0 1 1215 1323 2475 2484 +10092 4 2 0 1 1542 2093 2100 2693 +10093 4 2 0 1 544 548 593 2069 +10094 4 2 0 1 1221 2531 1731 2720 +10095 4 2 0 1 1612 2033 2370 2667 +10096 4 2 0 1 1561 2011 2396 2599 +10097 4 2 0 1 2103 2296 1684 2675 +10098 4 2 0 1 1621 2204 1890 2451 +10099 4 2 0 1 216 1823 2395 2554 +10100 4 2 0 1 1957 2316 1582 2816 +10101 4 2 0 1 2141 2175 1652 2728 +10102 4 2 0 1 142 141 826 1955 +10103 4 2 0 1 255 395 2297 2438 +10104 4 2 0 1 142 1955 826 2732 +10105 4 2 0 1 2158 2188 1624 2511 +10106 4 2 0 1 600 2393 615 2663 +10107 4 2 0 1 274 250 483 2086 +10108 4 2 0 1 1990 2606 253 2694 +10109 4 2 0 1 1990 1677 2344 2745 +10110 4 2 0 1 1851 2466 1703 2487 +10111 4 2 0 1 1099 1049 1071 1787 +10112 4 2 0 1 1548 2096 2254 2636 +10113 4 2 0 1 1941 2121 1744 2465 +10114 4 2 0 1 1472 1497 1914 2229 +10115 4 2 0 1 428 184 437 2297 +10116 4 2 0 1 1773 2063 1666 2249 +10117 4 2 0 1 1744 2510 2121 2794 +10118 4 2 0 1 1091 1746 1017 2543 +10119 4 2 0 1 1549 2544 2414 2716 +10120 4 2 0 1 1682 2168 1900 2364 +10121 4 2 0 1 1557 2058 1795 2681 +10122 4 2 0 1 1837 2094 1705 2620 +10123 4 2 0 1 1358 1331 2076 2301 +10124 4 2 0 1 1649 2066 1816 2332 +10125 4 2 0 1 1747 2145 2027 2447 +10126 4 2 0 1 1578 2124 1905 2727 +10127 4 2 0 1 1556 2016 1922 2664 +10128 4 2 0 1 463 171 436 1977 +10129 4 2 0 1 1727 1866 2396 2573 +10130 4 2 0 1 1654 1944 1805 2383 +10131 4 2 0 1 1582 2149 1877 2426 +10132 4 2 0 1 1731 2261 2105 2534 +10133 4 2 0 1 418 391 181 2713 +10134 4 2 0 1 1833 2430 2150 2682 +10135 4 2 0 1 1546 2061 1919 2650 +10136 4 2 0 1 1548 2096 2224 2708 +10137 4 2 0 1 1880 2354 1747 2447 +10138 4 2 0 1 1653 1799 2272 2587 +10139 4 2 0 1 1871 2164 1779 2808 +10140 4 2 0 1 1858 2008 1906 2801 +10141 4 2 0 1 531 655 681 2192 +10142 4 2 0 1 1272 1260 1204 2177 +10143 4 2 0 1 773 743 720 1993 +10144 4 2 0 1 1728 2226 1886 2627 +10145 4 2 0 1 1790 2444 2155 2542 +10146 4 2 0 1 1530 2354 1880 2447 +10147 4 2 0 1 1116 132 133 2350 +10148 4 2 0 1 1625 2214 1807 2413 +10149 4 2 0 1 221 378 359 2683 +10150 4 2 0 1 1622 2087 1924 2358 +10151 4 2 0 1 1727 2396 1866 2654 +10152 4 2 0 1 1596 1990 1967 2606 +10153 4 2 0 1 869 2251 1894 2514 +10154 4 2 0 1 259 254 2124 2457 +10155 4 2 0 1 1926 2320 2018 2788 +10156 4 2 0 1 1432 1906 1448 2780 +10157 4 2 0 1 1617 2238 2060 2368 +10158 4 2 0 1 1637 1758 2132 2393 +10159 4 2 0 1 1689 2112 1866 2427 +10160 4 2 0 1 1735 2419 2264 2435 +10161 4 2 0 1 420 1965 1861 2438 +10162 4 2 0 1 564 2350 648 2830 +10163 4 2 0 1 1040 1060 1109 2406 +10164 4 2 0 1 1151 161 1057 2416 +10165 4 2 0 1 350 183 2153 2639 +10166 4 2 0 1 1014 935 2461 2589 +10167 4 2 0 1 1930 2535 1658 2565 +10168 4 2 0 1 1764 2361 2051 2822 +10169 4 2 0 1 734 196 844 527 +10170 4 2 0 1 253 279 1990 2694 +10171 4 2 0 1 1711 1853 2075 2817 +10172 4 2 0 1 1643 1849 2338 2685 +10173 4 2 0 1 1477 1460 1476 1937 +10174 4 2 0 1 1979 2092 1658 2336 +10175 4 2 0 1 1242 2094 1489 2387 +10176 4 2 0 1 1488 845 737 2087 +10177 4 2 0 1 1789 1557 2228 2613 +10178 4 2 0 1 1638 2044 1922 2512 +10179 4 2 0 1 1757 2186 1826 2363 +10180 4 2 0 1 952 2287 901 2715 +10181 4 2 0 1 901 898 957 2070 +10182 4 2 0 1 1494 2135 2051 2722 +10183 4 2 0 1 1531 2003 1940 2368 +10184 4 2 0 1 1749 1974 2351 2615 +10185 4 2 0 1 1689 1783 2348 2652 +10186 4 2 0 1 1837 2511 1741 2781 +10187 4 2 0 1 1197 2442 1909 2551 +10188 4 2 0 1 1627 2235 2024 2526 +10189 4 2 0 1 1555 2608 1936 2736 +10190 4 2 0 1 949 2073 880 2637 +10191 4 2 0 1 1715 1960 2003 2478 +10192 4 2 0 1 1643 1849 2426 2628 +10193 4 2 0 1 2078 2102 1712 2765 +10194 4 2 0 1 1549 2039 2544 2600 +10195 4 2 0 1 927 1894 869 2251 +10196 4 2 0 1 1004 962 1832 2588 +10197 4 2 0 1 1614 2172 1827 2537 +10198 4 2 0 1 1338 1420 1195 2018 +10199 4 2 0 1 684 2359 1725 2569 +10200 4 2 0 1 511 1849 505 2567 +10201 4 2 0 1 1955 2457 1674 2705 +10202 4 2 0 1 1972 2282 1869 2777 +10203 4 2 0 1 1624 1797 2301 2625 +10204 4 2 0 1 1843 2389 2023 2832 +10205 4 2 0 1 586 608 2330 2761 +10206 4 2 0 1 597 2256 662 2672 +10207 4 2 0 1 1822 2555 1881 2643 +10208 4 2 0 1 532 1934 635 2536 +10209 4 2 0 1 1616 2022 2291 2648 +10210 4 2 0 1 1604 2210 1921 2459 +10211 4 2 0 1 1346 2201 1247 2337 +10212 4 2 0 1 277 464 821 1993 +10213 4 2 0 1 367 389 211 2097 +10214 4 2 0 1 410 177 499 1965 +10215 4 2 0 1 1603 1927 1829 2464 +10216 4 2 0 1 563 628 574 2456 +10217 4 2 0 1 1590 1969 2593 2807 +10218 4 2 0 1 1516 1453 1220 2301 +10219 4 2 0 1 442 238 404 2556 +10220 4 2 0 1 428 437 1897 2297 +10221 4 2 0 1 849 781 764 1936 +10222 4 2 0 1 1637 2194 1758 2749 +10223 4 2 0 1 213 320 406 2020 +10224 4 2 0 1 443 2185 188 2333 +10225 4 2 0 1 1543 2726 2040 2757 +10226 4 2 0 1 1580 2615 2051 2718 +10227 4 2 0 1 2116 2311 1739 2527 +10228 4 2 0 1 1061 1117 1053 2522 +10229 4 2 0 1 256 2185 335 2200 +10230 4 2 0 1 179 407 1875 2097 +10231 4 2 0 1 1503 1183 1810 2557 +10232 4 2 0 1 563 140 1955 2456 +10233 4 2 0 1 771 745 2436 2714 +10234 4 2 0 1 263 715 740 2217 +10235 4 2 0 1 1816 2525 2030 2776 +10236 4 2 0 1 502 244 362 2049 +10237 4 2 0 1 1830 2308 1782 2693 +10238 4 2 0 1 1942 1740 2347 2677 +10239 4 2 0 1 2203 2363 1826 2784 +10240 4 2 0 1 1486 2640 1707 2696 +10241 4 2 0 1 1172 1154 1930 2565 +10242 4 2 0 1 1564 2118 1880 2701 +10243 4 2 0 1 1723 2478 2128 2503 +10244 4 2 0 1 1890 1991 1685 2684 +10245 4 2 0 1 535 1984 579 2419 +10246 4 2 0 1 772 700 2041 2375 +10247 4 2 0 1 612 617 625 2344 +10248 4 2 0 1 340 2323 1850 2614 +10249 4 2 0 1 1469 1300 1453 2301 +10250 4 2 0 1 2258 2150 2538 2688 +10251 4 2 0 1 1912 2235 1604 2283 +10252 4 2 0 1 601 1841 603 2761 +10253 4 2 0 1 924 2125 1907 2553 +10254 4 2 0 1 383 2525 1816 2776 +10255 4 2 0 1 1669 1844 2257 2290 +10256 4 2 0 1 1620 2201 1834 2337 +10257 4 2 0 1 1543 2578 2040 2726 +10258 4 2 0 1 1843 2221 1534 2292 +10259 4 2 0 1 1706 2036 1821 2655 +10260 4 2 0 1 1811 2149 1867 2611 +10261 4 2 0 1 1854 2234 1642 2515 +10262 4 2 0 1 1597 1856 2065 2306 +10263 4 2 0 1 198 140 668 2456 +10264 4 2 0 1 1747 2145 2074 2332 +10265 4 2 0 1 1689 2654 2220 2743 +10266 4 2 0 1 1593 2612 2107 2689 +10267 4 2 0 1 1651 2493 1824 2704 +10268 4 2 0 1 2100 2161 1662 2360 +10269 4 2 0 1 1216 1954 1347 2655 +10270 4 2 0 1 1364 1184 1437 2342 +10271 4 2 0 1 947 929 867 2280 +10272 4 2 0 1 175 2404 2066 2674 +10273 4 2 0 1 953 2523 892 2637 +10274 4 2 0 1 589 2393 2132 2469 +10275 4 2 0 1 1602 2437 2164 2698 +10276 4 2 0 1 1212 2420 2133 2668 +10277 4 2 0 1 1247 1399 1362 2337 +10278 4 2 0 1 1696 2361 2055 2784 +10279 4 2 0 1 133 2350 1960 2503 +10280 4 2 0 1 1468 1518 1460 1984 +10281 4 2 0 1 568 618 613 2345 +10282 4 2 0 1 1805 1302 2531 2668 +10283 4 2 0 1 1869 1652 2250 2282 +10284 4 2 0 1 1207 1476 643 1937 +10285 4 2 0 1 1532 2154 1891 2546 +10286 4 2 0 1 1125 1088 1103 2414 +10287 4 2 0 1 1586 2309 2300 2369 +10288 4 2 0 1 333 381 218 2207 +10289 4 2 0 1 1872 1624 2287 2715 +10290 4 2 0 1 1277 1976 1248 2442 +10291 4 2 0 1 932 927 2251 2421 +10292 4 2 0 1 1475 1320 1367 1944 +10293 4 2 0 1 899 863 894 1781 +10294 4 2 0 1 1753 1920 2334 2829 +10295 4 2 0 1 1614 1827 2182 2537 +10296 4 2 0 1 550 638 545 2260 +10297 4 2 0 1 915 874 919 2462 +10298 4 2 0 1 932 2251 1873 2421 +10299 4 2 0 1 1936 2608 1769 2736 +10300 4 2 0 1 1609 2091 1976 2442 +10301 4 2 0 1 1608 1986 1998 2476 +10302 4 2 0 1 1517 2342 2026 2724 +10303 4 2 0 1 864 2494 891 2495 +10304 4 2 0 1 1558 1822 2145 2502 +10305 4 2 0 1 914 1961 970 2107 +10306 4 2 0 1 1705 2094 2226 2760 +10307 4 2 0 1 1561 1818 2112 2572 +10308 4 2 0 1 1438 2289 1236 2551 +10309 4 2 0 1 905 982 998 2477 +10310 4 2 0 1 1980 2590 2237 2633 +10311 4 2 0 1 1080 1930 1154 2713 +10312 4 2 0 1 1878 1598 2252 2440 +10313 4 2 0 1 2104 2206 1639 2782 +10314 4 2 0 1 1377 1297 1214 2512 +10315 4 2 0 1 1930 2349 1172 2565 +10316 4 2 0 1 695 2375 1860 2649 +10317 4 2 0 1 1817 2125 2553 2778 +10318 4 2 0 1 1592 2256 2046 2321 +10319 4 2 0 1 313 292 201 2298 +10320 4 2 0 1 1590 1835 2364 2593 +10321 4 2 0 1 1816 1718 2502 2635 +10322 4 2 0 1 1581 2145 2717 2772 +10323 4 2 0 1 976 151 1946 2523 +10324 4 2 0 1 907 863 886 2081 +10325 4 2 0 1 1541 2310 1865 2521 +10326 4 2 0 1 1614 2035 1929 2172 +10327 4 2 0 1 2050 2572 2454 2746 +10328 4 2 0 1 1463 1478 1181 1994 +10329 4 2 0 1 1147 1119 1077 2056 +10330 4 2 0 1 298 2211 322 2397 +10331 4 2 0 1 2039 2505 1660 2600 +10332 4 2 0 1 1169 1160 2119 2769 +10333 4 2 0 1 297 2030 219 2525 +10334 4 2 0 1 634 603 601 2321 +10335 4 2 0 1 1816 2066 1649 2525 +10336 4 2 0 1 633 641 2256 2321 +10337 4 2 0 1 1222 2247 1798 2763 +10338 4 2 0 1 1000 1790 922 2695 +10339 4 2 0 1 339 2156 1947 2683 +10340 4 2 0 1 1768 2293 2517 2607 +10341 4 2 0 1 1588 1779 2088 2430 +10342 4 2 0 1 747 837 751 2068 +10343 4 2 0 1 653 2212 1726 2283 +10344 4 2 0 1 1645 1887 2386 2600 +10345 4 2 0 1 1612 2033 1808 2834 +10346 4 2 0 1 1786 1604 2283 2753 +10347 4 2 0 1 1932 1657 2449 2838 +10348 4 2 0 1 1141 1148 2410 2777 +10349 4 2 0 1 962 2248 1832 2588 +10350 4 2 0 1 1572 2012 1857 2515 +10351 4 2 0 1 1619 2149 1877 2153 +10352 4 2 0 1 1579 2094 1798 2760 +10353 4 2 0 1 1557 1789 2357 2613 +10354 4 2 0 1 315 220 354 2123 +10355 4 2 0 1 1551 2341 1765 2702 +10356 4 2 0 1 1633 1992 1893 2245 +10357 4 2 0 1 1431 2132 561 2294 +10358 4 2 0 1 1202 1139 1478 1994 +10359 4 2 0 1 1072 1132 1050 2626 +10360 4 2 0 1 1591 1895 2123 2489 +10361 4 2 0 1 535 579 578 2419 +10362 4 2 0 1 1184 1437 2342 2724 +10363 4 2 0 1 1529 2244 2006 2656 +10364 4 2 0 1 1636 2072 1935 2247 +10365 4 2 0 1 1437 1184 1280 2724 +10366 4 2 0 1 570 660 682 2497 +10367 4 2 0 1 177 379 1965 2791 +10368 4 2 0 1 418 181 349 2559 +10369 4 2 0 1 232 440 2196 2328 +10370 4 2 0 1 1831 2256 1700 2569 +10371 4 2 0 1 2037 2370 1692 2783 +10372 4 2 0 1 1348 1339 1298 2383 +10373 4 2 0 1 1648 1860 2161 2360 +10374 4 2 0 1 2297 2330 184 2694 +10375 4 2 0 1 1297 1922 1349 2044 +10376 4 2 0 1 2125 2428 1667 2562 +10377 4 2 0 1 1671 2112 1818 2798 +10378 4 2 0 1 1807 2082 1570 2318 +10379 4 2 0 1 1596 2350 2128 2503 +10380 4 2 0 1 219 2525 2030 2744 +10381 4 2 0 1 1591 2123 1939 2489 +10382 4 2 0 1 2149 2352 1619 2431 +10383 4 2 0 1 1719 2148 2275 2318 +10384 4 2 0 1 1277 1261 1500 1840 +10385 4 2 0 1 1605 1989 1882 2575 +10386 4 2 0 1 1756 2025 1964 2792 +10387 4 2 0 1 2087 2485 1622 2666 +10388 4 2 0 1 1680 2450 1884 2802 +10389 4 2 0 1 161 1929 1057 2416 +10390 4 2 0 1 1082 1126 1137 2570 +10391 4 2 0 1 1747 2547 1917 2762 +10392 4 2 0 1 2271 2334 1791 2504 +10393 4 2 0 1 2156 2268 1631 2269 +10394 4 2 0 1 1764 1696 2361 2822 +10395 4 2 0 1 1123 1137 1087 2570 +10396 4 2 0 1 264 2338 284 2685 +10397 4 2 0 1 751 707 747 2068 +10398 4 2 0 1 1750 2538 2308 2688 +10399 4 2 0 1 1696 1764 2177 2822 +10400 4 2 0 1 1333 1857 1303 2284 +10401 4 2 0 1 652 135 1972 2410 +10402 4 2 0 1 1601 1806 2227 2418 +10403 4 2 0 1 215 1847 445 2366 +10404 4 2 0 1 1617 2238 1836 2282 +10405 4 2 0 1 673 681 661 2246 +10406 4 2 0 1 1828 2053 665 2725 +10407 4 2 0 1 1565 1998 1986 2234 +10408 4 2 0 1 1682 2311 2038 2482 +10409 4 2 0 1 994 1012 2155 2327 +10410 4 2 0 1 1779 2164 2088 2809 +10411 4 2 0 1 1805 2254 1654 2383 +10412 4 2 0 1 297 182 306 2030 +10413 4 2 0 1 1719 2551 1909 2629 +10414 4 2 0 1 1910 2218 1673 2681 +10415 4 2 0 1 423 512 424 2225 +10416 4 2 0 1 216 424 1823 2554 +10417 4 2 0 1 1830 2506 2308 2693 +10418 4 2 0 1 269 501 736 2217 +10419 4 2 0 1 1620 2337 1834 2396 +10420 4 2 0 1 2058 2228 1795 2621 +10421 4 2 0 1 375 2468 427 2571 +10422 4 2 0 1 1796 2372 1693 2577 +10423 4 2 0 1 1617 1836 2175 2282 +10424 4 2 0 1 349 252 1930 2349 +10425 4 2 0 1 1256 2146 1516 2278 +10426 4 2 0 1 1776 2045 2014 2717 +10427 4 2 0 1 1863 2570 2384 2817 +10428 4 2 0 1 1769 2631 1467 2780 +10429 4 2 0 1 1884 2450 2345 2802 +10430 4 2 0 1 968 1013 980 2165 +10431 4 2 0 1 2293 2353 1722 2607 +10432 4 2 0 1 1839 2363 2203 2784 +10433 4 2 0 1 1150 1085 1031 2170 +10434 4 2 0 1 400 1809 460 2661 +10435 4 2 0 1 2100 2377 1650 2443 +10436 4 2 0 1 1022 1065 1069 2424 +10437 4 2 0 1 2071 2438 1644 2756 +10438 4 2 0 1 1197 1840 2442 2551 +10439 4 2 0 1 1621 2203 2089 2363 +10440 4 2 0 1 1716 2490 1800 2826 +10441 4 2 0 1 1211 907 886 2081 +10442 4 2 0 1 1851 2466 1966 2836 +10443 4 2 0 1 1642 1906 2263 2711 +10444 4 2 0 1 550 2260 545 2400 +10445 4 2 0 1 639 1828 657 2725 +10446 4 2 0 1 1589 2302 2133 2788 +10447 4 2 0 1 1554 1808 2392 2834 +10448 4 2 0 1 1949 2198 1536 2272 +10449 4 2 0 1 376 350 2539 2639 +10450 4 2 0 1 1559 1793 2331 2731 +10451 4 2 0 1 1788 2475 1627 2811 +10452 4 2 0 1 319 212 1939 2353 +10453 4 2 0 1 1414 1437 1280 2053 +10454 4 2 0 1 1410 2442 2091 2721 +10455 4 2 0 1 574 554 623 2530 +10456 4 2 0 1 1261 1278 1206 2586 +10457 4 2 0 1 230 444 262 1877 +10458 4 2 0 1 962 2248 964 2365 +10459 4 2 0 1 1821 2415 1706 2655 +10460 4 2 0 1 573 565 537 1995 +10461 4 2 0 1 1650 2506 2372 2693 +10462 4 2 0 1 1660 2060 2491 2733 +10463 4 2 0 1 869 2101 2251 2514 +10464 4 2 0 1 2000 2466 1613 2487 +10465 4 2 0 1 1445 1391 1356 2247 +10466 4 2 0 1 1700 2256 1868 2672 +10467 4 2 0 1 1656 1853 2083 2578 +10468 4 2 0 1 1396 1419 1909 2721 +10469 4 2 0 1 976 892 953 2523 +10470 4 2 0 1 1668 2399 2020 2472 +10471 4 2 0 1 1738 1919 2061 2650 +10472 4 2 0 1 1734 2313 2141 2723 +10473 4 2 0 1 1542 1923 2079 2305 +10474 4 2 0 1 1750 2258 2538 2688 +10475 4 2 0 1 1686 2448 2092 2516 +10476 4 2 0 1 415 462 1861 2185 +10477 4 2 0 1 1705 1951 2627 2833 +10478 4 2 0 1 1358 1300 1331 2301 +10479 4 2 0 1 1773 2214 2019 2675 +10480 4 2 0 1 1469 1453 2146 2301 +10481 4 2 0 1 1676 1859 2005 2699 +10482 4 2 0 1 1656 1925 2083 2216 +10483 4 2 0 1 2013 2324 1834 2746 +10484 4 2 0 1 697 2087 785 2666 +10485 4 2 0 1 463 171 1977 2567 +10486 4 2 0 1 1234 1373 1392 2358 +10487 4 2 0 1 1242 1352 2094 2387 +10488 4 2 0 1 1695 2002 1997 2741 +10489 4 2 0 1 1627 2371 2235 2526 +10490 4 2 0 1 1672 2102 2001 2302 +10491 4 2 0 1 1538 2460 2102 2794 +10492 4 2 0 1 1049 2339 1787 2804 +10493 4 2 0 1 1241 1908 2485 2780 +10494 4 2 0 1 749 821 1993 2498 +10495 4 2 0 1 1644 2020 1897 2756 +10496 4 2 0 1 1873 2382 2421 2738 +10497 4 2 0 1 362 1847 2049 2494 +10498 4 2 0 1 777 2316 850 2498 +10499 4 2 0 1 1684 2103 1989 2482 +10500 4 2 0 1 1773 2249 1666 2440 +10501 4 2 0 1 1241 1470 1479 2379 +10502 4 2 0 1 1628 2152 2261 2534 +10503 4 2 0 1 913 2081 937 2233 +10504 4 2 0 1 764 781 700 1936 +10505 4 2 0 1 1350 1467 2379 2631 +10506 4 2 0 1 1803 2462 1907 2553 +10507 4 2 0 1 551 2393 2069 2663 +10508 4 2 0 1 665 651 591 2053 +10509 4 2 0 1 2050 2220 1706 2415 +10510 4 2 0 1 2051 2361 1696 2822 +10511 4 2 0 1 427 2468 2097 2571 +10512 4 2 0 1 1942 2347 1991 2677 +10513 4 2 0 1 557 608 621 2330 +10514 4 2 0 1 461 179 407 1875 +10515 4 2 0 1 313 292 2298 2353 +10516 4 2 0 1 1565 1986 1892 2783 +10517 4 2 0 1 1222 2007 2247 2763 +10518 4 2 0 1 708 817 796 2596 +10519 4 2 0 1 1847 2101 1600 2495 +10520 4 2 0 1 1575 1975 1846 2570 +10521 4 2 0 1 1955 2456 2277 2457 +10522 4 2 0 1 391 2559 181 2713 +10523 4 2 0 1 1825 2192 1766 2663 +10524 4 2 0 1 1033 1126 1082 1863 +10525 4 2 0 1 1893 1992 1620 2245 +10526 4 2 0 1 1707 2346 2140 2696 +10527 4 2 0 1 585 1937 558 2408 +10528 4 2 0 1 1696 1771 2670 2742 +10529 4 2 0 1 568 618 2345 2687 +10530 4 2 0 1 2087 2358 1622 2485 +10531 4 2 0 1 1881 2120 788 2732 +10532 4 2 0 1 1943 1971 2402 2411 +10533 4 2 0 1 1585 2447 1958 2750 +10534 4 2 0 1 703 761 855 2316 +10535 4 2 0 1 1635 2121 1966 2566 +10536 4 2 0 1 1148 2733 2410 2777 +10537 4 2 0 1 1832 2129 1599 2365 +10538 4 2 0 1 1811 1551 2163 2611 +10539 4 2 0 1 833 854 714 2649 +10540 4 2 0 1 1604 1912 2281 2371 +10541 4 2 0 1 1967 1596 2606 2752 +10542 4 2 0 1 1832 2073 1999 2129 +10543 4 2 0 1 461 1875 240 2612 +10544 4 2 0 1 1796 2213 1530 2447 +10545 4 2 0 1 1573 2496 1956 2759 +10546 4 2 0 1 1624 2076 2254 2511 +10547 4 2 0 1 1881 2555 1648 2643 +10548 4 2 0 1 1827 2227 1673 2335 +10549 4 2 0 1 331 204 2647 2744 +10550 4 2 0 1 2133 2531 1589 2788 +10551 4 2 0 1 1628 2299 2081 2592 +10552 4 2 0 1 301 1997 338 2605 +10553 4 2 0 1 315 313 2123 2353 +10554 4 2 0 1 236 394 259 2397 +10555 4 2 0 1 1564 1859 2352 2699 +10556 4 2 0 1 2152 2534 1628 2592 +10557 4 2 0 1 1935 2072 1798 2247 +10558 4 2 0 1 1724 2385 2152 2644 +10559 4 2 0 1 1714 2152 2616 2834 +10560 4 2 0 1 1772 1636 2326 2747 +10561 4 2 0 1 1819 2394 1603 2764 +10562 4 2 0 1 1726 1794 2425 2497 +10563 4 2 0 1 1447 1398 579 1460 +10564 4 2 0 1 719 742 774 2722 +10565 4 2 0 1 1554 2177 2592 2742 +10566 4 2 0 1 1890 2451 2034 2634 +10567 4 2 0 1 1488 1428 1499 2131 +10568 4 2 0 1 1597 2065 1856 2401 +10569 4 2 0 1 1633 1992 2245 2340 +10570 4 2 0 1 1454 1190 1276 2513 +10571 4 2 0 1 287 970 276 2107 +10572 4 2 0 1 606 1786 2212 2283 +10573 4 2 0 1 341 326 1978 2559 +10574 4 2 0 1 1823 2225 424 2516 +10575 4 2 0 1 2362 2680 1631 2748 +10576 4 2 0 1 2141 2193 1704 2313 +10577 4 2 0 1 1946 2209 1643 2685 +10578 4 2 0 1 144 2212 841 2638 +10579 4 2 0 1 1755 2511 1837 2781 +10580 4 2 0 1 1464 1415 1465 1803 +10581 4 2 0 1 1569 1902 2237 2490 +10582 4 2 0 1 1391 2247 1445 2326 +10583 4 2 0 1 2069 2206 1828 2725 +10584 4 2 0 1 641 619 2256 2321 +10585 4 2 0 1 1594 1919 2134 2483 +10586 4 2 0 1 1976 2303 2195 2442 +10587 4 2 0 1 1512 1260 1194 2177 +10588 4 2 0 1 1144 2274 2064 2458 +10589 4 2 0 1 1885 1565 2234 2801 +10590 4 2 0 1 1771 2361 1696 2784 +10591 4 2 0 1 370 2030 306 2744 +10592 4 2 0 1 682 2425 145 2497 +10593 4 2 0 1 1631 2680 2156 2795 +10594 4 2 0 1 1097 1026 1073 1914 +10595 4 2 0 1 2007 1772 2318 2767 +10596 4 2 0 1 1622 1776 2329 2375 +10597 4 2 0 1 775 1881 788 2508 +10598 4 2 0 1 540 615 600 2393 +10599 4 2 0 1 858 925 1002 2588 +10600 4 2 0 1 1717 2214 1963 2820 +10601 4 2 0 1 1565 1892 2665 2783 +10602 4 2 0 1 1572 1865 2310 2712 +10603 4 2 0 1 1746 2406 1864 2768 +10604 4 2 0 1 277 1993 821 2498 +10605 4 2 0 1 1776 2649 2253 2717 +10606 4 2 0 1 166 893 165 2278 +10607 4 2 0 1 1783 1750 2348 2538 +10608 4 2 0 1 1569 2590 1980 2633 +10609 4 2 0 1 1795 2006 2108 2681 +10610 4 2 0 1 1128 1021 2140 2274 +10611 4 2 0 1 370 306 204 2744 +10612 4 2 0 1 315 2123 212 2353 +10613 4 2 0 1 1142 1927 1052 2394 +10614 4 2 0 1 1342 1306 1353 2512 +10615 4 2 0 1 2308 2506 1782 2693 +10616 4 2 0 1 606 559 1786 2283 +10617 4 2 0 1 2159 2376 1767 2807 +10618 4 2 0 1 1596 1960 1815 2350 +10619 4 2 0 1 237 2409 2641 2826 +10620 4 2 0 1 1546 2650 1898 2771 +10621 4 2 0 1 379 469 420 1861 +10622 4 2 0 1 1588 2067 1871 2343 +10623 4 2 0 1 1722 2517 2293 2607 +10624 4 2 0 1 2051 2135 1269 2822 +10625 4 2 0 1 2089 2363 1535 2439 +10626 4 2 0 1 1655 1809 2433 2533 +10627 4 2 0 1 1570 1886 2291 2540 +10628 4 2 0 1 646 2009 605 2169 +10629 4 2 0 1 1363 1354 1235 2342 +10630 4 2 0 1 1181 1466 1115 1478 +10631 4 2 0 1 1097 1914 1110 2346 +10632 4 2 0 1 1747 2213 2145 2447 +10633 4 2 0 1 1534 2172 1910 2189 +10634 4 2 0 1 1064 1053 2264 2339 +10635 4 2 0 1 1606 1979 1930 2535 +10636 4 2 0 1 132 2350 2128 2830 +10637 4 2 0 1 557 279 189 2330 +10638 4 2 0 1 1690 2267 1765 2702 +10639 4 2 0 1 1525 1514 843 2135 +10640 4 2 0 1 944 2382 960 2734 +10641 4 2 0 1 1747 2354 2213 2447 +10642 4 2 0 1 1486 1256 1519 2278 +10643 4 2 0 1 1656 2083 1925 2726 +10644 4 2 0 1 1154 1037 1031 2565 +10645 4 2 0 1 2376 2676 1767 2807 +10646 4 2 0 1 1599 1999 1832 2486 +10647 4 2 0 1 2130 2269 1896 2748 +10648 4 2 0 1 482 421 478 2049 +10649 4 2 0 1 2051 2615 1580 2754 +10650 4 2 0 1 1607 1984 2197 2500 +10651 4 2 0 1 545 638 594 2260 +10652 4 2 0 1 662 2569 549 2672 +10653 4 2 0 1 1576 2043 1914 2095 +10654 4 2 0 1 2066 2332 1649 2341 +10655 4 2 0 1 845 724 737 2087 +10656 4 2 0 1 448 2086 461 2612 +10657 4 2 0 1 1463 1287 1292 2178 +10658 4 2 0 1 980 154 153 2115 +10659 4 2 0 1 1652 2236 1972 2390 +10660 4 2 0 1 464 741 720 2692 +10661 4 2 0 1 1712 2510 2320 2794 +10662 4 2 0 1 1805 2133 1589 2208 +10663 4 2 0 1 592 666 547 1831 +10664 4 2 0 1 1520 2184 2177 2822 +10665 4 2 0 1 1474 1382 904 2137 +10666 4 2 0 1 1612 2370 2016 2667 +10667 4 2 0 1 1467 2631 2513 2780 +10668 4 2 0 1 1456 2358 2087 2485 +10669 4 2 0 1 246 454 433 2498 +10670 4 2 0 1 1308 1299 2036 2655 +10671 4 2 0 1 1455 1255 2021 2387 +10672 4 2 0 1 1674 2120 1881 2732 +10673 4 2 0 1 137 671 2179 2777 +10674 4 2 0 1 1656 2151 2126 2648 +10675 4 2 0 1 1562 1841 2314 2380 +10676 4 2 0 1 1533 1932 1970 2270 +10677 4 2 0 1 2260 2569 1700 2672 +10678 4 2 0 1 483 2086 265 2612 +10679 4 2 0 1 1853 2126 1656 2151 +10680 4 2 0 1 1991 2099 1626 2596 +10681 4 2 0 1 1843 2221 1814 2673 +10682 4 2 0 1 1452 1803 1464 2462 +10683 4 2 0 1 1565 2136 1998 2729 +10684 4 2 0 1 1464 2499 1465 2775 +10685 4 2 0 1 1549 1840 2273 2617 +10686 4 2 0 1 1552 2166 2103 2575 +10687 4 2 0 1 1648 2643 1822 2717 +10688 4 2 0 1 1569 2237 2590 2633 +10689 4 2 0 1 1588 2164 1871 2632 +10690 4 2 0 1 161 2035 1929 2416 +10691 4 2 0 1 1804 2295 1777 2707 +10692 4 2 0 1 2040 2726 1795 2757 +10693 4 2 0 1 1578 1985 1905 2705 +10694 4 2 0 1 269 2217 736 2277 +10695 4 2 0 1 636 2587 646 2766 +10696 4 2 0 1 1831 2359 666 2569 +10697 4 2 0 1 1674 1881 2120 2705 +10698 4 2 0 1 1625 2413 1988 2806 +10699 4 2 0 1 762 824 2034 2451 +10700 4 2 0 1 1630 2139 1845 2706 +10701 4 2 0 1 1660 2060 2238 2368 +10702 4 2 0 1 796 752 2596 2677 +10703 4 2 0 1 1309 2668 1755 2740 +10704 4 2 0 1 1558 2145 1822 2643 +10705 4 2 0 1 1353 1418 1389 2322 +10706 4 2 0 1 1649 2341 2332 2762 +10707 4 2 0 1 2137 2287 1624 2715 +10708 4 2 0 1 600 2192 1825 2663 +10709 4 2 0 1 1538 1962 2078 2460 +10710 4 2 0 1 874 870 993 2462 +10711 4 2 0 1 1815 2350 2344 2745 +10712 4 2 0 1 1176 1084 2594 2603 +10713 4 2 0 1 1932 2449 2113 2623 +10714 4 2 0 1 1100 1060 1819 2709 +10715 4 2 0 1 1667 2061 1931 2771 +10716 4 2 0 1 701 710 771 2436 +10717 4 2 0 1 2189 2362 2219 2680 +10718 4 2 0 1 1345 2194 1375 2467 +10719 4 2 0 1 1946 2338 2209 2685 +10720 4 2 0 1 2145 2213 1796 2447 +10721 4 2 0 1 1628 1889 2152 2592 +10722 4 2 0 1 1593 2061 2319 2689 +10723 4 2 0 1 2009 2169 1652 2390 +10724 4 2 0 1 1487 2435 2419 2686 +10725 4 2 0 1 1895 2317 369 2679 +10726 4 2 0 1 684 1725 678 2569 +10727 4 2 0 1 1586 1962 1932 2583 +10728 4 2 0 1 1673 2335 2227 2656 +10729 4 2 0 1 370 297 306 2030 +10730 4 2 0 1 1590 2159 2002 2407 +10731 4 2 0 1 1821 2371 1627 2811 +10732 4 2 0 1 1257 1828 1289 2812 +10733 4 2 0 1 972 271 2101 2576 +10734 4 2 0 1 1746 2543 2406 2768 +10735 4 2 0 1 1272 1195 1259 1808 +10736 4 2 0 1 1697 2355 1915 2824 +10737 4 2 0 1 1220 1357 2137 2301 +10738 4 2 0 1 1915 1670 2147 2791 +10739 4 2 0 1 1683 2295 1804 2599 +10740 4 2 0 1 850 2144 755 2498 +10741 4 2 0 1 1920 2701 2334 2829 +10742 4 2 0 1 607 652 1972 2390 +10743 4 2 0 1 444 262 1877 2685 +10744 4 2 0 1 773 712 703 2403 +10745 4 2 0 1 1895 2023 1600 2317 +10746 4 2 0 1 1814 2224 1647 2480 +10747 4 2 0 1 1769 1908 2379 2736 +10748 4 2 0 1 2157 2222 289 2741 +10749 4 2 0 1 1903 1590 2002 2407 +10750 4 2 0 1 205 2005 373 2323 +10751 4 2 0 1 391 1913 326 2559 +10752 4 2 0 1 227 345 358 2489 +10753 4 2 0 1 351 208 2333 2574 +10754 4 2 0 1 2213 2354 1530 2447 +10755 4 2 0 1 1680 1884 2345 2802 +10756 4 2 0 1 1625 2214 2413 2813 +10757 4 2 0 1 1835 1552 2593 2799 +10758 4 2 0 1 1618 1828 2206 2725 +10759 4 2 0 1 1708 1661 2232 2563 +10760 4 2 0 1 1896 1695 2029 2519 +10761 4 2 0 1 1872 2241 1654 2383 +10762 4 2 0 1 1676 2005 1859 2669 +10763 4 2 0 1 1640 1959 1883 2828 +10764 4 2 0 1 1826 2186 1771 2784 +10765 4 2 0 1 1226 1316 1935 2420 +10766 4 2 0 1 1613 2037 2000 2487 +10767 4 2 0 1 1652 1972 1869 2390 +10768 4 2 0 1 2227 2800 1827 2839 +10769 4 2 0 1 2085 2418 1806 2673 +10770 4 2 0 1 2026 2198 1607 2724 +10771 4 2 0 1 1546 1919 2061 2483 +10772 4 2 0 1 1626 2513 2099 2608 +10773 4 2 0 1 1160 1082 1019 2384 +10774 4 2 0 1 476 1927 442 2424 +10775 4 2 0 1 1269 2051 1494 2135 +10776 4 2 0 1 1866 2112 1671 2427 +10777 4 2 0 1 1574 2526 1921 2811 +10778 4 2 0 1 923 1390 955 2057 +10779 4 2 0 1 2099 2596 1991 2677 +10780 4 2 0 1 1652 2175 1972 2728 +10781 4 2 0 1 1775 2075 1863 2384 +10782 4 2 0 1 1755 1805 2208 2668 +10783 4 2 0 1 2351 2665 1580 2754 +10784 4 2 0 1 1601 2479 2227 2839 +10785 4 2 0 1 1251 2615 2051 2835 +10786 4 2 0 1 308 1896 296 2624 +10787 4 2 0 1 1766 2496 2246 2697 +10788 4 2 0 1 1793 2129 2073 2637 +10789 4 2 0 1 1288 1199 1976 2435 +10790 4 2 0 1 1605 1882 2147 2735 +10791 4 2 0 1 1853 2660 2075 2817 +10792 4 2 0 1 1769 2513 2631 2780 +10793 4 2 0 1 635 2536 1934 2786 +10794 4 2 0 1 1789 2228 2058 2621 +10795 4 2 0 1 2008 2205 1749 2265 +10796 4 2 0 1 1650 2377 2100 2837 +10797 4 2 0 1 625 617 569 1815 +10798 4 2 0 1 597 674 530 1868 +10799 4 2 0 1 2078 2664 1844 2704 +10800 4 2 0 1 1739 2398 1856 2809 +10801 4 2 0 1 1762 2243 2148 2721 +10802 4 2 0 1 1656 2126 2548 2648 +10803 4 2 0 1 1698 2151 2181 2549 +10804 4 2 0 1 1669 1962 2290 2583 +10805 4 2 0 1 1950 2682 1659 2727 +10806 4 2 0 1 1149 1870 1176 2594 +10807 4 2 0 1 2000 2111 1613 2466 +10808 4 2 0 1 1560 2199 1804 2707 +10809 4 2 0 1 1605 2262 2355 2797 +10810 4 2 0 1 1946 1643 2338 2685 +10811 4 2 0 1 1557 1795 2108 2681 +10812 4 2 0 1 918 2514 879 2576 +10813 4 2 0 1 1222 2007 1356 2247 +10814 4 2 0 1 1066 1519 2278 2696 +10815 4 2 0 1 1492 1155 139 2264 +10816 4 2 0 1 2376 2528 1802 2807 +10817 4 2 0 1 535 622 1984 2197 +10818 4 2 0 1 232 2196 405 2328 +10819 4 2 0 1 2127 2155 1687 2327 +10820 4 2 0 1 1624 1797 2137 2301 +10821 4 2 0 1 415 417 2090 2662 +10822 4 2 0 1 1042 1029 2054 2488 +10823 4 2 0 1 2043 2458 1093 2518 +10824 4 2 0 1 212 315 363 2123 +10825 4 2 0 1 796 752 815 2596 +10826 4 2 0 1 1656 2548 2187 2648 +10827 4 2 0 1 1341 1228 1425 1992 +10828 4 2 0 1 1810 2615 2557 2718 +10829 4 2 0 1 1328 1330 1347 2194 +10830 4 2 0 1 1601 2227 1806 2673 +10831 4 2 0 1 1816 2066 1629 2332 +10832 4 2 0 1 844 149 721 2338 +10833 4 2 0 1 1929 2035 1614 2416 +10834 4 2 0 1 772 744 716 2041 +10835 4 2 0 1 607 556 686 2390 +10836 4 2 0 1 1951 2552 2474 2755 +10837 4 2 0 1 926 924 1011 2553 +10838 4 2 0 1 933 1889 984 2365 +10839 4 2 0 1 1059 1023 1054 2140 +10840 4 2 0 1 1851 1619 2237 2431 +10841 4 2 0 1 230 1877 262 2685 +10842 4 2 0 1 1631 2268 1947 2357 +10843 4 2 0 1 497 218 431 2359 +10844 4 2 0 1 1890 1621 2451 2634 +10845 4 2 0 1 1786 2443 1916 2802 +10846 4 2 0 1 1781 2081 2299 2592 +10847 4 2 0 1 537 565 576 1995 +10848 4 2 0 1 1747 2027 2145 2332 +10849 4 2 0 1 1645 2181 2151 2549 +10850 4 2 0 1 1448 1906 2263 2780 +10851 4 2 0 1 1017 1746 2458 2543 +10852 4 2 0 1 1895 2123 1694 2832 +10853 4 2 0 1 1441 1383 1974 2835 +10854 4 2 0 1 1022 1927 1065 2424 +10855 4 2 0 1 1396 1909 2442 2721 +10856 4 2 0 1 1649 2027 2030 2597 +10857 4 2 0 1 2040 2578 1795 2726 +10858 4 2 0 1 1121 1018 1175 2191 +10859 4 2 0 1 299 205 361 2005 +10860 4 2 0 1 2086 2097 1875 2319 +10861 4 2 0 1 916 947 2107 2280 +10862 4 2 0 1 1529 2006 1925 2312 +10863 4 2 0 1 775 788 730 2508 +10864 4 2 0 1 1586 1932 1970 2583 +10865 4 2 0 1 1345 1215 1821 2467 +10866 4 2 0 1 1555 2608 2347 2659 +10867 4 2 0 1 1024 2488 2422 2503 +10868 4 2 0 1 1527 2168 2295 2813 +10869 4 2 0 1 656 2169 2009 2390 +10870 4 2 0 1 2150 2258 1779 2688 +10871 4 2 0 1 1464 1803 2499 2775 +10872 4 2 0 1 1973 2246 596 2367 +10873 4 2 0 1 1757 2426 2403 2628 +10874 4 2 0 1 1330 1347 2194 2655 +10875 4 2 0 1 528 2606 253 2830 +10876 4 2 0 1 1585 2052 2242 2750 +10877 4 2 0 1 1627 1995 1912 2371 +10878 4 2 0 1 1771 1696 2055 2784 +10879 4 2 0 1 1811 2532 2204 2816 +10880 4 2 0 1 1435 1240 2275 2767 +10881 4 2 0 1 1532 1916 2154 2210 +10882 4 2 0 1 1072 1078 1132 1904 +10883 4 2 0 1 1690 2445 2144 2498 +10884 4 2 0 1 1956 2459 1783 2546 +10885 4 2 0 1 597 674 1868 2672 +10886 4 2 0 1 1666 2142 1887 2386 +10887 4 2 0 1 370 297 2030 2744 +10888 4 2 0 1 1327 2104 1954 2579 +10889 4 2 0 1 2173 2478 2128 2818 +10890 4 2 0 1 1926 1678 2102 2302 +10891 4 2 0 1 1934 1630 2192 2786 +10892 4 2 0 1 1581 2378 1822 2717 +10893 4 2 0 1 1260 1520 1204 2177 +10894 4 2 0 1 616 1912 555 2281 +10895 4 2 0 1 786 2403 1849 2628 +10896 4 2 0 1 551 2393 589 2469 +10897 4 2 0 1 1748 2287 2158 2382 +10898 4 2 0 1 1456 2485 2087 2666 +10899 4 2 0 1 299 328 183 2669 +10900 4 2 0 1 1758 2194 1954 2415 +10901 4 2 0 1 314 2397 2211 2815 +10902 4 2 0 1 353 403 2066 2525 +10903 4 2 0 1 1057 2394 1113 2709 +10904 4 2 0 1 152 2115 2109 2523 +10905 4 2 0 1 1177 1305 1442 2016 +10906 4 2 0 1 1671 2651 2116 2798 +10907 4 2 0 1 778 742 748 2690 +10908 4 2 0 1 1200 1207 680 2053 +10909 4 2 0 1 1708 2178 1661 2563 +10910 4 2 0 1 1738 2176 1919 2836 +10911 4 2 0 1 916 2107 875 2280 +10912 4 2 0 1 2246 2496 1618 2697 +10913 4 2 0 1 1407 1410 1396 2442 +10914 4 2 0 1 527 2338 844 2692 +10915 4 2 0 1 390 385 475 2407 +10916 4 2 0 1 1974 2322 1749 2351 +10917 4 2 0 1 1359 1231 1431 2132 +10918 4 2 0 1 1712 2078 1852 2460 +10919 4 2 0 1 1943 2285 1538 2470 +10920 4 2 0 1 1727 2042 2013 2654 +10921 4 2 0 1 1734 2193 2141 2313 +10922 4 2 0 1 1551 2341 1792 2762 +10923 4 2 0 1 932 860 963 1873 +10924 4 2 0 1 1301 2420 2668 2740 +10925 4 2 0 1 1108 2095 1171 2603 +10926 4 2 0 1 1633 2340 2245 2739 +10927 4 2 0 1 1997 2605 1983 2691 +10928 4 2 0 1 267 180 449 2826 +10929 4 2 0 1 1795 2621 2228 2757 +10930 4 2 0 1 1573 2010 2496 2697 +10931 4 2 0 1 1250 1914 1131 2581 +10932 4 2 0 1 1534 2189 1910 2362 +10933 4 2 0 1 1770 2147 2098 2604 +10934 4 2 0 1 2034 2451 1621 2634 +10935 4 2 0 1 1980 2590 2113 2838 +10936 4 2 0 1 1755 2668 2420 2740 +10937 4 2 0 1 774 2529 1810 2690 +10938 4 2 0 1 1655 2433 1950 2450 +10939 4 2 0 1 1742 2026 1968 2500 +10940 4 2 0 1 1636 1824 2381 2704 +10941 4 2 0 1 511 280 505 2692 +10942 4 2 0 1 570 2283 660 2497 +10943 4 2 0 1 1846 2202 1863 2570 +10944 4 2 0 1 489 506 2422 2818 +10945 4 2 0 1 2082 1719 2243 2629 +10946 4 2 0 1 1747 1953 2354 2547 +10947 4 2 0 1 1966 1980 1635 2566 +10948 4 2 0 1 2099 2513 1769 2608 +10949 4 2 0 1 231 468 831 2068 +10950 4 2 0 1 216 424 392 1823 +10951 4 2 0 1 766 1957 703 2403 +10952 4 2 0 1 377 2068 465 2106 +10953 4 2 0 1 1582 1811 2089 2816 +10954 4 2 0 1 339 343 359 1947 +10955 4 2 0 1 722 736 2217 2277 +10956 4 2 0 1 1523 2303 1493 2339 +10957 4 2 0 1 1545 2088 2164 2809 +10958 4 2 0 1 1241 2263 1908 2780 +10959 4 2 0 1 1633 1963 2340 2739 +10960 4 2 0 1 902 896 941 2495 +10961 4 2 0 1 1534 2673 2227 2700 +10962 4 2 0 1 1626 2099 1991 2347 +10963 4 2 0 1 1834 2337 1727 2396 +10964 4 2 0 1 1525 1501 157 843 +10965 4 2 0 1 1637 1821 2371 2467 +10966 4 2 0 1 749 743 777 1993 +10967 4 2 0 1 332 2298 1896 2795 +10968 4 2 0 1 1596 1960 2350 2503 +10969 4 2 0 1 1941 2085 1647 2480 +10970 4 2 0 1 2107 2612 1761 2689 +10971 4 2 0 1 1776 2253 2045 2717 +10972 4 2 0 1 1554 2592 1808 2834 +10973 4 2 0 1 2258 2348 1750 2538 +10974 4 2 0 1 2173 2606 1596 2752 +10975 4 2 0 1 1631 1789 2268 2357 +10976 4 2 0 1 259 2124 1905 2457 +10977 4 2 0 1 1573 1868 2122 2473 +10978 4 2 0 1 2204 2532 1752 2816 +10979 4 2 0 1 1714 2261 2152 2534 +10980 4 2 0 1 494 1915 229 2395 +10981 4 2 0 1 1607 1968 1949 2198 +10982 4 2 0 1 1179 2275 1433 2751 +10983 4 2 0 1 1241 1470 2379 2485 +10984 4 2 0 1 1283 2264 1522 2419 +10985 4 2 0 1 1153 2582 1034 2603 +10986 4 2 0 1 1561 1866 2396 2654 +10987 4 2 0 1 1841 2745 2344 2761 +10988 4 2 0 1 585 558 609 2408 +10989 4 2 0 1 972 2101 2514 2576 +10990 4 2 0 1 1396 1909 1197 2442 +10991 4 2 0 1 842 152 153 2115 +10992 4 2 0 1 1636 1824 2326 2381 +10993 4 2 0 1 1735 2197 1984 2500 +10994 4 2 0 1 1777 1625 2413 2813 +10995 4 2 0 1 1612 2016 1926 2667 +10996 4 2 0 1 984 2129 857 2365 +10997 4 2 0 1 1390 1367 1436 2057 +10998 4 2 0 1 1202 1478 1463 1994 +10999 4 2 0 1 833 714 718 2649 +11000 4 2 0 1 1292 1446 1282 2563 +11001 4 2 0 1 234 2066 175 2404 +11002 4 2 0 1 1678 2102 2001 2703 +11003 4 2 0 1 1741 2700 2800 2839 +11004 4 2 0 1 1599 1911 2048 2486 +11005 4 2 0 1 1427 1241 2358 2485 +11006 4 2 0 1 1744 2402 1971 2411 +11007 4 2 0 1 963 1873 860 2421 +11008 4 2 0 1 1600 1894 2251 2514 +11009 4 2 0 1 1896 2029 1695 2222 +11010 4 2 0 1 1177 1442 1312 1922 +11011 4 2 0 1 1673 2227 1945 2656 +11012 4 2 0 1 1645 1887 2181 2386 +11013 4 2 0 1 1642 2325 1885 2711 +11014 4 2 0 1 1677 2380 1841 2745 +11015 4 2 0 1 1696 2361 1771 2742 +11016 4 2 0 1 196 527 734 2692 +11017 4 2 0 1 2169 2587 1653 2766 +11018 4 2 0 1 1581 2717 1822 2772 +11019 4 2 0 1 774 1810 742 2690 +11020 4 2 0 1 969 2280 1931 2588 +11021 4 2 0 1 969 871 1931 2280 +11022 4 2 0 1 1827 2800 2700 2839 +11023 4 2 0 1 1479 1350 1467 2379 +11024 4 2 0 1 1305 2016 1337 2667 +11025 4 2 0 1 1040 1100 1060 1819 +11026 4 2 0 1 498 294 519 2062 +11027 4 2 0 1 415 2090 1861 2662 +11028 4 2 0 1 1777 2168 1900 2296 +11029 4 2 0 1 1359 1375 1231 2467 +11030 4 2 0 1 1939 1722 2353 2607 +11031 4 2 0 1 826 141 830 2732 +11032 4 2 0 1 225 2317 173 2576 +11033 4 2 0 1 639 2069 1828 2725 +11034 4 2 0 1 1969 2090 1602 2333 +11035 4 2 0 1 1325 1333 2012 2325 +11036 4 2 0 1 1314 1926 1213 2302 +11037 4 2 0 1 1887 2181 1623 2617 +11038 4 2 0 1 1590 1969 1903 2593 +11039 4 2 0 1 1705 2226 1837 2833 +11040 4 2 0 1 1182 1976 1277 2303 +11041 4 2 0 1 468 2144 2068 2404 +11042 4 2 0 1 315 317 220 2156 +11043 4 2 0 1 1399 1992 1362 2337 +11044 4 2 0 1 1476 558 643 1937 +11045 4 2 0 1 639 1828 2069 2812 +11046 4 2 0 1 614 1948 638 2400 +11047 4 2 0 1 391 326 181 2559 +11048 4 2 0 1 1036 2255 1870 2769 +11049 4 2 0 1 1547 1968 2250 2500 +11050 4 2 0 1 1894 2421 977 2695 +11051 4 2 0 1 782 1881 775 2555 +11052 4 2 0 1 1534 2227 1827 2700 +11053 4 2 0 1 1278 2117 1196 2178 +11054 4 2 0 1 765 775 710 2555 +11055 4 2 0 1 1351 1214 2044 2453 +11056 4 2 0 1 1567 2260 1725 2481 +11057 4 2 0 1 926 858 924 2125 +11058 4 2 0 1 476 488 442 1927 +11059 4 2 0 1 1822 1648 2555 2643 +11060 4 2 0 1 1649 2597 1917 2762 +11061 4 2 0 1 352 2268 176 2269 +11062 4 2 0 1 1690 2316 1993 2498 +11063 4 2 0 1 1589 1805 2208 2708 +11064 4 2 0 1 486 2330 279 2694 +11065 4 2 0 1 1602 2090 2185 2333 +11066 4 2 0 1 1914 2474 1576 2640 +11067 4 2 0 1 692 1942 693 2288 +11068 4 2 0 1 1956 2139 1573 2759 +11069 4 2 0 1 1332 1310 1223 2441 +11070 4 2 0 1 263 715 2217 2714 +11071 4 2 0 1 1553 2459 1825 2749 +11072 4 2 0 1 415 443 462 2185 +11073 4 2 0 1 1987 2318 1772 2550 +11074 4 2 0 1 1397 1435 1240 2275 +11075 4 2 0 1 1242 1439 1352 2387 +11076 4 2 0 1 1845 2180 672 2672 +11077 4 2 0 1 1576 2229 2021 2552 +11078 4 2 0 1 1005 944 2287 2382 +11079 4 2 0 1 159 2049 1142 2394 +11080 4 2 0 1 1586 1962 2290 2388 +11081 4 2 0 1 340 1850 235 2605 +11082 4 2 0 1 1527 2651 1818 2798 +11083 4 2 0 1 1621 1785 2203 2634 +11084 4 2 0 1 1560 1804 2199 2257 +11085 4 2 0 1 2195 1840 2303 2586 +11086 4 2 0 1 1726 2360 2212 2638 +11087 4 2 0 1 1422 1419 1438 2551 +11088 4 2 0 1 169 491 307 2691 +11089 4 2 0 1 533 553 2197 2390 +11090 4 2 0 1 1886 1616 2291 2540 +11091 4 2 0 1 1819 2406 2543 2768 +11092 4 2 0 1 1758 2393 1637 2749 +11093 4 2 0 1 408 379 1915 2662 +11094 4 2 0 1 1223 1924 1392 2441 +11095 4 2 0 1 1000 2562 1790 2695 +11096 4 2 0 1 1838 2193 1704 2823 +11097 4 2 0 1 473 424 2225 2516 +11098 4 2 0 1 1004 1832 2280 2588 +11099 4 2 0 1 1575 2119 1975 2570 +11100 4 2 0 1 1562 2286 1770 2595 +11101 4 2 0 1 1821 2467 1215 2475 +11102 4 2 0 1 1789 2621 2058 2748 +11103 4 2 0 1 1569 1851 2237 2633 +11104 4 2 0 1 1503 1810 1263 2722 +11105 4 2 0 1 160 1929 896 2561 +11106 4 2 0 1 1345 1330 1375 2194 +11107 4 2 0 1 1916 2443 1578 2802 +11108 4 2 0 1 1997 2002 1657 2605 +11109 4 2 0 1 885 276 970 1961 +11110 4 2 0 1 1375 2194 1231 2467 +11111 4 2 0 1 1616 1951 2627 2755 +11112 4 2 0 1 1738 2061 1919 2483 +11113 4 2 0 1 930 1011 948 2553 +11114 4 2 0 1 1538 1844 2388 2470 +11115 4 2 0 1 474 253 2606 2694 +11116 4 2 0 1 172 2277 198 2457 +11117 4 2 0 1 1024 1111 2422 2488 +11118 4 2 0 1 217 356 2196 2207 +11119 4 2 0 1 208 447 1879 2574 +11120 4 2 0 1 1554 2385 2152 2616 +11121 4 2 0 1 1578 1955 1884 2345 +11122 4 2 0 1 508 2217 2635 2714 +11123 4 2 0 1 597 1868 633 2256 +11124 4 2 0 1 536 2456 1884 2658 +11125 4 2 0 1 992 1929 161 2035 +11126 4 2 0 1 1556 2016 2664 2765 +11127 4 2 0 1 2419 2435 1735 2686 +11128 4 2 0 1 2172 2537 1664 2700 +11129 4 2 0 1 372 208 447 1879 +11130 4 2 0 1 2074 2332 2145 2772 +11131 4 2 0 1 191 281 793 2498 +11132 4 2 0 1 1668 1831 2472 2618 +11133 4 2 0 1 2504 2583 1669 2796 +11134 4 2 0 1 1527 1818 2295 2798 +11135 4 2 0 1 722 2277 2217 2732 +11136 4 2 0 1 1869 2197 1735 2250 +11137 4 2 0 1 1860 2079 1648 2649 +11138 4 2 0 1 309 2269 2156 2795 +11139 4 2 0 1 1432 2513 1906 2780 +11140 4 2 0 1 656 605 2009 2169 +11141 4 2 0 1 1271 1295 1147 2056 +11142 4 2 0 1 1288 1182 1283 1976 +11143 4 2 0 1 896 992 946 2259 +11144 4 2 0 1 1538 2102 2411 2794 +11145 4 2 0 1 1665 2163 1977 2539 +11146 4 2 0 1 1722 1939 2571 2607 +11147 4 2 0 1 1562 1841 2380 2745 +11148 4 2 0 1 804 753 813 2267 +11149 4 2 0 1 1702 2067 1891 2343 +11150 4 2 0 1 1557 2357 2058 2681 +11151 4 2 0 1 916 914 970 2107 +11152 4 2 0 1 1261 2117 1840 2551 +11153 4 2 0 1 1654 2279 2241 2591 +11154 4 2 0 1 296 1896 332 2222 +11155 4 2 0 1 433 1993 277 2498 +11156 4 2 0 1 675 549 2569 2672 +11157 4 2 0 1 1706 2220 1954 2415 +11158 4 2 0 1 730 2508 788 2732 +11159 4 2 0 1 1600 2023 1895 2832 +11160 4 2 0 1 598 687 1973 2766 +11161 4 2 0 1 485 422 518 2645 +11162 4 2 0 1 1041 2043 1097 2346 +11163 4 2 0 1 1552 2103 1989 2575 +11164 4 2 0 1 219 2030 297 2744 +11165 4 2 0 1 1343 1346 1227 1834 +11166 4 2 0 1 1835 1970 1932 2270 +11167 4 2 0 1 1254 2551 2289 2730 +11168 4 2 0 1 1515 1064 2264 2339 +11169 4 2 0 1 1308 2036 1188 2324 +11170 4 2 0 1 2112 2572 1818 2798 +11171 4 2 0 1 383 297 219 2525 +11172 4 2 0 1 624 573 537 2294 +11173 4 2 0 1 768 824 805 2034 +11174 4 2 0 1 491 1997 291 2298 +11175 4 2 0 1 2175 2595 1815 2728 +11176 4 2 0 1 237 1902 318 2641 +11177 4 2 0 1 1717 2295 1818 2599 +11178 4 2 0 1 1434 1356 1222 2007 +11179 4 2 0 1 834 821 749 2498 +11180 4 2 0 1 584 2530 1809 2658 +11181 4 2 0 1 274 477 276 1961 +11182 4 2 0 1 1197 1840 1277 2442 +11183 4 2 0 1 1737 2023 1895 2679 +11184 4 2 0 1 1452 1803 2462 2720 +11185 4 2 0 1 308 332 1896 2795 +11186 4 2 0 1 1570 2291 1820 2609 +11187 4 2 0 1 1784 2418 2309 2623 +11188 4 2 0 1 1677 2330 2297 2694 +11189 4 2 0 1 1678 2102 2078 2765 +11190 4 2 0 1 2193 2313 1734 2678 +11191 4 2 0 1 983 2162 965 2279 +11192 4 2 0 1 1855 2028 809 2378 +11193 4 2 0 1 1865 2308 1750 2454 +11194 4 2 0 1 845 148 724 2131 +11195 4 2 0 1 1668 2020 1897 2472 +11196 4 2 0 1 751 837 831 2068 +11197 4 2 0 1 1633 2243 1963 2739 +11198 4 2 0 1 500 286 270 1904 +11199 4 2 0 1 2066 2404 1792 2674 +11200 4 2 0 1 1535 2203 1839 2439 +11201 4 2 0 1 1955 2345 2120 2687 +11202 4 2 0 1 1541 1804 2143 2520 +11203 4 2 0 1 1928 2214 1773 2675 +11204 4 2 0 1 447 2446 1879 2574 +11205 4 2 0 1 312 235 456 2002 +11206 4 2 0 1 763 1822 701 2436 +11207 4 2 0 1 1532 2258 2150 2538 +11208 4 2 0 1 1528 2121 2465 2510 +11209 4 2 0 1 1813 1668 2417 2580 +11210 4 2 0 1 2009 2197 553 2390 +11211 4 2 0 1 842 2109 152 2115 +11212 4 2 0 1 2079 2375 1776 2649 +11213 4 2 0 1 866 913 937 2233 +11214 4 2 0 1 1596 2003 1960 2478 +11215 4 2 0 1 169 1997 491 2691 +11216 4 2 0 1 1712 2111 2320 2510 +11217 4 2 0 1 1562 2286 2380 2823 +11218 4 2 0 1 1867 2352 2110 2829 +11219 4 2 0 1 564 1990 2344 2350 +11220 4 2 0 1 1527 1928 2296 2813 +11221 4 2 0 1 735 843 1514 2135 +11222 4 2 0 1 1658 1930 1979 2535 +11223 4 2 0 1 366 452 2159 2323 +11224 4 2 0 1 992 2259 2035 2734 +11225 4 2 0 1 1887 2142 1537 2386 +11226 4 2 0 1 2035 2416 1721 2537 +11227 4 2 0 1 2227 2362 1806 2673 +11228 4 2 0 1 1611 1802 2271 2504 +11229 4 2 0 1 1527 2032 1928 2651 +11230 4 2 0 1 525 514 679 2560 +11231 4 2 0 1 538 605 2009 2408 +11232 4 2 0 1 1789 1978 2556 2613 +11233 4 2 0 1 1671 2252 2047 2313 +11234 4 2 0 1 1054 1066 2278 2696 +11235 4 2 0 1 1612 2018 1926 2320 +11236 4 2 0 1 1682 2364 1900 2593 +11237 4 2 0 1 142 2120 1955 2732 +11238 4 2 0 1 1585 2030 2027 2597 +11239 4 2 0 1 533 2009 553 2390 +11240 4 2 0 1 938 2251 2101 2495 +11241 4 2 0 1 2250 2282 1652 2790 +11242 4 2 0 1 1688 2182 2064 2719 +11243 4 2 0 1 1122 2138 1134 2458 +11244 4 2 0 1 1405 1470 1294 2379 +11245 4 2 0 1 1607 1968 2026 2500 +11246 4 2 0 1 932 887 860 1873 +11247 4 2 0 1 1237 2033 1337 2835 +11248 4 2 0 1 1800 2209 1952 2826 +11249 4 2 0 1 527 495 149 516 +11250 4 2 0 1 1239 1342 1353 2322 +11251 4 2 0 1 464 505 257 2692 +11252 4 2 0 1 530 1973 687 2766 +11253 4 2 0 1 1908 2263 1906 2780 +11254 4 2 0 1 1688 2274 2140 2346 +11255 4 2 0 1 1004 961 962 2588 +11256 4 2 0 1 177 379 420 1965 +11257 4 2 0 1 1338 1420 2018 2667 +11258 4 2 0 1 227 2468 345 2489 +11259 4 2 0 1 1366 2001 1226 2825 +11260 4 2 0 1 494 2262 2355 2395 +11261 4 2 0 1 794 790 754 2171 +11262 4 2 0 1 1616 2244 2187 2540 +11263 4 2 0 1 1710 2232 1883 2710 +11264 4 2 0 1 1572 1857 2310 2515 +11265 4 2 0 1 1452 1415 1464 1803 +11266 4 2 0 1 1686 2336 2092 2448 +11267 4 2 0 1 1616 2552 1951 2755 +11268 4 2 0 1 1316 2094 2420 2740 +11269 4 2 0 1 1585 2447 1880 2597 +11270 4 2 0 1 1535 2363 2203 2439 +11271 4 2 0 1 1675 2065 2266 2471 +11272 4 2 0 1 1562 1815 2595 2728 +11273 4 2 0 1 1397 1240 2148 2275 +11274 4 2 0 1 1783 2538 2258 2546 +11275 4 2 0 1 1256 1453 1516 2146 +11276 4 2 0 1 1581 1822 2378 2772 +11277 4 2 0 1 1583 1964 2025 2622 +11278 4 2 0 1 1879 2446 2088 2676 +11279 4 2 0 1 1660 1975 2039 2544 +11280 4 2 0 1 2303 2586 1787 2716 +11281 4 2 0 1 659 645 1429 2132 +11282 4 2 0 1 1866 1689 2427 2743 +11283 4 2 0 1 1983 2605 1850 2614 +11284 4 2 0 1 1299 1821 1215 2475 +11285 4 2 0 1 1606 2040 2228 2757 +11286 4 2 0 1 1856 2306 1597 2688 +11287 4 2 0 1 1636 2001 1935 2285 +11288 4 2 0 1 1738 2319 2061 2483 +11289 4 2 0 1 1755 2254 2076 2511 +11290 4 2 0 1 796 2596 817 2677 +11291 4 2 0 1 1694 2219 2189 2292 +11292 4 2 0 1 1915 2147 1670 2395 +11293 4 2 0 1 1044 2064 1174 2274 +11294 4 2 0 1 1558 1796 2145 2643 +11295 4 2 0 1 428 1897 184 2297 +11296 4 2 0 1 1345 1821 1299 2655 +11297 4 2 0 1 392 1823 424 2516 +11298 4 2 0 1 1795 2108 2040 2541 +11299 4 2 0 1 1715 2003 1940 2478 +11300 4 2 0 1 625 2344 1815 2350 +11301 4 2 0 1 1562 2314 1841 2728 +11302 4 2 0 1 1281 1493 2303 2339 +11303 4 2 0 1 1134 2138 1124 2518 +11304 4 2 0 1 2110 2352 1867 2431 +11305 4 2 0 1 639 2069 551 2469 +11306 4 2 0 1 1574 2036 2276 2811 +11307 4 2 0 1 1180 1267 2021 2563 +11308 4 2 0 1 570 1912 660 2283 +11309 4 2 0 1 2412 2797 1848 2805 +11310 4 2 0 1 940 2129 888 2461 +11311 4 2 0 1 1409 1457 1253 2751 +11312 4 2 0 1 546 2053 2367 2725 +11313 4 2 0 1 1080 1154 1035 2713 +11314 4 2 0 1 1141 1170 1148 2777 +11315 4 2 0 1 725 1890 691 2451 +11316 4 2 0 1 1703 2466 2000 2487 +11317 4 2 0 1 1040 1100 1819 2406 +11318 4 2 0 1 929 1004 962 1832 +11319 4 2 0 1 346 341 326 1978 +11320 4 2 0 1 1552 2369 2166 2799 +11321 4 2 0 1 1434 2007 1222 2763 +11322 4 2 0 1 1642 2787 1906 2801 +11323 4 2 0 1 1577 1896 2004 2748 +11324 4 2 0 1 411 2317 369 2366 +11325 4 2 0 1 2228 2621 1699 2757 +11326 4 2 0 1 2336 2412 1699 2448 +11327 4 2 0 1 1579 1798 2072 2760 +11328 4 2 0 1 1322 2284 1310 2441 +11329 4 2 0 1 2068 1765 2341 2404 +11330 4 2 0 1 178 2489 1895 2679 +11331 4 2 0 1 1057 1929 160 2394 +11332 4 2 0 1 1534 2362 2227 2673 +11333 4 2 0 1 1623 2223 2022 2730 +11334 4 2 0 1 1354 2077 1355 2507 +11335 4 2 0 1 500 270 170 1904 +11336 4 2 0 1 405 217 356 2196 +11337 4 2 0 1 1566 1911 2105 2261 +11338 4 2 0 1 891 902 2495 2561 +11339 4 2 0 1 1538 2285 2102 2703 +11340 4 2 0 1 1826 2307 1757 2363 +11341 4 2 0 1 1006 918 879 2576 +11342 4 2 0 1 1560 2413 1807 2550 +11343 4 2 0 1 1903 1969 1590 2407 +11344 4 2 0 1 2227 2700 2673 2839 +11345 4 2 0 1 1807 2318 1987 2550 +11346 4 2 0 1 1043 2414 1842 2804 +11347 4 2 0 1 253 1990 275 2830 +11348 4 2 0 1 2149 2163 1665 2611 +11349 4 2 0 1 1806 2227 1673 2362 +11350 4 2 0 1 1827 2537 2172 2700 +11351 4 2 0 1 448 179 2086 2821 +11352 4 2 0 1 1014 2461 884 2589 +11353 4 2 0 1 1704 2122 2314 2723 +11354 4 2 0 1 1583 2054 1904 2202 +11355 4 2 0 1 1680 1948 2433 2706 +11356 4 2 0 1 1674 1881 2705 2773 +11357 4 2 0 1 1559 2423 1851 2490 +11358 4 2 0 1 1622 2041 1908 2736 +11359 4 2 0 1 2145 2502 1822 2772 +11360 4 2 0 1 1160 1161 2384 2769 +11361 4 2 0 1 1446 1180 1282 2563 +11362 4 2 0 1 149 982 150 1946 +11363 4 2 0 1 1971 2511 1755 2781 +11364 4 2 0 1 1457 1824 1380 2381 +11365 4 2 0 1 1428 1924 1311 2484 +11366 4 2 0 1 202 2635 393 2776 +11367 4 2 0 1 1594 2176 2517 2607 +11368 4 2 0 1 906 1484 1485 2184 +11369 4 2 0 1 547 1831 543 2256 +11370 4 2 0 1 2006 1640 2244 2548 +11371 4 2 0 1 2203 2363 1839 2439 +11372 4 2 0 1 2160 2331 1793 2731 +11373 4 2 0 1 1550 2309 2418 2623 +11374 4 2 0 1 2182 2619 1951 2810 +11375 4 2 0 1 1225 1339 1348 2076 +11376 4 2 0 1 1197 1261 1840 2551 +11377 4 2 0 1 2347 2608 1740 2659 +11378 4 2 0 1 351 258 208 2574 +11379 4 2 0 1 1758 1828 2069 2206 +11380 4 2 0 1 681 655 593 2663 +11381 4 2 0 1 443 415 188 2090 +11382 4 2 0 1 775 782 788 1881 +11383 4 2 0 1 2176 2423 1966 2836 +11384 4 2 0 1 1537 2082 2243 2629 +11385 4 2 0 1 1184 1477 1280 2724 +11386 4 2 0 1 1561 2572 2050 2746 +11387 4 2 0 1 901 944 2070 2287 +11388 4 2 0 1 1499 1491 2131 2484 +11389 4 2 0 1 232 440 405 2196 +11390 4 2 0 1 763 765 701 1822 +11391 4 2 0 1 1584 1848 2315 2575 +11392 4 2 0 1 1795 2228 2040 2757 +11393 4 2 0 1 1663 2463 2042 2573 +11394 4 2 0 1 1628 1803 2233 2499 +11395 4 2 0 1 1562 1815 2728 2745 +11396 4 2 0 1 1012 1006 2155 2327 +11397 4 2 0 1 1310 1188 1299 2036 +11398 4 2 0 1 1642 2325 2012 2515 +11399 4 2 0 1 1197 1909 1419 2551 +11400 4 2 0 1 2166 2369 1709 2799 +11401 4 2 0 1 1017 2458 2064 2543 +11402 4 2 0 1 1666 2063 2386 2600 +11403 4 2 0 1 1665 2539 2153 2639 +11404 4 2 0 1 604 2530 554 2536 +11405 4 2 0 1 1578 2450 1950 2802 +11406 4 2 0 1 1282 2229 2581 2582 +11407 4 2 0 1 1822 2717 2145 2772 +11408 4 2 0 1 1611 2504 2143 2796 +11409 4 2 0 1 586 2330 2046 2761 +11410 4 2 0 1 1619 1851 2237 2490 +11411 4 2 0 1 1709 2300 2309 2369 +11412 4 2 0 1 2619 2625 1544 2833 +11413 4 2 0 1 1630 2459 1956 2546 +11414 4 2 0 1 1628 2374 1808 2534 +11415 4 2 0 1 2072 2285 1943 2470 +11416 4 2 0 1 1527 2651 1928 2813 +11417 4 2 0 1 1226 1334 1316 2420 +11418 4 2 0 1 287 276 970 1007 +11419 4 2 0 1 1153 1036 1127 1994 +11420 4 2 0 1 824 2307 2034 2451 +11421 4 2 0 1 1774 2520 2011 2521 +11422 4 2 0 1 1301 2668 1309 2740 +11423 4 2 0 1 2275 2318 1772 2767 +11424 4 2 0 1 1542 2235 2024 2305 +11425 4 2 0 1 533 656 2009 2390 +11426 4 2 0 1 1930 1979 1606 2559 +11427 4 2 0 1 596 530 673 2246 +11428 4 2 0 1 501 508 263 2217 +11429 4 2 0 1 1543 2412 1848 2726 +11430 4 2 0 1 834 277 821 2498 +11431 4 2 0 1 1640 2719 2182 2810 +11432 4 2 0 1 1912 2235 1726 2497 +11433 4 2 0 1 1278 2178 1196 2785 +11434 4 2 0 1 2162 1615 2421 2738 +11435 4 2 0 1 1631 2156 1947 2268 +11436 4 2 0 1 1845 1573 2139 2759 +11437 4 2 0 1 1671 2112 1866 2831 +11438 4 2 0 1 1415 2499 1803 2720 +11439 4 2 0 1 2062 1848 2797 2805 +11440 4 2 0 1 2033 2370 1764 2392 +11441 4 2 0 1 203 288 327 2657 +11442 4 2 0 1 524 516 264 2209 +11443 4 2 0 1 1601 1784 2402 2418 +11444 4 2 0 1 1534 1806 2362 2673 +11445 4 2 0 1 1918 2571 1722 2691 +11446 4 2 0 1 204 373 310 2647 +11447 4 2 0 1 1345 1215 1299 1821 +11448 4 2 0 1 345 1939 212 2489 +11449 4 2 0 1 1238 1444 1389 2008 +11450 4 2 0 1 318 387 412 1902 +11451 4 2 0 1 1636 2072 2247 2747 +11452 4 2 0 1 703 1957 761 2316 +11453 4 2 0 1 2212 2360 1662 2638 +11454 4 2 0 1 1768 2517 2176 2607 +11455 4 2 0 1 683 1973 596 2367 +11456 4 2 0 1 1741 2158 2188 2700 +11457 4 2 0 1 1904 2349 1658 2564 +11458 4 2 0 1 1539 2126 2151 2648 +11459 4 2 0 1 622 558 1984 2408 +11460 4 2 0 1 1863 2075 2025 2817 +11461 4 2 0 1 1280 1476 1207 1937 +11462 4 2 0 1 1741 2511 1971 2781 +11463 4 2 0 1 1357 1382 1474 2137 +11464 4 2 0 1 931 962 857 2129 +11465 4 2 0 1 896 2495 902 2561 +11466 4 2 0 1 1710 2518 2138 2828 +11467 4 2 0 1 1681 2406 1819 2768 +11468 4 2 0 1 807 751 757 2068 +11469 4 2 0 1 866 881 933 1889 +11470 4 2 0 1 685 136 652 2777 +11471 4 2 0 1 1668 2020 2417 2827 +11472 4 2 0 1 221 1947 378 2683 +11473 4 2 0 1 1652 1972 2236 2728 +11474 4 2 0 1 215 378 1847 2366 +11475 4 2 0 1 1422 1438 1236 2551 +11476 4 2 0 1 975 2162 895 2421 +11477 4 2 0 1 1655 2196 1809 2533 +11478 4 2 0 1 812 759 704 2099 +11479 4 2 0 1 147 146 847 2497 +11480 4 2 0 1 1596 2595 2286 2745 +11481 4 2 0 1 1858 1906 2787 2801 +11482 4 2 0 1 1109 1096 2406 2424 +11483 4 2 0 1 1935 2072 1636 2285 +11484 4 2 0 1 1572 2276 1865 2712 +11485 4 2 0 1 1872 2591 911 2715 +11486 4 2 0 1 1253 1401 1178 2201 +11487 4 2 0 1 1134 2458 2138 2518 +11488 4 2 0 1 349 252 418 1930 +11489 4 2 0 1 940 2461 945 2637 +11490 4 2 0 1 1972 2175 1652 2282 +11491 4 2 0 1 221 1947 343 2464 +11492 4 2 0 1 1620 1992 1893 2201 +11493 4 2 0 1 1570 2007 2318 2609 +11494 4 2 0 1 1907 2057 993 2462 +11495 4 2 0 1 1327 1369 2104 2579 +11496 4 2 0 1 896 161 992 1929 +11497 4 2 0 1 1844 2703 2078 2704 +11498 4 2 0 1 2096 2558 1812 2708 +11499 4 2 0 1 1865 2276 1830 2308 +11500 4 2 0 1 1214 1303 1857 2453 +11501 4 2 0 1 1534 1806 2219 2362 +11502 4 2 0 1 1581 2145 2213 2717 +11503 4 2 0 1 1610 2115 2109 2186 +11504 4 2 0 1 467 2144 2404 2445 +11505 4 2 0 1 762 856 2684 2690 +11506 4 2 0 1 942 2514 1894 2542 +11507 4 2 0 1 1664 2537 2035 2734 +11508 4 2 0 1 1546 2061 2650 2771 +11509 4 2 0 1 1951 2182 1544 2619 +11510 4 2 0 1 1750 2454 2050 2572 +11511 4 2 0 1 1874 2230 1540 2524 +11512 4 2 0 1 833 718 689 2649 +11513 4 2 0 1 1740 2432 2347 2659 +11514 4 2 0 1 1638 2310 1857 2515 +11515 4 2 0 1 1646 1976 2195 2434 +11516 4 2 0 1 1363 1364 1369 2342 +11517 4 2 0 1 2014 2329 1693 2598 +11518 4 2 0 1 1195 1808 2299 2374 +11519 4 2 0 1 1671 2116 2112 2798 +11520 4 2 0 1 1706 2324 2013 2746 +11521 4 2 0 1 1654 2254 1872 2383 +11522 4 2 0 1 1855 2436 1629 2772 +11523 4 2 0 1 1600 2251 2101 2514 +11524 4 2 0 1 2316 2702 1690 2816 +11525 4 2 0 1 1858 1743 2729 2787 +11526 4 2 0 1 1666 2505 2063 2600 +11527 4 2 0 1 2074 2145 1581 2772 +11528 4 2 0 1 1825 1637 2393 2749 +11529 4 2 0 1 1717 2413 2214 2813 +11530 4 2 0 1 1615 2162 2636 2738 +11531 4 2 0 1 932 1873 963 2421 +11532 4 2 0 1 482 478 488 1927 +11533 4 2 0 1 351 2333 258 2574 +11534 4 2 0 1 966 942 1894 2542 +11535 4 2 0 1 1061 2522 2339 2804 +11536 4 2 0 1 1506 166 1381 2278 +11537 4 2 0 1 1572 2310 1857 2712 +11538 4 2 0 1 1783 2348 2258 2538 +11539 4 2 0 1 2040 2108 1587 2541 +11540 4 2 0 1 1630 2154 2546 2706 +11541 4 2 0 1 372 335 256 2185 +11542 4 2 0 1 1764 2370 1974 2754 +11543 4 2 0 1 1233 1199 1443 2507 +11544 4 2 0 1 938 912 2101 2514 +11545 4 2 0 1 1421 1410 1248 2091 +11546 4 2 0 1 1585 2027 2447 2597 +11547 4 2 0 1 2128 2173 1596 2478 +11548 4 2 0 1 1550 2449 2113 2568 +11549 4 2 0 1 1549 1901 2195 2600 +11550 4 2 0 1 311 2190 182 2211 +11551 4 2 0 1 1772 2247 2007 2747 +11552 4 2 0 1 1619 2153 1877 2409 +11553 4 2 0 1 1619 2352 2237 2431 +11554 4 2 0 1 763 780 848 2436 +11555 4 2 0 1 1935 2001 1636 2825 +11556 4 2 0 1 2313 2427 1704 2452 +11557 4 2 0 1 904 908 865 2137 +11558 4 2 0 1 409 224 311 2084 +11559 4 2 0 1 1741 1814 2158 2839 +11560 4 2 0 1 1813 1668 2399 2417 +11561 4 2 0 1 1125 1103 1039 2255 +11562 4 2 0 1 1218 1349 2044 2455 +11563 4 2 0 1 1541 2306 2065 2602 +11564 4 2 0 1 758 818 753 2585 +11565 4 2 0 1 1881 1662 2120 2377 +11566 4 2 0 1 239 1977 245 2539 +11567 4 2 0 1 1573 2697 2496 2759 +11568 4 2 0 1 1210 1183 1264 1933 +11569 4 2 0 1 2097 2641 1716 2821 +11570 4 2 0 1 1627 2475 1924 2484 +11571 4 2 0 1 1264 1246 1276 1933 +11572 4 2 0 1 1614 2064 2182 2719 +11573 4 2 0 1 351 2185 443 2333 +11574 4 2 0 1 1543 2336 2025 2792 +11575 4 2 0 1 1930 2559 1913 2713 +11576 4 2 0 1 1697 1969 1903 2657 +11577 4 2 0 1 1367 1436 2057 2462 +11578 4 2 0 1 2143 2504 1791 2796 +11579 4 2 0 1 1119 1083 1077 2056 +11580 4 2 0 1 1152 1094 1106 2060 +11581 4 2 0 1 1852 2078 1962 2460 +11582 4 2 0 1 1319 1188 1329 2324 +11583 4 2 0 1 1664 1873 2221 2738 +11584 4 2 0 1 671 137 685 2777 +11585 4 2 0 1 1640 2006 2335 2681 +11586 4 2 0 1 678 2400 1725 2610 +11587 4 2 0 1 1562 2728 1841 2745 +11588 4 2 0 1 1716 2545 2319 2821 +11589 4 2 0 1 1138 1172 1930 2349 +11590 4 2 0 1 1700 2256 1831 2618 +11591 4 2 0 1 2105 2558 1589 2708 +11592 4 2 0 1 969 1931 925 2588 +11593 4 2 0 1 1632 2117 2273 2785 +11594 4 2 0 1 1539 1883 2126 2648 +11595 4 2 0 1 1566 2261 1817 2778 +11596 4 2 0 1 1913 2559 391 2713 +11597 4 2 0 1 1928 2813 2651 2820 +11598 4 2 0 1 1338 2018 1195 2374 +11599 4 2 0 1 1529 1925 2216 2774 +11600 4 2 0 1 319 307 212 2353 +11601 4 2 0 1 1272 1195 1808 2299 +11602 4 2 0 1 1822 2643 2145 2717 +11603 4 2 0 1 1534 2189 2219 2292 +11604 4 2 0 1 2017 2217 1718 2635 +11605 4 2 0 1 975 963 860 2421 +11606 4 2 0 1 1581 2045 2028 2378 +11607 4 2 0 1 1682 2031 2168 2364 +11608 4 2 0 1 711 2375 695 2649 +11609 4 2 0 1 1545 1856 2401 2809 +11610 4 2 0 1 419 330 168 2200 +11611 4 2 0 1 564 1990 2350 2830 +11612 4 2 0 1 1565 2665 2351 2783 +11613 4 2 0 1 1620 2245 2599 2707 +11614 4 2 0 1 1963 2340 1717 2820 +11615 4 2 0 1 1561 2112 2348 2572 +11616 4 2 0 1 809 763 848 2378 +11617 4 2 0 1 1580 1839 2361 2754 +11618 4 2 0 1 510 514 497 2359 +11619 4 2 0 1 1452 1415 1803 2720 +11620 4 2 0 1 962 961 2248 2588 +11621 4 2 0 1 1824 1772 2326 2751 +11622 4 2 0 1 2111 2466 1966 2566 +11623 4 2 0 1 1209 1296 2001 2302 +11624 4 2 0 1 1965 2752 177 2791 +11625 4 2 0 1 2194 2415 1758 2749 +11626 4 2 0 1 327 2157 289 2741 +11627 4 2 0 1 1580 2361 2051 2754 +11628 4 2 0 1 1872 2254 2076 2383 +11629 4 2 0 1 1990 2128 1596 2350 +11630 4 2 0 1 167 366 452 2159 +11631 4 2 0 1 2349 2564 1172 2565 +11632 4 2 0 1 2062 2797 2412 2805 +11633 4 2 0 1 940 880 931 2073 +11634 4 2 0 1 299 361 328 2669 +11635 4 2 0 1 1581 2213 2014 2717 +11636 4 2 0 1 847 146 2425 2497 +11637 4 2 0 1 1756 2660 2025 2792 +11638 4 2 0 1 304 490 387 1983 +11639 4 2 0 1 1361 1219 2325 2711 +11640 4 2 0 1 532 635 604 2536 +11641 4 2 0 1 1707 2474 1914 2640 +11642 4 2 0 1 2228 2601 1699 2621 +11643 4 2 0 1 1868 1573 2180 2473 +11644 4 2 0 1 1668 1813 2207 2580 +11645 4 2 0 1 1698 2151 2022 2181 +11646 4 2 0 1 1620 2245 1992 2340 +11647 4 2 0 1 1469 1837 2620 2740 +11648 4 2 0 1 1527 2295 2168 2527 +11649 4 2 0 1 1554 2152 2385 2644 +11650 4 2 0 1 1614 2182 2218 2719 +11651 4 2 0 1 207 316 2130 2624 +11652 4 2 0 1 720 743 821 1993 +11653 4 2 0 1 1705 2474 1951 2833 +11654 4 2 0 1 1679 2036 2284 2712 +11655 4 2 0 1 173 2101 271 2576 +11656 4 2 0 1 2189 1631 2362 2680 +11657 4 2 0 1 263 2217 508 2714 +11658 4 2 0 1 1657 2113 2590 2838 +11659 4 2 0 1 1679 1834 2324 2746 +11660 4 2 0 1 1748 2636 2162 2738 +11661 4 2 0 1 1986 2037 1892 2783 +11662 4 2 0 1 1595 2524 2343 2808 +11663 4 2 0 1 1360 1369 1437 2104 +11664 4 2 0 1 1396 1419 1197 1909 +11665 4 2 0 1 1640 1883 2548 2828 +11666 4 2 0 1 1866 2463 2047 2573 +11667 4 2 0 1 311 2084 224 2190 +11668 4 2 0 1 340 1850 2605 2614 +11669 4 2 0 1 1979 2336 1699 2448 +11670 4 2 0 1 1520 2177 1260 2822 +11671 4 2 0 1 1896 2029 2004 2519 +11672 4 2 0 1 1516 1220 1474 2137 +11673 4 2 0 1 2166 2369 1888 2774 +11674 4 2 0 1 850 813 2267 2316 +11675 4 2 0 1 760 1855 811 2585 +11676 4 2 0 1 1111 1050 2422 2626 +11677 4 2 0 1 938 869 912 2514 +11678 4 2 0 1 930 933 974 2365 +11679 4 2 0 1 358 2489 178 2679 +11680 4 2 0 1 2179 2264 1646 2434 +11681 4 2 0 1 1858 2136 1565 2729 +11682 4 2 0 1 1898 2224 1647 2389 +11683 4 2 0 1 2258 2538 1532 2546 +11684 4 2 0 1 1561 2348 2050 2572 +11685 4 2 0 1 1671 1818 2112 2831 +11686 4 2 0 1 1887 2181 1537 2629 +11687 4 2 0 1 1409 2455 1218 2493 +11688 4 2 0 1 641 676 619 2321 +11689 4 2 0 1 2318 2609 2007 2767 +11690 4 2 0 1 878 923 967 2241 +11691 4 2 0 1 1564 2352 1859 2671 +11692 4 2 0 1 484 2211 298 2446 +11693 4 2 0 1 2641 2821 414 2826 +11694 4 2 0 1 1533 1970 1932 2583 +11695 4 2 0 1 1111 1098 1050 2626 +11696 4 2 0 1 400 426 460 1809 +11697 4 2 0 1 663 617 607 2236 +11698 4 2 0 1 1651 2199 1824 2455 +11699 4 2 0 1 1252 2132 1400 2469 +11700 4 2 0 1 1716 1952 2545 2821 +11701 4 2 0 1 762 2684 2034 2690 +11702 4 2 0 1 396 2657 2662 2824 +11703 4 2 0 1 1772 2326 2247 2747 +11704 4 2 0 1 1365 1433 2275 2770 +11705 4 2 0 1 677 540 600 2281 +11706 4 2 0 1 1822 2555 1648 2717 +11707 4 2 0 1 1723 2478 2173 2818 +11708 4 2 0 1 1193 1441 2322 2615 +11709 4 2 0 1 2019 2214 1625 2675 +11710 4 2 0 1 2145 2577 2213 2717 +11711 4 2 0 1 226 186 2127 2327 +11712 4 2 0 1 1322 1333 1303 2284 +11713 4 2 0 1 1590 1835 2270 2364 +11714 4 2 0 1 206 387 318 2669 +11715 4 2 0 1 1628 2299 1808 2374 +11716 4 2 0 1 1343 1319 1329 2324 +11717 4 2 0 1 1872 2254 1654 2591 +11718 4 2 0 1 474 255 492 2297 +11719 4 2 0 1 665 657 1828 2725 +11720 4 2 0 1 1718 2217 2017 2773 +11721 4 2 0 1 560 2169 556 2236 +11722 4 2 0 1 2006 2187 1656 2548 +11723 4 2 0 1 2020 2756 2417 2827 +11724 4 2 0 1 800 758 753 2288 +11725 4 2 0 1 808 2253 689 2555 +11726 4 2 0 1 1055 2119 1019 2570 +11727 4 2 0 1 1515 2264 1523 2339 +11728 4 2 0 1 1991 2265 1626 2347 +11729 4 2 0 1 231 465 377 2068 +11730 4 2 0 1 485 2217 422 2645 +11731 4 2 0 1 1504 1984 1518 2686 +11732 4 2 0 1 1487 1283 1522 2419 +11733 4 2 0 1 1608 2231 1986 2476 +11734 4 2 0 1 2151 2187 1656 2216 +11735 4 2 0 1 1601 2673 2480 2839 +11736 4 2 0 1 1608 2231 1791 2334 +11737 4 2 0 1 2047 2252 1671 2831 +11738 4 2 0 1 1609 2195 1840 2442 +11739 4 2 0 1 1872 2287 1748 2591 +11740 4 2 0 1 1893 1992 1633 2770 +11741 4 2 0 1 880 2073 940 2637 +11742 4 2 0 1 1051 1156 2128 2422 +11743 4 2 0 1 1578 1955 2345 2705 +11744 4 2 0 1 829 691 725 1890 +11745 4 2 0 1 845 1488 1480 148 +11746 4 2 0 1 999 2165 899 2670 +11747 4 2 0 1 993 876 967 2057 +11748 4 2 0 1 1026 2043 1108 2095 +11749 4 2 0 1 1738 1999 2048 2486 +11750 4 2 0 1 1496 1499 1491 2131 +11751 4 2 0 1 1622 1908 2329 2736 +11752 4 2 0 1 332 291 200 2298 +11753 4 2 0 1 1533 1932 2270 2838 +11754 4 2 0 1 555 616 573 1912 +11755 4 2 0 1 1552 2166 2029 2799 +11756 4 2 0 1 1262 1250 1131 2581 +11757 4 2 0 1 1083 1115 1145 1994 +11758 4 2 0 1 1692 1892 2037 2783 +11759 4 2 0 1 1560 1804 2257 2707 +11760 4 2 0 1 1081 2255 1036 2769 +11761 4 2 0 1 1586 1900 2369 2806 +11762 4 2 0 1 1564 2118 2701 2829 +11763 4 2 0 1 1777 2295 2168 2813 +11764 4 2 0 1 1323 1995 1491 2484 +11765 4 2 0 1 1717 2214 1928 2813 +11766 4 2 0 1 1584 2103 2166 2575 +11767 4 2 0 1 1949 2141 1653 2723 +11768 4 2 0 1 1429 1400 1252 2132 +11769 4 2 0 1 977 1894 927 2421 +11770 4 2 0 1 1669 2257 2143 2290 +11771 4 2 0 1 1224 1357 1511 2715 +11772 4 2 0 1 1445 1179 1433 2751 +11773 4 2 0 1 1220 1358 1357 2301 +11774 4 2 0 1 1165 1842 1043 2414 +11775 4 2 0 1 1537 2181 1887 2386 +11776 4 2 0 1 1534 2219 1806 2673 +11777 4 2 0 1 734 527 844 2692 +11778 4 2 0 1 1081 1032 1036 2255 +11779 4 2 0 1 1753 2110 2352 2829 +11780 4 2 0 1 1648 2555 2253 2717 +11781 4 2 0 1 318 1902 2409 2669 +11782 4 2 0 1 224 452 398 2084 +11783 4 2 0 1 1698 2187 2151 2216 +11784 4 2 0 1 440 2533 2328 2819 +11785 4 2 0 1 778 748 851 1933 +11786 4 2 0 1 237 2409 1902 2641 +11787 4 2 0 1 1041 1026 1097 2043 +11788 4 2 0 1 1886 2072 1798 2760 +11789 4 2 0 1 421 2049 362 2464 +11790 4 2 0 1 1162 1085 1150 2191 +11791 4 2 0 1 1592 2122 2059 2827 +11792 4 2 0 1 2151 2187 1698 2648 +11793 4 2 0 1 1878 2142 1666 2440 +11794 4 2 0 1 1639 2220 2654 2743 +11795 4 2 0 1 531 672 594 1845 +11796 4 2 0 1 1138 446 1114 2349 +11797 4 2 0 1 171 464 277 1993 +11798 4 2 0 1 1322 1310 1332 2441 +11799 4 2 0 1 1667 2428 1898 2771 +11800 4 2 0 1 1699 2130 2062 2805 +11801 4 2 0 1 261 441 480 2456 +11802 4 2 0 1 2218 2335 1673 2681 +11803 4 2 0 1 1865 1750 2306 2454 +11804 4 2 0 1 1630 2139 1956 2759 +11805 4 2 0 1 1444 2008 1238 2205 +11806 4 2 0 1 1496 667 1480 2131 +11807 4 2 0 1 373 2005 310 2647 +11808 4 2 0 1 2377 2705 1881 2773 +11809 4 2 0 1 574 1884 536 2456 +11810 4 2 0 1 1738 2061 2486 2650 +11811 4 2 0 1 1741 2158 2700 2839 +11812 4 2 0 1 1854 1743 2598 2729 +11813 4 2 0 1 1610 2385 1839 2439 +11814 4 2 0 1 1297 1312 1349 1922 +11815 4 2 0 1 865 2137 908 2715 +11816 4 2 0 1 606 618 664 2212 +11817 4 2 0 1 1666 2356 1901 2600 +11818 4 2 0 1 1243 1404 1434 2007 +11819 4 2 0 1 305 389 1918 2571 +11820 4 2 0 1 1788 2276 2036 2811 +11821 4 2 0 1 934 960 2259 2734 +11822 4 2 0 1 1853 1575 2646 2660 +11823 4 2 0 1 2029 2166 1709 2799 +11824 4 2 0 1 1182 1248 1277 1976 +11825 4 2 0 1 1996 2539 248 2674 +11826 4 2 0 1 2017 2217 1674 2773 +11827 4 2 0 1 134 663 135 2410 +11828 4 2 0 1 1545 2376 2031 2807 +11829 4 2 0 1 1679 2453 1774 2521 +11830 4 2 0 1 1964 2315 1605 2735 +11831 4 2 0 1 365 350 183 2153 +11832 4 2 0 1 1712 2121 2111 2510 +11833 4 2 0 1 1853 1656 2126 2578 +11834 4 2 0 1 1659 2239 1985 2682 +11835 4 2 0 1 1100 1819 2406 2543 +11836 4 2 0 1 755 709 757 2144 +11837 4 2 0 1 1613 1966 2566 2633 +11838 4 2 0 1 406 320 333 2399 +11839 4 2 0 1 1323 1326 1995 2467 +11840 4 2 0 1 1247 1401 1399 2201 +11841 4 2 0 1 1142 1065 1052 1927 +11842 4 2 0 1 1613 2037 2110 2373 +11843 4 2 0 1 1648 2555 2161 2649 +11844 4 2 0 1 1242 1489 1255 2387 +11845 4 2 0 1 1995 2294 1637 2467 +11846 4 2 0 1 1683 1818 2295 2599 +11847 4 2 0 1 1798 1820 2387 2763 +11848 4 2 0 1 1926 2018 1612 2667 +11849 4 2 0 1 966 927 977 1894 +11850 4 2 0 1 1092 1042 1101 2488 +11851 4 2 0 1 1675 1920 2242 2701 +11852 4 2 0 1 2007 2247 1798 2747 +11853 4 2 0 1 838 1265 1350 2631 +11854 4 2 0 1 1741 2479 2226 2781 +11855 4 2 0 1 499 177 420 1965 +11856 4 2 0 1 1366 2381 2001 2825 +11857 4 2 0 1 287 920 1007 2107 +11858 4 2 0 1 298 322 348 2397 +11859 4 2 0 1 1366 1296 1226 2001 +11860 4 2 0 1 2422 2503 1723 2818 +11861 4 2 0 1 1959 2138 2518 2828 +11862 4 2 0 1 1410 1248 2091 2442 +11863 4 2 0 1 534 564 1990 2344 +11864 4 2 0 1 1110 1914 1097 2696 +11865 4 2 0 1 702 2034 768 2690 +11866 4 2 0 1 1527 2295 1818 2651 +11867 4 2 0 1 2226 2479 1579 2781 +11868 4 2 0 1 1709 2312 1945 2774 +11869 4 2 0 1 467 246 2144 2498 +11870 4 2 0 1 1418 1353 1219 1885 +11871 4 2 0 1 1670 1915 2395 2791 +11872 4 2 0 1 256 335 419 2200 +11873 4 2 0 1 1883 2710 2126 2828 +11874 4 2 0 1 1669 2290 2143 2796 +11875 4 2 0 1 2196 2328 440 2533 +11876 4 2 0 1 1407 1396 1197 2442 +11877 4 2 0 1 1042 1029 1098 2054 +11878 4 2 0 1 1855 2501 811 2585 +11879 4 2 0 1 2034 2529 768 2690 +11880 4 2 0 1 308 201 332 2795 +11881 4 2 0 1 1481 2299 1279 2499 +11882 4 2 0 1 2110 2373 1753 2633 +11883 4 2 0 1 1865 2521 2310 2712 +11884 4 2 0 1 1831 2256 1592 2618 +11885 4 2 0 1 1595 2524 1874 2652 +11886 4 2 0 1 1991 2347 2099 2677 +11887 4 2 0 1 1595 2258 2348 2398 +11888 4 2 0 1 2374 2499 1395 2720 +11889 4 2 0 1 1307 1367 1390 2057 +11890 4 2 0 1 836 819 465 2106 +11891 4 2 0 1 1798 2247 2072 2747 +11892 4 2 0 1 838 746 750 2631 +11893 4 2 0 1 530 598 687 1973 +11894 4 2 0 1 1580 2361 1839 2784 +11895 4 2 0 1 1822 2253 2555 2717 +11896 4 2 0 1 635 604 2536 2786 +11897 4 2 0 1 501 740 736 2217 +11898 4 2 0 1 1579 1943 1971 2479 +11899 4 2 0 1 2146 2301 1797 2625 +11900 4 2 0 1 1788 2284 2276 2712 +11901 4 2 0 1 1059 2140 1021 2346 +11902 4 2 0 1 190 259 254 2124 +11903 4 2 0 1 393 2635 2017 2776 +11904 4 2 0 1 1637 2194 1821 2467 +11905 4 2 0 1 301 291 338 1997 +11906 4 2 0 1 1741 2479 1971 2839 +11907 4 2 0 1 1600 2292 1843 2832 +11908 4 2 0 1 1618 2272 1973 2697 +11909 4 2 0 1 1613 1851 2466 2633 +11910 4 2 0 1 1542 2024 1923 2305 +11911 4 2 0 1 2102 2285 1538 2411 +11912 4 2 0 1 1481 2499 2081 2775 +11913 4 2 0 1 766 703 712 2403 +11914 4 2 0 1 1639 2042 2463 2654 +11915 4 2 0 1 1064 1053 1155 2264 +11916 4 2 0 1 794 851 748 1933 +11917 4 2 0 1 1601 2402 1941 2418 +11918 4 2 0 1 1705 1837 2620 2833 +11919 4 2 0 1 1198 1491 1326 1995 +11920 4 2 0 1 1584 2315 1882 2575 +11921 4 2 0 1 201 2298 332 2795 +11922 4 2 0 1 2160 2731 1559 2758 +11923 4 2 0 1 1549 2195 1840 2617 +11924 4 2 0 1 1074 1096 2405 2642 +11925 4 2 0 1 1795 2040 2228 2541 +11926 4 2 0 1 1825 1637 2281 2393 +11927 4 2 0 1 690 809 2028 2378 +11928 4 2 0 1 1624 2301 1837 2625 +11929 4 2 0 1 1820 1616 2291 2755 +11930 4 2 0 1 295 2446 447 2574 +11931 4 2 0 1 1618 2010 2215 2272 +11932 4 2 0 1 1932 2113 1635 2623 +11933 4 2 0 1 1197 1261 1277 1840 +11934 4 2 0 1 2221 2492 1615 2738 +11935 4 2 0 1 1733 2088 2446 2676 +11936 4 2 0 1 1271 1147 1133 2056 +11937 4 2 0 1 753 818 795 2267 +11938 4 2 0 1 1673 2006 2312 2681 +11939 4 2 0 1 1845 2260 1700 2672 +11940 4 2 0 1 1552 2103 2166 2369 +11941 4 2 0 1 951 2101 2494 2495 +11942 4 2 0 1 1270 1914 1497 2640 +11943 4 2 0 1 1614 2035 2172 2537 +11944 4 2 0 1 966 942 927 1894 +11945 4 2 0 1 1073 1914 2095 2581 +11946 4 2 0 1 1634 1802 2376 2528 +11947 4 2 0 1 1915 2355 494 2824 +11948 4 2 0 1 777 1993 743 2316 +11949 4 2 0 1 1728 2335 1827 2800 +11950 4 2 0 1 1641 2354 1953 2547 +11951 4 2 0 1 798 1942 799 2677 +11952 4 2 0 1 1709 2369 2166 2774 +11953 4 2 0 1 1185 1347 1327 1954 +11954 4 2 0 1 2031 2376 1802 2807 +11955 4 2 0 1 1535 2431 2439 2487 +11956 4 2 0 1 1399 1341 1362 1992 +11957 4 2 0 1 1673 2312 2058 2681 +11958 4 2 0 1 1581 2028 1855 2378 +11959 4 2 0 1 1211 1279 1484 2081 +11960 4 2 0 1 236 2397 2124 2819 +11961 4 2 0 1 1956 2630 1702 2652 +11962 4 2 0 1 881 933 1889 2589 +11963 4 2 0 1 1814 2700 2158 2839 +11964 4 2 0 1 1569 1980 1966 2633 +11965 4 2 0 1 1667 2486 1911 2778 +11966 4 2 0 1 2061 2483 2319 2689 +11967 4 2 0 1 410 177 1965 2752 +11968 4 2 0 1 1481 1279 2081 2499 +11969 4 2 0 1 1592 2618 2122 2827 +11970 4 2 0 1 1534 1814 2221 2673 +11971 4 2 0 1 633 1868 530 2766 +11972 4 2 0 1 987 1498 959 2241 +11973 4 2 0 1 2044 2455 1774 2520 +11974 4 2 0 1 1433 2751 2275 2770 +11975 4 2 0 1 1908 2041 1622 2485 +11976 4 2 0 1 1783 1956 2546 2652 +11977 4 2 0 1 1761 2155 2127 2327 +11978 4 2 0 1 628 1955 142 2687 +11979 4 2 0 1 1136 1142 1052 2394 +11980 4 2 0 1 786 1849 698 2628 +11981 4 2 0 1 1605 1882 2315 2575 +11982 4 2 0 1 1585 1958 2239 2750 +11983 4 2 0 1 916 875 947 2280 +11984 4 2 0 1 751 831 757 2068 +11985 4 2 0 1 666 543 547 1831 +11986 4 2 0 1 1697 2157 2355 2824 +11987 4 2 0 1 1457 2326 1824 2381 +11988 4 2 0 1 1594 1918 2097 2571 +11989 4 2 0 1 1403 1247 1346 2201 +11990 4 2 0 1 1950 1659 2430 2727 +11991 4 2 0 1 1535 2110 1867 2431 +11992 4 2 0 1 1471 1307 1298 2241 +11993 4 2 0 1 585 643 558 1937 +11994 4 2 0 1 597 633 641 2256 +11995 4 2 0 1 1869 2250 1652 2390 +11996 4 2 0 1 1808 1628 2534 2592 +11997 4 2 0 1 2112 2348 1595 2652 +11998 4 2 0 1 1698 2291 2187 2540 +11999 4 2 0 1 349 223 252 2349 +12000 4 2 0 1 159 1142 1136 2394 +12001 4 2 0 1 1676 2237 1902 2669 +12002 4 2 0 1 206 304 1983 2614 +12003 4 2 0 1 833 695 854 2649 +12004 4 2 0 1 553 2009 605 2408 +12005 4 2 0 1 1614 2719 2218 2814 +12006 4 2 0 1 1626 2171 1933 2596 +12007 4 2 0 1 1472 1497 1270 1914 +12008 4 2 0 1 1576 1883 2232 2552 +12009 4 2 0 1 1940 1964 1823 2735 +12010 4 2 0 1 1338 1388 2018 2374 +12011 4 2 0 1 1883 1710 2710 2828 +12012 4 2 0 1 1671 2313 2230 2678 +12013 4 2 0 1 1409 1380 1457 1824 +12014 4 2 0 1 2022 2151 1698 2648 +12015 4 2 0 1 1425 2148 1385 2721 +12016 4 2 0 1 192 223 270 2349 +12017 4 2 0 1 1658 2349 1930 2565 +12018 4 2 0 1 1151 162 161 2035 +12019 4 2 0 1 1590 1850 2159 2528 +12020 4 2 0 1 1573 1899 2139 2630 +12021 4 2 0 1 1745 2179 1869 2777 +12022 4 2 0 1 1859 1665 2153 2639 +12023 4 2 0 1 2598 2729 1743 2787 +12024 4 2 0 1 1329 2284 1303 2453 +12025 4 2 0 1 1863 2384 2075 2817 +12026 4 2 0 1 1913 2405 1130 2713 +12027 4 2 0 1 1813 2196 1655 2328 +12028 4 2 0 1 1668 2207 1813 2399 +12029 4 2 0 1 1582 2089 2149 2426 +12030 4 2 0 1 1955 2120 142 2687 +12031 4 2 0 1 689 2253 823 2649 +12032 4 2 0 1 138 1053 2179 2264 +12033 4 2 0 1 1604 2371 1921 2526 +12034 4 2 0 1 1353 1306 1219 2512 +12035 4 2 0 1 308 332 296 1896 +12036 4 2 0 1 1472 1914 1250 2581 +12037 4 2 0 1 1076 2405 1913 2642 +12038 4 2 0 1 253 2606 1990 2830 +12039 4 2 0 1 2013 2042 1639 2654 +12040 4 2 0 1 589 2132 659 2469 +12041 4 2 0 1 615 2132 589 2393 +12042 4 2 0 1 1009 2562 859 2695 +12043 4 2 0 1 1360 1185 1327 2104 +12044 4 2 0 1 708 704 817 2099 +12045 4 2 0 1 1752 2702 2316 2816 +12046 4 2 0 1 1098 2054 1050 2626 +12047 4 2 0 1 2041 2379 1908 2736 +12048 4 2 0 1 1967 1677 2297 2694 +12049 4 2 0 1 206 304 387 1983 +12050 4 2 0 1 1949 1653 2272 2723 +12051 4 2 0 1 1343 1227 1319 2324 +12052 4 2 0 1 2003 2286 1596 2595 +12053 4 2 0 1 985 923 955 2057 +12054 4 2 0 1 2128 2478 1596 2503 +12055 4 2 0 1 1608 1791 2231 2476 +12056 4 2 0 1 1864 1107 2170 2642 +12057 4 2 0 1 1520 1284 2184 2822 +12058 4 2 0 1 1732 2293 2353 2568 +12059 4 2 0 1 2230 2313 1704 2678 +12060 4 2 0 1 1116 133 1960 2503 +12061 4 2 0 1 1027 1864 1089 2406 +12062 4 2 0 1 1868 2180 1973 2473 +12063 4 2 0 1 1896 2748 2269 2795 +12064 4 2 0 1 2332 2502 2145 2772 +12065 4 2 0 1 912 972 2101 2514 +12066 4 2 0 1 1434 1243 2007 2763 +12067 4 2 0 1 939 2287 883 2715 +12068 4 2 0 1 1643 2209 1946 2793 +12069 4 2 0 1 1977 2163 1690 2445 +12070 4 2 0 1 1592 2059 2314 2380 +12071 4 2 0 1 353 403 234 2066 +12072 4 2 0 1 816 854 695 1860 +12073 4 2 0 1 2187 2291 1616 2540 +12074 4 2 0 1 1537 2214 1963 2739 +12075 4 2 0 1 1515 1064 1155 2264 +12076 4 2 0 1 374 2366 354 2683 +12077 4 2 0 1 1144 1174 1044 2064 +12078 4 2 0 1 2064 2458 1746 2543 +12079 4 2 0 1 1595 2348 2258 2652 +12080 4 2 0 1 1451 1467 2513 2780 +12081 4 2 0 1 134 1152 1960 2410 +12082 4 2 0 1 507 2128 2422 2818 +12083 4 2 0 1 1559 1851 2423 2758 +12084 4 2 0 1 467 2404 453 2445 +12085 4 2 0 1 1325 1361 1219 2325 +12086 4 2 0 1 725 691 825 2451 +12087 4 2 0 1 2095 2229 1661 2582 +12088 4 2 0 1 1963 2142 1537 2243 +12089 4 2 0 1 1132 266 1050 2626 +12090 4 2 0 1 2124 2450 1884 2533 +12091 4 2 0 1 917 911 2241 2591 +12092 4 2 0 1 1699 2336 1979 2757 +12093 4 2 0 1 889 908 1382 2715 +12094 4 2 0 1 1534 2219 2189 2362 +12095 4 2 0 1 762 2034 702 2690 +12096 4 2 0 1 229 2395 1915 2791 +12097 4 2 0 1 759 817 2099 2677 +12098 4 2 0 1 1691 2300 1988 2388 +12099 4 2 0 1 1472 2229 1914 2581 +12100 4 2 0 1 1092 1123 1087 1846 +12101 4 2 0 1 1642 1854 2174 2787 +12102 4 2 0 1 398 205 373 2323 +12103 4 2 0 1 1899 2580 2417 2827 +12104 4 2 0 1 1719 2082 2609 2629 +12105 4 2 0 1 1821 2475 2036 2811 +12106 4 2 0 1 1100 1113 1060 2709 +12107 4 2 0 1 1834 2337 2201 2737 +12108 4 2 0 1 1535 2089 2203 2363 +12109 4 2 0 1 990 871 877 1931 +12110 4 2 0 1 1105 2543 2064 2709 +12111 4 2 0 1 1651 2455 2044 2520 +12112 4 2 0 1 1558 1796 2643 2837 +12113 4 2 0 1 169 338 491 1997 +12114 4 2 0 1 237 318 1902 2409 +12115 4 2 0 1 1718 2106 2436 2502 +12116 4 2 0 1 866 930 948 2233 +12117 4 2 0 1 1219 2325 1885 2512 +12118 4 2 0 1 1551 2532 1953 2547 +12119 4 2 0 1 1646 1901 2195 2716 +12120 4 2 0 1 1042 2054 1098 2488 +12121 4 2 0 1 1770 2286 2003 2595 +12122 4 2 0 1 984 888 857 2129 +12123 4 2 0 1 1075 2581 2095 2582 +12124 4 2 0 1 529 634 646 2169 +12125 4 2 0 1 1577 2312 2058 2748 +12126 4 2 0 1 2054 2488 1723 2626 +12127 4 2 0 1 2119 2384 1711 2769 +12128 4 2 0 1 375 319 345 2468 +12129 4 2 0 1 355 358 178 2679 +12130 4 2 0 1 1370 2475 1323 2484 +12131 4 2 0 1 1750 2348 2258 2398 +12132 4 2 0 1 1939 2134 1594 2607 +12133 4 2 0 1 1153 1127 1145 1994 +12134 4 2 0 1 490 1983 304 2691 +12135 4 2 0 1 1597 2401 1856 2688 +12136 4 2 0 1 1679 2454 2011 2746 +12137 4 2 0 1 1274 1281 2303 2586 +12138 4 2 0 1 770 816 827 2638 +12139 4 2 0 1 346 210 1978 2556 +12140 4 2 0 1 1688 2346 2140 2619 +12141 4 2 0 1 892 1946 982 2477 +12142 4 2 0 1 920 287 479 2803 +12143 4 2 0 1 1674 2277 1955 2732 +12144 4 2 0 1 744 820 716 2379 +12145 4 2 0 1 1148 2522 2733 2777 +12146 4 2 0 1 1282 2563 2229 2582 +12147 4 2 0 1 810 761 1957 2451 +12148 4 2 0 1 1693 2372 2079 2577 +12149 4 2 0 1 2133 2531 1302 2668 +12150 4 2 0 1 1909 2442 1840 2551 +12151 4 2 0 1 1051 1063 1156 2422 +12152 4 2 0 1 874 915 948 2233 +12153 4 2 0 1 499 1965 420 2438 +12154 4 2 0 1 494 229 371 2395 +12155 4 2 0 1 1767 2333 1879 2574 +12156 4 2 0 1 1586 1988 2300 2388 +12157 4 2 0 1 1542 2372 1830 2693 +12158 4 2 0 1 1709 1888 2369 2774 +12159 4 2 0 1 1534 2221 1814 2700 +12160 4 2 0 1 1675 2242 2052 2750 +12161 4 2 0 1 503 905 998 2477 +12162 4 2 0 1 1105 2064 1044 2416 +12163 4 2 0 1 1858 1626 2265 2347 +12164 4 2 0 1 2188 2537 1827 2700 +12165 4 2 0 1 248 2539 1996 2639 +12166 4 2 0 1 1599 2048 1999 2486 +12167 4 2 0 1 228 2457 1905 2645 +12168 4 2 0 1 1757 2363 2089 2426 +12169 4 2 0 1 1341 1362 1992 2337 +12170 4 2 0 1 1128 1159 1173 2140 +12171 4 2 0 1 401 221 343 2464 +12172 4 2 0 1 489 2422 2626 2818 +12173 4 2 0 1 1966 2466 1851 2633 +12174 4 2 0 1 1775 2384 1863 2565 +12175 4 2 0 1 1941 2402 1784 2418 +12176 4 2 0 1 1635 1852 2460 2566 +12177 4 2 0 1 952 901 865 2715 +12178 4 2 0 1 733 2045 823 2253 +12179 4 2 0 1 1808 2299 1628 2592 +12180 4 2 0 1 1696 2177 2361 2742 +12181 4 2 0 1 1932 2309 1835 2449 +12182 4 2 0 1 1242 1352 1489 2094 +12183 4 2 0 1 1779 2808 2164 2809 +12184 4 2 0 1 1258 1391 2326 2825 +12185 4 2 0 1 1015 858 2248 2588 +12186 4 2 0 1 1295 2056 1293 2785 +12187 4 2 0 1 1545 2052 2376 2676 +12188 4 2 0 1 1238 1386 2008 2711 +12189 4 2 0 1 702 768 2529 2690 +12190 4 2 0 1 1610 1839 2363 2439 +12191 4 2 0 1 1677 2745 1841 2761 +12192 4 2 0 1 1761 2612 1875 2689 +12193 4 2 0 1 1857 1679 2284 2712 +12194 4 2 0 1 1544 2625 2226 2833 +12195 4 2 0 1 1151 2035 161 2416 +12196 4 2 0 1 1123 1846 1092 2491 +12197 4 2 0 1 1851 2423 2466 2836 +12198 4 2 0 1 997 906 1485 2184 +12199 4 2 0 1 351 443 188 2333 +12200 4 2 0 1 1707 2146 2625 2833 +12201 4 2 0 1 1612 2016 2370 2429 +12202 4 2 0 1 1675 2271 2065 2401 +12203 4 2 0 1 1584 2216 2019 2549 +12204 4 2 0 1 1648 2253 2649 2717 +12205 4 2 0 1 816 2425 827 2638 +12206 4 2 0 1 1397 1385 1425 2148 +12207 4 2 0 1 215 445 411 2366 +12208 4 2 0 1 1773 2214 1928 2440 +12209 4 2 0 1 1398 1984 1504 2419 +12210 4 2 0 1 320 2020 329 2399 +12211 4 2 0 1 1562 2595 1815 2745 +12212 4 2 0 1 810 766 694 2307 +12213 4 2 0 1 534 572 564 2344 +12214 4 2 0 1 924 989 1016 2125 +12215 4 2 0 1 318 1902 412 2641 +12216 4 2 0 1 1238 2008 1418 2711 +12217 4 2 0 1 1404 2007 1243 2767 +12218 4 2 0 1 634 636 646 2766 +12219 4 2 0 1 1905 2397 394 2815 +12220 4 2 0 1 2226 2625 1837 2833 +12221 4 2 0 1 762 725 824 2451 +12222 4 2 0 1 1845 2180 1573 2759 +12223 4 2 0 1 1110 2346 1914 2696 +12224 4 2 0 1 2002 2407 312 2741 +12225 4 2 0 1 1779 2398 2258 2808 +12226 4 2 0 1 2309 2449 1932 2623 +12227 4 2 0 1 614 638 550 2400 +12228 4 2 0 1 2169 2236 1841 2728 +12229 4 2 0 1 890 951 2101 2494 +12230 4 2 0 1 1343 1346 1834 2737 +12231 4 2 0 1 985 993 967 2057 +12232 4 2 0 1 1615 2421 1894 2695 +12233 4 2 0 1 1693 2174 1854 2598 +12234 4 2 0 1 682 145 146 2497 +12235 4 2 0 1 463 1977 239 2567 +12236 4 2 0 1 1531 1940 2003 2604 +12237 4 2 0 1 1522 1492 139 2264 +12238 4 2 0 1 1600 1843 2292 2492 +12239 4 2 0 1 230 262 511 2685 +12240 4 2 0 1 1614 2416 2035 2537 +12241 4 2 0 1 1640 2335 2218 2681 +12242 4 2 0 1 1591 2134 1939 2607 +12243 4 2 0 1 1443 1199 1509 2435 +12244 4 2 0 1 997 1485 1507 2184 +12245 4 2 0 1 508 2635 336 2714 +12246 4 2 0 1 1336 1362 1192 2337 +12247 4 2 0 1 1535 2203 2089 2304 +12248 4 2 0 1 1016 876 870 1907 +12249 4 2 0 1 891 956 902 2561 +12250 4 2 0 1 241 455 397 2554 +12251 4 2 0 1 2164 2808 1739 2809 +12252 4 2 0 1 1546 2389 2023 2444 +12253 4 2 0 1 1246 1454 1276 2205 +12254 4 2 0 1 1591 2123 1895 2832 +12255 4 2 0 1 1748 2254 1872 2591 +12256 4 2 0 1 140 198 487 2277 +12257 4 2 0 1 368 382 344 2448 +12258 4 2 0 1 1607 1984 2500 2686 +12259 4 2 0 1 2021 1576 2474 2640 +12260 4 2 0 1 1935 2001 1672 2285 +12261 4 2 0 1 1547 2250 1968 2790 +12262 4 2 0 1 1613 2373 2110 2633 +12263 4 2 0 1 667 148 1480 2131 +12264 4 2 0 1 1156 268 131 2128 +12265 4 2 0 1 925 969 871 1931 +12266 4 2 0 1 2152 2592 1889 2644 +12267 4 2 0 1 1562 2141 2314 2728 +12268 4 2 0 1 1638 1885 2234 2325 +12269 4 2 0 1 623 1884 2530 2658 +12270 4 2 0 1 2109 2331 1643 2523 +12271 4 2 0 1 844 2338 721 2692 +12272 4 2 0 1 1789 2601 2228 2621 +12273 4 2 0 1 296 1896 2222 2624 +12274 4 2 0 1 1036 1176 1149 1870 +12275 4 2 0 1 1534 1814 2673 2700 +12276 4 2 0 1 1026 1108 1073 2095 +12277 4 2 0 1 1603 1927 2049 2394 +12278 4 2 0 1 2251 2421 1894 2492 +12279 4 2 0 1 1557 2218 1910 2681 +12280 4 2 0 1 213 222 2020 2438 +12281 4 2 0 1 1601 1941 2402 2480 +12282 4 2 0 1 1863 2564 1658 2565 +12283 4 2 0 1 1682 1969 2437 2807 +12284 4 2 0 1 1567 1891 2433 2706 +12285 4 2 0 1 1883 1539 2232 2648 +12286 4 2 0 1 1743 2136 1858 2729 +12287 4 2 0 1 2128 2350 1990 2830 +12288 4 2 0 1 901 957 893 2137 +12289 4 2 0 1 1850 2323 2159 2528 +12290 4 2 0 1 1209 1379 1372 2493 +12291 4 2 0 1 1674 1881 2508 2732 +12292 4 2 0 1 2019 2216 1698 2549 +12293 4 2 0 1 1885 2325 1219 2711 +12294 4 2 0 1 343 339 176 2268 +12295 4 2 0 1 633 676 641 2321 +12296 4 2 0 1 463 436 239 1977 +12297 4 2 0 1 546 665 2053 2725 +12298 4 2 0 1 1596 2128 1990 2606 +12299 4 2 0 1 474 2297 492 2694 +12300 4 2 0 1 1014 935 884 2461 +12301 4 2 0 1 1498 959 923 1390 +12302 4 2 0 1 1536 2010 2452 2723 +12303 4 2 0 1 145 2425 146 2497 +12304 4 2 0 1 427 375 407 2468 +12305 4 2 0 1 1543 2040 2535 2757 +12306 4 2 0 1 996 502 158 2049 +12307 4 2 0 1 1666 2142 1878 2356 +12308 4 2 0 1 657 651 665 2812 +12309 4 2 0 1 2036 2475 1788 2811 +12310 4 2 0 1 1709 2004 2029 2519 +12311 4 2 0 1 239 436 245 1977 +12312 4 2 0 1 267 449 250 1952 +12313 4 2 0 1 251 2107 477 2612 +12314 4 2 0 1 1636 2381 2703 2704 +12315 4 2 0 1 1347 1340 1327 1954 +12316 4 2 0 1 1693 2213 2014 2598 +12317 4 2 0 1 916 970 1007 2107 +12318 4 2 0 1 616 677 632 2281 +12319 4 2 0 1 2051 2361 1764 2754 +12320 4 2 0 1 1275 2557 1503 2615 +12321 4 2 0 1 1860 2375 2079 2649 +12322 4 2 0 1 1905 2645 2017 2815 +12323 4 2 0 1 1209 1314 1296 2302 +12324 4 2 0 1 1606 1978 1913 2559 +12325 4 2 0 1 172 198 2456 2457 +12326 4 2 0 1 1730 2198 2215 2463 +12327 4 2 0 1 2031 2364 1682 2807 +12328 4 2 0 1 468 2068 425 2404 +12329 4 2 0 1 945 2523 953 2637 +12330 4 2 0 1 1426 1893 2751 2770 +12331 4 2 0 1 1236 2289 1254 2551 +12332 4 2 0 1 455 397 2554 2791 +12333 4 2 0 1 1812 2558 2105 2708 +12334 4 2 0 1 1606 2228 2040 2541 +12335 4 2 0 1 2245 2340 1717 2739 +12336 4 2 0 1 1253 1426 1401 1893 +12337 4 2 0 1 1595 2343 2258 2808 +12338 4 2 0 1 2023 2317 1895 2679 +12339 4 2 0 1 1372 1379 1442 2493 +12340 4 2 0 1 1977 2445 245 2539 +12341 4 2 0 1 962 961 1015 2248 +12342 4 2 0 1 1152 1094 2060 2410 +12343 4 2 0 1 269 422 2217 2277 +12344 4 2 0 1 1862 2331 1643 2426 +12345 4 2 0 1 1686 2412 2336 2448 +12346 4 2 0 1 1536 2010 2427 2452 +12347 4 2 0 1 191 793 2144 2498 +12348 4 2 0 1 1555 2329 2014 2598 +12349 4 2 0 1 751 2068 807 2501 +12350 4 2 0 1 2064 2274 1095 2416 +12351 4 2 0 1 2021 2229 1576 2640 +12352 4 2 0 1 1687 2542 2514 2576 +12353 4 2 0 1 305 389 490 1918 +12354 4 2 0 1 1224 973 889 2715 +12355 4 2 0 1 1104 1842 1165 2733 +12356 4 2 0 1 404 2405 2424 2556 +12357 4 2 0 1 1338 1388 1317 2018 +12358 4 2 0 1 1340 1327 1954 2579 +12359 4 2 0 1 1573 2122 1899 2630 +12360 4 2 0 1 1824 2493 2381 2704 +12361 4 2 0 1 1672 2285 2102 2411 +12362 4 2 0 1 1884 2124 1578 2450 +12363 4 2 0 1 2427 2452 2313 2723 +12364 4 2 0 1 1397 2275 2148 2770 +12365 4 2 0 1 1431 645 561 2132 +12366 4 2 0 1 1632 2273 2056 2785 +12367 4 2 0 1 1810 2529 1580 2718 +12368 4 2 0 1 941 2251 882 2495 +12369 4 2 0 1 1633 2245 1893 2550 +12370 4 2 0 1 1650 2443 2377 2837 +12371 4 2 0 1 1896 2269 308 2795 +12372 4 2 0 1 1578 2345 1884 2450 +12373 4 2 0 1 1592 1841 2314 2321 +12374 4 2 0 1 755 789 793 2144 +12375 4 2 0 1 1111 1098 2054 2488 +12376 4 2 0 1 262 444 466 2685 +12377 4 2 0 1 1645 2386 2181 2549 +12378 4 2 0 1 1618 2010 2272 2697 +12379 4 2 0 1 1278 1196 1287 2785 +12380 4 2 0 1 1705 2627 2226 2833 +12381 4 2 0 1 1857 2284 1679 2453 +12382 4 2 0 1 1854 2729 2598 2787 +12383 4 2 0 1 305 2571 1918 2691 +12384 4 2 0 1 798 693 799 1942 +12385 4 2 0 1 1517 2026 1468 2724 +12386 4 2 0 1 1614 2064 2719 2814 +12387 4 2 0 1 2008 2711 1642 2801 +12388 4 2 0 1 2088 2164 1879 2676 +12389 4 2 0 1 1093 1090 2043 2518 +12390 4 2 0 1 594 1845 672 2672 +12391 4 2 0 1 1449 1935 2247 2825 +12392 4 2 0 1 1140 1128 1173 2274 +12393 4 2 0 1 1829 2268 1789 2357 +12394 4 2 0 1 1527 2116 2651 2798 +12395 4 2 0 1 2480 2673 1814 2839 +12396 4 2 0 1 1224 1511 1473 973 +12397 4 2 0 1 1859 2639 183 2647 +12398 4 2 0 1 1035 2170 1107 2642 +12399 4 2 0 1 1333 1214 1303 1857 +12400 4 2 0 1 1656 2187 2151 2648 +12401 4 2 0 1 992 2035 981 2734 +12402 4 2 0 1 794 1201 790 2171 +12403 4 2 0 1 1328 1231 1330 2194 +12404 4 2 0 1 651 1828 665 2812 +12405 4 2 0 1 2097 2319 2086 2821 +12406 4 2 0 1 930 974 964 2365 +12407 4 2 0 1 1869 2197 2250 2390 +12408 4 2 0 1 621 572 534 2344 +12409 4 2 0 1 1856 2688 2401 2809 +12410 4 2 0 1 1871 2343 2524 2808 +12411 4 2 0 1 698 1849 786 2692 +12412 4 2 0 1 488 478 442 1927 +12413 4 2 0 1 1597 2308 2150 2688 +12414 4 2 0 1 536 1884 623 2658 +12415 4 2 0 1 2065 1856 2271 2602 +12416 4 2 0 1 688 542 2246 2725 +12417 4 2 0 1 912 972 2514 2576 +12418 4 2 0 1 1073 1131 1914 2581 +12419 4 2 0 1 1886 2627 2226 2760 +12420 4 2 0 1 484 311 182 2211 +12421 4 2 0 1 1764 1974 2370 2835 +12422 4 2 0 1 1677 2344 2745 2761 +12423 4 2 0 1 1640 2108 2006 2681 +12424 4 2 0 1 1288 1199 1248 1976 +12425 4 2 0 1 1315 1944 2531 2720 +12426 4 2 0 1 1919 2134 1546 2389 +12427 4 2 0 1 1858 1626 2347 2608 +12428 4 2 0 1 1257 1430 1828 2812 +12429 4 2 0 1 512 489 2225 2626 +12430 4 2 0 1 422 2217 2277 2645 +12431 4 2 0 1 467 2144 468 2404 +12432 4 2 0 1 413 377 465 2106 +12433 4 2 0 1 1634 2323 1850 2528 +12434 4 2 0 1 1739 2311 2168 2527 +12435 4 2 0 1 1688 2043 2346 2810 +12436 4 2 0 1 319 1939 345 2468 +12437 4 2 0 1 690 2045 733 2378 +12438 4 2 0 1 323 344 1979 2448 +12439 4 2 0 1 1631 2156 2269 2795 +12440 4 2 0 1 1648 2161 1860 2649 +12441 4 2 0 1 1538 2285 1943 2411 +12442 4 2 0 1 208 295 447 2574 +12443 4 2 0 1 1095 2064 1044 2274 +12444 4 2 0 1 1630 1845 2139 2759 +12445 4 2 0 1 1579 2072 1886 2760 +12446 4 2 0 1 1629 2436 2106 2502 +12447 4 2 0 1 1774 2199 1804 2520 +12448 4 2 0 1 2121 2510 1712 2794 +12449 4 2 0 1 1830 1597 2308 2506 +12450 4 2 0 1 138 1053 1117 2179 +12451 4 2 0 1 770 714 854 2161 +12452 4 2 0 1 426 1809 247 2658 +12453 4 2 0 1 1243 1236 1378 2289 +12454 4 2 0 1 463 239 230 2567 +12455 4 2 0 1 1180 2021 1482 2229 +12456 4 2 0 1 2423 2758 2466 2836 +12457 4 2 0 1 1048 1017 2064 2543 +12458 4 2 0 1 1954 2104 1639 2579 +12459 4 2 0 1 1529 1945 2312 2774 +12460 4 2 0 1 2120 2377 1662 2705 +12461 4 2 0 1 1567 1948 2260 2706 +12462 4 2 0 1 1027 1089 1864 2642 +12463 4 2 0 1 1166 1172 2349 2564 +12464 4 2 0 1 229 1915 379 2791 +12465 4 2 0 1 1766 2180 1845 2759 +12466 4 2 0 1 1952 2209 1800 2793 +12467 4 2 0 1 731 792 723 2135 +12468 4 2 0 1 452 398 2084 2323 +12469 4 2 0 1 934 960 887 2259 +12470 4 2 0 1 1735 2250 2197 2500 +12471 4 2 0 1 1005 960 944 2382 +12472 4 2 0 1 425 2068 377 2404 +12473 4 2 0 1 1719 2275 2148 2767 +12474 4 2 0 1 1963 1717 2340 2739 +12475 4 2 0 1 1295 1293 1181 2785 +12476 4 2 0 1 547 619 588 2046 +12477 4 2 0 1 1906 1769 2608 2780 +12478 4 2 0 1 1047 1092 1101 2491 +12479 4 2 0 1 1735 2264 2179 2434 +12480 4 2 0 1 1664 2259 1873 2382 +12481 4 2 0 1 400 2196 1809 2661 +12482 4 2 0 1 260 2422 1070 2626 +12483 4 2 0 1 1330 1216 1347 2655 +12484 4 2 0 1 1674 2217 2017 2645 +12485 4 2 0 1 385 456 167 2159 +12486 4 2 0 1 1929 2394 1603 2561 +12487 4 2 0 1 1809 2530 1884 2658 +12488 4 2 0 1 486 189 279 2330 +12489 4 2 0 1 1232 1325 1333 2012 +12490 4 2 0 1 704 759 817 2099 +12491 4 2 0 1 1929 2416 1614 2709 +12492 4 2 0 1 1936 2099 1769 2608 +12493 4 2 0 1 1629 2074 1855 2772 +12494 4 2 0 1 338 2605 1997 2691 +12495 4 2 0 1 706 781 812 1936 +12496 4 2 0 1 1766 1845 2192 2759 +12497 4 2 0 1 1873 2421 2251 2492 +12498 4 2 0 1 1196 2178 2117 2730 +12499 4 2 0 1 2198 2342 1730 2724 +12500 4 2 0 1 2117 2223 1623 2730 +12501 4 2 0 1 1917 1551 2547 2611 +12502 4 2 0 1 1674 1955 2705 2732 +12503 4 2 0 1 1638 1857 2325 2515 +12504 4 2 0 1 2289 2609 1719 2767 +12505 4 2 0 1 1279 2299 2081 2499 +12506 4 2 0 1 1613 2466 2111 2566 +12507 4 2 0 1 1914 1576 2229 2640 +12508 4 2 0 1 633 2321 1868 2766 +12509 4 2 0 1 1884 2533 1809 2658 +12510 4 2 0 1 1536 2272 2010 2723 +12511 4 2 0 1 1418 1238 1389 2008 +12512 4 2 0 1 1854 2234 1998 2729 +12513 4 2 0 1 1122 1124 1134 2138 +12514 4 2 0 1 2086 2319 1875 2689 +12515 4 2 0 1 1745 2410 2060 2733 +12516 4 2 0 1 363 315 354 2123 +12517 4 2 0 1 641 619 547 2256 +12518 4 2 0 1 1262 1472 1250 2581 +12519 4 2 0 1 1543 2025 2075 2660 +12520 4 2 0 1 1714 2320 2105 2534 +12521 4 2 0 1 1595 2398 2348 2572 +12522 4 2 0 1 1213 2302 1926 2788 +12523 4 2 0 1 1546 2134 2023 2389 +12524 4 2 0 1 1699 2412 2336 2757 +12525 4 2 0 1 660 1912 616 2283 +12526 4 2 0 1 352 207 2130 2269 +12527 4 2 0 1 1680 2536 2753 2802 +12528 4 2 0 1 1702 2139 1899 2630 +12529 4 2 0 1 1664 2382 1873 2738 +12530 4 2 0 1 1148 1058 2522 2777 +12531 4 2 0 1 1535 2431 1862 2439 +12532 4 2 0 1 1946 2338 1643 2628 +12533 4 2 0 1 829 803 691 1890 +12534 4 2 0 1 1304 2133 1462 2302 +12535 4 2 0 1 1703 2466 1851 2758 +12536 4 2 0 1 1313 1302 2133 2531 +12537 4 2 0 1 1920 1564 2242 2701 +12538 4 2 0 1 1538 1844 2470 2703 +12539 4 2 0 1 1112 1049 1099 2804 +12540 4 2 0 1 1688 2346 2619 2810 +12541 4 2 0 1 755 2144 793 2498 +12542 4 2 0 1 1386 1191 2263 2711 +12543 4 2 0 1 974 962 964 2365 +12544 4 2 0 1 1034 2582 2095 2603 +12545 4 2 0 1 1565 1998 2234 2729 +12546 4 2 0 1 191 793 789 2144 +12547 4 2 0 1 1617 2175 1972 2282 +12548 4 2 0 1 169 338 1997 2691 +12549 4 2 0 1 1536 2427 2313 2723 +12550 4 2 0 1 1315 1320 1475 1944 +12551 4 2 0 1 1134 1093 2458 2518 +12552 4 2 0 1 604 541 554 2530 +12553 4 2 0 1 1992 2337 1620 2340 +12554 4 2 0 1 1138 1154 1080 1930 +12555 4 2 0 1 1536 2463 1866 2743 +12556 4 2 0 1 1654 2241 1872 2591 +12557 4 2 0 1 1568 2340 1963 2820 +12558 4 2 0 1 1085 1129 2170 2584 +12559 4 2 0 1 1736 2399 2020 2417 +12560 4 2 0 1 1506 1381 1516 2278 +12561 4 2 0 1 1135 1020 1120 2491 +12562 4 2 0 1 1612 2370 2033 2392 +12563 4 2 0 1 175 2066 403 2674 +12564 4 2 0 1 1909 2148 1719 2243 +12565 4 2 0 1 1342 1177 1306 2512 +12566 4 2 0 1 1687 2317 2023 2679 +12567 4 2 0 1 1712 2460 1852 2566 +12568 4 2 0 1 1701 2524 1871 2698 +12569 4 2 0 1 1609 1976 2195 2442 +12570 4 2 0 1 566 139 138 2419 +12571 4 2 0 1 2275 2318 1633 2550 +12572 4 2 0 1 2068 2144 1765 2404 +12573 4 2 0 1 975 860 960 2382 +12574 4 2 0 1 575 582 441 2456 +12575 4 2 0 1 834 195 277 2498 +12576 4 2 0 1 2062 2412 1686 2448 +12577 4 2 0 1 929 931 867 2073 +12578 4 2 0 1 1775 2075 2040 2535 +12579 4 2 0 1 458 1996 248 2674 +12580 4 2 0 1 739 735 1203 2135 +12581 4 2 0 1 1681 2424 2405 2556 +12582 4 2 0 1 243 2606 2173 2752 +12583 4 2 0 1 1959 2043 1688 2810 +12584 4 2 0 1 1105 2064 2416 2709 +12585 4 2 0 1 1311 1428 1223 1924 +12586 4 2 0 1 810 761 766 1957 +12587 4 2 0 1 1595 2112 2116 2798 +12588 4 2 0 1 1633 2550 2318 2739 +12589 4 2 0 1 1607 2500 2026 2686 +12590 4 2 0 1 1285 1293 1295 2056 +12591 4 2 0 1 1046 1131 1250 1914 +12592 4 2 0 1 2022 2223 1708 2730 +12593 4 2 0 1 1529 2006 2312 2656 +12594 4 2 0 1 1733 2446 2574 2676 +12595 4 2 0 1 1822 2436 1855 2772 +12596 4 2 0 1 675 662 549 2672 +12597 4 2 0 1 982 892 976 1946 +12598 4 2 0 1 1615 2636 2224 2738 +12599 4 2 0 1 196 280 527 2692 +12600 4 2 0 1 2065 2271 1856 2401 +12601 4 2 0 1 1821 1627 2475 2811 +12602 4 2 0 1 1337 1305 1177 2016 +12603 4 2 0 1 302 2262 494 2395 +12604 4 2 0 1 1076 1913 1130 2713 +12605 4 2 0 1 739 2135 1203 2722 +12606 4 2 0 1 1879 2574 2446 2676 +12607 4 2 0 1 290 498 293 2262 +12608 4 2 0 1 2014 2213 1743 2598 +12609 4 2 0 1 801 802 797 2028 +12610 4 2 0 1 191 246 281 2498 +12611 4 2 0 1 2042 1663 2342 2463 +12612 4 2 0 1 1333 1377 1214 2325 +12613 4 2 0 1 1798 2247 2007 2763 +12614 4 2 0 1 1172 1037 1154 2565 +12615 4 2 0 1 1529 2312 1925 2774 +12616 4 2 0 1 1366 1393 2381 2825 +12617 4 2 0 1 1038 1102 2202 2564 +12618 4 2 0 1 1772 2318 2275 2550 +12619 4 2 0 1 1849 698 2628 2692 +12620 4 2 0 1 422 2277 518 2645 +12621 4 2 0 1 1709 2369 2309 2799 +12622 4 2 0 1 1786 2753 2536 2802 +12623 4 2 0 1 1696 2184 2177 2742 +12624 4 2 0 1 2213 2577 2014 2717 +12625 4 2 0 1 227 457 407 2468 +12626 4 2 0 1 469 396 417 2662 +12627 4 2 0 1 1618 2246 1973 2367 +12628 4 2 0 1 928 965 983 2162 +12629 4 2 0 1 1605 2147 1915 2395 +12630 4 2 0 1 1630 2192 1845 2759 +12631 4 2 0 1 2400 2610 1809 2661 +12632 4 2 0 1 1107 1164 1089 1864 +12633 4 2 0 1 1023 2346 1110 2696 +12634 4 2 0 1 1740 2347 2099 2608 +12635 4 2 0 1 767 2375 711 2649 +12636 4 2 0 1 138 137 671 2179 +12637 4 2 0 1 1448 1386 1191 2263 +12638 4 2 0 1 1955 2277 1674 2457 +12639 4 2 0 1 2193 1704 2313 2678 +12640 4 2 0 1 319 2468 375 2571 +12641 4 2 0 1 1704 2193 2141 2823 +12642 4 2 0 1 1662 2377 2100 2443 +12643 4 2 0 1 1693 2014 2213 2577 +12644 4 2 0 1 1816 2332 1629 2502 +12645 4 2 0 1 2258 2398 1779 2688 +12646 4 2 0 1 598 596 683 1973 +12647 4 2 0 1 2361 2392 1764 2754 +12648 4 2 0 1 714 2161 718 2555 +12649 4 2 0 1 1517 1184 2342 2724 +12650 4 2 0 1 1640 2006 2244 2335 +12651 4 2 0 1 440 232 439 2819 +12652 4 2 0 1 2036 2454 1679 2746 +12653 4 2 0 1 299 183 310 2647 +12654 4 2 0 1 1862 2331 1559 2793 +12655 4 2 0 1 350 509 239 2153 +12656 4 2 0 1 333 356 2207 2399 +12657 4 2 0 1 1354 1355 1368 2507 +12658 4 2 0 1 1689 2348 2112 2652 +12659 4 2 0 1 2078 2703 1678 2704 +12660 4 2 0 1 2398 2527 1683 2798 +12661 4 2 0 1 1819 2709 2394 2764 +12662 4 2 0 1 2226 2479 1741 2800 +12663 4 2 0 1 2165 2670 1771 2742 +12664 4 2 0 1 1595 2116 2524 2808 +12665 4 2 0 1 614 599 638 1948 +12666 4 2 0 1 1294 2379 1470 2485 +12667 4 2 0 1 920 2107 287 2803 +12668 4 2 0 1 1851 2466 2423 2758 +12669 4 2 0 1 1297 1349 1214 2044 +12670 4 2 0 1 577 1990 564 2830 +12671 4 2 0 1 2232 2552 1883 2648 +12672 4 2 0 1 2162 2279 1751 2636 +12673 4 2 0 1 1837 2740 1755 2781 +12674 4 2 0 1 2160 2385 1610 2731 +12675 4 2 0 1 772 711 700 2375 +12676 4 2 0 1 552 2344 621 2761 +12677 4 2 0 1 1829 2357 1789 2613 +12678 4 2 0 1 420 1861 462 2438 +12679 4 2 0 1 564 2344 625 2350 +12680 4 2 0 1 1562 2175 2141 2728 +12681 4 2 0 1 1967 2606 243 2752 +12682 4 2 0 1 535 558 579 1984 +12683 4 2 0 1 901 944 898 2070 +12684 4 2 0 1 1717 1928 2214 2820 +12685 4 2 0 1 2150 2308 1597 2506 +12686 4 2 0 1 321 2130 316 2601 +12687 4 2 0 1 1225 1358 1331 2076 +12688 4 2 0 1 1410 1412 1230 2091 +12689 4 2 0 1 1370 1215 1323 2475 +12690 4 2 0 1 1914 1576 2095 2229 +12691 4 2 0 1 708 754 2171 2596 +12692 4 2 0 1 917 923 878 2241 +12693 4 2 0 1 846 269 736 2277 +12694 4 2 0 1 1918 1722 2517 2691 +12695 4 2 0 1 1316 1186 2094 2740 +12696 4 2 0 1 1303 2284 1857 2453 +12697 4 2 0 1 1888 2166 2103 2369 +12698 4 2 0 1 912 2514 918 2576 +12699 4 2 0 1 600 655 2192 2663 +12700 4 2 0 1 2452 2473 2122 2723 +12701 4 2 0 1 809 848 811 1855 +12702 4 2 0 1 1308 1188 1319 2324 +12703 4 2 0 1 341 1978 210 2601 +12704 4 2 0 1 452 2084 409 2574 +12705 4 2 0 1 707 751 807 2501 +12706 4 2 0 1 185 642 189 2330 +12707 4 2 0 1 1578 1950 2450 2727 +12708 4 2 0 1 1375 1330 1231 2194 +12709 4 2 0 1 445 215 362 1847 +12710 4 2 0 1 1959 2518 1710 2828 +12711 4 2 0 1 1983 2605 304 2691 +12712 4 2 0 1 2034 2307 1621 2451 +12713 4 2 0 1 1066 1508 1157 2278 +12714 4 2 0 1 1048 2064 1105 2543 +12715 4 2 0 1 1731 2499 2374 2720 +12716 4 2 0 1 215 378 362 1847 +12717 4 2 0 1 376 2539 248 2639 +12718 4 2 0 1 1107 1864 1089 2642 +12719 4 2 0 1 1190 2171 1276 2513 +12720 4 2 0 1 596 688 542 2246 +12721 4 2 0 1 1269 1512 1251 2822 +12722 4 2 0 1 611 2281 555 2294 +12723 4 2 0 1 744 781 746 2379 +12724 4 2 0 1 2021 2387 1705 2755 +12725 4 2 0 1 1863 1575 2570 2817 +12726 4 2 0 1 1868 2256 1592 2321 +12727 4 2 0 1 2063 2386 1645 2549 +12728 4 2 0 1 1844 1636 2470 2703 +12729 4 2 0 1 1209 2381 1379 2493 +12730 4 2 0 1 298 1982 209 2446 +12731 4 2 0 1 1577 2004 2312 2748 +12732 4 2 0 1 1908 1622 2358 2485 +12733 4 2 0 1 1835 1695 2449 2799 +12734 4 2 0 1 1674 2508 1881 2773 +12735 4 2 0 1 1695 1997 2449 2568 +12736 4 2 0 1 1292 2563 1282 2582 +12737 4 2 0 1 934 2259 992 2734 +12738 4 2 0 1 2117 2551 1623 2617 +12739 4 2 0 1 1193 1441 1239 2322 +12740 4 2 0 1 1667 1832 2248 2588 +12741 4 2 0 1 734 844 721 2692 +12742 4 2 0 1 1177 1922 1297 2512 +12743 4 2 0 1 1480 148 1488 2131 +12744 4 2 0 1 1755 2740 2420 2781 +12745 4 2 0 1 1196 1268 2178 2730 +12746 4 2 0 1 1855 2074 1581 2772 +12747 4 2 0 1 494 2262 498 2355 +12748 4 2 0 1 385 456 2159 2407 +12749 4 2 0 1 1818 1683 2295 2798 +12750 4 2 0 1 2168 2296 1777 2813 +12751 4 2 0 1 1527 2295 2527 2798 +12752 4 2 0 1 1903 2157 1697 2657 +12753 4 2 0 1 1640 2218 2108 2681 +12754 4 2 0 1 2101 2251 1600 2495 +12755 4 2 0 1 1926 2102 1678 2765 +12756 4 2 0 1 1756 1964 2315 2792 +12757 4 2 0 1 1196 2178 1287 2785 +12758 4 2 0 1 864 891 902 2495 +12759 4 2 0 1 1527 2296 2168 2813 +12760 4 2 0 1 474 243 1967 2606 +12761 4 2 0 1 1201 1264 1276 2171 +12762 4 2 0 1 327 288 289 2157 +12763 4 2 0 1 378 421 362 2464 +12764 4 2 0 1 1586 1988 2290 2806 +12765 4 2 0 1 803 1890 829 2684 +12766 4 2 0 1 1137 1123 1055 2570 +12767 4 2 0 1 1325 1232 1411 2012 +12768 4 2 0 1 1245 1321 1178 2455 +12769 4 2 0 1 361 2614 206 2669 +12770 4 2 0 1 1688 2043 1959 2458 +12771 4 2 0 1 1779 2398 2808 2809 +12772 4 2 0 1 873 2155 1006 2542 +12773 4 2 0 1 653 144 145 2638 +12774 4 2 0 1 1559 2331 1862 2731 +12775 4 2 0 1 209 348 402 1982 +12776 4 2 0 1 872 878 967 2279 +12777 4 2 0 1 2128 2503 2422 2818 +12778 4 2 0 1 1443 2026 1517 2507 +12779 4 2 0 1 2673 2700 1814 2839 +12780 4 2 0 1 1680 2536 1934 2753 +12781 4 2 0 1 656 646 605 2169 +12782 4 2 0 1 2328 2533 1655 2819 +12783 4 2 0 1 663 652 135 1972 +12784 4 2 0 1 1927 1603 2049 2464 +12785 4 2 0 1 1108 1026 1090 2043 +12786 4 2 0 1 349 323 1979 2559 +12787 4 2 0 1 1536 1866 2427 2743 +12788 4 2 0 1 474 1967 255 2297 +12789 4 2 0 1 739 1203 1524 2722 +12790 4 2 0 1 1141 1094 2410 2733 +12791 4 2 0 1 1679 1865 2454 2712 +12792 4 2 0 1 1482 2021 1255 2640 +12793 4 2 0 1 749 821 743 1993 +12794 4 2 0 1 1674 1905 2457 2645 +12795 4 2 0 1 1759 2266 2065 2471 +12796 4 2 0 1 1258 1391 1445 2326 +12797 4 2 0 1 1054 1023 1066 2696 +12798 4 2 0 1 513 519 2157 2355 +12799 4 2 0 1 978 2327 994 2803 +12800 4 2 0 1 209 298 348 1982 +12801 4 2 0 1 1127 1036 1032 2255 +12802 4 2 0 1 2229 2563 1661 2582 +12803 4 2 0 1 744 700 781 2041 +12804 4 2 0 1 1613 2466 1966 2633 +12805 4 2 0 1 1887 1666 2386 2600 +12806 4 2 0 1 411 434 2101 2494 +12807 4 2 0 1 1807 2318 2550 2739 +12808 4 2 0 1 160 161 896 1929 +12809 4 2 0 1 429 2606 2128 2818 +12810 4 2 0 1 1269 1251 2051 2822 +12811 4 2 0 1 247 426 400 1809 +12812 4 2 0 1 760 809 811 1855 +12813 4 2 0 1 1638 2325 2234 2515 +12814 4 2 0 1 1527 2527 2116 2798 +12815 4 2 0 1 2120 2705 1955 2732 +12816 4 2 0 1 1959 2138 1746 2458 +12817 4 2 0 1 2132 2393 1758 2469 +12818 4 2 0 1 327 312 2407 2741 +12819 4 2 0 1 1406 1392 1924 2358 +12820 4 2 0 1 1175 2138 1086 2518 +12821 4 2 0 1 1688 2619 2182 2810 +12822 4 2 0 1 369 355 178 2679 +12823 4 2 0 1 1752 2532 2702 2816 +12824 4 2 0 1 1186 2620 2094 2740 +12825 4 2 0 1 1912 2235 1627 2371 +12826 4 2 0 1 1027 1864 2406 2642 +12827 4 2 0 1 436 245 1977 2445 +12828 4 2 0 1 207 294 316 2624 +12829 4 2 0 1 1704 2452 2122 2723 +12830 4 2 0 1 1680 2154 2450 2802 +12831 4 2 0 1 1449 1226 1935 2825 +12832 4 2 0 1 2006 2108 1640 2548 +12833 4 2 0 1 1138 1172 1154 1930 +12834 4 2 0 1 1655 2328 2196 2533 +12835 4 2 0 1 2010 2452 2272 2473 +12836 4 2 0 1 1606 1979 2535 2757 +12837 4 2 0 1 1581 2378 1855 2772 +12838 4 2 0 1 2252 2440 1928 2820 +12839 4 2 0 1 2024 2235 1627 2305 +12840 4 2 0 1 302 392 293 2262 +12841 4 2 0 1 1098 1072 1050 2054 +12842 4 2 0 1 1282 2229 1472 2581 +12843 4 2 0 1 2065 2306 1856 2602 +12844 4 2 0 1 1724 1889 2589 2644 +12845 4 2 0 1 901 2137 865 2715 +12846 4 2 0 1 458 1996 2674 2744 +12847 4 2 0 1 653 2212 144 2638 +12848 4 2 0 1 2095 2581 2229 2582 +12849 4 2 0 1 1679 1857 2521 2712 +12850 4 2 0 1 874 2233 948 2553 +12851 4 2 0 1 696 2217 2508 2732 +12852 4 2 0 1 1632 2117 2178 2223 +12853 4 2 0 1 491 291 292 2298 +12854 4 2 0 1 1682 2437 2031 2807 +12855 4 2 0 1 352 308 207 2269 +12856 4 2 0 1 552 612 2344 2761 +12857 4 2 0 1 1668 2481 1899 2580 +12858 4 2 0 1 1536 2215 2010 2272 +12859 4 2 0 1 314 394 2397 2815 +12860 4 2 0 1 2336 2622 2025 2792 +12861 4 2 0 1 1862 2331 1610 2731 +12862 4 2 0 1 1459 1481 2081 2775 +12863 4 2 0 1 1529 2312 1945 2656 +12864 4 2 0 1 802 690 809 2028 +12865 4 2 0 1 926 1015 858 2248 +12866 4 2 0 1 1576 2474 2619 2810 +12867 4 2 0 1 2138 2191 1587 2584 +12868 4 2 0 1 1833 2653 2239 2750 +12869 4 2 0 1 602 598 683 2587 +12870 4 2 0 1 2267 2316 1752 2702 +12871 4 2 0 1 305 1918 490 2691 +12872 4 2 0 1 1735 2500 1984 2686 +12873 4 2 0 1 2348 2398 1750 2572 +12874 4 2 0 1 1082 1137 1019 2570 +12875 4 2 0 1 364 2641 414 2826 +12876 4 2 0 1 584 610 2530 2658 +12877 4 2 0 1 1616 1883 2552 2648 +12878 4 2 0 1 1630 2210 2154 2753 +12879 4 2 0 1 2107 2612 251 2803 +12880 4 2 0 1 1835 2449 2309 2799 +12881 4 2 0 1 1642 2234 1854 2787 +12882 4 2 0 1 2175 2282 1836 2790 +12883 4 2 0 1 315 212 313 2353 +12884 4 2 0 1 1818 1671 2651 2831 +12885 4 2 0 1 1135 1088 1055 1975 +12886 4 2 0 1 2247 2326 1391 2825 +12887 4 2 0 1 454 436 433 2445 +12888 4 2 0 1 2163 1690 2702 2816 +12889 4 2 0 1 1368 1443 1517 2507 +12890 4 2 0 1 1017 1122 1134 2458 +12891 4 2 0 1 747 745 2106 2436 +12892 4 2 0 1 306 324 204 2190 +12893 4 2 0 1 290 2062 498 2262 +12894 4 2 0 1 1535 2304 1892 2665 +12895 4 2 0 1 1038 2202 1126 2564 +12896 4 2 0 1 1581 2045 2378 2717 +12897 4 2 0 1 1680 2154 2433 2450 +12898 4 2 0 1 1048 1044 1105 2064 +12899 4 2 0 1 1260 2177 1512 2822 +12900 4 2 0 1 1890 2204 1621 2634 +12901 4 2 0 1 1315 2531 1376 2720 +12902 4 2 0 1 1315 1320 1944 2720 +12903 4 2 0 1 1145 1139 1153 1994 +12904 4 2 0 1 587 643 585 1937 +12905 4 2 0 1 1664 2221 2700 2738 +12906 4 2 0 1 411 2101 173 2317 +12907 4 2 0 1 1623 2181 1887 2629 +12908 4 2 0 1 1012 877 994 2155 +12909 4 2 0 1 1683 2306 1856 2398 +12910 4 2 0 1 1744 2402 1941 2480 +12911 4 2 0 1 657 665 1828 2812 +12912 4 2 0 1 1920 1634 2242 2699 +12913 4 2 0 1 1903 2157 2741 2779 +12914 4 2 0 1 1457 1824 2326 2751 +12915 4 2 0 1 1875 1594 2097 2468 +12916 4 2 0 1 1890 2634 2034 2684 +12917 4 2 0 1 1653 2272 1973 2587 +12918 4 2 0 1 1224 1382 1357 2715 +12919 4 2 0 1 1744 2411 2208 2794 +12920 4 2 0 1 482 158 502 2049 +12921 4 2 0 1 1712 2102 2460 2794 +12922 4 2 0 1 1548 2224 2096 2636 +12923 4 2 0 1 191 2144 246 2498 +12924 4 2 0 1 990 925 871 1931 +12925 4 2 0 1 425 234 175 2404 +12926 4 2 0 1 628 568 2345 2687 +12927 4 2 0 1 1183 1246 1933 2557 +12928 4 2 0 1 696 722 736 2217 +12929 4 2 0 1 1605 2575 2315 2797 +12930 4 2 0 1 1789 1978 2228 2601 +12931 4 2 0 1 483 448 265 2086 +12932 4 2 0 1 597 530 633 1868 +12933 4 2 0 1 2006 1673 2335 2681 +12934 4 2 0 1 1667 2428 1911 2650 +12935 4 2 0 1 1699 2412 2062 2448 +12936 4 2 0 1 1700 2481 1899 2618 +12937 4 2 0 1 1742 2026 2500 2686 +12938 4 2 0 1 900 953 892 2637 +12939 4 2 0 1 1176 1030 1084 2603 +12940 4 2 0 1 1257 1414 1200 2053 +12941 4 2 0 1 1941 2418 1784 2623 +12942 4 2 0 1 772 785 711 2375 +12943 4 2 0 1 1059 1110 1023 2346 +12944 4 2 0 1 1611 2271 1856 2602 +12945 4 2 0 1 615 583 2132 2393 +12946 4 2 0 1 1967 474 2606 2694 +12947 4 2 0 1 1903 2002 1695 2741 +12948 4 2 0 1 1716 2641 2490 2826 +12949 4 2 0 1 1928 2252 1598 2440 +12950 4 2 0 1 1704 2122 2059 2314 +12951 4 2 0 1 592 650 666 2359 +12952 4 2 0 1 810 2307 694 2451 +12953 4 2 0 1 1161 2191 1162 2384 +12954 4 2 0 1 331 2647 1996 2744 +12955 4 2 0 1 1613 1966 2466 2566 +12956 4 2 0 1 2122 2618 1899 2827 +12957 4 2 0 1 2317 2514 2101 2576 +12958 4 2 0 1 544 2069 593 2663 +12959 4 2 0 1 319 1939 2468 2571 +12960 4 2 0 1 173 972 271 2101 +12961 4 2 0 1 1175 1124 2138 2518 +12962 4 2 0 1 249 414 2821 2826 +12963 4 2 0 1 768 702 762 2034 +12964 4 2 0 1 1639 2042 2013 2579 +12965 4 2 0 1 1064 1025 1053 2339 +12966 4 2 0 1 1229 1413 1337 2667 +12967 4 2 0 1 993 2057 985 2462 +12968 4 2 0 1 2264 2434 1735 2435 +12969 4 2 0 1 1617 2282 1972 2410 +12970 4 2 0 1 1558 1881 2377 2643 +12971 4 2 0 1 2111 2121 1528 2510 +12972 4 2 0 1 1120 2491 2060 2733 +12973 4 2 0 1 213 395 222 2438 +12974 4 2 0 1 1432 1451 2513 2780 +12975 4 2 0 1 1577 2621 2130 2748 +12976 4 2 0 1 1253 1426 1893 2751 +12977 4 2 0 1 1075 2095 1034 2582 +12978 4 2 0 1 2113 2449 1550 2623 +12979 4 2 0 1 1148 1170 1058 2777 +12980 4 2 0 1 1523 1182 1493 2303 +12981 4 2 0 1 1729 2209 1946 2477 +12982 4 2 0 1 1664 2382 2070 2734 +12983 4 2 0 1 1015 961 858 2588 +12984 4 2 0 1 345 212 363 2489 +12985 4 2 0 1 1739 2808 2398 2809 +12986 4 2 0 1 1781 2299 2177 2592 +12987 4 2 0 1 1522 2264 139 2419 +12988 4 2 0 1 2125 2428 1566 2778 +12989 4 2 0 1 425 468 377 2068 +12990 4 2 0 1 1722 2353 2293 2568 +12991 4 2 0 1 1208 1394 1168 2582 +12992 4 2 0 1 1779 2688 2398 2809 +12993 4 2 0 1 999 899 894 2670 +12994 4 2 0 1 886 863 950 2081 +12995 4 2 0 1 1076 1130 1913 2405 +12996 4 2 0 1 134 133 569 1960 +12997 4 2 0 1 1960 1596 2478 2503 +12998 4 2 0 1 408 1915 494 2824 +12999 4 2 0 1 2086 1875 2612 2689 +13000 4 2 0 1 1099 2414 1043 2804 +13001 4 2 0 1 2449 2519 2309 2799 +13002 4 2 0 1 1659 1833 2653 2682 +13003 4 2 0 1 2010 1536 2427 2743 +13004 4 2 0 1 318 2409 365 2669 +13005 4 2 0 1 1883 2548 2126 2648 +13006 4 2 0 1 1229 1337 1237 2033 +13007 4 2 0 1 553 2197 2009 2408 +13008 4 2 0 1 1646 2339 2522 2804 +13009 4 2 0 1 1947 2156 1694 2683 +13010 4 2 0 1 1899 2481 1668 2618 +13011 4 2 0 1 1600 2251 1894 2492 +13012 4 2 0 1 2180 1973 2473 2697 +13013 4 2 0 1 1410 2091 1230 2721 +13014 4 2 0 1 390 188 2090 2333 +13015 4 2 0 1 2222 2741 2157 2779 +13016 4 2 0 1 2315 1848 2792 2797 +13017 4 2 0 1 248 1996 384 2639 +13018 4 2 0 1 1843 2292 2219 2832 +13019 4 2 0 1 1862 1610 2439 2731 +13020 4 2 0 1 1460 1518 1504 1984 +13021 4 2 0 1 2095 2582 1661 2603 +13022 4 2 0 1 1681 1864 2642 2768 +13023 4 2 0 1 360 411 369 2366 +13024 4 2 0 1 159 956 2049 2561 +13025 4 2 0 1 1693 2329 2174 2598 +13026 4 2 0 1 2145 2643 2577 2717 +13027 4 2 0 1 545 675 549 2569 +13028 4 2 0 1 1690 2316 2267 2702 +13029 4 2 0 1 492 2297 184 2694 +13030 4 2 0 1 941 946 887 2259 +13031 4 2 0 1 958 278 197 2576 +13032 4 2 0 1 2303 2339 1646 2716 +13033 4 2 0 1 782 718 2161 2555 +13034 4 2 0 1 938 882 2251 2495 +13035 4 2 0 1 1469 2146 1483 2620 +13036 4 2 0 1 1403 2201 1346 2737 +13037 4 2 0 1 1714 2105 2320 2510 +13038 4 2 0 1 1643 2331 1862 2793 +13039 4 2 0 1 1461 1395 2374 2499 +13040 4 2 0 1 1801 2647 1996 2671 +13041 4 2 0 1 1745 1869 2282 2777 +13042 4 2 0 1 1667 1911 2486 2650 +13043 4 2 0 1 283 1167 432 2713 +13044 4 2 0 1 890 972 173 2101 +13045 4 2 0 1 284 2338 511 2685 +13046 4 2 0 1 1829 2556 1681 2613 +13047 4 2 0 1 1044 2064 1095 2416 +13048 4 2 0 1 1881 2377 2120 2705 +13049 4 2 0 1 1169 1160 1019 2119 +13050 4 2 0 1 298 484 322 2211 +13051 4 2 0 1 2239 2653 1585 2750 +13052 4 2 0 1 1504 2419 1984 2686 +13053 4 2 0 1 2177 2299 1808 2592 +13054 4 2 0 1 323 199 344 2448 +13055 4 2 0 1 402 2328 1982 2819 +13056 4 2 0 1 1418 1885 1219 2711 +13057 4 2 0 1 265 251 477 2612 +13058 4 2 0 1 406 333 218 2472 +13059 4 2 0 1 596 2246 542 2367 +13060 4 2 0 1 427 2097 211 2571 +13061 4 2 0 1 1840 2551 2117 2617 +13062 4 2 0 1 2220 2743 1639 2782 +13063 4 2 0 1 1604 2235 1912 2371 +13064 4 2 0 1 623 2530 610 2658 +13065 4 2 0 1 258 452 409 2574 +13066 4 2 0 1 375 427 211 2571 +13067 4 2 0 1 234 403 175 2066 +13068 4 2 0 1 894 2184 157 2670 +13069 4 2 0 1 319 212 345 1939 +13070 4 2 0 1 1588 2200 1879 2632 +13071 4 2 0 1 1667 1898 2428 2650 +13072 4 2 0 1 1073 2095 1075 2581 +13073 4 2 0 1 917 2241 878 2591 +13074 4 2 0 1 1694 2156 2123 2683 +13075 4 2 0 1 2272 2473 2452 2723 +13076 4 2 0 1 856 762 702 2690 +13077 4 2 0 1 552 603 612 2761 +13078 4 2 0 1 2010 2743 1689 2782 +13079 4 2 0 1 1679 1857 2453 2521 +13080 4 2 0 1 1179 1365 1433 2275 +13081 4 2 0 1 345 2468 1939 2489 +13082 4 2 0 1 885 914 936 1961 +13083 4 2 0 1 1646 2195 1976 2303 +13084 4 2 0 1 1769 2379 1908 2780 +13085 4 2 0 1 1732 2156 2680 2795 +13086 4 2 0 1 348 402 1982 2819 +13087 4 2 0 1 2182 2719 1688 2810 +13088 4 2 0 1 1695 2222 2029 2779 +13089 4 2 0 1 2239 2653 1833 2682 +13090 4 2 0 1 1909 2243 1719 2629 +13091 4 2 0 1 2171 2513 1190 2631 +13092 4 2 0 1 2313 2452 1704 2723 +13093 4 2 0 1 1183 1246 1264 1933 +13094 4 2 0 1 1537 2181 2082 2629 +13095 4 2 0 1 1750 2306 2398 2688 +13096 4 2 0 1 274 276 521 1961 +13097 4 2 0 1 2385 2439 1610 2731 +13098 4 2 0 1 485 508 422 2217 +13099 4 2 0 1 1546 2134 1919 2483 +13100 4 2 0 1 1427 1241 1234 2358 +13101 4 2 0 1 1767 2376 2084 2676 +13102 4 2 0 1 1970 2270 1835 2364 +13103 4 2 0 1 1695 2779 2029 2799 +13104 4 2 0 1 449 250 1952 2821 +13105 4 2 0 1 1254 2117 2551 2730 +13106 4 2 0 1 917 943 911 2591 +13107 4 2 0 1 2111 2121 1712 2566 +13108 4 2 0 1 2272 2452 2010 2723 +13109 4 2 0 1 836 231 837 465 +13110 4 2 0 1 1213 1926 2667 2788 +13111 4 2 0 1 1502 1068 1064 2339 +13112 4 2 0 1 226 278 186 2327 +13113 4 2 0 1 2010 1618 2215 2782 +13114 4 2 0 1 2094 2387 1798 2760 +13115 4 2 0 1 614 590 584 2400 +13116 4 2 0 1 1689 2010 2427 2743 +13117 4 2 0 1 2177 2184 1781 2742 +13118 4 2 0 1 737 697 738 2666 +13119 4 2 0 1 1338 1195 1388 2374 +13120 4 2 0 1 582 470 480 2658 +13121 4 2 0 1 1814 2700 2221 2738 +13122 4 2 0 1 1549 2600 1887 2617 +13123 4 2 0 1 1237 1337 1383 2835 +13124 4 2 0 1 2059 2380 1644 2823 +13125 4 2 0 1 467 468 425 2404 +13126 4 2 0 1 598 1973 2587 2766 +13127 4 2 0 1 458 331 248 1996 +13128 4 2 0 1 1973 2272 1799 2587 +13129 4 2 0 1 1683 1856 2306 2602 +13130 4 2 0 1 1718 2635 2217 2714 +13131 4 2 0 1 861 2165 968 2589 +13132 4 2 0 1 894 906 997 2184 +13133 4 2 0 1 1650 1985 2239 2682 +13134 4 2 0 1 1536 2215 2198 2463 +13135 4 2 0 1 1809 2196 400 2533 +13136 4 2 0 1 703 777 743 2316 +13137 4 2 0 1 1045 2405 1096 2424 +13138 4 2 0 1 1463 1994 1181 2785 +13139 4 2 0 1 1853 2083 2578 2660 +13140 4 2 0 1 570 616 660 1912 +13141 4 2 0 1 2106 2436 745 2714 +13142 4 2 0 1 367 211 427 2097 +13143 4 2 0 1 696 722 2217 2732 +13144 4 2 0 1 425 377 234 2404 +13145 4 2 0 1 1459 2081 886 2775 +13146 4 2 0 1 304 2605 338 2691 +13147 4 2 0 1 1549 2195 1901 2716 +13148 4 2 0 1 489 194 506 2818 +13149 4 2 0 1 1612 2000 2392 2834 +13150 4 2 0 1 2154 2210 1916 2753 +13151 4 2 0 1 2247 2326 1636 2747 +13152 4 2 0 1 2044 2520 1774 2521 +13153 4 2 0 1 1754 1847 2495 2561 +13154 4 2 0 1 850 777 813 2316 +13155 4 2 0 1 1323 1326 1491 1995 +13156 4 2 0 1 2101 2317 1600 2514 +13157 4 2 0 1 143 841 144 2212 +13158 4 2 0 1 269 422 501 2217 +13159 4 2 0 1 1974 2370 1692 2754 +13160 4 2 0 1 1483 1469 1453 2146 +13161 4 2 0 1 226 472 430 2127 +13162 4 2 0 1 2168 2311 1527 2527 +13163 4 2 0 1 2295 2599 1717 2707 +13164 4 2 0 1 2141 2314 1653 2723 +13165 4 2 0 1 607 640 652 2390 +13166 4 2 0 1 1515 1502 1064 2339 +13167 4 2 0 1 1774 2455 2199 2520 +13168 4 2 0 1 2066 1629 2332 2341 +13169 4 2 0 1 1664 2700 2158 2738 +13170 4 2 0 1 1428 1406 1392 1924 +13171 4 2 0 1 1048 2064 1017 2458 +13172 4 2 0 1 1814 2158 2700 2738 +13173 4 2 0 1 2315 2575 1848 2797 +13174 4 2 0 1 1619 2237 1902 2490 +13175 4 2 0 1 1313 2133 1302 2668 +13176 4 2 0 1 1308 1299 1188 2036 +13177 4 2 0 1 1249 2485 1456 2666 +13178 4 2 0 1 171 277 433 1993 +13179 4 2 0 1 1070 2422 1050 2626 +13180 4 2 0 1 615 2393 551 2663 +13181 4 2 0 1 1698 2216 2151 2549 +13182 4 2 0 1 1875 2097 1594 2319 +13183 4 2 0 1 765 808 689 2555 +13184 4 2 0 1 1873 1615 2421 2492 +13185 4 2 0 1 1796 2213 2145 2577 +13186 4 2 0 1 629 147 2131 2497 +13187 4 2 0 1 1695 2298 1997 2568 +13188 4 2 0 1 1692 2370 1974 2783 +13189 4 2 0 1 1324 1319 1227 2324 +13190 4 2 0 1 1120 1047 2060 2491 +13191 4 2 0 1 592 679 514 2560 +13192 4 2 0 1 1871 2632 2164 2698 +13193 4 2 0 1 1703 2439 2385 2731 +13194 4 2 0 1 1779 2258 2343 2808 +13195 4 2 0 1 1703 2160 2048 2758 +13196 4 2 0 1 1051 2422 2128 2503 +13197 4 2 0 1 247 1809 2533 2658 +13198 4 2 0 1 1807 2413 2214 2739 +13199 4 2 0 1 1500 1261 1206 2586 +13200 4 2 0 1 1749 2322 1974 2615 +13201 4 2 0 1 382 170 223 2092 +13202 4 2 0 1 766 761 703 1957 +13203 4 2 0 1 2052 2653 1833 2750 +13204 4 2 0 1 1951 1576 2474 2552 +13205 4 2 0 1 1536 2452 2427 2723 +13206 4 2 0 1 191 789 468 2144 +13207 4 2 0 1 944 988 2070 2734 +13208 4 2 0 1 1764 2370 2033 2835 +13209 4 2 0 1 247 1809 400 2533 +13210 4 2 0 1 1302 2383 1339 2668 +13211 4 2 0 1 1792 2539 1996 2674 +13212 4 2 0 1 474 1967 2297 2694 +13213 4 2 0 1 538 553 605 2408 +13214 4 2 0 1 299 310 373 2005 +13215 4 2 0 1 1057 160 1113 2394 +13216 4 2 0 1 1481 1279 1459 2081 +13217 4 2 0 1 1909 2148 2243 2721 +13218 4 2 0 1 268 131 2128 2830 +13219 4 2 0 1 2175 1652 2282 2790 +13220 4 2 0 1 1827 2700 2227 2839 +13221 4 2 0 1 159 158 1142 2049 +13222 4 2 0 1 1539 2151 2022 2648 +13223 4 2 0 1 2394 2709 1929 2764 +13224 4 2 0 1 873 1003 877 2155 +13225 4 2 0 1 1896 2298 1732 2795 +13226 4 2 0 1 1051 132 1116 2503 +13227 4 2 0 1 1543 2535 2336 2757 +13228 4 2 0 1 570 629 573 2497 +13229 4 2 0 1 1671 2252 2313 2678 +13230 4 2 0 1 1123 1135 1055 1975 +13231 4 2 0 1 1732 2353 2298 2568 +13232 4 2 0 1 1636 2381 2001 2703 +13233 4 2 0 1 2141 2313 1704 2723 +13234 4 2 0 1 322 2211 314 2397 +13235 4 2 0 1 1345 1330 2194 2655 +13236 4 2 0 1 1024 1111 1050 2422 +13237 4 2 0 1 1753 2334 2373 2829 +13238 4 2 0 1 1536 1949 2272 2723 +13239 4 2 0 1 304 2605 1983 2614 +13240 4 2 0 1 947 1004 929 2280 +13241 4 2 0 1 287 251 479 2803 +13242 4 2 0 1 688 2246 548 2725 +13243 4 2 0 1 1443 2435 1509 2686 +13244 4 2 0 1 1783 2459 2210 2546 +13245 4 2 0 1 2021 2552 1708 2755 +13246 4 2 0 1 1515 1155 1492 2264 +13247 4 2 0 1 1317 1221 2531 2788 +13248 4 2 0 1 1001 989 2125 2562 +13249 4 2 0 1 486 184 2330 2694 +13250 4 2 0 1 532 647 635 1934 +13251 4 2 0 1 1956 1702 2546 2652 +13252 4 2 0 1 940 931 888 2129 +13253 4 2 0 1 1338 2667 2018 2788 +13254 4 2 0 1 1628 2233 2081 2499 +13255 4 2 0 1 1246 2205 1933 2557 +13256 4 2 0 1 2099 2347 1740 2677 +13257 4 2 0 1 535 571 622 2197 +13258 4 2 0 1 1004 2280 969 2588 +13259 4 2 0 1 1607 2197 2250 2500 +13260 4 2 0 1 2199 2455 1651 2520 +13261 4 2 0 1 1656 2578 2083 2726 +13262 4 2 0 1 458 331 1996 2744 +13263 4 2 0 1 1566 1911 2261 2778 +13264 4 2 0 1 1051 2128 132 2503 +13265 4 2 0 1 203 327 312 2407 +13266 4 2 0 1 1196 1268 1266 2178 +13267 4 2 0 1 384 1996 331 2647 +13268 4 2 0 1 1157 1508 1381 2278 +13269 4 2 0 1 544 551 2069 2663 +13270 4 2 0 1 1043 1842 1104 2804 +13271 4 2 0 1 1047 2060 1094 2733 +13272 4 2 0 1 672 681 673 2180 +13273 4 2 0 1 1971 2208 1744 2411 +13274 4 2 0 1 548 688 661 2246 +13275 4 2 0 1 1558 2377 1881 2773 +13276 4 2 0 1 1422 1236 1254 2551 +13277 4 2 0 1 707 2068 751 2501 +13278 4 2 0 1 1507 1520 1284 2184 +13279 4 2 0 1 601 619 676 2321 +13280 4 2 0 1 997 157 894 2184 +13281 4 2 0 1 308 296 207 2624 +13282 4 2 0 1 2182 2218 1640 2335 +13283 4 2 0 1 966 977 922 2695 +13284 4 2 0 1 591 1200 680 2053 +13285 4 2 0 1 2060 2410 1094 2733 +13286 4 2 0 1 1595 2258 2398 2808 +13287 4 2 0 1 496 2606 528 2830 +13288 4 2 0 1 1842 2522 1104 2804 +13289 4 2 0 1 2180 2473 1573 2697 +13290 4 2 0 1 1636 2001 2381 2825 +13291 4 2 0 1 1520 1260 1284 2822 +13292 4 2 0 1 1715 1960 2478 2503 +13293 4 2 0 1 1781 2592 2177 2742 +13294 4 2 0 1 2398 2572 1595 2798 +13295 4 2 0 1 816 847 853 2425 +13296 4 2 0 1 1840 2273 2117 2586 +13297 4 2 0 1 1589 2320 2510 2794 +13298 4 2 0 1 1104 1043 1165 1842 +13299 4 2 0 1 1160 1169 1161 2769 +13300 4 2 0 1 1614 2218 1910 2764 +13301 4 2 0 1 380 393 2017 2776 +13302 4 2 0 1 1449 1387 1226 2825 +13303 4 2 0 1 2130 2624 2062 2805 +13304 4 2 0 1 1494 1269 1244 2051 +13305 4 2 0 1 2413 2550 2245 2739 +13306 4 2 0 1 570 573 1912 2497 +13307 4 2 0 1 895 2162 859 2695 +13308 4 2 0 1 1056 2488 1062 2503 +13309 4 2 0 1 697 724 729 2087 +13310 4 2 0 1 575 536 582 2456 +13311 4 2 0 1 410 1967 243 2752 +13312 4 2 0 1 2164 2632 1602 2698 +13313 4 2 0 1 915 913 948 2233 +13314 4 2 0 1 1898 2650 1667 2771 +13315 4 2 0 1 2101 1847 2494 2495 +13316 4 2 0 1 1645 1853 2509 2646 +13317 4 2 0 1 974 857 962 2365 +13318 4 2 0 1 1695 2449 2519 2568 +13319 4 2 0 1 1779 2343 1871 2808 +13320 4 2 0 1 542 2367 2246 2725 +13321 4 2 0 1 1513 1522 1492 139 +13322 4 2 0 1 1945 2312 1673 2656 +13323 4 2 0 1 853 146 145 2425 +13324 4 2 0 1 365 509 2153 2409 +13325 4 2 0 1 1787 2339 2303 2716 +13326 4 2 0 1 1687 2444 1894 2542 +13327 4 2 0 1 1531 2368 1981 2505 +13328 4 2 0 1 875 2107 920 2803 +13329 4 2 0 1 260 1070 1050 2626 +13330 4 2 0 1 621 552 572 2344 +13331 4 2 0 1 1587 2108 2548 2828 +13332 4 2 0 1 1868 1653 2473 2766 +13333 4 2 0 1 1046 1073 1131 1914 +13334 4 2 0 1 361 205 340 2614 +13335 4 2 0 1 2017 2635 1816 2776 +13336 4 2 0 1 833 711 695 2649 +13337 4 2 0 1 1449 2247 1387 2825 +13338 4 2 0 1 1664 2188 2158 2700 +13339 4 2 0 1 1019 1055 1143 2119 +13340 4 2 0 1 1040 1100 2406 2543 +13341 4 2 0 1 2345 2536 1680 2802 +13342 4 2 0 1 981 992 162 2035 +13343 4 2 0 1 380 2017 485 2645 +13344 4 2 0 1 1944 2531 1731 2558 +13345 4 2 0 1 435 404 2405 2424 +13346 4 2 0 1 577 534 564 1990 +13347 4 2 0 1 397 177 2752 2791 +13348 4 2 0 1 460 426 493 2610 +13349 4 2 0 1 299 373 205 2005 +13350 4 2 0 1 1135 1975 1123 2491 +13351 4 2 0 1 2210 2459 1630 2546 +13352 4 2 0 1 563 574 536 2456 +13353 4 2 0 1 507 496 2128 2818 +13354 4 2 0 1 1967 2606 1990 2694 +13355 4 2 0 1 749 777 850 2498 +13356 4 2 0 1 1085 1129 1031 2170 +13357 4 2 0 1 938 2101 951 2495 +13358 4 2 0 1 928 895 975 2162 +13359 4 2 0 1 1711 2384 2119 2817 +13360 4 2 0 1 722 830 736 2277 +13361 4 2 0 1 1859 1665 2639 2671 +13362 4 2 0 1 1543 2075 2040 2578 +13363 4 2 0 1 859 2162 983 2695 +13364 4 2 0 1 1603 2394 1929 2764 +13365 4 2 0 1 1711 2114 2119 2769 +13366 4 2 0 1 82 1431 561 1423 +13367 4 2 0 1 1112 2339 1049 2804 +13368 4 2 0 1 381 333 356 2207 +13369 4 2 0 1 1738 2048 2758 2836 +13370 4 2 0 1 1640 1959 2719 2810 +13371 4 2 0 1 1873 1615 2492 2738 +13372 4 2 0 1 1603 2394 2049 2561 +13373 4 2 0 1 1709 1888 2300 2369 +13374 4 2 0 1 885 970 914 1961 +13375 4 2 0 1 1531 2063 2249 2505 +13376 4 2 0 1 1121 2138 1122 2584 +13377 4 2 0 1 494 498 519 2355 +13378 4 2 0 1 415 1861 469 2662 +13379 4 2 0 1 1097 1914 1046 2696 +13380 4 2 0 1 290 316 294 2062 +13381 4 2 0 1 1905 2124 2397 2727 +13382 4 2 0 1 1214 1351 1303 2453 +13383 4 2 0 1 567 600 655 2192 +13384 4 2 0 1 1473 987 973 2241 +13385 4 2 0 1 2479 2800 1728 2839 +13386 4 2 0 1 1992 2201 1620 2337 +13387 4 2 0 1 1668 2207 2481 2580 +13388 4 2 0 1 1012 954 1006 2327 +13389 4 2 0 1 548 2069 639 2725 +13390 4 2 0 1 2020 1736 2417 2756 +13391 4 2 0 1 1213 2667 1338 2788 +13392 4 2 0 1 2083 2216 1584 2549 +13393 4 2 0 1 1908 1555 2329 2736 +13394 4 2 0 1 788 2120 826 2732 +13395 4 2 0 1 1934 2536 1786 2753 +13396 4 2 0 1 1973 2473 1653 2766 +13397 4 2 0 1 1560 2245 2413 2550 +13398 4 2 0 1 1350 1265 1467 2631 +13399 4 2 0 1 533 2197 571 2390 +13400 4 2 0 1 430 226 2127 2679 +13401 4 2 0 1 1274 1281 1493 2303 +13402 4 2 0 1 1592 2059 2122 2314 +13403 4 2 0 1 1000 859 2562 2695 +13404 4 2 0 1 1642 1885 2234 2801 +13405 4 2 0 1 1449 1226 1316 1935 +13406 4 2 0 1 376 248 384 2639 +13407 4 2 0 1 1209 2001 1366 2381 +13408 4 2 0 1 390 475 188 2333 +13409 4 2 0 1 1697 2090 1969 2657 +13410 4 2 0 1 587 591 680 2053 +13411 4 2 0 1 410 474 243 1967 +13412 4 2 0 1 917 987 959 2241 +13413 4 2 0 1 1813 2417 2067 2580 +13414 4 2 0 1 511 284 280 2338 +13415 4 2 0 1 1716 1902 2490 2641 +13416 4 2 0 1 425 175 453 2404 +13417 4 2 0 1 1110 1097 1046 2696 +13418 4 2 0 1 449 2821 1952 2826 +13419 4 2 0 1 747 819 836 2106 +13420 4 2 0 1 2412 2792 1848 2797 +13421 4 2 0 1 1720 2029 2222 2779 +13422 4 2 0 1 417 390 2090 2657 +13423 4 2 0 1 1650 1985 2443 2837 +13424 4 2 0 1 1005 975 960 2382 +13425 4 2 0 1 2125 2248 1667 2778 +13426 4 2 0 1 1646 2716 2339 2804 +13427 4 2 0 1 1804 2257 2143 2520 +13428 4 2 0 1 2010 2496 1618 2782 +13429 4 2 0 1 1566 2428 1911 2778 +13430 4 2 0 1 1557 2108 2218 2681 +13431 4 2 0 1 1550 2449 2309 2623 +13432 4 2 0 1 1525 1203 1514 2135 +13433 4 2 0 1 445 1847 362 2494 +13434 4 2 0 1 560 656 556 2169 +13435 4 2 0 1 805 824 694 2307 +13436 4 2 0 1 1005 883 868 2287 +13437 4 2 0 1 1394 2581 1168 2582 +13438 4 2 0 1 1009 1000 859 2562 +13439 4 2 0 1 628 141 142 1955 +13440 4 2 0 1 994 978 1012 2327 +13441 4 2 0 1 443 351 372 2185 +13442 4 2 0 1 1614 1910 2172 2764 +13443 4 2 0 1 346 210 341 1978 +13444 4 2 0 1 692 693 800 2288 +13445 4 2 0 1 1450 2171 1190 2631 +13446 4 2 0 1 1659 2653 2239 2682 +13447 4 2 0 1 1903 2407 2002 2741 +13448 4 2 0 1 159 2049 2394 2561 +13449 4 2 0 1 1205 1493 1281 2339 +13450 4 2 0 1 1666 2249 2063 2505 +13451 4 2 0 1 455 2554 371 2791 +13452 4 2 0 1 496 2128 429 2606 +13453 4 2 0 1 2117 2273 1840 2617 +13454 4 2 0 1 1517 1184 1235 2342 +13455 4 2 0 1 1614 2416 2064 2814 +13456 4 2 0 1 1593 2319 2086 2689 +13457 4 2 0 1 1059 1128 1021 2140 +13458 4 2 0 1 635 1934 647 2786 +13459 4 2 0 1 1254 2117 1261 2551 +13460 4 2 0 1 301 235 2002 2605 +13461 4 2 0 1 628 568 574 2345 +13462 4 2 0 1 1473 1498 987 2241 +13463 4 2 0 1 415 417 188 2090 +13464 4 2 0 1 1660 1981 2368 2505 +13465 4 2 0 1 1915 2355 1605 2395 +13466 4 2 0 1 237 318 412 2641 +13467 4 2 0 1 737 738 1495 2666 +13468 4 2 0 1 1594 1875 2319 2483 +13469 4 2 0 1 384 2639 1996 2647 +13470 4 2 0 1 2038 2311 1682 2437 +13471 4 2 0 1 2434 2435 1742 2500 +13472 4 2 0 1 551 615 589 2393 +13473 4 2 0 1 1714 2320 2111 2510 +13474 4 2 0 1 653 682 660 2283 +13475 4 2 0 1 335 209 330 2200 +13476 4 2 0 1 2050 2348 1750 2572 +13477 4 2 0 1 1742 2500 2435 2686 +13478 4 2 0 1 497 399 218 2472 +13479 4 2 0 1 1285 1295 1271 2056 +13480 4 2 0 1 769 783 842 2186 +13481 4 2 0 1 1175 1086 1124 2518 +13482 4 2 0 1 553 622 2197 2408 +13483 4 2 0 1 253 486 279 2694 +13484 4 2 0 1 766 717 694 2307 +13485 4 2 0 1 1411 1371 1191 2263 +13486 4 2 0 1 494 408 229 1915 +13487 4 2 0 1 1696 2670 2184 2742 +13488 4 2 0 1 236 2124 190 2819 +13489 4 2 0 1 1890 1685 2634 2684 +13490 4 2 0 1 2138 2458 1959 2518 +13491 4 2 0 1 2220 1689 2743 2782 +13492 4 2 0 1 1974 2370 1780 2783 +13493 4 2 0 1 1254 2289 1268 2730 +13494 4 2 0 1 786 732 2403 2628 +13495 4 2 0 1 1440 2033 1237 2835 +13496 4 2 0 1 1873 2421 1615 2738 +13497 4 2 0 1 415 469 417 2662 +13498 4 2 0 1 1573 2452 2010 2473 +13499 4 2 0 1 1427 2358 1456 2485 +13500 4 2 0 1 1275 1503 1244 2615 +13501 4 2 0 1 1595 2572 2112 2798 +13502 4 2 0 1 895 983 859 2162 +13503 4 2 0 1 932 963 927 2421 +13504 4 2 0 1 1706 2036 2324 2746 +13505 4 2 0 1 1911 2428 1667 2778 +13506 4 2 0 1 1313 1212 2133 2668 +13507 4 2 0 1 622 609 558 2408 +13508 4 2 0 1 1715 2478 2488 2503 +13509 4 2 0 1 1149 1870 2594 2769 +13510 4 2 0 1 1856 2398 2306 2688 +13511 4 2 0 1 2006 2335 1673 2656 +13512 4 2 0 1 1172 2564 1033 2565 +13513 4 2 0 1 1036 1870 1149 2769 +13514 4 2 0 1 1529 1945 2240 2656 +13515 4 2 0 1 1547 2282 2250 2790 +13516 4 2 0 1 381 386 2207 2661 +13517 4 2 0 1 1543 2025 2660 2792 +13518 4 2 0 1 535 622 558 1984 +13519 4 2 0 1 1711 2114 1870 2710 +13520 4 2 0 1 2259 2382 1664 2734 +13521 4 2 0 1 705 811 2501 2585 +13522 4 2 0 1 1133 1147 1077 2056 +13523 4 2 0 1 380 202 393 2776 +13524 4 2 0 1 665 639 657 2725 +13525 4 2 0 1 1683 2306 2398 2572 +13526 4 2 0 1 1169 2119 1143 2769 +13527 4 2 0 1 574 568 613 2345 +13528 4 2 0 1 306 182 311 2190 +13529 4 2 0 1 1301 2420 1212 2668 +13530 4 2 0 1 1707 2140 2346 2619 +13531 4 2 0 1 1229 2033 1420 2667 +13532 4 2 0 1 2014 2598 1743 2659 +13533 4 2 0 1 1141 2410 1148 2733 +13534 4 2 0 1 1954 1706 2415 2655 +13535 4 2 0 1 249 414 367 2821 +13536 4 2 0 1 1718 2436 2106 2714 +13537 4 2 0 1 2097 2468 1594 2571 +13538 4 2 0 1 225 173 271 2576 +13539 4 2 0 1 1233 1412 1421 2091 +13540 4 2 0 1 2074 2332 1629 2341 +13541 4 2 0 1 2062 2624 1720 2805 +13542 4 2 0 1 1479 1467 1451 2780 +13543 4 2 0 1 832 756 790 2171 +13544 4 2 0 1 952 883 901 2287 +13545 4 2 0 1 1650 2239 1985 2837 +13546 4 2 0 1 1586 2300 1988 2806 +13547 4 2 0 1 1935 1636 2247 2825 +13548 4 2 0 1 1696 2135 2051 2822 +13549 4 2 0 1 226 186 472 2127 +13550 4 2 0 1 2036 1679 2324 2746 +13551 4 2 0 1 1332 1223 1392 2441 +13552 4 2 0 1 1636 2470 2072 2747 +13553 4 2 0 1 2272 2473 1973 2697 +13554 4 2 0 1 1596 2173 2128 2606 +13555 4 2 0 1 1723 2488 2478 2503 +13556 4 2 0 1 1459 1211 886 2081 +13557 4 2 0 1 1669 2583 2290 2796 +13558 4 2 0 1 1703 2385 2160 2731 +13559 4 2 0 1 1800 1619 2409 2490 +13560 4 2 0 1 202 347 393 2635 +13561 4 2 0 1 1692 1974 2351 2783 +13562 4 2 0 1 1950 2430 1659 2682 +13563 4 2 0 1 1033 1038 1126 2564 +13564 4 2 0 1 1614 2172 1929 2764 +13565 4 2 0 1 1578 2345 2450 2802 +13566 4 2 0 1 299 310 2005 2647 +13567 4 2 0 1 1251 1244 2051 2615 +13568 4 2 0 1 553 533 656 2009 +13569 4 2 0 1 2114 1870 2255 2769 +13570 4 2 0 1 1413 1305 1337 2667 +13571 4 2 0 1 1297 1177 1312 1922 +13572 4 2 0 1 1636 1987 2470 2747 +13573 4 2 0 1 1562 2141 2193 2823 +13574 4 2 0 1 216 423 424 2554 +13575 4 2 0 1 1318 1363 1217 2042 +13576 4 2 0 1 1894 2421 1615 2492 +13577 4 2 0 1 1833 2239 1958 2750 +13578 4 2 0 1 1808 2592 2534 2834 +13579 4 2 0 1 824 810 694 2451 +13580 4 2 0 1 1377 2325 1219 2512 +13581 4 2 0 1 1081 1143 2119 2769 +13582 4 2 0 1 1354 1192 1355 2077 +13583 4 2 0 1 1579 2479 1971 2781 +13584 4 2 0 1 2221 2292 1843 2492 +13585 4 2 0 1 916 1007 920 2107 +13586 4 2 0 1 1562 2595 2175 2728 +13587 4 2 0 1 779 2055 731 2529 +13588 4 2 0 1 1586 2369 2300 2806 +13589 4 2 0 1 846 487 269 2277 +13590 4 2 0 1 563 668 140 2456 +13591 4 2 0 1 169 304 338 2691 +13592 4 2 0 1 1751 2428 2125 2562 +13593 4 2 0 1 429 2173 243 2606 +13594 4 2 0 1 1709 2300 1888 2774 +13595 4 2 0 1 912 918 972 2576 +13596 4 2 0 1 1695 1903 2741 2779 +13597 4 2 0 1 2012 2325 1857 2515 +13598 4 2 0 1 1938 2231 1791 2476 +13599 4 2 0 1 136 1141 2410 2777 +13600 4 2 0 1 229 408 379 1915 +13601 4 2 0 1 589 645 659 2132 +13602 4 2 0 1 969 875 871 2280 +13603 4 2 0 1 232 2328 402 2819 +13604 4 2 0 1 346 342 210 2556 +13605 4 2 0 1 2154 2433 1891 2706 +13606 4 2 0 1 1450 832 790 2171 +13607 4 2 0 1 1528 1966 2466 2836 +13608 4 2 0 1 1805 2558 2096 2708 +13609 4 2 0 1 1099 1028 1043 2414 +13610 4 2 0 1 2025 2622 1964 2792 +13611 4 2 0 1 1344 2469 1430 2812 +13612 4 2 0 1 774 702 2529 2690 +13613 4 2 0 1 1093 1134 1090 2518 +13614 4 2 0 1 917 973 987 2241 +13615 4 2 0 1 1180 1267 1482 2021 +13616 4 2 0 1 1071 1028 1099 2414 +13617 4 2 0 1 1833 2401 2052 2750 +13618 4 2 0 1 982 976 150 1946 +13619 4 2 0 1 287 2107 251 2803 +13620 4 2 0 1 1928 1717 2813 2820 +13621 4 2 0 1 773 786 712 2403 +13622 4 2 0 1 735 1514 1203 2135 +13623 4 2 0 1 364 414 249 2826 +13624 4 2 0 1 1538 1943 2402 2411 +13625 4 2 0 1 1255 1489 1417 2620 +13626 4 2 0 1 1857 2044 2453 2521 +13627 4 2 0 1 469 415 420 1861 +13628 4 2 0 1 1108 1075 1073 2095 +13629 4 2 0 1 1194 1440 1237 2835 +13630 4 2 0 1 1895 2489 1737 2679 +13631 4 2 0 1 1969 2407 1903 2657 +13632 4 2 0 1 778 2684 856 2690 +13633 4 2 0 1 1585 2653 2052 2750 +13634 4 2 0 1 909 522 526 2477 +13635 4 2 0 1 1454 1444 1238 2205 +13636 4 2 0 1 1701 2230 2116 2524 +13637 4 2 0 1 1742 2434 1976 2435 +13638 4 2 0 1 1515 1523 1493 2339 +13639 4 2 0 1 1670 2395 2147 2735 +13640 4 2 0 1 1370 1311 1223 2475 +13641 4 2 0 1 1990 2606 2128 2830 +13642 4 2 0 1 757 789 755 2144 +13643 4 2 0 1 280 2338 527 2692 +13644 4 2 0 1 2244 2335 2006 2656 +13645 4 2 0 1 1315 1376 1320 2720 +13646 4 2 0 1 250 2086 1952 2821 +13647 4 2 0 1 1973 2272 1653 2473 +13648 4 2 0 1 1308 1319 1324 2324 +13649 4 2 0 1 1308 1324 1216 2655 +13650 4 2 0 1 733 764 823 2045 +13651 4 2 0 1 2157 2657 288 2824 +13652 4 2 0 1 1655 2450 2124 2533 +13653 4 2 0 1 255 474 410 1967 +13654 4 2 0 1 767 700 711 2375 +13655 4 2 0 1 1664 2537 2188 2700 +13656 4 2 0 1 384 248 331 1996 +13657 4 2 0 1 1544 1951 2619 2833 +13658 4 2 0 1 374 360 354 2366 +13659 4 2 0 1 1733 2574 2084 2676 +13660 4 2 0 1 1595 2348 2112 2572 +13661 4 2 0 1 1431 1231 1400 2132 +13662 4 2 0 1 229 371 2395 2791 +13663 4 2 0 1 1222 1356 1391 2247 +13664 4 2 0 1 1196 2117 1254 2730 +13665 4 2 0 1 1432 1448 1451 2780 +13666 4 2 0 1 2020 1644 2438 2756 +13667 4 2 0 1 812 781 849 1936 +13668 4 2 0 1 890 2101 434 2494 +13669 4 2 0 1 2000 2616 2392 2834 +13670 4 2 0 1 1746 2218 2719 2814 +13671 4 2 0 1 646 602 605 2587 +13672 4 2 0 1 1594 2571 1939 2607 +13673 4 2 0 1 138 139 1053 2264 +13674 4 2 0 1 1608 2266 2118 2701 +13675 4 2 0 1 1477 1476 1280 1937 +13676 4 2 0 1 1583 2225 2054 2789 +13677 4 2 0 1 1329 1188 1303 2284 +13678 4 2 0 1 669 1522 1513 139 +13679 4 2 0 1 2046 2330 1677 2761 +13680 4 2 0 1 1692 2665 1892 2783 +13681 4 2 0 1 311 224 324 2190 +13682 4 2 0 1 228 259 1905 2457 +13683 4 2 0 1 698 786 720 2692 +13684 4 2 0 1 1543 2412 2726 2757 +13685 4 2 0 1 1317 1338 2018 2788 +13686 4 2 0 1 1575 2509 1853 2646 +13687 4 2 0 1 696 2508 730 2732 +13688 4 2 0 1 1894 2514 1687 2542 +13689 4 2 0 1 1589 2320 2105 2510 +13690 4 2 0 1 309 339 317 2156 +13691 4 2 0 1 1426 2751 1433 2770 +13692 4 2 0 1 572 625 564 2344 +13693 4 2 0 1 842 783 726 2109 +13694 4 2 0 1 696 730 722 2732 +13695 4 2 0 1 142 826 2120 2732 +13696 4 2 0 1 2034 2634 1685 2684 +13697 4 2 0 1 1750 2398 2306 2572 +13698 4 2 0 1 355 430 358 2679 +13699 4 2 0 1 1806 2219 2085 2673 +13700 4 2 0 1 482 502 421 2049 +13701 4 2 0 1 2414 2544 1842 2716 +13702 4 2 0 1 2478 2488 1723 2789 +13703 4 2 0 1 2090 2657 1697 2662 +13704 4 2 0 1 415 462 420 1861 +13705 4 2 0 1 2319 2545 2086 2821 +13706 4 2 0 1 429 2128 496 2818 +13707 4 2 0 1 1719 2318 2275 2767 +13708 4 2 0 1 305 169 307 2691 +13709 4 2 0 1 237 2641 364 2826 +13710 4 2 0 1 1167 1076 1130 2713 +13711 4 2 0 1 1604 2235 2371 2526 +13712 4 2 0 1 217 2207 2196 2661 +13713 4 2 0 1 1899 1668 2580 2827 +13714 4 2 0 1 1555 2174 2329 2598 +13715 4 2 0 1 1039 1103 1077 2056 +13716 4 2 0 1 394 228 1905 2815 +13717 4 2 0 1 2128 1723 2503 2818 +13718 4 2 0 1 1469 2620 1186 2740 +13719 4 2 0 1 1052 1065 1022 1927 +13720 4 2 0 1 875 916 920 2107 +13721 4 2 0 1 1649 2597 2030 2744 +13722 4 2 0 1 600 615 637 2663 +13723 4 2 0 1 1632 2178 2117 2785 +13724 4 2 0 1 1441 2615 1251 2835 +13725 4 2 0 1 733 2045 2253 2378 +13726 4 2 0 1 1350 1405 839 2379 +13727 4 2 0 1 1819 2543 1100 2709 +13728 4 2 0 1 1360 1327 1369 2104 +13729 4 2 0 1 340 2605 303 2614 +13730 4 2 0 1 1056 1101 1062 2488 +13731 4 2 0 1 1489 2094 1186 2620 +13732 4 2 0 1 1939 1594 2468 2571 +13733 4 2 0 1 642 557 189 2330 +13734 4 2 0 1 964 962 1015 2248 +13735 4 2 0 1 305 211 389 2571 +13736 4 2 0 1 1673 2312 2006 2656 +13737 4 2 0 1 1321 2044 1349 2455 +13738 4 2 0 1 915 913 2233 2775 +13739 4 2 0 1 2148 2275 1633 2770 +13740 4 2 0 1 1472 1270 1250 1914 +13741 4 2 0 1 548 544 639 2069 +13742 4 2 0 1 466 2209 264 2685 +13743 4 2 0 1 1490 1198 580 576 +13744 4 2 0 1 589 615 583 2132 +13745 4 2 0 1 1614 2709 2416 2814 +13746 4 2 0 1 2339 2716 1787 2804 +13747 4 2 0 1 934 992 981 2734 +13748 4 2 0 1 737 1495 2087 2666 +13749 4 2 0 1 1121 1122 1164 2584 +13750 4 2 0 1 1607 2197 1984 2408 +13751 4 2 0 1 1731 2531 1944 2720 +13752 4 2 0 1 2017 2645 380 2815 +13753 4 2 0 1 397 2752 2554 2791 +13754 4 2 0 1 1022 1109 1060 2424 +13755 4 2 0 1 1929 2709 1614 2764 +13756 4 2 0 1 2377 2443 1985 2837 +13757 4 2 0 1 1868 2473 1973 2766 +13758 4 2 0 1 302 494 371 2395 +13759 4 2 0 1 890 951 938 2101 +13760 4 2 0 1 1643 2338 1849 2628 +13761 4 2 0 1 1796 2577 2145 2643 +13762 4 2 0 1 432 2405 1913 2713 +13763 4 2 0 1 1521 1507 1485 2184 +13764 4 2 0 1 2010 2473 2272 2697 +13765 4 2 0 1 733 2253 808 2378 +13766 4 2 0 1 830 2277 722 2732 +13767 4 2 0 1 185 642 2330 2560 +13768 4 2 0 1 1837 2301 2146 2625 +13769 4 2 0 1 1705 2387 2094 2760 +13770 4 2 0 1 841 2161 770 2638 +13771 4 2 0 1 832 756 2171 2631 +13772 4 2 0 1 1723 2054 2225 2789 +13773 4 2 0 1 1220 1357 1474 2137 +13774 4 2 0 1 1331 1300 1469 2740 +13775 4 2 0 1 1321 1351 1349 2044 +13776 4 2 0 1 1719 2609 2318 2767 +13777 4 2 0 1 1166 1033 1172 2564 +13778 4 2 0 1 2046 2330 586 2560 +13779 4 2 0 1 582 536 562 2658 +13780 4 2 0 1 1658 2336 2092 2622 +13781 4 2 0 1 1902 2409 1619 2490 +13782 4 2 0 1 2034 2684 1685 2690 +13783 4 2 0 1 1346 1247 1362 2337 +13784 4 2 0 1 1449 1391 1387 2247 +13785 4 2 0 1 467 246 191 2144 +13786 4 2 0 1 936 867 880 2073 +13787 4 2 0 1 1274 1277 1500 2586 +13788 4 2 0 1 1450 832 2171 2631 +13789 4 2 0 1 370 219 297 2744 +13790 4 2 0 1 210 357 321 2601 +13791 4 2 0 1 1050 1070 1024 2422 +13792 4 2 0 1 1080 388 47 272 +13793 4 2 0 1 1667 2486 2061 2650 +13794 4 2 0 1 1071 1077 1103 2056 +13795 4 2 0 1 131 654 132 2830 +13796 4 2 0 1 2217 2277 1674 2732 +13797 4 2 0 1 1398 1460 1504 1984 +13798 4 2 0 1 1822 2378 2253 2717 +13799 4 2 0 1 1496 1480 1499 2131 +13800 4 2 0 1 216 2395 371 2554 +13801 4 2 0 1 1046 1914 1250 2696 +13802 4 2 0 1 530 596 598 1973 +13803 4 2 0 1 2066 2525 403 2674 +13804 4 2 0 1 1586 2290 1988 2388 +13805 4 2 0 1 2154 2210 1630 2546 +13806 4 2 0 1 1120 2060 1047 2733 +13807 4 2 0 1 737 2087 697 2666 +13808 4 2 0 1 1963 2214 1717 2739 +13809 4 2 0 1 1040 1109 1096 2406 +13810 4 2 0 1 2044 1774 2453 2521 +13811 4 2 0 1 378 2366 374 2683 +13812 4 2 0 1 787 713 731 2529 +13813 4 2 0 1 1267 1455 1255 2021 +13814 4 2 0 1 439 232 402 2819 +13815 4 2 0 1 1168 2581 1075 2582 +13816 4 2 0 1 421 502 362 2049 +13817 4 2 0 1 1195 2299 1458 2374 +13818 4 2 0 1 1564 1920 2242 2699 +13819 4 2 0 1 1061 2339 1025 2804 +13820 4 2 0 1 1318 1354 1363 2042 +13821 4 2 0 1 1658 2564 2349 2565 +13822 4 2 0 1 776 2403 732 2628 +13823 4 2 0 1 1636 2381 2326 2825 +13824 4 2 0 1 1180 2229 1282 2563 +13825 4 2 0 1 1556 2429 2016 2765 +13826 4 2 0 1 2094 2740 1837 2781 +13827 4 2 0 1 1789 2228 1978 2613 +13828 4 2 0 1 1461 1395 2499 2720 +13829 4 2 0 1 1521 1204 1520 2184 +13830 4 2 0 1 278 954 285 2327 +13831 4 2 0 1 266 500 504 2626 +13832 4 2 0 1 1399 1228 1992 2770 +13833 4 2 0 1 952 883 2287 2715 +13834 4 2 0 1 1767 2574 1879 2676 +13835 4 2 0 1 1738 2758 2423 2836 +13836 4 2 0 1 1723 2626 2422 2818 +13837 4 2 0 1 1355 1192 1335 2077 +13838 4 2 0 1 1671 2651 2252 2678 +13839 4 2 0 1 1908 2379 2041 2485 +13840 4 2 0 1 411 445 434 2494 +13841 4 2 0 1 1304 2302 1213 2788 +13842 4 2 0 1 615 540 583 2393 +13843 4 2 0 1 1292 1282 1202 2582 +13844 4 2 0 1 525 592 679 514 +13845 4 2 0 1 686 640 607 2390 +13846 4 2 0 1 611 540 555 2281 +13847 4 2 0 1 2416 2709 2064 2814 +13848 4 2 0 1 1159 1059 1054 2140 +13849 4 2 0 1 486 184 481 2330 +13850 4 2 0 1 1313 1317 1221 2531 +13851 4 2 0 1 1397 1365 2275 2770 +13852 4 2 0 1 2276 2454 1865 2712 +13853 4 2 0 1 1081 1169 1143 2769 +13854 4 2 0 1 302 371 216 2395 +13855 4 2 0 1 1314 1213 1304 2302 +13856 4 2 0 1 1076 1074 2405 2642 +13857 4 2 0 1 287 477 251 2107 +13858 4 2 0 1 991 935 2115 2461 +13859 4 2 0 1 824 694 2307 2451 +13860 4 2 0 1 714 782 718 2161 +13861 4 2 0 1 895 2421 2162 2695 +13862 4 2 0 1 1562 2314 2141 2823 +13863 4 2 0 1 1095 1044 1174 2274 +13864 4 2 0 1 1458 2374 2299 2499 +13865 4 2 0 1 1616 1951 2244 2627 +13866 4 2 0 1 459 465 819 2106 +13867 4 2 0 1 507 429 496 2818 +13868 4 2 0 1 1286 1513 669 2419 +13869 4 2 0 1 352 207 321 2130 +13870 4 2 0 1 1728 2479 2226 2800 +13871 4 2 0 1 2178 2223 2117 2730 +13872 4 2 0 1 1452 1464 1291 2462 +13873 4 2 0 1 1711 1870 2114 2769 +13874 4 2 0 1 2133 2208 1805 2668 +13875 4 2 0 1 669 1522 139 2419 +13876 4 2 0 1 190 236 259 2124 +13877 4 2 0 1 408 469 379 2662 +13878 4 2 0 1 1749 2557 2615 2718 +13879 4 2 0 1 1607 2009 2197 2408 +13880 4 2 0 1 1597 2471 1958 2506 +13881 4 2 0 1 2253 2555 1648 2649 +13882 4 2 0 1 2010 2215 1536 2743 +13883 4 2 0 1 585 609 538 2408 +13884 4 2 0 1 1704 2314 2141 2723 +13885 4 2 0 1 2377 2443 1662 2705 +13886 4 2 0 1 1352 1316 1186 2094 +13887 4 2 0 1 411 173 369 2317 +13888 4 2 0 1 1494 1503 1263 2722 +13889 4 2 0 1 1416 1236 1243 2289 +13890 4 2 0 1 2141 2314 1704 2823 +13891 4 2 0 1 140 487 846 2277 +13892 4 2 0 1 1532 2538 2210 2546 +13893 4 2 0 1 1842 2522 1745 2733 +13894 4 2 0 1 917 911 973 2241 +13895 4 2 0 1 2081 2233 913 2775 +13896 4 2 0 1 1607 2250 1968 2500 +13897 4 2 0 1 2177 2184 1696 2822 +13898 4 2 0 1 879 2514 942 2542 +13899 4 2 0 1 1346 1362 1336 2337 +13900 4 2 0 1 1674 2277 2217 2645 +13901 4 2 0 1 917 878 943 2591 +13902 4 2 0 1 833 689 823 2649 +13903 4 2 0 1 894 157 156 2670 +13904 4 2 0 1 1651 1922 2493 2664 +13905 4 2 0 1 991 153 152 2115 +13906 4 2 0 1 268 670 131 2830 +13907 4 2 0 1 974 933 984 2365 +13908 4 2 0 1 1807 2550 2413 2739 +13909 4 2 0 1 715 784 696 2217 +13910 4 2 0 1 1805 2531 1944 2558 +13911 4 2 0 1 1229 1440 1420 2033 +13912 4 2 0 1 828 842 153 2186 +13913 4 2 0 1 175 248 471 2674 +13914 4 2 0 1 886 2081 913 2775 +13915 4 2 0 1 2147 2395 1605 2735 +13916 4 2 0 1 1269 1251 1244 2051 +13917 4 2 0 1 429 243 2173 2752 +13918 4 2 0 1 510 515 650 2359 +13919 4 2 0 1 1915 408 2662 2824 +13920 4 2 0 1 1546 2483 2061 2689 +13921 4 2 0 1 1398 1286 578 2419 +13922 4 2 0 1 1674 2508 2217 2732 +13923 4 2 0 1 850 755 793 2498 +13924 4 2 0 1 1087 1102 1029 2202 +13925 4 2 0 1 2018 2534 2320 2834 +13926 4 2 0 1 973 911 889 2715 +13927 4 2 0 1 971 1459 886 2775 +13928 4 2 0 1 473 424 504 2225 +13929 4 2 0 1 747 780 745 2436 +13930 4 2 0 1 269 501 740 736 +13931 4 2 0 1 708 754 756 2171 +13932 4 2 0 1 349 181 323 2559 +13933 4 2 0 1 237 180 520 2826 +13934 4 2 0 1 376 239 245 2539 +13935 4 2 0 1 1593 2086 2612 2689 +13936 4 2 0 1 1574 2276 2024 2811 +13937 4 2 0 1 370 204 331 2744 +13938 4 2 0 1 2105 2261 1714 2534 +13939 4 2 0 1 820 839 1405 2379 +13940 4 2 0 1 1716 2319 2097 2821 +13941 4 2 0 1 705 760 811 2585 +13942 4 2 0 1 833 767 711 2649 +13943 4 2 0 1 1695 2519 2449 2799 +13944 4 2 0 1 1304 1212 1462 2133 +13945 4 2 0 1 1440 1229 1237 2033 +13946 4 2 0 1 1855 2378 1822 2772 +13947 4 2 0 1 1885 1642 2711 2801 +13948 4 2 0 1 1601 2227 2673 2839 +13949 4 2 0 1 531 649 567 2192 +13950 4 2 0 1 394 228 259 1905 +13951 4 2 0 1 1345 1375 1215 2467 +13952 4 2 0 1 1982 2397 348 2819 +13953 4 2 0 1 782 775 718 2555 +13954 4 2 0 1 1323 1215 1326 2467 +13955 4 2 0 1 2474 2552 2021 2755 +13956 4 2 0 1 1510 1298 1307 2241 +13957 4 2 0 1 853 145 827 2425 +13958 4 2 0 1 1674 2217 2508 2773 +13959 4 2 0 1 1015 2248 961 2588 +13960 4 2 0 1 187 2635 2106 2714 +13961 4 2 0 1 1313 1317 2531 2788 +13962 4 2 0 1 1223 1428 1392 1924 +13963 4 2 0 1 160 2394 1929 2561 +13964 4 2 0 1 616 570 573 1912 +13965 4 2 0 1 131 132 2128 2830 +13966 4 2 0 1 546 665 591 2053 +13967 4 2 0 1 1578 2443 1985 2705 +13968 4 2 0 1 2395 2554 1823 2735 +13969 4 2 0 1 1766 2496 2697 2759 +13970 4 2 0 1 638 599 649 1948 +13971 4 2 0 1 381 217 386 2661 +13972 4 2 0 1 890 173 434 2101 +13973 4 2 0 1 1994 2178 1632 2785 +13974 4 2 0 1 1636 2001 2285 2703 +13975 4 2 0 1 233 2405 404 2556 +13976 4 2 0 1 1313 1302 1212 2668 +13977 4 2 0 1 2338 2628 721 2692 +13978 4 2 0 1 23 464 257 741 +13979 4 2 0 1 349 323 344 1979 +13980 4 2 0 1 2210 2538 1783 2546 +13981 4 2 0 1 2412 1848 2726 2805 +13982 4 2 0 1 485 380 393 2017 +13983 4 2 0 1 1081 1036 1149 2769 +13984 4 2 0 1 1686 2092 2336 2622 +13985 4 2 0 1 1517 1468 1184 2724 +13986 4 2 0 1 1810 2690 2529 2718 +13987 4 2 0 1 1952 2086 2545 2821 +13988 4 2 0 1 462 443 256 2185 +13989 4 2 0 1 940 945 953 2637 +13990 4 2 0 1 2309 2449 1550 2519 +13991 4 2 0 1 996 158 891 2049 +13992 4 2 0 1 1664 2158 2382 2738 +13993 4 2 0 1 1587 2548 2126 2828 +13994 4 2 0 1 1048 1144 2064 2458 +13995 4 2 0 1 361 206 328 2669 +13996 4 2 0 1 1246 1444 2205 2557 +13997 4 2 0 1 1565 1858 2729 2801 +13998 4 2 0 1 198 172 487 2277 +13999 4 2 0 1 674 673 530 2180 +14000 4 2 0 1 1424 2469 1344 2812 +14001 4 2 0 1 1652 2236 2169 2728 +14002 4 2 0 1 597 543 662 2256 +14003 4 2 0 1 1034 2095 1108 2603 +14004 4 2 0 1 1272 1458 1195 2299 +14005 4 2 0 1 384 183 2639 2647 +14006 4 2 0 1 536 574 623 1884 +14007 4 2 0 1 1197 1419 1422 2551 +14008 4 2 0 1 2219 2292 1694 2832 +14009 4 2 0 1 1808 2374 2018 2534 +14010 4 2 0 1 1459 1279 1211 2081 +14011 4 2 0 1 1674 2705 2120 2732 +14012 4 2 0 1 1718 2508 2217 2773 +14013 4 2 0 1 1808 2534 2018 2834 +14014 4 2 0 1 1971 2479 1741 2781 +14015 4 2 0 1 1058 2179 2522 2777 +14016 4 2 0 1 338 291 491 1997 +14017 4 2 0 1 1093 1026 1041 2043 +14018 4 2 0 1 343 221 359 1947 +14019 4 2 0 1 1636 2285 2072 2470 +14020 4 2 0 1 1678 2664 2078 2704 +14021 4 2 0 1 1458 2299 1481 2499 +14022 4 2 0 1 1528 2466 2048 2836 +14023 4 2 0 1 1113 1136 1052 2394 +14024 4 2 0 1 2062 2262 1686 2797 +14025 4 2 0 1 849 764 814 2045 +14026 4 2 0 1 880 867 931 2073 +14027 4 2 0 1 496 429 528 2606 +14028 4 2 0 1 1095 2274 1140 2416 +14029 4 2 0 1 1413 1213 1305 2667 +14030 4 2 0 1 496 2128 2606 2830 +14031 4 2 0 1 649 1948 599 2786 +14032 4 2 0 1 1766 2697 2180 2759 +14033 4 2 0 1 241 2554 397 2752 +14034 4 2 0 1 1202 1208 1079 2582 +14035 4 2 0 1 2417 2580 1668 2827 +14036 4 2 0 1 1379 1409 1218 2493 +14037 4 2 0 1 1705 2474 2021 2755 +14038 4 2 0 1 1715 2488 2478 2789 +14039 4 2 0 1 1578 2450 2124 2727 +14040 4 2 0 1 260 489 506 2422 +14041 4 2 0 1 1138 1114 1172 2349 +14042 4 2 0 1 1366 1209 1296 2001 +14043 4 2 0 1 2030 2597 1801 2744 +14044 4 2 0 1 1551 2074 2341 2762 +14045 4 2 0 1 1480 1488 1499 2131 +14046 4 2 0 1 159 956 891 2049 +14047 4 2 0 1 1126 1038 1102 2202 +14048 4 2 0 1 676 2321 633 2766 +14049 4 2 0 1 1954 2415 2194 2655 +14050 4 2 0 1 1695 2741 2222 2779 +14051 4 2 0 1 999 155 1013 2165 +14052 4 2 0 1 1097 1073 1046 1914 +14053 4 2 0 1 870 876 993 1907 +14054 4 2 0 1 663 607 652 1972 +14055 4 2 0 1 1640 2218 2182 2719 +14056 4 2 0 1 1428 1488 1456 2087 +14057 4 2 0 1 2052 2401 1675 2750 +14058 4 2 0 1 2080 2590 1980 2838 +14059 4 2 0 1 763 733 808 2378 +14060 4 2 0 1 1387 2247 1391 2825 +14061 4 2 0 1 811 780 707 2501 +14062 4 2 0 1 1200 1280 1207 2053 +14063 4 2 0 1 1253 1178 1409 2455 +14064 4 2 0 1 649 567 2192 2786 +14065 4 2 0 1 135 136 1141 2410 +14066 4 2 0 1 1781 2184 2670 2742 +14067 4 2 0 1 309 2156 317 2795 +14068 4 2 0 1 313 201 317 2795 +14069 4 2 0 1 2161 2360 1860 2638 +14070 4 2 0 1 1996 2647 1801 2744 +14071 4 2 0 1 2199 2257 1804 2520 +14072 4 2 0 1 1327 1217 1369 2579 +14073 4 2 0 1 148 147 724 2131 +14074 4 2 0 1 1114 192 1118 2349 +14075 4 2 0 1 1761 2612 2107 2803 +14076 4 2 0 1 544 637 551 2663 +14077 4 2 0 1 1767 2084 2574 2676 +14078 4 2 0 1 1906 2513 1626 2608 +14079 4 2 0 1 1788 2024 2276 2811 +14080 4 2 0 1 726 791 2109 2628 +14081 4 2 0 1 1250 1914 1270 2696 +14082 4 2 0 1 1062 2488 1024 2503 +14083 4 2 0 1 231 377 468 2068 +14084 4 2 0 1 1116 1960 1056 2503 +14085 4 2 0 1 1182 1288 1248 1976 +14086 4 2 0 1 611 555 624 2294 +14087 4 2 0 1 448 461 265 2612 +14088 4 2 0 1 1167 1130 432 2713 +14089 4 2 0 1 1076 1035 1107 2642 +14090 4 2 0 1 557 586 608 2330 +14091 4 2 0 1 385 312 456 2407 +14092 4 2 0 1 1979 2336 1658 2535 +14093 4 2 0 1 1153 1034 1030 2603 +14094 4 2 0 1 778 815 856 2684 +14095 4 2 0 1 2231 2334 1608 2373 +14096 4 2 0 1 1605 2355 2262 2395 +14097 4 2 0 1 1686 2516 2092 2622 +14098 4 2 0 1 263 508 336 2714 +14099 4 2 0 1 331 204 310 2647 +14100 4 2 0 1 816 853 827 2425 +14101 4 2 0 1 1621 2307 1957 2451 +14102 4 2 0 1 713 779 731 2529 +14103 4 2 0 1 1024 2422 1051 2503 +14104 4 2 0 1 732 786 698 2628 +14105 4 2 0 1 953 945 897 2523 +14106 4 2 0 1 905 892 982 2477 +14107 4 2 0 1 1532 2210 2154 2546 +14108 4 2 0 1 923 959 955 1390 +14109 4 2 0 1 1130 2405 432 2713 +14110 4 2 0 1 1443 1468 1517 2026 +14111 4 2 0 1 1399 1228 1341 1992 +14112 4 2 0 1 853 847 146 2425 +14113 4 2 0 1 1288 1509 1199 2435 +14114 4 2 0 1 486 492 184 2694 +14115 4 2 0 1 522 909 905 2477 +14116 4 2 0 1 1576 1951 2474 2810 +14117 4 2 0 1 1370 1311 2475 2484 +14118 4 2 0 1 1482 1255 1189 2640 +14119 4 2 0 1 934 946 992 2259 +14120 4 2 0 1 674 672 2180 2672 +14121 4 2 0 1 1482 2229 2021 2640 +14122 4 2 0 1 1137 1055 1019 2570 +14123 4 2 0 1 533 571 640 2390 +14124 4 2 0 1 1612 2018 2320 2834 +14125 4 2 0 1 720 741 698 2692 +14126 4 2 0 1 1554 2392 2616 2834 +14127 4 2 0 1 1646 2522 2716 2804 +14128 4 2 0 1 873 1012 1006 2155 +14129 4 2 0 1 785 729 711 2375 +14130 4 2 0 1 1570 2318 2082 2609 +14131 4 2 0 1 1723 2225 2054 2626 +14132 4 2 0 1 429 241 243 2752 +14133 4 2 0 1 411 434 173 2101 +14134 4 2 0 1 241 2173 2554 2752 +14135 4 2 0 1 341 210 337 2601 +14136 4 2 0 1 515 626 650 2359 +14137 4 2 0 1 1476 558 1447 643 +14138 4 2 0 1 1403 1178 2201 2737 +14139 4 2 0 1 435 2405 1045 2424 +14140 4 2 0 1 476 442 404 2424 +14141 4 2 0 1 2180 2697 1573 2759 +14142 4 2 0 1 2154 2753 1916 2802 +14143 4 2 0 1 2094 2620 1837 2740 +14144 4 2 0 1 1626 2099 2347 2608 +14145 4 2 0 1 435 476 404 2424 +14146 4 2 0 1 1349 1351 1214 2044 +14147 4 2 0 1 715 696 740 2217 +14148 4 2 0 1 367 2097 179 2821 +14149 4 2 0 1 417 390 188 2090 +14150 4 2 0 1 1358 1225 1348 2076 +14151 4 2 0 1 289 2222 200 2741 +14152 4 2 0 1 633 530 687 2766 +14153 4 2 0 1 890 37 173 972 +14154 4 2 0 1 713 768 779 2529 +14155 4 2 0 1 1639 2654 2463 2743 +14156 4 2 0 1 792 155 156 2670 +14157 4 2 0 1 1874 1702 2630 2652 +14158 4 2 0 1 1870 2594 1710 2603 +14159 4 2 0 1 1048 1144 1044 2064 +14160 4 2 0 1 1562 2380 2314 2823 +14161 4 2 0 1 1454 1432 1190 2513 +14162 4 2 0 1 1573 2122 2452 2473 +14163 4 2 0 1 1098 1029 1072 2054 +14164 4 2 0 1 1665 2611 1917 2671 +14165 4 2 0 1 684 678 545 2569 +14166 4 2 0 1 396 2662 469 2824 +14167 4 2 0 1 1643 2685 2209 2793 +14168 4 2 0 1 1165 1028 1088 2414 +14169 4 2 0 1 1800 2209 2685 2793 +14170 4 2 0 1 1472 1282 1180 2229 +14171 4 2 0 1 1380 1409 1379 2493 +14172 4 2 0 1 1443 1468 2026 2686 +14173 4 2 0 1 771 710 784 2508 +14174 4 2 0 1 207 316 321 2130 +14175 4 2 0 1 268 174 670 2830 +14176 4 2 0 1 1180 1266 1267 2563 +14177 4 2 0 1 1224 889 1382 2715 +14178 4 2 0 1 932 927 869 2251 +14179 4 2 0 1 1471 1298 1187 2383 +14180 4 2 0 1 1558 2377 1985 2837 +14181 4 2 0 1 1104 2522 1842 2733 +14182 4 2 0 1 885 29 276 282 +14183 4 2 0 1 1525 1526 1203 2135 +14184 4 2 0 1 1488 737 1495 2087 +14185 4 2 0 1 145 827 2425 2638 +14186 4 2 0 1 1448 2263 1241 2780 +14187 4 2 0 1 1692 2665 2351 2754 +14188 4 2 0 1 1533 2270 2080 2838 +14189 4 2 0 1 563 141 628 1955 +14190 4 2 0 1 1105 1044 1095 2416 +14191 4 2 0 1 139 1155 1053 2264 +14192 4 2 0 1 2043 1959 2458 2518 +14193 4 2 0 1 2332 2341 2074 2762 +14194 4 2 0 1 1236 1268 1254 2289 +14195 4 2 0 1 1045 1074 1096 2405 +14196 4 2 0 1 304 303 2605 2614 +14197 4 2 0 1 944 960 988 2734 +14198 4 2 0 1 1242 1384 1439 2763 +14199 4 2 0 1 1692 2351 1974 2754 +14200 4 2 0 1 735 723 843 2135 +14201 4 2 0 1 1752 2316 1957 2816 +14202 4 2 0 1 2021 2474 1576 2552 +14203 4 2 0 1 1964 2792 1686 2797 +14204 4 2 0 1 459 2106 819 2714 +14205 4 2 0 1 296 332 200 2222 +14206 4 2 0 1 1638 1885 2325 2512 +14207 4 2 0 1 1435 2275 1179 2767 +14208 4 2 0 1 473 2092 382 2516 +14209 4 2 0 1 881 984 933 2589 +14210 4 2 0 1 968 861 899 2165 +14211 4 2 0 1 1457 1393 2326 2381 +14212 4 2 0 1 801 690 802 2028 +14213 4 2 0 1 891 2049 956 2561 +14214 4 2 0 1 645 1431 1429 2132 +14215 4 2 0 1 1553 1921 2459 2749 +14216 4 2 0 1 446 192 1114 2349 +14217 4 2 0 1 2124 2533 190 2819 +14218 4 2 0 1 564 625 648 2350 +14219 4 2 0 1 630 626 451 2610 +14220 4 2 0 1 245 2445 471 2539 +14221 4 2 0 1 1747 2332 2074 2762 +14222 4 2 0 1 731 728 792 2055 +14223 4 2 0 1 2018 2374 1731 2534 +14224 4 2 0 1 1805 2531 2133 2668 +14225 4 2 0 1 1434 1404 1356 2007 +14226 4 2 0 1 2360 2425 1860 2638 +14227 4 2 0 1 1553 2415 1921 2749 +14228 4 2 0 1 2233 2499 1803 2775 +14229 4 2 0 1 1939 2468 1737 2489 +14230 4 2 0 1 1020 1135 1123 2491 +14231 4 2 0 1 1787 2716 2414 2804 +14232 4 2 0 1 562 644 470 2658 +14233 4 2 0 1 592 525 679 61 +14234 4 2 0 1 938 882 869 2251 +14235 4 2 0 1 1724 2589 2165 2644 +14236 4 2 0 1 294 523 519 2624 +14237 4 2 0 1 992 161 162 2035 +14238 4 2 0 1 1545 2164 2088 2676 +14239 4 2 0 1 507 438 506 2422 +14240 4 2 0 1 917 959 923 2241 +14241 4 2 0 1 526 909 885 282 +14242 4 2 0 1 1680 2753 2154 2802 +14243 4 2 0 1 312 301 235 2002 +14244 4 2 0 1 1410 1407 1248 2442 +14245 4 2 0 1 1141 1148 1094 2733 +14246 4 2 0 1 181 326 341 2559 +14247 4 2 0 1 1653 2587 1973 2766 +14248 4 2 0 1 1648 2577 2643 2717 +14249 4 2 0 1 779 840 728 2055 +14250 4 2 0 1 561 2132 583 2294 +14251 4 2 0 1 1964 2622 1686 2792 +14252 4 2 0 1 943 2279 965 2591 +14253 4 2 0 1 2161 1662 2360 2638 +14254 4 2 0 1 1120 1047 1094 2733 +14255 4 2 0 1 1978 1681 2556 2613 +14256 4 2 0 1 1526 1494 1203 2135 +14257 4 2 0 1 369 173 225 2317 +14258 4 2 0 1 1651 2257 2199 2520 +14259 4 2 0 1 553 656 605 2009 +14260 4 2 0 1 630 678 626 2610 +14261 4 2 0 1 1068 1025 1064 2339 +14262 4 2 0 1 458 2525 219 2744 +14263 4 2 0 1 1668 2020 2399 2417 +14264 4 2 0 1 726 791 151 2109 +14265 4 2 0 1 159 2394 160 2561 +14266 4 2 0 1 1184 1468 1477 2724 +14267 4 2 0 1 328 365 183 2669 +14268 4 2 0 1 772 716 785 2666 +14269 4 2 0 1 1535 2203 2304 2665 +14270 4 2 0 1 107 979 1436 2462 +14271 4 2 0 1 1466 1119 1083 1115 +14272 4 2 0 1 118 1067 1046 1250 +14273 4 2 0 1 470 644 426 2658 +14274 4 2 0 1 1705 2627 2755 2760 +14275 4 2 0 1 983 965 921 2279 +14276 4 2 0 1 1166 1078 1038 2564 +14277 4 2 0 1 167 456 366 2159 +14278 4 2 0 1 2436 2502 1629 2772 +14279 4 2 0 1 949 880 900 2637 +14280 4 2 0 1 1705 2755 2387 2760 +14281 4 2 0 1 2081 2499 2233 2775 +14282 4 2 0 1 1180 1482 1497 2229 +14283 4 2 0 1 1190 1451 1467 2513 +14284 4 2 0 1 1175 1122 1121 2138 +14285 4 2 0 1 1821 2194 2415 2655 +14286 4 2 0 1 293 392 214 2516 +14287 4 2 0 1 1769 2513 1906 2608 +14288 4 2 0 1 1577 2058 2621 2748 +14289 4 2 0 1 1885 2711 2008 2801 +14290 4 2 0 1 1035 1154 1031 2170 +14291 4 2 0 1 932 882 941 2251 +14292 4 2 0 1 1034 1108 1171 2603 +14293 4 2 0 1 1242 1439 2387 2763 +14294 4 2 0 1 1125 1032 1081 2255 +14295 4 2 0 1 247 2533 261 2658 +14296 4 2 0 1 216 371 455 2554 +14297 4 2 0 1 107 1436 1291 2462 +14298 4 2 0 1 513 2355 2157 2824 +14299 4 2 0 1 1209 1366 1393 2381 +14300 4 2 0 1 1618 1973 2246 2697 +14301 4 2 0 1 1533 2504 1970 2583 +14302 4 2 0 1 268 2128 496 2830 +14303 4 2 0 1 2195 2303 1646 2716 +14304 4 2 0 1 1535 2110 2431 2487 +14305 4 2 0 1 1313 2531 2133 2788 +14306 4 2 0 1 1899 2618 1668 2827 +14307 4 2 0 1 1950 1655 2450 2727 +14308 4 2 0 1 637 615 551 2663 +14309 4 2 0 1 1190 2513 1467 2631 +14310 4 2 0 1 371 2554 2395 2791 +14311 4 2 0 1 1018 2191 1161 2594 +14312 4 2 0 1 142 826 788 2120 +14313 4 2 0 1 1735 2435 2434 2500 +14314 4 2 0 1 2326 2381 1393 2825 +14315 4 2 0 1 1568 2252 2047 2831 +14316 4 2 0 1 1550 2519 2449 2568 +14317 4 2 0 1 172 2456 254 2457 +14318 4 2 0 1 241 2173 423 2554 +14319 4 2 0 1 481 185 2330 2560 +14320 4 2 0 1 1010 2070 988 2734 +14321 4 2 0 1 1301 1334 1212 2420 +14322 4 2 0 1 1786 2536 2345 2802 +14323 4 2 0 1 1339 1302 1187 2383 +14324 4 2 0 1 944 988 898 2070 +14325 4 2 0 1 301 338 235 2605 +14326 4 2 0 1 577 564 654 2830 +14327 4 2 0 1 1001 1009 989 2562 +14328 4 2 0 1 1486 1270 2640 2696 +14329 4 2 0 1 2463 2654 1866 2743 +14330 4 2 0 1 1397 1240 1385 2148 +14331 4 2 0 1 1153 1139 1079 2582 +14332 4 2 0 1 1027 1107 1089 2642 +14333 4 2 0 1 1085 2191 1121 2584 +14334 4 2 0 1 1697 2662 2657 2824 +14335 4 2 0 1 2100 2372 1796 2577 +14336 4 2 0 1 598 2587 687 2766 +14337 4 2 0 1 1605 2315 1964 2797 +14338 4 2 0 1 1165 1043 1028 2414 +14339 4 2 0 1 2218 2764 1614 2814 +14340 4 2 0 1 971 886 913 2775 +14341 4 2 0 1 1276 1190 1450 2171 +14342 4 2 0 1 2260 2481 1700 2569 +14343 4 2 0 1 2234 2729 1854 2787 +14344 4 2 0 1 448 265 2086 2612 +14345 4 2 0 1 1133 127 1271 1049 +14346 4 2 0 1 1697 1915 2662 2824 +14347 4 2 0 1 1066 1273 1508 2696 +14348 4 2 0 1 1104 1165 1120 2733 +14349 4 2 0 1 1710 2594 1870 2710 +14350 4 2 0 1 1570 2082 2291 2609 +14351 4 2 0 1 690 733 809 2378 +14352 4 2 0 1 536 623 562 2658 +14353 4 2 0 1 410 397 177 2752 +14354 4 2 0 1 1278 1254 1196 2117 +14355 4 2 0 1 2414 2716 1842 2804 +14356 4 2 0 1 1202 1079 1139 2582 +14357 4 2 0 1 940 888 945 2461 +14358 4 2 0 1 220 2156 339 2683 +14359 4 2 0 1 185 189 481 2330 +14360 4 2 0 1 1424 1344 1430 2812 +14361 4 2 0 1 1218 1321 1349 2455 +14362 4 2 0 1 285 954 978 2327 +14363 4 2 0 1 629 147 565 2131 +14364 4 2 0 1 1345 1299 1308 2655 +14365 4 2 0 1 1870 2594 1711 2710 +14366 4 2 0 1 518 2277 172 2645 +14367 4 2 0 1 1202 1208 122 1079 +14368 4 2 0 1 634 2321 676 2766 +14369 4 2 0 1 766 712 776 2403 +14370 4 2 0 1 2246 2367 1618 2725 +14371 4 2 0 1 524 503 516 2477 +14372 4 2 0 1 1917 2547 1551 2762 +14373 4 2 0 1 97 1290 719 1505 +14374 4 2 0 1 507 496 268 2128 +14375 4 2 0 1 419 335 330 2200 +14376 4 2 0 1 326 1913 432 2405 +14377 4 2 0 1 2289 2551 1623 2730 +14378 4 2 0 1 1573 2452 2122 2630 +14379 4 2 0 1 1163 1162 1150 2384 +14380 4 2 0 1 246 433 195 2498 +14381 4 2 0 1 1670 2554 2395 2735 +14382 4 2 0 1 1606 2535 2040 2757 +14383 4 2 0 1 217 381 356 2207 +14384 4 2 0 1 2081 2299 1628 2499 +14385 4 2 0 1 2029 2519 1695 2799 +14386 4 2 0 1 1397 1365 1435 2275 +14387 4 2 0 1 999 155 2165 2670 +14388 4 2 0 1 819 2106 745 2714 +14389 4 2 0 1 1796 2100 2643 2837 +14390 4 2 0 1 1037 1163 1150 2565 +14391 4 2 0 1 2086 2319 1593 2545 +14392 4 2 0 1 1687 2514 2317 2576 +14393 4 2 0 1 2062 1686 2412 2797 +14394 4 2 0 1 2309 2519 1709 2799 +14395 4 2 0 1 301 2002 312 2741 +14396 4 2 0 1 437 255 395 2297 +14397 4 2 0 1 991 935 980 2115 +14398 4 2 0 1 1282 2581 1394 2582 +14399 4 2 0 1 1316 2420 1301 2740 +14400 4 2 0 1 1325 1377 1333 2325 +14401 4 2 0 1 1707 2640 1914 2696 +14402 4 2 0 1 639 2469 595 2812 +14403 4 2 0 1 924 858 1001 2125 +14404 4 2 0 1 1914 2346 1707 2696 +14405 4 2 0 1 2253 2378 2045 2717 +14406 4 2 0 1 2080 2270 1657 2838 +14407 4 2 0 1 2320 2534 1714 2834 +14408 4 2 0 1 2146 2620 1837 2833 +14409 4 2 0 1 1431 1400 1429 2132 +14410 4 2 0 1 1149 1176 1084 2594 +14411 4 2 0 1 1984 2419 1735 2686 +14412 4 2 0 1 1766 2246 2180 2697 +14413 4 2 0 1 1088 1028 1103 2414 +14414 4 2 0 1 1232 1322 1332 2441 +14415 4 2 0 1 432 326 391 1913 +14416 4 2 0 1 381 2207 217 2661 +14417 4 2 0 1 586 2046 539 2761 +14418 4 2 0 1 1071 1133 1077 2056 +14419 4 2 0 1 1151 1140 162 2416 +14420 4 2 0 1 352 176 309 2269 +14421 4 2 0 1 409 452 224 2084 +14422 4 2 0 1 1519 1381 1508 2278 +14423 4 2 0 1 886 950 937 2081 +14424 4 2 0 1 1822 2502 2436 2772 +14425 4 2 0 1 1873 2492 2221 2738 +14426 4 2 0 1 1681 2642 2406 2768 +14427 4 2 0 1 546 2367 542 2725 +14428 4 2 0 1 1670 2752 1965 2791 +14429 4 2 0 1 365 444 509 2409 +14430 4 2 0 1 273 285 978 2327 +14431 4 2 0 1 1717 2413 2245 2739 +14432 4 2 0 1 127 1205 1271 1049 +14433 4 2 0 1 760 758 797 2585 +14434 4 2 0 1 895 977 2421 2695 +14435 4 2 0 1 1542 2100 2372 2693 +14436 4 2 0 1 584 644 562 2658 +14437 4 2 0 1 1238 1418 1386 2711 +14438 4 2 0 1 1509 1283 1487 2435 +14439 4 2 0 1 1678 2001 2381 2703 +14440 4 2 0 1 429 2173 241 2752 +14441 4 2 0 1 991 980 153 2115 +14442 4 2 0 1 1659 2397 1982 2727 +14443 4 2 0 1 565 148 667 2131 +14444 4 2 0 1 1398 1504 1286 2419 +14445 4 2 0 1 1726 2425 2360 2638 +14446 4 2 0 1 698 721 2628 2692 +14447 4 2 0 1 1113 160 1136 2394 +14448 4 2 0 1 1209 1380 1379 2381 +14449 4 2 0 1 784 696 2217 2508 +14450 4 2 0 1 901 893 865 2137 +14451 4 2 0 1 2214 2413 1717 2739 +14452 4 2 0 1 711 729 695 2375 +14453 4 2 0 1 2030 2525 1649 2744 +14454 4 2 0 1 1712 2460 2121 2794 +14455 4 2 0 1 501 12 269 740 +14456 4 2 0 1 713 774 702 2529 +14457 4 2 0 1 2474 2619 1951 2833 +14458 4 2 0 1 2066 2341 1792 2404 +14459 4 2 0 1 584 562 610 2658 +14460 4 2 0 1 659 1252 631 2469 +14461 4 2 0 1 1126 1102 1087 2202 +14462 4 2 0 1 322 314 394 2397 +14463 4 2 0 1 1365 1426 1433 2770 +14464 4 2 0 1 1205 1049 1068 2339 +14465 4 2 0 1 1258 2326 1393 2825 +14466 4 2 0 1 325 330 402 2328 +14467 4 2 0 1 1519 1508 1273 2696 +14468 4 2 0 1 1145 1127 1083 1994 +14469 4 2 0 1 1699 2601 2130 2621 +14470 4 2 0 1 924 1001 989 2125 +14471 4 2 0 1 2117 1623 2551 2730 +14472 4 2 0 1 1642 2234 2787 2801 +14473 4 2 0 1 1373 1232 1332 2441 +14474 4 2 0 1 1557 2541 2228 2768 +14475 4 2 0 1 1497 2229 1482 2640 +14476 4 2 0 1 1538 2470 2285 2703 +14477 4 2 0 1 228 2645 1905 2815 +14478 4 2 0 1 581 557 279 58 +14479 4 2 0 1 186 2327 273 2803 +14480 4 2 0 1 1160 1161 1162 2384 +14481 4 2 0 1 2185 2200 1736 2632 +14482 4 2 0 1 1071 1103 1028 2414 +14483 4 2 0 1 770 841 782 2161 +14484 4 2 0 1 1985 2443 2377 2705 +14485 4 2 0 1 474 528 243 2606 +14486 4 2 0 1 1067 118 1273 1250 +14487 4 2 0 1 2130 2601 1789 2621 +14488 4 2 0 1 1027 2406 1096 2642 +14489 4 2 0 1 513 519 289 2157 +14490 4 2 0 1 796 817 752 2677 +14491 4 2 0 1 247 190 261 2533 +14492 4 2 0 1 586 588 619 2046 +14493 4 2 0 1 675 594 672 2672 +14494 4 2 0 1 1879 2200 2185 2632 +14495 4 2 0 1 2299 2374 1628 2499 +14496 4 2 0 1 221 421 378 2464 +14497 4 2 0 1 524 264 267 2209 +14498 4 2 0 1 1611 1970 2504 2796 +14499 4 2 0 1 435 1045 476 2424 +14500 4 2 0 1 2100 2577 1796 2643 +14501 4 2 0 1 1635 2460 2121 2566 +14502 4 2 0 1 2245 2413 1717 2707 +14503 4 2 0 1 1116 133 1056 1960 +14504 4 2 0 1 1252 1400 1344 2469 +14505 4 2 0 1 1027 1089 1091 2406 +14506 4 2 0 1 997 1507 1485 1501 +14507 4 2 0 1 683 596 542 2367 +14508 4 2 0 1 284 516 527 2338 +14509 4 2 0 1 582 480 470 562 +14510 4 2 0 1 278 958 34 954 +14511 4 2 0 1 590 2400 678 2610 +14512 4 2 0 1 739 699 735 2135 +14513 4 2 0 1 1906 2513 1769 2780 +14514 4 2 0 1 674 672 673 2180 +14515 4 2 0 1 1058 137 2179 2777 +14516 4 2 0 1 1114 1118 1166 2349 +14517 4 2 0 1 1866 2573 2047 2831 +14518 4 2 0 1 1692 2351 2665 2783 +14519 4 2 0 1 1703 2731 2160 2758 +14520 4 2 0 1 1704 2314 2059 2823 +14521 4 2 0 1 942 879 918 2514 +14522 4 2 0 1 439 190 2533 2819 +14523 4 2 0 1 287 30 276 1007 +14524 4 2 0 1 467 453 454 2445 +14525 4 2 0 1 1806 2219 2362 2680 +14526 4 2 0 1 504 512 489 2225 +14527 4 2 0 1 458 2674 2525 2744 +14528 4 2 0 1 966 879 942 2542 +14529 4 2 0 1 1670 2604 1940 2735 +14530 4 2 0 1 533 553 571 2197 +14531 4 2 0 1 1304 1313 2133 2788 +14532 4 2 0 1 1608 2373 2334 2829 +14533 4 2 0 1 2128 2606 2173 2818 +14534 4 2 0 1 2206 1618 2496 2782 +14535 4 2 0 1 1208 1168 1079 2582 +14536 4 2 0 1 2047 2573 1568 2831 +14537 4 2 0 1 1725 2481 2260 2569 +14538 4 2 0 1 1274 2303 1277 2586 +14539 4 2 0 1 496 528 253 2830 +14540 4 2 0 1 901 883 944 2287 +14541 4 2 0 1 440 439 2533 2819 +14542 4 2 0 1 606 2212 653 2283 +14543 4 2 0 1 1278 1261 1254 2117 +14544 4 2 0 1 648 133 132 2350 +14545 4 2 0 1 1504 1518 1487 2686 +14546 4 2 0 1 1153 1079 1034 2582 +14547 4 2 0 1 1777 2413 2707 2813 +14548 4 2 0 1 2010 1573 2473 2697 +14549 4 2 0 1 1748 2382 2158 2738 +14550 4 2 0 1 1456 2087 1495 2666 +14551 4 2 0 1 1067 1046 1273 2696 +14552 4 2 0 1 623 610 562 2658 +14553 4 2 0 1 325 232 405 2328 +14554 4 2 0 1 889 113 1382 908 +14555 4 2 0 1 588 2046 586 2560 +14556 4 2 0 1 943 965 928 2591 +14557 4 2 0 1 260 489 2422 2626 +14558 4 2 0 1 586 539 608 2761 +14559 4 2 0 1 1842 2716 2522 2804 +14560 4 2 0 1 29 885 276 970 +14561 4 2 0 1 904 865 893 2137 +14562 4 2 0 1 396 288 2657 2824 +14563 4 2 0 1 1106 1094 1047 2060 +14564 4 2 0 1 320 329 168 2399 +14565 4 2 0 1 886 937 913 2081 +14566 4 2 0 1 384 310 183 2647 +14567 4 2 0 1 890 864 951 2494 +14568 4 2 0 1 273 2327 978 2803 +14569 4 2 0 1 1725 2610 2400 2661 +14570 4 2 0 1 2106 2635 1718 2714 +14571 4 2 0 1 501 422 508 2217 +14572 4 2 0 1 642 586 2330 2560 +14573 4 2 0 1 1504 1487 2419 2686 +14574 4 2 0 1 1524 1505 719 2722 +14575 4 2 0 1 1249 1427 1456 2485 +14576 4 2 0 1 220 374 354 2683 +14577 4 2 0 1 592 588 679 2560 +14578 4 2 0 1 1996 1649 2674 2744 +14579 4 2 0 1 938 951 882 2495 +14580 4 2 0 1 1688 2458 1959 2719 +14581 4 2 0 1 1951 2619 2474 2810 +14582 4 2 0 1 1076 1074 1130 2405 +14583 4 2 0 1 233 326 432 2405 +14584 4 2 0 1 1649 2525 2066 2674 +14585 4 2 0 1 176 357 334 2268 +14586 4 2 0 1 225 369 2317 2679 +14587 4 2 0 1 1543 2578 2083 2660 +14588 4 2 0 1 2398 2688 1856 2809 +14589 4 2 0 1 1750 2398 2258 2688 +14590 4 2 0 1 873 1006 879 2542 +14591 4 2 0 1 1070 260 54 2422 +14592 4 2 0 1 1275 1441 1193 2615 +14593 4 2 0 1 1888 2300 2369 2806 +14594 4 2 0 1 327 289 200 2741 +14595 4 2 0 1 1914 2640 1270 2696 +14596 4 2 0 1 74 1476 1447 643 +14597 4 2 0 1 254 172 198 2456 +14598 4 2 0 1 1536 2215 2463 2743 +14599 4 2 0 1 2180 2246 1973 2697 +14600 4 2 0 1 1050 260 53 1070 +14601 4 2 0 1 1331 1301 1309 2740 +14602 4 2 0 1 1916 2753 1786 2802 +14603 4 2 0 1 739 699 2135 2722 +14604 4 2 0 1 264 466 267 2209 +14605 4 2 0 1 1431 645 82 561 +14606 4 2 0 1 943 878 965 2279 +14607 4 2 0 1 737 724 697 2087 +14608 4 2 0 1 1719 2082 2318 2609 +14609 4 2 0 1 133 625 569 2350 +14610 4 2 0 1 1645 2509 2039 2646 +14611 4 2 0 1 1745 2522 2179 2777 +14612 4 2 0 1 1080 47 1138 272 +14613 4 2 0 1 726 776 732 2628 +14614 4 2 0 1 473 382 214 2516 +14615 4 2 0 1 2314 2380 2059 2823 +14616 4 2 0 1 720 464 23 741 +14617 4 2 0 1 1323 1491 1499 2484 +14618 4 2 0 1 780 763 701 2436 +14619 4 2 0 1 2406 2642 1864 2768 +14620 4 2 0 1 1715 2478 1940 2789 +14621 4 2 0 1 1309 1302 1339 2668 +14622 4 2 0 1 1914 2229 2095 2581 +14623 4 2 0 1 498 290 294 2062 +14624 4 2 0 1 1168 1394 1262 2581 +14625 4 2 0 1 836 15 465 819 +14626 4 2 0 1 1177 1297 1306 2512 +14627 4 2 0 1 1996 2539 1665 2639 +14628 4 2 0 1 787 774 713 2529 +14629 4 2 0 1 1010 898 988 2070 +14630 4 2 0 1 2377 2643 2100 2837 +14631 4 2 0 1 1230 1425 1385 2721 +14632 4 2 0 1 260 1050 266 2626 +14633 4 2 0 1 467 425 453 2404 +14634 4 2 0 1 1959 2458 1746 2719 +14635 4 2 0 1 833 823 767 2649 +14636 4 2 0 1 1720 2222 2157 2779 +14637 4 2 0 1 1063 1070 54 2422 +14638 4 2 0 1 1000 922 859 2695 +14639 4 2 0 1 1494 1203 2135 2722 +14640 4 2 0 1 531 567 655 2192 +14641 4 2 0 1 1051 1156 131 2128 +14642 4 2 0 1 1648 2577 2100 2643 +14643 4 2 0 1 558 74 1447 643 +14644 4 2 0 1 1543 2083 2578 2726 +14645 4 2 0 1 1018 1084 1086 2594 +14646 4 2 0 1 1674 2457 2277 2645 +14647 4 2 0 1 1560 2413 2245 2707 +14648 4 2 0 1 429 2173 2606 2818 +14649 4 2 0 1 1412 1410 1421 2091 +14650 4 2 0 1 429 194 2173 2818 +14651 4 2 0 1 522 193 526 2477 +14652 4 2 0 1 463 505 171 2567 +14653 4 2 0 1 2336 2535 1979 2757 +14654 4 2 0 1 413 465 187 2106 +14655 4 2 0 1 222 329 320 2020 +14656 4 2 0 1 796 815 851 2596 +14657 4 2 0 1 552 612 572 2344 +14658 4 2 0 1 2146 1837 2625 2833 +14659 4 2 0 1 975 895 963 2421 +14660 4 2 0 1 2133 2302 1304 2788 +14661 4 2 0 1 890 910 864 2494 +14662 4 2 0 1 690 814 733 2045 +14663 4 2 0 1 1085 1018 1121 2191 +14664 4 2 0 1 1067 1273 1046 1250 +14665 4 2 0 1 684 666 2359 2569 +14666 4 2 0 1 1197 1277 1407 2442 +14667 4 2 0 1 1200 1414 1280 2053 +14668 4 2 0 1 510 497 515 2359 +14669 4 2 0 1 513 494 519 2355 +14670 4 2 0 1 1686 2336 2412 2792 +14671 4 2 0 1 1687 2155 2444 2542 +14672 4 2 0 1 1680 2433 2154 2706 +14673 4 2 0 1 1785 2304 2203 2665 +14674 4 2 0 1 2121 2460 1712 2566 +14675 4 2 0 1 1380 1379 2381 2493 +14676 4 2 0 1 639 544 551 2069 +14677 4 2 0 1 2372 2506 1830 2693 +14678 4 2 0 1 1461 2374 1458 2499 +14679 4 2 0 1 1653 2473 2272 2723 +14680 4 2 0 1 830 846 736 2277 +14681 4 2 0 1 443 372 256 2185 +14682 4 2 0 1 1717 2295 2707 2813 +14683 4 2 0 1 678 590 550 2400 +14684 4 2 0 1 1267 1255 1482 2021 +14685 4 2 0 1 582 562 470 2658 +14686 4 2 0 1 2074 1629 2332 2772 +14687 4 2 0 1 696 736 740 2217 +14688 4 2 0 1 336 2635 187 2714 +14689 4 2 0 1 1853 2578 2075 2660 +14690 4 2 0 1 634 676 633 2766 +14691 4 2 0 1 309 308 2269 2795 +14692 4 2 0 1 1387 1366 1226 2825 +14693 4 2 0 1 2018 2667 1926 2788 +14694 4 2 0 1 12 269 740 736 +14695 4 2 0 1 557 279 58 189 +14696 4 2 0 1 636 687 2587 2766 +14697 4 2 0 1 1481 1458 1279 2299 +14698 4 2 0 1 537 580 561 2294 +14699 4 2 0 1 1058 2179 1117 2522 +14700 4 2 0 1 225 355 369 2679 +14701 4 2 0 1 553 622 571 2197 +14702 4 2 0 1 2310 2521 1857 2712 +14703 4 2 0 1 452 366 398 2323 +14704 4 2 0 1 604 635 599 2786 +14705 4 2 0 1 1608 2334 2701 2829 +14706 4 2 0 1 260 438 54 2422 +14707 4 2 0 1 1442 1379 1312 2493 +14708 4 2 0 1 1667 2650 2061 2771 +14709 4 2 0 1 1258 1387 1391 2825 +14710 4 2 0 1 1026 1093 1090 2043 +14711 4 2 0 1 1982 2328 1655 2819 +14712 4 2 0 1 1381 1506 10 995 +14713 4 2 0 1 598 636 687 2587 +14714 4 2 0 1 2729 2787 2234 2801 +14715 4 2 0 1 10 1381 995 166 +14716 4 2 0 1 974 984 857 2365 +14717 4 2 0 1 1448 1371 1241 2263 +14718 4 2 0 1 337 321 316 2601 +14719 4 2 0 1 634 601 676 2321 +14720 4 2 0 1 552 621 608 2761 +14721 4 2 0 1 1162 1161 1018 2191 +14722 4 2 0 1 504 2225 489 2626 +14723 4 2 0 1 340 235 303 2605 +14724 4 2 0 1 280 284 527 2338 +14725 4 2 0 1 1804 2599 2295 2707 +14726 4 2 0 1 1449 1222 1391 2247 +14727 4 2 0 1 912 972 890 2101 +14728 4 2 0 1 1075 1108 1034 2095 +14729 4 2 0 1 1615 2162 2421 2695 +14730 4 2 0 1 423 429 194 2173 +14731 4 2 0 1 971 1459 104 886 +14732 4 2 0 1 639 551 595 2469 +14733 4 2 0 1 1432 1451 1190 2513 +14734 4 2 0 1 1728 2335 2244 2656 +14735 4 2 0 1 2215 2743 2010 2782 +14736 4 2 0 1 215 374 378 2366 +14737 4 2 0 1 1683 2572 2398 2798 +14738 4 2 0 1 926 964 1015 2248 +14739 4 2 0 1 1469 1489 1186 2620 +14740 4 2 0 1 903 891 864 2494 +14741 4 2 0 1 476 1045 1069 2424 +14742 4 2 0 1 1781 2670 2165 2742 +14743 4 2 0 1 1711 2594 1870 2769 +14744 4 2 0 1 134 1152 1056 1960 +14745 4 2 0 1 1242 1255 1455 2387 +14746 4 2 0 1 62 592 510 650 +14747 4 2 0 1 1063 54 438 2422 +14748 4 2 0 1 203 2407 390 2657 +14749 4 2 0 1 708 796 754 2596 +14750 4 2 0 1 1452 1320 1415 2720 +14751 4 2 0 1 715 745 771 2714 +14752 4 2 0 1 733 763 809 2378 +14753 4 2 0 1 1723 2488 2054 2789 +14754 4 2 0 1 1242 2387 1384 2763 +14755 4 2 0 1 642 586 557 2330 +14756 4 2 0 1 1465 2499 1481 2775 +14757 4 2 0 1 389 414 412 2641 +14758 4 2 0 1 878 2279 943 2591 +14759 4 2 0 1 1059 1159 1128 2140 +14760 4 2 0 1 924 870 1011 2553 +14761 4 2 0 1 1117 1058 137 2179 +14762 4 2 0 1 507 2422 506 2818 +14763 4 2 0 1 645 583 561 2132 +14764 4 2 0 1 840 769 828 2186 +14765 4 2 0 1 228 380 485 2645 +14766 4 2 0 1 1253 1433 1426 2751 +14767 4 2 0 1 1035 1129 1107 2170 +14768 4 2 0 1 637 544 593 2663 +14769 4 2 0 1 1717 2707 2413 2813 +14770 4 2 0 1 107 919 979 2462 +14771 4 2 0 1 1086 1171 1090 2518 +14772 4 2 0 1 220 339 359 2683 +14773 4 2 0 1 1246 1275 1444 2557 +14774 4 2 0 1 473 170 382 2092 +14775 4 2 0 1 1127 1032 1039 2255 +14776 4 2 0 1 1574 2024 2526 2811 +14777 4 2 0 1 1382 1402 1474 904 +14778 4 2 0 1 1410 1230 1396 2721 +14779 4 2 0 1 1913 2405 1681 2642 +14780 4 2 0 1 333 168 356 2399 +14781 4 2 0 1 365 509 350 2153 +14782 4 2 0 1 830 140 846 2277 +14783 4 2 0 1 1688 2719 1959 2810 +14784 4 2 0 1 1059 1021 1041 2346 +14785 4 2 0 1 952 939 883 2715 +14786 4 2 0 1 1555 2598 2014 2659 +14787 4 2 0 1 1067 1273 1066 2696 +14788 4 2 0 1 1136 160 159 2394 +14789 4 2 0 1 1408 716 1294 2666 +14790 4 2 0 1 107 1291 919 2462 +14791 4 2 0 1 131 132 1051 2128 +14792 4 2 0 1 747 745 819 2106 +14793 4 2 0 1 1515 1493 1502 2339 +14794 4 2 0 1 353 383 403 2525 +14795 4 2 0 1 890 434 910 2494 +14796 4 2 0 1 493 426 66 658 +14797 4 2 0 1 50 1146 1118 286 +14798 4 2 0 1 458 403 219 2525 +14799 4 2 0 1 433 277 195 2498 +14800 4 2 0 1 1688 2064 2458 2719 +14801 4 2 0 1 572 612 625 2344 +14802 4 2 0 1 774 742 702 2690 +14803 4 2 0 1 787 719 774 2722 +14804 4 2 0 1 710 775 730 2508 +14805 4 2 0 1 805 694 717 2307 +14806 4 2 0 1 1310 1322 1188 2284 +14807 4 2 0 1 1543 2412 2336 2792 +14808 4 2 0 1 538 609 553 2408 +14809 4 2 0 1 1301 1212 1309 2668 +14810 4 2 0 1 317 339 220 2156 +14811 4 2 0 1 228 518 172 2645 +14812 4 2 0 1 1061 1104 2522 2804 +14813 4 2 0 1 951 2494 864 2495 +14814 4 2 0 1 928 983 895 2162 +14815 4 2 0 1 1306 1377 1219 2512 +14816 4 2 0 1 533 686 656 2390 +14817 4 2 0 1 902 941 882 2495 +14818 4 2 0 1 866 948 913 2233 +14819 4 2 0 1 257 505 280 2692 +14820 4 2 0 1 575 198 668 2456 +14821 4 2 0 1 336 508 393 2635 +14822 4 2 0 1 375 345 227 2468 +14823 4 2 0 1 546 542 665 2725 +14824 4 2 0 1 196 741 257 2692 +14825 4 2 0 1 458 403 2525 2674 +14826 4 2 0 1 1557 2228 2613 2768 +14827 4 2 0 1 1416 1268 1236 2289 +14828 4 2 0 1 192 446 1114 49 +14829 4 2 0 1 1405 820 1294 89 +14830 4 2 0 1 1435 1179 1404 2767 +14831 4 2 0 1 1552 2029 2779 2799 +14832 4 2 0 1 249 2821 449 2826 +14833 4 2 0 1 242 514 525 2560 +14834 4 2 0 1 2029 1709 2519 2799 +14835 4 2 0 1 1461 1415 1395 2720 +14836 4 2 0 1 323 181 341 2559 +14837 4 2 0 1 1040 2406 1091 2543 +14838 4 2 0 1 1257 1289 1430 2812 +14839 4 2 0 1 2336 2412 1543 2757 +14840 4 2 0 1 592 525 61 514 +14841 4 2 0 1 1394 1282 1472 2581 +14842 4 2 0 1 768 762 824 2034 +14843 4 2 0 1 1683 2527 2295 2798 +14844 4 2 0 1 1340 1374 1217 2579 +14845 4 2 0 1 1660 2368 2238 2505 +14846 4 2 0 1 1329 2453 1245 2737 +14847 4 2 0 1 1746 2458 2064 2719 +14848 4 2 0 1 2319 2483 1875 2689 +14849 4 2 0 1 1307 1498 1473 2241 +14850 4 2 0 1 1655 2727 1982 2819 +14851 4 2 0 1 1316 1301 1186 2740 +14852 4 2 0 1 186 273 251 2803 +14853 4 2 0 1 432 1913 391 2713 +14854 4 2 0 1 1753 2373 2110 2829 +14855 4 2 0 1 295 484 298 2446 +14856 4 2 0 1 213 222 320 2020 +14857 4 2 0 1 1553 2206 2496 2782 +14858 4 2 0 1 455 371 397 2791 +14859 4 2 0 1 731 723 699 2135 +14860 4 2 0 1 145 144 827 2638 +14861 4 2 0 1 903 910 244 2494 +14862 4 2 0 1 1522 1515 1492 2264 +14863 4 2 0 1 1057 161 160 1929 +14864 4 2 0 1 174 275 577 2830 +14865 4 2 0 1 1239 1353 1389 2322 +14866 4 2 0 1 1020 1123 1092 2491 +14867 4 2 0 1 205 366 340 2323 +14868 4 2 0 1 1041 1097 1110 2346 +14869 4 2 0 1 450 197 278 2576 +14870 4 2 0 1 881 861 984 2589 +14871 4 2 0 1 196 734 741 2692 +14872 4 2 0 1 1258 1457 1393 2326 +14873 4 2 0 1 1367 1452 1436 2462 +14874 4 2 0 1 237 365 318 2409 +14875 4 2 0 1 467 191 468 2144 +14876 4 2 0 1 1403 1245 1178 2737 +14877 4 2 0 1 263 13 501 740 +14878 4 2 0 1 966 922 873 2542 +14879 4 2 0 1 1122 1175 1124 2138 +14880 4 2 0 1 159 891 158 2049 +14881 4 2 0 1 513 494 2355 2824 +14882 4 2 0 1 1004 969 961 2588 +14883 4 2 0 1 1489 1352 1186 2094 +14884 4 2 0 1 584 610 541 2530 +14885 4 2 0 1 1450 1190 1467 2631 +14886 4 2 0 1 586 619 539 2046 +14887 4 2 0 1 1139 1202 122 1079 +14888 4 2 0 1 1082 1160 1163 2384 +14889 4 2 0 1 296 289 523 2222 +14890 4 2 0 1 136 1170 1141 2777 +14891 4 2 0 1 1636 2326 2247 2825 +14892 4 2 0 1 1242 1455 1384 2387 +14893 4 2 0 1 813 777 855 2316 +14894 4 2 0 1 1373 1332 1392 2441 +14895 4 2 0 1 612 560 617 2236 +14896 4 2 0 1 313 307 292 2353 +14897 4 2 0 1 228 380 2645 2815 +14898 4 2 0 1 993 985 979 2462 +14899 4 2 0 1 713 702 768 2529 +14900 4 2 0 1 1509 2435 1487 2686 +14901 4 2 0 1 813 795 850 2267 +14902 4 2 0 1 1461 2499 1415 2720 +14903 4 2 0 1 296 2222 523 2624 +14904 4 2 0 1 592 62 510 514 +14905 4 2 0 1 1716 1952 2821 2826 +14906 4 2 0 1 1169 1019 1143 2119 +14907 4 2 0 1 958 918 1006 2576 +14908 4 2 0 1 1445 1457 2326 2751 +14909 4 2 0 1 177 229 379 2791 +14910 4 2 0 1 1667 2428 2125 2778 +14911 4 2 0 1 203 385 390 2407 +14912 4 2 0 1 641 543 597 2256 +14913 4 2 0 1 826 830 722 2732 +14914 4 2 0 1 1125 1039 1032 2255 +14915 4 2 0 1 1048 1017 1144 2458 +14916 4 2 0 1 1307 1473 1510 2241 +14917 4 2 0 1 1562 2380 2286 2745 +14918 4 2 0 1 1664 2035 2259 2734 +14919 4 2 0 1 1575 2039 2509 2646 +14920 4 2 0 1 666 549 543 2569 +14921 4 2 0 1 1413 1229 1420 2667 +14922 4 2 0 1 1079 1168 1075 2582 +14923 4 2 0 1 1363 1235 1364 2342 +14924 4 2 0 1 895 859 977 2695 +14925 4 2 0 1 1359 1326 1375 2467 +14926 4 2 0 1 606 664 653 2212 +14927 4 2 0 1 1441 1251 1383 2835 +14928 4 2 0 1 343 176 334 2268 +14929 4 2 0 1 2315 2792 1964 2797 +14930 4 2 0 1 142 788 727 2120 +14931 4 2 0 1 240 251 265 2612 +14932 4 2 0 1 1618 2496 2010 2697 +14933 4 2 0 1 179 367 427 2097 +14934 4 2 0 1 1205 1068 1502 2339 +14935 4 2 0 1 1047 1020 1092 2491 +14936 4 2 0 1 1970 2583 2504 2796 +14937 4 2 0 1 828 769 842 2186 +14938 4 2 0 1 355 225 226 2679 +14939 4 2 0 1 2062 2412 1699 2805 +14940 4 2 0 1 67 470 562 644 +14941 4 2 0 1 1379 1218 1312 2493 +14942 4 2 0 1 1256 1483 1453 2146 +14943 4 2 0 1 651 1200 77 591 +14944 4 2 0 1 241 429 423 2173 +14945 4 2 0 1 1639 2463 2215 2743 +14946 4 2 0 1 1996 2639 1665 2671 +14947 4 2 0 1 1558 2643 2377 2837 +14948 4 2 0 1 376 471 248 2539 +14949 4 2 0 1 836 231 16 837 +14950 4 2 0 1 1068 1049 1025 2339 +14951 4 2 0 1 511 505 463 2567 +14952 4 2 0 1 890 37 434 173 +14953 4 2 0 1 1304 1313 1212 2133 +14954 4 2 0 1 1524 98 719 1505 +14955 4 2 0 1 471 245 453 2445 +14956 4 2 0 1 384 331 310 2647 +14957 4 2 0 1 1114 192 49 1118 +14958 4 2 0 1 1272 1204 1279 2299 +14959 4 2 0 1 641 547 543 2256 +14960 4 2 0 1 249 367 179 2821 +14961 4 2 0 1 546 620 683 2367 +14962 4 2 0 1 1777 2707 2295 2813 +14963 4 2 0 1 1370 1323 1311 2484 +14964 4 2 0 1 1716 2821 2641 2826 +14965 4 2 0 1 752 798 799 2677 +14966 4 2 0 1 448 2086 250 2821 +14967 4 2 0 1 2075 2578 1543 2660 +14968 4 2 0 1 716 1408 1294 88 +14969 4 2 0 1 539 601 603 2761 +14970 4 2 0 1 1012 978 954 2327 +14971 4 2 0 1 1201 1450 790 2171 +14972 4 2 0 1 2124 2450 1655 2727 +14973 4 2 0 1 1054 1066 1157 2278 +14974 4 2 0 1 287 1007 920 479 +14975 4 2 0 1 2119 2570 1575 2817 +14976 4 2 0 1 606 632 559 2283 +14977 4 2 0 1 688 596 661 2246 +14978 4 2 0 1 1377 1325 1219 2325 +14979 4 2 0 1 1746 2719 2064 2814 +14980 4 2 0 1 237 520 444 2409 +14981 4 2 0 1 858 961 925 2588 +14982 4 2 0 1 1655 2533 2124 2819 +14983 4 2 0 1 617 556 607 2236 +14984 4 2 0 1 380 300 2776 2815 +14985 4 2 0 1 228 172 2457 2645 +14986 4 2 0 1 712 786 732 2403 +14987 4 2 0 1 1435 1365 1179 2275 +14988 4 2 0 1 587 546 591 2053 +14989 4 2 0 1 1023 1067 1066 2696 +14990 4 2 0 1 1024 1062 1111 2488 +14991 4 2 0 1 1056 133 134 1960 +14992 4 2 0 1 701 771 745 2436 +14993 4 2 0 1 1197 1422 1261 2551 +14994 4 2 0 1 2174 2598 1555 2787 +14995 4 2 0 1 257 196 24 741 +14996 4 2 0 1 417 396 390 2657 +14997 4 2 0 1 230 511 463 2567 +14998 4 2 0 1 378 374 359 2683 +14999 4 2 0 1 1459 1211 104 886 +15000 4 2 0 1 626 684 650 2359 +15001 4 2 0 1 348 439 402 2819 +15002 4 2 0 1 1174 1128 1095 2274 +15003 4 2 0 1 1105 1100 2543 2709 +15004 4 2 0 1 1381 1506 995 166 +15005 4 2 0 1 947 969 1004 2280 +15006 4 2 0 1 1005 944 883 2287 +15007 4 2 0 1 557 59 642 189 +15008 4 2 0 1 430 355 226 2679 +15009 4 2 0 1 903 244 40 996 +15010 4 2 0 1 497 431 515 2359 +15011 4 2 0 1 2064 2709 2543 2814 +15012 4 2 0 1 308 352 309 2269 +15013 4 2 0 1 1443 1509 1487 2686 +15014 4 2 0 1 59 185 642 189 +15015 4 2 0 1 473 392 424 2516 +15016 4 2 0 1 513 2157 288 2824 +15017 4 2 0 1 200 291 301 2741 +15018 4 2 0 1 138 1117 137 2179 +15019 4 2 0 1 348 2397 236 2819 +15020 4 2 0 1 1095 1128 1140 2274 +15021 4 2 0 1 5 268 670 131 +15022 4 2 0 1 868 943 928 2591 +15023 4 2 0 1 994 875 920 2803 +15024 4 2 0 1 1670 2554 2173 2752 +15025 4 2 0 1 821 720 464 22 +15026 4 2 0 1 1554 2592 2152 2644 +15027 4 2 0 1 440 439 190 2533 +15028 4 2 0 1 1708 2223 2178 2730 +15029 4 2 0 1 250 448 483 2086 +15030 4 2 0 1 237 364 180 2826 +15031 4 2 0 1 597 662 674 2672 +15032 4 2 0 1 400 2196 440 2533 +15033 4 2 0 1 1014 884 984 2589 +15034 4 2 0 1 2277 2457 172 2645 +15035 4 2 0 1 529 656 560 2169 +15036 4 2 0 1 276 30 970 1007 +15037 4 2 0 1 2165 2644 1781 2742 +15038 4 2 0 1 1494 1524 1203 2722 +15039 4 2 0 1 582 480 562 68 +15040 4 2 0 1 648 625 133 2350 +15041 4 2 0 1 1849 2628 2338 2692 +15042 4 2 0 1 1556 2664 2078 2765 +15043 4 2 0 1 262 284 511 2685 +15044 4 2 0 1 283 1167 45 1130 +15045 4 2 0 1 1286 1522 1513 2419 +15046 4 2 0 1 635 647 567 2786 +15047 4 2 0 1 1011 874 948 2553 +15048 4 2 0 1 18 468 789 831 +15049 4 2 0 1 1399 1426 1228 2770 +15050 4 2 0 1 1233 1443 1368 2507 +15051 4 2 0 1 233 435 404 2405 +15052 4 2 0 1 134 135 1152 2410 +15053 4 2 0 1 551 589 595 2469 +15054 4 2 0 1 691 692 804 2288 +15055 4 2 0 1 206 303 304 2614 +15056 4 2 0 1 159 160 956 2561 +15057 4 2 0 1 1608 2701 2118 2829 +15058 4 2 0 1 1422 1254 1261 2551 +15059 4 2 0 1 351 475 258 2333 +15060 4 2 0 1 2639 2647 1859 2671 +15061 4 2 0 1 2048 2466 1703 2758 +15062 4 2 0 1 1540 2756 2059 2827 +15063 4 2 0 1 1697 2657 2157 2824 +15064 4 2 0 1 890 938 912 2101 +15065 4 2 0 1 2285 2470 1636 2703 +15066 4 2 0 1 1235 1184 1364 2342 +15067 4 2 0 1 1200 1289 651 77 +15068 4 2 0 1 266 1132 52 517 +15069 4 2 0 1 288 513 289 2157 +15070 4 2 0 1 2215 1639 2743 2782 +15071 4 2 0 1 820 716 1294 89 +15072 4 2 0 1 1614 2764 2709 2814 +15073 4 2 0 1 955 108 979 1436 +15074 4 2 0 1 972 986 271 2576 +15075 4 2 0 1 84 1490 580 576 +15076 4 2 0 1 814 764 733 2045 +15077 4 2 0 1 712 732 776 2403 +15078 4 2 0 1 985 967 923 2057 +15079 4 2 0 1 1427 1406 1456 2358 +15080 4 2 0 1 322 182 314 2211 +15081 4 2 0 1 1472 1180 1497 2229 +15082 4 2 0 1 328 318 365 2669 +15083 4 2 0 1 1378 1240 1435 2767 +15084 4 2 0 1 2525 2674 1649 2744 +15085 4 2 0 1 2397 2727 2124 2819 +15086 4 2 0 1 714 770 782 2161 +15087 4 2 0 1 1457 1380 1393 2381 +15088 4 2 0 1 1104 1148 2522 2733 +15089 4 2 0 1 1345 1216 1330 2655 +15090 4 2 0 1 1296 1304 1462 2302 +15091 4 2 0 1 873 877 1012 2155 +15092 4 2 0 1 192 50 1118 286 +15093 4 2 0 1 1105 1151 1057 2709 +15094 4 2 0 1 947 875 969 2280 +15095 4 2 0 1 650 684 666 2359 +15096 4 2 0 1 1317 1213 1338 2788 +15097 4 2 0 1 2245 2550 1633 2739 +15098 4 2 0 1 263 14 715 2714 +15099 4 2 0 1 1456 1488 1495 2087 +15100 4 2 0 1 1370 1223 1310 2475 +15101 4 2 0 1 108 955 1390 1436 +15102 4 2 0 1 1105 2416 1151 2709 +15103 4 2 0 1 13 263 715 740 +15104 4 2 0 1 2017 2776 1778 2815 +15105 4 2 0 1 1114 1166 1172 2349 +15106 4 2 0 1 920 479 32 273 +15107 4 2 0 1 548 639 665 2725 +15108 4 2 0 1 956 896 902 2561 +15109 4 2 0 1 1741 2800 2479 2839 +15110 4 2 0 1 2592 2644 1554 2742 +15111 4 2 0 1 1200 76 680 1207 +15112 4 2 0 1 1657 2590 2080 2838 +15113 4 2 0 1 400 405 440 2196 +15114 4 2 0 1 731 779 728 2055 +15115 4 2 0 1 971 1008 105 2775 +15116 4 2 0 1 614 550 590 2400 +15117 4 2 0 1 1213 1413 1338 2667 +15118 4 2 0 1 273 186 285 2327 +15119 4 2 0 1 503 522 905 2477 +15120 4 2 0 1 1025 1049 1112 2339 +15121 4 2 0 1 972 918 986 2576 +15122 4 2 0 1 420 462 222 2438 +15123 4 2 0 1 1397 1228 1365 2770 +15124 4 2 0 1 1249 1456 1495 2666 +15125 4 2 0 1 1050 260 266 53 +15126 4 2 0 1 999 1013 968 2165 +15127 4 2 0 1 1746 2064 2543 2814 +15128 4 2 0 1 772 700 744 2041 +15129 4 2 0 1 1738 2423 2176 2836 +15130 4 2 0 1 739 1524 719 2722 +15131 4 2 0 1 151 152 2109 2523 +15132 4 2 0 1 1434 1384 1243 2763 +15133 4 2 0 1 1519 1256 1516 2278 +15134 4 2 0 1 1490 1198 84 580 +15135 4 2 0 1 920 479 273 2803 +15136 4 2 0 1 1315 1221 1376 2531 +15137 4 2 0 1 669 1513 1522 2419 +15138 4 2 0 1 1287 1196 1292 2178 +15139 4 2 0 1 738 716 1408 2666 +15140 4 2 0 1 1008 1464 105 2775 +15141 4 2 0 1 302 498 494 2262 +15142 4 2 0 1 1157 1381 166 2278 +15143 4 2 0 1 790 756 754 2171 +15144 4 2 0 1 24 196 734 741 +15145 4 2 0 1 1149 2594 1161 2769 +15146 4 2 0 1 813 753 795 2267 +15147 4 2 0 1 193 522 524 2477 +15148 4 2 0 1 27 522 909 905 +15149 4 2 0 1 1629 2502 2332 2772 +15150 4 2 0 1 1427 1470 1241 2485 +15151 4 2 0 1 1781 2644 2592 2742 +15152 4 2 0 1 669 139 566 2419 +15153 4 2 0 1 470 67 426 644 +15154 4 2 0 1 262 466 264 2685 +15155 4 2 0 1 1705 2226 2627 2760 +15156 4 2 0 1 613 618 559 2536 +15157 4 2 0 1 596 673 661 2246 +15158 4 2 0 1 1678 2703 2381 2704 +15159 4 2 0 1 645 589 583 2132 +15160 4 2 0 1 993 919 874 2462 +15161 4 2 0 1 611 561 583 2294 +15162 4 2 0 1 285 278 34 954 +15163 4 2 0 1 1735 2435 2500 2686 +15164 4 2 0 1 565 147 148 2131 +15165 4 2 0 1 725 825 761 2451 +15166 4 2 0 1 5 268 174 670 +15167 4 2 0 1 449 249 250 2821 +15168 4 2 0 1 66 426 644 658 +15169 4 2 0 1 815 803 829 2684 +15170 4 2 0 1 1274 1182 1277 2303 +15171 4 2 0 1 281 195 793 2498 +15172 4 2 0 1 1407 1277 1248 2442 +15173 4 2 0 1 1079 1075 1034 2582 +15174 4 2 0 1 1670 2147 2604 2735 +15175 4 2 0 1 474 486 253 2694 +15176 4 2 0 1 1128 1174 1021 2274 +15177 4 2 0 1 298 209 447 2446 +15178 4 2 0 1 1048 1105 1100 2543 +15179 4 2 0 1 888 931 857 2129 +15180 4 2 0 1 1196 1266 1292 2178 +15181 4 2 0 1 281 191 793 19 +15182 4 2 0 1 408 469 2662 2824 +15183 4 2 0 1 1292 2178 1266 2563 +15184 4 2 0 1 1699 2621 2130 2805 +15185 4 2 0 1 1565 2729 2234 2801 +15186 4 2 0 1 756 750 806 2631 +15187 4 2 0 1 380 2776 2017 2815 +15188 4 2 0 1 1996 2647 2639 2671 +15189 4 2 0 1 435 44 1045 2405 +15190 4 2 0 1 566 535 578 2419 +15191 4 2 0 1 252 223 192 2349 +15192 4 2 0 1 855 777 703 2316 +15193 4 2 0 1 231 836 16 465 +15194 4 2 0 1 180 249 449 2826 +15195 4 2 0 1 1111 1042 1098 2488 +15196 4 2 0 1 623 554 610 2530 +15197 4 2 0 1 1463 1181 1287 2785 +15198 4 2 0 1 2252 2651 1671 2831 +15199 4 2 0 1 655 600 637 2663 +15200 4 2 0 1 1104 1148 1058 2522 +15201 4 2 0 1 999 968 899 2165 +15202 4 2 0 1 295 298 447 2446 +15203 4 2 0 1 287 1007 479 31 +15204 4 2 0 1 1152 1141 1094 2410 +15205 4 2 0 1 187 2106 459 2714 +15206 4 2 0 1 2078 2664 1678 2765 +15207 4 2 0 1 143 142 727 2120 +15208 4 2 0 1 169 490 304 2691 +15209 4 2 0 1 487 422 269 2277 +15210 4 2 0 1 659 80 631 1252 +15211 4 2 0 1 759 798 817 2677 +15212 4 2 0 1 1338 1413 1420 2667 +15213 4 2 0 1 450 225 271 2576 +15214 4 2 0 1 1686 2622 2336 2792 +15215 4 2 0 1 2126 2548 1883 2828 +15216 4 2 0 1 504 424 512 2225 +15217 4 2 0 1 1361 1418 1219 2711 +15218 4 2 0 1 653 664 144 2212 +15219 4 2 0 1 439 236 190 2819 +15220 4 2 0 1 733 823 808 2253 +15221 4 2 0 1 1304 1317 1313 2788 +15222 4 2 0 1 1854 2598 2174 2787 +15223 4 2 0 1 616 555 677 2281 +15224 4 2 0 1 1274 1493 1182 2303 +15225 4 2 0 1 657 627 651 2812 +15226 4 2 0 1 1201 1276 1450 2171 +15227 4 2 0 1 1061 1043 1104 2804 +15228 4 2 0 1 261 480 470 2658 +15229 4 2 0 1 1562 2286 2595 2745 +15230 4 2 0 1 446 252 192 2349 +15231 4 2 0 1 793 195 834 2498 +15232 4 2 0 1 290 368 199 2448 +15233 4 2 0 1 1233 1368 1355 2507 +15234 4 2 0 1 388 391 418 2713 +15235 4 2 0 1 604 554 613 2536 +15236 4 2 0 1 909 862 905 2477 +15237 4 2 0 1 217 405 400 2196 +15238 4 2 0 1 912 942 918 2514 +15239 4 2 0 1 1509 1288 1283 2435 +15240 4 2 0 1 151 897 152 2523 +15241 4 2 0 1 775 765 718 2555 +15242 4 2 0 1 399 428 406 2472 +15243 4 2 0 1 861 968 1014 2589 +15244 4 2 0 1 95 794 835 1264 +15245 4 2 0 1 1450 832 93 790 +15246 4 2 0 1 629 146 147 2497 +15247 4 2 0 1 1302 1313 1315 2531 +15248 4 2 0 1 1459 1465 1481 2775 +15249 4 2 0 1 1707 2619 2474 2833 +15250 4 2 0 1 934 887 946 2259 +15251 4 2 0 1 824 725 810 2451 +15252 4 2 0 1 11 846 269 736 +15253 4 2 0 1 670 174 577 2830 +15254 4 2 0 1 384 183 350 2639 +15255 4 2 0 1 1928 2651 2252 2820 +15256 4 2 0 1 1499 1428 1311 2484 +15257 4 2 0 1 738 1408 1495 2666 +15258 4 2 0 1 1424 631 1252 2469 +15259 4 2 0 1 963 977 927 2421 +15260 4 2 0 1 911 943 868 2591 +15261 4 2 0 1 1210 95 835 1264 +15262 4 2 0 1 532 604 559 2536 +15263 4 2 0 1 1249 1294 2485 2666 +15264 4 2 0 1 272 1138 446 48 +15265 4 2 0 1 2124 2727 1655 2819 +15266 4 2 0 1 14 263 459 2714 +15267 4 2 0 1 1046 1250 1273 2696 +15268 4 2 0 1 319 375 211 2571 +15269 4 2 0 1 436 454 245 2445 +15270 4 2 0 1 1317 1304 1213 2788 +15271 4 2 0 1 375 227 407 2468 +15272 4 2 0 1 1196 1254 1268 2730 +15273 4 2 0 1 461 240 265 2612 +15274 4 2 0 1 332 201 292 2298 +15275 4 2 0 1 2381 2493 1678 2704 +15276 4 2 0 1 1054 166 165 2278 +15277 4 2 0 1 1263 1505 1524 2722 +15278 4 2 0 1 1040 1027 1091 2406 +15279 4 2 0 1 1284 1269 1526 2822 +15280 4 2 0 1 738 1408 716 88 +15281 4 2 0 1 120 1168 1394 1262 +15282 4 2 0 1 838 832 1265 2631 +15283 4 2 0 1 561 624 537 2294 +15284 4 2 0 1 1007 920 479 31 +15285 4 2 0 1 241 423 455 2554 +15286 4 2 0 1 1286 669 578 2419 +15287 4 2 0 1 991 945 935 2461 +15288 4 2 0 1 2554 2752 1670 2791 +15289 4 2 0 1 660 616 632 2283 +15290 4 2 0 1 889 865 908 2715 +15291 4 2 0 1 202 300 383 2776 +15292 4 2 0 1 277 821 464 22 +15293 4 2 0 1 486 481 189 2330 +15294 4 2 0 1 2130 2621 1577 2805 +15295 4 2 0 1 1076 1080 1035 2713 +15296 4 2 0 1 15 459 465 819 +15297 4 2 0 1 228 172 259 2457 +15298 4 2 0 1 305 490 169 2691 +15299 4 2 0 1 258 409 208 2574 +15300 4 2 0 1 237 412 364 2641 +15301 4 2 0 1 1168 1262 1131 2581 +15302 4 2 0 1 581 577 57 275 +15303 4 2 0 1 1188 1322 1303 2284 +15304 4 2 0 1 1030 1171 1084 2603 +15305 4 2 0 1 510 515 63 650 +15306 4 2 0 1 1403 1401 1247 2201 +15307 4 2 0 1 435 476 1045 43 +15308 4 2 0 1 827 144 841 2638 +15309 4 2 0 1 1436 1452 1291 2462 +15310 4 2 0 1 217 2196 400 2661 +15311 4 2 0 1 1370 1299 1215 2475 +15312 4 2 0 1 804 800 753 2288 +15313 4 2 0 1 172 518 422 2277 +15314 4 2 0 1 448 249 179 2821 +15315 4 2 0 1 1120 1020 1047 2491 +15316 4 2 0 1 266 504 489 2626 +15317 4 2 0 1 191 789 793 19 +15318 4 2 0 1 1284 1260 1512 2822 +15319 4 2 0 1 198 140 487 3 +15320 4 2 0 1 293 498 302 2262 +15321 4 2 0 1 32 920 273 978 +15322 4 2 0 1 313 212 307 2353 +15323 4 2 0 1 1326 1215 1375 2467 +15324 4 2 0 1 912 869 942 2514 +15325 4 2 0 1 255 437 492 2297 +15326 4 2 0 1 1301 1316 1334 2420 +15327 4 2 0 1 1310 1299 1370 2475 +15328 4 2 0 1 1350 1470 1405 2379 +15329 4 2 0 1 283 1167 1130 432 +15330 4 2 0 1 1025 2339 1112 2804 +15331 4 2 0 1 332 292 291 2298 +15332 4 2 0 1 1396 1230 1385 2721 +15333 4 2 0 1 1382 114 904 908 +15334 4 2 0 1 1523 1515 1283 2264 +15335 4 2 0 1 726 152 842 2109 +15336 4 2 0 1 1274 1206 1281 2586 +15337 4 2 0 1 368 344 199 2448 +15338 4 2 0 1 1403 1178 1401 2201 +15339 4 2 0 1 1386 1361 1191 2711 +15340 4 2 0 1 261 254 441 2456 +15341 4 2 0 1 273 978 920 2803 +15342 4 2 0 1 459 187 465 2106 +15343 4 2 0 1 934 988 960 2734 +15344 4 2 0 1 932 869 882 2251 +15345 4 2 0 1 739 1524 98 719 +15346 4 2 0 1 726 151 152 2109 +15347 4 2 0 1 2651 2820 1818 2831 +15348 4 2 0 1 289 296 200 2222 +15349 4 2 0 1 656 529 646 2169 +15350 4 2 0 1 958 278 34 197 +15351 4 2 0 1 754 796 851 2596 +15352 4 2 0 1 1651 2664 2493 2704 +15353 4 2 0 1 630 658 590 2610 +15354 4 2 0 1 1168 1208 121 1394 +15355 4 2 0 1 630 590 678 2610 +15356 4 2 0 1 475 351 188 2333 +15357 4 2 0 1 1454 1246 1444 2205 +15358 4 2 0 1 1162 1018 1085 2191 +15359 4 2 0 1 215 411 360 2366 +15360 4 2 0 1 184 492 437 2297 +15361 4 2 0 1 260 506 438 2422 +15362 4 2 0 1 823 689 808 2253 +15363 4 2 0 1 1486 1270 1189 2640 +15364 4 2 0 1 976 953 151 2523 +15365 4 2 0 1 575 441 198 2456 +15366 4 2 0 1 958 197 986 2576 +15367 4 2 0 1 2466 2758 2048 2836 +15368 4 2 0 1 525 679 185 2560 +15369 4 2 0 1 320 168 333 2399 +15370 4 2 0 1 664 143 144 2212 +15371 4 2 0 1 253 275 174 2830 +15372 4 2 0 1 268 496 174 2830 +15373 4 2 0 1 322 484 182 2211 +15374 4 2 0 1 872 921 965 2279 +15375 4 2 0 1 1062 1024 1051 2503 +15376 4 2 0 1 2395 2554 1670 2791 +15377 4 2 0 1 142 2120 143 2687 +15378 4 2 0 1 345 363 358 2489 +15379 4 2 0 1 1503 1275 1183 2557 +15380 4 2 0 1 730 788 722 2732 +15381 4 2 0 1 705 707 807 2501 +15382 4 2 0 1 827 841 770 2638 +15383 4 2 0 1 249 448 250 2821 +15384 4 2 0 1 1151 1095 1140 2416 +15385 4 2 0 1 1061 1058 1117 2522 +15386 4 2 0 1 732 698 721 2628 +15387 4 2 0 1 1132 1050 266 52 +15388 4 2 0 1 918 958 986 2576 +15389 4 2 0 1 959 109 955 1390 +15390 4 2 0 1 180 364 249 2826 +15391 4 2 0 1 1450 1265 832 2631 +15392 4 2 0 1 895 977 963 2421 +15393 4 2 0 1 1521 1520 1507 2184 +15394 4 2 0 1 1343 1329 1245 2737 +15395 4 2 0 1 1134 1124 1090 2518 +15396 4 2 0 1 859 922 977 2695 +15397 4 2 0 1 1331 1469 1186 2740 +15398 4 2 0 1 1160 1162 1163 2384 +15399 4 2 0 1 14 819 715 2714 +15400 4 2 0 1 1149 1084 1161 2594 +15401 4 2 0 1 398 366 205 2323 +15402 4 2 0 1 198 668 140 3 +15403 4 2 0 1 42 488 1069 1065 +15404 4 2 0 1 1504 1487 1522 2419 +15405 4 2 0 1 435 432 1130 2405 +15406 4 2 0 1 1445 1433 1457 2751 +15407 4 2 0 1 1982 2727 2397 2819 +15408 4 2 0 1 409 295 208 2574 +15409 4 2 0 1 185 525 60 679 +15410 4 2 0 1 1298 1339 1187 2383 +15411 4 2 0 1 1405 820 90 839 +15412 4 2 0 1 385 203 312 2407 +15413 4 2 0 1 99 739 735 1203 +15414 4 2 0 1 1258 1445 1457 2326 +15415 4 2 0 1 460 2610 416 2661 +15416 4 2 0 1 905 862 892 2477 +15417 4 2 0 1 1329 1351 1245 2453 +15418 4 2 0 1 476 1069 1045 43 +15419 4 2 0 1 961 969 925 2588 +15420 4 2 0 1 262 264 284 2685 +15421 4 2 0 1 1300 1358 1220 2301 +15422 4 2 0 1 1461 1465 1415 2499 +15423 4 2 0 1 1468 1487 1518 2686 +15424 4 2 0 1 561 83 1423 580 +15425 4 2 0 1 434 244 910 2494 +15426 4 2 0 1 1033 1166 1038 2564 +15427 4 2 0 1 956 160 896 2561 +15428 4 2 0 1 113 1224 889 1382 +15429 4 2 0 1 602 636 598 2587 +15430 4 2 0 1 1486 1519 1273 2696 +15431 4 2 0 1 903 864 910 2494 +15432 4 2 0 1 1273 1250 1270 2696 +15433 4 2 0 1 1350 1405 90 839 +15434 4 2 0 1 1058 1170 137 2777 +15435 4 2 0 1 1200 76 591 680 +15436 4 2 0 1 1193 1239 1389 2322 +15437 4 2 0 1 1406 1234 1392 2358 +15438 4 2 0 1 1272 1279 1458 2299 +15439 4 2 0 1 515 626 63 650 +15440 4 2 0 1 1251 1441 1244 2615 +15441 4 2 0 1 1423 83 1198 580 +15442 4 2 0 1 784 730 696 2508 +15443 4 2 0 1 358 363 178 2489 +15444 4 2 0 1 791 732 721 2628 +15445 4 2 0 1 458 370 331 2744 +15446 4 2 0 1 306 311 324 2190 +15447 4 2 0 1 630 493 658 2610 +15448 4 2 0 1 376 245 471 2539 +15449 4 2 0 1 277 834 821 21 +15450 4 2 0 1 1249 1495 1408 2666 +15451 4 2 0 1 376 384 350 2639 +15452 4 2 0 1 1208 1282 1394 2582 +15453 4 2 0 1 560 556 617 2236 +15454 4 2 0 1 380 314 300 2815 +15455 4 2 0 1 14 459 819 2714 +15456 4 2 0 1 1152 135 1141 2410 +15457 4 2 0 1 1515 1522 1283 2264 +15458 4 2 0 1 1105 1095 1151 2416 +15459 4 2 0 1 627 631 1424 2812 +15460 4 2 0 1 1343 1403 1346 2737 +15461 4 2 0 1 429 243 528 2606 +15462 4 2 0 1 1037 1033 1163 2565 +15463 4 2 0 1 846 487 11 269 +15464 4 2 0 1 973 1224 889 112 +15465 4 2 0 1 458 175 403 2674 +15466 4 2 0 1 1453 1300 1220 2301 +15467 4 2 0 1 684 545 549 2569 +15468 4 2 0 1 1130 1045 44 2405 +15469 4 2 0 1 555 540 677 2281 +15470 4 2 0 1 191 18 468 789 +15471 4 2 0 1 1183 1275 1246 2557 +15472 4 2 0 1 1293 1278 1287 2785 +15473 4 2 0 1 1424 631 2469 2812 +15474 4 2 0 1 237 444 365 2409 +15475 4 2 0 1 1116 1062 1051 2503 +15476 4 2 0 1 1059 1041 1110 2346 +15477 4 2 0 1 283 432 391 2713 +15478 4 2 0 1 749 850 793 2498 +15479 4 2 0 1 822 97 1290 719 +15480 4 2 0 1 749 793 834 2498 +15481 4 2 0 1 309 201 308 2795 +15482 4 2 0 1 1172 1033 1037 2565 +15483 4 2 0 1 458 248 175 2674 +15484 4 2 0 1 1061 1025 1112 2804 +15485 4 2 0 1 236 348 322 2397 +15486 4 2 0 1 820 746 839 2379 +15487 4 2 0 1 1027 1096 1074 2642 +15488 4 2 0 1 285 33 978 954 +15489 4 2 0 1 1274 1500 1206 2586 +15490 4 2 0 1 655 637 593 2663 +15491 4 2 0 1 1417 1469 1483 2620 +15492 4 2 0 1 1382 114 1402 904 +15493 4 2 0 1 718 765 689 2555 +15494 4 2 0 1 999 156 155 2670 +15495 4 2 0 1 900 940 953 2637 +15496 4 2 0 1 1443 1487 1468 2686 +15497 4 2 0 1 346 233 404 2556 +15498 4 2 0 1 872 965 878 2279 +15499 4 2 0 1 1040 1091 1100 2543 +15500 4 2 0 1 1045 1096 1109 2424 +15501 4 2 0 1 1540 2417 2756 2827 +15502 4 2 0 1 1461 1458 1481 2499 +15503 4 2 0 1 739 99 1524 1203 +15504 4 2 0 1 1084 1018 1161 2594 +15505 4 2 0 1 1461 1195 1458 2374 +15506 4 2 0 1 778 856 702 2690 +15507 4 2 0 1 328 206 318 2669 +15508 4 2 0 1 1350 1479 1470 2379 +15509 4 2 0 1 470 426 247 2658 +15510 4 2 0 1 705 811 707 2501 +15511 4 2 0 1 1308 1216 1345 2655 +15512 4 2 0 1 1381 1519 1516 2278 +15513 4 2 0 1 1292 1266 1446 2563 +15514 4 2 0 1 1001 1002 1000 2562 +15515 4 2 0 1 1431 645 1429 82 +15516 4 2 0 1 1129 1035 1031 2170 +15517 4 2 0 1 1138 446 48 1114 +15518 4 2 0 1 553 609 622 2408 +15519 4 2 0 1 319 211 305 2571 +15520 4 2 0 1 1105 1113 1100 2709 +15521 4 2 0 1 552 539 603 2761 +15522 4 2 0 1 1289 651 627 2812 +15523 4 2 0 1 1371 1448 1191 2263 +15524 4 2 0 1 1067 1066 1273 117 +15525 4 2 0 1 810 725 761 2451 +15526 4 2 0 1 2 527 495 149 +15527 4 2 0 1 793 281 20 195 +15528 4 2 0 1 563 536 575 2456 +15529 4 2 0 1 845 1488 737 86 +15530 4 2 0 1 575 668 563 2456 +15531 4 2 0 1 143 2212 664 2687 +15532 4 2 0 1 458 219 370 2744 +15533 4 2 0 1 636 634 687 2766 +15534 4 2 0 1 186 278 285 2327 +15535 4 2 0 1 1448 1241 1451 2780 +15536 4 2 0 1 1819 2543 2709 2814 +15537 4 2 0 1 1085 1121 1129 2584 +15538 4 2 0 1 1104 1058 1061 2522 +15539 4 2 0 1 1194 1237 1251 2835 +15540 4 2 0 1 784 710 730 2508 +15541 4 2 0 1 739 719 699 2722 +15542 4 2 0 1 1027 1040 1096 2406 +15543 4 2 0 1 1130 44 435 2405 +15544 4 2 0 1 570 682 146 2497 +15545 4 2 0 1 1568 2820 2252 2831 +15546 4 2 0 1 41 1158 488 1065 +15547 4 2 0 1 575 198 70 668 +15548 4 2 0 1 244 445 362 2494 +15549 4 2 0 1 1459 971 105 2775 +15550 4 2 0 1 395 499 420 2438 +15551 4 2 0 1 244 502 40 996 +15552 4 2 0 1 2252 2820 2651 2831 +15553 4 2 0 1 338 304 303 2605 +15554 4 2 0 1 513 288 396 2824 +15555 4 2 0 1 628 142 568 2687 +15556 4 2 0 1 408 396 469 2824 +15557 4 2 0 1 1446 1266 1180 2563 +15558 4 2 0 1 884 945 888 2461 +15559 4 2 0 1 1459 105 1464 2775 +15560 4 2 0 1 735 699 723 2135 +15561 4 2 0 1 1314 1304 1296 2302 +15562 4 2 0 1 126 1271 1295 1147 +15563 4 2 0 1 480 470 562 68 +15564 4 2 0 1 818 760 705 2585 +15565 4 2 0 1 140 846 487 3 +15566 4 2 0 1 889 911 939 2715 +15567 4 2 0 1 1441 1275 1244 2615 +15568 4 2 0 1 684 549 666 2569 +15569 4 2 0 1 1395 1388 1461 2374 +15570 4 2 0 1 688 548 542 2725 +15571 4 2 0 1 216 455 423 2554 +15572 4 2 0 1 1253 1457 1433 2751 +15573 4 2 0 1 1208 1168 121 1079 +15574 4 2 0 1 396 288 203 2657 +15575 4 2 0 1 474 492 486 2694 +15576 4 2 0 1 906 907 102 1484 +15577 4 2 0 1 327 301 312 2741 +15578 4 2 0 1 1380 1209 1393 2381 +15579 4 2 0 1 386 460 416 2661 +15580 4 2 0 1 1249 1294 1470 2485 +15581 4 2 0 1 839 1350 838 91 +15582 4 2 0 1 715 819 745 2714 +15583 4 2 0 1 487 172 422 2277 +15584 4 2 0 1 1147 1295 125 1119 +15585 4 2 0 1 829 762 856 2684 +15586 4 2 0 1 1686 2792 2412 2797 +15587 4 2 0 1 45 283 1130 432 +15588 4 2 0 1 780 701 745 2436 +15589 4 2 0 1 394 236 322 2397 +15590 4 2 0 1 966 873 879 2542 +15591 4 2 0 1 260 266 489 2626 +15592 4 2 0 1 481 242 185 2560 +15593 4 2 0 1 174 56 577 275 +15594 4 2 0 1 910 903 244 39 +15595 4 2 0 1 1091 1017 1048 2543 +15596 4 2 0 1 1513 1492 6 139 +15597 4 2 0 1 793 20 834 195 +15598 4 2 0 1 610 554 541 2530 +15599 4 2 0 1 1066 1273 117 1508 +15600 4 2 0 1 589 659 631 2469 +15601 4 2 0 1 403 383 219 2525 +15602 4 2 0 1 646 636 602 2587 +15603 4 2 0 1 1129 1121 1164 2584 +15604 4 2 0 1 439 348 236 2819 +15605 4 2 0 1 1258 1393 1387 2825 +15606 4 2 0 1 1046 1131 119 1250 +15607 4 2 0 1 1340 1217 1327 2579 +15608 4 2 0 1 259 172 254 2457 +15609 4 2 0 1 1409 1321 1218 2455 +15610 4 2 0 1 271 986 197 2576 +15611 4 2 0 1 894 156 999 2670 +15612 4 2 0 1 1306 1297 1377 2512 +15613 4 2 0 1 231 468 17 831 +15614 4 2 0 1 1486 1273 1270 2696 +15615 4 2 0 1 151 953 897 2523 +15616 4 2 0 1 900 880 940 2637 +15617 4 2 0 1 1378 1404 1243 2767 +15618 4 2 0 1 73 1447 1398 579 +15619 4 2 0 1 119 1131 1262 1250 +15620 4 2 0 1 1023 1046 1067 2696 +15621 4 2 0 1 2493 2664 1678 2704 +15622 4 2 0 1 951 902 882 2495 +15623 4 2 0 1 337 210 321 2601 +15624 4 2 0 1 1130 1074 1045 2405 +15625 4 2 0 1 630 451 493 2610 +15626 4 2 0 1 626 64 451 515 +15627 4 2 0 1 834 277 195 21 +15628 4 2 0 1 126 1133 1271 1147 +15629 4 2 0 1 361 340 303 2614 +15630 4 2 0 1 832 750 756 2631 +15631 4 2 0 1 1434 1222 1439 2763 +15632 4 2 0 1 1124 1086 1090 2518 +15633 4 2 0 1 17 231 831 837 +15634 4 2 0 1 37 173 972 271 +15635 4 2 0 1 80 1424 631 1252 +15636 4 2 0 1 787 699 719 2722 +15637 4 2 0 1 96 822 1210 835 +15638 4 2 0 1 568 664 618 2687 +15639 4 2 0 1 630 626 64 451 +15640 4 2 0 1 1424 1252 1344 2469 +15641 4 2 0 1 336 187 459 2714 +15642 4 2 0 1 1409 1178 1321 2455 +15643 4 2 0 1 380 300 202 2776 +15644 4 2 0 1 1131 1168 120 1262 +15645 4 2 0 1 1315 1313 1221 2531 +15646 4 2 0 1 401 421 221 2464 +15647 4 2 0 1 1473 1224 973 112 +15648 4 2 0 1 1144 1134 1093 2458 +15649 4 2 0 1 1157 166 1054 2278 +15650 4 2 0 1 232 325 402 2328 +15651 4 2 0 1 1350 838 91 1265 +15652 4 2 0 1 670 577 654 2830 +15653 4 2 0 1 1073 1075 1131 2581 +15654 4 2 0 1 1116 1056 1062 2503 +15655 4 2 0 1 581 57 279 275 +15656 4 2 0 1 1493 1205 1502 2339 +15657 4 2 0 1 915 1008 971 2775 +15658 4 2 0 1 778 702 742 2690 +15659 4 2 0 1 659 1429 81 1252 +15660 4 2 0 1 952 865 889 2715 +15661 4 2 0 1 336 347 187 2635 +15662 4 2 0 1 1113 1105 1057 2709 +15663 4 2 0 1 473 214 392 2516 +15664 4 2 0 1 1424 1289 627 2812 +15665 4 2 0 1 1241 1479 1451 2780 +15666 4 2 0 1 1819 2709 2764 2814 +15667 4 2 0 1 479 251 273 2803 +15668 4 2 0 1 397 229 177 2791 +15669 4 2 0 1 1101 1042 1062 2488 +15670 4 2 0 1 281 246 195 2498 +15671 4 2 0 1 460 493 416 2610 +15672 4 2 0 1 374 215 360 2366 +15673 4 2 0 1 1011 870 874 2553 +15674 4 2 0 1 1061 1112 1043 2804 +15675 4 2 0 1 1023 1110 1046 2696 +15676 4 2 0 1 130 1515 1064 1155 +15677 4 2 0 1 844 527 2 149 +15678 4 2 0 1 611 624 561 2294 +15679 4 2 0 1 606 660 632 2283 +15680 4 2 0 1 482 1158 4 158 +15681 4 2 0 1 1076 1107 1074 2642 +15682 4 2 0 1 388 46 283 2713 +15683 4 2 0 1 454 453 245 2445 +15684 4 2 0 1 254 198 441 2456 +15685 4 2 0 1 1024 1063 1051 2422 +15686 4 2 0 1 1858 2787 2729 2801 +15687 4 2 0 1 822 1290 96 1210 +15688 4 2 0 1 37 890 434 38 +15689 4 2 0 1 503 522 27 905 +15690 4 2 0 1 675 672 674 2672 +15691 4 2 0 1 1393 1366 1387 2825 +15692 4 2 0 1 513 408 494 2824 +15693 4 2 0 1 633 687 634 2766 +15694 4 2 0 1 838 750 832 2631 +15695 4 2 0 1 606 653 660 2283 +15696 4 2 0 1 401 478 421 2464 +15697 4 2 0 1 1022 1069 1045 2424 +15698 4 2 0 1 738 697 716 2666 +15699 4 2 0 1 604 613 559 2536 +15700 4 2 0 1 338 303 235 2605 +15701 4 2 0 1 309 317 201 2795 +15702 4 2 0 1 1010 988 981 2734 +15703 4 2 0 1 404 238 342 2556 +15704 4 2 0 1 920 978 994 2803 +15705 4 2 0 1 336 393 347 2635 +15706 4 2 0 1 273 285 33 978 +15707 4 2 0 1 51 1132 286 517 +15708 4 2 0 1 1202 1282 1208 2582 +15709 4 2 0 1 174 56 670 577 +15710 4 2 0 1 744 746 820 2379 +15711 4 2 0 1 1130 435 44 432 +15712 4 2 0 1 73 558 1447 579 +15713 4 2 0 1 476 42 488 1069 +15714 4 2 0 1 1212 1302 1309 2668 +15715 4 2 0 1 1001 1000 1009 2562 +15716 4 2 0 1 1461 1388 1195 2374 +15717 4 2 0 1 1466 124 1115 1478 +15718 4 2 0 1 1207 680 643 75 +15719 4 2 0 1 503 524 522 2477 +15720 4 2 0 1 760 818 758 2585 +15721 4 2 0 1 374 220 359 2683 +15722 4 2 0 1 697 785 716 2666 +15723 4 2 0 1 247 440 190 2533 +15724 4 2 0 1 915 971 913 2775 +15725 4 2 0 1 1329 1303 1351 2453 +15726 4 2 0 1 1249 1470 1427 2485 +15727 4 2 0 1 386 217 460 2661 +15728 4 2 0 1 645 659 1429 81 +15729 4 2 0 1 1132 1146 51 286 +15730 4 2 0 1 493 630 658 65 +15731 4 2 0 1 247 400 440 2533 +15732 4 2 0 1 296 523 294 2624 +15733 4 2 0 1 1408 1294 1249 2666 +15734 4 2 0 1 283 46 1167 2713 +15735 4 2 0 1 196 734 844 25 +15736 4 2 0 1 1394 1472 1262 2581 +15737 4 2 0 1 649 599 635 2786 +15738 4 2 0 1 685 137 136 2777 +15739 4 2 0 1 979 919 993 2462 +15740 4 2 0 1 1501 1525 1514 843 +15741 4 2 0 1 396 203 390 2657 +15742 4 2 0 1 399 406 218 2472 +15743 4 2 0 1 1294 716 88 89 +15744 4 2 0 1 1157 116 1381 1508 +15745 4 2 0 1 1295 125 1119 1466 +15746 4 2 0 1 1395 1415 1376 2720 +15747 4 2 0 1 1201 1450 93 790 +15748 4 2 0 1 434 445 244 2494 +15749 4 2 0 1 361 303 206 2614 +15750 4 2 0 1 2 495 998 149 +15751 4 2 0 1 1181 1293 1287 2785 +15752 4 2 0 1 595 2469 631 2812 +15753 4 2 0 1 241 397 410 2752 +15754 4 2 0 1 1286 1504 1522 2419 +15755 4 2 0 1 669 566 578 2419 +15756 4 2 0 1 296 294 207 2624 +15757 4 2 0 1 14 13 263 715 +15758 4 2 0 1 26 503 905 998 +15759 4 2 0 1 649 635 567 2786 +15760 4 2 0 1 394 314 228 2815 +15761 4 2 0 1 434 910 244 39 +15762 4 2 0 1 493 630 65 451 +15763 4 2 0 1 1498 109 959 1390 +15764 4 2 0 1 395 420 222 2438 +15765 4 2 0 1 721 698 734 2692 +15766 4 2 0 1 935 945 884 2461 +15767 4 2 0 1 1417 1489 1469 2620 +15768 4 2 0 1 174 496 253 2830 +15769 4 2 0 1 1323 1499 1311 2484 +15770 4 2 0 1 642 185 679 2560 +15771 4 2 0 1 1091 1048 1100 2543 +15772 4 2 0 1 1228 1426 1365 2770 +15773 4 2 0 1 1450 1467 1265 2631 +15774 4 2 0 1 1022 1045 1109 2424 +15775 4 2 0 1 726 732 791 2628 +15776 4 2 0 1 438 1156 268 55 +15777 4 2 0 1 185 60 642 679 +15778 4 2 0 1 1301 1331 1186 2740 +15779 4 2 0 1 502 482 4 158 +15780 4 2 0 1 570 146 629 2497 +15781 4 2 0 1 804 692 800 2288 +15782 4 2 0 1 686 533 640 2390 +15783 4 2 0 1 642 588 586 2560 +15784 4 2 0 1 1158 482 41 488 +15785 4 2 0 1 546 683 542 2367 +15786 4 2 0 1 582 69 441 480 +15787 4 2 0 1 627 595 631 2812 +15788 4 2 0 1 1378 1435 1404 2767 +15789 4 2 0 1 257 280 196 2692 +15790 4 2 0 1 441 575 198 70 +15791 4 2 0 1 26 503 27 905 +15792 4 2 0 1 192 50 49 1118 +15793 4 2 0 1 92 832 1450 1265 +15794 4 2 0 1 1139 1202 1478 123 +15795 4 2 0 1 59 557 58 189 +15796 4 2 0 1 1120 1094 1148 2733 +15797 4 2 0 1 1169 1149 1161 2769 +15798 4 2 0 1 247 261 470 2658 +15799 4 2 0 1 1062 1042 1111 2488 +15800 4 2 0 1 1270 1497 1482 2640 +15801 4 2 0 1 1343 1245 1403 2737 +15802 4 2 0 1 577 56 57 275 +15803 4 2 0 1 1080 46 388 2713 +15804 4 2 0 1 1476 1207 643 75 +15805 4 2 0 1 404 342 346 2556 +15806 4 2 0 1 200 301 327 2741 +15807 4 2 0 1 106 1008 1291 1464 +15808 4 2 0 1 502 4 996 158 +15809 4 2 0 1 228 485 518 2645 +15810 4 2 0 1 1045 435 43 44 +15811 4 2 0 1 542 548 665 2725 +15812 4 2 0 1 1406 1427 1234 2358 +15813 4 2 0 1 241 410 243 2752 +15814 4 2 0 1 675 674 662 2672 +15815 4 2 0 1 815 829 856 2684 +15816 4 2 0 1 720 464 22 23 +15817 4 2 0 1 1024 1070 1063 2422 +15818 4 2 0 1 1270 1482 1189 2640 +15819 4 2 0 1 1251 1237 1383 2835 +15820 4 2 0 1 575 582 69 441 +15821 4 2 0 1 1424 1430 1289 2812 +15822 4 2 0 1 788 826 722 2732 +15823 4 2 0 1 95 94 794 1201 +15824 4 2 0 1 627 1424 631 79 +15825 4 2 0 1 429 507 194 2818 +15826 4 2 0 1 98 97 719 1505 +15827 4 2 0 1 1075 1168 1131 2581 +15828 4 2 0 1 493 451 416 2610 +15829 4 2 0 1 1515 130 1492 1155 +15830 4 2 0 1 263 336 459 2714 +15831 4 2 0 1 1157 1381 10 166 +15832 4 2 0 1 752 817 798 2677 +15833 4 2 0 1 861 1014 984 2589 +15834 4 2 0 1 1139 1202 123 122 +15835 4 2 0 1 522 27 909 526 +15836 4 2 0 1 552 608 539 2761 +15837 4 2 0 1 196 844 527 25 +15838 4 2 0 1 94 794 1201 790 +15839 4 2 0 1 124 1119 1466 1115 +15840 4 2 0 1 62 592 61 514 +15841 4 2 0 1 589 631 595 2469 +15842 4 2 0 1 832 92 838 1265 +15843 4 2 0 1 136 137 1170 2777 +15844 4 2 0 1 12 11 269 736 +15845 4 2 0 1 217 400 460 2661 +15846 4 2 0 1 1169 1081 1149 2769 +15847 4 2 0 1 1063 1156 438 55 +15848 4 2 0 1 507 506 194 2818 +15849 4 2 0 1 1415 1320 1376 2720 +15850 4 2 0 1 271 197 450 2576 +15851 4 2 0 1 1017 1134 1144 2458 +15852 4 2 0 1 737 1488 1495 86 +15853 4 2 0 1 951 864 902 2495 +15854 4 2 0 1 1515 129 130 1064 +15855 4 2 0 1 1524 1494 1263 2722 +15856 4 2 0 1 229 397 371 2791 +15857 4 2 0 1 233 432 435 2405 +15858 4 2 0 1 626 64 515 63 +15859 4 2 0 1 1030 1034 1171 2603 +15860 4 2 0 1 1289 1424 627 79 +15861 4 2 0 1 228 314 380 2815 +15862 4 2 0 1 670 654 131 2830 +15863 4 2 0 1 1156 268 5 131 +15864 4 2 0 1 669 1513 71 6 +15865 4 2 0 1 890 434 38 910 +15866 4 2 0 1 266 1050 53 52 +15867 4 2 0 1 1481 1465 1461 2499 +15868 4 2 0 1 83 82 561 1423 +15869 4 2 0 1 1080 1167 46 2713 +15870 4 2 0 1 513 396 408 2824 +15871 4 2 0 1 525 185 242 2560 +15872 4 2 0 1 95 794 1264 1201 +15873 4 2 0 1 62 510 63 650 +15874 4 2 0 1 1286 669 1513 71 +15875 4 2 0 1 1459 1464 1465 2775 +15876 4 2 0 1 1104 1120 1148 2733 +15877 4 2 0 1 889 939 952 2715 +15878 4 2 0 1 1284 1512 1269 2822 +15879 4 2 0 1 1099 1043 1112 2804 +15880 4 2 0 1 698 741 734 2692 +15881 4 2 0 1 1107 1027 1074 2642 +15882 4 2 0 1 16 836 15 465 +15883 4 2 0 1 35 958 34 197 +15884 4 2 0 1 1496 1490 85 576 +15885 4 2 0 1 23 257 24 741 +15886 4 2 0 1 669 1513 6 139 +15887 4 2 0 1 1008 106 105 1464 +15888 4 2 0 1 281 793 20 19 +15889 4 2 0 1 568 142 143 2687 +15890 4 2 0 1 283 391 388 2713 +15891 4 2 0 1 129 1515 1502 1064 +15892 4 2 0 1 364 412 414 2641 +15893 4 2 0 1 738 737 1495 87 +15894 4 2 0 1 1080 1076 1167 2713 +15895 4 2 0 1 1418 1361 1386 2711 +15896 4 2 0 1 45 1130 44 432 +15897 4 2 0 1 27 28 909 526 +15898 4 2 0 1 987 1473 110 1498 +15899 4 2 0 1 468 18 17 831 +15900 4 2 0 1 1398 72 579 578 +15901 4 2 0 1 277 821 22 21 +15902 4 2 0 1 832 92 1450 93 +15903 4 2 0 1 568 143 664 2687 +15904 4 2 0 1 102 906 1484 1485 +15905 4 2 0 1 972 36 271 986 +15906 4 2 0 1 80 659 81 1252 +15907 4 2 0 1 639 595 657 2812 +15908 4 2 0 1 1492 6 139 1155 +15909 4 2 0 1 1295 126 1147 125 +15910 4 2 0 1 15 14 459 819 +15911 4 2 0 1 667 1496 85 576 +15912 4 2 0 1 630 64 65 451 +15913 4 2 0 1 1068 1205 128 1049 +15914 4 2 0 1 388 1080 47 46 +15915 4 2 0 1 101 997 1485 1501 +15916 4 2 0 1 1434 1439 1384 2763 +15917 4 2 0 1 47 1138 272 48 +15918 4 2 0 1 78 1289 651 627 +15919 4 2 0 1 1157 1066 116 1508 +15920 4 2 0 1 104 1211 103 886 +15921 4 2 0 1 503 26 495 998 +15922 4 2 0 1 470 67 562 68 +15923 4 2 0 1 99 739 1524 98 +15924 4 2 0 1 1211 907 103 886 +15925 4 2 0 1 1198 83 84 580 +15926 4 2 0 1 32 273 33 978 +15927 4 2 0 1 446 48 1114 49 +15928 4 2 0 1 118 1046 119 1250 +15929 4 2 0 1 909 28 885 282 +15930 4 2 0 1 907 1211 102 1484 +15931 4 2 0 1 1224 113 889 112 +15932 4 2 0 1 1289 78 651 77 +15933 4 2 0 1 33 285 34 954 +15934 4 2 0 1 920 479 31 32 +15935 4 2 0 1 128 1205 127 1049 +15936 4 2 0 1 191 18 789 19 +15937 4 2 0 1 1200 76 77 591 +15938 4 2 0 1 99 735 1514 1203 +15939 4 2 0 1 42 41 488 1065 +15940 4 2 0 1 28 909 526 282 +15941 4 2 0 1 1488 845 1480 86 +15942 4 2 0 1 426 67 66 644 +15943 4 2 0 1 1168 121 120 1394 +15944 4 2 0 1 669 1286 578 71 +15945 4 2 0 1 738 1495 1408 87 +15946 4 2 0 1 90 1350 839 91 +15947 4 2 0 1 907 1211 103 102 +15948 4 2 0 1 260 53 1070 54 +15949 4 2 0 1 934 981 988 2734 +15950 4 2 0 1 1208 121 122 1079 +15951 4 2 0 1 108 107 979 1436 +15952 4 2 0 1 1473 111 973 987 +15953 4 2 0 1 74 73 558 1447 +15954 4 2 0 1 1459 971 104 105 +15955 4 2 0 1 1115 1139 1478 123 +15956 4 2 0 1 642 679 588 2560 +15957 4 2 0 1 78 1289 627 79 +15958 4 2 0 1 109 108 955 1390 +15959 4 2 0 1 36 37 972 271 +15960 4 2 0 1 57 581 279 58 +15961 4 2 0 1 1408 738 87 88 +15962 4 2 0 1 111 1473 973 112 +15963 4 2 0 1 903 244 39 40 +15964 4 2 0 1 26 2 495 998 +15965 4 2 0 1 1473 111 987 110 +15966 4 2 0 1 129 1502 1068 1064 +15967 4 2 0 1 76 680 1207 75 +15968 4 2 0 1 1398 1286 72 578 +15969 4 2 0 1 110 987 1498 959 +15970 4 2 0 1 196 24 734 25 +15971 4 2 0 1 35 36 986 197 +15972 4 2 0 1 54 1063 438 55 +15973 4 2 0 1 958 35 986 197 +15974 4 2 0 1 885 28 29 282 +15975 4 2 0 1 501 13 12 740 +15976 4 2 0 1 66 493 658 65 +15977 4 2 0 1 74 1476 643 75 +15978 4 2 0 1 85 1490 84 576 +15979 4 2 0 1 30 29 276 970 +15980 4 2 0 1 1286 72 578 71 +15981 4 2 0 1 1492 130 6 1155 +15982 4 2 0 1 118 1067 1273 117 +15983 4 2 0 1 100 1501 1514 843 +15984 4 2 0 1 657 595 627 2812 +15985 4 2 0 1 20 834 195 21 +15986 4 2 0 1 36 271 986 197 +15987 4 2 0 1 116 1157 1381 10 +15988 4 2 0 1 582 69 480 68 +15989 4 2 0 1 287 30 1007 31 +15990 4 2 0 1 737 1495 87 86 +15991 4 2 0 1 1008 106 1291 919 +15992 4 2 0 1 434 38 910 39 +15993 4 2 0 1 1382 113 114 908 +15994 4 2 0 1 73 1398 72 579 +15995 4 2 0 1 198 70 668 3 +15996 4 2 0 1 116 1066 117 1508 +15997 4 2 0 1 1131 120 119 1262 +15998 4 2 0 1 645 1429 82 81 +15999 4 2 0 1 185 60 59 642 +16000 4 2 0 1 1156 268 55 5 +16001 4 2 0 1 997 906 101 1485 +16002 4 2 0 1 1501 9 157 843 +16003 4 2 0 1 101 997 1501 9 +16004 4 2 0 1 1405 820 89 90 +16005 4 2 0 1 99 735 100 1514 +16006 4 2 0 1 487 846 11 3 +16007 4 2 0 1 69 575 441 70 +16008 4 2 0 1 283 1167 46 45 +16009 4 2 0 1 1501 100 9 843 +16010 4 2 0 1 838 92 91 1265 +16011 4 2 0 1 96 1210 95 835 +16012 4 2 0 1 1146 50 51 286 +16013 4 2 0 1 525 60 679 61 +16014 4 2 0 1 56 5 174 670 +16015 4 2 0 1 97 822 1290 96 +16016 4 2 0 1 1424 80 631 79 +16017 4 2 0 1 997 1501 9 157 +16018 4 2 0 1 1205 1502 1068 128 +16019 4 2 0 1 1402 114 115 904 +16020 4 2 0 1 482 1158 41 4 +16021 4 2 0 1 476 42 1069 43 +16022 4 2 0 1 125 124 1119 1466 +16023 4 2 0 1 52 1132 51 517 +16024 4 2 0 1 1506 115 10 995 +16025 4 2 0 1 231 17 16 837 +16026 4 2 0 1 127 126 1133 1271 +16027 4 2 0 1 94 1201 93 790 +16028 4 2 0 1 1402 115 995 904 +16029 4 2 0 1 844 527 25 2 +16030 4 2 0 1 1480 667 8 148 +16031 4 2 0 1 845 1480 86 8 +16032 4 2 0 1 906 102 101 1485 +16033 4 2 0 1 124 1115 1478 123 +16034 4 2 0 1 502 4 40 996 +16035 4 2 0 1 1480 667 85 8 +16036 4 2 0 1 845 1480 8 148 +16037 4 2 0 1 106 107 1291 919 +16038 4 2 0 1 667 1496 1480 85 +16039 4 2 0 1 735 100 1514 843 +16040 4 2 0 1 1506 1402 115 995 +16041 4 2 0 1 1502 129 1068 128 +16042 4 2 0 1 110 1498 109 959 +$EndElements diff --git a/test/mixeddimension/embedded/1p_1p/plot.py b/test/mixeddimension/embedded/1p_1p/plot.py new file mode 100644 index 0000000000..24f3113008 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/plot.py @@ -0,0 +1,61 @@ +#! /usr/bin/python + +import subprocess +from math import log, floor, fabs +import numpy + +radius = 0.05 +# # maximum allowed refinement is numCells = 2/radius then the average operator has to be implemented +# # only even numbers allowed otherwise log(0) will be evaluated +# levels = [int(i) for i in numpy.linspace(7, 21, 5)] +# levels = [(i+1 if i%2 == 0 else i) for i in levels] + +# #initialize log file +# file = open("log.txt", "w+") +# file.write("#l2-norms\n") +# file.close() + +# for numCells in levels: +# subprocess.call(['./dangelo', '-VesselGrid.Cells', str(numCells), +# '-TissueGrid.Cells', " ".join([str(numCells)]*3), +# '-SpatialParams.Radius', str(radius)]) + +# calculate the rates +hmax3 = [] +hmax1 = [] +p3 = [] +p1 = [] +for line in open("log.txt"): + line = line.strip() + if line.startswith('#'): + continue + list = line.split(' ') + hmax3.append(float(list[0])) + hmax1.append(float(list[1])) + p3.append(float(list[2])) + p1.append(float(list[3])) + +rates3d = [] +rates1d = [] +for i in range(1, len(p1)): + try: + rate1 = (log(p1[i-1]) - log(p1[i]))/(log(hmax1[i-1]) - log(hmax1[i])) + rate3 = (log(p3[i-1]) - log(p3[i]))/(log(hmax3[i-1]) - log(hmax3[i])) + except ValueError: + continue + print('1d: {0:.5f} 3d: {1:.5f}'.format(rate1, rate3)) + rates3d.append(rate3) + rates1d.append(rate1) + + +# plot the results +import matplotlib.pyplot as plt +plt.grid("on") +plt.plot(hmax1, p1, label='|pv-pv^h|L2') +plt.plot(hmax3, p3, label='|pt-pt^h|L2') +plt.plot(hmax1, [h*fabs(log(h)) for h in hmax1], label='h') #label='h*|log h|') +plt.plot(hmax3, [h*fabs(log(h)) for h in hmax3], label='h') #label='h*|log h|') +plt.xscale('log') +plt.yscale('log') +plt.legend() +plt.show() diff --git a/test/mixeddimension/embedded/1p_1p/test_1p_1p.cc b/test/mixeddimension/embedded/1p_1p/test_1p_1p.cc new file mode 100644 index 0000000000..d9a1e2cdaa --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/test_1p_1p.cc @@ -0,0 +1,45 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief test for the 1d 3d cell-centered coupled model + */ +#include "config.h" +#include "1d3dtestproblem.hh" +#include <dumux/mixeddimension/embedded/start.hh> + +/*! + * \brief Provides an interface for customizing error messages associated with + * reading in parameters. + * + * \param progName The name of the program, that was tried to be started. + * \param errorMsg The error message that was issued by the start function. + * Comprises the thing that went wrong and a general help message. + */ +void usage(const char *progName, const std::string &errorMsg) +{ + // TODO +} + +int main(int argc, char** argv) +{ + typedef TTAG(TestOneDThreeDCCProblem) ProblemTypeTag; + return Dumux::start<ProblemTypeTag>(argc, argv, usage); +} diff --git a/test/mixeddimension/embedded/1p_1p/test_1p_1p.input b/test/mixeddimension/embedded/1p_1p/test_1p_1p.input new file mode 100644 index 0000000000..97612af7e0 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/test_1p_1p.input @@ -0,0 +1,52 @@ +[MixedDimension] +UseIterativeSolver = false +NumCircleSegments = 100 + +[TimeManager] +DtInitial = 1 # [s] +TEnd = 1 # [s] +MaxTimeStepSize = 1 +DtInitialBulkProblem = 1 # [s] +DtInitialLowDimProblem = 1 # [s] +EpisodeTime = 1 # [s] + +[VesselGrid] +LowerLeft = 0 0 0 +UpperRight = 0 0 1 +Cells = 40 + +[TissueGrid] +#File = ./grids/cylinder.msh +#Refinement = 10 +LowerLeft = -1 -1 0 +UpperRight = 1 1 1 +Cells = 40 40 40 + +[Problem] +Name = test_1p1dstokes +NormIntegrationOrder = 1 +NormExcludeInnerBulk = true +IntegrationOrder = 2 +LiquidKinematicViscosity = 1 # [m^2/s] +LiquidDensity = 1 # [kg/m^3] + +[IterativeAlgorithm] +MaxIterations = 100 +Tolerance = 1.0e-5 +Verbose = 1 +IntegrationOrder = 1 + +[SpatialParams] +PermeabilityTissue = 1 # [m^2] +Radius = 0.33 # [m] + +[Vtk] +AddVelocity = 0 + +[BoundaryConditions1D] +PressureInput = 2.0 +DeltaPressure = 1.0 + +[Newton] +MaxRelativeShift = 1e-5 +MaxSteps = 60 diff --git a/test/mixeddimension/embedded/1p_1p/tissueproblem.hh b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh new file mode 100644 index 0000000000..bf10ffeee9 --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh @@ -0,0 +1,359 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/** + * \file + * \brief Definition of a problem, for the 1p2c problem: + * Component transport of oxygen in interstitial fluid. + */ +#ifndef DUMUX_TISSUE_PROBLEM_HH +#define DUMUX_TISSUE_PROBLEM_HH + +#include <dune/geometry/quadraturerules.hh> +#include <dune/geometry/referenceelements.hh> +#include <dune/localfunctions/lagrange/pqkfactory.hh> + +#include <dumux/common/math.hh> +#include <dumux/implicit/cellcentered/tpfa/properties.hh> +#include <dumux/porousmediumflow/1p/implicit/model.hh> +#include <dumux/porousmediumflow/implicit/problem.hh> +#include <dumux/material/components/constant.hh> +#include <dumux/material/fluidsystems/liquidphase.hh> + +#include <dumux/mixeddimension/subproblemproperties.hh> + +#include "tissuespatialparams.hh" + +namespace Dumux +{ + +template <class TypeTag> +class TissueProblem; + +namespace Properties +{ +NEW_TYPE_TAG(TissueProblem, INHERITS_FROM(OneP)); +NEW_TYPE_TAG(TissueCCProblem, INHERITS_FROM(CCTpfaModel, TissueProblem)); + +// Set the grid type +SET_TYPE_PROP(TissueProblem, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 3> >); + +SET_BOOL_PROP(TissueProblem, EnableGlobalFVGeometryCache, true); +SET_BOOL_PROP(TissueProblem, EnableGlobalVolumeVariablesCache, true); +SET_BOOL_PROP(TissueProblem, EnableGlobalFluxVariablesCache, true); +SET_BOOL_PROP(TissueProblem, SolutionDependentAdvection, false); +SET_BOOL_PROP(TissueProblem, SolutionDependentMolecularDiffusion, false); +SET_BOOL_PROP(TissueProblem, SolutionDependentHeatConduction, false); + +// Set the grid parameter group +SET_STRING_PROP(TissueProblem, GridParameterGroup, "TissueGrid"); + +// Set the problem property +SET_TYPE_PROP(TissueProblem, Problem, TissueProblem<TypeTag>); + +SET_PROP(TissueProblem, Fluid) +{ +private: + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); +public: + using type = FluidSystems::LiquidPhase<Scalar, Constant<TypeTag, Scalar>>; +}; + +// Set the spatial parameters +SET_TYPE_PROP(TissueProblem, SpatialParams, Dumux::TissueSpatialParams<TypeTag>); + + +// Enable velocity output +SET_BOOL_PROP(TissueProblem, VtkAddVelocity, false); + +// Disable gravity +SET_BOOL_PROP(TissueProblem, ProblemEnableGravity, false); +} + + +/*! + * \ingroup OnePTwoCModel + * \ingroup ImplicitTestProblems + */ +template <class TypeTag> +class TissueProblem : public ImplicitPorousMediaProblem<TypeTag> +{ + using ParentType = ImplicitPorousMediaProblem<TypeTag>; + using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry); + using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume); + using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables); + using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); + using Indices = typename GET_PROP_TYPE(TypeTag, Indices); + + // copy some indices for convenience + enum { + // world dimension + dim = GridView::dimension, + dimWorld = GridView::dimensionworld + }; + enum { pressureIdx = Indices::pressureIdx }; + enum { conti0EqIdx = Indices::conti0EqIdx }; + + enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) }; + enum { dofCodim = isBox ? dim : 0 }; + + using Element = typename GridView::template Codim<0>::Entity; + using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; + + using GlobalProblemTypeTag = typename GET_PROP_TYPE(TypeTag, GlobalProblemTypeTag); + using CouplingManager = typename GET_PROP_TYPE(GlobalProblemTypeTag, CouplingManager); + +public: + TissueProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { + //read parameters from input file + name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, std::string, Problem, Name) + "_3d"; + } + + /*! + * \brief Called by the TimeManager in order to + * initialize the problem. + */ + void init() + { + ParentType::init(); + exactPressure_.resize(this->model().numDofs()); + for (const auto& element : elements(this->gridView())) + { + auto fvGeometry = localView(this->model().globalFvGeometry()); + fvGeometry.bindElement(element); + + for (auto&& scv : scvs(fvGeometry)) + exactPressure_[scv.dofIndex()] = exactSolution(scv.dofPosition()); + } + } + + /*! + * \brief Returns true if a restart file should be written to + * disk. + */ + bool shouldWriteRestartFile() const + { return false; } + + /*! + * \name Problem parameters + */ + // \{ + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string& name() const + { return name_; } + + /*! + * \brief Returns the temperature within the domain [K]. + * + * This problem assumes a temperature of 37 degrees Celsius. + */ + Scalar temperature() const + { return 273.15 + 37; } // in [K] + + // \} + + /*! + * \name Boundary conditions + */ + // \{ + + /*! + * \brief Specifies which kind of boundary condition should be + * used for which equation on a given boundary segment. + * + * \param globalPos The position for which the bc type should be evaluated + */ + BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const + { + BoundaryTypes values; + values.setAllDirichlet(); + return values; + } + + /*! + * \brief Evaluate the boundary conditions for a dirichlet + * boundary segment. + * + * \param globalPos The position for which the bc type should be evaluated + * + * For this method, the \a values parameter stores primary variables. + */ + PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const + { + PrimaryVariables values; + values = exactSolution(globalPos); + return values; + } + + // \} + + /*! + * \name Volume terms + */ + // \{ + + /*! + * \brief Applies a vector of point sources. The point sources + * are possibly solution dependent. + * + * \param pointSources A vector of Dumux::PointSource s that contain + source values for all phases and space positions. + * + * For this method, the \a values method of the point source + * has to return the absolute mass rate in kg/s. Positive values mean + * that mass is created, negative ones mean that it vanishes. + */ + void addPointSources(std::vector<PointSource>& pointSources) const + { pointSources = this->couplingManager().bulkPointSources(); } + + /*! + * \brief Evaluate the point sources (added by addPointSources) + * for all phases within a given sub-control-volume. + * + * This is the method for the case where the point source is + * solution dependent and requires some quantities that + * are specific to the fully-implicit method. + * + * \param pointSource A single point source + * \param element The finite element + * \param fvGeometry The finite-volume geometry + * \param elemVolVars All volume variables for the element + * \param scv The sub-control volume within the element + * + * For this method, the \a values() method of the point sources returns + * the absolute rate mass generated or annihilate in kg/s. Positive values mean + * that mass is created, negative ones mean that it vanishes. + */ + void pointSource(PointSource& source, + const Element &element, + const FVElementGeometry& fvGeometry, + const ElementVolumeVariables& elemVolVars, + const SubControlVolume &scv) const + { + // compute source at every integration point + //const auto& bulkVolVars = elemVolVars[scv]; + const auto& bulkVolVars = this->couplingManager().bulkVolVars(source.id()); + const Scalar pressure1D = this->couplingManager().lowDimPriVars(source.id())[pressureIdx]; + + // calculate the source + const Scalar radius = this->couplingManager().radius(source.id()); + const Scalar beta = 2*M_PI/(2*M_PI + std::log(radius)); + const Scalar sourceValue = beta*(pressure1D - bulkVolVars.pressure())*bulkVolVars.density(); + source = sourceValue*source.quadratureWeight()*source.integrationElement(); + } + + /*! + * \brief Evaluate the initial value for a control volume. + * + * \param values The initial values for the primary variables + * \param globalPos The position for which the initial condition should be evaluated + * + * For this method, the \a values parameter stores primary + * variables. + */ + PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const + { return PrimaryVariables(0.0); } + + //! The exact solution + Scalar exactSolution(const GlobalPosition &globalPos) const + { + Dune::FieldVector<double, 2> xy({globalPos[0], globalPos[1]}); + return -1.0*(1+globalPos[2])/(2*M_PI)*std::log(xy.two_norm()); + + // use this instead if you are using the coupling manager with circle sources + // auto R = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, SpatialParams, Radius); + // if (xy.two_norm() > R) + // return -1.0*(1+globalPos[2])/(2*M_PI)*std::log(xy.two_norm()); + // else + // return -1.0*(1+globalPos[2])/(2*M_PI)*std::log(R); + } + + //! Called after every time step + //! Output the total global exchange term + void postTimeStep() + { + ParentType::postTimeStep(); + + PrimaryVariables source(0.0); + + if (!(this->timeManager().time() < 0.0)) + { + for (const auto& element : elements(this->gridView())) + { + auto fvGeometry = localView(this->model().globalFvGeometry()); + fvGeometry.bindElement(element); + + auto elemVolVars = localView(this->model().curGlobalVolVars()); + elemVolVars.bindElement(element, fvGeometry, this->model().curSol()); + + for (auto&& scv : scvs(fvGeometry)) + { + auto pointSources = this->scvPointSources(element, fvGeometry, elemVolVars, scv); + pointSources *= scv.volume()*elemVolVars[scv].extrusionFactor(); + source += pointSources; + } + } + } + + std::cout << "Global integrated source (3D): " << source << '\n'; + } + + /*! + * \brief Adds additional VTK output data to the VTKWriter. Function is called by the output module on every write. + */ + void addVtkOutputFields(VtkOutputModule<TypeTag>& outputModule) const + { + auto& p = outputModule.createScalarField("exact pressure", dofCodim); + p = exactPressure_; + } + + //! Set the coupling manager + void setCouplingManager(std::shared_ptr<CouplingManager> cm) + { couplingManager_ = cm; } + + //! Get the coupling manager + const CouplingManager& couplingManager() const + { return *couplingManager_; } + + const std::vector<unsigned int>& getAdditionalDofDependencies(unsigned int dofGlobalIdx) const + { return couplingManager().getAdditionalDofDependencies(dofGlobalIdx); } + +private: + std::vector<Scalar> exactPressure_; + + static constexpr Scalar eps_ = 1.5e-7; + std::string name_; + + std::shared_ptr<CouplingManager> couplingManager_; +}; + +} //end namespace Dumux + +#endif diff --git a/test/mixeddimension/embedded/1p_1p/tissuespatialparams.hh b/test/mixeddimension/embedded/1p_1p/tissuespatialparams.hh new file mode 100644 index 0000000000..d53668551c --- /dev/null +++ b/test/mixeddimension/embedded/1p_1p/tissuespatialparams.hh @@ -0,0 +1,102 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief Definition of the spatial parameters for the tissue problem + */ +#ifndef DUMUX_TISSUE_SPATIAL_PARAMS_HH +#define DUMUX_TISSUE_SPATIAL_PARAMS_HH + +#include <dumux/material/spatialparams/implicit1p.hh> + +namespace Dumux +{ + +/*! + * \ingroup OnePModel + * \ingroup ImplicitTestProblems + * + * \brief Definition of the spatial parameters for the tissue problem + */ +template<class TypeTag> +class TissueSpatialParams : public ImplicitSpatialParamsOneP<TypeTag> +{ + using ParentType = ImplicitSpatialParamsOneP<TypeTag>; + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Element = typename GridView::template Codim<0>::Entity; + using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume); + using ElementSolutionVector = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector); + + enum { + // Grid and world dimension + dim = GridView::dimension, + dimworld = GridView::dimensionworld + }; + using GlobalPosition = Dune::FieldVector<Scalar, dimworld>; + +public: + // export permeability type + using PermeabilityType = Scalar; + + TissueSpatialParams(const Problem& problem, const GridView &gridView) + : ParentType(problem, gridView) + { + permeability_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, SpatialParams, PermeabilityTissue); + porosity_ = 1.0; + } + + /*! + * \brief Define the intrinsic permeability \f$\mathrm{[m^2]}\f$. + * + * \param element The element + * \param scv The sub control volume + * \param elemSol the element solution vector + */ + Scalar permeability(const Element& element, + const SubControlVolume& scv, + const ElementSolutionVector& elemSol) const + { + return permeability_; + } + + /*! + * \brief Define the porosity \f$\mathrm{[-]}\f$. + * + * \param element The current finite element + * \param scv The sub control volume + * \param elemSol The current element solution vector + */ + Scalar porosity(const Element& element, + const SubControlVolume& scv, + const ElementSolutionVector& elemSol) const + { + return porosity_; + } + +private: + Scalar permeability_; + Scalar porosity_; +}; + +} // end namespace Dumux + +#endif diff --git a/test/mixeddimension/embedded/CMakeLists.txt b/test/mixeddimension/embedded/CMakeLists.txt new file mode 100644 index 0000000000..404e7c295f --- /dev/null +++ b/test/mixeddimension/embedded/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory("1p_1p") -- GitLab