From: Marc Fehling Date: Thu, 11 Apr 2019 14:18:42 +0000 (+0200) Subject: Introduced future finite element indices. X-Git-Tag: v9.1.0-rc1~45^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c73f117d65ec1070c81e23efe42726ede534cc0f;p=dealii.git Introduced future finite element indices. --- diff --git a/doc/news/changes/minor/20190224MarcFehling b/doc/news/changes/minor/20190224MarcFehling deleted file mode 100644 index a1bf46b6ff..0000000000 --- a/doc/news/changes/minor/20190224MarcFehling +++ /dev/null @@ -1,7 +0,0 @@ -New: Introduced flags for p-refinement and p-coarsening that can be -accessed and changed via member functions of the DoFCellAccessor class, -namely DoFCellAccessor::p_refine_flag_set, DoFCellAccessor::set_p_refine_flag, -DoFCellAccessor::clear_p_refine_flag, and DoFCellAccessor::p_coarsen_flag_set, -DoFCellAccessor::set_p_coarsen_flag, DoFCellAccessor::clear_p_coarsen_flag. -
-(Marc Fehling, 2019/02/24) diff --git a/doc/news/changes/minor/20190318Fehling b/doc/news/changes/minor/20190318Fehling deleted file mode 100644 index 9d7de3beed..0000000000 --- a/doc/news/changes/minor/20190318Fehling +++ /dev/null @@ -1,5 +0,0 @@ -New: Function DoFCellAccessor::active_fe_index_after_p_refinement_and_coarsening() -returns the active fe index that a cell (of a hp::DoFHandler) will have if -p-refinement would be performed. -
-(Marc Fehling, 2019/03/18) diff --git a/doc/news/changes/minor/20190510MarcFehling b/doc/news/changes/minor/20190510MarcFehling new file mode 100644 index 0000000000..02c397823f --- /dev/null +++ b/doc/news/changes/minor/20190510MarcFehling @@ -0,0 +1,7 @@ +New: Introduced indices for future finite elements that cells will be assigned +to after the triangulation changes. The future_fe_index of each cell can be +accessed and changed via member functions of the DoFCellAccessor class, +namely DoFCellAccessor::future_fe_index(), DoFCellAccessor::set_future_fe_index(), +DoFCellAccessor::future_fe_index_set(), and DoFCellAccessor::clear_future_fe_index(). +
+(Marc Fehling, 2019/05/10) diff --git a/include/deal.II/dofs/dof_accessor.h b/include/deal.II/dofs/dof_accessor.h index 8ee1d5df26..7ce06266e4 100644 --- a/include/deal.II/dofs/dof_accessor.h +++ b/include/deal.II/dofs/dof_accessor.h @@ -596,23 +596,6 @@ public: DeclExceptionMsg(ExcInvalidObject, "This accessor object has not been " "associated with any DoFHandler object."); - /** - * Exception - * - * @ingroup Exceptions - */ - DeclExceptionMsg(ExcRefinementNotSupported, - "DoFHandler is not of type hp::DoFHandler and " - "does not support p-refinement."); - /** - * Exception - * - * @ingroup Exceptions - */ - DeclExceptionMsg(ExcCoarseningNotSupported, - "DoFHandler is not of type hp::DoFHandler and " - "does not support p-coarsening."); - /** * Exception * @@ -1902,10 +1885,14 @@ public: * parallel::shared::Triangulation or parallel::distributed::Triangulation * classes, it is only allowed to call this function on locally * owned or ghost cells. No information is available on artificial cells. - * Furthermore, @p active_fe_index information is exchanged from locally + * Furthermore, @p active_fe_index information is only exchanged from locally * owned cells on one processor to other processors where they may be - * ghost cells, during the call to hp::DoFHandler::distribute_dofs(). - * See the documentation of hp::DoFHandler for more information. + * ghost cells, during the call to hp::DoFHandler::set_fe() and + * hp::DoFHandler::distribute_dofs(). Be aware that if you call + * set_active_fe_index() on a cell after calling one of these functions, then + * this information will not be propagated to other processors who may have + * this cell as a ghost cell. See the documentation of hp::DoFHandler for more + * information. */ unsigned int active_fe_index() const; @@ -1928,8 +1915,7 @@ public: * classes, it is only allowed to call this function on locally * owned cells (see * @ref GlossLocallyOwnedCell "this glossary entry"). - * This - * is because otherwise a common source of errors would be if one + * This is because otherwise a common source of errors would be if one * processor sets a different @p active_fe_index on a ghost cell than * the processor that actually owns the cell does. To avoid this mistake, * one can only set @p active_fe_index information on locally owned @@ -1970,82 +1956,56 @@ public: */ /** - * Return whether the p-refinement flag is set or not. + * Return the fe_index of the finite element that will be assigned to this + * cell next time the triangulation gets refined and coarsened. If no future + * finite element has been specified for this cell via the + * set_future_fe_index() function, the active one will remain unchanged, in + * which case the fe_index of the active finite element will be returned. * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. - */ - bool - p_refine_flag_set() const; - - /** - * Flag the cell pointed to for p-refinement. This function is only allowed - * for active cells. + * @note Since degrees of freedom only exist on active cells for + * hp::DoFHandler (i.e., there is currently no implementation of multilevel + * hp::DoFHandler objects), it does not make sense to query future FE + * indices on non-active cells since they do not have finite element spaces + * associated with them without having any degrees of freedom. Consequently, + * this function will produce an exception when called on non-active cells. * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. + * @note When using parallel meshes, either through the + * parallel::shared::Triangulation or parallel::distributed::Triangulation + * classes, it is only allowed to call this function on locally owned cells. */ - void - set_p_refine_flag() const; + unsigned int + future_fe_index() const; /** - * Clear the p-refinement flag. + * Set the fe_index of the finite element that will be assigned to this + * cell next time the triangulation gets refined and coarsened. A previously + * assigned future finite element will be overwritten. * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. + * See notes of future_fe_index() for information about restrictions on this + * functionality. */ void - clear_p_refine_flag() const; + set_future_fe_index(const unsigned int i) const; /** - * Return whether the p-coarsening flag is set or not. + * Return whether a future finite element has been set. * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. + * See notes of future_fe_index() for information about restrictions on this + * functionality. */ bool - p_coarsen_flag_set() const; - - /** - * Flag the cell pointed to for p-coarsening. This function is only allowed - * for active cells. - * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. - */ - void - set_p_coarsen_flag() const; + future_fe_index_set() const; /** - * Clear the p-coarsening flag. + * Revoke the future finite element assigned. Thus, the active finite element + * will remain unchanged next time the triangulation gets refined and + * coarsened. * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. + * See notes on future_fe_index() for information about restrictions on this + * functionality. */ void - clear_p_coarsen_flag() const; - - /** - * Returns the active_fe_index that this cell would have if refinement would - * happen. - * - * Prediction is based on the current p-refinement flags set on this cell, - * returning FECollection::next_in_hierarchy() for p-refinement, - * FECollection::previous_in_hierarchy() for p-coarsening, - * or the current active_fe_index otherwise. - * - * If this cell is additionally flagged for h-refinement or h-coarsening, - * these predicted active_fe_indices will be used to determine the finite - * elements on the refined and coarsened cells. For h-refinement, the - * predicted active_fe_index will be distributed on its children. For - * h-coarsening, the predicted active_fe_index of this cell and its siblings - * will be used to determine the active_fe_index on parent cell. - * - * @note The DoFHandler in use has to be of type hp::DoFHandler. - * An exception is thrown otherwise. - */ - unsigned int - active_fe_index_after_p_refinement_and_coarsening() const; + clear_future_fe_index() const; /** * @} */ diff --git a/include/deal.II/dofs/dof_accessor.templates.h b/include/deal.II/dofs/dof_accessor.templates.h index d8f976a6e6..d0ea1d4577 100644 --- a/include/deal.II/dofs/dof_accessor.templates.h +++ b/include/deal.II/dofs/dof_accessor.templates.h @@ -3051,16 +3051,15 @@ namespace internal /** - * Do what the active_fe_index function in the parent class is supposed - * to do. + * Do what the active_fe_index function in the parent class is supposed to + * do. */ template static unsigned int active_fe_index( const DoFCellAccessor, level_dof_access> &) { - // ::DoFHandler only supports a single active fe with index - // zero + // ::DoFHandler only supports a single active fe with index zero return 0; } @@ -3072,6 +3071,9 @@ namespace internal const DoFCellAccessor, level_dof_access> &accessor) { + Assert( + accessor.dof_handler != nullptr, + (typename std::decay::type::ExcInvalidObject())); Assert(static_cast(accessor.level()) < accessor.dof_handler->levels.size(), ExcMessage("DoFHandler not initialized")); @@ -3094,8 +3096,7 @@ namespace internal { (void)accessor; (void)i; - // ::DoFHandler only supports a single active fe with index - // zero + // ::DoFHandler only supports a single active fe with index zero Assert( i == 0, (typename std::decay::type::ExcInvalidObject())); @@ -3123,24 +3124,24 @@ namespace internal + /** + * Do what the future_fe_index function in the parent class is supposed to + * do. + */ template - static bool - p_refine_flag_set(const DoFCellAccessor, - level_dof_access> &accessor) + static unsigned int + future_fe_index( + const DoFCellAccessor, level_dof_access> &) { - (void)accessor; - // ::DoFHandler does not support p-refinement - Assert(false, - (typename std::decay::type::ExcRefinementNotSupported())); - return false; + // ::DoFHandler only supports a single active fe with index zero + return 0; } template - static bool - p_refine_flag_set( + static unsigned int + future_fe_index( const DoFCellAccessor, level_dof_access> &accessor) { @@ -3151,74 +3152,37 @@ namespace internal accessor.dof_handler->levels.size(), ExcMessage("DoFHandler not initialized")); - const auto &p_refine_flags = - accessor.dof_handler->levels[accessor.level()]->p_refine_flags; - Assert(static_cast(accessor.present_index) < - p_refine_flags.size(), - ExcIndexRange(accessor.present_index, 0, p_refine_flags.size())); - - return p_refine_flags[accessor.present_index]; + return accessor.dof_handler->levels[accessor.level()]->future_fe_index( + accessor.present_index); } - + /** + * Do what the set_future_fe_index function in the parent class is + * supposed to do. + */ template static void - set_p_refine_flag(const DoFCellAccessor, - level_dof_access> &accessor) + set_future_fe_index(const DoFCellAccessor, + level_dof_access> &accessor, + const unsigned int i) { (void)accessor; - // ::DoFHandler does not support p-refinement - Assert(false, - (typename std::decay::type::ExcRefinementNotSupported())); - } - - - - template - static void - set_p_refine_flag( - const DoFCellAccessor, - level_dof_access> &accessor) - { + (void)i; + // ::DoFHandler only supports a single active fe with index zero Assert( - accessor.dof_handler != nullptr, + i == 0, (typename std::decay::type::ExcInvalidObject())); - Assert(static_cast(accessor.level()) < - accessor.dof_handler->levels.size(), - ExcMessage("DoFHandler not initialized")); - - auto &p_refine_flags = - accessor.dof_handler->levels[accessor.level()]->p_refine_flags; - Assert(static_cast(accessor.present_index) < - p_refine_flags.size(), - ExcIndexRange(accessor.present_index, 0, p_refine_flags.size())); - - p_refine_flags[accessor.present_index] = true; } template static void - clear_p_refine_flag(const DoFCellAccessor, - level_dof_access> &accessor) - { - (void)accessor; - // ::DoFHandler does not support p-refinement - Assert(false, - (typename std::decay::type::ExcRefinementNotSupported())); - } - - - - template - static void - clear_p_refine_flag( + set_future_fe_index( const DoFCellAccessor, - level_dof_access> &accessor) + level_dof_access> &accessor, + const unsigned int i) { Assert( accessor.dof_handler != nullptr, @@ -3227,27 +3191,23 @@ namespace internal accessor.dof_handler->levels.size(), ExcMessage("DoFHandler not initialized")); - auto &p_refine_flags = - accessor.dof_handler->levels[accessor.level()]->p_refine_flags; - Assert(static_cast(accessor.present_index) < - p_refine_flags.size(), - ExcIndexRange(accessor.present_index, 0, p_refine_flags.size())); - - p_refine_flags[accessor.present_index] = false; + accessor.dof_handler->levels[accessor.level()]->set_future_fe_index( + accessor.present_index, i); } + /** + * Do what the future_fe_index_set function in the parent class is + * supposed to do. + */ template static bool - p_coarsen_flag_set(const DoFCellAccessor, - level_dof_access> &accessor) + future_fe_index_set( + const DoFCellAccessor, + level_dof_access> &) { - (void)accessor; - // ::DoFHandler does not support p-coarsening - Assert(false, - (typename std::decay::type::ExcCoarseningNotSupported())); + // ::DoFHandler only supports a single active fe with index zero return false; } @@ -3255,7 +3215,7 @@ namespace internal template static bool - p_coarsen_flag_set( + future_fe_index_set( const DoFCellAccessor, level_dof_access> &accessor) { @@ -3266,76 +3226,30 @@ namespace internal accessor.dof_handler->levels.size(), ExcMessage("DoFHandler not initialized")); - const auto &p_coarsen_flags = - accessor.dof_handler->levels[accessor.level()]->p_coarsen_flags; - Assert(static_cast(accessor.present_index) < - p_coarsen_flags.size(), - ExcIndexRange(accessor.present_index, - 0, - p_coarsen_flags.size())); - - return p_coarsen_flags[accessor.present_index]; - } - - - - template - static void - set_p_coarsen_flag(const DoFCellAccessor, - level_dof_access> &accessor) - { - (void)accessor; - // ::DoFHandler does not support p-coarsening - Assert(false, - (typename std::decay::type::ExcCoarseningNotSupported())); - } - - - - template - static void - set_p_coarsen_flag( - const DoFCellAccessor, - level_dof_access> &accessor) - { - Assert( - accessor.dof_handler != nullptr, - (typename std::decay::type::ExcInvalidObject())); - Assert(static_cast(accessor.level()) < - accessor.dof_handler->levels.size(), - ExcMessage("DoFHandler not initialized")); - - auto &p_coarsen_flags = - accessor.dof_handler->levels[accessor.level()]->p_coarsen_flags; - Assert(static_cast(accessor.present_index) < - p_coarsen_flags.size(), - ExcIndexRange(accessor.present_index, - 0, - p_coarsen_flags.size())); - - p_coarsen_flags[accessor.present_index] = true; + return accessor.dof_handler->levels[accessor.level()] + ->future_fe_index_set(accessor.present_index); } + /** + * Do what the clear_fe_index function in the parent class is supposed to + * do. + */ template static void - clear_p_coarsen_flag(const DoFCellAccessor, - level_dof_access> &accessor) + clear_future_fe_index( + const DoFCellAccessor, + level_dof_access> &) { - (void)accessor; - // ::DoFHandler does not support p-coarsening - Assert(false, - (typename std::decay::type::ExcCoarseningNotSupported())); + // ::DoFHandler only supports a single active fe with index zero } template static void - clear_p_coarsen_flag( + clear_future_fe_index( const DoFCellAccessor, level_dof_access> &accessor) { @@ -3346,15 +3260,8 @@ namespace internal accessor.dof_handler->levels.size(), ExcMessage("DoFHandler not initialized")); - auto &p_coarsen_flags = - accessor.dof_handler->levels[accessor.level()]->p_coarsen_flags; - Assert(static_cast(accessor.present_index) < - p_coarsen_flags.size(), - ExcIndexRange(accessor.present_index, - 0, - p_coarsen_flags.size())); - - p_coarsen_flags[accessor.present_index] = false; + accessor.dof_handler->levels[accessor.level()]->clear_future_fe_index( + accessor.present_index); } @@ -4112,12 +4019,122 @@ DoFCellAccessor::set_active_fe_index( "will automatically be propagated from the owning process " "of that cell, and there is no information at all on " "artificial cells.")); + dealii::internal::DoFCellAccessorImplementation::Implementation:: set_active_fe_index(*this, i); } +template +inline unsigned int +DoFCellAccessor::future_fe_index() const +{ + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->has_children() == false), + ExcMessage("You can not ask for the future_fe_index on a cell that has " + "children because no degrees of freedom are assigned " + "to this cell and, consequently, no finite element " + "is associated with it.")); + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->is_locally_owned()), + ExcMessage("You can only query future_fe_index information on cells " + "that are locally owned.")); + + return dealii::internal::DoFCellAccessorImplementation::Implementation:: + future_fe_index(*this); +} + + + +template +inline void +DoFCellAccessor::set_future_fe_index( + const unsigned int i) const +{ + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->has_children() == false), + ExcMessage("You can not set the future_fe_index on a cell that has " + "children because no degrees of freedom will be assigned " + "to this cell.")); + + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + this->is_locally_owned(), + ExcMessage("You can only set future_fe_index information on cells " + "that are locally owned.")); + + dealii::internal::DoFCellAccessorImplementation::Implementation:: + set_future_fe_index(*this, i); +} + + + +template +inline bool +DoFCellAccessor::future_fe_index_set() const +{ + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->has_children() == false), + ExcMessage("You can not ask for the future_fe_index on a cell that has " + "children because no degrees of freedom are assigned " + "to this cell and, consequently, no finite element " + "is associated with it.")); + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->is_locally_owned()), + ExcMessage("You can only query future_fe_index information on cells " + "that are locally owned.")); + + return dealii::internal::DoFCellAccessorImplementation::Implementation:: + future_fe_index_set(*this); +} + + + +template +inline void +DoFCellAccessor::clear_future_fe_index() const +{ + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->has_children() == false), + ExcMessage("You can not ask for the future_fe_index on a cell that has " + "children because no degrees of freedom are assigned " + "to this cell and, consequently, no finite element " + "is associated with it.")); + Assert( + (dynamic_cast *>( + this->dof_handler) != nullptr) || + (this->is_locally_owned()), + ExcMessage("You can only query future_fe_index information on cells " + "that are locally owned.")); + + dealii::internal::DoFCellAccessorImplementation::Implementation:: + clear_future_fe_index(*this); +} + + + template template inline void @@ -4199,130 +4216,6 @@ DoFCellAccessor::distribute_local_to_global( -template -inline bool -DoFCellAccessor::p_refine_flag_set() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - // cells flagged for refinement must be active - // (the @p set_p_refine_flag function checks this, - // but activity may change when refinement is - // executed and for some reason the refine - // flag is not cleared). - Assert(this->active() || !dealii::internal::DoFCellAccessorImplementation:: - Implementation::p_refine_flag_set(*this), - (typename CellAccessor::ExcRefineCellNotActive())); - - return dealii::internal::DoFCellAccessorImplementation::Implementation:: - p_refine_flag_set(*this); -} - - - -template -inline void -DoFCellAccessor::set_p_refine_flag() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - Assert(this->active(), - (typename CellAccessor::ExcRefineCellNotActive())); - Assert(!dealii::internal::DoFCellAccessorImplementation::Implementation:: - p_coarsen_flag_set(*this), - (typename CellAccessor::ExcCellFlaggedForCoarsening())); - - dealii::internal::DoFCellAccessorImplementation::Implementation:: - set_p_refine_flag(*this); -} - - - -template -inline void -DoFCellAccessor::clear_p_refine_flag() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - Assert(this->active(), - (typename CellAccessor::ExcRefineCellNotActive())); - - dealii::internal::DoFCellAccessorImplementation::Implementation:: - clear_p_refine_flag(*this); -} - - - -template -inline bool -DoFCellAccessor::p_coarsen_flag_set() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - // cells flagged for coarsening must be active - // (the @p set_refine_flag function checks this, - // but activity may change when refinement is - // executed and for some reason the refine - // flag is not cleared). - Assert(this->active() || !dealii::internal::DoFCellAccessorImplementation:: - Implementation::p_coarsen_flag_set(*this), - (typename CellAccessor::ExcRefineCellNotActive())); - - return dealii::internal::DoFCellAccessorImplementation::Implementation:: - p_coarsen_flag_set(*this); -} - - - -template -inline void -DoFCellAccessor::set_p_coarsen_flag() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - Assert(this->active(), - (typename CellAccessor::ExcRefineCellNotActive())); - Assert(!dealii::internal::DoFCellAccessorImplementation::Implementation:: - p_refine_flag_set(*this), - (typename CellAccessor::ExcCellFlaggedForRefinement())); - - dealii::internal::DoFCellAccessorImplementation::Implementation:: - set_p_coarsen_flag(*this); -} - - - -template -inline void -DoFCellAccessor::clear_p_coarsen_flag() const -{ - Assert(this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - Assert(this->active(), - (typename CellAccessor::ExcRefineCellNotActive())); - - dealii::internal::DoFCellAccessorImplementation::Implementation:: - clear_p_coarsen_flag(*this); -} - - - -template -inline unsigned int -DoFCellAccessor:: - active_fe_index_after_p_refinement_and_coarsening() const -{ - if (p_refine_flag_set()) - { - Assert(!p_coarsen_flag_set(), ExcInternalError()); - return this->get_dof_handler().get_fe_collection().next_in_hierarchy( - active_fe_index()); - } - else if (p_coarsen_flag_set()) - { - Assert(!p_refine_flag_set(), ExcInternalError()); - return this->get_dof_handler().get_fe_collection().previous_in_hierarchy( - active_fe_index()); - } - - return active_fe_index(); -} - - DEAL_II_NAMESPACE_CLOSE #endif diff --git a/include/deal.II/grid/tria.h b/include/deal.II/grid/tria.h index baf3beefda..311cda5022 100644 --- a/include/deal.II/grid/tria.h +++ b/include/deal.II/grid/tria.h @@ -2206,10 +2206,18 @@ public: /** * This signal is triggered at the end of execution of the * Triangulation::execute_coarsening_and_refinement() function when the - * triangulation has reached its final state + * triangulation has reached its final state. */ boost::signals2::signal post_refinement; + /** + * This signal is triggered at the beginning of execution of the + * GridTools::partition_triangulation() and + * GridTools::partition_triangulation_zorder() functions. At the time this + * signal is triggered, the triangulation is still unchanged. + */ + boost::signals2::signal pre_partition; + /** * This signal is triggered when a function in deal.II moves the grid * points of a mesh, e.g. GridTools::transform. Unfortunately, diff --git a/include/deal.II/hp/dof_handler.h b/include/deal.II/hp/dof_handler.h index 064503e358..29a8557c9b 100644 --- a/include/deal.II/hp/dof_handler.h +++ b/include/deal.II/hp/dof_handler.h @@ -1089,16 +1089,6 @@ namespace hp void create_active_fe_table(); - /** - * Create default tables for the p_refine_flags and p_coarsen_flags in the - * dealii::internal::hp::DoFLevel. All of them are initialized with a false - * boolean, meaning that no cell is initially flagged for p-refinement or - * p-coarsening. This method is called while setting the finite elements via - * set_fe(). - */ - void - create_p_adaptation_flags(); - /** * A function that will be triggered through a triangulation * signal just before the triangulation is modified. diff --git a/include/deal.II/hp/dof_level.h b/include/deal.II/hp/dof_level.h index aa70ce9dea..353033a991 100644 --- a/include/deal.II/hp/dof_level.h +++ b/include/deal.II/hp/dof_level.h @@ -122,6 +122,12 @@ namespace internal */ using signed_active_fe_index_type = signed short int; + /** + * Invalid active_fe_index which will be used as a default value to + * determine whether a future_fe_index has been set or not. + */ + static const active_fe_index_type invalid_active_fe_index; + /** * Given an active_fe_index, return whether the corresponding * set of DoF indices are compressed. See the general documentation @@ -144,13 +150,27 @@ namespace internal * the different cells on the current level. The vector stores one * element per cell since the active_fe_index is unique for cells. * - * If a cell is not active on the level corresponding to the current - * object (i.e., it has children on higher levels) then it does not have - * an associated fe index and we store an invalid fe index marker - * instead. + * Each active_fe_index will be preset to zero, i.e. the default finite + * element. However, only active cells are eligible to have a finite + * element assigned, which will be verified by corresponding accessor + * functions of the DoFCellAccessor class. */ std::vector active_fe_indices; + /** + * Indices specifying the finite element of hp::FECollection that the cell + * will be assigned to after the triangulation changed (due to refinement + * and/or coarsening, or repartitioning). The vector stores one element + * per cell since the future_fe_index is unique for cells. + * + * Each future_fe_index will be preset to invalid_active_fe_index, + * indicating that the active_fe_index will remain unchanged. However, + * only active cells are eligible to have a finite element assigned, which + * will be verified by corresponding accessor functions of the + * DoFCellAccessor class. + */ + std::vector future_fe_indices; + /** * Store the start index for the degrees of freedom of each object in * the @p dof_indices array. If the cell corresponding to a particular @@ -184,20 +204,6 @@ namespace internal */ std::vector cell_dof_indices_cache; - /** - * Indicators for p-refinement for different cells on the current level. - * The vector stores one flag per cell, specifying whether the cell is - * scheduled for future p-refinement. - */ - std::vector p_refine_flags; - - /** - * Indicators for p-coarsening for different cells on the current level. - * The vector stores one flag per cell, specifying whether the cell is - * scheduled for future p-coarssening. - */ - std::vector p_coarsen_flags; - public: /** * Set the global index of the @p local_index-th degree of freedom @@ -254,6 +260,32 @@ namespace internal set_active_fe_index(const unsigned int obj_index, const unsigned int fe_index); + /** + * Return the fe_index of the future finite element on this object. If no + * future_fe_index has been specified, return the active_fe_index instead. + */ + unsigned int + future_fe_index(const unsigned int obj_index) const; + + /** + * Set the fe_index of the future finite element on this object. + */ + void + set_future_fe_index(const unsigned int obj_index, + const unsigned int fe_index); + + /** + * Return whether a future fe index has been set on this object. + */ + bool + future_fe_index_set(const unsigned int obj_index) const; + + /** + * Revoke the future finite element assigned to this object. + */ + void + clear_future_fe_index(const unsigned int obj_index); + /** * Return a pointer to the beginning of the DoF indices cache for a * given cell. @@ -469,12 +501,81 @@ namespace internal "You are using an active_fe_index that is larger than an " "internal limitation for these objects. Try to work with " "hp::FECollection objects that have a more modest size.")); + Assert(fe_index != invalid_active_fe_index, + ExcMessage( + "You are using an active_fe_index that is reserved for " + "internal purposes for these objects. Try to work with " + "hp::FECollection objects that have a more modest size.")); active_fe_indices[obj_index] = fe_index; } + inline unsigned int + DoFLevel::future_fe_index(const unsigned int obj_index) const + { + Assert(obj_index < future_fe_indices.size(), + ExcIndexRange(obj_index, 0, future_fe_indices.size())); + + if (future_fe_index_set(obj_index)) + return future_fe_indices[obj_index]; + + return active_fe_index(obj_index); + } + + + + inline void + DoFLevel::set_future_fe_index(const unsigned int obj_index, + const unsigned int fe_index) + { + Assert(obj_index < future_fe_indices.size(), + ExcIndexRange(obj_index, 0, future_fe_indices.size())); + + // check whether the given fe_index is within the range of + // values that we interpret as "not compressed". if not, then + // the index is so large that we cannot accept it. (but this + // will not likely happen because it requires someone using an + // FECollection that has more than 32k entries.) + Assert(is_compressed_entry(fe_index) == false, + ExcMessage( + "You are using a future_fe_index that is larger than an " + "internal limitation for these objects. Try to work with " + "hp::FECollection objects that have a more modest size.")); + Assert(fe_index != invalid_active_fe_index, + ExcMessage( + "You are using a future_fe_index that is reserved for " + "internal purposes for these objects. Try to work with " + "hp::FECollection objects that have a more modest size.")); + + future_fe_indices[obj_index] = fe_index; + } + + + + inline bool + DoFLevel::future_fe_index_set(const unsigned int obj_index) const + { + Assert(obj_index < future_fe_indices.size(), + ExcIndexRange(obj_index, 0, future_fe_indices.size())); + + return (future_fe_indices[obj_index] != invalid_active_fe_index); + } + + + + inline void + DoFLevel::clear_future_fe_index(const unsigned int obj_index) + { + Assert(obj_index < future_fe_indices.size(), + ExcIndexRange(obj_index, 0, future_fe_indices.size())); + + future_fe_indices[obj_index] = invalid_active_fe_index; + } + + + inline const types::global_dof_index * DoFLevel::get_cell_cache_start(const unsigned int obj_index, const unsigned int dofs_per_cell) const @@ -505,8 +606,7 @@ namespace internal ar & this->cell_dof_indices_cache; ar & this->dof_indices; ar & this->dof_offsets; - ar & this->p_refine_flags; - ar & this->p_coarsen_flags; + ar & this->future_fe_indices; } } // namespace hp diff --git a/source/distributed/cell_weights.cc b/source/distributed/cell_weights.cc index d8c18121e4..e5e092f575 100644 --- a/source/distributed/cell_weights.cc +++ b/source/distributed/cell_weights.cc @@ -137,7 +137,7 @@ namespace parallel case Triangulation::CELL_PERSIST: case Triangulation::CELL_REFINE: case Triangulation::CELL_INVALID: - fe_index = cell->active_fe_index(); + fe_index = cell->future_fe_index(); break; case Triangulation::CELL_COARSEN: @@ -147,7 +147,7 @@ namespace parallel child_index < GeometryInfo::max_children_per_cell; ++child_index) fe_indices_children.insert( - cell->child(child_index)->active_fe_index()); + cell->child(child_index)->future_fe_index()); Assert(dof_handler->get_fe_collection().find_dominating_fe_extended( fe_indices_children, /*codim=*/0) != diff --git a/source/distributed/solution_transfer.cc b/source/distributed/solution_transfer.cc index 5c56ad15de..b8b97ae503 100644 --- a/source/distributed/solution_transfer.cc +++ b/source/distributed/solution_transfer.cc @@ -241,9 +241,7 @@ namespace parallel if (DoFHandlerType::is_hp_dof_handler) { - unsigned int dofs_per_cell = numbers::invalid_unsigned_int; - unsigned int fe_index = numbers::invalid_unsigned_int; - + unsigned int fe_index = numbers::invalid_unsigned_int; switch (status) { case parallel::distributed::Triangulation< @@ -253,8 +251,7 @@ namespace parallel dim, DoFHandlerType::space_dimension>::CELL_REFINE: { - dofs_per_cell = cell->get_fe().dofs_per_cell; - fe_index = cell->active_fe_index(); + fe_index = cell->future_fe_index(); break; } @@ -270,7 +267,7 @@ namespace parallel child_index < GeometryInfo::max_children_per_cell; ++child_index) fe_indices_children.insert( - cell->child(child_index)->active_fe_index()); + cell->child(child_index)->future_fe_index()); fe_index = dof_handler->get_fe_collection() .find_dominating_fe_extended(fe_indices_children, @@ -283,15 +280,17 @@ namespace parallel "that dominates all children of a cell you are trying " "to coarsen!")); - dofs_per_cell = dof_handler->get_fe(fe_index).dofs_per_cell; + break; } - break; default: Assert(false, ExcInternalError()); break; } + const unsigned int dofs_per_cell = + dof_handler->get_fe(fe_index).dofs_per_cell; + auto it_input = input_vectors.cbegin(); auto it_output = dofvalues.begin(); for (; it_input != input_vectors.cend(); ++it_input, ++it_output) diff --git a/source/grid/grid_tools.cc b/source/grid/grid_tools.cc index dfff05c3de..6cae2726c1 100644 --- a/source/grid/grid_tools.cc +++ b/source/grid/grid_tools.cc @@ -2839,6 +2839,9 @@ namespace GridTools Assert(cell_connection_graph.n_cols() == triangulation.n_active_cells(), ExcMessage("Connectivity graph has wrong size")); + // signal that partitioning is going to happen + triangulation.signals.pre_partition(); + // check for an easy return if (n_partitions == 1) { @@ -2910,6 +2913,9 @@ namespace GridTools "partitioned again explicitly.")); Assert(n_partitions > 0, ExcInvalidNumberOfPartitions(n_partitions)); + // signal that partitioning is going to happen + triangulation.signals.pre_partition(); + // check for an easy return if (n_partitions == 1) { diff --git a/source/hp/dof_handler.cc b/source/hp/dof_handler.cc index 329a7c2ef0..d271728455 100644 --- a/source/hp/dof_handler.cc +++ b/source/hp/dof_handler.cc @@ -82,6 +82,27 @@ namespace internal */ struct Implementation { + /** + * No future_fe_indices should have been assigned when partitioning a + * triangulation, since they are only available locally and will not be + * communicated. + */ + template + static void + ensure_absence_of_future_fe_indices( + DoFHandler &dof_handler) + { + (void)dof_handler; + for (const auto &cell : dof_handler.active_cell_iterators()) + if (cell->is_locally_owned()) + Assert( + !cell->future_fe_index_set(), + ExcMessage( + "There shouldn't be any cells flagged for p-adaptation when partitioning.")); + } + + + /** * Do that part of reserving space that pertains to releasing * the previously used memory. @@ -94,20 +115,15 @@ namespace internal // refinement flags which we have to back up before { std::vector> - active_fe_backup(dof_handler.levels.size()); - std::vector> p_refine_flags_backup( - dof_handler.levels.size()); - std::vector> p_coarsen_flags_backup( - dof_handler.levels.size()); + active_fe_backup(dof_handler.levels.size()), + future_fe_backup(dof_handler.levels.size()); for (unsigned int level = 0; level < dof_handler.levels.size(); ++level) { active_fe_backup[level] = std::move(dof_handler.levels[level]->active_fe_indices); - p_refine_flags_backup[level] = - std::move(dof_handler.levels[level]->p_refine_flags); - p_coarsen_flags_backup[level] = - std::move(dof_handler.levels[level]->p_coarsen_flags); + future_fe_backup[level] = + std::move(dof_handler.levels[level]->future_fe_indices); } // delete all levels and set them up newly, since vectors @@ -121,10 +137,8 @@ namespace internal // recover backups dof_handler.levels[level]->active_fe_indices = std::move(active_fe_backup[level]); - dof_handler.levels[level]->p_refine_flags = - std::move(p_refine_flags_backup[level]); - dof_handler.levels[level]->p_coarsen_flags = - std::move(p_coarsen_flags_backup[level]); + dof_handler.levels[level]->future_fe_indices = + std::move(future_fe_backup[level]); } if (dim > 1) @@ -967,7 +981,7 @@ namespace internal * this information is distributed on both ghost and artificial cells. * * In case a parallel::distributed::Triangulation is used, - * active_fe_indices are communicated only to ghost cells. + * indices are communicated only to ghost cells. */ template static void @@ -1095,9 +1109,7 @@ namespace internal // refined to and distribute it later on its children. // Pick their future index if flagged for p-refinement. fe_transfer->refined_cells_fe_index.insert( - {cell, - cell - ->active_fe_index_after_p_refinement_and_coarsening()}); + {cell, cell->future_fe_index()}); } else if (cell->coarsen_flag_set()) { @@ -1125,8 +1137,7 @@ namespace internal ExcInternalError()); fe_indices_children.insert( - parent->child(child_index) - ->active_fe_index_after_p_refinement_and_coarsening()); + parent->child(child_index)->future_fe_index()); } Assert(!fe_indices_children.empty(), ExcInternalError()); @@ -1152,11 +1163,9 @@ namespace internal // No h-refinement is scheduled for this cell. // However, it may have p-refinement indicators, so we // choose a new active_fe_index based on its flags. - if (cell->p_refine_flag_set() || cell->p_coarsen_flag_set()) + if (cell->future_fe_index_set() == true) fe_transfer->persisting_cells_fe_index.insert( - {cell, - cell - ->active_fe_index_after_p_refinement_and_coarsening()}); + {cell, cell->future_fe_index()}); } } } @@ -1587,9 +1596,6 @@ namespace hp // ensure that the active_fe_indices vectors are initialized correctly create_active_fe_table(); - // initialize all p-refinement and p-coarsening flags - create_p_adaptation_flags(); - // make sure every processor knows the active_fe_indices // on both its own cells and all ghost cells dealii::internal::hp::DoFHandlerImplementation::Implementation:: @@ -1706,6 +1712,11 @@ namespace hp DoFHandler>>(*this); // repartitioning signals + tria_listeners.push_back( + this->tria->signals.pre_distributed_repartition.connect( + std::bind(&internal::hp::DoFHandlerImplementation::Implementation:: + ensure_absence_of_future_fe_indices, + std::ref(*this)))); tria_listeners.push_back( this->tria->signals.pre_distributed_repartition.connect(std::bind( &DoFHandler + *>(&this->get_triangulation()) != nullptr) + { + policy = + std_cxx14::make_unique>>( + *this); + + // partitioning signals + tria_listeners.push_back(this->tria->signals.pre_partition.connect( + std::bind(&internal::hp::DoFHandlerImplementation::Implementation:: + ensure_absence_of_future_fe_indices, + std::ref(*this)))); + + // refinement signals + tria_listeners.push_back(this->tria->signals.pre_refinement.connect( + std::bind(&DoFHandler::pre_active_fe_index_transfer, + std::ref(*this)))); + tria_listeners.push_back(this->tria->signals.post_refinement.connect( + std::bind(&DoFHandler::post_active_fe_index_transfer, + std::ref(*this)))); + } else { - if (dynamic_cast - *>(&this->get_triangulation()) != nullptr) - policy = - std_cxx14::make_unique>>( - *this); - else - policy = - std_cxx14::make_unique>>( - *this); + policy = + std_cxx14::make_unique>>( + *this); // refinement signals tria_listeners.push_back(this->tria->signals.pre_refinement.connect( @@ -1896,15 +1922,24 @@ namespace hp // of active_fe_indices; preset them to zero, i.e. the default FE for (unsigned int level = 0; level < levels.size(); ++level) { - if (levels[level]->active_fe_indices.size() == 0) - levels[level]->active_fe_indices.resize(tria->n_raw_cells(level), 0); + if (levels[level]->active_fe_indices.size() == 0 && + levels[level]->future_fe_indices.size() == 0) + { + levels[level]->active_fe_indices.resize(tria->n_raw_cells(level), + 0); + levels[level]->future_fe_indices.resize( + tria->n_raw_cells(level), + dealii::internal::hp::DoFLevel::invalid_active_fe_index); + } else { // Either the active_fe_indices have size zero because // they were just created, or the correct size. Other // sizes indicate that something went wrong. Assert(levels[level]->active_fe_indices.size() == - tria->n_raw_cells(level), + tria->n_raw_cells(level) && + levels[level]->future_fe_indices.size() == + tria->n_raw_cells(level), ExcInternalError()); } @@ -1920,38 +1955,6 @@ namespace hp - template - void - DoFHandler::create_p_adaptation_flags() - { - Assert(fe_collection.size() > 0, ExcNoFESelected()); - Assert(tria->n_levels() > 0, - ExcMessage("The current Triangulation must not be empty.")); - Assert(tria->n_levels() == levels.size(), ExcInternalError()); - - for (unsigned int level = 0; level < tria->n_levels(); ++level) - if (levels[level]->p_refine_flags.size() == 0 && - levels[level]->p_coarsen_flags.size() == 0) - { - levels[level]->p_refine_flags.resize(tria->n_raw_cells(level), false); - levels[level]->p_coarsen_flags.resize(tria->n_raw_cells(level), - false); - } - else - { - // Either the p_refine_flags and p_coarsen_flags have size zero - // because they were just created, or the correct size. Other sizes - // indicate that something went wrong. - Assert(levels[level]->p_refine_flags.size() == - tria->n_raw_cells(level) && - levels[level]->p_coarsen_flags.size() == - tria->n_raw_cells(level), - ExcInternalError()); - } - } - - - template void DoFHandler::pre_refinement_action() @@ -1983,9 +1986,14 @@ namespace hp // Resize active_fe_indices vectors. Use zero indicator to extend. levels[i]->active_fe_indices.resize(tria->n_raw_cells(i), 0); - // Resize p-flags vectors. Clear all flags after refinement finished. - levels[i]->p_refine_flags.assign(tria->n_raw_cells(i), false); - levels[i]->p_coarsen_flags.assign(tria->n_raw_cells(i), false); + // Resize future_fe_indices vectors. Make sure that all + // future_fe_indices have been cleared after refinement happened. + // + // We have used future_fe_indices to update all active_fe_indices + // before refinement happened, thus we are safe to clear them now. + levels[i]->future_fe_indices.assign( + tria->n_raw_cells(i), + dealii::internal::hp::DoFLevel::invalid_active_fe_index); } } diff --git a/source/hp/dof_level.cc b/source/hp/dof_level.cc index 2f2c653a7a..bcc5a05544 100644 --- a/source/hp/dof_level.cc +++ b/source/hp/dof_level.cc @@ -26,6 +26,11 @@ namespace internal { namespace hp { + const DoFLevel::active_fe_index_type DoFLevel::invalid_active_fe_index = + static_cast(-1); + + + template void DoFLevel::compress_data( @@ -249,8 +254,7 @@ namespace internal MemoryConsumption::memory_consumption(dof_offsets) + MemoryConsumption::memory_consumption(cell_cache_offsets) + MemoryConsumption::memory_consumption(cell_dof_indices_cache) + - MemoryConsumption::memory_consumption(p_refine_flags) + - MemoryConsumption::memory_consumption(p_coarsen_flags)); + MemoryConsumption::memory_consumption(future_fe_indices)); } diff --git a/source/numerics/solution_transfer.cc b/source/numerics/solution_transfer.cc index bc97775ab0..f0da865501 100644 --- a/source/numerics/solution_transfer.cc +++ b/source/numerics/solution_transfer.cc @@ -393,7 +393,7 @@ SolutionTransfer:: cell->child(most_general_child)->active_fe_index(); const unsigned int dofs_per_cell = - cell->get_dof_handler().get_fe(target_fe_index).dofs_per_cell; + dof_handler->get_fe(target_fe_index).dofs_per_cell; std::vector>( in_size, Vector(dofs_per_cell)) diff --git a/tests/hp/refine_and_coarsen_flags.cc b/tests/hp/future_fe_indices.cc similarity index 71% rename from tests/hp/refine_and_coarsen_flags.cc rename to tests/hp/future_fe_indices.cc index 716107f911..4408536725 100644 --- a/tests/hp/refine_and_coarsen_flags.cc +++ b/tests/hp/future_fe_indices.cc @@ -15,7 +15,7 @@ -// check if p-adaptive flags will be set correctly +// check if future fe indices will be set correctly #include @@ -39,34 +39,39 @@ test() hp::FECollection fe_collection; fe_collection.push_back(FE_Q(1)); + fe_collection.push_back(FE_Q(1)); hp::DoFHandler dh(tria); dh.distribute_dofs(fe_collection); - // check if flags are initialized correctly + // check if indices are initialized correctly for (const auto &cell : dh.active_cell_iterators()) - Assert(!cell->p_refine_flag_set() && !cell->p_coarsen_flag_set(), - ExcInternalError()); + Assert(cell->future_fe_index_set() == false, ExcInternalError()); - // set flags at least once + // set future index at least once auto cell = dh.begin_active(); - cell->set_p_refine_flag(); - (++cell)->set_p_coarsen_flag(); + cell->set_future_fe_index(1); + + // try to set future index to an invalid one + try + { + (++cell)->set_future_fe_index(2); + } + catch (const ExcIndexRange &) + { + deallog << "Set to 2 failed" << std::endl; + } // verify flags for (const auto &cell : dh.active_cell_iterators()) deallog << "cell:" << cell->id().to_string() - << ", refine:" << cell->p_refine_flag_set() - << ", coarsen:" << cell->p_coarsen_flag_set() << std::endl; + << ", future_fe:" << cell->future_fe_index() << std::endl; // clear all flags and check if all were cleared for (const auto &cell : dh.active_cell_iterators()) { - cell->clear_p_refine_flag(); - Assert(!cell->p_refine_flag_set(), ExcInternalError()); - - cell->clear_p_coarsen_flag(); - Assert(!cell->p_coarsen_flag_set(), ExcInternalError()); + cell->clear_future_fe_index(); + Assert(cell->future_fe_index_set() == false, ExcInternalError()); } } diff --git a/tests/hp/future_fe_indices.output b/tests/hp/future_fe_indices.output new file mode 100644 index 0000000000..d5f4992a09 --- /dev/null +++ b/tests/hp/future_fe_indices.output @@ -0,0 +1,16 @@ + +DEAL:1D::cell:0_1:0, future_fe:1 +DEAL:1D::cell:0_1:1, future_fe:2 +DEAL:2D::cell:0_1:0, future_fe:1 +DEAL:2D::cell:0_1:1, future_fe:2 +DEAL:2D::cell:0_1:2, future_fe:0 +DEAL:2D::cell:0_1:3, future_fe:0 +DEAL:3D::cell:0_1:0, future_fe:1 +DEAL:3D::cell:0_1:1, future_fe:2 +DEAL:3D::cell:0_1:2, future_fe:0 +DEAL:3D::cell:0_1:3, future_fe:0 +DEAL:3D::cell:0_1:4, future_fe:0 +DEAL:3D::cell:0_1:5, future_fe:0 +DEAL:3D::cell:0_1:6, future_fe:0 +DEAL:3D::cell:0_1:7, future_fe:0 +DEAL::OK diff --git a/tests/hp/p_refinement_and_coarsening.cc b/tests/hp/p_refinement_and_coarsening.cc index 8d171b5e60..d611215655 100644 --- a/tests/hp/p_refinement_and_coarsening.cc +++ b/tests/hp/p_refinement_and_coarsening.cc @@ -40,28 +40,29 @@ test() tria.refine_global(1); hp::FECollection fe; - for (unsigned int i = 0; i < 3; ++i) - fe.push_back(FE_Q(i + 1)); + for (unsigned int i = 0; i < std::pow(2, dim); ++i) + fe.push_back(FE_Q(1)); hp::DoFHandler dh(tria); dh.set_fe(fe); - // set default active_fe_index + // set future_fe_indices + unsigned int future_feidx = 0; for (const auto &cell : dh.active_cell_iterators()) - cell->set_active_fe_index(1); + { + // check if cell is initialized correctly + Assert(cell->active_fe_index() == 0, ExcInternalError()); - // set refine flags at least once - auto cell = dh.begin_active(); - cell->set_p_refine_flag(); - (++cell)->set_p_coarsen_flag(); + cell->set_future_fe_index(future_feidx); + future_feidx = ((future_feidx + 1) < fe.size()) ? future_feidx + 1 : 0; + } tria.execute_coarsening_and_refinement(); // check if all flags were cleared and verify fe_indices for (const auto &cell : dh.active_cell_iterators()) { - Assert(!cell->p_refine_flag_set() && !cell->p_coarsen_flag_set(), - ExcInternalError()); + Assert(cell->future_fe_index_set() == false, ExcInternalError()); deallog << "cell:" << cell->id().to_string() << ", fe_index:" << cell->active_fe_index() << std::endl; diff --git a/tests/hp/p_refinement_and_coarsening.output b/tests/hp/p_refinement_and_coarsening.output index 1cdb8f16ab..5ed33595d0 100644 --- a/tests/hp/p_refinement_and_coarsening.output +++ b/tests/hp/p_refinement_and_coarsening.output @@ -1,16 +1,16 @@ -DEAL:1d::cell:0_1:0, fe_index:2 -DEAL:1d::cell:0_1:1, fe_index:0 -DEAL:2d::cell:0_1:0, fe_index:2 -DEAL:2d::cell:0_1:1, fe_index:0 -DEAL:2d::cell:0_1:2, fe_index:1 -DEAL:2d::cell:0_1:3, fe_index:1 -DEAL:3d::cell:0_1:0, fe_index:2 -DEAL:3d::cell:0_1:1, fe_index:0 -DEAL:3d::cell:0_1:2, fe_index:1 -DEAL:3d::cell:0_1:3, fe_index:1 -DEAL:3d::cell:0_1:4, fe_index:1 -DEAL:3d::cell:0_1:5, fe_index:1 -DEAL:3d::cell:0_1:6, fe_index:1 -DEAL:3d::cell:0_1:7, fe_index:1 +DEAL:1d::cell:0_1:0, fe_index:0 +DEAL:1d::cell:0_1:1, fe_index:1 +DEAL:2d::cell:0_1:0, fe_index:0 +DEAL:2d::cell:0_1:1, fe_index:1 +DEAL:2d::cell:0_1:2, fe_index:2 +DEAL:2d::cell:0_1:3, fe_index:3 +DEAL:3d::cell:0_1:0, fe_index:0 +DEAL:3d::cell:0_1:1, fe_index:1 +DEAL:3d::cell:0_1:2, fe_index:2 +DEAL:3d::cell:0_1:3, fe_index:3 +DEAL:3d::cell:0_1:4, fe_index:4 +DEAL:3d::cell:0_1:5, fe_index:5 +DEAL:3d::cell:0_1:6, fe_index:6 +DEAL:3d::cell:0_1:7, fe_index:7 DEAL::OK diff --git a/tests/hp/refine_and_coarsen_flags.output b/tests/hp/refine_and_coarsen_flags.output deleted file mode 100644 index df5baf06f4..0000000000 --- a/tests/hp/refine_and_coarsen_flags.output +++ /dev/null @@ -1,16 +0,0 @@ - -DEAL:1D::cell:0_1:0, refine:1, coarsen:0 -DEAL:1D::cell:0_1:1, refine:0, coarsen:1 -DEAL:2D::cell:0_1:0, refine:1, coarsen:0 -DEAL:2D::cell:0_1:1, refine:0, coarsen:1 -DEAL:2D::cell:0_1:2, refine:0, coarsen:0 -DEAL:2D::cell:0_1:3, refine:0, coarsen:0 -DEAL:3D::cell:0_1:0, refine:1, coarsen:0 -DEAL:3D::cell:0_1:1, refine:0, coarsen:1 -DEAL:3D::cell:0_1:2, refine:0, coarsen:0 -DEAL:3D::cell:0_1:3, refine:0, coarsen:0 -DEAL:3D::cell:0_1:4, refine:0, coarsen:0 -DEAL:3D::cell:0_1:5, refine:0, coarsen:0 -DEAL:3D::cell:0_1:6, refine:0, coarsen:0 -DEAL:3D::cell:0_1:7, refine:0, coarsen:0 -DEAL::OK diff --git a/tests/mpi/p_refinement_and_coarsening.cc b/tests/mpi/p_refinement_and_coarsening.cc index 2a11847d40..d8d7c87f49 100644 --- a/tests/mpi/p_refinement_and_coarsening.cc +++ b/tests/mpi/p_refinement_and_coarsening.cc @@ -36,34 +36,29 @@ template void test() { + // we pick a subdivided hyper cube so that the domain is + // distributed on more than one processor. parallel::distributed::Triangulation tria(MPI_COMM_WORLD); GridGenerator::subdivided_hyper_cube(tria, 2); tria.refine_global(1); hp::FECollection fe; - for (unsigned int i = 0; i < 3; ++i) - fe.push_back(FE_Q(i + 1)); + for (unsigned int i = 0; i < std::pow(2, dim); ++i) + fe.push_back(FE_Q(1)); hp::DoFHandler dh(tria); dh.set_fe(fe); - // set default active_fe_index and refine flags - bool flag = false; + // set future_fe_indices + unsigned int future_feidx = 0; for (const auto &cell : dh.active_cell_iterators()) if (cell->is_locally_owned()) { - cell->set_active_fe_index(1); - - if (flag) - { - cell->set_p_refine_flag(); - flag = false; - } - else - { - cell->set_p_coarsen_flag(); - flag = true; - } + // check if cell is initialized correctly + Assert(cell->active_fe_index() == 0, ExcInternalError()); + + cell->set_future_fe_index(future_feidx); + future_feidx = ((future_feidx + 1) < fe.size()) ? future_feidx + 1 : 0; } tria.execute_coarsening_and_refinement(); @@ -72,8 +67,7 @@ test() for (const auto &cell : dh.active_cell_iterators()) if (cell->is_locally_owned()) { - Assert(!cell->p_refine_flag_set() && !cell->p_coarsen_flag_set(), - ExcInternalError()); + Assert(cell->future_fe_index_set() == false, ExcInternalError()); deallog << "cell:" << cell->id().to_string() << ", fe_index:" << cell->active_fe_index() << std::endl; diff --git a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=1.output b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=1.output index 1a8e750cd5..d40b133a7d 100644 --- a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=1.output +++ b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=1.output @@ -1,82 +1,82 @@ DEAL:0:2d::cell:0_1:0, fe_index:0 -DEAL:0:2d::cell:0_1:1, fe_index:2 -DEAL:0:2d::cell:0_1:2, fe_index:0 -DEAL:0:2d::cell:0_1:3, fe_index:2 +DEAL:0:2d::cell:0_1:1, fe_index:1 +DEAL:0:2d::cell:0_1:2, fe_index:2 +DEAL:0:2d::cell:0_1:3, fe_index:3 DEAL:0:2d::cell:1_1:0, fe_index:0 -DEAL:0:2d::cell:1_1:1, fe_index:2 -DEAL:0:2d::cell:1_1:2, fe_index:0 -DEAL:0:2d::cell:1_1:3, fe_index:2 +DEAL:0:2d::cell:1_1:1, fe_index:1 +DEAL:0:2d::cell:1_1:2, fe_index:2 +DEAL:0:2d::cell:1_1:3, fe_index:3 DEAL:0:2d::cell:2_1:0, fe_index:0 -DEAL:0:2d::cell:2_1:1, fe_index:2 -DEAL:0:2d::cell:2_1:2, fe_index:0 -DEAL:0:2d::cell:2_1:3, fe_index:2 +DEAL:0:2d::cell:2_1:1, fe_index:1 +DEAL:0:2d::cell:2_1:2, fe_index:2 +DEAL:0:2d::cell:2_1:3, fe_index:3 DEAL:0:2d::cell:3_1:0, fe_index:0 -DEAL:0:2d::cell:3_1:1, fe_index:2 -DEAL:0:2d::cell:3_1:2, fe_index:0 -DEAL:0:2d::cell:3_1:3, fe_index:2 +DEAL:0:2d::cell:3_1:1, fe_index:1 +DEAL:0:2d::cell:3_1:2, fe_index:2 +DEAL:0:2d::cell:3_1:3, fe_index:3 DEAL:0:3d::cell:0_1:0, fe_index:0 -DEAL:0:3d::cell:0_1:1, fe_index:2 -DEAL:0:3d::cell:0_1:2, fe_index:0 -DEAL:0:3d::cell:0_1:3, fe_index:2 -DEAL:0:3d::cell:0_1:4, fe_index:0 -DEAL:0:3d::cell:0_1:5, fe_index:2 -DEAL:0:3d::cell:0_1:6, fe_index:0 -DEAL:0:3d::cell:0_1:7, fe_index:2 +DEAL:0:3d::cell:0_1:1, fe_index:1 +DEAL:0:3d::cell:0_1:2, fe_index:2 +DEAL:0:3d::cell:0_1:3, fe_index:3 +DEAL:0:3d::cell:0_1:4, fe_index:4 +DEAL:0:3d::cell:0_1:5, fe_index:5 +DEAL:0:3d::cell:0_1:6, fe_index:6 +DEAL:0:3d::cell:0_1:7, fe_index:7 DEAL:0:3d::cell:1_1:0, fe_index:0 -DEAL:0:3d::cell:1_1:1, fe_index:2 -DEAL:0:3d::cell:1_1:2, fe_index:0 -DEAL:0:3d::cell:1_1:3, fe_index:2 -DEAL:0:3d::cell:1_1:4, fe_index:0 -DEAL:0:3d::cell:1_1:5, fe_index:2 -DEAL:0:3d::cell:1_1:6, fe_index:0 -DEAL:0:3d::cell:1_1:7, fe_index:2 +DEAL:0:3d::cell:1_1:1, fe_index:1 +DEAL:0:3d::cell:1_1:2, fe_index:2 +DEAL:0:3d::cell:1_1:3, fe_index:3 +DEAL:0:3d::cell:1_1:4, fe_index:4 +DEAL:0:3d::cell:1_1:5, fe_index:5 +DEAL:0:3d::cell:1_1:6, fe_index:6 +DEAL:0:3d::cell:1_1:7, fe_index:7 DEAL:0:3d::cell:2_1:0, fe_index:0 -DEAL:0:3d::cell:2_1:1, fe_index:2 -DEAL:0:3d::cell:2_1:2, fe_index:0 -DEAL:0:3d::cell:2_1:3, fe_index:2 -DEAL:0:3d::cell:2_1:4, fe_index:0 -DEAL:0:3d::cell:2_1:5, fe_index:2 -DEAL:0:3d::cell:2_1:6, fe_index:0 -DEAL:0:3d::cell:2_1:7, fe_index:2 +DEAL:0:3d::cell:2_1:1, fe_index:1 +DEAL:0:3d::cell:2_1:2, fe_index:2 +DEAL:0:3d::cell:2_1:3, fe_index:3 +DEAL:0:3d::cell:2_1:4, fe_index:4 +DEAL:0:3d::cell:2_1:5, fe_index:5 +DEAL:0:3d::cell:2_1:6, fe_index:6 +DEAL:0:3d::cell:2_1:7, fe_index:7 DEAL:0:3d::cell:3_1:0, fe_index:0 -DEAL:0:3d::cell:3_1:1, fe_index:2 -DEAL:0:3d::cell:3_1:2, fe_index:0 -DEAL:0:3d::cell:3_1:3, fe_index:2 -DEAL:0:3d::cell:3_1:4, fe_index:0 -DEAL:0:3d::cell:3_1:5, fe_index:2 -DEAL:0:3d::cell:3_1:6, fe_index:0 -DEAL:0:3d::cell:3_1:7, fe_index:2 +DEAL:0:3d::cell:3_1:1, fe_index:1 +DEAL:0:3d::cell:3_1:2, fe_index:2 +DEAL:0:3d::cell:3_1:3, fe_index:3 +DEAL:0:3d::cell:3_1:4, fe_index:4 +DEAL:0:3d::cell:3_1:5, fe_index:5 +DEAL:0:3d::cell:3_1:6, fe_index:6 +DEAL:0:3d::cell:3_1:7, fe_index:7 DEAL:0:3d::cell:4_1:0, fe_index:0 -DEAL:0:3d::cell:4_1:1, fe_index:2 -DEAL:0:3d::cell:4_1:2, fe_index:0 -DEAL:0:3d::cell:4_1:3, fe_index:2 -DEAL:0:3d::cell:4_1:4, fe_index:0 -DEAL:0:3d::cell:4_1:5, fe_index:2 -DEAL:0:3d::cell:4_1:6, fe_index:0 -DEAL:0:3d::cell:4_1:7, fe_index:2 +DEAL:0:3d::cell:4_1:1, fe_index:1 +DEAL:0:3d::cell:4_1:2, fe_index:2 +DEAL:0:3d::cell:4_1:3, fe_index:3 +DEAL:0:3d::cell:4_1:4, fe_index:4 +DEAL:0:3d::cell:4_1:5, fe_index:5 +DEAL:0:3d::cell:4_1:6, fe_index:6 +DEAL:0:3d::cell:4_1:7, fe_index:7 DEAL:0:3d::cell:5_1:0, fe_index:0 -DEAL:0:3d::cell:5_1:1, fe_index:2 -DEAL:0:3d::cell:5_1:2, fe_index:0 -DEAL:0:3d::cell:5_1:3, fe_index:2 -DEAL:0:3d::cell:5_1:4, fe_index:0 -DEAL:0:3d::cell:5_1:5, fe_index:2 -DEAL:0:3d::cell:5_1:6, fe_index:0 -DEAL:0:3d::cell:5_1:7, fe_index:2 +DEAL:0:3d::cell:5_1:1, fe_index:1 +DEAL:0:3d::cell:5_1:2, fe_index:2 +DEAL:0:3d::cell:5_1:3, fe_index:3 +DEAL:0:3d::cell:5_1:4, fe_index:4 +DEAL:0:3d::cell:5_1:5, fe_index:5 +DEAL:0:3d::cell:5_1:6, fe_index:6 +DEAL:0:3d::cell:5_1:7, fe_index:7 DEAL:0:3d::cell:6_1:0, fe_index:0 -DEAL:0:3d::cell:6_1:1, fe_index:2 -DEAL:0:3d::cell:6_1:2, fe_index:0 -DEAL:0:3d::cell:6_1:3, fe_index:2 -DEAL:0:3d::cell:6_1:4, fe_index:0 -DEAL:0:3d::cell:6_1:5, fe_index:2 -DEAL:0:3d::cell:6_1:6, fe_index:0 -DEAL:0:3d::cell:6_1:7, fe_index:2 +DEAL:0:3d::cell:6_1:1, fe_index:1 +DEAL:0:3d::cell:6_1:2, fe_index:2 +DEAL:0:3d::cell:6_1:3, fe_index:3 +DEAL:0:3d::cell:6_1:4, fe_index:4 +DEAL:0:3d::cell:6_1:5, fe_index:5 +DEAL:0:3d::cell:6_1:6, fe_index:6 +DEAL:0:3d::cell:6_1:7, fe_index:7 DEAL:0:3d::cell:7_1:0, fe_index:0 -DEAL:0:3d::cell:7_1:1, fe_index:2 -DEAL:0:3d::cell:7_1:2, fe_index:0 -DEAL:0:3d::cell:7_1:3, fe_index:2 -DEAL:0:3d::cell:7_1:4, fe_index:0 -DEAL:0:3d::cell:7_1:5, fe_index:2 -DEAL:0:3d::cell:7_1:6, fe_index:0 -DEAL:0:3d::cell:7_1:7, fe_index:2 +DEAL:0:3d::cell:7_1:1, fe_index:1 +DEAL:0:3d::cell:7_1:2, fe_index:2 +DEAL:0:3d::cell:7_1:3, fe_index:3 +DEAL:0:3d::cell:7_1:4, fe_index:4 +DEAL:0:3d::cell:7_1:5, fe_index:5 +DEAL:0:3d::cell:7_1:6, fe_index:6 +DEAL:0:3d::cell:7_1:7, fe_index:7 DEAL:0::OK diff --git a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=3.output b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=3.output index f5282ac06f..3f12e05075 100644 --- a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=3.output +++ b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=3.output @@ -1,88 +1,88 @@ DEAL:0:2d::cell:0_1:0, fe_index:0 -DEAL:0:2d::cell:0_1:1, fe_index:2 -DEAL:0:2d::cell:0_1:2, fe_index:0 -DEAL:0:2d::cell:0_1:3, fe_index:2 +DEAL:0:2d::cell:0_1:1, fe_index:1 +DEAL:0:2d::cell:0_1:2, fe_index:2 +DEAL:0:2d::cell:0_1:3, fe_index:3 DEAL:0:3d::cell:0_1:0, fe_index:0 -DEAL:0:3d::cell:0_1:1, fe_index:2 -DEAL:0:3d::cell:0_1:2, fe_index:0 -DEAL:0:3d::cell:0_1:3, fe_index:2 -DEAL:0:3d::cell:0_1:4, fe_index:0 -DEAL:0:3d::cell:0_1:5, fe_index:2 -DEAL:0:3d::cell:0_1:6, fe_index:0 -DEAL:0:3d::cell:0_1:7, fe_index:2 +DEAL:0:3d::cell:0_1:1, fe_index:1 +DEAL:0:3d::cell:0_1:2, fe_index:2 +DEAL:0:3d::cell:0_1:3, fe_index:3 +DEAL:0:3d::cell:0_1:4, fe_index:4 +DEAL:0:3d::cell:0_1:5, fe_index:5 +DEAL:0:3d::cell:0_1:6, fe_index:6 +DEAL:0:3d::cell:0_1:7, fe_index:7 DEAL:0:3d::cell:1_1:0, fe_index:0 -DEAL:0:3d::cell:1_1:1, fe_index:2 -DEAL:0:3d::cell:1_1:2, fe_index:0 -DEAL:0:3d::cell:1_1:3, fe_index:2 -DEAL:0:3d::cell:1_1:4, fe_index:0 -DEAL:0:3d::cell:1_1:5, fe_index:2 -DEAL:0:3d::cell:1_1:6, fe_index:0 -DEAL:0:3d::cell:1_1:7, fe_index:2 +DEAL:0:3d::cell:1_1:1, fe_index:1 +DEAL:0:3d::cell:1_1:2, fe_index:2 +DEAL:0:3d::cell:1_1:3, fe_index:3 +DEAL:0:3d::cell:1_1:4, fe_index:4 +DEAL:0:3d::cell:1_1:5, fe_index:5 +DEAL:0:3d::cell:1_1:6, fe_index:6 +DEAL:0:3d::cell:1_1:7, fe_index:7 DEAL:0:3d::cell:2_1:0, fe_index:0 -DEAL:0:3d::cell:2_1:1, fe_index:2 -DEAL:0:3d::cell:2_1:2, fe_index:0 -DEAL:0:3d::cell:2_1:3, fe_index:2 -DEAL:0:3d::cell:2_1:4, fe_index:0 -DEAL:0:3d::cell:2_1:5, fe_index:2 -DEAL:0:3d::cell:2_1:6, fe_index:0 -DEAL:0:3d::cell:2_1:7, fe_index:2 +DEAL:0:3d::cell:2_1:1, fe_index:1 +DEAL:0:3d::cell:2_1:2, fe_index:2 +DEAL:0:3d::cell:2_1:3, fe_index:3 +DEAL:0:3d::cell:2_1:4, fe_index:4 +DEAL:0:3d::cell:2_1:5, fe_index:5 +DEAL:0:3d::cell:2_1:6, fe_index:6 +DEAL:0:3d::cell:2_1:7, fe_index:7 DEAL:0::OK DEAL:1:2d::cell:1_1:0, fe_index:0 -DEAL:1:2d::cell:1_1:1, fe_index:2 -DEAL:1:2d::cell:1_1:2, fe_index:0 -DEAL:1:2d::cell:1_1:3, fe_index:2 +DEAL:1:2d::cell:1_1:1, fe_index:1 +DEAL:1:2d::cell:1_1:2, fe_index:2 +DEAL:1:2d::cell:1_1:3, fe_index:3 DEAL:1:2d::cell:2_1:0, fe_index:0 -DEAL:1:2d::cell:2_1:1, fe_index:2 -DEAL:1:2d::cell:2_1:2, fe_index:0 -DEAL:1:2d::cell:2_1:3, fe_index:2 +DEAL:1:2d::cell:2_1:1, fe_index:1 +DEAL:1:2d::cell:2_1:2, fe_index:2 +DEAL:1:2d::cell:2_1:3, fe_index:3 DEAL:1:3d::cell:3_1:0, fe_index:0 -DEAL:1:3d::cell:3_1:1, fe_index:2 -DEAL:1:3d::cell:3_1:2, fe_index:0 -DEAL:1:3d::cell:3_1:3, fe_index:2 -DEAL:1:3d::cell:3_1:4, fe_index:0 -DEAL:1:3d::cell:3_1:5, fe_index:2 -DEAL:1:3d::cell:3_1:6, fe_index:0 -DEAL:1:3d::cell:3_1:7, fe_index:2 +DEAL:1:3d::cell:3_1:1, fe_index:1 +DEAL:1:3d::cell:3_1:2, fe_index:2 +DEAL:1:3d::cell:3_1:3, fe_index:3 +DEAL:1:3d::cell:3_1:4, fe_index:4 +DEAL:1:3d::cell:3_1:5, fe_index:5 +DEAL:1:3d::cell:3_1:6, fe_index:6 +DEAL:1:3d::cell:3_1:7, fe_index:7 DEAL:1:3d::cell:4_1:0, fe_index:0 -DEAL:1:3d::cell:4_1:1, fe_index:2 -DEAL:1:3d::cell:4_1:2, fe_index:0 -DEAL:1:3d::cell:4_1:3, fe_index:2 -DEAL:1:3d::cell:4_1:4, fe_index:0 -DEAL:1:3d::cell:4_1:5, fe_index:2 -DEAL:1:3d::cell:4_1:6, fe_index:0 -DEAL:1:3d::cell:4_1:7, fe_index:2 +DEAL:1:3d::cell:4_1:1, fe_index:1 +DEAL:1:3d::cell:4_1:2, fe_index:2 +DEAL:1:3d::cell:4_1:3, fe_index:3 +DEAL:1:3d::cell:4_1:4, fe_index:4 +DEAL:1:3d::cell:4_1:5, fe_index:5 +DEAL:1:3d::cell:4_1:6, fe_index:6 +DEAL:1:3d::cell:4_1:7, fe_index:7 DEAL:1::OK DEAL:2:2d::cell:3_1:0, fe_index:0 -DEAL:2:2d::cell:3_1:1, fe_index:2 -DEAL:2:2d::cell:3_1:2, fe_index:0 -DEAL:2:2d::cell:3_1:3, fe_index:2 +DEAL:2:2d::cell:3_1:1, fe_index:1 +DEAL:2:2d::cell:3_1:2, fe_index:2 +DEAL:2:2d::cell:3_1:3, fe_index:3 DEAL:2:3d::cell:5_1:0, fe_index:0 -DEAL:2:3d::cell:5_1:1, fe_index:2 -DEAL:2:3d::cell:5_1:2, fe_index:0 -DEAL:2:3d::cell:5_1:3, fe_index:2 -DEAL:2:3d::cell:5_1:4, fe_index:0 -DEAL:2:3d::cell:5_1:5, fe_index:2 -DEAL:2:3d::cell:5_1:6, fe_index:0 -DEAL:2:3d::cell:5_1:7, fe_index:2 +DEAL:2:3d::cell:5_1:1, fe_index:1 +DEAL:2:3d::cell:5_1:2, fe_index:2 +DEAL:2:3d::cell:5_1:3, fe_index:3 +DEAL:2:3d::cell:5_1:4, fe_index:4 +DEAL:2:3d::cell:5_1:5, fe_index:5 +DEAL:2:3d::cell:5_1:6, fe_index:6 +DEAL:2:3d::cell:5_1:7, fe_index:7 DEAL:2:3d::cell:6_1:0, fe_index:0 -DEAL:2:3d::cell:6_1:1, fe_index:2 -DEAL:2:3d::cell:6_1:2, fe_index:0 -DEAL:2:3d::cell:6_1:3, fe_index:2 -DEAL:2:3d::cell:6_1:4, fe_index:0 -DEAL:2:3d::cell:6_1:5, fe_index:2 -DEAL:2:3d::cell:6_1:6, fe_index:0 -DEAL:2:3d::cell:6_1:7, fe_index:2 +DEAL:2:3d::cell:6_1:1, fe_index:1 +DEAL:2:3d::cell:6_1:2, fe_index:2 +DEAL:2:3d::cell:6_1:3, fe_index:3 +DEAL:2:3d::cell:6_1:4, fe_index:4 +DEAL:2:3d::cell:6_1:5, fe_index:5 +DEAL:2:3d::cell:6_1:6, fe_index:6 +DEAL:2:3d::cell:6_1:7, fe_index:7 DEAL:2:3d::cell:7_1:0, fe_index:0 -DEAL:2:3d::cell:7_1:1, fe_index:2 -DEAL:2:3d::cell:7_1:2, fe_index:0 -DEAL:2:3d::cell:7_1:3, fe_index:2 -DEAL:2:3d::cell:7_1:4, fe_index:0 -DEAL:2:3d::cell:7_1:5, fe_index:2 -DEAL:2:3d::cell:7_1:6, fe_index:0 -DEAL:2:3d::cell:7_1:7, fe_index:2 +DEAL:2:3d::cell:7_1:1, fe_index:1 +DEAL:2:3d::cell:7_1:2, fe_index:2 +DEAL:2:3d::cell:7_1:3, fe_index:3 +DEAL:2:3d::cell:7_1:4, fe_index:4 +DEAL:2:3d::cell:7_1:5, fe_index:5 +DEAL:2:3d::cell:7_1:6, fe_index:6 +DEAL:2:3d::cell:7_1:7, fe_index:7 DEAL:2::OK diff --git a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=8.output b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=8.output index d195197d9d..4e3b9a74e6 100644 --- a/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=8.output +++ b/tests/mpi/p_refinement_and_coarsening.with_p4est=true.mpirun=8.output @@ -1,103 +1,103 @@ DEAL:0:2d::cell:0_1:0, fe_index:0 -DEAL:0:2d::cell:0_1:1, fe_index:2 -DEAL:0:2d::cell:0_1:2, fe_index:0 -DEAL:0:2d::cell:0_1:3, fe_index:2 +DEAL:0:2d::cell:0_1:1, fe_index:1 +DEAL:0:2d::cell:0_1:2, fe_index:2 +DEAL:0:2d::cell:0_1:3, fe_index:3 DEAL:0:3d::cell:0_1:0, fe_index:0 -DEAL:0:3d::cell:0_1:1, fe_index:2 -DEAL:0:3d::cell:0_1:2, fe_index:0 -DEAL:0:3d::cell:0_1:3, fe_index:2 -DEAL:0:3d::cell:0_1:4, fe_index:0 -DEAL:0:3d::cell:0_1:5, fe_index:2 -DEAL:0:3d::cell:0_1:6, fe_index:0 -DEAL:0:3d::cell:0_1:7, fe_index:2 +DEAL:0:3d::cell:0_1:1, fe_index:1 +DEAL:0:3d::cell:0_1:2, fe_index:2 +DEAL:0:3d::cell:0_1:3, fe_index:3 +DEAL:0:3d::cell:0_1:4, fe_index:4 +DEAL:0:3d::cell:0_1:5, fe_index:5 +DEAL:0:3d::cell:0_1:6, fe_index:6 +DEAL:0:3d::cell:0_1:7, fe_index:7 DEAL:0::OK DEAL:1:3d::cell:1_1:0, fe_index:0 -DEAL:1:3d::cell:1_1:1, fe_index:2 -DEAL:1:3d::cell:1_1:2, fe_index:0 -DEAL:1:3d::cell:1_1:3, fe_index:2 -DEAL:1:3d::cell:1_1:4, fe_index:0 -DEAL:1:3d::cell:1_1:5, fe_index:2 -DEAL:1:3d::cell:1_1:6, fe_index:0 -DEAL:1:3d::cell:1_1:7, fe_index:2 +DEAL:1:3d::cell:1_1:1, fe_index:1 +DEAL:1:3d::cell:1_1:2, fe_index:2 +DEAL:1:3d::cell:1_1:3, fe_index:3 +DEAL:1:3d::cell:1_1:4, fe_index:4 +DEAL:1:3d::cell:1_1:5, fe_index:5 +DEAL:1:3d::cell:1_1:6, fe_index:6 +DEAL:1:3d::cell:1_1:7, fe_index:7 DEAL:1::OK DEAL:2:2d::cell:1_1:0, fe_index:0 -DEAL:2:2d::cell:1_1:1, fe_index:2 -DEAL:2:2d::cell:1_1:2, fe_index:0 -DEAL:2:2d::cell:1_1:3, fe_index:2 +DEAL:2:2d::cell:1_1:1, fe_index:1 +DEAL:2:2d::cell:1_1:2, fe_index:2 +DEAL:2:2d::cell:1_1:3, fe_index:3 DEAL:2:3d::cell:2_1:0, fe_index:0 -DEAL:2:3d::cell:2_1:1, fe_index:2 -DEAL:2:3d::cell:2_1:2, fe_index:0 -DEAL:2:3d::cell:2_1:3, fe_index:2 -DEAL:2:3d::cell:2_1:4, fe_index:0 -DEAL:2:3d::cell:2_1:5, fe_index:2 -DEAL:2:3d::cell:2_1:6, fe_index:0 -DEAL:2:3d::cell:2_1:7, fe_index:2 +DEAL:2:3d::cell:2_1:1, fe_index:1 +DEAL:2:3d::cell:2_1:2, fe_index:2 +DEAL:2:3d::cell:2_1:3, fe_index:3 +DEAL:2:3d::cell:2_1:4, fe_index:4 +DEAL:2:3d::cell:2_1:5, fe_index:5 +DEAL:2:3d::cell:2_1:6, fe_index:6 +DEAL:2:3d::cell:2_1:7, fe_index:7 DEAL:2::OK DEAL:3:3d::cell:3_1:0, fe_index:0 -DEAL:3:3d::cell:3_1:1, fe_index:2 -DEAL:3:3d::cell:3_1:2, fe_index:0 -DEAL:3:3d::cell:3_1:3, fe_index:2 -DEAL:3:3d::cell:3_1:4, fe_index:0 -DEAL:3:3d::cell:3_1:5, fe_index:2 -DEAL:3:3d::cell:3_1:6, fe_index:0 -DEAL:3:3d::cell:3_1:7, fe_index:2 +DEAL:3:3d::cell:3_1:1, fe_index:1 +DEAL:3:3d::cell:3_1:2, fe_index:2 +DEAL:3:3d::cell:3_1:3, fe_index:3 +DEAL:3:3d::cell:3_1:4, fe_index:4 +DEAL:3:3d::cell:3_1:5, fe_index:5 +DEAL:3:3d::cell:3_1:6, fe_index:6 +DEAL:3:3d::cell:3_1:7, fe_index:7 DEAL:3::OK DEAL:4:2d::cell:2_1:0, fe_index:0 -DEAL:4:2d::cell:2_1:1, fe_index:2 -DEAL:4:2d::cell:2_1:2, fe_index:0 -DEAL:4:2d::cell:2_1:3, fe_index:2 +DEAL:4:2d::cell:2_1:1, fe_index:1 +DEAL:4:2d::cell:2_1:2, fe_index:2 +DEAL:4:2d::cell:2_1:3, fe_index:3 DEAL:4:3d::cell:4_1:0, fe_index:0 -DEAL:4:3d::cell:4_1:1, fe_index:2 -DEAL:4:3d::cell:4_1:2, fe_index:0 -DEAL:4:3d::cell:4_1:3, fe_index:2 -DEAL:4:3d::cell:4_1:4, fe_index:0 -DEAL:4:3d::cell:4_1:5, fe_index:2 -DEAL:4:3d::cell:4_1:6, fe_index:0 -DEAL:4:3d::cell:4_1:7, fe_index:2 +DEAL:4:3d::cell:4_1:1, fe_index:1 +DEAL:4:3d::cell:4_1:2, fe_index:2 +DEAL:4:3d::cell:4_1:3, fe_index:3 +DEAL:4:3d::cell:4_1:4, fe_index:4 +DEAL:4:3d::cell:4_1:5, fe_index:5 +DEAL:4:3d::cell:4_1:6, fe_index:6 +DEAL:4:3d::cell:4_1:7, fe_index:7 DEAL:4::OK DEAL:5:3d::cell:5_1:0, fe_index:0 -DEAL:5:3d::cell:5_1:1, fe_index:2 -DEAL:5:3d::cell:5_1:2, fe_index:0 -DEAL:5:3d::cell:5_1:3, fe_index:2 -DEAL:5:3d::cell:5_1:4, fe_index:0 -DEAL:5:3d::cell:5_1:5, fe_index:2 -DEAL:5:3d::cell:5_1:6, fe_index:0 -DEAL:5:3d::cell:5_1:7, fe_index:2 +DEAL:5:3d::cell:5_1:1, fe_index:1 +DEAL:5:3d::cell:5_1:2, fe_index:2 +DEAL:5:3d::cell:5_1:3, fe_index:3 +DEAL:5:3d::cell:5_1:4, fe_index:4 +DEAL:5:3d::cell:5_1:5, fe_index:5 +DEAL:5:3d::cell:5_1:6, fe_index:6 +DEAL:5:3d::cell:5_1:7, fe_index:7 DEAL:5::OK DEAL:6:2d::cell:3_1:0, fe_index:0 -DEAL:6:2d::cell:3_1:1, fe_index:2 -DEAL:6:2d::cell:3_1:2, fe_index:0 -DEAL:6:2d::cell:3_1:3, fe_index:2 +DEAL:6:2d::cell:3_1:1, fe_index:1 +DEAL:6:2d::cell:3_1:2, fe_index:2 +DEAL:6:2d::cell:3_1:3, fe_index:3 DEAL:6:3d::cell:6_1:0, fe_index:0 -DEAL:6:3d::cell:6_1:1, fe_index:2 -DEAL:6:3d::cell:6_1:2, fe_index:0 -DEAL:6:3d::cell:6_1:3, fe_index:2 -DEAL:6:3d::cell:6_1:4, fe_index:0 -DEAL:6:3d::cell:6_1:5, fe_index:2 -DEAL:6:3d::cell:6_1:6, fe_index:0 -DEAL:6:3d::cell:6_1:7, fe_index:2 +DEAL:6:3d::cell:6_1:1, fe_index:1 +DEAL:6:3d::cell:6_1:2, fe_index:2 +DEAL:6:3d::cell:6_1:3, fe_index:3 +DEAL:6:3d::cell:6_1:4, fe_index:4 +DEAL:6:3d::cell:6_1:5, fe_index:5 +DEAL:6:3d::cell:6_1:6, fe_index:6 +DEAL:6:3d::cell:6_1:7, fe_index:7 DEAL:6::OK DEAL:7:3d::cell:7_1:0, fe_index:0 -DEAL:7:3d::cell:7_1:1, fe_index:2 -DEAL:7:3d::cell:7_1:2, fe_index:0 -DEAL:7:3d::cell:7_1:3, fe_index:2 -DEAL:7:3d::cell:7_1:4, fe_index:0 -DEAL:7:3d::cell:7_1:5, fe_index:2 -DEAL:7:3d::cell:7_1:6, fe_index:0 -DEAL:7:3d::cell:7_1:7, fe_index:2 +DEAL:7:3d::cell:7_1:1, fe_index:1 +DEAL:7:3d::cell:7_1:2, fe_index:2 +DEAL:7:3d::cell:7_1:3, fe_index:3 +DEAL:7:3d::cell:7_1:4, fe_index:4 +DEAL:7:3d::cell:7_1:5, fe_index:5 +DEAL:7:3d::cell:7_1:6, fe_index:6 +DEAL:7:3d::cell:7_1:7, fe_index:7 DEAL:7::OK diff --git a/tests/serialization/hp_dof_handler_01.cc b/tests/serialization/hp_dof_handler_01.cc index 500a4c8363..4c14d435df 100644 --- a/tests/serialization/hp_dof_handler_01.cc +++ b/tests/serialization/hp_dof_handler_01.cc @@ -93,11 +93,7 @@ namespace dealii return false; if (c1->active() && c2->active() && - c1->p_refine_flag_set() != c2->p_refine_flag_set()) - return false; - - if (c1->active() && c2->active() && - c1->p_coarsen_flag_set() != c2->p_coarsen_flag_set()) + c1->future_fe_index() != c2->future_fe_index()) return false; // compare dofs on this cell and then on the faces @@ -194,11 +190,11 @@ test() dof_1.distribute_dofs(fe_collection); dof_2.distribute_dofs(fe_collection); - dof_1.begin_active()->set_p_refine_flag(); - dof_2.begin_active()->set_p_refine_flag(); + dof_1.begin_active()->set_future_fe_index(0); + dof_2.begin_active()->set_future_fe_index(0); - (++dof_1.begin_active())->set_p_coarsen_flag(); - (++dof_2.begin_active())->set_p_coarsen_flag(); + (++dof_1.begin_active())->set_future_fe_index(1); + (++dof_2.begin_active())->set_future_fe_index(1); // right now, both hp::DoFHandlers are the same. Renumber one of them DoFRenumbering::random(dof_1); diff --git a/tests/serialization/hp_dof_handler_01.with_64bit_indices=off.output b/tests/serialization/hp_dof_handler_01.with_64bit_indices=off.output index 0f32974580..e840e8bc09 100644 --- a/tests/serialization/hp_dof_handler_01.with_64bit_indices=off.output +++ b/tests/serialization/hp_dof_handler_01.with_64bit_indices=off.output @@ -1,19 +1,19 @@ DEAL::0 0 23 0 1 5 11 4294967295 0 10 0 4294967295 0 12 15 4294967295 0 2 9 1 2 9 4294967295 0 3 8 4294967295 5 0 0 4 8 12 19 0 0 16 16 0 0 0 0 1 0 0 0 0 16 0 1 16 0 1 0 16 0 0 1 0 1 0 0 16 0 1 16 0 0 0 0 0 3 0 0 9 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 9 -1 2 0 0 0 2 0 4294967295 4294967295 0 0 0 0 2 0 4294967295 4294967295 2 0 0 2 0 0 9 -2 4 0 1 65535 65535 65535 4 0 0 7 12 17 22 0 5 11 2 9 14 13 4 2 9 12 15 6 12 15 3 8 7 3 8 10 0 1 6 0 14 13 4 6 7 1 4 0 0 3 4 5 4 1 0 0 0 4 0 1 0 0 1 7 23 Policy::Sequential<1,1> +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 9 +1 2 0 0 0 2 0 4294967295 4294967295 0 0 0 0 2 0 4294967295 4294967295 2 0 65535 65535 9 +2 4 0 1 65535 65535 65535 4 0 0 7 12 17 22 0 5 11 2 9 14 13 4 2 9 12 15 6 12 15 3 8 7 3 8 10 0 1 6 0 14 13 4 6 7 1 4 0 0 3 4 5 4 0 0 1 65535 65535 1 7 23 Policy::Sequential<1,1> DEAL::0 0 137 0 1 104 43 197 4294967295 0 118 165 185 4294967295 0 128 123 37 4294967295 0 150 177 8 4294967295 0 81 147 178 4294967295 0 39 76 72 4294967295 0 141 79 98 4294967295 0 157 56 38 4294967295 0 182 77 159 4294967295 0 201 49 209 1 201 49 209 4294967295 0 68 35 17 4294967295 0 14 130 161 1 14 130 161 4294967295 0 80 208 164 4294967295 0 176 5 122 4294967295 0 74 190 21 4294967295 0 54 169 28 4294967295 0 25 186 132 4294967295 0 93 92 61 4294967295 0 126 139 198 4294967295 0 18 11 95 4294967295 0 193 13 9 4294967295 0 78 155 53 1 78 155 53 4294967295 0 60 31 112 4294967295 0 173 175 45 4294967295 0 59 96 166 4294967295 25 0 0 5 10 15 20 25 30 35 40 45 54 59 68 73 78 83 88 93 98 103 108 113 122 127 132 0 0 210 210 0 0 0 0 1 0 0 0 0 210 0 1 210 0 1 0 210 0 0 1 0 1 0 0 210 0 1 210 0 0 0 0 0 3 0 0 9 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 9 -1 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 4 0 0 0 0 4 0 0 0 0 9 -2 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 41 63 85 107 129 151 173 195 217 239 261 283 305 327 349 371 0 104 43 197 201 49 209 14 130 161 78 155 53 88 86 2 69 12 15 183 82 162 7 181 33 1 89 107 135 19 137 134 16 36 191 24 119 41 101 192 153 138 201 49 209 81 147 178 78 155 53 93 92 61 146 91 94 22 144 171 110 73 51 151 14 130 161 78 155 53 39 76 72 18 11 95 125 205 184 3 199 174 117 108 58 102 78 155 53 93 92 61 18 11 95 182 77 159 184 3 196 194 110 73 200 63 20 100 81 147 178 68 35 17 93 92 61 60 31 112 94 22 67 204 6 121 195 10 30 180 68 35 17 118 165 185 60 31 112 176 5 122 67 204 179 70 136 97 66 84 103 207 93 92 61 60 31 112 182 77 159 193 13 9 196 194 27 140 195 10 129 71 172 170 60 31 112 176 5 122 193 13 9 141 79 98 27 140 23 168 66 84 116 26 131 44 39 76 72 18 11 95 80 208 164 173 175 45 55 65 163 64 117 108 152 149 85 142 18 11 95 182 77 159 173 175 45 126 139 198 163 64 46 187 200 63 143 120 156 83 80 208 164 173 175 45 128 123 37 54 169 28 87 160 99 4 152 149 29 203 32 111 173 175 45 126 139 198 54 169 28 157 56 38 99 4 158 115 143 120 145 48 105 154 182 77 159 193 13 9 126 139 198 59 96 166 46 187 189 206 129 71 124 40 109 133 193 13 9 141 79 98 59 96 166 74 190 21 189 206 62 47 116 26 202 34 114 75 126 139 198 59 96 166 157 56 38 25 186 132 158 115 167 106 124 40 148 0 188 57 59 96 166 74 190 21 25 186 132 150 177 8 167 106 127 50 202 34 90 113 52 42 39 0 36 191 24 119 41 101 192 153 138 51 151 58 102 20 100 30 180 103 207 172 170 131 44 85 142 156 83 32 111 105 154 109 133 114 75 188 57 52 42 16 0 0 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 16 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 9 +1 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 4 0 65535 65535 65535 65535 9 +2 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 41 63 85 107 129 151 173 195 217 239 261 283 305 327 349 371 0 104 43 197 201 49 209 14 130 161 78 155 53 88 86 2 69 12 15 183 82 162 7 181 33 1 89 107 135 19 137 134 16 36 191 24 119 41 101 192 153 138 201 49 209 81 147 178 78 155 53 93 92 61 146 91 94 22 144 171 110 73 51 151 14 130 161 78 155 53 39 76 72 18 11 95 125 205 184 3 199 174 117 108 58 102 78 155 53 93 92 61 18 11 95 182 77 159 184 3 196 194 110 73 200 63 20 100 81 147 178 68 35 17 93 92 61 60 31 112 94 22 67 204 6 121 195 10 30 180 68 35 17 118 165 185 60 31 112 176 5 122 67 204 179 70 136 97 66 84 103 207 93 92 61 60 31 112 182 77 159 193 13 9 196 194 27 140 195 10 129 71 172 170 60 31 112 176 5 122 193 13 9 141 79 98 27 140 23 168 66 84 116 26 131 44 39 76 72 18 11 95 80 208 164 173 175 45 55 65 163 64 117 108 152 149 85 142 18 11 95 182 77 159 173 175 45 126 139 198 163 64 46 187 200 63 143 120 156 83 80 208 164 173 175 45 128 123 37 54 169 28 87 160 99 4 152 149 29 203 32 111 173 175 45 126 139 198 54 169 28 157 56 38 99 4 158 115 143 120 145 48 105 154 182 77 159 193 13 9 126 139 198 59 96 166 46 187 189 206 129 71 124 40 109 133 193 13 9 141 79 98 59 96 166 74 190 21 189 206 62 47 116 26 202 34 114 75 126 139 198 59 96 166 157 56 38 25 186 132 158 115 167 106 124 40 148 0 188 57 59 96 166 74 190 21 25 186 132 150 177 8 167 106 127 50 202 34 90 113 52 42 39 0 36 191 24 119 41 101 192 153 138 51 151 58 102 20 100 30 180 103 207 172 170 131 44 85 142 156 83 32 111 105 154 109 133 114 75 188 57 52 42 16 0 0 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 16 0 0 1 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 0 0 0 12 1 0 3 0 0 178 0 1 88 86 2 69 12 4294967295 0 146 91 1 15 183 82 162 7 4294967295 1 181 33 1 89 107 4294967295 0 199 174 1 135 19 137 134 16 4294967295 0 94 22 4294967295 0 144 171 4294967295 0 110 73 4294967295 0 125 205 4294967295 0 184 3 4294967295 0 117 108 4294967295 0 196 194 4294967295 0 200 63 4294967295 0 67 204 4294967295 0 6 121 4294967295 0 195 10 4294967295 0 179 70 4294967295 0 136 97 4294967295 0 66 84 4294967295 0 27 140 4294967295 0 129 71 4294967295 0 23 168 4294967295 0 116 26 4294967295 0 55 65 4294967295 0 163 64 4294967295 0 152 149 4294967295 0 46 187 4294967295 0 143 120 4294967295 0 87 160 4294967295 0 99 4 4294967295 0 29 203 4294967295 0 158 115 4294967295 0 145 48 4294967295 0 189 206 4294967295 0 124 40 4294967295 0 62 47 4294967295 0 202 34 4294967295 0 167 106 4294967295 0 148 0 4294967295 0 127 50 4294967295 0 90 113 4294967295 56 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 17 38 70 82 0 46 106 126 78 98 154 170 134 142 166 174 34 58 118 138 54 62 94 102 7 50 24 42 66 90 74 86 110 130 114 122 146 162 150 158 21 23 Policy::Sequential<2,2> DEAL::0 0 785 0 1 1217 903 1574 88 4294967295 0 1892 610 1929 1981 4294967295 0 635 2463 1457 2441 4294967295 0 741 89 1683 1590 4294967295 0 1979 1983 1652 222 4294967295 0 1716 2321 65 649 4294967295 0 946 2084 234 1803 4294967295 0 355 1538 2443 1283 4294967295 0 167 668 916 1477 4294967295 0 1484 1292 2015 143 4294967295 0 892 1893 336 311 4294967295 0 1075 2149 180 1018 4294967295 0 1859 2320 1047 1054 4294967295 0 987 1060 265 325 4294967295 0 2220 83 2281 622 4294967295 0 1556 645 1874 544 4294967295 0 1064 516 2422 1470 4294967295 0 1856 816 1455 1119 4294967295 0 2391 1708 1250 652 4294967295 0 852 482 1063 908 4294967295 0 2062 1717 789 705 4294967295 0 1604 2033 1485 756 4294967295 0 1658 1270 2428 249 4294967295 0 1957 939 2144 12 4294967295 0 1399 1840 1848 72 4294967295 0 2446 1277 1498 2392 4294967295 0 1224 2363 155 1731 4294967295 0 1347 247 1466 584 1 1347 247 1466 584 4294967295 0 2032 608 970 1448 4294967295 0 1231 1821 599 565 1 1231 1821 599 565 4294967295 0 1995 2094 1673 2161 4294967295 0 1671 200 1594 1996 1 1671 200 1594 1996 4294967295 0 1144 1032 1449 226 4294967295 0 1460 2447 972 1293 4294967295 0 1002 546 1974 376 4294967295 0 1934 2330 1085 2155 4294967295 0 1788 1244 506 768 4294967295 0 2283 2208 1211 841 4294967295 0 1107 2252 671 942 4294967295 0 1781 1542 105 862 4294967295 0 1214 411 1289 2202 4294967295 0 1969 1502 141 2466 4294967295 0 2384 1164 803 575 4294967295 0 2219 413 2070 1541 4294967295 0 1288 1188 379 1587 4294967295 0 1572 1278 2165 2334 4294967295 0 1077 297 1483 2042 4294967295 0 1176 948 819 1341 4294967295 0 1693 32 2299 707 4294967295 0 487 1636 551 288 4294967295 0 934 2212 1087 356 4294967295 0 628 2263 2352 1420 4294967295 0 422 600 353 2043 4294967295 0 1603 552 161 2076 4294967295 0 1131 1355 639 8 4294967295 0 1592 2433 1598 896 4294967295 0 1619 206 836 567 4294967295 0 2309 589 1090 757 4294967295 0 1970 2036 2322 317 4294967295 0 1210 2274 2455 597 4294967295 0 1953 554 478 1921 4294967295 0 2243 443 1389 1472 4294967295 0 209 1373 1467 1561 4294967295 0 184 308 1243 1813 4294967295 0 406 1754 1513 364 4294967295 0 103 1935 1194 1661 4294967295 0 689 630 1530 1529 4294967295 0 1747 2402 621 1159 4294967295 0 688 213 790 2395 4294967295 0 2390 96 323 242 4294967295 0 1698 1471 2040 1549 4294967295 0 563 67 2290 2100 4294967295 0 924 1380 2072 395 4294967295 0 71 2237 1478 1427 4294967295 0 1615 1446 2105 258 4294967295 0 332 1703 1524 1234 4294967295 0 1026 2176 1776 251 4294967295 0 1847 484 2215 1520 4294967295 0 238 44 334 421 4294967295 0 1870 14 926 1014 4294967295 0 130 765 1115 2272 4294967295 0 1924 2360 869 24 1 1924 2360 869 24 4294967295 0 580 39 2254 1846 4294967295 0 386 231 1428 2310 4294967295 0 514 1316 535 1535 4294967295 0 1908 476 1028 1579 1 1908 476 1028 1579 4294967295 0 2081 2379 602 444 4294967295 0 2277 1508 520 1890 4294967295 0 787 1069 192 2296 4294967295 0 2121 1911 1825 390 1 2121 1911 1825 390 4294967295 0 1304 2295 1348 116 4294967295 0 129 2418 1612 2157 4294967295 0 199 1062 1136 519 4294967295 0 264 898 1372 2050 4294967295 0 1454 867 80 469 4294967295 0 1947 2469 810 42 4294967295 0 1264 594 1287 186 4294967295 0 294 2189 1128 1884 4294967295 0 2239 2024 1637 949 4294967295 0 2325 1695 593 561 4294967295 0 1818 684 99 1147 4294967295 0 762 2343 1689 1503 4294967295 0 2117 1431 1240 1229 4294967295 0 709 631 455 1011 4294967295 0 2052 250 60 1445 4294967295 0 1271 553 1984 2057 4294967295 0 1610 2409 280 1506 4294967295 0 2440 37 2312 2372 4294967295 0 991 854 872 694 4294967295 0 1772 318 477 2006 4294967295 0 1626 1964 2344 935 4294967295 0 977 1434 378 2048 4294967295 0 25 131 1308 1806 4294967295 0 1444 603 2051 1313 4294967295 0 380 34 1351 1656 4294967295 0 273 2016 1916 1880 4294967295 0 402 1714 763 2245 4294967295 0 1928 140 1737 702 1 1928 140 1737 702 4294967295 0 217 1286 126 1001 4294967295 0 2380 1706 545 547 4294967295 0 1092 1735 2401 1223 4294967295 0 2023 882 1397 835 4294967295 0 1121 555 1801 2468 4294967295 0 1994 1605 811 1329 4294967295 0 2141 2327 2285 124 4294967295 125 0 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 173 179 190 196 207 213 219 225 231 237 243 249 255 261 267 273 279 285 291 297 303 309 315 321 327 333 339 345 351 357 363 369 375 381 387 393 399 405 411 417 423 429 435 441 447 453 459 465 471 477 483 489 495 501 512 518 524 530 541 547 553 559 570 576 582 588 594 600 606 612 618 624 630 636 642 648 654 660 666 672 678 684 690 696 702 708 714 720 726 732 743 749 755 761 767 773 779 0 0 2478 2478 0 0 0 0 1 0 0 0 0 2478 0 1 2478 0 1 0 2478 0 0 1 0 1 0 0 2478 0 1 2478 0 0 0 0 0 3 0 0 9 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 9 -1 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 9 -2 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 219 308 397 486 575 664 753 842 931 1020 1109 1198 1287 1376 1465 1554 1643 1732 1821 1910 1999 2088 2177 2266 2355 2444 2533 2622 2711 2800 2889 2978 3067 3156 3245 3334 3423 3512 3601 3690 3779 3868 3957 4046 4135 4224 4313 4402 4491 4580 4669 4758 4847 4936 5025 5114 5203 5292 5381 5470 5559 5648 5737 5826 0 1217 903 1574 88 1347 247 1466 584 1231 1821 599 565 1908 476 1028 1579 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 86 347 1134 424 1990 2346 1666 994 7 1743 2280 1543 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 919 1942 1808 1400 1988 271 2107 1941 2034 1285 1383 607 2063 1863 2431 22 1089 2436 2017 225 529 637 1068 1305 817 846 848 879 18 2266 2093 1291 1719 2410 1039 988 371 996 1919 1384 1966 537 1545 2355 1409 310 518 1487 341 1591 447 1120 1418 1510 1363 1290 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1347 247 1466 584 167 668 916 1477 1908 476 1028 1579 1592 2433 1598 896 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 2253 1864 1198 1739 2129 1354 499 973 2459 1861 1169 243 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 300 795 2340 1763 673 2476 941 369 1451 1441 1100 162 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 2128 947 655 1654 2195 1339 1331 914 743 1231 1821 599 565 1908 476 1028 1579 1484 1292 2015 143 2309 589 1090 757 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2400 154 889 2218 2448 2308 194 1901 1000 239 1479 2293 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 203 2389 214 941 369 1451 2393 1899 730 579 304 825 793 1236 1651 660 1646 1616 1096 653 396 1767 2 899 513 1937 1228 576 1638 573 543 94 843 1908 476 1028 1579 1592 2433 1598 896 2309 589 1090 757 1604 2033 1485 756 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 2218 2448 2308 736 400 1216 1861 1169 243 1309 2332 486 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 941 369 1451 1441 1100 162 579 304 825 1785 1657 807 660 1646 1616 1690 1045 302 1279 886 1004 426 1773 842 2125 700 1202 798 1066 857 549 169 2233 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1540 362 1387 375 1759 223 909 527 1041 636 1882 2348 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 2249 1103 1570 412 925 432 259 1392 1475 2074 753 1775 861 68 1509 1963 2007 1877 2336 188 1707 2250 2041 2417 435 642 11 1499 2123 1391 1684 1805 139 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 412 925 432 1095 59 1458 2074 753 1775 2426 1017 1405 1963 2007 1877 1682 1685 171 703 312 2162 149 457 2221 1654 2195 1339 1220 1507 1936 2196 615 1959 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 259 1392 1475 2074 753 1775 955 1126 1534 2153 183 2231 1326 606 1613 496 752 1834 2250 2041 2417 367 1338 218 576 1638 573 1432 1360 823 2037 1865 2058 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2074 753 1775 2426 1017 1405 2153 183 2231 210 2008 1122 496 752 1834 1696 1337 1108 149 457 2221 2108 1771 1932 798 1066 857 1795 809 2439 773 1067 542 167 668 916 1477 2032 608 970 1448 1592 2433 1598 896 2081 2379 602 444 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 1739 2129 1354 1488 1836 377 1319 1227 871 1191 902 1195 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 1763 673 2476 178 893 2386 1441 1100 162 808 320 1440 1944 1456 932 508 625 1588 351 794 999 2150 1366 566 1275 1843 1246 1565 100 1576 2236 1568 1900 2032 608 970 1448 1892 610 1929 1981 2081 2379 602 444 1460 2447 972 1293 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 1488 1836 377 1831 321 372 330 1664 1760 2026 1323 1746 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 178 893 2386 120 598 1023 808 320 1440 1544 2361 1851 508 625 1588 1644 1084 1980 2054 370 2385 61 930 1203 45 624 467 2197 1715 1677 442 578 1459 1592 2433 1598 896 2081 2379 602 444 1604 2033 1485 756 1970 2036 2322 317 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 736 400 1216 1930 198 366 1191 902 1195 1823 891 16 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 1441 1100 162 808 320 1440 1785 1657 807 1516 2261 1375 1690 1045 302 2396 2342 1894 2150 1366 566 676 2003 327 483 2055 696 305 1807 915 168 1086 1608 2081 2379 602 444 1460 2447 972 1293 1970 2036 2322 317 1075 2149 180 1018 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 1930 198 366 53 1817 1130 2026 1323 1746 111 1697 1267 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 808 320 1440 1544 2361 1851 1516 2261 1375 920 314 208 2396 2342 1894 582 1274 1168 61 930 1203 1221 2323 2025 6 966 1333 1010 1447 749 2185 771 985 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1095 59 1458 1992 464 2013 2426 1017 1405 1280 1849 562 1682 1685 171 1401 338 202 806 1922 1857 436 2059 2305 1565 100 1576 1586 132 2073 738 1082 374 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 1992 464 2013 863 1551 1531 1280 1849 562 98 448 824 1401 338 202 618 813 485 1091 1469 901 1768 2375 995 2197 1715 1677 1860 1247 632 759 1711 574 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 2426 1017 1405 1280 1849 562 210 2008 1122 2056 73 1736 1696 1337 1108 2142 2407 236 436 2059 2305 1474 235 2453 305 1807 915 1335 669 1650 1875 389 70 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1280 1849 562 98 448 824 2056 73 1736 844 1184 48 2142 2407 236 1042 2425 1891 1768 2375 995 2204 2397 764 1010 1447 749 1473 952 256 361 1124 437 1484 1292 2015 143 2309 589 1090 757 1995 2094 1673 2161 2277 1508 520 1890 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1141 245 1395 204 2191 47 239 1479 2293 278 1758 723 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 2393 1899 730 579 304 825 276 1778 850 2317 13 1182 453 1702 498 399 1751 2102 1767 2 899 2164 2192 1730 2130 781 1854 956 592 612 1558 2085 735 2309 589 1090 757 1604 2033 1485 756 2277 1508 520 1890 1619 206 836 567 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 204 2191 47 1013 417 659 1309 2332 486 1496 1573 1222 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 579 304 825 1785 1657 807 2317 13 1182 1660 279 1512 399 1751 2102 197 2339 1802 426 1773 842 1261 783 716 679 747 1837 316 313 1314 373 1639 1016 1995 2094 1673 2161 2277 1508 520 1890 635 2463 1457 2441 2283 2208 1211 841 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 2388 1125 1793 473 2060 1020 278 1758 723 1376 438 1989 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 276 1778 850 2317 13 1182 1552 164 2294 984 1536 227 1201 1132 883 1031 1822 1055 2164 2192 1730 890 1163 1374 295 1738 1547 358 2184 1915 261 85 1700 2277 1508 520 1890 1619 206 836 567 2283 2208 1211 841 987 1060 265 325 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 473 2060 1020 1686 750 814 1496 1573 1222 884 878 2288 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 2317 13 1182 1660 279 1512 984 1536 227 112 461 962 1031 1822 1055 2227 272 1659 1261 783 716 796 1820 1872 416 638 822 419 2377 687 943 1798 2366 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 955 1126 1534 2153 183 2231 1601 1606 1435 41 1632 2247 1550 2079 77 1962 1826 1150 367 1338 218 691 2326 2138 956 592 612 1968 274 2289 1235 1699 2080 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 2153 183 2231 210 2008 1122 41 1632 2247 343 1390 534 1962 1826 1150 2113 19 1328 2108 1771 1932 414 2078 895 316 313 1314 1030 647 232 923 904 2159 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 1601 1606 1435 41 1632 2247 2269 1721 2031 368 237 876 384 1602 742 1589 1575 26 691 2326 2138 558 1230 69 358 2184 1915 17 1050 1365 2403 1950 1371 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 41 1632 2247 343 1390 534 368 237 876 693 1029 74 1589 1575 26 951 1033 350 414 2078 895 2077 701 2169 419 2377 687 1186 1403 1621 277 1215 173 1604 2033 1485 756 1970 2036 2322 317 1619 206 836 567 787 1069 192 2296 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1013 417 659 1617 1154 459 1823 891 16 734 1113 2442 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1785 1657 807 1516 2261 1375 1660 279 1512 2358 23 1111 197 2339 1802 875 588 398 676 2003 327 425 465 1196 1394 1584 58 733 1259 509 1811 1074 1546 1970 2036 2322 317 1075 2149 180 1018 787 1069 192 2296 1002 546 1974 376 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1617 1154 459 1237 1779 357 111 1697 1267 1442 2172 1998 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1516 2261 1375 920 314 208 2358 23 1111 1332 2001 1357 875 588 398 2167 1991 2171 1221 2323 2025 1903 1226 118 472 1945 1649 1914 1597 1640 107 1367 2329 1619 206 836 567 787 1069 192 2296 987 1060 265 325 1107 2252 671 942 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1686 750 814 1889 1888 512 734 1113 2442 1426 2098 2061 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 1660 279 1512 2358 23 1111 112 461 962 2292 2298 1665 2227 272 1659 1917 2163 471 425 465 1196 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 787 1069 192 2296 1002 546 1974 376 1107 2252 671 942 741 89 1683 1590 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1889 1888 512 2119 662 1325 1442 2172 1998 2376 568 123 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 2358 23 1111 1332 2001 1357 2292 2298 1665 572 1733 1493 1917 2163 471 2158 1909 559 1903 1226 118 157 1832 2096 761 2473 2086 664 1490 1734 160 1614 293 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 210 2008 1122 2056 73 1736 343 1390 534 524 1344 55 2113 19 1328 1306 1133 433 1474 235 2453 2302 1750 92 733 1259 509 1317 1361 46 1855 2316 420 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2056 73 1736 844 1184 48 524 1344 55 2082 1127 983 1306 1133 433 1298 1883 1312 2204 2397 764 601 263 2369 1914 1597 1640 1676 1251 1885 1662 858 1421 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 343 1390 534 524 1344 55 693 1029 74 674 596 779 951 1033 350 38 2421 110 2302 1750 92 492 1620 2303 838 586 2131 2151 125 1718 446 1881 2273 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 524 1344 55 2082 1127 983 674 596 779 784 2109 1071 38 2421 110 331 2333 1948 601 263 2369 1105 1396 324 664 1490 1734 2143 997 95 1 306 1311 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 345 2053 587 63 2246 1800 2029 521 714 864 2112 2313 2286 729 2225 1505 710 241 681 1463 1206 253 2427 1158 1499 2123 1391 1599 922 1967 1402 859 2458 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 63 2246 1800 2240 2354 1419 864 2112 2313 1436 49 365 1505 710 241 1443 1378 1618 359 1480 176 2069 1080 458 1220 1507 1936 1792 216 1336 135 760 1810 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 2029 521 714 864 2112 2313 381 2166 449 1146 474 2474 51 505 1624 609 969 1627 253 2427 1158 2472 1340 1423 1432 1360 823 975 220 1148 2437 877 650 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 864 2112 2313 1436 49 365 1146 474 2474 1076 718 1170 609 969 1627 1232 1008 1327 2069 1080 458 800 2242 36 1795 809 2439 342 880 269 1155 1571 2419 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1979 1983 1652 222 2219 413 2070 1541 1572 1278 2165 2334 762 2343 1689 1503 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 583 1273 1560 452 2424 2423 1342 81 440 393 475 2301 1635 1433 801 20 2362 1804 177 1796 1645 2464 785 633 2111 1151 153 244 2004 246 831 726 873 1225 1192 665 1599 922 1967 1533 1486 328 672 698 1489 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 2219 413 2070 1541 1064 516 2422 1470 762 2343 1689 1503 563 67 2290 2100 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 452 2424 2423 2089 2365 1740 2099 1669 1824 1422 2248 2311 20 2362 1804 1623 196 1450 2464 785 633 2114 1987 481 244 2004 246 1021 1263 1786 2475 1720 62 348 2381 1905 1792 216 1336 2211 2027 777 2002 792 403 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 1572 1278 2165 2334 762 2343 1689 1503 1856 816 1455 1119 71 2237 1478 1427 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 434 840 78 755 2201 804 393 475 2301 2106 1320 953 177 1796 1645 2464 785 633 27 255 1906 1160 1296 1999 928 79 812 407 2351 2319 1225 1192 665 515 1634 1523 975 220 1148 758 2174 2387 686 853 1742 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 762 2343 1689 1503 563 67 2290 2100 71 2237 1478 1427 2446 1277 1498 2392 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 755 2201 804 2244 322 2434 1422 2248 2311 2156 1048 680 2464 785 633 2114 1987 481 1160 1296 1999 66 117 1166 407 2351 2319 1358 1411 1976 348 2381 1905 383 1504 1958 342 880 269 2337 1079 1681 1065 828 907 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2240 2354 1419 1871 1712 2224 1436 49 365 1492 2318 1862 1443 1378 1618 1951 950 1257 490 488 1852 2470 1631 577 1586 132 2073 2038 1844 1078 675 657 4 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1871 1712 2224 2260 1553 1653 1492 2318 1862 745 428 720 1951 950 1257 1362 1388 1532 1866 2230 326 1555 1729 959 1860 1247 632 717 2238 1710 1752 495 260 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 1436 49 365 1492 2318 1862 1076 718 1170 1952 2207 1135 1232 1008 1327 722 1349 2134 2470 1631 577 1219 1704 1137 1335 669 1650 2168 2226 646 550 2284 1138 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 1492 2318 1862 745 428 720 1952 2207 1135 10 2039 1118 722 1349 2134 2404 834 1036 1555 1729 959 301 1180 556 1473 952 256 2356 2136 1993 766 1827 1258 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 1064 516 2422 1470 1288 1188 379 1587 563 67 2290 2100 2117 1431 1240 1229 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2089 2365 1740 1887 21 1609 267 1172 2408 1417 221 1404 1623 196 1450 1139 1153 1515 2114 1987 481 656 1688 2092 1021 1263 1786 2064 1762 1252 268 2222 142 2315 2462 1838 2038 1844 1078 1769 181 769 1596 2399 82 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 1288 1188 379 1587 1716 2321 65 649 2117 1431 1240 1229 1176 948 819 1341 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1887 21 1609 1248 1254 138 2035 643 1382 1307 175 678 1139 1153 1515 1819 711 617 656 1688 2092 1040 1149 2122 2064 1762 1252 451 2450 1559 2471 2188 102 2198 2349 136 717 2238 1710 1501 2429 1784 91 531 1253 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 563 67 2290 2100 2117 1431 1240 1229 2446 1277 1498 2392 1615 1446 2105 258 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 2244 322 2434 106 868 746 1417 221 1404 998 2276 2182 2114 1987 481 656 1688 2092 66 117 1166 1034 799 685 1358 1411 1976 958 964 1791 2315 2462 1838 1022 1152 2030 2168 2226 646 912 172 658 2014 2005 1058 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 2117 1431 1240 1229 1176 948 819 1341 1615 1446 2105 258 2391 1708 1250 652 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 106 868 746 2133 1088 981 1307 175 678 262 778 275 656 1688 2092 1040 1149 2122 1034 799 685 1557 1207 1725 958 964 1791 1370 663 31 2198 2349 136 2251 1628 2234 2356 2136 1993 2068 466 661 1185 1918 2278 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 381 2166 449 1146 474 2474 2228 415 2364 1377 2116 1514 1464 2291 619 1867 163 9 2472 1340 1423 292 541 830 1968 274 2289 1003 2271 439 739 2091 146 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1146 474 2474 1076 718 1170 1377 2116 1514 833 936 182 1867 163 9 1625 1830 2101 800 2242 36 1038 97 523 1030 647 232 2214 158 1926 881 282 502 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 2228 415 2364 1377 2116 1514 2368 1364 193 445 2405 2067 287 1955 1437 1301 538 978 292 541 830 409 1481 2145 17 1050 1365 2183 683 522 1809 115 1101 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 1377 2116 1514 833 936 182 445 2405 2067 530 1755 431 1301 538 978 963 1912 1780 1038 97 523 805 1006 626 1186 1403 1621 1692 1345 954 410 1233 189 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1856 816 1455 1119 71 2237 1478 1427 1077 297 1483 2042 709 631 455 1011 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 2307 195 2268 1310 229 215 2106 1320 953 821 1749 627 27 255 1906 1160 1296 1999 283 1070 2179 1142 2457 460 2045 429 1985 770 1973 1939 515 1634 1523 1876 1430 780 1003 2271 439 1853 2135 1043 1756 1046 1242 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 71 2237 1478 1427 2446 1277 1498 2392 709 631 455 1011 924 1380 2072 395 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1310 229 215 363 503 613 2156 1048 680 827 704 128 1160 1296 1999 66 117 1166 1142 2457 460 851 1110 224 770 1973 1939 1282 2137 1269 383 1504 1958 1744 866 290 2214 158 1926 1453 489 1978 706 30 2477 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 1077 297 1483 2042 709 631 455 1011 946 2084 234 1803 487 1636 551 288 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 1633 145 1177 430 591 212 821 1749 627 979 2000 1276 283 1070 2179 1142 2457 460 731 1099 266 989 961 767 865 1782 1839 493 754 114 1876 1430 780 1873 1757 2353 2183 683 522 1841 786 205 2210 1272 2075 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 709 631 455 1011 924 1380 2072 395 487 1636 551 288 852 482 1063 908 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 430 591 212 677 1923 1946 827 704 128 644 1209 837 1142 2457 460 851 1110 224 989 961 767 1920 1468 1583 493 754 114 2206 1171 2180 1744 866 290 2194 454 732 1692 1345 954 1956 1814 1765 1925 113 150 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 1076 718 1170 1952 2207 1135 833 936 182 1727 2461 1197 1625 1830 2101 346 1098 233 1219 1704 1137 1687 728 127 1317 1361 46 620 1385 507 2104 2264 725 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 1952 2207 1135 10 2039 1118 1727 2461 1197 913 2412 1407 346 1098 233 480 104 1943 301 1180 556 1193 2152 2187 1676 1251 1885 40 887 2411 307 1025 540 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 833 936 182 1727 2461 1197 530 1755 431 397 605 1414 963 1912 1780 0 1281 1346 1687 728 127 299 1777 526 2151 125 1718 394 174 385 2415 1611 910 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 1727 2461 1197 913 2412 1407 397 605 1414 748 933 1109 0 1281 1346 616 1415 2139 1193 2152 2187 1145 1175 1600 2143 997 95 1517 856 2435 1975 491 2044 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 2446 1277 1498 2392 1615 1446 2105 258 924 1380 2072 395 2052 250 60 1445 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 363 503 613 479 894 337 998 2276 2182 2160 1643 2259 66 117 1166 1034 799 685 851 1110 224 1157 1783 1106 1282 2137 1269 564 993 1670 1022 1152 2030 201 845 1116 620 1385 507 1173 1165 1352 2088 159 2406 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1615 1446 2105 258 2391 1708 1250 652 2052 250 60 1445 1693 32 2299 707 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 479 894 337 2019 1239 921 262 778 275 1199 354 595 1034 799 685 1557 1207 1725 1157 1783 1106 1842 54 1732 564 993 1670 1037 170 2232 2251 1628 2234 1330 1569 957 40 887 2411 1356 885 1789 1005 727 1114 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 924 1380 2072 395 2052 250 60 1445 852 482 1063 908 934 2212 1087 356 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 677 1923 1946 511 990 1790 2160 1643 2259 992 640 2282 851 1110 224 1157 1783 1106 1920 1468 1583 1655 557 611 2206 1171 2180 1907 2011 1797 201 845 1116 1452 1315 2350 394 174 385 1181 528 1051 965 64 2126 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 2052 250 60 1445 1693 32 2299 707 934 2212 1087 356 355 1538 2443 1283 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 511 990 1790 1722 855 2275 1199 354 595 1977 2173 147 1157 1783 1106 1842 54 1732 1655 557 611 1053 708 1593 1907 2011 1797 1816 230 1359 1330 1569 957 1691 1245 971 1517 856 2435 1129 1369 2256 166 1663 468 214 0 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1331 914 743 543 94 843 549 169 2233 1684 1805 139 2196 615 1959 2037 1865 2058 773 1067 542 2236 1568 1900 442 578 1459 168 1086 1608 2185 771 985 738 1082 374 759 1711 574 1875 389 70 361 1124 437 1558 2085 735 373 1639 1016 261 85 1700 943 1798 2366 1235 1699 2080 923 904 2159 2403 1950 1371 277 1215 173 1811 1074 1546 107 1367 2329 695 1982 1713 160 1614 293 1855 2316 420 1662 858 1421 446 1881 2273 1 306 1311 1402 859 2458 135 760 1810 2437 877 650 1155 1571 2419 672 698 1489 2002 792 403 686 853 1742 1065 828 907 675 657 4 1752 495 260 550 2284 1138 766 1827 1258 1596 2399 82 91 531 1253 2014 2005 1058 1185 1918 2278 739 2091 146 881 282 502 1809 115 1101 410 1233 189 1756 1046 1242 706 30 2477 2210 1272 2075 1925 113 150 2104 2264 725 307 1025 540 2415 1611 910 1975 491 2044 2088 159 2406 1005 727 1114 965 64 2126 166 1663 468 64 0 0 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 64 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 9 +1 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 8 0 65535 65535 65535 65535 65535 65535 65535 65535 9 +2 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 219 308 397 486 575 664 753 842 931 1020 1109 1198 1287 1376 1465 1554 1643 1732 1821 1910 1999 2088 2177 2266 2355 2444 2533 2622 2711 2800 2889 2978 3067 3156 3245 3334 3423 3512 3601 3690 3779 3868 3957 4046 4135 4224 4313 4402 4491 4580 4669 4758 4847 4936 5025 5114 5203 5292 5381 5470 5559 5648 5737 5826 0 1217 903 1574 88 1347 247 1466 584 1231 1821 599 565 1908 476 1028 1579 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 86 347 1134 424 1990 2346 1666 994 7 1743 2280 1543 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 919 1942 1808 1400 1988 271 2107 1941 2034 1285 1383 607 2063 1863 2431 22 1089 2436 2017 225 529 637 1068 1305 817 846 848 879 18 2266 2093 1291 1719 2410 1039 988 371 996 1919 1384 1966 537 1545 2355 1409 310 518 1487 341 1591 447 1120 1418 1510 1363 1290 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1347 247 1466 584 167 668 916 1477 1908 476 1028 1579 1592 2433 1598 896 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 2253 1864 1198 1739 2129 1354 499 973 2459 1861 1169 243 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 300 795 2340 1763 673 2476 941 369 1451 1441 1100 162 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 2128 947 655 1654 2195 1339 1331 914 743 1231 1821 599 565 1908 476 1028 1579 1484 1292 2015 143 2309 589 1090 757 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2400 154 889 2218 2448 2308 194 1901 1000 239 1479 2293 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 203 2389 214 941 369 1451 2393 1899 730 579 304 825 793 1236 1651 660 1646 1616 1096 653 396 1767 2 899 513 1937 1228 576 1638 573 543 94 843 1908 476 1028 1579 1592 2433 1598 896 2309 589 1090 757 1604 2033 1485 756 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 2218 2448 2308 736 400 1216 1861 1169 243 1309 2332 486 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 941 369 1451 1441 1100 162 579 304 825 1785 1657 807 660 1646 1616 1690 1045 302 1279 886 1004 426 1773 842 2125 700 1202 798 1066 857 549 169 2233 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1540 362 1387 375 1759 223 909 527 1041 636 1882 2348 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 2249 1103 1570 412 925 432 259 1392 1475 2074 753 1775 861 68 1509 1963 2007 1877 2336 188 1707 2250 2041 2417 435 642 11 1499 2123 1391 1684 1805 139 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 412 925 432 1095 59 1458 2074 753 1775 2426 1017 1405 1963 2007 1877 1682 1685 171 703 312 2162 149 457 2221 1654 2195 1339 1220 1507 1936 2196 615 1959 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 259 1392 1475 2074 753 1775 955 1126 1534 2153 183 2231 1326 606 1613 496 752 1834 2250 2041 2417 367 1338 218 576 1638 573 1432 1360 823 2037 1865 2058 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2074 753 1775 2426 1017 1405 2153 183 2231 210 2008 1122 496 752 1834 1696 1337 1108 149 457 2221 2108 1771 1932 798 1066 857 1795 809 2439 773 1067 542 167 668 916 1477 2032 608 970 1448 1592 2433 1598 896 2081 2379 602 444 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 1739 2129 1354 1488 1836 377 1319 1227 871 1191 902 1195 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 1763 673 2476 178 893 2386 1441 1100 162 808 320 1440 1944 1456 932 508 625 1588 351 794 999 2150 1366 566 1275 1843 1246 1565 100 1576 2236 1568 1900 2032 608 970 1448 1892 610 1929 1981 2081 2379 602 444 1460 2447 972 1293 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 1488 1836 377 1831 321 372 330 1664 1760 2026 1323 1746 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 178 893 2386 120 598 1023 808 320 1440 1544 2361 1851 508 625 1588 1644 1084 1980 2054 370 2385 61 930 1203 45 624 467 2197 1715 1677 442 578 1459 1592 2433 1598 896 2081 2379 602 444 1604 2033 1485 756 1970 2036 2322 317 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 736 400 1216 1930 198 366 1191 902 1195 1823 891 16 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 1441 1100 162 808 320 1440 1785 1657 807 1516 2261 1375 1690 1045 302 2396 2342 1894 2150 1366 566 676 2003 327 483 2055 696 305 1807 915 168 1086 1608 2081 2379 602 444 1460 2447 972 1293 1970 2036 2322 317 1075 2149 180 1018 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 1930 198 366 53 1817 1130 2026 1323 1746 111 1697 1267 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 808 320 1440 1544 2361 1851 1516 2261 1375 920 314 208 2396 2342 1894 582 1274 1168 61 930 1203 1221 2323 2025 6 966 1333 1010 1447 749 2185 771 985 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1095 59 1458 1992 464 2013 2426 1017 1405 1280 1849 562 1682 1685 171 1401 338 202 806 1922 1857 436 2059 2305 1565 100 1576 1586 132 2073 738 1082 374 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 1992 464 2013 863 1551 1531 1280 1849 562 98 448 824 1401 338 202 618 813 485 1091 1469 901 1768 2375 995 2197 1715 1677 1860 1247 632 759 1711 574 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 2426 1017 1405 1280 1849 562 210 2008 1122 2056 73 1736 1696 1337 1108 2142 2407 236 436 2059 2305 1474 235 2453 305 1807 915 1335 669 1650 1875 389 70 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1280 1849 562 98 448 824 2056 73 1736 844 1184 48 2142 2407 236 1042 2425 1891 1768 2375 995 2204 2397 764 1010 1447 749 1473 952 256 361 1124 437 1484 1292 2015 143 2309 589 1090 757 1995 2094 1673 2161 2277 1508 520 1890 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1141 245 1395 204 2191 47 239 1479 2293 278 1758 723 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 2393 1899 730 579 304 825 276 1778 850 2317 13 1182 453 1702 498 399 1751 2102 1767 2 899 2164 2192 1730 2130 781 1854 956 592 612 1558 2085 735 2309 589 1090 757 1604 2033 1485 756 2277 1508 520 1890 1619 206 836 567 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 204 2191 47 1013 417 659 1309 2332 486 1496 1573 1222 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 579 304 825 1785 1657 807 2317 13 1182 1660 279 1512 399 1751 2102 197 2339 1802 426 1773 842 1261 783 716 679 747 1837 316 313 1314 373 1639 1016 1995 2094 1673 2161 2277 1508 520 1890 635 2463 1457 2441 2283 2208 1211 841 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 2388 1125 1793 473 2060 1020 278 1758 723 1376 438 1989 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 276 1778 850 2317 13 1182 1552 164 2294 984 1536 227 1201 1132 883 1031 1822 1055 2164 2192 1730 890 1163 1374 295 1738 1547 358 2184 1915 261 85 1700 2277 1508 520 1890 1619 206 836 567 2283 2208 1211 841 987 1060 265 325 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 473 2060 1020 1686 750 814 1496 1573 1222 884 878 2288 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 2317 13 1182 1660 279 1512 984 1536 227 112 461 962 1031 1822 1055 2227 272 1659 1261 783 716 796 1820 1872 416 638 822 419 2377 687 943 1798 2366 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 955 1126 1534 2153 183 2231 1601 1606 1435 41 1632 2247 1550 2079 77 1962 1826 1150 367 1338 218 691 2326 2138 956 592 612 1968 274 2289 1235 1699 2080 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 2153 183 2231 210 2008 1122 41 1632 2247 343 1390 534 1962 1826 1150 2113 19 1328 2108 1771 1932 414 2078 895 316 313 1314 1030 647 232 923 904 2159 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 1601 1606 1435 41 1632 2247 2269 1721 2031 368 237 876 384 1602 742 1589 1575 26 691 2326 2138 558 1230 69 358 2184 1915 17 1050 1365 2403 1950 1371 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 41 1632 2247 343 1390 534 368 237 876 693 1029 74 1589 1575 26 951 1033 350 414 2078 895 2077 701 2169 419 2377 687 1186 1403 1621 277 1215 173 1604 2033 1485 756 1970 2036 2322 317 1619 206 836 567 787 1069 192 2296 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1013 417 659 1617 1154 459 1823 891 16 734 1113 2442 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1785 1657 807 1516 2261 1375 1660 279 1512 2358 23 1111 197 2339 1802 875 588 398 676 2003 327 425 465 1196 1394 1584 58 733 1259 509 1811 1074 1546 1970 2036 2322 317 1075 2149 180 1018 787 1069 192 2296 1002 546 1974 376 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1617 1154 459 1237 1779 357 111 1697 1267 1442 2172 1998 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1516 2261 1375 920 314 208 2358 23 1111 1332 2001 1357 875 588 398 2167 1991 2171 1221 2323 2025 1903 1226 118 472 1945 1649 1914 1597 1640 107 1367 2329 1619 206 836 567 787 1069 192 2296 987 1060 265 325 1107 2252 671 942 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1686 750 814 1889 1888 512 734 1113 2442 1426 2098 2061 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 1660 279 1512 2358 23 1111 112 461 962 2292 2298 1665 2227 272 1659 1917 2163 471 425 465 1196 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 787 1069 192 2296 1002 546 1974 376 1107 2252 671 942 741 89 1683 1590 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1889 1888 512 2119 662 1325 1442 2172 1998 2376 568 123 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 2358 23 1111 1332 2001 1357 2292 2298 1665 572 1733 1493 1917 2163 471 2158 1909 559 1903 1226 118 157 1832 2096 761 2473 2086 664 1490 1734 160 1614 293 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 210 2008 1122 2056 73 1736 343 1390 534 524 1344 55 2113 19 1328 1306 1133 433 1474 235 2453 2302 1750 92 733 1259 509 1317 1361 46 1855 2316 420 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2056 73 1736 844 1184 48 524 1344 55 2082 1127 983 1306 1133 433 1298 1883 1312 2204 2397 764 601 263 2369 1914 1597 1640 1676 1251 1885 1662 858 1421 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 343 1390 534 524 1344 55 693 1029 74 674 596 779 951 1033 350 38 2421 110 2302 1750 92 492 1620 2303 838 586 2131 2151 125 1718 446 1881 2273 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 524 1344 55 2082 1127 983 674 596 779 784 2109 1071 38 2421 110 331 2333 1948 601 263 2369 1105 1396 324 664 1490 1734 2143 997 95 1 306 1311 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 345 2053 587 63 2246 1800 2029 521 714 864 2112 2313 2286 729 2225 1505 710 241 681 1463 1206 253 2427 1158 1499 2123 1391 1599 922 1967 1402 859 2458 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 63 2246 1800 2240 2354 1419 864 2112 2313 1436 49 365 1505 710 241 1443 1378 1618 359 1480 176 2069 1080 458 1220 1507 1936 1792 216 1336 135 760 1810 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 2029 521 714 864 2112 2313 381 2166 449 1146 474 2474 51 505 1624 609 969 1627 253 2427 1158 2472 1340 1423 1432 1360 823 975 220 1148 2437 877 650 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 864 2112 2313 1436 49 365 1146 474 2474 1076 718 1170 609 969 1627 1232 1008 1327 2069 1080 458 800 2242 36 1795 809 2439 342 880 269 1155 1571 2419 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1979 1983 1652 222 2219 413 2070 1541 1572 1278 2165 2334 762 2343 1689 1503 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 583 1273 1560 452 2424 2423 1342 81 440 393 475 2301 1635 1433 801 20 2362 1804 177 1796 1645 2464 785 633 2111 1151 153 244 2004 246 831 726 873 1225 1192 665 1599 922 1967 1533 1486 328 672 698 1489 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 2219 413 2070 1541 1064 516 2422 1470 762 2343 1689 1503 563 67 2290 2100 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 452 2424 2423 2089 2365 1740 2099 1669 1824 1422 2248 2311 20 2362 1804 1623 196 1450 2464 785 633 2114 1987 481 244 2004 246 1021 1263 1786 2475 1720 62 348 2381 1905 1792 216 1336 2211 2027 777 2002 792 403 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 1572 1278 2165 2334 762 2343 1689 1503 1856 816 1455 1119 71 2237 1478 1427 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 434 840 78 755 2201 804 393 475 2301 2106 1320 953 177 1796 1645 2464 785 633 27 255 1906 1160 1296 1999 928 79 812 407 2351 2319 1225 1192 665 515 1634 1523 975 220 1148 758 2174 2387 686 853 1742 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 762 2343 1689 1503 563 67 2290 2100 71 2237 1478 1427 2446 1277 1498 2392 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 755 2201 804 2244 322 2434 1422 2248 2311 2156 1048 680 2464 785 633 2114 1987 481 1160 1296 1999 66 117 1166 407 2351 2319 1358 1411 1976 348 2381 1905 383 1504 1958 342 880 269 2337 1079 1681 1065 828 907 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2240 2354 1419 1871 1712 2224 1436 49 365 1492 2318 1862 1443 1378 1618 1951 950 1257 490 488 1852 2470 1631 577 1586 132 2073 2038 1844 1078 675 657 4 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1871 1712 2224 2260 1553 1653 1492 2318 1862 745 428 720 1951 950 1257 1362 1388 1532 1866 2230 326 1555 1729 959 1860 1247 632 717 2238 1710 1752 495 260 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 1436 49 365 1492 2318 1862 1076 718 1170 1952 2207 1135 1232 1008 1327 722 1349 2134 2470 1631 577 1219 1704 1137 1335 669 1650 2168 2226 646 550 2284 1138 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 1492 2318 1862 745 428 720 1952 2207 1135 10 2039 1118 722 1349 2134 2404 834 1036 1555 1729 959 301 1180 556 1473 952 256 2356 2136 1993 766 1827 1258 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 1064 516 2422 1470 1288 1188 379 1587 563 67 2290 2100 2117 1431 1240 1229 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2089 2365 1740 1887 21 1609 267 1172 2408 1417 221 1404 1623 196 1450 1139 1153 1515 2114 1987 481 656 1688 2092 1021 1263 1786 2064 1762 1252 268 2222 142 2315 2462 1838 2038 1844 1078 1769 181 769 1596 2399 82 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 1288 1188 379 1587 1716 2321 65 649 2117 1431 1240 1229 1176 948 819 1341 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1887 21 1609 1248 1254 138 2035 643 1382 1307 175 678 1139 1153 1515 1819 711 617 656 1688 2092 1040 1149 2122 2064 1762 1252 451 2450 1559 2471 2188 102 2198 2349 136 717 2238 1710 1501 2429 1784 91 531 1253 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 563 67 2290 2100 2117 1431 1240 1229 2446 1277 1498 2392 1615 1446 2105 258 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 2244 322 2434 106 868 746 1417 221 1404 998 2276 2182 2114 1987 481 656 1688 2092 66 117 1166 1034 799 685 1358 1411 1976 958 964 1791 2315 2462 1838 1022 1152 2030 2168 2226 646 912 172 658 2014 2005 1058 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 2117 1431 1240 1229 1176 948 819 1341 1615 1446 2105 258 2391 1708 1250 652 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 106 868 746 2133 1088 981 1307 175 678 262 778 275 656 1688 2092 1040 1149 2122 1034 799 685 1557 1207 1725 958 964 1791 1370 663 31 2198 2349 136 2251 1628 2234 2356 2136 1993 2068 466 661 1185 1918 2278 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 381 2166 449 1146 474 2474 2228 415 2364 1377 2116 1514 1464 2291 619 1867 163 9 2472 1340 1423 292 541 830 1968 274 2289 1003 2271 439 739 2091 146 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1146 474 2474 1076 718 1170 1377 2116 1514 833 936 182 1867 163 9 1625 1830 2101 800 2242 36 1038 97 523 1030 647 232 2214 158 1926 881 282 502 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 2228 415 2364 1377 2116 1514 2368 1364 193 445 2405 2067 287 1955 1437 1301 538 978 292 541 830 409 1481 2145 17 1050 1365 2183 683 522 1809 115 1101 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 1377 2116 1514 833 936 182 445 2405 2067 530 1755 431 1301 538 978 963 1912 1780 1038 97 523 805 1006 626 1186 1403 1621 1692 1345 954 410 1233 189 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1856 816 1455 1119 71 2237 1478 1427 1077 297 1483 2042 709 631 455 1011 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 2307 195 2268 1310 229 215 2106 1320 953 821 1749 627 27 255 1906 1160 1296 1999 283 1070 2179 1142 2457 460 2045 429 1985 770 1973 1939 515 1634 1523 1876 1430 780 1003 2271 439 1853 2135 1043 1756 1046 1242 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 71 2237 1478 1427 2446 1277 1498 2392 709 631 455 1011 924 1380 2072 395 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1310 229 215 363 503 613 2156 1048 680 827 704 128 1160 1296 1999 66 117 1166 1142 2457 460 851 1110 224 770 1973 1939 1282 2137 1269 383 1504 1958 1744 866 290 2214 158 1926 1453 489 1978 706 30 2477 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 1077 297 1483 2042 709 631 455 1011 946 2084 234 1803 487 1636 551 288 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 1633 145 1177 430 591 212 821 1749 627 979 2000 1276 283 1070 2179 1142 2457 460 731 1099 266 989 961 767 865 1782 1839 493 754 114 1876 1430 780 1873 1757 2353 2183 683 522 1841 786 205 2210 1272 2075 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 709 631 455 1011 924 1380 2072 395 487 1636 551 288 852 482 1063 908 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 430 591 212 677 1923 1946 827 704 128 644 1209 837 1142 2457 460 851 1110 224 989 961 767 1920 1468 1583 493 754 114 2206 1171 2180 1744 866 290 2194 454 732 1692 1345 954 1956 1814 1765 1925 113 150 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 1076 718 1170 1952 2207 1135 833 936 182 1727 2461 1197 1625 1830 2101 346 1098 233 1219 1704 1137 1687 728 127 1317 1361 46 620 1385 507 2104 2264 725 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 1952 2207 1135 10 2039 1118 1727 2461 1197 913 2412 1407 346 1098 233 480 104 1943 301 1180 556 1193 2152 2187 1676 1251 1885 40 887 2411 307 1025 540 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 833 936 182 1727 2461 1197 530 1755 431 397 605 1414 963 1912 1780 0 1281 1346 1687 728 127 299 1777 526 2151 125 1718 394 174 385 2415 1611 910 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 1727 2461 1197 913 2412 1407 397 605 1414 748 933 1109 0 1281 1346 616 1415 2139 1193 2152 2187 1145 1175 1600 2143 997 95 1517 856 2435 1975 491 2044 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 2446 1277 1498 2392 1615 1446 2105 258 924 1380 2072 395 2052 250 60 1445 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 363 503 613 479 894 337 998 2276 2182 2160 1643 2259 66 117 1166 1034 799 685 851 1110 224 1157 1783 1106 1282 2137 1269 564 993 1670 1022 1152 2030 201 845 1116 620 1385 507 1173 1165 1352 2088 159 2406 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1615 1446 2105 258 2391 1708 1250 652 2052 250 60 1445 1693 32 2299 707 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 479 894 337 2019 1239 921 262 778 275 1199 354 595 1034 799 685 1557 1207 1725 1157 1783 1106 1842 54 1732 564 993 1670 1037 170 2232 2251 1628 2234 1330 1569 957 40 887 2411 1356 885 1789 1005 727 1114 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 924 1380 2072 395 2052 250 60 1445 852 482 1063 908 934 2212 1087 356 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 677 1923 1946 511 990 1790 2160 1643 2259 992 640 2282 851 1110 224 1157 1783 1106 1920 1468 1583 1655 557 611 2206 1171 2180 1907 2011 1797 201 845 1116 1452 1315 2350 394 174 385 1181 528 1051 965 64 2126 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 2052 250 60 1445 1693 32 2299 707 934 2212 1087 356 355 1538 2443 1283 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 511 990 1790 1722 855 2275 1199 354 595 1977 2173 147 1157 1783 1106 1842 54 1732 1655 557 611 1053 708 1593 1907 2011 1797 1816 230 1359 1330 1569 957 1691 1245 971 1517 856 2435 1129 1369 2256 166 1663 468 214 0 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1331 914 743 543 94 843 549 169 2233 1684 1805 139 2196 615 1959 2037 1865 2058 773 1067 542 2236 1568 1900 442 578 1459 168 1086 1608 2185 771 985 738 1082 374 759 1711 574 1875 389 70 361 1124 437 1558 2085 735 373 1639 1016 261 85 1700 943 1798 2366 1235 1699 2080 923 904 2159 2403 1950 1371 277 1215 173 1811 1074 1546 107 1367 2329 695 1982 1713 160 1614 293 1855 2316 420 1662 858 1421 446 1881 2273 1 306 1311 1402 859 2458 135 760 1810 2437 877 650 1155 1571 2419 672 698 1489 2002 792 403 686 853 1742 1065 828 907 675 657 4 1752 495 260 550 2284 1138 766 1827 1258 1596 2399 82 91 531 1253 2014 2005 1058 1185 1918 2278 739 2091 146 881 282 502 1809 115 1101 410 1233 189 1756 1046 1242 706 30 2477 2210 1272 2075 1925 113 150 2104 2264 725 307 1025 540 2415 1611 910 1975 491 2044 2088 159 2406 1005 727 1114 965 64 2126 166 1663 468 64 0 0 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 64 0 0 1 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 0 0 0 12 1 0 3 0 0 1584 0 1 2132 1491 339 2205 291 721 191 4294967295 0 499 973 2459 4294967295 0 1319 1227 871 4294967295 0 330 1664 1760 4294967295 1 86 347 1134 424 1990 2346 1666 4294967295 0 2400 154 889 4294967295 0 1141 245 1395 4294967295 0 2388 1125 1793 4294967295 1 18 2266 2093 1291 1719 2410 1039 4294967295 0 2249 1103 1570 4294967295 0 345 2053 587 4294967295 0 1635 1433 801 4294967295 0 1831 321 372 4294967295 0 53 1817 1130 4294967295 0 1237 1779 357 4294967295 0 2119 662 1325 4294967295 0 120 598 1023 4294967295 0 863 1551 1531 4294967295 0 2260 1553 1653 4294967295 0 1819 711 617 4294967295 0 1376 438 1989 4294967295 0 884 878 2288 4294967295 0 1426 2098 2061 4294967295 0 2376 568 123 4294967295 0 1552 164 2294 4294967295 0 2269 1721 2031 4294967295 0 2368 1364 193 4294967295 0 731 1099 266 4294967295 0 572 1733 1493 4294967295 0 784 2109 1071 4294967295 0 748 933 1109 4294967295 0 1053 708 1593 4294967295 0 1342 81 440 4294967295 0 2099 1669 1824 4294967295 0 267 1172 2408 4294967295 0 2035 643 1382 4294967295 0 583 1273 1560 4294967295 0 434 840 78 4294967295 0 2307 195 2268 4294967295 0 1633 145 1177 4294967295 0 1248 1254 138 4294967295 0 2133 1088 981 4294967295 0 2019 1239 921 4294967295 0 1722 855 2275 4294967295 0 979 2000 1276 4294967295 0 644 1209 837 4294967295 0 992 640 2282 4294967295 0 1977 2173 147 4294967295 0 35 1868 2374 4294967295 0 1318 1462 525 4294967295 0 1933 2460 2181 4294967295 0 15 2414 2452 4294967295 0 1763 673 2476 4294967295 0 1095 59 1458 4294967295 0 2240 2354 1419 4294967295 0 1623 196 1450 4294967295 0 1739 2129 1354 4294967295 0 736 400 1216 4294967295 0 1013 417 659 4294967295 0 1686 750 814 4294967295 0 239 1479 2293 4294967295 0 1309 2332 486 4294967295 0 1823 891 16 4294967295 0 111 1697 1267 4294967295 0 2393 1899 730 4294967295 0 955 1126 1534 4294967295 0 381 2166 449 4294967295 0 27 255 1906 4294967295 0 1073 228 2314 4294967295 0 839 1548 569 4294967295 0 1143 352 1526 4294967295 0 629 1622 900 4294967295 0 920 314 208 4294967295 0 844 1184 48 4294967295 0 10 2039 1118 4294967295 0 1557 1207 1725 4294967295 0 648 1189 2456 4294967295 0 5 84 248 4294967295 0 1898 1566 905 4294967295 0 494 1879 1268 4294967295 0 2022 50 1519 4294967295 0 847 1527 938 4294967295 0 1629 1528 1334 4294967295 0 1204 1518 2258 4294967295 0 112 461 962 4294967295 0 693 1029 74 4294967295 0 530 1755 431 4294967295 0 1920 1468 1583 4294967295 0 2089 2365 1740 4294967295 0 2244 322 2434 4294967295 0 363 503 613 4294967295 0 677 1923 1946 4294967295 0 2106 1320 953 4294967295 0 2156 1048 680 4294967295 0 998 2276 2182 4294967295 0 262 778 275 4294967295 0 1076 718 1170 4294967295 0 66 117 1166 4294967295 0 1785 1657 807 4294967295 0 210 2008 1122 4294967295 0 75 2467 270 4294967295 0 1960 1581 1563 4294967295 0 1537 788 1476 4294967295 0 1379 423 1845 4294967295 0 1799 1205 2095 4294967295 0 581 2148 712 4294967295 0 2087 2267 2193 4294967295 0 289 1482 57 4294967295 0 909 527 1041 1 2431 22 1089 2436 2017 225 529 4294967295 0 2241 818 2382 4294967295 0 300 795 2340 1 988 371 996 1919 1384 1966 537 4294967295 0 412 925 432 4294967295 0 2367 333 2170 4294967295 0 1812 207 29 4294967295 0 63 2246 1800 4294967295 0 20 2362 1804 4294967295 0 829 1161 2223 4294967295 0 2140 1015 2445 4294967295 0 178 893 2386 4294967295 0 1992 464 2013 4294967295 0 134 2262 1954 4294967295 0 772 1913 1495 4294967295 0 1871 1712 2224 4294967295 0 1139 1153 1515 4294967295 0 2253 1864 1198 1 994 7 1743 2280 1543 1668 791 4294967295 0 2218 2448 2308 4294967295 0 194 1901 1000 1 968 119 815 101 1766 1256 329 4294967295 0 1861 1169 243 4294967295 0 1488 1836 377 4294967295 0 1930 198 366 4294967295 0 1191 902 1195 4294967295 0 2026 1323 1746 4294967295 0 204 2191 47 4294967295 0 473 2060 1020 4294967295 0 278 1758 723 4294967295 0 1496 1573 1222 4294967295 0 1617 1154 459 4294967295 0 1889 1888 512 4294967295 0 734 1113 2442 4294967295 0 1442 2172 1998 4294967295 0 203 2389 214 1 1545 2355 1409 310 518 1487 341 4294967295 0 259 1392 1475 4294967295 0 1540 362 1387 1 919 1942 1808 1400 1988 271 2107 4294967295 0 802 929 1949 4294967295 0 276 1778 850 4294967295 0 1601 1606 1435 4294967295 0 888 960 2438 4294967295 0 775 1886 335 4294967295 0 2029 521 714 4294967295 0 177 1796 1645 4294967295 0 1429 470 2300 4294967295 0 774 2190 2217 4294967295 0 2228 415 2364 4294967295 0 283 1070 2179 4294967295 0 1218 1578 2398 4294967295 0 133 2430 2071 4294967295 0 1544 2361 1851 4294967295 0 98 448 824 4294967295 0 1393 1019 1162 4294967295 0 211 670 1745 4294967295 0 1332 2001 1357 4294967295 0 2082 1127 983 4294967295 0 1902 1833 2257 4294967295 0 697 1461 2186 4294967295 0 745 428 720 4294967295 0 1040 1149 2122 4294967295 0 1213 1398 870 4294967295 0 982 87 2065 4294967295 0 913 2412 1407 4294967295 0 1842 54 1732 4294967295 0 690 2270 560 4294967295 0 2012 2420 1897 4294967295 0 1156 28 2454 4294967295 0 1938 1858 1494 4294967295 0 984 1536 227 4294967295 0 368 237 876 4294967295 0 1648 1794 2432 4294967295 0 286 1262 1701 4294967295 0 445 2405 2067 4294967295 0 989 961 767 4294967295 0 2010 1104 820 4294967295 0 1012 2328 539 4294967295 0 2292 2298 1665 4294967295 0 674 596 779 4294967295 0 2090 1539 2304 4294967295 0 462 782 2147 4294967295 0 397 605 1414 4294967295 0 1655 557 611 4294967295 0 452 2424 2423 4294967295 0 755 2201 804 4294967295 0 393 475 2301 4294967295 0 1422 2248 2311 4294967295 0 1887 21 1609 4294967295 0 106 868 746 4294967295 0 1417 221 1404 4294967295 0 1307 175 678 4294967295 0 1310 229 215 4294967295 0 430 591 212 4294967295 0 821 1749 627 4294967295 0 827 704 128 4294967295 0 479 894 337 4294967295 0 511 990 1790 4294967295 0 2160 1643 2259 4294967295 0 1199 354 595 4294967295 0 1190 1208 897 4294967295 0 1971 121 1585 4294967295 0 2018 1709 1265 4294967295 0 1500 2178 2229 4294967295 0 874 1284 108 4294967295 0 1728 2341 931 4294967295 0 1465 144 744 4294967295 0 501 76 1412 4294967295 0 2265 2347 2331 4294967295 0 3 2357 2335 4294967295 0 1564 148 1353 4294967295 0 2449 585 405 4294967295 0 906 826 185 4294967295 0 1174 388 2083 4294967295 0 1052 917 427 4294967295 0 93 2146 1123 4294967295 0 2028 404 692 4294967295 0 623 1072 179 4294967295 0 1952 2207 1135 4294967295 0 1034 799 685 4294967295 0 510 911 1424 4294967295 0 1061 1723 1027 4294967295 0 1516 2261 1375 4294967295 0 2056 73 1736 4294967295 0 2371 2177 303 4294967295 0 2199 1438 1102 4294967295 0 1146 474 2474 4294967295 0 1160 1296 1999 4294967295 0 2338 418 450 4294967295 0 1179 1081 1056 4294967295 0 579 304 825 4294967295 0 2153 183 2231 4294967295 0 833 936 182 4294967295 0 851 1110 224 4294967295 0 1425 349 737 4294967295 0 2297 344 832 4294967295 0 1436 49 365 4294967295 0 2114 1987 481 4294967295 0 1972 360 1057 4294967295 0 1829 927 296 4294967295 0 1660 279 1512 4294967295 0 343 1390 534 4294967295 0 1300 1322 1521 4294967295 0 137 1931 1764 4294967295 0 1441 1100 162 4294967295 0 2426 1017 1405 4294967295 0 1350 2200 281 4294967295 0 2021 2451 1554 4294967295 0 1157 1783 1106 4294967295 0 1727 2461 1197 4294967295 0 1044 918 1522 4294967295 0 944 980 1294 4294967295 0 2049 1386 699 4294967295 0 2345 1260 2115 4294967295 0 1142 2457 460 4294967295 0 1377 2116 1514 4294967295 0 1408 533 1986 4294967295 0 937 2383 151 4294967295 0 1094 2324 2118 4294967295 0 1835 2209 2020 4294967295 0 656 1688 2092 4294967295 0 1492 2318 1862 4294967295 0 1097 517 1381 4294967295 0 719 456 1324 4294967295 0 1413 2235 2287 4294967295 0 2444 1674 1815 4294967295 0 2464 785 633 4294967295 0 864 2112 2313 4294967295 0 1295 2203 392 4294967295 0 33 1302 1183 4294967295 0 2359 2306 463 4294967295 0 1961 1410 1024 4294967295 0 524 1344 55 4294967295 0 2358 23 1111 4294967295 0 309 504 2370 4294967295 0 666 1869 257 4294967295 0 1724 1238 1641 4294967295 0 614 1562 1580 4294967295 0 41 1632 2247 4294967295 0 2317 13 1182 4294967295 0 604 571 1582 4294967295 0 1241 52 2394 4294967295 0 940 391 1927 4294967295 0 967 254 1255 4294967295 0 1280 1849 562 4294967295 0 808 320 1440 4294967295 0 667 1672 1049 4294967295 0 682 1850 319 4294967295 0 315 986 408 4294967295 0 2378 152 654 4294967295 0 2074 753 1775 4294967295 0 941 369 1451 1 1591 447 1120 1418 1510 1363 1290 4294967295 0 2046 43 1303 4294967295 0 636 1882 2348 1 637 1068 1305 817 846 848 879 4294967295 0 1705 974 1009 4294967295 0 375 1759 223 1 1941 2034 1285 1383 607 2063 1863 4294967295 366 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 9 14 19 24 33 38 43 48 57 62 67 72 77 82 87 92 97 102 107 112 117 122 127 132 137 142 147 152 157 162 167 172 177 182 187 192 197 202 207 212 217 222 227 232 237 242 247 252 257 262 267 272 277 282 287 292 297 302 307 312 317 322 327 332 337 342 347 352 357 362 367 372 377 382 387 392 397 402 407 412 417 422 427 432 437 442 447 452 457 462 467 472 477 482 487 492 497 502 507 512 517 522 527 532 537 542 547 552 565 570 583 588 593 598 603 608 613 618 623 628 633 638 643 648 661 666 679 684 689 694 699 704 709 714 719 724 729 734 739 744 757 762 775 780 785 790 795 800 805 810 815 820 825 830 835 840 845 850 855 860 865 870 875 880 885 890 895 900 905 910 915 920 925 930 935 940 945 950 955 960 965 970 975 980 985 990 995 1000 1005 1010 1015 1020 1025 1030 1035 1040 1045 1050 1055 1060 1065 1070 1075 1080 1085 1090 1095 1100 1105 1110 1115 1120 1125 1130 1135 1140 1145 1150 1155 1160 1165 1170 1175 1180 1185 1190 1195 1200 1205 1210 1215 1220 1225 1230 1235 1240 1245 1250 1255 1260 1265 1270 1275 1280 1285 1290 1295 1300 1305 1310 1315 1320 1325 1330 1335 1340 1345 1350 1355 1360 1365 1370 1375 1380 1385 1390 1395 1400 1405 1410 1415 1420 1425 1430 1435 1440 1445 1450 1455 1460 1465 1470 1475 1480 1485 1490 1495 1500 1505 1510 1515 1520 1525 1530 1535 1548 1553 1566 1571 0 0 1272 0 1 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 4294967295 0 401 651 1896 1 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 4294967295 1 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 4294967295 0 1096 653 396 1 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 4294967295 1 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 4294967295 0 435 642 11 1 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 4294967295 0 1944 1456 932 4294967295 0 1093 1007 1299 4294967295 0 1279 886 1004 4294967295 0 2128 947 655 4294967295 0 1654 2195 1339 4294967295 0 793 1236 1651 4294967295 0 660 1646 1616 4294967295 0 1767 2 899 4294967295 0 513 1937 1228 4294967295 0 576 1638 573 4294967295 0 1690 1045 302 4294967295 0 426 1773 842 4294967295 0 2125 700 1202 4294967295 0 798 1066 857 4294967295 0 861 68 1509 4294967295 0 1963 2007 1877 4294967295 0 2336 188 1707 4294967295 0 2250 2041 2417 4294967295 0 1499 2123 1391 4294967295 0 1682 1685 171 4294967295 0 703 312 2162 4294967295 0 149 457 2221 4294967295 0 1220 1507 1936 4294967295 0 1326 606 1613 4294967295 0 496 752 1834 4294967295 0 367 1338 218 4294967295 0 1432 1360 823 4294967295 0 1696 1337 1108 4294967295 0 2108 1771 1932 4294967295 0 1795 809 2439 4294967295 0 508 625 1588 4294967295 0 351 794 999 4294967295 0 2150 1366 566 4294967295 0 1275 1843 1246 4294967295 0 1565 100 1576 4294967295 0 1644 1084 1980 4294967295 0 2054 370 2385 4294967295 0 61 930 1203 4294967295 0 45 624 467 4294967295 0 2197 1715 1677 4294967295 0 2396 2342 1894 4294967295 0 676 2003 327 4294967295 0 483 2055 696 4294967295 0 305 1807 915 4294967295 0 582 1274 1168 4294967295 0 1221 2323 2025 4294967295 0 6 966 1333 4294967295 0 1010 1447 749 4294967295 0 1401 338 202 4294967295 0 806 1922 1857 4294967295 0 436 2059 2305 4294967295 0 1586 132 2073 4294967295 0 618 813 485 4294967295 0 1091 1469 901 4294967295 0 1768 2375 995 4294967295 0 1860 1247 632 4294967295 0 2142 2407 236 4294967295 0 1474 235 2453 4294967295 0 1335 669 1650 4294967295 0 1042 2425 1891 4294967295 0 2204 2397 764 4294967295 0 1473 952 256 4294967295 0 453 1702 498 4294967295 0 399 1751 2102 4294967295 0 2164 2192 1730 4294967295 0 2130 781 1854 4294967295 0 956 592 612 4294967295 0 197 2339 1802 4294967295 0 1261 783 716 4294967295 0 679 747 1837 4294967295 0 316 313 1314 4294967295 0 1201 1132 883 4294967295 0 1031 1822 1055 4294967295 0 890 1163 1374 4294967295 0 295 1738 1547 4294967295 0 358 2184 1915 4294967295 0 2227 272 1659 4294967295 0 796 1820 1872 4294967295 0 416 638 822 4294967295 0 419 2377 687 4294967295 0 1550 2079 77 4294967295 0 1962 1826 1150 4294967295 0 691 2326 2138 4294967295 0 1968 274 2289 4294967295 0 2113 19 1328 4294967295 0 414 2078 895 4294967295 0 1030 647 232 4294967295 0 384 1602 742 4294967295 0 1589 1575 26 4294967295 0 558 1230 69 4294967295 0 17 1050 1365 4294967295 0 951 1033 350 4294967295 0 2077 701 2169 4294967295 0 1186 1403 1621 4294967295 0 875 588 398 4294967295 0 425 465 1196 4294967295 0 1394 1584 58 4294967295 0 733 1259 509 4294967295 0 2167 1991 2171 4294967295 0 1903 1226 118 4294967295 0 472 1945 1649 4294967295 0 1914 1597 1640 4294967295 0 1917 2163 471 4294967295 0 90 1726 1117 4294967295 0 1678 2047 2009 4294967295 0 838 586 2131 4294967295 0 2158 1909 559 4294967295 0 157 1832 2096 4294967295 0 761 2473 2086 4294967295 0 664 1490 1734 4294967295 0 1306 1133 433 4294967295 0 2302 1750 92 4294967295 0 1317 1361 46 4294967295 0 1298 1883 1312 4294967295 0 601 263 2369 4294967295 0 1676 1251 1885 4294967295 0 38 2421 110 4294967295 0 492 1620 2303 4294967295 0 2151 125 1718 4294967295 0 331 2333 1948 4294967295 0 1105 1396 324 4294967295 0 2143 997 95 4294967295 0 2286 729 2225 4294967295 0 1505 710 241 4294967295 0 681 1463 1206 4294967295 0 253 2427 1158 4294967295 0 1599 922 1967 4294967295 0 1443 1378 1618 4294967295 0 359 1480 176 4294967295 0 2069 1080 458 4294967295 0 1792 216 1336 4294967295 0 51 505 1624 4294967295 0 609 969 1627 4294967295 0 2472 1340 1423 4294967295 0 975 220 1148 4294967295 0 1232 1008 1327 4294967295 0 800 2242 36 4294967295 0 342 880 269 4294967295 0 2111 1151 153 4294967295 0 244 2004 246 4294967295 0 831 726 873 4294967295 0 1225 1192 665 4294967295 0 1533 1486 328 4294967295 0 1021 1263 1786 4294967295 0 2475 1720 62 4294967295 0 348 2381 1905 4294967295 0 2211 2027 777 4294967295 0 928 79 812 4294967295 0 407 2351 2319 4294967295 0 515 1634 1523 4294967295 0 758 2174 2387 4294967295 0 1358 1411 1976 4294967295 0 383 1504 1958 4294967295 0 2337 1079 1681 4294967295 0 1951 950 1257 4294967295 0 490 488 1852 4294967295 0 2470 1631 577 4294967295 0 2038 1844 1078 4294967295 0 1362 1388 1532 4294967295 0 1866 2230 326 4294967295 0 1555 1729 959 4294967295 0 717 2238 1710 4294967295 0 722 1349 2134 4294967295 0 1219 1704 1137 4294967295 0 2168 2226 646 4294967295 0 2404 834 1036 4294967295 0 301 1180 556 4294967295 0 2356 2136 1993 4294967295 0 2064 1762 1252 4294967295 0 268 2222 142 4294967295 0 2315 2462 1838 4294967295 0 1769 181 769 4294967295 0 451 2450 1559 4294967295 0 2471 2188 102 4294967295 0 2198 2349 136 4294967295 0 1501 2429 1784 4294967295 0 958 964 1791 4294967295 0 1022 1152 2030 4294967295 0 912 172 658 4294967295 0 1370 663 31 4294967295 0 2251 1628 2234 4294967295 0 2068 466 661 4294967295 0 1464 2291 619 4294967295 0 1867 163 9 4294967295 0 292 541 830 4294967295 0 1003 2271 439 4294967295 0 1625 1830 2101 4294967295 0 1038 97 523 4294967295 0 2214 158 1926 4294967295 0 287 1955 1437 4294967295 0 1301 538 978 4294967295 0 409 1481 2145 4294967295 0 2183 683 522 4294967295 0 963 1912 1780 4294967295 0 805 1006 626 4294967295 0 1692 1345 954 4294967295 0 2045 429 1985 4294967295 0 770 1973 1939 4294967295 0 1876 1430 780 4294967295 0 1853 2135 1043 4294967295 0 1282 2137 1269 4294967295 0 1744 866 290 4294967295 0 1453 489 1978 4294967295 0 865 1782 1839 4294967295 0 493 754 114 4294967295 0 1873 1757 2353 4294967295 0 1841 786 205 4294967295 0 2206 1171 2180 4294967295 0 2194 454 732 4294967295 0 1956 1814 1765 4294967295 0 346 1098 233 4294967295 0 1687 728 127 4294967295 0 620 1385 507 4294967295 0 480 104 1943 4294967295 0 1193 2152 2187 4294967295 0 40 887 2411 4294967295 0 0 1281 1346 4294967295 0 299 1777 526 4294967295 0 394 174 385 4294967295 0 616 1415 2139 4294967295 0 1145 1175 1600 4294967295 0 1517 856 2435 4294967295 0 564 993 1670 4294967295 0 201 845 1116 4294967295 0 1173 1165 1352 4294967295 0 1037 170 2232 4294967295 0 1330 1569 957 4294967295 0 1356 885 1789 4294967295 0 1907 2011 1797 4294967295 0 1452 1315 2350 4294967295 0 1181 528 1051 4294967295 0 1816 230 1359 4294967295 0 1691 1245 971 4294967295 0 1129 1369 2256 4294967295 282 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 34 182 107 202 722 802 742 822 257 347 282 367 877 947 897 967 68 117 142 162 267 292 312 332 427 447 472 492 582 602 622 642 0 127 172 217 412 457 502 537 712 757 792 837 1012 1047 1082 1117 277 322 362 397 592 632 667 697 892 927 962 997 1167 1197 1227 1257 467 547 487 562 1057 1127 1072 1142 617 687 637 702 1187 1247 1202 1262 812 832 852 867 957 977 992 1007 1097 1112 1132 1147 1222 1237 1252 1267 662 677 692 707 517 532 552 567 357 377 392 407 192 212 232 247 917 987 932 1002 307 387 327 402 767 847 782 862 137 227 157 242 1032 1067 1102 1137 737 777 817 857 437 482 522 557 102 152 197 237 1207 1192 1177 1162 1232 1172 1217 1157 1242 1212 1182 1152 1077 1062 1042 1027 1107 1037 1092 1022 1122 1087 1052 1017 937 922 907 887 972 902 952 882 982 942 912 872 787 772 752 732 827 747 807 727 842 797 762 717 647 627 607 587 672 597 657 577 682 652 612 572 497 477 452 432 527 442 512 422 542 507 462 417 337 317 297 272 372 287 352 262 382 342 302 252 167 147 122 83 207 112 187 49 222 177 132 15 73 23 Policy::Sequential<3,3> DEAL::OK diff --git a/tests/serialization/hp_dof_handler_01.with_64bit_indices=on.output b/tests/serialization/hp_dof_handler_01.with_64bit_indices=on.output index f189f05a4d..e701718938 100644 --- a/tests/serialization/hp_dof_handler_01.with_64bit_indices=on.output +++ b/tests/serialization/hp_dof_handler_01.with_64bit_indices=on.output @@ -1,19 +1,19 @@ DEAL::0 0 23 0 1 5 11 18446744073709551615 0 10 0 18446744073709551615 0 12 15 18446744073709551615 0 2 9 1 2 9 18446744073709551615 0 3 8 18446744073709551615 5 0 0 4 8 12 19 0 0 16 16 0 0 0 0 1 0 0 0 0 16 0 1 16 0 1 0 16 0 0 1 0 1 0 0 16 0 1 16 0 0 0 0 0 3 0 0 10 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 10 -1 2 0 0 0 2 0 4294967295 4294967295 0 0 0 0 2 0 4294967295 4294967295 2 0 0 2 0 0 10 -2 4 0 1 65535 65535 65535 4 0 0 7 12 17 22 0 5 11 2 9 14 13 4 2 9 12 15 6 12 15 3 8 7 3 8 10 0 1 6 0 14 13 4 6 7 1 4 0 0 3 4 5 4 1 0 0 0 4 0 1 0 0 1 7 23 Policy::Sequential<1,1> +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 10 +1 2 0 0 0 2 0 4294967295 4294967295 0 0 0 0 2 0 4294967295 4294967295 2 0 65535 65535 10 +2 4 0 1 65535 65535 65535 4 0 0 7 12 17 22 0 5 11 2 9 14 13 4 2 9 12 15 6 12 15 3 8 7 3 8 10 0 1 6 0 14 13 4 6 7 1 4 0 0 3 4 5 4 0 0 1 65535 65535 1 7 23 Policy::Sequential<1,1> DEAL::0 0 137 0 1 104 43 197 18446744073709551615 0 118 165 185 18446744073709551615 0 128 123 37 18446744073709551615 0 150 177 8 18446744073709551615 0 81 147 178 18446744073709551615 0 39 76 72 18446744073709551615 0 141 79 98 18446744073709551615 0 157 56 38 18446744073709551615 0 182 77 159 18446744073709551615 0 201 49 209 1 201 49 209 18446744073709551615 0 68 35 17 18446744073709551615 0 14 130 161 1 14 130 161 18446744073709551615 0 80 208 164 18446744073709551615 0 176 5 122 18446744073709551615 0 74 190 21 18446744073709551615 0 54 169 28 18446744073709551615 0 25 186 132 18446744073709551615 0 93 92 61 18446744073709551615 0 126 139 198 18446744073709551615 0 18 11 95 18446744073709551615 0 193 13 9 18446744073709551615 0 78 155 53 1 78 155 53 18446744073709551615 0 60 31 112 18446744073709551615 0 173 175 45 18446744073709551615 0 59 96 166 18446744073709551615 25 0 0 5 10 15 20 25 30 35 40 45 54 59 68 73 78 83 88 93 98 103 108 113 122 127 132 0 0 210 210 0 0 0 0 1 0 0 0 0 210 0 1 210 0 1 0 210 0 0 1 0 1 0 0 210 0 1 210 0 0 0 0 0 3 0 0 10 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 10 -1 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 4 0 0 0 0 4 0 0 0 0 10 -2 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 41 63 85 107 129 151 173 195 217 239 261 283 305 327 349 371 0 104 43 197 201 49 209 14 130 161 78 155 53 88 86 2 69 12 15 183 82 162 7 181 33 1 89 107 135 19 137 134 16 36 191 24 119 41 101 192 153 138 201 49 209 81 147 178 78 155 53 93 92 61 146 91 94 22 144 171 110 73 51 151 14 130 161 78 155 53 39 76 72 18 11 95 125 205 184 3 199 174 117 108 58 102 78 155 53 93 92 61 18 11 95 182 77 159 184 3 196 194 110 73 200 63 20 100 81 147 178 68 35 17 93 92 61 60 31 112 94 22 67 204 6 121 195 10 30 180 68 35 17 118 165 185 60 31 112 176 5 122 67 204 179 70 136 97 66 84 103 207 93 92 61 60 31 112 182 77 159 193 13 9 196 194 27 140 195 10 129 71 172 170 60 31 112 176 5 122 193 13 9 141 79 98 27 140 23 168 66 84 116 26 131 44 39 76 72 18 11 95 80 208 164 173 175 45 55 65 163 64 117 108 152 149 85 142 18 11 95 182 77 159 173 175 45 126 139 198 163 64 46 187 200 63 143 120 156 83 80 208 164 173 175 45 128 123 37 54 169 28 87 160 99 4 152 149 29 203 32 111 173 175 45 126 139 198 54 169 28 157 56 38 99 4 158 115 143 120 145 48 105 154 182 77 159 193 13 9 126 139 198 59 96 166 46 187 189 206 129 71 124 40 109 133 193 13 9 141 79 98 59 96 166 74 190 21 189 206 62 47 116 26 202 34 114 75 126 139 198 59 96 166 157 56 38 25 186 132 158 115 167 106 124 40 148 0 188 57 59 96 166 74 190 21 25 186 132 150 177 8 167 106 127 50 202 34 90 113 52 42 39 0 36 191 24 119 41 101 192 153 138 51 151 58 102 20 100 30 180 103 207 172 170 131 44 85 142 156 83 32 111 105 154 109 133 114 75 188 57 52 42 16 0 0 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 16 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 10 +1 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 4 0 65535 65535 65535 65535 10 +2 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 41 63 85 107 129 151 173 195 217 239 261 283 305 327 349 371 0 104 43 197 201 49 209 14 130 161 78 155 53 88 86 2 69 12 15 183 82 162 7 181 33 1 89 107 135 19 137 134 16 36 191 24 119 41 101 192 153 138 201 49 209 81 147 178 78 155 53 93 92 61 146 91 94 22 144 171 110 73 51 151 14 130 161 78 155 53 39 76 72 18 11 95 125 205 184 3 199 174 117 108 58 102 78 155 53 93 92 61 18 11 95 182 77 159 184 3 196 194 110 73 200 63 20 100 81 147 178 68 35 17 93 92 61 60 31 112 94 22 67 204 6 121 195 10 30 180 68 35 17 118 165 185 60 31 112 176 5 122 67 204 179 70 136 97 66 84 103 207 93 92 61 60 31 112 182 77 159 193 13 9 196 194 27 140 195 10 129 71 172 170 60 31 112 176 5 122 193 13 9 141 79 98 27 140 23 168 66 84 116 26 131 44 39 76 72 18 11 95 80 208 164 173 175 45 55 65 163 64 117 108 152 149 85 142 18 11 95 182 77 159 173 175 45 126 139 198 163 64 46 187 200 63 143 120 156 83 80 208 164 173 175 45 128 123 37 54 169 28 87 160 99 4 152 149 29 203 32 111 173 175 45 126 139 198 54 169 28 157 56 38 99 4 158 115 143 120 145 48 105 154 182 77 159 193 13 9 126 139 198 59 96 166 46 187 189 206 129 71 124 40 109 133 193 13 9 141 79 98 59 96 166 74 190 21 189 206 62 47 116 26 202 34 114 75 126 139 198 59 96 166 157 56 38 25 186 132 158 115 167 106 124 40 148 0 188 57 59 96 166 74 190 21 25 186 132 150 177 8 167 106 127 50 202 34 90 113 52 42 39 0 36 191 24 119 41 101 192 153 138 51 151 58 102 20 100 30 180 103 207 172 170 131 44 85 142 156 83 32 111 105 154 109 133 114 75 188 57 52 42 16 0 0 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 16 0 0 1 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 0 0 0 13 1 0 3 0 0 178 0 1 88 86 2 69 12 18446744073709551615 0 146 91 1 15 183 82 162 7 18446744073709551615 1 181 33 1 89 107 18446744073709551615 0 199 174 1 135 19 137 134 16 18446744073709551615 0 94 22 18446744073709551615 0 144 171 18446744073709551615 0 110 73 18446744073709551615 0 125 205 18446744073709551615 0 184 3 18446744073709551615 0 117 108 18446744073709551615 0 196 194 18446744073709551615 0 200 63 18446744073709551615 0 67 204 18446744073709551615 0 6 121 18446744073709551615 0 195 10 18446744073709551615 0 179 70 18446744073709551615 0 136 97 18446744073709551615 0 66 84 18446744073709551615 0 27 140 18446744073709551615 0 129 71 18446744073709551615 0 23 168 18446744073709551615 0 116 26 18446744073709551615 0 55 65 18446744073709551615 0 163 64 18446744073709551615 0 152 149 18446744073709551615 0 46 187 18446744073709551615 0 143 120 18446744073709551615 0 87 160 18446744073709551615 0 99 4 18446744073709551615 0 29 203 18446744073709551615 0 158 115 18446744073709551615 0 145 48 18446744073709551615 0 189 206 18446744073709551615 0 124 40 18446744073709551615 0 62 47 18446744073709551615 0 202 34 18446744073709551615 0 167 106 18446744073709551615 0 148 0 18446744073709551615 0 127 50 18446744073709551615 0 90 113 18446744073709551615 56 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 17 38 70 82 0 46 106 126 78 98 154 170 134 142 166 174 34 58 118 138 54 62 94 102 7 50 24 42 66 90 74 86 110 130 114 122 146 162 150 158 21 23 Policy::Sequential<2,2> DEAL::0 0 785 0 1 1217 903 1574 88 18446744073709551615 0 1892 610 1929 1981 18446744073709551615 0 635 2463 1457 2441 18446744073709551615 0 741 89 1683 1590 18446744073709551615 0 1979 1983 1652 222 18446744073709551615 0 1716 2321 65 649 18446744073709551615 0 946 2084 234 1803 18446744073709551615 0 355 1538 2443 1283 18446744073709551615 0 167 668 916 1477 18446744073709551615 0 1484 1292 2015 143 18446744073709551615 0 892 1893 336 311 18446744073709551615 0 1075 2149 180 1018 18446744073709551615 0 1859 2320 1047 1054 18446744073709551615 0 987 1060 265 325 18446744073709551615 0 2220 83 2281 622 18446744073709551615 0 1556 645 1874 544 18446744073709551615 0 1064 516 2422 1470 18446744073709551615 0 1856 816 1455 1119 18446744073709551615 0 2391 1708 1250 652 18446744073709551615 0 852 482 1063 908 18446744073709551615 0 2062 1717 789 705 18446744073709551615 0 1604 2033 1485 756 18446744073709551615 0 1658 1270 2428 249 18446744073709551615 0 1957 939 2144 12 18446744073709551615 0 1399 1840 1848 72 18446744073709551615 0 2446 1277 1498 2392 18446744073709551615 0 1224 2363 155 1731 18446744073709551615 0 1347 247 1466 584 1 1347 247 1466 584 18446744073709551615 0 2032 608 970 1448 18446744073709551615 0 1231 1821 599 565 1 1231 1821 599 565 18446744073709551615 0 1995 2094 1673 2161 18446744073709551615 0 1671 200 1594 1996 1 1671 200 1594 1996 18446744073709551615 0 1144 1032 1449 226 18446744073709551615 0 1460 2447 972 1293 18446744073709551615 0 1002 546 1974 376 18446744073709551615 0 1934 2330 1085 2155 18446744073709551615 0 1788 1244 506 768 18446744073709551615 0 2283 2208 1211 841 18446744073709551615 0 1107 2252 671 942 18446744073709551615 0 1781 1542 105 862 18446744073709551615 0 1214 411 1289 2202 18446744073709551615 0 1969 1502 141 2466 18446744073709551615 0 2384 1164 803 575 18446744073709551615 0 2219 413 2070 1541 18446744073709551615 0 1288 1188 379 1587 18446744073709551615 0 1572 1278 2165 2334 18446744073709551615 0 1077 297 1483 2042 18446744073709551615 0 1176 948 819 1341 18446744073709551615 0 1693 32 2299 707 18446744073709551615 0 487 1636 551 288 18446744073709551615 0 934 2212 1087 356 18446744073709551615 0 628 2263 2352 1420 18446744073709551615 0 422 600 353 2043 18446744073709551615 0 1603 552 161 2076 18446744073709551615 0 1131 1355 639 8 18446744073709551615 0 1592 2433 1598 896 18446744073709551615 0 1619 206 836 567 18446744073709551615 0 2309 589 1090 757 18446744073709551615 0 1970 2036 2322 317 18446744073709551615 0 1210 2274 2455 597 18446744073709551615 0 1953 554 478 1921 18446744073709551615 0 2243 443 1389 1472 18446744073709551615 0 209 1373 1467 1561 18446744073709551615 0 184 308 1243 1813 18446744073709551615 0 406 1754 1513 364 18446744073709551615 0 103 1935 1194 1661 18446744073709551615 0 689 630 1530 1529 18446744073709551615 0 1747 2402 621 1159 18446744073709551615 0 688 213 790 2395 18446744073709551615 0 2390 96 323 242 18446744073709551615 0 1698 1471 2040 1549 18446744073709551615 0 563 67 2290 2100 18446744073709551615 0 924 1380 2072 395 18446744073709551615 0 71 2237 1478 1427 18446744073709551615 0 1615 1446 2105 258 18446744073709551615 0 332 1703 1524 1234 18446744073709551615 0 1026 2176 1776 251 18446744073709551615 0 1847 484 2215 1520 18446744073709551615 0 238 44 334 421 18446744073709551615 0 1870 14 926 1014 18446744073709551615 0 130 765 1115 2272 18446744073709551615 0 1924 2360 869 24 1 1924 2360 869 24 18446744073709551615 0 580 39 2254 1846 18446744073709551615 0 386 231 1428 2310 18446744073709551615 0 514 1316 535 1535 18446744073709551615 0 1908 476 1028 1579 1 1908 476 1028 1579 18446744073709551615 0 2081 2379 602 444 18446744073709551615 0 2277 1508 520 1890 18446744073709551615 0 787 1069 192 2296 18446744073709551615 0 2121 1911 1825 390 1 2121 1911 1825 390 18446744073709551615 0 1304 2295 1348 116 18446744073709551615 0 129 2418 1612 2157 18446744073709551615 0 199 1062 1136 519 18446744073709551615 0 264 898 1372 2050 18446744073709551615 0 1454 867 80 469 18446744073709551615 0 1947 2469 810 42 18446744073709551615 0 1264 594 1287 186 18446744073709551615 0 294 2189 1128 1884 18446744073709551615 0 2239 2024 1637 949 18446744073709551615 0 2325 1695 593 561 18446744073709551615 0 1818 684 99 1147 18446744073709551615 0 762 2343 1689 1503 18446744073709551615 0 2117 1431 1240 1229 18446744073709551615 0 709 631 455 1011 18446744073709551615 0 2052 250 60 1445 18446744073709551615 0 1271 553 1984 2057 18446744073709551615 0 1610 2409 280 1506 18446744073709551615 0 2440 37 2312 2372 18446744073709551615 0 991 854 872 694 18446744073709551615 0 1772 318 477 2006 18446744073709551615 0 1626 1964 2344 935 18446744073709551615 0 977 1434 378 2048 18446744073709551615 0 25 131 1308 1806 18446744073709551615 0 1444 603 2051 1313 18446744073709551615 0 380 34 1351 1656 18446744073709551615 0 273 2016 1916 1880 18446744073709551615 0 402 1714 763 2245 18446744073709551615 0 1928 140 1737 702 1 1928 140 1737 702 18446744073709551615 0 217 1286 126 1001 18446744073709551615 0 2380 1706 545 547 18446744073709551615 0 1092 1735 2401 1223 18446744073709551615 0 2023 882 1397 835 18446744073709551615 0 1121 555 1801 2468 18446744073709551615 0 1994 1605 811 1329 18446744073709551615 0 2141 2327 2285 124 18446744073709551615 125 0 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 173 179 190 196 207 213 219 225 231 237 243 249 255 261 267 273 279 285 291 297 303 309 315 321 327 333 339 345 351 357 363 369 375 381 387 393 399 405 411 417 423 429 435 441 447 453 459 465 471 477 483 489 495 501 512 518 524 530 541 547 553 559 570 576 582 588 594 600 606 612 618 624 630 636 642 648 654 660 666 672 678 684 690 696 702 708 714 720 726 732 743 749 755 761 767 773 779 0 0 2478 2478 0 0 0 0 1 0 0 0 0 2478 0 1 2478 0 1 0 2478 0 0 1 0 1 0 0 2478 0 1 2478 0 0 0 0 0 3 0 0 10 1 0 -0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 1 0 10 -1 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 10 -2 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 219 308 397 486 575 664 753 842 931 1020 1109 1198 1287 1376 1465 1554 1643 1732 1821 1910 1999 2088 2177 2266 2355 2444 2533 2622 2711 2800 2889 2978 3067 3156 3245 3334 3423 3512 3601 3690 3779 3868 3957 4046 4135 4224 4313 4402 4491 4580 4669 4758 4847 4936 5025 5114 5203 5292 5381 5470 5559 5648 5737 5826 0 1217 903 1574 88 1347 247 1466 584 1231 1821 599 565 1908 476 1028 1579 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 86 347 1134 424 1990 2346 1666 994 7 1743 2280 1543 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 919 1942 1808 1400 1988 271 2107 1941 2034 1285 1383 607 2063 1863 2431 22 1089 2436 2017 225 529 637 1068 1305 817 846 848 879 18 2266 2093 1291 1719 2410 1039 988 371 996 1919 1384 1966 537 1545 2355 1409 310 518 1487 341 1591 447 1120 1418 1510 1363 1290 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1347 247 1466 584 167 668 916 1477 1908 476 1028 1579 1592 2433 1598 896 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 2253 1864 1198 1739 2129 1354 499 973 2459 1861 1169 243 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 300 795 2340 1763 673 2476 941 369 1451 1441 1100 162 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 2128 947 655 1654 2195 1339 1331 914 743 1231 1821 599 565 1908 476 1028 1579 1484 1292 2015 143 2309 589 1090 757 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2400 154 889 2218 2448 2308 194 1901 1000 239 1479 2293 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 203 2389 214 941 369 1451 2393 1899 730 579 304 825 793 1236 1651 660 1646 1616 1096 653 396 1767 2 899 513 1937 1228 576 1638 573 543 94 843 1908 476 1028 1579 1592 2433 1598 896 2309 589 1090 757 1604 2033 1485 756 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 2218 2448 2308 736 400 1216 1861 1169 243 1309 2332 486 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 941 369 1451 1441 1100 162 579 304 825 1785 1657 807 660 1646 1616 1690 1045 302 1279 886 1004 426 1773 842 2125 700 1202 798 1066 857 549 169 2233 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1540 362 1387 375 1759 223 909 527 1041 636 1882 2348 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 2249 1103 1570 412 925 432 259 1392 1475 2074 753 1775 861 68 1509 1963 2007 1877 2336 188 1707 2250 2041 2417 435 642 11 1499 2123 1391 1684 1805 139 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 412 925 432 1095 59 1458 2074 753 1775 2426 1017 1405 1963 2007 1877 1682 1685 171 703 312 2162 149 457 2221 1654 2195 1339 1220 1507 1936 2196 615 1959 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 259 1392 1475 2074 753 1775 955 1126 1534 2153 183 2231 1326 606 1613 496 752 1834 2250 2041 2417 367 1338 218 576 1638 573 1432 1360 823 2037 1865 2058 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2074 753 1775 2426 1017 1405 2153 183 2231 210 2008 1122 496 752 1834 1696 1337 1108 149 457 2221 2108 1771 1932 798 1066 857 1795 809 2439 773 1067 542 167 668 916 1477 2032 608 970 1448 1592 2433 1598 896 2081 2379 602 444 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 1739 2129 1354 1488 1836 377 1319 1227 871 1191 902 1195 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 1763 673 2476 178 893 2386 1441 1100 162 808 320 1440 1944 1456 932 508 625 1588 351 794 999 2150 1366 566 1275 1843 1246 1565 100 1576 2236 1568 1900 2032 608 970 1448 1892 610 1929 1981 2081 2379 602 444 1460 2447 972 1293 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 1488 1836 377 1831 321 372 330 1664 1760 2026 1323 1746 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 178 893 2386 120 598 1023 808 320 1440 1544 2361 1851 508 625 1588 1644 1084 1980 2054 370 2385 61 930 1203 45 624 467 2197 1715 1677 442 578 1459 1592 2433 1598 896 2081 2379 602 444 1604 2033 1485 756 1970 2036 2322 317 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 736 400 1216 1930 198 366 1191 902 1195 1823 891 16 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 1441 1100 162 808 320 1440 1785 1657 807 1516 2261 1375 1690 1045 302 2396 2342 1894 2150 1366 566 676 2003 327 483 2055 696 305 1807 915 168 1086 1608 2081 2379 602 444 1460 2447 972 1293 1970 2036 2322 317 1075 2149 180 1018 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 1930 198 366 53 1817 1130 2026 1323 1746 111 1697 1267 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 808 320 1440 1544 2361 1851 1516 2261 1375 920 314 208 2396 2342 1894 582 1274 1168 61 930 1203 1221 2323 2025 6 966 1333 1010 1447 749 2185 771 985 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1095 59 1458 1992 464 2013 2426 1017 1405 1280 1849 562 1682 1685 171 1401 338 202 806 1922 1857 436 2059 2305 1565 100 1576 1586 132 2073 738 1082 374 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 1992 464 2013 863 1551 1531 1280 1849 562 98 448 824 1401 338 202 618 813 485 1091 1469 901 1768 2375 995 2197 1715 1677 1860 1247 632 759 1711 574 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 2426 1017 1405 1280 1849 562 210 2008 1122 2056 73 1736 1696 1337 1108 2142 2407 236 436 2059 2305 1474 235 2453 305 1807 915 1335 669 1650 1875 389 70 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1280 1849 562 98 448 824 2056 73 1736 844 1184 48 2142 2407 236 1042 2425 1891 1768 2375 995 2204 2397 764 1010 1447 749 1473 952 256 361 1124 437 1484 1292 2015 143 2309 589 1090 757 1995 2094 1673 2161 2277 1508 520 1890 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1141 245 1395 204 2191 47 239 1479 2293 278 1758 723 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 2393 1899 730 579 304 825 276 1778 850 2317 13 1182 453 1702 498 399 1751 2102 1767 2 899 2164 2192 1730 2130 781 1854 956 592 612 1558 2085 735 2309 589 1090 757 1604 2033 1485 756 2277 1508 520 1890 1619 206 836 567 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 204 2191 47 1013 417 659 1309 2332 486 1496 1573 1222 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 579 304 825 1785 1657 807 2317 13 1182 1660 279 1512 399 1751 2102 197 2339 1802 426 1773 842 1261 783 716 679 747 1837 316 313 1314 373 1639 1016 1995 2094 1673 2161 2277 1508 520 1890 635 2463 1457 2441 2283 2208 1211 841 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 2388 1125 1793 473 2060 1020 278 1758 723 1376 438 1989 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 276 1778 850 2317 13 1182 1552 164 2294 984 1536 227 1201 1132 883 1031 1822 1055 2164 2192 1730 890 1163 1374 295 1738 1547 358 2184 1915 261 85 1700 2277 1508 520 1890 1619 206 836 567 2283 2208 1211 841 987 1060 265 325 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 473 2060 1020 1686 750 814 1496 1573 1222 884 878 2288 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 2317 13 1182 1660 279 1512 984 1536 227 112 461 962 1031 1822 1055 2227 272 1659 1261 783 716 796 1820 1872 416 638 822 419 2377 687 943 1798 2366 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 955 1126 1534 2153 183 2231 1601 1606 1435 41 1632 2247 1550 2079 77 1962 1826 1150 367 1338 218 691 2326 2138 956 592 612 1968 274 2289 1235 1699 2080 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 2153 183 2231 210 2008 1122 41 1632 2247 343 1390 534 1962 1826 1150 2113 19 1328 2108 1771 1932 414 2078 895 316 313 1314 1030 647 232 923 904 2159 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 1601 1606 1435 41 1632 2247 2269 1721 2031 368 237 876 384 1602 742 1589 1575 26 691 2326 2138 558 1230 69 358 2184 1915 17 1050 1365 2403 1950 1371 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 41 1632 2247 343 1390 534 368 237 876 693 1029 74 1589 1575 26 951 1033 350 414 2078 895 2077 701 2169 419 2377 687 1186 1403 1621 277 1215 173 1604 2033 1485 756 1970 2036 2322 317 1619 206 836 567 787 1069 192 2296 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1013 417 659 1617 1154 459 1823 891 16 734 1113 2442 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1785 1657 807 1516 2261 1375 1660 279 1512 2358 23 1111 197 2339 1802 875 588 398 676 2003 327 425 465 1196 1394 1584 58 733 1259 509 1811 1074 1546 1970 2036 2322 317 1075 2149 180 1018 787 1069 192 2296 1002 546 1974 376 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1617 1154 459 1237 1779 357 111 1697 1267 1442 2172 1998 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1516 2261 1375 920 314 208 2358 23 1111 1332 2001 1357 875 588 398 2167 1991 2171 1221 2323 2025 1903 1226 118 472 1945 1649 1914 1597 1640 107 1367 2329 1619 206 836 567 787 1069 192 2296 987 1060 265 325 1107 2252 671 942 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1686 750 814 1889 1888 512 734 1113 2442 1426 2098 2061 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 1660 279 1512 2358 23 1111 112 461 962 2292 2298 1665 2227 272 1659 1917 2163 471 425 465 1196 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 787 1069 192 2296 1002 546 1974 376 1107 2252 671 942 741 89 1683 1590 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1889 1888 512 2119 662 1325 1442 2172 1998 2376 568 123 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 2358 23 1111 1332 2001 1357 2292 2298 1665 572 1733 1493 1917 2163 471 2158 1909 559 1903 1226 118 157 1832 2096 761 2473 2086 664 1490 1734 160 1614 293 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 210 2008 1122 2056 73 1736 343 1390 534 524 1344 55 2113 19 1328 1306 1133 433 1474 235 2453 2302 1750 92 733 1259 509 1317 1361 46 1855 2316 420 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2056 73 1736 844 1184 48 524 1344 55 2082 1127 983 1306 1133 433 1298 1883 1312 2204 2397 764 601 263 2369 1914 1597 1640 1676 1251 1885 1662 858 1421 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 343 1390 534 524 1344 55 693 1029 74 674 596 779 951 1033 350 38 2421 110 2302 1750 92 492 1620 2303 838 586 2131 2151 125 1718 446 1881 2273 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 524 1344 55 2082 1127 983 674 596 779 784 2109 1071 38 2421 110 331 2333 1948 601 263 2369 1105 1396 324 664 1490 1734 2143 997 95 1 306 1311 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 345 2053 587 63 2246 1800 2029 521 714 864 2112 2313 2286 729 2225 1505 710 241 681 1463 1206 253 2427 1158 1499 2123 1391 1599 922 1967 1402 859 2458 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 63 2246 1800 2240 2354 1419 864 2112 2313 1436 49 365 1505 710 241 1443 1378 1618 359 1480 176 2069 1080 458 1220 1507 1936 1792 216 1336 135 760 1810 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 2029 521 714 864 2112 2313 381 2166 449 1146 474 2474 51 505 1624 609 969 1627 253 2427 1158 2472 1340 1423 1432 1360 823 975 220 1148 2437 877 650 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 864 2112 2313 1436 49 365 1146 474 2474 1076 718 1170 609 969 1627 1232 1008 1327 2069 1080 458 800 2242 36 1795 809 2439 342 880 269 1155 1571 2419 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1979 1983 1652 222 2219 413 2070 1541 1572 1278 2165 2334 762 2343 1689 1503 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 583 1273 1560 452 2424 2423 1342 81 440 393 475 2301 1635 1433 801 20 2362 1804 177 1796 1645 2464 785 633 2111 1151 153 244 2004 246 831 726 873 1225 1192 665 1599 922 1967 1533 1486 328 672 698 1489 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 2219 413 2070 1541 1064 516 2422 1470 762 2343 1689 1503 563 67 2290 2100 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 452 2424 2423 2089 2365 1740 2099 1669 1824 1422 2248 2311 20 2362 1804 1623 196 1450 2464 785 633 2114 1987 481 244 2004 246 1021 1263 1786 2475 1720 62 348 2381 1905 1792 216 1336 2211 2027 777 2002 792 403 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 1572 1278 2165 2334 762 2343 1689 1503 1856 816 1455 1119 71 2237 1478 1427 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 434 840 78 755 2201 804 393 475 2301 2106 1320 953 177 1796 1645 2464 785 633 27 255 1906 1160 1296 1999 928 79 812 407 2351 2319 1225 1192 665 515 1634 1523 975 220 1148 758 2174 2387 686 853 1742 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 762 2343 1689 1503 563 67 2290 2100 71 2237 1478 1427 2446 1277 1498 2392 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 755 2201 804 2244 322 2434 1422 2248 2311 2156 1048 680 2464 785 633 2114 1987 481 1160 1296 1999 66 117 1166 407 2351 2319 1358 1411 1976 348 2381 1905 383 1504 1958 342 880 269 2337 1079 1681 1065 828 907 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2240 2354 1419 1871 1712 2224 1436 49 365 1492 2318 1862 1443 1378 1618 1951 950 1257 490 488 1852 2470 1631 577 1586 132 2073 2038 1844 1078 675 657 4 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1871 1712 2224 2260 1553 1653 1492 2318 1862 745 428 720 1951 950 1257 1362 1388 1532 1866 2230 326 1555 1729 959 1860 1247 632 717 2238 1710 1752 495 260 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 1436 49 365 1492 2318 1862 1076 718 1170 1952 2207 1135 1232 1008 1327 722 1349 2134 2470 1631 577 1219 1704 1137 1335 669 1650 2168 2226 646 550 2284 1138 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 1492 2318 1862 745 428 720 1952 2207 1135 10 2039 1118 722 1349 2134 2404 834 1036 1555 1729 959 301 1180 556 1473 952 256 2356 2136 1993 766 1827 1258 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 1064 516 2422 1470 1288 1188 379 1587 563 67 2290 2100 2117 1431 1240 1229 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2089 2365 1740 1887 21 1609 267 1172 2408 1417 221 1404 1623 196 1450 1139 1153 1515 2114 1987 481 656 1688 2092 1021 1263 1786 2064 1762 1252 268 2222 142 2315 2462 1838 2038 1844 1078 1769 181 769 1596 2399 82 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 1288 1188 379 1587 1716 2321 65 649 2117 1431 1240 1229 1176 948 819 1341 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1887 21 1609 1248 1254 138 2035 643 1382 1307 175 678 1139 1153 1515 1819 711 617 656 1688 2092 1040 1149 2122 2064 1762 1252 451 2450 1559 2471 2188 102 2198 2349 136 717 2238 1710 1501 2429 1784 91 531 1253 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 563 67 2290 2100 2117 1431 1240 1229 2446 1277 1498 2392 1615 1446 2105 258 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 2244 322 2434 106 868 746 1417 221 1404 998 2276 2182 2114 1987 481 656 1688 2092 66 117 1166 1034 799 685 1358 1411 1976 958 964 1791 2315 2462 1838 1022 1152 2030 2168 2226 646 912 172 658 2014 2005 1058 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 2117 1431 1240 1229 1176 948 819 1341 1615 1446 2105 258 2391 1708 1250 652 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 106 868 746 2133 1088 981 1307 175 678 262 778 275 656 1688 2092 1040 1149 2122 1034 799 685 1557 1207 1725 958 964 1791 1370 663 31 2198 2349 136 2251 1628 2234 2356 2136 1993 2068 466 661 1185 1918 2278 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 381 2166 449 1146 474 2474 2228 415 2364 1377 2116 1514 1464 2291 619 1867 163 9 2472 1340 1423 292 541 830 1968 274 2289 1003 2271 439 739 2091 146 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1146 474 2474 1076 718 1170 1377 2116 1514 833 936 182 1867 163 9 1625 1830 2101 800 2242 36 1038 97 523 1030 647 232 2214 158 1926 881 282 502 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 2228 415 2364 1377 2116 1514 2368 1364 193 445 2405 2067 287 1955 1437 1301 538 978 292 541 830 409 1481 2145 17 1050 1365 2183 683 522 1809 115 1101 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 1377 2116 1514 833 936 182 445 2405 2067 530 1755 431 1301 538 978 963 1912 1780 1038 97 523 805 1006 626 1186 1403 1621 1692 1345 954 410 1233 189 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1856 816 1455 1119 71 2237 1478 1427 1077 297 1483 2042 709 631 455 1011 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 2307 195 2268 1310 229 215 2106 1320 953 821 1749 627 27 255 1906 1160 1296 1999 283 1070 2179 1142 2457 460 2045 429 1985 770 1973 1939 515 1634 1523 1876 1430 780 1003 2271 439 1853 2135 1043 1756 1046 1242 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 71 2237 1478 1427 2446 1277 1498 2392 709 631 455 1011 924 1380 2072 395 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1310 229 215 363 503 613 2156 1048 680 827 704 128 1160 1296 1999 66 117 1166 1142 2457 460 851 1110 224 770 1973 1939 1282 2137 1269 383 1504 1958 1744 866 290 2214 158 1926 1453 489 1978 706 30 2477 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 1077 297 1483 2042 709 631 455 1011 946 2084 234 1803 487 1636 551 288 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 1633 145 1177 430 591 212 821 1749 627 979 2000 1276 283 1070 2179 1142 2457 460 731 1099 266 989 961 767 865 1782 1839 493 754 114 1876 1430 780 1873 1757 2353 2183 683 522 1841 786 205 2210 1272 2075 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 709 631 455 1011 924 1380 2072 395 487 1636 551 288 852 482 1063 908 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 430 591 212 677 1923 1946 827 704 128 644 1209 837 1142 2457 460 851 1110 224 989 961 767 1920 1468 1583 493 754 114 2206 1171 2180 1744 866 290 2194 454 732 1692 1345 954 1956 1814 1765 1925 113 150 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 1076 718 1170 1952 2207 1135 833 936 182 1727 2461 1197 1625 1830 2101 346 1098 233 1219 1704 1137 1687 728 127 1317 1361 46 620 1385 507 2104 2264 725 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 1952 2207 1135 10 2039 1118 1727 2461 1197 913 2412 1407 346 1098 233 480 104 1943 301 1180 556 1193 2152 2187 1676 1251 1885 40 887 2411 307 1025 540 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 833 936 182 1727 2461 1197 530 1755 431 397 605 1414 963 1912 1780 0 1281 1346 1687 728 127 299 1777 526 2151 125 1718 394 174 385 2415 1611 910 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 1727 2461 1197 913 2412 1407 397 605 1414 748 933 1109 0 1281 1346 616 1415 2139 1193 2152 2187 1145 1175 1600 2143 997 95 1517 856 2435 1975 491 2044 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 2446 1277 1498 2392 1615 1446 2105 258 924 1380 2072 395 2052 250 60 1445 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 363 503 613 479 894 337 998 2276 2182 2160 1643 2259 66 117 1166 1034 799 685 851 1110 224 1157 1783 1106 1282 2137 1269 564 993 1670 1022 1152 2030 201 845 1116 620 1385 507 1173 1165 1352 2088 159 2406 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1615 1446 2105 258 2391 1708 1250 652 2052 250 60 1445 1693 32 2299 707 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 479 894 337 2019 1239 921 262 778 275 1199 354 595 1034 799 685 1557 1207 1725 1157 1783 1106 1842 54 1732 564 993 1670 1037 170 2232 2251 1628 2234 1330 1569 957 40 887 2411 1356 885 1789 1005 727 1114 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 924 1380 2072 395 2052 250 60 1445 852 482 1063 908 934 2212 1087 356 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 677 1923 1946 511 990 1790 2160 1643 2259 992 640 2282 851 1110 224 1157 1783 1106 1920 1468 1583 1655 557 611 2206 1171 2180 1907 2011 1797 201 845 1116 1452 1315 2350 394 174 385 1181 528 1051 965 64 2126 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 2052 250 60 1445 1693 32 2299 707 934 2212 1087 356 355 1538 2443 1283 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 511 990 1790 1722 855 2275 1199 354 595 1977 2173 147 1157 1783 1106 1842 54 1732 1655 557 611 1053 708 1593 1907 2011 1797 1816 230 1359 1330 1569 957 1691 1245 971 1517 856 2435 1129 1369 2256 166 1663 468 214 0 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1331 914 743 543 94 843 549 169 2233 1684 1805 139 2196 615 1959 2037 1865 2058 773 1067 542 2236 1568 1900 442 578 1459 168 1086 1608 2185 771 985 738 1082 374 759 1711 574 1875 389 70 361 1124 437 1558 2085 735 373 1639 1016 261 85 1700 943 1798 2366 1235 1699 2080 923 904 2159 2403 1950 1371 277 1215 173 1811 1074 1546 107 1367 2329 695 1982 1713 160 1614 293 1855 2316 420 1662 858 1421 446 1881 2273 1 306 1311 1402 859 2458 135 760 1810 2437 877 650 1155 1571 2419 672 698 1489 2002 792 403 686 853 1742 1065 828 907 675 657 4 1752 495 260 550 2284 1138 766 1827 1258 1596 2399 82 91 531 1253 2014 2005 1058 1185 1918 2278 739 2091 146 881 282 502 1809 115 1101 410 1233 189 1756 1046 1242 706 30 2477 2210 1272 2075 1925 113 150 2104 2264 725 307 1025 540 2415 1611 910 1975 491 2044 2088 159 2406 1005 727 1114 965 64 2126 166 1663 468 64 0 0 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 64 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 1 0 65535 10 +1 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 8 0 65535 65535 65535 65535 65535 65535 65535 65535 10 +2 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 219 308 397 486 575 664 753 842 931 1020 1109 1198 1287 1376 1465 1554 1643 1732 1821 1910 1999 2088 2177 2266 2355 2444 2533 2622 2711 2800 2889 2978 3067 3156 3245 3334 3423 3512 3601 3690 3779 3868 3957 4046 4135 4224 4313 4402 4491 4580 4669 4758 4847 4936 5025 5114 5203 5292 5381 5470 5559 5648 5737 5826 0 1217 903 1574 88 1347 247 1466 584 1231 1821 599 565 1908 476 1028 1579 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 86 347 1134 424 1990 2346 1666 994 7 1743 2280 1543 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 919 1942 1808 1400 1988 271 2107 1941 2034 1285 1383 607 2063 1863 2431 22 1089 2436 2017 225 529 637 1068 1305 817 846 848 879 18 2266 2093 1291 1719 2410 1039 988 371 996 1919 1384 1966 537 1545 2355 1409 310 518 1487 341 1591 447 1120 1418 1510 1363 1290 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1347 247 1466 584 167 668 916 1477 1908 476 1028 1579 1592 2433 1598 896 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 2253 1864 1198 1739 2129 1354 499 973 2459 1861 1169 243 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 300 795 2340 1763 673 2476 941 369 1451 1441 1100 162 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 2128 947 655 1654 2195 1339 1331 914 743 1231 1821 599 565 1908 476 1028 1579 1484 1292 2015 143 2309 589 1090 757 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2400 154 889 2218 2448 2308 194 1901 1000 239 1479 2293 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 203 2389 214 941 369 1451 2393 1899 730 579 304 825 793 1236 1651 660 1646 1616 1096 653 396 1767 2 899 513 1937 1228 576 1638 573 543 94 843 1908 476 1028 1579 1592 2433 1598 896 2309 589 1090 757 1604 2033 1485 756 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 2218 2448 2308 736 400 1216 1861 1169 243 1309 2332 486 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 941 369 1451 1441 1100 162 579 304 825 1785 1657 807 660 1646 1616 1690 1045 302 1279 886 1004 426 1773 842 2125 700 1202 798 1066 857 549 169 2233 1671 200 1594 1996 1924 2360 869 24 2121 1911 1825 390 1928 140 1737 702 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1540 362 1387 375 1759 223 909 527 1041 636 1882 2348 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 2249 1103 1570 412 925 432 259 1392 1475 2074 753 1775 861 68 1509 1963 2007 1877 2336 188 1707 2250 2041 2417 435 642 11 1499 2123 1391 1684 1805 139 1924 2360 869 24 1603 552 161 2076 1928 140 1737 702 402 1714 763 2245 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 375 1759 223 1350 2200 281 2241 818 2382 2046 43 1303 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 412 925 432 1095 59 1458 2074 753 1775 2426 1017 1405 1963 2007 1877 1682 1685 171 703 312 2162 149 457 2221 1654 2195 1339 1220 1507 1936 2196 615 1959 2121 1911 1825 390 1928 140 1737 702 1210 2274 2455 597 25 131 1308 1806 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 802 929 1949 1705 974 1009 636 1882 2348 2338 418 450 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 259 1392 1475 2074 753 1775 955 1126 1534 2153 183 2231 1326 606 1613 496 752 1834 2250 2041 2417 367 1338 218 576 1638 573 1432 1360 823 2037 1865 2058 1928 140 1737 702 402 1714 763 2245 25 131 1308 1806 1026 2176 1776 251 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 1705 974 1009 2021 2451 1554 2046 43 1303 1179 1081 1056 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2074 753 1775 2426 1017 1405 2153 183 2231 210 2008 1122 496 752 1834 1696 1337 1108 149 457 2221 2108 1771 1932 798 1066 857 1795 809 2439 773 1067 542 167 668 916 1477 2032 608 970 1448 1592 2433 1598 896 2081 2379 602 444 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 1739 2129 1354 1488 1836 377 1319 1227 871 1191 902 1195 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 1763 673 2476 178 893 2386 1441 1100 162 808 320 1440 1944 1456 932 508 625 1588 351 794 999 2150 1366 566 1275 1843 1246 1565 100 1576 2236 1568 1900 2032 608 970 1448 1892 610 1929 1981 2081 2379 602 444 1460 2447 972 1293 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 1488 1836 377 1831 321 372 330 1664 1760 2026 1323 1746 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 178 893 2386 120 598 1023 808 320 1440 1544 2361 1851 508 625 1588 1644 1084 1980 2054 370 2385 61 930 1203 45 624 467 2197 1715 1677 442 578 1459 1592 2433 1598 896 2081 2379 602 444 1604 2033 1485 756 1970 2036 2322 317 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 736 400 1216 1930 198 366 1191 902 1195 1823 891 16 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 1441 1100 162 808 320 1440 1785 1657 807 1516 2261 1375 1690 1045 302 2396 2342 1894 2150 1366 566 676 2003 327 483 2055 696 305 1807 915 168 1086 1608 2081 2379 602 444 1460 2447 972 1293 1970 2036 2322 317 1075 2149 180 1018 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 1930 198 366 53 1817 1130 2026 1323 1746 111 1697 1267 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 808 320 1440 1544 2361 1851 1516 2261 1375 920 314 208 2396 2342 1894 582 1274 1168 61 930 1203 1221 2323 2025 6 966 1333 1010 1447 749 2185 771 985 1603 552 161 2076 386 231 1428 2310 402 1714 763 2245 217 1286 126 1001 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1350 2200 281 2378 152 654 829 1161 2223 682 1850 319 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1095 59 1458 1992 464 2013 2426 1017 1405 1280 1849 562 1682 1685 171 1401 338 202 806 1922 1857 436 2059 2305 1565 100 1576 1586 132 2073 738 1082 374 386 231 1428 2310 1934 2330 1085 2155 217 1286 126 1001 264 898 1372 2050 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 2378 152 654 1393 1019 1162 2140 1015 2445 667 1672 1049 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 1992 464 2013 863 1551 1531 1280 1849 562 98 448 824 1401 338 202 618 813 485 1091 1469 901 1768 2375 995 2197 1715 1677 1860 1247 632 759 1711 574 402 1714 763 2245 217 1286 126 1001 1026 2176 1776 251 1626 1964 2344 935 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 2021 2451 1554 315 986 408 682 1850 319 510 911 1424 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 2426 1017 1405 1280 1849 562 210 2008 1122 2056 73 1736 1696 1337 1108 2142 2407 236 436 2059 2305 1474 235 2453 305 1807 915 1335 669 1650 1875 389 70 217 1286 126 1001 264 898 1372 2050 1626 1964 2344 935 184 308 1243 1813 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 315 986 408 211 670 1745 667 1672 1049 1061 1723 1027 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1280 1849 562 98 448 824 2056 73 1736 844 1184 48 2142 2407 236 1042 2425 1891 1768 2375 995 2204 2397 764 1010 1447 749 1473 952 256 361 1124 437 1484 1292 2015 143 2309 589 1090 757 1995 2094 1673 2161 2277 1508 520 1890 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1141 245 1395 204 2191 47 239 1479 2293 278 1758 723 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 2393 1899 730 579 304 825 276 1778 850 2317 13 1182 453 1702 498 399 1751 2102 1767 2 899 2164 2192 1730 2130 781 1854 956 592 612 1558 2085 735 2309 589 1090 757 1604 2033 1485 756 2277 1508 520 1890 1619 206 836 567 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 204 2191 47 1013 417 659 1309 2332 486 1496 1573 1222 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 579 304 825 1785 1657 807 2317 13 1182 1660 279 1512 399 1751 2102 197 2339 1802 426 1773 842 1261 783 716 679 747 1837 316 313 1314 373 1639 1016 1995 2094 1673 2161 2277 1508 520 1890 635 2463 1457 2441 2283 2208 1211 841 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 2388 1125 1793 473 2060 1020 278 1758 723 1376 438 1989 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 276 1778 850 2317 13 1182 1552 164 2294 984 1536 227 1201 1132 883 1031 1822 1055 2164 2192 1730 890 1163 1374 295 1738 1547 358 2184 1915 261 85 1700 2277 1508 520 1890 1619 206 836 567 2283 2208 1211 841 987 1060 265 325 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 473 2060 1020 1686 750 814 1496 1573 1222 884 878 2288 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 2317 13 1182 1660 279 1512 984 1536 227 112 461 962 1031 1822 1055 2227 272 1659 1261 783 716 796 1820 1872 416 638 822 419 2377 687 943 1798 2366 1210 2274 2455 597 25 131 1308 1806 1304 2295 1348 116 2380 1706 545 547 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 888 960 2438 967 254 1255 2338 418 450 1241 52 2394 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 955 1126 1534 2153 183 2231 1601 1606 1435 41 1632 2247 1550 2079 77 1962 1826 1150 367 1338 218 691 2326 2138 956 592 612 1968 274 2289 1235 1699 2080 25 131 1308 1806 1026 2176 1776 251 2380 1706 545 547 273 2016 1916 1880 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 967 254 1255 1300 1322 1521 1179 1081 1056 604 571 1582 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 2153 183 2231 210 2008 1122 41 1632 2247 343 1390 534 1962 1826 1150 2113 19 1328 2108 1771 1932 414 2078 895 316 313 1314 1030 647 232 923 904 2159 1304 2295 1348 116 2380 1706 545 547 1781 1542 105 862 294 2189 1128 1884 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 775 1886 335 940 391 1927 1241 52 2394 1156 28 2454 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 1601 1606 1435 41 1632 2247 2269 1721 2031 368 237 876 384 1602 742 1589 1575 26 691 2326 2138 558 1230 69 358 2184 1915 17 1050 1365 2403 1950 1371 2380 1706 545 547 273 2016 1916 1880 294 2189 1128 1884 2390 96 323 242 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 940 391 1927 137 1931 1764 604 571 1582 1938 1858 1494 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 41 1632 2247 343 1390 534 368 237 876 693 1029 74 1589 1575 26 951 1033 350 414 2078 895 2077 701 2169 419 2377 687 1186 1403 1621 277 1215 173 1604 2033 1485 756 1970 2036 2322 317 1619 206 836 567 787 1069 192 2296 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1013 417 659 1617 1154 459 1823 891 16 734 1113 2442 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1785 1657 807 1516 2261 1375 1660 279 1512 2358 23 1111 197 2339 1802 875 588 398 676 2003 327 425 465 1196 1394 1584 58 733 1259 509 1811 1074 1546 1970 2036 2322 317 1075 2149 180 1018 787 1069 192 2296 1002 546 1974 376 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1617 1154 459 1237 1779 357 111 1697 1267 1442 2172 1998 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1516 2261 1375 920 314 208 2358 23 1111 1332 2001 1357 875 588 398 2167 1991 2171 1221 2323 2025 1903 1226 118 472 1945 1649 1914 1597 1640 107 1367 2329 1619 206 836 567 787 1069 192 2296 987 1060 265 325 1107 2252 671 942 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1686 750 814 1889 1888 512 734 1113 2442 1426 2098 2061 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 1660 279 1512 2358 23 1111 112 461 962 2292 2298 1665 2227 272 1659 1917 2163 471 425 465 1196 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 787 1069 192 2296 1002 546 1974 376 1107 2252 671 942 741 89 1683 1590 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1889 1888 512 2119 662 1325 1442 2172 1998 2376 568 123 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 2358 23 1111 1332 2001 1357 2292 2298 1665 572 1733 1493 1917 2163 471 2158 1909 559 1903 1226 118 157 1832 2096 761 2473 2086 664 1490 1734 160 1614 293 1026 2176 1776 251 1626 1964 2344 935 273 2016 1916 1880 1092 1735 2401 1223 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 1300 1322 1521 614 1562 1580 510 911 1424 666 1869 257 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 210 2008 1122 2056 73 1736 343 1390 534 524 1344 55 2113 19 1328 1306 1133 433 1474 235 2453 2302 1750 92 733 1259 509 1317 1361 46 1855 2316 420 1626 1964 2344 935 184 308 1243 1813 1092 1735 2401 1223 1454 867 80 469 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 614 1562 1580 1902 1833 2257 1061 1723 1027 309 504 2370 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2056 73 1736 844 1184 48 524 1344 55 2082 1127 983 1306 1133 433 1298 1883 1312 2204 2397 764 601 263 2369 1914 1597 1640 1676 1251 1885 1662 858 1421 273 2016 1916 1880 1092 1735 2401 1223 2390 96 323 242 2325 1695 593 561 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 137 1931 1764 1724 1238 1641 666 1869 257 2010 1104 820 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 343 1390 534 524 1344 55 693 1029 74 674 596 779 951 1033 350 38 2421 110 2302 1750 92 492 1620 2303 838 586 2131 2151 125 1718 446 1881 2273 1092 1735 2401 1223 1454 867 80 469 2325 1695 593 561 1969 1502 141 2466 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 1724 1238 1641 697 1461 2186 309 504 2370 1012 2328 539 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 524 1344 55 2082 1127 983 674 596 779 784 2109 1071 38 2421 110 331 2333 1948 601 263 2369 1105 1396 324 664 1490 1734 2143 997 95 1 306 1311 892 1893 336 311 628 2263 2352 1420 2243 443 1389 1472 991 854 872 694 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1073 228 2314 906 826 185 35 1868 2374 1052 917 427 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 345 2053 587 63 2246 1800 2029 521 714 864 2112 2313 2286 729 2225 1505 710 241 681 1463 1206 253 2427 1158 1499 2123 1391 1599 922 1967 1402 859 2458 628 2263 2352 1420 2062 1717 789 705 991 854 872 694 130 765 1115 2272 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 906 826 185 2087 2267 2193 1318 1462 525 93 2146 1123 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 63 2246 1800 2240 2354 1419 864 2112 2313 1436 49 365 1505 710 241 1443 1378 1618 359 1480 176 2069 1080 458 1220 1507 1936 1792 216 1336 135 760 1810 2243 443 1389 1472 991 854 872 694 1658 1270 2428 249 238 44 334 421 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 839 1548 569 1174 388 2083 1052 917 427 1537 788 1476 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 2029 521 714 864 2112 2313 381 2166 449 1146 474 2474 51 505 1624 609 969 1627 253 2427 1158 2472 1340 1423 1432 1360 823 975 220 1148 2437 877 650 991 854 872 694 130 765 1115 2272 238 44 334 421 1224 2363 155 1731 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 1174 388 2083 289 1482 57 93 2146 1123 1379 423 1845 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 864 2112 2313 1436 49 365 1146 474 2474 1076 718 1170 609 969 1627 1232 1008 1327 2069 1080 458 800 2242 36 1795 809 2439 342 880 269 1155 1571 2419 1144 1032 1449 226 580 39 2254 1846 129 2418 1612 2157 2023 882 1397 835 1979 1983 1652 222 2219 413 2070 1541 1572 1278 2165 2334 762 2343 1689 1503 1429 470 2300 1961 1410 1024 2367 333 2170 33 1302 1183 583 1273 1560 452 2424 2423 1342 81 440 393 475 2301 1635 1433 801 20 2362 1804 177 1796 1645 2464 785 633 2111 1151 153 244 2004 246 831 726 873 1225 1192 665 1599 922 1967 1533 1486 328 672 698 1489 580 39 2254 1846 1131 1355 639 8 2023 882 1397 835 380 34 1351 1656 2219 413 2070 1541 1064 516 2422 1470 762 2343 1689 1503 563 67 2290 2100 1961 1410 1024 1972 360 1057 1812 207 29 1295 2203 392 452 2424 2423 2089 2365 1740 2099 1669 1824 1422 2248 2311 20 2362 1804 1623 196 1450 2464 785 633 2114 1987 481 244 2004 246 1021 1263 1786 2475 1720 62 348 2381 1905 1792 216 1336 2211 2027 777 2002 792 403 129 2418 1612 2157 2023 882 1397 835 1953 554 478 1921 977 1434 378 2048 1572 1278 2165 2334 762 2343 1689 1503 1856 816 1455 1119 71 2237 1478 1427 774 2190 2217 2359 2306 463 33 1302 1183 2371 2177 303 434 840 78 755 2201 804 393 475 2301 2106 1320 953 177 1796 1645 2464 785 633 27 255 1906 1160 1296 1999 928 79 812 407 2351 2319 1225 1192 665 515 1634 1523 975 220 1148 758 2174 2387 686 853 1742 2023 882 1397 835 380 34 1351 1656 977 1434 378 2048 332 1703 1524 1234 762 2343 1689 1503 563 67 2290 2100 71 2237 1478 1427 2446 1277 1498 2392 2359 2306 463 1829 927 296 1295 2203 392 2199 1438 1102 755 2201 804 2244 322 2434 1422 2248 2311 2156 1048 680 2464 785 633 2114 1987 481 1160 1296 1999 66 117 1166 407 2351 2319 1358 1411 1976 348 2381 1905 383 1504 1958 342 880 269 2337 1079 1681 1065 828 907 2062 1717 789 705 422 600 353 2043 130 765 1115 2272 2440 37 2312 2372 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 2087 2267 2193 2265 2347 2331 1933 2460 2181 1564 148 1353 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2240 2354 1419 1871 1712 2224 1436 49 365 1492 2318 1862 1443 1378 1618 1951 950 1257 490 488 1852 2470 1631 577 1586 132 2073 2038 1844 1078 675 657 4 422 600 353 2043 1859 2320 1047 1054 2440 37 2312 2372 103 1935 1194 1661 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 2265 2347 2331 648 1189 2456 15 2414 2452 2449 585 405 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1871 1712 2224 2260 1553 1653 1492 2318 1862 745 428 720 1951 950 1257 1362 1388 1532 1866 2230 326 1555 1729 959 1860 1247 632 717 2238 1710 1752 495 260 130 765 1115 2272 2440 37 2312 2372 1224 2363 155 1731 1847 484 2215 1520 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 289 1482 57 3 2357 2335 1564 148 1353 75 2467 270 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 1436 49 365 1492 2318 1862 1076 718 1170 1952 2207 1135 1232 1008 1327 722 1349 2134 2470 1631 577 1219 1704 1137 1335 669 1650 2168 2226 646 550 2284 1138 2440 37 2312 2372 103 1935 1194 1661 1847 484 2215 1520 1957 939 2144 12 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 3 2357 2335 5 84 248 2449 585 405 1960 1581 1563 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 1492 2318 1862 745 428 720 1952 2207 1135 10 2039 1118 722 1349 2134 2404 834 1036 1555 1729 959 301 1180 556 1473 952 256 2356 2136 1993 766 1827 1258 1131 1355 639 8 514 1316 535 1535 380 34 1351 1656 1121 555 1801 2468 1064 516 2422 1470 1288 1188 379 1587 563 67 2290 2100 2117 1431 1240 1229 1972 360 1057 2444 1674 1815 134 2262 1954 719 456 1324 2089 2365 1740 1887 21 1609 267 1172 2408 1417 221 1404 1623 196 1450 1139 1153 1515 2114 1987 481 656 1688 2092 1021 1263 1786 2064 1762 1252 268 2222 142 2315 2462 1838 2038 1844 1078 1769 181 769 1596 2399 82 514 1316 535 1535 1788 1244 506 768 1121 555 1801 2468 1947 2469 810 42 1288 1188 379 1587 1716 2321 65 649 2117 1431 1240 1229 1176 948 819 1341 2444 1674 1815 1213 1398 870 772 1913 1495 1097 517 1381 1887 21 1609 1248 1254 138 2035 643 1382 1307 175 678 1139 1153 1515 1819 711 617 656 1688 2092 1040 1149 2122 2064 1762 1252 451 2450 1559 2471 2188 102 2198 2349 136 717 2238 1710 1501 2429 1784 91 531 1253 380 34 1351 1656 1121 555 1801 2468 332 1703 1524 1234 1772 318 477 2006 563 67 2290 2100 2117 1431 1240 1229 2446 1277 1498 2392 1615 1446 2105 258 1829 927 296 1413 2235 2287 719 456 1324 2028 404 692 2244 322 2434 106 868 746 1417 221 1404 998 2276 2182 2114 1987 481 656 1688 2092 66 117 1166 1034 799 685 1358 1411 1976 958 964 1791 2315 2462 1838 1022 1152 2030 2168 2226 646 912 172 658 2014 2005 1058 1121 555 1801 2468 1947 2469 810 42 1772 318 477 2006 406 1754 1513 364 2117 1431 1240 1229 1176 948 819 1341 1615 1446 2105 258 2391 1708 1250 652 1413 2235 2287 982 87 2065 1097 517 1381 623 1072 179 106 868 746 2133 1088 981 1307 175 678 262 778 275 656 1688 2092 1040 1149 2122 1034 799 685 1557 1207 1725 958 964 1791 1370 663 31 2198 2349 136 2251 1628 2234 2356 2136 1993 2068 466 661 1185 1918 2278 1658 1270 2428 249 238 44 334 421 209 1373 1467 1561 1610 2409 280 1506 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1143 352 1526 874 1284 108 1537 788 1476 1465 144 744 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 381 2166 449 1146 474 2474 2228 415 2364 1377 2116 1514 1464 2291 619 1867 163 9 2472 1340 1423 292 541 830 1968 274 2289 1003 2271 439 739 2091 146 238 44 334 421 1224 2363 155 1731 1610 2409 280 1506 1870 14 926 1014 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 874 1284 108 1799 1205 2095 1379 423 1845 501 76 1412 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1146 474 2474 1076 718 1170 1377 2116 1514 833 936 182 1867 163 9 1625 1830 2101 800 2242 36 1038 97 523 1030 647 232 2214 158 1926 881 282 502 209 1373 1467 1561 1610 2409 280 1506 2220 83 2281 622 1747 2402 621 1159 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 629 1622 900 1728 2341 931 1465 144 744 2022 50 1519 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 2228 415 2364 1377 2116 1514 2368 1364 193 445 2405 2067 287 1955 1437 1301 538 978 292 541 830 409 1481 2145 17 1050 1365 2183 683 522 1809 115 1101 1610 2409 280 1506 1870 14 926 1014 1747 2402 621 1159 1399 1840 1848 72 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 1728 2341 931 581 2148 712 501 76 1412 847 1527 938 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 1377 2116 1514 833 936 182 445 2405 2067 530 1755 431 1301 538 978 963 1912 1780 1038 97 523 805 1006 626 1186 1403 1621 1692 1345 954 410 1233 189 1953 554 478 1921 977 1434 378 2048 199 1062 1136 519 1994 1605 811 1329 1856 816 1455 1119 71 2237 1478 1427 1077 297 1483 2042 709 631 455 1011 1218 1578 2398 1835 2209 2020 2371 2177 303 937 2383 151 2307 195 2268 1310 229 215 2106 1320 953 821 1749 627 27 255 1906 1160 1296 1999 283 1070 2179 1142 2457 460 2045 429 1985 770 1973 1939 515 1634 1523 1876 1430 780 1003 2271 439 1853 2135 1043 1756 1046 1242 977 1434 378 2048 332 1703 1524 1234 1994 1605 811 1329 1444 603 2051 1313 71 2237 1478 1427 2446 1277 1498 2392 709 631 455 1011 924 1380 2072 395 1835 2209 2020 1425 349 737 2199 1438 1102 1408 533 1986 1310 229 215 363 503 613 2156 1048 680 827 704 128 1160 1296 1999 66 117 1166 1142 2457 460 851 1110 224 770 1973 1939 1282 2137 1269 383 1504 1958 1744 866 290 2214 158 1926 1453 489 1978 706 30 2477 199 1062 1136 519 1994 1605 811 1329 1214 411 1289 2202 2239 2024 1637 949 1077 297 1483 2042 709 631 455 1011 946 2084 234 1803 487 1636 551 288 133 2430 2071 1094 2324 2118 937 2383 151 1648 1794 2432 1633 145 1177 430 591 212 821 1749 627 979 2000 1276 283 1070 2179 1142 2457 460 731 1099 266 989 961 767 865 1782 1839 493 754 114 1876 1430 780 1873 1757 2353 2183 683 522 1841 786 205 2210 1272 2075 1994 1605 811 1329 1444 603 2051 1313 2239 2024 1637 949 1698 1471 2040 1549 709 631 455 1011 924 1380 2072 395 487 1636 551 288 852 482 1063 908 1094 2324 2118 2297 344 832 1408 533 1986 286 1262 1701 430 591 212 677 1923 1946 827 704 128 644 1209 837 1142 2457 460 851 1110 224 989 961 767 1920 1468 1583 493 754 114 2206 1171 2180 1744 866 290 2194 454 732 1692 1345 954 1956 1814 1765 1925 113 150 1224 2363 155 1731 1847 484 2215 1520 1870 14 926 1014 1271 553 1984 2057 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 1799 1205 2095 1190 1208 897 75 2467 270 2018 1709 1265 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 1076 718 1170 1952 2207 1135 833 936 182 1727 2461 1197 1625 1830 2101 346 1098 233 1219 1704 1137 1687 728 127 1317 1361 46 620 1385 507 2104 2264 725 1847 484 2215 1520 1957 939 2144 12 1271 553 1984 2057 689 630 1530 1529 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1190 1208 897 1898 1566 905 1960 1581 1563 1500 2178 2229 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 1952 2207 1135 10 2039 1118 1727 2461 1197 913 2412 1407 346 1098 233 480 104 1943 301 1180 556 1193 2152 2187 1676 1251 1885 40 887 2411 307 1025 540 1870 14 926 1014 1271 553 1984 2057 1399 1840 1848 72 688 213 790 2395 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 581 2148 712 1971 121 1585 2018 1709 1265 1629 1528 1334 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 833 936 182 1727 2461 1197 530 1755 431 397 605 1414 963 1912 1780 0 1281 1346 1687 728 127 299 1777 526 2151 125 1718 394 174 385 2415 1611 910 1271 553 1984 2057 689 630 1530 1529 688 213 790 2395 1556 645 1874 544 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 1971 121 1585 494 1879 1268 1500 2178 2229 1204 1518 2258 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 1727 2461 1197 913 2412 1407 397 605 1414 748 933 1109 0 1281 1346 616 1415 2139 1193 2152 2187 1145 1175 1600 2143 997 95 1517 856 2435 1975 491 2044 332 1703 1524 1234 1772 318 477 2006 1444 603 2051 1313 2141 2327 2285 124 2446 1277 1498 2392 1615 1446 2105 258 924 1380 2072 395 2052 250 60 1445 1425 349 737 2345 1260 2115 2028 404 692 944 980 1294 363 503 613 479 894 337 998 2276 2182 2160 1643 2259 66 117 1166 1034 799 685 851 1110 224 1157 1783 1106 1282 2137 1269 564 993 1670 1022 1152 2030 201 845 1116 620 1385 507 1173 1165 1352 2088 159 2406 1772 318 477 2006 406 1754 1513 364 2141 2327 2285 124 1264 594 1287 186 1615 1446 2105 258 2391 1708 1250 652 2052 250 60 1445 1693 32 2299 707 2345 1260 2115 690 2270 560 623 1072 179 1044 918 1522 479 894 337 2019 1239 921 262 778 275 1199 354 595 1034 799 685 1557 1207 1725 1157 1783 1106 1842 54 1732 564 993 1670 1037 170 2232 2251 1628 2234 1330 1569 957 40 887 2411 1356 885 1789 1005 727 1114 1444 603 2051 1313 2141 2327 2285 124 1698 1471 2040 1549 1818 684 99 1147 924 1380 2072 395 2052 250 60 1445 852 482 1063 908 934 2212 1087 356 2297 344 832 2049 1386 699 944 980 1294 2090 1539 2304 677 1923 1946 511 990 1790 2160 1643 2259 992 640 2282 851 1110 224 1157 1783 1106 1920 1468 1583 1655 557 611 2206 1171 2180 1907 2011 1797 201 845 1116 1452 1315 2350 394 174 385 1181 528 1051 965 64 2126 2141 2327 2285 124 1264 594 1287 186 1818 684 99 1147 2384 1164 803 575 2052 250 60 1445 1693 32 2299 707 934 2212 1087 356 355 1538 2443 1283 2049 1386 699 2012 2420 1897 1044 918 1522 462 782 2147 511 990 1790 1722 855 2275 1199 354 595 1977 2173 147 1157 1783 1106 1842 54 1732 1655 557 611 1053 708 1593 1907 2011 1797 1816 230 1359 1330 1569 957 1691 1245 971 1517 856 2435 1129 1369 2256 166 1663 468 214 0 56 1667 2216 387 1112 252 1212 1761 532 382 1679 1607 945 2175 1167 109 2097 590 190 1828 1895 740 1770 1910 1753 1331 914 743 543 94 843 549 169 2233 1684 1805 139 2196 615 1959 2037 1865 2058 773 1067 542 2236 1568 1900 442 578 1459 168 1086 1608 2185 771 985 738 1082 374 759 1711 574 1875 389 70 361 1124 437 1558 2085 735 373 1639 1016 261 85 1700 943 1798 2366 1235 1699 2080 923 904 2159 2403 1950 1371 277 1215 173 1811 1074 1546 107 1367 2329 695 1982 1713 160 1614 293 1855 2316 420 1662 858 1421 446 1881 2273 1 306 1311 1402 859 2458 135 760 1810 2437 877 650 1155 1571 2419 672 698 1489 2002 792 403 686 853 1742 1065 828 907 675 657 4 1752 495 260 550 2284 1138 766 1827 1258 1596 2399 82 91 531 1253 2014 2005 1058 1185 1918 2278 739 2091 146 881 282 502 1809 115 1101 410 1233 189 1756 1046 1242 706 30 2477 2210 1272 2075 1925 113 150 2104 2264 725 307 1025 540 2415 1611 910 1975 491 2044 2088 159 2406 1005 727 1114 965 64 2126 166 1663 468 64 0 0 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 64 0 0 1 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 0 0 0 13 1 0 3 0 0 1584 0 1 2132 1491 339 2205 291 721 191 18446744073709551615 0 499 973 2459 18446744073709551615 0 1319 1227 871 18446744073709551615 0 330 1664 1760 18446744073709551615 1 86 347 1134 424 1990 2346 1666 18446744073709551615 0 2400 154 889 18446744073709551615 0 1141 245 1395 18446744073709551615 0 2388 1125 1793 18446744073709551615 1 18 2266 2093 1291 1719 2410 1039 18446744073709551615 0 2249 1103 1570 18446744073709551615 0 345 2053 587 18446744073709551615 0 1635 1433 801 18446744073709551615 0 1831 321 372 18446744073709551615 0 53 1817 1130 18446744073709551615 0 1237 1779 357 18446744073709551615 0 2119 662 1325 18446744073709551615 0 120 598 1023 18446744073709551615 0 863 1551 1531 18446744073709551615 0 2260 1553 1653 18446744073709551615 0 1819 711 617 18446744073709551615 0 1376 438 1989 18446744073709551615 0 884 878 2288 18446744073709551615 0 1426 2098 2061 18446744073709551615 0 2376 568 123 18446744073709551615 0 1552 164 2294 18446744073709551615 0 2269 1721 2031 18446744073709551615 0 2368 1364 193 18446744073709551615 0 731 1099 266 18446744073709551615 0 572 1733 1493 18446744073709551615 0 784 2109 1071 18446744073709551615 0 748 933 1109 18446744073709551615 0 1053 708 1593 18446744073709551615 0 1342 81 440 18446744073709551615 0 2099 1669 1824 18446744073709551615 0 267 1172 2408 18446744073709551615 0 2035 643 1382 18446744073709551615 0 583 1273 1560 18446744073709551615 0 434 840 78 18446744073709551615 0 2307 195 2268 18446744073709551615 0 1633 145 1177 18446744073709551615 0 1248 1254 138 18446744073709551615 0 2133 1088 981 18446744073709551615 0 2019 1239 921 18446744073709551615 0 1722 855 2275 18446744073709551615 0 979 2000 1276 18446744073709551615 0 644 1209 837 18446744073709551615 0 992 640 2282 18446744073709551615 0 1977 2173 147 18446744073709551615 0 35 1868 2374 18446744073709551615 0 1318 1462 525 18446744073709551615 0 1933 2460 2181 18446744073709551615 0 15 2414 2452 18446744073709551615 0 1763 673 2476 18446744073709551615 0 1095 59 1458 18446744073709551615 0 2240 2354 1419 18446744073709551615 0 1623 196 1450 18446744073709551615 0 1739 2129 1354 18446744073709551615 0 736 400 1216 18446744073709551615 0 1013 417 659 18446744073709551615 0 1686 750 814 18446744073709551615 0 239 1479 2293 18446744073709551615 0 1309 2332 486 18446744073709551615 0 1823 891 16 18446744073709551615 0 111 1697 1267 18446744073709551615 0 2393 1899 730 18446744073709551615 0 955 1126 1534 18446744073709551615 0 381 2166 449 18446744073709551615 0 27 255 1906 18446744073709551615 0 1073 228 2314 18446744073709551615 0 839 1548 569 18446744073709551615 0 1143 352 1526 18446744073709551615 0 629 1622 900 18446744073709551615 0 920 314 208 18446744073709551615 0 844 1184 48 18446744073709551615 0 10 2039 1118 18446744073709551615 0 1557 1207 1725 18446744073709551615 0 648 1189 2456 18446744073709551615 0 5 84 248 18446744073709551615 0 1898 1566 905 18446744073709551615 0 494 1879 1268 18446744073709551615 0 2022 50 1519 18446744073709551615 0 847 1527 938 18446744073709551615 0 1629 1528 1334 18446744073709551615 0 1204 1518 2258 18446744073709551615 0 112 461 962 18446744073709551615 0 693 1029 74 18446744073709551615 0 530 1755 431 18446744073709551615 0 1920 1468 1583 18446744073709551615 0 2089 2365 1740 18446744073709551615 0 2244 322 2434 18446744073709551615 0 363 503 613 18446744073709551615 0 677 1923 1946 18446744073709551615 0 2106 1320 953 18446744073709551615 0 2156 1048 680 18446744073709551615 0 998 2276 2182 18446744073709551615 0 262 778 275 18446744073709551615 0 1076 718 1170 18446744073709551615 0 66 117 1166 18446744073709551615 0 1785 1657 807 18446744073709551615 0 210 2008 1122 18446744073709551615 0 75 2467 270 18446744073709551615 0 1960 1581 1563 18446744073709551615 0 1537 788 1476 18446744073709551615 0 1379 423 1845 18446744073709551615 0 1799 1205 2095 18446744073709551615 0 581 2148 712 18446744073709551615 0 2087 2267 2193 18446744073709551615 0 289 1482 57 18446744073709551615 0 909 527 1041 1 2431 22 1089 2436 2017 225 529 18446744073709551615 0 2241 818 2382 18446744073709551615 0 300 795 2340 1 988 371 996 1919 1384 1966 537 18446744073709551615 0 412 925 432 18446744073709551615 0 2367 333 2170 18446744073709551615 0 1812 207 29 18446744073709551615 0 63 2246 1800 18446744073709551615 0 20 2362 1804 18446744073709551615 0 829 1161 2223 18446744073709551615 0 2140 1015 2445 18446744073709551615 0 178 893 2386 18446744073709551615 0 1992 464 2013 18446744073709551615 0 134 2262 1954 18446744073709551615 0 772 1913 1495 18446744073709551615 0 1871 1712 2224 18446744073709551615 0 1139 1153 1515 18446744073709551615 0 2253 1864 1198 1 994 7 1743 2280 1543 1668 791 18446744073709551615 0 2218 2448 2308 18446744073709551615 0 194 1901 1000 1 968 119 815 101 1766 1256 329 18446744073709551615 0 1861 1169 243 18446744073709551615 0 1488 1836 377 18446744073709551615 0 1930 198 366 18446744073709551615 0 1191 902 1195 18446744073709551615 0 2026 1323 1746 18446744073709551615 0 204 2191 47 18446744073709551615 0 473 2060 1020 18446744073709551615 0 278 1758 723 18446744073709551615 0 1496 1573 1222 18446744073709551615 0 1617 1154 459 18446744073709551615 0 1889 1888 512 18446744073709551615 0 734 1113 2442 18446744073709551615 0 1442 2172 1998 18446744073709551615 0 203 2389 214 1 1545 2355 1409 310 518 1487 341 18446744073709551615 0 259 1392 1475 18446744073709551615 0 1540 362 1387 1 919 1942 1808 1400 1988 271 2107 18446744073709551615 0 802 929 1949 18446744073709551615 0 276 1778 850 18446744073709551615 0 1601 1606 1435 18446744073709551615 0 888 960 2438 18446744073709551615 0 775 1886 335 18446744073709551615 0 2029 521 714 18446744073709551615 0 177 1796 1645 18446744073709551615 0 1429 470 2300 18446744073709551615 0 774 2190 2217 18446744073709551615 0 2228 415 2364 18446744073709551615 0 283 1070 2179 18446744073709551615 0 1218 1578 2398 18446744073709551615 0 133 2430 2071 18446744073709551615 0 1544 2361 1851 18446744073709551615 0 98 448 824 18446744073709551615 0 1393 1019 1162 18446744073709551615 0 211 670 1745 18446744073709551615 0 1332 2001 1357 18446744073709551615 0 2082 1127 983 18446744073709551615 0 1902 1833 2257 18446744073709551615 0 697 1461 2186 18446744073709551615 0 745 428 720 18446744073709551615 0 1040 1149 2122 18446744073709551615 0 1213 1398 870 18446744073709551615 0 982 87 2065 18446744073709551615 0 913 2412 1407 18446744073709551615 0 1842 54 1732 18446744073709551615 0 690 2270 560 18446744073709551615 0 2012 2420 1897 18446744073709551615 0 1156 28 2454 18446744073709551615 0 1938 1858 1494 18446744073709551615 0 984 1536 227 18446744073709551615 0 368 237 876 18446744073709551615 0 1648 1794 2432 18446744073709551615 0 286 1262 1701 18446744073709551615 0 445 2405 2067 18446744073709551615 0 989 961 767 18446744073709551615 0 2010 1104 820 18446744073709551615 0 1012 2328 539 18446744073709551615 0 2292 2298 1665 18446744073709551615 0 674 596 779 18446744073709551615 0 2090 1539 2304 18446744073709551615 0 462 782 2147 18446744073709551615 0 397 605 1414 18446744073709551615 0 1655 557 611 18446744073709551615 0 452 2424 2423 18446744073709551615 0 755 2201 804 18446744073709551615 0 393 475 2301 18446744073709551615 0 1422 2248 2311 18446744073709551615 0 1887 21 1609 18446744073709551615 0 106 868 746 18446744073709551615 0 1417 221 1404 18446744073709551615 0 1307 175 678 18446744073709551615 0 1310 229 215 18446744073709551615 0 430 591 212 18446744073709551615 0 821 1749 627 18446744073709551615 0 827 704 128 18446744073709551615 0 479 894 337 18446744073709551615 0 511 990 1790 18446744073709551615 0 2160 1643 2259 18446744073709551615 0 1199 354 595 18446744073709551615 0 1190 1208 897 18446744073709551615 0 1971 121 1585 18446744073709551615 0 2018 1709 1265 18446744073709551615 0 1500 2178 2229 18446744073709551615 0 874 1284 108 18446744073709551615 0 1728 2341 931 18446744073709551615 0 1465 144 744 18446744073709551615 0 501 76 1412 18446744073709551615 0 2265 2347 2331 18446744073709551615 0 3 2357 2335 18446744073709551615 0 1564 148 1353 18446744073709551615 0 2449 585 405 18446744073709551615 0 906 826 185 18446744073709551615 0 1174 388 2083 18446744073709551615 0 1052 917 427 18446744073709551615 0 93 2146 1123 18446744073709551615 0 2028 404 692 18446744073709551615 0 623 1072 179 18446744073709551615 0 1952 2207 1135 18446744073709551615 0 1034 799 685 18446744073709551615 0 510 911 1424 18446744073709551615 0 1061 1723 1027 18446744073709551615 0 1516 2261 1375 18446744073709551615 0 2056 73 1736 18446744073709551615 0 2371 2177 303 18446744073709551615 0 2199 1438 1102 18446744073709551615 0 1146 474 2474 18446744073709551615 0 1160 1296 1999 18446744073709551615 0 2338 418 450 18446744073709551615 0 1179 1081 1056 18446744073709551615 0 579 304 825 18446744073709551615 0 2153 183 2231 18446744073709551615 0 833 936 182 18446744073709551615 0 851 1110 224 18446744073709551615 0 1425 349 737 18446744073709551615 0 2297 344 832 18446744073709551615 0 1436 49 365 18446744073709551615 0 2114 1987 481 18446744073709551615 0 1972 360 1057 18446744073709551615 0 1829 927 296 18446744073709551615 0 1660 279 1512 18446744073709551615 0 343 1390 534 18446744073709551615 0 1300 1322 1521 18446744073709551615 0 137 1931 1764 18446744073709551615 0 1441 1100 162 18446744073709551615 0 2426 1017 1405 18446744073709551615 0 1350 2200 281 18446744073709551615 0 2021 2451 1554 18446744073709551615 0 1157 1783 1106 18446744073709551615 0 1727 2461 1197 18446744073709551615 0 1044 918 1522 18446744073709551615 0 944 980 1294 18446744073709551615 0 2049 1386 699 18446744073709551615 0 2345 1260 2115 18446744073709551615 0 1142 2457 460 18446744073709551615 0 1377 2116 1514 18446744073709551615 0 1408 533 1986 18446744073709551615 0 937 2383 151 18446744073709551615 0 1094 2324 2118 18446744073709551615 0 1835 2209 2020 18446744073709551615 0 656 1688 2092 18446744073709551615 0 1492 2318 1862 18446744073709551615 0 1097 517 1381 18446744073709551615 0 719 456 1324 18446744073709551615 0 1413 2235 2287 18446744073709551615 0 2444 1674 1815 18446744073709551615 0 2464 785 633 18446744073709551615 0 864 2112 2313 18446744073709551615 0 1295 2203 392 18446744073709551615 0 33 1302 1183 18446744073709551615 0 2359 2306 463 18446744073709551615 0 1961 1410 1024 18446744073709551615 0 524 1344 55 18446744073709551615 0 2358 23 1111 18446744073709551615 0 309 504 2370 18446744073709551615 0 666 1869 257 18446744073709551615 0 1724 1238 1641 18446744073709551615 0 614 1562 1580 18446744073709551615 0 41 1632 2247 18446744073709551615 0 2317 13 1182 18446744073709551615 0 604 571 1582 18446744073709551615 0 1241 52 2394 18446744073709551615 0 940 391 1927 18446744073709551615 0 967 254 1255 18446744073709551615 0 1280 1849 562 18446744073709551615 0 808 320 1440 18446744073709551615 0 667 1672 1049 18446744073709551615 0 682 1850 319 18446744073709551615 0 315 986 408 18446744073709551615 0 2378 152 654 18446744073709551615 0 2074 753 1775 18446744073709551615 0 941 369 1451 1 1591 447 1120 1418 1510 1363 1290 18446744073709551615 0 2046 43 1303 18446744073709551615 0 636 1882 2348 1 637 1068 1305 817 846 848 879 18446744073709551615 0 1705 974 1009 18446744073709551615 0 375 1759 223 1 1941 2034 1285 1383 607 2063 1863 18446744073709551615 366 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 9 14 19 24 33 38 43 48 57 62 67 72 77 82 87 92 97 102 107 112 117 122 127 132 137 142 147 152 157 162 167 172 177 182 187 192 197 202 207 212 217 222 227 232 237 242 247 252 257 262 267 272 277 282 287 292 297 302 307 312 317 322 327 332 337 342 347 352 357 362 367 372 377 382 387 392 397 402 407 412 417 422 427 432 437 442 447 452 457 462 467 472 477 482 487 492 497 502 507 512 517 522 527 532 537 542 547 552 565 570 583 588 593 598 603 608 613 618 623 628 633 638 643 648 661 666 679 684 689 694 699 704 709 714 719 724 729 734 739 744 757 762 775 780 785 790 795 800 805 810 815 820 825 830 835 840 845 850 855 860 865 870 875 880 885 890 895 900 905 910 915 920 925 930 935 940 945 950 955 960 965 970 975 980 985 990 995 1000 1005 1010 1015 1020 1025 1030 1035 1040 1045 1050 1055 1060 1065 1070 1075 1080 1085 1090 1095 1100 1105 1110 1115 1120 1125 1130 1135 1140 1145 1150 1155 1160 1165 1170 1175 1180 1185 1190 1195 1200 1205 1210 1215 1220 1225 1230 1235 1240 1245 1250 1255 1260 1265 1270 1275 1280 1285 1290 1295 1300 1305 1310 1315 1320 1325 1330 1335 1340 1345 1350 1355 1360 1365 1370 1375 1380 1385 1390 1395 1400 1405 1410 1415 1420 1425 1430 1435 1440 1445 1450 1455 1460 1465 1470 1475 1480 1485 1490 1495 1500 1505 1510 1515 1520 1525 1530 1535 1548 1553 1566 1571 0 0 1272 0 1 2127 2120 751 715 2066 1511 2213 724 1567 165 1178 2255 285 18446744073709551615 0 401 651 1896 1 122 2413 860 1249 1878 2154 500 976 1035 1343 641 2373 2416 18446744073709551615 1 1406 1200 2465 2110 497 1997 1140 1904 1266 1525 2279 284 1965 18446744073709551615 0 1096 653 396 1 713 797 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 18446744073709551615 1 2103 1595 1647 1694 1439 240 187 1059 340 156 298 570 1630 18446744073709551615 0 435 642 11 1 1675 1774 634 536 548 776 1297 1741 1187 1083 1321 219 1577 18446744073709551615 0 1944 1456 932 18446744073709551615 0 1093 1007 1299 18446744073709551615 0 1279 886 1004 18446744073709551615 0 2128 947 655 18446744073709551615 0 1654 2195 1339 18446744073709551615 0 793 1236 1651 18446744073709551615 0 660 1646 1616 18446744073709551615 0 1767 2 899 18446744073709551615 0 513 1937 1228 18446744073709551615 0 576 1638 573 18446744073709551615 0 1690 1045 302 18446744073709551615 0 426 1773 842 18446744073709551615 0 2125 700 1202 18446744073709551615 0 798 1066 857 18446744073709551615 0 861 68 1509 18446744073709551615 0 1963 2007 1877 18446744073709551615 0 2336 188 1707 18446744073709551615 0 2250 2041 2417 18446744073709551615 0 1499 2123 1391 18446744073709551615 0 1682 1685 171 18446744073709551615 0 703 312 2162 18446744073709551615 0 149 457 2221 18446744073709551615 0 1220 1507 1936 18446744073709551615 0 1326 606 1613 18446744073709551615 0 496 752 1834 18446744073709551615 0 367 1338 218 18446744073709551615 0 1432 1360 823 18446744073709551615 0 1696 1337 1108 18446744073709551615 0 2108 1771 1932 18446744073709551615 0 1795 809 2439 18446744073709551615 0 508 625 1588 18446744073709551615 0 351 794 999 18446744073709551615 0 2150 1366 566 18446744073709551615 0 1275 1843 1246 18446744073709551615 0 1565 100 1576 18446744073709551615 0 1644 1084 1980 18446744073709551615 0 2054 370 2385 18446744073709551615 0 61 930 1203 18446744073709551615 0 45 624 467 18446744073709551615 0 2197 1715 1677 18446744073709551615 0 2396 2342 1894 18446744073709551615 0 676 2003 327 18446744073709551615 0 483 2055 696 18446744073709551615 0 305 1807 915 18446744073709551615 0 582 1274 1168 18446744073709551615 0 1221 2323 2025 18446744073709551615 0 6 966 1333 18446744073709551615 0 1010 1447 749 18446744073709551615 0 1401 338 202 18446744073709551615 0 806 1922 1857 18446744073709551615 0 436 2059 2305 18446744073709551615 0 1586 132 2073 18446744073709551615 0 618 813 485 18446744073709551615 0 1091 1469 901 18446744073709551615 0 1768 2375 995 18446744073709551615 0 1860 1247 632 18446744073709551615 0 2142 2407 236 18446744073709551615 0 1474 235 2453 18446744073709551615 0 1335 669 1650 18446744073709551615 0 1042 2425 1891 18446744073709551615 0 2204 2397 764 18446744073709551615 0 1473 952 256 18446744073709551615 0 453 1702 498 18446744073709551615 0 399 1751 2102 18446744073709551615 0 2164 2192 1730 18446744073709551615 0 2130 781 1854 18446744073709551615 0 956 592 612 18446744073709551615 0 197 2339 1802 18446744073709551615 0 1261 783 716 18446744073709551615 0 679 747 1837 18446744073709551615 0 316 313 1314 18446744073709551615 0 1201 1132 883 18446744073709551615 0 1031 1822 1055 18446744073709551615 0 890 1163 1374 18446744073709551615 0 295 1738 1547 18446744073709551615 0 358 2184 1915 18446744073709551615 0 2227 272 1659 18446744073709551615 0 796 1820 1872 18446744073709551615 0 416 638 822 18446744073709551615 0 419 2377 687 18446744073709551615 0 1550 2079 77 18446744073709551615 0 1962 1826 1150 18446744073709551615 0 691 2326 2138 18446744073709551615 0 1968 274 2289 18446744073709551615 0 2113 19 1328 18446744073709551615 0 414 2078 895 18446744073709551615 0 1030 647 232 18446744073709551615 0 384 1602 742 18446744073709551615 0 1589 1575 26 18446744073709551615 0 558 1230 69 18446744073709551615 0 17 1050 1365 18446744073709551615 0 951 1033 350 18446744073709551615 0 2077 701 2169 18446744073709551615 0 1186 1403 1621 18446744073709551615 0 875 588 398 18446744073709551615 0 425 465 1196 18446744073709551615 0 1394 1584 58 18446744073709551615 0 733 1259 509 18446744073709551615 0 2167 1991 2171 18446744073709551615 0 1903 1226 118 18446744073709551615 0 472 1945 1649 18446744073709551615 0 1914 1597 1640 18446744073709551615 0 1917 2163 471 18446744073709551615 0 90 1726 1117 18446744073709551615 0 1678 2047 2009 18446744073709551615 0 838 586 2131 18446744073709551615 0 2158 1909 559 18446744073709551615 0 157 1832 2096 18446744073709551615 0 761 2473 2086 18446744073709551615 0 664 1490 1734 18446744073709551615 0 1306 1133 433 18446744073709551615 0 2302 1750 92 18446744073709551615 0 1317 1361 46 18446744073709551615 0 1298 1883 1312 18446744073709551615 0 601 263 2369 18446744073709551615 0 1676 1251 1885 18446744073709551615 0 38 2421 110 18446744073709551615 0 492 1620 2303 18446744073709551615 0 2151 125 1718 18446744073709551615 0 331 2333 1948 18446744073709551615 0 1105 1396 324 18446744073709551615 0 2143 997 95 18446744073709551615 0 2286 729 2225 18446744073709551615 0 1505 710 241 18446744073709551615 0 681 1463 1206 18446744073709551615 0 253 2427 1158 18446744073709551615 0 1599 922 1967 18446744073709551615 0 1443 1378 1618 18446744073709551615 0 359 1480 176 18446744073709551615 0 2069 1080 458 18446744073709551615 0 1792 216 1336 18446744073709551615 0 51 505 1624 18446744073709551615 0 609 969 1627 18446744073709551615 0 2472 1340 1423 18446744073709551615 0 975 220 1148 18446744073709551615 0 1232 1008 1327 18446744073709551615 0 800 2242 36 18446744073709551615 0 342 880 269 18446744073709551615 0 2111 1151 153 18446744073709551615 0 244 2004 246 18446744073709551615 0 831 726 873 18446744073709551615 0 1225 1192 665 18446744073709551615 0 1533 1486 328 18446744073709551615 0 1021 1263 1786 18446744073709551615 0 2475 1720 62 18446744073709551615 0 348 2381 1905 18446744073709551615 0 2211 2027 777 18446744073709551615 0 928 79 812 18446744073709551615 0 407 2351 2319 18446744073709551615 0 515 1634 1523 18446744073709551615 0 758 2174 2387 18446744073709551615 0 1358 1411 1976 18446744073709551615 0 383 1504 1958 18446744073709551615 0 2337 1079 1681 18446744073709551615 0 1951 950 1257 18446744073709551615 0 490 488 1852 18446744073709551615 0 2470 1631 577 18446744073709551615 0 2038 1844 1078 18446744073709551615 0 1362 1388 1532 18446744073709551615 0 1866 2230 326 18446744073709551615 0 1555 1729 959 18446744073709551615 0 717 2238 1710 18446744073709551615 0 722 1349 2134 18446744073709551615 0 1219 1704 1137 18446744073709551615 0 2168 2226 646 18446744073709551615 0 2404 834 1036 18446744073709551615 0 301 1180 556 18446744073709551615 0 2356 2136 1993 18446744073709551615 0 2064 1762 1252 18446744073709551615 0 268 2222 142 18446744073709551615 0 2315 2462 1838 18446744073709551615 0 1769 181 769 18446744073709551615 0 451 2450 1559 18446744073709551615 0 2471 2188 102 18446744073709551615 0 2198 2349 136 18446744073709551615 0 1501 2429 1784 18446744073709551615 0 958 964 1791 18446744073709551615 0 1022 1152 2030 18446744073709551615 0 912 172 658 18446744073709551615 0 1370 663 31 18446744073709551615 0 2251 1628 2234 18446744073709551615 0 2068 466 661 18446744073709551615 0 1464 2291 619 18446744073709551615 0 1867 163 9 18446744073709551615 0 292 541 830 18446744073709551615 0 1003 2271 439 18446744073709551615 0 1625 1830 2101 18446744073709551615 0 1038 97 523 18446744073709551615 0 2214 158 1926 18446744073709551615 0 287 1955 1437 18446744073709551615 0 1301 538 978 18446744073709551615 0 409 1481 2145 18446744073709551615 0 2183 683 522 18446744073709551615 0 963 1912 1780 18446744073709551615 0 805 1006 626 18446744073709551615 0 1692 1345 954 18446744073709551615 0 2045 429 1985 18446744073709551615 0 770 1973 1939 18446744073709551615 0 1876 1430 780 18446744073709551615 0 1853 2135 1043 18446744073709551615 0 1282 2137 1269 18446744073709551615 0 1744 866 290 18446744073709551615 0 1453 489 1978 18446744073709551615 0 865 1782 1839 18446744073709551615 0 493 754 114 18446744073709551615 0 1873 1757 2353 18446744073709551615 0 1841 786 205 18446744073709551615 0 2206 1171 2180 18446744073709551615 0 2194 454 732 18446744073709551615 0 1956 1814 1765 18446744073709551615 0 346 1098 233 18446744073709551615 0 1687 728 127 18446744073709551615 0 620 1385 507 18446744073709551615 0 480 104 1943 18446744073709551615 0 1193 2152 2187 18446744073709551615 0 40 887 2411 18446744073709551615 0 0 1281 1346 18446744073709551615 0 299 1777 526 18446744073709551615 0 394 174 385 18446744073709551615 0 616 1415 2139 18446744073709551615 0 1145 1175 1600 18446744073709551615 0 1517 856 2435 18446744073709551615 0 564 993 1670 18446744073709551615 0 201 845 1116 18446744073709551615 0 1173 1165 1352 18446744073709551615 0 1037 170 2232 18446744073709551615 0 1330 1569 957 18446744073709551615 0 1356 885 1789 18446744073709551615 0 1907 2011 1797 18446744073709551615 0 1452 1315 2350 18446744073709551615 0 1181 528 1051 18446744073709551615 0 1816 230 1359 18446744073709551615 0 1691 1245 971 18446744073709551615 0 1129 1369 2256 18446744073709551615 282 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 34 182 107 202 722 802 742 822 257 347 282 367 877 947 897 967 68 117 142 162 267 292 312 332 427 447 472 492 582 602 622 642 0 127 172 217 412 457 502 537 712 757 792 837 1012 1047 1082 1117 277 322 362 397 592 632 667 697 892 927 962 997 1167 1197 1227 1257 467 547 487 562 1057 1127 1072 1142 617 687 637 702 1187 1247 1202 1262 812 832 852 867 957 977 992 1007 1097 1112 1132 1147 1222 1237 1252 1267 662 677 692 707 517 532 552 567 357 377 392 407 192 212 232 247 917 987 932 1002 307 387 327 402 767 847 782 862 137 227 157 242 1032 1067 1102 1137 737 777 817 857 437 482 522 557 102 152 197 237 1207 1192 1177 1162 1232 1172 1217 1157 1242 1212 1182 1152 1077 1062 1042 1027 1107 1037 1092 1022 1122 1087 1052 1017 937 922 907 887 972 902 952 882 982 942 912 872 787 772 752 732 827 747 807 727 842 797 762 717 647 627 607 587 672 597 657 577 682 652 612 572 497 477 452 432 527 442 512 422 542 507 462 417 337 317 297 272 372 287 352 262 382 342 302 252 167 147 122 83 207 112 187 49 222 177 132 15 73 23 Policy::Sequential<3,3> DEAL::OK